Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


A modern dialog library which is highly configurable and easy to style. #hubspot-open-source

Subscribe to updates I use vex

Statistics on vex

Number of watchers on Github 6486
Number of open issues 38
Average time to close an issue 21 days
Main language CSS
Average time to merge a PR 3 days
Open pull requests 23+
Closed pull requests 14+
Last commit over 1 year ago
Repo Created about 6 years ago
Repo Last Updated over 1 year ago
Size 3.06 MB
Homepage http://github.hub...
Organization / Authorhubspot
Latest Releasev4.1.0
Page Updated
Do you use vex? Leave a review!
View open issues (38)
View vex activity
View on github
Fresh, new opensource launches πŸš€πŸš€πŸš€
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating vex for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)


Demo Β Β  Documentation

vex is a modern dialog library which is highly configurable, easily stylable, and gets out of the way. You'll love vex because it's tiny (5.6kb minified and gzipped), has a clear and simple API, works on mobile devices, and can be customized to match your style in seconds.


  • Drop-in replacement for alert, confirm, and prompt
  • Easily configurable animations which are smooth as butter
  • Lightweight with no external dependencies
  • Looks and behaves great on mobile devices
  • Open multiple dialogs at once and close them individually or all at once
  • Built in CSS spinner for asynchronous dialogs (TODO)
  • UMD support



vex open issues Ask a question     (View All Issues)
  • about 3 years Tabbing
  • about 3 years Prompt not accepting empty value
  • about 3 years Modal dialog not working with scrollbar
  • about 3 years Deattach events while modal dialog open
  • about 3 years Autofocus in the end of input instead of beginning
  • about 3 years 3d animation
  • about 3 years vex.close()/vex.closeAll() fires as cancel
  • about 3 years Vex dialog input: conditional show or hide text
  • about 3 years Set a name to form or prevent rendering to a form?
  • about 3 years Cancel button on dialog prompt not behaving as it should
  • about 3 years vex dialog not closing when it should
  • about 3 years onSubmit callback undocumented?
  • about 3 years Open two vex modals without closing the first one
  • about 3 years About file structure changed
  • about 3 years Release vex@3.0.0
  • over 3 years "<button type=submit></button>" Not working on "vex.dialog.confirm"
  • over 3 years content shifted by scroll bar dissapear
  • over 3 years Vex Modal on iPhone (or similar mobile devices) Won't Scroll?
  • over 3 years vex.dialog.alert and data attributes with numeric values
  • over 3 years Close cross disapearring
  • about 4 years CoffeeScript to ES6 conversion
  • about 4 years vex prompt input field is disabled
  • over 4 years Vex and Pikaday don’t play nicely
  • over 4 years Question(/Bug?): Vex not added in brunch compile
  • over 4 years JQuery Autocomplete
  • over 4 years Promises support?
  • over 4 years Making dialogs moveable?
  • over 4 years More restrictive main bower entry?
  • over 4 years iPad & iPhone issue
  • over 4 years Re-apply #103 and #104
vex open pull requests (View All Pulls)
  • Convert Coffeescript to ES6 and replace build system with Gulp
  • make vex-close a button to help with accessibility
  • Make dialogs more accessible
  • Add new .vex-scrollable wrapper around .vex-content
  • Proposed update to default className
  • Check for animation styles on close.
  • simplify the setting of button text: { okText: "foo", cancelText: "bar" ...
  • Fix Visual Shift On vexOpen
  • Add support for Zepto.js
  • Non developer readme contribution
  • Update
  • Fix amd support and webpack
  • Remove jQuery and CoffeeScript, add plugin system
  • Tested briefly with Edge 14.
  • Focus to `select` if focus to first element in dialog
  • Apply same style to `select` as to `textarea` and `input`
  • Apply same style to `select` as to `textarea` and `input`
  • Fix links and formatting
  • Fix Safari mobile background scrolling
  • Update dependencies
  • Fix close behavior for IE11
  • Fix code example in
  • Added accessibility features for tabbing and aria labels
vex questions on Stackoverflow (View All Questions)
  • Controlling ports in a loop using Vex RobotC
  • and Vex jQuery
  • VEX Tech with the Raspberry pi B+ V1
  • Can valgrind output an execution trace in VEX IR?
  • Raty JS not working properly in Vex modal
  • Submit Form in Vex Popup
  • x64 MASKMOVDQU (Store selected bytes of double quadword) and VEX segment override
  • Vex prompt with multiple buttons
  • vex dialog arrive twice
  • Encoding the x64 VEX prefix
  • RobotC VEX / Lego Programming: How to make a robot run multiple reactions in parallel?
  • Send/Receive data via USB between Vex Cortex and .net
  • vex confirm dialog, cancel-action as default
  • vex confirm dialog, how can i manage the a href-event handling
  • Vex Houdini to Java?
  • Which AVX registers should I use to avoid 3-byte VEX prefixes?
  • Is it okay to mix legacy SSE encoded instructions and VEX encoded ones in the same code path?
vex list of languages used
vex latest release notes
v4.1.0 v4.1.0
  • (re)fixed #242: vex will now use unprefixed animationend events if supported, before checking for vendor prefixes
  • New yesText/noText options for vex.dialog. See the docs for more info ```javascript vex.dialog.prompt({ yesText: 'Okiedokie' noText: 'Aahw hell no' })
v4.0.1 v4.0.1
  • Fixed #233: dialogs in IE flashed on closing
  • Merged #238, adds Sass Autoprefixer for 47% smaller dist CSS files
v4.0.0 v4.0.0

Breaking DOM structure change introduced in #223. The .vex-overlay element now sits next to the .vex element, instead of as a child. This fixes scrolling issues on tall dialogs that have been in the library for a while.

New structure:

<div class="vex-overlay"></div>
<div class="vex">
    <div class="vex-content">
        <div class="vex-close"></div>
Other projects in CSS