{"version":3,"sources":["jsdelivr-header.js","/npm/@mux/mux-video@0.28.1/src/polyfills/index.ts","/npm/@mux/mux-video@0.28.1/src/index.ts"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,oRCJA,IAAA,EAAA,IAAA,MAAA,UAAA,EAAA,EAAA,EAAA,CAAA,EAAA,EAAA,IAAA,EAAA,IAAA,IAAA,EAAA,UAAA,GAAA,EAAA,CAAA,EAAA,EAAA,KAAA,EAAA,EAAA,EAAA,2BAAA,IAAA,KAAA,GAAA,EAAA,IAAA,IAAA,EAAA,CAAA,EAAA,EAAA,IAAA,EAAA,IAAA,GAAA,EAAA,qDAAA,aAAA,QAAA,EAAA,IAAA,GAAA,EAAA,IAAA,EAAA,GAAA,EAAA,CAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,EAAA,0BAAA,IAAA,KAAA,EAAA,GAAA,EAAA,IAAA,EAAA,MAAM,EAAN,MACE,gBAAA,GAAmB,CACnB,mBAAA,GAAsB,CACtB,aAAA,CAAc,GACZ,OAAO,CACT,GAIF,GAAgC,oBAArB,iBAAkC,CAC3C,MAAM,UAAyB,GAE/B,WAAW,iBAAmB,CAChC,CAEA,IAjBA,EAiBM,EAAN,cAA0B,IAGpB,EAAwC,CAC5C,GAAA,CAAI,GAAe,EAGnB,MAAA,CAAO,EAAO,EAAc,GAAU,EACtC,QAAQ,GACC,KAET,OAAA,CAAQ,GAAO,EACf,YAAY,GACH,QAAQ,QAAQ,IAKzB,EAAA,IAWF,QAIM,MAAiB,CACrB,SAAU,CACR,cANJ,SAAuB,EAAkB,GACvC,OAAO,IAAI,CACb,GAME,kCACA,iBACA,YAtBF,MAKE,WAAA,CAAY,EAAkB,EAAiC,IAJ/D,EAAA,KAAA,GAME,EAAA,KAAK,EAAU,MAAA,OAAA,EAAA,EAAe,OAChC,CANA,UAAI,GACF,OAAO,EAAA,KAAK,EACd,CAKA,eAAA,GAAkB,GAclB,cACA,cACA,iBAzCF,cAA+B,KAiDzB,EAA6B,oBAAX,aAA+D,IAA9B,WAAW,eAE9D,EAAkC,EAAW,EAAiB,WAChC,GAAqC,WAAW,SCtEpF,IAAA,EASM,EAAN,cAA8B,EAAmB,EAAiB,KAAlE,WAAA,GAAA,SAAA,WAkCE,EAAA,KAAA,GA9BA,YAAI,GACF,IAAM,EAAO,KAAK,aAAa,YAE/B,OAAa,OAAT,IAEgB,KAAT,GAGF,EAEX,CAGA,YAAI,CAAS,GAEP,IADe,KAAK,WAKpB,EACF,KAAK,aAAa,WAA2B,iBAAR,EAAmB,EAAM,IAE9D,KAAK,gBAAgB,YAEzB,CAQA,qBAAI,GACF,MAAO,CACL,IAAK,CAEH,WAAY,KAAK,WACjB,cAAe,KAAK,cACpB,cAAe,KAAK,cACpB,eAAgB,KAAK,eACrB,aAAc,KAAK,aAEnB,OAAQ,CACN,IAAK,KAAK,UAGZ,OAAQ,KAAK,OACb,SAAU,KAAK,SACf,eAAgB,KAAK,eACrB,gBAAiB,KAAK,gBACtB,uBAAwB,KAAK,uBAE7B,UAAW,KAAK,UAEhB,WAAY,KAAK,YAGvB,CAEA,kBAAI,GAxEN,IAAA,EAyEI,OAAO,OAAA,EAAA,EAAA,KAAK,IAAL,EAAwB,KAAK,iBACtC,CAEA,kBAAI,CAAe,GACjB,EAAA,KAAK,EAAkB,EACzB,GAnCA,EAAA,IA2CG,UAAW,eAAe,IAAI,eACjC,EAAW,eAAe,OAAO,YAAa,GAC9C,EAAW,gBAAkB,OAGxB,EAAQ,S","file":"/npm/@mux/mux-video@0.28.1/dist/index.mjs/+esm","sourceRoot":"","sourcesContent":["/**\n * Bundled by jsDelivr using Rollup v2.79.2 and Terser v5.39.0.\n * Original file: /npm/@mux/mux-video@0.28.1/dist/index.mjs\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","/* eslint @typescript-eslint/no-empty-function: \"off\" */\n\nclass EventTarget {\n  addEventListener() {}\n  removeEventListener() {}\n  dispatchEvent(_event: Event) {\n    return true;\n  }\n}\n\n// @github/template-parts requires DocumentFragment to be available on globalThis for SSR\nif (typeof DocumentFragment === 'undefined') {\n  class DocumentFragment extends EventTarget {}\n  // @ts-ignore\n  globalThis.DocumentFragment = DocumentFragment;\n}\n\nclass HTMLElement extends EventTarget {}\nclass HTMLVideoElement extends EventTarget {}\n\nconst customElements: CustomElementRegistry = {\n  get(_name: string) {\n    return undefined;\n  },\n  define(_name, _constructor, _options) {},\n  getName(_constructor) {\n    return null;\n  },\n  upgrade(_root) {},\n  whenDefined(_name) {\n    return Promise.resolve(HTMLElement as unknown as CustomElementConstructor);\n  },\n};\n\nclass CustomEvent {\n  #detail;\n  get detail() {\n    return this.#detail;\n  }\n  constructor(_typeArg: string, eventInitDict: CustomEventInit = {}) {\n    // super(typeArg, eventInitDict);\n    this.#detail = eventInitDict?.detail;\n  }\n  initCustomEvent() {}\n}\n\nfunction createElement(_tagName: string, _options?: ElementCreationOptions): HTMLElement {\n  return new HTMLElement();\n}\n\nconst globalThisShim = {\n  document: {\n    createElement,\n  },\n  DocumentFragment,\n  customElements,\n  CustomEvent,\n  EventTarget,\n  HTMLElement,\n  HTMLVideoElement,\n};\n\n// const isServer = typeof window === 'undefined' || typeof globalThis.customElements === 'undefined';\n// const GlobalThis = isServer ? globalThisShim : globalThis;\n// const Document = isServer ? globalThisShim.document : globalThis.document;\n//\n// export { GlobalThis as globalThis, Document as document };\nconst isServer = typeof window === 'undefined' || typeof globalThis.customElements === 'undefined';\ntype GlobalThis = typeof globalThis;\nconst internalGlobalThis: GlobalThis = (isServer ? globalThisShim : globalThis) as GlobalThis;\nconst internalDocument: Document = (isServer ? globalThisShim.document : globalThis.document) as Document;\n\nexport { internalGlobalThis as globalThis, internalDocument as document };\n","import { globalThis } from './polyfills';\nimport { Autoplay } from '@mux/playback-core';\nimport { MuxVideoBaseElement } from '@mux/mux-video/base';\nimport { CastableMediaMixin } from 'castable-video/castable-mixin.js';\nimport { MediaTracksMixin } from 'media-tracks';\n\nexport * from '@mux/mux-video/base';\n\n// castable-video should be mixed in last so that it can override load().\nclass MuxVideoElement extends CastableMediaMixin(MediaTracksMixin(MuxVideoBaseElement)) {\n  // Define autoplay in the most outer layer because mux-video accepts string | boolean\n  // which is not compatible the CustomVideoElement.autoplay boolean only type.\n  /** @ts-ignore */\n  get autoplay(): Autoplay {\n    const attr = this.getAttribute('autoplay');\n\n    if (attr === null) {\n      return false;\n    } else if (attr === '') {\n      return true;\n    } else {\n      return attr as Autoplay;\n    }\n  }\n\n  /** @ts-ignore */\n  set autoplay(val: Autoplay) {\n    const currentVal = this.autoplay;\n    if (val === currentVal) {\n      return;\n    }\n\n    if (val) {\n      this.setAttribute('autoplay', typeof val === 'string' ? val : '');\n    } else {\n      this.removeAttribute('autoplay');\n    }\n  }\n\n  // NOTE: CastableMediaMixin needs to be a subclass of whatever implements the load() method\n  // (i.e. MuxVideoBaseElement), but we're overriding castCustomData to provide mux-specific\n  // values by default, so it needs to be defined here (i.e. in the composed subclass of\n  // CastableMediaMixin). (CJP)\n  #castCustomData: Record<string, any> | undefined;\n\n  get muxCastCustomData() {\n    return {\n      mux: {\n        // Mux Video values\n        playbackId: this.playbackId,\n        minResolution: this.minResolution,\n        maxResolution: this.maxResolution,\n        renditionOrder: this.renditionOrder,\n        customDomain: this.customDomain,\n        /** @TODO Add this.tokens to MuxVideoElement (CJP) */\n        tokens: {\n          drm: this.drmToken,\n        },\n        // Mux Data values\n        envKey: this.envKey,\n        metadata: this.metadata,\n        disableCookies: this.disableCookies,\n        disableTracking: this.disableTracking,\n        beaconCollectionDomain: this.beaconCollectionDomain,\n        // Playback values\n        startTime: this.startTime,\n        // Other values\n        preferCmcd: this.preferCmcd,\n      },\n    } as const;\n  }\n\n  get castCustomData() {\n    return this.#castCustomData ?? this.muxCastCustomData;\n  }\n\n  set castCustomData(val: Record<string, any> | undefined) {\n    this.#castCustomData = val;\n  }\n}\n\ntype MuxVideoElementType = typeof MuxVideoElement;\ndeclare global {\n  var MuxVideoElement: MuxVideoElementType; // eslint-disable-line\n}\n\nif (!globalThis.customElements.get('mux-video')) {\n  globalThis.customElements.define('mux-video', MuxVideoElement);\n  globalThis.MuxVideoElement = MuxVideoElement;\n}\n\nexport default MuxVideoElement;\n"]}