esdecode

Crème — Elegant Vanilla JS Toast & Notification Widget

No ratings
|0 Sales|by DriftPixel Studio|v1.0.0
Crème — Elegant Vanilla JS Toast & Notification Widget screenshot 1
1 / 1
0
Sales
Rating
0
Reviews

Description

Overview

Crème is a lightweight, zero-dependency vanilla JavaScript notification widget dressed in a warm, biscuit-and-cream colour palette. Forget the usual blue-shadow alert boxes — Crème delivers buttery smooth toast messages, inline banners and a compact notification drawer that feel genuinely handcrafted. Whether you need a quick success pop, a gentle warning ribbon or a persistent info drawer, Crème handles all four notification archetypes with a single, readable API call.

The widget ships as a self-contained crème.js + crème.css pair with a beautifully styled interactive demo page. Drop two files into any project, call one function, and get polished feedback UI in minutes — no npm, no bundler, no framework tax.

Who It's For

  • Indie developers who want a finished notification system without a dependency chain.
  • Frontend freelancers adding client-facing polish to CMS themes, landing pages or vanilla JS apps.
  • Designers who prototype in browser and need real interaction feedback that looks good in screenshots.
  • TypeScript / JS projects that load widgets via CDN or script tags — the API is clean enough to wrap with a TS type file in minutes.

Key Features in Depth

Four notification typessuccess, error, warning and info — each with a distinct warm icon glyph, border accent and background tint, all staying within the creme/walnut/terracotta palette so nothing clashes with your page.

Toast stack management keeps up to five toasts visible at once, auto-dismissing the oldest when the cap is reached. Toasts animate in from the top-right with a buttery cubic-bezier slide and fade out gracefully. Auto-dismiss timers are configurable per-call; pass duration: 0 for a persistent toast the user must manually close.

Inline banner mode lets you inject a full-width ribbon directly into a target container — useful for form-level feedback, page-level alerts or onboarding prompts. Banners support an optional action button with a custom label and callback.

Notification drawer collects all fired notifications into a slide-in side panel. A floating bell icon with an unread badge opens the drawer; clearing all items shows a polished empty state illustration made entirely in CSS.

Progress bar on each toast visually counts down the auto-dismiss timer, giving users a clear sense of time remaining. The bar is CSS-animated and pauses on hover.

What's Included

  • index.html — fully interactive demo page with live controls for every notification type and mode.
  • crème.js — the standalone widget script (~130 lines, fully commented).
  • crème.css — widget stylesheet with CSS custom properties for easy theming (~120 lines).
  • README.md — integration guide, API reference and customisation notes.

How to Get Started

1. Copy crème.js and crème.css into your project. 2. Add the two <link> and <script> tags to your HTML. 3. Call Creme.toast({ type: 'success', message: 'Saved!' }) from any script. That's it. Override the CSS custom properties in :root to swap palette, border-radius or font in under a minute. TypeScript users can paste the five-line type declaration from the README and enjoy full autocomplete.

Features

Four notification archetypes — success, error, warning, info — each with a distinct warm icon and colour accent
Toast stack with configurable auto-dismiss timer, progress bar countdown and hover-pause behaviour
Persistent toast mode (duration: 0) for messages that require explicit user dismissal
Inline banner mode with optional action button and callback, injectable into any target container
Slide-in notification drawer with unread badge counter and CSS-only empty state
Smooth cubic-bezier slide + fade animations for both toast entry/exit and drawer open/close
CSS custom properties for one-line palette, radius and shadow overrides
Zero dependencies — one JS file, one CSS file, works in any HTML page
Stack cap of 5 toasts with auto-eviction of oldest when exceeded
Fully keyboard-accessible close buttons with visible focus rings

Requirements

  • Any modern browser (Chrome 90+, Firefox 88+, Safari 14+, Edge 90+)
  • No build step — plain HTML script/link tags
  • No npm or Node.js required
  • No external JavaScript libraries or frameworks

Changelog

**v1.0.0** (Latest) - Initial release with toast stack, inline banner and notification drawer - Four notification types: success, error, warning, info - Progress bar with hover-pause on each toast - CSS custom property theming system - Interactive demo page with live controls

Frequently Asked Questions

Do I need npm or a bundler to use Crème?

No. Just add crème.css and crème.js via a plain and

Can I use this in a TypeScript project?

Yes. The README includes a five-line ambient type declaration you can copy into a .d.ts file, giving you full autocomplete for the Creme.toast(), Creme.banner() and Creme.drawer APIs.

How do I change the colour palette?

Override the CSS custom properties in :root — the widget exposes --cr-bg, --cr-accent-success, --cr-accent-error, --cr-accent-warning, --cr-accent-info and a handful of others. You can match any brand in under a minute.

What happens if I fire many toasts quickly?

The stack is capped at 5 visible toasts. When a 6th is fired, the oldest toast is automatically dismissed before the new one appears, so the UI never overflows.

Is the notification drawer persisted across page loads?

By default no — notifications live in memory only. The README explains how to hook into the internal Creme._log array and serialise it to localStorage with about 10 lines of extra code.

What licence is included?

A standard single-use (Regular) licence as per the esdecode marketplace terms, covering use in one end product. Extended licence covers SaaS or multi-client deployments.

Technical requirements

  • See the detailed requirements in the product description below.

What is included

  • Downloadable product files
  • Product listing and product page guidance
  • Product files ready for self-hosting or integration
  • 10 listed features
  • Changelog included on the product page

Who is this product for

  • Teams shopping within TypeScript
  • Use cases aligned with javascript, notification, toast, widget

License and usage

  • Verify the exact usage rights on the selected license before deployment or client handoff
  • Keep the purchase record and license certificate for future verification

Updates and support

  • 6 months of seller support included
  • Review the seller support scope before purchasing.
  • Recent changes are visible in the product changelog
  • Use the changelog to confirm ongoing maintenance before rollout

Technical details

Current version
1.0.0
Last updated
Jul 11, 2026
Support period
6 months of seller support included

Marketplace review

Content review process

No completed marketplace review record is available for this product.

This is not a full penetration test or a guarantee that the product is vulnerability-free.

License comparison

A license is tied to one end product, not strictly to one domain. Development, staging, and the final production domain may belong to the same licensed deployment.

UseRegular LicenseExtended License
Source code modification
Own project use
One client project
One production deployment
Development and staging
Paid SaaS or paid user access
Multiple unrelated client projects
Redistribute source code
Resell source code
Read the full license terms →

License FAQ

Can I modify the source code?

Yes, under both licenses.

Can I use the script for a client?

Yes, for one client end product.

Can I install it on a staging domain?

Yes. Development and staging may belong to the licensed deployment.

Do I need another license for another client?

Yes, each unrelated client end product needs its own license.

Can I use it for a paid SaaS?

Yes, with an Extended License.

Can I resell the source code?

No. Standalone redistribution or resale is prohibited.

Is a license limited strictly to one domain?

No. It is tied to one end product, which may use development, staging, and production domains.

This product is temporarily unavailable for purchase.
Instant digital download
Review scope shown below
Recent product changes listed in the changelog
6 months of seller support included

Item Details

Last Update
July 11, 2026
Published
July 10, 2026
Version
1.0.0
Category
TypeScript
Sales
0
Reviews
No reviews

Share This Item

License Info

Regular License — Use in one end product which end users are not charged for.

Extended License — Use in one end product which end users can be charged for.

Verify a license key →