@vuetify/nightly 3.9.2-master.2025-07-28 → 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 -51
- package/dist/json/attributes.json +3076 -3076
- package/dist/json/importMap-labs.json +30 -30
- package/dist/json/importMap.json +154 -154
- package/dist/json/web-types.json +5573 -5573
- package/dist/vuetify-labs.cjs +91 -35
- package/dist/vuetify-labs.css +4963 -4960
- package/dist/vuetify-labs.d.ts +60 -59
- package/dist/vuetify-labs.esm.js +91 -35
- package/dist/vuetify-labs.esm.js.map +1 -1
- package/dist/vuetify-labs.js +91 -35
- package/dist/vuetify-labs.min.css +2 -2
- package/dist/vuetify.cjs +59 -20
- package/dist/vuetify.cjs.map +1 -1
- package/dist/vuetify.css +4049 -4046
- package/dist/vuetify.d.ts +60 -59
- package/dist/vuetify.esm.js +59 -20
- package/dist/vuetify.esm.js.map +1 -1
- package/dist/vuetify.js +59 -20
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +200 -198
- 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/VDatePicker/VDatePickerControls.js +8 -1
- package/lib/components/VDatePicker/VDatePickerControls.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonth.js +11 -0
- package/lib/components/VDatePicker/VDatePickerMonth.js.map +1 -1
- package/lib/components/VDatePicker/VDatePickerMonths.js +3 -0
- package/lib/components/VDatePicker/VDatePickerMonths.js.map +1 -1
- package/lib/components/VList/VListChildren.js +3 -4
- package/lib/components/VList/VListChildren.js.map +1 -1
- package/lib/components/VSlider/VSliderThumb.css +9 -14
- package/lib/components/VSlider/VSliderThumb.js +13 -7
- package/lib/components/VSlider/VSliderThumb.js.map +1 -1
- package/lib/components/VSlider/VSliderThumb.sass +9 -14
- package/lib/components/VSlider/slider.d.ts +1 -0
- package/lib/components/VSlider/slider.js +2 -0
- package/lib/components/VSlider/slider.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/directives/ripple/index.js +2 -2
- package/lib/directives/ripple/index.js.map +1 -1
- package/lib/entry-bundler.js +1 -1
- package/lib/framework.d.ts +60 -59
- 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/lib/locale/af.d.ts +7 -0
- package/lib/locale/af.js +7 -0
- package/lib/locale/af.js.map +1 -1
- package/lib/locale/ar.d.ts +7 -0
- package/lib/locale/ar.js +13 -6
- package/lib/locale/ar.js.map +1 -1
- package/lib/locale/az.d.ts +7 -0
- package/lib/locale/az.js +7 -0
- package/lib/locale/az.js.map +1 -1
- package/lib/locale/bg.d.ts +7 -0
- package/lib/locale/bg.js +7 -0
- package/lib/locale/bg.js.map +1 -1
- package/lib/locale/ca.d.ts +7 -0
- package/lib/locale/ca.js +7 -0
- package/lib/locale/ca.js.map +1 -1
- package/lib/locale/ckb.d.ts +7 -0
- package/lib/locale/ckb.js +7 -0
- package/lib/locale/ckb.js.map +1 -1
- package/lib/locale/cs.d.ts +7 -0
- package/lib/locale/cs.js +7 -0
- package/lib/locale/cs.js.map +1 -1
- package/lib/locale/da.d.ts +7 -0
- package/lib/locale/da.js +7 -0
- package/lib/locale/da.js.map +1 -1
- package/lib/locale/de.d.ts +7 -0
- package/lib/locale/de.js +7 -0
- package/lib/locale/de.js.map +1 -1
- package/lib/locale/el.d.ts +7 -0
- package/lib/locale/el.js +7 -0
- package/lib/locale/el.js.map +1 -1
- package/lib/locale/en.d.ts +7 -0
- package/lib/locale/en.js +8 -0
- package/lib/locale/en.js.map +1 -1
- package/lib/locale/es.d.ts +7 -0
- package/lib/locale/es.js +7 -0
- package/lib/locale/es.js.map +1 -1
- package/lib/locale/et.d.ts +7 -0
- package/lib/locale/et.js +7 -0
- package/lib/locale/et.js.map +1 -1
- package/lib/locale/fa.d.ts +7 -0
- package/lib/locale/fa.js +7 -0
- package/lib/locale/fa.js.map +1 -1
- package/lib/locale/fi.d.ts +7 -0
- package/lib/locale/fi.js +7 -0
- package/lib/locale/fi.js.map +1 -1
- package/lib/locale/fr.d.ts +7 -0
- package/lib/locale/fr.js +7 -0
- package/lib/locale/fr.js.map +1 -1
- package/lib/locale/he.d.ts +7 -0
- package/lib/locale/he.js +7 -0
- package/lib/locale/he.js.map +1 -1
- package/lib/locale/hr.d.ts +7 -0
- package/lib/locale/hr.js +7 -0
- package/lib/locale/hr.js.map +1 -1
- package/lib/locale/hu.d.ts +7 -0
- package/lib/locale/hu.js +7 -0
- package/lib/locale/hu.js.map +1 -1
- package/lib/locale/id.d.ts +7 -0
- package/lib/locale/id.js +7 -0
- package/lib/locale/id.js.map +1 -1
- package/lib/locale/it.d.ts +7 -0
- package/lib/locale/it.js +7 -0
- package/lib/locale/it.js.map +1 -1
- package/lib/locale/ja.d.ts +7 -0
- package/lib/locale/ja.js +7 -0
- package/lib/locale/ja.js.map +1 -1
- package/lib/locale/km.d.ts +7 -0
- package/lib/locale/km.js +7 -0
- package/lib/locale/km.js.map +1 -1
- package/lib/locale/ko.d.ts +7 -0
- package/lib/locale/ko.js +7 -0
- package/lib/locale/ko.js.map +1 -1
- package/lib/locale/lt.d.ts +7 -0
- package/lib/locale/lt.js +7 -0
- package/lib/locale/lt.js.map +1 -1
- package/lib/locale/lv.d.ts +7 -0
- package/lib/locale/lv.js +7 -0
- package/lib/locale/lv.js.map +1 -1
- package/lib/locale/nl.d.ts +7 -0
- package/lib/locale/nl.js +7 -0
- package/lib/locale/nl.js.map +1 -1
- package/lib/locale/no.d.ts +7 -0
- package/lib/locale/no.js +7 -0
- package/lib/locale/no.js.map +1 -1
- package/lib/locale/pl.d.ts +7 -0
- package/lib/locale/pl.js +7 -0
- package/lib/locale/pl.js.map +1 -1
- package/lib/locale/pt.d.ts +7 -0
- package/lib/locale/pt.js +7 -0
- package/lib/locale/pt.js.map +1 -1
- package/lib/locale/ro.d.ts +7 -0
- package/lib/locale/ro.js +7 -0
- package/lib/locale/ro.js.map +1 -1
- package/lib/locale/ru.d.ts +7 -0
- package/lib/locale/ru.js +7 -0
- package/lib/locale/ru.js.map +1 -1
- package/lib/locale/sk.d.ts +7 -0
- package/lib/locale/sk.js +7 -0
- package/lib/locale/sk.js.map +1 -1
- package/lib/locale/sl.d.ts +7 -0
- package/lib/locale/sl.js +7 -0
- package/lib/locale/sl.js.map +1 -1
- package/lib/locale/sr-Cyrl.d.ts +7 -0
- package/lib/locale/sr-Cyrl.js +7 -0
- package/lib/locale/sr-Cyrl.js.map +1 -1
- package/lib/locale/sr-Latn.d.ts +7 -0
- package/lib/locale/sr-Latn.js +7 -0
- package/lib/locale/sr-Latn.js.map +1 -1
- package/lib/locale/sv.d.ts +7 -0
- package/lib/locale/sv.js +7 -0
- package/lib/locale/sv.js.map +1 -1
- package/lib/locale/th.d.ts +7 -0
- package/lib/locale/th.js +7 -0
- package/lib/locale/th.js.map +1 -1
- package/lib/locale/tr.d.ts +7 -0
- package/lib/locale/tr.js +7 -0
- package/lib/locale/tr.js.map +1 -1
- package/lib/locale/uk.d.ts +7 -0
- package/lib/locale/uk.js +7 -0
- package/lib/locale/uk.js.map +1 -1
- package/lib/locale/vi.d.ts +7 -0
- package/lib/locale/vi.js +7 -0
- package/lib/locale/vi.js.map +1 -1
- package/lib/locale/zh-Hans.d.ts +7 -0
- package/lib/locale/zh-Hans.js +7 -0
- package/lib/locale/zh-Hans.js.map +1 -1
- package/lib/locale/zh-Hant.d.ts +7 -0
- package/lib/locale/zh-Hant.js +7 -0
- package/lib/locale/zh-Hant.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"VVideo.js","names":["makeVVideoControlsProps","VVideoControls","VFadeTransition","VSpacer","VImg","VOverlay","VProgressCircular","VIconBtn","useDisplay","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","useElevation","forwardRefs","useProxiedModel","useRounded","makeThemeProps","provideTheme","MaybeTransition","nextTick","onBeforeUnmount","onMounted","ref","shallowRef","toRef","watch","createRange","genericComponent","omit","pick","propsFactory","useRender","allowedVariants","makeVVideoProps","autoplay","Boolean","muted","eager","src","String","type","image","hideOverlay","noFullscreen","startAt","Number","variant","default","validator","v","includes","controlsTransition","Object","component","controlsVariant","controlsProps","rounded","Array","VVideo","name","inheritAttrs","props","emits","loaded","element","val","setup","_ref","attrs","emit","slots","themeClasses","densityClasses","dimensionStyles","elevationClasses","ssr","roundedForContainer","isArray","roundedForControls","at","roundedClasses","roundedContainerClasses","roundedControlsClasses","containerRef","videoRef","controlsRef","playing","progress","volume","fullscreen","waiting","triggered","startAfterLoad","state","duration","fullscreenEnabled","controlsList","onTimeupdate","currentTime","value","onTriggered","addEventListener","onVideoLoaded","startTime","setTimeout","onClick","onKeydown","e","ctrlKey","key","startsWith","preventDefault","target","tagName","step","shiftKey","Math","min","max","map","skipTo","toggleMuted","toggleFullscreen","play","pause","once","immediate","removeEventListener","focusSlider","container","closest","innerSlider","querySelector","focus","fullscreenExitShortcut","document","body","fullscreenElement","exitFullscreen","onFullscreenExit","requestFullscreen","onVideoClick","onDoubleClick","lastTap","onTouchend","now","performance","showControls","posterTransition","overlayProps","contained","persistent","contentClass","filterProps","hideVolume","hideFullscreen","density","controlsEventHandlers","onSkip","onClick:fullscreen","stopPropagation","controlslist","filter","join","loadingIndicator","_createVNode","color","height","overlayPlayIcon","_createElementVNode","_normalizeClass","class","_normalizeStyle","style","_mergeProps","onPlay","onPause","onWaiting","onPlaying","sources","header","controls","prepend","append","video"],"sources":["../../../src/labs/VVideo/VVideo.tsx"],"sourcesContent":["// Styles\nimport './VVideo.sass'\n\n// Components\nimport { makeVVideoControlsProps, VVideoControls } from './VVideoControls'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VSpacer } from '@/components/VGrid/VSpacer'\nimport { VImg } from '@/components/VImg/VImg'\nimport { VOverlay } from '@/components/VOverlay/VOverlay'\nimport { VProgressCircular } from '@/components/VProgressCircular/VProgressCircular'\nimport { VIconBtn } from '@/labs/VIconBtn/VIconBtn'\n\n// Composables\nimport { useDisplay } from '@/composables'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useElevation } from '@/composables/elevation'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { nextTick, onBeforeUnmount, onMounted, ref, shallowRef, toRef, watch } from 'vue'\nimport { createRange, genericComponent, omit, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component, PropType, TransitionProps } from 'vue'\nimport type { VVideoControlsActionsSlot, VVideoControlsVariant } from './VVideoControls'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type VVideoSlots = {\n header: never\n controls: VVideoControlsActionsSlot\n prepend: VVideoControlsActionsSlot\n append: VVideoControlsActionsSlot\n loader: LoaderSlotProps\n sources: never\n}\n\nconst allowedVariants = ['background', 'player'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport const makeVVideoProps = propsFactory({\n autoplay: Boolean,\n muted: Boolean,\n eager: Boolean,\n src: String,\n type: String, // e.g. video/mp4\n image: String,\n hideOverlay: Boolean,\n noFullscreen: Boolean,\n startAt: [Number, String],\n variant: {\n type: String as PropType<Variant>,\n default: 'player',\n validator: (v: any) => allowedVariants.includes(v),\n },\n controlsTransition: {\n type: [Boolean, String, Object] as PropType<null | string | boolean | TransitionProps & { component?: any }>,\n component: VFadeTransition as Component,\n },\n controlsVariant: {\n type: String as PropType<VVideoControlsVariant>,\n default: 'default',\n },\n controlsProps: {\n type: Object as PropType<VVideoControls['$props']>,\n },\n rounded: [Boolean, Number, String, Array] as PropType<boolean | number | string | (boolean | number | string)[]>,\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeThemeProps(),\n ...omit(makeVVideoControlsProps(), [\n 'fullscreen',\n 'variant',\n ]),\n}, 'VVideo')\n\nexport const VVideo = genericComponent<VVideoSlots>()({\n name: 'VVideo',\n\n inheritAttrs: false,\n\n props: makeVVideoProps(),\n\n emits: {\n loaded: (element: HTMLVideoElement) => true,\n 'update:playing': (val: boolean) => true,\n 'update:progress': (val: number) => true,\n 'update:volume': (val: number) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { ssr } = useDisplay()\n\n const roundedForContainer = toRef(() => Array.isArray(props.rounded) ? props.rounded[0] : props.rounded)\n const roundedForControls = toRef(() => Array.isArray(props.rounded) ? props.rounded.at(-1) : props.rounded ?? false)\n const { roundedClasses: roundedContainerClasses } = useRounded(roundedForContainer)\n const { roundedClasses: roundedControlsClasses } = useRounded(roundedForControls)\n\n const containerRef = ref<HTMLDivElement>()\n const videoRef = ref<HTMLVideoElement>()\n const controlsRef = ref<VVideoControls>()\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\n const fullscreen = shallowRef(false)\n const waiting = shallowRef(false)\n const triggered = shallowRef(false)\n const startAfterLoad = shallowRef(false)\n const state = shallowRef<'idle' | 'loading' | 'loaded' | 'error'>(props.autoplay ? 'loading' : 'idle')\n const duration = shallowRef(0)\n\n const fullscreenEnabled = toRef(() => !props.noFullscreen && !String(attrs.controlsList ?? '').includes('nofullscreen'))\n\n function onTimeupdate () {\n const { currentTime, duration } = videoRef.value!\n progress.value = duration === 0 ? 0 : 100 * currentTime / duration\n }\n\n async function onTriggered () {\n await nextTick()\n if (!videoRef.value) return\n videoRef.value.addEventListener('timeupdate', onTimeupdate)\n videoRef.value.volume = volume.value / 100\n if (state.value !== 'loaded') {\n state.value = 'loading'\n }\n }\n\n function onVideoLoaded () {\n state.value = 'loaded'\n duration.value = videoRef.value!.duration\n\n const startTime = Number(props.startAt ?? 0)\n if (startTime && startTime <= duration.value) {\n videoRef.value!.currentTime = startTime\n progress.value = duration.value === 0 ? 0 : 100 * startTime / duration.value\n }\n\n if (startAfterLoad.value) {\n setTimeout(() => playing.value = true, 100)\n }\n\n emit('loaded', videoRef.value!)\n }\n\n function onClick () {\n if (state.value !== 'loaded') {\n triggered.value = true\n startAfterLoad.value = !startAfterLoad.value\n }\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!videoRef.value || e.ctrlKey) return\n if (e.key.startsWith('Arrow')) {\n e.preventDefault()\n }\n switch (true) {\n case e.key === ' ': {\n if (!['A', 'BUTTON'].includes((e.target as Element)?.tagName)) {\n e.preventDefault()\n playing.value = !playing.value\n }\n break\n }\n case e.key === 'ArrowRight': {\n const step = 10 * (e.shiftKey ? 6 : 1)\n videoRef.value.currentTime = Math.min(videoRef.value.currentTime + step, duration.value)\n // TODO: show skip indicator\n break\n }\n case e.key === 'ArrowLeft': {\n const step = 10 * (e.shiftKey ? 6 : 1)\n videoRef.value.currentTime = Math.max(videoRef.value.currentTime - step, 0)\n // TODO: show skip indicator\n break\n }\n case createRange(10).map(String).includes(e.key): {\n skipTo(Number(e.key) * 10)\n break\n }\n case e.key === 'ArrowUp': {\n volume.value = Math.min(volume.value + 10, 100)\n // TODO: show volume change indicator\n break\n }\n case e.key === 'ArrowDown': {\n volume.value = Math.max(volume.value - 10, 0)\n // TODO: show volume change indicator\n break\n }\n case e.key === 'm': {\n controlsRef.value?.toggleMuted()\n break\n }\n case e.key === 'f': {\n toggleFullscreen()\n break\n }\n }\n }\n\n function skipTo (v: number) {\n if (!videoRef.value) return\n progress.value = v\n videoRef.value.currentTime = duration.value * v / 100\n }\n\n watch(() => props.src, v => {\n progress.value = 0\n })\n\n watch(playing, v => {\n if (!videoRef.value) return\n if (v) {\n videoRef.value.play()\n } else {\n videoRef.value.pause()\n }\n })\n\n watch(volume, v => {\n if (!videoRef.value) return\n videoRef.value.volume = v / 100\n })\n\n watch(triggered, () => onTriggered(), { once: true })\n\n watch(() => props.eager, v => v && (triggered.value = true), { immediate: true })\n\n onMounted(() => {\n if (props.autoplay && !ssr) {\n triggered.value = true\n startAfterLoad.value = true\n }\n })\n\n onBeforeUnmount(() => {\n videoRef.value?.removeEventListener('timeupdate', onTimeupdate)\n })\n\n function focusSlider () {\n const container = videoRef.value?.closest('.v-video') as HTMLElement\n const innerSlider = container?.querySelector('[role=\"slider\"]') as HTMLElement\n innerSlider?.focus()\n }\n\n function fullscreenExitShortcut (e: KeyboardEvent) {\n if (['ESC', 'f'].includes(e.key)) {\n toggleFullscreen()\n document.body.removeEventListener('keydown', fullscreenExitShortcut)\n }\n }\n\n async function toggleFullscreen () {\n if (!fullscreenEnabled.value || !document.fullscreenEnabled) {\n return\n }\n if (document.fullscreenElement) {\n document.exitFullscreen()\n onFullscreenExit()\n } else {\n await containerRef.value?.requestFullscreen()\n document.body.addEventListener('keydown', fullscreenExitShortcut)\n document.addEventListener('fullscreenchange', onFullscreenExit)\n fullscreen.value = true\n }\n }\n\n function onFullscreenExit () {\n // event fires with a delay after requestFullscreen(), ignore first run\n if (document.fullscreenElement) return\n\n focusSlider()\n fullscreen.value = false\n document.body.removeEventListener('keydown', fullscreenExitShortcut)\n document.removeEventListener('fullscreenchange', onFullscreenExit)\n }\n\n function onVideoClick (e: Event) {\n e.preventDefault()\n if (state.value === 'loaded') {\n playing.value = !playing.value\n focusSlider()\n }\n }\n\n function onDoubleClick (e: Event) {\n e.preventDefault()\n toggleFullscreen()\n }\n\n let lastTap = 0\n function onTouchend (e: Event) {\n const now = performance.now()\n if ((now - lastTap) < 500) {\n e.preventDefault()\n toggleFullscreen()\n } else {\n lastTap = now\n }\n }\n\n useRender(() => {\n const showControls = state.value === 'loaded' &&\n props.variant === 'player' &&\n props.controlsVariant !== 'hidden'\n\n const posterTransition = props.variant === 'background'\n ? 'poster-fade-out'\n : 'fade-transition'\n\n const overlayProps = {\n contained: true,\n persistent: true,\n contentClass: 'v-video__overlay-fill',\n }\n\n const controlsProps = {\n ...VVideoControls.filterProps(omit(props, ['variant', 'rounded', 'hideVolume'])),\n rounded: Array.isArray(props.rounded) ? props.rounded.at(-1) : props.rounded,\n fullscreen: fullscreen.value,\n hideVolume: props.hideVolume || props.muted,\n hideFullscreen: props.hideFullscreen || !fullscreenEnabled.value,\n density: props.density,\n variant: props.controlsVariant,\n playing: playing.value,\n progress: progress.value,\n duration: duration.value,\n volume: volume.value,\n ...props.controlsProps,\n }\n\n const controlsEventHandlers = {\n onSkip: (v: number) => skipTo(v),\n 'onClick:fullscreen': () => toggleFullscreen(),\n 'onUpdate:playing': (v: boolean) => playing.value = v,\n 'onUpdate:progress': (v: number) => skipTo(v),\n 'onUpdate:volume': (v: number) => volume.value = v,\n onClick: (e: Event) => e.stopPropagation(),\n }\n\n const controlslist = [\n attrs.controlslist,\n props.noFullscreen ? 'nofullscreen' : '',\n ].filter(Boolean).join(' ')\n\n const loadingIndicator = (\n <VProgressCircular\n indeterminate\n color={ props.color }\n width=\"3\"\n size={ Math.min(100, Number(props.height) / 2 || 50) }\n />\n )\n\n const overlayPlayIcon = (\n <VIconBtn\n icon=\"$play\"\n size=\"80\"\n color=\"#fff\"\n variant=\"outlined\"\n iconSize=\"50\"\n class=\"v-video__center-icon\"\n />\n )\n\n return (\n <div\n ref={ containerRef }\n class={[\n 'v-video',\n `v-video--variant-${props.variant}`,\n `v-video--${state.value}`,\n { 'v-video--playing': playing.value },\n themeClasses.value,\n densityClasses.value,\n roundedContainerClasses.value,\n props.class,\n ]}\n style={[\n props.variant === 'background' ? [] : pick(dimensionStyles.value, ['width', 'min-width', 'max-width']),\n props.style,\n ]}\n onKeydown={ onKeydown }\n onClick={ onClick }\n >\n <div\n class={[\n 'v-video__content',\n elevationClasses.value,\n ]}\n style={[\n props.variant === 'background' ? [] : dimensionStyles.value,\n ]}\n >\n { (props.eager || triggered.value) && (\n <video\n key=\"video-element\"\n class={[\n 'v-video__video',\n roundedContainerClasses.value,\n ]}\n { ...omit(attrs, ['controlslist', 'class', 'style']) }\n controlslist={ controlslist }\n autoplay={ props.autoplay }\n muted={ props.muted }\n playsinline\n ref={ videoRef }\n onLoadeddata={ onVideoLoaded }\n onPlay={ () => playing.value = true }\n onPause={ () => playing.value = false }\n onWaiting={ () => waiting.value = true }\n onPlaying={ () => waiting.value = false }\n onClick={ onVideoClick }\n onDblclick={ onDoubleClick }\n onTouchend={ onTouchend }\n >\n { slots.sources?.() ?? <source src={ props.src } type={ props.type } /> }\n </video>\n )}\n { props.variant === 'player' && !props.hideOverlay && (\n <VOverlay\n key=\"pause-overlay\"\n modelValue={ state.value === 'loaded' }\n opacity=\"0\"\n { ...overlayProps }\n >\n <VSpacer />\n <MaybeTransition name=\"fade-transition\">\n { !playing.value && overlayPlayIcon }\n </MaybeTransition>\n <VSpacer />\n </VOverlay>\n )}\n { props.variant === 'player' && !!slots.header\n ? (\n <div key=\"header\" class=\"v-video__header\">\n { slots.header() }\n </div>\n )\n : '' }\n <VOverlay\n key=\"poster-overlay\"\n modelValue={ state.value !== 'loaded' }\n transition={ posterTransition }\n { ...overlayProps }\n >\n <VImg cover src={ props.image }>\n <div\n class={[\n 'v-video__overlay-fill',\n ...roundedContainerClasses.value,\n ]}\n >\n { overlayPlayIcon }\n </div>\n </VImg>\n </VOverlay>\n <VOverlay\n key=\"loading-overlay\"\n modelValue={ state.value === 'loading' || waiting.value }\n opacity=\".1\"\n { ...overlayProps }\n >\n { loadingIndicator }\n </VOverlay>\n </div>\n <MaybeTransition key=\"actions\" transition={ props.controlsTransition }>\n { showControls && (\n <VVideoControls\n ref={ controlsRef }\n class={ roundedControlsClasses.value }\n { ...controlsProps }\n { ...controlsEventHandlers }\n >\n {{\n default: slots.controls,\n prepend: slots.prepend,\n append: slots.append,\n }}\n </VVideoControls>\n )}\n </MaybeTransition>\n </div>\n )\n })\n\n return {\n video: videoRef,\n ...forwardRefs({\n skipTo,\n toggleFullscreen,\n }, controlsRef),\n }\n },\n})\n\nexport type VVideo = InstanceType<typeof VVideo>\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"file":"VVideo.js","names":["makeVVideoControlsProps","VVideoControls","VFadeTransition","VSpacer","VImg","VOverlay","VProgressCircular","VIconBtn","useDisplay","makeComponentProps","makeDensityProps","useDensity","makeDimensionProps","useDimension","useElevation","forwardRefs","useProxiedModel","useRounded","makeThemeProps","provideTheme","MaybeTransition","nextTick","onBeforeUnmount","onMounted","ref","shallowRef","toRef","watch","createRange","genericComponent","omit","pick","propsFactory","useRender","allowedVariants","makeVVideoProps","autoplay","Boolean","muted","eager","src","String","type","image","hideOverlay","noFullscreen","startAt","Number","variant","default","validator","v","includes","controlsTransition","Object","component","controlsVariant","controlsProps","rounded","Array","VVideo","name","inheritAttrs","props","emits","loaded","element","val","setup","_ref","attrs","emit","slots","themeClasses","densityClasses","dimensionStyles","elevationClasses","ssr","roundedForContainer","isArray","roundedForControls","at","roundedClasses","roundedContainerClasses","roundedControlsClasses","containerRef","videoRef","controlsRef","playing","progress","volume","fullscreen","waiting","triggered","startAfterLoad","state","duration","fullscreenEnabled","controlsList","onTimeupdate","currentTime","value","onTriggered","addEventListener","onVideoLoaded","startTime","setTimeout","onClick","onKeydown","e","ctrlKey","key","startsWith","preventDefault","target","tagName","step","shiftKey","Math","min","max","map","skipTo","toggleMuted","toggleFullscreen","play","pause","once","immediate","removeEventListener","focusSlider","container","closest","innerSlider","querySelector","focus","fullscreenExitShortcut","document","body","fullscreenElement","exitFullscreen","onFullscreenExit","requestFullscreen","onVideoClick","onDoubleClick","lastTap","onTouchend","now","performance","showControls","posterTransition","overlayProps","contained","persistent","contentClass","filterProps","hideVolume","hideFullscreen","density","controlsEventHandlers","onSkip","onClick:fullscreen","stopPropagation","controlslist","filter","join","loadingIndicator","_createVNode","color","height","overlayPlayIcon","_createElementVNode","_normalizeClass","class","_normalizeStyle","style","_mergeProps","onPlay","onPause","onWaiting","onPlaying","sources","header","controls","prepend","append","video"],"sources":["../../../src/labs/VVideo/VVideo.tsx"],"sourcesContent":["// Styles\nimport './VVideo.sass'\n\n// Components\nimport { makeVVideoControlsProps, VVideoControls } from './VVideoControls'\nimport { VFadeTransition } from '@/components/transitions'\nimport { VSpacer } from '@/components/VGrid/VSpacer'\nimport { VImg } from '@/components/VImg/VImg'\nimport { VOverlay } from '@/components/VOverlay/VOverlay'\nimport { VProgressCircular } from '@/components/VProgressCircular/VProgressCircular'\nimport { VIconBtn } from '@/labs/VIconBtn/VIconBtn'\n\n// Composables\nimport { useDisplay } from '@/composables'\nimport { makeComponentProps } from '@/composables/component'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { useElevation } from '@/composables/elevation'\nimport { forwardRefs } from '@/composables/forwardRefs'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useRounded } from '@/composables/rounded'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\nimport { MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { nextTick, onBeforeUnmount, onMounted, ref, shallowRef, toRef, watch } from 'vue'\nimport { createRange, genericComponent, omit, pick, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { Component, PropType, TransitionProps } from 'vue'\nimport type { VVideoControlsActionsSlot, VVideoControlsVariant } from './VVideoControls'\nimport type { LoaderSlotProps } from '@/composables/loader'\n\nexport type VVideoSlots = {\n header: never\n controls: VVideoControlsActionsSlot\n prepend: VVideoControlsActionsSlot\n append: VVideoControlsActionsSlot\n loader: LoaderSlotProps\n sources: never\n}\n\nconst allowedVariants = ['background', 'player'] as const\ntype Variant = typeof allowedVariants[number]\n\nexport const makeVVideoProps = propsFactory({\n autoplay: Boolean,\n muted: Boolean,\n eager: Boolean,\n src: String,\n type: String, // e.g. video/mp4\n image: String,\n hideOverlay: Boolean,\n noFullscreen: Boolean,\n startAt: [Number, String],\n variant: {\n type: String as PropType<Variant>,\n default: 'player',\n validator: (v: any) => allowedVariants.includes(v),\n },\n controlsTransition: {\n type: [Boolean, String, Object] as PropType<null | string | boolean | TransitionProps & { component?: any }>,\n component: VFadeTransition as Component,\n },\n controlsVariant: {\n type: String as PropType<VVideoControlsVariant>,\n default: 'default',\n },\n controlsProps: {\n type: Object as PropType<VVideoControls['$props']>,\n },\n rounded: [Boolean, Number, String, Array] as PropType<boolean | number | string | (boolean | number | string)[]>,\n\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeThemeProps(),\n ...omit(makeVVideoControlsProps(), [\n 'fullscreen',\n 'variant',\n ]),\n}, 'VVideo')\n\nexport const VVideo = genericComponent<VVideoSlots>()({\n name: 'VVideo',\n\n inheritAttrs: false,\n\n props: makeVVideoProps(),\n\n emits: {\n loaded: (element: HTMLVideoElement) => true,\n 'update:playing': (val: boolean) => true,\n 'update:progress': (val: number) => true,\n 'update:volume': (val: number) => true,\n },\n\n setup (props, { attrs, emit, slots }) {\n const { themeClasses } = provideTheme(props)\n const { densityClasses } = useDensity(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { ssr } = useDisplay()\n\n const roundedForContainer = toRef(() => Array.isArray(props.rounded) ? props.rounded[0] : props.rounded)\n const roundedForControls = toRef(() => Array.isArray(props.rounded) ? props.rounded.at(-1) : props.rounded ?? false)\n const { roundedClasses: roundedContainerClasses } = useRounded(roundedForContainer)\n const { roundedClasses: roundedControlsClasses } = useRounded(roundedForControls)\n\n const containerRef = ref<HTMLDivElement>()\n const videoRef = ref<HTMLVideoElement>()\n const controlsRef = ref<VVideoControls>()\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\n const fullscreen = shallowRef(false)\n const waiting = shallowRef(false)\n const triggered = shallowRef(false)\n const startAfterLoad = shallowRef(false)\n const state = shallowRef<'idle' | 'loading' | 'loaded' | 'error'>(props.autoplay ? 'loading' : 'idle')\n const duration = shallowRef(0)\n\n const fullscreenEnabled = toRef(() => !props.noFullscreen && !String(attrs.controlsList ?? '').includes('nofullscreen'))\n\n function onTimeupdate () {\n const { currentTime, duration } = videoRef.value!\n progress.value = duration === 0 ? 0 : 100 * currentTime / duration\n }\n\n async function onTriggered () {\n await nextTick()\n if (!videoRef.value) return\n videoRef.value.addEventListener('timeupdate', onTimeupdate)\n videoRef.value.volume = volume.value / 100\n if (state.value !== 'loaded') {\n state.value = 'loading'\n }\n }\n\n function onVideoLoaded () {\n state.value = 'loaded'\n duration.value = videoRef.value!.duration\n\n const startTime = Number(props.startAt ?? 0)\n if (startTime && startTime <= duration.value) {\n videoRef.value!.currentTime = startTime\n progress.value = duration.value === 0 ? 0 : 100 * startTime / duration.value\n }\n\n if (startAfterLoad.value) {\n setTimeout(() => playing.value = true, 100)\n }\n\n emit('loaded', videoRef.value!)\n }\n\n function onClick () {\n if (state.value !== 'loaded') {\n triggered.value = true\n startAfterLoad.value = !startAfterLoad.value\n }\n }\n\n function onKeydown (e: KeyboardEvent) {\n if (!videoRef.value || e.ctrlKey) return\n if (e.key.startsWith('Arrow')) {\n e.preventDefault()\n }\n switch (true) {\n case e.key === ' ': {\n if (!['A', 'BUTTON'].includes((e.target as Element)?.tagName)) {\n e.preventDefault()\n playing.value = !playing.value\n }\n break\n }\n case e.key === 'ArrowRight': {\n const step = 10 * (e.shiftKey ? 6 : 1)\n videoRef.value.currentTime = Math.min(videoRef.value.currentTime + step, duration.value)\n // TODO: show skip indicator\n break\n }\n case e.key === 'ArrowLeft': {\n const step = 10 * (e.shiftKey ? 6 : 1)\n videoRef.value.currentTime = Math.max(videoRef.value.currentTime - step, 0)\n // TODO: show skip indicator\n break\n }\n case createRange(10).map(String).includes(e.key): {\n skipTo(Number(e.key) * 10)\n break\n }\n case e.key === 'ArrowUp': {\n volume.value = Math.min(volume.value + 10, 100)\n // TODO: show volume change indicator\n break\n }\n case e.key === 'ArrowDown': {\n volume.value = Math.max(volume.value - 10, 0)\n // TODO: show volume change indicator\n break\n }\n case e.key === 'm': {\n controlsRef.value?.toggleMuted()\n break\n }\n case e.key === 'f': {\n toggleFullscreen()\n break\n }\n }\n }\n\n function skipTo (v: number) {\n if (!videoRef.value) return\n progress.value = v\n videoRef.value.currentTime = duration.value * v / 100\n }\n\n watch(() => props.src, v => {\n progress.value = 0\n })\n\n watch(playing, v => {\n if (!videoRef.value) return\n if (v) {\n videoRef.value.play()\n } else {\n videoRef.value.pause()\n }\n })\n\n watch(volume, v => {\n if (!videoRef.value) return\n videoRef.value.volume = v / 100\n })\n\n watch(triggered, () => onTriggered(), { once: true })\n\n watch(() => props.eager, v => v && (triggered.value = true), { immediate: true })\n\n onMounted(() => {\n if (props.autoplay && !ssr) {\n triggered.value = true\n startAfterLoad.value = true\n }\n })\n\n onBeforeUnmount(() => {\n videoRef.value?.removeEventListener('timeupdate', onTimeupdate)\n })\n\n function focusSlider () {\n const container = videoRef.value?.closest('.v-video') as HTMLElement\n const innerSlider = container?.querySelector('[role=\"slider\"]') as HTMLElement\n innerSlider?.focus()\n }\n\n function fullscreenExitShortcut (e: KeyboardEvent) {\n if (['ESC', 'f'].includes(e.key)) {\n toggleFullscreen()\n document.body.removeEventListener('keydown', fullscreenExitShortcut)\n }\n }\n\n async function toggleFullscreen () {\n if (!fullscreenEnabled.value || !document.fullscreenEnabled) {\n return\n }\n if (document.fullscreenElement) {\n document.exitFullscreen()\n onFullscreenExit()\n } else {\n await containerRef.value?.requestFullscreen()\n document.body.addEventListener('keydown', fullscreenExitShortcut)\n document.addEventListener('fullscreenchange', onFullscreenExit)\n fullscreen.value = true\n }\n }\n\n function onFullscreenExit () {\n // event fires with a delay after requestFullscreen(), ignore first run\n if (document.fullscreenElement) return\n\n focusSlider()\n fullscreen.value = false\n document.body.removeEventListener('keydown', fullscreenExitShortcut)\n document.removeEventListener('fullscreenchange', onFullscreenExit)\n }\n\n function onVideoClick (e: Event) {\n e.preventDefault()\n if (state.value === 'loaded') {\n playing.value = !playing.value\n focusSlider()\n }\n }\n\n function onDoubleClick (e: Event) {\n e.preventDefault()\n toggleFullscreen()\n }\n\n let lastTap = 0\n function onTouchend (e: Event) {\n const now = performance.now()\n if ((now - lastTap) < 500) {\n e.preventDefault()\n toggleFullscreen()\n } else {\n lastTap = now\n }\n }\n\n useRender(() => {\n const showControls = state.value === 'loaded' &&\n props.variant === 'player' &&\n props.controlsVariant !== 'hidden'\n\n const posterTransition = props.variant === 'background'\n ? 'poster-fade-out'\n : 'fade-transition'\n\n const overlayProps = {\n contained: true,\n persistent: true,\n contentClass: 'v-video__overlay-fill',\n }\n\n const controlsProps = {\n ...VVideoControls.filterProps(omit(props, ['variant', 'rounded', 'hideVolume'])),\n rounded: Array.isArray(props.rounded) ? props.rounded.at(-1) : props.rounded,\n fullscreen: fullscreen.value,\n hideVolume: props.hideVolume || props.muted,\n hideFullscreen: props.hideFullscreen || !fullscreenEnabled.value,\n density: props.density,\n variant: props.controlsVariant,\n playing: playing.value,\n progress: progress.value,\n duration: duration.value,\n volume: volume.value,\n ...props.controlsProps,\n }\n\n const controlsEventHandlers = {\n onSkip: (v: number) => skipTo(v),\n 'onClick:fullscreen': () => toggleFullscreen(),\n 'onUpdate:playing': (v: boolean) => playing.value = v,\n 'onUpdate:progress': (v: number) => skipTo(v),\n 'onUpdate:volume': (v: number) => volume.value = v,\n onClick: (e: Event) => e.stopPropagation(),\n }\n\n const controlslist = [\n attrs.controlslist,\n props.noFullscreen ? 'nofullscreen' : '',\n ].filter(Boolean).join(' ')\n\n const loadingIndicator = (\n <VProgressCircular\n indeterminate\n color={ props.color }\n width=\"3\"\n size={ Math.min(100, Number(props.height) / 2 || 50) }\n />\n )\n\n const overlayPlayIcon = (\n <VIconBtn\n icon=\"$play\"\n size=\"80\"\n color=\"#fff\"\n variant=\"outlined\"\n iconSize=\"50\"\n class=\"v-video__center-icon\"\n />\n )\n\n return (\n <div\n ref={ containerRef }\n class={[\n 'v-video',\n `v-video--variant-${props.variant}`,\n `v-video--${state.value}`,\n { 'v-video--playing': playing.value },\n themeClasses.value,\n densityClasses.value,\n roundedContainerClasses.value,\n props.class,\n ]}\n style={[\n props.variant === 'background' ? [] : pick(dimensionStyles.value, ['width', 'min-width', 'max-width']),\n props.style,\n ]}\n onKeydown={ onKeydown }\n onClick={ onClick }\n >\n <div\n class={[\n 'v-video__content',\n elevationClasses.value,\n ]}\n style={[\n props.variant === 'background' ? [] : dimensionStyles.value,\n ]}\n >\n { (props.eager || triggered.value) && (\n <video\n key=\"video-element\"\n class={[\n 'v-video__video',\n roundedContainerClasses.value,\n ]}\n { ...omit(attrs, ['controlslist', 'class', 'style']) }\n controlslist={ controlslist }\n autoplay={ props.autoplay }\n muted={ props.muted }\n playsinline\n ref={ videoRef }\n onLoadeddata={ onVideoLoaded }\n onPlay={ () => playing.value = true }\n onPause={ () => playing.value = false }\n onWaiting={ () => waiting.value = true }\n onPlaying={ () => waiting.value = false }\n onClick={ onVideoClick }\n onDblclick={ onDoubleClick }\n onTouchend={ onTouchend }\n >\n { slots.sources?.() ?? <source src={ props.src } type={ props.type } /> }\n </video>\n )}\n { props.variant === 'player' && !props.hideOverlay && (\n <VOverlay\n key=\"pause-overlay\"\n modelValue={ state.value === 'loaded' }\n opacity=\"0\"\n { ...overlayProps }\n >\n <VSpacer />\n <MaybeTransition name=\"fade-transition\">\n { !playing.value && overlayPlayIcon }\n </MaybeTransition>\n <VSpacer />\n </VOverlay>\n )}\n { props.variant === 'player' && !!slots.header\n ? (\n <div key=\"header\" class=\"v-video__header\">\n { slots.header() }\n </div>\n )\n : '' }\n <VOverlay\n key=\"poster-overlay\"\n modelValue={ state.value !== 'loaded' }\n transition={ posterTransition }\n { ...overlayProps }\n >\n <VImg cover src={ props.image }>\n <div\n class={[\n 'v-video__overlay-fill',\n ...roundedContainerClasses.value,\n ]}\n >\n { props.variant === 'player' && overlayPlayIcon }\n </div>\n </VImg>\n </VOverlay>\n { props.variant === 'player' && (\n <VOverlay\n key=\"loading-overlay\"\n modelValue={ state.value === 'loading' || waiting.value }\n opacity=\".1\"\n { ...overlayProps }\n >\n { loadingIndicator }\n </VOverlay>\n )}\n </div>\n <MaybeTransition key=\"actions\" transition={ props.controlsTransition }>\n { showControls && (\n <VVideoControls\n ref={ controlsRef }\n class={ roundedControlsClasses.value }\n { ...controlsProps }\n { ...controlsEventHandlers }\n >\n {{\n default: slots.controls,\n prepend: slots.prepend,\n append: slots.append,\n }}\n </VVideoControls>\n )}\n </MaybeTransition>\n </div>\n )\n })\n\n return {\n video: videoRef,\n ...forwardRefs({\n skipTo,\n toggleFullscreen,\n }, controlsRef),\n }\n },\n})\n\nexport type VVideo = InstanceType<typeof VVideo>\n"],"mappings":"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","ignoreList":[]}
|
@@ -1,4 +1,4 @@
|
|
1
|
-
import { Fragment as _Fragment, createVNode as _createVNode, withDirectives as _withDirectives, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, mergeProps as _mergeProps
|
1
|
+
import { Fragment as _Fragment, createVNode as _createVNode, withDirectives as _withDirectives, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, mergeProps as _mergeProps } from "vue";
|
2
2
|
/* eslint-disable complexity */
|
3
3
|
// Components
|
4
4
|
import { VVideoVolume } from "./VVideoVolume.js";
|
@@ -13,7 +13,7 @@ import { makeElevationProps, useElevation } from "../../composables/elevation.js
|
|
13
13
|
import { useProxiedModel } from "../../composables/proxiedModel.js";
|
14
14
|
import { makeThemeProps, provideTheme } from "../../composables/theme.js"; // Directives
|
15
15
|
import vTooltip from "../../directives/tooltip/index.js"; // Utilities
|
16
|
-
import { computed, shallowRef } from 'vue';
|
16
|
+
import { computed, shallowRef, toRef } from 'vue';
|
17
17
|
import { formatTime, genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
|
18
18
|
const allowedVariants = ['hidden', 'default', 'tube', 'mini'];
|
19
19
|
export const makeVVideoControlsProps = propsFactory({
|
@@ -70,7 +70,8 @@ export const VVideoControls = genericComponent()({
|
|
70
70
|
t
|
71
71
|
} = useLocale();
|
72
72
|
const {
|
73
|
-
themeClasses
|
73
|
+
themeClasses,
|
74
|
+
current: currentTheme
|
74
75
|
} = provideTheme(props);
|
75
76
|
const {
|
76
77
|
densityClasses
|
@@ -85,6 +86,13 @@ export const VVideoControls = genericComponent()({
|
|
85
86
|
const fallbackBackground = props.detached ? 'surface' : undefined;
|
86
87
|
return props.backgroundColor ?? fallbackBackground;
|
87
88
|
});
|
89
|
+
const trackColor = toRef(() => {
|
90
|
+
if (props.trackColor) {
|
91
|
+
return props.trackColor;
|
92
|
+
}
|
93
|
+
const fallback = currentTheme.value.dark || !props.pills ? undefined : 'surface';
|
94
|
+
return (props.pills ? props.backgroundColor : props.color) ?? fallback;
|
95
|
+
});
|
88
96
|
const playing = useProxiedModel(props, 'playing');
|
89
97
|
const progress = useProxiedModel(props, 'progress');
|
90
98
|
const volume = useProxiedModel(props, 'volume', 0, v => Number(v ?? 0));
|
@@ -145,7 +153,8 @@ export const VVideoControls = genericComponent()({
|
|
145
153
|
};
|
146
154
|
const regularBtnSize = innerDefaults.VIconBtn.size;
|
147
155
|
const playBtnSize = props.pills ? regularBtnSize + 8 : regularBtnSize;
|
148
|
-
const pillClasses = ['v-video-control__pill', props.pills ? elevationClasses.value : []];
|
156
|
+
const pillClasses = ['v-video-control__pill', props.pills ? elevationClasses.value : [], props.pills ? backgroundColorClasses.value : []];
|
157
|
+
const pillStyles = props.pills ? backgroundColorStyles.value : [];
|
149
158
|
const slotProps = {
|
150
159
|
play,
|
151
160
|
pause,
|
@@ -168,30 +177,34 @@ export const VVideoControls = genericComponent()({
|
|
168
177
|
'v-video-controls--floating': props.floating
|
169
178
|
}, {
|
170
179
|
'v-video-controls--split-time': props.splitTime
|
171
|
-
}, backgroundColorClasses.value, props.detached && !props.pills ? elevationClasses.value : [], densityClasses.value, themeClasses.value]),
|
172
|
-
"style": _normalizeStyle([backgroundColorStyles.value, {
|
180
|
+
}, !props.pills ? backgroundColorClasses.value : [], props.detached && !props.pills ? elevationClasses.value : [], densityClasses.value, themeClasses.value]),
|
181
|
+
"style": _normalizeStyle([!props.pills ? backgroundColorStyles.value : [], {
|
173
182
|
'--v-video-controls-pill-height': `${regularBtnSize}px`
|
174
183
|
}])
|
175
184
|
}, [_createVNode(VDefaultsProvider, {
|
176
185
|
"defaults": innerDefaults
|
177
186
|
}, {
|
178
187
|
default: () => [slots.default?.(slotProps) ?? _createElementVNode(_Fragment, null, [props.variant !== 'mini' && _createElementVNode(_Fragment, null, [!props.hidePlay && _createElementVNode("div", {
|
179
|
-
"class": _normalizeClass([pillClasses, 'v-video__action-play'])
|
188
|
+
"class": _normalizeClass([pillClasses, 'v-video__action-play']),
|
189
|
+
"style": _normalizeStyle(pillStyles)
|
180
190
|
}, [_withDirectives(_createVNode(VIconBtn, {
|
181
191
|
"icon": playing.value ? '$pause' : '$play',
|
182
192
|
"size": playBtnSize,
|
183
193
|
"aria-label": labels.value.playAction,
|
184
194
|
"onClick": () => playing.value = !playing.value
|
185
195
|
}, null), [[vTooltip, labels.value.playAction, 'top']])]), slots.prepend && _createElementVNode("div", {
|
186
|
-
"class": _normalizeClass(pillClasses)
|
196
|
+
"class": _normalizeClass(pillClasses),
|
197
|
+
"style": _normalizeStyle(pillStyles)
|
187
198
|
}, [slots.prepend(slotProps)]), props.splitTime ? _createElementVNode("span", {
|
188
|
-
"class": _normalizeClass([pillClasses, 'v-video__time'])
|
199
|
+
"class": _normalizeClass([pillClasses, 'v-video__time']),
|
200
|
+
"style": _normalizeStyle(pillStyles)
|
189
201
|
}, [currentTime.value.elapsed]) : props.variant !== 'default' ? _createElementVNode("span", {
|
190
|
-
"class": _normalizeClass([pillClasses, 'v-video__time'])
|
202
|
+
"class": _normalizeClass([pillClasses, 'v-video__time']),
|
203
|
+
"style": _normalizeStyle(pillStyles)
|
191
204
|
}, [currentTime.value.elapsed, _createTextVNode(" / "), currentTime.value.total]) : '', _createVNode(VSlider, {
|
192
205
|
"modelValue": props.progress,
|
193
206
|
"noKeyboard": true,
|
194
|
-
"color":
|
207
|
+
"color": trackColor.value ?? 'surface-variant',
|
195
208
|
"trackColor": props.variant === 'tube' ? 'white' : undefined,
|
196
209
|
"class": "v-video__track",
|
197
210
|
"thumbLabel": "always",
|
@@ -200,18 +213,22 @@ export const VVideoControls = genericComponent()({
|
|
200
213
|
}, {
|
201
214
|
'thumb-label': () => currentTime.value.elapsed
|
202
215
|
}), props.variant === 'tube' && _createVNode(VSpacer, null, null), props.splitTime ? _createElementVNode("span", {
|
203
|
-
"class": _normalizeClass([pillClasses, 'v-video__time'])
|
216
|
+
"class": _normalizeClass([pillClasses, 'v-video__time']),
|
217
|
+
"style": _normalizeStyle(pillStyles)
|
204
218
|
}, [currentTime.value.remaining]) : '']), props.variant === 'mini' && _createElementVNode(_Fragment, null, [_createVNode(VSpacer, null, null), slots.prepend && _createElementVNode("div", {
|
205
|
-
"class": _normalizeClass(pillClasses)
|
219
|
+
"class": _normalizeClass(pillClasses),
|
220
|
+
"style": _normalizeStyle(pillStyles)
|
206
221
|
}, [slots.prepend(slotProps)]), !props.hidePlay && _createElementVNode("div", {
|
207
|
-
"class": _normalizeClass([pillClasses, 'v-video__action-play'])
|
222
|
+
"class": _normalizeClass([pillClasses, 'v-video__action-play']),
|
223
|
+
"style": _normalizeStyle(pillStyles)
|
208
224
|
}, [_withDirectives(_createVNode(VIconBtn, {
|
209
225
|
"icon": playing.value ? '$pause' : '$play',
|
210
226
|
"size": playBtnSize,
|
211
227
|
"aria-label": labels.value.playAction,
|
212
228
|
"onClick": () => playing.value = !playing.value
|
213
229
|
}, null), [[vTooltip, labels.value.playAction, 'top']])])]), (!props.hideVolume || !props.hideFullscreen || slots.append) && _createElementVNode("div", {
|
214
|
-
"class": _normalizeClass(pillClasses)
|
230
|
+
"class": _normalizeClass(pillClasses),
|
231
|
+
"style": _normalizeStyle(pillStyles)
|
215
232
|
}, [!props.hideVolume && _createVNode(VVideoVolume, _mergeProps({
|
216
233
|
"key": "volume-control",
|
217
234
|
"sliderProps": {
|
@@ -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":[]}
|
package/lib/locale/af.d.ts
CHANGED
@@ -46,6 +46,13 @@ declare const _default: {
|
|
46
46
|
input: {
|
47
47
|
placeholder: string;
|
48
48
|
};
|
49
|
+
ariaLabel: {
|
50
|
+
previousMonth: string;
|
51
|
+
nextMonth: string;
|
52
|
+
selectYear: string;
|
53
|
+
selectDate: string;
|
54
|
+
currentDate: string;
|
55
|
+
};
|
49
56
|
};
|
50
57
|
noDataText: string;
|
51
58
|
carousel: {
|
package/lib/locale/af.js
CHANGED
@@ -45,6 +45,13 @@ export default {
|
|
45
45
|
header: 'Voer datum in',
|
46
46
|
input: {
|
47
47
|
placeholder: 'Voer datum in'
|
48
|
+
},
|
49
|
+
ariaLabel: {
|
50
|
+
previousMonth: 'Vorige maand',
|
51
|
+
nextMonth: 'Volgende maand',
|
52
|
+
selectYear: 'Kies jaar',
|
53
|
+
selectDate: '{0}',
|
54
|
+
currentDate: 'Vandag, {0}'
|
48
55
|
}
|
49
56
|
},
|
50
57
|
noDataText: 'Geen data is beskikbaar nie',
|
package/lib/locale/af.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"af.js","names":["badge","open","close","dismiss","confirmEdit","ok","cancel","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","dateRangeInput","divider","datePicker","itemsSelected","range","title","header","input","placeholder","noDataText","carousel","prev","next","delimiter","calendar","moreEvents","today","clear","prependAction","appendAction","otp","fileInput","counter","counterSize","fileUpload","browse","timePicker","am","pm","pagination","root","previous","page","currentPage","first","last","stepper","rating","item","loading","infiniteScroll","loadMore","empty","rules","required","email","number","integer","capital","maxLength","minLength","strictLength","exclude","notEmpty","pattern","hotkey","then","ctrl","command","shift","alt","option","enter","escape","upArrow","downArrow","leftArrow","rightArrow","backspace","space","plus","shortcut","video","play","pause","seek","volume","showVolume","mute","unmute","enterFullscreen","exitFullscreen"],"sources":["../../src/locale/af.ts"],"sourcesContent":["export default {\n badge: 'Kenteken',\n open: 'Maak oop',\n close: 'Maak toe',\n dismiss: 'Verwerp',\n confirmEdit: {\n ok: 'OK',\n cancel: 'Kanselleer',\n },\n dataIterator: {\n noResultsText: 'Geen ooreenstemmende resultate is gevind nie',\n loadingText: 'Laai item...',\n },\n dataTable: {\n itemsPerPageText: 'Rye per bladsy:',\n ariaLabel: {\n sortDescending: 'Gesorteer aflopend.',\n sortAscending: 'Gesorteer oplopend.',\n sortNone: 'Nie gesorteer nie.',\n activateNone: 'Aktiveer om sortering te verwyder.',\n activateDescending: 'Aktiveer om aflopend te sorteer.',\n activateAscending: 'Aktiveer om oplopend te sorteer.',\n },\n sortBy: 'Sorteer volgens',\n },\n dataFooter: {\n itemsPerPageText: 'Aantal per bladsy:',\n itemsPerPageAll: 'Alles',\n nextPage: 'Volgende bladsy',\n prevPage: 'Vorige bladsy',\n firstPage: 'Eerste bladsy',\n lastPage: 'Laaste bladsy',\n pageText: '{0}-{1} van {2}',\n },\n dateRangeInput: {\n divider: 'tot',\n },\n datePicker: {\n itemsSelected: '{0} gekies',\n range: {\n title: 'Kies datums',\n header: 'Voer datums in',\n },\n title: 'Kies datum',\n header: 'Voer datum in',\n input: {\n placeholder: 'Voer datum in',\n },\n },\n noDataText: 'Geen data is beskikbaar nie',\n carousel: {\n prev: 'Vorige visuele',\n next: 'Volgende visuele',\n ariaLabel: {\n delimiter: 'Carousel skyfie {0} van {1}',\n },\n },\n calendar: {\n moreEvents: '{0} meer',\n today: 'Vandag',\n },\n input: {\n clear: 'Maak skoon {0}',\n prependAction: '{0} voorafgevoegde aksie',\n appendAction: '{0} bygevoegde aksie',\n otp: 'Voer asseblief OTP-karakter {0} in',\n },\n fileInput: {\n counter: '{0} lêers',\n counterSize: '{0} lêers ({1} in totaal)',\n },\n fileUpload: {\n title: 'Sleep en los lêers hier',\n divider: 'of',\n browse: 'Blaai deur lêers',\n },\n timePicker: {\n am: 'VM',\n pm: 'NM',\n title: 'Kies tyd',\n },\n pagination: {\n ariaLabel: {\n root: 'Paginasie-navigasie',\n next: 'Volgende bladsy',\n previous: 'Vorige bladsy',\n page: 'Gaan na bladsy {0}',\n currentPage: 'Huidige bladsy, Bladsy {0}',\n first: 'Eerste bladsy',\n last: 'Laaste bladsy',\n },\n },\n stepper: {\n next: 'Volgende',\n prev: 'Vorige',\n },\n rating: {\n ariaLabel: {\n item: 'Gradering {0} van {1}',\n },\n },\n loading: 'Laai...',\n infiniteScroll: {\n loadMore: 'Laai meer',\n empty: 'Geen meer nie',\n },\n rules: {\n required: 'Hierdie veld is verpligtend',\n email: 'Voer asseblief \\'n geldige e-posadres in',\n number: 'Hierdie veld kan slegs syfers bevat',\n integer: 'Hierdie veld kan slegs heelgetalle bevat',\n capital: 'Hierdie veld kan slegs hoofletters bevat',\n maxLength: 'Jy moet \\'n maksimum van {0} karakters invoer',\n minLength: 'Jy moet \\'n minimum van {0} karakters invoer',\n strictLength: 'Die lengte van die ingevoerde veld is ongeldig',\n exclude: 'Die {0} karakter is nie toegelaat nie',\n notEmpty: 'Kies asseblief ten minste een waarde',\n pattern: 'Ongeldige formaat',\n },\n hotkey: {\n then: 'dan',\n ctrl: 'Ctrl',\n command: 'Command',\n shift: 'Shift',\n alt: 'Alt',\n option: 'Option',\n enter: 'Enter',\n escape: 'Escape',\n upArrow: 'Up Arrow',\n downArrow: 'Down Arrow',\n leftArrow: 'Left Arrow',\n rightArrow: 'Right Arrow',\n backspace: 'Backspace',\n space: 'Spasie',\n plus: 'plus',\n shortcut: 'Sleutelbordkortpad: {0}',\n },\n video: {\n play: 'Speel',\n pause: 'Pouseer',\n seek: 'Soek',\n volume: 'Volume',\n showVolume: 'Wys volumebeheer',\n mute: 'Demp',\n unmute: 'Ontdemp',\n enterFullscreen: 'Volskerm',\n exitFullscreen: 'Verlaat volskerm',\n },\n}\n"],"mappings":"AAAA,eAAe;EACbA,KAAK,EAAE,UAAU;EACjBC,IAAI,EAAE,UAAU;EAChBC,KAAK,EAAE,UAAU;EACjBC,OAAO,EAAE,SAAS;EAClBC,WAAW,EAAE;IACXC,EAAE,EAAE,IAAI;IACRC,MAAM,EAAE;EACV,CAAC;EACDC,YAAY,EAAE;IACZC,aAAa,EAAE,8CAA8C;IAC7DC,WAAW,EAAE;EACf,CAAC;EACDC,SAAS,EAAE;IACTC,gBAAgB,EAAE,iBAAiB;IACnCC,SAAS,EAAE;MACTC,cAAc,EAAE,qBAAqB;MACrCC,aAAa,EAAE,qBAAqB;MACpCC,QAAQ,EAAE,oBAAoB;MAC9BC,YAAY,EAAE,oCAAoC;MAClDC,kBAAkB,EAAE,kCAAkC;MACtDC,iBAAiB,EAAE;IACrB,CAAC;IACDC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVT,gBAAgB,EAAE,oBAAoB;IACtCU,eAAe,EAAE,OAAO;IACxBC,QAAQ,EAAE,iBAAiB;IAC3BC,QAAQ,EAAE,eAAe;IACzBC,SAAS,EAAE,eAAe;IAC1BC,QAAQ,EAAE,eAAe;IACzBC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVC,aAAa,EAAE,YAAY;IAC3BC,KAAK,EAAE;MACLC,KAAK,EAAE,aAAa;MACpBC,MAAM,EAAE;IACV,CAAC;IACDD,KAAK,EAAE,YAAY;IACnBC,MAAM,EAAE,eAAe;IACvBC,KAAK,EAAE;MACLC,WAAW,EAAE;IACf;EACF,CAAC;EACDC,UAAU,EAAE,6BAA6B;EACzCC,QAAQ,EAAE;IACRC,IAAI,EAAE,gBAAgB;IACtBC,IAAI,EAAE,kBAAkB;
|
1
|
+
{"version":3,"file":"af.js","names":["badge","open","close","dismiss","confirmEdit","ok","cancel","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","dateRangeInput","divider","datePicker","itemsSelected","range","title","header","input","placeholder","previousMonth","nextMonth","selectYear","selectDate","currentDate","noDataText","carousel","prev","next","delimiter","calendar","moreEvents","today","clear","prependAction","appendAction","otp","fileInput","counter","counterSize","fileUpload","browse","timePicker","am","pm","pagination","root","previous","page","currentPage","first","last","stepper","rating","item","loading","infiniteScroll","loadMore","empty","rules","required","email","number","integer","capital","maxLength","minLength","strictLength","exclude","notEmpty","pattern","hotkey","then","ctrl","command","shift","alt","option","enter","escape","upArrow","downArrow","leftArrow","rightArrow","backspace","space","plus","shortcut","video","play","pause","seek","volume","showVolume","mute","unmute","enterFullscreen","exitFullscreen"],"sources":["../../src/locale/af.ts"],"sourcesContent":["export default {\n badge: 'Kenteken',\n open: 'Maak oop',\n close: 'Maak toe',\n dismiss: 'Verwerp',\n confirmEdit: {\n ok: 'OK',\n cancel: 'Kanselleer',\n },\n dataIterator: {\n noResultsText: 'Geen ooreenstemmende resultate is gevind nie',\n loadingText: 'Laai item...',\n },\n dataTable: {\n itemsPerPageText: 'Rye per bladsy:',\n ariaLabel: {\n sortDescending: 'Gesorteer aflopend.',\n sortAscending: 'Gesorteer oplopend.',\n sortNone: 'Nie gesorteer nie.',\n activateNone: 'Aktiveer om sortering te verwyder.',\n activateDescending: 'Aktiveer om aflopend te sorteer.',\n activateAscending: 'Aktiveer om oplopend te sorteer.',\n },\n sortBy: 'Sorteer volgens',\n },\n dataFooter: {\n itemsPerPageText: 'Aantal per bladsy:',\n itemsPerPageAll: 'Alles',\n nextPage: 'Volgende bladsy',\n prevPage: 'Vorige bladsy',\n firstPage: 'Eerste bladsy',\n lastPage: 'Laaste bladsy',\n pageText: '{0}-{1} van {2}',\n },\n dateRangeInput: {\n divider: 'tot',\n },\n datePicker: {\n itemsSelected: '{0} gekies',\n range: {\n title: 'Kies datums',\n header: 'Voer datums in',\n },\n title: 'Kies datum',\n header: 'Voer datum in',\n input: {\n placeholder: 'Voer datum in',\n },\n ariaLabel: {\n previousMonth: 'Vorige maand',\n nextMonth: 'Volgende maand',\n selectYear: 'Kies jaar',\n selectDate: '{0}',\n currentDate: 'Vandag, {0}',\n },\n },\n noDataText: 'Geen data is beskikbaar nie',\n carousel: {\n prev: 'Vorige visuele',\n next: 'Volgende visuele',\n ariaLabel: {\n delimiter: 'Carousel skyfie {0} van {1}',\n },\n },\n calendar: {\n moreEvents: '{0} meer',\n today: 'Vandag',\n },\n input: {\n clear: 'Maak skoon {0}',\n prependAction: '{0} voorafgevoegde aksie',\n appendAction: '{0} bygevoegde aksie',\n otp: 'Voer asseblief OTP-karakter {0} in',\n },\n fileInput: {\n counter: '{0} lêers',\n counterSize: '{0} lêers ({1} in totaal)',\n },\n fileUpload: {\n title: 'Sleep en los lêers hier',\n divider: 'of',\n browse: 'Blaai deur lêers',\n },\n timePicker: {\n am: 'VM',\n pm: 'NM',\n title: 'Kies tyd',\n },\n pagination: {\n ariaLabel: {\n root: 'Paginasie-navigasie',\n next: 'Volgende bladsy',\n previous: 'Vorige bladsy',\n page: 'Gaan na bladsy {0}',\n currentPage: 'Huidige bladsy, Bladsy {0}',\n first: 'Eerste bladsy',\n last: 'Laaste bladsy',\n },\n },\n stepper: {\n next: 'Volgende',\n prev: 'Vorige',\n },\n rating: {\n ariaLabel: {\n item: 'Gradering {0} van {1}',\n },\n },\n loading: 'Laai...',\n infiniteScroll: {\n loadMore: 'Laai meer',\n empty: 'Geen meer nie',\n },\n rules: {\n required: 'Hierdie veld is verpligtend',\n email: 'Voer asseblief \\'n geldige e-posadres in',\n number: 'Hierdie veld kan slegs syfers bevat',\n integer: 'Hierdie veld kan slegs heelgetalle bevat',\n capital: 'Hierdie veld kan slegs hoofletters bevat',\n maxLength: 'Jy moet \\'n maksimum van {0} karakters invoer',\n minLength: 'Jy moet \\'n minimum van {0} karakters invoer',\n strictLength: 'Die lengte van die ingevoerde veld is ongeldig',\n exclude: 'Die {0} karakter is nie toegelaat nie',\n notEmpty: 'Kies asseblief ten minste een waarde',\n pattern: 'Ongeldige formaat',\n },\n hotkey: {\n then: 'dan',\n ctrl: 'Ctrl',\n command: 'Command',\n shift: 'Shift',\n alt: 'Alt',\n option: 'Option',\n enter: 'Enter',\n escape: 'Escape',\n upArrow: 'Up Arrow',\n downArrow: 'Down Arrow',\n leftArrow: 'Left Arrow',\n rightArrow: 'Right Arrow',\n backspace: 'Backspace',\n space: 'Spasie',\n plus: 'plus',\n shortcut: 'Sleutelbordkortpad: {0}',\n },\n video: {\n play: 'Speel',\n pause: 'Pouseer',\n seek: 'Soek',\n volume: 'Volume',\n showVolume: 'Wys volumebeheer',\n mute: 'Demp',\n unmute: 'Ontdemp',\n enterFullscreen: 'Volskerm',\n exitFullscreen: 'Verlaat volskerm',\n },\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/locale/ar.d.ts
CHANGED
@@ -46,6 +46,13 @@ declare const _default: {
|
|
46
46
|
input: {
|
47
47
|
placeholder: string;
|
48
48
|
};
|
49
|
+
ariaLabel: {
|
50
|
+
previousMonth: string;
|
51
|
+
nextMonth: string;
|
52
|
+
selectYear: string;
|
53
|
+
selectDate: string;
|
54
|
+
currentDate: string;
|
55
|
+
};
|
49
56
|
};
|
50
57
|
noDataText: string;
|
51
58
|
carousel: {
|
package/lib/locale/ar.js
CHANGED
@@ -36,15 +36,22 @@ export default {
|
|
36
36
|
divider: 'to'
|
37
37
|
},
|
38
38
|
datePicker: {
|
39
|
-
itemsSelected: '{0}
|
39
|
+
itemsSelected: '{0} محدد',
|
40
40
|
range: {
|
41
|
-
title: '
|
42
|
-
header: '
|
41
|
+
title: 'اختر التواريخ',
|
42
|
+
header: 'أدخل التواريخ'
|
43
43
|
},
|
44
|
-
title: '
|
45
|
-
header: '
|
44
|
+
title: 'اختر التاريخ',
|
45
|
+
header: 'أدخل التاريخ',
|
46
46
|
input: {
|
47
|
-
placeholder: '
|
47
|
+
placeholder: 'أدخل التاريخ'
|
48
|
+
},
|
49
|
+
ariaLabel: {
|
50
|
+
previousMonth: 'الشهر السابق',
|
51
|
+
nextMonth: 'الشهر التالي',
|
52
|
+
selectYear: 'اختر السنة',
|
53
|
+
selectDate: '{0}',
|
54
|
+
currentDate: 'اليوم، {0}'
|
48
55
|
}
|
49
56
|
},
|
50
57
|
noDataText: 'لا توجد بيانات',
|
package/lib/locale/ar.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ar.js","names":["badge","open","close","dismiss","confirmEdit","ok","cancel","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","dateRangeInput","divider","datePicker","itemsSelected","range","title","header","input","placeholder","noDataText","carousel","prev","next","delimiter","calendar","moreEvents","today","clear","prependAction","appendAction","otp","fileInput","counter","counterSize","fileUpload","browse","timePicker","am","pm","pagination","root","previous","page","currentPage","first","last","stepper","rating","item","loading","infiniteScroll","loadMore","empty","rules","required","email","number","integer","capital","maxLength","minLength","strictLength","exclude","notEmpty","pattern","hotkey","then","ctrl","command","shift","alt","option","enter","escape","upArrow","downArrow","leftArrow","rightArrow","backspace","space","plus","shortcut","video","play","pause","seek","volume","showVolume","mute","unmute","enterFullscreen","exitFullscreen"],"sources":["../../src/locale/ar.ts"],"sourcesContent":["export default {\n badge: 'شارة',\n open: 'Open',\n close: 'إغلاق',\n dismiss: 'Dismiss',\n confirmEdit: {\n ok: 'OK',\n cancel: 'Cancel',\n },\n dataIterator: {\n noResultsText: 'لم يتم إيجاد نتائج',\n loadingText: 'يتم جلب العناصر...',\n },\n dataTable: {\n itemsPerPageText: 'عدد الصفوف لكل صفحة:',\n ariaLabel: {\n sortDescending: 'مرتب تنازلياً.',\n sortAscending: 'مرتب تصاعدياً.',\n sortNone: 'غير مرتب.',\n activateNone: 'نشط لإزالة الترتيب.',\n activateDescending: 'نشط للترتيب تنازلياً.',\n activateAscending: 'نشط للترتيب تصاعدياً.',\n },\n sortBy: 'رتب حسب',\n },\n dataFooter: {\n itemsPerPageText: 'عدد العناصر لكل صفحة:',\n itemsPerPageAll: 'الكل',\n nextPage: 'الصفحة التالية',\n prevPage: 'الصفحة السابقة',\n firstPage: 'الصفحة الأولى',\n lastPage: 'الصفحة الأخيرة',\n pageText: '{0}-{1} من {2}',\n },\n dateRangeInput: {\n divider: 'to',\n },\n datePicker: {\n itemsSelected: '{0}
|
1
|
+
{"version":3,"file":"ar.js","names":["badge","open","close","dismiss","confirmEdit","ok","cancel","dataIterator","noResultsText","loadingText","dataTable","itemsPerPageText","ariaLabel","sortDescending","sortAscending","sortNone","activateNone","activateDescending","activateAscending","sortBy","dataFooter","itemsPerPageAll","nextPage","prevPage","firstPage","lastPage","pageText","dateRangeInput","divider","datePicker","itemsSelected","range","title","header","input","placeholder","previousMonth","nextMonth","selectYear","selectDate","currentDate","noDataText","carousel","prev","next","delimiter","calendar","moreEvents","today","clear","prependAction","appendAction","otp","fileInput","counter","counterSize","fileUpload","browse","timePicker","am","pm","pagination","root","previous","page","currentPage","first","last","stepper","rating","item","loading","infiniteScroll","loadMore","empty","rules","required","email","number","integer","capital","maxLength","minLength","strictLength","exclude","notEmpty","pattern","hotkey","then","ctrl","command","shift","alt","option","enter","escape","upArrow","downArrow","leftArrow","rightArrow","backspace","space","plus","shortcut","video","play","pause","seek","volume","showVolume","mute","unmute","enterFullscreen","exitFullscreen"],"sources":["../../src/locale/ar.ts"],"sourcesContent":["export default {\n badge: 'شارة',\n open: 'Open',\n close: 'إغلاق',\n dismiss: 'Dismiss',\n confirmEdit: {\n ok: 'OK',\n cancel: 'Cancel',\n },\n dataIterator: {\n noResultsText: 'لم يتم إيجاد نتائج',\n loadingText: 'يتم جلب العناصر...',\n },\n dataTable: {\n itemsPerPageText: 'عدد الصفوف لكل صفحة:',\n ariaLabel: {\n sortDescending: 'مرتب تنازلياً.',\n sortAscending: 'مرتب تصاعدياً.',\n sortNone: 'غير مرتب.',\n activateNone: 'نشط لإزالة الترتيب.',\n activateDescending: 'نشط للترتيب تنازلياً.',\n activateAscending: 'نشط للترتيب تصاعدياً.',\n },\n sortBy: 'رتب حسب',\n },\n dataFooter: {\n itemsPerPageText: 'عدد العناصر لكل صفحة:',\n itemsPerPageAll: 'الكل',\n nextPage: 'الصفحة التالية',\n prevPage: 'الصفحة السابقة',\n firstPage: 'الصفحة الأولى',\n lastPage: 'الصفحة الأخيرة',\n pageText: '{0}-{1} من {2}',\n },\n dateRangeInput: {\n divider: 'to',\n },\n datePicker: {\n itemsSelected: '{0} محدد',\n range: {\n title: 'اختر التواريخ',\n header: 'أدخل التواريخ',\n },\n title: 'اختر التاريخ',\n header: 'أدخل التاريخ',\n input: {\n placeholder: 'أدخل التاريخ',\n },\n ariaLabel: {\n previousMonth: 'الشهر السابق',\n nextMonth: 'الشهر التالي',\n selectYear: 'اختر السنة',\n selectDate: '{0}',\n currentDate: 'اليوم، {0}',\n },\n },\n noDataText: 'لا توجد بيانات',\n carousel: {\n prev: 'المعروض السابق',\n next: 'المعروض التالي',\n ariaLabel: {\n delimiter: 'المعروض رقم {0} من {1}',\n },\n },\n calendar: {\n moreEvents: '{0} أكثر',\n today: 'Today',\n },\n input: {\n clear: 'Clear {0}',\n prependAction: '{0} prepended action',\n appendAction: '{0} appended action',\n otp: 'Please enter OTP character {0}',\n },\n fileInput: {\n counter: '{0} ملفات',\n counterSize: '{0} ملفات ({1} في المجموع)',\n },\n fileUpload: {\n title: 'Drag and drop files here',\n divider: 'or',\n browse: 'Browse Files',\n },\n timePicker: {\n am: 'صباحاً',\n pm: 'مساءً',\n title: 'Select Time',\n },\n pagination: {\n ariaLabel: {\n root: 'الإنتقال بين الصفحات',\n next: 'الصفحة التالية',\n previous: 'الصفحة السابقة',\n page: '{0} انتقل إلى الصفحة',\n currentPage: '{0} الصفحة الحالية رقمها',\n first: 'First page',\n last: 'Last page',\n },\n },\n stepper: {\n next: 'Next',\n prev: 'Previous',\n },\n rating: {\n ariaLabel: {\n item: 'القييم {0} من {1}',\n },\n },\n loading: 'Loading...',\n infiniteScroll: {\n loadMore: 'Load more',\n empty: 'No more',\n },\n rules: {\n required: 'هذه الخانة مطلوبه',\n email: 'يرجى إدخال بريد إلكتروني صالح',\n number: 'هذه الخانة يمكن أن تحتوي على أرقام فقط',\n integer: 'هذه الخانة يمكن أن تحتوي على أعداد صحيحة فقط',\n capital: 'هذه الخانة يمكن أن تحتوي على أحرف كبيرة فقط',\n maxLength: 'يجب أن تدخل بحد أقصى {0} حرف',\n minLength: 'يجب أن تدخل بحد أدنى {0} حرف',\n strictLength: 'طول الحقل المدخل غير صالح',\n exclude: 'الحرف {0} غير مسموح به',\n notEmpty: 'يرجى اختيار قيمة واحدة على الأقل',\n pattern: 'تنسيق غير صالح',\n },\n hotkey: {\n then: 'ثم',\n ctrl: 'Ctrl',\n command: 'Command',\n shift: 'Shift',\n alt: 'Alt',\n option: 'Option',\n enter: 'Enter',\n escape: 'Escape',\n upArrow: 'السهم العلوي',\n downArrow: 'السهم السفلي',\n leftArrow: 'السهم الأيسر',\n rightArrow: 'السهم الأيمن',\n backspace: 'مسافة للخلف',\n space: 'مسافة',\n plus: 'زائد',\n shortcut: 'اختصار لوحة المفاتيح: {0}',\n },\n video: {\n play: 'تشغيل',\n pause: 'إيقاف مؤقت',\n seek: 'بحث',\n volume: 'مستوى الصوت',\n showVolume: 'إظهار التحكم في مستوى الصوت',\n mute: 'كتم الصوت',\n unmute: 'إلغاء كتم الصوت',\n enterFullscreen: 'ملء الشاشة',\n exitFullscreen: 'الخروج من وضع ملء الشاشة',\n },\n}\n"],"mappings":"AAAA,eAAe;EACbA,KAAK,EAAE,MAAM;EACbC,IAAI,EAAE,MAAM;EACZC,KAAK,EAAE,OAAO;EACdC,OAAO,EAAE,SAAS;EAClBC,WAAW,EAAE;IACXC,EAAE,EAAE,IAAI;IACRC,MAAM,EAAE;EACV,CAAC;EACDC,YAAY,EAAE;IACZC,aAAa,EAAE,oBAAoB;IACnCC,WAAW,EAAE;EACf,CAAC;EACDC,SAAS,EAAE;IACTC,gBAAgB,EAAE,sBAAsB;IACxCC,SAAS,EAAE;MACTC,cAAc,EAAE,gBAAgB;MAChCC,aAAa,EAAE,gBAAgB;MAC/BC,QAAQ,EAAE,WAAW;MACrBC,YAAY,EAAE,qBAAqB;MACnCC,kBAAkB,EAAE,uBAAuB;MAC3CC,iBAAiB,EAAE;IACrB,CAAC;IACDC,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVT,gBAAgB,EAAE,uBAAuB;IACzCU,eAAe,EAAE,MAAM;IACvBC,QAAQ,EAAE,gBAAgB;IAC1BC,QAAQ,EAAE,gBAAgB;IAC1BC,SAAS,EAAE,eAAe;IAC1BC,QAAQ,EAAE,gBAAgB;IAC1BC,QAAQ,EAAE;EACZ,CAAC;EACDC,cAAc,EAAE;IACdC,OAAO,EAAE;EACX,CAAC;EACDC,UAAU,EAAE;IACVC,aAAa,EAAE,UAAU;IACzBC,KAAK,EAAE;MACLC,KAAK,EAAE,eAAe;MACtBC,MAAM,EAAE;IACV,CAAC;IACDD,KAAK,EAAE,cAAc;IACrBC,MAAM,EAAE,cAAc;IACtBC,KAAK,EAAE;MACLC,WAAW,EAAE;IACf,CAAC;IACDvB,SAAS,EAAE;MACTwB,aAAa,EAAE,cAAc;MAC7BC,SAAS,EAAE,cAAc;MACzBC,UAAU,EAAE,YAAY;MACxBC,UAAU,EAAE,KAAK;MACjBC,WAAW,EAAE;IACf;EACF,CAAC;EACDC,UAAU,EAAE,gBAAgB;EAC5BC,QAAQ,EAAE;IACRC,IAAI,EAAE,gBAAgB;IACtBC,IAAI,EAAE,gBAAgB;IACtBhC,SAAS,EAAE;MACTiC,SAAS,EAAE;IACb;EACF,CAAC;EACDC,QAAQ,EAAE;IACRC,UAAU,EAAE,UAAU;IACtBC,KAAK,EAAE;EACT,CAAC;EACDd,KAAK,EAAE;IACLe,KAAK,EAAE,WAAW;IAClBC,aAAa,EAAE,sBAAsB;IACrCC,YAAY,EAAE,qBAAqB;IACnCC,GAAG,EAAE;EACP,CAAC;EACDC,SAAS,EAAE;IACTC,OAAO,EAAE,WAAW;IACpBC,WAAW,EAAE;EACf,CAAC;EACDC,UAAU,EAAE;IACVxB,KAAK,EAAE,0BAA0B;IACjCJ,OAAO,EAAE,IAAI;IACb6B,MAAM,EAAE;EACV,CAAC;EACDC,UAAU,EAAE;IACVC,EAAE,EAAE,QAAQ;IACZC,EAAE,EAAE,OAAO;IACX5B,KAAK,EAAE;EACT,CAAC;EACD6B,UAAU,EAAE;IACVjD,SAAS,EAAE;MACTkD,IAAI,EAAE,sBAAsB;MAC5BlB,IAAI,EAAE,gBAAgB;MACtBmB,QAAQ,EAAE,gBAAgB;MAC1BC,IAAI,EAAE,sBAAsB;MAC5BC,WAAW,EAAE,0BAA0B;MACvCC,KAAK,EAAE,YAAY;MACnBC,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE;IACPxB,IAAI,EAAE,MAAM;IACZD,IAAI,EAAE;EACR,CAAC;EACD0B,MAAM,EAAE;IACNzD,SAAS,EAAE;MACT0D,IAAI,EAAE;IACR;EACF,CAAC;EACDC,OAAO,EAAE,YAAY;EACrBC,cAAc,EAAE;IACdC,QAAQ,EAAE,WAAW;IACrBC,KAAK,EAAE;EACT,CAAC;EACDC,KAAK,EAAE;IACLC,QAAQ,EAAE,mBAAmB;IAC7BC,KAAK,EAAE,+BAA+B;IACtCC,MAAM,EAAE,wCAAwC;IAChDC,OAAO,EAAE,8CAA8C;IACvDC,OAAO,EAAE,6CAA6C;IACtDC,SAAS,EAAE,8BAA8B;IACzCC,SAAS,EAAE,8BAA8B;IACzCC,YAAY,EAAE,2BAA2B;IACzCC,OAAO,EAAE,wBAAwB;IACjCC,QAAQ,EAAE,kCAAkC;IAC5CC,OAAO,EAAE;EACX,CAAC;EACDC,MAAM,EAAE;IACNC,IAAI,EAAE,IAAI;IACVC,IAAI,EAAE,MAAM;IACZC,OAAO,EAAE,SAAS;IAClBC,KAAK,EAAE,OAAO;IACdC,GAAG,EAAE,KAAK;IACVC,MAAM,EAAE,QAAQ;IAChBC,KAAK,EAAE,OAAO;IACdC,MAAM,EAAE,QAAQ;IAChBC,OAAO,EAAE,cAAc;IACvBC,SAAS,EAAE,cAAc;IACzBC,SAAS,EAAE,cAAc;IACzBC,UAAU,EAAE,cAAc;IAC1BC,SAAS,EAAE,aAAa;IACxBC,KAAK,EAAE,OAAO;IACdC,IAAI,EAAE,MAAM;IACZC,QAAQ,EAAE;EACZ,CAAC;EACDC,KAAK,EAAE;IACLC,IAAI,EAAE,OAAO;IACbC,KAAK,EAAE,YAAY;IACnBC,IAAI,EAAE,KAAK;IACXC,MAAM,EAAE,aAAa;IACrBC,UAAU,EAAE,6BAA6B;IACzCC,IAAI,EAAE,WAAW;IACjBC,MAAM,EAAE,iBAAiB;IACzBC,eAAe,EAAE,YAAY;IAC7BC,cAAc,EAAE;EAClB;AACF,CAAC","ignoreList":[]}
|