bootstrap-italia 2.8.5 → 2.8.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/dist/css/bootstrap-italia.min.css +1 -1
  2. package/dist/js/bootstrap-italia.bundle.min.js +21 -21
  3. package/dist/js/bootstrap-italia.min.js +21 -21
  4. package/dist/plugins/backToTop.js +1 -1
  5. package/dist/plugins/backToTop.js.map +1 -1
  6. package/dist/plugins/cookiebar.js +12 -0
  7. package/dist/plugins/cookiebar.js.map +1 -1
  8. package/dist/plugins/fonts-loader.js +3 -0
  9. package/dist/plugins/fonts-loader.js.map +1 -1
  10. package/dist/plugins/form-validate.js +1 -10
  11. package/dist/plugins/form-validate.js.map +1 -1
  12. package/dist/plugins/history-back.js +3 -1
  13. package/dist/plugins/history-back.js.map +1 -1
  14. package/dist/plugins/init.js +1 -1
  15. package/dist/plugins/init.js.map +1 -1
  16. package/dist/plugins/input-number.js +16 -50
  17. package/dist/plugins/input-number.js.map +1 -1
  18. package/dist/plugins/input-password.js +0 -39
  19. package/dist/plugins/input-password.js.map +1 -1
  20. package/dist/plugins/input-search-autocomplete.js +14 -6
  21. package/dist/plugins/input-search-autocomplete.js.map +1 -1
  22. package/dist/plugins/input.js +8 -6
  23. package/dist/plugins/input.js.map +1 -1
  24. package/dist/plugins/masonry.js +3 -6
  25. package/dist/plugins/masonry.js.map +1 -1
  26. package/dist/plugins/navscroll.js +3 -0
  27. package/dist/plugins/navscroll.js.map +1 -1
  28. package/dist/plugins/select-autocomplete.js +3 -0
  29. package/dist/plugins/select-autocomplete.js.map +1 -1
  30. package/dist/plugins/sticky.js +4 -1
  31. package/dist/plugins/sticky.js.map +1 -1
  32. package/dist/plugins/track-focus.js +3 -0
  33. package/dist/plugins/track-focus.js.map +1 -1
  34. package/dist/plugins/upload-dragdrop.js +8 -6
  35. package/dist/plugins/upload-dragdrop.js.map +1 -1
  36. package/dist/plugins/util/device.js +3 -1
  37. package/dist/plugins/util/device.js.map +1 -1
  38. package/dist/plugins/util/on-document-scroll.js +3 -0
  39. package/dist/plugins/util/on-document-scroll.js.map +1 -1
  40. package/dist/plugins/util/pageScroll.js +15 -7
  41. package/dist/plugins/util/pageScroll.js.map +1 -1
  42. package/dist/plugins/util/tween.js +3 -0
  43. package/dist/plugins/util/tween.js.map +1 -1
  44. package/dist/plugins/util/youtube-video.js +12 -0
  45. package/dist/plugins/util/youtube-video.js.map +1 -1
  46. package/dist/plugins/videoplayer.js +3 -1
  47. package/dist/plugins/videoplayer.js.map +1 -1
  48. package/dist/version.js +1 -1
  49. package/dist/version.js.map +1 -1
  50. package/package.json +1 -1
  51. package/src/js/plugins/backToTop.js +1 -1
  52. package/src/js/plugins/cookiebar.js +12 -0
  53. package/src/js/plugins/fonts-loader.js +3 -0
  54. package/src/js/plugins/form-validate.js +1 -13
  55. package/src/js/plugins/history-back.js +3 -1
  56. package/src/js/plugins/init.js +1 -1
  57. package/src/js/plugins/input-number.js +16 -51
  58. package/src/js/plugins/input-password.js +0 -39
  59. package/src/js/plugins/input-search-autocomplete.js +14 -6
  60. package/src/js/plugins/input.js +8 -6
  61. package/src/js/plugins/masonry.js +3 -6
  62. package/src/js/plugins/navscroll.js +3 -0
  63. package/src/js/plugins/select-autocomplete.js +3 -0
  64. package/src/js/plugins/sticky.js +4 -1
  65. package/src/js/plugins/track-focus.js +3 -0
  66. package/src/js/plugins/upload-dragdrop.js +8 -6
  67. package/src/js/plugins/util/device.js +3 -1
  68. package/src/js/plugins/util/on-document-scroll.js +3 -0
  69. package/src/js/plugins/util/pageScroll.js +15 -7
  70. package/src/js/plugins/util/tween.js +3 -0
  71. package/src/js/plugins/util/youtube-video.js +12 -0
  72. package/src/js/plugins/videoplayer.js +3 -1
  73. package/src/js/version.js +1 -1
  74. package/src/scss/custom/_version.scss +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"upload-dragdrop.js","sources":["../../src/js/plugins/upload-dragdrop.js"],"sourcesContent":["import BaseComponent from 'bootstrap/js/src/base-component.js'\n\nimport EventHandler from 'bootstrap/js/src/dom/event-handler'\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine'\n\nimport ProgressDonut from './progress-donut'\n\nconst NAME = 'upload'\nconst DATA_KEY = 'bs.upload'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_DRAG = `drag`\nconst EVENT_DRAG_START = `dragstart`\nconst EVENT_DRAG_END = `dragend`\nconst EVENT_DRAG_OVER = `dragover`\nconst EVENT_DRAG_ENTER = `dragenter`\nconst EVENT_DRAG_LEAVE = `dragleave`\nconst EVENT_DROP = `drop`\n\nconst CLASS_NAME_SUCCESS = 'success'\nconst CLASS_NAME_DRAGOVER = 'dragover'\nconst CLASS_NAME_LOADING = 'loading'\n\nconst SELECTOR_FORM = '[data-bs-upload-dragdrop]'\nconst SELECTOR_DONUT = '[data-bs-progress-donut]'\n\nclass UploadDragDrop extends BaseComponent {\n constructor(element) {\n super(element)\n\n const donutElement = SelectorEngine.findOne(SELECTOR_DONUT, this._element)\n if (donutElement) {\n this._donut = ProgressDonut.getOrCreateInstance(donutElement)\n }\n\n this._bindEvents()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n progress(value) {\n this._donut.set(value)\n }\n\n start() {\n this.reset()\n this._element.classList.add(CLASS_NAME_LOADING)\n }\n\n success() {\n this._element.classList.remove(CLASS_NAME_LOADING)\n this._element.classList.add(CLASS_NAME_SUCCESS)\n }\n\n reset() {\n this._element.classList.remove(CLASS_NAME_LOADING)\n this._element.classList.remove(CLASS_NAME_SUCCESS)\n this._donut.set(0)\n }\n\n dispose() {\n this._donut.dispose()\n\n super.dispose()\n }\n\n // Private\n _bindEvents() {\n EventHandler.on(this._element, EVENT_DRAG, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_START, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_END, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_OVER, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_ENTER, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_LEAVE, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DROP, (evt) => this._preventEvent(evt))\n\n EventHandler.on(this._element, EVENT_DRAG_OVER, () => this._dropIn())\n EventHandler.on(this._element, EVENT_DRAG_ENTER, () => this._dropIn())\n EventHandler.on(this._element, EVENT_DRAG_LEAVE, () => this._dropOut())\n EventHandler.on(this._element, EVENT_DRAG_END, () => this._dropOut())\n EventHandler.on(this._element, EVENT_DROP, () => this._dropOut())\n\n EventHandler.on(this._element, EVENT_DROP, () => this._drop())\n }\n _preventEvent(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n }\n\n _dropIn() {\n if (!this._isSuccess()) {\n this._element.classList.add(CLASS_NAME_DRAGOVER)\n }\n }\n _dropOut() {\n if (!this._isSuccess()) {\n this._element.classList.remove(CLASS_NAME_DRAGOVER)\n }\n }\n _drop() {\n if (!this._isSuccess()) {\n this.start()\n }\n }\n\n _isSuccess() {\n return this._element.classList.contains(CLASS_NAME_SUCCESS)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n/*SelectorEngine.find(SELECTOR_FORM).forEach((form) => {\n UploadDragDrop.getOrCreateInstance(form)\n})*/\n\nconst createInput = (element) => {\n let found = element.matches && element.matches(SELECTOR_FORM) ? element : element.closest ? element.closest(SELECTOR_FORM) : null\n if (found) {\n UploadDragDrop.getOrCreateInstance(found)\n }\n return null\n}\n\ndocument.addEventListener('dragenter', function (evt) {\n createInput(evt.target)\n})\nEventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM + ' label', function () {\n createInput(this)\n})\n\nexport default UploadDragDrop\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upload-dragdrop.js","sources":["../../src/js/plugins/upload-dragdrop.js"],"sourcesContent":["import BaseComponent from 'bootstrap/js/src/base-component.js'\n\nimport EventHandler from 'bootstrap/js/src/dom/event-handler'\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine'\n\nimport ProgressDonut from './progress-donut'\n\nconst NAME = 'upload'\nconst DATA_KEY = 'bs.upload'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\n\nconst EVENT_DRAG = `drag`\nconst EVENT_DRAG_START = `dragstart`\nconst EVENT_DRAG_END = `dragend`\nconst EVENT_DRAG_OVER = `dragover`\nconst EVENT_DRAG_ENTER = `dragenter`\nconst EVENT_DRAG_LEAVE = `dragleave`\nconst EVENT_DROP = `drop`\n\nconst CLASS_NAME_SUCCESS = 'success'\nconst CLASS_NAME_DRAGOVER = 'dragover'\nconst CLASS_NAME_LOADING = 'loading'\n\nconst SELECTOR_FORM = '[data-bs-upload-dragdrop]'\nconst SELECTOR_DONUT = '[data-bs-progress-donut]'\n\nclass UploadDragDrop extends BaseComponent {\n constructor(element) {\n super(element)\n\n const donutElement = SelectorEngine.findOne(SELECTOR_DONUT, this._element)\n if (donutElement) {\n this._donut = ProgressDonut.getOrCreateInstance(donutElement)\n }\n\n this._bindEvents()\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Public\n progress(value) {\n this._donut.set(value)\n }\n\n start() {\n this.reset()\n this._element.classList.add(CLASS_NAME_LOADING)\n }\n\n success() {\n this._element.classList.remove(CLASS_NAME_LOADING)\n this._element.classList.add(CLASS_NAME_SUCCESS)\n }\n\n reset() {\n this._element.classList.remove(CLASS_NAME_LOADING)\n this._element.classList.remove(CLASS_NAME_SUCCESS)\n this._donut.set(0)\n }\n\n dispose() {\n this._donut.dispose()\n\n super.dispose()\n }\n\n // Private\n _bindEvents() {\n EventHandler.on(this._element, EVENT_DRAG, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_START, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_END, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_OVER, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_ENTER, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DRAG_LEAVE, (evt) => this._preventEvent(evt))\n EventHandler.on(this._element, EVENT_DROP, (evt) => this._preventEvent(evt))\n\n EventHandler.on(this._element, EVENT_DRAG_OVER, () => this._dropIn())\n EventHandler.on(this._element, EVENT_DRAG_ENTER, () => this._dropIn())\n EventHandler.on(this._element, EVENT_DRAG_LEAVE, () => this._dropOut())\n EventHandler.on(this._element, EVENT_DRAG_END, () => this._dropOut())\n EventHandler.on(this._element, EVENT_DROP, () => this._dropOut())\n\n EventHandler.on(this._element, EVENT_DROP, () => this._drop())\n }\n _preventEvent(evt) {\n evt.preventDefault()\n evt.stopPropagation()\n }\n\n _dropIn() {\n if (!this._isSuccess()) {\n this._element.classList.add(CLASS_NAME_DRAGOVER)\n }\n }\n _dropOut() {\n if (!this._isSuccess()) {\n this._element.classList.remove(CLASS_NAME_DRAGOVER)\n }\n }\n _drop() {\n if (!this._isSuccess()) {\n this.start()\n }\n }\n\n _isSuccess() {\n return this._element.classList.contains(CLASS_NAME_SUCCESS)\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\n/*SelectorEngine.find(SELECTOR_FORM).forEach((form) => {\n UploadDragDrop.getOrCreateInstance(form)\n})*/\n\nconst createInput = (element) => {\n let found = element.matches && element.matches(SELECTOR_FORM) ? element : element.closest ? element.closest(SELECTOR_FORM) : null\n if (found) {\n UploadDragDrop.getOrCreateInstance(found)\n }\n return null\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('dragenter', function (evt) {\n createInput(evt.target)\n })\n EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_FORM + ' label', function () {\n createInput(this)\n })\n}\n\nexport default UploadDragDrop\n"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@ const MEDIA_PHONE = ''
4
4
  const MEDIA_DESKTOP = ''*/
5
5
 
6
6
  const isScreenMobile = () => {
7
- return window.matchMedia(MEDIA_MOBILE).matches
7
+ if (typeof window !== 'undefined') {
8
+ return window.matchMedia(MEDIA_MOBILE).matches
9
+ }
8
10
  };
9
11
 
10
12
  export { isScreenMobile };
@@ -1 +1 @@
1
- {"version":3,"file":"device.js","sources":["../../../src/js/plugins/util/device.js"],"sourcesContent":["const MEDIA_MOBILE = '(max-width: 991px)'\n/*const MEDIA_TABLET = ''\nconst MEDIA_PHONE = ''\nconst MEDIA_DESKTOP = ''*/\n\nconst isScreenMobile = () => {\n return window.matchMedia(MEDIA_MOBILE).matches\n}\n\nexport { isScreenMobile }\n"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,qBAAoB;AACzC;AACA;AACA;AACA;AACK,MAAC,cAAc,GAAG,MAAM;AAC7B,EAAE,OAAO,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO;AAChD;;;;"}
1
+ {"version":3,"file":"device.js","sources":["../../../src/js/plugins/util/device.js"],"sourcesContent":["const MEDIA_MOBILE = '(max-width: 991px)'\n/*const MEDIA_TABLET = ''\nconst MEDIA_PHONE = ''\nconst MEDIA_DESKTOP = ''*/\n\nconst isScreenMobile = () => {\n if (typeof window !== 'undefined') {\n return window.matchMedia(MEDIA_MOBILE).matches\n }\n}\n\nexport { isScreenMobile }\n"],"names":[],"mappings":"AAAA,MAAM,YAAY,GAAG,qBAAoB;AACzC;AACA;AACA;AACA;AACK,MAAC,cAAc,GAAG,MAAM;AAC7B,EAAE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE;AACrC,IAAI,OAAO,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO;AAClD,GAAG;AACH;;;;"}
@@ -25,6 +25,9 @@ const removeCallBack = (id) => {
25
25
  };
26
26
 
27
27
  const onDocumentScroll = (callback) => {
28
+ if (typeof document === 'undefined') {
29
+ return
30
+ }
28
31
  if (!callbacks.length) {
29
32
  document.addEventListener('scroll', (evt) => {
30
33
  if (!ticking) {
@@ -1 +1 @@
1
- {"version":3,"file":"on-document-scroll.js","sources":["../../../src/js/plugins/util/on-document-scroll.js"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid'\n\nlet ticking = false\nlet callbacks = []\n\nclass ScrollCallback {\n constructor(id, callback) {\n this.id = id\n this._callback = callback\n }\n\n //Public\n dispose() {\n removeCallBack(this.id)\n }\n\n //Private\n _execute(data) {\n this._callback(data)\n }\n}\n\nconst removeCallBack = (id) => {\n callbacks = callbacks.filter((cb) => cb.id !== id)\n}\n\nconst onDocumentScroll = (callback) => {\n if (!callbacks.length) {\n document.addEventListener('scroll', (evt) => {\n if (!ticking) {\n window.requestAnimationFrame(() => {\n callbacks.forEach((cbObj) => cbObj.cb._execute(evt))\n ticking = false\n })\n ticking = true\n }\n })\n }\n\n if (typeof callback === 'function') {\n const newCb = new ScrollCallback(uuidv4(), callback)\n callbacks.push({\n id: newCb.id,\n cb: newCb,\n })\n return newCb\n }\n\n console.error('[onDocumentScroll] the provided data has to be of type function')\n return null\n}\n\nexport default onDocumentScroll\n"],"names":["uuidv4"],"mappings":";;AAEA,IAAI,OAAO,GAAG,MAAK;AACnB,IAAI,SAAS,GAAG,GAAE;AAClB;AACA,MAAM,cAAc,CAAC;AACrB,EAAE,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE;AAC5B,IAAI,IAAI,CAAC,EAAE,GAAG,GAAE;AAChB,IAAI,IAAI,CAAC,SAAS,GAAG,SAAQ;AAC7B,GAAG;AACH;AACA;AACA,EAAE,OAAO,GAAG;AACZ,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,EAAC;AAC3B,GAAG;AACH;AACA;AACA,EAAE,QAAQ,CAAC,IAAI,EAAE;AACjB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAC;AACxB,GAAG;AACH,CAAC;AACD;AACA,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK;AAC/B,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAC;AACpD,EAAC;AACD;AACK,MAAC,gBAAgB,GAAG,CAAC,QAAQ,KAAK;AACvC,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AACzB,IAAI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK;AACjD,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,MAAM,CAAC,qBAAqB,CAAC,MAAM;AAC3C,UAAU,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC;AAC9D,UAAU,OAAO,GAAG,MAAK;AACzB,SAAS,EAAC;AACV,QAAQ,OAAO,GAAG,KAAI;AACtB,OAAO;AACP,KAAK,EAAC;AACN,GAAG;AACH;AACA,EAAE,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACtC,IAAI,MAAM,KAAK,GAAG,IAAI,cAAc,CAACA,EAAM,EAAE,EAAE,QAAQ,EAAC;AACxD,IAAI,SAAS,CAAC,IAAI,CAAC;AACnB,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE;AAClB,MAAM,EAAE,EAAE,KAAK;AACf,KAAK,EAAC;AACN,IAAI,OAAO,KAAK;AAChB,GAAG;AACH;AACA,EAAE,OAAO,CAAC,KAAK,CAAC,iEAAiE,EAAC;AAClF,EAAE,OAAO,IAAI;AACb;;;;"}
1
+ {"version":3,"file":"on-document-scroll.js","sources":["../../../src/js/plugins/util/on-document-scroll.js"],"sourcesContent":["import { v4 as uuidv4 } from 'uuid'\n\nlet ticking = false\nlet callbacks = []\n\nclass ScrollCallback {\n constructor(id, callback) {\n this.id = id\n this._callback = callback\n }\n\n //Public\n dispose() {\n removeCallBack(this.id)\n }\n\n //Private\n _execute(data) {\n this._callback(data)\n }\n}\n\nconst removeCallBack = (id) => {\n callbacks = callbacks.filter((cb) => cb.id !== id)\n}\n\nconst onDocumentScroll = (callback) => {\n if (typeof document === 'undefined') {\n return\n }\n if (!callbacks.length) {\n document.addEventListener('scroll', (evt) => {\n if (!ticking) {\n window.requestAnimationFrame(() => {\n callbacks.forEach((cbObj) => cbObj.cb._execute(evt))\n ticking = false\n })\n ticking = true\n }\n })\n }\n\n if (typeof callback === 'function') {\n const newCb = new ScrollCallback(uuidv4(), callback)\n callbacks.push({\n id: newCb.id,\n cb: newCb,\n })\n return newCb\n }\n\n console.error('[onDocumentScroll] the provided data has to be of type function')\n return null\n}\n\nexport default onDocumentScroll\n"],"names":["uuidv4"],"mappings":";;AAEA,IAAI,OAAO,GAAG,MAAK;AACnB,IAAI,SAAS,GAAG,GAAE;AAClB;AACA,MAAM,cAAc,CAAC;AACrB,EAAE,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE;AAC5B,IAAI,IAAI,CAAC,EAAE,GAAG,GAAE;AAChB,IAAI,IAAI,CAAC,SAAS,GAAG,SAAQ;AAC7B,GAAG;AACH;AACA;AACA,EAAE,OAAO,GAAG;AACZ,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,EAAC;AAC3B,GAAG;AACH;AACA;AACA,EAAE,QAAQ,CAAC,IAAI,EAAE;AACjB,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,EAAC;AACxB,GAAG;AACH,CAAC;AACD;AACA,MAAM,cAAc,GAAG,CAAC,EAAE,KAAK;AAC/B,EAAE,SAAS,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAC;AACpD,EAAC;AACD;AACK,MAAC,gBAAgB,GAAG,CAAC,QAAQ,KAAK;AACvC,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI,MAAM;AACV,GAAG;AACH,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;AACzB,IAAI,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,GAAG,KAAK;AACjD,MAAM,IAAI,CAAC,OAAO,EAAE;AACpB,QAAQ,MAAM,CAAC,qBAAqB,CAAC,MAAM;AAC3C,UAAU,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAC;AAC9D,UAAU,OAAO,GAAG,MAAK;AACzB,SAAS,EAAC;AACV,QAAQ,OAAO,GAAG,KAAI;AACtB,OAAO;AACP,KAAK,EAAC;AACN,GAAG;AACH;AACA,EAAE,IAAI,OAAO,QAAQ,KAAK,UAAU,EAAE;AACtC,IAAI,MAAM,KAAK,GAAG,IAAI,cAAc,CAACA,EAAM,EAAE,EAAE,QAAQ,EAAC;AACxD,IAAI,SAAS,CAAC,IAAI,CAAC;AACnB,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE;AAClB,MAAM,EAAE,EAAE,KAAK;AACf,KAAK,EAAC;AACN,IAAI,OAAO,KAAK;AAChB,GAAG;AACH;AACA,EAAE,OAAO,CAAC,KAAK,CAAC,iEAAiE,EAAC;AAClF,EAAE,OAAO,IAAI;AACb;;;;"}
@@ -5,25 +5,33 @@
5
5
  const CLASS_SCROLL_DISABLED = 'pagescroll-scroll-disabled';
6
6
 
7
7
  let disabled = false;
8
- let currentScrollPos = document.scrollingElement.scrollTop;
9
- const htmlContainer = document.querySelector('html');
8
+ let currentScrollPos = typeof document === 'undefined' ? 0 : document.scrollingElement.scrollTop;
9
+ const htmlContainer = typeof document === 'undefined' ? null : document.querySelector('html');
10
10
 
11
11
  function disablePageScroll() {
12
+ if (typeof document === 'undefined') {
13
+ return
14
+ }
12
15
  disabled = true;
13
16
  currentScrollPos = document.scrollingElement.scrollTop;
14
17
  htmlContainer.classList.add(CLASS_SCROLL_DISABLED);
15
18
  }
16
19
 
17
20
  function enablePageScroll() {
21
+ if (typeof document === 'undefined') {
22
+ return
23
+ }
18
24
  disabled = false;
19
25
  htmlContainer.classList.remove(CLASS_SCROLL_DISABLED);
20
26
  }
21
27
 
22
- document.addEventListener('scroll', () => {
23
- if (disabled) {
24
- document.scrollingElement.scrollTop = currentScrollPos;
25
- }
26
- });
28
+ if (typeof document !== 'undefined') {
29
+ document.addEventListener('scroll', () => {
30
+ if (disabled) {
31
+ document.scrollingElement.scrollTop = currentScrollPos;
32
+ }
33
+ });
34
+ }
27
35
 
28
36
  export { disablePageScroll, enablePageScroll };
29
37
  //# sourceMappingURL=pageScroll.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pageScroll.js","sources":["../../../src/js/plugins/util/pageScroll.js"],"sourcesContent":["/**\n * Prevents page scroll\n */\n\nconst CLASS_SCROLL_DISABLED = 'pagescroll-scroll-disabled'\n\nlet disabled = false\nlet currentScrollPos = document.scrollingElement.scrollTop\nconst htmlContainer = document.querySelector('html')\n\nexport function disablePageScroll() {\n disabled = true\n currentScrollPos = document.scrollingElement.scrollTop\n htmlContainer.classList.add(CLASS_SCROLL_DISABLED)\n}\n\nexport function enablePageScroll() {\n disabled = false\n htmlContainer.classList.remove(CLASS_SCROLL_DISABLED)\n}\n\ndocument.addEventListener('scroll', () => {\n if (disabled) {\n document.scrollingElement.scrollTop = currentScrollPos\n }\n})\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,MAAM,qBAAqB,GAAG,6BAA4B;AAC1D;AACA,IAAI,QAAQ,GAAG,MAAK;AACpB,IAAI,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAS;AAC1D,MAAM,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAC;AACpD;AACO,SAAS,iBAAiB,GAAG;AACpC,EAAE,QAAQ,GAAG,KAAI;AACjB,EAAE,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAS;AACxD,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,EAAC;AACpD,CAAC;AACD;AACO,SAAS,gBAAgB,GAAG;AACnC,EAAE,QAAQ,GAAG,MAAK;AAClB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,EAAC;AACvD,CAAC;AACD;AACA,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;AAC1C,EAAE,IAAI,QAAQ,EAAE;AAChB,IAAI,QAAQ,CAAC,gBAAgB,CAAC,SAAS,GAAG,iBAAgB;AAC1D,GAAG;AACH,CAAC;;;;"}
1
+ {"version":3,"file":"pageScroll.js","sources":["../../../src/js/plugins/util/pageScroll.js"],"sourcesContent":["/**\n * Prevents page scroll\n */\n\nconst CLASS_SCROLL_DISABLED = 'pagescroll-scroll-disabled'\n\nlet disabled = false\nlet currentScrollPos = typeof document === 'undefined' ? 0 : document.scrollingElement.scrollTop\nconst htmlContainer = typeof document === 'undefined' ? null : document.querySelector('html')\n\nexport function disablePageScroll() {\n if (typeof document === 'undefined') {\n return\n }\n disabled = true\n currentScrollPos = document.scrollingElement.scrollTop\n htmlContainer.classList.add(CLASS_SCROLL_DISABLED)\n}\n\nexport function enablePageScroll() {\n if (typeof document === 'undefined') {\n return\n }\n disabled = false\n htmlContainer.classList.remove(CLASS_SCROLL_DISABLED)\n}\n\nif (typeof document !== 'undefined') {\n document.addEventListener('scroll', () => {\n if (disabled) {\n document.scrollingElement.scrollTop = currentScrollPos\n }\n })\n}\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA,MAAM,qBAAqB,GAAG,6BAA4B;AAC1D;AACA,IAAI,QAAQ,GAAG,MAAK;AACpB,IAAI,gBAAgB,GAAG,OAAO,QAAQ,KAAK,WAAW,GAAG,CAAC,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAS;AAChG,MAAM,aAAa,GAAG,OAAO,QAAQ,KAAK,WAAW,GAAG,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,MAAM,EAAC;AAC7F;AACO,SAAS,iBAAiB,GAAG;AACpC,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI,MAAM;AACV,GAAG;AACH,EAAE,QAAQ,GAAG,KAAI;AACjB,EAAE,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAS;AACxD,EAAE,aAAa,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,EAAC;AACpD,CAAC;AACD;AACO,SAAS,gBAAgB,GAAG;AACnC,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI,MAAM;AACV,GAAG;AACH,EAAE,QAAQ,GAAG,MAAK;AAClB,EAAE,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,qBAAqB,EAAC;AACvD,CAAC;AACD;AACA,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACrC,EAAE,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,MAAM;AAC5C,IAAI,IAAI,QAAQ,EAAE;AAClB,MAAM,QAAQ,CAAC,gBAAgB,CAAC,SAAS,GAAG,iBAAgB;AAC5D,KAAK;AACL,GAAG,EAAC;AACJ;;;;"}
@@ -11,6 +11,9 @@ const AnimeDefault = {
11
11
  * @param {Object} config - duration, easing, complete, update, ...
12
12
  */
13
13
  const documentScrollTo = (scrollTop, config) => {
14
+ if (typeof document === 'undefined') {
15
+ return
16
+ }
14
17
  const onComplete = (typeof config === 'object' ? config : {}).complete;
15
18
  const scrollElement = window.document.scrollingElement || window.document.body || window.document.documentElement;
16
19
  const prevScrollBehavior = scrollElement.style.scrollBehavior;
@@ -1 +1 @@
1
- {"version":3,"file":"tween.js","sources":["../../../src/js/plugins/util/tween.js"],"sourcesContent":["import anime from 'animejs/lib/anime.es.js'\n\nconst AnimeDefault = {\n duration: 800,\n easing: 'easeInOutSine',\n}\n\n/**\n *\n * @param {number} scrollTop\n * @param {Object} config - duration, easing, complete, update, ...\n */\nexport const documentScrollTo = (scrollTop, config) => {\n const onComplete = (typeof config === 'object' ? config : {}).complete\n const scrollElement = window.document.scrollingElement || window.document.body || window.document.documentElement\n const prevScrollBehavior = scrollElement.style.scrollBehavior\n\n config = {\n scrollTop: scrollTop || 0,\n ...AnimeDefault,\n ...(typeof config === 'object' ? config : {}),\n }\n\n scrollElement.style.scrollBehavior = 'auto'\n\n config.complete = (anim) => {\n scrollElement.style.scrollBehavior = prevScrollBehavior\n if (typeof onComplete === 'function') {\n onComplete(anim)\n }\n }\n\n anime({\n targets: scrollElement,\n ...config,\n })\n}\n"],"names":[],"mappings":";;AAEA,MAAM,YAAY,GAAG;AACrB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,MAAM,EAAE,eAAe;AACzB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK;AACvD,EAAE,MAAM,UAAU,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,EAAE,EAAE,SAAQ;AACxE,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAe;AACnH,EAAE,MAAM,kBAAkB,GAAG,aAAa,CAAC,KAAK,CAAC,eAAc;AAC/D;AACA,EAAE,MAAM,GAAG;AACX,IAAI,SAAS,EAAE,SAAS,IAAI,CAAC;AAC7B,IAAI,GAAG,YAAY;AACnB,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAC;AACjD,IAAG;AACH;AACA,EAAE,aAAa,CAAC,KAAK,CAAC,cAAc,GAAG,OAAM;AAC7C;AACA,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,IAAI,aAAa,CAAC,KAAK,CAAC,cAAc,GAAG,mBAAkB;AAC3D,IAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AAC1C,MAAM,UAAU,CAAC,IAAI,EAAC;AACtB,KAAK;AACL,IAAG;AACH;AACA,EAAE,KAAK,CAAC;AACR,IAAI,OAAO,EAAE,aAAa;AAC1B,IAAI,GAAG,MAAM;AACb,GAAG,EAAC;AACJ;;;;"}
1
+ {"version":3,"file":"tween.js","sources":["../../../src/js/plugins/util/tween.js"],"sourcesContent":["import anime from 'animejs/lib/anime.es.js'\n\nconst AnimeDefault = {\n duration: 800,\n easing: 'easeInOutSine',\n}\n\n/**\n *\n * @param {number} scrollTop\n * @param {Object} config - duration, easing, complete, update, ...\n */\nexport const documentScrollTo = (scrollTop, config) => {\n if (typeof document === 'undefined') {\n return\n }\n const onComplete = (typeof config === 'object' ? config : {}).complete\n const scrollElement = window.document.scrollingElement || window.document.body || window.document.documentElement\n const prevScrollBehavior = scrollElement.style.scrollBehavior\n\n config = {\n scrollTop: scrollTop || 0,\n ...AnimeDefault,\n ...(typeof config === 'object' ? config : {}),\n }\n\n scrollElement.style.scrollBehavior = 'auto'\n\n config.complete = (anim) => {\n scrollElement.style.scrollBehavior = prevScrollBehavior\n if (typeof onComplete === 'function') {\n onComplete(anim)\n }\n }\n\n anime({\n targets: scrollElement,\n ...config,\n })\n}\n"],"names":[],"mappings":";;AAEA,MAAM,YAAY,GAAG;AACrB,EAAE,QAAQ,EAAE,GAAG;AACf,EAAE,MAAM,EAAE,eAAe;AACzB,EAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACY,MAAC,gBAAgB,GAAG,CAAC,SAAS,EAAE,MAAM,KAAK;AACvD,EAAE,IAAI,OAAO,QAAQ,KAAK,WAAW,EAAE;AACvC,IAAI,MAAM;AACV,GAAG;AACH,EAAE,MAAM,UAAU,GAAG,CAAC,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,EAAE,EAAE,SAAQ;AACxE,EAAE,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC,gBAAgB,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAe;AACnH,EAAE,MAAM,kBAAkB,GAAG,aAAa,CAAC,KAAK,CAAC,eAAc;AAC/D;AACA,EAAE,MAAM,GAAG;AACX,IAAI,SAAS,EAAE,SAAS,IAAI,CAAC;AAC7B,IAAI,GAAG,YAAY;AACnB,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,GAAG,MAAM,GAAG,EAAE,CAAC;AACjD,IAAG;AACH;AACA,EAAE,aAAa,CAAC,KAAK,CAAC,cAAc,GAAG,OAAM;AAC7C;AACA,EAAE,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,KAAK;AAC9B,IAAI,aAAa,CAAC,KAAK,CAAC,cAAc,GAAG,mBAAkB;AAC3D,IAAI,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE;AAC1C,MAAM,UAAU,CAAC,IAAI,EAAC;AACtB,KAAK;AACL,IAAG;AACH;AACA,EAAE,KAAK,CAAC;AACR,IAAI,OAAO,EAAE,aAAa;AAC1B,IAAI,GAAG,MAAM;AACb,GAAG,EAAC;AACJ;;;;"}
@@ -80,6 +80,9 @@ const initYoutubePlugin = (videojs) => {
80
80
  }
81
81
 
82
82
  createEl() {
83
+ if (typeof document === 'undefined') {
84
+ return
85
+ }
83
86
  var div = document.createElement('div');
84
87
  div.setAttribute('id', this.options_.techId);
85
88
  div.setAttribute('style', 'width:100%;height:100%;top:0;left:0;position:absolute');
@@ -648,6 +651,9 @@ const initYoutubePlugin = (videojs) => {
648
651
  }
649
652
 
650
653
  supportsFullScreen() {
654
+ if (typeof document === 'undefined') {
655
+ return
656
+ }
651
657
  return document.fullscreenEnabled ||
652
658
  document.webkitFullscreenEnabled ||
653
659
  document.mozFullScreenEnabled ||
@@ -725,6 +731,9 @@ const initYoutubePlugin = (videojs) => {
725
731
  }
726
732
 
727
733
  function loadScript(src, callback) {
734
+ if (typeof document === 'undefined') {
735
+ return
736
+ }
728
737
  var loaded = false;
729
738
  var tag = document.createElement('script');
730
739
  var firstScriptTag = document.getElementsByTagName('script')[0];
@@ -750,6 +759,9 @@ const initYoutubePlugin = (videojs) => {
750
759
  }
751
760
 
752
761
  function injectCss() {
762
+ if (typeof document === 'undefined') {
763
+ return
764
+ }
753
765
  var css = // iframe blocker to catch mouse events
754
766
  '.vjs-youtube .vjs-iframe-blocker { display: none; }' +
755
767
  '.vjs-youtube.vjs-user-inactive .vjs-iframe-blocker { display: block; }' +
@@ -1 +1 @@
1
- {"version":3,"file":"youtube-video.js","sources":["../../../src/js/plugins/util/youtube-video.js"],"sourcesContent":["/* The MIT License (MIT)\n\nCopyright (c) 2014-2015 Benoit Tremblay <trembl.ben@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE. */\n/*global define, YT*/\nconst initYoutubePlugin = (videojs) => {\n\n const _isOnMobile = videojs.browser.IS_IOS || videojs.browser.IS_NATIVE_ANDROID;\n const Tech = videojs.getTech('Tech');\n\n class Youtube extends Tech {\n\n constructor(options, ready) {\n super(options, ready);\n\n this.setPoster(options.poster);\n this.setSrc(this.options_.source, true);\n\n // Set the vjs-youtube class to the player\n // Parent is not set yet so we have to wait a tick\n this.setTimeout(function () {\n if (this.el_) {\n this.el_.parentNode.className += ' vjs-youtube';\n\n if (_isOnMobile) {\n this.el_.parentNode.className += ' vjs-youtube-mobile';\n }\n\n if (Youtube.isApiReady) {\n this.initYTPlayer();\n } else {\n Youtube.apiReadyQueue.push(this);\n }\n }\n }.bind(this));\n }\n\n dispose() {\n if (this.ytPlayer) {\n //Dispose of the YouTube Player\n if (this.ytPlayer.stopVideo) {\n this.ytPlayer.stopVideo();\n }\n if (this.ytPlayer.destroy) {\n this.ytPlayer.destroy();\n }\n } else {\n //YouTube API hasn't finished loading or the player is already disposed\n var index = Youtube.apiReadyQueue.indexOf(this);\n if (index !== -1) {\n Youtube.apiReadyQueue.splice(index, 1);\n }\n }\n this.ytPlayer = null;\n\n this.el_.parentNode.className = this.el_.parentNode.className\n .replace(' vjs-youtube', '')\n .replace(' vjs-youtube-mobile', '');\n this.el_.parentNode.removeChild(this.el_);\n\n //Needs to be called after the YouTube player is destroyed, otherwise there will be a null reference exception\n Tech.prototype.dispose.call(this);\n }\n\n createEl() {\n var div = document.createElement('div');\n div.setAttribute('id', this.options_.techId);\n div.setAttribute('style', 'width:100%;height:100%;top:0;left:0;position:absolute');\n div.setAttribute('class', 'vjs-tech');\n\n var divWrapper = document.createElement('div');\n divWrapper.appendChild(div);\n\n if (!_isOnMobile && !this.options_.ytControls) {\n var divBlocker = document.createElement('div');\n divBlocker.setAttribute('class', 'vjs-iframe-blocker');\n divBlocker.setAttribute('style', 'position:absolute;top:0;left:0;width:100%;height:100%');\n\n // In case the blocker is still there and we want to pause\n divBlocker.onclick = function () {\n this.pause();\n }.bind(this);\n\n divWrapper.appendChild(divBlocker);\n }\n\n return divWrapper;\n }\n\n initYTPlayer() {\n var playerVars = {\n controls: 0,\n modestbranding: 1,\n rel: 0,\n showinfo: 0,\n loop: this.options_.loop ? 1 : 0\n };\n\n // Let the user set any YouTube parameter\n // https://developers.google.com/youtube/player_parameters?playerVersion=HTML5#Parameters\n // To use YouTube controls, you must use ytControls instead\n // To use the loop or autoplay, use the video.js settings\n\n if (typeof this.options_.autohide !== 'undefined') {\n playerVars.autohide = this.options_.autohide;\n }\n\n if (typeof this.options_['cc_load_policy'] !== 'undefined') {\n playerVars['cc_load_policy'] = this.options_['cc_load_policy'];\n }\n\n if (typeof this.options_.ytControls !== 'undefined') {\n playerVars.controls = this.options_.ytControls;\n }\n\n if (typeof this.options_.disablekb !== 'undefined') {\n playerVars.disablekb = this.options_.disablekb;\n }\n\n if (typeof this.options_.color !== 'undefined') {\n playerVars.color = this.options_.color;\n }\n\n if (!playerVars.controls) {\n // Let video.js handle the fullscreen unless it is the YouTube native controls\n playerVars.fs = 0;\n } else if (typeof this.options_.fs !== 'undefined') {\n playerVars.fs = this.options_.fs;\n }\n\n if (this.options_.source.src.indexOf('end=') !== -1) {\n var srcEndTime = this.options_.source.src.match(/end=([0-9]*)/);\n this.options_.end = parseInt(srcEndTime[1]);\n }\n\n if (typeof this.options_.end !== 'undefined') {\n playerVars.end = this.options_.end;\n }\n\n if (typeof this.options_.hl !== 'undefined') {\n playerVars.hl = this.options_.hl;\n } else if (typeof this.options_.language !== 'undefined') {\n // Set the YouTube player on the same language than video.js\n playerVars.hl = this.options_.language.substr(0, 2);\n }\n\n if (typeof this.options_['iv_load_policy'] !== 'undefined') {\n playerVars['iv_load_policy'] = this.options_['iv_load_policy'];\n }\n\n if (typeof this.options_.list !== 'undefined') {\n playerVars.list = this.options_.list;\n } else if (this.url && typeof this.url.listId !== 'undefined') {\n playerVars.list = this.url.listId;\n }\n\n if (typeof this.options_.listType !== 'undefined') {\n playerVars.listType = this.options_.listType;\n }\n\n if (typeof this.options_.modestbranding !== 'undefined') {\n playerVars.modestbranding = this.options_.modestbranding;\n }\n\n if (typeof this.options_.playlist !== 'undefined') {\n playerVars.playlist = this.options_.playlist;\n }\n\n if (typeof this.options_.playsinline !== 'undefined') {\n playerVars.playsinline = this.options_.playsinline;\n }\n\n if (typeof this.options_.rel !== 'undefined') {\n playerVars.rel = this.options_.rel;\n }\n\n if (typeof this.options_.showinfo !== 'undefined') {\n playerVars.showinfo = this.options_.showinfo;\n }\n\n if (this.options_.source.src.indexOf('start=') !== -1) {\n var srcStartTime = this.options_.source.src.match(/start=([0-9]*)/);\n this.options_.start = parseInt(srcStartTime[1]);\n }\n\n if (typeof this.options_.start !== 'undefined') {\n playerVars.start = this.options_.start;\n }\n\n if (typeof this.options_.theme !== 'undefined') {\n playerVars.theme = this.options_.theme;\n }\n\n // Allow undocumented options to be passed along via customVars\n if (typeof this.options_.customVars !== 'undefined') {\n var customVars = this.options_.customVars;\n Object.keys(customVars).forEach(function (key) {\n playerVars[key] = customVars[key];\n });\n }\n\n this.activeVideoId = this.url ? this.url.videoId : null;\n this.activeList = playerVars.list;\n\n var playerConfig = {\n videoId: this.activeVideoId,\n playerVars: playerVars,\n events: {\n onReady: this.onPlayerReady.bind(this),\n onPlaybackQualityChange: this.onPlayerPlaybackQualityChange.bind(this),\n onPlaybackRateChange: this.onPlayerPlaybackRateChange.bind(this),\n onStateChange: this.onPlayerStateChange.bind(this),\n onVolumeChange: this.onPlayerVolumeChange.bind(this),\n onError: this.onPlayerError.bind(this)\n }\n };\n\n if (typeof this.options_.enablePrivacyEnhancedMode !== 'undefined' && this.options_.enablePrivacyEnhancedMode) {\n playerConfig.host = 'https://www.youtube-nocookie.com';\n }\n\n this.ytPlayer = new YT.Player(this.options_.techId, playerConfig);\n }\n\n onPlayerReady() {\n if (this.options_.muted) {\n this.ytPlayer.mute();\n }\n\n var playbackRates = this.ytPlayer.getAvailablePlaybackRates();\n if (playbackRates.length > 1) {\n this.featuresPlaybackRate = true;\n }\n\n this.playerReady_ = true;\n this.triggerReady();\n\n if (this.playOnReady) {\n this.play();\n } else if (this.cueOnReady) {\n this.cueVideoById_(this.url.videoId);\n this.activeVideoId = this.url.videoId;\n }\n }\n\n onPlayerPlaybackQualityChange() {\n\n }\n\n onPlayerPlaybackRateChange() {\n this.trigger('ratechange');\n }\n\n onPlayerStateChange(e) {\n var state = e.data;\n\n if (state === this.lastState || this.errorNumber) {\n return;\n }\n\n this.lastState = state;\n\n switch (state) {\n case -1:\n this.trigger('loadstart');\n this.trigger('loadedmetadata');\n this.trigger('durationchange');\n this.trigger('ratechange');\n break;\n\n case YT.PlayerState.ENDED:\n this.trigger('ended');\n break;\n\n case YT.PlayerState.PLAYING:\n this.trigger('timeupdate');\n this.trigger('durationchange');\n this.trigger('playing');\n this.trigger('play');\n\n if (this.isSeeking) {\n this.onSeeked();\n }\n break;\n\n case YT.PlayerState.PAUSED:\n this.trigger('canplay');\n if (this.isSeeking) {\n this.onSeeked();\n } else {\n this.trigger('pause');\n }\n break;\n\n case YT.PlayerState.BUFFERING:\n this.player_.trigger('timeupdate');\n this.player_.trigger('waiting');\n break;\n }\n }\n\n onPlayerVolumeChange() {\n this.trigger('volumechange');\n }\n\n onPlayerError(e) {\n this.errorNumber = e.data;\n this.trigger('pause');\n this.trigger('error');\n }\n\n error() {\n var code = 1000 + this.errorNumber; // as smaller codes are reserved\n switch (this.errorNumber) {\n case 5:\n return { code: code, message: 'Error while trying to play the video' };\n\n case 2:\n case 100:\n return { code: code, message: 'Unable to find the video' };\n\n case 101:\n case 150:\n return {\n code: code,\n message: 'Playback on other Websites has been disabled by the video owner.'\n };\n }\n\n return { code: code, message: 'YouTube unknown error (' + this.errorNumber + ')' };\n }\n\n loadVideoById_(id) {\n var options = {\n videoId: id\n };\n if (this.options_.start) {\n options.startSeconds = this.options_.start;\n }\n if (this.options_.end) {\n options.endSeconds = this.options_.end;\n }\n this.ytPlayer.loadVideoById(options);\n }\n\n cueVideoById_(id) {\n var options = {\n videoId: id\n };\n if (this.options_.start) {\n options.startSeconds = this.options_.start;\n }\n if (this.options_.end) {\n options.endSeconds = this.options_.end;\n }\n this.ytPlayer.cueVideoById(options);\n }\n\n src(src) {\n if (src) {\n this.setSrc({ src: src });\n }\n\n return this.source;\n }\n\n poster() {\n // You can't start programmaticlly a video with a mobile\n // through the iframe so we hide the poster and the play button (with CSS)\n if (_isOnMobile) {\n return null;\n }\n\n return this.poster_;\n }\n\n setPoster(poster) {\n this.poster_ = poster;\n }\n\n setSrc(source) {\n if (!source || !source.src) {\n return;\n }\n\n delete this.errorNumber;\n this.source = source;\n this.url = Youtube.parseUrl(source.src);\n\n if (!this.options_.poster) {\n if (this.url.videoId) {\n // Set the low resolution first\n this.poster_ = 'https://img.youtube.com/vi/' + this.url.videoId + '/0.jpg';\n this.trigger('posterchange');\n\n // Check if their is a high res\n this.checkHighResPoster();\n }\n }\n\n if (this.options_.autoplay && !_isOnMobile) {\n if (this.isReady_) {\n this.play();\n } else {\n this.playOnReady = true;\n }\n } else if (this.activeVideoId !== this.url.videoId) {\n if (this.isReady_) {\n this.cueVideoById_(this.url.videoId);\n this.activeVideoId = this.url.videoId;\n } else {\n this.cueOnReady = true;\n }\n }\n }\n\n autoplay() {\n return this.options_.autoplay;\n }\n\n setAutoplay(val) {\n this.options_.autoplay = val;\n }\n\n loop() {\n return this.options_.loop;\n }\n\n setLoop(val) {\n this.options_.loop = val;\n }\n\n play() {\n if (!this.url || !this.url.videoId) {\n return;\n }\n\n this.wasPausedBeforeSeek = false;\n\n if (this.isReady_) {\n if (this.url.listId) {\n if (this.activeList === this.url.listId) {\n this.ytPlayer.playVideo();\n } else {\n this.ytPlayer.loadPlaylist(this.url.listId);\n this.activeList = this.url.listId;\n }\n }\n\n if (this.activeVideoId === this.url.videoId) {\n this.ytPlayer.playVideo();\n } else {\n this.loadVideoById_(this.url.videoId);\n this.activeVideoId = this.url.videoId;\n }\n } else {\n this.trigger('waiting');\n this.playOnReady = true;\n }\n }\n\n pause() {\n if (this.ytPlayer) {\n this.ytPlayer.pauseVideo();\n }\n }\n\n paused() {\n return (this.ytPlayer) ?\n (this.lastState !== YT.PlayerState.PLAYING && this.lastState !== YT.PlayerState.BUFFERING)\n : true;\n }\n\n currentTime() {\n return this.ytPlayer ? this.ytPlayer.getCurrentTime() : 0;\n }\n\n setCurrentTime(seconds) {\n if (this.lastState === YT.PlayerState.PAUSED) {\n this.timeBeforeSeek = this.currentTime();\n }\n\n if (!this.isSeeking) {\n this.wasPausedBeforeSeek = this.paused();\n }\n\n this.ytPlayer.seekTo(seconds, true);\n this.trigger('timeupdate');\n this.trigger('seeking');\n this.isSeeking = true;\n\n // A seek event during pause does not return an event to trigger a seeked event,\n // so run an interval timer to look for the currentTime to change\n if (this.lastState === YT.PlayerState.PAUSED && this.timeBeforeSeek !== seconds) {\n clearInterval(this.checkSeekedInPauseInterval);\n this.checkSeekedInPauseInterval = setInterval(function () {\n if (this.lastState !== YT.PlayerState.PAUSED || !this.isSeeking) {\n // If something changed while we were waiting for the currentTime to change,\n // clear the interval timer\n clearInterval(this.checkSeekedInPauseInterval);\n } else if (this.currentTime() !== this.timeBeforeSeek) {\n this.trigger('timeupdate');\n this.onSeeked();\n }\n }.bind(this), 250);\n }\n }\n\n seeking() {\n return this.isSeeking;\n }\n\n seekable() {\n if (!this.ytPlayer) {\n return videojs.createTimeRange();\n }\n\n return videojs.createTimeRange(0, this.ytPlayer.getDuration());\n }\n\n onSeeked() {\n clearInterval(this.checkSeekedInPauseInterval);\n this.isSeeking = false;\n\n if (this.wasPausedBeforeSeek) {\n this.pause();\n }\n\n this.trigger('seeked');\n }\n\n playbackRate() {\n return this.ytPlayer ? this.ytPlayer.getPlaybackRate() : 1;\n }\n\n setPlaybackRate(suggestedRate) {\n if (!this.ytPlayer) {\n return;\n }\n\n this.ytPlayer.setPlaybackRate(suggestedRate);\n }\n\n duration() {\n return this.ytPlayer ? this.ytPlayer.getDuration() : 0;\n }\n\n currentSrc() {\n return this.source && this.source.src;\n }\n\n ended() {\n return this.ytPlayer ? (this.lastState === YT.PlayerState.ENDED) : false;\n }\n\n volume() {\n return this.ytPlayer ? this.ytPlayer.getVolume() / 100.0 : 1;\n }\n\n setVolume(percentAsDecimal) {\n if (!this.ytPlayer) {\n return;\n }\n\n this.ytPlayer.setVolume(percentAsDecimal * 100.0);\n }\n\n muted() {\n return this.ytPlayer ? this.ytPlayer.isMuted() : false;\n }\n\n setMuted(mute) {\n if (!this.ytPlayer) {\n return;\n }\n else {\n this.muted(true);\n }\n\n if (mute) {\n this.ytPlayer.mute();\n } else {\n this.ytPlayer.unMute();\n }\n this.setTimeout(function () {\n this.trigger('volumechange');\n }, 50);\n }\n\n buffered() {\n if (!this.ytPlayer || !this.ytPlayer.getVideoLoadedFraction) {\n return videojs.createTimeRange();\n }\n\n var bufferedEnd = this.ytPlayer.getVideoLoadedFraction() * this.ytPlayer.getDuration();\n\n return videojs.createTimeRange(0, bufferedEnd);\n }\n\n // TODO: Can we really do something with this on YouTUbe?\n preload() { }\n load() { }\n reset() { }\n networkState() {\n if (!this.ytPlayer) {\n return 0; //NETWORK_EMPTY\n }\n switch (this.ytPlayer.getPlayerState()) {\n case -1: //unstarted\n return 0; //NETWORK_EMPTY\n case 3: //buffering\n return 2; //NETWORK_LOADING\n default:\n return 1; //NETWORK_IDLE\n }\n }\n readyState() {\n if (!this.ytPlayer) {\n return 0; //HAVE_NOTHING\n }\n switch (this.ytPlayer.getPlayerState()) {\n case -1: //unstarted\n return 0; //HAVE_NOTHING\n case 5: //video cued\n return 1; //HAVE_METADATA\n case 3: //buffering\n return 2; //HAVE_CURRENT_DATA\n default:\n return 4; //HAVE_ENOUGH_DATA\n }\n }\n\n supportsFullScreen() {\n return document.fullscreenEnabled ||\n document.webkitFullscreenEnabled ||\n document.mozFullScreenEnabled ||\n document.msFullscreenEnabled;\n }\n\n // Tries to get the highest resolution thumbnail available for the video\n checkHighResPoster() {\n var uri = 'https://img.youtube.com/vi/' + this.url.videoId + '/maxresdefault.jpg';\n\n try {\n var image = new Image();\n image.onload = function () {\n // Onload may still be called if YouTube returns the 120x90 error thumbnail\n if ('naturalHeight' in image) {\n if (image.naturalHeight <= 90 || image.naturalWidth <= 120) {\n return;\n }\n } else if (image.height <= 90 || image.width <= 120) {\n return;\n }\n\n this.poster_ = uri;\n this.trigger('posterchange');\n }.bind(this);\n image.onerror = function () { };\n image.src = uri;\n }\n catch (e) { }\n }\n }\n\n Youtube.isSupported = function () {\n return true;\n };\n\n Youtube.canPlaySource = function (e) {\n return Youtube.canPlayType(e.type);\n };\n\n Youtube.canPlayType = function (e) {\n return (e === 'video/youtube');\n };\n\n Youtube.parseUrl = function (url) {\n var result = {\n videoId: null\n };\n\n var regex = /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|\\&v=)([^#\\&\\?]*).*/;\n var match = url.match(regex);\n\n if (match && match[2].length === 11) {\n result.videoId = match[2];\n }\n\n var regPlaylist = /[?&]list=([^#\\&\\?]+)/;\n match = url.match(regPlaylist);\n\n if (match && match[1]) {\n result.listId = match[1];\n }\n\n return result;\n };\n\n function apiLoaded() {\n YT.ready(function () {\n Youtube.isApiReady = true;\n\n for (var i = 0; i < Youtube.apiReadyQueue.length; ++i) {\n Youtube.apiReadyQueue[i].initYTPlayer();\n }\n });\n }\n\n function loadScript(src, callback) {\n var loaded = false;\n var tag = document.createElement('script');\n var firstScriptTag = document.getElementsByTagName('script')[0];\n if (!firstScriptTag) {\n // when loaded in jest without jsdom setup it doesn't get any element.\n // In jest it doesn't really make sense to do anything, because no one is watching youtube in jest\n return;\n }\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n tag.onload = function () {\n if (!loaded) {\n loaded = true;\n callback();\n }\n };\n tag.onreadystatechange = function () {\n if (!loaded && (this.readyState === 'complete' || this.readyState === 'loaded')) {\n loaded = true;\n callback();\n }\n };\n tag.src = src;\n }\n\n function injectCss() {\n var css = // iframe blocker to catch mouse events\n '.vjs-youtube .vjs-iframe-blocker { display: none; }' +\n '.vjs-youtube.vjs-user-inactive .vjs-iframe-blocker { display: block; }' +\n '.vjs-youtube .vjs-poster { background-size: cover; }' +\n '.vjs-youtube-mobile .vjs-big-play-button { display: none; }';\n\n var head = document.head || document.getElementsByTagName('head')[0];\n\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n\n head.appendChild(style);\n }\n\n Youtube.apiReadyQueue = [];\n\n if (typeof document !== 'undefined') {\n loadScript('https://www.youtube.com/iframe_api', apiLoaded);\n injectCss();\n }\n\n // Older versions of VJS5 doesn't have the registerTech function\n if (typeof videojs.registerTech !== 'undefined') {\n videojs.registerTech('Youtube', Youtube);\n } else {\n videojs.registerComponent('Youtube', Youtube);\n }\n}\n\nexport { initYoutubePlugin }"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"youtube-video.js","sources":["../../../src/js/plugins/util/youtube-video.js"],"sourcesContent":["/* The MIT License (MIT)\n\nCopyright (c) 2014-2015 Benoit Tremblay <trembl.ben@gmail.com>\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\nTHE SOFTWARE. */\n/*global define, YT*/\nconst initYoutubePlugin = (videojs) => {\n\n const _isOnMobile = videojs.browser.IS_IOS || videojs.browser.IS_NATIVE_ANDROID;\n const Tech = videojs.getTech('Tech');\n\n class Youtube extends Tech {\n\n constructor(options, ready) {\n super(options, ready);\n\n this.setPoster(options.poster);\n this.setSrc(this.options_.source, true);\n\n // Set the vjs-youtube class to the player\n // Parent is not set yet so we have to wait a tick\n this.setTimeout(function () {\n if (this.el_) {\n this.el_.parentNode.className += ' vjs-youtube';\n\n if (_isOnMobile) {\n this.el_.parentNode.className += ' vjs-youtube-mobile';\n }\n\n if (Youtube.isApiReady) {\n this.initYTPlayer();\n } else {\n Youtube.apiReadyQueue.push(this);\n }\n }\n }.bind(this));\n }\n\n dispose() {\n if (this.ytPlayer) {\n //Dispose of the YouTube Player\n if (this.ytPlayer.stopVideo) {\n this.ytPlayer.stopVideo();\n }\n if (this.ytPlayer.destroy) {\n this.ytPlayer.destroy();\n }\n } else {\n //YouTube API hasn't finished loading or the player is already disposed\n var index = Youtube.apiReadyQueue.indexOf(this);\n if (index !== -1) {\n Youtube.apiReadyQueue.splice(index, 1);\n }\n }\n this.ytPlayer = null;\n\n this.el_.parentNode.className = this.el_.parentNode.className\n .replace(' vjs-youtube', '')\n .replace(' vjs-youtube-mobile', '');\n this.el_.parentNode.removeChild(this.el_);\n\n //Needs to be called after the YouTube player is destroyed, otherwise there will be a null reference exception\n Tech.prototype.dispose.call(this);\n }\n\n createEl() {\n if (typeof document === 'undefined') {\n return\n }\n var div = document.createElement('div');\n div.setAttribute('id', this.options_.techId);\n div.setAttribute('style', 'width:100%;height:100%;top:0;left:0;position:absolute');\n div.setAttribute('class', 'vjs-tech');\n\n var divWrapper = document.createElement('div');\n divWrapper.appendChild(div);\n\n if (!_isOnMobile && !this.options_.ytControls) {\n var divBlocker = document.createElement('div');\n divBlocker.setAttribute('class', 'vjs-iframe-blocker');\n divBlocker.setAttribute('style', 'position:absolute;top:0;left:0;width:100%;height:100%');\n\n // In case the blocker is still there and we want to pause\n divBlocker.onclick = function () {\n this.pause();\n }.bind(this);\n\n divWrapper.appendChild(divBlocker);\n }\n\n return divWrapper;\n }\n\n initYTPlayer() {\n var playerVars = {\n controls: 0,\n modestbranding: 1,\n rel: 0,\n showinfo: 0,\n loop: this.options_.loop ? 1 : 0\n };\n\n // Let the user set any YouTube parameter\n // https://developers.google.com/youtube/player_parameters?playerVersion=HTML5#Parameters\n // To use YouTube controls, you must use ytControls instead\n // To use the loop or autoplay, use the video.js settings\n\n if (typeof this.options_.autohide !== 'undefined') {\n playerVars.autohide = this.options_.autohide;\n }\n\n if (typeof this.options_['cc_load_policy'] !== 'undefined') {\n playerVars['cc_load_policy'] = this.options_['cc_load_policy'];\n }\n\n if (typeof this.options_.ytControls !== 'undefined') {\n playerVars.controls = this.options_.ytControls;\n }\n\n if (typeof this.options_.disablekb !== 'undefined') {\n playerVars.disablekb = this.options_.disablekb;\n }\n\n if (typeof this.options_.color !== 'undefined') {\n playerVars.color = this.options_.color;\n }\n\n if (!playerVars.controls) {\n // Let video.js handle the fullscreen unless it is the YouTube native controls\n playerVars.fs = 0;\n } else if (typeof this.options_.fs !== 'undefined') {\n playerVars.fs = this.options_.fs;\n }\n\n if (this.options_.source.src.indexOf('end=') !== -1) {\n var srcEndTime = this.options_.source.src.match(/end=([0-9]*)/);\n this.options_.end = parseInt(srcEndTime[1]);\n }\n\n if (typeof this.options_.end !== 'undefined') {\n playerVars.end = this.options_.end;\n }\n\n if (typeof this.options_.hl !== 'undefined') {\n playerVars.hl = this.options_.hl;\n } else if (typeof this.options_.language !== 'undefined') {\n // Set the YouTube player on the same language than video.js\n playerVars.hl = this.options_.language.substr(0, 2);\n }\n\n if (typeof this.options_['iv_load_policy'] !== 'undefined') {\n playerVars['iv_load_policy'] = this.options_['iv_load_policy'];\n }\n\n if (typeof this.options_.list !== 'undefined') {\n playerVars.list = this.options_.list;\n } else if (this.url && typeof this.url.listId !== 'undefined') {\n playerVars.list = this.url.listId;\n }\n\n if (typeof this.options_.listType !== 'undefined') {\n playerVars.listType = this.options_.listType;\n }\n\n if (typeof this.options_.modestbranding !== 'undefined') {\n playerVars.modestbranding = this.options_.modestbranding;\n }\n\n if (typeof this.options_.playlist !== 'undefined') {\n playerVars.playlist = this.options_.playlist;\n }\n\n if (typeof this.options_.playsinline !== 'undefined') {\n playerVars.playsinline = this.options_.playsinline;\n }\n\n if (typeof this.options_.rel !== 'undefined') {\n playerVars.rel = this.options_.rel;\n }\n\n if (typeof this.options_.showinfo !== 'undefined') {\n playerVars.showinfo = this.options_.showinfo;\n }\n\n if (this.options_.source.src.indexOf('start=') !== -1) {\n var srcStartTime = this.options_.source.src.match(/start=([0-9]*)/);\n this.options_.start = parseInt(srcStartTime[1]);\n }\n\n if (typeof this.options_.start !== 'undefined') {\n playerVars.start = this.options_.start;\n }\n\n if (typeof this.options_.theme !== 'undefined') {\n playerVars.theme = this.options_.theme;\n }\n\n // Allow undocumented options to be passed along via customVars\n if (typeof this.options_.customVars !== 'undefined') {\n var customVars = this.options_.customVars;\n Object.keys(customVars).forEach(function (key) {\n playerVars[key] = customVars[key];\n });\n }\n\n this.activeVideoId = this.url ? this.url.videoId : null;\n this.activeList = playerVars.list;\n\n var playerConfig = {\n videoId: this.activeVideoId,\n playerVars: playerVars,\n events: {\n onReady: this.onPlayerReady.bind(this),\n onPlaybackQualityChange: this.onPlayerPlaybackQualityChange.bind(this),\n onPlaybackRateChange: this.onPlayerPlaybackRateChange.bind(this),\n onStateChange: this.onPlayerStateChange.bind(this),\n onVolumeChange: this.onPlayerVolumeChange.bind(this),\n onError: this.onPlayerError.bind(this)\n }\n };\n\n if (typeof this.options_.enablePrivacyEnhancedMode !== 'undefined' && this.options_.enablePrivacyEnhancedMode) {\n playerConfig.host = 'https://www.youtube-nocookie.com';\n }\n\n this.ytPlayer = new YT.Player(this.options_.techId, playerConfig);\n }\n\n onPlayerReady() {\n if (this.options_.muted) {\n this.ytPlayer.mute();\n }\n\n var playbackRates = this.ytPlayer.getAvailablePlaybackRates();\n if (playbackRates.length > 1) {\n this.featuresPlaybackRate = true;\n }\n\n this.playerReady_ = true;\n this.triggerReady();\n\n if (this.playOnReady) {\n this.play();\n } else if (this.cueOnReady) {\n this.cueVideoById_(this.url.videoId);\n this.activeVideoId = this.url.videoId;\n }\n }\n\n onPlayerPlaybackQualityChange() {\n\n }\n\n onPlayerPlaybackRateChange() {\n this.trigger('ratechange');\n }\n\n onPlayerStateChange(e) {\n var state = e.data;\n\n if (state === this.lastState || this.errorNumber) {\n return;\n }\n\n this.lastState = state;\n\n switch (state) {\n case -1:\n this.trigger('loadstart');\n this.trigger('loadedmetadata');\n this.trigger('durationchange');\n this.trigger('ratechange');\n break;\n\n case YT.PlayerState.ENDED:\n this.trigger('ended');\n break;\n\n case YT.PlayerState.PLAYING:\n this.trigger('timeupdate');\n this.trigger('durationchange');\n this.trigger('playing');\n this.trigger('play');\n\n if (this.isSeeking) {\n this.onSeeked();\n }\n break;\n\n case YT.PlayerState.PAUSED:\n this.trigger('canplay');\n if (this.isSeeking) {\n this.onSeeked();\n } else {\n this.trigger('pause');\n }\n break;\n\n case YT.PlayerState.BUFFERING:\n this.player_.trigger('timeupdate');\n this.player_.trigger('waiting');\n break;\n }\n }\n\n onPlayerVolumeChange() {\n this.trigger('volumechange');\n }\n\n onPlayerError(e) {\n this.errorNumber = e.data;\n this.trigger('pause');\n this.trigger('error');\n }\n\n error() {\n var code = 1000 + this.errorNumber; // as smaller codes are reserved\n switch (this.errorNumber) {\n case 5:\n return { code: code, message: 'Error while trying to play the video' };\n\n case 2:\n case 100:\n return { code: code, message: 'Unable to find the video' };\n\n case 101:\n case 150:\n return {\n code: code,\n message: 'Playback on other Websites has been disabled by the video owner.'\n };\n }\n\n return { code: code, message: 'YouTube unknown error (' + this.errorNumber + ')' };\n }\n\n loadVideoById_(id) {\n var options = {\n videoId: id\n };\n if (this.options_.start) {\n options.startSeconds = this.options_.start;\n }\n if (this.options_.end) {\n options.endSeconds = this.options_.end;\n }\n this.ytPlayer.loadVideoById(options);\n }\n\n cueVideoById_(id) {\n var options = {\n videoId: id\n };\n if (this.options_.start) {\n options.startSeconds = this.options_.start;\n }\n if (this.options_.end) {\n options.endSeconds = this.options_.end;\n }\n this.ytPlayer.cueVideoById(options);\n }\n\n src(src) {\n if (src) {\n this.setSrc({ src: src });\n }\n\n return this.source;\n }\n\n poster() {\n // You can't start programmaticlly a video with a mobile\n // through the iframe so we hide the poster and the play button (with CSS)\n if (_isOnMobile) {\n return null;\n }\n\n return this.poster_;\n }\n\n setPoster(poster) {\n this.poster_ = poster;\n }\n\n setSrc(source) {\n if (!source || !source.src) {\n return;\n }\n\n delete this.errorNumber;\n this.source = source;\n this.url = Youtube.parseUrl(source.src);\n\n if (!this.options_.poster) {\n if (this.url.videoId) {\n // Set the low resolution first\n this.poster_ = 'https://img.youtube.com/vi/' + this.url.videoId + '/0.jpg';\n this.trigger('posterchange');\n\n // Check if their is a high res\n this.checkHighResPoster();\n }\n }\n\n if (this.options_.autoplay && !_isOnMobile) {\n if (this.isReady_) {\n this.play();\n } else {\n this.playOnReady = true;\n }\n } else if (this.activeVideoId !== this.url.videoId) {\n if (this.isReady_) {\n this.cueVideoById_(this.url.videoId);\n this.activeVideoId = this.url.videoId;\n } else {\n this.cueOnReady = true;\n }\n }\n }\n\n autoplay() {\n return this.options_.autoplay;\n }\n\n setAutoplay(val) {\n this.options_.autoplay = val;\n }\n\n loop() {\n return this.options_.loop;\n }\n\n setLoop(val) {\n this.options_.loop = val;\n }\n\n play() {\n if (!this.url || !this.url.videoId) {\n return;\n }\n\n this.wasPausedBeforeSeek = false;\n\n if (this.isReady_) {\n if (this.url.listId) {\n if (this.activeList === this.url.listId) {\n this.ytPlayer.playVideo();\n } else {\n this.ytPlayer.loadPlaylist(this.url.listId);\n this.activeList = this.url.listId;\n }\n }\n\n if (this.activeVideoId === this.url.videoId) {\n this.ytPlayer.playVideo();\n } else {\n this.loadVideoById_(this.url.videoId);\n this.activeVideoId = this.url.videoId;\n }\n } else {\n this.trigger('waiting');\n this.playOnReady = true;\n }\n }\n\n pause() {\n if (this.ytPlayer) {\n this.ytPlayer.pauseVideo();\n }\n }\n\n paused() {\n return (this.ytPlayer) ?\n (this.lastState !== YT.PlayerState.PLAYING && this.lastState !== YT.PlayerState.BUFFERING)\n : true;\n }\n\n currentTime() {\n return this.ytPlayer ? this.ytPlayer.getCurrentTime() : 0;\n }\n\n setCurrentTime(seconds) {\n if (this.lastState === YT.PlayerState.PAUSED) {\n this.timeBeforeSeek = this.currentTime();\n }\n\n if (!this.isSeeking) {\n this.wasPausedBeforeSeek = this.paused();\n }\n\n this.ytPlayer.seekTo(seconds, true);\n this.trigger('timeupdate');\n this.trigger('seeking');\n this.isSeeking = true;\n\n // A seek event during pause does not return an event to trigger a seeked event,\n // so run an interval timer to look for the currentTime to change\n if (this.lastState === YT.PlayerState.PAUSED && this.timeBeforeSeek !== seconds) {\n clearInterval(this.checkSeekedInPauseInterval);\n this.checkSeekedInPauseInterval = setInterval(function () {\n if (this.lastState !== YT.PlayerState.PAUSED || !this.isSeeking) {\n // If something changed while we were waiting for the currentTime to change,\n // clear the interval timer\n clearInterval(this.checkSeekedInPauseInterval);\n } else if (this.currentTime() !== this.timeBeforeSeek) {\n this.trigger('timeupdate');\n this.onSeeked();\n }\n }.bind(this), 250);\n }\n }\n\n seeking() {\n return this.isSeeking;\n }\n\n seekable() {\n if (!this.ytPlayer) {\n return videojs.createTimeRange();\n }\n\n return videojs.createTimeRange(0, this.ytPlayer.getDuration());\n }\n\n onSeeked() {\n clearInterval(this.checkSeekedInPauseInterval);\n this.isSeeking = false;\n\n if (this.wasPausedBeforeSeek) {\n this.pause();\n }\n\n this.trigger('seeked');\n }\n\n playbackRate() {\n return this.ytPlayer ? this.ytPlayer.getPlaybackRate() : 1;\n }\n\n setPlaybackRate(suggestedRate) {\n if (!this.ytPlayer) {\n return;\n }\n\n this.ytPlayer.setPlaybackRate(suggestedRate);\n }\n\n duration() {\n return this.ytPlayer ? this.ytPlayer.getDuration() : 0;\n }\n\n currentSrc() {\n return this.source && this.source.src;\n }\n\n ended() {\n return this.ytPlayer ? (this.lastState === YT.PlayerState.ENDED) : false;\n }\n\n volume() {\n return this.ytPlayer ? this.ytPlayer.getVolume() / 100.0 : 1;\n }\n\n setVolume(percentAsDecimal) {\n if (!this.ytPlayer) {\n return;\n }\n\n this.ytPlayer.setVolume(percentAsDecimal * 100.0);\n }\n\n muted() {\n return this.ytPlayer ? this.ytPlayer.isMuted() : false;\n }\n\n setMuted(mute) {\n if (!this.ytPlayer) {\n return;\n }\n else {\n this.muted(true);\n }\n\n if (mute) {\n this.ytPlayer.mute();\n } else {\n this.ytPlayer.unMute();\n }\n this.setTimeout(function () {\n this.trigger('volumechange');\n }, 50);\n }\n\n buffered() {\n if (!this.ytPlayer || !this.ytPlayer.getVideoLoadedFraction) {\n return videojs.createTimeRange();\n }\n\n var bufferedEnd = this.ytPlayer.getVideoLoadedFraction() * this.ytPlayer.getDuration();\n\n return videojs.createTimeRange(0, bufferedEnd);\n }\n\n // TODO: Can we really do something with this on YouTUbe?\n preload() { }\n load() { }\n reset() { }\n networkState() {\n if (!this.ytPlayer) {\n return 0; //NETWORK_EMPTY\n }\n switch (this.ytPlayer.getPlayerState()) {\n case -1: //unstarted\n return 0; //NETWORK_EMPTY\n case 3: //buffering\n return 2; //NETWORK_LOADING\n default:\n return 1; //NETWORK_IDLE\n }\n }\n readyState() {\n if (!this.ytPlayer) {\n return 0; //HAVE_NOTHING\n }\n switch (this.ytPlayer.getPlayerState()) {\n case -1: //unstarted\n return 0; //HAVE_NOTHING\n case 5: //video cued\n return 1; //HAVE_METADATA\n case 3: //buffering\n return 2; //HAVE_CURRENT_DATA\n default:\n return 4; //HAVE_ENOUGH_DATA\n }\n }\n\n supportsFullScreen() {\n if (typeof document === 'undefined') {\n return\n }\n return document.fullscreenEnabled ||\n document.webkitFullscreenEnabled ||\n document.mozFullScreenEnabled ||\n document.msFullscreenEnabled;\n }\n\n // Tries to get the highest resolution thumbnail available for the video\n checkHighResPoster() {\n var uri = 'https://img.youtube.com/vi/' + this.url.videoId + '/maxresdefault.jpg';\n\n try {\n var image = new Image();\n image.onload = function () {\n // Onload may still be called if YouTube returns the 120x90 error thumbnail\n if ('naturalHeight' in image) {\n if (image.naturalHeight <= 90 || image.naturalWidth <= 120) {\n return;\n }\n } else if (image.height <= 90 || image.width <= 120) {\n return;\n }\n\n this.poster_ = uri;\n this.trigger('posterchange');\n }.bind(this);\n image.onerror = function () { };\n image.src = uri;\n }\n catch (e) { }\n }\n }\n\n Youtube.isSupported = function () {\n return true;\n };\n\n Youtube.canPlaySource = function (e) {\n return Youtube.canPlayType(e.type);\n };\n\n Youtube.canPlayType = function (e) {\n return (e === 'video/youtube');\n };\n\n Youtube.parseUrl = function (url) {\n var result = {\n videoId: null\n };\n\n var regex = /^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|\\&v=)([^#\\&\\?]*).*/;\n var match = url.match(regex);\n\n if (match && match[2].length === 11) {\n result.videoId = match[2];\n }\n\n var regPlaylist = /[?&]list=([^#\\&\\?]+)/;\n match = url.match(regPlaylist);\n\n if (match && match[1]) {\n result.listId = match[1];\n }\n\n return result;\n };\n\n function apiLoaded() {\n YT.ready(function () {\n Youtube.isApiReady = true;\n\n for (var i = 0; i < Youtube.apiReadyQueue.length; ++i) {\n Youtube.apiReadyQueue[i].initYTPlayer();\n }\n });\n }\n\n function loadScript(src, callback) {\n if (typeof document === 'undefined') {\n return\n }\n var loaded = false;\n var tag = document.createElement('script');\n var firstScriptTag = document.getElementsByTagName('script')[0];\n if (!firstScriptTag) {\n // when loaded in jest without jsdom setup it doesn't get any element.\n // In jest it doesn't really make sense to do anything, because no one is watching youtube in jest\n return;\n }\n firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);\n tag.onload = function () {\n if (!loaded) {\n loaded = true;\n callback();\n }\n };\n tag.onreadystatechange = function () {\n if (!loaded && (this.readyState === 'complete' || this.readyState === 'loaded')) {\n loaded = true;\n callback();\n }\n };\n tag.src = src;\n }\n\n function injectCss() {\n if (typeof document === 'undefined') {\n return\n }\n var css = // iframe blocker to catch mouse events\n '.vjs-youtube .vjs-iframe-blocker { display: none; }' +\n '.vjs-youtube.vjs-user-inactive .vjs-iframe-blocker { display: block; }' +\n '.vjs-youtube .vjs-poster { background-size: cover; }' +\n '.vjs-youtube-mobile .vjs-big-play-button { display: none; }';\n\n var head = document.head || document.getElementsByTagName('head')[0];\n\n var style = document.createElement('style');\n style.type = 'text/css';\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n\n head.appendChild(style);\n }\n\n Youtube.apiReadyQueue = [];\n\n if (typeof document !== 'undefined') {\n loadScript('https://www.youtube.com/iframe_api', apiLoaded);\n injectCss();\n }\n\n // Older versions of VJS5 doesn't have the registerTech function\n if (typeof videojs.registerTech !== 'undefined') {\n videojs.registerTech('Youtube', Youtube);\n } else {\n videojs.registerComponent('Youtube', Youtube);\n }\n}\n\nexport { initYoutubePlugin }"],"names":[],"mappings":"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"}
@@ -106,7 +106,9 @@ const DEFAULT_CONFIG = { languages: { it: itLang }, language: 'it' };
106
106
 
107
107
  const Default = {};
108
108
 
109
- window.videojs = videojs;
109
+ if (typeof window !== 'undefined') {
110
+ window.videojs = videojs;
111
+ }
110
112
 
111
113
  class VideoPlayer extends BaseComponent {
112
114
  constructor(element, config) {
@@ -1 +1 @@
1
- {"version":3,"file":"videoplayer.js","sources":["../../src/js/plugins/videoplayer.js"],"sourcesContent":["import BaseComponent from 'bootstrap/js/src/base-component.js'\n\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine'\nimport Manipulator from 'bootstrap/js/src/dom/manipulator'\nimport videojs from 'video.js'\nimport { initYoutubePlugin } from './util/youtube-video'\n\nconst NAME = 'videoplayer'\n\nconst SELECTOR_TOGGLE = '[data-bs-video]'\n\nconst itLang = {\n 'Audio Player': 'Lettore audio',\n 'Video Player': 'Lettore video',\n Play: 'Play',\n Pause: 'Pausa',\n Replay: 'Replay',\n 'Current Time': 'Orario attuale',\n Duration: 'Durata',\n 'Remaining Time': 'Tempo rimanente',\n 'Stream Type': 'Tipo di streaming',\n LIVE: 'LIVE',\n Loaded: 'Caricato',\n Progress: 'Stato',\n 'Progress Bar': 'Barra di avanzamento',\n 'progress bar timing: currentTime={1} duration={2}': '{1} di {2}',\n Fullscreen: 'Schermo intero',\n 'Exit Fullscreen': 'Chiudi Schermo intero',\n Mute: 'Disattiva l’audio',\n Unmute: 'Attiva l’audio',\n 'Playback Rate': 'Velocità di riproduzione',\n Subtitles: 'Sottotitoli',\n 'subtitles off': 'Senza sottotitoli',\n Captions: 'Sottotitoli non udenti',\n 'captions off': 'Senza sottotitoli non udenti',\n Chapters: 'Capitolo',\n Descriptions: 'Descrizioni',\n 'descriptions off': 'Descrizioni disattivate',\n 'Audio Track': 'Traccia audio',\n 'Volume Level': 'Livello del volume',\n 'You aborted the media playback': 'La riproduzione del filmato è stata interrotta.',\n 'A network error caused the media download to fail part-way.': 'Il download del filmato è stato interrotto a causa di un problema rete.',\n 'The media could not be loaded, either because the server or network failed or because the format is not supported.':\n 'Il filmato non può essere caricato a causa di un errore nel server o nella rete o perché il formato non viene supportato.',\n 'The media playback was aborted due to a corruption problem or because the media used features your browser did not support.':\n 'La riproduzione del filmato è stata interrotta a causa di un file danneggiato o per l’utilizzo di impostazioni non supportate dal browser.',\n 'No compatible source was found for this media.': 'Non ci sono fonti compatibili per questo filmato.',\n 'The media is encrypted and we do not have the keys to decrypt it.': 'Il contenuto multimediale è criptato e non disponiamo delle chiavi per decifrarlo.',\n 'Play Video': 'Riproduci il video',\n Close: 'Chiudi',\n 'Close Modal Dialog': 'Chiudi la finestra di dialogo',\n 'Modal Window': 'Finestra di dialogo',\n 'This is a modal window': 'Questa è una finestra di dialogo',\n 'This modal can be closed by pressing the Escape key or activating the close button.':\n 'Questa finestra di dialogo può essere chiusa premendo sul tasto Esc o attivando il pulsante di chiusura.',\n ', opens captions settings dialog': ', aprire i parametri della trascrizione dei sottotitoli',\n ', opens subtitles settings dialog': ', aprire i parametri dei sottotitoli',\n ', opens descriptions settings dialog': ', aprire i parametri delle descrizioni',\n ', selected': ', selezionato',\n 'captions settings': 'Parametri sottotitoli non udenti',\n 'subtitles settings': 'Parametri sottotitoli',\n 'descriptions settings': 'Parametri descrizioni',\n Text: 'Testo',\n White: 'Bianco',\n Black: 'Nero',\n Red: 'Rosso',\n Green: 'Verde',\n Blue: 'Blu',\n Yellow: 'Giallo',\n Magenta: 'Magenta',\n Cyan: 'Ciano',\n Background: 'Sfondo',\n Window: 'Finestra',\n Transparent: 'Trasparente',\n 'Semi-Transparent': 'Semi-Trasparente',\n Opaque: 'Opaco',\n 'Font Size': 'Dimensione dei caratteri',\n 'Text Edge Style': 'Stile dei bordi del testo',\n None: 'Nessuno',\n Uniform: 'Uniforme',\n 'Drop shadow': 'Ombra',\n 'Font Family': 'Carattere',\n 'Proportional Sans-Serif': 'Sans-Serif proporzionale',\n 'Monospace Sans-Serif': 'Sans-Serif monospaziato',\n 'Proportional Serif': 'Serif proporzionale',\n 'Monospace Serif': 'Serif monospaziato',\n 'Small Caps': 'Maiuscoletto',\n Reset: 'Reinizializza',\n 'restore all settings to the default values': 'Ripristina i valori predefiniti per tutti i parametri',\n Done: 'Fatto',\n 'Caption Settings Dialog': 'Finestra di dialogo dei parametri della trascrizione dei sottotitoli',\n 'Beginning of dialog window. Escape will cancel and close the window.':\n 'Inizio della finestra di dialogo. Il tasto Esc annullerà l’operazione e chiuderà la finestra.',\n 'End of dialog window.': 'Fine della finestra di dialogo.',\n '{1} is loading.': '{1} in fase di caricamento.',\n 'Exit Picture-in-Picture': 'Esci dalla modalità Picture-in-Picture',\n 'Picture-in-Picture': 'Picture-in-Picture',\n Color: 'Colore',\n Opacity: 'Opacità',\n 'Text Background': 'Sfondo testo',\n 'Caption Area Background': 'Sfondo area sottotitoli',\n 'Skip forward {1} seconds': 'Avanti {1} secondi',\n 'Skip backward {1} seconds': 'Indietro {1} secondi',\n}\n\nconst DEFAULT_CONFIG = { languages: { it: itLang }, language: 'it' }\n\nconst Default = {}\n\nwindow.videojs = videojs\n\nclass VideoPlayer extends BaseComponent {\n constructor(element, config) {\n super(element)\n element.classList.add('video-js', 'vjs-theme-bootstrap-italia', 'vjs-fluid', 'vjs-big-play-centered')\n this._config = this._getConfig(config)\n this.player = videojs(element, DEFAULT_CONFIG)\n }\n\n // Public\n\n setYouTubeVideo(url) {\n initYoutubePlugin(videojs)\n this.player.tech('youtube')\n this.player.src({ type: 'video/youtube', src: url })\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Private\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {}),\n }\n return config\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nconst players = SelectorEngine.find(SELECTOR_TOGGLE)\nif (players.length > 0) {\n players.forEach((player) => {\n VideoPlayer.getOrCreateInstance(player)\n })\n}\n\nexport default VideoPlayer\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"videoplayer.js","sources":["../../src/js/plugins/videoplayer.js"],"sourcesContent":["import BaseComponent from 'bootstrap/js/src/base-component.js'\n\nimport SelectorEngine from 'bootstrap/js/src/dom/selector-engine'\nimport Manipulator from 'bootstrap/js/src/dom/manipulator'\nimport videojs from 'video.js'\nimport { initYoutubePlugin } from './util/youtube-video'\n\nconst NAME = 'videoplayer'\n\nconst SELECTOR_TOGGLE = '[data-bs-video]'\n\nconst itLang = {\n 'Audio Player': 'Lettore audio',\n 'Video Player': 'Lettore video',\n Play: 'Play',\n Pause: 'Pausa',\n Replay: 'Replay',\n 'Current Time': 'Orario attuale',\n Duration: 'Durata',\n 'Remaining Time': 'Tempo rimanente',\n 'Stream Type': 'Tipo di streaming',\n LIVE: 'LIVE',\n Loaded: 'Caricato',\n Progress: 'Stato',\n 'Progress Bar': 'Barra di avanzamento',\n 'progress bar timing: currentTime={1} duration={2}': '{1} di {2}',\n Fullscreen: 'Schermo intero',\n 'Exit Fullscreen': 'Chiudi Schermo intero',\n Mute: 'Disattiva l’audio',\n Unmute: 'Attiva l’audio',\n 'Playback Rate': 'Velocità di riproduzione',\n Subtitles: 'Sottotitoli',\n 'subtitles off': 'Senza sottotitoli',\n Captions: 'Sottotitoli non udenti',\n 'captions off': 'Senza sottotitoli non udenti',\n Chapters: 'Capitolo',\n Descriptions: 'Descrizioni',\n 'descriptions off': 'Descrizioni disattivate',\n 'Audio Track': 'Traccia audio',\n 'Volume Level': 'Livello del volume',\n 'You aborted the media playback': 'La riproduzione del filmato è stata interrotta.',\n 'A network error caused the media download to fail part-way.': 'Il download del filmato è stato interrotto a causa di un problema rete.',\n 'The media could not be loaded, either because the server or network failed or because the format is not supported.':\n 'Il filmato non può essere caricato a causa di un errore nel server o nella rete o perché il formato non viene supportato.',\n 'The media playback was aborted due to a corruption problem or because the media used features your browser did not support.':\n 'La riproduzione del filmato è stata interrotta a causa di un file danneggiato o per l’utilizzo di impostazioni non supportate dal browser.',\n 'No compatible source was found for this media.': 'Non ci sono fonti compatibili per questo filmato.',\n 'The media is encrypted and we do not have the keys to decrypt it.': 'Il contenuto multimediale è criptato e non disponiamo delle chiavi per decifrarlo.',\n 'Play Video': 'Riproduci il video',\n Close: 'Chiudi',\n 'Close Modal Dialog': 'Chiudi la finestra di dialogo',\n 'Modal Window': 'Finestra di dialogo',\n 'This is a modal window': 'Questa è una finestra di dialogo',\n 'This modal can be closed by pressing the Escape key or activating the close button.':\n 'Questa finestra di dialogo può essere chiusa premendo sul tasto Esc o attivando il pulsante di chiusura.',\n ', opens captions settings dialog': ', aprire i parametri della trascrizione dei sottotitoli',\n ', opens subtitles settings dialog': ', aprire i parametri dei sottotitoli',\n ', opens descriptions settings dialog': ', aprire i parametri delle descrizioni',\n ', selected': ', selezionato',\n 'captions settings': 'Parametri sottotitoli non udenti',\n 'subtitles settings': 'Parametri sottotitoli',\n 'descriptions settings': 'Parametri descrizioni',\n Text: 'Testo',\n White: 'Bianco',\n Black: 'Nero',\n Red: 'Rosso',\n Green: 'Verde',\n Blue: 'Blu',\n Yellow: 'Giallo',\n Magenta: 'Magenta',\n Cyan: 'Ciano',\n Background: 'Sfondo',\n Window: 'Finestra',\n Transparent: 'Trasparente',\n 'Semi-Transparent': 'Semi-Trasparente',\n Opaque: 'Opaco',\n 'Font Size': 'Dimensione dei caratteri',\n 'Text Edge Style': 'Stile dei bordi del testo',\n None: 'Nessuno',\n Uniform: 'Uniforme',\n 'Drop shadow': 'Ombra',\n 'Font Family': 'Carattere',\n 'Proportional Sans-Serif': 'Sans-Serif proporzionale',\n 'Monospace Sans-Serif': 'Sans-Serif monospaziato',\n 'Proportional Serif': 'Serif proporzionale',\n 'Monospace Serif': 'Serif monospaziato',\n 'Small Caps': 'Maiuscoletto',\n Reset: 'Reinizializza',\n 'restore all settings to the default values': 'Ripristina i valori predefiniti per tutti i parametri',\n Done: 'Fatto',\n 'Caption Settings Dialog': 'Finestra di dialogo dei parametri della trascrizione dei sottotitoli',\n 'Beginning of dialog window. Escape will cancel and close the window.':\n 'Inizio della finestra di dialogo. Il tasto Esc annullerà l’operazione e chiuderà la finestra.',\n 'End of dialog window.': 'Fine della finestra di dialogo.',\n '{1} is loading.': '{1} in fase di caricamento.',\n 'Exit Picture-in-Picture': 'Esci dalla modalità Picture-in-Picture',\n 'Picture-in-Picture': 'Picture-in-Picture',\n Color: 'Colore',\n Opacity: 'Opacità',\n 'Text Background': 'Sfondo testo',\n 'Caption Area Background': 'Sfondo area sottotitoli',\n 'Skip forward {1} seconds': 'Avanti {1} secondi',\n 'Skip backward {1} seconds': 'Indietro {1} secondi',\n}\n\nconst DEFAULT_CONFIG = { languages: { it: itLang }, language: 'it' }\n\nconst Default = {}\n\nif (typeof window !== 'undefined') {\n window.videojs = videojs\n}\n\nclass VideoPlayer extends BaseComponent {\n constructor(element, config) {\n super(element)\n element.classList.add('video-js', 'vjs-theme-bootstrap-italia', 'vjs-fluid', 'vjs-big-play-centered')\n this._config = this._getConfig(config)\n this.player = videojs(element, DEFAULT_CONFIG)\n }\n\n // Public\n\n setYouTubeVideo(url) {\n initYoutubePlugin(videojs)\n this.player.tech('youtube')\n this.player.src({ type: 'video/youtube', src: url })\n }\n\n // Getters\n\n static get NAME() {\n return NAME\n }\n\n // Private\n _getConfig(config) {\n config = {\n ...Default,\n ...Manipulator.getDataAttributes(this._element),\n ...(typeof config === 'object' ? config : {}),\n }\n return config\n }\n}\n\n/**\n * ------------------------------------------------------------------------\n * Data Api implementation\n * ------------------------------------------------------------------------\n */\n\nconst players = SelectorEngine.find(SELECTOR_TOGGLE)\nif (players.length > 0) {\n players.forEach((player) => {\n VideoPlayer.getOrCreateInstance(player)\n })\n}\n\nexport default VideoPlayer\n"],"names":[],"mappings":"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"}
package/dist/version.js CHANGED
@@ -1,7 +1,7 @@
1
1
  // bootstrap italia version variable
2
2
  // useful to check for the current version
3
3
  // eslint-disable-next-line no-unused-vars
4
- const BOOTSTRAP_ITALIA_VERSION = '2.8.5';
4
+ const BOOTSTRAP_ITALIA_VERSION = '2.8.7';
5
5
 
6
6
  export { BOOTSTRAP_ITALIA_VERSION as default };
7
7
  //# sourceMappingURL=version.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"version.js","sources":["../src/js/version.js"],"sourcesContent":["// bootstrap italia version variable\n// useful to check for the current version\n// eslint-disable-next-line no-unused-vars\nconst BOOTSTRAP_ITALIA_VERSION = '2.8.5'\nexport default BOOTSTRAP_ITALIA_VERSION\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACK,MAAC,wBAAwB,GAAG;;;;"}
1
+ {"version":3,"file":"version.js","sources":["../src/js/version.js"],"sourcesContent":["// bootstrap italia version variable\n// useful to check for the current version\n// eslint-disable-next-line no-unused-vars\nconst BOOTSTRAP_ITALIA_VERSION = '2.8.7'\nexport default BOOTSTRAP_ITALIA_VERSION\n"],"names":[],"mappings":"AAAA;AACA;AACA;AACK,MAAC,wBAAwB,GAAG;;;;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bootstrap-italia",
3
- "version": "2.8.5",
3
+ "version": "2.8.7",
4
4
  "keywords": [
5
5
  "css",
6
6
  "sass",
@@ -58,7 +58,7 @@ class BackToTop extends BaseComponent {
58
58
  }
59
59
 
60
60
  toggleShow() {
61
- if (document.scrollingElement.scrollTop > this._config.scrollLimit) {
61
+ if (typeof document !== 'undefined' && document.scrollingElement.scrollTop > this._config.scrollLimit) {
62
62
  this.show()
63
63
  } else {
64
64
  this.hide()
@@ -110,6 +110,9 @@ class Cookiebar extends BaseComponent {
110
110
  }*/
111
111
 
112
112
  static clearCookie() {
113
+ if (typeof document === 'undefined') {
114
+ return
115
+ }
113
116
  document.cookie = COOKIE_NAME + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;'
114
117
  }
115
118
 
@@ -149,6 +152,9 @@ class Cookiebar extends BaseComponent {
149
152
  var exdate = new Date()
150
153
  exdate.setDate(exdate.getDate() + COOKIE_EXPIRE)
151
154
  var c_value = escape(COOKIE_VALUE) + (COOKIE_EXPIRE == null ? '' : '; expires=' + exdate.toUTCString())
155
+ if (typeof document === 'undefined') {
156
+ return
157
+ }
152
158
  document.cookie = COOKIE_NAME + '=' + c_value + '; path=/; SameSite=Strict'
153
159
  }
154
160
 
@@ -229,6 +235,9 @@ class Cookiebar extends BaseComponent {
229
235
  }
230
236
 
231
237
  static _getCookieEU() {
238
+ if (typeof document === 'undefined') {
239
+ return
240
+ }
232
241
  var i,
233
242
  x,
234
243
  y,
@@ -270,6 +279,9 @@ EventHandler.on(document, EVENT_CLICK_DATA_API, SELECTOR_ACCEPT, function (event
270
279
  EventHandler.on(window, EVENT_LOAD_DATA_API, function () {
271
280
  const consent = Cookiebar._getCookieEU()
272
281
  if (!consent) {
282
+ if (typeof document === 'undefined') {
283
+ return
284
+ }
273
285
  const cookiebars = document.querySelectorAll(SELECTOR_COOKIE_BAR)
274
286
  cookiebars.forEach((bar) => {
275
287
  const instance = Cookiebar.getOrCreateInstance(bar)
@@ -1,5 +1,8 @@
1
1
  // Create our stylesheet
2
2
  export default (path = '/node_modules/bootstrap-italia/dist/fonts') => {
3
+ if (typeof document === 'undefined') {
4
+ return
5
+ }
3
6
  const styleNode = document.createElement('style')
4
7
  const __PUBLIC_PATH__ = window.__PUBLIC_PATH__ ? window.__PUBLIC_PATH__ : path
5
8
  styleNode.innerHTML = `