Crème — Elegant Vanilla JS Toast & Notification Widget
Description
Overview
Meet Crème — a refined, self-contained toast and notification widget crafted in pure vanilla JavaScript with zero dependencies. Its warm crème-and-amber palette breaks away from the sterile blue/grey notification libraries flooding the market and brings a tactile, bakery-warm aesthetic to any web project. Drop in one JS file, call a single function, and your UI gains polished, accessible toast notifications with queuing, progress bars, action buttons and five distinct variant styles.
Who It's For
- Frontend developers who want a plug-and-play notification system without pulling in a full framework
- TypeScript/JavaScript developers building vanilla or lightly-tooled web apps
- Agencies and freelancers looking for a branded UI component they can drop into client projects
- Side-project builders who want something that looks different from every other toast library
Key Features In Depth
Crème ships five toast variants — success, error, warning, info and neutral — each with its own icon and colour tone drawn from a carefully curated warm palette. Toasts stack vertically in one of six configurable positions (top-left, top-center, top-right, bottom-left, bottom-center, bottom-right) and queue gracefully when the visible limit is reached. A countdown progress bar sweeps across the bottom of each toast so users always know how long the message will persist. Every toast supports an optional action button — perfect for "Undo", "Retry" or "View" interactions — and an optional persistent mode for critical messages that won't auto-dismiss. Dismiss animations use CSS keyframes for silky 60 fps performance with no layout jitter.
What's Included
- index.html — fully styled interactive demo page showcasing every variant, position and option
- creme-toast.js — the self-contained widget (no dependencies, ~130 lines)
- README.md — integration guide, API reference and customisation tips
How to Customise / Get Started
Integration takes under two minutes: add a single <script> tag for creme-toast.js, then call CremeToast.show({ message: 'Hello!', type: 'success' }). Override the eight CSS custom properties at the top of the widget file to swap the colour palette entirely — change --ct-bg, --ct-accent and friends to match your brand in seconds. Adjust duration, position, maxVisible and action per call for full per-toast control. No build step, no npm install, no bundler required.
Features
Requirements
- Any modern browser (Chrome 90+, Firefox 88+, Safari 14+, Edge 90+)
- No build step — open index.html directly or serve with any static file server
- No npm, no bundler, no framework required
Changelog
Frequently Asked Questions
Do I need npm or a bundler to use this widget?
No. Just include the creme-toast.js script tag in your HTML and call CremeToast.show(). There are zero dependencies and no build step required.
Can I change the colours to match my own brand?
Yes. The widget exposes eight CSS custom properties (variables) at the top of creme-toast.js. Override them in your own stylesheet or inline style to swap the entire palette without touching the widget logic.
How many toasts can appear at the same time?
By default, three toasts are visible at once. You can change this globally via CremeToast.config({ maxVisible: N }) or override per-call. Extra toasts queue and appear as older ones dismiss.
Can I add a clickable action button inside a toast?
Yes. Pass an action object with label and onClick properties when calling show(). The button renders inline and the toast auto-dismisses after the callback fires.
Does Crème work in TypeScript projects?
Crème is authored in modern vanilla JavaScript with JSDoc type annotations. You can import the script as-is in any TypeScript project without a declaration file, or add a simple .d.ts shim for full type safety.
Is this widget accessible?
Yes. The toast container uses role='region' and aria-live='polite' (or 'assertive' for errors) so screen readers announce new notifications automatically. Dismiss buttons include aria-label attributes.
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 toast, notification, vanilla js, 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 processNo 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.
| Use | Regular License | Extended 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 |
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.
Item Details
- Last Update
- July 11, 2026
- Published
- July 10, 2026
- Version
- 1.0.0
- Category
- TypeScript
- Sales
- 0
- Reviews
- No reviews
Buying guides
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 →