@mux/mux-video
Version:
A custom mux video element for the browser that Just Works™
13 lines (11 loc) • 3.54 kB
JavaScript
;"use client";var F=Object.create;var y=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var D=Object.getOwnPropertyNames;var Z=Object.getPrototypeOf,$=Object.prototype.hasOwnProperty;var q=(t,n)=>{for(var o in n)y(t,o,{get:n[o],enumerable:!0})},A=(t,n,o,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let c of D(n))!$.call(t,c)&&c!==o&&y(t,c,{get:()=>n[c],enumerable:!(s=j(n,c))||s.enumerable});return t};var k=(t,n,o)=>(o=t!=null?F(Z(t)):{},A(n||!t||!t.__esModule?y(o,"default",{value:t,enumerable:!0}):o,t)),z=t=>A(y({},"__esModule",{value:!0}),t);var U={};q(U,{default:()=>K});module.exports=z(U);var S=k(require("@mux/mux-video/ads")),x=k(require("react"));var B=new Set(["style","children","ref","key","suppressContentEditableWarning","suppressHydrationWarning","dangerouslySetInnerHTML"]),G={className:"class",htmlFor:"for"};function J(t){return t.toLowerCase()}function H(t){if(typeof t=="boolean")return t?"":void 0;if(typeof t!="function"&&!(typeof t=="object"&&t!==null))return t}function _({react:t,tagName:n,elementClass:o,events:s,displayName:c,defaultProps:O,toAttributeName:R=J,toAttributeValue:W=H}){let g=Number.parseInt(t.version)>=19,w=t.forwardRef((h,p)=>{var E,v,L,P,M;let u=t.useRef(null),b=t.useRef(new Map),m={},T={},a={},l={};for(let[e,r]of Object.entries(h)){if(B.has(e)){a[e]=r;continue}let i=R((E=G[e])!=null?E:e);if(o.prototype&&e in o.prototype&&!(e in((L=(v=globalThis.HTMLElement)==null?void 0:v.prototype)!=null?L:{}))&&!((P=o.observedAttributes)!=null&&P.some(d=>d===i))){l[e]=r;continue}if(e.startsWith("on")){m[e]=r;continue}let f=W(r);if(i&&f!=null&&(T[i]=String(f),g||(a[i]=f)),i&&g){let d=H(r);f!==d?a[i]=f:a[i]=r}}if(typeof window!="undefined"){for(let e in m){let r=m[e],i=e.endsWith("Capture"),f=((M=s==null?void 0:s[e])!=null?M:e.slice(2).toLowerCase()).slice(0,i?-7:void 0);t.useLayoutEffect(()=>{let d=u==null?void 0:u.current;if(!(!d||typeof r!="function"))return d.addEventListener(f,r,i),()=>{d.removeEventListener(f,r,i)}},[u==null?void 0:u.current,r])}t.useLayoutEffect(()=>{if(u.current===null)return;let e=new Map;for(let r in l)N(u.current,r,l[r]),b.current.delete(r),e.set(r,l[r]);for(let[r,i]of b.current)N(u.current,r,void 0);b.current=e})}if(typeof window=="undefined"&&(o!=null&&o.getTemplateHTML)&&(o!=null&&o.shadowRootOptions)){let{mode:e,delegatesFocus:r}=o.shadowRootOptions,i=t.createElement("template",{shadowrootmode:e,shadowrootdelegatesfocus:r,dangerouslySetInnerHTML:{__html:o.getTemplateHTML(T,h)},key:"ce-la-react-ssr-template-shadow-root"});a.children=[i,a.children]}return t.createElement(n,{...O,...a,ref:t.useCallback(e=>{u.current=e,typeof p=="function"?p(e):p!==null&&(p.current=e)},[p])},a.children)});return w.displayName=c!=null?c:o.name,w}function N(t,n,o){var s,c;t[n]=o,o==null&&n in((c=(s=globalThis.HTMLElement)==null?void 0:s.prototype)!=null?c:{})&&t.removeAttribute(n)}var K=_({react:x.default,tagName:"mux-video",displayName:"MuxVideoAds",elementClass:S.default,toAttributeName:Q}),I={autoPlay:"autoplay",controlsList:"controlslist",crossOrigin:"crossorigin",playsInline:"playsinline",disablePictureInPicture:"disablepictureinpicture",disableRemotePlayback:"disableremoteplayback"};function Q(t){return I[t]?I[t]:t.replace(/([A-Z])/g,"-$1").toLowerCase()}
/*! Bundled license information:
ce-la-react/dist/ce-la-react.js:
(**
* @license
* Copyright 2018 Google LLC
* SPDX-License-Identifier: BSD-3-Clause
*
* Modified version of `@lit/react` for vanilla custom elements with support for SSR.
*)
*/