Skeleton components

I couldn’t find any s-skeleton variants in the new Polaris web components. Do we need to create such components using the s-box?

New Polaris probably won’t have them I think. Shopify encourages to use Remix, which eliminates skeleton loading styles as everything is rendered server-side. This provides a better user experience (Shopify also no longer uses them on most of their admin), so I think Shopify want to encourage this.

you still need skeleton for ui that constantly changes, or revalidates, like analytics.

Yes, also if you are using direct API access of the app bridge then you need some kind of loading state.

Even for the ssr you will need streaming with react suspense at some point in order to improve the Largest Contentful Paint (LCP) score. Again you need a loading state when using suspense.

I used s-box with background="strong" but s-spinner also works for now.

+1 to the need for a skeleton component for certain cases. Even in remix and react router 7 there are legitimate cases to show some kind of loading state and the skeleton looks a lot more polished than just a generic spinner, especially on a dashboard

We’re actively investigating a Skeleton component. Thanks!

Any update on this? The upgrade path to the new polaris components has frankly been pretty terrible.. inconsistent docs.. missing types.. It has caused our engineers significant frustration.

We need skeleton for admin blocks - right now using a simple spinner


to add to @thomen note on frustration. The most frustrating part is that during that time regular react components are not updated and we’re left in an in between situation where we have to workaround to get things done.