SC Prints
AccountCart (0)
  • Mens
  • Womens
  • Kids
  • Workwear
  • Corporates
  • Healthcare
  • Accessories
BrandsServicesBest Sellers
SC Prints

Premium decorated apparel and merchandise for teams, brands, and events across Australia.

Instagram

Quick Links

  • Home
  • Store
  • Brands
  • BYO merch
  • Contact Us
  • Search
  • Site map
  • Account
  • Sandbox

Policies

  • Shipping Policy
  • Returns Policy
  • Privacy Policy

Newsletter

Get product updates, promos, and print tips straight to your inbox.

© 2026 SC PRINTS. All rights reserved.

Animation widgets lab

Unlisted test route for motion, embed, and add-to-cart interaction experiments. Open with a country prefix, e.g. /au/test/animation-widgets. Sections are paginated (?page=2, 10 per page); add-to-cart / button interaction blocks start around page 13 (see footer pagination). The old /test/button-animations URL redirects to that page. Global cursor trail is disabled so the custom cursor demo is visible.

Dev-only add-to-cart lab. The fly-to-cart target prefers the main nav link [data-testid='nav-cart-link'] when present; the secondary button is a stand-in.

Demo cart target (fallback):

<dialog> + ::backdrop transitions

allow-discrete + @starting-style let the native dialog and backdrop fade/translate cleanly on open and close.

<dialog> + ::backdrop transitions (allow-discrete + @starting-style)

detecting…

Native dialog

The element + backdrop both fade and translate in via CSS transitions on overlay and display, with @starting-style for the entry frame.

Popover API anchored menu

popover="auto" gives free light-dismiss + ESC; anchor positioning tethers to the trigger.

Popover API + anchor positioning

detecting…
  • Edit design
  • Duplicate
  • Send to cart
  • Delete

Light-dismiss + ESC dismiss come for free with popover="auto"; no outside-click handler in JS.

@property smooth gradient

Registering an <angle> custom property lets gradient-angle interpolate fluidly instead of token-hopping.

@property registered <angle>

detecting…

Hover — gradient angle interpolates smoothly

Without @property, the gradient would hop because linear-gradient() is treated as a token. Registering the angle as a typed property makes it animatable.

color-mix() theme transition

OKLCH mixing produces perceptually-uniform palette steps; slider drags the brand→white mix.

color-mix(in oklch, …)

detecting…
Primary
Card
Muted

animation-timeline: view()

Each card has its own view-timeline progress range — distinct from the existing scroll() bar.

animation-timeline: view()

detecting…

Card 1

Each card animates from opacity 0 / translateY+scale to settled, progress-driven by its own view-timeline.

Card 2

Each card animates from opacity 0 / translateY+scale to settled, progress-driven by its own view-timeline.

Card 3

Each card animates from opacity 0 / translateY+scale to settled, progress-driven by its own view-timeline.

Card 4

Each card animates from opacity 0 / translateY+scale to settled, progress-driven by its own view-timeline.

Card 5

Each card animates from opacity 0 / translateY+scale to settled, progress-driven by its own view-timeline.

Card 6

Each card animates from opacity 0 / translateY+scale to settled, progress-driven by its own view-timeline.

Card 7

Each card animates from opacity 0 / translateY+scale to settled, progress-driven by its own view-timeline.

Card 8

Each card animates from opacity 0 / translateY+scale to settled, progress-driven by its own view-timeline.

Per-element progress timeline — distinct from the existing scroll()-based progress bar widget.

field-sizing: content

Native auto-grow textarea — replaces the JS scrollHeight/ResizeObserver hack with one line of CSS.

field-sizing: content

detecting…

Replaces the standard scrollHeight/textarea-resize ResizeObserver pattern with a single CSS declaration.

Subgrid alignment

grid-template-rows: subgrid aligns CTA buttons across cards even when body copy varies in length.

grid-template-rows: subgrid

detecting…

Hoodie — Heavy

400gsm fleece, double-stitched cuffs.

Tee — Premium

180gsm ringspun.

Cap — 5-panel low profile.

Brushed cotton, available in 8 colors with curved or flat brim options.

Without subgrid the CTA buttons would each align to their own card's baseline. With subgrid, they all sit on the same outer-grid track.

@scope style isolation

A scoped block applies a local theme to everything inside without leaking to siblings — no BEM, no CSS modules.

@scope rule

detecting…

Inside the scope

Scoped link styling bleeds nowhere; the theme lives only inside this card.

Outside the scope

Same selectors, untouched — proves the scope didn't leak.

offset-path motion-path

Native offset-path animates an element along an SVG curve with auto-rotation. Foundation for fly-to-cart trails.

offset-path + offset-distance

detecting…

Reusable foundation for fly-to-cart or success-checkmark trails — the path can be any SVG curve.

1. Fly-to-cart

The storefront logo flies in a heart-shaped mask from the add button toward the cart. Uses Framer Motion, createPortal, and the nav cart when available.

Page 16 of 18 — 10 sections per page

Previous
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
Next