Zebra Skimmers · Redesign Plan · Mock U

Component Library — a working playground for every section, block, and snippet

A new track in the redesign work. Mock S inventoried the components we'd build; Mock U is where each one gets a working playground — an interactive page where the schema is editable, the preview updates live, and the resulting {% schema %} JSON and rendered Liquid are produced for direct copy into the theme. Sixteen components across six categories. We start with Section, the primary container.

§ 01

What's in the library.

Sixteen components across six categories. One is live today with a fully-functional playground; the rest are planned, with their categorization, type, and intended file paths fixed so the IA is stable before any of them get built. Each component will land as its own page under this hub when its playground is complete.

Live
2
with working playground
In progress
0
currently being built
Planned
14
specced & ready to build
Total
16
components in library
§ 02

Three types of component, three different files.

Shopify themes distinguish sections, blocks, and snippets — each does a different job, lives in a different directory, and has different rules about schema. Every component in this library is labeled with one or more of these types. Knowing which is which dictates the file structure, what the merchant sees in the theme editor, and how it gets reused.

Type 01

Section

A top-level part of a template. Renderable independently. Has a {% schema %} tag that defines its settings, blocks, and presets. Merchants can add, remove, and reorder sections in the theme editor.

sections/name.liquid
✓ Has schema · ✓ Editor-visible · ✓ Has presets
Type 02

Block

A nested, repeatable component within a section. Defined in the parent section's schema under blocks: [...]. Merchants add and reorder them inside the section. Newer theme architecture allows section-blocks in their own files.

blocks/name.liquid
✓ Has schema · ✓ Editor-visible · ✓ Repeatable
Type 03

Snippet

A reusable Liquid partial included via {% render 'name', param: value %}. No schema, no editor presence — parameters are passed by the calling section or block. Used for shared UI primitives like buttons or pricing.

snippets/name.liquid
— No schema · — Not in editor · ✓ Reusable
§ 03

How each playground works.

Every component page in this library follows the same pattern — a settings panel on the left that mirrors the Shopify theme editor, a live preview that updates as settings change, and exportable schema JSON plus rendered Liquid below. The point is: dial in the look you want, copy the schema, and ship it to the theme.

The layout — settings panel, live preview, schema output

Settings
Background
default ⌄
Padding top
medium ⌄
Heading
Section title
Alignment
left ⌄
Section title

Live preview area — updates instantly as settings change

  1. Change a setting in the left panel — for example, switch background from default to inverted, or toggle the optional heading on.
  2. Preview updates live — the change is applied to the rendered component on the right in real time, no save or reload required.
  3. Schema JSON regenerates below the preview — the exact {% schema %} JSON that should go in the section's Liquid file, with the current settings as defaults.
  4. Rendered HTML preview shows the markup the theme will output — useful for verifying class names, data attributes, and structure before commit.
  5. Copy & ship — copy the schema, paste into the section's Liquid file, the merchant gets the same settings in the theme editor.
§ 04

The sixteen components.

Organized into six categories — containers, typography, marketing, forms, product, and navigation. Each card shows the component's type (section / block / snippet — some are multi-typed), its status, the intended file paths, and a short description. The single live component links to its playground; the planned ones describe what they'll cover when built.

06

Navigation & discovery — finding things

3 components

The components that get the buyer from the homepage to the product. Header navigation with mega-menu, predictive search, collection filtering. All performance-sensitive — they're loaded on most or every page.

§ 05

Build order — what's next after Section.

Section unlocks every other component — they all render inside one. After Section, the order respects dependencies — heading and button are needed by almost everything, image is needed by Hero, and Hero + Form get built before the long-tail product components.

Order Component Why it's here Status
U-01 Section The primary container that wraps everything else. Defines the page-section pattern. Live
U-02 Headings Needed by Section (heading slot), Hero, every content section. Live
U-09 Buttons Needed by Hero, Form, every CTA. Cheap to build, high reuse. Planned
U-06 Text Needed by Section's optional lede, by every editorial section. Planned
U-07 Image / Picture Needed by Hero's media background, product cards, image-with-text. Planned
U-03 Hero Has all dependencies in place; unlocks landing pages. Planned
U-04 / U-05 Flexible Columns / Rows Layout primitives for editorial and marketing pages. Planned
U-10 / U-11 Tabs / Collapsible Sections Interactive disclosure patterns for PDPs and FAQs. Planned
U-08 Form Unlocks warranty + quote + contact pages. Planned
U-12 / U-13 Product Rating / Price PDP primitives, low complexity, high reuse. Planned
U-14 / U-15 / U-16 Navigation / Search / Filters Highest-visibility, highest-stakes components. Build last when patterns are well-established. Planned