layerpro
Version:
Custom modals, alert, confirm, prompt... by Dario Passariello
205 lines (158 loc) • 4.48 kB
Markdown
# [LayerPro](https://npmjs.com/package/layerpro)

[](https://npmjs.org/package/layerpro)
[](https://npmjs.org/package/layerpro)
[](https://a51.gitbook.io/layerpro)
## About
LayerPro offers a completely new way to customize web modals in your application. With LayerPro, you can create custom alerts, prompts, confirmations, and messages, effectively replacing the default browser modals.
## Live demo
[https://tests.a51.dev/](https://tests.a51.dev/)
You can view an HTML version demonstrating how dpHelper and LayerPro work together. These tools can be used with HTML, React, Vue, or any other frontend framework/library.
## Install for react + webpack projects
```js
npm i layerpro --save-dev
```
or update:
```js
npm i layerpro@latest --save-dev
```
in the index (and only there):
```js
import "layerpro";
```
or
```js
require("layerpro");
```
## Install for ejs or other type of projects (like html)
```html
<script src="https://cdn.jsdelivr.net/npm/layerpro"></script>
```
## How to use it
ype layerpro in your console to explore all the available tools you can use globally! You can call these tools from anywhere without needing to import them (just include the import once in your index file).
For example, if you type **alert("hello, world!")**, you can see the result.
You can also use these tools as messages directly from the console.
```js
alert("Hello world"); // Normal alert
prompt("Your Name"); // Ask for input
confirm(
"Hello world",
()=>console.log("hello"), // callback for YES / OK
()=>console.log("bye") // callback for NO / CANCEL (you can use null if you don't want CB)
);
message(
"Hello world",
()=>console.log("This happen after OK") // callback for YES / OK)
);
```
Example:
```js
import 'layerpro'
// EXAMPLE WITH ALL OPTIONS
function App() {
layerpro.popup.open(
{
id: 'exampleModal',
body: 'Example',
name: 'example',
icon: '⚠',
buttons: {
confirm: {
text: "accept",
cb: (e) => message("confirmed")
},
cancel: {
text: "cancel"
}
},
width: 400,
height: 300,
maxWidth: 500,
maxHeight: 350,
minWidth: 200,
minHeight: 150,
top: '10%',
left: '10%',
right: 'auto',
bottom: 'auto',
fadeIn: 500,
fadeOut: 500,
timer: 0,
iconize: true,
maximize: true,
close: true,
isMaximize: false,
dockable: false,
raised: true,
movable: true,
resizable: false,
store: false
}
)
}
export default App
```
Example with a React component:
```js
// Example using React Component
import React from "react"
import 'layerpro'
export default () => {
// Custom Component6
const TestApp = () => {
return (
<div>
Hello
<label>
Alert: <input type="button" value="Alert" onClick={() => alert("Hello")} />
</label>
</div>
)
}
// Run into layerpro
layerpro.popup.open(
{
id: 'exampleModal',
body: TestApp(),
buttons: {
confirm: {
text: "accept",
cb: () => {
message("confirmed")
}
},
cancel: {
text: "cancel",
cb: () => {
alert("cancelled")
}
}
},
width: 350,
height: 300,
name: 'example',
icon: '⚠',
iconize: true,
maximize: true,
close: true,
isMaximize: false,
dockable: false,
raised: true,
movable: true,
resizable: false,
store: false,
top: '10%',
left: '10%',
right: 'auto',
bottom: 'auto',
minWidth: 200,
minHeight: 150,
fadeIn: 500,
fadeOut: 500,
timer: 0
}
)
}
```
copyright (c) 2019 - 2025 by Dario Passariello