Skip to content

Commit 3b81ad8

Browse files
authored
fix(ui5-popover): correct arrow position on RTL (#2488)
FIXES: #2387
1 parent 973a80d commit 3b81ad8

File tree

3 files changed

+23
-0
lines changed

3 files changed

+23
-0
lines changed

packages/main/src/Popup.hbs

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
aria-modal="{{_ariaModal}}"
66
aria-label="{{_ariaLabel}}"
77
aria-labelledby="{{_ariaLabelledBy}}"
8+
dir="{{dir}}"
89
>
910

1011
<span class="first-fe" data-ui5-focus-trap tabindex="0" @focusin={{forwardToLast}}></span>

packages/main/src/Popup.js

+5
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import litRender from "@ui5/webcomponents-base/dist/renderer/LitRenderer.js";
2+
import { getRTL } from "@ui5/webcomponents-base/dist/config/RTL.js";
23
import UI5Element from "@ui5/webcomponents-base/dist/UI5Element.js";
34
import { getFirstFocusableElement, getLastFocusableElement } from "@ui5/webcomponents-base/dist/util/FocusableElements.js";
45
import createStyleInHead from "@ui5/webcomponents-base/dist/util/createStyleInHead.js";
@@ -456,6 +457,10 @@ class Popup extends UI5Element {
456457
return this.ariaLabel || undefined;
457458
}
458459

460+
get dir() {
461+
return getRTL() ? "rtl" : "ltr";
462+
}
463+
459464
get styles() {
460465
return {
461466
root: {},

packages/main/src/themes/Popover.css

+17
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,18 @@
3939
margin: 0.1875rem 0 0 -0.375rem;
4040
}
4141

42+
:host([actual-placement-type="Left"]) [dir=rtl] .ui5-popover-arrow:after {
43+
margin: .1875rem .25rem 0 0;
44+
}
45+
46+
:host([actual-placement-type="Bottom"]) [dir=rtl] .ui5-popover-arrow:after {
47+
margin: .1875rem .125rem 0 0;
48+
}
49+
50+
:host([actual-placement-type="Top"]) [dir=rtl] .ui5-popover-arrow:after {
51+
margin: -0.4375rem .125rem 0 0
52+
}
53+
4254
/* pointing downward arrow */
4355
:host([actual-placement-type="Top"]) .ui5-popover-arrow {
4456
left: calc(50% - 0.5625rem);
@@ -64,6 +76,11 @@
6476
margin: 0.125rem 0 0 0.25rem;
6577
}
6678

79+
:host(:not([actual-placement-type])) [dir=rtl] .ui5-popover-arrow:after,
80+
:host([actual-placement-type="Right"]) [dir=rtl] .ui5-popover-arrow:after {
81+
margin: .1875rem -.375rem 0 0;
82+
}
83+
6784
:host([no-arrow]) .ui5-popover-arrow {
6885
display: none;
6986
}

0 commit comments

Comments
 (0)