Avara UI

Button

An animated glowing-border Button component engineered with a spinning conic-gradient line tracking the 4 edges of the button, smooth click ripple physics, loading states, and full theme synchronization.
The glowing border animation continuously spins around the 4 sides of the button matching the form submitting engine animation.

4-Side Spinning Glowing Line Animated Button

Featurevariant"outline"
renders a continuous spinning conic-gradient glowing line with solid white/black bg and hover theme fill.

Dark Glass Parameter Control Panel Tiles

Shards Controlvariant"shards-control"
renders a dark glass control tile supporting controlType='color' | 'select' | 'slider' | 'toggle'.
Effecteffect"sparkle" | "orbit" | "beacon" | "shimmer"
plays when the tile lands on something: a slider reaching full, a toggle switching on, or a new select / colour pick. Any tile can take any effect; the colour tile tints its effect with the picked colour.
ModeeffectMode"once" | "continuous"
once plays a single time per landing; continuous loops while the tile stays active and fades out when it no longer is. Override when it counts as active with effectActive. Skipped under prefers-reduced-motion.

Interactive Sliding Icon & Text Motion Variants

Icon Expandvariant"expand-icon"
radial color expansion fills button from icon center.
Icon Slidevariant"slide-icon"
rounded icon slides out to right while new icon enters from left.
Icon Loopvariant"slide-icon-loop"
same rounded icon, but the arrow keeps travelling right and re-entering from the left on its own — no hover needed. Holds still under prefers-reduced-motion.
3D Pressvariant"3d"
a raised face over a darker edge and a ground shadow; the face sinks toward the edge on hover and all the way down on press. Colours come from --primary, so it follows the theme.
Background Wipevariant"slide-bg"
background wipes horizontally from left to right.
Text Roll Motionvariant"slide-text" | "slide-text-down" | "slide-text-bounce"
vertical text sliding and hero spring character bounce.

Installation

New project? Follow the installation guide to set up Tailwind CSS, shadcn, the cn helper and lucide-react, register the @algorize-ui registry once, then copy your styles from the Themes page.

Install Button

npx shadcn@latest add @algorize-ui/button

components/custom/blocks/Button.tsx is written into your project. Copy any snippet from a Usage tab above and it runs.

Install dependencies

Step 1 installs this for you. Run it yourself only if you are adding Button to an existing project by hand. The cn helper and lucide-react are not listed — the installation guide covers them once for every component.

icons is a component, not a package — the shadcn CLI installs it as source files.

npx shadcn@latest add @algorize-ui/icons

Features

  • 4-Side Animated Glowing Border: Conic-gradient spinning line that continuously sweeps around the 4 edges of the button matching Form Engine submitting buttons.
  • Interactive Sliding Icon Physics: variant="slide-icon" provides a rounded background icon on the right that slides out to the right on hover, while a new rounded icon slides in smoothly from the left.
  • Looping Icon Motion: variant="slide-icon-loop" keeps the same rounded icon on the right, but the arrow continuously exits to the right and re-enters from the left inside the circle, without any hover.
  • 3D Press: variant="3d" stacks a raised primary face over a darkened edge and a soft ground shadow. Hover lowers the face a step; pressing seats it on the edge, so the click reads as a real push.
  • Vertical Text Roll Animation: variant="slide-text" moves the button text smoothly upwards on hover while another text label rolls up smoothly into position from below.
  • Ripple Click Physics: Interactive radial ripple expansion on mouse click.
  • Loading Spinners: Built-in async state handling with interactive disabled states.
  • Full Theme Color Syncing: Automatically inherits site primary CSS variables (var(--primary)).

Props Reference

PropTypeDefaultDescription
variant"outline" | "slide-icon" | "slide-icon-loop" | "slide-text" | "3d" | "shards-control""outline"Choose between 4-side border glow, sliding rounded icon, looping rounded icon, vertical text roll, raised 3D press, or dark glass parameter control tile.
controlType"color" | "select" | "slider" | "toggle""select"Input type for variant="shards-control" (color picker, select dropdown, range slider, or toggle switch).
label · value · options
string | number | string[]—Label title, active value, and option choices for control tiles.
effect"none" | "sparkle" | "orbit" | "beacon" | "shimmer"undefined
Effect a control tile plays when a slider reaches full, a toggle switches on, or a select / colour pick changes. sparkle is a floor glow with twinkling specks, orbit runs two beams around the edge, beacon pings rings outward, shimmer wipes a bright band across. Unset keeps the built-in feedback (slider beacon at full, colour burst); "none" turns all of it off.
effectMode"once" | "continuous""once"
once plays a single time per change; continuous loops while the tile is active.
effectActiveboolean—
Forces a continuous effect on or off. By default it runs while the slider is full, the toggle is on, or once a select / colour tile has been picked.
size"default" | "sm" | "lg""default"Controls the padding and height of the button.
loadingbooleanfalse
If true, replaces the leading icon with a spinner and disables user interaction.
iconLeftReact.ReactNodeundefinedRenders an icon or element to the left of the text.
iconRightReact.ReactNodeundefinedRenders an icon or element to the right of the text.