:first-child {
- margin-top: 0;
+ margin-block-start: 0;
}
> :last-child {
- margin-bottom: 0;
+ margin-block-end: 0;
}
}
@@ -441,7 +441,8 @@
font-size: 1.85em;
line-height: 1.1;
flex: 1;
- padding: 0 0.1em;
+ padding-block: 0;
+ padding-inline: 0.1em;
display: flex;
align-items: center;
@@ -488,29 +489,29 @@
}
.media-upload-wrapper {
- margin-right: .2em;
- margin-bottom: .5em;
- width: 18em;
+ margin-inline-end: .2em;
+ margin-block-end: .5em;
+ inline-size: 18em;
img, video {
object-fit: contain;
- max-height: 10em;
+ max-block-size: 10em;
}
.video {
- max-height: 10em;
+ max-block-size: 10em;
}
input {
flex: 1;
- width: 100%;
+ inline-size: 100%;
}
}
.status-input-wrapper {
display: flex;
position: relative;
- width: 100%;
+ inline-size: 100%;
flex-direction: column;
}
@@ -528,7 +529,8 @@
.form-group {
display: flex;
flex-direction: column;
- padding: 0.25em 0.5em 0.5em;
+ padding-block: 0.25em 0.5em;
+ padding-inline: 0.5em;
line-height: 1.85;
}
@@ -536,12 +538,12 @@
// TODO: make a resizable textarea component?
box-sizing: content-box; // needed for easier computation of dynamic size
overflow: hidden;
- transition: min-height 200ms 100ms;
+ transition: min-block-size 200ms 100ms;
// stock padding + 1 line of text (for counter)
- padding-bottom: calc(var(--_padding) + var(--post-line-height) * 1em);
+ padding-block-end: calc(var(--_padding) + var(--post-line-height) * 1em);
// two lines of text
- height: calc(var(--post-line-height) * 1em);
- min-height: calc(var(--post-line-height) * 1em);
+ block-size: calc(var(--post-line-height) * 1em);
+ min-block-size: calc(var(--post-line-height) * 1em);
resize: none;
&.scrollable-form {
@@ -555,10 +557,11 @@
.character-counter {
position: absolute;
- bottom: 0;
- right: 0;
+ inset-block-end: 0;
+ inset-inline-end: 0;
padding: 0;
- margin: 0 0.5em;
+ margin-block: 0;
+ margin-inline: 0.5em;
&.error {
color: $fallback--cRed;
@@ -582,8 +585,8 @@
.drop-indicator {
position: absolute;
- width: 100%;
- height: 100%;
+ inline-size: 100%;
+ block-size: 100%;
font-size: 5em;
display: flex;
align-items: center;
diff --git a/src/components/post_status_modal/post_status_modal.vue b/src/components/post_status_modal/post_status_modal.vue
index dbcd321e..6196214b 100644
--- a/src/components/post_status_modal/post_status_modal.vue
+++ b/src/components/post_status_modal/post_status_modal.vue
@@ -27,13 +27,13 @@
.post-form-modal-panel {
flex-shrink: 0;
- margin-top: 25%;
- margin-bottom: 2em;
- width: 100%;
- max-width: 700px;
+ margin-block-start: 25%;
+ margin-block-end: 2em;
+ inline-size: 100%;
+ max-inline-size: 700px;
@media (orientation: landscape) {
- margin-top: 8%;
+ margin-block-start: 8%;
}
}
diff --git a/src/components/quote_button/quote_button.vue b/src/components/quote_button/quote_button.vue
index 4367f495..c16e3b6d 100644
--- a/src/components/quote_button/quote_button.vue
+++ b/src/components/quote_button/quote_button.vue
@@ -27,7 +27,8 @@
> :first-child {
padding: 10px;
- margin: -10px -8px -10px -10px;
+ margin-block: -10px -10px;
+ margin-inline: -10px -8px;
}
.action-counter {
diff --git a/src/components/quote_card/quote_card.vue b/src/components/quote_card/quote_card.vue
index 8cd7eb23..7f915480 100644
--- a/src/components/quote_card/quote_card.vue
+++ b/src/components/quote_card/quote_card.vue
@@ -21,15 +21,15 @@
flex-direction: column;
cursor: pointer;
overflow: hidden;
- margin-top: 0.5em;
+ margin-block-start: 0.5em;
.card-image {
flex-shrink: 0;
- width: 120px;
- max-width: 25%;
+ inline-size: 120px;
+ max-inline-size: 25%;
img {
- width: 100%;
- height: 100%;
+ inline-size: 100%;
+ block-size: 100%;
object-fit: cover;
border-radius: $fallback--attachmentRadius;
border-radius: var(--attachmentRadius, $fallback--attachmentRadius);
@@ -37,7 +37,7 @@
}
.card-content {
- max-height: 100%;
+ max-block-size: 100%;
margin: 0.5em;
display: flex;
flex-direction: column;
@@ -48,18 +48,20 @@
}
.card-description {
- margin: 0.5em 0 0 0;
+ margin-block: 0.5em 0;
+ margin-inline: 0 0;
overflow: hidden;
text-overflow: ellipsis;
word-break: break-word;
line-height: 1.2em;
// cap description at 3 lines, the 1px is to clean up some stray pixels
// TODO: fancier fade-out at the bottom to show off that it's too long?
- max-height: calc(1.2em * 3 - 1px);
+ max-block-size: calc(1.2em * 3 - 1px);
}
.nsfw-alert {
- margin: 2em 0;
+ margin-block: 2em;
+ margin-inline: 0;
}
color: $fallback--text;
diff --git a/src/components/react_button/react_button.vue b/src/components/react_button/react_button.vue
index c196417c..b5fc89d3 100644
--- a/src/components/react_button/react_button.vue
+++ b/src/components/react_button/react_button.vue
@@ -34,7 +34,7 @@
@import '../../_variables.scss';
.custom-reaction {
- width: 30px !important;
+ inline-size: 30px !important;
}
.ReactButton {
@@ -48,15 +48,15 @@
}
.reaction-picker-divider {
- height: 1px;
- width: 100%;
+ block-size: 1px;
+ inline-size: 100%;
margin: 0.5em;
background-color: var(--border, $fallback--border);
}
.reaction-picker {
- width: 10em;
- height: 9em;
+ inline-size: 10em;
+ block-size: 9em;
font-size: 1.5em;
overflow-y: scroll;
display: flex;
@@ -91,7 +91,7 @@
/* override of popover internal stuff */
.popover-trigger-button {
- width: auto;
+ inline-size: auto;
}
.popover-trigger {
@@ -106,7 +106,7 @@
.popover {
transform: translateX(-64px) translateY(5px);
- min-width: 70%;
+ min-inline-size: 70%;
}
}
diff --git a/src/components/registration/registration.vue b/src/components/registration/registration.vue
index 9a88d68d..e9083fe0 100644
--- a/src/components/registration/registration.vue
+++ b/src/components/registration/registration.vue
@@ -286,7 +286,7 @@ $validations-cRed: #f04124;
flex-direction: row;
> * {
- min-width: 0;
+ min-inline-size: 0;
}
}
@@ -296,23 +296,24 @@ $validations-cRed: #f04124;
}
.text-fields {
- margin-top: 0.6em;
+ margin-block-start: 0.6em;
flex: 1 0;
display: flex;
flex-direction: column;
}
textarea {
- min-height: 100px;
+ min-block-size: 100px;
resize: vertical;
}
.form-group {
display: flex;
flex-direction: column;
- padding: 0.3em 0;
+ padding-block: 0.3em;
+ padding-inline: 0;
line-height: 2;
- margin-bottom: 1em;
+ margin-block-end: 1em;
}
.form-group--error {
@@ -327,8 +328,8 @@ $validations-cRed: #f04124;
}
.form-error {
- margin-top: -0.7em;
- text-align: left;
+ margin-block-start: -0.7em;
+ text-align: start;
span {
font-size: 0.85em;
@@ -337,8 +338,9 @@ $validations-cRed: #f04124;
.form-error ul {
list-style: none;
- padding: 0 0 0 5px;
- margin-top: 0;
+ padding-block: 0 0;
+ padding-inline: 5px 0;
+ margin-block-start: 0;
li::before {
content: "• ";
@@ -351,13 +353,13 @@ $validations-cRed: #f04124;
}
.captcha {
- max-width: 350px;
- margin-bottom: 0.4em;
+ max-inline-size: 350px;
+ margin-block-end: 0.4em;
}
.btn {
- margin-top: 0.6em;
- height: 2em;
+ margin-block-start: 0.6em;
+ block-size: 2em;
}
.error {
diff --git a/src/components/remote_follow/remote_follow.vue b/src/components/remote_follow/remote_follow.vue
index e17aa2e9..6277ca69 100644
--- a/src/components/remote_follow/remote_follow.vue
+++ b/src/components/remote_follow/remote_follow.vue
@@ -28,11 +28,11 @@
diff --git a/src/components/reply_button/reply_button.vue b/src/components/reply_button/reply_button.vue
index ab493311..20d4ca26 100644
--- a/src/components/reply_button/reply_button.vue
+++ b/src/components/reply_button/reply_button.vue
@@ -44,7 +44,8 @@
> :first-child {
padding: 10px;
- margin: -10px -8px -10px -10px;
+ margin-block: -10px -10px;
+ margin-inline: -10px -8px;
}
.action-counter {
diff --git a/src/components/retweet_button/retweet_button.vue b/src/components/retweet_button/retweet_button.vue
index c574f4cb..3f89b2a0 100644
--- a/src/components/retweet_button/retweet_button.vue
+++ b/src/components/retweet_button/retweet_button.vue
@@ -64,7 +64,8 @@
> :first-child {
padding: 10px;
- margin: -10px -8px -10px -10px;
+ margin-block: -10px -10px;
+ margin-inline: -10px -8px;
}
.action-counter {
diff --git a/src/components/rich_content/rich_content.scss b/src/components/rich_content/rich_content.scss
index db08ef1e..185d09b0 100644
--- a/src/components/rich_content/rich_content.scss
+++ b/src/components/rich_content/rich_content.scss
@@ -1,6 +1,7 @@
.RichContent {
blockquote {
- margin: 0.2em 0 0.2em 2em;
+ margin-block: 0.2em 0.2em;
+ margin-inline: 2em 0;
font-style: italic;
}
@@ -17,31 +18,37 @@
}
p {
- margin: 0 0 1em 0;
+ margin-block: 0 1em;
+ margin-inline: 0 0;
}
p:last-child {
- margin: 0 0 0 0;
+ margin-block: 0 0;
+ margin-inline: 0 0;
}
h1 {
font-size: 1.1em;
line-height: 1.2em;
- margin: 1.4em 0;
+ margin-block: 1.4em;
+ margin-inline: 0;
}
h2 {
font-size: 1.1em;
- margin: 1em 0;
+ margin-block: 1em;
+ margin-inline: 0;
}
h3 {
font-size: 1em;
- margin: 1.2em 0;
+ margin-block: 1.2em;
+ margin-inline: 0;
}
h4 {
- margin: 1.1em 0;
+ margin-block: 1.1em;
+ margin-inline: 0;
}
.img {
@@ -50,14 +57,14 @@
.emoji {
display: inline-block;
- width: var(--emoji-size, 32px);
- height: var(--emoji-size, 32px);
+ inline-size: var(--emoji-size, 32px);
+ block-size: var(--emoji-size, 32px);
}
.img,
video {
- max-width: 100%;
- max-height: 400px;
+ max-inline-size: 100%;
+ max-block-size: 400px;
vertical-align: middle;
object-fit: contain;
}
diff --git a/src/components/scope_selector/scope_selector.vue b/src/components/scope_selector/scope_selector.vue
index 64c34fb1..d8154bcc 100644
--- a/src/components/scope_selector/scope_selector.vue
+++ b/src/components/scope_selector/scope_selector.vue
@@ -81,10 +81,10 @@
.scope {
display: inline-block;
cursor: pointer;
- min-width: 1.3em;
- min-height: 1.3em;
+ min-inline-size: 1.3em;
+ min-block-size: 1.3em;
text-align: center;
- margin-right: 0.4em;
+ margin-inline-end: 0.4em;
&.selected svg {
color: $fallback--lightText;
diff --git a/src/components/search/search.vue b/src/components/search/search.vue
index b7bfc1f3..9f5833c8 100644
--- a/src/components/search/search.vue
+++ b/src/components/search/search.vue
@@ -149,7 +149,7 @@
.search-result {
box-sizing: border-box;
- border-bottom: 1px solid;
+ border-block-end: 1px solid;
border-color: $fallback--border;
border-color: var(--border, $fallback--border);
}
@@ -169,7 +169,7 @@
justify-content: center;
.search-input {
- width: 100%;
+ inline-size: 100%;
line-height: 1.125rem;
font-size: 1rem;
padding: 0.5rem;
@@ -177,7 +177,7 @@
}
.search-button {
- margin-left: 0.5em;
+ margin-inline-start: 0.5em;
}
}
@@ -200,7 +200,7 @@
.count {
flex: 0 0 auto;
- width: 2rem;
+ inline-size: 2rem;
font-size: 1.5rem;
line-height: 2.25rem;
font-weight: 500;
diff --git a/src/components/search_bar/search_bar.vue b/src/components/search_bar/search_bar.vue
index 831c47ae..b56a7951 100644
--- a/src/components/search_bar/search_bar.vue
+++ b/src/components/search_bar/search_bar.vue
@@ -63,21 +63,21 @@
justify-content: flex-end;
&.-expanded {
- width: 100%;
+ inline-size: 100%;
}
.search-bar-input,
.search-button {
- height: 29px;
+ block-size: 29px;
}
.search-bar-input {
flex: 1 0 auto;
- margin-left: 0.5em;
+ margin-inline-start: 0.5em;
}
.cancel-search {
- height: 50px;
+ block-size: 50px;
}
.cancel-icon {
diff --git a/src/components/select/select.vue b/src/components/select/select.vue
index 92493b0b..cf933fc4 100644
--- a/src/components/select/select.vue
+++ b/src/components/select/select.vue
@@ -36,23 +36,24 @@ label.Select {
color: $fallback--text;
color: var(--inputText, --text, $fallback--text);
margin: 0;
- padding: 0 2em 0 .2em;
+ padding-block: 0 0;
+ padding-inline: .2em 2em;
font-family: sans-serif;
font-family: var(--inputFont, sans-serif);
font-size: 1em;
- width: 100%;
+ inline-size: 100%;
z-index: 1;
- height: 2em;
+ block-size: 2em;
line-height: 16px;
}
.select-down-icon {
position: absolute;
- top: 0;
- bottom: 0;
- right: 5px;
- height: 100%;
- width: 0.875em;
+ inset-block-start: 0;
+ inset-block-end: 0;
+ inset-inline-end: 5px;
+ block-size: 100%;
+ inline-size: 0.875em;
color: $fallback--text;
color: var(--inputText, $fallback--text);
line-height: 2;
diff --git a/src/components/selectable_list/selectable_list.vue b/src/components/selectable_list/selectable_list.vue
index 3c80660e..28b0a126 100644
--- a/src/components/selectable_list/selectable_list.vue
+++ b/src/components/selectable_list/selectable_list.vue
@@ -59,7 +59,7 @@
align-items: center;
> * {
- min-width: 0;
+ min-inline-size: 0;
}
}
@@ -76,10 +76,11 @@
&-header {
display: flex;
align-items: center;
- padding: 0.6em 0;
- border-bottom: 2px solid;
- border-bottom-color: $fallback--border;
- border-bottom-color: var(--border, $fallback--border);
+ padding-block: 0.6em;
+ padding-inline: 0;
+ border-block-end: 2px solid;
+ border-block-end-color: $fallback--border;
+ border-block-end-color: var(--border, $fallback--border);
&-actions {
flex: 1;
@@ -87,7 +88,8 @@
}
&-checkbox-wrapper {
- padding: 0 10px;
+ padding-block: 0;
+ padding-inline: 10px;
flex: none;
}
}
diff --git a/src/components/settings_modal/helpers/modified_indicator.vue b/src/components/settings_modal/helpers/modified_indicator.vue
index ad212db9..0e4cffc0 100644
--- a/src/components/settings_modal/helpers/modified_indicator.vue
+++ b/src/components/settings_modal/helpers/modified_indicator.vue
@@ -43,8 +43,9 @@ export default {
position: relative;
.modified-tooltip {
- margin: 0.5em 1em;
- min-width: 10em;
+ margin-block: 0.5em;
+ margin-inline: 1em;
+ min-inline-size: 10em;
text-align: center;
}
}
diff --git a/src/components/settings_modal/helpers/server_side_indicator.vue b/src/components/settings_modal/helpers/server_side_indicator.vue
index 143a86a1..1adc6813 100644
--- a/src/components/settings_modal/helpers/server_side_indicator.vue
+++ b/src/components/settings_modal/helpers/server_side_indicator.vue
@@ -43,8 +43,9 @@ export default {
position: relative;
.serverside-tooltip {
- margin: 0.5em 1em;
- min-width: 10em;
+ margin-block: 0.5em;
+ margin-inline: 1em;
+ min-inline-size: 10em;
text-align: center;
}
}
diff --git a/src/components/settings_modal/settings_modal.scss b/src/components/settings_modal/settings_modal.scss
index 15dae7fd..993f30b3 100644
--- a/src/components/settings_modal/settings_modal.scss
+++ b/src/components/settings_modal/settings_modal.scss
@@ -5,12 +5,12 @@
.setting-list,
.option-list {
list-style-type: none;
- padding-left: 2em;
+ padding-inline-start: 2em;
li {
- margin-bottom: 0.5em;
+ margin-block-end: 0.5em;
}
.suboptions {
- margin-top: 0.3em
+ margin-block-start: 0.3em
}
}
@@ -18,13 +18,13 @@
.settings-modal-panel {
/* Explanation:
* Modal is positioned vertically centered.
- * 100vh - 100% = Distance between modal's top+bottom boundaries and screen
- * (100vh - 100%) / 2 = Distance between bottom (or top) boundary and screen
+ * 100vb - 100% = Distance between modal's top+bottom boundaries and screen
+ * (100vb - 100%) / 2 = Distance between bottom (or top) boundary and screen
* + 100% - we move modal completely off-screen, it's top boundary touches
* bottom of the screen
* - 50px - leaving tiny amount of space so that titlebar + tiny amount of modal is visible
*/
- transform: translateY(calc(((100vh - 100%) / 2 + 100%) - 50px));
+ transform: translateY(calc(((100vb - 100%) / 2 + 100%) - 50px));
@media all and (max-width: 800px) {
/* For mobile, the modal takes 100% of the available screen.
@@ -40,23 +40,24 @@
transition: transform;
transition-timing-function: ease-in-out;
transition-duration: 300ms;
- width: 1000px;
- max-width: 90vw;
- height: 90vh;
+ inline-size: 1000px;
+ max-inline-size: 90vi;
+ block-size: 90vb;
@media all and (max-width: 800px) {
- max-width: 100vw;
- height: 100%;
+ max-inline-size: 100vi;
+ block-size: 100%;
}
>.panel-body {
- height: 100%;
+ block-size: 100%;
overflow-y: hidden;
.btn {
- min-height: 2em;
- min-width: 10em;
- padding: 0 2em;
+ min-block-size: 2em;
+ min-inline-size: 10em;
+ padding-block: 0;
+ padding-inline: 2em;
}
}
}
@@ -64,7 +65,7 @@
.settings-footer {
display: flex;
>* {
- margin-right: 0.5em;
+ margin-inline-end: 0.5em;
}
.extra-content {
@@ -74,8 +75,8 @@
.logout-button {
position: absolute;
- right: 20px;
- padding-right: 10px;
+ inset-inline-end: 20px;
+ padding-inline-end: 10px;
@media all and (max-width: 800px) {
display: none;
diff --git a/src/components/settings_modal/settings_modal_content.scss b/src/components/settings_modal/settings_modal_content.scss
index 81ab434b..fba2f5a5 100644
--- a/src/components/settings_modal/settings_modal_content.scss
+++ b/src/components/settings_modal/settings_modal_content.scss
@@ -1,18 +1,19 @@
@import 'src/_variables.scss';
.settings_tab-switcher {
- height: 100%;
+ block-size: 100%;
.setting-item {
- border-bottom: 2px solid var(--fg, $fallback--fg);
- margin: 1em 1em 1.4em;
- padding-bottom: 1.4em;
+ border-block-end: 2px solid var(--fg, $fallback--fg);
+ margin-block: 1em 1.4em;
+ margin-inline: 1em;
+ padding-block-end: 1.4em;
> div,
> label {
display: block;
- margin-bottom: .5em;
+ margin-block-end: .5em;
&:last-child {
- margin-bottom: 0;
+ margin-block-end: 0;
}
}
@@ -21,24 +22,24 @@
.option-list {
margin: 0;
- padding-left: .5em;
+ padding-inline-start: .5em;
}
}
&:last-child {
- border-bottom: none;
- padding-bottom: 0;
- margin-bottom: 1em;
+ border-block-end: none;
+ padding-block-end: 0;
+ margin-block-end: 1em;
}
select {
- min-width: 10em;
+ min-inline-size: 10em;
}
textarea {
- width: 100%;
- max-width: 100%;
- height: 100px;
+ inline-size: 100%;
+ max-inline-size: 100%;
+ block-size: 100px;
}
.unavailable,
@@ -48,7 +49,7 @@
}
.number-input {
- max-width: 6em;
+ max-inline-size: 6em;
}
}
}
diff --git a/src/components/settings_modal/tabs/filtering_tab.vue b/src/components/settings_modal/tabs/filtering_tab.vue
index 7160b1fd..101057d7 100644
--- a/src/components/settings_modal/tabs/filtering_tab.vue
+++ b/src/components/settings_modal/tabs/filtering_tab.vue
@@ -76,7 +76,7 @@
{{ $t('settings.filtering_explanation') }}
diff --git a/src/components/settings_modal/tabs/general_tab.vue b/src/components/settings_modal/tabs/general_tab.vue
index 2fa20742..27eeae96 100644
--- a/src/components/settings_modal/tabs/general_tab.vue
+++ b/src/components/settings_modal/tabs/general_tab.vue
@@ -612,11 +612,11 @@
diff --git a/src/components/settings_modal/tabs/mutes_and_blocks_tab.scss b/src/components/settings_modal/tabs/mutes_and_blocks_tab.scss
index 2adff847..ef63af89 100644
--- a/src/components/settings_modal/tabs/mutes_and_blocks_tab.scss
+++ b/src/components/settings_modal/tabs/mutes_and_blocks_tab.scss
@@ -1,18 +1,19 @@
.mutes-and-blocks-tab {
- height: 100%;
+ block-size: 100%;
.usersearch-wrapper {
padding: 1em;
}
.bulk-actions {
- text-align: right;
- padding: 0 1em;
- min-height: 2em;
+ text-align: end;
+ padding-block: 0;
+ padding-inline: 1em;
+ min-block-size: 2em;
}
.bulk-action-button {
- width: 10em
+ inline-size: 10em
}
.domain-mute-form {
@@ -23,7 +24,7 @@
.domain-mute-button {
align-self: flex-end;
- margin-top: 1em;
- width: 10em
+ margin-block-start: 1em;
+ inline-size: 10em
}
}
diff --git a/src/components/settings_modal/tabs/profile_tab.scss b/src/components/settings_modal/tabs/profile_tab.scss
index 8b9a35e1..bea5300f 100644
--- a/src/components/settings_modal/tabs/profile_tab.scss
+++ b/src/components/settings_modal/tabs/profile_tab.scss
@@ -5,25 +5,25 @@
}
.expire-posts-days {
- margin-left: 1em;
+ margin-inline-start: 1em;
}
.visibility-tray {
- padding-top: 5px;
+ padding-block-start: 5px;
}
input[type=file] {
padding: 5px;
- height: auto;
+ block-size: auto;
}
.banner-background-preview {
- max-width: 100%;
- width: 300px;
+ max-inline-size: 100%;
+ inline-size: 300px;
position: relative;
img {
- width: 100%;
+ inline-size: 100%;
}
}
@@ -33,33 +33,33 @@
}
.name-changer {
- width: 100%;
+ inline-size: 100%;
}
.current-avatar-container {
position: relative;
- width: 150px;
- height: 150px;
+ inline-size: 150px;
+ block-size: 150px;
}
.current-avatar {
display: block;
- width: 100%;
- height: 100%;
+ inline-size: 100%;
+ block-size: 100%;
border-radius: $fallback--avatarRadius;
border-radius: var(--avatarRadius, $fallback--avatarRadius);
}
.reset-button {
position: absolute;
- top: 0.2em;
- right: 0.2em;
+ inset-block-start: 0.2em;
+ inset-inline-end: 0.2em;
border-radius: $fallback--tooltipRadius;
border-radius: var(--tooltipRadius, $fallback--tooltipRadius);
background-color: rgba(0, 0, 0, 0.6);
opacity: 0.7;
- width: 1.5em;
- height: 1.5em;
+ inline-size: 1.5em;
+ block-size: 1.5em;
text-align: center;
line-height: 1.5em;
font-size: 1.5em;
@@ -75,14 +75,14 @@
}
.oauth-tokens {
- width: 100%;
+ inline-size: 100%;
th {
- text-align: left;
+ text-align: start;
}
.actions {
- text-align: right;
+ text-align: end;
}
}
@@ -91,12 +91,13 @@
}
&-bulk-actions {
- text-align: right;
- padding: 0 1em;
- min-height: 2em;
+ text-align: end;
+ padding-block: 0;
+ padding-inline: 1em;
+ min-block-size: 2em;
button {
- width: 10em;
+ inline-size: 10em;
}
}
@@ -107,13 +108,13 @@
button {
align-self: flex-end;
- margin-top: 1em;
- width: 10em;
+ margin-block-start: 1em;
+ inline-size: 10em;
}
}
.setting-subitem {
- margin-left: 1.75em;
+ margin-inline-start: 1.75em;
}
.profile-fields {
@@ -121,15 +122,18 @@
& > .emoji-input {
flex: 1 1 auto;
- margin: 0 0.2em 0.5em;
- min-width: 0;
+ margin-block: 0 0.5em;
+ margin-inline: 0.2em;
+ min-inline-size: 0;
}
.delete-field {
- width: 20px;
+ inline-size: 20px;
align-self: center;
- margin: 0 0.2em 0.5em;
- padding: 0 0.5em;
+ margin-block: 0 0.5em;
+ margin-inline: 0.2em;
+ padding-block: 0;
+ padding-inline: 0.5em;
}
}
}
diff --git a/src/components/settings_modal/tabs/profile_tab.vue b/src/components/settings_modal/tabs/profile_tab.vue
index 8748b685..8107b92b 100644
--- a/src/components/settings_modal/tabs/profile_tab.vue
+++ b/src/components/settings_modal/tabs/profile_tab.vue
@@ -22,7 +22,7 @@
>
diff --git a/src/components/settings_modal/tabs/security_tab/mfa.vue b/src/components/settings_modal/tabs/security_tab/mfa.vue
index 455d17b6..ae4717af 100644
--- a/src/components/settings_modal/tabs/security_tab/mfa.vue
+++ b/src/components/settings_modal/tabs/security_tab/mfa.vue
@@ -157,14 +157,14 @@
flex-wrap: wrap;
.qr-code {
flex: 1;
- padding-right: 10px;
+ padding-inline-end: 10px;
}
.verify { flex: 1; }
.error { margin: 4px 0 0 0; }
.confirm-otp-actions {
button {
- width: 15em;
- margin-top: 5px;
+ inline-size: 15em;
+ margin-block-start: 5px;
}
}
diff --git a/src/components/settings_modal/tabs/theme_tab/preview.vue b/src/components/settings_modal/tabs/theme_tab/preview.vue
index ba6bd529..74bc2c8b 100644
--- a/src/components/settings_modal/tabs/theme_tab/preview.vue
+++ b/src/components/settings_modal/tabs/theme_tab/preview.vue
@@ -140,9 +140,9 @@ export default {}
}
.underlay-preview {
position: absolute;
- top: 0;
- bottom: 0;
- left: 10px;
- right: 10px;
+ inset-block-start: 0;
+ inset-block-end: 0;
+ inset-inline-start: 10px;
+ inset-inline-end: 10px;
}
diff --git a/src/components/settings_modal/tabs/theme_tab/theme_tab.scss b/src/components/settings_modal/tabs/theme_tab/theme_tab.scss
index 0427e42f..b03a7e34 100644
--- a/src/components/settings_modal/tabs/theme_tab/theme_tab.scss
+++ b/src/components/settings_modal/tabs/theme_tab/theme_tab.scss
@@ -1,24 +1,24 @@
@import 'src/_variables.scss';
.theme-tab {
- padding-bottom: 2em;
+ padding-block-end: 2em;
.theme-warning {
display: flex;
align-items: baseline;
- margin-bottom: .5em;
+ margin-block-end: .5em;
.buttons {
.btn {
- margin-bottom: .5em;
+ margin-block-end: .5em;
}
}
}
.preset-switcher {
- margin-right: 1em;
+ margin-inline-end: 1em;
}
.style-control {
display: flex;
align-items: baseline;
- margin-bottom: 5px;
+ margin-block-end: 5px;
.label {
flex: 1;
@@ -39,17 +39,17 @@
}
input, select {
- min-width: 3em;
+ min-inline-size: 3em;
margin: 0;
flex: 0;
&[type=number] {
- min-width: 5em;
+ min-inline-size: 5em;
}
&[type=range] {
flex: 1;
- min-width: 3em;
+ min-inline-size: 3em;
align-self: flex-start;
}
}
@@ -75,7 +75,7 @@
.color-container{
> h4 {
- width: 99%;
+ inline-size: 99%;
}
flex-wrap: wrap;
justify-content: space-between;
@@ -86,21 +86,22 @@
.shadow-container,
.radius-container,
.presets-container {
- margin: 1em 1em 0;
+ margin-block: 1em 0;
+ margin-inline: 1em;
}
.tab-header {
display: flex;
justify-content: space-between;
align-items: baseline;
- width: 100%;
- min-height: 30px;
- margin-bottom: 1em;
+ inline-size: 100%;
+ min-block-size: 30px;
+ margin-block-end: 1em;
p {
flex: 1;
margin: 0;
- margin-right: .5em;
+ margin-inline-end: .5em;
}
}
@@ -109,21 +110,22 @@
flex-direction: column;
.btn {
- min-width: 1px;
+ min-inline-size: 1px;
flex: 0 auto;
- padding: 0 1em;
- margin-bottom: .5em;
+ padding-block: 0;
+ padding-inline: 1em;
+ margin-block-end: .5em;
}
}
.shadow-selector {
.override {
flex: 1;
- margin-left: .5em;
+ margin-inline-start: .5em;
}
.select-container {
- margin-top: -4px;
- margin-bottom: -3px;
+ margin-block-start: -4px;
+ margin-block-end: -3px;
}
}
@@ -136,7 +138,7 @@
.presets,
.import-export {
- margin-bottom: .5em;
+ margin-block-end: .5em;
}
.import-export {
@@ -144,26 +146,28 @@
}
.override {
- margin-left: .5em;
+ margin-inline-start: .5em;
}
}
.save-load-options {
flex-wrap: wrap;
- margin-top: .5em;
+ margin-block-start: .5em;
justify-content: center;
.keep-option {
- margin: 0 .5em .5em;
- min-width: 25%;
+ margin-block: 0 .5em;
+ margin-inline: .5em;
+ min-inline-size: 25%;
}
}
.preview-container {
- border-top: 1px dashed;
- border-bottom: 1px dashed;
+ border-block-start: 1px dashed;
+ border-block-end: 1px dashed;
border-color: $fallback--border;
border-color: var(--border, $fallback--border);
- margin: 1em 0;
+ margin-block: 1em;
+ margin-inline: 0;
padding: 1em;
background-color: var(--wallpaper);
background-image: var(--body-background-image);
@@ -179,22 +183,22 @@
flex: 1;
h4 {
- margin-bottom: .25em;
+ margin-block-end: .25em;
}
.icons {
- margin-top: .5em;
+ margin-block-start: .5em;
display: flex;
i {
- margin-right: 1em;
+ margin-inline-end: 1em;
}
}
}
}
.after-post {
- margin-top: 1em;
+ margin-block-start: 1em;
display: flex;
align-items: center;
}
@@ -204,15 +208,15 @@
color: black;
font-family: sans-serif;
text-align: center;
- margin-right: 1em;
+ margin-inline-end: 1em;
}
.avatar-alt {
flex: 0 auto;
- margin-left: 28px;
+ margin-inline-start: 28px;
font-size: 12px;
- min-width: 20px;
- min-height: 20px;
+ min-inline-size: 20px;
+ min-block-size: 20px;
line-height: 20px;
border-radius: $fallback--avatarAltRadius;
border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
@@ -220,8 +224,8 @@
.avatar {
flex: 0 auto;
- width: 48px;
- height: 48px;
+ inline-size: 48px;
+ block-size: 48px;
font-size: 14px;
line-height: 48px;
}
@@ -233,38 +237,39 @@
.checkbox {
display: inline-flex;
align-items: baseline;
- margin-right: 1em;
+ margin-inline-end: 1em;
flex: 1;
}
}
.separator {
margin: 1em;
- border-bottom: 1px solid;
+ border-block-end: 1px solid;
border-color: $fallback--border;
border-color: var(--border, $fallback--border);
}
.btn {
- min-width: 3em;
+ min-inline-size: 3em;
}
}
}
.radius-item,
.color-item {
- min-width: 20em;
- margin: 5px 6px 0 0;
+ min-inline-size: 20em;
+ margin-block: 5px 0;
+ margin-inline: 0 6px;
display:flex;
flex-direction: column;
flex: 1 1 0;
&.wide {
- min-width: 60%
+ min-inline-size: 60%
}
&:not(.wide):nth-child(2n+1) {
- margin-right: 7px;
+ margin-inline-end: 7px;
}
@@ -289,20 +294,20 @@
.theme-color-cl,
.theme-radius-in,
.theme-color-in {
- margin-left: 4px;
+ margin-inline-start: 4px;
}
.theme-radius-in {
- min-width: 1em;
+ min-inline-size: 1em;
}
.theme-radius-in {
- max-width: 7em;
+ max-inline-size: 7em;
flex: 1;
}
.theme-radius-lb{
- max-width: 50em;
+ max-inline-size: 50em;
}
.theme-preview-content {
@@ -310,23 +315,23 @@
}
.btn {
- margin-left: .25em;
- margin-right: .25em;
+ margin-inline-start: .25em;
+ margin-inline-end: .25em;
}
}
.extra-content {
.apply-container {
- padding-left: 15vw;
+ padding-inline-start: 15vi;
display: flex;
flex-direction: row;
justify-content: space-evenly;
flex-grow: 1;
.btn {
flex-grow: 1;
- min-height: 2em;
- min-width: 0;
- max-width: 10em;
+ min-block-size: 2em;
+ min-inline-size: 0;
+ max-inline-size: 10em;
padding: 0;
}
}
diff --git a/src/components/shadow_control/shadow_control.vue b/src/components/shadow_control/shadow_control.vue
index f2fc7b99..48ceda6f 100644
--- a/src/components/shadow_control/shadow_control.vue
+++ b/src/components/shadow_control/shadow_control.vue
@@ -223,11 +223,12 @@
display: flex;
flex-wrap: wrap;
justify-content: center;
- margin-bottom: 1em;
+ margin-block-end: 1em;
.shadow-preview-container,
.shadow-tweak {
- margin: 5px 6px 0 0;
+ margin-block: 5px 0;
+ margin-inline: 0 6px;
}
.shadow-preview-container {
flex: 0;
@@ -237,8 +238,8 @@
$side: 15em;
input[type=number] {
- width: 5em;
- min-width: 2em;
+ inline-size: 5em;
+ min-inline-size: 2em;
}
.x-shift-control,
.y-shift-control {
@@ -258,15 +259,15 @@
.x-shift-control .wrap,
input[type=range] {
margin: 0;
- width: $side;
- height: 2em;
+ inline-size: $side;
+ block-size: 2em;
}
.y-shift-control {
flex-direction: column;
align-items: flex-end;
.wrap {
- width: 2em;
- height: $side;
+ inline-size: 2em;
+ block-size: $side;
}
input[type=range] {
transform-origin: 1em 1em;
@@ -291,8 +292,8 @@
border-radius: var(--inputRadius, $fallback--inputRadius);
.preview-block {
- width: 33%;
- height: 33%;
+ inline-size: 33%;
+ block-size: 33%;
background-color: $fallback--bg;
background-color: var(--bg, $fallback--bg);
border-radius: $fallback--panelRadius;
@@ -303,7 +304,7 @@
.shadow-tweak {
flex: 1;
- min-width: 280px;
+ min-inline-size: 280px;
.id-control {
align-items: stretch;
@@ -313,13 +314,15 @@
}
.shadow-switcher, .btn {
- min-width: 1px;
- margin-right: 5px;
+ min-inline-size: 1px;
+ margin-inline-end: 5px;
}
.btn {
- padding: 0 .4em;
- margin: 0 .1em;
+ padding-block: 0;
+ padding-inline: .4em;
+ margin-block: 0;
+ margin-inline: .1em;
}
}
}
diff --git a/src/components/side_drawer/side_drawer.vue b/src/components/side_drawer/side_drawer.vue
index 86943e27..1c6a3a1b 100644
--- a/src/components/side_drawer/side_drawer.vue
+++ b/src/components/side_drawer/side_drawer.vue
@@ -226,10 +226,10 @@
.side-drawer-container {
position: fixed;
z-index: 1000;
- top: 0;
- left: 0;
- width: 100%;
- height: 100%;
+ inset-block-start: 0;
+ inset-inline-start: 0;
+ inline-size: 100%;
+ block-size: 100%;
display: flex;
align-items: stretch;
transition-duration: 0s;
@@ -246,10 +246,10 @@
}
.side-drawer-darken {
- top: 0;
- left: 0;
- width: 100vw;
- height: 100vh;
+ inset-block-start: 0;
+ inset-inline-start: 0;
+ inline-size: 100vi;
+ block-size: 100vb;
position: fixed;
z-index: -1;
transition: 0.35s;
@@ -270,10 +270,12 @@
transition-timing-function: cubic-bezier(0, 1, 0.5, 1);
transition: 0.35s;
transition-property: transform;
- margin: 0 0 0 -100px;
- padding: 0 0 1em 100px;
- width: 80%;
- max-width: 20em;
+ margin-block: 0 0;
+ margin-inline: -100px 0;
+ padding-block: 0 1em;
+ padding-inline: 100px 0;
+ inline-size: 80%;
+ max-inline-size: 20em;
flex: 0 0 80%;
box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
box-shadow: var(--panelShadow);
@@ -287,7 +289,7 @@
--icon: var(--popoverIcon, $fallback--icon);
.badge {
- margin-left: 10px;
+ margin-inline-start: 10px;
}
}
@@ -298,8 +300,8 @@
img {
flex: none;
- height: 50px;
- margin-right: 0.85em;
+ block-size: 50px;
+ margin-inline-end: 0.85em;
}
span {
@@ -331,7 +333,7 @@
margin: 0;
padding: 0;
- border-bottom: 1px solid;
+ border-block-end: 1px solid;
border-color: $fallback--border;
border-color: var(--border, $fallback--border);
}
@@ -346,9 +348,10 @@
a, button {
box-sizing: border-box;
display: block;
- height: 3em;
+ block-size: 3em;
line-height: 3em;
- padding: 0 0.7em;
+ padding-block: 0;
+ padding-inline: 0.7em;
&:hover {
background-color: $fallback--lightBg;
diff --git a/src/components/staff_panel/staff_panel.vue b/src/components/staff_panel/staff_panel.vue
index c52ade42..02633a48 100644
--- a/src/components/staff_panel/staff_panel.vue
+++ b/src/components/staff_panel/staff_panel.vue
@@ -29,11 +29,11 @@
diff --git a/src/components/status_popover/status_popover.vue b/src/components/status_popover/status_popover.vue
index fdca8c9c..6ba55931 100644
--- a/src/components/status_popover/status_popover.vue
+++ b/src/components/status_popover/status_popover.vue
@@ -43,8 +43,8 @@
/* popover styles load on-demand, so we need to override */
.status-popover.popover {
font-size: 1rem;
- min-width: 15em;
- max-width: 95%;
+ min-inline-size: 15em;
+ max-inline-size: 95%;
border-color: $fallback--border;
border-color: var(--border, $fallback--border);
diff --git a/src/components/sticker_picker/sticker_picker.vue b/src/components/sticker_picker/sticker_picker.vue
index bca1588c..99d0eec5 100644
--- a/src/components/sticker_picker/sticker_picker.vue
+++ b/src/components/sticker_picker/sticker_picker.vue
@@ -35,13 +35,14 @@
@import '../../_variables.scss';
.sticker-picker {
- width: 100%;
+ inline-size: 100%;
display: flex;
flex-direction: column;
position: absolute;
- right: 0;
- left: 0;
- margin: 0 !important;
+ inset-inline-end: 0;
+ inset-inline-start: 0;
+ margin-block: 0;
+ margin-inline: !important;
background-color: $fallback--bg;
background-color: var(--popover, $fallback--bg);
color: $fallback--link;
@@ -53,19 +54,20 @@
--icon: var(--popoverIcon, $fallback--icon);
.contents {
- min-height: 250px;
+ min-block-size: 250px;
.sticker-picker-content {
display: flex;
flex-wrap: wrap;
- padding: 0 4px;
+ padding-block: 0;
+ padding-inline: 4px;
.sticker {
display: flex;
flex: 1 1 auto;
margin: 4px;
- width: 56px;
- height: 56px;
+ inline-size: 56px;
+ block-size: 56px;
img {
- height: 100%;
+ block-size: 100%;
&:hover {
filter: drop-shadow(0 0 5px var(--accent, $fallback--link));
}
diff --git a/src/components/still-image/still-image.vue b/src/components/still-image/still-image.vue
index fa3edacf..c8bdfd4b 100644
--- a/src/components/still-image/still-image.vue
+++ b/src/components/still-image/still-image.vue
@@ -37,19 +37,19 @@
canvas {
position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
- width: 100%;
- height: 100%;
+ inset-block-start: 0;
+ inset-block-end: 0;
+ inset-inline-start: 0;
+ inset-inline-end: 0;
+ inline-size: 100%;
+ block-size: 100%;
object-fit: contain;
visibility: var(--_still-image-canvas-visibility, visible);
}
img {
- width: 100%;
- height: 100%;
+ inline-size: 100%;
+ block-size: 100%;
object-fit: contain;
&::before {
@@ -64,12 +64,13 @@
position: absolute;
line-height: 1;
font-size: 0.7em;
- top: 0.5em;
- left: 0.5em;
+ inset-block-start: 0.5em;
+ inset-inline-start: 0.5em;
background: rgba(127, 127, 127, 0.5);
color: #fff;
display: block;
- padding: 2px 4px;
+ padding-block: 2px;
+ padding-inline: 4px;
border-radius: $fallback--tooltipRadius;
border-radius: var(--tooltipRadius, $fallback--tooltipRadius);
z-index: 2;
diff --git a/src/components/tab_switcher/tab_switcher.scss b/src/components/tab_switcher/tab_switcher.scss
index 7a086b26..1c0da993 100644
--- a/src/components/tab_switcher/tab_switcher.scss
+++ b/src/components/tab_switcher/tab_switcher.scss
@@ -4,7 +4,8 @@
display: flex;
.tab-icon {
- margin: 0.2em auto;
+ margin-block: 0.2em;
+ margin-inline: auto;
display: block;
}
@@ -12,39 +13,39 @@
flex-direction: column;
> .tabs {
- width: 100%;
+ inline-size: 100%;
overflow-y: hidden;
overflow-x: auto;
- padding-top: 5px;
+ padding-block-start: 5px;
flex-direction: row;
&::after, &::before {
content: '';
flex: 1 1 auto;
- border-bottom: 1px solid;
- border-bottom-color: $fallback--border;
- border-bottom-color: var(--border, $fallback--border);
+ border-block-end: 1px solid;
+ border-block-end-color: $fallback--border;
+ border-block-end-color: var(--border, $fallback--border);
}
.tab-wrapper {
- height: 2em;
+ block-size: 2em;
&:not(.active)::after {
- left: 0;
- right: 0;
- bottom: 0;
- border-bottom: 1px solid;
- border-bottom-color: $fallback--border;
- border-bottom-color: var(--border, $fallback--border);
+ inset-inline-start: 0;
+ inset-inline-end: 0;
+ inset-block-end: 0;
+ border-block-end: 1px solid;
+ border-block-end-color: $fallback--border;
+ border-block-end-color: var(--border, $fallback--border);
}
}
.tab {
- width: 100%;
- min-width: 1px;
- border-bottom-left-radius: 0;
- border-bottom-right-radius: 0;
- padding-bottom: 99px;
- margin-bottom: 6px - 99px;
+ inline-size: 100%;
+ min-inline-size: 1px;
+ border-end-start-radius: 0;
+ border-end-end-radius: 0;
+ padding-block-end: 99px;
+ margin-block-end: 6px - 99px;
}
}
.contents.scrollable-tabs {
@@ -73,9 +74,9 @@
flex-shrink: 0;
flex-basis: .5em;
content: '';
- border-right: 1px solid;
- border-right-color: $fallback--border;
- border-right-color: var(--border, $fallback--border);
+ border-inline-end: 1px solid;
+ border-inline-end-color: $fallback--border;
+ border-inline-end-color: var(--border, $fallback--border);
}
&::after {
@@ -87,53 +88,53 @@
}
.tab-wrapper {
- min-width: 10em;
+ min-inline-size: 10em;
display: flex;
flex-direction: column;
@media all and (max-width: 800px) {
- min-width: 4em;
+ min-inline-size: 4em;
}
&:not(.active)::after {
- top: 0;
- right: 0;
- bottom: 0;
- border-right: 1px solid;
- border-right-color: $fallback--border;
- border-right-color: var(--border, $fallback--border);
+ inset-block-start: 0;
+ inset-inline-end: 0;
+ inset-block-end: 0;
+ border-inline-end: 1px solid;
+ border-inline-end-color: $fallback--border;
+ border-inline-end-color: var(--border, $fallback--border);
}
&::before {
flex: 0 0 6px;
content: '';
- border-right: 1px solid;
- border-right-color: $fallback--border;
- border-right-color: var(--border, $fallback--border);
+ border-inline-end: 1px solid;
+ border-inline-end-color: $fallback--border;
+ border-inline-end-color: var(--border, $fallback--border);
}
&:last-child .tab {
- margin-bottom: 0;
+ margin-block-end: 0;
}
}
.tab {
flex: 1;
box-sizing: content-box;
- min-width: 10em;
- min-width: 1px;
- border-top-right-radius: 0;
- border-bottom-right-radius: 0;
- padding-left: 1em;
- padding-right: calc(1em + 200px);
- margin-right: -200px;
- margin-left: 1em;
+ min-inline-size: 10em;
+ min-inline-size: 1px;
+ border-start-end-radius: 0;
+ border-end-end-radius: 0;
+ padding-inline-start: 1em;
+ padding-inline-end: calc(1em + 200px);
+ margin-inline-end: -200px;
+ margin-inline-start: 1em;
@media all and (max-width: 800px) {
- padding-left: .25em;
- padding-right: calc(.25em + 200px);
- margin-right: calc(.25em - 200px);
- margin-left: .25em;
+ padding-inline-start: .25em;
+ padding-inline-end: calc(.25em + 200px);
+ margin-inline-end: calc(.25em - 200px);
+ margin-inline-start: .25em;
.text {
display: none
}
@@ -144,13 +145,13 @@
.contents {
flex: 1 0 auto;
- min-height: 0px;
+ min-block-size: 0px;
.hidden {
display: none;
}
.full-height:not(.hidden) {
- height: 100%;
+ block-size: 100%;
display: flex;
flex-direction: column;
> *:not(.mobile-label) {
@@ -166,7 +167,8 @@
.tab {
position: relative;
white-space: nowrap;
- padding: 6px 1em;
+ padding-block: 6px;
+ padding-inline: 1em;
&:not(.active) {
z-index: 4;
@@ -184,9 +186,9 @@
}
img {
- max-height: 26px;
+ max-block-size: 26px;
vertical-align: top;
- margin-top: -5px;
+ margin-block-start: -5px;
}
}
@@ -216,12 +218,12 @@
}
.mobile-label {
- padding-left: .3em;
- padding-bottom: .25em;
- margin-top: .5em;
- margin-left: .2em;
- margin-bottom: .25em;
- border-bottom: 1px solid var(--border, $fallback--border);
+ padding-inline-start: .3em;
+ padding-block-end: .25em;
+ margin-block-start: .5em;
+ margin-inline-start: .2em;
+ margin-block-end: .25em;
+ border-block-end: 1px solid var(--border, $fallback--border);
@media all and (min-width: 800px) {
display: none;
diff --git a/src/components/thread_tree/thread_tree.vue b/src/components/thread_tree/thread_tree.vue
index 4eaf597d..d2589008 100644
--- a/src/components/thread_tree/thread_tree.vue
+++ b/src/components/thread_tree/thread_tree.vue
@@ -121,8 +121,8 @@
diff --git a/src/components/timeline_menu_tabs/timeline_menu_content.vue b/src/components/timeline_menu_tabs/timeline_menu_content.vue
index 32548c49..46ece2b5 100644
--- a/src/components/timeline_menu_tabs/timeline_menu_content.vue
+++ b/src/components/timeline_menu_tabs/timeline_menu_content.vue
@@ -106,9 +106,9 @@
.timeline-desc {
text-decoration: none;
color: var(--text, $fallback--text);
- padding-left: 1em;
+ padding-inline-start: 1em;
display: block;
background-color: scale(var(--bg, $fallback--bg), 0.1);
- padding-bottom: 0.4em;
+ padding-block-end: 0.4em;
}
diff --git a/src/components/timeline_menu_tabs/timeline_menu_tabs.vue b/src/components/timeline_menu_tabs/timeline_menu_tabs.vue
index f017fa1f..aac486f1 100644
--- a/src/components/timeline_menu_tabs/timeline_menu_tabs.vue
+++ b/src/components/timeline_menu_tabs/timeline_menu_tabs.vue
@@ -60,14 +60,14 @@
.timeline-menu-tabs {
.nav-icon {
- margin-left: 0.7em;
- width: 2em;
- height: 100%;
+ margin-inline-start: 0.7em;
+ inline-size: 2em;
+ block-size: 100%;
text-align: center;
&.router-link-active {
- border-bottom: 2px solid var(--selectedMenuText, $fallback--text);
- padding-bottom: 0.8em;
+ border-block-end: 2px solid var(--selectedMenuText, $fallback--text);
+ padding-block-end: 0.8em;
.svg-inline--fa {
font-weight: bolder;
@@ -79,7 +79,7 @@
}
.timeline-title {
- margin-left: 1em;
+ margin-inline-start: 1em;
font-size: 1.2em;
font-weight: bold;
color: var(--selectedMenuText, $fallback--text);
diff --git a/src/components/user_avatar/user_avatar.vue b/src/components/user_avatar/user_avatar.vue
index f4d294df..ff742823 100644
--- a/src/components/user_avatar/user_avatar.vue
+++ b/src/components/user_avatar/user_avatar.vue
@@ -37,19 +37,19 @@
display: inline-block;
position: relative;
- width: 48px;
- height: 48px;
+ inline-size: 48px;
+ block-size: 48px;
&.-compact {
- width: 32px;
- height: 32px;
+ inline-size: 32px;
+ block-size: 32px;
border-radius: $fallback--avatarAltRadius;
border-radius: var(--avatarAltRadius, $fallback--avatarAltRadius);
}
.avatar {
- width: 100%;
- height: 100%;
+ inline-size: 100%;
+ block-size: 100%;
box-shadow: var(--_avatarShadowBox);
border-radius: $fallback--avatarRadius;
border-radius: var(--avatarRadius, $fallback--avatarRadius);
@@ -75,14 +75,14 @@
}
img {
- width: 100%;
- height: 100%;
+ inline-size: 100%;
+ block-size: 100%;
}
.bot-indicator {
position: absolute;
- bottom: 0;
- right: 0;
+ inset-block-end: 0;
+ inset-inline-end: 0;
margin: -0.2em;
padding: 0.2em;
background: rgba(127, 127, 127, 0.5);
diff --git a/src/components/user_card/user_card.js b/src/components/user_card/user_card.js
index f7bff63f..e3c6b816 100644
--- a/src/components/user_card/user_card.js
+++ b/src/components/user_card/user_card.js
@@ -49,7 +49,7 @@ export default {
},
classes () {
return [{
- 'user-card-rounded-t': this.rounded === 'top', // set border-top-left-radius and border-top-right-radius
+ 'user-card-rounded-t': this.rounded === 'top', // set border-start-start-radius and border-start-end-radius
'user-card-rounded': this.rounded === true, // set border-radius for all sides
'user-card-bordered': this.bordered === true // set border for all sides
}]
diff --git a/src/components/user_card/user_card.scss b/src/components/user_card/user_card.scss
index 07ab7bec..2c27b9d3 100644
--- a/src/components/user_card/user_card.scss
+++ b/src/components/user_card/user_card.scss
@@ -11,7 +11,8 @@
}
.panel-heading {
- padding: .5em 0;
+ padding-block: .5em;
+ padding-inline: 0;
text-align: center;
box-shadow: none;
background: transparent;
@@ -23,18 +24,18 @@
.panel-body {
word-wrap: break-word;
- border-bottom-right-radius: inherit;
- border-bottom-left-radius: inherit;
+ border-end-end-radius: inherit;
+ border-end-start-radius: inherit;
// create new stacking context
position: relative;
}
.background-image {
position: absolute;
- top: 0;
- left: 0;
- right: 0;
- bottom: 0;
+ inset-block-start: 0;
+ inset-inline-start: 0;
+ inset-inline-end: 0;
+ inset-block-end: 0;
mask: linear-gradient(to top, white, transparent) bottom no-repeat,
linear-gradient(to top, white, white);
// Autoprefixer seem to ignore this one, and also syntax is different
@@ -42,8 +43,8 @@
mask-composite: exclude;
background-size: cover;
mask-size: 100% 60%;
- border-top-left-radius: calc(var(--panelRadius) - 1px);
- border-top-right-radius: calc(var(--panelRadius) - 1px);
+ border-start-start-radius: calc(var(--panelRadius) - 1px);
+ border-start-end-radius: calc(var(--panelRadius) - 1px);
background-color: var(--profileBg);
z-index: -2;
@@ -67,18 +68,18 @@
img {
object-fit: contain;
vertical-align: middle;
- max-width: 100%;
- max-height: 400px;
+ max-inline-size: 100%;
+ max-block-size: 400px;
}
}
// Modifiers
&-rounded-t {
- border-top-left-radius: $fallback--panelRadius;
- border-top-left-radius: var(--panelRadius, $fallback--panelRadius);
- border-top-right-radius: $fallback--panelRadius;
- border-top-right-radius: var(--panelRadius, $fallback--panelRadius);
+ border-start-start-radius: $fallback--panelRadius;
+ border-start-start-radius: var(--panelRadius, $fallback--panelRadius);
+ border-start-end-radius: $fallback--panelRadius;
+ border-start-end-radius: var(--panelRadius, $fallback--panelRadius);
}
&-rounded {
@@ -97,17 +98,19 @@
.user-info {
color: $fallback--lightText;
color: var(--lightText, $fallback--lightText);
- padding: 0 26px;
+ padding-block: 0;
+ padding-inline: 26px;
.container {
- min-width: 0;
- padding: 16px 0 6px;
+ min-inline-size: 0;
+ padding-block: 16px 6px;
+ padding-inline: 0;
display: flex;
align-items: flex-start;
- max-height: 56px;
+ max-block-size: 56px;
> * {
- min-width: 0;
+ min-inline-size: 0;
}
.Avatar {
@@ -116,8 +119,8 @@
--_avatarShadowInset: var(--avatarShadowInset);
flex: 1 0 100%;
- width: 56px;
- height: 56px;
+ inline-size: 56px;
+ block-size: 56px;
object-fit: cover;
}
}
@@ -128,10 +131,10 @@
&-overlay {
position: absolute;
- left: 0;
- top: 0;
- right: 0;
- bottom: 0;
+ inset-inline-start: 0;
+ inset-block-start: 0;
+ inset-inline-end: 0;
+ inset-block-end: 0;
background-color: rgba(0, 0, 0, 0.3);
display: flex;
justify-content: center;
@@ -153,10 +156,12 @@
.external-link-button, .edit-profile-button {
cursor: pointer;
- width: 2.5em;
+ inline-size: 2.5em;
text-align: center;
- margin: -0.5em 0;
- padding: 0.5em 0;
+ margin-block: -0.5em;
+ margin-inline: 0;
+ padding-block: 0.5em;
+ padding-inline: 0;
&:not(:hover) .icon {
color: $fallback--lightText;
@@ -166,8 +171,8 @@
.user-summary {
display: block;
- margin-left: 0.6em;
- text-align: left;
+ margin-inline-start: 0.6em;
+ text-align: start;
text-overflow: ellipsis;
white-space: nowrap;
flex: 1 1 0;
@@ -188,7 +193,7 @@
text-overflow: ellipsis;
overflow: hidden;
flex: 1 1 auto;
- margin-right: 1em;
+ margin-inline-end: 1em;
font-size: 1.1em;
}
@@ -198,11 +203,11 @@
align-items: baseline;
.lock-icon {
- margin-left: 0.5em;
+ margin-inline-start: 0.5em;
}
.user-screen-name {
- min-width: 1px;
+ min-inline-size: 1px;
flex: 0 1 auto;
text-overflow: ellipsis;
overflow: hidden;
@@ -211,9 +216,9 @@
}
.dailyAvg {
- min-width: 1px;
+ min-inline-size: 1px;
flex: 0 0 auto;
- margin-left: 1em;
+ margin-inline-start: 1em;
font-size: 0.7em;
color: $fallback--text;
color: var(--text, $fallback--text);
@@ -229,7 +234,7 @@
}
.user-meta {
- margin-bottom: .15em;
+ margin-block-end: .15em;
display: flex;
align-items: baseline;
line-height: 22px;
@@ -238,30 +243,31 @@
.following, .requested_by {
flex: 1 0 auto;
margin: 0;
- margin-bottom: .25em;
- text-align: left;
+ margin-block-end: .25em;
+ text-align: start;
}
.highlighter {
flex: 0 1 auto;
display: flex;
flex-wrap: wrap;
- margin-right: -.5em;
+ margin-inline-end: -.5em;
align-self: start;
.userHighlightCl {
- padding: 2px 10px;
+ padding-block: 2px;
+ padding-inline: 10px;
flex: 1 0 auto;
}
.userHighlightSel {
- padding-top: 0;
- padding-bottom: 0;
+ padding-block-start: 0;
+ padding-block-end: 0;
flex: 1 0 auto;
}
.userHighlightText {
- width: 70px;
+ inline-size: 70px;
flex: 1 0 auto;
}
@@ -269,8 +275,8 @@
.userHighlightText,
.userHighlightSel {
vertical-align: top;
- margin-right: .5em;
- margin-bottom: .25em;
+ margin-inline-end: .5em;
+ margin-block-end: .25em;
}
}
}
@@ -278,12 +284,13 @@
position: relative;
display: flex;
flex-flow: row wrap;
- margin-right: -.75em;
+ margin-inline-end: -.75em;
> * {
- margin: 0 .75em .6em 0;
+ margin-block: 0 .6em;
+ margin-inline: 0 .75em;
white-space: nowrap;
- min-width: 95px;
+ min-inline-size: 95px;
}
button {
@@ -299,7 +306,8 @@
.user-counts {
display: flex;
line-height:16px;
- padding: .5em 1.5em 0em 1.5em;
+ padding-block: .5em 0em;
+ padding-inline: 1.5em 1.5em;
text-align: center;
justify-content: space-between;
color: $fallback--lightText;
@@ -309,13 +317,16 @@
.user-count {
flex: 1 0 auto;
- padding: .5em 0 .5em 0;
- margin: 0 .5em;
+ padding-block: .5em .5em;
+ padding-inline: 0 0;
+ margin-block: 0;
+ margin-inline: .5em;
h5 {
font-size:1em;
font-weight: bolder;
- margin: 0 0 0.25em;
+ margin-block: 0 0.25em;
+ margin-inline: 0;
}
a {
text-decoration: none;
diff --git a/src/components/user_card/user_card.vue b/src/components/user_card/user_card.vue
index 2eefbad8..543d9062 100644
--- a/src/components/user_card/user_card.vue
+++ b/src/components/user_card/user_card.vue
@@ -8,7 +8,7 @@
:style="style"
class="background-image"
/>
-
+
@@ -181,17 +181,18 @@
--currentPanelStack: 1;
.user-profile-fields {
- margin: 0 0.5em;
+ margin-block: 0;
+ margin-inline: 0.5em;
img {
object-fit: contain;
vertical-align: middle;
- max-width: 100%;
- max-height: 400px;
+ max-inline-size: 100%;
+ max-block-size: 400px;
&.emoji {
- width: 18px;
- height: 18px;
+ inline-size: 18px;
+ block-size: 18px;
}
}
@@ -205,16 +206,17 @@
.user-profile-field-name {
flex: 0 1 30%;
font-weight: 500;
- text-align: right;
+ text-align: end;
color: var(--lightText);
- min-width: 120px;
- border-right: 1px solid var(--border, $fallback--border);
+ min-inline-size: 120px;
+ border-inline-end: 1px solid var(--border, $fallback--border);
}
.user-profile-field-value {
flex: 1 1 70%;
color: var(--text);
- margin: 0 0 0 0.25em;
+ margin-block: 0 0;
+ margin-inline: 0.25em 0;
}
.user-profile-field-name, .user-profile-field-value {
@@ -222,7 +224,8 @@
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
- padding: 0.5em 1.5em;
+ padding-block: 0.5em;
+ padding-inline: 1.5em;
box-sizing: border-box;
}
}
@@ -237,17 +240,19 @@
.note {
position: relative;
- margin: 0.5em 0.75em;
+ margin-block: 0.5em;
+ margin-inline: 0.75em;
textarea {
- width: 100%;
+ inline-size: 100%;
}
.preview-spinner {
position: absolute;
- top: 0;
- right: 0;
- margin: 0.5em 0.25em;
+ inset-block-start: 0;
+ inset-inline-end: 0;
+ margin-block: 0.5em;
+ margin-inline: 0.25em;
}
}
}
diff --git a/src/components/user_reporting_modal/user_reporting_modal.vue b/src/components/user_reporting_modal/user_reporting_modal.vue
index 030ce2c4..6792a10b 100644
--- a/src/components/user_reporting_modal/user_reporting_modal.vue
+++ b/src/components/user_reporting_modal/user_reporting_modal.vue
@@ -71,53 +71,56 @@
@import '../../_variables.scss';
.user-reporting-panel {
- width: 90vw;
- max-width: 700px;
- min-height: 20vh;
- max-height: 80vh;
+ inline-size: 90vi;
+ max-inline-size: 700px;
+ min-block-size: 20vb;
+ max-block-size: 80vb;
.panel-body {
display: flex;
flex-direction: column-reverse;
- border-top: 1px solid;
+ border-block-start: 1px solid;
border-color: $fallback--border;
border-color: var(--border, $fallback--border);
overflow: hidden;
}
&-left {
- padding: 1.1em 0.7em 0.7em;
+ padding-block: 1.1em 0.7em;
+ padding-inline: 0.7em;
line-height: var(--post-line-height);
box-sizing: border-box;
> div {
- margin-bottom: 1em;
+ margin-block-end: 1em;
&:last-child {
- margin-bottom: 0;
+ margin-block-end: 0;
}
}
p {
- margin-top: 0;
+ margin-block-start: 0;
}
textarea.form-control {
line-height: 16px;
resize: none;
overflow: hidden;
- transition: min-height 200ms 100ms;
- min-height: 44px;
- width: 100%;
+ transition: min-block-size 200ms 100ms;
+ min-block-size: 44px;
+ inline-size: 100%;
}
.btn {
- min-width: 10em;
- padding: 0 2em;
+ min-inline-size: 10em;
+ padding-block: 0;
+ padding-inline: 2em;
}
.alert {
- margin: 1em 0 0 0;
+ margin-block: 1em 0;
+ margin-inline: 0 0;
line-height: 1.3em;
}
}
@@ -148,22 +151,22 @@
}
&-left {
- width: 50%;
- max-width: 320px;
- border-right: 1px solid;
+ inline-size: 50%;
+ max-inline-size: 320px;
+ border-inline-end: 1px solid;
border-color: $fallback--border;
border-color: var(--border, $fallback--border);
padding: 1.1em;
> div {
- margin-bottom: 2em;
+ margin-block-end: 2em;
}
}
&-right {
- width: 50%;
+ inline-size: 50%;
flex: 1 1 auto;
- margin-bottom: 12px;
+ margin-block-end: 12px;
}
}
}
diff --git a/src/components/who_to_follow_panel/who_to_follow_panel.vue b/src/components/who_to_follow_panel/who_to_follow_panel.vue
index 518acd97..b56a924b 100644
--- a/src/components/who_to_follow_panel/who_to_follow_panel.vue
+++ b/src/components/who_to_follow_panel/who_to_follow_panel.vue
@@ -34,11 +34,12 @@
vertical-align: middle;
}
.who-to-follow img {
- width: 32px;
- height: 32px;
+ inline-size: 32px;
+ block-size: 32px;
}
.who-to-follow {
- padding: 0em 1em;
+ padding-block: 0em;
+ padding-inline: 1em;
margin: 0px;
}
.who-to-follow-items {
@@ -46,11 +47,13 @@
overflow: hidden;
text-overflow: ellipsis;
padding: 0px;
- margin: 1em 0em;
+ margin-block: 1em;
+ margin-inline: 0em;
}
.who-to-follow-more {
padding: 0px;
- margin: 1em 0em;
+ margin-block: 1em;
+ margin-inline: 0em;
text-align: center;
}
diff --git a/src/hocs/with_load_more/with_load_more.scss b/src/hocs/with_load_more/with_load_more.scss
index de86ed4a..ffb80849 100644
--- a/src/hocs/with_load_more/with_load_more.scss
+++ b/src/hocs/with_load_more/with_load_more.scss
@@ -5,9 +5,9 @@
&-footer {
padding: 10px;
text-align: center;
- border-top: 1px solid;
- border-top-color: $fallback--border;
- border-top-color: var(--border, $fallback--border);
+ border-block-start: 1px solid;
+ border-block-start-color: $fallback--border;
+ border-block-start-color: var(--border, $fallback--border);
.error {
font-size: 1rem;
diff --git a/src/panel.scss b/src/panel.scss
index 3a814269..9211bf2a 100644
--- a/src/panel.scss
+++ b/src/panel.scss
@@ -14,10 +14,10 @@
&::after {
content: '';
position: absolute;
- top: 0;
- bottom: 0;
- left: 0;
- right: 0;
+ inset-block-start: 0;
+ inset-block-end: 0;
+ inset-inline-start: 0;
+ inset-inline-end: 0;
z-index: 5;
box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.6);
box-shadow: var(--panelShadow);
@@ -44,9 +44,9 @@
.panel-heading,
.panel-footer {
- --panel-heading-height-padding: 0.6em;
- --__panel-heading-height: 3.2em;
- --__panel-heading-height-inner: calc(var(--__panel-heading-height) - 2 * var(--panel-heading-height-padding));
+ --panel-heading-block-size-padding: 0.6em;
+ --__panel-heading-block-size: 3.2em;
+ --__panel-heading-block-size-inner: calc(var(--__panel-heading-block-size) - 2 * var(--panel-heading-block-size-padding));
position: relative;
box-sizing: border-box;
@@ -58,12 +58,12 @@
flex: none;
background-size: cover;
padding: 0.6em;
- height: var(--__panel-heading-height);
- line-height: var(--__panel-heading-height-inner);
+ block-size: var(--__panel-heading-block-size);
+ line-height: var(--__panel-heading-block-size-inner);
z-index: 4;
- &.-flexible-height {
- --__panel-heading-height: auto;
+ &.-flexible-block-size {
+ --__panel-heading-block-size: auto;
&::after,
&::before {
@@ -81,17 +81,17 @@
&.-sticky {
position: sticky;
- top: var(--navbar-height);
+ inset-block-start: var(--navbar-block-size);
}
&::after,
&::before {
content: '';
position: absolute;
- top: 0;
- bottom: 0;
- right: 0;
- left: 0;
+ inset-block-start: 0;
+ inset-block-end: 0;
+ inset-inline-end: 0;
+ inset-inline-start: 0;
pointer-events: none;
}
@@ -105,16 +105,16 @@
overflow-x: hidden;
}
- &:not(.-flexible-height) {
+ &:not(.-flexible-block-size) {
> .button-default,
> .alert {
- height: var(--__panel-heading-height-inner);
- min-height: 0;
+ block-size: var(--__panel-heading-block-size-inner);
+ min-block-size: 0;
box-sizing: border-box;
margin: 0;
- min-width: 1px;
- padding-top: 0;
- padding-bottom: 0;
+ min-inline-size: 1px;
+ padding-block-start: 0;
+ padding-block-end: 0;
align-self: stretch;
}
}
@@ -123,8 +123,14 @@
// TODO Should refactor panels into separate component and utilize slots
.panel-heading {
- border-radius: $fallback--panelRadius $fallback--panelRadius 0 0;
- border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0;
+ border-start-start-radius: $fallback--panelRadius;
+ border-start-end-radius: $fallback--panelRadius;
+ border-end-start-radius: 0;
+ border-end-end-radius: 0;
+ border-start-start-radius: var(--panelRadius, $fallback--panelRadius);
+ border-start-end-radius: var(--panelRadius, $fallback--panelRadius);
+ border-end-start-radius: 0;
+ border-end-end-radius: 0;
border-width: 0 0 1px 0;
align-items: start;
// panel theme
@@ -136,8 +142,14 @@
background-color: $fallback--fg;
background-color: var(--panel, $fallback--fg);
z-index: -2;
- border-radius: $fallback--panelRadius $fallback--panelRadius 0 0;
- border-radius: var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius) 0 0;
+ border-start-start-radius: $fallback--panelRadius;
+ border-start-end-radius: $fallback--panelRadius;
+ border-end-start-radius: 0;
+ border-end-end-radius: 0;
+ border-start-start-radius: var(--panelRadius, $fallback--panelRadius);
+ border-start-end-radius: var(--panelRadius, $fallback--panelRadius);
+ border-end-start-radius: 0;
+ border-end-end-radius: 0;
box-shadow: var(--panelHeaderShadow);
}
@@ -158,7 +170,7 @@
color: var(--faintLink, $fallback--faint);
}
- &:not(.-flexible-height) {
+ &:not(.-flexible-block-size) {
> .button-default {
flex-shrink: 0;
@@ -189,8 +201,14 @@
}
.panel-footer {
- border-radius: 0 0 $fallback--panelRadius $fallback--panelRadius;
- border-radius: 0 0 var(--panelRadius, $fallback--panelRadius) var(--panelRadius, $fallback--panelRadius);
+ border-start-start-radius: 0;
+ border-start-end-radius: 0;
+ border-end-start-radius: $fallback--panelRadius;
+ border-end-end-radius: $fallback--panelRadius;
+ border-start-start-radius: 0;
+ border-start-end-radius: 0;
+ border-end-start-radius: var(--panelRadius, $fallback--panelRadius);
+ border-end-end-radius: var(--panelRadius, $fallback--panelRadius);
align-items: center;
border-width: 1px 0 0 0;
border-style: solid;