/******/ (() => { // webpackBootstrap /******/ "use strict"; /******/ var __webpack_modules__ = ({ /***/ "./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js": /*!***************************************************************************!*\ !*** ./node_modules/@vue/compiler-core/dist/compiler-core.esm-bundler.js ***! \***************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "generateCodeFrame": () => (/* reexport safe */ _vue_shared__WEBPACK_IMPORTED_MODULE_0__.generateCodeFrame), /* harmony export */ "BASE_TRANSITION": () => (/* binding */ BASE_TRANSITION), /* harmony export */ "CAMELIZE": () => (/* binding */ CAMELIZE), /* harmony export */ "CAPITALIZE": () => (/* binding */ CAPITALIZE), /* harmony export */ "CREATE_BLOCK": () => (/* binding */ CREATE_BLOCK), /* harmony export */ "CREATE_COMMENT": () => (/* binding */ CREATE_COMMENT), /* harmony export */ "CREATE_ELEMENT_BLOCK": () => (/* binding */ CREATE_ELEMENT_BLOCK), /* harmony export */ "CREATE_ELEMENT_VNODE": () => (/* binding */ CREATE_ELEMENT_VNODE), /* harmony export */ "CREATE_SLOTS": () => (/* binding */ CREATE_SLOTS), /* harmony export */ "CREATE_STATIC": () => (/* binding */ CREATE_STATIC), /* harmony export */ "CREATE_TEXT": () => (/* binding */ CREATE_TEXT), /* harmony export */ "CREATE_VNODE": () => (/* binding */ CREATE_VNODE), /* harmony export */ "FRAGMENT": () => (/* binding */ FRAGMENT), /* harmony export */ "GUARD_REACTIVE_PROPS": () => (/* binding */ GUARD_REACTIVE_PROPS), /* harmony export */ "IS_MEMO_SAME": () => (/* binding */ IS_MEMO_SAME), /* harmony export */ "IS_REF": () => (/* binding */ IS_REF), /* harmony export */ "KEEP_ALIVE": () => (/* binding */ KEEP_ALIVE), /* harmony export */ "MERGE_PROPS": () => (/* binding */ MERGE_PROPS), /* harmony export */ "NORMALIZE_CLASS": () => (/* binding */ NORMALIZE_CLASS), /* harmony export */ "NORMALIZE_PROPS": () => (/* binding */ NORMALIZE_PROPS), /* harmony export */ "NORMALIZE_STYLE": () => (/* binding */ NORMALIZE_STYLE), /* harmony export */ "OPEN_BLOCK": () => (/* binding */ OPEN_BLOCK), /* harmony export */ "POP_SCOPE_ID": () => (/* binding */ POP_SCOPE_ID), /* harmony export */ "PUSH_SCOPE_ID": () => (/* binding */ PUSH_SCOPE_ID), /* harmony export */ "RENDER_LIST": () => (/* binding */ RENDER_LIST), /* harmony export */ "RENDER_SLOT": () => (/* binding */ RENDER_SLOT), /* harmony export */ "RESOLVE_COMPONENT": () => (/* binding */ RESOLVE_COMPONENT), /* harmony export */ "RESOLVE_DIRECTIVE": () => (/* binding */ RESOLVE_DIRECTIVE), /* harmony export */ "RESOLVE_DYNAMIC_COMPONENT": () => (/* binding */ RESOLVE_DYNAMIC_COMPONENT), /* harmony export */ "RESOLVE_FILTER": () => (/* binding */ RESOLVE_FILTER), /* harmony export */ "SET_BLOCK_TRACKING": () => (/* binding */ SET_BLOCK_TRACKING), /* harmony export */ "SUSPENSE": () => (/* binding */ SUSPENSE), /* harmony export */ "TELEPORT": () => (/* binding */ TELEPORT), /* harmony export */ "TO_DISPLAY_STRING": () => (/* binding */ TO_DISPLAY_STRING), /* harmony export */ "TO_HANDLERS": () => (/* binding */ TO_HANDLERS), /* harmony export */ "TO_HANDLER_KEY": () => (/* binding */ TO_HANDLER_KEY), /* harmony export */ "UNREF": () => (/* binding */ UNREF), /* harmony export */ "WITH_CTX": () => (/* binding */ WITH_CTX), /* harmony export */ "WITH_DIRECTIVES": () => (/* binding */ WITH_DIRECTIVES), /* harmony export */ "WITH_MEMO": () => (/* binding */ WITH_MEMO), /* harmony export */ "advancePositionWithClone": () => (/* binding */ advancePositionWithClone), /* harmony export */ "advancePositionWithMutation": () => (/* binding */ advancePositionWithMutation), /* harmony export */ "assert": () => (/* binding */ assert), /* harmony export */ "baseCompile": () => (/* binding */ baseCompile), /* harmony export */ "baseParse": () => (/* binding */ baseParse), /* harmony export */ "buildProps": () => (/* binding */ buildProps), /* harmony export */ "buildSlots": () => (/* binding */ buildSlots), /* harmony export */ "checkCompatEnabled": () => (/* binding */ checkCompatEnabled), /* harmony export */ "createArrayExpression": () => (/* binding */ createArrayExpression), /* harmony export */ "createAssignmentExpression": () => (/* binding */ createAssignmentExpression), /* harmony export */ "createBlockStatement": () => (/* binding */ createBlockStatement), /* harmony export */ "createCacheExpression": () => (/* binding */ createCacheExpression), /* harmony export */ "createCallExpression": () => (/* binding */ createCallExpression), /* harmony export */ "createCompilerError": () => (/* binding */ createCompilerError), /* harmony export */ "createCompoundExpression": () => (/* binding */ createCompoundExpression), /* harmony export */ "createConditionalExpression": () => (/* binding */ createConditionalExpression), /* harmony export */ "createForLoopParams": () => (/* binding */ createForLoopParams), /* harmony export */ "createFunctionExpression": () => (/* binding */ createFunctionExpression), /* harmony export */ "createIfStatement": () => (/* binding */ createIfStatement), /* harmony export */ "createInterpolation": () => (/* binding */ createInterpolation), /* harmony export */ "createObjectExpression": () => (/* binding */ createObjectExpression), /* harmony export */ "createObjectProperty": () => (/* binding */ createObjectProperty), /* harmony export */ "createReturnStatement": () => (/* binding */ createReturnStatement), /* harmony export */ "createRoot": () => (/* binding */ createRoot), /* harmony export */ "createSequenceExpression": () => (/* binding */ createSequenceExpression), /* harmony export */ "createSimpleExpression": () => (/* binding */ createSimpleExpression), /* harmony export */ "createStructuralDirectiveTransform": () => (/* binding */ createStructuralDirectiveTransform), /* harmony export */ "createTemplateLiteral": () => (/* binding */ createTemplateLiteral), /* harmony export */ "createTransformContext": () => (/* binding */ createTransformContext), /* harmony export */ "createVNodeCall": () => (/* binding */ createVNodeCall), /* harmony export */ "extractIdentifiers": () => (/* binding */ extractIdentifiers), /* harmony export */ "findDir": () => (/* binding */ findDir), /* harmony export */ "findProp": () => (/* binding */ findProp), /* harmony export */ "generate": () => (/* binding */ generate), /* harmony export */ "getBaseTransformPreset": () => (/* binding */ getBaseTransformPreset), /* harmony export */ "getInnerRange": () => (/* binding */ getInnerRange), /* harmony export */ "getMemoedVNodeCall": () => (/* binding */ getMemoedVNodeCall), /* harmony export */ "getVNodeBlockHelper": () => (/* binding */ getVNodeBlockHelper), /* harmony export */ "getVNodeHelper": () => (/* binding */ getVNodeHelper), /* harmony export */ "hasDynamicKeyVBind": () => (/* binding */ hasDynamicKeyVBind), /* harmony export */ "hasScopeRef": () => (/* binding */ hasScopeRef), /* harmony export */ "helperNameMap": () => (/* binding */ helperNameMap), /* harmony export */ "injectProp": () => (/* binding */ injectProp), /* harmony export */ "isBuiltInType": () => (/* binding */ isBuiltInType), /* harmony export */ "isCoreComponent": () => (/* binding */ isCoreComponent), /* harmony export */ "isFunctionType": () => (/* binding */ isFunctionType), /* harmony export */ "isInDestructureAssignment": () => (/* binding */ isInDestructureAssignment), /* harmony export */ "isMemberExpression": () => (/* binding */ isMemberExpression), /* harmony export */ "isMemberExpressionBrowser": () => (/* binding */ isMemberExpressionBrowser), /* harmony export */ "isMemberExpressionNode": () => (/* binding */ isMemberExpressionNode), /* harmony export */ "isReferencedIdentifier": () => (/* binding */ isReferencedIdentifier), /* harmony export */ "isSimpleIdentifier": () => (/* binding */ isSimpleIdentifier), /* harmony export */ "isSlotOutlet": () => (/* binding */ isSlotOutlet), /* harmony export */ "isStaticArgOf": () => (/* binding */ isStaticArgOf), /* harmony export */ "isStaticExp": () => (/* binding */ isStaticExp), /* harmony export */ "isStaticProperty": () => (/* binding */ isStaticProperty), /* harmony export */ "isStaticPropertyKey": () => (/* binding */ isStaticPropertyKey), /* harmony export */ "isTemplateNode": () => (/* binding */ isTemplateNode), /* harmony export */ "isText": () => (/* binding */ isText), /* harmony export */ "isVSlot": () => (/* binding */ isVSlot), /* harmony export */ "locStub": () => (/* binding */ locStub), /* harmony export */ "makeBlock": () => (/* binding */ makeBlock), /* harmony export */ "noopDirectiveTransform": () => (/* binding */ noopDirectiveTransform), /* harmony export */ "processExpression": () => (/* binding */ processExpression), /* harmony export */ "processFor": () => (/* binding */ processFor), /* harmony export */ "processIf": () => (/* binding */ processIf), /* harmony export */ "processSlotOutlet": () => (/* binding */ processSlotOutlet), /* harmony export */ "registerRuntimeHelpers": () => (/* binding */ registerRuntimeHelpers), /* harmony export */ "resolveComponentType": () => (/* binding */ resolveComponentType), /* harmony export */ "toValidAssetId": () => (/* binding */ toValidAssetId), /* harmony export */ "trackSlotScopes": () => (/* binding */ trackSlotScopes), /* harmony export */ "trackVForSlotScopes": () => (/* binding */ trackVForSlotScopes), /* harmony export */ "transform": () => (/* binding */ transform), /* harmony export */ "transformBind": () => (/* binding */ transformBind), /* harmony export */ "transformElement": () => (/* binding */ transformElement), /* harmony export */ "transformExpression": () => (/* binding */ transformExpression), /* harmony export */ "transformModel": () => (/* binding */ transformModel), /* harmony export */ "transformOn": () => (/* binding */ transformOn), /* harmony export */ "traverseNode": () => (/* binding */ traverseNode), /* harmony export */ "walkBlockDeclarations": () => (/* binding */ walkBlockDeclarations), /* harmony export */ "walkFunctionParams": () => (/* binding */ walkFunctionParams), /* harmony export */ "walkIdentifiers": () => (/* binding */ walkIdentifiers), /* harmony export */ "warnDeprecation": () => (/* binding */ warnDeprecation) /* harmony export */ }); /* harmony import */ var _vue_shared__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @vue/shared */ "./node_modules/@vue/shared/dist/shared.esm-bundler.js"); function defaultOnError(error) { throw error; } function defaultOnWarn(msg) { ( true) && console.warn(`[Vue warn] ${msg.message}`); } function createCompilerError(code, loc, messages, additionalMessage) { const msg = true ? (messages || errorMessages)[code] + (additionalMessage || ``) : 0; const error = new SyntaxError(String(msg)); error.code = code; error.loc = loc; return error; } const errorMessages = { // parse errors [0 /* ABRUPT_CLOSING_OF_EMPTY_COMMENT */]: 'Illegal comment.', [1 /* CDATA_IN_HTML_CONTENT */]: 'CDATA section is allowed only in XML context.', [2 /* DUPLICATE_ATTRIBUTE */]: 'Duplicate attribute.', [3 /* END_TAG_WITH_ATTRIBUTES */]: 'End tag cannot have attributes.', [4 /* END_TAG_WITH_TRAILING_SOLIDUS */]: "Illegal '/' in tags.", [5 /* EOF_BEFORE_TAG_NAME */]: 'Unexpected EOF in tag.', [6 /* EOF_IN_CDATA */]: 'Unexpected EOF in CDATA section.', [7 /* EOF_IN_COMMENT */]: 'Unexpected EOF in comment.', [8 /* EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT */]: 'Unexpected EOF in script.', [9 /* EOF_IN_TAG */]: 'Unexpected EOF in tag.', [10 /* INCORRECTLY_CLOSED_COMMENT */]: 'Incorrectly closed comment.', [11 /* INCORRECTLY_OPENED_COMMENT */]: 'Incorrectly opened comment.', [12 /* INVALID_FIRST_CHARACTER_OF_TAG_NAME */]: "Illegal tag name. Use '<' to print '<'.", [13 /* MISSING_ATTRIBUTE_VALUE */]: 'Attribute value was expected.', [14 /* MISSING_END_TAG_NAME */]: 'End tag name was expected.', [15 /* MISSING_WHITESPACE_BETWEEN_ATTRIBUTES */]: 'Whitespace was expected.', [16 /* NESTED_COMMENT */]: "Unexpected '|--!>| looseEqual(item, val)); } /** * For converting {{ interpolation }} values to displayed strings. * @private */ const toDisplayString = (val) => { return val == null ? '' : isArray(val) || (isObject(val) && (val.toString === objectToString || !isFunction(val.toString))) ? JSON.stringify(val, replacer, 2) : String(val); }; const replacer = (_key, val) => { // can't use isRef here since @vue/shared has no deps if (val && val.__v_isRef) { return replacer(_key, val.value); } else if (isMap(val)) { return { [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val]) => { entries[`${key} =>`] = val; return entries; }, {}) }; } else if (isSet(val)) { return { [`Set(${val.size})`]: [...val.values()] }; } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) { return String(val); } return val; }; const EMPTY_OBJ = ( true) ? Object.freeze({}) : 0; const EMPTY_ARR = ( true) ? Object.freeze([]) : 0; const NOOP = () => { }; /** * Always return false. */ const NO = () => false; const onRE = /^on[^a-z]/; const isOn = (key) => onRE.test(key); const isModelListener = (key) => key.startsWith('onUpdate:'); const extend = Object.assign; const remove = (arr, el) => { const i = arr.indexOf(el); if (i > -1) { arr.splice(i, 1); } }; const hasOwnProperty = Object.prototype.hasOwnProperty; const hasOwn = (val, key) => hasOwnProperty.call(val, key); const isArray = Array.isArray; const isMap = (val) => toTypeString(val) === '[object Map]'; const isSet = (val) => toTypeString(val) === '[object Set]'; const isDate = (val) => val instanceof Date; const isFunction = (val) => typeof val === 'function'; const isString = (val) => typeof val === 'string'; const isSymbol = (val) => typeof val === 'symbol'; const isObject = (val) => val !== null && typeof val === 'object'; const isPromise = (val) => { return isObject(val) && isFunction(val.then) && isFunction(val.catch); }; const objectToString = Object.prototype.toString; const toTypeString = (value) => objectToString.call(value); const toRawType = (value) => { // extract "RawType" from strings like "[object RawType]" return toTypeString(value).slice(8, -1); }; const isPlainObject = (val) => toTypeString(val) === '[object Object]'; const isIntegerKey = (key) => isString(key) && key !== 'NaN' && key[0] !== '-' && '' + parseInt(key, 10) === key; const isReservedProp = /*#__PURE__*/ makeMap( // the leading comma is intentional so empty string "" is also included ',key,ref,ref_for,ref_key,' + 'onVnodeBeforeMount,onVnodeMounted,' + 'onVnodeBeforeUpdate,onVnodeUpdated,' + 'onVnodeBeforeUnmount,onVnodeUnmounted'); const cacheStringFunction = (fn) => { const cache = Object.create(null); return ((str) => { const hit = cache[str]; return hit || (cache[str] = fn(str)); }); }; const camelizeRE = /-(\w)/g; /** * @private */ const camelize = cacheStringFunction((str) => { return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : '')); }); const hyphenateRE = /\B([A-Z])/g; /** * @private */ const hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, '-$1').toLowerCase()); /** * @private */ const capitalize = cacheStringFunction((str) => str.charAt(0).toUpperCase() + str.slice(1)); /** * @private */ const toHandlerKey = cacheStringFunction((str) => str ? `on${capitalize(str)}` : ``); // compare whether a value has changed, accounting for NaN. const hasChanged = (value, oldValue) => !Object.is(value, oldValue); const invokeArrayFns = (fns, arg) => { for (let i = 0; i < fns.length; i++) { fns[i](arg); } }; const def = (obj, key, value) => { Object.defineProperty(obj, key, { configurable: true, enumerable: false, value }); }; const toNumber = (val) => { const n = parseFloat(val); return isNaN(n) ? val : n; }; let _globalThis; const getGlobalThis = () => { return (_globalThis || (_globalThis = typeof globalThis !== 'undefined' ? globalThis : typeof self !== 'undefined' ? self : typeof window !== 'undefined' ? window : typeof __webpack_require__.g !== 'undefined' ? __webpack_require__.g : {})); }; /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/App.vue?vue&type=script&lang=js": /*!**********************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/App.vue?vue&type=script&lang=js ***! \**********************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); /* harmony import */ var _Components_Player_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Components/Player.vue */ "./resources/js/Components/Player.vue"); /* harmony import */ var _Components_Playlist_vue__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Components/Playlist.vue */ "./resources/js/Components/Playlist.vue"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)({ emits: [], props: {}, components: { Player: _Components_Player_vue__WEBPACK_IMPORTED_MODULE_1__["default"], Playlist: _Components_Playlist_vue__WEBPACK_IMPORTED_MODULE_2__["default"] }, setup: function setup(props, _ref) { var emit = _ref.emit; var currentSong = { title: 'Childhood Memories', artist: 'mell-ø x Ambulo', album: 'Afloat Again EP', release_date: '2020', cover_art_url: 'https://music.ditoforge.test/images/mell-ø - Afloat Again EP (2020).webp', file_url: 'https://music.ditoforge.test/storage/music/mell-ø - Childhood Memories.mp3' }; var playlistSongs = [currentSong, currentSong, currentSong]; return { currentSong: currentSong, playlistSongs: playlistSongs }; }, beforeMount: function beforeMount() {}, mounted: function mounted() {}, data: function data() { return {}; }, computed: {}, methods: { startNextSong: function startNextSong() { console.log('App: starting the next song...'); }, startPrevSong: function startPrevSong() { console.log('App: starting the previous song...'); }, startSong: function startSong(song) { console.log('App: starting an arbitrary song...'); console.log("App: here's the song:", song); } } })); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Player.vue?vue&type=script&lang=js": /*!************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Player.vue?vue&type=script&lang=js ***! \************************************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)({ emits: ['startNextSong', 'startPrevSong'], props: { currentSong: Object }, components: {}, setup: function setup(props) { var audioPlayer = new Audio(props.currentSong.file_url); var duration = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(0); var bufferedTime = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(0); var currentTime = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(0); var seekingTime = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(0); var canPlaying = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(false); var isPlaying = (0,vue__WEBPACK_IMPORTED_MODULE_0__.ref)(false); return { audioPlayer: audioPlayer, duration: duration, bufferedTime: bufferedTime, currentTime: currentTime, seekingTime: seekingTime, canPlaying: canPlaying, isPlaying: isPlaying }; }, beforeMount: function beforeMount() {}, mounted: function mounted() { var _this = this; this.audioPlayer.addEventListener("loadedmetadata", function (event) { _this.duration = event.path[0].duration; }); this.audioPlayer.addEventListener("canplay", function (event) { _this.canPlay = true; }); this.audioPlayer.addEventListener("canplaythrough", function (event) { _this.canPlay = true; _this.bufferedTime = _this.duration; }); this.audioPlayer.addEventListener("loadeddata", function (event) { _this.bufferedTime = event.path[0].buffered.end(0); }); this.audioPlayer.addEventListener("progress", function (event) { if (_this.duration > 0) { for (var i = 0; i < _this.audioPlayer.buffered.length; i++) { if (_this.audioPlayer.buffered.start(_this.audioPlayer.buffered.length - 1 - i) < _this.currentTime) { console.log(_this.audioPlayer.buffered.end(_this.audioPlayer.buffered.length - 1 - i) / _this.duration); } } } }); this.audioPlayer.addEventListener("timeupdate", function (event) { _this.currentTime = event.path[0].currentTime; }); /*this.audioPlayer.addEventListener("seeking", event => { // }) this.audioPlayer.addEventListener("seeked", event => { // })*/ this.$refs.progressBars.addEventListener("mousemove", function (event) { _this.$refs.seekingBar.value = _this.duration * (event.layerX / event.path[0].clientWidth); }); this.$refs.progressBars.addEventListener("mousedown", function (event) { var newCurrentTime = _this.duration * (event.layerX / event.path[0].clientWidth); _this.pausePlaying(); _this.audioPlayer.currentTime = newCurrentTime; _this.currentTime = newCurrentTime; _this.startPlaying(); }); //this.audioPlayer.addEventListener("complete", this.changeToNextSong()) //this.audioPlayer.addEventListener("ended", this.changeToNextSong()) }, data: function data() { return {}; }, computed: { timeElapsed: function timeElapsed() { return this.secondsToHuman(this.currentTime); }, songLength: function songLength() { return this.secondsToHuman(this.duration); } }, methods: { startPlaying: function startPlaying() { this.isPlaying = true; this.audioPlayer.play(); }, pausePlaying: function pausePlaying() { this.isPlaying = false; this.audioPlayer.pause(); }, changeToNextSong: function changeToNextSong() { console.log('Player: starting the next song...'); this.$emit('startNextSong'); }, changeToPrevSong: function changeToPrevSong() { console.log('Player: starting the previous song...'); this.$emit('startPrevSong'); }, // helpers secondsToHuman: function secondsToHuman(lengthInSeconds) { lengthInSeconds = Number.parseInt(lengthInSeconds); var minutes = Number.parseInt(lengthInSeconds / 60); var seconds = Number.parseInt(lengthInSeconds - Number.parseInt(minutes * 60)); if (seconds < 10) { seconds = "0" + seconds; } return minutes + ":" + seconds; } } })); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Playlist.vue?vue&type=script&lang=js": /*!**************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Playlist.vue?vue&type=script&lang=js ***! \**************************************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); /* harmony import */ var _PlaylistCard_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PlaylistCard.vue */ "./resources/js/Components/PlaylistCard.vue"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)({ emits: ['startSong'], props: { playlistSongs: Array }, components: { PlaylistCard: _PlaylistCard_vue__WEBPACK_IMPORTED_MODULE_1__["default"] }, setup: function setup(props, _ref) { var emit = _ref.emit; var previousSong = {}; return { previousSong: previousSong }; }, beforeMount: function beforeMount() {}, mounted: function mounted() {}, data: function data() { return {}; }, computed: { nextSongs: function nextSongs() { return this.playlistSongs.slice(0, 4); } }, methods: { startSong: function startSong(song) { console.log('Playlist: starting an arbitrary song...'); this.$emit('startSong', song); } } })); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/PlaylistCard.vue?vue&type=script&lang=js": /*!******************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/PlaylistCard.vue?vue&type=script&lang=js ***! \******************************************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ((0,vue__WEBPACK_IMPORTED_MODULE_0__.defineComponent)({ emits: [], props: { song: Object }, components: {}, setup: function setup(props, _ref) { var emit = _ref.emit; return {}; }, beforeMount: function beforeMount() {}, mounted: function mounted() {}, data: function data() { return {}; }, computed: {}, methods: {} })); /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/App.vue?vue&type=template&id=f348271a&scoped=true": /*!**************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/App.vue?vue&type=template&id=f348271a&scoped=true ***! \**************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "render": () => (/* binding */ render) /* harmony export */ }); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); var _withScopeId = function _withScopeId(n) { return (0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)("data-v-f348271a"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n; }; var _hoisted_1 = { "class": "radio grid grid-cols-2 gap-x-8 p-8" }; function render(_ctx, _cache, $props, $setup, $data, $options) { var _component_player = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("player"); var _component_playlist = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("playlist"); return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_player, { "class": "col-span-1 py-4 bg-green-400", currentSong: _ctx.currentSong, onStartNextSong: _ctx.startNextSong, onStartPrevSong: _ctx.startPrevSong }, null, 8 /* PROPS */ , ["currentSong", "onStartNextSong", "onStartPrevSong"]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_playlist, { "class": "col-span-1 py-4 px-6 bg-blue-400", playlistSongs: _ctx.playlistSongs, onStartSong: _ctx.startSong }, null, 8 /* PROPS */ , ["playlistSongs", "onStartSong"])]); } /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Player.vue?vue&type=template&id=644d406c&scoped=true": /*!****************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Player.vue?vue&type=template&id=644d406c&scoped=true ***! \****************************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "render": () => (/* binding */ render) /* harmony export */ }); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); var _withScopeId = function _withScopeId(n) { return (0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)("data-v-644d406c"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n; }; var _hoisted_1 = { "class": "player__container flex flex-col" }; var _hoisted_2 = { "class": "cover-art__container flex justify-center rounded-lg" }; var _hoisted_3 = ["src", "alt"]; var _hoisted_4 = { "class": "song-info flex flex-col items-center justify-center" }; var _hoisted_5 = { "class": "song-info_title font-bold text-2xl" }; var _hoisted_6 = { "class": "song-info_artist text-xl" }; var _hoisted_7 = { "class": "controls" }; var _hoisted_8 = /*#__PURE__*/_withScopeId(function () { return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("svg", { viewBox: "0 0 24 24", width: "28", height: "28", stroke: "currentColor", "stroke-width": "2", fill: "none", "stroke-linecap": "round", "stroke-linejoin": "round", "class": "" }, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("polygon", { points: "19 20 9 12 19 4 19 20" }), /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("line", { x1: "5", y1: "19", x2: "5", y2: "5" })], -1 /* HOISTED */ ); }); var _hoisted_9 = [_hoisted_8]; var _hoisted_10 = /*#__PURE__*/_withScopeId(function () { return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("svg", { viewBox: "0 0 24 24", width: "48", height: "48", stroke: "currentColor", "stroke-width": "2", fill: "none", "stroke-linecap": "round", "stroke-linejoin": "round", "class": "" }, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("polygon", { points: "5 3 19 12 5 21 5 3" })], -1 /* HOISTED */ ); }); var _hoisted_11 = [_hoisted_10]; var _hoisted_12 = /*#__PURE__*/_withScopeId(function () { return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("svg", { viewBox: "0 0 24 24", width: "48", height: "48", stroke: "currentColor", "stroke-width": "2", fill: "none", "stroke-linecap": "round", "stroke-linejoin": "round", "class": "" }, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("rect", { x: "6", y: "4", width: "4", height: "16" }), /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("rect", { x: "14", y: "4", width: "4", height: "16" })], -1 /* HOISTED */ ); }); var _hoisted_13 = [_hoisted_12]; var _hoisted_14 = /*#__PURE__*/_withScopeId(function () { return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("svg", { viewBox: "0 0 24 24", width: "28", height: "28", stroke: "currentColor", "stroke-width": "2", fill: "none", "stroke-linecap": "round", "stroke-linejoin": "round", "class": "" }, [/*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("polygon", { points: "5 4 15 12 5 20 5 4" }), /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("line", { x1: "19", y1: "5", x2: "19", y2: "19" })], -1 /* HOISTED */ ); }); var _hoisted_15 = [_hoisted_14]; var _hoisted_16 = { "class": "progress__container flex flex-col mx-12" }; var _hoisted_17 = { "class": "flex flex-row items-center justify-between" }; var _hoisted_18 = { "class": "font-light" }; var _hoisted_19 = { "class": "font-light" }; var _hoisted_20 = { "class": "progress-bars flex relative", ref: "progressBars" }; var _hoisted_21 = ["max", "value"]; var _hoisted_22 = ["max", "value"]; var _hoisted_23 = ["max", "value"]; function render(_ctx, _cache, $props, $setup, $data, $options) { return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("img", { src: _ctx.currentSong.cover_art_url, alt: _ctx.currentSong.album, height: "64", width: "64", "class": "shadow rounded-lg" }, null, 8 /* PROPS */ , _hoisted_3)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.currentSong.title), 1 /* TEXT */ ), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.currentSong.artist), 1 /* TEXT */ )]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_7, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("button", { type: "button", onClick: _cache[0] || (_cache[0] = function ($event) { return _ctx.changeToPrevSong(); }) }, _hoisted_9), (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("button", { type: "button", onClick: _cache[1] || (_cache[1] = function () { return _ctx.startPlaying && _ctx.startPlaying.apply(_ctx, arguments); }) }, _hoisted_11, 512 /* NEED_PATCH */ ), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, !_ctx.isPlaying]]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.withDirectives)((0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("button", { type: "button", onClick: _cache[2] || (_cache[2] = function () { return _ctx.pausePlaying && _ctx.pausePlaying.apply(_ctx, arguments); }) }, _hoisted_13, 512 /* NEED_PATCH */ ), [[vue__WEBPACK_IMPORTED_MODULE_0__.vShow, _ctx.isPlaying]]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("button", { type: "button", onClick: _cache[3] || (_cache[3] = function ($event) { return _ctx.changeToNextSong(); }) }, _hoisted_15)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_16, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_17, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_18, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.timeElapsed), 1 /* TEXT */ ), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_19, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.songLength), 1 /* TEXT */ )]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_20, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("progress", { "class": "progress-played absolute z-30 w-full", min: "0", max: _ctx.duration, value: _ctx.audioPlayer.currentTime }, null, 8 /* PROPS */ , _hoisted_21), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("progress", { "class": "progress-seeking absolute z-20 w-full", min: "0", max: _ctx.duration, value: _ctx.seekingTime, ref: "seekingBar" }, null, 8 /* PROPS */ , _hoisted_22), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("progress", { "class": "progress-buffered absolute z-10 w-full", min: "0", max: _ctx.duration, value: _ctx.bufferedTime }, null, 8 /* PROPS */ , _hoisted_23)], 512 /* NEED_PATCH */ )])]); } /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Playlist.vue?vue&type=template&id=12dd93c6&scoped=true": /*!******************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Playlist.vue?vue&type=template&id=12dd93c6&scoped=true ***! \******************************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "render": () => (/* binding */ render) /* harmony export */ }); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); var _withScopeId = function _withScopeId(n) { return (0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)("data-v-12dd93c6"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n; }; var _hoisted_1 = /*#__PURE__*/_withScopeId(function () { return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h3", { "class": "text-gray-600 font-medium" }, "Previous song", -1 /* HOISTED */ ); }); var _hoisted_2 = { "class": "playlist" }; var _hoisted_3 = /*#__PURE__*/_withScopeId(function () { return /*#__PURE__*/(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("h3", { "class": "text-gray-600 font-medium" }, "Up next", -1 /* HOISTED */ ); }); var _hoisted_4 = { "class": "playlist-list_container mt-4" }; function render(_ctx, _cache, $props, $setup, $data, $options) { var _component_playlist_card = (0,vue__WEBPACK_IMPORTED_MODULE_0__.resolveComponent)("playlist-card"); return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("aside", null, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("header", null, [_hoisted_1, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createVNode)(_component_playlist_card, { "class": "mt-4", song: _ctx.previousSong }, null, 8 /* PROPS */ , ["song"])]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [_hoisted_3, (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_4, [((0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(true), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)(vue__WEBPACK_IMPORTED_MODULE_0__.Fragment, null, (0,vue__WEBPACK_IMPORTED_MODULE_0__.renderList)(_ctx.nextSongs, function (song) { return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createBlock)(_component_playlist_card, { key: song.id, song: song, onClick: function onClick($event) { return _ctx.startSong(song); } }, null, 8 /* PROPS */ , ["song", "onClick"]); }), 128 /* KEYED_FRAGMENT */ ))])])]); } /***/ }), /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/PlaylistCard.vue?vue&type=template&id=6a1ec2cd&scoped=true": /*!**********************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5.use[0]!./node_modules/vue-loader/dist/templateLoader.js??ruleSet[1].rules[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/PlaylistCard.vue?vue&type=template&id=6a1ec2cd&scoped=true ***! \**********************************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "render": () => (/* binding */ render) /* harmony export */ }); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); var _withScopeId = function _withScopeId(n) { return (0,vue__WEBPACK_IMPORTED_MODULE_0__.pushScopeId)("data-v-6a1ec2cd"), n = n(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.popScopeId)(), n; }; var _hoisted_1 = { "class": "card flex flex-row items-center" }; var _hoisted_2 = { "class": "cover-art object-cover" }; var _hoisted_3 = ["src", "alt"]; var _hoisted_4 = { "class": "flex flex-col ml-4" }; var _hoisted_5 = { "class": "font-bold" }; var _hoisted_6 = { "class": "font-md" }; function render(_ctx, _cache, $props, $setup, $data, $options) { return (0,vue__WEBPACK_IMPORTED_MODULE_0__.openBlock)(), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementBlock)("div", _hoisted_1, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_2, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("img", { src: _ctx.song.cover_art_url, alt: _ctx.song.album, height: "64", width: "64" }, null, 8 /* PROPS */ , _hoisted_3)]), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_4, [(0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_5, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.song.title), 1 /* TEXT */ ), (0,vue__WEBPACK_IMPORTED_MODULE_0__.createElementVNode)("div", _hoisted_6, (0,vue__WEBPACK_IMPORTED_MODULE_0__.toDisplayString)(_ctx.song.artist), 1 /* TEXT */ )])]); } /***/ }), /***/ "./resources/js/app.js": /*!*****************************!*\ !*** ./resources/js/app.js ***! \*****************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony import */ var notiwind__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! notiwind */ "./node_modules/notiwind/dist/index.esm.js"); /* harmony import */ var _App_vue__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./App.vue */ "./resources/js/App.vue"); window.Vue = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); var app = Vue.createApp(_App_vue__WEBPACK_IMPORTED_MODULE_1__["default"]); app.use(notiwind__WEBPACK_IMPORTED_MODULE_0__["default"]); //const el = document.getElementById("app"); var vm = app.mount("div#app"); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/App.vue?vue&type=style&index=0&id=f348271a&scoped=true&lang=css": /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/App.vue?vue&type=style&index=0&id=f348271a&scoped=true&lang=css ***! \***********************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.id, "\n.radio[data-v-f348271a] {\n min-width: 1024px;\n max-width: 1128px;\n width: 100%;\n}\n", ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Player.vue?vue&type=style&index=0&id=644d406c&scoped=true&lang=css": /*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Player.vue?vue&type=style&index=0&id=644d406c&scoped=true&lang=css ***! \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.id, "\n.player__container[data-v-644d406c] {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: repeat(4, -webkit-min-content);\n grid-template-rows: repeat(4, min-content);\n gap: 2em 0em;\n grid-template-areas:\n \".\"\n \".\"\n \".\"\n \".\";\n}\n.cover-art__container img[data-v-644d406c] {\n height: 256px;\n width: 256px;\n}\n.controls[data-v-644d406c] {\n align-items: center;\n justify-content: center;\n display: grid;\n grid-template-columns: repeat(3, -webkit-min-content);\n grid-template-columns: repeat(3, min-content);\n grid-template-rows: 1fr;\n gap: 0em 4em;\n grid-template-areas: \". . .\";\n}\nprogress.progress-played[data-v-644d406c],\nprogress.progress-seeking[data-v-644d406c],\nprogress.progress-buffered[data-v-644d406c] {\n height: 24px;\n}\nprogress.progress-played[data-v-644d406c]::-webkit-progress-bar,\nprogress.progress-seeking[data-v-644d406c]::-webkit-progress-bar,\nprogress.progress-buffered[data-v-644d406c]::-webkit-progress-bar,\nprogress.progress-played[data-v-644d406c]::-webkit-progress-value,\nprogress.progress-seeking[data-v-644d406c]::-webkit-progress-value,\nprogress.progress-buffered[data-v-644d406c]::-webkit-progress-value {\n border-radius: 0.75em;\n}\nprogress.progress-played[data-v-644d406c]::-webkit-progress-bar,\nprogress.progress-seeking[data-v-644d406c]::-webkit-progress-bar,\nprogress.progress-buffered[data-v-644d406c]::-webkit-progress-bar {\n padding: 0.25em;\n}\nprogress.progress-played[data-v-644d406c]::-webkit-progress-bar {\n background: transparent;\n}\nprogress.progress-seeking[data-v-644d406c]::-webkit-progress-bar {\n background: transparent;\n}\nprogress.progress-buffered[data-v-644d406c]::-webkit-progress-bar {\n background-color: #ffffff;\n}\nprogress.progress-played[data-v-644d406c]::-webkit-progress-value {\n background-color: #00ff00;\n min-width: 15px;\n}\nprogress.progress-seeking[data-v-644d406c]::-webkit-progress-value {\n background-color: rgba(255, 0, 0, 0.5);\n}\nprogress.progress-buffered[data-v-644d406c]::-webkit-progress-value {\n background-color: rgba(0, 128, 64, 0.25);\n}\n", ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Playlist.vue?vue&type=style&index=0&id=12dd93c6&scoped=true&lang=css": /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Playlist.vue?vue&type=style&index=0&id=12dd93c6&scoped=true&lang=css ***! \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.id, "\n.playlist-list_container[data-v-12dd93c6] {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: repeat(4, -webkit-min-content);\n grid-template-rows: repeat(4, min-content);\n gap: 2em 0em;\n}\n", ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/PlaylistCard.vue?vue&type=style&index=0&id=6a1ec2cd&scoped=true&lang=css": /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/PlaylistCard.vue?vue&type=style&index=0&id=6a1ec2cd&scoped=true&lang=css ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js"); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); // Module ___CSS_LOADER_EXPORT___.push([module.id, "\n.cover-art[data-v-6a1ec2cd] {\n height: 64px;\n width: 64px;\n}\n", ""]); // Exports /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); /***/ }), /***/ "./node_modules/css-loader/dist/runtime/api.js": /*!*****************************************************!*\ !*** ./node_modules/css-loader/dist/runtime/api.js ***! \*****************************************************/ /***/ ((module) => { /* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ // css base code, injected by the css-loader // eslint-disable-next-line func-names module.exports = function (cssWithMappingToString) { var list = []; // return the list of modules as css string list.toString = function toString() { return this.map(function (item) { var content = cssWithMappingToString(item); if (item[2]) { return "@media ".concat(item[2], " {").concat(content, "}"); } return content; }).join(""); }; // import a list of modules into the list // eslint-disable-next-line func-names list.i = function (modules, mediaQuery, dedupe) { if (typeof modules === "string") { // eslint-disable-next-line no-param-reassign modules = [[null, modules, ""]]; } var alreadyImportedModules = {}; if (dedupe) { for (var i = 0; i < this.length; i++) { // eslint-disable-next-line prefer-destructuring var id = this[i][0]; if (id != null) { alreadyImportedModules[id] = true; } } } for (var _i = 0; _i < modules.length; _i++) { var item = [].concat(modules[_i]); if (dedupe && alreadyImportedModules[item[0]]) { // eslint-disable-next-line no-continue continue; } if (mediaQuery) { if (!item[2]) { item[2] = mediaQuery; } else { item[2] = "".concat(mediaQuery, " and ").concat(item[2]); } } list.push(item); } }; return list; }; /***/ }), /***/ "./resources/css/app.css": /*!*******************************!*\ !*** ./resources/css/app.css ***! \*******************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin /***/ }), /***/ "./node_modules/notiwind/dist/index.esm.js": /*!*************************************************!*\ !*** ./node_modules/notiwind/dist/index.esm.js ***! \*************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (/* binding */ index), /* harmony export */ "notify": () => (/* binding */ notify) /* harmony export */ }); /* harmony import */ var vue__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! vue */ "./node_modules/vue/dist/vue.esm-bundler.js"); function mitt(n){return {all:n=n||new Map,on:function(t,e){var i=n.get(t);i?i.push(e):n.set(t,[e]);},off:function(t,e){var i=n.get(t);i&&(e?i.splice(i.indexOf(e)>>>0,1):n.set(t,[]));},emit:function(t,e){var i=n.get(t);i&&i.slice().map(function(n){n(e);}),(i=n.get("*"))&&i.slice().map(function(n){n(t,e);});}}} const events = mitt(); var script$1 = { inject: { context: { default: { group: '', position: 'top' } }, }, props: { maxNotifications: { type: Number, default: 10, }, enter: { type: String, default: '' }, enterFrom: { type: String, default: '' }, enterTo: { type: String, default: '' }, leave: { type: String, default: '' }, leaveFrom: { type: String, default: '' }, leaveTo: { type: String, default: '' }, move: { type: String, default: '' }, moveDelay: { type: String, default: '' } }, emits: ['close'], data() { return { notifications: [], } }, computed: { sortedNotifications() { if (this.context.position === 'bottom') { return [...this.notificationsByGroup] .slice(0, this.maxNotifications) } // if not bottom reverse the array return [...this.notificationsByGroup] .reverse() .slice(0, this.maxNotifications) }, notificationsByGroup() { return this.notifications.filter((n) => n.group === this.context.group) }, }, mounted() { events.on('notify', this.add); }, methods: { add({ notification, timeout}) { const DEFAULT_TIMEOUT = 3000; this.notifications.push(notification); setTimeout(() => { this.remove(notification.id); }, timeout || DEFAULT_TIMEOUT); }, close(id) { this.$emit('close'); this.remove(id); }, remove(id) { this.notifications.splice(this.notifications.findIndex(n => n.id === id), 1); } }, render() { return (0,vue__WEBPACK_IMPORTED_MODULE_0__.h)( vue__WEBPACK_IMPORTED_MODULE_0__.TransitionGroup, { 'enter-active-class': this.notificationsByGroup.length > 1 ? [this.enter, this.moveDelay].join(' ') : this.enter, 'enter-from-class': this.enterFrom, 'enter-to-class': this.enterTo, 'leave-active-class': this.leave, 'leave-from-class': this.leaveFrom, 'leave-to-class': this.leaveTo, 'move-class': this.move, }, { default: () => { return this.$slots.default({ notifications: this.sortedNotifications, close: this.close, }) } } ) }, }; script$1.__file = "src/Notification.vue"; var script = { provide() { return { ['context']: { group: this.group, position: this.position }, } }, props: { group: { type: String, default: '', }, position: { type: String, default: 'top', validator(value) { return ['top', 'bottom'].includes(value) }, }, }, render() { return this.$slots.default({ group: this.group, }) }, }; script.__file = "src/NotificationGroup.vue"; let count = 0; const generateId = () => { return count++ }; const notify = (notification, timeout) => { notification.id = generateId(); notification.group = notification.group || ''; events.emit('notify', { notification, timeout }); }; /* eslint-disable vue/component-definition-name-casing */ function install(app) { app.config.globalProperties.$notify = notify; app.component('Notification', script$1); app.component('NotificationGroup', script); // Compatibility with the old component names app.component('notification', script$1); app.component('notificationGroup', script); } var index = { install, }; /***/ }), /***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/App.vue?vue&type=style&index=0&id=f348271a&scoped=true&lang=css": /*!***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/App.vue?vue&type=style&index=0&id=f348271a&scoped=true&lang=css ***! \***************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_App_vue_vue_type_style_index_0_id_f348271a_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!../../node_modules/vue-loader/dist/stylePostLoader.js!../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./App.vue?vue&type=style&index=0&id=f348271a&scoped=true&lang=css */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/App.vue?vue&type=style&index=0&id=f348271a&scoped=true&lang=css"); var options = {}; options.insert = "head"; options.singleton = false; var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_App_vue_vue_type_style_index_0_id_f348271a_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"], options); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_App_vue_vue_type_style_index_0_id_f348271a_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); /***/ }), /***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Player.vue?vue&type=style&index=0&id=644d406c&scoped=true&lang=css": /*!*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Player.vue?vue&type=style&index=0&id=644d406c&scoped=true&lang=css ***! \*****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Player_vue_vue_type_style_index_0_id_644d406c_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Player.vue?vue&type=style&index=0&id=644d406c&scoped=true&lang=css */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Player.vue?vue&type=style&index=0&id=644d406c&scoped=true&lang=css"); var options = {}; options.insert = "head"; options.singleton = false; var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Player_vue_vue_type_style_index_0_id_644d406c_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"], options); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Player_vue_vue_type_style_index_0_id_644d406c_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); /***/ }), /***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Playlist.vue?vue&type=style&index=0&id=12dd93c6&scoped=true&lang=css": /*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Playlist.vue?vue&type=style&index=0&id=12dd93c6&scoped=true&lang=css ***! \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Playlist_vue_vue_type_style_index_0_id_12dd93c6_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./Playlist.vue?vue&type=style&index=0&id=12dd93c6&scoped=true&lang=css */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/Playlist.vue?vue&type=style&index=0&id=12dd93c6&scoped=true&lang=css"); var options = {}; options.insert = "head"; options.singleton = false; var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Playlist_vue_vue_type_style_index_0_id_12dd93c6_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"], options); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_Playlist_vue_vue_type_style_index_0_id_12dd93c6_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); /***/ }), /***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/PlaylistCard.vue?vue&type=style&index=0&id=6a1ec2cd&scoped=true&lang=css": /*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/PlaylistCard.vue?vue&type=style&index=0&id=6a1ec2cd&scoped=true&lang=css ***! \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { __webpack_require__.r(__webpack_exports__); /* harmony export */ __webpack_require__.d(__webpack_exports__, { /* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) /* harmony export */ }); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); /* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_PlaylistCard_vue_vue_type_style_index_0_id_6a1ec2cd_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!../../../node_modules/vue-loader/dist/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!../../../node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./PlaylistCard.vue?vue&type=style&index=0&id=6a1ec2cd&scoped=true&lang=css */ "./node_modules/css-loader/dist/cjs.js??clonedRuleSet-9.use[1]!./node_modules/vue-loader/dist/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-9.use[2]!./node_modules/vue-loader/dist/index.js??ruleSet[0].use[0]!./resources/js/Components/PlaylistCard.vue?vue&type=style&index=0&id=6a1ec2cd&scoped=true&lang=css"); var options = {}; options.insert = "head"; options.singleton = false; var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_PlaylistCard_vue_vue_type_style_index_0_id_6a1ec2cd_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"], options); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_css_loader_dist_cjs_js_clonedRuleSet_9_use_1_node_modules_vue_loader_dist_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_9_use_2_node_modules_vue_loader_dist_index_js_ruleSet_0_use_0_PlaylistCard_vue_vue_type_style_index_0_id_6a1ec2cd_scoped_true_lang_css__WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); /***/ }), /***/ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js": /*!****************************************************************************!*\ !*** ./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js ***! \****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var isOldIE = function isOldIE() { var memo; return function memorize() { if (typeof memo === 'undefined') { // Test for IE <= 9 as proposed by Browserhacks // @see http://browserhacks.com/#hack-e71d8692f65334173fee715c222cb805 // Tests for existence of standard globals is to allow style-loader // to operate correctly into non-standard environments // @see https://github.com/webpack-contrib/style-loader/issues/177 memo = Boolean(window && document && document.all && !window.atob); } return memo; }; }(); var getTarget = function getTarget() { var memo = {}; return function memorize(target) { if (typeof memo[target] === 'undefined') { var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) { try { // This will throw an exception if access to iframe is blocked // due to cross-origin restrictions styleTarget = styleTarget.contentDocument.head; } catch (e) { // istanbul ignore next styleTarget = null; } } memo[target] = styleTarget; } return memo[target]; }; }(); var stylesInDom = []; function getIndexByIdentifier(identifier) { var result = -1; for (var i = 0; i < stylesInDom.length; i++) { if (stylesInDom[i].identifier === identifier) { result = i; break; } } return result; } function modulesToDom(list, options) { var idCountMap = {}; var identifiers = []; for (var i = 0; i < list.length; i++) { var item = list[i]; var id = options.base ? item[0] + options.base : item[0]; var count = idCountMap[id] || 0; var identifier = "".concat(id, " ").concat(count); idCountMap[id] = count + 1; var index = getIndexByIdentifier(identifier); var obj = { css: item[1], media: item[2], sourceMap: item[3] }; if (index !== -1) { stylesInDom[index].references++; stylesInDom[index].updater(obj); } else { stylesInDom.push({ identifier: identifier, updater: addStyle(obj, options), references: 1 }); } identifiers.push(identifier); } return identifiers; } function insertStyleElement(options) { var style = document.createElement('style'); var attributes = options.attributes || {}; if (typeof attributes.nonce === 'undefined') { var nonce = true ? __webpack_require__.nc : 0; if (nonce) { attributes.nonce = nonce; } } Object.keys(attributes).forEach(function (key) { style.setAttribute(key, attributes[key]); }); if (typeof options.insert === 'function') { options.insert(style); } else { var target = getTarget(options.insert || 'head'); if (!target) { throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid."); } target.appendChild(style); } return style; } function removeStyleElement(style) { // istanbul ignore if if (style.parentNode === null) { return false; } style.parentNode.removeChild(style); } /* istanbul ignore next */ var replaceText = function replaceText() { var textStore = []; return function replace(index, replacement) { textStore[index] = replacement; return textStore.filter(Boolean).join('\n'); }; }(); function applyToSingletonTag(style, index, remove, obj) { var css = remove ? '' : obj.media ? "@media ".concat(obj.media, " {").concat(obj.css, "}") : obj.css; // For old IE /* istanbul ignore if */ if (style.styleSheet) { style.styleSheet.cssText = replaceText(index, css); } else { var cssNode = document.createTextNode(css); var childNodes = style.childNodes; if (childNodes[index]) { style.removeChild(childNodes[index]); } if (childNodes.length) { style.insertBefore(cssNode, childNodes[index]); } else { style.appendChild(cssNode); } } } function applyToTag(style, options, obj) { var css = obj.css; var media = obj.media; var sourceMap = obj.sourceMap; if (media) { style.setAttribute('media', media); } else { style.removeAttribute('media'); } if (sourceMap && typeof btoa !== 'undefined') { css += "\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), " */"); } // For old IE /* istanbul ignore if */ if (style.styleSheet) { style.styleSheet.cssText = css; } else { while (style.firstChild) { style.removeChild(style.firstChild); } style.appendChild(document.createTextNode(css)); } } var singleton = null; var singletonCounter = 0; function addStyle(obj, options) { var style; var update; var remove; if (options.singleton) { var styleIndex = singletonCounter++; style = singleton || (singleton = insertStyleElement(options)); update = applyToSingletonTag.bind(null, style, styleIndex, false); remove = applyToSingletonTag.bind(null, style, styleIndex, true); } else { style = insertStyleElement(options); update = applyToTag.bind(null, style, options); remove = function remove() { removeStyleElement(style); }; } update(obj); return function updateStyle(newObj) { if (newObj) { if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) { return; } update(obj = newObj); } else { remove(); } }; } module.exports = function (list, options) { options = options || {}; // Force single-tag solution on IE6-9, which has a hard limit on the # of