@mottosports/motto-video-player 1.0.1-rc.15 → 1.0.1-rc.16

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/dist/index.mjs CHANGED
@@ -29,7 +29,7 @@ function styleInject(css, { insertAt } = {}) {
29
29
  styleInject('/*! tailwindcss v4.1.8 | MIT License | https://tailwindcss.com */\n@layer properties;\n@layer theme, base, components, utilities;\n@layer theme {\n :root,\n :host {\n --font-sans:\n ui-sans-serif,\n system-ui,\n sans-serif,\n "Apple Color Emoji",\n "Segoe UI Emoji",\n "Segoe UI Symbol",\n "Noto Color Emoji";\n --font-mono:\n ui-monospace,\n SFMono-Regular,\n Menlo,\n Monaco,\n Consolas,\n "Liberation Mono",\n "Courier New",\n monospace;\n --color-red-600: oklch(57.7% 0.245 27.325);\n --color-black: #000;\n --color-white: #fff;\n --spacing: 0.25rem;\n --text-xs: 0.75rem;\n --text-xs--line-height: calc(1 / 0.75);\n --text-sm: 0.875rem;\n --text-sm--line-height: calc(1.25 / 0.875);\n --text-base: 1rem;\n --text-base--line-height: calc(1.5 / 1);\n --text-lg: 1.125rem;\n --text-lg--line-height: calc(1.75 / 1.125);\n --text-xl: 1.25rem;\n --text-xl--line-height: calc(1.75 / 1.25);\n --text-2xl: 1.5rem;\n --text-2xl--line-height: calc(2 / 1.5);\n --text-5xl: 3rem;\n --text-5xl--line-height: 1;\n --font-weight-medium: 500;\n --font-weight-semibold: 600;\n --font-weight-bold: 700;\n --tracking-wide: 0.025em;\n --tracking-widest: 0.1em;\n --radius-md: 0.375rem;\n --radius-2xl: 1rem;\n --animate-spin: spin 1s linear infinite;\n --animate-pulse: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;\n --aspect-video: 16 / 9;\n --default-transition-duration: 150ms;\n --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);\n --default-font-family: var(--font-sans);\n --default-mono-font-family: var(--font-mono);\n }\n}\n@layer base {\n *,\n ::after,\n ::before,\n ::backdrop,\n ::file-selector-button {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n border: 0 solid;\n }\n html,\n :host {\n line-height: 1.5;\n -webkit-text-size-adjust: 100%;\n tab-size: 4;\n font-family: var(--default-font-family, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");\n font-feature-settings: var(--default-font-feature-settings, normal);\n font-variation-settings: var(--default-font-variation-settings, normal);\n -webkit-tap-highlight-color: transparent;\n }\n hr {\n height: 0;\n color: inherit;\n border-top-width: 1px;\n }\n abbr:where([title]) {\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted;\n }\n h1,\n h2,\n h3,\n h4,\n h5,\n h6 {\n font-size: inherit;\n font-weight: inherit;\n }\n a {\n color: inherit;\n -webkit-text-decoration: inherit;\n text-decoration: inherit;\n }\n b,\n strong {\n font-weight: bolder;\n }\n code,\n kbd,\n samp,\n pre {\n font-family: var(--default-mono-font-family, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);\n font-feature-settings: var(--default-mono-font-feature-settings, normal);\n font-variation-settings: var(--default-mono-font-variation-settings, normal);\n font-size: 1em;\n }\n small {\n font-size: 80%;\n }\n sub,\n sup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n }\n sub {\n bottom: -0.25em;\n }\n sup {\n top: -0.5em;\n }\n table {\n text-indent: 0;\n border-color: inherit;\n border-collapse: collapse;\n }\n :-moz-focusring {\n outline: auto;\n }\n progress {\n vertical-align: baseline;\n }\n summary {\n display: list-item;\n }\n ol,\n ul,\n menu {\n list-style: none;\n }\n img,\n svg,\n video,\n canvas,\n audio,\n iframe,\n embed,\n object {\n display: block;\n vertical-align: middle;\n }\n img,\n video {\n max-width: 100%;\n height: auto;\n }\n button,\n input,\n select,\n optgroup,\n textarea,\n ::file-selector-button {\n font: inherit;\n font-feature-settings: inherit;\n font-variation-settings: inherit;\n letter-spacing: inherit;\n color: inherit;\n border-radius: 0;\n background-color: transparent;\n opacity: 1;\n }\n :where(select:is([multiple], [size])) optgroup {\n font-weight: bolder;\n }\n :where(select:is([multiple], [size])) optgroup option {\n padding-inline-start: 20px;\n }\n ::file-selector-button {\n margin-inline-end: 4px;\n }\n ::placeholder {\n opacity: 1;\n }\n @supports (not (-webkit-appearance: -apple-pay-button)) or (contain-intrinsic-size: 1px) {\n ::placeholder {\n color: currentcolor;\n @supports (color: color-mix(in lab, red, red)) {\n color: color-mix(in oklab, currentcolor 50%, transparent);\n }\n }\n }\n textarea {\n resize: vertical;\n }\n ::-webkit-search-decoration {\n -webkit-appearance: none;\n }\n ::-webkit-date-and-time-value {\n min-height: 1lh;\n text-align: inherit;\n }\n ::-webkit-datetime-edit {\n display: inline-flex;\n }\n ::-webkit-datetime-edit-fields-wrapper {\n padding: 0;\n }\n ::-webkit-datetime-edit,\n ::-webkit-datetime-edit-year-field,\n ::-webkit-datetime-edit-month-field,\n ::-webkit-datetime-edit-day-field,\n ::-webkit-datetime-edit-hour-field,\n ::-webkit-datetime-edit-minute-field,\n ::-webkit-datetime-edit-second-field,\n ::-webkit-datetime-edit-millisecond-field,\n ::-webkit-datetime-edit-meridiem-field {\n padding-block: 0;\n }\n :-moz-ui-invalid {\n box-shadow: none;\n }\n button,\n input:where([type=button], [type=reset], [type=submit]),\n ::file-selector-button {\n appearance: button;\n }\n ::-webkit-inner-spin-button,\n ::-webkit-outer-spin-button {\n height: auto;\n }\n [hidden]:where(:not([hidden=until-found])) {\n display: none !important;\n }\n}\n@layer utilities {\n .pointer-events-auto {\n pointer-events: auto;\n }\n .pointer-events-none {\n pointer-events: none;\n }\n .visible {\n visibility: visible;\n }\n .sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border-width: 0;\n }\n .absolute {\n position: absolute;\n }\n .fixed {\n position: fixed;\n }\n .relative {\n position: relative;\n }\n .static {\n position: static;\n }\n .inset-0 {\n inset: calc(var(--spacing) * 0);\n }\n .top-0 {\n top: calc(var(--spacing) * 0);\n }\n .top-4 {\n top: calc(var(--spacing) * 4);\n }\n .right-0 {\n right: calc(var(--spacing) * 0);\n }\n .right-4 {\n right: calc(var(--spacing) * 4);\n }\n .bottom-0 {\n bottom: calc(var(--spacing) * 0);\n }\n .bottom-4 {\n bottom: calc(var(--spacing) * 4);\n }\n .left-0 {\n left: calc(var(--spacing) * 0);\n }\n .left-4 {\n left: calc(var(--spacing) * 4);\n }\n .z-10 {\n z-index: 10;\n }\n .z-50 {\n z-index: 50;\n }\n .container {\n width: 100%;\n @media (width >= 40rem) {\n max-width: 40rem;\n }\n @media (width >= 48rem) {\n max-width: 48rem;\n }\n @media (width >= 64rem) {\n max-width: 64rem;\n }\n @media (width >= 80rem) {\n max-width: 80rem;\n }\n @media (width >= 96rem) {\n max-width: 96rem;\n }\n }\n .m-6 {\n margin: calc(var(--spacing) * 6);\n }\n .mt-1 {\n margin-top: calc(var(--spacing) * 1);\n }\n .mt-3 {\n margin-top: calc(var(--spacing) * 3);\n }\n .mb-2 {\n margin-bottom: calc(var(--spacing) * 2);\n }\n .mb-6 {\n margin-bottom: calc(var(--spacing) * 6);\n }\n .flex {\n display: flex;\n }\n .grid {\n display: grid;\n }\n .hidden {\n display: none;\n }\n .aspect-video {\n aspect-ratio: var(--aspect-video);\n }\n .h-2 {\n height: calc(var(--spacing) * 2);\n }\n .h-12 {\n height: calc(var(--spacing) * 12);\n }\n .h-24 {\n height: calc(var(--spacing) * 24);\n }\n .h-full {\n height: 100%;\n }\n .w-2 {\n width: calc(var(--spacing) * 2);\n }\n .w-12 {\n width: calc(var(--spacing) * 12);\n }\n .w-24 {\n width: calc(var(--spacing) * 24);\n }\n .w-full {\n width: 100%;\n }\n .animate-pulse {\n animation: var(--animate-pulse);\n }\n .animate-spin {\n animation: var(--animate-spin);\n }\n .auto-cols-max {\n grid-auto-columns: max-content;\n }\n .grid-flow-col {\n grid-auto-flow: column;\n }\n .flex-col {\n flex-direction: column;\n }\n .items-center {\n align-items: center;\n }\n .justify-center {\n justify-content: center;\n }\n .justify-stretch {\n justify-content: stretch;\n }\n .gap-1 {\n gap: calc(var(--spacing) * 1);\n }\n .gap-5 {\n gap: calc(var(--spacing) * 5);\n }\n .overflow-hidden {\n overflow: hidden;\n }\n .rounded-full {\n border-radius: calc(infinity * 1px);\n }\n .rounded-md {\n border-radius: var(--radius-md);\n }\n .bg-\\[\\#151515\\] {\n background-color: #151515;\n }\n .bg-black {\n background-color: var(--color-black);\n }\n .bg-red-600 {\n background-color: var(--color-red-600);\n }\n .bg-white {\n background-color: var(--color-white);\n }\n .bg-gradient-to-t {\n --tw-gradient-position: to top in oklab;\n background-image: linear-gradient(var(--tw-gradient-stops));\n }\n .from-black\\/70 {\n --tw-gradient-from: color-mix(in srgb, #000 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n --tw-gradient-from: color-mix(in oklab, var(--color-black) 70%, transparent);\n }\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .to-transparent {\n --tw-gradient-to: transparent;\n --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));\n }\n .bg-cover {\n background-size: cover;\n }\n .bg-center {\n background-position: center;\n }\n .bg-no-repeat {\n background-repeat: no-repeat;\n }\n .p-2 {\n padding: calc(var(--spacing) * 2);\n }\n .p-4 {\n padding: calc(var(--spacing) * 4);\n }\n .px-2 {\n padding-inline: calc(var(--spacing) * 2);\n }\n .px-4 {\n padding-inline: calc(var(--spacing) * 4);\n }\n .py-1 {\n padding-block: calc(var(--spacing) * 1);\n }\n .text-center {\n text-align: center;\n }\n .text-left {\n text-align: left;\n }\n .font-mono {\n font-family: var(--font-mono);\n }\n .text-2xl {\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n }\n .text-5xl {\n font-size: var(--text-5xl);\n line-height: var(--tw-leading, var(--text-5xl--line-height));\n }\n .text-base {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n .text-lg {\n font-size: var(--text-lg);\n line-height: var(--tw-leading, var(--text-lg--line-height));\n }\n .text-sm {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n .text-xl {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n .text-xs {\n font-size: var(--text-xs);\n line-height: var(--tw-leading, var(--text-xs--line-height));\n }\n .text-\\[10px\\] {\n font-size: 10px;\n }\n .font-bold {\n --tw-font-weight: var(--font-weight-bold);\n font-weight: var(--font-weight-bold);\n }\n .font-medium {\n --tw-font-weight: var(--font-weight-medium);\n font-weight: var(--font-weight-medium);\n }\n .font-semibold {\n --tw-font-weight: var(--font-weight-semibold);\n font-weight: var(--font-weight-semibold);\n }\n .tracking-wide {\n --tw-tracking: var(--tracking-wide);\n letter-spacing: var(--tracking-wide);\n }\n .tracking-widest {\n --tw-tracking: var(--tracking-widest);\n letter-spacing: var(--tracking-widest);\n }\n .text-white {\n color: var(--color-white);\n }\n .uppercase {\n text-transform: uppercase;\n }\n .shadow-lg {\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n }\n .filter {\n filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);\n }\n .md\\:rounded-2xl {\n @media (width >= 48rem) {\n border-radius: var(--radius-2xl);\n }\n }\n .md\\:rounded-2xl\\! {\n @media (width >= 48rem) {\n border-radius: var(--radius-2xl) !important;\n }\n }\n .md\\:text-base {\n @media (width >= 48rem) {\n font-size: var(--text-base);\n line-height: var(--tw-leading, var(--text-base--line-height));\n }\n }\n .md\\:text-sm {\n @media (width >= 48rem) {\n font-size: var(--text-sm);\n line-height: var(--tw-leading, var(--text-sm--line-height));\n }\n }\n .md\\:text-xl {\n @media (width >= 48rem) {\n font-size: var(--text-xl);\n line-height: var(--tw-leading, var(--text-xl--line-height));\n }\n }\n}\n@layer components {\n .motto-video-container {\n position: relative;\n width: 100%;\n min-height: 300px;\n }\n @supports (aspect-ratio: 16/9) {\n .motto-video-container {\n min-height: auto;\n }\n }\n .motto-video-responsive {\n position: absolute;\n top: calc(var(--spacing) * 0);\n left: calc(var(--spacing) * 0);\n height: 100%;\n width: 100%;\n }\n .motto-skip-button {\n position: absolute;\n top: calc(1/2 * 100%);\n z-index: 10;\n display: flex;\n height: calc(var(--spacing) * 16);\n width: calc(var(--spacing) * 16);\n --tw-translate-y: calc(calc(1/2 * 100%) * -1);\n translate: var(--tw-translate-x) var(--tw-translate-y);\n cursor: pointer;\n align-items: center;\n justify-content: center;\n border-radius: calc(infinity * 1px);\n border-style: var(--tw-border-style);\n border-width: 0px;\n background-color: color-mix(in srgb, #000 70%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 70%, transparent);\n }\n font-size: var(--text-2xl);\n line-height: var(--tw-leading, var(--text-2xl--line-height));\n color: var(--color-white);\n opacity: 80%;\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 200ms;\n transition-duration: 200ms;\n &:hover {\n @media (hover: hover) {\n --tw-scale-x: 110%;\n --tw-scale-y: 110%;\n --tw-scale-z: 110%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n &:hover {\n @media (hover: hover) {\n opacity: 100%;\n }\n }\n &:active {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n }\n .motto-skip-button-back {\n left: calc(var(--spacing) * 5);\n }\n .motto-skip-button-forward {\n right: calc(var(--spacing) * 5);\n }\n .motto-mobile-controls-overlay {\n position: absolute;\n inset: calc(var(--spacing) * 0);\n z-index: 20;\n display: flex;\n align-items: center;\n justify-content: center;\n transition-property: opacity;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 300ms;\n transition-duration: 300ms;\n pointer-events: none;\n }\n .motto-mobile-controls-group {\n display: flex;\n align-items: center;\n gap: calc(var(--spacing) * 8);\n opacity: 100%;\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 200ms;\n transition-duration: 200ms;\n pointer-events: none;\n }\n .motto-mobile-play-button {\n display: flex;\n height: calc(var(--spacing) * 14);\n width: calc(var(--spacing) * 14);\n cursor: pointer;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-radius: calc(infinity * 1px);\n border-style: var(--tw-border-style);\n border-width: 0px;\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n color: var(--color-white);\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 200ms;\n transition-duration: 200ms;\n pointer-events: auto;\n }\n .motto-mobile-play-button:active {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .motto-mobile-play-button svg {\n height: calc(var(--spacing) * 7);\n width: calc(var(--spacing) * 7);\n }\n .motto-mobile-skip-button {\n display: flex;\n height: calc(var(--spacing) * 10);\n width: calc(var(--spacing) * 10);\n cursor: pointer;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n border-radius: calc(infinity * 1px);\n border-style: var(--tw-border-style);\n border-width: 0px;\n background-color: color-mix(in srgb, #000 30%, transparent);\n @supports (color: color-mix(in lab, red, red)) {\n background-color: color-mix(in oklab, var(--color-black) 30%, transparent);\n }\n color: var(--color-white);\n --tw-shadow: 0 10px 15px -3px var(--tw-shadow-color, rgb(0 0 0 / 0.1)), 0 4px 6px -4px var(--tw-shadow-color, rgb(0 0 0 / 0.1));\n box-shadow:\n var(--tw-inset-shadow),\n var(--tw-inset-ring-shadow),\n var(--tw-ring-offset-shadow),\n var(--tw-ring-shadow),\n var(--tw-shadow);\n transition-property: all;\n transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));\n transition-duration: var(--tw-duration, var(--default-transition-duration));\n --tw-duration: 200ms;\n transition-duration: 200ms;\n pointer-events: auto;\n }\n .motto-mobile-skip-button:active {\n --tw-scale-x: 95%;\n --tw-scale-y: 95%;\n --tw-scale-z: 95%;\n scale: var(--tw-scale-x) var(--tw-scale-y);\n }\n .motto-mobile-skip-button svg {\n height: calc(var(--spacing) * 6);\n width: calc(var(--spacing) * 6);\n }\n}\n@media (min-width: 768px) {\n .motto-mobile-controls-overlay {\n display: none !important;\n }\n}\n@media (max-width: 767px) {\n .shaka-controls-container .motto-native-skip-button,\n .shaka-controls-container .motto-skip-back-button,\n .shaka-controls-container .motto-skip-forward-button,\n .shaka-controls-container .shaka-button[title*="Skip back"],\n .shaka-controls-container .shaka-button[title*="Skip forward"],\n .shaka-controls-container .shaka-button[aria-label*="Skip back"],\n .shaka-controls-container .shaka-button[aria-label*="Skip forward"],\n .shaka-controls-container button[title*="Skip back"],\n .shaka-controls-container button[title*="Skip forward"],\n .shaka-controls-container button[aria-label*="Skip back"],\n .shaka-controls-container button[aria-label*="Skip forward"],\n .motto-native-skip-button:not(.motto-mobile-skip-button),\n .motto-skip-back-button:not(.motto-mobile-skip-button),\n .motto-skip-forward-button:not(.motto-mobile-skip-button),\n .shaka-button[title*="Skip back"]:not(.motto-mobile-skip-button),\n .shaka-button[title*="Skip forward"]:not(.motto-mobile-skip-button),\n .shaka-button[aria-label*="Skip back"]:not(.motto-mobile-skip-button),\n .shaka-button[aria-label*="Skip forward"]:not(.motto-mobile-skip-button),\n button[title*="Skip back"]:not(.motto-mobile-skip-button),\n button[title*="Skip forward"]:not(.motto-mobile-skip-button),\n button[aria-label*="Skip back"]:not(.motto-mobile-skip-button),\n button[aria-label*="Skip forward"]:not(.motto-mobile-skip-button) {\n display: none !important;\n visibility: hidden !important;\n opacity: 0 !important;\n width: 0 !important;\n height: 0 !important;\n padding: 0 !important;\n margin: 0 !important;\n }\n .motto-mobile-skip-button {\n display: flex !important;\n visibility: visible !important;\n opacity: 1 !important;\n }\n}\n.shaka-seek-bar-container {\n height: 6px !important;\n width: 100% !important;\n margin: 8px 0 !important;\n border-radius: 4px !important;\n position: relative !important;\n border-top: none !important;\n border-bottom: none !important;\n box-shadow: none !important;\n}\n.shaka-seek-bar {\n height: 6px !important;\n width: 100% !important;\n -webkit-appearance: none !important;\n appearance: none !important;\n background: transparent !important;\n cursor: pointer !important;\n border: none !important;\n outline: none !important;\n position: absolute !important;\n top: 0 !important;\n left: 0 !important;\n border-radius: 4px !important;\n}\n.shaka-seek-bar::-webkit-slider-runnable-track {\n height: 6px !important;\n background: transparent !important;\n border-radius: 4px !important;\n border: none !important;\n}\n.shaka-seek-bar::-moz-range-track {\n height: 6px !important;\n background: transparent !important;\n border-radius: 4px !important;\n border: none !important;\n}\n.shaka-seek-bar::-webkit-slider-thumb {\n -webkit-appearance: none !important;\n appearance: none !important;\n width: 16px !important;\n height: 16px !important;\n border-radius: 50% !important;\n background: #ffffff !important;\n cursor: pointer !important;\n border: 2px solid #ffffff !important;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;\n margin-top: -4px !important;\n}\n.shaka-seek-bar::-moz-range-thumb {\n width: 16px !important;\n height: 16px !important;\n border-radius: 50% !important;\n background: #ffffff !important;\n cursor: pointer !important;\n border: 2px solid #ffffff !important;\n box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3) !important;\n margin-top: -4px !important;\n}\n.motto-skip-back-button,\n.motto-skip-forward-button,\n.motto-native-skip-button {\n background: transparent !important;\n border: none !important;\n padding: 4px !important;\n margin: 0px !important;\n cursor: pointer !important;\n color: #ffffff !important;\n transition: all 0.2s ease !important;\n min-width: 32px !important;\n height: 32px !important;\n display: flex !important;\n align-items: center !important;\n justify-content: center !important;\n border-radius: 4px !important;\n width: 25px;\n}\n.motto-skip-back-button:hover,\n.motto-skip-forward-button:hover,\n.motto-native-skip-button:hover {\n opacity: 0.8 !important;\n background: transparent !important;\n transform: scale(1.05) !important;\n}\n.motto-skip-back-button:active,\n.motto-skip-forward-button:active,\n.motto-native-skip-button:active {\n transform: scale(0.95) !important;\n}\n.motto-skip-back-button svg,\n.motto-skip-forward-button svg,\n.motto-native-skip-button svg {\n width: 24px !important;\n height: 24px !important;\n}\n@media (max-width: 767px) {\n .shaka-controls-container .motto-native-skip-button,\n .shaka-controls-container .motto-skip-back-button,\n .shaka-controls-container .motto-skip-forward-button,\n .shaka-controls-container .shaka-play-button,\n .shaka-controls-container .shaka-pause-button {\n display: none !important;\n }\n}\n.shaka-spinner-svg {\n color: white !important;\n fill: white !important;\n}\n.shaka-spinner-path {\n stroke: white !important;\n fill: none !important;\n}\n.shaka-spinner-container {\n color: white !important;\n}\n.shaka-buffering-spinner {\n color: white !important;\n fill: white !important;\n}\n.shaka-buffering-spinner svg {\n color: white !important;\n fill: white !important;\n}\n.shaka-buffering-spinner path {\n stroke: white !important;\n fill: none !important;\n}\n[data-shaka-player-container] .shaka-spinner,\n[data-shaka-player-container] .spinner {\n color: white !important;\n border-color: white !important;\n}\n.material-icons.shaka-spinner {\n color: white !important;\n}\n.shaka-controls-container .shaka-spinner,\n.shaka-video-container .shaka-spinner {\n color: white !important;\n fill: white !important;\n}\n.shaka-controls-container .shaka-spinner svg,\n.shaka-video-container .shaka-spinner svg {\n color: white !important;\n fill: white !important;\n}\n.shaka-controls-container .shaka-spinner path,\n.shaka-video-container .shaka-spinner path {\n stroke: white !important;\n}\n.motto-video-loading-overlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background:\n linear-gradient(\n 135deg,\n #1a1a1a 0%,\n #2d2d2d 100%);\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n z-index: 10;\n transition: opacity 0.3s ease;\n}\n.motto-video-loading-overlay.hidden {\n opacity: 0;\n pointer-events: none;\n}\n.motto-video-loading-content {\n text-align: center;\n color: white;\n}\n.motto-video-loading-icon {\n width: 64px;\n height: 64px;\n margin-bottom: 16px;\n opacity: 0.7;\n}\n.motto-video-loading-text {\n font-size: 16px;\n font-weight: 500;\n margin-bottom: 8px;\n}\n.motto-video-loading-subtext {\n font-size: 14px;\n opacity: 0.7;\n}\n@keyframes pulse-live {\n 0% {\n opacity: 1;\n transform: scale(1);\n }\n 50% {\n opacity: 0.7;\n transform: scale(1.1);\n }\n 100% {\n opacity: 1;\n transform: scale(1);\n }\n}\n.shaka-play-button-container {\n display: none !important;\n}\n@media (max-width: 767px) {\n .shaka-controls-container {\n z-index: 90 !important;\n height: 100px !important;\n bottom: 0 !important;\n top: unset !important;\n }\n}\n@property --tw-gradient-position { syntax: "*"; inherits: false; }\n@property --tw-gradient-from { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-via { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-to { syntax: "<color>"; inherits: false; initial-value: #0000; }\n@property --tw-gradient-stops { syntax: "*"; inherits: false; }\n@property --tw-gradient-via-stops { syntax: "*"; inherits: false; }\n@property --tw-gradient-from-position { syntax: "<length-percentage>"; inherits: false; initial-value: 0%; }\n@property --tw-gradient-via-position { syntax: "<length-percentage>"; inherits: false; initial-value: 50%; }\n@property --tw-gradient-to-position { syntax: "<length-percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-font-weight { syntax: "*"; inherits: false; }\n@property --tw-tracking { syntax: "*"; inherits: false; }\n@property --tw-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-inset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-inset-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-inset-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-ring-color { syntax: "*"; inherits: false; }\n@property --tw-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-inset-ring-color { syntax: "*"; inherits: false; }\n@property --tw-inset-ring-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-ring-inset { syntax: "*"; inherits: false; }\n@property --tw-ring-offset-width { syntax: "<length>"; inherits: false; initial-value: 0px; }\n@property --tw-ring-offset-color { syntax: "*"; inherits: false; initial-value: #fff; }\n@property --tw-ring-offset-shadow { syntax: "*"; inherits: false; initial-value: 0 0 #0000; }\n@property --tw-blur { syntax: "*"; inherits: false; }\n@property --tw-brightness { syntax: "*"; inherits: false; }\n@property --tw-contrast { syntax: "*"; inherits: false; }\n@property --tw-grayscale { syntax: "*"; inherits: false; }\n@property --tw-hue-rotate { syntax: "*"; inherits: false; }\n@property --tw-invert { syntax: "*"; inherits: false; }\n@property --tw-opacity { syntax: "*"; inherits: false; }\n@property --tw-saturate { syntax: "*"; inherits: false; }\n@property --tw-sepia { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow-color { syntax: "*"; inherits: false; }\n@property --tw-drop-shadow-alpha { syntax: "<percentage>"; inherits: false; initial-value: 100%; }\n@property --tw-drop-shadow-size { syntax: "*"; inherits: false; }\n@property --tw-translate-x { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-translate-y { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-translate-z { syntax: "*"; inherits: false; initial-value: 0; }\n@property --tw-border-style { syntax: "*"; inherits: false; initial-value: solid; }\n@property --tw-duration { syntax: "*"; inherits: false; }\n@property --tw-scale-x { syntax: "*"; inherits: false; initial-value: 1; }\n@property --tw-scale-y { syntax: "*"; inherits: false; initial-value: 1; }\n@property --tw-scale-z { syntax: "*"; inherits: false; initial-value: 1; }\n@keyframes spin {\n to {\n transform: rotate(360deg);\n }\n}\n@keyframes pulse {\n 50% {\n opacity: 0.5;\n }\n}\n@layer properties {\n @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {\n *,\n ::before,\n ::after,\n ::backdrop {\n --tw-gradient-position: initial;\n --tw-gradient-from: #0000;\n --tw-gradient-via: #0000;\n --tw-gradient-to: #0000;\n --tw-gradient-stops: initial;\n --tw-gradient-via-stops: initial;\n --tw-gradient-from-position: 0%;\n --tw-gradient-via-position: 50%;\n --tw-gradient-to-position: 100%;\n --tw-font-weight: initial;\n --tw-tracking: initial;\n --tw-shadow: 0 0 #0000;\n --tw-shadow-color: initial;\n --tw-shadow-alpha: 100%;\n --tw-inset-shadow: 0 0 #0000;\n --tw-inset-shadow-color: initial;\n --tw-inset-shadow-alpha: 100%;\n --tw-ring-color: initial;\n --tw-ring-shadow: 0 0 #0000;\n --tw-inset-ring-color: initial;\n --tw-inset-ring-shadow: 0 0 #0000;\n --tw-ring-inset: initial;\n --tw-ring-offset-width: 0px;\n --tw-ring-offset-color: #fff;\n --tw-ring-offset-shadow: 0 0 #0000;\n --tw-blur: initial;\n --tw-brightness: initial;\n --tw-contrast: initial;\n --tw-grayscale: initial;\n --tw-hue-rotate: initial;\n --tw-invert: initial;\n --tw-opacity: initial;\n --tw-saturate: initial;\n --tw-sepia: initial;\n --tw-drop-shadow: initial;\n --tw-drop-shadow-color: initial;\n --tw-drop-shadow-alpha: 100%;\n --tw-drop-shadow-size: initial;\n --tw-translate-x: 0;\n --tw-translate-y: 0;\n --tw-translate-z: 0;\n --tw-border-style: solid;\n --tw-duration: initial;\n --tw-scale-x: 1;\n --tw-scale-y: 1;\n --tw-scale-z: 1;\n }\n }\n}\n');
30
30
 
31
31
  // src/Player.tsx
32
- import { forwardRef, useEffect as useEffect4, useRef as useRef8, useImperativeHandle } from "react";
32
+ import { forwardRef, useEffect as useEffect5, useRef as useRef8, useImperativeHandle } from "react";
33
33
  import shaka2 from "shaka-player/dist/shaka-player.ui";
34
34
 
35
35
  // src/hooks/useShakePlayer.ts
@@ -120,11 +120,25 @@ var useQualityControl = (playerRef, qualityConfig, onQualityChange) => {
120
120
  if (!playerRef.current) return;
121
121
  if (height === 0) {
122
122
  playerRef.current.configure({
123
- abr: { enabled: true }
123
+ abr: {
124
+ enabled: true,
125
+ switchInterval: 2,
126
+ // quicker re-checks
127
+ clearBufferSwitch: true,
128
+ safeMarginSwitch: 10
129
+ // leave ~10 s in front of the playhead }
130
+ }
124
131
  });
125
132
  } else {
126
133
  playerRef.current.configure({
127
- abr: { enabled: false }
134
+ abr: {
135
+ enabled: false,
136
+ switchInterval: 2,
137
+ // quicker re-checks
138
+ clearBufferSwitch: true,
139
+ safeMarginSwitch: 10
140
+ // leave ~10 s in front of the playhead }
141
+ }
128
142
  });
129
143
  const tracks = playerRef.current.getVariantTracks();
130
144
  const targetTrack = tracks.find((track) => track.height === height);
@@ -551,6 +565,7 @@ var MobileControlsContainerFactory = class {
551
565
  };
552
566
  var useShakaUI = (playerRef, containerRef, videoRef, controls, chromecastConfig, seekbarColors, onSkipBack, onSkipForward) => {
553
567
  const uiRef = useRef4(null);
568
+ const mobileOverlayRef = useRef4(null);
554
569
  const registeredElements = useRef4(/* @__PURE__ */ new Set());
555
570
  const initializeUI = useCallback5(async () => {
556
571
  if (!controls || !containerRef.current || !playerRef.current || !videoRef.current) {
@@ -622,7 +637,14 @@ var useShakaUI = (playerRef, containerRef, videoRef, controls, chromecastConfig,
622
637
  const container = containerRef.current;
623
638
  const video = videoRef.current;
624
639
  if (container && video) {
625
- new MobileControlsContainer(container, { getVideo: () => video }, onSkipBack, onSkipForward);
640
+ if (!mobileOverlayRef.current) {
641
+ mobileOverlayRef.current = new MobileControlsContainer(
642
+ container,
643
+ { getVideo: () => video },
644
+ onSkipBack,
645
+ onSkipForward
646
+ );
647
+ }
626
648
  }
627
649
  }, 500);
628
650
  }
@@ -637,6 +659,14 @@ var useShakaUI = (playerRef, containerRef, videoRef, controls, chromecastConfig,
637
659
  }
638
660
  uiRef.current = null;
639
661
  }
662
+ if (mobileOverlayRef.current) {
663
+ try {
664
+ mobileOverlayRef.current.release();
665
+ } catch (error) {
666
+ console.warn("Error releasing mobile controls overlay:", error);
667
+ }
668
+ mobileOverlayRef.current = null;
669
+ }
640
670
  }, []);
641
671
  return {
642
672
  uiRef,
@@ -821,12 +851,10 @@ var useLiveIndicator = (containerRef, options = {}) => {
821
851
  characterData: true,
822
852
  characterDataOldValue: true
823
853
  });
824
- const intervalId = setInterval(checkForLiveContent, 1e3);
825
854
  return () => {
826
855
  if (observerRef.current) {
827
856
  observerRef.current.disconnect();
828
857
  }
829
- clearInterval(intervalId);
830
858
  };
831
859
  }, [containerRef, enabled, indicatorColor, indicatorSize, showPulseAnimation]);
832
860
  return {
@@ -842,6 +870,51 @@ var useLiveIndicator = (containerRef, options = {}) => {
842
870
  };
843
871
  };
844
872
 
873
+ // src/hooks/useKeyboardControls.ts
874
+ import { useCallback as useCallback7, useEffect as useEffect4 } from "react";
875
+ var useKeyboardControls = (videoRef, options = {}) => {
876
+ const { skipBack, skipForward, enabled = true } = options;
877
+ const isDesktop = useCallback7(() => {
878
+ return window.innerWidth > 767 && !/Android|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);
879
+ }, []);
880
+ const handleKeydown = useCallback7((event) => {
881
+ if (!enabled || !isDesktop() || !videoRef.current) return;
882
+ const activeElement = document.activeElement;
883
+ if (activeElement && (activeElement.tagName === "INPUT" || activeElement.tagName === "TEXTAREA" || activeElement.isContentEditable)) {
884
+ return;
885
+ }
886
+ switch (event.key) {
887
+ case "ArrowLeft":
888
+ event.preventDefault();
889
+ skipBack?.();
890
+ break;
891
+ case "ArrowRight":
892
+ event.preventDefault();
893
+ skipForward?.();
894
+ break;
895
+ case " ":
896
+ case "Space":
897
+ event.preventDefault();
898
+ if (videoRef.current.paused) {
899
+ videoRef.current.play();
900
+ } else {
901
+ videoRef.current.pause();
902
+ }
903
+ break;
904
+ }
905
+ }, [enabled, videoRef, skipBack, skipForward, isDesktop]);
906
+ useEffect4(() => {
907
+ if (!enabled || !isDesktop()) return;
908
+ document.addEventListener("keydown", handleKeydown);
909
+ return () => {
910
+ document.removeEventListener("keydown", handleKeydown);
911
+ };
912
+ }, [handleKeydown, enabled, isDesktop]);
913
+ return {
914
+ isDesktop: isDesktop()
915
+ };
916
+ };
917
+
845
918
  // src/components/Loading.tsx
846
919
  import { twMerge } from "tailwind-merge";
847
920
  import { jsx, jsxs } from "react/jsx-runtime";
@@ -978,7 +1051,7 @@ var Player = forwardRef(
978
1051
  seekbarConfig,
979
1052
  events,
980
1053
  containerClassName,
981
- ...props
1054
+ ...videoProps
982
1055
  }, ref) => {
983
1056
  const videoRef = useRef8(null);
984
1057
  const containerRef = useRef8(null);
@@ -1003,6 +1076,11 @@ var Player = forwardRef(
1003
1076
  skipDuration,
1004
1077
  shouldShowSkipControls
1005
1078
  } = useSkipControls(videoRef, events?.onSkipBack, events?.onSkipForward);
1079
+ useKeyboardControls(videoRef, {
1080
+ skipBack,
1081
+ skipForward,
1082
+ enabled: true
1083
+ });
1006
1084
  const {
1007
1085
  initializeMux,
1008
1086
  updateMuxData,
@@ -1078,7 +1156,7 @@ var Player = forwardRef(
1078
1156
  console.warn("Chromecast initialization failed:", error);
1079
1157
  }
1080
1158
  };
1081
- useEffect4(() => {
1159
+ useEffect5(() => {
1082
1160
  const video = videoRef.current;
1083
1161
  if (!video) return;
1084
1162
  const initialize = async () => {
@@ -1104,7 +1182,7 @@ var Player = forwardRef(
1104
1182
  destroyPlayer();
1105
1183
  };
1106
1184
  }, [src]);
1107
- useEffect4(() => {
1185
+ useEffect5(() => {
1108
1186
  const video = videoRef.current;
1109
1187
  if (!video) return;
1110
1188
  video.autoplay = autoPlay;
@@ -1113,6 +1191,13 @@ var Player = forwardRef(
1113
1191
  video.controls = false;
1114
1192
  if (poster) video.poster = poster;
1115
1193
  }, [autoPlay, loop, muted, poster]);
1194
+ useEffect5(() => {
1195
+ const video = videoRef.current;
1196
+ if (!video) return;
1197
+ video.controls = false;
1198
+ video.setAttribute("controls", "false");
1199
+ video.removeAttribute("controls");
1200
+ }, []);
1116
1201
  useImperativeHandle(ref, () => ({
1117
1202
  ...videoRef.current,
1118
1203
  // Custom methods for quality control
@@ -1134,6 +1219,8 @@ var Player = forwardRef(
1134
1219
  } : { width, height };
1135
1220
  const videoClasses = isResponsive ? "motto-video-responsive" : "w-full h-full ";
1136
1221
  const videoStyle = isResponsive ? {} : { width, height };
1222
+ const filteredVideoProps = { ...videoProps };
1223
+ delete filteredVideoProps.controls;
1137
1224
  return /* @__PURE__ */ jsxs4(
1138
1225
  "div",
1139
1226
  {
@@ -1152,7 +1239,7 @@ var Player = forwardRef(
1152
1239
  height: isResponsive ? void 0 : height,
1153
1240
  style: videoStyle,
1154
1241
  controls: false,
1155
- ...props
1242
+ ...filteredVideoProps
1156
1243
  }
1157
1244
  ),
1158
1245
  /* @__PURE__ */ jsx5(LiveBadge, { isVisible: isLiveBadgeVisible }),
@@ -1171,7 +1258,7 @@ var Player = forwardRef(
1171
1258
  Player.displayName = "Player";
1172
1259
 
1173
1260
  // src/Video.tsx
1174
- import { useEffect as useEffect6 } from "react";
1261
+ import { useEffect as useEffect7 } from "react";
1175
1262
  import { twMerge as twMerge3 } from "tailwind-merge";
1176
1263
  import { useQuery } from "@tanstack/react-query";
1177
1264
 
@@ -1312,7 +1399,7 @@ var getErrorType = (error, video) => {
1312
1399
  };
1313
1400
 
1314
1401
  // src/messages/useMessages.tsx
1315
- import { useState as useState3, useEffect as useEffect5 } from "react";
1402
+ import { useState as useState3, useEffect as useEffect6 } from "react";
1316
1403
 
1317
1404
  // src/messages/en.json
1318
1405
  var en_default = {
@@ -1616,7 +1703,7 @@ var getBrowserLanguage = () => {
1616
1703
  var useMessages = (locale) => {
1617
1704
  const [language, setLanguage] = useState3("en");
1618
1705
  const [translations, setTranslations] = useState3(availableLanguages.en);
1619
- useEffect5(() => {
1706
+ useEffect6(() => {
1620
1707
  const lang = !!availableLanguages?.[locale] ? locale : getBrowserLanguage();
1621
1708
  ;
1622
1709
  setLanguage(lang);
@@ -1678,7 +1765,7 @@ var Video = ({
1678
1765
  const { t } = useMessages_default(locale);
1679
1766
  const activePlaylist = findHLSPlaylist(video);
1680
1767
  const hlsUrl = activePlaylist?.url;
1681
- useEffect6(() => {
1768
+ useEffect7(() => {
1682
1769
  if (events?.onVideoData && video) {
1683
1770
  events.onVideoData(video);
1684
1771
  }
@@ -1729,7 +1816,7 @@ var Video = ({
1729
1816
  };
1730
1817
 
1731
1818
  // src/Event.tsx
1732
- import { useCallback as useCallback7, useEffect as useEffect7, useState as useState4 } from "react";
1819
+ import { useCallback as useCallback8, useEffect as useEffect8, useState as useState4 } from "react";
1733
1820
  import { twMerge as twMerge4 } from "tailwind-merge";
1734
1821
  import { useQuery as useQuery2 } from "@tanstack/react-query";
1735
1822
  import { Fragment, jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
@@ -1780,7 +1867,7 @@ var Event = ({
1780
1867
  retryDelay: queryOptions.retryDelay ?? ((attemptIndex) => Math.min(1e3 * 2 ** attemptIndex, 3e4))
1781
1868
  });
1782
1869
  const [loadingApisState, setLoadingApisState] = useState4(true);
1783
- useEffect7(() => {
1870
+ useEffect8(() => {
1784
1871
  if (videosData !== void 0) {
1785
1872
  setLoadingApisState(false);
1786
1873
  const videosWithPlaylists = videosData.filter(
@@ -1812,12 +1899,12 @@ var Event = ({
1812
1899
  }
1813
1900
  }, [videosData, eventData]);
1814
1901
  const { t } = useMessages_default(locale);
1815
- useEffect7(() => {
1902
+ useEffect8(() => {
1816
1903
  if (events?.onEventData && eventData) {
1817
1904
  events.onEventData(eventData);
1818
1905
  }
1819
1906
  }, [eventData, events]);
1820
- useEffect7(() => {
1907
+ useEffect8(() => {
1821
1908
  if (events?.onVideoData && activeVideoId && videosData) {
1822
1909
  const activeVideo = videosData.find((video) => video.id === activeVideoId);
1823
1910
  if (activeVideo) {
@@ -1828,7 +1915,7 @@ var Event = ({
1828
1915
  const [error, setError] = useState4(null);
1829
1916
  const [loadingPlaylist, setLoadingPlaylist] = useState4(true);
1830
1917
  const videosDataError = videosData?.some((video) => !!video.error);
1831
- useEffect7(() => {
1918
+ useEffect8(() => {
1832
1919
  if (eventError || videosError || videosDataError) {
1833
1920
  const errorObj = eventError || videosError || videosData?.find((video) => !!video.error)?.error && new Error(videosData?.find((video) => !!video.error)?.error) || new Error("default");
1834
1921
  setError(errorObj);
@@ -1839,7 +1926,7 @@ var Event = ({
1839
1926
  setError(null);
1840
1927
  }
1841
1928
  }, [eventError, videosError, videosDataError, videosData, events]);
1842
- useEffect7(() => {
1929
+ useEffect8(() => {
1843
1930
  const eventLoadedWithNoVideos = !isEventLoading && eventData && eventData.videoIds && (!eventData.videoIds || eventData?.videoIds?.length === 0) && !loadingApisState;
1844
1931
  const allApisLoadedWithPotentialVideos = !isEventLoading && !videosIsLoading && eventData && !loadingApisState;
1845
1932
  if (eventLoadedWithNoVideos || allApisLoadedWithPotentialVideos) {
@@ -1915,7 +2002,7 @@ function PreEvent({
1915
2002
  );
1916
2003
  const shouldBeStarted = remainingTime < 0;
1917
2004
  const { t } = useMessages_default(locale);
1918
- useEffect7(() => {
2005
+ useEffect8(() => {
1919
2006
  const interval = setInterval(() => {
1920
2007
  if (remainingTime < 0) {
1921
2008
  clearInterval(interval);
@@ -1925,7 +2012,7 @@ function PreEvent({
1925
2012
  }, 1e3);
1926
2013
  return () => clearInterval(interval);
1927
2014
  }, [date, remainingTime]);
1928
- const renderCountdown = useCallback7(() => {
2015
+ const renderCountdown = useCallback8(() => {
1929
2016
  if (shouldBeStarted) {
1930
2017
  return /* @__PURE__ */ jsx7("span", { className: "text-base-content text-xl", children: t("EVENT_NOT_STARTED") });
1931
2018
  }
@@ -2055,7 +2142,7 @@ var TitleAndDescription = ({
2055
2142
  };
2056
2143
 
2057
2144
  // src/CreativeWork.tsx
2058
- import { useEffect as useEffect8, useState as useState5 } from "react";
2145
+ import { useEffect as useEffect9, useState as useState5 } from "react";
2059
2146
  import { twMerge as twMerge5 } from "tailwind-merge";
2060
2147
  import { useQuery as useQuery3 } from "@tanstack/react-query";
2061
2148
  import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
@@ -2107,7 +2194,7 @@ var CreativeWork = ({
2107
2194
  retryDelay: queryOptions.retryDelay ?? ((attemptIndex) => Math.min(1e3 * 2 ** attemptIndex, 3e4))
2108
2195
  });
2109
2196
  const [loadingApisState, setLoadingApisState] = useState5(true);
2110
- useEffect8(() => {
2197
+ useEffect9(() => {
2111
2198
  if (videosData !== void 0) {
2112
2199
  setLoadingApisState(false);
2113
2200
  const videosWithPlaylists = videosData.filter(
@@ -2139,7 +2226,7 @@ var CreativeWork = ({
2139
2226
  }
2140
2227
  }, [videosData, creativeWorkData]);
2141
2228
  const { t } = useMessages_default(locale);
2142
- useEffect8(() => {
2229
+ useEffect9(() => {
2143
2230
  if (events?.onCreativeWorkData && creativeWorkData) {
2144
2231
  events.onCreativeWorkData(creativeWorkData);
2145
2232
  }
@@ -2147,7 +2234,7 @@ var CreativeWork = ({
2147
2234
  setShowCountDown(true);
2148
2235
  }
2149
2236
  }, [creativeWorkData, events]);
2150
- useEffect8(() => {
2237
+ useEffect9(() => {
2151
2238
  if (events?.onVideoData && activeVideoId && videosData) {
2152
2239
  const activeVideo = videosData.find((video) => video.id === activeVideoId);
2153
2240
  if (activeVideo) {
@@ -2157,7 +2244,7 @@ var CreativeWork = ({
2157
2244
  }, [activeVideoId, videosData, events]);
2158
2245
  const [error, setError] = useState5(null);
2159
2246
  const videosDataError = videosData?.some((video) => !!video.error);
2160
- useEffect8(() => {
2247
+ useEffect9(() => {
2161
2248
  if (creativeWorkError || videosError || videosDataError) {
2162
2249
  const errorObj = creativeWorkError || videosError || videosData?.find((video) => !!video.error)?.error && new Error(videosData?.find((video) => !!video.error)?.error) || new Error("default");
2163
2250
  setError(errorObj);
@@ -2180,7 +2267,7 @@ var CreativeWork = ({
2180
2267
  ) }) });
2181
2268
  }
2182
2269
  const [loadingPlaylist, setLoadingPlaylist] = useState5(true);
2183
- useEffect8(() => {
2270
+ useEffect9(() => {
2184
2271
  const creativeWorkLoadedWithNoVideos = !isCreativeWorkLoading && creativeWorkData && creativeWorkData.videoIds && creativeWorkData.videoIds.length === 0;
2185
2272
  const creativeWorkLoadedWithNoData = !isCreativeWorkLoading && creativeWorkData && !creativeWorkData.videoIds;
2186
2273
  const isEventsFinished = !videosIsLoading && videosData && videosData.length > 0 && videosData.every((video) => video.playlists && video.playlists.length === 0);
@@ -2261,7 +2348,7 @@ function PreCreativeWork({
2261
2348
  );
2262
2349
  const shouldBeStarted = remainingTime < 0;
2263
2350
  const { t } = useMessages_default(locale);
2264
- useEffect8(() => {
2351
+ useEffect9(() => {
2265
2352
  const interval = setInterval(() => {
2266
2353
  if (remainingTime < 0) {
2267
2354
  clearInterval(interval);