Skip to content

Add skeleton loading component #74122

@juanfra

Description

@juanfra

What problem does this address?

Loading states are one area where small improvements can make a big difference in how polished and intentional the editor feels. For many people, their first experience with the block editor is creating a new post or page, and they're immediately greeted with the starter patterns modal. Right now, the loading experience feels a bit aggressive and can make the interface look broken while the patterns actually load. It's not the best first impression.

We have quite a few places in the editor where content loads in a bit abruptly (the pattern inserter being a good example). These transitions make the editor feel less polished, especially on slower connections.

Proposed solution

Introduce a skeleton loading component that we can use throughout the editor to create smoother, more intentional loading states. This would improve perceived performance (skeleton screens make wait times feel shorter), reduce layout shift and give a more polished feeling (content has a predictable space before it loads, no abrupt changes).

I believe we could start experimenting with it in places like the pattern inserter, the starter pattern modal. And there's plenty of future opportunities: Dataviews, medialibrary, site editor when loading templates, or anything that can have a predictable layout or loads remote content.

Having a shared skeleton component would give us a consistent loading language across the editor and make it easy to improve these experiences incrementally

Here's a couple prototypes:

skeleton-pattern-inserter.mp4
skeleton-prototype-dataviews.mp4

^ Just a proof of concept, probably we should also make the title and content of each pattern part of the skeleton loading.

Metadata

Metadata

Assignees

No one assigned

    Labels

    [Feature] Site EditorRelated to the overarching Site Editor (formerly "full site editing")[Feature] UI ComponentsImpacts or related to the UI component system[Type] EnhancementA suggestion for improvement.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions