@mottosports/motto-video-player 1.0.1-rc.14 → 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 () => {
@@ -1103,22 +1181,8 @@ var Player = forwardRef(
1103
1181
  destroyMux();
1104
1182
  destroyPlayer();
1105
1183
  };
1106
- }, [
1107
- src,
1108
- initializePlayer,
1109
- setupEventListeners,
1110
- setupQualityTracking,
1111
- configureQuality,
1112
- initializeUI,
1113
- initializeMux,
1114
- cleanupEventListeners,
1115
- destroyUI,
1116
- destroyMux,
1117
- destroyPlayer,
1118
- handleMuxError,
1119
- playerRef
1120
- ]);
1121
- useEffect4(() => {
1184
+ }, [src]);
1185
+ useEffect5(() => {
1122
1186
  const video = videoRef.current;
1123
1187
  if (!video) return;
1124
1188
  video.autoplay = autoPlay;
@@ -1127,6 +1191,13 @@ var Player = forwardRef(
1127
1191
  video.controls = false;
1128
1192
  if (poster) video.poster = poster;
1129
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
+ }, []);
1130
1201
  useImperativeHandle(ref, () => ({
1131
1202
  ...videoRef.current,
1132
1203
  // Custom methods for quality control
@@ -1148,6 +1219,8 @@ var Player = forwardRef(
1148
1219
  } : { width, height };
1149
1220
  const videoClasses = isResponsive ? "motto-video-responsive" : "w-full h-full ";
1150
1221
  const videoStyle = isResponsive ? {} : { width, height };
1222
+ const filteredVideoProps = { ...videoProps };
1223
+ delete filteredVideoProps.controls;
1151
1224
  return /* @__PURE__ */ jsxs4(
1152
1225
  "div",
1153
1226
  {
@@ -1166,7 +1239,7 @@ var Player = forwardRef(
1166
1239
  height: isResponsive ? void 0 : height,
1167
1240
  style: videoStyle,
1168
1241
  controls: false,
1169
- ...props
1242
+ ...filteredVideoProps
1170
1243
  }
1171
1244
  ),
1172
1245
  /* @__PURE__ */ jsx5(LiveBadge, { isVisible: isLiveBadgeVisible }),
@@ -1185,7 +1258,7 @@ var Player = forwardRef(
1185
1258
  Player.displayName = "Player";
1186
1259
 
1187
1260
  // src/Video.tsx
1188
- import { useEffect as useEffect6 } from "react";
1261
+ import { useEffect as useEffect7 } from "react";
1189
1262
  import { twMerge as twMerge3 } from "tailwind-merge";
1190
1263
  import { useQuery } from "@tanstack/react-query";
1191
1264
 
@@ -1326,7 +1399,7 @@ var getErrorType = (error, video) => {
1326
1399
  };
1327
1400
 
1328
1401
  // src/messages/useMessages.tsx
1329
- import { useState as useState3, useEffect as useEffect5 } from "react";
1402
+ import { useState as useState3, useEffect as useEffect6 } from "react";
1330
1403
 
1331
1404
  // src/messages/en.json
1332
1405
  var en_default = {
@@ -1630,7 +1703,7 @@ var getBrowserLanguage = () => {
1630
1703
  var useMessages = (locale) => {
1631
1704
  const [language, setLanguage] = useState3("en");
1632
1705
  const [translations, setTranslations] = useState3(availableLanguages.en);
1633
- useEffect5(() => {
1706
+ useEffect6(() => {
1634
1707
  const lang = !!availableLanguages?.[locale] ? locale : getBrowserLanguage();
1635
1708
  ;
1636
1709
  setLanguage(lang);
@@ -1692,7 +1765,7 @@ var Video = ({
1692
1765
  const { t } = useMessages_default(locale);
1693
1766
  const activePlaylist = findHLSPlaylist(video);
1694
1767
  const hlsUrl = activePlaylist?.url;
1695
- useEffect6(() => {
1768
+ useEffect7(() => {
1696
1769
  if (events?.onVideoData && video) {
1697
1770
  events.onVideoData(video);
1698
1771
  }
@@ -1743,7 +1816,7 @@ var Video = ({
1743
1816
  };
1744
1817
 
1745
1818
  // src/Event.tsx
1746
- 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";
1747
1820
  import { twMerge as twMerge4 } from "tailwind-merge";
1748
1821
  import { useQuery as useQuery2 } from "@tanstack/react-query";
1749
1822
  import { Fragment, jsx as jsx7, jsxs as jsxs6 } from "react/jsx-runtime";
@@ -1794,7 +1867,7 @@ var Event = ({
1794
1867
  retryDelay: queryOptions.retryDelay ?? ((attemptIndex) => Math.min(1e3 * 2 ** attemptIndex, 3e4))
1795
1868
  });
1796
1869
  const [loadingApisState, setLoadingApisState] = useState4(true);
1797
- useEffect7(() => {
1870
+ useEffect8(() => {
1798
1871
  if (videosData !== void 0) {
1799
1872
  setLoadingApisState(false);
1800
1873
  const videosWithPlaylists = videosData.filter(
@@ -1826,12 +1899,12 @@ var Event = ({
1826
1899
  }
1827
1900
  }, [videosData, eventData]);
1828
1901
  const { t } = useMessages_default(locale);
1829
- useEffect7(() => {
1902
+ useEffect8(() => {
1830
1903
  if (events?.onEventData && eventData) {
1831
1904
  events.onEventData(eventData);
1832
1905
  }
1833
1906
  }, [eventData, events]);
1834
- useEffect7(() => {
1907
+ useEffect8(() => {
1835
1908
  if (events?.onVideoData && activeVideoId && videosData) {
1836
1909
  const activeVideo = videosData.find((video) => video.id === activeVideoId);
1837
1910
  if (activeVideo) {
@@ -1842,7 +1915,7 @@ var Event = ({
1842
1915
  const [error, setError] = useState4(null);
1843
1916
  const [loadingPlaylist, setLoadingPlaylist] = useState4(true);
1844
1917
  const videosDataError = videosData?.some((video) => !!video.error);
1845
- useEffect7(() => {
1918
+ useEffect8(() => {
1846
1919
  if (eventError || videosError || videosDataError) {
1847
1920
  const errorObj = eventError || videosError || videosData?.find((video) => !!video.error)?.error && new Error(videosData?.find((video) => !!video.error)?.error) || new Error("default");
1848
1921
  setError(errorObj);
@@ -1853,7 +1926,7 @@ var Event = ({
1853
1926
  setError(null);
1854
1927
  }
1855
1928
  }, [eventError, videosError, videosDataError, videosData, events]);
1856
- useEffect7(() => {
1929
+ useEffect8(() => {
1857
1930
  const eventLoadedWithNoVideos = !isEventLoading && eventData && eventData.videoIds && (!eventData.videoIds || eventData?.videoIds?.length === 0) && !loadingApisState;
1858
1931
  const allApisLoadedWithPotentialVideos = !isEventLoading && !videosIsLoading && eventData && !loadingApisState;
1859
1932
  if (eventLoadedWithNoVideos || allApisLoadedWithPotentialVideos) {
@@ -1929,7 +2002,7 @@ function PreEvent({
1929
2002
  );
1930
2003
  const shouldBeStarted = remainingTime < 0;
1931
2004
  const { t } = useMessages_default(locale);
1932
- useEffect7(() => {
2005
+ useEffect8(() => {
1933
2006
  const interval = setInterval(() => {
1934
2007
  if (remainingTime < 0) {
1935
2008
  clearInterval(interval);
@@ -1939,7 +2012,7 @@ function PreEvent({
1939
2012
  }, 1e3);
1940
2013
  return () => clearInterval(interval);
1941
2014
  }, [date, remainingTime]);
1942
- const renderCountdown = useCallback7(() => {
2015
+ const renderCountdown = useCallback8(() => {
1943
2016
  if (shouldBeStarted) {
1944
2017
  return /* @__PURE__ */ jsx7("span", { className: "text-base-content text-xl", children: t("EVENT_NOT_STARTED") });
1945
2018
  }
@@ -2069,7 +2142,7 @@ var TitleAndDescription = ({
2069
2142
  };
2070
2143
 
2071
2144
  // src/CreativeWork.tsx
2072
- import { useEffect as useEffect8, useState as useState5 } from "react";
2145
+ import { useEffect as useEffect9, useState as useState5 } from "react";
2073
2146
  import { twMerge as twMerge5 } from "tailwind-merge";
2074
2147
  import { useQuery as useQuery3 } from "@tanstack/react-query";
2075
2148
  import { Fragment as Fragment2, jsx as jsx8, jsxs as jsxs7 } from "react/jsx-runtime";
@@ -2121,7 +2194,7 @@ var CreativeWork = ({
2121
2194
  retryDelay: queryOptions.retryDelay ?? ((attemptIndex) => Math.min(1e3 * 2 ** attemptIndex, 3e4))
2122
2195
  });
2123
2196
  const [loadingApisState, setLoadingApisState] = useState5(true);
2124
- useEffect8(() => {
2197
+ useEffect9(() => {
2125
2198
  if (videosData !== void 0) {
2126
2199
  setLoadingApisState(false);
2127
2200
  const videosWithPlaylists = videosData.filter(
@@ -2153,7 +2226,7 @@ var CreativeWork = ({
2153
2226
  }
2154
2227
  }, [videosData, creativeWorkData]);
2155
2228
  const { t } = useMessages_default(locale);
2156
- useEffect8(() => {
2229
+ useEffect9(() => {
2157
2230
  if (events?.onCreativeWorkData && creativeWorkData) {
2158
2231
  events.onCreativeWorkData(creativeWorkData);
2159
2232
  }
@@ -2161,7 +2234,7 @@ var CreativeWork = ({
2161
2234
  setShowCountDown(true);
2162
2235
  }
2163
2236
  }, [creativeWorkData, events]);
2164
- useEffect8(() => {
2237
+ useEffect9(() => {
2165
2238
  if (events?.onVideoData && activeVideoId && videosData) {
2166
2239
  const activeVideo = videosData.find((video) => video.id === activeVideoId);
2167
2240
  if (activeVideo) {
@@ -2171,7 +2244,7 @@ var CreativeWork = ({
2171
2244
  }, [activeVideoId, videosData, events]);
2172
2245
  const [error, setError] = useState5(null);
2173
2246
  const videosDataError = videosData?.some((video) => !!video.error);
2174
- useEffect8(() => {
2247
+ useEffect9(() => {
2175
2248
  if (creativeWorkError || videosError || videosDataError) {
2176
2249
  const errorObj = creativeWorkError || videosError || videosData?.find((video) => !!video.error)?.error && new Error(videosData?.find((video) => !!video.error)?.error) || new Error("default");
2177
2250
  setError(errorObj);
@@ -2194,7 +2267,7 @@ var CreativeWork = ({
2194
2267
  ) }) });
2195
2268
  }
2196
2269
  const [loadingPlaylist, setLoadingPlaylist] = useState5(true);
2197
- useEffect8(() => {
2270
+ useEffect9(() => {
2198
2271
  const creativeWorkLoadedWithNoVideos = !isCreativeWorkLoading && creativeWorkData && creativeWorkData.videoIds && creativeWorkData.videoIds.length === 0;
2199
2272
  const creativeWorkLoadedWithNoData = !isCreativeWorkLoading && creativeWorkData && !creativeWorkData.videoIds;
2200
2273
  const isEventsFinished = !videosIsLoading && videosData && videosData.length > 0 && videosData.every((video) => video.playlists && video.playlists.length === 0);
@@ -2275,7 +2348,7 @@ function PreCreativeWork({
2275
2348
  );
2276
2349
  const shouldBeStarted = remainingTime < 0;
2277
2350
  const { t } = useMessages_default(locale);
2278
- useEffect8(() => {
2351
+ useEffect9(() => {
2279
2352
  const interval = setInterval(() => {
2280
2353
  if (remainingTime < 0) {
2281
2354
  clearInterval(interval);