npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

windowsmessagebox

v0.4.1

Published

Create Windows-like message boxes for your website

Downloads

21

Readme

WindowsMessageBox.js

Create Windows-like 🪟 message boxes 💬 for your website

jsDelivr

<script src="https://cdn.jsdelivr.net/gh/SkwalExe/[email protected]/dist/windowsMessageBox.min.js"></script>

NPM module

Install the npm module

npm install windowsmessagebox

And import it in your project

const MessageBox = require('windowsmessagebox');

⚠️ You will need to bundle the package with your application (for example with browserify) because this library only works in the browser

browserify index.js -o bundle.js

Setting up

You can import the library into you website with JsDelivr or, you can use the npm module and import it in your project.

You also need to import the css file to your website

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/wmsgbox.min.css">

Warning 🚨

Versions below v0.3.0 contains a lot of errors and are not properly working, consider using v0.3.0 or higher, the function names are the same and you don't need to change your code.

Example

This repo provides a simple example of usage of the library : example.html

Double click on the page to open a message box

Usage 📝

This library provides one function : windowsMessageBox.show()

windowsMessageBox.show()

This function creates a message box.

It takes 5 parameters:

It returns a promise that resolves when the user clicks on a button/closes the message box.

Example 📝

Title & Message

The title will be displayed in the top of the message box and the message will be displayed in the middle of the message box.

windowsMessageBox.show("This is my title!", "This is my message!");

Type

The type defines the icon and the sound of the message box.

  • "info"
  • "error"
  • "warning"

Type -> info

windowsMessageBox.show("This is my title!", "This is an information message!", "info");

Type -> warning

windowsMessageBox.show("This is my title!", "This is a warning message!", "warning");

Type -> error

windowsMessageBox.show("This is my title!", "This is an error message!", "error");

Buttons

This parameter defines the buttons of the message box.

Example

let buttons = [
    ["Yes"],
    ["No"]
]

let clicked  = windowsMessageBox.show("This is my title!", "This is my message!", "info", buttons);

console.log(clicked); // "Yes" if the user clicked on the "Yes" button, "No" if the user clicked on the "No" button

You can also define the value returned depending on the button clicked.

If we want the button hello to return true and the button world to return false, we can do it like this:

let buttons = [
    ["hello", true],
    ["world", false]
]

Position

This parameter defines the position of the message box.

It can be:

  • [x, y] : pop up the message box at the given position
  • "random" : pop up the message box at a random position on the page

final

If you have any problem, don't hesitate to open an issue

contributing

  1. Start by forking this repository

  2. Then clone your fork to your local machine.

git clone https://github.com/your-username/windowsMessageBox.js.git
  1. Install dev dependencies
npm install --save-dev
  1. Create a new branch
git checkout -b super-cool-feature
  1. Then make your changes

  2. Update the changelog and version number if needed (using Semantic Versioning) also, update the version number in the JsDelivr links (js and css)

# bug fix
npm version patch --no-git-tag-version

# add a new feature 
npm version minor --no-git-tag-version

# changes that break backwards compatibility
npm version major --no-git-tag-version
  1. List and correct linting errors
npm run lint
  1. Update the minified/browser version of the library
npm run build
  1. Once you're done, commit your changes and push them to the remote repository.
git add --all
git commit -m "Add super-cool-feature"
git push origin super-cool-feature
  1. Then, open a pull request on GitHub from your fork.
  2. Go to this link
  3. Click compare across forks
  4. On the right, on head repository select your fork
  5. And on compare select the branch you just created
  6. Click on Create Pull Request and submit your pull request