Files
ArtPlayer/packages/artplayer/src/icons/index.js
T
2022-05-13 10:07:54 +08:00

68 lines
2.2 KiB
JavaScript

import { append, def, addClass } from '../utils';
import loading from 'bundle-text:./loading.svg';
import state from 'bundle-text:./state.svg';
import check from 'bundle-text:./check.svg';
import play from 'bundle-text:./play.svg';
import pause from 'bundle-text:./pause.svg';
import volume from 'bundle-text:./volume.svg';
import volumeClose from 'bundle-text:./volume-close.svg';
import screenshot from 'bundle-text:./screenshot.svg';
import setting from 'bundle-text:./setting.svg';
import arrowLeft from 'bundle-text:./arrow-left.svg';
import arrowRight from 'bundle-text:./arrow-right.svg';
import playbackRate from 'bundle-text:./playback-rate.svg';
import aspectRatio from 'bundle-text:./aspect-ratio.svg';
import config from 'bundle-text:./config.svg';
import pip from 'bundle-text:./pip.svg';
import lock from 'bundle-text:./lock.svg';
import unlock from 'bundle-text:./unlock.svg';
import fullscreenOff from 'bundle-text:./fullscreen-off.svg';
import fullscreenOn from 'bundle-text:./fullscreen-on.svg';
import fullscreenWebOff from 'bundle-text:./fullscreen-web-off.svg';
import fullscreenWebOn from 'bundle-text:./fullscreen-web-on.svg';
import switchOn from 'bundle-text:./switch-on.svg';
import switchOff from 'bundle-text:./switch-off.svg';
export default class Icons {
constructor(art) {
const icons = {
loading,
state,
play,
pause,
check,
volume,
volumeClose,
screenshot,
setting,
pip,
arrowLeft,
arrowRight,
playbackRate,
aspectRatio,
config,
lock,
unlock,
fullscreenOff,
fullscreenOn,
fullscreenWebOff,
fullscreenWebOn,
switchOn,
switchOff,
...art.option.icons,
};
Object.keys(icons).forEach((key) => {
def(this, key, {
get: () => {
const icon = document.createElement('i');
addClass(icon, 'art-icon');
addClass(icon, `art-icon-${key}`);
append(icon, icons[key]);
return icon;
},
});
});
}
}