From 35ab5081098bb35c6484fe8408aa3bcfc8c41bb4 Mon Sep 17 00:00:00 2001 From: Alex <33497058+bexsoft@users.noreply.github.com> Date: Mon, 9 Jan 2023 16:35:46 -0600 Subject: [PATCH] Updated mds to v0.1.0 (#2563) - Removed icons from console - Replaced all icons & loaders in console with mds ones - Renamed caret icons - Removed unused icons - Replaced colored icons in object browser Signed-off-by: Benjamin Perez --- portal-ui/package.json | 2 +- portal-ui/src/common/BackLink.tsx | 2 +- portal-ui/src/common/LoadingComponent.tsx | 2 +- portal-ui/src/icons/AGPLV3DarkLogo.tsx | 45 --- portal-ui/src/icons/AGPLV3LightLogo.tsx | 36 -- portal-ui/src/icons/AGPLV3Logo.tsx | 49 --- portal-ui/src/icons/AccountIcon.tsx | 46 --- portal-ui/src/icons/AddAccessRuleIcon.tsx | 62 --- portal-ui/src/icons/AddFolderIcon.tsx | 48 --- portal-ui/src/icons/AddIcon.tsx | 44 --- portal-ui/src/icons/AddMembersToGroupIcon.tsx | 78 ---- portal-ui/src/icons/AddNewTagIcon.tsx | 45 --- portal-ui/src/icons/AlertCloseIcon.tsx | 68 ---- portal-ui/src/icons/AlertIcon.tsx | 32 -- portal-ui/src/icons/AllBucketsIcon.tsx | 44 --- portal-ui/src/icons/ArrowIcon.tsx | 45 --- portal-ui/src/icons/ArrowRightIcon.tsx | 45 --- portal-ui/src/icons/ArrowRightLink.tsx | 37 -- portal-ui/src/icons/AzureTierIcon.tsx | 42 -- portal-ui/src/icons/AzureTierIconXs.tsx | 41 -- portal-ui/src/icons/BackCaretIcon.tsx | 40 -- portal-ui/src/icons/BackIcon.tsx | 44 --- portal-ui/src/icons/BackSettingsIcon.tsx | 44 --- portal-ui/src/icons/BoxArrowDown.tsx | 53 --- portal-ui/src/icons/BoxArrowUp.tsx | 57 --- portal-ui/src/icons/BucketEncryptionIcon.tsx | 77 ---- portal-ui/src/icons/BucketQuotaIcon.tsx | 68 ---- portal-ui/src/icons/BucketReplicationIcon.tsx | 88 ----- portal-ui/src/icons/BucketsIcon.tsx | 39 -- portal-ui/src/icons/CalendarIcon.tsx | 82 ---- portal-ui/src/icons/CallHomeFeatureIcon.tsx | 98 ----- portal-ui/src/icons/CancelledIcon.tsx | 32 -- portal-ui/src/icons/CertificateIcon.tsx | 57 --- .../src/icons/ChangeAccessPolicyIcon.tsx | 71 ---- portal-ui/src/icons/ChangePasswordIcon.tsx | 106 ----- portal-ui/src/icons/CircleIcon.tsx | 41 -- portal-ui/src/icons/ClosePanelIcon.tsx | 45 --- portal-ui/src/icons/ClustersIcon.tsx | 44 --- portal-ui/src/icons/CollapseIcon.tsx | 45 --- portal-ui/src/icons/ComputerLineIcon.tsx | 46 --- .../src/icons/ConfigurationsListIcon.tsx | 44 --- portal-ui/src/icons/ConfirmDeleteIcon.tsx | 68 ---- portal-ui/src/icons/ConfirmModalIcon.tsx | 61 --- portal-ui/src/icons/ConsoleAgpl.tsx | 53 --- portal-ui/src/icons/ConsoleEnterprise.tsx | 44 --- portal-ui/src/icons/ConsoleIcon.tsx | 56 --- portal-ui/src/icons/ConsoleLogo.tsx | 36 -- portal-ui/src/icons/ConsoleStandard.tsx | 44 --- portal-ui/src/icons/CopyIcon.tsx | 44 --- portal-ui/src/icons/CreateGroupIcon.tsx | 106 ----- portal-ui/src/icons/CreateIcon.tsx | 44 --- portal-ui/src/icons/CreateNewPathIcon.tsx | 103 ----- portal-ui/src/icons/CreateUserIcon.tsx | 78 ---- portal-ui/src/icons/DashboardIcon.tsx | 44 --- portal-ui/src/icons/DeleteIcon.tsx | 42 -- portal-ui/src/icons/DeleteNonCurrentIcon.tsx | 33 -- .../src/icons/DiagnosticsFeatureIcon.tsx | 63 --- portal-ui/src/icons/DiagnosticsIcon.tsx | 45 --- portal-ui/src/icons/DirectPVLogo.tsx | 56 --- portal-ui/src/icons/DisabledIcon.tsx | 39 -- portal-ui/src/icons/DocumentationIcon.tsx | 46 --- portal-ui/src/icons/DownloadIcon.tsx | 46 --- portal-ui/src/icons/DownloadStatIcon.tsx | 32 -- portal-ui/src/icons/DriveFormatErrorsIcon.tsx | 114 ------ portal-ui/src/icons/DrivesIcon.tsx | 56 --- portal-ui/src/icons/EditIcon.tsx | 44 --- portal-ui/src/icons/EditTagIcon.tsx | 42 -- portal-ui/src/icons/EditTenantIcon.tsx | 35 -- portal-ui/src/icons/EditYamlIcon.tsx | 71 ---- portal-ui/src/icons/EditorThemeSwitchIcon.tsx | 39 -- portal-ui/src/icons/EgressIcon.tsx | 44 --- portal-ui/src/icons/EnabledIcon.tsx | 35 -- portal-ui/src/icons/EnterpriseLightLogo.tsx | 36 -- portal-ui/src/icons/EventSubscriptionIcon.tsx | 70 ---- portal-ui/src/icons/ExtraFeaturesIcon.tsx | 48 --- portal-ui/src/icons/FileBookIcon.tsx | 48 --- portal-ui/src/icons/FileCloudIcon.tsx | 48 --- portal-ui/src/icons/FileCodeIcon.tsx | 56 --- portal-ui/src/icons/FileConfigIcon.tsx | 52 --- portal-ui/src/icons/FileDbIcon.tsx | 56 --- portal-ui/src/icons/FileFontIcon.tsx | 48 --- portal-ui/src/icons/FileImageIcon.tsx | 48 --- portal-ui/src/icons/FileLinkIcon.tsx | 54 --- portal-ui/src/icons/FileLockIcon.tsx | 52 --- portal-ui/src/icons/FileMissingIcon.tsx | 56 --- portal-ui/src/icons/FileMusicIcon.tsx | 50 --- portal-ui/src/icons/FilePdfIcon.tsx | 48 --- portal-ui/src/icons/FilePptIcon.tsx | 52 --- portal-ui/src/icons/FileTxtIcon.tsx | 64 --- portal-ui/src/icons/FileVideoIcon.tsx | 48 --- portal-ui/src/icons/FileWorldIcon.tsx | 48 --- portal-ui/src/icons/FileXlsIcon.tsx | 48 --- portal-ui/src/icons/FileZipIcon.tsx | 57 --- portal-ui/src/icons/FilterIcon.tsx | 141 ------- portal-ui/src/icons/FolderIcon.tsx | 39 -- portal-ui/src/icons/FormatDrivesIcon.tsx | 87 ----- portal-ui/src/icons/GithubIcon.tsx | 36 -- portal-ui/src/icons/GoogleTierIcon.tsx | 61 --- portal-ui/src/icons/GoogleTierIconXs.tsx | 62 --- portal-ui/src/icons/GroupsIcon.tsx | 46 --- portal-ui/src/icons/HardBucketQuotaIcon.tsx | 76 ---- portal-ui/src/icons/HealIcon.tsx | 49 --- portal-ui/src/icons/HelpIcon.tsx | 44 --- portal-ui/src/icons/HelpIconFilled.tsx | 57 --- portal-ui/src/icons/HideTextIcon.tsx | 54 --- portal-ui/src/icons/HistoryIcon.tsx | 47 --- portal-ui/src/icons/IAMPoliciesIcon.tsx | 66 ---- portal-ui/src/icons/InfoIcon.tsx | 32 -- portal-ui/src/icons/JSONIcon.tsx | 48 --- portal-ui/src/icons/LDAPIcon.tsx | 81 ---- portal-ui/src/icons/LambdaBalloonIcon.tsx | 40 -- portal-ui/src/icons/LambdaIcon.tsx | 46 --- .../src/icons/LambdaNotificationsIcon.tsx | 36 -- portal-ui/src/icons/LegalHoldIcon.tsx | 35 -- portal-ui/src/icons/LicenseDocIcon.tsx | 54 --- portal-ui/src/icons/LicenseIcon.tsx | 44 --- portal-ui/src/icons/LifecycleConfigIcon.tsx | 60 --- portal-ui/src/icons/LinkIcon.tsx | 32 -- portal-ui/src/icons/LockFilledIcon.tsx | 37 -- portal-ui/src/icons/LockIcon.tsx | 48 --- portal-ui/src/icons/LoginMinIOLogo.tsx | 38 -- portal-ui/src/icons/LogoutIcon.tsx | 53 --- portal-ui/src/icons/LogsIcon.tsx | 54 --- portal-ui/src/icons/MenuToggleIcon.tsx | 38 -- portal-ui/src/icons/MetadataIcon.tsx | 39 -- portal-ui/src/icons/MinIOTierIcon.tsx | 38 -- portal-ui/src/icons/MinIOTierIconXs.tsx | 37 -- portal-ui/src/icons/MirroringIcon.tsx | 44 --- portal-ui/src/icons/MultipleBucketsIcon.tsx | 49 --- portal-ui/src/icons/NetworkGetIcon.tsx | 36 -- portal-ui/src/icons/NetworkPutIcon.tsx | 33 -- portal-ui/src/icons/NewAccountIcon.tsx | 76 ---- portal-ui/src/icons/NewPathIcon.tsx | 53 --- portal-ui/src/icons/NewPoolIcon.tsx | 85 ---- portal-ui/src/icons/NextArrowIcon.tsx | 47 --- portal-ui/src/icons/OIDCIcon.tsx | 58 --- portal-ui/src/icons/ObjectBrowser1Icon.tsx | 70 ---- .../src/icons/ObjectBrowserFolderIcon.tsx | 68 ---- portal-ui/src/icons/ObjectBrowserIcon.tsx | 46 --- portal-ui/src/icons/ObjectInfoIcon.tsx | 35 -- portal-ui/src/icons/ObjectManagerIcon.tsx | 52 --- portal-ui/src/icons/ObjectPreviewIcon.tsx | 83 ---- .../src/icons/OfflineRegistrationBackIcon.tsx | 30 -- .../src/icons/OfflineRegistrationIcon.tsx | 69 ---- .../src/icons/OnlineRegistrationBackIcon.tsx | 86 ----- .../src/icons/OnlineRegistrationIcon.tsx | 108 ------ portal-ui/src/icons/OpenListIcon.tsx | 46 --- portal-ui/src/icons/OpenSourceIcon.tsx | 36 -- portal-ui/src/icons/OperatorLogo.tsx | 40 -- portal-ui/src/icons/PasswordKeyIcon.tsx | 36 -- .../src/icons/PerformanceFeatureIcon.tsx | 89 ----- portal-ui/src/icons/PermissionIcon.tsx | 44 --- portal-ui/src/icons/PreviewIcon.tsx | 50 --- portal-ui/src/icons/PrometheusErrorIcon.tsx | 69 ---- portal-ui/src/icons/PrometheusIcon.tsx | 43 --- portal-ui/src/icons/RecoverIcon.tsx | 36 -- portal-ui/src/icons/RedoIcon.tsx | 44 --- portal-ui/src/icons/RefreshIcon.tsx | 44 --- portal-ui/src/icons/RemoveAllIcon.tsx | 37 -- portal-ui/src/icons/RemoveIcon.tsx | 44 --- portal-ui/src/icons/ReportedUsageFullIcon.tsx | 72 ---- portal-ui/src/icons/ReportedUsageIcon.tsx | 44 --- portal-ui/src/icons/RetentionIcon.tsx | 39 -- portal-ui/src/icons/S3TierIcon.tsx | 116 ------ portal-ui/src/icons/S3TierIconXs.tsx | 111 ------ portal-ui/src/icons/SearchIcon.tsx | 46 --- portal-ui/src/icons/SelectAllIcon.tsx | 55 --- portal-ui/src/icons/SelectMultipleIcon.tsx | 41 -- portal-ui/src/icons/ServersIcon.tsx | 60 --- .../icons/ServiceAccountCredentialsIcon.tsx | 79 ---- portal-ui/src/icons/ServiceAccountIcon.tsx | 44 --- portal-ui/src/icons/ServiceAccountsIcon.tsx | 43 --- portal-ui/src/icons/SettingsIcon.tsx | 50 --- portal-ui/src/icons/ShareIcon.tsx | 50 --- portal-ui/src/icons/ShowTextIcon.tsx | 52 --- .../src/icons/SidebarMenus/AccessMenuIcon.tsx | 53 --- .../icons/SidebarMenus/AccountsMenuIcon.tsx | 46 --- .../icons/SidebarMenus/AuditLogsMenuIcon.tsx | 65 ---- .../icons/SidebarMenus/BucketsMenuIcon.tsx | 79 ---- .../icons/SidebarMenus/CallHomeMenuIcon.tsx | 38 -- .../SidebarMenus/DiagnosticsMenuIcon.tsx | 47 --- .../src/icons/SidebarMenus/DrivesMenuIcon.tsx | 65 ---- .../src/icons/SidebarMenus/GroupsMenuIcon.tsx | 83 ---- .../src/icons/SidebarMenus/HealthMenuIcon.tsx | 39 -- .../icons/SidebarMenus/IdentityMenuIcon.tsx | 39 -- .../icons/SidebarMenus/InspectMenuIcon.tsx | 36 -- .../src/icons/SidebarMenus/LogsMenuIcon.tsx | 63 --- .../icons/SidebarMenus/MenuCollapsedIcon.tsx | 64 --- .../icons/SidebarMenus/MenuExpandedIcon.tsx | 61 --- .../icons/SidebarMenus/MetricsMenuIcon.tsx | 57 --- .../icons/SidebarMenus/MonitoringMenuIcon.tsx | 58 --- .../SidebarMenus/PerformanceMenuIcon.tsx | 58 --- .../icons/SidebarMenus/ProfileMenuIcon.tsx | 65 ---- .../icons/SidebarMenus/RegisterMenuIcon.tsx | 53 --- .../icons/SidebarMenus/SupportMenuIcon.tsx | 59 --- .../src/icons/SidebarMenus/TraceMenuIcon.tsx | 46 --- .../src/icons/SidebarMenus/UsersMenuIcon.tsx | 55 --- portal-ui/src/icons/SidebarMenus/index.ts | 37 -- portal-ui/src/icons/SpeedtestIcon.tsx | 91 ----- portal-ui/src/icons/StandardLightLogo.tsx | 36 -- portal-ui/src/icons/StarIcon.tsx | 33 -- portal-ui/src/icons/StorageIcon.tsx | 82 ---- portal-ui/src/icons/SuccessIcon.tsx | 41 -- portal-ui/src/icons/SyncIcon.tsx | 46 --- portal-ui/src/icons/TagsIcon.tsx | 35 -- portal-ui/src/icons/TenantsIcon.tsx | 48 --- portal-ui/src/icons/TenantsOutlineIcon.tsx | 44 --- portal-ui/src/icons/TierOfflineIcon.tsx | 37 -- portal-ui/src/icons/TierOnlineIcon.tsx | 35 -- portal-ui/src/icons/TiersIcon.tsx | 46 --- portal-ui/src/icons/TiersNotAvailableIcon.tsx | 100 ----- portal-ui/src/icons/ToolsIcon.tsx | 58 --- portal-ui/src/icons/TotalObjectsIcon.tsx | 46 --- portal-ui/src/icons/TraceIcon.tsx | 44 --- portal-ui/src/icons/TrashIcon.tsx | 47 --- portal-ui/src/icons/UploadFile.tsx | 42 -- portal-ui/src/icons/UploadFolderIcon.tsx | 57 --- portal-ui/src/icons/UploadIcon.tsx | 49 --- portal-ui/src/icons/UploadStatIcon.tsx | 32 -- portal-ui/src/icons/UptimeIcon.tsx | 53 --- portal-ui/src/icons/UsersFilledIcon.tsx | 58 --- portal-ui/src/icons/UsersIcon.tsx | 58 --- portal-ui/src/icons/VerifiedIcon.tsx | 44 --- portal-ui/src/icons/VersionIcon.tsx | 41 -- portal-ui/src/icons/VersionsIcon.tsx | 39 -- portal-ui/src/icons/WarnFilledIcon.tsx | 59 --- portal-ui/src/icons/WarnIcon.tsx | 55 --- portal-ui/src/icons/WarpIcon.tsx | 44 --- portal-ui/src/icons/WatchIcon.tsx | 88 ----- portal-ui/src/icons/index.ts | 206 ---------- portal-ui/src/icons/minio_console_logo.svg | 27 -- portal-ui/src/icons/minio_operator_logo.svg | 32 -- portal-ui/src/icons/postgres.png | Bin 308512 -> 0 bytes portal-ui/src/icons/props.ts | 20 - .../src/screens/Console/Account/Account.tsx | 7 +- .../Account/AddServiceAccountHelpBox.tsx | 2 +- .../Account/AddServiceAccountScreen.tsx | 2 +- .../Console/Account/ChangePasswordModal.tsx | 2 +- .../Account/ChangeUserPasswordModal.tsx | 2 +- .../Console/Account/DeleteServiceAccount.tsx | 2 +- ...otificationEndpointTypeSelectorHelpBox.tsx | 2 +- .../Console/Account/ServiceAccountPolicy.tsx | 2 +- .../Buckets/BucketDetails/AccessRulePanel.tsx | 2 +- .../Buckets/BucketDetails/AddAccessRule.tsx | 2 +- .../BucketDetails/AddBucketTagModal.tsx | 2 +- .../Buckets/BucketDetails/AddEvent.tsx | 2 +- .../BucketDetails/AddLifecycleModal.tsx | 2 +- .../BucketDetails/AddReplicationModal.tsx | 2 +- .../Buckets/BucketDetails/BrowserHandler.tsx | 2 +- .../Buckets/BucketDetails/BucketDetails.tsx | 7 +- .../BucketDetails/BucketEventsPanel.tsx | 4 +- .../BucketDetails/BucketLifecyclePanel.tsx | 2 +- .../BucketDetails/BucketReplicationPanel.tsx | 2 +- .../BucketDetails/BucketSummaryPanel.tsx | 2 +- .../BucketDetails/DeleteAccessRule.tsx | 2 +- .../DeleteBucketLifecycleRule.tsx | 2 +- .../BucketDetails/DeleteBucketTagModal.tsx | 2 +- .../Buckets/BucketDetails/DeleteEvent.tsx | 2 +- .../BucketDetails/DeleteReplicationRule.tsx | 2 +- .../Buckets/BucketDetails/EditAccessRule.tsx | 2 +- .../EditLifecycleConfiguration.tsx | 2 +- .../BucketDetails/EditReplicationModal.tsx | 2 +- .../BucketDetails/EnableBucketEncryption.tsx | 2 +- .../Buckets/BucketDetails/EnableQuota.tsx | 2 +- .../BucketDetails/EnableVersioningModal.tsx | 2 +- .../Buckets/BucketDetails/SetAccessPolicy.tsx | 2 +- .../BucketDetails/SetRetentionConfig.tsx | 3 +- .../BucketDetails/SummaryItems/ActionLink.tsx | 2 +- .../SummaryItems/BucketQuotaSize.tsx | 2 +- .../BucketDetails/SummaryItems/BucketTags.tsx | 2 +- .../SummaryItems/EditActionButton.tsx | 2 +- .../SummaryItems/ReportedUsage.tsx | 2 +- .../ListBuckets/AddBucket/AddBucket.tsx | 2 +- .../AddBucket/BucketNamingRules.tsx | 5 +- .../ListBuckets/AddBucket/InvalidRule.tsx | 2 +- .../Buckets/ListBuckets/AddBucket/NARule.tsx | 2 +- .../ListBuckets/AddBucket/ValidRule.tsx | 2 +- .../Buckets/ListBuckets/BucketListItem.tsx | 6 +- .../Buckets/ListBuckets/DeleteBucket.tsx | 2 +- .../Buckets/ListBuckets/ListBuckets.tsx | 8 +- .../Objects/ListObjects/CreatePathModal.tsx | 2 +- .../ListObjects/DeleteMultipleObjects.tsx | 2 +- .../Objects/ListObjects/DeleteNonCurrent.tsx | 2 +- .../Objects/ListObjects/DeleteObject.tsx | 2 +- .../Objects/ListObjects/DetailsListPanel.tsx | 2 +- .../Objects/ListObjects/InspectObject.tsx | 4 +- .../Objects/ListObjects/ListObjects.tsx | 16 +- .../Objects/ListObjects/ObjectDetailPanel.tsx | 6 +- .../ListBuckets/Objects/ListObjects/utils.tsx | 73 ++-- .../ObjectDetails/DeleteSelectedVersions.tsx | 2 +- .../Objects/ObjectDetails/FileVersionItem.tsx | 7 +- .../ObjectDetails/RestoreFileVersion.tsx | 2 +- .../Objects/ObjectDetails/ShareFile.tsx | 4 +- .../Objects/ObjectDetails/TagsModal.tsx | 6 +- .../ObjectDetails/VersionsNavigator.tsx | 2 +- .../Objects/Preview/PreviewFileModal.tsx | 2 +- .../Buckets/ListBuckets/UploadFilesButton.tsx | 2 +- portal-ui/src/screens/Console/CommandBar.tsx | 2 +- .../Common/Components/AutoColorIcon.tsx | 4 +- .../Console/Common/ComponentsScreen.tsx | 2 +- .../CredentialsPrompt/CredentialItem.tsx | 2 +- .../CredentialsPrompt/CredentialsPrompt.tsx | 4 +- .../AutocompleteWrapper.tsx | 2 +- .../CSVMultiSelector/CSVMultiSelector.tsx | 3 +- .../CheckboxWrapper/CheckboxWrapper.tsx | 2 +- .../CodeMirrorWrapper/CodeMirrorWrapper.tsx | 4 +- .../CommentBoxWrapper/CommentBoxWrapper.tsx | 2 +- .../DateRangeSelector/DateRangeSelector.tsx | 4 +- .../DateSelector/DateSelector.tsx | 2 +- .../DateTimePickerWrapper.tsx | 3 +- .../DaysSelector/DaysSelector.tsx | 2 +- .../FileSelector/FileSelector.tsx | 2 +- .../FormSwitchWrapper/FormSwitchWrapper.tsx | 2 +- .../InputBoxWrapper/InputBoxWrapper.tsx | 2 +- .../QueryMultiSelector/QueryMultiSelector.tsx | 2 +- .../RadioGroupSelector/RadioGroupSelector.tsx | 2 +- .../SelectWrapper/SelectWrapper.tsx | 2 +- .../screens/Console/Common/IconsScreen.tsx | 21 +- .../screens/Console/Common/Loader/Loader.tsx | 103 ----- .../Console/Common/Loader/loader.styles.css | 363 ------------------ .../Console/Common/MainError/MainError.tsx | 2 +- .../Common/ObjectManager/ObjectHandled.tsx | 2 +- .../Common/ObjectManager/ObjectManager.tsx | 2 +- .../Console/Common/PageHeader/PageHeader.tsx | 2 +- .../src/screens/Console/Common/SearchBox.tsx | 2 +- .../Common/TLSCertificate/TLSCertificate.tsx | 2 +- .../Common/TableWrapper/TableActionButton.tsx | 12 +- .../Common/TableWrapper/TableWrapper.tsx | 2 +- .../Common/TestWrapper/TestWrapper.tsx | 4 +- .../UsageBarWrapper/SummaryUsageBar.tsx | 4 +- .../UsageBarWrapper/UsageBarWrapper.tsx | 2 +- .../ConfigurationOptions.tsx | 2 +- .../SiteReplication/AddReplicationSites.tsx | 2 +- .../SiteReplication/EditSiteEndPoint.tsx | 2 +- .../EntityReplicationLookup.tsx | 4 +- .../LookupStatus/LookupStatusTable.tsx | 2 +- .../SiteReplication/ReplicationSites.tsx | 3 +- .../SiteReplication/SRSiteInputRow.tsx | 2 +- .../SiteReplication/SiteReplication.tsx | 7 +- .../SiteReplication/SiteReplicationStatus.tsx | 4 +- .../ListTiersConfiguration.tsx | 7 +- .../RegionSelectWrapper.tsx | 2 +- .../TiersConfiguration/TierTypeSelector.tsx | 2 +- .../UpdateTierCredentialsModal.tsx | 2 +- .../TiersConfiguration/utils.tsx | 2 +- .../BasicDashboard/BasicDashboard.tsx | 4 +- .../BasicDashboard/DriveInfoItem.tsx | 2 +- .../BasicDashboard/ServerInfoItem.tsx | 2 +- .../Dashboard/BasicDashboard/ServersList.tsx | 5 +- .../BasicDashboard/StatusCountCard.tsx | 2 +- .../Dashboard/DownloadWidgetDataButton.tsx | 2 +- .../Dashboard/Prometheus/PrDashboard.tsx | 4 +- .../Prometheus/Widgets/BarChartWidget.tsx | 2 +- .../Prometheus/Widgets/BucketsCountItem.tsx | 2 +- .../Prometheus/Widgets/CapacityItem.tsx | 4 +- .../Widgets/EntityStateItemRenderer.tsx | 2 +- .../Widgets/EntityStateStatItem.tsx | 2 +- .../Prometheus/Widgets/LinearGraphWidget.tsx | 2 +- .../Prometheus/Widgets/NetworkGetItem.tsx | 4 +- .../Prometheus/Widgets/NetworkItem.tsx | 2 +- .../Prometheus/Widgets/NetworkPutItem.tsx | 4 +- .../Prometheus/Widgets/NumericStatCard.tsx | 2 +- .../Prometheus/Widgets/ObjectsCountItem.tsx | 2 +- .../Prometheus/Widgets/PieChartWidget.tsx | 2 +- .../Prometheus/Widgets/SimpleWidget.tsx | 2 +- .../Prometheus/Widgets/SingleValueWidget.tsx | 2 +- .../Console/Dashboard/Prometheus/utils.tsx | 4 +- .../Console/Dashboard/TimeStatItem.tsx | 4 +- .../Console/DirectPV/DirectPVDrives.tsx | 5 +- .../Console/DirectPV/DirectPVVolumes.tsx | 2 +- .../screens/Console/DirectPV/FormatDrives.tsx | 2 +- .../Console/DirectPV/FormatErrorsResult.tsx | 2 +- .../Console/Groups/AddGroupHelpBox.tsx | 2 +- .../screens/Console/Groups/AddGroupMember.tsx | 2 +- .../screens/Console/Groups/AddGroupScreen.tsx | 2 +- .../screens/Console/Groups/DeleteGroup.tsx | 2 +- .../src/screens/Console/Groups/Groups.tsx | 2 +- .../screens/Console/Groups/GroupsDetails.tsx | 7 +- portal-ui/src/screens/Console/Heal/Heal.tsx | 2 +- portal-ui/src/screens/Console/Health.tsx | 2 +- .../screens/Console/HealthInfo/HealthInfo.tsx | 4 +- .../IDP/AddIDPConfigurationHelpbox.tsx | 2 +- .../Console/IDP/AddIDPOpenIDConfiguration.tsx | 2 +- .../IDP/DeleteIDPConfigurationModal.tsx | 2 +- .../Console/IDP/IDPConfigurationDetails.tsx | 2 +- .../screens/Console/IDP/IDPConfigurations.tsx | 2 +- .../IDP/IDPOpenIDConfigurationDetails.tsx | 2 +- portal-ui/src/screens/Console/IDP/utils.tsx | 2 +- .../src/screens/Console/License/License.tsx | 4 +- .../Console/License/LicenseConsentModal.tsx | 2 +- .../screens/Console/License/LicensePlans.tsx | 2 +- .../Console/Logs/ErrorLogs/LogLine.tsx | 4 +- .../Console/Logs/LogSearch/LogsSearchMain.tsx | 2 +- .../Console/Marketplace/SetEmailModal.tsx | 2 +- .../screens/Console/Menu/ConsoleMenuList.tsx | 2 +- .../src/screens/Console/Menu/LicenseBadge.tsx | 2 +- .../src/screens/Console/Menu/MenuItem.tsx | 5 +- .../src/screens/Console/Menu/MenuToggle.tsx | 2 +- .../ConfirmDeleteTargetModal.tsx | 2 +- .../CustomForms/EditConfiguration.tsx | 2 +- .../CustomForms/ResetConfigurationModal.tsx | 2 +- .../ListNotificationEndpoints.tsx | 4 +- .../ObjectBrowser/BrowserBreadcrumbs.tsx | 2 +- .../Console/ObjectBrowser/OBBucketList.tsx | 4 +- .../ObjectBrowser/RenameLongFilename.tsx | 2 +- .../Console/Policies/AddPolicyHelpBox.tsx | 2 +- .../Console/Policies/AddPolicyScreen.tsx | 2 +- .../screens/Console/Policies/DeletePolicy.tsx | 2 +- .../screens/Console/Policies/ListPolicies.tsx | 2 +- .../Console/Policies/PolicyDetails.tsx | 5 +- .../screens/Console/Policies/PolicyView.tsx | 2 +- .../screens/Console/Speedtest/STResults.tsx | 2 +- .../screens/Console/Speedtest/Speedtest.tsx | 6 +- .../Console/Support/ApiKeyRegister.tsx | 2 +- .../Console/Support/GetApiKeyModal.tsx | 2 +- .../src/screens/Console/Support/Register.tsx | 5 +- .../Console/Support/RegisterCluster.tsx | 2 +- .../Console/Support/RegisterHelpBox.tsx | 2 +- .../Console/Support/RegisterStatus.tsx | 4 +- .../Support/RegistrationStatusBanner.tsx | 2 +- .../src/screens/Console/Support/utils.tsx | 2 +- .../Console/Tenants/AddTenant/AddTenant.tsx | 2 +- .../Tenants/AddTenant/Steps/Affinity.tsx | 3 +- .../Tenants/AddTenant/Steps/Configure.tsx | 2 +- .../Steps/IdentityProvider/IDPBuiltIn.tsx | 2 +- .../Tenants/AddTenant/Steps/Security.tsx | 2 +- .../TenantResources/NamespaceSelector.tsx | 2 +- .../Steps/helpers/AddNamespaceModal.tsx | 2 +- .../Console/Tenants/HelpBox/TLSHelpBox.tsx | 2 +- .../Tenants/ListTenants/DeleteTenant.tsx | 2 +- .../Tenants/ListTenants/ListTenants.tsx | 4 +- .../Tenants/ListTenants/TenantCapacity.tsx | 2 +- .../Tenants/ListTenants/TenantListItem.tsx | 2 +- .../Console/Tenants/LogoComponents.tsx | 6 +- .../Tenants/TenantDetails/DeletePVC.tsx | 2 +- .../Tenants/TenantDetails/DeletePod.tsx | 2 +- .../Tenants/TenantDetails/EditDomains.tsx | 2 +- .../Tenants/TenantDetails/PodsSummary.tsx | 2 +- .../TenantDetails/Pools/AddPool/AddPool.tsx | 2 +- .../Pools/AddPool/PoolPodPlacement.tsx | 3 +- .../Pools/Details/PoolDetails.tsx | 2 +- .../Pools/Details/PoolsListing.tsx | 3 +- .../TenantDetails/Pools/EditPool/EditPool.tsx | 2 +- .../Pools/EditPool/EditPoolPlacement.tsx | 3 +- .../TenantDetails/TenantAuditLogsScreen.tsx | 2 +- .../TenantDetails/TenantConfiguration.tsx | 6 +- .../Tenants/TenantDetails/TenantDetails.tsx | 6 +- .../TenantDetails/TenantIdentityProvider.tsx | 4 +- .../Tenants/TenantDetails/TenantLicense.tsx | 2 +- .../Tenants/TenantDetails/TenantSecurity.tsx | 6 +- .../Tenants/TenantDetails/TenantSummary.tsx | 2 +- .../Tenants/TenantDetails/VolumesSummary.tsx | 2 +- .../Console/Tenants/TenantDetails/hop/Hop.tsx | 4 +- .../Tenants/TenantDetails/pods/PodLogs.tsx | 2 +- .../src/screens/Console/Tools/Inspect.tsx | 4 +- .../src/screens/Console/Tools/KeyRevealer.tsx | 2 +- portal-ui/src/screens/Console/Tools/Tools.tsx | 2 +- portal-ui/src/screens/Console/Trace/Trace.tsx | 2 +- .../screens/Console/Users/AddUserHelpBox.tsx | 2 +- .../screens/Console/Users/AddUserScreen.tsx | 2 +- .../Users/AddUserServiceAccountHelpBox.tsx | 2 +- .../Users/AddUserServiceAccountScreen.tsx | 2 +- .../screens/Console/Users/BulkAddToGroup.tsx | 2 +- .../Console/Users/ChangeUserGroups.tsx | 4 +- .../Users/DeleteMultipleServiceAccounts.tsx | 2 +- .../src/screens/Console/Users/DeleteUser.tsx | 4 +- .../screens/Console/Users/DeleteUserModal.tsx | 2 +- .../src/screens/Console/Users/ListUsers.tsx | 2 +- .../src/screens/Console/Users/UserDetails.tsx | 2 +- .../Users/UserServiceAccountsPanel.tsx | 2 +- .../screens/Console/Users/UsersHelpBox.tsx | 2 +- .../src/screens/Console/kbar-actions.tsx | 2 +- portal-ui/src/screens/Console/valid-routes.ts | 10 +- portal-ui/src/screens/LoginPage/LoginPage.tsx | 6 +- .../src/screens/LoginPage/StrategyForm.tsx | 5 +- portal-ui/yarn.lock | 6 +- 476 files changed, 333 insertions(+), 13266 deletions(-) delete mode 100644 portal-ui/src/icons/AGPLV3DarkLogo.tsx delete mode 100644 portal-ui/src/icons/AGPLV3LightLogo.tsx delete mode 100644 portal-ui/src/icons/AGPLV3Logo.tsx delete mode 100644 portal-ui/src/icons/AccountIcon.tsx delete mode 100644 portal-ui/src/icons/AddAccessRuleIcon.tsx delete mode 100644 portal-ui/src/icons/AddFolderIcon.tsx delete mode 100644 portal-ui/src/icons/AddIcon.tsx delete mode 100644 portal-ui/src/icons/AddMembersToGroupIcon.tsx delete mode 100644 portal-ui/src/icons/AddNewTagIcon.tsx delete mode 100644 portal-ui/src/icons/AlertCloseIcon.tsx delete mode 100644 portal-ui/src/icons/AlertIcon.tsx delete mode 100644 portal-ui/src/icons/AllBucketsIcon.tsx delete mode 100644 portal-ui/src/icons/ArrowIcon.tsx delete mode 100644 portal-ui/src/icons/ArrowRightIcon.tsx delete mode 100644 portal-ui/src/icons/ArrowRightLink.tsx delete mode 100644 portal-ui/src/icons/AzureTierIcon.tsx delete mode 100644 portal-ui/src/icons/AzureTierIconXs.tsx delete mode 100644 portal-ui/src/icons/BackCaretIcon.tsx delete mode 100644 portal-ui/src/icons/BackIcon.tsx delete mode 100644 portal-ui/src/icons/BackSettingsIcon.tsx delete mode 100644 portal-ui/src/icons/BoxArrowDown.tsx delete mode 100644 portal-ui/src/icons/BoxArrowUp.tsx delete mode 100644 portal-ui/src/icons/BucketEncryptionIcon.tsx delete mode 100644 portal-ui/src/icons/BucketQuotaIcon.tsx delete mode 100644 portal-ui/src/icons/BucketReplicationIcon.tsx delete mode 100644 portal-ui/src/icons/BucketsIcon.tsx delete mode 100644 portal-ui/src/icons/CalendarIcon.tsx delete mode 100644 portal-ui/src/icons/CallHomeFeatureIcon.tsx delete mode 100644 portal-ui/src/icons/CancelledIcon.tsx delete mode 100644 portal-ui/src/icons/CertificateIcon.tsx delete mode 100644 portal-ui/src/icons/ChangeAccessPolicyIcon.tsx delete mode 100644 portal-ui/src/icons/ChangePasswordIcon.tsx delete mode 100644 portal-ui/src/icons/CircleIcon.tsx delete mode 100644 portal-ui/src/icons/ClosePanelIcon.tsx delete mode 100644 portal-ui/src/icons/ClustersIcon.tsx delete mode 100644 portal-ui/src/icons/CollapseIcon.tsx delete mode 100644 portal-ui/src/icons/ComputerLineIcon.tsx delete mode 100644 portal-ui/src/icons/ConfigurationsListIcon.tsx delete mode 100644 portal-ui/src/icons/ConfirmDeleteIcon.tsx delete mode 100644 portal-ui/src/icons/ConfirmModalIcon.tsx delete mode 100644 portal-ui/src/icons/ConsoleAgpl.tsx delete mode 100644 portal-ui/src/icons/ConsoleEnterprise.tsx delete mode 100644 portal-ui/src/icons/ConsoleIcon.tsx delete mode 100644 portal-ui/src/icons/ConsoleLogo.tsx delete mode 100644 portal-ui/src/icons/ConsoleStandard.tsx delete mode 100644 portal-ui/src/icons/CopyIcon.tsx delete mode 100644 portal-ui/src/icons/CreateGroupIcon.tsx delete mode 100644 portal-ui/src/icons/CreateIcon.tsx delete mode 100644 portal-ui/src/icons/CreateNewPathIcon.tsx delete mode 100644 portal-ui/src/icons/CreateUserIcon.tsx delete mode 100644 portal-ui/src/icons/DashboardIcon.tsx delete mode 100644 portal-ui/src/icons/DeleteIcon.tsx delete mode 100644 portal-ui/src/icons/DeleteNonCurrentIcon.tsx delete mode 100644 portal-ui/src/icons/DiagnosticsFeatureIcon.tsx delete mode 100644 portal-ui/src/icons/DiagnosticsIcon.tsx delete mode 100644 portal-ui/src/icons/DirectPVLogo.tsx delete mode 100644 portal-ui/src/icons/DisabledIcon.tsx delete mode 100644 portal-ui/src/icons/DocumentationIcon.tsx delete mode 100644 portal-ui/src/icons/DownloadIcon.tsx delete mode 100644 portal-ui/src/icons/DownloadStatIcon.tsx delete mode 100644 portal-ui/src/icons/DriveFormatErrorsIcon.tsx delete mode 100644 portal-ui/src/icons/DrivesIcon.tsx delete mode 100644 portal-ui/src/icons/EditIcon.tsx delete mode 100644 portal-ui/src/icons/EditTagIcon.tsx delete mode 100644 portal-ui/src/icons/EditTenantIcon.tsx delete mode 100644 portal-ui/src/icons/EditYamlIcon.tsx delete mode 100644 portal-ui/src/icons/EditorThemeSwitchIcon.tsx delete mode 100644 portal-ui/src/icons/EgressIcon.tsx delete mode 100644 portal-ui/src/icons/EnabledIcon.tsx delete mode 100644 portal-ui/src/icons/EnterpriseLightLogo.tsx delete mode 100644 portal-ui/src/icons/EventSubscriptionIcon.tsx delete mode 100644 portal-ui/src/icons/ExtraFeaturesIcon.tsx delete mode 100644 portal-ui/src/icons/FileBookIcon.tsx delete mode 100644 portal-ui/src/icons/FileCloudIcon.tsx delete mode 100644 portal-ui/src/icons/FileCodeIcon.tsx delete mode 100644 portal-ui/src/icons/FileConfigIcon.tsx delete mode 100644 portal-ui/src/icons/FileDbIcon.tsx delete mode 100644 portal-ui/src/icons/FileFontIcon.tsx delete mode 100644 portal-ui/src/icons/FileImageIcon.tsx delete mode 100644 portal-ui/src/icons/FileLinkIcon.tsx delete mode 100644 portal-ui/src/icons/FileLockIcon.tsx delete mode 100644 portal-ui/src/icons/FileMissingIcon.tsx delete mode 100644 portal-ui/src/icons/FileMusicIcon.tsx delete mode 100644 portal-ui/src/icons/FilePdfIcon.tsx delete mode 100644 portal-ui/src/icons/FilePptIcon.tsx delete mode 100644 portal-ui/src/icons/FileTxtIcon.tsx delete mode 100644 portal-ui/src/icons/FileVideoIcon.tsx delete mode 100644 portal-ui/src/icons/FileWorldIcon.tsx delete mode 100644 portal-ui/src/icons/FileXlsIcon.tsx delete mode 100644 portal-ui/src/icons/FileZipIcon.tsx delete mode 100644 portal-ui/src/icons/FilterIcon.tsx delete mode 100644 portal-ui/src/icons/FolderIcon.tsx delete mode 100644 portal-ui/src/icons/FormatDrivesIcon.tsx delete mode 100644 portal-ui/src/icons/GithubIcon.tsx delete mode 100644 portal-ui/src/icons/GoogleTierIcon.tsx delete mode 100644 portal-ui/src/icons/GoogleTierIconXs.tsx delete mode 100644 portal-ui/src/icons/GroupsIcon.tsx delete mode 100644 portal-ui/src/icons/HardBucketQuotaIcon.tsx delete mode 100644 portal-ui/src/icons/HealIcon.tsx delete mode 100644 portal-ui/src/icons/HelpIcon.tsx delete mode 100644 portal-ui/src/icons/HelpIconFilled.tsx delete mode 100644 portal-ui/src/icons/HideTextIcon.tsx delete mode 100644 portal-ui/src/icons/HistoryIcon.tsx delete mode 100644 portal-ui/src/icons/IAMPoliciesIcon.tsx delete mode 100644 portal-ui/src/icons/InfoIcon.tsx delete mode 100644 portal-ui/src/icons/JSONIcon.tsx delete mode 100644 portal-ui/src/icons/LDAPIcon.tsx delete mode 100644 portal-ui/src/icons/LambdaBalloonIcon.tsx delete mode 100644 portal-ui/src/icons/LambdaIcon.tsx delete mode 100644 portal-ui/src/icons/LambdaNotificationsIcon.tsx delete mode 100644 portal-ui/src/icons/LegalHoldIcon.tsx delete mode 100644 portal-ui/src/icons/LicenseDocIcon.tsx delete mode 100644 portal-ui/src/icons/LicenseIcon.tsx delete mode 100644 portal-ui/src/icons/LifecycleConfigIcon.tsx delete mode 100644 portal-ui/src/icons/LinkIcon.tsx delete mode 100644 portal-ui/src/icons/LockFilledIcon.tsx delete mode 100644 portal-ui/src/icons/LockIcon.tsx delete mode 100644 portal-ui/src/icons/LoginMinIOLogo.tsx delete mode 100644 portal-ui/src/icons/LogoutIcon.tsx delete mode 100644 portal-ui/src/icons/LogsIcon.tsx delete mode 100644 portal-ui/src/icons/MenuToggleIcon.tsx delete mode 100644 portal-ui/src/icons/MetadataIcon.tsx delete mode 100644 portal-ui/src/icons/MinIOTierIcon.tsx delete mode 100644 portal-ui/src/icons/MinIOTierIconXs.tsx delete mode 100644 portal-ui/src/icons/MirroringIcon.tsx delete mode 100644 portal-ui/src/icons/MultipleBucketsIcon.tsx delete mode 100644 portal-ui/src/icons/NetworkGetIcon.tsx delete mode 100644 portal-ui/src/icons/NetworkPutIcon.tsx delete mode 100644 portal-ui/src/icons/NewAccountIcon.tsx delete mode 100644 portal-ui/src/icons/NewPathIcon.tsx delete mode 100644 portal-ui/src/icons/NewPoolIcon.tsx delete mode 100644 portal-ui/src/icons/NextArrowIcon.tsx delete mode 100644 portal-ui/src/icons/OIDCIcon.tsx delete mode 100644 portal-ui/src/icons/ObjectBrowser1Icon.tsx delete mode 100644 portal-ui/src/icons/ObjectBrowserFolderIcon.tsx delete mode 100644 portal-ui/src/icons/ObjectBrowserIcon.tsx delete mode 100644 portal-ui/src/icons/ObjectInfoIcon.tsx delete mode 100644 portal-ui/src/icons/ObjectManagerIcon.tsx delete mode 100644 portal-ui/src/icons/ObjectPreviewIcon.tsx delete mode 100644 portal-ui/src/icons/OfflineRegistrationBackIcon.tsx delete mode 100644 portal-ui/src/icons/OfflineRegistrationIcon.tsx delete mode 100644 portal-ui/src/icons/OnlineRegistrationBackIcon.tsx delete mode 100644 portal-ui/src/icons/OnlineRegistrationIcon.tsx delete mode 100644 portal-ui/src/icons/OpenListIcon.tsx delete mode 100644 portal-ui/src/icons/OpenSourceIcon.tsx delete mode 100644 portal-ui/src/icons/OperatorLogo.tsx delete mode 100644 portal-ui/src/icons/PasswordKeyIcon.tsx delete mode 100644 portal-ui/src/icons/PerformanceFeatureIcon.tsx delete mode 100644 portal-ui/src/icons/PermissionIcon.tsx delete mode 100644 portal-ui/src/icons/PreviewIcon.tsx delete mode 100644 portal-ui/src/icons/PrometheusErrorIcon.tsx delete mode 100644 portal-ui/src/icons/PrometheusIcon.tsx delete mode 100644 portal-ui/src/icons/RecoverIcon.tsx delete mode 100644 portal-ui/src/icons/RedoIcon.tsx delete mode 100644 portal-ui/src/icons/RefreshIcon.tsx delete mode 100644 portal-ui/src/icons/RemoveAllIcon.tsx delete mode 100644 portal-ui/src/icons/RemoveIcon.tsx delete mode 100644 portal-ui/src/icons/ReportedUsageFullIcon.tsx delete mode 100644 portal-ui/src/icons/ReportedUsageIcon.tsx delete mode 100644 portal-ui/src/icons/RetentionIcon.tsx delete mode 100644 portal-ui/src/icons/S3TierIcon.tsx delete mode 100644 portal-ui/src/icons/S3TierIconXs.tsx delete mode 100644 portal-ui/src/icons/SearchIcon.tsx delete mode 100644 portal-ui/src/icons/SelectAllIcon.tsx delete mode 100644 portal-ui/src/icons/SelectMultipleIcon.tsx delete mode 100644 portal-ui/src/icons/ServersIcon.tsx delete mode 100644 portal-ui/src/icons/ServiceAccountCredentialsIcon.tsx delete mode 100644 portal-ui/src/icons/ServiceAccountIcon.tsx delete mode 100644 portal-ui/src/icons/ServiceAccountsIcon.tsx delete mode 100644 portal-ui/src/icons/SettingsIcon.tsx delete mode 100644 portal-ui/src/icons/ShareIcon.tsx delete mode 100644 portal-ui/src/icons/ShowTextIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/AccessMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/AccountsMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/AuditLogsMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/BucketsMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/CallHomeMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/DiagnosticsMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/DrivesMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/GroupsMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/HealthMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/IdentityMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/InspectMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/LogsMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/MenuCollapsedIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/MenuExpandedIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/MetricsMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/MonitoringMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/PerformanceMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/ProfileMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/RegisterMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/SupportMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/TraceMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/UsersMenuIcon.tsx delete mode 100644 portal-ui/src/icons/SidebarMenus/index.ts delete mode 100644 portal-ui/src/icons/SpeedtestIcon.tsx delete mode 100644 portal-ui/src/icons/StandardLightLogo.tsx delete mode 100644 portal-ui/src/icons/StarIcon.tsx delete mode 100644 portal-ui/src/icons/StorageIcon.tsx delete mode 100644 portal-ui/src/icons/SuccessIcon.tsx delete mode 100644 portal-ui/src/icons/SyncIcon.tsx delete mode 100644 portal-ui/src/icons/TagsIcon.tsx delete mode 100644 portal-ui/src/icons/TenantsIcon.tsx delete mode 100644 portal-ui/src/icons/TenantsOutlineIcon.tsx delete mode 100644 portal-ui/src/icons/TierOfflineIcon.tsx delete mode 100644 portal-ui/src/icons/TierOnlineIcon.tsx delete mode 100644 portal-ui/src/icons/TiersIcon.tsx delete mode 100644 portal-ui/src/icons/TiersNotAvailableIcon.tsx delete mode 100644 portal-ui/src/icons/ToolsIcon.tsx delete mode 100644 portal-ui/src/icons/TotalObjectsIcon.tsx delete mode 100644 portal-ui/src/icons/TraceIcon.tsx delete mode 100644 portal-ui/src/icons/TrashIcon.tsx delete mode 100644 portal-ui/src/icons/UploadFile.tsx delete mode 100644 portal-ui/src/icons/UploadFolderIcon.tsx delete mode 100644 portal-ui/src/icons/UploadIcon.tsx delete mode 100644 portal-ui/src/icons/UploadStatIcon.tsx delete mode 100644 portal-ui/src/icons/UptimeIcon.tsx delete mode 100644 portal-ui/src/icons/UsersFilledIcon.tsx delete mode 100644 portal-ui/src/icons/UsersIcon.tsx delete mode 100644 portal-ui/src/icons/VerifiedIcon.tsx delete mode 100644 portal-ui/src/icons/VersionIcon.tsx delete mode 100644 portal-ui/src/icons/VersionsIcon.tsx delete mode 100644 portal-ui/src/icons/WarnFilledIcon.tsx delete mode 100644 portal-ui/src/icons/WarnIcon.tsx delete mode 100644 portal-ui/src/icons/WarpIcon.tsx delete mode 100644 portal-ui/src/icons/WatchIcon.tsx delete mode 100644 portal-ui/src/icons/index.ts delete mode 100644 portal-ui/src/icons/minio_console_logo.svg delete mode 100644 portal-ui/src/icons/minio_operator_logo.svg delete mode 100644 portal-ui/src/icons/postgres.png delete mode 100644 portal-ui/src/icons/props.ts delete mode 100644 portal-ui/src/screens/Console/Common/Loader/Loader.tsx delete mode 100644 portal-ui/src/screens/Console/Common/Loader/loader.styles.css diff --git a/portal-ui/package.json b/portal-ui/package.json index 9f5004570..698dad907 100644 --- a/portal-ui/package.json +++ b/portal-ui/package.json @@ -30,7 +30,7 @@ "local-storage-fallback": "^4.1.1", "lodash": "^4.17.21", "luxon": "^3.2.1", - "mds": "https://github.com/minio/mds.git#v0.0.9", + "mds": "https://github.com/minio/mds.git#v0.1.0", "minio": "^7.0.32", "react": "^18.1.0", "react-chartjs-2": "^2.9.0", diff --git a/portal-ui/src/common/BackLink.tsx b/portal-ui/src/common/BackLink.tsx index b16653079..200800d0f 100644 --- a/portal-ui/src/common/BackLink.tsx +++ b/portal-ui/src/common/BackLink.tsx @@ -19,7 +19,7 @@ import { Link } from "react-router-dom"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; -import { BackSettingsIcon } from "../icons"; +import { BackSettingsIcon } from "mds"; import { Box } from "@mui/material"; const styles = (theme: Theme) => diff --git a/portal-ui/src/common/LoadingComponent.tsx b/portal-ui/src/common/LoadingComponent.tsx index 0cb582e02..fb9d80c34 100644 --- a/portal-ui/src/common/LoadingComponent.tsx +++ b/portal-ui/src/common/LoadingComponent.tsx @@ -16,7 +16,7 @@ import React from "react"; import { Grid } from "@mui/material"; -import Loader from "../screens/Console/Common/Loader/Loader"; +import { Loader } from "mds"; const LoadingComponent = () => { return ( diff --git a/portal-ui/src/icons/AGPLV3DarkLogo.tsx b/portal-ui/src/icons/AGPLV3DarkLogo.tsx deleted file mode 100644 index 847b2e6eb..000000000 --- a/portal-ui/src/icons/AGPLV3DarkLogo.tsx +++ /dev/null @@ -1,45 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AGPLV3DarkLogo = (props: SVGProps) => ( - - - - - - -); - -export default AGPLV3DarkLogo; diff --git a/portal-ui/src/icons/AGPLV3LightLogo.tsx b/portal-ui/src/icons/AGPLV3LightLogo.tsx deleted file mode 100644 index e7396aebe..000000000 --- a/portal-ui/src/icons/AGPLV3LightLogo.tsx +++ /dev/null @@ -1,36 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AGPLV3LightLogo = (props: SVGProps) => ( - - - -); - -export default AGPLV3LightLogo; diff --git a/portal-ui/src/icons/AGPLV3Logo.tsx b/portal-ui/src/icons/AGPLV3Logo.tsx deleted file mode 100644 index ba2505ac8..000000000 --- a/portal-ui/src/icons/AGPLV3Logo.tsx +++ /dev/null @@ -1,49 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AGPLV3Logo = (props: SVGProps) => ( - - - - - -); - -export default AGPLV3Logo; diff --git a/portal-ui/src/icons/AccountIcon.tsx b/portal-ui/src/icons/AccountIcon.tsx deleted file mode 100644 index a6a3e350f..000000000 --- a/portal-ui/src/icons/AccountIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AccountIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default AccountIcon; diff --git a/portal-ui/src/icons/AddAccessRuleIcon.tsx b/portal-ui/src/icons/AddAccessRuleIcon.tsx deleted file mode 100644 index 38b00f498..000000000 --- a/portal-ui/src/icons/AddAccessRuleIcon.tsx +++ /dev/null @@ -1,62 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AddAccessRuleIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default AddAccessRuleIcon; diff --git a/portal-ui/src/icons/AddFolderIcon.tsx b/portal-ui/src/icons/AddFolderIcon.tsx deleted file mode 100644 index 580de99d6..000000000 --- a/portal-ui/src/icons/AddFolderIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AddFolderIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default AddFolderIcon; diff --git a/portal-ui/src/icons/AddIcon.tsx b/portal-ui/src/icons/AddIcon.tsx deleted file mode 100644 index d15238a7f..000000000 --- a/portal-ui/src/icons/AddIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AddIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default AddIcon; diff --git a/portal-ui/src/icons/AddMembersToGroupIcon.tsx b/portal-ui/src/icons/AddMembersToGroupIcon.tsx deleted file mode 100644 index d370c1123..000000000 --- a/portal-ui/src/icons/AddMembersToGroupIcon.tsx +++ /dev/null @@ -1,78 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AddMembersToGroupIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - -); - -export default AddMembersToGroupIcon; diff --git a/portal-ui/src/icons/AddNewTagIcon.tsx b/portal-ui/src/icons/AddNewTagIcon.tsx deleted file mode 100644 index 03e8d174d..000000000 --- a/portal-ui/src/icons/AddNewTagIcon.tsx +++ /dev/null @@ -1,45 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AddNewTagIcon = (props: SVGProps) => ( - - - - - - - - - - -); - -export default AddNewTagIcon; diff --git a/portal-ui/src/icons/AlertCloseIcon.tsx b/portal-ui/src/icons/AlertCloseIcon.tsx deleted file mode 100644 index 48cd0d64e..000000000 --- a/portal-ui/src/icons/AlertCloseIcon.tsx +++ /dev/null @@ -1,68 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AlertCloseIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - -); - -export default AlertCloseIcon; diff --git a/portal-ui/src/icons/AlertIcon.tsx b/portal-ui/src/icons/AlertIcon.tsx deleted file mode 100644 index d33193c2c..000000000 --- a/portal-ui/src/icons/AlertIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AlertIcon = (props: SVGProps) => ( - - - -); - -export default AlertIcon; diff --git a/portal-ui/src/icons/AllBucketsIcon.tsx b/portal-ui/src/icons/AllBucketsIcon.tsx deleted file mode 100644 index 9a0f2ce5b..000000000 --- a/portal-ui/src/icons/AllBucketsIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AllBucketsIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default AllBucketsIcon; diff --git a/portal-ui/src/icons/ArrowIcon.tsx b/portal-ui/src/icons/ArrowIcon.tsx deleted file mode 100644 index ec2225e37..000000000 --- a/portal-ui/src/icons/ArrowIcon.tsx +++ /dev/null @@ -1,45 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const ArrowIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - - ); -}; - -export default ArrowIcon; diff --git a/portal-ui/src/icons/ArrowRightIcon.tsx b/portal-ui/src/icons/ArrowRightIcon.tsx deleted file mode 100644 index 05657bbf3..000000000 --- a/portal-ui/src/icons/ArrowRightIcon.tsx +++ /dev/null @@ -1,45 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ArrowRightIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default ArrowRightIcon; diff --git a/portal-ui/src/icons/ArrowRightLink.tsx b/portal-ui/src/icons/ArrowRightLink.tsx deleted file mode 100644 index d66c1a7cf..000000000 --- a/portal-ui/src/icons/ArrowRightLink.tsx +++ /dev/null @@ -1,37 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const ArrowRightLink = (props: SVGProps) => { - return ( - - - - ); -}; - -export default ArrowRightLink; diff --git a/portal-ui/src/icons/AzureTierIcon.tsx b/portal-ui/src/icons/AzureTierIcon.tsx deleted file mode 100644 index 16553a81c..000000000 --- a/portal-ui/src/icons/AzureTierIcon.tsx +++ /dev/null @@ -1,42 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const AzureTierIcon = (props: SVGProps) => { - return ( - - - - - - - - ); -}; - -export default AzureTierIcon; diff --git a/portal-ui/src/icons/AzureTierIconXs.tsx b/portal-ui/src/icons/AzureTierIconXs.tsx deleted file mode 100644 index 165dfd526..000000000 --- a/portal-ui/src/icons/AzureTierIconXs.tsx +++ /dev/null @@ -1,41 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const AzureTierIconXs = (props: SVGProps) => { - return ( - - - - - - - - ); -}; - -export default AzureTierIconXs; diff --git a/portal-ui/src/icons/BackCaretIcon.tsx b/portal-ui/src/icons/BackCaretIcon.tsx deleted file mode 100644 index 54061f9a7..000000000 --- a/portal-ui/src/icons/BackCaretIcon.tsx +++ /dev/null @@ -1,40 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const BackCaretIcon = (props: SVGProps) => ( - - - - - -); - -export default BackCaretIcon; diff --git a/portal-ui/src/icons/BackIcon.tsx b/portal-ui/src/icons/BackIcon.tsx deleted file mode 100644 index 12c0d7a01..000000000 --- a/portal-ui/src/icons/BackIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const BackIcon = (props: SVGProps) => { - return ( - - - - - - - - - ); -}; - -export default BackIcon; diff --git a/portal-ui/src/icons/BackSettingsIcon.tsx b/portal-ui/src/icons/BackSettingsIcon.tsx deleted file mode 100644 index c264a8109..000000000 --- a/portal-ui/src/icons/BackSettingsIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const BackSettingsIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default BackSettingsIcon; diff --git a/portal-ui/src/icons/BoxArrowDown.tsx b/portal-ui/src/icons/BoxArrowDown.tsx deleted file mode 100644 index dcaf77f2e..000000000 --- a/portal-ui/src/icons/BoxArrowDown.tsx +++ /dev/null @@ -1,53 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const BoxArrowDown = (props: SVGProps) => ( - - - - - - - - -); - -export default BoxArrowDown; diff --git a/portal-ui/src/icons/BoxArrowUp.tsx b/portal-ui/src/icons/BoxArrowUp.tsx deleted file mode 100644 index faaa36a5a..000000000 --- a/portal-ui/src/icons/BoxArrowUp.tsx +++ /dev/null @@ -1,57 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const BoxArrowUp = (props: SVGProps) => ( - - - - - - - - -); - -export default BoxArrowUp; diff --git a/portal-ui/src/icons/BucketEncryptionIcon.tsx b/portal-ui/src/icons/BucketEncryptionIcon.tsx deleted file mode 100644 index 0e089051b..000000000 --- a/portal-ui/src/icons/BucketEncryptionIcon.tsx +++ /dev/null @@ -1,77 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const BucketEncryptionIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - -); - -export default BucketEncryptionIcon; diff --git a/portal-ui/src/icons/BucketQuotaIcon.tsx b/portal-ui/src/icons/BucketQuotaIcon.tsx deleted file mode 100644 index 8f3b2fbcf..000000000 --- a/portal-ui/src/icons/BucketQuotaIcon.tsx +++ /dev/null @@ -1,68 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const BucketQuotaIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - -); - -export default BucketQuotaIcon; diff --git a/portal-ui/src/icons/BucketReplicationIcon.tsx b/portal-ui/src/icons/BucketReplicationIcon.tsx deleted file mode 100644 index f48e56048..000000000 --- a/portal-ui/src/icons/BucketReplicationIcon.tsx +++ /dev/null @@ -1,88 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const BucketReplicationIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - -); - -export default BucketReplicationIcon; diff --git a/portal-ui/src/icons/BucketsIcon.tsx b/portal-ui/src/icons/BucketsIcon.tsx deleted file mode 100644 index 2790ee938..000000000 --- a/portal-ui/src/icons/BucketsIcon.tsx +++ /dev/null @@ -1,39 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const BucketsIcon = (props: SVGProps) => ( - - - - - -); - -export default BucketsIcon; diff --git a/portal-ui/src/icons/CalendarIcon.tsx b/portal-ui/src/icons/CalendarIcon.tsx deleted file mode 100644 index f5e4bcab7..000000000 --- a/portal-ui/src/icons/CalendarIcon.tsx +++ /dev/null @@ -1,82 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const CalendarIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - -); - -export default CalendarIcon; diff --git a/portal-ui/src/icons/CallHomeFeatureIcon.tsx b/portal-ui/src/icons/CallHomeFeatureIcon.tsx deleted file mode 100644 index 6994e716c..000000000 --- a/portal-ui/src/icons/CallHomeFeatureIcon.tsx +++ /dev/null @@ -1,98 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const CallHomeFeatureIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - - -); - -export default CallHomeFeatureIcon; diff --git a/portal-ui/src/icons/CancelledIcon.tsx b/portal-ui/src/icons/CancelledIcon.tsx deleted file mode 100644 index f973b6ee6..000000000 --- a/portal-ui/src/icons/CancelledIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const CancelledIcon = (props: SVGProps) => ( - - - -); - -export default CancelledIcon; diff --git a/portal-ui/src/icons/CertificateIcon.tsx b/portal-ui/src/icons/CertificateIcon.tsx deleted file mode 100644 index d75d7e80d..000000000 --- a/portal-ui/src/icons/CertificateIcon.tsx +++ /dev/null @@ -1,57 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const CertificateIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - - ); -}; -export default CertificateIcon; diff --git a/portal-ui/src/icons/ChangeAccessPolicyIcon.tsx b/portal-ui/src/icons/ChangeAccessPolicyIcon.tsx deleted file mode 100644 index 3d4487eaf..000000000 --- a/portal-ui/src/icons/ChangeAccessPolicyIcon.tsx +++ /dev/null @@ -1,71 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ChangeAccessPolicyIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - -); - -export default ChangeAccessPolicyIcon; diff --git a/portal-ui/src/icons/ChangePasswordIcon.tsx b/portal-ui/src/icons/ChangePasswordIcon.tsx deleted file mode 100644 index df2698b63..000000000 --- a/portal-ui/src/icons/ChangePasswordIcon.tsx +++ /dev/null @@ -1,106 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ChangePasswordIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - - - - -); - -export default ChangePasswordIcon; diff --git a/portal-ui/src/icons/CircleIcon.tsx b/portal-ui/src/icons/CircleIcon.tsx deleted file mode 100644 index 4529a0f68..000000000 --- a/portal-ui/src/icons/CircleIcon.tsx +++ /dev/null @@ -1,41 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const CircleIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default CircleIcon; diff --git a/portal-ui/src/icons/ClosePanelIcon.tsx b/portal-ui/src/icons/ClosePanelIcon.tsx deleted file mode 100644 index 96c5486a3..000000000 --- a/portal-ui/src/icons/ClosePanelIcon.tsx +++ /dev/null @@ -1,45 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ClosePanelIcon = (props: SVGProps) => ( - - - - - - -); - -export default ClosePanelIcon; diff --git a/portal-ui/src/icons/ClustersIcon.tsx b/portal-ui/src/icons/ClustersIcon.tsx deleted file mode 100644 index b6fdb60fb..000000000 --- a/portal-ui/src/icons/ClustersIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ClustersIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default ClustersIcon; diff --git a/portal-ui/src/icons/CollapseIcon.tsx b/portal-ui/src/icons/CollapseIcon.tsx deleted file mode 100644 index 47504ad22..000000000 --- a/portal-ui/src/icons/CollapseIcon.tsx +++ /dev/null @@ -1,45 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const CollapseIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - -); - -export default CollapseIcon; diff --git a/portal-ui/src/icons/ComputerLineIcon.tsx b/portal-ui/src/icons/ComputerLineIcon.tsx deleted file mode 100644 index 183102b3f..000000000 --- a/portal-ui/src/icons/ComputerLineIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ComputerLineIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default ComputerLineIcon; diff --git a/portal-ui/src/icons/ConfigurationsListIcon.tsx b/portal-ui/src/icons/ConfigurationsListIcon.tsx deleted file mode 100644 index 0f15c2e2c..000000000 --- a/portal-ui/src/icons/ConfigurationsListIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ConfigurationsListIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default ConfigurationsListIcon; diff --git a/portal-ui/src/icons/ConfirmDeleteIcon.tsx b/portal-ui/src/icons/ConfirmDeleteIcon.tsx deleted file mode 100644 index 310ee023b..000000000 --- a/portal-ui/src/icons/ConfirmDeleteIcon.tsx +++ /dev/null @@ -1,68 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ConfirmDeleteIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - -); - -export default ConfirmDeleteIcon; diff --git a/portal-ui/src/icons/ConfirmModalIcon.tsx b/portal-ui/src/icons/ConfirmModalIcon.tsx deleted file mode 100644 index c3ae10237..000000000 --- a/portal-ui/src/icons/ConfirmModalIcon.tsx +++ /dev/null @@ -1,61 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ConfirmModalIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - -); - -export default ConfirmModalIcon; diff --git a/portal-ui/src/icons/ConsoleAgpl.tsx b/portal-ui/src/icons/ConsoleAgpl.tsx deleted file mode 100644 index cb34d991d..000000000 --- a/portal-ui/src/icons/ConsoleAgpl.tsx +++ /dev/null @@ -1,53 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const ConsoleAgpl = (props: SVGProps) => { - return ( - - - - - - - - - ); -}; - -export default ConsoleAgpl; diff --git a/portal-ui/src/icons/ConsoleEnterprise.tsx b/portal-ui/src/icons/ConsoleEnterprise.tsx deleted file mode 100644 index 54fa6e4c0..000000000 --- a/portal-ui/src/icons/ConsoleEnterprise.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const ConsoleEnterprise = (props: SVGProps) => { - return ( - - - - - - - ); -}; - -export default ConsoleEnterprise; diff --git a/portal-ui/src/icons/ConsoleIcon.tsx b/portal-ui/src/icons/ConsoleIcon.tsx deleted file mode 100644 index 1596bcabd..000000000 --- a/portal-ui/src/icons/ConsoleIcon.tsx +++ /dev/null @@ -1,56 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ConsoleIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default ConsoleIcon; diff --git a/portal-ui/src/icons/ConsoleLogo.tsx b/portal-ui/src/icons/ConsoleLogo.tsx deleted file mode 100644 index 592757e8a..000000000 --- a/portal-ui/src/icons/ConsoleLogo.tsx +++ /dev/null @@ -1,36 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const ConsoleLogo = (props: SVGProps) => { - return ( - - - - ); -}; - -export default ConsoleLogo; diff --git a/portal-ui/src/icons/ConsoleStandard.tsx b/portal-ui/src/icons/ConsoleStandard.tsx deleted file mode 100644 index c80b21f77..000000000 --- a/portal-ui/src/icons/ConsoleStandard.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const ConsoleStandard = (props: SVGProps) => { - return ( - - - - - - - ); -}; - -export default ConsoleStandard; diff --git a/portal-ui/src/icons/CopyIcon.tsx b/portal-ui/src/icons/CopyIcon.tsx deleted file mode 100644 index 8bc8d94ab..000000000 --- a/portal-ui/src/icons/CopyIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const CopyIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default CopyIcon; diff --git a/portal-ui/src/icons/CreateGroupIcon.tsx b/portal-ui/src/icons/CreateGroupIcon.tsx deleted file mode 100644 index 29c068031..000000000 --- a/portal-ui/src/icons/CreateGroupIcon.tsx +++ /dev/null @@ -1,106 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const CreateGroupIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - - - - -); - -export default CreateGroupIcon; diff --git a/portal-ui/src/icons/CreateIcon.tsx b/portal-ui/src/icons/CreateIcon.tsx deleted file mode 100644 index 7343e4555..000000000 --- a/portal-ui/src/icons/CreateIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const CreateIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default CreateIcon; diff --git a/portal-ui/src/icons/CreateNewPathIcon.tsx b/portal-ui/src/icons/CreateNewPathIcon.tsx deleted file mode 100644 index a57fd3e4c..000000000 --- a/portal-ui/src/icons/CreateNewPathIcon.tsx +++ /dev/null @@ -1,103 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const CreateNewPathIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - - - -); - -export default CreateNewPathIcon; diff --git a/portal-ui/src/icons/CreateUserIcon.tsx b/portal-ui/src/icons/CreateUserIcon.tsx deleted file mode 100644 index 5e40b451a..000000000 --- a/portal-ui/src/icons/CreateUserIcon.tsx +++ /dev/null @@ -1,78 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const CreateUserIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - -); - -export default CreateUserIcon; diff --git a/portal-ui/src/icons/DashboardIcon.tsx b/portal-ui/src/icons/DashboardIcon.tsx deleted file mode 100644 index 0c221bfc6..000000000 --- a/portal-ui/src/icons/DashboardIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const DashboardIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default DashboardIcon; diff --git a/portal-ui/src/icons/DeleteIcon.tsx b/portal-ui/src/icons/DeleteIcon.tsx deleted file mode 100644 index 95a217ad4..000000000 --- a/portal-ui/src/icons/DeleteIcon.tsx +++ /dev/null @@ -1,42 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const DeleteIcon = (props: SVGProps) => ( - - - - - - -); -export default DeleteIcon; diff --git a/portal-ui/src/icons/DeleteNonCurrentIcon.tsx b/portal-ui/src/icons/DeleteNonCurrentIcon.tsx deleted file mode 100644 index 2bdbdd1ef..000000000 --- a/portal-ui/src/icons/DeleteNonCurrentIcon.tsx +++ /dev/null @@ -1,33 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const DeleteNonCurrentIcon = (props: SVGProps) => ( - - - - -); - -export default DeleteNonCurrentIcon; diff --git a/portal-ui/src/icons/DiagnosticsFeatureIcon.tsx b/portal-ui/src/icons/DiagnosticsFeatureIcon.tsx deleted file mode 100644 index 7eba072f3..000000000 --- a/portal-ui/src/icons/DiagnosticsFeatureIcon.tsx +++ /dev/null @@ -1,63 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const DiagnosticsFeatureIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - -); - -export default DiagnosticsFeatureIcon; diff --git a/portal-ui/src/icons/DiagnosticsIcon.tsx b/portal-ui/src/icons/DiagnosticsIcon.tsx deleted file mode 100644 index e7e776230..000000000 --- a/portal-ui/src/icons/DiagnosticsIcon.tsx +++ /dev/null @@ -1,45 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const DiagnosticsIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - - ); -}; - -export default DiagnosticsIcon; diff --git a/portal-ui/src/icons/DirectPVLogo.tsx b/portal-ui/src/icons/DirectPVLogo.tsx deleted file mode 100644 index 1b3c7fc1f..000000000 --- a/portal-ui/src/icons/DirectPVLogo.tsx +++ /dev/null @@ -1,56 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const DirectPVLogo = (props: SVGProps) => { - return ( - - - - - - - - - - - - - - - - ); -}; - -export default DirectPVLogo; diff --git a/portal-ui/src/icons/DisabledIcon.tsx b/portal-ui/src/icons/DisabledIcon.tsx deleted file mode 100644 index 02e173547..000000000 --- a/portal-ui/src/icons/DisabledIcon.tsx +++ /dev/null @@ -1,39 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const DisabledIcon = (props: SVGProps) => { - return ( - - - - - - ); -}; - -export default DisabledIcon; diff --git a/portal-ui/src/icons/DocumentationIcon.tsx b/portal-ui/src/icons/DocumentationIcon.tsx deleted file mode 100644 index 7daba2ae2..000000000 --- a/portal-ui/src/icons/DocumentationIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const DocumentationIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default DocumentationIcon; diff --git a/portal-ui/src/icons/DownloadIcon.tsx b/portal-ui/src/icons/DownloadIcon.tsx deleted file mode 100644 index 754c320ce..000000000 --- a/portal-ui/src/icons/DownloadIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const DownloadIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default DownloadIcon; diff --git a/portal-ui/src/icons/DownloadStatIcon.tsx b/portal-ui/src/icons/DownloadStatIcon.tsx deleted file mode 100644 index 7a8bdcca4..000000000 --- a/portal-ui/src/icons/DownloadStatIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const DownloadStatIcon = (props: SVGProps) => ( - - - -); - -export default DownloadStatIcon; diff --git a/portal-ui/src/icons/DriveFormatErrorsIcon.tsx b/portal-ui/src/icons/DriveFormatErrorsIcon.tsx deleted file mode 100644 index 1997fcd2f..000000000 --- a/portal-ui/src/icons/DriveFormatErrorsIcon.tsx +++ /dev/null @@ -1,114 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const DriveFormatErrorsIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - - - - -); - -export default DriveFormatErrorsIcon; diff --git a/portal-ui/src/icons/DrivesIcon.tsx b/portal-ui/src/icons/DrivesIcon.tsx deleted file mode 100644 index 017dbf2a6..000000000 --- a/portal-ui/src/icons/DrivesIcon.tsx +++ /dev/null @@ -1,56 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const DrivesIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - -); - -export default DrivesIcon; diff --git a/portal-ui/src/icons/EditIcon.tsx b/portal-ui/src/icons/EditIcon.tsx deleted file mode 100644 index 8edd99fbc..000000000 --- a/portal-ui/src/icons/EditIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const EditIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default EditIcon; diff --git a/portal-ui/src/icons/EditTagIcon.tsx b/portal-ui/src/icons/EditTagIcon.tsx deleted file mode 100644 index 7d864a262..000000000 --- a/portal-ui/src/icons/EditTagIcon.tsx +++ /dev/null @@ -1,42 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const EditTagIcon = (props: SVGProps) => ( - - - - - - - - -); - -export default EditTagIcon; diff --git a/portal-ui/src/icons/EditTenantIcon.tsx b/portal-ui/src/icons/EditTenantIcon.tsx deleted file mode 100644 index c6d14cd38..000000000 --- a/portal-ui/src/icons/EditTenantIcon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const EditTenantIcon = (props: SVGProps) => ( - - - - - - -); - -export default EditTenantIcon; diff --git a/portal-ui/src/icons/EditYamlIcon.tsx b/portal-ui/src/icons/EditYamlIcon.tsx deleted file mode 100644 index cf992e067..000000000 --- a/portal-ui/src/icons/EditYamlIcon.tsx +++ /dev/null @@ -1,71 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const EditYamlIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - -); - -export default EditYamlIcon; diff --git a/portal-ui/src/icons/EditorThemeSwitchIcon.tsx b/portal-ui/src/icons/EditorThemeSwitchIcon.tsx deleted file mode 100644 index 6751bc242..000000000 --- a/portal-ui/src/icons/EditorThemeSwitchIcon.tsx +++ /dev/null @@ -1,39 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const EditorThemeSwitchIcon = (props: SVGProps) => { - return ( - - - - ); -}; - -export default EditorThemeSwitchIcon; diff --git a/portal-ui/src/icons/EgressIcon.tsx b/portal-ui/src/icons/EgressIcon.tsx deleted file mode 100644 index 55c5eb4fb..000000000 --- a/portal-ui/src/icons/EgressIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const EgressIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default EgressIcon; diff --git a/portal-ui/src/icons/EnabledIcon.tsx b/portal-ui/src/icons/EnabledIcon.tsx deleted file mode 100644 index 4fb0565e0..000000000 --- a/portal-ui/src/icons/EnabledIcon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const EnabledIcon = (props: SVGProps) => { - return ( - - - - - - ); -}; - -export default EnabledIcon; diff --git a/portal-ui/src/icons/EnterpriseLightLogo.tsx b/portal-ui/src/icons/EnterpriseLightLogo.tsx deleted file mode 100644 index 0945e7935..000000000 --- a/portal-ui/src/icons/EnterpriseLightLogo.tsx +++ /dev/null @@ -1,36 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const EnterpriseLightLogo = (props: SVGProps) => ( - - - -); - -export default EnterpriseLightLogo; diff --git a/portal-ui/src/icons/EventSubscriptionIcon.tsx b/portal-ui/src/icons/EventSubscriptionIcon.tsx deleted file mode 100644 index b2356eb7c..000000000 --- a/portal-ui/src/icons/EventSubscriptionIcon.tsx +++ /dev/null @@ -1,70 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const EventSubscriptionIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - -); - -export default EventSubscriptionIcon; diff --git a/portal-ui/src/icons/ExtraFeaturesIcon.tsx b/portal-ui/src/icons/ExtraFeaturesIcon.tsx deleted file mode 100644 index 4d8ddc5fb..000000000 --- a/portal-ui/src/icons/ExtraFeaturesIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AccountIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); -export default AccountIcon; diff --git a/portal-ui/src/icons/FileBookIcon.tsx b/portal-ui/src/icons/FileBookIcon.tsx deleted file mode 100644 index a3a84e4df..000000000 --- a/portal-ui/src/icons/FileBookIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileBookIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default FileBookIcon; diff --git a/portal-ui/src/icons/FileCloudIcon.tsx b/portal-ui/src/icons/FileCloudIcon.tsx deleted file mode 100644 index 2d3b0f368..000000000 --- a/portal-ui/src/icons/FileCloudIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileCloudIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default FileCloudIcon; diff --git a/portal-ui/src/icons/FileCodeIcon.tsx b/portal-ui/src/icons/FileCodeIcon.tsx deleted file mode 100644 index 36a178961..000000000 --- a/portal-ui/src/icons/FileCodeIcon.tsx +++ /dev/null @@ -1,56 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileCodeIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - -); - -export default FileCodeIcon; diff --git a/portal-ui/src/icons/FileConfigIcon.tsx b/portal-ui/src/icons/FileConfigIcon.tsx deleted file mode 100644 index 9a444b935..000000000 --- a/portal-ui/src/icons/FileConfigIcon.tsx +++ /dev/null @@ -1,52 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileConfigIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default FileConfigIcon; diff --git a/portal-ui/src/icons/FileDbIcon.tsx b/portal-ui/src/icons/FileDbIcon.tsx deleted file mode 100644 index df65f50f4..000000000 --- a/portal-ui/src/icons/FileDbIcon.tsx +++ /dev/null @@ -1,56 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileDbIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - -); - -export default FileDbIcon; diff --git a/portal-ui/src/icons/FileFontIcon.tsx b/portal-ui/src/icons/FileFontIcon.tsx deleted file mode 100644 index 95bb538a3..000000000 --- a/portal-ui/src/icons/FileFontIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileFontIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default FileFontIcon; diff --git a/portal-ui/src/icons/FileImageIcon.tsx b/portal-ui/src/icons/FileImageIcon.tsx deleted file mode 100644 index bf1490dc6..000000000 --- a/portal-ui/src/icons/FileImageIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileImageIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default FileImageIcon; diff --git a/portal-ui/src/icons/FileLinkIcon.tsx b/portal-ui/src/icons/FileLinkIcon.tsx deleted file mode 100644 index c186cfd72..000000000 --- a/portal-ui/src/icons/FileLinkIcon.tsx +++ /dev/null @@ -1,54 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileLinkIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - -); - -export default FileLinkIcon; diff --git a/portal-ui/src/icons/FileLockIcon.tsx b/portal-ui/src/icons/FileLockIcon.tsx deleted file mode 100644 index 608c2ba65..000000000 --- a/portal-ui/src/icons/FileLockIcon.tsx +++ /dev/null @@ -1,52 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileLockIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default FileLockIcon; diff --git a/portal-ui/src/icons/FileMissingIcon.tsx b/portal-ui/src/icons/FileMissingIcon.tsx deleted file mode 100644 index 760d72fe3..000000000 --- a/portal-ui/src/icons/FileMissingIcon.tsx +++ /dev/null @@ -1,56 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileMissingIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - -); - -export default FileMissingIcon; diff --git a/portal-ui/src/icons/FileMusicIcon.tsx b/portal-ui/src/icons/FileMusicIcon.tsx deleted file mode 100644 index c6953b0b4..000000000 --- a/portal-ui/src/icons/FileMusicIcon.tsx +++ /dev/null @@ -1,50 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileMusicIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - -); - -export default FileMusicIcon; diff --git a/portal-ui/src/icons/FilePdfIcon.tsx b/portal-ui/src/icons/FilePdfIcon.tsx deleted file mode 100644 index b28ac2a9e..000000000 --- a/portal-ui/src/icons/FilePdfIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FilePdfIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default FilePdfIcon; diff --git a/portal-ui/src/icons/FilePptIcon.tsx b/portal-ui/src/icons/FilePptIcon.tsx deleted file mode 100644 index 5d86a4131..000000000 --- a/portal-ui/src/icons/FilePptIcon.tsx +++ /dev/null @@ -1,52 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FilePptIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default FilePptIcon; diff --git a/portal-ui/src/icons/FileTxtIcon.tsx b/portal-ui/src/icons/FileTxtIcon.tsx deleted file mode 100644 index f3845e50d..000000000 --- a/portal-ui/src/icons/FileTxtIcon.tsx +++ /dev/null @@ -1,64 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileTxtIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - -); - -export default FileTxtIcon; diff --git a/portal-ui/src/icons/FileVideoIcon.tsx b/portal-ui/src/icons/FileVideoIcon.tsx deleted file mode 100644 index 56b9dc7ef..000000000 --- a/portal-ui/src/icons/FileVideoIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileVideoIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default FileVideoIcon; diff --git a/portal-ui/src/icons/FileWorldIcon.tsx b/portal-ui/src/icons/FileWorldIcon.tsx deleted file mode 100644 index 934d8402c..000000000 --- a/portal-ui/src/icons/FileWorldIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileWorldIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default FileWorldIcon; diff --git a/portal-ui/src/icons/FileXlsIcon.tsx b/portal-ui/src/icons/FileXlsIcon.tsx deleted file mode 100644 index 7484d85a1..000000000 --- a/portal-ui/src/icons/FileXlsIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileXlsIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default FileXlsIcon; diff --git a/portal-ui/src/icons/FileZipIcon.tsx b/portal-ui/src/icons/FileZipIcon.tsx deleted file mode 100644 index f2f2658a3..000000000 --- a/portal-ui/src/icons/FileZipIcon.tsx +++ /dev/null @@ -1,57 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FileZipIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - -); - -export default FileZipIcon; diff --git a/portal-ui/src/icons/FilterIcon.tsx b/portal-ui/src/icons/FilterIcon.tsx deleted file mode 100644 index 57e81fdc7..000000000 --- a/portal-ui/src/icons/FilterIcon.tsx +++ /dev/null @@ -1,141 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const FilterIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - - - - - - - - - ); -}; - -export default FilterIcon; diff --git a/portal-ui/src/icons/FolderIcon.tsx b/portal-ui/src/icons/FolderIcon.tsx deleted file mode 100644 index 1bb085f16..000000000 --- a/portal-ui/src/icons/FolderIcon.tsx +++ /dev/null @@ -1,39 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FolderIcon = (props: SVGProps) => ( - - - - - -); - -export default FolderIcon; diff --git a/portal-ui/src/icons/FormatDrivesIcon.tsx b/portal-ui/src/icons/FormatDrivesIcon.tsx deleted file mode 100644 index 628c5272e..000000000 --- a/portal-ui/src/icons/FormatDrivesIcon.tsx +++ /dev/null @@ -1,87 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const FormatDrivesIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - -); - -export default FormatDrivesIcon; diff --git a/portal-ui/src/icons/GithubIcon.tsx b/portal-ui/src/icons/GithubIcon.tsx deleted file mode 100644 index 3818c5164..000000000 --- a/portal-ui/src/icons/GithubIcon.tsx +++ /dev/null @@ -1,36 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const GithubIcon = (props: SVGProps) => ( - - - -); - -export default GithubIcon; diff --git a/portal-ui/src/icons/GoogleTierIcon.tsx b/portal-ui/src/icons/GoogleTierIcon.tsx deleted file mode 100644 index a3f8b3ad4..000000000 --- a/portal-ui/src/icons/GoogleTierIcon.tsx +++ /dev/null @@ -1,61 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const GoogleTierIcon = (props: SVGProps) => { - return ( - - - - - - - - - - ); -}; - -export default GoogleTierIcon; diff --git a/portal-ui/src/icons/GoogleTierIconXs.tsx b/portal-ui/src/icons/GoogleTierIconXs.tsx deleted file mode 100644 index da097775c..000000000 --- a/portal-ui/src/icons/GoogleTierIconXs.tsx +++ /dev/null @@ -1,62 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const GoogleTierIconXs = (props: SVGProps) => { - return ( - - - - - - - - - - - - ); -}; - -export default GoogleTierIconXs; diff --git a/portal-ui/src/icons/GroupsIcon.tsx b/portal-ui/src/icons/GroupsIcon.tsx deleted file mode 100644 index c3e13571f..000000000 --- a/portal-ui/src/icons/GroupsIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const GroupsIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default GroupsIcon; diff --git a/portal-ui/src/icons/HardBucketQuotaIcon.tsx b/portal-ui/src/icons/HardBucketQuotaIcon.tsx deleted file mode 100644 index 19b99e20a..000000000 --- a/portal-ui/src/icons/HardBucketQuotaIcon.tsx +++ /dev/null @@ -1,76 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const HardBucketQuotaIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - ); -}; - -export default HardBucketQuotaIcon; diff --git a/portal-ui/src/icons/HealIcon.tsx b/portal-ui/src/icons/HealIcon.tsx deleted file mode 100644 index bc1156368..000000000 --- a/portal-ui/src/icons/HealIcon.tsx +++ /dev/null @@ -1,49 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const HealIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default HealIcon; diff --git a/portal-ui/src/icons/HelpIcon.tsx b/portal-ui/src/icons/HelpIcon.tsx deleted file mode 100644 index 969baae1b..000000000 --- a/portal-ui/src/icons/HelpIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const HelpIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default HelpIcon; diff --git a/portal-ui/src/icons/HelpIconFilled.tsx b/portal-ui/src/icons/HelpIconFilled.tsx deleted file mode 100644 index c44bb2b30..000000000 --- a/portal-ui/src/icons/HelpIconFilled.tsx +++ /dev/null @@ -1,57 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const HelpIconFilled = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default HelpIconFilled; diff --git a/portal-ui/src/icons/HideTextIcon.tsx b/portal-ui/src/icons/HideTextIcon.tsx deleted file mode 100644 index f1c930842..000000000 --- a/portal-ui/src/icons/HideTextIcon.tsx +++ /dev/null @@ -1,54 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const HideTextIcon = (props: SVGProps) => ( - - - - - - - - - - -); - -export default HideTextIcon; diff --git a/portal-ui/src/icons/HistoryIcon.tsx b/portal-ui/src/icons/HistoryIcon.tsx deleted file mode 100644 index a95b2c44c..000000000 --- a/portal-ui/src/icons/HistoryIcon.tsx +++ /dev/null @@ -1,47 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const HistoryIcon = (props: SVGProps) => ( - - - - - - -); - -export default HistoryIcon; diff --git a/portal-ui/src/icons/IAMPoliciesIcon.tsx b/portal-ui/src/icons/IAMPoliciesIcon.tsx deleted file mode 100644 index 0a6c993ec..000000000 --- a/portal-ui/src/icons/IAMPoliciesIcon.tsx +++ /dev/null @@ -1,66 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const IAMPoliciesIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - -); - -export default IAMPoliciesIcon; diff --git a/portal-ui/src/icons/InfoIcon.tsx b/portal-ui/src/icons/InfoIcon.tsx deleted file mode 100644 index c4805991d..000000000 --- a/portal-ui/src/icons/InfoIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const InfoIcon = (props: SVGProps) => ( - - - -); - -export default InfoIcon; diff --git a/portal-ui/src/icons/JSONIcon.tsx b/portal-ui/src/icons/JSONIcon.tsx deleted file mode 100644 index 8915de83c..000000000 --- a/portal-ui/src/icons/JSONIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const JSONIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - -); - -export default JSONIcon; diff --git a/portal-ui/src/icons/LDAPIcon.tsx b/portal-ui/src/icons/LDAPIcon.tsx deleted file mode 100644 index 7d06f8696..000000000 --- a/portal-ui/src/icons/LDAPIcon.tsx +++ /dev/null @@ -1,81 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LDAPIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - -); - -export default LDAPIcon; diff --git a/portal-ui/src/icons/LambdaBalloonIcon.tsx b/portal-ui/src/icons/LambdaBalloonIcon.tsx deleted file mode 100644 index fcf1a2aae..000000000 --- a/portal-ui/src/icons/LambdaBalloonIcon.tsx +++ /dev/null @@ -1,40 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LambdaBalloonIcon = (props: SVGProps) => ( - - - - - - - - - - - -); - -export default LambdaBalloonIcon; diff --git a/portal-ui/src/icons/LambdaIcon.tsx b/portal-ui/src/icons/LambdaIcon.tsx deleted file mode 100644 index d97413695..000000000 --- a/portal-ui/src/icons/LambdaIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LambdaIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default LambdaIcon; diff --git a/portal-ui/src/icons/LambdaNotificationsIcon.tsx b/portal-ui/src/icons/LambdaNotificationsIcon.tsx deleted file mode 100644 index ea76a2986..000000000 --- a/portal-ui/src/icons/LambdaNotificationsIcon.tsx +++ /dev/null @@ -1,36 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const LambdaNotificationsIcon = (props: SVGProps) => { - return ( - - - - ); -}; - -export default LambdaNotificationsIcon; diff --git a/portal-ui/src/icons/LegalHoldIcon.tsx b/portal-ui/src/icons/LegalHoldIcon.tsx deleted file mode 100644 index 659135760..000000000 --- a/portal-ui/src/icons/LegalHoldIcon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LegalHoldIcon = (props: SVGProps) => ( - - - -); - -export default LegalHoldIcon; diff --git a/portal-ui/src/icons/LicenseDocIcon.tsx b/portal-ui/src/icons/LicenseDocIcon.tsx deleted file mode 100644 index 3a5a25b1a..000000000 --- a/portal-ui/src/icons/LicenseDocIcon.tsx +++ /dev/null @@ -1,54 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LicenseDocIcon = (props: SVGProps) => ( - - - - - - - - - - -); - -export default LicenseDocIcon; diff --git a/portal-ui/src/icons/LicenseIcon.tsx b/portal-ui/src/icons/LicenseIcon.tsx deleted file mode 100644 index c94c44f69..000000000 --- a/portal-ui/src/icons/LicenseIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LicenseIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default LicenseIcon; diff --git a/portal-ui/src/icons/LifecycleConfigIcon.tsx b/portal-ui/src/icons/LifecycleConfigIcon.tsx deleted file mode 100644 index 7996bcb9f..000000000 --- a/portal-ui/src/icons/LifecycleConfigIcon.tsx +++ /dev/null @@ -1,60 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LifecycleConfigIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default LifecycleConfigIcon; diff --git a/portal-ui/src/icons/LinkIcon.tsx b/portal-ui/src/icons/LinkIcon.tsx deleted file mode 100644 index bf4621a11..000000000 --- a/portal-ui/src/icons/LinkIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LinkIcon = (props: SVGProps) => ( - - - -); - -export default LinkIcon; diff --git a/portal-ui/src/icons/LockFilledIcon.tsx b/portal-ui/src/icons/LockFilledIcon.tsx deleted file mode 100644 index d3952a19c..000000000 --- a/portal-ui/src/icons/LockFilledIcon.tsx +++ /dev/null @@ -1,37 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LockFilledIcon = (props: SVGProps) => ( - - - -); - -export default LockFilledIcon; diff --git a/portal-ui/src/icons/LockIcon.tsx b/portal-ui/src/icons/LockIcon.tsx deleted file mode 100644 index 5a16203f4..000000000 --- a/portal-ui/src/icons/LockIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LockIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default LockIcon; diff --git a/portal-ui/src/icons/LoginMinIOLogo.tsx b/portal-ui/src/icons/LoginMinIOLogo.tsx deleted file mode 100644 index 21965ccbe..000000000 --- a/portal-ui/src/icons/LoginMinIOLogo.tsx +++ /dev/null @@ -1,38 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LoginMinIOLogo = (props: SVGProps) => ( - - - - - -); - -export default LoginMinIOLogo; diff --git a/portal-ui/src/icons/LogoutIcon.tsx b/portal-ui/src/icons/LogoutIcon.tsx deleted file mode 100644 index b20af86e1..000000000 --- a/portal-ui/src/icons/LogoutIcon.tsx +++ /dev/null @@ -1,53 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LogoutIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default LogoutIcon; diff --git a/portal-ui/src/icons/LogsIcon.tsx b/portal-ui/src/icons/LogsIcon.tsx deleted file mode 100644 index cd8e8a903..000000000 --- a/portal-ui/src/icons/LogsIcon.tsx +++ /dev/null @@ -1,54 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LogsIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - -); - -export default LogsIcon; diff --git a/portal-ui/src/icons/MenuToggleIcon.tsx b/portal-ui/src/icons/MenuToggleIcon.tsx deleted file mode 100644 index f695d28f5..000000000 --- a/portal-ui/src/icons/MenuToggleIcon.tsx +++ /dev/null @@ -1,38 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const MenuToggleIcon = (props: SVGProps) => ( - - - - - -); - -export default MenuToggleIcon; diff --git a/portal-ui/src/icons/MetadataIcon.tsx b/portal-ui/src/icons/MetadataIcon.tsx deleted file mode 100644 index 4d2285d77..000000000 --- a/portal-ui/src/icons/MetadataIcon.tsx +++ /dev/null @@ -1,39 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const MetadataIcon = (props: SVGProps) => ( - - - - -); - -export default MetadataIcon; diff --git a/portal-ui/src/icons/MinIOTierIcon.tsx b/portal-ui/src/icons/MinIOTierIcon.tsx deleted file mode 100644 index 478ee041c..000000000 --- a/portal-ui/src/icons/MinIOTierIcon.tsx +++ /dev/null @@ -1,38 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const MinIOTierIcon = (props: SVGProps) => { - return ( - - - - ); -}; - -export default MinIOTierIcon; diff --git a/portal-ui/src/icons/MinIOTierIconXs.tsx b/portal-ui/src/icons/MinIOTierIconXs.tsx deleted file mode 100644 index e9002a487..000000000 --- a/portal-ui/src/icons/MinIOTierIconXs.tsx +++ /dev/null @@ -1,37 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const MinIOTierIconXs = (props: SVGProps) => { - return ( - - - - ); -}; - -export default MinIOTierIconXs; diff --git a/portal-ui/src/icons/MirroringIcon.tsx b/portal-ui/src/icons/MirroringIcon.tsx deleted file mode 100644 index b6168825a..000000000 --- a/portal-ui/src/icons/MirroringIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const MirroringIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default MirroringIcon; diff --git a/portal-ui/src/icons/MultipleBucketsIcon.tsx b/portal-ui/src/icons/MultipleBucketsIcon.tsx deleted file mode 100644 index 04578710c..000000000 --- a/portal-ui/src/icons/MultipleBucketsIcon.tsx +++ /dev/null @@ -1,49 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const MultipleBucketsIcon = (props: SVGProps) => { - return ( - - - - - - - - - ); -}; - -export default MultipleBucketsIcon; diff --git a/portal-ui/src/icons/NetworkGetIcon.tsx b/portal-ui/src/icons/NetworkGetIcon.tsx deleted file mode 100644 index d9a1b86a2..000000000 --- a/portal-ui/src/icons/NetworkGetIcon.tsx +++ /dev/null @@ -1,36 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const NetworkGetIcon = (props: SVGProps) => { - return ( - - - - ); -}; - -export default NetworkGetIcon; diff --git a/portal-ui/src/icons/NetworkPutIcon.tsx b/portal-ui/src/icons/NetworkPutIcon.tsx deleted file mode 100644 index 4301ea882..000000000 --- a/portal-ui/src/icons/NetworkPutIcon.tsx +++ /dev/null @@ -1,33 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const NetworkPutIcon = (props: SVGProps) => { - return ( - - - - ); -}; - -export default NetworkPutIcon; diff --git a/portal-ui/src/icons/NewAccountIcon.tsx b/portal-ui/src/icons/NewAccountIcon.tsx deleted file mode 100644 index 1c3935a96..000000000 --- a/portal-ui/src/icons/NewAccountIcon.tsx +++ /dev/null @@ -1,76 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const NewAccountIcon = (props: SVGProps) => { - return ( - - - - - - - - - ); -}; - -export default NewAccountIcon; diff --git a/portal-ui/src/icons/NewPathIcon.tsx b/portal-ui/src/icons/NewPathIcon.tsx deleted file mode 100644 index 217862e09..000000000 --- a/portal-ui/src/icons/NewPathIcon.tsx +++ /dev/null @@ -1,53 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const NewPathIcon = (props: SVGProps) => ( - - - - - - - - - -); - -export default NewPathIcon; diff --git a/portal-ui/src/icons/NewPoolIcon.tsx b/portal-ui/src/icons/NewPoolIcon.tsx deleted file mode 100644 index 0e1d0c058..000000000 --- a/portal-ui/src/icons/NewPoolIcon.tsx +++ /dev/null @@ -1,85 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const NewPoolIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - -); - -export default NewPoolIcon; diff --git a/portal-ui/src/icons/NextArrowIcon.tsx b/portal-ui/src/icons/NextArrowIcon.tsx deleted file mode 100644 index 1d064559d..000000000 --- a/portal-ui/src/icons/NextArrowIcon.tsx +++ /dev/null @@ -1,47 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const NextArrowIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default NextArrowIcon; diff --git a/portal-ui/src/icons/OIDCIcon.tsx b/portal-ui/src/icons/OIDCIcon.tsx deleted file mode 100644 index 01701d2fb..000000000 --- a/portal-ui/src/icons/OIDCIcon.tsx +++ /dev/null @@ -1,58 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const OIDCIcon = (props: SVGProps) => ( - - - - - - - - - - - -); - -export default OIDCIcon; diff --git a/portal-ui/src/icons/ObjectBrowser1Icon.tsx b/portal-ui/src/icons/ObjectBrowser1Icon.tsx deleted file mode 100644 index 17239b873..000000000 --- a/portal-ui/src/icons/ObjectBrowser1Icon.tsx +++ /dev/null @@ -1,70 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ObjectBrowser1Icon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - -); - -export default ObjectBrowser1Icon; diff --git a/portal-ui/src/icons/ObjectBrowserFolderIcon.tsx b/portal-ui/src/icons/ObjectBrowserFolderIcon.tsx deleted file mode 100644 index 8684e48fb..000000000 --- a/portal-ui/src/icons/ObjectBrowserFolderIcon.tsx +++ /dev/null @@ -1,68 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ObjectBrowserFolderIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - - - - - - ); -}; - -export default ObjectBrowserFolderIcon; diff --git a/portal-ui/src/icons/ObjectBrowserIcon.tsx b/portal-ui/src/icons/ObjectBrowserIcon.tsx deleted file mode 100644 index 497467cd2..000000000 --- a/portal-ui/src/icons/ObjectBrowserIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ObjectBrowserIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default ObjectBrowserIcon; diff --git a/portal-ui/src/icons/ObjectInfoIcon.tsx b/portal-ui/src/icons/ObjectInfoIcon.tsx deleted file mode 100644 index c4ccad51f..000000000 --- a/portal-ui/src/icons/ObjectInfoIcon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ObjectInfoIcon = (props: SVGProps) => ( - - - -); - -export default ObjectInfoIcon; diff --git a/portal-ui/src/icons/ObjectManagerIcon.tsx b/portal-ui/src/icons/ObjectManagerIcon.tsx deleted file mode 100644 index eea491a7c..000000000 --- a/portal-ui/src/icons/ObjectManagerIcon.tsx +++ /dev/null @@ -1,52 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ObjectManagerIcon = (props: SVGProps) => { - return ( - - - - - - - - - - ); -}; - -export default ObjectManagerIcon; diff --git a/portal-ui/src/icons/ObjectPreviewIcon.tsx b/portal-ui/src/icons/ObjectPreviewIcon.tsx deleted file mode 100644 index da66f684f..000000000 --- a/portal-ui/src/icons/ObjectPreviewIcon.tsx +++ /dev/null @@ -1,83 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ObjectPreviewIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - -); - -export default ObjectPreviewIcon; diff --git a/portal-ui/src/icons/OfflineRegistrationBackIcon.tsx b/portal-ui/src/icons/OfflineRegistrationBackIcon.tsx deleted file mode 100644 index 5927dcb30..000000000 --- a/portal-ui/src/icons/OfflineRegistrationBackIcon.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import * as React from "react"; -import { SVGProps } from "react"; - -const OfflineRegistrationBackIcon = (props: SVGProps) => ( - - - - - - - - -); - -export default OfflineRegistrationBackIcon; diff --git a/portal-ui/src/icons/OfflineRegistrationIcon.tsx b/portal-ui/src/icons/OfflineRegistrationIcon.tsx deleted file mode 100644 index 25acf4ac7..000000000 --- a/portal-ui/src/icons/OfflineRegistrationIcon.tsx +++ /dev/null @@ -1,69 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const OfflineRegistrationIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - -); - -export default OfflineRegistrationIcon; diff --git a/portal-ui/src/icons/OnlineRegistrationBackIcon.tsx b/portal-ui/src/icons/OnlineRegistrationBackIcon.tsx deleted file mode 100644 index 7ff1dcd68..000000000 --- a/portal-ui/src/icons/OnlineRegistrationBackIcon.tsx +++ /dev/null @@ -1,86 +0,0 @@ -import * as React from "react"; -import { SVGProps } from "react"; - -const OnlineRegistrationBackIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - - - -); - -export default OnlineRegistrationBackIcon; diff --git a/portal-ui/src/icons/OnlineRegistrationIcon.tsx b/portal-ui/src/icons/OnlineRegistrationIcon.tsx deleted file mode 100644 index 63460c4a0..000000000 --- a/portal-ui/src/icons/OnlineRegistrationIcon.tsx +++ /dev/null @@ -1,108 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const OnlineRegistrationIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - - - - - -); - -export default OnlineRegistrationIcon; diff --git a/portal-ui/src/icons/OpenListIcon.tsx b/portal-ui/src/icons/OpenListIcon.tsx deleted file mode 100644 index 4972a3735..000000000 --- a/portal-ui/src/icons/OpenListIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const OpenListIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default OpenListIcon; diff --git a/portal-ui/src/icons/OpenSourceIcon.tsx b/portal-ui/src/icons/OpenSourceIcon.tsx deleted file mode 100644 index 5d2cc3ea6..000000000 --- a/portal-ui/src/icons/OpenSourceIcon.tsx +++ /dev/null @@ -1,36 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const OpenSourceIcon = (props: SVGProps) => ( - - - -); - -export default OpenSourceIcon; diff --git a/portal-ui/src/icons/OperatorLogo.tsx b/portal-ui/src/icons/OperatorLogo.tsx deleted file mode 100644 index 8c7b211e9..000000000 --- a/portal-ui/src/icons/OperatorLogo.tsx +++ /dev/null @@ -1,40 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const OperatorLogo = (props: SVGProps) => { - return ( - - - - - - - - ); -}; - -export default OperatorLogo; diff --git a/portal-ui/src/icons/PasswordKeyIcon.tsx b/portal-ui/src/icons/PasswordKeyIcon.tsx deleted file mode 100644 index 4396909bd..000000000 --- a/portal-ui/src/icons/PasswordKeyIcon.tsx +++ /dev/null @@ -1,36 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const PasswordKeyIcon = (props: SVGProps) => { - return ( - - - - ); -}; - -export default PasswordKeyIcon; diff --git a/portal-ui/src/icons/PerformanceFeatureIcon.tsx b/portal-ui/src/icons/PerformanceFeatureIcon.tsx deleted file mode 100644 index 74a07c412..000000000 --- a/portal-ui/src/icons/PerformanceFeatureIcon.tsx +++ /dev/null @@ -1,89 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const PerformanceFeatureIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - - -); - -export default PerformanceFeatureIcon; diff --git a/portal-ui/src/icons/PermissionIcon.tsx b/portal-ui/src/icons/PermissionIcon.tsx deleted file mode 100644 index b3421a71e..000000000 --- a/portal-ui/src/icons/PermissionIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const PermissionIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default PermissionIcon; diff --git a/portal-ui/src/icons/PreviewIcon.tsx b/portal-ui/src/icons/PreviewIcon.tsx deleted file mode 100644 index 46850595f..000000000 --- a/portal-ui/src/icons/PreviewIcon.tsx +++ /dev/null @@ -1,50 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const PreviewIcon = (props: SVGProps) => ( - - - - - - - - - - - -); - -export default PreviewIcon; diff --git a/portal-ui/src/icons/PrometheusErrorIcon.tsx b/portal-ui/src/icons/PrometheusErrorIcon.tsx deleted file mode 100644 index a6a464d5c..000000000 --- a/portal-ui/src/icons/PrometheusErrorIcon.tsx +++ /dev/null @@ -1,69 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const PrometheusErrorIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default PrometheusErrorIcon; diff --git a/portal-ui/src/icons/PrometheusIcon.tsx b/portal-ui/src/icons/PrometheusIcon.tsx deleted file mode 100644 index d26cc2923..000000000 --- a/portal-ui/src/icons/PrometheusIcon.tsx +++ /dev/null @@ -1,43 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const PrometheusIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default PrometheusIcon; diff --git a/portal-ui/src/icons/RecoverIcon.tsx b/portal-ui/src/icons/RecoverIcon.tsx deleted file mode 100644 index c788ca602..000000000 --- a/portal-ui/src/icons/RecoverIcon.tsx +++ /dev/null @@ -1,36 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const RecoverIcon = (props: SVGProps) => ( - - - -); - -export default RecoverIcon; diff --git a/portal-ui/src/icons/RedoIcon.tsx b/portal-ui/src/icons/RedoIcon.tsx deleted file mode 100644 index 6fa890b61..000000000 --- a/portal-ui/src/icons/RedoIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const RedoIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default RedoIcon; diff --git a/portal-ui/src/icons/RefreshIcon.tsx b/portal-ui/src/icons/RefreshIcon.tsx deleted file mode 100644 index 30c65db7c..000000000 --- a/portal-ui/src/icons/RefreshIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const RefreshIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default RefreshIcon; diff --git a/portal-ui/src/icons/RemoveAllIcon.tsx b/portal-ui/src/icons/RemoveAllIcon.tsx deleted file mode 100644 index cac904865..000000000 --- a/portal-ui/src/icons/RemoveAllIcon.tsx +++ /dev/null @@ -1,37 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ObjectManagerIcon = (props: SVGProps) => { - return ( - - - - - - - ); -}; - -export default ObjectManagerIcon; diff --git a/portal-ui/src/icons/RemoveIcon.tsx b/portal-ui/src/icons/RemoveIcon.tsx deleted file mode 100644 index a2a3249d0..000000000 --- a/portal-ui/src/icons/RemoveIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const RemoveIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default RemoveIcon; diff --git a/portal-ui/src/icons/ReportedUsageFullIcon.tsx b/portal-ui/src/icons/ReportedUsageFullIcon.tsx deleted file mode 100644 index ce2588b42..000000000 --- a/portal-ui/src/icons/ReportedUsageFullIcon.tsx +++ /dev/null @@ -1,72 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const ReportedUsageFullIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - - - - - ); -}; - -export default ReportedUsageFullIcon; diff --git a/portal-ui/src/icons/ReportedUsageIcon.tsx b/portal-ui/src/icons/ReportedUsageIcon.tsx deleted file mode 100644 index 04d3518d8..000000000 --- a/portal-ui/src/icons/ReportedUsageIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ReportedUsageIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default ReportedUsageIcon; diff --git a/portal-ui/src/icons/RetentionIcon.tsx b/portal-ui/src/icons/RetentionIcon.tsx deleted file mode 100644 index 42815d364..000000000 --- a/portal-ui/src/icons/RetentionIcon.tsx +++ /dev/null @@ -1,39 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const RetentionIcon = (props: SVGProps) => ( - - - - -); - -export default RetentionIcon; diff --git a/portal-ui/src/icons/S3TierIcon.tsx b/portal-ui/src/icons/S3TierIcon.tsx deleted file mode 100644 index 3a1dc1aa4..000000000 --- a/portal-ui/src/icons/S3TierIcon.tsx +++ /dev/null @@ -1,116 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const S3TierIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - - - - ); -}; - -export default S3TierIcon; diff --git a/portal-ui/src/icons/S3TierIconXs.tsx b/portal-ui/src/icons/S3TierIconXs.tsx deleted file mode 100644 index 580548880..000000000 --- a/portal-ui/src/icons/S3TierIconXs.tsx +++ /dev/null @@ -1,111 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const S3TierIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - - - - ); -}; - -export default S3TierIcon; diff --git a/portal-ui/src/icons/SearchIcon.tsx b/portal-ui/src/icons/SearchIcon.tsx deleted file mode 100644 index 9c3740bca..000000000 --- a/portal-ui/src/icons/SearchIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const SearchIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default SearchIcon; diff --git a/portal-ui/src/icons/SelectAllIcon.tsx b/portal-ui/src/icons/SelectAllIcon.tsx deleted file mode 100644 index e2fef06f7..000000000 --- a/portal-ui/src/icons/SelectAllIcon.tsx +++ /dev/null @@ -1,55 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const SelectAllIcon = (props: SVGProps) => ( - - - - - - - - -); - -export default SelectAllIcon; diff --git a/portal-ui/src/icons/SelectMultipleIcon.tsx b/portal-ui/src/icons/SelectMultipleIcon.tsx deleted file mode 100644 index 714818371..000000000 --- a/portal-ui/src/icons/SelectMultipleIcon.tsx +++ /dev/null @@ -1,41 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const SelectMultipleIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default SelectMultipleIcon; diff --git a/portal-ui/src/icons/ServersIcon.tsx b/portal-ui/src/icons/ServersIcon.tsx deleted file mode 100644 index 828d84f55..000000000 --- a/portal-ui/src/icons/ServersIcon.tsx +++ /dev/null @@ -1,60 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ServersIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - -); - -export default ServersIcon; diff --git a/portal-ui/src/icons/ServiceAccountCredentialsIcon.tsx b/portal-ui/src/icons/ServiceAccountCredentialsIcon.tsx deleted file mode 100644 index 8c3413038..000000000 --- a/portal-ui/src/icons/ServiceAccountCredentialsIcon.tsx +++ /dev/null @@ -1,79 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ServiceAccountCredentialsIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - -); - -export default ServiceAccountCredentialsIcon; diff --git a/portal-ui/src/icons/ServiceAccountIcon.tsx b/portal-ui/src/icons/ServiceAccountIcon.tsx deleted file mode 100644 index d3aa6faba..000000000 --- a/portal-ui/src/icons/ServiceAccountIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ServiceAccountIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default ServiceAccountIcon; diff --git a/portal-ui/src/icons/ServiceAccountsIcon.tsx b/portal-ui/src/icons/ServiceAccountsIcon.tsx deleted file mode 100644 index 1b6ced885..000000000 --- a/portal-ui/src/icons/ServiceAccountsIcon.tsx +++ /dev/null @@ -1,43 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const ServiceAccountsIcon = (props: SVGProps) => { - return ( - - - - - - - - ); -}; - -export default ServiceAccountsIcon; diff --git a/portal-ui/src/icons/SettingsIcon.tsx b/portal-ui/src/icons/SettingsIcon.tsx deleted file mode 100644 index 1f900f2c6..000000000 --- a/portal-ui/src/icons/SettingsIcon.tsx +++ /dev/null @@ -1,50 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const SettingsIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - -); - -export default SettingsIcon; diff --git a/portal-ui/src/icons/ShareIcon.tsx b/portal-ui/src/icons/ShareIcon.tsx deleted file mode 100644 index 230cfb908..000000000 --- a/portal-ui/src/icons/ShareIcon.tsx +++ /dev/null @@ -1,50 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ShareIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - -); - -export default ShareIcon; diff --git a/portal-ui/src/icons/ShowTextIcon.tsx b/portal-ui/src/icons/ShowTextIcon.tsx deleted file mode 100644 index 06822c0de..000000000 --- a/portal-ui/src/icons/ShowTextIcon.tsx +++ /dev/null @@ -1,52 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ShowTextIcon = (props: SVGProps) => ( - - - - - - - - -); - -export default ShowTextIcon; diff --git a/portal-ui/src/icons/SidebarMenus/AccessMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/AccessMenuIcon.tsx deleted file mode 100644 index 21b9fd2a5..000000000 --- a/portal-ui/src/icons/SidebarMenus/AccessMenuIcon.tsx +++ /dev/null @@ -1,53 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AccessMenuIcon = (props: SVGProps) => ( - - - - - - - - - - -); - -export default AccessMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/AccountsMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/AccountsMenuIcon.tsx deleted file mode 100644 index e3809c38a..000000000 --- a/portal-ui/src/icons/SidebarMenus/AccountsMenuIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AccountsMenuIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default AccountsMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/AuditLogsMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/AuditLogsMenuIcon.tsx deleted file mode 100644 index e39951553..000000000 --- a/portal-ui/src/icons/SidebarMenus/AuditLogsMenuIcon.tsx +++ /dev/null @@ -1,65 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const AuditLogsMenuIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default AuditLogsMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/BucketsMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/BucketsMenuIcon.tsx deleted file mode 100644 index 59499cce8..000000000 --- a/portal-ui/src/icons/SidebarMenus/BucketsMenuIcon.tsx +++ /dev/null @@ -1,79 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const BucketsMenuIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - -); - -export default BucketsMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/CallHomeMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/CallHomeMenuIcon.tsx deleted file mode 100644 index 85917eed9..000000000 --- a/portal-ui/src/icons/SidebarMenus/CallHomeMenuIcon.tsx +++ /dev/null @@ -1,38 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const CallHomeMenuIcon = (props: SVGProps) => ( - - - -); - -export default CallHomeMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/DiagnosticsMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/DiagnosticsMenuIcon.tsx deleted file mode 100644 index ce53e790f..000000000 --- a/portal-ui/src/icons/SidebarMenus/DiagnosticsMenuIcon.tsx +++ /dev/null @@ -1,47 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const DiagnosticsMenuIcon = (props: SVGProps) => ( - - - - - - -); - -export default DiagnosticsMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/DrivesMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/DrivesMenuIcon.tsx deleted file mode 100644 index d2dbea377..000000000 --- a/portal-ui/src/icons/SidebarMenus/DrivesMenuIcon.tsx +++ /dev/null @@ -1,65 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const DrivesMenuIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default DrivesMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/GroupsMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/GroupsMenuIcon.tsx deleted file mode 100644 index 0e3ef645d..000000000 --- a/portal-ui/src/icons/SidebarMenus/GroupsMenuIcon.tsx +++ /dev/null @@ -1,83 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const GroupsMenuIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - -); - -export default GroupsMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/HealthMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/HealthMenuIcon.tsx deleted file mode 100644 index 9aef271ba..000000000 --- a/portal-ui/src/icons/SidebarMenus/HealthMenuIcon.tsx +++ /dev/null @@ -1,39 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const HealthMenuIcon = (props: SVGProps) => ( - - - - - -); - -export default HealthMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/IdentityMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/IdentityMenuIcon.tsx deleted file mode 100644 index 0456d5906..000000000 --- a/portal-ui/src/icons/SidebarMenus/IdentityMenuIcon.tsx +++ /dev/null @@ -1,39 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const IdentityMenuIcon = (props: SVGProps) => ( - - - -); - -export default IdentityMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/InspectMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/InspectMenuIcon.tsx deleted file mode 100644 index 60196342b..000000000 --- a/portal-ui/src/icons/SidebarMenus/InspectMenuIcon.tsx +++ /dev/null @@ -1,36 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const InspectMenuIcon = (props: SVGProps) => ( - - - -); - -export default InspectMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/LogsMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/LogsMenuIcon.tsx deleted file mode 100644 index 272988c95..000000000 --- a/portal-ui/src/icons/SidebarMenus/LogsMenuIcon.tsx +++ /dev/null @@ -1,63 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const LogsMenuIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default LogsMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/MenuCollapsedIcon.tsx b/portal-ui/src/icons/SidebarMenus/MenuCollapsedIcon.tsx deleted file mode 100644 index 4bac4a3a5..000000000 --- a/portal-ui/src/icons/SidebarMenus/MenuCollapsedIcon.tsx +++ /dev/null @@ -1,64 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const MenuCollapsedIcon = (props: SVGProps) => ( - - - - - - - - - - - -); - -export default MenuCollapsedIcon; diff --git a/portal-ui/src/icons/SidebarMenus/MenuExpandedIcon.tsx b/portal-ui/src/icons/SidebarMenus/MenuExpandedIcon.tsx deleted file mode 100644 index 6382640ad..000000000 --- a/portal-ui/src/icons/SidebarMenus/MenuExpandedIcon.tsx +++ /dev/null @@ -1,61 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const MenuCollapsedIcon = (props: SVGProps) => ( - - - - - - - - - -); - -export default MenuCollapsedIcon; diff --git a/portal-ui/src/icons/SidebarMenus/MetricsMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/MetricsMenuIcon.tsx deleted file mode 100644 index 40d870651..000000000 --- a/portal-ui/src/icons/SidebarMenus/MetricsMenuIcon.tsx +++ /dev/null @@ -1,57 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const MetricsMenuIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default MetricsMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/MonitoringMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/MonitoringMenuIcon.tsx deleted file mode 100644 index f050c3b7c..000000000 --- a/portal-ui/src/icons/SidebarMenus/MonitoringMenuIcon.tsx +++ /dev/null @@ -1,58 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const MonitoringMenuIcon = (props: SVGProps) => ( - - - - - - - - - - - -); - -export default MonitoringMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/PerformanceMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/PerformanceMenuIcon.tsx deleted file mode 100644 index 52f411cd3..000000000 --- a/portal-ui/src/icons/SidebarMenus/PerformanceMenuIcon.tsx +++ /dev/null @@ -1,58 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const PerformanceMenuIcon = (props: SVGProps) => ( - - - - - - - - - - - -); - -export default PerformanceMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/ProfileMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/ProfileMenuIcon.tsx deleted file mode 100644 index 9d2753c42..000000000 --- a/portal-ui/src/icons/SidebarMenus/ProfileMenuIcon.tsx +++ /dev/null @@ -1,65 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ProfileMenuIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default ProfileMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/RegisterMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/RegisterMenuIcon.tsx deleted file mode 100644 index 69eba1690..000000000 --- a/portal-ui/src/icons/SidebarMenus/RegisterMenuIcon.tsx +++ /dev/null @@ -1,53 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const RegisterMenuIcon = (props: SVGProps) => ( - - - - - - - - - - -); - -export default RegisterMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/SupportMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/SupportMenuIcon.tsx deleted file mode 100644 index cbc508ff4..000000000 --- a/portal-ui/src/icons/SidebarMenus/SupportMenuIcon.tsx +++ /dev/null @@ -1,59 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const SupportMenuIcon = (props: SVGProps) => ( - - - - - - - - - - - -); - -export default SupportMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/TraceMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/TraceMenuIcon.tsx deleted file mode 100644 index f653e5023..000000000 --- a/portal-ui/src/icons/SidebarMenus/TraceMenuIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const TraceMenuIcon = (props: SVGProps) => ( - - - - - - -); - -export default TraceMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/UsersMenuIcon.tsx b/portal-ui/src/icons/SidebarMenus/UsersMenuIcon.tsx deleted file mode 100644 index 783e81b84..000000000 --- a/portal-ui/src/icons/SidebarMenus/UsersMenuIcon.tsx +++ /dev/null @@ -1,55 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const UsersMenuIcon = (props: SVGProps) => ( - - - - - - - - - - - -); - -export default UsersMenuIcon; diff --git a/portal-ui/src/icons/SidebarMenus/index.ts b/portal-ui/src/icons/SidebarMenus/index.ts deleted file mode 100644 index 2bcee3cb4..000000000 --- a/portal-ui/src/icons/SidebarMenus/index.ts +++ /dev/null @@ -1,37 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . -export { default as InspectMenuIcon } from "./InspectMenuIcon"; -export { default as AuditLogsMenuIcon } from "./AuditLogsMenuIcon"; -export { default as HealthMenuIcon } from "./HealthMenuIcon"; -export { default as MenuExpandedIcon } from "./MenuExpandedIcon"; -export { default as TraceMenuIcon } from "./TraceMenuIcon"; -export { default as GroupsMenuIcon } from "./GroupsMenuIcon"; -export { default as MenuCollapsedIcon } from "./MenuCollapsedIcon"; -export { default as MetricsMenuIcon } from "./MetricsMenuIcon"; -export { default as IdentityMenuIcon } from "./IdentityMenuIcon"; -export { default as LogsMenuIcon } from "./LogsMenuIcon"; -export { default as MonitoringMenuIcon } from "./MonitoringMenuIcon"; -export { default as SupportMenuIcon } from "./SupportMenuIcon"; -export { default as PerformanceMenuIcon } from "./PerformanceMenuIcon"; -export { default as DiagnosticsMenuIcon } from "./DiagnosticsMenuIcon"; -export { default as AccessMenuIcon } from "./AccessMenuIcon"; -export { default as RegisterMenuIcon } from "./RegisterMenuIcon"; -export { default as DrivesMenuIcon } from "./DrivesMenuIcon"; -export { default as AccountsMenuIcon } from "./AccountsMenuIcon"; -export { default as ProfileMenuIcon } from "./ProfileMenuIcon"; -export { default as CallHomeMenuIcon } from "./CallHomeMenuIcon"; -export { default as BucketsMenuIcon } from "./BucketsMenuIcon"; -export { default as UsersMenuIcon } from "./UsersMenuIcon"; diff --git a/portal-ui/src/icons/SpeedtestIcon.tsx b/portal-ui/src/icons/SpeedtestIcon.tsx deleted file mode 100644 index 39a34a30e..000000000 --- a/portal-ui/src/icons/SpeedtestIcon.tsx +++ /dev/null @@ -1,91 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const SpeedtestIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - - - - -); - -export default SpeedtestIcon; diff --git a/portal-ui/src/icons/StandardLightLogo.tsx b/portal-ui/src/icons/StandardLightLogo.tsx deleted file mode 100644 index f4470a126..000000000 --- a/portal-ui/src/icons/StandardLightLogo.tsx +++ /dev/null @@ -1,36 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const StandardLightLogo = (props: SVGProps) => ( - - - -); - -export default StandardLightLogo; diff --git a/portal-ui/src/icons/StarIcon.tsx b/portal-ui/src/icons/StarIcon.tsx deleted file mode 100644 index b3114b290..000000000 --- a/portal-ui/src/icons/StarIcon.tsx +++ /dev/null @@ -1,33 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const StarIcon = (props: SVGProps) => ( - - - - -); - -export default StarIcon; diff --git a/portal-ui/src/icons/StorageIcon.tsx b/portal-ui/src/icons/StorageIcon.tsx deleted file mode 100644 index c6f4a5b96..000000000 --- a/portal-ui/src/icons/StorageIcon.tsx +++ /dev/null @@ -1,82 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const StorageIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - -); - -export default StorageIcon; diff --git a/portal-ui/src/icons/SuccessIcon.tsx b/portal-ui/src/icons/SuccessIcon.tsx deleted file mode 100644 index 192446068..000000000 --- a/portal-ui/src/icons/SuccessIcon.tsx +++ /dev/null @@ -1,41 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const SuccessIcon = (props: SVGProps) => { - return ( - - - - ); -}; - -export default SuccessIcon; diff --git a/portal-ui/src/icons/SyncIcon.tsx b/portal-ui/src/icons/SyncIcon.tsx deleted file mode 100644 index 92b7bc3fe..000000000 --- a/portal-ui/src/icons/SyncIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const SyncIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default SyncIcon; diff --git a/portal-ui/src/icons/TagsIcon.tsx b/portal-ui/src/icons/TagsIcon.tsx deleted file mode 100644 index 73afb9aab..000000000 --- a/portal-ui/src/icons/TagsIcon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const TagsIcon = (props: SVGProps) => ( - - - -); - -export default TagsIcon; diff --git a/portal-ui/src/icons/TenantsIcon.tsx b/portal-ui/src/icons/TenantsIcon.tsx deleted file mode 100644 index e5924671d..000000000 --- a/portal-ui/src/icons/TenantsIcon.tsx +++ /dev/null @@ -1,48 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const TenantsIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default TenantsIcon; diff --git a/portal-ui/src/icons/TenantsOutlineIcon.tsx b/portal-ui/src/icons/TenantsOutlineIcon.tsx deleted file mode 100644 index 30a6d5200..000000000 --- a/portal-ui/src/icons/TenantsOutlineIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const TenantsOutlineIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default TenantsOutlineIcon; diff --git a/portal-ui/src/icons/TierOfflineIcon.tsx b/portal-ui/src/icons/TierOfflineIcon.tsx deleted file mode 100644 index ae1972cb7..000000000 --- a/portal-ui/src/icons/TierOfflineIcon.tsx +++ /dev/null @@ -1,37 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const TierOfflineIcon = (props: SVGProps) => ( - - - -); - -export default TierOfflineIcon; diff --git a/portal-ui/src/icons/TierOnlineIcon.tsx b/portal-ui/src/icons/TierOnlineIcon.tsx deleted file mode 100644 index 9ac7c64e7..000000000 --- a/portal-ui/src/icons/TierOnlineIcon.tsx +++ /dev/null @@ -1,35 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const TierOnlineIcon = (props: SVGProps) => ( - - - -); - -export default TierOnlineIcon; diff --git a/portal-ui/src/icons/TiersIcon.tsx b/portal-ui/src/icons/TiersIcon.tsx deleted file mode 100644 index db304b408..000000000 --- a/portal-ui/src/icons/TiersIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const TiersIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - -); - -export default TiersIcon; diff --git a/portal-ui/src/icons/TiersNotAvailableIcon.tsx b/portal-ui/src/icons/TiersNotAvailableIcon.tsx deleted file mode 100644 index 700942314..000000000 --- a/portal-ui/src/icons/TiersNotAvailableIcon.tsx +++ /dev/null @@ -1,100 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const TiersNotAvailableIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - - - - - - - - - - - - - - - ); -}; - -export default TiersNotAvailableIcon; diff --git a/portal-ui/src/icons/ToolsIcon.tsx b/portal-ui/src/icons/ToolsIcon.tsx deleted file mode 100644 index ea2175efc..000000000 --- a/portal-ui/src/icons/ToolsIcon.tsx +++ /dev/null @@ -1,58 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const ToolsIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - -); - -export default ToolsIcon; diff --git a/portal-ui/src/icons/TotalObjectsIcon.tsx b/portal-ui/src/icons/TotalObjectsIcon.tsx deleted file mode 100644 index b5565f77c..000000000 --- a/portal-ui/src/icons/TotalObjectsIcon.tsx +++ /dev/null @@ -1,46 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const TotalObjectsIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default TotalObjectsIcon; diff --git a/portal-ui/src/icons/TraceIcon.tsx b/portal-ui/src/icons/TraceIcon.tsx deleted file mode 100644 index 68e3245d7..000000000 --- a/portal-ui/src/icons/TraceIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const TraceIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default TraceIcon; diff --git a/portal-ui/src/icons/TrashIcon.tsx b/portal-ui/src/icons/TrashIcon.tsx deleted file mode 100644 index bfb0bb142..000000000 --- a/portal-ui/src/icons/TrashIcon.tsx +++ /dev/null @@ -1,47 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const TrashIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - - - - ); -}; - -export default TrashIcon; diff --git a/portal-ui/src/icons/UploadFile.tsx b/portal-ui/src/icons/UploadFile.tsx deleted file mode 100644 index 53c707bfd..000000000 --- a/portal-ui/src/icons/UploadFile.tsx +++ /dev/null @@ -1,42 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const UploadFile = (props: SVGProps) => { - return ( - - - - - - - ); -}; - -export default UploadFile; diff --git a/portal-ui/src/icons/UploadFolderIcon.tsx b/portal-ui/src/icons/UploadFolderIcon.tsx deleted file mode 100644 index 0368a5547..000000000 --- a/portal-ui/src/icons/UploadFolderIcon.tsx +++ /dev/null @@ -1,57 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -const UploadFile = (props: SVGProps) => { - return ( - - - - - - - - - - - - - - - - - - - - - - ); -}; - -export default UploadFile; diff --git a/portal-ui/src/icons/UploadIcon.tsx b/portal-ui/src/icons/UploadIcon.tsx deleted file mode 100644 index 7ecfa2738..000000000 --- a/portal-ui/src/icons/UploadIcon.tsx +++ /dev/null @@ -1,49 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const UploadIcon = (props: SVGProps) => ( - - - - - - - - - - - - - -); - -export default UploadIcon; diff --git a/portal-ui/src/icons/UploadStatIcon.tsx b/portal-ui/src/icons/UploadStatIcon.tsx deleted file mode 100644 index 4c6f65c49..000000000 --- a/portal-ui/src/icons/UploadStatIcon.tsx +++ /dev/null @@ -1,32 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const UploadStatIcon = (props: SVGProps) => ( - - - -); - -export default UploadStatIcon; diff --git a/portal-ui/src/icons/UptimeIcon.tsx b/portal-ui/src/icons/UptimeIcon.tsx deleted file mode 100644 index af0bf8b45..000000000 --- a/portal-ui/src/icons/UptimeIcon.tsx +++ /dev/null @@ -1,53 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const UptimeIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - -); - -export default UptimeIcon; diff --git a/portal-ui/src/icons/UsersFilledIcon.tsx b/portal-ui/src/icons/UsersFilledIcon.tsx deleted file mode 100644 index f11082762..000000000 --- a/portal-ui/src/icons/UsersFilledIcon.tsx +++ /dev/null @@ -1,58 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const UserFilledIcon = (props: SVGProps) => ( - - - - - - - - - - - -); - -export default UserFilledIcon; diff --git a/portal-ui/src/icons/UsersIcon.tsx b/portal-ui/src/icons/UsersIcon.tsx deleted file mode 100644 index f964819f4..000000000 --- a/portal-ui/src/icons/UsersIcon.tsx +++ /dev/null @@ -1,58 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const UsersIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - -); - -export default UsersIcon; diff --git a/portal-ui/src/icons/VerifiedIcon.tsx b/portal-ui/src/icons/VerifiedIcon.tsx deleted file mode 100644 index fed240ecb..000000000 --- a/portal-ui/src/icons/VerifiedIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const VerifiedIcon = (props: SVGProps) => ( - - - - - - - - - - -); - -export default VerifiedIcon; diff --git a/portal-ui/src/icons/VersionIcon.tsx b/portal-ui/src/icons/VersionIcon.tsx deleted file mode 100644 index 42a16aafb..000000000 --- a/portal-ui/src/icons/VersionIcon.tsx +++ /dev/null @@ -1,41 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const VersionIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default VersionIcon; diff --git a/portal-ui/src/icons/VersionsIcon.tsx b/portal-ui/src/icons/VersionsIcon.tsx deleted file mode 100644 index 046552e0c..000000000 --- a/portal-ui/src/icons/VersionsIcon.tsx +++ /dev/null @@ -1,39 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const VersionsIcon = (props: SVGProps) => ( - - - -); - -export default VersionsIcon; diff --git a/portal-ui/src/icons/WarnFilledIcon.tsx b/portal-ui/src/icons/WarnFilledIcon.tsx deleted file mode 100644 index 8762d2559..000000000 --- a/portal-ui/src/icons/WarnFilledIcon.tsx +++ /dev/null @@ -1,59 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const WarnFilledIcon = (props: SVGProps) => { - return ( - - - - - - - - - - - - - ); -}; - -export default WarnFilledIcon; diff --git a/portal-ui/src/icons/WarnIcon.tsx b/portal-ui/src/icons/WarnIcon.tsx deleted file mode 100644 index abe748228..000000000 --- a/portal-ui/src/icons/WarnIcon.tsx +++ /dev/null @@ -1,55 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const WarnIcon = (props: SVGProps) => { - return ( - - - - - - - - ); -}; - -export default WarnIcon; diff --git a/portal-ui/src/icons/WarpIcon.tsx b/portal-ui/src/icons/WarpIcon.tsx deleted file mode 100644 index 67ddc3f45..000000000 --- a/portal-ui/src/icons/WarpIcon.tsx +++ /dev/null @@ -1,44 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const WarpIcon = (props: SVGProps) => ( - - - - - - - - - - - - -); - -export default WarpIcon; diff --git a/portal-ui/src/icons/WatchIcon.tsx b/portal-ui/src/icons/WatchIcon.tsx deleted file mode 100644 index dc5f43c21..000000000 --- a/portal-ui/src/icons/WatchIcon.tsx +++ /dev/null @@ -1,88 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import * as React from "react"; -import { SVGProps } from "react"; - -const WatchIcon = (props: SVGProps) => ( - - - - - - - - - - - - - - - - - - - - - - - - - -); - -export default WatchIcon; diff --git a/portal-ui/src/icons/index.ts b/portal-ui/src/icons/index.ts deleted file mode 100644 index ea9213e53..000000000 --- a/portal-ui/src/icons/index.ts +++ /dev/null @@ -1,206 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2021 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -export { default as EditorThemeSwitchIcon } from "./EditorThemeSwitchIcon"; -export { default as FileLockIcon } from "./FileLockIcon"; -export { default as FileXlsIcon } from "./FileXlsIcon"; -export { default as DisabledIcon } from "./DisabledIcon"; -export { default as FormatDrivesIcon } from "./FormatDrivesIcon"; -export { default as SpeedtestIcon } from "./SpeedtestIcon"; -export { default as StorageIcon } from "./StorageIcon"; -export { default as RefreshIcon } from "./RefreshIcon"; -export { default as VersionIcon } from "./VersionIcon"; -export { default as LambdaBalloonIcon } from "./LambdaBalloonIcon"; -export { default as FileZipIcon } from "./FileZipIcon"; -export { default as HelpIconFilled } from "./HelpIconFilled"; -export { default as ShareIcon } from "./ShareIcon"; -export { default as FolderIcon } from "./FolderIcon"; -export { default as EditIcon } from "./EditIcon"; -export { default as JSONIcon } from "./JSONIcon"; -export { default as SearchIcon } from "./SearchIcon"; -export { default as WarnIcon } from "./WarnIcon"; -export { default as CircleIcon } from "./CircleIcon"; -export { default as FileCloudIcon } from "./FileCloudIcon"; -export { default as ObjectBrowserFolderIcon } from "./ObjectBrowserFolderIcon"; -export { default as RedoIcon } from "./RedoIcon"; -export { default as ChangeAccessPolicyIcon } from "./ChangeAccessPolicyIcon"; -export { default as FileMusicIcon } from "./FileMusicIcon"; -export { default as ServersIcon } from "./ServersIcon"; -export { default as ClosePanelIcon } from "./ClosePanelIcon"; -export { default as MinIOTierIconXs } from "./MinIOTierIconXs"; -export { default as DashboardIcon } from "./DashboardIcon"; -export { default as ClustersIcon } from "./ClustersIcon"; -export { default as MirroringIcon } from "./MirroringIcon"; -export { default as ToolsIcon } from "./ToolsIcon"; -export { default as ArrowIcon } from "./ArrowIcon"; -export { default as ServiceAccountIcon } from "./ServiceAccountIcon"; -export { default as OnlineRegistrationBackIcon } from "./OnlineRegistrationBackIcon"; -export { default as ConfigurationsListIcon } from "./ConfigurationsListIcon"; -export { default as WatchIcon } from "./WatchIcon"; -export { default as ServiceAccountCredentialsIcon } from "./ServiceAccountCredentialsIcon"; -export { default as HealIcon } from "./HealIcon"; -export { default as LoginMinIOLogo } from "./LoginMinIOLogo"; -export { default as S3TierIcon } from "./S3TierIcon"; -export { default as ArrowRightIcon } from "./ArrowRightIcon"; -export { default as PreviewIcon } from "./PreviewIcon"; -export { default as BucketQuotaIcon } from "./BucketQuotaIcon"; -export { default as OperatorLogo } from "./OperatorLogo"; -export { default as SelectMultipleIcon } from "./SelectMultipleIcon"; -export { default as DeleteIcon } from "./DeleteIcon"; -export { default as EditYamlIcon } from "./EditYamlIcon"; -export { default as ReportedUsageIcon } from "./ReportedUsageIcon"; -export { default as PrometheusIcon } from "./PrometheusIcon"; -export { default as ConfirmModalIcon } from "./ConfirmModalIcon"; -export { default as NextArrowIcon } from "./NextArrowIcon"; -export { default as FileConfigIcon } from "./FileConfigIcon"; -export { default as PermissionIcon } from "./PermissionIcon"; -export { default as GoogleTierIcon } from "./GoogleTierIcon"; -export { default as AccountIcon } from "./AccountIcon"; -export { default as AddAccessRuleIcon } from "./AddAccessRuleIcon"; -export { default as FilePdfIcon } from "./FilePdfIcon"; -export { default as FileFontIcon } from "./FileFontIcon"; -export { default as UptimeIcon } from "./UptimeIcon"; -export { default as EnabledIcon } from "./EnabledIcon"; -export { default as ObjectPreviewIcon } from "./ObjectPreviewIcon"; -export { default as TenantsOutlineIcon } from "./TenantsOutlineIcon"; -export { default as DrivesIcon } from "./DrivesIcon"; -export { default as CreateNewPathIcon } from "./CreateNewPathIcon"; -export { default as HelpIcon } from "./HelpIcon"; -export { default as FileLinkIcon } from "./FileLinkIcon"; -export { default as ReportedUsageFullIcon } from "./ReportedUsageFullIcon"; -export { default as AddNewTagIcon } from "./AddNewTagIcon"; -export { default as OnlineRegistrationIcon } from "./OnlineRegistrationIcon"; -export { default as DiagnosticsIcon } from "./DiagnosticsIcon"; -export { default as ObjectBrowser1Icon } from "./ObjectBrowser1Icon"; -export { default as MinIOTierIcon } from "./MinIOTierIcon"; -export { default as WarpIcon } from "./WarpIcon"; -export { default as CopyIcon } from "./CopyIcon"; -export { default as OpenListIcon } from "./OpenListIcon"; -export { default as MultipleBucketsIcon } from "./MultipleBucketsIcon"; -export { default as FileImageIcon } from "./FileImageIcon"; -export { default as AddMembersToGroupIcon } from "./AddMembersToGroupIcon"; -export { default as OfflineRegistrationBackIcon } from "./OfflineRegistrationBackIcon"; -export { default as ConsoleLogo } from "./ConsoleLogo"; -export { default as PrometheusErrorIcon } from "./PrometheusErrorIcon"; -export { default as LifecycleConfigIcon } from "./LifecycleConfigIcon"; -export { default as DriveFormatErrorsIcon } from "./DriveFormatErrorsIcon"; -export { default as VerifiedIcon } from "./VerifiedIcon"; -export { default as CallHomeFeatureIcon } from "./CallHomeFeatureIcon"; -export { default as TraceIcon } from "./TraceIcon"; -export { default as AddIcon } from "./AddIcon"; -export { default as GoogleTierIconXs } from "./GoogleTierIconXs"; -export { default as LambdaNotificationsIcon } from "./LambdaNotificationsIcon"; -export { default as FileWorldIcon } from "./FileWorldIcon"; -export { default as BackSettingsIcon } from "./BackSettingsIcon"; -export { default as LicenseIcon } from "./LicenseIcon"; -export { default as RemoveIcon } from "./RemoveIcon"; -export { default as FileBookIcon } from "./FileBookIcon"; -export { default as TiersNotAvailableIcon } from "./TiersNotAvailableIcon"; -export { default as PerformanceFeatureIcon } from "./PerformanceFeatureIcon"; -export { default as AddFolderIcon } from "./AddFolderIcon"; -export { default as S3TierIconXs } from "./S3TierIconXs"; -export { default as IAMPoliciesIcon } from "./IAMPoliciesIcon"; -export { default as UsersIcon } from "./UsersIcon"; -export { default as EgressIcon } from "./EgressIcon"; -export { default as BucketEncryptionIcon } from "./BucketEncryptionIcon"; -export { default as DocumentationIcon } from "./DocumentationIcon"; -export { default as DiagnosticsFeatureIcon } from "./DiagnosticsFeatureIcon"; -export { default as PasswordKeyIcon } from "./PasswordKeyIcon"; -export { default as TrashIcon } from "./TrashIcon"; -export { default as EventSubscriptionIcon } from "./EventSubscriptionIcon"; -export { default as DownloadIcon } from "./DownloadIcon"; -export { default as ComputerLineIcon } from "./ComputerLineIcon"; -export { default as AllBucketsIcon } from "./AllBucketsIcon"; -export { default as FileMissingIcon } from "./FileMissingIcon"; -export { default as LambdaIcon } from "./LambdaIcon"; -export { default as GroupsIcon } from "./GroupsIcon"; -export { default as DownloadStatIcon } from "./DownloadStatIcon"; -export { default as UploadFolderIcon } from "./UploadFolderIcon"; -export { default as TiersIcon } from "./TiersIcon"; -export { default as NewAccountIcon } from "./NewAccountIcon"; -export { default as CreateGroupIcon } from "./CreateGroupIcon"; -export { default as FileCodeIcon } from "./FileCodeIcon"; -export { default as CollapseIcon } from "./CollapseIcon"; -export { default as ConfirmDeleteIcon } from "./ConfirmDeleteIcon"; -export { default as OfflineRegistrationIcon } from "./OfflineRegistrationIcon"; -export { default as TenantsIcon } from "./TenantsIcon"; -export { default as UploadFile } from "./UploadFile"; -export { default as CreateIcon } from "./CreateIcon"; -export { default as NewPoolIcon } from "./NewPoolIcon"; -export { default as SyncIcon } from "./SyncIcon"; -export { default as LogoutIcon } from "./LogoutIcon"; -export { default as AzureTierIconXs } from "./AzureTierIconXs"; -export { default as TotalObjectsIcon } from "./TotalObjectsIcon"; -export { default as HistoryIcon } from "./HistoryIcon"; -export { default as CreateUserIcon } from "./CreateUserIcon"; -export { default as BucketsIcon } from "./BucketsIcon"; -export { default as UploadStatIcon } from "./UploadStatIcon"; -export { default as BucketReplicationIcon } from "./BucketReplicationIcon"; -export { default as ObjectManagerIcon } from "./ObjectManagerIcon"; -export { default as ObjectBrowserIcon } from "./ObjectBrowserIcon"; -export { default as RecoverIcon } from "./RecoverIcon"; -export { default as FilePptIcon } from "./FilePptIcon"; -export { default as SettingsIcon } from "./SettingsIcon"; -export { default as UploadIcon } from "./UploadIcon"; -export { default as FileDbIcon } from "./FileDbIcon"; -export { default as AzureTierIcon } from "./AzureTierIcon"; -export { default as FileTxtIcon } from "./FileTxtIcon"; -export { default as CalendarIcon } from "./CalendarIcon"; -export { default as ServiceAccountsIcon } from "./ServiceAccountsIcon"; -export { default as LogsIcon } from "./LogsIcon"; -export { default as HardBucketQuotaIcon } from "./HardBucketQuotaIcon"; -export { default as ConsoleIcon } from "./ConsoleIcon"; -export { default as FileVideoIcon } from "./FileVideoIcon"; -export { default as ChangePasswordIcon } from "./ChangePasswordIcon"; -export { default as LockIcon } from "./LockIcon"; -export { default as BackCaretIcon } from "./BackCaretIcon"; -export { default as VersionsIcon } from "./VersionsIcon"; -export { default as NewPathIcon } from "./NewPathIcon"; -export { default as ObjectInfoIcon } from "./ObjectInfoIcon"; -export { default as MetadataIcon } from "./MetadataIcon"; -export { default as LegalHoldIcon } from "./LegalHoldIcon"; -export { default as RetentionIcon } from "./RetentionIcon"; -export { default as TagsIcon } from "./TagsIcon"; -export { default as AlertCloseIcon } from "./AlertCloseIcon"; -export { default as OpenSourceIcon } from "./OpenSourceIcon"; -export { default as ArrowRightLink } from "./ArrowRightLink"; -export { default as LicenseDocIcon } from "./LicenseDocIcon"; -export { default as SelectAllIcon } from "./SelectAllIcon"; -export { default as BackIcon } from "./BackIcon"; -export { default as DeleteNonCurrentIcon } from "./DeleteNonCurrentIcon"; -export { default as FilterIcon } from "./FilterIcon"; -export { default as EditTenantIcon } from "./EditTenantIcon"; -export { default as SuccessIcon } from "./SuccessIcon"; -export { default as NetworkGetIcon } from "./NetworkGetIcon"; -export { default as NetworkPutIcon } from "./NetworkPutIcon"; -export { default as RemoveAllIcon } from "./RemoveAllIcon"; -export { default as CancelledIcon } from "./CancelledIcon"; -export { default as EditTagIcon } from "./EditTagIcon"; -export { default as LinkIcon } from "./LinkIcon"; -export { default as AlertIcon } from "./AlertIcon"; -export { default as InfoIcon } from "./InfoIcon"; -export { default as ConsoleAgpl } from "./ConsoleAgpl"; -export { default as ConsoleStandard } from "./ConsoleStandard"; -export { default as ConsoleEnterprise } from "./ConsoleEnterprise"; -export { default as AGPLV3LightLogo } from "./AGPLV3LightLogo"; -export { default as AGPLV3Logo } from "./AGPLV3Logo"; -export { default as EnterpriseLightLogo } from "./EnterpriseLightLogo"; -export { default as StandardLightLogo } from "./StandardLightLogo"; -export { default as AGPLV3DarkLogo } from "./AGPLV3DarkLogo"; -export { default as LDAPIcon } from "./LDAPIcon"; -export { default as OIDCIcon } from "./OIDCIcon"; -export { default as StarIcon } from "./StarIcon"; -export { default as ExtraFeaturesIcon } from "./ExtraFeaturesIcon"; diff --git a/portal-ui/src/icons/minio_console_logo.svg b/portal-ui/src/icons/minio_console_logo.svg deleted file mode 100644 index 0481ae467..000000000 --- a/portal-ui/src/icons/minio_console_logo.svg +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/portal-ui/src/icons/minio_operator_logo.svg b/portal-ui/src/icons/minio_operator_logo.svg deleted file mode 100644 index 6d6fa453b..000000000 --- a/portal-ui/src/icons/minio_operator_logo.svg +++ /dev/null @@ -1,32 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - diff --git a/portal-ui/src/icons/postgres.png b/portal-ui/src/icons/postgres.png deleted file mode 100644 index f6e0d7caf5a7a52fb530288b0b1a6d5b75019900..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 308512 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 z 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̈́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. -export interface IIcon { - width?: number; - active?: boolean; - color?: string; -} diff --git a/portal-ui/src/screens/Console/Account/Account.tsx b/portal-ui/src/screens/Console/Account/Account.tsx index 69dad0cfb..6ab39b958 100644 --- a/portal-ui/src/screens/Console/Account/Account.tsx +++ b/portal-ui/src/screens/Console/Account/Account.tsx @@ -24,12 +24,7 @@ import Grid from "@mui/material/Grid"; import api from "../../../common/api"; import { Box } from "@mui/material"; -import { - AccountIcon, - AddIcon, - DeleteIcon, - PasswordKeyIcon, -} from "../../../icons"; +import { AccountIcon, AddIcon, DeleteIcon, PasswordKeyIcon } from "mds"; import TableWrapper from "../Common/TableWrapper/TableWrapper"; import { stringSort } from "../../../utils/sortFunctions"; import PageHeader from "../Common/PageHeader/PageHeader"; diff --git a/portal-ui/src/screens/Console/Account/AddServiceAccountHelpBox.tsx b/portal-ui/src/screens/Console/Account/AddServiceAccountHelpBox.tsx index 2d195a3d5..da6af467b 100644 --- a/portal-ui/src/screens/Console/Account/AddServiceAccountHelpBox.tsx +++ b/portal-ui/src/screens/Console/Account/AddServiceAccountHelpBox.tsx @@ -20,7 +20,7 @@ import { IAMPoliciesIcon, PasswordKeyIcon, ServiceAccountIcon, -} from "../../../icons"; +} from "mds"; const FeatureItem = ({ icon, diff --git a/portal-ui/src/screens/Console/Account/AddServiceAccountScreen.tsx b/portal-ui/src/screens/Console/Account/AddServiceAccountScreen.tsx index e8c374097..eae6a12c5 100644 --- a/portal-ui/src/screens/Console/Account/AddServiceAccountScreen.tsx +++ b/portal-ui/src/screens/Console/Account/AddServiceAccountScreen.tsx @@ -30,7 +30,7 @@ import { IAMPoliciesIcon, PasswordKeyIcon, ServiceAccountCredentialsIcon, -} from "../../../icons"; +} from "mds"; import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper"; import PageHeader from "../Common/PageHeader/PageHeader"; import PageLayout from "../Common/Layout/PageLayout"; diff --git a/portal-ui/src/screens/Console/Account/ChangePasswordModal.tsx b/portal-ui/src/screens/Console/Account/ChangePasswordModal.tsx index b352e9136..590c0d03e 100644 --- a/portal-ui/src/screens/Console/Account/ChangePasswordModal.tsx +++ b/portal-ui/src/screens/Console/Account/ChangePasswordModal.tsx @@ -32,7 +32,7 @@ import { import { ChangePasswordRequest } from "../Buckets/types"; import { ErrorResponseHandler } from "../../../common/types"; import api from "../../../common/api"; -import { ChangePasswordIcon } from "../../../icons"; +import { ChangePasswordIcon } from "mds"; import RemoveRedEyeIcon from "@mui/icons-material/RemoveRedEye"; import VisibilityOffIcon from "@mui/icons-material/VisibilityOff"; import { setModalErrorSnackMessage } from "../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Account/ChangeUserPasswordModal.tsx b/portal-ui/src/screens/Console/Account/ChangeUserPasswordModal.tsx index 29d476b5a..f5c52dbdf 100644 --- a/portal-ui/src/screens/Console/Account/ChangeUserPasswordModal.tsx +++ b/portal-ui/src/screens/Console/Account/ChangeUserPasswordModal.tsx @@ -33,7 +33,7 @@ import { ChangeUserPasswordRequest } from "../Buckets/types"; import { ErrorResponseHandler } from "../../../common/types"; import api from "../../../common/api"; -import { ChangePasswordIcon } from "../../../icons"; +import { ChangePasswordIcon } from "mds"; import { setModalErrorSnackMessage } from "../../../systemSlice"; import { useAppDispatch } from "../../../store"; diff --git a/portal-ui/src/screens/Console/Account/DeleteServiceAccount.tsx b/portal-ui/src/screens/Console/Account/DeleteServiceAccount.tsx index 5fabc05b5..433dd28fb 100644 --- a/portal-ui/src/screens/Console/Account/DeleteServiceAccount.tsx +++ b/portal-ui/src/screens/Console/Account/DeleteServiceAccount.tsx @@ -24,7 +24,7 @@ import { DialogContentText } from "@mui/material"; import { ErrorResponseHandler } from "../../../common/types"; import useApi from "../Common/Hooks/useApi"; import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import { encodeURLString } from "../../../common/utils"; import { setErrorSnackMessage } from "../../../systemSlice"; import { useAppDispatch } from "../../../store"; diff --git a/portal-ui/src/screens/Console/Account/NotificationEndpointTypeSelectorHelpBox.tsx b/portal-ui/src/screens/Console/Account/NotificationEndpointTypeSelectorHelpBox.tsx index d9087cf0a..023d69fd0 100644 --- a/portal-ui/src/screens/Console/Account/NotificationEndpointTypeSelectorHelpBox.tsx +++ b/portal-ui/src/screens/Console/Account/NotificationEndpointTypeSelectorHelpBox.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React from "react"; import { Box } from "@mui/material"; -import { HelpIconFilled, LambdaNotificationsIcon } from "../../../icons"; +import { HelpIconFilled, LambdaNotificationsIcon } from "mds"; const FeatureItem = ({ icon, diff --git a/portal-ui/src/screens/Console/Account/ServiceAccountPolicy.tsx b/portal-ui/src/screens/Console/Account/ServiceAccountPolicy.tsx index 3650a1a68..083a4687d 100644 --- a/portal-ui/src/screens/Console/Account/ServiceAccountPolicy.tsx +++ b/portal-ui/src/screens/Console/Account/ServiceAccountPolicy.tsx @@ -30,7 +30,7 @@ import { import { ErrorResponseHandler } from "../../../common/types"; import api from "../../../common/api"; import ModalWrapper from "../Common/ModalWrapper/ModalWrapper"; -import { ChangeAccessPolicyIcon } from "../../../icons"; +import { ChangeAccessPolicyIcon } from "mds"; import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper"; import { encodeURLString } from "../../../common/utils"; import { setModalErrorSnackMessage } from "../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessRulePanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessRulePanel.tsx index 326a33b30..90b9c9898 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessRulePanel.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AccessRulePanel.tsx @@ -25,7 +25,7 @@ import { ErrorResponseHandler } from "../../../../common/types"; import TableWrapper from "../../Common/TableWrapper/TableWrapper"; import api from "../../../../common/api"; -import AddIcon from "../../../../icons/AddIcon"; +import { AddIcon } from "mds"; import Grid from "@mui/material/Grid"; import { actionsTray, diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddAccessRule.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddAccessRule.tsx index e4879f8e0..612edaa33 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddAccessRule.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddAccessRule.tsx @@ -30,7 +30,7 @@ import { import api from "../../../../common/api"; import { ErrorResponseHandler } from "../../../../common/types"; import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper"; -import { AddAccessRuleIcon } from "../../../../icons"; +import { AddAccessRuleIcon } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx index e4e3bf972..2e937fdb7 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddBucketTagModal.tsx @@ -29,7 +29,7 @@ import { ErrorResponseHandler } from "../../../../common/types"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper"; import api from "../../../../common/api"; -import { AddNewTagIcon } from "../../../../icons"; +import { AddNewTagIcon } from "mds"; import { setModalErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddEvent.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddEvent.tsx index ea8a4c105..c964496e5 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddEvent.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddEvent.tsx @@ -38,7 +38,7 @@ import { ErrorResponseHandler } from "../../../../common/types"; import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import AutocompleteWrapper from "../../Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper"; -import { EventSubscriptionIcon } from "../../../../icons"; +import { EventSubscriptionIcon } from "mds"; import { setModalErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddLifecycleModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddLifecycleModal.tsx index aa69a150f..b4a10724c 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddLifecycleModal.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddLifecycleModal.tsx @@ -48,7 +48,7 @@ import { modalStyleUtils, spacingUtils, } from "../../Common/FormComponents/common/styleLibrary"; -import { LifecycleConfigIcon } from "../../../../icons"; +import { LifecycleConfigIcon } from "mds"; import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMenu"; import { BucketVersioning } from "../types"; import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddReplicationModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddReplicationModal.tsx index 9cbd8048e..6b27a1024 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/AddReplicationModal.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/AddReplicationModal.tsx @@ -38,7 +38,7 @@ import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapp import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import { getBytes, k8sScalarUnitsExcluding } from "../../../../common/utils"; import QueryMultiSelector from "../../Common/FormComponents/QueryMultiSelector/QueryMultiSelector"; -import { BucketReplicationIcon } from "../../../../icons"; +import { BucketReplicationIcon } from "mds"; import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMenu"; import { setModalErrorSnackMessage } from "../../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BrowserHandler.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BrowserHandler.tsx index d739c53d3..537d86f34 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BrowserHandler.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BrowserHandler.tsx @@ -26,7 +26,7 @@ import { containerForHeader } from "../../Common/FormComponents/common/styleLibr import ListObjects from "../ListBuckets/Objects/ListObjects/ListObjects"; import PageHeader from "../../Common/PageHeader/PageHeader"; -import SettingsIcon from "../../../../icons/SettingsIcon"; +import { SettingsIcon } from "mds"; import { SecureComponent } from "../../../../common/SecureComponent"; import { diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketDetails.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketDetails.tsx index 95c3f2438..2acfb2cef 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketDetails.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketDetails.tsx @@ -44,7 +44,7 @@ import PageHeader from "../../Common/PageHeader/PageHeader"; import ScreenTitle from "../../Common/ScreenTitle/ScreenTitle"; import { Box } from "@mui/material"; -import RefreshIcon from "../../../../icons/RefreshIcon"; +import { RefreshIcon, BucketsIcon, FolderIcon } from "mds"; import { IAM_SCOPES, IAM_PERMISSIONS, @@ -62,7 +62,7 @@ import { } from "../../../../common/SecureComponent"; import withSuspense from "../../Common/Components/withSuspense"; -import { TrashIcon } from "../../../../icons"; +import { TrashIcon } from "mds"; import { selDistSet, selSiteRep, @@ -77,9 +77,6 @@ import { import { useAppDispatch } from "../../../../store"; import TooltipWrapper from "../../Common/TooltipWrapper/TooltipWrapper"; -const BucketsIcon = React.lazy(() => import("../../../../icons/BucketsIcon")); -const FolderIcon = React.lazy(() => import("../../../../icons/FolderIcon")); - const DeleteBucket = withSuspense( React.lazy(() => import("../ListBuckets/DeleteBucket")) ); diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx index 48763804a..ccd5680aa 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketEventsPanel.tsx @@ -18,13 +18,11 @@ import React, { Fragment, useEffect, useState } from "react"; import { useSelector } from "react-redux"; import { useParams } from "react-router-dom"; import { Theme } from "@mui/material/styles"; -import { Button } from "mds"; +import { AddIcon, Button, LambdaIcon } from "mds"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import get from "lodash/get"; import Grid from "@mui/material/Grid"; -import AddIcon from "../../../../icons/AddIcon"; -import LambdaIcon from "../../../../icons/LambdaIcon"; import { BucketEvent, BucketEventList } from "../types"; import { actionsTray, diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketLifecyclePanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketLifecyclePanel.tsx index 0b096aeaf..f9a40bb1b 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketLifecyclePanel.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketLifecyclePanel.tsx @@ -22,7 +22,7 @@ import withStyles from "@mui/styles/withStyles"; import get from "lodash/get"; import Grid from "@mui/material/Grid"; import { LifeCycleItem } from "../types"; -import { AddIcon, TiersIcon } from "../../../../icons"; +import { AddIcon, TiersIcon } from "mds"; import { actionsTray, searchField, diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketReplicationPanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketReplicationPanel.tsx index 29c54f5a1..d648fc54e 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketReplicationPanel.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketReplicationPanel.tsx @@ -37,7 +37,7 @@ import { SecureComponent, } from "../../../../common/SecureComponent"; import { IAM_SCOPES } from "../../../../common/SecureComponent/permissions"; -import { AddIcon, BucketsIcon, TrashIcon } from "../../../../icons"; +import { AddIcon, BucketsIcon, TrashIcon } from "mds"; import api from "../../../../common/api"; import TableWrapper from "../../Common/TableWrapper/TableWrapper"; import HelpBox from "../../../../common/HelpBox"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx index 6e27f28d5..cf17c8cef 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/BucketSummaryPanel.tsx @@ -49,7 +49,7 @@ import { import withSuspense from "../../Common/Components/withSuspense"; import LabelValuePair from "../../Common/UsageBarWrapper/LabelValuePair"; import LabelWithIcon from "./SummaryItems/LabelWithIcon"; -import { DisabledIcon, EnabledIcon } from "../../../../icons"; +import { DisabledIcon, EnabledIcon } from "mds"; import EditablePropertyItem from "./SummaryItems/EditablePropertyItem"; import ReportedUsage from "./SummaryItems/ReportedUsage"; import BucketQuotaSize from "./SummaryItems/BucketQuotaSize"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteAccessRule.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteAccessRule.tsx index 7688ab8a7..9f82971c3 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteAccessRule.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteAccessRule.tsx @@ -24,7 +24,7 @@ import { modalBasic } from "../../Common/FormComponents/common/styleLibrary"; import { ErrorResponseHandler } from "../../../../common/types"; import useApi from "../../Common/Hooks/useApi"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketLifecycleRule.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketLifecycleRule.tsx index 2a3d630b4..4e5cee1c6 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketLifecycleRule.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketLifecycleRule.tsx @@ -22,7 +22,7 @@ import withStyles from "@mui/styles/withStyles"; import { modalBasic } from "../../Common/FormComponents/common/styleLibrary"; import { ErrorResponseHandler } from "../../../../common/types"; -import { ConfirmDeleteIcon } from "../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; import api from "../../../../common/api"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketTagModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketTagModal.tsx index 83c24166e..c0bd63c0b 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketTagModal.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteBucketTagModal.tsx @@ -24,7 +24,7 @@ import { modalBasic } from "../../Common/FormComponents/common/styleLibrary"; import { ErrorResponseHandler } from "../../../../common/types"; import useApi from "../../Common/Hooks/useApi"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteEvent.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteEvent.tsx index 6edadc573..dd1088270 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteEvent.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteEvent.tsx @@ -23,7 +23,7 @@ import { BucketEvent } from "../types"; import { ErrorResponseHandler } from "../../../../common/types"; import useApi from "../../Common/Hooks/useApi"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteReplicationRule.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteReplicationRule.tsx index a6ab20d39..a152c71f6 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteReplicationRule.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/DeleteReplicationRule.tsx @@ -21,7 +21,7 @@ import { DialogContentText } from "@mui/material"; import { ErrorResponseHandler } from "../../../../common/types"; import useApi from "../../Common/Hooks/useApi"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import Grid from "@mui/material/Grid"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import WarningMessage from "../../Common/WarningMessage/WarningMessage"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EditAccessRule.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EditAccessRule.tsx index 1afa3a391..df2a4596d 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EditAccessRule.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EditAccessRule.tsx @@ -29,7 +29,7 @@ import { import api from "../../../../common/api"; import { ErrorResponseHandler } from "../../../../common/types"; import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper"; -import { AddAccessRuleIcon } from "../../../../icons"; +import { AddAccessRuleIcon } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EditLifecycleConfiguration.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EditLifecycleConfiguration.tsx index 83632cf43..c8832b4c9 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EditLifecycleConfiguration.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EditLifecycleConfiguration.tsx @@ -38,7 +38,7 @@ import { import { LifeCycleItem } from "../types"; import { ErrorResponseHandler } from "../../../../common/types"; -import { LifecycleConfigIcon } from "../../../../icons"; +import { LifecycleConfigIcon } from "mds"; import { ITiersDropDown } from "./AddLifecycleModal"; import { ITierElement, diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EditReplicationModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EditReplicationModal.tsx index 177772913..8338472ef 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EditReplicationModal.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EditReplicationModal.tsx @@ -23,7 +23,7 @@ import withStyles from "@mui/styles/withStyles"; import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import QueryMultiSelector from "../../Common/FormComponents/QueryMultiSelector/QueryMultiSelector"; -import { BucketReplicationIcon } from "../../../../icons"; +import { BucketReplicationIcon } from "mds"; import { createTenantCommon, formFieldStyles, diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableBucketEncryption.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableBucketEncryption.tsx index 15def1efd..bddeb26a6 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableBucketEncryption.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableBucketEncryption.tsx @@ -31,7 +31,7 @@ import api from "../../../../common/api"; import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper"; -import { BucketEncryptionIcon } from "../../../../icons"; +import { BucketEncryptionIcon } from "mds"; import { setModalErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableQuota.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableQuota.tsx index fa2716f18..1f3285ce3 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableQuota.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableQuota.tsx @@ -37,7 +37,7 @@ import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/For import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper"; import api from "../../../../common/api"; -import { BucketQuotaIcon } from "../../../../icons"; +import { BucketQuotaIcon } from "mds"; import InputUnitMenu from "../../Common/FormComponents/InputUnitMenu/InputUnitMenu"; import { setModalErrorSnackMessage } from "../../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableVersioningModal.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableVersioningModal.tsx index 67af526a1..8b1146b74 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableVersioningModal.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/EnableVersioningModal.tsx @@ -20,7 +20,7 @@ import api from "../../../../common/api"; import { ErrorResponseHandler } from "../../../../common/types"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmModalIcon } from "../../../../icons"; +import { ConfirmModalIcon } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/SetAccessPolicy.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/SetAccessPolicy.tsx index 4f8c02b36..f5246c6cf 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/SetAccessPolicy.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/SetAccessPolicy.tsx @@ -31,7 +31,7 @@ import { ErrorResponseHandler } from "../../../../common/types"; import api from "../../../../common/api"; import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper"; import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper"; -import { ChangeAccessPolicyIcon } from "../../../../icons"; +import { ChangeAccessPolicyIcon } from "mds"; import CodeMirrorWrapper from "../../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper"; import { setModalErrorSnackMessage } from "../../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx index 1d3ecfdf0..14cd7cf36 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/SetRetentionConfig.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { useEffect, useState } from "react"; -import { Button } from "mds"; +import { Button, Loader } from "mds"; import { LinearProgress } from "@mui/material"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; @@ -36,7 +36,6 @@ import api from "../../../../common/api"; import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper"; import RadioGroupSelector from "../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; -import Loader from "../../Common/Loader/Loader"; import { setModalErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.tsx index 26978ed54..f97a0dbbd 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/ActionLink.tsx @@ -16,7 +16,7 @@ import React from "react"; import { Button } from "@mui/material"; -import Loader from "../../../Common/Loader/Loader"; +import { Loader } from "mds"; type ActionLinkProps = { isLoading: boolean; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx index 0e1d83936..0f754b99c 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketQuotaSize.tsx @@ -17,7 +17,7 @@ import React from "react"; import { Box } from "@mui/material"; import { niceBytes } from "../../../../../common/utils"; -import { HardBucketQuotaIcon } from "../../../../../icons"; +import { HardBucketQuotaIcon } from "mds"; const BucketQuotaSize = ({ quota }: { quota: any }) => { return ( diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketTags.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketTags.tsx index 78da96c0d..855808e86 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketTags.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/BucketTags.tsx @@ -25,7 +25,7 @@ import Chip from "@mui/material/Chip"; import CloseIcon from "@mui/icons-material/Close"; import AddIcon from "@mui/icons-material/Add"; import withSuspense from "../../../Common/Components/withSuspense"; -import Loader from "../../../Common/Loader/Loader"; +import { Loader } from "mds"; import { setErrorSnackMessage } from "../../../../../systemSlice"; import { useAppDispatch } from "../../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx index 38d489ee0..bc5dce55a 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/EditActionButton.tsx @@ -16,7 +16,7 @@ import React from "react"; import { IconButton } from "@mui/material"; -import EditIcon from "../../../../../icons/EditIcon"; +import { EditIcon } from "mds"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; diff --git a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/ReportedUsage.tsx b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/ReportedUsage.tsx index fc1243ee3..e0f6835a6 100644 --- a/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/ReportedUsage.tsx +++ b/portal-ui/src/screens/Console/Buckets/BucketDetails/SummaryItems/ReportedUsage.tsx @@ -17,7 +17,7 @@ import React from "react"; import { Box } from "@mui/material"; import { niceBytes } from "../../../../../common/utils"; -import { ReportedUsageFullIcon } from "../../../../../icons"; +import { ReportedUsageFullIcon } from "mds"; const ReportedUsage = ({ bucketSize }: { bucketSize: string }) => { return ( diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx index 48db5c021..5353c7f0c 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/AddBucket.tsx @@ -31,7 +31,7 @@ import { useSelector } from "react-redux"; import FormSwitchWrapper from "../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import PageHeader from "../../../Common/PageHeader/PageHeader"; import BackLink from "../../../../../common/BackLink"; -import { BucketsIcon, InfoIcon } from "../../../../../icons"; +import { BucketsIcon, InfoIcon } from "mds"; import { setErrorSnackMessage } from "../../../../../systemSlice"; import { ErrorResponseHandler } from "../../../../../common/types"; import { BucketList } from "../../types"; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/BucketNamingRules.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/BucketNamingRules.tsx index b6c9c81e3..4d14a9c35 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/BucketNamingRules.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/BucketNamingRules.tsx @@ -19,8 +19,7 @@ import Grid from "@mui/material/Grid"; import { LinearProgress } from "@mui/material"; import { AppState } from "../../../../../store"; import { useSelector } from "react-redux"; -import ShowTextIcon from "../../../../../icons/ShowTextIcon"; -import HideTextIcon from "../../../../../icons/HideTextIcon"; +import { CollapseCaret, ExpandCaret } from "mds"; import { Button } from "mds"; import ValidRule from "./ValidRule"; import InvalidRule from "./InvalidRule"; @@ -68,7 +67,7 @@ const BucketNamingRules = ({ errorList }: { errorList: boolean[] }) => { onClick={() => { toggleNamingRules(); }} - icon={showNamingRules ? : } + icon={showNamingRules ? : } label={(showNamingRules ? "Hide" : "View") + " Bucket Naming Rules"} style={{ height: "10px", diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/InvalidRule.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/InvalidRule.tsx index 04222d571..72e1fbd4f 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/InvalidRule.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/InvalidRule.tsx @@ -16,7 +16,7 @@ import React, { Fragment } from "react"; import Grid from "@mui/material/Grid"; -import { ConfirmDeleteIcon } from "../../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; interface IInvalidRule { ruleText: string; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/NARule.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/NARule.tsx index dfafb0579..02db0c939 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/NARule.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/NARule.tsx @@ -16,7 +16,7 @@ import React, { Fragment } from "react"; import Grid from "@mui/material/Grid"; -import { CircleIcon } from "../../../../../icons"; +import { CircleIcon } from "mds"; interface INARule { ruleText: string; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/ValidRule.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/ValidRule.tsx index fc0cd1453..97755dc17 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/ValidRule.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/AddBucket/ValidRule.tsx @@ -16,7 +16,7 @@ import React, { Fragment } from "react"; import Grid from "@mui/material/Grid"; -import { ConfirmModalIcon } from "../../../../../icons"; +import { ConfirmModalIcon } from "mds"; interface IValidRule { ruleText: string; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/BucketListItem.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/BucketListItem.tsx index 38afb2c5b..7a51b66ee 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/BucketListItem.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/BucketListItem.tsx @@ -17,11 +17,7 @@ import React, { Fragment } from "react"; import get from "lodash/get"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; -import { - BucketsIcon, - ReportedUsageIcon, - TotalObjectsIcon, -} from "../../../../icons"; +import { BucketsIcon, ReportedUsageIcon, TotalObjectsIcon } from "mds"; import { Bucket } from "../types"; import { Box, Grid, Typography } from "@mui/material"; import { diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/DeleteBucket.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/DeleteBucket.tsx index 48821b884..b6a307efe 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/DeleteBucket.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/DeleteBucket.tsx @@ -21,7 +21,7 @@ import { DialogContentText } from "@mui/material"; import { ErrorResponseHandler } from "../../../../common/types"; import useApi from "../../Common/Hooks/useApi"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/ListBuckets.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/ListBuckets.tsx index f4870d44b..c104b000a 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/ListBuckets.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/ListBuckets.tsx @@ -29,7 +29,10 @@ import { BucketsIcon, LifecycleConfigIcon, SelectAllIcon, -} from "../../../../icons"; + RefreshIcon, + MultipleBucketsIcon, + SelectMultipleIcon, +} from "mds"; import { containerForHeader, searchField, @@ -40,9 +43,6 @@ import PageHeader from "../../Common/PageHeader/PageHeader"; import BucketListItem from "./BucketListItem"; import BulkReplicationModal from "./BulkReplicationModal"; import HelpBox from "../../../../common/HelpBox"; -import RefreshIcon from "../../../../icons/RefreshIcon"; -import MultipleBucketsIcon from "../../../../icons/MultipleBucketsIcon"; -import SelectMultipleIcon from "../../../../icons/SelectMultipleIcon"; import { SecureComponent } from "../../../../common/SecureComponent"; import { CONSOLE_UI_RESOURCE, diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/CreatePathModal.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/CreatePathModal.tsx index ad411096c..e83e2ce7f 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/CreatePathModal.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/CreatePathModal.tsx @@ -30,7 +30,7 @@ import { connect, useSelector } from "react-redux"; import { encodeURLString } from "../../../../../../common/utils"; import { BucketObjectItem } from "./types"; -import { CreateNewPathIcon } from "../../../../../../icons"; +import { CreateNewPathIcon } from "mds"; import { AppState, useAppDispatch } from "../../../../../../store"; import { setModalErrorSnackMessage } from "../../../../../../systemSlice"; import makeStyles from "@mui/styles/makeStyles"; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteMultipleObjects.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteMultipleObjects.tsx index 8ef284084..eac2f2fd1 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteMultipleObjects.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteMultipleObjects.tsx @@ -20,7 +20,7 @@ import { DialogContentText } from "@mui/material"; import { ErrorResponseHandler } from "../../../../../../common/types"; import useApi from "../../../../Common/Hooks/useApi"; import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import { setErrorSnackMessage } from "../../../../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx index 5ecab38fe..4a8ff331f 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteNonCurrent.tsx @@ -20,7 +20,7 @@ import { DialogContentText } from "@mui/material"; import Grid from "@mui/material/Grid"; import { ErrorResponseHandler } from "../../../../../../common/types"; import { decodeURLString } from "../../../../../../common/utils"; -import { ConfirmDeleteIcon } from "../../../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog"; import api from "../../../../../../common/api"; import InputBoxWrapper from "../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx index 4925cb18c..9e7605d79 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DeleteObject.tsx @@ -21,7 +21,7 @@ import { ErrorResponseHandler } from "../../../../../../common/types"; import { decodeURLString } from "../../../../../../common/utils"; import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog"; import useApi from "../../../../Common/Hooks/useApi"; -import { ConfirmDeleteIcon } from "../../../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import { setErrorSnackMessage } from "../../../../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx index 25f3dc99c..3f84a9675 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/DetailsListPanel.tsx @@ -18,7 +18,7 @@ import React from "react"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import { Grid, IconButton } from "@mui/material"; -import { ClosePanelIcon } from "../../../../../../icons"; +import { ClosePanelIcon } from "mds"; import makeStyles from "@mui/styles/makeStyles"; interface IDetailsListPanel { diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx index 491461dd3..dc7c88e0e 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/InspectObject.tsx @@ -26,7 +26,7 @@ import { } from "../../../../../../common/utils"; import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import ModalWrapper from "../../../../Common/ModalWrapper/ModalWrapper"; -import { InspectMenuIcon } from "../../../../../../icons/SidebarMenus"; +import { InspectMenuIcon } from "mds"; import Grid from "@mui/material/Grid"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; @@ -35,7 +35,7 @@ import { modalStyleUtils, spacingUtils, } from "../../../../Common/FormComponents/common/styleLibrary"; -import { PasswordKeyIcon } from "../../../../../../icons"; +import { PasswordKeyIcon } from "mds"; import { Box, DialogContentText } from "@mui/material"; import KeyRevealer from "../../../../Tools/KeyRevealer"; import { setErrorSnackMessage } from "../../../../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx index 054ff517b..4006aa6bf 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ListObjects.tsx @@ -73,7 +73,10 @@ import { DownloadIcon, PreviewIcon, ShareIcon, -} from "../../../../../../icons"; + HistoryIcon, + RefreshIcon, + DeleteIcon, +} from "mds"; import UploadFilesButton from "../../UploadFilesButton"; import DetailsListPanel from "./DetailsListPanel"; import ObjectDetailPanel from "./ObjectDetailPanel"; @@ -133,17 +136,6 @@ import { openShare, } from "../../../../ObjectBrowser/objectBrowserThunks"; -const HistoryIcon = React.lazy( - () => import("../../../../../../icons/HistoryIcon") -); -const RefreshIcon = React.lazy( - () => import("../../../../../../icons/RefreshIcon") -); - -const DeleteIcon = React.lazy( - () => import("../../../../../../icons/DeleteIcon") -); - const DeleteMultipleObjects = withSuspense( React.lazy(() => import("./DeleteMultipleObjects")) ); diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx index a1ea4fc61..ca9314bcc 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/ObjectDetailPanel.tsx @@ -57,8 +57,8 @@ import { ShareIcon, TagsIcon, VersionsIcon, -} from "../../../../../../icons"; -import { InspectMenuIcon } from "../../../../../../icons/SidebarMenus"; +} from "mds"; +import { InspectMenuIcon } from "mds"; import api from "../../../../../../common/api"; import ShareFile from "../ObjectDetails/ShareFile"; import SetRetention from "../ObjectDetails/SetRetention"; @@ -74,7 +74,7 @@ import ActionsListSection from "./ActionsListSection"; import { displayFileIconName } from "./utils"; import TagsModal from "../ObjectDetails/TagsModal"; import InspectObject from "./InspectObject"; -import Loader from "../../../../Common/Loader/Loader"; +import { Loader } from "mds"; import { selDistSet } from "../../../../../../systemSlice"; import { makeid, diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx index 87e52e53e..32b39d608 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ListObjects/utils.tsx @@ -16,56 +16,27 @@ import React from "react"; -import ObjectBrowserIcon from "../../../../../../icons/ObjectBrowserIcon"; -import ObjectBrowserFolderIcon from "../../../../../../icons/ObjectBrowserFolderIcon"; +import { + FileBookIcon, + FileCodeIcon, + FileConfigIcon, + FileDbIcon, + FileFontIcon, + FileImageIcon, + FileLockIcon, + FileMissingIcon, + FileMusicIcon, + FilePdfIcon, + FilePptIcon, + FileTxtIcon, + FileVideoIcon, + FileXlsIcon, + FileZipIcon, + FolderBrowserIcon, + FileNonType, +} from "mds"; import IconWithLabel from "./IconWithLabel"; -const FileBookIcon = React.lazy( - () => import("../../../../../../icons/FileBookIcon") -); -const FileCodeIcon = React.lazy( - () => import("../../../../../../icons/FileCodeIcon") -); -const FileConfigIcon = React.lazy( - () => import("../../../../../../icons/FileConfigIcon") -); -const FileDbIcon = React.lazy( - () => import("../../../../../../icons/FileDbIcon") -); -const FileFontIcon = React.lazy( - () => import("../../../../../../icons/FileFontIcon") -); -const FileImageIcon = React.lazy( - () => import("../../../../../../icons/FileImageIcon") -); -const FileLockIcon = React.lazy( - () => import("../../../../../../icons/FileLockIcon") -); -const FileMissingIcon = React.lazy( - () => import("../../../../../../icons/FileMissingIcon") -); -const FileMusicIcon = React.lazy( - () => import("../../../../../../icons/FileMusicIcon") -); -const FilePdfIcon = React.lazy( - () => import("../../../../../../icons/FilePdfIcon") -); -const FilePptIcon = React.lazy( - () => import("../../../../../../icons/FilePptIcon") -); -const FileTxtIcon = React.lazy( - () => import("../../../../../../icons/FileTxtIcon") -); -const FileVideoIcon = React.lazy( - () => import("../../../../../../icons/FileVideoIcon") -); -const FileXlsIcon = React.lazy( - () => import("../../../../../../icons/FileXlsIcon") -); -const FileZipIcon = React.lazy( - () => import("../../../../../../icons/FileZipIcon") -); - interface IExtToIcon { icon: any; extensions: string[]; @@ -114,7 +85,7 @@ export const extensionToIcon: IExtToIcon[] = [ }, { icon: , - extensions: ["txt"], + extensions: ["doc", "docx", "txt", "rtf"], }, { icon: , @@ -135,10 +106,10 @@ export const displayFileIconName = ( returnOnlyIcon: boolean = false ) => { let elementString = element; - let icon = ; + let icon = ; // Element is a folder if (element.endsWith("/")) { - icon = ; + icon = ; elementString = element.slice(0, -1); } diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx index 6116a6839..ee32ef385 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/DeleteSelectedVersions.tsx @@ -20,7 +20,7 @@ import { DialogContentText } from "@mui/material"; import { ErrorResponseHandler } from "../../../../../../common/types"; import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import api from "../../../../../../common/api"; import { setErrorSnackMessage } from "../../../../../../systemSlice"; import { AppState, useAppDispatch } from "../../../../../../store"; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx index 165e6ac9e..f9b4451e2 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/FileVersionItem.tsx @@ -23,12 +23,7 @@ import { withStyles } from "@mui/styles"; import { displayFileIconName } from "../ListObjects/utils"; import { IFileInfo } from "./types"; import { IconButton, Tooltip } from "@mui/material"; -import { - DownloadIcon, - PreviewIcon, - RecoverIcon, - ShareIcon, -} from "../../../../../../icons"; +import { DownloadIcon, PreviewIcon, RecoverIcon, ShareIcon } from "mds"; import { niceBytes } from "../../../../../../common/utils"; import SpecificVersionPill from "./SpecificVersionPill"; import CheckboxWrapper from "../../../../Common/FormComponents/CheckboxWrapper/CheckboxWrapper"; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx index 451f6d057..1d12201a4 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/RestoreFileVersion.tsx @@ -26,7 +26,7 @@ import { ErrorResponseHandler } from "../../../../../../common/types"; import { encodeURLString } from "../../../../../../common/utils"; import api from "../../../../../../common/api"; import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog"; -import RecoverIcon from "../../../../../../icons/RecoverIcon"; +import { RecoverIcon } from "mds"; import { setErrorSnackMessage } from "../../../../../../systemSlice"; import { useAppDispatch } from "../../../../../../store"; import { IFileInfo } from "./types"; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx index 90760eb6d..0f549c62f 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/ShareFile.tsx @@ -18,6 +18,7 @@ import React, { Fragment, useEffect, useState } from "react"; import { useSelector } from "react-redux"; import { Theme } from "@mui/material/styles"; import { Button } from "mds"; +import { ShareIcon, CopyIcon } from "mds"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import CopyToClipboard from "react-copy-to-clipboard"; @@ -35,7 +36,6 @@ import ModalWrapper from "../../../../Common/ModalWrapper/ModalWrapper"; import PredefinedList from "../../../../Common/FormComponents/PredefinedList/PredefinedList"; import DaysSelector from "../../../../Common/FormComponents/DaysSelector/DaysSelector"; import { encodeURLString } from "../../../../../../common/utils"; -import { ShareIcon } from "../../../../../../icons"; import { selDistSet, setModalErrorSnackMessage, @@ -43,8 +43,6 @@ import { } from "../../../../../../systemSlice"; import { useAppDispatch } from "../../../../../../store"; -const CopyIcon = React.lazy(() => import("../../../../../../icons/CopyIcon")); - const styles = (theme: Theme) => createStyles({ shareLinkInfo: { diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx index 1c0c5288b..0276ea27c 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/TagsModal.tsx @@ -32,11 +32,7 @@ import { modalStyleUtils, spacingUtils, } from "../../../../Common/FormComponents/common/styleLibrary"; -import { - AddNewTagIcon, - DisabledIcon, - EditTagIcon, -} from "../../../../../../icons"; +import { AddNewTagIcon, DisabledIcon, EditTagIcon } from "mds"; import { IFileInfo } from "./types"; import { IAM_SCOPES } from "../../../../../../common/SecureComponent/permissions"; import { SecureComponent } from "../../../../../../common/SecureComponent"; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx index 2be434ebd..b1e9d1185 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/ObjectDetails/VersionsNavigator.tsx @@ -53,7 +53,7 @@ import { DeleteNonCurrentIcon, SelectMultipleIcon, VersionsIcon, -} from "../../../../../../icons"; +} from "mds"; import FileVersionItem from "./FileVersionItem"; import SelectWrapper from "../../../../Common/FormComponents/SelectWrapper/SelectWrapper"; import PreviewFileModal from "../Preview/PreviewFileModal"; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx index 300888db6..9ce7c0e7b 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/Objects/Preview/PreviewFileModal.tsx @@ -18,7 +18,7 @@ import React, { Fragment } from "react"; import ModalWrapper from "../../../../Common/ModalWrapper/ModalWrapper"; import PreviewFileContent from "./PreviewFileContent"; import { BucketObjectItem } from "../ListObjects/types"; -import { ObjectPreviewIcon } from "../../../../../../icons"; +import { ObjectPreviewIcon } from "mds"; interface IPreviewFileProps { open: boolean; diff --git a/portal-ui/src/screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx b/portal-ui/src/screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx index e8451eb1c..43f661072 100644 --- a/portal-ui/src/screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx +++ b/portal-ui/src/screens/Console/Buckets/ListBuckets/UploadFilesButton.tsx @@ -21,7 +21,7 @@ import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import ListItemText from "@mui/material/ListItemText"; import ListItemIcon from "@mui/material/ListItemIcon"; -import { UploadFolderIcon, UploadIcon } from "../../../../icons"; +import { UploadFolderIcon, UploadIcon } from "mds"; import { IAM_SCOPES, permissionTooltipHelper, diff --git a/portal-ui/src/screens/Console/CommandBar.tsx b/portal-ui/src/screens/Console/CommandBar.tsx index 526c2b33f..820a15dc7 100644 --- a/portal-ui/src/screens/Console/CommandBar.tsx +++ b/portal-ui/src/screens/Console/CommandBar.tsx @@ -34,7 +34,7 @@ import { Theme } from "@mui/material/styles"; import makeStyles from "@mui/styles/makeStyles"; import { routesAsKbarActions } from "./kbar-actions"; import { Box } from "@mui/material"; -import { MenuExpandedIcon } from "../../icons/SidebarMenus"; +import { MenuExpandedIcon } from "mds"; import { useSelector } from "react-redux"; import useApi from "./Common/Hooks/useApi"; import { Bucket, BucketList } from "./Buckets/types"; diff --git a/portal-ui/src/screens/Console/Common/Components/AutoColorIcon.tsx b/portal-ui/src/screens/Console/Common/Components/AutoColorIcon.tsx index 141ddfe3e..14b10dacd 100644 --- a/portal-ui/src/screens/Console/Common/Components/AutoColorIcon.tsx +++ b/portal-ui/src/screens/Console/Common/Components/AutoColorIcon.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React from "react"; -import { LoginMinIOLogo } from "../../../../icons"; +import { ThemedLogo } from "mds"; import { useSelector } from "react-redux"; import { AppState } from "../../../../store"; @@ -35,7 +35,7 @@ const AutoColorIcon = ({ marginRight, marginTop }: IAutoColorIcon) => { tinycolor(colorVariants?.backgroundColor || "#fff").getBrightness() <= 128; return ( - diff --git a/portal-ui/src/screens/Console/Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper.tsx b/portal-ui/src/screens/Console/Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper.tsx index 905ec6452..03ab609ef 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/AutocompleteWrapper/AutocompleteWrapper.tsx @@ -33,7 +33,7 @@ import { inputFieldStyles, tooltipHelper, } from "../common/styleLibrary"; -import HelpIcon from "../../../../../icons/HelpIcon"; +import { HelpIcon } from "mds"; interface selectorTypes { label: string; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/CSVMultiSelector/CSVMultiSelector.tsx b/portal-ui/src/screens/Console/Common/FormComponents/CSVMultiSelector/CSVMultiSelector.tsx index 41557c830..2d24eff5f 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/CSVMultiSelector/CSVMultiSelector.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/CSVMultiSelector/CSVMultiSelector.tsx @@ -28,9 +28,8 @@ import withStyles from "@mui/styles/withStyles"; import Grid from "@mui/material/Grid"; import { InputLabel, Tooltip } from "@mui/material"; import { fieldBasic, tooltipHelper } from "../common/styleLibrary"; -import HelpIcon from "../../../../../icons/HelpIcon"; +import { HelpIcon, AddIcon } from "mds"; import InputBoxWrapper from "../InputBoxWrapper/InputBoxWrapper"; -import AddIcon from "../../../../../icons/AddIcon"; interface ICSVMultiSelector { elements: string; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx b/portal-ui/src/screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx index 7c42f941d..4191402c9 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/CheckboxWrapper/CheckboxWrapper.tsx @@ -23,7 +23,7 @@ import { fieldBasic, tooltipHelper, } from "../common/styleLibrary"; -import HelpIcon from "../../../../../icons/HelpIcon"; +import { HelpIcon } from "mds"; interface CheckBoxProps { label: string; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx b/portal-ui/src/screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx index 9fd55355e..bc1058a38 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper.tsx @@ -20,9 +20,9 @@ import { Box, InputLabel, Tooltip } from "@mui/material"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; -import HelpIcon from "../../../../../icons/HelpIcon"; +import { HelpIcon } from "mds"; import { fieldBasic } from "../common/styleLibrary"; -import { CopyIcon } from "../../../../../icons"; +import { CopyIcon } from "mds"; import { Button } from "mds"; import CopyToClipboard from "react-copy-to-clipboard"; import CodeEditor from "@uiw/react-textarea-code-editor"; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx b/portal-ui/src/screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx index a4cc861a8..72cab92d4 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/CommentBoxWrapper/CommentBoxWrapper.tsx @@ -20,7 +20,7 @@ import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { fieldBasic, tooltipHelper } from "../common/styleLibrary"; -import HelpIcon from "../../../../../icons/HelpIcon"; +import { HelpIcon } from "mds"; interface CommentBoxProps { label: string; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/DateRangeSelector/DateRangeSelector.tsx b/portal-ui/src/screens/Console/Common/FormComponents/DateRangeSelector/DateRangeSelector.tsx index 5280e48e8..40851b1ff 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/DateRangeSelector/DateRangeSelector.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/DateRangeSelector/DateRangeSelector.tsx @@ -24,8 +24,8 @@ import ScheduleIcon from "@mui/icons-material/Schedule"; import WatchLaterIcon from "@mui/icons-material/WatchLater"; import { actionsTray, widgetContainerCommon } from "../common/styleLibrary"; import DateTimePickerWrapper from "../DateTimePickerWrapper/DateTimePickerWrapper"; -import SyncIcon from "../../../../../icons/SyncIcon"; -import { OpenListIcon } from "../../../../../icons"; +import { SyncIcon } from "mds"; +import { OpenListIcon } from "mds"; interface IDateRangeSelector { classes: any; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx b/portal-ui/src/screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx index 751d61332..fd486a53d 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/DateSelector/DateSelector.tsx @@ -33,7 +33,7 @@ import Select from "@mui/material/Select"; import MenuItem from "@mui/material/MenuItem"; import InputBase from "@mui/material/InputBase"; import { fieldBasic, tooltipHelper } from "../common/styleLibrary"; -import HelpIcon from "../../../../../icons/HelpIcon"; +import { HelpIcon } from "mds"; import FormSwitchWrapper from "../FormSwitchWrapper/FormSwitchWrapper"; import { days, months, validDate, years } from "./utils"; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/DateTimePickerWrapper/DateTimePickerWrapper.tsx b/portal-ui/src/screens/Console/Common/FormComponents/DateTimePickerWrapper/DateTimePickerWrapper.tsx index 8488e456c..4825f9db9 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/DateTimePickerWrapper/DateTimePickerWrapper.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/DateTimePickerWrapper/DateTimePickerWrapper.tsx @@ -24,9 +24,8 @@ import ScheduleIcon from "@mui/icons-material/Schedule"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; -import HelpIcon from "../../../../../icons/HelpIcon"; +import { HelpIcon, OpenListIcon } from "mds"; import { fieldBasic, tooltipHelper } from "../common/styleLibrary"; -import OpenListIcon from "../../../../../icons/OpenListIcon"; interface IDateTimePicker { value: any; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx b/portal-ui/src/screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx index 57844607b..b1224be6e 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/DaysSelector/DaysSelector.tsx @@ -23,7 +23,7 @@ import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { fieldBasic, tooltipHelper } from "../common/styleLibrary"; import InputBoxWrapper from "../InputBoxWrapper/InputBoxWrapper"; -import { LinkIcon } from "../../../../../icons"; +import { LinkIcon } from "mds"; interface IDaysSelector { classes: any; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx b/portal-ui/src/screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx index 8f0249bac..6aaf126cb 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/FileSelector/FileSelector.tsx @@ -29,7 +29,7 @@ import { tooltipHelper, } from "../common/styleLibrary"; import { fileProcess } from "./utils"; -import HelpIcon from "../../../../../icons/HelpIcon"; +import { HelpIcon } from "mds"; import ErrorBlock from "../../../../shared/ErrorBlock"; interface InputBoxProps { diff --git a/portal-ui/src/screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx b/portal-ui/src/screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx index f5629b8c2..c8076e37d 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper.tsx @@ -21,7 +21,7 @@ import withStyles from "@mui/styles/withStyles"; import { InputLabel, Switch, Tooltip, Typography } from "@mui/material"; import Grid from "@mui/material/Grid"; import { actionsTray, fieldBasic } from "../common/styleLibrary"; -import HelpIcon from "../../../../../icons/HelpIcon"; +import { HelpIcon } from "mds"; import clsx from "clsx"; import { InputProps as StandardInputProps } from "@mui/material/Input/Input"; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx b/portal-ui/src/screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx index 6aadfb1ac..d8f3237ef 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/InputBoxWrapper/InputBoxWrapper.tsx @@ -35,7 +35,7 @@ import { inputFieldStyles, tooltipHelper, } from "../common/styleLibrary"; -import HelpIcon from "../../../../../icons/HelpIcon"; +import { HelpIcon } from "mds"; import clsx from "clsx"; interface InputBoxProps { diff --git a/portal-ui/src/screens/Console/Common/FormComponents/QueryMultiSelector/QueryMultiSelector.tsx b/portal-ui/src/screens/Console/Common/FormComponents/QueryMultiSelector/QueryMultiSelector.tsx index 91090acbc..519f2a2b0 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/QueryMultiSelector/QueryMultiSelector.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/QueryMultiSelector/QueryMultiSelector.tsx @@ -31,7 +31,7 @@ import HelpIcon from "@mui/icons-material/Help"; import { InputLabel, Tooltip } from "@mui/material"; import { fieldBasic, tooltipHelper } from "../common/styleLibrary"; import InputBoxWrapper from "../InputBoxWrapper/InputBoxWrapper"; -import AddIcon from "../../../../../icons/AddIcon"; +import { AddIcon } from "mds"; interface IQueryMultiSelector { elements: string; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx b/portal-ui/src/screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx index db2c8efa8..b17afba9a 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/RadioGroupSelector/RadioGroupSelector.tsx @@ -25,7 +25,7 @@ import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import makeStyles from "@mui/styles/makeStyles"; import { fieldBasic, radioIcons, tooltipHelper } from "../common/styleLibrary"; -import HelpIcon from "../../../../../icons/HelpIcon"; +import { HelpIcon } from "mds"; export interface SelectorTypes { label: any; diff --git a/portal-ui/src/screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx b/portal-ui/src/screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx index 0f7cdfe99..e628e4872 100644 --- a/portal-ui/src/screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx +++ b/portal-ui/src/screens/Console/Common/FormComponents/SelectWrapper/SelectWrapper.tsx @@ -28,7 +28,7 @@ import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { fieldBasic, tooltipHelper } from "../common/styleLibrary"; -import HelpIcon from "../../../../../icons/HelpIcon"; +import { HelpIcon } from "mds"; export interface selectorTypes { label: string; diff --git a/portal-ui/src/screens/Console/Common/IconsScreen.tsx b/portal-ui/src/screens/Console/Common/IconsScreen.tsx index 40635b41a..252ea428e 100644 --- a/portal-ui/src/screens/Console/Common/IconsScreen.tsx +++ b/portal-ui/src/screens/Console/Common/IconsScreen.tsx @@ -29,9 +29,9 @@ import { RadioGroup, } from "@mui/material"; -import * as cicons from "../../../icons"; -import * as micons from "../../../icons/SidebarMenus"; -import Loader from "./Loader/Loader"; +import * as cicons from "mds"; +import * as micons from "mds"; +import { Loader } from "mds"; interface IIconsScreenSimple { classes: any; @@ -87,20 +87,9 @@ const IconsScreen = ({ classes }: IIconsScreenSimple) => { })} > - +
- ConsoleLogo -
- - -
- LoginMinIOLogo -
- - - -
- OperatorLogo + ThemedLogo

Loaders

diff --git a/portal-ui/src/screens/Console/Common/Loader/Loader.tsx b/portal-ui/src/screens/Console/Common/Loader/Loader.tsx deleted file mode 100644 index cb9001518..000000000 --- a/portal-ui/src/screens/Console/Common/Loader/Loader.tsx +++ /dev/null @@ -1,103 +0,0 @@ -// This file is part of MinIO Console Server -// Copyright (c) 2022 MinIO, Inc. -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published by -// the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import React, { SVGProps } from "react"; - -import "./loader.styles.css"; - -const Loader = (props: SVGProps) => { - return ( - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ); -}; - -export default Loader; diff --git a/portal-ui/src/screens/Console/Common/Loader/loader.styles.css b/portal-ui/src/screens/Console/Common/Loader/loader.styles.css deleted file mode 100644 index f87754787..000000000 --- a/portal-ui/src/screens/Console/Common/Loader/loader.styles.css +++ /dev/null @@ -1,363 +0,0 @@ -.min-loader { - width: 40px; - height: 40px; -} - -#eB8dk2fHKWC2_tr { - animation: eB8dk2fHKWC2_tr__tr 3000ms linear infinite normal forwards; -} - -@keyframes eB8dk2fHKWC2_tr__tr { - 0% { - transform: translate(139.785027px, 140.086989px) rotate(45.236493deg); - animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1); - } - 10% { - transform: translate(139.785027px, 140.086989px) rotate(-197.740907deg); - animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1); - } - 20% { - transform: translate(139.785027px, 140.086989px) rotate(-108.6deg); - animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1); - } - 30% { - transform: translate(139.785027px, 140.086989px) rotate(-17.484014deg); - animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1); - } - 33.333333% { - transform: translate(139.785027px, 140.086989px) rotate(-17.48deg); - animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1); - } - 43.333333% { - transform: translate(139.785027px, 140.086989px) rotate(160.887995deg); - } - 100% { - transform: translate(139.785027px, 140.086989px) rotate(160.887995deg); - } -} - -#eB8dk2fHKWC2_ts { - animation: eB8dk2fHKWC2_ts__ts 3000ms linear infinite normal forwards; -} - -@keyframes eB8dk2fHKWC2_ts__ts { - 0% { - transform: scale(1, 0.995019); - } - 33.333333% { - transform: scale(1, 0.995019); - animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1); - } - 43.333333% { - transform: scale(0.101121, 0.102033); - animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1); - } - 50% { - transform: scale(0.1, 0.1); - animation-timing-function: cubic-bezier(0.42, 0, 0.58, 1); - } - 60% { - transform: scale(1, 1); - } - 100% { - transform: scale(1, 1); - } -} - -#eB8dk2fHKWC2 { - animation: eB8dk2fHKWC2_c_o 3000ms linear infinite normal forwards; -} - -@keyframes eB8dk2fHKWC2_c_o { - 0% { - opacity: 1; - } - 6.666667% { - opacity: 1; - } - 10% { - opacity: 0; - } - 13.333333% { - opacity: 0; - } - 20% { - opacity: 1; - } - 30% { - opacity: 1; - } - 36.666667% { - opacity: 1; - } - 40% { - opacity: 0; - } - 100% { - opacity: 0; - } -} - -#eB8dk2fHKWC4 { - animation: eB8dk2fHKWC4__m 3000ms linear infinite normal forwards; -} - -@keyframes eB8dk2fHKWC4__m { - 0% { - d: path( - "M85.4,249.8C109.08,255.3,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,110.79,235.19,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z" - ); - } - 10% { - d: path( - "M85.4,249.8C85.4,249.8,85.399999,249.800001,85.399999,249.800001C85.399999,249.800001,85.4,249.800002,85.4,249.800002C85.4,249.800002,90.484102,251.966034,95.043213,248.269966C100.484052,243.859082,98.694728,236.722769,97.073675,234.469349C95.517658,232.306335,94.559418,231.751273,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z" - ); - } - 20% { - d: path( - "M85.4,249.8C85.4,249.8,85.399999,249.800001,85.399999,249.800001C85.399999,249.800001,85.4,249.800002,85.4,249.800002C85.4,249.800002,90.484102,251.966034,95.043213,248.269966C100.484052,243.859082,98.694728,236.722769,97.073675,234.469349C95.517658,232.306335,94.559418,231.751273,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z" - ); - } - 30% { - d: path( - "M85.4,249.8C109.08,255.3,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,110.79,235.19,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z" - ); - } - 33.333333% { - d: path( - "M85.4,249.8C109.08,255.3,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,110.79,235.19,90.73,230.52C78.19,227.61,72.85,246.88,85.4,249.8C85.4,249.8,85.4,249.8,85.4,249.8Z" - ); - } - 43.333333% { - d: path( - "M84.281285,246.076032C107.50521,254.051555,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,86.465691,239.82846,53.85604,207.193233C41.31604,204.283233,32.439249,213.928672,40.474905,219.54755C40.474905,219.54755,61.310295,238.187372,84.281285,246.076032Z" - ); - } - 100% { - d: path( - "M84.281285,246.076032C107.50521,254.051555,133.72,257.37,157.65,252.14C181.65,246.89,202.95,233.55,219.27,215.35C227.84,205.79,213.74,191.6,205.13,201.21C190.9,217.1,173.27,228.26,152.34,232.86C132.03,237.32,86.465691,239.82846,53.85604,207.193233C41.31604,204.283233,32.439249,213.928672,40.474905,219.54755C40.474905,219.54755,61.310295,238.187372,84.281285,246.076032Z" - ); - } -} - -#eB8dk2fHKWC6 { - animation: eB8dk2fHKWC6__m 3000ms linear infinite normal forwards; -} - -@keyframes eB8dk2fHKWC6__m { - 0% { - d: path( - "M249.74,169.63C255.24,145.95,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,191.54,41.29,201.15,49.9C217.04,64.13,228.2,81.76,232.8,102.69C237.26,123,235.13,144.24,230.46,164.3C227.54,176.84,246.82,182.18,249.74,169.63C249.74,169.63,249.74,169.63,249.74,169.63Z" - ); - } - 10% { - d: path( - "M250.887564,168.08137C250.887564,168.081368,250.887563,168.081375,250.887563,168.081375C250.887563,168.081375,253.7831,157.676613,244.778825,154.781475C235.762034,151.882313,232.694053,158.881918,231.752888,162.486547C231.017121,165.304508,231.564293,168.517464,232.231509,169.666243C233.407087,171.690293,235.517449,173.828597,238.467701,174.606956C241.339242,175.364549,245.542656,175.427978,248.770823,172.704057C248.770823,172.704057,250.400569,171.202441,250.887564,168.08137Z" - ); - } - 20% { - d: path( - "M250.887564,168.08137C250.887564,168.081368,250.887563,168.081375,250.887563,168.081375C250.887563,168.081375,253.7831,157.676613,244.778825,154.781475C235.762034,151.882313,232.694053,158.881918,231.752888,162.486547C231.017121,165.304508,231.564293,168.517464,232.231509,169.666243C233.407087,171.690293,235.517449,173.828597,238.467701,174.606956C241.339242,175.364549,245.542656,175.427978,248.770823,172.704057C248.770823,172.704057,250.400569,171.202441,250.887564,168.08137Z" - ); - } - 30% { - d: path( - "M249.74,169.63C255.24,145.95,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,191.54,41.29,201.15,49.9C217.04,64.13,228.2,81.76,232.8,102.69C237.26,123,235.13,144.24,230.46,164.3C227.54,176.84,246.82,182.18,249.74,169.63C249.74,169.63,249.74,169.63,249.74,169.63Z" - ); - } - 33.333333% { - d: path( - "M249.74,169.63C255.24,145.95,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,191.54,41.29,201.15,49.9C217.04,64.13,228.2,81.76,232.8,102.69C237.26,123,235.13,144.24,230.46,164.3C227.54,176.84,246.82,182.18,249.74,169.63C249.74,169.63,249.74,169.63,249.74,169.63Z" - ); - } - 43.333333% { - d: path( - "M241.985702,180.287452C255.201364,145.393106,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,189.760952,38.146938,199.370952,46.756938C229.706596,66.855753,234.126292,101.544407,234.194759,127.574104C235.798839,155.047874,216.192342,185.901625,205.13,201.21C199.980012,208.336696,214.039151,220.128533,219.270001,215.35C219.270001,215.35,237.299554,192.660656,241.985702,180.287452Z" - ); - } - 100% { - d: path( - "M241.985702,180.287452C255.201364,145.393106,257.31,121.31,252.08,97.38C246.83,73.38,233.49,52.08,215.29,35.76C205.73,27.19,189.760952,38.146938,199.370952,46.756938C229.706596,66.855753,234.126292,101.544407,234.194759,127.574104C235.798839,155.047874,216.192342,185.901625,205.13,201.21C199.980012,208.336696,214.039151,220.128533,219.270001,215.35C219.270001,215.35,237.299554,192.660656,241.985702,180.287452Z" - ); - } -} - -#eB8dk2fHKWC8 { - animation: eB8dk2fHKWC8__m 3000ms linear infinite normal forwards; -} - -@keyframes eB8dk2fHKWC8__m { - 0% { - d: path( - "M171.68,7.71C148.17,1.51,123.61,-1.28,99.53,3.25C75.39,7.79,53.7,20.49,36.85,38.21C28.01,47.52,41.68,62.11,50.57,52.76C65.27,37.3,83.22,26.66,104.27,22.68C124.7,18.82,145.87,21.58,165.79,26.83C178.22,30.11,184.14,11,171.68,7.71C171.68,7.71,171.68,7.71,171.68,7.71Z" - ); - } - 10% { - d: path( - "M171.58686,7.8192C164.834536,7.661923,162.882928,13.414575,162.613915,14.669774C162.613914,14.669774,161.858025,17.37084,162.366976,18.743708C162.782522,19.864622,163.527502,21.022768,164.723558,21.957074C165.842173,22.830886,168.859974,24.254302,168.859974,24.254302C168.859974,24.254302,168.859968,24.254306,168.859967,24.254304C181.289967,27.534304,184.046866,11.109212,171.586866,7.819212C171.586866,7.819212,171.58686,7.8192,171.58686,7.8192Z" - ); - } - 20% { - d: path( - "M171.58686,7.8192C164.834536,7.661923,162.882928,13.414575,162.613915,14.669774C162.613914,14.669774,161.858025,17.37084,162.366976,18.743708C162.782522,19.864622,163.527502,21.022768,164.723558,21.957074C165.842173,22.830886,168.859974,24.254302,168.859974,24.254302C168.859974,24.254302,168.859968,24.254306,168.859967,24.254304C181.289967,27.534304,184.046866,11.109212,171.586866,7.819212C171.586866,7.819212,171.58686,7.8192,171.58686,7.8192Z" - ); - } - 30% { - d: path( - "M171.68,7.71C148.17,1.51,123.61,-1.28,99.53,3.25C75.39,7.79,53.7,20.49,36.85,38.21C28.01,47.52,41.68,62.11,50.57,52.76C65.27,37.3,83.22,26.66,104.27,22.68C124.7,18.82,145.87,21.58,165.79,26.83C178.22,30.11,184.14,11,171.68,7.71C171.68,7.71,171.68,7.71,171.68,7.71Z" - ); - } - 33.333333% { - d: path( - "M171.68,7.71C148.17,1.51,123.61,-1.28,99.53,3.25C75.39,7.79,53.7,20.49,36.85,38.21C28.01,47.52,41.68,62.11,50.57,52.76C65.27,37.3,83.22,26.66,104.27,22.68C124.7,18.82,145.87,21.58,165.79,26.83C178.22,30.11,184.14,11,171.68,7.71C171.68,7.71,171.68,7.71,171.68,7.71Z" - ); - } - 43.333333% { - d: path( - "M154.601291,1.547478C127.732134,-3.659063,101.676041,0.16217,89.834975,4.047622C73.018778,9.565582,43.015709,29.967817,36.85,38.21C28.01,47.52,41.568561,62.002759,50.57,52.76C67.005248,35.884138,77.788003,22.937369,100.935291,18.024709C148.028227,8.029949,175.904245,24.591662,199.370952,46.756938C210.775532,51.88401,219.463487,39.878796,215.289997,35.759998C189.664787,10.470596,154.601291,1.547478,154.601291,1.547478Z" - ); - } - 100% { - d: path( - "M154.601291,1.547478C127.732134,-3.659063,101.676041,0.16217,89.834975,4.047622C73.018778,9.565582,43.015709,29.967817,36.85,38.21C28.01,47.52,41.568561,62.002759,50.57,52.76C67.005248,35.884138,77.788003,22.937369,100.935291,18.024709C148.028227,8.029949,175.904245,24.591662,199.370952,46.756938C210.775532,51.88401,219.463487,39.878796,215.289997,35.759998C189.664787,10.470596,154.601291,1.547478,154.601291,1.547478Z" - ); - } -} - -#eB8dk2fHKWC10 { - animation: eB8dk2fHKWC10__m 3000ms linear infinite normal forwards; -} - -@keyframes eB8dk2fHKWC10__m { - 0% { - d: path( - "M5.83,85.46C0.33,109.14,-1.74,133.78,3.49,157.71C8.74,181.71,22.08,203.01,40.28,219.33C49.84,227.9,64.03,213.8,54.42,205.19C38.53,190.96,27.37,173.33,22.77,152.4C18.31,132.09,20.44,110.85,25.11,90.79C28.03,78.25,8.75,72.91,5.83,85.46L5.83,85.46Z" - ); - } - 3.333333% { - d: path( - "M4.90273,88.748028C1.236063,104.534694,0.694614,122.375568,4.181281,138.328902C7.119767,155.82704,18.329955,178.442148,31.722495,188.944182C39.448991,194.869945,48.960631,181.919808,35.808325,167.974185C27.053341,155.46954,26.778713,144.786038,23.180834,130.168643C19.139468,114.899686,18.114526,100.786543,20.952073,87.411869C21.572437,79.045425,6.897064,77.595457,4.916661,86.915441L4.90273,88.748028Z" - ); - } - 10% { - d: path( - "M3.04819,95.324083C3.04819,95.324083,5.563842,99.566705,5.563842,99.566705C5.563842,99.566705,11.253926,104.287825,15.031546,103.153927C19.091035,103.791214,24.274539,98.764542,25.851733,95.404259C27.275674,92.370488,25.596139,87.698114,24.002501,85.705929C20.798403,80.519057,13.463578,80.659628,12.636219,80.655608C8.65731,80.636275,3.191193,86.96637,3.089982,89.826322L3.04819,95.324083Z" - ); - } - 20% { - d: path( - "M3.04819,95.324083C3.04819,95.324083,5.563842,99.566705,5.563842,99.566705C5.563842,99.566705,11.253926,104.287825,15.031546,103.153927C19.091035,103.791214,24.274539,98.764542,25.851733,95.404259C27.275674,92.370488,25.596139,87.698114,24.002501,85.705929C20.798403,80.519057,13.463578,80.659628,12.636219,80.655608C8.65731,80.636275,3.191193,86.96637,3.089982,89.826322L3.04819,95.324083Z" - ); - } - 30% { - d: path( - "M5.83,85.46C0.33,109.14,-1.74,133.78,3.49,157.71C8.74,181.71,22.08,203.01,40.28,219.33C49.84,227.9,64.03,213.8,54.42,205.19C38.53,190.96,27.37,173.33,22.77,152.4C18.31,132.09,20.44,110.85,25.11,90.79C28.03,78.25,8.75,72.91,5.83,85.46L5.83,85.46Z" - ); - } - 33.333333% { - d: path( - "M5.83,85.46C0.33,109.14,-1.74,133.78,3.49,157.71C8.74,181.71,22.08,203.01,40.28,219.33C49.84,227.9,64.03,213.8,54.42,205.19C38.53,190.96,27.37,173.33,22.77,152.4C18.31,132.09,20.44,110.85,25.11,90.79C28.03,78.25,8.75,72.91,5.83,85.46L5.83,85.46Z" - ); - } - 43.333333% { - d: path( - "M36.436007,38.11681C-7.498754,85.801617,-0.826469,134.911183,5.658972,158.164678C15.873566,192.855226,35.43893,215.965329,40.28,219.33C49.84,227.9,63.271136,215.585685,53.661136,206.975685C38.384036,191.128398,25.999041,166.121323,22.77,152.4C12.429986,121.009925,27.020185,73.061168,50.245766,52.61587C65.058304,39.576508,51.054205,23.186387,36.436019,38.116819L36.436007,38.11681Z" - ); - } - 100% { - d: path( - "M36.436007,38.11681C-7.498754,85.801617,-0.826469,134.911183,5.658972,158.164678C15.873566,192.855226,35.43893,215.965329,40.28,219.33C49.84,227.9,63.271136,215.585685,53.661136,206.975685C38.384036,191.128398,25.999041,166.121323,22.77,152.4C12.429986,121.009925,27.020185,73.061168,50.245766,52.61587C65.058304,39.576508,51.054205,23.186387,36.436019,38.116819L36.436007,38.11681Z" - ); - } -} - -#eB8dk2fHKWC11_ts { - animation: eB8dk2fHKWC11_ts__ts 3000ms linear infinite normal forwards; -} - -@keyframes eB8dk2fHKWC11_ts__ts { - 0% { - transform: translate(139.784999px, 140.086986px) scale(1, 1); - } - 30% { - transform: translate(139.784999px, 140.086986px) scale(1, 1); - } - 43.333333% { - transform: translate(139.784999px, 140.086986px) scale(0.102813, 0.102813); - } - 50% { - transform: translate(139.784999px, 140.086986px) scale(0.102813, 0.102813); - } - 60% { - transform: translate(139.784999px, 140.086986px) scale(1.001075, 1.001075); - } - 100% { - transform: translate(139.784999px, 140.086986px) scale(1.001075, 1.001075); - } -} - -#eB8dk2fHKWC11 { - animation: eB8dk2fHKWC11_c_o 3000ms linear infinite normal forwards; -} - -@keyframes eB8dk2fHKWC11_c_o { - 0% { - opacity: 0; - } - 30% { - opacity: 0; - } - 36.666667% { - opacity: 0; - } - 40% { - opacity: 1; - } - 100% { - opacity: 1; - } -} - -#eB8dk2fHKWC13_tr { - animation: eB8dk2fHKWC13_tr__tr 3000ms linear infinite normal forwards; -} - -@keyframes eB8dk2fHKWC13_tr__tr { - 0% { - transform: translate(139.785004px, 140.086979px) rotate(0deg); - } - 10% { - transform: translate(139.785004px, 140.086979px) rotate(0deg); - } - 20% { - transform: translate(139.785004px, 140.086979px) rotate(90.041277deg); - } - 100% { - transform: translate(139.785004px, 140.086979px) rotate(90.041277deg); - } -} - -#eB8dk2fHKWC13 { - animation: eB8dk2fHKWC13_c_o 3000ms linear infinite normal forwards; -} - -@keyframes eB8dk2fHKWC13_c_o { - 0% { - opacity: 0; - } - 6.666667% { - opacity: 0; - } - 10% { - opacity: 1; - } - 13.333333% { - opacity: 1; - } - 20% { - opacity: 0; - } - 100% { - opacity: 0; - } -} diff --git a/portal-ui/src/screens/Console/Common/MainError/MainError.tsx b/portal-ui/src/screens/Console/Common/MainError/MainError.tsx index 46eb2ca74..33ec2db56 100644 --- a/portal-ui/src/screens/Console/Common/MainError/MainError.tsx +++ b/portal-ui/src/screens/Console/Common/MainError/MainError.tsx @@ -19,7 +19,7 @@ import { useSelector } from "react-redux"; import get from "lodash/get"; import { AppState, useAppDispatch } from "../../../../store"; import { Box } from "@mui/material"; -import { AlertCloseIcon } from "../../../../icons"; +import { AlertCloseIcon } from "mds"; import { Portal } from "@mui/base"; import { setErrorSnackMessage } from "../../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Common/ObjectManager/ObjectHandled.tsx b/portal-ui/src/screens/Console/Common/ObjectManager/ObjectHandled.tsx index 59e80d133..0f77b6aba 100644 --- a/portal-ui/src/screens/Console/Common/ObjectManager/ObjectHandled.tsx +++ b/portal-ui/src/screens/Console/Common/ObjectManager/ObjectHandled.tsx @@ -27,7 +27,7 @@ import { DownloadStatIcon, EnabledIcon, UploadStatIcon, -} from "../../../../icons"; +} from "mds"; import clsx from "clsx"; import { callForObjectID } from "../../ObjectBrowser/transferManager"; diff --git a/portal-ui/src/screens/Console/Common/ObjectManager/ObjectManager.tsx b/portal-ui/src/screens/Console/Common/ObjectManager/ObjectManager.tsx index c3ae4ba7f..c88259a2d 100644 --- a/portal-ui/src/screens/Console/Common/ObjectManager/ObjectManager.tsx +++ b/portal-ui/src/screens/Console/Common/ObjectManager/ObjectManager.tsx @@ -21,7 +21,7 @@ import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { IconButton, Tooltip } from "@mui/material"; import { AppState, useAppDispatch } from "../../../../store"; -import { RemoveAllIcon } from "../../../../icons"; +import { RemoveAllIcon } from "mds"; import ObjectHandled from "./ObjectHandled"; import { cleanList, diff --git a/portal-ui/src/screens/Console/Common/PageHeader/PageHeader.tsx b/portal-ui/src/screens/Console/Common/PageHeader/PageHeader.tsx index 55b6e8e8a..e691acc0b 100644 --- a/portal-ui/src/screens/Console/Common/PageHeader/PageHeader.tsx +++ b/portal-ui/src/screens/Console/Common/PageHeader/PageHeader.tsx @@ -22,7 +22,7 @@ import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { AppState, useAppDispatch } from "../../../../store"; -import { CircleIcon, ObjectManagerIcon } from "../../../../icons"; +import { CircleIcon, ObjectManagerIcon } from "mds"; import { Box } from "@mui/material"; import { toggleList } from "../../ObjectBrowser/objectBrowserSlice"; import { selFeatures } from "../../consoleSlice"; diff --git a/portal-ui/src/screens/Console/Common/SearchBox.tsx b/portal-ui/src/screens/Console/Common/SearchBox.tsx index 8ce6d80f9..05b94a37c 100644 --- a/portal-ui/src/screens/Console/Common/SearchBox.tsx +++ b/portal-ui/src/screens/Console/Common/SearchBox.tsx @@ -16,7 +16,7 @@ import React from "react"; import InputAdornment from "@mui/material/InputAdornment"; -import SearchIcon from "../../../icons/SearchIcon"; +import { SearchIcon } from "mds"; import TextField from "@mui/material/TextField"; import withStyles from "@mui/styles/withStyles"; import { Theme } from "@mui/material/styles"; diff --git a/portal-ui/src/screens/Console/Common/TLSCertificate/TLSCertificate.tsx b/portal-ui/src/screens/Console/Common/TLSCertificate/TLSCertificate.tsx index 979e2b8a0..b4b03d57f 100644 --- a/portal-ui/src/screens/Console/Common/TLSCertificate/TLSCertificate.tsx +++ b/portal-ui/src/screens/Console/Common/TLSCertificate/TLSCertificate.tsx @@ -34,7 +34,7 @@ import { Typography, } from "@mui/material"; import EventBusyIcon from "@mui/icons-material/EventBusy"; -import CertificateIcon from "../../../../icons/CertificateIcon"; +import { CertificateIcon } from "mds"; const styles = (theme: Theme) => createStyles({ diff --git a/portal-ui/src/screens/Console/Common/TableWrapper/TableActionButton.tsx b/portal-ui/src/screens/Console/Common/TableWrapper/TableActionButton.tsx index fa8b5881c..f0d7a14ec 100644 --- a/portal-ui/src/screens/Console/Common/TableWrapper/TableActionButton.tsx +++ b/portal-ui/src/screens/Console/Common/TableWrapper/TableActionButton.tsx @@ -23,10 +23,14 @@ import CloudIcon from "./TableActionIcons/CloudIcon"; import ConsoleIcon from "./TableActionIcons/ConsoleIcon"; import DisableIcon from "./TableActionIcons/DisableIcon"; import FormatDriveIcon from "./TableActionIcons/FormatDriveIcon"; -import EditIcon from "../../../../icons/EditIcon"; -import TrashIcon from "../../../../icons/TrashIcon"; -import { IAMPoliciesIcon, PreviewIcon, ShareIcon } from "../../../../icons"; -import DownloadIcon from "../../../../icons/DownloadIcon"; +import { + IAMPoliciesIcon, + PreviewIcon, + ShareIcon, + EditIcon, + TrashIcon, + DownloadIcon, +} from "mds"; const styles = () => createStyles({ diff --git a/portal-ui/src/screens/Console/Common/TableWrapper/TableWrapper.tsx b/portal-ui/src/screens/Console/Common/TableWrapper/TableWrapper.tsx index f4c2088d1..70abf7fda 100644 --- a/portal-ui/src/screens/Console/Common/TableWrapper/TableWrapper.tsx +++ b/portal-ui/src/screens/Console/Common/TableWrapper/TableWrapper.tsx @@ -39,7 +39,7 @@ import { radioIcons, TableRowPredefStyles, } from "../FormComponents/common/styleLibrary"; -import Loader from "../Loader/Loader"; +import { Loader } from "mds"; import TooltipWrapper from "../TooltipWrapper/TooltipWrapper"; //Interfaces for table Items diff --git a/portal-ui/src/screens/Console/Common/TestWrapper/TestWrapper.tsx b/portal-ui/src/screens/Console/Common/TestWrapper/TestWrapper.tsx index 45b56f158..aba7e300c 100644 --- a/portal-ui/src/screens/Console/Common/TestWrapper/TestWrapper.tsx +++ b/portal-ui/src/screens/Console/Common/TestWrapper/TestWrapper.tsx @@ -20,11 +20,11 @@ import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { Grid } from "@mui/material"; import ArrowForwardIosIcon from "@mui/icons-material/ArrowForwardIos"; -import { DrivesIcon, VersionIcon } from "../../../../icons"; +import { DrivesIcon, VersionIcon } from "mds"; import { ServerInfo, Usage } from "../../Dashboard/types"; import { ErrorResponseHandler } from "../../../../common/types"; import api from "../../../../common/api"; -import Loader from "../Loader/Loader"; +import { Loader } from "mds"; interface ITestWrapper { title: any; diff --git a/portal-ui/src/screens/Console/Common/UsageBarWrapper/SummaryUsageBar.tsx b/portal-ui/src/screens/Console/Common/UsageBarWrapper/SummaryUsageBar.tsx index f9ba2e280..c8bf9b061 100644 --- a/portal-ui/src/screens/Console/Common/UsageBarWrapper/SummaryUsageBar.tsx +++ b/portal-ui/src/screens/Console/Common/UsageBarWrapper/SummaryUsageBar.tsx @@ -9,9 +9,9 @@ import { ITenant, ValueUnit, } from "../../Tenants/ListTenants/types"; -import { CircleIcon } from "../../../../icons"; +import { CircleIcon } from "mds"; import { niceBytes, niceBytesInt } from "../../../../common/utils"; -import Loader from "../Loader/Loader"; +import { Loader } from "mds"; import TenantCapacity from "../../Tenants/ListTenants/TenantCapacity"; import ErrorBlock from "../../../shared/ErrorBlock"; import LabelValuePair from "./LabelValuePair"; diff --git a/portal-ui/src/screens/Console/Common/UsageBarWrapper/UsageBarWrapper.tsx b/portal-ui/src/screens/Console/Common/UsageBarWrapper/UsageBarWrapper.tsx index 0b63e742a..81f9dbd6f 100644 --- a/portal-ui/src/screens/Console/Common/UsageBarWrapper/UsageBarWrapper.tsx +++ b/portal-ui/src/screens/Console/Common/UsageBarWrapper/UsageBarWrapper.tsx @@ -5,7 +5,7 @@ import withStyles from "@mui/styles/withStyles"; import { LinearProgress } from "@mui/material"; import Grid from "@mui/material/Grid"; import ErrorBlock from "../../../shared/ErrorBlock"; -import Loader from "../Loader/Loader"; +import { Loader } from "mds"; interface IProgressBar { maxValue: number; diff --git a/portal-ui/src/screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx b/portal-ui/src/screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx index 4efbff092..9596cf972 100644 --- a/portal-ui/src/screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx +++ b/portal-ui/src/screens/Console/Configurations/ConfigurationPanels/ConfigurationOptions.tsx @@ -28,7 +28,7 @@ import { } from "../../Common/FormComponents/common/styleLibrary"; import PageHeader from "../../Common/PageHeader/PageHeader"; import HelpBox from "../../../../common/HelpBox"; -import { SettingsIcon } from "../../../../icons"; +import { SettingsIcon } from "mds"; import { Link, Navigate, Route, Routes, useLocation } from "react-router-dom"; import VerticalTabs from "../../Common/VerticalTabs/VerticalTabs"; import PageLayout from "../../Common/Layout/PageLayout"; diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/AddReplicationSites.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/AddReplicationSites.tsx index 3b3fe1d7b..993319d67 100644 --- a/portal-ui/src/screens/Console/Configurations/SiteReplication/AddReplicationSites.tsx +++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/AddReplicationSites.tsx @@ -20,7 +20,7 @@ import { Box, LinearProgress } from "@mui/material"; import { useNavigate } from "react-router-dom"; import { Button } from "mds"; import useApi from "../../Common/Hooks/useApi"; -import { ClustersIcon } from "../../../../icons"; +import { ClustersIcon } from "mds"; import PageHeader from "../../Common/PageHeader/PageHeader"; import BackLink from "../../../../common/BackLink"; import { IAM_PAGES } from "../../../../common/SecureComponent/permissions"; diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/EditSiteEndPoint.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/EditSiteEndPoint.tsx index b189d135b..fe464b79a 100644 --- a/portal-ui/src/screens/Console/Configurations/SiteReplication/EditSiteEndPoint.tsx +++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/EditSiteEndPoint.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { useState } from "react"; -import { EditIcon } from "../../../../icons"; +import { EditIcon } from "mds"; import { Box, DialogContentText } from "@mui/material"; import Grid from "@mui/material/Grid"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/EntityReplicationLookup.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/EntityReplicationLookup.tsx index fdfb321aa..9655f99c7 100644 --- a/portal-ui/src/screens/Console/Configurations/SiteReplication/EntityReplicationLookup.tsx +++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/EntityReplicationLookup.tsx @@ -19,11 +19,11 @@ import { Box, Grid } from "@mui/material"; import { Button } from "mds"; import SelectWrapper from "../../Common/FormComponents/SelectWrapper/SelectWrapper"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; -import { ClustersIcon } from "../../../../icons"; +import { ClustersIcon } from "mds"; import useApi from "../../Common/Hooks/useApi"; import { StatsResponseType } from "./SiteReplicationStatus"; import BucketEntityStatus from "./LookupStatus/BucketEntityStatus"; -import Loader from "../../Common/Loader/Loader"; +import { Loader } from "mds"; import PolicyEntityStatus from "./LookupStatus/PolicyEntityStatus"; import GroupEntityStatus from "./LookupStatus/GroupEntityStatus"; import UserEntityStatus from "./LookupStatus/UserEntityStatus"; diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/LookupStatus/LookupStatusTable.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/LookupStatus/LookupStatusTable.tsx index 4959b92db..81add609c 100644 --- a/portal-ui/src/screens/Console/Configurations/SiteReplication/LookupStatus/LookupStatusTable.tsx +++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/LookupStatus/LookupStatusTable.tsx @@ -16,7 +16,7 @@ import React from "react"; import { Box } from "@mui/material"; -import { CircleIcon } from "../../../../../icons"; +import { CircleIcon } from "mds"; const LookupStatusTable = ({ matrixData = [], diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/ReplicationSites.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/ReplicationSites.tsx index 43f1afce3..038ee9ee0 100644 --- a/portal-ui/src/screens/Console/Configurations/SiteReplication/ReplicationSites.tsx +++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/ReplicationSites.tsx @@ -20,8 +20,7 @@ import ListItemButton from "@mui/material/ListItemButton"; import { Box, DialogContentText, Tooltip } from "@mui/material"; import { Button } from "mds"; import { ReplicationSite } from "./SiteReplication"; -import TrashIcon from "../../../../icons/TrashIcon"; -import { CircleIcon, ConfirmDeleteIcon, EditIcon } from "../../../../icons"; +import { CircleIcon, ConfirmDeleteIcon, EditIcon, TrashIcon } from "mds"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; import withStyles from "@mui/styles/withStyles"; import { Theme } from "@mui/material/styles"; diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/SRSiteInputRow.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/SRSiteInputRow.tsx index 8d3c415b5..2ebae11fe 100644 --- a/portal-ui/src/screens/Console/Configurations/SiteReplication/SRSiteInputRow.tsx +++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/SRSiteInputRow.tsx @@ -20,7 +20,7 @@ import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBo import Grid from "@mui/material/Grid"; import TooltipWrapper from "../../Common/TooltipWrapper/TooltipWrapper"; import { Button } from "mds"; -import { AddIcon, RemoveIcon } from "../../../../icons"; +import { AddIcon, RemoveIcon } from "mds"; import { SiteInputRow } from "./Types"; const SRSiteInputRow = ({ diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplication.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplication.tsx index de11d63d5..067e4bc0d 100644 --- a/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplication.tsx +++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplication.tsx @@ -22,15 +22,14 @@ import PageHeader from "../../Common/PageHeader/PageHeader"; import PageLayout from "../../Common/Layout/PageLayout"; import useApi from "../../Common/Hooks/useApi"; import ReplicationSites from "./ReplicationSites"; -import TrashIcon from "../../../../icons/TrashIcon"; -import { Button } from "mds"; -import Loader from "../../Common/Loader/Loader"; +import { Button, Loader } from "mds"; import { AddIcon, ClustersIcon, ConfirmDeleteIcon, RecoverIcon, -} from "../../../../icons"; + TrashIcon, +} from "mds"; import { ErrorResponseHandler } from "../../../../common/types"; import HelpBox from "../../../../common/HelpBox"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; diff --git a/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplicationStatus.tsx b/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplicationStatus.tsx index 6d004d705..000567ba7 100644 --- a/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplicationStatus.tsx +++ b/portal-ui/src/screens/Console/Configurations/SiteReplication/SiteReplicationStatus.tsx @@ -30,9 +30,9 @@ import { IAMPoliciesIcon, RefreshIcon, UsersIcon, -} from "../../../../icons"; +} from "mds"; import EntityReplicationLookup from "./EntityReplicationLookup"; -import Loader from "../../Common/Loader/Loader"; +import { Loader } from "mds"; import TooltipWrapper from "../../Common/TooltipWrapper/TooltipWrapper"; export type StatsResponseType = { diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx index fa440fd3d..081cf1db0 100644 --- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx +++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/ListTiersConfiguration.tsx @@ -31,14 +31,14 @@ import { tableStyles, typesSelection, } from "../../Common/FormComponents/common/styleLibrary"; -import { AddIcon, TiersIcon, TiersNotAvailableIcon } from "../../../../icons"; +import { AddIcon, TiersIcon, TiersNotAvailableIcon } from "mds"; import { ITierElement, ITierResponse } from "./types"; import { ErrorResponseHandler } from "../../../../common/types"; import api from "../../../../common/api"; import TableWrapper from "../../Common/TableWrapper/TableWrapper"; -import RefreshIcon from "../../../../icons/RefreshIcon"; +import { RefreshIcon } from "mds"; import PageHeader from "../../Common/PageHeader/PageHeader"; import HelpBox from "../../../../common/HelpBox"; import AButton from "../../Common/AButton/AButton"; @@ -60,8 +60,7 @@ import { useNavigate } from "react-router-dom"; import { useAppDispatch } from "../../../../store"; import { hasPermission } from "../../../../common/SecureComponent"; import TooltipWrapper from "../../Common/TooltipWrapper/TooltipWrapper"; -import TierOnlineIcon from "../../../../icons/TierOnlineIcon"; -import TierOfflineIcon from "../../../../icons/TierOfflineIcon"; +import { TierOnlineIcon, TierOfflineIcon } from "mds"; const UpdateTierCredentialsModal = withSuspense( React.lazy(() => import("./UpdateTierCredentialsModal")) ); diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/RegionSelectWrapper.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/RegionSelectWrapper.tsx index dfa35fcb2..d292d78d3 100644 --- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/RegionSelectWrapper.tsx +++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/RegionSelectWrapper.tsx @@ -25,7 +25,7 @@ import { inputFieldStyles, tooltipHelper, } from "../../Common/FormComponents/common/styleLibrary"; -import HelpIcon from "../../../../icons/HelpIcon"; +import { HelpIcon } from "mds"; import clsx from "clsx"; import RegionSelect from "./RegionSelect"; diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx index 228afbe26..bc0cbaa35 100644 --- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx +++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/TierTypeSelector.tsx @@ -24,7 +24,7 @@ import BackLink from "../../../../common/BackLink"; import PageLayout from "../../Common/Layout/PageLayout"; import TierTypeCard from "./TierTypeCard"; import HelpBox from "../../../../common/HelpBox"; -import { TiersIcon } from "../../../../icons"; +import { TiersIcon } from "mds"; import FormLayout from "../../Common/FormLayout"; const TierTypeSelector = () => { diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx index 0b72d1c1f..cb19fb1b6 100644 --- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx +++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/UpdateTierCredentialsModal.tsx @@ -33,7 +33,7 @@ import api from "../../../../common/api"; import { ITierElement } from "./types"; import { ErrorResponseHandler } from "../../../../common/types"; import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper"; -import { LockIcon } from "../../../../icons"; +import { LockIcon } from "mds"; import { setModalErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/utils.tsx b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/utils.tsx index c1be29f04..78733891b 100644 --- a/portal-ui/src/screens/Console/Configurations/TiersConfiguration/utils.tsx +++ b/portal-ui/src/screens/Console/Configurations/TiersConfiguration/utils.tsx @@ -23,7 +23,7 @@ import { MinIOTierIconXs, S3TierIcon, S3TierIconXs, -} from "../../../../icons"; +} from "mds"; export const minioServiceName = "minio"; export const gcsServiceName = "gcs"; diff --git a/portal-ui/src/screens/Console/Dashboard/BasicDashboard/BasicDashboard.tsx b/portal-ui/src/screens/Console/Dashboard/BasicDashboard/BasicDashboard.tsx index 09d3ce7d4..728f73622 100644 --- a/portal-ui/src/screens/Console/Dashboard/BasicDashboard/BasicDashboard.tsx +++ b/portal-ui/src/screens/Console/Dashboard/BasicDashboard/BasicDashboard.tsx @@ -27,7 +27,7 @@ import { UptimeIcon, FormatDrivesIcon, StorageIcon, -} from "../../../../icons"; +} from "mds"; import HelpBox from "../../../../common/HelpBox"; import { calculateBytes, representationNumber } from "../../../../common/utils"; import { IDriveInfo, Usage } from "../types"; @@ -36,7 +36,7 @@ import groupBy from "lodash/groupBy"; import ServersList from "./ServersList"; import CounterCard from "./CounterCard"; import ReportedUsage from "./ReportedUsage"; -import { DiagnosticsMenuIcon } from "../../../../icons/SidebarMenus"; +import { DiagnosticsMenuIcon } from "mds"; import { Button } from "mds"; import { Link } from "react-router-dom"; import { IAM_PAGES } from "../../../../common/SecureComponent/permissions"; diff --git a/portal-ui/src/screens/Console/Dashboard/BasicDashboard/DriveInfoItem.tsx b/portal-ui/src/screens/Console/Dashboard/BasicDashboard/DriveInfoItem.tsx index 925114103..8d1359d05 100644 --- a/portal-ui/src/screens/Console/Dashboard/BasicDashboard/DriveInfoItem.tsx +++ b/portal-ui/src/screens/Console/Dashboard/BasicDashboard/DriveInfoItem.tsx @@ -26,7 +26,7 @@ import { } from "../../../../common/utils"; import { Box } from "@mui/material"; import { Cell, Pie, PieChart } from "recharts"; -import { CircleIcon } from "../../../../icons"; +import { CircleIcon } from "mds"; import { commonDashboardInfocard } from "../../Common/FormComponents/common/styleLibrary"; import { STATUS_COLORS } from "./Utils"; diff --git a/portal-ui/src/screens/Console/Dashboard/BasicDashboard/ServerInfoItem.tsx b/portal-ui/src/screens/Console/Dashboard/BasicDashboard/ServerInfoItem.tsx index 8c6a2f46d..69882459b 100644 --- a/portal-ui/src/screens/Console/Dashboard/BasicDashboard/ServerInfoItem.tsx +++ b/portal-ui/src/screens/Console/Dashboard/BasicDashboard/ServerInfoItem.tsx @@ -20,7 +20,7 @@ import withStyles from "@mui/styles/withStyles"; import { ServerInfo } from "../types"; import { niceDays } from "../../../../common/utils"; import { Box } from "@mui/material"; -import { CircleIcon } from "../../../../icons"; +import { CircleIcon } from "mds"; import get from "lodash/get"; import { commonDashboardInfocard } from "../../Common/FormComponents/common/styleLibrary"; import { diff --git a/portal-ui/src/screens/Console/Dashboard/BasicDashboard/ServersList.tsx b/portal-ui/src/screens/Console/Dashboard/BasicDashboard/ServersList.tsx index 5677d43da..c9e33b7ac 100644 --- a/portal-ui/src/screens/Console/Dashboard/BasicDashboard/ServersList.tsx +++ b/portal-ui/src/screens/Console/Dashboard/BasicDashboard/ServersList.tsx @@ -23,10 +23,7 @@ import { ServerInfo } from "../types"; import ServerInfoItem from "./ServerInfoItem"; import { Box } from "@mui/material"; import DriveInfoItem from "./DriveInfoItem"; -import { - MenuCollapsedIcon, - MenuExpandedIcon, -} from "../../../../icons/SidebarMenus"; +import { MenuCollapsedIcon, MenuExpandedIcon } from "mds"; const ServersList = ({ data }: { data: ServerInfo[] }) => { const [expanded, setExpanded] = React.useState( diff --git a/portal-ui/src/screens/Console/Dashboard/BasicDashboard/StatusCountCard.tsx b/portal-ui/src/screens/Console/Dashboard/BasicDashboard/StatusCountCard.tsx index 287da41aa..6542b20fb 100644 --- a/portal-ui/src/screens/Console/Dashboard/BasicDashboard/StatusCountCard.tsx +++ b/portal-ui/src/screens/Console/Dashboard/BasicDashboard/StatusCountCard.tsx @@ -16,7 +16,7 @@ import React from "react"; import { Box } from "@mui/material"; -import { CircleIcon } from "../../../../icons"; +import { CircleIcon } from "mds"; export const StatusCountCard = ({ onlineCount = 0, diff --git a/portal-ui/src/screens/Console/Dashboard/DownloadWidgetDataButton.tsx b/portal-ui/src/screens/Console/Dashboard/DownloadWidgetDataButton.tsx index 6e71e5ade..fd0d3d23b 100644 --- a/portal-ui/src/screens/Console/Dashboard/DownloadWidgetDataButton.tsx +++ b/portal-ui/src/screens/Console/Dashboard/DownloadWidgetDataButton.tsx @@ -17,7 +17,7 @@ import React, { Fragment } from "react"; import { Menu, MenuItem, Box } from "@mui/material"; import ListItemText from "@mui/material/ListItemText"; -import { DownloadIcon } from "../../../icons"; +import { DownloadIcon } from "mds"; import { exportComponentAsPNG } from "react-component-export-image"; import { ErrorResponseHandler } from "../../../common/types"; import { useAppDispatch } from "../../../../src/store"; diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/PrDashboard.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/PrDashboard.tsx index 365fd6f62..5bd88f48d 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/PrDashboard.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/PrDashboard.tsx @@ -47,13 +47,13 @@ import MergedWidgetsRenderer from "./Widgets/MergedWidgetsRenderer"; import PageLayout from "../../Common/Layout/PageLayout"; import { Usage } from "../types"; import BasicDashboard from "../BasicDashboard/BasicDashboard"; -import SyncIcon from "../../../../icons/SyncIcon"; +import { SyncIcon } from "mds"; import { Button } from "mds"; import { ITabOption } from "../../Common/TabSelector/types"; import { getUsageAsync } from "../dashboardThunks"; import { reloadWidgets } from "../dashboardSlice"; import HelpBox from "../../../../common/HelpBox"; -import { PrometheusErrorIcon } from "../../../../icons"; +import { PrometheusErrorIcon } from "mds"; interface IPrDashboard { classes?: any; diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/BarChartWidget.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/BarChartWidget.tsx index ea7667120..b25e55088 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/BarChartWidget.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/BarChartWidget.tsx @@ -37,7 +37,7 @@ import { widgetDetailsToPanel } from "../utils"; import { ErrorResponseHandler } from "../../../../../common/types"; import api from "../../../../../common/api"; import { useTheme } from "@mui/styles"; -import Loader from "../../../Common/Loader/Loader"; +import { Loader } from "mds"; import ExpandGraphLink from "./ExpandGraphLink"; import { setErrorSnackMessage } from "../../../../../systemSlice"; import { AppState, useAppDispatch } from "../../../../../store"; diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/BucketsCountItem.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/BucketsCountItem.tsx index f698f4e90..72b75e03a 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/BucketsCountItem.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/BucketsCountItem.tsx @@ -16,7 +16,7 @@ import React from "react"; import NumericStatCard from "./NumericStatCard"; -import { BucketsIcon } from "../../../../../icons"; +import { BucketsIcon } from "mds"; const BucketsCountItem = ({ title, diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/CapacityItem.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/CapacityItem.tsx index 53e9590f8..ee61d8055 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/CapacityItem.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/CapacityItem.tsx @@ -27,8 +27,8 @@ import { niceBytesInt, } from "../../../../../common/utils"; import { Cell, Pie, PieChart } from "recharts"; -import { ReportedUsageIcon } from "../../../../../icons"; -import Loader from "../../../Common/Loader/Loader"; +import { ReportedUsageIcon } from "mds"; +import { Loader } from "mds"; import { setErrorSnackMessage } from "../../../../../systemSlice"; import { AppState, useAppDispatch } from "../../../../../store"; import { useSelector } from "react-redux"; diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/EntityStateItemRenderer.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/EntityStateItemRenderer.tsx index 49d1c1c94..b62a86ba7 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/EntityStateItemRenderer.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/EntityStateItemRenderer.tsx @@ -17,7 +17,7 @@ import React from "react"; import EntityStateStatItem from "./EntityStateStatItem"; import { Box } from "@mui/material"; -import { CircleIcon, DrivesIcon, ServersIcon } from "../../../../../icons"; +import { CircleIcon, DrivesIcon, ServersIcon } from "mds"; import DualStatCard from "./DualStatCard"; import { IDashboardPanel } from "../types"; diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/EntityStateStatItem.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/EntityStateStatItem.tsx index fc380a102..a88de2598 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/EntityStateStatItem.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/EntityStateStatItem.tsx @@ -20,7 +20,7 @@ import api from "../../../../../common/api"; import { widgetDetailsToPanel } from "../utils"; import { ErrorResponseHandler } from "../../../../../common/types"; import { IDashboardPanel } from "../types"; -import Loader from "../../../Common/Loader/Loader"; +import { Loader } from "mds"; import { setErrorSnackMessage } from "../../../../../systemSlice"; import { AppState, useAppDispatch } from "../../../../../store"; diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/LinearGraphWidget.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/LinearGraphWidget.tsx index dd7096ade..8d7f60e52 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/LinearGraphWidget.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/LinearGraphWidget.tsx @@ -36,7 +36,7 @@ import { ErrorResponseHandler } from "../../../../../common/types"; import api from "../../../../../common/api"; import LineChartTooltip from "./tooltips/LineChartTooltip"; import { useTheme } from "@mui/styles"; -import Loader from "../../../Common/Loader/Loader"; +import { Loader } from "mds"; import ExpandGraphLink from "./ExpandGraphLink"; import { setErrorSnackMessage } from "../../../../../systemSlice"; import { AppState, useAppDispatch } from "../../../../../store"; diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NetworkGetItem.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NetworkGetItem.tsx index 734c96bfd..4ae8fab98 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NetworkGetItem.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NetworkGetItem.tsx @@ -16,8 +16,8 @@ import React from "react"; import { Box } from "@mui/material"; -import Loader from "../../../Common/Loader/Loader"; -import { NetworkGetIcon } from "../../../../../icons"; +import { Loader } from "mds"; +import { NetworkGetIcon } from "mds"; const NetworkGetItem = ({ value, diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NetworkItem.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NetworkItem.tsx index 295139e1e..3b18669df 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NetworkItem.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NetworkItem.tsx @@ -17,7 +17,7 @@ import React from "react"; import { IDashboardPanel } from "../types"; import { Box } from "@mui/material"; -import { SpeedtestIcon } from "../../../../../icons"; +import { SpeedtestIcon } from "mds"; import SingleValueWidget from "./SingleValueWidget"; import NetworkGetItem from "./NetworkGetItem"; import NetworkPutItem from "./NetworkPutItem"; diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NetworkPutItem.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NetworkPutItem.tsx index 232acb65e..88bb359c4 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NetworkPutItem.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NetworkPutItem.tsx @@ -16,8 +16,8 @@ import React from "react"; import { Box } from "@mui/material"; -import Loader from "../../../Common/Loader/Loader"; -import { NetworkPutIcon } from "../../../../../icons"; +import { Loader } from "mds"; +import { NetworkPutIcon } from "mds"; const NetworkPutItem = ({ value, diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NumericStatCard.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NumericStatCard.tsx index a19433f7e..8d41cfce7 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NumericStatCard.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/NumericStatCard.tsx @@ -16,7 +16,7 @@ import React from "react"; import { Box, Tooltip } from "@mui/material"; -import Loader from "../../../Common/Loader/Loader"; +import { Loader } from "mds"; const NumericStatCard = ({ value, diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/ObjectsCountItem.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/ObjectsCountItem.tsx index 124f5bdf4..0a237d0cc 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/ObjectsCountItem.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/ObjectsCountItem.tsx @@ -16,7 +16,7 @@ import React from "react"; import NumericStatCard from "./NumericStatCard"; -import { TotalObjectsIcon } from "../../../../../icons"; +import { TotalObjectsIcon } from "mds"; const ObjectsCountItem = ({ title, diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/PieChartWidget.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/PieChartWidget.tsx index 42398b390..99dc3a798 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/PieChartWidget.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/PieChartWidget.tsx @@ -28,7 +28,7 @@ import { splitSizeMetric, widgetDetailsToPanel } from "../utils"; import { ErrorResponseHandler } from "../../../../../common/types"; import get from "lodash/get"; import api from "../../../../../common/api"; -import Loader from "../../../Common/Loader/Loader"; +import { Loader } from "mds"; import { setErrorSnackMessage } from "../../../../../systemSlice"; import { AppState, useAppDispatch } from "../../../../../store"; import { useSelector } from "react-redux"; diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SimpleWidget.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SimpleWidget.tsx index 1c927369f..bac9cb4c5 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SimpleWidget.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SimpleWidget.tsx @@ -24,7 +24,7 @@ import { widgetDetailsToPanel } from "../utils"; import { IDashboardPanel } from "../types"; import { ErrorResponseHandler } from "../../../../../common/types"; -import Loader from "../../../Common/Loader/Loader"; +import { Loader } from "mds"; import { setErrorSnackMessage } from "../../../../../systemSlice"; import { AppState, useAppDispatch } from "../../../../../store"; diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SingleValueWidget.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SingleValueWidget.tsx index b54442748..515deee23 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SingleValueWidget.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/Widgets/SingleValueWidget.tsx @@ -20,7 +20,7 @@ import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import api from "../../../../../common/api"; -import Loader from "../../../Common/Loader/Loader"; +import { Loader } from "mds"; import { widgetCommon } from "../../../Common/FormComponents/common/styleLibrary"; import { splitSizeMetric, widgetDetailsToPanel } from "../utils"; import { IDashboardPanel } from "../types"; diff --git a/portal-ui/src/screens/Console/Dashboard/Prometheus/utils.tsx b/portal-ui/src/screens/Console/Dashboard/Prometheus/utils.tsx index 3d333a96f..3e9174f01 100644 --- a/portal-ui/src/screens/Console/Dashboard/Prometheus/utils.tsx +++ b/portal-ui/src/screens/Console/Dashboard/Prometheus/utils.tsx @@ -25,9 +25,7 @@ import { textToRGBColor, units, } from "../../../../common/utils"; -import HealIcon from "../../../../icons/HealIcon"; -import DiagnosticsIcon from "../../../../icons/DiagnosticsIcon"; -import { UptimeIcon } from "../../../../icons"; +import { HealIcon, DiagnosticsIcon, UptimeIcon } from "mds"; const colorsMain = [ "#C4D4E9", diff --git a/portal-ui/src/screens/Console/Dashboard/TimeStatItem.tsx b/portal-ui/src/screens/Console/Dashboard/TimeStatItem.tsx index d8c48f9d8..8b9c883dc 100644 --- a/portal-ui/src/screens/Console/Dashboard/TimeStatItem.tsx +++ b/portal-ui/src/screens/Console/Dashboard/TimeStatItem.tsx @@ -16,8 +16,8 @@ import React from "react"; import { Box } from "@mui/material"; -import { SuccessIcon } from "../../../icons"; -import Loader from "../Common/Loader/Loader"; +import { SuccessIcon } from "mds"; +import { Loader } from "mds"; const TimeStatItem = ({ icon, diff --git a/portal-ui/src/screens/Console/DirectPV/DirectPVDrives.tsx b/portal-ui/src/screens/Console/DirectPV/DirectPVDrives.tsx index 4bb41bb59..cf5c793c4 100644 --- a/portal-ui/src/screens/Console/DirectPV/DirectPVDrives.tsx +++ b/portal-ui/src/screens/Console/DirectPV/DirectPVDrives.tsx @@ -22,7 +22,7 @@ import withStyles from "@mui/styles/withStyles"; import { Grid, InputAdornment, TextField } from "@mui/material"; import get from "lodash/get"; import GroupIcon from "@mui/icons-material/Group"; -import { AddIcon, StorageIcon } from "../../../icons"; +import { AddIcon, StorageIcon } from "mds"; import { actionsTray, containerForHeader, @@ -37,8 +37,7 @@ import { niceBytes } from "../../../common/utils"; import { ErrorResponseHandler } from "../../../common/types"; import api from "../../../common/api"; import TableWrapper from "../Common/TableWrapper/TableWrapper"; -import RefreshIcon from "../../../icons/RefreshIcon"; -import SearchIcon from "../../../icons/SearchIcon"; +import { RefreshIcon, SearchIcon } from "mds"; import HelpBox from "../../../common/HelpBox"; import withSuspense from "../Common/Components/withSuspense"; diff --git a/portal-ui/src/screens/Console/DirectPV/DirectPVVolumes.tsx b/portal-ui/src/screens/Console/DirectPV/DirectPVVolumes.tsx index 5ba33037d..a3c81c701 100644 --- a/portal-ui/src/screens/Console/DirectPV/DirectPVVolumes.tsx +++ b/portal-ui/src/screens/Console/DirectPV/DirectPVVolumes.tsx @@ -33,7 +33,7 @@ import { ErrorResponseHandler } from "../../../common/types"; import { setErrorSnackMessage } from "../../../systemSlice"; import api from "../../../common/api"; import TableWrapper from "../Common/TableWrapper/TableWrapper"; -import SearchIcon from "../../../icons/SearchIcon"; +import { SearchIcon } from "mds"; import PageHeader from "../Common/PageHeader/PageHeader"; import PageLayout from "../Common/Layout/PageLayout"; diff --git a/portal-ui/src/screens/Console/DirectPV/FormatDrives.tsx b/portal-ui/src/screens/Console/DirectPV/FormatDrives.tsx index f6937b064..820d460b6 100644 --- a/portal-ui/src/screens/Console/DirectPV/FormatDrives.tsx +++ b/portal-ui/src/screens/Console/DirectPV/FormatDrives.tsx @@ -23,7 +23,7 @@ import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWr import PredefinedList from "../Common/FormComponents/PredefinedList/PredefinedList"; import FormSwitchWrapper from "../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog"; -import { FormatDrivesIcon } from "../../../icons"; +import { FormatDrivesIcon } from "mds"; import { setErrorSnackMessage } from "../../../systemSlice"; import { useAppDispatch } from "../../../store"; diff --git a/portal-ui/src/screens/Console/DirectPV/FormatErrorsResult.tsx b/portal-ui/src/screens/Console/DirectPV/FormatErrorsResult.tsx index 406768f45..3c92ec82a 100644 --- a/portal-ui/src/screens/Console/DirectPV/FormatErrorsResult.tsx +++ b/portal-ui/src/screens/Console/DirectPV/FormatErrorsResult.tsx @@ -23,7 +23,7 @@ import ModalWrapper from "../Common/ModalWrapper/ModalWrapper"; import TableWrapper from "../Common/TableWrapper/TableWrapper"; import { IDirectPVFormatResItem } from "./types"; import { modalStyleUtils } from "../Common/FormComponents/common/styleLibrary"; -import { DriveFormatErrorsIcon } from "../../../icons"; +import { DriveFormatErrorsIcon } from "mds"; import { encodeURLString } from "../../../common/utils"; interface IFormatErrorsProps { diff --git a/portal-ui/src/screens/Console/Groups/AddGroupHelpBox.tsx b/portal-ui/src/screens/Console/Groups/AddGroupHelpBox.tsx index 8b5b7684d..2851c835e 100644 --- a/portal-ui/src/screens/Console/Groups/AddGroupHelpBox.tsx +++ b/portal-ui/src/screens/Console/Groups/AddGroupHelpBox.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React from "react"; import { Box } from "@mui/material"; -import { GroupsIcon, HelpIconFilled, IAMPoliciesIcon } from "../../../icons"; +import { GroupsIcon, HelpIconFilled, IAMPoliciesIcon } from "mds"; const FeatureItem = ({ icon, diff --git a/portal-ui/src/screens/Console/Groups/AddGroupMember.tsx b/portal-ui/src/screens/Console/Groups/AddGroupMember.tsx index e5f823c31..aa48cbcb1 100644 --- a/portal-ui/src/screens/Console/Groups/AddGroupMember.tsx +++ b/portal-ui/src/screens/Console/Groups/AddGroupMember.tsx @@ -15,7 +15,7 @@ import { modalStyleUtils, } from "../Common/FormComponents/common/styleLibrary"; import withStyles from "@mui/styles/withStyles"; -import { AddMembersToGroupIcon } from "../../../icons"; +import { AddMembersToGroupIcon } from "mds"; import { encodeURLString } from "../../../common/utils"; import { setModalErrorSnackMessage } from "../../../systemSlice"; import { useAppDispatch } from "../../../store"; diff --git a/portal-ui/src/screens/Console/Groups/AddGroupScreen.tsx b/portal-ui/src/screens/Console/Groups/AddGroupScreen.tsx index 56739ed1a..3683d1b43 100644 --- a/portal-ui/src/screens/Console/Groups/AddGroupScreen.tsx +++ b/portal-ui/src/screens/Console/Groups/AddGroupScreen.tsx @@ -33,7 +33,7 @@ import AddGroupHelpBox from "./AddGroupHelpBox"; import UsersSelectors from "./UsersSelectors"; import BackLink from "../../../common/BackLink"; -import { CreateGroupIcon } from "../../../icons"; +import { CreateGroupIcon } from "mds"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { ErrorResponseHandler } from "../../../../src/common/types"; import api from "../../../../src/common/api"; diff --git a/portal-ui/src/screens/Console/Groups/DeleteGroup.tsx b/portal-ui/src/screens/Console/Groups/DeleteGroup.tsx index 9fb4bf8a7..2ff2f41d1 100644 --- a/portal-ui/src/screens/Console/Groups/DeleteGroup.tsx +++ b/portal-ui/src/screens/Console/Groups/DeleteGroup.tsx @@ -21,7 +21,7 @@ import { DialogContentText } from "@mui/material"; import { ErrorResponseHandler } from "../../../common/types"; import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog"; import useApi from "../Common/Hooks/useApi"; -import { ConfirmDeleteIcon } from "../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import { encodeURLString } from "../../../common/utils"; import { setErrorSnackMessage } from "../../../systemSlice"; import { useAppDispatch } from "../../../store"; diff --git a/portal-ui/src/screens/Console/Groups/Groups.tsx b/portal-ui/src/screens/Console/Groups/Groups.tsx index b11d19012..d2d011933 100644 --- a/portal-ui/src/screens/Console/Groups/Groups.tsx +++ b/portal-ui/src/screens/Console/Groups/Groups.tsx @@ -28,7 +28,7 @@ import { GroupsIcon, IAMPoliciesIcon, UsersIcon, -} from "../../../icons"; +} from "mds"; import { GroupsList } from "./types"; import { stringSort } from "../../../utils/sortFunctions"; diff --git a/portal-ui/src/screens/Console/Groups/GroupsDetails.tsx b/portal-ui/src/screens/Console/Groups/GroupsDetails.tsx index ec07d087d..0b7b7f22b 100644 --- a/portal-ui/src/screens/Console/Groups/GroupsDetails.tsx +++ b/portal-ui/src/screens/Console/Groups/GroupsDetails.tsx @@ -14,12 +14,7 @@ import { import withStyles from "@mui/styles/withStyles"; import { Grid } from "@mui/material"; import ScreenTitle from "../Common/ScreenTitle/ScreenTitle"; -import { - AddIcon, - GroupsIcon, - IAMPoliciesIcon, - TrashIcon, -} from "../../../icons"; +import { AddIcon, GroupsIcon, IAMPoliciesIcon, TrashIcon } from "mds"; import TableWrapper from "../Common/TableWrapper/TableWrapper"; import api from "../../../common/api"; import SetPolicy from "../Policies/SetPolicy"; diff --git a/portal-ui/src/screens/Console/Heal/Heal.tsx b/portal-ui/src/screens/Console/Heal/Heal.tsx index 2f91ec2f1..34af1e679 100644 --- a/portal-ui/src/screens/Console/Heal/Heal.tsx +++ b/portal-ui/src/screens/Console/Heal/Heal.tsx @@ -45,7 +45,7 @@ import { IAM_SCOPES, } from "../../../common/SecureComponent/permissions"; import { ErrorResponseHandler } from "../../../common/types"; -import { HealIcon } from "../../../icons"; +import { HealIcon } from "mds"; import CheckboxWrapper from "../Common/FormComponents/CheckboxWrapper/CheckboxWrapper"; import PageHeader from "../Common/PageHeader/PageHeader"; import api from "../../../common/api"; diff --git a/portal-ui/src/screens/Console/Health.tsx b/portal-ui/src/screens/Console/Health.tsx index 949efc029..a588b2879 100644 --- a/portal-ui/src/screens/Console/Health.tsx +++ b/portal-ui/src/screens/Console/Health.tsx @@ -1,5 +1,5 @@ import React from "react"; -import { HealthMenuIcon } from "../../icons/SidebarMenus"; +import { HealthMenuIcon } from "mds"; import FeatureNotAvailablePage from "./Common/Components/FeatureNotAvailablePage"; const Health = () => { diff --git a/portal-ui/src/screens/Console/HealthInfo/HealthInfo.tsx b/portal-ui/src/screens/Console/HealthInfo/HealthInfo.tsx index 4f8c4ddc6..b10d35742 100644 --- a/portal-ui/src/screens/Console/HealthInfo/HealthInfo.tsx +++ b/portal-ui/src/screens/Console/HealthInfo/HealthInfo.tsx @@ -50,8 +50,8 @@ import PageHeader from "../Common/PageHeader/PageHeader"; import TestWrapper from "../Common/TestWrapper/TestWrapper"; import PageLayout from "../Common/Layout/PageLayout"; import HelpBox from "../../../common/HelpBox"; -import WarnIcon from "../../../icons/WarnIcon"; -import Loader from "../Common/Loader/Loader"; +import { WarnIcon } from "mds"; +import { Loader } from "mds"; import { setServerDiagStat } from "../../../systemSlice"; import { healthInfoMessageReceived, diff --git a/portal-ui/src/screens/Console/IDP/AddIDPConfigurationHelpbox.tsx b/portal-ui/src/screens/Console/IDP/AddIDPConfigurationHelpbox.tsx index f10e65da6..9b1e31467 100644 --- a/portal-ui/src/screens/Console/IDP/AddIDPConfigurationHelpbox.tsx +++ b/portal-ui/src/screens/Console/IDP/AddIDPConfigurationHelpbox.tsx @@ -1,7 +1,7 @@ import React, { Fragment } from "react"; import { Box } from "@mui/material"; -import { HelpIconFilled } from "../../../icons"; +import { HelpIconFilled } from "mds"; interface IContent { icon: React.ReactNode; diff --git a/portal-ui/src/screens/Console/IDP/AddIDPOpenIDConfiguration.tsx b/portal-ui/src/screens/Console/IDP/AddIDPOpenIDConfiguration.tsx index 5e71e442b..c353a32ed 100644 --- a/portal-ui/src/screens/Console/IDP/AddIDPOpenIDConfiguration.tsx +++ b/portal-ui/src/screens/Console/IDP/AddIDPOpenIDConfiguration.tsx @@ -20,7 +20,7 @@ import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; -import { LockIcon } from "../../../icons"; +import { LockIcon } from "mds"; import AddIDPConfiguration from "./AddIDPConfiguration"; import { openIDFormFields, openIDHelpBoxContents } from "./utils"; import AddIDPConfigurationHelpBox from "./AddIDPConfigurationHelpbox"; diff --git a/portal-ui/src/screens/Console/IDP/DeleteIDPConfigurationModal.tsx b/portal-ui/src/screens/Console/IDP/DeleteIDPConfigurationModal.tsx index 2cc2bcb5d..438b9918e 100644 --- a/portal-ui/src/screens/Console/IDP/DeleteIDPConfigurationModal.tsx +++ b/portal-ui/src/screens/Console/IDP/DeleteIDPConfigurationModal.tsx @@ -20,7 +20,7 @@ import { DialogContentText } from "@mui/material"; import { ErrorResponseHandler } from "../../../common/types"; import useApi from "../Common/Hooks/useApi"; import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import { setErrorSnackMessage, setServerNeedsRestart, diff --git a/portal-ui/src/screens/Console/IDP/IDPConfigurationDetails.tsx b/portal-ui/src/screens/Console/IDP/IDPConfigurationDetails.tsx index 8f30563c3..d7e6ecb65 100644 --- a/portal-ui/src/screens/Console/IDP/IDPConfigurationDetails.tsx +++ b/portal-ui/src/screens/Console/IDP/IDPConfigurationDetails.tsx @@ -29,7 +29,7 @@ import { pageContentStyles, searchField, } from "../Common/FormComponents/common/styleLibrary"; -import { EditIcon, RefreshIcon, TrashIcon } from "../../../icons"; +import { EditIcon, RefreshIcon, TrashIcon } from "mds"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import { Button } from "mds"; import { useNavigate, useParams } from "react-router-dom"; diff --git a/portal-ui/src/screens/Console/IDP/IDPConfigurations.tsx b/portal-ui/src/screens/Console/IDP/IDPConfigurations.tsx index 4e82820cb..2c44ca4d4 100644 --- a/portal-ui/src/screens/Console/IDP/IDPConfigurations.tsx +++ b/portal-ui/src/screens/Console/IDP/IDPConfigurations.tsx @@ -38,7 +38,7 @@ import { containerForHeader } from "../Common/FormComponents/common/styleLibrary import { Grid } from "@mui/material"; import TooltipWrapper from "../Common/TooltipWrapper/TooltipWrapper"; import { Button } from "mds"; -import { AddIcon, RefreshIcon } from "../../../icons"; +import { AddIcon, RefreshIcon } from "mds"; import TableWrapper from "../Common/TableWrapper/TableWrapper"; import DeleteIDPConfigurationModal from "./DeleteIDPConfigurationModal"; diff --git a/portal-ui/src/screens/Console/IDP/IDPOpenIDConfigurationDetails.tsx b/portal-ui/src/screens/Console/IDP/IDPOpenIDConfigurationDetails.tsx index 137cf9e6a..7f73c8aed 100644 --- a/portal-ui/src/screens/Console/IDP/IDPOpenIDConfigurationDetails.tsx +++ b/portal-ui/src/screens/Console/IDP/IDPOpenIDConfigurationDetails.tsx @@ -20,7 +20,7 @@ import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; -import { LockIcon } from "../../../icons"; +import { LockIcon } from "mds"; import { openIDFormFields, openIDHelpBoxContents } from "./utils"; import IDPConfigurationDetails from "./IDPConfigurationDetails"; import AddIDPConfigurationHelpBox from "./AddIDPConfigurationHelpbox"; diff --git a/portal-ui/src/screens/Console/IDP/utils.tsx b/portal-ui/src/screens/Console/IDP/utils.tsx index 7139d98d2..9c08db00b 100644 --- a/portal-ui/src/screens/Console/IDP/utils.tsx +++ b/portal-ui/src/screens/Console/IDP/utils.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import LoginIcon from "@mui/icons-material/Login"; -import { LockIcon } from "../../../icons"; +import { LockIcon } from "mds"; export const ldapHelpBoxContents = [ { diff --git a/portal-ui/src/screens/Console/License/License.tsx b/portal-ui/src/screens/Console/License/License.tsx index 55268b76c..bb6974004 100644 --- a/portal-ui/src/screens/Console/License/License.tsx +++ b/portal-ui/src/screens/Console/License/License.tsx @@ -24,7 +24,7 @@ import { SubnetInfo } from "./types"; import { containerForHeader } from "../Common/FormComponents/common/styleLibrary"; import PageHeader from "../Common/PageHeader/PageHeader"; import api from "../../../common/api"; -import { ArrowRightLink, LoginMinIOLogo } from "../../../icons"; +import { ArrowRightLink, ThemedLogo } from "mds"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import LicensePlans from "./LicensePlans"; import { Link } from "react-router-dom"; @@ -235,7 +235,7 @@ const License = () => { }, }} > - Are you already a customer of ? + Are you already a customer of ? { diff --git a/portal-ui/src/screens/Console/Menu/MenuItem.tsx b/portal-ui/src/screens/Console/Menu/MenuItem.tsx index 0af07c4d8..371fb002f 100644 --- a/portal-ui/src/screens/Console/Menu/MenuItem.tsx +++ b/portal-ui/src/screens/Console/Menu/MenuItem.tsx @@ -30,10 +30,7 @@ import { menuItemTextStyles, } from "./MenuStyleUtils"; import List from "@mui/material/List"; -import { - MenuCollapsedIcon, - MenuExpandedIcon, -} from "../../../icons/SidebarMenus"; +import { MenuCollapsedIcon, MenuExpandedIcon } from "mds"; import { hasPermission } from "../../../common/SecureComponent"; import { CONSOLE_UI_RESOURCE, diff --git a/portal-ui/src/screens/Console/Menu/MenuToggle.tsx b/portal-ui/src/screens/Console/Menu/MenuToggle.tsx index bafc9fed4..c6c5768d8 100644 --- a/portal-ui/src/screens/Console/Menu/MenuToggle.tsx +++ b/portal-ui/src/screens/Console/Menu/MenuToggle.tsx @@ -17,7 +17,7 @@ import React, { Fragment, Suspense, useEffect } from "react"; import { ApplicationLogo } from "mds"; -import { VersionIcon } from "../../../icons"; +import { VersionIcon } from "mds"; import { Box, IconButton } from "@mui/material"; import MenuIcon from "@mui/icons-material/Menu"; import { useSelector } from "react-redux"; diff --git a/portal-ui/src/screens/Console/NotificationEndpoints/ConfirmDeleteTargetModal.tsx b/portal-ui/src/screens/Console/NotificationEndpoints/ConfirmDeleteTargetModal.tsx index 4df69de45..cb84a3fab 100644 --- a/portal-ui/src/screens/Console/NotificationEndpoints/ConfirmDeleteTargetModal.tsx +++ b/portal-ui/src/screens/Console/NotificationEndpoints/ConfirmDeleteTargetModal.tsx @@ -1,6 +1,6 @@ import React from "react"; import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmModalIcon } from "../../../icons"; +import { ConfirmModalIcon } from "mds"; import { DialogContentText } from "@mui/material"; const ConfirmDeleteTargetModal = ({ diff --git a/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/EditConfiguration.tsx b/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/EditConfiguration.tsx index 786f5e5cf..ba2fc1997 100644 --- a/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/EditConfiguration.tsx +++ b/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/EditConfiguration.tsx @@ -46,7 +46,7 @@ import { setSnackBarMessage, } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; -import Loader from "../../Common/Loader/Loader"; +import { Loader } from "mds"; import EndpointDisplay from "./EndpointDisplay"; const styles = (theme: Theme) => diff --git a/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/ResetConfigurationModal.tsx b/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/ResetConfigurationModal.tsx index 1ac28db3f..8f2ffe17d 100644 --- a/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/ResetConfigurationModal.tsx +++ b/portal-ui/src/screens/Console/NotificationEndpoints/CustomForms/ResetConfigurationModal.tsx @@ -25,7 +25,7 @@ import { deleteDialogStyles } from "../../Common/FormComponents/common/styleLibr import { ErrorResponseHandler } from "../../../../common/types"; import api from "../../../../common/api"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx b/portal-ui/src/screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx index b060da49b..4fa06d859 100644 --- a/portal-ui/src/screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx +++ b/portal-ui/src/screens/Console/NotificationEndpoints/ListNotificationEndpoints.tsx @@ -30,7 +30,7 @@ import { TransformedEndpointItem, } from "./types"; import { getNotificationConfigKey, notificationTransform } from "./utils"; -import { AddIcon, LambdaIcon } from "../../../icons"; +import { AddIcon, LambdaIcon } from "mds"; import TableWrapper from "../Common/TableWrapper/TableWrapper"; import { @@ -42,7 +42,7 @@ import { } from "../Common/FormComponents/common/styleLibrary"; import { ErrorResponseHandler } from "../../../common/types"; import api from "../../../common/api"; -import RefreshIcon from "../../../icons/RefreshIcon"; +import { RefreshIcon } from "mds"; import HelpBox from "../../../common/HelpBox"; import AButton from "../Common/AButton/AButton"; import PageLayout from "../Common/Layout/PageLayout"; diff --git a/portal-ui/src/screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx b/portal-ui/src/screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx index d8f8f64af..c54bc4283 100644 --- a/portal-ui/src/screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx +++ b/portal-ui/src/screens/Console/ObjectBrowser/BrowserBreadcrumbs.tsx @@ -25,7 +25,7 @@ import { Link, useNavigate } from "react-router-dom"; import { IconButton } from "@mui/material"; import { objectBrowserCommon } from "../Common/FormComponents/common/styleLibrary"; import { encodeURLString } from "../../../common/utils"; -import { BackCaretIcon, CopyIcon, NewPathIcon } from "../../../icons"; +import { BackCaretIcon, CopyIcon, NewPathIcon } from "mds"; import { hasPermission } from "../../../common/SecureComponent"; import { IAM_SCOPES, diff --git a/portal-ui/src/screens/Console/ObjectBrowser/OBBucketList.tsx b/portal-ui/src/screens/Console/ObjectBrowser/OBBucketList.tsx index bead9e69c..8c48763c3 100644 --- a/portal-ui/src/screens/Console/ObjectBrowser/OBBucketList.tsx +++ b/portal-ui/src/screens/Console/ObjectBrowser/OBBucketList.tsx @@ -23,7 +23,7 @@ import createStyles from "@mui/styles/createStyles"; import { LinearProgress } from "@mui/material"; import Grid from "@mui/material/Grid"; import { Bucket, BucketList } from "../Buckets/types"; -import { BucketsIcon } from "../../../icons"; +import { BucketsIcon } from "mds"; import { actionsTray, containerForHeader, @@ -34,7 +34,7 @@ import api from "../../../common/api"; import PageHeader from "../Common/PageHeader/PageHeader"; import HelpBox from "../../../common/HelpBox"; -import RefreshIcon from "../../../icons/RefreshIcon"; +import { RefreshIcon } from "mds"; import { SecureComponent } from "../../../common/SecureComponent"; import { CONSOLE_UI_RESOURCE, diff --git a/portal-ui/src/screens/Console/ObjectBrowser/RenameLongFilename.tsx b/portal-ui/src/screens/Console/ObjectBrowser/RenameLongFilename.tsx index f4adabf14..dab8382c0 100644 --- a/portal-ui/src/screens/Console/ObjectBrowser/RenameLongFilename.tsx +++ b/portal-ui/src/screens/Console/ObjectBrowser/RenameLongFilename.tsx @@ -20,7 +20,7 @@ import createStyles from "@mui/styles/createStyles"; import { Button } from "mds"; import makeStyles from "@mui/styles/makeStyles"; import { Theme } from "@mui/material/styles"; -import { EditIcon } from "../../../icons"; +import { EditIcon } from "mds"; import { containerForHeader, formFieldStyles, diff --git a/portal-ui/src/screens/Console/Policies/AddPolicyHelpBox.tsx b/portal-ui/src/screens/Console/Policies/AddPolicyHelpBox.tsx index f8958f49a..2dbfc5bd9 100644 --- a/portal-ui/src/screens/Console/Policies/AddPolicyHelpBox.tsx +++ b/portal-ui/src/screens/Console/Policies/AddPolicyHelpBox.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React from "react"; import { Box } from "@mui/material"; -import { HelpIconFilled, IAMPoliciesIcon } from "../../../icons"; +import { HelpIconFilled, IAMPoliciesIcon } from "mds"; const FeatureItem = ({ icon, diff --git a/portal-ui/src/screens/Console/Policies/AddPolicyScreen.tsx b/portal-ui/src/screens/Console/Policies/AddPolicyScreen.tsx index 8b345d781..6a2d367c5 100644 --- a/portal-ui/src/screens/Console/Policies/AddPolicyScreen.tsx +++ b/portal-ui/src/screens/Console/Policies/AddPolicyScreen.tsx @@ -24,7 +24,7 @@ import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWr import AddPolicyHelpBox from "./AddPolicyHelpBox"; import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper"; import BackLink from "../../../common/BackLink"; -import { AddAccessRuleIcon } from "../../../icons"; +import { AddAccessRuleIcon } from "mds"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { ErrorResponseHandler } from "../../../common/types"; import api from "../../../../src/common/api"; diff --git a/portal-ui/src/screens/Console/Policies/DeletePolicy.tsx b/portal-ui/src/screens/Console/Policies/DeletePolicy.tsx index cc80c83c7..0afee52aa 100644 --- a/portal-ui/src/screens/Console/Policies/DeletePolicy.tsx +++ b/portal-ui/src/screens/Console/Policies/DeletePolicy.tsx @@ -20,7 +20,7 @@ import { DialogContentText } from "@mui/material"; import { ErrorResponseHandler } from "../../../common/types"; import useApi from "../Common/Hooks/useApi"; import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import { encodeURLString } from "../../../common/utils"; import { setErrorSnackMessage } from "../../../systemSlice"; import { useAppDispatch } from "../../../store"; diff --git a/portal-ui/src/screens/Console/Policies/ListPolicies.tsx b/portal-ui/src/screens/Console/Policies/ListPolicies.tsx index 9e6c9b489..1f62fab3e 100644 --- a/portal-ui/src/screens/Console/Policies/ListPolicies.tsx +++ b/portal-ui/src/screens/Console/Policies/ListPolicies.tsx @@ -23,7 +23,7 @@ import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import Grid from "@mui/material/Grid"; import { Policy, PolicyList } from "./types"; -import { AddIcon, IAMPoliciesIcon } from "../../../icons"; +import { AddIcon, IAMPoliciesIcon } from "mds"; import { actionsTray, diff --git a/portal-ui/src/screens/Console/Policies/PolicyDetails.tsx b/portal-ui/src/screens/Console/Policies/PolicyDetails.tsx index 928365cb9..65de63efc 100644 --- a/portal-ui/src/screens/Console/Policies/PolicyDetails.tsx +++ b/portal-ui/src/screens/Console/Policies/PolicyDetails.tsx @@ -39,10 +39,7 @@ import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMi import InputAdornment from "@mui/material/InputAdornment"; import TextField from "@mui/material/TextField"; import ScreenTitle from "../Common/ScreenTitle/ScreenTitle"; -import IAMPoliciesIcon from "../../../icons/IAMPoliciesIcon"; -import RefreshIcon from "../../../icons/RefreshIcon"; -import SearchIcon from "../../../icons/SearchIcon"; -import TrashIcon from "../../../icons/TrashIcon"; +import { IAMPoliciesIcon, RefreshIcon, SearchIcon, TrashIcon } from "mds"; import PageLayout from "../Common/Layout/PageLayout"; import VerticalTabs from "../Common/VerticalTabs/VerticalTabs"; import BackLink from "../../../common/BackLink"; diff --git a/portal-ui/src/screens/Console/Policies/PolicyView.tsx b/portal-ui/src/screens/Console/Policies/PolicyView.tsx index 6309e3cbe..9da0c24b4 100644 --- a/portal-ui/src/screens/Console/Policies/PolicyView.tsx +++ b/portal-ui/src/screens/Console/Policies/PolicyView.tsx @@ -22,7 +22,7 @@ import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import { searchField } from "../Common/FormComponents/common/styleLibrary"; import withStyles from "@mui/styles/withStyles"; -import { DisabledIcon, EnabledIcon } from "../../../icons"; +import { DisabledIcon, EnabledIcon } from "mds"; import { STATUS_COLORS } from "../Dashboard/BasicDashboard/Utils"; const styles = (theme: Theme) => diff --git a/portal-ui/src/screens/Console/Speedtest/STResults.tsx b/portal-ui/src/screens/Console/Speedtest/STResults.tsx index 9d927ff6c..ad7c14a64 100644 --- a/portal-ui/src/screens/Console/Speedtest/STResults.tsx +++ b/portal-ui/src/screens/Console/Speedtest/STResults.tsx @@ -30,7 +30,7 @@ import { StorageIcon, UploadStatIcon, VersionIcon, -} from "../../../icons"; +} from "mds"; import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper"; import { Area, AreaChart, CartesianGrid, ResponsiveContainer } from "recharts"; import { cleanMetrics } from "./utils"; diff --git a/portal-ui/src/screens/Console/Speedtest/Speedtest.tsx b/portal-ui/src/screens/Console/Speedtest/Speedtest.tsx index 77d931b7f..f0f599778 100644 --- a/portal-ui/src/screens/Console/Speedtest/Speedtest.tsx +++ b/portal-ui/src/screens/Console/Speedtest/Speedtest.tsx @@ -34,7 +34,7 @@ import { } from "../Common/FormComponents/common/styleLibrary"; import { wsProtocol } from "../../../utils/wsUtils"; import { SpeedTestResponse } from "./types"; -import { SpeedtestIcon } from "../../../icons"; +import { SpeedtestIcon } from "mds"; import { CONSOLE_UI_RESOURCE, IAM_SCOPES, @@ -47,8 +47,8 @@ import PageLayout from "../Common/Layout/PageLayout"; import { SecureComponent } from "../../../common/SecureComponent"; import DistributedOnly from "../Common/DistributedOnly/DistributedOnly"; import HelpBox from "../../../common/HelpBox"; -import WarnIcon from "../../../icons/WarnIcon"; -import Loader from "../Common/Loader/Loader"; +import { WarnIcon } from "mds"; +import { Loader } from "mds"; import { selDistSet } from "../../../systemSlice"; import makeStyles from "@mui/styles/makeStyles"; import RegisterCluster from "../Support/RegisterCluster"; diff --git a/portal-ui/src/screens/Console/Support/ApiKeyRegister.tsx b/portal-ui/src/screens/Console/Support/ApiKeyRegister.tsx index fefcbf1e0..d40df6355 100644 --- a/portal-ui/src/screens/Console/Support/ApiKeyRegister.tsx +++ b/portal-ui/src/screens/Console/Support/ApiKeyRegister.tsx @@ -17,7 +17,7 @@ import React, { Fragment, useEffect, useState } from "react"; import { Box } from "@mui/material"; import { Button } from "mds"; -import { OnlineRegistrationIcon } from "../../../icons"; +import { OnlineRegistrationIcon } from "mds"; import { FormTitle } from "./utils"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import GetApiKeyModal from "./GetApiKeyModal"; diff --git a/portal-ui/src/screens/Console/Support/GetApiKeyModal.tsx b/portal-ui/src/screens/Console/Support/GetApiKeyModal.tsx index 620249296..9f570ebde 100644 --- a/portal-ui/src/screens/Console/Support/GetApiKeyModal.tsx +++ b/portal-ui/src/screens/Console/Support/GetApiKeyModal.tsx @@ -27,7 +27,7 @@ import { import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog"; import useApi from "../Common/Hooks/useApi"; import React, { useState } from "react"; -import { InfoIcon, UsersIcon } from "../../../icons"; +import { InfoIcon, UsersIcon } from "mds"; import { ErrorResponseHandler } from "../../../common/types"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import { useAppDispatch } from "../../../store"; diff --git a/portal-ui/src/screens/Console/Support/Register.tsx b/portal-ui/src/screens/Console/Support/Register.tsx index 288bbc255..de73de4a1 100644 --- a/portal-ui/src/screens/Console/Support/Register.tsx +++ b/portal-ui/src/screens/Console/Support/Register.tsx @@ -28,11 +28,10 @@ import withStyles from "@mui/styles/withStyles"; import { Box, Link } from "@mui/material"; import PageHeader from "../Common/PageHeader/PageHeader"; import PageLayout from "../Common/Layout/PageLayout"; -import { CopyIcon, UsersIcon } from "../../../icons"; +import { CopyIcon, UsersIcon } from "mds"; import RemoveRedEyeIcon from "@mui/icons-material/RemoveRedEye"; import VisibilityOffIcon from "@mui/icons-material/VisibilityOff"; -import OnlineRegistrationIcon from "../../../icons/OnlineRegistrationIcon"; -import OfflineRegistrationIcon from "../../../icons/OfflineRegistrationIcon"; +import { OnlineRegistrationIcon, OfflineRegistrationIcon } from "mds"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import api from "../../../common/api"; diff --git a/portal-ui/src/screens/Console/Support/RegisterCluster.tsx b/portal-ui/src/screens/Console/Support/RegisterCluster.tsx index ddf5a8fac..bfa2f300d 100644 --- a/portal-ui/src/screens/Console/Support/RegisterCluster.tsx +++ b/portal-ui/src/screens/Console/Support/RegisterCluster.tsx @@ -18,7 +18,7 @@ import React, { Fragment } from "react"; import Grid from "@mui/material/Grid"; import { Box, Button } from "@mui/material"; import { useNavigate } from "react-router-dom"; -import WarnIcon from "../../../icons/WarnIcon"; +import { WarnIcon } from "mds"; import HelpBox from "../../../common/HelpBox"; interface IRegisterCluster { diff --git a/portal-ui/src/screens/Console/Support/RegisterHelpBox.tsx b/portal-ui/src/screens/Console/Support/RegisterHelpBox.tsx index 81ba52f31..3e91fdf41 100644 --- a/portal-ui/src/screens/Console/Support/RegisterHelpBox.tsx +++ b/portal-ui/src/screens/Console/Support/RegisterHelpBox.tsx @@ -22,7 +22,7 @@ import { ExtraFeaturesIcon, HelpIconFilled, PerformanceFeatureIcon, -} from "../../../icons"; +} from "mds"; const FeatureItem = ({ icon, diff --git a/portal-ui/src/screens/Console/Support/RegisterStatus.tsx b/portal-ui/src/screens/Console/Support/RegisterStatus.tsx index 2fb345716..d51b08a56 100644 --- a/portal-ui/src/screens/Console/Support/RegisterStatus.tsx +++ b/portal-ui/src/screens/Console/Support/RegisterStatus.tsx @@ -14,10 +14,10 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { Box, Grid } from "@mui/material"; -import VerifiedIcon from "../../../icons/VerifiedIcon"; import React from "react"; import { Theme } from "@mui/material/styles"; +import { Box, Grid } from "@mui/material"; +import { VerifiedIcon } from "mds"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import RegisterHelpBox from "./RegisterHelpBox"; diff --git a/portal-ui/src/screens/Console/Support/RegistrationStatusBanner.tsx b/portal-ui/src/screens/Console/Support/RegistrationStatusBanner.tsx index f467bd7e0..513ce534e 100644 --- a/portal-ui/src/screens/Console/Support/RegistrationStatusBanner.tsx +++ b/portal-ui/src/screens/Console/Support/RegistrationStatusBanner.tsx @@ -1,6 +1,6 @@ import React from "react"; import { Box } from "@mui/material"; -import VerifiedIcon from "../../../icons/VerifiedIcon"; +import { VerifiedIcon } from "mds"; const RegistrationStatusBanner = ({ email = "" }: { email?: string }) => { return ( diff --git a/portal-ui/src/screens/Console/Support/utils.tsx b/portal-ui/src/screens/Console/Support/utils.tsx index 93a0c63e5..3ce0ce7ae 100644 --- a/portal-ui/src/screens/Console/Support/utils.tsx +++ b/portal-ui/src/screens/Console/Support/utils.tsx @@ -1,6 +1,6 @@ import { Box, Grid, Link } from "@mui/material"; import { Fragment, useState } from "react"; -import { CopyIcon, SettingsIcon } from "../../../icons"; +import { CopyIcon, SettingsIcon } from "mds"; import FormSwitchWrapper from "../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import RegistrationStatusBanner from "./RegistrationStatusBanner"; diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/AddTenant.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/AddTenant.tsx index 5484851ec..1bec9fd14 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/AddTenant.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/AddTenant.tsx @@ -50,7 +50,7 @@ import { resourcesConfigurations, } from "./Steps/TenantResources/utils"; import HelpBox from "../../../../common/HelpBox"; -import { StorageIcon } from "../../../../icons"; +import { StorageIcon } from "mds"; import { selFeatures } from "../../consoleSlice"; import makeStyles from "@mui/styles/makeStyles"; import { resetAddTenantForm } from "./createTenantSlice"; diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Affinity.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Affinity.tsx index 1af813def..9219c1be6 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Affinity.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Affinity.tsx @@ -36,8 +36,7 @@ import RadioGroupSelector from "../../../Common/FormComponents/RadioGroupSelecto import FormSwitchWrapper from "../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import api from "../../../../../common/api"; import InputBoxWrapper from "../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; -import AddIcon from "../../../../../icons/AddIcon"; -import RemoveIcon from "../../../../../icons/RemoveIcon"; +import { AddIcon, RemoveIcon } from "mds"; import SelectWrapper from "../../../Common/FormComponents/SelectWrapper/SelectWrapper"; import TolerationSelector from "../../../Common/TolerationSelector/TolerationSelector"; import { setModalErrorSnackMessage } from "../../../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Configure.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Configure.tsx index 813162d34..44081c7ca 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Configure.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Configure.tsx @@ -42,7 +42,7 @@ import { import FormSwitchWrapper from "../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import InputBoxWrapper from "../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import AddIcon from "@mui/icons-material/Add"; -import RemoveIcon from "../../../../../icons/RemoveIcon"; +import { RemoveIcon } from "mds"; import { addNewMinIODomain, isPageValid, diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPBuiltIn.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPBuiltIn.tsx index c062c8fac..1be4307dc 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPBuiltIn.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/IdentityProvider/IDPBuiltIn.tsx @@ -25,7 +25,7 @@ import { } from "../../createTenantSlice"; import { IconButton, Tooltip } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; -import RemoveIcon from "../../../../../../icons/RemoveIcon"; +import { RemoveIcon } from "mds"; import { clearValidationError, getRandomString } from "../../../utils"; import CasinoIcon from "@mui/icons-material/Casino"; import { useSelector } from "react-redux"; diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Security.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Security.tsx index 3632f3340..c948dd8d9 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Security.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/Security.tsx @@ -31,7 +31,7 @@ import { KeyPair } from "../../ListTenants/utils"; import FormSwitchWrapper from "../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import FileSelector from "../../../Common/FormComponents/FileSelector/FileSelector"; import AddIcon from "@mui/icons-material/Add"; -import RemoveIcon from "../../../../../icons/RemoveIcon"; +import { RemoveIcon } from "mds"; import { addCaCertificate, deleteCaCertificate, diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NamespaceSelector.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NamespaceSelector.tsx index fa73869ab..51db59dd3 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NamespaceSelector.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/TenantResources/NamespaceSelector.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import React, { Fragment, useEffect, useMemo } from "react"; -import AddIcon from "../../../../../../icons/AddIcon"; +import { AddIcon } from "mds"; import InputBoxWrapper from "../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import { openAddNSModal, setNamespace } from "../../createTenantSlice"; import { useSelector } from "react-redux"; diff --git a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx index 9667a7441..b574a1298 100644 --- a/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx +++ b/portal-ui/src/screens/Console/Tenants/AddTenant/Steps/helpers/AddNamespaceModal.tsx @@ -24,7 +24,7 @@ import { modalBasic, } from "../../../../Common/FormComponents/common/styleLibrary"; import ConfirmDialog from "../../../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmModalIcon } from "../../../../../../icons"; +import { ConfirmModalIcon } from "mds"; import { AppState, useAppDispatch } from "../../../../../../store"; import { closeAddNSModal } from "../../createTenantSlice"; import makeStyles from "@mui/styles/makeStyles"; diff --git a/portal-ui/src/screens/Console/Tenants/HelpBox/TLSHelpBox.tsx b/portal-ui/src/screens/Console/Tenants/HelpBox/TLSHelpBox.tsx index c3d34b8e4..2aeb556b1 100644 --- a/portal-ui/src/screens/Console/Tenants/HelpBox/TLSHelpBox.tsx +++ b/portal-ui/src/screens/Console/Tenants/HelpBox/TLSHelpBox.tsx @@ -16,7 +16,7 @@ import React from "react"; import { useSelector } from "react-redux"; import { Box } from "@mui/material"; -import CertificateIcon from "../../../../icons/CertificateIcon"; +import { CertificateIcon } from "mds"; import { useParams } from "react-router-dom"; import { AppState } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Tenants/ListTenants/DeleteTenant.tsx b/portal-ui/src/screens/Console/Tenants/ListTenants/DeleteTenant.tsx index 1ddf7b3fa..32c5c81e6 100644 --- a/portal-ui/src/screens/Console/Tenants/ListTenants/DeleteTenant.tsx +++ b/portal-ui/src/screens/Console/Tenants/ListTenants/DeleteTenant.tsx @@ -23,7 +23,7 @@ import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBo import Grid from "@mui/material/Grid"; import useApi from "../../Common/Hooks/useApi"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import WarningMessage from "../../Common/WarningMessage/WarningMessage"; import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import { setErrorSnackMessage } from "../../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Tenants/ListTenants/ListTenants.tsx b/portal-ui/src/screens/Console/Tenants/ListTenants/ListTenants.tsx index bf5425bf3..bc2a5c347 100644 --- a/portal-ui/src/screens/Console/Tenants/ListTenants/ListTenants.tsx +++ b/portal-ui/src/screens/Console/Tenants/ListTenants/ListTenants.tsx @@ -30,10 +30,10 @@ import { searchField, } from "../../Common/FormComponents/common/styleLibrary"; -import { AddIcon, TenantsIcon } from "../../../../icons"; +import { AddIcon, TenantsIcon } from "mds"; import { ErrorResponseHandler } from "../../../../common/types"; import api from "../../../../common/api"; -import RefreshIcon from "../../../../icons/RefreshIcon"; +import { RefreshIcon } from "mds"; import PageHeader from "../../Common/PageHeader/PageHeader"; import TenantListItem from "./TenantListItem"; import HelpBox from "../../../../common/HelpBox"; diff --git a/portal-ui/src/screens/Console/Tenants/ListTenants/TenantCapacity.tsx b/portal-ui/src/screens/Console/Tenants/ListTenants/TenantCapacity.tsx index 587a90977..57fc48189 100644 --- a/portal-ui/src/screens/Console/Tenants/ListTenants/TenantCapacity.tsx +++ b/portal-ui/src/screens/Console/Tenants/ListTenants/TenantCapacity.tsx @@ -18,7 +18,7 @@ import React from "react"; import { Cell, Pie, PieChart } from "recharts"; import { CapacityValue, CapacityValues } from "./types"; import { niceBytesInt } from "../../../../common/utils"; -import { CircleIcon } from "../../../../icons"; +import { CircleIcon } from "mds"; import UsageBar, { ISizeBarItem } from "../../Common/UsageBar/UsageBar"; interface ITenantCapacity { diff --git a/portal-ui/src/screens/Console/Tenants/ListTenants/TenantListItem.tsx b/portal-ui/src/screens/Console/Tenants/ListTenants/TenantListItem.tsx index d15bf4da6..edbc42878 100644 --- a/portal-ui/src/screens/Console/Tenants/ListTenants/TenantListItem.tsx +++ b/portal-ui/src/screens/Console/Tenants/ListTenants/TenantListItem.tsx @@ -21,7 +21,7 @@ import { Theme } from "@mui/material/styles"; import { CapacityValues, ITenant, ValueUnit } from "./types"; import { setTenantName } from "../tenantsSlice"; import { getTenantAsync } from "../thunks/tenantDetailsAsync"; -import { DrivesIcon } from "../../../../icons"; +import { DrivesIcon } from "mds"; import { niceBytes, niceBytesInt } from "../../../../common/utils"; import Grid from "@mui/material/Grid"; import createStyles from "@mui/styles/createStyles"; diff --git a/portal-ui/src/screens/Console/Tenants/LogoComponents.tsx b/portal-ui/src/screens/Console/Tenants/LogoComponents.tsx index 26ee4c817..c4ee6360c 100644 --- a/portal-ui/src/screens/Console/Tenants/LogoComponents.tsx +++ b/portal-ui/src/screens/Console/Tenants/LogoComponents.tsx @@ -15,9 +15,9 @@ // along with this program. If not, see . import { Grid } from "@mui/material"; -import LDAPIcon from "../../../icons/LDAPIcon"; -import { OIDCIcon } from "../../../icons"; -import { UsersIcon } from "../../../icons"; +import { LDAPIcon } from "mds"; +import { OIDCIcon } from "mds"; +import { UsersIcon } from "mds"; export const OIDCLogoElement = () => { return ( diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePVC.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePVC.tsx index 8caeea7ca..35b1b9ed3 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePVC.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePVC.tsx @@ -22,7 +22,7 @@ import Grid from "@mui/material/Grid"; import { ErrorResponseHandler } from "../../../../common/types"; import useApi from "../../Common/Hooks/useApi"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import { IStoragePVCs } from "../../Storage/types"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePod.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePod.tsx index 6d399d4a3..f591314b2 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePod.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/DeletePod.tsx @@ -23,7 +23,7 @@ import Grid from "@mui/material/Grid"; import { ErrorResponseHandler } from "../../../../common/types"; import useApi from "../../Common/Hooks/useApi"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/EditDomains.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/EditDomains.tsx index 1fc7ae49a..8ba546630 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/EditDomains.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/EditDomains.tsx @@ -32,7 +32,7 @@ import { import ModalWrapper from "../../Common/ModalWrapper/ModalWrapper"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import api from "../../../../common/api"; -import RemoveIcon from "../../../../icons/RemoveIcon"; +import { RemoveIcon } from "mds"; import { setModalErrorSnackMessage, setSnackBarMessage, diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/PodsSummary.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/PodsSummary.tsx index 2c22730f3..985d4ac2f 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/PodsSummary.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/PodsSummary.tsx @@ -34,7 +34,7 @@ import { AppState, useAppDispatch } from "../../../../store"; import { ErrorResponseHandler } from "../../../../common/types"; import DeletePod from "./DeletePod"; import { Grid, InputAdornment, TextField } from "@mui/material"; -import SearchIcon from "../../../../icons/SearchIcon"; +import { SearchIcon } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; interface IPodsSummary { diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPool.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPool.tsx index d2aee0b76..eb90c1e5f 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPool.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/AddPool.tsx @@ -31,7 +31,7 @@ import GenericWizard from "../../../../Common/GenericWizard/GenericWizard"; import { IWizardElement } from "../../../../Common/GenericWizard/types"; import PoolResources from "./PoolResources"; import ScreenTitle from "../../../../Common/ScreenTitle/ScreenTitle"; -import TenantsIcon from "../../../../../../icons/TenantsIcon"; +import { TenantsIcon } from "mds"; import { AppState, useAppDispatch } from "../../../../../../store"; import { useSelector } from "react-redux"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolPodPlacement.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolPodPlacement.tsx index f61ea42c1..5b455ae57 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolPodPlacement.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/AddPool/PoolPodPlacement.tsx @@ -36,8 +36,7 @@ import RadioGroupSelector from "../../../../Common/FormComponents/RadioGroupSele import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import api from "../../../../../../common/api"; import InputBoxWrapper from "../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; -import AddIcon from "../../../../../../icons/AddIcon"; -import RemoveIcon from "../../../../../../icons/RemoveIcon"; +import { AddIcon, RemoveIcon } from "mds"; import SelectWrapper from "../../../../Common/FormComponents/SelectWrapper/SelectWrapper"; import TolerationSelector from "../../../../Common/TolerationSelector/TolerationSelector"; import { setModalErrorSnackMessage } from "../../../../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/Details/PoolDetails.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/Details/PoolDetails.tsx index b163fe68a..17ab85d64 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/Details/PoolDetails.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/Details/PoolDetails.tsx @@ -24,7 +24,7 @@ import LabelValuePair from "../../../../Common/UsageBarWrapper/LabelValuePair"; import { niceBytesInt } from "../../../../../../common/utils"; import StackRow from "../../../../Common/UsageBarWrapper/StackRow"; import { Button } from "mds"; -import { EditTenantIcon } from "../../../../../../icons"; +import { EditTenantIcon } from "mds"; const stylingLayout = { border: "#EAEAEA 1px solid", diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/Details/PoolsListing.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/Details/PoolsListing.tsx index 92a25afe1..4e75527be 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/Details/PoolsListing.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/Details/PoolsListing.tsx @@ -23,9 +23,8 @@ import { IPool } from "../../../ListTenants/types"; import Grid from "@mui/material/Grid"; import { TextField } from "@mui/material"; import InputAdornment from "@mui/material/InputAdornment"; -import SearchIcon from "../../../../../../icons/SearchIcon"; import { Button } from "mds"; -import { AddIcon } from "../../../../../../icons"; +import { AddIcon, SearchIcon } from "mds"; import TableWrapper from "../../../../Common/TableWrapper/TableWrapper"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPool.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPool.tsx index fde5df6e0..a5e331bb7 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPool.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPool.tsx @@ -24,7 +24,7 @@ import PageHeader from "../../../../Common/PageHeader/PageHeader"; import PageLayout from "../../../../Common/Layout/PageLayout"; import GenericWizard from "../../../../Common/GenericWizard/GenericWizard"; import ScreenTitle from "../../../../Common/ScreenTitle/ScreenTitle"; -import TenantsIcon from "../../../../../../icons/TenantsIcon"; +import { TenantsIcon } from "mds"; import BackLink from "../../../../../../common/BackLink"; import EditPoolResources from "./EditPoolResources"; import EditPoolConfiguration from "./EditPoolConfiguration"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolPlacement.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolPlacement.tsx index 6df00fb30..dfef02a0c 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolPlacement.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/Pools/EditPool/EditPoolPlacement.tsx @@ -36,8 +36,7 @@ import RadioGroupSelector from "../../../../Common/FormComponents/RadioGroupSele import FormSwitchWrapper from "../../../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import api from "../../../../../../common/api"; import InputBoxWrapper from "../../../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; -import AddIcon from "../../../../../../icons/AddIcon"; -import RemoveIcon from "../../../../../../icons/RemoveIcon"; +import { AddIcon, RemoveIcon } from "mds"; import SelectWrapper from "../../../../Common/FormComponents/SelectWrapper/SelectWrapper"; import TolerationSelector from "../../../../Common/TolerationSelector/TolerationSelector"; import { setModalErrorSnackMessage } from "../../../../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantAuditLogsScreen.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantAuditLogsScreen.tsx index 99ebfd894..f7f33dd33 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantAuditLogsScreen.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantAuditLogsScreen.tsx @@ -59,7 +59,7 @@ import { resetAuditLogForm, } from "../TenantDetails/tenantAuditLogSlice"; import HelpBox from "../../../../common/HelpBox"; -import { WarnIcon } from "../../../../icons"; +import { WarnIcon } from "mds"; interface ILoggingScreenProps { classes: any; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantConfiguration.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantConfiguration.tsx index 395d70c55..6888d5d98 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantConfiguration.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantConfiguration.tsx @@ -19,7 +19,7 @@ import { connect, useSelector } from "react-redux"; import { Theme } from "@mui/material/styles"; import { DialogContentText, IconButton } from "@mui/material"; import AddIcon from "@mui/icons-material/Add"; -import RemoveIcon from "../../../../icons/RemoveIcon"; +import { RemoveIcon } from "mds"; import createStyles from "@mui/styles/createStyles"; import withStyles from "@mui/styles/withStyles"; import Grid from "@mui/material/Grid"; @@ -40,11 +40,11 @@ import { import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import { AppState, useAppDispatch } from "../../../../store"; import { ErrorResponseHandler } from "../../../../common/types"; -import { ConfirmModalIcon } from "../../../../icons"; +import { ConfirmModalIcon } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; import api from "../../../../common/api"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; -import Loader from "../../Common/Loader/Loader"; +import { Loader } from "mds"; import { Button } from "mds"; import { MinIOEnvVarsSettings } from "../../../../common/utils"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx index f16dc1dab..59c71eaf0 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantDetails.tsx @@ -37,12 +37,10 @@ import { } from "../../Common/FormComponents/common/styleLibrary"; import { AppState, useAppDispatch } from "../../../../store"; import PageHeader from "../../Common/PageHeader/PageHeader"; -import { CircleIcon, MinIOTierIconXs, TrashIcon } from "../../../../icons"; +import { CircleIcon, MinIOTierIconXs, TrashIcon } from "mds"; import { niceBytes } from "../../../../common/utils"; import ScreenTitle from "../../Common/ScreenTitle/ScreenTitle"; -import EditIcon from "../../../../icons/EditIcon"; -import RefreshIcon from "../../../../icons/RefreshIcon"; -import TenantsIcon from "../../../../icons/TenantsIcon"; +import { EditIcon, RefreshIcon, TenantsIcon } from "mds"; import PageLayout from "../../Common/Layout/PageLayout"; import BackLink from "../../../../common/BackLink"; import VerticalTabs from "../../Common/VerticalTabs/VerticalTabs"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantIdentityProvider.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantIdentityProvider.tsx index aa382f5a9..c4e86728f 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantIdentityProvider.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantIdentityProvider.tsx @@ -52,14 +52,14 @@ import { commonFormValidation, IValidation, } from "../../../../utils/validationFunctions"; -import { ConfirmModalIcon } from "../../../../icons"; +import { ConfirmModalIcon } from "mds"; import { setErrorSnackMessage, setSnackBarMessage, } from "../../../../systemSlice"; import { AppState, useAppDispatch } from "../../../../store"; import { ErrorResponseHandler } from "../../../../common/types"; -import Loader from "../../Common/Loader/Loader"; +import { Loader } from "mds"; import RadioGroupSelector from "../../Common/FormComponents/RadioGroupSelector/RadioGroupSelector"; import InputBoxWrapper from "../../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantLicense.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantLicense.tsx index b98b9955b..fd3f962e4 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantLicense.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantLicense.tsx @@ -29,7 +29,7 @@ import { AppState, useAppDispatch } from "../../../../store"; import { ErrorResponseHandler } from "../../../../common/types"; import SubnetLicenseTenant from "./SubnetLicenseTenant"; import api from "../../../../common/api"; -import Loader from "../../Common/Loader/Loader"; +import { Loader } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; import { setTenantDetailsLoad } from "../tenantsSlice"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSecurity.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSecurity.tsx index af7d789b2..a8f756b2e 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSecurity.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSecurity.tsx @@ -40,13 +40,13 @@ import { import { KeyPair } from "../ListTenants/utils"; import { AppState, useAppDispatch } from "../../../../store"; import { ErrorResponseHandler } from "../../../../common/types"; -import { AddIcon, ConfirmModalIcon } from "../../../../icons"; +import { AddIcon, ConfirmModalIcon } from "mds"; import { setErrorSnackMessage } from "../../../../systemSlice"; import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import FileSelector from "../../Common/FormComponents/FileSelector/FileSelector"; import api from "../../../../common/api"; import ConfirmDialog from "../../Common/ModalWrapper/ConfirmDialog"; -import Loader from "../../Common/Loader/Loader"; +import { Loader } from "mds"; import TLSCertificate from "../../Common/TLSCertificate/TLSCertificate"; import SecurityContextSelector from "../securityContextSelector"; import { @@ -57,7 +57,7 @@ import { setFSGroupChangePolicy, } from "../tenantSecurityContextSlice"; import TLSHelpBox from "../HelpBox/TLSHelpBox"; -import RemoveIcon from "../../../../icons/RemoveIcon"; +import { RemoveIcon } from "mds"; interface ITenantSecurity { classes: any; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSummary.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSummary.tsx index e80718140..f2300ca68 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSummary.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/TenantSummary.tsx @@ -33,7 +33,7 @@ import LabelValuePair from "../../Common/UsageBarWrapper/LabelValuePair"; import FormSwitchWrapper from "../../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; import SectionTitle from "../../Common/SectionTitle"; import { Button } from "mds"; -import { EditIcon } from "../../../../icons"; +import { EditIcon } from "mds"; import EditDomains from "./EditDomains"; import { ITenant } from "../ListTenants/types"; import { useParams } from "react-router-dom"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/VolumesSummary.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/VolumesSummary.tsx index 63de10797..db51cf102 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/VolumesSummary.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/VolumesSummary.tsx @@ -30,7 +30,7 @@ import { IStoragePVCs } from "../../Storage/types"; import { ErrorResponseHandler } from "../../../../common/types"; import api from "../../../../common/api"; import TableWrapper from "../../Common/TableWrapper/TableWrapper"; -import SearchIcon from "../../../../icons/SearchIcon"; +import { SearchIcon } from "mds"; import { IPodListElement } from "../ListTenants/types"; import withSuspense from "../../Common/Components/withSuspense"; import { AppState, useAppDispatch } from "../../../../store"; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/hop/Hop.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/hop/Hop.tsx index 492aa866e..591f007f7 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/hop/Hop.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/hop/Hop.tsx @@ -23,8 +23,8 @@ import { Box, IconButton } from "@mui/material"; import PageHeader from "../../../Common/PageHeader/PageHeader"; import { containerForHeader } from "../../../Common/FormComponents/common/styleLibrary"; import ExitToAppIcon from "@mui/icons-material/ExitToApp"; -import RefreshIcon from "../../../../../icons/RefreshIcon"; -import Loader from "../../../Common/Loader/Loader"; +import { RefreshIcon } from "mds"; +import { Loader } from "mds"; interface IHopSimple { classes: any; diff --git a/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodLogs.tsx b/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodLogs.tsx index f6aa1f92c..cc5298df6 100644 --- a/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodLogs.tsx +++ b/portal-ui/src/screens/Console/Tenants/TenantDetails/pods/PodLogs.tsx @@ -30,7 +30,7 @@ import Grid from "@mui/material/Grid"; import Paper from "@mui/material/Paper"; import InputAdornment from "@mui/material/InputAdornment"; import api from "../../../../../common/api"; -import SearchIcon from "../../../../../icons/SearchIcon"; +import { SearchIcon } from "mds"; import { actionsTray, buttonsStyles, diff --git a/portal-ui/src/screens/Console/Tools/Inspect.tsx b/portal-ui/src/screens/Console/Tools/Inspect.tsx index 3b709e12e..4c65b64bc 100644 --- a/portal-ui/src/screens/Console/Tools/Inspect.tsx +++ b/portal-ui/src/screens/Console/Tools/Inspect.tsx @@ -22,7 +22,7 @@ import PageHeader from "../Common/PageHeader/PageHeader"; import PageLayout from "../Common/Layout/PageLayout"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import FormSwitchWrapper from "../Common/FormComponents/FormSwitchWrapper/FormSwitchWrapper"; -import { PasswordKeyIcon } from "../../../icons"; +import { PasswordKeyIcon } from "mds"; import ModalWrapper from "../Common/ModalWrapper/ModalWrapper"; import { Theme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; @@ -40,7 +40,7 @@ import { performDownload, } from "../../../common/utils"; import DistributedOnly from "../Common/DistributedOnly/DistributedOnly"; -import { InspectMenuIcon } from "../../../icons/SidebarMenus"; +import { InspectMenuIcon } from "mds"; import KeyRevealer from "./KeyRevealer"; import { selDistSet, setErrorSnackMessage } from "../../../systemSlice"; import { AppState, useAppDispatch } from "../../../store"; diff --git a/portal-ui/src/screens/Console/Tools/KeyRevealer.tsx b/portal-ui/src/screens/Console/Tools/KeyRevealer.tsx index 37f3ed273..712b51467 100644 --- a/portal-ui/src/screens/Console/Tools/KeyRevealer.tsx +++ b/portal-ui/src/screens/Console/Tools/KeyRevealer.tsx @@ -18,7 +18,7 @@ import React, { useState } from "react"; import { Box } from "@mui/material"; import { Button } from "mds"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; -import { CopyIcon } from "../../../icons"; +import { CopyIcon } from "mds"; const KeyRevealer = ({ value }: { value: string }) => { const [shown, setShown] = useState(false); diff --git a/portal-ui/src/screens/Console/Tools/Tools.tsx b/portal-ui/src/screens/Console/Tools/Tools.tsx index 6d76f9572..72cca1b7c 100644 --- a/portal-ui/src/screens/Console/Tools/Tools.tsx +++ b/portal-ui/src/screens/Console/Tools/Tools.tsx @@ -17,7 +17,7 @@ import React from "react"; import { Route, Routes } from "react-router-dom"; import FeatureNotAvailablePage from "../Common/Components/FeatureNotAvailablePage"; -import { SupportMenuIcon } from "../../../icons/SidebarMenus"; +import { SupportMenuIcon } from "mds"; import withSuspense from "../Common/Components/withSuspense"; import NotFoundPage from "../../NotFoundPage"; diff --git a/portal-ui/src/screens/Console/Trace/Trace.tsx b/portal-ui/src/screens/Console/Trace/Trace.tsx index a5acc00f7..577f279c7 100644 --- a/portal-ui/src/screens/Console/Trace/Trace.tsx +++ b/portal-ui/src/screens/Console/Trace/Trace.tsx @@ -39,7 +39,7 @@ import TableWrapper from "../Common/TableWrapper/TableWrapper"; import PageHeader from "../Common/PageHeader/PageHeader"; import CheckboxWrapper from "../Common/FormComponents/CheckboxWrapper/CheckboxWrapper"; import PageLayout from "../Common/Layout/PageLayout"; -import { FilterIcon } from "../../../icons"; +import { FilterIcon } from "mds"; import InputBoxWrapper from "../Common/FormComponents/InputBoxWrapper/InputBoxWrapper"; import { diff --git a/portal-ui/src/screens/Console/Users/AddUserHelpBox.tsx b/portal-ui/src/screens/Console/Users/AddUserHelpBox.tsx index fd711a944..c42c3c268 100644 --- a/portal-ui/src/screens/Console/Users/AddUserHelpBox.tsx +++ b/portal-ui/src/screens/Console/Users/AddUserHelpBox.tsx @@ -20,7 +20,7 @@ import { GroupsIcon, HelpIconFilled, UsersIcon, -} from "../../../icons"; +} from "mds"; const FeatureItem = ({ icon, diff --git a/portal-ui/src/screens/Console/Users/AddUserScreen.tsx b/portal-ui/src/screens/Console/Users/AddUserScreen.tsx index ab609fa92..1b315817c 100644 --- a/portal-ui/src/screens/Console/Users/AddUserScreen.tsx +++ b/portal-ui/src/screens/Console/Users/AddUserScreen.tsx @@ -28,7 +28,7 @@ import { } from "../Common/FormComponents/common/styleLibrary"; import Grid from "@mui/material/Grid"; import { LinearProgress } from "@mui/material"; -import { CreateUserIcon } from "../../../icons"; +import { CreateUserIcon } from "mds"; import PageHeader from "../Common/PageHeader/PageHeader"; import PageLayout from "../Common/Layout/PageLayout"; diff --git a/portal-ui/src/screens/Console/Users/AddUserServiceAccountHelpBox.tsx b/portal-ui/src/screens/Console/Users/AddUserServiceAccountHelpBox.tsx index e10d73363..2383f1b58 100644 --- a/portal-ui/src/screens/Console/Users/AddUserServiceAccountHelpBox.tsx +++ b/portal-ui/src/screens/Console/Users/AddUserServiceAccountHelpBox.tsx @@ -20,7 +20,7 @@ import { IAMPoliciesIcon, PasswordKeyIcon, ServiceAccountIcon, -} from "../../../icons"; +} from "mds"; const FeatureItem = ({ icon, diff --git a/portal-ui/src/screens/Console/Users/AddUserServiceAccountScreen.tsx b/portal-ui/src/screens/Console/Users/AddUserServiceAccountScreen.tsx index 576bb0f41..df2e958c1 100644 --- a/portal-ui/src/screens/Console/Users/AddUserServiceAccountScreen.tsx +++ b/portal-ui/src/screens/Console/Users/AddUserServiceAccountScreen.tsx @@ -30,7 +30,7 @@ import { IAMPoliciesIcon, PasswordKeyIcon, ServiceAccountCredentialsIcon, -} from "../../../icons"; +} from "mds"; import CodeMirrorWrapper from "../Common/FormComponents/CodeMirrorWrapper/CodeMirrorWrapper"; import PageHeader from "../Common/PageHeader/PageHeader"; import PageLayout from "../Common/Layout/PageLayout"; diff --git a/portal-ui/src/screens/Console/Users/BulkAddToGroup.tsx b/portal-ui/src/screens/Console/Users/BulkAddToGroup.tsx index f13d0e7e8..618f91677 100644 --- a/portal-ui/src/screens/Console/Users/BulkAddToGroup.tsx +++ b/portal-ui/src/screens/Console/Users/BulkAddToGroup.tsx @@ -30,7 +30,7 @@ import api from "../../../common/api"; import GroupsSelectors from "./GroupsSelectors"; import ModalWrapper from "../Common/ModalWrapper/ModalWrapper"; import PredefinedList from "../Common/FormComponents/PredefinedList/PredefinedList"; -import { AddMembersToGroupIcon } from "../../../icons"; +import { AddMembersToGroupIcon } from "mds"; import { setModalErrorSnackMessage } from "../../../systemSlice"; import { useAppDispatch } from "../../../store"; diff --git a/portal-ui/src/screens/Console/Users/ChangeUserGroups.tsx b/portal-ui/src/screens/Console/Users/ChangeUserGroups.tsx index 959f45f9f..36061fc8b 100644 --- a/portal-ui/src/screens/Console/Users/ChangeUserGroups.tsx +++ b/portal-ui/src/screens/Console/Users/ChangeUserGroups.tsx @@ -29,7 +29,7 @@ import { ErrorResponseHandler } from "../../../common/types"; import api from "../../../common/api"; import GroupsSelectors from "./GroupsSelectors"; import ModalWrapper from "../Common/ModalWrapper/ModalWrapper"; -import AddMembersToGroup from "../../../icons/AddMembersToGroupIcon"; +import { AddMembersToGroupIcon } from "mds"; import { encodeURLString } from "../../../common/utils"; import { setModalErrorSnackMessage } from "../../../systemSlice"; import { useAppDispatch } from "../../../store"; @@ -153,7 +153,7 @@ const ChangeUserGroups = ({ }} modalOpen={open} title={"Set Groups"} - titleIcon={} + titleIcon={} >
void; diff --git a/portal-ui/src/screens/Console/Users/DeleteUserModal.tsx b/portal-ui/src/screens/Console/Users/DeleteUserModal.tsx index 17b77a797..967ffe914 100644 --- a/portal-ui/src/screens/Console/Users/DeleteUserModal.tsx +++ b/portal-ui/src/screens/Console/Users/DeleteUserModal.tsx @@ -21,7 +21,7 @@ import { DialogContentText } from "@mui/material"; import { ErrorResponseHandler } from "../../../common/types"; import useApi from "../Common/Hooks/useApi"; import ConfirmDialog from "../Common/ModalWrapper/ConfirmDialog"; -import { ConfirmDeleteIcon } from "../../../icons"; +import { ConfirmDeleteIcon } from "mds"; import { IAM_PAGES } from "../../../common/SecureComponent/permissions"; import { encodeURLString } from "../../../common/utils"; import { setErrorSnackMessage } from "../../../systemSlice"; diff --git a/portal-ui/src/screens/Console/Users/ListUsers.tsx b/portal-ui/src/screens/Console/Users/ListUsers.tsx index a07b60e34..bebb7fe1d 100644 --- a/portal-ui/src/screens/Console/Users/ListUsers.tsx +++ b/portal-ui/src/screens/Console/Users/ListUsers.tsx @@ -25,7 +25,7 @@ import api from "../../../common/api"; import { Grid, LinearProgress } from "@mui/material"; import { User, UsersList } from "./types"; import { usersSort } from "../../../utils/sortFunctions"; -import { AddIcon, DeleteIcon, GroupsIcon, UsersIcon } from "../../../icons"; +import { AddIcon, DeleteIcon, GroupsIcon, UsersIcon } from "mds"; import { actionsTray, containerForHeader, diff --git a/portal-ui/src/screens/Console/Users/UserDetails.tsx b/portal-ui/src/screens/Console/Users/UserDetails.tsx index 10293b153..f2f55ce67 100644 --- a/portal-ui/src/screens/Console/Users/UserDetails.tsx +++ b/portal-ui/src/screens/Console/Users/UserDetails.tsx @@ -27,7 +27,7 @@ import { PasswordKeyIcon, TrashIcon, UsersIcon, -} from "../../../icons"; +} from "mds"; import { actionsTray, diff --git a/portal-ui/src/screens/Console/Users/UserServiceAccountsPanel.tsx b/portal-ui/src/screens/Console/Users/UserServiceAccountsPanel.tsx index c5e9dfdea..0ea2b2a1a 100644 --- a/portal-ui/src/screens/Console/Users/UserServiceAccountsPanel.tsx +++ b/portal-ui/src/screens/Console/Users/UserServiceAccountsPanel.tsx @@ -34,7 +34,7 @@ import { ErrorResponseHandler } from "../../../common/types"; import AddUserServiceAccount from "./AddUserServiceAccount"; import DeleteServiceAccount from "../Account/DeleteServiceAccount"; import CredentialsPrompt from "../Common/CredentialsPrompt/CredentialsPrompt"; -import { AddIcon, DeleteIcon } from "../../../icons"; +import { AddIcon, DeleteIcon } from "mds"; import PanelTitle from "../Common/PanelTitle/PanelTitle"; import DeleteMultipleServiceAccounts from "./DeleteMultipleServiceAccounts"; diff --git a/portal-ui/src/screens/Console/Users/UsersHelpBox.tsx b/portal-ui/src/screens/Console/Users/UsersHelpBox.tsx index a9086c1e3..ec79e5f1e 100644 --- a/portal-ui/src/screens/Console/Users/UsersHelpBox.tsx +++ b/portal-ui/src/screens/Console/Users/UsersHelpBox.tsx @@ -20,7 +20,7 @@ import { GroupsIcon, HelpIconFilled, UsersIcon, -} from "../../../icons"; +} from "mds"; const FeatureItem = ({ icon, diff --git a/portal-ui/src/screens/Console/kbar-actions.tsx b/portal-ui/src/screens/Console/kbar-actions.tsx index 8043d1887..ce1554e02 100644 --- a/portal-ui/src/screens/Console/kbar-actions.tsx +++ b/portal-ui/src/screens/Console/kbar-actions.tsx @@ -15,7 +15,7 @@ // along with this program. If not, see . import { Action } from "kbar/lib/types"; -import { BucketsIcon } from "../../icons"; +import { BucketsIcon } from "mds"; import { validRoutes } from "./valid-routes"; import { IAM_PAGES } from "../../common/SecureComponent/permissions"; import { Bucket } from "./Buckets/types"; diff --git a/portal-ui/src/screens/Console/valid-routes.ts b/portal-ui/src/screens/Console/valid-routes.ts index b3fd3070e..06072ddcd 100644 --- a/portal-ui/src/screens/Console/valid-routes.ts +++ b/portal-ui/src/screens/Console/valid-routes.ts @@ -43,10 +43,7 @@ import { SupportMenuIcon, TraceMenuIcon, UsersMenuIcon, -} from "../../icons/SidebarMenus"; -import { hasPermission } from "../../common/SecureComponent"; -import WatchIcon from "../../icons/WatchIcon"; -import { + WatchIcon, ClustersIcon, DocumentationIcon, LambdaIcon, @@ -56,8 +53,9 @@ import { StorageIcon, TenantsOutlineIcon, TiersIcon, -} from "../../icons"; -import SettingsIcon from "../../icons/SettingsIcon"; + SettingsIcon, +} from "mds"; +import { hasPermission } from "../../common/SecureComponent"; import React from "react"; import LicenseBadge from "./Menu/LicenseBadge"; import { LockOpen, Login } from "@mui/icons-material"; diff --git a/portal-ui/src/screens/LoginPage/LoginPage.tsx b/portal-ui/src/screens/LoginPage/LoginPage.tsx index f15c9160d..0c8133fad 100644 --- a/portal-ui/src/screens/LoginPage/LoginPage.tsx +++ b/portal-ui/src/screens/LoginPage/LoginPage.tsx @@ -28,13 +28,11 @@ import createStyles from "@mui/styles/createStyles"; import makeStyles from "@mui/styles/makeStyles"; import Grid from "@mui/material/Grid"; import { loginStrategyType, redirectRule } from "./types"; -import LogoutIcon from "../../icons/LogoutIcon"; -import RefreshIcon from "../../icons/RefreshIcon"; import MainError from "../Console/Common/MainError/MainError"; -import { LockIcon } from "../../icons"; +import { LockIcon, LogoutIcon, RefreshIcon } from "mds"; import { spacingUtils } from "../Console/Common/FormComponents/common/styleLibrary"; import clsx from "clsx"; -import Loader from "../Console/Common/Loader/Loader"; +import { Loader } from "mds"; import { AppState, useAppDispatch } from "../../store"; import { useSelector } from "react-redux"; import { diff --git a/portal-ui/src/screens/LoginPage/StrategyForm.tsx b/portal-ui/src/screens/LoginPage/StrategyForm.tsx index 72f9b90a3..fe4770c66 100644 --- a/portal-ui/src/screens/LoginPage/StrategyForm.tsx +++ b/portal-ui/src/screens/LoginPage/StrategyForm.tsx @@ -19,8 +19,7 @@ import React, { Fragment } from "react"; import { Button } from "mds"; import { setAccessKey, setSecretKey, setSTS, setUseSTS } from "./loginSlice"; import { Box, InputAdornment, LinearProgress } from "@mui/material"; -import UserFilledIcon from "../../icons/UsersFilledIcon"; -import LockFilledIcon from "../../icons/LockFilledIcon"; +import { UserFilledIcon, LockFilledIcon } from "mds"; import { AppState, useAppDispatch } from "../../store"; import { useSelector } from "react-redux"; import { LoginField } from "./LoginField"; @@ -29,7 +28,7 @@ import { Theme, useTheme } from "@mui/material/styles"; import createStyles from "@mui/styles/createStyles"; import { spacingUtils } from "../Console/Common/FormComponents/common/styleLibrary"; import { doLoginAsync } from "./loginThunks"; -import { PasswordKeyIcon } from "../../icons"; +import { PasswordKeyIcon } from "mds"; const useStyles = makeStyles((theme: Theme) => createStyles({ diff --git a/portal-ui/yarn.lock b/portal-ui/yarn.lock index ae8278f7b..af60ed175 100644 --- a/portal-ui/yarn.lock +++ b/portal-ui/yarn.lock @@ -8014,9 +8014,9 @@ mdn-data@2.0.4: resolved "https://registry.yarnpkg.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b" integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA== -"mds@https://github.com/minio/mds.git#v0.0.9": - version "0.0.9" - resolved "https://github.com/minio/mds.git#8b5b57581a5d7dcabc6834f5fe59507142337a03" +"mds@https://github.com/minio/mds.git#v0.1.0": + version "0.1.0" + resolved "https://github.com/minio/mds.git#cf1f458a774f4185f9a5f03189569c841eaac277" dependencies: "@types/styled-components" "^5.1.25" styled-components "^5.3.6"