chore: replace right/left with inline-* value for better rtl support

This commit is contained in:
TAKAHASHI Shuuji 2024-06-09 16:26:12 +09:00
parent 6dc6489e69
commit 2ee481103c
No known key found for this signature in database
GPG key ID: F15C887632129F5E
14 changed files with 44 additions and 61 deletions

View file

@ -42,7 +42,7 @@
width: 1rem;
height: 1rem;
margin-inline-start: calc(var(#{$css-var-prefix}spacing, 1rem) * 0.5);
float: right;
float: inline-end;
transform: rotate(-90deg);
background-image: var(#{$css-var-prefix}icon-chevron);
background-position: right center;
@ -74,7 +74,7 @@
// Type button
&[role="button"] {
width: 100%;
text-align: left;
text-align: start;
// Marker
&::after {
@ -104,10 +104,9 @@
[dir="rtl"] {
#{$parent-selector} details {
summary {
text-align: right;
text-align: start;
&::after {
float: left;
background-position: left center;
}
}

View file

@ -16,8 +16,8 @@
> header,
> footer {
margin-right: calc(var(#{$css-var-prefix}block-spacing-horizontal) * -1);
margin-left: calc(var(#{$css-var-prefix}block-spacing-horizontal) * -1);
margin-inline-start: calc(var(#{$css-var-prefix}block-spacing-horizontal) * -1);
margin-inline-end: calc(var(#{$css-var-prefix}block-spacing-horizontal) * -1);
padding: calc(var(#{$css-var-prefix}block-spacing-vertical) * 0.66)
var(#{$css-var-prefix}block-spacing-horizontal);
background-color: var(#{$css-var-prefix}card-sectioning-background-color);
@ -29,8 +29,8 @@
border-bottom: var(#{$css-var-prefix}border-width)
solid
var(#{$css-var-prefix}card-border-color);
border-top-right-radius: var(#{$css-var-prefix}border-radius);
border-top-left-radius: var(#{$css-var-prefix}border-radius);
border-start-start-radius: var(#{$css-var-prefix}border-radius);
border-start-end-radius: var(#{$css-var-prefix}border-radius);
}
> footer {

View file

@ -22,7 +22,7 @@
width: 1rem;
height: calc(1rem * var(#{$css-var-prefix}line-height, 1.5));
margin-inline-start: 0.25rem;
float: right;
float: inline-start;
// TODO: find out why we need this magic number (0.2 rem)
// for the marker to be aligned with the regular select
transform: rotate(0deg) translateX(0.2rem);

View file

@ -25,14 +25,14 @@
margin-bottom: 0;
&:not(:first-child) {
margin-left: 0;
border-top-left-radius: 0;
border-bottom-left-radius: 0;
margin-inline-start: 0;
border-start-start-radius: 0;
border-end-start-radius: 0;
}
&:not(:last-child) {
border-top-right-radius: 0;
border-bottom-right-radius: 0;
border-start-end-radius: 0;
border-end-end-radius: 0;
}
&:focus {
@ -48,7 +48,7 @@
input:not([type="checkbox"], [type="radio"]),
select {
&:not(:first-child) {
margin-left: calc(var(#{$css-var-prefix}border-width) * -1);
margin-inline-start: calc(var(#{$css-var-prefix}border-width) * -1);
}
}
@ -107,13 +107,13 @@
#{$parent-selector} [role="search"] {
> * {
&:first-child {
border-top-left-radius: 5rem;
border-bottom-left-radius: 5rem;
border-start-start-radius: 5rem;
border-end-start-radius: 5rem;
}
&:last-child {
border-top-right-radius: 5rem;
border-bottom-right-radius: 5rem;
border-start-end-radius: 5rem;
border-end-end-radius: 5rem;
}
}
}

View file

@ -61,21 +61,21 @@
#{$close-selector} {
margin: 0;
margin-left: var(#{$css-var-prefix}spacing);
margin-inline-start: var(#{$css-var-prefix}spacing);
padding: 0;
float: right;
float: inline-end;
}
}
> footer {
text-align: right;
text-align: end;
button,
[role="button"] {
margin-bottom: 0;
&:not(:first-of-type) {
margin-left: calc(var(#{$css-var-prefix}spacing) * 0.5);
margin-inline-start: calc(var(#{$css-var-prefix}spacing) * 0.5);
}
}
}
@ -116,7 +116,7 @@
// Utilities
@if $enable-classes {
.modal-is-open {
padding-right: var(#{$css-var-prefix}scrollbar-width, 0px);
padding-inline-end: var(#{$css-var-prefix}scrollbar-width, 0px);
overflow: hidden;
pointer-events: none;
touch-action: none;

View file

@ -11,7 +11,7 @@
// Prevent VoiceOver from ignoring list semantics in Safari (opinionated)
:where(nav li)::before {
float: left;
float: inline-start;
content: "\200B";
}
@ -35,10 +35,10 @@
list-style: none;
&:first-of-type {
margin-left: calc(var(#{$css-var-prefix}nav-element-spacing-horizontal) * -1);
margin-inline-start: calc(var(#{$css-var-prefix}nav-element-spacing-horizontal) * -1);
}
&:last-of-type {
margin-right: calc(var(#{$css-var-prefix}nav-element-spacing-horizontal) * -1);
margin-inline-end: calc(var(#{$css-var-prefix}nav-element-spacing-horizontal) * -1);
}
}
@ -68,9 +68,8 @@
input:not([type="checkbox"], [type="radio"], [type="range"], [type="file"]),
select {
height: auto;
margin-right: inherit;
margin-bottom: 0;
margin-left: inherit;
margin-inline: inherit;
padding: calc(
var(#{$css-var-prefix}nav-link-spacing-vertical) -
(var(#{$css-var-prefix}border-width) * 2)

View file

@ -47,9 +47,8 @@
padding: 0;
transform: translate(-50%, 0rem);
border-top: 0.3rem solid;
border-right: 0.3rem solid transparent;
border-left: 0.3rem solid transparent;
border-radius: 0;
border-inline: 0.3rem solid transparent;
background-color: transparent;
content: "";
color: var(#{$css-var-prefix}tooltip-background-color);
@ -100,7 +99,7 @@
&:after {
transform: translate(-0.3rem, -50%);
border: 0.3rem solid transparent;
border-right: 0.3rem solid;
border-inline-end: 0.3rem solid;
}
}

View file

@ -33,7 +33,6 @@
background-color: var(#{$css-var-prefix}background-color);
color: var(#{$css-var-prefix}color);
font-weight: var(#{$css-var-prefix}font-weight);
text-align: left;
text-align: start;
}

View file

@ -145,8 +145,6 @@
display: block;
margin: var(#{$css-var-prefix}typography-spacing-vertical) 0;
padding: var(#{$css-var-prefix}spacing);
border-right: none;
border-left: 0.25rem solid var(#{$css-var-prefix}blockquote-border-color);
border-inline-start: 0.25rem solid var(#{$css-var-prefix}blockquote-border-color);
border-inline-end: none;

View file

@ -264,17 +264,11 @@
) {
&[aria-invalid] {
@if $enable-important {
padding-right: calc(
var(#{$css-var-prefix}form-element-spacing-horizontal) + 1.5rem
) !important;
padding-left: var(#{$css-var-prefix}form-element-spacing-horizontal);
padding-inline-start: var(#{$css-var-prefix}form-element-spacing-horizontal) !important;
padding-inline-end: calc(
var(#{$css-var-prefix}form-element-spacing-horizontal) + 1.5rem
) !important;
} @else {
padding-right: calc(var(#{$css-var-prefix}form-element-spacing-horizontal) + 1.5rem);
padding-left: var(#{$css-var-prefix}form-element-spacing-horizontal);
padding-inline-start: var(#{$css-var-prefix}form-element-spacing-horizontal);
padding-inline-end: calc(var(#{$css-var-prefix}form-element-spacing-horizontal) + 1.5rem);
}
@ -393,8 +387,6 @@
}
&:not([multiple], [size]) {
padding-right: calc(var(#{$css-var-prefix}form-element-spacing-horizontal) + 1.5rem);
padding-left: var(#{$css-var-prefix}form-element-spacing-horizontal);
padding-inline-start: var(#{$css-var-prefix}form-element-spacing-horizontal);
padding-inline-end: calc(var(#{$css-var-prefix}form-element-spacing-horizontal) + 1.5rem);
background-image: var(#{$css-var-prefix}icon-chevron);

View file

@ -11,7 +11,9 @@
&:is([type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"]) {
#{$css-var-prefix}icon-position: 0.75rem;
#{$css-var-prefix}icon-width: 1rem;
padding-right: calc(var(#{$css-var-prefix}icon-width) + var(#{$css-var-prefix}icon-position));
padding-inline-end: calc(
var(#{$css-var-prefix}icon-width) + var(#{$css-var-prefix}icon-position)
);
background-image: var(#{$css-var-prefix}icon-date);
background-position: center right var(#{$css-var-prefix}icon-position);
background-size: var(#{$css-var-prefix}icon-width) auto;
@ -32,8 +34,8 @@
#{$parent-selector} [type="week"] {
&::-webkit-calendar-picker-indicator {
width: var(#{$css-var-prefix}icon-width);
margin-right: calc(var(#{$css-var-prefix}icon-width) * -1);
margin-left: var(#{$css-var-prefix}icon-position);
margin-inline-start: var(#{$css-var-prefix}icon-position);
margin-inline-end: calc(var(#{$css-var-prefix}icon-width) * -1);
opacity: 0;
}
}
@ -46,7 +48,7 @@
#{$parent-selector} [type="month"],
#{$parent-selector} [type="time"],
#{$parent-selector} [type="week"] {
padding-right: var(#{$css-var-prefix}form-element-spacing-horizontal) !important;
padding-inline-end: var(#{$css-var-prefix}form-element-spacing-horizontal) !important;
background-image: none !important;
}
}
@ -55,6 +57,6 @@
[dir="rtl"]
#{$parent-selector}
:is([type="date"], [type="datetime-local"], [type="month"], [type="time"], [type="week"]) {
text-align: right;
text-align: start;
}
}

View file

@ -10,15 +10,15 @@
// with the forced overflow hidden on the input[type="file"] element.
#{$parent-selector} [type="file"] {
#{$css-var-prefix}color: var(#{$css-var-prefix}muted-color);
margin-left: calc(var(#{$css-var-prefix}outline-width) * -1); // 1
margin-inline-start: calc(var(#{$css-var-prefix}outline-width) * -1); // 1
padding: calc(var(#{$css-var-prefix}form-element-spacing-vertical) * 0.5) 0;
padding-left: var(#{$css-var-prefix}outline-width); // 1
padding-inline-start: var(#{$css-var-prefix}outline-width); // 1
border: 0;
border-radius: 0;
background: none;
&::file-selector-button {
margin-right: calc(var(#{$css-var-prefix}spacing) / 2);
margin-inline-end: calc(var(#{$css-var-prefix}spacing) / 2);
padding: calc(var(#{$css-var-prefix}form-element-spacing-vertical) * 0.5)
var(#{$css-var-prefix}form-element-spacing-horizontal);
}

View file

@ -9,10 +9,8 @@
.container,
.container-fluid {
width: 100%;
margin-right: auto;
margin-left: auto;
padding-right: var(#{$css-var-prefix}spacing);
padding-left: var(#{$css-var-prefix}spacing);
margin-inline: auto;
padding-inline: var(#{$css-var-prefix}spacing);
}
.container {
@ -23,8 +21,7 @@
max-width: map.get($values, "viewport");
@if $first-breakpoint {
$first-breakpoint: false;
padding-right: 0;
padding-left: 0;
padding-inline: 0;
}
}
}

View file

@ -32,8 +32,7 @@
@if $enable-semantic-container {
$first-breakpoint: true;
width: 100%;
margin-right: auto;
margin-left: auto;
margin-inline: auto;
padding: var(#{$css-var-prefix}block-spacing-vertical)
var(#{$css-var-prefix}block-spacing-horizontal);
@ -44,8 +43,7 @@
max-width: map.get($values, "viewport");
@if $first-breakpoint {
$first-breakpoint: false;
padding-right: 0;
padding-left: 0;
padding-inline: 0;
}
}
}