SDS Motion Forge

Inputs animation · .sds-input-plasma

Plasma Field

Plasma glow cycles around the field. Add the class .sds-input-plasma to any element — it loops continuously as soon as the class is applied, with no JavaScript.

Live demo

Demo uses this site's neutral theme; override --sds-primary to match your brand.

Quick start

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@salkomdesignstudio/sds-motion-forge/dist/categories/inputs.min.css" />

<input class="sds-input-plasma" placeholder="Type here" />

Loads only the inputs bundle (core is included).Prefer one file? Use https://cdn.jsdelivr.net/npm/@salkomdesignstudio/sds-motion-forge/dist/motion.min.css (all 604 effects).

How it works

Plays as soon as the class is applied, looping continuously. It animates its shadow/glow. `--sds-duration-dramatic` controls the speed — override either on the element or :root (the sds-fast/sds-slow modifier classes do exactly that).

Technical details

Class.sds-input-plasma
CategoryInputs
Runsloops continuously, as soon as the class is applied
Animated propertiesbox-shadow
Compositor-onlyNo — also animates paint or layout properties
Needs child elementsNo
Needs per-character spansNo
JavaScriptNone required
Keyframessds-plasmaGlow
Design tokens--sds-duration-dramatic
Since4.0.3

Copy-paste code

HTML
<!doctype html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@salkomdesignstudio/sds-motion-forge/dist/motion.min.css" />
  </head>
  <body>
    <input class="sds-input-plasma" placeholder="Type here" />
  </body>
</html>
React / Next.js
import "@salkomdesignstudio/sds-motion-forge/dist/motion.min.css";

export default function Demo() {
  return (
    <input className="sds-input-plasma" placeholder="Type here" />
  );
}
Angular
// angular.json → architect.build.options.styles:
//   "node_modules/@salkomdesignstudio/sds-motion-forge/dist/motion.min.css"
import { Component } from '@angular/core';

@Component({
  selector: 'app-demo',
  standalone: true,
  template: `
    <input class="sds-input-plasma" placeholder="Type here" />
  `,
})
export class DemoComponent {}
Tailwind CSS
/* app.css — Tailwind v4 */
@import "tailwindcss";
@import "@salkomdesignstudio/sds-motion-forge/dist/motion.min.css";

/* then use the class like any other: */
<input class="sds-input-plasma" placeholder="Type here" />

Typed React, Angular, Tailwind and Web Components wrappers live in packages/ in the repository and are not yet published to npm; the snippets above need only the CSS.

Related animations

All 100 inputs animations · Installation & usage docs · Custom bundle builder