diff --git a/resources/css/app.css b/resources/css/app.css index eb2ac43cfaf..80243733de6 100644 --- a/resources/css/app.css +++ b/resources/css/app.css @@ -22,6 +22,7 @@ @import './tailwind-animate.css'; @source inline('bg-{slate,gray,zinc,neutral,stone,red,orange,amber,yellow,lime,green,emerald,teal,cyan,sky,blue,indigo,violet,purple,fuchsia,pink,rose}-{50,150,850,925,950,{100..900..100}}'); +@source inline('bg-checkerboard-{light,dark}'); @custom-variant dark (&:where(.dark, .dark *)); diff --git a/resources/css/components/assets.css b/resources/css/components/assets.css index 84cdc1d448f..90c615c2ecc 100644 --- a/resources/css/components/assets.css +++ b/resources/css/components/assets.css @@ -172,9 +172,8 @@ ========================================================================== */ .asset-editor { - .loading { - @apply absolute inset-0 flex items-center justify-center rounded-sm bg-white/70; + @apply absolute inset-0 flex items-center justify-center rounded-sm bg-gray-800 dark:bg-gray-900; z-index: var(--z-index-portal); } diff --git a/resources/css/core/utilities.css b/resources/css/core/utilities.css index 9f95efe8e51..d996abff0a6 100644 --- a/resources/css/core/utilities.css +++ b/resources/css/core/utilities.css @@ -333,35 +333,45 @@ /* UTILITIES / DECORATION / CHECKERBOARD =================================================== */ -@utility bg-checkerboard { + +:root { --checkerboard-light: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h12v12H0zm12 12h12v12H12z' fill='%23f3f4f6'/%3E%3C/svg%3E"); - --checkerboard-dark: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h12v12H0zm12 12h12v12H12z' fill='%23000000'/%3E%3C/svg%3E"); + --checkerboard-dark: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h12v12H0zm12 12h12v12H12z' fill='%230a0a0a'/%3E%3C/svg%3E"); + --checkerboard-dark-color: #1c1c1e; + --checkerboard-light-color: #fff; +} +@utility bg-checkerboard { position: relative; - background-color: #fff; &::before { - /* e.g. Asset field > Grid Mode */ border-radius: inherit; content: ''; position: absolute; inset: 0; - background-image: var(--checkerboard-light); - opacity: 0; transition: opacity 0.2s ease-in-out; pointer-events: none; + background-color: var(--checkerboard-light-color); + background-image: var(--checkerboard-light); } - &:hover::before { - opacity: 1; + .dark &::before { + background-color: var(--checkerboard-dark-color); + background-image: var(--checkerboard-dark); } +} - .dark & { - background-color: var(--color-gray-850); +@utility bg-checkerboard-light { + &::before { + background-color: var(--checkerboard-light-color) !important; + background-image: var(--checkerboard-light) !important; + } +} - &::before { - background-image: var(--checkerboard-dark); - } +@utility bg-checkerboard-dark { + &::before { + background-color: var(--checkerboard-dark-color) !important; + background-image: var(--checkerboard-dark) !important; } } diff --git a/resources/js/components/assets/Browser/Browser.vue b/resources/js/components/assets/Browser/Browser.vue index 7b44cf3390e..deb04499e31 100644 --- a/resources/js/components/assets/Browser/Browser.vue +++ b/resources/js/components/assets/Browser/Browser.vue @@ -98,23 +98,33 @@ /> - + - - +
+ + +
@@ -204,6 +216,7 @@ import { ToggleItem, } from '@ui'; import Breadcrumbs from './Breadcrumbs.vue'; +import useCheckerboard from '@/composables/checkerboard.js'; export default { mixins: [HasPreferences], @@ -261,6 +274,16 @@ export default { }, }, + setup() { + const checkerboard = useCheckerboard(); + return { + showCheckerboard: checkerboard.enabled, + checkerboardIcon: checkerboard.icon, + checkerboardMode: checkerboard.mode, + cycleCheckerboard: checkerboard.cycle, + }; + }, + data() { return { columns: this.initialColumns, diff --git a/resources/js/components/assets/Browser/Grid.vue b/resources/js/components/assets/Browser/Grid.vue index 6bfb28325e9..5a965fe22ee 100644 --- a/resources/js/components/assets/Browser/Grid.vue +++ b/resources/js/components/assets/Browser/Grid.vue @@ -1,5 +1,5 @@