@halibegic/react-video-player 0.0.0
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.
- package/LICENSE +21 -0
- package/README.md +55 -0
- package/dist/components/hooks/use-debounce.d.ts +2 -0
- package/dist/components/live-player.d.ts +6 -0
- package/dist/components/player/player-provider.d.ts +3 -0
- package/dist/components/player/player-tech.d.ts +7 -0
- package/dist/components/player/tech/player-dash-tech.d.ts +6 -0
- package/dist/components/player/tech/player-hls-tech.d.ts +6 -0
- package/dist/components/player/ui/player-fullscreen.d.ts +3 -0
- package/dist/components/player/ui/player-loading.d.ts +4 -0
- package/dist/components/ui/button.d.ts +12 -0
- package/dist/components/ui/slider.d.ts +4 -0
- package/dist/components/ui/spinner.d.ts +3 -0
- package/dist/components/vod-player.d.ts +6 -0
- package/dist/config/player.d.ts +5 -0
- package/dist/index-UZF7kuPZ.js +3642 -0
- package/dist/index-UZF7kuPZ.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/player-dash-tech-DDeyebd7.js +50 -0
- package/dist/player-dash-tech-DDeyebd7.js.map +1 -0
- package/dist/player-hls-tech-a87iikPB.js +29 -0
- package/dist/player-hls-tech-a87iikPB.js.map +1 -0
- package/dist/react-video-player.es.js +6 -0
- package/dist/react-video-player.es.js.map +1 -0
- package/dist/react-video-player.umd.js +58 -0
- package/dist/react-video-player.umd.js.map +1 -0
- package/dist/stores/player-store.d.ts +75 -0
- package/dist/utils/cn.d.ts +2 -0
- package/dist/utils/date-time.d.ts +2 -0
- package/dist/utils/device.d.ts +2 -0
- package/dist/utils/fullscreen.d.ts +19 -0
- package/dist/utils/player.d.ts +3 -0
- package/package.json +87 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { u as g } from "./index-UZF7kuPZ.js";
|
|
2
|
+
import * as h from "dashjs";
|
|
3
|
+
import { useRef as d, useCallback as s, useEffect as y } from "react";
|
|
4
|
+
const m = ({ url: n, isLive: c }) => {
|
|
5
|
+
const e = d(null), o = g((t) => t.techRef), r = s(
|
|
6
|
+
(t) => {
|
|
7
|
+
const i = t.codecs;
|
|
8
|
+
return !(i && new RegExp(/hev1|hvc1/).test(i));
|
|
9
|
+
},
|
|
10
|
+
[]
|
|
11
|
+
), a = s(() => {
|
|
12
|
+
if (!o.current) return;
|
|
13
|
+
const u = c ? {
|
|
14
|
+
abr: {
|
|
15
|
+
initialBitrate: {
|
|
16
|
+
video: 2e5
|
|
17
|
+
// KB
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
protection: {
|
|
21
|
+
// https://github.com/Dash-Industry-Forum/dash.js/issues/4752
|
|
22
|
+
ignoreKeyStatuses: !0
|
|
23
|
+
}
|
|
24
|
+
} : {};
|
|
25
|
+
try {
|
|
26
|
+
e.current = h.MediaPlayer().create(), console.log("[Player] URL", n), console.log("[Player] Version", e.current.getVersion()), console.log("[Player] Config init", JSON.stringify(u)), e.current.registerCustomCapabilitiesFilter(
|
|
27
|
+
r
|
|
28
|
+
), e.current.initialize(
|
|
29
|
+
o.current,
|
|
30
|
+
n,
|
|
31
|
+
/* autoplay */
|
|
32
|
+
!0
|
|
33
|
+
), e.current.updateSettings(u), console.log(
|
|
34
|
+
"[Player] Config current",
|
|
35
|
+
JSON.stringify(e.current.getSettings())
|
|
36
|
+
);
|
|
37
|
+
} catch (f) {
|
|
38
|
+
throw new Error(`Error initializing Dash: ${f}`);
|
|
39
|
+
}
|
|
40
|
+
}, [r, o, n, c]), l = s(() => {
|
|
41
|
+
e.current && (e.current.unregisterCustomCapabilitiesFilter(
|
|
42
|
+
r
|
|
43
|
+
), e.current.destroy(), e.current = null, console.log("[Player] Dash destroyed"));
|
|
44
|
+
}, [r]);
|
|
45
|
+
return y(() => (a(), l), [l, a]), null;
|
|
46
|
+
};
|
|
47
|
+
export {
|
|
48
|
+
m as default
|
|
49
|
+
};
|
|
50
|
+
//# sourceMappingURL=player-dash-tech-DDeyebd7.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"player-dash-tech-DDeyebd7.js","sources":["../src/components/player/tech/player-dash-tech.tsx"],"sourcesContent":["import { usePlayerStore } from \"@/stores/player-store\";\nimport * as dashjs from \"dashjs\";\nimport { useCallback, useEffect, useRef } from \"react\";\n\ntype PlayerDashTechProps = {\n url: string;\n isLive: boolean;\n};\n\nconst PlayerDashTech = ({ url, isLive }: PlayerDashTechProps) => {\n const dashRef = useRef<dashjs.MediaPlayerClass | null>(null);\n const techRef = usePlayerStore((s) => s.techRef);\n\n const handleCapabilitiesFilter = useCallback(\n (representation: dashjs.Representation) => {\n const codecs = representation.codecs;\n\n // Disable HEVC and H.265 codecs\n if (codecs && new RegExp(/hev1|hvc1/).test(codecs)) {\n return false;\n }\n\n return true;\n },\n []\n );\n\n const prepareDash = useCallback(() => {\n if (!techRef.current) return;\n\n const liveConfig = {\n abr: {\n initialBitrate: {\n video: 200_000, // KB\n },\n },\n protection: {\n // https://github.com/Dash-Industry-Forum/dash.js/issues/4752\n ignoreKeyStatuses: true,\n },\n } as dashjs.MediaPlayerSettingClass;\n\n const vodConfig = {} as dashjs.MediaPlayerSettingClass;\n\n const config = isLive ? liveConfig : vodConfig;\n\n try {\n dashRef.current = dashjs.MediaPlayer().create();\n\n console.log(\"[Player] URL\", url);\n console.log(\"[Player] Version\", dashRef.current.getVersion());\n console.log(\"[Player] Config init\", JSON.stringify(config));\n\n dashRef.current.registerCustomCapabilitiesFilter(\n handleCapabilitiesFilter\n );\n\n dashRef.current.initialize(techRef.current, url, /* autoplay */ true);\n\n dashRef.current.updateSettings(config);\n\n console.log(\n \"[Player] Config current\",\n JSON.stringify(dashRef.current.getSettings())\n );\n } catch (error) {\n throw new Error(`Error initializing Dash: ${error}`);\n }\n }, [handleCapabilitiesFilter, techRef, url, isLive]);\n\n const cleanupDash = useCallback(() => {\n if (dashRef.current) {\n dashRef.current.unregisterCustomCapabilitiesFilter(\n handleCapabilitiesFilter\n );\n\n dashRef.current.destroy();\n dashRef.current = null;\n\n console.log(\"[Player] Dash destroyed\");\n }\n }, [handleCapabilitiesFilter]);\n\n useEffect(() => {\n prepareDash();\n\n return cleanupDash;\n }, [cleanupDash, prepareDash]);\n\n return null;\n};\n\nexport default PlayerDashTech;\n"],"names":["PlayerDashTech","url","isLive","dashRef","useRef","techRef","usePlayerStore","s","handleCapabilitiesFilter","useCallback","representation","codecs","prepareDash","config","dashjs","error","cleanupDash","useEffect"],"mappings":";;;AASA,MAAMA,IAAiB,CAAC,EAAE,KAAAC,GAAK,QAAAC,QAAkC;AAC/D,QAAMC,IAAUC,EAAuC,IAAI,GACrDC,IAAUC,EAAe,CAACC,MAAMA,EAAE,OAAO,GAEzCC,IAA2BC;AAAA,IAC/B,CAACC,MAA0C;AACzC,YAAMC,IAASD,EAAe;AAG9B,aAAI,EAAAC,KAAU,IAAI,OAAO,WAAW,EAAE,KAAKA,CAAM;AAAA,IAKnD;AAAA,IACA,CAAA;AAAA,EAAC,GAGGC,IAAcH,EAAY,MAAM;AACpC,QAAI,CAACJ,EAAQ,QAAS;AAgBtB,UAAMQ,IAASX,IAdI;AAAA,MACjB,KAAK;AAAA,QACH,gBAAgB;AAAA,UACd,OAAO;AAAA;AAAA,QAAA;AAAA,MACT;AAAA,MAEF,YAAY;AAAA;AAAA,QAEV,mBAAmB;AAAA,MAAA;AAAA,IACrB,IAGgB,CAAA;AAIlB,QAAI;AACF,MAAAC,EAAQ,UAAUW,EAAO,YAAA,EAAc,OAAA,GAEvC,QAAQ,IAAI,gBAAgBb,CAAG,GAC/B,QAAQ,IAAI,oBAAoBE,EAAQ,QAAQ,YAAY,GAC5D,QAAQ,IAAI,wBAAwB,KAAK,UAAUU,CAAM,CAAC,GAE1DV,EAAQ,QAAQ;AAAA,QACdK;AAAA,MAAA,GAGFL,EAAQ,QAAQ;AAAA,QAAWE,EAAQ;AAAA,QAASJ;AAAA;AAAA,QAAoB;AAAA,MAAA,GAEhEE,EAAQ,QAAQ,eAAeU,CAAM,GAErC,QAAQ;AAAA,QACN;AAAA,QACA,KAAK,UAAUV,EAAQ,QAAQ,aAAa;AAAA,MAAA;AAAA,IAEhD,SAASY,GAAO;AACd,YAAM,IAAI,MAAM,4BAA4BA,CAAK,EAAE;AAAA,IACrD;AAAA,EACF,GAAG,CAACP,GAA0BH,GAASJ,GAAKC,CAAM,CAAC,GAE7Cc,IAAcP,EAAY,MAAM;AACpC,IAAIN,EAAQ,YACVA,EAAQ,QAAQ;AAAA,MACdK;AAAA,IAAA,GAGFL,EAAQ,QAAQ,QAAA,GAChBA,EAAQ,UAAU,MAElB,QAAQ,IAAI,yBAAyB;AAAA,EAEzC,GAAG,CAACK,CAAwB,CAAC;AAE7B,SAAAS,EAAU,OACRL,EAAA,GAEOI,IACN,CAACA,GAAaJ,CAAW,CAAC,GAEtB;AACT;"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { u as g } from "./index-UZF7kuPZ.js";
|
|
2
|
+
import r from "hls.js";
|
|
3
|
+
import { useRef as E, useCallback as c, useEffect as h } from "react";
|
|
4
|
+
function y({ url: n, isLive: l }) {
|
|
5
|
+
const e = E(null), o = g((u) => u.techRef), t = c(() => {
|
|
6
|
+
e.current && (console.log("[Player][Event]", "MEDIA_ATTACHED"), e.current.loadSource(n));
|
|
7
|
+
}, [n]), s = c(() => {
|
|
8
|
+
if (!o.current) return;
|
|
9
|
+
const a = l ? {
|
|
10
|
+
backBufferLength: 10,
|
|
11
|
+
startLevel: -1
|
|
12
|
+
} : {
|
|
13
|
+
backBufferLength: 60,
|
|
14
|
+
startLevel: -1
|
|
15
|
+
};
|
|
16
|
+
try {
|
|
17
|
+
console.log("[Player] URL", n), console.log("[Player] Config", JSON.stringify(a)), console.log("[Player] Version", r.version), e.current = new r(a), e.current.attachMedia(o.current), e.current.on(r.Events.MEDIA_ATTACHED, t);
|
|
18
|
+
} catch (i) {
|
|
19
|
+
throw new Error(`Error initializing Hls: ${i}`);
|
|
20
|
+
}
|
|
21
|
+
}, [t, l, o, n]), f = c(() => {
|
|
22
|
+
e.current && (e.current.off(r.Events.MEDIA_ATTACHED, t), e.current.destroy(), e.current = null);
|
|
23
|
+
}, [t]);
|
|
24
|
+
return h(() => (r.isSupported() && s(), f), [f, s]), null;
|
|
25
|
+
}
|
|
26
|
+
export {
|
|
27
|
+
y as default
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=player-hls-tech-a87iikPB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"player-hls-tech-a87iikPB.js","sources":["../src/components/player/tech/player-hls-tech.tsx"],"sourcesContent":["import { usePlayerStore } from \"@/stores/player-store\";\nimport Hls, { type HlsConfig } from \"hls.js\";\nimport { useCallback, useEffect, useRef } from \"react\";\n\ntype PlayerHlsTechProps = {\n url: string;\n isLive: boolean;\n};\n\nfunction PlayerHlsTech({ url, isLive }: PlayerHlsTechProps) {\n const hlsRef = useRef<Hls | null>(null);\n const techRef = usePlayerStore((s) => s.techRef);\n\n const handleMediaAttached = useCallback((): void => {\n if (!hlsRef.current) return;\n\n console.log(\"[Player][Event]\", \"MEDIA_ATTACHED\");\n\n hlsRef.current.loadSource(url);\n }, [url]);\n\n const prepareHls = useCallback(() => {\n if (!techRef.current) return;\n\n const liveConfig = {\n backBufferLength: 10,\n startLevel: -1,\n } as HlsConfig;\n\n const vodConfig = {\n backBufferLength: 60,\n startLevel: -1,\n } as HlsConfig;\n\n const config = isLive ? liveConfig : vodConfig;\n\n try {\n console.log(\"[Player] URL\", url);\n console.log(\"[Player] Config\", JSON.stringify(config));\n console.log(\"[Player] Version\", Hls.version);\n\n hlsRef.current = new Hls(config) as Hls;\n\n hlsRef.current.attachMedia(techRef.current);\n\n hlsRef.current.on(Hls.Events.MEDIA_ATTACHED, handleMediaAttached);\n } catch (error) {\n throw new Error(`Error initializing Hls: ${error}`);\n }\n }, [handleMediaAttached, isLive, techRef, url]);\n\n const cleanupHls = useCallback(() => {\n if (hlsRef.current) {\n hlsRef.current.off(Hls.Events.MEDIA_ATTACHED, handleMediaAttached);\n\n hlsRef.current.destroy();\n hlsRef.current = null;\n }\n }, [handleMediaAttached]);\n\n useEffect(() => {\n if (Hls.isSupported()) prepareHls();\n\n return cleanupHls;\n }, [cleanupHls, prepareHls]);\n\n return null;\n}\n\nexport default PlayerHlsTech;\n"],"names":["PlayerHlsTech","url","isLive","hlsRef","useRef","techRef","usePlayerStore","s","handleMediaAttached","useCallback","prepareHls","config","Hls","error","cleanupHls","useEffect"],"mappings":";;;AASA,SAASA,EAAc,EAAE,KAAAC,GAAK,QAAAC,KAA8B;AAC1D,QAAMC,IAASC,EAAmB,IAAI,GAChCC,IAAUC,EAAe,CAACC,MAAMA,EAAE,OAAO,GAEzCC,IAAsBC,EAAY,MAAY;AAClD,IAAKN,EAAO,YAEZ,QAAQ,IAAI,mBAAmB,gBAAgB,GAE/CA,EAAO,QAAQ,WAAWF,CAAG;AAAA,EAC/B,GAAG,CAACA,CAAG,CAAC,GAEFS,IAAaD,EAAY,MAAM;AACnC,QAAI,CAACJ,EAAQ,QAAS;AAYtB,UAAMM,IAAST,IAVI;AAAA,MACjB,kBAAkB;AAAA,MAClB,YAAY;AAAA,IAAA,IAGI;AAAA,MAChB,kBAAkB;AAAA,MAClB,YAAY;AAAA,IAAA;AAKd,QAAI;AACF,cAAQ,IAAI,gBAAgBD,CAAG,GAC/B,QAAQ,IAAI,mBAAmB,KAAK,UAAUU,CAAM,CAAC,GACrD,QAAQ,IAAI,oBAAoBC,EAAI,OAAO,GAE3CT,EAAO,UAAU,IAAIS,EAAID,CAAM,GAE/BR,EAAO,QAAQ,YAAYE,EAAQ,OAAO,GAE1CF,EAAO,QAAQ,GAAGS,EAAI,OAAO,gBAAgBJ,CAAmB;AAAA,IAClE,SAASK,GAAO;AACd,YAAM,IAAI,MAAM,2BAA2BA,CAAK,EAAE;AAAA,IACpD;AAAA,EACF,GAAG,CAACL,GAAqBN,GAAQG,GAASJ,CAAG,CAAC,GAExCa,IAAaL,EAAY,MAAM;AACnC,IAAIN,EAAO,YACTA,EAAO,QAAQ,IAAIS,EAAI,OAAO,gBAAgBJ,CAAmB,GAEjEL,EAAO,QAAQ,QAAA,GACfA,EAAO,UAAU;AAAA,EAErB,GAAG,CAACK,CAAmB,CAAC;AAExB,SAAAO,EAAU,OACJH,EAAI,YAAA,KAAeF,EAAA,GAEhBI,IACN,CAACA,GAAYJ,CAAU,CAAC,GAEpB;AACT;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"react-video-player.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
(function(D,y){typeof exports=="object"&&typeof module<"u"?y(exports,require("react"),require("hls.js"),require("dashjs")):typeof define=="function"&&define.amd?define(["exports","react","hls.js","dashjs"],y):(D=typeof globalThis<"u"?globalThis:D||self,y(D.ReactVideoPlayer={},D.React,D.Hls,D.dashjs))})(this,(function(D,y,se,ar){"use strict";function Te(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const N=Te(y),ir=Te(ar);var ue={exports:{}},ae={};/**
|
|
2
|
+
* @license React
|
|
3
|
+
* react-jsx-runtime.production.js
|
|
4
|
+
*
|
|
5
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
6
|
+
*
|
|
7
|
+
* This source code is licensed under the MIT license found in the
|
|
8
|
+
* LICENSE file in the root directory of this source tree.
|
|
9
|
+
*/var Ce;function lr(){if(Ce)return ae;Ce=1;var e=Symbol.for("react.transitional.element"),t=Symbol.for("react.fragment");function r(n,o,a){var i=null;if(a!==void 0&&(i=""+a),o.key!==void 0&&(i=""+o.key),"key"in o){a={};for(var d in o)d!=="key"&&(a[d]=o[d])}else a=o;return o=a.ref,{$$typeof:e,type:n,key:i,ref:o!==void 0?o:null,props:a}}return ae.Fragment=t,ae.jsx=r,ae.jsxs=r,ae}var ie={};/**
|
|
10
|
+
* @license React
|
|
11
|
+
* react-jsx-runtime.development.js
|
|
12
|
+
*
|
|
13
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
14
|
+
*
|
|
15
|
+
* This source code is licensed under the MIT license found in the
|
|
16
|
+
* LICENSE file in the root directory of this source tree.
|
|
17
|
+
*/var Re;function cr(){return Re||(Re=1,process.env.NODE_ENV!=="production"&&(function(){function e(s){if(s==null)return null;if(typeof s=="function")return s.$$typeof===ge?null:s.displayName||s.name||null;if(typeof s=="string")return s;switch(s){case P:return"Fragment";case I:return"Profiler";case M:return"StrictMode";case x:return"Suspense";case q:return"SuspenseList";case F:return"Activity"}if(typeof s=="object")switch(typeof s.tag=="number"&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),s.$$typeof){case A:return"Portal";case $:return(s.displayName||"Context")+".Provider";case X:return(s._context.displayName||"Context")+".Consumer";case G:var b=s.render;return s=s.displayName,s||(s=b.displayName||b.name||"",s=s!==""?"ForwardRef("+s+")":"ForwardRef"),s;case Z:return b=s.displayName||null,b!==null?b:e(s.type)||"Memo";case g:b=s._payload,s=s._init;try{return e(s(b))}catch{}}return null}function t(s){return""+s}function r(s){try{t(s);var b=!1}catch{b=!0}if(b){b=console;var S=b.error,k=typeof Symbol=="function"&&Symbol.toStringTag&&s[Symbol.toStringTag]||s.constructor.name||"Object";return S.call(b,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",k),t(s)}}function n(s){if(s===P)return"<>";if(typeof s=="object"&&s!==null&&s.$$typeof===g)return"<...>";try{var b=e(s);return b?"<"+b+">":"<...>"}catch{return"<...>"}}function o(){var s=ne.A;return s===null?null:s.getOwner()}function a(){return Error("react-stack-top-frame")}function i(s){if(K.call(s,"key")){var b=Object.getOwnPropertyDescriptor(s,"key").get;if(b&&b.isReactWarning)return!1}return s.key!==void 0}function d(s,b){function S(){B||(B=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",b))}S.isReactWarning=!0,Object.defineProperty(s,"key",{get:S,configurable:!0})}function u(){var s=e(this.type);return O[s]||(O[s]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),s=this.props.ref,s!==void 0?s:null}function m(s,b,S,k,T,z,oe,C){return S=z.ref,s={$$typeof:L,type:s,key:b,props:z,_owner:T},(S!==void 0?S:null)!==null?Object.defineProperty(s,"ref",{enumerable:!1,get:u}):Object.defineProperty(s,"ref",{enumerable:!1,value:null}),s._store={},Object.defineProperty(s._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(s,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(s,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:oe}),Object.defineProperty(s,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:C}),Object.freeze&&(Object.freeze(s.props),Object.freeze(s)),s}function f(s,b,S,k,T,z,oe,C){var _=b.children;if(_!==void 0)if(k)if(be(_)){for(k=0;k<_.length;k++)w(_[k]);Object.freeze&&Object.freeze(_)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else w(_);if(K.call(b,"key")){_=e(s);var V=Object.keys(b).filter(function(de){return de!=="key"});k=0<V.length?"{key: someKey, "+V.join(": ..., ")+": ...}":"{key: someKey}",ce[_+k]||(V=0<V.length?"{"+V.join(": ..., ")+": ...}":"{}",console.error(`A props object containing a "key" prop is being spread into JSX:
|
|
18
|
+
let props = %s;
|
|
19
|
+
<%s {...props} />
|
|
20
|
+
React keys must be passed directly to JSX without using spread:
|
|
21
|
+
let props = %s;
|
|
22
|
+
<%s key={someKey} {...props} />`,k,_,V,_),ce[_+k]=!0)}if(_=null,S!==void 0&&(r(S),_=""+S),i(b)&&(r(b.key),_=""+b.key),"key"in b){S={};for(var H in b)H!=="key"&&(S[H]=b[H])}else S=b;return _&&d(S,typeof s=="function"?s.displayName||s.name||"Unknown":s),m(s,_,z,T,o(),S,oe,C)}function w(s){typeof s=="object"&&s!==null&&s.$$typeof===L&&s._store&&(s._store.validated=1)}var R=y,L=Symbol.for("react.transitional.element"),A=Symbol.for("react.portal"),P=Symbol.for("react.fragment"),M=Symbol.for("react.strict_mode"),I=Symbol.for("react.profiler"),X=Symbol.for("react.consumer"),$=Symbol.for("react.context"),G=Symbol.for("react.forward_ref"),x=Symbol.for("react.suspense"),q=Symbol.for("react.suspense_list"),Z=Symbol.for("react.memo"),g=Symbol.for("react.lazy"),F=Symbol.for("react.activity"),ge=Symbol.for("react.client.reference"),ne=R.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K=Object.prototype.hasOwnProperty,be=Array.isArray,Q=console.createTask?console.createTask:function(){return null};R={react_stack_bottom_frame:function(s){return s()}};var B,O={},W=R.react_stack_bottom_frame.bind(R,a)(),p=Q(n(a)),ce={};ie.Fragment=P,ie.jsx=function(s,b,S,k,T){var z=1e4>ne.recentlyCreatedOwnerStacks++;return f(s,b,S,!1,k,T,z?Error("react-stack-top-frame"):W,z?Q(n(s)):p)},ie.jsxs=function(s,b,S,k,T){var z=1e4>ne.recentlyCreatedOwnerStacks++;return f(s,b,S,!0,k,T,z?Error("react-stack-top-frame"):W,z?Q(n(s)):p)}})()),ie}var je;function dr(){return je||(je=1,process.env.NODE_ENV==="production"?ue.exports=lr():ue.exports=cr()),ue.exports}var h=dr();const _e=e=>{let t;const r=new Set,n=(m,f)=>{const w=typeof m=="function"?m(t):m;if(!Object.is(w,t)){const R=t;t=f??(typeof w!="object"||w===null)?w:Object.assign({},t,w),r.forEach(L=>L(t,R))}},o=()=>t,d={setState:n,getState:o,getInitialState:()=>u,subscribe:m=>(r.add(m),()=>r.delete(m))},u=t=e(n,o,d);return d},ur=(e=>e?_e(e):_e),fr=e=>e;function Ae(e,t=fr){const r=y.useSyncExternalStore(e.subscribe,y.useCallback(()=>t(e.getState()),[e,t]),y.useCallback(()=>t(e.getInitialState()),[e,t]));return y.useDebugValue(r),r}const ze=e=>{const t=ur(e),r=n=>Ae(t,n);return Object.assign(r,t),r},mr=(e=>e?ze(e):ze);function pr(e,t,r){const n={days:86400,hours:3600,minutes:60,seconds:1,milliseconds:.001};return e*(n[t]/n[r])}function gr(e){return pr(e,"milliseconds","seconds")}function br(e){const t=typeof window<"u"&&window.navigator?.userAgent||"";return e.test(t)}const Ne=br(/iPhone|iPad|iPod/i);function hr(){const e=document;return!!(e.fullscreenElement||e.mozFullScreenElement||e.webkitFullscreenElement||e.msFullscreenElement)}function yr(e){e.requestFullscreen?e.requestFullscreen():e.msRequestFullscreen?e.msRequestFullscreen():e.webkitRequestFullScreen?e.webkitRequestFullScreen():e.webkitEnterFullScreen?e.webkitEnterFullScreen():e.mozRequestFullScreen&&e.mozRequestFullScreen()}function vr(e){e.exitFullscreen?e.exitFullscreen():e.msExitFullscreen?e.msExitFullscreen():e.webkitExitFullscreen?e.webkitExitFullscreen():e.mozCancelFullScreen&&e.mozCancelFullScreen()}function xr(e,t){return e.addEventListener("fullscreenchange",t),e.addEventListener("webkitfullscreenchange",t),e.addEventListener("mozfullscreenchange",t),e.addEventListener("MSFullscreenChange",t),()=>{e.removeEventListener("fullscreenchange",t),e.removeEventListener("webkitfullscreenchange",t),e.removeEventListener("mozfullscreenchange",t),e.removeEventListener("MSFullscreenChange",t)}}const kr=(e,t)=>({currentTime:0,duration:0,isEnded:!1,isLoading:!1,isLoop:!1,isMetaLoaded:!1,isPlaying:!1,isReady:!1,isStarted:!1,pauseTime:0,seekTime:-1,startTime:-1,volume:100,destroy:()=>{},handleDurationChange:()=>{const r=t().techRef.current;r&&e({duration:r.duration})},handleEnd:()=>{t().techRef.current&&e({isEnded:!0,isLoading:!1,isMetaLoaded:!1,isPlaying:!1})},handleLoadedMetadata:()=>{const r=t().techRef.current;r&&(r.loop=t().isLoop,r.volume=r.muted?0:1,t().startTime!==-1&&(r.currentTime=t().startTime),e({currentTime:t().startTime!==-1?t().startTime:r.currentTime,duration:r.duration,startTime:-1,isMetaLoaded:!0,volume:r.muted?0:100}))},handleLoadStart:()=>{const r=t().techRef.current;r&&(e({isReady:!0}),r.play().then(()=>{e({isEnded:!1,isLoading:!1,isPlaying:!0,isStarted:!0,pauseTime:0})}).catch(n=>e(()=>(console.info("Player failed to autoplay",n),{isStarted:!1,isEnded:!1,isLoading:!1,isPlaying:!1}))))},handlePause:()=>e({isPlaying:!1,pauseTime:Date.now()}),handlePlay:()=>e({isPlaying:!0,pauseTime:0}),handlePlaying:()=>e({isLoading:!1}),handleSeeked:()=>e({isLoading:!1}),handleSeeking:()=>e({isLoading:!0}),handleTimeUpdate:()=>{const r=t().techRef.current;r&&e({currentTime:r.currentTime})},handleWaiting:()=>e({isLoading:!0}),pause:()=>{const r=t().techRef.current;r&&(r.pause(),e({isEnded:!1,isPlaying:!1,pauseTime:Date.now()}))},pauseTimeDiff:()=>gr(Date.now()-t().pauseTime),play:()=>{const r=t().techRef.current;r&&(r.play(),e({isEnded:!1,isPlaying:!0,isStarted:!0,pauseTime:0}))},seek:r=>{const n=t().techRef.current;n&&(n.currentTime=r,(n.paused||n.ended)&&n.play(),e({seekTime:-1,currentTime:r,isStarted:!0,isEnded:!1,isPlaying:!0}))},setIsLoading:r=>e({isLoading:r}),setIsLoop:r=>{const n=t().techRef.current;n&&(n.loop=r,e({isLoop:r}))},setStartTime:r=>e({startTime:r}),setVolume:r=>{const n=t().techRef.current;n&&(n.muted=r===0,n.volume=r/100,e({volume:r}))},stop:()=>{t().techRef.current&&e({isPlaying:!1,isLoading:!1})}}),wr=e=>({idleLocks:new Set,addIdleLock:t=>e(r=>({idleLocks:new Set(r.idleLocks).add(t)})),removeIdleLock:t=>e(r=>{const n=new Set(r.idleLocks);return n.delete(t),{idleLocks:n}})}),Sr=(e,t)=>({isFullscreen:!1,isFullscreenReady:!1,exitFullscreen:()=>{vr(document),e({isFullscreen:!1})},requestFullscreen:()=>{const r=t().techRef.current,n=t().containerRef.current;if(!r||!n)return;const o=Ne?r:n;o&&yr(o),e({isFullscreen:!0})},setIsFullscreen:r=>e({isFullscreen:r}),setIsFullscreenReady:r=>e({isFullscreenReady:r})}),Er=e=>({url:"",setURL:t=>e({url:t})}),Pr=e=>()=>({...e}),Tr=(e,t)=>mr()((...r)=>({...kr(...r),...wr(...r),...Sr(...r),...Er(...r),...Pr({techRef:e,containerRef:t})(...r)})),Le=y.createContext(null),Cr=({children:e})=>{const t=y.useRef(null),r=y.useRef(null),n=y.useRef(null);return t.current||(t.current=Tr(r,n)),h.jsx(Le.Provider,{value:t.current,children:e})},E=e=>{const t=y.useContext(Le);if(!t)throw new Error("usePlayerStore must be used within PlayerStoreProvider");return Ae(t,e)};function Me({children:e}){return h.jsx(Cr,{children:e})}const fe={hls:"hls",dash:"dash"};function Rr(e){return e&&/\.m3u8/i.test(e)?fe.hls:fe.dash}const jr=y.lazy(()=>Promise.resolve().then(()=>Ot)),_r=y.lazy(()=>Promise.resolve().then(()=>It));function Oe({url:e,isLive:t,isMuted:r=!1}){const n=E(x=>x.handleDurationChange),o=E(x=>x.handleEnd),a=E(x=>x.handleLoadedMetadata),i=E(x=>x.handleLoadStart),d=E(x=>x.handlePause),u=E(x=>x.handlePlay),m=E(x=>x.handlePlaying),f=E(x=>x.handleSeeked),w=E(x=>x.handleSeeking),R=E(x=>x.handleTimeUpdate),L=E(x=>x.handleWaiting),A=E(x=>x.techRef),P=y.useRef(null),M=()=>t?{}:{onDurationChange:n,onSeeked:f,onSeeking:w,onTimeUpdate:I},I=()=>{(!P.current||Date.now()-P.current>=1e3)&&(R(),P.current=Date.now())},$=(()=>{switch(Rr(e)){case fe.hls:return jr;case fe.dash:return _r}return null})();if(!$)return null;const G=M();return h.jsxs(h.Fragment,{children:[h.jsx(y.Suspense,{fallback:null,children:h.jsx($,{isLive:t,url:e})}),h.jsx("video",{className:"relative size-full md:pointer-events-none",ref:A,playsInline:!0,autoPlay:!0,controls:!1,muted:r,preload:"auto",crossOrigin:"anonymous",onEnded:o,onLoadedMetadata:a,onLoadStart:i,onPause:d,onPlay:u,onPlaying:m,onWaiting:L,tabIndex:-1,...G})]})}function Ie(e,t){if(typeof e=="function")return e(t);e!=null&&(e.current=t)}function Ar(...e){return t=>{let r=!1;const n=e.map(o=>{const a=Ie(o,t);return!r&&typeof a=="function"&&(r=!0),a});if(r)return()=>{for(let o=0;o<n.length;o++){const a=n[o];typeof a=="function"?a():Ie(e[o],null)}}}}function zr(e){const t=Lr(e),r=N.forwardRef((n,o)=>{const{children:a,...i}=n,d=N.Children.toArray(a),u=d.find(Or);if(u){const m=u.props.children,f=d.map(w=>w===u?N.Children.count(m)>1?N.Children.only(null):N.isValidElement(m)?m.props.children:null:w);return h.jsx(t,{...i,ref:o,children:N.isValidElement(m)?N.cloneElement(m,void 0,f):null})}return h.jsx(t,{...i,ref:o,children:a})});return r.displayName=`${e}.Slot`,r}var Nr=zr("Slot");function Lr(e){const t=N.forwardRef((r,n)=>{const{children:o,...a}=r;if(N.isValidElement(o)){const i=Fr(o),d=Ir(a,o.props);return o.type!==N.Fragment&&(d.ref=n?Ar(n,i):i),N.cloneElement(o,d)}return N.Children.count(o)>1?N.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var Mr=Symbol("radix.slottable");function Or(e){return N.isValidElement(e)&&typeof e.type=="function"&&"__radixId"in e.type&&e.type.__radixId===Mr}function Ir(e,t){const r={...t};for(const n in t){const o=e[n],a=t[n];/^on[A-Z]/.test(n)?o&&a?r[n]=(...d)=>{const u=a(...d);return o(...d),u}:o&&(r[n]=o):n==="style"?r[n]={...o,...a}:n==="className"&&(r[n]=[o,a].filter(Boolean).join(" "))}return{...e,...r}}function Fr(e){let t=Object.getOwnPropertyDescriptor(e.props,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning;return r?e.ref:(t=Object.getOwnPropertyDescriptor(e,"ref")?.get,r=t&&"isReactWarning"in t&&t.isReactWarning,r?e.props.ref:e.props.ref||e.ref)}function Fe(e){var t,r,n="";if(typeof e=="string"||typeof e=="number")n+=e;else if(typeof e=="object")if(Array.isArray(e)){var o=e.length;for(t=0;t<o;t++)e[t]&&(r=Fe(e[t]))&&(n&&(n+=" "),n+=r)}else for(r in e)e[r]&&(n&&(n+=" "),n+=r);return n}function Ve(){for(var e,t,r=0,n="",o=arguments.length;r<o;r++)(e=arguments[r])&&(t=Fe(e))&&(n&&(n+=" "),n+=t);return n}const De=e=>typeof e=="boolean"?`${e}`:e===0?"0":e,$e=Ve,Vr=(e,t)=>r=>{var n;if(t?.variants==null)return $e(e,r?.class,r?.className);const{variants:o,defaultVariants:a}=t,i=Object.keys(o).map(m=>{const f=r?.[m],w=a?.[m];if(f===null)return null;const R=De(f)||De(w);return o[m][R]}),d=r&&Object.entries(r).reduce((m,f)=>{let[w,R]=f;return R===void 0||(m[w]=R),m},{}),u=t==null||(n=t.compoundVariants)===null||n===void 0?void 0:n.reduce((m,f)=>{let{class:w,className:R,...L}=f;return Object.entries(L).every(A=>{let[P,M]=A;return Array.isArray(M)?M.includes({...a,...d}[P]):{...a,...d}[P]===M})?[...m,w,R]:m},[]);return $e(e,i,u,r?.class,r?.className)},ye="-",Dr=e=>{const t=Gr(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:i=>{const d=i.split(ye);return d[0]===""&&d.length!==1&&d.shift(),Ge(d,t)||$r(i)},getConflictingClassGroupIds:(i,d)=>{const u=r[i]||[];return d&&n[i]?[...u,...n[i]]:u}}},Ge=(e,t)=>{if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),o=n?Ge(e.slice(1),n):void 0;if(o)return o;if(t.validators.length===0)return;const a=e.join(ye);return t.validators.find(({validator:i})=>i(a))?.classGroupId},We=/^\[(.+)\]$/,$r=e=>{if(We.test(e)){const t=We.exec(e)[1],r=t?.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},Gr=e=>{const{theme:t,classGroups:r}=e,n={nextPart:new Map,validators:[]};for(const o in r)ve(r[o],n,o,t);return n},ve=(e,t,r,n)=>{e.forEach(o=>{if(typeof o=="string"){const a=o===""?t:Ue(t,o);a.classGroupId=r;return}if(typeof o=="function"){if(Wr(o)){ve(o(n),t,r,n);return}t.validators.push({validator:o,classGroupId:r});return}Object.entries(o).forEach(([a,i])=>{ve(i,Ue(t,a),r,n)})})},Ue=(e,t)=>{let r=e;return t.split(ye).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},Wr=e=>e.isThemeGetter,Ur=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const o=(a,i)=>{r.set(a,i),t++,t>e&&(t=0,n=r,r=new Map)};return{get(a){let i=r.get(a);if(i!==void 0)return i;if((i=n.get(a))!==void 0)return o(a,i),i},set(a,i){r.has(a)?r.set(a,i):o(a,i)}}},xe="!",ke=":",qr=ke.length,Br=e=>{const{prefix:t,experimentalParseClassName:r}=e;let n=o=>{const a=[];let i=0,d=0,u=0,m;for(let A=0;A<o.length;A++){let P=o[A];if(i===0&&d===0){if(P===ke){a.push(o.slice(u,A)),u=A+qr;continue}if(P==="/"){m=A;continue}}P==="["?i++:P==="]"?i--:P==="("?d++:P===")"&&d--}const f=a.length===0?o:o.substring(u),w=Yr(f),R=w!==f,L=m&&m>u?m-u:void 0;return{modifiers:a,hasImportantModifier:R,baseClassName:w,maybePostfixModifierPosition:L}};if(t){const o=t+ke,a=n;n=i=>i.startsWith(o)?a(i.substring(o.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:i,maybePostfixModifierPosition:void 0}}if(r){const o=n;n=a=>r({className:a,parseClassName:o})}return n},Yr=e=>e.endsWith(xe)?e.substring(0,e.length-1):e.startsWith(xe)?e.substring(1):e,Hr=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(n=>[n,!0]));return n=>{if(n.length<=1)return n;const o=[];let a=[];return n.forEach(i=>{i[0]==="["||t[i]?(o.push(...a.sort(),i),a=[]):a.push(i)}),o.push(...a.sort()),o}},Jr=e=>({cache:Ur(e.cacheSize),parseClassName:Br(e),sortModifiers:Hr(e),...Dr(e)}),Xr=/\s+/,Zr=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:o,sortModifiers:a}=t,i=[],d=e.trim().split(Xr);let u="";for(let m=d.length-1;m>=0;m-=1){const f=d[m],{isExternal:w,modifiers:R,hasImportantModifier:L,baseClassName:A,maybePostfixModifierPosition:P}=r(f);if(w){u=f+(u.length>0?" "+u:u);continue}let M=!!P,I=n(M?A.substring(0,P):A);if(!I){if(!M){u=f+(u.length>0?" "+u:u);continue}if(I=n(A),!I){u=f+(u.length>0?" "+u:u);continue}M=!1}const X=a(R).join(":"),$=L?X+xe:X,G=$+I;if(i.includes(G))continue;i.push(G);const x=o(I,M);for(let q=0;q<x.length;++q){const Z=x[q];i.push($+Z)}u=f+(u.length>0?" "+u:u)}return u};function Kr(){let e=0,t,r,n="";for(;e<arguments.length;)(t=arguments[e++])&&(r=qe(t))&&(n&&(n+=" "),n+=r);return n}const qe=e=>{if(typeof e=="string")return e;let t,r="";for(let n=0;n<e.length;n++)e[n]&&(t=qe(e[n]))&&(r&&(r+=" "),r+=t);return r};function Qr(e,...t){let r,n,o,a=i;function i(u){const m=t.reduce((f,w)=>w(f),e());return r=Jr(m),n=r.cache.get,o=r.cache.set,a=d,d(u)}function d(u){const m=n(u);if(m)return m;const f=Zr(u,r);return o(u,f),f}return function(){return a(Kr.apply(null,arguments))}}const j=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},Be=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,Ye=/^\((?:(\w[\w-]*):)?(.+)\)$/i,et=/^\d+\/\d+$/,rt=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,tt=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,nt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,ot=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,st=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,ee=e=>et.test(e),v=e=>!!e&&!Number.isNaN(Number(e)),Y=e=>!!e&&Number.isInteger(Number(e)),we=e=>e.endsWith("%")&&v(e.slice(0,-1)),U=e=>rt.test(e),at=()=>!0,it=e=>tt.test(e)&&!nt.test(e),He=()=>!1,lt=e=>ot.test(e),ct=e=>st.test(e),dt=e=>!l(e)&&!c(e),ut=e=>re(e,Qe,He),l=e=>Be.test(e),J=e=>re(e,er,it),Se=e=>re(e,bt,v),Je=e=>re(e,Ze,He),ft=e=>re(e,Ke,ct),me=e=>re(e,rr,lt),c=e=>Ye.test(e),le=e=>te(e,er),mt=e=>te(e,ht),Xe=e=>te(e,Ze),pt=e=>te(e,Qe),gt=e=>te(e,Ke),pe=e=>te(e,rr,!0),re=(e,t,r)=>{const n=Be.exec(e);return n?n[1]?t(n[1]):r(n[2]):!1},te=(e,t,r=!1)=>{const n=Ye.exec(e);return n?n[1]?t(n[1]):r:!1},Ze=e=>e==="position"||e==="percentage",Ke=e=>e==="image"||e==="url",Qe=e=>e==="length"||e==="size"||e==="bg-size",er=e=>e==="length",bt=e=>e==="number",ht=e=>e==="family-name",rr=e=>e==="shadow",yt=Qr(()=>{const e=j("color"),t=j("font"),r=j("text"),n=j("font-weight"),o=j("tracking"),a=j("leading"),i=j("breakpoint"),d=j("container"),u=j("spacing"),m=j("radius"),f=j("shadow"),w=j("inset-shadow"),R=j("text-shadow"),L=j("drop-shadow"),A=j("blur"),P=j("perspective"),M=j("aspect"),I=j("ease"),X=j("animate"),$=()=>["auto","avoid","all","avoid-page","page","left","right","column"],G=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],x=()=>[...G(),c,l],q=()=>["auto","hidden","clip","visible","scroll"],Z=()=>["auto","contain","none"],g=()=>[c,l,u],F=()=>[ee,"full","auto",...g()],ge=()=>[Y,"none","subgrid",c,l],ne=()=>["auto",{span:["full",Y,c,l]},Y,c,l],K=()=>[Y,"auto",c,l],be=()=>["auto","min","max","fr",c,l],Q=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],B=()=>["start","end","center","stretch","center-safe","end-safe"],O=()=>["auto",...g()],W=()=>[ee,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...g()],p=()=>[e,c,l],ce=()=>[...G(),Xe,Je,{position:[c,l]}],s=()=>["no-repeat",{repeat:["","x","y","space","round"]}],b=()=>["auto","cover","contain",pt,ut,{size:[c,l]}],S=()=>[we,le,J],k=()=>["","none","full",m,c,l],T=()=>["",v,le,J],z=()=>["solid","dashed","dotted","double"],oe=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],C=()=>[v,we,Xe,Je],_=()=>["","none",A,c,l],V=()=>["none",v,c,l],H=()=>["none",v,c,l],de=()=>[v,c,l],he=()=>[ee,"full",...g()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[U],breakpoint:[U],color:[at],container:[U],"drop-shadow":[U],ease:["in","out","in-out"],font:[dt],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[U],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[U],shadow:[U],spacing:["px",v],text:[U],"text-shadow":[U],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",ee,l,c,M]}],container:["container"],columns:[{columns:[v,l,c,d]}],"break-after":[{"break-after":$()}],"break-before":[{"break-before":$()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:x()}],overflow:[{overflow:q()}],"overflow-x":[{"overflow-x":q()}],"overflow-y":[{"overflow-y":q()}],overscroll:[{overscroll:Z()}],"overscroll-x":[{"overscroll-x":Z()}],"overscroll-y":[{"overscroll-y":Z()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:F()}],"inset-x":[{"inset-x":F()}],"inset-y":[{"inset-y":F()}],start:[{start:F()}],end:[{end:F()}],top:[{top:F()}],right:[{right:F()}],bottom:[{bottom:F()}],left:[{left:F()}],visibility:["visible","invisible","collapse"],z:[{z:[Y,"auto",c,l]}],basis:[{basis:[ee,"full","auto",d,...g()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[v,ee,"auto","initial","none",l]}],grow:[{grow:["",v,c,l]}],shrink:[{shrink:["",v,c,l]}],order:[{order:[Y,"first","last","none",c,l]}],"grid-cols":[{"grid-cols":ge()}],"col-start-end":[{col:ne()}],"col-start":[{"col-start":K()}],"col-end":[{"col-end":K()}],"grid-rows":[{"grid-rows":ge()}],"row-start-end":[{row:ne()}],"row-start":[{"row-start":K()}],"row-end":[{"row-end":K()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":be()}],"auto-rows":[{"auto-rows":be()}],gap:[{gap:g()}],"gap-x":[{"gap-x":g()}],"gap-y":[{"gap-y":g()}],"justify-content":[{justify:[...Q(),"normal"]}],"justify-items":[{"justify-items":[...B(),"normal"]}],"justify-self":[{"justify-self":["auto",...B()]}],"align-content":[{content:["normal",...Q()]}],"align-items":[{items:[...B(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...B(),{baseline:["","last"]}]}],"place-content":[{"place-content":Q()}],"place-items":[{"place-items":[...B(),"baseline"]}],"place-self":[{"place-self":["auto",...B()]}],p:[{p:g()}],px:[{px:g()}],py:[{py:g()}],ps:[{ps:g()}],pe:[{pe:g()}],pt:[{pt:g()}],pr:[{pr:g()}],pb:[{pb:g()}],pl:[{pl:g()}],m:[{m:O()}],mx:[{mx:O()}],my:[{my:O()}],ms:[{ms:O()}],me:[{me:O()}],mt:[{mt:O()}],mr:[{mr:O()}],mb:[{mb:O()}],ml:[{ml:O()}],"space-x":[{"space-x":g()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":g()}],"space-y-reverse":["space-y-reverse"],size:[{size:W()}],w:[{w:[d,"screen",...W()]}],"min-w":[{"min-w":[d,"screen","none",...W()]}],"max-w":[{"max-w":[d,"screen","none","prose",{screen:[i]},...W()]}],h:[{h:["screen","lh",...W()]}],"min-h":[{"min-h":["screen","lh","none",...W()]}],"max-h":[{"max-h":["screen","lh",...W()]}],"font-size":[{text:["base",r,le,J]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[n,c,Se]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",we,l]}],"font-family":[{font:[mt,l,t]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[o,c,l]}],"line-clamp":[{"line-clamp":[v,"none",c,Se]}],leading:[{leading:[a,...g()]}],"list-image":[{"list-image":["none",c,l]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",c,l]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:p()}],"text-color":[{text:p()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...z(),"wavy"]}],"text-decoration-thickness":[{decoration:[v,"from-font","auto",c,J]}],"text-decoration-color":[{decoration:p()}],"underline-offset":[{"underline-offset":[v,"auto",c,l]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:g()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",c,l]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",c,l]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ce()}],"bg-repeat":[{bg:s()}],"bg-size":[{bg:b()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},Y,c,l],radial:["",c,l],conic:[Y,c,l]},gt,ft]}],"bg-color":[{bg:p()}],"gradient-from-pos":[{from:S()}],"gradient-via-pos":[{via:S()}],"gradient-to-pos":[{to:S()}],"gradient-from":[{from:p()}],"gradient-via":[{via:p()}],"gradient-to":[{to:p()}],rounded:[{rounded:k()}],"rounded-s":[{"rounded-s":k()}],"rounded-e":[{"rounded-e":k()}],"rounded-t":[{"rounded-t":k()}],"rounded-r":[{"rounded-r":k()}],"rounded-b":[{"rounded-b":k()}],"rounded-l":[{"rounded-l":k()}],"rounded-ss":[{"rounded-ss":k()}],"rounded-se":[{"rounded-se":k()}],"rounded-ee":[{"rounded-ee":k()}],"rounded-es":[{"rounded-es":k()}],"rounded-tl":[{"rounded-tl":k()}],"rounded-tr":[{"rounded-tr":k()}],"rounded-br":[{"rounded-br":k()}],"rounded-bl":[{"rounded-bl":k()}],"border-w":[{border:T()}],"border-w-x":[{"border-x":T()}],"border-w-y":[{"border-y":T()}],"border-w-s":[{"border-s":T()}],"border-w-e":[{"border-e":T()}],"border-w-t":[{"border-t":T()}],"border-w-r":[{"border-r":T()}],"border-w-b":[{"border-b":T()}],"border-w-l":[{"border-l":T()}],"divide-x":[{"divide-x":T()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":T()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...z(),"hidden","none"]}],"divide-style":[{divide:[...z(),"hidden","none"]}],"border-color":[{border:p()}],"border-color-x":[{"border-x":p()}],"border-color-y":[{"border-y":p()}],"border-color-s":[{"border-s":p()}],"border-color-e":[{"border-e":p()}],"border-color-t":[{"border-t":p()}],"border-color-r":[{"border-r":p()}],"border-color-b":[{"border-b":p()}],"border-color-l":[{"border-l":p()}],"divide-color":[{divide:p()}],"outline-style":[{outline:[...z(),"none","hidden"]}],"outline-offset":[{"outline-offset":[v,c,l]}],"outline-w":[{outline:["",v,le,J]}],"outline-color":[{outline:p()}],shadow:[{shadow:["","none",f,pe,me]}],"shadow-color":[{shadow:p()}],"inset-shadow":[{"inset-shadow":["none",w,pe,me]}],"inset-shadow-color":[{"inset-shadow":p()}],"ring-w":[{ring:T()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:p()}],"ring-offset-w":[{"ring-offset":[v,J]}],"ring-offset-color":[{"ring-offset":p()}],"inset-ring-w":[{"inset-ring":T()}],"inset-ring-color":[{"inset-ring":p()}],"text-shadow":[{"text-shadow":["none",R,pe,me]}],"text-shadow-color":[{"text-shadow":p()}],opacity:[{opacity:[v,c,l]}],"mix-blend":[{"mix-blend":[...oe(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":oe()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[v]}],"mask-image-linear-from-pos":[{"mask-linear-from":C()}],"mask-image-linear-to-pos":[{"mask-linear-to":C()}],"mask-image-linear-from-color":[{"mask-linear-from":p()}],"mask-image-linear-to-color":[{"mask-linear-to":p()}],"mask-image-t-from-pos":[{"mask-t-from":C()}],"mask-image-t-to-pos":[{"mask-t-to":C()}],"mask-image-t-from-color":[{"mask-t-from":p()}],"mask-image-t-to-color":[{"mask-t-to":p()}],"mask-image-r-from-pos":[{"mask-r-from":C()}],"mask-image-r-to-pos":[{"mask-r-to":C()}],"mask-image-r-from-color":[{"mask-r-from":p()}],"mask-image-r-to-color":[{"mask-r-to":p()}],"mask-image-b-from-pos":[{"mask-b-from":C()}],"mask-image-b-to-pos":[{"mask-b-to":C()}],"mask-image-b-from-color":[{"mask-b-from":p()}],"mask-image-b-to-color":[{"mask-b-to":p()}],"mask-image-l-from-pos":[{"mask-l-from":C()}],"mask-image-l-to-pos":[{"mask-l-to":C()}],"mask-image-l-from-color":[{"mask-l-from":p()}],"mask-image-l-to-color":[{"mask-l-to":p()}],"mask-image-x-from-pos":[{"mask-x-from":C()}],"mask-image-x-to-pos":[{"mask-x-to":C()}],"mask-image-x-from-color":[{"mask-x-from":p()}],"mask-image-x-to-color":[{"mask-x-to":p()}],"mask-image-y-from-pos":[{"mask-y-from":C()}],"mask-image-y-to-pos":[{"mask-y-to":C()}],"mask-image-y-from-color":[{"mask-y-from":p()}],"mask-image-y-to-color":[{"mask-y-to":p()}],"mask-image-radial":[{"mask-radial":[c,l]}],"mask-image-radial-from-pos":[{"mask-radial-from":C()}],"mask-image-radial-to-pos":[{"mask-radial-to":C()}],"mask-image-radial-from-color":[{"mask-radial-from":p()}],"mask-image-radial-to-color":[{"mask-radial-to":p()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":G()}],"mask-image-conic-pos":[{"mask-conic":[v]}],"mask-image-conic-from-pos":[{"mask-conic-from":C()}],"mask-image-conic-to-pos":[{"mask-conic-to":C()}],"mask-image-conic-from-color":[{"mask-conic-from":p()}],"mask-image-conic-to-color":[{"mask-conic-to":p()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ce()}],"mask-repeat":[{mask:s()}],"mask-size":[{mask:b()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",c,l]}],filter:[{filter:["","none",c,l]}],blur:[{blur:_()}],brightness:[{brightness:[v,c,l]}],contrast:[{contrast:[v,c,l]}],"drop-shadow":[{"drop-shadow":["","none",L,pe,me]}],"drop-shadow-color":[{"drop-shadow":p()}],grayscale:[{grayscale:["",v,c,l]}],"hue-rotate":[{"hue-rotate":[v,c,l]}],invert:[{invert:["",v,c,l]}],saturate:[{saturate:[v,c,l]}],sepia:[{sepia:["",v,c,l]}],"backdrop-filter":[{"backdrop-filter":["","none",c,l]}],"backdrop-blur":[{"backdrop-blur":_()}],"backdrop-brightness":[{"backdrop-brightness":[v,c,l]}],"backdrop-contrast":[{"backdrop-contrast":[v,c,l]}],"backdrop-grayscale":[{"backdrop-grayscale":["",v,c,l]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[v,c,l]}],"backdrop-invert":[{"backdrop-invert":["",v,c,l]}],"backdrop-opacity":[{"backdrop-opacity":[v,c,l]}],"backdrop-saturate":[{"backdrop-saturate":[v,c,l]}],"backdrop-sepia":[{"backdrop-sepia":["",v,c,l]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":g()}],"border-spacing-x":[{"border-spacing-x":g()}],"border-spacing-y":[{"border-spacing-y":g()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",c,l]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[v,"initial",c,l]}],ease:[{ease:["linear","initial",I,c,l]}],delay:[{delay:[v,c,l]}],animate:[{animate:["none",X,c,l]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[P,c,l]}],"perspective-origin":[{"perspective-origin":x()}],rotate:[{rotate:V()}],"rotate-x":[{"rotate-x":V()}],"rotate-y":[{"rotate-y":V()}],"rotate-z":[{"rotate-z":V()}],scale:[{scale:H()}],"scale-x":[{"scale-x":H()}],"scale-y":[{"scale-y":H()}],"scale-z":[{"scale-z":H()}],"scale-3d":["scale-3d"],skew:[{skew:de()}],"skew-x":[{"skew-x":de()}],"skew-y":[{"skew-y":de()}],transform:[{transform:[c,l,"","none","gpu","cpu"]}],"transform-origin":[{origin:x()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:he()}],"translate-x":[{"translate-x":he()}],"translate-y":[{"translate-y":he()}],"translate-z":[{"translate-z":he()}],"translate-none":["translate-none"],accent:[{accent:p()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:p()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",c,l]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":g()}],"scroll-mx":[{"scroll-mx":g()}],"scroll-my":[{"scroll-my":g()}],"scroll-ms":[{"scroll-ms":g()}],"scroll-me":[{"scroll-me":g()}],"scroll-mt":[{"scroll-mt":g()}],"scroll-mr":[{"scroll-mr":g()}],"scroll-mb":[{"scroll-mb":g()}],"scroll-ml":[{"scroll-ml":g()}],"scroll-p":[{"scroll-p":g()}],"scroll-px":[{"scroll-px":g()}],"scroll-py":[{"scroll-py":g()}],"scroll-ps":[{"scroll-ps":g()}],"scroll-pe":[{"scroll-pe":g()}],"scroll-pt":[{"scroll-pt":g()}],"scroll-pr":[{"scroll-pr":g()}],"scroll-pb":[{"scroll-pb":g()}],"scroll-pl":[{"scroll-pl":g()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",c,l]}],fill:[{fill:["none",...p()]}],"stroke-w":[{stroke:[v,le,J,Se]}],stroke:[{stroke:["none",...p()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}});function Ee(...e){return yt(Ve(e))}const vt=Vr("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",destructive:"bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9"}},defaultVariants:{variant:"default",size:"default"}});function xt({className:e,variant:t,size:r,asChild:n=!1,...o}){const a=n?Nr:"button";return h.jsx(a,{"data-slot":"button",className:Ee(vt({variant:t,size:r,className:e})),...o})}/**
|
|
23
|
+
* @license lucide-react v0.542.0 - ISC
|
|
24
|
+
*
|
|
25
|
+
* This source code is licensed under the ISC license.
|
|
26
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
27
|
+
*/const kt=e=>e.replace(/([a-z0-9])([A-Z])/g,"$1-$2").toLowerCase(),wt=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(t,r,n)=>n?n.toUpperCase():r.toLowerCase()),tr=e=>{const t=wt(e);return t.charAt(0).toUpperCase()+t.slice(1)},nr=(...e)=>e.filter((t,r,n)=>!!t&&t.trim()!==""&&n.indexOf(t)===r).join(" ").trim(),St=e=>{for(const t in e)if(t.startsWith("aria-")||t==="role"||t==="title")return!0};/**
|
|
28
|
+
* @license lucide-react v0.542.0 - ISC
|
|
29
|
+
*
|
|
30
|
+
* This source code is licensed under the ISC license.
|
|
31
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
32
|
+
*/var Et={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round"};/**
|
|
33
|
+
* @license lucide-react v0.542.0 - ISC
|
|
34
|
+
*
|
|
35
|
+
* This source code is licensed under the ISC license.
|
|
36
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
37
|
+
*/const Pt=y.forwardRef(({color:e="currentColor",size:t=24,strokeWidth:r=2,absoluteStrokeWidth:n,className:o="",children:a,iconNode:i,...d},u)=>y.createElement("svg",{ref:u,...Et,width:t,height:t,stroke:e,strokeWidth:n?Number(r)*24/Number(t):r,className:nr("lucide",o),...!a&&!St(d)&&{"aria-hidden":"true"},...d},[...i.map(([m,f])=>y.createElement(m,f)),...Array.isArray(a)?a:[a]]));/**
|
|
38
|
+
* @license lucide-react v0.542.0 - ISC
|
|
39
|
+
*
|
|
40
|
+
* This source code is licensed under the ISC license.
|
|
41
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
42
|
+
*/const Pe=(e,t)=>{const r=y.forwardRef(({className:n,...o},a)=>y.createElement(Pt,{ref:a,iconNode:t,className:nr(`lucide-${kt(tr(e))}`,`lucide-${e}`,n),...o}));return r.displayName=tr(e),r};/**
|
|
43
|
+
* @license lucide-react v0.542.0 - ISC
|
|
44
|
+
*
|
|
45
|
+
* This source code is licensed under the ISC license.
|
|
46
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
47
|
+
*/const Tt=Pe("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);/**
|
|
48
|
+
* @license lucide-react v0.542.0 - ISC
|
|
49
|
+
*
|
|
50
|
+
* This source code is licensed under the ISC license.
|
|
51
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
52
|
+
*/const Ct=Pe("maximize",[["path",{d:"M8 3H5a2 2 0 0 0-2 2v3",key:"1dcmit"}],["path",{d:"M21 8V5a2 2 0 0 0-2-2h-3",key:"1e4gt3"}],["path",{d:"M3 16v3a2 2 0 0 0 2 2h3",key:"wsl5sc"}],["path",{d:"M16 21h3a2 2 0 0 0 2-2v-3",key:"18trek"}]]);/**
|
|
53
|
+
* @license lucide-react v0.542.0 - ISC
|
|
54
|
+
*
|
|
55
|
+
* This source code is licensed under the ISC license.
|
|
56
|
+
* See the LICENSE file in the root directory of this source tree.
|
|
57
|
+
*/const Rt=Pe("minimize",[["path",{d:"M8 3v3a2 2 0 0 1-2 2H3",key:"hohbtr"}],["path",{d:"M21 8h-3a2 2 0 0 1-2-2V3",key:"5jw1f3"}],["path",{d:"M3 16h3a2 2 0 0 1 2 2v3",key:"198tvr"}],["path",{d:"M16 21v-3a2 2 0 0 1 2-2h3",key:"ph8mxp"}]]),or=e=>{const t=E(f=>f.containerRef),r=E(f=>f.exitFullscreen),n=E(f=>f.isFullscreen),o=E(f=>f.requestFullscreen),a=E(f=>f.setIsFullscreen),i=E(f=>f.setIsFullscreenReady),d=E(f=>f.techRef),u=y.useCallback(f=>{f.stopPropagation(),a(hr())},[a]),m=()=>{n?r():o()};return y.useEffect(()=>{const f=Ne?d.current:t.current;if(f)return xr(f,u)},[t,u,d]),y.useEffect(()=>{i(!0)},[i]),h.jsx(xt,{onClick:m,variant:"ghost",size:"icon",...e,children:n?h.jsx(Rt,{className:"size-4"}):h.jsx(Ct,{className:"size-4"})})};function jt(e,t=500){const[r,n]=y.useState(e);return y.useEffect(()=>{const o=window.setTimeout(()=>n(e),t);return()=>{window.clearTimeout(o)}},[e,t]),r}function _t({className:e,...t}){return h.jsx(Tt,{className:Ee("animate-spin",e),...t})}function sr({className:e,...t}){const r=E(o=>o.isLoading);return jt(r,50)?h.jsx("div",{className:Ee("pointer-events-none absolute inset-0 flex size-full items-center justify-center",e),...t,children:h.jsx(_t,{className:"size-10"})}):null}function At(e){return h.jsx(Me,{children:h.jsx(zt,{...e})})}function zt({url:e}){const t=E(r=>r.containerRef);return h.jsxs("div",{className:"dark text-foreground absolute inset-0 size-full overflow-hidden bg-black",ref:t,children:[h.jsx(Oe,{url:e,isLive:!0}),h.jsx(sr,{}),h.jsx("div",{className:"absolute inset-x-0 bottom-0 z-10 bg-linear-to-t from-black/60 pt-4 md:pt-8",children:h.jsx("div",{className:"flex h-14 flex-col px-2 leading-none text-[0] md:h-16 md:px-4",children:h.jsxs("div",{className:"my-auto flex w-full items-center",children:[h.jsx("div",{className:"flex flex-1 items-center justify-start md:gap-2"}),h.jsx("div",{className:"flex flex-1 items-center justify-center md:gap-2"}),h.jsx("div",{className:"flex flex-1 items-center justify-end md:gap-2",children:h.jsx(or,{})})]})})})]})}function Nt(e){return h.jsx(Me,{children:h.jsx(Lt,{...e})})}function Lt({url:e}){const t=E(r=>r.containerRef);return h.jsxs("div",{className:"dark text-foreground absolute inset-0 size-full overflow-hidden bg-black",ref:t,children:[h.jsx(Oe,{url:e,isLive:!1}),h.jsx(sr,{}),h.jsx("div",{className:"absolute inset-x-0 bottom-0 z-10 bg-linear-to-t from-black/60 pt-4 md:pt-8",children:h.jsx("div",{className:"flex h-14 flex-col px-2 leading-none text-[0] md:h-16 md:px-4",children:h.jsxs("div",{className:"my-auto flex w-full items-center",children:[h.jsx("div",{className:"flex flex-1 items-center justify-start md:gap-2"}),h.jsx("div",{className:"flex flex-1 items-center justify-center md:gap-2"}),h.jsx("div",{className:"flex flex-1 items-center justify-end md:gap-2",children:h.jsx(or,{})})]})})})]})}function Mt({url:e,isLive:t}){const r=y.useRef(null),n=E(d=>d.techRef),o=y.useCallback(()=>{r.current&&(console.log("[Player][Event]","MEDIA_ATTACHED"),r.current.loadSource(e))},[e]),a=y.useCallback(()=>{if(!n.current)return;const m=t?{backBufferLength:10,startLevel:-1}:{backBufferLength:60,startLevel:-1};try{console.log("[Player] URL",e),console.log("[Player] Config",JSON.stringify(m)),console.log("[Player] Version",se.version),r.current=new se(m),r.current.attachMedia(n.current),r.current.on(se.Events.MEDIA_ATTACHED,o)}catch(f){throw new Error(`Error initializing Hls: ${f}`)}},[o,t,n,e]),i=y.useCallback(()=>{r.current&&(r.current.off(se.Events.MEDIA_ATTACHED,o),r.current.destroy(),r.current=null)},[o]);return y.useEffect(()=>(se.isSupported()&&a(),i),[i,a]),null}const Ot=Object.freeze(Object.defineProperty({__proto__:null,default:Mt},Symbol.toStringTag,{value:"Module"})),It=Object.freeze(Object.defineProperty({__proto__:null,default:({url:e,isLive:t})=>{const r=y.useRef(null),n=E(d=>d.techRef),o=y.useCallback(d=>{const u=d.codecs;return!(u&&new RegExp(/hev1|hvc1/).test(u))},[]),a=y.useCallback(()=>{if(!n.current)return;const m=t?{abr:{initialBitrate:{video:2e5}},protection:{ignoreKeyStatuses:!0}}:{};try{r.current=ir.MediaPlayer().create(),console.log("[Player] URL",e),console.log("[Player] Version",r.current.getVersion()),console.log("[Player] Config init",JSON.stringify(m)),r.current.registerCustomCapabilitiesFilter(o),r.current.initialize(n.current,e,!0),r.current.updateSettings(m),console.log("[Player] Config current",JSON.stringify(r.current.getSettings()))}catch(f){throw new Error(`Error initializing Dash: ${f}`)}},[o,n,e,t]),i=y.useCallback(()=>{r.current&&(r.current.unregisterCustomCapabilitiesFilter(o),r.current.destroy(),r.current=null,console.log("[Player] Dash destroyed"))},[o]);return y.useEffect(()=>(a(),i),[i,a]),null}},Symbol.toStringTag,{value:"Module"}));D.LivePlayer=At,D.VodPlayer=Nt,Object.defineProperty(D,Symbol.toStringTag,{value:"Module"})}));
|
|
58
|
+
//# sourceMappingURL=react-video-player.umd.js.map
|