]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-21656 Remove legacy misc.css
authorJeremy Davis <jeremy.davis@sonarsource.com>
Fri, 8 Mar 2024 15:00:19 +0000 (16:00 +0100)
committersonartech <sonartech@sonarsource.com>
Mon, 11 Mar 2024 20:02:51 +0000 (20:02 +0000)
32 files changed:
server/sonar-web/src/main/js/app/components/nav/component/Breadcrumb.tsx
server/sonar-web/src/main/js/app/components/nav/component/branch-like/BranchHelpTooltip.tsx
server/sonar-web/src/main/js/app/components/nav/component/branch-like/BranchLikeNavigation.tsx
server/sonar-web/src/main/js/app/components/nav/component/branch-like/MenuItemList.tsx
server/sonar-web/src/main/js/app/styles/init/misc.css [deleted file]
server/sonar-web/src/main/js/app/styles/sonar.ts
server/sonar-web/src/main/js/apps/background-tasks/components/Header.tsx
server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetails.tsx
server/sonar-web/src/main/js/apps/coding-rules/components/RuleDetailsIssues.tsx
server/sonar-web/src/main/js/apps/component-measures/drilldown/BubbleChartView.tsx
server/sonar-web/src/main/js/apps/component-measures/sidebar/Sidebar.tsx
server/sonar-web/src/main/js/apps/issues/components/IssuesApp.tsx
server/sonar-web/src/main/js/apps/issues/components/IssuesCounter.tsx
server/sonar-web/src/main/js/apps/issues/crossComponentSourceViewer/ComponentSourceSnippetGroupViewer.tsx
server/sonar-web/src/main/js/apps/marketplace/components/PluginActions.tsx
server/sonar-web/src/main/js/apps/overview/components/AnalysisLicenseError.tsx
server/sonar-web/src/main/js/apps/projectInformation/badges/ProjectBadges.tsx
server/sonar-web/src/main/js/apps/projectInformation/notifications/ProjectNotifications.tsx
server/sonar-web/src/main/js/apps/projectQualityGate/ProjectQualityGateAppRenderer.tsx
server/sonar-web/src/main/js/apps/projectQualityProfiles/ProjectQualityProfilesAppRenderer.tsx
server/sonar-web/src/main/js/apps/projects/components/ProjectCreationMenuItem.tsx
server/sonar-web/src/main/js/apps/quality-gates/components/CaycBadgeTooltip.tsx
server/sonar-web/src/main/js/apps/quality-profiles/changelog/SeverityChange.tsx
server/sonar-web/src/main/js/apps/quality-profiles/home/CreateProfileForm.tsx
server/sonar-web/src/main/js/apps/settings/components/almIntegration/DeleteModal.tsx
server/sonar-web/src/main/js/apps/settings/components/authentication/Authentication.tsx
server/sonar-web/src/main/js/apps/settings/components/inputs/InputForFormattedText.tsx
server/sonar-web/src/main/js/components/activity-graph/GraphsLegendCustom.tsx
server/sonar-web/src/main/js/components/common/DisableableSelectOption.tsx
server/sonar-web/src/main/js/components/common/DocumentationTooltip.tsx
server/sonar-web/src/main/js/components/embed-docs-modal/EmbedDocsPopup.tsx
server/sonar-web/src/main/js/components/permissions/PermissionHeader.tsx

index 08ceb637cafcf6230e7550d46d583a63f2f09348..351d89f6fb1d08c31c217b5f59f9a2cddaceb984 100644 (file)
@@ -18,6 +18,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 
+import styled from '@emotion/styled';
 import { LinkHighlight, LinkStandalone } from '@sonarsource/echoes-react';
 import * as React from 'react';
 import Favorite from '../../../../components/controls/Favorite';
@@ -61,7 +62,7 @@ export function Breadcrumb(props: Readonly<BreadcrumbProps>) {
               {breadcrumbElement.name}
             </LinkStandalone>
 
-            {isNotLast && <span className="slash-separator sw-mx-2" />}
+            {isNotLast && <SlashSeparator className="sw-mx-2" />}
           </div>
         );
       })}
@@ -70,3 +71,10 @@ export function Breadcrumb(props: Readonly<BreadcrumbProps>) {
 }
 
 export default React.memo(Breadcrumb);
+
+const SlashSeparator = styled.span`
+  &:after {
+    content: '/';
+    color: rgba(68, 68, 68, 0.3);
+  }
+`;
index c9398fbdc8296a7dc8547784a7c7af329692bddc..bc23a0d9ae082b3568b059a71657ec30b37bdef2 100644 (file)
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import { Link } from '@sonarsource/echoes-react';
 import { HelperHintIcon } from 'design-system';
 import React from 'react';
 import DocumentationTooltip from '../../../../../components/common/DocumentationTooltip';
-import Link from '../../../../../components/common/Link';
 import HelpTooltip from '../../../../../components/controls/HelpTooltip';
 import { translate, translateWithParameters } from '../../../../../helpers/l10n';
 import { getApplicationAdminUrl } from '../../../../../helpers/urls';
@@ -54,7 +54,7 @@ export default function BranchHelpTooltip({
           overlay={
             <>
               <p>{translate('application.branches.help')}</p>
-              <hr className="spacer-top spacer-bottom" />
+              <hr className="sw-my-2" />
               <Link to={getApplicationAdminUrl(component.key)}>
                 {translate('application.branches.link')}
               </Link>
index 869374576b70b533a0c70500866572199f174ca7..6d9f804566948dda1192945f82be673ff2c6f891 100644 (file)
@@ -17,6 +17,7 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import styled from '@emotion/styled';
 import { ButtonSecondary, Popup, PopupPlacement, PopupZLevel } from 'design-system';
 import * as React from 'react';
 import EscKeydownHandler from '../../../../../components/controls/EscKeydownHandler';
@@ -67,7 +68,7 @@ export function BranchLikeNavigation(props: BranchLikeNavigationProps) {
 
   return (
     <>
-      <span className="slash-separator sw-mx-2" />
+      <SlashSeparator className=" sw-mx-2" />
       <div className="sw-flex sw-items-center it__branch-like-navigation-toggler-container">
         <Popup
           allowResizing
@@ -123,3 +124,10 @@ export function BranchLikeNavigation(props: BranchLikeNavigationProps) {
 }
 
 export default withAvailableFeatures(React.memo(BranchLikeNavigation));
+
+const SlashSeparator = styled.span`
+  &:after {
+    content: '/';
+    color: rgba(68, 68, 68, 0.3);
+  }
+`;
index cafda97884137b484bc404bc87382ddabf5378a6..db0622414812bf299c41cd755261f927bcd2eb95 100644 (file)
@@ -99,7 +99,7 @@ export function MenuItemList(props: MenuItemListProps) {
           <ItemHeader>
             {translate('branch_like_navigation.orphan_pull_requests')}
             <HelpTooltip
-              className="little-spacer-left"
+              className="sw-ml-1"
               overlay={translate('branch_like_navigation.orphan_pull_requests.tooltip')}
             >
               <HelperHintIcon />
diff --git a/server/sonar-web/src/main/js/app/styles/init/misc.css b/server/sonar-web/src/main/js/app/styles/init/misc.css
deleted file mode 100644 (file)
index e003b58..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * SonarQube
- * Copyright (C) 2009-2024 SonarSource SA
- * mailto:info AT sonarsource DOT com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser 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
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
- */
-.nowrap {
-  white-space: nowrap !important;
-}
-
-table.nowrap td,
-td.nowrap,
-th.nowrap {
-  white-space: nowrap !important;
-}
-
-table.hide-overflow td,
-td.hide-overflow,
-th.hide-overflow {
-  text-overflow: ellipsis;
-  overflow: hidden;
-}
-
-.null-spacer-bottom {
-  margin-bottom: 0 !important;
-}
-
-.spacer {
-  margin: 8px !important;
-}
-
-.spacer-left {
-  margin-left: 8px !important;
-}
-
-.spacer-right {
-  margin-right: 8px !important;
-}
-
-.spacer-bottom {
-  margin-bottom: 8px !important;
-}
-
-.spacer-top {
-  margin-top: 8px !important;
-}
-
-.little-spacer {
-  margin: 4px !important;
-}
-
-.little-spacer-left {
-  margin-left: 4px !important;
-}
-
-.little-spacer-right {
-  margin-right: 4px !important;
-}
-
-.little-spacer-bottom {
-  margin-bottom: 4px !important;
-}
-
-.little-spacer-top {
-  margin-top: 4px !important;
-}
-
-.padded {
-  padding: var(--gridSize) !important;
-}
-
-.big-padded {
-  padding: calc(2 * var(--gridSize)) !important;
-}
-
-.padded-right {
-  padding-right: var(--gridSize) !important;
-}
-
-.padded-bottom {
-  padding-bottom: var(--gridSize) !important;
-}
-
-.padded-left {
-  padding-left: var(--gridSize) !important;
-}
-
-.big-padded-right {
-  padding-right: calc(2 * var(--gridSize));
-}
-
-td.little-spacer-left {
-  padding-left: 4px !important;
-}
-
-td.little-spacer-right {
-  padding-right: 4px !important;
-}
-
-td.spacer-left {
-  padding-left: 8px !important;
-}
-
-td.spacer-right {
-  padding-right: 8px !important;
-}
-
-td.spacer-bottom {
-  padding-bottom: 8px !important;
-}
-
-td.spacer-top {
-  padding-top: 8px !important;
-}
-
-.pull-left {
-  float: left !important;
-}
-
-.overflow-hidden {
-  overflow: hidden !important;
-}
-
-.overflow-y-auto {
-  overflow-y: auto !important;
-}
-
-.width-100 {
-  width: 100% !important;
-}
-
-.abs-width-100 {
-  width: 100px !important;
-}
-
-.abs-width-400 {
-  width: 400px !important;
-}
-
-.abs-width-600 {
-  width: 600px !important;
-}
-
-.display-flex-column {
-  display: flex !important;
-  flex-direction: column;
-}
-
-.display-flex-center {
-  display: flex !important;
-  align-items: center;
-}
-
-.display-flex-justify-center {
-  display: flex !important;
-  justify-content: center;
-}
-
-.display-flex-start {
-  display: flex !important;
-  align-items: flex-start !important;
-}
-
-.display-inline-flex-center {
-  display: inline-flex !important;
-  align-items: center;
-}
-
-.flex-1 {
-  flex: 1;
-}
-
-.flex-grow {
-  flex-grow: 1;
-}
-
-.slash-separator {
-  margin-left: 5px;
-  margin-right: 5px;
-}
-
-.slash-separator:after {
-  content: '/';
-  color: rgba(68, 68, 68, 0.3);
-}
index bd9a673558163e3dac24dba8805ae12cea2889e3..5aa66548f47cbf00ed56b856dba13d5718dbd57c 100644 (file)
@@ -25,6 +25,5 @@ import '../../../../../public/fonts/Ubuntu/Ubuntu.css';
 
 import './components/global-loading.css';
 import './init/base.css';
-import './init/misc.css';
 import './print.css';
 import './style.css';
index 679af45f6f031711da3002c533bd5d4894fd4cfe..821621de0ffed775b116825c1bd1170a7575a878 100644 (file)
@@ -35,7 +35,7 @@ export default function Header(props: Readonly<Props>) {
         <Title className="sw-mb-4">{translate('background_tasks.page')}</Title>
         <p className="sw-max-w-3/4">
           {translate('background_tasks.page.description')}
-          <DocumentationLink className="spacer-left" to="/analyzing-source-code/background-tasks/">
+          <DocumentationLink className="sw-ml-2" to="/analyzing-source-code/background-tasks/">
             {translate('learn_more')}
           </DocumentationLink>
         </p>
index 1a5e3b3f8af4607481915048ecfd2d31b30559c2..03e7e4ef504689c062059588e572eae893be30c7 100644 (file)
@@ -120,7 +120,7 @@ export default function RuleDetails(props: Readonly<Props>) {
             {params.length > 0 && <RuleDetailsParameters params={params} />}
 
             {isEditable && (
-              <div className="coding-rules-detail-description display-flex-center">
+              <div className="coding-rules-detail-description sw-flex sw-items-center">
                 {/* `templateRule` is used to get rule meta data, `customRule` is used to get parameter values */}
                 {/* it's expected to pass the same rule to both parameters */}
                 <CustomRuleButton customRule={ruleDetails} templateRule={ruleDetails}>
index 939f4707d69e1bb18614fe2506d7e28609ab8672..f723b214a48f8baad3955b8ec0e4cbbc6924c729 100644 (file)
@@ -143,7 +143,7 @@ export class RuleDetailsIssues extends React.PureComponent<Props, State> {
     const path = getIssuesUrl({ ...DEFAULT_ISSUES_QUERY, rules: key });
 
     const totalItem = (
-      <span className="little-spacer-left">
+      <span className="sw-ml-1">
         {'('}
         <Link to={path}>{total}</Link>
         {')'}
index ab37446e10f8c2bd41d19d50e4830978cedc44c6..f307a7d6530f1bae7c9e82959d9a579a4c869733 100644 (file)
@@ -212,7 +212,7 @@ export default class BubbleChartView extends React.PureComponent<Props, State> {
         <div>
           <div className="sw-flex sw-items-center sw-whitespace-nowrap">
             <Highlight className="it__measure-overview-bubble-chart-title">{title}</Highlight>
-            <HelpTooltip className="spacer-left" overlay={this.getDescription(domain)}>
+            <HelpTooltip className="sw-ml-2" overlay={this.getDescription(domain)}>
               <HelperHintIcon />
             </HelpTooltip>
           </div>
@@ -260,7 +260,7 @@ export default class BubbleChartView extends React.PureComponent<Props, State> {
           </div>
           {colorsMetric && (
             <ColorRatingsLegend
-              className="spacer-top"
+              className="sw-mt-2"
               filters={ratingFilters}
               onRatingClick={this.handleRatingFilterClick}
             />
index 693a42f32eb13132771917a726b81998fafceec2..67ec7546d9b777e6574b0a7e52e06c6e9e5647fa 100644 (file)
@@ -93,7 +93,7 @@ export default function Sidebar(props: Props) {
         <FlagMessage className="sw-mt-4 it__portfolio_warning" variant="warning">
           {translate('component_measures.not_all_measures_are_shown')}
           <HelpTooltip
-            className="spacer-left"
+            className="sw-ml-2"
             overlay={translate('component_measures.not_all_measures_are_shown.help')}
           />
         </FlagMessage>
index 7f105354cddf32a60b82b1f5a89f877d30a047b8..f9f16a25f180e245a97dcdcc03d51bab4ec6fc8a 100644 (file)
@@ -953,10 +953,10 @@ export class App extends React.PureComponent<Props, State> {
     }
 
     return (
-      <div className="pull-left">
+      <div className="sw-float-left sw-flex sw-items-center">
         <Checkbox
           checked={isChecked}
-          className="spacer-right text-middle"
+          className="sw-mr-2"
           disabled={issues.length === 0}
           id="issues-selection"
           onCheck={this.handleCheckAll}
index 0d7890dae585616e93ab9f134080499cec21647b..cb32876e1c4664cfa5b36fc45a75005f21a6092b 100644 (file)
@@ -26,7 +26,5 @@ interface Props {
 }
 
 export default function IssuesCounter(props: Props) {
-  return (
-    <PageCounter className="spacer-left" label={translate('issues.issues')} total={props.total} />
-  );
+  return <PageCounter className="sw-ml-2" label={translate('issues.issues')} total={props.total} />;
 }
index d25c0bd1f5a9bb2e5bdb22c3f9a82a2995085947..be83012b5776a55dc9242066883d64dcd4f080e7 100644 (file)
@@ -302,7 +302,7 @@ export default class ComponentSourceSnippetGroupViewer extends React.PureCompone
         )}
 
         <IssueSourceViewerHeader
-          className={issueIsClosed && !issueIsFileLevel ? 'null-spacer-bottom' : ''}
+          className={issueIsClosed && !issueIsFileLevel ? 'sw-mb-0' : ''}
           expandable={isExpandable(snippets, snippetGroup)}
           issueKey={issue.key}
           loading={loading}
index 9f1344bd1a5a264fa8509ce67172715f9c2a703e..b0ea8e15593bcab48b8074ab39e1e8098cd07569 100644 (file)
@@ -83,9 +83,7 @@ export default class PluginActions extends React.PureComponent<Props, State> {
       <div className="it__js-actions">
         {isAvailablePlugin(plugin) && (
           <div>
-            <p className="little-spacer-bottom">
-              {translate('marketplace.available_under_commercial_license')}
-            </p>
+            <p className="sw-mb-1">{translate('marketplace.available_under_commercial_license')}</p>
             {plugin.homepageUrl && (
               <Link to={plugin.homepageUrl} target="_blank">
                 {translate('marketplace.learn_more')}
@@ -95,12 +93,12 @@ export default class PluginActions extends React.PureComponent<Props, State> {
         )}
         {isInstalledPlugin(plugin) && (
           <p>
-            <CheckIcon className="little-spacer-right" />
+            <CheckIcon className="sw-mr-1" />
             {translate('marketplace.installed')}
           </p>
         )}
         {isInstalledPlugin(plugin) && plugin.updates && plugin.updates.length > 0 && (
-          <div className="spacer-top">
+          <div className="sw-mt-2">
             {plugin.updates.map((update, idx) => (
               <PluginUpdateButton
                 disabled={this.state.loading}
index a8f370a1f0b93523d2b2cd59441c8a090b08e479..5c63599a4016440a085d6bd1f327aca5d3b09f02 100644 (file)
@@ -51,7 +51,7 @@ export function AnalysisLicenseError(props: Props) {
 
   return (
     <>
-      <span className="little-spacer-right">{currentTask.errorMessage}</span>
+      <span className="sw-mr-1">{currentTask.errorMessage}</span>
       {appState.canAdmin ? (
         <Link to="/admin/extension/license/app">
           {translate('license.component_navigation.button', currentTask.errorType)}.
index 90690bf13470c3f17d9a6ff3dd8ac1bffc983496..57ca2e0521e4b08bfaf476f78dcd69dffdb57105 100644 (file)
@@ -17,6 +17,7 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
+import { Spinner } from '@sonarsource/echoes-react';
 import {
   BasicSeparator,
   ButtonSecondary,
@@ -25,7 +26,6 @@ import {
   FormField,
   IllustratedSelectionCard,
   InputSelect,
-  Spinner,
   SubTitle,
   ToggleButton,
 } from 'design-system';
@@ -96,7 +96,7 @@ export default function ProjectBadges(props: ProjectBadgesProps) {
       <SubTitle>{translate('overview.badges.get_badge')}</SubTitle>
       <p className="sw-mb-4">{translate('overview.badges.description', qualifier)}</p>
 
-      <Spinner loading={isLoading || isEmpty(token)}>
+      <Spinner isLoading={isLoading || isEmpty(token)}>
         <div className="sw-flex sw-space-x-4 sw-mb-4">
           <IllustratedSelectionCard
             className="sw-w-abs-300 it__badge-button"
@@ -176,7 +176,7 @@ export default function ProjectBadges(props: ProjectBadgesProps) {
         </div>
       </FormField>
 
-      <Spinner className="spacer-top spacer-bottom" loading={isFetchingToken || isRenewing}>
+      <Spinner className="sw-my-2" isLoading={isFetchingToken || isRenewing}>
         {!isLoading && (
           <CodeSnippet
             language="plaintext"
@@ -195,7 +195,7 @@ export default function ProjectBadges(props: ProjectBadgesProps) {
               {translate('overview.badges.renew.description')}{' '}
               <ButtonSecondary
                 disabled={isLoading}
-                className="spacer-top it__project-info-renew-badge sw-mr-auto"
+                className="sw-mt-2 it__project-info-renew-badge sw-mr-auto"
                 onClick={() => {
                   renewToken(project);
                 }}
index f8f6bb8e80f242ac428b1539e6eba9d5af0dfbd3..1eacae6639585f9a12eaa1aa694d7dd31823161f 100644 (file)
@@ -17,7 +17,8 @@
  * along with this program; if not, write to the Free Software Foundation,
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
-import { Checkbox, FlagMessage, Spinner, SubTitle } from 'design-system';
+import { Spinner } from '@sonarsource/echoes-react';
+import { Checkbox, FlagMessage, SubTitle } from 'design-system';
 import * as React from 'react';
 import {
   WithNotificationsProps,
@@ -74,11 +75,11 @@ export function ProjectNotifications(props: WithNotificationsProps & Props) {
     <form aria-labelledby="notifications-update-title">
       <SubTitle>{translate('project.info.notifications')}</SubTitle>
 
-      <FlagMessage className="spacer-top" variant="info">
+      <FlagMessage className="sw-mt-2" variant="info">
         {translate('notification.dispatcher.information')}
       </FlagMessage>
 
-      <Spinner className="sw-mt-6" loading={loading}>
+      <Spinner className="sw-mt-6" isLoading={loading}>
         <h3 id="notifications-update-title" className="sw-mt-6">
           {translate('notifications.send_email')}
         </h3>
index fba51f7f6db58533306bfc62da9047b516012c94..fde87b3a979dea45869dbffc47272dc465a4973b 100644 (file)
@@ -70,7 +70,7 @@ function renderQualitygateOption(props: OptionProps<QualityGateOption, false>) {
     <components.Option {...props}>
       <div>
         <DisableableSelectOption
-          className="abs-width-100"
+          className="sw-w-[100px]"
           option={props.data}
           disabledReason={translate('project_quality_gate.no_condition.reason')}
           disableTooltipOverlay={() => (
index 7f9238f9ab239616e20f27f77f9bc63ed1917de1..9b4128d882e1fe5ae2cc6e4718321fa6759b4b46 100644 (file)
@@ -133,7 +133,7 @@ export default function ProjectQualityProfilesAppRenderer(
                               <>
                                 {profile.name}
                                 {profile.isBuiltIn && (
-                                  <BuiltInQualityProfileBadge className="spacer-left" />
+                                  <BuiltInQualityProfileBadge className="sw-ml-2" />
                                 )}
                               </>
                             )}
index 33b748c3221458e44885e27b9c26e38d6a7a0770..5d7c9e57d97d727b658ac6278231451e8a54ab48 100644 (file)
@@ -36,13 +36,13 @@ export default function ProjectCreationMenuItem(props: ProjectCreationMenuItemPr
   }
   return (
     <ItemLink
-      className="display-flex-center"
+      className="sw-flex sw-items-center"
       to={{ pathname: '/projects/create', search: queryToSearch({ mode: alm }) }}
     >
       {alm !== 'manual' && (
         <img
           alt={alm}
-          className="spacer-right"
+          className="sw-mr-2"
           width={16}
           src={`${getBaseUrl()}/images/alm/${almIcon}.svg`}
         />
index f6ad7515ffd88e3691173c09415e62145d6e0ae8..cedae01a99542745970caa9c3d00f1ef759b09b4 100644 (file)
@@ -24,7 +24,7 @@ import { translate } from '../../../helpers/l10n';
 export default function CaycBadgeTooltip() {
   return (
     <div>
-      <p className="spacer-bottom padded-bottom bordered-bottom-cayc">
+      <p className="sw-mb-2 sw-pb-2 bordered-bottom-cayc">
         {translate('quality_gates.cayc.tooltip.message')}
       </p>
       <DocumentationLink to="/user-guide/clean-as-you-code/">
index 393ba70e7399d95b907515e5ad628445b057a541..7912c9a159a7c9f6ee80ad63628833d9da7d11cb 100644 (file)
@@ -27,7 +27,7 @@ interface Props {
 
 export default function SeverityChange({ severity }: Props) {
   return (
-    <div className="nowrap">
+    <div className="sw-whitespace-nowrap">
       {translate('quality_profiles.deprecated_severity_set_to')}{' '}
       <SeverityHelper severity={severity} />
     </div>
index 25eddb7192ed5c4addd84e4bab8af6e5c55f095b..42cda96754853faf5775ef503d83f8ba280cc9ac 100644 (file)
@@ -240,7 +240,7 @@ export default function CreateProfileForm(props: Readonly<Props>) {
               onClick={handleSelectExtend}
               title={intl.formatMessage({ id: 'quality_profiles.creation_from_extend' })}
             >
-              <p className="spacer-bottom">
+              <p className="sw-mb-2">
                 {intl.formatMessage({ id: 'quality_profiles.creation_from_extend_description_1' })}
               </p>
               <p>
@@ -252,7 +252,7 @@ export default function CreateProfileForm(props: Readonly<Props>) {
               onClick={handleSelectCopy}
               title={intl.formatMessage({ id: 'quality_profiles.creation_from_copy' })}
             >
-              <p className="spacer-bottom">
+              <p className="sw-mb-2">
                 {intl.formatMessage({ id: 'quality_profiles.creation_from_copy_description_1' })}
               </p>
               <p>
index 475419833815217f4b01155d4268fd36f40ad4bb..1752f19a26200561f1d2644c7221a1a93fae344d 100644 (file)
@@ -50,7 +50,7 @@ export default function DeleteModal({ id, onDelete, onCancel, projectCount }: De
       onConfirm={onDelete}
     >
       <>
-        <p className="spacer-bottom">
+        <p className="sw-mb-2">
           <FormattedMessage
             defaultMessage={translate('settings.almintegration.delete.message')}
             id="settings.almintegration.delete.message"
index 0d0f10abceb5e23b1c6e96d09253ae16ab3f9f27..a3eac561c3051a3bf72e53be835697e1375031b5 100644 (file)
@@ -55,12 +55,7 @@ export const DOCUMENTATION_LINK_SUFFIXES = {
 
 function renderDevOpsIcon(key: string) {
   return (
-    <img
-      alt={key}
-      className="spacer-right"
-      height={16}
-      src={`${getBaseUrl()}/images/alm/${key}.svg`}
-    />
+    <img alt={key} className="sw-mr-2" height={16} src={`${getBaseUrl()}/images/alm/${key}.svg`} />
   );
 }
 
index 81310536cc705e9a164933161a99d8aff86d3d84..e4bb23b2240ba90c378ffc01bc22ba181f935a1a 100644 (file)
@@ -49,7 +49,7 @@ export default function InputForFormattedText(props: DefaultSpecializedInputProp
       <InputTextArea
         size="large"
         aria-label={getPropertyName(setting.definition)}
-        className="settings-large-input text-top spacer-right"
+        className="settings-large-input text-top sw-mr-2"
         name={name}
         onChange={handleInputChange}
         rows={5}
index aa9681e5d95f1fb1a789fb335e4862d52acf7938..a2ef7eb9830102841e7bccd3a2913531e0ae13c2 100644 (file)
@@ -56,7 +56,7 @@ export default function GraphsLegendCustom(props: GraphsLegendCustomProps) {
               overlay={translate('project_activity.graphs.custom.metric_no_history')}
             >
               <li
-                className="spacer-left spacer-right"
+                className="sw-mx-2"
                 aria-label={translate('project_activity.graphs.custom.metric_no_history')}
               >
                 {legendItem}
index 065feee2609009bb1f470b5f80004c1658029bb0..1fa817dd339a9bd103be471fbec30f23664c8aa2 100644 (file)
@@ -34,9 +34,7 @@ export default function DisableableSelectOption(props: DisableableSelectOptionPr
     <Tooltip overlay={disableTooltipOverlay()} placement="left">
       <span className={className}>
         {label}
-        {disabledReason !== undefined && (
-          <em className="small little-spacer-left">({disabledReason})</em>
-        )}
+        {disabledReason !== undefined && <em className="small sw-ml-1">({disabledReason})</em>}
       </span>
     </Tooltip>
   ) : (
index 385f6670f47697b3af9ce9b7a92e7ce0aeb2699e..7fd645b4976bd7c4aa2c24007d8bbe867e37ae8f 100644 (file)
@@ -81,7 +81,7 @@ export default function DocumentationTooltip(props: DocumentationTooltipProps) {
       overlay={
         <div className="sw-py-4">
           {title && (
-            <div className="spacer-bottom">
+            <div className="sw-mb-2">
               <strong>{title}</strong>
             </div>
           )}
@@ -93,7 +93,7 @@ export default function DocumentationTooltip(props: DocumentationTooltipProps) {
               <hr className="sw-my-4" />
 
               {links.map(({ href, label, inPlace, doc = true }, index) => (
-                <div className="little-spacer-bottom" key={label}>
+                <div className="sw-mb-1" key={label}>
                   {doc ? (
                     <DocumentationLink
                       to={href}
index 17645b3d6b7cd27680cc179528aa2e16308748a2..3555367e6b608abfcbbd5a61ca625ce0d7544276 100644 (file)
@@ -39,7 +39,7 @@ function IconLink({
       <img
         alt={text}
         aria-hidden
-        className="spacer-right"
+        className="sw-mr-2"
         height="18"
         src={`${getBaseUrl()}/images/${icon}`}
         width="18"
index 67af7bc817dd9b6c71bdcb3910135cca1273ddaf..0d39147668b8e4760da67717b01c5ad2b1ab7543 100644 (file)
@@ -48,7 +48,7 @@ export default class PermissionHeader extends React.PureComponent<Props> {
     if (isPermissionDefinitionGroup(permission)) {
       return permission.permissions.map((permission) => (
         <React.Fragment key={permission.key}>
-          <b className="little-spacer-right">{permission.name}:</b>
+          <b className="sw-mr-1">{permission.name}:</b>
           <InstanceMessage key={permission.key} message={permission.description} />
           <br />
         </React.Fragment>