diff --git a/package.json b/package.json index a09fe546e..210f916ab 100644 --- a/package.json +++ b/package.json @@ -103,9 +103,10 @@ "sinon-chai": "3.7.0", "stylelint": "16.17.0", "stylelint-config-html": "^1.1.0", + "stylelint-config-recommended": "^14.0.0", "stylelint-config-recommended-scss": "^14.0.0", - "stylelint-config-recommended-vue": "^1.4.0", - "stylelint-config-standard": "29.0.0", + "stylelint-config-recommended-vue": "^1.6.0", + "stylelint-config-standard": "37.0.0", "vite": "^6.1.0", "vite-plugin-eslint2": "^5.0.3", "vite-plugin-stylelint": "^6.0.0", diff --git a/src/components/component_preview/component_preview.vue b/src/components/component_preview/component_preview.vue index 6aee90a2d..48d5b53a4 100644 --- a/src/components/component_preview/component_preview.vue +++ b/src/components/component_preview/component_preview.vue @@ -190,20 +190,15 @@ export default { .header { grid-area: header; - justify-self: center; - align-self: baseline; + place-self: baseline center; line-height: 2; } .invalid-container { position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; + inset: 0; display: grid; - align-items: center; - justify-items: center; + place-items: center center; background-color: rgba(100 0 0 / 50%); .alert { diff --git a/src/components/conversation/conversation.vue b/src/components/conversation/conversation.vue index f1206e644..c37a2ca26 100644 --- a/src/components/conversation/conversation.vue +++ b/src/components/conversation/conversation.vue @@ -322,10 +322,7 @@ content: ""; display: block; position: absolute; - top: calc(var(--___margin) * -1); - bottom: calc(var(--___margin) * -1); - left: calc(var(--___margin) * -1); - right: calc(var(--___margin) * -1); + inset: calc(var(--___margin) * -1); background: var(--background); backdrop-filter: var(--__panel-backdrop-filter); } diff --git a/src/components/dialog_modal/dialog_modal.vue b/src/components/dialog_modal/dialog_modal.vue index 1eb88efb5..8d4148dfe 100644 --- a/src/components/dialog_modal/dialog_modal.vue +++ b/src/components/dialog_modal/dialog_modal.vue @@ -29,14 +29,11 @@ // TODO: unify with other modals. .dark-overlay { &::before { - bottom: 0; + inset: 0; content: " "; display: block; cursor: default; - left: 0; position: fixed; - right: 0; - top: 0; background: rgb(27 31 35 / 50%); z-index: 2000; } @@ -45,13 +42,9 @@ .dialog-container { display: grid; position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; + inset: 0; justify-content: center; - align-items: center; - justify-items: center; + place-items: center center; } .dialog-modal.panel { @@ -98,8 +91,7 @@ #modal.-mobile { .dialog-container { justify-content: stretch; - align-items: end; - justify-items: stretch; + place-items: end stretch; &.-center-mobile { align-items: center; diff --git a/src/components/draft/draft.vue b/src/components/draft/draft.vue index 7b0878112..9f8d8c14e 100644 --- a/src/components/draft/draft.vue +++ b/src/components/draft/draft.vue @@ -135,8 +135,7 @@ .poll-indicator-container { border-radius: var(--roundness); display: grid; - justify-items: center; - align-items: center; + place-items: center center; align-self: start; height: 0; padding-bottom: 62.5%; @@ -147,13 +146,9 @@ box-sizing: border-box; border: 1px solid var(--border); position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; + inset: 0; display: grid; - justify-items: center; - align-items: center; + place-items: center center; width: 100%; height: 100%; } diff --git a/src/components/emoji_input/emoji_input.vue b/src/components/emoji_input/emoji_input.vue index c90f079d9..f9788d874 100644 --- a/src/components/emoji_input/emoji_input.vue +++ b/src/components/emoji_input/emoji_input.vue @@ -159,10 +159,7 @@ opacity: 0; pointer-events: none; position: absolute; - top: 0; - bottom: 0; - right: 0; - left: 0; + inset: 0; overflow: hidden; /* DEBUG STUFF */ diff --git a/src/components/gallery/gallery.vue b/src/components/gallery/gallery.vue index 8ed318704..9ffbf41a0 100644 --- a/src/components/gallery/gallery.vue +++ b/src/components/gallery/gallery.vue @@ -101,10 +101,7 @@ .gallery-row-inner { position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; + inset: 0; display: flex; flex-flow: row wrap; align-content: stretch; diff --git a/src/components/mobile_nav/mobile_nav.vue b/src/components/mobile_nav/mobile_nav.vue index d5539ad89..eb950cba0 100644 --- a/src/components/mobile_nav/mobile_nav.vue +++ b/src/components/mobile_nav/mobile_nav.vue @@ -220,8 +220,7 @@ margin-top: 3.5em; width: 100vw; height: calc(100vh - var(--navbar-height)); - overflow-x: hidden; - overflow-y: scroll; + overflow: hidden scroll; .notifications { padding: 0; diff --git a/src/components/mobile_post_status_button/mobile_post_status_button.vue b/src/components/mobile_post_status_button/mobile_post_status_button.vue index ba77cb2d6..32079c298 100644 --- a/src/components/mobile_post_status_button/mobile_post_status_button.vue +++ b/src/components/mobile_post_status_button/mobile_post_status_button.vue @@ -42,7 +42,7 @@ } } -@media all and (min-width: 801px) { +@media all and (width >= 801px) { .new-status-button:not(.always-show) { display: none; } diff --git a/src/components/modal/modal.vue b/src/components/modal/modal.vue index 71a5dbb61..032e7dbeb 100644 --- a/src/components/modal/modal.vue +++ b/src/components/modal/modal.vue @@ -41,10 +41,7 @@ export default { .modal-view { z-index: var(--ZI_modals); position: fixed; - top: 0; - left: 0; - right: 0; - bottom: 0; + inset: 0; display: flex; justify-content: center; align-items: center; diff --git a/src/components/registration/registration.vue b/src/components/registration/registration.vue index d971ccb5e..f6b056e6b 100644 --- a/src/components/registration/registration.vue +++ b/src/components/registration/registration.vue @@ -418,7 +418,7 @@ margin: 0.6em; } -@media all and (max-width: 800px) { +@media all and (width <= 800px) { .registration-form .container { flex-direction: column-reverse; diff --git a/src/components/search/search.vue b/src/components/search/search.vue index 645a6fce8..4302f93f9 100644 --- a/src/components/search/search.vue +++ b/src/components/search/search.vue @@ -157,7 +157,7 @@ text-align: center; } -@media all and (max-width: 800px) { +@media all and (width <= 800px) { .search-nav-heading { .tab-switcher .tabs .tab-wrapper { display: block; diff --git a/src/components/settings_modal/tabs/theme_tab/theme_preview.vue b/src/components/settings_modal/tabs/theme_tab/theme_preview.vue index 4446c18b9..e8ac0d8a3 100644 --- a/src/components/settings_modal/tabs/theme_tab/theme_preview.vue +++ b/src/components/settings_modal/tabs/theme_tab/theme_preview.vue @@ -241,10 +241,7 @@ export default { .underlay-preview { position: absolute; - top: 0; - bottom: 0; - left: 10px; - right: 10px; + inset: 0 10px; } } diff --git a/src/components/shout_panel/shout_panel.vue b/src/components/shout_panel/shout_panel.vue index 67927df88..1b2b591c2 100644 --- a/src/components/shout_panel/shout_panel.vue +++ b/src/components/shout_panel/shout_panel.vue @@ -107,8 +107,7 @@ } .shout-window { - overflow-y: auto; - overflow-x: hidden; + overflow: hidden auto; max-height: 20em; } diff --git a/src/components/still-image/still-image.vue b/src/components/still-image/still-image.vue index 57633827e..4459ebd44 100644 --- a/src/components/still-image/still-image.vue +++ b/src/components/still-image/still-image.vue @@ -37,10 +37,7 @@ canvas { position: absolute; - top: 0; - bottom: 0; - left: 0; - right: 0; + inset: 0; width: 100%; height: 100%; object-fit: contain; diff --git a/src/components/user_reporting_modal/user_reporting_modal.vue b/src/components/user_reporting_modal/user_reporting_modal.vue index f0af7043b..0e93824b7 100644 --- a/src/components/user_reporting_modal/user_reporting_modal.vue +++ b/src/components/user_reporting_modal/user_reporting_modal.vue @@ -143,7 +143,7 @@ } } - @media all and (min-width: 801px) { + @media all and (width >= 801px) { .panel-body { flex-direction: row; } diff --git a/yarn.lock b/yarn.lock index ff27147b8..3eb4cdaa7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7232,7 +7232,7 @@ stylelint-config-recommended-scss@^14.0.0: stylelint-config-recommended "^14.0.1" stylelint-scss "^6.4.0" -stylelint-config-recommended-vue@^1.4.0: +stylelint-config-recommended-vue@^1.6.0: version "1.6.0" resolved "https://registry.yarnpkg.com/stylelint-config-recommended-vue/-/stylelint-config-recommended-vue-1.6.0.tgz#e5d34d9f11417922a24dbd21438c6c058843fa20" integrity sha512-syk1adIHvbH2T1OiR/spUK4oQy35PZIDw8Zmc7E0+eVK9Z9SK3tdMpGRT/bgGnAPpMt/WaL9K1u0tlF6xM0sMQ== @@ -7241,27 +7241,22 @@ stylelint-config-recommended-vue@^1.4.0: stylelint-config-html ">=1.0.0" stylelint-config-recommended ">=6.0.0" -stylelint-config-recommended@>=6.0.0: +stylelint-config-recommended@>=6.0.0, stylelint-config-recommended@^15.0.0: version "15.0.0" resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-15.0.0.tgz#93d48db401215708b724f078533864e52085a07b" integrity sha512-9LejMFsat7L+NXttdHdTq94byn25TD+82bzGRiV1Pgasl99pWnwipXS5DguTpp3nP1XjvLXVnEJIuYBfsRjRkA== -stylelint-config-recommended@^14.0.1: +stylelint-config-recommended@^14.0.0, stylelint-config-recommended@^14.0.1: version "14.0.1" resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-14.0.1.tgz#d25e86409aaf79ee6c6085c2c14b33c7e23c90c6" integrity sha512-bLvc1WOz/14aPImu/cufKAZYfXs/A/owZfSMZ4N+16WGXLoX5lOir53M6odBxvhgmgdxCVnNySJmZKx73T93cg== -stylelint-config-recommended@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-recommended/-/stylelint-config-recommended-9.0.0.tgz#1c9e07536a8cd875405f8ecef7314916d94e7e40" - integrity sha512-9YQSrJq4NvvRuTbzDsWX3rrFOzOlYBmZP+o513BJN/yfEmGSr0AxdvrWs0P/ilSpVV/wisamAHu5XSk8Rcf4CQ== - -stylelint-config-standard@29.0.0: - version "29.0.0" - resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-29.0.0.tgz#4cc0e0f05512a39bb8b8e97853247d3a95d66fa2" - integrity sha512-uy8tZLbfq6ZrXy4JKu3W+7lYLgRQBxYTUUB88vPgQ+ZzAxdrvcaSUW9hOMNLYBnwH+9Kkj19M2DHdZ4gKwI7tg== +stylelint-config-standard@37.0.0: + version "37.0.0" + resolved "https://registry.yarnpkg.com/stylelint-config-standard/-/stylelint-config-standard-37.0.0.tgz#55e75c7215d5398b096d2f75af6a16693c18532d" + integrity sha512-+6eBlbSTrOn/il2RlV0zYGQwRTkr+WtzuVSs1reaWGObxnxLpbcspCUYajVQHonVfxVw2U+h42azGhrBvcg8OA== dependencies: - stylelint-config-recommended "^9.0.0" + stylelint-config-recommended "^15.0.0" stylelint-scss@^6.4.0: version "6.11.1"