From 11020037f74f433c705e496177917de2d68d4eb1 Mon Sep 17 00:00:00 2001 From: ecarrill Date: Thu, 25 May 2023 05:37:42 -0700 Subject: [PATCH 01/88] WIP --- .../TypeToConfirmDialog.tsx | 16 ++- .../RestoreFromBackupDialog.tsx | 129 +++++++++++------- .../DatabaseSettingsDeleteClusterDialog.tsx | 127 +++++++++-------- .../DeleteKubernetesClusterDialog.tsx | 126 ++++++++++------- 4 files changed, 242 insertions(+), 156 deletions(-) diff --git a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx index 2ae1dced167..4d324c4edb2 100644 --- a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx +++ b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx @@ -13,7 +13,13 @@ import { import { usePreferences } from 'src/queries/preferences'; interface EntityInfo { - type: 'Linode' | 'Volume' | 'NodeBalancer' | 'Bucket'; + type: + | 'Linode' + | 'Volume' + | 'NodeBalancer' + | 'Bucket' + | 'Cluster' + | 'Database'; label: string | undefined; } @@ -58,7 +64,12 @@ export const TypeToConfirmDialog = (props: CombinedProps) => { const actions = ( - - - - ); + // const actions = ( + // + // + // + // + // ); - React.useEffect(() => { - if (open) { - setConfirmationText(''); - } - }, [open]); + // React.useEffect(() => { + // if (open) { + // setConfirmationText(''); + // } + // }, [open]); return ( - + // {error ? ( + // + // ) : null} + // + // + // Warning: Restoring from a backup will erase all + // existing data on this cluster. + // + // + // + // To confirm restoration, type the name of the database cluster ( + // {database.label}) in the field below. + // + // } + // onChange={(input) => setConfirmationText(input)} + // value={confirmationText} + // label="Database Label" + // visible={preferences?.type_to_confirm} + // placeholder={database.label} + // /> + // + + handleRestoreDatabase} + loading={isLoading} + {...rest} > {error ? ( = (props) => { existing data on this cluster. - - To confirm restoration, type the name of the database cluster ( - {database.label}) in the field below. - - } - onChange={(input) => setConfirmationText(input)} - value={confirmationText} - label="Database Label" - visible={preferences?.type_to_confirm} - placeholder={database.label} - /> - + ); }; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx index eb2f746dd0e..568d50becdb 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx @@ -2,15 +2,16 @@ import { Engine } from '@linode/api-v4/lib/databases'; import { useSnackbar } from 'notistack'; import * as React from 'react'; import { useHistory } from 'react-router-dom'; -import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; -import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { Notice } from 'src/components/Notice/Notice'; -import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; +import { TypeToConfirmDialog } from 'src/components/TypeToConfirmDialog/TypeToConfirmDialog'; import { useDeleteDatabaseMutation } from 'src/queries/databases'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; -import { usePreferences } from 'src/queries/preferences'; +// import Button from 'src/components/Button'; +// import ActionsPanel from 'src/components/ActionsPanel'; +// import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; +// import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; +// import { usePreferences } from 'src/queries/preferences'; interface Props { open: boolean; @@ -20,49 +21,49 @@ interface Props { databaseLabel: string; } -const renderActions = ( - disabled: boolean, - loading: boolean, - onClose: () => void, - onDelete: () => void -) => ( - - - - -); +// const renderActions = ( +// disabled: boolean, +// loading: boolean, +// onClose: () => void, +// onDelete: () => void +// ) => ( +// +// +// +// +// ); export const DatabaseSettingsDeleteClusterDialog: React.FC = (props) => { const { open, onClose, databaseID, databaseEngine, databaseLabel } = props; const { enqueueSnackbar } = useSnackbar(); - const { data: preferences } = usePreferences(); const { mutateAsync: deleteDatabase } = useDeleteDatabaseMutation( databaseEngine, databaseID ); const defaultError = 'There was an error deleting this Database Cluster.'; const [error, setError] = React.useState(''); - const [confirmText, setConfirmText] = React.useState(''); const [isLoading, setIsLoading] = React.useState(false); const { push } = useHistory(); - const disabled = - preferences?.type_to_confirm !== false && confirmText !== databaseLabel; + // const { data: preferences } = usePreferences(); + // const [confirmText, setConfirmText] = React.useState(''); + // const disabled = + // preferences?.type_to_confirm !== false && confirmText !== databaseLabel; const onDeleteCluster = () => { setIsLoading(true); @@ -82,12 +83,44 @@ export const DatabaseSettingsDeleteClusterDialog: React.FC = (props) => { }; return ( - + // + // + // Warning: Deleting your entire database will delete + // any backups and nodes associated with database {databaseLabel}, which + // may result in permanent data loss. This action cannot be undone. + // + // + // setConfirmText(input)} + // expand + // value={confirmText} + // confirmationText={ + // + // To confirm deletion, type the name of the database cluster ( + // {databaseLabel}) in the field below: + // + // } + // visible={preferences?.type_to_confirm} + // /> + // + + @@ -96,21 +129,7 @@ export const DatabaseSettingsDeleteClusterDialog: React.FC = (props) => { may result in permanent data loss. This action cannot be undone. - setConfirmText(input)} - expand - value={confirmText} - confirmationText={ - - To confirm deletion, type the name of the database cluster ( - {databaseLabel}) in the field below: - - } - visible={preferences?.type_to_confirm} - /> - + ); }; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx index e96c49d09ba..209f67ed349 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx @@ -1,14 +1,15 @@ import * as React from 'react'; -import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; -import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; -import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; +import { TypeToConfirmDialog } from 'src/components/TypeToConfirmDialog/TypeToConfirmDialog'; import { Notice } from 'src/components/Notice/Notice'; -import { usePreferences } from 'src/queries/preferences'; import { useDeleteKubernetesClusterMutation } from 'src/queries/kubernetes'; import { KubeNodePoolResponse } from '@linode/api-v4'; import { useHistory } from 'react-router-dom'; +// import ActionsPanel from 'src/components/ActionsPanel'; +// import Button from 'src/components/Button'; +// import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; +// import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; +// import { usePreferences } from 'src/queries/preferences'; export interface Props { open: boolean; @@ -33,10 +34,10 @@ export const DeleteKubernetesClusterDialog = (props: Props) => { } = useDeleteKubernetesClusterMutation(); const history = useHistory(); - const { data: preferences } = usePreferences(); const [confirmText, setConfirmText] = React.useState(''); - const disabled = - preferences?.type_to_confirm !== false && confirmText !== clusterLabel; + // const { data: preferences } = usePreferences(); + // const disabled = + // preferences?.type_to_confirm !== false && confirmText !== clusterLabel; React.useEffect(() => { if (open && confirmText !== '') { @@ -51,35 +52,75 @@ export const DeleteKubernetesClusterDialog = (props: Props) => { }); }; - const actions = ( - - - - - ); + // const actions = ( + // + // + // + // + // ); return ( - + // + // + // Warning: + //
    + //
  • Deleting a cluster is permanent and can't be undone.
  • + //
  • + // Attached Block Storage Volumes or NodeBalancers must be deleted + // separately. + //
  • + //
+ //
+ //
+ // + // To confirm deletion, type the name of the cluster ( + // {clusterLabel}) in the field below: + // + // } + // value={confirmText} + // typographyStyle={{ marginTop: '10px' }} + // data-testid={'dialog-confirm-text-input'} + // expand + // onChange={(input) => { + // setConfirmText(input); + // }} + // visible={preferences?.type_to_confirm} + // /> + //
+ + @@ -94,23 +135,6 @@ export const DeleteKubernetesClusterDialog = (props: Props) => { - - To confirm deletion, type the name of the cluster ( - {clusterLabel}) in the field below: - - } - value={confirmText} - typographyStyle={{ marginTop: '10px' }} - data-testid={'dialog-confirm-text-input'} - expand - onChange={(input) => { - setConfirmText(input); - }} - visible={preferences?.type_to_confirm} - /> - + ); }; From dc5a78901356130c129dd6007a49ce8751d9ccad Mon Sep 17 00:00:00 2001 From: ecarrill Date: Tue, 30 May 2023 23:22:33 -0700 Subject: [PATCH 02/88] refactor: [M3-6063] - Fix errors --- .../TypeToConfirmDialog.tsx | 5 +- .../features/Account/CloseAccountDialog.tsx | 163 ++++++++++++------ .../features/Account/EnableObjectStorage.tsx | 88 ++++++---- .../RestoreFromBackupDialog.tsx | 7 +- .../DatabaseSettingsDeleteClusterDialog.tsx | 9 +- .../DeleteKubernetesClusterDialog.tsx | 4 +- 6 files changed, 185 insertions(+), 91 deletions(-) diff --git a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx index 4d324c4edb2..20654581ce6 100644 --- a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx +++ b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx @@ -19,7 +19,10 @@ interface EntityInfo { | 'NodeBalancer' | 'Bucket' | 'Cluster' - | 'Database'; + | 'Database' + // | 'Object Storage'; + | 'Username' + | 'Account'; label: string | undefined; } diff --git a/packages/manager/src/features/Account/CloseAccountDialog.tsx b/packages/manager/src/features/Account/CloseAccountDialog.tsx index f879320be6c..fed5335b4e1 100644 --- a/packages/manager/src/features/Account/CloseAccountDialog.tsx +++ b/packages/manager/src/features/Account/CloseAccountDialog.tsx @@ -2,20 +2,25 @@ import { cancelAccount } from '@linode/api-v4/lib/account'; import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import { useHistory } from 'react-router-dom'; -import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; -import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; +import { TypeToConfirmDialog } from 'src/components/TypeToConfirmDialog/TypeToConfirmDialog'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import { Notice } from 'src/components/Notice/Notice'; import Typography from 'src/components/core/Typography'; -import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; import TextField from 'src/components/TextField'; import { useProfile } from 'src/queries/profile'; +// import ActionsPanel from 'src/components/ActionsPanel'; +// import Button from 'src/components/Button'; +// import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; +// import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; interface Props { open: boolean; closeDialog: () => void; + // onClose: () => void; + // onSubmit: () => void; + // isCanceling: boolean; + // disabled: boolean; } const useStyles = makeStyles()((theme: Theme) => ({ @@ -24,7 +29,14 @@ const useStyles = makeStyles()((theme: Theme) => ({ }, })); -const CloseAccountDialog = ({ closeDialog, open }: Props) => { +const CloseAccountDialog = ({ + closeDialog, + open, +}: // onClose, +// onSubmit, +// isCanceling, +// disabled, +Props) => { const [isClosingAccount, setIsClosingAccount] = React.useState( false ); @@ -98,20 +110,70 @@ const CloseAccountDialog = ({ closeDialog, open }: Props) => { } return ( - + // } + // > + + // + // + // Warning: Please note this is an extremely destructive + // action. Closing your account means that all services including + // Linodes, Volumes, DNS Records, etc will be lost and may not be able to + // be restored. + // + // + + // setUsername(input)} + // inputRef={inputRef} + // aria-label="username field" + // value={inputtedUsername} + // visible + // hideInstructions + // placeholder="Username" + // /> + + // + // We’d hate to see you go. Please let us know what we could be doing + // better in the comments section below. After your account is closed, + // you’ll be directed to a quick survey so we can better gauge your + // feedback. + // + // setComments(e.target.value)} + // optional + // placeholder="Provide Feedback" + // rows={1} + // value={comments} + // aria-label="Optional comments field" + // /> + // + + - } + onClick={handleCancelAccount} + loading={isClosingAccount} + inputRef={inputRef} + disabled={!canSubmit} > + {errors ? : null} Warning: Please note this is an extremely destructive @@ -120,16 +182,7 @@ const CloseAccountDialog = ({ closeDialog, open }: Props) => { be restored. - setUsername(input)} - inputRef={inputRef} - aria-label="username field" - value={inputtedUsername} - visible - hideInstructions - placeholder="Username" - /> + We’d hate to see you go. Please let us know what we could be doing better in the comments section below. After your account is closed, @@ -146,38 +199,38 @@ const CloseAccountDialog = ({ closeDialog, open }: Props) => { value={comments} aria-label="Optional comments field" /> - + ); }; -interface ActionsProps { - onClose: () => void; - onSubmit: () => void; - isCanceling: boolean; - disabled: boolean; -} +// interface ActionsProps { +// onClose: () => void; +// onSubmit: () => void; +// isCanceling: boolean; +// disabled: boolean; +// } -const Actions = ({ - disabled, - isCanceling, - onClose, - onSubmit, -}: ActionsProps) => { - return ( - - - - - ); -}; +// const Actions = ({ +// disabled, +// isCanceling, +// onClose, +// onSubmit, +// }: ActionsProps) => { +// return ( +// +// +// +// +// ); +// }; export default React.memo(CloseAccountDialog); diff --git a/packages/manager/src/features/Account/EnableObjectStorage.tsx b/packages/manager/src/features/Account/EnableObjectStorage.tsx index e57c3539cb5..1763d3d502c 100644 --- a/packages/manager/src/features/Account/EnableObjectStorage.tsx +++ b/packages/manager/src/features/Account/EnableObjectStorage.tsx @@ -4,19 +4,20 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import { Link } from 'react-router-dom'; import Accordion from 'src/components/Accordion'; -import ActionsPanel from 'src/components/ActionsPanel'; +import { TypeToConfirmDialog } from 'src/components/TypeToConfirmDialog/TypeToConfirmDialog'; import Button from 'src/components/Button'; -import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { Notice } from 'src/components/Notice/Notice'; -import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; import Typography from 'src/components/core/Typography'; import ExternalLink from 'src/components/ExternalLink'; import Grid from '@mui/material/Unstable_Grid2'; import { updateAccountSettingsData } from 'src/queries/accountSettings'; -import { usePreferences } from 'src/queries/preferences'; import { useProfile } from 'src/queries/profile'; import { queryKey } from 'src/queries/objectStorage'; import { useQueryClient } from 'react-query'; +// import { usePreferences } from 'src/queries/preferences'; +// import ActionsPanel from 'src/components/ActionsPanel'; +// import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; +// import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; interface Props { object_storage: AccountSettings['object_storage']; @@ -73,13 +74,13 @@ export const EnableObjectStorage = (props: Props) => { const [isOpen, setOpen] = React.useState(false); const [error, setError] = React.useState(); const [isLoading, setLoading] = React.useState(false); - const [confirmText, setConfirmText] = React.useState(''); - const { data: preferences } = usePreferences(); const { data: profile } = useProfile(); const queryClient = useQueryClient(); const username = profile?.username; - const disabledConfirm = - preferences?.type_to_confirm !== false && confirmText !== username; + // const [confirmText, setConfirmText] = React.useState(''); + // const { data: preferences } = usePreferences(); + // const disabledConfirm = + // preferences?.type_to_confirm !== false && confirmText !== username; const handleClose = () => { setOpen(false); @@ -104,27 +105,27 @@ export const EnableObjectStorage = (props: Props) => { .catch(handleError); }; - const actions = ( - - + // const actions = ( + // + // - - - ); + // + // + // ); return ( <> @@ -134,13 +135,15 @@ export const EnableObjectStorage = (props: Props) => { openConfirmationModal={() => setOpen(true)} /> - handleClose()} title="Cancel Object Storage" actions={actions} > + Warning: Canceling Object Storage will permanently @@ -148,6 +151,7 @@ export const EnableObjectStorage = (props: Props) => { will be revoked. + { } visible={preferences?.type_to_confirm} /> - + */} + + + {error ? : null} + + + + Deleting this NodeBalancer is permanent and can’t be undone. + + + + + Traffic will no longer be routed through this NodeBalancer. Please + check your DNS settings and either provide the IP address of another + NodeBalancer, or route traffic directly to your Linode. + + ); }; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx index bc3fc82ac88..9993ef6d874 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx @@ -24,7 +24,8 @@ interface Props extends Omit { } export const RestoreFromBackupDialog: React.FC = (props) => { - const { database, backup, onClose, open, ...rest } = props; + // const { database, backup, onClose, open, ...rest } = props; + const { database, backup, onClose, open } = props; const history = useHistory(); const { enqueueSnackbar } = useSnackbar(); @@ -121,12 +122,12 @@ export const RestoreFromBackupDialog: React.FC = (props) => { title={`Restore from Backup ${formatDate(backup.created, { timezone: profile?.timezone, })}`} - entity={{ type: 'Database', label: 'Database Label' }} + entity={{ type: 'Database', label: database.label }} open={open} onClose={onClose} onClick={() => handleRestoreDatabase} loading={isLoading} - {...rest} + // {...rest} > {error ? ( = (props) => { onClose={onClose} onClick={onDeleteCluster} loading={isLoading} - error={error} + // error={error} > + {error ? ( + + ) : null} Warning: Deleting your entire database will delete diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx index 209f67ed349..3e1d7f48e3c 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx @@ -121,8 +121,10 @@ export const DeleteKubernetesClusterDialog = (props: Props) => { onClose={onClose} onClick={onDelete} loading={isDeleting} - error={error?.[0].reason} + // error={error?.[0].reason} > + {error ? : null} + Warning: From d7ef9d06315f459a08a34234d326ea7f83a80776 Mon Sep 17 00:00:00 2001 From: ecarrill Date: Fri, 2 Jun 2023 13:19:52 -0700 Subject: [PATCH 03/88] refactor: [M3-6063] - Test changes --- .../ConfirmationDialog/ConfirmationDialog.tsx | 6 +- .../TypeToConfirmDialog.tsx | 93 +++++++++++++------ .../features/Account/CloseAccountDialog.tsx | 47 +++++++--- .../features/Account/EnableObjectStorage.tsx | 6 +- .../RestoreFromBackupDialog.tsx | 3 +- .../DatabaseSettingsDeleteClusterDialog.tsx | 2 +- .../DeleteKubernetesClusterDialog.tsx | 2 +- 7 files changed, 112 insertions(+), 47 deletions(-) diff --git a/packages/manager/src/components/ConfirmationDialog/ConfirmationDialog.tsx b/packages/manager/src/components/ConfirmationDialog/ConfirmationDialog.tsx index 8b367d1460c..44d47b17f6c 100644 --- a/packages/manager/src/components/ConfirmationDialog/ConfirmationDialog.tsx +++ b/packages/manager/src/components/ConfirmationDialog/ConfirmationDialog.tsx @@ -26,6 +26,10 @@ const useStyles = makeStyles()((theme: Theme) => ({ marginBottom: 0, }, }, + dialogContent: { + display: 'flex', + flexDirection: 'column', + }, })); export interface ConfirmationDialogProps extends DialogProps { @@ -56,7 +60,7 @@ export const ConfirmationDialog = (props: ConfirmationDialogProps) => { data-testid="drawer" > - + {children} {error && ( diff --git a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx index 20654581ce6..b3ba980c431 100644 --- a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx +++ b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx @@ -18,12 +18,11 @@ interface EntityInfo { | 'Volume' | 'NodeBalancer' | 'Bucket' - | 'Cluster' | 'Database' - // | 'Object Storage'; - | 'Username' - | 'Account'; + | 'Kubernetes' + | 'AccountSetting'; label: string | undefined; + subType?: 'Backup' | 'Cluster' | 'ObjectStorage' | 'CloseAccount'; } interface TypeToConfirmDialogProps { @@ -54,6 +53,7 @@ export const TypeToConfirmDialog = (props: CombinedProps) => { } = props; const [confirmText, setConfirmText] = React.useState(''); + // const [primaryBtnText, setPrimaryBtnText] = React.useState(''); const { data: preferences } = usePreferences(); const disabled = @@ -65,6 +65,41 @@ export const TypeToConfirmDialog = (props: CombinedProps) => { } }, [open]); + const getPrimaryBtnText = (entity: EntityInfo) => { + if (entity.type === 'Volume' && title.startsWith('Detach')) return 'Detach'; + + switch (entity.subType) { + case 'Backup': + return 'Restore Database'; + case 'Cluster': + return 'Delete Cluster'; + case 'ObjectStorage': + return 'Confirm Cancellation'; + case 'CloseAccount': + return 'Close Account'; + default: + return 'Delete'; + } + }; + + const getLabelText = (entity: EntityInfo) => { + if (entity.type === 'AccountSetting' && entity.subType === 'CloseAccount') { + return `Please enter your username (${entity.label}) to confirm.`; + } + const ttcLabelText = + entity.type === 'Bucket' || entity.subType === 'Cluster' + ? 'Name' + : 'Label'; + switch (entity.subType) { + case 'ObjectStorage': + return `Username`; + case 'Cluster': + return `Cluster ${ttcLabelText}`; + default: + return `${entity.type} ${ttcLabelText}`; + } + }; + const actions = ( ); @@ -99,27 +132,31 @@ export const TypeToConfirmDialog = (props: CombinedProps) => { error={errors ? errors[0].reason : undefined} > {children} - - To confirm deletion, type the name of the {entity.type} ( - {entity.label}) in the field below: - - ) - } - value={confirmText} - typographyStyle={typographyStyle} - data-testid={'dialog-confirm-text-input'} - expand - onChange={(input) => { - setConfirmText(input); - }} - visible={preferences?.type_to_confirm} - /> +
+ + To confirm deletion, type the name of the {entity.type} ( + {entity.label}) in the field below: + + ) + } + value={confirmText} + typographyStyle={typographyStyle} + data-testid={'dialog-confirm-text-input'} + expand + onChange={(input) => { + setConfirmText(input); + }} + visible={preferences?.type_to_confirm} + placeholder={entity.subType === 'CloseAccount' ? 'Username' : ''} + /> +
); }; diff --git a/packages/manager/src/features/Account/CloseAccountDialog.tsx b/packages/manager/src/features/Account/CloseAccountDialog.tsx index fed5335b4e1..c4c1b526f4e 100644 --- a/packages/manager/src/features/Account/CloseAccountDialog.tsx +++ b/packages/manager/src/features/Account/CloseAccountDialog.tsx @@ -26,6 +26,9 @@ interface Props { const useStyles = makeStyles()((theme: Theme) => ({ dontgo: { marginTop: theme.spacing(2), + display: 'flex', + flexDirection: 'column', + order: 3, }, })); @@ -165,7 +168,11 @@ Props) => { { disabled={!canSubmit} > {errors ? : null} - - + + + Warning: Please note this is an extremely destructive action. Closing your account means that all services including Linodes, Volumes, DNS Records, etc will be lost and may not be able to @@ -189,16 +207,19 @@ Props) => { you’ll be directed to a quick survey so we can better gauge your feedback. - setComments(e.target.value)} - optional - placeholder="Provide Feedback" - rows={1} - value={comments} - aria-label="Optional comments field" - /> + +
+ setComments(e.target.value)} + optional + placeholder="Provide Feedback" + rows={1} + value={comments} + aria-label="Optional comments field" + /> +
); }; diff --git a/packages/manager/src/features/Account/EnableObjectStorage.tsx b/packages/manager/src/features/Account/EnableObjectStorage.tsx index 1763d3d502c..125af899557 100644 --- a/packages/manager/src/features/Account/EnableObjectStorage.tsx +++ b/packages/manager/src/features/Account/EnableObjectStorage.tsx @@ -170,7 +170,11 @@ export const EnableObjectStorage = (props: Props) => { = (props) => { title={`Restore from Backup ${formatDate(backup.created, { timezone: profile?.timezone, })}`} - entity={{ type: 'Database', label: database.label }} + entity={{ type: 'Database', subType: 'Backup', label: database.label }} open={open} onClose={onClose} onClick={() => handleRestoreDatabase} loading={isLoading} - // {...rest} > {error ? ( = (props) => { { Date: Fri, 2 Jun 2023 13:31:05 -0700 Subject: [PATCH 04/88] refactor: [M3-6063] - Code cleanup --- .../TypeToConfirmDialog.tsx | 1 - .../features/Account/CloseAccountDialog.tsx | 104 +----------------- .../features/Account/EnableObjectStorage.tsx | 66 ----------- .../RestoreFromBackupDialog.tsx | 74 ------------- .../DatabaseSettingsDeleteClusterDialog.tsx | 76 +------------ .../DeleteKubernetesClusterDialog.tsx | 73 ------------ 6 files changed, 2 insertions(+), 392 deletions(-) diff --git a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx index b3ba980c431..b845ceb58fe 100644 --- a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx +++ b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx @@ -53,7 +53,6 @@ export const TypeToConfirmDialog = (props: CombinedProps) => { } = props; const [confirmText, setConfirmText] = React.useState(''); - // const [primaryBtnText, setPrimaryBtnText] = React.useState(''); const { data: preferences } = usePreferences(); const disabled = diff --git a/packages/manager/src/features/Account/CloseAccountDialog.tsx b/packages/manager/src/features/Account/CloseAccountDialog.tsx index c4c1b526f4e..ece8bbe0384 100644 --- a/packages/manager/src/features/Account/CloseAccountDialog.tsx +++ b/packages/manager/src/features/Account/CloseAccountDialog.tsx @@ -9,18 +9,10 @@ import { Notice } from 'src/components/Notice/Notice'; import Typography from 'src/components/core/Typography'; import TextField from 'src/components/TextField'; import { useProfile } from 'src/queries/profile'; -// import ActionsPanel from 'src/components/ActionsPanel'; -// import Button from 'src/components/Button'; -// import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; -// import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; interface Props { open: boolean; closeDialog: () => void; - // onClose: () => void; - // onSubmit: () => void; - // isCanceling: boolean; - // disabled: boolean; } const useStyles = makeStyles()((theme: Theme) => ({ @@ -32,14 +24,7 @@ const useStyles = makeStyles()((theme: Theme) => ({ }, })); -const CloseAccountDialog = ({ - closeDialog, - open, -}: // onClose, -// onSubmit, -// isCanceling, -// disabled, -Props) => { +const CloseAccountDialog = ({ closeDialog, open }: Props) => { const [isClosingAccount, setIsClosingAccount] = React.useState( false ); @@ -47,7 +32,6 @@ Props) => { const [comments, setComments] = React.useState(''); const [inputtedUsername, setUsername] = React.useState(''); const [canSubmit, setCanSubmit] = React.useState(false); - const { classes } = useStyles(); const history = useHistory(); const { data: profile } = useProfile(); @@ -113,59 +97,6 @@ Props) => { } return ( - // - // } - // > - - // - // - // Warning: Please note this is an extremely destructive - // action. Closing your account means that all services including - // Linodes, Volumes, DNS Records, etc will be lost and may not be able to - // be restored. - // - // - - // setUsername(input)} - // inputRef={inputRef} - // aria-label="username field" - // value={inputtedUsername} - // visible - // hideInstructions - // placeholder="Username" - // /> - - // - // We’d hate to see you go. Please let us know what we could be doing - // better in the comments section below. After your account is closed, - // you’ll be directed to a quick survey so we can better gauge your - // feedback. - // - // setComments(e.target.value)} - // optional - // placeholder="Provide Feedback" - // rows={1} - // value={comments} - // aria-label="Optional comments field" - // /> - // - { disabled={!canSubmit} > {errors ? : null} - { be restored.
- We’d hate to see you go. Please let us know what we could be doing better in the comments section below. After your account is closed, you’ll be directed to a quick survey so we can better gauge your feedback. -
{ ); }; -// interface ActionsProps { -// onClose: () => void; -// onSubmit: () => void; -// isCanceling: boolean; -// disabled: boolean; -// } - -// const Actions = ({ -// disabled, -// isCanceling, -// onClose, -// onSubmit, -// }: ActionsProps) => { -// return ( -// -// -// -// -// ); -// }; - export default React.memo(CloseAccountDialog); diff --git a/packages/manager/src/features/Account/EnableObjectStorage.tsx b/packages/manager/src/features/Account/EnableObjectStorage.tsx index 125af899557..baf93acfe58 100644 --- a/packages/manager/src/features/Account/EnableObjectStorage.tsx +++ b/packages/manager/src/features/Account/EnableObjectStorage.tsx @@ -14,11 +14,6 @@ import { updateAccountSettingsData } from 'src/queries/accountSettings'; import { useProfile } from 'src/queries/profile'; import { queryKey } from 'src/queries/objectStorage'; import { useQueryClient } from 'react-query'; -// import { usePreferences } from 'src/queries/preferences'; -// import ActionsPanel from 'src/components/ActionsPanel'; -// import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -// import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; - interface Props { object_storage: AccountSettings['object_storage']; } @@ -77,10 +72,6 @@ export const EnableObjectStorage = (props: Props) => { const { data: profile } = useProfile(); const queryClient = useQueryClient(); const username = profile?.username; - // const [confirmText, setConfirmText] = React.useState(''); - // const { data: preferences } = usePreferences(); - // const disabledConfirm = - // preferences?.type_to_confirm !== false && confirmText !== username; const handleClose = () => { setOpen(false); @@ -105,28 +96,6 @@ export const EnableObjectStorage = (props: Props) => { .catch(handleError); }; - // const actions = ( - // - // - - // - // - // ); - return ( <> @@ -135,39 +104,6 @@ export const EnableObjectStorage = (props: Props) => { openConfirmationModal={() => setOpen(true)} /> - - {/* handleClose()} - title="Cancel Object Storage" - actions={actions} - > - - - - Warning: Canceling Object Storage will permanently - delete all buckets and their objects. Object Storage Access Keys - will be revoked. - - - - setConfirmText(input)} - expand - value={confirmText} - confirmationText={ - - To confirm cancellation, type your username ({username}) in - the field below: - - } - visible={preferences?.type_to_confirm} - /> - */} - { onClick={handleSubmit} > {error ? : null} - Deleting this NodeBalancer is permanent and can’t be undone. - Traffic will no longer be routed through this NodeBalancer. Please check your DNS settings and either provide the IP address of another diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx index 76d0ee09486..a498e9b1500 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx @@ -10,11 +10,6 @@ import { useRestoreFromBackupMutation } from 'src/queries/databases'; import { useProfile } from 'src/queries/profile'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; import formatDate from 'src/utilities/formatDate'; -// import ActionsPanel from 'src/components/ActionsPanel'; -// import Button from 'src/components/Button'; -// import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -// import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; -// import { usePreferences } from 'src/queries/preferences'; interface Props extends Omit { open: boolean; @@ -24,14 +19,9 @@ interface Props extends Omit { } export const RestoreFromBackupDialog: React.FC = (props) => { - // const { database, backup, onClose, open, ...rest } = props; const { database, backup, onClose, open } = props; - const history = useHistory(); const { enqueueSnackbar } = useSnackbar(); - - // const [confirmationText, setConfirmationText] = React.useState(''); - // const { data: preferences } = usePreferences(); const { data: profile } = useProfile(); const { @@ -53,71 +43,7 @@ export const RestoreFromBackupDialog: React.FC = (props) => { }); }; - // const actions = ( - // - // - // - // - // ); - - // React.useEffect(() => { - // if (open) { - // setConfirmationText(''); - // } - // }, [open]); - return ( - // - // {error ? ( - // - // ) : null} - // - // - // Warning: Restoring from a backup will erase all - // existing data on this cluster. - // - // - // - // To confirm restoration, type the name of the database cluster ( - // {database.label}) in the field below. - // - // } - // onChange={(input) => setConfirmationText(input)} - // value={confirmationText} - // label="Database Label" - // visible={preferences?.type_to_confirm} - // placeholder={database.label} - // /> - // - void, -// onDelete: () => void -// ) => ( -// -// -// -// -// ); - export const DatabaseSettingsDeleteClusterDialog: React.FC = (props) => { const { open, onClose, databaseID, databaseEngine, databaseLabel } = props; const { enqueueSnackbar } = useSnackbar(); @@ -60,10 +27,6 @@ export const DatabaseSettingsDeleteClusterDialog: React.FC = (props) => { const [error, setError] = React.useState(''); const [isLoading, setIsLoading] = React.useState(false); const { push } = useHistory(); - // const { data: preferences } = usePreferences(); - // const [confirmText, setConfirmText] = React.useState(''); - // const disabled = - // preferences?.type_to_confirm !== false && confirmText !== databaseLabel; const onDeleteCluster = () => { setIsLoading(true); @@ -83,36 +46,6 @@ export const DatabaseSettingsDeleteClusterDialog: React.FC = (props) => { }; return ( - // - // - // - // Warning: Deleting your entire database will delete - // any backups and nodes associated with database {databaseLabel}, which - // may result in permanent data loss. This action cannot be undone. - // - // - // setConfirmText(input)} - // expand - // value={confirmText} - // confirmationText={ - // - // To confirm deletion, type the name of the database cluster ( - // {databaseLabel}) in the field below: - // - // } - // visible={preferences?.type_to_confirm} - // /> - // - = (props) => { onClose={onClose} onClick={onDeleteCluster} loading={isLoading} - // error={error} > - {error ? ( - - ) : null} + {error ? : null} Warning: Deleting your entire database will delete diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx index 3aca649f47a..2fa8eaadd07 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx @@ -5,11 +5,6 @@ import { Notice } from 'src/components/Notice/Notice'; import { useDeleteKubernetesClusterMutation } from 'src/queries/kubernetes'; import { KubeNodePoolResponse } from '@linode/api-v4'; import { useHistory } from 'react-router-dom'; -// import ActionsPanel from 'src/components/ActionsPanel'; -// import Button from 'src/components/Button'; -// import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -// import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; -// import { usePreferences } from 'src/queries/preferences'; export interface Props { open: boolean; @@ -26,18 +21,13 @@ export const getTotalLinodes = (pools: KubeNodePoolResponse[]) => { export const DeleteKubernetesClusterDialog = (props: Props) => { const { clusterLabel, clusterId, open, onClose } = props; - const { mutateAsync: deleteCluster, isLoading: isDeleting, error, } = useDeleteKubernetesClusterMutation(); - const history = useHistory(); const [confirmText, setConfirmText] = React.useState(''); - // const { data: preferences } = usePreferences(); - // const disabled = - // preferences?.type_to_confirm !== false && confirmText !== clusterLabel; React.useEffect(() => { if (open && confirmText !== '') { @@ -52,68 +42,7 @@ export const DeleteKubernetesClusterDialog = (props: Props) => { }); }; - // const actions = ( - // - // - // - // - // ); - return ( - // - // - // - // Warning: - //
    - //
  • Deleting a cluster is permanent and can't be undone.
  • - //
  • - // Attached Block Storage Volumes or NodeBalancers must be deleted - // separately. - //
  • - //
- //
- //
- // - // To confirm deletion, type the name of the cluster ( - // {clusterLabel}) in the field below: - // - // } - // value={confirmText} - // typographyStyle={{ marginTop: '10px' }} - // data-testid={'dialog-confirm-text-input'} - // expand - // onChange={(input) => { - // setConfirmText(input); - // }} - // visible={preferences?.type_to_confirm} - // /> - //
- { onClose={onClose} onClick={onDelete} loading={isDeleting} - // error={error?.[0].reason} > {error ? : null} - Warning: From 57ebe82bd0516577f59907732658a44421517c84 Mon Sep 17 00:00:00 2001 From: ecarrill Date: Fri, 2 Jun 2023 13:57:54 -0700 Subject: [PATCH 05/88] Added changeset: Refactor components to use TypeToConfirmDialog --- packages/manager/.changeset/pr-9175-changed-1685739474444.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 packages/manager/.changeset/pr-9175-changed-1685739474444.md diff --git a/packages/manager/.changeset/pr-9175-changed-1685739474444.md b/packages/manager/.changeset/pr-9175-changed-1685739474444.md new file mode 100644 index 00000000000..f49d6d361b9 --- /dev/null +++ b/packages/manager/.changeset/pr-9175-changed-1685739474444.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Changed +--- + +Refactor components to use TypeToConfirmDialog ([#9175](https://github.com/linode/manager/pull/9175)) From 7eb8cf068d69299fc0c71dcc74581a485f4e0333 Mon Sep 17 00:00:00 2001 From: ecarrill Date: Tue, 6 Jun 2023 12:05:06 -0700 Subject: [PATCH 06/88] refactor: [M3-6063] - Code cleanup after feedback --- .../TypeToConfirmDialog.tsx | 79 +++++++++++++------ .../features/Account/CloseAccountDialog.tsx | 23 ++---- .../features/Account/EnableObjectStorage.tsx | 10 +-- .../DeleteKubernetesClusterDialog.tsx | 7 -- 4 files changed, 64 insertions(+), 55 deletions(-) diff --git a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx index b845ceb58fe..3e4008e3232 100644 --- a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx +++ b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx @@ -65,7 +65,9 @@ export const TypeToConfirmDialog = (props: CombinedProps) => { }, [open]); const getPrimaryBtnText = (entity: EntityInfo) => { - if (entity.type === 'Volume' && title.startsWith('Detach')) return 'Detach'; + if (entity.type === 'Volume' && title?.startsWith('Detach')) { + return 'Detach'; + } switch (entity.subType) { case 'Backup': @@ -85,10 +87,12 @@ export const TypeToConfirmDialog = (props: CombinedProps) => { if (entity.type === 'AccountSetting' && entity.subType === 'CloseAccount') { return `Please enter your username (${entity.label}) to confirm.`; } + const ttcLabelText = entity.type === 'Bucket' || entity.subType === 'Cluster' ? 'Name' : 'Label'; + switch (entity.subType) { case 'ObjectStorage': return `Username`; @@ -99,6 +103,40 @@ export const TypeToConfirmDialog = (props: CombinedProps) => { } }; + const getConfirmationText = (entity: EntityInfo) => { + if (entity.subType === 'CloseAccount') { + return ''; + } + + let ttcAction = ''; + if (entity.subType === 'Backup') { + ttcAction = 'restoration'; + } else if (entity.subType === 'ObjectStorage') { + ttcAction = 'cancellation'; + } else { + ttcAction = 'deletion'; + } + + let ttcEntityName = ''; + if (entity.type === 'Kubernetes') { + ttcEntityName = 'cluster'; + } else if (entity.subType === 'Backup' || entity.subType === 'Cluster') { + ttcEntityName = 'database cluster'; + } else if (entity.subType === 'ObjectStorage') { + ttcEntityName = 'username'; + } else { + ttcEntityName = entity.type; + } + + return ( + + To confirm {ttcAction}, type{' '} + {entity.subType === 'ObjectStorage' ? 'your' : 'the name of the'}{' '} + {ttcEntityName} ({entity.label}) in the field below: + + ); + }; + const actions = ( ); @@ -172,10 +111,18 @@ export const TypeToConfirmDialog = (props: CombinedProps) => { {children} + To confirm {entity.action}, {typeInstructions}( + {entity.name}) in the field below: + + ) + } value={confirmText} typographyStyle={typographyStyle} + textFieldStyle={textFieldStyle} data-testid={'dialog-confirm-text-input'} expand onChange={(input) => { diff --git a/packages/manager/src/features/Account/CloseAccountDialog.tsx b/packages/manager/src/features/Account/CloseAccountDialog.tsx index fcf9e1bee94..f4dc89d1919 100644 --- a/packages/manager/src/features/Account/CloseAccountDialog.tsx +++ b/packages/manager/src/features/Account/CloseAccountDialog.tsx @@ -97,10 +97,11 @@ const CloseAccountDialog = ({ closeDialog, open }: Props) => { return ( { loading={isClosingAccount} inputRef={inputRef} disabled={!canSubmit} - typographyStyle={{ marginTop: '0px' }} + textFieldStyle={{ maxWidth: '415px' }} > {errors ? : null} - + Warning: Please note this is an extremely destructive action. Closing your account means that all services diff --git a/packages/manager/src/features/Account/EnableObjectStorage.tsx b/packages/manager/src/features/Account/EnableObjectStorage.tsx index cbca815af83..4d5bc326c7a 100644 --- a/packages/manager/src/features/Account/EnableObjectStorage.tsx +++ b/packages/manager/src/features/Account/EnableObjectStorage.tsx @@ -106,10 +106,13 @@ export const EnableObjectStorage = (props: Props) => { = (props) => { title={`Restore from Backup ${formatDate(backup.created, { timezone: profile?.timezone, })}`} - entity={{ type: 'Database', subType: 'Backup', label: database.label }} + label={'Database Label'} + entity={{ + type: 'Database', + subType: 'Cluster', + action: 'restoration', + name: database.label, + primaryBtnText: 'Restore', + }} open={open} onClose={onClose} onClick={() => handleRestoreDatabase} diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx index f9d74cbbc9c..cef95ad9106 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx @@ -48,7 +48,14 @@ export const DatabaseSettingsDeleteClusterDialog: React.FC = (props) => { return ( { return ( { { return ( { { delete: onDelete, }[props.mode]; - const action = { - detach: { - verb: 'Detach', - noun: 'detachment', - }, - delete: { - verb: 'Delete', - noun: 'deletion', - }, - }[props.mode]; - const loading = { detach: detachLoading, delete: deleteLoading, @@ -110,17 +99,17 @@ export const DestructiveVolumeDialog = (props: Props) => { return ( - To confirm {action.noun}, type the name of the Volume ({label}) - in the field below: - - } typographyStyle={{ marginTop: '10px' }} > {error && } From cd2e7e0e7c50775f59be89cab7dca7782190973f Mon Sep 17 00:00:00 2001 From: ecarrill Date: Thu, 15 Jun 2023 14:24:53 -0700 Subject: [PATCH 14/88] refactor: [M3-6063] - Fix handleRestoreDatabase() --- .../DatabaseBackups/RestoreFromBackupDialog.tsx | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx index b9900c58992..61db7e696a1 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx @@ -30,10 +30,7 @@ export const RestoreFromBackupDialog: React.FC = (props) => { error, } = useRestoreFromBackupMutation(database.engine, database.id, backup.id); - const handleRestoreDatabase = ( - e: React.MouseEvent - ): void => { - e.preventDefault(); + const handleRestoreDatabase = () => { restore().then(() => { history.push('summary'); enqueueSnackbar('Your database is being restored.', { @@ -58,7 +55,7 @@ export const RestoreFromBackupDialog: React.FC = (props) => { }} open={open} onClose={onClose} - onClick={() => handleRestoreDatabase} + onClick={handleRestoreDatabase} loading={isLoading} > {error ? ( From 5dd2d58f74ec92dea7c82a328002ac5d4faeb9e0 Mon Sep 17 00:00:00 2001 From: ecarrill Date: Tue, 20 Jun 2023 12:18:24 -0700 Subject: [PATCH 15/88] refactor: [M3-6063] - Revert primary btn text strs --- .../components/TypeToConfirmDialog/TypeToConfirmDialog.tsx | 7 +------ .../DatabaseBackups/RestoreFromBackupDialog.tsx | 2 +- .../DatabaseSettingsDeleteClusterDialog.tsx | 2 +- .../DeleteKubernetesClusterDialog.tsx | 2 +- 4 files changed, 4 insertions(+), 9 deletions(-) diff --git a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx index c506d0a9497..7e5d301890e 100644 --- a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx +++ b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx @@ -24,12 +24,7 @@ interface EntityInfo { subType?: 'Cluster' | 'ObjectStorage' | 'CloseAccount'; action?: 'deletion' | 'detachment' | 'restoration' | 'cancellation'; name?: string | undefined; - primaryBtnText: - | 'Delete' - | 'Detach' - | 'Restore' - | 'Confirm Cancellation' - | 'Close Account'; + primaryBtnText: string; } interface TypeToConfirmDialogProps { diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx index 61db7e696a1..5e574259337 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx @@ -51,7 +51,7 @@ export const RestoreFromBackupDialog: React.FC = (props) => { subType: 'Cluster', action: 'restoration', name: database.label, - primaryBtnText: 'Restore', + primaryBtnText: 'Restore Database', }} open={open} onClose={onClose} diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx index cef95ad9106..c1361a289cf 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx @@ -54,7 +54,7 @@ export const DatabaseSettingsDeleteClusterDialog: React.FC = (props) => { subType: 'Cluster', action: 'deletion', name: databaseLabel, - primaryBtnText: 'Delete', + primaryBtnText: 'Delete Cluster', }} open={open} onClose={onClose} diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx index a814dce42e3..9124de7563a 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx @@ -44,7 +44,7 @@ export const DeleteKubernetesClusterDialog = (props: Props) => { subType: 'Cluster', action: 'deletion', name: clusterLabel, - primaryBtnText: 'Delete', + primaryBtnText: 'Delete Cluster', }} open={open} onClose={onClose} From 629aec0b601f7e3ddaaf281a79fd56c22d16b91a Mon Sep 17 00:00:00 2001 From: ecarrill Date: Thu, 22 Jun 2023 06:13:26 -0700 Subject: [PATCH 16/88] refactor: [M3-6361] - Refactor class component --- .../src/components/MenuItem/MenuItem.tsx | 198 ++++++++---------- .../manager/src/components/MenuItem/index.ts | 3 - .../FieldTypes/UserDefinedSelect.tsx | 6 +- .../NotificationMenu/NotificationMenu.tsx | 6 +- 4 files changed, 97 insertions(+), 116 deletions(-) delete mode 100644 packages/manager/src/components/MenuItem/index.ts diff --git a/packages/manager/src/components/MenuItem/MenuItem.tsx b/packages/manager/src/components/MenuItem/MenuItem.tsx index d1b8b0366e1..c8010773ab9 100644 --- a/packages/manager/src/components/MenuItem/MenuItem.tsx +++ b/packages/manager/src/components/MenuItem/MenuItem.tsx @@ -3,127 +3,111 @@ import * as React from 'react'; import CircularProgress from 'src/components/core/CircularProgress'; import { IconButton } from 'src/components/IconButton'; import MenuItem, { MenuItemProps } from 'src/components/core/MenuItem'; -import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; +import { makeStyles } from 'tss-react/mui'; -type CSSClasses = - | 'root' - | 'toolTip' - | 'labelWrapper' - | 'label' - | 'helpButton' - | 'helpIcon' - | 'circleProgress'; - -interface Props { +interface WrapperMenuItemProps { tooltip?: string; - className?: string; isLoading?: boolean; ref?: any; } -const styles = (theme: Theme) => - createStyles({ - root: { - position: 'relative', - flexWrap: 'wrap', - '&.hasTooltip': { - opacity: 1, - paddingTop: `calc(${theme.spacing(1)} - 2)`, - paddingBottom: theme.spacing(1) + 2, - '&:hover, &:focus': { - background: 'transparent', - color: theme.palette.primary.main, - '& $toolTip': { - marginTop: theme.spacing(1), - maxHeight: 200, - opacity: 1, - }, - }, - }, - }, - labelWrapper: { - display: 'flex', - flexBasis: '100%', - justifyContent: 'space-between', - alignItems: 'center', - }, - label: { - opacity: 0.5, - }, - toolTip: { - transition: theme.transitions.create(['max-height', 'opacity', 'margin']), - maxHeight: 0, - display: 'block', - color: theme.palette.text.primary, - opacity: 0, - }, - helpButton: { - width: 28, - height: 28, - padding: 0, - color: theme.palette.primary.main, - pointerEvents: 'initial', +const useStyles = makeStyles()((theme: Theme) => ({ + root: { + position: 'relative', + flexWrap: 'wrap', + '&.hasTooltip': { + opacity: 1, + paddingTop: `calc(${theme.spacing(1)} - 2)`, + paddingBottom: theme.spacing(1) + 2, '&:hover, &:focus': { - color: theme.palette.primary.light, + background: 'transparent', + color: theme.palette.primary.main, + '& $toolTip': { + marginTop: theme.spacing(1), + maxHeight: 200, + opacity: 1, + }, }, }, - helpIcon: { - width: 20, - height: 20, + }, + labelWrapper: { + display: 'flex', + flexBasis: '100%', + justifyContent: 'space-between', + alignItems: 'center', + }, + label: { + opacity: 0.5, + }, + toolTip: { + transition: theme.transitions.create(['max-height', 'opacity', 'margin']), + maxHeight: 0, + display: 'block', + color: theme.palette.text.primary, + opacity: 0, + }, + helpButton: { + width: 28, + height: 28, + padding: 0, + color: theme.palette.primary.main, + pointerEvents: 'initial', + '&:hover, &:focus': { + color: theme.palette.primary.light, }, - circleProgress: { - position: 'absolute', - left: 0, - right: 0, - margin: '0 auto', - }, - }); + }, + helpIcon: { + width: 20, + height: 20, + }, + circleProgress: { + position: 'absolute', + left: 0, + right: 0, + margin: '0 auto', + }, +})); -const handleClick = (e: any) => { - e.stopPropagation(); -}; -type CombinedProps = MenuItemProps & Props & WithStyles; +type CombinedProps = MenuItemProps & WrapperMenuItemProps; -class WrapperMenuItem extends React.Component { - render() { - const { tooltip, classes, className, isLoading, ...rest } = this.props; +export const WrapperMenuItem = (props: CombinedProps) => { + const { classes } = useStyles(); + const { tooltip, isLoading, ...rest } = props; + const shouldWrapLabel = isLoading || tooltip; - const shouldWrapLabel = isLoading || tooltip; + const handleClick = (e: any) => { + e.stopPropagation(); + }; - return ( - - {isLoading && ( - - )} - - - {this.props.children} - - {tooltip && !isLoading && ( - - - - )} + return ( + + {isLoading && ( + + )} + + + {props.children} - {tooltip && ( - - {tooltip} - + {tooltip && !isLoading && ( + handleClick(e)} + data-qa-tooltip-icon + size="large" + > + + )} - - ); - } -} - -const styled = withStyles(styles); - -export default styled(WrapperMenuItem); + + {tooltip && ( + + {tooltip} + + )} + + ); +}; diff --git a/packages/manager/src/components/MenuItem/index.ts b/packages/manager/src/components/MenuItem/index.ts deleted file mode 100644 index 9d407d95e49..00000000000 --- a/packages/manager/src/components/MenuItem/index.ts +++ /dev/null @@ -1,3 +0,0 @@ -import MenuItem from './MenuItem'; - -export default MenuItem; diff --git a/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/FieldTypes/UserDefinedSelect.tsx b/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/FieldTypes/UserDefinedSelect.tsx index c66997c289e..3e7c152069e 100644 --- a/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/FieldTypes/UserDefinedSelect.tsx +++ b/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/FieldTypes/UserDefinedSelect.tsx @@ -4,7 +4,7 @@ import FormControlLabel from 'src/components/core/FormControlLabel'; import InputLabel from 'src/components/core/InputLabel'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import MenuItem from 'src/components/MenuItem'; +import { WrapperMenuItem } from 'src/components/MenuItem/MenuItem'; import { Notice } from 'src/components/Notice/Notice'; import { Radio } from 'src/components/Radio/Radio'; import TextField from 'src/components/TextField'; @@ -58,9 +58,9 @@ export const UserDefinedSelect = (props: Props) => { > {oneof.map((choice: string, index) => { return ( - + {choice} - + ); })}
diff --git a/packages/manager/src/features/TopMenu/NotificationMenu/NotificationMenu.tsx b/packages/manager/src/features/TopMenu/NotificationMenu/NotificationMenu.tsx index 675dc5fedb8..69ca7966ea8 100644 --- a/packages/manager/src/features/TopMenu/NotificationMenu/NotificationMenu.tsx +++ b/packages/manager/src/features/TopMenu/NotificationMenu/NotificationMenu.tsx @@ -11,7 +11,7 @@ import { } from 'src/features/NotificationCenter/NotificationContext'; import { useFormattedNotifications } from 'src/features/NotificationCenter/NotificationData/useFormattedNotifications'; import { useEventNotifications } from 'src/features/NotificationCenter/NotificationData/useEventNotifications'; -import MenuItem from 'src/components/MenuItem'; +import { WrapperMenuItem } from 'src/components/MenuItem/MenuItem'; import Button from 'src/components/Button'; import ClickAwayListener from 'src/components/core/ClickAwayListener'; import MenuList from 'src/components/core/MenuList'; @@ -162,7 +162,7 @@ export const NotificationMenu = () => { autoFocusItem={notificationContext.menuOpen} onKeyDown={handleMenuListKeyDown} > - { - + From f211088bfb0067f5601db1a18293594382ae9921 Mon Sep 17 00:00:00 2001 From: ecarrill Date: Thu, 22 Jun 2023 06:38:51 -0700 Subject: [PATCH 17/88] refactor: [M3-6361] - Add changeset --- packages/manager/.changeset/pr-9295-changed-1687441083123.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 packages/manager/.changeset/pr-9295-changed-1687441083123.md diff --git a/packages/manager/.changeset/pr-9295-changed-1687441083123.md b/packages/manager/.changeset/pr-9295-changed-1687441083123.md new file mode 100644 index 00000000000..9c698fd5a85 --- /dev/null +++ b/packages/manager/.changeset/pr-9295-changed-1687441083123.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Changed +--- + +MUI v5 Migration - Components > MenuItem ([#9295](https://github.com/linode/manager/pull/9295)) From 01b544df98a9785fab17b7c94a7a6db2f3905b1d Mon Sep 17 00:00:00 2001 From: cliu-akamai <126020611+cliu-akamai@users.noreply.github.com> Date: Thu, 22 Jun 2023 12:27:05 -0400 Subject: [PATCH 18/88] M3-6552: Add Third Party Access Tokens Cypress integration tests (#9223) --- .../account/third-party-access-tokens.spec.ts | 123 ++++++++++++++++++ .../cypress/support/intercepts/profile.ts | 15 +++ packages/manager/src/factories/oauth.ts | 34 +++++ 3 files changed, 172 insertions(+) create mode 100644 packages/manager/cypress/e2e/core/account/third-party-access-tokens.spec.ts diff --git a/packages/manager/cypress/e2e/core/account/third-party-access-tokens.spec.ts b/packages/manager/cypress/e2e/core/account/third-party-access-tokens.spec.ts new file mode 100644 index 00000000000..185adace82d --- /dev/null +++ b/packages/manager/cypress/e2e/core/account/third-party-access-tokens.spec.ts @@ -0,0 +1,123 @@ +import { accessFactory, appTokenFactory } from '@src/factories'; +import 'cypress-file-upload'; +import { + mockGetPersonalAccessTokens, + mockGetAppTokens, + mockRevokeAppToken, +} from 'support/intercepts/profile'; +import { ui } from 'support/ui'; +import { randomLabel, randomString } from 'support/util/random'; +import { Token } from '@linode/api-v4/types'; + +describe('Third party access tokens', () => { + let tokenLabel: string; + let tokenSecret: string; + let token: Token; + + beforeEach(() => { + tokenLabel = randomLabel(); + tokenSecret = randomString(64); + token = appTokenFactory.build({ + label: tokenLabel, + token: tokenSecret, + }); + + mockGetPersonalAccessTokens([]).as('getTokens'); + mockGetAppTokens([token]).as('getAppTokens'); + + cy.visitWithLogin('/profile/tokens'); + cy.wait(['@getTokens', '@getAppTokens']); + }); + + /* + * - List of third party access tokens + * - Confirms that third party apps are listed with expected information. + */ + it('Third party access tokens are listed with expected information', () => { + cy.findByText(tokenLabel) + .closest('tr') + .within(() => { + cy.findByText(tokenLabel).should('be.visible'); + cy.findByText('2020-01-01 12:00').should('be.visible'); + cy.findByText('never').should('be.visible'); + }); + }); + + /* + * - View scopes of a third party access token + * - Confirms that 'View Scopes' opens a drawer and shows the correct information. + */ + it('Views scopes of a third party access token', () => { + const access = accessFactory.build({ + Linodes: 2, + }); + + cy.findByText(tokenLabel) + .closest('tr') + .within(() => { + ui.button.findByTitle('View Scopes').should('be.visible').click(); + }); + ui.drawer + .findByTitle(tokenLabel) + .should('be.visible') + .within(() => { + Object.keys(access).forEach((key) => { + cy.findByText(key) + .closest('tr') + .within(() => { + cy.findByLabelText( + `This token has ${access[key]} access for ${key.toLowerCase()}` + ).should('be.visible'); + }); + }); + }); + }); + + /* + * - Revoke a third party access token + * - Confirms that revoke works as expected and third party apps list updates accordingly. + */ + it('Revokes a third party access token', () => { + // Cancelling will keep the list unchanged. + cy.findByText(tokenLabel) + .closest('tr') + .within(() => { + ui.button.findByTitle('Revoke').should('be.visible').click(); + }); + ui.dialog + .findByTitle(`Revoke ${tokenLabel}?`) + .should('be.visible') + .within(() => { + ui.buttonGroup + .findButtonByTitle('Cancel') + .should('be.visible') + .should('be.enabled') + .click(); + }); + + // Confirms revoke will remove the third party app. + mockRevokeAppToken(token.id).as('deleteAppToken'); + cy.findByText(tokenLabel) + .closest('tr') + .within(() => { + ui.button.findByTitle('Revoke').should('be.visible').click(); + }); + ui.dialog + .findByTitle(`Revoke ${tokenLabel}?`) + .should('be.visible') + .within(() => { + ui.buttonGroup + .findButtonByTitle('Revoke') + .should('be.visible') + .should('be.enabled') + .click(); + }); + cy.wait('@deleteAppToken'); + + mockGetPersonalAccessTokens([]).as('getTokens'); + mockGetAppTokens([]).as('getAppTokens'); + cy.visitWithLogin('/profile/tokens'); + cy.wait(['@getTokens', '@getAppTokens']); + cy.findByText(tokenLabel).should('not.exist'); + }); +}); diff --git a/packages/manager/cypress/support/intercepts/profile.ts b/packages/manager/cypress/support/intercepts/profile.ts index 3db9a778776..438a900d421 100644 --- a/packages/manager/cypress/support/intercepts/profile.ts +++ b/packages/manager/cypress/support/intercepts/profile.ts @@ -178,6 +178,21 @@ export const mockGetAppTokens = (tokens: Token[]): Cypress.Chainable => { ); }; +/** + * Intercepts DELETE request to revoke a third party app token and mocks response. + * + * @param id - ID of token for intercepted revoke request. + * + * @returns Cypress chainable. + */ +export const mockRevokeAppToken = (id: number): Cypress.Chainable => { + return cy.intercept( + 'DELETE', + apiMatcher(`profile/apps/${id}`), + makeResponse({}) + ); +}; + /** * Intercepts GET request to retrieve personal access tokens and mocks response. * diff --git a/packages/manager/src/factories/oauth.ts b/packages/manager/src/factories/oauth.ts index 36d7886559a..e97d4b79798 100644 --- a/packages/manager/src/factories/oauth.ts +++ b/packages/manager/src/factories/oauth.ts @@ -10,3 +10,37 @@ export const appTokenFactory = Factory.Sync.makeFactory({ expiry: null, website: 'http://cloud.linode.com', }); + +export interface Access { + Account: number; + Databases: number; + Domains: number; + Events: number; + // 'Firewalls': number, + Images: number; + IPs: number; + Linodes: number; + // 'Kubernetes': number, + Longview: number; + NodeBalancers: number; + // 'Object Storage': number, + StackScripts: number; + Volumes: number; +} + +export const accessFactory = Factory.Sync.makeFactory({ + Account: 0, + Databases: 0, + Domains: 0, + Events: 0, + // 'Firewalls': 0, + Images: 0, + IPs: 0, + Linodes: 0, + // 'Kubernetes': 0, + Longview: 0, + NodeBalancers: 0, + // 'Object Storage': 0, + StackScripts: 0, + Volumes: 0, +}); From 9d03cdbd83f50cb6f94750da6839dbed8aa7b184 Mon Sep 17 00:00:00 2001 From: cliu-akamai <126020611+cliu-akamai@users.noreply.github.com> Date: Thu, 22 Jun 2023 13:37:20 -0400 Subject: [PATCH 19/88] M3-6506: Add StackScript Landing Page Integration Tests (#9275) --- .../smoke-stackscripts-landing-page.spec.ts | 63 +++++++++++++++++++ .../support/intercepts/stackscripts.ts | 19 ++++++ .../manager/src/factories/stackscripts.ts | 2 +- 3 files changed, 83 insertions(+), 1 deletion(-) create mode 100644 packages/manager/cypress/e2e/core/stackscripts/smoke-stackscripts-landing-page.spec.ts diff --git a/packages/manager/cypress/e2e/core/stackscripts/smoke-stackscripts-landing-page.spec.ts b/packages/manager/cypress/e2e/core/stackscripts/smoke-stackscripts-landing-page.spec.ts new file mode 100644 index 00000000000..6e878fa62e2 --- /dev/null +++ b/packages/manager/cypress/e2e/core/stackscripts/smoke-stackscripts-landing-page.spec.ts @@ -0,0 +1,63 @@ +import { authenticate } from 'support/api/authentication'; +import { stackScriptFactory } from 'src/factories'; +import { mockGetStackScripts } from 'support/intercepts/stackscripts'; +import { ui } from 'support/ui'; + +authenticate(); +describe('stackscripts', () => { + /* + * - Displays welcom message in the landing page. + * - Confirms that "Automate Deployment with StackScripts!" welcome page appears when user has no StackScripts. + */ + it('display the correct welcom message in landing page', () => { + mockGetStackScripts([]).as('getStackScripts'); + cy.visitWithLogin('/stackscripts/account'); + cy.wait('@getStackScripts'); + + cy.findByText('Automate deployment scripts').should('be.visible'); + cy.get('[data-qa-stackscript-empty-msg="true"]') + .should('be.visible') + .within(() => { + ui.button + .findByTitle('Create StackScript') + .should('be.visible') + .should('be.enabled'); + }); + }); + + /* + * - Displays Account StackScripts in the landing page. + * - Confirms that all the StackScripts are shown as expected. + */ + it('display Account StackScripts in landing page', () => { + const stackScripts = stackScriptFactory.buildList(2); + mockGetStackScripts(stackScripts).as('getStackScripts'); + cy.visitWithLogin('/stackscripts/account'); + cy.wait('@getStackScripts'); + + stackScripts.forEach((stackScript) => { + cy.get(`[aria-label="${stackScript.label}"]`) + .closest('tr') + .within(() => { + cy.findByText(stackScript.deployments_total).should('be.visible'); + cy.findByText(`${stackScript.updated.split('T')[0]}`).should( + 'be.visible' + ); + if (stackScript.is_public) { + cy.findByText('Public').should('be.visible'); + } + }); + }); + }); + + /* + * - Displays Community StackScripts in the landing page. + * - Confirms that Community page is not empty. + */ + it('display Community StackScripts in landing page', () => { + cy.visitWithLogin('/stackscripts/community'); + + cy.get('[data-qa-stackscript-empty-msg="true"]').should('not.exist'); + cy.findByText('Automate deployment scripts').should('not.exist'); + }); +}); diff --git a/packages/manager/cypress/support/intercepts/stackscripts.ts b/packages/manager/cypress/support/intercepts/stackscripts.ts index 4319a979ed6..d74485b8ec7 100644 --- a/packages/manager/cypress/support/intercepts/stackscripts.ts +++ b/packages/manager/cypress/support/intercepts/stackscripts.ts @@ -2,7 +2,9 @@ * @file Cypress intercepts and mocks for Cloud Manager StackScript operations. */ +import type { StackScript } from '@linode/api-v4/types'; import { apiMatcher } from 'support/util/intercepts'; +import { paginateResponse } from 'support/util/paginate'; /** * Intercepts GET request to list StackScripts. @@ -13,6 +15,23 @@ export const interceptGetStackScripts = (): Cypress.Chainable => { return cy.intercept('GET', apiMatcher('linode/stackscripts*')); }; +/** + * Intercepts GET request to mock StackScript data. + * + * @param stackScripts - an array of mock StackScript objects + * + * @returns Cypress chainable. + */ +export const mockGetStackScripts = ( + stackScripts: StackScript[] +): Cypress.Chainable => { + return cy.intercept( + 'GET', + apiMatcher('linode/stackscripts*'), + paginateResponse(stackScripts) + ); +}; + /** * Intercepts POST request to create a StackScript. * diff --git a/packages/manager/src/factories/stackscripts.ts b/packages/manager/src/factories/stackscripts.ts index 80c315b3ae4..1c80a480cfa 100644 --- a/packages/manager/src/factories/stackscripts.ts +++ b/packages/manager/src/factories/stackscripts.ts @@ -6,7 +6,7 @@ import { export const stackScriptFactory = Factory.Sync.makeFactory({ id: Factory.each((i) => i), - label: 'MySQL', + label: Factory.each((i) => `stackScript-${i}`), images: [], user_defined_fields: [], is_public: true, From b37e7b0cf2e719e85a12f3d5fe0224e362eaa9b4 Mon Sep 17 00:00:00 2001 From: Alban Bailly <130582365+abailly-akamai@users.noreply.github.com> Date: Thu, 22 Jun 2023 16:47:27 -0400 Subject: [PATCH 20/88] fix: [M3-6683]: Fix confirmation modal overflow on mobile (#9289) * Fix: [M3-6683] Remove min-width for confirmation modal * Fix: [M3-6683] Improve modal title line height * Added changeset: Fix confirmation modal overflow on mobile --- packages/manager/.changeset/pr-9289-fixed-1687364211275.md | 5 +++++ .../src/components/ConfirmationDialog/ConfirmationDialog.tsx | 3 --- packages/manager/src/components/DialogTitle/DialogTitle.tsx | 1 + 3 files changed, 6 insertions(+), 3 deletions(-) create mode 100644 packages/manager/.changeset/pr-9289-fixed-1687364211275.md diff --git a/packages/manager/.changeset/pr-9289-fixed-1687364211275.md b/packages/manager/.changeset/pr-9289-fixed-1687364211275.md new file mode 100644 index 00000000000..eb0de60797f --- /dev/null +++ b/packages/manager/.changeset/pr-9289-fixed-1687364211275.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Fixed +--- + +Fix confirmation modal overflow on mobile ([#9289](https://github.com/linode/manager/pull/9289)) diff --git a/packages/manager/src/components/ConfirmationDialog/ConfirmationDialog.tsx b/packages/manager/src/components/ConfirmationDialog/ConfirmationDialog.tsx index 8b367d1460c..880d95a525f 100644 --- a/packages/manager/src/components/ConfirmationDialog/ConfirmationDialog.tsx +++ b/packages/manager/src/components/ConfirmationDialog/ConfirmationDialog.tsx @@ -9,9 +9,6 @@ import { DialogTitle } from 'src/components/DialogTitle/DialogTitle'; const useStyles = makeStyles()((theme: Theme) => ({ root: { - '& .MuiPaper-root': { - minWidth: 480, - }, '& .MuiDialogTitle-root': { marginBottom: 10, }, diff --git a/packages/manager/src/components/DialogTitle/DialogTitle.tsx b/packages/manager/src/components/DialogTitle/DialogTitle.tsx index 1065d8c2aa7..bebac78b61e 100644 --- a/packages/manager/src/components/DialogTitle/DialogTitle.tsx +++ b/packages/manager/src/components/DialogTitle/DialogTitle.tsx @@ -43,6 +43,7 @@ const DialogTitle = (props: DialogTitleProps) => { justifyContent: 'space-between', position: 'relative', width: '100%', + lineHeight: '1.5rem', }} > {title} From e85306ca494f041b3b00cccd186142d22f7caf3d Mon Sep 17 00:00:00 2001 From: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com> Date: Thu, 22 Jun 2023 18:48:11 -0400 Subject: [PATCH 21/88] refactor: [M3-6391] - MUI v5 Migration - `Components > SingleTextFieldForm` (#9292) * style migration and clean up * Added changeset: MUI v5 Migration - Components > SingleTextFieldForm * use `sx` --------- Co-authored-by: Banks Nussman --- .../pr-9292-tech-stories-1687376650053.md | 5 ++ .../manager/src/components/Button/Button.tsx | 4 +- .../SingleTextFieldForm.test.tsx | 4 +- .../SingleTextFieldForm.tsx | 57 +++++++------------ .../components/SingleTextFieldForm/index.ts | 5 -- .../DisplaySettings/DisplaySettings.tsx | 2 +- 6 files changed, 30 insertions(+), 47 deletions(-) create mode 100644 packages/manager/.changeset/pr-9292-tech-stories-1687376650053.md delete mode 100644 packages/manager/src/components/SingleTextFieldForm/index.ts diff --git a/packages/manager/.changeset/pr-9292-tech-stories-1687376650053.md b/packages/manager/.changeset/pr-9292-tech-stories-1687376650053.md new file mode 100644 index 00000000000..0a75419bec3 --- /dev/null +++ b/packages/manager/.changeset/pr-9292-tech-stories-1687376650053.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Tech Stories +--- + +MUI v5 Migration - Components > SingleTextFieldForm ([#9292](https://github.com/linode/manager/pull/9292)) diff --git a/packages/manager/src/components/Button/Button.tsx b/packages/manager/src/components/Button/Button.tsx index 75b670e242b..920986ad1ec 100644 --- a/packages/manager/src/components/Button/Button.tsx +++ b/packages/manager/src/components/Button/Button.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Reload from 'src/assets/icons/reload.svg'; import _Button, { ButtonProps } from '@mui/material/Button'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; -import { useTheme, styled } from '@mui/material/styles'; +import { useTheme, styled, Theme } from '@mui/material/styles'; import { SxProps } from '@mui/system'; import { isPropValid } from '../../utilities/isPropValid'; import { rotate360 } from '../../styles/keyframes'; @@ -15,7 +15,7 @@ export interface Props extends ButtonProps { /** Additional css class to pass to the component */ className?: string; /** The `sx` prop can be either object or function */ - sx?: SxProps; + sx?: SxProps; /** Reduce the padding on the x-axis */ compactX?: boolean; /** Reduce the padding on the y-axis */ diff --git a/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.test.tsx b/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.test.tsx index b61d7312b7c..4d0e27f38ea 100644 --- a/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.test.tsx +++ b/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.test.tsx @@ -1,11 +1,11 @@ import * as React from 'react'; -import SingleTextFieldForm, { Props } from './SingleTextFieldForm'; +import { SingleTextFieldForm } from './SingleTextFieldForm'; import { renderWithTheme } from 'src/utilities/testHelpers'; import { fireEvent, screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; describe('SingleTextFieldForm', () => { - const props: Props = { + const props = { label: 'Username', submitForm: jest.fn(() => Promise.resolve()), initialValue: 'jane-doe', diff --git a/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx b/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx index 0894b34b72a..7dbdb4380a6 100644 --- a/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx +++ b/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx @@ -3,49 +3,20 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import Box from 'src/components/core/Box'; -import { makeStyles } from '@mui/styles'; -import { Theme } from '@mui/material/styles'; import { Notice } from 'src/components/Notice/Notice'; import TextField, { Props as TextFieldProps } from 'src/components/TextField'; import { getAPIErrorOrDefault, getErrorMap } from 'src/utilities/errorUtils'; -const useStyles = makeStyles((theme: Theme) => ({ - root: { - [theme.breakpoints.down('md')]: { - flexDirection: 'column', - }, - }, - input: { - minWidth: 415, - [theme.breakpoints.down('md')]: { - minWidth: 'auto', - }, - }, - button: { - minWidth: 180, - [theme.breakpoints.up('md')]: { - marginTop: 16, - }, - }, -})); - -export interface Props { - label: string; +interface Props extends TextFieldProps { fieldName?: string; submitForm: (value: string) => Promise; initialValue?: string; - disabled?: boolean; - tooltipText?: string; successMessage?: string; errorMessage?: string; successCallback?: () => void; } -export const SingleTextFieldForm: React.FC = ( - props -) => { - const classes = useStyles(); - +export const SingleTextFieldForm = React.memo((props: Props) => { const { label, fieldName, @@ -96,11 +67,20 @@ export const SingleTextFieldForm: React.FC = ( ({ + [theme.breakpoints.down('md')]: { + flexDirection: 'column', + }, + })} > ({ + minWidth: 415, + [theme.breakpoints.down('md')]: { + minWidth: 'auto', + }, + })} label={label} value={value} onChange={(e) => setValue(e.target.value)} @@ -110,7 +90,12 @@ export const SingleTextFieldForm: React.FC = ( /> - setIsCreateDrawerOpen(false)} /> diff --git a/packages/manager/src/components/Code/Code.tsx b/packages/manager/src/components/Code/Code.tsx index c3b18a4ef95..a4457bb7fc9 100644 --- a/packages/manager/src/components/Code/Code.tsx +++ b/packages/manager/src/components/Code/Code.tsx @@ -5,17 +5,16 @@ interface Props { children: string; } -const Code = (props: Props) => { +export const Code = (props: Props) => { const { children } = props; return {children}; }; -export default Code; - const StyledSpan = styled('span')(({ theme }) => ({ - backgroundColor: theme.color.grey8, - fontWeight: 'bold', - fontFamily: 'Courier', - color: theme.name === 'dark' ? theme.color.white : theme.color.black, + color: theme.color.black, + fontFamily: '"Ubuntu Mono", monospace, sans-serif', + margin: '0 2px', + backgroundColor: theme.color.grey5, + padding: '0 4px', })); diff --git a/packages/manager/src/components/Code/index.ts b/packages/manager/src/components/Code/index.ts deleted file mode 100644 index 50549f23972..00000000000 --- a/packages/manager/src/components/Code/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -import Code from './Code'; -export default Code; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/ResizeDiskDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/ResizeDiskDrawer.tsx index c10c590fcb4..974f4e2652e 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/ResizeDiskDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/ResizeDiskDrawer.tsx @@ -3,7 +3,7 @@ import { useFormik } from 'formik'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; -import Code from 'src/components/Code'; +import { Code } from 'src/components/Code/Code'; import FormHelperText from 'src/components/core/FormHelperText'; import InputAdornment from 'src/components/core/InputAdornment'; import { makeStyles } from '@mui/styles'; diff --git a/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.test.tsx b/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.test.tsx index c948e2eebb2..f6c1eb65f4a 100644 --- a/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.test.tsx +++ b/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.test.tsx @@ -4,7 +4,7 @@ import userEvent from '@testing-library/user-event'; import { sshKeyFactory } from 'src/factories'; import { rest, server } from 'src/mocks/testServer'; import { renderWithTheme } from 'src/utilities/testHelpers'; -import SSHKeyCreationDrawer from './CreateSSHKeyDrawer'; +import { CreateSSHKeyDrawer } from './CreateSSHKeyDrawer'; const props = { open: true, @@ -13,7 +13,7 @@ const props = { describe('SSHKeyCreationDrawer', () => { it('should have an input field for label', () => { - const { getByText } = renderWithTheme(); + const { getByText } = renderWithTheme(); // Check for inputs getByText('Label'); getByText('SSH Public Key'); @@ -25,7 +25,7 @@ describe('SSHKeyCreationDrawer', () => { it('should be submittable and should show client side validation errors', async () => { const { getAllByRole, getByTestId, getByText } = renderWithTheme( - + ); const inputs = getAllByRole('textbox'); @@ -53,7 +53,7 @@ describe('SSHKeyCreationDrawer', () => { ); const { getAllByRole, getByTestId } = renderWithTheme( - + ); const inputs = getAllByRole('textbox'); diff --git a/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx b/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx index bae6261d462..3ed5ece6494 100644 --- a/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx +++ b/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx @@ -2,9 +2,12 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import Drawer from 'src/components/Drawer'; -import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; import getAPIErrorFor from 'src/utilities/getAPIErrorFor'; +import Link from 'src/components/Link'; +import TextField from 'src/components/TextField'; +import Typography from 'src/components/core/Typography'; +import { Code } from 'src/components/Code/Code'; +import { Notice } from 'src/components/Notice/Notice'; import { useCreateSSHKeyMutation } from 'src/queries/profile'; import { useFormik } from 'formik'; import { useSnackbar } from 'notistack'; @@ -14,7 +17,7 @@ interface Props { onClose: () => void; } -const CreateSSHKeyDrawer = ({ open, onClose }: Props) => { +export const CreateSSHKeyDrawer = React.memo(({ open, onClose }: Props) => { const { enqueueSnackbar } = useSnackbar(); const { mutateAsync: createSSHKey, @@ -45,6 +48,17 @@ const CreateSSHKeyDrawer = ({ open, onClose }: Props) => { const generalError = hasErrorFor('none'); + const SSHTextAreaHelperText = () => ( + + + Learn about + {' '} + uploading an SSH key or generating a new key pair. Note that the public + key begins with ssh-rsa and ends with{' '} + your_username@hostname. + + ); + return ( {generalError && } @@ -64,6 +78,12 @@ const CreateSSHKeyDrawer = ({ open, onClose }: Props) => { value={formik.values.ssh_key} multiline rows={1.75} + helperText={} + onBlur={(e) => { + const trimmedValue = e.target.value.trim(); + formik.setFieldValue('ssh_key', trimmedValue); + formik.handleBlur(e); + }} />
); -}; +}); export const isDataEmpty = (data: DataSet[]) => { return data.every( @@ -84,5 +81,3 @@ export const isDataEmpty = (data: DataSet[]) => { thisSeries.data.every((thisPoint) => thisPoint[1] === null) ); }; - -export default compose(React.memo)(LongviewLineGraph); diff --git a/packages/manager/src/components/LongviewLineGraph/index.ts b/packages/manager/src/components/LongviewLineGraph/index.ts deleted file mode 100644 index efbca99ae99..00000000000 --- a/packages/manager/src/components/LongviewLineGraph/index.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Props as _LVLineGraphProps } from './LongviewLineGraph'; - -/* tslint:disable-next-line */ -export interface LineGraphProps extends _LVLineGraphProps {} - -export { default } from './LongviewLineGraph'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Apache/ApacheGraphs.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Apache/ApacheGraphs.tsx index aa2cfe77e6d..a821af0ccbc 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Apache/ApacheGraphs.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Apache/ApacheGraphs.tsx @@ -3,7 +3,7 @@ import { compose } from 'recompose'; import Paper from 'src/components/core/Paper'; import { WithTheme, withTheme } from '@mui/styles'; import Grid from 'src/components/Grid'; -import LongviewLineGraph from 'src/components/LongviewLineGraph'; +import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { convertNetworkToUnit, formatNetworkTooltip, diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Graphs.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Graphs.tsx index f014c7e4a97..1f18c1665bd 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Graphs.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Graphs.tsx @@ -4,7 +4,7 @@ import { compose } from 'recompose'; import { makeStyles, withTheme, WithTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; -import LongviewLineGraph from 'src/components/LongviewLineGraph'; +import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { isToday as _isToday } from 'src/utilities/isToday'; import { Stat, StatWithDummyPoint } from '../../../request.types'; import { convertData } from '../../../shared/formatters'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/MySQL/MySQLGraphs.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/MySQL/MySQLGraphs.tsx index 21540b1446c..9e3112ede2e 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/MySQL/MySQLGraphs.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/MySQL/MySQLGraphs.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Paper from 'src/components/core/Paper'; import { withTheme, WithTheme } from '@mui/styles'; import Grid from 'src/components/Grid'; -import LongviewLineGraph from 'src/components/LongviewLineGraph'; +import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { formatNetworkTooltip, getMaxUnitAndFormatNetwork, diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/NGINX/NGINXGraphs.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/NGINX/NGINXGraphs.tsx index 8fe4d3d300c..c51b3aef341 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/NGINX/NGINXGraphs.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/NGINX/NGINXGraphs.tsx @@ -3,7 +3,7 @@ import { compose } from 'recompose'; import Paper from 'src/components/core/Paper'; import { WithTheme, withTheme } from '@mui/styles'; import Grid from 'src/components/Grid'; -import LongviewLineGraph from 'src/components/LongviewLineGraph'; +import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { LongviewProcesses, NginxResponse } from '../../../request.types'; import { convertData } from '../../../shared/formatters'; import ProcessGraphs, { useStyles } from '../ProcessGraphs'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Network/NetworkGraphs.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Network/NetworkGraphs.tsx index d471a5b9d77..1113978e30c 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Network/NetworkGraphs.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Network/NetworkGraphs.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { CircleProgress } from 'src/components/CircleProgress'; import { withTheme, WithTheme } from '@mui/styles'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; -import LongviewLineGraph from 'src/components/LongviewLineGraph'; +import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { Placeholder } from 'src/components/Placeholder/Placeholder'; import { convertNetworkToUnit, diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/CPUGraph.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/CPUGraph.tsx index 0900b0c168a..94ff7d701af 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/CPUGraph.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/CPUGraph.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { withTheme, WithTheme } from '@mui/styles'; -import LongviewLineGraph from 'src/components/LongviewLineGraph'; +import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { sumCPU } from 'src/features/Longview/shared/utilities'; import { convertData, diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/DiskGraph.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/DiskGraph.tsx index c8c18ecfd63..7a96b5cf25c 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/DiskGraph.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/DiskGraph.tsx @@ -1,7 +1,7 @@ import { pathOr } from 'ramda'; import * as React from 'react'; import { withTheme, WithTheme } from '@mui/styles'; -import LongviewLineGraph from 'src/components/LongviewLineGraph'; +import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { appendStats } from 'src/features/Longview/shared/utilities'; import { Disk, StatWithDummyPoint } from '../../../request.types'; import { convertData } from '../../../shared/formatters'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/LoadGraph.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/LoadGraph.tsx index f425e3cf67c..3c7f389dc59 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/LoadGraph.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/LoadGraph.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { withTheme, WithTheme } from '@mui/styles'; -import LongviewLineGraph from 'src/components/LongviewLineGraph'; +import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { convertData } from '../../../shared/formatters'; import { GraphProps } from './types'; import { useGraphs } from './useGraphs'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/MemoryGraph.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/MemoryGraph.tsx index 590a68cec8f..6ca38540f99 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/MemoryGraph.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/MemoryGraph.tsx @@ -1,7 +1,7 @@ import { pathOr } from 'ramda'; import * as React from 'react'; import { withTheme, WithTheme } from '@mui/styles'; -import LongviewLineGraph from 'src/components/LongviewLineGraph'; +import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { convertBytesToTarget, readableBytes, diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/NetworkGraph.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/NetworkGraph.tsx index e333388e9f7..fa14fca1e84 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/NetworkGraph.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/NetworkGraph.tsx @@ -2,7 +2,7 @@ import { pathOr } from 'ramda'; import * as React from 'react'; import { compose } from 'recompose'; import { withTheme, WithTheme } from '@mui/styles'; -import LongviewLineGraph from 'src/components/LongviewLineGraph'; +import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { formatNetworkTooltip, getMaxUnitAndFormatNetwork, diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/ProcessGraphs.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/ProcessGraphs.tsx index 54bfdc159b1..eafedfeff3d 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/ProcessGraphs.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/ProcessGraphs.tsx @@ -3,7 +3,7 @@ import { compose } from 'recompose'; import { makeStyles, WithTheme, withTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Grid from 'src/components/Grid'; -import LongviewLineGraph from 'src/components/LongviewLineGraph'; +import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { convertBytesToTarget, readableBytes, diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesGraphs.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesGraphs.tsx index ae9b490e68e..cc454cab254 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesGraphs.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesGraphs.tsx @@ -3,7 +3,7 @@ import Paper from 'src/components/core/Paper'; import { makeStyles, withTheme, WithTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; -import LongviewLineGraph from 'src/components/LongviewLineGraph'; +import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { LongviewProcesses, WithStartAndEnd, From 070732ec3225417fcbeb4be5e8329abad23c7a82 Mon Sep 17 00:00:00 2001 From: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com> Date: Mon, 26 Jun 2023 18:27:01 -0400 Subject: [PATCH 34/88] refactor: [M3-6788] - MUI v5 Migration - `Components > TextField` (#9314) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * initial `TextField` refactor * update storybook story * rename `Props` ➡️ `TextFieldProps` * clean up the mdx * fix broken storybook build * feedback @mjac0bs * add some defaults --------- Co-authored-by: Banks Nussman --- .../CopyableAndDownloadableTextField.tsx | 2 +- .../CopyableTextField/CopyableTextField.tsx | 2 +- .../DebouncedSearchTextField.tsx | 2 +- .../src/components/Drawer/Drawer.stories.mdx | 2 +- .../EditableEntityLabel/EditableInput.tsx | 5 +- .../components/EditableText/EditableText.tsx | 5 +- .../EnhancedNumberInput.tsx | 2 +- .../src/components/EnhancedSelect/Select.tsx | 2 +- .../components/SelectControl.tsx | 2 +- .../LabelAndTagsPanel/LabelAndTagsPanel.tsx | 2 +- .../LinodeMultiSelect/LinodeMultiSelect.tsx | 2 +- .../MultipleIPInput/MultipleIPInput.tsx | 2 +- .../components/PasswordInput/HideShowText.tsx | 3 +- .../PasswordInput/PasswordInput.tsx | 2 +- .../SingleTextFieldForm.tsx | 2 +- packages/manager/src/components/TextField.mdx | 62 +++++ .../src/components/TextField.stories.mdx | 223 ------------------ .../src/components/TextField.stories.tsx | 39 +++ packages/manager/src/components/TextField.tsx | 104 +++++--- .../TypeToConfirm/TypeToConfirm.tsx | 4 +- .../manager/src/components/core/TextField.ts | 8 - .../features/Account/CloseAccountDialog.tsx | 2 +- .../PaymentDrawer/PaymentDrawer.tsx | 2 +- .../BillingSummary/PromoDialog.tsx | 2 +- .../UpdateContactInformationForm.tsx | 2 +- .../AddCreditCardForm.tsx | 2 +- .../DatabaseCreate/DatabaseCreate.tsx | 2 +- .../features/Domains/CloneDomainDrawer.tsx | 2 +- .../Domains/CreateDomain/CreateDomain.tsx | 2 +- .../features/Domains/DomainRecordDrawer.tsx | 2 +- .../Domains/DomainZoneImportDrawer.tsx | 2 +- .../src/features/Domains/EditDomainDrawer.tsx | 2 +- .../TransferControls.tsx | 2 +- .../FirewallDetail/Rules/FirewallRuleForm.tsx | 2 +- .../FirewallLanding/CreateFirewallDrawer.tsx | 2 +- .../SupportSearchLanding.tsx | 2 +- .../src/features/Images/ImageUpload.tsx | 2 +- .../Images/ImagesCreate/CreateImageTab.tsx | 2 +- .../src/features/Images/ImagesDrawer.tsx | 2 +- .../CreateCluster/CreateCluster.tsx | 2 +- .../NodePoolsDisplay/AutoscalePoolDialog.tsx | 2 +- .../Linodes/LinodeSelect/LinodeSelect.tsx | 2 +- .../Linodes/LinodeSelect/LinodeSelectV2.tsx | 2 +- .../UserDataAccordion/UserDataAccordion.tsx | 2 +- .../LinodeBackup/CaptureSnapshot.tsx | 2 +- .../LinodeConfigs/LinodeConfigDialog.tsx | 2 +- .../LinodeNetworking/EditIPRDNSDrawer.tsx | 2 +- .../LinodeNetworking/EditRangeRDNSDrawer.tsx | 2 +- .../LinodeNetworking/IPSharing.tsx | 2 +- .../LinodeSettings/AlertSection.tsx | 2 +- .../LinodeSettings/InterfaceSelect.tsx | 2 +- .../LinodeSettingsLabelPanel.tsx | 2 +- .../LinodeStorage/CreateDiskDrawer.tsx | 2 +- .../LinodeStorage/RenameDiskDrawer.tsx | 2 +- .../LinodeStorage/ResizeDiskDrawer.tsx | 2 +- .../DetailTabs/Processes/ProcessesLanding.tsx | 2 +- .../Managed/Contacts/ContactsDrawer.tsx | 2 +- .../Credentials/AddCredentialDrawer.tsx | 2 +- .../Credentials/UpdateCredentialDrawer.tsx | 2 +- .../src/features/Managed/MonitorDrawer.tsx | 2 +- .../Managed/SSHAccess/EditSSHAccessDrawer.tsx | 2 +- .../NodeBalancers/ConfigNodeIPSelect.tsx | 2 +- .../NodeBalancers/NodeBalancerActiveCheck.tsx | 2 +- .../NodeBalancers/NodeBalancerConfigNode.tsx | 2 +- .../NodeBalancers/NodeBalancerConfigPanel.tsx | 2 +- .../NodeBalancers/NodeBalancerCreate.tsx | 2 +- .../NodeBalancerSettings.tsx | 2 +- .../NodeBalancers/NodeBalancerSelect.tsx | 2 +- .../AccessKeyLanding/AccessKeyDrawer.tsx | 2 +- .../ObjectStorage/BucketDetail/BucketSSL.tsx | 2 +- .../BucketDetail/CreateFolderDrawer.tsx | 2 +- .../BucketLanding/CreateBucketDrawer.tsx | 2 +- .../APITokens/CreateAPITokenDrawer.tsx | 2 +- .../Profile/APITokens/EditAPITokenDrawer.tsx | 2 +- .../PhoneVerification.styles.ts | 2 +- .../PhoneVerification/PhoneVerification.tsx | 2 +- .../SecurityQuestions/Answer.tsx | 2 +- .../TwoFactor/ConfirmToken.tsx | 2 +- .../Profile/LishSettings/LishSettings.tsx | 2 +- .../OAuthClients/CreateOAuthClientDrawer.tsx | 2 +- .../OAuthClients/EditOAuthClientDrawer.tsx | 2 +- .../Profile/SSHKeys/CreateSSHKeyDrawer.tsx | 4 +- .../Profile/SSHKeys/EditSSHKeyDrawer.tsx | 2 +- .../StackScriptForm/StackScriptForm.tsx | 2 +- .../FieldTypes/UserDefinedSelect.tsx | 2 +- .../FieldTypes/UserDefinedText.tsx | 2 +- .../features/Support/AttachFileListItem.tsx | 2 +- .../TabbedReply/TicketReply.tsx | 2 +- .../SupportTickets/SupportTicketDrawer.tsx | 2 +- .../SupportTicketSMTPFields.tsx | 2 +- .../src/features/Users/CreateUserDrawer.tsx | 2 +- .../src/features/Users/UserProfile.tsx | 2 +- .../Volumes/VolumeDrawer/LabelField.tsx | 2 +- .../Volumes/VolumeDrawer/SizeField.tsx | 2 +- .../Volumes/VolumeDrawer/VolumeSelect.tsx | 2 +- 95 files changed, 268 insertions(+), 359 deletions(-) create mode 100644 packages/manager/src/components/TextField.mdx delete mode 100644 packages/manager/src/components/TextField.stories.mdx create mode 100644 packages/manager/src/components/TextField.stories.tsx delete mode 100644 packages/manager/src/components/core/TextField.ts diff --git a/packages/manager/src/components/CopyableAndDownloadableTextField.tsx b/packages/manager/src/components/CopyableAndDownloadableTextField.tsx index 4eaf8e275d0..a04f7a85181 100644 --- a/packages/manager/src/components/CopyableAndDownloadableTextField.tsx +++ b/packages/manager/src/components/CopyableAndDownloadableTextField.tsx @@ -4,7 +4,7 @@ import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; import DownloadTooltip from 'src/components/DownloadTooltip'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import TextField, { Props as TextFieldProps } from 'src/components/TextField'; +import { TextField, TextFieldProps } from 'src/components/TextField'; const useStyles = makeStyles((theme: Theme) => ({ removeDisabledStyles: { diff --git a/packages/manager/src/components/CopyableTextField/CopyableTextField.tsx b/packages/manager/src/components/CopyableTextField/CopyableTextField.tsx index 72d07c99093..3b2e7b2f677 100644 --- a/packages/manager/src/components/CopyableTextField/CopyableTextField.tsx +++ b/packages/manager/src/components/CopyableTextField/CopyableTextField.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; import { styled } from '@mui/material/styles'; -import TextField, { Props as TextFieldProps } from 'src/components/TextField'; +import { TextField, TextFieldProps } from 'src/components/TextField'; type CopyableTextFieldProps = TextFieldProps & { className?: string; diff --git a/packages/manager/src/components/DebouncedSearchTextField/DebouncedSearchTextField.tsx b/packages/manager/src/components/DebouncedSearchTextField/DebouncedSearchTextField.tsx index 6fe9f043fdf..aadd5418a8e 100644 --- a/packages/manager/src/components/DebouncedSearchTextField/DebouncedSearchTextField.tsx +++ b/packages/manager/src/components/DebouncedSearchTextField/DebouncedSearchTextField.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import { CircleProgress } from 'src/components/CircleProgress'; import InputAdornment from 'src/components/core/InputAdornment'; import { styled } from '@mui/material/styles'; -import TextField, { Props as TextFieldProps } from 'src/components/TextField'; +import { TextField, TextFieldProps } from 'src/components/TextField'; import usePrevious from 'src/hooks/usePrevious'; diff --git a/packages/manager/src/components/Drawer/Drawer.stories.mdx b/packages/manager/src/components/Drawer/Drawer.stories.mdx index 3f78a76b07f..9d406150e60 100644 --- a/packages/manager/src/components/Drawer/Drawer.stories.mdx +++ b/packages/manager/src/components/Drawer/Drawer.stories.mdx @@ -2,7 +2,7 @@ import React from 'react'; import Button from 'src/components/Button'; import Typography from 'src/components/core/Typography'; import ActionsPanel from '../ActionsPanel'; -import TextField from '../TextField'; +import { TextField } from '../TextField'; import Drawer from './Drawer'; import { ArgsTable, Canvas, Meta, Story } from '@storybook/addon-docs'; diff --git a/packages/manager/src/components/EditableEntityLabel/EditableInput.tsx b/packages/manager/src/components/EditableEntityLabel/EditableInput.tsx index ed13b8083cc..39bce5210a9 100644 --- a/packages/manager/src/components/EditableEntityLabel/EditableInput.tsx +++ b/packages/manager/src/components/EditableEntityLabel/EditableInput.tsx @@ -7,9 +7,8 @@ import Button from 'src/components/Button'; import ClickAwayListener from 'src/components/core/ClickAwayListener'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import { TextFieldProps } from 'src/components/core/TextField'; import Typography from 'src/components/core/Typography'; -import TextField from 'src/components/TextField'; +import { TextField, TextFieldProps } from 'src/components/TextField'; const useStyles = makeStyles((theme: Theme) => ({ '@keyframes fadeIn': { @@ -139,7 +138,7 @@ interface Props { loading: boolean; } -type PassThroughProps = Props & TextFieldProps; +type PassThroughProps = Props & Omit; type FinalProps = PassThroughProps; diff --git a/packages/manager/src/components/EditableText/EditableText.tsx b/packages/manager/src/components/EditableText/EditableText.tsx index 5746d0820e4..3a3ccb686cf 100644 --- a/packages/manager/src/components/EditableText/EditableText.tsx +++ b/packages/manager/src/components/EditableText/EditableText.tsx @@ -7,10 +7,9 @@ import { Link } from 'react-router-dom'; import Button from 'src/components/Button'; import { H1Header } from 'src/components/H1Header/H1Header'; import ClickAwayListener from 'src/components/core/ClickAwayListener'; -import { TextFieldProps } from 'src/components/core/TextField'; import { fadeIn } from 'src/styles/keyframes'; import { makeStyles } from 'tss-react/mui'; -import TextField from '../TextField'; +import { TextField, TextFieldProps } from '../TextField'; const useStyles = makeStyles()( (theme: Theme, _params, classes) => ({ @@ -111,7 +110,7 @@ interface Props { className?: string; } -type PassThroughProps = Props & TextFieldProps; +type PassThroughProps = Props & Omit; export const EditableText = (props: PassThroughProps) => { const { classes } = useStyles(); diff --git a/packages/manager/src/components/EnhancedNumberInput/EnhancedNumberInput.tsx b/packages/manager/src/components/EnhancedNumberInput/EnhancedNumberInput.tsx index 4a7feb10ac3..4e70e271be4 100644 --- a/packages/manager/src/components/EnhancedNumberInput/EnhancedNumberInput.tsx +++ b/packages/manager/src/components/EnhancedNumberInput/EnhancedNumberInput.tsx @@ -3,7 +3,7 @@ import Minus from 'src/assets/icons/LKEminusSign.svg'; import Plus from 'src/assets/icons/LKEplusSign.svg'; import Button from 'src/components/Button'; import { styled } from '@mui/material/styles'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Box from '@mui/material/Box'; const sxTextFieldBase = { diff --git a/packages/manager/src/components/EnhancedSelect/Select.tsx b/packages/manager/src/components/EnhancedSelect/Select.tsx index 774c68491fc..05fab2e913c 100644 --- a/packages/manager/src/components/EnhancedSelect/Select.tsx +++ b/packages/manager/src/components/EnhancedSelect/Select.tsx @@ -9,7 +9,7 @@ import ReactSelect, { import CreatableSelect, { CreatableProps as CreatableSelectProps, } from 'react-select/creatable'; -import { Props as TextFieldProps } from 'src/components/TextField'; +import { TextFieldProps } from 'src/components/TextField'; import { convertToKebabCase } from 'src/utilities/convertToKebobCase'; import { reactSelectStyles, useStyles } from './Select.styles'; import { DropdownIndicator } from './components/DropdownIndicator'; diff --git a/packages/manager/src/components/EnhancedSelect/components/SelectControl.tsx b/packages/manager/src/components/EnhancedSelect/components/SelectControl.tsx index 2c0f22a771c..f668683cd2d 100644 --- a/packages/manager/src/components/EnhancedSelect/components/SelectControl.tsx +++ b/packages/manager/src/components/EnhancedSelect/components/SelectControl.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { ControlProps } from 'react-select'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; interface Props extends ControlProps {} diff --git a/packages/manager/src/components/LabelAndTagsPanel/LabelAndTagsPanel.tsx b/packages/manager/src/components/LabelAndTagsPanel/LabelAndTagsPanel.tsx index 1915e4aa1cd..bb2977318ab 100644 --- a/packages/manager/src/components/LabelAndTagsPanel/LabelAndTagsPanel.tsx +++ b/packages/manager/src/components/LabelAndTagsPanel/LabelAndTagsPanel.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Paper from 'src/components/core/Paper'; -import TextField, { Props as TextFieldProps } from 'src/components/TextField'; +import { TextField, TextFieldProps } from 'src/components/TextField'; import { Notice } from 'src/components/Notice/Notice'; import { TagsInput, TagsInputProps } from 'src/components/TagsInput/TagsInput'; import { useTheme } from '@mui/material/styles'; diff --git a/packages/manager/src/components/LinodeMultiSelect/LinodeMultiSelect.tsx b/packages/manager/src/components/LinodeMultiSelect/LinodeMultiSelect.tsx index ef617c27934..4a3f4556779 100644 --- a/packages/manager/src/components/LinodeMultiSelect/LinodeMultiSelect.tsx +++ b/packages/manager/src/components/LinodeMultiSelect/LinodeMultiSelect.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { useAllLinodesQuery } from 'src/queries/linodes/linodes'; import Autocomplete from '@mui/material/Autocomplete'; import Popper from '@mui/material/Popper'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; export interface Props { allowedRegions?: string[]; diff --git a/packages/manager/src/components/MultipleIPInput/MultipleIPInput.tsx b/packages/manager/src/components/MultipleIPInput/MultipleIPInput.tsx index 60818d52f22..85f9865b854 100644 --- a/packages/manager/src/components/MultipleIPInput/MultipleIPInput.tsx +++ b/packages/manager/src/components/MultipleIPInput/MultipleIPInput.tsx @@ -10,7 +10,7 @@ import Typography from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { ExtendedIP } from 'src/utilities/ipUtils'; const useStyles = makeStyles()((theme: Theme) => ({ diff --git a/packages/manager/src/components/PasswordInput/HideShowText.tsx b/packages/manager/src/components/PasswordInput/HideShowText.tsx index ff504de8f53..3b3e1846349 100644 --- a/packages/manager/src/components/PasswordInput/HideShowText.tsx +++ b/packages/manager/src/components/PasswordInput/HideShowText.tsx @@ -1,8 +1,7 @@ import * as React from 'react'; import Visibility from '@mui/icons-material/Visibility'; import VisibilityOff from '@mui/icons-material/VisibilityOff'; -import TextField from '../TextField'; -import { Props as TextFieldProps } from 'src/components/TextField'; +import { TextField, TextFieldProps } from '../TextField'; export const HideShowText = (props: TextFieldProps) => { const [hidden, setHidden] = React.useState(true); diff --git a/packages/manager/src/components/PasswordInput/PasswordInput.tsx b/packages/manager/src/components/PasswordInput/PasswordInput.tsx index 1aafdb60df6..ad01e857bd9 100644 --- a/packages/manager/src/components/PasswordInput/PasswordInput.tsx +++ b/packages/manager/src/components/PasswordInput/PasswordInput.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Grid from '@mui/material/Unstable_Grid2'; import zxcvbn from 'zxcvbn'; import { StrengthIndicator } from '../PasswordInput/StrengthIndicator'; -import { Props as TextFieldProps } from 'src/components/TextField'; +import { TextFieldProps } from 'src/components/TextField'; import { HideShowText } from './HideShowText'; interface Props extends TextFieldProps { diff --git a/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx b/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx index 7dbdb4380a6..4991112aa19 100644 --- a/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx +++ b/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx @@ -4,7 +4,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import Box from 'src/components/core/Box'; import { Notice } from 'src/components/Notice/Notice'; -import TextField, { Props as TextFieldProps } from 'src/components/TextField'; +import { TextField, TextFieldProps } from 'src/components/TextField'; import { getAPIErrorOrDefault, getErrorMap } from 'src/utilities/errorUtils'; interface Props extends TextFieldProps { diff --git a/packages/manager/src/components/TextField.mdx b/packages/manager/src/components/TextField.mdx new file mode 100644 index 00000000000..dbd4739c48b --- /dev/null +++ b/packages/manager/src/components/TextField.mdx @@ -0,0 +1,62 @@ +import { Canvas, Meta, Story, Controls } from '@storybook/addon-docs'; +import * as TextFieldStories from './TextField.stories'; + + + +# Text Field + + + +### Overview + +Text fields allow users to enter text into a UI. + +### Usage + +- Input fields should be sized to the data being entered (ex. the entry for a street address should be wider than a zip code). +- Ensure that the field can accommodate at least one more character than the maximum number to be entered. + +### Rules + +- Every input must have a descriptive label of what that field is. +- Required fields should include the text “(Required)” as part of the input label. +- If most fields are required, then indicate the optional fields with the text “(Optional)” instead. +- Avoid long labels; use succinct, short and descriptive labels (a word or two) so users can quickly scan your form.
Label text shouldn’t take up multiple lines. +- Placeholder text is the text that users see before they interact with a field. It should be a useful guide to the input type and format
Don’t make the user guess what format they should use for the field. Tell this information up front. + +### Best Practices + +- A single column form with input fields stacked sequentially is the easiest to understand and leads to the highest success rate. Input fields in multiple columns can be overlooked or add unnecessary visual clutter. +- Grouping related inputs (ex. mailing address) under a subhead or rule can add meaning and make the form feel more manageable. +- Avoid breaking a single form into multiple “papers” unless those sections are truly independent of each other. +- Consider sizing the input field to the data being entered (ex. the field for a street address should be wider than the field for a zip code). Balance this goal with the visual benefits of fields of the same length. A somewhat outsized input that aligns with the fields above and below it might be the best choice. + +## Error + +### Overview + +Error messages are an indicator of system status: they let users know that a hurdle was encountered and give solutions to fix it. Users should not have to memorize instructions in order to fix the error. + +### Main Principles + +- Should be easy to notice and understand. +- Should give solutions to how to fix the error. +- Users should not have to memorize instructions in order to fix the error. +- Long error messages for short text fields can extend beyond the text field. +- When the user has finished filling in a field and clicks the submit button, an indicator should appear if the field contains an error. Use red to differentiate error fields from normal ones. + + + +## Number + +### Overview + +Number Text Fields are used for strictly numerical input + + + +## Component API + + + + \ No newline at end of file diff --git a/packages/manager/src/components/TextField.stories.mdx b/packages/manager/src/components/TextField.stories.mdx deleted file mode 100644 index 2725d81ba3d..00000000000 --- a/packages/manager/src/components/TextField.stories.mdx +++ /dev/null @@ -1,223 +0,0 @@ -import { ArgsTable, Canvas, Meta, Story } from '@storybook/addon-docs'; -import TextField from 'src/components/TextField'; - - - -# Text Field - -### Overview - ---- - -Text fields allow users to enter text into a UI. - -| Elements | Guidelines | -| :---------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| Input Field | The size of the field should be proportional to the expected user input. | -| Label | Avoid long labels; use succinct, short and descriptive labels (a word or two) so users can quickly scan your form.
Label text shouldn’t take up multiple lines. | -| Placeholder | Placeholder is the text that users see before they interact with a field. It should be a useful guide to the input type and format
Don’t make the user guess what format they should use for the field. Tell this information up front. | - -### Usage - ---- - -- Input fields should be sized to the data being entered (ex. the entry for a street address should be wider than a zip code). -- Ensure that the field can accommodate at least one more character than the maximum number to be entered. - - - - - - - - - - -### Rules - ---- - -- Every input must have a descriptive label of what that field is. -- Required fields should include the text “(Required)” as part of the input label. -- If most fields are required. Then indicate the optional fields with the text “(Optional)” instead. - -### Best Practices - ---- - -- A single column form with input fields stacked sequentially is the easiest to understand and leads to the highest success rate. Input fields in multiple columns can be overlooked or add unnecessary visual clutter. -- Grouping related inputs (ex. mailing address) under a subhead or rule can add meaning and make the form feel more manageable. -- Avoid breaking a single form into multiple “papers” unless those sections are truly independent of each other. -- Consider sizing the input field to the data being entered (ex. the field for a street address should be wider than the field for a zip code). Balance this goal with the visual benefits of fields of the same length. A somewhat outsized input that aligns with the fields above and below it might be the best choice. - -### Error - ---- - -#### Overview - -Error messages are an indicator of system status: they let users know that a hurdle was encountered and give solutions to fix it. Users should not have to memorize instructions in order to fix the error. - -##### Main principles - -- Should be easy to notice and understand. -- Should give solutions to how to fix the error. -- Users should not have to memorize instructions in order to fix the - error. - -#### Error messages for short text fields: - -Long error messages for short text fields can extend beyond the text field. - -#### Inline validation - -When the user has finished filling in a field and clicks the submit button, an indicator should appear if the field contains an error. Use red to differentiate error fields from normal ones. - - - - - - - -### Component API - ---- - -export const Template = (args) => ( - -); - - - - {Template.bind({})} - - - - diff --git a/packages/manager/src/components/TextField.stories.tsx b/packages/manager/src/components/TextField.stories.tsx new file mode 100644 index 00000000000..5b0b0c38f44 --- /dev/null +++ b/packages/manager/src/components/TextField.stories.tsx @@ -0,0 +1,39 @@ +import React from 'react'; +import { Meta, StoryObj } from '@storybook/react'; +import { TextField } from './TextField'; + +const meta: Meta = { + title: 'Components/TextField', + component: TextField, +}; + +type Story = StoryObj; + +export const Default: Story = { + render: (args) => , + args: { + label: 'Label', + placeholder: 'Placeholder', + noMarginTop: true, + }, +}; + +export const Error: Story = { + render: (args) => , + args: { + label: 'Label for Error', + errorText: 'This input needs further attention!', + noMarginTop: true, + }, +}; + +export const Number: Story = { + render: (args) => , + args: { + type: 'number', + label: 'Label for Number', + noMarginTop: true, + }, +}; + +export default meta; diff --git a/packages/manager/src/components/TextField.tsx b/packages/manager/src/components/TextField.tsx index 16eb94e7f9a..4f778babfb7 100644 --- a/packages/manager/src/components/TextField.tsx +++ b/packages/manager/src/components/TextField.tsx @@ -1,20 +1,21 @@ import KeyboardArrowDown from '@mui/icons-material/KeyboardArrowDown'; -import classNames from 'classnames'; import { clamp } from 'ramda'; import * as React from 'react'; -import { compose } from 'recompose'; import { CircleProgress } from 'src/components/CircleProgress'; import FormHelperText from 'src/components/core/FormHelperText'; import InputAdornment from 'src/components/core/InputAdornment'; import InputLabel from 'src/components/core/InputLabel'; -import { makeStyles, WithTheme } from '@mui/styles'; +import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import TextField, { TextFieldProps } from 'src/components/core/TextField'; +import { + default as _TextField, + StandardTextFieldProps, +} from '@mui/material/TextField'; import { TooltipProps as _TooltipProps } from 'src/components/core/Tooltip'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { convertToKebabCase } from 'src/utilities/convertToKebobCase'; -const useStyles = makeStyles((theme: Theme) => ({ +const useStyles = makeStyles()((theme: Theme) => ({ helpWrapper: { display: 'flex', alignItems: 'flex-end', @@ -64,25 +65,77 @@ const useStyles = makeStyles((theme: Theme) => ({ })); interface BaseProps { - className?: any; + /** + * className to apply to the underlying TextField component + */ + className?: string; + /** + * Data attributes are applied to the underlying TextField component for testing purposes + */ dataAttrs?: Record; + /** + * Applies editable styles + * @default false + */ editable?: boolean; + /** + * Adds error grouping to TextField + */ errorGroup?: string; + /** + * When defined, makes the input show an error state with the defined text + */ errorText?: string; + /** + * Makes the TextField use 100% of the available width + * @default false + */ expand?: boolean; + /** + * Makes the error text have the absolute positioning + * @default false + */ hasAbsoluteError?: boolean; + /** + * Placement of the `helperText` + * @default bottom + */ helperTextPosition?: 'top' | 'bottom'; + /** + * Hides the `label` + * @default false + */ hideLabel?: boolean; + /** + * Allows you to manually set an htmlFor input id. One will automatically be generated by the `label` if this is unset + */ inputId?: string; + /** + * Displays a loading spinner at the end of the Text Field + * @default false + */ loading?: boolean; /** - * The number amounts allowed in TextField and - * the "type" prop must also be set to "number" + * The maximum number allowed in TextField. The "type" prop must also be set to `number` */ max?: number; + /** + * The minimum number allowed in TextField. The "type" prop must also be set to `number` + */ min?: number; + /** + * Removes the default top margin (16px) + * @default false + */ noMarginTop?: boolean; + /** + * Adds `(optional)` to the Label + * @default false + */ optional?: boolean; + /** + * Adds `(required)` to the Label + */ required?: boolean; value?: Value; } @@ -97,20 +150,15 @@ interface ToolTipProps { tooltipOnMouseEnter?: React.MouseEventHandler; } -interface TextFieldPropsOverrides extends TextFieldProps { +interface TextFieldPropsOverrides extends StandardTextFieldProps { // We override this prop to make it required label: string; } -export type Props = BaseProps & - TextFieldProps & - TextFieldPropsOverrides & - ToolTipProps; +export type TextFieldProps = BaseProps & TextFieldPropsOverrides & ToolTipProps; -type CombinedProps = Props & WithTheme; - -export const LinodeTextField: React.FC = (props) => { - const classes = useStyles(); +export const TextField = (props: TextFieldProps) => { + const { classes, cx } = useStyles(); const { children, @@ -138,8 +186,6 @@ export const LinodeTextField: React.FC = (props) => { optional, required, SelectProps, - // eslint-disable-next-line @typescript-eslint/no-unused-vars - theme, tooltipPosition, tooltipText, tooltipClasses, @@ -222,14 +268,14 @@ export const LinodeTextField: React.FC = (props) => { return (
= (props) => { )}
- = (props) => { ), - className: classNames( + className: cx( 'input', { [classes.expand]: expand, @@ -312,7 +358,7 @@ export const LinodeTextField: React.FC = (props) => { }, ...SelectProps, }} - className={classNames( + className={cx( { [classes.root]: true, [classes.helpWrapperTextField]: Boolean(tooltipText), @@ -322,7 +368,7 @@ export const LinodeTextField: React.FC = (props) => { type={type} > {children} - + {tooltipText && ( = (props) => {
{errorText && ( = (props) => {
); }; - -export default compose(React.memo)( - LinodeTextField -) as React.ComponentType; diff --git a/packages/manager/src/components/TypeToConfirm/TypeToConfirm.tsx b/packages/manager/src/components/TypeToConfirm/TypeToConfirm.tsx index df967f14379..3c58536c121 100644 --- a/packages/manager/src/components/TypeToConfirm/TypeToConfirm.tsx +++ b/packages/manager/src/components/TypeToConfirm/TypeToConfirm.tsx @@ -1,9 +1,9 @@ import * as React from 'react'; import Link from 'src/components/Link'; -import TextField, { Props } from 'src/components/TextField'; +import { TextField, TextFieldProps } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; -export interface TypeToConfirmProps extends Omit { +export interface TypeToConfirmProps extends Omit { confirmationText?: JSX.Element | string; textFieldStyle?: React.CSSProperties; typographyStyle?: React.CSSProperties; diff --git a/packages/manager/src/components/core/TextField.ts b/packages/manager/src/components/core/TextField.ts deleted file mode 100644 index 83fba63d533..00000000000 --- a/packages/manager/src/components/core/TextField.ts +++ /dev/null @@ -1,8 +0,0 @@ -import TextField, { - StandardTextFieldProps as _TextFieldProps, -} from '@mui/material/TextField'; - -/* tslint:disable-next-line:no-empty-interface */ -export type TextFieldProps = _TextFieldProps; - -export default TextField; diff --git a/packages/manager/src/features/Account/CloseAccountDialog.tsx b/packages/manager/src/features/Account/CloseAccountDialog.tsx index f879320be6c..8fb152fc207 100644 --- a/packages/manager/src/features/Account/CloseAccountDialog.tsx +++ b/packages/manager/src/features/Account/CloseAccountDialog.tsx @@ -10,7 +10,7 @@ import { Theme } from '@mui/material/styles'; import { Notice } from 'src/components/Notice/Notice'; import Typography from 'src/components/core/Typography'; import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { useProfile } from 'src/queries/profile'; interface Props { diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentDrawer.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentDrawer.tsx index 0ceb9bf8bd0..4bdc1fc57a6 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentDrawer.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentDrawer.tsx @@ -17,7 +17,7 @@ import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { LinearProgress } from 'src/components/LinearProgress'; import { Notice } from 'src/components/Notice/Notice'; import { SupportLink } from 'src/components/SupportLink'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import PayPalErrorBoundary from 'src/features/Billing/BillingPanels/PaymentInfoPanel/PayPalErrorBoundary'; import { useAccount } from 'src/queries/account'; import { queryKey } from 'src/queries/accountBilling'; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDialog.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDialog.tsx index caabbf4cf18..56ebbf2a84a 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDialog.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDialog.tsx @@ -5,7 +5,7 @@ import { ConfirmationDialog } from 'src/components/ConfirmationDialog/Confirmati import { makeStyles } from 'tss-react/mui'; import Typography from 'src/components/core/Typography'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; import { addPromotion } from '@linode/api-v4/lib'; import { queryKey } from 'src/queries/account'; diff --git a/packages/manager/src/features/Billing/BillingPanels/ContactInfoPanel/UpdateContactInformationForm/UpdateContactInformationForm.tsx b/packages/manager/src/features/Billing/BillingPanels/ContactInfoPanel/UpdateContactInformationForm/UpdateContactInformationForm.tsx index c98865c9471..543c4be0de6 100644 --- a/packages/manager/src/features/Billing/BillingPanels/ContactInfoPanel/UpdateContactInformationForm/UpdateContactInformationForm.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/ContactInfoPanel/UpdateContactInformationForm/UpdateContactInformationForm.tsx @@ -7,7 +7,7 @@ import { makeStyles } from 'tss-react/mui'; import EnhancedSelect, { Item } from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { getErrorMap } from 'src/utilities/errorUtils'; import { Country } from './types'; import { useAccount, useMutateAccount } from 'src/queries/account'; diff --git a/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/AddPaymentMethodDrawer/AddCreditCardForm.tsx b/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/AddPaymentMethodDrawer/AddCreditCardForm.tsx index dab66eeae6b..77a56bccdff 100644 --- a/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/AddPaymentMethodDrawer/AddCreditCardForm.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/AddPaymentMethodDrawer/AddCreditCardForm.tsx @@ -3,7 +3,7 @@ import { useFormik, yupToFormErrors } from 'formik'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import Grid from '@mui/material/Unstable_Grid2'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import { addPaymentMethod } from '@linode/api-v4/lib'; diff --git a/packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx b/packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx index 723dca6934c..64e00a6ba5b 100644 --- a/packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx +++ b/packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx @@ -39,7 +39,7 @@ import { Notice } from 'src/components/Notice/Notice'; import { ProductInformationBanner } from 'src/components/ProductInformationBanner/ProductInformationBanner'; import { Radio } from 'src/components/Radio/Radio'; import { RegionHelperText } from 'src/components/SelectRegionPanel/RegionHelperText'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { databaseEngineMap } from 'src/features/Databases/DatabaseLanding/DatabaseRow'; import { enforceIPMasks } from 'src/features/Firewalls/FirewallDetail/Rules/FirewallRuleDrawer.utils'; import PlansPanel, { diff --git a/packages/manager/src/features/Domains/CloneDomainDrawer.tsx b/packages/manager/src/features/Domains/CloneDomainDrawer.tsx index 9c0c7f9b13f..f2c4b5da342 100644 --- a/packages/manager/src/features/Domains/CloneDomainDrawer.tsx +++ b/packages/manager/src/features/Domains/CloneDomainDrawer.tsx @@ -2,7 +2,7 @@ import React from 'react'; import Drawer from 'src/components/Drawer/Drawer'; import RadioGroup from 'src/components/core/RadioGroup'; import FormControlLabel from 'src/components/core/FormControlLabel'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { Radio } from 'src/components/Radio/Radio'; import ActionsPanel from 'src/components/ActionsPanel/ActionsPanel'; import Button from 'src/components/Button/Button'; diff --git a/packages/manager/src/features/Domains/CreateDomain/CreateDomain.tsx b/packages/manager/src/features/Domains/CreateDomain/CreateDomain.tsx index a155440b308..150bb55e195 100644 --- a/packages/manager/src/features/Domains/CreateDomain/CreateDomain.tsx +++ b/packages/manager/src/features/Domains/CreateDomain/CreateDomain.tsx @@ -22,7 +22,7 @@ import LandingHeader from 'src/components/LandingHeader'; import { MultipleIPInput } from 'src/components/MultipleIPInput/MultipleIPInput'; import { Notice } from 'src/components/Notice/Notice'; import { Radio } from 'src/components/Radio/Radio'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import FormControlLabel from 'src/components/core/FormControlLabel'; import FormHelperText from 'src/components/core/FormHelperText'; import Paper from 'src/components/core/Paper'; diff --git a/packages/manager/src/features/Domains/DomainRecordDrawer.tsx b/packages/manager/src/features/Domains/DomainRecordDrawer.tsx index 54bf05e6264..272288fef89 100644 --- a/packages/manager/src/features/Domains/DomainRecordDrawer.tsx +++ b/packages/manager/src/features/Domains/DomainRecordDrawer.tsx @@ -26,7 +26,7 @@ import Drawer from 'src/components/Drawer'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import { MultipleIPInput } from 'src/components/MultipleIPInput/MultipleIPInput'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; import getAPIErrorsFor from 'src/utilities/getAPIErrorFor'; import { diff --git a/packages/manager/src/features/Domains/DomainZoneImportDrawer.tsx b/packages/manager/src/features/Domains/DomainZoneImportDrawer.tsx index 6ac4f2fe73c..1d005e712a9 100644 --- a/packages/manager/src/features/Domains/DomainZoneImportDrawer.tsx +++ b/packages/manager/src/features/Domains/DomainZoneImportDrawer.tsx @@ -3,7 +3,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { ImportZonePayload } from '@linode/api-v4/lib/domains'; import { useFormik } from 'formik'; import { useHistory } from 'react-router-dom'; diff --git a/packages/manager/src/features/Domains/EditDomainDrawer.tsx b/packages/manager/src/features/Domains/EditDomainDrawer.tsx index c08e2c14877..07c661ae099 100644 --- a/packages/manager/src/features/Domains/EditDomainDrawer.tsx +++ b/packages/manager/src/features/Domains/EditDomainDrawer.tsx @@ -8,7 +8,7 @@ import { MultipleIPInput } from 'src/components/MultipleIPInput/MultipleIPInput' import { Notice } from 'src/components/Notice/Notice'; import { Radio } from 'src/components/Radio/Radio'; import { TagsInput } from 'src/components/TagsInput/TagsInput'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { useFormik } from 'formik'; import { useUpdateDomainMutation } from 'src/queries/domains'; import { getErrorMap } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx index b7cb7f86203..e67e3fbc1ef 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx @@ -7,7 +7,7 @@ import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import ConfirmTransferDialog from './ConfirmTransferDialog'; const useStyles = makeStyles((theme: Theme) => ({ diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleForm.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleForm.tsx index 84792ae24e4..6cb78cd6ac5 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleForm.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleForm.tsx @@ -6,7 +6,7 @@ import { MultipleIPInput } from 'src/components/MultipleIPInput/MultipleIPInput' import { Radio } from 'src/components/Radio/Radio'; import RadioGroup from 'src/components/core/RadioGroup'; import Select from 'src/components/EnhancedSelect'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { capitalize } from 'src/utilities/capitalize'; import { ipFieldPlaceholder } from 'src/utilities/ipUtils'; diff --git a/packages/manager/src/features/Firewalls/FirewallLanding/CreateFirewallDrawer.tsx b/packages/manager/src/features/Firewalls/FirewallLanding/CreateFirewallDrawer.tsx index 7d6c68145d3..9cf20f46a0c 100644 --- a/packages/manager/src/features/Firewalls/FirewallLanding/CreateFirewallDrawer.tsx +++ b/packages/manager/src/features/Firewalls/FirewallLanding/CreateFirewallDrawer.tsx @@ -6,7 +6,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { LinodeSelectV2 } from 'src/features/Linodes/LinodeSelect/LinodeSelectV2'; import { useAccountManagement } from 'src/hooks/useAccountManagement'; import { useCreateFirewall } from 'src/queries/firewalls'; diff --git a/packages/manager/src/features/Help/SupportSearchLanding/SupportSearchLanding.tsx b/packages/manager/src/features/Help/SupportSearchLanding/SupportSearchLanding.tsx index 9c82996ddde..91ca5ba9c27 100644 --- a/packages/manager/src/features/Help/SupportSearchLanding/SupportSearchLanding.tsx +++ b/packages/manager/src/features/Help/SupportSearchLanding/SupportSearchLanding.tsx @@ -9,7 +9,7 @@ import Grid from '@mui/material/Unstable_Grid2'; import Box from '@mui/material/Box'; import { H1Header } from 'src/components/H1Header/H1Header'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { COMMUNITY_SEARCH_URL, DOCS_SEARCH_URL } from 'src/constants'; import { getQueryParamFromQueryString } from 'src/utilities/queryParams'; import withSearch, { AlgoliaState as AlgoliaProps } from '../SearchHOC'; diff --git a/packages/manager/src/features/Images/ImageUpload.tsx b/packages/manager/src/features/Images/ImageUpload.tsx index de79f5cc1a0..d9362921df2 100644 --- a/packages/manager/src/features/Images/ImageUpload.tsx +++ b/packages/manager/src/features/Images/ImageUpload.tsx @@ -14,7 +14,7 @@ import Link from 'src/components/Link'; import { LinodeCLIModal } from 'src/components/LinodeCLIModal/LinodeCLIModal'; import { Notice } from 'src/components/Notice/Notice'; import { Prompt } from 'src/components/Prompt/Prompt'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Paper from 'src/components/core/Paper'; import Typography from 'src/components/core/Typography'; import { useMetadataCustomerTag } from 'src/features/Images/utils'; diff --git a/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx b/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx index 0a819de40d1..7b9b6a7ad26 100644 --- a/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx +++ b/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx @@ -13,7 +13,7 @@ import Paper from 'src/components/core/Paper'; import Typography from 'src/components/core/Typography'; import Link from 'src/components/Link'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { resetEventsPolling } from 'src/eventsPolling'; import { useMetadataCustomerTag } from 'src/features/Images/utils'; import DiskSelect from 'src/features/Linodes/DiskSelect'; diff --git a/packages/manager/src/features/Images/ImagesDrawer.tsx b/packages/manager/src/features/Images/ImagesDrawer.tsx index 5a1a5b2f32a..66ee69d82ad 100644 --- a/packages/manager/src/features/Images/ImagesDrawer.tsx +++ b/packages/manager/src/features/Images/ImagesDrawer.tsx @@ -13,7 +13,7 @@ import Typography from 'src/components/core/Typography'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import SectionErrorBoundary from 'src/components/SectionErrorBoundary'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { IMAGE_DEFAULT_LIMIT } from 'src/constants'; import { resetEventsPolling } from 'src/eventsPolling'; import DiskSelect from 'src/features/Linodes/DiskSelect'; diff --git a/packages/manager/src/features/Kubernetes/CreateCluster/CreateCluster.tsx b/packages/manager/src/features/Kubernetes/CreateCluster/CreateCluster.tsx index 96a4bf4e5ca..7af5172d471 100644 --- a/packages/manager/src/features/Kubernetes/CreateCluster/CreateCluster.tsx +++ b/packages/manager/src/features/Kubernetes/CreateCluster/CreateCluster.tsx @@ -18,7 +18,7 @@ import { RegionSelect } from 'src/components/EnhancedSelect/variants/RegionSelec import { ErrorState } from 'src/components/ErrorState/ErrorState'; import { Notice } from 'src/components/Notice/Notice'; import { RegionHelperText } from 'src/components/SelectRegionPanel/RegionHelperText'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { reportAgreementSigningError, useMutateAccountAgreements, diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AutoscalePoolDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AutoscalePoolDialog.tsx index 16a0902a284..781138bb98f 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AutoscalePoolDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AutoscalePoolDialog.tsx @@ -12,7 +12,7 @@ import { ConfirmationDialog } from 'src/components/ConfirmationDialog/Confirmati import Grid from '@mui/material/Unstable_Grid2'; import Link from 'src/components/Link'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { Toggle } from 'src/components/Toggle'; import { AutoscaleSettings, KubeNodePoolResponse } from '@linode/api-v4'; import { useUpdateNodePoolMutation } from 'src/queries/kubernetes'; diff --git a/packages/manager/src/features/Linodes/LinodeSelect/LinodeSelect.tsx b/packages/manager/src/features/Linodes/LinodeSelect/LinodeSelect.tsx index a0373aa1cb9..a211651a71c 100644 --- a/packages/manager/src/features/Linodes/LinodeSelect/LinodeSelect.tsx +++ b/packages/manager/src/features/Linodes/LinodeSelect/LinodeSelect.tsx @@ -9,7 +9,7 @@ import EnhancedSelect, { Item, } from 'src/components/EnhancedSelect/Select'; import RenderGuard, { RenderGuardProps } from 'src/components/RenderGuard'; -import { Props as TextFieldProps } from 'src/components/TextField'; +import { TextFieldProps } from 'src/components/TextField'; import withLinodes from 'src/containers/withLinodes.container'; import { useReduxLoad } from 'src/hooks/useReduxLoad'; import { useRegionsQuery } from 'src/queries/regions'; diff --git a/packages/manager/src/features/Linodes/LinodeSelect/LinodeSelectV2.tsx b/packages/manager/src/features/Linodes/LinodeSelect/LinodeSelectV2.tsx index 2c0ef9275fc..26a1bcb1f32 100644 --- a/packages/manager/src/features/Linodes/LinodeSelect/LinodeSelectV2.tsx +++ b/packages/manager/src/features/Linodes/LinodeSelect/LinodeSelectV2.tsx @@ -9,7 +9,7 @@ import CloseIcon from '@mui/icons-material/Close'; import KeyboardArrowDownIcon from '@mui/icons-material/KeyboardArrowDown'; import { Autocomplete, Box } from '@mui/material'; import React from 'react'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { useInfiniteLinodesQuery } from 'src/queries/linodes/linodes'; import { mapIdsToLinodes } from 'src/utilities/mapIdsToLinodes'; import { CustomPopper, RemoveIcon, SelectedIcon } from './LinodeSelect.styles'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx b/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx index b22494e1044..89b6c576bca 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx @@ -3,7 +3,7 @@ import Box from 'src/components/core/Box'; import Accordion from 'src/components/Accordion'; import Link from 'src/components/Link'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { UserDataAccordionHeading } from './UserDataAccordionHeading'; import { useExpandIconStyles } from './UserDataAccordion.styles'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshot.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshot.tsx index b1ec29b6dfd..95fb7c6ed67 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshot.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshot.tsx @@ -8,7 +8,7 @@ import { makeStyles } from 'tss-react/mui'; import { useLinodeBackupSnapshotMutation } from 'src/queries/linodes/backups'; import { useSnackbar } from 'notistack'; import { useFormik } from 'formik'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { CaptureSnapshotConfirmationDialog } from './CaptureSnapshotConfirmationDialog'; import Button from 'src/components/Button'; import { resetEventsPolling } from 'src/eventsPolling'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx index b0dada89c08..e71693dddad 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx @@ -29,7 +29,7 @@ import Grid from '@mui/material/Unstable_Grid2'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { Notice } from 'src/components/Notice/Notice'; import { Radio } from 'src/components/Radio/Radio'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { Toggle } from 'src/components/Toggle'; import DeviceSelection from 'src/features/Linodes/LinodesDetail/LinodeRescue/DeviceSelection'; import { titlecase } from 'src/features/Linodes/presentation'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditIPRDNSDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditIPRDNSDrawer.tsx index bbc5805089f..1eae2da143b 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditIPRDNSDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditIPRDNSDrawer.tsx @@ -4,7 +4,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import Typography from 'src/components/core/Typography'; import Drawer from 'src/components/Drawer'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { getErrorMap } from 'src/utilities/errorUtils'; import { useFormik } from 'formik'; import { useSnackbar } from 'notistack'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditRangeRDNSDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditRangeRDNSDrawer.tsx index d60424a0efa..6168164005d 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditRangeRDNSDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditRangeRDNSDrawer.tsx @@ -6,7 +6,7 @@ import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; import Drawer from 'src/components/Drawer'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { getErrorMap } from 'src/utilities/errorUtils'; import { useFormik } from 'formik'; import { useSnackbar } from 'notistack'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPSharing.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPSharing.tsx index c9a18c547d5..7d894b0b82a 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPSharing.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPSharing.tsx @@ -15,7 +15,7 @@ import { Dialog } from 'src/components/Dialog/Dialog'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import useFlags from 'src/hooks/useFlags'; import { API_MAX_PAGE_SIZE } from 'src/constants'; import { diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/AlertSection.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/AlertSection.tsx index 53a59a89731..b1bbe20be3d 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/AlertSection.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/AlertSection.tsx @@ -5,7 +5,7 @@ import InputAdornment from 'src/components/core/InputAdornment'; import Typography from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import Box from '@mui/material/Box'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { Toggle } from 'src/components/Toggle'; import { useTheme } from '@mui/material/styles'; import { fadeIn } from 'src/styles/keyframes'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/InterfaceSelect.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/InterfaceSelect.tsx index f1da5641e6f..35684ee2ac7 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/InterfaceSelect.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/InterfaceSelect.tsx @@ -8,7 +8,7 @@ import { makeStyles } from '@mui/styles'; import { Theme, useTheme } from '@mui/material/styles'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { useVlansQuery } from 'src/queries/vlans'; import { sendLinodeCreateDocsEvent } from 'src/utilities/analytics'; import useMediaQuery from '@mui/material/useMediaQuery'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsLabelPanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsLabelPanel.tsx index 651cb86fa12..10522e6862a 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsLabelPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsLabelPanel.tsx @@ -5,7 +5,7 @@ import Accordion from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { getErrorMap } from 'src/utilities/errorUtils'; import { useLinodeQuery, diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateDiskDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateDiskDrawer.tsx index cc79422ecee..8baccf810b0 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateDiskDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateDiskDrawer.tsx @@ -8,7 +8,7 @@ import Drawer from 'src/components/Drawer'; import { Item } from 'src/components/EnhancedSelect/Select'; import { ModeSelect, Mode } from 'src/components/ModeSelect/ModeSelect'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import FormHelperText from 'src/components/core/FormHelperText'; import InputAdornment from 'src/components/core/InputAdornment'; import MenuItem from 'src/components/core/MenuItem'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/RenameDiskDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/RenameDiskDrawer.tsx index 515b304218d..2e2582cc524 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/RenameDiskDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/RenameDiskDrawer.tsx @@ -5,7 +5,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { object, string } from 'yup'; import { useLinodeDiskUpdateMutation } from 'src/queries/linodes/disks'; import { handleAPIErrors } from 'src/utilities/formikErrorUtils'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/ResizeDiskDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/ResizeDiskDrawer.tsx index 974f4e2652e..9ecd71a31b7 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/ResizeDiskDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/ResizeDiskDrawer.tsx @@ -11,7 +11,7 @@ import { Theme } from '@mui/material/styles'; import Drawer from 'src/components/Drawer'; import { Link } from 'src/components/Link'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { TextTooltip } from 'src/components/TextTooltip'; import { sendEvent } from 'src/utilities/analytics'; import { useSnackbar } from 'notistack'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesLanding.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesLanding.tsx index d1800938e9c..4b02a43be58 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesLanding.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesLanding.tsx @@ -5,7 +5,7 @@ import Box from 'src/components/core/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Grid from 'src/components/Grid'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { LongviewProcesses, WithStartAndEnd, diff --git a/packages/manager/src/features/Managed/Contacts/ContactsDrawer.tsx b/packages/manager/src/features/Managed/Contacts/ContactsDrawer.tsx index 4205239e190..d1606e87829 100644 --- a/packages/manager/src/features/Managed/Contacts/ContactsDrawer.tsx +++ b/packages/manager/src/features/Managed/Contacts/ContactsDrawer.tsx @@ -9,7 +9,7 @@ import Drawer from 'src/components/Drawer'; import Select from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { useCreateContactMutation, useUpdateContactMutation, diff --git a/packages/manager/src/features/Managed/Credentials/AddCredentialDrawer.tsx b/packages/manager/src/features/Managed/Credentials/AddCredentialDrawer.tsx index bc47212e7a5..67900b0b16a 100644 --- a/packages/manager/src/features/Managed/Credentials/AddCredentialDrawer.tsx +++ b/packages/manager/src/features/Managed/Credentials/AddCredentialDrawer.tsx @@ -6,7 +6,7 @@ import Button from 'src/components/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import SuspenseLoader from 'src/components/SuspenseLoader'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { creationSchema } from './credential.schema'; const PasswordInput = React.lazy( diff --git a/packages/manager/src/features/Managed/Credentials/UpdateCredentialDrawer.tsx b/packages/manager/src/features/Managed/Credentials/UpdateCredentialDrawer.tsx index f40f4da28fb..7433a1f0444 100644 --- a/packages/manager/src/features/Managed/Credentials/UpdateCredentialDrawer.tsx +++ b/packages/manager/src/features/Managed/Credentials/UpdateCredentialDrawer.tsx @@ -6,7 +6,7 @@ import Button from 'src/components/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import SuspenseLoader from 'src/components/SuspenseLoader'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { updateLabelSchema, updatePasswordSchema } from './credential.schema'; const PasswordInput = React.lazy( diff --git a/packages/manager/src/features/Managed/MonitorDrawer.tsx b/packages/manager/src/features/Managed/MonitorDrawer.tsx index 7d38d2b92de..f93c9e53441 100644 --- a/packages/manager/src/features/Managed/MonitorDrawer.tsx +++ b/packages/manager/src/features/Managed/MonitorDrawer.tsx @@ -15,7 +15,7 @@ import Drawer from 'src/components/Drawer'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; export interface Props { mode: 'create' | 'edit'; diff --git a/packages/manager/src/features/Managed/SSHAccess/EditSSHAccessDrawer.tsx b/packages/manager/src/features/Managed/SSHAccess/EditSSHAccessDrawer.tsx index 8b49292adef..771aac68341 100644 --- a/packages/manager/src/features/Managed/SSHAccess/EditSSHAccessDrawer.tsx +++ b/packages/manager/src/features/Managed/SSHAccess/EditSSHAccessDrawer.tsx @@ -11,7 +11,7 @@ import Drawer from 'src/components/Drawer'; import Grid from '@mui/material/Unstable_Grid2'; import { IPSelect } from 'src/components/IPSelect/IPSelect'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { Toggle } from 'src/components/Toggle'; import { handleFieldErrors, diff --git a/packages/manager/src/features/NodeBalancers/ConfigNodeIPSelect.tsx b/packages/manager/src/features/NodeBalancers/ConfigNodeIPSelect.tsx index 0aed6f1563c..409835af650 100644 --- a/packages/manager/src/features/NodeBalancers/ConfigNodeIPSelect.tsx +++ b/packages/manager/src/features/NodeBalancers/ConfigNodeIPSelect.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import LinodeSelect from 'src/features/Linodes/LinodeSelect'; import { Linode } from '@linode/api-v4/lib/linodes'; import { privateIPRegex } from 'src/utilities/ipUtils'; -import type { Props as TextFieldProps } from 'src/components/TextField'; +import type { TextFieldProps } from 'src/components/TextField'; interface ConfigNodeIPSelectProps { selectedRegion?: string; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerActiveCheck.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerActiveCheck.tsx index 95f4f42d0bc..8bc4984e2cf 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerActiveCheck.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerActiveCheck.tsx @@ -3,7 +3,7 @@ import FormHelperText from 'src/components/core/FormHelperText'; import Grid from '@mui/material/Unstable_Grid2'; import InputAdornment from 'src/components/core/InputAdornment'; import Select from 'src/components/EnhancedSelect/Select'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { setErrorMap } from './utils'; import type { Item } from 'src/components/EnhancedSelect'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerConfigNode.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerConfigNode.tsx index 405d8b6a681..c436ac46d0f 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerConfigNode.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerConfigNode.tsx @@ -4,7 +4,7 @@ import Button from 'src/components/Button'; import Divider from 'src/components/core/Divider'; import Grid from '@mui/material/Unstable_Grid2'; import MenuItem from 'src/components/core/MenuItem'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { Chip } from 'src/components/core/Chip'; import { ConfigNodeIPSelect } from './ConfigNodeIPSelect'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerConfigPanel.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerConfigPanel.tsx index 7432c2a05c4..e0c8ebb869b 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerConfigPanel.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerConfigPanel.tsx @@ -6,7 +6,7 @@ import FormHelperText from 'src/components/core/FormHelperText'; import Grid from '@mui/material/Unstable_Grid2'; import Link from 'src/components/Link'; import Select from 'src/components/EnhancedSelect/Select'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { ActiveCheck } from './NodeBalancerActiveCheck'; import { NodeBalancerConfigNode } from './NodeBalancerConfigNode'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx index 1551fb74226..01d0cdf12d7 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx @@ -8,7 +8,7 @@ import Box from 'src/components/core/Box'; import Accordion from 'src/components/Accordion'; import Paper from 'src/components/core/Paper'; import LandingHeader from 'src/components/LandingHeader'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { SelectRegionPanel } from 'src/components/SelectRegionPanel/SelectRegionPanel'; import getAPIErrorFor from 'src/utilities/getAPIErrorFor'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSettings.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSettings.tsx index 666276bd650..2afcd7fa584 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSettings.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSettings.tsx @@ -3,7 +3,7 @@ import Accordion from 'src/components/Accordion'; import Button from 'src/components/Button'; import FormHelperText from 'src/components/core/FormHelperText'; import InputAdornment from 'src/components/core/InputAdornment'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { useTheme } from '@mui/material'; import { useParams } from 'react-router-dom'; import { NodeBalancerDeleteDialog } from '../NodeBalancerDeleteDialog'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerSelect.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerSelect.tsx index 5365b41dc56..5fe0ffa27fb 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerSelect.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerSelect.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import TextField, { Props as TextFieldProps } from 'src/components/TextField'; +import { TextField, TextFieldProps } from 'src/components/TextField'; import Autocomplete from '@mui/material/Autocomplete'; import { useInfiniteNodebalancersQuery } from 'src/queries/nodebalancers'; import { NodeBalancer } from '@linode/api-v4'; diff --git a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx index 02d31a02754..2834f628461 100644 --- a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx +++ b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import Drawer from 'src/components/Drawer'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { CircleProgress } from 'src/components/CircleProgress'; import { confirmObjectStorage } from '../utilities'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.tsx index d8ad2ff281c..8fcc10c68a8 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.tsx @@ -5,7 +5,7 @@ import Paper from 'src/components/core/Paper'; import Typography from 'src/components/core/Typography'; import ExternalLink from 'src/components/ExternalLink'; import Grid from '@mui/material/Unstable_Grid2'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { CircleProgress } from 'src/components/CircleProgress'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/CreateFolderDrawer.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/CreateFolderDrawer.tsx index 9e5f329ffb0..b1c7173c4e1 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/CreateFolderDrawer.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/CreateFolderDrawer.tsx @@ -1,6 +1,6 @@ import React, { useEffect } from 'react'; import Drawer from 'src/components/Drawer/Drawer'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import ActionsPanel from 'src/components/ActionsPanel'; import { useFormik } from 'formik'; import { useCreateObjectUrlMutation } from 'src/queries/objectStorage'; diff --git a/packages/manager/src/features/ObjectStorage/BucketLanding/CreateBucketDrawer.tsx b/packages/manager/src/features/ObjectStorage/BucketLanding/CreateBucketDrawer.tsx index b0a05eccb3e..8f2562e4eb8 100644 --- a/packages/manager/src/features/ObjectStorage/BucketLanding/CreateBucketDrawer.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketLanding/CreateBucketDrawer.tsx @@ -5,7 +5,7 @@ import ClusterSelect from './ClusterSelect'; import Drawer from 'src/components/Drawer'; import EnableObjectStorageModal from '../EnableObjectStorageModal'; import EUAgreementCheckbox from 'src/features/Account/Agreements/EUAgreementCheckbox'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { getErrorMap } from 'src/utilities/errorUtils'; import { isEURegion } from 'src/utilities/formatRegion'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Profile/APITokens/CreateAPITokenDrawer.tsx b/packages/manager/src/features/Profile/APITokens/CreateAPITokenDrawer.tsx index f375dc925b8..2ade2686d39 100644 --- a/packages/manager/src/features/Profile/APITokens/CreateAPITokenDrawer.tsx +++ b/packages/manager/src/features/Profile/APITokens/CreateAPITokenDrawer.tsx @@ -5,7 +5,7 @@ import Drawer from 'src/components/Drawer'; import FormControl from 'src/components/core/FormControl'; import FormHelperText from 'src/components/core/FormHelperText'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { DateTime } from 'luxon'; import { getErrorMap } from 'src/utilities/errorUtils'; import { ISO_DATETIME_NO_TZ_FORMAT } from 'src/constants'; diff --git a/packages/manager/src/features/Profile/APITokens/EditAPITokenDrawer.tsx b/packages/manager/src/features/Profile/APITokens/EditAPITokenDrawer.tsx index b3a858fb7d5..78e18b3a1c5 100644 --- a/packages/manager/src/features/Profile/APITokens/EditAPITokenDrawer.tsx +++ b/packages/manager/src/features/Profile/APITokens/EditAPITokenDrawer.tsx @@ -3,7 +3,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { Token, TokenRequest } from '@linode/api-v4/lib/profile/types'; import { useFormik } from 'formik'; import { useUpdatePersonalAccessTokenMutation } from 'src/queries/tokens'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts index 4ab5c64217a..06f8f673f69 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts +++ b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts @@ -1,7 +1,7 @@ import Box from 'src/components/core/Box'; import FormHelperText from 'src/components/core/FormHelperText'; import Select from 'src/components/EnhancedSelect/Select'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx index 0a130dab28e..59d2a29b10d 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Box from 'src/components/core/Box'; import Button from 'src/components/Button'; import InputAdornment from 'src/components/core/InputAdornment'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { APIError } from '@linode/api-v4/lib/types'; import { countries } from './countries'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/Answer.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/Answer.tsx index 9e560f473e9..ca33b363e54 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/Answer.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/Answer.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { SecurityQuestion } from '@linode/api-v4/lib/profile'; interface Props { diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx index dc5c9cffdcf..a5cccbb8ed1 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import Box from 'src/components/core/Box'; import Button from 'src/components/Button'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx b/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx index 400afc577e4..2c185589f42 100644 --- a/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx +++ b/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx @@ -7,7 +7,7 @@ import getAPIErrorFor from 'src/utilities/getAPIErrorFor'; import Paper from 'src/components/core/Paper'; import scrollErrorIntoView from 'src/utilities/scrollErrorIntoView'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { APIError } from '@linode/api-v4/lib/types'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; diff --git a/packages/manager/src/features/Profile/OAuthClients/CreateOAuthClientDrawer.tsx b/packages/manager/src/features/Profile/OAuthClients/CreateOAuthClientDrawer.tsx index 66356dc2d0b..2b4068aa46d 100644 --- a/packages/manager/src/features/Profile/OAuthClients/CreateOAuthClientDrawer.tsx +++ b/packages/manager/src/features/Profile/OAuthClients/CreateOAuthClientDrawer.tsx @@ -6,7 +6,7 @@ import FormControl from 'src/components/core/FormControl'; import FormControlLabel from 'src/components/core/FormControlLabel'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import getAPIErrorsFor from 'src/utilities/getAPIErrorFor'; import { useFormik } from 'formik'; import { useCreateOAuthClientMutation } from 'src/queries/accountOAuth'; diff --git a/packages/manager/src/features/Profile/OAuthClients/EditOAuthClientDrawer.tsx b/packages/manager/src/features/Profile/OAuthClients/EditOAuthClientDrawer.tsx index 4fc36cb98d8..02d1d9ea6a0 100644 --- a/packages/manager/src/features/Profile/OAuthClients/EditOAuthClientDrawer.tsx +++ b/packages/manager/src/features/Profile/OAuthClients/EditOAuthClientDrawer.tsx @@ -6,7 +6,7 @@ import FormControl from 'src/components/core/FormControl'; import FormControlLabel from 'src/components/core/FormControlLabel'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import getAPIErrorsFor from 'src/utilities/getAPIErrorFor'; import { useFormik } from 'formik'; import { useUpdateOAuthClientMutation } from 'src/queries/accountOAuth'; diff --git a/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx b/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx index 3ed5ece6494..ee0e6a179cd 100644 --- a/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx +++ b/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx @@ -2,12 +2,12 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import Drawer from 'src/components/Drawer'; +import { Notice } from 'src/components/Notice/Notice'; +import { TextField } from 'src/components/TextField'; import getAPIErrorFor from 'src/utilities/getAPIErrorFor'; import Link from 'src/components/Link'; -import TextField from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { Code } from 'src/components/Code/Code'; -import { Notice } from 'src/components/Notice/Notice'; import { useCreateSSHKeyMutation } from 'src/queries/profile'; import { useFormik } from 'formik'; import { useSnackbar } from 'notistack'; diff --git a/packages/manager/src/features/Profile/SSHKeys/EditSSHKeyDrawer.tsx b/packages/manager/src/features/Profile/SSHKeys/EditSSHKeyDrawer.tsx index 8184b8c679f..244664b30f4 100644 --- a/packages/manager/src/features/Profile/SSHKeys/EditSSHKeyDrawer.tsx +++ b/packages/manager/src/features/Profile/SSHKeys/EditSSHKeyDrawer.tsx @@ -3,7 +3,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import Button from 'src/components/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import getAPIErrorFor from 'src/utilities/getAPIErrorFor'; import { useUpdateSSHKeyMutation } from 'src/queries/profile'; import { useFormik } from 'formik'; diff --git a/packages/manager/src/features/StackScripts/StackScriptForm/StackScriptForm.tsx b/packages/manager/src/features/StackScripts/StackScriptForm/StackScriptForm.tsx index 32582a78eb3..6381e38a0e9 100644 --- a/packages/manager/src/features/StackScripts/StackScriptForm/StackScriptForm.tsx +++ b/packages/manager/src/features/StackScripts/StackScriptForm/StackScriptForm.tsx @@ -11,7 +11,7 @@ import Typography from 'src/components/core/Typography'; import { Item } from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import ImageSelect from 'src/features/Images/ImageSelect'; import getAPIErrorsFor from 'src/utilities/getAPIErrorFor'; import { imageToItem } from 'src/utilities/imageToItem'; diff --git a/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/FieldTypes/UserDefinedSelect.tsx b/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/FieldTypes/UserDefinedSelect.tsx index c66997c289e..6e13afae179 100644 --- a/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/FieldTypes/UserDefinedSelect.tsx +++ b/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/FieldTypes/UserDefinedSelect.tsx @@ -7,7 +7,7 @@ import { Theme } from '@mui/material/styles'; import MenuItem from 'src/components/MenuItem'; import { Notice } from 'src/components/Notice/Notice'; import { Radio } from 'src/components/Radio/Radio'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; const useStyles = makeStyles((theme: Theme) => ({ root: { diff --git a/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/FieldTypes/UserDefinedText.tsx b/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/FieldTypes/UserDefinedText.tsx index 579823f12bd..7dc91f50463 100644 --- a/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/FieldTypes/UserDefinedText.tsx +++ b/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/FieldTypes/UserDefinedText.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import AccessPanel from 'src/components/AccessPanel/AccessPanel'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import RenderGuard from 'src/components/RenderGuard'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; type ClassNames = 'accessPanel' | 'marginTop'; diff --git a/packages/manager/src/features/Support/AttachFileListItem.tsx b/packages/manager/src/features/Support/AttachFileListItem.tsx index a98d8ceeaa1..0b68bb0ca01 100644 --- a/packages/manager/src/features/Support/AttachFileListItem.tsx +++ b/packages/manager/src/features/Support/AttachFileListItem.tsx @@ -7,7 +7,7 @@ import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Grid from '@mui/material/Unstable_Grid2'; import { LinearProgress } from 'src/components/LinearProgress'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { FileAttachment } from './index'; const useStyles = makeStyles((theme: Theme) => ({ diff --git a/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/TicketReply.tsx b/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/TicketReply.tsx index 28bc3e575b2..24d68a5156d 100644 --- a/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/TicketReply.tsx +++ b/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/TicketReply.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; type ClassNames = 'replyField'; diff --git a/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx b/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx index d7a9fa6f8d5..d973a58ae29 100644 --- a/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx +++ b/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx @@ -19,7 +19,7 @@ import Select, { Item } from 'src/components/EnhancedSelect/Select'; import { Notice } from 'src/components/Notice/Notice'; import SectionErrorBoundary from 'src/components/SectionErrorBoundary'; import { EntityForTicketDetails } from 'src/components/SupportLink/SupportLink'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import useEntities, { Entity } from 'src/hooks/useEntities'; import { useAccount } from 'src/queries/account'; import { useAllDatabasesQuery } from 'src/queries/databases'; diff --git a/packages/manager/src/features/Support/SupportTickets/SupportTicketSMTPFields.tsx b/packages/manager/src/features/Support/SupportTickets/SupportTicketSMTPFields.tsx index 644061b40d7..2b4c16c5774 100644 --- a/packages/manager/src/features/Support/SupportTickets/SupportTicketSMTPFields.tsx +++ b/packages/manager/src/features/Support/SupportTickets/SupportTicketSMTPFields.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; export interface Props { handleChange: (e: React.ChangeEvent) => void; diff --git a/packages/manager/src/features/Users/CreateUserDrawer.tsx b/packages/manager/src/features/Users/CreateUserDrawer.tsx index e5e7d3ecfa1..41c392dddac 100644 --- a/packages/manager/src/features/Users/CreateUserDrawer.tsx +++ b/packages/manager/src/features/Users/CreateUserDrawer.tsx @@ -7,7 +7,7 @@ import Button from 'src/components/Button'; import FormControlLabel from 'src/components/core/FormControlLabel'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { Toggle } from 'src/components/Toggle'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; import getAPIErrorsFor from 'src/utilities/getAPIErrorFor'; diff --git a/packages/manager/src/features/Users/UserProfile.tsx b/packages/manager/src/features/Users/UserProfile.tsx index fa959fc9312..0dc2dd4e6e6 100644 --- a/packages/manager/src/features/Users/UserProfile.tsx +++ b/packages/manager/src/features/Users/UserProfile.tsx @@ -13,7 +13,7 @@ import Typography from 'src/components/core/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { Notice } from 'src/components/Notice/Notice'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { useProfile } from 'src/queries/profile'; import getAPIErrorsFor from 'src/utilities/getAPIErrorFor'; import scrollErrorIntoView from 'src/utilities/scrollErrorIntoView'; diff --git a/packages/manager/src/features/Volumes/VolumeDrawer/LabelField.tsx b/packages/manager/src/features/Volumes/VolumeDrawer/LabelField.tsx index 2ae27aff03c..6df30f0549d 100644 --- a/packages/manager/src/features/Volumes/VolumeDrawer/LabelField.tsx +++ b/packages/manager/src/features/Volumes/VolumeDrawer/LabelField.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { TooltipProps } from 'src/components/core/Tooltip'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; interface Props { onBlur: (e: any) => void; diff --git a/packages/manager/src/features/Volumes/VolumeDrawer/SizeField.tsx b/packages/manager/src/features/Volumes/VolumeDrawer/SizeField.tsx index 3b4797e0ff5..488eacd85f7 100644 --- a/packages/manager/src/features/Volumes/VolumeDrawer/SizeField.tsx +++ b/packages/manager/src/features/Volumes/VolumeDrawer/SizeField.tsx @@ -3,7 +3,7 @@ import FormHelperText from 'src/components/core/FormHelperText'; import InputAdornment from 'src/components/core/InputAdornment'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { MAX_VOLUME_SIZE } from 'src/constants'; const useStyles = makeStyles((theme: Theme) => ({ diff --git a/packages/manager/src/features/Volumes/VolumeDrawer/VolumeSelect.tsx b/packages/manager/src/features/Volumes/VolumeDrawer/VolumeSelect.tsx index a9b709c0dc3..1e954f267f6 100644 --- a/packages/manager/src/features/Volumes/VolumeDrawer/VolumeSelect.tsx +++ b/packages/manager/src/features/Volumes/VolumeDrawer/VolumeSelect.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Autocomplete from '@mui/material/Autocomplete'; -import TextField from 'src/components/TextField'; +import { TextField } from 'src/components/TextField'; import { useInfiniteVolumesQuery } from 'src/queries/volumes'; interface Props { From 7a80bf781719c6b5d8f5b2ca43ec8b21a91b5d39 Mon Sep 17 00:00:00 2001 From: carrillo-erik <119514965+carrillo-erik@users.noreply.github.com> Date: Mon, 26 Jun 2023 20:35:20 -0700 Subject: [PATCH 35/88] chore: Delete old changesets from `develop` branch (#9302) Co-authored-by: Jaalah Ramos --- packages/api-v4/.changeset/pr-9253-added-1686860188779.md | 5 ----- packages/api-v4/.changeset/pr-9257-added-1686756493120.md | 5 ----- packages/api-v4/.changeset/pr-9266-removed-1686852804191.md | 5 ----- .../manager/.changeset/pr-9193-tech-stories-1685478443289.md | 5 ----- .../manager/.changeset/pr-9213-tech-stories-1686062114543.md | 5 ----- packages/manager/.changeset/pr-9215-fixed-1686154022321.md | 5 ----- .../manager/.changeset/pr-9218-tech-stories-1686268120191.md | 5 ----- packages/manager/.changeset/pr-9220-changed-1686133289498.md | 5 ----- .../manager/.changeset/pr-9224-tech-stories-1686169209507.md | 5 ----- .../manager/.changeset/pr-9228-tech-stories-1686235871127.md | 5 ----- .../manager/.changeset/pr-9230-tech-stories-1686242146063.md | 5 ----- .../manager/.changeset/pr-9232-tech-stories-1686251566732.md | 5 ----- .../manager/.changeset/pr-9237-tech-stories-1686326150154.md | 5 ----- .../manager/.changeset/pr-9238-tech-stories-1686332206028.md | 5 ----- .../manager/.changeset/pr-9239-tech-stories-1686334794129.md | 5 ----- .../manager/.changeset/pr-9239-tech-stories-1686846441284.md | 5 ----- packages/manager/.changeset/pr-9240-changed-1686335599449.md | 5 ----- .../manager/.changeset/pr-9241-tech-stories-1686337150607.md | 5 ----- .../manager/.changeset/pr-9242-tech-stories-1686601876541.md | 5 ----- packages/manager/.changeset/pr-9243-changed-1686346732563.md | 5 ----- .../manager/.changeset/pr-9244-tech-stories-1686579581871.md | 5 ----- packages/manager/.changeset/pr-9248-changed-1686686631424.md | 5 ----- packages/manager/.changeset/pr-9253-added-1686859236273.md | 5 ----- .../manager/.changeset/pr-9254-tech-stories-1686608779585.md | 5 ----- .../manager/.changeset/pr-9255-tech-stories-1686759239474.md | 5 ----- .../manager/.changeset/pr-9256-tech-stories-1686693372703.md | 5 ----- packages/manager/.changeset/pr-9260-fixed-1686769842584.md | 5 ----- .../manager/.changeset/pr-9263-tech-stories-1686839868932.md | 5 ----- packages/manager/.changeset/pr-9266-removed-1686852738775.md | 5 ----- .../manager/.changeset/pr-9267-tech-stories-1686857766076.md | 5 ----- .../manager/.changeset/pr-9270-tech-stories-1686927343871.md | 5 ----- .../manager/.changeset/pr-9271-tech-stories-1686927837582.md | 5 ----- packages/manager/.changeset/pr-9272-fixed-1686929413003.md | 5 ----- packages/manager/.changeset/pr-9273-fixed-1686932547524.md | 5 ----- .../manager/.changeset/pr-9274-tech-stories-1686938963869.md | 5 ----- .../manager/.changeset/pr-9276-tech-stories-1686940552048.md | 5 ----- .../manager/.changeset/pr-9278-tech-stories-1686942932396.md | 5 ----- packages/manager/.changeset/pr-9280-fixed-1686949826559.md | 5 ----- packages/manager/.changeset/pr-9281-fixed-1686955648087.md | 5 ----- .../manager/.changeset/pr-9283-tech-stories-1687277781133.md | 5 ----- packages/manager/.changeset/pr-9284-added-1687297470464.md | 5 ----- packages/manager/.changeset/pr-9287-changed-1687360553653.md | 5 ----- 42 files changed, 210 deletions(-) delete mode 100644 packages/api-v4/.changeset/pr-9253-added-1686860188779.md delete mode 100644 packages/api-v4/.changeset/pr-9257-added-1686756493120.md delete mode 100644 packages/api-v4/.changeset/pr-9266-removed-1686852804191.md delete mode 100644 packages/manager/.changeset/pr-9193-tech-stories-1685478443289.md delete mode 100644 packages/manager/.changeset/pr-9213-tech-stories-1686062114543.md delete mode 100644 packages/manager/.changeset/pr-9215-fixed-1686154022321.md delete mode 100644 packages/manager/.changeset/pr-9218-tech-stories-1686268120191.md delete mode 100644 packages/manager/.changeset/pr-9220-changed-1686133289498.md delete mode 100644 packages/manager/.changeset/pr-9224-tech-stories-1686169209507.md delete mode 100644 packages/manager/.changeset/pr-9228-tech-stories-1686235871127.md delete mode 100644 packages/manager/.changeset/pr-9230-tech-stories-1686242146063.md delete mode 100644 packages/manager/.changeset/pr-9232-tech-stories-1686251566732.md delete mode 100644 packages/manager/.changeset/pr-9237-tech-stories-1686326150154.md delete mode 100644 packages/manager/.changeset/pr-9238-tech-stories-1686332206028.md delete mode 100644 packages/manager/.changeset/pr-9239-tech-stories-1686334794129.md delete mode 100644 packages/manager/.changeset/pr-9239-tech-stories-1686846441284.md delete mode 100644 packages/manager/.changeset/pr-9240-changed-1686335599449.md delete mode 100644 packages/manager/.changeset/pr-9241-tech-stories-1686337150607.md delete mode 100644 packages/manager/.changeset/pr-9242-tech-stories-1686601876541.md delete mode 100644 packages/manager/.changeset/pr-9243-changed-1686346732563.md delete mode 100644 packages/manager/.changeset/pr-9244-tech-stories-1686579581871.md delete mode 100644 packages/manager/.changeset/pr-9248-changed-1686686631424.md delete mode 100644 packages/manager/.changeset/pr-9253-added-1686859236273.md delete mode 100644 packages/manager/.changeset/pr-9254-tech-stories-1686608779585.md delete mode 100644 packages/manager/.changeset/pr-9255-tech-stories-1686759239474.md delete mode 100644 packages/manager/.changeset/pr-9256-tech-stories-1686693372703.md delete mode 100644 packages/manager/.changeset/pr-9260-fixed-1686769842584.md delete mode 100644 packages/manager/.changeset/pr-9263-tech-stories-1686839868932.md delete mode 100644 packages/manager/.changeset/pr-9266-removed-1686852738775.md delete mode 100644 packages/manager/.changeset/pr-9267-tech-stories-1686857766076.md delete mode 100644 packages/manager/.changeset/pr-9270-tech-stories-1686927343871.md delete mode 100644 packages/manager/.changeset/pr-9271-tech-stories-1686927837582.md delete mode 100644 packages/manager/.changeset/pr-9272-fixed-1686929413003.md delete mode 100644 packages/manager/.changeset/pr-9273-fixed-1686932547524.md delete mode 100644 packages/manager/.changeset/pr-9274-tech-stories-1686938963869.md delete mode 100644 packages/manager/.changeset/pr-9276-tech-stories-1686940552048.md delete mode 100644 packages/manager/.changeset/pr-9278-tech-stories-1686942932396.md delete mode 100644 packages/manager/.changeset/pr-9280-fixed-1686949826559.md delete mode 100644 packages/manager/.changeset/pr-9281-fixed-1686955648087.md delete mode 100644 packages/manager/.changeset/pr-9283-tech-stories-1687277781133.md delete mode 100644 packages/manager/.changeset/pr-9284-added-1687297470464.md delete mode 100644 packages/manager/.changeset/pr-9287-changed-1687360553653.md diff --git a/packages/api-v4/.changeset/pr-9253-added-1686860188779.md b/packages/api-v4/.changeset/pr-9253-added-1686860188779.md deleted file mode 100644 index f992d14dde9..00000000000 --- a/packages/api-v4/.changeset/pr-9253-added-1686860188779.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/api-v4": Added ---- - -New Region Capability (Premium Plans) ([#9253](https://github.com/linode/manager/pull/9253)) diff --git a/packages/api-v4/.changeset/pr-9257-added-1686756493120.md b/packages/api-v4/.changeset/pr-9257-added-1686756493120.md deleted file mode 100644 index 5b6259b01a4..00000000000 --- a/packages/api-v4/.changeset/pr-9257-added-1686756493120.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/api-v4": Added ---- - -Database API-V4 types to support Premium plans ([#9257](https://github.com/linode/manager/pull/9257)) diff --git a/packages/api-v4/.changeset/pr-9266-removed-1686852804191.md b/packages/api-v4/.changeset/pr-9266-removed-1686852804191.md deleted file mode 100644 index 5237e0829de..00000000000 --- a/packages/api-v4/.changeset/pr-9266-removed-1686852804191.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/api-v4": Removed ---- - -References to deprecated Google Tag Manager ([#9266](https://github.com/linode/manager/pull/9266)) diff --git a/packages/manager/.changeset/pr-9193-tech-stories-1685478443289.md b/packages/manager/.changeset/pr-9193-tech-stories-1685478443289.md deleted file mode 100644 index d58e1908038..00000000000 --- a/packages/manager/.changeset/pr-9193-tech-stories-1685478443289.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -React Query - Linodes - LinodeSelect and refactor ([#9193](https://github.com/linode/manager/pull/9193)) diff --git a/packages/manager/.changeset/pr-9213-tech-stories-1686062114543.md b/packages/manager/.changeset/pr-9213-tech-stories-1686062114543.md deleted file mode 100644 index 9ef5d1ead2c..00000000000 --- a/packages/manager/.changeset/pr-9213-tech-stories-1686062114543.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -MUI v5 - Components > ProductInformationBanner ([#9213](https://github.com/linode/manager/pull/9213)) diff --git a/packages/manager/.changeset/pr-9215-fixed-1686154022321.md b/packages/manager/.changeset/pr-9215-fixed-1686154022321.md deleted file mode 100644 index 7a45027a287..00000000000 --- a/packages/manager/.changeset/pr-9215-fixed-1686154022321.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Fixed ---- - -Timestamps for finished events show time of completion instead of start ([#9215](https://github.com/linode/manager/pull/9215)) diff --git a/packages/manager/.changeset/pr-9218-tech-stories-1686268120191.md b/packages/manager/.changeset/pr-9218-tech-stories-1686268120191.md deleted file mode 100644 index eeed1075ca9..00000000000 --- a/packages/manager/.changeset/pr-9218-tech-stories-1686268120191.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -React Query - Linode Volumes continued ([#9218](https://github.com/linode/manager/pull/9218)) diff --git a/packages/manager/.changeset/pr-9220-changed-1686133289498.md b/packages/manager/.changeset/pr-9220-changed-1686133289498.md deleted file mode 100644 index e6c7b94ee29..00000000000 --- a/packages/manager/.changeset/pr-9220-changed-1686133289498.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Changed ---- - -MUI v5 migration for LinodeCLIModal ([#9220](https://github.com/linode/manager/pull/9220)) diff --git a/packages/manager/.changeset/pr-9224-tech-stories-1686169209507.md b/packages/manager/.changeset/pr-9224-tech-stories-1686169209507.md deleted file mode 100644 index 954c0b4fcae..00000000000 --- a/packages/manager/.changeset/pr-9224-tech-stories-1686169209507.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -Refactored AddNewMenu to use a MUI Menu ([#9224](https://github.com/linode/manager/pull/9224)) diff --git a/packages/manager/.changeset/pr-9228-tech-stories-1686235871127.md b/packages/manager/.changeset/pr-9228-tech-stories-1686235871127.md deleted file mode 100644 index 514f2a7c543..00000000000 --- a/packages/manager/.changeset/pr-9228-tech-stories-1686235871127.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -Remove url-parse in factor of native Javascript ([#9228](https://github.com/linode/manager/pull/9228)) diff --git a/packages/manager/.changeset/pr-9230-tech-stories-1686242146063.md b/packages/manager/.changeset/pr-9230-tech-stories-1686242146063.md deleted file mode 100644 index 0d678d6f5ce..00000000000 --- a/packages/manager/.changeset/pr-9230-tech-stories-1686242146063.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -Help Landing: remove banner icon and refactor class components ([#9230](https://github.com/linode/manager/pull/9230)) diff --git a/packages/manager/.changeset/pr-9232-tech-stories-1686251566732.md b/packages/manager/.changeset/pr-9232-tech-stories-1686251566732.md deleted file mode 100644 index 698a2b46413..00000000000 --- a/packages/manager/.changeset/pr-9232-tech-stories-1686251566732.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -MUI v5 Migration - `Components > TableRowEmpty, TableRowError, TableRowLoading` ([#9232](https://github.com/linode/manager/pull/9232)) diff --git a/packages/manager/.changeset/pr-9237-tech-stories-1686326150154.md b/packages/manager/.changeset/pr-9237-tech-stories-1686326150154.md deleted file mode 100644 index 8ddced1dc88..00000000000 --- a/packages/manager/.changeset/pr-9237-tech-stories-1686326150154.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -MUI v5 Migration - Pagination ([#9237](https://github.com/linode/manager/pull/9237)) diff --git a/packages/manager/.changeset/pr-9238-tech-stories-1686332206028.md b/packages/manager/.changeset/pr-9238-tech-stories-1686332206028.md deleted file mode 100644 index 5a059e17077..00000000000 --- a/packages/manager/.changeset/pr-9238-tech-stories-1686332206028.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -Plan selection—reduce space ([#9238](https://github.com/linode/manager/pull/9238)) diff --git a/packages/manager/.changeset/pr-9239-tech-stories-1686334794129.md b/packages/manager/.changeset/pr-9239-tech-stories-1686334794129.md deleted file mode 100644 index faa1ca31718..00000000000 --- a/packages/manager/.changeset/pr-9239-tech-stories-1686334794129.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -MUI v5 - Components > PromotionalOfferCard ([#9239](https://github.com/linode/manager/pull/9239)) diff --git a/packages/manager/.changeset/pr-9239-tech-stories-1686846441284.md b/packages/manager/.changeset/pr-9239-tech-stories-1686846441284.md deleted file mode 100644 index faa1ca31718..00000000000 --- a/packages/manager/.changeset/pr-9239-tech-stories-1686846441284.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -MUI v5 - Components > PromotionalOfferCard ([#9239](https://github.com/linode/manager/pull/9239)) diff --git a/packages/manager/.changeset/pr-9240-changed-1686335599449.md b/packages/manager/.changeset/pr-9240-changed-1686335599449.md deleted file mode 100644 index 4e39a8d2d02..00000000000 --- a/packages/manager/.changeset/pr-9240-changed-1686335599449.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Changed ---- - -Improve Linode Power confirmation dialog layout and UX copy ([#9240](https://github.com/linode/manager/pull/9240)) diff --git a/packages/manager/.changeset/pr-9241-tech-stories-1686337150607.md b/packages/manager/.changeset/pr-9241-tech-stories-1686337150607.md deleted file mode 100644 index 18e34f7b62d..00000000000 --- a/packages/manager/.changeset/pr-9241-tech-stories-1686337150607.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -Update ExtendedAccordion, Prompt, and SafeTabPanel components ([#9241](https://github.com/linode/manager/pull/9241)) diff --git a/packages/manager/.changeset/pr-9242-tech-stories-1686601876541.md b/packages/manager/.changeset/pr-9242-tech-stories-1686601876541.md deleted file mode 100644 index 2d64eff5882..00000000000 --- a/packages/manager/.changeset/pr-9242-tech-stories-1686601876541.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -React Query - Linode Resize Dialog ([#9242](https://github.com/linode/manager/pull/9242)) diff --git a/packages/manager/.changeset/pr-9243-changed-1686346732563.md b/packages/manager/.changeset/pr-9243-changed-1686346732563.md deleted file mode 100644 index e4167af0a58..00000000000 --- a/packages/manager/.changeset/pr-9243-changed-1686346732563.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Changed ---- - -MUI v5 Migration – `Components > ScriptCode` ([#9243](https://github.com/linode/manager/pull/9243)) diff --git a/packages/manager/.changeset/pr-9244-tech-stories-1686579581871.md b/packages/manager/.changeset/pr-9244-tech-stories-1686579581871.md deleted file mode 100644 index 39399cfa925..00000000000 --- a/packages/manager/.changeset/pr-9244-tech-stories-1686579581871.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -MUI v5 Migration – Components > HighlightedMarkdown ([#9244](https://github.com/linode/manager/pull/9244)) diff --git a/packages/manager/.changeset/pr-9248-changed-1686686631424.md b/packages/manager/.changeset/pr-9248-changed-1686686631424.md deleted file mode 100644 index 903fa86223f..00000000000 --- a/packages/manager/.changeset/pr-9248-changed-1686686631424.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Changed ---- - -Renamed LinkStyledButton to StyledLinkButton ([#9248](https://github.com/linode/manager/pull/9248)) diff --git a/packages/manager/.changeset/pr-9253-added-1686859236273.md b/packages/manager/.changeset/pr-9253-added-1686859236273.md deleted file mode 100644 index 74669656acf..00000000000 --- a/packages/manager/.changeset/pr-9253-added-1686859236273.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Added ---- - -Dynamic Premium Plans support for Linode creation flows ([#9253](https://github.com/linode/manager/pull/9253)) diff --git a/packages/manager/.changeset/pr-9254-tech-stories-1686608779585.md b/packages/manager/.changeset/pr-9254-tech-stories-1686608779585.md deleted file mode 100644 index 05f4058bf78..00000000000 --- a/packages/manager/.changeset/pr-9254-tech-stories-1686608779585.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -MUI v5 Migration - `Components > FileUploader` ([#9254](https://github.com/linode/manager/pull/9254)) diff --git a/packages/manager/.changeset/pr-9255-tech-stories-1686759239474.md b/packages/manager/.changeset/pr-9255-tech-stories-1686759239474.md deleted file mode 100644 index b0e18aff6ed..00000000000 --- a/packages/manager/.changeset/pr-9255-tech-stories-1686759239474.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -React Query - Linode Disks ([#9255](https://github.com/linode/manager/pull/9255)) diff --git a/packages/manager/.changeset/pr-9256-tech-stories-1686693372703.md b/packages/manager/.changeset/pr-9256-tech-stories-1686693372703.md deleted file mode 100644 index fe824b59be1..00000000000 --- a/packages/manager/.changeset/pr-9256-tech-stories-1686693372703.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -Migrate to functional component ([#9256](https://github.com/linode/manager/pull/9256)) diff --git a/packages/manager/.changeset/pr-9260-fixed-1686769842584.md b/packages/manager/.changeset/pr-9260-fixed-1686769842584.md deleted file mode 100644 index 09b182fcc2c..00000000000 --- a/packages/manager/.changeset/pr-9260-fixed-1686769842584.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Fixed ---- - -Corrected typos in Marketplace app summaries & descriptions ([#9260](https://github.com/linode/manager/pull/9260)) diff --git a/packages/manager/.changeset/pr-9263-tech-stories-1686839868932.md b/packages/manager/.changeset/pr-9263-tech-stories-1686839868932.md deleted file mode 100644 index b74a2e2d10f..00000000000 --- a/packages/manager/.changeset/pr-9263-tech-stories-1686839868932.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -Refactor ([#9263](https://github.com/linode/manager/pull/9263)) diff --git a/packages/manager/.changeset/pr-9266-removed-1686852738775.md b/packages/manager/.changeset/pr-9266-removed-1686852738775.md deleted file mode 100644 index 09cacf03f78..00000000000 --- a/packages/manager/.changeset/pr-9266-removed-1686852738775.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Removed ---- - -Deprecate Google Analytics and clean up unused custom events ([#9266](https://github.com/linode/manager/pull/9266)) diff --git a/packages/manager/.changeset/pr-9267-tech-stories-1686857766076.md b/packages/manager/.changeset/pr-9267-tech-stories-1686857766076.md deleted file mode 100644 index dd0abaf5d37..00000000000 --- a/packages/manager/.changeset/pr-9267-tech-stories-1686857766076.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -MUI v5 Migration - `SRC > ImageSelect` ([#9267](https://github.com/linode/manager/pull/9267)) diff --git a/packages/manager/.changeset/pr-9270-tech-stories-1686927343871.md b/packages/manager/.changeset/pr-9270-tech-stories-1686927343871.md deleted file mode 100644 index 9a31e9989ae..00000000000 --- a/packages/manager/.changeset/pr-9270-tech-stories-1686927343871.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -MUI v5 Migration - `Components > LabelAndTagsPanel` ([#9270](https://github.com/linode/manager/pull/9270)) diff --git a/packages/manager/.changeset/pr-9271-tech-stories-1686927837582.md b/packages/manager/.changeset/pr-9271-tech-stories-1686927837582.md deleted file mode 100644 index 7484d46178e..00000000000 --- a/packages/manager/.changeset/pr-9271-tech-stories-1686927837582.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -Refactor billing activity filters to improve caching ([#9271](https://github.com/linode/manager/pull/9271)) diff --git a/packages/manager/.changeset/pr-9272-fixed-1686929413003.md b/packages/manager/.changeset/pr-9272-fixed-1686929413003.md deleted file mode 100644 index dc9f92d646a..00000000000 --- a/packages/manager/.changeset/pr-9272-fixed-1686929413003.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Fixed ---- - -Button alignment on Nodebalancer Create page ([#9272](https://github.com/linode/manager/pull/9272)) diff --git a/packages/manager/.changeset/pr-9273-fixed-1686932547524.md b/packages/manager/.changeset/pr-9273-fixed-1686932547524.md deleted file mode 100644 index 4fddb753df4..00000000000 --- a/packages/manager/.changeset/pr-9273-fixed-1686932547524.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Fixed ---- - -Linodes Landing Grid/Tag views and toggle button styling ([#9273](https://github.com/linode/manager/pull/9273)) diff --git a/packages/manager/.changeset/pr-9274-tech-stories-1686938963869.md b/packages/manager/.changeset/pr-9274-tech-stories-1686938963869.md deleted file mode 100644 index d782881a110..00000000000 --- a/packages/manager/.changeset/pr-9274-tech-stories-1686938963869.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -Fixed Github Actions build-manager step ([#9274](https://github.com/linode/manager/pull/9274)) diff --git a/packages/manager/.changeset/pr-9276-tech-stories-1686940552048.md b/packages/manager/.changeset/pr-9276-tech-stories-1686940552048.md deleted file mode 100644 index d4b441c0259..00000000000 --- a/packages/manager/.changeset/pr-9276-tech-stories-1686940552048.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -MUI v5 Migration - `Components > LineGraph` ([#9276](https://github.com/linode/manager/pull/9276)) diff --git a/packages/manager/.changeset/pr-9278-tech-stories-1686942932396.md b/packages/manager/.changeset/pr-9278-tech-stories-1686942932396.md deleted file mode 100644 index 7225c8125fb..00000000000 --- a/packages/manager/.changeset/pr-9278-tech-stories-1686942932396.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -MUI v5 Migration - Components > MaintenanceBanner ([#9278](https://github.com/linode/manager/pull/9278)) diff --git a/packages/manager/.changeset/pr-9280-fixed-1686949826559.md b/packages/manager/.changeset/pr-9280-fixed-1686949826559.md deleted file mode 100644 index 0d15dfdf5a2..00000000000 --- a/packages/manager/.changeset/pr-9280-fixed-1686949826559.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Fixed ---- - -Fixed crash caused by un-escaped RegEx ([#9280](https://github.com/linode/manager/pull/9280)) diff --git a/packages/manager/.changeset/pr-9281-fixed-1686955648087.md b/packages/manager/.changeset/pr-9281-fixed-1686955648087.md deleted file mode 100644 index fd0ad5346a4..00000000000 --- a/packages/manager/.changeset/pr-9281-fixed-1686955648087.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Fixed ---- - -Show accurate Notification Threshold values when toggling in Linode Settings ([#9281](https://github.com/linode/manager/pull/9281)) diff --git a/packages/manager/.changeset/pr-9283-tech-stories-1687277781133.md b/packages/manager/.changeset/pr-9283-tech-stories-1687277781133.md deleted file mode 100644 index 93e627dd74a..00000000000 --- a/packages/manager/.changeset/pr-9283-tech-stories-1687277781133.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Tech Stories ---- - -MUI v5 Migration - Components > MultipleIPInput ([#9283](https://github.com/linode/manager/pull/9283)) diff --git a/packages/manager/.changeset/pr-9284-added-1687297470464.md b/packages/manager/.changeset/pr-9284-added-1687297470464.md deleted file mode 100644 index 280763190d3..00000000000 --- a/packages/manager/.changeset/pr-9284-added-1687297470464.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Added ---- - -Dynamic GPU Plans support for Linode creation flows ([#9284](https://github.com/linode/manager/pull/9284)) diff --git a/packages/manager/.changeset/pr-9287-changed-1687360553653.md b/packages/manager/.changeset/pr-9287-changed-1687360553653.md deleted file mode 100644 index 518eaa61596..00000000000 --- a/packages/manager/.changeset/pr-9287-changed-1687360553653.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@linode/manager": Changed ---- - -Improve Premium plans Tab copy ([#9287](https://github.com/linode/manager/pull/9287)) From 51368798dea7d830afc23e18251f01de56385c85 Mon Sep 17 00:00:00 2001 From: Jaalah Ramos <125309814+jaalah-akamai@users.noreply.github.com> Date: Mon, 26 Jun 2023 23:37:31 -0400 Subject: [PATCH 36/88] refactor: [M3-6354] - MUI v5 Migration - `Components > LandingLoading` (#9282) Co-authored-by: Jaalah Ramos --- .../pr-9282-tech-stories-1687053909997.md | 5 ++ .../LandingLoading/LandingLoading.stories.tsx | 23 ++++++++ .../LandingLoading/LandingLoading.test.tsx | 56 +++++++++++++++++++ .../LandingLoading/LandingLoading.tsx | 44 +++++++-------- .../src/components/LandingLoading/index.ts | 2 - .../Linodes/LinodesCreate/SelectAppPanel.tsx | 4 +- .../LongviewDetail/DetailTabs/Disks/Disks.tsx | 2 +- .../src/features/Volumes/VolumesLanding.tsx | 4 +- 8 files changed, 108 insertions(+), 32 deletions(-) create mode 100644 packages/manager/.changeset/pr-9282-tech-stories-1687053909997.md create mode 100644 packages/manager/src/components/LandingLoading/LandingLoading.stories.tsx create mode 100644 packages/manager/src/components/LandingLoading/LandingLoading.test.tsx delete mode 100644 packages/manager/src/components/LandingLoading/index.ts diff --git a/packages/manager/.changeset/pr-9282-tech-stories-1687053909997.md b/packages/manager/.changeset/pr-9282-tech-stories-1687053909997.md new file mode 100644 index 00000000000..5232f37995f --- /dev/null +++ b/packages/manager/.changeset/pr-9282-tech-stories-1687053909997.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Tech Stories +--- + +MUI v5 Migration - `Components > LandingLoading` ([#9282](https://github.com/linode/manager/pull/9282)) diff --git a/packages/manager/src/components/LandingLoading/LandingLoading.stories.tsx b/packages/manager/src/components/LandingLoading/LandingLoading.stories.tsx new file mode 100644 index 00000000000..1c26429e261 --- /dev/null +++ b/packages/manager/src/components/LandingLoading/LandingLoading.stories.tsx @@ -0,0 +1,23 @@ +import React from 'react'; +import type { Meta, StoryObj } from '@storybook/react'; +import { LandingLoading, DEFAULT_DELAY } from './LandingLoading'; + +const meta: Meta = { + title: 'Components/LandingLoading', + component: LandingLoading, + argTypes: {}, + args: { + shouldDelay: false, + delayInMS: DEFAULT_DELAY, + children: undefined, + }, +}; + +export default meta; + +type Story = StoryObj; + +export const Default: Story = { + args: {}, + render: (args) => , +}; diff --git a/packages/manager/src/components/LandingLoading/LandingLoading.test.tsx b/packages/manager/src/components/LandingLoading/LandingLoading.test.tsx new file mode 100644 index 00000000000..4106fcc12ce --- /dev/null +++ b/packages/manager/src/components/LandingLoading/LandingLoading.test.tsx @@ -0,0 +1,56 @@ +import * as React from 'react'; +import { LandingLoading, DEFAULT_DELAY } from './LandingLoading'; +import { render, screen, act } from '@testing-library/react'; + +jest.useFakeTimers(); + +const LOADING_ICON = 'circle-progress'; + +describe('LandingLoading', () => { + afterEach(() => { + jest.clearAllTimers(); + }); + + it('renders the loading indicator by default', () => { + render(); + expect(screen.getByTestId(LOADING_ICON)).toBeInTheDocument(); + }); + + it('renders custom loading indicator when children are provided', () => { + render( + +
Loading...
+
+ ); + expect(screen.getByTestId('custom-loading-indicator')).toBeInTheDocument(); + expect(screen.queryByTestId(LOADING_ICON)).toBeNull(); + }); + + it('does not render the loading indicator when shouldDelay is true', () => { + render(); + expect(screen.queryByTestId(LOADING_ICON)).toBeNull(); + }); + + it('renders the loading indicator after the delay', () => { + render(); + expect(screen.queryByTestId(LOADING_ICON)).toBeNull(); + act(() => { + jest.advanceTimersByTime(DEFAULT_DELAY); + }); + expect(screen.getByTestId(LOADING_ICON)).toBeInTheDocument(); + }); + + it('renders the loading indicator after the specified delayInMS', () => { + render(); + expect(screen.queryByTestId(LOADING_ICON)).toBeNull(); + act(() => { + jest.advanceTimersByTime(2000); + }); + expect(screen.getByTestId(LOADING_ICON)).toBeInTheDocument(); + }); + + it('does not render the loading indicator when shouldDelay is false and no delayInMS is provided', () => { + render(); + expect(screen.getByTestId(LOADING_ICON)).toBeInTheDocument(); + }); +}); diff --git a/packages/manager/src/components/LandingLoading/LandingLoading.tsx b/packages/manager/src/components/LandingLoading/LandingLoading.tsx index 17a48125c50..e7d7ecd919b 100644 --- a/packages/manager/src/components/LandingLoading/LandingLoading.tsx +++ b/packages/manager/src/components/LandingLoading/LandingLoading.tsx @@ -1,27 +1,22 @@ import * as React from 'react'; import { CircleProgress } from 'src/components/CircleProgress'; -const DEFAULT_DELAY = 1000; +export const DEFAULT_DELAY = 1000; -interface Props { +interface LandingLoadingProps { + /** If true, the loading indicator will not be rendered for 1 second which may give user's with fast connections a more fluid experience. */ shouldDelay?: boolean; + /** If given, the loading indicator will not be rendered for the given duration in milliseconds */ delayInMS?: number; + /** Allow children to be passed in to override the default loading indicator */ + children?: JSX.Element; } -/** - * - * LandingLoading - * - * If the `shouldDelay` prop is given, the loading indicator will - * not be rendered for 1 second, which may give user's with fast - * connections a more fluid experience. Use the `delayInMS` prop - * to specify an exact delay duration. - */ -export const LandingLoading: React.FC = ({ +export const LandingLoading = ({ shouldDelay, delayInMS, children, -}) => { +}: LandingLoadingProps): JSX.Element | null => { const [showLoading, setShowLoading] = React.useState(false); React.useEffect(() => { @@ -29,13 +24,15 @@ export const LandingLoading: React.FC = ({ * See: https://github.com/facebook/react/issues/14369#issuecomment-468267798 */ let didCancel = false; + // Reference to the timeoutId so we can cancel it + let timeoutId: NodeJS.Timeout | null = null; if (shouldDelay || typeof delayInMS === 'number') { // Used specified duration or default const delayDuration = typeof delayInMS === 'number' ? delayInMS : DEFAULT_DELAY; - setTimeout(() => { + timeoutId = setTimeout(() => { if (!didCancel) { setShowLoading(true); } @@ -45,16 +42,13 @@ export const LandingLoading: React.FC = ({ } return () => { didCancel = true; + if (timeoutId) { + clearTimeout(timeoutId); + } }; - }, []); - return showLoading ? ( - !!children ? ( - /** allows us to pass a custom Loader if we please */ - {children} - ) : ( - - ) - ) : null; -}; + }, [shouldDelay, delayInMS]); -export default LandingLoading; + return showLoading + ? children || + : null; +}; diff --git a/packages/manager/src/components/LandingLoading/index.ts b/packages/manager/src/components/LandingLoading/index.ts deleted file mode 100644 index 7b44222ebd1..00000000000 --- a/packages/manager/src/components/LandingLoading/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -import LandingLoading from './LandingLoading'; -export default LandingLoading; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectAppPanel.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectAppPanel.tsx index 3f15fdfd4a5..3b9ff56c002 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectAppPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectAppPanel.tsx @@ -5,7 +5,7 @@ import Paper from 'src/components/core/Paper'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; -import Loading from 'src/components/LandingLoading'; +import { LandingLoading } from 'src/components/LandingLoading/LandingLoading'; import { Notice } from 'src/components/Notice/Notice'; import AppPanelSection from 'src/features/Linodes/LinodesCreate/AppPanelSection'; import { getQueryParamFromQueryString } from 'src/utilities/queryParams'; @@ -132,7 +132,7 @@ class SelectAppPanel extends React.PureComponent { return ( - + ); diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Disks.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Disks.tsx index d824839517f..859b04bd007 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Disks.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Disks.tsx @@ -6,7 +6,7 @@ import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; -import LandingLoading from 'src/components/LandingLoading'; +import { LandingLoading } from 'src/components/LandingLoading/LandingLoading'; import { Placeholder } from 'src/components/Placeholder/Placeholder'; import { WithStartAndEnd } from '../../../request.types'; import TimeRangeSelect from '../../../shared/TimeRangeSelect'; diff --git a/packages/manager/src/features/Volumes/VolumesLanding.tsx b/packages/manager/src/features/Volumes/VolumesLanding.tsx index 62872a09484..e1c5f9820c4 100644 --- a/packages/manager/src/features/Volumes/VolumesLanding.tsx +++ b/packages/manager/src/features/Volumes/VolumesLanding.tsx @@ -10,7 +10,7 @@ import { TableHead } from 'src/components/TableHead'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import LandingHeader from 'src/components/LandingHeader'; -import Loading from 'src/components/LandingLoading'; +import { LandingLoading } from 'src/components/LandingLoading/LandingLoading'; import { PaginationFooter } from 'src/components/PaginationFooter/PaginationFooter'; import { Table } from 'src/components/Table'; import { TableCell } from 'src/components/TableCell'; @@ -199,7 +199,7 @@ export const VolumesLanding = (props: CombinedProps) => { }; if (isLoading) { - return ; + return ; } if (error) { From b00ff129db15a35b7d11d9eadbb7e01b2f560223 Mon Sep 17 00:00:00 2001 From: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com> Date: Tue, 27 Jun 2023 12:13:13 -0400 Subject: [PATCH 37/88] refactor: [M3-6791] - MUI v5 Migration - `Components > Toolbar` (#9319) * move Toolbar to the correct place and clean up exports * Added changeset: MUI v5 Migration - Components > Toolbar --------- Co-authored-by: Banks Nussman --- .../.changeset/pr-9319-tech-stories-1687875908852.md | 5 +++++ packages/manager/src/components/Toolbar.ts | 2 ++ packages/manager/src/components/core/Toolbar.ts | 6 ------ packages/manager/src/features/TopMenu/TopMenu.tsx | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 packages/manager/.changeset/pr-9319-tech-stories-1687875908852.md create mode 100644 packages/manager/src/components/Toolbar.ts delete mode 100644 packages/manager/src/components/core/Toolbar.ts diff --git a/packages/manager/.changeset/pr-9319-tech-stories-1687875908852.md b/packages/manager/.changeset/pr-9319-tech-stories-1687875908852.md new file mode 100644 index 00000000000..9d1f9066091 --- /dev/null +++ b/packages/manager/.changeset/pr-9319-tech-stories-1687875908852.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Tech Stories +--- + +MUI v5 Migration - Components > Toolbar ([#9319](https://github.com/linode/manager/pull/9319)) diff --git a/packages/manager/src/components/Toolbar.ts b/packages/manager/src/components/Toolbar.ts new file mode 100644 index 00000000000..6cf4b7bdf87 --- /dev/null +++ b/packages/manager/src/components/Toolbar.ts @@ -0,0 +1,2 @@ +export { default as Toolbar } from '@mui/material/Toolbar'; +export type { ToolbarProps } from '@mui/material/Toolbar'; diff --git a/packages/manager/src/components/core/Toolbar.ts b/packages/manager/src/components/core/Toolbar.ts deleted file mode 100644 index e717be62e99..00000000000 --- a/packages/manager/src/components/core/Toolbar.ts +++ /dev/null @@ -1,6 +0,0 @@ -import Toolbar, { ToolbarProps as _ToolbarProps } from '@mui/material/Toolbar'; - -/* tslint:disable-next-line:no-empty-interface */ -export interface ToolbarProps extends _ToolbarProps {} - -export default Toolbar; diff --git a/packages/manager/src/features/TopMenu/TopMenu.tsx b/packages/manager/src/features/TopMenu/TopMenu.tsx index 6ea13aef6d2..0a4ba71733b 100644 --- a/packages/manager/src/features/TopMenu/TopMenu.tsx +++ b/packages/manager/src/features/TopMenu/TopMenu.tsx @@ -6,7 +6,7 @@ import { IconButton } from 'src/components/IconButton'; import { makeStyles } from '@mui/styles'; import { Theme, useTheme } from '@mui/material/styles'; import clsx from 'clsx'; -import Toolbar from 'src/components/core/Toolbar'; +import { Toolbar } from 'src/components/Toolbar'; import Typography from 'src/components/core/Typography'; import { AddNewMenu } from './AddNewMenu/AddNewMenu'; import Community from './Community'; From 8730f360aa2d1ad7d879b02311c446844574bccb Mon Sep 17 00:00:00 2001 From: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com> Date: Tue, 27 Jun 2023 16:36:47 -0400 Subject: [PATCH 38/88] refactor: [M3-6793] - MUI v5 Migration - `Components > AppBar` (#9321) * move AppBar to correct place and use named exports * Added changeset: MUI v5 Migration - Components > AppBar --------- Co-authored-by: Banks Nussman --- .../.changeset/pr-9321-tech-stories-1687879529410.md | 5 +++++ packages/manager/src/components/AppBar.ts | 2 ++ packages/manager/src/components/core/AppBar.ts | 6 ------ packages/manager/src/features/TopMenu/TopMenu.tsx | 2 +- 4 files changed, 8 insertions(+), 7 deletions(-) create mode 100644 packages/manager/.changeset/pr-9321-tech-stories-1687879529410.md create mode 100644 packages/manager/src/components/AppBar.ts delete mode 100644 packages/manager/src/components/core/AppBar.ts diff --git a/packages/manager/.changeset/pr-9321-tech-stories-1687879529410.md b/packages/manager/.changeset/pr-9321-tech-stories-1687879529410.md new file mode 100644 index 00000000000..c1fcb03740e --- /dev/null +++ b/packages/manager/.changeset/pr-9321-tech-stories-1687879529410.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Tech Stories +--- + +MUI v5 Migration - Components > AppBar ([#9321](https://github.com/linode/manager/pull/9321)) diff --git a/packages/manager/src/components/AppBar.ts b/packages/manager/src/components/AppBar.ts new file mode 100644 index 00000000000..63171a8c177 --- /dev/null +++ b/packages/manager/src/components/AppBar.ts @@ -0,0 +1,2 @@ +export { default as AppBar } from '@mui/material/AppBar'; +export { AppBarProps } from '@mui/material/AppBar'; diff --git a/packages/manager/src/components/core/AppBar.ts b/packages/manager/src/components/core/AppBar.ts deleted file mode 100644 index 3d694ed5af5..00000000000 --- a/packages/manager/src/components/core/AppBar.ts +++ /dev/null @@ -1,6 +0,0 @@ -import AppBar, { AppBarProps as _AppBarProps } from '@mui/material/AppBar'; - -/* tslint:disable-next-line:no-empty-interface */ -export interface AppBarProps extends _AppBarProps {} - -export default AppBar; diff --git a/packages/manager/src/features/TopMenu/TopMenu.tsx b/packages/manager/src/features/TopMenu/TopMenu.tsx index 0a4ba71733b..3d73a373757 100644 --- a/packages/manager/src/features/TopMenu/TopMenu.tsx +++ b/packages/manager/src/features/TopMenu/TopMenu.tsx @@ -1,6 +1,6 @@ import MenuIcon from '@mui/icons-material/Menu'; import * as React from 'react'; -import AppBar from 'src/components/core/AppBar'; +import { AppBar } from 'src/components/AppBar'; import Hidden from 'src/components/core/Hidden'; import { IconButton } from 'src/components/IconButton'; import { makeStyles } from '@mui/styles'; From e4f93a38151e98a292d4c2c9cbab933428953833 Mon Sep 17 00:00:00 2001 From: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com> Date: Wed, 28 Jun 2023 10:18:37 -0400 Subject: [PATCH 39/88] refactor: [M3-6195] - MUI v5 Migration - `Components > Button` (part 2) (#9325) * delete core files and clean up exports * Added changeset: MUI v5 Migration - Components > Button --------- Co-authored-by: Banks Nussman --- .../pr-9325-tech-stories-1687887654571.md | 5 ++++ .../AccessPanel/UserSSHKeyPanel.tsx | 2 +- .../Accordion/Accordion.stories.mdx | 2 +- .../src/components/AddNewLink/AddNewLink.tsx | 2 +- .../src/components/Button/Button.stories.tsx | 2 +- .../src/components/Button/Button.test.tsx | 2 +- .../manager/src/components/Button/Button.tsx | 29 +++++++++++-------- .../manager/src/components/Button/index.ts | 5 ---- .../src/components/CheckoutBar/styles.ts | 2 +- .../ConfirmationDialog.stories.tsx | 2 +- .../DeletionDialog/DeletionDialog.tsx | 2 +- .../DismissibleBanner.stories.mdx | 2 +- .../components/DownloadCSV/DownloadCSV.tsx | 2 +- .../src/components/Drawer/Drawer.stories.mdx | 2 +- .../manager/src/components/Drawer/Drawer.tsx | 2 +- .../EditableEntityLabel/EditableInput.tsx | 2 +- .../components/EditableText/EditableText.tsx | 2 +- .../EnhancedNumberInput.tsx | 2 +- .../EntityHeader/EntityHeader.stories.tsx | 2 +- .../FileUploader/FileUploader.styles.ts | 2 +- .../components/IconTextLink/IconTextLink.tsx | 2 +- .../InlineMenuAction/InlineMenuAction.tsx | 2 +- .../LandingHeader/LandingHeader.stories.tsx | 3 +- .../LandingHeader/LandingHeader.tsx | 2 +- .../components/LineGraph/LineGraph.styles.ts | 2 +- .../MultipleIPInput/MultipleIPInput.tsx | 2 +- .../DeletePaymentMethodDialog.tsx | 2 +- .../components/Placeholder/Placeholder.tsx | 2 +- .../PromotionalOfferCard.tsx | 2 +- .../ShowMoreExpansion/ShowMoreExpansion.tsx | 2 +- .../SingleTextFieldForm.tsx | 2 +- .../components/StackScript/StackScript.tsx | 2 +- packages/manager/src/components/Tile/Tile.tsx | 2 +- .../TypeToConfirmDialog.tsx | 2 +- .../manager/src/components/core/Button.ts | 6 ---- .../manager/src/components/core/ButtonBase.ts | 8 ----- .../features/Account/CloseAccountDialog.tsx | 2 +- .../features/Account/CloseAccountSetting.tsx | 2 +- .../src/features/Account/EnableManaged.tsx | 2 +- .../features/Account/EnableObjectStorage.tsx | 2 +- .../src/features/Backups/BackupDrawer.tsx | 2 +- .../src/features/Billing/BillingDetail.tsx | 2 +- .../BillingSummary/BillingSummary.tsx | 2 +- .../PaymentBits/CreditCardDialog.tsx | 2 +- .../PaymentDrawer/PaymentDrawer.tsx | 2 +- .../BillingSummary/PromoDialog.tsx | 2 +- .../UpdateContactInformationForm.tsx | 2 +- .../AddCreditCardForm.tsx | 2 +- .../Billing/InvoiceDetail/InvoiceDetail.tsx | 2 +- .../features/CancelLanding/CancelLanding.tsx | 2 +- .../DatabaseCreate/DatabaseCreate.tsx | 2 +- .../DatabaseDetail/AccessControls.tsx | 2 +- .../DatabaseDetail/AddAccessControlDrawer.tsx | 2 +- .../RestoreFromBackupDialog.tsx | 2 +- .../DatabaseSettingsDeleteClusterDialog.tsx | 2 +- .../DatabaseSettingsMenuItem.tsx | 2 +- .../DatabaseSettingsResetPasswordDialog.tsx | 2 +- .../DatabaseSettings/MaintenanceWindow.tsx | 2 +- .../DatabaseSummaryConnectionDetails.tsx | 2 +- .../features/Domains/CloneDomainDrawer.tsx | 2 +- .../Domains/CreateDomain/CreateDomain.tsx | 2 +- .../src/features/Domains/DeleteDomain.tsx | 2 +- .../features/Domains/DisableDomainDialog.tsx | 2 +- .../features/Domains/DomainRecordDrawer.tsx | 2 +- .../src/features/Domains/DomainRecords.tsx | 2 +- .../Domains/DomainZoneImportDrawer.tsx | 2 +- .../src/features/Domains/DomainsLanding.tsx | 2 +- .../Domains/DownloadDNSZoneFileButton.tsx | 2 +- .../src/features/Domains/EditDomainDrawer.tsx | 2 +- .../TransferCheckoutBar.tsx | 2 +- .../ConfirmTransferCancelDialog.tsx | 2 +- .../ConfirmTransferDialog.tsx | 2 +- .../CreateTransferSuccessDialog.tsx | 2 +- .../TransferControls.tsx | 2 +- .../Devices/AddDeviceDrawer.tsx | 2 +- .../Devices/FirewallLinodesLanding.tsx | 2 +- .../Devices/RemoveDeviceDialog.tsx | 2 +- .../FirewallDetail/Rules/FirewallRuleForm.tsx | 2 +- .../Rules/FirewallRuleTable.tsx | 2 +- .../Rules/FirewallRulesLanding.tsx | 2 +- .../FirewallLanding/CreateFirewallDrawer.tsx | 2 +- .../FirewallLanding/FirewallDialog.tsx | 2 +- .../GlobalNotifications/ComplianceBanner.tsx | 2 +- .../ComplianceUpdateModal.tsx | 2 +- .../GlobalNotifications/EmailBounce.tsx | 2 +- .../TaxCollectionBanner.tsx | 2 +- .../src/features/Images/ImageUpload.tsx | 2 +- .../Images/ImagesCreate/CreateImageTab.tsx | 2 +- .../src/features/Images/ImagesDrawer.tsx | 2 +- .../src/features/Images/ImagesLanding.tsx | 2 +- .../DeleteKubernetesClusterDialog.tsx | 2 +- .../KubeConfigPanel.tsx | 2 +- .../KubeSummaryPanel.tsx | 2 +- .../NodePoolsDisplay/AddNodePoolDrawer.tsx | 2 +- .../NodePoolsDisplay/AutoscalePoolDialog.tsx | 2 +- .../NodePoolsDisplay/DeleteNodePoolDialog.tsx | 2 +- .../NodePoolsDisplay/NodePool.tsx | 2 +- .../NodePoolsDisplay/NodePoolsDisplay.tsx | 2 +- .../NodePoolsDisplay/RecycleNodeDialog.tsx | 2 +- .../NodePoolsDisplay/ResizeNodePoolDrawer.tsx | 2 +- .../RecycleClusterDialog.tsx | 2 +- .../RecycleNodePoolDialog.tsx | 2 +- .../UpgradeClusterDialog.tsx | 2 +- .../UpgradeKubernetesVersionBanner.tsx | 2 +- .../Kubernetes/UpgradeVersionModal.tsx | 2 +- .../LinodeConfigSelectionDrawer.tsx | 2 +- .../features/Linodes/CloneLanding/Details.tsx | 2 +- .../features/Linodes/LinodeEntityDetail.tsx | 2 +- .../LinodesCreate/ApiAwarenessModal/index.tsx | 2 +- .../Linodes/LinodesCreate/LinodeCreate.tsx | 2 +- .../KubernetesPlanSelection.tsx | 2 +- .../LinodeBackup/CancelBackupsDialog.tsx | 2 +- .../LinodeBackup/CaptureSnapshot.tsx | 2 +- .../CaptureSnapshotConfirmationDialog.tsx | 2 +- .../LinodeBackup/EnableBackupsDialog.tsx | 2 +- .../LinodeBackup/LinodeBackups.tsx | 2 +- .../LinodeBackup/RestoreToLinodeDrawer.tsx | 2 +- .../LinodeBackup/ScheduleSettings.tsx | 2 +- .../LinodeConfigs/BootConfigDialog.tsx | 2 +- .../LinodeConfigs/DeleteConfigDialog.tsx | 2 +- .../LinodeConfigs/LinodeConfigDialog.tsx | 2 +- .../LinodeNetworking/AddIPDrawer.tsx | 2 +- .../LinodeNetworking/DeleteIPDialog.tsx | 2 +- .../LinodeNetworking/DeleteRangeDialog.tsx | 2 +- .../LinodeNetworking/EditIPRDNSDrawer.tsx | 2 +- .../LinodeNetworking/EditRangeRDNSDrawer.tsx | 2 +- .../LinodeNetworking/IPSharing.tsx | 2 +- .../LinodeNetworking/IPTransfer.tsx | 2 +- .../LinodeNetworking/LinodeNetworking.tsx | 2 +- .../LinodeNetworking/ViewIPDrawer.tsx | 2 +- .../LinodeNetworking/ViewRangeDrawer.tsx | 2 +- .../LinodeRebuild/RebuildFromImage.tsx | 2 +- .../LinodeRebuild/RebuildFromStackScript.tsx | 2 +- .../LinodeRescue/BareMetalRescue.tsx | 2 +- .../LinodeRescue/StandardRescueDialog.tsx | 2 +- .../LinodeResize/LinodeResize.tsx | 2 +- .../LinodeResize/ResizeConfirmationDialog.tsx | 2 +- .../LinodeSettingsAlertsPanel.tsx | 2 +- .../LinodeSettingsDeletePanel.tsx | 2 +- .../LinodeSettingsLabelPanel.tsx | 2 +- .../LinodeSettingsPasswordPanel.tsx | 2 +- .../LinodeStorage/CreateDiskDrawer.tsx | 2 +- .../CreateImageFromDiskDialog.tsx | 2 +- .../LinodeStorage/DeleteDiskDialog.tsx | 2 +- .../LinodeStorage/RenameDiskDrawer.tsx | 2 +- .../LinodeStorage/ResizeDiskDrawer.tsx | 2 +- .../MigrationNotification.tsx | 2 +- .../UpgradeVolumesDialog.tsx | 2 +- .../MutateDrawer/MutateDrawer.tsx | 2 +- .../Linodes/MigrateLinode/MigrateLinode.tsx | 2 +- .../Linodes/PowerActionsDialogOrDrawer.tsx | 2 +- .../LongviewLanding/LongviewClientHeader.tsx | 2 +- .../LongviewLanding/LongviewDeleteDialog.tsx | 2 +- .../LongviewLanding/LongviewPlans.tsx | 2 +- .../LongviewLanding/SubscriptionDialog.tsx | 2 +- .../Managed/Contacts/ContactsDrawer.tsx | 2 +- .../Credentials/AddCredentialDrawer.tsx | 2 +- .../Credentials/UpdateCredentialDrawer.tsx | 2 +- .../ManagedDashboardCard/MonitorTickets.tsx | 2 +- .../src/features/Managed/MonitorDrawer.tsx | 2 +- .../Managed/Monitors/HistoryDrawer.tsx | 2 +- .../Managed/SSHAccess/EditSSHAccessDrawer.tsx | 2 +- .../Managed/SSHAccess/LinodePubKey.tsx | 2 +- .../src/features/Managed/SupportWidget.tsx | 2 +- .../NodeBalancers/NodeBalancerConfigNode.tsx | 2 +- .../NodeBalancers/NodeBalancerConfigPanel.tsx | 2 +- .../NodeBalancers/NodeBalancerCreate.tsx | 2 +- .../NodeBalancerConfigurations.tsx | 2 +- .../NodeBalancerSettings.tsx | 2 +- .../AccessKeyLanding/AccessKeyDrawer.tsx | 2 +- .../RevokeAccessKeyDialog.tsx | 2 +- .../BucketDetail/AccessSelect.tsx | 2 +- .../BucketDetail/BucketDetail.styles.ts | 2 +- .../BucketDetail/BucketDetail.tsx | 2 +- .../ObjectStorage/BucketDetail/BucketSSL.tsx | 2 +- .../BucketDetail/CreateFolderDrawer.tsx | 2 +- .../BucketLanding/CreateBucketDrawer.tsx | 2 +- .../EnableObjectStorageModal.tsx | 2 +- .../ObjectUploader/FileUpload.tsx | 2 +- .../ObjectUploader/ObjectUploader.tsx | 2 +- .../features/OneClickApps/AppDetailDrawer.tsx | 2 +- .../APITokens/CreateAPITokenDrawer.tsx | 2 +- .../Profile/APITokens/EditAPITokenDrawer.tsx | 2 +- .../Profile/APITokens/RevokeTokenDialog.tsx | 2 +- .../PhoneVerification/PhoneVerification.tsx | 2 +- .../RevokeTrustedDevicesDialog.tsx | 2 +- .../AuthenticationSettings/SMSMessaging.tsx | 2 +- .../SecurityQuestions/SecurityQuestions.tsx | 2 +- .../AuthenticationSettings/TPADialog.tsx | 2 +- .../TPAProviders.styles.ts | 2 +- .../TwoFactor/ConfirmToken.tsx | 2 +- .../TwoFactor/DisableTwoFactorDialog.tsx | 2 +- .../TwoFactor/ScratchCodeDialog.tsx | 2 +- .../Profile/DisplaySettings/TimezoneForm.tsx | 2 +- .../Profile/LishSettings/LishSettings.tsx | 2 +- .../OAuthClients/CreateOAuthClientDrawer.tsx | 2 +- .../OAuthClients/DeleteOAuthClientDialog.tsx | 2 +- .../OAuthClients/EditOAuthClientDrawer.tsx | 2 +- .../OAuthClients/ResetOAuthClientDialog.tsx | 2 +- .../Profile/SSHKeys/CreateSSHKeyDrawer.tsx | 2 +- .../Profile/SSHKeys/DeleteSSHKeyDialog.tsx | 2 +- .../Profile/SSHKeys/EditSSHKeyDrawer.tsx | 2 +- .../SecretTokenDialog/SecretTokenDialog.tsx | 2 +- .../Profile/Settings/PreferenceEditor.tsx | 2 +- .../src/features/Search/ResultGroup.test.tsx | 2 +- .../src/features/Search/ResultGroup.tsx | 2 +- .../SelectStackScriptPanel.tsx | 2 +- .../StackScriptSelectionRow.tsx | 2 +- .../StackScriptBase/StackScriptBase.tsx | 2 +- .../StackScriptCreate/StackScriptCreate.tsx | 2 +- .../StackScriptForm/StackScriptForm.tsx | 2 +- .../StackScriptPanelContent.tsx | 2 +- .../src/features/Support/AttachFileForm.tsx | 2 +- .../SupportTicketDetail/CloseTicketLink.tsx | 2 +- .../TabbedReply/ReplyActions.tsx | 2 +- .../SupportTickets/SupportTicketDrawer.tsx | 2 +- .../ToastNotifications.stories.mdx | 2 +- .../TopMenu/AddNewMenu/AddNewMenu.tsx | 2 +- .../NotificationMenu/NotificationMenu.tsx | 2 +- .../src/features/Users/CreateUserDrawer.tsx | 2 +- .../Users/UserDeleteConfirmationDialog.tsx | 2 +- .../src/features/Users/UserPermissions.tsx | 2 +- .../src/features/Users/UserProfile.tsx | 2 +- .../features/Volumes/UpgradeVolumeDialog.tsx | 2 +- .../Volumes/VolumeAttachmentDrawer.tsx | 2 +- .../Volumes/VolumeCreate/CreateVolumeForm.tsx | 2 +- .../VolumeDrawer/ResizeVolumesInstruction.tsx | 2 +- .../VolumeDrawer/VolumesActionsPanel.tsx | 2 +- 228 files changed, 246 insertions(+), 254 deletions(-) create mode 100644 packages/manager/.changeset/pr-9325-tech-stories-1687887654571.md delete mode 100644 packages/manager/src/components/Button/index.ts delete mode 100644 packages/manager/src/components/core/Button.ts delete mode 100644 packages/manager/src/components/core/ButtonBase.ts diff --git a/packages/manager/.changeset/pr-9325-tech-stories-1687887654571.md b/packages/manager/.changeset/pr-9325-tech-stories-1687887654571.md new file mode 100644 index 00000000000..3e6fef15986 --- /dev/null +++ b/packages/manager/.changeset/pr-9325-tech-stories-1687887654571.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Tech Stories +--- + +MUI v5 Migration - Components > Button ([#9325](https://github.com/linode/manager/pull/9325)) diff --git a/packages/manager/src/components/AccessPanel/UserSSHKeyPanel.tsx b/packages/manager/src/components/AccessPanel/UserSSHKeyPanel.tsx index 6bafbfbeadd..868802f2cbc 100644 --- a/packages/manager/src/components/AccessPanel/UserSSHKeyPanel.tsx +++ b/packages/manager/src/components/AccessPanel/UserSSHKeyPanel.tsx @@ -1,6 +1,6 @@ import { Theme } from '@mui/material/styles'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; diff --git a/packages/manager/src/components/Accordion/Accordion.stories.mdx b/packages/manager/src/components/Accordion/Accordion.stories.mdx index 5aa566d1393..281aceef302 100644 --- a/packages/manager/src/components/Accordion/Accordion.stories.mdx +++ b/packages/manager/src/components/Accordion/Accordion.stories.mdx @@ -1,4 +1,4 @@ -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import ActionsPanel from '../ActionsPanel'; import Accordion from './Accordion'; import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs'; diff --git a/packages/manager/src/components/AddNewLink/AddNewLink.tsx b/packages/manager/src/components/AddNewLink/AddNewLink.tsx index 79b72dc698c..5f1b08e63f2 100644 --- a/packages/manager/src/components/AddNewLink/AddNewLink.tsx +++ b/packages/manager/src/components/AddNewLink/AddNewLink.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Tooltip, { TooltipProps } from 'src/components/core/Tooltip'; -import Button from '../Button'; +import { Button } from '../Button/Button'; export interface Props extends Omit { display?: string; diff --git a/packages/manager/src/components/Button/Button.stories.tsx b/packages/manager/src/components/Button/Button.stories.tsx index e9bd00c16dc..96a6dd9a4ce 100644 --- a/packages/manager/src/components/Button/Button.stories.tsx +++ b/packages/manager/src/components/Button/Button.stories.tsx @@ -1,7 +1,7 @@ import React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { action } from '@storybook/addon-actions'; -import Button from './Button'; +import { Button } from './Button'; import { StyledLinkButton } from 'src/components/Button/StyledLinkButton'; /** diff --git a/packages/manager/src/components/Button/Button.test.tsx b/packages/manager/src/components/Button/Button.test.tsx index 5477a346213..be2d4fc2527 100644 --- a/packages/manager/src/components/Button/Button.test.tsx +++ b/packages/manager/src/components/Button/Button.test.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import Button from './Button'; +import { Button } from './Button'; import { render } from '@testing-library/react'; describe('Button', () => { diff --git a/packages/manager/src/components/Button/Button.tsx b/packages/manager/src/components/Button/Button.tsx index 920986ad1ec..335444d46d9 100644 --- a/packages/manager/src/components/Button/Button.tsx +++ b/packages/manager/src/components/Button/Button.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Reload from 'src/assets/icons/reload.svg'; -import _Button, { ButtonProps } from '@mui/material/Button'; +import _Button, { ButtonProps as _ButtonProps } from '@mui/material/Button'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { useTheme, styled, Theme } from '@mui/material/styles'; import { SxProps } from '@mui/system'; @@ -9,18 +9,27 @@ import { rotate360 } from '../../styles/keyframes'; export type ButtonType = 'primary' | 'secondary' | 'outlined'; -export interface Props extends ButtonProps { +export interface ButtonProps extends _ButtonProps { /** The button variant to render */ buttonType?: ButtonType; /** Additional css class to pass to the component */ className?: string; /** The `sx` prop can be either object or function */ sx?: SxProps; - /** Reduce the padding on the x-axis */ + /** + * Reduce the padding on the x-axis + * @default false + */ compactX?: boolean; - /** Reduce the padding on the y-axis */ + /** + * Reduce the padding on the y-axis + * @default false + */ compactY?: boolean; - /** Show a loading indicator */ + /** + * Show a loading indicator + * @default false + */ loading?: boolean; /** Tooltip text */ tooltipText?: string; @@ -31,7 +40,7 @@ export interface Props extends ButtonProps { const StyledButton = styled(_Button, { shouldForwardProp: (prop) => isPropValid(['compactX', 'compactY', 'loading', 'buttonType'], prop), -})(({ theme, ...props }) => ({ +})(({ theme, ...props }) => ({ ...(props.buttonType === 'secondary' && props.compactX && { minWidth: 50, @@ -67,7 +76,7 @@ const Span = styled('span')({ }, }); -const Button = React.forwardRef( +export const Button = React.forwardRef( ( { // default to secondary as some components never define a buttonType (usually buttons with icons) @@ -84,7 +93,7 @@ const Button = React.forwardRef( tooltipText, tooltipAnalyticsEvent, ...rest - }: Props, + }, ref ) => { const theme = useTheme(); @@ -129,7 +138,3 @@ const Button = React.forwardRef( ); } ); - -Button.displayName = 'Button'; - -export default Button; diff --git a/packages/manager/src/components/Button/index.ts b/packages/manager/src/components/Button/index.ts deleted file mode 100644 index c181bd7bb4c..00000000000 --- a/packages/manager/src/components/Button/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import Button, { Props as _ButtonProps } from './Button'; - -/* tslint:disable */ -export interface ButtonProps extends _ButtonProps {} -export default Button; diff --git a/packages/manager/src/components/CheckoutBar/styles.ts b/packages/manager/src/components/CheckoutBar/styles.ts index 6fa04c3b183..4f512508dea 100644 --- a/packages/manager/src/components/CheckoutBar/styles.ts +++ b/packages/manager/src/components/CheckoutBar/styles.ts @@ -1,6 +1,6 @@ import { useTheme } from '@mui/material/styles'; import { styled } from '@mui/system'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; const StyledButton = styled(Button)(({ theme }) => ({ marginTop: 18, diff --git a/packages/manager/src/components/ConfirmationDialog/ConfirmationDialog.stories.tsx b/packages/manager/src/components/ConfirmationDialog/ConfirmationDialog.stories.tsx index 7dc2c304db1..f00e1df35b9 100644 --- a/packages/manager/src/components/ConfirmationDialog/ConfirmationDialog.stories.tsx +++ b/packages/manager/src/components/ConfirmationDialog/ConfirmationDialog.stories.tsx @@ -1,6 +1,6 @@ import React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { action } from '@storybook/addon-actions'; import type { Meta, StoryObj } from '@storybook/react'; diff --git a/packages/manager/src/components/DeletionDialog/DeletionDialog.tsx b/packages/manager/src/components/DeletionDialog/DeletionDialog.tsx index aa16f7f7dd4..5ac5fd08744 100644 --- a/packages/manager/src/components/DeletionDialog/DeletionDialog.tsx +++ b/packages/manager/src/components/DeletionDialog/DeletionDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { useTheme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/components/DismissibleBanner/DismissibleBanner.stories.mdx b/packages/manager/src/components/DismissibleBanner/DismissibleBanner.stories.mdx index 22bcf944f95..1efbfc88799 100644 --- a/packages/manager/src/components/DismissibleBanner/DismissibleBanner.stories.mdx +++ b/packages/manager/src/components/DismissibleBanner/DismissibleBanner.stories.mdx @@ -1,5 +1,5 @@ import { ArgsTable, Canvas, Meta, Story } from '@storybook/addon-docs'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import DismissibleBanner from './DismissibleBanner'; import Grid from '@mui/material/Unstable_Grid2'; import Link from 'src/components/Link'; diff --git a/packages/manager/src/components/DownloadCSV/DownloadCSV.tsx b/packages/manager/src/components/DownloadCSV/DownloadCSV.tsx index dcb094523ff..76cf6ef0b26 100644 --- a/packages/manager/src/components/DownloadCSV/DownloadCSV.tsx +++ b/packages/manager/src/components/DownloadCSV/DownloadCSV.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CSVLink } from 'react-csv'; import { SxProps } from '@mui/system'; import type { ButtonType } from 'src/components/Button/Button'; diff --git a/packages/manager/src/components/Drawer/Drawer.stories.mdx b/packages/manager/src/components/Drawer/Drawer.stories.mdx index 9d406150e60..13a828ebda8 100644 --- a/packages/manager/src/components/Drawer/Drawer.stories.mdx +++ b/packages/manager/src/components/Drawer/Drawer.stories.mdx @@ -1,5 +1,5 @@ import React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import ActionsPanel from '../ActionsPanel'; import { TextField } from '../TextField'; diff --git a/packages/manager/src/components/Drawer/Drawer.tsx b/packages/manager/src/components/Drawer/Drawer.tsx index 7f0727078cb..ce2f32c3454 100644 --- a/packages/manager/src/components/Drawer/Drawer.tsx +++ b/packages/manager/src/components/Drawer/Drawer.tsx @@ -1,6 +1,6 @@ import Close from '@mui/icons-material/Close'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import _Drawer, { DrawerProps } from 'src/components/core/Drawer'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/components/EditableEntityLabel/EditableInput.tsx b/packages/manager/src/components/EditableEntityLabel/EditableInput.tsx index 39bce5210a9..fc0fca214b6 100644 --- a/packages/manager/src/components/EditableEntityLabel/EditableInput.tsx +++ b/packages/manager/src/components/EditableEntityLabel/EditableInput.tsx @@ -3,7 +3,7 @@ import Close from '@mui/icons-material/Close'; import Edit from '@mui/icons-material/Edit'; import classNames from 'classnames'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import ClickAwayListener from 'src/components/core/ClickAwayListener'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/components/EditableText/EditableText.tsx b/packages/manager/src/components/EditableText/EditableText.tsx index 3a3ccb686cf..18b90712e13 100644 --- a/packages/manager/src/components/EditableText/EditableText.tsx +++ b/packages/manager/src/components/EditableText/EditableText.tsx @@ -4,7 +4,7 @@ import Edit from '@mui/icons-material/Edit'; import { Theme } from '@mui/material/styles'; import * as React from 'react'; import { Link } from 'react-router-dom'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { H1Header } from 'src/components/H1Header/H1Header'; import ClickAwayListener from 'src/components/core/ClickAwayListener'; import { fadeIn } from 'src/styles/keyframes'; diff --git a/packages/manager/src/components/EnhancedNumberInput/EnhancedNumberInput.tsx b/packages/manager/src/components/EnhancedNumberInput/EnhancedNumberInput.tsx index 4e70e271be4..5b4565a7c3e 100644 --- a/packages/manager/src/components/EnhancedNumberInput/EnhancedNumberInput.tsx +++ b/packages/manager/src/components/EnhancedNumberInput/EnhancedNumberInput.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import Minus from 'src/assets/icons/LKEminusSign.svg'; import Plus from 'src/assets/icons/LKEplusSign.svg'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { styled } from '@mui/material/styles'; import { TextField } from 'src/components/TextField'; import Box from '@mui/material/Box'; diff --git a/packages/manager/src/components/EntityHeader/EntityHeader.stories.tsx b/packages/manager/src/components/EntityHeader/EntityHeader.stories.tsx index 9c47457f4af..690258541d2 100644 --- a/packages/manager/src/components/EntityHeader/EntityHeader.stories.tsx +++ b/packages/manager/src/components/EntityHeader/EntityHeader.stories.tsx @@ -2,7 +2,7 @@ import React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { action } from '@storybook/addon-actions'; import { EntityHeader } from 'src/components/EntityHeader/EntityHeader'; -import Button from '../Button'; +import { Button } from '../Button/Button'; import Link from '../Link'; import Box from 'src/components/core/Box'; import Hidden from 'src/components/core/Hidden'; diff --git a/packages/manager/src/components/FileUploader/FileUploader.styles.ts b/packages/manager/src/components/FileUploader/FileUploader.styles.ts index 285228ab111..a996aff7afe 100644 --- a/packages/manager/src/components/FileUploader/FileUploader.styles.ts +++ b/packages/manager/src/components/FileUploader/FileUploader.styles.ts @@ -1,4 +1,4 @@ -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { styled } from '@mui/material/styles'; import { isPropValid } from 'src/utilities/isPropValid'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/components/IconTextLink/IconTextLink.tsx b/packages/manager/src/components/IconTextLink/IconTextLink.tsx index fad5f34c193..8c43d508a87 100644 --- a/packages/manager/src/components/IconTextLink/IconTextLink.tsx +++ b/packages/manager/src/components/IconTextLink/IconTextLink.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { Link } from 'react-router-dom'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import SvgIcon from 'src/components/core/SvgIcon'; diff --git a/packages/manager/src/components/InlineMenuAction/InlineMenuAction.tsx b/packages/manager/src/components/InlineMenuAction/InlineMenuAction.tsx index a99d57e4292..9b74a222286 100644 --- a/packages/manager/src/components/InlineMenuAction/InlineMenuAction.tsx +++ b/packages/manager/src/components/InlineMenuAction/InlineMenuAction.tsx @@ -1,7 +1,7 @@ /* eslint-disable react/jsx-no-useless-fragment */ import * as React from 'react'; import { Link } from 'react-router-dom'; -import Button from 'src/components/Button/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/components/LandingHeader/LandingHeader.stories.tsx b/packages/manager/src/components/LandingHeader/LandingHeader.stories.tsx index b46b6615b11..ac5da03b370 100644 --- a/packages/manager/src/components/LandingHeader/LandingHeader.stories.tsx +++ b/packages/manager/src/components/LandingHeader/LandingHeader.stories.tsx @@ -2,7 +2,8 @@ import React from 'react'; import type { Meta, StoryObj } from '@storybook/react'; import { action } from '@storybook/addon-actions'; import LandingHeader from './LandingHeader'; -import Button from '../Button'; +import { Button } from '../Button/Button'; + const meta: Meta = { title: 'Components/LandingHeader', component: LandingHeader, diff --git a/packages/manager/src/components/LandingHeader/LandingHeader.tsx b/packages/manager/src/components/LandingHeader/LandingHeader.tsx index 4e05b29f8c4..1eacd61b2bc 100644 --- a/packages/manager/src/components/LandingHeader/LandingHeader.tsx +++ b/packages/manager/src/components/LandingHeader/LandingHeader.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { Breadcrumb, BreadcrumbProps, diff --git a/packages/manager/src/components/LineGraph/LineGraph.styles.ts b/packages/manager/src/components/LineGraph/LineGraph.styles.ts index 2c50493765f..5fe5aa787f6 100644 --- a/packages/manager/src/components/LineGraph/LineGraph.styles.ts +++ b/packages/manager/src/components/LineGraph/LineGraph.styles.ts @@ -1,4 +1,4 @@ -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { Table } from 'src/components/Table'; import { TableHead } from 'src/components/TableHead'; import { TableBody } from 'src/components/TableBody'; diff --git a/packages/manager/src/components/MultipleIPInput/MultipleIPInput.tsx b/packages/manager/src/components/MultipleIPInput/MultipleIPInput.tsx index 85f9865b854..4038a2edc27 100644 --- a/packages/manager/src/components/MultipleIPInput/MultipleIPInput.tsx +++ b/packages/manager/src/components/MultipleIPInput/MultipleIPInput.tsx @@ -2,7 +2,7 @@ import { InputBaseProps } from '@mui/material/InputBase'; import Close from '@mui/icons-material/Close'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import InputLabel from 'src/components/core/InputLabel'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/components/PaymentMethodRow/DeletePaymentMethodDialog.tsx b/packages/manager/src/components/PaymentMethodRow/DeletePaymentMethodDialog.tsx index 792bc6f6e3d..df7456b2f43 100644 --- a/packages/manager/src/components/PaymentMethodRow/DeletePaymentMethodDialog.tsx +++ b/packages/manager/src/components/PaymentMethodRow/DeletePaymentMethodDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from '../ActionsPanel'; -import Button from '../Button'; +import { Button } from '../Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { PaymentMethod } from '@linode/api-v4/lib/account/types'; import CreditCard from 'src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/CreditCard'; diff --git a/packages/manager/src/components/Placeholder/Placeholder.tsx b/packages/manager/src/components/Placeholder/Placeholder.tsx index 1d6cf0b7781..fddaacc8401 100644 --- a/packages/manager/src/components/Placeholder/Placeholder.tsx +++ b/packages/manager/src/components/Placeholder/Placeholder.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import LinodeIcon from 'src/assets/addnewmenu/linode.svg'; -import Button, { ButtonProps } from 'src/components/Button'; +import { Button, ButtonProps } from 'src/components/Button/Button'; import { styled, useTheme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; import { H1Header } from 'src/components/H1Header/H1Header'; diff --git a/packages/manager/src/components/PromotionalOfferCard/PromotionalOfferCard.tsx b/packages/manager/src/components/PromotionalOfferCard/PromotionalOfferCard.tsx index 4954ee040f4..7b2c86ae9d7 100644 --- a/packages/manager/src/components/PromotionalOfferCard/PromotionalOfferCard.tsx +++ b/packages/manager/src/components/PromotionalOfferCard/PromotionalOfferCard.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { Link } from 'react-router-dom'; import HeavenlyBucketIcon from 'src/assets/icons/promotionalOffers/heavenly-bucket.svg'; -import Button from 'src/components/core/Button'; +import Button from '@mui/material/Button'; import Paper from 'src/components/core/Paper'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/components/ShowMoreExpansion/ShowMoreExpansion.tsx b/packages/manager/src/components/ShowMoreExpansion/ShowMoreExpansion.tsx index eea3bddd241..c6bb2734bf2 100644 --- a/packages/manager/src/components/ShowMoreExpansion/ShowMoreExpansion.tsx +++ b/packages/manager/src/components/ShowMoreExpansion/ShowMoreExpansion.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import KeyboardArrowRight from '@mui/icons-material/KeyboardArrowRight'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Collapse from 'src/components/core/Collapse'; const useStyles = makeStyles()( diff --git a/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx b/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx index 4991112aa19..38d6fd104c0 100644 --- a/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx +++ b/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx @@ -1,7 +1,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Box from 'src/components/core/Box'; import { Notice } from 'src/components/Notice/Notice'; import { TextField, TextFieldProps } from 'src/components/TextField'; diff --git a/packages/manager/src/components/StackScript/StackScript.tsx b/packages/manager/src/components/StackScript/StackScript.tsx index bf83eabe834..b9cc9968c0e 100644 --- a/packages/manager/src/components/StackScript/StackScript.tsx +++ b/packages/manager/src/components/StackScript/StackScript.tsx @@ -3,7 +3,7 @@ import Box from '@mui/material/Box'; import { Theme, useTheme } from '@mui/material/styles'; import * as React from 'react'; import { Link, useHistory } from 'react-router-dom'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; import { Chip } from 'src/components/core/Chip'; import Divider from 'src/components/core/Divider'; diff --git a/packages/manager/src/components/Tile/Tile.tsx b/packages/manager/src/components/Tile/Tile.tsx index ab9a504b5e2..afd36e845a9 100644 --- a/packages/manager/src/components/Tile/Tile.tsx +++ b/packages/manager/src/components/Tile/Tile.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Button from 'src/components/core/Button'; +import Button from '@mui/material/Button'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx index 2ae1dced167..06a1f3225c2 100644 --- a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx +++ b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx @@ -1,7 +1,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog, ConfirmationDialogProps, diff --git a/packages/manager/src/components/core/Button.ts b/packages/manager/src/components/core/Button.ts deleted file mode 100644 index 624d8120ce3..00000000000 --- a/packages/manager/src/components/core/Button.ts +++ /dev/null @@ -1,6 +0,0 @@ -import Button, { ButtonProps as _ButtonProps } from '@mui/material/Button'; - -/* tslint:disable-next-line:no-empty-interface */ -export interface ButtonProps extends _ButtonProps {} - -export default Button; diff --git a/packages/manager/src/components/core/ButtonBase.ts b/packages/manager/src/components/core/ButtonBase.ts deleted file mode 100644 index c5c6a43a1fb..00000000000 --- a/packages/manager/src/components/core/ButtonBase.ts +++ /dev/null @@ -1,8 +0,0 @@ -import ButtonBase, { - ButtonBaseProps as _ButtonBaseProps, -} from '@mui/material/ButtonBase'; - -/* tslint:disable-next-line:no-empty-interface */ -export interface ButtonBaseProps extends _ButtonBaseProps {} - -export default ButtonBase; diff --git a/packages/manager/src/features/Account/CloseAccountDialog.tsx b/packages/manager/src/features/Account/CloseAccountDialog.tsx index 8fb152fc207..f0dcd07cb31 100644 --- a/packages/manager/src/features/Account/CloseAccountDialog.tsx +++ b/packages/manager/src/features/Account/CloseAccountDialog.tsx @@ -3,7 +3,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import { useHistory } from 'react-router-dom'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Account/CloseAccountSetting.tsx b/packages/manager/src/features/Account/CloseAccountSetting.tsx index 655cf7aee20..fe454f3a318 100644 --- a/packages/manager/src/features/Account/CloseAccountSetting.tsx +++ b/packages/manager/src/features/Account/CloseAccountSetting.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Accordion from 'src/components/Accordion'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Grid from '@mui/material/Unstable_Grid2'; import CloseAccountDialog from './CloseAccountDialog'; diff --git a/packages/manager/src/features/Account/EnableManaged.tsx b/packages/manager/src/features/Account/EnableManaged.tsx index 84e2a859676..b3f0d97ddcc 100644 --- a/packages/manager/src/features/Account/EnableManaged.tsx +++ b/packages/manager/src/features/Account/EnableManaged.tsx @@ -3,7 +3,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import Accordion from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import ExternalLink from 'src/components/ExternalLink'; diff --git a/packages/manager/src/features/Account/EnableObjectStorage.tsx b/packages/manager/src/features/Account/EnableObjectStorage.tsx index e57c3539cb5..d21c213aa04 100644 --- a/packages/manager/src/features/Account/EnableObjectStorage.tsx +++ b/packages/manager/src/features/Account/EnableObjectStorage.tsx @@ -5,7 +5,7 @@ import * as React from 'react'; import { Link } from 'react-router-dom'; import Accordion from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { Notice } from 'src/components/Notice/Notice'; import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; diff --git a/packages/manager/src/features/Backups/BackupDrawer.tsx b/packages/manager/src/features/Backups/BackupDrawer.tsx index 7edbb9a368d..c29cbbd6e67 100644 --- a/packages/manager/src/features/Backups/BackupDrawer.tsx +++ b/packages/manager/src/features/Backups/BackupDrawer.tsx @@ -6,7 +6,7 @@ import { QueryClient } from 'react-query'; import { connect, MapDispatchToProps, MapStateToProps } from 'react-redux'; import { compose } from 'recompose'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { DisplayPrice } from 'src/components/DisplayPrice'; import Drawer from 'src/components/Drawer'; diff --git a/packages/manager/src/features/Billing/BillingDetail.tsx b/packages/manager/src/features/Billing/BillingDetail.tsx index 5c3df5fa9dd..bd615a08a29 100644 --- a/packages/manager/src/features/Billing/BillingDetail.tsx +++ b/packages/manager/src/features/Billing/BillingDetail.tsx @@ -14,7 +14,7 @@ import { PayPalScriptProvider } from '@paypal/react-paypal-js'; import { PAYPAL_CLIENT_ID } from 'src/constants'; import { styled } from '@mui/material/styles'; import Paper from '@mui/material/Paper'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; export const BillingDetail = () => { const { diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/BillingSummary.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/BillingSummary.tsx index 6d7a0769992..e20be454450 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/BillingSummary.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/BillingSummary.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Box from 'src/components/core/Box'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { Currency } from 'src/components/Currency'; import Divider from 'src/components/core/Divider'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentBits/CreditCardDialog.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentBits/CreditCardDialog.tsx index 4f035ce280b..7dfe14662d9 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentBits/CreditCardDialog.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentBits/CreditCardDialog.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { compose } from 'recompose'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentDrawer.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentDrawer.tsx index 4bdc1fc57a6..1e04aaf7df9 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentDrawer.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentDrawer.tsx @@ -3,7 +3,7 @@ import { makePayment } from '@linode/api-v4/lib/account'; import { APIWarning } from '@linode/api-v4/lib/types'; import { useSnackbar } from 'notistack'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Divider from 'src/components/core/Divider'; import InputAdornment from 'src/components/core/InputAdornment'; import { makeStyles } from 'tss-react/mui'; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDialog.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDialog.tsx index 56ebbf2a84a..d64e360228d 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDialog.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { makeStyles } from 'tss-react/mui'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Billing/BillingPanels/ContactInfoPanel/UpdateContactInformationForm/UpdateContactInformationForm.tsx b/packages/manager/src/features/Billing/BillingPanels/ContactInfoPanel/UpdateContactInformationForm/UpdateContactInformationForm.tsx index 543c4be0de6..90087ea5244 100644 --- a/packages/manager/src/features/Billing/BillingPanels/ContactInfoPanel/UpdateContactInformationForm/UpdateContactInformationForm.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/ContactInfoPanel/UpdateContactInformationForm/UpdateContactInformationForm.tsx @@ -2,7 +2,7 @@ import countryData, { Region } from 'country-region-data'; import { pathOr } from 'ramda'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from 'tss-react/mui'; import EnhancedSelect, { Item } from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/AddPaymentMethodDrawer/AddCreditCardForm.tsx b/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/AddPaymentMethodDrawer/AddCreditCardForm.tsx index 77a56bccdff..4bb0db5c3e6 100644 --- a/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/AddPaymentMethodDrawer/AddCreditCardForm.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/AddPaymentMethodDrawer/AddCreditCardForm.tsx @@ -5,7 +5,7 @@ import { Theme } from '@mui/material/styles'; import Grid from '@mui/material/Unstable_Grid2'; import { TextField } from 'src/components/TextField'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { addPaymentMethod } from '@linode/api-v4/lib'; import { useSnackbar } from 'notistack'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Billing/InvoiceDetail/InvoiceDetail.tsx b/packages/manager/src/features/Billing/InvoiceDetail/InvoiceDetail.tsx index b722b556c81..c5b2bb42ed1 100644 --- a/packages/manager/src/features/Billing/InvoiceDetail/InvoiceDetail.tsx +++ b/packages/manager/src/features/Billing/InvoiceDetail/InvoiceDetail.tsx @@ -10,7 +10,7 @@ import KeyboardArrowLeft from '@mui/icons-material/KeyboardArrowLeft'; import * as React from 'react'; import { DownloadCSV } from 'src/components/DownloadCSV/DownloadCSV'; import { useParams } from 'react-router-dom'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Paper from 'src/components/core/Paper'; import { useTheme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/CancelLanding/CancelLanding.tsx b/packages/manager/src/features/CancelLanding/CancelLanding.tsx index ff315e2e061..caaecda85c9 100644 --- a/packages/manager/src/features/CancelLanding/CancelLanding.tsx +++ b/packages/manager/src/features/CancelLanding/CancelLanding.tsx @@ -5,7 +5,7 @@ import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import AkamaiLogo from 'src/assets/logo/akamai-logo.svg'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { H1Header } from 'src/components/H1Header/H1Header'; diff --git a/packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx b/packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx index 64e00a6ba5b..a0e92f1eebe 100644 --- a/packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx +++ b/packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx @@ -18,7 +18,7 @@ import MongoDBIcon from 'src/assets/icons/mongodb.svg'; import MySQLIcon from 'src/assets/icons/mysql.svg'; import PostgreSQLIcon from 'src/assets/icons/postgresql.svg'; import { BetaChip } from 'src/components/BetaChip/BetaChip'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import Divider from 'src/components/core/Divider'; import FormControl from 'src/components/core/FormControl'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/AccessControls.tsx b/packages/manager/src/features/Databases/DatabaseDetail/AccessControls.tsx index ead87ca6bda..d7e446d9fa2 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/AccessControls.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/AccessControls.tsx @@ -4,7 +4,7 @@ import { Theme } from '@mui/material/styles'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import AddNewLink from 'src/components/AddNewLink'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { TableBody } from 'src/components/TableBody'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/AddAccessControlDrawer.tsx b/packages/manager/src/features/Databases/DatabaseDetail/AddAccessControlDrawer.tsx index 9563aac1963..8508635c6d5 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/AddAccessControlDrawer.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/AddAccessControlDrawer.tsx @@ -3,7 +3,7 @@ import { Theme } from '@mui/material/styles'; import { useFormik } from 'formik'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import Drawer from 'src/components/Drawer'; import { MultipleIPInput } from 'src/components/MultipleIPInput/MultipleIPInput'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx index 90e7372e0c5..71b92a76d5a 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx @@ -3,7 +3,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import { useHistory } from 'react-router-dom'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { DialogProps } from 'src/components/Dialog/Dialog'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx index eb2f746dd0e..28c4b4f9968 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx @@ -3,7 +3,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import { useHistory } from 'react-router-dom'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsMenuItem.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsMenuItem.tsx index 80e1d43bf91..9d83187ecc4 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsMenuItem.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsMenuItem.tsx @@ -1,6 +1,6 @@ import { Theme } from '@mui/material/styles'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { makeStyles } from 'tss-react/mui'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsResetPasswordDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsResetPasswordDialog.tsx index 25f932627b2..670901d1af3 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsResetPasswordDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsResetPasswordDialog.tsx @@ -1,7 +1,7 @@ import { Engine } from '@linode/api-v4/lib/databases'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/MaintenanceWindow.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/MaintenanceWindow.tsx index ef38964aea1..152eb338fed 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/MaintenanceWindow.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/MaintenanceWindow.tsx @@ -6,7 +6,7 @@ import { DateTime } from 'luxon'; import { useSnackbar } from 'notistack'; import * as React from 'react'; import { Link } from 'react-router-dom'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import FormControl from 'src/components/core/FormControl'; import FormControlLabel from 'src/components/core/FormControlLabel'; import RadioGroup from 'src/components/core/RadioGroup'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx index 533058e1a96..fdd26f21578 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx @@ -4,7 +4,7 @@ import { Theme } from '@mui/material/styles'; import { useSnackbar } from 'notistack'; import * as React from 'react'; import DownloadIcon from 'src/assets/icons/lke-download.svg'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; import Box from 'src/components/core/Box'; diff --git a/packages/manager/src/features/Domains/CloneDomainDrawer.tsx b/packages/manager/src/features/Domains/CloneDomainDrawer.tsx index f2c4b5da342..5b82d4fc0bd 100644 --- a/packages/manager/src/features/Domains/CloneDomainDrawer.tsx +++ b/packages/manager/src/features/Domains/CloneDomainDrawer.tsx @@ -5,7 +5,7 @@ import FormControlLabel from 'src/components/core/FormControlLabel'; import { TextField } from 'src/components/TextField'; import { Radio } from 'src/components/Radio/Radio'; import ActionsPanel from 'src/components/ActionsPanel/ActionsPanel'; -import Button from 'src/components/Button/Button'; +import { Button } from 'src/components/Button/Button'; import { useCloneDomainMutation } from 'src/queries/domains'; import { useFormik } from 'formik'; import { Domain } from '@linode/api-v4'; diff --git a/packages/manager/src/features/Domains/CreateDomain/CreateDomain.tsx b/packages/manager/src/features/Domains/CreateDomain/CreateDomain.tsx index 150bb55e195..19c66f9330f 100644 --- a/packages/manager/src/features/Domains/CreateDomain/CreateDomain.tsx +++ b/packages/manager/src/features/Domains/CreateDomain/CreateDomain.tsx @@ -15,7 +15,7 @@ import { path } from 'ramda'; import * as React from 'react'; import { useHistory } from 'react-router-dom'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import LandingHeader from 'src/components/LandingHeader'; diff --git a/packages/manager/src/features/Domains/DeleteDomain.tsx b/packages/manager/src/features/Domains/DeleteDomain.tsx index 30b71fe4c3c..87d5b130a5a 100644 --- a/packages/manager/src/features/Domains/DeleteDomain.tsx +++ b/packages/manager/src/features/Domains/DeleteDomain.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { DeletionDialog } from 'src/components/DeletionDialog/DeletionDialog'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Domains/DisableDomainDialog.tsx b/packages/manager/src/features/Domains/DisableDomainDialog.tsx index 067bfab6d92..f3417118238 100644 --- a/packages/manager/src/features/Domains/DisableDomainDialog.tsx +++ b/packages/manager/src/features/Domains/DisableDomainDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { Domain } from '@linode/api-v4/lib/domains'; import { useUpdateDomainMutation } from 'src/queries/domains'; diff --git a/packages/manager/src/features/Domains/DomainRecordDrawer.tsx b/packages/manager/src/features/Domains/DomainRecordDrawer.tsx index 272288fef89..36603c24927 100644 --- a/packages/manager/src/features/Domains/DomainRecordDrawer.tsx +++ b/packages/manager/src/features/Domains/DomainRecordDrawer.tsx @@ -21,7 +21,7 @@ import { } from 'ramda'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button, { ButtonProps } from 'src/components/Button'; +import { Button, ButtonProps } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import { MultipleIPInput } from 'src/components/MultipleIPInput/MultipleIPInput'; diff --git a/packages/manager/src/features/Domains/DomainRecords.tsx b/packages/manager/src/features/Domains/DomainRecords.tsx index c68418e0d09..a10b9406598 100644 --- a/packages/manager/src/features/Domains/DomainRecords.tsx +++ b/packages/manager/src/features/Domains/DomainRecords.tsx @@ -23,7 +23,7 @@ import * as React from 'react'; import { compose as recompose } from 'recompose'; import { Subscription } from 'rxjs/Subscription'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Domains/DomainZoneImportDrawer.tsx b/packages/manager/src/features/Domains/DomainZoneImportDrawer.tsx index 1d005e712a9..beb0579df18 100644 --- a/packages/manager/src/features/Domains/DomainZoneImportDrawer.tsx +++ b/packages/manager/src/features/Domains/DomainZoneImportDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/Domains/DomainsLanding.tsx b/packages/manager/src/features/Domains/DomainsLanding.tsx index 748baef3e6c..df6b78816c3 100644 --- a/packages/manager/src/features/Domains/DomainsLanding.tsx +++ b/packages/manager/src/features/Domains/DomainsLanding.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { Domain } from '@linode/api-v4/lib/domains'; import { useSnackbar } from 'notistack'; import { useHistory, useLocation } from 'react-router-dom'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Domains/DownloadDNSZoneFileButton.tsx b/packages/manager/src/features/Domains/DownloadDNSZoneFileButton.tsx index 725bbc5ec98..57f4f7e55ba 100644 --- a/packages/manager/src/features/Domains/DownloadDNSZoneFileButton.tsx +++ b/packages/manager/src/features/Domains/DownloadDNSZoneFileButton.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { downloadFile } from 'src/utilities/downloadFile'; import { getDNSZoneFile } from '@linode/api-v4/lib/domains'; diff --git a/packages/manager/src/features/Domains/EditDomainDrawer.tsx b/packages/manager/src/features/Domains/EditDomainDrawer.tsx index 07c661ae099..d6216a16d1c 100644 --- a/packages/manager/src/features/Domains/EditDomainDrawer.tsx +++ b/packages/manager/src/features/Domains/EditDomainDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import FormControlLabel from 'src/components/core/FormControlLabel'; import RadioGroup from 'src/components/core/RadioGroup'; import Drawer from 'src/components/Drawer'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferCheckoutBar.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferCheckoutBar.tsx index aa35e8e85f2..022ffd47e8d 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferCheckoutBar.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferCheckoutBar.tsx @@ -1,7 +1,7 @@ import { CreateTransferPayload } from '@linode/api-v4/lib/entity-transfers'; import Close from '@mui/icons-material/Close'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferCancelDialog.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferCancelDialog.tsx index ca84bc5681f..c323e325ef6 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferCancelDialog.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferCancelDialog.tsx @@ -6,7 +6,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import { useSnackbar } from 'notistack'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { makeStyles } from '@mui/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferDialog.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferDialog.tsx index 885e96998c7..b4ddc796ba5 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferDialog.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferDialog.tsx @@ -6,7 +6,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import { useSnackbar } from 'notistack'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; import { CircleProgress } from 'src/components/CircleProgress'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/CreateTransferSuccessDialog.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/CreateTransferSuccessDialog.tsx index a53199b83e4..6f18cf6712e 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/CreateTransferSuccessDialog.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/CreateTransferSuccessDialog.tsx @@ -3,7 +3,7 @@ import copy from 'copy-to-clipboard'; import { DateTime } from 'luxon'; import { update } from 'ramda'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CopyableTextField } from 'src/components/CopyableTextField/CopyableTextField'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx index e67e3fbc1ef..8bd6ade7665 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { useHistory } from 'react-router-dom'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Hidden from 'src/components/core/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Devices/AddDeviceDrawer.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Devices/AddDeviceDrawer.tsx index 766b8ba266f..1ecec4269f6 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Devices/AddDeviceDrawer.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Devices/AddDeviceDrawer.tsx @@ -2,7 +2,7 @@ import { useTheme } from '@mui/material/styles'; import * as React from 'react'; import { useParams } from 'react-router-dom'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import Link from 'src/components/Link'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Devices/FirewallLinodesLanding.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Devices/FirewallLinodesLanding.tsx index 75dbb0ab82d..3f4f6203f95 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Devices/FirewallLinodesLanding.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Devices/FirewallLinodesLanding.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Devices/RemoveDeviceDialog.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Devices/RemoveDeviceDialog.tsx index fb49b79aed4..49a6f3d5283 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Devices/RemoveDeviceDialog.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Devices/RemoveDeviceDialog.tsx @@ -1,7 +1,7 @@ import { FirewallDevice } from '@linode/api-v4'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { useRemoveFirewallDeviceMutation } from 'src/queries/firewalls'; diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleForm.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleForm.tsx index 6cb78cd6ac5..cdaa58fe514 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleForm.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleForm.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import FormControlLabel from 'src/components/core/FormControlLabel'; import { MultipleIPInput } from 'src/components/MultipleIPInput/MultipleIPInput'; import { Radio } from 'src/components/Radio/Radio'; diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx index 65b4a669d26..b3798ba298e 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx @@ -10,7 +10,7 @@ import { } from 'react-beautiful-dnd'; import DragIndicator from 'src/assets/icons/drag-indicator.svg'; import Undo from 'src/assets/icons/undo.svg'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Box from '@mui/material/Box'; import Hidden from 'src/components/core/Hidden'; import { makeStyles, useTheme } from '@mui/styles'; diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRulesLanding.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRulesLanding.tsx index c8b46a6d7ff..5127f356f59 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRulesLanding.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRulesLanding.tsx @@ -8,7 +8,7 @@ import { Theme } from '@mui/material/styles'; import { makeStyles } from '@mui/styles'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { Notice } from 'src/components/Notice/Notice'; import { Prompt } from 'src/components/Prompt/Prompt'; diff --git a/packages/manager/src/features/Firewalls/FirewallLanding/CreateFirewallDrawer.tsx b/packages/manager/src/features/Firewalls/FirewallLanding/CreateFirewallDrawer.tsx index 9cf20f46a0c..f9e80e73d54 100644 --- a/packages/manager/src/features/Firewalls/FirewallLanding/CreateFirewallDrawer.tsx +++ b/packages/manager/src/features/Firewalls/FirewallLanding/CreateFirewallDrawer.tsx @@ -3,7 +3,7 @@ import { CreateFirewallSchema } from '@linode/validation/lib/firewalls.schema'; import { useFormik } from 'formik'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/Firewalls/FirewallLanding/FirewallDialog.tsx b/packages/manager/src/features/Firewalls/FirewallLanding/FirewallDialog.tsx index 99416e1a531..9bdb7772b07 100644 --- a/packages/manager/src/features/Firewalls/FirewallLanding/FirewallDialog.tsx +++ b/packages/manager/src/features/Firewalls/FirewallLanding/FirewallDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { useDeleteFirewall, useMutateFirewall } from 'src/queries/firewalls'; import { capitalize } from 'src/utilities/capitalize'; diff --git a/packages/manager/src/features/GlobalNotifications/ComplianceBanner.tsx b/packages/manager/src/features/GlobalNotifications/ComplianceBanner.tsx index 0a50a12d09a..fdae576fe7c 100644 --- a/packages/manager/src/features/GlobalNotifications/ComplianceBanner.tsx +++ b/packages/manager/src/features/GlobalNotifications/ComplianceBanner.tsx @@ -1,6 +1,6 @@ import { styled } from '@mui/system'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import DismissibleBanner from 'src/components/DismissibleBanner'; import Box from 'src/components/core/Box'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/GlobalNotifications/ComplianceUpdateModal.tsx b/packages/manager/src/features/GlobalNotifications/ComplianceUpdateModal.tsx index 7172496194f..6a60374e436 100644 --- a/packages/manager/src/features/GlobalNotifications/ComplianceUpdateModal.tsx +++ b/packages/manager/src/features/GlobalNotifications/ComplianceUpdateModal.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { SupportLink } from 'src/components/SupportLink'; diff --git a/packages/manager/src/features/GlobalNotifications/EmailBounce.tsx b/packages/manager/src/features/GlobalNotifications/EmailBounce.tsx index 4084055e3dc..c7e93fe2372 100644 --- a/packages/manager/src/features/GlobalNotifications/EmailBounce.tsx +++ b/packages/manager/src/features/GlobalNotifications/EmailBounce.tsx @@ -1,7 +1,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import { useHistory } from 'react-router-dom'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles, useTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; diff --git a/packages/manager/src/features/GlobalNotifications/TaxCollectionBanner.tsx b/packages/manager/src/features/GlobalNotifications/TaxCollectionBanner.tsx index d7443f4c560..b378020f402 100644 --- a/packages/manager/src/features/GlobalNotifications/TaxCollectionBanner.tsx +++ b/packages/manager/src/features/GlobalNotifications/TaxCollectionBanner.tsx @@ -3,7 +3,7 @@ import { makeStyles } from '@mui/styles'; import { DateTime } from 'luxon'; import * as React from 'react'; import { useHistory } from 'react-router-dom'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import DismissibleBanner from 'src/components/DismissibleBanner'; import Link from 'src/components/Link'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Images/ImageUpload.tsx b/packages/manager/src/features/Images/ImageUpload.tsx index a6422f8db91..e5af05afd78 100644 --- a/packages/manager/src/features/Images/ImageUpload.tsx +++ b/packages/manager/src/features/Images/ImageUpload.tsx @@ -5,7 +5,7 @@ import * as React from 'react'; import { useDispatch, useSelector } from 'react-redux'; import { useHistory } from 'react-router-dom'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { RegionSelect } from 'src/components/EnhancedSelect/variants/RegionSelect'; diff --git a/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx b/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx index f851e7248e6..350b2758f34 100644 --- a/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx +++ b/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx @@ -6,7 +6,7 @@ import { useSnackbar } from 'notistack'; import { equals } from 'ramda'; import * as React from 'react'; import { useHistory } from 'react-router-dom'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; import Box from 'src/components/core/Box'; import Paper from 'src/components/core/Paper'; diff --git a/packages/manager/src/features/Images/ImagesDrawer.tsx b/packages/manager/src/features/Images/ImagesDrawer.tsx index 66ee69d82ad..97848f63f5c 100644 --- a/packages/manager/src/features/Images/ImagesDrawer.tsx +++ b/packages/manager/src/features/Images/ImagesDrawer.tsx @@ -6,7 +6,7 @@ import * as React from 'react'; import { useHistory } from 'react-router-dom'; import { compose } from 'recompose'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Images/ImagesLanding.tsx b/packages/manager/src/features/Images/ImagesLanding.tsx index 15144b98d0f..05e458a4924 100644 --- a/packages/manager/src/features/Images/ImagesLanding.tsx +++ b/packages/manager/src/features/Images/ImagesLanding.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import Hidden from 'src/components/core/Hidden'; import imageEvents from 'src/store/selectors/imageEvents'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx index e96c49d09ba..1b9c70e6643 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigPanel.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigPanel.tsx index fbf8b99659f..b995390f10d 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigPanel.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigPanel.tsx @@ -3,7 +3,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import Download from 'src/assets/icons/download.svg'; import View from 'src/assets/icons/view.svg'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeSummaryPanel.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeSummaryPanel.tsx index cd30a2d8066..6c532299c8a 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeSummaryPanel.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeSummaryPanel.tsx @@ -3,7 +3,7 @@ import OpenInNewIcon from '@mui/icons-material/OpenInNew'; import { useSnackbar } from 'notistack'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { Chip } from 'src/components/core/Chip'; import Paper from 'src/components/core/Paper'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AddNodePoolDrawer.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AddNodePoolDrawer.tsx index e70112a0753..fa48cc492ae 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AddNodePoolDrawer.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AddNodePoolDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Box from 'src/components/core/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AutoscalePoolDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AutoscalePoolDialog.tsx index 781138bb98f..caa6583090c 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AutoscalePoolDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AutoscalePoolDialog.tsx @@ -7,7 +7,7 @@ import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Grid from '@mui/material/Unstable_Grid2'; import Link from 'src/components/Link'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/DeleteNodePoolDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/DeleteNodePoolDialog.tsx index c1bfce3c07d..e98a4c4d13a 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/DeleteNodePoolDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/DeleteNodePoolDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { pluralize } from 'src/utilities/pluralize'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePool.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePool.tsx index 57393fad749..93b747c7482 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePool.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePool.tsx @@ -5,7 +5,7 @@ import { import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import NodeTable from './NodeTable'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePoolsDisplay.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePoolsDisplay.tsx index ff3fdca88d6..51f2df0383c 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePoolsDisplay.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePoolsDisplay.tsx @@ -13,7 +13,7 @@ import { RecycleNodeDialog } from './RecycleNodeDialog'; import NodePool from './NodePool'; import { DeleteNodePoolDialog } from './DeleteNodePoolDialog'; import { AutoscalePoolDialog } from './AutoscalePoolDialog'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { useAllKubernetesNodePoolQuery } from 'src/queries/kubernetes'; import { CircleProgress } from 'src/components/CircleProgress'; import { RecycleClusterDialog } from '../RecycleClusterDialog'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/RecycleNodeDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/RecycleNodeDialog.tsx index 8f93e9543a3..c84bf907648 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/RecycleNodeDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/RecycleNodeDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { localStorageWarning } from 'src/features/Kubernetes/kubeUtils'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/ResizeNodePoolDrawer.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/ResizeNodePoolDrawer.tsx index c5dbdd7dc46..07439da0d71 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/ResizeNodePoolDrawer.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/ResizeNodePoolDrawer.tsx @@ -1,7 +1,7 @@ import { KubeNodePoolResponse } from '@linode/api-v4'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleClusterDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleClusterDialog.tsx index 5a53a6e887b..e774c6590e1 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleClusterDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleClusterDialog.tsx @@ -1,7 +1,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleNodePoolDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleNodePoolDialog.tsx index 77c0698a4ee..ad5881bebe2 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleNodePoolDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleNodePoolDialog.tsx @@ -1,7 +1,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeClusterDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeClusterDialog.tsx index b21e01b8fe9..9e0b1a1b0b5 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeClusterDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeClusterDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeKubernetesVersionBanner.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeKubernetesVersionBanner.tsx index b40e1467d06..b4114167123 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeKubernetesVersionBanner.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeKubernetesVersionBanner.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import DismissibleBanner from 'src/components/DismissibleBanner'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Kubernetes/UpgradeVersionModal.tsx b/packages/manager/src/features/Kubernetes/UpgradeVersionModal.tsx index 7c243afead1..2db131e453a 100644 --- a/packages/manager/src/features/Kubernetes/UpgradeVersionModal.tsx +++ b/packages/manager/src/features/Kubernetes/UpgradeVersionModal.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { recycleClusterNodes } from '@linode/api-v4/lib/kubernetes'; diff --git a/packages/manager/src/features/LinodeConfigSelectionDrawer/LinodeConfigSelectionDrawer.tsx b/packages/manager/src/features/LinodeConfigSelectionDrawer/LinodeConfigSelectionDrawer.tsx index aa003f66e28..f2c62bea692 100644 --- a/packages/manager/src/features/LinodeConfigSelectionDrawer/LinodeConfigSelectionDrawer.tsx +++ b/packages/manager/src/features/LinodeConfigSelectionDrawer/LinodeConfigSelectionDrawer.tsx @@ -2,7 +2,7 @@ import { Config } from '@linode/api-v4/lib/linodes'; import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Linodes/CloneLanding/Details.tsx b/packages/manager/src/features/Linodes/CloneLanding/Details.tsx index 80be16f8cc3..5e454222483 100644 --- a/packages/manager/src/features/Linodes/CloneLanding/Details.tsx +++ b/packages/manager/src/features/Linodes/CloneLanding/Details.tsx @@ -1,7 +1,7 @@ import { Disk, Linode } from '@linode/api-v4/lib/linodes'; import Close from '@mui/icons-material/Close'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Divider from 'src/components/core/Divider'; import List from 'src/components/core/List'; import ListItem from 'src/components/core/ListItem'; diff --git a/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx b/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx index c50a986c25c..9e3cb544db9 100644 --- a/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx +++ b/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx @@ -9,7 +9,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import { Link } from 'react-router-dom'; import { HashLink } from 'react-router-hash-link'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; import EntityDetail from 'src/components/EntityDetail'; import { EntityHeader } from 'src/components/EntityHeader/EntityHeader'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/ApiAwarenessModal/index.tsx b/packages/manager/src/features/Linodes/LinodesCreate/ApiAwarenessModal/index.tsx index 41c3edeb963..dad8dd65f1b 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/ApiAwarenessModal/index.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/ApiAwarenessModal/index.tsx @@ -2,7 +2,7 @@ import React, { useMemo, useEffect } from 'react'; import { useHistory } from 'react-router-dom'; import { CreateLinodeRequest } from '@linode/api-v4/lib/linodes'; import { StyledActionPanel } from 'src/components/ActionsPanel/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { Dialog } from 'src/components/Dialog/Dialog'; import ExternalLink from 'src/components/ExternalLink'; import { SafeTabPanel } from 'src/components/SafeTabPanel/SafeTabPanel'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/LinodeCreate.tsx b/packages/manager/src/features/Linodes/LinodesCreate/LinodeCreate.tsx index e7e2a54adc4..38037fa4628 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/LinodeCreate.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/LinodeCreate.tsx @@ -9,7 +9,7 @@ import { connect, MapDispatchToProps } from 'react-redux'; import { RouteComponentProps } from 'react-router-dom'; import { compose as recompose } from 'recompose'; import AccessPanel from 'src/components/AccessPanel/AccessPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CheckoutSummary } from 'src/components/CheckoutSummary/CheckoutSummary'; import { CircleProgress } from 'src/components/CircleProgress'; import Box from 'src/components/core/Box'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanSelection.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanSelection.tsx index b35656ed426..2713c90cce3 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanSelection.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanSelection.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import Grid from '@mui/material/Unstable_Grid2'; import { styled } from '@mui/material/styles'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { EnhancedNumberInput } from 'src/components/EnhancedNumberInput/EnhancedNumberInput'; import Hidden from 'src/components/core/Hidden'; import SelectionCard from 'src/components/SelectionCard'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CancelBackupsDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CancelBackupsDialog.tsx index 040ab42ef80..4ae09abfce9 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CancelBackupsDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CancelBackupsDialog.tsx @@ -6,7 +6,7 @@ import { sendBackupsDisabledEvent } from 'src/utilities/analytics'; import Typography from 'src/components/core/Typography'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import ActionsPanel from 'src/components/ActionsPanel/ActionsPanel'; -import Button from 'src/components/Button/Button'; +import { Button } from 'src/components/Button/Button'; interface Props { isOpen: boolean; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshot.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshot.tsx index 95fb7c6ed67..03365858dc6 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshot.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshot.tsx @@ -10,7 +10,7 @@ import { useSnackbar } from 'notistack'; import { useFormik } from 'formik'; import { TextField } from 'src/components/TextField'; import { CaptureSnapshotConfirmationDialog } from './CaptureSnapshotConfirmationDialog'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { resetEventsPolling } from 'src/eventsPolling'; import { getErrorMap } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshotConfirmationDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshotConfirmationDialog.tsx index c270968a7f5..eef951922eb 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshotConfirmationDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshotConfirmationDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/EnableBackupsDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/EnableBackupsDialog.tsx index 6bb0dc3f661..827fda6176a 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/EnableBackupsDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/EnableBackupsDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { Currency } from 'src/components/Currency'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/LinodeBackups.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/LinodeBackups.tsx index a3b95c1c260..33bb7416467 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/LinodeBackups.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/LinodeBackups.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { Table } from 'src/components/Table'; import { TableRowEmpty } from 'src/components/TableRowEmpty/TableRowEmpty'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Paper from 'src/components/core/Paper'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/RestoreToLinodeDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/RestoreToLinodeDrawer.tsx index 7b530d525d1..201fb427a09 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/RestoreToLinodeDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/RestoreToLinodeDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; import FormControl from 'src/components/core/FormControl'; import FormControlLabel from 'src/components/core/FormControlLabel'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/ScheduleSettings.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/ScheduleSettings.tsx index 34e0ac05831..3da2c23368a 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/ScheduleSettings.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/ScheduleSettings.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel/ActionsPanel'; -import Button from 'src/components/Button/Button'; +import { Button } from 'src/components/Button/Button'; import Select from 'src/components/EnhancedSelect/Select'; import { Notice } from 'src/components/Notice/Notice'; import FormControl from 'src/components/core/FormControl'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/BootConfigDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/BootConfigDialog.tsx index 763208cc574..96d9594dd84 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/BootConfigDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/BootConfigDialog.tsx @@ -1,7 +1,7 @@ import React from 'react'; import Typography from 'src/components/core/Typography'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { Config } from '@linode/api-v4'; import { useSnackbar } from 'notistack'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/DeleteConfigDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/DeleteConfigDialog.tsx index 8ec791ce4d3..0a804e18597 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/DeleteConfigDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/DeleteConfigDialog.tsx @@ -1,7 +1,7 @@ import React from 'react'; import Typography from 'src/components/core/Typography'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { Config } from '@linode/api-v4'; import { useSnackbar } from 'notistack'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx index e71693dddad..5e15f3fd6e7 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx @@ -8,7 +8,7 @@ import { useFormik } from 'formik'; import { equals, pathOr, repeat } from 'ramda'; import * as React from 'react'; import { StyledActionPanel } from 'src/components/ActionsPanel/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import Box from 'src/components/core/Box'; import Divider from 'src/components/core/Divider'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/AddIPDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/AddIPDrawer.tsx index 9b37a12f392..741a5e2396c 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/AddIPDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/AddIPDrawer.tsx @@ -2,7 +2,7 @@ import { IPv6Prefix } from '@linode/api-v4/lib/networking'; import * as React from 'react'; import { Link } from 'react-router-dom'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import FormControlLabel from 'src/components/core/FormControlLabel'; import { Radio } from 'src/components/Radio/Radio'; import RadioGroup from 'src/components/core/RadioGroup'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteIPDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteIPDialog.tsx index d3e5960a6e0..425ba5d8eed 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteIPDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteIPDialog.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { useSnackbar } from 'notistack'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { useLinodeIPDeleteMutation } from 'src/queries/linodes/networking'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteRangeDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteRangeDialog.tsx index bc36a4781e0..e5c5a913e0e 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteRangeDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteRangeDialog.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { useSnackbar } from 'notistack'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { useLinodeRemoveRangeMutation } from 'src/queries/linodes/networking'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditIPRDNSDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditIPRDNSDrawer.tsx index 1eae2da143b..a4dc3495489 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditIPRDNSDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditIPRDNSDrawer.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { IPAddress } from '@linode/api-v4/lib/networking'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import Drawer from 'src/components/Drawer'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditRangeRDNSDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditRangeRDNSDrawer.tsx index 6168164005d..a650ab62a0c 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditRangeRDNSDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditRangeRDNSDrawer.tsx @@ -1,7 +1,7 @@ import { IPRange } from '@linode/api-v4/lib/networking'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPSharing.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPSharing.tsx index 7d894b0b82a..a2caa715e1a 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPSharing.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPSharing.tsx @@ -4,7 +4,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import { remove, uniq, update } from 'ramda'; import * as React from 'react'; import { StyledActionPanel } from 'src/components/ActionsPanel/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Link from 'src/components/Link'; import { CircleProgress } from 'src/components/CircleProgress'; import Divider from 'src/components/core/Divider'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPTransfer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPTransfer.tsx index c51d712971b..0a4ca22ebf8 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPTransfer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPTransfer.tsx @@ -14,7 +14,7 @@ import { } from 'ramda'; import * as React from 'react'; import { StyledActionPanel } from 'src/components/ActionsPanel/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import Divider from 'src/components/core/Divider'; import { makeStyles } from 'tss-react/mui'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeNetworking.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeNetworking.tsx index c11c9b86e1d..b8d35c63e1c 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeNetworking.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeNetworking.tsx @@ -3,7 +3,7 @@ import { IPAddress, IPRange } from '@linode/api-v4/lib/networking'; import { IPv6, parse as parseIP } from 'ipaddr.js'; import * as React from 'react'; import AddNewLink from 'src/components/AddNewLink'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; import Hidden from 'src/components/core/Hidden'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewIPDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewIPDrawer.tsx index fdd79764c2c..f46ebd28dcc 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewIPDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewIPDrawer.tsx @@ -1,7 +1,7 @@ import { IPAddress } from '@linode/api-v4/lib/networking'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewRangeDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewRangeDrawer.tsx index db6b70d6828..3eb6e9f179a 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewRangeDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewRangeDrawer.tsx @@ -1,7 +1,7 @@ import { IPRange } from '@linode/api-v4/lib/networking'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/RebuildFromImage.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/RebuildFromImage.tsx index f4f4f08e270..63bd90a0843 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/RebuildFromImage.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/RebuildFromImage.tsx @@ -12,7 +12,7 @@ import { isEmpty } from 'ramda'; import * as React from 'react'; import AccessPanel from 'src/components/AccessPanel/AccessPanel'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; import Box from 'src/components/core/Box'; import Divider from 'src/components/core/Divider'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/RebuildFromStackScript.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/RebuildFromStackScript.tsx index 61fb9c2dc65..929c8b42fbe 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/RebuildFromStackScript.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/RebuildFromStackScript.tsx @@ -8,7 +8,7 @@ import { isEmpty } from 'ramda'; import * as React from 'react'; import AccessPanel from 'src/components/AccessPanel/AccessPanel'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRescue/BareMetalRescue.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRescue/BareMetalRescue.tsx index c1ee5a082f8..30e6d78df3e 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRescue/BareMetalRescue.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRescue/BareMetalRescue.tsx @@ -2,7 +2,7 @@ import { rescueMetalLinode } from '@linode/api-v4/lib/linodes/actions'; import { useSnackbar } from 'notistack'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { resetEventsPolling } from 'src/eventsPolling'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRescue/StandardRescueDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRescue/StandardRescueDialog.tsx index 539472fa157..827a5fcf6a2 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRescue/StandardRescueDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRescue/StandardRescueDialog.tsx @@ -4,7 +4,7 @@ import { useSnackbar } from 'notistack'; import { assoc, clamp, equals, pathOr } from 'ramda'; import * as React from 'react'; import { StyledActionPanel } from 'src/components/ActionsPanel/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/LinodeResize.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/LinodeResize.tsx index cc1ad307809..bf57149f3cc 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/LinodeResize.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/LinodeResize.tsx @@ -2,7 +2,7 @@ import { Disk, LinodeType } from '@linode/api-v4/lib/linodes'; import { APIError } from '@linode/api-v4/lib/types'; import { useSnackbar } from 'notistack'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Checkbox from 'src/components/CheckBox'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/ResizeConfirmationDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/ResizeConfirmationDialog.tsx index 0c685f8a3ce..80c18fbb44d 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/ResizeConfirmationDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/ResizeConfirmationDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsAlertsPanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsAlertsPanel.tsx index 3ccc129d332..cff69c0b774 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsAlertsPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsAlertsPanel.tsx @@ -4,7 +4,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import Accordion from 'src/components/Accordion/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { Notice } from 'src/components/Notice/Notice'; import { useLinodeQuery, diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsDeletePanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsDeletePanel.tsx index 55279d1025c..16de7a138eb 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsDeletePanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsDeletePanel.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { useHistory } from 'react-router-dom'; import Accordion from 'src/components/Accordion'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { TypeToConfirmDialog } from 'src/components/TypeToConfirmDialog/TypeToConfirmDialog'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsLabelPanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsLabelPanel.tsx index 10522e6862a..ca23f43c437 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsLabelPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsLabelPanel.tsx @@ -3,7 +3,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import Accordion from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { Notice } from 'src/components/Notice/Notice'; import { TextField } from 'src/components/TextField'; import { getErrorMap } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsPasswordPanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsPasswordPanel.tsx index d0034af3840..180fc241f73 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsPasswordPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsPasswordPanel.tsx @@ -2,7 +2,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import Accordion from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import EnhancedSelect from 'src/components/EnhancedSelect/Select'; import { Notice } from 'src/components/Notice/Notice'; import SuspenseLoader from 'src/components/SuspenseLoader'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateDiskDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateDiskDrawer.tsx index 8baccf810b0..a51f6785477 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateDiskDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateDiskDrawer.tsx @@ -3,7 +3,7 @@ import { useFormik } from 'formik'; import { useSnackbar } from 'notistack'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import { Item } from 'src/components/EnhancedSelect/Select'; import { ModeSelect, Mode } from 'src/components/ModeSelect/ModeSelect'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateImageFromDiskDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateImageFromDiskDialog.tsx index fa8f37d22fe..b5ac0b01b41 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateImageFromDiskDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/CreateImageFromDiskDialog.tsx @@ -4,7 +4,7 @@ import { ConfirmationDialog } from 'src/components/ConfirmationDialog/Confirmati import { useCreateImageMutation } from 'src/queries/images'; import { useSnackbar } from 'notistack'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button/Button'; +import { Button } from 'src/components/Button/Button'; import { Typography } from '@mui/material'; import { SupportLink } from 'src/components/SupportLink/SupportLink'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/DeleteDiskDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/DeleteDiskDialog.tsx index 7987b6184d6..6617aa050d1 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/DeleteDiskDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/DeleteDiskDialog.tsx @@ -1,6 +1,6 @@ import React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { useLinodeDeleteDiskMutation } from 'src/queries/linodes/disks'; import type { Disk } from '@linode/api-v4'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/RenameDiskDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/RenameDiskDrawer.tsx index 2e2582cc524..20f946930a6 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/RenameDiskDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/RenameDiskDrawer.tsx @@ -2,7 +2,7 @@ import { Disk } from '@linode/api-v4/lib/linodes'; import { useFormik } from 'formik'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/ResizeDiskDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/ResizeDiskDrawer.tsx index 9ecd71a31b7..55a237b53f7 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/ResizeDiskDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/ResizeDiskDrawer.tsx @@ -2,7 +2,7 @@ import { Disk } from '@linode/api-v4/lib/linodes'; import { useFormik } from 'formik'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { Code } from 'src/components/Code/Code'; import FormHelperText from 'src/components/core/FormHelperText'; import InputAdornment from 'src/components/core/InputAdornment'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/MigrationNotification.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/MigrationNotification.tsx index 5e00fffd13d..bc9effb480f 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/MigrationNotification.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/MigrationNotification.tsx @@ -4,7 +4,7 @@ import { DateTime } from 'luxon'; import { useSnackbar } from 'notistack'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/UpgradeVolumesDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/UpgradeVolumesDialog.tsx index d739a085f35..16f8e93e8ef 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/UpgradeVolumesDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/UpgradeVolumesDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Paper from 'src/components/core/Paper'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/MutateDrawer/MutateDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/MutateDrawer/MutateDrawer.tsx index ef207b266e3..eb6483c611e 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/MutateDrawer/MutateDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/MutateDrawer/MutateDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import ListItem from 'src/components/core/ListItem'; import Typography from 'src/components/core/Typography'; import Drawer from 'src/components/Drawer'; diff --git a/packages/manager/src/features/Linodes/MigrateLinode/MigrateLinode.tsx b/packages/manager/src/features/Linodes/MigrateLinode/MigrateLinode.tsx index 725197a8a83..c75d73752d2 100644 --- a/packages/manager/src/features/Linodes/MigrateLinode/MigrateLinode.tsx +++ b/packages/manager/src/features/Linodes/MigrateLinode/MigrateLinode.tsx @@ -3,7 +3,7 @@ import { Theme } from '@mui/material/styles'; import { makeStyles } from '@mui/styles'; import { useSnackbar } from 'notistack'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { Dialog } from 'src/components/Dialog/Dialog'; import { Notice } from 'src/components/Notice/Notice'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; diff --git a/packages/manager/src/features/Linodes/PowerActionsDialogOrDrawer.tsx b/packages/manager/src/features/Linodes/PowerActionsDialogOrDrawer.tsx index 5c4fa621206..bc2309e0b78 100644 --- a/packages/manager/src/features/Linodes/PowerActionsDialogOrDrawer.tsx +++ b/packages/manager/src/features/Linodes/PowerActionsDialogOrDrawer.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import Select from 'src/components/EnhancedSelect/Select'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import ExternalLink from 'src/components/ExternalLink'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Longview/LongviewLanding/LongviewClientHeader.tsx b/packages/manager/src/features/Longview/LongviewLanding/LongviewClientHeader.tsx index 1551a76ad0e..358c8b8a48a 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/LongviewClientHeader.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/LongviewClientHeader.tsx @@ -2,7 +2,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import { pathOr } from 'ramda'; import * as React from 'react'; import { compose } from 'recompose'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Longview/LongviewLanding/LongviewDeleteDialog.tsx b/packages/manager/src/features/Longview/LongviewLanding/LongviewDeleteDialog.tsx index 85adf440a04..b86f4aa34ea 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/LongviewDeleteDialog.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/LongviewDeleteDialog.tsx @@ -1,7 +1,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; interface Props { diff --git a/packages/manager/src/features/Longview/LongviewLanding/LongviewPlans.tsx b/packages/manager/src/features/Longview/LongviewLanding/LongviewPlans.tsx index 5923e5ca759..787be915670 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/LongviewPlans.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/LongviewPlans.tsx @@ -6,7 +6,7 @@ import { import { APIError } from '@linode/api-v4/lib/types'; import classNames from 'classnames'; import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { Chip } from 'src/components/core/Chip'; import CircularProgress from 'src/components/core/CircularProgress'; import Paper from 'src/components/core/Paper'; diff --git a/packages/manager/src/features/Longview/LongviewLanding/SubscriptionDialog.tsx b/packages/manager/src/features/Longview/LongviewLanding/SubscriptionDialog.tsx index 1a64e3bf5f0..7b46e8912e3 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/SubscriptionDialog.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/SubscriptionDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { managedText } from './LongviewPlans'; diff --git a/packages/manager/src/features/Managed/Contacts/ContactsDrawer.tsx b/packages/manager/src/features/Managed/Contacts/ContactsDrawer.tsx index d1606e87829..c36f552efb6 100644 --- a/packages/manager/src/features/Managed/Contacts/ContactsDrawer.tsx +++ b/packages/manager/src/features/Managed/Contacts/ContactsDrawer.tsx @@ -4,7 +4,7 @@ import { Formik, FormikHelpers } from 'formik'; import { pathOr, pick } from 'ramda'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import Select from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Managed/Credentials/AddCredentialDrawer.tsx b/packages/manager/src/features/Managed/Credentials/AddCredentialDrawer.tsx index 67900b0b16a..207f344e7c8 100644 --- a/packages/manager/src/features/Managed/Credentials/AddCredentialDrawer.tsx +++ b/packages/manager/src/features/Managed/Credentials/AddCredentialDrawer.tsx @@ -2,7 +2,7 @@ import { CredentialPayload } from '@linode/api-v4/lib/managed'; import { Formik } from 'formik'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import SuspenseLoader from 'src/components/SuspenseLoader'; diff --git a/packages/manager/src/features/Managed/Credentials/UpdateCredentialDrawer.tsx b/packages/manager/src/features/Managed/Credentials/UpdateCredentialDrawer.tsx index 7433a1f0444..4c70023b0f1 100644 --- a/packages/manager/src/features/Managed/Credentials/UpdateCredentialDrawer.tsx +++ b/packages/manager/src/features/Managed/Credentials/UpdateCredentialDrawer.tsx @@ -2,7 +2,7 @@ import { CredentialPayload } from '@linode/api-v4/lib/managed'; import { Formik } from 'formik'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import SuspenseLoader from 'src/components/SuspenseLoader'; diff --git a/packages/manager/src/features/Managed/ManagedDashboardCard/MonitorTickets.tsx b/packages/manager/src/features/Managed/ManagedDashboardCard/MonitorTickets.tsx index 0fcc4135f5f..fd63cad8318 100644 --- a/packages/manager/src/features/Managed/ManagedDashboardCard/MonitorTickets.tsx +++ b/packages/manager/src/features/Managed/ManagedDashboardCard/MonitorTickets.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { Link, useHistory } from 'react-router-dom'; import TicketIcon from 'src/assets/icons/ticket.svg'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Managed/MonitorDrawer.tsx b/packages/manager/src/features/Managed/MonitorDrawer.tsx index f93c9e53441..bb943223bfe 100644 --- a/packages/manager/src/features/Managed/MonitorDrawer.tsx +++ b/packages/manager/src/features/Managed/MonitorDrawer.tsx @@ -9,7 +9,7 @@ import { Formik } from 'formik'; import { pickBy } from 'ramda'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import InputAdornment from 'src/components/core/InputAdornment'; import Drawer from 'src/components/Drawer'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; diff --git a/packages/manager/src/features/Managed/Monitors/HistoryDrawer.tsx b/packages/manager/src/features/Managed/Monitors/HistoryDrawer.tsx index fcb549ff820..da8c76c26de 100644 --- a/packages/manager/src/features/Managed/Monitors/HistoryDrawer.tsx +++ b/packages/manager/src/features/Managed/Monitors/HistoryDrawer.tsx @@ -2,7 +2,7 @@ import { ManagedIssue } from '@linode/api-v4/lib/managed'; import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import Drawer from 'src/components/Drawer'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; diff --git a/packages/manager/src/features/Managed/SSHAccess/EditSSHAccessDrawer.tsx b/packages/manager/src/features/Managed/SSHAccess/EditSSHAccessDrawer.tsx index 771aac68341..a56b0559e4c 100644 --- a/packages/manager/src/features/Managed/SSHAccess/EditSSHAccessDrawer.tsx +++ b/packages/manager/src/features/Managed/SSHAccess/EditSSHAccessDrawer.tsx @@ -2,7 +2,7 @@ import { Formik, FormikHelpers } from 'formik'; import { ManagedLinodeSetting } from '@linode/api-v4/lib/managed'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import FormControlLabel from 'src/components/core/FormControlLabel'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Managed/SSHAccess/LinodePubKey.tsx b/packages/manager/src/features/Managed/SSHAccess/LinodePubKey.tsx index 760c1a64d26..eed43dda4cd 100644 --- a/packages/manager/src/features/Managed/SSHAccess/LinodePubKey.tsx +++ b/packages/manager/src/features/Managed/SSHAccess/LinodePubKey.tsx @@ -1,7 +1,7 @@ import copy from 'copy-to-clipboard'; import * as React from 'react'; import SSHKeyIcon from 'src/assets/icons/ssh-key.svg'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import Box from 'src/components/core/Box'; import Paper from 'src/components/core/Paper'; diff --git a/packages/manager/src/features/Managed/SupportWidget.tsx b/packages/manager/src/features/Managed/SupportWidget.tsx index 33b9e1e3a52..36974b714d9 100644 --- a/packages/manager/src/features/Managed/SupportWidget.tsx +++ b/packages/manager/src/features/Managed/SupportWidget.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { RouteComponentProps, withRouter } from 'react-router-dom'; import { compose } from 'recompose'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import SupportTicketDrawer from 'src/features/Support/SupportTickets/SupportTicketDrawer'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerConfigNode.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerConfigNode.tsx index c436ac46d0f..c74900c280a 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerConfigNode.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerConfigNode.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Divider from 'src/components/core/Divider'; import Grid from '@mui/material/Unstable_Grid2'; import MenuItem from 'src/components/core/MenuItem'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerConfigPanel.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerConfigPanel.tsx index e0c8ebb869b..f385026554b 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerConfigPanel.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerConfigPanel.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Divider from 'src/components/core/Divider'; import FormHelperText from 'src/components/core/FormHelperText'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx index 01d0cdf12d7..0fb18bbe7e1 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx @@ -3,7 +3,7 @@ import useMediaQuery from '@mui/material/useMediaQuery'; import { useTheme } from '@mui/styles'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Box from 'src/components/core/Box'; import Accordion from 'src/components/Accordion'; import Paper from 'src/components/core/Paper'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerConfigurations.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerConfigurations.tsx index fce230e34ad..629310ceb39 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerConfigurations.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerConfigurations.tsx @@ -28,7 +28,7 @@ import { RouteComponentProps, withRouter } from 'react-router-dom'; import { compose as composeC } from 'recompose'; import Accordion from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { styled } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSettings.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSettings.tsx index 2afcd7fa584..582b6e64367 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSettings.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSettings.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Accordion from 'src/components/Accordion'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import FormHelperText from 'src/components/core/FormHelperText'; import InputAdornment from 'src/components/core/InputAdornment'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx index 2834f628461..d7b187e0cf5 100644 --- a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx +++ b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/RevokeAccessKeyDialog.tsx b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/RevokeAccessKeyDialog.tsx index 0951f2a62d8..54f994b259f 100644 --- a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/RevokeAccessKeyDialog.tsx +++ b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/RevokeAccessKeyDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { APIError } from '@linode/api-v4/lib/types'; import { CancelNotice } from '../CancelNotice'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/AccessSelect.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/AccessSelect.tsx index 7cd1716f3ba..72cb112e846 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/AccessSelect.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/AccessSelect.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import EnhancedSelect from 'src/components/EnhancedSelect'; import ExternalLink from 'src/components/ExternalLink'; import FormControlLabel from 'src/components/core/FormControlLabel'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.styles.ts b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.styles.ts index 977be8fa834..abcfedc53a2 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.styles.ts +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.styles.ts @@ -1,4 +1,4 @@ -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { StyledLinkButton } from 'src/components/Button/StyledLinkButton'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx index c219be9f9aa..f08bd056a23 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import Box from 'src/components/core/Box'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Hidden from 'src/components/core/Hidden'; import ObjectTableContent from './ObjectTableContent'; import produce from 'immer'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.tsx index 8fcc10c68a8..13dab383cdd 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Paper from 'src/components/core/Paper'; import Typography from 'src/components/core/Typography'; import ExternalLink from 'src/components/ExternalLink'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/CreateFolderDrawer.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/CreateFolderDrawer.tsx index b1c7173c4e1..1c6ea7ec4d0 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/CreateFolderDrawer.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/CreateFolderDrawer.tsx @@ -4,7 +4,7 @@ import { TextField } from 'src/components/TextField'; import ActionsPanel from 'src/components/ActionsPanel'; import { useFormik } from 'formik'; import { useCreateObjectUrlMutation } from 'src/queries/objectStorage'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; interface Props { open: boolean; diff --git a/packages/manager/src/features/ObjectStorage/BucketLanding/CreateBucketDrawer.tsx b/packages/manager/src/features/ObjectStorage/BucketLanding/CreateBucketDrawer.tsx index 8f2562e4eb8..b247a747dc2 100644 --- a/packages/manager/src/features/ObjectStorage/BucketLanding/CreateBucketDrawer.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketLanding/CreateBucketDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import ClusterSelect from './ClusterSelect'; import Drawer from 'src/components/Drawer'; import EnableObjectStorageModal from '../EnableObjectStorageModal'; diff --git a/packages/manager/src/features/ObjectStorage/EnableObjectStorageModal.tsx b/packages/manager/src/features/ObjectStorage/EnableObjectStorageModal.tsx index 9252ee112cc..d4034d7c4d5 100644 --- a/packages/manager/src/features/ObjectStorage/EnableObjectStorageModal.tsx +++ b/packages/manager/src/features/ObjectStorage/EnableObjectStorageModal.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import ExternalLink from 'src/components/ExternalLink'; diff --git a/packages/manager/src/features/ObjectStorage/ObjectUploader/FileUpload.tsx b/packages/manager/src/features/ObjectStorage/ObjectUploader/FileUpload.tsx index c5076484f43..fbc3d3b627d 100644 --- a/packages/manager/src/features/ObjectStorage/ObjectUploader/FileUpload.tsx +++ b/packages/manager/src/features/ObjectStorage/ObjectUploader/FileUpload.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import CautionIcon from 'src/assets/icons/caution.svg'; import FileUploadComplete from 'src/assets/icons/fileUploadComplete.svg'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { LinearProgress } from 'src/components/LinearProgress'; import Tooltip from 'src/components/core/Tooltip'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/ObjectStorage/ObjectUploader/ObjectUploader.tsx b/packages/manager/src/features/ObjectStorage/ObjectUploader/ObjectUploader.tsx index 4023e04a3dd..4ddc4cfa938 100644 --- a/packages/manager/src/features/ObjectStorage/ObjectUploader/ObjectUploader.tsx +++ b/packages/manager/src/features/ObjectStorage/ObjectUploader/ObjectUploader.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { debounce } from 'throttle-debounce'; import { FileUpload } from './FileUpload'; import { getObjectURL } from '@linode/api-v4/lib/object-storage'; diff --git a/packages/manager/src/features/OneClickApps/AppDetailDrawer.tsx b/packages/manager/src/features/OneClickApps/AppDetailDrawer.tsx index 78ce523f463..04c0323e1fd 100644 --- a/packages/manager/src/features/OneClickApps/AppDetailDrawer.tsx +++ b/packages/manager/src/features/OneClickApps/AppDetailDrawer.tsx @@ -4,7 +4,7 @@ import { Theme } from '@mui/material/styles'; import { sanitizeHTML } from 'src/utilities/sanitize-html'; import { oneClickApps } from './oneClickApps'; import Close from '@mui/icons-material/Close'; -import Button from 'src/components/Button/Button'; +import { Button } from 'src/components/Button/Button'; import Box from 'src/components/core/Box'; import Drawer from 'src/components/core/Drawer'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Profile/APITokens/CreateAPITokenDrawer.tsx b/packages/manager/src/features/Profile/APITokens/CreateAPITokenDrawer.tsx index 2ade2686d39..688e5f72a89 100644 --- a/packages/manager/src/features/Profile/APITokens/CreateAPITokenDrawer.tsx +++ b/packages/manager/src/features/Profile/APITokens/CreateAPITokenDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import FormControl from 'src/components/core/FormControl'; import FormHelperText from 'src/components/core/FormHelperText'; diff --git a/packages/manager/src/features/Profile/APITokens/EditAPITokenDrawer.tsx b/packages/manager/src/features/Profile/APITokens/EditAPITokenDrawer.tsx index 78e18b3a1c5..c67604ccc01 100644 --- a/packages/manager/src/features/Profile/APITokens/EditAPITokenDrawer.tsx +++ b/packages/manager/src/features/Profile/APITokens/EditAPITokenDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/Profile/APITokens/RevokeTokenDialog.tsx b/packages/manager/src/features/Profile/APITokens/RevokeTokenDialog.tsx index 3e12eea61a3..855d9bb3ca5 100644 --- a/packages/manager/src/features/Profile/APITokens/RevokeTokenDialog.tsx +++ b/packages/manager/src/features/Profile/APITokens/RevokeTokenDialog.tsx @@ -3,7 +3,7 @@ import { ConfirmationDialog } from 'src/components/ConfirmationDialog/Confirmati import ActionsPanel from 'src/components/ActionsPanel'; import Typography from 'src/components/core/Typography'; import { Token } from '@linode/api-v4/lib/profile/types'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { APITokenType } from './APITokenTable'; import { useRevokeAppAccessTokenMutation, diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx index 59d2a29b10d..ef5880412cb 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Box from 'src/components/core/Box'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import InputAdornment from 'src/components/core/InputAdornment'; import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/RevokeTrustedDevicesDialog.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/RevokeTrustedDevicesDialog.tsx index 1607ac80646..d3303164efd 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/RevokeTrustedDevicesDialog.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/RevokeTrustedDevicesDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { useRevokeTrustedDeviceMutation } from 'src/queries/profile'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/SMSMessaging.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/SMSMessaging.tsx index 3006d69e44c..e968b2e2f55 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/SMSMessaging.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/SMSMessaging.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import Box from 'src/components/core/Box'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { getFormattedNumber } from './PhoneVerification/helpers'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/SecurityQuestions.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/SecurityQuestions.tsx index e32267d80ee..ac7ae2164aa 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/SecurityQuestions.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/SecurityQuestions.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Box from 'src/components/core/Box'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { CircleProgress } from 'src/components/CircleProgress'; import { getAnsweredQuestions, securityQuestionsToItems } from './utilities'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TPADialog.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TPADialog.tsx index 685edf218fc..56ba2b6d486 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TPADialog.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TPADialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import useFlags from 'src/hooks/useFlags'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.styles.ts b/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.styles.ts index 62e98cfa4e4..9c630ee6ee9 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.styles.ts +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.styles.ts @@ -1,4 +1,4 @@ -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Grid from '@mui/material/Unstable_Grid2'; import Paper from 'src/components/core/Paper'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx index a5cccbb8ed1..a1bc3ae4c00 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Box from 'src/components/core/Box'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/DisableTwoFactorDialog.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/DisableTwoFactorDialog.tsx index cd2009fa79d..9510b336a37 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/DisableTwoFactorDialog.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/DisableTwoFactorDialog.tsx @@ -2,7 +2,7 @@ import { disableTwoFactor } from '@linode/api-v4/lib/profile'; import * as React from 'react'; import { compose } from 'recompose'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import withLoadingAndError, { diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ScratchCodeDialog.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ScratchCodeDialog.tsx index 6031ec86699..b0ad813c6ce 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ScratchCodeDialog.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ScratchCodeDialog.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Profile/DisplaySettings/TimezoneForm.tsx b/packages/manager/src/features/Profile/DisplaySettings/TimezoneForm.tsx index 9ae5df49e58..923509c5136 100644 --- a/packages/manager/src/features/Profile/DisplaySettings/TimezoneForm.tsx +++ b/packages/manager/src/features/Profile/DisplaySettings/TimezoneForm.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import Box from 'src/components/core/Box'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import timezones from 'src/assets/timezones/timezones'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx b/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx index 2c185589f42..681f3fa36c9 100644 --- a/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx +++ b/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import Box from 'src/components/core/Box'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import FormControl from 'src/components/core/FormControl'; import getAPIErrorFor from 'src/utilities/getAPIErrorFor'; import Paper from 'src/components/core/Paper'; diff --git a/packages/manager/src/features/Profile/OAuthClients/CreateOAuthClientDrawer.tsx b/packages/manager/src/features/Profile/OAuthClients/CreateOAuthClientDrawer.tsx index 2b4068aa46d..e01a894b934 100644 --- a/packages/manager/src/features/Profile/OAuthClients/CreateOAuthClientDrawer.tsx +++ b/packages/manager/src/features/Profile/OAuthClients/CreateOAuthClientDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; import FormControl from 'src/components/core/FormControl'; import FormControlLabel from 'src/components/core/FormControlLabel'; diff --git a/packages/manager/src/features/Profile/OAuthClients/DeleteOAuthClientDialog.tsx b/packages/manager/src/features/Profile/OAuthClients/DeleteOAuthClientDialog.tsx index 063178964d4..9ae135ff8cb 100644 --- a/packages/manager/src/features/Profile/OAuthClients/DeleteOAuthClientDialog.tsx +++ b/packages/manager/src/features/Profile/OAuthClients/DeleteOAuthClientDialog.tsx @@ -1,6 +1,6 @@ import React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { useDeleteOAuthClientMutation } from 'src/queries/accountOAuth'; diff --git a/packages/manager/src/features/Profile/OAuthClients/EditOAuthClientDrawer.tsx b/packages/manager/src/features/Profile/OAuthClients/EditOAuthClientDrawer.tsx index 02d1d9ea6a0..5c6c1770b17 100644 --- a/packages/manager/src/features/Profile/OAuthClients/EditOAuthClientDrawer.tsx +++ b/packages/manager/src/features/Profile/OAuthClients/EditOAuthClientDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; import FormControl from 'src/components/core/FormControl'; import FormControlLabel from 'src/components/core/FormControlLabel'; diff --git a/packages/manager/src/features/Profile/OAuthClients/ResetOAuthClientDialog.tsx b/packages/manager/src/features/Profile/OAuthClients/ResetOAuthClientDialog.tsx index 169d4de6463..444d938ebd9 100644 --- a/packages/manager/src/features/Profile/OAuthClients/ResetOAuthClientDialog.tsx +++ b/packages/manager/src/features/Profile/OAuthClients/ResetOAuthClientDialog.tsx @@ -1,6 +1,6 @@ import React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { useResetOAuthClientMutation } from 'src/queries/accountOAuth'; diff --git a/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx b/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx index ee0e6a179cd..01c9618037e 100644 --- a/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx +++ b/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/Profile/SSHKeys/DeleteSSHKeyDialog.tsx b/packages/manager/src/features/Profile/SSHKeys/DeleteSSHKeyDialog.tsx index b0c55ea0733..752ab92b601 100644 --- a/packages/manager/src/features/Profile/SSHKeys/DeleteSSHKeyDialog.tsx +++ b/packages/manager/src/features/Profile/SSHKeys/DeleteSSHKeyDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { useDeleteSSHKeyMutation } from 'src/queries/profile'; diff --git a/packages/manager/src/features/Profile/SSHKeys/EditSSHKeyDrawer.tsx b/packages/manager/src/features/Profile/SSHKeys/EditSSHKeyDrawer.tsx index 244664b30f4..e36697c6a2e 100644 --- a/packages/manager/src/features/Profile/SSHKeys/EditSSHKeyDrawer.tsx +++ b/packages/manager/src/features/Profile/SSHKeys/EditSSHKeyDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/Profile/SecretTokenDialog/SecretTokenDialog.tsx b/packages/manager/src/features/Profile/SecretTokenDialog/SecretTokenDialog.tsx index 53f3bf02864..9ac8800f6dc 100644 --- a/packages/manager/src/features/Profile/SecretTokenDialog/SecretTokenDialog.tsx +++ b/packages/manager/src/features/Profile/SecretTokenDialog/SecretTokenDialog.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import Box from 'src/components/core/Box'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import CopyableAndDownloadableTextField from 'src/components/CopyableAndDownloadableTextField'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Profile/Settings/PreferenceEditor.tsx b/packages/manager/src/features/Profile/Settings/PreferenceEditor.tsx index 2bf0a82849e..f8e3e9df2c3 100644 --- a/packages/manager/src/features/Profile/Settings/PreferenceEditor.tsx +++ b/packages/manager/src/features/Profile/Settings/PreferenceEditor.tsx @@ -5,7 +5,7 @@ import { } from 'src/components/Dialog/Dialog'; import Typography from 'src/components/core/Typography'; import Link from 'src/components/Link'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { Notice } from 'src/components/Notice/Notice'; import { useMutatePreferences, usePreferences } from 'src/queries/preferences'; diff --git a/packages/manager/src/features/Search/ResultGroup.test.tsx b/packages/manager/src/features/Search/ResultGroup.test.tsx index 5bb70c4be63..dd020500e76 100644 --- a/packages/manager/src/features/Search/ResultGroup.test.tsx +++ b/packages/manager/src/features/Search/ResultGroup.test.tsx @@ -2,7 +2,7 @@ import { shallow } from 'enzyme'; import * as React from 'react'; import { searchbarResult1, searchbarResult2 } from 'src/__data__/searchResults'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { ResultGroup } from './ResultGroup'; diff --git a/packages/manager/src/features/Search/ResultGroup.tsx b/packages/manager/src/features/Search/ResultGroup.tsx index b6300370fb7..1f7d2fb19a6 100644 --- a/packages/manager/src/features/Search/ResultGroup.tsx +++ b/packages/manager/src/features/Search/ResultGroup.tsx @@ -1,7 +1,7 @@ import { isEmpty, splitAt } from 'ramda'; import * as React from 'react'; import { compose, withStateHandlers } from 'recompose'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Hidden from 'src/components/core/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/StackScripts/SelectStackScriptPanel/SelectStackScriptPanel.tsx b/packages/manager/src/features/StackScripts/SelectStackScriptPanel/SelectStackScriptPanel.tsx index 66425f62e4b..1b2d5e15305 100644 --- a/packages/manager/src/features/StackScripts/SelectStackScriptPanel/SelectStackScriptPanel.tsx +++ b/packages/manager/src/features/StackScripts/SelectStackScriptPanel/SelectStackScriptPanel.tsx @@ -9,7 +9,7 @@ import { import { Filter, Params, ResourcePage } from '@linode/api-v4/lib/types'; import * as React from 'react'; import { compose } from 'recompose'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import Paper from 'src/components/core/Paper'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; diff --git a/packages/manager/src/features/StackScripts/SelectStackScriptPanel/StackScriptSelectionRow.tsx b/packages/manager/src/features/StackScripts/SelectStackScriptPanel/StackScriptSelectionRow.tsx index 76e510dd21d..28ca8b29c5a 100644 --- a/packages/manager/src/features/StackScripts/SelectStackScriptPanel/StackScriptSelectionRow.tsx +++ b/packages/manager/src/features/StackScripts/SelectStackScriptPanel/StackScriptSelectionRow.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { connect, MapDispatchToProps } from 'react-redux'; import { compose as recompose } from 'recompose'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { withStyles, WithStyles } from '@mui/styles'; import Typography from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/StackScripts/StackScriptBase/StackScriptBase.tsx b/packages/manager/src/features/StackScripts/StackScriptBase/StackScriptBase.tsx index 77606b7682c..eaa56d5a6f2 100644 --- a/packages/manager/src/features/StackScripts/StackScriptBase/StackScriptBase.tsx +++ b/packages/manager/src/features/StackScripts/StackScriptBase/StackScriptBase.tsx @@ -5,7 +5,7 @@ import { generateCatchAllFilter, generateSpecificFilter, } from '../stackScriptUtils'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import classNames from 'classnames'; import { CircleProgress } from 'src/components/CircleProgress'; import { compose } from 'recompose'; diff --git a/packages/manager/src/features/StackScripts/StackScriptCreate/StackScriptCreate.tsx b/packages/manager/src/features/StackScripts/StackScriptCreate/StackScriptCreate.tsx index 4b254538291..eef50b494d7 100644 --- a/packages/manager/src/features/StackScripts/StackScriptCreate/StackScriptCreate.tsx +++ b/packages/manager/src/features/StackScripts/StackScriptCreate/StackScriptCreate.tsx @@ -12,7 +12,7 @@ import * as React from 'react'; import { RouteComponentProps, withRouter } from 'react-router-dom'; import { compose } from 'recompose'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; diff --git a/packages/manager/src/features/StackScripts/StackScriptForm/StackScriptForm.tsx b/packages/manager/src/features/StackScripts/StackScriptForm/StackScriptForm.tsx index 6381e38a0e9..8f596de3beb 100644 --- a/packages/manager/src/features/StackScripts/StackScriptForm/StackScriptForm.tsx +++ b/packages/manager/src/features/StackScripts/StackScriptForm/StackScriptForm.tsx @@ -2,7 +2,7 @@ import { Image } from '@linode/api-v4/lib/images'; import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import InputAdornment from 'src/components/core/InputAdornment'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; diff --git a/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptPanelContent.tsx b/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptPanelContent.tsx index c29c7d96ac8..87c5e9310e5 100644 --- a/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptPanelContent.tsx +++ b/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptPanelContent.tsx @@ -7,7 +7,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import { compose } from 'recompose'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import { StackScriptsRequest } from 'src/features/StackScripts/types'; diff --git a/packages/manager/src/features/Support/AttachFileForm.tsx b/packages/manager/src/features/Support/AttachFileForm.tsx index 804664133db..27353bdc8ac 100644 --- a/packages/manager/src/features/Support/AttachFileForm.tsx +++ b/packages/manager/src/features/Support/AttachFileForm.tsx @@ -2,7 +2,7 @@ import AttachFile from '@mui/icons-material/AttachFile'; import { equals, remove } from 'ramda'; import * as React from 'react'; import { compose } from 'recompose'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import AttachFileListItem from './AttachFileListItem'; diff --git a/packages/manager/src/features/Support/SupportTicketDetail/CloseTicketLink.tsx b/packages/manager/src/features/Support/SupportTicketDetail/CloseTicketLink.tsx index ab43c70872c..565fb23901e 100644 --- a/packages/manager/src/features/Support/SupportTicketDetail/CloseTicketLink.tsx +++ b/packages/manager/src/features/Support/SupportTicketDetail/CloseTicketLink.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/ReplyActions.tsx b/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/ReplyActions.tsx index 9bcf1307a34..c014d71ed90 100644 --- a/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/ReplyActions.tsx +++ b/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/ReplyActions.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CloseTicketLink } from '../CloseTicketLink'; import { makeStyles } from '@mui/styles'; diff --git a/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx b/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx index d973a58ae29..c50e9074995 100644 --- a/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx +++ b/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx @@ -9,7 +9,7 @@ import * as React from 'react'; import { compose as recompose } from 'recompose'; import Accordion from 'src/components/Accordion'; import { StyledActionPanel } from 'src/components/ActionsPanel/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import FormHelperText from 'src/components/core/FormHelperText'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/ToastNotifications/ToastNotifications.stories.mdx b/packages/manager/src/features/ToastNotifications/ToastNotifications.stories.mdx index fe47e85fb16..238ed615954 100644 --- a/packages/manager/src/features/ToastNotifications/ToastNotifications.stories.mdx +++ b/packages/manager/src/features/ToastNotifications/ToastNotifications.stories.mdx @@ -1,6 +1,6 @@ import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs'; import { withSnackbar, useSnackbar } from 'notistack'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Snackbar from 'src/components/SnackBar'; diff --git a/packages/manager/src/features/TopMenu/AddNewMenu/AddNewMenu.tsx b/packages/manager/src/features/TopMenu/AddNewMenu/AddNewMenu.tsx index 24b67dd08a2..ab67002741b 100644 --- a/packages/manager/src/features/TopMenu/AddNewMenu/AddNewMenu.tsx +++ b/packages/manager/src/features/TopMenu/AddNewMenu/AddNewMenu.tsx @@ -10,7 +10,7 @@ import NodebalancerIcon from 'src/assets/icons/entityIcons/nodebalancer.svg'; import OneClickIcon from 'src/assets/icons/entityIcons/oneclick.svg'; import VolumeIcon from 'src/assets/icons/entityIcons/volume.svg'; import DatabaseIcon from 'src/assets/icons/entityIcons/database.svg'; -import Button from 'src/components/Button/Button'; +import { Button } from 'src/components/Button/Button'; import Divider from 'src/components/core/Divider'; import { Link } from 'react-router-dom'; import { diff --git a/packages/manager/src/features/TopMenu/NotificationMenu/NotificationMenu.tsx b/packages/manager/src/features/TopMenu/NotificationMenu/NotificationMenu.tsx index 675dc5fedb8..e0c4bac4941 100644 --- a/packages/manager/src/features/TopMenu/NotificationMenu/NotificationMenu.tsx +++ b/packages/manager/src/features/TopMenu/NotificationMenu/NotificationMenu.tsx @@ -12,7 +12,7 @@ import { import { useFormattedNotifications } from 'src/features/NotificationCenter/NotificationData/useFormattedNotifications'; import { useEventNotifications } from 'src/features/NotificationCenter/NotificationData/useEventNotifications'; import MenuItem from 'src/components/MenuItem'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import ClickAwayListener from 'src/components/core/ClickAwayListener'; import MenuList from 'src/components/core/MenuList'; import Paper from 'src/components/core/Paper'; diff --git a/packages/manager/src/features/Users/CreateUserDrawer.tsx b/packages/manager/src/features/Users/CreateUserDrawer.tsx index 41c392dddac..de17ad25f1b 100644 --- a/packages/manager/src/features/Users/CreateUserDrawer.tsx +++ b/packages/manager/src/features/Users/CreateUserDrawer.tsx @@ -3,7 +3,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import { RouteComponentProps, withRouter } from 'react-router-dom'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import FormControlLabel from 'src/components/core/FormControlLabel'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Users/UserDeleteConfirmationDialog.tsx b/packages/manager/src/features/Users/UserDeleteConfirmationDialog.tsx index 0204deb1d05..da35ada31d0 100644 --- a/packages/manager/src/features/Users/UserDeleteConfirmationDialog.tsx +++ b/packages/manager/src/features/Users/UserDeleteConfirmationDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; interface Props { diff --git a/packages/manager/src/features/Users/UserPermissions.tsx b/packages/manager/src/features/Users/UserPermissions.tsx index 978e37b740d..63e512dbe08 100644 --- a/packages/manager/src/features/Users/UserPermissions.tsx +++ b/packages/manager/src/features/Users/UserPermissions.tsx @@ -11,7 +11,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import { compose, flatten, lensPath, omit, set } from 'ramda'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import Divider from 'src/components/core/Divider'; import FormControlLabel from 'src/components/core/FormControlLabel'; diff --git a/packages/manager/src/features/Users/UserProfile.tsx b/packages/manager/src/features/Users/UserProfile.tsx index 0dc2dd4e6e6..91ce9ecf2af 100644 --- a/packages/manager/src/features/Users/UserProfile.tsx +++ b/packages/manager/src/features/Users/UserProfile.tsx @@ -5,7 +5,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import { useHistory } from 'react-router-dom'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import Paper from 'src/components/core/Paper'; import { Theme, useTheme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Volumes/UpgradeVolumeDialog.tsx b/packages/manager/src/features/Volumes/UpgradeVolumeDialog.tsx index 2c2ff9f3905..4ca2c4841ae 100644 --- a/packages/manager/src/features/Volumes/UpgradeVolumeDialog.tsx +++ b/packages/manager/src/features/Volumes/UpgradeVolumeDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Typography from 'src/components/core/Typography'; import Link from 'src/components/Link'; diff --git a/packages/manager/src/features/Volumes/VolumeAttachmentDrawer.tsx b/packages/manager/src/features/Volumes/VolumeAttachmentDrawer.tsx index 65f8b7a2aac..f3d886f53a1 100644 --- a/packages/manager/src/features/Volumes/VolumeAttachmentDrawer.tsx +++ b/packages/manager/src/features/Volumes/VolumeAttachmentDrawer.tsx @@ -2,7 +2,7 @@ import { Grant } from '@linode/api-v4/lib/account'; import { useFormik } from 'formik'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import FormControl from 'src/components/core/FormControl'; import FormHelperText from 'src/components/core/FormHelperText'; import Drawer from 'src/components/Drawer'; diff --git a/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx b/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx index 41f1fbfe77d..52c7227fa06 100644 --- a/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx +++ b/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx @@ -6,7 +6,7 @@ import * as React from 'react'; import { connect, useSelector } from 'react-redux'; import { RouteComponentProps } from 'react-router-dom'; import { compose } from 'recompose'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import Box from 'src/components/core/Box'; import Form from 'src/components/core/Form'; import Paper from 'src/components/core/Paper'; diff --git a/packages/manager/src/features/Volumes/VolumeDrawer/ResizeVolumesInstruction.tsx b/packages/manager/src/features/Volumes/VolumeDrawer/ResizeVolumesInstruction.tsx index 58eb38eb7db..5bade3e6eae 100644 --- a/packages/manager/src/features/Volumes/VolumeDrawer/ResizeVolumesInstruction.tsx +++ b/packages/manager/src/features/Volumes/VolumeDrawer/ResizeVolumesInstruction.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; import { CopyableTextField } from 'src/components/CopyableTextField/CopyableTextField'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Volumes/VolumeDrawer/VolumesActionsPanel.tsx b/packages/manager/src/features/Volumes/VolumeDrawer/VolumesActionsPanel.tsx index 7b08b645e2b..b18a5503e71 100644 --- a/packages/manager/src/features/Volumes/VolumeDrawer/VolumesActionsPanel.tsx +++ b/packages/manager/src/features/Volumes/VolumeDrawer/VolumesActionsPanel.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Button from 'src/components/Button'; +import { Button } from 'src/components/Button/Button'; interface Props { isSubmitting: boolean; From 26b8ccf814c1e9c697d6523d44909129aaf02fa6 Mon Sep 17 00:00:00 2001 From: cpathipa <119517080+cpathipa@users.noreply.github.com> Date: Wed, 28 Jun 2023 09:22:06 -0500 Subject: [PATCH 40/88] fix: [M3-6638] - Object Storage > Create Access Key Drawer Layout Issue (#9296) * fix: [M3-6638] - Object Storage > Create Access Key Drawer Layout Issue * Added changeset: Object Storage > Create Access Key Drawer Layout Issue * Add descriptive message * code cleanup --- .../.changeset/pr-9296-fixed-1687442580014.md | 5 +++++ .../AccessKeyLanding/AccessKeyDrawer.tsx | 18 +++++++++++++++++- 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 packages/manager/.changeset/pr-9296-fixed-1687442580014.md diff --git a/packages/manager/.changeset/pr-9296-fixed-1687442580014.md b/packages/manager/.changeset/pr-9296-fixed-1687442580014.md new file mode 100644 index 00000000000..d5b5ebdf329 --- /dev/null +++ b/packages/manager/.changeset/pr-9296-fixed-1687442580014.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Fixed +--- + +Object Storage > Create Access Key Drawer Layout Issue ([#9296](https://github.com/linode/manager/pull/9296)) diff --git a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx index d7b187e0cf5..0db7f8f3cbd 100644 --- a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx +++ b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx @@ -79,6 +79,7 @@ export const AccessKeyDrawer = (props: AccessKeyDrawerProps) => { data: objectStorageClusters, isLoading: areClustersLoading, } = useObjectStorageClusters(); + const { data: objectStorageBucketsResponse, isLoading: areBucketsLoading, @@ -88,6 +89,8 @@ export const AccessKeyDrawer = (props: AccessKeyDrawerProps) => { const buckets = objectStorageBucketsResponse?.buckets || []; + const hasBuckets = buckets?.length > 0; + const hidePermissionsTable = bucketsError || objectStorageBucketsResponse?.buckets.length === 0; @@ -133,7 +136,12 @@ export const AccessKeyDrawer = (props: AccessKeyDrawerProps) => { }; return ( - + {areBucketsLoading || areClustersLoading ? ( ) : ( @@ -205,6 +213,14 @@ export const AccessKeyDrawer = (props: AccessKeyDrawerProps) => {
)} + {!hasBuckets ? ( + + This key will have unlimited access to all buckets on your + account. The option to create a limited access key is only + available after creating one or more buckets. + + ) : null} + Date: Wed, 28 Jun 2023 10:43:46 -0400 Subject: [PATCH 41/88] refactor: [M3-6290] - MUI v5 Migration - `Components > Accordion` (part 2) (#9320) * update storybook and move component to correct spot * Added changeset: MUI v5 Migration - Components > Accordion (part 2) * futher clean up and feedback from @dwiley-akamai --------- Co-authored-by: Banks Nussman --- .../pr-9320-tech-stories-1687878769530.md | 5 + .../src/components/Accordion.stories.tsx | 20 +++ .../components/{Accordion => }/Accordion.tsx | 66 ++++++++-- .../Accordion/Accordion.stories.mdx | 115 ------------------ .../manager/src/components/Accordion/index.ts | 5 - .../ExtendedAccordion.test.tsx | 45 ------- .../ExtendedAccordion/ExtendedAccordion.tsx | 73 ----------- .../manager/src/components/core/Accordion.ts | 8 -- .../src/components/core/AccordionDetails.ts | 8 -- .../src/components/core/AccordionSummary.ts | 8 -- .../src/features/Account/AutoBackups.tsx | 2 +- .../features/Account/CloseAccountSetting.tsx | 2 +- .../src/features/Account/EnableManaged.tsx | 2 +- .../features/Account/EnableObjectStorage.tsx | 2 +- .../src/features/Account/NetworkHelper.tsx | 2 +- .../EntityTransfers/TransfersTable.tsx | 2 +- .../UserDataAccordion/UserDataAccordion.tsx | 2 +- .../LinodeSettingsAlertsPanel.tsx | 2 +- .../LinodeSettingsDeletePanel.tsx | 2 +- .../LinodeSettingsLabelPanel.tsx | 2 +- .../LinodeSettingsPasswordPanel.tsx | 2 +- .../LinodeSettings/LinodeWatchdogPanel.tsx | 2 +- .../NodeBalancers/NodeBalancerCreate.tsx | 2 +- .../NodeBalancerConfigurations.tsx | 10 +- .../NodeBalancerSettings.tsx | 2 +- .../NotificationSection.tsx | 27 ++-- .../TabbedReply/ReplyContainer.tsx | 2 +- .../SupportTickets/SupportTicketDrawer.tsx | 2 +- 28 files changed, 107 insertions(+), 315 deletions(-) create mode 100644 packages/manager/.changeset/pr-9320-tech-stories-1687878769530.md create mode 100644 packages/manager/src/components/Accordion.stories.tsx rename packages/manager/src/components/{Accordion => }/Accordion.tsx (59%) delete mode 100644 packages/manager/src/components/Accordion/Accordion.stories.mdx delete mode 100644 packages/manager/src/components/Accordion/index.ts delete mode 100644 packages/manager/src/components/ExtendedAccordion/ExtendedAccordion.test.tsx delete mode 100644 packages/manager/src/components/ExtendedAccordion/ExtendedAccordion.tsx delete mode 100644 packages/manager/src/components/core/Accordion.ts delete mode 100644 packages/manager/src/components/core/AccordionDetails.ts delete mode 100644 packages/manager/src/components/core/AccordionSummary.ts diff --git a/packages/manager/.changeset/pr-9320-tech-stories-1687878769530.md b/packages/manager/.changeset/pr-9320-tech-stories-1687878769530.md new file mode 100644 index 00000000000..8c6d48609d5 --- /dev/null +++ b/packages/manager/.changeset/pr-9320-tech-stories-1687878769530.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Tech Stories +--- + +MUI v5 Migration - Components > Accordion (part 2) ([#9320](https://github.com/linode/manager/pull/9320)) diff --git a/packages/manager/src/components/Accordion.stories.tsx b/packages/manager/src/components/Accordion.stories.tsx new file mode 100644 index 00000000000..26e70779343 --- /dev/null +++ b/packages/manager/src/components/Accordion.stories.tsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { Meta, StoryObj } from '@storybook/react'; +import { Accordion } from './Accordion'; + +const meta: Meta = { + title: 'Components/Accordion', + component: Accordion, +}; + +type Story = StoryObj; + +export const Default: Story = { + render: (args) => , + args: { + heading: 'This is an Accordion', + children:

Any children can go here!

, + }, +}; + +export default meta; diff --git a/packages/manager/src/components/Accordion/Accordion.tsx b/packages/manager/src/components/Accordion.tsx similarity index 59% rename from packages/manager/src/components/Accordion/Accordion.tsx rename to packages/manager/src/components/Accordion.tsx index ea919897fda..2c85c9bd377 100644 --- a/packages/manager/src/components/Accordion/Accordion.tsx +++ b/packages/manager/src/components/Accordion.tsx @@ -1,19 +1,21 @@ import KeyboardArrowDown from '@mui/icons-material/KeyboardArrowDown'; import * as React from 'react'; -import _Accordion, { AccordionProps } from 'src/components/core/Accordion'; +import { + default as _Accordion, + AccordionProps as _AccordionProps, +} from '@mui/material/Accordion'; import AccordionDetails, { AccordionDetailsProps, -} from 'src/components/core/AccordionDetails'; +} from '@mui/material/AccordionDetails'; import AccordionSummary, { AccordionSummaryProps, -} from 'src/components/core/AccordionSummary'; +} from '@mui/material/AccordionSummary'; import Typography, { TypographyProps } from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; -import RenderGuard from 'src/components/RenderGuard'; import { makeStyles } from 'tss-react/mui'; import { Notice } from 'src/components/Notice/Notice'; -const useStyles = makeStyles()(() => ({ +const useStyles = makeStyles()({ itemCount: { display: 'flex', alignItems: 'center', @@ -29,23 +31,65 @@ const useStyles = makeStyles()(() => ({ position: 'absolute', right: 50, }, -})); +}); -export interface Props extends AccordionProps { +export interface AccordionProps extends _AccordionProps { + /** + * A header placed at the top of the Accordion + */ heading: string | React.ReactNode; + /** + * Error text that shows as a `` at the top of the Accordion's body + */ error?: string; + /** + * Warning text that shows as a `` at the top of the Accordion's body + */ warning?: string; + /** + * Success text that shows as a `` at the top of the Accordion's body + */ success?: string; - loading?: boolean; - actions?: (props: AccordionProps) => null | JSX.Element; + /** + * Renders actions at the bottom of the Accordion's body + */ + actions?: (props: _AccordionProps) => null | JSX.Element; + /** + * Optional className to pass to the expand icon + */ expandIconClassNames?: string; + /** + * Props to pass to the underlying `AccordionSummary` MUI component + */ summaryProps?: AccordionSummaryProps; + /** + * Props to pass to heading's `` component + */ headingProps?: TypographyProps; + /** + * Props to pass to the underlying `AccordionDetails` MUI component + */ detailProps?: AccordionDetailsProps; + /** + * A number to display in the Accordion's heading + */ headingNumberCount?: number; } -export const Accordion = (props: Props) => { +/** + * Accordions are better suited for when people need to focus on content that is key for decision making and other supplementary content can be hidden. Accordions should be avoided when users need most if not all of the content on a page. Scrolling isn't as big of an issue as once thought. + * + * ### Pros + * - Puts focus on the content the user is interested in + * - Can make pages seem less complex + * + * ### Cons + * - Can be cumbersome which adds to cognitive load + * - “People treat clicks like currency and they don't spend it frivolously” - NNG [Citation](https://www.nngroup.com/articles/clickable-elements/) + * - Increases interaction cost + * - Accordions collapsed by default diminishes people's awareness of content + */ +export const Accordion = (props: AccordionProps) => { const { classes } = useStyles(); const { @@ -115,5 +159,3 @@ export const Accordion = (props: Props) => { ); }; - -export default RenderGuard(Accordion); diff --git a/packages/manager/src/components/Accordion/Accordion.stories.mdx b/packages/manager/src/components/Accordion/Accordion.stories.mdx deleted file mode 100644 index 281aceef302..00000000000 --- a/packages/manager/src/components/Accordion/Accordion.stories.mdx +++ /dev/null @@ -1,115 +0,0 @@ -import { Button } from 'src/components/Button/Button'; -import ActionsPanel from '../ActionsPanel'; -import Accordion from './Accordion'; -import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs'; - - - -# Accordion - -Accordions are better suited for when people need to focus on content that is key for decision making and other supplementary content can be hidden. Accordions should be avoided when users need most if not all of the content on a page. Scrolling isn't as big of an issue as once thought. - -### Pros - -- Puts focus on the content the user is interested in -- Can make pages seem less complex - -### Cons - -- Can be cumbersome which adds to cognitive load - - “People treat clicks like currency and they don't spend it frivolously” - NNG [Citation](https://www.nngroup.com/articles/clickable-elements/) -- Increases interaction cost -- Accordions collapsed by default diminishes people's awareness of content - -export const renderActions = () => { - return ( - - - - - ); -}; - -export const Template = (args) => ( - -

Any children can go here

-
-); - -The Accordion component's props extends the Material UI Accordion props - - - null | JSX.Element' }, - options: { - 'Without Actions': undefined, - 'With Actions': renderActions, - }, - }, - success: { - description: 'Set this value to enable a success notice', - type: { summary: 'string | undefined', name: 'string' }, - }, - warning: { - description: 'Set this value to enable a warning notice', - type: { summary: 'string | undefined', name: 'string' }, - }, - error: { - description: 'set this value to enable a error notice', - type: { summary: 'string | undefined', name: 'string' }, - }, - summaryProps: { - description: 'Allows you to pass props to the Accordion Summary', - type: { summary: 'AccordionSummaryProps | undefined' }, - control: { type: null }, - }, - headingProps: { - description: - "Allows you to pass props to the Accordion's Typography Header", - type: { summary: 'TypographyProps | undefined' }, - control: { type: null }, - }, - detailProps: { - description: 'Allows you to pass props to the Accordion Details', - type: { summary: 'AccordionDetailsProps | undefined' }, - control: { type: null }, - }, - }} - > - {Template.bind({})} - - - - diff --git a/packages/manager/src/components/Accordion/index.ts b/packages/manager/src/components/Accordion/index.ts deleted file mode 100644 index 5b3c6e34750..00000000000 --- a/packages/manager/src/components/Accordion/index.ts +++ /dev/null @@ -1,5 +0,0 @@ -import Accordion, { Props as _AccordionProps } from './Accordion'; -/* tslint:disable */ -export interface AccordionProps extends _AccordionProps {} - -export default Accordion; diff --git a/packages/manager/src/components/ExtendedAccordion/ExtendedAccordion.test.tsx b/packages/manager/src/components/ExtendedAccordion/ExtendedAccordion.test.tsx deleted file mode 100644 index 444c2b85da0..00000000000 --- a/packages/manager/src/components/ExtendedAccordion/ExtendedAccordion.test.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { shallow } from 'enzyme'; -import * as React from 'react'; -import { Provider } from 'react-redux'; -import { CircleProgress } from 'src/components/CircleProgress'; -import { ErrorState } from 'src/components/ErrorState/ErrorState'; -import { ExtendedAccordion } from 'src/components/ExtendedAccordion/ExtendedAccordion'; -import { queryClientFactory } from 'src/queries/base'; -import { storeFactory } from 'src/store'; - -const store = storeFactory(queryClientFactory()); - -const onChange = jest.fn(); -const renderMainContent = jest.fn(); - -const props = { - heading: 'Header', - loading: false, - onChange, - renderMainContent, -}; - -describe('ExtendedAccordion', () => { - afterEach(() => jest.resetAllMocks()); - const component = shallow( - - - - ); - it.skip('should load its content when it is neither loading nor in an error state', () => { - expect(renderMainContent).toHaveBeenCalled(); - }); - it('should render an error state on error', () => { - const errorText = 'There was an error loading your panel content.'; - component.setProps({ error: errorText }); - expect(renderMainContent).not.toHaveBeenCalled(); - expect( - component.containsMatchingElement() - ); - }); - it('should render a loading state', () => { - component.setProps({ loading: true, error: false }); - expect(renderMainContent).not.toHaveBeenCalled(); - expect(component.containsMatchingElement()); - }); -}); diff --git a/packages/manager/src/components/ExtendedAccordion/ExtendedAccordion.tsx b/packages/manager/src/components/ExtendedAccordion/ExtendedAccordion.tsx deleted file mode 100644 index 55e3ede36ab..00000000000 --- a/packages/manager/src/components/ExtendedAccordion/ExtendedAccordion.tsx +++ /dev/null @@ -1,73 +0,0 @@ -import * as React from 'react'; -import Accordion, { AccordionProps } from 'src/components/Accordion'; -import { CircleProgress } from 'src/components/CircleProgress'; -import { ErrorState } from 'src/components/ErrorState/ErrorState'; - -interface ExtendedAccordionProps extends Omit { - height?: number; - renderMainContent: () => JSX.Element; - headingNumberCount?: number; - defaultExpanded?: boolean; -} - -/* - * onChange: function that will be called whenever the panel is opened - * or closed. - * - * renderMainContent: This component provides loading and error - * states based on props. If there are no errors and loading is false, - * this function will be called to render the actual content of the panel. - * - */ - -const renderContent = ( - error: string | undefined, - isLoading: boolean, - height: number, - renderMainContent: () => JSX.Element -) => { - if (error) { - return ; - } - - if (isLoading) { - return ( -
- -
- ); - } - - return renderMainContent(); -}; - -export const ExtendedAccordion = (props: ExtendedAccordionProps) => { - const { - error, - heading, - height, - loading, - onChange, - renderMainContent, - headingNumberCount, - defaultExpanded, - } = props; - - return ( - - {renderContent(error, Boolean(loading), height || 300, renderMainContent)} - - ); -}; diff --git a/packages/manager/src/components/core/Accordion.ts b/packages/manager/src/components/core/Accordion.ts deleted file mode 100644 index 403b2595e43..00000000000 --- a/packages/manager/src/components/core/Accordion.ts +++ /dev/null @@ -1,8 +0,0 @@ -import Accordion, { - AccordionProps as _AccordionProps, -} from '@mui/material/Accordion'; - -/* tslint:disable-next-line:no-empty-interface */ -export interface AccordionProps extends _AccordionProps {} - -export default Accordion; diff --git a/packages/manager/src/components/core/AccordionDetails.ts b/packages/manager/src/components/core/AccordionDetails.ts deleted file mode 100644 index 5786cd1436e..00000000000 --- a/packages/manager/src/components/core/AccordionDetails.ts +++ /dev/null @@ -1,8 +0,0 @@ -import AccordionDetails, { - AccordionDetailsProps as _AccordionDetailsProps, -} from '@mui/material/AccordionDetails'; - -/* tslint:disable-next-line:no-empty-interface */ -export interface AccordionDetailsProps extends _AccordionDetailsProps {} - -export default AccordionDetails; diff --git a/packages/manager/src/components/core/AccordionSummary.ts b/packages/manager/src/components/core/AccordionSummary.ts deleted file mode 100644 index b3064880427..00000000000 --- a/packages/manager/src/components/core/AccordionSummary.ts +++ /dev/null @@ -1,8 +0,0 @@ -import AccordionSummary, { - AccordionSummaryProps as _AccordionSummaryProps, -} from '@mui/material/AccordionSummary'; - -/* tslint:disable-next-line:no-empty-interface */ -export interface AccordionSummaryProps extends _AccordionSummaryProps {} - -export default AccordionSummary; diff --git a/packages/manager/src/features/Account/AutoBackups.tsx b/packages/manager/src/features/Account/AutoBackups.tsx index 12e0ff0661d..d954db5f796 100644 --- a/packages/manager/src/features/Account/AutoBackups.tsx +++ b/packages/manager/src/features/Account/AutoBackups.tsx @@ -1,7 +1,7 @@ import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import * as React from 'react'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import FormControlLabel from 'src/components/core/FormControlLabel'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Account/CloseAccountSetting.tsx b/packages/manager/src/features/Account/CloseAccountSetting.tsx index fe454f3a318..a924ba02ec0 100644 --- a/packages/manager/src/features/Account/CloseAccountSetting.tsx +++ b/packages/manager/src/features/Account/CloseAccountSetting.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import { Button } from 'src/components/Button/Button'; import Grid from '@mui/material/Unstable_Grid2'; import CloseAccountDialog from './CloseAccountDialog'; diff --git a/packages/manager/src/features/Account/EnableManaged.tsx b/packages/manager/src/features/Account/EnableManaged.tsx index b3f0d97ddcc..204e702a568 100644 --- a/packages/manager/src/features/Account/EnableManaged.tsx +++ b/packages/manager/src/features/Account/EnableManaged.tsx @@ -1,7 +1,7 @@ import { enableManaged } from '@linode/api-v4/lib/managed'; import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; diff --git a/packages/manager/src/features/Account/EnableObjectStorage.tsx b/packages/manager/src/features/Account/EnableObjectStorage.tsx index d21c213aa04..27aa49724ce 100644 --- a/packages/manager/src/features/Account/EnableObjectStorage.tsx +++ b/packages/manager/src/features/Account/EnableObjectStorage.tsx @@ -3,7 +3,7 @@ import { cancelObjectStorage } from '@linode/api-v4/lib/object-storage'; import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import { Link } from 'react-router-dom'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; diff --git a/packages/manager/src/features/Account/NetworkHelper.tsx b/packages/manager/src/features/Account/NetworkHelper.tsx index 8eb347e8961..0aa96e303ca 100644 --- a/packages/manager/src/features/Account/NetworkHelper.tsx +++ b/packages/manager/src/features/Account/NetworkHelper.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import FormControlLabel from 'src/components/core/FormControlLabel'; import Typography from 'src/components/core/Typography'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import Grid from '@mui/material/Unstable_Grid2'; import { Toggle } from 'src/components/Toggle'; diff --git a/packages/manager/src/features/EntityTransfers/TransfersTable.tsx b/packages/manager/src/features/EntityTransfers/TransfersTable.tsx index 77b131884d5..24bce7efc02 100644 --- a/packages/manager/src/features/EntityTransfers/TransfersTable.tsx +++ b/packages/manager/src/features/EntityTransfers/TransfersTable.tsx @@ -4,7 +4,7 @@ import { } from '@linode/api-v4/lib/entity-transfers'; import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import Hidden from 'src/components/core/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx b/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx index 9a7d914ec81..0b0c0e68f39 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Box from 'src/components/core/Box'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import Link from 'src/components/Link'; import { Notice } from 'src/components/Notice/Notice'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsAlertsPanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsAlertsPanel.tsx index cff69c0b774..6d3881e968f 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsAlertsPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsAlertsPanel.tsx @@ -2,7 +2,7 @@ import { Linode } from '@linode/api-v4'; import { useFormik } from 'formik'; import { useSnackbar } from 'notistack'; import * as React from 'react'; -import Accordion from 'src/components/Accordion/Accordion'; +import { Accordion } from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsDeletePanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsDeletePanel.tsx index 16de7a138eb..96ed551c9bf 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsDeletePanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsDeletePanel.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { useHistory } from 'react-router-dom'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsLabelPanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsLabelPanel.tsx index ca23f43c437..70d01e9548e 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsLabelPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsLabelPanel.tsx @@ -1,7 +1,7 @@ import { useFormik } from 'formik'; import { useSnackbar } from 'notistack'; import * as React from 'react'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsPasswordPanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsPasswordPanel.tsx index 180fc241f73..2f0392d9af2 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsPasswordPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsPasswordPanel.tsx @@ -1,6 +1,6 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import EnhancedSelect from 'src/components/EnhancedSelect/Select'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeWatchdogPanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeWatchdogPanel.tsx index a96c88f17f7..78a6e75eba0 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeWatchdogPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeWatchdogPanel.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import FormControlLabel from 'src/components/core/FormControlLabel'; import Typography from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx index 0fb18bbe7e1..82cbb971c96 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx @@ -5,7 +5,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import Box from 'src/components/core/Box'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import Paper from 'src/components/core/Paper'; import LandingHeader from 'src/components/LandingHeader'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerConfigurations.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerConfigurations.tsx index 629310ceb39..3cdaeb9d981 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerConfigurations.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerConfigurations.tsx @@ -26,7 +26,7 @@ import { import * as React from 'react'; import { RouteComponentProps, withRouter } from 'react-router-dom'; import { compose as composeC } from 'recompose'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; @@ -994,14 +994,6 @@ class NodeBalancerConfigurations extends React.Component { return ( )} diff --git a/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/ReplyContainer.tsx b/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/ReplyContainer.tsx index 90c855db18b..f549d3983fa 100644 --- a/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/ReplyContainer.tsx +++ b/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/ReplyContainer.tsx @@ -2,7 +2,7 @@ import { SupportReply, uploadAttachment } from '@linode/api-v4/lib/support'; import { APIError } from '@linode/api-v4/lib/types'; import { lensPath, set } from 'ramda'; import * as React from 'react'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx b/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx index c50e9074995..16e45505048 100644 --- a/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx +++ b/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx @@ -7,7 +7,7 @@ import * as Bluebird from 'bluebird'; import { update } from 'ramda'; import * as React from 'react'; import { compose as recompose } from 'recompose'; -import Accordion from 'src/components/Accordion'; +import { Accordion } from 'src/components/Accordion'; import { StyledActionPanel } from 'src/components/ActionsPanel/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import FormHelperText from 'src/components/core/FormHelperText'; From a5ea019a99c8059abb20fe3d80b9b10af9508f74 Mon Sep 17 00:00:00 2001 From: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com> Date: Wed, 28 Jun 2023 11:48:57 -0400 Subject: [PATCH 42/88] fix: local dev server AppBarProps export (#9334) Co-authored-by: Banks Nussman --- packages/manager/src/components/AppBar.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/manager/src/components/AppBar.ts b/packages/manager/src/components/AppBar.ts index 63171a8c177..c8e82fa5c6e 100644 --- a/packages/manager/src/components/AppBar.ts +++ b/packages/manager/src/components/AppBar.ts @@ -1,2 +1,2 @@ export { default as AppBar } from '@mui/material/AppBar'; -export { AppBarProps } from '@mui/material/AppBar'; +export type { AppBarProps } from '@mui/material/AppBar'; From 4a4959271e4ac9e70228a582a3dc9fe84a4ea341 Mon Sep 17 00:00:00 2001 From: ecarrill Date: Wed, 28 Jun 2023 09:21:00 -0700 Subject: [PATCH 43/88] refactor: [M3-6063] - Fix CloseAccount button --- packages/manager/src/cachedData/kernels.json | 2 +- packages/manager/src/cachedData/regions.json | 2 +- .../TypeToConfirmDialog.tsx | 2 +- .../features/Account/CloseAccountDialog.tsx | 1 + yarn.lock | 127 ++++-------------- 5 files changed, 31 insertions(+), 103 deletions(-) diff --git a/packages/manager/src/cachedData/kernels.json b/packages/manager/src/cachedData/kernels.json index f46b9f5e0cd..ae8e94cf0a8 100644 --- a/packages/manager/src/cachedData/kernels.json +++ b/packages/manager/src/cachedData/kernels.json @@ -1 +1 @@ -{"data":[{"id":"linode/latest-2.6-32bit","label":"Latest 2.6 (2.6.39.1-linode34)","version":"2.6.39","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/latest-2.6","label":"Latest 2.6 Stable (2.6.23.17-linode44)","version":"2.6.24","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/latest-32bit","label":"Latest 32 bit (6.1.10-x86-linode179)","version":"6.1.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-02-08T19:07:56"},{"id":"linode/2.6.18.8-linode22","label":"Latest Legacy (2.6.18.8-linode22)","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2006-06-25T04:00:00"},{"id":"linode/6.2.9-x86_64-linode160","label":"6.2.9-x86_64-linode160","version":"6.2.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-04-05T19:30:32"},{"id":"linode/6.2.9-x86-linode180","label":"6.2.9-x86-linode180","version":"6.2.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-04-05T19:23:04"},{"id":"linode/6.1.10-x86_64-linode159","label":"6.1.10-x86_64-linode159","version":"6.1.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-02-08T19:14:45"},{"id":"linode/6.1.10-x86-linode179","label":"6.1.10-x86-linode179","version":"6.1.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-02-08T19:07:56"},{"id":"linode/6.0.10-x86_64-linode158","label":"6.0.10-x86_64-linode158","version":"6.0.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-12-01T18:16:43"},{"id":"linode/6.0.10-x86-linode178","label":"6.0.10-x86-linode178","version":"6.0.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-12-01T18:09:33"},{"id":"linode/6.0.2-x86_64-linode157","label":"6.0.2-x86_64-linode157","version":"6.0.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-10-17T17:01:41"},{"id":"linode/6.0.2-x86-linode177","label":"6.0.2-x86-linode177","version":"6.0.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-10-17T16:54:28"},{"id":"linode/5.19.2-x86_64-linode156","label":"5.19.2-x86_64-linode156","version":"5.19.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-08-18T19:51:13"},{"id":"linode/5.19.2-x86-linode176","label":"5.19.2-x86-linode176","version":"5.19.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-08-18T19:44:26"},{"id":"linode/5.18.2-x86_64-linode155","label":"5.18.2-x86_64-linode155","version":"5.18.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-06-07T14:46:11"},{"id":"linode/5.18.2-x86-linode175","label":"5.18.2-x86-linode175","version":"5.18.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-06-07T14:39:32"},{"id":"linode/5.17.5-x86_64-linode154","label":"5.17.5-x86_64-linode154","version":"5.17.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-05-02T19:07:22"},{"id":"linode/5.17.5-x86-linode174","label":"5.17.5-x86-linode174","version":"5.17.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-05-02T19:00:48"},{"id":"linode/5.16.13-x86-linode173","label":"5.16.13-x86-linode173","version":"5.16.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-03-08T19:09:29"},{"id":"linode/5.16.13-x86_64-linode153","label":"5.16.13-x86_64-linode153","version":"5.16.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-03-08T19:16:05"},{"id":"linode/5.16.3-x86_64-linode152","label":"5.16.3-x86_64-linode152","version":"5.16.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-01-27T19:46:44"},{"id":"linode/5.16.3-x86-linode172","label":"5.16.3-x86-linode172","version":"5.16.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-01-27T19:40:10"},{"id":"linode/5.15.10-x86_64-linode151","label":"5.15.10-x86_64-linode151","version":"5.15.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2021-12-21T18:44:00"},{"id":"linode/5.15.10-x86-linode171","label":"5.15.10-x86-linode171","version":"5.15.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2021-12-21T18:37:00"},{"id":"linode/5.14.17-x86_64-linode150","label":"5.14.17-x86_64-linode150","version":"5.14.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-11-11T18:23:00"},{"id":"linode/5.14.17-x86-linode170","label":"5.14.17-x86-linode170","version":"5.14.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-11-11T18:17:00"},{"id":"linode/5.14.15-x86_64-linode149","label":"5.14.15-x86_64-linode149","version":"5.14.15","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-11-01T18:02:00"},{"id":"linode/5.14.15-x86-linode169","label":"5.14.15-x86-linode169","version":"5.14.15","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-11-01T17:55:00"},{"id":"linode/5.14.14-x86_64-linode148","label":"5.14.14-x86_64-linode148","version":"5.14.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-10-20T18:22:00"},{"id":"linode/5.14.14-x86-linode168","label":"5.14.14-x86-linode168","version":"5.14.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-10-20T18:15:00"},{"id":"linode/5.14.2-x86_64-linode147","label":"5.14.2-x86_64-linode147","version":"5.14.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-09-08T19:06:00"},{"id":"linode/5.14.2-x86-linode167","label":"5.14.2-x86-linode167","version":"5.14.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-09-08T19:00:00"},{"id":"linode/5.13.4-x86_64-linode146","label":"5.13.4-x86_64-linode146","version":"5.13.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-07-21T18:51:00"},{"id":"linode/5.13.4-x86-linode166","label":"5.13.4-x86-linode166","version":"5.13.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-07-21T18:45:00"},{"id":"linode/5.12.13-x86_64-linode145","label":"5.12.13-x86_64-linode145","version":"5.12.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-06-24T20:24:00"},{"id":"linode/5.12.13-x86-linode165","label":"5.12.13-x86-linode165","version":"5.12.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-06-24T20:19:00"},{"id":"linode/5.12.2-x86_64-linode144","label":"5.12.2-x86_64-linode144","version":"5.12.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-05-10T17:16:00"},{"id":"linode/5.12.2-x86-linode164","label":"5.12.2-x86-linode164","version":"5.12.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-05-10T17:10:00"},{"id":"linode/5.11.13-x86_64-linode143","label":"5.11.13-x86_64-linode143","version":"5.11.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-04-13T15:46:00"},{"id":"linode/5.11.13-x86-linode163","label":"5.11.13-x86-linode163","version":"5.11.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-04-13T15:40:00"},{"id":"linode/5.11.9-x86_64-linode142","label":"5.11.9-x86_64-linode142","version":"5.11.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-03-24T15:33:00"},{"id":"linode/5.11.9-x86-linode162","label":"5.11.9-x86-linode162","version":"5.11.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-03-24T15:28:00"},{"id":"linode/5.10.13-x86_64-linode141","label":"5.10.13-x86_64-linode141","version":"5.10.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2021-02-04T19:02:00"},{"id":"linode/5.10.13-x86-linode161","label":"5.10.13-x86-linode161","version":"5.10.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2021-02-04T18:56:00"},{"id":"linode/5.10.2-x86_64-linode140","label":"5.10.2-x86_64-linode140","version":"5.10.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-12-22T20:43:00"},{"id":"linode/5.10.2-x86-linode160","label":"5.10.2-x86-linode160","version":"5.10.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-12-22T20:38:00"},{"id":"linode/5.9.6-x86_64-linode139","label":"5.9.6-x86_64-linode139","version":"5.9.6","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-11-05T19:51:00"},{"id":"linode/5.9.6-x86-linode159","label":"5.9.6-x86-linode159","version":"5.9.6","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-11-05T19:45:00"},{"id":"linode/5.8.10-x86-linode158","label":"5.8.10-x86-linode158","version":"5.8.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-09-17T19:58:00"},{"id":"linode/5.8.10-x86_64-linode138","label":"5.8.10-x86_64-linode138","version":"5.8.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-09-17T20:03:00"},{"id":"linode/5.8.3-x86_64-linode137","label":"5.8.3-x86_64-linode137","version":"5.8.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-08-24T18:55:00"},{"id":"linode/5.8.3-x86-linode157","label":"5.8.3-x86-linode157","version":"5.8.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-08-24T18:50:00"},{"id":"linode/5.7.6-x86-linode156","label":"5.7.6-x86-linode156","version":"5.7.6","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-06-25T16:41:08"},{"id":"linode/5.6.14-x86-linode155","label":"5.6.14-x86-linode155","version":"5.6.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-06-01T14:05:47"},{"id":"linode/5.6.1-x86-linode154","label":"5.6.1-x86-linode154","version":"5.6.1","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-04-07T21:29:12"},{"id":"linode/5.4.10-x86-linode152","label":"5.4.10-x86-linode152","version":"5.4.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2020-01-10T21:02:10"},{"id":"linode/5.3.11-x86-linode151","label":"5.3.11-x86-linode151","version":"5.3.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-11-14T20:38:53"},{"id":"linode/5.3.7-x86-linode150","label":"5.3.7-x86-linode150","version":"5.3.7","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-10-30T21:10:08"},{"id":"linode/5.2.9-x86-linode149","label":"5.2.9-x86-linode149","version":"5.2.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-08-21T18:48:52"},{"id":"linode/5.1.17-x86-linode148","label":"5.1.17-x86-linode148","version":"5.1.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-07-16T15:25:35"},{"id":"linode/5.1.11-x86-linode147","label":"5.1.11-x86-linode147","version":"5.1.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-06-17T22:46:37"},{"id":"linode/5.1.5-x86-linode146","label":"5.1.5-x86-linode146","version":"5.1.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-05-30T20:30:37"},{"id":"linode/4.14.120-x86-linode145","label":"4.14.120-x86-linode145","version":"4.14.120","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-05-21T10:57:13"},{"id":"linode/5.1.2-x86-linode144","label":"5.1.2-x86-linode144","version":"5.1.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-05-15T16:13:49"},{"id":"linode/5.0.8-x86-linode143","label":"5.0.8-x86-linode143","version":"5.0.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-04-17T18:39:29"},{"id":"linode/4.20.4-x86-linode141","label":"4.20.4-x86-linode141","version":"4.20.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-01-25T19:13:27"},{"id":"linode/4.19.8-x86-linode140","label":"4.19.8-x86-linode140","version":"4.19.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-12-12T21:44:08"},{"id":"linode/4.19.5-x86-linode139","label":"4.19.5-x86-linode139","version":"4.19.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-11-29T16:36:09"},{"id":"linode/4.18.16-x86-linode138","label":"4.18.16-x86-linode138","version":"4.18.16","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-10-29T20:24:50"},{"id":"linode/4.18.8-x86-linode137","label":"4.18.8-x86-linode137","version":"4.18.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-10-04T18:06:19"},{"id":"linode/4.18.8-x86-linode136","label":"4.18.8-x86-linode136","version":"4.18.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-09-19T12:54:57"},{"id":"linode/4.17.17-x86-linode135","label":"4.17.17-x86-linode135","version":"4.17.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-20T17:24:09"},{"id":"linode/4.17.15-x86-linode134","label":"4.17.15-x86-linode134","version":"4.17.15","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-16T17:13:56"},{"id":"linode/4.17.14-x86-linode133","label":"4.17.14-x86-linode133","version":"4.17.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-13T16:40:31"},{"id":"linode/4.17.14-x86-linode132","label":"4.17.14-x86-linode132","version":"4.17.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-10T21:08:51"},{"id":"linode/4.17.12-x86-linode131","label":"4.17.12-x86-linode131","version":"4.17.12","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-07T13:01:28"},{"id":"linode/4.17.11-x86-linode130","label":"4.17.11-x86-linode130","version":"4.17.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-07-31T19:51:00"},{"id":"linode/4.17.8-x86-linode129","label":"4.17.8-x86-linode129","version":"4.17.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-07-18T17:17:29"},{"id":"linode/4.17.2-x86-linode128","label":"4.17.2-x86-linode128","version":"4.17.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-06-26T19:42:55"},{"id":"linode/4.16.11-x86-linode127","label":"4.16.11-x86-linode127","version":"4.16.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-05-24T21:33:29"},{"id":"linode/4.15.18-x86-linode126","label":"4.15.18-x86-linode126","version":"4.15.18","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-05-02T20:21:02"},{"id":"linode/4.15.13-x86-linode125","label":"4.15.13-x86-linode125","version":"4.15.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-27T17:17:56"},{"id":"linode/4.15.12-x86-linode124","label":"4.15.12-x86-linode124","version":"4.15.12","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-22T20:09:16"},{"id":"linode/4.15.10-x86-linode123","label":"4.15.10-x86-linode123","version":"4.15.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-16T21:18:40"},{"id":"linode/4.15.8-x86-linode122","label":"4.15.8-x86-linode122","version":"4.15.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-10T21:25:42"},{"id":"linode/4.15.7-x86-linode121","label":"4.15.7-x86-linode121","version":"4.15.7","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-01T17:20:09"},{"id":"linode/4.14.19-x86-linode119","label":"4.14.19-x86-linode119","version":"4.14.19","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-13T19:05:44"},{"id":"linode/4.14.17-x86-linode118","label":"4.14.17-x86-linode118","version":"4.14.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-08T18:34:40"},{"id":"linode/4.9.80-x86-linode117","label":"4.9.80-x86-linode117","version":"4.9.80","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-08T18:33:46"},{"id":"linode/4.4.115-x86-linode116","label":"4.4.115-x86-linode116","version":"4.4.115","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-08T18:32:57"},{"id":"linode/4.4.113-x86-linode115","label":"4.4.113-x86-linode115","version":"4.4.113","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-25T22:47:11"},{"id":"linode/4.9.78-x86-linode114","label":"4.9.78-x86-linode114","version":"4.9.78","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-23T23:23:58"},{"id":"linode/4.14.14-x86-linode113","label":"4.14.14-x86-linode113","version":"4.14.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-23T02:00:02"},{"id":"linode/4.14.14-x86-linode112","label":"4.14.14-x86-linode112","version":"4.14.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-18T20:09:53"},{"id":"linode/4.9.64-x86-linode107","label":"4.9.64-x86-linode107","version":"4.9.64","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-12-01T23:10:11"},{"id":"linode/4.9.68-x86-linode108","label":"4.9.68-x86-linode108","version":"4.9.68","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-12-11T19:00:15"},{"id":"linode/4.14.12-x86-linode111","label":"4.14.12-x86-linode111","version":"4.14.12","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-05T16:31:55"},{"id":"linode/4.14.11-x86-linode110","label":"4.14.11-x86-linode110","version":"4.14.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-04T18:56:25"},{"id":"linode/4.9.56-x86-linode106","label":"4.9.56-x86-linode106","version":"4.9.56","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-10-13T21:10:23"},{"id":"linode/4.9.50-x86-linode105","label":"4.9.50-x86-linode105","version":"4.9.50","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-09-14T21:46:56"},{"id":"linode/4.9.36-x86-linode104","label":"4.9.36-x86-linode104","version":"4.9.36","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-07-10T13:16:53"},{"id":"linode/4.9.33-x86-linode102","label":"4.9.33-x86-linode102","version":"4.9.33","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-06-23T22:06:05"},{"id":"linode/4.9.15-x86-linode100","label":"4.9.15-x86-linode100","version":"4.9.15","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-03-22T13:48:13"},{"id":"linode/4.9.7-x86-linode99","label":"4.9.7-x86-linode99","version":"4.9.7","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-02-03T22:54:57"},{"id":"linode/4.9.0-x86-linode98","label":"4.9.0-x86-linode98","version":"4.9.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-12-13T20:10:20"},{"id":"linode/4.8.6-x86-linode97","label":"4.8.6-x86-linode97","version":"4.8.6","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-11-02T15:23:43"},{"id":"linode/4.8.4-x86-linode96","label":"4.8.4-x86-linode96","version":"4.8.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-10-27T18:51:41"},{"id":"linode/4.8.3-x86-linode95","label":"4.8.3-x86-linode95","version":"4.8.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-10-20T23:10:27"},{"id":"linode/4.8.1-x86-linode94","label":"4.8.1-x86-linode94","version":"4.8.1","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-10-07T22:21:55"},{"id":"linode/4.7.3-x86-linode92","label":"4.7.3-x86-linode92","version":"4.7.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-09-15T13:13:40"},{"id":"linode/4.7.0-x86-linode90","label":"4.7.0-x86-linode90","version":"4.7.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-08-05T14:35:48"},{"id":"linode/4.6.5-x86-linode89","label":"4.6.5-x86-linode89","version":"4.6.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-08-04T15:28:59"},{"id":"linode/4.5.5-x86-linode88","label":"4.5.5-x86-linode88","version":"4.5.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-05-24T15:29:02"},{"id":"linode/4.5.3-x86-linode86","label":"4.5.3-x86-linode86","version":"4.5.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-05-10T19:39:51"},{"id":"linode/4.5.0-x86-linode84","label":"4.5.0-x86-linode84","version":"4.5.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-03-16T18:53:02"},{"id":"linode/4.4.4-x86-linode83","label":"4.4.4-x86-linode83","version":"4.4.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-03-10T22:20:19"},{"id":"linode/4.4.0-x86-linode82","label":"4.4.0-x86-linode82","version":"4.4.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-01-20T14:41:05"},{"id":"linode/4.1.5-x86-linode80","label":"4.1.5-x86-linode80","version":"4.1.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-08-24T19:00:43"},{"id":"linode/4.1.5-x86-linode79","label":"4.1.5-x86-linode79","version":"4.1.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-08-13T13:00:00"},{"id":"linode/4.1.0-x86-linode78","label":"4.1.0-x86-linode78","version":"4.1.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-06-22T15:19:32"},{"id":"linode/4.0.5-x86-linode77","label":"4.0.5-x86-linode77","version":"4.0.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-06-11T13:58:18"},{"id":"linode/4.0.5-x86-linode76","label":"4.0.5-x86-linode76","version":"4.0.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-06-10T15:31:52"},{"id":"linode/4.0.4-x86-linode75","label":"4.0.4-x86-linode75","version":"4.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-05-21T15:15:47"},{"id":"linode/4.0.2-x86-linode74","label":"4.0.2-x86-linode74","version":"4.0.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-05-11T20:56:58"},{"id":"linode/4.0-x86-linode73","label":"4.0.1-x86-linode73","version":"4.0.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-05-04T13:43:23"},{"id":"linode/4.0-x86-linode72","label":"4.0-x86-linode72","version":"4.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-04-21T13:02:24"},{"id":"linode/3.19.1-x86-linode71","label":"3.19.1-x86-linode71","version":"3.19.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-03-11T18:00:36"},{"id":"linode/3.18.5-x86-linode70","label":"3.18.5-x86-linode70","version":"3.18.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-02-05T05:00:00"},{"id":"linode/3.18.3-x86-linode69","label":"3.18.3-x86-linode69","version":"3.18.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-01-23T15:12:45"},{"id":"linode/3.18.1-x86-linode68","label":"3.18.1-x86-linode68","version":"3.18.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-01-06T17:32:39"},{"id":"linode/3.16.7-x86-linode67","label":"3.16.7-x86-linode67","version":"3.16.7","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-11-14T22:31:46"},{"id":"linode/3.16.5-x86-linode65","label":"3.16.5-x86-linode65","version":"3.16.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-10-13T13:40:00"},{"id":"linode/3.15.4-x86-linode64","label":"3.15.4-x86-linode64","version":"3.15.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-07-07T13:50:35"},{"id":"linode/3.15.3-x86-linode63","label":"3.15.3-x86-linode63","version":"3.15.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-07-02T12:12:37"},{"id":"linode/3.15.2-x86-linode62","label":"3.15.2-x86-linode62","version":"3.15.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-06-30T18:46:50"},{"id":"linode/3.14.5-x86-linode61","label":"3.14.5-x86-linode61","version":"3.14.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-06-05T20:05:44"},{"id":"linode/3.14.5-x86-linode60","label":"3.14.5-x86-linode60","version":"3.14.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-06-03T13:09:58"},{"id":"linode/3.14.4-x86-linode59","label":"3.14.4-x86-linode59","version":"3.14.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-05-13T17:42:22"},{"id":"linode/3.14.1-x86-linode58","label":"3.14.1-x86-linode58","version":"3.14.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-04-25T17:49:15"},{"id":"linode/3.13.7-x86-linode57","label":"3.13.7-x86-linode57","version":"3.13.7","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-03-25T18:21:50"},{"id":"linode/3.12.9-x86-linode56","label":"3.12.9-x86-linode56","version":"3.12.9","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-02-03T19:42:13"},{"id":"linode/3.11.6-x86-linode54","label":"3.11.6-x86-linode54","version":"3.11.6","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-10-23T16:06:29"},{"id":"linode/3.12.6-x86-linode55","label":"3.12.6-x86-linode55","version":"3.12.6","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-12-23T16:25:39"},{"id":"linode/3.10.3-x86-linode53","label":"3.10.3-x86-linode53","version":"3.10.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-07-26T16:35:12"},{"id":"linode/3.9.3-x86-linode52","label":"3.9.3-x86-linode52","version":"3.9.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-05-20T14:27:27"},{"id":"linode/3.9.2-x86-linode51","label":"3.9.2-x86-linode51","version":"3.9.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-05-14T16:13:27"},{"id":"linode/3.8.4-linode50","label":"3.8.4-linode50","version":"3.8.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-03-25T20:42:49"},{"id":"linode/3.7.10-linode49","label":"3.7.10-linode49","version":"3.7.10","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-02-27T19:49:45"},{"id":"linode/3.7.5-linode48","label":"3.7.5-linode48","version":"3.7.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-01-31T19:52:25"},{"id":"linode/3.6.5-linode47","label":"3.6.5-linode47","version":"3.6.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-11-04T17:42:14"},{"id":"linode/3.5.3-linode46","label":"3.5.3-linode46","version":"3.5.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-09-05T20:45:36"},{"id":"linode/3.5.2-linode45","label":"3.5.2-linode45","version":"3.5.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-08-15T18:16:29"},{"id":"linode/3.4.2-linode44","label":"3.4.2-linode44","version":"3.4.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-06-11T19:03:10"},{"id":"linode/3.0.18-linode43","label":"3.0.18-linode43","version":"3.0.18","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-30T17:42:21"},{"id":"linode/3.1.10-linode42","label":"3.1.10-linode42","version":"3.1.10","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-25T21:24:07"},{"id":"linode/3.0.17-linode41","label":"3.0.17-linode41","version":"3.0.17","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-25T21:24:05"},{"id":"linode/3.2.1-linode40","label":"3.2.1-linode40","version":"3.2.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-23T16:04:48"},{"id":"linode/3.1.0-linode39","label":"3.1.0-linode39","version":"3.1.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-10-25T17:57:05"},{"id":"linode/3.0.4-linode38","label":"3.0.4-linode38","version":"3.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-09-22T18:57:59"},{"id":"linode/3.0.4-linode37","label":"3.0.4-linode37","version":"3.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-09-12T16:03:31"},{"id":"linode/3.0.4-linode36","label":"3.0.4-linode36","version":"3.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-09-02T01:08:55"},{"id":"linode/3.0-linode35","label":"3.0.0-linode35","version":"3.0.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-08-02T15:43:52"},{"id":"linode/2.6.39.1-linode34","label":"2.6.39.1-linode34","version":"2.6.39","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-06-21T14:42:50"},{"id":"linode/2.6.39-linode33","label":"2.6.39-linode33","version":"2.6.39","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-05-25T19:05:05"},{"id":"linode/2.6.38.3-linode32","label":"2.6.38.3-linode32","version":"2.6.38","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-04-21T20:21:48"},{"id":"linode/2.6.38-linode31","label":"2.6.38-linode31","version":"2.6.38","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-03-21T21:44:09"},{"id":"linode/2.6.37-linode30","label":"2.6.37-linode30","version":"2.6.37","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-01-27T05:00:00"},{"id":"linode/2.6.35.7-linode29","label":"2.6.35.7-linode29","version":"2.6.35","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-10-13T04:00:00"},{"id":"linode/2.6.32.16-linode28","label":"2.6.32.16-linode28","version":"2.6.32","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-07-25T21:34:00"},{"id":"linode/2.6.34-linode27","label":"2.6.34-linode27","version":"2.6.34","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-07-16T04:00:00"},{"id":"linode/2.6.32.12-linode25","label":"2.6.32.12-linode25","version":"2.6.33","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-04-28T04:00:00"},{"id":"linode/2.6.33-linode24","label":"2.6.33-linode24","version":"2.6.33","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-02-24T22:05:00"},{"id":"linode/2.6.32-linode23","label":"2.6.32-linode23","version":"2.6.32","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-12-05T16:14:00"},{"id":"linode/2.6.18.8-linode22","label":"2.6.18.8-linode22","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-11-10T05:00:00"},{"id":"linode/2.6.31.5-linode21","label":"2.6.31.5-linode21","version":"2.6.31","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/2.6.30.5-linode20","label":"2.6.30.5-linode20","version":"2.6.30","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/2.6.23.17-linode44","label":"2.6.23.17-linode44","version":"2.6.23","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/2.6.18.8-linode19","label":"2.6.18.8-linode19","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-08-14T04:00:00"},{"id":"linode/2.6.29-linode18","label":"2.6.29-linode18","version":"2.6.29","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-04-01T04:00:00"},{"id":"linode/2.6.28.3-linode17","label":"2.6.28.3-linode17","version":"2.6.28","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-02-04T05:00:00"},{"id":"linode/2.6.18.8-linode16","label":"2.6.18.8-linode16","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-01-12T14:47:00"},{"id":"linode/2.6.28-linode15","label":"2.6.28-linode15","version":"2.6.28","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-12-29T05:00:00"},{"id":"linode/2.6.27.4-linode14","label":"2.6.27.4-linode14","version":"2.6.27","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-11-05T05:00:00"},{"id":"linode/2.6.26-linode13","label":"2.6.26-linode13","version":"2.6.26","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-07-13T23:15:00"},{"id":"linode/2.6.25.10-linode12","label":"2.6.25.10-linode12","version":"2.6.25","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-07-03T04:00:00"},{"id":"linode/2.6.18.8-linode10","label":"2.6.18.8-linode10","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2008-06-23T04:00:00"},{"id":"linode/2.6.25-linode9","label":"2.6.25-linode9","version":"2.6.25","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-04-10T04:00:00"},{"id":"linode/2.6.24.4-linode8","label":"2.6.24.4-linode8","version":"2.6.24","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-03-31T04:00:00"},{"id":"linode/2.6.18.8-domU-linode7","label":"2.6.18.8-domU-linode7","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":null},{"id":"linode/latest-2.6-64bit","label":"Latest 2.6 (2.6.39.1-x86_64-linode19)","version":"2.6.39","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/latest-64bit","label":"Latest 64 bit (6.1.10-x86_64-linode159)","version":"6.1.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-02-08T19:14:45"},{"id":"linode/2.6.18.8-x86_64-linode10","label":"Latest Legacy (2.6.18.8-x86_64-linode10)","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/5.7.6-x86_64-linode136","label":"5.7.6-x86_64-linode136","version":"5.7.6","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-06-25T16:41:35"},{"id":"linode/5.6.14-x86_64-linode135","label":"5.6.14-x86_64-linode135","version":"5.6.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-06-01T14:06:45"},{"id":"linode/5.6.1-x86_64-linode134","label":"5.6.1-x86_64-linode134","version":"5.6.1","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-04-07T21:29:51"},{"id":"linode/5.4.10-x86_64-linode132","label":"5.4.10-x86_64-linode132","version":"5.4.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2020-01-10T21:03:16"},{"id":"linode/5.3.11-x86_64-linode131","label":"5.3.11-x86_64-linode131","version":"5.3.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-11-14T20:39:27"},{"id":"linode/5.3.7-x86_64-linode130","label":"5.3.7-x86_64-linode130","version":"5.3.7","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-10-30T21:10:29"},{"id":"linode/5.2.9-x86_64-linode129","label":"5.2.9-x86_64-linode129","version":"5.2.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-08-21T18:49:31"},{"id":"linode/5.1.17-x86_64-linode128","label":"5.1.17-x86_64-linode128","version":"5.1.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-07-16T15:26:33"},{"id":"linode/5.1.11-x86_64-linode127","label":"5.1.11-x86_64-linode127","version":"5.1.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-06-17T22:47:20"},{"id":"linode/5.1.5-x86_64-linode126","label":"5.1.5-x86_64-linode126","version":"5.1.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-05-30T20:30:39"},{"id":"linode/4.14.120-x86_64-linode125","label":"4.14.120-x86_64-linode125","version":"4.14.120","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-05-21T10:57:46"},{"id":"linode/5.1.2-x86_64-linode124","label":"5.1.2-x86_64-linode124","version":"5.1.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-05-15T16:14:35"},{"id":"linode/5.0.8-x86_64-linode123","label":"5.0.8-x86_64-linode123","version":"5.0.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-04-17T18:39:56"},{"id":"linode/5.0.1-x86_64-linode122","label":"5.0.1-x86_64-linode122","version":"5.0.1","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-03-13T16:51:01"},{"id":"linode/4.20.4-x86_64-linode121","label":"4.20.4-x86_64-linode121","version":"4.20.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-01-25T19:13:29"},{"id":"linode/4.19.8-x86_64-linode120","label":"4.19.8-x86_64-linode120","version":"4.19.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-12-12T21:44:08"},{"id":"linode/4.19.5-x86_64-linode119","label":"4.19.5-x86_64-linode119","version":"4.19.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-11-29T16:36:53"},{"id":"linode/4.18.16-x86_64-linode118","label":"4.18.16-x86_64-linode118","version":"4.18.16","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-10-29T20:24:13"},{"id":"linode/4.18.8-x86_64-linode117","label":"4.18.8-x86_64-linode117","version":"4.18.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-09-19T12:55:56"},{"id":"linode/4.17.17-x86_64-linode116","label":"4.17.17-x86_64-linode116","version":"4.17.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-20T17:23:32"},{"id":"linode/4.17.15-x86_64-linode115","label":"4.17.15-x86_64-linode115","version":"4.17.15","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-16T17:13:28"},{"id":"linode/4.17.14-x86_64-linode114","label":"4.17.14-x86_64-linode114","version":"4.17.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-13T16:41:06"},{"id":"linode/4.17.14-x86_64-linode113","label":"4.17.14-x86_64-linode113","version":"4.17.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-10T21:07:56"},{"id":"linode/4.17.12-x86_64-linode112","label":"4.17.12-x86_64-linode112","version":"4.17.12","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-07T13:02:24"},{"id":"linode/4.17.11-x86_64-linode111","label":"4.17.11-x86_64-linode111","version":"4.17.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-07-31T19:51:53"},{"id":"linode/4.17.8-x86_64-linode110","label":"4.17.8-x86_64-linode110","version":"4.17.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-07-18T17:18:30"},{"id":"linode/4.17.2-x86_64-linode109","label":"4.17.2-x86_64-linode109","version":"4.17.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-06-26T19:42:57"},{"id":"linode/4.16.11-x86_64-linode108","label":"4.16.11-x86_64-linode108","version":"4.16.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-05-24T21:33:31"},{"id":"linode/4.15.18-x86_64-linode107","label":"4.15.18-x86_64-linode107","version":"4.15.18","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-05-02T20:21:04"},{"id":"linode/4.15.13-x86_64-linode106","label":"4.15.13-x86_64-linode106","version":"4.15.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-27T17:17:56"},{"id":"linode/4.15.12-x86_64-linode105","label":"4.15.12-x86_64-linode105","version":"4.15.12","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-22T20:08:43"},{"id":"linode/4.15.10-x86_64-linode104","label":"4.15.10-x86_64-linode104","version":"4.15.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-16T21:18:35"},{"id":"linode/4.15.8-x86_64-linode103","label":"4.15.8-x86_64-linode103","version":"4.15.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-10T21:25:43"},{"id":"linode/4.15.7-x86_64-linode102","label":"4.15.7-x86_64-linode102","version":"4.15.7","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-01T17:20:54"},{"id":"linode/4.14.19-x86_64-linode100","label":"4.14.19-x86_64-linode100","version":"4.14.19","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-13T19:07:46"},{"id":"linode/4.14.17-x86_64-linode99","label":"4.14.17-x86_64-linode99","version":"4.14.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-08T18:35:09"},{"id":"linode/4.9.80-x86_64-linode98","label":"4.9.80-x86_64-linode98","version":"4.9.80","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-08T18:34:16"},{"id":"linode/4.4.115-x86_64-linode97","label":"4.4.115-x86_64-linode97","version":"4.4.115","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-08T18:33:23"},{"id":"linode/4.4.113-x86_64-linode96","label":"4.4.113-x86_64-linode96","version":"4.4.113","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-25T22:47:11"},{"id":"linode/4.9.78-x86_64-linode95","label":"4.9.78-x86_64-linode95","version":"4.9.78","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-23T23:23:58"},{"id":"linode/4.14.14-x86_64-linode94","label":"4.14.14-x86_64-linode94","version":"4.14.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-23T02:10:08"},{"id":"linode/4.14.14-x86_64-linode93","label":"4.14.14-x86_64-linode93","version":"4.14.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-18T20:08:56"},{"id":"linode/4.9.64-x86_64-linode88","label":"4.9.64-x86_64-linode88","version":"4.9.64","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-12-01T23:10:11"},{"id":"linode/4.9.68-x86_64-linode89","label":"4.9.68-x86_64-linode89","version":"4.9.68","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-12-11T19:00:48"},{"id":"linode/4.14.12-x86_64-linode92","label":"4.14.12-x86_64-linode92","version":"4.14.12","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-05T16:31:28"},{"id":"linode/4.14.11-x86_64-linode91","label":"4.14.11-x86_64-linode91","version":"4.14.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-04T18:56:22"},{"id":"linode/4.9.56-x86_64-linode87","label":"4.9.56-x86_64-linode87","version":"4.9.56","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-10-13T21:09:35"},{"id":"linode/4.9.50-x86_64-linode86","label":"4.9.50-x86_64-linode86","version":"4.9.50","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-09-14T21:46:25"},{"id":"linode/4.9.36-x86_64-linode85","label":"4.9.36-x86_64-linode85","version":"4.9.36","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-07-10T13:16:08"},{"id":"linode/4.9.33-x86_64-linode83","label":"4.9.33-x86_64-linode83","version":"4.9.33","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-06-23T21:04:33"},{"id":"linode/4.9.15-x86_64-linode81","label":"4.9.15-x86_64-linode81","version":"4.9.15","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-03-22T13:49:33"},{"id":"linode/4.9.7-x86_64-linode80","label":"4.9.7-x86_64-linode80","version":"4.9.7","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-02-03T22:55:37"},{"id":"linode/4.9.0-x86_64-linode79","label":"4.9.0-x86_64-linode79","version":"4.9.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-12-13T20:11:03"},{"id":"linode/4.8.6-x86_64-linode78","label":"4.8.6-x86_64-linode78","version":"4.8.6","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-11-02T15:24:17"},{"id":"linode/4.8.4-x86_64-linode77","label":"4.8.4-x86_64-linode77","version":"4.8.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-10-27T18:53:07"},{"id":"linode/4.8.3-x86_64-linode76","label":"4.8.3-x86_64-linode76","version":"4.8.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-10-20T23:10:27"},{"id":"linode/4.8.1-x86_64-linode75","label":"4.8.1-x86_64-linode75","version":"4.8.1","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-10-07T22:22:13"},{"id":"linode/4.7.3-x86_64-linode73","label":"4.7.3-x86_64-linode73","version":"4.7.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-09-15T13:13:01"},{"id":"linode/4.7.0-x86_64-linode72","label":"4.7.0-x86_64-linode72","version":"4.7.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-08-05T14:34:25"},{"id":"linode/4.6.5-x86_64-linode71","label":"4.6.5-x86_64-linode71","version":"4.6.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-08-04T15:28:01"},{"id":"linode/4.6.3-x86_64-linode70","label":"4.6.3-x86_64-linode70","version":"4.6.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-07-07T22:08:28"},{"id":"linode/4.5.5-x86_64-linode69","label":"4.5.5-x86_64-linode69","version":"4.5.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-05-24T15:30:08"},{"id":"linode/4.5.3-x86_64-linode67","label":"4.5.3-x86_64-linode67","version":"4.5.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-05-10T19:42:43"},{"id":"linode/4.5.0-x86_64-linode65","label":"4.5.0-x86_64-linode65","version":"4.5.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-03-16T18:53:02"},{"id":"linode/4.4.4-x86_64-linode64","label":"4.4.4-x86_64-linode64","version":"4.4.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-03-10T22:24:51"},{"id":"linode/4.4.0-x86_64-linode63","label":"4.4.0-x86_64-linode63","version":"4.4.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-01-20T14:41:05"},{"id":"linode/4.1.5-x86_64-linode61","label":"4.1.5-x86_64-linode61","version":"4.1.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-08-24T19:00:43"},{"id":"linode/4.1.5-x86_64-linode60","label":"4.1.5-x86_64-linode60 ","version":"4.1.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-08-13T13:00:00"},{"id":"linode/4.1.0-x86_64-linode59","label":"4.1.0-x86_64-linode59 ","version":"4.1.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-06-22T15:19:32"},{"id":"linode/4.0.5-x86_64-linode58","label":"4.0.5-x86_64-linode58","version":"4.0.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-06-10T15:31:52"},{"id":"linode/4.0.4-x86_64-linode57","label":"4.0.4-x86_64-linode57","version":"4.0.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-05-21T15:15:47"},{"id":"linode/4.0.2-x86_64-linode56","label":"4.0.2-x86_64-linode56","version":"4.0.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-05-11T20:56:58"},{"id":"linode/4.0.1-x86_64-linode55","label":"4.0.1-x86_64-linode55","version":"4.0.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-05-04T13:43:23"},{"id":"linode/4.0-x86_64-linode54","label":"4.0-x86_64-linode54","version":"4.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-04-21T13:02:24"},{"id":"linode/3.19.1-x86_64-linode53","label":"3.19.1-x86_64-linode53","version":"3.19.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-03-11T18:00:36"},{"id":"linode/3.18.5-x86_64-linode52","label":"3.18.5-x86_64-linode52","version":"3.18.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-02-05T05:00:00"},{"id":"linode/3.18.3-x86_64-linode51","label":"3.18.3-x86_64-linode51","version":"3.18.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-01-23T15:12:45"},{"id":"linode/3.18.1-x86_64-linode50","label":"3.18.1-x86_64-linode50","version":"3.18.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-01-06T17:32:39"},{"id":"linode/3.16.7-x86_64-linode49","label":"3.16.7-x86_64-linode49","version":"3.16.7","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-11-14T22:31:46"},{"id":"linode/3.16.5-x86_64-linode46","label":"3.16.5-x86_64-linode46","version":"3.16.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-10-13T13:42:00"},{"id":"linode/3.15.4-x86_64-linode45","label":"3.15.4-x86_64-linode45","version":"3.15.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-07-07T13:50:35"},{"id":"linode/3.15.3-x86_64-linode44","label":"3.15.3-x86_64-linode44","version":"3.15.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-07-02T12:12:37"},{"id":"linode/3.15.2-x86_64-linode43","label":"3.15.2-x86_64-linode43","version":"3.15.2","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-06-30T18:46:50"},{"id":"linode/3.14.5-x86_64-linode42","label":"3.14.5-x86_64-linode42","version":"3.14.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-06-05T20:05:44"},{"id":"linode/3.14.5-x86_64-linode41","label":"3.14.5-x86_64-linode41","version":"3.14.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-06-03T13:09:58"},{"id":"linode/3.14.4-x86_64-linode40","label":"3.14.4-x86_64-linode40","version":"3.14.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-05-13T17:42:22"},{"id":"linode/3.14.1-x86_64-linode39","label":"3.14.1-x86_64-linode39","version":"3.14.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-04-25T17:42:13"},{"id":"linode/3.13.7-x86_64-linode38","label":"3.13.7-x86_64-linode38","version":"3.13.7","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-03-25T18:21:50"},{"id":"linode/3.12.9-x86_64-linode37","label":"3.12.9-x86_64-linode37","version":"3.12.9","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-02-03T19:42:13"},{"id":"linode/3.12.6-x86_64-linode36","label":"3.12.6-x86_64-linode36","version":"3.12.6","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-12-23T16:24:18"},{"id":"linode/3.11.6-x86_64-linode35","label":"3.11.6-x86_64-linode35","version":"3.11.6","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-10-23T16:06:29"},{"id":"linode/3.10.3-x86_64-linode34","label":"3.10.3-x86_64-linode34","version":"3.10.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-07-26T16:35:12"},{"id":"linode/3.9.3-x86_64-linode33","label":"3.9.3-x86_64-linode33","version":"3.9.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-05-20T14:27:27"},{"id":"linode/3.9.2-x86_64-linode32","label":"3.9.2-x86_64-linode32","version":"3.9.2","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-05-14T15:53:02"},{"id":"linode/3.8.4-x86_64-linode31","label":"3.8.4-x86_64-linode31","version":"3.8.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-03-25T20:42:49"},{"id":"linode/3.7.10-x86_64-linode30","label":"3.7.10-x86_64-linode30","version":"3.7.10","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-02-27T19:49:45"},{"id":"linode/3.7.5-x86_64-linode29","label":"3.7.5-x86_64-linode29","version":"3.7.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-01-31T19:52:25"},{"id":"linode/3.6.5-x86_64-linode28","label":"3.6.5-x86_64-linode28","version":"3.6.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-11-04T17:42:14"},{"id":"linode/3.5.3-x86_64-linode27","label":"3.5.3-x86_64-linode27","version":"3.5.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-09-05T20:32:28"},{"id":"linode/3.4.2-x86_64-linode25","label":"3.4.2-x86_64-linode25","version":"3.2.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-06-11T18:40:20"},{"id":"linode/3.0.18-x86_64-linode24","label":"3.0.18-x86_64-linode24 ","version":"3.0.18","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-01-30T17:42:21"},{"id":"linode/3.2.1-x86_64-linode23","label":"3.2.1-x86_64-linode23","version":"3.2.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-01-23T16:04:48"},{"id":"linode/3.1.0-x86_64-linode22","label":"3.1.0-x86_64-linode22","version":"3.1.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-10-25T18:24:49"},{"id":"linode/3.0.4-x86_64-linode21","label":"3.0.4-x86_64-linode21","version":"3.0.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-09-02T01:08:55"},{"id":"linode/3.0.0-x86_64-linode20","label":"3.0.0-x86_64-linode20","version":"3.0.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-08-02T16:59:12"},{"id":"linode/2.6.39.1-x86_64-linode19","label":"2.6.39.1-x86_64-linode19","version":"2.6.39","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-06-21T14:06:03"},{"id":"linode/2.6.39-x86_64-linode18","label":"2.6.39-x86_64-linode18","version":"2.6.39","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-05-25T19:05:05"},{"id":"linode/2.6.38-x86_64-linode17","label":"2.6.38-x86_64-linode17","version":"2.6.38","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-03-21T21:44:09"},{"id":"linode/2.6.35.4-x86_64-linode16","label":"2.6.35.4-x86_64-linode16","version":"2.6.35","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-09-20T04:00:00"},{"id":"linode/2.6.32.12-x86_64-linode15","label":"2.6.32.12-x86_64-linode15","version":"2.6.32","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-07-25T21:34:00"},{"id":"linode/2.6.34-x86_64-linode13","label":"2.6.34-x86_64-linode13","version":"2.6.34","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-06-17T04:00:00"},{"id":"linode/2.6.34-x86_64-linode14","label":"2.6.34-x86_64-linode14","version":"2.6.34","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-07-14T04:00:00"},{"id":"linode/2.6.32.12-x86_64-linode12","label":"2.6.32.12-x86_64-linode12","version":"2.6.32","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-04-28T04:00:00"},{"id":"linode/2.6.32-x86_64-linode11","label":"2.6.32-x86_64-linode11","version":"2.6.32","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-12-05T17:01:00"},{"id":"linode/2.6.18.8-x86_64-linode10","label":"2.6.18.8-x86_64-linode10","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2009-11-10T16:53:00"},{"id":"linode/2.6.31.5-x86_64-linode9","label":"2.6.31.5-x86_64-linode9","version":"2.6.31","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/2.6.30.5-x86_64-linode8","label":"2.6.30.5-x86_64-linode8","version":"2.6.30","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/2.6.18.8-x86_64-linode7","label":"2.6.18.8-x86_64-linode7","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2009-08-14T04:00:00"},{"id":"linode/2.6.29-x86_64-linode6","label":"2.6.29-x86_64-linode6","version":"2.6.29","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-04-02T04:00:00"},{"id":"linode/2.6.28.3-x86_64-linode5","label":"2.6.28.3-x86_64-linode5","version":"2.6.28","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-02-04T05:00:00"},{"id":"linode/2.6.28-x86_64-linode4","label":"2.6.28-x86_64-linode4","version":"2.6.28","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2008-12-29T05:00:00"},{"id":"linode/2.6.27.4-x86_64-linode3","label":"2.6.27.4-x86_64-linode3","version":"2.6.27","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2008-11-05T05:00:00"},{"id":"linode/2.6.16.38-x86_64-linode2","label":"2.6.16.38-x86_64-linode2","version":"2.6.16","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2008-03-23T04:00:00"},{"id":"linode/2.6.18.8-x86_64-linode1","label":"2.6.18.8-x86_64-linode1","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2008-03-23T04:00:00"},{"id":"linode/3.5.2-x86_64-linode26","label":"3.5.2-x86_64-linode26","version":"3.5.2","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-08-15T18:38:16"},{"id":"linode/grub2","label":"GRUB 2","version":"2.06","kvm":true,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2022-08-29T14:28:00"},{"id":"linode/direct-disk","label":"Direct Disk","version":"","kvm":true,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2015-05-05T01:51:43"},{"id":"linode/grub-legacy","label":"GRUB (Legacy)","version":"2.0.0","kvm":true,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2015-04-29T15:32:30"},{"id":"linode/pv-grub_x86_32","label":"pv-grub-x86_32","version":"2.6.26","kvm":false,"architecture":"i386","pvops":false,"deprecated":false,"built":"2008-09-15T04:00:00"},{"id":"linode/pv-grub_x86_64","label":"pv-grub-x86_64","version":"2.6.26","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2008-11-14T05:00:00"}],"page":1,"pages":1,"results":322} \ No newline at end of file +{"data":[{"id":"linode/latest-2.6-32bit","label":"Latest 2.6 (2.6.39.1-linode34)","version":"2.6.39","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/latest-2.6","label":"Latest 2.6 Stable (2.6.23.17-linode44)","version":"2.6.24","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/latest-32bit","label":"Latest 32 bit (6.2.9-x86-linode180)","version":"6.2.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-04-05T19:23:04"},{"id":"linode/2.6.18.8-linode22","label":"Latest Legacy (2.6.18.8-linode22)","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2006-06-25T04:00:00"},{"id":"linode/6.3.5-x86_64-linode161","label":"6.3.5-x86_64-linode161","version":"6.3.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-05-31T16:28:44"},{"id":"linode/6.3.5-x86-linode181","label":"6.3.5-x86-linode181","version":"6.3.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-05-31T16:21:49"},{"id":"linode/6.2.9-x86_64-linode160","label":"6.2.9-x86_64-linode160","version":"6.2.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-04-05T19:30:32"},{"id":"linode/6.2.9-x86-linode180","label":"6.2.9-x86-linode180","version":"6.2.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-04-05T19:23:04"},{"id":"linode/6.1.10-x86_64-linode159","label":"6.1.10-x86_64-linode159","version":"6.1.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-02-08T19:14:45"},{"id":"linode/6.1.10-x86-linode179","label":"6.1.10-x86-linode179","version":"6.1.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-02-08T19:07:56"},{"id":"linode/6.0.10-x86_64-linode158","label":"6.0.10-x86_64-linode158","version":"6.0.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-12-01T18:16:43"},{"id":"linode/6.0.10-x86-linode178","label":"6.0.10-x86-linode178","version":"6.0.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-12-01T18:09:33"},{"id":"linode/6.0.2-x86_64-linode157","label":"6.0.2-x86_64-linode157","version":"6.0.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-10-17T17:01:41"},{"id":"linode/6.0.2-x86-linode177","label":"6.0.2-x86-linode177","version":"6.0.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-10-17T16:54:28"},{"id":"linode/5.19.2-x86_64-linode156","label":"5.19.2-x86_64-linode156","version":"5.19.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-08-18T19:51:13"},{"id":"linode/5.19.2-x86-linode176","label":"5.19.2-x86-linode176","version":"5.19.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-08-18T19:44:26"},{"id":"linode/5.18.2-x86_64-linode155","label":"5.18.2-x86_64-linode155","version":"5.18.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-06-07T14:46:11"},{"id":"linode/5.18.2-x86-linode175","label":"5.18.2-x86-linode175","version":"5.18.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-06-07T14:39:32"},{"id":"linode/5.17.5-x86_64-linode154","label":"5.17.5-x86_64-linode154","version":"5.17.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-05-02T19:07:22"},{"id":"linode/5.17.5-x86-linode174","label":"5.17.5-x86-linode174","version":"5.17.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-05-02T19:00:48"},{"id":"linode/5.16.13-x86-linode173","label":"5.16.13-x86-linode173","version":"5.16.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-03-08T19:09:29"},{"id":"linode/5.16.13-x86_64-linode153","label":"5.16.13-x86_64-linode153","version":"5.16.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-03-08T19:16:05"},{"id":"linode/5.16.3-x86_64-linode152","label":"5.16.3-x86_64-linode152","version":"5.16.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-01-27T19:46:44"},{"id":"linode/5.16.3-x86-linode172","label":"5.16.3-x86-linode172","version":"5.16.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-01-27T19:40:10"},{"id":"linode/5.15.10-x86_64-linode151","label":"5.15.10-x86_64-linode151","version":"5.15.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2021-12-21T18:44:00"},{"id":"linode/5.15.10-x86-linode171","label":"5.15.10-x86-linode171","version":"5.15.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2021-12-21T18:37:00"},{"id":"linode/5.14.17-x86_64-linode150","label":"5.14.17-x86_64-linode150","version":"5.14.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-11-11T18:23:00"},{"id":"linode/5.14.17-x86-linode170","label":"5.14.17-x86-linode170","version":"5.14.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-11-11T18:17:00"},{"id":"linode/5.14.15-x86_64-linode149","label":"5.14.15-x86_64-linode149","version":"5.14.15","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-11-01T18:02:00"},{"id":"linode/5.14.15-x86-linode169","label":"5.14.15-x86-linode169","version":"5.14.15","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-11-01T17:55:00"},{"id":"linode/5.14.14-x86_64-linode148","label":"5.14.14-x86_64-linode148","version":"5.14.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-10-20T18:22:00"},{"id":"linode/5.14.14-x86-linode168","label":"5.14.14-x86-linode168","version":"5.14.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-10-20T18:15:00"},{"id":"linode/5.14.2-x86_64-linode147","label":"5.14.2-x86_64-linode147","version":"5.14.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-09-08T19:06:00"},{"id":"linode/5.14.2-x86-linode167","label":"5.14.2-x86-linode167","version":"5.14.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-09-08T19:00:00"},{"id":"linode/5.13.4-x86_64-linode146","label":"5.13.4-x86_64-linode146","version":"5.13.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-07-21T18:51:00"},{"id":"linode/5.13.4-x86-linode166","label":"5.13.4-x86-linode166","version":"5.13.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-07-21T18:45:00"},{"id":"linode/5.12.13-x86_64-linode145","label":"5.12.13-x86_64-linode145","version":"5.12.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-06-24T20:24:00"},{"id":"linode/5.12.13-x86-linode165","label":"5.12.13-x86-linode165","version":"5.12.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-06-24T20:19:00"},{"id":"linode/5.12.2-x86_64-linode144","label":"5.12.2-x86_64-linode144","version":"5.12.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-05-10T17:16:00"},{"id":"linode/5.12.2-x86-linode164","label":"5.12.2-x86-linode164","version":"5.12.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-05-10T17:10:00"},{"id":"linode/5.11.13-x86_64-linode143","label":"5.11.13-x86_64-linode143","version":"5.11.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-04-13T15:46:00"},{"id":"linode/5.11.13-x86-linode163","label":"5.11.13-x86-linode163","version":"5.11.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-04-13T15:40:00"},{"id":"linode/5.11.9-x86_64-linode142","label":"5.11.9-x86_64-linode142","version":"5.11.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-03-24T15:33:00"},{"id":"linode/5.11.9-x86-linode162","label":"5.11.9-x86-linode162","version":"5.11.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-03-24T15:28:00"},{"id":"linode/5.10.13-x86_64-linode141","label":"5.10.13-x86_64-linode141","version":"5.10.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2021-02-04T19:02:00"},{"id":"linode/5.10.13-x86-linode161","label":"5.10.13-x86-linode161","version":"5.10.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2021-02-04T18:56:00"},{"id":"linode/5.10.2-x86_64-linode140","label":"5.10.2-x86_64-linode140","version":"5.10.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-12-22T20:43:00"},{"id":"linode/5.10.2-x86-linode160","label":"5.10.2-x86-linode160","version":"5.10.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-12-22T20:38:00"},{"id":"linode/5.9.6-x86_64-linode139","label":"5.9.6-x86_64-linode139","version":"5.9.6","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-11-05T19:51:00"},{"id":"linode/5.9.6-x86-linode159","label":"5.9.6-x86-linode159","version":"5.9.6","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-11-05T19:45:00"},{"id":"linode/5.8.10-x86-linode158","label":"5.8.10-x86-linode158","version":"5.8.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-09-17T19:58:00"},{"id":"linode/5.8.10-x86_64-linode138","label":"5.8.10-x86_64-linode138","version":"5.8.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-09-17T20:03:00"},{"id":"linode/5.8.3-x86_64-linode137","label":"5.8.3-x86_64-linode137","version":"5.8.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-08-24T18:55:00"},{"id":"linode/5.8.3-x86-linode157","label":"5.8.3-x86-linode157","version":"5.8.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-08-24T18:50:00"},{"id":"linode/5.7.6-x86-linode156","label":"5.7.6-x86-linode156","version":"5.7.6","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-06-25T16:41:08"},{"id":"linode/5.6.14-x86-linode155","label":"5.6.14-x86-linode155","version":"5.6.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-06-01T14:05:47"},{"id":"linode/5.6.1-x86-linode154","label":"5.6.1-x86-linode154","version":"5.6.1","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-04-07T21:29:12"},{"id":"linode/5.4.10-x86-linode152","label":"5.4.10-x86-linode152","version":"5.4.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2020-01-10T21:02:10"},{"id":"linode/5.3.11-x86-linode151","label":"5.3.11-x86-linode151","version":"5.3.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-11-14T20:38:53"},{"id":"linode/5.3.7-x86-linode150","label":"5.3.7-x86-linode150","version":"5.3.7","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-10-30T21:10:08"},{"id":"linode/5.2.9-x86-linode149","label":"5.2.9-x86-linode149","version":"5.2.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-08-21T18:48:52"},{"id":"linode/5.1.17-x86-linode148","label":"5.1.17-x86-linode148","version":"5.1.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-07-16T15:25:35"},{"id":"linode/5.1.11-x86-linode147","label":"5.1.11-x86-linode147","version":"5.1.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-06-17T22:46:37"},{"id":"linode/5.1.5-x86-linode146","label":"5.1.5-x86-linode146","version":"5.1.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-05-30T20:30:37"},{"id":"linode/4.14.120-x86-linode145","label":"4.14.120-x86-linode145","version":"4.14.120","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-05-21T10:57:13"},{"id":"linode/5.1.2-x86-linode144","label":"5.1.2-x86-linode144","version":"5.1.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-05-15T16:13:49"},{"id":"linode/5.0.8-x86-linode143","label":"5.0.8-x86-linode143","version":"5.0.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-04-17T18:39:29"},{"id":"linode/4.20.4-x86-linode141","label":"4.20.4-x86-linode141","version":"4.20.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-01-25T19:13:27"},{"id":"linode/4.19.8-x86-linode140","label":"4.19.8-x86-linode140","version":"4.19.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-12-12T21:44:08"},{"id":"linode/4.19.5-x86-linode139","label":"4.19.5-x86-linode139","version":"4.19.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-11-29T16:36:09"},{"id":"linode/4.18.16-x86-linode138","label":"4.18.16-x86-linode138","version":"4.18.16","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-10-29T20:24:50"},{"id":"linode/4.18.8-x86-linode137","label":"4.18.8-x86-linode137","version":"4.18.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-10-04T18:06:19"},{"id":"linode/4.18.8-x86-linode136","label":"4.18.8-x86-linode136","version":"4.18.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-09-19T12:54:57"},{"id":"linode/4.17.17-x86-linode135","label":"4.17.17-x86-linode135","version":"4.17.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-20T17:24:09"},{"id":"linode/4.17.15-x86-linode134","label":"4.17.15-x86-linode134","version":"4.17.15","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-16T17:13:56"},{"id":"linode/4.17.14-x86-linode133","label":"4.17.14-x86-linode133","version":"4.17.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-13T16:40:31"},{"id":"linode/4.17.14-x86-linode132","label":"4.17.14-x86-linode132","version":"4.17.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-10T21:08:51"},{"id":"linode/4.17.12-x86-linode131","label":"4.17.12-x86-linode131","version":"4.17.12","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-07T13:01:28"},{"id":"linode/4.17.11-x86-linode130","label":"4.17.11-x86-linode130","version":"4.17.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-07-31T19:51:00"},{"id":"linode/4.17.8-x86-linode129","label":"4.17.8-x86-linode129","version":"4.17.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-07-18T17:17:29"},{"id":"linode/4.17.2-x86-linode128","label":"4.17.2-x86-linode128","version":"4.17.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-06-26T19:42:55"},{"id":"linode/4.16.11-x86-linode127","label":"4.16.11-x86-linode127","version":"4.16.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-05-24T21:33:29"},{"id":"linode/4.15.18-x86-linode126","label":"4.15.18-x86-linode126","version":"4.15.18","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-05-02T20:21:02"},{"id":"linode/4.15.13-x86-linode125","label":"4.15.13-x86-linode125","version":"4.15.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-27T17:17:56"},{"id":"linode/4.15.12-x86-linode124","label":"4.15.12-x86-linode124","version":"4.15.12","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-22T20:09:16"},{"id":"linode/4.15.10-x86-linode123","label":"4.15.10-x86-linode123","version":"4.15.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-16T21:18:40"},{"id":"linode/4.15.8-x86-linode122","label":"4.15.8-x86-linode122","version":"4.15.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-10T21:25:42"},{"id":"linode/4.15.7-x86-linode121","label":"4.15.7-x86-linode121","version":"4.15.7","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-01T17:20:09"},{"id":"linode/4.14.19-x86-linode119","label":"4.14.19-x86-linode119","version":"4.14.19","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-13T19:05:44"},{"id":"linode/4.14.17-x86-linode118","label":"4.14.17-x86-linode118","version":"4.14.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-08T18:34:40"},{"id":"linode/4.9.80-x86-linode117","label":"4.9.80-x86-linode117","version":"4.9.80","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-08T18:33:46"},{"id":"linode/4.4.115-x86-linode116","label":"4.4.115-x86-linode116","version":"4.4.115","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-08T18:32:57"},{"id":"linode/4.4.113-x86-linode115","label":"4.4.113-x86-linode115","version":"4.4.113","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-25T22:47:11"},{"id":"linode/4.9.78-x86-linode114","label":"4.9.78-x86-linode114","version":"4.9.78","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-23T23:23:58"},{"id":"linode/4.14.14-x86-linode113","label":"4.14.14-x86-linode113","version":"4.14.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-23T02:00:02"},{"id":"linode/4.14.14-x86-linode112","label":"4.14.14-x86-linode112","version":"4.14.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-18T20:09:53"},{"id":"linode/4.9.64-x86-linode107","label":"4.9.64-x86-linode107","version":"4.9.64","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-12-01T23:10:11"},{"id":"linode/4.9.68-x86-linode108","label":"4.9.68-x86-linode108","version":"4.9.68","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-12-11T19:00:15"},{"id":"linode/4.14.12-x86-linode111","label":"4.14.12-x86-linode111","version":"4.14.12","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-05T16:31:55"},{"id":"linode/4.14.11-x86-linode110","label":"4.14.11-x86-linode110","version":"4.14.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-04T18:56:25"},{"id":"linode/4.9.56-x86-linode106","label":"4.9.56-x86-linode106","version":"4.9.56","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-10-13T21:10:23"},{"id":"linode/4.9.50-x86-linode105","label":"4.9.50-x86-linode105","version":"4.9.50","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-09-14T21:46:56"},{"id":"linode/4.9.36-x86-linode104","label":"4.9.36-x86-linode104","version":"4.9.36","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-07-10T13:16:53"},{"id":"linode/4.9.33-x86-linode102","label":"4.9.33-x86-linode102","version":"4.9.33","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-06-23T22:06:05"},{"id":"linode/4.9.15-x86-linode100","label":"4.9.15-x86-linode100","version":"4.9.15","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-03-22T13:48:13"},{"id":"linode/4.9.7-x86-linode99","label":"4.9.7-x86-linode99","version":"4.9.7","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-02-03T22:54:57"},{"id":"linode/4.9.0-x86-linode98","label":"4.9.0-x86-linode98","version":"4.9.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-12-13T20:10:20"},{"id":"linode/4.8.6-x86-linode97","label":"4.8.6-x86-linode97","version":"4.8.6","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-11-02T15:23:43"},{"id":"linode/4.8.4-x86-linode96","label":"4.8.4-x86-linode96","version":"4.8.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-10-27T18:51:41"},{"id":"linode/4.8.3-x86-linode95","label":"4.8.3-x86-linode95","version":"4.8.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-10-20T23:10:27"},{"id":"linode/4.8.1-x86-linode94","label":"4.8.1-x86-linode94","version":"4.8.1","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-10-07T22:21:55"},{"id":"linode/4.7.3-x86-linode92","label":"4.7.3-x86-linode92","version":"4.7.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-09-15T13:13:40"},{"id":"linode/4.7.0-x86-linode90","label":"4.7.0-x86-linode90","version":"4.7.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-08-05T14:35:48"},{"id":"linode/4.6.5-x86-linode89","label":"4.6.5-x86-linode89","version":"4.6.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-08-04T15:28:59"},{"id":"linode/4.5.5-x86-linode88","label":"4.5.5-x86-linode88","version":"4.5.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-05-24T15:29:02"},{"id":"linode/4.5.3-x86-linode86","label":"4.5.3-x86-linode86","version":"4.5.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-05-10T19:39:51"},{"id":"linode/4.5.0-x86-linode84","label":"4.5.0-x86-linode84","version":"4.5.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-03-16T18:53:02"},{"id":"linode/4.4.4-x86-linode83","label":"4.4.4-x86-linode83","version":"4.4.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-03-10T22:20:19"},{"id":"linode/4.4.0-x86-linode82","label":"4.4.0-x86-linode82","version":"4.4.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-01-20T14:41:05"},{"id":"linode/4.1.5-x86-linode80","label":"4.1.5-x86-linode80","version":"4.1.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-08-24T19:00:43"},{"id":"linode/4.1.5-x86-linode79","label":"4.1.5-x86-linode79","version":"4.1.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-08-13T13:00:00"},{"id":"linode/4.1.0-x86-linode78","label":"4.1.0-x86-linode78","version":"4.1.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-06-22T15:19:32"},{"id":"linode/4.0.5-x86-linode77","label":"4.0.5-x86-linode77","version":"4.0.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-06-11T13:58:18"},{"id":"linode/4.0.5-x86-linode76","label":"4.0.5-x86-linode76","version":"4.0.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-06-10T15:31:52"},{"id":"linode/4.0.4-x86-linode75","label":"4.0.4-x86-linode75","version":"4.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-05-21T15:15:47"},{"id":"linode/4.0.2-x86-linode74","label":"4.0.2-x86-linode74","version":"4.0.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-05-11T20:56:58"},{"id":"linode/4.0-x86-linode73","label":"4.0.1-x86-linode73","version":"4.0.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-05-04T13:43:23"},{"id":"linode/4.0-x86-linode72","label":"4.0-x86-linode72","version":"4.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-04-21T13:02:24"},{"id":"linode/3.19.1-x86-linode71","label":"3.19.1-x86-linode71","version":"3.19.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-03-11T18:00:36"},{"id":"linode/3.18.5-x86-linode70","label":"3.18.5-x86-linode70","version":"3.18.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-02-05T05:00:00"},{"id":"linode/3.18.3-x86-linode69","label":"3.18.3-x86-linode69","version":"3.18.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-01-23T15:12:45"},{"id":"linode/3.18.1-x86-linode68","label":"3.18.1-x86-linode68","version":"3.18.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-01-06T17:32:39"},{"id":"linode/3.16.7-x86-linode67","label":"3.16.7-x86-linode67","version":"3.16.7","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-11-14T22:31:46"},{"id":"linode/3.16.5-x86-linode65","label":"3.16.5-x86-linode65","version":"3.16.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-10-13T13:40:00"},{"id":"linode/3.15.4-x86-linode64","label":"3.15.4-x86-linode64","version":"3.15.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-07-07T13:50:35"},{"id":"linode/3.15.3-x86-linode63","label":"3.15.3-x86-linode63","version":"3.15.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-07-02T12:12:37"},{"id":"linode/3.15.2-x86-linode62","label":"3.15.2-x86-linode62","version":"3.15.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-06-30T18:46:50"},{"id":"linode/3.14.5-x86-linode61","label":"3.14.5-x86-linode61","version":"3.14.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-06-05T20:05:44"},{"id":"linode/3.14.5-x86-linode60","label":"3.14.5-x86-linode60","version":"3.14.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-06-03T13:09:58"},{"id":"linode/3.14.4-x86-linode59","label":"3.14.4-x86-linode59","version":"3.14.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-05-13T17:42:22"},{"id":"linode/3.14.1-x86-linode58","label":"3.14.1-x86-linode58","version":"3.14.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-04-25T17:49:15"},{"id":"linode/3.13.7-x86-linode57","label":"3.13.7-x86-linode57","version":"3.13.7","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-03-25T18:21:50"},{"id":"linode/3.12.9-x86-linode56","label":"3.12.9-x86-linode56","version":"3.12.9","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-02-03T19:42:13"},{"id":"linode/3.11.6-x86-linode54","label":"3.11.6-x86-linode54","version":"3.11.6","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-10-23T16:06:29"},{"id":"linode/3.12.6-x86-linode55","label":"3.12.6-x86-linode55","version":"3.12.6","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-12-23T16:25:39"},{"id":"linode/3.10.3-x86-linode53","label":"3.10.3-x86-linode53","version":"3.10.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-07-26T16:35:12"},{"id":"linode/3.9.3-x86-linode52","label":"3.9.3-x86-linode52","version":"3.9.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-05-20T14:27:27"},{"id":"linode/3.9.2-x86-linode51","label":"3.9.2-x86-linode51","version":"3.9.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-05-14T16:13:27"},{"id":"linode/3.8.4-linode50","label":"3.8.4-linode50","version":"3.8.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-03-25T20:42:49"},{"id":"linode/3.7.10-linode49","label":"3.7.10-linode49","version":"3.7.10","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-02-27T19:49:45"},{"id":"linode/3.7.5-linode48","label":"3.7.5-linode48","version":"3.7.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-01-31T19:52:25"},{"id":"linode/3.6.5-linode47","label":"3.6.5-linode47","version":"3.6.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-11-04T17:42:14"},{"id":"linode/3.5.3-linode46","label":"3.5.3-linode46","version":"3.5.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-09-05T20:45:36"},{"id":"linode/3.5.2-linode45","label":"3.5.2-linode45","version":"3.5.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-08-15T18:16:29"},{"id":"linode/3.4.2-linode44","label":"3.4.2-linode44","version":"3.4.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-06-11T19:03:10"},{"id":"linode/3.0.18-linode43","label":"3.0.18-linode43","version":"3.0.18","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-30T17:42:21"},{"id":"linode/3.1.10-linode42","label":"3.1.10-linode42","version":"3.1.10","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-25T21:24:07"},{"id":"linode/3.0.17-linode41","label":"3.0.17-linode41","version":"3.0.17","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-25T21:24:05"},{"id":"linode/3.2.1-linode40","label":"3.2.1-linode40","version":"3.2.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-23T16:04:48"},{"id":"linode/3.1.0-linode39","label":"3.1.0-linode39","version":"3.1.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-10-25T17:57:05"},{"id":"linode/3.0.4-linode38","label":"3.0.4-linode38","version":"3.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-09-22T18:57:59"},{"id":"linode/3.0.4-linode37","label":"3.0.4-linode37","version":"3.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-09-12T16:03:31"},{"id":"linode/3.0.4-linode36","label":"3.0.4-linode36","version":"3.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-09-02T01:08:55"},{"id":"linode/3.0-linode35","label":"3.0.0-linode35","version":"3.0.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-08-02T15:43:52"},{"id":"linode/2.6.39.1-linode34","label":"2.6.39.1-linode34","version":"2.6.39","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-06-21T14:42:50"},{"id":"linode/2.6.39-linode33","label":"2.6.39-linode33","version":"2.6.39","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-05-25T19:05:05"},{"id":"linode/2.6.38.3-linode32","label":"2.6.38.3-linode32","version":"2.6.38","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-04-21T20:21:48"},{"id":"linode/2.6.38-linode31","label":"2.6.38-linode31","version":"2.6.38","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-03-21T21:44:09"},{"id":"linode/2.6.37-linode30","label":"2.6.37-linode30","version":"2.6.37","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-01-27T05:00:00"},{"id":"linode/2.6.35.7-linode29","label":"2.6.35.7-linode29","version":"2.6.35","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-10-13T04:00:00"},{"id":"linode/2.6.32.16-linode28","label":"2.6.32.16-linode28","version":"2.6.32","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-07-25T21:34:00"},{"id":"linode/2.6.34-linode27","label":"2.6.34-linode27","version":"2.6.34","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-07-16T04:00:00"},{"id":"linode/2.6.32.12-linode25","label":"2.6.32.12-linode25","version":"2.6.33","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-04-28T04:00:00"},{"id":"linode/2.6.33-linode24","label":"2.6.33-linode24","version":"2.6.33","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-02-24T22:05:00"},{"id":"linode/2.6.32-linode23","label":"2.6.32-linode23","version":"2.6.32","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-12-05T16:14:00"},{"id":"linode/2.6.18.8-linode22","label":"2.6.18.8-linode22","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-11-10T05:00:00"},{"id":"linode/2.6.31.5-linode21","label":"2.6.31.5-linode21","version":"2.6.31","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/2.6.30.5-linode20","label":"2.6.30.5-linode20","version":"2.6.30","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/2.6.23.17-linode44","label":"2.6.23.17-linode44","version":"2.6.23","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/2.6.18.8-linode19","label":"2.6.18.8-linode19","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-08-14T04:00:00"},{"id":"linode/2.6.29-linode18","label":"2.6.29-linode18","version":"2.6.29","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-04-01T04:00:00"},{"id":"linode/2.6.28.3-linode17","label":"2.6.28.3-linode17","version":"2.6.28","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-02-04T05:00:00"},{"id":"linode/2.6.18.8-linode16","label":"2.6.18.8-linode16","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-01-12T14:47:00"},{"id":"linode/2.6.28-linode15","label":"2.6.28-linode15","version":"2.6.28","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-12-29T05:00:00"},{"id":"linode/2.6.27.4-linode14","label":"2.6.27.4-linode14","version":"2.6.27","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-11-05T05:00:00"},{"id":"linode/2.6.26-linode13","label":"2.6.26-linode13","version":"2.6.26","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-07-13T23:15:00"},{"id":"linode/2.6.25.10-linode12","label":"2.6.25.10-linode12","version":"2.6.25","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-07-03T04:00:00"},{"id":"linode/2.6.18.8-linode10","label":"2.6.18.8-linode10","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2008-06-23T04:00:00"},{"id":"linode/2.6.25-linode9","label":"2.6.25-linode9","version":"2.6.25","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-04-10T04:00:00"},{"id":"linode/2.6.24.4-linode8","label":"2.6.24.4-linode8","version":"2.6.24","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-03-31T04:00:00"},{"id":"linode/2.6.18.8-domU-linode7","label":"2.6.18.8-domU-linode7","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":null},{"id":"linode/latest-2.6-64bit","label":"Latest 2.6 (2.6.39.1-x86_64-linode19)","version":"2.6.39","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/latest-64bit","label":"Latest 64 bit (6.2.9-x86_64-linode160)","version":"6.2.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-04-05T19:30:32"},{"id":"linode/2.6.18.8-x86_64-linode10","label":"Latest Legacy (2.6.18.8-x86_64-linode10)","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/5.7.6-x86_64-linode136","label":"5.7.6-x86_64-linode136","version":"5.7.6","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-06-25T16:41:35"},{"id":"linode/5.6.14-x86_64-linode135","label":"5.6.14-x86_64-linode135","version":"5.6.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-06-01T14:06:45"},{"id":"linode/5.6.1-x86_64-linode134","label":"5.6.1-x86_64-linode134","version":"5.6.1","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-04-07T21:29:51"},{"id":"linode/5.4.10-x86_64-linode132","label":"5.4.10-x86_64-linode132","version":"5.4.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2020-01-10T21:03:16"},{"id":"linode/5.3.11-x86_64-linode131","label":"5.3.11-x86_64-linode131","version":"5.3.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-11-14T20:39:27"},{"id":"linode/5.3.7-x86_64-linode130","label":"5.3.7-x86_64-linode130","version":"5.3.7","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-10-30T21:10:29"},{"id":"linode/5.2.9-x86_64-linode129","label":"5.2.9-x86_64-linode129","version":"5.2.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-08-21T18:49:31"},{"id":"linode/5.1.17-x86_64-linode128","label":"5.1.17-x86_64-linode128","version":"5.1.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-07-16T15:26:33"},{"id":"linode/5.1.11-x86_64-linode127","label":"5.1.11-x86_64-linode127","version":"5.1.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-06-17T22:47:20"},{"id":"linode/5.1.5-x86_64-linode126","label":"5.1.5-x86_64-linode126","version":"5.1.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-05-30T20:30:39"},{"id":"linode/4.14.120-x86_64-linode125","label":"4.14.120-x86_64-linode125","version":"4.14.120","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-05-21T10:57:46"},{"id":"linode/5.1.2-x86_64-linode124","label":"5.1.2-x86_64-linode124","version":"5.1.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-05-15T16:14:35"},{"id":"linode/5.0.8-x86_64-linode123","label":"5.0.8-x86_64-linode123","version":"5.0.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-04-17T18:39:56"},{"id":"linode/5.0.1-x86_64-linode122","label":"5.0.1-x86_64-linode122","version":"5.0.1","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-03-13T16:51:01"},{"id":"linode/4.20.4-x86_64-linode121","label":"4.20.4-x86_64-linode121","version":"4.20.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-01-25T19:13:29"},{"id":"linode/4.19.8-x86_64-linode120","label":"4.19.8-x86_64-linode120","version":"4.19.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-12-12T21:44:08"},{"id":"linode/4.19.5-x86_64-linode119","label":"4.19.5-x86_64-linode119","version":"4.19.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-11-29T16:36:53"},{"id":"linode/4.18.16-x86_64-linode118","label":"4.18.16-x86_64-linode118","version":"4.18.16","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-10-29T20:24:13"},{"id":"linode/4.18.8-x86_64-linode117","label":"4.18.8-x86_64-linode117","version":"4.18.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-09-19T12:55:56"},{"id":"linode/4.17.17-x86_64-linode116","label":"4.17.17-x86_64-linode116","version":"4.17.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-20T17:23:32"},{"id":"linode/4.17.15-x86_64-linode115","label":"4.17.15-x86_64-linode115","version":"4.17.15","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-16T17:13:28"},{"id":"linode/4.17.14-x86_64-linode114","label":"4.17.14-x86_64-linode114","version":"4.17.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-13T16:41:06"},{"id":"linode/4.17.14-x86_64-linode113","label":"4.17.14-x86_64-linode113","version":"4.17.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-10T21:07:56"},{"id":"linode/4.17.12-x86_64-linode112","label":"4.17.12-x86_64-linode112","version":"4.17.12","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-07T13:02:24"},{"id":"linode/4.17.11-x86_64-linode111","label":"4.17.11-x86_64-linode111","version":"4.17.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-07-31T19:51:53"},{"id":"linode/4.17.8-x86_64-linode110","label":"4.17.8-x86_64-linode110","version":"4.17.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-07-18T17:18:30"},{"id":"linode/4.17.2-x86_64-linode109","label":"4.17.2-x86_64-linode109","version":"4.17.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-06-26T19:42:57"},{"id":"linode/4.16.11-x86_64-linode108","label":"4.16.11-x86_64-linode108","version":"4.16.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-05-24T21:33:31"},{"id":"linode/4.15.18-x86_64-linode107","label":"4.15.18-x86_64-linode107","version":"4.15.18","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-05-02T20:21:04"},{"id":"linode/4.15.13-x86_64-linode106","label":"4.15.13-x86_64-linode106","version":"4.15.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-27T17:17:56"},{"id":"linode/4.15.12-x86_64-linode105","label":"4.15.12-x86_64-linode105","version":"4.15.12","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-22T20:08:43"},{"id":"linode/4.15.10-x86_64-linode104","label":"4.15.10-x86_64-linode104","version":"4.15.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-16T21:18:35"},{"id":"linode/4.15.8-x86_64-linode103","label":"4.15.8-x86_64-linode103","version":"4.15.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-10T21:25:43"},{"id":"linode/4.15.7-x86_64-linode102","label":"4.15.7-x86_64-linode102","version":"4.15.7","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-01T17:20:54"},{"id":"linode/4.14.19-x86_64-linode100","label":"4.14.19-x86_64-linode100","version":"4.14.19","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-13T19:07:46"},{"id":"linode/4.14.17-x86_64-linode99","label":"4.14.17-x86_64-linode99","version":"4.14.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-08T18:35:09"},{"id":"linode/4.9.80-x86_64-linode98","label":"4.9.80-x86_64-linode98","version":"4.9.80","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-08T18:34:16"},{"id":"linode/4.4.115-x86_64-linode97","label":"4.4.115-x86_64-linode97","version":"4.4.115","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-08T18:33:23"},{"id":"linode/4.4.113-x86_64-linode96","label":"4.4.113-x86_64-linode96","version":"4.4.113","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-25T22:47:11"},{"id":"linode/4.9.78-x86_64-linode95","label":"4.9.78-x86_64-linode95","version":"4.9.78","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-23T23:23:58"},{"id":"linode/4.14.14-x86_64-linode94","label":"4.14.14-x86_64-linode94","version":"4.14.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-23T02:10:08"},{"id":"linode/4.14.14-x86_64-linode93","label":"4.14.14-x86_64-linode93","version":"4.14.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-18T20:08:56"},{"id":"linode/4.9.64-x86_64-linode88","label":"4.9.64-x86_64-linode88","version":"4.9.64","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-12-01T23:10:11"},{"id":"linode/4.9.68-x86_64-linode89","label":"4.9.68-x86_64-linode89","version":"4.9.68","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-12-11T19:00:48"},{"id":"linode/4.14.12-x86_64-linode92","label":"4.14.12-x86_64-linode92","version":"4.14.12","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-05T16:31:28"},{"id":"linode/4.14.11-x86_64-linode91","label":"4.14.11-x86_64-linode91","version":"4.14.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-04T18:56:22"},{"id":"linode/4.9.56-x86_64-linode87","label":"4.9.56-x86_64-linode87","version":"4.9.56","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-10-13T21:09:35"},{"id":"linode/4.9.50-x86_64-linode86","label":"4.9.50-x86_64-linode86","version":"4.9.50","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-09-14T21:46:25"},{"id":"linode/4.9.36-x86_64-linode85","label":"4.9.36-x86_64-linode85","version":"4.9.36","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-07-10T13:16:08"},{"id":"linode/4.9.33-x86_64-linode83","label":"4.9.33-x86_64-linode83","version":"4.9.33","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-06-23T21:04:33"},{"id":"linode/4.9.15-x86_64-linode81","label":"4.9.15-x86_64-linode81","version":"4.9.15","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-03-22T13:49:33"},{"id":"linode/4.9.7-x86_64-linode80","label":"4.9.7-x86_64-linode80","version":"4.9.7","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-02-03T22:55:37"},{"id":"linode/4.9.0-x86_64-linode79","label":"4.9.0-x86_64-linode79","version":"4.9.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-12-13T20:11:03"},{"id":"linode/4.8.6-x86_64-linode78","label":"4.8.6-x86_64-linode78","version":"4.8.6","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-11-02T15:24:17"},{"id":"linode/4.8.4-x86_64-linode77","label":"4.8.4-x86_64-linode77","version":"4.8.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-10-27T18:53:07"},{"id":"linode/4.8.3-x86_64-linode76","label":"4.8.3-x86_64-linode76","version":"4.8.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-10-20T23:10:27"},{"id":"linode/4.8.1-x86_64-linode75","label":"4.8.1-x86_64-linode75","version":"4.8.1","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-10-07T22:22:13"},{"id":"linode/4.7.3-x86_64-linode73","label":"4.7.3-x86_64-linode73","version":"4.7.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-09-15T13:13:01"},{"id":"linode/4.7.0-x86_64-linode72","label":"4.7.0-x86_64-linode72","version":"4.7.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-08-05T14:34:25"},{"id":"linode/4.6.5-x86_64-linode71","label":"4.6.5-x86_64-linode71","version":"4.6.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-08-04T15:28:01"},{"id":"linode/4.6.3-x86_64-linode70","label":"4.6.3-x86_64-linode70","version":"4.6.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-07-07T22:08:28"},{"id":"linode/4.5.5-x86_64-linode69","label":"4.5.5-x86_64-linode69","version":"4.5.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-05-24T15:30:08"},{"id":"linode/4.5.3-x86_64-linode67","label":"4.5.3-x86_64-linode67","version":"4.5.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-05-10T19:42:43"},{"id":"linode/4.5.0-x86_64-linode65","label":"4.5.0-x86_64-linode65","version":"4.5.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-03-16T18:53:02"},{"id":"linode/4.4.4-x86_64-linode64","label":"4.4.4-x86_64-linode64","version":"4.4.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-03-10T22:24:51"},{"id":"linode/4.4.0-x86_64-linode63","label":"4.4.0-x86_64-linode63","version":"4.4.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-01-20T14:41:05"},{"id":"linode/4.1.5-x86_64-linode61","label":"4.1.5-x86_64-linode61","version":"4.1.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-08-24T19:00:43"},{"id":"linode/4.1.5-x86_64-linode60","label":"4.1.5-x86_64-linode60 ","version":"4.1.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-08-13T13:00:00"},{"id":"linode/4.1.0-x86_64-linode59","label":"4.1.0-x86_64-linode59 ","version":"4.1.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-06-22T15:19:32"},{"id":"linode/4.0.5-x86_64-linode58","label":"4.0.5-x86_64-linode58","version":"4.0.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-06-10T15:31:52"},{"id":"linode/4.0.4-x86_64-linode57","label":"4.0.4-x86_64-linode57","version":"4.0.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-05-21T15:15:47"},{"id":"linode/4.0.2-x86_64-linode56","label":"4.0.2-x86_64-linode56","version":"4.0.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-05-11T20:56:58"},{"id":"linode/4.0.1-x86_64-linode55","label":"4.0.1-x86_64-linode55","version":"4.0.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-05-04T13:43:23"},{"id":"linode/4.0-x86_64-linode54","label":"4.0-x86_64-linode54","version":"4.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-04-21T13:02:24"},{"id":"linode/3.19.1-x86_64-linode53","label":"3.19.1-x86_64-linode53","version":"3.19.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-03-11T18:00:36"},{"id":"linode/3.18.5-x86_64-linode52","label":"3.18.5-x86_64-linode52","version":"3.18.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-02-05T05:00:00"},{"id":"linode/3.18.3-x86_64-linode51","label":"3.18.3-x86_64-linode51","version":"3.18.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-01-23T15:12:45"},{"id":"linode/3.18.1-x86_64-linode50","label":"3.18.1-x86_64-linode50","version":"3.18.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-01-06T17:32:39"},{"id":"linode/3.16.7-x86_64-linode49","label":"3.16.7-x86_64-linode49","version":"3.16.7","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-11-14T22:31:46"},{"id":"linode/3.16.5-x86_64-linode46","label":"3.16.5-x86_64-linode46","version":"3.16.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-10-13T13:42:00"},{"id":"linode/3.15.4-x86_64-linode45","label":"3.15.4-x86_64-linode45","version":"3.15.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-07-07T13:50:35"},{"id":"linode/3.15.3-x86_64-linode44","label":"3.15.3-x86_64-linode44","version":"3.15.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-07-02T12:12:37"},{"id":"linode/3.15.2-x86_64-linode43","label":"3.15.2-x86_64-linode43","version":"3.15.2","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-06-30T18:46:50"},{"id":"linode/3.14.5-x86_64-linode42","label":"3.14.5-x86_64-linode42","version":"3.14.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-06-05T20:05:44"},{"id":"linode/3.14.5-x86_64-linode41","label":"3.14.5-x86_64-linode41","version":"3.14.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-06-03T13:09:58"},{"id":"linode/3.14.4-x86_64-linode40","label":"3.14.4-x86_64-linode40","version":"3.14.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-05-13T17:42:22"},{"id":"linode/3.14.1-x86_64-linode39","label":"3.14.1-x86_64-linode39","version":"3.14.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-04-25T17:42:13"},{"id":"linode/3.13.7-x86_64-linode38","label":"3.13.7-x86_64-linode38","version":"3.13.7","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-03-25T18:21:50"},{"id":"linode/3.12.9-x86_64-linode37","label":"3.12.9-x86_64-linode37","version":"3.12.9","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-02-03T19:42:13"},{"id":"linode/3.12.6-x86_64-linode36","label":"3.12.6-x86_64-linode36","version":"3.12.6","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-12-23T16:24:18"},{"id":"linode/3.11.6-x86_64-linode35","label":"3.11.6-x86_64-linode35","version":"3.11.6","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-10-23T16:06:29"},{"id":"linode/3.10.3-x86_64-linode34","label":"3.10.3-x86_64-linode34","version":"3.10.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-07-26T16:35:12"},{"id":"linode/3.9.3-x86_64-linode33","label":"3.9.3-x86_64-linode33","version":"3.9.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-05-20T14:27:27"},{"id":"linode/3.9.2-x86_64-linode32","label":"3.9.2-x86_64-linode32","version":"3.9.2","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-05-14T15:53:02"},{"id":"linode/3.8.4-x86_64-linode31","label":"3.8.4-x86_64-linode31","version":"3.8.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-03-25T20:42:49"},{"id":"linode/3.7.10-x86_64-linode30","label":"3.7.10-x86_64-linode30","version":"3.7.10","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-02-27T19:49:45"},{"id":"linode/3.7.5-x86_64-linode29","label":"3.7.5-x86_64-linode29","version":"3.7.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-01-31T19:52:25"},{"id":"linode/3.6.5-x86_64-linode28","label":"3.6.5-x86_64-linode28","version":"3.6.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-11-04T17:42:14"},{"id":"linode/3.5.3-x86_64-linode27","label":"3.5.3-x86_64-linode27","version":"3.5.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-09-05T20:32:28"},{"id":"linode/3.4.2-x86_64-linode25","label":"3.4.2-x86_64-linode25","version":"3.2.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-06-11T18:40:20"},{"id":"linode/3.0.18-x86_64-linode24","label":"3.0.18-x86_64-linode24 ","version":"3.0.18","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-01-30T17:42:21"},{"id":"linode/3.2.1-x86_64-linode23","label":"3.2.1-x86_64-linode23","version":"3.2.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-01-23T16:04:48"},{"id":"linode/3.1.0-x86_64-linode22","label":"3.1.0-x86_64-linode22","version":"3.1.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-10-25T18:24:49"},{"id":"linode/3.0.4-x86_64-linode21","label":"3.0.4-x86_64-linode21","version":"3.0.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-09-02T01:08:55"},{"id":"linode/3.0.0-x86_64-linode20","label":"3.0.0-x86_64-linode20","version":"3.0.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-08-02T16:59:12"},{"id":"linode/2.6.39.1-x86_64-linode19","label":"2.6.39.1-x86_64-linode19","version":"2.6.39","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-06-21T14:06:03"},{"id":"linode/2.6.39-x86_64-linode18","label":"2.6.39-x86_64-linode18","version":"2.6.39","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-05-25T19:05:05"},{"id":"linode/2.6.38-x86_64-linode17","label":"2.6.38-x86_64-linode17","version":"2.6.38","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-03-21T21:44:09"},{"id":"linode/2.6.35.4-x86_64-linode16","label":"2.6.35.4-x86_64-linode16","version":"2.6.35","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-09-20T04:00:00"},{"id":"linode/2.6.32.12-x86_64-linode15","label":"2.6.32.12-x86_64-linode15","version":"2.6.32","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-07-25T21:34:00"},{"id":"linode/2.6.34-x86_64-linode13","label":"2.6.34-x86_64-linode13","version":"2.6.34","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-06-17T04:00:00"},{"id":"linode/2.6.34-x86_64-linode14","label":"2.6.34-x86_64-linode14","version":"2.6.34","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-07-14T04:00:00"},{"id":"linode/2.6.32.12-x86_64-linode12","label":"2.6.32.12-x86_64-linode12","version":"2.6.32","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-04-28T04:00:00"},{"id":"linode/2.6.32-x86_64-linode11","label":"2.6.32-x86_64-linode11","version":"2.6.32","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-12-05T17:01:00"},{"id":"linode/2.6.18.8-x86_64-linode10","label":"2.6.18.8-x86_64-linode10","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2009-11-10T16:53:00"},{"id":"linode/2.6.31.5-x86_64-linode9","label":"2.6.31.5-x86_64-linode9","version":"2.6.31","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/2.6.30.5-x86_64-linode8","label":"2.6.30.5-x86_64-linode8","version":"2.6.30","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/2.6.18.8-x86_64-linode7","label":"2.6.18.8-x86_64-linode7","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2009-08-14T04:00:00"},{"id":"linode/2.6.29-x86_64-linode6","label":"2.6.29-x86_64-linode6","version":"2.6.29","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-04-02T04:00:00"},{"id":"linode/2.6.28.3-x86_64-linode5","label":"2.6.28.3-x86_64-linode5","version":"2.6.28","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-02-04T05:00:00"},{"id":"linode/2.6.28-x86_64-linode4","label":"2.6.28-x86_64-linode4","version":"2.6.28","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2008-12-29T05:00:00"},{"id":"linode/2.6.27.4-x86_64-linode3","label":"2.6.27.4-x86_64-linode3","version":"2.6.27","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2008-11-05T05:00:00"},{"id":"linode/2.6.16.38-x86_64-linode2","label":"2.6.16.38-x86_64-linode2","version":"2.6.16","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2008-03-23T04:00:00"},{"id":"linode/2.6.18.8-x86_64-linode1","label":"2.6.18.8-x86_64-linode1","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2008-03-23T04:00:00"},{"id":"linode/3.5.2-x86_64-linode26","label":"3.5.2-x86_64-linode26","version":"3.5.2","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-08-15T18:38:16"},{"id":"linode/grub2","label":"GRUB 2","version":"2.06","kvm":true,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2022-08-29T14:28:00"},{"id":"linode/direct-disk","label":"Direct Disk","version":"","kvm":true,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2015-05-05T01:51:43"},{"id":"linode/grub-legacy","label":"GRUB (Legacy)","version":"2.0.0","kvm":true,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2015-04-29T15:32:30"},{"id":"linode/pv-grub_x86_32","label":"pv-grub-x86_32","version":"2.6.26","kvm":false,"architecture":"i386","pvops":false,"deprecated":false,"built":"2008-09-15T04:00:00"},{"id":"linode/pv-grub_x86_64","label":"pv-grub-x86_64","version":"2.6.26","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2008-11-14T05:00:00"}],"page":1,"pages":1,"results":324} \ No newline at end of file diff --git a/packages/manager/src/cachedData/regions.json b/packages/manager/src/cachedData/regions.json index 061d255c8a1..fe51e16de98 100644 --- a/packages/manager/src/cachedData/regions.json +++ b/packages/manager/src/cachedData/regions.json @@ -1 +1 @@ -{"data":[{"id":"ap-west","label":"Mumbai, IN","country":"in","capabilities":["Linodes","NodeBalancers","Block Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5","ipv6":"2400:8904::f03c:91ff:fea5:659,2400:8904::f03c:91ff:fea5:9282,2400:8904::f03c:91ff:fea5:b9b3,2400:8904::f03c:91ff:fea5:925a,2400:8904::f03c:91ff:fea5:22cb,2400:8904::f03c:91ff:fea5:227a,2400:8904::f03c:91ff:fea5:924c,2400:8904::f03c:91ff:fea5:f7e2,2400:8904::f03c:91ff:fea5:2205,2400:8904::f03c:91ff:fea5:9207"}},{"id":"ca-central","label":"Toronto, CA","country":"ca","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5","ipv6":"2600:3c04::f03c:91ff:fea9:f63,2600:3c04::f03c:91ff:fea9:f6d,2600:3c04::f03c:91ff:fea9:f80,2600:3c04::f03c:91ff:fea9:f0f,2600:3c04::f03c:91ff:fea9:f99,2600:3c04::f03c:91ff:fea9:fbd,2600:3c04::f03c:91ff:fea9:fdd,2600:3c04::f03c:91ff:fea9:fe2,2600:3c04::f03c:91ff:fea9:f68,2600:3c04::f03c:91ff:fea9:f4a"}},{"id":"ap-southeast","label":"Sydney, AU","country":"au","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5","ipv6":"2400:8907::f03c:92ff:fe6e:ec8,2400:8907::f03c:92ff:fe6e:98e4,2400:8907::f03c:92ff:fe6e:1c58,2400:8907::f03c:92ff:fe6e:c299,2400:8907::f03c:92ff:fe6e:c210,2400:8907::f03c:92ff:fe6e:c219,2400:8907::f03c:92ff:fe6e:1c5c,2400:8907::f03c:92ff:fe6e:c24e,2400:8907::f03c:92ff:fe6e:e6b,2400:8907::f03c:92ff:fe6e:e3d"}},{"id":"us-central","label":"Dallas, TX","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5","ipv6":"2600:3c00::2,2600:3c00::9,2600:3c00::7,2600:3c00::5,2600:3c00::3,2600:3c00::8,2600:3c00::6,2600:3c00::4,2600:3c00::c,2600:3c00::b"}},{"id":"us-west","label":"Fremont, CA","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"173.230.145.5,173.230.147.5,173.230.155.5,173.255.212.5,173.255.219.5,173.255.241.5,173.255.243.5,173.255.244.5,74.207.241.5,74.207.242.5","ipv6":"2600:3c01::2,2600:3c01::9,2600:3c01::5,2600:3c01::7,2600:3c01::3,2600:3c01::8,2600:3c01::4,2600:3c01::b,2600:3c01::c,2600:3c01::6"}},{"id":"us-southeast","label":"Atlanta, GA","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5","ipv6":"2600:3c02::3,2600:3c02::5,2600:3c02::4,2600:3c02::6,2600:3c02::c,2600:3c02::7,2600:3c02::2,2600:3c02::9,2600:3c02::8,2600:3c02::b"}},{"id":"us-east","label":"Newark, NJ","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Bare Metal","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,207.192.69.4,207.192.69.5","ipv6":"2600:3c03::7,2600:3c03::4,2600:3c03::9,2600:3c03::6,2600:3c03::3,2600:3c03::c,2600:3c03::5,2600:3c03::b,2600:3c03::2,2600:3c03::8"}},{"id":"eu-west","label":"London, UK","country":"uk","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases", "Metadata"],"status":"ok","resolvers":{"ipv4":"178.79.182.5,176.58.107.5,176.58.116.5,176.58.121.5,151.236.220.5,212.71.252.5,212.71.253.5,109.74.192.20,109.74.193.20,109.74.194.20","ipv6":"2a01:7e00::9,2a01:7e00::3,2a01:7e00::c,2a01:7e00::5,2a01:7e00::6,2a01:7e00::8,2a01:7e00::b,2a01:7e00::4,2a01:7e00::7,2a01:7e00::2"}},{"id":"ap-south","label":"Singapore, SG","country":"sg","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20","ipv6":"2400:8901::5,2400:8901::4,2400:8901::b,2400:8901::3,2400:8901::9,2400:8901::2,2400:8901::8,2400:8901::7,2400:8901::c,2400:8901::6"}},{"id":"eu-central","label":"Frankfurt, DE","country":"de","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5","ipv6":"2a01:7e01::5,2a01:7e01::9,2a01:7e01::7,2a01:7e01::c,2a01:7e01::2,2a01:7e01::4,2a01:7e01::3,2a01:7e01::6,2a01:7e01::b,2a01:7e01::8"}},{"id":"ap-northeast","label":"Tokyo, JP","country":"jp","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5","ipv6":"2400:8902::3,2400:8902::6,2400:8902::c,2400:8902::4,2400:8902::2,2400:8902::8,2400:8902::7,2400:8902::5,2400:8902::b,2400:8902::9"}}],"page":1,"pages":1,"results":11} \ No newline at end of file +{"data":[{"id":"ap-west","label":"Mumbai, IN","country":"in","capabilities":["Linodes","NodeBalancers","Block Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5","ipv6":"2400:8904::f03c:91ff:fea5:659,2400:8904::f03c:91ff:fea5:9282,2400:8904::f03c:91ff:fea5:b9b3,2400:8904::f03c:91ff:fea5:925a,2400:8904::f03c:91ff:fea5:22cb,2400:8904::f03c:91ff:fea5:227a,2400:8904::f03c:91ff:fea5:924c,2400:8904::f03c:91ff:fea5:f7e2,2400:8904::f03c:91ff:fea5:2205,2400:8904::f03c:91ff:fea5:9207"}},{"id":"ca-central","label":"Toronto, CA","country":"ca","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5","ipv6":"2600:3c04::f03c:91ff:fea9:f63,2600:3c04::f03c:91ff:fea9:f6d,2600:3c04::f03c:91ff:fea9:f80,2600:3c04::f03c:91ff:fea9:f0f,2600:3c04::f03c:91ff:fea9:f99,2600:3c04::f03c:91ff:fea9:fbd,2600:3c04::f03c:91ff:fea9:fdd,2600:3c04::f03c:91ff:fea9:fe2,2600:3c04::f03c:91ff:fea9:f68,2600:3c04::f03c:91ff:fea9:f4a"}},{"id":"ap-southeast","label":"Sydney, AU","country":"au","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5","ipv6":"2400:8907::f03c:92ff:fe6e:ec8,2400:8907::f03c:92ff:fe6e:98e4,2400:8907::f03c:92ff:fe6e:1c58,2400:8907::f03c:92ff:fe6e:c299,2400:8907::f03c:92ff:fe6e:c210,2400:8907::f03c:92ff:fe6e:c219,2400:8907::f03c:92ff:fe6e:1c5c,2400:8907::f03c:92ff:fe6e:c24e,2400:8907::f03c:92ff:fe6e:e6b,2400:8907::f03c:92ff:fe6e:e3d"}},{"id":"us-central","label":"Dallas, TX","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5","ipv6":"2600:3c00::2,2600:3c00::9,2600:3c00::7,2600:3c00::5,2600:3c00::3,2600:3c00::8,2600:3c00::6,2600:3c00::4,2600:3c00::c,2600:3c00::b"}},{"id":"us-west","label":"Fremont, CA","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"173.230.145.5,173.230.147.5,173.230.155.5,173.255.212.5,173.255.219.5,173.255.241.5,173.255.243.5,173.255.244.5,74.207.241.5,74.207.242.5","ipv6":"2600:3c01::2,2600:3c01::9,2600:3c01::5,2600:3c01::7,2600:3c01::3,2600:3c01::8,2600:3c01::4,2600:3c01::b,2600:3c01::c,2600:3c01::6"}},{"id":"us-southeast","label":"Atlanta, GA","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5","ipv6":"2600:3c02::3,2600:3c02::5,2600:3c02::4,2600:3c02::6,2600:3c02::c,2600:3c02::7,2600:3c02::2,2600:3c02::9,2600:3c02::8,2600:3c02::b"}},{"id":"us-east","label":"Newark, NJ","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Bare Metal","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,207.192.69.4,207.192.69.5","ipv6":"2600:3c03::7,2600:3c03::4,2600:3c03::9,2600:3c03::6,2600:3c03::3,2600:3c03::c,2600:3c03::5,2600:3c03::b,2600:3c03::2,2600:3c03::8"}},{"id":"eu-west","label":"London, UK","country":"uk","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"178.79.182.5,176.58.107.5,176.58.116.5,176.58.121.5,151.236.220.5,212.71.252.5,212.71.253.5,109.74.192.20,109.74.193.20,109.74.194.20","ipv6":"2a01:7e00::9,2a01:7e00::3,2a01:7e00::c,2a01:7e00::5,2a01:7e00::6,2a01:7e00::8,2a01:7e00::b,2a01:7e00::4,2a01:7e00::7,2a01:7e00::2"}},{"id":"ap-south","label":"Singapore, SG","country":"sg","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20","ipv6":"2400:8901::5,2400:8901::4,2400:8901::b,2400:8901::3,2400:8901::9,2400:8901::2,2400:8901::8,2400:8901::7,2400:8901::c,2400:8901::6"}},{"id":"eu-central","label":"Frankfurt, DE","country":"de","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5","ipv6":"2a01:7e01::5,2a01:7e01::9,2a01:7e01::7,2a01:7e01::c,2a01:7e01::2,2a01:7e01::4,2a01:7e01::3,2a01:7e01::6,2a01:7e01::b,2a01:7e01::8"}},{"id":"ap-northeast","label":"Tokyo, JP","country":"jp","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5","ipv6":"2400:8902::3,2400:8902::6,2400:8902::c,2400:8902::4,2400:8902::2,2400:8902::8,2400:8902::7,2400:8902::5,2400:8902::b,2400:8902::9"}}],"page":1,"pages":1,"results":11} \ No newline at end of file diff --git a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx index 5a041f91eda..a62397ace9b 100644 --- a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx +++ b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx @@ -109,7 +109,7 @@ export const TypeToConfirmDialog = (props: CombinedProps) => { label={label} confirmationText={ entity.subType === 'CloseAccount' ? ( - confirmText + '' ) : ( To confirm {entity.action}, {typeInstructions}( diff --git a/packages/manager/src/features/Account/CloseAccountDialog.tsx b/packages/manager/src/features/Account/CloseAccountDialog.tsx index 7f59291ec5e..fa9b5ae44e0 100644 --- a/packages/manager/src/features/Account/CloseAccountDialog.tsx +++ b/packages/manager/src/features/Account/CloseAccountDialog.tsx @@ -102,6 +102,7 @@ const CloseAccountDialog = ({ closeDialog, open }: Props) => { type: 'AccountSetting', subType: 'CloseAccount', primaryBtnText: 'Close Account', + name: profile.username, }} open={open} onClose={closeDialog} diff --git a/yarn.lock b/yarn.lock index 3c8c8163df3..87c074ad151 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5480,13 +5480,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" @@ -6977,13 +6970,6 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -encoding@^0.1.11: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -8394,20 +8380,13 @@ github-slugger@^1.0.0: resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== -glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@^6.0.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - glob-promise@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-4.2.2.tgz#15f44bcba0e14219cd93af36da6bb905ff007877" @@ -8711,10 +8690,12 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react- dependencies: react-is "^16.7.0" -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +hosted-git-info@^2.1.4, hosted-git-info@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f" + integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw== + dependencies: + lru-cache "^7.5.1" html-element-map@^1.2.0: version "1.3.1" @@ -8858,13 +8839,6 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - ieee754@^1.1.13: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -9070,16 +9044,16 @@ is-boolean-object@^1.0.1, is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-buffer@^1.1.5, is-buffer@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - is-buffer@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== +is-buffer@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.1.5, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -9211,7 +9185,7 @@ is-generator-function@^1.0.7: dependencies: has-tostringtag "^1.0.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -9330,7 +9304,7 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" -is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== @@ -10311,26 +10285,7 @@ jss@10.10.0, jss@^10.10.0: array-includes "^3.1.5" object.assign "^4.1.3" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0, kind-of@^4.0.0, kind-of@^5.0.0, kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -10647,6 +10602,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.5.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + luxon@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.2.1.tgz#14f1af209188ad61212578ea7e3d518d18cee45f" @@ -10900,21 +10860,14 @@ mini-create-react-context@^0.3.0: "@babel/runtime" "^7.12.1" tiny-warning "^1.0.3" -minimatch@3.1.2, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@3.1.2, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2, minimatch@^5.0.1: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -11111,15 +11064,7 @@ node-fetch-native@^1.0.2: resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.0.2.tgz#de3651399fda89a1a7c0bf6e7c4e9c239e8d0697" integrity sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ== -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - -node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: +node-fetch@^1.0.1, node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.9" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== @@ -12928,7 +12873,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -14189,7 +14134,7 @@ typescript@^4.9.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -ua-parser-js@^0.7.30: +ua-parser-js@^0.7.30, ua-parser-js@^0.7.33: version "0.7.35" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.35.tgz#8bda4827be4f0b1dda91699a29499575a1f1d307" integrity sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g== @@ -14833,25 +14778,12 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yaml@^2.2.2: +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2, yaml@^2.2.2, yaml@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== -yargs-parser@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^18.1.2: +yargs-parser@^11.1.1, yargs-parser@^18.1.2, yargs-parser@^18.1.3, yargs-parser@^20.2.2, yargs-parser@^20.2.9: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -14859,11 +14791,6 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2, yargs-parser@^20.2.9: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - yargs@^12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" From 309337eac0800fe400f0a2b425e91327e5e96722 Mon Sep 17 00:00:00 2001 From: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com> Date: Wed, 28 Jun 2023 12:59:24 -0400 Subject: [PATCH 44/88] refactor: [M3-6702] - React Query - Linodes - General clean up and refactors (#9294) * refactor and clean up * fix spelling for entity names * remove more things * match production better * igrate off withLinodes container * make the linodes container pull from React Query * remove last few containers for now * hook up search with RQ * fix broken tests * Added changeset: React Query - Linodes - General clean up and refactors * remove `useLinodes` redux hook * feedback @dwiley-akamai --------- Co-authored-by: Banks Nussman --- .../pr-9294-tech-stories-1687468298891.md | 5 + packages/manager/src/App.tsx | 16 -- .../src/containers/withLinodes.container.ts | 121 ++++-------- .../src/features/Account/EnableManaged.tsx | 26 +-- .../src/features/Account/GlobalSettings.tsx | 41 ++-- .../src/features/Images/ImageSelect.test.tsx | 4 - .../src/features/Images/ImagesDrawer.tsx | 9 +- .../NodePoolsDisplay/NodeTable.tsx | 15 +- .../Linodes/CloneLanding/CloneLanding.tsx | 134 ++++--------- .../features/Linodes/CloneLanding/Details.tsx | 8 +- .../Linodes/LinodeSelect/LinodeSelect.tsx | 38 +--- .../features/Linodes/LinodeSelect/index.tsx | 2 - .../Linodes/LinodesCreate/LinodeCreate.tsx | 2 +- .../LinodesCreate/LinodeCreateContainer.tsx | 25 +-- .../features/Linodes/LinodesCreate/types.ts | 6 - .../LinodesDetail/HostMaintenanceError.tsx | 4 +- .../LinodeActivity/LinodeActivity.test.tsx | 18 -- .../LinodeActivity/LinodeActivity.tsx | 27 +-- .../LinodesDetail/LinodeActivity/index.ts | 2 - .../LinodeBackup/BackupsPlaceholder.tsx | 2 +- .../LinodeBackup/LinodeBackups.tsx | 2 +- .../LinodeDetailErrorBoundary.tsx | 31 --- .../LinodeNetworking/LinodeNetworking.tsx | 2 +- .../LinodesDetail/LinodePermissionsError.tsx | 4 +- .../LinodeRebuild/LinodeRebuildDialog.tsx | 4 +- .../LinodeRescue/StandardRescueDialog.tsx | 2 +- .../LinodeResize/LinodeResize.tsx | 4 +- .../LinodeSettings/ImageAndPassword.test.tsx | 2 +- .../LinodeSettings/ImageAndPassword.tsx | 33 +--- .../LinodeSettings/LinodeSettings.tsx | 2 +- .../LinodeStorage/CreateDiskDrawer.tsx | 3 +- .../LinodesDetail/LinodesDetail.container.tsx | 71 ------- .../Linodes/LinodesDetail/LinodesDetail.tsx | 72 +++---- .../LinodesDetailHeader/Notifications.tsx | 7 +- .../features/Linodes/LinodesDetail/README.md | 159 ---------------- .../features/Linodes/LinodesDetail/index.tsx | 2 - .../LinodesDetail/linodeDetailContext.tsx | 155 --------------- .../manager/src/features/Linodes/index.tsx | 2 +- .../NodeBalancers/ConfigNodeIPSelect.tsx | 2 +- .../NotificationData/RenderProgressEvent.tsx | 13 +- .../features/Search/SearchLanding.test.tsx | 4 - .../src/features/Search/SearchLanding.tsx | 30 ++- .../SupportTickets/SupportTicketDrawer.tsx | 179 ++++++------------ .../features/TopMenu/SearchBar/SearchBar.tsx | 41 ++-- .../Volumes/DestructiveVolumeDialog.tsx | 9 +- .../Volumes/VolumeAttachmentDrawer.tsx | 2 +- .../Volumes/VolumeCreate/CreateVolumeForm.tsx | 2 +- packages/manager/src/hooks/useEntities.ts | 47 ----- .../manager/src/hooks/useExtendedLinode.ts | 57 ------ .../manager/src/hooks/useLinodeActions.ts | 43 ----- packages/manager/src/hooks/useLinodes.ts | 19 -- .../manager/src/hooks/useReduxLoad.test.ts | 25 --- packages/manager/src/hooks/useReduxLoad.ts | 121 ------------ .../manager/src/queries/linodes/linodes.ts | 11 ++ .../src/store/linodes/linode.containers.ts | 33 ---- .../manager/src/utilities/testHelpersStore.ts | 3 - 56 files changed, 292 insertions(+), 1411 deletions(-) create mode 100644 packages/manager/.changeset/pr-9294-tech-stories-1687468298891.md delete mode 100644 packages/manager/src/features/Linodes/LinodeSelect/index.tsx delete mode 100644 packages/manager/src/features/Linodes/LinodesDetail/LinodeActivity/LinodeActivity.test.tsx delete mode 100644 packages/manager/src/features/Linodes/LinodesDetail/LinodeActivity/index.ts delete mode 100644 packages/manager/src/features/Linodes/LinodesDetail/LinodeDetailErrorBoundary.tsx delete mode 100644 packages/manager/src/features/Linodes/LinodesDetail/LinodesDetail.container.tsx delete mode 100644 packages/manager/src/features/Linodes/LinodesDetail/README.md delete mode 100644 packages/manager/src/features/Linodes/LinodesDetail/index.tsx delete mode 100644 packages/manager/src/features/Linodes/LinodesDetail/linodeDetailContext.tsx delete mode 100644 packages/manager/src/hooks/useEntities.ts delete mode 100644 packages/manager/src/hooks/useExtendedLinode.ts delete mode 100644 packages/manager/src/hooks/useLinodeActions.ts delete mode 100644 packages/manager/src/hooks/useLinodes.ts delete mode 100644 packages/manager/src/hooks/useReduxLoad.test.ts delete mode 100644 packages/manager/src/hooks/useReduxLoad.ts delete mode 100644 packages/manager/src/store/linodes/linode.containers.ts delete mode 100644 packages/manager/src/utilities/testHelpersStore.ts diff --git a/packages/manager/.changeset/pr-9294-tech-stories-1687468298891.md b/packages/manager/.changeset/pr-9294-tech-stories-1687468298891.md new file mode 100644 index 00000000000..0e8910dd59e --- /dev/null +++ b/packages/manager/.changeset/pr-9294-tech-stories-1687468298891.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Tech Stories +--- + +React Query - Linodes - General clean up and refactors ([#9294](https://github.com/linode/manager/pull/9294)) diff --git a/packages/manager/src/App.tsx b/packages/manager/src/App.tsx index 61ce13db465..aeee3c078f4 100644 --- a/packages/manager/src/App.tsx +++ b/packages/manager/src/App.tsx @@ -20,7 +20,6 @@ import { ADOBE_ANALYTICS_URL, NUM_ADOBE_SCRIPTS } from './constants'; import { reportException } from './exceptionReporting'; import { useAuthentication } from './hooks/useAuthentication'; import useFeatureFlagsLoad from './hooks/useFeatureFlagLoad'; -import useLinodes from './hooks/useLinodes'; import { loadScript } from './hooks/useScript'; import { oauthClientsEventHandler } from './queries/accountOAuth'; import { databaseEventsHandler } from './queries/databases'; @@ -59,12 +58,6 @@ const BaseApp = withFeatureFlagProvider( const { enqueueSnackbar } = useSnackbar(); - const { - linodes: { - error: { read: linodesError }, - }, - } = useLinodes(); - const [goToOpen, setGoToOpen] = React.useState(false); const theme = preferences?.theme; @@ -263,15 +256,6 @@ const BaseApp = withFeatureFlagProvider( }; }, [handleMigrationEvent]); - /** - * in the event that we encounter an "invalid OAuth token" error from the API, - * we can simply refrain from rendering any content since the user will - * imminently be redirected to the login page. - */ - if (hasOauthError(linodesError)) { - return null; - } - return ( }> {/** Accessibility helper */} diff --git a/packages/manager/src/containers/withLinodes.container.ts b/packages/manager/src/containers/withLinodes.container.ts index 7655fc204b8..cf3fc95186d 100644 --- a/packages/manager/src/containers/withLinodes.container.ts +++ b/packages/manager/src/containers/withLinodes.container.ts @@ -1,91 +1,40 @@ -import { Linode } from '@linode/api-v4/lib/linodes'; -import { APIError, Filter, Params } from '@linode/api-v4/lib/types'; -import { path } from 'ramda'; -import { connect, InferableComponentEnhancerWithProps } from 'react-redux'; -import { ApplicationState } from 'src/store'; -import { requestLinodes } from 'src/store/linodes/linode.requests'; -import { State } from 'src/store/linodes/linodes.reducer'; -import { LinodeWithMaintenanceAndDisplayStatus } from 'src/store/linodes/types'; -import { ThunkDispatch } from 'src/store/types'; -import { GetAllData } from 'src/utilities/getAll'; - -export interface DispatchProps { - getLinodes: ( - params?: Params, - filters?: Filter - ) => Promise>; +import React from 'react'; +import { CreateLinodeRequest, Linode } from '@linode/api-v4/lib/linodes'; +import { APIError } from '@linode/api-v4/lib/types'; +import { + useAllLinodesQuery, + useCreateLinodeMutation, +} from 'src/queries/linodes/linodes'; + +interface Actions { + createLinode: (data: CreateLinodeRequest) => Promise; } -/* tslint:disable-next-line */ -export interface StateProps { - linodesError?: APIError[]; - linodesLoading: State['loading']; - linodesData: LinodeWithMaintenanceAndDisplayStatus[]; - linodesLastUpdated: State['lastUpdated']; - linodesResults: State['results']; +export interface WithLinodesProps { + linodesError: APIError[] | null; + linodesLoading: boolean; + linodesData: Linode[] | undefined; + linodeActions: Actions; } -type MapProps = ( - ownProps: OwnProps, - linodes: Linode[], - loading: boolean, - error?: APIError[] -) => ReduxStateProps & Partial; - -export type Props = DispatchProps & StateProps; - -interface Connected { - ( - mapStateToProps: MapProps - ): InferableComponentEnhancerWithProps< - ReduxStateProps & Partial & DispatchProps & OwnProps, - OwnProps - >; - (): InferableComponentEnhancerWithProps< - ReduxStateProps & DispatchProps & OwnProps, - OwnProps - >; -} - -const connected: Connected = ( - mapStateToProps?: MapProps -) => - connect< - (ReduxState & Partial) | StateProps, - DispatchProps, - OwnProps, - ApplicationState - >( - (state, ownProps) => { - const { - loading, - error, - itemsById, - lastUpdated, - results, - } = state.__resources.linodes; - const linodes = Object.values(itemsById); - if (mapStateToProps) { - return mapStateToProps( - ownProps, - linodes, - loading, - path(['read'], error) - ); - } - - return { - linodesError: path(['read'], error), - linodesLoading: loading, - linodesData: linodes, - linodesResults: results, - linodesLastUpdated: lastUpdated, - }; +export const withLinodes = ( + Component: React.ComponentType +) => (props: Props) => { + const { + data: linodesData, + isLoading: linodesLoading, + error: linodesError, + } = useAllLinodesQuery(); + + const { mutateAsync: createLinode } = useCreateLinodeMutation(); + + return React.createElement(Component, { + ...props, + linodesData, + linodesLoading, + linodesError, + linodeActions: { + createLinode, }, - (dispatch: ThunkDispatch) => ({ - getLinodes: (params, filter) => - dispatch(requestLinodes({ params, filter })), - }) - ); - -export default connected; + }); +}; diff --git a/packages/manager/src/features/Account/EnableManaged.tsx b/packages/manager/src/features/Account/EnableManaged.tsx index 204e702a568..c2c24b884c6 100644 --- a/packages/manager/src/features/Account/EnableManaged.tsx +++ b/packages/manager/src/features/Account/EnableManaged.tsx @@ -9,27 +9,20 @@ import Typography from 'src/components/core/Typography'; import ExternalLink from 'src/components/ExternalLink'; import Grid from '@mui/material/Unstable_Grid2'; import { SupportLink } from 'src/components/SupportLink'; -import withLinodes, { - DispatchProps, -} from 'src/containers/withLinodes.container'; import { pluralize } from 'src/utilities/pluralize'; import { updateAccountSettingsData } from 'src/queries/accountSettings'; import { useQueryClient } from 'react-query'; +import { useLinodesQuery } from 'src/queries/linodes/linodes'; interface Props { isManaged: boolean; } -interface StateProps { - linodeCount: number; -} - -type CombinedProps = Props & StateProps & DispatchProps; - interface ContentProps { isManaged: boolean; openConfirmationModal: () => void; } + export const ManagedContent = (props: ContentProps) => { const { isManaged, openConfirmationModal } = props; @@ -66,13 +59,16 @@ export const ManagedContent = (props: ContentProps) => { ); }; -export const EnableManaged = (props: CombinedProps) => { - const { isManaged, linodeCount } = props; +export const EnableManaged = (props: Props) => { + const { isManaged } = props; const queryClient = useQueryClient(); + const { data: linodes } = useLinodesQuery(); const [isOpen, setOpen] = React.useState(false); const [error, setError] = React.useState(); const [isLoading, setLoading] = React.useState(false); + const linodeCount = linodes?.results ?? 0; + const handleClose = () => { setOpen(false); setError(undefined); @@ -94,7 +90,7 @@ export const EnableManaged = (props: CombinedProps) => { .catch(handleError); }; - const actions = () => ( + const actions = ( - ) -}; - -const enhanced = withLinodeDetailContext(({ linode, updateLinode }) => ({ - linode, - updateLinode, -})); - -export default enhanced(myComponent); -``` - -### LinodeDetailContextConsumer. - -The `LinodeDetailContextConsumer` is a render function as children component which allows you to subscribe the wrapped component to prop changes. - -```jsx -// src/features/Linodes/LinodesDetail/MyComponent.tsx -/** Hooks used for berevity, they are not used in this PR. */ -import { LinodeDetailContextConsumer } from './context' - -const MyComponent = (props) => { - const [newLabel, setNewLabel] = useState(linode.label); - - return ( - - {({ linode, updateLinode }) => ( -

Rename {linode.label}

- setLabel(e.target.value)} value={label} /> - - )} -
- ) -}; - -export default myComponent; -``` - -### useLinodeDetailContext (NYI) - -**N**ot **Y**et **I**mplemented - This is an example of what the Linode Detail Context usage could look like with hooks. This is possible, with all of 1 line of code, but you should wait for Enzyme to be updated for Hooks or agree on a [new testing strategy](https://github.com/kentcdodds/react-testing-library). - -```jsx -// src/features/Linodes/LinodesDetail/MyComponent.tsx -import { LinodeDetailContextConsumer } from './context'; - -const MyComponent = props => { - const [newLabel, setNewLabel] = useState(linode.label); - const { linode, updateLinode } = useLinodeDetailContext(); - - return ( - <> -

Rename {linode.label}

- setLabel(e.target.value)} value={label} /> - - - ); -}; - -export default myComponent; -``` - -# LinodesDetail Container - -_Note: This could probably be better named._ - -LinodesDetail.container will create a data object or rendering a error/loading/empty state component based on the state of Redux. - -The LinodesDetail.container file exists to build an extended Linode object, or render a loading, error, or empty components given the state of Redux. - -The LinodesDetail.container file exists to build an extended Linode object, or render a -loading, error, or empty components given the state of that object. - -1. Request all the configs for the Linode. If the linodeId changes we make the request again. No additional props are injected. - -2. Request all the disks for the Linode. If the linodeId changes we make the request again. No additional props are injected. - -3. Combine error states of relevant requests. Render the ErrorState component if any error is defined. This is an early return. No additional props are injected. - -4. Combine loading states of relevant requests. Render the CircleProgress if any are true. This is an early return. No additional props are injected. - -5. Finally if the Linode object is defined, we merge the secondary data onto the Linode and pass it as a prop `linode` to the wrapped component. Render the NotFound component if the Linode object is undefined, as it was not found in Redux. - -The maybeRenderError, maybeRenderLoading, and maybeWithExtendedLinode all use Recompose's [branch](https://github.com/acdlite/recompose/blob/master/docs/API.md#branch) function. This is a great way to early return and prevent unnecessary computation. - -# A Working Work in Progress - -Not all nested components have been updated to make use of this new pattern. The LinodeConfigSelectionDrawer could probably benefit from some work. Any nested components that are directly requesting the Linode, configs, or disks (or really any data at this point) should probably be going through Redux, and thus the context. - -Should we add `_backups`? Probably. -Should we add `_networking`? Probably. - -Have a look at disks and configs state management. Notice a very obvious pattern? Would could extract that to some sort of factory pattern. But should we? The indirection comes at cost. - -# Todo - -The following requests are not on the Linode Context Detail. Each should be reviewed for their effect on the state of the Linode and maybe added as preconfigured handlers. The more information you pump through the Store the more reactive you can make the application. - -- [ ] getLinode -- [ ] deleteLinode -- [ ] getBackups -- [ ] createSnapshot -- [ ] cancelBackups -- [ ] enableBackups -- [ ] getBackup -- [ ] restoreBackup -- [ ] bootLinode -- [ ] cloneLinode -- [ ] resetDiskRootPassword -- [ ] getNetworkingInformation -- [ ] allocateIPv4Address -- [ ] getIPAddress -- [ ] updateIPAddress -- [ ] deleteIPAddress -- [ ] initiatePendingMigration -- [ ] updateLinode -- [ ] rebootLinode -- [ ] rebuildLinode -- [ ] rescueLinode -- [ ] resizeLinode -- [ ] shutdownLinode -- [ ] viewLinodeStats -- [ ] viewLinodeYYMMStatis diff --git a/packages/manager/src/features/Linodes/LinodesDetail/index.tsx b/packages/manager/src/features/Linodes/LinodesDetail/index.tsx deleted file mode 100644 index e40bf3a6f23..00000000000 --- a/packages/manager/src/features/Linodes/LinodesDetail/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -import LinodesDetail from './LinodesDetail.container'; -export default LinodesDetail; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/linodeDetailContext.tsx b/packages/manager/src/features/Linodes/LinodesDetail/linodeDetailContext.tsx deleted file mode 100644 index 4e4a12db159..00000000000 --- a/packages/manager/src/features/Linodes/LinodesDetail/linodeDetailContext.tsx +++ /dev/null @@ -1,155 +0,0 @@ -import { Linode } from '@linode/api-v4/lib/linodes'; -import * as React from 'react'; -import { createHOCForConsumer } from 'src/requestableContext'; -import { - CreateLinodeConfigResponse, - DeleteLinodeConfigResponse, - GetLinodeConfigResponse, - GetLinodeConfigsResponse, - LinodeConfigCreateFields, - LinodeConfigUpdateFields, - UpdateLinodeConfigResponse, -} from 'src/store/linodes/config/config.actions'; -import { - createLinodeConfig as _createLinodeConfig, - deleteLinodeConfig as _deleteLinodeConfig, - getLinodeConfig as _getLinodeConfig, - getLinodeConfigs as _getLinodeConfigs, - updateLinodeConfig as _updateLinodeConfig, -} from 'src/store/linodes/config/config.requests'; -import { - CreateLinodeDiskResponse, - DeleteLinodeDiskResponse, - GetLinodeDiskResponse, - GetLinodeDisksResponse, - LinodeDiskCreateFields, - LinodeDiskUpdateFields, - ResizeLinodeDiskResponse, - UpdateLinodeDiskResponse, -} from 'src/store/linodes/disk/disk.actions'; -import { - createLinodeDisk as _createLinodeDisk, - deleteLinodeDisk as _deleteLinodeDisk, - getLinodeDisk as _getLinodeDisk, - getLinodeDisks as _getLinodeDisks, - resizeLinodeDisk as _resizeLinodeDisk, - updateLinodeDisk as _updateLinodeDisk, -} from 'src/store/linodes/disk/disk.requests'; -import { updateLinode as _updateLinode } from 'src/store/linodes/linode.requests'; -import { ThunkDispatch } from 'src/store/types'; -import { ExtendedLinode } from './types'; - -export type CreateLinodeConfig = ( - data: LinodeConfigCreateFields -) => CreateLinodeConfigResponse; - -export type DeleteLinodeConfig = ( - configId: number -) => DeleteLinodeConfigResponse; - -export type GetLinodeConfig = (configId: number) => GetLinodeConfigResponse; - -export type GetLinodeConfigs = () => GetLinodeConfigsResponse; - -export type UpdateLinodeConfig = ( - configId: number, - data: LinodeConfigUpdateFields -) => UpdateLinodeConfigResponse; - -export type CreateLinodeDisk = ( - data: LinodeDiskCreateFields -) => CreateLinodeDiskResponse; - -export type DeleteLinodeDisk = (diskId: number) => DeleteLinodeDiskResponse; - -export type ResizeLinodeDisk = ( - diskId: number, - size: number -) => ResizeLinodeDiskResponse; - -export type GetLinodeDisk = (diskId: number) => GetLinodeDiskResponse; - -export type GetLinodeDisks = () => GetLinodeDisksResponse; - -export type UpdateLinodeDisk = ( - diskId: number, - data: LinodeDiskUpdateFields -) => UpdateLinodeDiskResponse; - -export type UpdateLinode = (data: Partial) => Promise; - -export interface LinodeDetailContext { - linode: ExtendedLinode; - - /** Linode Actions */ - updateLinode: (data: Partial) => Promise; - - /** Linode Config actions */ - createLinodeConfig: CreateLinodeConfig; - deleteLinodeConfig: DeleteLinodeConfig; - getLinodeConfig: GetLinodeConfig; - getLinodeConfigs: GetLinodeConfigs; - updateLinodeConfig: UpdateLinodeConfig; - - /** Linode Disk actions */ - createLinodeDisk: CreateLinodeDisk; - deleteLinodeDisk: DeleteLinodeDisk; - getLinodeDisk: GetLinodeDisk; - getLinodeDisks: GetLinodeDisks; - updateLinodeDisk: UpdateLinodeDisk; - resizeLinodeDisk: ResizeLinodeDisk; -} - -/** - * Create the Linode Detail Context including handlers pre-configured with the - * required Linode ID. - */ -export const linodeDetailContextFactory = ( - linode: ExtendedLinode, - dispatch: ThunkDispatch -): LinodeDetailContext => { - const { id: linodeId } = linode; - - return { - updateLinode: (data: Partial) => - dispatch(_updateLinode({ linodeId, ...data })), - - /** Linode Config actions */ - getLinodeConfig: (configId) => - dispatch(_getLinodeConfig({ linodeId, configId })), - getLinodeConfigs: () => - dispatch(_getLinodeConfigs({ linodeId })).then(({ data }) => data), - updateLinodeConfig: (configId, data) => - dispatch(_updateLinodeConfig({ linodeId, configId, ...data })), - createLinodeConfig: (data) => - dispatch(_createLinodeConfig({ linodeId, ...data })), - deleteLinodeConfig: (configId) => - dispatch(_deleteLinodeConfig({ linodeId, configId })), - - /** Linode Disk actions */ - getLinodeDisk: (diskId) => dispatch(_getLinodeDisk({ linodeId, diskId })), - getLinodeDisks: () => dispatch(_getLinodeDisks({ linodeId })), - updateLinodeDisk: (diskId, data) => - dispatch(_updateLinodeDisk({ linodeId, diskId, ...data })), - createLinodeDisk: (data) => - dispatch(_createLinodeDisk({ linodeId, ...data })), - deleteLinodeDisk: (diskId) => - dispatch(_deleteLinodeDisk({ linodeId, diskId })), - resizeLinodeDisk: (diskId, size) => - dispatch(_resizeLinodeDisk({ linodeId, diskId, size })), - linode, - }; -}; - -const linodeContext = React.createContext(null as any); - -export default linodeContext; - -export const LinodeDetailContextProvider = linodeContext.Provider; - -export const LinodeDetailContextConsumer = linodeContext.Consumer; - -export const withLinodeDetailContext = createHOCForConsumer( - linodeContext.Consumer, - 'withLinodeDetailContext' -); diff --git a/packages/manager/src/features/Linodes/index.tsx b/packages/manager/src/features/Linodes/index.tsx index 85bdc7b16b6..6a7769e0cb3 100644 --- a/packages/manager/src/features/Linodes/index.tsx +++ b/packages/manager/src/features/Linodes/index.tsx @@ -8,7 +8,7 @@ import { addMaintenanceToLinodes } from 'src/store/linodes/linodes.helpers'; const LinodesLanding = React.lazy( () => import('./LinodesLanding/LinodesLanding') ); -const LinodesDetail = React.lazy(() => import('./LinodesDetail')); +const LinodesDetail = React.lazy(() => import('./LinodesDetail/LinodesDetail')); const LinodesCreate = React.lazy( () => import('./LinodesCreate/LinodeCreateContainer') ); diff --git a/packages/manager/src/features/NodeBalancers/ConfigNodeIPSelect.tsx b/packages/manager/src/features/NodeBalancers/ConfigNodeIPSelect.tsx index 409835af650..ea514213afc 100644 --- a/packages/manager/src/features/NodeBalancers/ConfigNodeIPSelect.tsx +++ b/packages/manager/src/features/NodeBalancers/ConfigNodeIPSelect.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import LinodeSelect from 'src/features/Linodes/LinodeSelect'; +import { LinodeSelect } from 'src/features/Linodes/LinodeSelect/LinodeSelect'; import { Linode } from '@linode/api-v4/lib/linodes'; import { privateIPRegex } from 'src/utilities/ipUtils'; import type { TextFieldProps } from 'src/components/TextField'; diff --git a/packages/manager/src/features/NotificationCenter/NotificationData/RenderProgressEvent.tsx b/packages/manager/src/features/NotificationCenter/NotificationData/RenderProgressEvent.tsx index 00ea13f3bd6..dfccfeb5868 100644 --- a/packages/manager/src/features/NotificationCenter/NotificationData/RenderProgressEvent.tsx +++ b/packages/manager/src/features/NotificationCenter/NotificationData/RenderProgressEvent.tsx @@ -3,7 +3,6 @@ import BarPercent from 'src/components/BarPercent'; import Box from 'src/components/core/Box'; import Divider from 'src/components/core/Divider'; import Typography from 'src/components/core/Typography'; -import useLinodes from 'src/hooks/useLinodes'; import { Duration } from 'luxon'; import { Event } from '@linode/api-v4/lib/account/types'; import { extendTypesQueryResult } from 'src/utilities/extendType'; @@ -18,24 +17,22 @@ import { RenderEventStyledBox, useRenderEventStyles, } from './RenderEvent.styles'; +import { useAllLinodesQuery } from 'src/queries/linodes/linodes'; interface Props { event: Event; onClose: () => void; } -export type CombinedProps = Props; - -export const RenderProgressEvent: React.FC = (props) => { +export const RenderProgressEvent = (props: Props) => { const { classes } = useRenderEventStyles(); const { event } = props; - const { linodes } = useLinodes(); - const _linodes = Object.values(linodes.itemsById); + const { data: linodes } = useAllLinodesQuery(); const typesQuery = useSpecificTypes( - _linodes.map((linode) => linode.type).filter(isNotNullOrUndefined) + (linodes ?? []).map((linode) => linode.type).filter(isNotNullOrUndefined) ); const types = extendTypesQueryResult(typesQuery); - const message = eventMessageGenerator(event, _linodes, types); + const message = eventMessageGenerator(event, linodes, types); if (message === null) { return null; diff --git a/packages/manager/src/features/Search/SearchLanding.test.tsx b/packages/manager/src/features/Search/SearchLanding.test.tsx index 8eefb2dc1d0..d220189f017 100644 --- a/packages/manager/src/features/Search/SearchLanding.test.tsx +++ b/packages/manager/src/features/Search/SearchLanding.test.tsx @@ -33,10 +33,6 @@ const propsWithResults: Props = { const queryClient = new QueryClient(); -jest.mock('src/hooks/useReduxLoad', () => ({ - useReduxLoad: () => jest.fn().mockReturnValue({ _loading: false }), -})); - describe('Component', () => { server.use( rest.get('*/domains', (req, res, ctx) => { diff --git a/packages/manager/src/features/Search/SearchLanding.tsx b/packages/manager/src/features/Search/SearchLanding.tsx index 2d25824a120..a78dccae174 100644 --- a/packages/manager/src/features/Search/SearchLanding.tsx +++ b/packages/manager/src/features/Search/SearchLanding.tsx @@ -1,6 +1,5 @@ import { equals } from 'ramda'; import * as React from 'react'; -import { useSelector } from 'react-redux'; import { RouteComponentProps } from 'react-router-dom'; import { compose } from 'recompose'; import Error from 'src/assets/icons/error.svg'; @@ -11,10 +10,8 @@ import Typography from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { H1Header } from 'src/components/H1Header/H1Header'; import { Notice } from 'src/components/Notice/Notice'; -import { REFRESH_INTERVAL } from 'src/constants'; import useAPISearch from 'src/features/Search/useAPISearch'; import useAccountManagement from 'src/hooks/useAccountManagement'; -import { useReduxLoad } from 'src/hooks/useReduxLoad'; import { useAllDomainsQuery } from 'src/queries/domains'; import { useAllImagesQuery } from 'src/queries/images'; import { useAllKubernetesClustersQuery } from 'src/queries/kubernetes'; @@ -25,7 +22,6 @@ import { import { useSpecificTypes } from 'src/queries/types'; import { useRegionsQuery } from 'src/queries/regions'; import { useAllVolumesQuery } from 'src/queries/volumes'; -import { ApplicationState } from 'src/store'; import { ErrorObject } from 'src/store/selectors/entitiesErrors'; import { formatLinode } from 'src/store/selectors/getSearchEntities'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; @@ -40,6 +36,7 @@ import { extendTypesQueryResult } from 'src/utilities/extendType'; import { isNotNullOrUndefined } from 'src/utilities/nullOrUndefined'; import { useAllNodeBalancersQuery } from 'src/queries/nodebalancers'; import { getImageLabelForLinode } from '../Images/utils'; +import { useAllLinodesQuery } from 'src/queries/linodes/linodes'; const useStyles = makeStyles((theme: Theme) => ({ root: { @@ -152,18 +149,20 @@ export const SearchLanding: React.FC = (props) => { !_isLargeAccount ); - const { data: regions } = useRegionsQuery(); + const { + data: linodes, + isLoading: areLinodesLoading, + error: linodesError, + } = useAllLinodesQuery({}, {}, !_isLargeAccount); - const linodes = useSelector((state: ApplicationState) => - Object.values(state.__resources.linodes.itemsById) - ); + const { data: regions } = useRegionsQuery(); const typesQuery = useSpecificTypes( - linodes.map((linode) => linode.type).filter(isNotNullOrUndefined) + (linodes ?? []).map((linode) => linode.type).filter(isNotNullOrUndefined) ); const types = extendTypesQueryResult(typesQuery); - const searchableLinodes = linodes.map((linode) => { + const searchableLinodes = (linodes ?? []).map((linode) => { const imageLabel = getImageLabelForLinode(linode, publicImages ?? []); return formatLinode(linode, types, imageLabel); }); @@ -180,12 +179,6 @@ export const SearchLanding: React.FC = (props) => { queryError = true; } - const { _loading: reduxLoading } = useReduxLoad( - ['linodes'], - REFRESH_INTERVAL, - !_isLargeAccount - ); - const { searchAPI } = useAPISearch(!isNilOrEmpty(query)); const _searchAPI = React.useRef( @@ -236,11 +229,12 @@ export const SearchLanding: React.FC = (props) => { _privateImages, regions, nodebalancers, + searchableLinodes, ]); const getErrorMessage = (errors: ErrorObject): string => { const errorString: string[] = []; - if (errors.linodes) { + if (linodesError) { errorString.push('Linodes'); } if (domainsError) { @@ -277,7 +271,7 @@ export const SearchLanding: React.FC = (props) => { const resultsEmpty = equals(finalResults, emptyResults); const loading = - reduxLoading || + areLinodesLoading || areBucketsLoading || areClustersLoading || areDomainsLoading || diff --git a/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx b/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx index 16e45505048..92427e75a91 100644 --- a/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx +++ b/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx @@ -20,7 +20,6 @@ import { Notice } from 'src/components/Notice/Notice'; import SectionErrorBoundary from 'src/components/SectionErrorBoundary'; import { EntityForTicketDetails } from 'src/components/SupportLink/SupportLink'; import { TextField } from 'src/components/TextField'; -import useEntities, { Entity } from 'src/hooks/useEntities'; import { useAccount } from 'src/queries/account'; import { useAllDatabasesQuery } from 'src/queries/databases'; import { useAllDomainsQuery } from 'src/queries/domains'; @@ -46,6 +45,7 @@ import SupportTicketSMTPFields, { smtpHelperText, } from './SupportTicketSMTPFields'; import { useAllNodeBalancersQuery } from 'src/queries/nodebalancers'; +import { useAllLinodesQuery } from 'src/queries/linodes/linodes'; const useStyles = makeStyles((theme: Theme) => ({ expPanelSummary: { @@ -144,7 +144,7 @@ const entityMap: Record = { Firewalls: 'firewall_id', }; -const entityIdToNameMap: Partial> = { +const entityIdToNameMap: Record = { linode_id: 'Linode', volume_id: 'Volume', domain_id: 'Domain', @@ -152,18 +152,8 @@ const entityIdToNameMap: Partial> = { lkecluster_id: 'Kubernetes Cluster', database_id: 'Database Cluster', firewall_id: 'Firewall', -}; - -const entityIdToTypeMap: Record = { - linode_id: 'linodes', - volume_id: 'volumes', - domain_id: 'domains', - nodebalancer_id: 'nodeBalancers', - lkecluster_id: 'kubernetesClusters', - database_id: 'databases', - firewall_id: 'firewalls', - none: 'linodes', - general: 'linodes', + none: '', + general: '', }; export const entitiesToItems = (type: string, entities: any) => { @@ -221,55 +211,60 @@ export const SupportTicketDrawer: React.FC = (props) => { publicInfo: '', }); - // Entities for populating dropdown - const [data, setData] = React.useState[]>([]); - const [entitiesLoading, setLoading] = React.useState(false); - const [files, setFiles] = React.useState([]); const [errors, setErrors] = React.useState(); const [submitting, setSubmitting] = React.useState(false); - const entities = useEntities(); - const classes = useStyles(); React.useEffect(() => { if (!open) { resetDrawer(); } - if (prefilledEntity) { - loadSelectedEntities(prefilledEntity.type); - } }, [open]); // React Query entities - const { data: databases, isLoading: databasesLoading } = useAllDatabasesQuery( - entityType === 'database_id' - ); + const { + data: databases, + isLoading: databasesLoading, + error: databasesError, + } = useAllDatabasesQuery(entityType === 'database_id'); - const { data: firewalls, isLoading: firewallsLoading } = useAllFirewallsQuery( - entityType === 'firewall_id' - ); + const { + data: firewalls, + isLoading: firewallsLoading, + error: firewallsError, + } = useAllFirewallsQuery(entityType === 'firewall_id'); - const { data: domains, isLoading: domainsLoading } = useAllDomainsQuery( - entityType === 'domain_id' - ); + const { + data: domains, + isLoading: domainsLoading, + error: domainsError, + } = useAllDomainsQuery(entityType === 'domain_id'); const { data: nodebalancers, isLoading: nodebalancersLoading, + error: nodebalancersError, } = useAllNodeBalancersQuery(entityType === 'nodebalancer_id'); const { data: clusters, isLoading: clustersLoading, + error: clustersError, } = useAllKubernetesClustersQuery(entityType === 'lkecluster_id'); - const { data: volumes, isLoading: volumesLoading } = useAllVolumesQuery( - {}, - {}, - entityType === 'volume_id' - ); + const { + data: linodes, + isLoading: linodesLoading, + error: linodesError, + } = useAllLinodesQuery({}, {}, entityType === 'linode_id'); + + const { + data: volumes, + isLoading: volumesLoading, + error: volumesError, + } = useAllVolumesQuery({}, {}, entityType === 'volume_id'); const saveText = (_title: string, _description: string) => { storage.supportText.set({ title: _title, description: _description }); @@ -283,56 +278,6 @@ export const SupportTicketDrawer: React.FC = (props) => { debouncedSave(summary, description); }, [summary, description]); - const handleSetOrRequestEntities = ( - _entity: Entity, - _entityType: string - ) => { - if (_entity.lastUpdated === 0) { - setLoading(true); - setErrors(undefined); - _entity - .request() - .then((response) => { - setLoading(false); - setData(entitiesToItems(_entityType, response)); - }) - .catch((_) => setLoading(false)); // Errors through Redux - } else { - setData(entitiesToItems(_entityType, _entity.data)); - } - }; - - /** - * When a new entity type is selected, - * 1. check to see if we have data for that type. - * 2. If we don't, request it and assign the result to the selectedEntities state - * 3. If we do, directly assign the data from Redux to the selectedEntities state - * - * NOTE: Using a switch here rather than the entities[entityIdToTypeMap] logic - * used for error handling below; it's more explicit and safer. - */ - const loadSelectedEntities = (_entityType: EntityType) => { - switch (_entityType) { - case 'linode_id': { - handleSetOrRequestEntities(entities.linodes, _entityType); - return; - } - case 'nodebalancer_id': - case 'lkecluster_id': - case 'volume_id': - case 'firewall_id': - case 'domain_id': - case 'database_id': { - // intentionally do nothing for React Query entities - return; - } - default: { - setData([]); - return; - } - } - }; - const resetTicket = (clearValues: boolean = false) => { /** * Clear the drawer completely if clearValues is passed (as in when closing the drawer) @@ -352,7 +297,6 @@ export const SupportTicketDrawer: React.FC = (props) => { }; const resetDrawer = (clearValues: boolean = false) => { - setData([]); resetTicket(clearValues); setFiles([]); @@ -377,10 +321,6 @@ export const SupportTicketDrawer: React.FC = (props) => { } setEntityType(e.value as EntityType); setEntityID(''); - setErrors(undefined); - setData([]); - - loadSelectedEntities(e.value as EntityType); }; const handleEntityIDChange = (selected: Item | null) => { @@ -551,10 +491,6 @@ export const SupportTicketDrawer: React.FC = (props) => { const generalError = hasErrorFor.none; const inputError = hasErrorFor.input; - const entityError = Boolean(entities[entityIdToTypeMap[entityType]]?.error) - ? `Error loading ${entityIdToNameMap[entityType]}s` - : undefined; - const topicOptions = [ { label: 'General/Account/Billing', value: 'general' }, ...renderEntityTypes(), @@ -572,11 +508,11 @@ export const SupportTicketDrawer: React.FC = (props) => { volume_id: volumes, lkecluster_id: clusters, nodebalancer_id: nodebalancers, + linode_id: linodes, }; if (!reactQueryEntityDataMap[entityType]) { - // We are dealing with an entity found in Redux. Return the data from state. - return data; + return []; } // domain's don't have a label so we map the domain as the label @@ -599,30 +535,35 @@ export const SupportTicketDrawer: React.FC = (props) => { ); }; - const getAreEntitiesLoading = () => { - if (entityType === 'database_id') { - return databasesLoading; - } - if (entityType === 'firewall_id') { - return firewallsLoading; - } - if (entityType === 'domain_id') { - return domainsLoading; - } - if (entityType === 'volume_id') { - return volumesLoading; - } - if (entityType === 'lkecluster_id') { - return clustersLoading; - } - if (entityType === 'nodebalancer_id') { - return nodebalancersLoading; - } - return entitiesLoading; + const loadingMap: Record = { + database_id: databasesLoading, + firewall_id: firewallsLoading, + domain_id: domainsLoading, + volume_id: volumesLoading, + lkecluster_id: clustersLoading, + nodebalancer_id: nodebalancersLoading, + linode_id: linodesLoading, + none: false, + general: false, + }; + + const errorMap: Record = { + database_id: databasesError, + firewall_id: firewallsError, + domain_id: domainsError, + volume_id: volumesError, + lkecluster_id: clustersError, + nodebalancer_id: nodebalancersError, + linode_id: linodesError, + none: null, + general: null, }; const entityOptions = getEntityOptions(); - const areEntitiesLoading = getAreEntitiesLoading(); + const areEntitiesLoading = loadingMap[entityType]; + const entityError = Boolean(errorMap[entityType]) + ? `Error loading ${entityIdToNameMap[entityType]}s` + : undefined; const selectedEntity = entityOptions.find((thisEntity) => String(thisEntity.value) === entityID) || diff --git a/packages/manager/src/features/TopMenu/SearchBar/SearchBar.tsx b/packages/manager/src/features/TopMenu/SearchBar/SearchBar.tsx index 6bf40cb58c1..1a547d71fe1 100644 --- a/packages/manager/src/features/TopMenu/SearchBar/SearchBar.tsx +++ b/packages/manager/src/features/TopMenu/SearchBar/SearchBar.tsx @@ -2,18 +2,16 @@ import Close from '@mui/icons-material/Close'; import Search from '@mui/icons-material/Search'; import { take } from 'ramda'; import * as React from 'react'; -import { RouteComponentProps, withRouter } from 'react-router-dom'; +import { useHistory } from 'react-router-dom'; import { components } from 'react-select'; import { compose } from 'recompose'; import { IconButton } from 'src/components/IconButton'; import EnhancedSelect, { Item } from 'src/components/EnhancedSelect/Select'; -import { REFRESH_INTERVAL } from 'src/constants'; import useAPISearch from 'src/features/Search/useAPISearch'; import withStoreSearch, { SearchProps, } from 'src/features/Search/withStoreSearch'; import useAccountManagement from 'src/hooks/useAccountManagement'; -import { ReduxEntity, useReduxLoad } from 'src/hooks/useReduxLoad'; import { useAllDomainsQuery } from 'src/queries/domains'; import { useAllImagesQuery } from 'src/queries/images'; import { @@ -26,8 +24,6 @@ import { isNilOrEmpty } from 'src/utilities/isNilOrEmpty'; import { debounce } from 'throttle-debounce'; import styled, { StyleProps } from './SearchBar.styles'; import SearchSuggestion from './SearchSuggestion'; -import { useSelector } from 'react-redux'; -import { ApplicationState } from 'src/store'; import { formatLinode } from 'src/store/selectors/getSearchEntities'; import { useAllKubernetesClustersQuery } from 'src/queries/kubernetes'; import { useSpecificTypes } from 'src/queries/types'; @@ -36,8 +32,9 @@ import { isNotNullOrUndefined } from 'src/utilities/nullOrUndefined'; import { useRegionsQuery } from 'src/queries/regions'; import { useAllNodeBalancersQuery } from 'src/queries/nodebalancers'; import { getImageLabelForLinode } from 'src/features/Images/utils'; +import { useAllLinodesQuery } from 'src/queries/linodes/linodes'; -type CombinedProps = SearchProps & StyleProps & RouteComponentProps; +type CombinedProps = SearchProps & StyleProps; const Control = (props: any) => ; @@ -77,8 +74,6 @@ export const selectStyles = { menu: (base: any) => ({ ...base, maxWidth: '100% !important' }), }; -const searchDeps: ReduxEntity[] = ['linodes']; - export const SearchBar = (props: CombinedProps) => { const { classes, combinedResults, entitiesLoading, search } = props; @@ -90,6 +85,8 @@ export const SearchBar = (props: CombinedProps) => { const [apiError, setAPIError] = React.useState(null); const [apiSearchLoading, setAPILoading] = React.useState(false); + const history = useHistory(); + const { _isLargeAccount } = useAccountManagement(); // Only request things if the search bar is open/active. @@ -124,24 +121,22 @@ export const SearchBar = (props: CombinedProps) => { searchActive ); - const { data: regions } = useRegionsQuery(); - - const { _loading } = useReduxLoad( - searchDeps, - REFRESH_INTERVAL, + const { data: linodes, isLoading: linodesLoading } = useAllLinodesQuery( + {}, + {}, shouldMakeRequests ); - const linodes = useSelector((state: ApplicationState) => - Object.values(state.__resources.linodes.itemsById) - ); + const { data: regions } = useRegionsQuery(); + const typesQuery = useSpecificTypes( - linodes.map((linode) => linode.type).filter(isNotNullOrUndefined), + (linodes ?? []).map((linode) => linode.type).filter(isNotNullOrUndefined), shouldMakeRequests ); + const types = extendTypesQueryResult(typesQuery); - const searchableLinodes = linodes.map((linode) => { + const searchableLinodes = (linodes ?? []).map((linode) => { const imageLabel = getImageLabelForLinode(linode, publicImages ?? []); return formatLinode(linode, types, imageLabel); }); @@ -188,7 +183,6 @@ export const SearchBar = (props: CombinedProps) => { ); } }, [ - _loading, imagesLoading, search, searchText, @@ -235,13 +229,13 @@ export const SearchBar = (props: CombinedProps) => { const text = item?.data?.searchText ?? ''; if (item.value === 'redirect') { - props.history.push({ + history.push({ pathname: `/search`, search: `?query=${encodeURIComponent(text)}`, }); return; } - props.history.push(item.data.path); + history.push(item.data.path); }; const onKeyDown = (e: any) => { @@ -250,7 +244,7 @@ export const SearchBar = (props: CombinedProps) => { searchText !== '' && (!combinedResults || combinedResults.length < 1) ) { - props.history.push({ + history.push({ pathname: `/search`, search: `?query=${encodeURIComponent(searchText)}`, }); @@ -282,7 +276,7 @@ export const SearchBar = (props: CombinedProps) => { const finalOptions = createFinalOptions( _isLargeAccount ? apiResults : combinedResults, searchText, - _loading || imagesLoading || apiSearchLoading, + apiSearchLoading || linodesLoading || imagesLoading, // Ignore "Unauthorized" errors, since these will always happen on LKE // endpoints for restricted users. It's not really an "error" in this case. // We still want these users to be able to use the search feature. @@ -351,7 +345,6 @@ export const SearchBar = (props: CombinedProps) => { }; export default compose( - withRouter, withStoreSearch(), styled )(SearchBar) as React.ComponentType<{}>; diff --git a/packages/manager/src/features/Volumes/DestructiveVolumeDialog.tsx b/packages/manager/src/features/Volumes/DestructiveVolumeDialog.tsx index 6a31a4028cd..f66e7e5c374 100644 --- a/packages/manager/src/features/Volumes/DestructiveVolumeDialog.tsx +++ b/packages/manager/src/features/Volumes/DestructiveVolumeDialog.tsx @@ -6,12 +6,12 @@ import Typography from 'src/components/core/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { TypeToConfirmDialog } from 'src/components/TypeToConfirmDialog/TypeToConfirmDialog'; import { resetEventsPolling } from 'src/eventsPolling'; -import useLinodes from 'src/hooks/useLinodes'; import { useDeleteVolumeMutation, useDetachVolumeMutation, } from 'src/queries/volumes'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; +import { useLinodeQuery } from 'src/queries/linodes/linodes'; const useStyles = makeStyles((theme: Theme) => ({ warningCopy: { @@ -36,10 +36,11 @@ export const DestructiveVolumeDialog = (props: Props) => { const { volumeLabel: label, volumeId, linodeId, mode, open, onClose } = props; const { enqueueSnackbar } = useSnackbar(); - const linodes = useLinodes(); - const linode = - linodeId !== undefined ? linodes.linodes.itemsById[linodeId] : undefined; + const { data: linode } = useLinodeQuery( + linodeId ?? -1, + linodeId !== undefined + ); const { mutateAsync: detachVolume, diff --git a/packages/manager/src/features/Volumes/VolumeAttachmentDrawer.tsx b/packages/manager/src/features/Volumes/VolumeAttachmentDrawer.tsx index f3d886f53a1..da7270ea213 100644 --- a/packages/manager/src/features/Volumes/VolumeAttachmentDrawer.tsx +++ b/packages/manager/src/features/Volumes/VolumeAttachmentDrawer.tsx @@ -9,7 +9,7 @@ import Drawer from 'src/components/Drawer'; import Select, { Item } from 'src/components/EnhancedSelect'; import { Notice } from 'src/components/Notice/Notice'; import { resetEventsPolling } from 'src/eventsPolling'; -import LinodeSelect from 'src/features/Linodes/LinodeSelect'; +import { LinodeSelect } from 'src/features/Linodes/LinodeSelect/LinodeSelect'; import { useAllLinodeConfigsQuery } from 'src/queries/linodes/linodes'; import { useGrants, useProfile } from 'src/queries/profile'; import { useAttachVolumeMutation } from 'src/queries/volumes'; diff --git a/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx b/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx index 52c7227fa06..7e486ca52dd 100644 --- a/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx +++ b/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx @@ -18,7 +18,7 @@ import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { Notice } from 'src/components/Notice/Notice'; import { MAX_VOLUME_SIZE } from 'src/constants'; import EUAgreementCheckbox from 'src/features/Account/Agreements/EUAgreementCheckbox'; -import LinodeSelect from 'src/features/Linodes/LinodeSelect'; +import { LinodeSelect } from 'src/features/Linodes/LinodeSelect/LinodeSelect'; import { reportAgreementSigningError, useAccountAgreements, diff --git a/packages/manager/src/hooks/useEntities.ts b/packages/manager/src/hooks/useEntities.ts deleted file mode 100644 index 1fcc5088887..00000000000 --- a/packages/manager/src/hooks/useEntities.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { APIError } from '@linode/api-v4/lib/types'; -import useLinodeActions from './useLinodeActions'; -import useLinodes from './useLinodes'; - -export interface Entity { - data: T[]; - request: () => Promise; - lastUpdated: number; - error?: APIError[]; -} - -/** - * Returns data for each entity type in array format, - * along with the request thunk for each of the entity types. - * - * @example - * - * const { linodes, volumes } = useEntities(); - * linodes.map(thisLinode => thisLinode.label); - * if (linodes.lastUpdated === 0) { linodes.request(); } - */ -export const useEntities = () => { - const { linodes: _linodes } = useLinodes(); - const { requestLinodes } = useLinodeActions(); - - /** Our Redux store is currently inconsistent about - * the data shape for different entity types. - * The purpose of this meta-container is to expose - * a single, consistent interface so that consumers - * can map through different entity types without - * worrying about whether they should use data.entities - * or Object.value(data.itemsById). - */ - - const linodes = Object.values(_linodes.itemsById); - - return { - linodes: { - data: linodes, - request: requestLinodes, - lastUpdated: _linodes.lastUpdated, - error: _linodes.error?.read, - }, - }; -}; - -export default useEntities; diff --git a/packages/manager/src/hooks/useExtendedLinode.ts b/packages/manager/src/hooks/useExtendedLinode.ts deleted file mode 100644 index 6642ece5025..00000000000 --- a/packages/manager/src/hooks/useExtendedLinode.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { Event, GrantLevel } from '@linode/api-v4/lib/account'; -import { Config, Disk } from '@linode/api-v4/lib/linodes'; -import { useSelector } from 'react-redux'; -import { useGrants } from 'src/queries/profile'; -import { useSpecificTypes } from 'src/queries/types'; -import { ApplicationState } from 'src/store'; -import { eventsForLinode } from 'src/store/events/event.selectors'; -import { getLinodeConfigsForLinode } from 'src/store/linodes/config/config.selectors'; -import { getLinodeDisksForLinode } from 'src/store/linodes/disk/disk.selectors'; -import { LinodeWithMaintenance } from 'src/store/linodes/linodes.helpers'; -import { getPermissionsForLinode } from 'src/store/linodes/permissions/permissions.selector'; -import { ExtendedType, extendTypesQueryResult } from 'src/utilities/extendType'; -import { isNotNullOrUndefined } from 'src/utilities/nullOrUndefined'; -import useLinodes from './useLinodes'; - -export interface ExtendedLinode extends LinodeWithMaintenance { - _configs: Config[]; - _disks: Disk[]; - _events: Event[]; - _type?: null | ExtendedType; - _permissions: GrantLevel; -} - -export const useExtendedLinodes = (linodeIds?: number[]): ExtendedLinode[] => { - const { data: grants } = useGrants(); - const { linodes: linodesMap } = useLinodes(); - const linodes = (linodeIds ?? Object.keys(linodesMap.itemsById)) - .map((linodeId) => linodesMap.itemsById[linodeId]) - .filter(isNotNullOrUndefined); - const typesQuery = useSpecificTypes( - linodes.map((linode) => linode.type).filter(isNotNullOrUndefined) - ); - const types = extendTypesQueryResult(typesQuery); - - const typeMap = new Map( - types.map((type) => [type.id, type]) - ); - - return useSelector((state: ApplicationState) => { - const { events, __resources } = state; - const { linodeConfigs, linodeDisks } = __resources; - - return linodes.map((linode) => ({ - ...linode, - _type: linode.type ? typeMap.get(linode.type) : null, - _events: eventsForLinode(events, linode.id), - _configs: getLinodeConfigsForLinode(linodeConfigs, linode.id), - _disks: getLinodeDisksForLinode(linodeDisks, linode.id), - _permissions: getPermissionsForLinode(grants ?? null, linode.id), - })); - }); -}; - -export const useExtendedLinode = (linodeId: number): ExtendedLinode | null => - useExtendedLinodes([linodeId])[0] ?? null; - -export default useExtendedLinode; diff --git a/packages/manager/src/hooks/useLinodeActions.ts b/packages/manager/src/hooks/useLinodeActions.ts deleted file mode 100644 index 222bb2024d5..00000000000 --- a/packages/manager/src/hooks/useLinodeActions.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { Linode } from '@linode/api-v4/lib/linodes/types'; -import { useQueryClient } from 'react-query'; -import { useDispatch } from 'react-redux'; -import { - deleteLinode as _deleteLinode, - getLinode as _getLinode, - requestLinodes as _requestLinodes, - updateLinode as _updateLinode, -} from 'src/store/linodes/linode.requests'; -import { UpdateLinodeParams } from 'src/store/linodes/linodes.actions'; -import { Dispatch } from './types'; - -export interface LinodesProps { - requestLinodes: () => Promise; - getLinode: (linodeId: number) => Promise; - deleteLinode: (linodeId: number) => Promise<{}>; - updateLinode: (params: UpdateLinodeParams) => Promise; -} - -export const useLinodeActions = (): LinodesProps => { - const dispatch: Dispatch = useDispatch(); - const queryClient = useQueryClient(); - - const requestLinodes = () => - dispatch(_requestLinodes({})).then((response) => response.data); - - const getLinode = (linodeId: number) => dispatch(_getLinode({ linodeId })); - - const deleteLinode = (linodeId: number) => - dispatch(_deleteLinode({ linodeId, queryClient })); - - const updateLinode = (params: UpdateLinodeParams) => - dispatch(_updateLinode(params)); - - return { - requestLinodes, - getLinode, - deleteLinode, - updateLinode, - }; -}; - -export default useLinodeActions; diff --git a/packages/manager/src/hooks/useLinodes.ts b/packages/manager/src/hooks/useLinodes.ts deleted file mode 100644 index d9deb4c9732..00000000000 --- a/packages/manager/src/hooks/useLinodes.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { useSelector } from 'react-redux'; -import { ApplicationState } from 'src/store'; -import { State } from 'src/store/linodes/linodes.reducer'; - -export interface LinodesProps { - linodes: State; -} - -export const useLinodes = (): LinodesProps => { - const linodes = useSelector( - (state: ApplicationState) => state.__resources.linodes - ); - - return { - linodes, - }; -}; - -export default useLinodes; diff --git a/packages/manager/src/hooks/useReduxLoad.test.ts b/packages/manager/src/hooks/useReduxLoad.test.ts deleted file mode 100644 index 43e52ff7586..00000000000 --- a/packages/manager/src/hooks/useReduxLoad.test.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { hasError } from './useReduxLoad'; - -const errorMessage = 'An error occurred.'; - -describe('hasError utility function', () => { - it('EntityError: returns `true` only if a "read" error is present', () => { - expect(hasError({ read: errorMessage })).toBe(true); - expect(hasError({})).toBe(false); - }); - - it('APIError[]: returns `true` if an error is present', () => { - expect(hasError([{ reason: errorMessage }])).toBe(true); - expect(hasError([])).toBe(false); - }); - - it('handles any input you throw at it', () => { - expect(hasError(undefined)).toBe(false); - expect(hasError(null)).toBe(false); - expect(hasError(1234)).toBe(false); - expect(hasError('1234')).toBe(false); - expect(hasError(true)).toBe(false); - expect(hasError(false)).toBe(false); - expect(hasError([])).toBe(false); - }); -}); diff --git a/packages/manager/src/hooks/useReduxLoad.ts b/packages/manager/src/hooks/useReduxLoad.ts deleted file mode 100644 index dfd49f4613b..00000000000 --- a/packages/manager/src/hooks/useReduxLoad.ts +++ /dev/null @@ -1,121 +0,0 @@ -import { useEffect, useRef, useState } from 'react'; -import { usePageVisibility } from 'react-page-visibility'; -import { useDispatch } from 'react-redux'; -import { Dispatch } from 'redux'; -import { REFRESH_INTERVAL } from 'src/constants'; -import { ApplicationState, useApplicationStore } from 'src/store'; -import { getEvents } from 'src/store/events/event.request'; -import { requestLinodes } from 'src/store/linodes/linode.requests'; -import { getAllLongviewClients } from 'src/store/longview/longview.requests'; - -interface UseReduxPreload { - _loading: boolean; -} - -export type ReduxEntity = 'linodes' | 'events' | 'longview'; - -type RequestMap = Record; - -const requestMap: RequestMap = { - linodes: () => requestLinodes({}), - events: getEvents, - longview: getAllLongviewClients, -}; - -export const useReduxLoad = ( - deps: ReduxEntity[] = [], - refreshInterval: number = REFRESH_INTERVAL, - predicate: boolean = true -): UseReduxPreload => { - const [_loading, setLoading] = useState(false); - const dispatch = useDispatch(); - const store = useApplicationStore(); - const isVisible = usePageVisibility(); - /** - * Restricted users get a 403 from /lke/clusters, - * which gums up the works. We want to prevent that particular - * request for a restricted user. - */ - const mountedRef = useRef(true); - - const _setLoading = (val: boolean) => { - if (mountedRef.current) { - setLoading(val); - } - }; - - useEffect(() => { - if (isVisible && predicate && mountedRef.current) { - requestDeps( - store.getState(), - dispatch, - deps, - refreshInterval, - _setLoading - ); - } - }, [predicate, refreshInterval, deps, dispatch, store, isVisible]); - - useEffect(() => { - return () => { - mountedRef.current = false; - }; - }, []); - - return { _loading }; -}; - -export const requestDeps = ( - state: ApplicationState, - dispatch: Dispatch, - deps: ReduxEntity[], - refreshInterval: number = 60000, - loadingCb: (l: boolean) => void = (_) => null -) => { - let i = 0; - let needsToLoad = false; - const requests = []; - for (i; i < deps.length; i++) { - const currentResource = state.__resources[deps[i]] || state[deps[i]]; - - if (currentResource) { - const currentResourceHasError = hasError(currentResource?.error); - if ( - currentResource.lastUpdated === 0 && - !currentResource.loading && - !currentResourceHasError - ) { - needsToLoad = true; - requests.push(requestMap[deps[i]]); - } else if ( - Date.now() - currentResource.lastUpdated > refreshInterval && - !currentResource.loading && - !currentResourceHasError - ) { - requests.push(requestMap[deps[i]]); - } - } - } - - if (requests.length === 0) { - return; - } - - if (needsToLoad) { - loadingCb(true); - } - - return Promise.all(requests.map((thisRequest) => dispatch(thisRequest()))) - .then((_) => loadingCb(false)) - .catch((_) => loadingCb(false)); -}; - -export default useReduxLoad; - -export const hasError = (resourceError: any) => { - if (Array.isArray(resourceError) && resourceError.length > 0) { - return true; - } - - return resourceError?.read !== undefined; -}; diff --git a/packages/manager/src/queries/linodes/linodes.ts b/packages/manager/src/queries/linodes/linodes.ts index 5e42a8c90b0..84d5d454b29 100644 --- a/packages/manager/src/queries/linodes/linodes.ts +++ b/packages/manager/src/queries/linodes/linodes.ts @@ -32,6 +32,8 @@ import { getLinodeKernel, resizeLinode, ResizeLinodePayload, + createLinode, + CreateLinodeRequest, } from '@linode/api-v4/lib/linodes'; import { queryKey as accountQueryKey } from '../account'; @@ -167,6 +169,15 @@ export const useDeleteLinodeMutation = (id: number) => { }); }; +export const useCreateLinodeMutation = () => { + const queryClient = useQueryClient(); + return useMutation(createLinode, { + onSuccess() { + queryClient.invalidateQueries([queryKey]); + }, + }); +}; + export const useBootLinodeMutation = (id: number) => { const queryClient = useQueryClient(); return useMutation<{}, APIError[], { config_id?: number }>( diff --git a/packages/manager/src/store/linodes/linode.containers.ts b/packages/manager/src/store/linodes/linode.containers.ts deleted file mode 100644 index 0cd4f0705d5..00000000000 --- a/packages/manager/src/store/linodes/linode.containers.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { Linode } from '@linode/api-v4/lib/linodes'; -import { connect } from 'react-redux'; -import { bindActionCreators } from 'redux'; -import { - createLinode, - deleteLinode, - rebootLinode, - updateLinode, -} from './linode.requests'; -import { - CreateLinodeParams, - DeleteLinodeParams, - RebootLinodeParams, - UpdateLinodeParams, -} from './linodes.actions'; - -export interface Actions { - createLinode: (params: CreateLinodeParams) => Promise; - deleteLinode: (params: DeleteLinodeParams) => Promise; - updateLinode: (params: UpdateLinodeParams) => Promise; - rebootLinode: (params: RebootLinodeParams) => Promise; -} - -export interface LinodeActionsProps { - linodeActions: Actions; -} - -export const withLinodeActions = connect(undefined, (dispatch) => ({ - linodeActions: bindActionCreators( - { createLinode, deleteLinode, updateLinode, rebootLinode }, - dispatch - ), -})); diff --git a/packages/manager/src/utilities/testHelpersStore.ts b/packages/manager/src/utilities/testHelpersStore.ts deleted file mode 100644 index f5c47c1e07e..00000000000 --- a/packages/manager/src/utilities/testHelpersStore.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const withLinodesLoaded = { - __resources: { linodes: { loading: false, lastUpdated: 1 } }, -}; From 001d5cfa9ad7cf7514ca58eaafe2729be259a913 Mon Sep 17 00:00:00 2001 From: Alban Bailly <130582365+abailly-akamai@users.noreply.github.com> Date: Wed, 28 Jun 2023 13:19:59 -0400 Subject: [PATCH 45/88] Refactor: [M3-6522-selection-card] Selection Card: named exports and v7 story (#9327) * Refactor: [M3-6522-selection-card] Initial commit: exports * Refactor: [M3-6522-selection-card] New v7 story * Added changeset: MUI v5 Migration - Components > SelectionCard * Refactor: [M3-6522-selection-card] Add some interactivity --- .../pr-9327-tech-stories-1687891798862.md | 5 + .../SelectionCard/CardBase.styles.ts | 85 ++++++++++++ .../SelectionCard/CardBase.test.tsx | 5 +- .../src/components/SelectionCard/CardBase.tsx | 102 ++------------ .../SelectionCard/SelectionCard.stories.mdx | 102 -------------- .../SelectionCard/SelectionCard.stories.tsx | 68 ++++++++++ .../SelectionCard/SelectionCard.tsx | 117 ++++++++++++---- .../src/components/SelectionCard/index.tsx | 2 - .../PaymentDrawer/PaymentMethodCard.tsx | 2 +- .../LinodeConfigSelectionDrawer.tsx | 2 +- .../LinodesCreate/SelectBackupPanel.tsx | 2 +- .../LinodesCreate/SelectLinodePanel.tsx | 2 +- .../KubernetesPlanSelection.tsx | 2 +- .../SelectPlanPanel/PlanSelection.tsx | 2 +- .../LinodesCreate/SelectionCardWrapper.tsx | 2 +- .../src/features/Users/UserPermissions.tsx | 2 +- yarn.lock | 127 ++++-------------- 17 files changed, 297 insertions(+), 332 deletions(-) create mode 100644 packages/manager/.changeset/pr-9327-tech-stories-1687891798862.md create mode 100644 packages/manager/src/components/SelectionCard/CardBase.styles.ts delete mode 100644 packages/manager/src/components/SelectionCard/SelectionCard.stories.mdx create mode 100644 packages/manager/src/components/SelectionCard/SelectionCard.stories.tsx delete mode 100644 packages/manager/src/components/SelectionCard/index.tsx diff --git a/packages/manager/.changeset/pr-9327-tech-stories-1687891798862.md b/packages/manager/.changeset/pr-9327-tech-stories-1687891798862.md new file mode 100644 index 00000000000..28a9091c508 --- /dev/null +++ b/packages/manager/.changeset/pr-9327-tech-stories-1687891798862.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Tech Stories +--- + +MUI v5 Migration - Components > SelectionCard ([#9327](https://github.com/linode/manager/pull/9327)) diff --git a/packages/manager/src/components/SelectionCard/CardBase.styles.ts b/packages/manager/src/components/SelectionCard/CardBase.styles.ts new file mode 100644 index 00000000000..e3d00e62ba5 --- /dev/null +++ b/packages/manager/src/components/SelectionCard/CardBase.styles.ts @@ -0,0 +1,85 @@ +import Grid from '@mui/material/Unstable_Grid2'; +import { styled } from '@mui/material/styles'; +import type { CardBaseProps } from './CardBase'; + +export const CardBaseGrid = styled(Grid, { + label: 'CardBaseGrid', +})>(({ theme, ...props }) => ({ + alignItems: 'center', + backgroundColor: props.checked ? theme.bg.lightBlue2 : theme.bg.offWhite, + border: `1px solid ${theme.bg.main}`, + borderColor: props.checked ? theme.palette.primary.main : undefined, + height: '100%', + margin: 0, + minHeight: 60, + padding: `0 ${theme.spacing(1)} !important`, + position: 'relative', + transition: + 'background-color 225ms ease-in-out, border-color 225ms ease-in-out', + width: '100%', + + '&:hover': { + backgroundColor: props.checked ? theme.bg.lightBlue2 : theme.bg.main, + borderColor: props.checked + ? theme.palette.primary.main + : theme.color.border2, + }, + + '&:before': { + content: '""', + display: 'block', + position: 'absolute', + top: 0, + left: 0, + width: 5, + height: '100%', + backgroundColor: 'transparent', + transition: theme.transitions.create('backgroundColor'), + }, +})); + +export const CardBaseIcon = styled(Grid, { + label: 'CardBaseIcon', +})(() => ({ + display: 'flex', + alignItems: 'flex-end', + justifyContent: 'flex-end', + '& svg, & span': { + fontSize: 32, + color: '#939598', + }, + '& img': { + maxHeight: 32, + maxWidth: 32, + }, +})); + +export const CardBaseHeadings = styled(Grid, { + label: 'CardBaseHeadings', +})(() => ({ + flex: 1, + flexDirection: 'column', + justifyContent: 'space-around', + '& > div': { + lineHeight: 1.3, + }, +})); + +export const CardBaseHeading = styled('div', { + label: 'CardBaseHeading', +})(({ theme }) => ({ + fontFamily: theme.font.bold, + fontSize: '1rem', + color: theme.color.headline, + wordBreak: 'break-word', + display: 'flex', + alignItems: 'center', + columnGap: theme.spacing(2), +})); + +export const CardBaseSubheading = styled('div', { + label: 'CardBaseSubheading', +})(({ theme }) => ({ + color: theme.palette.text.primary, + fontSize: '0.875rem', +})); diff --git a/packages/manager/src/components/SelectionCard/CardBase.test.tsx b/packages/manager/src/components/SelectionCard/CardBase.test.tsx index f74853190e8..05589ad83a1 100644 --- a/packages/manager/src/components/SelectionCard/CardBase.test.tsx +++ b/packages/manager/src/components/SelectionCard/CardBase.test.tsx @@ -1,7 +1,6 @@ -import { renderWithTheme } from 'src/utilities/testHelpers'; import * as React from 'react'; - -import CardBase from './index'; +import { CardBase } from './CardBase'; +import { renderWithTheme } from 'src/utilities/testHelpers'; describe('CardBase component', () => { it('should render header decorations when supplied', () => { diff --git a/packages/manager/src/components/SelectionCard/CardBase.tsx b/packages/manager/src/components/SelectionCard/CardBase.tsx index ec38712613d..ac4bbea996b 100644 --- a/packages/manager/src/components/SelectionCard/CardBase.tsx +++ b/packages/manager/src/components/SelectionCard/CardBase.tsx @@ -1,91 +1,14 @@ import * as React from 'react'; -import Grid from '@mui/material/Unstable_Grid2'; -import { styled } from '@mui/material/styles'; -import { SxProps } from '@mui/system'; - -const CardBaseGrid = styled(Grid, { - label: 'CardBaseGrid', -})>(({ theme, ...props }) => ({ - alignItems: 'center', - backgroundColor: props.checked ? theme.bg.lightBlue2 : theme.bg.offWhite, - border: `1px solid ${theme.bg.main}`, - borderColor: props.checked ? theme.palette.primary.main : undefined, - height: '100%', - margin: 0, - minHeight: 60, - padding: `0 ${theme.spacing(1)} !important`, - position: 'relative', - transition: - 'background-color 225ms ease-in-out, border-color 225ms ease-in-out', - width: '100%', - - '&:hover': { - backgroundColor: props.checked ? theme.bg.lightBlue2 : theme.bg.main, - borderColor: props.checked - ? theme.palette.primary.main - : theme.color.border2, - }, - - '&:before': { - content: '""', - display: 'block', - position: 'absolute', - top: 0, - left: 0, - width: 5, - height: '100%', - backgroundColor: 'transparent', - transition: theme.transitions.create('backgroundColor'), - }, -})); - -const CardBaseIcon = styled(Grid, { - label: 'CardBaseIcon', -})(() => ({ - display: 'flex', - alignItems: 'flex-end', - justifyContent: 'flex-end', - '& svg, & span': { - fontSize: 32, - color: '#939598', - }, - '& img': { - maxHeight: 32, - maxWidth: 32, - }, -})); - -const CardBaseHeadings = styled(Grid, { - label: 'CardBaseHeadings', -})(() => ({ - flex: 1, - flexDirection: 'column', - justifyContent: 'space-around', - '& > div': { - lineHeight: 1.3, - }, -})); - -const CardBaseHeading = styled('div', { - label: 'CardBaseHeading', -})(({ theme }) => ({ - fontFamily: theme.font.bold, - fontSize: '1rem', - color: theme.color.headline, - wordBreak: 'break-word', - display: 'flex', - alignItems: 'center', - columnGap: theme.spacing(2), -})); - -const CardBaseSubheading = styled('div', { - label: 'CardBaseSubheading', -})(({ theme }) => ({ - color: theme.palette.text.primary, - fontSize: '0.875rem', -})); - -interface Props { +import { + CardBaseGrid, + CardBaseHeadings, + CardBaseHeading, + CardBaseIcon, + CardBaseSubheading, +} from './CardBase.styles'; +import type { SxProps } from '@mui/system'; + +export interface CardBaseProps { checked?: boolean; heading: string | JSX.Element; headingDecoration?: JSX.Element; @@ -97,8 +20,7 @@ interface Props { sxIcon?: SxProps; sxSubheading?: SxProps; } - -const CardBase = (props: Props) => { +export const CardBase = (props: CardBaseProps) => { const { checked, heading, @@ -138,5 +60,3 @@ const CardBase = (props: Props) => { ); }; - -export default CardBase; diff --git a/packages/manager/src/components/SelectionCard/SelectionCard.stories.mdx b/packages/manager/src/components/SelectionCard/SelectionCard.stories.mdx deleted file mode 100644 index b6ff65b3e0f..00000000000 --- a/packages/manager/src/components/SelectionCard/SelectionCard.stories.mdx +++ /dev/null @@ -1,102 +0,0 @@ -import { ArgsTable, Canvas, Meta, Story } from '@storybook/addon-docs'; -import Alarm from '@mui/icons-material/Alarm'; -import InsertPhoto from '@mui/icons-material/InsertPhoto'; -import DE from 'flag-icons/flags/4x3/de.svg'; -import US from 'flag-icons/flags/4x3/us.svg'; -import { Chip } from '/src/components/core/Chip'; -import SelectionCard from '/src/components/SelectionCard/SelectionCard'; - - - -export const Template = (args) => { - return ; -}; - -export const iconOptions = { - None: () => null, - Photo: () => , - Alarm: () => , - 'DE Flag': () => , - 'US Flag': () => , - 'Arch Linux': () => , - Debian: () => , -}; - -export const variantOptions = { - None: () => null, - Chip: () => , -}; - -# Selection Card - -## Usage - -Tables used for selecting an item become cards at a breakpoint (e.g., plans on the Create Linode page and Linodes on the Clone Linode page) - -### Pros - -- Cards are used as a compact presentation of data that is mobile-friendly - -### Cons - -- Do not use cards if comparing or scanning data points is important. Tables, even compact ones are better suited to this use case. - - - - {Template.bind({})} - - - - diff --git a/packages/manager/src/components/SelectionCard/SelectionCard.stories.tsx b/packages/manager/src/components/SelectionCard/SelectionCard.stories.tsx new file mode 100644 index 00000000000..5bcd8e51b26 --- /dev/null +++ b/packages/manager/src/components/SelectionCard/SelectionCard.stories.tsx @@ -0,0 +1,68 @@ +import * as React from 'react'; +import Alarm from '@mui/icons-material/Alarm'; +import InsertPhoto from '@mui/icons-material/InsertPhoto'; +import DE from 'flag-icons/flags/4x3/de.svg'; +import US from 'flag-icons/flags/4x3/us.svg'; +import { Chip } from 'src/components/core/Chip'; +import { SelectionCard } from './SelectionCard'; +import type { Meta, StoryObj } from '@storybook/react'; +import type { SelectionCardProps } from './SelectionCard'; + +const iconOptions = { + None: () => null, + Photo: () => , + Alarm: () => , + 'DE Flag': () => , + 'US Flag': () => , + 'Arch Linux': () => , + Debian: () => , +}; + +const variantOptions = { + None: () => null, + Chip: () => , +}; + +export const Default: StoryObj = { + render: (args) => { + const SelectionCardWrapper = () => { + const [checked, setChecked] = React.useState(false); + + const handleChange = () => { + setChecked(!checked); + }; + + return ( + + ); + }; + + return ; + }, +}; + +const meta: Meta = { + title: 'Components/SelectionCard', + component: SelectionCard, + args: { + heading: 'Photos', + subheadings: ['Use a photo', 'Select up to 3'], + checked: false, + disabled: false, + renderIcon: iconOptions.Photo, + renderVariant: variantOptions.Chip, + tooltip: '', + }, + argTypes: { + renderIcon: { + control: { type: 'select' }, + options: iconOptions, + }, + renderVariant: { + control: { type: 'select' }, + options: variantOptions, + }, + }, +}; + +export default meta; diff --git a/packages/manager/src/components/SelectionCard/SelectionCard.tsx b/packages/manager/src/components/SelectionCard/SelectionCard.tsx index 535d6d23a46..4040c4f50e6 100644 --- a/packages/manager/src/components/SelectionCard/SelectionCard.tsx +++ b/packages/manager/src/components/SelectionCard/SelectionCard.tsx @@ -1,53 +1,99 @@ import * as React from 'react'; -import CardBase from './CardBase'; import Grid from '@mui/material/Unstable_Grid2'; import Tooltip from 'src/components/core/Tooltip'; +import { CardBase } from './CardBase'; import { styled } from '@mui/material/styles'; import { SxProps } from '@mui/system'; -export interface Props { +export interface SelectionCardProps { + /** + * If true, the card will be selected and displayed as in a selected state. + * @default false + */ checked?: boolean; + /** + * Additional CSS classes to apply to the root element. + */ className?: string; + /** + * If true, the card will be disabled and will be displayed in a disabled state. + * @default false + */ disabled?: boolean; + /** + * The heading of the card. + * @example Linode 1GB + */ heading: string; + /** + * An optional decoration to display next to the heading. + * @example (Current) + */ headingDecoration?: JSX.Element; + /** + * The ID of the card. + */ id?: string; + /** + * Callback fired when the card is clicked. + * @param {React.SyntheticEvent} e The event source of the callback. + */ onClick?: (e: React.SyntheticEvent) => void; + /** + * An optional icon to render on the left side. + * @example + */ renderIcon?: () => JSX.Element; + /** + * An optional variant to render on the right side. + */ renderVariant?: () => JSX.Element | null; + /** + * An array of subheadings to display below the heading. + * @example ['Linode 1GB', 'Linode 2GB', 'Linode 4GB'] + */ subheadings: (string | undefined)[]; + /** + * Optional styles to apply to the root element. + */ sx?: SxProps; + /** + * Optional styles to apply to the root element of the card. + */ sxCardBase?: SxProps; + /** + * Optional styles to apply to the heading of the card. + */ sxCardBaseHeading?: SxProps; + /** + * Optional styles to apply to the icon of the card. + */ sxCardBaseIcon?: SxProps; + /** + * Optional styles to apply to the subheading of the card. + */ sxCardBaseSubheading?: SxProps; + /** + * Optional styles to apply to the grid of the card. + */ sxGrid?: SxProps; + /** + * Optional styles to apply to the tooltip of the card. + */ sxTooltip?: SxProps; + /** + * Optional text to set in a tooltip when hovering over the card. + */ tooltip?: string; } -const StyledGrid = styled(Grid, { - label: 'SelectionCardGrid', -})>(({ ...props }) => ({ - '&:focus': { - outline: '1px dotted #999', - }, - '& [class^="fl-"]': { - transition: 'color 225ms ease-in-out', - }, - ...(props.onClick && - !props.disabled && { - cursor: 'pointer', - }), - ...(props.disabled && { - cursor: 'not-allowed', - '& > div': { - opacity: 0.4, - }, - }), -})); - -const SelectionCard = (props: Props) => { +/** + * Tables used for selecting an item become cards at a breakpoint (e.g., plans on the Create Linode page and Linodes on the Clone Linode page). + * + * - Cards are used as a compact presentation of data that is mobile-friendly. + * - ** Important**: Do not use cards if comparing or scanning data points is important. Tables, even compact ones are better suited to this use case. + */ +export const SelectionCard = React.memo((props: SelectionCardProps) => { const { checked, className, @@ -123,6 +169,25 @@ const SelectionCard = (props: Props) => { } return cardGrid; -}; +}); -export default React.memo(SelectionCard); +const StyledGrid = styled(Grid, { + label: 'SelectionCardGrid', +})>(({ ...props }) => ({ + '&:focus': { + outline: '1px dotted #999', + }, + '& [class^="fl-"]': { + transition: 'color 225ms ease-in-out', + }, + ...(props.onClick && + !props.disabled && { + cursor: 'pointer', + }), + ...(props.disabled && { + cursor: 'not-allowed', + '& > div': { + opacity: 0.4, + }, + }), +})); diff --git a/packages/manager/src/components/SelectionCard/index.tsx b/packages/manager/src/components/SelectionCard/index.tsx deleted file mode 100644 index 57bb7addcbc..00000000000 --- a/packages/manager/src/components/SelectionCard/index.tsx +++ /dev/null @@ -1,2 +0,0 @@ -import SelectionCard from './SelectionCard'; -export default SelectionCard; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentMethodCard.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentMethodCard.tsx index 788be00c171..4af3c7cf1d2 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentMethodCard.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentMethodCard.tsx @@ -6,7 +6,7 @@ import { getIcon as getTPPIcon, thirdPartyPaymentMap, } from 'src/components/PaymentMethodRow/ThirdPartyPayment'; -import SelectionCard from 'src/components/SelectionCard'; +import { SelectionCard } from 'src/components/SelectionCard/SelectionCard'; import { getIcon as getCreditCardIcon } from 'src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/CreditCard'; import isCreditCardExpired, { formatExpiry } from 'src/utilities/creditCard'; import { useTheme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/LinodeConfigSelectionDrawer/LinodeConfigSelectionDrawer.tsx b/packages/manager/src/features/LinodeConfigSelectionDrawer/LinodeConfigSelectionDrawer.tsx index f2c62bea692..70bb04ca4f9 100644 --- a/packages/manager/src/features/LinodeConfigSelectionDrawer/LinodeConfigSelectionDrawer.tsx +++ b/packages/manager/src/features/LinodeConfigSelectionDrawer/LinodeConfigSelectionDrawer.tsx @@ -6,7 +6,7 @@ import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; -import SelectionCard from 'src/components/SelectionCard'; +import { SelectionCard } from 'src/components/SelectionCard/SelectionCard'; export type LinodeConfigSelectionDrawerCallback = (id: number) => void; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectBackupPanel.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectBackupPanel.tsx index ac0ceba286a..d9f42f97df9 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectBackupPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectBackupPanel.tsx @@ -13,7 +13,7 @@ import Typography from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; import RenderGuard, { RenderGuardProps } from 'src/components/RenderGuard'; -import SelectionCard from 'src/components/SelectionCard'; +import { SelectionCard } from 'src/components/SelectionCard/SelectionCard'; import { formatDate } from 'src/utilities/formatDate'; import { withProfile, diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectLinodePanel.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectLinodePanel.tsx index a9f609bd355..a43b3b0ec34 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectLinodePanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectLinodePanel.tsx @@ -10,7 +10,7 @@ import { Notice } from 'src/components/Notice/Notice'; import Paginate from 'src/components/Paginate'; import { PaginationFooter } from 'src/components/PaginationFooter/PaginationFooter'; import RenderGuard, { RenderGuardProps } from 'src/components/RenderGuard'; -import SelectionCard from 'src/components/SelectionCard'; +import { SelectionCard } from 'src/components/SelectionCard/SelectionCard'; export interface ExtendedLinode extends Linode { heading: string; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanSelection.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanSelection.tsx index 2713c90cce3..70a46feed15 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanSelection.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanSelection.tsx @@ -4,7 +4,7 @@ import { styled } from '@mui/material/styles'; import { Button } from 'src/components/Button/Button'; import { EnhancedNumberInput } from 'src/components/EnhancedNumberInput/EnhancedNumberInput'; import Hidden from 'src/components/core/Hidden'; -import SelectionCard from 'src/components/SelectionCard'; +import { SelectionCard } from 'src/components/SelectionCard/SelectionCard'; import { TableCell } from 'src/components/TableCell'; import { convertMegabytesTo } from 'src/utilities/unitConversions'; import { ExtendedType } from 'src/utilities/extendType'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanSelection.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanSelection.tsx index 4df5362810f..9f4be5a3841 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanSelection.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanSelection.tsx @@ -6,7 +6,7 @@ import Hidden from 'src/components/core/Hidden'; import { Currency } from 'src/components/Currency'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { Radio } from 'src/components/Radio/Radio'; -import SelectionCard from 'src/components/SelectionCard'; +import { SelectionCard } from 'src/components/SelectionCard/SelectionCard'; import { TableCell } from 'src/components/TableCell'; import { ApplicationState } from 'src/store'; import { LINODE_NETWORK_IN } from 'src/constants'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectionCardWrapper.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectionCardWrapper.tsx index 8352113f88c..6d8dad62c35 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectionCardWrapper.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectionCardWrapper.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import Info from 'src/assets/icons/info.svg'; import { styled, useTheme } from '@mui/material/styles'; import Grid from '@mui/material/Unstable_Grid2'; -import SelectionCard from 'src/components/SelectionCard'; +import { SelectionCard } from 'src/components/SelectionCard/SelectionCard'; import { APP_ROOT } from 'src/constants'; interface Props { diff --git a/packages/manager/src/features/Users/UserPermissions.tsx b/packages/manager/src/features/Users/UserPermissions.tsx index 63e512dbe08..c10ca082f92 100644 --- a/packages/manager/src/features/Users/UserPermissions.tsx +++ b/packages/manager/src/features/Users/UserPermissions.tsx @@ -23,7 +23,7 @@ import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; -import SelectionCard from 'src/components/SelectionCard'; +import { SelectionCard } from 'src/components/SelectionCard/SelectionCard'; import { Toggle } from 'src/components/Toggle'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; import getAPIErrorsFor from 'src/utilities/getAPIErrorFor'; diff --git a/yarn.lock b/yarn.lock index 3c8c8163df3..87c074ad151 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5480,13 +5480,6 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" @@ -6977,13 +6970,6 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== -encoding@^0.1.11: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -8394,20 +8380,13 @@ github-slugger@^1.0.0: resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== -glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: +glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@^6.0.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - glob-promise@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-4.2.2.tgz#15f44bcba0e14219cd93af36da6bb905ff007877" @@ -8711,10 +8690,12 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react- dependencies: react-is "^16.7.0" -hosted-git-info@^2.1.4: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +hosted-git-info@^2.1.4, hosted-git-info@^5.0.0: + version "5.2.1" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f" + integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw== + dependencies: + lru-cache "^7.5.1" html-element-map@^1.2.0: version "1.3.1" @@ -8858,13 +8839,6 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - ieee754@^1.1.13: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -9070,16 +9044,16 @@ is-boolean-object@^1.0.1, is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-buffer@^1.1.5, is-buffer@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - is-buffer@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== +is-buffer@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.1.5, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -9211,7 +9185,7 @@ is-generator-function@^1.0.7: dependencies: has-tostringtag "^1.0.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -9330,7 +9304,7 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" -is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== @@ -10311,26 +10285,7 @@ jss@10.10.0, jss@^10.10.0: array-includes "^3.1.5" object.assign "^4.1.3" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - -kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - -kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - -kind-of@^6.0.0, kind-of@^6.0.2: +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0, kind-of@^4.0.0, kind-of@^5.0.0, kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -10647,6 +10602,11 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" +lru-cache@^7.5.1: + version "7.18.3" + resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" + integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== + luxon@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.2.1.tgz#14f1af209188ad61212578ea7e3d518d18cee45f" @@ -10900,21 +10860,14 @@ mini-create-react-context@^0.3.0: "@babel/runtime" "^7.12.1" tiny-warning "^1.0.3" -minimatch@3.1.2, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@3.1.2, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2, minimatch@^5.0.1: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -11111,15 +11064,7 @@ node-fetch-native@^1.0.2: resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.0.2.tgz#de3651399fda89a1a7c0bf6e7c4e9c239e8d0697" integrity sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ== -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - -node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: +node-fetch@^1.0.1, node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.9" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== @@ -12928,7 +12873,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -14189,7 +14134,7 @@ typescript@^4.9.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -ua-parser-js@^0.7.30: +ua-parser-js@^0.7.30, ua-parser-js@^0.7.33: version "0.7.35" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.35.tgz#8bda4827be4f0b1dda91699a29499575a1f1d307" integrity sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g== @@ -14833,25 +14778,12 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: - version "1.10.2" - resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" - integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== - -yaml@^2.2.2: +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2, yaml@^2.2.2, yaml@^2.3.0: version "2.3.1" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== -yargs-parser@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - -yargs-parser@^18.1.2: +yargs-parser@^11.1.1, yargs-parser@^18.1.2, yargs-parser@^18.1.3, yargs-parser@^20.2.2, yargs-parser@^20.2.9: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -14859,11 +14791,6 @@ yargs-parser@^18.1.2: camelcase "^5.0.0" decamelize "^1.2.0" -yargs-parser@^20.2.2, yargs-parser@^20.2.9: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - yargs@^12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" From d1af94d7ba6b77d10b58b352c7cef521f2c7ac3b Mon Sep 17 00:00:00 2001 From: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com> Date: Wed, 28 Jun 2023 14:28:28 -0400 Subject: [PATCH 46/88] refactor: [M3-6797] - MUI v5 Migration - `Components > Hidden` (#9326) * move component and use named export * Added changeset: MUI v5 Migration - Components > Hidden --------- Co-authored-by: Banks Nussman --- .../.changeset/pr-9326-tech-stories-1687889013916.md | 5 +++++ .../src/components/EntityHeader/EntityHeader.stories.tsx | 2 +- .../src/components/EntityTable/EntityTableHeader.tsx | 2 +- packages/manager/src/components/Hidden.ts | 2 ++ packages/manager/src/components/SideMenu.tsx | 2 +- packages/manager/src/components/TableRow/TableRow.tsx | 2 +- .../src/components/TableRowLoading/TableRowLoading.tsx | 2 +- packages/manager/src/components/core/Hidden.ts | 6 ------ packages/manager/src/features/Account/AccountLogins.tsx | 2 +- .../manager/src/features/Account/AccountLoginsTableRow.tsx | 2 +- .../src/features/Account/Maintenance/MaintenanceTable.tsx | 2 +- .../features/Account/Maintenance/MaintenanceTableRow.tsx | 2 +- .../features/Databases/DatabaseLanding/DatabaseLanding.tsx | 2 +- .../src/features/Databases/DatabaseLanding/DatabaseRow.tsx | 2 +- packages/manager/src/features/Domains/DomainTableRow.tsx | 2 +- packages/manager/src/features/Domains/DomainsLanding.tsx | 2 +- .../EntityTransfersCreate/LinodeTransferTable.tsx | 2 +- .../EntityTransfersLanding/TransferControls.tsx | 2 +- .../src/features/EntityTransfers/RenderTransferRow.tsx | 2 +- .../manager/src/features/EntityTransfers/TransfersTable.tsx | 2 +- packages/manager/src/features/Events/EventRow.tsx | 2 +- packages/manager/src/features/Events/EventsLanding.tsx | 2 +- .../Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx | 2 +- .../features/Firewalls/FirewallLanding/FirewallLanding.tsx | 2 +- .../src/features/Firewalls/FirewallLanding/FirewallRow.tsx | 2 +- packages/manager/src/features/Images/ImageRow.tsx | 2 +- packages/manager/src/features/Images/ImagesLanding.tsx | 2 +- .../features/Kubernetes/ClusterList/ClusterActionMenu.tsx | 2 +- .../Kubernetes/ClusterList/KubernetesClusterRow.tsx | 2 +- .../Kubernetes/KubernetesLanding/KubernetesLanding.tsx | 2 +- .../manager/src/features/Linodes/LinodeEntityDetail.tsx | 2 +- .../SelectPlanPanel/KubernetesPlanContainer.tsx | 2 +- .../SelectPlanPanel/KubernetesPlanSelection.tsx | 2 +- .../Linodes/LinodesCreate/SelectPlanPanel/PlanContainer.tsx | 2 +- .../Linodes/LinodesCreate/SelectPlanPanel/PlanSelection.tsx | 2 +- .../LinodesDetail/LinodeNetworking/LinodeNetworking.tsx | 2 +- .../Linodes/LinodesDetail/LinodeStorage/LinodeDiskRow.tsx | 2 +- .../Linodes/LinodesDetail/LinodeStorage/LinodeDisks.tsx | 2 +- .../Linodes/LinodesDetail/LinodeStorage/LinodeVolumes.tsx | 2 +- .../features/Linodes/LinodesLanding/LinodeRow/LinodeRow.tsx | 2 +- .../features/Linodes/LinodesLanding/SortableTableHead.tsx | 2 +- packages/manager/src/features/Managed/Contacts/Contacts.tsx | 2 +- .../manager/src/features/Managed/Contacts/ContactsRow.tsx | 2 +- .../manager/src/features/Managed/SSHAccess/SSHAccessRow.tsx | 2 +- .../src/features/Managed/SSHAccess/SSHAccessTable.tsx | 2 +- .../NodeBalancersLanding/NodeBalancerActionMenu.tsx | 2 +- .../NodeBalancersLanding/NodeBalancerTableRow.tsx | 2 +- .../NodeBalancersLanding/NodeBalancersLanding.tsx | 2 +- .../src/features/NotificationCenter/NotificationSection.tsx | 2 +- .../ObjectStorage/AccessKeyLanding/AccessKeyMenu.tsx | 2 +- .../features/ObjectStorage/BucketDetail/BucketDetail.tsx | 2 +- .../features/ObjectStorage/BucketDetail/FolderTableRow.tsx | 2 +- .../features/ObjectStorage/BucketDetail/ObjectTableRow.tsx | 2 +- .../ObjectStorage/BucketLanding/BucketActionMenu.tsx | 2 +- .../features/ObjectStorage/BucketLanding/BucketTable.tsx | 2 +- .../features/ObjectStorage/BucketLanding/BucketTableRow.tsx | 2 +- .../src/features/Profile/OAuthClients/OAuthClients.tsx | 2 +- packages/manager/src/features/Profile/SSHKeys/SSHKeys.tsx | 2 +- packages/manager/src/features/Search/ResultGroup.tsx | 2 +- packages/manager/src/features/Search/ResultRow.tsx | 2 +- .../features/StackScripts/Partials/StackScriptTableHead.tsx | 2 +- .../StackScripts/StackScriptPanel/StackScriptActionMenu.tsx | 2 +- .../StackScripts/StackScriptPanel/StackScriptRow.tsx | 2 +- .../src/features/Support/SupportTickets/TicketList.tsx | 2 +- .../src/features/Support/SupportTickets/TicketRow.tsx | 2 +- packages/manager/src/features/TopMenu/TopMenu.tsx | 2 +- packages/manager/src/features/TopMenu/UserMenu/UserMenu.tsx | 2 +- packages/manager/src/features/Volumes/VolumeTableRow.tsx | 2 +- 68 files changed, 72 insertions(+), 71 deletions(-) create mode 100644 packages/manager/.changeset/pr-9326-tech-stories-1687889013916.md create mode 100644 packages/manager/src/components/Hidden.ts delete mode 100644 packages/manager/src/components/core/Hidden.ts diff --git a/packages/manager/.changeset/pr-9326-tech-stories-1687889013916.md b/packages/manager/.changeset/pr-9326-tech-stories-1687889013916.md new file mode 100644 index 00000000000..c54b601c074 --- /dev/null +++ b/packages/manager/.changeset/pr-9326-tech-stories-1687889013916.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Tech Stories +--- + +MUI v5 Migration - Components > Hidden ([#9326](https://github.com/linode/manager/pull/9326)) diff --git a/packages/manager/src/components/EntityHeader/EntityHeader.stories.tsx b/packages/manager/src/components/EntityHeader/EntityHeader.stories.tsx index 690258541d2..aefccac4956 100644 --- a/packages/manager/src/components/EntityHeader/EntityHeader.stories.tsx +++ b/packages/manager/src/components/EntityHeader/EntityHeader.stories.tsx @@ -5,7 +5,7 @@ import { EntityHeader } from 'src/components/EntityHeader/EntityHeader'; import { Button } from '../Button/Button'; import Link from '../Link'; import Box from 'src/components/core/Box'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import LinodeActionMenu from 'src/features/Linodes/LinodesLanding/LinodeActionMenu'; const sxBoxFlex = { diff --git a/packages/manager/src/components/EntityTable/EntityTableHeader.tsx b/packages/manager/src/components/EntityTable/EntityTableHeader.tsx index f397a397d29..8baf7d74e55 100644 --- a/packages/manager/src/components/EntityTable/EntityTableHeader.tsx +++ b/packages/manager/src/components/EntityTable/EntityTableHeader.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import GroupByTag from 'src/assets/icons/group-by-tag.svg'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableHead } from 'src/components/TableHead'; diff --git a/packages/manager/src/components/Hidden.ts b/packages/manager/src/components/Hidden.ts new file mode 100644 index 00000000000..4128966ed89 --- /dev/null +++ b/packages/manager/src/components/Hidden.ts @@ -0,0 +1,2 @@ +export { default as Hidden } from '@mui/material/Hidden'; +export type { HiddenProps } from '@mui/material/Hidden'; diff --git a/packages/manager/src/components/SideMenu.tsx b/packages/manager/src/components/SideMenu.tsx index 59fbd66bcfc..3eb7911651a 100644 --- a/packages/manager/src/components/SideMenu.tsx +++ b/packages/manager/src/components/SideMenu.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Drawer from 'src/components/core/Drawer'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import PrimaryNav from './PrimaryNav/PrimaryNav'; diff --git a/packages/manager/src/components/TableRow/TableRow.tsx b/packages/manager/src/components/TableRow/TableRow.tsx index 139d125c98a..16c8eec0f5c 100644 --- a/packages/manager/src/components/TableRow/TableRow.tsx +++ b/packages/manager/src/components/TableRow/TableRow.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import { diff --git a/packages/manager/src/components/TableRowLoading/TableRowLoading.tsx b/packages/manager/src/components/TableRowLoading/TableRowLoading.tsx index 7d6bfc23bb1..6f5b6fea546 100644 --- a/packages/manager/src/components/TableRowLoading/TableRowLoading.tsx +++ b/packages/manager/src/components/TableRowLoading/TableRowLoading.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Hidden, { HiddenProps } from '../core/Hidden'; +import { Hidden, HiddenProps } from '../Hidden'; import Skeleton from '../core/Skeleton'; import { TableCell } from '../TableCell/TableCell'; import { TableRow } from '../TableRow/TableRow'; diff --git a/packages/manager/src/components/core/Hidden.ts b/packages/manager/src/components/core/Hidden.ts deleted file mode 100644 index 71468094bd2..00000000000 --- a/packages/manager/src/components/core/Hidden.ts +++ /dev/null @@ -1,6 +0,0 @@ -import Hidden, { HiddenProps as _HiddenProps } from '@mui/material/Hidden'; - -/* tslint:disable-next-line:no-empty-interface */ -export interface HiddenProps extends _HiddenProps {} - -export default Hidden; diff --git a/packages/manager/src/features/Account/AccountLogins.tsx b/packages/manager/src/features/Account/AccountLogins.tsx index 2ac9e8aeb80..9fe7e06d062 100644 --- a/packages/manager/src/features/Account/AccountLogins.tsx +++ b/packages/manager/src/features/Account/AccountLogins.tsx @@ -1,7 +1,7 @@ import { AccountLogin } from '@linode/api-v4/lib/account/types'; import Typography from 'src/components/core/Typography'; import * as React from 'react'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; diff --git a/packages/manager/src/features/Account/AccountLoginsTableRow.tsx b/packages/manager/src/features/Account/AccountLoginsTableRow.tsx index 992134a8e43..e8fb0988919 100644 --- a/packages/manager/src/features/Account/AccountLoginsTableRow.tsx +++ b/packages/manager/src/features/Account/AccountLoginsTableRow.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Link from 'src/components/Link'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; diff --git a/packages/manager/src/features/Account/Maintenance/MaintenanceTable.tsx b/packages/manager/src/features/Account/Maintenance/MaintenanceTable.tsx index bf5a3065e7a..3ccf6737fdc 100644 --- a/packages/manager/src/features/Account/Maintenance/MaintenanceTable.tsx +++ b/packages/manager/src/features/Account/Maintenance/MaintenanceTable.tsx @@ -1,7 +1,7 @@ /* eslint-disable jsx-a11y/anchor-is-valid */ import * as React from 'react'; import Box from 'src/components/core/Box'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; import { Table } from 'src/components/Table'; diff --git a/packages/manager/src/features/Account/Maintenance/MaintenanceTableRow.tsx b/packages/manager/src/features/Account/Maintenance/MaintenanceTableRow.tsx index cb62b34c206..1d5695faf7d 100644 --- a/packages/manager/src/features/Account/Maintenance/MaintenanceTableRow.tsx +++ b/packages/manager/src/features/Account/Maintenance/MaintenanceTableRow.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Tooltip from 'src/components/core/Tooltip'; import Link from 'src/components/Link'; import { TableCell } from 'src/components/TableCell'; diff --git a/packages/manager/src/features/Databases/DatabaseLanding/DatabaseLanding.tsx b/packages/manager/src/features/Databases/DatabaseLanding/DatabaseLanding.tsx index 855e1bed6c7..e9c3ff66933 100644 --- a/packages/manager/src/features/Databases/DatabaseLanding/DatabaseLanding.tsx +++ b/packages/manager/src/features/Databases/DatabaseLanding/DatabaseLanding.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import LandingHeader from 'src/components/LandingHeader'; import { ProductInformationBanner } from 'src/components/ProductInformationBanner/ProductInformationBanner'; import { CircleProgress } from 'src/components/CircleProgress'; diff --git a/packages/manager/src/features/Databases/DatabaseLanding/DatabaseRow.tsx b/packages/manager/src/features/Databases/DatabaseLanding/DatabaseRow.tsx index 240669e1e89..3e17acb7cd5 100644 --- a/packages/manager/src/features/Databases/DatabaseLanding/DatabaseRow.tsx +++ b/packages/manager/src/features/Databases/DatabaseLanding/DatabaseRow.tsx @@ -6,7 +6,7 @@ import { import * as React from 'react'; import { Link } from 'react-router-dom'; import { Chip } from 'src/components/core/Chip'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { StatusIcon } from 'src/components/StatusIcon/StatusIcon'; import { Status } from 'src/components/StatusIcon/StatusIcon'; import { TableCell } from 'src/components/TableCell'; diff --git a/packages/manager/src/features/Domains/DomainTableRow.tsx b/packages/manager/src/features/Domains/DomainTableRow.tsx index d933cd5c539..6cce44942e5 100644 --- a/packages/manager/src/features/Domains/DomainTableRow.tsx +++ b/packages/manager/src/features/Domains/DomainTableRow.tsx @@ -1,7 +1,7 @@ import { Domain, DomainStatus } from '@linode/api-v4/lib/domains'; import * as React from 'react'; import { Link } from 'react-router-dom'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; diff --git a/packages/manager/src/features/Domains/DomainsLanding.tsx b/packages/manager/src/features/Domains/DomainsLanding.tsx index df6b78816c3..f1e6cc0095d 100644 --- a/packages/manager/src/features/Domains/DomainsLanding.tsx +++ b/packages/manager/src/features/Domains/DomainsLanding.tsx @@ -33,7 +33,7 @@ import { TableBody } from 'src/components/TableBody'; import { TableSortCell } from 'src/components/TableSortCell'; import { TableCell } from 'src/components/TableCell'; import { PaginationFooter } from 'src/components/PaginationFooter/PaginationFooter'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { CloneDomainDrawer } from './CloneDomainDrawer'; import { EditDomainDrawer } from './EditDomainDrawer'; import { DomainsEmptyLandingState } from './DomainsEmptyLandingPage'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/LinodeTransferTable.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/LinodeTransferTable.tsx index 4469b503172..d19f26919ec 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/LinodeTransferTable.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/LinodeTransferTable.tsx @@ -1,6 +1,6 @@ import { Linode } from '@linode/api-v4/lib/linodes'; import * as React from 'react'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { useTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx index 8bd6ade7665..7191840befb 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { useHistory } from 'react-router-dom'; +import { Hidden } from 'src/components/Hidden'; import { Button } from 'src/components/Button/Button'; -import Hidden from 'src/components/core/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/EntityTransfers/RenderTransferRow.tsx b/packages/manager/src/features/EntityTransfers/RenderTransferRow.tsx index fdca4b8353c..f99f17e0856 100644 --- a/packages/manager/src/features/EntityTransfers/RenderTransferRow.tsx +++ b/packages/manager/src/features/EntityTransfers/RenderTransferRow.tsx @@ -1,7 +1,7 @@ import { TransferEntities } from '@linode/api-v4/lib/entity-transfers'; import * as React from 'react'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; diff --git a/packages/manager/src/features/EntityTransfers/TransfersTable.tsx b/packages/manager/src/features/EntityTransfers/TransfersTable.tsx index 24bce7efc02..006de639eba 100644 --- a/packages/manager/src/features/EntityTransfers/TransfersTable.tsx +++ b/packages/manager/src/features/EntityTransfers/TransfersTable.tsx @@ -4,8 +4,8 @@ import { } from '@linode/api-v4/lib/entity-transfers'; import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; +import { Hidden } from 'src/components/Hidden'; import { Accordion } from 'src/components/Accordion'; -import Hidden from 'src/components/core/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; diff --git a/packages/manager/src/features/Events/EventRow.tsx b/packages/manager/src/features/Events/EventRow.tsx index 47c98a6cdb0..7650981b3a3 100644 --- a/packages/manager/src/features/Events/EventRow.tsx +++ b/packages/manager/src/features/Events/EventRow.tsx @@ -2,7 +2,7 @@ import { Event, EventAction } from '@linode/api-v4/lib/account'; import { pathOr } from 'ramda'; import * as React from 'react'; import { compose } from 'recompose'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; diff --git a/packages/manager/src/features/Events/EventsLanding.tsx b/packages/manager/src/features/Events/EventsLanding.tsx index a498ec704c8..dc53368330f 100644 --- a/packages/manager/src/features/Events/EventsLanding.tsx +++ b/packages/manager/src/features/Events/EventsLanding.tsx @@ -6,7 +6,7 @@ import * as React from 'react'; import { connect } from 'react-redux'; import { Waypoint } from 'react-waypoint'; import { compose } from 'recompose'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx index b3798ba298e..e83aa61b0cf 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx @@ -12,7 +12,7 @@ import DragIndicator from 'src/assets/icons/drag-indicator.svg'; import Undo from 'src/assets/icons/undo.svg'; import { Button } from 'src/components/Button/Button'; import Box from '@mui/material/Box'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles, useTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; diff --git a/packages/manager/src/features/Firewalls/FirewallLanding/FirewallLanding.tsx b/packages/manager/src/features/Firewalls/FirewallLanding/FirewallLanding.tsx index a4080bdfd7d..00dd96c76be 100644 --- a/packages/manager/src/features/Firewalls/FirewallLanding/FirewallLanding.tsx +++ b/packages/manager/src/features/Firewalls/FirewallLanding/FirewallLanding.tsx @@ -18,7 +18,7 @@ import { TableRow } from 'src/components/TableRow'; import { TableSortCell } from 'src/components/TableSortCell/TableSortCell'; import { TableCell } from 'src/components/TableCell'; import { TableBody } from 'src/components/TableBody'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { PaginationFooter } from 'src/components/PaginationFooter/PaginationFooter'; const preferenceKey = 'firewalls'; diff --git a/packages/manager/src/features/Firewalls/FirewallLanding/FirewallRow.tsx b/packages/manager/src/features/Firewalls/FirewallLanding/FirewallRow.tsx index b88e239c8fc..14ad15de39e 100644 --- a/packages/manager/src/features/Firewalls/FirewallLanding/FirewallRow.tsx +++ b/packages/manager/src/features/Firewalls/FirewallLanding/FirewallRow.tsx @@ -2,7 +2,7 @@ import { Firewall, FirewallDevice } from '@linode/api-v4/lib/firewalls'; import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import { Link } from 'react-router-dom'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { StatusIcon } from 'src/components/StatusIcon/StatusIcon'; diff --git a/packages/manager/src/features/Images/ImageRow.tsx b/packages/manager/src/features/Images/ImageRow.tsx index 79ec43fbfab..7703d241ca7 100644 --- a/packages/manager/src/features/Images/ImageRow.tsx +++ b/packages/manager/src/features/Images/ImageRow.tsx @@ -1,7 +1,7 @@ import { Event } from '@linode/api-v4/lib/account'; import { Image } from '@linode/api-v4/lib/images'; import * as React from 'react'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Typography from 'src/components/core/Typography'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; diff --git a/packages/manager/src/features/Images/ImagesLanding.tsx b/packages/manager/src/features/Images/ImagesLanding.tsx index 05e458a4924..44e5c2049b1 100644 --- a/packages/manager/src/features/Images/ImagesLanding.tsx +++ b/packages/manager/src/features/Images/ImagesLanding.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import imageEvents from 'src/store/selectors/imageEvents'; import ImageRow, { ImageWithEvent } from './ImageRow'; import ImagesDrawer, { DrawerMode } from './ImagesDrawer'; diff --git a/packages/manager/src/features/Kubernetes/ClusterList/ClusterActionMenu.tsx b/packages/manager/src/features/Kubernetes/ClusterList/ClusterActionMenu.tsx index ac475f59b74..d84c3ac152e 100644 --- a/packages/manager/src/features/Kubernetes/ClusterList/ClusterActionMenu.tsx +++ b/packages/manager/src/features/Kubernetes/ClusterList/ClusterActionMenu.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import { RouteComponentProps, withRouter } from 'react-router-dom'; import { compose } from 'recompose'; import ActionMenu, { Action } from 'src/components/ActionMenu'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { useTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; diff --git a/packages/manager/src/features/Kubernetes/ClusterList/KubernetesClusterRow.tsx b/packages/manager/src/features/Kubernetes/ClusterList/KubernetesClusterRow.tsx index 529894035ff..4685012b83b 100644 --- a/packages/manager/src/features/Kubernetes/ClusterList/KubernetesClusterRow.tsx +++ b/packages/manager/src/features/Kubernetes/ClusterList/KubernetesClusterRow.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { Chip } from 'src/components/core/Chip'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Grid from '@mui/material/Unstable_Grid2'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; import { TableCell } from 'src/components/TableCell'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesLanding/KubernetesLanding.tsx b/packages/manager/src/features/Kubernetes/KubernetesLanding/KubernetesLanding.tsx index b2b504a82ea..0c691ba1c74 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesLanding/KubernetesLanding.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesLanding/KubernetesLanding.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import LandingHeader from 'src/components/LandingHeader'; import { ProductInformationBanner } from 'src/components/ProductInformationBanner/ProductInformationBanner'; import { TransferDisplay } from 'src/components/TransferDisplay/TransferDisplay'; diff --git a/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx b/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx index 9e3cb544db9..3aa73cb3445 100644 --- a/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx +++ b/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx @@ -18,7 +18,7 @@ import { TableRow } from 'src/components/TableRow'; import { TagCell } from 'src/components/TagCell/TagCell'; import Box from 'src/components/core/Box'; import { Chip } from 'src/components/core/Chip'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Typography, { TypographyProps } from 'src/components/core/Typography'; import { lishLaunch } from 'src/features/Lish/lishUtils'; import LinodeActionMenu from 'src/features/Linodes/LinodesLanding/LinodeActionMenu'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanContainer.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanContainer.tsx index 49c6a8a4c53..b882730ce5a 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanContainer.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanContainer.tsx @@ -5,7 +5,7 @@ import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; import { TableRow } from 'src/components/TableRow'; import { TableCell } from 'src/components/TableCell'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { ExtendedType } from 'src/utilities/extendType'; import { KubernetesPlanSelection } from './KubernetesPlanSelection'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanSelection.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanSelection.tsx index 70a46feed15..956a9623bf9 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanSelection.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlanSelection.tsx @@ -3,7 +3,7 @@ import Grid from '@mui/material/Unstable_Grid2'; import { styled } from '@mui/material/styles'; import { Button } from 'src/components/Button/Button'; import { EnhancedNumberInput } from 'src/components/EnhancedNumberInput/EnhancedNumberInput'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { SelectionCard } from 'src/components/SelectionCard/SelectionCard'; import { TableCell } from 'src/components/TableCell'; import { convertMegabytesTo } from 'src/utilities/unitConversions'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanContainer.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanContainer.tsx index da5112525e9..dec71938071 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanContainer.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanContainer.tsx @@ -4,7 +4,7 @@ import Grid from '@mui/material/Unstable_Grid2'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; import { TableRow } from 'src/components/TableRow'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { ExtendedType } from 'src/utilities/extendType'; import { PlanSelection, PlanSelectionType } from './PlanSelection'; import { StyledTableCell, StyledTable } from './PlanContainer.styles'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanSelection.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanSelection.tsx index 9f4be5a3841..733cf1d74dd 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanSelection.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanSelection.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { useSelector } from 'react-redux'; import { BaseType, LinodeTypeClass } from '@linode/api-v4/lib/linodes'; import FormControlLabel from 'src/components/core/FormControlLabel'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { Currency } from 'src/components/Currency'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { Radio } from 'src/components/Radio/Radio'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeNetworking.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeNetworking.tsx index 862558db228..3ccb4a10390 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeNetworking.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeNetworking.tsx @@ -6,7 +6,7 @@ import AddNewLink from 'src/components/AddNewLink'; import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Paper from 'src/components/core/Paper'; import { makeStyles } from 'tss-react/mui'; import { Theme, useTheme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDiskRow.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDiskRow.tsx index 684b55134b7..8a6d0982853 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDiskRow.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDiskRow.tsx @@ -1,7 +1,7 @@ import { Disk } from '@linode/api-v4/lib/linodes'; import * as React from 'react'; import BarPercent from 'src/components/BarPercent'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDisks.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDisks.tsx index 63994db3fcf..48652628625 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDisks.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDisks.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import AddNewLink from 'src/components/AddNewLink'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import OrderBy from 'src/components/OrderBy'; import Paginate from 'src/components/Paginate'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeVolumes.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeVolumes.tsx index 9770681258b..a7bfee7dda6 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeVolumes.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeVolumes.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import AddNewLink from 'src/components/AddNewLink'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Typography from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { connect } from 'react-redux'; diff --git a/packages/manager/src/features/Linodes/LinodesLanding/LinodeRow/LinodeRow.tsx b/packages/manager/src/features/Linodes/LinodesLanding/LinodeRow/LinodeRow.tsx index 5a09f83aac5..565fba68535 100644 --- a/packages/manager/src/features/Linodes/LinodesLanding/LinodeRow/LinodeRow.tsx +++ b/packages/manager/src/features/Linodes/LinodesLanding/LinodeRow/LinodeRow.tsx @@ -4,7 +4,7 @@ import classNames from 'classnames'; import * as React from 'react'; import { Link } from 'react-router-dom'; import Flag from 'src/assets/icons/flag.svg'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Tooltip from 'src/components/core/Tooltip'; import Typography from 'src/components/core/Typography'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; diff --git a/packages/manager/src/features/Linodes/LinodesLanding/SortableTableHead.tsx b/packages/manager/src/features/Linodes/LinodesLanding/SortableTableHead.tsx index 4474cb772e1..e2c8ee7a0b4 100644 --- a/packages/manager/src/features/Linodes/LinodesLanding/SortableTableHead.tsx +++ b/packages/manager/src/features/Linodes/LinodesLanding/SortableTableHead.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import GridView from 'src/assets/icons/grid-view.svg'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableHead } from 'src/components/TableHead'; diff --git a/packages/manager/src/features/Managed/Contacts/Contacts.tsx b/packages/manager/src/features/Managed/Contacts/Contacts.tsx index 07b32708a81..a99946a246f 100644 --- a/packages/manager/src/features/Managed/Contacts/Contacts.tsx +++ b/packages/manager/src/features/Managed/Contacts/Contacts.tsx @@ -2,7 +2,7 @@ import { ManagedContact } from '@linode/api-v4/lib/managed'; import { useSnackbar } from 'notistack'; import * as React from 'react'; import AddNewLink from 'src/components/AddNewLink'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; diff --git a/packages/manager/src/features/Managed/Contacts/ContactsRow.tsx b/packages/manager/src/features/Managed/Contacts/ContactsRow.tsx index f3a6603baa7..ae3c803cc88 100644 --- a/packages/manager/src/features/Managed/Contacts/ContactsRow.tsx +++ b/packages/manager/src/features/Managed/Contacts/ContactsRow.tsx @@ -1,6 +1,6 @@ import { ManagedContact } from '@linode/api-v4/lib/managed'; import * as React from 'react'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; import ActionMenu from './ContactsActionMenu'; diff --git a/packages/manager/src/features/Managed/SSHAccess/SSHAccessRow.tsx b/packages/manager/src/features/Managed/SSHAccess/SSHAccessRow.tsx index eb49746a8c1..9054f8fdc40 100644 --- a/packages/manager/src/features/Managed/SSHAccess/SSHAccessRow.tsx +++ b/packages/manager/src/features/Managed/SSHAccess/SSHAccessRow.tsx @@ -1,6 +1,6 @@ import { ManagedLinodeSetting } from '@linode/api-v4/lib/managed'; import * as React from 'react'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; import ActionMenu from './SSHAccessActionMenu'; diff --git a/packages/manager/src/features/Managed/SSHAccess/SSHAccessTable.tsx b/packages/manager/src/features/Managed/SSHAccess/SSHAccessTable.tsx index 5d829b754eb..a277a427807 100644 --- a/packages/manager/src/features/Managed/SSHAccess/SSHAccessTable.tsx +++ b/packages/manager/src/features/Managed/SSHAccess/SSHAccessTable.tsx @@ -1,7 +1,7 @@ import { ManagedLinodeSetting } from '@linode/api-v4/lib/managed'; import produce from 'immer'; import * as React from 'react'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancerActionMenu.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancerActionMenu.tsx index 78fb489a8fe..ecbb82cff27 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancerActionMenu.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancerActionMenu.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionMenu, { Action } from 'src/components/ActionMenu'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import useMediaQuery from '@mui/material/useMediaQuery'; import InlineMenuAction from 'src/components/InlineMenuAction'; import { useHistory } from 'react-router-dom'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancerTableRow.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancerTableRow.tsx index 74a048c2de0..70957d38ece 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancerTableRow.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancerTableRow.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { NodeBalancer } from '@linode/api-v4/lib/nodebalancers'; import { Link } from 'react-router-dom'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; import IPAddress from 'src/features/Linodes/LinodesLanding/IPAddress'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancersLanding.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancersLanding.tsx index 11a4c3091af..9ac298bb57d 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancersLanding.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancersLanding.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { useHistory } from 'react-router-dom'; import { CircleProgress } from 'src/components/CircleProgress'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; import { TableRow } from 'src/components/TableRow'; diff --git a/packages/manager/src/features/NotificationCenter/NotificationSection.tsx b/packages/manager/src/features/NotificationCenter/NotificationSection.tsx index d1089f68fde..d06bfd92454 100644 --- a/packages/manager/src/features/NotificationCenter/NotificationSection.tsx +++ b/packages/manager/src/features/NotificationCenter/NotificationSection.tsx @@ -8,7 +8,7 @@ import { Accordion } from 'src/components/Accordion'; import { StyledLinkButton } from 'src/components/Button/StyledLinkButton'; import { CircleProgress } from 'src/components/CircleProgress'; import Box from 'src/components/core/Box'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Typography from 'src/components/core/Typography'; import { menuLinkStyle } from 'src/features/TopMenu/UserMenu/UserMenu'; import { makeStyles } from 'tss-react/mui'; diff --git a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyMenu.tsx b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyMenu.tsx index fcca794a9a6..88b6e0c913a 100644 --- a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyMenu.tsx +++ b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyMenu.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionMenu from 'src/components/ActionMenu'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import InlineAction from 'src/components/InlineMenuAction'; import { OpenAccessDrawer } from './types'; import { ObjectStorageKey } from '@linode/api-v4/lib/object-storage'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx index f08bd056a23..926f04804e0 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx @@ -1,8 +1,8 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import Box from 'src/components/core/Box'; +import { Hidden } from 'src/components/Hidden'; import { Button } from 'src/components/Button/Button'; -import Hidden from 'src/components/core/Hidden'; import ObjectTableContent from './ObjectTableContent'; import produce from 'immer'; import { BucketBreadcrumb } from './BucketBreadcrumb'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/FolderTableRow.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/FolderTableRow.tsx index 76a11ca4ba9..b0d80114b9a 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/FolderTableRow.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/FolderTableRow.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Grid from '@mui/material/Unstable_Grid2'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { EntityIcon } from 'src/components/EntityIcon/EntityIcon'; import { FolderActionMenu } from './FolderActionMenu'; import { Link } from 'react-router-dom'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectTableRow.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectTableRow.tsx index 59b51ed02bb..58c2004f89b 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectTableRow.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectTableRow.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import Box from 'src/components/core/Box'; import Grid from '@mui/material/Unstable_Grid2'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import ObjectActionMenu from './ObjectActionMenu'; import Typography from 'src/components/core/Typography'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; diff --git a/packages/manager/src/features/ObjectStorage/BucketLanding/BucketActionMenu.tsx b/packages/manager/src/features/ObjectStorage/BucketLanding/BucketActionMenu.tsx index 14bf9a2d9a5..62ca946a587 100644 --- a/packages/manager/src/features/ObjectStorage/BucketLanding/BucketActionMenu.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketLanding/BucketActionMenu.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionMenu from 'src/components/ActionMenu/'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import InlineMenuAction from 'src/components/InlineMenuAction'; import { styled } from '@mui/material/styles'; import type { Action } from 'src/components/ActionMenu/ActionMenu'; diff --git a/packages/manager/src/features/ObjectStorage/BucketLanding/BucketTable.tsx b/packages/manager/src/features/ObjectStorage/BucketLanding/BucketTable.tsx index b30e482af59..7b71bf05d79 100644 --- a/packages/manager/src/features/ObjectStorage/BucketLanding/BucketTable.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketLanding/BucketTable.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Paginate from 'src/components/Paginate'; import { BucketTableRow } from './BucketTableRow'; import { ObjectStorageBucket } from '@linode/api-v4/lib/object-storage'; diff --git a/packages/manager/src/features/ObjectStorage/BucketLanding/BucketTableRow.tsx b/packages/manager/src/features/ObjectStorage/BucketLanding/BucketTableRow.tsx index 2513579792d..6f70e2b8e40 100644 --- a/packages/manager/src/features/ObjectStorage/BucketLanding/BucketTableRow.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketLanding/BucketTableRow.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Grid from '@mui/material/Unstable_Grid2'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Typography from 'src/components/core/Typography'; import { BucketActionMenu } from './BucketActionMenu'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; diff --git a/packages/manager/src/features/Profile/OAuthClients/OAuthClients.tsx b/packages/manager/src/features/Profile/OAuthClients/OAuthClients.tsx index 31e3315be0c..0393de644d8 100644 --- a/packages/manager/src/features/Profile/OAuthClients/OAuthClients.tsx +++ b/packages/manager/src/features/Profile/OAuthClients/OAuthClients.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import Box from 'src/components/core/Box'; import AddNewLink from 'src/components/AddNewLink'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; import { PaginationFooter } from 'src/components/PaginationFooter/PaginationFooter'; diff --git a/packages/manager/src/features/Profile/SSHKeys/SSHKeys.tsx b/packages/manager/src/features/Profile/SSHKeys/SSHKeys.tsx index c29d0fdeaf1..fd4f9bf9847 100644 --- a/packages/manager/src/features/Profile/SSHKeys/SSHKeys.tsx +++ b/packages/manager/src/features/Profile/SSHKeys/SSHKeys.tsx @@ -3,7 +3,7 @@ import AddNewLink from 'src/components/AddNewLink'; import DeleteSSHKeyDialog from 'src/features/Profile/SSHKeys/DeleteSSHKeyDialog'; import EditSSHKeyDrawer from './EditSSHKeyDrawer'; import Grid from '@mui/material/Unstable_Grid2'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import SSHKeyActionMenu from 'src/features/Profile/SSHKeys/SSHKeyActionMenu'; import { CreateSSHKeyDrawer } from './CreateSSHKeyDrawer'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Search/ResultGroup.tsx b/packages/manager/src/features/Search/ResultGroup.tsx index 1f7d2fb19a6..25f5795a55f 100644 --- a/packages/manager/src/features/Search/ResultGroup.tsx +++ b/packages/manager/src/features/Search/ResultGroup.tsx @@ -1,8 +1,8 @@ import { isEmpty, splitAt } from 'ramda'; import * as React from 'react'; import { compose, withStateHandlers } from 'recompose'; +import { Hidden } from 'src/components/Hidden'; import { Button } from 'src/components/Button/Button'; -import Hidden from 'src/components/core/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; diff --git a/packages/manager/src/features/Search/ResultRow.tsx b/packages/manager/src/features/Search/ResultRow.tsx index 059fe4d70c5..1b87ea689a8 100644 --- a/packages/manager/src/features/Search/ResultRow.tsx +++ b/packages/manager/src/features/Search/ResultRow.tsx @@ -7,7 +7,7 @@ import { Item } from 'src/components/EnhancedSelect/Select'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; import { Tags } from 'src/components/Tags/Tags'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Typography from 'src/components/core/Typography'; import RegionIndicator from 'src/features/Linodes/LinodesLanding/RegionIndicator'; diff --git a/packages/manager/src/features/StackScripts/Partials/StackScriptTableHead.tsx b/packages/manager/src/features/StackScripts/Partials/StackScriptTableHead.tsx index aee0831778e..933e540350a 100644 --- a/packages/manager/src/features/StackScripts/Partials/StackScriptTableHead.tsx +++ b/packages/manager/src/features/StackScripts/Partials/StackScriptTableHead.tsx @@ -1,6 +1,6 @@ import classNames from 'classnames'; import * as React from 'react'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableHead } from 'src/components/TableHead'; diff --git a/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptActionMenu.tsx b/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptActionMenu.tsx index 382178d954f..78fc8de7266 100644 --- a/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptActionMenu.tsx +++ b/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptActionMenu.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { RouteComponentProps, withRouter } from 'react-router-dom'; import { compose } from 'recompose'; import ActionMenu, { Action } from 'src/components/ActionMenu'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { useTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; diff --git a/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptRow.tsx b/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptRow.tsx index dc1eb99759b..e427ebfcff3 100644 --- a/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptRow.tsx +++ b/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptRow.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { Link } from 'react-router-dom'; import { compose as recompose } from 'recompose'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { withStyles, WithStyles } from '@mui/styles'; import Typography from 'src/components/core/Typography'; import RenderGuard, { RenderGuardProps } from 'src/components/RenderGuard'; diff --git a/packages/manager/src/features/Support/SupportTickets/TicketList.tsx b/packages/manager/src/features/Support/SupportTickets/TicketList.tsx index 16531abf023..fa5d6f7ff65 100644 --- a/packages/manager/src/features/Support/SupportTickets/TicketList.tsx +++ b/packages/manager/src/features/Support/SupportTickets/TicketList.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { SupportTicket } from '@linode/api-v4/lib/support'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; import { PaginationFooter } from 'src/components/PaginationFooter/PaginationFooter'; diff --git a/packages/manager/src/features/Support/SupportTickets/TicketRow.tsx b/packages/manager/src/features/Support/SupportTickets/TicketRow.tsx index 9ac7a613fe6..16f2fdf1353 100644 --- a/packages/manager/src/features/Support/SupportTickets/TicketRow.tsx +++ b/packages/manager/src/features/Support/SupportTickets/TicketRow.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import Typography from 'src/components/core/Typography'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; import { TableCell } from 'src/components/TableCell'; diff --git a/packages/manager/src/features/TopMenu/TopMenu.tsx b/packages/manager/src/features/TopMenu/TopMenu.tsx index 3d73a373757..460b375683a 100644 --- a/packages/manager/src/features/TopMenu/TopMenu.tsx +++ b/packages/manager/src/features/TopMenu/TopMenu.tsx @@ -1,7 +1,7 @@ import MenuIcon from '@mui/icons-material/Menu'; import * as React from 'react'; +import { Hidden } from 'src/components/Hidden'; import { AppBar } from 'src/components/AppBar'; -import Hidden from 'src/components/core/Hidden'; import { IconButton } from 'src/components/IconButton'; import { makeStyles } from '@mui/styles'; import { Theme, useTheme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/TopMenu/UserMenu/UserMenu.tsx b/packages/manager/src/features/TopMenu/UserMenu/UserMenu.tsx index 14210701e94..e48220fec74 100644 --- a/packages/manager/src/features/TopMenu/UserMenu/UserMenu.tsx +++ b/packages/manager/src/features/TopMenu/UserMenu/UserMenu.tsx @@ -10,7 +10,7 @@ import { positionRight } from '@reach/popover'; import * as React from 'react'; import { Link } from 'react-router-dom'; import Grid from '@mui/material/Unstable_Grid2'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Tooltip from 'src/components/core/Tooltip'; diff --git a/packages/manager/src/features/Volumes/VolumeTableRow.tsx b/packages/manager/src/features/Volumes/VolumeTableRow.tsx index b3d2b6d2bc7..623787ab858 100644 --- a/packages/manager/src/features/Volumes/VolumeTableRow.tsx +++ b/packages/manager/src/features/Volumes/VolumeTableRow.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { Event } from '@linode/api-v4/lib/account'; import { Status } from 'src/components/StatusIcon/StatusIcon'; import { Link } from 'react-router-dom'; -import Hidden from 'src/components/core/Hidden'; +import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import Typography from 'src/components/core/Typography'; import { StatusIcon } from 'src/components/StatusIcon/StatusIcon'; From 8293423c13727730f4114a17a06370558cb9a4c4 Mon Sep 17 00:00:00 2001 From: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com> Date: Wed, 28 Jun 2023 15:19:14 -0400 Subject: [PATCH 47/88] refactor: [M3-6794] - MUI v5 Migration - `Components > Box` (#9322) * move files, update exports, create Storybook story * Added changeset: MUI v5 Migration - Components > Box * fix storybook build --------- Co-authored-by: Banks Nussman --- .../pr-9322-tech-stories-1687882091838.md | 5 +++++ packages/manager/src/MainContent.tsx | 2 +- .../components/ActionsPanel/ActionsPanel.tsx | 2 +- .../manager/src/components/Box.stories.tsx | 20 +++++++++++++++++++ packages/manager/src/components/Box.tsx | 12 +++++++++++ .../DismissibleBanner/DismissibleBanner.tsx | 2 +- .../EntityHeader/EntityHeader.stories.tsx | 2 +- .../LineGraph/AccessibleGraphData.tsx | 2 +- .../manager/src/components/LinkButton.tsx | 2 +- .../src/components/MaintenanceScreen.tsx | 2 +- .../PaginationFooter/PaginationFooter.tsx | 2 +- .../SelectRegionPanel/SelectRegionPanel.tsx | 2 +- .../src/components/SideMenu.stories.mdx | 2 +- .../SingleTextFieldForm.tsx | 2 +- packages/manager/src/components/core/Box.ts | 6 ------ .../Agreements/EUAgreementCheckbox.tsx | 2 +- .../Account/Maintenance/MaintenanceTable.tsx | 2 +- .../BillingSummary/BillingSummary.tsx | 2 +- .../BillingSummary/PromoDisplay.tsx | 2 +- .../DatabaseSummaryClusterConfiguration.tsx | 2 +- .../DatabaseSummaryConnectionDetails.tsx | 2 +- .../GlobalNotifications/ComplianceBanner.tsx | 2 +- .../Images/ImagesCreate/CreateImageTab.tsx | 2 +- .../Kubernetes/KubeCheckoutBar/HACheckbox.tsx | 2 +- .../KubeCheckoutBar/NodePoolSummary.tsx | 2 +- .../NodePoolsDisplay/AddNodePoolDrawer.tsx | 2 +- .../features/Linodes/LinodeEntityDetail.tsx | 2 +- .../Linodes/LinodesCreate/LinodeCreate.tsx | 2 +- .../TabbedContent/FromAppsContent.tsx | 2 +- .../UserDataAccordion/UserDataAccordion.tsx | 2 +- .../UserDataAccordionHeading.tsx | 2 +- .../LinodeConfigs/LinodeConfigActionMenu.tsx | 2 +- .../LinodeConfigs/LinodeConfigDialog.tsx | 2 +- .../TransferHistory.tsx | 2 +- .../LinodeRebuild/RebuildFromImage.tsx | 2 +- .../LinodeResize/LinodeResize.tsx | 2 +- .../LinodeStorage/LinodeDiskActionMenu.tsx | 2 +- .../LinodesLanding/DisplayGroupedLinodes.tsx | 2 +- .../Linodes/MigrateLinode/MigrateLinode.tsx | 2 +- .../DetailTabs/Apache/Apache.tsx | 2 +- .../LongviewDetail/DetailTabs/Disks/Disks.tsx | 2 +- .../DetailTabs/MySQL/MySQLLanding.tsx | 2 +- .../LongviewDetail/DetailTabs/NGINX/NGINX.tsx | 2 +- .../DetailTabs/Network/Network.tsx | 2 +- .../DetailTabs/Processes/ProcessesLanding.tsx | 2 +- .../DetailTabs/TopProcesses.tsx | 2 +- .../Longview/LongviewLanding/LongviewList.tsx | 2 +- .../Managed/SSHAccess/LinodePubKey.tsx | 2 +- .../NodeBalancers/NodeBalancerCreate.tsx | 2 +- .../NotificationData/RenderEvent.styles.ts | 2 +- .../NotificationData/RenderEvent.tsx | 2 +- .../NotificationData/RenderProgressEvent.tsx | 2 +- .../NotificationSection.tsx | 2 +- .../BucketDetail/BucketDetail.tsx | 2 +- .../BucketDetail/ObjectTableRow.tsx | 2 +- .../features/OneClickApps/AppDetailDrawer.tsx | 2 +- .../Profile/APITokens/APITokenTable.tsx | 2 +- .../PhoneVerification.styles.ts | 2 +- .../PhoneVerification/PhoneVerification.tsx | 2 +- .../AuthenticationSettings/ResetPassword.tsx | 2 +- .../AuthenticationSettings/SMSMessaging.tsx | 2 +- .../QuestionAndAnswerPair.tsx | 2 +- .../SecurityQuestions/SecurityQuestions.tsx | 2 +- .../AuthenticationSettings/TPAProviders.tsx | 2 +- .../TwoFactor/ConfirmToken.tsx | 2 +- .../DisplaySettings/DisplaySettings.tsx | 2 +- .../Profile/DisplaySettings/TimezoneForm.tsx | 2 +- .../Profile/LishSettings/LishSettings.tsx | 2 +- .../Profile/OAuthClients/OAuthClients.tsx | 2 +- .../SecretTokenDialog/SecretTokenDialog.tsx | 2 +- .../UserDefinedFieldsPanel.tsx | 2 +- .../Volumes/VolumeCreate/CreateVolumeForm.tsx | 2 +- .../Volumes/VolumeDrawer/PricePanel.tsx | 2 +- 73 files changed, 106 insertions(+), 75 deletions(-) create mode 100644 packages/manager/.changeset/pr-9322-tech-stories-1687882091838.md create mode 100644 packages/manager/src/components/Box.stories.tsx create mode 100644 packages/manager/src/components/Box.tsx delete mode 100644 packages/manager/src/components/core/Box.ts diff --git a/packages/manager/.changeset/pr-9322-tech-stories-1687882091838.md b/packages/manager/.changeset/pr-9322-tech-stories-1687882091838.md new file mode 100644 index 00000000000..8f69c5cee5f --- /dev/null +++ b/packages/manager/.changeset/pr-9322-tech-stories-1687882091838.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Tech Stories +--- + +MUI v5 Migration - Components > Box ([#9322](https://github.com/linode/manager/pull/9322)) diff --git a/packages/manager/src/MainContent.tsx b/packages/manager/src/MainContent.tsx index b5ca4f6da6a..55524767eda 100644 --- a/packages/manager/src/MainContent.tsx +++ b/packages/manager/src/MainContent.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import { Redirect, Route, Switch } from 'react-router-dom'; import { compose } from 'recompose'; import Logo from 'src/assets/logo/akamai-logo.svg'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/components/ActionsPanel/ActionsPanel.tsx b/packages/manager/src/components/ActionsPanel/ActionsPanel.tsx index 76a5d63cc98..f4c0eb87ac6 100644 --- a/packages/manager/src/components/ActionsPanel/ActionsPanel.tsx +++ b/packages/manager/src/components/ActionsPanel/ActionsPanel.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import RenderGuard from 'src/components/RenderGuard'; import { makeStyles } from 'tss-react/mui'; import { Theme, styled } from '@mui/material/styles'; -import Box, { BoxProps } from '../core/Box'; +import { Box, BoxProps } from '../Box'; const useStyles = makeStyles()((theme: Theme) => ({ root: { diff --git a/packages/manager/src/components/Box.stories.tsx b/packages/manager/src/components/Box.stories.tsx new file mode 100644 index 00000000000..eeb4f1f554c --- /dev/null +++ b/packages/manager/src/components/Box.stories.tsx @@ -0,0 +1,20 @@ +import React from 'react'; +import { Meta, StoryObj } from '@storybook/react'; +import { Box } from './Box'; + +const meta: Meta = { + title: 'Components/Box', + component: Box, +}; + +type Story = StoryObj; + +export const Default: Story = { + render: (args) => , + args: { + children: 'This is text within a Box', + border: 1, + }, +}; + +export default meta; diff --git a/packages/manager/src/components/Box.tsx b/packages/manager/src/components/Box.tsx new file mode 100644 index 00000000000..2e069df2852 --- /dev/null +++ b/packages/manager/src/components/Box.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import { default as _Box, BoxProps } from '@mui/material/Box'; + +/** + * The Box component serves as a wrapper for creating simple layouts or styles. + * It uses a `
` unless unless you change it with the `component` prop + */ +export const Box = (props: BoxProps) => { + return <_Box {...props} />; +}; + +export type { BoxProps }; diff --git a/packages/manager/src/components/DismissibleBanner/DismissibleBanner.tsx b/packages/manager/src/components/DismissibleBanner/DismissibleBanner.tsx index 9297ddd4967..47b55f55cc3 100644 --- a/packages/manager/src/components/DismissibleBanner/DismissibleBanner.tsx +++ b/packages/manager/src/components/DismissibleBanner/DismissibleBanner.tsx @@ -5,7 +5,7 @@ import { SxProps } from '@mui/system'; import * as React from 'react'; import type { NoticeProps } from 'src/components/Notice/Notice'; import { Notice } from 'src/components/Notice/Notice'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import useDismissibleNotifications, { DismissibleNotificationOptions, } from 'src/hooks/useDismissibleNotifications'; diff --git a/packages/manager/src/components/EntityHeader/EntityHeader.stories.tsx b/packages/manager/src/components/EntityHeader/EntityHeader.stories.tsx index aefccac4956..76eca4c3cef 100644 --- a/packages/manager/src/components/EntityHeader/EntityHeader.stories.tsx +++ b/packages/manager/src/components/EntityHeader/EntityHeader.stories.tsx @@ -4,7 +4,7 @@ import { action } from '@storybook/addon-actions'; import { EntityHeader } from 'src/components/EntityHeader/EntityHeader'; import { Button } from '../Button/Button'; import Link from '../Link'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Hidden } from 'src/components/Hidden'; import LinodeActionMenu from 'src/features/Linodes/LinodesLanding/LinodeActionMenu'; diff --git a/packages/manager/src/components/LineGraph/AccessibleGraphData.tsx b/packages/manager/src/components/LineGraph/AccessibleGraphData.tsx index aab5957d6c3..4dffa367aba 100644 --- a/packages/manager/src/components/LineGraph/AccessibleGraphData.tsx +++ b/packages/manager/src/components/LineGraph/AccessibleGraphData.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import type { ChartData, ChartPoint } from 'chart.js'; import { DateTime } from 'luxon'; import { visuallyHidden } from '@mui/utils'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; export interface GraphTabledDataProps { ariaLabel?: string; diff --git a/packages/manager/src/components/LinkButton.tsx b/packages/manager/src/components/LinkButton.tsx index 2cb0f42b64a..63feb708fc9 100644 --- a/packages/manager/src/components/LinkButton.tsx +++ b/packages/manager/src/components/LinkButton.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import classNames from 'classnames'; -import Box from './core/Box'; +import { Box } from './Box'; import CircularProgress from './core/CircularProgress'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/components/MaintenanceScreen.tsx b/packages/manager/src/components/MaintenanceScreen.tsx index 35832e4bd85..92fd3c64b25 100644 --- a/packages/manager/src/components/MaintenanceScreen.tsx +++ b/packages/manager/src/components/MaintenanceScreen.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import Link from 'src/components/Link'; import Typography from 'src/components/core/Typography'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Logo from 'src/assets/logo/akamai-logo.svg'; import BuildIcon from '@mui/icons-material/Build'; import Stack from '@mui/material/Stack'; diff --git a/packages/manager/src/components/PaginationFooter/PaginationFooter.tsx b/packages/manager/src/components/PaginationFooter/PaginationFooter.tsx index 448fc01514e..fb0cc89266f 100644 --- a/packages/manager/src/components/PaginationFooter/PaginationFooter.tsx +++ b/packages/manager/src/components/PaginationFooter/PaginationFooter.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from '../core/Box'; +import { Box } from '../Box'; import Select from '../EnhancedSelect/Select'; import { PaginationControls } from '../PaginationControls/PaginationControls'; import { styled, useTheme } from '@mui/material/styles'; diff --git a/packages/manager/src/components/SelectRegionPanel/SelectRegionPanel.tsx b/packages/manager/src/components/SelectRegionPanel/SelectRegionPanel.tsx index cf93147343d..3218445176a 100644 --- a/packages/manager/src/components/SelectRegionPanel/SelectRegionPanel.tsx +++ b/packages/manager/src/components/SelectRegionPanel/SelectRegionPanel.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; import Typography from 'src/components/core/Typography'; import { CROSS_DATA_CENTER_CLONE_WARNING } from 'src/features/Linodes/LinodesCreate/utilities'; diff --git a/packages/manager/src/components/SideMenu.stories.mdx b/packages/manager/src/components/SideMenu.stories.mdx index e8e2675411f..91a0eb2e7d7 100644 --- a/packages/manager/src/components/SideMenu.stories.mdx +++ b/packages/manager/src/components/SideMenu.stories.mdx @@ -1,6 +1,6 @@ import { ArgsTable, Canvas, Meta, Story } from '@storybook/addon-docs'; import { useState } from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import SideMenu from './SideMenu'; diff --git a/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx b/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx index 38d6fd104c0..1eca37f887c 100644 --- a/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx +++ b/packages/manager/src/components/SingleTextFieldForm/SingleTextFieldForm.tsx @@ -1,8 +1,8 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; -import Box from 'src/components/core/Box'; import { Notice } from 'src/components/Notice/Notice'; import { TextField, TextFieldProps } from 'src/components/TextField'; import { getAPIErrorOrDefault, getErrorMap } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/components/core/Box.ts b/packages/manager/src/components/core/Box.ts deleted file mode 100644 index f0fefd87302..00000000000 --- a/packages/manager/src/components/core/Box.ts +++ /dev/null @@ -1,6 +0,0 @@ -import Box, { BoxProps as _BoxProps } from '@mui/material/Box'; - -/* tslint:disable-next-line:no-empty-interface */ -export interface BoxProps extends _BoxProps {} - -export default Box; diff --git a/packages/manager/src/features/Account/Agreements/EUAgreementCheckbox.tsx b/packages/manager/src/features/Account/Agreements/EUAgreementCheckbox.tsx index 729ca6f92ae..cfd7a5e06ec 100644 --- a/packages/manager/src/features/Account/Agreements/EUAgreementCheckbox.tsx +++ b/packages/manager/src/features/Account/Agreements/EUAgreementCheckbox.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import CheckBox from 'src/components/CheckBox'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Typography from 'src/components/core/Typography'; import Link from 'src/components/Link'; diff --git a/packages/manager/src/features/Account/Maintenance/MaintenanceTable.tsx b/packages/manager/src/features/Account/Maintenance/MaintenanceTable.tsx index 3ccf6737fdc..50d017420a3 100644 --- a/packages/manager/src/features/Account/Maintenance/MaintenanceTable.tsx +++ b/packages/manager/src/features/Account/Maintenance/MaintenanceTable.tsx @@ -1,6 +1,6 @@ /* eslint-disable jsx-a11y/anchor-is-valid */ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Hidden } from 'src/components/Hidden'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/BillingSummary.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/BillingSummary.tsx index e20be454450..4a1281d6c53 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/BillingSummary.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/BillingSummary.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import { Currency } from 'src/components/Currency'; import Divider from 'src/components/core/Divider'; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDisplay.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDisplay.tsx index c42ddf3bab5..82a0b4ab203 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDisplay.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDisplay.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Currency } from 'src/components/Currency'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryClusterConfiguration.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryClusterConfiguration.tsx index a00faeda1d5..93e4525f1c9 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryClusterConfiguration.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryClusterConfiguration.tsx @@ -1,7 +1,7 @@ import { Database, DatabaseInstance } from '@linode/api-v4/lib/databases/types'; import { Theme } from '@mui/material/styles'; import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Typography from 'src/components/core/Typography'; import { StatusIcon } from 'src/components/StatusIcon/StatusIcon'; import { useDatabaseTypesQuery } from 'src/queries/databases'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx index fdd26f21578..0359b429a31 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx @@ -7,7 +7,7 @@ import DownloadIcon from 'src/assets/icons/lke-download.svg'; import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Typography from 'src/components/core/Typography'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { DB_ROOT_USERNAME } from 'src/constants'; diff --git a/packages/manager/src/features/GlobalNotifications/ComplianceBanner.tsx b/packages/manager/src/features/GlobalNotifications/ComplianceBanner.tsx index fdae576fe7c..0f3af1b26c3 100644 --- a/packages/manager/src/features/GlobalNotifications/ComplianceBanner.tsx +++ b/packages/manager/src/features/GlobalNotifications/ComplianceBanner.tsx @@ -2,7 +2,7 @@ import { styled } from '@mui/system'; import * as React from 'react'; import { Button } from 'src/components/Button/Button'; import DismissibleBanner from 'src/components/DismissibleBanner'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Typography from 'src/components/core/Typography'; import { complianceUpdateContext } from 'src/context/complianceUpdateContext'; import { useNotificationsQuery } from 'src/queries/accountNotifications'; diff --git a/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx b/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx index 350b2758f34..899548f8300 100644 --- a/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx +++ b/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx @@ -8,7 +8,7 @@ import * as React from 'react'; import { useHistory } from 'react-router-dom'; import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; import Typography from 'src/components/core/Typography'; import Link from 'src/components/Link'; diff --git a/packages/manager/src/features/Kubernetes/KubeCheckoutBar/HACheckbox.tsx b/packages/manager/src/features/Kubernetes/KubeCheckoutBar/HACheckbox.tsx index 4213a3602d6..dca5a9a20f7 100644 --- a/packages/manager/src/features/Kubernetes/KubeCheckoutBar/HACheckbox.tsx +++ b/packages/manager/src/features/Kubernetes/KubeCheckoutBar/HACheckbox.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import CheckBox from 'src/components/CheckBox'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Kubernetes/KubeCheckoutBar/NodePoolSummary.tsx b/packages/manager/src/features/Kubernetes/KubeCheckoutBar/NodePoolSummary.tsx index 46fc3c29312..fd87528668e 100644 --- a/packages/manager/src/features/Kubernetes/KubeCheckoutBar/NodePoolSummary.tsx +++ b/packages/manager/src/features/Kubernetes/KubeCheckoutBar/NodePoolSummary.tsx @@ -1,6 +1,6 @@ import Close from '@mui/icons-material/Close'; import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Divider from 'src/components/core/Divider'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AddNodePoolDrawer.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AddNodePoolDrawer.tsx index fa48cc492ae..5aa3773901f 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AddNodePoolDrawer.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AddNodePoolDrawer.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; -import Box from 'src/components/core/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx b/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx index 3aa73cb3445..ecb4192bc15 100644 --- a/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx +++ b/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx @@ -16,7 +16,7 @@ import { EntityHeader } from 'src/components/EntityHeader/EntityHeader'; import { TableBody } from 'src/components/TableBody'; import { TableRow } from 'src/components/TableRow'; import { TagCell } from 'src/components/TagCell/TagCell'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Chip } from 'src/components/core/Chip'; import { Hidden } from 'src/components/Hidden'; import Typography, { TypographyProps } from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/LinodeCreate.tsx b/packages/manager/src/features/Linodes/LinodesCreate/LinodeCreate.tsx index 00997d22f2d..09f5bcfde23 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/LinodeCreate.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/LinodeCreate.tsx @@ -12,7 +12,7 @@ import AccessPanel from 'src/components/AccessPanel/AccessPanel'; import { Button } from 'src/components/Button/Button'; import { CheckoutSummary } from 'src/components/CheckoutSummary/CheckoutSummary'; import { CircleProgress } from 'src/components/CircleProgress'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; import TabPanels from 'src/components/core/ReachTabPanels'; import Tabs from 'src/components/core/ReachTabs'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/FromAppsContent.tsx b/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/FromAppsContent.tsx index 4916b82bba5..53c3f0ffce1 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/FromAppsContent.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/FromAppsContent.tsx @@ -23,7 +23,7 @@ import { filterUDFErrors } from './formUtilities'; import { APP_ROOT } from 'src/constants'; import { DebouncedSearchTextField } from 'src/components/DebouncedSearchTextField'; import Select, { Item } from 'src/components/EnhancedSelect'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; import Typography from 'src/components/core/Typography'; import { diff --git a/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx b/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx index 0b0c0e68f39..2b486657373 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Accordion } from 'src/components/Accordion'; import Link from 'src/components/Link'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordionHeading.tsx b/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordionHeading.tsx index 17fcad97a49..55c6d6afc73 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordionHeading.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordionHeading.tsx @@ -3,7 +3,7 @@ import { BetaChip } from 'src/components/BetaChip/BetaChip'; import Link from 'src/components/Link'; import { Notice } from 'src/components/Notice/Notice'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { CreateTypes } from 'src/store/linodeCreate/linodeCreate.actions'; interface Props { diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigActionMenu.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigActionMenu.tsx index 7dc60826664..f3aab467645 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigActionMenu.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigActionMenu.tsx @@ -7,7 +7,7 @@ import { Theme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; import InlineMenuAction from 'src/components/InlineMenuAction'; import { useHistory } from 'react-router-dom'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; interface Props { onEdit: () => void; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx index 5e15f3fd6e7..dc9cf833515 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx @@ -10,7 +10,7 @@ import * as React from 'react'; import { StyledActionPanel } from 'src/components/ActionsPanel/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Divider from 'src/components/core/Divider'; import FormControl from 'src/components/core/FormControl'; import FormControlLabel from 'src/components/core/FormControlLabel'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/TransferHistory.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/TransferHistory.tsx index 1890d483ade..a1a5af07178 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/TransferHistory.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/TransferHistory.tsx @@ -3,7 +3,7 @@ import ArrowBackIosIcon from '@mui/icons-material/ArrowBackIos'; import { DateTime, Interval } from 'luxon'; import * as React from 'react'; import { CircleProgress } from 'src/components/CircleProgress'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/RebuildFromImage.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/RebuildFromImage.tsx index 63bd90a0843..c297d455f75 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/RebuildFromImage.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/RebuildFromImage.tsx @@ -14,7 +14,7 @@ import AccessPanel from 'src/components/AccessPanel/AccessPanel'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Divider from 'src/components/core/Divider'; import Grid from '@mui/material/Unstable_Grid2'; import ImageSelect from 'src/components/ImageSelect'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/LinodeResize.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/LinodeResize.tsx index da890096495..582d0f54f5b 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/LinodeResize.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/LinodeResize.tsx @@ -30,7 +30,7 @@ import { useRegionsQuery } from 'src/queries/regions'; import { useAllTypes } from 'src/queries/types'; import { useGrants } from 'src/queries/profile'; import { usePreferences } from 'src/queries/preferences'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; const useStyles = makeStyles((theme: Theme) => ({ resizeTitle: { diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDiskActionMenu.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDiskActionMenu.tsx index c6bd32165c6..b88e8876a2b 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDiskActionMenu.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDiskActionMenu.tsx @@ -5,7 +5,7 @@ import ActionMenu, { Action } from 'src/components/ActionMenu'; import { Theme, useTheme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; import InlineMenuAction from 'src/components/InlineMenuAction'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { sendEvent } from 'src/utilities/analytics'; interface Props { diff --git a/packages/manager/src/features/Linodes/LinodesLanding/DisplayGroupedLinodes.tsx b/packages/manager/src/features/Linodes/LinodesLanding/DisplayGroupedLinodes.tsx index be3a7fc0931..16e629f0f93 100644 --- a/packages/manager/src/features/Linodes/LinodesLanding/DisplayGroupedLinodes.tsx +++ b/packages/manager/src/features/Linodes/LinodesLanding/DisplayGroupedLinodes.tsx @@ -10,7 +10,7 @@ import Typography from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { OrderByProps } from 'src/components/OrderBy'; import Paginate from 'src/components/Paginate'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { MIN_PAGE_SIZE, PaginationFooter, diff --git a/packages/manager/src/features/Linodes/MigrateLinode/MigrateLinode.tsx b/packages/manager/src/features/Linodes/MigrateLinode/MigrateLinode.tsx index c75d73752d2..aaca1040cef 100644 --- a/packages/manager/src/features/Linodes/MigrateLinode/MigrateLinode.tsx +++ b/packages/manager/src/features/Linodes/MigrateLinode/MigrateLinode.tsx @@ -7,7 +7,7 @@ import { Button } from 'src/components/Button/Button'; import { Dialog } from 'src/components/Dialog/Dialog'; import { Notice } from 'src/components/Notice/Notice'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Typography from 'src/components/core/Typography'; import { MBpsInterDC } from 'src/constants'; import { resetEventsPolling } from 'src/eventsPolling'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Apache/Apache.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Apache/Apache.tsx index 067a31b74d0..fd40fb86c5d 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Apache/Apache.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Apache/Apache.tsx @@ -1,6 +1,6 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Disks.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Disks.tsx index 859b04bd007..1073da39b39 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Disks.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Disks.tsx @@ -1,7 +1,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import { compose } from 'recompose'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/MySQL/MySQLLanding.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/MySQL/MySQLLanding.tsx index 63791d2c848..074885ff8aa 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/MySQL/MySQLLanding.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/MySQL/MySQLLanding.tsx @@ -1,6 +1,6 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/NGINX/NGINX.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/NGINX/NGINX.tsx index a6a93623066..4d38023d514 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/NGINX/NGINX.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/NGINX/NGINX.tsx @@ -1,6 +1,6 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Network/Network.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Network/Network.tsx index afb012fd9b0..8501358595c 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Network/Network.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Network/Network.tsx @@ -1,6 +1,6 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesLanding.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesLanding.tsx index 4b02a43be58..4bfc60af4f9 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesLanding.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesLanding.tsx @@ -1,7 +1,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import { prop, sortBy } from 'ramda'; import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Grid from 'src/components/Grid'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/TopProcesses.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/TopProcesses.tsx index a6e93eb626c..f5fd7f1b092 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/TopProcesses.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/TopProcesses.tsx @@ -1,7 +1,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import * as React from 'react'; import { Link } from 'react-router-dom'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; diff --git a/packages/manager/src/features/Longview/LongviewLanding/LongviewList.tsx b/packages/manager/src/features/Longview/LongviewLanding/LongviewList.tsx index 85908d238b9..ed46217b7d1 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/LongviewList.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/LongviewList.tsx @@ -2,7 +2,7 @@ import { LongviewClient } from '@linode/api-v4/lib/longview/types'; import * as React from 'react'; import { compose } from 'recompose'; import { CircleProgress } from 'src/components/CircleProgress'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Managed/SSHAccess/LinodePubKey.tsx b/packages/manager/src/features/Managed/SSHAccess/LinodePubKey.tsx index eed43dda4cd..effade99d85 100644 --- a/packages/manager/src/features/Managed/SSHAccess/LinodePubKey.tsx +++ b/packages/manager/src/features/Managed/SSHAccess/LinodePubKey.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import SSHKeyIcon from 'src/assets/icons/ssh-key.svg'; import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx index 82cbb971c96..989e193e15e 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx @@ -3,8 +3,8 @@ import useMediaQuery from '@mui/material/useMediaQuery'; import { useTheme } from '@mui/styles'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; -import Box from 'src/components/core/Box'; import { Accordion } from 'src/components/Accordion'; import Paper from 'src/components/core/Paper'; import LandingHeader from 'src/components/LandingHeader'; diff --git a/packages/manager/src/features/NotificationCenter/NotificationData/RenderEvent.styles.ts b/packages/manager/src/features/NotificationCenter/NotificationData/RenderEvent.styles.ts index 7267b42de7b..f1faf7324e2 100644 --- a/packages/manager/src/features/NotificationCenter/NotificationData/RenderEvent.styles.ts +++ b/packages/manager/src/features/NotificationCenter/NotificationData/RenderEvent.styles.ts @@ -1,4 +1,4 @@ -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { GravatarByUsername } from 'src/components/GravatarByUsername'; import { makeStyles } from 'tss-react/mui'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/NotificationCenter/NotificationData/RenderEvent.tsx b/packages/manager/src/features/NotificationCenter/NotificationData/RenderEvent.tsx index 582f550507b..c056d8879ce 100644 --- a/packages/manager/src/features/NotificationCenter/NotificationData/RenderEvent.tsx +++ b/packages/manager/src/features/NotificationCenter/NotificationData/RenderEvent.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import classNames from 'classnames'; import Divider from 'src/components/core/Divider'; import { HighlightedMarkdown } from 'src/components/HighlightedMarkdown/HighlightedMarkdown'; diff --git a/packages/manager/src/features/NotificationCenter/NotificationData/RenderProgressEvent.tsx b/packages/manager/src/features/NotificationCenter/NotificationData/RenderProgressEvent.tsx index dfccfeb5868..88a9f2d9791 100644 --- a/packages/manager/src/features/NotificationCenter/NotificationData/RenderProgressEvent.tsx +++ b/packages/manager/src/features/NotificationCenter/NotificationData/RenderProgressEvent.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import BarPercent from 'src/components/BarPercent'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Divider from 'src/components/core/Divider'; import Typography from 'src/components/core/Typography'; import { Duration } from 'luxon'; diff --git a/packages/manager/src/features/NotificationCenter/NotificationSection.tsx b/packages/manager/src/features/NotificationCenter/NotificationSection.tsx index d06bfd92454..9d70e597c5c 100644 --- a/packages/manager/src/features/NotificationCenter/NotificationSection.tsx +++ b/packages/manager/src/features/NotificationCenter/NotificationSection.tsx @@ -7,7 +7,7 @@ import { Link } from 'react-router-dom'; import { Accordion } from 'src/components/Accordion'; import { StyledLinkButton } from 'src/components/Button/StyledLinkButton'; import { CircleProgress } from 'src/components/CircleProgress'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Hidden } from 'src/components/Hidden'; import Typography from 'src/components/core/Typography'; import { menuLinkStyle } from 'src/features/TopMenu/UserMenu/UserMenu'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx index 926f04804e0..8941baf08c1 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Hidden } from 'src/components/Hidden'; import { Button } from 'src/components/Button/Button'; import ObjectTableContent from './ObjectTableContent'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectTableRow.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectTableRow.tsx index 58c2004f89b..df54052b619 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectTableRow.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectTableRow.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Grid from '@mui/material/Unstable_Grid2'; import { Hidden } from 'src/components/Hidden'; import ObjectActionMenu from './ObjectActionMenu'; diff --git a/packages/manager/src/features/OneClickApps/AppDetailDrawer.tsx b/packages/manager/src/features/OneClickApps/AppDetailDrawer.tsx index 04c0323e1fd..d344429834a 100644 --- a/packages/manager/src/features/OneClickApps/AppDetailDrawer.tsx +++ b/packages/manager/src/features/OneClickApps/AppDetailDrawer.tsx @@ -4,8 +4,8 @@ import { Theme } from '@mui/material/styles'; import { sanitizeHTML } from 'src/utilities/sanitize-html'; import { oneClickApps } from './oneClickApps'; import Close from '@mui/icons-material/Close'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; -import Box from 'src/components/core/Box'; import Drawer from 'src/components/core/Drawer'; import Typography from 'src/components/core/Typography'; import ExternalLink from 'src/components/ExternalLink'; diff --git a/packages/manager/src/features/Profile/APITokens/APITokenTable.tsx b/packages/manager/src/features/Profile/APITokens/APITokenTable.tsx index 47bc65c1c40..baadb1a9e3f 100644 --- a/packages/manager/src/features/Profile/APITokens/APITokenTable.tsx +++ b/packages/manager/src/features/Profile/APITokens/APITokenTable.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import AddNewLink from 'src/components/AddNewLink'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Grid from '@mui/material/Unstable_Grid2'; import Typography from 'src/components/core/Typography'; import { CreateAPITokenDrawer } from './CreateAPITokenDrawer'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts index 06f8f673f69..f8d474a36f5 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts +++ b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts @@ -1,4 +1,4 @@ -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import FormHelperText from 'src/components/core/FormHelperText'; import Select from 'src/components/EnhancedSelect/Select'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx index ef5880412cb..98c84ca0c36 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import InputAdornment from 'src/components/core/InputAdornment'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/ResetPassword.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/ResetPassword.tsx index 8e85f006279..bf687e7a1e9 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/ResetPassword.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/ResetPassword.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Typography from 'src/components/core/Typography'; import { Link } from 'src/components/Link'; import { LOGIN_ROOT } from 'src/constants'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/SMSMessaging.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/SMSMessaging.tsx index e968b2e2f55..94ebb2bede7 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/SMSMessaging.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/SMSMessaging.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/QuestionAndAnswerPair.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/QuestionAndAnswerPair.tsx index bfe87b1ae1f..74e07528ff6 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/QuestionAndAnswerPair.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/QuestionAndAnswerPair.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { SecurityQuestion } from '@linode/api-v4/lib/profile'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Question } from './Question'; import { Answer } from './Answer'; import { Item } from 'src/components/EnhancedSelect'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/SecurityQuestions.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/SecurityQuestions.tsx index ac7ae2164aa..1fb4810121f 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/SecurityQuestions.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/SecurityQuestions.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import Typography from 'src/components/core/Typography'; import { CircleProgress } from 'src/components/CircleProgress'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.tsx index 5cf3c374cd3..96d42a3d8b1 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import AkamaiWaveOnlyIcon from 'src/assets/icons/providers/akamai-logo-rgb-waveOnly.svg'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Divider from 'src/components/core/Divider'; import EnabledIcon from 'src/assets/icons/checkmark-enabled.svg'; import ExternalLink from 'src/components/ExternalLink'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx index a1bc3ae4c00..4bcdc7c59d9 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import { TextField } from 'src/components/TextField'; import Typography from 'src/components/core/Typography'; diff --git a/packages/manager/src/features/Profile/DisplaySettings/DisplaySettings.tsx b/packages/manager/src/features/Profile/DisplaySettings/DisplaySettings.tsx index 3b4f55539ca..26280800141 100644 --- a/packages/manager/src/features/Profile/DisplaySettings/DisplaySettings.tsx +++ b/packages/manager/src/features/Profile/DisplaySettings/DisplaySettings.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Divider from 'src/components/core/Divider'; import ExternalLink from 'src/components/ExternalLink'; import Link from 'src/components/Link'; diff --git a/packages/manager/src/features/Profile/DisplaySettings/TimezoneForm.tsx b/packages/manager/src/features/Profile/DisplaySettings/TimezoneForm.tsx index 923509c5136..1e96050bba1 100644 --- a/packages/manager/src/features/Profile/DisplaySettings/TimezoneForm.tsx +++ b/packages/manager/src/features/Profile/DisplaySettings/TimezoneForm.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import timezones from 'src/assets/timezones/timezones'; diff --git a/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx b/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx index 681f3fa36c9..875d5e68b34 100644 --- a/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx +++ b/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import FormControl from 'src/components/core/FormControl'; import getAPIErrorFor from 'src/utilities/getAPIErrorFor'; diff --git a/packages/manager/src/features/Profile/OAuthClients/OAuthClients.tsx b/packages/manager/src/features/Profile/OAuthClients/OAuthClients.tsx index 0393de644d8..4c9c137afa4 100644 --- a/packages/manager/src/features/Profile/OAuthClients/OAuthClients.tsx +++ b/packages/manager/src/features/Profile/OAuthClients/OAuthClients.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import AddNewLink from 'src/components/AddNewLink'; import { Hidden } from 'src/components/Hidden'; import { TableBody } from 'src/components/TableBody'; diff --git a/packages/manager/src/features/Profile/SecretTokenDialog/SecretTokenDialog.tsx b/packages/manager/src/features/Profile/SecretTokenDialog/SecretTokenDialog.tsx index 9ac8800f6dc..6bfe2004a44 100644 --- a/packages/manager/src/features/Profile/SecretTokenDialog/SecretTokenDialog.tsx +++ b/packages/manager/src/features/Profile/SecretTokenDialog/SecretTokenDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import CopyableAndDownloadableTextField from 'src/components/CopyableAndDownloadableTextField'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; diff --git a/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/UserDefinedFieldsPanel.tsx b/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/UserDefinedFieldsPanel.tsx index ac21ba5ce85..f795b282f42 100644 --- a/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/UserDefinedFieldsPanel.tsx +++ b/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/UserDefinedFieldsPanel.tsx @@ -3,7 +3,7 @@ import { APIError } from '@linode/api-v4/lib/types'; import classnames from 'classnames'; import * as React from 'react'; import { Link } from 'react-router-dom'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx b/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx index 7e486ca52dd..53a047a76f2 100644 --- a/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx +++ b/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx @@ -6,8 +6,8 @@ import * as React from 'react'; import { connect, useSelector } from 'react-redux'; import { RouteComponentProps } from 'react-router-dom'; import { compose } from 'recompose'; +import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; -import Box from 'src/components/core/Box'; import Form from 'src/components/core/Form'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; diff --git a/packages/manager/src/features/Volumes/VolumeDrawer/PricePanel.tsx b/packages/manager/src/features/Volumes/VolumeDrawer/PricePanel.tsx index 5782ce950c7..0a74458a04c 100644 --- a/packages/manager/src/features/Volumes/VolumeDrawer/PricePanel.tsx +++ b/packages/manager/src/features/Volumes/VolumeDrawer/PricePanel.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { DisplayPrice } from 'src/components/DisplayPrice'; import { MAX_VOLUME_SIZE } from 'src/constants'; -import Box from 'src/components/core/Box'; +import { Box } from 'src/components/Box'; const getPrice = (size: number) => { return size * 0.1; From e32b538101d09c8b8296768a3b89df3d21c0924b Mon Sep 17 00:00:00 2001 From: Dajahi Wiley <114682940+dwiley-akamai@users.noreply.github.com> Date: Wed, 28 Jun 2023 16:09:23 -0400 Subject: [PATCH 48/88] =?UTF-8?q?feat:=20[M3-6707]=20=E2=80=93=20Light/dar?= =?UTF-8?q?k=20mode=20shortcut=20copy=20on=20the=20"My=20Settings"=20page?= =?UTF-8?q?=20(#9286)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../.changeset/pr-9286-added-1687296191023.md | 5 +++++ packages/manager/src/App.tsx | 3 ++- .../src/features/Profile/Settings/Settings.tsx | 13 +++++++++++++ 3 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 packages/manager/.changeset/pr-9286-added-1687296191023.md diff --git a/packages/manager/.changeset/pr-9286-added-1687296191023.md b/packages/manager/.changeset/pr-9286-added-1687296191023.md new file mode 100644 index 00000000000..8b244dad7ac --- /dev/null +++ b/packages/manager/.changeset/pr-9286-added-1687296191023.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Added +--- + +Light/dark mode keyboard shortcut copy on "My Settings" page ([#9286](https://github.com/linode/manager/pull/9286)) diff --git a/packages/manager/src/App.tsx b/packages/manager/src/App.tsx index aeee3c078f4..7db3af5b388 100644 --- a/packages/manager/src/App.tsx +++ b/packages/manager/src/App.tsx @@ -63,7 +63,6 @@ const BaseApp = withFeatureFlagProvider( const theme = preferences?.theme; const keyboardListener = React.useCallback( (event: KeyboardEvent) => { - const isOSMac = navigator.userAgent.includes('Mac'); const letterForThemeShortcut = 'D'; const letterForGoToOpen = 'K'; const modifierKey = isOSMac ? 'ctrlKey' : 'altKey'; @@ -296,3 +295,5 @@ export const hasOauthError = (...args: (Error | APIError[] | undefined)[]) => { : cleanedError.toLowerCase().includes('oauth'); }); }; + +export const isOSMac = navigator.userAgent.includes('Mac'); diff --git a/packages/manager/src/features/Profile/Settings/Settings.tsx b/packages/manager/src/features/Profile/Settings/Settings.tsx index e4a47a7f805..5df2ef37db6 100644 --- a/packages/manager/src/features/Profile/Settings/Settings.tsx +++ b/packages/manager/src/features/Profile/Settings/Settings.tsx @@ -2,6 +2,8 @@ import { FormLabel } from '@mui/material'; import Grid from '@mui/material/Unstable_Grid2'; import { useTheme } from '@mui/material/styles'; import * as React from 'react'; +import { isOSMac } from 'src/App'; +import { Code } from 'src/components/Code/Code'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import type { PreferenceToggleProps } from 'src/components/PreferenceToggle/PreferenceToggle'; import { PreferenceToggle } from 'src/components/PreferenceToggle/PreferenceToggle'; @@ -93,6 +95,10 @@ export const ProfileSettings = () => { Theme + + You may toggle your theme with the keyboard shortcut{' '} + {ThemeKeyboardShortcut}. + { ); }; + +const ThemeKeyboardShortcut = ( + <> + {isOSMac ? 'Ctrl' : 'Alt'} + Shift +{' '} + D + +); From 3bb998c9eb46336ca3fccfbd163921a959dc6525 Mon Sep 17 00:00:00 2001 From: Banks Nussman <115251059+bnussman-akamai@users.noreply.github.com> Date: Wed, 28 Jun 2023 17:22:52 -0400 Subject: [PATCH 49/88] refactor: [M3-6798] - MUI v5 Migration - `Components > Typography` (#9328) * initial refactor and new storybook story * Added changeset: MUI v5 Migration - Components > Typography * fix unit tests by updated exports --------- Co-authored-by: Banks Nussman --- .../development-guide/04-component-library.md | 2 +- .../pr-9328-tech-stories-1687891912950.md | 5 + .../AbuseTicketBanner/AbuseTicketBanner.tsx | 2 +- .../AccessPanel/UserSSHKeyPanel.tsx | 2 +- packages/manager/src/components/Accordion.tsx | 2 +- .../AccountActivationLanding.tsx | 2 +- .../components/BackupStatus/BackupStatus.tsx | 2 +- .../src/components/Breadcrumb/Crumbs.tsx | 2 +- .../src/components/Breadcrumb/FinalCrumb.tsx | 2 +- .../components/CheckoutBar/CheckoutBar.tsx | 2 +- .../components/CheckoutBar/DisplaySection.tsx | 2 +- .../CheckoutSummary/CheckoutSummary.tsx | 3 +- .../CheckoutSummary/SummaryItem.tsx | 2 +- .../components/ColorPalette/ColorPalette.tsx | 2 +- .../DateTimeDisplay/DateTimeDisplay.tsx | 2 +- .../DeletionDialog/DeletionDialog.tsx | 2 +- .../DismissibleBanner.stories.mdx | 2 +- .../components/DisplayPrice/DisplayPrice.tsx | 2 +- .../src/components/DownloadTooltip.tsx | 2 +- .../src/components/Drawer/Drawer.stories.mdx | 2 +- .../manager/src/components/Drawer/Drawer.tsx | 2 +- .../EditableEntityLabel.tsx | 2 +- .../EditableEntityLabel/EditableInput.tsx | 2 +- .../ResourcesLinksSubSection.tsx | 2 +- .../ResourcesSection.tsx | 2 +- .../EnhancedSelect/components/Guidance.tsx | 2 +- .../components/NoOptionsMessage.tsx | 2 +- .../components/SelectPlaceholder.tsx | 2 +- .../components/EntityHeader/EntityHeader.tsx | 2 +- .../src/components/ErrorState/ErrorState.tsx | 2 +- .../FileUploader/FileUploader.styles.ts | 2 +- .../GaugePercent/GaugePercent.stories.mdx | 2 +- .../src/components/H1Header/H1Header.tsx | 2 +- .../HighlightedMarkdown.tsx | 2 +- .../components/ImageSelect/ImageSelect.tsx | 2 +- .../src/components/LineGraph/LineGraph.tsx | 2 +- .../LineGraph/MetricsDisplay.test.tsx | 2 +- .../components/LineGraph/MetricsDisplay.tsx | 2 +- .../LongviewLineGraph/LongviewLineGraph.tsx | 2 +- .../src/components/MainContentBanner.tsx | 2 +- .../MaintenanceBanner/MaintenanceBanner.tsx | 2 +- .../src/components/MaintenanceScreen.tsx | 2 +- .../manager/src/components/MigrateError.tsx | 2 +- .../MultipleIPInput/MultipleIPInput.tsx | 2 +- .../manager/src/components/Notice/Notice.tsx | 2 +- .../PasswordInput/StrengthIndicator.tsx | 2 +- .../PaymentMethodRow/ThirdPartyPayment.tsx | 2 +- .../components/Placeholder/Placeholder.tsx | 2 +- .../PromotionalOfferCard.tsx | 2 +- .../SelectRegionPanel/RegionHelperText.tsx | 2 +- .../SelectRegionPanel/SelectRegionPanel.tsx | 2 +- .../ShowMoreExpansion.stories.mdx | 2 +- .../components/StackScript/StackScript.tsx | 2 +- .../manager/src/components/SupportError.tsx | 2 +- .../components/TabbedPanel/TabbedPanel.tsx | 2 +- .../manager/src/components/Tabs.stories.mdx | 2 +- .../TagsPanel/TagsPanel.stories.mdx | 2 +- .../src/components/TagsPanel/TagsPanel.tsx | 2 +- .../TextTooltip/TextTooltip.stories.tsx | 2 +- .../components/TextTooltip/TextTooltip.tsx | 4 +- packages/manager/src/components/Tile/Tile.tsx | 2 +- .../TransferDisplay/TransferDisplay.tsx | 2 +- .../TypeToConfirm/TypeToConfirm.tsx | 2 +- .../TypeToConfirmDialog.test.tsx | 2 +- .../src/components/Typography.stories.mdx | 120 ------------------ .../src/components/Typography.stories.tsx | 83 ++++++++++++ packages/manager/src/components/Typography.ts | 5 + .../src/components/VerificationError.tsx | 2 +- .../manager/src/components/core/Typography.ts | 8 -- .../src/features/Account/AccountLogins.tsx | 2 +- .../Agreements/EUAgreementCheckbox.tsx | 2 +- .../src/features/Account/AutoBackups.tsx | 2 +- .../features/Account/CloseAccountDialog.tsx | 2 +- .../src/features/Account/EnableManaged.tsx | 2 +- .../features/Account/EnableObjectStorage.tsx | 2 +- .../Account/Maintenance/MaintenanceTable.tsx | 2 +- .../src/features/Account/NetworkHelper.tsx | 2 +- .../src/features/Backups/AutoEnroll.tsx | 2 +- .../src/features/Backups/BackupDrawer.tsx | 2 +- .../src/features/Backups/BackupLinodes.tsx | 2 +- .../src/features/Backups/BackupsCTA.tsx | 2 +- .../BillingActivityPanel.tsx | 2 +- .../BillingSummary/BillingSummary.tsx | 2 +- .../PaymentDrawer/CreditCard.tsx | 2 +- .../PaymentBits/CreditCardDialog.tsx | 2 +- .../PaymentDrawer/PaymentDrawer.tsx | 2 +- .../BillingSummary/PromoDialog.tsx | 2 +- .../BillingSummary/PromoDisplay.tsx | 2 +- .../ContactInfoPanel/ContactInformation.tsx | 2 +- .../AddPaymentMethodDrawer.tsx | 2 +- .../PaymentInfoPanel/PaymentInformation.tsx | 2 +- .../PaymentInfoPanel/PaymentMethods.tsx | 2 +- .../Billing/InvoiceDetail/InvoiceDetail.tsx | 2 +- .../features/CancelLanding/CancelLanding.tsx | 3 +- .../DatabaseCreate/DatabaseCreate.tsx | 2 +- .../DatabaseDetail/AccessControls.tsx | 2 +- .../DatabaseDetail/AddAccessControlDrawer.tsx | 2 +- .../DatabaseBackups/DatabaseBackups.tsx | 2 +- .../RestoreFromBackupDialog.tsx | 2 +- .../DatabaseSettings/DatabaseSettings.tsx | 2 +- .../DatabaseSettingsDeleteClusterDialog.tsx | 2 +- .../DatabaseSettingsMenuItem.tsx | 2 +- .../DatabaseSettingsResetPasswordDialog.tsx | 2 +- .../DatabaseSettings/MaintenanceWindow.tsx | 2 +- .../DatabaseSummary/DatabaseSummary.tsx | 2 +- .../DatabaseSummaryClusterConfiguration.tsx | 2 +- .../DatabaseSummaryConnectionDetails.tsx | 2 +- .../src/features/Domains/DomainBanner.tsx | 2 +- .../Domains/DomainDetail/DomainDetail.tsx | 2 +- .../src/features/Domains/DomainRecords.tsx | 2 +- .../TransferCheckoutBar.tsx | 2 +- .../EntityTransfersCreate/TransferHeader.tsx | 2 +- .../EntityTransfersCreate/TransferTable.tsx | 2 +- .../ConfirmTransferCancelDialog.tsx | 2 +- .../ConfirmTransferDialog.tsx | 2 +- .../CreateTransferSuccessDialog.tsx | 2 +- .../TransferControls.tsx | 2 +- .../TransferDetailsDialog.tsx | 2 +- .../src/features/Events/EventsLanding.tsx | 2 +- .../Devices/FirewallLinodesLanding.tsx | 2 +- .../Devices/RemoveDeviceDialog.tsx | 2 +- .../Rules/FirewallRuleDrawer.tsx | 2 +- .../FirewallDetail/Rules/FirewallRuleForm.tsx | 2 +- .../Rules/FirewallRuleTable.tsx | 2 +- .../Rules/FirewallRulesLanding.tsx | 2 +- .../APIMaintenanceBanner.tsx | 2 +- .../GlobalNotifications/ComplianceBanner.tsx | 2 +- .../ComplianceUpdateModal.tsx | 2 +- .../GlobalNotifications/EmailBounce.tsx | 2 +- .../RegionStatusBanner.tsx | 2 +- .../TaxCollectionBanner.tsx | 2 +- .../src/features/Help/Panels/OtherWays.tsx | 2 +- .../src/features/Help/Panels/PopularPosts.tsx | 2 +- .../src/features/Help/Panels/SearchItem.tsx | 2 +- .../src/features/Help/StatusBanners.tsx | 2 +- .../DocumentationResults.tsx | 2 +- .../SupportSearchLanding/HelpResources.tsx | 2 +- .../manager/src/features/Images/ImageRow.tsx | 2 +- .../src/features/Images/ImageUpload.tsx | 2 +- .../Images/ImagesCreate/CreateImageTab.tsx | 2 +- .../src/features/Images/ImagesDrawer.tsx | 2 +- .../src/features/Images/ImagesLanding.tsx | 2 +- .../Kubernetes/KubeCheckoutBar/HACheckbox.tsx | 2 +- .../KubeCheckoutBar/NodePoolSummary.tsx | 2 +- .../DeleteKubernetesClusterDialog.tsx | 2 +- .../KubeClusterSpecs.tsx | 2 +- .../KubeConfigDisplay.tsx | 2 +- .../KubeConfigDrawer.tsx | 2 +- .../KubeConfigPanel.tsx | 2 +- .../NodePoolsDisplay/AddNodePoolDrawer.tsx | 2 +- .../NodePoolsDisplay/AutoscalePoolDialog.tsx | 2 +- .../NodePoolsDisplay/DeleteNodePoolDialog.tsx | 2 +- .../NodePoolsDisplay/NodePool.tsx | 2 +- .../NodePoolsDisplay/NodePoolsDisplay.tsx | 2 +- .../NodePoolsDisplay/NodeTable.tsx | 2 +- .../NodePoolsDisplay/RecycleNodeDialog.tsx | 2 +- .../NodePoolsDisplay/ResizeNodePoolDrawer.tsx | 2 +- .../RecycleClusterDialog.tsx | 2 +- .../RecycleNodePoolDialog.tsx | 2 +- .../UpgradeClusterDialog.tsx | 2 +- .../UpgradeKubernetesVersionBanner.tsx | 2 +- .../Kubernetes/UpgradeVersionModal.tsx | 2 +- .../Linodes/CloneLanding/CloneLanding.tsx | 2 +- .../features/Linodes/CloneLanding/Details.tsx | 2 +- .../features/Linodes/LinodeEntityDetail.tsx | 2 +- .../Linodes/LinodesCreate/AddonsPanel.tsx | 2 +- .../LinodesCreate/ApiAwarenessModal/index.tsx | 2 +- .../Linodes/LinodesCreate/AppPanelSection.tsx | 2 +- .../Linodes/LinodesCreate/AttachVLAN.tsx | 2 +- .../Linodes/LinodesCreate/LinodeCreate.tsx | 2 +- .../features/Linodes/LinodesCreate/Panel.tsx | 2 +- .../PlansAvailabilityNotice.styles.ts | 2 +- .../LinodesCreate/SelectBackupPanel.tsx | 2 +- .../LinodesCreate/SelectLinodePanel.tsx | 2 +- .../SelectPlanPanel/PlanInformation.tsx | 2 +- .../SelectPlanPanel/PlansPanel.styles.ts | 2 +- .../TabbedContent/FromAppsContent.tsx | 2 +- .../TabbedContent/FromImageContent.tsx | 2 +- .../TabbedContent/ImageEmptyState.tsx | 2 +- .../UserDataAccordion/UserDataAccordion.tsx | 2 +- .../Linodes/LinodesCreate/utilities.tsx | 2 +- .../LinodeBackup/BackupsPlaceholder.tsx | 2 +- .../LinodeBackup/CancelBackupsDialog.tsx | 2 +- .../LinodeBackup/CaptureSnapshot.tsx | 2 +- .../CaptureSnapshotConfirmationDialog.tsx | 2 +- .../LinodeBackup/EnableBackupsDialog.tsx | 2 +- .../LinodeBackup/LinodeBackups.tsx | 2 +- .../LinodeBackup/ScheduleSettings.tsx | 2 +- .../LinodeConfigs/BootConfigDialog.tsx | 2 +- .../LinodeConfigs/DeleteConfigDialog.tsx | 2 +- .../LinodeConfigs/LinodeConfigDialog.tsx | 2 +- .../LinodeNetworking/AddIPDrawer.tsx | 2 +- .../LinodeNetworking/DeleteIPDialog.tsx | 2 +- .../LinodeNetworking/DeleteRangeDialog.tsx | 2 +- .../LinodeNetworking/EditIPRDNSDrawer.tsx | 2 +- .../LinodeNetworking/EditRangeRDNSDrawer.tsx | 2 +- .../LinodeNetworking/IPSharing.tsx | 2 +- .../LinodeNetworking/IPTransfer.tsx | 2 +- .../LinodeNetworking/LinodeNetworking.tsx | 2 +- .../NetworkingSummaryPanel/DNSResolvers.tsx | 2 +- .../NetworkTransfer.tsx | 2 +- .../TransferHistory.tsx | 2 +- .../LinodeNetworking/ViewIPDrawer.tsx | 2 +- .../LinodeNetworking/ViewRDNSDrawer.tsx | 2 +- .../LinodeNetworking/ViewRangeDrawer.tsx | 2 +- .../LinodeRebuild/LinodeRebuildDialog.tsx | 2 +- .../LinodeRescue/RescueDescription.tsx | 2 +- .../LinodeResize/LinodeResize.tsx | 2 +- .../LinodeResize/ResizeConfirmationDialog.tsx | 2 +- .../LinodeSettings/AlertSection.tsx | 2 +- .../LinodeSettingsDeletePanel.tsx | 2 +- .../LinodeSettings/LinodeWatchdogPanel.tsx | 2 +- .../LinodeStorage/LinodeDisks.tsx | 2 +- .../LinodeStorage/LinodeVolumes.tsx | 2 +- .../LinodeSummary/ActivityRow.tsx | 2 +- .../LinodeSummary/LinodeSummary.tsx | 2 +- .../LinodeSummary/StatsPanel.tsx | 2 +- .../LinodesDetailHeader/HostMaintenance.tsx | 2 +- .../MigrationNotification.tsx | 2 +- .../MutationNotification.tsx | 2 +- .../UpgradeVolumesDialog.tsx | 2 +- .../MutateDrawer/MutateDrawer.tsx | 2 +- .../Linodes/LinodesLanding/CardView.tsx | 2 +- .../LinodesLanding/DeleteLinodeDialog.tsx | 2 +- .../LinodesLanding/DisplayGroupedLinodes.tsx | 2 +- .../LinodesLanding/DisplayLinodes.styles.ts | 2 +- .../LinodesLanding/LinodeRow/LinodeRow.tsx | 2 +- .../Linodes/MigrateLinode/CautionNotice.tsx | 2 +- .../Linodes/MigrateLinode/ConfigureForm.tsx | 2 +- .../Linodes/MigrateLinode/MigrateLinode.tsx | 2 +- .../Linodes/PowerActionsDialogOrDrawer.tsx | 2 +- .../features/Linodes/SMTPRestrictionText.tsx | 2 +- .../ActiveConnections/ActiveConnections.tsx | 2 +- .../DetailTabs/Apache/Apache.tsx | 2 +- .../DetailTabs/Disks/Graphs.tsx | 2 +- .../LongviewDetail/DetailTabs/IconSection.tsx | 2 +- .../ListeningServices/ListeningServices.tsx | 2 +- .../DetailTabs/MySQL/MySQLLanding.tsx | 2 +- .../LongviewDetail/DetailTabs/NGINX/NGINX.tsx | 2 +- .../OverviewGraphs/OverviewGraphs.tsx | 2 +- .../DetailTabs/Processes/ProcessesGraphs.tsx | 2 +- .../DetailTabs/TopProcesses.tsx | 2 +- .../Longview/LongviewDetail/GraphCard.tsx | 2 +- .../Longview/LongviewLanding/Gauges/CPU.tsx | 2 +- .../Longview/LongviewLanding/Gauges/Load.tsx | 2 +- .../LongviewLanding/Gauges/Network.tsx | 2 +- .../Longview/LongviewLanding/Gauges/RAM.tsx | 2 +- .../LongviewLanding/Gauges/Storage.tsx | 2 +- .../Longview/LongviewLanding/Gauges/Swap.tsx | 2 +- .../LongviewLanding/LongviewClientHeader.tsx | 2 +- .../LongviewLanding/LongviewClients.tsx | 2 +- .../Longview/LongviewLanding/LongviewList.tsx | 2 +- .../LongviewLanding/RestrictedUserLabel.tsx | 2 +- .../LongviewLanding/SubscriptionDialog.tsx | 2 +- .../shared/InstallationInstructions.tsx | 2 +- .../features/Managed/Contacts/Contacts.tsx | 2 +- .../Managed/Credentials/CredentialList.tsx | 2 +- .../ManagedDashboardCard/DashboardCard.tsx | 2 +- .../ManagedChartPanel.tsx | 2 +- .../ManagedDashboardCard/MonitorStatus.tsx | 2 +- .../ManagedDashboardCard/MonitorTickets.tsx | 2 +- .../features/Managed/Monitors/MonitorRow.tsx | 2 +- .../Managed/SSHAccess/EditSSHAccessDrawer.tsx | 2 +- .../Managed/SSHAccess/LinodePubKey.tsx | 2 +- .../NodeBalancers/NodeBalancerActiveCheck.tsx | 2 +- .../NodeBalancers/NodeBalancerConfigNode.tsx | 2 +- .../NodeBalancers/NodeBalancerConfigPanel.tsx | 2 +- .../NodeBalancers/NodeBalancerCreate.tsx | 2 +- .../NodeBalancerDeleteDialog.tsx | 2 +- .../NodeBalancerConfigurations.tsx | 2 +- .../NodeBalancerSummary/SummaryPanel.tsx | 2 +- .../NodeBalancerSummary/TablesPanel.tsx | 2 +- .../NodeBalancerPassiveCheck.tsx | 2 +- .../NodeBalancersLandingEmptyState.tsx | 2 +- .../NotificationData/RenderEvent.tsx | 2 +- .../NotificationData/RenderNotification.tsx | 2 +- .../NotificationData/RenderProgressEvent.tsx | 2 +- .../useFormattedNotifications.tsx | 2 +- .../NotificationSection.tsx | 2 +- .../AccessKeyLanding/AccessKeyDrawer.tsx | 2 +- .../AccessKeyLanding/AccessKeyTable.tsx | 2 +- .../LimitedAccessControls.tsx | 2 +- .../RevokeAccessKeyDialog.tsx | 2 +- .../ViewPermissionsDrawer.tsx | 2 +- .../BucketDetail/AccessSelect.tsx | 2 +- .../BucketDetail/BucketAccess.tsx | 2 +- .../BucketDetail/BucketBreadcrumb.styles.ts | 2 +- .../BucketDetail/BucketDetail.styles.ts | 2 +- .../BucketDetail/BucketSSL.styles.ts | 2 +- .../ObjectStorage/BucketDetail/BucketSSL.tsx | 2 +- .../BucketDetail/ObjectDetailsDrawer.tsx | 2 +- .../BucketDetail/ObjectTableRow.tsx | 2 +- .../BucketLanding/BucketDetailsDrawer.tsx | 2 +- .../BucketLanding/BucketLanding.tsx | 2 +- .../BucketLanding/BucketTableRow.tsx | 2 +- .../features/ObjectStorage/CancelNotice.tsx | 2 +- .../EnableObjectStorageModal.tsx | 2 +- .../ObjectStorage/ObjectStorageLanding.tsx | 2 +- .../ObjectUploader/FileUpload.styles.ts | 2 +- .../ObjectUploader/FileUpload.tsx | 2 +- .../ObjectUploader/ObjectUploader.styles.ts | 2 +- .../features/OneClickApps/AppDetailDrawer.tsx | 2 +- .../Profile/APITokens/APITokenTable.styles.ts | 2 +- .../Profile/APITokens/APITokenTable.tsx | 2 +- .../Profile/APITokens/RevokeTokenDialog.tsx | 2 +- .../AuthenticationSettings.tsx | 2 +- .../PhoneVerification.styles.ts | 2 +- .../PhoneVerification/PhoneVerification.tsx | 2 +- .../AuthenticationSettings/ResetPassword.tsx | 2 +- .../RevokeTrustedDevicesDialog.tsx | 2 +- .../AuthenticationSettings/SMSMessaging.tsx | 2 +- .../SecurityQuestions/Question.tsx | 2 +- .../SecurityQuestions/SecurityQuestions.tsx | 2 +- .../AuthenticationSettings/TPADialog.tsx | 2 +- .../TPAProviders.styles.ts | 2 +- .../AuthenticationSettings/TPAProviders.tsx | 2 +- .../AuthenticationSettings/TrustedDevices.tsx | 2 +- .../TwoFactor/ConfirmToken.tsx | 2 +- .../TwoFactor/DisableTwoFactorDialog.tsx | 2 +- .../TwoFactor/QRCodeForm.tsx | 2 +- .../TwoFactor/ScratchCodeDialog.tsx | 2 +- .../TwoFactor/TwoFactor.styles.ts | 2 +- .../TwoFactor/TwoFactor.tsx | 2 +- .../DisplaySettings/DisplaySettings.tsx | 2 +- .../Profile/DisplaySettings/TimezoneForm.tsx | 2 +- .../Profile/LishSettings/LishSettings.tsx | 2 +- .../OAuthClients/DeleteOAuthClientDialog.tsx | 2 +- .../OAuthClients/ResetOAuthClientDialog.tsx | 2 +- .../Profile/Referrals/Referrals.styles.ts | 2 +- .../features/Profile/Referrals/Referrals.tsx | 2 +- .../Profile/SSHKeys/CreateSSHKeyDrawer.tsx | 2 +- .../Profile/SSHKeys/DeleteSSHKeyDialog.tsx | 2 +- .../src/features/Profile/SSHKeys/SSHKeys.tsx | 2 +- .../Profile/Settings/PreferenceEditor.tsx | 2 +- .../features/Profile/Settings/Settings.tsx | 2 +- .../src/features/Search/ResultGroup.test.tsx | 4 +- .../src/features/Search/ResultGroup.tsx | 2 +- .../manager/src/features/Search/ResultRow.tsx | 2 +- .../src/features/Search/SearchLanding.tsx | 2 +- .../SelectStackScriptPanel.tsx | 2 +- .../StackScriptSelectionRow.tsx | 2 +- .../StackScriptCreate/StackScriptCreate.tsx | 2 +- .../StackScriptForm/StackScriptForm.tsx | 2 +- .../StackScriptPanelContent.tsx | 2 +- .../StackScriptPanel/StackScriptRow.tsx | 2 +- .../UserDefinedFieldsPanel.tsx | 2 +- .../Support/ExpandableTicketPanel.tsx | 2 +- .../manager/src/features/Support/Hively.tsx | 2 +- .../SupportTicketDetail/CloseTicketLink.tsx | 2 +- .../SupportTicketDetail.tsx | 2 +- .../TabbedReply/MarkdownReference.tsx | 2 +- .../SupportTickets/SupportTicketDrawer.tsx | 2 +- .../Support/SupportTickets/TicketRow.tsx | 2 +- .../features/Support/TicketAttachmentList.tsx | 2 +- .../features/Support/TicketAttachmentRow.tsx | 2 +- .../src/features/TheApplicationIsOnFire.tsx | 2 +- .../manager/src/features/TopMenu/TopMenu.tsx | 2 +- .../features/TopMenu/UserMenu/UserMenu.tsx | 2 +- .../src/features/Users/UserPermissions.tsx | 2 +- .../Users/UserPermissionsEntitySection.tsx | 2 +- .../src/features/Users/UserProfile.tsx | 2 +- .../Volumes/DestructiveVolumeDialog.tsx | 2 +- .../features/Volumes/UpgradeVolumeDialog.tsx | 2 +- .../Volumes/VolumeCreate/CreateVolumeForm.tsx | 2 +- .../Volumes/VolumeDrawer/CloneVolumeForm.tsx | 2 +- .../CreateVolumeForLinodeForm.tsx | 2 +- .../VolumeDrawer/ResizeVolumesInstruction.tsx | 2 +- .../Volumes/VolumeDrawer/VolumeConfigForm.tsx | 2 +- .../src/features/Volumes/VolumeTableRow.tsx | 2 +- 369 files changed, 458 insertions(+), 497 deletions(-) create mode 100644 packages/manager/.changeset/pr-9328-tech-stories-1687891912950.md delete mode 100644 packages/manager/src/components/Typography.stories.mdx create mode 100644 packages/manager/src/components/Typography.stories.tsx create mode 100644 packages/manager/src/components/Typography.ts delete mode 100644 packages/manager/src/components/core/Typography.ts diff --git a/docs/development-guide/04-component-library.md b/docs/development-guide/04-component-library.md index 16a1b684671..b66e19046eb 100644 --- a/docs/development-guide/04-component-library.md +++ b/docs/development-guide/04-component-library.md @@ -7,7 +7,7 @@ We use [Material-UI](https://mui.com/material-ui/getting-started/overview/) as t All MUI components have abstractions in the Cloud Manager codebase, meaning you will use relative imports to use them instead of importing from MUI directly: ```ts -import Typography from "src/components/core/Typography"; // NOT from '@mui/material/Typography' +import { Typography } from "src/components/Typography"; // NOT from '@mui/material/Typography' ``` We do this because it gives us the ability to customize the component and still keep imports consistent. It also gives us flexibility if we ever wanted to change out the underlying component library. diff --git a/packages/manager/.changeset/pr-9328-tech-stories-1687891912950.md b/packages/manager/.changeset/pr-9328-tech-stories-1687891912950.md new file mode 100644 index 00000000000..ff8d368af51 --- /dev/null +++ b/packages/manager/.changeset/pr-9328-tech-stories-1687891912950.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Tech Stories +--- + +MUI v5 Migration - Components > Typography ([#9328](https://github.com/linode/manager/pull/9328)) diff --git a/packages/manager/src/components/AbuseTicketBanner/AbuseTicketBanner.tsx b/packages/manager/src/components/AbuseTicketBanner/AbuseTicketBanner.tsx index a806e724305..7a439ad73f1 100644 --- a/packages/manager/src/components/AbuseTicketBanner/AbuseTicketBanner.tsx +++ b/packages/manager/src/components/AbuseTicketBanner/AbuseTicketBanner.tsx @@ -1,7 +1,7 @@ import { DateTime } from 'luxon'; import * as React from 'react'; import { Link, useLocation } from 'react-router-dom'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import DismissibleBanner from 'src/components/DismissibleBanner'; import Grid from '@mui/material/Unstable_Grid2'; import { useNotificationsQuery } from 'src/queries/accountNotifications'; diff --git a/packages/manager/src/components/AccessPanel/UserSSHKeyPanel.tsx b/packages/manager/src/components/AccessPanel/UserSSHKeyPanel.tsx index 868802f2cbc..e636dcab94d 100644 --- a/packages/manager/src/components/AccessPanel/UserSSHKeyPanel.tsx +++ b/packages/manager/src/components/AccessPanel/UserSSHKeyPanel.tsx @@ -4,7 +4,7 @@ import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Table } from 'src/components/Table'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; diff --git a/packages/manager/src/components/Accordion.tsx b/packages/manager/src/components/Accordion.tsx index 2c85c9bd377..30fef66faba 100644 --- a/packages/manager/src/components/Accordion.tsx +++ b/packages/manager/src/components/Accordion.tsx @@ -10,7 +10,7 @@ import AccordionDetails, { import AccordionSummary, { AccordionSummaryProps, } from '@mui/material/AccordionSummary'; -import Typography, { TypographyProps } from 'src/components/core/Typography'; +import { Typography, TypographyProps } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { makeStyles } from 'tss-react/mui'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/components/AccountActivation/AccountActivationLanding.tsx b/packages/manager/src/components/AccountActivation/AccountActivationLanding.tsx index c775789b314..aa54064f301 100644 --- a/packages/manager/src/components/AccountActivation/AccountActivationLanding.tsx +++ b/packages/manager/src/components/AccountActivation/AccountActivationLanding.tsx @@ -2,7 +2,7 @@ import Warning from '@mui/icons-material/CheckCircle'; import { Theme } from '@mui/material/styles'; import * as React from 'react'; import { useHistory } from 'react-router-dom'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import { AttachmentError } from 'src/features/Support/SupportTicketDetail/SupportTicketDetail'; import SupportTicketDrawer from 'src/features/Support/SupportTickets/SupportTicketDrawer'; diff --git a/packages/manager/src/components/BackupStatus/BackupStatus.tsx b/packages/manager/src/components/BackupStatus/BackupStatus.tsx index 06b4e61b2b1..2163e259620 100644 --- a/packages/manager/src/components/BackupStatus/BackupStatus.tsx +++ b/packages/manager/src/components/BackupStatus/BackupStatus.tsx @@ -3,7 +3,7 @@ import { Theme } from '@mui/material/styles'; import * as React from 'react'; import { Link as RouterLink } from 'react-router-dom'; import Tooltip from 'src/components/core/Tooltip'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; import Link from 'src/components/Link'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; diff --git a/packages/manager/src/components/Breadcrumb/Crumbs.tsx b/packages/manager/src/components/Breadcrumb/Crumbs.tsx index db939d7aee1..87200333887 100644 --- a/packages/manager/src/components/Breadcrumb/Crumbs.tsx +++ b/packages/manager/src/components/Breadcrumb/Crumbs.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import { Link } from 'react-router-dom'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { FinalCrumb } from './FinalCrumb'; import FinalCrumbPrefix from './FinalCrumbPrefix'; import { EditableProps, LabelProps } from './types'; diff --git a/packages/manager/src/components/Breadcrumb/FinalCrumb.tsx b/packages/manager/src/components/Breadcrumb/FinalCrumb.tsx index cc782b1a8a6..83f7b477db4 100644 --- a/packages/manager/src/components/Breadcrumb/FinalCrumb.tsx +++ b/packages/manager/src/components/Breadcrumb/FinalCrumb.tsx @@ -2,7 +2,7 @@ import classNames from 'classnames'; import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { EditableText } from 'src/components/EditableText/EditableText'; import { H1Header } from 'src/components/H1Header/H1Header'; import { EditableProps, LabelProps } from './types'; diff --git a/packages/manager/src/components/CheckoutBar/CheckoutBar.tsx b/packages/manager/src/components/CheckoutBar/CheckoutBar.tsx index b361ce91708..fe052490f78 100644 --- a/packages/manager/src/components/CheckoutBar/CheckoutBar.tsx +++ b/packages/manager/src/components/CheckoutBar/CheckoutBar.tsx @@ -1,6 +1,6 @@ import { useTheme } from '@mui/material/styles'; import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DisplayPrice } from 'src/components/DisplayPrice'; import { StyledButton, diff --git a/packages/manager/src/components/CheckoutBar/DisplaySection.tsx b/packages/manager/src/components/CheckoutBar/DisplaySection.tsx index c28faca4cbe..217be060a82 100644 --- a/packages/manager/src/components/CheckoutBar/DisplaySection.tsx +++ b/packages/manager/src/components/CheckoutBar/DisplaySection.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { StyledCheckoutSection, SxTypography } from './styles'; export interface DisplaySectionProps { diff --git a/packages/manager/src/components/CheckoutSummary/CheckoutSummary.tsx b/packages/manager/src/components/CheckoutSummary/CheckoutSummary.tsx index e272d8ea209..bbfb552ead1 100644 --- a/packages/manager/src/components/CheckoutSummary/CheckoutSummary.tsx +++ b/packages/manager/src/components/CheckoutSummary/CheckoutSummary.tsx @@ -3,8 +3,7 @@ import useMediaQuery from '@mui/material/useMediaQuery'; import { useTheme } from '@mui/styles'; import * as React from 'react'; import Paper from '../core/Paper'; - -import Typography from '../core/Typography'; +import { Typography } from '../Typography'; import Grid from '../Grid'; import { SummaryItem } from './SummaryItem'; diff --git a/packages/manager/src/components/CheckoutSummary/SummaryItem.tsx b/packages/manager/src/components/CheckoutSummary/SummaryItem.tsx index 5afaa8be308..038a39b0088 100644 --- a/packages/manager/src/components/CheckoutSummary/SummaryItem.tsx +++ b/packages/manager/src/components/CheckoutSummary/SummaryItem.tsx @@ -1,6 +1,6 @@ import { styled } from '@mui/material/styles'; import React from 'react'; -import Typography from '../core/Typography'; +import { Typography } from '../Typography'; import Grid from '../Grid'; import { SummaryItem as Props } from './CheckoutSummary'; diff --git a/packages/manager/src/components/ColorPalette/ColorPalette.tsx b/packages/manager/src/components/ColorPalette/ColorPalette.tsx index 2f71df92248..9ab4b2d748b 100644 --- a/packages/manager/src/components/ColorPalette/ColorPalette.tsx +++ b/packages/manager/src/components/ColorPalette/ColorPalette.tsx @@ -3,7 +3,7 @@ import { useTheme } from '@mui/material'; import * as React from 'react'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; interface Color { diff --git a/packages/manager/src/components/DateTimeDisplay/DateTimeDisplay.tsx b/packages/manager/src/components/DateTimeDisplay/DateTimeDisplay.tsx index 5ec3233d4a1..58504d5d68d 100644 --- a/packages/manager/src/components/DateTimeDisplay/DateTimeDisplay.tsx +++ b/packages/manager/src/components/DateTimeDisplay/DateTimeDisplay.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useProfile } from 'src/queries/profile'; import formatDate, { TimeInterval } from 'src/utilities/formatDate'; diff --git a/packages/manager/src/components/DeletionDialog/DeletionDialog.tsx b/packages/manager/src/components/DeletionDialog/DeletionDialog.tsx index 5ac5fd08744..7e89d92384e 100644 --- a/packages/manager/src/components/DeletionDialog/DeletionDialog.tsx +++ b/packages/manager/src/components/DeletionDialog/DeletionDialog.tsx @@ -3,7 +3,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { useTheme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; import { Notice } from 'src/components/Notice/Notice'; import { titlecase } from 'src/features/Linodes/presentation'; diff --git a/packages/manager/src/components/DismissibleBanner/DismissibleBanner.stories.mdx b/packages/manager/src/components/DismissibleBanner/DismissibleBanner.stories.mdx index 1efbfc88799..da6658f9bb8 100644 --- a/packages/manager/src/components/DismissibleBanner/DismissibleBanner.stories.mdx +++ b/packages/manager/src/components/DismissibleBanner/DismissibleBanner.stories.mdx @@ -3,7 +3,7 @@ import { Button } from 'src/components/Button/Button'; import DismissibleBanner from './DismissibleBanner'; import Grid from '@mui/material/Unstable_Grid2'; import Link from 'src/components/Link'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; ({ diff --git a/packages/manager/src/components/EmptyLandingPageResources/ResourcesLinksSubSection.tsx b/packages/manager/src/components/EmptyLandingPageResources/ResourcesLinksSubSection.tsx index 70f89087a4c..7cb9e568bee 100644 --- a/packages/manager/src/components/EmptyLandingPageResources/ResourcesLinksSubSection.tsx +++ b/packages/manager/src/components/EmptyLandingPageResources/ResourcesLinksSubSection.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { styled } from '@mui/material/styles'; interface ResourcesLinksSubSectionProps { diff --git a/packages/manager/src/components/EmptyLandingPageResources/ResourcesSection.tsx b/packages/manager/src/components/EmptyLandingPageResources/ResourcesSection.tsx index 41b91e857b9..22be94a32c9 100644 --- a/packages/manager/src/components/EmptyLandingPageResources/ResourcesSection.tsx +++ b/packages/manager/src/components/EmptyLandingPageResources/ResourcesSection.tsx @@ -3,7 +3,7 @@ import DocsIcon from 'src/assets/icons/docs.svg'; import ExternalLinkIcon from 'src/assets/icons/external-link.svg'; import { Placeholder } from 'src/components/Placeholder/Placeholder'; import PointerIcon from 'src/assets/icons/pointer.svg'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import YoutubeIcon from 'src/assets/icons/youtube.svg'; import { ResourceLinks } from 'src/components/EmptyLandingPageResources/ResourcesLinks'; import { ResourcesLinkIcon } from 'src/components/EmptyLandingPageResources/ResourcesLinkIcon'; diff --git a/packages/manager/src/components/EnhancedSelect/components/Guidance.tsx b/packages/manager/src/components/EnhancedSelect/components/Guidance.tsx index 2adc1318de4..8624140bfd5 100644 --- a/packages/manager/src/components/EnhancedSelect/components/Guidance.tsx +++ b/packages/manager/src/components/EnhancedSelect/components/Guidance.tsx @@ -1,7 +1,7 @@ import HelpOutline from '@mui/icons-material/HelpOutline'; import { styled } from '@mui/material/styles'; import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; interface GuidanceProps { text: string; diff --git a/packages/manager/src/components/EnhancedSelect/components/NoOptionsMessage.tsx b/packages/manager/src/components/EnhancedSelect/components/NoOptionsMessage.tsx index b4ca79eed0f..830460dde90 100644 --- a/packages/manager/src/components/EnhancedSelect/components/NoOptionsMessage.tsx +++ b/packages/manager/src/components/EnhancedSelect/components/NoOptionsMessage.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { NoticeProps } from 'react-select/src/components/Menu'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; interface Props extends NoticeProps {} diff --git a/packages/manager/src/components/EnhancedSelect/components/SelectPlaceholder.tsx b/packages/manager/src/components/EnhancedSelect/components/SelectPlaceholder.tsx index e2bb5c79ab3..235857a799b 100644 --- a/packages/manager/src/components/EnhancedSelect/components/SelectPlaceholder.tsx +++ b/packages/manager/src/components/EnhancedSelect/components/SelectPlaceholder.tsx @@ -1,7 +1,7 @@ import { styled } from '@mui/material/styles'; import * as React from 'react'; import { PlaceholderProps } from 'react-select'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; interface Props extends PlaceholderProps {} diff --git a/packages/manager/src/components/EntityHeader/EntityHeader.tsx b/packages/manager/src/components/EntityHeader/EntityHeader.tsx index 3524ed081ca..0f61dcfe0f3 100644 --- a/packages/manager/src/components/EntityHeader/EntityHeader.tsx +++ b/packages/manager/src/components/EntityHeader/EntityHeader.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Box from '@mui/material/Box'; -import Typography, { TypographyProps } from 'src/components/core/Typography'; +import { Typography, TypographyProps } from 'src/components/Typography'; import { styled } from '@mui/material/styles'; export interface HeaderProps { diff --git a/packages/manager/src/components/ErrorState/ErrorState.tsx b/packages/manager/src/components/ErrorState/ErrorState.tsx index 61a02c78e3c..f9abf978a0f 100644 --- a/packages/manager/src/components/ErrorState/ErrorState.tsx +++ b/packages/manager/src/components/ErrorState/ErrorState.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import ErrorOutline from '@mui/icons-material/ErrorOutline'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { SvgIconProps } from '@mui/material/SvgIcon'; import { useTheme, styled } from '@mui/material/styles'; diff --git a/packages/manager/src/components/FileUploader/FileUploader.styles.ts b/packages/manager/src/components/FileUploader/FileUploader.styles.ts index a996aff7afe..6bb5f34176b 100644 --- a/packages/manager/src/components/FileUploader/FileUploader.styles.ts +++ b/packages/manager/src/components/FileUploader/FileUploader.styles.ts @@ -1,7 +1,7 @@ import { Button } from 'src/components/Button/Button'; import { styled } from '@mui/material/styles'; import { isPropValid } from 'src/utilities/isPropValid'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; interface DropZoneClassProps { isDragActive: boolean; diff --git a/packages/manager/src/components/GaugePercent/GaugePercent.stories.mdx b/packages/manager/src/components/GaugePercent/GaugePercent.stories.mdx index c35fa8ae7b7..dd982399511 100644 --- a/packages/manager/src/components/GaugePercent/GaugePercent.stories.mdx +++ b/packages/manager/src/components/GaugePercent/GaugePercent.stories.mdx @@ -1,6 +1,6 @@ import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs'; import Gauge from './GaugePercent'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; diff --git a/packages/manager/src/components/H1Header/H1Header.tsx b/packages/manager/src/components/H1Header/H1Header.tsx index 045d6756d80..2df1228d09a 100644 --- a/packages/manager/src/components/H1Header/H1Header.tsx +++ b/packages/manager/src/components/H1Header/H1Header.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { SxProps } from '@mui/system'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; interface H1HeaderProps { className?: string; diff --git a/packages/manager/src/components/HighlightedMarkdown/HighlightedMarkdown.tsx b/packages/manager/src/components/HighlightedMarkdown/HighlightedMarkdown.tsx index 7efd64828f7..21edb4abfa9 100644 --- a/packages/manager/src/components/HighlightedMarkdown/HighlightedMarkdown.tsx +++ b/packages/manager/src/components/HighlightedMarkdown/HighlightedMarkdown.tsx @@ -2,7 +2,7 @@ import * as hljs from 'highlight.js/lib/core'; import * as React from 'react'; import { Theme, useTheme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import 'src/formatted-text.css'; import { sanitizeHTML } from 'src/utilities/sanitize-html'; import { unsafe_MarkdownIt } from 'src/utilities/markdown'; diff --git a/packages/manager/src/components/ImageSelect/ImageSelect.tsx b/packages/manager/src/components/ImageSelect/ImageSelect.tsx index 10fdb90538d..915ce41346c 100644 --- a/packages/manager/src/components/ImageSelect/ImageSelect.tsx +++ b/packages/manager/src/components/ImageSelect/ImageSelect.tsx @@ -5,7 +5,7 @@ import { equals, groupBy } from 'ramda'; import * as React from 'react'; import { MAX_MONTHS_EOL_FILTER } from 'src/constants'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Select, { GroupType, Item } from 'src/components/EnhancedSelect'; import { _SingleValue } from 'src/components/EnhancedSelect/components/SingleValue'; import { BaseSelectProps } from 'src/components/EnhancedSelect/Select'; diff --git a/packages/manager/src/components/LineGraph/LineGraph.tsx b/packages/manager/src/components/LineGraph/LineGraph.tsx index 0e66848e4db..7235e0e6adb 100644 --- a/packages/manager/src/components/LineGraph/LineGraph.tsx +++ b/packages/manager/src/components/LineGraph/LineGraph.tsx @@ -12,7 +12,7 @@ import * as React from 'react'; import { useTheme, Theme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; import AccessibleGraphData from './AccessibleGraphData'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { TableRow } from 'src/components/TableRow'; import { TableCell } from 'src/components/TableCell'; import { setUpCharts } from 'src/utilities/charts'; diff --git a/packages/manager/src/components/LineGraph/MetricsDisplay.test.tsx b/packages/manager/src/components/LineGraph/MetricsDisplay.test.tsx index b1f6a15a4f8..a0ed9559aa5 100644 --- a/packages/manager/src/components/LineGraph/MetricsDisplay.test.tsx +++ b/packages/manager/src/components/LineGraph/MetricsDisplay.test.tsx @@ -1,6 +1,6 @@ import { shallow } from 'enzyme'; import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { metricsBySection, MetricsDisplay, diff --git a/packages/manager/src/components/LineGraph/MetricsDisplay.tsx b/packages/manager/src/components/LineGraph/MetricsDisplay.tsx index 6198332e6f3..c6828462c44 100644 --- a/packages/manager/src/components/LineGraph/MetricsDisplay.tsx +++ b/packages/manager/src/components/LineGraph/MetricsDisplay.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Table } from 'src/components/Table'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; diff --git a/packages/manager/src/components/LongviewLineGraph/LongviewLineGraph.tsx b/packages/manager/src/components/LongviewLineGraph/LongviewLineGraph.tsx index df840e8c1fc..10311f30f10 100644 --- a/packages/manager/src/components/LongviewLineGraph/LongviewLineGraph.tsx +++ b/packages/manager/src/components/LongviewLineGraph/LongviewLineGraph.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Divider from 'src/components/core/Divider'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import { DataSet, diff --git a/packages/manager/src/components/MainContentBanner.tsx b/packages/manager/src/components/MainContentBanner.tsx index 94312bc4824..636749f2a81 100644 --- a/packages/manager/src/components/MainContentBanner.tsx +++ b/packages/manager/src/components/MainContentBanner.tsx @@ -3,7 +3,7 @@ import Close from '@mui/icons-material/Close'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Grid from '@mui/material/Unstable_Grid2'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Link } from 'src/components/Link'; import { useMutatePreferences, usePreferences } from 'src/queries/preferences'; diff --git a/packages/manager/src/components/MaintenanceBanner/MaintenanceBanner.tsx b/packages/manager/src/components/MaintenanceBanner/MaintenanceBanner.tsx index cd3269cedfe..fd4f545169e 100644 --- a/packages/manager/src/components/MaintenanceBanner/MaintenanceBanner.tsx +++ b/packages/manager/src/components/MaintenanceBanner/MaintenanceBanner.tsx @@ -1,7 +1,7 @@ import { AccountMaintenance } from '@linode/api-v4/lib/account'; import * as React from 'react'; import { Link } from 'react-router-dom'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { useProfile } from 'src/queries/profile'; import { formatDate } from 'src/utilities/formatDate'; diff --git a/packages/manager/src/components/MaintenanceScreen.tsx b/packages/manager/src/components/MaintenanceScreen.tsx index 92fd3c64b25..1cf18f647f2 100644 --- a/packages/manager/src/components/MaintenanceScreen.tsx +++ b/packages/manager/src/components/MaintenanceScreen.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Link from 'src/components/Link'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Box } from 'src/components/Box'; import Logo from 'src/assets/logo/akamai-logo.svg'; import BuildIcon from '@mui/icons-material/Build'; diff --git a/packages/manager/src/components/MigrateError.tsx b/packages/manager/src/components/MigrateError.tsx index eeb9e62289f..98b9395b3a0 100644 --- a/packages/manager/src/components/MigrateError.tsx +++ b/packages/manager/src/components/MigrateError.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { SupportLink } from 'src/components/SupportLink'; export const MigrateError: React.FC<{}> = () => { diff --git a/packages/manager/src/components/MultipleIPInput/MultipleIPInput.tsx b/packages/manager/src/components/MultipleIPInput/MultipleIPInput.tsx index 4038a2edc27..23a687d4853 100644 --- a/packages/manager/src/components/MultipleIPInput/MultipleIPInput.tsx +++ b/packages/manager/src/components/MultipleIPInput/MultipleIPInput.tsx @@ -6,7 +6,7 @@ import { Button } from 'src/components/Button/Button'; import InputLabel from 'src/components/core/InputLabel'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/components/Notice/Notice.tsx b/packages/manager/src/components/Notice/Notice.tsx index d80739fc5a0..b4c45b9b672 100644 --- a/packages/manager/src/components/Notice/Notice.tsx +++ b/packages/manager/src/components/Notice/Notice.tsx @@ -6,7 +6,7 @@ import Error from 'src/assets/icons/alert.svg'; import Check from 'src/assets/icons/check.svg'; import Flag from 'src/assets/icons/flag.svg'; import Warning from 'src/assets/icons/warning.svg'; -import Typography, { TypographyProps } from 'src/components/core/Typography'; +import { Typography, TypographyProps } from 'src/components/Typography'; import { makeStyles } from 'tss-react/mui'; export const useStyles = makeStyles< diff --git a/packages/manager/src/components/PasswordInput/StrengthIndicator.tsx b/packages/manager/src/components/PasswordInput/StrengthIndicator.tsx index 9693730b6a2..f2cdfcd99a8 100644 --- a/packages/manager/src/components/PasswordInput/StrengthIndicator.tsx +++ b/packages/manager/src/components/PasswordInput/StrengthIndicator.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; type StrengthValues = null | 0 | 1 | 2 | 3 | 4; diff --git a/packages/manager/src/components/PaymentMethodRow/ThirdPartyPayment.tsx b/packages/manager/src/components/PaymentMethodRow/ThirdPartyPayment.tsx index c44fa81c758..fbec0b02621 100644 --- a/packages/manager/src/components/PaymentMethodRow/ThirdPartyPayment.tsx +++ b/packages/manager/src/components/PaymentMethodRow/ThirdPartyPayment.tsx @@ -5,7 +5,7 @@ import PayPalIcon from 'src/assets/icons/payment/payPal.svg'; import { makeStyles, useTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Box from '@mui/material/Box'; import CreditCard from 'src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/CreditCard'; diff --git a/packages/manager/src/components/Placeholder/Placeholder.tsx b/packages/manager/src/components/Placeholder/Placeholder.tsx index fddaacc8401..9a16b24a576 100644 --- a/packages/manager/src/components/Placeholder/Placeholder.tsx +++ b/packages/manager/src/components/Placeholder/Placeholder.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import LinodeIcon from 'src/assets/addnewmenu/linode.svg'; import { Button, ButtonProps } from 'src/components/Button/Button'; import { styled, useTheme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { H1Header } from 'src/components/H1Header/H1Header'; import { TransferDisplay } from '../TransferDisplay/TransferDisplay'; import { fadeIn } from 'src/styles/keyframes'; diff --git a/packages/manager/src/components/PromotionalOfferCard/PromotionalOfferCard.tsx b/packages/manager/src/components/PromotionalOfferCard/PromotionalOfferCard.tsx index 7b2c86ae9d7..51ea2c71f00 100644 --- a/packages/manager/src/components/PromotionalOfferCard/PromotionalOfferCard.tsx +++ b/packages/manager/src/components/PromotionalOfferCard/PromotionalOfferCard.tsx @@ -5,7 +5,7 @@ import Button from '@mui/material/Button'; import Paper from 'src/components/core/Paper'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { PromotionalOffer } from 'src/featureFlags'; import { useWindowDimensions } from 'src/hooks/useWindowDimensions'; import { diff --git a/packages/manager/src/components/SelectRegionPanel/RegionHelperText.tsx b/packages/manager/src/components/SelectRegionPanel/RegionHelperText.tsx index 51607392e73..13847a03b52 100644 --- a/packages/manager/src/components/SelectRegionPanel/RegionHelperText.tsx +++ b/packages/manager/src/components/SelectRegionPanel/RegionHelperText.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; interface RegionHelperTextProps { onClick?: () => void; diff --git a/packages/manager/src/components/SelectRegionPanel/SelectRegionPanel.tsx b/packages/manager/src/components/SelectRegionPanel/SelectRegionPanel.tsx index 3218445176a..8d9a04f56dc 100644 --- a/packages/manager/src/components/SelectRegionPanel/SelectRegionPanel.tsx +++ b/packages/manager/src/components/SelectRegionPanel/SelectRegionPanel.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { CROSS_DATA_CENTER_CLONE_WARNING } from 'src/features/Linodes/LinodesCreate/utilities'; import { getQueryParamsFromQueryString } from 'src/utilities/queryParams'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/components/ShowMoreExpansion/ShowMoreExpansion.stories.mdx b/packages/manager/src/components/ShowMoreExpansion/ShowMoreExpansion.stories.mdx index d7e9c3c35df..4a0fd0c7d38 100644 --- a/packages/manager/src/components/ShowMoreExpansion/ShowMoreExpansion.stories.mdx +++ b/packages/manager/src/components/ShowMoreExpansion/ShowMoreExpansion.stories.mdx @@ -1,5 +1,5 @@ import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ShowMoreExpansion from './ShowMoreExpansion'; { confirmationText?: JSX.Element | string; diff --git a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.test.tsx b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.test.tsx index d2bd7008508..22586a7f23e 100644 --- a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.test.tsx +++ b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.test.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { renderWithTheme } from 'src/utilities/testHelpers'; import { TypeToConfirmDialog } from './TypeToConfirmDialog'; diff --git a/packages/manager/src/components/Typography.stories.mdx b/packages/manager/src/components/Typography.stories.mdx deleted file mode 100644 index 88391220f3f..00000000000 --- a/packages/manager/src/components/Typography.stories.mdx +++ /dev/null @@ -1,120 +0,0 @@ -import { ArgsTable, Canvas, Meta, Story } from '@storybook/addon-docs'; -import Divider from 'src/components/core/Divider'; -import Typography from 'src/components/core/Typography'; - - - -export const TypographyTemplate = (args) => ; - -# Typography - -## Headings - -### Primary heading (h1) - -- Empty state entity landing pages. -- Billing and payment paper. -- Backup auto enrollment paper. - - - - - Primary Heading (h1) - - - - -### Secondary heading (h2) - -- Page-level headings and high-level typographical components, such as editable text and breadcrumbs. -- Section-level headings, such as drawers, some table headers and panel sections. - - - - - Secondary Heading (h2) - - - - -### Tertiary headings (h3) - -- Sub-section headings. -- Titles of paper components. - - - - - Tertiary Heading (h3) - - - - -## Text - - - - - Base typography component example, no variant applied. Utilized wherever - typography component is declared without a specific variant. - - - - - - - - Body1. Implemented using the 'body1' variant. Styles are identical for - both body variants since there are 2 defined by MUI but Manager only has 1 - body style. Utilized for general body text, messaging, descriptions, and - helper info. - - - - - - - - Caption. Implemented using the 'caption' variant. Utilized for helper info - on some form elements (ex. password strength indicator) and secondary - descriptions (ex. search result items). - - - - - - - - Button variant - - - - -## Component API - - - - {TypographyTemplate.bind({})} - - - - diff --git a/packages/manager/src/components/Typography.stories.tsx b/packages/manager/src/components/Typography.stories.tsx new file mode 100644 index 00000000000..bf4112116ed --- /dev/null +++ b/packages/manager/src/components/Typography.stories.tsx @@ -0,0 +1,83 @@ +import React from 'react'; +import { Meta, StoryObj } from '@storybook/react'; +import { Typography } from './Typography'; + +const meta: Meta = { + title: 'Components/Typography', + component: Typography, +}; + +type Story = StoryObj; + +export const Default: Story = { + render: (args) => , + args: { + children: 'Hello World', + }, +}; + +/** + * #### Primary heading + * - Empty state entity landing pages. + * - Billing and payment paper. + * - Backup auto enrollment paper. + */ +export const H1: Story = { + render: (args) => , + args: { + variant: 'h1', + children: 'Hello World', + }, +}; + +/** + * #### Secondary heading + * - Page-level headings and high-level typographical components, such as editable text and breadcrumbs. + * - Section-level headings, such as drawers, some table headers and panel sections. + */ +export const H2: Story = { + render: (args) => , + args: { + variant: 'h2', + children: 'Hello World', + }, +}; + +/** + * #### Tertiary headings + * - Sub-section headings. + * - Titles of paper components. + */ +export const H3: Story = { + render: (args) => , + args: { + variant: 'h3', + children: 'Hello World', + }, +}; + +export const Body1: Story = { + render: (args) => , + args: { + variant: 'body1', + children: 'Hello World', + }, +}; + +export const Body2: Story = { + render: (args) => , + args: { + variant: 'body2', + children: 'Hello World', + }, +}; + +export const Caption: Story = { + render: (args) => , + args: { + variant: 'caption', + children: 'Hello World', + }, +}; + +export default meta; diff --git a/packages/manager/src/components/Typography.ts b/packages/manager/src/components/Typography.ts new file mode 100644 index 00000000000..b1022403337 --- /dev/null +++ b/packages/manager/src/components/Typography.ts @@ -0,0 +1,5 @@ +import { default as _Typography } from '@mui/material/Typography'; +import type { TypographyProps as _TypographyProps } from '@mui/material/Typography'; + +export const Typography = _Typography; +export type TypographyProps = _TypographyProps; diff --git a/packages/manager/src/components/VerificationError.tsx b/packages/manager/src/components/VerificationError.tsx index d898ca694b3..7d6350541bd 100644 --- a/packages/manager/src/components/VerificationError.tsx +++ b/packages/manager/src/components/VerificationError.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { SupportLink } from 'src/components/SupportLink'; interface Props { diff --git a/packages/manager/src/components/core/Typography.ts b/packages/manager/src/components/core/Typography.ts deleted file mode 100644 index bf997ad9d18..00000000000 --- a/packages/manager/src/components/core/Typography.ts +++ /dev/null @@ -1,8 +0,0 @@ -import Typography, { - TypographyProps as _TypographyProps, -} from '@mui/material/Typography'; - -/* tslint:disable-next-line:no-empty-interface */ -export interface TypographyProps extends _TypographyProps {} - -export default Typography; diff --git a/packages/manager/src/features/Account/AccountLogins.tsx b/packages/manager/src/features/Account/AccountLogins.tsx index 9fe7e06d062..4a8f5bc20dc 100644 --- a/packages/manager/src/features/Account/AccountLogins.tsx +++ b/packages/manager/src/features/Account/AccountLogins.tsx @@ -1,5 +1,5 @@ import { AccountLogin } from '@linode/api-v4/lib/account/types'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import * as React from 'react'; import { Hidden } from 'src/components/Hidden'; import { makeStyles } from 'tss-react/mui'; diff --git a/packages/manager/src/features/Account/Agreements/EUAgreementCheckbox.tsx b/packages/manager/src/features/Account/Agreements/EUAgreementCheckbox.tsx index cfd7a5e06ec..a65b567f265 100644 --- a/packages/manager/src/features/Account/Agreements/EUAgreementCheckbox.tsx +++ b/packages/manager/src/features/Account/Agreements/EUAgreementCheckbox.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import CheckBox from 'src/components/CheckBox'; +import { Typography } from 'src/components/Typography'; import { Box } from 'src/components/Box'; -import Typography from 'src/components/core/Typography'; import Link from 'src/components/Link'; interface Props { diff --git a/packages/manager/src/features/Account/AutoBackups.tsx b/packages/manager/src/features/Account/AutoBackups.tsx index d954db5f796..7fccbc77040 100644 --- a/packages/manager/src/features/Account/AutoBackups.tsx +++ b/packages/manager/src/features/Account/AutoBackups.tsx @@ -7,7 +7,7 @@ import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; import OpenInNew from '@mui/icons-material/OpenInNew'; import { Toggle } from 'src/components/Toggle'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; const useStyles = makeStyles()((theme: Theme) => ({ footnote: { diff --git a/packages/manager/src/features/Account/CloseAccountDialog.tsx b/packages/manager/src/features/Account/CloseAccountDialog.tsx index f0dcd07cb31..a88a0210ba4 100644 --- a/packages/manager/src/features/Account/CloseAccountDialog.tsx +++ b/packages/manager/src/features/Account/CloseAccountDialog.tsx @@ -8,7 +8,7 @@ import { ConfirmationDialog } from 'src/components/ConfirmationDialog/Confirmati import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import { Notice } from 'src/components/Notice/Notice'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; import { TextField } from 'src/components/TextField'; import { useProfile } from 'src/queries/profile'; diff --git a/packages/manager/src/features/Account/EnableManaged.tsx b/packages/manager/src/features/Account/EnableManaged.tsx index c2c24b884c6..da6889d004a 100644 --- a/packages/manager/src/features/Account/EnableManaged.tsx +++ b/packages/manager/src/features/Account/EnableManaged.tsx @@ -5,7 +5,7 @@ import { Accordion } from 'src/components/Accordion'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ExternalLink from 'src/components/ExternalLink'; import Grid from '@mui/material/Unstable_Grid2'; import { SupportLink } from 'src/components/SupportLink'; diff --git a/packages/manager/src/features/Account/EnableObjectStorage.tsx b/packages/manager/src/features/Account/EnableObjectStorage.tsx index 27aa49724ce..f54136a074a 100644 --- a/packages/manager/src/features/Account/EnableObjectStorage.tsx +++ b/packages/manager/src/features/Account/EnableObjectStorage.tsx @@ -9,7 +9,7 @@ import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { Notice } from 'src/components/Notice/Notice'; import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ExternalLink from 'src/components/ExternalLink'; import Grid from '@mui/material/Unstable_Grid2'; import { updateAccountSettingsData } from 'src/queries/accountSettings'; diff --git a/packages/manager/src/features/Account/Maintenance/MaintenanceTable.tsx b/packages/manager/src/features/Account/Maintenance/MaintenanceTable.tsx index 50d017420a3..809b0153b95 100644 --- a/packages/manager/src/features/Account/Maintenance/MaintenanceTable.tsx +++ b/packages/manager/src/features/Account/Maintenance/MaintenanceTable.tsx @@ -11,7 +11,7 @@ import { PaginationFooter } from 'src/components/PaginationFooter/PaginationFoot import { TableRowError } from 'src/components/TableRowError/TableRowError'; import { TableSortCell } from 'src/components/TableSortCell'; import { TableRowEmpty } from 'src/components/TableRowEmpty/TableRowEmpty'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { usePagination } from 'src/hooks/usePagination'; import { AccountMaintenance } from '@linode/api-v4/lib/account/types'; import { DownloadCSV } from 'src/components/DownloadCSV/DownloadCSV'; diff --git a/packages/manager/src/features/Account/NetworkHelper.tsx b/packages/manager/src/features/Account/NetworkHelper.tsx index 0aa96e303ca..390ddaf000c 100644 --- a/packages/manager/src/features/Account/NetworkHelper.tsx +++ b/packages/manager/src/features/Account/NetworkHelper.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import FormControlLabel from 'src/components/core/FormControlLabel'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Accordion } from 'src/components/Accordion'; import Grid from '@mui/material/Unstable_Grid2'; import { Toggle } from 'src/components/Toggle'; diff --git a/packages/manager/src/features/Backups/AutoEnroll.tsx b/packages/manager/src/features/Backups/AutoEnroll.tsx index 3798d9f77a8..2427f537e20 100644 --- a/packages/manager/src/features/Backups/AutoEnroll.tsx +++ b/packages/manager/src/features/Backups/AutoEnroll.tsx @@ -3,7 +3,7 @@ import FormControlLabel from 'src/components/core/FormControlLabel'; import Paper from 'src/components/core/Paper'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ExternalLink from 'src/components/ExternalLink'; import { Notice } from 'src/components/Notice/Notice'; import { Toggle } from 'src/components/Toggle'; diff --git a/packages/manager/src/features/Backups/BackupDrawer.tsx b/packages/manager/src/features/Backups/BackupDrawer.tsx index c29cbbd6e67..c408789f4e7 100644 --- a/packages/manager/src/features/Backups/BackupDrawer.tsx +++ b/packages/manager/src/features/Backups/BackupDrawer.tsx @@ -6,8 +6,8 @@ import { QueryClient } from 'react-query'; import { connect, MapDispatchToProps, MapStateToProps } from 'react-redux'; import { compose } from 'recompose'; import ActionsPanel from 'src/components/ActionsPanel'; +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import { DisplayPrice } from 'src/components/DisplayPrice'; import Drawer from 'src/components/Drawer'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Backups/BackupLinodes.tsx b/packages/manager/src/features/Backups/BackupLinodes.tsx index a89ec1a194c..cdc7b6d5e59 100644 --- a/packages/manager/src/features/Backups/BackupLinodes.tsx +++ b/packages/manager/src/features/Backups/BackupLinodes.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { displayPrice as _displayPrice } from 'src/components/DisplayPrice/DisplayPrice'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; diff --git a/packages/manager/src/features/Backups/BackupsCTA.tsx b/packages/manager/src/features/Backups/BackupsCTA.tsx index a79f9e32b6e..8c43349431f 100644 --- a/packages/manager/src/features/Backups/BackupsCTA.tsx +++ b/packages/manager/src/features/Backups/BackupsCTA.tsx @@ -7,7 +7,7 @@ import { compose } from 'recompose'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { PreferenceToggle } from 'src/components/PreferenceToggle/PreferenceToggle'; import { useAccountSettings } from 'src/queries/accountSettings'; import { handleOpen } from 'src/store/backupDrawer'; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingActivityPanel/BillingActivityPanel.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingActivityPanel/BillingActivityPanel.tsx index 31068ad2696..7027a4f6d9e 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingActivityPanel/BillingActivityPanel.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingActivityPanel/BillingActivityPanel.tsx @@ -11,7 +11,7 @@ import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { TextTooltip } from 'src/components/TextTooltip'; import { Currency } from 'src/components/Currency'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/BillingSummary.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/BillingSummary.tsx index 4a1281d6c53..77437a439f7 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/BillingSummary.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/BillingSummary.tsx @@ -7,7 +7,7 @@ import Grid from '@mui/material/Unstable_Grid2'; import PaymentDrawer from './PaymentDrawer'; import PromoDialog from './PromoDialog'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import useAccountManagement from 'src/hooks/useAccountManagement'; import { ActivePromotion } from '@linode/api-v4/lib/account/types'; import { BillingPaper } from '../../BillingDetail'; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/CreditCard.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/CreditCard.tsx index b547fe41159..a5128c0b843 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/CreditCard.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/CreditCard.tsx @@ -8,7 +8,7 @@ import MastercardIcon from 'src/assets/icons/payment/mastercard.svg'; import VisaIcon from 'src/assets/icons/payment/visa.svg'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import isCreditCardExpired, { formatExpiry } from 'src/utilities/creditCard'; import Box from '@mui/material/Box'; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentBits/CreditCardDialog.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentBits/CreditCardDialog.tsx index 7dfe14662d9..dcd66701c65 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentBits/CreditCardDialog.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentBits/CreditCardDialog.tsx @@ -3,7 +3,7 @@ import { compose } from 'recompose'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; interface Actions { diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentDrawer.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentDrawer.tsx index 1e04aaf7df9..ff0927858d7 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentDrawer.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PaymentDrawer/PaymentDrawer.tsx @@ -8,7 +8,7 @@ import Divider from 'src/components/core/Divider'; import InputAdornment from 'src/components/core/InputAdornment'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Currency } from 'src/components/Currency'; import Drawer from 'src/components/Drawer'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDialog.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDialog.tsx index d64e360228d..6daead255bb 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDialog.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDialog.tsx @@ -3,7 +3,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { makeStyles } from 'tss-react/mui'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { TextField } from 'src/components/TextField'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDisplay.tsx b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDisplay.tsx index 82a0b4ab203..98c95e165cd 100644 --- a/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDisplay.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/BillingSummary/PromoDisplay.tsx @@ -3,7 +3,7 @@ import { Box } from 'src/components/Box'; import { Currency } from 'src/components/Currency'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useTheme } from '@mui/material/styles'; import { ActivePromotion, diff --git a/packages/manager/src/features/Billing/BillingPanels/ContactInfoPanel/ContactInformation.tsx b/packages/manager/src/features/Billing/BillingPanels/ContactInfoPanel/ContactInformation.tsx index 1cabec6e93e..35eb951fb27 100644 --- a/packages/manager/src/features/Billing/BillingPanels/ContactInfoPanel/ContactInformation.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/ContactInfoPanel/ContactInformation.tsx @@ -1,7 +1,7 @@ import countryData from 'country-region-data'; import * as React from 'react'; import { useHistory, useRouteMatch } from 'react-router-dom'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import BillingContactDrawer from './EditBillingContactDrawer'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/AddPaymentMethodDrawer/AddPaymentMethodDrawer.tsx b/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/AddPaymentMethodDrawer/AddPaymentMethodDrawer.tsx index 37660eea6be..40cd5ed623e 100644 --- a/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/AddPaymentMethodDrawer/AddPaymentMethodDrawer.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/AddPaymentMethodDrawer/AddPaymentMethodDrawer.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { PaymentMethod } from '@linode/api-v4/lib/account'; import { VariantType } from 'notistack'; import Divider from 'src/components/core/Divider'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import Grid from '@mui/material/Unstable_Grid2'; import { LinearProgress } from 'src/components/LinearProgress'; diff --git a/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/PaymentInformation.tsx b/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/PaymentInformation.tsx index 354bebc28c4..d1373808c6d 100644 --- a/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/PaymentInformation.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/PaymentInformation.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import AddPaymentMethodDrawer from './AddPaymentMethodDrawer'; import DeletePaymentMethodDialog from 'src/components/PaymentMethodRow/DeletePaymentMethodDialog'; import Grid from '@mui/material/Unstable_Grid2'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { APIError } from '@linode/api-v4/lib/types'; import { deletePaymentMethod, PaymentMethod } from '@linode/api-v4/lib/account'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/PaymentMethods.tsx b/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/PaymentMethods.tsx index 34a376152ee..ba7e24e1756 100644 --- a/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/PaymentMethods.tsx +++ b/packages/manager/src/features/Billing/BillingPanels/PaymentInfoPanel/PaymentMethods.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { CircleProgress } from 'src/components/CircleProgress'; import Grid from '@mui/material/Unstable_Grid2'; import PaymentMethodRow from 'src/components/PaymentMethodRow'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { APIError } from '@linode/api-v4/lib/types'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; import { PaymentMethod } from '@linode/api-v4/lib/account/types'; diff --git a/packages/manager/src/features/Billing/InvoiceDetail/InvoiceDetail.tsx b/packages/manager/src/features/Billing/InvoiceDetail/InvoiceDetail.tsx index c5b2bb42ed1..b3f2056b523 100644 --- a/packages/manager/src/features/Billing/InvoiceDetail/InvoiceDetail.tsx +++ b/packages/manager/src/features/Billing/InvoiceDetail/InvoiceDetail.tsx @@ -13,7 +13,7 @@ import { useParams } from 'react-router-dom'; import { Button } from 'src/components/Button/Button'; import Paper from 'src/components/core/Paper'; import { useTheme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Currency } from 'src/components/Currency'; import Grid from '@mui/material/Unstable_Grid2'; import { IconButton } from 'src/components/IconButton'; diff --git a/packages/manager/src/features/CancelLanding/CancelLanding.tsx b/packages/manager/src/features/CancelLanding/CancelLanding.tsx index caaecda85c9..84c1076ed86 100644 --- a/packages/manager/src/features/CancelLanding/CancelLanding.tsx +++ b/packages/manager/src/features/CancelLanding/CancelLanding.tsx @@ -3,10 +3,9 @@ import * as React from 'react'; import { Redirect, useLocation } from 'react-router-dom'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; - import AkamaiLogo from 'src/assets/logo/akamai-logo.svg'; +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import { H1Header } from 'src/components/H1Header/H1Header'; const useStyles = makeStyles()((theme: Theme) => ({ diff --git a/packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx b/packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx index a0e92f1eebe..6d409bbfc8d 100644 --- a/packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx +++ b/packages/manager/src/features/Databases/DatabaseCreate/DatabaseCreate.tsx @@ -25,7 +25,7 @@ import FormControl from 'src/components/core/FormControl'; import FormControlLabel from 'src/components/core/FormControlLabel'; import Paper from 'src/components/core/Paper'; import RadioGroup from 'src/components/core/RadioGroup'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { _SingleValue } from 'src/components/EnhancedSelect/components/SingleValue'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import { RegionSelect } from 'src/components/EnhancedSelect/variants/RegionSelect'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/AccessControls.tsx b/packages/manager/src/features/Databases/DatabaseDetail/AccessControls.tsx index d7e446d9fa2..2933c54d24f 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/AccessControls.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/AccessControls.tsx @@ -7,7 +7,7 @@ import AddNewLink from 'src/components/AddNewLink'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { TableBody } from 'src/components/TableBody'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import InlineMenuAction from 'src/components/InlineMenuAction'; import { Notice } from 'src/components/Notice/Notice'; import { Table } from 'src/components/Table'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/AddAccessControlDrawer.tsx b/packages/manager/src/features/Databases/DatabaseDetail/AddAccessControlDrawer.tsx index 8508635c6d5..16fe3d69198 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/AddAccessControlDrawer.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/AddAccessControlDrawer.tsx @@ -3,8 +3,8 @@ import { Theme } from '@mui/material/styles'; import { useFormik } from 'formik'; import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import Drawer from 'src/components/Drawer'; import { MultipleIPInput } from 'src/components/MultipleIPInput/MultipleIPInput'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/DatabaseBackups.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/DatabaseBackups.tsx index ee126af69b0..8e565111281 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/DatabaseBackups.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/DatabaseBackups.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Paper from 'src/components/core/Paper'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Table } from 'src/components/Table'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx index 71b92a76d5a..4575fdd1644 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseBackups/RestoreFromBackupDialog.tsx @@ -8,7 +8,7 @@ import { ConfirmationDialog } from 'src/components/ConfirmationDialog/Confirmati import { DialogProps } from 'src/components/Dialog/Dialog'; import { Notice } from 'src/components/Notice/Notice'; import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useRestoreFromBackupMutation } from 'src/queries/databases'; import { usePreferences } from 'src/queries/preferences'; import { useProfile } from 'src/queries/profile'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettings.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettings.tsx index cb80e401442..c3160183e87 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettings.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettings.tsx @@ -2,7 +2,7 @@ import { Database } from '@linode/api-v4/lib/databases/types'; import * as React from 'react'; import Divider from 'src/components/core/Divider'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useProfile } from 'src/queries/profile'; import AccessControls from '../AccessControls'; import DatabaseSettingsDeleteClusterDialog from './DatabaseSettingsDeleteClusterDialog'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx index 28c4b4f9968..5367d1f4b21 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsDeleteClusterDialog.tsx @@ -5,7 +5,7 @@ import { useHistory } from 'react-router-dom'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; import { useDeleteDatabaseMutation } from 'src/queries/databases'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsMenuItem.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsMenuItem.tsx index 9d83187ecc4..5f496c65140 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsMenuItem.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsMenuItem.tsx @@ -1,7 +1,7 @@ import { Theme } from '@mui/material/styles'; import * as React from 'react'; +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import { makeStyles } from 'tss-react/mui'; interface Props { diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsResetPasswordDialog.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsResetPasswordDialog.tsx index 670901d1af3..fd84599f2ea 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsResetPasswordDialog.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/DatabaseSettingsResetPasswordDialog.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { useDatabaseCredentialsMutation } from 'src/queries/databases'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/MaintenanceWindow.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/MaintenanceWindow.tsx index 152eb338fed..866ecdd1839 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/MaintenanceWindow.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSettings/MaintenanceWindow.tsx @@ -10,7 +10,7 @@ import { Button } from 'src/components/Button/Button'; import FormControl from 'src/components/core/FormControl'; import FormControlLabel from 'src/components/core/FormControlLabel'; import RadioGroup from 'src/components/core/RadioGroup'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummary.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummary.tsx index d097e790688..fcfd9bb611d 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummary.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummary.tsx @@ -2,7 +2,7 @@ import { Database } from '@linode/api-v4/lib/databases/types'; import * as React from 'react'; import Divider from 'src/components/core/Divider'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { Link } from 'src/components/Link'; import AccessControls from '../AccessControls'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryClusterConfiguration.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryClusterConfiguration.tsx index 93e4525f1c9..c854d57452d 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryClusterConfiguration.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryClusterConfiguration.tsx @@ -1,8 +1,8 @@ import { Database, DatabaseInstance } from '@linode/api-v4/lib/databases/types'; import { Theme } from '@mui/material/styles'; import * as React from 'react'; +import { Typography } from 'src/components/Typography'; import { Box } from 'src/components/Box'; -import Typography from 'src/components/core/Typography'; import { StatusIcon } from 'src/components/StatusIcon/StatusIcon'; import { useDatabaseTypesQuery } from 'src/queries/databases'; import { useRegionsQuery } from 'src/queries/regions'; diff --git a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx index 0359b429a31..a528d7f1fc7 100644 --- a/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx +++ b/packages/manager/src/features/Databases/DatabaseDetail/DatabaseSummary/DatabaseSummaryConnectionDetails.tsx @@ -7,8 +7,8 @@ import DownloadIcon from 'src/assets/icons/lke-download.svg'; import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; +import { Typography } from 'src/components/Typography'; import { Box } from 'src/components/Box'; -import Typography from 'src/components/core/Typography'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { DB_ROOT_USERNAME } from 'src/constants'; import { useDatabaseCredentialsQuery } from 'src/queries/databases'; diff --git a/packages/manager/src/features/Domains/DomainBanner.tsx b/packages/manager/src/features/Domains/DomainBanner.tsx index bce781f1c60..0b7e5b0f856 100644 --- a/packages/manager/src/features/Domains/DomainBanner.tsx +++ b/packages/manager/src/features/Domains/DomainBanner.tsx @@ -2,7 +2,7 @@ import { DateTime } from 'luxon'; import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import DismissibleBanner from 'src/components/DismissibleBanner'; import Link from 'src/components/Link'; diff --git a/packages/manager/src/features/Domains/DomainDetail/DomainDetail.tsx b/packages/manager/src/features/Domains/DomainDetail/DomainDetail.tsx index 6b02c889ae9..81581ecf95a 100644 --- a/packages/manager/src/features/Domains/DomainDetail/DomainDetail.tsx +++ b/packages/manager/src/features/Domains/DomainDetail/DomainDetail.tsx @@ -9,7 +9,7 @@ import summaryPanelStyles from 'src/containers/SummaryPanels.styles'; import LandingHeader from 'src/components/LandingHeader'; import Grid from '@mui/material/Unstable_Grid2'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { TagsPanel } from 'src/components/TagsPanel/TagsPanel'; import DomainRecords from '../DomainRecords'; import DeleteDomain from '../DeleteDomain'; diff --git a/packages/manager/src/features/Domains/DomainRecords.tsx b/packages/manager/src/features/Domains/DomainRecords.tsx index a10b9406598..baebaf87b7a 100644 --- a/packages/manager/src/features/Domains/DomainRecords.tsx +++ b/packages/manager/src/features/Domains/DomainRecords.tsx @@ -29,7 +29,7 @@ import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import Grid from '@mui/material/Unstable_Grid2'; import OrderBy from 'src/components/OrderBy'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferCheckoutBar.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferCheckoutBar.tsx index 022ffd47e8d..8c520e30cf6 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferCheckoutBar.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferCheckoutBar.tsx @@ -4,7 +4,7 @@ import * as React from 'react'; import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { pluralize } from 'src/utilities/pluralize'; import { TransferState } from './transferReducer'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferHeader.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferHeader.tsx index c6e07f0952d..60affb64f29 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferHeader.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferHeader.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; export const TransferHeader: React.FC<{}> = (_) => { return ( diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferTable.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferTable.tsx index 590e7d51e5c..9a834eb3a76 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferTable.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersCreate/TransferTable.tsx @@ -4,7 +4,7 @@ import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DebouncedSearchTextField } from 'src/components/DebouncedSearchTextField'; import { PaginationFooter } from 'src/components/PaginationFooter/PaginationFooter'; import { Table } from 'src/components/Table'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferCancelDialog.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferCancelDialog.tsx index c323e325ef6..8ece9150d25 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferCancelDialog.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferCancelDialog.tsx @@ -9,7 +9,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { makeStyles } from '@mui/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { queryKey } from 'src/queries/entityTransfers'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferDialog.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferDialog.tsx index b4ddc796ba5..a6ca0fbcc13 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferDialog.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/ConfirmTransferDialog.tsx @@ -12,7 +12,7 @@ import { CircleProgress } from 'src/components/CircleProgress'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import { Notice } from 'src/components/Notice/Notice'; import { diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/CreateTransferSuccessDialog.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/CreateTransferSuccessDialog.tsx index 6f18cf6712e..e61f5dde27e 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/CreateTransferSuccessDialog.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/CreateTransferSuccessDialog.tsx @@ -8,7 +8,7 @@ import { CopyableTextField } from 'src/components/CopyableTextField/CopyableText import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import ToolTip from 'src/components/core/Tooltip'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Dialog } from 'src/components/Dialog/Dialog'; import { parseAPIDate } from 'src/utilities/date'; import { diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx index 7191840befb..e19be6da3a4 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferControls.tsx @@ -4,7 +4,7 @@ import { Hidden } from 'src/components/Hidden'; import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferDetailsDialog.tsx b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferDetailsDialog.tsx index 4f6249b5982..bcc51ce6d4b 100644 --- a/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferDetailsDialog.tsx +++ b/packages/manager/src/features/EntityTransfers/EntityTransfersLanding/TransferDetailsDialog.tsx @@ -2,7 +2,7 @@ import { TransferEntities } from '@linode/api-v4/lib/entity-transfers/types'; import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Dialog } from 'src/components/Dialog/Dialog'; const useStyles = makeStyles((theme: Theme) => ({ diff --git a/packages/manager/src/features/Events/EventsLanding.tsx b/packages/manager/src/features/Events/EventsLanding.tsx index dc53368330f..68b7c0dee43 100644 --- a/packages/manager/src/features/Events/EventsLanding.tsx +++ b/packages/manager/src/features/Events/EventsLanding.tsx @@ -11,7 +11,7 @@ import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { H1Header } from 'src/components/H1Header/H1Header'; import { Table } from 'src/components/Table'; import { TableCell } from 'src/components/TableCell'; diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Devices/FirewallLinodesLanding.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Devices/FirewallLinodesLanding.tsx index 3f4f6203f95..10d2901a03e 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Devices/FirewallLinodesLanding.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Devices/FirewallLinodesLanding.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; import AddDeviceDrawer from './AddDeviceDrawer'; diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Devices/RemoveDeviceDialog.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Devices/RemoveDeviceDialog.tsx index 49a6f3d5283..9cbe56e3bbf 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Devices/RemoveDeviceDialog.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Devices/RemoveDeviceDialog.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useRemoveFirewallDeviceMutation } from 'src/queries/firewalls'; export interface Props { diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleDrawer.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleDrawer.tsx index 40bd944c9d9..d1c232549db 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleDrawer.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Drawer from 'src/components/Drawer'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { capitalize } from 'src/utilities/capitalize'; import { FirewallRuleForm } from './FirewallRuleForm'; import { Formik } from 'formik'; diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleForm.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleForm.tsx index cdaa58fe514..8043b0ef4d0 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleForm.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleForm.tsx @@ -7,7 +7,7 @@ import { Radio } from 'src/components/Radio/Radio'; import RadioGroup from 'src/components/core/RadioGroup'; import Select from 'src/components/EnhancedSelect'; import { TextField } from 'src/components/TextField'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { capitalize } from 'src/utilities/capitalize'; import { ipFieldPlaceholder } from 'src/utilities/ipUtils'; import { makeStyles } from '@mui/styles'; diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx index e83aa61b0cf..3b4312f4290 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRuleTable.tsx @@ -16,7 +16,7 @@ import { Hidden } from 'src/components/Hidden'; import { makeStyles, useTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import { generateAddressesLabel, diff --git a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRulesLanding.tsx b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRulesLanding.tsx index 5127f356f59..1059144362c 100644 --- a/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRulesLanding.tsx +++ b/packages/manager/src/features/Firewalls/FirewallDetail/Rules/FirewallRulesLanding.tsx @@ -12,7 +12,7 @@ import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { Notice } from 'src/components/Notice/Notice'; import { Prompt } from 'src/components/Prompt/Prompt'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useUpdateFirewallRulesMutation } from 'src/queries/firewalls'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; import { FirewallRuleDrawer } from './FirewallRuleDrawer'; diff --git a/packages/manager/src/features/GlobalNotifications/APIMaintenanceBanner.tsx b/packages/manager/src/features/GlobalNotifications/APIMaintenanceBanner.tsx index b5ff2f7bb82..c32c6509d8c 100644 --- a/packages/manager/src/features/GlobalNotifications/APIMaintenanceBanner.tsx +++ b/packages/manager/src/features/GlobalNotifications/APIMaintenanceBanner.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Stack from '@mui/material/Stack'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import DismissibleBanner from 'src/components/DismissibleBanner'; import Link from 'src/components/Link'; import { SuppliedMaintenanceData } from 'src/featureFlags'; diff --git a/packages/manager/src/features/GlobalNotifications/ComplianceBanner.tsx b/packages/manager/src/features/GlobalNotifications/ComplianceBanner.tsx index 0f3af1b26c3..1ce55a759ac 100644 --- a/packages/manager/src/features/GlobalNotifications/ComplianceBanner.tsx +++ b/packages/manager/src/features/GlobalNotifications/ComplianceBanner.tsx @@ -2,8 +2,8 @@ import { styled } from '@mui/system'; import * as React from 'react'; import { Button } from 'src/components/Button/Button'; import DismissibleBanner from 'src/components/DismissibleBanner'; +import { Typography } from 'src/components/Typography'; import { Box } from 'src/components/Box'; -import Typography from 'src/components/core/Typography'; import { complianceUpdateContext } from 'src/context/complianceUpdateContext'; import { useNotificationsQuery } from 'src/queries/accountNotifications'; import { isEUModelContractNotification } from '../NotificationCenter/NotificationData/useFormattedNotifications'; diff --git a/packages/manager/src/features/GlobalNotifications/ComplianceUpdateModal.tsx b/packages/manager/src/features/GlobalNotifications/ComplianceUpdateModal.tsx index 6a60374e436..9d06a5a213c 100644 --- a/packages/manager/src/features/GlobalNotifications/ComplianceUpdateModal.tsx +++ b/packages/manager/src/features/GlobalNotifications/ComplianceUpdateModal.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { SupportLink } from 'src/components/SupportLink'; import { useMutateAccountAgreements } from 'src/queries/accountAgreements'; import { getErrorStringOrDefault } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/GlobalNotifications/EmailBounce.tsx b/packages/manager/src/features/GlobalNotifications/EmailBounce.tsx index c7e93fe2372..47e10b82d84 100644 --- a/packages/manager/src/features/GlobalNotifications/EmailBounce.tsx +++ b/packages/manager/src/features/GlobalNotifications/EmailBounce.tsx @@ -5,7 +5,7 @@ import { Button } from 'src/components/Button/Button'; import { makeStyles, useTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import useMediaQuery from '@mui/material/useMediaQuery'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; import { useAccount, useMutateAccount } from 'src/queries/account'; diff --git a/packages/manager/src/features/GlobalNotifications/RegionStatusBanner.tsx b/packages/manager/src/features/GlobalNotifications/RegionStatusBanner.tsx index 84f479c4a81..1bc11d77b70 100644 --- a/packages/manager/src/features/GlobalNotifications/RegionStatusBanner.tsx +++ b/packages/manager/src/features/GlobalNotifications/RegionStatusBanner.tsx @@ -1,6 +1,6 @@ import { Region } from '@linode/api-v4/lib/regions/types'; import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ExternalLink from 'src/components/ExternalLink'; import { Notice } from 'src/components/Notice/Notice'; import { useRegionsQuery } from 'src/queries/regions'; diff --git a/packages/manager/src/features/GlobalNotifications/TaxCollectionBanner.tsx b/packages/manager/src/features/GlobalNotifications/TaxCollectionBanner.tsx index b378020f402..dad072bf614 100644 --- a/packages/manager/src/features/GlobalNotifications/TaxCollectionBanner.tsx +++ b/packages/manager/src/features/GlobalNotifications/TaxCollectionBanner.tsx @@ -6,7 +6,7 @@ import { useHistory } from 'react-router-dom'; import { Button } from 'src/components/Button/Button'; import DismissibleBanner from 'src/components/DismissibleBanner'; import Link from 'src/components/Link'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useFlags } from 'src/hooks/useFlags'; import { useAccount } from 'src/queries/account'; diff --git a/packages/manager/src/features/Help/Panels/OtherWays.tsx b/packages/manager/src/features/Help/Panels/OtherWays.tsx index 745af72d999..40e42659af3 100644 --- a/packages/manager/src/features/Help/Panels/OtherWays.tsx +++ b/packages/manager/src/features/Help/Panels/OtherWays.tsx @@ -5,7 +5,7 @@ import Status from 'src/assets/icons/status.svg'; import Support from 'src/assets/icons/support.svg'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Tile } from 'src/components/Tile/Tile'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Help/Panels/PopularPosts.tsx b/packages/manager/src/features/Help/Panels/PopularPosts.tsx index 71f58971bc3..980ed60650d 100644 --- a/packages/manager/src/features/Help/Panels/PopularPosts.tsx +++ b/packages/manager/src/features/Help/Panels/PopularPosts.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ExternalLink from 'src/components/ExternalLink'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Help/Panels/SearchItem.tsx b/packages/manager/src/features/Help/Panels/SearchItem.tsx index b2cfc05968e..914290e4a79 100644 --- a/packages/manager/src/features/Help/Panels/SearchItem.tsx +++ b/packages/manager/src/features/Help/Panels/SearchItem.tsx @@ -2,7 +2,7 @@ import classNames from 'classnames'; import * as React from 'react'; import { OptionProps } from 'react-select'; import Arrow from 'src/assets/icons/diagonalArrow.svg'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Option from 'src/components/EnhancedSelect/components/Option'; import { sanitizeHTML } from 'src/utilities/sanitize-html'; diff --git a/packages/manager/src/features/Help/StatusBanners.tsx b/packages/manager/src/features/Help/StatusBanners.tsx index 5d4186ee3fb..8262bbbf476 100644 --- a/packages/manager/src/features/Help/StatusBanners.tsx +++ b/packages/manager/src/features/Help/StatusBanners.tsx @@ -5,7 +5,7 @@ import { DateTime } from 'luxon'; import * as React from 'react'; import DismissibleBanner from 'src/components/DismissibleBanner'; import Link from 'src/components/Link'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { IncidentImpact, IncidentStatus, diff --git a/packages/manager/src/features/Help/SupportSearchLanding/DocumentationResults.tsx b/packages/manager/src/features/Help/SupportSearchLanding/DocumentationResults.tsx index c49cc97dfca..9b889409644 100644 --- a/packages/manager/src/features/Help/SupportSearchLanding/DocumentationResults.tsx +++ b/packages/manager/src/features/Help/SupportSearchLanding/DocumentationResults.tsx @@ -4,7 +4,7 @@ import ListItem from 'src/components/core/ListItem'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ExternalLink from 'src/components/ExternalLink'; const useStyles = makeStyles((theme: Theme) => ({ diff --git a/packages/manager/src/features/Help/SupportSearchLanding/HelpResources.tsx b/packages/manager/src/features/Help/SupportSearchLanding/HelpResources.tsx index 5c07a09aa18..f656cc6aa1d 100644 --- a/packages/manager/src/features/Help/SupportSearchLanding/HelpResources.tsx +++ b/packages/manager/src/features/Help/SupportSearchLanding/HelpResources.tsx @@ -5,7 +5,7 @@ import Community from 'src/assets/icons/community.svg'; import Support from 'src/assets/icons/support.svg'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Tile } from 'src/components/Tile/Tile'; import Grid from '@mui/material/Unstable_Grid2'; import { AttachmentError } from 'src/features/Support/SupportTicketDetail/SupportTicketDetail'; diff --git a/packages/manager/src/features/Images/ImageRow.tsx b/packages/manager/src/features/Images/ImageRow.tsx index 7703d241ca7..7d9f96c9348 100644 --- a/packages/manager/src/features/Images/ImageRow.tsx +++ b/packages/manager/src/features/Images/ImageRow.tsx @@ -1,8 +1,8 @@ import { Event } from '@linode/api-v4/lib/account'; import { Image } from '@linode/api-v4/lib/images'; import * as React from 'react'; +import { Typography } from 'src/components/Typography'; import { Hidden } from 'src/components/Hidden'; -import Typography from 'src/components/core/Typography'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; import { useProfile } from 'src/queries/profile'; diff --git a/packages/manager/src/features/Images/ImageUpload.tsx b/packages/manager/src/features/Images/ImageUpload.tsx index e5af05afd78..65a06c34302 100644 --- a/packages/manager/src/features/Images/ImageUpload.tsx +++ b/packages/manager/src/features/Images/ImageUpload.tsx @@ -16,7 +16,7 @@ import { Notice } from 'src/components/Notice/Notice'; import { Prompt } from 'src/components/Prompt/Prompt'; import { TextField } from 'src/components/TextField'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useMetadataCustomerTag } from 'src/features/Images/utils'; import { Dispatch } from 'src/hooks/types'; import { useCurrentToken } from 'src/hooks/useAuthentication'; diff --git a/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx b/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx index 899548f8300..330de83f663 100644 --- a/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx +++ b/packages/manager/src/features/Images/ImagesCreate/CreateImageTab.tsx @@ -10,7 +10,7 @@ import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Link from 'src/components/Link'; import { Notice } from 'src/components/Notice/Notice'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/Images/ImagesDrawer.tsx b/packages/manager/src/features/Images/ImagesDrawer.tsx index 74a2158a335..6f3de4fdcfa 100644 --- a/packages/manager/src/features/Images/ImagesDrawer.tsx +++ b/packages/manager/src/features/Images/ImagesDrawer.tsx @@ -9,7 +9,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import SectionErrorBoundary from 'src/components/SectionErrorBoundary'; diff --git a/packages/manager/src/features/Images/ImagesLanding.tsx b/packages/manager/src/features/Images/ImagesLanding.tsx index 44e5c2049b1..a7b89ea1a33 100644 --- a/packages/manager/src/features/Images/ImagesLanding.tsx +++ b/packages/manager/src/features/Images/ImagesLanding.tsx @@ -10,7 +10,7 @@ import LandingHeader from 'src/components/LandingHeader'; import Paper from 'src/components/core/Paper'; import produce from 'immer'; import { TableRowEmpty } from 'src/components/TableRowEmpty/TableRowEmpty'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { APIError } from '@linode/api-v4/lib/types'; import { ApplicationState } from 'src/store'; import { CircleProgress } from 'src/components/CircleProgress'; diff --git a/packages/manager/src/features/Kubernetes/KubeCheckoutBar/HACheckbox.tsx b/packages/manager/src/features/Kubernetes/KubeCheckoutBar/HACheckbox.tsx index dca5a9a20f7..4868b6cab9d 100644 --- a/packages/manager/src/features/Kubernetes/KubeCheckoutBar/HACheckbox.tsx +++ b/packages/manager/src/features/Kubernetes/KubeCheckoutBar/HACheckbox.tsx @@ -3,7 +3,7 @@ import CheckBox from 'src/components/CheckBox'; import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DisplayPrice } from 'src/components/DisplayPrice'; import Link from 'src/components/Link'; import { HIGH_AVAILABILITY_PRICE } from 'src/constants'; diff --git a/packages/manager/src/features/Kubernetes/KubeCheckoutBar/NodePoolSummary.tsx b/packages/manager/src/features/Kubernetes/KubeCheckoutBar/NodePoolSummary.tsx index fd87528668e..c7fd6808bec 100644 --- a/packages/manager/src/features/Kubernetes/KubeCheckoutBar/NodePoolSummary.tsx +++ b/packages/manager/src/features/Kubernetes/KubeCheckoutBar/NodePoolSummary.tsx @@ -4,7 +4,7 @@ import { Box } from 'src/components/Box'; import Divider from 'src/components/core/Divider'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DisplayPrice } from 'src/components/DisplayPrice'; import { EnhancedNumberInput } from 'src/components/EnhancedNumberInput/EnhancedNumberInput'; import { IconButton } from 'src/components/IconButton'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx index 1b9c70e6643..3fb71969fa2 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/DeleteKubernetesClusterDialog.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { TypeToConfirm } from 'src/components/TypeToConfirm/TypeToConfirm'; import { Notice } from 'src/components/Notice/Notice'; import { usePreferences } from 'src/queries/preferences'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeClusterSpecs.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeClusterSpecs.tsx index 2a4ef654149..10a899ce994 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeClusterSpecs.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeClusterSpecs.tsx @@ -2,7 +2,7 @@ import { KubernetesCluster } from '@linode/api-v4'; import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { useAllKubernetesNodePoolQuery } from 'src/queries/kubernetes'; import { useSpecificTypes } from 'src/queries/types'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigDisplay.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigDisplay.tsx index 936db24ecba..90b5b1a2422 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigDisplay.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigDisplay.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import Box from '@mui/material/Box'; import DetailsIcon from 'src/assets/icons/code-file.svg'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigDrawer.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigDrawer.tsx index 7fb8ea67745..a764d980daf 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigDrawer.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigDrawer.tsx @@ -4,7 +4,7 @@ import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; import Grid from '@mui/material/Unstable_Grid2'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import DrawerContent from 'src/components/DrawerContent'; import { downloadFile } from 'src/utilities/downloadFile'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigPanel.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigPanel.tsx index b995390f10d..e6c8d07f889 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigPanel.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/KubeConfigPanel.tsx @@ -7,7 +7,7 @@ import { Button } from 'src/components/Button/Button'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useKubenetesKubeConfigQuery } from 'src/queries/kubernetes'; import { downloadFile } from 'src/utilities/downloadFile'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AddNodePoolDrawer.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AddNodePoolDrawer.tsx index 5aa3773901f..ea9271c8f5f 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AddNodePoolDrawer.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AddNodePoolDrawer.tsx @@ -4,7 +4,7 @@ import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; import { KubernetesPlansPanel } from 'src/features/Linodes/LinodesCreate/SelectPlanPanel/KubernetesPlansPanel'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AutoscalePoolDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AutoscalePoolDialog.tsx index caa6583090c..b4d58d4e2b5 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AutoscalePoolDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/AutoscalePoolDialog.tsx @@ -5,7 +5,7 @@ import classNames from 'classnames'; import FormControlLabel from 'src/components/core/FormControlLabel'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/DeleteNodePoolDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/DeleteNodePoolDialog.tsx index e98a4c4d13a..34c6b0cf12a 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/DeleteNodePoolDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/DeleteNodePoolDialog.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { pluralize } from 'src/utilities/pluralize'; import { useDeleteNodePoolMutation } from 'src/queries/kubernetes'; import { KubeNodePoolResponse } from '@linode/api-v4'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePool.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePool.tsx index 93b747c7482..a0918215300 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePool.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePool.tsx @@ -5,8 +5,8 @@ import { import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import NodeTable from './NodeTable'; import Tooltip from 'src/components/core/Tooltip'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePoolsDisplay.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePoolsDisplay.tsx index 51f2df0383c..fe60ecbd8ea 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePoolsDisplay.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodePoolsDisplay.tsx @@ -3,7 +3,7 @@ import { Waypoint } from 'react-waypoint'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import Grid from '@mui/material/Unstable_Grid2'; import { RecycleNodePoolDialog } from '../RecycleNodePoolDialog'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodeTable.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodeTable.tsx index e63561d95f5..b17a246f089 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodeTable.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/NodeTable.tsx @@ -8,7 +8,7 @@ import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; import TableFooter from 'src/components/core/TableFooter'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import OrderBy from 'src/components/OrderBy'; import Paginate from 'src/components/Paginate'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/RecycleNodeDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/RecycleNodeDialog.tsx index c84bf907648..dc0f80eb0a6 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/RecycleNodeDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/RecycleNodeDialog.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { localStorageWarning } from 'src/features/Kubernetes/kubeUtils'; import { useRecycleNodeMutation } from 'src/queries/kubernetes'; import { useSnackbar } from 'notistack'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/ResizeNodePoolDrawer.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/ResizeNodePoolDrawer.tsx index 07439da0d71..4ea8ad07450 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/ResizeNodePoolDrawer.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/NodePoolsDisplay/ResizeNodePoolDrawer.tsx @@ -5,7 +5,7 @@ import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import { EnhancedNumberInput } from 'src/components/EnhancedNumberInput/EnhancedNumberInput'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleClusterDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleClusterDialog.tsx index e774c6590e1..a5be7761fb8 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleClusterDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleClusterDialog.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { localStorageWarning, nodesDeletionWarning, diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleNodePoolDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleNodePoolDialog.tsx index ad5881bebe2..66c4c81fe73 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleNodePoolDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/RecycleNodePoolDialog.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { localStorageWarning, nodesDeletionWarning, diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeClusterDialog.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeClusterDialog.tsx index 9e0b1a1b0b5..ed152c93119 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeClusterDialog.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeClusterDialog.tsx @@ -3,7 +3,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import CheckBox from 'src/components/CheckBox'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeKubernetesVersionBanner.tsx b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeKubernetesVersionBanner.tsx index b4114167123..86a54e97072 100644 --- a/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeKubernetesVersionBanner.tsx +++ b/packages/manager/src/features/Kubernetes/KubernetesClusterDetail/UpgradeKubernetesVersionBanner.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import DismissibleBanner from 'src/components/DismissibleBanner'; import Grid from '@mui/material/Unstable_Grid2'; import { useKubernetesVersionQuery } from 'src/queries/kubernetes'; diff --git a/packages/manager/src/features/Kubernetes/UpgradeVersionModal.tsx b/packages/manager/src/features/Kubernetes/UpgradeVersionModal.tsx index 2db131e453a..7552749ddb6 100644 --- a/packages/manager/src/features/Kubernetes/UpgradeVersionModal.tsx +++ b/packages/manager/src/features/Kubernetes/UpgradeVersionModal.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { recycleClusterNodes } from '@linode/api-v4/lib/kubernetes'; import { useSnackbar } from 'notistack'; import { diff --git a/packages/manager/src/features/Linodes/CloneLanding/CloneLanding.tsx b/packages/manager/src/features/Linodes/CloneLanding/CloneLanding.tsx index 04fec37db69..c93e52dd0a8 100644 --- a/packages/manager/src/features/Linodes/CloneLanding/CloneLanding.tsx +++ b/packages/manager/src/features/Linodes/CloneLanding/CloneLanding.tsx @@ -22,7 +22,7 @@ import { SafeTabPanel } from 'src/components/SafeTabPanel/SafeTabPanel'; import TabPanels from 'src/components/core/ReachTabPanels'; import Tabs from 'src/components/core/ReachTabs'; import { TabLinkList } from 'src/components/TabLinkList/TabLinkList'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import Grid from '@mui/material/Unstable_Grid2'; import { resetEventsPolling } from 'src/eventsPolling'; diff --git a/packages/manager/src/features/Linodes/CloneLanding/Details.tsx b/packages/manager/src/features/Linodes/CloneLanding/Details.tsx index 60db038a3f9..1a71d501c34 100644 --- a/packages/manager/src/features/Linodes/CloneLanding/Details.tsx +++ b/packages/manager/src/features/Linodes/CloneLanding/Details.tsx @@ -8,7 +8,7 @@ import ListItem from 'src/components/core/ListItem'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { useRegionsQuery } from 'src/queries/regions'; import { LinodeSelect } from '../LinodeSelect/LinodeSelect'; diff --git a/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx b/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx index ecb4192bc15..2f13cc725df 100644 --- a/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx +++ b/packages/manager/src/features/Linodes/LinodeEntityDetail.tsx @@ -18,8 +18,8 @@ import { TableRow } from 'src/components/TableRow'; import { TagCell } from 'src/components/TagCell/TagCell'; import { Box } from 'src/components/Box'; import { Chip } from 'src/components/core/Chip'; +import { Typography, TypographyProps } from 'src/components/Typography'; import { Hidden } from 'src/components/Hidden'; -import Typography, { TypographyProps } from 'src/components/core/Typography'; import { lishLaunch } from 'src/features/Lish/lishUtils'; import LinodeActionMenu from 'src/features/Linodes/LinodesLanding/LinodeActionMenu'; import { ProgressDisplay } from 'src/features/Linodes/LinodesLanding/LinodeRow/LinodeRow'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/AddonsPanel.tsx b/packages/manager/src/features/Linodes/LinodesCreate/AddonsPanel.tsx index b6249c5c7f2..048de854ae8 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/AddonsPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/AddonsPanel.tsx @@ -7,7 +7,7 @@ import FormControlLabel from 'src/components/core/FormControlLabel'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Currency } from 'src/components/Currency'; import Grid from '@mui/material/Unstable_Grid2'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/ApiAwarenessModal/index.tsx b/packages/manager/src/features/Linodes/LinodesCreate/ApiAwarenessModal/index.tsx index dad8dd65f1b..fabd27009c5 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/ApiAwarenessModal/index.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/ApiAwarenessModal/index.tsx @@ -7,7 +7,7 @@ import { Dialog } from 'src/components/Dialog/Dialog'; import ExternalLink from 'src/components/ExternalLink'; import { SafeTabPanel } from 'src/components/SafeTabPanel/SafeTabPanel'; import { TabLinkList } from 'src/components/TabLinkList/TabLinkList'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/AppPanelSection.tsx b/packages/manager/src/features/Linodes/LinodesCreate/AppPanelSection.tsx index b9c60b3a91d..a7dcbb05e50 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/AppPanelSection.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/AppPanelSection.tsx @@ -3,7 +3,7 @@ import { decode } from 'he'; import * as React from 'react'; import Divider from 'src/components/core/Divider'; import { styled } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import SelectionCardWrapper from 'src/features/Linodes/LinodesCreate/SelectionCardWrapper'; import { Chip } from 'src/components/core/Chip'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/AttachVLAN.tsx b/packages/manager/src/features/Linodes/LinodesCreate/AttachVLAN.tsx index ffd249c1a0f..0e3d2c015af 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/AttachVLAN.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/AttachVLAN.tsx @@ -2,7 +2,7 @@ import { Interface } from '@linode/api-v4/lib/linodes'; import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ExternalLink from 'src/components/ExternalLink'; import Grid from '@mui/material/Unstable_Grid2'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/LinodeCreate.tsx b/packages/manager/src/features/Linodes/LinodesCreate/LinodeCreate.tsx index 09f5bcfde23..88a298909eb 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/LinodeCreate.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/LinodeCreate.tsx @@ -16,7 +16,7 @@ import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; import TabPanels from 'src/components/core/ReachTabPanels'; import Tabs from 'src/components/core/ReachTabs'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import DocsLink from 'src/components/DocsLink'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/Panel.tsx b/packages/manager/src/features/Linodes/LinodesCreate/Panel.tsx index bc2fec7552e..b967d2911db 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/Panel.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/Panel.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; interface Props { diff --git a/packages/manager/src/features/Linodes/LinodesCreate/PlansAvailabilityNotice.styles.ts b/packages/manager/src/features/Linodes/LinodesCreate/PlansAvailabilityNotice.styles.ts index 60b0aac75db..10a487626b2 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/PlansAvailabilityNotice.styles.ts +++ b/packages/manager/src/features/Linodes/LinodesCreate/PlansAvailabilityNotice.styles.ts @@ -1,5 +1,5 @@ import List from 'src/components/core/List'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { styled } from '@mui/material/styles'; import { TextTooltip } from 'src/components/TextTooltip'; import type { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectBackupPanel.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectBackupPanel.tsx index d9f42f97df9..4941951670a 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectBackupPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectBackupPanel.tsx @@ -9,7 +9,7 @@ import { CircleProgress } from 'src/components/CircleProgress'; import Paper from 'src/components/core/Paper'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; import RenderGuard, { RenderGuardProps } from 'src/components/RenderGuard'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectLinodePanel.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectLinodePanel.tsx index a43b3b0ec34..049c3019a16 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectLinodePanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectLinodePanel.tsx @@ -4,7 +4,7 @@ import { compose } from 'recompose'; import Paper from 'src/components/core/Paper'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; import Paginate from 'src/components/Paginate'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanInformation.tsx b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanInformation.tsx index 755b4817fad..a3aa3e099a4 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanInformation.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlanInformation.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { LinodeTypeClass } from '@linode/api-v4/lib/linodes'; import { MetalNotice } from './MetalNotice'; import { planTabInfoContent } from './utils'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlansPanel.styles.ts b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlansPanel.styles.ts index d0f2112198b..a2c968dde19 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlansPanel.styles.ts +++ b/packages/manager/src/features/Linodes/LinodesCreate/SelectPlanPanel/PlansPanel.styles.ts @@ -1,7 +1,7 @@ import { isPropValid } from 'src/utilities/isPropValid'; import { styled } from '@mui/material/styles'; import { TableRow, TableRowProps } from 'src/components/TableRow'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; type StyledDisabledTableRowProps = Pick; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/FromAppsContent.tsx b/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/FromAppsContent.tsx index 53c3f0ffce1..7984cb376fa 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/FromAppsContent.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/FromAppsContent.tsx @@ -25,7 +25,7 @@ import { DebouncedSearchTextField } from 'src/components/DebouncedSearchTextFiel import Select, { Item } from 'src/components/EnhancedSelect'; import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { oneClickApps, AppCategory, diff --git a/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/FromImageContent.tsx b/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/FromImageContent.tsx index 37714f06e67..d06d90c29e0 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/FromImageContent.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/FromImageContent.tsx @@ -3,7 +3,7 @@ import { Link } from 'react-router-dom'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import ImageSelect from 'src/components/ImageSelect'; import { Placeholder } from 'src/components/Placeholder/Placeholder'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/ImageEmptyState.tsx b/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/ImageEmptyState.tsx index e57c9639f2a..760953b8af2 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/ImageEmptyState.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/TabbedContent/ImageEmptyState.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; const useStyles = makeStyles((theme: Theme) => ({ diff --git a/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx b/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx index 2b486657373..2fb4a71446e 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/UserDataAccordion/UserDataAccordion.tsx @@ -4,7 +4,7 @@ import { Accordion } from 'src/components/Accordion'; import Link from 'src/components/Link'; import { Notice } from 'src/components/Notice/Notice'; import { TextField } from 'src/components/TextField'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { UserDataAccordionHeading } from './UserDataAccordionHeading'; import { useExpandIconStyles } from './UserDataAccordion.styles'; import { CreateTypes } from 'src/store/linodeCreate/linodeCreate.actions'; diff --git a/packages/manager/src/features/Linodes/LinodesCreate/utilities.tsx b/packages/manager/src/features/Linodes/LinodesCreate/utilities.tsx index 2402a5c4a50..bf8936c41c0 100644 --- a/packages/manager/src/features/Linodes/LinodesCreate/utilities.tsx +++ b/packages/manager/src/features/Linodes/LinodesCreate/utilities.tsx @@ -2,7 +2,7 @@ import { Image } from '@linode/api-v4/lib/images'; import { Linode } from '@linode/api-v4/lib/linodes'; import { Region } from '@linode/api-v4/lib/regions'; import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { displayType } from 'src/features/Linodes/presentation'; import { ExtendedType } from 'src/utilities/extendType'; import { ExtendedLinode } from './types'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/BackupsPlaceholder.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/BackupsPlaceholder.tsx index 95db98d449f..c5e43eaf28e 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/BackupsPlaceholder.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/BackupsPlaceholder.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import VolumeIcon from 'src/assets/icons/entityIcons/volume.svg'; import { makeStyles } from 'tss-react/mui'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Currency } from 'src/components/Currency'; import { Placeholder } from 'src/components/Placeholder/Placeholder'; import { LinodePermissionsError } from '../LinodePermissionsError'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CancelBackupsDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CancelBackupsDialog.tsx index 4ae09abfce9..f2a38a3474f 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CancelBackupsDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CancelBackupsDialog.tsx @@ -3,7 +3,7 @@ import { useSnackbar } from 'notistack'; import { resetEventsPolling } from 'src/eventsPolling'; import { useLinodeBackupsCancelMutation } from 'src/queries/linodes/backups'; import { sendBackupsDisabledEvent } from 'src/utilities/analytics'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import ActionsPanel from 'src/components/ActionsPanel/ActionsPanel'; import { Button } from 'src/components/Button/Button'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshot.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshot.tsx index 03365858dc6..2c24b6adc18 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshot.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshot.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { Notice } from 'src/components/Notice/Notice'; import FormControl from 'src/components/core/FormControl'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Theme } from '@mui/material/styles'; import { makeStyles } from 'tss-react/mui'; import { useLinodeBackupSnapshotMutation } from 'src/queries/linodes/backups'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshotConfirmationDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshotConfirmationDialog.tsx index eef951922eb..463ea09a6a0 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshotConfirmationDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/CaptureSnapshotConfirmationDialog.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; interface Props { open: boolean; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/EnableBackupsDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/EnableBackupsDialog.tsx index 827fda6176a..82bc6a21b27 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/EnableBackupsDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/EnableBackupsDialog.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { Currency } from 'src/components/Currency'; import { resetEventsPolling } from 'src/eventsPolling'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/LinodeBackups.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/LinodeBackups.tsx index 761bea09f6e..104ea924152 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/LinodeBackups.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/LinodeBackups.tsx @@ -5,7 +5,7 @@ import { Button } from 'src/components/Button/Button'; import Paper from 'src/components/core/Paper'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/ScheduleSettings.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/ScheduleSettings.tsx index 3da2c23368a..67ff0ec424a 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/ScheduleSettings.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeBackup/ScheduleSettings.tsx @@ -6,7 +6,7 @@ import { Notice } from 'src/components/Notice/Notice'; import FormControl from 'src/components/core/FormControl'; import FormHelperText from 'src/components/core/FormHelperText'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import getUserTimezone from 'src/utilities/getUserTimezone'; import { Theme } from '@mui/material/styles'; import { makeStyles } from 'tss-react/mui'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/BootConfigDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/BootConfigDialog.tsx index 96d9594dd84..ff46aede1bf 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/BootConfigDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/BootConfigDialog.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { Config } from '@linode/api-v4'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/DeleteConfigDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/DeleteConfigDialog.tsx index 0a804e18597..b70bfddf3a4 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/DeleteConfigDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/DeleteConfigDialog.tsx @@ -1,5 +1,5 @@ import React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { Config } from '@linode/api-v4'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx index dc9cf833515..d4bd055c719 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeConfigs/LinodeConfigDialog.tsx @@ -20,7 +20,7 @@ import FormLabel from 'src/components/core/FormLabel'; import RadioGroup from 'src/components/core/RadioGroup'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Dialog } from 'src/components/Dialog/Dialog'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/AddIPDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/AddIPDrawer.tsx index 741a5e2396c..d72c092d423 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/AddIPDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/AddIPDrawer.tsx @@ -9,7 +9,7 @@ import RadioGroup from 'src/components/core/RadioGroup'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import Tooltip from 'src/components/core/Tooltip'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import { Item } from 'src/components/EnhancedSelect/Select'; import ExternalLink from 'src/components/Link'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteIPDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteIPDialog.tsx index 425ba5d8eed..09866c014d8 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteIPDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteIPDialog.tsx @@ -3,7 +3,7 @@ import { useSnackbar } from 'notistack'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useLinodeIPDeleteMutation } from 'src/queries/linodes/networking'; interface Props { diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteRangeDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteRangeDialog.tsx index e5c5a913e0e..00ca37c420c 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteRangeDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/DeleteRangeDialog.tsx @@ -3,7 +3,7 @@ import { useSnackbar } from 'notistack'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useLinodeRemoveRangeMutation } from 'src/queries/linodes/networking'; import { IPRange } from '@linode/api-v4'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditIPRDNSDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditIPRDNSDrawer.tsx index a4dc3495489..f8b0af4f4f1 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditIPRDNSDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditIPRDNSDrawer.tsx @@ -1,8 +1,8 @@ import * as React from 'react'; import { IPAddress } from '@linode/api-v4/lib/networking'; import ActionsPanel from 'src/components/ActionsPanel'; +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import Drawer from 'src/components/Drawer'; import { TextField } from 'src/components/TextField'; import { getErrorMap } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditRangeRDNSDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditRangeRDNSDrawer.tsx index a650ab62a0c..9d027df99f6 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditRangeRDNSDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/EditRangeRDNSDrawer.tsx @@ -4,7 +4,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import { TextField } from 'src/components/TextField'; import { getErrorMap } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPSharing.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPSharing.tsx index a2caa715e1a..a82c28ed5d3 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPSharing.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPSharing.tsx @@ -10,7 +10,7 @@ import { CircleProgress } from 'src/components/CircleProgress'; import Divider from 'src/components/core/Divider'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Dialog } from 'src/components/Dialog/Dialog'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPTransfer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPTransfer.tsx index 0a4ca22ebf8..ff20215d86e 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPTransfer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/IPTransfer.tsx @@ -19,7 +19,7 @@ import { CircleProgress } from 'src/components/CircleProgress'; import Divider from 'src/components/core/Divider'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Dialog } from 'src/components/Dialog/Dialog'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeNetworking.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeNetworking.tsx index 3ccb4a10390..4cd65879b0a 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeNetworking.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/LinodeNetworking.tsx @@ -12,7 +12,7 @@ import { makeStyles } from 'tss-react/mui'; import { Theme, useTheme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import OrderBy from 'src/components/OrderBy'; import { Table } from 'src/components/Table'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/DNSResolvers.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/DNSResolvers.tsx index 26b5b5ab4dc..fc5588c7d23 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/DNSResolvers.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/DNSResolvers.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { useTheme } from '@mui/material/styles'; import { useRegionsQuery } from 'src/queries/regions'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/NetworkTransfer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/NetworkTransfer.tsx index 1bbfed79670..14d4d9d8919 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/NetworkTransfer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/NetworkTransfer.tsx @@ -4,7 +4,7 @@ import BarPercent from 'src/components/BarPercent'; import { CircleProgress } from 'src/components/CircleProgress'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; import { useAPIRequest } from 'src/hooks/useAPIRequest'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/TransferHistory.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/TransferHistory.tsx index a1a5af07178..d9fd68221b7 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/TransferHistory.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/NetworkingSummaryPanel/TransferHistory.tsx @@ -6,7 +6,7 @@ import { CircleProgress } from 'src/components/CircleProgress'; import { Box } from 'src/components/Box'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import { LineGraph } from 'src/components/LineGraph/LineGraph'; import { diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewIPDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewIPDrawer.tsx index f46ebd28dcc..d334e53ec4d 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewIPDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewIPDrawer.tsx @@ -4,7 +4,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import { useRegionsQuery } from 'src/queries/regions'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewRDNSDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewRDNSDrawer.tsx index 902f2f2e5c0..d2d1ef88c65 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewRDNSDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewRDNSDrawer.tsx @@ -2,7 +2,7 @@ import { IPRange } from '@linode/api-v4/lib/networking'; import * as React from 'react'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import { useLinodeQuery } from 'src/queries/linodes/linodes'; import { useAllIPsQuery } from 'src/queries/linodes/networking'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewRangeDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewRangeDrawer.tsx index 3eb6e9f179a..7d0f4738de4 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewRangeDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeNetworking/ViewRangeDrawer.tsx @@ -4,7 +4,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import { useRegionsQuery } from 'src/queries/regions'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/LinodeRebuildDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/LinodeRebuildDialog.tsx index 1d3146b63af..0803f5ab02c 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/LinodeRebuildDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRebuild/LinodeRebuildDialog.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Dialog } from 'src/components/Dialog/Dialog'; import EnhancedSelect, { Item } from 'src/components/EnhancedSelect/Select'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRescue/RescueDescription.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRescue/RescueDescription.tsx index 03d0cf196ce..44641ee4bc0 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeRescue/RescueDescription.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeRescue/RescueDescription.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Link from 'src/components/Link'; import { Notice } from 'src/components/Notice/Notice'; import { lishLaunch } from 'src/features/Lish/lishUtils'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/LinodeResize.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/LinodeResize.tsx index 582d0f54f5b..a6a99f15d6d 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/LinodeResize.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/LinodeResize.tsx @@ -6,7 +6,7 @@ import { Button } from 'src/components/Button/Button'; import Checkbox from 'src/components/CheckBox'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Dialog } from 'src/components/Dialog/Dialog'; import ExternalLink from 'src/components/ExternalLink'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/ResizeConfirmationDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/ResizeConfirmationDialog.tsx index 80c18fbb44d..c3b706a6829 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/ResizeConfirmationDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeResize/ResizeConfirmationDialog.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; export interface Props { isOpen: boolean; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/AlertSection.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/AlertSection.tsx index b1bbe20be3d..7ecedf2968b 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/AlertSection.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/AlertSection.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Divider from 'src/components/core/Divider'; import FormControlLabel from 'src/components/core/FormControlLabel'; import InputAdornment from 'src/components/core/InputAdornment'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import Box from '@mui/material/Box'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsDeletePanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsDeletePanel.tsx index 96ed551c9bf..9d975ed5a0a 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsDeletePanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeSettingsDeletePanel.tsx @@ -1,8 +1,8 @@ import * as React from 'react'; import { useHistory } from 'react-router-dom'; +import { Typography } from 'src/components/Typography'; import { Accordion } from 'src/components/Accordion'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { TypeToConfirmDialog } from 'src/components/TypeToConfirmDialog/TypeToConfirmDialog'; import { resetEventsPolling } from 'src/eventsPolling'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeWatchdogPanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeWatchdogPanel.tsx index 78a6e75eba0..da9febad7d0 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeWatchdogPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSettings/LinodeWatchdogPanel.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { Accordion } from 'src/components/Accordion'; import FormControlLabel from 'src/components/core/FormControlLabel'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; import { Toggle } from 'src/components/Toggle'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDisks.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDisks.tsx index 48652628625..80e5086761e 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDisks.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeDisks.tsx @@ -3,7 +3,7 @@ import AddNewLink from 'src/components/AddNewLink'; import { Hidden } from 'src/components/Hidden'; import OrderBy from 'src/components/OrderBy'; import Paginate from 'src/components/Paginate'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { Disk } from '@linode/api-v4/lib/linodes'; import { makeStyles } from '@mui/styles'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeVolumes.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeVolumes.tsx index a7bfee7dda6..661b42a61d6 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeVolumes.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeStorage/LinodeVolumes.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import AddNewLink from 'src/components/AddNewLink'; +import { Typography } from 'src/components/Typography'; import { Hidden } from 'src/components/Hidden'; -import Typography from 'src/components/core/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { connect } from 'react-redux'; import { bindActionCreators, Dispatch } from 'redux'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSummary/ActivityRow.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSummary/ActivityRow.tsx index e3a2182874f..4005abee80f 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSummary/ActivityRow.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSummary/ActivityRow.tsx @@ -2,7 +2,7 @@ import { Event } from '@linode/api-v4/lib/account'; import * as React from 'react'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; import eventMessageGenerator from 'src/eventMessageGenerator'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSummary/LinodeSummary.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSummary/LinodeSummary.tsx index e2f67068a6c..83460d654ce 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSummary/LinodeSummary.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSummary/LinodeSummary.tsx @@ -5,7 +5,7 @@ import PendingIcon from 'src/assets/icons/pending.svg'; import Paper from 'src/components/core/Paper'; import { createStyles, makeStyles, useTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSummary/StatsPanel.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSummary/StatsPanel.tsx index bde3152fd5d..fe6ef358cf6 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodeSummary/StatsPanel.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodeSummary/StatsPanel.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { CircleProgress } from 'src/components/CircleProgress'; import { makeStyles } from '@mui/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; const useStyles = makeStyles(() => ({ graphsUnavailable: { diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/HostMaintenance.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/HostMaintenance.tsx index 2b666b18b74..dfd48739686 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/HostMaintenance.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/HostMaintenance.tsx @@ -1,6 +1,6 @@ import { LinodeStatus } from '@linode/api-v4/lib/linodes/types'; import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; interface Props { diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/MigrationNotification.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/MigrationNotification.tsx index bc9effb480f..96c7bd6d6bc 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/MigrationNotification.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/MigrationNotification.tsx @@ -8,7 +8,7 @@ import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { useDialog } from 'src/hooks/useDialog'; import { capitalize } from 'src/utilities/capitalize'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/MutationNotification.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/MutationNotification.tsx index b18b3a8fe45..d73857f8efb 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/MutationNotification.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/MutationNotification.tsx @@ -1,7 +1,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { MBpsIntraDC } from 'src/constants'; import { resetEventsPolling } from 'src/eventsPolling'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/UpgradeVolumesDialog.tsx b/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/UpgradeVolumesDialog.tsx index 16f8e93e8ef..de2f8338c3c 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/UpgradeVolumesDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/LinodesDetailHeader/UpgradeVolumesDialog.tsx @@ -3,7 +3,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useSnackbar } from 'notistack'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Linodes/LinodesDetail/MutateDrawer/MutateDrawer.tsx b/packages/manager/src/features/Linodes/LinodesDetail/MutateDrawer/MutateDrawer.tsx index eb6483c611e..7bf896c7b19 100644 --- a/packages/manager/src/features/Linodes/LinodesDetail/MutateDrawer/MutateDrawer.tsx +++ b/packages/manager/src/features/Linodes/LinodesDetail/MutateDrawer/MutateDrawer.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import ListItem from 'src/components/core/ListItem'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Linodes/LinodesLanding/CardView.tsx b/packages/manager/src/features/Linodes/LinodesLanding/CardView.tsx index 58624880c46..4a853012f7c 100644 --- a/packages/manager/src/features/Linodes/LinodesLanding/CardView.tsx +++ b/packages/manager/src/features/Linodes/LinodesLanding/CardView.tsx @@ -3,7 +3,7 @@ import { Theme } from '@mui/material/styles'; import { makeStyles } from '@mui/styles'; import * as React from 'react'; import { TagDrawer, TagDrawerProps } from 'src/components/TagCell/TagDrawer'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import LinodeEntityDetail from 'src/features/Linodes/LinodeEntityDetail'; import { useLinodeUpdateMutation } from 'src/queries/linodes/linodes'; import { useProfile } from 'src/queries/profile'; diff --git a/packages/manager/src/features/Linodes/LinodesLanding/DeleteLinodeDialog.tsx b/packages/manager/src/features/Linodes/LinodesLanding/DeleteLinodeDialog.tsx index 3c8a3b202ee..343fa64cfda 100644 --- a/packages/manager/src/features/Linodes/LinodesLanding/DeleteLinodeDialog.tsx +++ b/packages/manager/src/features/Linodes/LinodesLanding/DeleteLinodeDialog.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { TypeToConfirmDialog } from 'src/components/TypeToConfirmDialog/TypeToConfirmDialog'; import { resetEventsPolling } from 'src/eventsPolling'; diff --git a/packages/manager/src/features/Linodes/LinodesLanding/DisplayGroupedLinodes.tsx b/packages/manager/src/features/Linodes/LinodesLanding/DisplayGroupedLinodes.tsx index 16e629f0f93..014e1cd09ee 100644 --- a/packages/manager/src/features/Linodes/LinodesLanding/DisplayGroupedLinodes.tsx +++ b/packages/manager/src/features/Linodes/LinodesLanding/DisplayGroupedLinodes.tsx @@ -6,7 +6,7 @@ import GridView from 'src/assets/icons/grid-view.svg'; import { TableBody } from 'src/components/TableBody'; import { TableCell } from 'src/components/TableCell'; import Tooltip from 'src/components/core/Tooltip'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { OrderByProps } from 'src/components/OrderBy'; import Paginate from 'src/components/Paginate'; diff --git a/packages/manager/src/features/Linodes/LinodesLanding/DisplayLinodes.styles.ts b/packages/manager/src/features/Linodes/LinodesLanding/DisplayLinodes.styles.ts index c5933ff1d9e..b9d08dfc116 100644 --- a/packages/manager/src/features/Linodes/LinodesLanding/DisplayLinodes.styles.ts +++ b/packages/manager/src/features/Linodes/LinodesLanding/DisplayLinodes.styles.ts @@ -1,4 +1,4 @@ -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { IconButton } from 'src/components/IconButton'; import { isPropValid } from 'src/utilities/isPropValid'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Linodes/LinodesLanding/LinodeRow/LinodeRow.tsx b/packages/manager/src/features/Linodes/LinodesLanding/LinodeRow/LinodeRow.tsx index 565fba68535..154a5ff33d4 100644 --- a/packages/manager/src/features/Linodes/LinodesLanding/LinodeRow/LinodeRow.tsx +++ b/packages/manager/src/features/Linodes/LinodesLanding/LinodeRow/LinodeRow.tsx @@ -6,7 +6,7 @@ import { Link } from 'react-router-dom'; import Flag from 'src/assets/icons/flag.svg'; import { Hidden } from 'src/components/Hidden'; import Tooltip from 'src/components/core/Tooltip'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { StatusIcon } from 'src/components/StatusIcon/StatusIcon'; import { TableCell } from 'src/components/TableCell'; diff --git a/packages/manager/src/features/Linodes/MigrateLinode/CautionNotice.tsx b/packages/manager/src/features/Linodes/MigrateLinode/CautionNotice.tsx index eff3d534e59..32c503ba672 100644 --- a/packages/manager/src/features/Linodes/MigrateLinode/CautionNotice.tsx +++ b/packages/manager/src/features/Linodes/MigrateLinode/CautionNotice.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import Checkbox from 'src/components/CheckBox'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Link } from 'src/components/Link'; import { Notice } from 'src/components/Notice/Notice'; import { API_MAX_PAGE_SIZE } from 'src/constants'; diff --git a/packages/manager/src/features/Linodes/MigrateLinode/ConfigureForm.tsx b/packages/manager/src/features/Linodes/MigrateLinode/ConfigureForm.tsx index 97970415e37..eda99fa3a6f 100644 --- a/packages/manager/src/features/Linodes/MigrateLinode/ConfigureForm.tsx +++ b/packages/manager/src/features/Linodes/MigrateLinode/ConfigureForm.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { RegionSelect } from 'src/components/EnhancedSelect/variants/RegionSelect'; import { useRegionsQuery } from 'src/queries/regions'; import { getRegionCountryGroup } from 'src/utilities/formatRegion'; diff --git a/packages/manager/src/features/Linodes/MigrateLinode/MigrateLinode.tsx b/packages/manager/src/features/Linodes/MigrateLinode/MigrateLinode.tsx index aaca1040cef..810dfdcfca6 100644 --- a/packages/manager/src/features/Linodes/MigrateLinode/MigrateLinode.tsx +++ b/packages/manager/src/features/Linodes/MigrateLinode/MigrateLinode.tsx @@ -7,8 +7,8 @@ import { Button } from 'src/components/Button/Button'; import { Dialog } from 'src/components/Dialog/Dialog'; import { Notice } from 'src/components/Notice/Notice'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; +import { Typography } from 'src/components/Typography'; import { Box } from 'src/components/Box'; -import Typography from 'src/components/core/Typography'; import { MBpsInterDC } from 'src/constants'; import { resetEventsPolling } from 'src/eventsPolling'; import EUAgreementCheckbox from 'src/features/Account/Agreements/EUAgreementCheckbox'; diff --git a/packages/manager/src/features/Linodes/PowerActionsDialogOrDrawer.tsx b/packages/manager/src/features/Linodes/PowerActionsDialogOrDrawer.tsx index bc2309e0b78..50a5b823fbe 100644 --- a/packages/manager/src/features/Linodes/PowerActionsDialogOrDrawer.tsx +++ b/packages/manager/src/features/Linodes/PowerActionsDialogOrDrawer.tsx @@ -1,8 +1,8 @@ import * as React from 'react'; import Select from 'src/components/EnhancedSelect/Select'; import ActionsPanel from 'src/components/ActionsPanel'; +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import ExternalLink from 'src/components/ExternalLink'; import { Notice } from 'src/components/Notice/Notice'; import { Config } from '@linode/api-v4/lib/linodes'; diff --git a/packages/manager/src/features/Linodes/SMTPRestrictionText.tsx b/packages/manager/src/features/Linodes/SMTPRestrictionText.tsx index 54ba17dbe8d..a71bf7172c0 100644 --- a/packages/manager/src/features/Linodes/SMTPRestrictionText.tsx +++ b/packages/manager/src/features/Linodes/SMTPRestrictionText.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ExternalLink from 'src/components/ExternalLink'; import { SupportLink } from 'src/components/SupportLink'; import { MAGIC_DATE_THAT_EMAIL_RESTRICTIONS_WERE_IMPLEMENTED } from 'src/constants'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/ActiveConnections/ActiveConnections.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/ActiveConnections/ActiveConnections.tsx index c140bdb8d86..4a3e07a4b9f 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/ActiveConnections/ActiveConnections.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/ActiveConnections/ActiveConnections.tsx @@ -3,7 +3,7 @@ import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from 'src/components/Grid'; import OrderBy from 'src/components/OrderBy'; import Paginate from 'src/components/Paginate'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Apache/Apache.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Apache/Apache.tsx index fd40fb86c5d..5ab12a3176f 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Apache/Apache.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Apache/Apache.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import ExternalLink from 'src/components/ExternalLink'; import Grid from 'src/components/Grid'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Graphs.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Graphs.tsx index 1f18c1665bd..8ba22d84aa9 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Graphs.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Disks/Graphs.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import { compose } from 'recompose'; import { makeStyles, withTheme, WithTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { isToday as _isToday } from 'src/utilities/isToday'; import { Stat, StatWithDummyPoint } from '../../../request.types'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/IconSection.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/IconSection.tsx index 69b9dd91000..e93465b2ec1 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/IconSection.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/IconSection.tsx @@ -8,7 +8,7 @@ import RamIcon from 'src/assets/icons/longview/ram-sticks.svg'; import ServerIcon from 'src/assets/icons/longview/server-icon.svg'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from 'src/components/Grid'; import { IconTextLink } from 'src/components/IconTextLink/IconTextLink'; import { Props as LVDataProps } from 'src/containers/longview.stats.container'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/ListeningServices/ListeningServices.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/ListeningServices/ListeningServices.tsx index 203475e9ec9..f399bcaf454 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/ListeningServices/ListeningServices.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/ListeningServices/ListeningServices.tsx @@ -3,7 +3,7 @@ import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from 'src/components/Grid'; import OrderBy from 'src/components/OrderBy'; import Paginate from 'src/components/Paginate'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/MySQL/MySQLLanding.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/MySQL/MySQLLanding.tsx index 074885ff8aa..83828b81329 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/MySQL/MySQLLanding.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/MySQL/MySQLLanding.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import ExternalLink from 'src/components/ExternalLink'; import Grid from 'src/components/Grid'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/NGINX/NGINX.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/NGINX/NGINX.tsx index 4d38023d514..c389d3ee22d 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/NGINX/NGINX.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/NGINX/NGINX.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import ExternalLink from 'src/components/ExternalLink'; import Grid from 'src/components/Grid'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/OverviewGraphs.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/OverviewGraphs.tsx index 65c5bc535c3..8ee42461caf 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/OverviewGraphs.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/OverviewGraphs/OverviewGraphs.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from 'src/components/Grid'; import { isToday as _isToday } from 'src/utilities/isToday'; import { WithStartAndEnd } from '../../../request.types'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesGraphs.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesGraphs.tsx index cc454cab254..a4359614ec4 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesGraphs.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/Processes/ProcessesGraphs.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Paper from 'src/components/core/Paper'; import { makeStyles, withTheme, WithTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { LongviewLineGraph } from 'src/components/LongviewLineGraph/LongviewLineGraph'; import { LongviewProcesses, diff --git a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/TopProcesses.tsx b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/TopProcesses.tsx index f5fd7f1b092..f037da39a85 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/TopProcesses.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/DetailTabs/TopProcesses.tsx @@ -5,7 +5,7 @@ import { Box } from 'src/components/Box'; import { makeStyles } from '@mui/styles'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from 'src/components/Grid'; import OrderBy from 'src/components/OrderBy'; import { Table } from 'src/components/Table'; diff --git a/packages/manager/src/features/Longview/LongviewDetail/GraphCard.tsx b/packages/manager/src/features/Longview/LongviewDetail/GraphCard.tsx index b3b976c7fce..5566beda035 100644 --- a/packages/manager/src/features/Longview/LongviewDetail/GraphCard.tsx +++ b/packages/manager/src/features/Longview/LongviewDetail/GraphCard.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; const useStyles = makeStyles((theme: Theme) => ({ root: { diff --git a/packages/manager/src/features/Longview/LongviewLanding/Gauges/CPU.tsx b/packages/manager/src/features/Longview/LongviewLanding/Gauges/CPU.tsx index 3255b9c9726..27b91f43fe2 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/Gauges/CPU.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/Gauges/CPU.tsx @@ -1,7 +1,7 @@ import { clamp, pathOr } from 'ramda'; import * as React from 'react'; import { WithTheme, withTheme } from '@mui/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import GaugePercent from 'src/components/GaugePercent'; import { pluralize } from 'src/utilities/pluralize'; import { CPU } from '../../request.types'; diff --git a/packages/manager/src/features/Longview/LongviewLanding/Gauges/Load.tsx b/packages/manager/src/features/Longview/LongviewLanding/Gauges/Load.tsx index a89c41ded7e..4166355ce63 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/Gauges/Load.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/Gauges/Load.tsx @@ -1,7 +1,7 @@ import { pathOr } from 'ramda'; import * as React from 'react'; import { WithTheme, withTheme } from '@mui/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import GaugePercent from 'src/components/GaugePercent'; import withClientData, { Props as LVDataProps, diff --git a/packages/manager/src/features/Longview/LongviewLanding/Gauges/Network.tsx b/packages/manager/src/features/Longview/LongviewLanding/Gauges/Network.tsx index b9d898725f0..354e27714c4 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/Gauges/Network.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/Gauges/Network.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { compose } from 'recompose'; import { WithTheme, withTheme } from '@mui/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import GaugePercent from 'src/components/GaugePercent'; import withClientStats, { Props as LVDataProps, diff --git a/packages/manager/src/features/Longview/LongviewLanding/Gauges/RAM.tsx b/packages/manager/src/features/Longview/LongviewLanding/Gauges/RAM.tsx index 91b9b0b6062..7231c725ec0 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/Gauges/RAM.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/Gauges/RAM.tsx @@ -1,7 +1,7 @@ import { pathOr } from 'ramda'; import * as React from 'react'; import { WithTheme, withTheme } from '@mui/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import GaugePercent from 'src/components/GaugePercent'; import { generateTotalMemory, diff --git a/packages/manager/src/features/Longview/LongviewLanding/Gauges/Storage.tsx b/packages/manager/src/features/Longview/LongviewLanding/Gauges/Storage.tsx index 9f297d3b1b9..7328eab215b 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/Gauges/Storage.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/Gauges/Storage.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { WithTheme, withTheme } from '@mui/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import GaugePercent from 'src/components/GaugePercent'; import withClientStats, { Props as LVDataProps, diff --git a/packages/manager/src/features/Longview/LongviewLanding/Gauges/Swap.tsx b/packages/manager/src/features/Longview/LongviewLanding/Gauges/Swap.tsx index 4b6a80163dd..92b1a747305 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/Gauges/Swap.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/Gauges/Swap.tsx @@ -1,7 +1,7 @@ import { pathOr } from 'ramda'; import * as React from 'react'; import { WithTheme, withTheme } from '@mui/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import GaugePercent from 'src/components/GaugePercent'; import withClientData, { Props as LVDataProps, diff --git a/packages/manager/src/features/Longview/LongviewLanding/LongviewClientHeader.tsx b/packages/manager/src/features/Longview/LongviewLanding/LongviewClientHeader.tsx index 358c8b8a48a..8964b168052 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/LongviewClientHeader.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/LongviewClientHeader.tsx @@ -5,7 +5,7 @@ import { compose } from 'recompose'; import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { EditableEntityLabel } from 'src/components/EditableEntityLabel/EditableEntityLabel'; import Grid from 'src/components/Grid'; import Link from 'src/components/Link'; diff --git a/packages/manager/src/features/Longview/LongviewLanding/LongviewClients.tsx b/packages/manager/src/features/Longview/LongviewLanding/LongviewClients.tsx index 5d11bb23fca..06995a00c21 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/LongviewClients.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/LongviewClients.tsx @@ -11,7 +11,7 @@ import { Link, RouteComponentProps } from 'react-router-dom'; import { compose } from 'recompose'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DebouncedSearchTextField } from 'src/components/DebouncedSearchTextField'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; diff --git a/packages/manager/src/features/Longview/LongviewLanding/LongviewList.tsx b/packages/manager/src/features/Longview/LongviewLanding/LongviewList.tsx index ed46217b7d1..292356b1eb6 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/LongviewList.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/LongviewList.tsx @@ -6,7 +6,7 @@ import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import Paginate from 'src/components/Paginate'; import { PaginationFooter } from 'src/components/PaginationFooter/PaginationFooter'; diff --git a/packages/manager/src/features/Longview/LongviewLanding/RestrictedUserLabel.tsx b/packages/manager/src/features/Longview/LongviewLanding/RestrictedUserLabel.tsx index c8124792cbc..3518729c5ab 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/RestrictedUserLabel.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/RestrictedUserLabel.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; interface Props { label: string; diff --git a/packages/manager/src/features/Longview/LongviewLanding/SubscriptionDialog.tsx b/packages/manager/src/features/Longview/LongviewLanding/SubscriptionDialog.tsx index 7b46e8912e3..7326c2fba51 100644 --- a/packages/manager/src/features/Longview/LongviewLanding/SubscriptionDialog.tsx +++ b/packages/manager/src/features/Longview/LongviewLanding/SubscriptionDialog.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { managedText } from './LongviewPlans'; interface Props { diff --git a/packages/manager/src/features/Longview/shared/InstallationInstructions.tsx b/packages/manager/src/features/Longview/shared/InstallationInstructions.tsx index b94543a5567..e0f9d2f5048 100644 --- a/packages/manager/src/features/Longview/shared/InstallationInstructions.tsx +++ b/packages/manager/src/features/Longview/shared/InstallationInstructions.tsx @@ -3,7 +3,7 @@ import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from 'src/components/Grid'; const useStyles = makeStyles((theme: Theme) => ({ diff --git a/packages/manager/src/features/Managed/Contacts/Contacts.tsx b/packages/manager/src/features/Managed/Contacts/Contacts.tsx index a99946a246f..1939ce9ad8b 100644 --- a/packages/manager/src/features/Managed/Contacts/Contacts.tsx +++ b/packages/manager/src/features/Managed/Contacts/Contacts.tsx @@ -7,7 +7,7 @@ import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DeletionDialog } from 'src/components/DeletionDialog/DeletionDialog'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Managed/Credentials/CredentialList.tsx b/packages/manager/src/features/Managed/Credentials/CredentialList.tsx index 55d4a59d0b6..9d8cc473563 100644 --- a/packages/manager/src/features/Managed/Credentials/CredentialList.tsx +++ b/packages/manager/src/features/Managed/Credentials/CredentialList.tsx @@ -8,7 +8,7 @@ import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DeletionDialog } from 'src/components/DeletionDialog/DeletionDialog'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Managed/ManagedDashboardCard/DashboardCard.tsx b/packages/manager/src/features/Managed/ManagedDashboardCard/DashboardCard.tsx index 37cbdef613d..488ebd5528e 100644 --- a/packages/manager/src/features/Managed/ManagedDashboardCard/DashboardCard.tsx +++ b/packages/manager/src/features/Managed/ManagedDashboardCard/DashboardCard.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; const useStyles = makeStyles()((theme: Theme) => ({ diff --git a/packages/manager/src/features/Managed/ManagedDashboardCard/ManagedChartPanel.tsx b/packages/manager/src/features/Managed/ManagedDashboardCard/ManagedChartPanel.tsx index 0891c86cea4..5638042a0fc 100644 --- a/packages/manager/src/features/Managed/ManagedDashboardCard/ManagedChartPanel.tsx +++ b/packages/manager/src/features/Managed/ManagedDashboardCard/ManagedChartPanel.tsx @@ -6,7 +6,7 @@ import { CircleProgress } from 'src/components/CircleProgress'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import { LineGraph } from 'src/components/LineGraph/LineGraph'; import { TabbedPanel } from 'src/components/TabbedPanel/TabbedPanel'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { convertNetworkToUnit, formatNetworkTooltip, diff --git a/packages/manager/src/features/Managed/ManagedDashboardCard/MonitorStatus.tsx b/packages/manager/src/features/Managed/ManagedDashboardCard/MonitorStatus.tsx index b40c955c21b..cb7aef55cdb 100644 --- a/packages/manager/src/features/Managed/ManagedDashboardCard/MonitorStatus.tsx +++ b/packages/manager/src/features/Managed/ManagedDashboardCard/MonitorStatus.tsx @@ -6,7 +6,7 @@ import MonitorFailed from 'src/assets/icons/monitor-failed.svg'; import MonitorOK from 'src/assets/icons/monitor-ok.svg'; import { makeStyles, withTheme, WithTheme } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; export const useStyles = makeStyles((theme: Theme) => ({ diff --git a/packages/manager/src/features/Managed/ManagedDashboardCard/MonitorTickets.tsx b/packages/manager/src/features/Managed/ManagedDashboardCard/MonitorTickets.tsx index fd63cad8318..de713e7ac7d 100644 --- a/packages/manager/src/features/Managed/ManagedDashboardCard/MonitorTickets.tsx +++ b/packages/manager/src/features/Managed/ManagedDashboardCard/MonitorTickets.tsx @@ -4,7 +4,7 @@ import TicketIcon from 'src/assets/icons/ticket.svg'; import { Button } from 'src/components/Button/Button'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { ExtendedIssue } from 'src/queries/managed/types'; diff --git a/packages/manager/src/features/Managed/Monitors/MonitorRow.tsx b/packages/manager/src/features/Managed/Monitors/MonitorRow.tsx index f7eb7296031..7c8a470380a 100644 --- a/packages/manager/src/features/Managed/Monitors/MonitorRow.tsx +++ b/packages/manager/src/features/Managed/Monitors/MonitorRow.tsx @@ -5,7 +5,7 @@ import TicketIcon from 'src/assets/icons/ticket.svg'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Tooltip from 'src/components/core/Tooltip'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; diff --git a/packages/manager/src/features/Managed/SSHAccess/EditSSHAccessDrawer.tsx b/packages/manager/src/features/Managed/SSHAccess/EditSSHAccessDrawer.tsx index a56b0559e4c..93225eebe59 100644 --- a/packages/manager/src/features/Managed/SSHAccess/EditSSHAccessDrawer.tsx +++ b/packages/manager/src/features/Managed/SSHAccess/EditSSHAccessDrawer.tsx @@ -6,7 +6,7 @@ import { Button } from 'src/components/Button/Button'; import FormControlLabel from 'src/components/core/FormControlLabel'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import Grid from '@mui/material/Unstable_Grid2'; import { IPSelect } from 'src/components/IPSelect/IPSelect'; diff --git a/packages/manager/src/features/Managed/SSHAccess/LinodePubKey.tsx b/packages/manager/src/features/Managed/SSHAccess/LinodePubKey.tsx index effade99d85..d4b9baa9ed0 100644 --- a/packages/manager/src/features/Managed/SSHAccess/LinodePubKey.tsx +++ b/packages/manager/src/features/Managed/SSHAccess/LinodePubKey.tsx @@ -7,7 +7,7 @@ import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import Grid from '@mui/material/Unstable_Grid2'; import { useManagedSSHKey } from 'src/queries/managed/managed'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerActiveCheck.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerActiveCheck.tsx index 8bc4984e2cf..97806c243f2 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerActiveCheck.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerActiveCheck.tsx @@ -4,7 +4,7 @@ import Grid from '@mui/material/Unstable_Grid2'; import InputAdornment from 'src/components/core/InputAdornment'; import Select from 'src/components/EnhancedSelect/Select'; import { TextField } from 'src/components/TextField'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { setErrorMap } from './utils'; import type { Item } from 'src/components/EnhancedSelect'; import type { NodeBalancerConfigPanelProps } from './types'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerConfigNode.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerConfigNode.tsx index c74900c280a..97cd5120f2f 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerConfigNode.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerConfigNode.tsx @@ -5,7 +5,7 @@ import Divider from 'src/components/core/Divider'; import Grid from '@mui/material/Unstable_Grid2'; import MenuItem from 'src/components/core/MenuItem'; import { TextField } from 'src/components/TextField'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Chip } from 'src/components/core/Chip'; import { ConfigNodeIPSelect } from './ConfigNodeIPSelect'; import { getErrorMap } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerConfigPanel.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerConfigPanel.tsx index f385026554b..bbb54efe895 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerConfigPanel.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerConfigPanel.tsx @@ -7,7 +7,7 @@ import Grid from '@mui/material/Unstable_Grid2'; import Link from 'src/components/Link'; import Select from 'src/components/EnhancedSelect/Select'; import { TextField } from 'src/components/TextField'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ActiveCheck } from './NodeBalancerActiveCheck'; import { NodeBalancerConfigNode } from './NodeBalancerConfigNode'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx index 989e193e15e..32325fb5be8 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerCreate.tsx @@ -9,7 +9,7 @@ import { Accordion } from 'src/components/Accordion'; import Paper from 'src/components/core/Paper'; import LandingHeader from 'src/components/LandingHeader'; import { TextField } from 'src/components/TextField'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { SelectRegionPanel } from 'src/components/SelectRegionPanel/SelectRegionPanel'; import getAPIErrorFor from 'src/utilities/getAPIErrorFor'; import scrollErrorIntoView from 'src/utilities/scrollErrorIntoView'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerDeleteDialog.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerDeleteDialog.tsx index 58e90eb2862..c9e25b2b18b 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerDeleteDialog.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerDeleteDialog.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import { useHistory } from 'react-router-dom'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { TypeToConfirmDialog } from 'src/components/TypeToConfirmDialog/TypeToConfirmDialog'; import { useNodebalancerDeleteMutation } from 'src/queries/nodebalancers'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerConfigurations.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerConfigurations.tsx index 3cdaeb9d981..36488345a0e 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerConfigurations.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerConfigurations.tsx @@ -31,7 +31,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { styled } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import Box from '@mui/material/Box'; import PromiseLoader, { diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSummary/SummaryPanel.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSummary/SummaryPanel.tsx index fb026472512..f2ea62197ab 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSummary/SummaryPanel.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSummary/SummaryPanel.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import IPAddress from 'src/features/Linodes/LinodesLanding/IPAddress'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { convertMegabytesTo } from 'src/utilities/unitConversions'; import { Link, useParams } from 'react-router-dom'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSummary/TablesPanel.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSummary/TablesPanel.tsx index 5e9550931db..7965dca34e5 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSummary/TablesPanel.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerDetail/NodeBalancerSummary/TablesPanel.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { CircleProgress } from 'src/components/CircleProgress'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import { LineGraph } from 'src/components/LineGraph/LineGraph'; import MetricsDisplay from 'src/components/LineGraph/MetricsDisplay'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancerPassiveCheck.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancerPassiveCheck.tsx index 57effce6341..5456ce7af41 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancerPassiveCheck.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancerPassiveCheck.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import FormControlLabel from 'src/components/core/FormControlLabel'; import FormHelperText from 'src/components/core/FormHelperText'; import Grid from '@mui/material/Unstable_Grid2'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Toggle } from 'src/components/Toggle'; import type { NodeBalancerConfigPanelProps } from './types'; diff --git a/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancersLandingEmptyState.tsx b/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancersLandingEmptyState.tsx index 5a019adc965..2a565cae5e3 100644 --- a/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancersLandingEmptyState.tsx +++ b/packages/manager/src/features/NodeBalancers/NodeBalancersLanding/NodeBalancersLandingEmptyState.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { useHistory } from 'react-router-dom'; import NodeBalancer from 'src/assets/icons/entityIcons/nodebalancer.svg'; import { styled } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import Link from 'src/components/Link'; import { Placeholder } from 'src/components/Placeholder/Placeholder'; diff --git a/packages/manager/src/features/NotificationCenter/NotificationData/RenderEvent.tsx b/packages/manager/src/features/NotificationCenter/NotificationData/RenderEvent.tsx index c056d8879ce..1adc040e7f3 100644 --- a/packages/manager/src/features/NotificationCenter/NotificationData/RenderEvent.tsx +++ b/packages/manager/src/features/NotificationCenter/NotificationData/RenderEvent.tsx @@ -3,7 +3,7 @@ import { Box } from 'src/components/Box'; import classNames from 'classnames'; import Divider from 'src/components/core/Divider'; import { HighlightedMarkdown } from 'src/components/HighlightedMarkdown/HighlightedMarkdown'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import useEventInfo from './useEventInfo'; import { Event } from '@linode/api-v4/lib/account/types'; import { diff --git a/packages/manager/src/features/NotificationCenter/NotificationData/RenderNotification.tsx b/packages/manager/src/features/NotificationCenter/NotificationData/RenderNotification.tsx index c06250c5a2d..5f544a7930c 100644 --- a/packages/manager/src/features/NotificationCenter/NotificationData/RenderNotification.tsx +++ b/packages/manager/src/features/NotificationCenter/NotificationData/RenderNotification.tsx @@ -4,7 +4,7 @@ import WarningIcon from '@mui/icons-material/Warning'; import * as React from 'react'; import Divider from 'src/components/core/Divider'; import { useTheme, styled } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Box from '@mui/material/Box'; import { Link } from 'src/components/Link'; import { sanitizeHTML } from 'src/utilities/sanitize-html'; diff --git a/packages/manager/src/features/NotificationCenter/NotificationData/RenderProgressEvent.tsx b/packages/manager/src/features/NotificationCenter/NotificationData/RenderProgressEvent.tsx index 88a9f2d9791..8705dff018b 100644 --- a/packages/manager/src/features/NotificationCenter/NotificationData/RenderProgressEvent.tsx +++ b/packages/manager/src/features/NotificationCenter/NotificationData/RenderProgressEvent.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import BarPercent from 'src/components/BarPercent'; import { Box } from 'src/components/Box'; import Divider from 'src/components/core/Divider'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Duration } from 'luxon'; import { Event } from '@linode/api-v4/lib/account/types'; import { extendTypesQueryResult } from 'src/utilities/extendType'; diff --git a/packages/manager/src/features/NotificationCenter/NotificationData/useFormattedNotifications.tsx b/packages/manager/src/features/NotificationCenter/NotificationData/useFormattedNotifications.tsx index 49141ad6af8..68de4815e39 100644 --- a/packages/manager/src/features/NotificationCenter/NotificationData/useFormattedNotifications.tsx +++ b/packages/manager/src/features/NotificationCenter/NotificationData/useFormattedNotifications.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import RenderNotification from './RenderNotification'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import useDismissibleNotifications from 'src/hooks/useDismissibleNotifications'; import { checkIfMaintenanceNotification } from './notificationUtils'; import { complianceUpdateContext } from 'src/context/complianceUpdateContext'; diff --git a/packages/manager/src/features/NotificationCenter/NotificationSection.tsx b/packages/manager/src/features/NotificationCenter/NotificationSection.tsx index 9d70e597c5c..bf966816876 100644 --- a/packages/manager/src/features/NotificationCenter/NotificationSection.tsx +++ b/packages/manager/src/features/NotificationCenter/NotificationSection.tsx @@ -7,9 +7,9 @@ import { Link } from 'react-router-dom'; import { Accordion } from 'src/components/Accordion'; import { StyledLinkButton } from 'src/components/Button/StyledLinkButton'; import { CircleProgress } from 'src/components/CircleProgress'; +import { Typography } from 'src/components/Typography'; import { Box } from 'src/components/Box'; import { Hidden } from 'src/components/Hidden'; -import Typography from 'src/components/core/Typography'; import { menuLinkStyle } from 'src/features/TopMenu/UserMenu/UserMenu'; import { makeStyles } from 'tss-react/mui'; diff --git a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx index 0db7f8f3cbd..8d720af1414 100644 --- a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx +++ b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyDrawer.tsx @@ -3,7 +3,7 @@ import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/Drawer'; import { TextField } from 'src/components/TextField'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { CircleProgress } from 'src/components/CircleProgress'; import { confirmObjectStorage } from '../utilities'; import { createObjectStorageKeysSchema } from '@linode/validation/lib/objectStorageKeys.schema'; diff --git a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyTable.tsx b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyTable.tsx index 295da4efbcf..e5862d084e6 100644 --- a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyTable.tsx +++ b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/AccessKeyTable.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { TableRowEmpty } from 'src/components/TableRowEmpty/TableRowEmpty'; import { TableRowError } from 'src/components/TableRowError/TableRowError'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { AccessKeyMenu } from './AccessKeyMenu'; import { APIError } from '@linode/api-v4/lib/types'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; diff --git a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/LimitedAccessControls.tsx b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/LimitedAccessControls.tsx index 6da955defaa..ad4544822b1 100644 --- a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/LimitedAccessControls.tsx +++ b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/LimitedAccessControls.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import FormControlLabel from 'src/components/core/FormControlLabel'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { AccessTable } from './AccessTable'; import { Scope } from '@linode/api-v4/lib/object-storage/types'; import { MODE } from './types'; diff --git a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/RevokeAccessKeyDialog.tsx b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/RevokeAccessKeyDialog.tsx index 54f994b259f..7b6c616bc22 100644 --- a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/RevokeAccessKeyDialog.tsx +++ b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/RevokeAccessKeyDialog.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import { APIError } from '@linode/api-v4/lib/types'; import { CancelNotice } from '../CancelNotice'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; diff --git a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/ViewPermissionsDrawer.tsx b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/ViewPermissionsDrawer.tsx index fc4ae7169cc..9f86c5def3b 100644 --- a/packages/manager/src/features/ObjectStorage/AccessKeyLanding/ViewPermissionsDrawer.tsx +++ b/packages/manager/src/features/ObjectStorage/AccessKeyLanding/ViewPermissionsDrawer.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Drawer from 'src/components/Drawer'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { AccessTable } from './AccessTable'; import { ObjectStorageKey } from '@linode/api-v4/lib/object-storage'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/AccessSelect.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/AccessSelect.tsx index 72cb112e846..433f4b1a6bb 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/AccessSelect.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/AccessSelect.tsx @@ -4,7 +4,7 @@ import { Button } from 'src/components/Button/Button'; import EnhancedSelect from 'src/components/EnhancedSelect'; import ExternalLink from 'src/components/ExternalLink'; import FormControlLabel from 'src/components/core/FormControlLabel'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import useOpenClose from 'src/hooks/useOpenClose'; import { ACLType } from '@linode/api-v4/lib/object-storage'; import { bucketACLOptions, objectACLOptions } from '../utilities'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketAccess.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketAccess.tsx index 7d8a8d6ba53..a8f664b7ae3 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketAccess.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketAccess.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { AccessSelect } from './AccessSelect'; import { styled } from '@mui/material/styles'; import { diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketBreadcrumb.styles.ts b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketBreadcrumb.styles.ts index 0a655d69116..908be325814 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketBreadcrumb.styles.ts +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketBreadcrumb.styles.ts @@ -1,5 +1,5 @@ import FileCopy from '@mui/icons-material/FileCopy'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { styled } from '@mui/material/styles'; export const StyledRootContainer = styled('div', { diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.styles.ts b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.styles.ts index abcfedc53a2..fa3ba376866 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.styles.ts +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketDetail.styles.ts @@ -1,5 +1,5 @@ +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import { StyledLinkButton } from 'src/components/Button/StyledLinkButton'; import { styled } from '@mui/material/styles'; import { TableCell } from 'src/components/TableCell'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.styles.ts b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.styles.ts index 7665595b41c..2cdbe08f821 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.styles.ts +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.styles.ts @@ -1,4 +1,4 @@ -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.tsx index 13dab383cdd..ff3f4b48af4 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/BucketSSL.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ExternalLink from 'src/components/ExternalLink'; import Grid from '@mui/material/Unstable_Grid2'; import { TextField } from 'src/components/TextField'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectDetailsDrawer.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectDetailsDrawer.tsx index 7c02fb04205..e0a16d0e32c 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectDetailsDrawer.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectDetailsDrawer.tsx @@ -3,7 +3,7 @@ import Divider from 'src/components/core/Divider'; import Drawer from 'src/components/Drawer'; import ExternalLink from 'src/components/ExternalLink'; import formatDate from 'src/utilities/formatDate'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { AccessSelect } from './AccessSelect'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; import { readableBytes } from 'src/utilities/unitConversions'; diff --git a/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectTableRow.tsx b/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectTableRow.tsx index df54052b619..1af8c0eb7fc 100644 --- a/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectTableRow.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketDetail/ObjectTableRow.tsx @@ -3,7 +3,7 @@ import { Box } from 'src/components/Box'; import Grid from '@mui/material/Unstable_Grid2'; import { Hidden } from 'src/components/Hidden'; import ObjectActionMenu from './ObjectActionMenu'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; import { EntityIcon } from 'src/components/EntityIcon/EntityIcon'; import { StyledLinkButton } from 'src/components/Button/StyledLinkButton'; diff --git a/packages/manager/src/features/ObjectStorage/BucketLanding/BucketDetailsDrawer.tsx b/packages/manager/src/features/ObjectStorage/BucketLanding/BucketDetailsDrawer.tsx index e91dfd4ac08..403ed670935 100644 --- a/packages/manager/src/features/ObjectStorage/BucketLanding/BucketDetailsDrawer.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketLanding/BucketDetailsDrawer.tsx @@ -7,7 +7,7 @@ import * as React from 'react'; import { Link } from 'react-router-dom'; import { CopyTooltip } from 'src/components/CopyTooltip/CopyTooltip'; import Divider from 'src/components/core/Divider'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Drawer from 'src/components/Drawer'; import ExternalLink from 'src/components/ExternalLink'; import { useObjectStorageClusters } from 'src/queries/objectStorage'; diff --git a/packages/manager/src/features/ObjectStorage/BucketLanding/BucketLanding.tsx b/packages/manager/src/features/ObjectStorage/BucketLanding/BucketLanding.tsx index 3c98017de65..ee46ba11ecd 100644 --- a/packages/manager/src/features/ObjectStorage/BucketLanding/BucketLanding.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketLanding/BucketLanding.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import Grid from '@mui/material/Unstable_Grid2'; import OrderBy from 'src/components/OrderBy'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import useOpenClose from 'src/hooks/useOpenClose'; import { APIError } from '@linode/api-v4/lib/types'; import { BucketDetailsDrawer } from './BucketDetailsDrawer'; diff --git a/packages/manager/src/features/ObjectStorage/BucketLanding/BucketTableRow.tsx b/packages/manager/src/features/ObjectStorage/BucketLanding/BucketTableRow.tsx index 6f70e2b8e40..d8645e25517 100644 --- a/packages/manager/src/features/ObjectStorage/BucketLanding/BucketTableRow.tsx +++ b/packages/manager/src/features/ObjectStorage/BucketLanding/BucketTableRow.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import Grid from '@mui/material/Unstable_Grid2'; +import { Typography } from 'src/components/Typography'; import { Hidden } from 'src/components/Hidden'; -import Typography from 'src/components/core/Typography'; import { BucketActionMenu } from './BucketActionMenu'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; import { ObjectStorageBucket } from '@linode/api-v4/lib/object-storage'; diff --git a/packages/manager/src/features/ObjectStorage/CancelNotice.tsx b/packages/manager/src/features/ObjectStorage/CancelNotice.tsx index 31082e57db9..cdf9ab037b9 100644 --- a/packages/manager/src/features/ObjectStorage/CancelNotice.tsx +++ b/packages/manager/src/features/ObjectStorage/CancelNotice.tsx @@ -1,5 +1,5 @@ import * as React from 'react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Link } from 'src/components/Link'; interface Props { diff --git a/packages/manager/src/features/ObjectStorage/EnableObjectStorageModal.tsx b/packages/manager/src/features/ObjectStorage/EnableObjectStorageModal.tsx index d4034d7c4d5..bc7741e58e2 100644 --- a/packages/manager/src/features/ObjectStorage/EnableObjectStorageModal.tsx +++ b/packages/manager/src/features/ObjectStorage/EnableObjectStorageModal.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ExternalLink from 'src/components/ExternalLink'; import { Link } from 'src/components/Link'; diff --git a/packages/manager/src/features/ObjectStorage/ObjectStorageLanding.tsx b/packages/manager/src/features/ObjectStorage/ObjectStorageLanding.tsx index 9d37bb37acd..d68e69bed8c 100644 --- a/packages/manager/src/features/ObjectStorage/ObjectStorageLanding.tsx +++ b/packages/manager/src/features/ObjectStorage/ObjectStorageLanding.tsx @@ -8,7 +8,7 @@ import SuspenseLoader from 'src/components/SuspenseLoader'; import { TabLinkList } from 'src/components/TabLinkList/TabLinkList'; import TabPanels from 'src/components/core/ReachTabPanels'; import Tabs from 'src/components/core/ReachTabs'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import useAccountManagement from 'src/hooks/useAccountManagement'; import useFlags from 'src/hooks/useFlags'; import useOpenClose from 'src/hooks/useOpenClose'; diff --git a/packages/manager/src/features/ObjectStorage/ObjectUploader/FileUpload.styles.ts b/packages/manager/src/features/ObjectStorage/ObjectUploader/FileUpload.styles.ts index e6e057b1c65..f542e3e5e53 100644 --- a/packages/manager/src/features/ObjectStorage/ObjectUploader/FileUpload.styles.ts +++ b/packages/manager/src/features/ObjectStorage/ObjectUploader/FileUpload.styles.ts @@ -1,7 +1,7 @@ import type { Theme } from '@mui/material/styles'; import { styled } from '@mui/material/styles'; import UploadPending from 'src/assets/icons/uploadPending.svg'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { rotate360 } from 'src/styles/keyframes'; import { makeStyles } from 'tss-react/mui'; import type { FileUploadProps } from './FileUpload'; diff --git a/packages/manager/src/features/ObjectStorage/ObjectUploader/FileUpload.tsx b/packages/manager/src/features/ObjectStorage/ObjectUploader/FileUpload.tsx index fbc3d3b627d..61efdb44c4e 100644 --- a/packages/manager/src/features/ObjectStorage/ObjectUploader/FileUpload.tsx +++ b/packages/manager/src/features/ObjectStorage/ObjectUploader/FileUpload.tsx @@ -4,7 +4,7 @@ import FileUploadComplete from 'src/assets/icons/fileUploadComplete.svg'; import { Button } from 'src/components/Button/Button'; import { LinearProgress } from 'src/components/LinearProgress'; import Tooltip from 'src/components/core/Tooltip'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { readableBytes } from 'src/utilities/unitConversions'; import { StyledActionsContainer, diff --git a/packages/manager/src/features/ObjectStorage/ObjectUploader/ObjectUploader.styles.ts b/packages/manager/src/features/ObjectStorage/ObjectUploader/ObjectUploader.styles.ts index c58ca0e6429..80783a0042f 100644 --- a/packages/manager/src/features/ObjectStorage/ObjectUploader/ObjectUploader.styles.ts +++ b/packages/manager/src/features/ObjectStorage/ObjectUploader/ObjectUploader.styles.ts @@ -1,4 +1,4 @@ -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { makeStyles } from 'tss-react/mui'; import { styled } from '@mui/material/styles'; import type { Theme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/OneClickApps/AppDetailDrawer.tsx b/packages/manager/src/features/OneClickApps/AppDetailDrawer.tsx index d344429834a..fe859f19eae 100644 --- a/packages/manager/src/features/OneClickApps/AppDetailDrawer.tsx +++ b/packages/manager/src/features/OneClickApps/AppDetailDrawer.tsx @@ -7,7 +7,7 @@ import Close from '@mui/icons-material/Close'; import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import Drawer from 'src/components/core/Drawer'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import ExternalLink from 'src/components/ExternalLink'; import { OCA } from 'src/features/OneClickApps/oneClickApps'; import useFlags from 'src/hooks/useFlags'; diff --git a/packages/manager/src/features/Profile/APITokens/APITokenTable.styles.ts b/packages/manager/src/features/Profile/APITokens/APITokenTable.styles.ts index 1532acb0a17..f0f8451641a 100644 --- a/packages/manager/src/features/Profile/APITokens/APITokenTable.styles.ts +++ b/packages/manager/src/features/Profile/APITokens/APITokenTable.styles.ts @@ -1,5 +1,5 @@ import Grid from '@mui/material/Unstable_Grid2'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { styled } from '@mui/material/styles'; export const StyledRootContainer = styled(Grid, { diff --git a/packages/manager/src/features/Profile/APITokens/APITokenTable.tsx b/packages/manager/src/features/Profile/APITokens/APITokenTable.tsx index baadb1a9e3f..9c559432d4e 100644 --- a/packages/manager/src/features/Profile/APITokens/APITokenTable.tsx +++ b/packages/manager/src/features/Profile/APITokens/APITokenTable.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import AddNewLink from 'src/components/AddNewLink'; import { Box } from 'src/components/Box'; import Grid from '@mui/material/Unstable_Grid2'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { CreateAPITokenDrawer } from './CreateAPITokenDrawer'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; import { EditAPITokenDrawer } from './EditAPITokenDrawer'; diff --git a/packages/manager/src/features/Profile/APITokens/RevokeTokenDialog.tsx b/packages/manager/src/features/Profile/APITokens/RevokeTokenDialog.tsx index 855d9bb3ca5..17b1e2a1059 100644 --- a/packages/manager/src/features/Profile/APITokens/RevokeTokenDialog.tsx +++ b/packages/manager/src/features/Profile/APITokens/RevokeTokenDialog.tsx @@ -1,7 +1,7 @@ import React from 'react'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import ActionsPanel from 'src/components/ActionsPanel'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Token } from '@linode/api-v4/lib/profile/types'; import { Button } from 'src/components/Button/Button'; import { APITokenType } from './APITokenTable'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/AuthenticationSettings.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/AuthenticationSettings.tsx index 49054e1f445..31b09303d61 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/AuthenticationSettings.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/AuthenticationSettings.tsx @@ -3,7 +3,7 @@ import Divider from 'src/components/core/Divider'; import Link from 'src/components/Link'; import Paper from 'src/components/core/Paper'; import TrustedDevices from './TrustedDevices'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { CircleProgress } from 'src/components/CircleProgress'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts index f8d474a36f5..6e9b677f31e 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts +++ b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.styles.ts @@ -2,7 +2,7 @@ import { Box } from 'src/components/Box'; import FormHelperText from 'src/components/core/FormHelperText'; import Select from 'src/components/EnhancedSelect/Select'; import { TextField } from 'src/components/TextField'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { styled } from '@mui/material/styles'; export const StyledCodeSentMessageBox = styled(Box, { diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx index 98c84ca0c36..055b7a94385 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/PhoneVerification/PhoneVerification.tsx @@ -3,7 +3,7 @@ import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import InputAdornment from 'src/components/core/InputAdornment'; import { TextField } from 'src/components/TextField'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { APIError } from '@linode/api-v4/lib/types'; import { countries } from './countries'; import { CountryCode, parsePhoneNumber } from 'libphonenumber-js'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/ResetPassword.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/ResetPassword.tsx index bf687e7a1e9..b1cac1f07d5 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/ResetPassword.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/ResetPassword.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; +import { Typography } from 'src/components/Typography'; import { Box } from 'src/components/Box'; -import Typography from 'src/components/core/Typography'; import { Link } from 'src/components/Link'; import { LOGIN_ROOT } from 'src/constants'; import { styled, useTheme } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/RevokeTrustedDevicesDialog.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/RevokeTrustedDevicesDialog.tsx index d3303164efd..ba616990632 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/RevokeTrustedDevicesDialog.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/RevokeTrustedDevicesDialog.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useRevokeTrustedDeviceMutation } from 'src/queries/profile'; interface Props { diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/SMSMessaging.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/SMSMessaging.tsx index 94ebb2bede7..2705a2f83a9 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/SMSMessaging.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/SMSMessaging.tsx @@ -1,8 +1,8 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; +import { Typography } from 'src/components/Typography'; import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { getFormattedNumber } from './PhoneVerification/helpers'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/Question.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/Question.tsx index f5c04712e39..1ee84f88424 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/Question.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/Question.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { SecurityQuestion } from '@linode/api-v4/lib/profile'; import Select, { Item } from 'src/components/EnhancedSelect'; import InputLabel from 'src/components/core/InputLabel'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { LinkButton } from 'src/components/LinkButton'; interface Props { diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/SecurityQuestions.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/SecurityQuestions.tsx index 1fb4810121f..948163df015 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/SecurityQuestions.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/SecurityQuestions/SecurityQuestions.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; +import { Typography } from 'src/components/Typography'; import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import { CircleProgress } from 'src/components/CircleProgress'; import { getAnsweredQuestions, securityQuestionsToItems } from './utilities'; import { Link } from 'src/components/Link'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TPADialog.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TPADialog.tsx index 56ba2b6d486..17c25d0fb36 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TPADialog.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TPADialog.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; import useFlags from 'src/hooks/useFlags'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { LOGIN_ROOT } from 'src/constants'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.styles.ts b/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.styles.ts index 9c630ee6ee9..71c8892dccb 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.styles.ts +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.styles.ts @@ -1,7 +1,7 @@ import { Button } from 'src/components/Button/Button'; import Grid from '@mui/material/Unstable_Grid2'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.tsx index 96d42a3d8b1..a9cc08e08ed 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TPAProviders.tsx @@ -8,7 +8,7 @@ import GitHubIcon from 'src/assets/icons/providers/github-logo.svg'; import GoogleIcon from 'src/assets/icons/providers/google-logo.svg'; import Grid from '@mui/material/Unstable_Grid2'; import Link from 'src/components/Link'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import useFlags from 'src/hooks/useFlags'; import { TPADialog } from './TPADialog'; import { TPAProvider } from '@linode/api-v4/lib/profile'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TrustedDevices.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TrustedDevices.tsx index 396516f98ac..217ad63c39b 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TrustedDevices.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TrustedDevices.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { PaginationFooter } from 'src/components/PaginationFooter/PaginationFooter'; import { Table } from 'src/components/Table'; import { TableCell } from 'src/components/TableCell'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx index 4bcdc7c59d9..9004ffdbee4 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ConfirmToken.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import { TextField } from 'src/components/TextField'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/DisableTwoFactorDialog.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/DisableTwoFactorDialog.tsx index 9510b336a37..8b566fd2070 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/DisableTwoFactorDialog.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/DisableTwoFactorDialog.tsx @@ -4,7 +4,7 @@ import { compose } from 'recompose'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import withLoadingAndError, { Props as LoadingAndErrorProps, } from 'src/components/withLoadingAndError'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/QRCodeForm.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/QRCodeForm.tsx index cc9b6f7b67a..5531775656c 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/QRCodeForm.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/QRCodeForm.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; import QRCode from 'qrcode.react'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { CopyableTextField } from 'src/components/CopyableTextField/CopyableTextField'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ScratchCodeDialog.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ScratchCodeDialog.tsx index b0ad813c6ce..972e178be1e 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ScratchCodeDialog.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/ScratchCodeDialog.tsx @@ -3,7 +3,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; interface Props { open: boolean; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/TwoFactor.styles.ts b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/TwoFactor.styles.ts index d670508ada8..98d367a7e5f 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/TwoFactor.styles.ts +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/TwoFactor.styles.ts @@ -1,4 +1,4 @@ -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { styled } from '@mui/material/styles'; import type { TwoFactorProps } from './TwoFactor'; diff --git a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/TwoFactor.tsx b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/TwoFactor.tsx index d019bfb7ba9..ad213ddad89 100644 --- a/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/TwoFactor.tsx +++ b/packages/manager/src/features/Profile/AuthenticationSettings/TwoFactor/TwoFactor.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import DisableTwoFactorDialog from './DisableTwoFactorDialog'; import getAPIErrorFor from 'src/utilities/getAPIErrorFor'; import ScratchDialog from './ScratchCodeDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { APIError } from '@linode/api-v4/lib/types'; import { EnableTwoFactorForm } from './EnableTwoFactorForm'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/Profile/DisplaySettings/DisplaySettings.tsx b/packages/manager/src/features/Profile/DisplaySettings/DisplaySettings.tsx index 26280800141..572c6ac0901 100644 --- a/packages/manager/src/features/Profile/DisplaySettings/DisplaySettings.tsx +++ b/packages/manager/src/features/Profile/DisplaySettings/DisplaySettings.tsx @@ -4,7 +4,7 @@ import Divider from 'src/components/core/Divider'; import ExternalLink from 'src/components/ExternalLink'; import Link from 'src/components/Link'; import Paper from 'src/components/core/Paper'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { ApplicationState } from 'src/store'; import { GravatarByEmail } from 'src/components/GravatarByEmail'; import { SingleTextFieldForm } from 'src/components/SingleTextFieldForm/SingleTextFieldForm'; diff --git a/packages/manager/src/features/Profile/DisplaySettings/TimezoneForm.tsx b/packages/manager/src/features/Profile/DisplaySettings/TimezoneForm.tsx index 1e96050bba1..3797dfed0c0 100644 --- a/packages/manager/src/features/Profile/DisplaySettings/TimezoneForm.tsx +++ b/packages/manager/src/features/Profile/DisplaySettings/TimezoneForm.tsx @@ -4,7 +4,7 @@ import { Box } from 'src/components/Box'; import { Button } from 'src/components/Button/Button'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import timezones from 'src/assets/timezones/timezones'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { CircleProgress } from 'src/components/CircleProgress'; import { DateTime } from 'luxon'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx b/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx index 875d5e68b34..c333cc0936b 100644 --- a/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx +++ b/packages/manager/src/features/Profile/LishSettings/LishSettings.tsx @@ -8,7 +8,7 @@ import Paper from 'src/components/core/Paper'; import scrollErrorIntoView from 'src/utilities/scrollErrorIntoView'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import { TextField } from 'src/components/TextField'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { APIError } from '@linode/api-v4/lib/types'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import { equals, lensPath, remove, set } from 'ramda'; diff --git a/packages/manager/src/features/Profile/OAuthClients/DeleteOAuthClientDialog.tsx b/packages/manager/src/features/Profile/OAuthClients/DeleteOAuthClientDialog.tsx index 9ae135ff8cb..87fa0d2b1a2 100644 --- a/packages/manager/src/features/Profile/OAuthClients/DeleteOAuthClientDialog.tsx +++ b/packages/manager/src/features/Profile/OAuthClients/DeleteOAuthClientDialog.tsx @@ -2,7 +2,7 @@ import React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useDeleteOAuthClientMutation } from 'src/queries/accountOAuth'; interface Props { diff --git a/packages/manager/src/features/Profile/OAuthClients/ResetOAuthClientDialog.tsx b/packages/manager/src/features/Profile/OAuthClients/ResetOAuthClientDialog.tsx index 444d938ebd9..d147f1ca808 100644 --- a/packages/manager/src/features/Profile/OAuthClients/ResetOAuthClientDialog.tsx +++ b/packages/manager/src/features/Profile/OAuthClients/ResetOAuthClientDialog.tsx @@ -2,7 +2,7 @@ import React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useResetOAuthClientMutation } from 'src/queries/accountOAuth'; interface Props { diff --git a/packages/manager/src/features/Profile/Referrals/Referrals.styles.ts b/packages/manager/src/features/Profile/Referrals/Referrals.styles.ts index 06d9fd9daa1..bb4fea13794 100644 --- a/packages/manager/src/features/Profile/Referrals/Referrals.styles.ts +++ b/packages/manager/src/features/Profile/Referrals/Referrals.styles.ts @@ -1,5 +1,5 @@ import Grid from '@mui/material/Unstable_Grid2'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { styled } from '@mui/material/styles'; diff --git a/packages/manager/src/features/Profile/Referrals/Referrals.tsx b/packages/manager/src/features/Profile/Referrals/Referrals.tsx index 1f6b5bb9990..b085c8c8666 100644 --- a/packages/manager/src/features/Profile/Referrals/Referrals.tsx +++ b/packages/manager/src/features/Profile/Referrals/Referrals.tsx @@ -6,7 +6,7 @@ import Paper from 'src/components/core/Paper'; import Step1 from 'src/assets/referrals/step-1.svg'; import Step2 from 'src/assets/referrals/step-2.svg'; import Step3 from 'src/assets/referrals/step-3.svg'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { CopyableTextField } from 'src/components/CopyableTextField/CopyableTextField'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx b/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx index 01c9618037e..d750c476b7a 100644 --- a/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx +++ b/packages/manager/src/features/Profile/SSHKeys/CreateSSHKeyDrawer.tsx @@ -6,7 +6,7 @@ import { Notice } from 'src/components/Notice/Notice'; import { TextField } from 'src/components/TextField'; import getAPIErrorFor from 'src/utilities/getAPIErrorFor'; import Link from 'src/components/Link'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Code } from 'src/components/Code/Code'; import { useCreateSSHKeyMutation } from 'src/queries/profile'; import { useFormik } from 'formik'; diff --git a/packages/manager/src/features/Profile/SSHKeys/DeleteSSHKeyDialog.tsx b/packages/manager/src/features/Profile/SSHKeys/DeleteSSHKeyDialog.tsx index 752ab92b601..89c0f9c754f 100644 --- a/packages/manager/src/features/Profile/SSHKeys/DeleteSSHKeyDialog.tsx +++ b/packages/manager/src/features/Profile/SSHKeys/DeleteSSHKeyDialog.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useDeleteSSHKeyMutation } from 'src/queries/profile'; interface Props { diff --git a/packages/manager/src/features/Profile/SSHKeys/SSHKeys.tsx b/packages/manager/src/features/Profile/SSHKeys/SSHKeys.tsx index fd4f9bf9847..4011b8dcb0a 100644 --- a/packages/manager/src/features/Profile/SSHKeys/SSHKeys.tsx +++ b/packages/manager/src/features/Profile/SSHKeys/SSHKeys.tsx @@ -6,7 +6,7 @@ import Grid from '@mui/material/Unstable_Grid2'; import { Hidden } from 'src/components/Hidden'; import SSHKeyActionMenu from 'src/features/Profile/SSHKeys/SSHKeyActionMenu'; import { CreateSSHKeyDrawer } from './CreateSSHKeyDrawer'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import { getSSHKeyFingerprint } from 'src/utilities/ssh-fingerprint'; import { PaginationFooter } from 'src/components/PaginationFooter/PaginationFooter'; diff --git a/packages/manager/src/features/Profile/Settings/PreferenceEditor.tsx b/packages/manager/src/features/Profile/Settings/PreferenceEditor.tsx index f8e3e9df2c3..f14d88ec99c 100644 --- a/packages/manager/src/features/Profile/Settings/PreferenceEditor.tsx +++ b/packages/manager/src/features/Profile/Settings/PreferenceEditor.tsx @@ -3,7 +3,7 @@ import { Dialog, DialogProps as _DialogProps, } from 'src/components/Dialog/Dialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Link from 'src/components/Link'; import { Button } from 'src/components/Button/Button'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Profile/Settings/Settings.tsx b/packages/manager/src/features/Profile/Settings/Settings.tsx index 5df2ef37db6..6e6628d8cb9 100644 --- a/packages/manager/src/features/Profile/Settings/Settings.tsx +++ b/packages/manager/src/features/Profile/Settings/Settings.tsx @@ -13,7 +13,7 @@ import FormControl from 'src/components/core/FormControl'; import FormControlLabel from 'src/components/core/FormControlLabel'; import Paper from 'src/components/core/Paper'; import RadioGroup from 'src/components/core/RadioGroup'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useMutatePreferences, usePreferences } from 'src/queries/preferences'; import { useMutateProfile, useProfile } from 'src/queries/profile'; import { getQueryParamFromQueryString } from 'src/utilities/queryParams'; diff --git a/packages/manager/src/features/Search/ResultGroup.test.tsx b/packages/manager/src/features/Search/ResultGroup.test.tsx index dd020500e76..7d5edbe4f73 100644 --- a/packages/manager/src/features/Search/ResultGroup.test.tsx +++ b/packages/manager/src/features/Search/ResultGroup.test.tsx @@ -1,10 +1,8 @@ import { shallow } from 'enzyme'; import * as React from 'react'; - import { searchbarResult1, searchbarResult2 } from 'src/__data__/searchResults'; +import { Typography } from 'src/components/Typography'; import { Button } from 'src/components/Button/Button'; -import Typography from 'src/components/core/Typography'; - import { ResultGroup } from './ResultGroup'; jest.mock('@mui/styles', () => ({ diff --git a/packages/manager/src/features/Search/ResultGroup.tsx b/packages/manager/src/features/Search/ResultGroup.tsx index 25f5795a55f..4ee29dbb2cb 100644 --- a/packages/manager/src/features/Search/ResultGroup.tsx +++ b/packages/manager/src/features/Search/ResultGroup.tsx @@ -7,7 +7,7 @@ import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import { TableBody } from 'src/components/TableBody'; import { TableHead } from 'src/components/TableHead'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Item } from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; import { Table } from 'src/components/Table'; diff --git a/packages/manager/src/features/Search/ResultRow.tsx b/packages/manager/src/features/Search/ResultRow.tsx index 1b87ea689a8..ff70feaa6fe 100644 --- a/packages/manager/src/features/Search/ResultRow.tsx +++ b/packages/manager/src/features/Search/ResultRow.tsx @@ -7,8 +7,8 @@ import { Item } from 'src/components/EnhancedSelect/Select'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; import { Tags } from 'src/components/Tags/Tags'; +import { Typography } from 'src/components/Typography'; import { Hidden } from 'src/components/Hidden'; -import Typography from 'src/components/core/Typography'; import RegionIndicator from 'src/features/Linodes/LinodesLanding/RegionIndicator'; const useStyles = makeStyles((theme: Theme) => ({ diff --git a/packages/manager/src/features/Search/SearchLanding.tsx b/packages/manager/src/features/Search/SearchLanding.tsx index a78dccae174..711c46c1588 100644 --- a/packages/manager/src/features/Search/SearchLanding.tsx +++ b/packages/manager/src/features/Search/SearchLanding.tsx @@ -6,7 +6,7 @@ import Error from 'src/assets/icons/error.svg'; import { CircleProgress } from 'src/components/CircleProgress'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { H1Header } from 'src/components/H1Header/H1Header'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/StackScripts/SelectStackScriptPanel/SelectStackScriptPanel.tsx b/packages/manager/src/features/StackScripts/SelectStackScriptPanel/SelectStackScriptPanel.tsx index 1b2d5e15305..d76b0fad986 100644 --- a/packages/manager/src/features/StackScripts/SelectStackScriptPanel/SelectStackScriptPanel.tsx +++ b/packages/manager/src/features/StackScripts/SelectStackScriptPanel/SelectStackScriptPanel.tsx @@ -14,7 +14,7 @@ import { CircleProgress } from 'src/components/CircleProgress'; import Paper from 'src/components/core/Paper'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import RenderGuard, { RenderGuardProps } from 'src/components/RenderGuard'; import { Table } from 'src/components/Table'; diff --git a/packages/manager/src/features/StackScripts/SelectStackScriptPanel/StackScriptSelectionRow.tsx b/packages/manager/src/features/StackScripts/SelectStackScriptPanel/StackScriptSelectionRow.tsx index 28ca8b29c5a..49013cc07db 100644 --- a/packages/manager/src/features/StackScripts/SelectStackScriptPanel/StackScriptSelectionRow.tsx +++ b/packages/manager/src/features/StackScripts/SelectStackScriptPanel/StackScriptSelectionRow.tsx @@ -3,7 +3,7 @@ import { connect, MapDispatchToProps } from 'react-redux'; import { compose as recompose } from 'recompose'; import { Button } from 'src/components/Button/Button'; import { withStyles, WithStyles } from '@mui/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { Radio } from 'src/components/Radio/Radio'; import RenderGuard, { RenderGuardProps } from 'src/components/RenderGuard'; diff --git a/packages/manager/src/features/StackScripts/StackScriptCreate/StackScriptCreate.tsx b/packages/manager/src/features/StackScripts/StackScriptCreate/StackScriptCreate.tsx index eef50b494d7..fba3e1072c9 100644 --- a/packages/manager/src/features/StackScripts/StackScriptCreate/StackScriptCreate.tsx +++ b/packages/manager/src/features/StackScripts/StackScriptCreate/StackScriptCreate.tsx @@ -16,7 +16,7 @@ import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import { Item } from 'src/components/EnhancedSelect/Select'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; diff --git a/packages/manager/src/features/StackScripts/StackScriptForm/StackScriptForm.tsx b/packages/manager/src/features/StackScripts/StackScriptForm/StackScriptForm.tsx index 8f596de3beb..e6849057912 100644 --- a/packages/manager/src/features/StackScripts/StackScriptForm/StackScriptForm.tsx +++ b/packages/manager/src/features/StackScripts/StackScriptForm/StackScriptForm.tsx @@ -7,7 +7,7 @@ import InputAdornment from 'src/components/core/InputAdornment'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Item } from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptPanelContent.tsx b/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptPanelContent.tsx index 87c5e9310e5..c2ae0796557 100644 --- a/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptPanelContent.tsx +++ b/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptPanelContent.tsx @@ -9,7 +9,7 @@ import { compose } from 'recompose'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { StackScriptsRequest } from 'src/features/StackScripts/types'; import StackScriptBase, { StateProps, diff --git a/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptRow.tsx b/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptRow.tsx index e427ebfcff3..a8e2bc31ab7 100644 --- a/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptRow.tsx +++ b/packages/manager/src/features/StackScripts/StackScriptPanel/StackScriptRow.tsx @@ -3,7 +3,7 @@ import { Link } from 'react-router-dom'; import { compose as recompose } from 'recompose'; import { Hidden } from 'src/components/Hidden'; import { withStyles, WithStyles } from '@mui/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import RenderGuard, { RenderGuardProps } from 'src/components/RenderGuard'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; diff --git a/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/UserDefinedFieldsPanel.tsx b/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/UserDefinedFieldsPanel.tsx index f795b282f42..ec136d3c9e9 100644 --- a/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/UserDefinedFieldsPanel.tsx +++ b/packages/manager/src/features/StackScripts/UserDefinedFieldsPanel/UserDefinedFieldsPanel.tsx @@ -7,7 +7,7 @@ import { Box } from 'src/components/Box'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import Divider from 'src/components/core/Divider'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Support/ExpandableTicketPanel.tsx b/packages/manager/src/features/Support/ExpandableTicketPanel.tsx index 262ef21085a..c1da5d7b4ad 100644 --- a/packages/manager/src/features/Support/ExpandableTicketPanel.tsx +++ b/packages/manager/src/features/Support/ExpandableTicketPanel.tsx @@ -2,7 +2,7 @@ import { SupportReply, SupportTicket } from '@linode/api-v4'; import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; import { Hively, shouldRenderHively } from './Hively'; diff --git a/packages/manager/src/features/Support/Hively.tsx b/packages/manager/src/features/Support/Hively.tsx index 4ebefe0fcab..878dcbb4f4d 100644 --- a/packages/manager/src/features/Support/Hively.tsx +++ b/packages/manager/src/features/Support/Hively.tsx @@ -4,7 +4,7 @@ import { parseAPIDate } from 'src/utilities/date'; import Divider from 'src/components/core/Divider'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { OFFICIAL_USERNAMES } from './ticketUtils'; const useStyles = makeStyles((theme: Theme) => ({ diff --git a/packages/manager/src/features/Support/SupportTicketDetail/CloseTicketLink.tsx b/packages/manager/src/features/Support/SupportTicketDetail/CloseTicketLink.tsx index 565fb23901e..a2d7f7be39f 100644 --- a/packages/manager/src/features/Support/SupportTicketDetail/CloseTicketLink.tsx +++ b/packages/manager/src/features/Support/SupportTicketDetail/CloseTicketLink.tsx @@ -4,7 +4,7 @@ import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { useSupportTicketCloseMutation } from 'src/queries/support'; const useStyles = makeStyles()((theme: Theme) => ({ diff --git a/packages/manager/src/features/Support/SupportTicketDetail/SupportTicketDetail.tsx b/packages/manager/src/features/Support/SupportTicketDetail/SupportTicketDetail.tsx index 072ab7108d8..9e98ce49441 100644 --- a/packages/manager/src/features/Support/SupportTicketDetail/SupportTicketDetail.tsx +++ b/packages/manager/src/features/Support/SupportTicketDetail/SupportTicketDetail.tsx @@ -6,7 +6,7 @@ import { CircleProgress } from 'src/components/CircleProgress'; import { Chip } from 'src/components/core/Chip'; import { makeStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import { ErrorState } from 'src/components/ErrorState/ErrorState'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/MarkdownReference.tsx b/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/MarkdownReference.tsx index 46f7f74b8a1..e51bcbf6dae 100644 --- a/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/MarkdownReference.tsx +++ b/packages/manager/src/features/Support/SupportTicketDetail/TabbedReply/MarkdownReference.tsx @@ -1,7 +1,7 @@ import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; const useStyles = makeStyles((theme: Theme) => ({ header: { diff --git a/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx b/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx index 92427e75a91..9705e84310c 100644 --- a/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx +++ b/packages/manager/src/features/Support/SupportTickets/SupportTicketDrawer.tsx @@ -13,7 +13,7 @@ import { Button } from 'src/components/Button/Button'; import FormHelperText from 'src/components/core/FormHelperText'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Dialog } from 'src/components/Dialog/Dialog'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Support/SupportTickets/TicketRow.tsx b/packages/manager/src/features/Support/SupportTickets/TicketRow.tsx index 16f2fdf1353..4d87ed8ba27 100644 --- a/packages/manager/src/features/Support/SupportTickets/TicketRow.tsx +++ b/packages/manager/src/features/Support/SupportTickets/TicketRow.tsx @@ -1,6 +1,6 @@ import * as React from 'react'; +import { Typography } from 'src/components/Typography'; import { Hidden } from 'src/components/Hidden'; -import Typography from 'src/components/core/Typography'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; import { TableCell } from 'src/components/TableCell'; import { TableRow } from 'src/components/TableRow'; diff --git a/packages/manager/src/features/Support/TicketAttachmentList.tsx b/packages/manager/src/features/Support/TicketAttachmentList.tsx index a0f8713ecc4..5b64c56d8d5 100644 --- a/packages/manager/src/features/Support/TicketAttachmentList.tsx +++ b/packages/manager/src/features/Support/TicketAttachmentList.tsx @@ -5,7 +5,7 @@ import * as React from 'react'; import { compose, withStateHandlers } from 'recompose'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; import ShowMoreExpansion from 'src/components/ShowMoreExpansion'; import TicketAttachmentRow from './TicketAttachmentRow'; diff --git a/packages/manager/src/features/Support/TicketAttachmentRow.tsx b/packages/manager/src/features/Support/TicketAttachmentRow.tsx index 6694ffe40da..5a666a2ee0b 100644 --- a/packages/manager/src/features/Support/TicketAttachmentRow.tsx +++ b/packages/manager/src/features/Support/TicketAttachmentRow.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import Paper from 'src/components/core/Paper'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/TheApplicationIsOnFire.tsx b/packages/manager/src/features/TheApplicationIsOnFire.tsx index 23c112bddaa..d63590ff990 100644 --- a/packages/manager/src/features/TheApplicationIsOnFire.tsx +++ b/packages/manager/src/features/TheApplicationIsOnFire.tsx @@ -3,7 +3,7 @@ import Dialog from 'src/components/core/Dialog'; import DialogContent from 'src/components/core/DialogContent'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DialogTitle } from 'src/components/DialogTitle/DialogTitle'; const useStyles = makeStyles((theme: Theme) => ({ diff --git a/packages/manager/src/features/TopMenu/TopMenu.tsx b/packages/manager/src/features/TopMenu/TopMenu.tsx index 460b375683a..078aab08cb2 100644 --- a/packages/manager/src/features/TopMenu/TopMenu.tsx +++ b/packages/manager/src/features/TopMenu/TopMenu.tsx @@ -7,7 +7,7 @@ import { makeStyles } from '@mui/styles'; import { Theme, useTheme } from '@mui/material/styles'; import clsx from 'clsx'; import { Toolbar } from 'src/components/Toolbar'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { AddNewMenu } from './AddNewMenu/AddNewMenu'; import Community from './Community'; import Help from './Help'; diff --git a/packages/manager/src/features/TopMenu/UserMenu/UserMenu.tsx b/packages/manager/src/features/TopMenu/UserMenu/UserMenu.tsx index e48220fec74..9d3f87829f8 100644 --- a/packages/manager/src/features/TopMenu/UserMenu/UserMenu.tsx +++ b/packages/manager/src/features/TopMenu/UserMenu/UserMenu.tsx @@ -14,7 +14,7 @@ import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; import Tooltip from 'src/components/core/Tooltip'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { GravatarByEmail } from 'src/components/GravatarByEmail'; import useAccountManagement from 'src/hooks/useAccountManagement'; import { useGrants } from 'src/queries/profile'; diff --git a/packages/manager/src/features/Users/UserPermissions.tsx b/packages/manager/src/features/Users/UserPermissions.tsx index c10ca082f92..7f360561e75 100644 --- a/packages/manager/src/features/Users/UserPermissions.tsx +++ b/packages/manager/src/features/Users/UserPermissions.tsx @@ -18,7 +18,7 @@ import FormControlLabel from 'src/components/core/FormControlLabel'; import Paper from 'src/components/core/Paper'; import { withStyles } from 'tss-react/mui'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import Select, { Item } from 'src/components/EnhancedSelect/Select'; import Grid from '@mui/material/Unstable_Grid2'; diff --git a/packages/manager/src/features/Users/UserPermissionsEntitySection.tsx b/packages/manager/src/features/Users/UserPermissionsEntitySection.tsx index ce01a03d897..f104722a43a 100644 --- a/packages/manager/src/features/Users/UserPermissionsEntitySection.tsx +++ b/packages/manager/src/features/Users/UserPermissionsEntitySection.tsx @@ -11,7 +11,7 @@ import { TableBody } from 'src/components/TableBody'; import { PaginationFooter } from 'src/components/PaginationFooter/PaginationFooter'; import { usePagination } from 'src/hooks/usePagination'; import { createDisplayPage } from 'src/components/Paginate'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; export const entityNameMap: Record = { linode: 'Linodes', diff --git a/packages/manager/src/features/Users/UserProfile.tsx b/packages/manager/src/features/Users/UserProfile.tsx index 91ce9ecf2af..1369eda6638 100644 --- a/packages/manager/src/features/Users/UserProfile.tsx +++ b/packages/manager/src/features/Users/UserProfile.tsx @@ -9,7 +9,7 @@ import { Button } from 'src/components/Button/Button'; import { CircleProgress } from 'src/components/CircleProgress'; import Paper from 'src/components/core/Paper'; import { Theme, useTheme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { DocumentTitleSegment } from 'src/components/DocumentTitle'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Volumes/DestructiveVolumeDialog.tsx b/packages/manager/src/features/Volumes/DestructiveVolumeDialog.tsx index f66e7e5c374..446c0b189ce 100644 --- a/packages/manager/src/features/Volumes/DestructiveVolumeDialog.tsx +++ b/packages/manager/src/features/Volumes/DestructiveVolumeDialog.tsx @@ -2,7 +2,7 @@ import { useSnackbar } from 'notistack'; import * as React from 'react'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { Notice } from 'src/components/Notice/Notice'; import { TypeToConfirmDialog } from 'src/components/TypeToConfirmDialog/TypeToConfirmDialog'; import { resetEventsPolling } from 'src/eventsPolling'; diff --git a/packages/manager/src/features/Volumes/UpgradeVolumeDialog.tsx b/packages/manager/src/features/Volumes/UpgradeVolumeDialog.tsx index 4ca2c4841ae..676554c5c27 100644 --- a/packages/manager/src/features/Volumes/UpgradeVolumeDialog.tsx +++ b/packages/manager/src/features/Volumes/UpgradeVolumeDialog.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import ActionsPanel from 'src/components/ActionsPanel'; import { Button } from 'src/components/Button/Button'; import { ConfirmationDialog } from 'src/components/ConfirmationDialog/ConfirmationDialog'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import Link from 'src/components/Link'; import { useVolumesMigrateMutation } from 'src/queries/volumesMigrations'; import { getAPIErrorOrDefault } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx b/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx index 53a047a76f2..29ba465993c 100644 --- a/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx +++ b/packages/manager/src/features/Volumes/VolumeCreate/CreateVolumeForm.tsx @@ -12,7 +12,7 @@ import Form from 'src/components/core/Form'; import Paper from 'src/components/core/Paper'; import { makeStyles } from '@mui/styles'; import { Theme, useTheme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { RegionSelect } from 'src/components/EnhancedSelect/variants/RegionSelect'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { Notice } from 'src/components/Notice/Notice'; diff --git a/packages/manager/src/features/Volumes/VolumeDrawer/CloneVolumeForm.tsx b/packages/manager/src/features/Volumes/VolumeDrawer/CloneVolumeForm.tsx index e7bfd14ae6e..4c3f2b3e36d 100644 --- a/packages/manager/src/features/Volumes/VolumeDrawer/CloneVolumeForm.tsx +++ b/packages/manager/src/features/Volumes/VolumeDrawer/CloneVolumeForm.tsx @@ -2,7 +2,7 @@ import { CloneVolumeSchema } from '@linode/validation/lib/volumes.schema'; import { Formik } from 'formik'; import * as React from 'react'; import Form from 'src/components/core/Form'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { resetEventsPolling } from 'src/eventsPolling'; import { useCloneVolumeMutation } from 'src/queries/volumes'; import { getErrorMap } from 'src/utilities/errorUtils'; diff --git a/packages/manager/src/features/Volumes/VolumeDrawer/CreateVolumeForLinodeForm.tsx b/packages/manager/src/features/Volumes/VolumeDrawer/CreateVolumeForLinodeForm.tsx index 2656da2b8f5..dde17e32041 100644 --- a/packages/manager/src/features/Volumes/VolumeDrawer/CreateVolumeForLinodeForm.tsx +++ b/packages/manager/src/features/Volumes/VolumeDrawer/CreateVolumeForLinodeForm.tsx @@ -10,7 +10,7 @@ import { compose } from 'recompose'; import Form from 'src/components/core/Form'; import { makeStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { TagsInput, Tag } from 'src/components/TagsInput/TagsInput'; import { MAX_VOLUME_SIZE } from 'src/constants'; import { resetEventsPolling } from 'src/eventsPolling'; diff --git a/packages/manager/src/features/Volumes/VolumeDrawer/ResizeVolumesInstruction.tsx b/packages/manager/src/features/Volumes/VolumeDrawer/ResizeVolumesInstruction.tsx index 5bade3e6eae..20f2fef4fe6 100644 --- a/packages/manager/src/features/Volumes/VolumeDrawer/ResizeVolumesInstruction.tsx +++ b/packages/manager/src/features/Volumes/VolumeDrawer/ResizeVolumesInstruction.tsx @@ -4,7 +4,7 @@ import { Button } from 'src/components/Button/Button'; import { CopyableTextField } from 'src/components/CopyableTextField/CopyableTextField'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import NoticePanel from './NoticePanel'; type ClassNames = 'root' | 'copySection' | 'copyField'; diff --git a/packages/manager/src/features/Volumes/VolumeDrawer/VolumeConfigForm.tsx b/packages/manager/src/features/Volumes/VolumeDrawer/VolumeConfigForm.tsx index c73316eb253..eb10dd17944 100644 --- a/packages/manager/src/features/Volumes/VolumeDrawer/VolumeConfigForm.tsx +++ b/packages/manager/src/features/Volumes/VolumeDrawer/VolumeConfigForm.tsx @@ -2,7 +2,7 @@ import * as React from 'react'; import { CopyableTextField } from 'src/components/CopyableTextField/CopyableTextField'; import { createStyles, withStyles, WithStyles } from '@mui/styles'; import { Theme } from '@mui/material/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import NoticePanel from './NoticePanel'; type ClassNames = 'root' | 'copySection' | 'copyField'; diff --git a/packages/manager/src/features/Volumes/VolumeTableRow.tsx b/packages/manager/src/features/Volumes/VolumeTableRow.tsx index 623787ab858..1915d1c5751 100644 --- a/packages/manager/src/features/Volumes/VolumeTableRow.tsx +++ b/packages/manager/src/features/Volumes/VolumeTableRow.tsx @@ -4,7 +4,7 @@ import { Status } from 'src/components/StatusIcon/StatusIcon'; import { Link } from 'react-router-dom'; import { Hidden } from 'src/components/Hidden'; import { makeStyles } from '@mui/styles'; -import Typography from 'src/components/core/Typography'; +import { Typography } from 'src/components/Typography'; import { StatusIcon } from 'src/components/StatusIcon/StatusIcon'; import Box from '@mui/material/Box'; import { TableCell } from 'src/components/TableCell'; From a2b2b6abd4481f6224069f0f582054655e7d86c4 Mon Sep 17 00:00:00 2001 From: ecarrill Date: Thu, 29 Jun 2023 09:12:58 -0700 Subject: [PATCH 50/88] Revert "refactor: [M3-6063] - Fix CloseAccount button" This reverts commit 4a4959271e4ac9e70228a582a3dc9fe84a4ea341. --- packages/manager/src/cachedData/kernels.json | 2 +- packages/manager/src/cachedData/regions.json | 2 +- .../TypeToConfirmDialog.tsx | 2 +- .../features/Account/CloseAccountDialog.tsx | 1 - yarn.lock | 127 ++++++++++++++---- 5 files changed, 103 insertions(+), 31 deletions(-) diff --git a/packages/manager/src/cachedData/kernels.json b/packages/manager/src/cachedData/kernels.json index ae8e94cf0a8..f46b9f5e0cd 100644 --- a/packages/manager/src/cachedData/kernels.json +++ b/packages/manager/src/cachedData/kernels.json @@ -1 +1 @@ -{"data":[{"id":"linode/latest-2.6-32bit","label":"Latest 2.6 (2.6.39.1-linode34)","version":"2.6.39","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/latest-2.6","label":"Latest 2.6 Stable (2.6.23.17-linode44)","version":"2.6.24","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/latest-32bit","label":"Latest 32 bit (6.2.9-x86-linode180)","version":"6.2.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-04-05T19:23:04"},{"id":"linode/2.6.18.8-linode22","label":"Latest Legacy (2.6.18.8-linode22)","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2006-06-25T04:00:00"},{"id":"linode/6.3.5-x86_64-linode161","label":"6.3.5-x86_64-linode161","version":"6.3.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-05-31T16:28:44"},{"id":"linode/6.3.5-x86-linode181","label":"6.3.5-x86-linode181","version":"6.3.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-05-31T16:21:49"},{"id":"linode/6.2.9-x86_64-linode160","label":"6.2.9-x86_64-linode160","version":"6.2.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-04-05T19:30:32"},{"id":"linode/6.2.9-x86-linode180","label":"6.2.9-x86-linode180","version":"6.2.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-04-05T19:23:04"},{"id":"linode/6.1.10-x86_64-linode159","label":"6.1.10-x86_64-linode159","version":"6.1.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-02-08T19:14:45"},{"id":"linode/6.1.10-x86-linode179","label":"6.1.10-x86-linode179","version":"6.1.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-02-08T19:07:56"},{"id":"linode/6.0.10-x86_64-linode158","label":"6.0.10-x86_64-linode158","version":"6.0.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-12-01T18:16:43"},{"id":"linode/6.0.10-x86-linode178","label":"6.0.10-x86-linode178","version":"6.0.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-12-01T18:09:33"},{"id":"linode/6.0.2-x86_64-linode157","label":"6.0.2-x86_64-linode157","version":"6.0.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-10-17T17:01:41"},{"id":"linode/6.0.2-x86-linode177","label":"6.0.2-x86-linode177","version":"6.0.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-10-17T16:54:28"},{"id":"linode/5.19.2-x86_64-linode156","label":"5.19.2-x86_64-linode156","version":"5.19.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-08-18T19:51:13"},{"id":"linode/5.19.2-x86-linode176","label":"5.19.2-x86-linode176","version":"5.19.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-08-18T19:44:26"},{"id":"linode/5.18.2-x86_64-linode155","label":"5.18.2-x86_64-linode155","version":"5.18.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-06-07T14:46:11"},{"id":"linode/5.18.2-x86-linode175","label":"5.18.2-x86-linode175","version":"5.18.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-06-07T14:39:32"},{"id":"linode/5.17.5-x86_64-linode154","label":"5.17.5-x86_64-linode154","version":"5.17.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-05-02T19:07:22"},{"id":"linode/5.17.5-x86-linode174","label":"5.17.5-x86-linode174","version":"5.17.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-05-02T19:00:48"},{"id":"linode/5.16.13-x86-linode173","label":"5.16.13-x86-linode173","version":"5.16.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-03-08T19:09:29"},{"id":"linode/5.16.13-x86_64-linode153","label":"5.16.13-x86_64-linode153","version":"5.16.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-03-08T19:16:05"},{"id":"linode/5.16.3-x86_64-linode152","label":"5.16.3-x86_64-linode152","version":"5.16.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-01-27T19:46:44"},{"id":"linode/5.16.3-x86-linode172","label":"5.16.3-x86-linode172","version":"5.16.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-01-27T19:40:10"},{"id":"linode/5.15.10-x86_64-linode151","label":"5.15.10-x86_64-linode151","version":"5.15.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2021-12-21T18:44:00"},{"id":"linode/5.15.10-x86-linode171","label":"5.15.10-x86-linode171","version":"5.15.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2021-12-21T18:37:00"},{"id":"linode/5.14.17-x86_64-linode150","label":"5.14.17-x86_64-linode150","version":"5.14.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-11-11T18:23:00"},{"id":"linode/5.14.17-x86-linode170","label":"5.14.17-x86-linode170","version":"5.14.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-11-11T18:17:00"},{"id":"linode/5.14.15-x86_64-linode149","label":"5.14.15-x86_64-linode149","version":"5.14.15","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-11-01T18:02:00"},{"id":"linode/5.14.15-x86-linode169","label":"5.14.15-x86-linode169","version":"5.14.15","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-11-01T17:55:00"},{"id":"linode/5.14.14-x86_64-linode148","label":"5.14.14-x86_64-linode148","version":"5.14.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-10-20T18:22:00"},{"id":"linode/5.14.14-x86-linode168","label":"5.14.14-x86-linode168","version":"5.14.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-10-20T18:15:00"},{"id":"linode/5.14.2-x86_64-linode147","label":"5.14.2-x86_64-linode147","version":"5.14.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-09-08T19:06:00"},{"id":"linode/5.14.2-x86-linode167","label":"5.14.2-x86-linode167","version":"5.14.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-09-08T19:00:00"},{"id":"linode/5.13.4-x86_64-linode146","label":"5.13.4-x86_64-linode146","version":"5.13.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-07-21T18:51:00"},{"id":"linode/5.13.4-x86-linode166","label":"5.13.4-x86-linode166","version":"5.13.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-07-21T18:45:00"},{"id":"linode/5.12.13-x86_64-linode145","label":"5.12.13-x86_64-linode145","version":"5.12.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-06-24T20:24:00"},{"id":"linode/5.12.13-x86-linode165","label":"5.12.13-x86-linode165","version":"5.12.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-06-24T20:19:00"},{"id":"linode/5.12.2-x86_64-linode144","label":"5.12.2-x86_64-linode144","version":"5.12.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-05-10T17:16:00"},{"id":"linode/5.12.2-x86-linode164","label":"5.12.2-x86-linode164","version":"5.12.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-05-10T17:10:00"},{"id":"linode/5.11.13-x86_64-linode143","label":"5.11.13-x86_64-linode143","version":"5.11.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-04-13T15:46:00"},{"id":"linode/5.11.13-x86-linode163","label":"5.11.13-x86-linode163","version":"5.11.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-04-13T15:40:00"},{"id":"linode/5.11.9-x86_64-linode142","label":"5.11.9-x86_64-linode142","version":"5.11.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-03-24T15:33:00"},{"id":"linode/5.11.9-x86-linode162","label":"5.11.9-x86-linode162","version":"5.11.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-03-24T15:28:00"},{"id":"linode/5.10.13-x86_64-linode141","label":"5.10.13-x86_64-linode141","version":"5.10.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2021-02-04T19:02:00"},{"id":"linode/5.10.13-x86-linode161","label":"5.10.13-x86-linode161","version":"5.10.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2021-02-04T18:56:00"},{"id":"linode/5.10.2-x86_64-linode140","label":"5.10.2-x86_64-linode140","version":"5.10.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-12-22T20:43:00"},{"id":"linode/5.10.2-x86-linode160","label":"5.10.2-x86-linode160","version":"5.10.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-12-22T20:38:00"},{"id":"linode/5.9.6-x86_64-linode139","label":"5.9.6-x86_64-linode139","version":"5.9.6","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-11-05T19:51:00"},{"id":"linode/5.9.6-x86-linode159","label":"5.9.6-x86-linode159","version":"5.9.6","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-11-05T19:45:00"},{"id":"linode/5.8.10-x86-linode158","label":"5.8.10-x86-linode158","version":"5.8.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-09-17T19:58:00"},{"id":"linode/5.8.10-x86_64-linode138","label":"5.8.10-x86_64-linode138","version":"5.8.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-09-17T20:03:00"},{"id":"linode/5.8.3-x86_64-linode137","label":"5.8.3-x86_64-linode137","version":"5.8.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-08-24T18:55:00"},{"id":"linode/5.8.3-x86-linode157","label":"5.8.3-x86-linode157","version":"5.8.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-08-24T18:50:00"},{"id":"linode/5.7.6-x86-linode156","label":"5.7.6-x86-linode156","version":"5.7.6","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-06-25T16:41:08"},{"id":"linode/5.6.14-x86-linode155","label":"5.6.14-x86-linode155","version":"5.6.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-06-01T14:05:47"},{"id":"linode/5.6.1-x86-linode154","label":"5.6.1-x86-linode154","version":"5.6.1","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-04-07T21:29:12"},{"id":"linode/5.4.10-x86-linode152","label":"5.4.10-x86-linode152","version":"5.4.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2020-01-10T21:02:10"},{"id":"linode/5.3.11-x86-linode151","label":"5.3.11-x86-linode151","version":"5.3.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-11-14T20:38:53"},{"id":"linode/5.3.7-x86-linode150","label":"5.3.7-x86-linode150","version":"5.3.7","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-10-30T21:10:08"},{"id":"linode/5.2.9-x86-linode149","label":"5.2.9-x86-linode149","version":"5.2.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-08-21T18:48:52"},{"id":"linode/5.1.17-x86-linode148","label":"5.1.17-x86-linode148","version":"5.1.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-07-16T15:25:35"},{"id":"linode/5.1.11-x86-linode147","label":"5.1.11-x86-linode147","version":"5.1.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-06-17T22:46:37"},{"id":"linode/5.1.5-x86-linode146","label":"5.1.5-x86-linode146","version":"5.1.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-05-30T20:30:37"},{"id":"linode/4.14.120-x86-linode145","label":"4.14.120-x86-linode145","version":"4.14.120","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-05-21T10:57:13"},{"id":"linode/5.1.2-x86-linode144","label":"5.1.2-x86-linode144","version":"5.1.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-05-15T16:13:49"},{"id":"linode/5.0.8-x86-linode143","label":"5.0.8-x86-linode143","version":"5.0.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-04-17T18:39:29"},{"id":"linode/4.20.4-x86-linode141","label":"4.20.4-x86-linode141","version":"4.20.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-01-25T19:13:27"},{"id":"linode/4.19.8-x86-linode140","label":"4.19.8-x86-linode140","version":"4.19.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-12-12T21:44:08"},{"id":"linode/4.19.5-x86-linode139","label":"4.19.5-x86-linode139","version":"4.19.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-11-29T16:36:09"},{"id":"linode/4.18.16-x86-linode138","label":"4.18.16-x86-linode138","version":"4.18.16","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-10-29T20:24:50"},{"id":"linode/4.18.8-x86-linode137","label":"4.18.8-x86-linode137","version":"4.18.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-10-04T18:06:19"},{"id":"linode/4.18.8-x86-linode136","label":"4.18.8-x86-linode136","version":"4.18.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-09-19T12:54:57"},{"id":"linode/4.17.17-x86-linode135","label":"4.17.17-x86-linode135","version":"4.17.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-20T17:24:09"},{"id":"linode/4.17.15-x86-linode134","label":"4.17.15-x86-linode134","version":"4.17.15","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-16T17:13:56"},{"id":"linode/4.17.14-x86-linode133","label":"4.17.14-x86-linode133","version":"4.17.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-13T16:40:31"},{"id":"linode/4.17.14-x86-linode132","label":"4.17.14-x86-linode132","version":"4.17.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-10T21:08:51"},{"id":"linode/4.17.12-x86-linode131","label":"4.17.12-x86-linode131","version":"4.17.12","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-07T13:01:28"},{"id":"linode/4.17.11-x86-linode130","label":"4.17.11-x86-linode130","version":"4.17.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-07-31T19:51:00"},{"id":"linode/4.17.8-x86-linode129","label":"4.17.8-x86-linode129","version":"4.17.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-07-18T17:17:29"},{"id":"linode/4.17.2-x86-linode128","label":"4.17.2-x86-linode128","version":"4.17.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-06-26T19:42:55"},{"id":"linode/4.16.11-x86-linode127","label":"4.16.11-x86-linode127","version":"4.16.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-05-24T21:33:29"},{"id":"linode/4.15.18-x86-linode126","label":"4.15.18-x86-linode126","version":"4.15.18","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-05-02T20:21:02"},{"id":"linode/4.15.13-x86-linode125","label":"4.15.13-x86-linode125","version":"4.15.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-27T17:17:56"},{"id":"linode/4.15.12-x86-linode124","label":"4.15.12-x86-linode124","version":"4.15.12","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-22T20:09:16"},{"id":"linode/4.15.10-x86-linode123","label":"4.15.10-x86-linode123","version":"4.15.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-16T21:18:40"},{"id":"linode/4.15.8-x86-linode122","label":"4.15.8-x86-linode122","version":"4.15.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-10T21:25:42"},{"id":"linode/4.15.7-x86-linode121","label":"4.15.7-x86-linode121","version":"4.15.7","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-01T17:20:09"},{"id":"linode/4.14.19-x86-linode119","label":"4.14.19-x86-linode119","version":"4.14.19","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-13T19:05:44"},{"id":"linode/4.14.17-x86-linode118","label":"4.14.17-x86-linode118","version":"4.14.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-08T18:34:40"},{"id":"linode/4.9.80-x86-linode117","label":"4.9.80-x86-linode117","version":"4.9.80","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-08T18:33:46"},{"id":"linode/4.4.115-x86-linode116","label":"4.4.115-x86-linode116","version":"4.4.115","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-08T18:32:57"},{"id":"linode/4.4.113-x86-linode115","label":"4.4.113-x86-linode115","version":"4.4.113","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-25T22:47:11"},{"id":"linode/4.9.78-x86-linode114","label":"4.9.78-x86-linode114","version":"4.9.78","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-23T23:23:58"},{"id":"linode/4.14.14-x86-linode113","label":"4.14.14-x86-linode113","version":"4.14.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-23T02:00:02"},{"id":"linode/4.14.14-x86-linode112","label":"4.14.14-x86-linode112","version":"4.14.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-18T20:09:53"},{"id":"linode/4.9.64-x86-linode107","label":"4.9.64-x86-linode107","version":"4.9.64","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-12-01T23:10:11"},{"id":"linode/4.9.68-x86-linode108","label":"4.9.68-x86-linode108","version":"4.9.68","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-12-11T19:00:15"},{"id":"linode/4.14.12-x86-linode111","label":"4.14.12-x86-linode111","version":"4.14.12","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-05T16:31:55"},{"id":"linode/4.14.11-x86-linode110","label":"4.14.11-x86-linode110","version":"4.14.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-04T18:56:25"},{"id":"linode/4.9.56-x86-linode106","label":"4.9.56-x86-linode106","version":"4.9.56","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-10-13T21:10:23"},{"id":"linode/4.9.50-x86-linode105","label":"4.9.50-x86-linode105","version":"4.9.50","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-09-14T21:46:56"},{"id":"linode/4.9.36-x86-linode104","label":"4.9.36-x86-linode104","version":"4.9.36","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-07-10T13:16:53"},{"id":"linode/4.9.33-x86-linode102","label":"4.9.33-x86-linode102","version":"4.9.33","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-06-23T22:06:05"},{"id":"linode/4.9.15-x86-linode100","label":"4.9.15-x86-linode100","version":"4.9.15","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-03-22T13:48:13"},{"id":"linode/4.9.7-x86-linode99","label":"4.9.7-x86-linode99","version":"4.9.7","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-02-03T22:54:57"},{"id":"linode/4.9.0-x86-linode98","label":"4.9.0-x86-linode98","version":"4.9.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-12-13T20:10:20"},{"id":"linode/4.8.6-x86-linode97","label":"4.8.6-x86-linode97","version":"4.8.6","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-11-02T15:23:43"},{"id":"linode/4.8.4-x86-linode96","label":"4.8.4-x86-linode96","version":"4.8.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-10-27T18:51:41"},{"id":"linode/4.8.3-x86-linode95","label":"4.8.3-x86-linode95","version":"4.8.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-10-20T23:10:27"},{"id":"linode/4.8.1-x86-linode94","label":"4.8.1-x86-linode94","version":"4.8.1","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-10-07T22:21:55"},{"id":"linode/4.7.3-x86-linode92","label":"4.7.3-x86-linode92","version":"4.7.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-09-15T13:13:40"},{"id":"linode/4.7.0-x86-linode90","label":"4.7.0-x86-linode90","version":"4.7.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-08-05T14:35:48"},{"id":"linode/4.6.5-x86-linode89","label":"4.6.5-x86-linode89","version":"4.6.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-08-04T15:28:59"},{"id":"linode/4.5.5-x86-linode88","label":"4.5.5-x86-linode88","version":"4.5.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-05-24T15:29:02"},{"id":"linode/4.5.3-x86-linode86","label":"4.5.3-x86-linode86","version":"4.5.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-05-10T19:39:51"},{"id":"linode/4.5.0-x86-linode84","label":"4.5.0-x86-linode84","version":"4.5.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-03-16T18:53:02"},{"id":"linode/4.4.4-x86-linode83","label":"4.4.4-x86-linode83","version":"4.4.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-03-10T22:20:19"},{"id":"linode/4.4.0-x86-linode82","label":"4.4.0-x86-linode82","version":"4.4.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-01-20T14:41:05"},{"id":"linode/4.1.5-x86-linode80","label":"4.1.5-x86-linode80","version":"4.1.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-08-24T19:00:43"},{"id":"linode/4.1.5-x86-linode79","label":"4.1.5-x86-linode79","version":"4.1.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-08-13T13:00:00"},{"id":"linode/4.1.0-x86-linode78","label":"4.1.0-x86-linode78","version":"4.1.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-06-22T15:19:32"},{"id":"linode/4.0.5-x86-linode77","label":"4.0.5-x86-linode77","version":"4.0.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-06-11T13:58:18"},{"id":"linode/4.0.5-x86-linode76","label":"4.0.5-x86-linode76","version":"4.0.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-06-10T15:31:52"},{"id":"linode/4.0.4-x86-linode75","label":"4.0.4-x86-linode75","version":"4.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-05-21T15:15:47"},{"id":"linode/4.0.2-x86-linode74","label":"4.0.2-x86-linode74","version":"4.0.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-05-11T20:56:58"},{"id":"linode/4.0-x86-linode73","label":"4.0.1-x86-linode73","version":"4.0.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-05-04T13:43:23"},{"id":"linode/4.0-x86-linode72","label":"4.0-x86-linode72","version":"4.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-04-21T13:02:24"},{"id":"linode/3.19.1-x86-linode71","label":"3.19.1-x86-linode71","version":"3.19.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-03-11T18:00:36"},{"id":"linode/3.18.5-x86-linode70","label":"3.18.5-x86-linode70","version":"3.18.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-02-05T05:00:00"},{"id":"linode/3.18.3-x86-linode69","label":"3.18.3-x86-linode69","version":"3.18.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-01-23T15:12:45"},{"id":"linode/3.18.1-x86-linode68","label":"3.18.1-x86-linode68","version":"3.18.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-01-06T17:32:39"},{"id":"linode/3.16.7-x86-linode67","label":"3.16.7-x86-linode67","version":"3.16.7","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-11-14T22:31:46"},{"id":"linode/3.16.5-x86-linode65","label":"3.16.5-x86-linode65","version":"3.16.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-10-13T13:40:00"},{"id":"linode/3.15.4-x86-linode64","label":"3.15.4-x86-linode64","version":"3.15.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-07-07T13:50:35"},{"id":"linode/3.15.3-x86-linode63","label":"3.15.3-x86-linode63","version":"3.15.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-07-02T12:12:37"},{"id":"linode/3.15.2-x86-linode62","label":"3.15.2-x86-linode62","version":"3.15.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-06-30T18:46:50"},{"id":"linode/3.14.5-x86-linode61","label":"3.14.5-x86-linode61","version":"3.14.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-06-05T20:05:44"},{"id":"linode/3.14.5-x86-linode60","label":"3.14.5-x86-linode60","version":"3.14.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-06-03T13:09:58"},{"id":"linode/3.14.4-x86-linode59","label":"3.14.4-x86-linode59","version":"3.14.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-05-13T17:42:22"},{"id":"linode/3.14.1-x86-linode58","label":"3.14.1-x86-linode58","version":"3.14.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-04-25T17:49:15"},{"id":"linode/3.13.7-x86-linode57","label":"3.13.7-x86-linode57","version":"3.13.7","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-03-25T18:21:50"},{"id":"linode/3.12.9-x86-linode56","label":"3.12.9-x86-linode56","version":"3.12.9","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-02-03T19:42:13"},{"id":"linode/3.11.6-x86-linode54","label":"3.11.6-x86-linode54","version":"3.11.6","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-10-23T16:06:29"},{"id":"linode/3.12.6-x86-linode55","label":"3.12.6-x86-linode55","version":"3.12.6","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-12-23T16:25:39"},{"id":"linode/3.10.3-x86-linode53","label":"3.10.3-x86-linode53","version":"3.10.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-07-26T16:35:12"},{"id":"linode/3.9.3-x86-linode52","label":"3.9.3-x86-linode52","version":"3.9.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-05-20T14:27:27"},{"id":"linode/3.9.2-x86-linode51","label":"3.9.2-x86-linode51","version":"3.9.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-05-14T16:13:27"},{"id":"linode/3.8.4-linode50","label":"3.8.4-linode50","version":"3.8.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-03-25T20:42:49"},{"id":"linode/3.7.10-linode49","label":"3.7.10-linode49","version":"3.7.10","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-02-27T19:49:45"},{"id":"linode/3.7.5-linode48","label":"3.7.5-linode48","version":"3.7.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-01-31T19:52:25"},{"id":"linode/3.6.5-linode47","label":"3.6.5-linode47","version":"3.6.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-11-04T17:42:14"},{"id":"linode/3.5.3-linode46","label":"3.5.3-linode46","version":"3.5.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-09-05T20:45:36"},{"id":"linode/3.5.2-linode45","label":"3.5.2-linode45","version":"3.5.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-08-15T18:16:29"},{"id":"linode/3.4.2-linode44","label":"3.4.2-linode44","version":"3.4.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-06-11T19:03:10"},{"id":"linode/3.0.18-linode43","label":"3.0.18-linode43","version":"3.0.18","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-30T17:42:21"},{"id":"linode/3.1.10-linode42","label":"3.1.10-linode42","version":"3.1.10","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-25T21:24:07"},{"id":"linode/3.0.17-linode41","label":"3.0.17-linode41","version":"3.0.17","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-25T21:24:05"},{"id":"linode/3.2.1-linode40","label":"3.2.1-linode40","version":"3.2.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-23T16:04:48"},{"id":"linode/3.1.0-linode39","label":"3.1.0-linode39","version":"3.1.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-10-25T17:57:05"},{"id":"linode/3.0.4-linode38","label":"3.0.4-linode38","version":"3.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-09-22T18:57:59"},{"id":"linode/3.0.4-linode37","label":"3.0.4-linode37","version":"3.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-09-12T16:03:31"},{"id":"linode/3.0.4-linode36","label":"3.0.4-linode36","version":"3.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-09-02T01:08:55"},{"id":"linode/3.0-linode35","label":"3.0.0-linode35","version":"3.0.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-08-02T15:43:52"},{"id":"linode/2.6.39.1-linode34","label":"2.6.39.1-linode34","version":"2.6.39","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-06-21T14:42:50"},{"id":"linode/2.6.39-linode33","label":"2.6.39-linode33","version":"2.6.39","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-05-25T19:05:05"},{"id":"linode/2.6.38.3-linode32","label":"2.6.38.3-linode32","version":"2.6.38","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-04-21T20:21:48"},{"id":"linode/2.6.38-linode31","label":"2.6.38-linode31","version":"2.6.38","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-03-21T21:44:09"},{"id":"linode/2.6.37-linode30","label":"2.6.37-linode30","version":"2.6.37","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-01-27T05:00:00"},{"id":"linode/2.6.35.7-linode29","label":"2.6.35.7-linode29","version":"2.6.35","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-10-13T04:00:00"},{"id":"linode/2.6.32.16-linode28","label":"2.6.32.16-linode28","version":"2.6.32","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-07-25T21:34:00"},{"id":"linode/2.6.34-linode27","label":"2.6.34-linode27","version":"2.6.34","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-07-16T04:00:00"},{"id":"linode/2.6.32.12-linode25","label":"2.6.32.12-linode25","version":"2.6.33","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-04-28T04:00:00"},{"id":"linode/2.6.33-linode24","label":"2.6.33-linode24","version":"2.6.33","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-02-24T22:05:00"},{"id":"linode/2.6.32-linode23","label":"2.6.32-linode23","version":"2.6.32","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-12-05T16:14:00"},{"id":"linode/2.6.18.8-linode22","label":"2.6.18.8-linode22","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-11-10T05:00:00"},{"id":"linode/2.6.31.5-linode21","label":"2.6.31.5-linode21","version":"2.6.31","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/2.6.30.5-linode20","label":"2.6.30.5-linode20","version":"2.6.30","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/2.6.23.17-linode44","label":"2.6.23.17-linode44","version":"2.6.23","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/2.6.18.8-linode19","label":"2.6.18.8-linode19","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-08-14T04:00:00"},{"id":"linode/2.6.29-linode18","label":"2.6.29-linode18","version":"2.6.29","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-04-01T04:00:00"},{"id":"linode/2.6.28.3-linode17","label":"2.6.28.3-linode17","version":"2.6.28","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-02-04T05:00:00"},{"id":"linode/2.6.18.8-linode16","label":"2.6.18.8-linode16","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-01-12T14:47:00"},{"id":"linode/2.6.28-linode15","label":"2.6.28-linode15","version":"2.6.28","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-12-29T05:00:00"},{"id":"linode/2.6.27.4-linode14","label":"2.6.27.4-linode14","version":"2.6.27","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-11-05T05:00:00"},{"id":"linode/2.6.26-linode13","label":"2.6.26-linode13","version":"2.6.26","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-07-13T23:15:00"},{"id":"linode/2.6.25.10-linode12","label":"2.6.25.10-linode12","version":"2.6.25","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-07-03T04:00:00"},{"id":"linode/2.6.18.8-linode10","label":"2.6.18.8-linode10","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2008-06-23T04:00:00"},{"id":"linode/2.6.25-linode9","label":"2.6.25-linode9","version":"2.6.25","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-04-10T04:00:00"},{"id":"linode/2.6.24.4-linode8","label":"2.6.24.4-linode8","version":"2.6.24","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-03-31T04:00:00"},{"id":"linode/2.6.18.8-domU-linode7","label":"2.6.18.8-domU-linode7","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":null},{"id":"linode/latest-2.6-64bit","label":"Latest 2.6 (2.6.39.1-x86_64-linode19)","version":"2.6.39","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/latest-64bit","label":"Latest 64 bit (6.2.9-x86_64-linode160)","version":"6.2.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-04-05T19:30:32"},{"id":"linode/2.6.18.8-x86_64-linode10","label":"Latest Legacy (2.6.18.8-x86_64-linode10)","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/5.7.6-x86_64-linode136","label":"5.7.6-x86_64-linode136","version":"5.7.6","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-06-25T16:41:35"},{"id":"linode/5.6.14-x86_64-linode135","label":"5.6.14-x86_64-linode135","version":"5.6.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-06-01T14:06:45"},{"id":"linode/5.6.1-x86_64-linode134","label":"5.6.1-x86_64-linode134","version":"5.6.1","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-04-07T21:29:51"},{"id":"linode/5.4.10-x86_64-linode132","label":"5.4.10-x86_64-linode132","version":"5.4.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2020-01-10T21:03:16"},{"id":"linode/5.3.11-x86_64-linode131","label":"5.3.11-x86_64-linode131","version":"5.3.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-11-14T20:39:27"},{"id":"linode/5.3.7-x86_64-linode130","label":"5.3.7-x86_64-linode130","version":"5.3.7","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-10-30T21:10:29"},{"id":"linode/5.2.9-x86_64-linode129","label":"5.2.9-x86_64-linode129","version":"5.2.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-08-21T18:49:31"},{"id":"linode/5.1.17-x86_64-linode128","label":"5.1.17-x86_64-linode128","version":"5.1.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-07-16T15:26:33"},{"id":"linode/5.1.11-x86_64-linode127","label":"5.1.11-x86_64-linode127","version":"5.1.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-06-17T22:47:20"},{"id":"linode/5.1.5-x86_64-linode126","label":"5.1.5-x86_64-linode126","version":"5.1.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-05-30T20:30:39"},{"id":"linode/4.14.120-x86_64-linode125","label":"4.14.120-x86_64-linode125","version":"4.14.120","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-05-21T10:57:46"},{"id":"linode/5.1.2-x86_64-linode124","label":"5.1.2-x86_64-linode124","version":"5.1.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-05-15T16:14:35"},{"id":"linode/5.0.8-x86_64-linode123","label":"5.0.8-x86_64-linode123","version":"5.0.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-04-17T18:39:56"},{"id":"linode/5.0.1-x86_64-linode122","label":"5.0.1-x86_64-linode122","version":"5.0.1","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-03-13T16:51:01"},{"id":"linode/4.20.4-x86_64-linode121","label":"4.20.4-x86_64-linode121","version":"4.20.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-01-25T19:13:29"},{"id":"linode/4.19.8-x86_64-linode120","label":"4.19.8-x86_64-linode120","version":"4.19.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-12-12T21:44:08"},{"id":"linode/4.19.5-x86_64-linode119","label":"4.19.5-x86_64-linode119","version":"4.19.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-11-29T16:36:53"},{"id":"linode/4.18.16-x86_64-linode118","label":"4.18.16-x86_64-linode118","version":"4.18.16","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-10-29T20:24:13"},{"id":"linode/4.18.8-x86_64-linode117","label":"4.18.8-x86_64-linode117","version":"4.18.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-09-19T12:55:56"},{"id":"linode/4.17.17-x86_64-linode116","label":"4.17.17-x86_64-linode116","version":"4.17.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-20T17:23:32"},{"id":"linode/4.17.15-x86_64-linode115","label":"4.17.15-x86_64-linode115","version":"4.17.15","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-16T17:13:28"},{"id":"linode/4.17.14-x86_64-linode114","label":"4.17.14-x86_64-linode114","version":"4.17.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-13T16:41:06"},{"id":"linode/4.17.14-x86_64-linode113","label":"4.17.14-x86_64-linode113","version":"4.17.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-10T21:07:56"},{"id":"linode/4.17.12-x86_64-linode112","label":"4.17.12-x86_64-linode112","version":"4.17.12","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-07T13:02:24"},{"id":"linode/4.17.11-x86_64-linode111","label":"4.17.11-x86_64-linode111","version":"4.17.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-07-31T19:51:53"},{"id":"linode/4.17.8-x86_64-linode110","label":"4.17.8-x86_64-linode110","version":"4.17.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-07-18T17:18:30"},{"id":"linode/4.17.2-x86_64-linode109","label":"4.17.2-x86_64-linode109","version":"4.17.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-06-26T19:42:57"},{"id":"linode/4.16.11-x86_64-linode108","label":"4.16.11-x86_64-linode108","version":"4.16.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-05-24T21:33:31"},{"id":"linode/4.15.18-x86_64-linode107","label":"4.15.18-x86_64-linode107","version":"4.15.18","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-05-02T20:21:04"},{"id":"linode/4.15.13-x86_64-linode106","label":"4.15.13-x86_64-linode106","version":"4.15.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-27T17:17:56"},{"id":"linode/4.15.12-x86_64-linode105","label":"4.15.12-x86_64-linode105","version":"4.15.12","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-22T20:08:43"},{"id":"linode/4.15.10-x86_64-linode104","label":"4.15.10-x86_64-linode104","version":"4.15.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-16T21:18:35"},{"id":"linode/4.15.8-x86_64-linode103","label":"4.15.8-x86_64-linode103","version":"4.15.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-10T21:25:43"},{"id":"linode/4.15.7-x86_64-linode102","label":"4.15.7-x86_64-linode102","version":"4.15.7","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-01T17:20:54"},{"id":"linode/4.14.19-x86_64-linode100","label":"4.14.19-x86_64-linode100","version":"4.14.19","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-13T19:07:46"},{"id":"linode/4.14.17-x86_64-linode99","label":"4.14.17-x86_64-linode99","version":"4.14.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-08T18:35:09"},{"id":"linode/4.9.80-x86_64-linode98","label":"4.9.80-x86_64-linode98","version":"4.9.80","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-08T18:34:16"},{"id":"linode/4.4.115-x86_64-linode97","label":"4.4.115-x86_64-linode97","version":"4.4.115","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-08T18:33:23"},{"id":"linode/4.4.113-x86_64-linode96","label":"4.4.113-x86_64-linode96","version":"4.4.113","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-25T22:47:11"},{"id":"linode/4.9.78-x86_64-linode95","label":"4.9.78-x86_64-linode95","version":"4.9.78","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-23T23:23:58"},{"id":"linode/4.14.14-x86_64-linode94","label":"4.14.14-x86_64-linode94","version":"4.14.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-23T02:10:08"},{"id":"linode/4.14.14-x86_64-linode93","label":"4.14.14-x86_64-linode93","version":"4.14.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-18T20:08:56"},{"id":"linode/4.9.64-x86_64-linode88","label":"4.9.64-x86_64-linode88","version":"4.9.64","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-12-01T23:10:11"},{"id":"linode/4.9.68-x86_64-linode89","label":"4.9.68-x86_64-linode89","version":"4.9.68","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-12-11T19:00:48"},{"id":"linode/4.14.12-x86_64-linode92","label":"4.14.12-x86_64-linode92","version":"4.14.12","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-05T16:31:28"},{"id":"linode/4.14.11-x86_64-linode91","label":"4.14.11-x86_64-linode91","version":"4.14.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-04T18:56:22"},{"id":"linode/4.9.56-x86_64-linode87","label":"4.9.56-x86_64-linode87","version":"4.9.56","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-10-13T21:09:35"},{"id":"linode/4.9.50-x86_64-linode86","label":"4.9.50-x86_64-linode86","version":"4.9.50","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-09-14T21:46:25"},{"id":"linode/4.9.36-x86_64-linode85","label":"4.9.36-x86_64-linode85","version":"4.9.36","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-07-10T13:16:08"},{"id":"linode/4.9.33-x86_64-linode83","label":"4.9.33-x86_64-linode83","version":"4.9.33","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-06-23T21:04:33"},{"id":"linode/4.9.15-x86_64-linode81","label":"4.9.15-x86_64-linode81","version":"4.9.15","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-03-22T13:49:33"},{"id":"linode/4.9.7-x86_64-linode80","label":"4.9.7-x86_64-linode80","version":"4.9.7","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-02-03T22:55:37"},{"id":"linode/4.9.0-x86_64-linode79","label":"4.9.0-x86_64-linode79","version":"4.9.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-12-13T20:11:03"},{"id":"linode/4.8.6-x86_64-linode78","label":"4.8.6-x86_64-linode78","version":"4.8.6","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-11-02T15:24:17"},{"id":"linode/4.8.4-x86_64-linode77","label":"4.8.4-x86_64-linode77","version":"4.8.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-10-27T18:53:07"},{"id":"linode/4.8.3-x86_64-linode76","label":"4.8.3-x86_64-linode76","version":"4.8.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-10-20T23:10:27"},{"id":"linode/4.8.1-x86_64-linode75","label":"4.8.1-x86_64-linode75","version":"4.8.1","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-10-07T22:22:13"},{"id":"linode/4.7.3-x86_64-linode73","label":"4.7.3-x86_64-linode73","version":"4.7.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-09-15T13:13:01"},{"id":"linode/4.7.0-x86_64-linode72","label":"4.7.0-x86_64-linode72","version":"4.7.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-08-05T14:34:25"},{"id":"linode/4.6.5-x86_64-linode71","label":"4.6.5-x86_64-linode71","version":"4.6.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-08-04T15:28:01"},{"id":"linode/4.6.3-x86_64-linode70","label":"4.6.3-x86_64-linode70","version":"4.6.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-07-07T22:08:28"},{"id":"linode/4.5.5-x86_64-linode69","label":"4.5.5-x86_64-linode69","version":"4.5.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-05-24T15:30:08"},{"id":"linode/4.5.3-x86_64-linode67","label":"4.5.3-x86_64-linode67","version":"4.5.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-05-10T19:42:43"},{"id":"linode/4.5.0-x86_64-linode65","label":"4.5.0-x86_64-linode65","version":"4.5.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-03-16T18:53:02"},{"id":"linode/4.4.4-x86_64-linode64","label":"4.4.4-x86_64-linode64","version":"4.4.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-03-10T22:24:51"},{"id":"linode/4.4.0-x86_64-linode63","label":"4.4.0-x86_64-linode63","version":"4.4.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-01-20T14:41:05"},{"id":"linode/4.1.5-x86_64-linode61","label":"4.1.5-x86_64-linode61","version":"4.1.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-08-24T19:00:43"},{"id":"linode/4.1.5-x86_64-linode60","label":"4.1.5-x86_64-linode60 ","version":"4.1.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-08-13T13:00:00"},{"id":"linode/4.1.0-x86_64-linode59","label":"4.1.0-x86_64-linode59 ","version":"4.1.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-06-22T15:19:32"},{"id":"linode/4.0.5-x86_64-linode58","label":"4.0.5-x86_64-linode58","version":"4.0.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-06-10T15:31:52"},{"id":"linode/4.0.4-x86_64-linode57","label":"4.0.4-x86_64-linode57","version":"4.0.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-05-21T15:15:47"},{"id":"linode/4.0.2-x86_64-linode56","label":"4.0.2-x86_64-linode56","version":"4.0.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-05-11T20:56:58"},{"id":"linode/4.0.1-x86_64-linode55","label":"4.0.1-x86_64-linode55","version":"4.0.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-05-04T13:43:23"},{"id":"linode/4.0-x86_64-linode54","label":"4.0-x86_64-linode54","version":"4.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-04-21T13:02:24"},{"id":"linode/3.19.1-x86_64-linode53","label":"3.19.1-x86_64-linode53","version":"3.19.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-03-11T18:00:36"},{"id":"linode/3.18.5-x86_64-linode52","label":"3.18.5-x86_64-linode52","version":"3.18.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-02-05T05:00:00"},{"id":"linode/3.18.3-x86_64-linode51","label":"3.18.3-x86_64-linode51","version":"3.18.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-01-23T15:12:45"},{"id":"linode/3.18.1-x86_64-linode50","label":"3.18.1-x86_64-linode50","version":"3.18.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-01-06T17:32:39"},{"id":"linode/3.16.7-x86_64-linode49","label":"3.16.7-x86_64-linode49","version":"3.16.7","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-11-14T22:31:46"},{"id":"linode/3.16.5-x86_64-linode46","label":"3.16.5-x86_64-linode46","version":"3.16.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-10-13T13:42:00"},{"id":"linode/3.15.4-x86_64-linode45","label":"3.15.4-x86_64-linode45","version":"3.15.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-07-07T13:50:35"},{"id":"linode/3.15.3-x86_64-linode44","label":"3.15.3-x86_64-linode44","version":"3.15.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-07-02T12:12:37"},{"id":"linode/3.15.2-x86_64-linode43","label":"3.15.2-x86_64-linode43","version":"3.15.2","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-06-30T18:46:50"},{"id":"linode/3.14.5-x86_64-linode42","label":"3.14.5-x86_64-linode42","version":"3.14.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-06-05T20:05:44"},{"id":"linode/3.14.5-x86_64-linode41","label":"3.14.5-x86_64-linode41","version":"3.14.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-06-03T13:09:58"},{"id":"linode/3.14.4-x86_64-linode40","label":"3.14.4-x86_64-linode40","version":"3.14.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-05-13T17:42:22"},{"id":"linode/3.14.1-x86_64-linode39","label":"3.14.1-x86_64-linode39","version":"3.14.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-04-25T17:42:13"},{"id":"linode/3.13.7-x86_64-linode38","label":"3.13.7-x86_64-linode38","version":"3.13.7","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-03-25T18:21:50"},{"id":"linode/3.12.9-x86_64-linode37","label":"3.12.9-x86_64-linode37","version":"3.12.9","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-02-03T19:42:13"},{"id":"linode/3.12.6-x86_64-linode36","label":"3.12.6-x86_64-linode36","version":"3.12.6","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-12-23T16:24:18"},{"id":"linode/3.11.6-x86_64-linode35","label":"3.11.6-x86_64-linode35","version":"3.11.6","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-10-23T16:06:29"},{"id":"linode/3.10.3-x86_64-linode34","label":"3.10.3-x86_64-linode34","version":"3.10.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-07-26T16:35:12"},{"id":"linode/3.9.3-x86_64-linode33","label":"3.9.3-x86_64-linode33","version":"3.9.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-05-20T14:27:27"},{"id":"linode/3.9.2-x86_64-linode32","label":"3.9.2-x86_64-linode32","version":"3.9.2","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-05-14T15:53:02"},{"id":"linode/3.8.4-x86_64-linode31","label":"3.8.4-x86_64-linode31","version":"3.8.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-03-25T20:42:49"},{"id":"linode/3.7.10-x86_64-linode30","label":"3.7.10-x86_64-linode30","version":"3.7.10","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-02-27T19:49:45"},{"id":"linode/3.7.5-x86_64-linode29","label":"3.7.5-x86_64-linode29","version":"3.7.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-01-31T19:52:25"},{"id":"linode/3.6.5-x86_64-linode28","label":"3.6.5-x86_64-linode28","version":"3.6.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-11-04T17:42:14"},{"id":"linode/3.5.3-x86_64-linode27","label":"3.5.3-x86_64-linode27","version":"3.5.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-09-05T20:32:28"},{"id":"linode/3.4.2-x86_64-linode25","label":"3.4.2-x86_64-linode25","version":"3.2.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-06-11T18:40:20"},{"id":"linode/3.0.18-x86_64-linode24","label":"3.0.18-x86_64-linode24 ","version":"3.0.18","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-01-30T17:42:21"},{"id":"linode/3.2.1-x86_64-linode23","label":"3.2.1-x86_64-linode23","version":"3.2.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-01-23T16:04:48"},{"id":"linode/3.1.0-x86_64-linode22","label":"3.1.0-x86_64-linode22","version":"3.1.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-10-25T18:24:49"},{"id":"linode/3.0.4-x86_64-linode21","label":"3.0.4-x86_64-linode21","version":"3.0.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-09-02T01:08:55"},{"id":"linode/3.0.0-x86_64-linode20","label":"3.0.0-x86_64-linode20","version":"3.0.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-08-02T16:59:12"},{"id":"linode/2.6.39.1-x86_64-linode19","label":"2.6.39.1-x86_64-linode19","version":"2.6.39","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-06-21T14:06:03"},{"id":"linode/2.6.39-x86_64-linode18","label":"2.6.39-x86_64-linode18","version":"2.6.39","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-05-25T19:05:05"},{"id":"linode/2.6.38-x86_64-linode17","label":"2.6.38-x86_64-linode17","version":"2.6.38","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-03-21T21:44:09"},{"id":"linode/2.6.35.4-x86_64-linode16","label":"2.6.35.4-x86_64-linode16","version":"2.6.35","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-09-20T04:00:00"},{"id":"linode/2.6.32.12-x86_64-linode15","label":"2.6.32.12-x86_64-linode15","version":"2.6.32","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-07-25T21:34:00"},{"id":"linode/2.6.34-x86_64-linode13","label":"2.6.34-x86_64-linode13","version":"2.6.34","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-06-17T04:00:00"},{"id":"linode/2.6.34-x86_64-linode14","label":"2.6.34-x86_64-linode14","version":"2.6.34","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-07-14T04:00:00"},{"id":"linode/2.6.32.12-x86_64-linode12","label":"2.6.32.12-x86_64-linode12","version":"2.6.32","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-04-28T04:00:00"},{"id":"linode/2.6.32-x86_64-linode11","label":"2.6.32-x86_64-linode11","version":"2.6.32","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-12-05T17:01:00"},{"id":"linode/2.6.18.8-x86_64-linode10","label":"2.6.18.8-x86_64-linode10","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2009-11-10T16:53:00"},{"id":"linode/2.6.31.5-x86_64-linode9","label":"2.6.31.5-x86_64-linode9","version":"2.6.31","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/2.6.30.5-x86_64-linode8","label":"2.6.30.5-x86_64-linode8","version":"2.6.30","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/2.6.18.8-x86_64-linode7","label":"2.6.18.8-x86_64-linode7","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2009-08-14T04:00:00"},{"id":"linode/2.6.29-x86_64-linode6","label":"2.6.29-x86_64-linode6","version":"2.6.29","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-04-02T04:00:00"},{"id":"linode/2.6.28.3-x86_64-linode5","label":"2.6.28.3-x86_64-linode5","version":"2.6.28","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-02-04T05:00:00"},{"id":"linode/2.6.28-x86_64-linode4","label":"2.6.28-x86_64-linode4","version":"2.6.28","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2008-12-29T05:00:00"},{"id":"linode/2.6.27.4-x86_64-linode3","label":"2.6.27.4-x86_64-linode3","version":"2.6.27","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2008-11-05T05:00:00"},{"id":"linode/2.6.16.38-x86_64-linode2","label":"2.6.16.38-x86_64-linode2","version":"2.6.16","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2008-03-23T04:00:00"},{"id":"linode/2.6.18.8-x86_64-linode1","label":"2.6.18.8-x86_64-linode1","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2008-03-23T04:00:00"},{"id":"linode/3.5.2-x86_64-linode26","label":"3.5.2-x86_64-linode26","version":"3.5.2","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-08-15T18:38:16"},{"id":"linode/grub2","label":"GRUB 2","version":"2.06","kvm":true,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2022-08-29T14:28:00"},{"id":"linode/direct-disk","label":"Direct Disk","version":"","kvm":true,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2015-05-05T01:51:43"},{"id":"linode/grub-legacy","label":"GRUB (Legacy)","version":"2.0.0","kvm":true,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2015-04-29T15:32:30"},{"id":"linode/pv-grub_x86_32","label":"pv-grub-x86_32","version":"2.6.26","kvm":false,"architecture":"i386","pvops":false,"deprecated":false,"built":"2008-09-15T04:00:00"},{"id":"linode/pv-grub_x86_64","label":"pv-grub-x86_64","version":"2.6.26","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2008-11-14T05:00:00"}],"page":1,"pages":1,"results":324} \ No newline at end of file +{"data":[{"id":"linode/latest-2.6-32bit","label":"Latest 2.6 (2.6.39.1-linode34)","version":"2.6.39","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/latest-2.6","label":"Latest 2.6 Stable (2.6.23.17-linode44)","version":"2.6.24","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/latest-32bit","label":"Latest 32 bit (6.1.10-x86-linode179)","version":"6.1.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-02-08T19:07:56"},{"id":"linode/2.6.18.8-linode22","label":"Latest Legacy (2.6.18.8-linode22)","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2006-06-25T04:00:00"},{"id":"linode/6.2.9-x86_64-linode160","label":"6.2.9-x86_64-linode160","version":"6.2.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-04-05T19:30:32"},{"id":"linode/6.2.9-x86-linode180","label":"6.2.9-x86-linode180","version":"6.2.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-04-05T19:23:04"},{"id":"linode/6.1.10-x86_64-linode159","label":"6.1.10-x86_64-linode159","version":"6.1.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-02-08T19:14:45"},{"id":"linode/6.1.10-x86-linode179","label":"6.1.10-x86-linode179","version":"6.1.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2023-02-08T19:07:56"},{"id":"linode/6.0.10-x86_64-linode158","label":"6.0.10-x86_64-linode158","version":"6.0.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-12-01T18:16:43"},{"id":"linode/6.0.10-x86-linode178","label":"6.0.10-x86-linode178","version":"6.0.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-12-01T18:09:33"},{"id":"linode/6.0.2-x86_64-linode157","label":"6.0.2-x86_64-linode157","version":"6.0.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-10-17T17:01:41"},{"id":"linode/6.0.2-x86-linode177","label":"6.0.2-x86-linode177","version":"6.0.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-10-17T16:54:28"},{"id":"linode/5.19.2-x86_64-linode156","label":"5.19.2-x86_64-linode156","version":"5.19.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-08-18T19:51:13"},{"id":"linode/5.19.2-x86-linode176","label":"5.19.2-x86-linode176","version":"5.19.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-08-18T19:44:26"},{"id":"linode/5.18.2-x86_64-linode155","label":"5.18.2-x86_64-linode155","version":"5.18.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-06-07T14:46:11"},{"id":"linode/5.18.2-x86-linode175","label":"5.18.2-x86-linode175","version":"5.18.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-06-07T14:39:32"},{"id":"linode/5.17.5-x86_64-linode154","label":"5.17.5-x86_64-linode154","version":"5.17.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-05-02T19:07:22"},{"id":"linode/5.17.5-x86-linode174","label":"5.17.5-x86-linode174","version":"5.17.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-05-02T19:00:48"},{"id":"linode/5.16.13-x86-linode173","label":"5.16.13-x86-linode173","version":"5.16.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-03-08T19:09:29"},{"id":"linode/5.16.13-x86_64-linode153","label":"5.16.13-x86_64-linode153","version":"5.16.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-03-08T19:16:05"},{"id":"linode/5.16.3-x86_64-linode152","label":"5.16.3-x86_64-linode152","version":"5.16.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2022-01-27T19:46:44"},{"id":"linode/5.16.3-x86-linode172","label":"5.16.3-x86-linode172","version":"5.16.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2022-01-27T19:40:10"},{"id":"linode/5.15.10-x86_64-linode151","label":"5.15.10-x86_64-linode151","version":"5.15.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2021-12-21T18:44:00"},{"id":"linode/5.15.10-x86-linode171","label":"5.15.10-x86-linode171","version":"5.15.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2021-12-21T18:37:00"},{"id":"linode/5.14.17-x86_64-linode150","label":"5.14.17-x86_64-linode150","version":"5.14.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-11-11T18:23:00"},{"id":"linode/5.14.17-x86-linode170","label":"5.14.17-x86-linode170","version":"5.14.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-11-11T18:17:00"},{"id":"linode/5.14.15-x86_64-linode149","label":"5.14.15-x86_64-linode149","version":"5.14.15","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-11-01T18:02:00"},{"id":"linode/5.14.15-x86-linode169","label":"5.14.15-x86-linode169","version":"5.14.15","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-11-01T17:55:00"},{"id":"linode/5.14.14-x86_64-linode148","label":"5.14.14-x86_64-linode148","version":"5.14.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-10-20T18:22:00"},{"id":"linode/5.14.14-x86-linode168","label":"5.14.14-x86-linode168","version":"5.14.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-10-20T18:15:00"},{"id":"linode/5.14.2-x86_64-linode147","label":"5.14.2-x86_64-linode147","version":"5.14.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-09-08T19:06:00"},{"id":"linode/5.14.2-x86-linode167","label":"5.14.2-x86-linode167","version":"5.14.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-09-08T19:00:00"},{"id":"linode/5.13.4-x86_64-linode146","label":"5.13.4-x86_64-linode146","version":"5.13.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-07-21T18:51:00"},{"id":"linode/5.13.4-x86-linode166","label":"5.13.4-x86-linode166","version":"5.13.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-07-21T18:45:00"},{"id":"linode/5.12.13-x86_64-linode145","label":"5.12.13-x86_64-linode145","version":"5.12.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-06-24T20:24:00"},{"id":"linode/5.12.13-x86-linode165","label":"5.12.13-x86-linode165","version":"5.12.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-06-24T20:19:00"},{"id":"linode/5.12.2-x86_64-linode144","label":"5.12.2-x86_64-linode144","version":"5.12.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-05-10T17:16:00"},{"id":"linode/5.12.2-x86-linode164","label":"5.12.2-x86-linode164","version":"5.12.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-05-10T17:10:00"},{"id":"linode/5.11.13-x86_64-linode143","label":"5.11.13-x86_64-linode143","version":"5.11.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-04-13T15:46:00"},{"id":"linode/5.11.13-x86-linode163","label":"5.11.13-x86-linode163","version":"5.11.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-04-13T15:40:00"},{"id":"linode/5.11.9-x86_64-linode142","label":"5.11.9-x86_64-linode142","version":"5.11.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2021-03-24T15:33:00"},{"id":"linode/5.11.9-x86-linode162","label":"5.11.9-x86-linode162","version":"5.11.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2021-03-24T15:28:00"},{"id":"linode/5.10.13-x86_64-linode141","label":"5.10.13-x86_64-linode141","version":"5.10.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2021-02-04T19:02:00"},{"id":"linode/5.10.13-x86-linode161","label":"5.10.13-x86-linode161","version":"5.10.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2021-02-04T18:56:00"},{"id":"linode/5.10.2-x86_64-linode140","label":"5.10.2-x86_64-linode140","version":"5.10.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-12-22T20:43:00"},{"id":"linode/5.10.2-x86-linode160","label":"5.10.2-x86-linode160","version":"5.10.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-12-22T20:38:00"},{"id":"linode/5.9.6-x86_64-linode139","label":"5.9.6-x86_64-linode139","version":"5.9.6","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-11-05T19:51:00"},{"id":"linode/5.9.6-x86-linode159","label":"5.9.6-x86-linode159","version":"5.9.6","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-11-05T19:45:00"},{"id":"linode/5.8.10-x86-linode158","label":"5.8.10-x86-linode158","version":"5.8.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-09-17T19:58:00"},{"id":"linode/5.8.10-x86_64-linode138","label":"5.8.10-x86_64-linode138","version":"5.8.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-09-17T20:03:00"},{"id":"linode/5.8.3-x86_64-linode137","label":"5.8.3-x86_64-linode137","version":"5.8.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-08-24T18:55:00"},{"id":"linode/5.8.3-x86-linode157","label":"5.8.3-x86-linode157","version":"5.8.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-08-24T18:50:00"},{"id":"linode/5.7.6-x86-linode156","label":"5.7.6-x86-linode156","version":"5.7.6","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-06-25T16:41:08"},{"id":"linode/5.6.14-x86-linode155","label":"5.6.14-x86-linode155","version":"5.6.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-06-01T14:05:47"},{"id":"linode/5.6.1-x86-linode154","label":"5.6.1-x86-linode154","version":"5.6.1","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2020-04-07T21:29:12"},{"id":"linode/5.4.10-x86-linode152","label":"5.4.10-x86-linode152","version":"5.4.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":false,"built":"2020-01-10T21:02:10"},{"id":"linode/5.3.11-x86-linode151","label":"5.3.11-x86-linode151","version":"5.3.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-11-14T20:38:53"},{"id":"linode/5.3.7-x86-linode150","label":"5.3.7-x86-linode150","version":"5.3.7","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-10-30T21:10:08"},{"id":"linode/5.2.9-x86-linode149","label":"5.2.9-x86-linode149","version":"5.2.9","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-08-21T18:48:52"},{"id":"linode/5.1.17-x86-linode148","label":"5.1.17-x86-linode148","version":"5.1.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-07-16T15:25:35"},{"id":"linode/5.1.11-x86-linode147","label":"5.1.11-x86-linode147","version":"5.1.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-06-17T22:46:37"},{"id":"linode/5.1.5-x86-linode146","label":"5.1.5-x86-linode146","version":"5.1.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-05-30T20:30:37"},{"id":"linode/4.14.120-x86-linode145","label":"4.14.120-x86-linode145","version":"4.14.120","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-05-21T10:57:13"},{"id":"linode/5.1.2-x86-linode144","label":"5.1.2-x86-linode144","version":"5.1.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-05-15T16:13:49"},{"id":"linode/5.0.8-x86-linode143","label":"5.0.8-x86-linode143","version":"5.0.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-04-17T18:39:29"},{"id":"linode/4.20.4-x86-linode141","label":"4.20.4-x86-linode141","version":"4.20.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2019-01-25T19:13:27"},{"id":"linode/4.19.8-x86-linode140","label":"4.19.8-x86-linode140","version":"4.19.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-12-12T21:44:08"},{"id":"linode/4.19.5-x86-linode139","label":"4.19.5-x86-linode139","version":"4.19.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-11-29T16:36:09"},{"id":"linode/4.18.16-x86-linode138","label":"4.18.16-x86-linode138","version":"4.18.16","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-10-29T20:24:50"},{"id":"linode/4.18.8-x86-linode137","label":"4.18.8-x86-linode137","version":"4.18.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-10-04T18:06:19"},{"id":"linode/4.18.8-x86-linode136","label":"4.18.8-x86-linode136","version":"4.18.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-09-19T12:54:57"},{"id":"linode/4.17.17-x86-linode135","label":"4.17.17-x86-linode135","version":"4.17.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-20T17:24:09"},{"id":"linode/4.17.15-x86-linode134","label":"4.17.15-x86-linode134","version":"4.17.15","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-16T17:13:56"},{"id":"linode/4.17.14-x86-linode133","label":"4.17.14-x86-linode133","version":"4.17.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-13T16:40:31"},{"id":"linode/4.17.14-x86-linode132","label":"4.17.14-x86-linode132","version":"4.17.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-10T21:08:51"},{"id":"linode/4.17.12-x86-linode131","label":"4.17.12-x86-linode131","version":"4.17.12","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-08-07T13:01:28"},{"id":"linode/4.17.11-x86-linode130","label":"4.17.11-x86-linode130","version":"4.17.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-07-31T19:51:00"},{"id":"linode/4.17.8-x86-linode129","label":"4.17.8-x86-linode129","version":"4.17.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-07-18T17:17:29"},{"id":"linode/4.17.2-x86-linode128","label":"4.17.2-x86-linode128","version":"4.17.2","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-06-26T19:42:55"},{"id":"linode/4.16.11-x86-linode127","label":"4.16.11-x86-linode127","version":"4.16.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-05-24T21:33:29"},{"id":"linode/4.15.18-x86-linode126","label":"4.15.18-x86-linode126","version":"4.15.18","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-05-02T20:21:02"},{"id":"linode/4.15.13-x86-linode125","label":"4.15.13-x86-linode125","version":"4.15.13","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-27T17:17:56"},{"id":"linode/4.15.12-x86-linode124","label":"4.15.12-x86-linode124","version":"4.15.12","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-22T20:09:16"},{"id":"linode/4.15.10-x86-linode123","label":"4.15.10-x86-linode123","version":"4.15.10","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-16T21:18:40"},{"id":"linode/4.15.8-x86-linode122","label":"4.15.8-x86-linode122","version":"4.15.8","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-10T21:25:42"},{"id":"linode/4.15.7-x86-linode121","label":"4.15.7-x86-linode121","version":"4.15.7","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-03-01T17:20:09"},{"id":"linode/4.14.19-x86-linode119","label":"4.14.19-x86-linode119","version":"4.14.19","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-13T19:05:44"},{"id":"linode/4.14.17-x86-linode118","label":"4.14.17-x86-linode118","version":"4.14.17","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-08T18:34:40"},{"id":"linode/4.9.80-x86-linode117","label":"4.9.80-x86-linode117","version":"4.9.80","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-08T18:33:46"},{"id":"linode/4.4.115-x86-linode116","label":"4.4.115-x86-linode116","version":"4.4.115","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-02-08T18:32:57"},{"id":"linode/4.4.113-x86-linode115","label":"4.4.113-x86-linode115","version":"4.4.113","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-25T22:47:11"},{"id":"linode/4.9.78-x86-linode114","label":"4.9.78-x86-linode114","version":"4.9.78","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-23T23:23:58"},{"id":"linode/4.14.14-x86-linode113","label":"4.14.14-x86-linode113","version":"4.14.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-23T02:00:02"},{"id":"linode/4.14.14-x86-linode112","label":"4.14.14-x86-linode112","version":"4.14.14","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-18T20:09:53"},{"id":"linode/4.9.64-x86-linode107","label":"4.9.64-x86-linode107","version":"4.9.64","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-12-01T23:10:11"},{"id":"linode/4.9.68-x86-linode108","label":"4.9.68-x86-linode108","version":"4.9.68","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-12-11T19:00:15"},{"id":"linode/4.14.12-x86-linode111","label":"4.14.12-x86-linode111","version":"4.14.12","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-05T16:31:55"},{"id":"linode/4.14.11-x86-linode110","label":"4.14.11-x86-linode110","version":"4.14.11","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2018-01-04T18:56:25"},{"id":"linode/4.9.56-x86-linode106","label":"4.9.56-x86-linode106","version":"4.9.56","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-10-13T21:10:23"},{"id":"linode/4.9.50-x86-linode105","label":"4.9.50-x86-linode105","version":"4.9.50","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-09-14T21:46:56"},{"id":"linode/4.9.36-x86-linode104","label":"4.9.36-x86-linode104","version":"4.9.36","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-07-10T13:16:53"},{"id":"linode/4.9.33-x86-linode102","label":"4.9.33-x86-linode102","version":"4.9.33","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-06-23T22:06:05"},{"id":"linode/4.9.15-x86-linode100","label":"4.9.15-x86-linode100","version":"4.9.15","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-03-22T13:48:13"},{"id":"linode/4.9.7-x86-linode99","label":"4.9.7-x86-linode99","version":"4.9.7","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2017-02-03T22:54:57"},{"id":"linode/4.9.0-x86-linode98","label":"4.9.0-x86-linode98","version":"4.9.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-12-13T20:10:20"},{"id":"linode/4.8.6-x86-linode97","label":"4.8.6-x86-linode97","version":"4.8.6","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-11-02T15:23:43"},{"id":"linode/4.8.4-x86-linode96","label":"4.8.4-x86-linode96","version":"4.8.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-10-27T18:51:41"},{"id":"linode/4.8.3-x86-linode95","label":"4.8.3-x86-linode95","version":"4.8.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-10-20T23:10:27"},{"id":"linode/4.8.1-x86-linode94","label":"4.8.1-x86-linode94","version":"4.8.1","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-10-07T22:21:55"},{"id":"linode/4.7.3-x86-linode92","label":"4.7.3-x86-linode92","version":"4.7.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-09-15T13:13:40"},{"id":"linode/4.7.0-x86-linode90","label":"4.7.0-x86-linode90","version":"4.7.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-08-05T14:35:48"},{"id":"linode/4.6.5-x86-linode89","label":"4.6.5-x86-linode89","version":"4.6.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-08-04T15:28:59"},{"id":"linode/4.5.5-x86-linode88","label":"4.5.5-x86-linode88","version":"4.5.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-05-24T15:29:02"},{"id":"linode/4.5.3-x86-linode86","label":"4.5.3-x86-linode86","version":"4.5.3","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-05-10T19:39:51"},{"id":"linode/4.5.0-x86-linode84","label":"4.5.0-x86-linode84","version":"4.5.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-03-16T18:53:02"},{"id":"linode/4.4.4-x86-linode83","label":"4.4.4-x86-linode83","version":"4.4.4","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-03-10T22:20:19"},{"id":"linode/4.4.0-x86-linode82","label":"4.4.0-x86-linode82","version":"4.4.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2016-01-20T14:41:05"},{"id":"linode/4.1.5-x86-linode80","label":"4.1.5-x86-linode80","version":"4.1.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-08-24T19:00:43"},{"id":"linode/4.1.5-x86-linode79","label":"4.1.5-x86-linode79","version":"4.1.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-08-13T13:00:00"},{"id":"linode/4.1.0-x86-linode78","label":"4.1.0-x86-linode78","version":"4.1.0","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-06-22T15:19:32"},{"id":"linode/4.0.5-x86-linode77","label":"4.0.5-x86-linode77","version":"4.0.5","kvm":true,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-06-11T13:58:18"},{"id":"linode/4.0.5-x86-linode76","label":"4.0.5-x86-linode76","version":"4.0.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-06-10T15:31:52"},{"id":"linode/4.0.4-x86-linode75","label":"4.0.4-x86-linode75","version":"4.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-05-21T15:15:47"},{"id":"linode/4.0.2-x86-linode74","label":"4.0.2-x86-linode74","version":"4.0.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-05-11T20:56:58"},{"id":"linode/4.0-x86-linode73","label":"4.0.1-x86-linode73","version":"4.0.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-05-04T13:43:23"},{"id":"linode/4.0-x86-linode72","label":"4.0-x86-linode72","version":"4.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-04-21T13:02:24"},{"id":"linode/3.19.1-x86-linode71","label":"3.19.1-x86-linode71","version":"3.19.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-03-11T18:00:36"},{"id":"linode/3.18.5-x86-linode70","label":"3.18.5-x86-linode70","version":"3.18.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-02-05T05:00:00"},{"id":"linode/3.18.3-x86-linode69","label":"3.18.3-x86-linode69","version":"3.18.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-01-23T15:12:45"},{"id":"linode/3.18.1-x86-linode68","label":"3.18.1-x86-linode68","version":"3.18.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2015-01-06T17:32:39"},{"id":"linode/3.16.7-x86-linode67","label":"3.16.7-x86-linode67","version":"3.16.7","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-11-14T22:31:46"},{"id":"linode/3.16.5-x86-linode65","label":"3.16.5-x86-linode65","version":"3.16.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-10-13T13:40:00"},{"id":"linode/3.15.4-x86-linode64","label":"3.15.4-x86-linode64","version":"3.15.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-07-07T13:50:35"},{"id":"linode/3.15.3-x86-linode63","label":"3.15.3-x86-linode63","version":"3.15.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-07-02T12:12:37"},{"id":"linode/3.15.2-x86-linode62","label":"3.15.2-x86-linode62","version":"3.15.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-06-30T18:46:50"},{"id":"linode/3.14.5-x86-linode61","label":"3.14.5-x86-linode61","version":"3.14.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-06-05T20:05:44"},{"id":"linode/3.14.5-x86-linode60","label":"3.14.5-x86-linode60","version":"3.14.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-06-03T13:09:58"},{"id":"linode/3.14.4-x86-linode59","label":"3.14.4-x86-linode59","version":"3.14.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-05-13T17:42:22"},{"id":"linode/3.14.1-x86-linode58","label":"3.14.1-x86-linode58","version":"3.14.1","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-04-25T17:49:15"},{"id":"linode/3.13.7-x86-linode57","label":"3.13.7-x86-linode57","version":"3.13.7","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-03-25T18:21:50"},{"id":"linode/3.12.9-x86-linode56","label":"3.12.9-x86-linode56","version":"3.12.9","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2014-02-03T19:42:13"},{"id":"linode/3.11.6-x86-linode54","label":"3.11.6-x86-linode54","version":"3.11.6","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-10-23T16:06:29"},{"id":"linode/3.12.6-x86-linode55","label":"3.12.6-x86-linode55","version":"3.12.6","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-12-23T16:25:39"},{"id":"linode/3.10.3-x86-linode53","label":"3.10.3-x86-linode53","version":"3.10.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-07-26T16:35:12"},{"id":"linode/3.9.3-x86-linode52","label":"3.9.3-x86-linode52","version":"3.9.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-05-20T14:27:27"},{"id":"linode/3.9.2-x86-linode51","label":"3.9.2-x86-linode51","version":"3.9.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-05-14T16:13:27"},{"id":"linode/3.8.4-linode50","label":"3.8.4-linode50","version":"3.8.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-03-25T20:42:49"},{"id":"linode/3.7.10-linode49","label":"3.7.10-linode49","version":"3.7.10","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-02-27T19:49:45"},{"id":"linode/3.7.5-linode48","label":"3.7.5-linode48","version":"3.7.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2013-01-31T19:52:25"},{"id":"linode/3.6.5-linode47","label":"3.6.5-linode47","version":"3.6.5","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-11-04T17:42:14"},{"id":"linode/3.5.3-linode46","label":"3.5.3-linode46","version":"3.5.3","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-09-05T20:45:36"},{"id":"linode/3.5.2-linode45","label":"3.5.2-linode45","version":"3.5.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-08-15T18:16:29"},{"id":"linode/3.4.2-linode44","label":"3.4.2-linode44","version":"3.4.2","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-06-11T19:03:10"},{"id":"linode/3.0.18-linode43","label":"3.0.18-linode43","version":"3.0.18","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-30T17:42:21"},{"id":"linode/3.1.10-linode42","label":"3.1.10-linode42","version":"3.1.10","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-25T21:24:07"},{"id":"linode/3.0.17-linode41","label":"3.0.17-linode41","version":"3.0.17","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-25T21:24:05"},{"id":"linode/3.2.1-linode40","label":"3.2.1-linode40","version":"3.2.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2012-01-23T16:04:48"},{"id":"linode/3.1.0-linode39","label":"3.1.0-linode39","version":"3.1.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-10-25T17:57:05"},{"id":"linode/3.0.4-linode38","label":"3.0.4-linode38","version":"3.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-09-22T18:57:59"},{"id":"linode/3.0.4-linode37","label":"3.0.4-linode37","version":"3.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-09-12T16:03:31"},{"id":"linode/3.0.4-linode36","label":"3.0.4-linode36","version":"3.0.4","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-09-02T01:08:55"},{"id":"linode/3.0-linode35","label":"3.0.0-linode35","version":"3.0.0","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-08-02T15:43:52"},{"id":"linode/2.6.39.1-linode34","label":"2.6.39.1-linode34","version":"2.6.39","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-06-21T14:42:50"},{"id":"linode/2.6.39-linode33","label":"2.6.39-linode33","version":"2.6.39","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-05-25T19:05:05"},{"id":"linode/2.6.38.3-linode32","label":"2.6.38.3-linode32","version":"2.6.38","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-04-21T20:21:48"},{"id":"linode/2.6.38-linode31","label":"2.6.38-linode31","version":"2.6.38","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-03-21T21:44:09"},{"id":"linode/2.6.37-linode30","label":"2.6.37-linode30","version":"2.6.37","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2011-01-27T05:00:00"},{"id":"linode/2.6.35.7-linode29","label":"2.6.35.7-linode29","version":"2.6.35","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-10-13T04:00:00"},{"id":"linode/2.6.32.16-linode28","label":"2.6.32.16-linode28","version":"2.6.32","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-07-25T21:34:00"},{"id":"linode/2.6.34-linode27","label":"2.6.34-linode27","version":"2.6.34","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-07-16T04:00:00"},{"id":"linode/2.6.32.12-linode25","label":"2.6.32.12-linode25","version":"2.6.33","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-04-28T04:00:00"},{"id":"linode/2.6.33-linode24","label":"2.6.33-linode24","version":"2.6.33","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2010-02-24T22:05:00"},{"id":"linode/2.6.32-linode23","label":"2.6.32-linode23","version":"2.6.32","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-12-05T16:14:00"},{"id":"linode/2.6.18.8-linode22","label":"2.6.18.8-linode22","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-11-10T05:00:00"},{"id":"linode/2.6.31.5-linode21","label":"2.6.31.5-linode21","version":"2.6.31","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/2.6.30.5-linode20","label":"2.6.30.5-linode20","version":"2.6.30","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/2.6.23.17-linode44","label":"2.6.23.17-linode44","version":"2.6.23","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/2.6.18.8-linode19","label":"2.6.18.8-linode19","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-08-14T04:00:00"},{"id":"linode/2.6.29-linode18","label":"2.6.29-linode18","version":"2.6.29","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-04-01T04:00:00"},{"id":"linode/2.6.28.3-linode17","label":"2.6.28.3-linode17","version":"2.6.28","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2009-02-04T05:00:00"},{"id":"linode/2.6.18.8-linode16","label":"2.6.18.8-linode16","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2009-01-12T14:47:00"},{"id":"linode/2.6.28-linode15","label":"2.6.28-linode15","version":"2.6.28","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-12-29T05:00:00"},{"id":"linode/2.6.27.4-linode14","label":"2.6.27.4-linode14","version":"2.6.27","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-11-05T05:00:00"},{"id":"linode/2.6.26-linode13","label":"2.6.26-linode13","version":"2.6.26","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-07-13T23:15:00"},{"id":"linode/2.6.25.10-linode12","label":"2.6.25.10-linode12","version":"2.6.25","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-07-03T04:00:00"},{"id":"linode/2.6.18.8-linode10","label":"2.6.18.8-linode10","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":"2008-06-23T04:00:00"},{"id":"linode/2.6.25-linode9","label":"2.6.25-linode9","version":"2.6.25","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-04-10T04:00:00"},{"id":"linode/2.6.24.4-linode8","label":"2.6.24.4-linode8","version":"2.6.24","kvm":false,"architecture":"i386","pvops":true,"deprecated":true,"built":"2008-03-31T04:00:00"},{"id":"linode/2.6.18.8-domU-linode7","label":"2.6.18.8-domU-linode7","version":"2.6.18","kvm":false,"architecture":"i386","pvops":false,"deprecated":true,"built":null},{"id":"linode/latest-2.6-64bit","label":"Latest 2.6 (2.6.39.1-x86_64-linode19)","version":"2.6.39","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/latest-64bit","label":"Latest 64 bit (6.1.10-x86_64-linode159)","version":"6.1.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2023-02-08T19:14:45"},{"id":"linode/2.6.18.8-x86_64-linode10","label":"Latest Legacy (2.6.18.8-x86_64-linode10)","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/5.7.6-x86_64-linode136","label":"5.7.6-x86_64-linode136","version":"5.7.6","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-06-25T16:41:35"},{"id":"linode/5.6.14-x86_64-linode135","label":"5.6.14-x86_64-linode135","version":"5.6.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-06-01T14:06:45"},{"id":"linode/5.6.1-x86_64-linode134","label":"5.6.1-x86_64-linode134","version":"5.6.1","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2020-04-07T21:29:51"},{"id":"linode/5.4.10-x86_64-linode132","label":"5.4.10-x86_64-linode132","version":"5.4.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":false,"built":"2020-01-10T21:03:16"},{"id":"linode/5.3.11-x86_64-linode131","label":"5.3.11-x86_64-linode131","version":"5.3.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-11-14T20:39:27"},{"id":"linode/5.3.7-x86_64-linode130","label":"5.3.7-x86_64-linode130","version":"5.3.7","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-10-30T21:10:29"},{"id":"linode/5.2.9-x86_64-linode129","label":"5.2.9-x86_64-linode129","version":"5.2.9","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-08-21T18:49:31"},{"id":"linode/5.1.17-x86_64-linode128","label":"5.1.17-x86_64-linode128","version":"5.1.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-07-16T15:26:33"},{"id":"linode/5.1.11-x86_64-linode127","label":"5.1.11-x86_64-linode127","version":"5.1.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-06-17T22:47:20"},{"id":"linode/5.1.5-x86_64-linode126","label":"5.1.5-x86_64-linode126","version":"5.1.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-05-30T20:30:39"},{"id":"linode/4.14.120-x86_64-linode125","label":"4.14.120-x86_64-linode125","version":"4.14.120","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-05-21T10:57:46"},{"id":"linode/5.1.2-x86_64-linode124","label":"5.1.2-x86_64-linode124","version":"5.1.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-05-15T16:14:35"},{"id":"linode/5.0.8-x86_64-linode123","label":"5.0.8-x86_64-linode123","version":"5.0.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-04-17T18:39:56"},{"id":"linode/5.0.1-x86_64-linode122","label":"5.0.1-x86_64-linode122","version":"5.0.1","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-03-13T16:51:01"},{"id":"linode/4.20.4-x86_64-linode121","label":"4.20.4-x86_64-linode121","version":"4.20.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2019-01-25T19:13:29"},{"id":"linode/4.19.8-x86_64-linode120","label":"4.19.8-x86_64-linode120","version":"4.19.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-12-12T21:44:08"},{"id":"linode/4.19.5-x86_64-linode119","label":"4.19.5-x86_64-linode119","version":"4.19.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-11-29T16:36:53"},{"id":"linode/4.18.16-x86_64-linode118","label":"4.18.16-x86_64-linode118","version":"4.18.16","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-10-29T20:24:13"},{"id":"linode/4.18.8-x86_64-linode117","label":"4.18.8-x86_64-linode117","version":"4.18.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-09-19T12:55:56"},{"id":"linode/4.17.17-x86_64-linode116","label":"4.17.17-x86_64-linode116","version":"4.17.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-20T17:23:32"},{"id":"linode/4.17.15-x86_64-linode115","label":"4.17.15-x86_64-linode115","version":"4.17.15","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-16T17:13:28"},{"id":"linode/4.17.14-x86_64-linode114","label":"4.17.14-x86_64-linode114","version":"4.17.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-13T16:41:06"},{"id":"linode/4.17.14-x86_64-linode113","label":"4.17.14-x86_64-linode113","version":"4.17.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-10T21:07:56"},{"id":"linode/4.17.12-x86_64-linode112","label":"4.17.12-x86_64-linode112","version":"4.17.12","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-08-07T13:02:24"},{"id":"linode/4.17.11-x86_64-linode111","label":"4.17.11-x86_64-linode111","version":"4.17.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-07-31T19:51:53"},{"id":"linode/4.17.8-x86_64-linode110","label":"4.17.8-x86_64-linode110","version":"4.17.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-07-18T17:18:30"},{"id":"linode/4.17.2-x86_64-linode109","label":"4.17.2-x86_64-linode109","version":"4.17.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-06-26T19:42:57"},{"id":"linode/4.16.11-x86_64-linode108","label":"4.16.11-x86_64-linode108","version":"4.16.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-05-24T21:33:31"},{"id":"linode/4.15.18-x86_64-linode107","label":"4.15.18-x86_64-linode107","version":"4.15.18","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-05-02T20:21:04"},{"id":"linode/4.15.13-x86_64-linode106","label":"4.15.13-x86_64-linode106","version":"4.15.13","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-27T17:17:56"},{"id":"linode/4.15.12-x86_64-linode105","label":"4.15.12-x86_64-linode105","version":"4.15.12","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-22T20:08:43"},{"id":"linode/4.15.10-x86_64-linode104","label":"4.15.10-x86_64-linode104","version":"4.15.10","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-16T21:18:35"},{"id":"linode/4.15.8-x86_64-linode103","label":"4.15.8-x86_64-linode103","version":"4.15.8","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-10T21:25:43"},{"id":"linode/4.15.7-x86_64-linode102","label":"4.15.7-x86_64-linode102","version":"4.15.7","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-03-01T17:20:54"},{"id":"linode/4.14.19-x86_64-linode100","label":"4.14.19-x86_64-linode100","version":"4.14.19","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-13T19:07:46"},{"id":"linode/4.14.17-x86_64-linode99","label":"4.14.17-x86_64-linode99","version":"4.14.17","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-08T18:35:09"},{"id":"linode/4.9.80-x86_64-linode98","label":"4.9.80-x86_64-linode98","version":"4.9.80","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-08T18:34:16"},{"id":"linode/4.4.115-x86_64-linode97","label":"4.4.115-x86_64-linode97","version":"4.4.115","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-02-08T18:33:23"},{"id":"linode/4.4.113-x86_64-linode96","label":"4.4.113-x86_64-linode96","version":"4.4.113","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-25T22:47:11"},{"id":"linode/4.9.78-x86_64-linode95","label":"4.9.78-x86_64-linode95","version":"4.9.78","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-23T23:23:58"},{"id":"linode/4.14.14-x86_64-linode94","label":"4.14.14-x86_64-linode94","version":"4.14.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-23T02:10:08"},{"id":"linode/4.14.14-x86_64-linode93","label":"4.14.14-x86_64-linode93","version":"4.14.14","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-18T20:08:56"},{"id":"linode/4.9.64-x86_64-linode88","label":"4.9.64-x86_64-linode88","version":"4.9.64","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-12-01T23:10:11"},{"id":"linode/4.9.68-x86_64-linode89","label":"4.9.68-x86_64-linode89","version":"4.9.68","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-12-11T19:00:48"},{"id":"linode/4.14.12-x86_64-linode92","label":"4.14.12-x86_64-linode92","version":"4.14.12","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-05T16:31:28"},{"id":"linode/4.14.11-x86_64-linode91","label":"4.14.11-x86_64-linode91","version":"4.14.11","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2018-01-04T18:56:22"},{"id":"linode/4.9.56-x86_64-linode87","label":"4.9.56-x86_64-linode87","version":"4.9.56","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-10-13T21:09:35"},{"id":"linode/4.9.50-x86_64-linode86","label":"4.9.50-x86_64-linode86","version":"4.9.50","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-09-14T21:46:25"},{"id":"linode/4.9.36-x86_64-linode85","label":"4.9.36-x86_64-linode85","version":"4.9.36","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-07-10T13:16:08"},{"id":"linode/4.9.33-x86_64-linode83","label":"4.9.33-x86_64-linode83","version":"4.9.33","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-06-23T21:04:33"},{"id":"linode/4.9.15-x86_64-linode81","label":"4.9.15-x86_64-linode81","version":"4.9.15","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-03-22T13:49:33"},{"id":"linode/4.9.7-x86_64-linode80","label":"4.9.7-x86_64-linode80","version":"4.9.7","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2017-02-03T22:55:37"},{"id":"linode/4.9.0-x86_64-linode79","label":"4.9.0-x86_64-linode79","version":"4.9.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-12-13T20:11:03"},{"id":"linode/4.8.6-x86_64-linode78","label":"4.8.6-x86_64-linode78","version":"4.8.6","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-11-02T15:24:17"},{"id":"linode/4.8.4-x86_64-linode77","label":"4.8.4-x86_64-linode77","version":"4.8.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-10-27T18:53:07"},{"id":"linode/4.8.3-x86_64-linode76","label":"4.8.3-x86_64-linode76","version":"4.8.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-10-20T23:10:27"},{"id":"linode/4.8.1-x86_64-linode75","label":"4.8.1-x86_64-linode75","version":"4.8.1","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-10-07T22:22:13"},{"id":"linode/4.7.3-x86_64-linode73","label":"4.7.3-x86_64-linode73","version":"4.7.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-09-15T13:13:01"},{"id":"linode/4.7.0-x86_64-linode72","label":"4.7.0-x86_64-linode72","version":"4.7.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-08-05T14:34:25"},{"id":"linode/4.6.5-x86_64-linode71","label":"4.6.5-x86_64-linode71","version":"4.6.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-08-04T15:28:01"},{"id":"linode/4.6.3-x86_64-linode70","label":"4.6.3-x86_64-linode70","version":"4.6.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-07-07T22:08:28"},{"id":"linode/4.5.5-x86_64-linode69","label":"4.5.5-x86_64-linode69","version":"4.5.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-05-24T15:30:08"},{"id":"linode/4.5.3-x86_64-linode67","label":"4.5.3-x86_64-linode67","version":"4.5.3","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-05-10T19:42:43"},{"id":"linode/4.5.0-x86_64-linode65","label":"4.5.0-x86_64-linode65","version":"4.5.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-03-16T18:53:02"},{"id":"linode/4.4.4-x86_64-linode64","label":"4.4.4-x86_64-linode64","version":"4.4.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-03-10T22:24:51"},{"id":"linode/4.4.0-x86_64-linode63","label":"4.4.0-x86_64-linode63","version":"4.4.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2016-01-20T14:41:05"},{"id":"linode/4.1.5-x86_64-linode61","label":"4.1.5-x86_64-linode61","version":"4.1.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-08-24T19:00:43"},{"id":"linode/4.1.5-x86_64-linode60","label":"4.1.5-x86_64-linode60 ","version":"4.1.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-08-13T13:00:00"},{"id":"linode/4.1.0-x86_64-linode59","label":"4.1.0-x86_64-linode59 ","version":"4.1.0","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-06-22T15:19:32"},{"id":"linode/4.0.5-x86_64-linode58","label":"4.0.5-x86_64-linode58","version":"4.0.5","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-06-10T15:31:52"},{"id":"linode/4.0.4-x86_64-linode57","label":"4.0.4-x86_64-linode57","version":"4.0.4","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-05-21T15:15:47"},{"id":"linode/4.0.2-x86_64-linode56","label":"4.0.2-x86_64-linode56","version":"4.0.2","kvm":true,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-05-11T20:56:58"},{"id":"linode/4.0.1-x86_64-linode55","label":"4.0.1-x86_64-linode55","version":"4.0.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-05-04T13:43:23"},{"id":"linode/4.0-x86_64-linode54","label":"4.0-x86_64-linode54","version":"4.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-04-21T13:02:24"},{"id":"linode/3.19.1-x86_64-linode53","label":"3.19.1-x86_64-linode53","version":"3.19.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-03-11T18:00:36"},{"id":"linode/3.18.5-x86_64-linode52","label":"3.18.5-x86_64-linode52","version":"3.18.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-02-05T05:00:00"},{"id":"linode/3.18.3-x86_64-linode51","label":"3.18.3-x86_64-linode51","version":"3.18.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-01-23T15:12:45"},{"id":"linode/3.18.1-x86_64-linode50","label":"3.18.1-x86_64-linode50","version":"3.18.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2015-01-06T17:32:39"},{"id":"linode/3.16.7-x86_64-linode49","label":"3.16.7-x86_64-linode49","version":"3.16.7","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-11-14T22:31:46"},{"id":"linode/3.16.5-x86_64-linode46","label":"3.16.5-x86_64-linode46","version":"3.16.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-10-13T13:42:00"},{"id":"linode/3.15.4-x86_64-linode45","label":"3.15.4-x86_64-linode45","version":"3.15.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-07-07T13:50:35"},{"id":"linode/3.15.3-x86_64-linode44","label":"3.15.3-x86_64-linode44","version":"3.15.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-07-02T12:12:37"},{"id":"linode/3.15.2-x86_64-linode43","label":"3.15.2-x86_64-linode43","version":"3.15.2","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-06-30T18:46:50"},{"id":"linode/3.14.5-x86_64-linode42","label":"3.14.5-x86_64-linode42","version":"3.14.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-06-05T20:05:44"},{"id":"linode/3.14.5-x86_64-linode41","label":"3.14.5-x86_64-linode41","version":"3.14.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-06-03T13:09:58"},{"id":"linode/3.14.4-x86_64-linode40","label":"3.14.4-x86_64-linode40","version":"3.14.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-05-13T17:42:22"},{"id":"linode/3.14.1-x86_64-linode39","label":"3.14.1-x86_64-linode39","version":"3.14.1","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-04-25T17:42:13"},{"id":"linode/3.13.7-x86_64-linode38","label":"3.13.7-x86_64-linode38","version":"3.13.7","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-03-25T18:21:50"},{"id":"linode/3.12.9-x86_64-linode37","label":"3.12.9-x86_64-linode37","version":"3.12.9","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2014-02-03T19:42:13"},{"id":"linode/3.12.6-x86_64-linode36","label":"3.12.6-x86_64-linode36","version":"3.12.6","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-12-23T16:24:18"},{"id":"linode/3.11.6-x86_64-linode35","label":"3.11.6-x86_64-linode35","version":"3.11.6","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-10-23T16:06:29"},{"id":"linode/3.10.3-x86_64-linode34","label":"3.10.3-x86_64-linode34","version":"3.10.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-07-26T16:35:12"},{"id":"linode/3.9.3-x86_64-linode33","label":"3.9.3-x86_64-linode33","version":"3.9.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-05-20T14:27:27"},{"id":"linode/3.9.2-x86_64-linode32","label":"3.9.2-x86_64-linode32","version":"3.9.2","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-05-14T15:53:02"},{"id":"linode/3.8.4-x86_64-linode31","label":"3.8.4-x86_64-linode31","version":"3.8.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-03-25T20:42:49"},{"id":"linode/3.7.10-x86_64-linode30","label":"3.7.10-x86_64-linode30","version":"3.7.10","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-02-27T19:49:45"},{"id":"linode/3.7.5-x86_64-linode29","label":"3.7.5-x86_64-linode29","version":"3.7.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2013-01-31T19:52:25"},{"id":"linode/3.6.5-x86_64-linode28","label":"3.6.5-x86_64-linode28","version":"3.6.5","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-11-04T17:42:14"},{"id":"linode/3.5.3-x86_64-linode27","label":"3.5.3-x86_64-linode27","version":"3.5.3","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-09-05T20:32:28"},{"id":"linode/3.4.2-x86_64-linode25","label":"3.4.2-x86_64-linode25","version":"3.2.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-06-11T18:40:20"},{"id":"linode/3.0.18-x86_64-linode24","label":"3.0.18-x86_64-linode24 ","version":"3.0.18","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-01-30T17:42:21"},{"id":"linode/3.2.1-x86_64-linode23","label":"3.2.1-x86_64-linode23","version":"3.2.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-01-23T16:04:48"},{"id":"linode/3.1.0-x86_64-linode22","label":"3.1.0-x86_64-linode22","version":"3.1.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-10-25T18:24:49"},{"id":"linode/3.0.4-x86_64-linode21","label":"3.0.4-x86_64-linode21","version":"3.0.4","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-09-02T01:08:55"},{"id":"linode/3.0.0-x86_64-linode20","label":"3.0.0-x86_64-linode20","version":"3.0.0","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-08-02T16:59:12"},{"id":"linode/2.6.39.1-x86_64-linode19","label":"2.6.39.1-x86_64-linode19","version":"2.6.39","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-06-21T14:06:03"},{"id":"linode/2.6.39-x86_64-linode18","label":"2.6.39-x86_64-linode18","version":"2.6.39","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-05-25T19:05:05"},{"id":"linode/2.6.38-x86_64-linode17","label":"2.6.38-x86_64-linode17","version":"2.6.38","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2011-03-21T21:44:09"},{"id":"linode/2.6.35.4-x86_64-linode16","label":"2.6.35.4-x86_64-linode16","version":"2.6.35","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-09-20T04:00:00"},{"id":"linode/2.6.32.12-x86_64-linode15","label":"2.6.32.12-x86_64-linode15","version":"2.6.32","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-07-25T21:34:00"},{"id":"linode/2.6.34-x86_64-linode13","label":"2.6.34-x86_64-linode13","version":"2.6.34","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-06-17T04:00:00"},{"id":"linode/2.6.34-x86_64-linode14","label":"2.6.34-x86_64-linode14","version":"2.6.34","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-07-14T04:00:00"},{"id":"linode/2.6.32.12-x86_64-linode12","label":"2.6.32.12-x86_64-linode12","version":"2.6.32","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2010-04-28T04:00:00"},{"id":"linode/2.6.32-x86_64-linode11","label":"2.6.32-x86_64-linode11","version":"2.6.32","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-12-05T17:01:00"},{"id":"linode/2.6.18.8-x86_64-linode10","label":"2.6.18.8-x86_64-linode10","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2009-11-10T16:53:00"},{"id":"linode/2.6.31.5-x86_64-linode9","label":"2.6.31.5-x86_64-linode9","version":"2.6.31","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-10-26T04:00:00"},{"id":"linode/2.6.30.5-x86_64-linode8","label":"2.6.30.5-x86_64-linode8","version":"2.6.30","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-08-17T04:00:00"},{"id":"linode/2.6.18.8-x86_64-linode7","label":"2.6.18.8-x86_64-linode7","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2009-08-14T04:00:00"},{"id":"linode/2.6.29-x86_64-linode6","label":"2.6.29-x86_64-linode6","version":"2.6.29","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-04-02T04:00:00"},{"id":"linode/2.6.28.3-x86_64-linode5","label":"2.6.28.3-x86_64-linode5","version":"2.6.28","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2009-02-04T05:00:00"},{"id":"linode/2.6.28-x86_64-linode4","label":"2.6.28-x86_64-linode4","version":"2.6.28","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2008-12-29T05:00:00"},{"id":"linode/2.6.27.4-x86_64-linode3","label":"2.6.27.4-x86_64-linode3","version":"2.6.27","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2008-11-05T05:00:00"},{"id":"linode/2.6.16.38-x86_64-linode2","label":"2.6.16.38-x86_64-linode2","version":"2.6.16","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2008-03-23T04:00:00"},{"id":"linode/2.6.18.8-x86_64-linode1","label":"2.6.18.8-x86_64-linode1","version":"2.6.18","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":true,"built":"2008-03-23T04:00:00"},{"id":"linode/3.5.2-x86_64-linode26","label":"3.5.2-x86_64-linode26","version":"3.5.2","kvm":false,"architecture":"x86_64","pvops":true,"deprecated":true,"built":"2012-08-15T18:38:16"},{"id":"linode/grub2","label":"GRUB 2","version":"2.06","kvm":true,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2022-08-29T14:28:00"},{"id":"linode/direct-disk","label":"Direct Disk","version":"","kvm":true,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2015-05-05T01:51:43"},{"id":"linode/grub-legacy","label":"GRUB (Legacy)","version":"2.0.0","kvm":true,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2015-04-29T15:32:30"},{"id":"linode/pv-grub_x86_32","label":"pv-grub-x86_32","version":"2.6.26","kvm":false,"architecture":"i386","pvops":false,"deprecated":false,"built":"2008-09-15T04:00:00"},{"id":"linode/pv-grub_x86_64","label":"pv-grub-x86_64","version":"2.6.26","kvm":false,"architecture":"x86_64","pvops":false,"deprecated":false,"built":"2008-11-14T05:00:00"}],"page":1,"pages":1,"results":322} \ No newline at end of file diff --git a/packages/manager/src/cachedData/regions.json b/packages/manager/src/cachedData/regions.json index fe51e16de98..061d255c8a1 100644 --- a/packages/manager/src/cachedData/regions.json +++ b/packages/manager/src/cachedData/regions.json @@ -1 +1 @@ -{"data":[{"id":"ap-west","label":"Mumbai, IN","country":"in","capabilities":["Linodes","NodeBalancers","Block Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5","ipv6":"2400:8904::f03c:91ff:fea5:659,2400:8904::f03c:91ff:fea5:9282,2400:8904::f03c:91ff:fea5:b9b3,2400:8904::f03c:91ff:fea5:925a,2400:8904::f03c:91ff:fea5:22cb,2400:8904::f03c:91ff:fea5:227a,2400:8904::f03c:91ff:fea5:924c,2400:8904::f03c:91ff:fea5:f7e2,2400:8904::f03c:91ff:fea5:2205,2400:8904::f03c:91ff:fea5:9207"}},{"id":"ca-central","label":"Toronto, CA","country":"ca","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5","ipv6":"2600:3c04::f03c:91ff:fea9:f63,2600:3c04::f03c:91ff:fea9:f6d,2600:3c04::f03c:91ff:fea9:f80,2600:3c04::f03c:91ff:fea9:f0f,2600:3c04::f03c:91ff:fea9:f99,2600:3c04::f03c:91ff:fea9:fbd,2600:3c04::f03c:91ff:fea9:fdd,2600:3c04::f03c:91ff:fea9:fe2,2600:3c04::f03c:91ff:fea9:f68,2600:3c04::f03c:91ff:fea9:f4a"}},{"id":"ap-southeast","label":"Sydney, AU","country":"au","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5","ipv6":"2400:8907::f03c:92ff:fe6e:ec8,2400:8907::f03c:92ff:fe6e:98e4,2400:8907::f03c:92ff:fe6e:1c58,2400:8907::f03c:92ff:fe6e:c299,2400:8907::f03c:92ff:fe6e:c210,2400:8907::f03c:92ff:fe6e:c219,2400:8907::f03c:92ff:fe6e:1c5c,2400:8907::f03c:92ff:fe6e:c24e,2400:8907::f03c:92ff:fe6e:e6b,2400:8907::f03c:92ff:fe6e:e3d"}},{"id":"us-central","label":"Dallas, TX","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5","ipv6":"2600:3c00::2,2600:3c00::9,2600:3c00::7,2600:3c00::5,2600:3c00::3,2600:3c00::8,2600:3c00::6,2600:3c00::4,2600:3c00::c,2600:3c00::b"}},{"id":"us-west","label":"Fremont, CA","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"173.230.145.5,173.230.147.5,173.230.155.5,173.255.212.5,173.255.219.5,173.255.241.5,173.255.243.5,173.255.244.5,74.207.241.5,74.207.242.5","ipv6":"2600:3c01::2,2600:3c01::9,2600:3c01::5,2600:3c01::7,2600:3c01::3,2600:3c01::8,2600:3c01::4,2600:3c01::b,2600:3c01::c,2600:3c01::6"}},{"id":"us-southeast","label":"Atlanta, GA","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5","ipv6":"2600:3c02::3,2600:3c02::5,2600:3c02::4,2600:3c02::6,2600:3c02::c,2600:3c02::7,2600:3c02::2,2600:3c02::9,2600:3c02::8,2600:3c02::b"}},{"id":"us-east","label":"Newark, NJ","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Bare Metal","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,207.192.69.4,207.192.69.5","ipv6":"2600:3c03::7,2600:3c03::4,2600:3c03::9,2600:3c03::6,2600:3c03::3,2600:3c03::c,2600:3c03::5,2600:3c03::b,2600:3c03::2,2600:3c03::8"}},{"id":"eu-west","label":"London, UK","country":"uk","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"178.79.182.5,176.58.107.5,176.58.116.5,176.58.121.5,151.236.220.5,212.71.252.5,212.71.253.5,109.74.192.20,109.74.193.20,109.74.194.20","ipv6":"2a01:7e00::9,2a01:7e00::3,2a01:7e00::c,2a01:7e00::5,2a01:7e00::6,2a01:7e00::8,2a01:7e00::b,2a01:7e00::4,2a01:7e00::7,2a01:7e00::2"}},{"id":"ap-south","label":"Singapore, SG","country":"sg","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20","ipv6":"2400:8901::5,2400:8901::4,2400:8901::b,2400:8901::3,2400:8901::9,2400:8901::2,2400:8901::8,2400:8901::7,2400:8901::c,2400:8901::6"}},{"id":"eu-central","label":"Frankfurt, DE","country":"de","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5","ipv6":"2a01:7e01::5,2a01:7e01::9,2a01:7e01::7,2a01:7e01::c,2a01:7e01::2,2a01:7e01::4,2a01:7e01::3,2a01:7e01::6,2a01:7e01::b,2a01:7e01::8"}},{"id":"ap-northeast","label":"Tokyo, JP","country":"jp","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5","ipv6":"2400:8902::3,2400:8902::6,2400:8902::c,2400:8902::4,2400:8902::2,2400:8902::8,2400:8902::7,2400:8902::5,2400:8902::b,2400:8902::9"}}],"page":1,"pages":1,"results":11} \ No newline at end of file +{"data":[{"id":"ap-west","label":"Mumbai, IN","country":"in","capabilities":["Linodes","NodeBalancers","Block Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"172.105.34.5,172.105.35.5,172.105.36.5,172.105.37.5,172.105.38.5,172.105.39.5,172.105.40.5,172.105.41.5,172.105.42.5,172.105.43.5","ipv6":"2400:8904::f03c:91ff:fea5:659,2400:8904::f03c:91ff:fea5:9282,2400:8904::f03c:91ff:fea5:b9b3,2400:8904::f03c:91ff:fea5:925a,2400:8904::f03c:91ff:fea5:22cb,2400:8904::f03c:91ff:fea5:227a,2400:8904::f03c:91ff:fea5:924c,2400:8904::f03c:91ff:fea5:f7e2,2400:8904::f03c:91ff:fea5:2205,2400:8904::f03c:91ff:fea5:9207"}},{"id":"ca-central","label":"Toronto, CA","country":"ca","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"172.105.0.5,172.105.3.5,172.105.4.5,172.105.5.5,172.105.6.5,172.105.7.5,172.105.8.5,172.105.9.5,172.105.10.5,172.105.11.5","ipv6":"2600:3c04::f03c:91ff:fea9:f63,2600:3c04::f03c:91ff:fea9:f6d,2600:3c04::f03c:91ff:fea9:f80,2600:3c04::f03c:91ff:fea9:f0f,2600:3c04::f03c:91ff:fea9:f99,2600:3c04::f03c:91ff:fea9:fbd,2600:3c04::f03c:91ff:fea9:fdd,2600:3c04::f03c:91ff:fea9:fe2,2600:3c04::f03c:91ff:fea9:f68,2600:3c04::f03c:91ff:fea9:f4a"}},{"id":"ap-southeast","label":"Sydney, AU","country":"au","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"172.105.166.5,172.105.169.5,172.105.168.5,172.105.172.5,172.105.162.5,172.105.170.5,172.105.167.5,172.105.171.5,172.105.181.5,172.105.161.5","ipv6":"2400:8907::f03c:92ff:fe6e:ec8,2400:8907::f03c:92ff:fe6e:98e4,2400:8907::f03c:92ff:fe6e:1c58,2400:8907::f03c:92ff:fe6e:c299,2400:8907::f03c:92ff:fe6e:c210,2400:8907::f03c:92ff:fe6e:c219,2400:8907::f03c:92ff:fe6e:1c5c,2400:8907::f03c:92ff:fe6e:c24e,2400:8907::f03c:92ff:fe6e:e6b,2400:8907::f03c:92ff:fe6e:e3d"}},{"id":"us-central","label":"Dallas, TX","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"72.14.179.5,72.14.188.5,173.255.199.5,66.228.53.5,96.126.122.5,96.126.124.5,96.126.127.5,198.58.107.5,198.58.111.5,23.239.24.5","ipv6":"2600:3c00::2,2600:3c00::9,2600:3c00::7,2600:3c00::5,2600:3c00::3,2600:3c00::8,2600:3c00::6,2600:3c00::4,2600:3c00::c,2600:3c00::b"}},{"id":"us-west","label":"Fremont, CA","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"173.230.145.5,173.230.147.5,173.230.155.5,173.255.212.5,173.255.219.5,173.255.241.5,173.255.243.5,173.255.244.5,74.207.241.5,74.207.242.5","ipv6":"2600:3c01::2,2600:3c01::9,2600:3c01::5,2600:3c01::7,2600:3c01::3,2600:3c01::8,2600:3c01::4,2600:3c01::b,2600:3c01::c,2600:3c01::6"}},{"id":"us-southeast","label":"Atlanta, GA","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"74.207.231.5,173.230.128.5,173.230.129.5,173.230.136.5,173.230.140.5,66.228.59.5,66.228.62.5,50.116.35.5,50.116.41.5,23.239.18.5","ipv6":"2600:3c02::3,2600:3c02::5,2600:3c02::4,2600:3c02::6,2600:3c02::c,2600:3c02::7,2600:3c02::2,2600:3c02::9,2600:3c02::8,2600:3c02::b"}},{"id":"us-east","label":"Newark, NJ","country":"us","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Bare Metal","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"66.228.42.5,96.126.106.5,50.116.53.5,50.116.58.5,50.116.61.5,50.116.62.5,66.175.211.5,97.107.133.4,207.192.69.4,207.192.69.5","ipv6":"2600:3c03::7,2600:3c03::4,2600:3c03::9,2600:3c03::6,2600:3c03::3,2600:3c03::c,2600:3c03::5,2600:3c03::b,2600:3c03::2,2600:3c03::8"}},{"id":"eu-west","label":"London, UK","country":"uk","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases", "Metadata"],"status":"ok","resolvers":{"ipv4":"178.79.182.5,176.58.107.5,176.58.116.5,176.58.121.5,151.236.220.5,212.71.252.5,212.71.253.5,109.74.192.20,109.74.193.20,109.74.194.20","ipv6":"2a01:7e00::9,2a01:7e00::3,2a01:7e00::c,2a01:7e00::5,2a01:7e00::6,2a01:7e00::8,2a01:7e00::b,2a01:7e00::4,2a01:7e00::7,2a01:7e00::2"}},{"id":"ap-south","label":"Singapore, SG","country":"sg","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"139.162.11.5,139.162.13.5,139.162.14.5,139.162.15.5,139.162.16.5,139.162.21.5,139.162.27.5,103.3.60.18,103.3.60.19,103.3.60.20","ipv6":"2400:8901::5,2400:8901::4,2400:8901::b,2400:8901::3,2400:8901::9,2400:8901::2,2400:8901::8,2400:8901::7,2400:8901::c,2400:8901::6"}},{"id":"eu-central","label":"Frankfurt, DE","country":"de","capabilities":["Linodes","NodeBalancers","Block Storage","Object Storage","GPU Linodes","Kubernetes","Cloud Firewall","Vlans","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"139.162.130.5,139.162.131.5,139.162.132.5,139.162.133.5,139.162.134.5,139.162.135.5,139.162.136.5,139.162.137.5,139.162.138.5,139.162.139.5","ipv6":"2a01:7e01::5,2a01:7e01::9,2a01:7e01::7,2a01:7e01::c,2a01:7e01::2,2a01:7e01::4,2a01:7e01::3,2a01:7e01::6,2a01:7e01::b,2a01:7e01::8"}},{"id":"ap-northeast","label":"Tokyo, JP","country":"jp","capabilities":["Linodes","NodeBalancers","Block Storage","Kubernetes","Cloud Firewall","Block Storage Migrations","Managed Databases"],"status":"ok","resolvers":{"ipv4":"139.162.66.5,139.162.67.5,139.162.68.5,139.162.69.5,139.162.70.5,139.162.71.5,139.162.72.5,139.162.73.5,139.162.74.5,139.162.75.5","ipv6":"2400:8902::3,2400:8902::6,2400:8902::c,2400:8902::4,2400:8902::2,2400:8902::8,2400:8902::7,2400:8902::5,2400:8902::b,2400:8902::9"}}],"page":1,"pages":1,"results":11} \ No newline at end of file diff --git a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx index a62397ace9b..5a041f91eda 100644 --- a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx +++ b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx @@ -109,7 +109,7 @@ export const TypeToConfirmDialog = (props: CombinedProps) => { label={label} confirmationText={ entity.subType === 'CloseAccount' ? ( - '' + confirmText ) : ( To confirm {entity.action}, {typeInstructions}( diff --git a/packages/manager/src/features/Account/CloseAccountDialog.tsx b/packages/manager/src/features/Account/CloseAccountDialog.tsx index 04aaa6a24fe..3ce2bced695 100644 --- a/packages/manager/src/features/Account/CloseAccountDialog.tsx +++ b/packages/manager/src/features/Account/CloseAccountDialog.tsx @@ -102,7 +102,6 @@ const CloseAccountDialog = ({ closeDialog, open }: Props) => { type: 'AccountSetting', subType: 'CloseAccount', primaryBtnText: 'Close Account', - name: profile.username, }} open={open} onClose={closeDialog} diff --git a/yarn.lock b/yarn.lock index 87c074ad151..3c8c8163df3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5480,6 +5480,13 @@ brace-expansion@^1.1.7: balanced-match "^1.0.0" concat-map "0.0.1" +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + braces@^2.3.1: version "2.3.2" resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" @@ -6970,6 +6977,13 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +encoding@^0.1.11: + version "0.1.13" + resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -8380,13 +8394,20 @@ github-slugger@^1.0.0: resolved "https://registry.yarnpkg.com/github-slugger/-/github-slugger-1.5.0.tgz#17891bbc73232051474d68bd867a34625c955f7d" integrity sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw== -glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@^6.0.2, glob-parent@~5.1.2: +glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2: version "5.1.2" resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== dependencies: is-glob "^4.0.1" +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + glob-promise@^4.2.0: version "4.2.2" resolved "https://registry.yarnpkg.com/glob-promise/-/glob-promise-4.2.2.tgz#15f44bcba0e14219cd93af36da6bb905ff007877" @@ -8690,12 +8711,10 @@ hoist-non-react-statics@^3.1.0, hoist-non-react-statics@^3.3.0, hoist-non-react- dependencies: react-is "^16.7.0" -hosted-git-info@^2.1.4, hosted-git-info@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-5.2.1.tgz#0ba1c97178ef91f3ab30842ae63d6a272341156f" - integrity sha512-xIcQYMnhcx2Nr4JTjsFmwwnr9vldugPy9uVm0o87bjqqWMv9GaqsTeT+i99wTl0mk1uLxJtHxLb8kymqTENQsw== - dependencies: - lru-cache "^7.5.1" +hosted-git-info@^2.1.4: + version "2.8.9" + resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" + integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== html-element-map@^1.2.0: version "1.3.1" @@ -8839,6 +8858,13 @@ iconv-lite@0.4.24, iconv-lite@^0.4.24: dependencies: safer-buffer ">= 2.1.2 < 3" +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + ieee754@^1.1.13: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -9044,16 +9070,16 @@ is-boolean-object@^1.0.1, is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" +is-buffer@^1.1.5, is-buffer@~1.1.6: + version "1.1.6" + resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" + integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== + is-buffer@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== -is-buffer@~1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.1.5, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" @@ -9185,7 +9211,7 @@ is-generator-function@^1.0.7: dependencies: has-tostringtag "^1.0.0" -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1: +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: version "4.0.3" resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== @@ -9304,7 +9330,7 @@ is-shared-array-buffer@^1.0.2: dependencies: call-bind "^1.0.2" -is-stream@^1.1.0: +is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== @@ -10285,7 +10311,26 @@ jss@10.10.0, jss@^10.10.0: array-includes "^3.1.5" object.assign "^4.1.3" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0, kind-of@^4.0.0, kind-of@^5.0.0, kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: + version "3.2.2" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" + integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== + dependencies: + is-buffer "^1.1.5" + +kind-of@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" + integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== + dependencies: + is-buffer "^1.1.5" + +kind-of@^5.0.0: + version "5.1.0" + resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" + integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== + +kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -10602,11 +10647,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lru-cache@^7.5.1: - version "7.18.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - luxon@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/luxon/-/luxon-3.2.1.tgz#14f1af209188ad61212578ea7e3d518d18cee45f" @@ -10860,14 +10900,21 @@ mini-create-react-context@^0.3.0: "@babel/runtime" "^7.12.1" tiny-warning "^1.0.3" -minimatch@3.1.2, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2, minimatch@^5.0.1: +minimatch@3.1.2, minimatch@^3.0.2, minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== dependencies: brace-expansion "^1.1.7" -minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.6.tgz#1cfcb8cf5522ea69952cd2af95ae09477f122a96" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6, minimist@^1.2.8: version "1.2.8" resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== @@ -11064,7 +11111,15 @@ node-fetch-native@^1.0.2: resolved "https://registry.yarnpkg.com/node-fetch-native/-/node-fetch-native-1.0.2.tgz#de3651399fda89a1a7c0bf6e7c4e9c239e8d0697" integrity sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ== -node-fetch@^1.0.1, node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: +node-fetch@^1.0.1: + version "1.7.3" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" + integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== + dependencies: + encoding "^0.1.11" + is-stream "^1.0.1" + +node-fetch@^2.6.0, node-fetch@^2.6.1, node-fetch@^2.6.7: version "2.6.9" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== @@ -12873,7 +12928,7 @@ safe-regex@^1.1.0: dependencies: ret "~0.1.10" -"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: +"safer-buffer@>= 2.1.2 < 3", "safer-buffer@>= 2.1.2 < 3.0.0", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: version "2.1.2" resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== @@ -14134,7 +14189,7 @@ typescript@^4.9.5: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== -ua-parser-js@^0.7.30, ua-parser-js@^0.7.33: +ua-parser-js@^0.7.30: version "0.7.35" resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.35.tgz#8bda4827be4f0b1dda91699a29499575a1f1d307" integrity sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g== @@ -14778,12 +14833,25 @@ yallist@^4.0.0: resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== -yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2, yaml@^2.2.2, yaml@^2.3.0: +yaml@^1.10.0, yaml@^1.10.2, yaml@^1.7.2: + version "1.10.2" + resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b" + integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg== + +yaml@^2.2.2: version "2.3.1" resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.1.tgz#02fe0975d23cd441242aa7204e09fc28ac2ac33b" integrity sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ== -yargs-parser@^11.1.1, yargs-parser@^18.1.2, yargs-parser@^18.1.3, yargs-parser@^20.2.2, yargs-parser@^20.2.9: +yargs-parser@^11.1.1: + version "11.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" + integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== + dependencies: + camelcase "^5.0.0" + decamelize "^1.2.0" + +yargs-parser@^18.1.2: version "18.1.3" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-18.1.3.tgz#be68c4975c6b2abf469236b0c870362fab09a7b0" integrity sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ== @@ -14791,6 +14859,11 @@ yargs-parser@^11.1.1, yargs-parser@^18.1.2, yargs-parser@^18.1.3, yargs-parser@^ camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^20.2.2, yargs-parser@^20.2.9: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + yargs@^12.0.5: version "12.0.5" resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" From 85f0cf521ede7f37d37f4c38d2e15da56bec1e57 Mon Sep 17 00:00:00 2001 From: ecarrill Date: Thu, 29 Jun 2023 09:25:35 -0700 Subject: [PATCH 51/88] Add changes after revert of yarn.lock, cachedData --- .../src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx | 2 +- packages/manager/src/features/Account/CloseAccountDialog.tsx | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx index 5a041f91eda..a62397ace9b 100644 --- a/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx +++ b/packages/manager/src/components/TypeToConfirmDialog/TypeToConfirmDialog.tsx @@ -109,7 +109,7 @@ export const TypeToConfirmDialog = (props: CombinedProps) => { label={label} confirmationText={ entity.subType === 'CloseAccount' ? ( - confirmText + '' ) : ( To confirm {entity.action}, {typeInstructions}( diff --git a/packages/manager/src/features/Account/CloseAccountDialog.tsx b/packages/manager/src/features/Account/CloseAccountDialog.tsx index 3ce2bced695..04aaa6a24fe 100644 --- a/packages/manager/src/features/Account/CloseAccountDialog.tsx +++ b/packages/manager/src/features/Account/CloseAccountDialog.tsx @@ -102,6 +102,7 @@ const CloseAccountDialog = ({ closeDialog, open }: Props) => { type: 'AccountSetting', subType: 'CloseAccount', primaryBtnText: 'Close Account', + name: profile.username, }} open={open} onClose={closeDialog} From a83ec7afb9c8ae229c6e0cc84d50c70252039208 Mon Sep 17 00:00:00 2001 From: Alban Bailly <130582365+abailly-akamai@users.noreply.github.com> Date: Thu, 29 Jun 2023 13:29:10 -0400 Subject: [PATCH 52/88] Refactor: [M3-6522] - Update Link component export and improve Storybook story (#9313) * Refactor: [M3-6522-link] Initial commit: remoce default export and new story * Refactor: [M3-6522-link] argsTypes * Refactor: [M3-6522-link] More Documntation * Added changeset: Link component: remove default export and improved storybook story * Refactor: [M3-6522-link] Actualy remove old mdx story * Refactor: [M3-6522-link] feedback * Refactor: [M3-6522-link] post rebase fix * Refactor: [M3-6522-link] feedback 2 * Refactor: [M3-6522-link] fix bad rebase --- .../pr-9313-tech-stories-1687805591350.md | 5 + .../components/BackupStatus/BackupStatus.tsx | 2 +- .../DismissibleBanner.stories.mdx | 63 ++++++------ .../ResourcesLinks.tsx | 2 +- .../ResourcesMoreLink.tsx | 2 +- .../EntityHeader/EntityHeader.stories.tsx | 8 +- .../manager/src/components/Link.stories.mdx | 61 ------------ .../manager/src/components/Link.stories.tsx | 97 +++++++++++++++++++ packages/manager/src/components/Link.tsx | 11 ++- .../src/components/MaintenanceScreen.tsx | 10 +- packages/manager/src/components/Tile/Tile.tsx | 4 +- .../TransferDisplay/TransferDisplay.tsx | 2 +- .../TypeToConfirm/TypeToConfirm.tsx | 2 +- .../manager/src/eventMessageGenerator_CMR.tsx | 2 +- .../Account/AccountLoginsTableRow.tsx | 2 +- .../Agreements/EUAgreementCheckbox.tsx | 4 +- .../Maintenance/MaintenanceTableRow.tsx | 2 +- .../src/features/Backups/BackupDrawer.tsx | 2 +- .../BillingActivityPanel.tsx | 2 +- .../Billing/InvoiceDetail/InvoiceDetail.tsx | 2 +- .../DatabaseCreate/DatabaseCreate.tsx | 2 +- .../src/features/Domains/DomainBanner.tsx | 2 +- .../Devices/AddDeviceDrawer.tsx | 2 +- .../APIMaintenanceBanner.tsx | 2 +- .../TaxCollectionBanner.tsx | 2 +- .../src/features/Help/StatusBanners.tsx | 2 +- .../src/features/Images/ImageUpload.tsx | 2 +- .../Images/ImagesCreate/CreateImageTab.tsx | 2 +- .../Kubernetes/KubeCheckoutBar/HACheckbox.tsx | 2 +- .../NodePoolsDisplay/AutoscalePoolDialog.tsx | 2 +- .../UserDataAccordion/UserDataAccordion.tsx | 2 +- .../UserDataAccordionHeading.tsx | 2 +- .../LinodeNetworking/AddIPDrawer.tsx | 2 +- .../LinodeNetworking/IPSharing.tsx | 2 +- .../LinodeRescue/RescueDescription.tsx | 2 +- .../Linodes/LinodesLanding/AppsSection.tsx | 2 +- .../LongviewLanding/LongviewClientHeader.tsx | 2 +- .../NodeBalancers/NodeBalancerConfigPanel.tsx | 2 +- .../NodeBalancersLandingEmptyState.tsx | 2 +- .../AuthenticationSettings.tsx | 2 +- .../AuthenticationSettings/TPAProviders.tsx | 2 +- .../DisplaySettings/DisplaySettings.tsx | 2 +- .../features/Profile/Referrals/Referrals.tsx | 2 +- .../Profile/SSHKeys/CreateSSHKeyDrawer.tsx | 2 +- .../Profile/Settings/PreferenceEditor.tsx | 2 +- .../ToastNotifications/ToastNotifications.tsx | 2 +- .../src/features/TopMenu/Community.tsx | 2 +- .../manager/src/features/TopMenu/Help.tsx | 2 +- .../features/Volumes/UpgradeVolumeDialog.tsx | 2 +- 49 files changed, 189 insertions(+), 154 deletions(-) create mode 100644 packages/manager/.changeset/pr-9313-tech-stories-1687805591350.md delete mode 100644 packages/manager/src/components/Link.stories.mdx create mode 100644 packages/manager/src/components/Link.stories.tsx diff --git a/packages/manager/.changeset/pr-9313-tech-stories-1687805591350.md b/packages/manager/.changeset/pr-9313-tech-stories-1687805591350.md new file mode 100644 index 00000000000..95dc53ae9fe --- /dev/null +++ b/packages/manager/.changeset/pr-9313-tech-stories-1687805591350.md @@ -0,0 +1,5 @@ +--- +"@linode/manager": Tech Stories +--- + +Link component: remove default export and improved storybook story ([#9313](https://github.com/linode/manager/pull/9313)) diff --git a/packages/manager/src/components/BackupStatus/BackupStatus.tsx b/packages/manager/src/components/BackupStatus/BackupStatus.tsx index 2163e259620..0038e581be6 100644 --- a/packages/manager/src/components/BackupStatus/BackupStatus.tsx +++ b/packages/manager/src/components/BackupStatus/BackupStatus.tsx @@ -5,7 +5,7 @@ import { Link as RouterLink } from 'react-router-dom'; import Tooltip from 'src/components/core/Tooltip'; import { Typography } from 'src/components/Typography'; import { DateTimeDisplay } from 'src/components/DateTimeDisplay'; -import Link from 'src/components/Link'; +import { Link } from 'src/components/Link'; import { TooltipIcon } from 'src/components/TooltipIcon/TooltipIcon'; import { makeStyles } from 'tss-react/mui'; diff --git a/packages/manager/src/components/DismissibleBanner/DismissibleBanner.stories.mdx b/packages/manager/src/components/DismissibleBanner/DismissibleBanner.stories.mdx index da6658f9bb8..6a29c6f7ef5 100644 --- a/packages/manager/src/components/DismissibleBanner/DismissibleBanner.stories.mdx +++ b/packages/manager/src/components/DismissibleBanner/DismissibleBanner.stories.mdx @@ -2,7 +2,7 @@ import { ArgsTable, Canvas, Meta, Story } from '@storybook/addon-docs'; import { Button } from 'src/components/Button/Button'; import DismissibleBanner from './DismissibleBanner'; import Grid from '@mui/material/Unstable_Grid2'; -import Link from 'src/components/Link'; +import { Link } from 'src/components/Link'; import { Typography } from 'src/components/Typography'; { return ( - + This is an example of a dismissible banner. ); @@ -42,10 +40,7 @@ export const DismissibleBannerTemplate = (args) => { export const CallToActionBanner = () => { return ( - + { justifyContent="space-between" > - - A new version of Kubernetes is available. - + A new version of Kubernetes is available.