@blaze/toggles
v1.2.1
Published
Open Source UI Toolkit - Feature Toggles
Downloads
13
Maintainers
Readme
Blaze Feature Toggles
Blaze is a framework-free open source UI toolkit. It provides great structure for building websites quickly with a scalable and maintainable foundation.
https://www.blazeui.com
Using the Toggles
Add the following to your <head></head>
.
<script src="https://unpkg.com/@blaze/[email protected]/dist/collection/config.js"></script>
<script src="https://unpkg.com/@blaze/[email protected]/dist/toggles.js"></script>
The x.x.x
is the specific version of the library, you should use specifc versions to prevent against breaking changes.
Config
Next add some feature toggle config, e.g.
FeatureToggles.set({
welcomeMessage: true,
loginPage: {
rememberMe: 'alpha',
},
});
You can call FeatureToggles.set({...})
at anytime to update config. Everytime FeatureToggles.set is called it raises a featureToggleChange
event that you can hook into.
set
also merges the config with the already set config.
Config values can be either booleans
, strings
or functions
.
Promises
are supported.
e.g. the below to toggle the feature after 2 seconds once the promise has resolved.
FeatureToggles.set({
welcomeMessage: true,
loginPage: {
rememberMe: () => new Promise((resolve) => setTimeout(() => resolve('alpha'), 2000)),
},
});
HTML
<feature-toggle feature="welcomeMessage">
content will be VISIBLE
</feature-toggle>
<feature-toggle feature="loginPage.rememberMe" variant="alpha">
content will be VISIBLE
</feature-toggle>
<feature-toggle feature="loginPage.rememberMe" variant="beta">
content will be HIDDEN
</feature-toggle>
| Setting | Description |
| :-------: | :--------------------------------------------------------------------- |
| feature
| Feature config item, supports dot notation |
| variant
| The value the toggle must be to turn on this feature (default: true
) |