From bdd86a298e4392525f80c447223eed1c7341ebf5 Mon Sep 17 00:00:00 2001 From: Corps Date: Wed, 28 Feb 2018 15:13:16 +0800 Subject: [PATCH] feat: Async url and lyric chore: new demo --- .gitignore | 5 +- LICENSE | 2 +- README.md | 303 +- demo/cplayer.js | 1607 ++-- demo/cplayer.js.map | 2 +- demo/index.html | 169 +- {declaration => dist}/cplayer.d.ts | 18 +- dist/cplayer.js | 3 +- dist/cplayer.js.map | 2 +- {declaration => dist}/modules/SVG.object.d.ts | 0 .../modules/c.interface.d.ts | 8 +- .../modules/cBase.class.d.ts | 2 +- .../modules/cContext.class.d.ts | 0 .../modules/cEmitter.class.d.ts | 0 .../modules/cLyric.function.d.ts | 0 dist/modules/cMediaSession.class.d.ts | 15 + package.json | 101 +- src/js/cplayer.ts | 1003 +-- src/js/modules/SVG.object.ts | 32 +- src/js/modules/c.interface.ts | 58 +- src/js/modules/cBase.class.ts | 110 +- src/js/modules/cContext.class.ts | 142 +- src/js/modules/cEmitter.class.ts | 50 +- src/js/modules/cLyric.function.ts | 52 +- src/js/modules/cMediaSession.class.ts | 24 + src/scss/cplayer.scss | 54 +- src/scss/minireset.sass | 82 + tsconfig.json | 49 +- tsconfig.product.json | 28 + webpack.config.js | 113 +- yarn.lock | 7614 +++++++++-------- 31 files changed, 6015 insertions(+), 5633 deletions(-) rename {declaration => dist}/cplayer.d.ts (69%) rename {declaration => dist}/modules/SVG.object.d.ts (100%) rename {declaration => dist}/modules/c.interface.d.ts (73%) rename {declaration => dist}/modules/cBase.class.d.ts (93%) rename {declaration => dist}/modules/cContext.class.d.ts (100%) rename {declaration => dist}/modules/cEmitter.class.d.ts (100%) rename {declaration => dist}/modules/cLyric.function.d.ts (100%) create mode 100644 dist/modules/cMediaSession.class.d.ts create mode 100644 src/js/modules/cMediaSession.class.ts create mode 100644 src/scss/minireset.sass create mode 100644 tsconfig.product.json diff --git a/.gitignore b/.gitignore index fb65b6a..320516b 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -/node_modules -yarn* \ No newline at end of file +/node_modules +yarn* +/.vscode \ No newline at end of file diff --git a/LICENSE b/LICENSE index 62ebd5e..9466933 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016 Corps +Copyright (c) 2016-2018 Corps Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/README.md b/README.md index a7e5c80..8ee67a3 100644 --- a/README.md +++ b/README.md @@ -1,148 +1,155 @@ -# cPlayer - -__Warning: Loaded well in Internet Explorer 10+, FireFox, Chrome, Edge and so on...(Modern Browser like.)__ - ---- - -## Screenshot - -![Screenshot](http://i1.piimg.com/4851/594e267631e122c9.png) ---- - -## Install && Build - -```bash -npm install -npm run dist -``` - -### Make a DEMO - -```bash -npm run demo -``` - -## Usage - -### HTML - -```html - - - ... - - ... - - - ... -
- ... - - - -``` - -### Javascript - -```javascript -let cp = new cPlayer({ - "element":document.getElementById("here"), - "list":[ - { - "name":"NINELIE", //The Music's Name - "artist":"Aimer/EGOist",//The Music's Artist - "image":"http://xxxxx",//The Music's Cover - "url":"http://xxxxx",//The Music's URL - "loop":true,//If loop === true,the Music will be played again and again. - "lyric":` - [00:00.00]XXXXXXXX - ..... - [00:99.99][11:99.99]XXXXX - `,//The Lyric(Extra) - "transLyric":` - [00:00.00]XXXXXXXX - ..... - [00:99.99][11:99.99]XXXXX - `//The Translated of Lyric(Extra),Must work with `lyric`. - }, - { - ....... - }, - ......... - ] -}); -``` - -## APIs - -* `cp.play()` // Play -* `cp.pause()` // Pause -* `cp.volume(number)` // Set Volume -* `cp.isMuted()` // Return if the music is muted -* `cp.isPaused()` // Return if the music is paused -* `cp.last()` // Set the previous music -* `cp.next()` // Set the next music -* `cp.to(now)` // Set the music you set -* `cp.hasLyric(id)` // Return if the music you set has lyric -* `cp.showLyric()` // Show the Lyric Body,if the music at that time hasn't lyric,DO NOTHING;if the Lyric Body is already shown,HIDE IT. -* `cp.hideLyric()` // Hide the Lyric Body -* `cp.hasList()` -* `cp.showList()` -* `cp.hideList()` // (The Same As Above) -* `refreshList()` // Refresh the List from `__LIST__`(unuseful) -* `cp.add(options)` // Add music(the options is like above) -* `cp.lyric(a)` // Set Lyric or Get Lyric -* `cp.refreshLyric()` // Refresh the lyric now from `__LYRIC__`(unuseful) -* `cp.updateTime()` // Set Music's Current Time -* `cp.slideLyric(time)` //Core Lyric Process -* `cp.on(eventName,func)` //Set Events -* `cp.translate()` //__NEW!__ Make the translated(with transLyric) - -## Events - -Now Here are some events. - -| Event | param | Note | -|----------------|:-----:|--------------------------------------------------------------| -|play | | | -|pause | | | -|volumechange | √ | Return the music's own event object | -|timeupdate | √ | The same as above | -|canplaythrough | | | -|ended | | | -|toggle | | | -|previous | | | -|next | | | -|changeList | | | -|changeLyric | | | -|slideList | √ | If showed,the param is `true`;If not,the param is `false` | -|slideLyric | √ | The same as above | -|clickListPower | | | -|clickLyricPower | | | -|clickVolumePower| | | - -### Usage - -```javascript -cp.on("slideLyric",([showed])=>{ - if(showed===true){ - //... - }else{ - //... - } -}).on("timeupdate",([ev])=>{ - //... -}) -``` - -## TODOLIST -* [ ] Playlist Order Mode(Random/Asc/Desc(Order By ID)) -* [x] Context Menu(previous, next and translate) - -## DEMO - -[Click Here to See the Demo](http://cplayer.js.org) - -## Plugins - -Jad's cPlayer-Typecho-Plugin: [Click here](https://github.com/journey-ad/cPlayer-Typecho-Plugin) +# cPlayer + +__Warning: Loaded well in Internet Explorer 10+, FireFox, Chrome, Edge and so on...(Modern Browser like.)__ + +--- + +## Screenshot + +![Screenshot](https://i.imgur.com/yZAGZwx.png) +--- + +## Install && Build + +```bash +npm install +npm run dist +``` + +### Make a DEMO and serve with it + +```bash +npm run demo +npm run serve +``` + +## Usage + +### HTML + +```html + + + ... +
+ ... + + + +``` + +### Javascript + +```javascript +let cp = new cPlayer({ + "element":document.getElementById("here"), + "list":[ + //Sync + { + "name":"xxx", //The Music's Name + "artist":"www",//The Music's Artist + "image":"http://xxxxx",//The Music's Cover + "url":"http://xxxxx",//The Music's URL + "loop":true,//If loop === true,the Music will be played again and again. + "lyric":` + [00:00.00]XXXXXXXX + ..... + [00:99.99][11:99.99]XXXXX + `,//The Lyric(Extra) + "transLyric":` + [00:00.00]XXXXXXXX + ..... + [00:99.99][11:99.99]XXXXX + `//The Translated of Lyric(Extra),Must work with `lyric`. + }, + //Async + { + "name":"xxx", + "artist":"www", + "img":"http://xxxxx", + "url":{ + "waiter":fetch("xxx").then(xxx), + "resolve":function(xxx){...} //param is what you have got from waiter(),which means that the xxx includes not a Promise but sth else.And it should return a string. + }, + "loop":true, + "lyric":{ + "waiter":fetch("xxx").then(xxx), + "resolve":function(xxx){...} //Nearly as same as above,but it should return {lyric:string|null,transLyric:string|null} + } + }, + ......... + ] +}); +``` + +## APIs + +* `cp.play()` // Play +* `cp.pause()` // Pause +* `cp.volume(number)` // Set Volume +* `cp.isMuted()` // Return if the music is muted +* `cp.isPaused()` // Return if the music is paused +* `cp.last()` // Set the previous music +* `cp.next()` // Set the next music +* `cp.to(now)` // Set the music you set +* `cp.hasLyric(id)` // Return if the music you set has lyric +* `cp.showLyric()` // Show the Lyric Body,if the music at that time hasn't lyric,DO NOTHING;if the Lyric Body is already shown,HIDE IT. +* `cp.hideLyric()` // Hide the Lyric Body +* `cp.hasList()` +* `cp.showList()` +* `cp.hideList()` // (The Same As Above) +* `cp.add(options)` // Add music(the options is like above) +* `cp.lyric(a)` //`` Set Lyric or Get Lyric +* `cp.refreshLyric()` //`` Refresh the lyric now from `__LYRIC__`(unuseful) +* `cp.updateTime()` // Set Music's Current Time +* `cp.on(eventName,func)` //Set Events +* `cp.translate()` //`` Make the translated(with transLyric) + +## Events + +Now Here are some events. + +| Event | param | Note | +|----------------|:-----:|--------------------------------------------------------------| +|play | | | +|pause | | | +|volumechange | √ | Return the music's own event object | +|timeupdate | √ | The same as above | +|canplaythrough | | | +|ended | | | +|toggle | | | +|previous | | | +|next | | | +|changeList | | | +|changeLyric | | | +|slideList | √ | If showed,the param is `true`;If not,the param is `false` | +|slideLyric | √ | The same as above | +|clickListPower | | | +|clickLyricPower | | | +|clickVolumePower| | | + +### Usage + +```javascript +cp.on("slideLyric",([showed])=>{ + if(showed===true){ + //... + }else{ + //... + } +}).on("timeupdate",([ev])=>{ + //... +}) +``` + +## TODOLIST +* [ ] Playlist Order Mode(Random/Asc/Desc(Order By ID)) +* [x] Context Menu(previous, next and translate) + +## DEMO + +[Click Here to See the Demo](http://cplayer.js.org) + +## Plugins + +Jad's cPlayer-Typecho-Plugin: [Click here](https://github.com/journey-ad/cPlayer-Typecho-Plugin) diff --git a/demo/cplayer.js b/demo/cplayer.js index 0b33eb4..119bfe2 100644 --- a/demo/cplayer.js +++ b/demo/cplayer.js @@ -70,7 +70,7 @@ return /******/ (function(modules) { // webpackBootstrap /******/ /******/ /******/ var hotApplyOnUpdate = true; -/******/ var hotCurrentHash = "46768ef3bca6de830506"; // eslint-disable-line no-unused-vars +/******/ var hotCurrentHash = "813946818b2a4ce25ce3"; // eslint-disable-line no-unused-vars /******/ var hotRequestTimeout = 10000; /******/ var hotCurrentModuleData = {}; /******/ var hotCurrentChildModule; // eslint-disable-line no-unused-vars @@ -730,12 +730,12 @@ return /******/ (function(modules) { // webpackBootstrap /* 0 */ /***/ (function(module, exports, __webpack_require__) { -exports = module.exports = __webpack_require__(8)(true); +exports = module.exports = __webpack_require__(8)(false); // imports // module -exports.push([module.i, "@charset \"UTF-8\";\n/*@keyframes changeSize{\r\n\t0%{\r\n\t\twidth:100%;\r\n\t\theight:100%;\r\n\t\ttop:0;\r\n\t\tleft:0;\r\n\t}\r\n\t100%{\r\n\t\twidth:200%;\r\n\t\theight:200%;\r\n\t\ttop:-50%;\r\n\t\tleft:-50%;\r\n\t}\r\n}*/\nc-player {\n display: flex;\n flex-direction: column; }\n c-player svg {\n width: 100%;\n height: 100%;\n fill: #333;\n display: block; }\n c-player .play-icon svg {\n fill: white;\n width: 80%;\n height: 80%; }\n c-player .invisible {\n height: 0 !important;\n overflow: hidden !important;\n max-height: 0 !important;\n min-height: 0 !important; }\n c-player * {\n font-family: \"Ubuntu Mono\",\"\\5FAE\\8F6F\\96C5\\9ED1\",\"Microsoft JHenghei\",sans-serif;\n text-decoration: none;\n font-size: initial;\n line-height: initial; }\n c-player .lyric {\n will-change: height;\n transition: all 0.25s;\n display: flex;\n height: 20em;\n height: 45vh;\n width: 100%;\n background: #eee;\n overflow: hidden; }\n c-player .lyric lyric-body {\n will-change: transform;\n display: block;\n flex-direction: column;\n width: 100%;\n height: 100%;\n text-align: center;\n transform: translateY(6em); }\n c-player .lyric lyric-body lrc {\n flex: 1;\n display: block;\n will-change: background;\n line-height: 3em;\n min-height: 3em;\n font-size: large;\n font-family: \"LiHei Pro\",\"Microsoft Yahei\",sans-serif;\n width: 100%; }\n c-player .lyric lyric-body lrc.now {\n background: #ddd; }\n c-player .controls {\n background: white;\n height: 4em;\n display: flex; }\n c-player .controls .c-left {\n display: flex; }\n c-player .controls .c-left .music-description {\n display: flex; }\n c-player .controls .c-left .music-description .image, c-player .controls .c-left .music-description .image img {\n height: 4em;\n width: 4em; }\n c-player .controls .c-left .music-description .image:hover + .music-meta, c-player .controls .c-left .music-description .image img:hover + .music-meta {\n max-width: 9999px; }\n c-player .controls .c-left .music-description .music-meta {\n margin: 0 0.5em;\n flex: 1;\n max-width: 0;\n width: auto;\n display: flex;\n overflow: hidden;\n flex-direction: column;\n height: 100%;\n transition: 1.5s all 0.5s ease-in; }\n c-player .controls .c-left .music-description .music-meta div {\n display: flex;\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n flex-direction: column; }\n c-player .controls .c-left .music-description .music-meta .music-name {\n font-size: 1.5em;\n white-space: nowrap; }\n c-player .controls .c-left .music-description .music-meta .music-artist {\n font-size: 0.7em;\n color: grey;\n white-space: nowrap; }\n c-player .controls .c-left .play-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n margin: auto 0.5em;\n width: 3.2em;\n height: 3.2em;\n border-radius: 100%;\n background-color: #7dc3da;\n color: white;\n cursor: pointer; }\n c-player .controls .c-center {\n flex: 1;\n width: auto;\n display: flex;\n align-items: center;\n padding: 0.5em; }\n @media screen and (max-width: 600px) {\n c-player .controls .c-center {\n display: none; } }\n c-player .controls .c-center .time {\n width: 100%;\n touch-action: none;\n pointer-events: auto;\n cursor: pointer; }\n c-player .controls .c-center .time .time-body {\n margin: 0 1%;\n height: 0.5em;\n background-color: #ccc;\n display: flex;\n border-radius: 0.5em; }\n c-player .controls .c-center .time .time-body .time-line {\n width: 0%;\n height: 100%;\n background-color: #359abc;\n will-change: width;\n transition: 0.1s width ease-in;\n position: relative;\n border-radius: 0.5em; }\n c-player .controls .c-center .time .time-body .time-line .time-point {\n width: 1em;\n height: 1em;\n margin: -0.25em -0.5em 0 0;\n background-color: #7dc3da;\n border-radius: 100%;\n position: absolute;\n right: 0;\n /**&::before{\r\n\t\t\t\t\tcontent:\"\";\r\n\t\t\t\t\tdisplay:block;\r\n\t\t\t\t\twidth:0;\r\n\t\t\t\t\theight:0;\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\ttop:50%;\r\n\t\t\t\t\tleft:50%;\r\n\t\t\t\t\tbackground-color:rgba($b-color,.5);\r\n\t\t\t\t\tanimation:changeSize 1s ease-in-out infinite alternate;\r\n\t\t\t\t\tborder-radius: 100%;\r\n\t\t\t\t}**********/ }\n c-player .controls .c-right {\n display: flex;\n justify-content: center;\n align-items: center; }\n @media screen and (max-width: 600px) {\n c-player .controls .c-right {\n flex: 1; }\n c-player .controls .c-right .volume {\n width: auto !important; }\n c-player .controls .c-right .volume .volume-body {\n visibility: hidden !important; }\n c-player .controls .c-right.hover .list-button,\n c-player .controls .c-right.hover .lyric-button {\n display: none; }\n c-player .controls .c-right.hover .volume-body {\n width: 100% !important;\n visibility: visible !important; }\n c-player .controls .c-right.hover .volume {\n width: 100% !important; } }\n c-player .controls .c-right > * {\n width: 2em;\n height: 2em;\n margin: 0 0.5em;\n display: flex; }\n c-player .controls .c-right .volume {\n align-items: center;\n touch-action: none;\n pointer-events: auto;\n cursor: pointer;\n transition: width 0.2s; }\n c-player .controls .c-right .volume .volume-body {\n margin: 0 1%;\n height: 0.5em;\n background-color: #ccc;\n display: flex;\n border-radius: 0.5em; }\n c-player .controls .c-right .volume .volume-body .volume-line {\n width: 0%;\n height: 100%;\n background-color: #359abc;\n will-change: width;\n transition: 0.1s width ease-in;\n position: relative;\n border-radius: 0.5em; }\n c-player .controls .c-right .volume .volume-body .volume-line .volume-point {\n width: 1em;\n height: 1em;\n margin: -0.25em -0.5em 0 0;\n background-color: #7dc3da;\n border-radius: 100%;\n position: absolute;\n right: 0;\n /**&::before{\r\n\t\t\t\t\tcontent:\"\";\r\n\t\t\t\t\tdisplay:block;\r\n\t\t\t\t\twidth:0;\r\n\t\t\t\t\theight:0;\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\ttop:50%;\r\n\t\t\t\t\tleft:50%;\r\n\t\t\t\t\tbackground-color:rgba($b-color,.5);\r\n\t\t\t\t\tanimation:changeSize 1s ease-in-out infinite alternate;\r\n\t\t\t\t\tborder-radius: 100%;\r\n\t\t\t\t}**********/ }\n c-player .controls .c-right .volume .volume-body {\n visibility: hidden;\n width: 0;\n transition: width 0.2s; }\n c-player .controls .c-right .volume:hover, c-player .controls .c-right .volume:active {\n width: 12em; }\n c-player .controls .c-right .volume:hover .volume-body, c-player .controls .c-right .volume:active .volume-body {\n visibility: visible;\n width: 100%; }\n c-player .controls .c-right .volume .volume-button {\n width: 2em;\n height: 2em; }\n c-player .controls .c-right .volume .volume-button .volume-power {\n display: flex;\n width: 100%;\n height: 100%;\n border-radius: 10%;\n color: grey;\n transition: all 0.2s ease-in;\n cursor: pointer; }\n c-player .controls .c-right .volume .volume-button .volume-power:hover, c-player .controls .c-right .volume .volume-button .volume-power:active {\n background: rgba(117, 117, 117, 0.3); }\n c-player .controls .c-right .volume .volume-button .volume-power .material-icons {\n margin: auto; }\n c-player .controls .c-right .list-button .list-power {\n display: flex;\n width: 100%;\n height: 100%;\n border-radius: 10%;\n color: grey;\n transition: all 0.2s ease-in;\n cursor: pointer; }\n c-player .controls .c-right .list-button .list-power:hover, c-player .controls .c-right .list-button .list-power:active {\n background: rgba(117, 117, 117, 0.3); }\n c-player .controls .c-right .list-button .list-power .material-icons {\n margin: auto; }\n c-player .controls .c-right .lyric-button .lyric-power {\n display: flex;\n width: 100%;\n height: 100%;\n border-radius: 10%;\n color: grey;\n transition: all 0.2s ease-in;\n cursor: pointer; }\n c-player .controls .c-right .lyric-button .lyric-power:hover, c-player .controls .c-right .lyric-button .lyric-power:active {\n background: rgba(117, 117, 117, 0.3); }\n c-player .controls .c-right .lyric-button .lyric-power .material-icons {\n margin: auto; }\n c-player .list {\n will-change: height;\n transition: all 0.25s;\n max-height: 75vh;\n background: white;\n overflow: auto; }\n c-player .list list-body {\n display: flex;\n flex-direction: column;\n overflow: hidden; }\n c-player .list list-body > * {\n display: flex;\n align-items: center;\n flex: 1;\n cursor: pointer;\n transition: 0.5s background 0s ease; }\n c-player .list list-body > *:nth-child(2n-1) {\n background: rgba(117, 117, 117, 0.04); }\n c-player .list list-body > *:hover, c-player .list list-body > *:active {\n background: rgba(117, 117, 117, 0.13); }\n c-player .list list-body > *:hover::before, c-player .list list-body > *:active::before {\n width: 0.4em; }\n c-player .list list-body > *::before {\n background: #7dc3da;\n transition: 0.2s width 0s ease;\n float: left;\n height: 2.5em;\n width: 0em;\n display: block;\n content: \"\"; }\n @media screen and (max-width: 800px) {\n c-player .list list-body > *::before {\n height: 3em; }\n c-player .list list-body > *::before:hover::before, c-player .list list-body > *::before:active::before {\n width: 0.4em; } }\n c-player .list list-body .music-name, c-player .list list-body .music-artist {\n padding: 0 0.5em; }\n c-player .list list-body .music-name {\n flex: 1; }\n\n.c-context {\n z-index: 9999;\n position: absolute;\n display: inline-flex;\n min-width: 5em;\n height: auto;\n flex-direction: column;\n background: #fff;\n box-shadow: 0 0 3em -1em #000; }\n\n.c-context--list {\n display: flex;\n flex: 1;\n min-height: 2em;\n padding: 1em;\n box-sizing: border-box;\n transition: background 0.5s;\n will-change: background;\n cursor: pointer; }\n\n.c-context--list:hover {\n background: #6af; }\n", "", {"version":3,"sources":["D:/cPlayer/src/scss/cplayer.scss","D:/cPlayer/src/scss/src/scss/cplayer.scss"],"names":[],"mappings":"AAAA,iBAAiB;ACKjB;;;;;;;;;;;;;GAaG;AAoEH;EAkBC,cAAY;EACZ,uBAAsB,EA0OtB;EA7PD;IAEE,YAAU;IACV,aAAW;IACX,WAAS;IACT,eAAa,EACb;EANF;IAQE,YAAU;IACV,WAAS;IACT,YAAU,EACV;EAXF;IAaE,qBAAkB;IAClB,4BAA0B;IAC1B,yBAAuB;IACvB,yBAAuB,EACvB;EAjBF;IAqBE,kFAAa;IACV,sBAAqB;IACrB,mBAAkB;IAClB,qBAAmB,EACtB;EAzBF;IA2BE,oBAAkB;IAClB,sBAAoB;IACpB,cAAY;IACZ,aAAW;IACX,aAAW;IACX,YAAU;IACV,iBAAe;IACf,iBAAe,EA2Bf;IA7DF;MAoCG,uBAAqB;MACrB,eAAa;MAEb,uBAAsB;MACtB,YAAU;MACV,aAAW;MACX,mBAAkB;MAElB,2BAAyB,EAgBzB;MA5DH;QA+CI,QAAM;QACN,eAAa;QACb,wBAAsB;QACtB,iBAAe;QACf,gBAAc;QACd,iBAAe;QACf,sDAAqD;QACrD,YAAU,EAKV;QA3DJ;UAyDK,iBAAe,EACf;EA1DL;IA+DE,kBAAiB;IACjB,YAtJW;IAuJX,cAAY,EAqIZ;IAtMF;MAmEG,cAAY,EA+CZ;MAlHH;QAqEI,cAAY,EAqCZ;QA1GJ;UAuEK,YA7JQ;UA8JR,WA9JQ,EAmKR;UA7EL;YA0EM,kBAAiB,EAEjB;QA5EN;UA+EK,gBAAc;UACd,QAAM;UACN,aAAW;UACX,YAAU;UACV,cAAY;UACZ,iBAAgB;UAChB,uBAAsB;UACtB,aAAY;UACZ,kCAAiC,EAkBjC;UAzGL;YAyFM,cAAY;YACZ,YAAU;YACV,aAAW;YACX,wBAAsB;YACtB,oBAAkB;YAClB,uBAAqB,EACrB;UA/FN;YAiGM,iBAAgB;YAChB,oBAAmB,EACnB;UAnGN;YAqGM,iBAAe;YACf,YAAU;YACV,oBAAmB,EACnB;MAxGN;QA4GI,cAAY;QACZ,oBAAkB;QAClB,wBAAsB;QACtB,mBAAiB;QAtIpB,aAAmB;QACnB,cAAoB;QACpB,oBAAkB;QAClB,0BAAsC;QACtC,aAAW;QACX,gBAAc,EAmIX;IAjHJ;MAyHG,QAAM;MACN,YAAU;MACV,cAAY;MACZ,oBAAkB;MAClB,eAAa,EAKb;MAdA;QApHH;UAsHK,cAAY,EACZ,EAAA;MAvHL;QA+HI,YAAU;QAhMb,mBAAkB;QAClB,qBAAoB;QACpB,gBAAe,EAgMZ;QA/LH;UACC,aAAY;UACZ,cAzBa;UA0Bb,uBAAqB;UACrB,cAAY;UACZ,qBAAmB,EA+BnB;UA9BA;YACC,UAAQ;YACR,aAAW;YACX,0BA/Ba;YAgCb,mBAAiB;YACjB,+BAA6B;YAC7B,mBAAkB;YAClB,qBAAmB,EAsBnB;YArBA;cACC,WApCS;cAqCT,YArCS;cAsCT,2BAAyB;cACzB,0BAAsC;cACtC,oBAAmB;cACnB,mBAAkB;cAClB,SAAO;cACP;;;;;;;;;;;gBAWY,EACZ;IA4BJ;MA0JG,cAAY;MACZ,wBAAuB;MACpB,oBAAmB,EAyCtB;MAjEA;QApIH;UAsIK,QAAM,EAKN;UA3IL;YAwIM,uBAAqB,EAErB;YA1IN;cAyImB,8BAA4B,EAAE;QAzIjD;;UA+IM,cAAY,EACZ;QAhJN;UAkJM,uBAAqB;UACrB,+BAA8B,EAC9B;QApJN;UAsJM,uBAAqB,EACrB,EAAA;MAvJN;QA8JI,WAAS;QACT,YAAU;QACV,gBAAc;QACd,cAAY,EACZ;MAlKJ;QAoKI,oBAAkB;QArOrB,mBAAkB;QAClB,qBAAoB;QACpB,gBAAe;QAqOZ,uBAAsB,EAoBtB;QAxPH;UACC,aAAY;UACZ,cAzBa;UA0Bb,uBAAqB;UACrB,cAAY;UACZ,qBAAmB,EA+BnB;UA9BA;YACC,UAAQ;YACR,aAAW;YACX,0BA/Ba;YAgCb,mBAAiB;YACjB,+BAA6B;YAC7B,mBAAkB;YAClB,qBAAmB,EAsBnB;YArBA;cACC,WApCS;cAqCT,YArCS;cAsCT,2BAAyB;cACzB,0BAAsC;cACtC,oBAAmB;cACnB,mBAAkB;cAClB,SAAO;cACP;;;;;;;;;;;gBAWY,EACZ;QA4BJ;UAwKK,mBAAkB;UAClB,SAAO;UACP,uBAAsB,EACtB;QA3KL;UA6KK,YAAU,EAKV;UAlLL;YA+KM,oBAAmB;YACnB,YAAU,EACV;QAjLN;UAoLK,WAAS;UACT,YAAU,EAIV;UAzLL;YAfC,cAAY;YACZ,YAAU;YACV,aAAW;YACX,mBAAkB;YAClB,YAAU;YACV,6BAA2B;YAC3B,gBAAc,EAiMT;YAxLN;cAPE,qCAA+B,EAC/B;YACD;cACC,aAAW,EACX;MAGF;QAfC,cAAY;QACZ,YAAU;QACV,aAAW;QACX,mBAAkB;QAClB,YAAU;QACV,6BAA2B;QAC3B,gBAAc,EAuMV;QA9LL;UAPE,qCAA+B,EAC/B;QACD;UACC,aAAW,EACX;MAGF;QAfC,cAAY;QACZ,YAAU;QACV,aAAW;QACX,mBAAkB;QAClB,YAAU;QACV,6BAA2B;QAC3B,gBAAc,EA4MV;QAnML;UAPE,qCAA+B,EAC/B;QACD;UACC,aAAW,EACX;EAGF;IAwME,oBAAkB;IAClB,sBAAoB;IAEpB,iBAAgB;IAChB,kBAAgB;IAChB,eAAa,EA+Cb;IA5PF;MA+MG,cAAa;MACb,uBAAsB;MACtB,iBAAgB,EA0ChB;MA3PH;QAmNI,cAAY;QACZ,oBAAkB;QAClB,QAAM;QACN,gBAAc;QACd,oCAAmC,EA6BnC;QApPJ;UAyNK,sCAAiC,EACjC;QA1NL;UA4NK,sCAAiC,EAIjC;UAhOL;YA8NM,aAAW,EACX;QA/NN;UAkOK,oBAAgC;UAChC,+BAA6B;UAC7B,YAAU;UACV,cAAY;UACZ,WAAS;UACT,eAAa;UACb,YAAU,EAWV;UAVA;YAzOL;cA2OO,YAAU,EAMV;cAjPP;gBA8OS,aAAW,EACX,EAAA;MA/OT;QAsPI,iBAAe,EACf;MAvPJ;QAyPI,QAAM,EACN;;AAIH;EACC,cAAY;EACZ,mBAAiB;EACjB,qBAAmB;EACnB,eAAa;EACb,aAAW;EACX,uBAAqB;EACrB,iBAAgB;EAChB,8BAA6B,EAC7B;;AACD;EACC,cAAY;EACZ,QAAM;EACN,gBAAc;EACd,aAAW;EACX,uBAAqB;EACrB,4BAA0B;EAC1B,wBAAsB;EACtB,gBAAc,EACd;;AACD;EACC,iBAAgB,EAChB","file":"cplayer.scss","sourcesContent":["@charset \"UTF-8\";\n/*@keyframes changeSize{\r\n\t0%{\r\n\t\twidth:100%;\r\n\t\theight:100%;\r\n\t\ttop:0;\r\n\t\tleft:0;\r\n\t}\r\n\t100%{\r\n\t\twidth:200%;\r\n\t\theight:200%;\r\n\t\ttop:-50%;\r\n\t\tleft:-50%;\r\n\t}\r\n}*/\nc-player {\n display: flex;\n flex-direction: column; }\n c-player svg {\n width: 100%;\n height: 100%;\n fill: #333;\n display: block; }\n c-player .play-icon svg {\n fill: white;\n width: 80%;\n height: 80%; }\n c-player .invisible {\n height: 0 !important;\n overflow: hidden !important;\n max-height: 0 !important;\n min-height: 0 !important; }\n c-player * {\n font-family: \"Ubuntu Mono\",\"微软雅黑\",\"Microsoft JHenghei\",sans-serif;\n text-decoration: none;\n font-size: initial;\n line-height: initial; }\n c-player .lyric {\n will-change: height;\n transition: all 0.25s;\n display: flex;\n height: 20em;\n height: 45vh;\n width: 100%;\n background: #eee;\n overflow: hidden; }\n c-player .lyric lyric-body {\n will-change: transform;\n display: block;\n flex-direction: column;\n width: 100%;\n height: 100%;\n text-align: center;\n transform: translateY(6em); }\n c-player .lyric lyric-body lrc {\n flex: 1;\n display: block;\n will-change: background;\n line-height: 3em;\n min-height: 3em;\n font-size: large;\n font-family: \"LiHei Pro\",\"Microsoft Yahei\",sans-serif;\n width: 100%; }\n c-player .lyric lyric-body lrc.now {\n background: #ddd; }\n c-player .controls {\n background: white;\n height: 4em;\n display: flex; }\n c-player .controls .c-left {\n display: flex; }\n c-player .controls .c-left .music-description {\n display: flex; }\n c-player .controls .c-left .music-description .image, c-player .controls .c-left .music-description .image img {\n height: 4em;\n width: 4em; }\n c-player .controls .c-left .music-description .image:hover + .music-meta, c-player .controls .c-left .music-description .image img:hover + .music-meta {\n max-width: 9999px; }\n c-player .controls .c-left .music-description .music-meta {\n margin: 0 0.5em;\n flex: 1;\n max-width: 0;\n width: auto;\n display: flex;\n overflow: hidden;\n flex-direction: column;\n height: 100%;\n transition: 1.5s all 0.5s ease-in; }\n c-player .controls .c-left .music-description .music-meta div {\n display: flex;\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n flex-direction: column; }\n c-player .controls .c-left .music-description .music-meta .music-name {\n font-size: 1.5em;\n white-space: nowrap; }\n c-player .controls .c-left .music-description .music-meta .music-artist {\n font-size: 0.7em;\n color: grey;\n white-space: nowrap; }\n c-player .controls .c-left .play-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n margin: auto 0.5em;\n width: 3.2em;\n height: 3.2em;\n border-radius: 100%;\n background-color: #7dc3da;\n color: white;\n cursor: pointer; }\n c-player .controls .c-center {\n flex: 1;\n width: auto;\n display: flex;\n align-items: center;\n padding: 0.5em; }\n @media screen and (max-width: 600px) {\n c-player .controls .c-center {\n display: none; } }\n c-player .controls .c-center .time {\n width: 100%;\n touch-action: none;\n pointer-events: auto;\n cursor: pointer; }\n c-player .controls .c-center .time .time-body {\n margin: 0 1%;\n height: 0.5em;\n background-color: #ccc;\n display: flex;\n border-radius: 0.5em; }\n c-player .controls .c-center .time .time-body .time-line {\n width: 0%;\n height: 100%;\n background-color: #359abc;\n will-change: width;\n transition: 0.1s width ease-in;\n position: relative;\n border-radius: 0.5em; }\n c-player .controls .c-center .time .time-body .time-line .time-point {\n width: 1em;\n height: 1em;\n margin: -0.25em -0.5em 0 0;\n background-color: #7dc3da;\n border-radius: 100%;\n position: absolute;\n right: 0;\n /**&::before{\r\n\t\t\t\t\tcontent:\"\";\r\n\t\t\t\t\tdisplay:block;\r\n\t\t\t\t\twidth:0;\r\n\t\t\t\t\theight:0;\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\ttop:50%;\r\n\t\t\t\t\tleft:50%;\r\n\t\t\t\t\tbackground-color:rgba($b-color,.5);\r\n\t\t\t\t\tanimation:changeSize 1s ease-in-out infinite alternate;\r\n\t\t\t\t\tborder-radius: 100%;\r\n\t\t\t\t}**********/ }\n c-player .controls .c-right {\n display: flex;\n justify-content: center;\n align-items: center; }\n @media screen and (max-width: 600px) {\n c-player .controls .c-right {\n flex: 1; }\n c-player .controls .c-right .volume {\n width: auto !important; }\n c-player .controls .c-right .volume .volume-body {\n visibility: hidden !important; }\n c-player .controls .c-right.hover .list-button,\n c-player .controls .c-right.hover .lyric-button {\n display: none; }\n c-player .controls .c-right.hover .volume-body {\n width: 100% !important;\n visibility: visible !important; }\n c-player .controls .c-right.hover .volume {\n width: 100% !important; } }\n c-player .controls .c-right > * {\n width: 2em;\n height: 2em;\n margin: 0 0.5em;\n display: flex; }\n c-player .controls .c-right .volume {\n align-items: center;\n touch-action: none;\n pointer-events: auto;\n cursor: pointer;\n transition: width 0.2s; }\n c-player .controls .c-right .volume .volume-body {\n margin: 0 1%;\n height: 0.5em;\n background-color: #ccc;\n display: flex;\n border-radius: 0.5em; }\n c-player .controls .c-right .volume .volume-body .volume-line {\n width: 0%;\n height: 100%;\n background-color: #359abc;\n will-change: width;\n transition: 0.1s width ease-in;\n position: relative;\n border-radius: 0.5em; }\n c-player .controls .c-right .volume .volume-body .volume-line .volume-point {\n width: 1em;\n height: 1em;\n margin: -0.25em -0.5em 0 0;\n background-color: #7dc3da;\n border-radius: 100%;\n position: absolute;\n right: 0;\n /**&::before{\r\n\t\t\t\t\tcontent:\"\";\r\n\t\t\t\t\tdisplay:block;\r\n\t\t\t\t\twidth:0;\r\n\t\t\t\t\theight:0;\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\ttop:50%;\r\n\t\t\t\t\tleft:50%;\r\n\t\t\t\t\tbackground-color:rgba($b-color,.5);\r\n\t\t\t\t\tanimation:changeSize 1s ease-in-out infinite alternate;\r\n\t\t\t\t\tborder-radius: 100%;\r\n\t\t\t\t}**********/ }\n c-player .controls .c-right .volume .volume-body {\n visibility: hidden;\n width: 0;\n transition: width 0.2s; }\n c-player .controls .c-right .volume:hover, c-player .controls .c-right .volume:active {\n width: 12em; }\n c-player .controls .c-right .volume:hover .volume-body, c-player .controls .c-right .volume:active .volume-body {\n visibility: visible;\n width: 100%; }\n c-player .controls .c-right .volume .volume-button {\n width: 2em;\n height: 2em; }\n c-player .controls .c-right .volume .volume-button .volume-power {\n display: flex;\n width: 100%;\n height: 100%;\n border-radius: 10%;\n color: grey;\n transition: all 0.2s ease-in;\n cursor: pointer; }\n c-player .controls .c-right .volume .volume-button .volume-power:hover, c-player .controls .c-right .volume .volume-button .volume-power:active {\n background: rgba(117, 117, 117, 0.3); }\n c-player .controls .c-right .volume .volume-button .volume-power .material-icons {\n margin: auto; }\n c-player .controls .c-right .list-button .list-power {\n display: flex;\n width: 100%;\n height: 100%;\n border-radius: 10%;\n color: grey;\n transition: all 0.2s ease-in;\n cursor: pointer; }\n c-player .controls .c-right .list-button .list-power:hover, c-player .controls .c-right .list-button .list-power:active {\n background: rgba(117, 117, 117, 0.3); }\n c-player .controls .c-right .list-button .list-power .material-icons {\n margin: auto; }\n c-player .controls .c-right .lyric-button .lyric-power {\n display: flex;\n width: 100%;\n height: 100%;\n border-radius: 10%;\n color: grey;\n transition: all 0.2s ease-in;\n cursor: pointer; }\n c-player .controls .c-right .lyric-button .lyric-power:hover, c-player .controls .c-right .lyric-button .lyric-power:active {\n background: rgba(117, 117, 117, 0.3); }\n c-player .controls .c-right .lyric-button .lyric-power .material-icons {\n margin: auto; }\n c-player .list {\n will-change: height;\n transition: all 0.25s;\n max-height: 75vh;\n background: white;\n overflow: auto; }\n c-player .list list-body {\n display: flex;\n flex-direction: column;\n overflow: hidden; }\n c-player .list list-body > * {\n display: flex;\n align-items: center;\n flex: 1;\n cursor: pointer;\n transition: 0.5s background 0s ease; }\n c-player .list list-body > *:nth-child(2n-1) {\n background: rgba(117, 117, 117, 0.04); }\n c-player .list list-body > *:hover, c-player .list list-body > *:active {\n background: rgba(117, 117, 117, 0.13); }\n c-player .list list-body > *:hover::before, c-player .list list-body > *:active::before {\n width: 0.4em; }\n c-player .list list-body > *::before {\n background: #7dc3da;\n transition: 0.2s width 0s ease;\n float: left;\n height: 2.5em;\n width: 0em;\n display: block;\n content: \"\"; }\n @media screen and (max-width: 800px) {\n c-player .list list-body > *::before {\n height: 3em; }\n c-player .list list-body > *::before:hover::before, c-player .list list-body > *::before:active::before {\n width: 0.4em; } }\n c-player .list list-body .music-name, c-player .list list-body .music-artist {\n padding: 0 0.5em; }\n c-player .list list-body .music-name {\n flex: 1; }\n\n.c-context {\n z-index: 9999;\n position: absolute;\n display: inline-flex;\n min-width: 5em;\n height: auto;\n flex-direction: column;\n background: #fff;\n box-shadow: 0 0 3em -1em #000; }\n\n.c-context--list {\n display: flex;\n flex: 1;\n min-height: 2em;\n padding: 1em;\n box-sizing: border-box;\n transition: background 0.5s;\n will-change: background;\n cursor: pointer; }\n\n.c-context--list:hover {\n background: #6af; }\n","$c-height:4em;\r\n$p-height:0.5em;\r\n$b-color:#359abc;\r\n$p-radius:1em;\r\n\r\n/*@keyframes changeSize{\r\n\t0%{\r\n\t\twidth:100%;\r\n\t\theight:100%;\r\n\t\ttop:0;\r\n\t\tleft:0;\r\n\t}\r\n\t100%{\r\n\t\twidth:200%;\r\n\t\theight:200%;\r\n\t\ttop:-50%;\r\n\t\tleft:-50%;\r\n\t}\r\n}*/\r\n\r\n@mixin progress($type:time){\r\n\ttouch-action: none;\r\n\tpointer-events: auto;\r\n\tcursor: pointer;\r\n\t.#{$type}-body{\r\n\t\tmargin: 0 1%;\r\n\t\theight:$p-height;\r\n\t\tbackground-color:#ccc;\r\n\t\tdisplay:flex;\r\n\t\tborder-radius:0.5em;\r\n\t\t.#{$type}-line{\r\n\t\t\twidth:0%;\r\n\t\t\theight:100%;\r\n\t\t\tbackground-color:$b-color;\r\n\t\t\twill-change:width;\r\n\t\t\ttransition:0.1s width ease-in;\r\n\t\t\tposition: relative;\r\n\t\t\tborder-radius:0.5em;\r\n\t\t\t.#{$type}-point{\r\n\t\t\t\twidth:$p-radius;\r\n\t\t\t\theight:$p-radius;\r\n\t\t\t\tmargin:-0.25em -0.5em 0 0;\r\n\t\t\t\tbackground-color:lighten($b-color,20%);\r\n\t\t\t\tborder-radius: 100%;\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\tright:0;\r\n\t\t\t\t/**&::before{\r\n\t\t\t\t\tcontent:\"\";\r\n\t\t\t\t\tdisplay:block;\r\n\t\t\t\t\twidth:0;\r\n\t\t\t\t\theight:0;\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\ttop:50%;\r\n\t\t\t\t\tleft:50%;\r\n\t\t\t\t\tbackground-color:rgba($b-color,.5);\r\n\t\t\t\t\tanimation:changeSize 1s ease-in-out infinite alternate;\r\n\t\t\t\t\tborder-radius: 100%;\r\n\t\t\t\t}**********/\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n@mixin big-button{\r\n\twidth:0.8*$c-height;\r\n\theight:0.8*$c-height;\r\n\tborder-radius:100%;\r\n\tbackground-color:lighten($b-color,20%);\r\n\tcolor:white;\r\n\tcursor:pointer;\r\n}\r\n@mixin small-button{\r\n\tdisplay:flex;\r\n\twidth:100%;\r\n\theight:100%;\r\n\tborder-radius: 10%;\r\n\tcolor:grey;\r\n\ttransition:all 0.2s ease-in;\r\n\tcursor:pointer;\r\n\t&:hover,&:active{\r\n\t\tbackground:rgba(117,117,117,.3);\r\n\t}\r\n\t.material-icons{\r\n\t\tmargin:auto;\r\n\t}\r\n}\r\n\r\nc-player{\r\n\tsvg{\r\n\t\twidth:100%;\r\n\t\theight:100%;\r\n\t\tfill:#333;\r\n\t\tdisplay:block;\r\n\t}\r\n\t.play-icon svg{\r\n\t\tfill:white;\r\n\t\twidth:80%;\r\n\t\theight:80%;\r\n\t}\r\n\t.invisible{\r\n\t\theight:0!important;\r\n\t\toverflow: hidden!important;\r\n\t\tmax-height: 0!important;\r\n\t\tmin-height: 0!important;\r\n\t}\r\n\tdisplay:flex;\r\n\tflex-direction: column;\r\n\t* {\r\n\t\tfont-family: \"Ubuntu Mono\",\"微软雅黑\",\"Microsoft JHenghei\",sans-serif;\r\n\t text-decoration: none;\r\n\t font-size: initial;\r\n\t line-height:initial;\r\n\t}\r\n\t.lyric{\r\n\t\twill-change:height;\r\n\t\ttransition:all 0.25s;\r\n\t\tdisplay:flex;\r\n\t\theight:20em;\r\n\t\theight:45vh;\r\n\t\twidth:100%;\r\n\t\tbackground:#eee;\r\n\t\toverflow:hidden;\r\n\t\tlyric-body{\r\n\t\t\twill-change:transform;\r\n\t\t\tdisplay:block;\r\n\t\t\t//display:flex;\r\n\t\t\tflex-direction: column;\r\n\t\t\twidth:100%;\r\n\t\t\theight:100%;\r\n\t\t\ttext-align: center;\r\n\t\t\t//padding:6em 0;\r\n\t\t\ttransform:translateY(6em);\r\n\t\t\t//transition: all 0.25s;\r\n\t\t\tlrc{\r\n\t\t\t\tflex:1;\r\n\t\t\t\tdisplay:block;\r\n\t\t\t\twill-change:background;\r\n\t\t\t\tline-height:3em;\r\n\t\t\t\tmin-height:3em;\r\n\t\t\t\tfont-size:large;\r\n\t\t\t\tfont-family: \"LiHei Pro\",\"Microsoft Yahei\",sans-serif;\r\n\t\t\t\twidth:100%;\r\n\t\t\t\t//transition:0.25s background ease;\r\n\t\t\t\t&.now{\r\n\t\t\t\t\tbackground:#ddd;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t.controls{\r\n\t\tbackground: white;\r\n\t\theight:$c-height;\r\n\t\tdisplay:flex;\r\n\t\t.c-left{\r\n\t\t\tdisplay:flex;\r\n\t\t\t.music-description{\r\n\t\t\t\tdisplay:flex;\r\n\t\t\t\t.image,.image img{\r\n\t\t\t\t\theight:$c-height;\r\n\t\t\t\t\twidth:$c-height;\r\n\t\t\t\t\t&:hover + .music-meta{\r\n\t\t\t\t\t\tmax-width: 9999px;\r\n\t\t\t\t\t\t//margin:0 0.5em;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.music-meta{\r\n\t\t\t\t\tmargin:0 0.5em;\r\n\t\t\t\t\tflex:1;\r\n\t\t\t\t\tmax-width:0;\r\n\t\t\t\t\twidth:auto;\r\n\t\t\t\t\tdisplay:flex;\r\n\t\t\t\t\toverflow: hidden;\r\n\t\t\t\t\tflex-direction: column;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\ttransition: 1.5s all 0.5s ease-in;\r\n\t\t\t\t\tdiv{\r\n\t\t\t\t\t\tdisplay:flex;\r\n\t\t\t\t\t\twidth:100%;\r\n\t\t\t\t\t\theight:100%;\r\n\t\t\t\t\t\tjustify-content:center;\r\n\t\t\t\t\t\talign-items:center;\r\n\t\t\t\t\t\tflex-direction:column;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.music-name{\r\n\t\t\t\t\t\tfont-size: 1.5em;\r\n\t\t\t\t\t\twhite-space: nowrap;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.music-artist{\r\n\t\t\t\t\t\tfont-size:0.7em;\r\n\t\t\t\t\t\tcolor:grey;\r\n\t\t\t\t\t\twhite-space: nowrap;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.play-icon{\r\n\t\t\t\tdisplay:flex;\r\n\t\t\t\talign-items:center;\r\n\t\t\t\tjustify-content:center;\r\n\t\t\t\tmargin:auto 0.5em;\r\n\t\t\t\t@include big-button();\r\n\t\t\t}\r\n\t\t}\r\n\t\t.c-center{\r\n\t\t\t@media screen and (max-width: 600px) {\r\n\t\t\t\t&{\r\n\t\t\t\t\tdisplay:none;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tflex:1;\r\n\t\t\twidth:auto;\r\n\t\t\tdisplay:flex;\r\n\t\t\talign-items:center;\r\n\t\t\tpadding:0.5em;\r\n\t\t\t.time{\r\n\t\t\t\twidth:100%;\r\n\t\t\t\t@include progress(time);\r\n\t\t\t}\r\n\t\t}\r\n\t\t.c-right{\r\n\t\t\t@media screen and (max-width: 600px) {\r\n\t\t\t\t&{\r\n\t\t\t\t\tflex:1;\r\n\t\t\t\t\t.volume{\r\n\t\t\t\t\t\twidth:auto !important;\r\n\t\t\t\t\t\t.volume-body{visibility: hidden!important}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t&.hover{\r\n\t\t\t\t\t.list-button,\r\n\t\t\t\t\t.lyric-button{\r\n\t\t\t\t\t\tdisplay:none;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.volume-body{\r\n\t\t\t\t\t\twidth:100% !important;\r\n\t\t\t\t\t\tvisibility: visible !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t.volume{\r\n\t\t\t\t\t\twidth:100% !important;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tdisplay:flex;\r\n\t\t\tjustify-content: center;\r\n\t\t align-items: center;\r\n\t\t\t&>*{\r\n\t\t\t\twidth:2em;\r\n\t\t\t\theight:2em;\r\n\t\t\t\tmargin:0 0.5em;\r\n\t\t\t\tdisplay:flex;\r\n\t\t\t}\r\n\t\t\t.volume{\r\n\t\t\t\talign-items:center;\r\n\t\t\t\t@include progress(volume);\r\n\t\t\t\ttransition: width 0.2s;\r\n\t\t\t\t.volume-body{\r\n\t\t\t\t\tvisibility: hidden;\r\n\t\t\t\t\twidth:0;\r\n\t\t\t\t\ttransition: width 0.2s;\r\n\t\t\t\t}\r\n\t\t\t\t&:hover,&:active{\r\n\t\t\t\t\twidth:12em;\r\n\t\t\t\t\t.volume-body{\r\n\t\t\t\t\t\tvisibility: visible;\r\n\t\t\t\t\t\twidth:100%;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t.volume-button{\r\n\t\t\t\t\twidth:2em;\r\n\t\t\t\t\theight:2em;\r\n\t\t\t\t\t.volume-power{\r\n\t\t\t\t\t\t@include small-button();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.list-button{\r\n\t\t\t\t.list-power{\r\n\t\t\t\t\t@include small-button();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.lyric-button{\r\n\t\t\t\t.lyric-power{\r\n\t\t\t\t\t@include small-button();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\t.list{\r\n\t\twill-change:height;\r\n\t\ttransition:all 0.25s;\r\n\t\t//min-height: 45vh;\r\n\t\tmax-height: 75vh;\r\n\t\tbackground:white;\r\n\t\toverflow:auto;\r\n\t\tlist-body{\r\n\t\t\tdisplay: flex;\r\n\t\t\tflex-direction: column;\r\n\t\t\toverflow: hidden;\r\n\t\t\t&>*{\r\n\t\t\t\tdisplay:flex;\r\n\t\t\t\talign-items:center;\r\n\t\t\t\tflex:1;\r\n\t\t\t\tcursor:pointer;\r\n\t\t\t\ttransition: 0.5s background 0s ease;\r\n\t\t\t\t&:nth-child(2n-1){\r\n\t\t\t\t\tbackground:rgba(117,117,117,0.04);\r\n\t\t\t\t}\r\n\t\t\t\t&:hover,&:active{\r\n\t\t\t\t\tbackground:rgba(117,117,117,0.13);\r\n\t\t\t\t\t&::before{\r\n\t\t\t\t\t\twidth:0.4em;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t&::before{\r\n\t\t\t\t\tbackground:lighten($b-color,20%);\r\n\t\t\t\t\ttransition:0.2s width 0s ease;\r\n\t\t\t\t\tfloat:left;\r\n\t\t\t\t\theight:2.5em;\r\n\t\t\t\t\twidth:0em;\r\n\t\t\t\t\tdisplay:block;\r\n\t\t\t\t\tcontent:\"\";\r\n\t\t\t\t\t@media screen and (max-width: 800px){\r\n\t\t\t\t\t\t&{\r\n\t\t\t\t\t\t\theight:3em;\r\n\t\t\t\t\t\t\t&:hover,&:active{\r\n\t\t\t\t\t\t\t\t&::before{\r\n\t\t\t\t\t\t\t\t\twidth:0.4em;\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t.music-name , .music-artist{\r\n\t\t\t\tpadding:0 0.5em;\r\n\t\t\t}\r\n\t\t\t.music-name{\r\n\t\t\t\tflex:1;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\n\t.c-context{\r\n\t\tz-index:9999;\r\n\t\tposition:absolute;\r\n\t\tdisplay:inline-flex;\r\n\t\tmin-width:5em;\r\n\t\theight:auto;\r\n\t\tflex-direction:column;\r\n\t\tbackground: #fff;\r\n\t\tbox-shadow: 0 0 3em -1em #000;\r\n\t}\r\n\t.c-context--list{\r\n\t\tdisplay:flex;\r\n\t\tflex:1;\r\n\t\tmin-height:2em;\r\n\t\tpadding:1em;\r\n\t\tbox-sizing:border-box;\r\n\t\ttransition:background 0.5s;\r\n\t\twill-change:background;\r\n\t\tcursor:pointer;\r\n\t}\r\n\t.c-context--list:hover{\r\n\t\tbackground: #6af;\r\n\t}"],"sourceRoot":""}]); +exports.push([module.i, "@charset \"UTF-8\";\n/*@keyframes changeSize{\r\n\t0%{\r\n\t\twidth:100%;\r\n\t\theight:100%;\r\n\t\ttop:0;\r\n\t\tleft:0;\r\n\t}\r\n\t100%{\r\n\t\twidth:200%;\r\n\t\theight:200%;\r\n\t\ttop:-50%;\r\n\t\tleft:-50%;\r\n\t}\r\n}*/\nc-player {\n /*! minireset.css v0.0.3 | MIT License | github.com/jgthms/minireset.css */\n z-index: 1;\n display: flex;\n position: relative;\n color: rgba(255, 255, 255, 0.8);\n opacity: 0.9;\n overflow: hidden;\n flex-direction: column; }\n c-player html,\n c-player body,\n c-player p,\n c-player ol,\n c-player ul,\n c-player li,\n c-player dl,\n c-player dt,\n c-player dd,\n c-player blockquote,\n c-player figure,\n c-player fieldset,\n c-player legend,\n c-player textarea,\n c-player pre,\n c-player iframe,\n c-player hr,\n c-player h1,\n c-player h2,\n c-player h3,\n c-player h4,\n c-player h5,\n c-player h6 {\n margin: 0;\n padding: 0; }\n c-player h1,\n c-player h2,\n c-player h3,\n c-player h4,\n c-player h5,\n c-player h6 {\n font-size: 100%;\n font-weight: normal; }\n c-player ul {\n list-style: none; }\n c-player button,\n c-player input,\n c-player select,\n c-player textarea {\n margin: 0; }\n c-player html {\n box-sizing: border-box; }\n c-player *, c-player *:before, c-player *:after {\n box-sizing: inherit; }\n c-player img,\n c-player embed,\n c-player iframe,\n c-player object,\n c-player audio,\n c-player video {\n height: auto;\n max-width: 100%; }\n c-player iframe {\n border: 0; }\n c-player table {\n border-collapse: collapse;\n border-spacing: 0; }\n c-player td,\n c-player th {\n padding: 0;\n text-align: left; }\n c-player svg {\n width: 100%;\n height: 100%;\n fill: rgba(255, 255, 255, 0.8);\n display: block; }\n c-player .play-icon svg {\n fill: rgba(255, 255, 255, 0.8);\n width: 80%;\n height: 80%; }\n c-player .invisible {\n height: 0 !important;\n overflow: hidden !important;\n max-height: 0 !important;\n min-height: 0 !important; }\n c-player * {\n font-family: \"Ubuntu Mono\",\"\\5FAE\\8F6F\\96C5\\9ED1\",\"Microsoft JHenghei\",sans-serif;\n text-decoration: none; }\n c-player .lyric {\n will-change: height;\n transition: all 0.25s;\n display: flex;\n height: 20em;\n height: 45vh;\n width: 100%;\n overflow: hidden; }\n c-player .lyric lyric-body {\n will-change: transform;\n display: block;\n flex-direction: column;\n width: 100%;\n height: 100%;\n text-align: center;\n transform: translateY(6em); }\n c-player .lyric lyric-body lrc {\n flex: 1;\n display: block;\n will-change: background;\n line-height: 3em;\n min-height: 3em;\n font-size: large;\n font-family: Consolas,'Courier New', Courier,\"Microsoft Yahei\",monospace,sans-serif;\n width: 100%; }\n c-player .lyric lyric-body lrc.now {\n background: rgba(255, 255, 255, 0.247); }\n c-player .controls {\n background: rgba(255, 255, 255, 0.2);\n height: 4em;\n display: flex; }\n c-player .controls .c-left {\n display: flex; }\n c-player .controls .c-left .music-description {\n display: flex; }\n c-player .controls .c-left .music-description .image, c-player .controls .c-left .music-description .image img {\n height: 4em;\n width: 4em; }\n c-player .controls .c-left .music-description .image:hover + .music-meta, c-player .controls .c-left .music-description .image img:hover + .music-meta {\n max-width: 9999px; }\n c-player .controls .c-left .music-description .music-meta {\n margin: 0 0.5em;\n flex: 1;\n max-width: 0;\n width: auto;\n display: flex;\n overflow: hidden;\n flex-direction: column;\n height: 100%;\n transition: 1.5s all 0.5s ease-in; }\n c-player .controls .c-left .music-description .music-meta div {\n display: flex;\n width: 100%;\n height: 100%;\n justify-content: center;\n align-items: center;\n flex-direction: column; }\n c-player .controls .c-left .music-description .music-meta .music-name {\n font-size: 1.5em;\n white-space: nowrap; }\n c-player .controls .c-left .music-description .music-meta .music-artist {\n font-size: 0.7em;\n color: #c8c8c8;\n white-space: nowrap; }\n c-player .controls .c-left .play-icon {\n display: flex;\n align-items: center;\n justify-content: center;\n margin: auto 0.5em;\n width: 3.2em;\n height: 3.2em;\n border-radius: 100%;\n border: 1px solid rgba(125, 195, 218, 0.733);\n color: white;\n cursor: pointer; }\n c-player .controls .c-center {\n flex: 1;\n width: auto;\n display: flex;\n align-items: center;\n padding: 0.5em; }\n @media screen and (max-width: 600px) {\n c-player .controls .c-center {\n display: none; } }\n c-player .controls .c-center .time {\n width: 100%;\n touch-action: none;\n pointer-events: auto;\n cursor: pointer; }\n c-player .controls .c-center .time .time-body {\n margin: 0 1%;\n height: 0.1em;\n background-color: #ccc;\n display: flex;\n border-radius: 0.5em; }\n c-player .controls .c-center .time .time-body .time-line {\n width: 0%;\n height: 100%;\n background-color: rgba(53, 154, 188, 0.733);\n will-change: width;\n transition: 0.1s width ease-in;\n position: relative;\n border-radius: 0.5em; }\n c-player .controls .c-center .time .time-body .time-line .time-point {\n width: 1em;\n height: 1em;\n margin: -0.5em -0.5em 0 0;\n background-color: #7dc3da;\n border-radius: 100%;\n position: absolute;\n right: 0;\n /**&::before{\r\n\t\t\t\t\tcontent:\"\";\r\n\t\t\t\t\tdisplay:block;\r\n\t\t\t\t\twidth:0;\r\n\t\t\t\t\theight:0;\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\ttop:50%;\r\n\t\t\t\t\tleft:50%;\r\n\t\t\t\t\tbackground-color:rgba($b-color,.5);\r\n\t\t\t\t\tanimation:changeSize 1s ease-in-out infinite alternate;\r\n\t\t\t\t\tborder-radius: 100%;\r\n\t\t\t\t}**********/ }\n c-player .controls .c-right {\n display: flex;\n justify-content: center;\n align-items: center; }\n @media screen and (max-width: 600px) {\n c-player .controls .c-right {\n flex: 1; }\n c-player .controls .c-right .volume {\n width: auto !important; }\n c-player .controls .c-right .volume .volume-body {\n visibility: hidden !important; }\n c-player .controls .c-right.hover .list-button,\n c-player .controls .c-right.hover .lyric-button {\n display: none; }\n c-player .controls .c-right.hover .volume-body {\n width: 100% !important;\n visibility: visible !important; }\n c-player .controls .c-right.hover .volume {\n width: 100% !important; } }\n c-player .controls .c-right > * {\n width: 2em;\n height: 2em;\n margin: 0 0.5em;\n display: flex; }\n c-player .controls .c-right .volume {\n align-items: center;\n touch-action: none;\n pointer-events: auto;\n cursor: pointer;\n transition: width 0.2s; }\n c-player .controls .c-right .volume .volume-body {\n margin: 0 1%;\n height: 0.1em;\n background-color: #ccc;\n display: flex;\n border-radius: 0.5em; }\n c-player .controls .c-right .volume .volume-body .volume-line {\n width: 0%;\n height: 100%;\n background-color: rgba(53, 154, 188, 0.733);\n will-change: width;\n transition: 0.1s width ease-in;\n position: relative;\n border-radius: 0.5em; }\n c-player .controls .c-right .volume .volume-body .volume-line .volume-point {\n width: 1em;\n height: 1em;\n margin: -0.5em -0.5em 0 0;\n background-color: #7dc3da;\n border-radius: 100%;\n position: absolute;\n right: 0;\n /**&::before{\r\n\t\t\t\t\tcontent:\"\";\r\n\t\t\t\t\tdisplay:block;\r\n\t\t\t\t\twidth:0;\r\n\t\t\t\t\theight:0;\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\ttop:50%;\r\n\t\t\t\t\tleft:50%;\r\n\t\t\t\t\tbackground-color:rgba($b-color,.5);\r\n\t\t\t\t\tanimation:changeSize 1s ease-in-out infinite alternate;\r\n\t\t\t\t\tborder-radius: 100%;\r\n\t\t\t\t}**********/ }\n c-player .controls .c-right .volume .volume-body {\n visibility: hidden;\n width: 0;\n transition: width 0.2s; }\n c-player .controls .c-right .volume:hover, c-player .controls .c-right .volume:active {\n width: 12em; }\n c-player .controls .c-right .volume:hover .volume-body, c-player .controls .c-right .volume:active .volume-body {\n visibility: visible;\n width: 100%; }\n c-player .controls .c-right .volume .volume-button {\n width: 2em;\n height: 2em; }\n c-player .controls .c-right .volume .volume-button .volume-power {\n display: flex;\n width: 100%;\n height: 100%;\n border-radius: 10%;\n color: rgba(255, 255, 255, 0.8);\n transition: all 0.2s ease-in;\n cursor: pointer; }\n c-player .controls .c-right .volume .volume-button .volume-power:hover, c-player .controls .c-right .volume .volume-button .volume-power:active {\n background: rgba(117, 117, 117, 0.3); }\n c-player .controls .c-right .volume .volume-button .volume-power .material-icons {\n margin: auto; }\n c-player .controls .c-right .list-button .list-power {\n display: flex;\n width: 100%;\n height: 100%;\n border-radius: 10%;\n color: rgba(255, 255, 255, 0.8);\n transition: all 0.2s ease-in;\n cursor: pointer; }\n c-player .controls .c-right .list-button .list-power:hover, c-player .controls .c-right .list-button .list-power:active {\n background: rgba(117, 117, 117, 0.3); }\n c-player .controls .c-right .list-button .list-power .material-icons {\n margin: auto; }\n c-player .controls .c-right .lyric-button .lyric-power {\n display: flex;\n width: 100%;\n height: 100%;\n border-radius: 10%;\n color: rgba(255, 255, 255, 0.8);\n transition: all 0.2s ease-in;\n cursor: pointer; }\n c-player .controls .c-right .lyric-button .lyric-power:hover, c-player .controls .c-right .lyric-button .lyric-power:active {\n background: rgba(117, 117, 117, 0.3); }\n c-player .controls .c-right .lyric-button .lyric-power .material-icons {\n margin: auto; }\n c-player .list {\n will-change: height;\n transition: all 0.25s;\n max-height: 75vh;\n background: rgba(255, 255, 255, 0.1);\n overflow: auto; }\n c-player .list list-body {\n display: flex;\n flex-direction: column;\n overflow: hidden; }\n c-player .list list-body > * {\n display: flex;\n align-items: center;\n flex: 1;\n cursor: pointer;\n transition: 0.5s background 0s ease; }\n c-player .list list-body > *:nth-child(2n-1) {\n background: rgba(117, 117, 117, 0.04); }\n c-player .list list-body > *:hover, c-player .list list-body > *:active {\n background: rgba(117, 117, 117, 0.13); }\n c-player .list list-body > *:hover::before, c-player .list list-body > *:active::before {\n width: 0.4em; }\n c-player .list list-body > *::before {\n background: rgba(125, 195, 218, 0.733);\n transition: 0.2s width 0s ease;\n float: left;\n height: 2.5em;\n width: 0em;\n display: block;\n content: \"\"; }\n @media screen and (max-width: 800px) {\n c-player .list list-body > *::before {\n height: 3em; }\n c-player .list list-body > *::before:hover::before, c-player .list list-body > *::before:active::before {\n width: 0.4em; } }\n c-player .list list-body .music-name, c-player .list list-body .music-artist {\n padding: 0 0.5em; }\n c-player .list list-body .music-name {\n flex: 1; }\n c-player .background {\n z-index: -1;\n position: absolute;\n top: -2.5em;\n bottom: -2.5em;\n left: -2.5em;\n right: -2.5em;\n transition: background-image 1s;\n background-color: grey;\n background-size: cover;\n background-position: center;\n filter: blur(2em) brightness(0.4); }\n\n.c-context {\n z-index: 9999;\n position: absolute;\n display: inline-flex;\n min-width: 5em;\n height: auto;\n flex-direction: column;\n background: #fff;\n box-shadow: 0 0 3em -1em #000; }\n\n.c-context--list {\n display: flex;\n flex: 1;\n min-height: 2em;\n padding: 1em;\n box-sizing: border-box;\n transition: background 0.5s;\n will-change: background;\n cursor: pointer; }\n\n.c-context--list:hover {\n background: rgba(53, 154, 188, 0.733); }\n", ""]); // exports @@ -747,537 +747,640 @@ exports.push([module.i, "@charset \"UTF-8\";\n/*@keyframes changeSize{\r\n\t0%{\ "use strict"; Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "cPlayer", function() { return cPlayer; }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_modules_cEmitter_class__ = __webpack_require__(2); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_modules_cLyric_function__ = __webpack_require__(3); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2_modules_SVG_object__ = __webpack_require__(4); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3_modules_cBase_class__ = __webpack_require__(5); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4_modules_cContext_class__ = __webpack_require__(6); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__modules_cEmitter_class__ = __webpack_require__(2); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__modules_cLyric_function__ = __webpack_require__(3); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__modules_SVG_object__ = __webpack_require__(4); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__modules_cBase_class__ = __webpack_require__(5); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__modules_cContext_class__ = __webpack_require__(6); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__scss_cplayer_scss__ = __webpack_require__(7); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__scss_cplayer_scss___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_5__scss_cplayer_scss__); -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -var __assign = (this && this.__assign) || Object.assign || function(t) { - for (var s, i = 1, n = arguments.length; i < n; i++) { - s = arguments[i]; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) - t[p] = s[p]; - } - return t; -}; -/* - cPlayer - Author Corps - - I am the super Corps! - */ -/// - - - - - - -var cPlayer = (function (_super) { - __extends(cPlayer, _super); - function cPlayer(options) { - var _this = this; - var EVENTS = { - "play": [], - "pause": [], - "volumechange": [], - "timeupdate": [], - "canplaythrough": [], - "ended": [], - //All the above are binded on AUDIO Elements, - //The following items are Function's callback function. - "toggle": [], - "previous": [], - "next": [], - "changeList": [], - "changeLyric": [], - "slideList": [], - "slideLyric": [], - "clickLyricPower": [], - "clickListPower": [], - "clickVolumePower": [], - }; - _this = _super.call(this, EVENTS) || this; - _this.transLock = false; - //this = new cEmitter(EVENTS); - //this.on = (eventName,func)=>this.on(eventName,func); - /* - * 參數处理,合并默认参数与定义參數 - */ - var DEFAULTS = { - "element": document.getElementById("cplayer"), - "list": [] - }; - _this.options = __assign({}, DEFAULTS, options); - _this.CBASE = new __WEBPACK_IMPORTED_MODULE_3_modules_cBase_class__["a" /* cBase */]; - _this.now = 0; - _this.dragging = { contain: false, target: document.body }; - //现在开始填DOM - _this.options.element.innerHTML += '
'; - (function () { - var res = _this.options.element.getElementsByTagName("c-player"); - _this.CBASE.root = res[res.length - 1]; - })(); - //然后为DOMList填充一下吧 - _this.__LIST__ = { - "lyric": _this.CBASE.getByClass("lyric"), - "lyricBody": _this.CBASE.getByTagName("lyric-body"), - "toggle": _this.CBASE.getByClass("play-icon"), - "img": _this.CBASE.getByClass("meta-bak"), - "name": _this.CBASE.getByClass("music-name"), - "artist": _this.CBASE.getByClass("music-artist"), - "time": _this.CBASE.getByClass("time"), - "timeBody": _this.CBASE.getByClass("time-body"), - "timeLine": _this.CBASE.getByClass("time-line"), - "timePoint": _this.CBASE.getByClass("time-point"), - "lyricPower": _this.CBASE.getByClass("lyric-power"), - "volumePower": _this.CBASE.getByClass("volume-power"), - "volumeBody": _this.CBASE.getByClass("volume-body"), - "volumeLine": _this.CBASE.getByClass("volume-line"), - "volumePoint": _this.CBASE.getByClass("volume-point"), - "volume": _this.CBASE.getByClass("volume"), - "listPower": _this.CBASE.getByClass("list-power"), - "list": _this.CBASE.getByClass("list"), - "listBody": _this.CBASE.getByTagName("list-body") - }; - _this.__LIST__.toggleIcon = _this.CBASE.getByTagName("svg", _this.__LIST__.toggle); - _this.__LIST__.volumeIcon = _this.CBASE.getByTagName("svg", _this.__LIST__.volumePower); - var that = _this; - function dragPercentage(options) { - /* - While anything... - rightTarget(if.it.possible)[ - 0 -> sth.point - 1 -> sth.line - 2 -> sth.point & sth.line & sth.body - ] - */ - var rightTarget = []; - Object.defineProperties(rightTarget, { - 0: { - get: function () { - return options.target === that.__LIST__.timePoint - || options.target === that.__LIST__.volumePoint; - } - }, - 1: { - get: function () { - return options.target === that.__LIST__.timeLine - || options.target === that.__LIST__.volumeLine; - } - }, - 2: { - get: function () { - return options.target === that.__LIST__.timeBody - || options.target === that.__LIST__.volumeBody; - } - } - }); - if (!(rightTarget[2] || rightTarget[1] || rightTarget[0])) - return; //Warning!!! rightTarget[2] checks if mouse focus on the percentage. - that.dragging.contain = true; - that.dragging.target = options.target; - var mover = function (options) { - if (that.dragging.contain === false) - return; - if (!rightTarget[0]) - return; - var parent = that.dragging.target.parentNode.parentNode; - if (parent.classList && parent.classList.contains("volume-body")) { - that.__LIST__.volumeLine.style.width = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth * 100 + "%"; - } - else if (parent.classList && parent.classList.contains("time-body")) { - that.__LIST__.timeLine.style.width = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth * 100 + "%"; - } - //实时修正VOLUME - if (parent.classList.contains("volume-body")) { - var vol = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth; - vol = vol > 1 ? 1 : vol; - vol = vol < 0 ? 0 : vol; - that.music.volume = vol; - } - window.addEventListener("mouseup", upper, { "once": true }); - }; - var upper = function (options) { - window.removeEventListener("mousemove", mover); - var parent; - if (that.dragging.contain === false) - return; - /* - While anything... - sth.body -> self - sth.line -> parent - sth.point-> parent.parent - */ - if (false) { } - else if (rightTarget[0]) { - parent = that.dragging.target.parentNode.parentNode; - } - else if (rightTarget[1]) { - parent = that.dragging.target.parentNode; - } - else if (rightTarget[2]) { - parent = that.dragging.target; - } - else - throw new Error(JSON.stringify([that.dragging.target, rightTarget])); - if (parent.classList.contains("volume-body")) { - var vol = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth; - vol = vol > 1 ? 1 : vol; - vol = vol < 0 ? 0 : vol; - that.music.volume = vol; - } - else if (parent.classList.contains("time-body")) { - var time = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth; - time = time > 1 ? 1 : time; - time = time < 0 ? 0 : time; - that.updateTime(time * that.music.duration); - } - that.dragging.contain = false; - that.dragging.target = undefined; - }; - window.addEventListener("mousemove", mover); - window.addEventListener("click", upper, { "once": true }); - } - _this.music = document.createElement("audio"); - _this.music.autoplay = !!_this.options.autoplay; - _this.music.preload = "metadata"; - //绑定事件开始: - _this.on("toggle", function () { - if (_this.isPaused()) { - _this.play(); - } - else { - _this.pause(); - } - }).on("clickLyricPower", function () { - if (_this.hasLyric(_this.now) && _this.__LIST__.lyric.classList.contains("invisible")) { - _this.showLyric(); - } - else if (_this.hasLyric(_this.now) && !_this.__LIST__.lyric.classList.contains("invisible")) { - _this.hideLyric(); - } - }).on("clickListPower", function () { - if (_this.hasList() && _this.__LIST__.list.classList.contains("invisible")) { - _this.showList(); - } - else if (_this.hasList() && !_this.__LIST__.list.classList.contains("invisible")) { - _this.hideList(); - } - }).on("clickVolumePower", function () { - if (window.innerWidth < 600) { - _this.__LIST__.volume.parentElement.classList.toggle("hover"); - return; - } - if (_this.isMuted()) { - _this.music.muted = false; - } - else { - _this.volume(0); - } - }).on("timeupdate", function () { - _this.updateTime(); - if (_this.hasLyric(_this.now)) - _this._slideLyric(_this.music.currentTime); - }).on("volumechange", function () { - _this.volume(); //做更新界面用. - }).on("pause", function () { - _this.CBASE.replaceInner(_this.__LIST__.toggle, __WEBPACK_IMPORTED_MODULE_2_modules_SVG_object__["a" /* SVG */].playArrow); - }).on("play", function () { - _this.CBASE.replaceInner(_this.__LIST__.toggle, __WEBPACK_IMPORTED_MODULE_2_modules_SVG_object__["a" /* SVG */].pause); - _this.__LIST__.toggleIcon = _this.CBASE.getByTagName("svg", _this.__LIST__.toggle); - }).on("ended", function () { - _this.CBASE.style(_this.__LIST__.lyricBody, "transform", ""); - if (_this.options.list[_this.now].loop === true) { - _this.updateTime(0); - _this.play(); - } - else if (_this.hasList() && _this.now !== _this.options.list.length - 1) { - _this.next(); - } - }); - //结束 - new __WEBPACK_IMPORTED_MODULE_4_modules_cContext_class__["a" /* cContext */]({ - element: _this.options.element, items: [ - { "name": "上一曲", "action": function () { return _this.previous(); } }, - { "name": "下一曲", "action": function () { return _this.next(); } }, - { "name": "翻译", "action": function () { return _this.translate(); } } - ] - }); - if (_this.options.list[0]) - _this._toggle(); - _this.__LIST__.toggle.addEventListener("click", function () { return _this.emit("toggle"); }); - _this.__LIST__.lyricPower.addEventListener("click", function () { return _this.emit("clickLyricPower"); }); - _this.__LIST__.listPower.addEventListener("click", function () { return _this.emit("clickListPower"); }); - _this.__LIST__.volumePower.addEventListener("click", function () { return _this.emit("clickVolumePower"); }); - _this.music.addEventListener("volumechange", function (ev) { return _this.emit("volumechange", ev); }); - _this.music.addEventListener("timeupdate", function (ev) { return _this.emit("timeupdate", ev); }); - _this.music.addEventListener("canplaythrough", function () { return _this.emit("canplaythrough"); }); - _this.music.addEventListener("pause", function () { return _this.emit("pause"); }); - _this.music.addEventListener("play", function () { return _this.emit("play"); }); - _this.music.addEventListener("ended", function () { return _this.emit("ended"); }); - _this.options.element.addEventListener("mousedown", function (a) { return dragPercentage(a); }); - _this.volume(); - _this._refreshList(); - return _this; - } - ; - cPlayer.prototype.volume = function (vl) { - var _this = this; - if (vl === void 0) { vl = undefined; } - var checkLevel = function () { - if (_this.music.volume === 0 || _this.isMuted()) { - _this.CBASE.replaceInner(_this.__LIST__.volumePower, __WEBPACK_IMPORTED_MODULE_2_modules_SVG_object__["a" /* SVG */].volumeOff); - } - else if (_this.music.volume > 0 && _this.music.volume <= 0.5) { - _this.CBASE.replaceInner(_this.__LIST__.volumePower, __WEBPACK_IMPORTED_MODULE_2_modules_SVG_object__["a" /* SVG */].volumeDown); - } - else if (_this.music.volume > 0.5 && _this.music.volume <= 1) { - _this.CBASE.replaceInner(_this.__LIST__.volumePower, __WEBPACK_IMPORTED_MODULE_2_modules_SVG_object__["a" /* SVG */].volumeUp); - } - else { - console.log("Unexcepted Volume: " + _this.music.volume); - } - }; - if (vl === undefined) { - this.__LIST__.volumeLine.style.width = (this.music.volume * 100) + "%"; - checkLevel(); - return this.isMuted() ? 0 : this.music.volume; - } - else { - if (vl === 0) { - this.music.muted = true; - checkLevel(); - } - else { - this.music.volume = vl; - checkLevel(); - } - } - }; - cPlayer.prototype.isMuted = function () { - return this.music.muted; - }; - cPlayer.prototype.play = function () { - if (this.music.seeking === true) - return this; - this.music.play(); - return this; - }; - cPlayer.prototype.pause = function () { - if (this.music.seeking === true) - return; - this.music.pause(); - return this; - }; - cPlayer.prototype.previous = function () { - this.emit("previous"); - if (this.now === 0) - return; - this.now--; - this._toggle().play(); - return this; - }; - cPlayer.prototype.next = function () { - this.emit("next"); - if (this.now === this.options.list.length - 1) - return; - this.now++; - this._toggle().play(); - return this; - }; - cPlayer.prototype.to = function (now) { - this.now = now; - this._toggle(); - this.play(); - return this; - }; - cPlayer.prototype._toggle = function (now) { - if (now === void 0) { now = this.now; } - var list = this.options.list[now], dom = this.__LIST__; - this.music.pause(); - _a = [list.image, list.name, list.artist, list.url === undefined ? "" : list.url], dom.img.src = _a[0], dom.name.innerHTML = _a[1], dom.artist.innerHTML = _a[2], this.music.src = _a[3]; - this.transLock = false; - this.refreshLyric(); - if (!this.hasLyric(this.now)) - this.hideLyric(); - this.CBASE.style(this.__LIST__.lyricBody, "transform", ""); - return this; - var _a; - }; - cPlayer.prototype.isPaused = function () { - return this.music.paused; - }; - cPlayer.prototype.hasLyric = function (id) { - if (id === void 0) { id = 0; } - return (this.options.list[id].lyric != undefined); - }; - cPlayer.prototype.showLyric = function () { - this.emit("slideLyric", true); - if (this.hasLyric(this.now)) - this.__LIST__.lyric.classList.remove("invisible"); - if (!this.__LIST__.list.classList.contains("invisible")) - this.hideList(); - return this; - }; - cPlayer.prototype.hideLyric = function () { - this.emit("slideLyric", false); - this.__LIST__.lyric.classList.add("invisible"); - return this; - }; - cPlayer.prototype.hasList = function () { - return (this.options.list.length > 1); - }; - cPlayer.prototype.showList = function () { - this.emit("slideList", true); - this.__LIST__.list.classList.remove("invisible"); - if (!this.__LIST__.lyric.classList.contains("invisible")) - this.hideLyric(); - return this; - }; - cPlayer.prototype.hideList = function () { - this.emit("slideList", false); - this.__LIST__.list.classList.add("invisible"); - return this; - }; - cPlayer.prototype._refreshList = function () { - var _this = this; - this.emit("changeList"); - var list = this.options.list, lb = this.__LIST__.listBody; - lb.innerHTML = ""; - var _loop_1 = function (i) { - var div = document.createElement("div"); - div.innerHTML = '' + list[i].name + '' + list[i].artist + ''; - div = lb.appendChild(div); - div.addEventListener("click", function () { - _this.to(i); - }); - }; - for (var i = 0; i <= list.length - 1; i++) { - _loop_1(i); - } - }; - cPlayer.prototype.add = function (u) { - var _this = this; - var ln = this.options.list.push(u); - var div = document.createElement("div"); - div.innerHTML = '' + u.name + '' + u.artist + ''; - div = this.__LIST__.listBody.appendChild(div); - div.addEventListener("click", function () { - _this.to(ln - 1); - }); - if (ln === 1) - this._toggle(); //刷新元素. - return this; - }; - cPlayer.prototype.remove = function (id) { - this.options.list.splice(id, 1); - this._refreshList(); - return this; - }; - cPlayer.prototype.lyric = function (content) { - if (content === void 0) { content = undefined; } - if (content === undefined) { - if (this.hasLyric(this.now)) - return this.options.list[this.now].lyric; - } - else { - this.options.list[this.now].lyric = content; - this.refreshLyric(); - } - return this; - }; - cPlayer.prototype.refreshLyric = function (isTrans) { - if (isTrans === void 0) { isTrans = false; } - //REQUIRE LYRIC... - this.__LIST__.lyricBody.innerHTML = ""; - if (!this.hasLyric(this.now)) - return; - var lr = isTrans !== false ? - this.options.list[this.now].transLyric - : this.options.list[this.now].lyric; - var lyric = Object(__WEBPACK_IMPORTED_MODULE_1_modules_cLyric_function__["a" /* cLyric */])(lr); - lyric["now"] = 0; - this.__LYRIC__ = lyric; - for (var i = 0; i <= lyric.length - 1; i++) { - var div = document.createElement("lrc"); - div.innerHTML = lyric[i].content; - this.__LIST__.lyricBody.appendChild(div); - } - this.emit("changeLyric"); - }; - cPlayer.prototype.updateTime = function (time, func) { - if (time === void 0) { time = undefined; } - if (time !== undefined) - this.music.currentTime = time; - if (this.dragging.contain === false) - this.__LIST__.timeLine.style.width = (this.music.currentTime / this.music.duration) * 100 + "%"; - if (func !== undefined) - func(this.music.currentTime); - }; - cPlayer.prototype._slideLyric = function (time) { - if (this.__LIST__.lyric.classList.contains("invisible")) - return; - var lyricToTop, halfBody, translateY, lyricBody = this.__LIST__.lyricBody, lrc = this.__LIST__.lyricBody.getElementsByTagName("lrc"); - var clear = function (list) { - for (var n = list.length - 1; n >= 0; n--) - if (list[n] !== lrc[i]) - list[n].classList.remove("now"); - }; - //遍历Lyric,寻找当前时间的歌词 - //注意:[].find & [].findIndex 仅返回符合要求元素组成的数组第一项,符合要求元素组成的数组的顺序参考原数组不变 - //现在的写法需要__LYRIC__属性具有time从小到大排列的顺序,详见refreshLyric()方法 - var lyric = this.CBASE.find(this.__LYRIC__, function (element) { return element.time < time; }).reverse()[0]; - var i = [].indexOf.call(this.__LYRIC__, lyric); - if (i < 0) { - this.CBASE.style(lyricBody, "transform", ""); - var list_1 = this.__LIST__.lyricBody.getElementsByClassName("now"); - clear(list_1); - return; - } - if (this.__LYRIC__["now"] !== i) - this.__LYRIC__["now"] = i; - lrc[i].classList.add("now"); - lyricToTop = lyricBody.childNodes[i].offsetTop - lyricBody.childNodes[0].offsetTop - 0.5 * lyricBody.childNodes[i].clientHeight; - halfBody = 0.5 * this.__LIST__.lyric.clientHeight - lyricBody.childNodes[i].clientHeight; - translateY = -(lyricToTop - halfBody); - this.CBASE.style(lyricBody, "transform", "translateY(" + translateY + "px)"); - var list = this.__LIST__.lyricBody.getElementsByClassName("now"); - if (list.length > 1) - clear(list); - }; - cPlayer.prototype.translate = function () { - if (!this.options.list[this.now].transLyric || !this.hasLyric(this.now)) - return false; - this.transLock = !this.transLock; - this.refreshLyric(this.transLock); - }; - Object.defineProperty(cPlayer.prototype, "length", { - get: function () { - return this.options.list.length; - }, - set: function (length) { - throw new SyntaxError("Read-only Property."); - }, - enumerable: true, - configurable: true - }); - return cPlayer; -}(__WEBPACK_IMPORTED_MODULE_0_modules_cEmitter_class__["a" /* cEmitter */])); -console.log("\n%ccPlayer%cv" + (cPlayer.version = "2.5.001") + "%c\n\n", "padding:7px;background:#cd3e45;font-family:'Sitka Heading';font-weight:bold;font-size:large;color:white", "padding:7px;background:#ff5450;font-family:'Sitka Text';font-size:large;color:#eee", ""); - +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +var __assign = (this && this.__assign) || Object.assign || function(t) { + for (var s, i = 1, n = arguments.length; i < n; i++) { + s = arguments[i]; + for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) + t[p] = s[p]; + } + return t; +}; +var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { + return new (P || (P = Promise))(function (resolve, reject) { + function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } + function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } + function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); +}; +var __generator = (this && this.__generator) || function (thisArg, body) { + var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g; + return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g; + function verb(n) { return function (v) { return step([n, v]); }; } + function step(op) { + if (f) throw new TypeError("Generator is already executing."); + while (_) try { + if (f = 1, y && (t = y[op[0] & 2 ? "return" : op[0] ? "throw" : "next"]) && !(t = t.call(y, op[1])).done) return t; + if (y = 0, t) op = [0, t.value]; + switch (op[0]) { + case 0: case 1: t = op; break; + case 4: _.label++; return { value: op[1], done: false }; + case 5: _.label++; y = op[1]; op = [0]; continue; + case 7: op = _.ops.pop(); _.trys.pop(); continue; + default: + if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; } + if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; } + if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; } + if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; } + if (t[2]) _.ops.pop(); + _.trys.pop(); continue; + } + op = body.call(thisArg, _); + } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; } + if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true }; + } +}; +/* + cPlayer + Author Corps + + I am the super Corps! + */ +/// + + + + + + +var cPlayer = /** @class */ (function (_super) { + __extends(cPlayer, _super); + function cPlayer(options) { + var _this = this; + var EVENTS = { + "play": [], + "pause": [], + "volumechange": [], + "timeupdate": [], + "canplaythrough": [], + "ended": [], + //All the above are binded on AUDIO Elements, + //The following items are Function's callback function. + "toggle": [], + "previous": [], + "next": [], + "changeList": [], + "changeLyric": [], + "slideList": [], + "slideLyric": [], + "clickLyricPower": [], + "clickListPower": [], + "clickVolumePower": [], + }; + _this = _super.call(this, EVENTS) || this; + _this.transLock = false; + //this = new cEmitter(EVENTS); + //this.on = (eventName,func)=>this.on(eventName,func); + /* + * 參數处理,合并默认参数与定义參數 + */ + var DEFAULTS = { + "element": document.getElementById("cplayer"), + "list": [] + }; + _this.options = __assign({}, DEFAULTS, options); + _this.CBASE = new __WEBPACK_IMPORTED_MODULE_3__modules_cBase_class__["a" /* cBase */]; + _this.now = 0; + _this.dragging = { contain: false, target: document.body }; + //现在开始填DOM + _this.options.element.innerHTML += '
'; + (function () { + var res = _this.options.element.getElementsByTagName("c-player"); + _this.CBASE.root = res[res.length - 1]; + })(); + //然后为DOMList填充一下吧 + _this.__LIST__ = { + "lyric": _this.CBASE.getByClass("lyric"), + "lyricBody": _this.CBASE.getByTagName("lyric-body"), + "toggle": _this.CBASE.getByClass("play-icon"), + "img": _this.CBASE.getByClass("meta-bak"), + "name": _this.CBASE.getByClass("music-name"), + "artist": _this.CBASE.getByClass("music-artist"), + "time": _this.CBASE.getByClass("time"), + "timeBody": _this.CBASE.getByClass("time-body"), + "timeLine": _this.CBASE.getByClass("time-line"), + "timePoint": _this.CBASE.getByClass("time-point"), + "lyricPower": _this.CBASE.getByClass("lyric-power"), + "volumePower": _this.CBASE.getByClass("volume-power"), + "volumeBody": _this.CBASE.getByClass("volume-body"), + "volumeLine": _this.CBASE.getByClass("volume-line"), + "volumePoint": _this.CBASE.getByClass("volume-point"), + "volume": _this.CBASE.getByClass("volume"), + "listPower": _this.CBASE.getByClass("list-power"), + "list": _this.CBASE.getByClass("list"), + "listBody": _this.CBASE.getByTagName("list-body"), + "background": _this.CBASE.getByClass("background") + }; + _this.__LIST__.toggleIcon = _this.CBASE.getByTagName("svg", _this.__LIST__.toggle); + _this.__LIST__.volumeIcon = _this.CBASE.getByTagName("svg", _this.__LIST__.volumePower); + var that = _this; + function dragPercentage(options) { + /* + While anything... + rightTarget(if.it.possible)[ + 0 -> sth.point + 1 -> sth.line + 2 -> sth.point & sth.line & sth.body + ] + */ + var rightTarget = []; + Object.defineProperties(rightTarget, { + 0: { + get: function () { + return options.target === that.__LIST__.timePoint + || options.target === that.__LIST__.volumePoint; + } + }, + 1: { + get: function () { + return options.target === that.__LIST__.timeLine + || options.target === that.__LIST__.volumeLine; + } + }, + 2: { + get: function () { + return options.target === that.__LIST__.timeBody + || options.target === that.__LIST__.volumeBody; + } + } + }); + if (!(rightTarget[2] || rightTarget[1] || rightTarget[0])) + return; //Warning!!! rightTarget[2] checks if mouse focus on the percentage. + that.dragging.contain = true; + that.dragging.target = options.target; + var mover = function (options) { + if (that.dragging.contain === false) + return; + if (!rightTarget[0]) + return; + var parent = that.dragging.target.parentNode.parentNode; + if (parent.classList && parent.classList.contains("volume-body")) { + that.__LIST__.volumeLine.style.width = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth * 100 + "%"; + } + else if (parent.classList && parent.classList.contains("time-body")) { + that.__LIST__.timeLine.style.width = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth * 100 + "%"; + } + //实时修正VOLUME + if (parent.classList.contains("volume-body")) { + var vol = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth; + vol = vol > 1 ? 1 : vol; + vol = vol < 0 ? 0 : vol; + that.music.volume = vol; + } + window.addEventListener("mouseup", upper, { "once": true }); + }; + var upper = function (options) { + window.removeEventListener("mousemove", mover); + var parent; + if (that.dragging.contain === false) + return; + /* + While anything... + sth.body -> self + sth.line -> parent + sth.point-> parent.parent + */ + if (false) { } + else if (rightTarget[0]) { + parent = that.dragging.target.parentNode.parentNode; + } + else if (rightTarget[1]) { + parent = that.dragging.target.parentNode; + } + else if (rightTarget[2]) { + parent = that.dragging.target; + } + else + throw new Error(JSON.stringify([that.dragging.target, rightTarget])); + if (parent.classList.contains("volume-body")) { + var vol = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth; + vol = vol > 1 ? 1 : vol; + vol = vol < 0 ? 0 : vol; + that.music.volume = vol; + } + else if (parent.classList.contains("time-body")) { + var time = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth; + time = time > 1 ? 1 : time; + time = time < 0 ? 0 : time; + that.updateTime(time * that.music.duration); + } + that.dragging.contain = false; + that.dragging.target = undefined; + }; + window.addEventListener("mousemove", mover); + window.addEventListener("click", upper, { "once": true }); + } + _this.music = document.createElement("audio"); + _this.music.autoplay = !!_this.options.autoplay; + _this.music.preload = "metadata"; + //绑定事件开始: + _this.on("toggle", function () { + if (_this.isPaused()) { + _this.play(); + } + else { + _this.pause(); + } + }).on("clickLyricPower", function () { + if (_this.hasLyric(_this.now) && _this.__LIST__.lyric.classList.contains("invisible")) { + _this.showLyric(); + } + else if (_this.hasLyric(_this.now) && !_this.__LIST__.lyric.classList.contains("invisible")) { + _this.hideLyric(); + } + }).on("clickListPower", function () { + if (_this.hasList() && _this.__LIST__.list.classList.contains("invisible")) { + _this.showList(); + } + else if (_this.hasList() && !_this.__LIST__.list.classList.contains("invisible")) { + _this.hideList(); + } + }).on("clickVolumePower", function () { + if (window.innerWidth < 600) { + _this.__LIST__.volume.parentElement.classList.toggle("hover"); + return; + } + if (_this.isMuted()) { + _this.music.muted = false; + } + else { + _this.volume(0); + } + }).on("timeupdate", function () { + _this.updateTime(); + if (_this.hasLyric(_this.now)) + _this._slideLyric(_this.music.currentTime); + }).on("volumechange", function () { + _this.volume(); //做更新界面用. + }).on("pause", function () { + _this.CBASE.replaceInner(_this.__LIST__.toggle, __WEBPACK_IMPORTED_MODULE_2__modules_SVG_object__["a" /* SVG */].playArrow); + }).on("play", function () { + _this.CBASE.replaceInner(_this.__LIST__.toggle, __WEBPACK_IMPORTED_MODULE_2__modules_SVG_object__["a" /* SVG */].pause); + _this.__LIST__.toggleIcon = _this.CBASE.getByTagName("svg", _this.__LIST__.toggle); + }).on("ended", function () { + _this.CBASE.style(_this.__LIST__.lyricBody, "transform", ""); + if (_this.options.list[_this.now].loop === true) { + _this.updateTime(0); + _this.play(); + } + else if (_this.hasList() && _this.now !== _this.options.list.length - 1) { + _this.next(); + } + }); + //结束 + new __WEBPACK_IMPORTED_MODULE_4__modules_cContext_class__["a" /* cContext */]({ + element: _this.options.element, items: [ + { "name": "上一曲", "action": function () { return _this.previous(); } }, + { "name": "下一曲", "action": function () { return _this.next(); } }, + { "name": "翻译", "action": function () { return _this.translate(); } } + ] + }); + if (_this.options.list[0]) + _this._toggle(); + _this.__LIST__.toggle.addEventListener("click", function () { return _this.emit("toggle"); }); + _this.__LIST__.lyricPower.addEventListener("click", function () { return _this.emit("clickLyricPower"); }); + _this.__LIST__.listPower.addEventListener("click", function () { return _this.emit("clickListPower"); }); + _this.__LIST__.volumePower.addEventListener("click", function () { return _this.emit("clickVolumePower"); }); + _this.music.addEventListener("volumechange", function (ev) { return _this.emit("volumechange", ev); }); + _this.music.addEventListener("timeupdate", function (ev) { return _this.emit("timeupdate", ev); }); + _this.music.addEventListener("canplaythrough", function () { return _this.emit("canplaythrough"); }); + _this.music.addEventListener("pause", function () { return _this.emit("pause"); }); + _this.music.addEventListener("play", function () { return _this.emit("play"); }); + _this.music.addEventListener("ended", function () { return _this.emit("ended"); }); + _this.options.element.addEventListener("mousedown", function (a) { return dragPercentage(a); }); + _this.volume(); + _this._refreshList(); + return _this; + } + ; + cPlayer.prototype.volume = function (vl) { + var _this = this; + if (vl === void 0) { vl = undefined; } + var checkLevel = function () { + if (_this.music.volume === 0 || _this.isMuted()) { + _this.CBASE.replaceInner(_this.__LIST__.volumePower, __WEBPACK_IMPORTED_MODULE_2__modules_SVG_object__["a" /* SVG */].volumeOff); + } + else if (_this.music.volume > 0 && _this.music.volume <= 0.5) { + _this.CBASE.replaceInner(_this.__LIST__.volumePower, __WEBPACK_IMPORTED_MODULE_2__modules_SVG_object__["a" /* SVG */].volumeDown); + } + else if (_this.music.volume > 0.5 && _this.music.volume <= 1) { + _this.CBASE.replaceInner(_this.__LIST__.volumePower, __WEBPACK_IMPORTED_MODULE_2__modules_SVG_object__["a" /* SVG */].volumeUp); + } + else { + console.log("Unexcepted Volume: " + _this.music.volume); + } + }; + if (vl === undefined) { + this.__LIST__.volumeLine.style.width = (this.music.volume * 100) + "%"; + checkLevel(); + return this.isMuted() ? 0 : this.music.volume; + } + else { + if (vl === 0) { + this.music.muted = true; + checkLevel(); + } + else { + this.music.volume = vl; + checkLevel(); + } + } + }; + cPlayer.prototype.isMuted = function () { + return this.music.muted; + }; + cPlayer.prototype.play = function () { + if (this.music.seeking === true) + return this; + this.music.play(); + return this; + }; + cPlayer.prototype.pause = function () { + if (this.music.seeking === true) + return; + this.music.pause(); + return this; + }; + cPlayer.prototype.previous = function () { + var _this = this; + this.emit("previous"); + if (this.now === 0) + return; + this.now--; + this._toggle().then(function (_) { return _this.play(); }); + return this; + }; + cPlayer.prototype.next = function () { + var _this = this; + this.emit("next"); + if (this.now === this.options.list.length - 1) + return; + this.now++; + this._toggle().then(function (_) { return _this.play(); }); + return this; + }; + cPlayer.prototype.to = function (now) { + this.now = now; + this._toggle(); + this.play(); + return this; + }; + cPlayer.prototype._toggle = function (now) { + if (now === void 0) { now = this.now; } + return __awaiter(this, void 0, void 0, function () { + var list, dom, url, _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + list = this.options.list[now], dom = this.__LIST__; + this.music.pause(); + if (!(list.url && list.url.resolve)) return [3 /*break*/, 2]; + return [4 /*yield*/, (function (asyncLoader) { + return __awaiter(this, void 0, void 0, function () { + var _a, _b; + return __generator(this, function (_c) { + switch (_c.label) { + case 0: + _b = (_a = asyncLoader).resolve; + return [4 /*yield*/, asyncLoader.waiter()]; + case 1: return [2 /*return*/, _b.apply(_a, [_c.sent()])]; + } + }); + }); + })(list.url)]; + case 1: + _a = _c.sent(); + return [3 /*break*/, 3]; + case 2: + _a = list.url; + _c.label = 3; + case 3: + url = _a; + _b = ["url(" + list.image + ")", list.image, list.name, list.artist, !list.url ? "" : url], dom.background.style.backgroundImage = _b[0], dom.img.src = _b[1], dom.name.innerHTML = _b[2], dom.artist.innerHTML = _b[3], this.music.src = _b[4]; + this.transLock = false; + return [4 /*yield*/, this.refreshLyric()]; + case 4: + _c.sent(); + if (!this.hasLyric(this.now)) + this.hideLyric(); + this.CBASE.style(this.__LIST__.lyricBody, "transform", ""); + return [2 /*return*/]; + } + }); + }); + }; + cPlayer.prototype.isPaused = function () { + return this.music.paused; + }; + cPlayer.prototype.hasLyric = function (id) { + if (id === void 0) { id = 0; } + return !!(this.options.list[id].lyric); + }; + cPlayer.prototype.showLyric = function () { + this.emit("slideLyric", true); + if (this.hasLyric(this.now)) + this.__LIST__.lyric.classList.remove("invisible"); + if (!this.__LIST__.list.classList.contains("invisible")) + this.hideList(); + return this; + }; + cPlayer.prototype.hideLyric = function () { + this.emit("slideLyric", false); + this.__LIST__.lyric.classList.add("invisible"); + return this; + }; + cPlayer.prototype.hasList = function () { + return (this.options.list.length > 1); + }; + cPlayer.prototype.showList = function () { + this.emit("slideList", true); + this.__LIST__.list.classList.remove("invisible"); + if (!this.__LIST__.lyric.classList.contains("invisible")) + this.hideLyric(); + return this; + }; + cPlayer.prototype.hideList = function () { + this.emit("slideList", false); + this.__LIST__.list.classList.add("invisible"); + return this; + }; + cPlayer.prototype._refreshList = function () { + var _this = this; + this.emit("changeList"); + var list = this.options.list, lb = this.__LIST__.listBody; + lb.innerHTML = ""; + var _loop_1 = function (i) { + var div = document.createElement("div"); + div.innerHTML = '' + list[i].name + '' + list[i].artist + ''; + div = lb.appendChild(div); + div.addEventListener("click", function () { + _this.to(i); + }); + }; + for (var i = 0; i <= list.length - 1; i++) { + _loop_1(i); + } + }; + cPlayer.prototype.add = function (u) { + var _this = this; + var ln = this.options.list.push(u); + var div = document.createElement("div"); + div.innerHTML = '' + u.name + '' + u.artist + ''; + div = this.__LIST__.listBody.appendChild(div); + div.addEventListener("click", function () { + _this.to(ln - 1); + }); + if (ln === 1) + this._toggle(); //刷新元素. + return this; + }; + cPlayer.prototype.remove = function (id) { + this.options.list.splice(id, 1); + this._refreshList(); + return this; + }; + cPlayer.prototype.lyric = function (content) { + if (content === void 0) { content = undefined; } + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!!content) return [3 /*break*/, 1]; + if (this.hasLyric(this.now)) + return [2 /*return*/, this.options.list[this.now].lyric]; + return [3 /*break*/, 3]; + case 1: + this.options.list[this.now].lyric = content; + return [4 /*yield*/, this.refreshLyric()]; + case 2: + _a.sent(); + _a.label = 3; + case 3: return [2 /*return*/]; + } + }); + }); + }; + cPlayer.prototype.refreshLyric = function (isTrans) { + if (isTrans === void 0) { isTrans = false; } + return __awaiter(this, void 0, void 0, function () { + var lyrics, lr, lyric, i, div; + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + //REQUIRE LYRIC... + this.__LIST__.lyricBody.innerHTML = ""; + if (!(this.options.list[this.now].lyric + && this.options.list[this.now].lyric.waiter)) return [3 /*break*/, 2]; + return [4 /*yield*/, this.options.list[this.now].lyric.waiter()]; + case 1: + lyrics = _a.sent(); + this.options.list[this.now] = __assign({}, this.options.list[this.now], this.options.list[this.now].lyric.resolve(lyrics)); + _a.label = 2; + case 2: + ; + if (!this.hasLyric(this.now)) + return [2 /*return*/, false]; + lr = isTrans !== false ? + this.options.list[this.now].transLyric + : this.options.list[this.now].lyric; + lyric = Object(__WEBPACK_IMPORTED_MODULE_1__modules_cLyric_function__["a" /* cLyric */])(lr); + lyric["now"] = 0; + this.__LYRIC__ = lyric; + for (i = 0; i <= lyric.length - 1; i++) { + div = document.createElement("lrc"); + div.innerHTML = lyric[i].content; + this.__LIST__.lyricBody.appendChild(div); + } + this.emit("changeLyric"); + return [2 /*return*/]; + } + }); + }); + }; + cPlayer.prototype.updateTime = function (time, func) { + if (time === void 0) { time = undefined; } + if (time !== undefined) + this.music.currentTime = time; + if (this.dragging.contain === false) + this.__LIST__.timeLine.style.width = (this.music.currentTime / this.music.duration) * 100 + "%"; + if (func !== undefined) + func(this.music.currentTime); + }; + cPlayer.prototype._slideLyric = function (time) { + if (this.__LIST__.lyric.classList.contains("invisible")) + return; + var lyricToTop, halfBody, translateY, lyricBody = this.__LIST__.lyricBody, lrc = this.__LIST__.lyricBody.getElementsByTagName("lrc"); + var clear = function (list) { + for (var n = list.length - 1; n >= 0; n--) + if (list[n] !== lrc[i]) + list[n].classList.remove("now"); + }; + //遍历Lyric,寻找当前时间的歌词 + //注意:[].find & [].findIndex 仅返回符合要求元素组成的数组第一项,符合要求元素组成的数组的顺序参考原数组不变 + //现在的写法需要__LYRIC__属性具有time从小到大排列的顺序,详见refreshLyric()方法 + var lyric = this.CBASE.find(this.__LYRIC__, function (element) { return element.time < time; }).reverse()[0]; + var i = [].indexOf.call(this.__LYRIC__, lyric); + if (i < 0) { + this.CBASE.style(lyricBody, "transform", ""); + var list_1 = this.__LIST__.lyricBody.getElementsByClassName("now"); + clear(list_1); + return; + } + if (this.__LYRIC__["now"] !== i) + this.__LYRIC__["now"] = i; + lrc[i].classList.add("now"); + lyricToTop = lyricBody.childNodes[i].offsetTop - lyricBody.childNodes[0].offsetTop - 0.5 * lyricBody.childNodes[i].clientHeight; + halfBody = 0.5 * this.__LIST__.lyric.clientHeight - lyricBody.childNodes[i].clientHeight; + translateY = -(lyricToTop - halfBody); + this.CBASE.style(lyricBody, "transform", "translateY(" + translateY + "px)"); + var list = this.__LIST__.lyricBody.getElementsByClassName("now"); + if (list.length > 1) + clear(list); + }; + cPlayer.prototype.translate = function () { + return __awaiter(this, void 0, void 0, function () { + return __generator(this, function (_a) { + switch (_a.label) { + case 0: + if (!this.options.list[this.now].transLyric || !this.hasLyric(this.now)) + return [2 /*return*/, false]; + this.transLock = !this.transLock; + return [4 /*yield*/, this.refreshLyric(this.transLock)]; + case 1: + _a.sent(); + return [2 /*return*/]; + } + }); + }); + }; + Object.defineProperty(cPlayer.prototype, "length", { + get: function () { + return this.options.list.length; + }, + enumerable: true, + configurable: true + }); + return cPlayer; +}(__WEBPACK_IMPORTED_MODULE_0__modules_cEmitter_class__["a" /* cEmitter */])); +console.log("\n%ccPlayer%cv" + (cPlayer.version = "2.6.1") + "%c\n\n", "padding:7px;background:#cd3e45;font-family:'Sitka Heading';font-weight:bold;font-size:large;color:white", "padding:7px;background:#ff5450;font-family:'Sitka Text';font-size:large;color:#eee", ""); + /***/ }), @@ -1286,39 +1389,39 @@ console.log("\n%ccPlayer%cv" + (cPlayer.version = "2.5.001") + "%c\n\n", "paddin "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cEmitter; }); -var cEmitter = (function () { - function cEmitter(typeList) { - if (typeList) { - this.events = typeList; - } - else { - this.events = {}; - } - } - cEmitter.prototype.on = function (eventName, func) { - if (this.events[eventName] && this.events[eventName].push !== undefined && typeof func === "function") { - this.events[eventName].push(func); - } - else if (this.events[eventName] === undefined || this.events[eventName].push === undefined) { - this.events[eventName] = []; - } - else { - throw new TypeError("Uncaught Unexcepted TypeError."); - } - return this; - }; - cEmitter.prototype.emit = function (eventName) { - var args = []; - for (var _i = 1; _i < arguments.length; _i++) { - args[_i - 1] = arguments[_i]; - } - for (var i = 0; i < this.events[eventName].length; i++) { - this.events[eventName][i](args); - } - return this; - }; - return cEmitter; -}()); +var cEmitter = /** @class */ (function () { + function cEmitter(typeList) { + if (typeList) { + this.events = typeList; + } + else { + this.events = {}; + } + } + cEmitter.prototype.on = function (eventName, func) { + if (this.events[eventName] && this.events[eventName].push !== undefined && typeof func === "function") { + this.events[eventName].push(func); + } + else if (this.events[eventName] === undefined || this.events[eventName].push === undefined) { + this.events[eventName] = []; + } + else { + throw new TypeError("Uncaught Unexcepted TypeError."); + } + return this; + }; + cEmitter.prototype.emit = function (eventName) { + var args = []; + for (var _i = 1; _i < arguments.length; _i++) { + args[_i - 1] = arguments[_i]; + } + for (var i = 0; i < this.events[eventName].length; i++) { + this.events[eventName][i](args); + } + return this; + }; + return cEmitter; +}()); /***/ }), @@ -1327,33 +1430,33 @@ var cEmitter = (function () { "use strict"; /* harmony export (immutable) */ __webpack_exports__["a"] = cLyric; -function cLyric(lrc) { - var offset = 0, lyricArray = []; - lrc.replace(/\n+/gi, "\n").split("\n").forEach(function (content) { - //content is like: - // [00:12.34]JUUUUUUUUUUUUUUMP!!!!!! - //get OFFSET - if (content.indexOf("offset") !== -1) - offset = parseInt((/offset\:(\d+)/gi).exec(content)[1]); - //get Lyric and translate it. - //ar[] -> [1.24,2.21,36.15,"HEY!"] - if (/\[\d+:[\d\.]+\]/gi.test(content)) { - var ar_1 = []; - [].forEach.call(content.match(/\[\d+\:[\.\d]+\]/gi), function (e) { - var number = /\[(\d+)\:([\.\d]+)\]/gi.exec(e); - ar_1.push(parseInt(number[1]) * 60 + parseFloat(number[2]) - offset * 0.001); - }); - ar_1.push(/(?:\[\d+\:[\.\d]+\])*(.*)/gi.exec(content)[1]); - do { - lyricArray.push({ time: ar_1.shift(), content: ar_1[ar_1.length - 1] }); - } while (ar_1.length > 1); - } - }); - return lyricArray.sort(function (a, b) { - return a.time - b.time; - }); -} -; +function cLyric(lrc) { + var offset = 0, lyricArray = []; + lrc.replace(/\n+/gi, "\n").split("\n").forEach(function (content) { + //content is like: + // [00:12.34]JUUUUUUUUUUUUUUMP!!!!!! + //get OFFSET + if (content.indexOf("offset") !== -1) + offset = parseInt((/offset\:(\d+)/gi).exec(content)[1]); + //get Lyric and translate it. + //ar[] -> [1.24,2.21,36.15,"HEY!"] + if (/\[\d+:[\d\.]+\]/gi.test(content)) { + var ar_1 = []; + [].forEach.call(content.match(/\[\d+\:[\.\d]+\]/gi), function (e) { + var number = /\[(\d+)\:([\.\d]+)\]/gi.exec(e); + ar_1.push(parseInt(number[1]) * 60 + parseFloat(number[2]) - offset * 0.001); + }); + ar_1.push(/(?:\[\d+\:[\.\d]+\])*(.*)/gi.exec(content)[1]); + do { + lyricArray.push({ time: ar_1.shift(), content: ar_1[ar_1.length - 1] }); + } while (ar_1.length > 1); + } + }); + return lyricArray.sort(function (a, b) { + return a.time - b.time; + }); +} +; /***/ }), @@ -1362,23 +1465,23 @@ function cLyric(lrc) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SVG; }); -var SVG = { - "playArrow": 'M16 10v28l22-14z', - "pause": 'M12 38h8V10h-8v28zm16-28v28h8V10h-8z', - "playlistPlay": 'M26 6H-8v4h34V6zm0-8H-8v4h34v-4zM-8 18h26v-4H-8v4zm30-4v12l10-6-10-6z', - "note": 'M44 20L32 8H8c-2.2 0-4 1.8-4 4v24.02C4 38.22 5.8 40 8 40l32-.02c2.2 0 4-1.78 4-3.98V20zm-14-9l11 11H30V11z', - "volumeUp": 'M6 18v12h8l10 10V8L14 18H6zm27 6c0-3.53-2.04-6.58-5-8.05v16.11c2.96-1.48 5-4.53 5-8.06zM28 6.46v4.13c5.78 1.72 10 7.07 10 13.41s-4.22 11.69-10 13.41v4.13c8.01-1.82 14-8.97 14-17.54S36.01 8.28 28 6.46z', - "volumeMute": 'M14 18v12h8l10 10V8L22 18h-8z', - "volumeOff": 'M33 24c0-3.53-2.04-6.58-5-8.05v4.42l4.91 4.91c.06-.42.09-.85.09-1.28zm5 0c0 1.88-.41 3.65-1.08 5.28l3.03 3.03C41.25 29.82 42 27 42 24c0-8.56-5.99-15.72-14-17.54v4.13c5.78 1.72 10 7.07 10 13.41zM8.55 6L6 8.55 15.45 18H6v12h8l10 10V26.55l8.51 8.51c-1.34 1.03-2.85 1.86-4.51 2.36v4.13c2.75-.63 5.26-1.89 7.37-3.62L39.45 42 42 39.45l-18-18L8.55 6zM24 8l-4.18 4.18L24 16.36V8z', - "volumeDown": 'M37 24c0-3.53-2.04-6.58-5-8.05v16.11c2.96-1.48 5-4.53 5-8.06zm-27-6v12h8l10 10V8L18 18h-8z', -}; -for (var i = 0, keys = Object.keys(SVG), length_1 = keys.length; i < length_1; i++) { - var svg = keys[i] === "playlistPlay" ? - '' : - ''; - SVG[keys[i]] = svg; -} - +var SVG = { + "playArrow": 'M16 10v28l22-14z', + "pause": 'M12 38h8V10h-8v28zm16-28v28h8V10h-8z', + "playlistPlay": 'M26 6H-8v4h34V6zm0-8H-8v4h34v-4zM-8 18h26v-4H-8v4zm30-4v12l10-6-10-6z', + "note": 'M44 20L32 8H8c-2.2 0-4 1.8-4 4v24.02C4 38.22 5.8 40 8 40l32-.02c2.2 0 4-1.78 4-3.98V20zm-14-9l11 11H30V11z', + "volumeUp": 'M6 18v12h8l10 10V8L14 18H6zm27 6c0-3.53-2.04-6.58-5-8.05v16.11c2.96-1.48 5-4.53 5-8.06zM28 6.46v4.13c5.78 1.72 10 7.07 10 13.41s-4.22 11.69-10 13.41v4.13c8.01-1.82 14-8.97 14-17.54S36.01 8.28 28 6.46z', + "volumeMute": 'M14 18v12h8l10 10V8L22 18h-8z', + "volumeOff": 'M33 24c0-3.53-2.04-6.58-5-8.05v4.42l4.91 4.91c.06-.42.09-.85.09-1.28zm5 0c0 1.88-.41 3.65-1.08 5.28l3.03 3.03C41.25 29.82 42 27 42 24c0-8.56-5.99-15.72-14-17.54v4.13c5.78 1.72 10 7.07 10 13.41zM8.55 6L6 8.55 15.45 18H6v12h8l10 10V26.55l8.51 8.51c-1.34 1.03-2.85 1.86-4.51 2.36v4.13c2.75-.63 5.26-1.89 7.37-3.62L39.45 42 42 39.45l-18-18L8.55 6zM24 8l-4.18 4.18L24 16.36V8z', + "volumeDown": 'M37 24c0-3.53-2.04-6.58-5-8.05v16.11c2.96-1.48 5-4.53 5-8.06zm-27-6v12h8l10 10V8L18 18h-8z', +}; +for (var i = 0, keys = Object.keys(SVG), length_1 = keys.length; i < length_1; i++) { + var svg = keys[i] === "playlistPlay" ? + '' : + ''; + SVG[keys[i]] = svg; +} + /***/ }), @@ -1387,72 +1490,72 @@ for (var i = 0, keys = Object.keys(SVG), length_1 = keys.length; i < length_1; i "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cBase; }); -var cBase = (function () { - function cBase(rootNode) { - if (rootNode === void 0) { rootNode = document.documentElement; } - var _this = this; - this.root = rootNode; - var _loop_1 = function (styleList, i) { - ["-webkit-", "-moz-", "-o-", "-ms-"].forEach(function (element) { - if (styleList[i].indexOf(element) !== -1) { - _this.browser = element.replace("-", ""); - } - ; - }); - if (this_1.browser) - return "break"; - }; - var this_1 = this; - for (var styleList = document.documentElement.style, i = styleList.length; i > 0; i--) { - var state_1 = _loop_1(styleList, i); - if (state_1 === "break") - break; - } - } - cBase.prototype.replace = function (oldElement, newElement) { - //newElement 不存在于oldElement 的父元素中,首先载入. - newElement = newElement.cloneNode(true); - oldElement.parentNode.appendChild(newElement); - oldElement.parentNode.removeChild(oldElement); - //顺便如果有值为oldElement的变量,请重新赋值. - }; - cBase.prototype.replaceInner = function (element, innerContent) { - //进行一次简单的封装 - element.innerHTML = innerContent; - }; - cBase.prototype.getByClass = function (className, parentElement) { - return parentElement != undefined ? - parentElement.getElementsByClassName(className)[0] - : this.root.getElementsByClassName(className)[0]; - }; - cBase.prototype.getByTagName = function (tagName, parentElement) { - return parentElement != undefined ? - parentElement.getElementsByTagName(tagName)[0] - : this.root.getElementsByTagName(tagName)[0]; - }; - cBase.prototype.rand = function (start, end) { - if (!start || !end) - return Math.random(); - if (start > end) - throw new RangeError("the EndNumber must be bigger than the StartNumber"); - return (end - start) * Math.random() + start; - }; - cBase.prototype.find = function (array, func) { - var ar = []; - [].forEach.call(array, function (el) { - if (!!func(el)) - ar.push(el); - }); - return ar; - }; - cBase.prototype.style = function (dom, property, content) { - //不管浏览器,暴力加前缀 - dom.style[(this.browser + property.slice(0, 1).toUpperCase() + property.slice(1))] = content; - dom.style[property] = content; - }; - return cBase; -}()); - +var cBase = /** @class */ (function () { + function cBase(rootNode) { + if (rootNode === void 0) { rootNode = document.documentElement; } + var _this = this; + this.root = rootNode; + var _loop_1 = function (styleList, i) { + ["-webkit-", "-moz-", "-o-", "-ms-"].forEach(function (element) { + if (styleList[i].indexOf(element) !== -1) { + _this.browser = element.replace("-", ""); + } + ; + }); + if (this_1.browser) + return "break"; + }; + var this_1 = this; + for (var styleList = document.documentElement.style, i = styleList.length; i > 0; i--) { + var state_1 = _loop_1(styleList, i); + if (state_1 === "break") + break; + } + } + cBase.prototype.replace = function (oldElement, newElement) { + //newElement 不存在于oldElement 的父元素中,首先载入. + newElement = newElement.cloneNode(true); + oldElement.parentNode.appendChild(newElement); + oldElement.parentNode.removeChild(oldElement); + //顺便如果有值为oldElement的变量,请重新赋值. + }; + cBase.prototype.replaceInner = function (element, innerContent) { + //进行一次简单的封装 + element.innerHTML = innerContent; + }; + cBase.prototype.getByClass = function (className, parentElement) { + return parentElement != undefined ? + parentElement.getElementsByClassName(className)[0] + : this.root.getElementsByClassName(className)[0]; + }; + cBase.prototype.getByTagName = function (tagName, parentElement) { + return parentElement != undefined ? + parentElement.getElementsByTagName(tagName)[0] + : this.root.getElementsByTagName(tagName)[0]; + }; + cBase.prototype.rand = function (start, end) { + if (!start || !end) + return Math.random(); + if (start > end) + throw new RangeError("the EndNumber must be bigger than the StartNumber"); + return (end - start) * Math.random() + start; + }; + cBase.prototype.find = function (array, func) { + var ar = []; + [].forEach.call(array, function (el) { + if (!!func(el)) + ar.push(el); + }); + return ar; + }; + cBase.prototype.style = function (dom, property, content) { + //不管浏览器,暴力加前缀 + dom.style[(this.browser + property.slice(0, 1).toUpperCase() + property.slice(1))] = content; + dom.style[property] = content; + }; + return cBase; +}()); + /***/ }), @@ -1461,83 +1564,83 @@ var cBase = (function () { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cContext; }); -var cContext = (function () { - /* - * options:{ - * "element":element, - * "items":[ - * {"name":"XXX","action":func}, - * {"name":"XXX","action":func}, - * ] - * } - */ - function cContext(options) { - var _this = this; - if (!options.element) - throw new Error("Need a element to bind."); - this.options = options; - this.options.element.oncontextmenu = function () { - return false; - }; - this.options.element.addEventListener("contextmenu", function (a) { - _this.hide(); - _this.show(a); - return false; - }); - document.documentElement.addEventListener("click", function () { return _this.hide(); }); - return this; - } - cContext.prototype.add = function (_a) { - var name = _a.name, action = _a.action; - this.options.items.push({ name: name, action: action }); - return this; - }; - cContext.prototype.show = function (_a) { - var pageX = _a.pageX, pageY = _a.pageY; - var content = document.createElement("div"); - content.classList.add("c-context"); - for (var items = this.options.items, i = 0; i < items.length; i++) { - content.appendChild(document.createElement("div")); - content.children[i].classList.add("c-context--list"); - content.children[i].innerHTML = items[i].name; - //content.innerHTML+=`
${items[i].name}
`; - content.children[i].addEventListener("click", items[i].action); - } - document.body.appendChild(content); - //Set the offset-x - if (document.documentElement.clientWidth > content.offsetWidth) { - content.style.left = document.documentElement.clientWidth > (content.offsetWidth + pageX) ? - pageX + "px" : pageX - content.offsetWidth + "px"; - } - else { - content.style.width = document.documentElement.clientWidth + "px"; - } - //Set the offset-y - if (document.documentElement.clientHeight > content.offsetHeight) { - content.style.top = document.documentElement.clientHeight > (content.offsetHeight + pageY) ? - pageY + "px" : pageY - content.offsetHeight + "px"; - } - content.style.visibility = "visible"; - return this; - }; - cContext.prototype.hide = function () { - for (var list = document.getElementsByClassName("c-context"), i = list.length - 1; i >= 0; i--) - document.body.removeChild(list[i]); - return this; - }; - Object.defineProperty(cContext.prototype, "items", { - get: function () { - return this.options.items; - }, - set: function (context) { - this.options.items = context; - }, - enumerable: true, - configurable: true - }); - return cContext; -}()); - +var cContext = /** @class */ (function () { + /* + * options:{ + * "element":element, + * "items":[ + * {"name":"XXX","action":func}, + * {"name":"XXX","action":func}, + * ] + * } + */ + function cContext(options) { + var _this = this; + if (!options.element) + throw new Error("Need a element to bind."); + this.options = options; + this.options.element.oncontextmenu = function () { + return false; + }; + this.options.element.addEventListener("contextmenu", function (a) { + _this.hide(); + _this.show(a); + return false; + }); + document.documentElement.addEventListener("click", function () { return _this.hide(); }); + return this; + } + cContext.prototype.add = function (_a) { + var name = _a.name, action = _a.action; + this.options.items.push({ name: name, action: action }); + return this; + }; + cContext.prototype.show = function (_a) { + var pageX = _a.pageX, pageY = _a.pageY; + var content = document.createElement("div"); + content.classList.add("c-context"); + for (var items = this.options.items, i = 0; i < items.length; i++) { + content.appendChild(document.createElement("div")); + content.children[i].classList.add("c-context--list"); + content.children[i].innerHTML = items[i].name; + //content.innerHTML+=`
${items[i].name}
`; + content.children[i].addEventListener("click", items[i].action); + } + document.body.appendChild(content); + //Set the offset-x + if (document.documentElement.clientWidth > content.offsetWidth) { + content.style.left = document.documentElement.clientWidth > (content.offsetWidth + pageX) ? + pageX + "px" : pageX - content.offsetWidth + "px"; + } + else { + content.style.width = document.documentElement.clientWidth + "px"; + } + //Set the offset-y + if (document.documentElement.clientHeight > content.offsetHeight) { + content.style.top = document.documentElement.clientHeight > (content.offsetHeight + pageY) ? + pageY + "px" : pageY - content.offsetHeight + "px"; + } + content.style.visibility = "visible"; + return this; + }; + cContext.prototype.hide = function () { + for (var list = document.getElementsByClassName("c-context"), i = list.length - 1; i >= 0; i--) + document.body.removeChild(list[i]); + return this; + }; + Object.defineProperty(cContext.prototype, "items", { + get: function () { + return this.options.items; + }, + set: function (context) { + this.options.items = context; + }, + enumerable: true, + configurable: true + }); + return cContext; +}()); + /***/ }), diff --git a/demo/cplayer.js.map b/demo/cplayer.js.map index 23114ac..9a393f2 100644 --- a/demo/cplayer.js.map +++ b/demo/cplayer.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 46768ef3bca6de830506","webpack:///./src/scss/cplayer.scss","webpack:///./src/js/cplayer.ts","webpack:///./src/js/modules/cEmitter.class.ts","webpack:///./src/js/modules/cLyric.function.ts","webpack:///./src/js/modules/SVG.object.ts","webpack:///./src/js/modules/cBase.class.ts","webpack:///./src/js/modules/cContext.class.ts","webpack:///./src/scss/cplayer.scss?0681","webpack:///./node_modules/css-loader/lib/css-base.js","webpack:///./node_modules/style-loader/lib/addStyles.js","webpack:///./node_modules/style-loader/lib/urls.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;AACD,O;ACVA;AACA;AACA;AACA;AACA;AACA,mEAA2D;AAC3D;AACA;AACA,WAAG;;AAEH,oDAA4C;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,wDAAgD;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAM;AACN;AACA;AACA,cAAM;AACN;AACA;AACA,cAAM;AACN;AACA;AACA;AACA,eAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;AACJ;;;;AAIA;AACA,sDAA8C;AAC9C;AACA;AACA,oCAA4B;AAC5B,qCAA6B;AAC7B,yCAAiC;;AAEjC,+CAAuC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAM;AACN;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,8CAAsC;AACtC;AACA;AACA,qCAA6B;AAC7B,qCAA6B;AAC7B;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAAoB,gBAAgB;AACpC;AACA;AACA;AACA,aAAK;AACL;AACA;AACA;AACA;AACA,4BAAoB,gBAAgB;AACpC;AACA;AACA;AACA,aAAK;AACL;AACA;AACA,aAAK;AACL;AACA;AACA,aAAK;AACL;AACA;AACA;AACA,aAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA,aAAK;AACL;AACA;AACA;AACA,aAAK;;AAEL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,yBAAiB,8BAA8B;AAC/C;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA,aAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;AACJ;;AAEA,4DAAoD;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAI;AACJ;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA,cAAM;AACN;AACA;AACA;AACA;AACA,YAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAAmB,2BAA2B;AAC9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,0BAAkB,cAAc;AAChC;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,cAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAa,4BAA4B;AACzC;AACA;AACA;AACA;AACA;AACA,cAAM;AACN;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,YAAI;;AAEJ;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA,sBAAc,4BAA4B;AAC1C;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA,sBAAc,4BAA4B;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAgB,uCAAuC;AACvD;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAe,uCAAuC;AACtD;AACA;AACA;AACA;AACA;AACA,uBAAe,sBAAsB;AACrC;AACA;AACA;AACA,eAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,iBAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,qBAAa,wCAAwC;AACrD;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;AACA;AACA,eAAO;AACP;AACA;AACA;AACA;AACA;AACA;AACA,iBAAS;AACT;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,cAAM;AACN;AACA;AACA;AACA;AACA;AACA,gBAAQ;AACR;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,YAAI;AACJ;;AAEA;AACA;;AAEA;AACA;;AAE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C;AAAD,CAAC;;;;;;;;ACvED;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA,gCAAgC,UAAU,EAAE;AAC5C,C;;;;;;ACzBA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,mCAAmC,gBAAgB;AACnD,IAAI;AACJ;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA,YAAY,oBAAoB;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;;AAEH;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,oDAAoD,cAAc;;AAElE;AACA;;;;;;;AC3EA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,CAAC;AACD;AACA,CAAC;;AAED;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;;AAEA;;AAEA;AACA;;AAEA,iBAAiB,mBAAmB;AACpC;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA,iBAAiB,sBAAsB;AACvC;;AAEA;AACA,mBAAmB,2BAA2B;;AAE9C;AACA;AACA;AACA;AACA;;AAEA;AACA,gBAAgB,mBAAmB;AACnC;AACA;;AAEA;AACA;;AAEA,iBAAiB,2BAA2B;AAC5C;AACA;;AAEA,QAAQ,uBAAuB;AAC/B;AACA;AACA,GAAG;AACH;;AAEA,iBAAiB,uBAAuB;AACxC;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;;AAEA;AACA;AACA;;AAEA,gBAAgB,iBAAiB;AACjC;AACA;AACA;AACA;AACA;AACA,cAAc;;AAEd,kDAAkD,sBAAsB;AACxE;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,EAAE;AACF;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA;;AAEA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA,CAAC;;AAED;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;;AAEA;;AAEA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,EAAE;AACF;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,uDAAuD;AACvD;;AAEA,6BAA6B,mBAAmB;;AAEhD;;AAEA;;AAEA;AACA;;;;;;;;AC/VA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,wCAAwC,WAAW,EAAE;AACrD,wCAAwC,WAAW,EAAE;;AAErD;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA,sCAAsC;AACtC,GAAG;AACH;AACA,8DAA8D;AAC9D;;AAEA;AACA;AACA,EAAE;;AAEF;AACA;AACA","file":"cplayer.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse {\n\t\tvar a = factory();\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \tfunction hotDisposeChunk(chunkId) {\n \t\tdelete installedChunks[chunkId];\n \t}\n \tvar parentHotUpdateCallback = this[\"webpackHotUpdate\"];\n \tthis[\"webpackHotUpdate\"] = \r\n \tfunction webpackHotUpdateCallback(chunkId, moreModules) { // eslint-disable-line no-unused-vars\r\n \t\thotAddUpdateChunk(chunkId, moreModules);\r\n \t\tif(parentHotUpdateCallback) parentHotUpdateCallback(chunkId, moreModules);\r\n \t} ;\r\n \t\r\n \tfunction hotDownloadUpdateChunk(chunkId) { // eslint-disable-line no-unused-vars\r\n \t\tvar head = document.getElementsByTagName(\"head\")[0];\r\n \t\tvar script = document.createElement(\"script\");\r\n \t\tscript.type = \"text/javascript\";\r\n \t\tscript.charset = \"utf-8\";\r\n \t\tscript.src = __webpack_require__.p + \"\" + chunkId + \".\" + hotCurrentHash + \".hot-update.js\";\r\n \t\thead.appendChild(script);\r\n \t}\r\n \t\r\n \tfunction hotDownloadManifest(requestTimeout) { // eslint-disable-line no-unused-vars\r\n \t\trequestTimeout = requestTimeout || 10000;\r\n \t\treturn new Promise(function(resolve, reject) {\r\n \t\t\tif(typeof XMLHttpRequest === \"undefined\")\r\n \t\t\t\treturn reject(new Error(\"No browser support\"));\r\n \t\t\ttry {\r\n \t\t\t\tvar request = new XMLHttpRequest();\r\n \t\t\t\tvar requestPath = __webpack_require__.p + \"\" + hotCurrentHash + \".hot-update.json\";\r\n \t\t\t\trequest.open(\"GET\", requestPath, true);\r\n \t\t\t\trequest.timeout = requestTimeout;\r\n \t\t\t\trequest.send(null);\r\n \t\t\t} catch(err) {\r\n \t\t\t\treturn reject(err);\r\n \t\t\t}\r\n \t\t\trequest.onreadystatechange = function() {\r\n \t\t\t\tif(request.readyState !== 4) return;\r\n \t\t\t\tif(request.status === 0) {\r\n \t\t\t\t\t// timeout\r\n \t\t\t\t\treject(new Error(\"Manifest request to \" + requestPath + \" timed out.\"));\r\n \t\t\t\t} else if(request.status === 404) {\r\n \t\t\t\t\t// no update available\r\n \t\t\t\t\tresolve();\r\n \t\t\t\t} else if(request.status !== 200 && request.status !== 304) {\r\n \t\t\t\t\t// other failure\r\n \t\t\t\t\treject(new Error(\"Manifest request to \" + requestPath + \" failed.\"));\r\n \t\t\t\t} else {\r\n \t\t\t\t\t// success\r\n \t\t\t\t\ttry {\r\n \t\t\t\t\t\tvar update = JSON.parse(request.responseText);\r\n \t\t\t\t\t} catch(e) {\r\n \t\t\t\t\t\treject(e);\r\n \t\t\t\t\t\treturn;\r\n \t\t\t\t\t}\r\n \t\t\t\t\tresolve(update);\r\n \t\t\t\t}\r\n \t\t\t};\r\n \t\t});\r\n \t}\r\n\n \t\r\n \t\r\n \tvar hotApplyOnUpdate = true;\r\n \tvar hotCurrentHash = \"46768ef3bca6de830506\"; // eslint-disable-line no-unused-vars\r\n \tvar hotRequestTimeout = 10000;\r\n \tvar hotCurrentModuleData = {};\r\n \tvar hotCurrentChildModule; // eslint-disable-line no-unused-vars\r\n \tvar hotCurrentParents = []; // eslint-disable-line no-unused-vars\r\n \tvar hotCurrentParentsTemp = []; // eslint-disable-line no-unused-vars\r\n \t\r\n \tfunction hotCreateRequire(moduleId) { // eslint-disable-line no-unused-vars\r\n \t\tvar me = installedModules[moduleId];\r\n \t\tif(!me) return __webpack_require__;\r\n \t\tvar fn = function(request) {\r\n \t\t\tif(me.hot.active) {\r\n \t\t\t\tif(installedModules[request]) {\r\n \t\t\t\t\tif(installedModules[request].parents.indexOf(moduleId) < 0)\r\n \t\t\t\t\t\tinstalledModules[request].parents.push(moduleId);\r\n \t\t\t\t} else {\r\n \t\t\t\t\thotCurrentParents = [moduleId];\r\n \t\t\t\t\thotCurrentChildModule = request;\r\n \t\t\t\t}\r\n \t\t\t\tif(me.children.indexOf(request) < 0)\r\n \t\t\t\t\tme.children.push(request);\r\n \t\t\t} else {\r\n \t\t\t\tconsole.warn(\"[HMR] unexpected require(\" + request + \") from disposed module \" + moduleId);\r\n \t\t\t\thotCurrentParents = [];\r\n \t\t\t}\r\n \t\t\treturn __webpack_require__(request);\r\n \t\t};\r\n \t\tvar ObjectFactory = function ObjectFactory(name) {\r\n \t\t\treturn {\r\n \t\t\t\tconfigurable: true,\r\n \t\t\t\tenumerable: true,\r\n \t\t\t\tget: function() {\r\n \t\t\t\t\treturn __webpack_require__[name];\r\n \t\t\t\t},\r\n \t\t\t\tset: function(value) {\r\n \t\t\t\t\t__webpack_require__[name] = value;\r\n \t\t\t\t}\r\n \t\t\t};\r\n \t\t};\r\n \t\tfor(var name in __webpack_require__) {\r\n \t\t\tif(Object.prototype.hasOwnProperty.call(__webpack_require__, name) && name !== \"e\") {\r\n \t\t\t\tObject.defineProperty(fn, name, ObjectFactory(name));\r\n \t\t\t}\r\n \t\t}\r\n \t\tfn.e = function(chunkId) {\r\n \t\t\tif(hotStatus === \"ready\")\r\n \t\t\t\thotSetStatus(\"prepare\");\r\n \t\t\thotChunksLoading++;\r\n \t\t\treturn __webpack_require__.e(chunkId).then(finishChunkLoading, function(err) {\r\n \t\t\t\tfinishChunkLoading();\r\n \t\t\t\tthrow err;\r\n \t\t\t});\r\n \t\r\n \t\t\tfunction finishChunkLoading() {\r\n \t\t\t\thotChunksLoading--;\r\n \t\t\t\tif(hotStatus === \"prepare\") {\r\n \t\t\t\t\tif(!hotWaitingFilesMap[chunkId]) {\r\n \t\t\t\t\t\thotEnsureUpdateChunk(chunkId);\r\n \t\t\t\t\t}\r\n \t\t\t\t\tif(hotChunksLoading === 0 && hotWaitingFiles === 0) {\r\n \t\t\t\t\t\thotUpdateDownloaded();\r\n \t\t\t\t\t}\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t};\r\n \t\treturn fn;\r\n \t}\r\n \t\r\n \tfunction hotCreateModule(moduleId) { // eslint-disable-line no-unused-vars\r\n \t\tvar hot = {\r\n \t\t\t// private stuff\r\n \t\t\t_acceptedDependencies: {},\r\n \t\t\t_declinedDependencies: {},\r\n \t\t\t_selfAccepted: false,\r\n \t\t\t_selfDeclined: false,\r\n \t\t\t_disposeHandlers: [],\r\n \t\t\t_main: hotCurrentChildModule !== moduleId,\r\n \t\r\n \t\t\t// Module API\r\n \t\t\tactive: true,\r\n \t\t\taccept: function(dep, callback) {\r\n \t\t\t\tif(typeof dep === \"undefined\")\r\n \t\t\t\t\thot._selfAccepted = true;\r\n \t\t\t\telse if(typeof dep === \"function\")\r\n \t\t\t\t\thot._selfAccepted = dep;\r\n \t\t\t\telse if(typeof dep === \"object\")\r\n \t\t\t\t\tfor(var i = 0; i < dep.length; i++)\r\n \t\t\t\t\t\thot._acceptedDependencies[dep[i]] = callback || function() {};\r\n \t\t\t\telse\r\n \t\t\t\t\thot._acceptedDependencies[dep] = callback || function() {};\r\n \t\t\t},\r\n \t\t\tdecline: function(dep) {\r\n \t\t\t\tif(typeof dep === \"undefined\")\r\n \t\t\t\t\thot._selfDeclined = true;\r\n \t\t\t\telse if(typeof dep === \"object\")\r\n \t\t\t\t\tfor(var i = 0; i < dep.length; i++)\r\n \t\t\t\t\t\thot._declinedDependencies[dep[i]] = true;\r\n \t\t\t\telse\r\n \t\t\t\t\thot._declinedDependencies[dep] = true;\r\n \t\t\t},\r\n \t\t\tdispose: function(callback) {\r\n \t\t\t\thot._disposeHandlers.push(callback);\r\n \t\t\t},\r\n \t\t\taddDisposeHandler: function(callback) {\r\n \t\t\t\thot._disposeHandlers.push(callback);\r\n \t\t\t},\r\n \t\t\tremoveDisposeHandler: function(callback) {\r\n \t\t\t\tvar idx = hot._disposeHandlers.indexOf(callback);\r\n \t\t\t\tif(idx >= 0) hot._disposeHandlers.splice(idx, 1);\r\n \t\t\t},\r\n \t\r\n \t\t\t// Management API\r\n \t\t\tcheck: hotCheck,\r\n \t\t\tapply: hotApply,\r\n \t\t\tstatus: function(l) {\r\n \t\t\t\tif(!l) return hotStatus;\r\n \t\t\t\thotStatusHandlers.push(l);\r\n \t\t\t},\r\n \t\t\taddStatusHandler: function(l) {\r\n \t\t\t\thotStatusHandlers.push(l);\r\n \t\t\t},\r\n \t\t\tremoveStatusHandler: function(l) {\r\n \t\t\t\tvar idx = hotStatusHandlers.indexOf(l);\r\n \t\t\t\tif(idx >= 0) hotStatusHandlers.splice(idx, 1);\r\n \t\t\t},\r\n \t\r\n \t\t\t//inherit from previous dispose call\r\n \t\t\tdata: hotCurrentModuleData[moduleId]\r\n \t\t};\r\n \t\thotCurrentChildModule = undefined;\r\n \t\treturn hot;\r\n \t}\r\n \t\r\n \tvar hotStatusHandlers = [];\r\n \tvar hotStatus = \"idle\";\r\n \t\r\n \tfunction hotSetStatus(newStatus) {\r\n \t\thotStatus = newStatus;\r\n \t\tfor(var i = 0; i < hotStatusHandlers.length; i++)\r\n \t\t\thotStatusHandlers[i].call(null, newStatus);\r\n \t}\r\n \t\r\n \t// while downloading\r\n \tvar hotWaitingFiles = 0;\r\n \tvar hotChunksLoading = 0;\r\n \tvar hotWaitingFilesMap = {};\r\n \tvar hotRequestedFilesMap = {};\r\n \tvar hotAvailableFilesMap = {};\r\n \tvar hotDeferred;\r\n \t\r\n \t// The update info\r\n \tvar hotUpdate, hotUpdateNewHash;\r\n \t\r\n \tfunction toModuleId(id) {\r\n \t\tvar isNumber = (+id) + \"\" === id;\r\n \t\treturn isNumber ? +id : id;\r\n \t}\r\n \t\r\n \tfunction hotCheck(apply) {\r\n \t\tif(hotStatus !== \"idle\") throw new Error(\"check() is only allowed in idle status\");\r\n \t\thotApplyOnUpdate = apply;\r\n \t\thotSetStatus(\"check\");\r\n \t\treturn hotDownloadManifest(hotRequestTimeout).then(function(update) {\r\n \t\t\tif(!update) {\r\n \t\t\t\thotSetStatus(\"idle\");\r\n \t\t\t\treturn null;\r\n \t\t\t}\r\n \t\t\thotRequestedFilesMap = {};\r\n \t\t\thotWaitingFilesMap = {};\r\n \t\t\thotAvailableFilesMap = update.c;\r\n \t\t\thotUpdateNewHash = update.h;\r\n \t\r\n \t\t\thotSetStatus(\"prepare\");\r\n \t\t\tvar promise = new Promise(function(resolve, reject) {\r\n \t\t\t\thotDeferred = {\r\n \t\t\t\t\tresolve: resolve,\r\n \t\t\t\t\treject: reject\r\n \t\t\t\t};\r\n \t\t\t});\r\n \t\t\thotUpdate = {};\r\n \t\t\tvar chunkId = 0;\r\n \t\t\t{ // eslint-disable-line no-lone-blocks\r\n \t\t\t\t/*globals chunkId */\r\n \t\t\t\thotEnsureUpdateChunk(chunkId);\r\n \t\t\t}\r\n \t\t\tif(hotStatus === \"prepare\" && hotChunksLoading === 0 && hotWaitingFiles === 0) {\r\n \t\t\t\thotUpdateDownloaded();\r\n \t\t\t}\r\n \t\t\treturn promise;\r\n \t\t});\r\n \t}\r\n \t\r\n \tfunction hotAddUpdateChunk(chunkId, moreModules) { // eslint-disable-line no-unused-vars\r\n \t\tif(!hotAvailableFilesMap[chunkId] || !hotRequestedFilesMap[chunkId])\r\n \t\t\treturn;\r\n \t\thotRequestedFilesMap[chunkId] = false;\r\n \t\tfor(var moduleId in moreModules) {\r\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\r\n \t\t\t\thotUpdate[moduleId] = moreModules[moduleId];\r\n \t\t\t}\r\n \t\t}\r\n \t\tif(--hotWaitingFiles === 0 && hotChunksLoading === 0) {\r\n \t\t\thotUpdateDownloaded();\r\n \t\t}\r\n \t}\r\n \t\r\n \tfunction hotEnsureUpdateChunk(chunkId) {\r\n \t\tif(!hotAvailableFilesMap[chunkId]) {\r\n \t\t\thotWaitingFilesMap[chunkId] = true;\r\n \t\t} else {\r\n \t\t\thotRequestedFilesMap[chunkId] = true;\r\n \t\t\thotWaitingFiles++;\r\n \t\t\thotDownloadUpdateChunk(chunkId);\r\n \t\t}\r\n \t}\r\n \t\r\n \tfunction hotUpdateDownloaded() {\r\n \t\thotSetStatus(\"ready\");\r\n \t\tvar deferred = hotDeferred;\r\n \t\thotDeferred = null;\r\n \t\tif(!deferred) return;\r\n \t\tif(hotApplyOnUpdate) {\r\n \t\t\t// Wrap deferred object in Promise to mark it as a well-handled Promise to\r\n \t\t\t// avoid triggering uncaught exception warning in Chrome.\r\n \t\t\t// See https://bugs.chromium.org/p/chromium/issues/detail?id=465666\r\n \t\t\tPromise.resolve().then(function() {\r\n \t\t\t\treturn hotApply(hotApplyOnUpdate);\r\n \t\t\t}).then(\r\n \t\t\t\tfunction(result) {\r\n \t\t\t\t\tdeferred.resolve(result);\r\n \t\t\t\t},\r\n \t\t\t\tfunction(err) {\r\n \t\t\t\t\tdeferred.reject(err);\r\n \t\t\t\t}\r\n \t\t\t);\r\n \t\t} else {\r\n \t\t\tvar outdatedModules = [];\r\n \t\t\tfor(var id in hotUpdate) {\r\n \t\t\t\tif(Object.prototype.hasOwnProperty.call(hotUpdate, id)) {\r\n \t\t\t\t\toutdatedModules.push(toModuleId(id));\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t\tdeferred.resolve(outdatedModules);\r\n \t\t}\r\n \t}\r\n \t\r\n \tfunction hotApply(options) {\r\n \t\tif(hotStatus !== \"ready\") throw new Error(\"apply() is only allowed in ready status\");\r\n \t\toptions = options || {};\r\n \t\r\n \t\tvar cb;\r\n \t\tvar i;\r\n \t\tvar j;\r\n \t\tvar module;\r\n \t\tvar moduleId;\r\n \t\r\n \t\tfunction getAffectedStuff(updateModuleId) {\r\n \t\t\tvar outdatedModules = [updateModuleId];\r\n \t\t\tvar outdatedDependencies = {};\r\n \t\r\n \t\t\tvar queue = outdatedModules.slice().map(function(id) {\r\n \t\t\t\treturn {\r\n \t\t\t\t\tchain: [id],\r\n \t\t\t\t\tid: id\r\n \t\t\t\t};\r\n \t\t\t});\r\n \t\t\twhile(queue.length > 0) {\r\n \t\t\t\tvar queueItem = queue.pop();\r\n \t\t\t\tvar moduleId = queueItem.id;\r\n \t\t\t\tvar chain = queueItem.chain;\r\n \t\t\t\tmodule = installedModules[moduleId];\r\n \t\t\t\tif(!module || module.hot._selfAccepted)\r\n \t\t\t\t\tcontinue;\r\n \t\t\t\tif(module.hot._selfDeclined) {\r\n \t\t\t\t\treturn {\r\n \t\t\t\t\t\ttype: \"self-declined\",\r\n \t\t\t\t\t\tchain: chain,\r\n \t\t\t\t\t\tmoduleId: moduleId\r\n \t\t\t\t\t};\r\n \t\t\t\t}\r\n \t\t\t\tif(module.hot._main) {\r\n \t\t\t\t\treturn {\r\n \t\t\t\t\t\ttype: \"unaccepted\",\r\n \t\t\t\t\t\tchain: chain,\r\n \t\t\t\t\t\tmoduleId: moduleId\r\n \t\t\t\t\t};\r\n \t\t\t\t}\r\n \t\t\t\tfor(var i = 0; i < module.parents.length; i++) {\r\n \t\t\t\t\tvar parentId = module.parents[i];\r\n \t\t\t\t\tvar parent = installedModules[parentId];\r\n \t\t\t\t\tif(!parent) continue;\r\n \t\t\t\t\tif(parent.hot._declinedDependencies[moduleId]) {\r\n \t\t\t\t\t\treturn {\r\n \t\t\t\t\t\t\ttype: \"declined\",\r\n \t\t\t\t\t\t\tchain: chain.concat([parentId]),\r\n \t\t\t\t\t\t\tmoduleId: moduleId,\r\n \t\t\t\t\t\t\tparentId: parentId\r\n \t\t\t\t\t\t};\r\n \t\t\t\t\t}\r\n \t\t\t\t\tif(outdatedModules.indexOf(parentId) >= 0) continue;\r\n \t\t\t\t\tif(parent.hot._acceptedDependencies[moduleId]) {\r\n \t\t\t\t\t\tif(!outdatedDependencies[parentId])\r\n \t\t\t\t\t\t\toutdatedDependencies[parentId] = [];\r\n \t\t\t\t\t\taddAllToSet(outdatedDependencies[parentId], [moduleId]);\r\n \t\t\t\t\t\tcontinue;\r\n \t\t\t\t\t}\r\n \t\t\t\t\tdelete outdatedDependencies[parentId];\r\n \t\t\t\t\toutdatedModules.push(parentId);\r\n \t\t\t\t\tqueue.push({\r\n \t\t\t\t\t\tchain: chain.concat([parentId]),\r\n \t\t\t\t\t\tid: parentId\r\n \t\t\t\t\t});\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\r\n \t\t\treturn {\r\n \t\t\t\ttype: \"accepted\",\r\n \t\t\t\tmoduleId: updateModuleId,\r\n \t\t\t\toutdatedModules: outdatedModules,\r\n \t\t\t\toutdatedDependencies: outdatedDependencies\r\n \t\t\t};\r\n \t\t}\r\n \t\r\n \t\tfunction addAllToSet(a, b) {\r\n \t\t\tfor(var i = 0; i < b.length; i++) {\r\n \t\t\t\tvar item = b[i];\r\n \t\t\t\tif(a.indexOf(item) < 0)\r\n \t\t\t\t\ta.push(item);\r\n \t\t\t}\r\n \t\t}\r\n \t\r\n \t\t// at begin all updates modules are outdated\r\n \t\t// the \"outdated\" status can propagate to parents if they don't accept the children\r\n \t\tvar outdatedDependencies = {};\r\n \t\tvar outdatedModules = [];\r\n \t\tvar appliedUpdate = {};\r\n \t\r\n \t\tvar warnUnexpectedRequire = function warnUnexpectedRequire() {\r\n \t\t\tconsole.warn(\"[HMR] unexpected require(\" + result.moduleId + \") to disposed module\");\r\n \t\t};\r\n \t\r\n \t\tfor(var id in hotUpdate) {\r\n \t\t\tif(Object.prototype.hasOwnProperty.call(hotUpdate, id)) {\r\n \t\t\t\tmoduleId = toModuleId(id);\r\n \t\t\t\tvar result;\r\n \t\t\t\tif(hotUpdate[id]) {\r\n \t\t\t\t\tresult = getAffectedStuff(moduleId);\r\n \t\t\t\t} else {\r\n \t\t\t\t\tresult = {\r\n \t\t\t\t\t\ttype: \"disposed\",\r\n \t\t\t\t\t\tmoduleId: id\r\n \t\t\t\t\t};\r\n \t\t\t\t}\r\n \t\t\t\tvar abortError = false;\r\n \t\t\t\tvar doApply = false;\r\n \t\t\t\tvar doDispose = false;\r\n \t\t\t\tvar chainInfo = \"\";\r\n \t\t\t\tif(result.chain) {\r\n \t\t\t\t\tchainInfo = \"\\nUpdate propagation: \" + result.chain.join(\" -> \");\r\n \t\t\t\t}\r\n \t\t\t\tswitch(result.type) {\r\n \t\t\t\t\tcase \"self-declined\":\r\n \t\t\t\t\t\tif(options.onDeclined)\r\n \t\t\t\t\t\t\toptions.onDeclined(result);\r\n \t\t\t\t\t\tif(!options.ignoreDeclined)\r\n \t\t\t\t\t\t\tabortError = new Error(\"Aborted because of self decline: \" + result.moduleId + chainInfo);\r\n \t\t\t\t\t\tbreak;\r\n \t\t\t\t\tcase \"declined\":\r\n \t\t\t\t\t\tif(options.onDeclined)\r\n \t\t\t\t\t\t\toptions.onDeclined(result);\r\n \t\t\t\t\t\tif(!options.ignoreDeclined)\r\n \t\t\t\t\t\t\tabortError = new Error(\"Aborted because of declined dependency: \" + result.moduleId + \" in \" + result.parentId + chainInfo);\r\n \t\t\t\t\t\tbreak;\r\n \t\t\t\t\tcase \"unaccepted\":\r\n \t\t\t\t\t\tif(options.onUnaccepted)\r\n \t\t\t\t\t\t\toptions.onUnaccepted(result);\r\n \t\t\t\t\t\tif(!options.ignoreUnaccepted)\r\n \t\t\t\t\t\t\tabortError = new Error(\"Aborted because \" + moduleId + \" is not accepted\" + chainInfo);\r\n \t\t\t\t\t\tbreak;\r\n \t\t\t\t\tcase \"accepted\":\r\n \t\t\t\t\t\tif(options.onAccepted)\r\n \t\t\t\t\t\t\toptions.onAccepted(result);\r\n \t\t\t\t\t\tdoApply = true;\r\n \t\t\t\t\t\tbreak;\r\n \t\t\t\t\tcase \"disposed\":\r\n \t\t\t\t\t\tif(options.onDisposed)\r\n \t\t\t\t\t\t\toptions.onDisposed(result);\r\n \t\t\t\t\t\tdoDispose = true;\r\n \t\t\t\t\t\tbreak;\r\n \t\t\t\t\tdefault:\r\n \t\t\t\t\t\tthrow new Error(\"Unexception type \" + result.type);\r\n \t\t\t\t}\r\n \t\t\t\tif(abortError) {\r\n \t\t\t\t\thotSetStatus(\"abort\");\r\n \t\t\t\t\treturn Promise.reject(abortError);\r\n \t\t\t\t}\r\n \t\t\t\tif(doApply) {\r\n \t\t\t\t\tappliedUpdate[moduleId] = hotUpdate[moduleId];\r\n \t\t\t\t\taddAllToSet(outdatedModules, result.outdatedModules);\r\n \t\t\t\t\tfor(moduleId in result.outdatedDependencies) {\r\n \t\t\t\t\t\tif(Object.prototype.hasOwnProperty.call(result.outdatedDependencies, moduleId)) {\r\n \t\t\t\t\t\t\tif(!outdatedDependencies[moduleId])\r\n \t\t\t\t\t\t\t\toutdatedDependencies[moduleId] = [];\r\n \t\t\t\t\t\t\taddAllToSet(outdatedDependencies[moduleId], result.outdatedDependencies[moduleId]);\r\n \t\t\t\t\t\t}\r\n \t\t\t\t\t}\r\n \t\t\t\t}\r\n \t\t\t\tif(doDispose) {\r\n \t\t\t\t\taddAllToSet(outdatedModules, [result.moduleId]);\r\n \t\t\t\t\tappliedUpdate[moduleId] = warnUnexpectedRequire;\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t}\r\n \t\r\n \t\t// Store self accepted outdated modules to require them later by the module system\r\n \t\tvar outdatedSelfAcceptedModules = [];\r\n \t\tfor(i = 0; i < outdatedModules.length; i++) {\r\n \t\t\tmoduleId = outdatedModules[i];\r\n \t\t\tif(installedModules[moduleId] && installedModules[moduleId].hot._selfAccepted)\r\n \t\t\t\toutdatedSelfAcceptedModules.push({\r\n \t\t\t\t\tmodule: moduleId,\r\n \t\t\t\t\terrorHandler: installedModules[moduleId].hot._selfAccepted\r\n \t\t\t\t});\r\n \t\t}\r\n \t\r\n \t\t// Now in \"dispose\" phase\r\n \t\thotSetStatus(\"dispose\");\r\n \t\tObject.keys(hotAvailableFilesMap).forEach(function(chunkId) {\r\n \t\t\tif(hotAvailableFilesMap[chunkId] === false) {\r\n \t\t\t\thotDisposeChunk(chunkId);\r\n \t\t\t}\r\n \t\t});\r\n \t\r\n \t\tvar idx;\r\n \t\tvar queue = outdatedModules.slice();\r\n \t\twhile(queue.length > 0) {\r\n \t\t\tmoduleId = queue.pop();\r\n \t\t\tmodule = installedModules[moduleId];\r\n \t\t\tif(!module) continue;\r\n \t\r\n \t\t\tvar data = {};\r\n \t\r\n \t\t\t// Call dispose handlers\r\n \t\t\tvar disposeHandlers = module.hot._disposeHandlers;\r\n \t\t\tfor(j = 0; j < disposeHandlers.length; j++) {\r\n \t\t\t\tcb = disposeHandlers[j];\r\n \t\t\t\tcb(data);\r\n \t\t\t}\r\n \t\t\thotCurrentModuleData[moduleId] = data;\r\n \t\r\n \t\t\t// disable module (this disables requires from this module)\r\n \t\t\tmodule.hot.active = false;\r\n \t\r\n \t\t\t// remove module from cache\r\n \t\t\tdelete installedModules[moduleId];\r\n \t\r\n \t\t\t// remove \"parents\" references from all children\r\n \t\t\tfor(j = 0; j < module.children.length; j++) {\r\n \t\t\t\tvar child = installedModules[module.children[j]];\r\n \t\t\t\tif(!child) continue;\r\n \t\t\t\tidx = child.parents.indexOf(moduleId);\r\n \t\t\t\tif(idx >= 0) {\r\n \t\t\t\t\tchild.parents.splice(idx, 1);\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t}\r\n \t\r\n \t\t// remove outdated dependency from module children\r\n \t\tvar dependency;\r\n \t\tvar moduleOutdatedDependencies;\r\n \t\tfor(moduleId in outdatedDependencies) {\r\n \t\t\tif(Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)) {\r\n \t\t\t\tmodule = installedModules[moduleId];\r\n \t\t\t\tif(module) {\r\n \t\t\t\t\tmoduleOutdatedDependencies = outdatedDependencies[moduleId];\r\n \t\t\t\t\tfor(j = 0; j < moduleOutdatedDependencies.length; j++) {\r\n \t\t\t\t\t\tdependency = moduleOutdatedDependencies[j];\r\n \t\t\t\t\t\tidx = module.children.indexOf(dependency);\r\n \t\t\t\t\t\tif(idx >= 0) module.children.splice(idx, 1);\r\n \t\t\t\t\t}\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t}\r\n \t\r\n \t\t// Not in \"apply\" phase\r\n \t\thotSetStatus(\"apply\");\r\n \t\r\n \t\thotCurrentHash = hotUpdateNewHash;\r\n \t\r\n \t\t// insert new code\r\n \t\tfor(moduleId in appliedUpdate) {\r\n \t\t\tif(Object.prototype.hasOwnProperty.call(appliedUpdate, moduleId)) {\r\n \t\t\t\tmodules[moduleId] = appliedUpdate[moduleId];\r\n \t\t\t}\r\n \t\t}\r\n \t\r\n \t\t// call accept handlers\r\n \t\tvar error = null;\r\n \t\tfor(moduleId in outdatedDependencies) {\r\n \t\t\tif(Object.prototype.hasOwnProperty.call(outdatedDependencies, moduleId)) {\r\n \t\t\t\tmodule = installedModules[moduleId];\r\n \t\t\t\tmoduleOutdatedDependencies = outdatedDependencies[moduleId];\r\n \t\t\t\tvar callbacks = [];\r\n \t\t\t\tfor(i = 0; i < moduleOutdatedDependencies.length; i++) {\r\n \t\t\t\t\tdependency = moduleOutdatedDependencies[i];\r\n \t\t\t\t\tcb = module.hot._acceptedDependencies[dependency];\r\n \t\t\t\t\tif(callbacks.indexOf(cb) >= 0) continue;\r\n \t\t\t\t\tcallbacks.push(cb);\r\n \t\t\t\t}\r\n \t\t\t\tfor(i = 0; i < callbacks.length; i++) {\r\n \t\t\t\t\tcb = callbacks[i];\r\n \t\t\t\t\ttry {\r\n \t\t\t\t\t\tcb(moduleOutdatedDependencies);\r\n \t\t\t\t\t} catch(err) {\r\n \t\t\t\t\t\tif(options.onErrored) {\r\n \t\t\t\t\t\t\toptions.onErrored({\r\n \t\t\t\t\t\t\t\ttype: \"accept-errored\",\r\n \t\t\t\t\t\t\t\tmoduleId: moduleId,\r\n \t\t\t\t\t\t\t\tdependencyId: moduleOutdatedDependencies[i],\r\n \t\t\t\t\t\t\t\terror: err\r\n \t\t\t\t\t\t\t});\r\n \t\t\t\t\t\t}\r\n \t\t\t\t\t\tif(!options.ignoreErrored) {\r\n \t\t\t\t\t\t\tif(!error)\r\n \t\t\t\t\t\t\t\terror = err;\r\n \t\t\t\t\t\t}\r\n \t\t\t\t\t}\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t}\r\n \t\r\n \t\t// Load self accepted modules\r\n \t\tfor(i = 0; i < outdatedSelfAcceptedModules.length; i++) {\r\n \t\t\tvar item = outdatedSelfAcceptedModules[i];\r\n \t\t\tmoduleId = item.module;\r\n \t\t\thotCurrentParents = [moduleId];\r\n \t\t\ttry {\r\n \t\t\t\t__webpack_require__(moduleId);\r\n \t\t\t} catch(err) {\r\n \t\t\t\tif(typeof item.errorHandler === \"function\") {\r\n \t\t\t\t\ttry {\r\n \t\t\t\t\t\titem.errorHandler(err);\r\n \t\t\t\t\t} catch(err2) {\r\n \t\t\t\t\t\tif(options.onErrored) {\r\n \t\t\t\t\t\t\toptions.onErrored({\r\n \t\t\t\t\t\t\t\ttype: \"self-accept-error-handler-errored\",\r\n \t\t\t\t\t\t\t\tmoduleId: moduleId,\r\n \t\t\t\t\t\t\t\terror: err2,\r\n \t\t\t\t\t\t\t\torginalError: err\r\n \t\t\t\t\t\t\t});\r\n \t\t\t\t\t\t}\r\n \t\t\t\t\t\tif(!options.ignoreErrored) {\r\n \t\t\t\t\t\t\tif(!error)\r\n \t\t\t\t\t\t\t\terror = err2;\r\n \t\t\t\t\t\t}\r\n \t\t\t\t\t\tif(!error)\r\n \t\t\t\t\t\t\terror = err;\r\n \t\t\t\t\t}\r\n \t\t\t\t} else {\r\n \t\t\t\t\tif(options.onErrored) {\r\n \t\t\t\t\t\toptions.onErrored({\r\n \t\t\t\t\t\t\ttype: \"self-accept-errored\",\r\n \t\t\t\t\t\t\tmoduleId: moduleId,\r\n \t\t\t\t\t\t\terror: err\r\n \t\t\t\t\t\t});\r\n \t\t\t\t\t}\r\n \t\t\t\t\tif(!options.ignoreErrored) {\r\n \t\t\t\t\t\tif(!error)\r\n \t\t\t\t\t\t\terror = err;\r\n \t\t\t\t\t}\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t}\r\n \t\r\n \t\t// handle errors in accept handlers and self accepted module load\r\n \t\tif(error) {\r\n \t\t\thotSetStatus(\"fail\");\r\n \t\t\treturn Promise.reject(error);\r\n \t\t}\r\n \t\r\n \t\thotSetStatus(\"idle\");\r\n \t\treturn new Promise(function(resolve) {\r\n \t\t\tresolve(outdatedModules);\r\n \t\t});\r\n \t}\r\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {},\n \t\t\thot: hotCreateModule(moduleId),\n \t\t\tparents: (hotCurrentParentsTemp = hotCurrentParents, hotCurrentParents = [], hotCurrentParentsTemp),\n \t\t\tchildren: []\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, hotCreateRequire(moduleId));\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// __webpack_hash__\n \t__webpack_require__.h = function() { return hotCurrentHash; };\n\n \t// Load entry module and return exports\n \treturn hotCreateRequire(1)(__webpack_require__.s = 1);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 46768ef3bca6de830506","exports = module.exports = require(\"../../node_modules/css-loader/lib/css-base.js\")(true);\n// imports\n\n\n// module\nexports.push([module.id, \"@charset \\\"UTF-8\\\";\\n/*@keyframes changeSize{\\r\\n\\t0%{\\r\\n\\t\\twidth:100%;\\r\\n\\t\\theight:100%;\\r\\n\\t\\ttop:0;\\r\\n\\t\\tleft:0;\\r\\n\\t}\\r\\n\\t100%{\\r\\n\\t\\twidth:200%;\\r\\n\\t\\theight:200%;\\r\\n\\t\\ttop:-50%;\\r\\n\\t\\tleft:-50%;\\r\\n\\t}\\r\\n}*/\\nc-player {\\n display: flex;\\n flex-direction: column; }\\n c-player svg {\\n width: 100%;\\n height: 100%;\\n fill: #333;\\n display: block; }\\n c-player .play-icon svg {\\n fill: white;\\n width: 80%;\\n height: 80%; }\\n c-player .invisible {\\n height: 0 !important;\\n overflow: hidden !important;\\n max-height: 0 !important;\\n min-height: 0 !important; }\\n c-player * {\\n font-family: \\\"Ubuntu Mono\\\",\\\"\\\\5FAE\\\\8F6F\\\\96C5\\\\9ED1\\\",\\\"Microsoft JHenghei\\\",sans-serif;\\n text-decoration: none;\\n font-size: initial;\\n line-height: initial; }\\n c-player .lyric {\\n will-change: height;\\n transition: all 0.25s;\\n display: flex;\\n height: 20em;\\n height: 45vh;\\n width: 100%;\\n background: #eee;\\n overflow: hidden; }\\n c-player .lyric lyric-body {\\n will-change: transform;\\n display: block;\\n flex-direction: column;\\n width: 100%;\\n height: 100%;\\n text-align: center;\\n transform: translateY(6em); }\\n c-player .lyric lyric-body lrc {\\n flex: 1;\\n display: block;\\n will-change: background;\\n line-height: 3em;\\n min-height: 3em;\\n font-size: large;\\n font-family: \\\"LiHei Pro\\\",\\\"Microsoft Yahei\\\",sans-serif;\\n width: 100%; }\\n c-player .lyric lyric-body lrc.now {\\n background: #ddd; }\\n c-player .controls {\\n background: white;\\n height: 4em;\\n display: flex; }\\n c-player .controls .c-left {\\n display: flex; }\\n c-player .controls .c-left .music-description {\\n display: flex; }\\n c-player .controls .c-left .music-description .image, c-player .controls .c-left .music-description .image img {\\n height: 4em;\\n width: 4em; }\\n c-player .controls .c-left .music-description .image:hover + .music-meta, c-player .controls .c-left .music-description .image img:hover + .music-meta {\\n max-width: 9999px; }\\n c-player .controls .c-left .music-description .music-meta {\\n margin: 0 0.5em;\\n flex: 1;\\n max-width: 0;\\n width: auto;\\n display: flex;\\n overflow: hidden;\\n flex-direction: column;\\n height: 100%;\\n transition: 1.5s all 0.5s ease-in; }\\n c-player .controls .c-left .music-description .music-meta div {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n justify-content: center;\\n align-items: center;\\n flex-direction: column; }\\n c-player .controls .c-left .music-description .music-meta .music-name {\\n font-size: 1.5em;\\n white-space: nowrap; }\\n c-player .controls .c-left .music-description .music-meta .music-artist {\\n font-size: 0.7em;\\n color: grey;\\n white-space: nowrap; }\\n c-player .controls .c-left .play-icon {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin: auto 0.5em;\\n width: 3.2em;\\n height: 3.2em;\\n border-radius: 100%;\\n background-color: #7dc3da;\\n color: white;\\n cursor: pointer; }\\n c-player .controls .c-center {\\n flex: 1;\\n width: auto;\\n display: flex;\\n align-items: center;\\n padding: 0.5em; }\\n @media screen and (max-width: 600px) {\\n c-player .controls .c-center {\\n display: none; } }\\n c-player .controls .c-center .time {\\n width: 100%;\\n touch-action: none;\\n pointer-events: auto;\\n cursor: pointer; }\\n c-player .controls .c-center .time .time-body {\\n margin: 0 1%;\\n height: 0.5em;\\n background-color: #ccc;\\n display: flex;\\n border-radius: 0.5em; }\\n c-player .controls .c-center .time .time-body .time-line {\\n width: 0%;\\n height: 100%;\\n background-color: #359abc;\\n will-change: width;\\n transition: 0.1s width ease-in;\\n position: relative;\\n border-radius: 0.5em; }\\n c-player .controls .c-center .time .time-body .time-line .time-point {\\n width: 1em;\\n height: 1em;\\n margin: -0.25em -0.5em 0 0;\\n background-color: #7dc3da;\\n border-radius: 100%;\\n position: absolute;\\n right: 0;\\n /**&::before{\\r\\n\\t\\t\\t\\t\\tcontent:\\\"\\\";\\r\\n\\t\\t\\t\\t\\tdisplay:block;\\r\\n\\t\\t\\t\\t\\twidth:0;\\r\\n\\t\\t\\t\\t\\theight:0;\\r\\n\\t\\t\\t\\t\\tposition: absolute;\\r\\n\\t\\t\\t\\t\\ttop:50%;\\r\\n\\t\\t\\t\\t\\tleft:50%;\\r\\n\\t\\t\\t\\t\\tbackground-color:rgba($b-color,.5);\\r\\n\\t\\t\\t\\t\\tanimation:changeSize 1s ease-in-out infinite alternate;\\r\\n\\t\\t\\t\\t\\tborder-radius: 100%;\\r\\n\\t\\t\\t\\t}**********/ }\\n c-player .controls .c-right {\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n @media screen and (max-width: 600px) {\\n c-player .controls .c-right {\\n flex: 1; }\\n c-player .controls .c-right .volume {\\n width: auto !important; }\\n c-player .controls .c-right .volume .volume-body {\\n visibility: hidden !important; }\\n c-player .controls .c-right.hover .list-button,\\n c-player .controls .c-right.hover .lyric-button {\\n display: none; }\\n c-player .controls .c-right.hover .volume-body {\\n width: 100% !important;\\n visibility: visible !important; }\\n c-player .controls .c-right.hover .volume {\\n width: 100% !important; } }\\n c-player .controls .c-right > * {\\n width: 2em;\\n height: 2em;\\n margin: 0 0.5em;\\n display: flex; }\\n c-player .controls .c-right .volume {\\n align-items: center;\\n touch-action: none;\\n pointer-events: auto;\\n cursor: pointer;\\n transition: width 0.2s; }\\n c-player .controls .c-right .volume .volume-body {\\n margin: 0 1%;\\n height: 0.5em;\\n background-color: #ccc;\\n display: flex;\\n border-radius: 0.5em; }\\n c-player .controls .c-right .volume .volume-body .volume-line {\\n width: 0%;\\n height: 100%;\\n background-color: #359abc;\\n will-change: width;\\n transition: 0.1s width ease-in;\\n position: relative;\\n border-radius: 0.5em; }\\n c-player .controls .c-right .volume .volume-body .volume-line .volume-point {\\n width: 1em;\\n height: 1em;\\n margin: -0.25em -0.5em 0 0;\\n background-color: #7dc3da;\\n border-radius: 100%;\\n position: absolute;\\n right: 0;\\n /**&::before{\\r\\n\\t\\t\\t\\t\\tcontent:\\\"\\\";\\r\\n\\t\\t\\t\\t\\tdisplay:block;\\r\\n\\t\\t\\t\\t\\twidth:0;\\r\\n\\t\\t\\t\\t\\theight:0;\\r\\n\\t\\t\\t\\t\\tposition: absolute;\\r\\n\\t\\t\\t\\t\\ttop:50%;\\r\\n\\t\\t\\t\\t\\tleft:50%;\\r\\n\\t\\t\\t\\t\\tbackground-color:rgba($b-color,.5);\\r\\n\\t\\t\\t\\t\\tanimation:changeSize 1s ease-in-out infinite alternate;\\r\\n\\t\\t\\t\\t\\tborder-radius: 100%;\\r\\n\\t\\t\\t\\t}**********/ }\\n c-player .controls .c-right .volume .volume-body {\\n visibility: hidden;\\n width: 0;\\n transition: width 0.2s; }\\n c-player .controls .c-right .volume:hover, c-player .controls .c-right .volume:active {\\n width: 12em; }\\n c-player .controls .c-right .volume:hover .volume-body, c-player .controls .c-right .volume:active .volume-body {\\n visibility: visible;\\n width: 100%; }\\n c-player .controls .c-right .volume .volume-button {\\n width: 2em;\\n height: 2em; }\\n c-player .controls .c-right .volume .volume-button .volume-power {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n border-radius: 10%;\\n color: grey;\\n transition: all 0.2s ease-in;\\n cursor: pointer; }\\n c-player .controls .c-right .volume .volume-button .volume-power:hover, c-player .controls .c-right .volume .volume-button .volume-power:active {\\n background: rgba(117, 117, 117, 0.3); }\\n c-player .controls .c-right .volume .volume-button .volume-power .material-icons {\\n margin: auto; }\\n c-player .controls .c-right .list-button .list-power {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n border-radius: 10%;\\n color: grey;\\n transition: all 0.2s ease-in;\\n cursor: pointer; }\\n c-player .controls .c-right .list-button .list-power:hover, c-player .controls .c-right .list-button .list-power:active {\\n background: rgba(117, 117, 117, 0.3); }\\n c-player .controls .c-right .list-button .list-power .material-icons {\\n margin: auto; }\\n c-player .controls .c-right .lyric-button .lyric-power {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n border-radius: 10%;\\n color: grey;\\n transition: all 0.2s ease-in;\\n cursor: pointer; }\\n c-player .controls .c-right .lyric-button .lyric-power:hover, c-player .controls .c-right .lyric-button .lyric-power:active {\\n background: rgba(117, 117, 117, 0.3); }\\n c-player .controls .c-right .lyric-button .lyric-power .material-icons {\\n margin: auto; }\\n c-player .list {\\n will-change: height;\\n transition: all 0.25s;\\n max-height: 75vh;\\n background: white;\\n overflow: auto; }\\n c-player .list list-body {\\n display: flex;\\n flex-direction: column;\\n overflow: hidden; }\\n c-player .list list-body > * {\\n display: flex;\\n align-items: center;\\n flex: 1;\\n cursor: pointer;\\n transition: 0.5s background 0s ease; }\\n c-player .list list-body > *:nth-child(2n-1) {\\n background: rgba(117, 117, 117, 0.04); }\\n c-player .list list-body > *:hover, c-player .list list-body > *:active {\\n background: rgba(117, 117, 117, 0.13); }\\n c-player .list list-body > *:hover::before, c-player .list list-body > *:active::before {\\n width: 0.4em; }\\n c-player .list list-body > *::before {\\n background: #7dc3da;\\n transition: 0.2s width 0s ease;\\n float: left;\\n height: 2.5em;\\n width: 0em;\\n display: block;\\n content: \\\"\\\"; }\\n @media screen and (max-width: 800px) {\\n c-player .list list-body > *::before {\\n height: 3em; }\\n c-player .list list-body > *::before:hover::before, c-player .list list-body > *::before:active::before {\\n width: 0.4em; } }\\n c-player .list list-body .music-name, c-player .list list-body .music-artist {\\n padding: 0 0.5em; }\\n c-player .list list-body .music-name {\\n flex: 1; }\\n\\n.c-context {\\n z-index: 9999;\\n position: absolute;\\n display: inline-flex;\\n min-width: 5em;\\n height: auto;\\n flex-direction: column;\\n background: #fff;\\n box-shadow: 0 0 3em -1em #000; }\\n\\n.c-context--list {\\n display: flex;\\n flex: 1;\\n min-height: 2em;\\n padding: 1em;\\n box-sizing: border-box;\\n transition: background 0.5s;\\n will-change: background;\\n cursor: pointer; }\\n\\n.c-context--list:hover {\\n background: #6af; }\\n\", \"\", {\"version\":3,\"sources\":[\"D:/cPlayer/src/scss/cplayer.scss\",\"D:/cPlayer/src/scss/src/scss/cplayer.scss\"],\"names\":[],\"mappings\":\"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\",\"file\":\"cplayer.scss\",\"sourcesContent\":[\"@charset \\\"UTF-8\\\";\\n/*@keyframes changeSize{\\r\\n\\t0%{\\r\\n\\t\\twidth:100%;\\r\\n\\t\\theight:100%;\\r\\n\\t\\ttop:0;\\r\\n\\t\\tleft:0;\\r\\n\\t}\\r\\n\\t100%{\\r\\n\\t\\twidth:200%;\\r\\n\\t\\theight:200%;\\r\\n\\t\\ttop:-50%;\\r\\n\\t\\tleft:-50%;\\r\\n\\t}\\r\\n}*/\\nc-player {\\n display: flex;\\n flex-direction: column; }\\n c-player svg {\\n width: 100%;\\n height: 100%;\\n fill: #333;\\n display: block; }\\n c-player .play-icon svg {\\n fill: white;\\n width: 80%;\\n height: 80%; }\\n c-player .invisible {\\n height: 0 !important;\\n overflow: hidden !important;\\n max-height: 0 !important;\\n min-height: 0 !important; }\\n c-player * {\\n font-family: \\\"Ubuntu Mono\\\",\\\"微软雅黑\\\",\\\"Microsoft JHenghei\\\",sans-serif;\\n text-decoration: none;\\n font-size: initial;\\n line-height: initial; }\\n c-player .lyric {\\n will-change: height;\\n transition: all 0.25s;\\n display: flex;\\n height: 20em;\\n height: 45vh;\\n width: 100%;\\n background: #eee;\\n overflow: hidden; }\\n c-player .lyric lyric-body {\\n will-change: transform;\\n display: block;\\n flex-direction: column;\\n width: 100%;\\n height: 100%;\\n text-align: center;\\n transform: translateY(6em); }\\n c-player .lyric lyric-body lrc {\\n flex: 1;\\n display: block;\\n will-change: background;\\n line-height: 3em;\\n min-height: 3em;\\n font-size: large;\\n font-family: \\\"LiHei Pro\\\",\\\"Microsoft Yahei\\\",sans-serif;\\n width: 100%; }\\n c-player .lyric lyric-body lrc.now {\\n background: #ddd; }\\n c-player .controls {\\n background: white;\\n height: 4em;\\n display: flex; }\\n c-player .controls .c-left {\\n display: flex; }\\n c-player .controls .c-left .music-description {\\n display: flex; }\\n c-player .controls .c-left .music-description .image, c-player .controls .c-left .music-description .image img {\\n height: 4em;\\n width: 4em; }\\n c-player .controls .c-left .music-description .image:hover + .music-meta, c-player .controls .c-left .music-description .image img:hover + .music-meta {\\n max-width: 9999px; }\\n c-player .controls .c-left .music-description .music-meta {\\n margin: 0 0.5em;\\n flex: 1;\\n max-width: 0;\\n width: auto;\\n display: flex;\\n overflow: hidden;\\n flex-direction: column;\\n height: 100%;\\n transition: 1.5s all 0.5s ease-in; }\\n c-player .controls .c-left .music-description .music-meta div {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n justify-content: center;\\n align-items: center;\\n flex-direction: column; }\\n c-player .controls .c-left .music-description .music-meta .music-name {\\n font-size: 1.5em;\\n white-space: nowrap; }\\n c-player .controls .c-left .music-description .music-meta .music-artist {\\n font-size: 0.7em;\\n color: grey;\\n white-space: nowrap; }\\n c-player .controls .c-left .play-icon {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n margin: auto 0.5em;\\n width: 3.2em;\\n height: 3.2em;\\n border-radius: 100%;\\n background-color: #7dc3da;\\n color: white;\\n cursor: pointer; }\\n c-player .controls .c-center {\\n flex: 1;\\n width: auto;\\n display: flex;\\n align-items: center;\\n padding: 0.5em; }\\n @media screen and (max-width: 600px) {\\n c-player .controls .c-center {\\n display: none; } }\\n c-player .controls .c-center .time {\\n width: 100%;\\n touch-action: none;\\n pointer-events: auto;\\n cursor: pointer; }\\n c-player .controls .c-center .time .time-body {\\n margin: 0 1%;\\n height: 0.5em;\\n background-color: #ccc;\\n display: flex;\\n border-radius: 0.5em; }\\n c-player .controls .c-center .time .time-body .time-line {\\n width: 0%;\\n height: 100%;\\n background-color: #359abc;\\n will-change: width;\\n transition: 0.1s width ease-in;\\n position: relative;\\n border-radius: 0.5em; }\\n c-player .controls .c-center .time .time-body .time-line .time-point {\\n width: 1em;\\n height: 1em;\\n margin: -0.25em -0.5em 0 0;\\n background-color: #7dc3da;\\n border-radius: 100%;\\n position: absolute;\\n right: 0;\\n /**&::before{\\r\\n\\t\\t\\t\\t\\tcontent:\\\"\\\";\\r\\n\\t\\t\\t\\t\\tdisplay:block;\\r\\n\\t\\t\\t\\t\\twidth:0;\\r\\n\\t\\t\\t\\t\\theight:0;\\r\\n\\t\\t\\t\\t\\tposition: absolute;\\r\\n\\t\\t\\t\\t\\ttop:50%;\\r\\n\\t\\t\\t\\t\\tleft:50%;\\r\\n\\t\\t\\t\\t\\tbackground-color:rgba($b-color,.5);\\r\\n\\t\\t\\t\\t\\tanimation:changeSize 1s ease-in-out infinite alternate;\\r\\n\\t\\t\\t\\t\\tborder-radius: 100%;\\r\\n\\t\\t\\t\\t}**********/ }\\n c-player .controls .c-right {\\n display: flex;\\n justify-content: center;\\n align-items: center; }\\n @media screen and (max-width: 600px) {\\n c-player .controls .c-right {\\n flex: 1; }\\n c-player .controls .c-right .volume {\\n width: auto !important; }\\n c-player .controls .c-right .volume .volume-body {\\n visibility: hidden !important; }\\n c-player .controls .c-right.hover .list-button,\\n c-player .controls .c-right.hover .lyric-button {\\n display: none; }\\n c-player .controls .c-right.hover .volume-body {\\n width: 100% !important;\\n visibility: visible !important; }\\n c-player .controls .c-right.hover .volume {\\n width: 100% !important; } }\\n c-player .controls .c-right > * {\\n width: 2em;\\n height: 2em;\\n margin: 0 0.5em;\\n display: flex; }\\n c-player .controls .c-right .volume {\\n align-items: center;\\n touch-action: none;\\n pointer-events: auto;\\n cursor: pointer;\\n transition: width 0.2s; }\\n c-player .controls .c-right .volume .volume-body {\\n margin: 0 1%;\\n height: 0.5em;\\n background-color: #ccc;\\n display: flex;\\n border-radius: 0.5em; }\\n c-player .controls .c-right .volume .volume-body .volume-line {\\n width: 0%;\\n height: 100%;\\n background-color: #359abc;\\n will-change: width;\\n transition: 0.1s width ease-in;\\n position: relative;\\n border-radius: 0.5em; }\\n c-player .controls .c-right .volume .volume-body .volume-line .volume-point {\\n width: 1em;\\n height: 1em;\\n margin: -0.25em -0.5em 0 0;\\n background-color: #7dc3da;\\n border-radius: 100%;\\n position: absolute;\\n right: 0;\\n /**&::before{\\r\\n\\t\\t\\t\\t\\tcontent:\\\"\\\";\\r\\n\\t\\t\\t\\t\\tdisplay:block;\\r\\n\\t\\t\\t\\t\\twidth:0;\\r\\n\\t\\t\\t\\t\\theight:0;\\r\\n\\t\\t\\t\\t\\tposition: absolute;\\r\\n\\t\\t\\t\\t\\ttop:50%;\\r\\n\\t\\t\\t\\t\\tleft:50%;\\r\\n\\t\\t\\t\\t\\tbackground-color:rgba($b-color,.5);\\r\\n\\t\\t\\t\\t\\tanimation:changeSize 1s ease-in-out infinite alternate;\\r\\n\\t\\t\\t\\t\\tborder-radius: 100%;\\r\\n\\t\\t\\t\\t}**********/ }\\n c-player .controls .c-right .volume .volume-body {\\n visibility: hidden;\\n width: 0;\\n transition: width 0.2s; }\\n c-player .controls .c-right .volume:hover, c-player .controls .c-right .volume:active {\\n width: 12em; }\\n c-player .controls .c-right .volume:hover .volume-body, c-player .controls .c-right .volume:active .volume-body {\\n visibility: visible;\\n width: 100%; }\\n c-player .controls .c-right .volume .volume-button {\\n width: 2em;\\n height: 2em; }\\n c-player .controls .c-right .volume .volume-button .volume-power {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n border-radius: 10%;\\n color: grey;\\n transition: all 0.2s ease-in;\\n cursor: pointer; }\\n c-player .controls .c-right .volume .volume-button .volume-power:hover, c-player .controls .c-right .volume .volume-button .volume-power:active {\\n background: rgba(117, 117, 117, 0.3); }\\n c-player .controls .c-right .volume .volume-button .volume-power .material-icons {\\n margin: auto; }\\n c-player .controls .c-right .list-button .list-power {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n border-radius: 10%;\\n color: grey;\\n transition: all 0.2s ease-in;\\n cursor: pointer; }\\n c-player .controls .c-right .list-button .list-power:hover, c-player .controls .c-right .list-button .list-power:active {\\n background: rgba(117, 117, 117, 0.3); }\\n c-player .controls .c-right .list-button .list-power .material-icons {\\n margin: auto; }\\n c-player .controls .c-right .lyric-button .lyric-power {\\n display: flex;\\n width: 100%;\\n height: 100%;\\n border-radius: 10%;\\n color: grey;\\n transition: all 0.2s ease-in;\\n cursor: pointer; }\\n c-player .controls .c-right .lyric-button .lyric-power:hover, c-player .controls .c-right .lyric-button .lyric-power:active {\\n background: rgba(117, 117, 117, 0.3); }\\n c-player .controls .c-right .lyric-button .lyric-power .material-icons {\\n margin: auto; }\\n c-player .list {\\n will-change: height;\\n transition: all 0.25s;\\n max-height: 75vh;\\n background: white;\\n overflow: auto; }\\n c-player .list list-body {\\n display: flex;\\n flex-direction: column;\\n overflow: hidden; }\\n c-player .list list-body > * {\\n display: flex;\\n align-items: center;\\n flex: 1;\\n cursor: pointer;\\n transition: 0.5s background 0s ease; }\\n c-player .list list-body > *:nth-child(2n-1) {\\n background: rgba(117, 117, 117, 0.04); }\\n c-player .list list-body > *:hover, c-player .list list-body > *:active {\\n background: rgba(117, 117, 117, 0.13); }\\n c-player .list list-body > *:hover::before, c-player .list list-body > *:active::before {\\n width: 0.4em; }\\n c-player .list list-body > *::before {\\n background: #7dc3da;\\n transition: 0.2s width 0s ease;\\n float: left;\\n height: 2.5em;\\n width: 0em;\\n display: block;\\n content: \\\"\\\"; }\\n @media screen and (max-width: 800px) {\\n c-player .list list-body > *::before {\\n height: 3em; }\\n c-player .list list-body > *::before:hover::before, c-player .list list-body > *::before:active::before {\\n width: 0.4em; } }\\n c-player .list list-body .music-name, c-player .list list-body .music-artist {\\n padding: 0 0.5em; }\\n c-player .list list-body .music-name {\\n flex: 1; }\\n\\n.c-context {\\n z-index: 9999;\\n position: absolute;\\n display: inline-flex;\\n min-width: 5em;\\n height: auto;\\n flex-direction: column;\\n background: #fff;\\n box-shadow: 0 0 3em -1em #000; }\\n\\n.c-context--list {\\n display: flex;\\n flex: 1;\\n min-height: 2em;\\n padding: 1em;\\n box-sizing: border-box;\\n transition: background 0.5s;\\n will-change: background;\\n cursor: pointer; }\\n\\n.c-context--list:hover {\\n background: #6af; }\\n\",\"$c-height:4em;\\r\\n$p-height:0.5em;\\r\\n$b-color:#359abc;\\r\\n$p-radius:1em;\\r\\n\\r\\n/*@keyframes changeSize{\\r\\n\\t0%{\\r\\n\\t\\twidth:100%;\\r\\n\\t\\theight:100%;\\r\\n\\t\\ttop:0;\\r\\n\\t\\tleft:0;\\r\\n\\t}\\r\\n\\t100%{\\r\\n\\t\\twidth:200%;\\r\\n\\t\\theight:200%;\\r\\n\\t\\ttop:-50%;\\r\\n\\t\\tleft:-50%;\\r\\n\\t}\\r\\n}*/\\r\\n\\r\\n@mixin progress($type:time){\\r\\n\\ttouch-action: none;\\r\\n\\tpointer-events: auto;\\r\\n\\tcursor: pointer;\\r\\n\\t.#{$type}-body{\\r\\n\\t\\tmargin: 0 1%;\\r\\n\\t\\theight:$p-height;\\r\\n\\t\\tbackground-color:#ccc;\\r\\n\\t\\tdisplay:flex;\\r\\n\\t\\tborder-radius:0.5em;\\r\\n\\t\\t.#{$type}-line{\\r\\n\\t\\t\\twidth:0%;\\r\\n\\t\\t\\theight:100%;\\r\\n\\t\\t\\tbackground-color:$b-color;\\r\\n\\t\\t\\twill-change:width;\\r\\n\\t\\t\\ttransition:0.1s width ease-in;\\r\\n\\t\\t\\tposition: relative;\\r\\n\\t\\t\\tborder-radius:0.5em;\\r\\n\\t\\t\\t.#{$type}-point{\\r\\n\\t\\t\\t\\twidth:$p-radius;\\r\\n\\t\\t\\t\\theight:$p-radius;\\r\\n\\t\\t\\t\\tmargin:-0.25em -0.5em 0 0;\\r\\n\\t\\t\\t\\tbackground-color:lighten($b-color,20%);\\r\\n\\t\\t\\t\\tborder-radius: 100%;\\r\\n\\t\\t\\t\\tposition: absolute;\\r\\n\\t\\t\\t\\tright:0;\\r\\n\\t\\t\\t\\t/**&::before{\\r\\n\\t\\t\\t\\t\\tcontent:\\\"\\\";\\r\\n\\t\\t\\t\\t\\tdisplay:block;\\r\\n\\t\\t\\t\\t\\twidth:0;\\r\\n\\t\\t\\t\\t\\theight:0;\\r\\n\\t\\t\\t\\t\\tposition: absolute;\\r\\n\\t\\t\\t\\t\\ttop:50%;\\r\\n\\t\\t\\t\\t\\tleft:50%;\\r\\n\\t\\t\\t\\t\\tbackground-color:rgba($b-color,.5);\\r\\n\\t\\t\\t\\t\\tanimation:changeSize 1s ease-in-out infinite alternate;\\r\\n\\t\\t\\t\\t\\tborder-radius: 100%;\\r\\n\\t\\t\\t\\t}**********/\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t}\\r\\n}\\r\\n@mixin big-button{\\r\\n\\twidth:0.8*$c-height;\\r\\n\\theight:0.8*$c-height;\\r\\n\\tborder-radius:100%;\\r\\n\\tbackground-color:lighten($b-color,20%);\\r\\n\\tcolor:white;\\r\\n\\tcursor:pointer;\\r\\n}\\r\\n@mixin small-button{\\r\\n\\tdisplay:flex;\\r\\n\\twidth:100%;\\r\\n\\theight:100%;\\r\\n\\tborder-radius: 10%;\\r\\n\\tcolor:grey;\\r\\n\\ttransition:all 0.2s ease-in;\\r\\n\\tcursor:pointer;\\r\\n\\t&:hover,&:active{\\r\\n\\t\\tbackground:rgba(117,117,117,.3);\\r\\n\\t}\\r\\n\\t.material-icons{\\r\\n\\t\\tmargin:auto;\\r\\n\\t}\\r\\n}\\r\\n\\r\\nc-player{\\r\\n\\tsvg{\\r\\n\\t\\twidth:100%;\\r\\n\\t\\theight:100%;\\r\\n\\t\\tfill:#333;\\r\\n\\t\\tdisplay:block;\\r\\n\\t}\\r\\n\\t.play-icon svg{\\r\\n\\t\\tfill:white;\\r\\n\\t\\twidth:80%;\\r\\n\\t\\theight:80%;\\r\\n\\t}\\r\\n\\t.invisible{\\r\\n\\t\\theight:0!important;\\r\\n\\t\\toverflow: hidden!important;\\r\\n\\t\\tmax-height: 0!important;\\r\\n\\t\\tmin-height: 0!important;\\r\\n\\t}\\r\\n\\tdisplay:flex;\\r\\n\\tflex-direction: column;\\r\\n\\t* {\\r\\n\\t\\tfont-family: \\\"Ubuntu Mono\\\",\\\"微软雅黑\\\",\\\"Microsoft JHenghei\\\",sans-serif;\\r\\n\\t text-decoration: none;\\r\\n\\t font-size: initial;\\r\\n\\t line-height:initial;\\r\\n\\t}\\r\\n\\t.lyric{\\r\\n\\t\\twill-change:height;\\r\\n\\t\\ttransition:all 0.25s;\\r\\n\\t\\tdisplay:flex;\\r\\n\\t\\theight:20em;\\r\\n\\t\\theight:45vh;\\r\\n\\t\\twidth:100%;\\r\\n\\t\\tbackground:#eee;\\r\\n\\t\\toverflow:hidden;\\r\\n\\t\\tlyric-body{\\r\\n\\t\\t\\twill-change:transform;\\r\\n\\t\\t\\tdisplay:block;\\r\\n\\t\\t\\t//display:flex;\\r\\n\\t\\t\\tflex-direction: column;\\r\\n\\t\\t\\twidth:100%;\\r\\n\\t\\t\\theight:100%;\\r\\n\\t\\t\\ttext-align: center;\\r\\n\\t\\t\\t//padding:6em 0;\\r\\n\\t\\t\\ttransform:translateY(6em);\\r\\n\\t\\t\\t//transition: all 0.25s;\\r\\n\\t\\t\\tlrc{\\r\\n\\t\\t\\t\\tflex:1;\\r\\n\\t\\t\\t\\tdisplay:block;\\r\\n\\t\\t\\t\\twill-change:background;\\r\\n\\t\\t\\t\\tline-height:3em;\\r\\n\\t\\t\\t\\tmin-height:3em;\\r\\n\\t\\t\\t\\tfont-size:large;\\r\\n\\t\\t\\t\\tfont-family: \\\"LiHei Pro\\\",\\\"Microsoft Yahei\\\",sans-serif;\\r\\n\\t\\t\\t\\twidth:100%;\\r\\n\\t\\t\\t\\t//transition:0.25s background ease;\\r\\n\\t\\t\\t\\t&.now{\\r\\n\\t\\t\\t\\t\\tbackground:#ddd;\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\t.controls{\\r\\n\\t\\tbackground: white;\\r\\n\\t\\theight:$c-height;\\r\\n\\t\\tdisplay:flex;\\r\\n\\t\\t.c-left{\\r\\n\\t\\t\\tdisplay:flex;\\r\\n\\t\\t\\t.music-description{\\r\\n\\t\\t\\t\\tdisplay:flex;\\r\\n\\t\\t\\t\\t.image,.image img{\\r\\n\\t\\t\\t\\t\\theight:$c-height;\\r\\n\\t\\t\\t\\t\\twidth:$c-height;\\r\\n\\t\\t\\t\\t\\t&:hover + .music-meta{\\r\\n\\t\\t\\t\\t\\t\\tmax-width: 9999px;\\r\\n\\t\\t\\t\\t\\t\\t//margin:0 0.5em;\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t.music-meta{\\r\\n\\t\\t\\t\\t\\tmargin:0 0.5em;\\r\\n\\t\\t\\t\\t\\tflex:1;\\r\\n\\t\\t\\t\\t\\tmax-width:0;\\r\\n\\t\\t\\t\\t\\twidth:auto;\\r\\n\\t\\t\\t\\t\\tdisplay:flex;\\r\\n\\t\\t\\t\\t\\toverflow: hidden;\\r\\n\\t\\t\\t\\t\\tflex-direction: column;\\r\\n\\t\\t\\t\\t\\theight: 100%;\\r\\n\\t\\t\\t\\t\\ttransition: 1.5s all 0.5s ease-in;\\r\\n\\t\\t\\t\\t\\tdiv{\\r\\n\\t\\t\\t\\t\\t\\tdisplay:flex;\\r\\n\\t\\t\\t\\t\\t\\twidth:100%;\\r\\n\\t\\t\\t\\t\\t\\theight:100%;\\r\\n\\t\\t\\t\\t\\t\\tjustify-content:center;\\r\\n\\t\\t\\t\\t\\t\\talign-items:center;\\r\\n\\t\\t\\t\\t\\t\\tflex-direction:column;\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t\\t.music-name{\\r\\n\\t\\t\\t\\t\\t\\tfont-size: 1.5em;\\r\\n\\t\\t\\t\\t\\t\\twhite-space: nowrap;\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t\\t.music-artist{\\r\\n\\t\\t\\t\\t\\t\\tfont-size:0.7em;\\r\\n\\t\\t\\t\\t\\t\\tcolor:grey;\\r\\n\\t\\t\\t\\t\\t\\twhite-space: nowrap;\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\t.play-icon{\\r\\n\\t\\t\\t\\tdisplay:flex;\\r\\n\\t\\t\\t\\talign-items:center;\\r\\n\\t\\t\\t\\tjustify-content:center;\\r\\n\\t\\t\\t\\tmargin:auto 0.5em;\\r\\n\\t\\t\\t\\t@include big-button();\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t\\t.c-center{\\r\\n\\t\\t\\t@media screen and (max-width: 600px) {\\r\\n\\t\\t\\t\\t&{\\r\\n\\t\\t\\t\\t\\tdisplay:none;\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\tflex:1;\\r\\n\\t\\t\\twidth:auto;\\r\\n\\t\\t\\tdisplay:flex;\\r\\n\\t\\t\\talign-items:center;\\r\\n\\t\\t\\tpadding:0.5em;\\r\\n\\t\\t\\t.time{\\r\\n\\t\\t\\t\\twidth:100%;\\r\\n\\t\\t\\t\\t@include progress(time);\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t\\t.c-right{\\r\\n\\t\\t\\t@media screen and (max-width: 600px) {\\r\\n\\t\\t\\t\\t&{\\r\\n\\t\\t\\t\\t\\tflex:1;\\r\\n\\t\\t\\t\\t\\t.volume{\\r\\n\\t\\t\\t\\t\\t\\twidth:auto !important;\\r\\n\\t\\t\\t\\t\\t\\t.volume-body{visibility: hidden!important}\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t&.hover{\\r\\n\\t\\t\\t\\t\\t.list-button,\\r\\n\\t\\t\\t\\t\\t.lyric-button{\\r\\n\\t\\t\\t\\t\\t\\tdisplay:none;\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t\\t.volume-body{\\r\\n\\t\\t\\t\\t\\t\\twidth:100% !important;\\r\\n\\t\\t\\t\\t\\t\\tvisibility: visible !important;\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t\\t.volume{\\r\\n\\t\\t\\t\\t\\t\\twidth:100% !important;\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\tdisplay:flex;\\r\\n\\t\\t\\tjustify-content: center;\\r\\n\\t\\t align-items: center;\\r\\n\\t\\t\\t&>*{\\r\\n\\t\\t\\t\\twidth:2em;\\r\\n\\t\\t\\t\\theight:2em;\\r\\n\\t\\t\\t\\tmargin:0 0.5em;\\r\\n\\t\\t\\t\\tdisplay:flex;\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\t.volume{\\r\\n\\t\\t\\t\\talign-items:center;\\r\\n\\t\\t\\t\\t@include progress(volume);\\r\\n\\t\\t\\t\\ttransition: width 0.2s;\\r\\n\\t\\t\\t\\t.volume-body{\\r\\n\\t\\t\\t\\t\\tvisibility: hidden;\\r\\n\\t\\t\\t\\t\\twidth:0;\\r\\n\\t\\t\\t\\t\\ttransition: width 0.2s;\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t&:hover,&:active{\\r\\n\\t\\t\\t\\t\\twidth:12em;\\r\\n\\t\\t\\t\\t\\t.volume-body{\\r\\n\\t\\t\\t\\t\\t\\tvisibility: visible;\\r\\n\\t\\t\\t\\t\\t\\twidth:100%;\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t.volume-button{\\r\\n\\t\\t\\t\\t\\twidth:2em;\\r\\n\\t\\t\\t\\t\\theight:2em;\\r\\n\\t\\t\\t\\t\\t.volume-power{\\r\\n\\t\\t\\t\\t\\t\\t@include small-button();\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\t.list-button{\\r\\n\\t\\t\\t\\t.list-power{\\r\\n\\t\\t\\t\\t\\t@include small-button();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\t.lyric-button{\\r\\n\\t\\t\\t\\t.lyric-power{\\r\\n\\t\\t\\t\\t\\t@include small-button();\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t}\\r\\n\\t.list{\\r\\n\\t\\twill-change:height;\\r\\n\\t\\ttransition:all 0.25s;\\r\\n\\t\\t//min-height: 45vh;\\r\\n\\t\\tmax-height: 75vh;\\r\\n\\t\\tbackground:white;\\r\\n\\t\\toverflow:auto;\\r\\n\\t\\tlist-body{\\r\\n\\t\\t\\tdisplay: flex;\\r\\n\\t\\t\\tflex-direction: column;\\r\\n\\t\\t\\toverflow: hidden;\\r\\n\\t\\t\\t&>*{\\r\\n\\t\\t\\t\\tdisplay:flex;\\r\\n\\t\\t\\t\\talign-items:center;\\r\\n\\t\\t\\t\\tflex:1;\\r\\n\\t\\t\\t\\tcursor:pointer;\\r\\n\\t\\t\\t\\ttransition: 0.5s background 0s ease;\\r\\n\\t\\t\\t\\t&:nth-child(2n-1){\\r\\n\\t\\t\\t\\t\\tbackground:rgba(117,117,117,0.04);\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t&:hover,&:active{\\r\\n\\t\\t\\t\\t\\tbackground:rgba(117,117,117,0.13);\\r\\n\\t\\t\\t\\t\\t&::before{\\r\\n\\t\\t\\t\\t\\t\\twidth:0.4em;\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t&::before{\\r\\n\\t\\t\\t\\t\\tbackground:lighten($b-color,20%);\\r\\n\\t\\t\\t\\t\\ttransition:0.2s width 0s ease;\\r\\n\\t\\t\\t\\t\\tfloat:left;\\r\\n\\t\\t\\t\\t\\theight:2.5em;\\r\\n\\t\\t\\t\\t\\twidth:0em;\\r\\n\\t\\t\\t\\t\\tdisplay:block;\\r\\n\\t\\t\\t\\t\\tcontent:\\\"\\\";\\r\\n\\t\\t\\t\\t\\t@media screen and (max-width: 800px){\\r\\n\\t\\t\\t\\t\\t\\t&{\\r\\n\\t\\t\\t\\t\\t\\t\\theight:3em;\\r\\n\\t\\t\\t\\t\\t\\t\\t&:hover,&:active{\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t&::before{\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\twidth:0.4em;\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t\\t}\\r\\n\\t\\t\\t\\t}\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\t.music-name , .music-artist{\\r\\n\\t\\t\\t\\tpadding:0 0.5em;\\r\\n\\t\\t\\t}\\r\\n\\t\\t\\t.music-name{\\r\\n\\t\\t\\t\\tflex:1;\\r\\n\\t\\t\\t}\\r\\n\\t\\t}\\r\\n\\t}\\r\\n}\\r\\n\\t.c-context{\\r\\n\\t\\tz-index:9999;\\r\\n\\t\\tposition:absolute;\\r\\n\\t\\tdisplay:inline-flex;\\r\\n\\t\\tmin-width:5em;\\r\\n\\t\\theight:auto;\\r\\n\\t\\tflex-direction:column;\\r\\n\\t\\tbackground: #fff;\\r\\n\\t\\tbox-shadow: 0 0 3em -1em #000;\\r\\n\\t}\\r\\n\\t.c-context--list{\\r\\n\\t\\tdisplay:flex;\\r\\n\\t\\tflex:1;\\r\\n\\t\\tmin-height:2em;\\r\\n\\t\\tpadding:1em;\\r\\n\\t\\tbox-sizing:border-box;\\r\\n\\t\\ttransition:background 0.5s;\\r\\n\\t\\twill-change:background;\\r\\n\\t\\tcursor:pointer;\\r\\n\\t}\\r\\n\\t.c-context--list:hover{\\r\\n\\t\\tbackground: #6af;\\r\\n\\t}\"],\"sourceRoot\":\"\"}]);\n\n// exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/css-loader?{\"sourceMap\":true}!./node_modules/sass-loader/lib/loader.js?{\"sourceMap\":true}!./src/scss/cplayer.scss\n// module id = 0\n// module chunks = 0","/*\r\n \tcPlayer\r\n Author\tCorps\r\n\r\n\tI am the super Corps!\r\n */\r\n///\r\nimport { cEmitter } from \"modules/cEmitter.class\";\r\nimport { cLyric } from \"modules/cLyric.function\";\r\nimport { SVG } from \"modules/SVG.object\";\r\nimport { AddEventListener, cOption, cList, __LYRIC__ } from \"modules/c.interface\";\r\nimport { cBase } from \"modules/cBase.class\";\r\nimport { cContext } from \"modules/cContext.class\";\r\nimport \"../scss/cplayer.scss\";\r\n\r\n//To prefix \r\ndeclare var __CPLAYER_VERSION__: string;\r\n\r\nclass cPlayer extends cEmitter {\r\n\tstatic version: string;\r\n\tprotected dragging: {\r\n\t\tcontain: boolean;\r\n\t\ttarget: HTMLElement | undefined;\r\n\t};\r\n\tprotected now: number;\r\n\tCBASE: cBase;\r\n\tprotected options: cOption;\r\n\tprotected transLock: boolean;\r\n\tmusic: HTMLAudioElement;\r\n\tprotected __LIST__: {\r\n\t\t[propName: string]: HTMLElement;\r\n\t\timg: HTMLImageElement;\r\n\t}\r\n\tprotected __LYRIC__: __LYRIC__;\r\n\tconstructor(options: cOption) {\r\n\t\tconst EVENTS: { [propName: string]: ((e?: any) => void)[] } = {\r\n\t\t\t\"play\": [], //When Music be played, Emit.\r\n\t\t\t\"pause\": [], //When Music be paused, Emit.\r\n\t\t\t\"volumechange\": [],\r\n\t\t\t\"timeupdate\": [],\r\n\t\t\t\"canplaythrough\": [],\r\n\t\t\t\"ended\": [],\r\n\t\t\t//All the above are binded on AUDIO Elements,\r\n\t\t\t//The following items are Function's callback function.\r\n\t\t\t\"toggle\": [],\r\n\t\t\t\"previous\": [],\r\n\t\t\t\"next\": [],\r\n\t\t\t\"changeList\": [],\r\n\t\t\t\"changeLyric\": [],\r\n\t\t\t\"slideList\": [],\r\n\t\t\t\"slideLyric\": [],\r\n\t\t\t\"clickLyricPower\": [],\r\n\t\t\t\"clickListPower\": [],\r\n\t\t\t\"clickVolumePower\": [],\r\n\t\t};\r\n\t\tsuper(EVENTS);\r\n\t\tthis.transLock = false;\r\n\t\t//this = new cEmitter(EVENTS);\r\n\t\t//this.on = (eventName,func)=>this.on(eventName,func);\r\n\t\t/*\r\n\t\t * 參數处理,合并默认参数与定义參數\r\n\t\t */\r\n\t\tconst DEFAULTS = {\r\n\t\t\t\"element\": document.getElementById(\"cplayer\"),\r\n\t\t\t\"list\": []\r\n\t\t};\r\n\t\tthis.options = { ...DEFAULTS, ...options };\r\n\r\n\r\n\t\tthis.CBASE = new cBase;\r\n\t\tthis.now = 0;\r\n\t\tthis.dragging = { contain: false, target: document.body };\r\n\t\t//现在开始填DOM\r\n\t\tthis.options.element.innerHTML += '
';\r\n\t\t(() => {\r\n\t\t\tconst res = this.options.element.getElementsByTagName(\"c-player\");\r\n\t\t\tthis.CBASE.root = res[res.length - 1];\r\n\t\t})();\r\n\t\t//然后为DOMList填充一下吧\r\n\t\tthis.__LIST__ = {\r\n\t\t\t\"lyric\": this.CBASE.getByClass(\"lyric\"),\r\n\t\t\t\"lyricBody\": this.CBASE.getByTagName(\"lyric-body\"),\r\n\t\t\t\"toggle\": this.CBASE.getByClass(\"play-icon\"),\r\n\t\t\t\"img\": this.CBASE.getByClass(\"meta-bak\"),\r\n\t\t\t\"name\": this.CBASE.getByClass(\"music-name\"),\r\n\t\t\t\"artist\": this.CBASE.getByClass(\"music-artist\"),\r\n\t\t\t\"time\": this.CBASE.getByClass(\"time\"),\r\n\t\t\t\"timeBody\": this.CBASE.getByClass(\"time-body\"),\r\n\t\t\t\"timeLine\": this.CBASE.getByClass(\"time-line\"),\r\n\t\t\t\"timePoint\": this.CBASE.getByClass(\"time-point\"),\r\n\t\t\t\"lyricPower\": this.CBASE.getByClass(\"lyric-power\"),\r\n\t\t\t\"volumePower\": this.CBASE.getByClass(\"volume-power\"),\r\n\t\t\t\"volumeBody\": this.CBASE.getByClass(\"volume-body\"),\r\n\t\t\t\"volumeLine\": this.CBASE.getByClass(\"volume-line\"),\r\n\t\t\t\"volumePoint\": this.CBASE.getByClass(\"volume-point\"),\r\n\t\t\t\"volume\": this.CBASE.getByClass(\"volume\"),\r\n\t\t\t\"listPower\": this.CBASE.getByClass(\"list-power\"),\r\n\t\t\t\"list\": this.CBASE.getByClass(\"list\"),\r\n\t\t\t\"listBody\": this.CBASE.getByTagName(\"list-body\")\r\n\t\t};\r\n\t\tthis.__LIST__.toggleIcon = this.CBASE.getByTagName(\"svg\", this.__LIST__.toggle);\r\n\t\tthis.__LIST__.volumeIcon = this.CBASE.getByTagName(\"svg\", this.__LIST__.volumePower);\r\n\r\n\t\tlet that = this; function dragPercentage(options: MouseEvent) {\r\n\t\t\t/*\r\n\t\t\t\tWhile anything...\r\n\t\t\t\trightTarget(if.it.possible)[\r\n\t\t\t\t\t0 -> sth.point\r\n\t\t\t\t\t1 -> sth.line\r\n\t\t\t\t\t2 -> sth.point & sth.line & sth.body\r\n\t\t\t\t]\r\n\t\t\t*/\r\n\t\t\tlet rightTarget: boolean[] = [];\r\n\t\t\tObject.defineProperties(rightTarget, {\r\n\t\t\t\t0: {\r\n\t\t\t\t\tget: () => {\r\n\t\t\t\t\t\treturn options.target === that.__LIST__.timePoint\r\n\t\t\t\t\t\t\t|| options.target === that.__LIST__.volumePoint\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t1: {\r\n\t\t\t\t\tget: () => {\r\n\t\t\t\t\t\treturn options.target === that.__LIST__.timeLine\r\n\t\t\t\t\t\t\t|| options.target === that.__LIST__.volumeLine\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\t2: {\r\n\t\t\t\t\tget: () => {\r\n\t\t\t\t\t\treturn options.target === that.__LIST__.timeBody\r\n\t\t\t\t\t\t\t|| options.target === that.__LIST__.volumeBody\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (!(rightTarget[2] || rightTarget[1] || rightTarget[0])) return;//Warning!!! rightTarget[2] checks if mouse focus on the percentage.\r\n\t\t\tthat.dragging.contain = true;\r\n\t\t\tthat.dragging.target = options.target;\r\n\t\t\tlet mover = function (options: MouseEvent) {\r\n\t\t\t\tif (that.dragging.contain === false) return;\r\n\t\t\t\tif (!rightTarget[0]) return;\r\n\t\t\t\tlet parent = ((that.dragging.target as HTMLElement).parentNode as Node).parentNode;\r\n\t\t\t\tif (parent.classList && parent.classList.contains(\"volume-body\")) {\r\n\t\t\t\t\tthat.__LIST__.volumeLine.style.width = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth * 100 + \"%\";\r\n\t\t\t\t} else if (parent.classList && parent.classList.contains(\"time-body\")) {\r\n\t\t\t\t\tthat.__LIST__.timeLine.style.width = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth * 100 + \"%\";\r\n\t\t\t\t}\r\n\t\t\t\t//实时修正VOLUME\r\n\t\t\t\tif (parent.classList.contains(\"volume-body\")) {\r\n\t\t\t\t\tlet vol = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth;\r\n\t\t\t\t\tvol = vol > 1 ? 1 : vol;\r\n\t\t\t\t\tvol = vol < 0 ? 0 : vol;\r\n\t\t\t\t\tthat.music.volume = vol;\r\n\t\t\t\t} (window.addEventListener)(\"mouseup\", upper, { \"once\": true });\r\n\t\t\t}; let upper = function (options: MouseEvent) {\r\n\t\t\t\twindow.removeEventListener(\"mousemove\", mover);\r\n\t\t\t\tlet parent;\r\n\t\t\t\tif (that.dragging.contain === false) return;\r\n\t\t\t\t/*\r\n\t\t\t\t\tWhile anything...\r\n\t\t\t\t\tsth.body -> self\r\n\t\t\t\t\tsth.line -> parent\r\n\t\t\t\t\tsth.point-> parent.parent\r\n\t\t\t\t*/\r\n\t\t\t\tif (false) { }\r\n\t\t\t\telse if (rightTarget[0]) { parent = ((that.dragging.target as HTMLElement).parentNode as HTMLElement).parentNode as HTMLElement }\r\n\t\t\t\telse if (rightTarget[1]) { parent = (that.dragging.target as HTMLElement).parentNode as HTMLElement }\r\n\t\t\t\telse if (rightTarget[2]) { parent = that.dragging.target as HTMLElement }\r\n\t\t\t\telse throw new Error(JSON.stringify([that.dragging.target, rightTarget]));\r\n\t\t\t\tif (parent.classList.contains(\"volume-body\")) {\r\n\t\t\t\t\tlet vol = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth;\r\n\t\t\t\t\tvol = vol > 1 ? 1 : vol;\r\n\t\t\t\t\tvol = vol < 0 ? 0 : vol;\r\n\t\t\t\t\tthat.music.volume = vol;\r\n\t\t\t\t} else if (parent.classList.contains(\"time-body\")) {\r\n\t\t\t\t\tlet time = (options.clientX - parent.getBoundingClientRect().left) / parent.offsetWidth;\r\n\t\t\t\t\ttime = time > 1 ? 1 : time;\r\n\t\t\t\t\ttime = time < 0 ? 0 : time;\r\n\t\t\t\t\tthat.updateTime(time * that.music.duration);\r\n\t\t\t\t}\r\n\t\t\t\tthat.dragging.contain = false;\r\n\t\t\t\tthat.dragging.target = undefined;\r\n\t\t\t};\r\n\t\t\twindow.addEventListener(\"mousemove\", mover);\r\n\t\t\t(window.addEventListener)(\"click\", upper, { \"once\": true });\r\n\t\t}\r\n\r\n\t\tthis.music = document.createElement(\"audio\");\r\n\t\tthis.music.autoplay = !!this.options.autoplay;\r\n\t\tthis.music.preload = \"metadata\";\r\n\t\t//绑定事件开始:\r\n\r\n\t\tthis.on(\"toggle\", () => {\r\n\t\t\tif (this.isPaused()) {\r\n\t\t\t\tthis.play();\r\n\t\t\t} else {\r\n\t\t\t\tthis.pause();\r\n\t\t\t}\r\n\t\t}).on(\"clickLyricPower\", () => {\r\n\t\t\tif (this.hasLyric(this.now) && this.__LIST__.lyric.classList.contains(\"invisible\")) {\r\n\t\t\t\tthis.showLyric();\r\n\t\t\t} else if (this.hasLyric(this.now) && !this.__LIST__.lyric.classList.contains(\"invisible\")) {\r\n\t\t\t\tthis.hideLyric();\r\n\t\t\t}\r\n\t\t}).on(\"clickListPower\", () => {\r\n\t\t\tif (this.hasList() && this.__LIST__.list.classList.contains(\"invisible\")) {\r\n\t\t\t\tthis.showList();\r\n\t\t\t} else if (this.hasList() && !this.__LIST__.list.classList.contains(\"invisible\")) {\r\n\t\t\t\tthis.hideList();\r\n\t\t\t}\r\n\t\t}).on(\"clickVolumePower\", () => {\r\n\t\t\tif (window.innerWidth < 600) {\r\n\t\t\t\t(this.__LIST__.volume.parentElement).classList.toggle(\"hover\");\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (this.isMuted()) {\r\n\t\t\t\tthis.music.muted = false;\r\n\t\t\t} else {\r\n\t\t\t\tthis.volume(0);\r\n\t\t\t}\r\n\t\t}).on(\"timeupdate\", () => {\r\n\t\t\tthis.updateTime();\r\n\t\t\tif (this.hasLyric(this.now))\r\n\t\t\t\tthis._slideLyric(this.music.currentTime);\r\n\t\t}).on(\"volumechange\", () => {\r\n\t\t\tthis.volume(); //做更新界面用.\r\n\t\t}).on(\"pause\", () => {\r\n\t\t\tthis.CBASE.replaceInner(this.__LIST__.toggle, SVG.playArrow);\r\n\t\t}).on(\"play\", () => {\r\n\t\t\tthis.CBASE.replaceInner(this.__LIST__.toggle, SVG.pause);\r\n\t\t\tthis.__LIST__.toggleIcon = this.CBASE.getByTagName(\"svg\", this.__LIST__.toggle);\r\n\t\t}).on(\"ended\", () => {\r\n\t\t\tthis.CBASE.style(this.__LIST__.lyricBody, \"transform\", \"\");\r\n\t\t\tif ((this.options.list as cList[])[this.now].loop === true) {\r\n\t\t\t\tthis.updateTime(0);\r\n\t\t\t\tthis.play();\r\n\t\t\t} else if (this.hasList() && this.now !== (this.options.list as cList[]).length - 1) {\r\n\t\t\t\tthis.next();\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\t//结束\r\n\r\n\t\tnew cContext({\r\n\t\t\telement: this.options.element, items: [\r\n\t\t\t\t{ \"name\": \"上一曲\", \"action\": () => this.previous() },\r\n\t\t\t\t{ \"name\": \"下一曲\", \"action\": () => this.next() },\r\n\t\t\t\t{ \"name\": \"翻译\", \"action\": () => this.translate() }\r\n\t\t\t]\r\n\t\t})\r\n\r\n\t\tif ((this.options.list as cList[])[0]) this._toggle();\r\n\t\tthis.__LIST__.toggle.addEventListener(\"click\", () => this.emit(\"toggle\"));\r\n\t\tthis.__LIST__.lyricPower.addEventListener(\"click\", () => this.emit(\"clickLyricPower\"));\r\n\t\tthis.__LIST__.listPower.addEventListener(\"click\", () => this.emit(\"clickListPower\"));\r\n\t\tthis.__LIST__.volumePower.addEventListener(\"click\", () => this.emit(\"clickVolumePower\"));\r\n\t\tthis.music.addEventListener(\"volumechange\", (ev) => this.emit(\"volumechange\", ev));\r\n\t\tthis.music.addEventListener(\"timeupdate\", (ev) => this.emit(\"timeupdate\", ev));\r\n\t\tthis.music.addEventListener(\"canplaythrough\", () => this.emit(\"canplaythrough\"));\r\n\t\tthis.music.addEventListener(\"pause\", () => this.emit(\"pause\"));\r\n\t\tthis.music.addEventListener(\"play\", () => this.emit(\"play\"));\r\n\t\tthis.music.addEventListener(\"ended\", () => this.emit(\"ended\"));\r\n\t\tthis.options.element.addEventListener(\"mousedown\", (a) => dragPercentage(a));\r\n\r\n\t\tthis.volume();\r\n\t\tthis._refreshList();\r\n\t};\r\n\r\n\tvolume(vl: number | void = undefined) {\r\n\t\tlet checkLevel = () => {\r\n\t\t\tif (this.music.volume === 0 || this.isMuted()) {\r\n\t\t\t\tthis.CBASE.replaceInner(this.__LIST__.volumePower, SVG.volumeOff);\r\n\t\t\t} else if (this.music.volume > 0 && this.music.volume <= 0.5) {\r\n\t\t\t\tthis.CBASE.replaceInner(this.__LIST__.volumePower, SVG.volumeDown);\r\n\t\t\t} else if (this.music.volume > 0.5 && this.music.volume <= 1) {\r\n\t\t\t\tthis.CBASE.replaceInner(this.__LIST__.volumePower, SVG.volumeUp);\r\n\t\t\t} else {\r\n\t\t\t\tconsole.log(\"Unexcepted Volume: \" + this.music.volume);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (vl === undefined) {\r\n\t\t\tthis.__LIST__.volumeLine.style.width = (this.music.volume * 100) + \"%\";\r\n\t\t\tcheckLevel();\r\n\t\t\treturn this.isMuted() ? 0 : this.music.volume;\r\n\t\t} else {\r\n\t\t\tif (vl === 0) {\r\n\t\t\t\tthis.music.muted = true;\r\n\t\t\t\tcheckLevel();\r\n\t\t\t} else {\r\n\t\t\t\tthis.music.volume = vl as number;\r\n\t\t\t\tcheckLevel();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\r\n\tisMuted() {\r\n\t\treturn this.music.muted;\r\n\t}\r\n\r\n\tplay() {\r\n\t\tif (this.music.seeking === true) return this;\r\n\t\tthis.music.play();\r\n\t\treturn this;\r\n\t}\r\n\r\n\tpause() {\r\n\t\tif (this.music.seeking === true) return;\r\n\t\tthis.music.pause();\r\n\t\treturn this;\r\n\t}\r\n\r\n\tprevious() {\r\n\t\tthis.emit(\"previous\");\r\n\t\tif (this.now === 0) return;\r\n\t\tthis.now--;\r\n\t\tthis._toggle().play();\r\n\t\treturn this;\r\n\t}\r\n\r\n\tnext() {\r\n\t\tthis.emit(\"next\");\r\n\t\tif (this.now === (this.options.list as cList[]).length - 1) return;\r\n\t\tthis.now++;\r\n\t\tthis._toggle().play();\r\n\t\treturn this;\r\n\t}\r\n\r\n\tto(now: number) {\r\n\t\tthis.now = now;\r\n\t\tthis._toggle();\r\n\t\tthis.play();\r\n\t\treturn this;\r\n\t}\r\n\r\n\tprivate _toggle(now = this.now) {\r\n\t\tlet list = (this.options.list as cList[])[now], dom = this.__LIST__;\r\n\t\tthis.music.pause();\r\n\t\t[dom.img.src, dom.name.innerHTML, dom.artist.innerHTML, this.music.src] = [list.image, list.name, list.artist, list.url === undefined ? \"\" : list.url];\r\n\t\tthis.transLock = false;\r\n\t\tthis.refreshLyric();\r\n\t\tif (!this.hasLyric(this.now)) this.hideLyric();\r\n\t\tthis.CBASE.style(this.__LIST__.lyricBody, \"transform\", \"\");\r\n\t\treturn this;\r\n\t}\r\n\r\n\tisPaused() {\r\n\t\treturn this.music.paused;\r\n\t}\r\n\r\n\thasLyric(id = 0) {\r\n\t\treturn ((this.options.list as cList[])[id].lyric != undefined);\r\n\t}\r\n\r\n\tshowLyric() {\r\n\t\tthis.emit(\"slideLyric\", true);\r\n\t\tif (this.hasLyric(this.now)) this.__LIST__.lyric.classList.remove(\"invisible\");\r\n\t\tif (!this.__LIST__.list.classList.contains(\"invisible\")) this.hideList();\r\n\t\treturn this;\r\n\t}\r\n\r\n\thideLyric() {\r\n\t\tthis.emit(\"slideLyric\", false);\r\n\t\tthis.__LIST__.lyric.classList.add(\"invisible\");\r\n\t\treturn this;\r\n\t}\r\n\r\n\thasList() {\r\n\t\treturn ((this.options.list as cList[]).length > 1);\r\n\t}\r\n\r\n\tshowList() {\r\n\t\tthis.emit(\"slideList\", true);\r\n\t\tthis.__LIST__.list.classList.remove(\"invisible\");\r\n\t\tif (!this.__LIST__.lyric.classList.contains(\"invisible\")) this.hideLyric();\r\n\t\treturn this;\r\n\t}\r\n\r\n\thideList() {\r\n\t\tthis.emit(\"slideList\", false);\r\n\t\tthis.__LIST__.list.classList.add(\"invisible\");\r\n\t\treturn this;\r\n\t}\r\n\r\n\tprivate _refreshList() {\r\n\t\tthis.emit(\"changeList\");\r\n\t\tlet list = (this.options.list as cList[]), lb = this.__LIST__.listBody;\r\n\t\tlb.innerHTML = ``;\r\n\t\tfor (let i = 0; i <= list.length - 1; i++) {\r\n\t\t\tlet div = document.createElement(\"div\");\r\n\t\t\tdiv.innerHTML = '' + list[i].name + '' + list[i].artist + '';\r\n\t\t\tdiv = lb.appendChild(div);\r\n\t\t\tdiv.addEventListener(\"click\", () => {\r\n\t\t\t\tthis.to(i);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tadd(u: cList) {\r\n\t\tlet ln = (this.options.list as cList[]).push(u);\r\n\t\tlet div = document.createElement(\"div\");\r\n\t\tdiv.innerHTML = '' + u.name + '' + u.artist + '';\r\n\t\tdiv = this.__LIST__.listBody.appendChild(div);\r\n\t\tdiv.addEventListener(\"click\", () => {\r\n\t\t\tthis.to(ln - 1);\r\n\t\t});\r\n\t\tif (ln === 1) this._toggle(); //刷新元素.\r\n\t\treturn this;\r\n\t}\r\n\r\n\tremove(id: number) {\r\n\t\t(this.options.list as cList[]).splice(id, 1);\r\n\t\tthis._refreshList();\r\n\t\treturn this;\r\n\t}\r\n\r\n\tlyric(content = undefined) {\r\n\t\tif (content === undefined) {\r\n\t\t\tif (this.hasLyric(this.now)) return (this.options.list as cList[])[this.now].lyric;\r\n\t\t} else {\r\n\t\t\t(this.options.list as cList[])[this.now].lyric = content;\r\n\t\t\tthis.refreshLyric();\r\n\t\t}\r\n\t\treturn this;\r\n\t}\r\n\r\n\trefreshLyric(isTrans = false) {\r\n\t\t//REQUIRE LYRIC...\r\n\t\tthis.__LIST__.lyricBody.innerHTML = ``;\r\n\t\tif (!this.hasLyric(this.now)) return;\r\n\t\tlet lr = isTrans !== false ?\r\n\t\t\t(this.options.list as cList[])[this.now].transLyric as string\r\n\t\t\t: (this.options.list as cList[])[this.now].lyric as string;\r\n\t\tlet lyric = cLyric(lr) as __LYRIC__;\r\n\t\tlyric[\"now\"] = 0;\r\n\t\tthis.__LYRIC__ = lyric;\r\n\t\tfor (let i = 0; i <= lyric.length - 1; i++) {\r\n\t\t\tlet div = document.createElement(\"lrc\");\r\n\t\t\tdiv.innerHTML = lyric[i].content;\r\n\t\t\tthis.__LIST__.lyricBody.appendChild(div);\r\n\t\t}\r\n\t\tthis.emit(\"changeLyric\");\r\n\t}\r\n\r\n\tupdateTime(time: number | void = undefined, func?: (time: number) => void) {\r\n\t\tif (time !== undefined) this.music.currentTime = time;\r\n\t\tif (this.dragging.contain === false) this.__LIST__.timeLine.style.width = (this.music.currentTime / this.music.duration) * 100 + \"%\";\r\n\t\tif (func !== undefined) func(this.music.currentTime);\r\n\t}\r\n\r\n\tprivate _slideLyric(time: number) {\r\n\t\tif (this.__LIST__.lyric.classList.contains(\"invisible\")) return;\r\n\r\n\t\tlet lyricToTop,\r\n\t\t\thalfBody,\r\n\t\t\ttranslateY,\r\n\t\t\tlyricBody = this.__LIST__.lyricBody,\r\n\t\t\tlrc = this.__LIST__.lyricBody.getElementsByTagName(\"lrc\");\r\n\t\tlet clear = (list: NodeListOf) => {\r\n\t\t\tfor (let n = list.length - 1; n >= 0; n--)\r\n\t\t\t\tif (list[n] !== lrc[i])\r\n\t\t\t\t\tlist[n].classList.remove(\"now\");\r\n\t\t};\r\n\t\t//遍历Lyric,寻找当前时间的歌词\r\n\t\t//注意:[].find & [].findIndex 仅返回符合要求元素组成的数组第一项,符合要求元素组成的数组的顺序参考原数组不变\r\n\t\t//现在的写法需要__LYRIC__属性具有time从小到大排列的顺序,详见refreshLyric()方法\r\n\t\tlet lyric = this.CBASE.find(this.__LYRIC__, (element) => element.time < time).reverse()[0];\r\n\t\tlet i = [].indexOf.call(this.__LYRIC__, lyric);\r\n\t\tif (i < 0) {\r\n\t\t\tthis.CBASE.style(lyricBody, \"transform\", \"\");\r\n\t\t\tlet list = this.__LIST__.lyricBody.getElementsByClassName(\"now\");\r\n\t\t\tclear(list);\r\n\t\t\treturn;\r\n\t\t}\r\n\r\n\t\tif (this.__LYRIC__[\"now\"] !== i)\r\n\t\t\tthis.__LYRIC__[\"now\"] = i;\r\n\t\tlrc[i].classList.add(\"now\");\r\n\t\tlyricToTop = (lyricBody.childNodes[i]).offsetTop - (lyricBody.childNodes[0]).offsetTop - 0.5 * (lyricBody.childNodes[i]).clientHeight;\r\n\t\thalfBody = 0.5 * this.__LIST__.lyric.clientHeight - (lyricBody.childNodes[i]).clientHeight;\r\n\t\ttranslateY = -(lyricToTop - halfBody);\r\n\t\tthis.CBASE.style(lyricBody, \"transform\", \"translateY(\" + translateY + \"px)\");\r\n\t\tlet list = this.__LIST__.lyricBody.getElementsByClassName(\"now\");\r\n\t\tif (list.length > 1)\r\n\t\t\tclear(list);\r\n\t}\r\n\ttranslate() {\r\n\t\tif (!(this.options.list as cList[])[this.now].transLyric || !this.hasLyric(this.now)) return false;\r\n\t\tthis.transLock = !this.transLock;\r\n\t\tthis.refreshLyric(this.transLock);\r\n\t}\r\n\tget length() {\r\n\t\treturn (this.options.list as cList[]).length;\r\n\t}\r\n\tset length(length) {\r\n\t\tthrow new SyntaxError(\"Read-only Property.\");\r\n\t}\r\n}\r\n\r\nconsole.log(\"\\n%ccPlayer%cv\" + (cPlayer.version = __CPLAYER_VERSION__) + \"%c\\n\\n\", \"padding:7px;background:#cd3e45;font-family:'Sitka Heading';font-weight:bold;font-size:large;color:white\", \"padding:7px;background:#ff5450;font-family:'Sitka Text';font-size:large;color:#eee\", \"\");\r\nexport { cPlayer };\n\n\n// WEBPACK FOOTER //\n// ./src/js/cplayer.ts","export const cEmitter = class cEmitter{\n events: { [propName: string]: ((e?: any) => void)[]; };\n constructor(typeList: { [propName: string]: ((e?: any) => void)[] }) {\n\t if(typeList){\n\t this.events = typeList;\n\t }else{\n\t this.events = {};\n\t }\n\t }\n\t on(eventName:string,func:(...e:any[])=>void){\n\t if(this.events[eventName]&&this.events[eventName].push !== undefined&&typeof func === \"function\"){\n\t this.events[eventName].push(func);\n\t }else if(this.events[eventName]===undefined||this.events[eventName].push===undefined){\n\t this.events[eventName] = [];\n\t }else{\n\t throw new TypeError(\"Uncaught Unexcepted TypeError.\")\n\t }\n\t return this;\n\t }\n\t emit(eventName:string,...args:any[]){\n\t for(let i = 0;i [1.24,2.21,36.15,\"HEY!\"]\n\t\tif(/\\[\\d+:[\\d\\.]+\\]/gi.test(content)){\n\t\t\tlet ar:(number|string)[] = [];\n\t\t\t[].forEach.call(content.match(/\\[\\d+\\:[\\.\\d]+\\]/gi),function(e:string){\n\t\t\t\tlet number = /\\[(\\d+)\\:([\\.\\d]+)\\]/gi.exec(e) as RegExpExecArray;\n\t\t\t\tar.push(parseInt(number[1])*60+parseFloat(number[2])-offset*0.001);\n\t\t\t});\n\t\t\tar.push((/(?:\\[\\d+\\:[\\.\\d]+\\])*(.*)/gi.exec(content) as RegExpExecArray)[1]);\n\t\t\tdo{\n\t\t\t\tlyricArray.push({time:ar.shift(),content:ar[ar.length-1]});\n\t\t\t}while(ar.length>1)\n\t\t}\n\t});\n\t\n\treturn lyricArray.sort((a, b)=> {\n\t return a.time - b.time;\n\t});\n};\n\n\n// WEBPACK FOOTER //\n// ./src/js/modules/cLyric.function.ts","let SVG:{[propName:string]:string} = {\r\n \"playArrow\" :'M16 10v28l22-14z',\r\n \"pause\" :'M12 38h8V10h-8v28zm16-28v28h8V10h-8z',\r\n \"playlistPlay\" :'M26 6H-8v4h34V6zm0-8H-8v4h34v-4zM-8 18h26v-4H-8v4zm30-4v12l10-6-10-6z',\r\n \"note\" :'M44 20L32 8H8c-2.2 0-4 1.8-4 4v24.02C4 38.22 5.8 40 8 40l32-.02c2.2 0 4-1.78 4-3.98V20zm-14-9l11 11H30V11z',\r\n \"volumeUp\" :'M6 18v12h8l10 10V8L14 18H6zm27 6c0-3.53-2.04-6.58-5-8.05v16.11c2.96-1.48 5-4.53 5-8.06zM28 6.46v4.13c5.78 1.72 10 7.07 10 13.41s-4.22 11.69-10 13.41v4.13c8.01-1.82 14-8.97 14-17.54S36.01 8.28 28 6.46z',\r\n \"volumeMute\" :'M14 18v12h8l10 10V8L22 18h-8z',\r\n \"volumeOff\" :'M33 24c0-3.53-2.04-6.58-5-8.05v4.42l4.91 4.91c.06-.42.09-.85.09-1.28zm5 0c0 1.88-.41 3.65-1.08 5.28l3.03 3.03C41.25 29.82 42 27 42 24c0-8.56-5.99-15.72-14-17.54v4.13c5.78 1.72 10 7.07 10 13.41zM8.55 6L6 8.55 15.45 18H6v12h8l10 10V26.55l8.51 8.51c-1.34 1.03-2.85 1.86-4.51 2.36v4.13c2.75-.63 5.26-1.89 7.37-3.62L39.45 42 42 39.45l-18-18L8.55 6zM24 8l-4.18 4.18L24 16.36V8z',\r\n \"volumeDown\" :'M37 24c0-3.53-2.04-6.58-5-8.05v16.11c2.96-1.48 5-4.53 5-8.06zm-27-6v12h8l10 10V8L18 18h-8z',\r\n};\r\nfor(let i = 0,keys = Object.keys(SVG),length = keys.length;i' :\r\n\t '';\r\n\tSVG[keys[i]] = svg;\r\n}\r\nexport { SVG };\n\n\n// WEBPACK FOOTER //\n// ./src/js/modules/SVG.object.ts","import { __LYRIC__ } from \"c.interface\";\n\nexport class cBase {\n browser: string;\n root: Element;\n constructor(rootNode = document.documentElement) {\n this.root = rootNode;\n for (let styleList = document.documentElement.style, i = styleList.length; i > 0; i--) {\n [\"-webkit-\", \"-moz-\", \"-o-\", \"-ms-\"].forEach(element => {\n if (styleList[i].indexOf(element) !== -1) {\n this.browser = element.replace(\"-\", \"\");\n };\n });\n if (this.browser) break;\n }\n }\n replace(oldElement: HTMLElement, newElement: Node) {\n //newElement 不存在于oldElement 的父元素中,首先载入.\n newElement = newElement.cloneNode(true);\n (oldElement.parentNode as Node).appendChild(newElement);\n (oldElement.parentNode as Node).removeChild(oldElement);\n //顺便如果有值为oldElement的变量,请重新赋值.\n }\n replaceInner(element: HTMLElement, innerContent: string) {\n //进行一次简单的封装\n element.innerHTML = innerContent;\n }\n getByClass(className: string, parentElement?: HTMLElement | Element) {\n return parentElement != undefined ?\n parentElement.getElementsByClassName(className)[0]\n : this.root.getElementsByClassName(className)[0];\n }\n getByTagName(tagName: string, parentElement?: HTMLElement | Element) {\n return parentElement != undefined ?\n parentElement.getElementsByTagName(tagName)[0]\n : this.root.getElementsByTagName(tagName)[0];\n }\n rand(start?: number, end?: number) {\n if (!start || !end) return Math.random();\n if (start > end) throw new RangeError(\"the EndNumber must be bigger than the StartNumber\");\n return (end - start) * Math.random() + start;\n }\n find(array: T[] | __LYRIC__, func: (any: any) => boolean) {\n let ar: T[] = [];\n [].forEach.call(array, (el: T) => {\n if (!!func(el)) ar.push(el);\n }); return ar;\n }\n style(dom: HTMLElement, property: string, content: string) {\n //不管浏览器,暴力加前缀\n dom.style[\n (this.browser + property.slice(0, 1).toUpperCase() + property.slice(1))\n ] = content;\n dom.style[property as any] = content;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./src/js/modules/cBase.class.ts","export class cContext {\n\toptions: {\n\t\t\"element\": HTMLElement,\n\t\t\"items\": { name: string, action?: (e: MouseEvent) => void }[]\n\t};\n /*\n * options:{\n * \"element\":element,\n * \"items\":[\n * {\"name\":\"XXX\",\"action\":func},\n * {\"name\":\"XXX\",\"action\":func},\n * ]\n * }\n */\n\tconstructor(options: {\n\t\t\"element\": HTMLElement,\n\t\t\"items\": { name: string, action?: (e: MouseEvent) => void }[]\n\t}) {\n\t\tif (!options.element) throw new Error(\"Need a element to bind.\");\n\t\tthis.options = options;\n\t\tthis.options.element.oncontextmenu = function () {\n\t\t\treturn false;\n\t\t}\n\t\tthis.options.element.addEventListener(\"contextmenu\", a => {\n\t\t\tthis.hide();\n\t\t\tthis.show(a);\n\t\t\treturn false;\n\t\t});\n\t\tdocument.documentElement.addEventListener(\"click\", () => this.hide());\n\t\treturn this;\n\t}\n\tadd({ name, action }:{ name: string, action?: (e: MouseEvent) => void }) {\n\t\tthis.options.items.push({ name, action });\n\t\treturn this;\n\t}\n\tshow({ pageX, pageY }:MouseEvent) {\n\t\tlet content = document.createElement(\"div\");\n\t\tcontent.classList.add(\"c-context\");\n\t\tfor (let items = this.options.items, i = 0; i < items.length; i++) {\n\t\t\tcontent.appendChild(document.createElement(\"div\"));\n\t\t\tcontent.children[i].classList.add(\"c-context--list\");\n\t\t\tcontent.children[i].innerHTML = items[i].name;\n\t\t\t//content.innerHTML+=`
${items[i].name}
`;\n\t\t\tcontent.children[i].addEventListener(\"click\", items[i].action as (e: MouseEvent) => void);\n\t\t}\n\t\tdocument.body.appendChild(content);\n\t\t//Set the offset-x\n\t\tif (document.documentElement.clientWidth > content.offsetWidth) { //When the body is wide enough\n\t\t\tcontent.style.left = document.documentElement.clientWidth > (content.offsetWidth + pageX) ?\n\t\t\t\tpageX + \"px\" : pageX - content.offsetWidth + \"px\";\n\t\t} else {\n\t\t\tcontent.style.width = document.documentElement.clientWidth + \"px\";\n\t\t}\n\t\t//Set the offset-y\n\t\tif (document.documentElement.clientHeight > content.offsetHeight) {\n\t\t\tcontent.style.top = document.documentElement.clientHeight > (content.offsetHeight + pageY) ?\n\t\t\t\tpageY + \"px\" : pageY - content.offsetHeight + \"px\";\n\t\t}\n\t\tcontent.style.visibility = \"visible\";\n\t\treturn this;\n\t}\n\thide() {\n\t\tfor (let list = document.getElementsByClassName(\"c-context\"), i = list.length - 1; i >= 0; i--)document.body.removeChild(list[i]);\n\t\treturn this;\n\t}\n\tget items() {\n\t\treturn this.options.items;\n\t}\n\tset items(context) {\n\t\tthis.options.items = context;\n\t}\n}\n\n\n// WEBPACK FOOTER //\n// ./src/js/modules/cContext.class.ts","// style-loader: Adds some css to the DOM by adding a + -
-

cPlayer DEMO

-
- cPlayer is a WEB Music Player. - Here is a DEMO,Thanks for trying this. - ps. 感谢Jad的网易云音乐API! -
-
+
+
- + + \ No newline at end of file diff --git a/declaration/cplayer.d.ts b/dist/cplayer.d.ts similarity index 69% rename from declaration/cplayer.d.ts rename to dist/cplayer.d.ts index ba67312..e1fe60d 100644 --- a/declaration/cplayer.d.ts +++ b/dist/cplayer.d.ts @@ -1,6 +1,6 @@ -import { cEmitter } from "modules/cEmitter.class"; -import { cOption, cList, __LYRIC__ } from "modules/c.interface"; -import { cBase } from "modules/cBase.class"; +import { cEmitter } from "./modules/cEmitter.class"; +import { cOption, cList, __LYRIC__ } from "./modules/c.interface"; +import { cBase } from "./modules/cBase.class"; import "../scss/cplayer.scss"; declare class cPlayer extends cEmitter { static version: string; @@ -37,11 +37,17 @@ declare class cPlayer extends cEmitter { private _refreshList(); add(u: cList): this; remove(id: number): this; - lyric(content?: undefined): string | this | undefined; - refreshLyric(isTrans?: boolean): void; + lyric(content?: undefined): Promise Promise; + resolve: (promise: string) => { + lyric: string | null; + transLyric: string | null; + }; + } | undefined>; + refreshLyric(isTrans?: boolean): Promise; updateTime(time?: number | void, func?: (time: number) => void): void; private _slideLyric(time); - translate(): false | undefined; + translate(): Promise; length: number; } export { cPlayer }; diff --git a/dist/cplayer.js b/dist/cplayer.js index b2426a1..dfd0198 100644 --- a/dist/cplayer.js +++ b/dist/cplayer.js @@ -1,2 +1 @@ -!function(t,n){if("object"==typeof exports&&"object"==typeof module)module.exports=n();else if("function"==typeof define&&define.amd)define([],n);else{var e=n();for(var i in e)("object"==typeof exports?exports:t)[i]=e[i]}}(this,function(){return function(t){function n(t){delete installedChunks[t]}function e(t){var n=document.getElementsByTagName("head")[0],e=document.createElement("script");e.type="text/javascript",e.charset="utf-8",e.src=p.p+""+t+"."+b+".hot-update.js",n.appendChild(e)}function i(t){return t=t||1e4,new Promise(function(n,e){if("undefined"==typeof XMLHttpRequest)return e(new Error("No browser support"));try{var i=new XMLHttpRequest,r=p.p+""+b+".hot-update.json";i.open("GET",r,!0),i.timeout=t,i.send(null)}catch(t){return e(t)}i.onreadystatechange=function(){if(4===i.readyState)if(0===i.status)e(new Error("Manifest request to "+r+" timed out."));else if(404===i.status)n();else if(200!==i.status&&304!==i.status)e(new Error("Manifest request to "+r+" failed."));else{try{var t=JSON.parse(i.responseText)}catch(t){return void e(t)}n(t)}}})}function r(t){var n=M[t];if(!n)return p;var e=function(e){return n.hot.active?(M[e]?M[e].parents.indexOf(t)<0&&M[e].parents.push(t):(C=[t],A=e),n.children.indexOf(e)<0&&n.children.push(e)):(console.warn("[HMR] unexpected require("+e+") from disposed module "+t),C=[]),p(e)};for(var i in p)Object.prototype.hasOwnProperty.call(p,i)&&"e"!==i&&Object.defineProperty(e,i,function(t){return{configurable:!0,enumerable:!0,get:function(){return p[t]},set:function(n){p[t]=n}}}(i));return e.e=function(t){function n(){k--,"prepare"===E&&(I[t]||d(t),0===k&&0===L&&u())}return"ready"===E&&s("prepare"),k++,p.e(t).then(n,function(t){throw n(),t})},e}function o(t){var n={_acceptedDependencies:{},_declinedDependencies:{},_selfAccepted:!1,_selfDeclined:!1,_disposeHandlers:[],_main:A!==t,active:!0,accept:function(t,e){if(void 0===t)n._selfAccepted=!0;else if("function"==typeof t)n._selfAccepted=t;else if("object"==typeof t)for(var i=0;i=0&&n._disposeHandlers.splice(e,1)},check:l,apply:h,status:function(t){if(!t)return E;x.push(t)},addStatusHandler:function(t){x.push(t)},removeStatusHandler:function(t){var n=x.indexOf(t);n>=0&&x.splice(n,1)},data:w[t]};return A=void 0,n}function s(t){E=t;for(var n=0;n0;){var o=r.pop(),s=o.id,c=o.chain;if((a=M[s])&&!a.hot._selfAccepted){if(a.hot._selfDeclined)return{type:"self-declined",chain:c,moduleId:s};if(a.hot._main)return{type:"unaccepted",chain:c,moduleId:s};for(var l=0;l=0||(u.hot._acceptedDependencies[s]?(e[d]||(e[d]=[]),i(e[d],[s])):(delete e[d],n.push(d),r.push({chain:c.concat([d]),id:d})))}}}}return{type:"accepted",moduleId:t,outdatedModules:n,outdatedDependencies:e}}(d):{type:"disposed",moduleId:f};var B=!1,_=!1,x=!1,L="";switch(v.chain&&(L="\nUpdate propagation: "+v.chain.join(" -> ")),v.type){case"self-declined":e.onDeclined&&e.onDeclined(v),e.ignoreDeclined||(B=new Error("Aborted because of self decline: "+v.moduleId+L));break;case"declined":e.onDeclined&&e.onDeclined(v),e.ignoreDeclined||(B=new Error("Aborted because of declined dependency: "+v.moduleId+" in "+v.parentId+L));break;case"unaccepted":e.onUnaccepted&&e.onUnaccepted(v),e.ignoreUnaccepted||(B=new Error("Aborted because "+d+" is not accepted"+L));break;case"accepted":e.onAccepted&&e.onAccepted(v),_=!0;break;case"disposed":e.onDisposed&&e.onDisposed(v),x=!0;break;default:throw new Error("Unexception type "+v.type)}if(B)return s("abort"),Promise.reject(B);if(_){m[d]=g[d],i(h,v.outdatedModules);for(d in v.outdatedDependencies)Object.prototype.hasOwnProperty.call(v.outdatedDependencies,d)&&(u[d]||(u[d]=[]),i(u[d],v.outdatedDependencies[d]))}x&&(i(h,[v.moduleId]),m[d]=A)}var k=[];for(o=0;o0;)if(d=S.pop(),a=M[d]){var Y={},T=a.hot._disposeHandlers;for(l=0;l=0&&Q.parents.splice(I,1))}}var O,P;for(d in u)if(Object.prototype.hasOwnProperty.call(u,d)&&(a=M[d]))for(P=u[d],l=0;l=0&&a.children.splice(I,1);s("apply"),b=y;for(d in m)Object.prototype.hasOwnProperty.call(m,d)&&(t[d]=m[d]);var j=null;for(d in u)if(Object.prototype.hasOwnProperty.call(u,d)){a=M[d],P=u[d];var H=[];for(o=0;o=0||H.push(r);for(o=0;o