From 8894a539ba06f2d0fea9904216d864dec7ffdc7e Mon Sep 17 00:00:00 2001 From: Alexandre Alves Date: Thu, 29 Aug 2024 15:48:18 +0100 Subject: [PATCH 1/9] working on popover fix --- shell/assets/styles/global/_tooltip.scss | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/shell/assets/styles/global/_tooltip.scss b/shell/assets/styles/global/_tooltip.scss index 4ce40138f97..e89fb559157 100644 --- a/shell/assets/styles/global/_tooltip.scss +++ b/shell/assets/styles/global/_tooltip.scss @@ -138,12 +138,12 @@ } } -.popover { +.v-popper__popper { $color: var(--popover-bg); border: 1px solid var(--border); border-radius: var(--border-radius); - .popover-inner { + .v-popper__inner { background: $color; color: var(--popover-text); padding: 10px; @@ -155,12 +155,12 @@ } } - .popover-arrow { + .v-popper__arrow-container { border-color: transparent; } &[x-placement^="bottom"] { - .popover-arrow { + .v-popper__arrow-container { &:after { // border-bottom-color: var(--popover-bg); border-bottom-width: 0; @@ -175,7 +175,7 @@ } .tooltip, -.popover { +.v-popper { &[aria-hidden='true'] { // This removes it from the layout of ButtondropDown (so it doesn't render huge for SSR) but // still allows it to maintain it's dimensions for v-tooltip to calculate the appropriate position. From 5a813024bc83d2f457890d6b752b514bf2d6224d Mon Sep 17 00:00:00 2001 From: Alexandre Alves Date: Thu, 29 Aug 2024 17:54:31 +0100 Subject: [PATCH 2/9] fix styling for locale selectors --- shell/assets/styles/global/_layout.scss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/shell/assets/styles/global/_layout.scss b/shell/assets/styles/global/_layout.scss index 504e628d044..42fb5f2e7df 100644 --- a/shell/assets/styles/global/_layout.scss +++ b/shell/assets/styles/global/_layout.scss @@ -119,15 +119,15 @@ HEADER { } .localeSelector { - :deep(.popover-inner) { + :deep(.v-popper__inner) { padding: 50px 0; } - :deep(.popover-arrow) { + :deep(.v-popper__arrow-container) { display: none; } - :deep(.popover:focus) { + :deep(.v-popper:focus) { outline: 0; } From 297f76e476f84e6574d69dd29b804c6a6aa2ba96 Mon Sep 17 00:00:00 2001 From: Alexandre Alves Date: Thu, 29 Aug 2024 19:21:43 +0100 Subject: [PATCH 3/9] fix header user menu styling --- shell/assets/styles/global/_tooltip.scss | 4 ++-- shell/components/nav/Header.vue | 20 +++++++++++++------- 2 files changed, 15 insertions(+), 9 deletions(-) diff --git a/shell/assets/styles/global/_tooltip.scss b/shell/assets/styles/global/_tooltip.scss index e89fb559157..f8b68a71137 100644 --- a/shell/assets/styles/global/_tooltip.scss +++ b/shell/assets/styles/global/_tooltip.scss @@ -149,6 +149,7 @@ padding: 10px; border-radius: var(--border-radius); box-shadow: 0 5px 20px var(--shadow); + border: none; a { color: var(--popover-text); @@ -167,10 +168,9 @@ } } } - } -.v-popover { +.v-popper { display: inline; } diff --git a/shell/components/nav/Header.vue b/shell/components/nav/Header.vue index 2d354465eb8..2f69935fbe1 100644 --- a/shell/components/nav/Header.vue +++ b/shell/components/nav/Header.vue @@ -664,6 +664,7 @@ export default { class="user user-menu" data-testid="nav_header_showUserMenu" tabindex="0" + @blur="showMenu(false)" @click="showMenu(true)" @focus.capture="showMenu(true)" > @@ -671,6 +672,8 @@ export default { :triggers="[]" :shown="isPopoverOpen" :autoHide="false" + :flip="false" + :container="false" >
Date: Fri, 30 Aug 2024 15:48:50 +0100 Subject: [PATCH 4/9] fixing tooltips and metions of tooltips and dropdowns wherever I could find them --- .../keyboard-mapping-indicator.po.ts | 2 +- .../e2e/po/components/sortable-table.po.ts | 2 +- shell/assets/styles/global/_tooltip.scss | 96 ++++++------------- shell/components/ActionDropdown.vue | 22 ++--- shell/components/LocaleSelector.vue | 2 +- shell/components/SideNav.vue | 6 +- shell/components/fleet/FleetStatus.vue | 27 +++--- .../components/formatter/AppSummaryGraph.vue | 2 +- .../formatter/FleetSummaryGraph.vue | 2 +- .../formatter/MachineSummaryGraph.vue | 2 +- shell/components/formatter/Scale.vue | 2 +- shell/components/formatter/Weight.vue | 2 +- shell/components/nav/Header.vue | 13 +-- shell/components/nav/TopLevelMenu.vue | 13 +-- .../nav/WindowManager/ContainerLogs.vue | 2 +- .../helm.cattle.io.projecthelmchart.vue | 53 +++++----- 16 files changed, 105 insertions(+), 143 deletions(-) diff --git a/cypress/e2e/po/components/keyboard-mapping-indicator.po.ts b/cypress/e2e/po/components/keyboard-mapping-indicator.po.ts index 8ebbe270373..a1341896f7d 100644 --- a/cypress/e2e/po/components/keyboard-mapping-indicator.po.ts +++ b/cypress/e2e/po/components/keyboard-mapping-indicator.po.ts @@ -10,6 +10,6 @@ export default class KeyboardMappingIndicatorPo extends ComponentPo { } getTooltipContent(): Cypress.Chainable { - return cy.get('.tooltip.vue-tooltip-theme .tooltip-inner'); + return cy.get('.v-popper__popper.v-popper--theme-tooltip .v-popper__inner'); } } diff --git a/cypress/e2e/po/components/sortable-table.po.ts b/cypress/e2e/po/components/sortable-table.po.ts index 8f069e0953c..5f59b1849b4 100644 --- a/cypress/e2e/po/components/sortable-table.po.ts +++ b/cypress/e2e/po/components/sortable-table.po.ts @@ -37,7 +37,7 @@ export default class SortableTablePo extends ComponentPo { * @returns */ bulkActionDropDownPopOver() { - return this.bulkActionDropDown().find(`.v-popover .popover .popover-inner`); + return this.bulkActionDropDown().find(`.v-popper .v-popper__inner`); } /** diff --git a/shell/assets/styles/global/_tooltip.scss b/shell/assets/styles/global/_tooltip.scss index f8b68a71137..1249e9bb7e7 100644 --- a/shell/assets/styles/global/_tooltip.scss +++ b/shell/assets/styles/global/_tooltip.scss @@ -1,4 +1,4 @@ -.tooltip { +.v-popper__popper.v-popper--theme-tooltip { $triangle-size: 8px; $triangle-inner-size: $triangle-size - 1px; $center: calc(50% - #{$triangle-size}); @@ -7,130 +7,105 @@ z-index: z-index('tooltip'); max-width: 50vw; - .tooltip-inner { + .v-popper__inner { background: var(--tooltip-bg); color: var(--tooltip-text); border-radius: var(--border-radius); padding: 8px; } - .tooltip-arrow { + .v-popper__arrow-container { width: 0; height: 0; border: 0 solid transparent; position: absolute; z-index: 1; - &:after { - position: absolute; + .v-popper__arrow-inner { border: $triangle-inner-size solid transparent; - content: ''; } } - &[x-placement^="top"] { - margin-bottom: $triangle-size; - - .tooltip-arrow { - border-width: 5px 5px 0 5px; - bottom: -4px; - } - - margin-bottom: $triangle-size; - - .tooltip-arrow { - bottom: -$triangle-inner-size; + &[data-popper-placement^="top"] { + .v-popper__arrow-container { - &:after { + .v-popper__arrow-outer { border-bottom-width: 0; border-top-color: var(--tooltip-bg); - bottom: 1px; left: -$triangle-inner-size; } } } - &[x-placement^="bottom"] { - margin-top: $triangle-size; - - .tooltip-arrow { - top: -$triangle-inner-size; + &[data-popper-placement^="bottom"] { + .v-popper__arrow-container { - &:after { + .v-popper__arrow-outer { border-top-width: 0; border-bottom-color: var(--tooltip-bg); - top: 1px; left: -$triangle-inner-size; background: transparent; } } } - &[x-placement^="right"] { - margin-left: $triangle-size; - - .tooltip-arrow { - left: -$triangle-inner-size; + &[data-popper-placement^="right"] { + .v-popper__arrow-container { - &:after { - border-left-width: 0; + .v-popper__arrow-outer { border-right-color: var(--tooltip-bg); - left: 1px; top: -$triangle-inner-size; + border-left-width: 0; } } } - &[x-placement^="left"] { - margin-right: $triangle-size; - - .tooltip-arrow { - right: -$triangle-inner-size; + &[data-popper-placement^="left"] { + .v-popper__arrow-container { - &:after { + .v-popper__arrow-outer { border-right-width: 0; border-left-color: var(--tooltip-bg); - right: 1px; top: -$triangle-inner-size; } } } &.tooltip-warning { - .tooltip-inner { + .v-popper__inner { background: var(--tooltip-bg-warning); color: var(--tooltip-text-warning); } - &[x-placement^="top"] { - .tooltip-arrow { - &:after { + &[data-popper-placement^="top"] { + .v-popper__arrow-container { + .v-popper__arrow-outer { border-top-color: var(--tooltip-bg-warning); } } } - &[x-placement^="bottom"] { - .tooltip-arrow { - &:after { + &[data-popper-placement^="bottom"] { + .v-popper__arrow-container { + .v-popper__arrow-outer { border-bottom-color: var(--body-bg); } } } - &[x-placement^="right"] { - .tooltip-arrow { - &:after { + &[data-popper-placement^="right"] { + .v-popper__arrow-container { + .v-popper__arrow-outer { border-right-color: var(--tooltip-bg-warning); } } } - &[x-placement^="left"] { - .tooltip-arrow { - &:after { + &[data-popper-placement^="left"] { + .v-popper__arrow-container { + .v-popper__arrow-outer { border-left-color: var(--tooltip-bg-warning); } } @@ -159,22 +134,13 @@ .v-popper__arrow-container { border-color: transparent; } - - &[x-placement^="bottom"] { - .v-popper__arrow-container { - &:after { - // border-bottom-color: var(--popover-bg); - border-bottom-width: 0; - } - } - } } .v-popper { display: inline; } -.tooltip, +.v-popper__popper.v-popper--theme-tooltip, .v-popper { &[aria-hidden='true'] { // This removes it from the layout of ButtondropDown (so it doesn't render huge for SSR) but diff --git a/shell/components/ActionDropdown.vue b/shell/components/ActionDropdown.vue index dc4467cb2d9..098d549be68 100644 --- a/shell/components/ActionDropdown.vue +++ b/shell/components/ActionDropdown.vue @@ -82,7 +82,7 @@ export default { Button -