From c782140fafac6adc984a24687d87803687c61b9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B2=9D=E6=96=AF=E9=84=A7=E4=B8=8D=E5=88=A9=E5=A4=9A?= Date: Mon, 24 Feb 2020 14:55:48 +0800 Subject: [PATCH] HRB-3334 fork no commits from https://github.com/fralonra/lottery-wheel --- .gitignore | 63 ++++++ LICENSE | 21 ++ README.md | 298 ++++++++++++++++++++++++++- demo/index.css | 84 ++++++++ demo/index.html | 193 ++++++++++++++++++ doc/images/button.png | Bin 0 -> 6347 bytes doc/images/color.png | Bin 0 -> 15937 bytes doc/images/data.png | Bin 0 -> 13764 bytes doc/images/image.png | Bin 0 -> 37206 bytes doc/images/prize.png | Bin 0 -> 15712 bytes doc/images/theme-dark.png | Bin 0 -> 15680 bytes doc/images/theme-light.png | Bin 0 -> 15620 bytes doc/images/turntable.png | Bin 0 -> 37350 bytes package.json | 41 ++++ rollup.config.js | 31 +++ src/index.js | 407 +++++++++++++++++++++++++++++++++++++ 16 files changed, 1136 insertions(+), 2 deletions(-) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100644 demo/index.css create mode 100644 demo/index.html create mode 100644 doc/images/button.png create mode 100644 doc/images/color.png create mode 100644 doc/images/data.png create mode 100644 doc/images/image.png create mode 100644 doc/images/prize.png create mode 100644 doc/images/theme-dark.png create mode 100644 doc/images/theme-light.png create mode 100644 doc/images/turntable.png create mode 100644 package.json create mode 100644 rollup.config.js create mode 100644 src/index.js diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..40c872f --- /dev/null +++ b/.gitignore @@ -0,0 +1,63 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (http://nodejs.org/api/addons.html) +build/Release +dist/ + +# Dependency directories +node_modules/ +jspm_packages/ + +# Typescript v1 declaration files +typings/ + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env + +# lock file +package-lock.json +yarn.lock diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..cdf8c21 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2018 Zoron + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index a4ac965..1e193ad 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,297 @@ -# lottery +[![Build Status](https://travis-ci.com/fralonra/lottery-wheel.svg?branch=master)](https://travis-ci.com/fralonra/lottery-wheel) +[![npm version](https://img.shields.io/npm/v/lottery-wheel.svg)](https://www.npmjs.com/package/lottery-wheel) +[![Greenkeeper badge](https://badges.greenkeeper.io/fralonra/lottery-wheel.svg)](https://greenkeeper.io/) -H2U-lottery \ No newline at end of file +# lottery-wheel + +A library helps you performing a wheel for lottery game. Using [Snap.svg](https://github.com/adobe-webplatform/Snap.svg) and [anime.js](https://github.com/juliangarnier/anime/). + +[demo](https://fralonra.github.io/lottery-wheel/demo/) + +# Usage + +```bash +npm install lottery-wheel +``` +Or download the latest [release](https://github.com/fralonra/lottery-wheel/releases). + +Then link `lottery-wheel.min.js` or `lottery-wheel.js` in your HTML. +```html + +``` + +Supposed you have an element whose id is 'wheel' in your html file. +```html + +``` + +Then you can do the following to create a wheel: +```javascript +const wheel = new Wheel({ + el: document.getElementById('wheel'), + data: [{ + text: 'apple', + chance: 20 + }, { + text: 'banana' + }, { + text: 'orange' + }, { + text: 'peach' + }], + onSuccess(data) { + console.log(data.text); + } +}); +``` + +# API + +## Methods + +### constructor(option) + +More for `option`, see [below](#options). + +### draw() +To manually render the wheel when the `draw` property is set to false. +```javascript +const wheel = new Wheel({ + el: document.getElementById('wheel'), + data: ['Beijing', 'London', 'New York', 'Tokyo'], + draw: false +}); +setTimeout(() => { + wheel.draw(); +}, 2000); +``` + +## Options + +| Property | Description | Type | Default | +| --- | --- | --- | --- | +| el | The element where the wheel mounted. [Details](#el). | Object | - | +| data | An array of prizes. [Details](#data). | Array | - | +| pos | The top-left corner of the wheel related to its parent element (the `el` element). | Array | [0, 0] +| radius | The radius of the wheel in `px`. | Number | 100 | +| buttonText | The text on the button. | String | 'Draw' | +| fontSize | The size of text for prizes. | Number | (auto generate) | +| buttonWidth | The width of the button in `px`. | Number | 50 | +| buttonFontSize | The size of text on the button. | Number | (auto generate) | +| limit | The maxium times the wheel can be run. | Number | 0 (unlimited) | +| duration | How long will the animation last in millseconds. | Number | 5000 | +| turn | The minimum amount of circles the wheel will turn during the animation. | Number | 4 | +| draw | If true, the wheel will be rendered immediately the instance created. Otherwise, you should call [draw](#draw) to manually render it. | Boolean | true | +| clockwise | If true, the rotation movement will be clockwise. Otherwise, it will be counter-clockwise. | Boolean | true | +| theme | The color preset to be used. [Details](#themes). | String | 'default' | +| image | Allow you to render the wheel using image resources. See [image](#image). | Object | - | +| color | An object used to override the color in the current theme. See [themes](#themes) | Object | - | +| onSuccess | The callback function called when a prize is drawn successfully. [Details](#onsuccess). | Function | - | +| onFail | The callback function called when trying to draw prize while has already drawn `limit` times. [Details](#onfail). | Function | - | +| onButtonHover | The function called when the mouse moves over the button. [Details](#onbuttonhover) | Function | - | + +### el +The `el` property defines the element where to render the wheel. You should pass a +DOM Element to it: +```javascript +const wheel = new Wheel({ + el: document.getElementById('wheel'), + data: [] +}); +``` + +### data +The `data` property use an array to define the things relating to the lottery game itself. The length of the array must between 3 and 12. + +The simplest way is to put the name of each prize in an array: +```javascript +const wheel = new Wheel({ + el: document.getElementById('wheel'), + data: ['Beijing', 'London', 'New York', 'Tokyo'] +}); +``` +It will generate the following wheel with default [options](#options). Every prizes take the same chance to be drawn, as the program will create four 'prize' objects with their `text` property set to the string in `data` array and `chance` property to `1` automatically. + +![](/doc/images/data.png) + +You can also custom each prize by making it an object. The properties for the 'prize' object are listed [here](#prize-object). +```javascript +const wheel = new Wheel({ + el: document.getElementById('wheel'), + data: [{ + text: 'Beijing', + chance: 5 + }, { + text: 'London', + chance: 4 + }, 'New York', 'Tokyo'] +}); +``` + +### onSuccess +The callback function called when a prize is drawn successfully. + +| Parameter | Description | Type | +| --- | --- | --- | +| data | The drawn '[prize](#prize-object)' object. | Object | + +```javascript +const wheel = new Wheel({ + el: document.getElementById('wheel'), + data: ['prize A', 'prize B', 'prize C', 'prize D'], + onSuccess(data) { + alert(`Congratulations! You picked up ${data.text}`); + } +}); +``` + +### onFail +The callback function called when trying to draw prize while has already drawn the maximum times (defined in `limit`). Notice that by the default options, one can draw unlimited times. + +```javascript +const wheel = new Wheel({ + el: document.getElementById('wheel'), + data: ['prize A', 'prize B', 'prize C', 'prize D'], + limit: 1, + onFail() { + alert('You have no more chance to draw'); + } +}); +``` +In this case, if one has already drawn a prize, the next time he clicks the button the alert dialog will be shown. + +### onButtonHover +Called when the mouse is moving over the button. + +| Parameter | Description | Type | +| --- | --- | --- | +| anime | Refer to animejs. See the [doc](https://github.com/juliangarnier/anime) for usage.| | +| button | Refer to the Snap [Element](http://snapsvg.io/docs/#Element) where the button lies. | Object | + +```javascript +const wheel = new Wheel({ + el: document.getElementById('wheel'), + data: ['prize A', 'prize B', 'prize C', 'prize D'], + onButtonHover(anime, button) { + anime({ + targets: button.node, + scale: 1.2, + duration: 500 + }); + } +}); +``` + +## Prize Object + +| Property | Description | Type | Default | +| --- | --- | --- | --- | +| text | The name for the prize | String | '' | +| chance | The probability the prize to be drawn. The higher the value, the more chances the prize to be picked up. The probability is actually calculated by the formula `probability = 1 * chance / (sum of every prize's chance)` | Number | 1 | +| color | The background color for the prize (will override `color.prize` of Wheel). | String | - | +| fontColor | The color of the text (will override `color.fontColor` of Wheel). | String | - | +| fontSize | The size of the text (will override `fontSize` of Wheel). | Number | - | + +```javascript +const wheel = new Wheel({ + el: document.getElementById('wheel'), + data: [{ + text: 'Beijing', + color: 'silver', + fontSize: 24 + }, { + text: 'London', + fontColor: '#008000' + }, 'New York', 'Tokyo'] +}); +``` +The above code will result the following wheel: + +![](/doc/images/prize.png) + +## Themes + +A theme is an object where stores the colors used in the wheel. It has following properties: +* border: background color for the wheel's border. +* prize: background color for the prize part. +* button: background color for the button. +* line: color for the line between prize parts. +* prizeFont: color for prize text. +* buttonFont: color for button text. + +There are three themes preseted: + +* default +```javascript +default: { + border: 'red', + prize: 'gold', + button: 'darkorange', + line: 'red', + prizeFont: 'red', + buttonFont: 'white' +} +``` + +* light +```javascript +light: { + border: 'orange', + prize: 'lightyellow', + button: 'tomato', + line: 'orange', + prizeFont: 'orange', + buttonFont: 'white' +} +``` +![theme light](/doc/images/theme-light.png) + +* dark +```javascript +dark: { + border: 'silver', + prize: 'dimgray', + button: 'darkslategray', + line: 'silver', + prizeFont: 'silver', + buttonFont: 'lightyellow' +} + ``` +![theme dark](/doc/images/theme-dark.png) + +You can also change the color by setting `color` property. +```javascript +const wheel = new Wheel({ + el: document.getElementById('wheel'), + data: ['Beijing', 'London', 'New York', 'Tokyo'], + theme: 'dark', + color: { + button: '#fef5e7', + buttonFont: '#34495e' + } +}); +``` +![setting color](/doc/images/color.png) + +## Image +The `image` property lets you render the wheel using the existing resources by setting an object. It will make an `image` SVG element and it supports jpeg, png and svg formats. + +| Property | Description | Type | +| --- | --- | --- | +| turntable | The image for the turntable. | String | +| button | The image for the button. It's width is controled by `buttonWidth` property and the aspect ratio will be preserved. Centered in the turntable by default. | String | +| offset | The y-axis offsets for the button. If negative, the button moves up. | Number | + +Here's an example of how it looks like when using the images in [/doc/images](https://github.com/fralonra/lottery-wheel/tree/master/doc/images) folder in this repo. +```javascript +const wheel = new Wheel({ + el: document.getElementById('wheel'), + data: ['Prize A', 'Prize B', 'Prize C', 'Prize D', 'Prize E', 'Prize F'], + image: { + turntable: 'turntable.png', + button: 'button.png', + offset: -10 + }, +}); +``` +![image example](/doc/images/image.png) diff --git a/demo/index.css b/demo/index.css new file mode 100644 index 0000000..71411c4 --- /dev/null +++ b/demo/index.css @@ -0,0 +1,84 @@ +* { + box-sizing: border-box; + outline: 0; + text-decoration: none; + word-wrap: break-word; +} +html { + font-size: 100%; + line-height: 1.5; +} +@media (max-width: 960px) { + html { + font-size: 80%; + } +} +body { + margin: 0; + padding: 0; + overflow-x: hidden; +} +a { + color: #1e90ff; +} +header { + width: 100%; + padding-bottom: 2rem; + background: #24292e; + color: #f5f5f5; + text-align: center; +} +section { + width: 100%; + margin-bottom: 0.5rem; +} +.wrapper { + display: flex; + flex-flow: column; + align-items: center; + width: 100%; + height: 100%; +} +.main { + display: flex; + flex-flow: column; + align-items: center; + width: 66%; + padding: 1rem; + background: #f5f5f5; +} +.section-content { + +} +.section-demo { + display: flex; + flex-flow: row; + align-items: flex-start; + width: 100%; +} +.code { + flex: 0 0 60%; + width: 60%; + overflow-x: auto; +} +.code code { + width: 100%; +} +.showcase { + flex: 0 0 40%; + width: 40%; + padding: 0.75rem; +} +@media (max-width: 960px) { + .main { + width: 100%; + } + .section-demo { + flex-flow: column; + align-items: center; + } + .code, .showcase { + flex: 0 0 100%; + width: 100%; + } +} diff --git a/demo/index.html b/demo/index.html new file mode 100644 index 0000000..ec414a9 --- /dev/null +++ b/demo/index.html @@ -0,0 +1,193 @@ + + + + + + Lottery Wheel + + + + + + + +
+
+

Lottery Wheel

+

A library helps you performing a wheel for lottery game.

+ REPO & DOC +
+ + Fork me on GitHub + +
+
+

Usage

+
+ Install the package via npm: +
npm install lottery-wheel
+ Or download the latest Release. +
+
+
+

API

+
+ Please visit repo + to see guides. +
+
+
+

Basic Examples

+
+ Show the drawn prize: +
+
+
+

+  new Wheel({
+    el: document.getElementById('wheel1'),
+    data: ['prize A', 'prize B', 'prize C', 'prize D'],
+    onSuccess(data) {
+      alert(data.text);
+    }
+  });
+              
+
+
+ +
+ +
+
+
+
+ Prizes with different probability to be drawn: +
+
+
+

+  new Wheel({
+    el: document.getElementById('wheel2'),
+    data: [{
+      text: '50%',
+      chance: 5
+    }, {
+      text: '20%',
+      chance: 2
+    }, '10%', '10%', '10%']
+  });
+              
+
+
+ +
+ +
+
+
+
+ Can only draw one time: +
+
+
+

+  new Wheel({
+    el: document.getElementById('wheel3'),
+    data: ['prize A', 'prize B', 'prize C', 'prize D'],
+    limit: 1,
+    onFail() {
+      alert('You have no more chance to draw');
+    }
+  });
+              
+
+
+ +
+ +
+
+
+
+ Custom styles: +
+
+
+

+  new Wheel({
+    el: document.getElementById('wheel4'),
+    data: [{
+      text: 'Beijing',
+      color: 'silver',
+      fontSize: 24
+    }, {
+      text: 'London',
+      fontColor: '#008000'
+    }, 'New York', 'Tokyo'],
+    theme: 'light',
+    radius: 150,
+    buttonWidth: 75,
+    color: {
+      button: '#fef5e7',
+      buttonFont: '#34495e'
+    }
+  });
+              
+
+
+ +
+ +
+
+
+
+ + diff --git a/doc/images/button.png b/doc/images/button.png new file mode 100644 index 0000000000000000000000000000000000000000..b69b4ebd5864f2f36e5462a3e4a214826a70d6c4 GIT binary patch literal 6347 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 em3AAOJ~3 zK~#9!?VWji6y@E(zq7l^Y%WLym7GA4Hyr8YEQmtZD zj(QZ2TJKjaDk#2!N(8kAivogx0YVZIAjlEIxtnX=Kb~i@lVy|4YYA1p143giN4d3hRr`$GTz`sSs7{|e=V6TFGL6uc;jCa?%ZNr}qRrP&k| zsC@Pr?A)0R+zDhi(}8;i1&KNF0_F16Un+oEbnjll*s(Bnte3H4E0o^76Tl<@2_XAMyQRo7T~Ecz$1X^-Mc9;-Mc4%NdRK8$1PeUw8YY-D(lu| zqiL-H5v}d0wFr!&%woup3eG&!%eZkB%K7IfU`a^xP-r*YkgIj-G)RN9HCU{{_Zn>0 z;HU--hE0pn&3Fw*<+Xh;uk~!LQ>Q`NjW_0MAAYDNdPG9dRG?B|wR5D7J4`wY%=h)jD)AYKu+n9163r z2v9n77^K~OcdoX5djgiY0b|uFRr~d?bG4+T=Cnluh}L0gs#TJb&epEIHcwl>J^@P1 zg0XqCs$G3`uI6wgw1r(-#o;(xyXKlaZS&^11tspnyjoeA%3uDH&C4(6Qdf5;&=6CP=TVVGr8xULgk@{ya_;}35<_EQn~4-Y_@OD1*QY1+o~~C3B)PD2w+$k zKnMn$)xdv&ZzM1^wri9Xz)bq|DQ526a%I8B(oa?35*ELoC^NdM5yDR)R( zMt|C-N(e?sC{6;BVyv-hB_u25wi-AZa?Rpt)Fv>C^UvSP+_~jSUY<7rNVws+|9+L3 zGec`mIe~ilw+r|sa3L_3_{)2)1wI270G}JK+t>!7GQ0lpheGB4`@IQ3!U4w8r7Aby zoXys)_Lx(HfQx|%Ku6k#R0Hn=?*SWaGP?#2Eart5%9S(D@FoDU3yzy^QhDKpkrIsD zHkngKvmy()2)I-pwLQxg;9aR%szPFd8O^Sl{Pwqn%5%?o6M%#gj8&^tuDU9lAAV@N z)-ak7J%Ag4Nm1xzM}w0;A9xYi*=F;rsWurfpqMw_C|8CL_a*>oD;$6QtI7ipjHI@< zZCb+tG|0d6fSZ5|2Jj8fPaN5LYa%E)9xyY^(FxEZ>9Wv zmAP|+heMbCzznH-5)wZ7PTskqHk({C$j>iS=Fasd0MX%?G)ZOt{NUhl0d*r|xI zj6^Al$T{-!fjNkbWb0vJA0(3|6)N-Rd)qxA+UU_L%a#QPhi>=&446gx8TpQO*$3PW z6b9v+_#hcOwooZ3@U}}pw5lqFv(HXt<;oGjpMx^1oQM>~8xwspDz(Xrz-)pUT+|`? z3#Xm-UluPuqGV-h?FJBS*REv7jqAnt-wy?DL*&U?gQFYp6fii^7o%EM19t#F1_jAC zz~31%WDTEwx=rcY)f@MKXxp}_j2Uw(#l?36KS9j1Q%#?(CQYh2h*@|EiGJA++zWhx z)hL%2*bb~GFYj@dF8x~R)yo^VfM|R7IyvKv!Tj*Uj}iluXKN!#|iM4yXEc?ozz z234#XYaZY~3>q|z&p%(QbnaXiu2Xh|wSmq$t0O=BaF)~@*5F8$Hf;iq*p=($JxsOy z5KjS4X2XVy89%;LI8QljfM~z?h03Z`LxC%R&X(Zl47@2lm4w8$jF9&-%knpm11{j3 zZ+@bU8s&~FK(tFPQTgJFk-&Yx5X?+i)$!>G{2S<-=v#3kedRsvY01!c0t12jSiXFu zHffR?7l3H@->>rSyVk}zbVqJ5@HQf1m5}(76Xd-ej4wT?bx{G)m*&quU3=sa+aa;l zN!RAjSD7@)8XWq-(l3FzBqlP&yLfrUN(NUTI&^U1)%W5bPo~G^ErN#^(Oqz58<>hw)rt&sAxS~h+wBGP1};I=&-&7DzXn9A#Zp8` zP=6U=078*4WH;aY`vY8ekVuu@}5RUQkdIkb7OARs`7>EfP}VwAWu(x%z7BnYnrL37lql?;v7OaHH&yONfriPg7(pWv<`* zcSxY0HFW0xk&yI}o%u}Q0l#DQL8M_I&9yneFPiy$G;j;>s_aZ#5h2rm0?BfpSLHEI zMx=Oblx=%*48WnwVc<$c2_kdiMdS|8V9}yN<$?=B=8uF-gJ>lsD!1HX9gc2NW2E`L zpCKDA8a2s2;48U(0{jJ7gP4z^%T%dh-jh$og;JAz(8k|>9(WRX1NaD0X{11YwjD87 z{I7@+>vtqnug4G^$iDC|pu6d#`oh0gUwyh(Qlds3AY67?Hr3VBEy2+dcm-%Kc_3OL z*(}Y$zXSh}X3SZL*gn8|3Ct8j3wM$oV__SAdo-eYJc!Zgeg^ZcOlqt%4EDj#fORnh zhc2DvgVX#RAK|oDS5N2i%X?~GuM#zYX!-dn-+YrRjiuJacPckVR+1fpQXXv4NZcH*{3p5OmTGN6HkMV00#h@`+z1AHgi;n3wo;2A@IF$YO5 zD_7=n@4X?>B5khqp?&t5%9t^FIneA@FGUaM-YFe(GonMH`y}T?kx!z#iNBHC4ue1N zE@GjaP+60r|wmV>1Qtkd!-L^Ukt*b%Wy)S?PgN^6#gYb0348oyHrZlsz@iQx1GqwKoC$F|`TcL8|i9wlK zL8~9_!V7a*xbP|YtTY$3x?9@mp%DLZlEp-4?$$xzfb6)fJ&sO7jA;Zr@8xF1xX8VJ z@4t&E?zSRK*IbDhArBQCMtM$JAm$C<_3P)xb ze}4#~Sh+c`!VUD~*=N((zd!VVFn4Y?9?zYa8S~IP>zxs}Y5tImPe2lvaOiTcC5@Ga z$J3uVb5cSIh*njlFmGNOV(`VBV}1{98xRZ?B;EuhaSI2skKJQ>@9w~4=FB-!tEzH@ z3=rnbNu|2FKO$h;y7m|>9jHi3j6tGlO}7Lb7UVM1rhGEchwADfX0?bZTTJWNF^}r% zd5DO5>l)-$;FKu2q5Baj7MtanFD5GLY*~dsQ4(;pDF4N5S=t)l3o2_vd$vk-bsxn1xMWk>BU<2yQcYrn!>BbH8pIYzlSEvrL^B*9M%T@2kzVZI--l

T^l!)-9LH%GO8C^`c)-BIaI4n?#8w(L1^kfIw!IqWH9i|KABXnvstY1Bk5` zpcA9(-Min)wr#~qQj!*w2GRcae^n|g&5fFCQpb#oQrkHSG>JbD4GmCV4|Q^Ll!;CM zzrMbyMu~_fi4{1I59Sjv6ZRFO>pOSmGJn1ryooh$UN$0FYc8~V6VbhZW*|s*L=cV! z2}2#Ys=&EPY_2NtUR}M|Ct{G4#}FKPZ~m?6y?X*vnKv)HrGdj{0ny6JRF*F{pL3N3 zTtxJXKP2bc4~ah7+`7c+VyG3A-kV zRXB7P-25U-LW}(4AI)l!<^g&Bc~!#Ey7ov1eno7F4oQF65zez0l0b0K0Pc0*I2z!_ z92K9@&@v<;mkMBlY?J;m28S-c!t8Li=;JTEpi*0FUV~^KeWbE)U$*I=xqxE}zr_k9 zFWF~q8K3lxaMVF^#u#mK#k}KXkPvJqj~e{QsP5G1c^T!#<7l?T1c&hv>&ii zy&N?0ozz-`KT_XxvA%vX?cvujs2%a^OIYY?;Ml@e!w7$NB$93-tptdi;> zZDZ4jm03|5#CMZI8QF?wH~=p8>#MDqS#Q31jG1*TAfoz1>l#Eu;&5}M;9*;WTlY<7zI zzN)Z%xoAXx4Wg}HtukzwdH>@y+K&X#B-%pZ1lkd?vKrZ{A0h(*hIu1Sr`$&YtrV0C zBV<-h$NV}lcFAe@O1rkEMLeEt)~+o^7MODww1;{B!%6H94z^X3Ob{K zTxustO_C$dRfi+2Q+D$RyryDw1ER8PS2mTEs!xNgS!3S+NJ4~o!zoJ;Ym1Bl#v+z7 zTOA=dbf-KM>i-FKy`ZKJQtuHCGm)%5qCxrwaV|A=;@s;0Db6(_Q+7W<%qgh^mLrNP zY>rUd47ccqtXY$-X_}$~V&4DwDdC+t_=t>zbVk(ry%4b$-*vLl!wgB2h*bxuc^Z-j zLfWrEiGqS}3gTRn`ipa`>ky`iR)J(caJzh{O+i!~nTVLsv?I(7qnduO3l;rgZfzZq3hB3k^Jw&#g3iv6o)7y|#W@`;E!x%nv^poOJn*Dd`o)3)&)8V_tyI z&O)p(v?t7_l`OiT&kD@=5nNFON24WtM4X#G8?nCLrioT9X^$0%H3iQ=6!plG_j4{# zg;=&aoRVW<-zI>RmfG_pZI$kb_4Wb{w(XOEgu&eNuVbZ0tkREwyCQmn3hoNX@QCxR ztqVNTZkyC1reOyPD?1VOtHNF3vR4p*XjN6oR97cqCOI+O8e{;_QQEGngpu+?@xA7 zT6%{3YRi?|H5tJQ=dxxF#F~3|0$2ILIu3X+jM_u5XC>h{en)sl%G>OZc;NV*us0i= z4sa--B#D56?S9Cg5fR5T5c4ur>4SU>Tn?NV=EmqD`*3aR&lO-8rKMReN=u(bjElFv z25N2u?r;y_O~hJsC5Y<4{jt5SZga)nYHA^+0o=QY8F5!aN_TPY4u{+fj=F82j6zJr zdJ*43rM(f$@{NyBWAu_5taao5eo9MgTof1Q`595s;h=+9?)N!FF40LqzwrKi6YXIz zuR87^<|L&O4tEEaOC&NnwJ>Rs;Y3&7UXCe1l7SN`F2=>~-HN4yhf_KLoe<+74HA?I z_N(SV+Cz8F-5R)KaB)!gE~x1&0C72?K3rNP+Qf<+RKx(&6ksi4 zIq54UAQKUDGqUW1Uj|w{xI$am4$D(g0l#z&;lw zNk|&()*_=@`TR}7zXXMqKD>XwML;51J@F*D-2u#y4*DaAHLtFd5iJ`a(I-ObQ)rX- zHs=i|!;hJCdFRZuhGh#^{#(gkXd`1bKv$cKF4-uilIaDwKr(adVDV8Ych zx^-~``ckSjKpa$6MXv@qBDKV5;1=MpjDUP8U(Z0~W<3JDWuJMa`yZ)Cf;ia5*Wt%C zFzk1}_byus{V#*-*TLD(Luywzei+=e1;)P!1FnS8PryyZkR>A%=e-K2PV*gO(6w;Q z%BH_{V%aM$(H9p`QG`ZqJxO22}5cPAvj&coBRfPkuH+li7Mr429A)$B@IGbZ9 zYxThF`gGPIF%)7*IuPW+wiQ5kzc~V@PKVE@!PA|fx)^@>H`uZOUL6jLt`x7kzJ+18 ziT#T|fIjCLI@viwt8|ewfinAo+CjkBQh4S-(^5gkLBp^~6|fbvlPe+zh}Vk?k0*Ko z=_oZtAV+RD@RamN`T&2k2M#^Gq`m>1-XIU?*#~aFoQr)$u;EqT|MSlRMbDdYfJ=oP zg~9~W0U7leq;`X&yP@Z3*!m&lPJrFtiPw_Fw3cu0tnryx_4S~+eAgUuNB!nNW+-Az zt1poW|61w89*;#p!tH~25hLjH@Qr~S23`POMx@@`C{0Gt>p`gx@<8b)fXC02-TtMY zgOCM3e-Qed4{6<@<^VX|uy?(D>TZInEztX1s45cwuYUzjxl;rIawou=r&~Q0N3Ef* zuV%9b8Q>pEL!_TviAaHW#v35v)*xBHRN#84Aps#RrK*SZ;y@B_9#Pei)I$V3WoOwCSdnt1gIx_PY!^4Thz+ zH@{EH@o>V=;oS>-kuHF4etyf=58$GOkl6=5y+vr5?O(#UCk0eB)s{3!plbyiOs!I& z2vJ$37chj#E%usj)dz_M`8gt|XKMI<(iq9owTRZ*eN9S(PBL2H&Vt_K;gq{z%|D>L zpoJSz1>XJ8?Wa)kp?GiLHPB-u95Up!RD20q19ZrN%9TE?GG>l&_)UmH8wy@qm7T!v zWwc5Wt`+r&EZ)Zgm|)=$i-7?bs)}hXvOi2()B2ad@1)74kBDApKO~KzP^Fb= zwcSUG&@Dhit#HJb-34o&Y59j5YT<*+;oMhX$jzYD!;Y`u%lqK;KO0V{4oW@(N0Qjb z2*}p|Gj~l+!!=e2sIE5mg{3s9OKY24 zA=R-Nc`x)p=uWw}299{(;9)p$2!`zl(#*2z(AORo8pQ^wbHeHqpkoH4r$VY5)MSx* z;&e8hp4%qbg;*H%O9EFmxg5AvKJ>yV+krDp?%S~=F5GTR19CV_7x5NRDRoI<0OZhi zd#@o}1^-mU+>7KE{Mn=k+(avby>2%S+-`dg9!H`-QR`f>e=Rl1fi*Ff;#Zp60wT*l6#DB>p-1-x!ZKN#bHs7lp2!_@=0qdZC8`E-g0UsB^(Kk8sfSskcTg5^_*}ABBxzr4M)OhJ$Y1q8E@b*Tph+ z6h#qG=pD%^qdbQ?#;*3LP7~MQaEJm9`ZfArd&ngkN{%Tl81BmD5vq&TXrs#~tkWsya=W0UM%eMOCI?cX++!%(;FM*695y=Z(-1XypO^RS zE5smhC&X;Sh6pr7sfB&JbiqY#?iNI}x*M%6i&Glri-}-etVZo2JCe&O=5i;w;KvL| z_rwq#8tm!-Nt(D0S2*C%OOJj=)9Q*@h{bHqLzEsJ6qSI~0F~tC*0{*Y`7I)a?0#CS zTe2krH#Y)xu>xuk10Y)tLl?Iw>lq8OKTQM}I;25zk}TTbl11bcn;k!$c zK+H)~l*0EzP)z#+icPY@- z<_lR*WX4J8Gw zN)jEewpMKG8(?THq|`?j90xV{vK}(r0%o`B=YJTS^pKlZMv11Awwm-s8boKStB3k3 zsDB*x?u74Ofr0lxT7*6K!wPKt2o4;E^amkj7Pz03_(T8z6-7xzK~($snODv*X^+vZ zd>+oyqh3T7vAI1fBomE*R3Jtia^=>1lhw-z#EAHQ*ci<$MG;S3%?S-ISqf+$H2et~ zc8UsxyKaH43XF3@rwA>{w#N+xHIQ~Aq(31lx~JR)?&l!6ztkSiFlvuzDm}VN_TAQ{ z0+_|np%sdvh^k0R_wHV;Tek`-E6o`#D{TfOO4ip71c}QD+97DT0~)qVV4eW2BjACh zN8q#!IPqZk>Jl^nWf}0z5lBmgv=m7FE2RDj+&e)1EhN1Lu6|7i2yN9K5M8B5S6a|D zJ$h8ot(({9g8-a%nr6d~1t;$y1_Pr=o9Irh>j1bWLvlH|U6ArTr1ch^GA%_+V_kU^ z)^&hGVW|6b$OY@tVU@>s4rwWn+67Yn4(^_iTn9vq|m@u9v}i6F7=NxfFO0lyHn8l_A_39IPD*QFvs`23CmAAm z)4>bL4b5kW)+pe0!hvLwCGo=n5k*UK2{4kAz15l1|`wMF6f8OWS_| z_OCe^Eu}~QYeCm!WmRy}NdYtnz^G9gOO}}b(JAdib0Fc+l0aDmWQ(w`u?79LhYm<` zk|-ZkQ!BRGS}3l8B7KdH07cxI%w((+=8?+@8L7TwCL2I7j+E=4xtvXNu9QqrUX$0N zL-L-@kVH%AQ7it(si%qt3kb;g@m`iJF*hEv5|J;J7XNTi0wfDKv}~W&(A!Z-YTBtA zO{`j9N3M~O=nL31sj!ZK#3*_qVUy#ze4Cy$sp`Na`##g*(7)g4ly?N>b$Lx&!URdA z<$&~=&H5h~UF7vwdX1uO+^8~e;Aq6c0xkO?AeJ7uynVpIBA};iC%;vwnye#I?^~{| zajR|mf1SR{Q-h&SE`Az>W9Or|TumWKN@|*bs4vjzKiA_Jr@Yz#Nm86c@&;z-4HW~w zqoicH(z~}OpaxL}4)kihdR0(XX3h_JKTZMJ-#i?8M>CF(9Ag^!%^|5v@-X=bj=f3CUX*a8%d(h+#gPm?Sn{MohPkoPV4AN~7RkdxD-?;o2m za{l=qo_VHqGfM%!MNE3>7H4o=+dLfpkQh62V}he1)**K~z@;z1ljK{7r@k5O;SZX> z7BRjyri>`Q*FajM*>J8uBoh#8K*kd!6Hq|hwn4abvzsN`vTjO|2TGMe2J%sBvBp$XjzoXRw zK^>AjMCg73qPTRt$a|Jhn#F||HimZt`XG&cziZdQ?ArAfVnSrgen>WfXN|=<9LKbo zcI@9xd=!JPV*KBKZ4Q6rG8tp}stTGLU zFt0AY*c+(fnghg~nPuG(ic2_}d-5Co6aNBqMqvEm3G|uMU`7R+?9}G`s(6FMe4iBN z)s!#rl=GAY0(`+AaUW1gDs^sL1#_XVBmeeB2F$715%&NGQSk)vRU<_uLS`&kVWo65i zUcCZVIcrvfC^8wX99E%fh#3dx3 zVz#ts4Nyk6Zd;i=xmBykVd{|i`8%X_x6{=Ak70I-WBB3dmgwto2T46J%kBJ`VpBLRt>vRn2w^V(w``T5(FtgMER0V2(;3fyk<&iWBxW&(}`BsR-T ztkh^eg4!WxVf_8oh+zeDsW)Dr zoXL|9lbLBc&T1*EN87POrElNUIehqj;B?HC{_2fLQ*ed>j_ZJp2{^(ohk#!r)*N)p zPTM^Uj`;;*t~g#(xZpz#q%6i&PnOf!^?g5t&obXJZc>F1RT+$Nj!)J zI_+Mn&%9%fH2!9C-+h+gu&hBEHA(;ec@z~rg;+zV^);5~(r(eI{v36~-;&xja#&!gCf^+6r8(sGxs(IJ61330zHd)R-sY8@v4EOqp z{+eXG4VuIY{LWHe5~Jqx=2cjQBWOUBbI8V!8O%e_TOKWLX}i zZ~)vcJI*&2zqd+u#OXjGVu6@Fh*e%gA)m|FWd;Xz1@Hw;v!@pVPfMs*Akr_k6L`VQ zhp{i)Asw-JXQ&}rDjxvmqgE?OOM8SzA8j#X*A_sO6HoN=;DhEJcKy?P5Vf>I2}h{x z+%EFia}4j9nfU)A@H5~n`Tuc<)s;SN~K2gXE1Y3W2u#9=H!tsP7Q)C1TFC5gPqB2hwzrQ@y0< z2EQl#9f%czt78C?I%)bHG5rl;S`8n*h1+gx(^9XFHaEh&dF4`ztS}A9I{BoFHaPT~ z`ai%Uz(WKsts3Zgq_%LY0)5x)GwnaX$%yf!0TPZcfnP{p#|X&z(*HQeuw5cQtMxnX zB~lALiMCXFw zvVHc-{~P3kXc#a!!10Fy=Sqj2D1_u&;BHI5B224OPT9g^k9k9J+K!Mlz}s(^)3Kv9 zQ>zvc4lRokI4Y%i^?PZm7-btU5_m%TDMlF&Tqd{QNK`!$tu!Oyj4C8uQ$N4BusELCobAv4DT6f`V0?X-qa&T zu)`(J0N0};#uyGDR-B3?B)3TIXTE0&r~JJ03YAA6^@O}X+i~sMu3ajpoN^lF!aI5f(12umcX;00B@=J=Mc2uL#@F z3M2|*)~Gz18x7LX&5jeu`jz3 z^#e*Reai>O_170FFTLck`!tnswTCu#teb*@pCe|43?a}8yUj^A8S&_q=vQ$e+aw&; zash^f zfVUYw{JU_$5mrC|SiE>Ig9g2eNNzA!rBRn^;A-IAL?4S;d0YCG)>G_{0^c)Wz{h;@ zNm$DfD&cM;ZTohWQKL>{%a*$l!$c=wb|_AdkB>*>F{LE>TujJeM5JmdVxZD|epL-( zPULz940xP^g0HPsC5bseKn^6Hd1f!xtveYpeQJbh$6be{C!*x!fJFa`YWV?CWMKzZ z1^{)3{2So!{NyKVSh}=K>DtvB?$cKy)oxl0Ka z&7SRM>eS#NQ4oP+r}Rs1M^x}gh<$PxQDgH>sV($-5G)+CXBR3{r+T90@|0+6Z|%)D z-P~})NRA%84>$>t=V`4ryzZNHlD6=~L_ZGwjgscnm*8}(pswJfD=G1iBn%SUhjhXc8SIpaQ zmn%budZO)8m1w;O+MYcwF1xG~pM5q2F+(HfDc1smEBqJ8 zq&olnLf&}8t90zBMdKwa(SA>~nKRu?pFUDPvvLtbglbTL=r?sZqWZ{~SZIMLFr}6v zicYK!(3ZiPR4|j7GYggJ(>>9A`7zNwv{kFzTzY9XB_+8Ml;E|A@#gkM6bQJGw$D3{ zH>p8XKlvBFvP{8)(bS|GFrb(>-YB*E}ADM;}#r_~DUwy=~Vf&9%&M z3Cg*|UmD8+MAex0rEj5y91Ni~RCOlPrx)`3-+O~u;VA(~TR_>e#m%j^X0v#4E@DNF zJ|P3em_y`5jL4jZC_g$Z27MMUVm{tiz}JX~RDFPJ4HXzLi}B;P^3+r1N?x8PR{L1Y z$8a=FQ&_Y}B|qOjv&-K(RV5^+OK5(A{mWcim3l(*6-?ojW z3thUT85R0v*L+$dHFYL`_(LIg-yM_YR9pkn2ufL*n+G4v=B1Z%sjCaE*%gdr8Nlf& zfzh`Ph}yatayw3Tw?lF}h?tmsK>mGLzP}9-dM&}~?0$Q|aJgo2-E~{}^PkI=UcEdd zB>K%RZS!WgcIl;gnxdSe!4eHNYv9p93)|+5liz5%c{JFf!4l2kI7hqs>b~0M&2CN8 z5<{*r3Cfx^ZtdD@^EA*wSuby}C(IoymNy-W^|B4m(SH5wzS`Qg2{7UYl_fzf@Sq;x0auur*-NyxShjtEEJtO4c2bIJx^P`x?O7vB>{@2P+JS1e4_Hs zJJ~E;sIqr&He%p0TSmXKBNhd->9S=^tWpMpD}Y&a?OMTw7kat$(hA0m@sgB8tdC

wuRSGGrHH$9kDCp@MPayg<8$A_0gM zSSl-33JS9M^i!43K7-QISOLZe1dUoEC#QljV>HH%JH**%@1jeWngkRHKtclxKxwJU z#~)`?P@qy!0K0el17j4s;qiySC<2J?-76R~2F8x{GHzT2IXR8{CZI?FVm~lDcBm8; zWm8n7Qd9&*MX-4@Y}o=L-Q@}SYDZfaBbEX!CO21OzyRpqU*Ej+?_WW;ZV4dTAg)9c z1o2d9+R;3krWG@0%&|Le*Z`Y0dD*lH_U?s)2gP>iP~g`pnKzP^1sNHTo-VeG4B!9y u>+#1!zkXi&^($t;fDHslSWf`acKLsBKICD^JdLIR0000=cLo=?y7oFCtN{J z91aE>1_%fUPEtZd2?z+7=D!CD0x;s?6XOE-gD{d77XkYD@0Z(Ek^mTiwwKU!0s?|X z`R@S+O3%au3_?0f%8Ekn1EWFVQ4nEjlmP(|07;4ns<^LTcDbcyExFwMtl9DUjHmIL zvBZm^5h{wr0U1ZZLAY(&OB-?1N&3b(Ib6Hkc1iZidDozv?7t4XUgB`C#7Nh|ts3Y6 z1zLy+Aww-H;540G$#6bZeY}itBSS?O#<4gZPns`3Ofn-dWH#)$)qHJP`KY5PNgW^Y zVC+Dy47uqP9$>m}J6de`?V8o&--U=?;<)nqq6fx@n;U>PY}V17M>7BiWc4+ zm^DD@?_)#)K`nr(3Wg5}KqV?*s(>Rw7YrLyEUB8Ss#2(`mM*DMj8QF?OUZ{1J?C1u z!RY=pR*D}()3RZzSte1mvQ$V|qCkUA zJg1VbsklPna9wUn~7lmkg+ob0 zHQY`%Pg|p9x*6mnD@#F{UKgW9g z-JpAMuB#Z7bi{D^r$0jqfvSL(r z^<}NYS@AR2USh_t>J8gTo}~6B!G_k%YBV3VuT3?a$ZgN(az29NTsBZHddI*Ohgw#e zfBe2-nVoJxFE+2UH;QapK#~ODfaO`q8=J2YX!<9*DBmjk`I5eGrqYnHIKLA>J?EZ4 zJ(UMi`q{gEg@+*Rni5C7)x$k{sX!yg@h22E8`p5ZhkJ@PtFzg5T@Ai;YKzI@)3t5# zD@um@$9oEyZU;Cu7u*)l*P*;6%gT8)-p2UxqI6!;6`RWEGg?~zTh;#abH-3~hEm%O zpQ)C1OHtuLXM6$7)Y6HZ&VhnU0yAk2>wVbtDT)(ULMO*H)pLH?3l6n950=*gPH4Zn z?phfu+a${4gTE^F*w?e0>G8GK@|xH479H&cMK~WhNBKfHazdkbGtkL6x%BD#3F7r^ zCV4UGE=XW6MTod|-a__g#faY9X?K=(g)Yk_V=4hq4TJ__S^Q5u(C-zX*mYIaNf=t zyufF8K;Tcu{(8A#e{0+H@?Qa&kURN?mW}D)K0(N)RFvp$kT8#nbu6cnz-B(mG7LKer_#X`0AGEEQN@MQQnGZZ|@a0Ym}_jtXqM&=lR0Y(yY4lW2P{AU+=<2Q^j0%mLA z_?f>|0YemhP>t7Aarw{tS*MyNCE!$eAZX4!SGir&iFe-R%3lF_N5X?e)zIigJ}zjT z$8!59cbM#DJG0T?wuH=egvX3IWyt)w)T1UkJ2O+yofETjrm$6=Q?;;hl%vI@Qs>#| zD92}C!TqY}#06&116E`EHY~pDOk`-66~*2xXNv_O0kFBRm`?+#DJ?SME=p~ zTkhrAk85QHfw%g z+O{NCk!&VPuAv)Hzk}~ru=a2;JHhad>I1;;b&>^TTQ+T z3)ucQVtV_KhR#=2vc)?4L@!;5JC7gDjqc{hy=94Apmwwmy)e$y+-#?V2 z40?cST=)KqYx^jHGv;q|<4pc)Q+8CX@s*@v*~u1%%h|xr1Qwj>nHJ%U5MdOoxSc~m zrX`%)=hKqOA0n|-AsWv_kHd2pr>&c8Wo0Ygjrw_xWCk^e&Y?3{%-X=ZhZTHL<>x

%J@*CHs-It_@s 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 A2mk;8 literal 0 HcmV?d00001 diff --git a/doc/images/theme-dark.png b/doc/images/theme-dark.png new file mode 100644 index 0000000000000000000000000000000000000000..dfd8b60e5502d72def5ff2a1309ae2b4b6a0a59c GIT binary patch literal 15680 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 literal 0 HcmV?d00001 diff --git a/doc/images/theme-light.png b/doc/images/theme-light.png new file mode 100644 index 0000000000000000000000000000000000000000..92fead89b3b467764970eaeffaca0668917a2bca GIT binary patch literal 15620 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 XD&V0XH9A~f00000NkvXXu0mjfl01{J literal 0 HcmV?d00001 diff --git a/package.json b/package.json new file mode 100644 index 0000000..b4cd9c2 --- /dev/null +++ b/package.json @@ -0,0 +1,41 @@ +{ + "name": "lottery-wheel", + "version": "2.0.1", + "description": "A library helps you performing a wheel for lottery game.", + "main": "index.js", + "scripts": { + "build": "rollup -c rollup.config.js", + "lint": "standard --fix src/*.js", + "prepare": "npm run build", + "test": "npm run lint", + "start": "node src/index.js" + }, + "repository": { + "type": "git", + "url": "git+https://github.com/fralonra/lottery-wheel.git" + }, + "keywords": [ + "browser", + "javascript", + "turntable", + "lottery" + ], + "author": "zoron (https://github.com/fralonra/)", + "license": "MIT", + "bugs": { + "url": "https://github.com/fralonra/lottery-wheel/issues" + }, + "homepage": "https://github.com/fralonra/lottery-wheel#readme", + "dependencies": {}, + "devDependencies": { + "animejs": "^3.0.0", + "rollup": "^1.1.0", + "rollup-plugin-commonjs": "^10.0.0", + "rollup-plugin-filesize": "^6.0.0", + "rollup-plugin-node-resolve": "^5.0.0", + "rollup-plugin-terser": "^5.0.0", + "snapsvg": "^0.5.1", + "snazzy": "^8.0.0", + "standard": "^14.0.0" + } +} diff --git a/rollup.config.js b/rollup.config.js new file mode 100644 index 0000000..2ad1145 --- /dev/null +++ b/rollup.config.js @@ -0,0 +1,31 @@ +import { terser } from 'rollup-plugin-terser' +import filesize from 'rollup-plugin-filesize' +import resolve from 'rollup-plugin-node-resolve' +import commonjs from 'rollup-plugin-commonjs' + +export default [{ + input: 'src/index.js', + plugins: [ + commonjs(), + resolve(), + filesize() + ], + output: { + file: 'dist/lottery-wheel.js', + format: 'umd', + name: 'Wheel' + } +}, { + input: 'src/index.js', + plugins: [ + commonjs(), + resolve(), + terser(), + filesize() + ], + output: { + file: 'dist/lottery-wheel.min.js', + format: 'umd', + name: 'Wheel' + } +}] \ No newline at end of file diff --git a/src/index.js b/src/index.js new file mode 100644 index 0000000..4964284 --- /dev/null +++ b/src/index.js @@ -0,0 +1,407 @@ +import anime from 'animejs' +import Snap from 'snapsvg' + +const count = Symbol('count') // 已抽奖次数 +const deg = Symbol('deg') // pie 夹角 +const rotation = Symbol('rotation') // 当前转动角度 +const weight = Symbol('weight') // 权重 +const weightSum = Symbol('weight-sum') // 权重总和 +const turntable = Symbol('turntable') // 转盘元素 +const button = Symbol('button') // 按钮元素 +const checkPrize = Symbol('check-prize') // 检查数据函数 +const drawDefault = Symbol('draw-default') // 默认绘制函数 +const drawResource = Symbol('draw-resource') // 素材绘制函数 +const drawTurntable = Symbol('draw-turntable') // 绘制转盘函数 +const drawButton = Symbol('draw-button') // 绘制按钮函数 +const animeFunc = Symbol('anime-func') // 动画函数 +const run = Symbol('run') // 启动转盘函数 +const running = Symbol('running') // 转盘正在转动 +const baseFontSize = 16 + +const themes = { + default: { + border: 'red', + prize: 'gold', + button: 'darkorange', + line: 'red', + prizeFont: 'red', + buttonFont: 'white' + }, + light: { + border: 'orange', + prize: 'lightyellow', + button: 'tomato', + line: 'orange', + prizeFont: 'orange', + buttonFont: 'white' + }, + dark: { + border: 'silver', + prize: 'dimgray', + button: 'darkslategray', + line: 'silver', + prizeFont: 'silver', + buttonFont: 'lightyellow' + } +} + +class Wheel { + constructor (option = {}) { + const self = this + self.option = { + pos: [0, 0], // 左上角坐标 + radius: 100, // 半径 + buttonWidth: 50, // 按钮宽度 + buttonDeg: 80, // 顶针夹角 + buttonText: 'Draw', // 按钮文字 + textBottomPercentage: 0.6, // 文字底部对于圆半径的百分比 + limit: 0, // 抽奖限定次数 + duration: 5000, // 转动持续时间 + turn: 4, // 最小转动圈数 + clockwise: true, // 顺时针旋转 + draw: true, // 立刻绘制 + theme: 'default' // 主题 + } + Object.keys(option).forEach(function (k) { + self.option[k] = option[k] + }) + + if (!self.option.el) throw new Error('el is undefined in Wheel') + if (!self.option.data) throw new Error('data is undefined in Wheel') + + self.doc = self.option.el.ownerDocument + self[count] = 0 + self[rotation] = 0 + self[weight] = [] + self[weightSum] = 0 + self[running] = false + + self[checkPrize]() + + if (self.option.draw) self.draw() + } + + [checkPrize] () { + const self = this + const opt = self.option + for (let i in opt.data) { + let d = opt.data[i] + if (typeof d === 'string') { + opt.data[i] = { + text: d, + chance: 1 + } + } + if (!opt.data[i].text) opt.data[i].text = i + if (!opt.data[i].chance) opt.data[i].chance = 1 + + self[weight].push(Number(opt.data[i].chance)) + self[weightSum] += Number(opt.data[i].chance) + } + } + + draw () { + const self = this + const opt = self.option + if (!opt.el) throw new Error('el is undefined in Wheel') + if (!opt.data) throw new Error('data is undefined in Wheel') + + const center = opt.pos.map(p => p + opt.radius) + opt.center = center + + const svg = Snap(opt.el) + svg.node.style.width = String(opt.radius * 2) + 'px' + svg.node.style.height = String(opt.radius * 2) + 'px' + + self[deg] = 360 / opt.data.length + + // image resource provided? + if (opt.image) self[drawResource](svg) + else self[drawDefault](svg) + + self[animeFunc]() + } + + [drawDefault] (svg) { + const self = this + if (self[turntable] && self[button]) return + + const opt = self.option + + // theme + const theme = themes[opt.theme] ? opt.theme : 'default' + if (!opt.color) opt.color = {} + Object.keys(themes[theme]).forEach(k => { + if (!opt.color[k]) opt.color[k] = themes[theme][k] + }) + + // params caculate + if (!opt.inRadius) { + opt.inRadius = getInRadius(opt.radius) + } else if (opt.inRadius > opt.radius) { + opt.inRadius = opt.radius + } + + // draw turntable + self[drawTurntable](svg) + + // draw button + self[drawButton](svg) + } + + [drawResource] (svg) { + const self = this + const opt = self.option + + const res = opt.image + if (typeof res === 'object' && Object.keys(res).length > 0) { + if (res.turntable && typeof res.turntable === 'string') { + self[turntable] = svg.image(res.turntable, opt.pos[0], opt.pos[1], opt.radius * 2, opt.radius * 2) + } + if (res.button && typeof res.button === 'string') { + if (!res.offset || typeof res.offset !== 'number') res.offset = 0 + const size = getImageSize(res.button, svg, self.doc) + const buttonHeight = size[1] * opt.buttonWidth / size[0] + + self[button] = svg.image(res.button, opt.center[0] - opt.buttonWidth / 2, + opt.center[1] + res.offset - Math.round(buttonHeight / 2), opt.buttonWidth, buttonHeight) + } + } + + return self[drawDefault](svg) + } + + [drawTurntable] (svg) { + const self = this + if (self[turntable]) return + + const opt = self.option + + // draw circle + let obj = svg.circle(opt.center[0], opt.center[1], opt.radius) + obj.attr({ + fill: opt.color.border + }) + + obj = svg.circle(opt.center[0], opt.center[1], opt.inRadius) + obj.attr({ + fill: opt.color.prize + }) + + // draw pie + const len = opt.data.length + self[turntable] = svg.g() + if (len < 2 || len > 12) throw new Error('data.length must between 3 and 12') + for (let i in opt.data) { + const d = opt.data[i] + const r = opt.inRadius + + const [pathD, dLen] = describeArc(opt.center[0], opt.center[1], r, -self[deg] / 2, self[deg] / 2) + const pie = svg.path(pathD) + pie.attr({ + fill: d.color ? d.color : opt.color.prize, + stroke: opt.color.line, + strokeWidth: 2 + }) + + let fontSize = d.fontSize ? d.fontSize : (opt.fontSize ? opt.fontSize : baseFontSize) + let textSum = 0 // a-z0-9 为 1,其他为 2 + for (let i = 0; i < d.text.length; ++i) { + if (d.text[i].match(/\w/)) { + textSum += 1 + } else textSum += 2 + } + if (!opt.fontSize && !d.fontSize) { + fontSize = fontSize * textSum / 2 > dLen * opt.textBottomPercentage ? dLen * opt.textBottomPercentage / textSum * 2 : fontSize + } + const text = svg.text(opt.center[0], opt.pos[1] + opt.radius - (r * opt.textBottomPercentage * Snap.cos(self[deg] / 2)) - fontSize, d.text) + text.attr({ + fill: d.fontColor ? d.fontColor : opt.color.prizeFont, + fontSize: opt.fontSize ? opt.fontSize : fontSize + }) + const box = text.node.getBoundingClientRect() + text.transform(new Snap.Matrix().translate(-Math.round(box.width / 2), 2)) + + const g = svg.g(pie, text).transform(new Snap.Matrix().rotate(self[deg] * Number(i), opt.center[0], opt.center[1])) + self[turntable].add(g) + } + } + + [drawButton] (svg) { + const self = this + if (self[button]) return + + const opt = self.option + + if (opt.button && typeof opt.button === 'string') { + return + } + + const r = opt.buttonWidth / 2 + const center = opt.center + const deg = (180 - opt.buttonDeg) / 2 + const [pathArc, , , end] = describeArc(center[0], center[1], r, deg - 360, 360 - deg) + const top = [center[0], center[1] - r / Snap.cos(deg)] + const pathD = `${pathArc}L${top[0]},${top[1]}L${end.x},${end.y}L${center[0]},${center[1]}` + const b = svg.path(pathD) + b.attr({ + fill: opt.color.button, + filter: svg.filter(Snap.filter.shadow(0, 3, 3, 'black', 0.5)) + }) + + let text = null + if (opt.buttonText !== '') { + const maxLen = r * 2 * 0.8 + let fontSize = opt.buttonFontSize ? opt.buttonFontSize : baseFontSize + let textSum = 0 + for (let i = 0; i < opt.buttonText.length; ++i) { + if (opt.buttonText[i].match(/\w/)) { + textSum += 1 + } else textSum += 2 + } + if (!opt.buttonFontSize) { + fontSize = fontSize * textSum / 2 > maxLen ? maxLen / textSum * 2 : fontSize + } + text = svg.text(center[0], center[1], opt.buttonText) + text.attr({ + fill: opt.color.buttonFont, + fontSize: opt.buttonFontSize ? opt.buttonFontSize : fontSize + }) + const box = text.node.getBoundingClientRect() + text.transform(new Snap.Matrix().translate(-Math.round(box.width / 2), 2)) + } + + self[button] = svg.g(b, text) + } + + [animeFunc] () { + const self = this + const opt = self.option + + self[turntable].node.style['transform-origin'] = 'center' + + self[button].node.style.cursor = 'pointer' + self[button].node.style['transform-origin'] = 'center' + self[button].hover(() => { + if (opt.onButtonHover && typeof opt.onButtonHover === 'function') { + return opt.onButtonHover(anime, self[button]) + } + anime({ + targets: self[button].node, + scale: 1.2, + duration: 500 + }) + }, () => { + anime({ + targets: self[button].node, + scale: 1, + duration: 500 + }) + }) + self[button].click(() => { + self[run]() + }) + } + + [run] () { + const self = this + if (self[running]) return + const opt = self.option + if (!opt.el) throw new Error('el is undefined in Wheel') + if (!opt.data) throw new Error('data is undefined in Wheel') + + // 抽奖次数超过 limit + if (opt.limit > 0 && self[count] >= opt.limit) { + return (opt.onFail && typeof opt.onFail === 'function') ? opt.onFail() : null + } + + // rotate animation + const runAnime = (pie) => { + if (self[rotation] > 0) { + const revision = 360 - (self[rotation] % 360) + self[rotation] += revision + } + self[rotation] += getRotation(pie, self[deg], opt.turn) + anime({ + targets: self[turntable].node, + rotate: opt.clockwise ? String(self[rotation]) + 'deg' : '-' + String(self[rotation]) + 'deg', + duration: opt.duration, + begin () { + self[running] = true + }, + complete () { + self[running] = false + ++self[count] + if (opt.onSuccess && typeof opt.onSuccess === 'function') { + const d = opt.clockwise ? opt.data[(opt.data.length - pie) % opt.data.length] : opt.data[pie] + opt.onSuccess(d) + } + } + }) + } + + const random = Math.random() * self[weightSum] + let randomWeight = 0; let pie = 0 + for (let i in self[weight]) { + randomWeight += self[weight][i] + if (randomWeight > random) { + pie = Number(i) + runAnime(pie) + break + } + } + } +} + +// 获取内圈半径 +function getInRadius (radius) { + if (radius < 50) return radius + if (radius < 100) return radius - 10 + return Math.round(radius / 10) * 9 +} + +function polarToCartesian (centerX, centerY, radius, angleInDegrees) { + const angleInRadians = (angleInDegrees - 90) * Math.PI / 180 + return { + x: centerX + (radius * Math.cos(angleInRadians)), + y: centerY + (radius * Math.sin(angleInRadians)) + } +} + +function describeArc (x, y, radius, startAngle, endAngle) { + const start = polarToCartesian(x, y, radius, endAngle) + const end = polarToCartesian(x, y, radius, startAngle) + + const largeArcFlag = endAngle - startAngle <= 180 ? 0 : 1 + + const d = [ + 'M', start.x, start.y, + 'A', radius, radius, 0, largeArcFlag, 0, end.x, end.y, + 'L', x, y, + 'L', start.x, start.y + ].join(' ') + const l = start.x - end.x // 扇形最大宽度 + return [d, l, start, end] +} + +// 获取旋转角度 +function getRotation (i, deg, minTurn) { + return minTurn * 360 + i * deg +} + +// 获取图片尺寸 +function getImageSize (src, svg, doc) { + const img = doc.createElement('img') + const body = doc.body + body.appendChild(img) + img.src = src + + const size = [ + img.width || img.naturalWidth || img.getBoundingClientRect().width || 50, + img.height || img.naturalHeight || img.getBoundingClientRect().height || 50 + ] + doc.body.removeChild(img) + return size +} + +export default Wheel -- 2.26.2