@videojs/react 10.0.0-beta.30 → 10.0.0-beta.31
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/default/i18n/context.js.map +1 -1
- package/dist/default/i18n/create-i18n.js +3 -1
- package/dist/default/i18n/create-i18n.js.map +1 -1
- package/dist/default/i18n/get-provider-root-props.js +4 -2
- package/dist/default/i18n/get-provider-root-props.js.map +1 -1
- package/dist/default/player/container.js +16 -7
- package/dist/default/player/container.js.map +1 -1
- package/dist/default/presets/audio/minimal-skin.css +39 -7
- package/dist/default/presets/audio/skin.css +31 -7
- package/dist/default/presets/live-audio/minimal-skin.css +39 -7
- package/dist/default/presets/live-audio/skin.css +31 -7
- package/dist/default/presets/live-video/minimal-skin.css +39 -7
- package/dist/default/presets/live-video/minimal-skin.js +4 -1
- package/dist/default/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/default/presets/live-video/minimal-skin.tailwind.js +4 -1
- package/dist/default/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/live-video/skin.css +31 -7
- package/dist/default/presets/live-video/skin.js +4 -1
- package/dist/default/presets/live-video/skin.js.map +1 -1
- package/dist/default/presets/live-video/skin.tailwind.js +4 -1
- package/dist/default/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.css +39 -7
- package/dist/default/presets/video/minimal-skin.js +27 -11
- package/dist/default/presets/video/minimal-skin.js.map +1 -1
- package/dist/default/presets/video/minimal-skin.tailwind.js +28 -12
- package/dist/default/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/default/presets/video/skin.css +31 -7
- package/dist/default/presets/video/skin.js +27 -11
- package/dist/default/presets/video/skin.js.map +1 -1
- package/dist/default/presets/video/skin.tailwind.js +28 -12
- package/dist/default/presets/video/skin.tailwind.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button-group.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js +8 -7
- package/dist/default/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/time.js +1 -1
- package/dist/default/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js +8 -7
- package/dist/default/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js +2 -2
- package/dist/default/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/default/ui/hooks/use-slider.js +1 -2
- package/dist/default/ui/hooks/use-slider.js.map +1 -1
- package/dist/dev/i18n/context.d.ts +3 -1
- package/dist/dev/i18n/context.d.ts.map +1 -1
- package/dist/dev/i18n/context.js.map +1 -1
- package/dist/dev/i18n/create-i18n.d.ts.map +1 -1
- package/dist/dev/i18n/create-i18n.js +3 -1
- package/dist/dev/i18n/create-i18n.js.map +1 -1
- package/dist/dev/i18n/get-provider-root-props.js +4 -2
- package/dist/dev/i18n/get-provider-root-props.js.map +1 -1
- package/dist/dev/player/container.d.ts.map +1 -1
- package/dist/dev/player/container.js +16 -7
- package/dist/dev/player/container.js.map +1 -1
- package/dist/dev/presets/audio/minimal-skin.css +39 -7
- package/dist/dev/presets/audio/skin.css +31 -7
- package/dist/dev/presets/live-audio/minimal-skin.css +39 -7
- package/dist/dev/presets/live-audio/skin.css +31 -7
- package/dist/dev/presets/live-video/minimal-skin.css +39 -7
- package/dist/dev/presets/live-video/minimal-skin.js +4 -1
- package/dist/dev/presets/live-video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js +4 -1
- package/dist/dev/presets/live-video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/live-video/skin.css +31 -7
- package/dist/dev/presets/live-video/skin.js +4 -1
- package/dist/dev/presets/live-video/skin.js.map +1 -1
- package/dist/dev/presets/live-video/skin.tailwind.js +4 -1
- package/dist/dev/presets/live-video/skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/minimal-skin.css +39 -7
- package/dist/dev/presets/video/minimal-skin.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.js +27 -11
- package/dist/dev/presets/video/minimal-skin.js.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/video/minimal-skin.tailwind.js +28 -12
- package/dist/dev/presets/video/minimal-skin.tailwind.js.map +1 -1
- package/dist/dev/presets/video/skin.css +31 -7
- package/dist/dev/presets/video/skin.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.js +27 -11
- package/dist/dev/presets/video/skin.js.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.d.ts.map +1 -1
- package/dist/dev/presets/video/skin.tailwind.js +28 -12
- package/dist/dev/presets/video/skin.tailwind.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/button-group.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js +8 -7
- package/dist/dev/skins/dist/default/default/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js +1 -1
- package/dist/dev/skins/dist/default/default/tailwind/components/time.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/button-group.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/controls.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js +8 -7
- package/dist/dev/skins/dist/default/minimal/tailwind/components/menu.js.map +1 -1
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js +2 -2
- package/dist/dev/skins/dist/default/minimal/tailwind/components/time.js.map +1 -1
- package/dist/dev/ui/hooks/use-slider.d.ts.map +1 -1
- package/dist/dev/ui/hooks/use-slider.js +1 -2
- package/dist/dev/ui/hooks/use-slider.js.map +1 -1
- package/docs/README.md +1 -1
- package/docs/concepts/media-sources.md +26 -2
- package/docs/concepts/skins.md +48 -16
- package/docs/how-to/customize-skins.md +7933 -50
- package/docs/how-to/i18n-switch-locale.md +27 -0
- package/docs/how-to/installation.md +4 -4
- package/docs/how-to/migrate-from-plyr.md +1 -1
- package/docs/llms.txt +7 -0
- package/docs/reference/cloudflare-video.md +223 -0
- package/docs/reference/dash-video.md +55 -0
- package/docs/reference/feature-metadata.md +3 -1
- package/docs/reference/hls-audio.md +27 -1
- package/docs/reference/hls-video.md +39 -1
- package/docs/reference/hlsjs-video.md +627 -0
- package/docs/reference/native-hls-video.md +41 -0
- package/docs/reference/shaka-video.md +359 -0
- package/docs/reference/spotify-audio.md +188 -0
- package/docs/reference/tiktok-video.md +280 -0
- package/docs/reference/title.md +1 -1
- package/docs/reference/twitch-video.md +211 -0
- package/docs/reference/vimeo-video.md +736 -0
- package/docs/reference/youtube-video.md +339 -0
- package/package.json +8 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minimal-skin.js","names":["Popover.Root","Popover.Trigger","Popover.Popup","VolumeSlider.Root","VolumeSlider.Track","VolumeSlider.Fill","VolumeSlider.Thumb","Menu.Root","Tooltip.Root","Tooltip.Trigger","Menu.Trigger","Tooltip.Popup","Tooltip.Label","Menu.Content","Menu.Item","Menu.Separator","Menu.RadioItem","Menu.ItemIndicator","ErrorDialog.Root","ErrorDialog.Popup","ErrorDialog.Title","ErrorDialog.Description","ErrorDialog.Close","Controls.Root","Tooltip.Provider","Tooltip.Shortcut","Time.Group","Time.Value","Time.Separator","TimeSlider.Root","TimeSlider.Chapters","TimeSlider.Track","TimeSlider.Buffer","TimeSlider.Fill","TimeSlider.Thumb","TimeSlider.Preview","Slider.Thumbnail","TimeSlider.ChapterTitle","TimeSlider.Value","VolumeIndicator.Root","VolumeIndicator.Fill","VolumeIndicator.Value","StatusIndicator.Root","StatusIndicator.Value","SeekIndicator.Root","SeekIndicator.Value"],"sources":["../../../../src/presets/video/minimal-skin.tsx"],"sourcesContent":["'use client';\n\nimport {\n audioText,\n captionsText,\n playbackRateText,\n qualityText,\n settingsText,\n speedText,\n} from '@videojs/core/i18n/text/menu';\nimport { cn } from '@videojs/utils/style';\nimport { type ComponentProps, forwardRef, type ReactNode } from 'react';\nimport { useTranslator } from '@/i18n/context';\nimport {\n AirPlayEnterIcon,\n AirPlayExitIcon,\n CaptionsOffIcon,\n CaptionsOnIcon,\n CastEnterIcon,\n CastExitIcon,\n CheckIcon,\n ChevronIcon,\n FullscreenEnterIcon,\n FullscreenExitIcon,\n GearIcon,\n PauseIcon,\n PipEnterIcon,\n PipExitIcon,\n PlayIcon,\n QualityIcon,\n RestartIcon,\n SpeechIcon,\n SpeedIcon,\n SpinnerIcon,\n VolumeHighIcon,\n VolumeLowIcon,\n VolumeOffIcon,\n} from '@/icons/minimal';\nimport { Container } from '@/player/container';\nimport { usePlayer } from '@/player/context';\nimport { AirPlayButton } from '@/ui/airplay-button';\nimport { useAudioTrackOptions } from '@/ui/audio-track';\nimport { AudioTrackRadioGroup } from '@/ui/audio-track-radio-group';\nimport { BufferingIndicator } from '@/ui/buffering-indicator';\nimport { CaptionsButton } from '@/ui/captions-button';\nimport { CaptionsRadioGroup, useCaptionsOptions } from '@/ui/captions-radio-group';\nimport { CastButton } from '@/ui/cast-button';\nimport { Controls } from '@/ui/controls';\nimport { ErrorDialog } from '@/ui/error-dialog';\nimport { FullscreenButton } from '@/ui/fullscreen-button';\nimport { Gesture } from '@/ui/gesture';\nimport { Hotkey } from '@/ui/hotkey';\nimport { Menu } from '@/ui/menu';\nimport { MuteButton } from '@/ui/mute-button';\nimport { PiPButton } from '@/ui/pip-button';\nimport { PlayButton } from '@/ui/play-button';\nimport { usePlaybackRateOptions } from '@/ui/playback-rate';\nimport { PlaybackRateRadioGroup } from '@/ui/playback-rate-radio-group';\nimport { Popover } from '@/ui/popover';\nimport { Poster } from '@/ui/poster';\nimport { useQualityOptions } from '@/ui/quality';\nimport { QualityRadioGroup } from '@/ui/quality-radio-group';\nimport { SeekIndicator } from '@/ui/seek-indicator';\nimport { Slider } from '@/ui/slider';\nimport { StatusAnnouncer } from '@/ui/status-announcer';\nimport { StatusIndicator } from '@/ui/status-indicator';\nimport { Time } from '@/ui/time';\nimport { TimeSlider } from '@/ui/time-slider';\nimport { Tooltip } from '@/ui/tooltip';\nimport { VolumeIndicator } from '@/ui/volume-indicator';\nimport { VolumeSlider } from '@/ui/volume-slider';\nimport type { BaseVideoSkinProps } from '../types';\n\nconst SEEK_TIME = 10;\nconst TOP_STATUS_ACTIONS = ['toggleSubtitles', 'toggleFullscreen', 'togglePictureInPicture'] as const;\nconst CENTER_STATUS_ACTIONS = ['togglePaused'] as const;\n\nexport type MinimalVideoSkinProps = BaseVideoSkinProps;\n\nconst Button = forwardRef<HTMLButtonElement, ComponentProps<'button'>>(function Button({ className, ...props }, ref) {\n return (\n <button\n ref={ref}\n type=\"button\"\n className={cn('media-button media-button--subtle media-button--icon', className)}\n {...props}\n />\n );\n});\n\nfunction VolumePopover(): ReactNode {\n const volumeUnavailable = usePlayer((s) => s.volumeAvailability !== 'available');\n\n const muteButton = (\n <MuteButton className=\"media-button--mute\" render={<Button />}>\n <VolumeOffIcon className=\"media-icon media-icon--volume-off\" />\n <VolumeLowIcon className=\"media-icon media-icon--volume-low\" />\n <VolumeHighIcon className=\"media-icon media-icon--volume-high\" />\n </MuteButton>\n );\n\n if (volumeUnavailable) return muteButton;\n\n return (\n <Popover.Root openOnHover delay={200} closeDelay={100} side=\"right\">\n <Popover.Trigger render={muteButton} />\n <Popover.Popup className=\"media-popover media-popover--volume\">\n <VolumeSlider.Root className=\"media-slider\" orientation=\"horizontal\" thumbAlignment=\"edge\">\n <VolumeSlider.Track className=\"media-slider__track\">\n <VolumeSlider.Fill className=\"media-slider__fill\" />\n </VolumeSlider.Track>\n <VolumeSlider.Thumb className=\"media-slider__thumb media-slider__thumb--persistent\" />\n </VolumeSlider.Root>\n </Popover.Popup>\n </Popover.Root>\n );\n}\n\nfunction MenuChevron({ flipped = false }: { flipped?: boolean }): ReactNode {\n return <ChevronIcon className={cn('media-icon media-menu__chevron', flipped ? 'media-icon--flipped' : undefined)} />;\n}\n\nfunction SettingsMenu(): ReactNode {\n const t = useTranslator();\n const playbackRate = usePlaybackRateOptions();\n const quality = useQualityOptions();\n const audioTrack = useAudioTrackOptions();\n const captions = useCaptionsOptions();\n const hasPlaybackRate = playbackRate?.state.availability === 'available';\n const hasQuality = quality?.state.availability === 'available';\n const hasAudioTrack = audioTrack?.state.availability === 'available';\n const hasCaptions = captions?.state.availability === 'available';\n\n if (!hasPlaybackRate && !hasQuality && !hasAudioTrack && !hasCaptions) return null;\n\n return (\n <Menu.Root side=\"top\" align=\"center\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <Menu.Trigger aria-label={t(settingsText)} className=\"media-button--settings\" render={<Button />}>\n <GearIcon className=\"media-icon media-icon--settings\" />\n </Menu.Trigger>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label>{t(settingsText)}</Tooltip.Label>\n </Tooltip.Popup>\n </Tooltip.Root>\n <Menu.Content className=\"media-popover media-menu media-menu--settings\">\n <div className=\"media-menu__group\">\n {hasQuality ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <QualityIcon className=\"media-icon\" />\n <span>{t(qualityText)}</span>\n <span className=\"media-menu__hint\">\n <span className=\"media-menu__hint-label\">{quality.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(qualityText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <QualityRadioGroup\n className=\"media-menu__group\"\n aria-label={t(qualityText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <span>\n {item.label}\n {item.tier ? <sup className=\"media-menu__tier\">{item.tier}</sup> : null}\n </span>\n {item.badge ? <span className=\"media-badge\">{item.badge}</span> : null}\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasAudioTrack ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <SpeechIcon className=\"media-icon\" />\n <span>{t(audioText)}</span>\n <span className=\"media-menu__hint\">\n <span className=\"media-menu__hint-label\">{audioTrack.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(audioText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <AudioTrackRadioGroup\n className=\"media-menu__group\"\n aria-label={t(audioText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasPlaybackRate ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <SpeedIcon className=\"media-icon\" />\n <span>{t(speedText)}</span>\n <span className=\"media-menu__hint\">\n <span className=\"media-menu__hint-label\">{playbackRate.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(speedText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <PlaybackRateRadioGroup\n className=\"media-menu__group\"\n aria-label={t(playbackRateText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasCaptions ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <CaptionsOffIcon className=\"media-icon\" />\n <span>{t(captionsText)}</span>\n <span className=\"media-menu__hint\">\n <span className=\"media-menu__hint-label\">{captions.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(captionsText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <CaptionsRadioGroup\n className=\"media-menu__group\"\n aria-label={t(captionsText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n </div>\n </Menu.Content>\n </Menu.Root>\n );\n}\n\nexport function MinimalVideoSkin(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, renderPoster, style, ...rest } = props;\n\n return (\n <Container className={cn('media-minimal-skin media-minimal-skin--video', className)} style={style} {...rest}>\n {children}\n\n <Poster render={renderPoster} />\n\n <BufferingIndicator\n render={(props) => (\n <div {...props} className=\"media-buffering-indicator\">\n <SpinnerIcon className=\"media-icon\" />\n </div>\n )}\n />\n\n <ErrorDialog.Root>\n <ErrorDialog.Popup className=\"media-error\">\n <div className=\"media-error__dialog\">\n <div className=\"media-error__content\">\n <ErrorDialog.Title className=\"media-error__title\"></ErrorDialog.Title>\n <ErrorDialog.Description className=\"media-error__description\" />\n </div>\n <div className=\"media-error__actions\">\n <ErrorDialog.Close className=\"media-button media-button--primary\"></ErrorDialog.Close>\n </div>\n </div>\n </ErrorDialog.Popup>\n </ErrorDialog.Root>\n\n <Controls.Root className=\"media-controls\">\n <Tooltip.Provider>\n <div className=\"media-button-group\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PlayButton className=\"media-button--play\" render={<Button />}>\n <RestartIcon className=\"media-icon media-icon--restart\" />\n <PlayIcon className=\"media-icon media-icon--play\" />\n <PauseIcon className=\"media-icon media-icon--pause\" />\n </PlayButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <VolumePopover />\n </div>\n\n <div className=\"media-time-controls\">\n <Time.Group className=\"media-time-group\">\n <Time.Value toggle type=\"current\" className=\"media-time media-time--current\" />\n <Time.Separator className=\"media-time-separator\" />\n <Time.Value type=\"duration\" className=\"media-time media-time--duration\" />\n </Time.Group>\n\n <TimeSlider.Root className=\"media-slider\">\n <TimeSlider.Chapters\n className=\"media-slider__chapters\"\n renderChapter={(props) => (\n <div {...props} className={cn(props.className, 'media-slider__chapter')}>\n <TimeSlider.Track className=\"media-slider__track media-slider__chapter-track\">\n <TimeSlider.Buffer className=\"media-slider__buffer\" />\n <TimeSlider.Fill className=\"media-slider__fill\" />\n </TimeSlider.Track>\n </div>\n )}\n />\n <TimeSlider.Thumb className=\"media-slider__thumb\" />\n\n <TimeSlider.Preview className=\"media-slider__preview\">\n <div className=\"media-thumbnail media-slider__thumbnail\">\n <Slider.Thumbnail className=\"media-thumbnail__image\" />\n <SpinnerIcon className=\"media-thumbnail__spinner media-icon\" />\n </div>\n <div className=\"media-slider__value\">\n <TimeSlider.ChapterTitle className=\"media-slider__chapter-title\" />\n <TimeSlider.Value type=\"pointer\" className=\"media-time\" />\n </div>\n </TimeSlider.Preview>\n </TimeSlider.Root>\n </div>\n\n <div className=\"media-button-group\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CaptionsButton className=\"media-button--captions\" render={<Button />}>\n <CaptionsOffIcon className=\"media-icon media-icon--captions-off\" />\n <CaptionsOnIcon className=\"media-icon media-icon--captions-on\" />\n </CaptionsButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <SettingsMenu />\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CastButton className=\"media-button--cast\" render={<Button />}>\n <CastEnterIcon className=\"media-icon media-icon--cast-enter\" />\n <CastExitIcon className=\"media-icon media-icon--cast-exit\" />\n </CastButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <AirPlayButton className=\"media-button--airplay\" render={<Button />}>\n <AirPlayEnterIcon className=\"media-icon media-icon--airplay-enter\" />\n <AirPlayExitIcon className=\"media-icon media-icon--airplay-exit\" />\n </AirPlayButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PiPButton className=\"media-button--pip\" render={<Button />}>\n <PipEnterIcon className=\"media-icon media-icon--pip-enter\" />\n <PipExitIcon className=\"media-icon media-icon--pip-exit\" />\n </PiPButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <FullscreenButton className=\"media-button--fullscreen\" render={<Button />}>\n <FullscreenEnterIcon className=\"media-icon media-icon--fullscreen-enter\" />\n <FullscreenExitIcon className=\"media-icon media-icon--fullscreen-exit\" />\n </FullscreenButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className=\"media-overlay\" />\n\n {/* Hotkeys */}\n <Hotkey keys=\"Space\" action=\"togglePaused\" />\n <Hotkey keys=\"k\" action=\"togglePaused\" />\n <Hotkey keys=\"m\" action=\"toggleMuted\" />\n <Hotkey keys=\"f\" action=\"toggleFullscreen\" />\n <Hotkey keys=\"c\" action=\"toggleSubtitles\" />\n <Hotkey keys=\"i\" action=\"togglePictureInPicture\" />\n <Hotkey keys=\"ArrowRight\" action=\"seekStep\" value={SEEK_TIME / 2} />\n <Hotkey keys=\"ArrowLeft\" action=\"seekStep\" value={-(SEEK_TIME / 2)} />\n <Hotkey keys=\"l\" action=\"seekStep\" value={SEEK_TIME} />\n <Hotkey keys=\"j\" action=\"seekStep\" value={-SEEK_TIME} />\n <Hotkey keys=\"ArrowUp\" action=\"volumeStep\" value={0.05} />\n <Hotkey keys=\"ArrowDown\" action=\"volumeStep\" value={-0.05} />\n <Hotkey keys=\"0-9\" action=\"seekToPercent\" />\n <Hotkey keys=\"Home\" action=\"seekToPercent\" value={0} />\n <Hotkey keys=\"End\" action=\"seekToPercent\" value={100} />\n <Hotkey keys=\">\" action=\"speedUp\" />\n <Hotkey keys=\"<\" action=\"speedDown\" />\n\n {/* Gestures */}\n <Gesture type=\"tap\" action=\"togglePaused\" pointer=\"mouse\" region=\"center\" />\n <Gesture type=\"tap\" action=\"toggleControls\" pointer=\"touch\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={-SEEK_TIME} region=\"left\" />\n <Gesture type=\"doubletap\" action=\"toggleFullscreen\" region=\"center\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={SEEK_TIME} region=\"right\" />\n\n {/* Input Indicators */}\n <StatusAnnouncer className=\"media-sr-only\" />\n <div className=\"media-input-indicator-overlay\">\n <VolumeIndicator.Root className=\"media-volume-indicator\">\n <VolumeIndicator.Fill className=\"media-volume-indicator__content\">\n <VolumeHighIcon className=\"media-icon media-icon--volume-high\" />\n <VolumeLowIcon className=\"media-icon media-icon--volume-low\" />\n <VolumeOffIcon className=\"media-icon media-icon--volume-off\" />\n <div className=\"media-volume-indicator__progress\" aria-hidden=\"true\" />\n <VolumeIndicator.Value className=\"media-volume-indicator__value\" />\n </VolumeIndicator.Fill>\n </VolumeIndicator.Root>\n\n <StatusIndicator.Root\n actions={TOP_STATUS_ACTIONS}\n className=\"media-status-indicator media-status-indicator--state\"\n >\n <div className=\"media-status-indicator__content\">\n <CaptionsOnIcon className=\"media-icon media-icon--captions-on\" />\n <CaptionsOffIcon className=\"media-icon media-icon--captions-off\" />\n <FullscreenEnterIcon className=\"media-icon media-icon--fullscreen-enter\" />\n <FullscreenExitIcon className=\"media-icon media-icon--fullscreen-exit\" />\n <PipEnterIcon className=\"media-icon media-icon--pip-enter\" />\n <PipExitIcon className=\"media-icon media-icon--pip-exit\" />\n <StatusIndicator.Value className=\"media-status-indicator__value\" />\n </div>\n </StatusIndicator.Root>\n\n <SeekIndicator.Root className=\"media-seek-indicator\">\n <ChevronIcon className=\"media-icon media-icon--seek\" />\n <SeekIndicator.Value className=\"media-seek-indicator__value\" />\n </SeekIndicator.Root>\n\n <StatusIndicator.Root\n actions={CENTER_STATUS_ACTIONS}\n className=\"media-status-indicator media-status-indicator--playback\"\n >\n <PlayIcon className=\"media-icon media-icon--play\" />\n <PauseIcon className=\"media-icon media-icon--pause\" />\n </StatusIndicator.Root>\n </div>\n </Container>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"minimal-skin.js","names":["Popover.Root","Popover.Trigger","Popover.Popup","VolumeSlider.Root","VolumeSlider.Track","VolumeSlider.Fill","VolumeSlider.Thumb","Menu.Root","Tooltip.Root","Tooltip.Trigger","Menu.Trigger","Tooltip.Popup","Tooltip.Label","Menu.Content","Menu.Item","Menu.Separator","Menu.RadioItem","Menu.ItemIndicator","ErrorDialog.Root","ErrorDialog.Popup","ErrorDialog.Title","ErrorDialog.Description","ErrorDialog.Close","Controls.Root","Tooltip.Provider","Tooltip.Shortcut","Time.Group","Time.Value","Time.Separator","TimeSlider.Root","TimeSlider.Chapters","TimeSlider.Track","TimeSlider.Buffer","TimeSlider.Fill","TimeSlider.Thumb","TimeSlider.Preview","Slider.Thumbnail","TimeSlider.ChapterTitle","TimeSlider.Value","VolumeIndicator.Root","VolumeIndicator.Fill","VolumeIndicator.Value","StatusIndicator.Root","StatusIndicator.Value","SeekIndicator.Root","SeekIndicator.Value"],"sources":["../../../../src/presets/video/minimal-skin.tsx"],"sourcesContent":["'use client';\n\nimport {\n audioText,\n captionsText,\n playbackRateText,\n qualityText,\n settingsText,\n speedText,\n} from '@videojs/core/i18n/text/menu';\nimport { cn } from '@videojs/utils/style';\nimport { type ComponentProps, forwardRef, type ReactNode } from 'react';\nimport { useTranslator } from '@/i18n/context';\nimport {\n AirPlayEnterIcon,\n AirPlayExitIcon,\n CaptionsOffIcon,\n CaptionsOnIcon,\n CastEnterIcon,\n CastExitIcon,\n CheckIcon,\n ChevronIcon,\n FullscreenEnterIcon,\n FullscreenExitIcon,\n GearIcon,\n PauseIcon,\n PipEnterIcon,\n PipExitIcon,\n PlayIcon,\n QualityIcon,\n RestartIcon,\n SpeechIcon,\n SpeedIcon,\n SpinnerIcon,\n VolumeHighIcon,\n VolumeLowIcon,\n VolumeOffIcon,\n} from '@/icons/minimal';\nimport { Container } from '@/player/container';\nimport { usePlayer } from '@/player/context';\nimport { AirPlayButton } from '@/ui/airplay-button';\nimport { useAudioTrackOptions } from '@/ui/audio-track';\nimport { AudioTrackRadioGroup } from '@/ui/audio-track-radio-group';\nimport { BufferingIndicator } from '@/ui/buffering-indicator';\nimport { CaptionsButton } from '@/ui/captions-button';\nimport { CaptionsRadioGroup, useCaptionsOptions } from '@/ui/captions-radio-group';\nimport { CastButton } from '@/ui/cast-button';\nimport { Controls } from '@/ui/controls';\nimport { ErrorDialog } from '@/ui/error-dialog';\nimport { FullscreenButton } from '@/ui/fullscreen-button';\nimport { Gesture } from '@/ui/gesture';\nimport { Hotkey } from '@/ui/hotkey';\nimport { Menu } from '@/ui/menu';\nimport { MuteButton } from '@/ui/mute-button';\nimport { PiPButton } from '@/ui/pip-button';\nimport { PlayButton } from '@/ui/play-button';\nimport { usePlaybackRateOptions } from '@/ui/playback-rate';\nimport { PlaybackRateRadioGroup } from '@/ui/playback-rate-radio-group';\nimport { Popover } from '@/ui/popover';\nimport { Poster } from '@/ui/poster';\nimport { useQualityOptions } from '@/ui/quality';\nimport { QualityRadioGroup } from '@/ui/quality-radio-group';\nimport { SeekIndicator } from '@/ui/seek-indicator';\nimport { Slider } from '@/ui/slider';\nimport { StatusAnnouncer } from '@/ui/status-announcer';\nimport { StatusIndicator } from '@/ui/status-indicator';\nimport { Time } from '@/ui/time';\nimport { TimeSlider } from '@/ui/time-slider';\nimport { Tooltip } from '@/ui/tooltip';\nimport { VolumeIndicator } from '@/ui/volume-indicator';\nimport { VolumeSlider } from '@/ui/volume-slider';\nimport type { BaseVideoSkinProps } from '../types';\n\nconst SEEK_TIME = 10;\nconst TOP_STATUS_ACTIONS = ['toggleSubtitles', 'toggleFullscreen', 'togglePictureInPicture'] as const;\nconst CENTER_STATUS_ACTIONS = ['togglePaused'] as const;\n\nexport type MinimalVideoSkinProps = BaseVideoSkinProps;\n\nconst Button = forwardRef<HTMLButtonElement, ComponentProps<'button'>>(function Button({ className, ...props }, ref) {\n return (\n <button\n ref={ref}\n type=\"button\"\n className={cn('media-button media-button--subtle media-button--icon', className)}\n {...props}\n />\n );\n});\n\nfunction VolumePopover(): ReactNode {\n const volumeUnavailable = usePlayer((s) => s.volumeAvailability !== 'available');\n\n const muteButton = (\n <MuteButton className=\"media-button--mute\" render={<Button />}>\n <VolumeOffIcon className=\"media-icon media-icon--volume-off\" />\n <VolumeLowIcon className=\"media-icon media-icon--volume-low\" />\n <VolumeHighIcon className=\"media-icon media-icon--volume-high\" />\n </MuteButton>\n );\n\n if (volumeUnavailable) return muteButton;\n\n return (\n <Popover.Root openOnHover delay={200} closeDelay={100} side=\"right\">\n <Popover.Trigger render={muteButton} />\n <Popover.Popup className=\"media-popover media-popover--volume\">\n <VolumeSlider.Root className=\"media-slider\" orientation=\"horizontal\" thumbAlignment=\"edge\">\n <VolumeSlider.Track className=\"media-slider__track\">\n <VolumeSlider.Fill className=\"media-slider__fill\" />\n </VolumeSlider.Track>\n <VolumeSlider.Thumb className=\"media-slider__thumb media-slider__thumb--persistent\" />\n </VolumeSlider.Root>\n </Popover.Popup>\n </Popover.Root>\n );\n}\n\nfunction MenuChevron({ flipped = false }: { flipped?: boolean }): ReactNode {\n return <ChevronIcon className={cn('media-icon media-menu__chevron', flipped ? 'media-icon--flipped' : undefined)} />;\n}\n\nfunction SettingsMenu(): ReactNode {\n const t = useTranslator();\n const playbackRate = usePlaybackRateOptions();\n const quality = useQualityOptions();\n const audioTrack = useAudioTrackOptions();\n const captions = useCaptionsOptions();\n const hasPlaybackRate = playbackRate?.state.availability === 'available';\n const hasQuality = quality?.state.availability === 'available';\n const hasAudioTrack = audioTrack?.state.availability === 'available';\n const hasCaptions = captions?.state.availability === 'available';\n\n if (!hasPlaybackRate && !hasQuality && !hasAudioTrack && !hasCaptions) return null;\n\n return (\n <Menu.Root side=\"top\" align=\"center\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <Menu.Trigger aria-label={t(settingsText)} className=\"media-button--settings\" render={<Button />}>\n <GearIcon className=\"media-icon media-icon--settings\" />\n </Menu.Trigger>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label>{t(settingsText)}</Tooltip.Label>\n </Tooltip.Popup>\n </Tooltip.Root>\n <Menu.Content className=\"media-popover media-menu media-menu--settings\">\n <div className=\"media-menu__group\">\n {hasQuality ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <QualityIcon className=\"media-icon\" />\n <span>{t(qualityText)}</span>\n <span className=\"media-menu__hint\">\n <bdi dir=\"auto\" className=\"media-menu__hint-label\">\n {quality.selectedLabel}\n </bdi>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(qualityText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <QualityRadioGroup\n className=\"media-menu__group\"\n aria-label={t(qualityText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <bdi dir=\"auto\">\n {item.label}\n {item.tier ? <sup className=\"media-menu__tier\">{item.tier}</sup> : null}\n </bdi>\n {item.badge ? <span className=\"media-badge\">{item.badge}</span> : null}\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasAudioTrack ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <SpeechIcon className=\"media-icon\" />\n <span>{t(audioText)}</span>\n <span className=\"media-menu__hint\">\n <bdi dir=\"auto\" className=\"media-menu__hint-label\">\n {audioTrack.selectedLabel}\n </bdi>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(audioText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <AudioTrackRadioGroup\n className=\"media-menu__group\"\n aria-label={t(audioText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <bdi dir=\"auto\">{item.label}</bdi>\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasPlaybackRate ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <SpeedIcon className=\"media-icon\" />\n <span>{t(speedText)}</span>\n <span className=\"media-menu__hint\">\n <bdi dir=\"auto\" className=\"media-menu__hint-label\">\n {playbackRate.selectedLabel}\n </bdi>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(speedText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <PlaybackRateRadioGroup\n className=\"media-menu__group\"\n aria-label={t(playbackRateText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <bdi dir=\"auto\">{item.label}</bdi>\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasCaptions ? (\n <Menu.Root>\n <Menu.Trigger\n className=\"media-menu__item media-menu__item--submenu\"\n render={(props) => (\n <div {...props}>\n <CaptionsOffIcon className=\"media-icon\" />\n <span>{t(captionsText)}</span>\n <span className=\"media-menu__hint\">\n <bdi dir=\"auto\" className=\"media-menu__hint-label\">\n {captions.selectedLabel}\n </bdi>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className=\"media-menu__panel\">\n <Menu.Item className=\"media-menu__back\">\n <MenuChevron flipped />\n {t(captionsText)}\n </Menu.Item>\n <Menu.Separator className=\"media-menu__separator\" />\n <CaptionsRadioGroup\n className=\"media-menu__group\"\n aria-label={t(captionsText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className=\"media-menu__item\">\n <bdi dir=\"auto\">{item.label}</bdi>\n <Menu.ItemIndicator checked={item.checked} forceMount className=\"media-menu__indicator\">\n <CheckIcon className=\"media-icon\" />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n </div>\n </Menu.Content>\n </Menu.Root>\n );\n}\n\nexport function MinimalVideoSkin(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, renderPoster, style, ...rest } = props;\n\n return (\n <Container className={cn('media-minimal-skin media-minimal-skin--video', className)} style={style} {...rest}>\n {children}\n\n <Poster render={renderPoster} />\n\n <BufferingIndicator\n render={(props) => (\n <div {...props} className=\"media-buffering-indicator\">\n <SpinnerIcon className=\"media-icon\" />\n </div>\n )}\n />\n\n <ErrorDialog.Root>\n <ErrorDialog.Popup className=\"media-error\">\n <div className=\"media-error__dialog\">\n <div className=\"media-error__content\">\n <ErrorDialog.Title className=\"media-error__title\"></ErrorDialog.Title>\n <ErrorDialog.Description className=\"media-error__description\" />\n </div>\n <div className=\"media-error__actions\">\n <ErrorDialog.Close className=\"media-button media-button--primary\"></ErrorDialog.Close>\n </div>\n </div>\n </ErrorDialog.Popup>\n </ErrorDialog.Root>\n\n <Controls.Root className=\"media-controls\">\n <Tooltip.Provider>\n <div className=\"media-button-group\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PlayButton className=\"media-button--play\" render={<Button />}>\n <RestartIcon className=\"media-icon media-icon--restart\" />\n <PlayIcon className=\"media-icon media-icon--play\" />\n <PauseIcon className=\"media-icon media-icon--pause\" />\n </PlayButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <VolumePopover />\n </div>\n\n <div className=\"media-time-controls\">\n <Time.Group className=\"media-time-group\">\n <Time.Value toggle type=\"current\" className=\"media-time media-time--current\" />\n <Time.Separator className=\"media-time-separator\" />\n <Time.Value type=\"duration\" className=\"media-time media-time--duration\" />\n </Time.Group>\n\n <TimeSlider.Root className=\"media-slider\">\n <TimeSlider.Chapters\n className=\"media-slider__chapters\"\n renderChapter={(props) => (\n <div {...props} className={cn(props.className, 'media-slider__chapter')}>\n <TimeSlider.Track className=\"media-slider__track media-slider__chapter-track\">\n <TimeSlider.Buffer className=\"media-slider__buffer\" />\n <TimeSlider.Fill className=\"media-slider__fill\" />\n </TimeSlider.Track>\n </div>\n )}\n />\n <TimeSlider.Thumb className=\"media-slider__thumb\" />\n\n <TimeSlider.Preview className=\"media-slider__preview\">\n <div className=\"media-thumbnail media-slider__thumbnail\">\n <Slider.Thumbnail className=\"media-thumbnail__image\" />\n <SpinnerIcon className=\"media-thumbnail__spinner media-icon\" />\n </div>\n <div className=\"media-slider__value\">\n <TimeSlider.ChapterTitle className=\"media-slider__chapter-title\" />\n <TimeSlider.Value type=\"pointer\" className=\"media-time\" />\n </div>\n </TimeSlider.Preview>\n </TimeSlider.Root>\n </div>\n\n <div className=\"media-button-group\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CaptionsButton className=\"media-button--captions\" render={<Button />}>\n <CaptionsOffIcon className=\"media-icon media-icon--captions-off\" />\n <CaptionsOnIcon className=\"media-icon media-icon--captions-on\" />\n </CaptionsButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <SettingsMenu />\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CastButton className=\"media-button--cast\" render={<Button />}>\n <CastEnterIcon className=\"media-icon media-icon--cast-enter\" />\n <CastExitIcon className=\"media-icon media-icon--cast-exit\" />\n </CastButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <AirPlayButton className=\"media-button--airplay\" render={<Button />}>\n <AirPlayEnterIcon className=\"media-icon media-icon--airplay-enter\" />\n <AirPlayExitIcon className=\"media-icon media-icon--airplay-exit\" />\n </AirPlayButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PiPButton className=\"media-button--pip\" render={<Button />}>\n <PipEnterIcon className=\"media-icon media-icon--pip-enter\" />\n <PipExitIcon className=\"media-icon media-icon--pip-exit\" />\n </PiPButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <FullscreenButton className=\"media-button--fullscreen\" render={<Button />}>\n <FullscreenEnterIcon className=\"media-icon media-icon--fullscreen-enter\" />\n <FullscreenExitIcon className=\"media-icon media-icon--fullscreen-exit\" />\n </FullscreenButton>\n }\n />\n <Tooltip.Popup className=\"media-tooltip\">\n <Tooltip.Label />\n <Tooltip.Shortcut className=\"media-tooltip__kbd\" />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className=\"media-overlay\" />\n\n {/* Hotkeys */}\n <Hotkey keys=\"Space\" action=\"togglePaused\" />\n <Hotkey keys=\"k\" action=\"togglePaused\" />\n <Hotkey keys=\"m\" action=\"toggleMuted\" />\n <Hotkey keys=\"f\" action=\"toggleFullscreen\" />\n <Hotkey keys=\"c\" action=\"toggleSubtitles\" />\n <Hotkey keys=\"i\" action=\"togglePictureInPicture\" />\n <Hotkey keys=\"ArrowRight\" action=\"seekStep\" value={SEEK_TIME / 2} />\n <Hotkey keys=\"ArrowLeft\" action=\"seekStep\" value={-(SEEK_TIME / 2)} />\n <Hotkey keys=\"l\" action=\"seekStep\" value={SEEK_TIME} />\n <Hotkey keys=\"j\" action=\"seekStep\" value={-SEEK_TIME} />\n <Hotkey keys=\"ArrowUp\" action=\"volumeStep\" value={0.05} />\n <Hotkey keys=\"ArrowDown\" action=\"volumeStep\" value={-0.05} />\n <Hotkey keys=\"0-9\" action=\"seekToPercent\" />\n <Hotkey keys=\"Home\" action=\"seekToPercent\" value={0} />\n <Hotkey keys=\"End\" action=\"seekToPercent\" value={100} />\n <Hotkey keys=\">\" action=\"speedUp\" />\n <Hotkey keys=\"<\" action=\"speedDown\" />\n\n {/* Gestures */}\n <Gesture type=\"tap\" action=\"togglePaused\" pointer=\"mouse\" region=\"center\" />\n <Gesture type=\"tap\" action=\"toggleControls\" pointer=\"touch\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={-SEEK_TIME} region=\"left\" />\n <Gesture type=\"doubletap\" action=\"toggleFullscreen\" region=\"center\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={SEEK_TIME} region=\"right\" />\n\n {/* Input Indicators */}\n <StatusAnnouncer className=\"media-sr-only\" />\n <div className=\"media-input-indicator-overlay\">\n <VolumeIndicator.Root className=\"media-volume-indicator\">\n <VolumeIndicator.Fill className=\"media-volume-indicator__content\">\n <VolumeHighIcon className=\"media-icon media-icon--volume-high\" />\n <VolumeLowIcon className=\"media-icon media-icon--volume-low\" />\n <VolumeOffIcon className=\"media-icon media-icon--volume-off\" />\n <div className=\"media-volume-indicator__progress\" aria-hidden=\"true\" />\n <VolumeIndicator.Value className=\"media-volume-indicator__value\" />\n </VolumeIndicator.Fill>\n </VolumeIndicator.Root>\n\n <StatusIndicator.Root\n actions={TOP_STATUS_ACTIONS}\n className=\"media-status-indicator media-status-indicator--state\"\n >\n <div className=\"media-status-indicator__content\">\n <CaptionsOnIcon className=\"media-icon media-icon--captions-on\" />\n <CaptionsOffIcon className=\"media-icon media-icon--captions-off\" />\n <FullscreenEnterIcon className=\"media-icon media-icon--fullscreen-enter\" />\n <FullscreenExitIcon className=\"media-icon media-icon--fullscreen-exit\" />\n <PipEnterIcon className=\"media-icon media-icon--pip-enter\" />\n <PipExitIcon className=\"media-icon media-icon--pip-exit\" />\n <StatusIndicator.Value className=\"media-status-indicator__value\" />\n </div>\n </StatusIndicator.Root>\n\n <SeekIndicator.Root className=\"media-seek-indicator\">\n <ChevronIcon className=\"media-icon media-icon--seek\" />\n <SeekIndicator.Value className=\"media-seek-indicator__value\" />\n </SeekIndicator.Root>\n\n <StatusIndicator.Root\n actions={CENTER_STATUS_ACTIONS}\n className=\"media-status-indicator media-status-indicator--playback\"\n >\n <PlayIcon className=\"media-icon media-icon--play\" />\n <PauseIcon className=\"media-icon media-icon--pause\" />\n </StatusIndicator.Root>\n </div>\n </Container>\n );\n}\n"],"mappings":"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"}
|
|
@@ -183,7 +183,7 @@ function VolumePopover() {
|
|
|
183
183
|
});
|
|
184
184
|
}
|
|
185
185
|
function MenuChevron({ flipped = false }) {
|
|
186
|
-
return /* @__PURE__ */ jsx(ChevronIcon, { className: cn(icon, menu.icon, menu.chevron, flipped ? iconFlipped : void 0) });
|
|
186
|
+
return /* @__PURE__ */ jsx(ChevronIcon, { className: cn(icon, menu.icon, menu.chevron, flipped ? cn(iconFlipped, menu.backChevron) : void 0) });
|
|
187
187
|
}
|
|
188
188
|
function SettingsMenu() {
|
|
189
189
|
const t = useTranslator();
|
|
@@ -223,7 +223,8 @@ function SettingsMenu() {
|
|
|
223
223
|
/* @__PURE__ */ jsx("span", { children: t(qualityText) }),
|
|
224
224
|
/* @__PURE__ */ jsxs("span", {
|
|
225
225
|
className: menu.hint,
|
|
226
|
-
children: [/* @__PURE__ */ jsx("
|
|
226
|
+
children: [/* @__PURE__ */ jsx("bdi", {
|
|
227
|
+
dir: "auto",
|
|
227
228
|
className: menu.hintLabel,
|
|
228
229
|
children: quality.selectedLabel
|
|
229
230
|
}), /* @__PURE__ */ jsx(MenuChevron, {})]
|
|
@@ -245,10 +246,13 @@ function SettingsMenu() {
|
|
|
245
246
|
...props,
|
|
246
247
|
className: menu.item,
|
|
247
248
|
children: [
|
|
248
|
-
/* @__PURE__ */ jsxs("
|
|
249
|
-
|
|
250
|
-
children: item.tier
|
|
251
|
-
|
|
249
|
+
/* @__PURE__ */ jsxs("bdi", {
|
|
250
|
+
dir: "auto",
|
|
251
|
+
children: [item.label, item.tier ? /* @__PURE__ */ jsx("sup", {
|
|
252
|
+
className: menu.tier,
|
|
253
|
+
children: item.tier
|
|
254
|
+
}) : null]
|
|
255
|
+
}),
|
|
252
256
|
item.badge ? /* @__PURE__ */ jsx("span", {
|
|
253
257
|
className: badge,
|
|
254
258
|
children: item.badge
|
|
@@ -273,7 +277,8 @@ function SettingsMenu() {
|
|
|
273
277
|
/* @__PURE__ */ jsx("span", { children: t(audioText) }),
|
|
274
278
|
/* @__PURE__ */ jsxs("span", {
|
|
275
279
|
className: menu.hint,
|
|
276
|
-
children: [/* @__PURE__ */ jsx("
|
|
280
|
+
children: [/* @__PURE__ */ jsx("bdi", {
|
|
281
|
+
dir: "auto",
|
|
277
282
|
className: menu.hintLabel,
|
|
278
283
|
children: audioTrack.selectedLabel
|
|
279
284
|
}), /* @__PURE__ */ jsx(MenuChevron, {})]
|
|
@@ -294,7 +299,10 @@ function SettingsMenu() {
|
|
|
294
299
|
renderItem: (props, item) => /* @__PURE__ */ jsxs(MenuRadioItem, {
|
|
295
300
|
...props,
|
|
296
301
|
className: menu.item,
|
|
297
|
-
children: [/* @__PURE__ */ jsx("
|
|
302
|
+
children: [/* @__PURE__ */ jsx("bdi", {
|
|
303
|
+
dir: "auto",
|
|
304
|
+
children: item.label
|
|
305
|
+
}), /* @__PURE__ */ jsx(MenuItemIndicator, {
|
|
298
306
|
checked: item.checked,
|
|
299
307
|
forceMount: true,
|
|
300
308
|
className: menu.indicator,
|
|
@@ -313,7 +321,8 @@ function SettingsMenu() {
|
|
|
313
321
|
/* @__PURE__ */ jsx("span", { children: t(speedText) }),
|
|
314
322
|
/* @__PURE__ */ jsxs("span", {
|
|
315
323
|
className: menu.hint,
|
|
316
|
-
children: [/* @__PURE__ */ jsx("
|
|
324
|
+
children: [/* @__PURE__ */ jsx("bdi", {
|
|
325
|
+
dir: "auto",
|
|
317
326
|
className: menu.hintLabel,
|
|
318
327
|
children: playbackRate.selectedLabel
|
|
319
328
|
}), /* @__PURE__ */ jsx(MenuChevron, {})]
|
|
@@ -334,7 +343,10 @@ function SettingsMenu() {
|
|
|
334
343
|
renderItem: (props, item) => /* @__PURE__ */ jsxs(MenuRadioItem, {
|
|
335
344
|
...props,
|
|
336
345
|
className: menu.item,
|
|
337
|
-
children: [/* @__PURE__ */ jsx("
|
|
346
|
+
children: [/* @__PURE__ */ jsx("bdi", {
|
|
347
|
+
dir: "auto",
|
|
348
|
+
children: item.label
|
|
349
|
+
}), /* @__PURE__ */ jsx(MenuItemIndicator, {
|
|
338
350
|
checked: item.checked,
|
|
339
351
|
forceMount: true,
|
|
340
352
|
className: menu.indicator,
|
|
@@ -353,7 +365,8 @@ function SettingsMenu() {
|
|
|
353
365
|
/* @__PURE__ */ jsx("span", { children: t(captionsText) }),
|
|
354
366
|
/* @__PURE__ */ jsxs("span", {
|
|
355
367
|
className: menu.hint,
|
|
356
|
-
children: [/* @__PURE__ */ jsx("
|
|
368
|
+
children: [/* @__PURE__ */ jsx("bdi", {
|
|
369
|
+
dir: "auto",
|
|
357
370
|
className: menu.hintLabel,
|
|
358
371
|
children: captions.selectedLabel
|
|
359
372
|
}), /* @__PURE__ */ jsx(MenuChevron, {})]
|
|
@@ -374,7 +387,10 @@ function SettingsMenu() {
|
|
|
374
387
|
renderItem: (props, item) => /* @__PURE__ */ jsxs(MenuRadioItem, {
|
|
375
388
|
...props,
|
|
376
389
|
className: menu.item,
|
|
377
|
-
children: [/* @__PURE__ */ jsx("
|
|
390
|
+
children: [/* @__PURE__ */ jsx("bdi", {
|
|
391
|
+
dir: "auto",
|
|
392
|
+
children: item.label
|
|
393
|
+
}), /* @__PURE__ */ jsx(MenuItemIndicator, {
|
|
378
394
|
checked: item.checked,
|
|
379
395
|
forceMount: true,
|
|
380
396
|
className: menu.indicator,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"minimal-skin.tailwind.js","names":["Popover.Root","Popover.Trigger","Popover.Popup","VolumeSlider.Root","VolumeSlider.Track","VolumeSlider.Fill","VolumeSlider.Thumb","Menu.Root","Tooltip.Root","Tooltip.Trigger","Menu.Trigger","Tooltip.Popup","Tooltip.Label","Menu.Content","Menu.Item","Menu.Separator","Menu.RadioItem","Menu.ItemIndicator","ErrorDialog.Root","ErrorDialog.Popup","ErrorDialog.Title","ErrorDialog.Description","ErrorDialog.Close","Controls.Root","Tooltip.Provider","Tooltip.Shortcut","Time.Group","Time.Value","Time.Separator","TimeSlider.Root","TimeSlider.Chapters","TimeSlider.Track","TimeSlider.Buffer","TimeSlider.Fill","TimeSlider.Thumb","TimeSlider.Preview","Slider.Thumbnail","TimeSlider.ChapterTitle","TimeSlider.Value","VolumeIndicator.Root","VolumeIndicator.Fill","VolumeIndicator.Value","StatusIndicator.Root","StatusIndicator.Value","SeekIndicator.Root","SeekIndicator.Value"],"sources":["../../../../src/presets/video/minimal-skin.tailwind.tsx"],"sourcesContent":["'use client';\n\nimport {\n audioText,\n captionsText,\n playbackRateText,\n qualityText,\n settingsText,\n speedText,\n} from '@videojs/core/i18n/text/menu';\nimport {\n badge,\n bufferingIndicator,\n button,\n buttonGroupEnd,\n buttonGroupStart,\n container,\n controls,\n error,\n icon,\n iconFlipped,\n iconState,\n inputIndicatorOverlay,\n menu,\n overlay,\n popup,\n poster,\n seekIndicator,\n slider,\n statusIndicator,\n thumbnail,\n time,\n volumeIndicator,\n} from '@videojs/skins/minimal/tailwind/video.tailwind';\nimport { cn } from '@videojs/utils/style';\nimport { type ComponentProps, forwardRef, type ReactNode } from 'react';\nimport { useTranslator } from '@/i18n/context';\nimport {\n AirPlayEnterIcon,\n AirPlayExitIcon,\n CaptionsOffIcon,\n CaptionsOnIcon,\n CastEnterIcon,\n CastExitIcon,\n CheckIcon,\n ChevronIcon,\n FullscreenEnterIcon,\n FullscreenExitIcon,\n GearIcon,\n PauseIcon,\n PipEnterIcon,\n PipExitIcon,\n PlayIcon,\n QualityIcon,\n RestartIcon,\n SpeechIcon,\n SpeedIcon,\n SpinnerIcon,\n VolumeHighIcon,\n VolumeLowIcon,\n VolumeOffIcon,\n} from '@/icons/minimal';\nimport { Container } from '@/player/container';\nimport { usePlayer } from '@/player/context';\nimport { AirPlayButton } from '@/ui/airplay-button';\nimport { useAudioTrackOptions } from '@/ui/audio-track';\nimport { AudioTrackRadioGroup } from '@/ui/audio-track-radio-group';\nimport { BufferingIndicator } from '@/ui/buffering-indicator';\nimport { CaptionsButton } from '@/ui/captions-button';\nimport { CaptionsRadioGroup, useCaptionsOptions } from '@/ui/captions-radio-group';\nimport { CastButton } from '@/ui/cast-button';\nimport { Controls } from '@/ui/controls';\nimport { ErrorDialog } from '@/ui/error-dialog';\nimport { FullscreenButton } from '@/ui/fullscreen-button';\nimport { Gesture } from '@/ui/gesture';\nimport { Hotkey } from '@/ui/hotkey';\nimport { Menu } from '@/ui/menu';\nimport { MuteButton } from '@/ui/mute-button';\nimport { PiPButton } from '@/ui/pip-button';\nimport { PlayButton } from '@/ui/play-button';\nimport { usePlaybackRateOptions } from '@/ui/playback-rate';\nimport { PlaybackRateRadioGroup } from '@/ui/playback-rate-radio-group';\nimport { Popover } from '@/ui/popover';\nimport { Poster } from '@/ui/poster';\nimport { useQualityOptions } from '@/ui/quality';\nimport { QualityRadioGroup } from '@/ui/quality-radio-group';\nimport { SeekIndicator } from '@/ui/seek-indicator';\nimport { Slider } from '@/ui/slider';\nimport { StatusAnnouncer } from '@/ui/status-announcer';\nimport { StatusIndicator } from '@/ui/status-indicator';\nimport { Time } from '@/ui/time';\nimport { TimeSlider } from '@/ui/time-slider';\nimport { Tooltip } from '@/ui/tooltip';\nimport { VolumeIndicator } from '@/ui/volume-indicator';\nimport { VolumeSlider } from '@/ui/volume-slider';\nimport type { MinimalVideoSkinProps } from './minimal-skin';\n\nconst SEEK_TIME = 10;\nconst TOP_STATUS_ACTIONS = ['toggleSubtitles', 'toggleFullscreen', 'togglePictureInPicture'] as const;\nconst CENTER_STATUS_ACTIONS = ['togglePaused'] as const;\n\n/* --------------------------------------- Components ---------------------------------------- */\n\nconst Button = forwardRef<HTMLButtonElement, ComponentProps<'button'>>(function Button({ className, ...props }, ref) {\n return (\n <button ref={ref} type=\"button\" className={cn(button.base, button.subtle, button.icon, className)} {...props} />\n );\n});\n\nconst SliderRoot = forwardRef<HTMLDivElement, ComponentProps<'div'>>(function SliderRoot({ className, ...props }, ref) {\n return <div ref={ref} className={cn(slider.root, className)} {...props} />;\n});\n\nconst SliderTrack = forwardRef<HTMLDivElement, ComponentProps<'div'>>(function SliderTrack(\n { className, ...props },\n ref\n) {\n return <div ref={ref} className={cn(slider.track, className)} {...props} />;\n});\n\nconst SliderFill = forwardRef<HTMLDivElement, ComponentProps<'div'> & { type?: 'fill' | 'buffer' }>(function SliderFill(\n { type = 'fill', className, ...props },\n ref\n) {\n return (\n <div\n ref={ref}\n className={cn(slider.fill.base, type === 'fill' ? slider.fill.fill : slider.fill.buffer, className)}\n {...props}\n />\n );\n});\n\nconst SliderThumb = forwardRef<HTMLDivElement, ComponentProps<'div'> & { persistent?: boolean }>(function SliderThumb(\n { persistent, className, ...props },\n ref\n) {\n return (\n <div\n ref={ref}\n className={cn(slider.thumb.base, persistent ? undefined : slider.thumb.interactive, className)}\n {...props}\n />\n );\n});\n\nfunction VolumePopover(): ReactNode {\n const volumeUnavailable = usePlayer((s) => s.volumeAvailability !== 'available');\n\n const muteButton = (\n <MuteButton className={iconState.mute.button} render={<Button />}>\n <VolumeOffIcon className={cn(icon, iconState.mute.volumeOff)} />\n <VolumeLowIcon className={cn(icon, iconState.mute.volumeLow)} />\n <VolumeHighIcon className={cn(icon, iconState.mute.volumeHigh)} />\n </MuteButton>\n );\n\n if (volumeUnavailable) return muteButton;\n\n return (\n <Popover.Root openOnHover delay={200} closeDelay={100} side=\"right\">\n <Popover.Trigger render={muteButton} />\n <Popover.Popup className={popup.volume}>\n <VolumeSlider.Root orientation=\"horizontal\" thumbAlignment=\"edge\" render={<SliderRoot />}>\n <VolumeSlider.Track render={<SliderTrack />}>\n <VolumeSlider.Fill render={<SliderFill />} />\n </VolumeSlider.Track>\n <VolumeSlider.Thumb render={(props) => <SliderThumb persistent {...props} />} />\n </VolumeSlider.Root>\n </Popover.Popup>\n </Popover.Root>\n );\n}\n\nfunction MenuChevron({ flipped = false }: { flipped?: boolean }): ReactNode {\n return <ChevronIcon className={cn(icon, menu.icon, menu.chevron, flipped ? iconFlipped : undefined)} />;\n}\n\nfunction SettingsMenu(): ReactNode {\n const t = useTranslator();\n const playbackRate = usePlaybackRateOptions();\n const quality = useQualityOptions();\n const audioTrack = useAudioTrackOptions();\n const captions = useCaptionsOptions();\n const hasPlaybackRate = playbackRate?.state.availability === 'available';\n const hasQuality = quality?.state.availability === 'available';\n const hasAudioTrack = audioTrack?.state.availability === 'available';\n const hasCaptions = captions?.state.availability === 'available';\n\n if (!hasPlaybackRate && !hasQuality && !hasAudioTrack && !hasCaptions) return null;\n\n return (\n <Menu.Root side=\"top\" align=\"center\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <Menu.Trigger\n aria-label={t(settingsText)}\n render={<Button className={cn(button.icon, menu.settingsTrigger)} />}\n >\n <GearIcon className={cn(icon, menu.settingsIcon)} />\n </Menu.Trigger>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label>{t(settingsText)}</Tooltip.Label>\n </Tooltip.Popup>\n </Tooltip.Root>\n <Menu.Content className={menu.settings}>\n <div className={menu.group}>\n {hasQuality ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <QualityIcon className={cn(icon, menu.icon)} />\n <span>{t(qualityText)}</span>\n <span className={menu.hint}>\n <span className={menu.hintLabel}>{quality.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(qualityText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <QualityRadioGroup\n className={menu.group}\n aria-label={t(qualityText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <span>\n {item.label}\n {item.tier ? <sup className={menu.tier}>{item.tier}</sup> : null}\n </span>\n {item.badge ? <span className={badge}>{item.badge}</span> : null}\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={cn(icon, menu.icon)} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasAudioTrack ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <SpeechIcon className={icon} />\n <span>{t(audioText)}</span>\n <span className={menu.hint}>\n <span className={menu.hintLabel}>{audioTrack.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(audioText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <AudioTrackRadioGroup\n className={menu.group}\n aria-label={t(audioText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={icon} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasPlaybackRate ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <SpeedIcon className={cn(icon, menu.icon)} />\n <span>{t(speedText)}</span>\n <span className={menu.hint}>\n <span className={menu.hintLabel}>{playbackRate.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(speedText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <PlaybackRateRadioGroup\n className={menu.group}\n aria-label={t(playbackRateText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={cn(icon, menu.icon)} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasCaptions ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <CaptionsOffIcon className={cn(icon, menu.icon)} />\n <span>{t(captionsText)}</span>\n <span className={menu.hint}>\n <span className={menu.hintLabel}>{captions.selectedLabel}</span>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(captionsText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <CaptionsRadioGroup\n className={menu.group}\n aria-label={t(captionsText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <span>{item.label}</span>\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={cn(icon, menu.icon)} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n </div>\n </Menu.Content>\n </Menu.Root>\n );\n}\n\n/* ------------------------------------------ Skin ------------------------------------------- */\n\nexport function MinimalVideoSkinTailwind(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, renderPoster, style, ...rest } = props;\n\n return (\n <Container className={cn(container(false), className)} style={style} {...rest}>\n {children}\n\n <Poster className={poster(false)} render={renderPoster} />\n\n <BufferingIndicator\n render={(props) => (\n <div {...props} className={bufferingIndicator}>\n <SpinnerIcon className={icon} />\n </div>\n )}\n />\n\n <ErrorDialog.Root>\n <ErrorDialog.Popup className={error.root}>\n <div className={error.dialog}>\n <div className={error.content}>\n <ErrorDialog.Title className={error.title}></ErrorDialog.Title>\n <ErrorDialog.Description className={error.description} />\n </div>\n <div className={error.actions}>\n <ErrorDialog.Close className={cn(button.base, button.primary)}></ErrorDialog.Close>\n </div>\n </div>\n </ErrorDialog.Popup>\n </ErrorDialog.Root>\n\n <Controls.Root\n data-controls=\"\" // Used as a hook for Tailwind has-[] styles\n className={controls}\n >\n <Tooltip.Provider>\n <div className={buttonGroupStart}>\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PlayButton className={iconState.play.button} render={<Button />}>\n <RestartIcon className={cn(icon, iconState.play.restart)} />\n <PlayIcon className={cn(icon, iconState.play.play)} />\n <PauseIcon className={cn(icon, iconState.play.pause)} />\n </PlayButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <VolumePopover />\n </div>\n\n <div className={time.controls}>\n <Time.Group className={time.group}>\n <Time.Value toggle type=\"current\" className={time.current} />\n <Time.Separator className={time.separator} />\n <Time.Value type=\"duration\" className={time.duration} />\n </Time.Group>\n\n <TimeSlider.Root render={<SliderRoot />}>\n <TimeSlider.Chapters\n className={slider.chapters}\n renderChapter={(props) => (\n <div {...props} className={cn(props.className, slider.chapter.base)}>\n <TimeSlider.Track render={<div className={slider.chapter.track} />}>\n <TimeSlider.Buffer render={<div className={cn(slider.fill.base, slider.fill.buffer)} />} />\n <TimeSlider.Fill render={<div className={cn(slider.fill.base, slider.fill.fill)} />} />\n </TimeSlider.Track>\n </div>\n )}\n />\n <TimeSlider.Thumb render={<SliderThumb />} />\n <TimeSlider.Preview className={slider.preview}>\n <div className={cn(thumbnail.root, slider.thumbnail)}>\n <Slider.Thumbnail className={thumbnail.image} />\n <SpinnerIcon className={cn(icon, thumbnail.spinner)} />\n </div>\n <div className={slider.value}>\n <TimeSlider.ChapterTitle className={slider.chapterTitle} />\n <TimeSlider.Value type=\"pointer\" />\n </div>\n </TimeSlider.Preview>\n </TimeSlider.Root>\n </div>\n\n <div className={cn(buttonGroupEnd, menu.settingsGroup)}>\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CaptionsButton className={iconState.captions.button} render={<Button />}>\n <CaptionsOffIcon className={cn(icon, iconState.captions.off)} />\n <CaptionsOnIcon className={cn(icon, iconState.captions.on)} />\n </CaptionsButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <SettingsMenu />\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CastButton className={iconState.cast.button} render={<Button />}>\n <CastEnterIcon className={cn(icon, iconState.cast.enter)} />\n <CastExitIcon className={cn(icon, iconState.cast.exit)} />\n </CastButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <AirPlayButton className={iconState.airplay.button} render={<Button />}>\n <AirPlayEnterIcon className={cn(icon, iconState.airplay.enter)} />\n <AirPlayExitIcon className={cn(icon, iconState.airplay.exit)} />\n </AirPlayButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PiPButton className={iconState.pip.button} render={<Button />}>\n <PipEnterIcon className={cn(icon, iconState.pip.off)} />\n <PipExitIcon className={cn(icon, iconState.pip.on)} />\n </PiPButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <FullscreenButton className={iconState.fullscreen.button} render={<Button />}>\n <FullscreenEnterIcon className={cn(icon, iconState.fullscreen.enter)} />\n <FullscreenExitIcon className={cn(icon, iconState.fullscreen.exit)} />\n </FullscreenButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className={overlay} />\n\n {/* Hotkeys */}\n <Hotkey keys=\"Space\" action=\"togglePaused\" />\n <Hotkey keys=\"k\" action=\"togglePaused\" />\n <Hotkey keys=\"m\" action=\"toggleMuted\" />\n <Hotkey keys=\"f\" action=\"toggleFullscreen\" />\n <Hotkey keys=\"c\" action=\"toggleSubtitles\" />\n <Hotkey keys=\"i\" action=\"togglePictureInPicture\" />\n <Hotkey keys=\"ArrowRight\" action=\"seekStep\" value={SEEK_TIME / 2} />\n <Hotkey keys=\"ArrowLeft\" action=\"seekStep\" value={-(SEEK_TIME / 2)} />\n <Hotkey keys=\"l\" action=\"seekStep\" value={SEEK_TIME} />\n <Hotkey keys=\"j\" action=\"seekStep\" value={-SEEK_TIME} />\n <Hotkey keys=\"ArrowUp\" action=\"volumeStep\" value={0.05} />\n <Hotkey keys=\"ArrowDown\" action=\"volumeStep\" value={-0.05} />\n <Hotkey keys=\"0-9\" action=\"seekToPercent\" />\n <Hotkey keys=\"Home\" action=\"seekToPercent\" value={0} />\n <Hotkey keys=\"End\" action=\"seekToPercent\" value={100} />\n <Hotkey keys=\">\" action=\"speedUp\" />\n <Hotkey keys=\"<\" action=\"speedDown\" />\n\n {/* Gestures */}\n <Gesture type=\"tap\" action=\"togglePaused\" pointer=\"mouse\" region=\"center\" />\n <Gesture type=\"tap\" action=\"toggleControls\" pointer=\"touch\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={-SEEK_TIME} region=\"left\" />\n <Gesture type=\"doubletap\" action=\"toggleFullscreen\" region=\"center\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={SEEK_TIME} region=\"right\" />\n\n {/* Input Indicators */}\n <StatusAnnouncer className=\"sr-only\" />\n <div className={inputIndicatorOverlay}>\n <VolumeIndicator.Root className={volumeIndicator.root}>\n <VolumeIndicator.Fill className={volumeIndicator.content}>\n <VolumeHighIcon className={cn(volumeIndicator.icon.base, volumeIndicator.icon.high)} />\n <VolumeLowIcon className={cn(volumeIndicator.icon.base, volumeIndicator.icon.low)} />\n <VolumeOffIcon className={cn(volumeIndicator.icon.base, volumeIndicator.icon.off)} />\n <div aria-hidden=\"true\" className={volumeIndicator.progress} />\n <VolumeIndicator.Value className={volumeIndicator.value} />\n </VolumeIndicator.Fill>\n </VolumeIndicator.Root>\n\n <StatusIndicator.Root actions={TOP_STATUS_ACTIONS} className={statusIndicator.root}>\n <div className={statusIndicator.content}>\n <CaptionsOnIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.captionsOn)} />\n <CaptionsOffIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.captionsOff)} />\n <FullscreenEnterIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.fullscreenEnter)} />\n <FullscreenExitIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.fullscreenExit)} />\n <PipEnterIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.pipEnter)} />\n <PipExitIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.pipExit)} />\n <StatusIndicator.Value className={statusIndicator.value} />\n </div>\n </StatusIndicator.Root>\n\n <SeekIndicator.Root className={seekIndicator.root}>\n <ChevronIcon className={seekIndicator.icon} />\n <SeekIndicator.Value className={seekIndicator.value} />\n </SeekIndicator.Root>\n\n <StatusIndicator.Root actions={CENTER_STATUS_ACTIONS} className={statusIndicator.playback.root}>\n <PlayIcon className={cn(statusIndicator.playback.icon.base, statusIndicator.playback.icon.play)} />\n <PauseIcon className={cn(statusIndicator.playback.icon.base, statusIndicator.playback.icon.pause)} />\n </StatusIndicator.Root>\n </div>\n </Container>\n );\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"minimal-skin.tailwind.js","names":["Popover.Root","Popover.Trigger","Popover.Popup","VolumeSlider.Root","VolumeSlider.Track","VolumeSlider.Fill","VolumeSlider.Thumb","Menu.Root","Tooltip.Root","Tooltip.Trigger","Menu.Trigger","Tooltip.Popup","Tooltip.Label","Menu.Content","Menu.Item","Menu.Separator","Menu.RadioItem","Menu.ItemIndicator","ErrorDialog.Root","ErrorDialog.Popup","ErrorDialog.Title","ErrorDialog.Description","ErrorDialog.Close","Controls.Root","Tooltip.Provider","Tooltip.Shortcut","Time.Group","Time.Value","Time.Separator","TimeSlider.Root","TimeSlider.Chapters","TimeSlider.Track","TimeSlider.Buffer","TimeSlider.Fill","TimeSlider.Thumb","TimeSlider.Preview","Slider.Thumbnail","TimeSlider.ChapterTitle","TimeSlider.Value","VolumeIndicator.Root","VolumeIndicator.Fill","VolumeIndicator.Value","StatusIndicator.Root","StatusIndicator.Value","SeekIndicator.Root","SeekIndicator.Value"],"sources":["../../../../src/presets/video/minimal-skin.tailwind.tsx"],"sourcesContent":["'use client';\n\nimport {\n audioText,\n captionsText,\n playbackRateText,\n qualityText,\n settingsText,\n speedText,\n} from '@videojs/core/i18n/text/menu';\nimport {\n badge,\n bufferingIndicator,\n button,\n buttonGroupEnd,\n buttonGroupStart,\n container,\n controls,\n error,\n icon,\n iconFlipped,\n iconState,\n inputIndicatorOverlay,\n menu,\n overlay,\n popup,\n poster,\n seekIndicator,\n slider,\n statusIndicator,\n thumbnail,\n time,\n volumeIndicator,\n} from '@videojs/skins/minimal/tailwind/video.tailwind';\nimport { cn } from '@videojs/utils/style';\nimport { type ComponentProps, forwardRef, type ReactNode } from 'react';\nimport { useTranslator } from '@/i18n/context';\nimport {\n AirPlayEnterIcon,\n AirPlayExitIcon,\n CaptionsOffIcon,\n CaptionsOnIcon,\n CastEnterIcon,\n CastExitIcon,\n CheckIcon,\n ChevronIcon,\n FullscreenEnterIcon,\n FullscreenExitIcon,\n GearIcon,\n PauseIcon,\n PipEnterIcon,\n PipExitIcon,\n PlayIcon,\n QualityIcon,\n RestartIcon,\n SpeechIcon,\n SpeedIcon,\n SpinnerIcon,\n VolumeHighIcon,\n VolumeLowIcon,\n VolumeOffIcon,\n} from '@/icons/minimal';\nimport { Container } from '@/player/container';\nimport { usePlayer } from '@/player/context';\nimport { AirPlayButton } from '@/ui/airplay-button';\nimport { useAudioTrackOptions } from '@/ui/audio-track';\nimport { AudioTrackRadioGroup } from '@/ui/audio-track-radio-group';\nimport { BufferingIndicator } from '@/ui/buffering-indicator';\nimport { CaptionsButton } from '@/ui/captions-button';\nimport { CaptionsRadioGroup, useCaptionsOptions } from '@/ui/captions-radio-group';\nimport { CastButton } from '@/ui/cast-button';\nimport { Controls } from '@/ui/controls';\nimport { ErrorDialog } from '@/ui/error-dialog';\nimport { FullscreenButton } from '@/ui/fullscreen-button';\nimport { Gesture } from '@/ui/gesture';\nimport { Hotkey } from '@/ui/hotkey';\nimport { Menu } from '@/ui/menu';\nimport { MuteButton } from '@/ui/mute-button';\nimport { PiPButton } from '@/ui/pip-button';\nimport { PlayButton } from '@/ui/play-button';\nimport { usePlaybackRateOptions } from '@/ui/playback-rate';\nimport { PlaybackRateRadioGroup } from '@/ui/playback-rate-radio-group';\nimport { Popover } from '@/ui/popover';\nimport { Poster } from '@/ui/poster';\nimport { useQualityOptions } from '@/ui/quality';\nimport { QualityRadioGroup } from '@/ui/quality-radio-group';\nimport { SeekIndicator } from '@/ui/seek-indicator';\nimport { Slider } from '@/ui/slider';\nimport { StatusAnnouncer } from '@/ui/status-announcer';\nimport { StatusIndicator } from '@/ui/status-indicator';\nimport { Time } from '@/ui/time';\nimport { TimeSlider } from '@/ui/time-slider';\nimport { Tooltip } from '@/ui/tooltip';\nimport { VolumeIndicator } from '@/ui/volume-indicator';\nimport { VolumeSlider } from '@/ui/volume-slider';\nimport type { MinimalVideoSkinProps } from './minimal-skin';\n\nconst SEEK_TIME = 10;\nconst TOP_STATUS_ACTIONS = ['toggleSubtitles', 'toggleFullscreen', 'togglePictureInPicture'] as const;\nconst CENTER_STATUS_ACTIONS = ['togglePaused'] as const;\n\n/* --------------------------------------- Components ---------------------------------------- */\n\nconst Button = forwardRef<HTMLButtonElement, ComponentProps<'button'>>(function Button({ className, ...props }, ref) {\n return (\n <button ref={ref} type=\"button\" className={cn(button.base, button.subtle, button.icon, className)} {...props} />\n );\n});\n\nconst SliderRoot = forwardRef<HTMLDivElement, ComponentProps<'div'>>(function SliderRoot({ className, ...props }, ref) {\n return <div ref={ref} className={cn(slider.root, className)} {...props} />;\n});\n\nconst SliderTrack = forwardRef<HTMLDivElement, ComponentProps<'div'>>(function SliderTrack(\n { className, ...props },\n ref\n) {\n return <div ref={ref} className={cn(slider.track, className)} {...props} />;\n});\n\nconst SliderFill = forwardRef<HTMLDivElement, ComponentProps<'div'> & { type?: 'fill' | 'buffer' }>(function SliderFill(\n { type = 'fill', className, ...props },\n ref\n) {\n return (\n <div\n ref={ref}\n className={cn(slider.fill.base, type === 'fill' ? slider.fill.fill : slider.fill.buffer, className)}\n {...props}\n />\n );\n});\n\nconst SliderThumb = forwardRef<HTMLDivElement, ComponentProps<'div'> & { persistent?: boolean }>(function SliderThumb(\n { persistent, className, ...props },\n ref\n) {\n return (\n <div\n ref={ref}\n className={cn(slider.thumb.base, persistent ? undefined : slider.thumb.interactive, className)}\n {...props}\n />\n );\n});\n\nfunction VolumePopover(): ReactNode {\n const volumeUnavailable = usePlayer((s) => s.volumeAvailability !== 'available');\n\n const muteButton = (\n <MuteButton className={iconState.mute.button} render={<Button />}>\n <VolumeOffIcon className={cn(icon, iconState.mute.volumeOff)} />\n <VolumeLowIcon className={cn(icon, iconState.mute.volumeLow)} />\n <VolumeHighIcon className={cn(icon, iconState.mute.volumeHigh)} />\n </MuteButton>\n );\n\n if (volumeUnavailable) return muteButton;\n\n return (\n <Popover.Root openOnHover delay={200} closeDelay={100} side=\"right\">\n <Popover.Trigger render={muteButton} />\n <Popover.Popup className={popup.volume}>\n <VolumeSlider.Root orientation=\"horizontal\" thumbAlignment=\"edge\" render={<SliderRoot />}>\n <VolumeSlider.Track render={<SliderTrack />}>\n <VolumeSlider.Fill render={<SliderFill />} />\n </VolumeSlider.Track>\n <VolumeSlider.Thumb render={(props) => <SliderThumb persistent {...props} />} />\n </VolumeSlider.Root>\n </Popover.Popup>\n </Popover.Root>\n );\n}\n\nfunction MenuChevron({ flipped = false }: { flipped?: boolean }): ReactNode {\n return (\n <ChevronIcon\n className={cn(icon, menu.icon, menu.chevron, flipped ? cn(iconFlipped, menu.backChevron) : undefined)}\n />\n );\n}\n\nfunction SettingsMenu(): ReactNode {\n const t = useTranslator();\n const playbackRate = usePlaybackRateOptions();\n const quality = useQualityOptions();\n const audioTrack = useAudioTrackOptions();\n const captions = useCaptionsOptions();\n const hasPlaybackRate = playbackRate?.state.availability === 'available';\n const hasQuality = quality?.state.availability === 'available';\n const hasAudioTrack = audioTrack?.state.availability === 'available';\n const hasCaptions = captions?.state.availability === 'available';\n\n if (!hasPlaybackRate && !hasQuality && !hasAudioTrack && !hasCaptions) return null;\n\n return (\n <Menu.Root side=\"top\" align=\"center\">\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <Menu.Trigger\n aria-label={t(settingsText)}\n render={<Button className={cn(button.icon, menu.settingsTrigger)} />}\n >\n <GearIcon className={cn(icon, menu.settingsIcon)} />\n </Menu.Trigger>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label>{t(settingsText)}</Tooltip.Label>\n </Tooltip.Popup>\n </Tooltip.Root>\n <Menu.Content className={menu.settings}>\n <div className={menu.group}>\n {hasQuality ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <QualityIcon className={cn(icon, menu.icon)} />\n <span>{t(qualityText)}</span>\n <span className={menu.hint}>\n <bdi dir=\"auto\" className={menu.hintLabel}>\n {quality.selectedLabel}\n </bdi>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(qualityText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <QualityRadioGroup\n className={menu.group}\n aria-label={t(qualityText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <bdi dir=\"auto\">\n {item.label}\n {item.tier ? <sup className={menu.tier}>{item.tier}</sup> : null}\n </bdi>\n {item.badge ? <span className={badge}>{item.badge}</span> : null}\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={cn(icon, menu.icon)} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasAudioTrack ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <SpeechIcon className={icon} />\n <span>{t(audioText)}</span>\n <span className={menu.hint}>\n <bdi dir=\"auto\" className={menu.hintLabel}>\n {audioTrack.selectedLabel}\n </bdi>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(audioText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <AudioTrackRadioGroup\n className={menu.group}\n aria-label={t(audioText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <bdi dir=\"auto\">{item.label}</bdi>\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={icon} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasPlaybackRate ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <SpeedIcon className={cn(icon, menu.icon)} />\n <span>{t(speedText)}</span>\n <span className={menu.hint}>\n <bdi dir=\"auto\" className={menu.hintLabel}>\n {playbackRate.selectedLabel}\n </bdi>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(speedText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <PlaybackRateRadioGroup\n className={menu.group}\n aria-label={t(playbackRateText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <bdi dir=\"auto\">{item.label}</bdi>\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={cn(icon, menu.icon)} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n\n {hasCaptions ? (\n <Menu.Root>\n <Menu.Trigger\n className={menu.item}\n render={(props) => (\n <div {...props}>\n <CaptionsOffIcon className={cn(icon, menu.icon)} />\n <span>{t(captionsText)}</span>\n <span className={menu.hint}>\n <bdi dir=\"auto\" className={menu.hintLabel}>\n {captions.selectedLabel}\n </bdi>\n <MenuChevron />\n </span>\n </div>\n )}\n />\n <Menu.Content className={menu.submenuPanel}>\n <Menu.Item className={menu.back}>\n <MenuChevron flipped />\n {t(captionsText)}\n </Menu.Item>\n <Menu.Separator className={menu.separator} />\n <CaptionsRadioGroup\n className={menu.group}\n aria-label={t(captionsText)}\n renderItem={(props, item) => (\n <Menu.RadioItem {...props} className={menu.item}>\n <bdi dir=\"auto\">{item.label}</bdi>\n <Menu.ItemIndicator checked={item.checked} forceMount className={menu.indicator}>\n <CheckIcon className={cn(icon, menu.icon)} />\n </Menu.ItemIndicator>\n </Menu.RadioItem>\n )}\n />\n </Menu.Content>\n </Menu.Root>\n ) : null}\n </div>\n </Menu.Content>\n </Menu.Root>\n );\n}\n\n/* ------------------------------------------ Skin ------------------------------------------- */\n\nexport function MinimalVideoSkinTailwind(props: MinimalVideoSkinProps): ReactNode {\n const { children, className, renderPoster, style, ...rest } = props;\n\n return (\n <Container className={cn(container(false), className)} style={style} {...rest}>\n {children}\n\n <Poster className={poster(false)} render={renderPoster} />\n\n <BufferingIndicator\n render={(props) => (\n <div {...props} className={bufferingIndicator}>\n <SpinnerIcon className={icon} />\n </div>\n )}\n />\n\n <ErrorDialog.Root>\n <ErrorDialog.Popup className={error.root}>\n <div className={error.dialog}>\n <div className={error.content}>\n <ErrorDialog.Title className={error.title}></ErrorDialog.Title>\n <ErrorDialog.Description className={error.description} />\n </div>\n <div className={error.actions}>\n <ErrorDialog.Close className={cn(button.base, button.primary)}></ErrorDialog.Close>\n </div>\n </div>\n </ErrorDialog.Popup>\n </ErrorDialog.Root>\n\n <Controls.Root\n data-controls=\"\" // Used as a hook for Tailwind has-[] styles\n className={controls}\n >\n <Tooltip.Provider>\n <div className={buttonGroupStart}>\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PlayButton className={iconState.play.button} render={<Button />}>\n <RestartIcon className={cn(icon, iconState.play.restart)} />\n <PlayIcon className={cn(icon, iconState.play.play)} />\n <PauseIcon className={cn(icon, iconState.play.pause)} />\n </PlayButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <VolumePopover />\n </div>\n\n <div className={time.controls}>\n <Time.Group className={time.group}>\n <Time.Value toggle type=\"current\" className={time.current} />\n <Time.Separator className={time.separator} />\n <Time.Value type=\"duration\" className={time.duration} />\n </Time.Group>\n\n <TimeSlider.Root render={<SliderRoot />}>\n <TimeSlider.Chapters\n className={slider.chapters}\n renderChapter={(props) => (\n <div {...props} className={cn(props.className, slider.chapter.base)}>\n <TimeSlider.Track render={<div className={slider.chapter.track} />}>\n <TimeSlider.Buffer render={<div className={cn(slider.fill.base, slider.fill.buffer)} />} />\n <TimeSlider.Fill render={<div className={cn(slider.fill.base, slider.fill.fill)} />} />\n </TimeSlider.Track>\n </div>\n )}\n />\n <TimeSlider.Thumb render={<SliderThumb />} />\n <TimeSlider.Preview className={slider.preview}>\n <div className={cn(thumbnail.root, slider.thumbnail)}>\n <Slider.Thumbnail className={thumbnail.image} />\n <SpinnerIcon className={cn(icon, thumbnail.spinner)} />\n </div>\n <div className={slider.value}>\n <TimeSlider.ChapterTitle className={slider.chapterTitle} />\n <TimeSlider.Value type=\"pointer\" />\n </div>\n </TimeSlider.Preview>\n </TimeSlider.Root>\n </div>\n\n <div className={cn(buttonGroupEnd, menu.settingsGroup)}>\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CaptionsButton className={iconState.captions.button} render={<Button />}>\n <CaptionsOffIcon className={cn(icon, iconState.captions.off)} />\n <CaptionsOnIcon className={cn(icon, iconState.captions.on)} />\n </CaptionsButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <SettingsMenu />\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <CastButton className={iconState.cast.button} render={<Button />}>\n <CastEnterIcon className={cn(icon, iconState.cast.enter)} />\n <CastExitIcon className={cn(icon, iconState.cast.exit)} />\n </CastButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <AirPlayButton className={iconState.airplay.button} render={<Button />}>\n <AirPlayEnterIcon className={cn(icon, iconState.airplay.enter)} />\n <AirPlayExitIcon className={cn(icon, iconState.airplay.exit)} />\n </AirPlayButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <PiPButton className={iconState.pip.button} render={<Button />}>\n <PipEnterIcon className={cn(icon, iconState.pip.off)} />\n <PipExitIcon className={cn(icon, iconState.pip.on)} />\n </PiPButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n\n <Tooltip.Root side=\"top\">\n <Tooltip.Trigger\n render={\n <FullscreenButton className={iconState.fullscreen.button} render={<Button />}>\n <FullscreenEnterIcon className={cn(icon, iconState.fullscreen.enter)} />\n <FullscreenExitIcon className={cn(icon, iconState.fullscreen.exit)} />\n </FullscreenButton>\n }\n />\n <Tooltip.Popup className={cn(popup.tooltip)}>\n <Tooltip.Label />\n <Tooltip.Shortcut className={popup.tooltipShortcut} />\n </Tooltip.Popup>\n </Tooltip.Root>\n </div>\n </Tooltip.Provider>\n </Controls.Root>\n\n <div className={overlay} />\n\n {/* Hotkeys */}\n <Hotkey keys=\"Space\" action=\"togglePaused\" />\n <Hotkey keys=\"k\" action=\"togglePaused\" />\n <Hotkey keys=\"m\" action=\"toggleMuted\" />\n <Hotkey keys=\"f\" action=\"toggleFullscreen\" />\n <Hotkey keys=\"c\" action=\"toggleSubtitles\" />\n <Hotkey keys=\"i\" action=\"togglePictureInPicture\" />\n <Hotkey keys=\"ArrowRight\" action=\"seekStep\" value={SEEK_TIME / 2} />\n <Hotkey keys=\"ArrowLeft\" action=\"seekStep\" value={-(SEEK_TIME / 2)} />\n <Hotkey keys=\"l\" action=\"seekStep\" value={SEEK_TIME} />\n <Hotkey keys=\"j\" action=\"seekStep\" value={-SEEK_TIME} />\n <Hotkey keys=\"ArrowUp\" action=\"volumeStep\" value={0.05} />\n <Hotkey keys=\"ArrowDown\" action=\"volumeStep\" value={-0.05} />\n <Hotkey keys=\"0-9\" action=\"seekToPercent\" />\n <Hotkey keys=\"Home\" action=\"seekToPercent\" value={0} />\n <Hotkey keys=\"End\" action=\"seekToPercent\" value={100} />\n <Hotkey keys=\">\" action=\"speedUp\" />\n <Hotkey keys=\"<\" action=\"speedDown\" />\n\n {/* Gestures */}\n <Gesture type=\"tap\" action=\"togglePaused\" pointer=\"mouse\" region=\"center\" />\n <Gesture type=\"tap\" action=\"toggleControls\" pointer=\"touch\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={-SEEK_TIME} region=\"left\" />\n <Gesture type=\"doubletap\" action=\"toggleFullscreen\" region=\"center\" />\n <Gesture type=\"doubletap\" action=\"seekStep\" value={SEEK_TIME} region=\"right\" />\n\n {/* Input Indicators */}\n <StatusAnnouncer className=\"sr-only\" />\n <div className={inputIndicatorOverlay}>\n <VolumeIndicator.Root className={volumeIndicator.root}>\n <VolumeIndicator.Fill className={volumeIndicator.content}>\n <VolumeHighIcon className={cn(volumeIndicator.icon.base, volumeIndicator.icon.high)} />\n <VolumeLowIcon className={cn(volumeIndicator.icon.base, volumeIndicator.icon.low)} />\n <VolumeOffIcon className={cn(volumeIndicator.icon.base, volumeIndicator.icon.off)} />\n <div aria-hidden=\"true\" className={volumeIndicator.progress} />\n <VolumeIndicator.Value className={volumeIndicator.value} />\n </VolumeIndicator.Fill>\n </VolumeIndicator.Root>\n\n <StatusIndicator.Root actions={TOP_STATUS_ACTIONS} className={statusIndicator.root}>\n <div className={statusIndicator.content}>\n <CaptionsOnIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.captionsOn)} />\n <CaptionsOffIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.captionsOff)} />\n <FullscreenEnterIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.fullscreenEnter)} />\n <FullscreenExitIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.fullscreenExit)} />\n <PipEnterIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.pipEnter)} />\n <PipExitIcon className={cn(statusIndicator.icon.base, statusIndicator.icon.pipExit)} />\n <StatusIndicator.Value className={statusIndicator.value} />\n </div>\n </StatusIndicator.Root>\n\n <SeekIndicator.Root className={seekIndicator.root}>\n <ChevronIcon className={seekIndicator.icon} />\n <SeekIndicator.Value className={seekIndicator.value} />\n </SeekIndicator.Root>\n\n <StatusIndicator.Root actions={CENTER_STATUS_ACTIONS} className={statusIndicator.playback.root}>\n <PlayIcon className={cn(statusIndicator.playback.icon.base, statusIndicator.playback.icon.play)} />\n <PauseIcon className={cn(statusIndicator.playback.icon.base, statusIndicator.playback.icon.pause)} />\n </StatusIndicator.Root>\n </div>\n </Container>\n );\n}\n"],"mappings":"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"}
|