This webcomponent follows the open-wc recommendation.
Installation
npm i @internetarchive/ia-menu-slider
or
yarn add @internetarchive/ia-menu-slider
Usage
<script type="module">
import '@internetarchive/ia-menu-slider/ia-menu-slider.js';
</script>
<ia-menu-slider></ia-menu-slider>
Supply the element with an array of objects representing the menu items and
their submenu components. Each menu item can have these properties:
{
icon: html``,
label: 'Label',
id: 'label',
component: html``,
followable: true,
href: '#'
}
To toggle the menu open or closed, set the open
property on the component.
Styling
ia-menu-slider {
--menuButtonLabelDisplay: none;
--menuSliderBg: #151515;
--primaryTextColor: #fff;
--menuWidth: 320px;
--animationTiming: .25s;
--iconFillColor: #fff;
--iconStrokeColor: #fff;
--activeButtonBg: #282828;
}
Linting with ESLint, Prettier, and Types
To scan the project for linting errors, run
yarn lint
Testing with Karma
To run the suite of karma tests, run
yarn test
To run the tests in watch mode (for TDD, for example), run
yarn test:watch
Demoing with Storybook
To run a local instance of Storybook for your component, run
yarn storybook
To build a production version of Storybook, run
yarn storybook:build
Tooling configs
For most of the tools, the configuration is in the package.json
to reduce the amount of files in your project.
If you customize the configuration a lot, you can consider moving them to individual files.
Local Demo with es-dev-server
yarn start
To run a local development server that serves the basic demo located in demo/index.html