weltn24-doge
v3.0.1
Published
A Content Slider micro library
Downloads
4
Readme
doge
This is the Content-Slider of welt.de
Primary used for Images and responsive Picture-Elements - but not limited to it.
TOC
Install
yarn
yarn add weltn24-dogenpm
npm install --save weltn24-dogeDependency
- Swiper v6: https://swiperjs.com/
- Swiper API: https://swiperjs.com/swiper-api
- EventEmitter3: https://github.com/primus/eventemitter3
Usage
// initialize
const contentSlider = new ContentSlider(<options>, <css-classes>, <swiper-options>);
Options (required):
| Option | Type | Description |
| ---------------------- | ---------------------- | ----------------------------------------------------------- |
| content | QuerySelector (string) | the selector of the swipeable content elements |
| overlay | QuerySelector (string) | the selector of the overlay |
| bemBlockName | string | set the block-part of the bem-style css-class name |
| swiperBemBlockName | string | set the block-part of the css-class name for swiper-options |
| extractSliderElement | function | function which returns element to slide |
| extractCaption | function | function which returns the description of the slide |
| extractHashnavToken | function | function which returns the hashnav token |
CSS Classes (optional):
With this parameter you can overwrite the css classes. They are automatic generated with the options-value bemBlockName.
| Option | Type | Description |
| ------------------- | ------------------ | ------------------------------------------------------------------- |
| overlay | ClassName (string) | the overlay element (initial hidden) |
| overlayModVisible | ClassName (string) | modifier which indicates if the overlay is visible |
| nav | ClassName (string) | the navigaten bar element |
| navPosition | ClassName (string) | the position indicator |
| caption | ClassName (string) | the caption of the current content element |
| captionModVisible | ClassName (string) | modifier which indicates if the caption is visible |
| elementContainer | ClassName (string) | the container for the swipeable content elements |
| wrapper | ClassName (string) | wrapper around the elements, which will be x/y transformed on swipe |
| element | ClassName (string) | the content element |
| icon | ClassName (string) | icon element |
| toggleCaptionIcon | ClassName (string) | icon to toggle visibility of the caption |
| prevIcon | ClassName (string) | icon to swipe to previous element |
| nextIcon | ClassName (string) | icon to swipe to next element |
| closeIcon | ClassName (string) | icon to close the overlay |
Swiper Options:
See Swiper API Docs.
Development
Devstack
- Flowtype (with tcomb + babel-plugin-transform-flow-strip-types)
- webpack (for webpack-dev-server & bundling)
- yarn + npm ( for dependency management and application lifecycle)
- Jest (test-runner)
IntelliJ
To active IDE support for webflow: Language & Frameworks -> Javascript -> Javascript Language Support: Flow
Dev-Mode
To start the webpack-dev-server:
npm startThe server will be listen to localhost:8080.
To access the server from network:
npm start -- --host 0.0.0.0URLs
- http://localhost:8080/index.html – Choose page
- http://localhost:8080/index-article-images.html – Article images
- http://localhost:8080/index-stage-slider.html – Stage Slider
Lint
npm run lintTest
To run the tests:
npm testTo start the test with file-watcher:
npm run test-devCoverage
npm run coverageTo create the HTML Report:
npm run coverage-html-report
open coverage/index.htmlBundle
To bundle the library:
npm run buildRelease
To automatically build, tag version, push to GitHub and publish to npm:
npm release
