142 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			142 lines
		
	
	
		
			4.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
# Prompt-Boxes
 | 
						|
A small package I created for my own project so currently there's limited functionality. I will update it as and when I require more functionality (or a request is made).
 | 
						|
 | 
						|
##### Migrating from version <2.0 to 2.0
 | 
						|
`I've re-written a lot of mechanics. There are a lot more options available to each instance. Please review the ReadMe and update your current implementation accordingly.`
 | 
						|
 | 
						|
#### Demo
 | 
						|
You can find an old demo [here](https://iamrobert.co.uk/projects/prompt-boxes). For a better demo, download the repo and open the 'index.html' page within the demo folder
 | 
						|
 | 
						|
#### Installation
 | 
						|
``npm install prompt-boxes --save``
 | 
						|
 | 
						|
#### Screenshots
 | 
						|
<img src="https://media.giphy.com/media/oXcJZgdxOLBvy/giphy.gif" width="275"> <img src="https://media.giphy.com/media/OAscHqRSi6a9W/giphy.gif" width="275"> <img src="https://media.giphy.com/media/10BsPpLXKTW67m/giphy.gif" width="275">
 | 
						|
 | 
						|
#### Add scripts
 | 
						|
~~~
 | 
						|
<link rel="stylesheet" type="text/css" href="prompt-boxes.min.css">
 | 
						|
<script src="prompt-boxes.min.dist.js"></script>
 | 
						|
~~~
 | 
						|
 | 
						|
#### Create instance
 | 
						|
~~~
 | 
						|
<script>
 | 
						|
  var pb = new PromptBoxes({
 | 
						|
    attrPrefix: 'pb',
 | 
						|
    speeds: {
 | 
						|
      backdrop: 500,  // The enter/leaving animation speed of the backdrop
 | 
						|
      toasts: 500     // The enter/leaving animation speed of the toast
 | 
						|
    },
 | 
						|
    alert: {
 | 
						|
      okText: 'Ok',           // The text for the ok button
 | 
						|
      okClass: '',            // A class for the ok button
 | 
						|
      closeWithEscape: false, // Allow closing with escaping
 | 
						|
      absolute: false         // Show prompt popup as absolute
 | 
						|
    },
 | 
						|
    confirm: {
 | 
						|
      confirmText: 'Confirm', // The text for the confirm button
 | 
						|
      confirmClass: '',       // A class for the confirm button
 | 
						|
      cancelText: 'Cancel',   // The text for the cancel button
 | 
						|
      cancelClass: '',        // A class for the cancel button
 | 
						|
      closeWithEscape: true,  // Allow closing with escaping
 | 
						|
      absolute: false         // Show prompt popup as absolute
 | 
						|
    },
 | 
						|
    prompt: {
 | 
						|
      inputType: 'text',      // The type of input 'text' | 'password' etc.
 | 
						|
      submitText: 'Submit',   // The text for the submit button
 | 
						|
      submitClass: '',        // A class for the submit button
 | 
						|
      cancelText: 'Cancel',   // The text for the cancel button
 | 
						|
      cancelClass: '',        // A class for the cancel button
 | 
						|
      closeWithEscape: true,  // Allow closing with escaping
 | 
						|
      absolute: false         // Show prompt popup as absolute
 | 
						|
    },
 | 
						|
    toasts: {
 | 
						|
      direction: 'top',       // Which direction to show the toast  'top' | 'bottom'
 | 
						|
      max: 5,                 // The number of toasts that can be in the stack
 | 
						|
      duration: 5000,         // The time the toast appears
 | 
						|
      showTimerBar: true,     // Show timer bar countdown
 | 
						|
      closeWithEscape: true,  // Allow closing with escaping
 | 
						|
      allowClose: false,      // Whether to show a "x" to close the toast
 | 
						|
    }
 | 
						|
  });
 | 
						|
</script>
 | 
						|
~~~
 | 
						|
 | 
						|
#### Permanent toast
 | 
						|
~~~
 | 
						|
  pb.success(
 | 
						|
    'This is a permanent toast with a close option',  // Message text
 | 
						|
    { 
 | 
						|
      duration: 0,      // Show permanently
 | 
						|
      allowClose: true  // Add manual close button
 | 
						|
    }
 | 
						|
  );
 | 
						|
~~~
 | 
						|
 | 
						|
#### Success toast
 | 
						|
~~~
 | 
						|
pb.success(
 | 
						|
  'This is an example success toast'  // Message text
 | 
						|
  {}                                  // Addition options
 | 
						|
);
 | 
						|
~~~
 | 
						|
 | 
						|
#### Error toast
 | 
						|
~~~
 | 
						|
pb.error(
 | 
						|
  'This is an example error toast'    // Message text
 | 
						|
  {}                                  // Addition options
 | 
						|
);
 | 
						|
~~~
 | 
						|
 | 
						|
#### Info toast
 | 
						|
~~~
 | 
						|
pb.info(
 | 
						|
  'This is an example info toast' // Message text
 | 
						|
  {}                              // Addition options
 | 
						|
);
 | 
						|
~~~
 | 
						|
 | 
						|
#### Alert dialogue
 | 
						|
~~~
 | 
						|
pb.alert(
 | 
						|
  (confirmed) => alert('You have: ' + (confirmed ? 'confirmed' : 'cancelled')),
 | 
						|
  'This is an example alert', // Message text
 | 
						|
  'Ok',                       // Ok text
 | 
						|
  {}                          // Addition options
 | 
						|
);
 | 
						|
~~~
 | 
						|
 | 
						|
#### Confirmation dialogue
 | 
						|
~~~
 | 
						|
pb.confirm(
 | 
						|
  (outcome) => alert('You have: ' + (outcome ? 'confirmed' : 'cancelled')), // Callback
 | 
						|
  'This is an example confirm',   // Message text
 | 
						|
  'Yes',                          // Confirm text
 | 
						|
  'No'                            // Cancel text
 | 
						|
  {}                              // Addition options
 | 
						|
);
 | 
						|
~~~
 | 
						|
 | 
						|
#### Prompt dialogue
 | 
						|
~~~
 | 
						|
pb.prompt(
 | 
						|
  function (value) { alert('You have: ' + (value ? 'entered ' + value : 'cancelled')) }, // Callback
 | 
						|
  'This is an example prompt',    // Message text
 | 
						|
  'text',                         // Input type
 | 
						|
  'Submit',                       // Submit text
 | 
						|
  'Cancel',                       // Cancel text
 | 
						|
  {}                              // Addition options
 | 
						|
);
 | 
						|
~~~
 | 
						|
 | 
						|
#### Clear instances
 | 
						|
~~~
 | 
						|
pb.clear();
 | 
						|
~~~
 | 
						|
 | 
						|
#### Style Sheet
 | 
						|
There is a default stylesheet that you'll need to include. You're more than welcome to create your own and style it the way you want!
 | 
						|
 |