1.0.0 • Published 5 years ago

coffeekraken-s-donut-component v1.0.0

Weekly downloads
5
License
MIT
Repository
github
Last release
5 years ago

Coffeekraken s-donut-component

View demo

Table of content

  1. Demo
  2. Install
  3. Get Started
  4. Segments
  5. API
  6. Javascript API
  7. Sugar Web Components Documentation
  8. Browsers support
  9. Code linting
  10. Contribute
  11. Who are Coffeekraken?
  12. Licence

Install

npm install coffeekraken-s-donut-component --save

Get Started

First, import the component into your javascript file like so:

import SDonutComponent from "coffeekraken-s-donut-component"

Then simply use it inside your html like so:

<s-donut segments="[{start:0,end:60}]">
  <span class="anything-you-want">60%</span>
  <!-- anything you want here... -->
</s-donut>

Segments

The main principle of this webcomponent are the segments. You can register multiple segments by donut. Each segments can/must have:

  • name: required A name for the segment. Used in some api function
  • start: required The start value of the segment between 0 and 100
  • end: required The end value of the segment between 0 and 100
  • color: optional The color for the segment. Otherwise it will be currentColor
  • animate: optional If want the segment to be animated of not. Default true

To define a segment for a donut, use the segments property like so:

<s-donut segments="[{name:'1',start:0,end:30},{name:'2',start:30,end:70,color:'#ff0000'}]"></s-donut>

API

Each donut comes with his own API. Here's the functions available:

addSegment(start, end, color="currentColor", name="default", animate=true): SDonutComponent

Add a segment to the donut.

setSegmentAnimate(animate, name="default"): SDonutComponent

Specify if the provided segment need to be animated or not

setSegmentOpacity(opacity, name="default"): SDonutComponent

Specify the provided segment opacity

setSegmentStrokeWidth(width, name="default"): SDonutComponent

Specify the provided segment stroke width

setSegmentColor(color, name="default"): SDonutComponent

Specify the provided segment color

setSegmentValues(start, end, name="default"): SDonutComponent

Specify the provided segment values

getSegmentByName(name): SVGCircleElement

Return the circle element representing the segment

Browsers support

IE / EdgeFirefoxChromeSafari
IE11+last 2 versionslast 2 versionslast 2 versions

As browsers are automatically updated, we will keep as reference the last two versions of each but this component can work on older ones as well.

The webcomponent API (custom elements, shadowDOM, etc...) is not supported in some older browsers like IE10, etc... In order to make them work, you will need to integrate the corresponding polyfill.

Code linting

This package uses some code linting rules. Here's the list:

  1. ESLint with airbnb and prettier rules for javascript files
  2. Stylelint with stylelint-config-standard for scss files

Your commits will not been accepted if the code style is not respected!

Contribute

This is an open source project and will ever be! You are more that welcomed to contribute to his development and make it more awesome every day. To do so, you have several possibilities:

  1. Share the love ❤️
  2. Declare issues
  3. Fix issues
  4. Add features
  5. Build web component

Who are Coffeekraken

We try to be some cool guys that build some cool tools to make our (and yours hopefully) every day life better.

More on who we are

License

The code is available under the MIT license. This mean that you can use, modify, or do whatever you want with it. This mean also that it is shipped to you for free, so don't be a hater and if you find some issues, etc... feel free to contribute instead of sharing your frustrations on social networks like an asshole...