Skip to content

Commit b77d139

Browse files
authored
fix: arrow position when placement is right again! (#825)
1 parent 043c726 commit b77d139

File tree

3 files changed

+8
-8
lines changed

3 files changed

+8
-8
lines changed

src/PickerInput/Popup/index.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ export default function Popup<DateType extends object = any>(props: PopupProps<D
208208
);
209209

210210
if (range) {
211-
const placementRight = placement?.toLowerCase().endsWith('right');
211+
const placementRight = placement?.toLowerCase().endsWith('right') || rtl;
212212
renderNode = (
213213
<div
214214
ref={wrapperRef}
@@ -217,7 +217,7 @@ export default function Popup<DateType extends object = any>(props: PopupProps<D
217217
<div
218218
ref={arrowRef}
219219
className={`${prefixCls}-range-arrow`}
220-
style={{ [rtl || placementRight ? 'right' : 'left']: activeOffset }}
220+
style={{ [placementRight ? 'insetInlineEnd' : 'insetInlineStart']: activeOffset }}
221221
/>
222222

223223
{/* Watch for container size */}

src/PickerInput/Selector/RangeSelector.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,8 @@ function RangeSelector<DateType extends object = any>(
170170
});
171171

172172
// ====================== ActiveBar =======================
173-
const offsetUnit = rtl ? 'insetInlineEnd' : 'insetInlineStart';
173+
const placementRight = placement?.toLowerCase().endsWith('right') || rtl;
174+
const offsetUnit = placementRight ? 'insetInlineEnd' : 'insetInlineStart';
174175

175176
const [activeBarStyle, setActiveBarStyle] = React.useState<React.CSSProperties>({
176177
position: 'absolute',
@@ -188,7 +189,6 @@ function RangeSelector<DateType extends object = any>(
188189
width: offsetWidth,
189190
[offsetUnit]: offsetLeft,
190191
}));
191-
const placementRight = placement?.toLowerCase().endsWith('right');
192192
onActiveOffset(placementRight ? (parentWidth - offsetWidth - offsetLeft) : offsetLeft);
193193
}
194194
});

tests/__snapshots__/range.spec.tsx.snap

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ exports[`Picker.Range onPanelChange is array args should render correctly in pla
8989
</div>
9090
<div
9191
class="rc-picker-active-bar"
92-
style="position: absolute; width: 0px; inset-inline-start: 0;"
92+
style="position: absolute; width: 0px; inset-inline-end: 0;"
9393
/>
9494
</div>
9595
</div>
@@ -184,7 +184,7 @@ exports[`Picker.Range panelRender 1`] = `
184184
>
185185
<div
186186
class="rc-picker-range-arrow"
187-
style="left: 0px;"
187+
style="inset-inline-start: 0;"
188188
/>
189189
<div
190190
class="rc-picker-panel-container rc-picker-date-panel-container"
@@ -250,7 +250,7 @@ exports[`Picker.Range use dateRender and monthCellRender in date range picker 1`
250250
>
251251
<div
252252
class="rc-picker-range-arrow"
253-
style="left: 0px;"
253+
style="inset-inline-start: 0;"
254254
/>
255255
<div
256256
class="rc-picker-panel-container rc-picker-date-panel-container"
@@ -1307,7 +1307,7 @@ exports[`Picker.Range use dateRender and monthCellRender in month range picker 1
13071307
>
13081308
<div
13091309
class="rc-picker-range-arrow"
1310-
style="left: 0px;"
1310+
style="inset-inline-start: 0;"
13111311
/>
13121312
<div
13131313
class="rc-picker-panel-container rc-picker-month-panel-container"

0 commit comments

Comments
 (0)