From 23bd820842ac9353e6062964c0975c707edce9b1 Mon Sep 17 00:00:00 2001 From: ilhan Date: Fri, 19 Jul 2019 11:08:43 +0300 Subject: [PATCH 1/4] refactor(ui5-link): clean up styles --- packages/main/src/Link.js | 7 +- packages/main/src/themes/Link.css | 124 ++++++++++++------ .../sap/ui/webcomponents/main/pages/Link.html | 2 + 3 files changed, 88 insertions(+), 45 deletions(-) diff --git a/packages/main/src/Link.js b/packages/main/src/Link.js index 2f3b6ea051b1..3cb9eda55083 100644 --- a/packages/main/src/Link.js +++ b/packages/main/src/Link.js @@ -207,12 +207,7 @@ class Link extends UI5Element { get classes() { return { main: { - sapMLnk: true, - sapMLnkSubtle: this.design === LinkDesign.Subtle, - sapMLnkEmphasized: this.design === LinkDesign.Emphasized, - sapMLnkWrapping: this.wrap, - sapMLnkDsbl: this.disabled, - sapMLnkMaxWidth: true, + "ui5-link-root": true, }, }; } diff --git a/packages/main/src/themes/Link.css b/packages/main/src/themes/Link.css index e639c641c20f..6a2f0c735373 100644 --- a/packages/main/src/themes/Link.css +++ b/packages/main/src/themes/Link.css @@ -1,49 +1,26 @@ -:host(ui5-link:not([hidden])) { +:host(:not([hidden])) { display: inline-flex; - max-width: 100%; -} - -:host([disabled]) { - pointer-events: none; } -ui5-link[disabled] { - pointer-events: none; -} - -ui5-link { - display: inline-block; +:host { max-width: 100%; -} - -.sapMLnk { color: var(--sapUiLink); - text-decoration: none; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; - word-wrap: normal; font-family: var(--sapUiFontFamily); font-size: var(--sapMFontMediumSize); cursor: pointer; - display: inline-block; - justify-content: center; - align-items: center; - position: relative; - outline: none; } -.sapMLnk:not(.sapMLnkDsbl):hover, -.sapMLnk.sapMLnkSubtle:not(.sapMLnkDsbl):hover { - text-decoration: underline; - color: var(--sapUiLinkHover); +:host([disabled]) { + pointer-events: none; } -.sapMLnk:visited { - color: var(--sapUiLinkVisited); +:host([design="Subtle"]):not([disabled]) .ui5-link-root:hover, +:host([design="Subtle"]):not([disabled]) .ui5-link-root:hover { + text-decoration: underline; + color: var(--sapUiLinkHover); } -.sapMLnk.sapMLnkDsbl { +:host([disabled]) .ui5-link-root { text-shadow: none; outline: none; cursor: default; @@ -51,29 +28,46 @@ ui5-link { opacity: var(--_ui5_link_opacity); } -.sapMLnk.sapMLnkEmphasized { +:host([design="Emphasized"]) .ui5-link-root { font-weight: bold; } -.sapMLnk.sapMLnkSubtle, -.sapMLnk.sapMLnkSubtle:visited { +:host([design="Subtle"]) .ui5-link-root, +:host([design="Subtle"]) .ui5-link-root:visited { color: var(--_ui5_link_subtle_color); } -.sapMLnk.sapMLnkSubtle:focus { +:host([design="Subtle"]) .ui5-link-root:focus { color: var(--sapUiLink); } -.sapMLnk.sapMLnkWrapping { +:host([wrap]) .ui5-link-root { white-space: normal; word-wrap: break-word; } -.sapMLnk:focus { +.ui5-link-root { + display: inline-block; + position: relative; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + word-wrap: normal; + text-decoration: none; + outline: none; +} + +.ui5-link-root, +.ui5-link-root:visited, +.ui5-link-root:active { + color: currentColor; +} + +.ui5-link-root:focus { text-decoration: underline; } -.sapMLnk:focus::after { +.ui5-link-root:focus::after { content: ""; width: var(--_ui5_link_outline_element_size); height: var(--_ui5_link_outline_element_size); @@ -83,3 +77,55 @@ ui5-link { top: 0; outline: none; } + +/* + * IE pair of styles, + * to be removed later on + */ +ui5-link:not([hidden]) { + display: inline-flex; +} + +ui5-link { + max-width: 100%; + color: var(--sapUiLink); + font-family: var(--sapUiFontFamily); + font-size: var(--sapMFontMediumSize); + cursor: pointer; +} + +ui5-link[disabled] { + pointer-events: none; +} + +ui5-link[design="Subtle"]:not([disabled]) .ui5-link-root:hover, +ui5-link[design="Subtle"]:not([disabled]) .ui5-link-root:hover { + text-decoration: underline; + color: var(--sapUiLinkHover); +} + +ui5-link[disabled] .ui5-link-root { + text-shadow: none; + outline: none; + cursor: default; + pointer-events: none; + opacity: var(--_ui5_link_opacity); +} + +ui5-link[design="Emphasized"] .ui5-link-root { + font-weight: bold; +} + +ui5-link[design="Subtle"] .ui5-link-root, +ui5-link[design="Subtle"] .ui5-link-root:visited { + color: var(--_ui5_link_subtle_color); +} + +ui5-link[design="Subtle"] .ui5-link-root:focus { + color: var(--sapUiLink); +} + +ui5-link[wrap] .ui5-link-root { + white-space: normal; + word-wrap: break-word; +} \ No newline at end of file diff --git a/packages/main/test/sap/ui/webcomponents/main/pages/Link.html b/packages/main/test/sap/ui/webcomponents/main/pages/Link.html index be878360b4e0..000def9561e2 100644 --- a/packages/main/test/sap/ui/webcomponents/main/pages/Link.html +++ b/packages/main/test/sap/ui/webcomponents/main/pages/Link.html @@ -10,6 +10,8 @@ + +