SubscriptionMIT licence
Stateful deploy button
button
Button from xiyu519/MotionVault.
From prompt to live site
- 01
Copy the code
Grab every file as one text, each carrying its licence notice.
- 02
Paste into your AI
Drop it into Claude, Cursor or v0 — or straight into your own project.
- 03
Launch it live
Adapt the copy, wire your data, and ship — with the notice kept alongside.
Source and licence
Source: xiyu519/MotionVault@0d74e8b8948d
Author: 2026 MotionVault Contributors
Entry: src/components/effects/button/StatefulButton.tsx
- Converted from MotionVault (xiyu519/MotionVault, MIT, "Copyright (c) 2026 MotionVault Contributors") into a native pattern: plain HTML/CSS/JS on the design tokens, with the Web Animations API, CSS and canvas 2D as its only engines. The shipped files are the conversion; the MotionVault source files (source.paths, at source.commit) are not shipped.
- New to the library: idle, loading ring, drawn check and back, the button's width springing between them.
- Idle, loading, done and back: a click swaps the label for a spinning ring (1.2 seconds), then a check that draws itself over half a second beside the word Done, and resets after 1.5 seconds. The button's width springs to fit each state (an overshooting transition on width), the swapped contents cross-fade and slide 8px in 180ms, and the button is locked while it runs. Designed after the familiar stateful button; under reduced motion the states change at once, with no spin and no draw.
- Credited author: 2026 MotionVault Contributors (MotionVault, https://github.com/xiyu519/MotionVault).
- Passed the accessibility gate on 2026-10-09: hosts, render, keyboard, focus, axe, reduced, tokens, motion (scripts/ui-waves/pipeline.ts, run by scripts/motionvault/build.ts). axe-core 4: no violations at rest or after activation (WCAG 2.2 A/AA + best practice). Colour contrast is reported, not gated: 1 text node(s) under 4.5:1 (reported, not gated).
- Preview recorded: previews/poster.webp, previews/preview.webm, previews/thumb.webp.
MIT License Copyright (c) 2026 MotionVault Contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. Modifications (CreativePower): converted on 2026-10-09 from xiyu519/MotionVault@0d74e8b8948d (src/components/effects/button/StatefulButton.tsx, src/data/effects/button.ts) into CreativePower's native pattern format — rewritten as plain HTML, CSS and JavaScript (no React, no animation library, no network), with its colours, fonts, spacing, corner radii and shadows on design tokens (the source's own values as fallbacks), its demo copy and icons replaced by neutral ones, and a prefers-reduced-motion rule and a visible focus style added.
Files (4)
- pattern.html (6,683 bytes)
- pattern.css (3,974 bytes)
- pattern.js (1,671 bytes)
- markup.html (707 bytes)
Want the whole library?
Every item's prompt, code and instructions, with a CreativePower subscription.