Skip to content

DOM, events and animations library for modern browsers.

License

Notifications You must be signed in to change notification settings

mathigon/boost.js

Repository files navigation

Boost.ts

🚨 Vulnerabilities found in compile and evaluate, these functions should not be used until this notice is removed after further testing!

Build Status npm npm

Bost.ts is a library that makes working with browsers easier: everything from DOM manipulation to web components, event handling, animations, routing, multi-threading and AJAX requests. It was developed for Mathigon.org, an award-winning mathematics education project.

Features

Usage

First, install Boost.ts from NPM using

npm install @mathigon/boost

Now, simply import all functions and classes you need, using

import {$, CustomElement, Browser} from '@mathigon/boost'

Components

Importing the webcomponents <x-modal>, <x-popup>, <x-icon>, <x-alert> and <x-select> works a bit different from other functions exported by this module. Because they are just static classes with no side effects, they would usually be removed by tree-shaking. We also want to avoid duplicate component declarations, or any globally-running code.

  • The types can be imported like all other classes from @mathigon/boost.
  • The actual code is not included in the CJS or ESM bundles. needs to be included using something like import '@mathigon/boost/dist/components.js'.
  • The SCSS styles can be imported in other SCSS files using @import node_modules/@mathigon/boost/src/components/components.

Contributing

We welcome community contributions: please file any bugs you find or send us pull requests with improvements. You can find out more on Mathigon.io.

Before submitting a pull request, you will need to sign the Mathigon Individual Contributor License Agreement.

Copyright and License

Copyright © Mathigon (dev@mathigon.org)
Released under the MIT license