weltn24-doge
v3.0.1
Published
A Content Slider micro library
Downloads
12
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-doge
npm
npm install --save weltn24-doge
Dependency
- 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 start
The server will be listen to localhost:8080
.
To access the server from network:
npm start -- --host 0.0.0.0
URLs
- 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 lint
Test
To run the tests:
npm test
To start the test with file-watcher:
npm run test-dev
Coverage
npm run coverage
To create the HTML Report:
npm run coverage-html-report
open coverage/index.html
Bundle
To bundle the library:
npm run build
Release
To automatically build, tag version, push to GitHub and publish to npm:
npm release