@vuetify/nightly 3.9.2-master.2025-07-29 → 3.9.3-master.2025-07-30
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/CHANGELOG.md +9 -62
- package/dist/json/attributes.json +3905 -3905
- package/dist/json/importMap-labs.json +18 -18
- package/dist/json/importMap.json +134 -134
- package/dist/json/web-types.json +7077 -7077
- package/dist/vuetify-labs.cjs +47 -24
- package/dist/vuetify-labs.css +3395 -3387
- package/dist/vuetify-labs.d.ts +48 -47
- package/dist/vuetify-labs.esm.js +47 -24
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +47 -24
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +15 -9
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +2289 -2281
- package/dist/vuetify.d.ts +48 -47
- package/dist/vuetify.esm.js +15 -9
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +15 -9
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +13 -12
- package/dist/vuetify.min.js.map +1 -1
- package/lib/components/VCombobox/VCombobox.js +10 -6
- package/lib/components/VCombobox/VCombobox.js.map +1 -1
- package/lib/components/VWindow/VWindow.css +8 -0
- package/lib/components/VWindow/VWindow.sass +9 -0
- package/lib/composables/theme.d.ts +1 -0
- package/lib/composables/theme.js +3 -1
- package/lib/composables/theme.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +48 -47
- package/lib/framework.js +1 -1
- package/lib/labs/VVideo/VVideo.css +1 -1
- package/lib/labs/VVideo/VVideo.js +2 -2
- package/lib/labs/VVideo/VVideo.js.map +1 -1
- package/lib/labs/VVideo/VVideo.sass +2 -0
- package/lib/labs/VVideo/VVideoControls.js +32 -15
- package/lib/labs/VVideo/VVideoControls.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VVideoControls.js","names":["VVideoVolume","VDefaultsProvider","VSpacer","VSlider","VIconBtn","useLocale","useBackgroundColor","makeDensityProps","useDensity","makeElevationProps","useElevation","useProxiedModel","makeThemeProps","provideTheme","vTooltip","computed","shallowRef","formatTime","genericComponent","propsFactory","useRender","allowedVariants","makeVVideoControlsProps","color","String","backgroundColor","trackColor","playing","Boolean","hidePlay","hideVolume","hideFullscreen","fullscreen","floating","splitTime","pills","detached","progress","type","Number","default","duration","volume","variant","validator","v","includes","volumeProps","Object","VVideoControls","name","directives","props","emits","val","skip","click:fullscreen","setup","_ref","emit","slots","t","themeClasses","densityClasses","elevationClasses","backgroundColorClasses","backgroundColorStyles","fallbackBackground","undefined","lastVolume","currentTime","secondsElapsed","Math","round","elapsed","remaining","total","labels","playIconLocaleKey","value","volumeIconLocaleKey","inline","fullscreenIconLocaleKey","seek","playAction","volumeAction","fullscreenAction","play","pause","skipTo","toggleMuted","toggleFullscreen","sizes","innerDefaults","size","density","iconSize","thumbSize","hideDetails","regularBtnSize","playBtnSize","pillClasses","slotProps","_createElementVNode","_normalizeClass","_normalizeStyle","_createVNode","_Fragment","_withDirectives","onClick","prepend","_createTextVNode","thumb-label","append","_mergeProps"],"sources":["../../../src/labs/VVideo/VVideoControls.tsx"],"sourcesContent":["/* eslint-disable complexity */\n\n// Components\nimport { VVideoVolume } from './VVideoVolume'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { VSpacer } from '@/components/VGrid/VSpacer'\nimport { VSlider } from '@/components/VSlider/VSlider'\nimport { VIconBtn } from '@/labs/VIconBtn/VIconBtn'\n\n// Composables\nimport { useLocale } from '@/composables'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport vTooltip from '@/directives/tooltip'\n\n// Utilities\nimport { computed, shallowRef } from 'vue'\nimport { formatTime, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\n\nexport type VVideoControlsActionsSlot = {\n play: () => void\n pause: () => void\n skipTo: (v: number) => void\n volume: Ref<number>\n playing: boolean\n progress: number\n toggleMuted: () => void\n fullscreen: boolean\n toggleFullscreen: () => void\n labels: Record<string, string>\n}\n\nexport type VVideoControlsSlots = {\n default: VVideoControlsActionsSlot\n prepend: VVideoControlsActionsSlot\n append: VVideoControlsActionsSlot\n}\n\nconst allowedVariants = ['hidden', 'default', 'tube', 'mini'] as const\nexport type VVideoControlsVariant = typeof allowedVariants[number]\n\nexport const makeVVideoControlsProps = propsFactory({\n color: String,\n backgroundColor: String,\n trackColor: String,\n playing: Boolean,\n hidePlay: Boolean,\n hideVolume: Boolean,\n hideFullscreen: Boolean,\n fullscreen: Boolean,\n floating: Boolean,\n splitTime: Boolean,\n pills: Boolean,\n detached: Boolean,\n progress: {\n type: Number,\n default: 0,\n },\n duration: {\n type: Number,\n default: 0,\n },\n volume: [Number, String],\n variant: {\n type: String as PropType<VVideoControlsVariant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n volumeProps: Object as PropType<Pick<VVideoVolume['$props'], 'direction' | 'inline' | 'sliderProps' | 'menuProps'>>,\n\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeThemeProps(),\n}, 'VVideoControls')\n\nexport const VVideoControls = genericComponent<VVideoControlsSlots>()({\n name: 'VVideoControls',\n\n directives: { vTooltip: vTooltip as any },\n\n props: makeVVideoControlsProps(),\n\n emits: {\n 'update:playing': (val: boolean) => true,\n 'update:progress': (val: number) => true,\n 'update:volume': (val: number) => true,\n skip: (val: number) => true,\n 'click:fullscreen': () => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => {\n const fallbackBackground = props.detached ? 'surface' : undefined\n return props.backgroundColor ?? fallbackBackground\n })\n\n const playing = useProxiedModel(props, 'playing')\n const progress = useProxiedModel(props, 'progress')\n const volume = useProxiedModel(props, 'volume', 0, (v?: number | string) => Number(v ?? 0))\n const lastVolume = shallowRef<number>()\n\n const currentTime = computed(() => {\n const secondsElapsed = Math.round(props.progress / 100 * props.duration)\n return {\n elapsed: formatTime(secondsElapsed),\n remaining: formatTime(props.duration - secondsElapsed),\n total: formatTime(props.duration),\n }\n })\n\n const labels = computed(() => {\n const playIconLocaleKey = playing.value ? 'pause' : 'play'\n const volumeIconLocaleKey = props.volumeProps?.inline ? (volume.value ? 'mute' : 'unmute') : 'showVolume'\n const fullscreenIconLocaleKey = props.fullscreen ? 'exitFullscreen' : 'enterFullscreen'\n return {\n seek: t('$vuetify.video.seek'),\n volume: t('$vuetify.video.volume'),\n playAction: t(`$vuetify.video.${playIconLocaleKey}`),\n volumeAction: t(`$vuetify.video.${volumeIconLocaleKey}`),\n fullscreenAction: t(`$vuetify.video.${fullscreenIconLocaleKey}`),\n }\n })\n\n function play () {\n playing.value = true\n }\n\n function pause () {\n playing.value = false\n }\n\n function skipTo (v: number) {\n progress.value = v\n }\n\n function toggleMuted () {\n if (volume.value) {\n lastVolume.value = volume.value\n volume.value = 0\n } else {\n volume.value = lastVolume.value ?? 100\n }\n }\n\n function toggleFullscreen () {\n emit('click:fullscreen')\n }\n\n useRender(() => {\n const sizes = props.pills\n ? [42, 36, 30]\n : [32, 28, 24]\n\n const innerDefaults = {\n VIconBtn: {\n size: props.density === 'compact' ? sizes[2]\n : props.density === 'comfortable' ? sizes[1]\n : sizes[0],\n iconSize: props.density === 'compact' ? 20\n : props.density === 'comfortable' ? 24\n : 26,\n variant: 'text',\n color: props.color,\n },\n VSlider: {\n thumbSize: props.variant === 'tube' ? 10 : 16,\n hideDetails: true,\n },\n }\n\n const regularBtnSize = innerDefaults.VIconBtn.size\n const playBtnSize = props.pills ? (regularBtnSize + 8) : regularBtnSize\n\n const pillClasses = [\n 'v-video-control__pill',\n props.pills ? elevationClasses.value : [],\n ]\n\n const slotProps = {\n play,\n pause,\n playing: playing.value,\n progress: progress.value,\n currentTime: currentTime.value,\n skipTo,\n volume,\n toggleMuted,\n fullscreen: props.fullscreen,\n toggleFullscreen,\n labels: labels.value,\n }\n\n return (\n <div\n class={[\n 'v-video-controls',\n `v-video-controls--variant-${props.variant}`,\n { 'v-video-controls--pills': props.pills },\n { 'v-video-controls--detached': props.detached },\n { 'v-video-controls--floating': props.floating },\n { 'v-video-controls--split-time': props.splitTime },\n backgroundColorClasses.value,\n props.detached && !props.pills ? elevationClasses.value : [],\n densityClasses.value,\n themeClasses.value,\n ]}\n style={[\n backgroundColorStyles.value,\n { '--v-video-controls-pill-height': `${regularBtnSize}px` },\n ]}\n >\n <VDefaultsProvider defaults={ innerDefaults }>\n { slots.default?.(slotProps) ?? (\n <>\n { props.variant !== 'mini' && (\n <>\n { !props.hidePlay && (\n <div class={[pillClasses, 'v-video__action-play']}>\n <VIconBtn\n icon={ playing.value ? '$pause' : '$play' }\n size={ playBtnSize }\n aria-label={ labels.value.playAction }\n v-tooltip={[labels.value.playAction, 'top']}\n onClick={ () => playing.value = !playing.value }\n />\n </div>\n )}\n { slots.prepend && (\n <div class={ pillClasses }>\n { slots.prepend(slotProps) }\n </div>\n )}\n { props.splitTime\n ? <span class={[pillClasses, 'v-video__time']}>{ currentTime.value.elapsed }</span>\n : props.variant !== 'default'\n ? <span class={[pillClasses, 'v-video__time']}>{ currentTime.value.elapsed } / { currentTime.value.total }</span>\n : ''\n }\n <VSlider\n modelValue={ props.progress }\n noKeyboard\n color={ props.trackColor ?? props.color }\n trackColor={ props.variant === 'tube' ? 'white' : undefined }\n class=\"v-video__track\"\n thumbLabel=\"always\"\n aria-label={ labels.value.seek }\n onUpdate:modelValue={ skipTo }\n >\n {{\n 'thumb-label': () => currentTime.value.elapsed,\n }}\n </VSlider>\n { props.variant === 'tube' && <VSpacer /> }\n { props.splitTime\n ? <span class={[pillClasses, 'v-video__time']}>{ currentTime.value.remaining }</span>\n : ''\n }\n </>\n )}\n { props.variant === 'mini' && (\n <>\n <VSpacer />\n { slots.prepend && (\n <div class={ pillClasses }>\n { slots.prepend(slotProps) }\n </div>\n )}\n { !props.hidePlay && (\n <div class={[pillClasses, 'v-video__action-play']}>\n <VIconBtn\n icon={ playing.value ? '$pause' : '$play' }\n size={ playBtnSize }\n aria-label={ labels.value.playAction }\n v-tooltip={[labels.value.playAction, 'top']}\n onClick={ () => playing.value = !playing.value }\n />\n </div>\n )}\n </>\n )}\n { (!props.hideVolume || !props.hideFullscreen || slots.append) && (\n <div class={ pillClasses }>\n { !props.hideVolume && (\n <VVideoVolume\n key=\"volume-control\"\n sliderProps={{ color: props.color }}\n modelValue={ volume.value }\n label={ labels.value.volumeAction }\n onUpdate:modelValue={ v => volume.value = v }\n onClick={ () => props.volumeProps?.inline && toggleMuted() }\n { ...props.volumeProps }\n />\n )}\n { slots.append?.(slotProps) }\n { !props.hideFullscreen && (\n <VIconBtn\n icon={ props.fullscreen ? '$fullscreenExit' : '$fullscreen' }\n aria-label={ labels.value.fullscreenAction }\n v-tooltip={[labels.value.fullscreenAction, 'top']}\n onClick={ toggleFullscreen }\n />\n )}\n </div>\n )}\n\n { props.variant === 'mini' && (<VSpacer />) }\n </>\n )}\n </VDefaultsProvider>\n </div>\n )\n })\n\n return {\n toggleMuted,\n }\n },\n})\n\nexport type VVideoControls = InstanceType<typeof VVideoControls>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VVideoControls.js","names":["VVideoVolume","VDefaultsProvider","VSpacer","VSlider","VIconBtn","useLocale","useBackgroundColor","makeDensityProps","useDensity","makeElevationProps","useElevation","useProxiedModel","makeThemeProps","provideTheme","vTooltip","computed","shallowRef","toRef","formatTime","genericComponent","propsFactory","useRender","allowedVariants","makeVVideoControlsProps","color","String","backgroundColor","trackColor","playing","Boolean","hidePlay","hideVolume","hideFullscreen","fullscreen","floating","splitTime","pills","detached","progress","type","Number","default","duration","volume","variant","validator","v","includes","volumeProps","Object","VVideoControls","name","directives","props","emits","val","skip","click:fullscreen","setup","_ref","emit","slots","t","themeClasses","current","currentTheme","densityClasses","elevationClasses","backgroundColorClasses","backgroundColorStyles","fallbackBackground","undefined","fallback","value","dark","lastVolume","currentTime","secondsElapsed","Math","round","elapsed","remaining","total","labels","playIconLocaleKey","volumeIconLocaleKey","inline","fullscreenIconLocaleKey","seek","playAction","volumeAction","fullscreenAction","play","pause","skipTo","toggleMuted","toggleFullscreen","sizes","innerDefaults","size","density","iconSize","thumbSize","hideDetails","regularBtnSize","playBtnSize","pillClasses","pillStyles","slotProps","_createElementVNode","_normalizeClass","_normalizeStyle","_createVNode","_Fragment","_withDirectives","onClick","prepend","_createTextVNode","thumb-label","append","_mergeProps"],"sources":["../../../src/labs/VVideo/VVideoControls.tsx"],"sourcesContent":["/* eslint-disable complexity */\n\n// Components\nimport { VVideoVolume } from './VVideoVolume'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider/VDefaultsProvider'\nimport { VSpacer } from '@/components/VGrid/VSpacer'\nimport { VSlider } from '@/components/VSlider/VSlider'\nimport { VIconBtn } from '@/labs/VIconBtn/VIconBtn'\n\n// Composables\nimport { useLocale } from '@/composables'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Directives\nimport vTooltip from '@/directives/tooltip'\n\n// Utilities\nimport { computed, shallowRef, toRef } from 'vue'\nimport { formatTime, genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType, Ref } from 'vue'\n\nexport type VVideoControlsActionsSlot = {\n play: () => void\n pause: () => void\n skipTo: (v: number) => void\n volume: Ref<number>\n playing: boolean\n progress: number\n toggleMuted: () => void\n fullscreen: boolean\n toggleFullscreen: () => void\n labels: Record<string, string>\n}\n\nexport type VVideoControlsSlots = {\n default: VVideoControlsActionsSlot\n prepend: VVideoControlsActionsSlot\n append: VVideoControlsActionsSlot\n}\n\nconst allowedVariants = ['hidden', 'default', 'tube', 'mini'] as const\nexport type VVideoControlsVariant = typeof allowedVariants[number]\n\nexport const makeVVideoControlsProps = propsFactory({\n color: String,\n backgroundColor: String,\n trackColor: String,\n playing: Boolean,\n hidePlay: Boolean,\n hideVolume: Boolean,\n hideFullscreen: Boolean,\n fullscreen: Boolean,\n floating: Boolean,\n splitTime: Boolean,\n pills: Boolean,\n detached: Boolean,\n progress: {\n type: Number,\n default: 0,\n },\n duration: {\n type: Number,\n default: 0,\n },\n volume: [Number, String],\n variant: {\n type: String as PropType<VVideoControlsVariant>,\n default: 'default',\n validator: (v: any) => allowedVariants.includes(v),\n },\n volumeProps: Object as PropType<Pick<VVideoVolume['$props'], 'direction' | 'inline' | 'sliderProps' | 'menuProps'>>,\n\n ...makeDensityProps(),\n ...makeElevationProps(),\n ...makeThemeProps(),\n}, 'VVideoControls')\n\nexport const VVideoControls = genericComponent<VVideoControlsSlots>()({\n name: 'VVideoControls',\n\n directives: { vTooltip: vTooltip as any },\n\n props: makeVVideoControlsProps(),\n\n emits: {\n 'update:playing': (val: boolean) => true,\n 'update:progress': (val: number) => true,\n 'update:volume': (val: number) => true,\n skip: (val: number) => true,\n 'click:fullscreen': () => true,\n },\n\n setup (props, { emit, slots }) {\n const { t } = useLocale()\n const { themeClasses, current: currentTheme } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { elevationClasses } = useElevation(props)\n\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(() => {\n const fallbackBackground = props.detached ? 'surface' : undefined\n return props.backgroundColor ?? fallbackBackground\n })\n\n const trackColor = toRef(() => {\n if (props.trackColor) {\n return props.trackColor\n }\n\n const fallback = currentTheme.value.dark || !props.pills ? undefined : 'surface'\n return (props.pills ? props.backgroundColor : props.color) ?? fallback\n })\n\n const playing = useProxiedModel(props, 'playing')\n const progress = useProxiedModel(props, 'progress')\n const volume = useProxiedModel(props, 'volume', 0, (v?: number | string) => Number(v ?? 0))\n const lastVolume = shallowRef<number>()\n\n const currentTime = computed(() => {\n const secondsElapsed = Math.round(props.progress / 100 * props.duration)\n return {\n elapsed: formatTime(secondsElapsed),\n remaining: formatTime(props.duration - secondsElapsed),\n total: formatTime(props.duration),\n }\n })\n\n const labels = computed(() => {\n const playIconLocaleKey = playing.value ? 'pause' : 'play'\n const volumeIconLocaleKey = props.volumeProps?.inline ? (volume.value ? 'mute' : 'unmute') : 'showVolume'\n const fullscreenIconLocaleKey = props.fullscreen ? 'exitFullscreen' : 'enterFullscreen'\n return {\n seek: t('$vuetify.video.seek'),\n volume: t('$vuetify.video.volume'),\n playAction: t(`$vuetify.video.${playIconLocaleKey}`),\n volumeAction: t(`$vuetify.video.${volumeIconLocaleKey}`),\n fullscreenAction: t(`$vuetify.video.${fullscreenIconLocaleKey}`),\n }\n })\n\n function play () {\n playing.value = true\n }\n\n function pause () {\n playing.value = false\n }\n\n function skipTo (v: number) {\n progress.value = v\n }\n\n function toggleMuted () {\n if (volume.value) {\n lastVolume.value = volume.value\n volume.value = 0\n } else {\n volume.value = lastVolume.value ?? 100\n }\n }\n\n function toggleFullscreen () {\n emit('click:fullscreen')\n }\n\n useRender(() => {\n const sizes = props.pills\n ? [42, 36, 30]\n : [32, 28, 24]\n\n const innerDefaults = {\n VIconBtn: {\n size: props.density === 'compact' ? sizes[2]\n : props.density === 'comfortable' ? sizes[1]\n : sizes[0],\n iconSize: props.density === 'compact' ? 20\n : props.density === 'comfortable' ? 24\n : 26,\n variant: 'text',\n color: props.color,\n },\n VSlider: {\n thumbSize: props.variant === 'tube' ? 10 : 16,\n hideDetails: true,\n },\n }\n\n const regularBtnSize = innerDefaults.VIconBtn.size\n const playBtnSize = props.pills ? (regularBtnSize + 8) : regularBtnSize\n\n const pillClasses = [\n 'v-video-control__pill',\n props.pills ? elevationClasses.value : [],\n props.pills ? backgroundColorClasses.value : [],\n ]\n\n const pillStyles = props.pills ? backgroundColorStyles.value : []\n\n const slotProps = {\n play,\n pause,\n playing: playing.value,\n progress: progress.value,\n currentTime: currentTime.value,\n skipTo,\n volume,\n toggleMuted,\n fullscreen: props.fullscreen,\n toggleFullscreen,\n labels: labels.value,\n }\n\n return (\n <div\n class={[\n 'v-video-controls',\n `v-video-controls--variant-${props.variant}`,\n { 'v-video-controls--pills': props.pills },\n { 'v-video-controls--detached': props.detached },\n { 'v-video-controls--floating': props.floating },\n { 'v-video-controls--split-time': props.splitTime },\n !props.pills ? backgroundColorClasses.value : [],\n props.detached && !props.pills ? elevationClasses.value : [],\n densityClasses.value,\n themeClasses.value,\n ]}\n style={[\n !props.pills ? backgroundColorStyles.value : [],\n { '--v-video-controls-pill-height': `${regularBtnSize}px` },\n ]}\n >\n <VDefaultsProvider defaults={ innerDefaults }>\n { slots.default?.(slotProps) ?? (\n <>\n { props.variant !== 'mini' && (\n <>\n { !props.hidePlay && (\n <div\n class={[pillClasses, 'v-video__action-play']}\n style={ pillStyles }\n >\n <VIconBtn\n icon={ playing.value ? '$pause' : '$play' }\n size={ playBtnSize }\n aria-label={ labels.value.playAction }\n v-tooltip={[labels.value.playAction, 'top']}\n onClick={ () => playing.value = !playing.value }\n />\n </div>\n )}\n { slots.prepend && (\n <div\n class={ pillClasses }\n style={ pillStyles }\n >\n { slots.prepend(slotProps) }\n </div>\n )}\n { props.splitTime\n ? (\n <span\n class={[pillClasses, 'v-video__time']}\n style={ pillStyles }\n >\n { currentTime.value.elapsed }\n </span>\n )\n : props.variant !== 'default'\n ? (\n <span\n class={[pillClasses, 'v-video__time']}\n style={ pillStyles }\n >\n { currentTime.value.elapsed } / { currentTime.value.total }\n </span>\n )\n : ''\n }\n <VSlider\n modelValue={ props.progress }\n noKeyboard\n color={ trackColor.value ?? 'surface-variant' }\n trackColor={ props.variant === 'tube' ? 'white' : undefined }\n class=\"v-video__track\"\n thumbLabel=\"always\"\n aria-label={ labels.value.seek }\n onUpdate:modelValue={ skipTo }\n >\n {{\n 'thumb-label': () => currentTime.value.elapsed,\n }}\n </VSlider>\n { props.variant === 'tube' && <VSpacer /> }\n { props.splitTime\n ? (\n <span\n class={[pillClasses, 'v-video__time']}\n style={ pillStyles }\n >\n { currentTime.value.remaining }\n </span>\n )\n : ''\n }\n </>\n )}\n { props.variant === 'mini' && (\n <>\n <VSpacer />\n { slots.prepend && (\n <div\n class={ pillClasses }\n style={ pillStyles }\n >\n { slots.prepend(slotProps) }\n </div>\n )}\n { !props.hidePlay && (\n <div\n class={[pillClasses, 'v-video__action-play']}\n style={ pillStyles }\n >\n <VIconBtn\n icon={ playing.value ? '$pause' : '$play' }\n size={ playBtnSize }\n aria-label={ labels.value.playAction }\n v-tooltip={[labels.value.playAction, 'top']}\n onClick={ () => playing.value = !playing.value }\n />\n </div>\n )}\n </>\n )}\n { (!props.hideVolume || !props.hideFullscreen || slots.append) && (\n <div\n class={ pillClasses }\n style={ pillStyles }\n >\n { !props.hideVolume && (\n <VVideoVolume\n key=\"volume-control\"\n sliderProps={{ color: props.color }}\n modelValue={ volume.value }\n label={ labels.value.volumeAction }\n onUpdate:modelValue={ v => volume.value = v }\n onClick={ () => props.volumeProps?.inline && toggleMuted() }\n { ...props.volumeProps }\n />\n )}\n { slots.append?.(slotProps) }\n { !props.hideFullscreen && (\n <VIconBtn\n icon={ props.fullscreen ? '$fullscreenExit' : '$fullscreen' }\n aria-label={ labels.value.fullscreenAction }\n v-tooltip={[labels.value.fullscreenAction, 'top']}\n onClick={ toggleFullscreen }\n />\n )}\n </div>\n )}\n\n { props.variant === 'mini' && (<VSpacer />) }\n </>\n )}\n </VDefaultsProvider>\n </div>\n )\n })\n\n return {\n toggleMuted,\n }\n },\n})\n\nexport type VVideoControls = InstanceType<typeof VVideoControls>\n"],"mappings":"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","ignoreList":[]}
|