{"version":3,"file":"player_component-Dfiyi1O2.js","sources":["../../../node_modules/shave/dist/shave.es.js","../../../app/components/library/follow_box_component/follow_box_component.js","../../../app/components/library/offline_player/player_component/player_component.js"],"sourcesContent":["/**\n shave - Shave is a javascript plugin that truncates multi-line text within a html element based on set max height\n @version v2.5.10\n @link https://github.com/yowainwright/shave#readme\n @author Jeff Wainwright <yowainwright@gmail.com> (jeffry.in)\n @license MIT\n**/\nfunction shave(target, maxHeight) {\n var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (typeof maxHeight === 'undefined' || isNaN(maxHeight)) throw Error('maxHeight is required');\n var els = typeof target === 'string' ? document.querySelectorAll(target) : target;\n if (!els) return;\n var character = opts.character || '…';\n var classname = opts.classname || 'js-shave';\n var spaces = typeof opts.spaces === 'boolean' ? opts.spaces : true;\n var charclassname = opts.charclassname || 'js-shave-char';\n var charHtml = \"<span class=\\\"\".concat(charclassname, \"\\\">\").concat(character, \"</span>\");\n if (!('length' in els)) els = [els];\n\n for (var i = 0; i < els.length; i += 1) {\n var el = els[i];\n var styles = el.style;\n var span = el.querySelector(\".\".concat(classname));\n var textProp = el.textContent === undefined ? 'innerText' : 'textContent'; // If element text has already been shaved\n\n if (span) {\n // Remove the ellipsis to recapture the original text\n el.removeChild(el.querySelector(\".\".concat(charclassname)));\n el[textProp] = el[textProp]; // eslint-disable-line\n // nuke span, recombine text\n }\n\n var fullText = el[textProp];\n var words = spaces ? fullText.split(' ') : fullText; // If 0 or 1 words, we're done\n\n if (words.length < 2) continue; // Temporarily remove any CSS height for text height calculation\n\n var heightStyle = styles.height;\n styles.height = 'auto';\n var maxHeightStyle = styles.maxHeight;\n styles.maxHeight = 'none'; // If already short enough, we're done\n\n if (el.offsetHeight <= maxHeight) {\n styles.height = heightStyle;\n styles.maxHeight = maxHeightStyle;\n continue;\n } // Binary search for number of words which can fit in allotted height\n\n\n var max = words.length - 1;\n var min = 0;\n var pivot = void 0;\n\n while (min < max) {\n pivot = min + max + 1 >> 1; // eslint-disable-line no-bitwise\n\n el[textProp] = spaces ? words.slice(0, pivot).join(' ') : words.slice(0, pivot);\n el.insertAdjacentHTML('beforeend', charHtml);\n if (el.offsetHeight > maxHeight) max = pivot - 1;else min = pivot;\n }\n\n el[textProp] = spaces ? words.slice(0, max).join(' ') : words.slice(0, max);\n el.insertAdjacentHTML('beforeend', charHtml);\n var diff = spaces ? \" \".concat(words.slice(max).join(' ')) : words.slice(max);\n var shavedText = document.createTextNode(diff);\n var elWithShavedText = document.createElement('span');\n elWithShavedText.classList.add(classname);\n elWithShavedText.style.display = 'none';\n elWithShavedText.appendChild(shavedText);\n el.insertAdjacentElement('beforeend', elWithShavedText);\n styles.height = heightStyle;\n styles.maxHeight = maxHeightStyle;\n }\n}\n\nexport default shave;\n","import ApplicationController from 'modules/application_controller';\nimport shave from 'shave';\n\nconst TITLE_LINES = 2;\n\nexport default class extends ApplicationController {\n static get targets() {\n return ['title'];\n }\n\n initialize() {\n this.props = {\n originalTitle: '',\n };\n }\n\n connect() {\n this.originalTitle = this.titleTarget.textContent;\n this.shaveTitle();\n }\n\n shaveTitle() {\n this.titleTarget.textContent = this.originalTitle;\n shave(this.titleTarget, 19 * TITLE_LINES, { spaces: false });\n }\n\n get originalTitle() {\n return this.props.originalTitle;\n }\n\n set originalTitle(value) {\n this.props.originalTitle = value;\n }\n}\n","import ApplicationController from 'modules/application_controller';\nimport Player from 'modules/player/player';\n\nexport default class extends ApplicationController {\n initialize() {}\n\n connect() {\n this.initPlayer();\n }\n\n initPlayer() {\n if (this.player) {\n return;\n }\n\n this.player = new Player(this.element.id, this.playerOptions);\n }\n\n get playerOptions() {\n return { offline: true };\n }\n}\n"],"names":["shave","target","maxHeight","opts","els","character","classname","spaces","charclassname","charHtml","i","el","styles","span","textProp","fullText","words","heightStyle","maxHeightStyle","max","min","pivot","diff","shavedText","elWithShavedText","TITLE_LINES","LibraryFollowBoxComponent","ApplicationController","value","LibraryOfflinePlayerPlayerComponent","Player"],"mappings":"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","x_google_ignoreList":[0]}