diff --git a/.gitignore b/.gitignore index d6723a32..ff05ce71 100644 --- a/.gitignore +++ b/.gitignore @@ -2,6 +2,7 @@ # Dependencies & Logs # ------------------------- node_modules/ +.pnpm-store/ logs/ .yarn/* *.log diff --git a/packages/icons/src/assets/default/spinner.svg b/packages/icons/src/assets/default/spinner.svg index 8ef97004..5cd479c3 100644 --- a/packages/icons/src/assets/default/spinner.svg +++ b/packages/icons/src/assets/default/spinner.svg @@ -1,35 +1,21 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/packages/icons/src/assets/minimal/spinner.svg b/packages/icons/src/assets/minimal/spinner.svg index 8ef97004..5cd479c3 100644 --- a/packages/icons/src/assets/minimal/spinner.svg +++ b/packages/icons/src/assets/minimal/spinner.svg @@ -1,35 +1,21 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + diff --git a/packages/skins/src/default/css/components/buffering.css b/packages/skins/src/default/css/components/buffering.css index 347f58a0..169cc195 100644 --- a/packages/skins/src/default/css/components/buffering.css +++ b/packages/skins/src/default/css/components/buffering.css @@ -11,6 +11,10 @@ color: oklch(1 0 0); pointer-events: none; + &:not([data-visible]) { + --media-spinner-animation: none; + } + &[data-visible] { display: flex; } diff --git a/packages/skins/src/default/css/components/preview.css b/packages/skins/src/default/css/components/preview.css index 03bfafc8..0b7220c3 100644 --- a/packages/skins/src/default/css/components/preview.css +++ b/packages/skins/src/default/css/components/preview.css @@ -45,6 +45,12 @@ transition: opacity 150ms ease-out; } + &:not(:has(.media-preview__thumbnail[data-loading])) { + & .media-preview__spinner { + --media-spinner-animation: none; + } + } + &:has(.media-preview__thumbnail[data-loading]) { & .media-preview__thumbnail { opacity: 0; diff --git a/packages/skins/src/default/tailwind/components/buffering.ts b/packages/skins/src/default/tailwind/components/buffering.ts index 53951d92..8456873a 100644 --- a/packages/skins/src/default/tailwind/components/buffering.ts +++ b/packages/skins/src/default/tailwind/components/buffering.ts @@ -1,4 +1,4 @@ export const bufferingIndicator = { - root: 'absolute inset-0 hidden items-center justify-center pointer-events-none text-white data-visible:flex', + root: 'absolute inset-0 hidden items-center justify-center pointer-events-none text-white not-data-visible:[--media-spinner-animation:none] data-visible:flex', container: 'p-1 rounded-full', }; diff --git a/packages/skins/src/default/tailwind/components/preview.ts b/packages/skins/src/default/tailwind/components/preview.ts index 66713fcd..0c892334 100644 --- a/packages/skins/src/default/tailwind/components/preview.ts +++ b/packages/skins/src/default/tailwind/components/preview.ts @@ -13,6 +13,6 @@ export const preview = { spinner: cn( 'absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 opacity-0', 'transition-opacity duration-150 ease-out', - 'group-has-[[role=img][data-loading]]/preview:opacity-100' + 'group-not-has-[[role=img][data-loading]]/preview:[--media-spinner-animation:none] group-has-[[role=img][data-loading]]/preview:opacity-100' ), }; diff --git a/packages/skins/src/minimal/css/components/buffering.css b/packages/skins/src/minimal/css/components/buffering.css index 8fde1515..8849ca20 100644 --- a/packages/skins/src/minimal/css/components/buffering.css +++ b/packages/skins/src/minimal/css/components/buffering.css @@ -11,6 +11,10 @@ color: oklch(1 0 0); pointer-events: none; + &:not([data-visible]) { + --media-spinner-animation: none; + } + &[data-visible] { display: flex; } diff --git a/packages/skins/src/minimal/css/components/preview.css b/packages/skins/src/minimal/css/components/preview.css index c326f342..679a3b4d 100644 --- a/packages/skins/src/minimal/css/components/preview.css +++ b/packages/skins/src/minimal/css/components/preview.css @@ -37,6 +37,12 @@ transition: opacity 150ms ease-out; } + &:not(:has(.media-preview__thumbnail[data-loading])) { + & .media-preview__spinner { + --media-spinner-animation: none; + } + } + &:has(.media-preview__thumbnail[data-loading]) { & .media-preview__thumbnail { opacity: 0; diff --git a/packages/skins/src/minimal/tailwind/components/buffering.ts b/packages/skins/src/minimal/tailwind/components/buffering.ts index 7e5c9ad9..c3852bb8 100644 --- a/packages/skins/src/minimal/tailwind/components/buffering.ts +++ b/packages/skins/src/minimal/tailwind/components/buffering.ts @@ -1,2 +1,2 @@ export const bufferingIndicator = - 'absolute inset-0 hidden items-center justify-center pointer-events-none text-white data-visible:flex'; + 'absolute inset-0 hidden items-center justify-center pointer-events-none text-white not-data-visible:[--media-spinner-animation:none] data-visible:flex'; diff --git a/packages/skins/src/minimal/tailwind/components/preview.ts b/packages/skins/src/minimal/tailwind/components/preview.ts index 3f841a63..2689c3a4 100644 --- a/packages/skins/src/minimal/tailwind/components/preview.ts +++ b/packages/skins/src/minimal/tailwind/components/preview.ts @@ -8,6 +8,6 @@ export const preview = { spinner: cn( 'absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 opacity-0', 'transition-opacity duration-150 ease-out', - 'group-has-[[role=img][data-loading]]/preview:opacity-100' + 'group-not-has-[[role=img][data-loading]]/preview:[--media-spinner-animation:none] group-has-[[role=img][data-loading]]/preview:opacity-100' ), };