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!
							 | 
						||
| 
								 | 
							
								
							 |