Przejdź do treści

MediaGrid

Pliki folderu jako kafelki albo lista, z zaznaczaniem do akcji zbiorczych, akcją na plik, przeciąganiem do zmiany kolejności i plikami upuszczanymi z pulpitu. Wybierz go dla każdego widoku biblioteki; do jednego pliku poza listą użyj samego MediaTile.

  • MediaGrid

PodglądLink do sekcji Podgląd

Na żywo we wszystkich trzech motywach. Wszystko tutaj jest interaktywne.

Dzień, podgląd: MediaGrid

Hills over a calm bay at dawnwebp

harbour-at-dawn.webp

Image · 182 KB · 1920×1080

Green hills under a clear skywebp

meadow.webp

Image · 96 KB · 1600×900

webp

north-ridge-panorama-from-the-upper-hut-in-late-october-final-version-2.webp

Image · 410 KB · 2400×1000

No alt text
avif

dunes.avif

Image · 74 KB · 1200×800

Decorative
pdf

release-notes-2026.pdf

PDF · 320 KB · 4 pages

mp4

intro.mp4

Video · 12.4 MB · 0:42

mp3

jingle.mp3

Audio · 1.1 MB · 0:18

Noc, podgląd: MediaGrid

Hills over a calm bay at dawnwebp

harbour-at-dawn.webp

Image · 182 KB · 1920×1080

Green hills under a clear skywebp

meadow.webp

Image · 96 KB · 1600×900

webp

north-ridge-panorama-from-the-upper-hut-in-late-october-final-version-2.webp

Image · 410 KB · 2400×1000

No alt text
avif

dunes.avif

Image · 74 KB · 1200×800

Decorative
pdf

release-notes-2026.pdf

PDF · 320 KB · 4 pages

mp4

intro.mp4

Video · 12.4 MB · 0:42

mp3

jingle.mp3

Audio · 1.1 MB · 0:18

Wysoki kontrast, podgląd: MediaGrid

Hills over a calm bay at dawnwebp

harbour-at-dawn.webp

Image · 182 KB · 1920×1080

Green hills under a clear skywebp

meadow.webp

Image · 96 KB · 1600×900

webp

north-ridge-panorama-from-the-upper-hut-in-late-october-final-version-2.webp

Image · 410 KB · 2400×1000

No alt text
avif

dunes.avif

Image · 74 KB · 1200×800

Decorative
pdf

release-notes-2026.pdf

PDF · 320 KB · 4 pages

mp4

intro.mp4

Video · 12.4 MB · 0:42

mp3

jingle.mp3

Audio · 1.1 MB · 0:18

UżycieLink do sekcji Użycie

tsx
import { MediaGrid } from '@skribly/ui/media'
tsx
<MediaGrid aria-label="Files in Holidays" items={files} view="grid"
  selectionMode="multiple" selectedKeys={selected} onSelectionChange={setSelected}
  selectLabel="Select" onAction={openEditor}
  renderActions={(file) => <IconButton label={`Edit ${file.name}`} …/>}
  onMove={reorder} dragLabel={(file) => `Drag ${file.name}`}
  isLoading={loading} loadingLabel="Loading files"
  emptyState={<EmptyState title="This folder is empty" />} />

Każda etykieta jest propem, więc aplikacja przekazuje własne słowa we własnym języku. Zobacz zasadę brak wbudowanego tekstu.

DostępnośćLink do sekcji Dostępność

  • Siatka React Aria z jednym przystankiem w kolejności Tab.
  • Klawisze strzałek przesuwają między kafelkami w obu kierunkach, wpisanie nazwy pliku przeskakuje do niego, Spacja albo pole wyboru zaznacza, Enter uruchamia akcję, a Tab dociera do przycisków wewnątrz kafelka z fokusem.
  • Pola wyboru są odczytywane jako „Select” i nazwa pliku.
  • Przeciąganie działa wskaźnikiem, klawiszem Enter na uchwycie i klawiszami strzałek oraz z czytnikami ekranu.
  • Ładowanie jest statusem zajętości z kafelkami-szkieletami, pusty stan mówi, dlaczego jest pusty, uwagi, takie jak brak tekstu alternatywnego, mają słowo i znak, a zaznaczone kafelki dostają ramkę, nie tylko podbarwienie.
  • Kafelki układają się od jednej kolumny przy 320 px.

Ten przykład przechodzi przez axe we wszystkich trzech motywach przy każdym uruchomieniu testów. Zobacz, co sprawdzają testy.

Szukaj na stronie

Strzałki przenoszą między wynikami, Enter otwiera, Esc zamyka. Ctrl K /