ample-alerts v1.4.5
ample-alerts
A simple alert library for web
Features
- A simple & light-weight alert library
- Mobile-friendly
- Supports all types of browser alerts
- Can be easily themed for any host web application
- Support for promises
- Two color-themes: light and dark
How to Use
Directly from a web page
One can use ample-alerts directly from a web-page by a attaching script file and a stylesheet to the DOM.
<!-- Attaching the ample-alerts stylesheet -->
<link type="text/javascript" rel="stylesheet" href="path/to/library/ample-alerts.css" />
<!-- Attaching the ample-alerts script -->
<script type="text/javascript" src="path/to/library/ample-alerts.js"></script>
<!-- Usage -->
<script type="text/javascript">
ampleAlerts.alert(['Update Available', 'A new update is available'], { autoClose: 3000 });
</script>With Webpack, Browserify or RequireJS
Install ample-alerts from NPM
npm install ample-alerts --save-devConsume as an ES6 module
import * as ampleAlerts from 'ample-alerts';or
import ampleAlerts from 'ample-alerts';or
import { alert, confirm, prompt } from 'ample-alerts';Consume as a CommonJS module
var AmpleAlerts = require('ample-alerts');Consume as an AMD
require(['ample-alerts'], function (ampleAlerts) {
// Consume ampleAlerts
}In order to use the stylesheet,
Import in your React components as
import from '[relative/path/to]/ample-alerts.css';or in your stylesheet as
@import '[relative/path/to]/ample-alerts.css';Note: You may have to use Babel for ES6 transpilation.
Supported alert types
Alert
Shows a simple alert with provided text.
ampleAlerts.alert('An update is available!');Optionally, you can also provide a heading for the alert by sending two strings in an array.
ampleAlerts.alert(['Update Available', 'A new software update is available!']);You can also make the alert go away after a specified number of milliseconds.
ampleAlerts.alert(['Update Available', 'A new software update is available!'], { autoClose: 5000 });Confirm
Shows a confirmation message for user to confirm an action.
ampleAlerts.confirm('An update is available! Do you want to load the latest version?', { onAction: onAction });You can also provide a heading for the confirmation message.
ampleAlerts.confirm(['Update Available', 'Do you want to load the latest version?'], { onAction: onAction });Prompt
Shows a prompt to ask a value from the user.
ampleAlerts.prompt('What do you want to name the file as?', { onAction: onAction });As usual, you can also add a heading.
ampleAlerts.prompt(['Saving File', 'What do you want to name the file as?'], { onAction: onAction });Support for promises
A separate version for promises is available.
In order to take advantage of promises, use ample-alerts.promises.js.
The import path for ES6, CommonJS and AMD changes to ample-alerts/build/scripts/ample-alerts.promises.
For any alert created with this version, all positive actions from the user resolve the promise while others end up rejecting the promise.
For example: dismissing an alert, confirm or prompt using the close button rejects the promise so does negative response for confirm.
Note: You can still use the onAction callback with the promises version.
ampleAlerts.confirm('Are you sure?')
.then(function () {
// User responded with a 'YES'
}).catch(function () {
// User either responded with a 'NO' or dismissed the alert
});Options
While creating an alert, the second argument is an options object. It can have the following properties:
autoClose (number)
Default: 0 (Does not close automatically)
Applicable for:alertonAction (function)
Default: null
Applicable for:confirm,prompt
The method to be called with user response as an argument.
In case ofconfirm, this method gets called with eithertrueorfalse. Forprompt, it gets called with the response value from the user.defaultResponse (string)
Default: null
Applicable for:prompt
The default response from the user.labels (array)
Default: 'Yes', 'No' or 'Ok, 'Cancel'
Applicable for:confirm,prompt
Use this option to override button labels shown on alerts.isModal (boolean)
Default: false
Applicable for:confirm,prompt
Use this option to make theconfirmorprompta modal.
Please note that the user will still be able to interact with other pop-ups created withample-alerts.
Color themes
There are two available color themes: light and dark and the default is light. In order for ample-alerts to use the dark theme, attach a CSS class named ample-alerts-dark to the body tag.
<body class="ample-alerts-dark">
...
</body>To switch the theme dynamically, call one of the below two functions.
import { switchToDarkTheme, switchToLightTheme } from 'ample-alerts';
switchToDarkTheme(); // Switches to dark theme
switchToLightTheme(); // Switches to light themeOR
import ampleAlerts from 'ample-alerts';
amplerAlerts.switchToDarkTheme(); // Switches to dark theme
amplerAlerts.switchToLightTheme(); // Switches to light themeDemos
Experience ample-alerts in action:
To-do
- Implement showing of alerts at different positions on the screen
- Write unit-tests
3 years ago
5 years ago
5 years ago
5 years ago
6 years ago
6 years ago
6 years ago
6 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
7 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago
8 years ago

