@shival99/z-ui 2.4.12 → 2.5.0

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.
@@ -121,12 +121,20 @@ const MEDIA_PLAYER_VI_PLYR_TRANSLATIONS = {
121
121
  Volume: 'Âm lượng',
122
122
  };
123
123
 
124
+ /**
125
+ * Vidstack infers the real type on its own (blob URLs -> `video/object`, otherwise a HEAD
126
+ * request) whenever it receives a falsy `type`, but only if we don't hand it a guess first —
127
+ * an explicit (even wrong) type always wins over that inference. So a genuinely unknown
128
+ * `video`/`audio` type must stay empty here rather than defaulting to a specific MIME type.
129
+ * The cast is required because Vidstack's own `MediaSrc` union only models the literal MIME
130
+ * types, not the empty-string "please infer" signal its runtime actually accepts.
131
+ */
124
132
  function mapSourceToProviderProps(source) {
125
133
  switch (source.kind) {
126
134
  case 'video':
127
- return { src: source.src, type: source.type || 'video/mp4' };
135
+ return { src: source.src, type: (source.type ?? '') };
128
136
  case 'audio':
129
- return { src: source.src, type: source.type || 'audio/mpeg' };
137
+ return { src: source.src, type: (source.type ?? '') };
130
138
  case 'hls':
131
139
  return { src: source.src, type: 'application/x-mpegurl' };
132
140
  case 'dash':
@@ -1 +1 @@
1
- {"version":3,"file":"shival99-z-ui-components-z-media-player.mjs","sources":["../../../../libs/core-ui/components/z-media-player/z-media-player.define.ts","../../../../libs/core-ui/components/z-media-player/z-media-player.utils.ts","../../../../libs/core-ui/components/z-media-player/z-media-player.variants.ts","../../../../libs/core-ui/components/z-media-player/z-media-player.component.ts","../../../../libs/core-ui/components/z-media-player/z-media-player.component.html","../../../../libs/core-ui/components/z-media-player/shival99-z-ui-components-z-media-player.ts"],"sourcesContent":["import type { DefaultLayoutTranslations, PlyrLayoutTranslations } from 'vidstack';\nimport type { ZMediaPlayerConfig } from './z-media-player.types';\n\nexport const DEFAULT_MEDIA_PLAYER_CONFIG: ZMediaPlayerConfig = {\n autoPlay: false,\n loop: false,\n muted: false,\n volume: 1,\n playbackRate: 1,\n subtitles: [],\n thumbnailsVtt: '',\n chaptersVtt: '',\n playsInline: true,\n};\n\n/** Vietnamese translation of Vidstack's Default Layout UI words, applied when the app language is `vi`. */\nexport const MEDIA_PLAYER_VI_DEFAULT_TRANSLATIONS: Partial<DefaultLayoutTranslations> = {\n Announcements: 'Thông báo',\n Accessibility: 'Trợ năng',\n AirPlay: 'AirPlay',\n Audio: 'Âm thanh',\n Auto: 'Tự động',\n Boost: 'Tăng cường',\n Captions: 'Phụ đề',\n 'Caption Styles': 'Kiểu phụ đề',\n 'Captions look like this': 'Phụ đề trông như thế này',\n Chapters: 'Chương',\n 'Closed-Captions Off': 'Tắt phụ đề',\n 'Closed-Captions On': 'Bật phụ đề',\n Connected: 'Đã kết nối',\n Continue: 'Tiếp tục',\n Connecting: 'Đang kết nối',\n Default: 'Mặc định',\n Disabled: 'Đã tắt',\n Disconnected: 'Đã ngắt kết nối',\n 'Display Background': 'Nền hiển thị',\n Download: 'Tải xuống',\n 'Enter Fullscreen': 'Vào toàn màn hình',\n 'Enter PiP': 'Vào chế độ nổi',\n 'Exit Fullscreen': 'Thoát toàn màn hình',\n 'Exit PiP': 'Thoát chế độ nổi',\n Font: 'Phông chữ',\n Family: 'Kiểu chữ',\n Fullscreen: 'Toàn màn hình',\n 'Google Cast': 'Google Cast',\n 'Keyboard Animations': 'Hiệu ứng phím tắt',\n LIVE: 'TRỰC TIẾP',\n Loop: 'Lặp lại',\n Mute: 'Tắt tiếng',\n Normal: 'Bình thường',\n Off: 'Tắt',\n Pause: 'Tạm dừng',\n Play: 'Phát',\n Playback: 'Phát lại',\n PiP: 'Nổi',\n Quality: 'Chất lượng',\n Replay: 'Phát lại',\n Reset: 'Đặt lại',\n 'Seek Backward': 'Tua lùi',\n 'Seek Forward': 'Tua tới',\n Seek: 'Tua',\n Settings: 'Cài đặt',\n 'Skip To Live': 'Về trực tiếp',\n Speed: 'Tốc độ',\n Size: 'Kích thước',\n Color: 'Màu sắc',\n Opacity: 'Độ mờ',\n Shadow: 'Đổ bóng',\n Text: 'Văn bản',\n 'Text Background': 'Nền văn bản',\n Track: 'Track',\n Unmute: 'Bật tiếng',\n Volume: 'Âm lượng',\n};\n\n/** Vietnamese translation of Vidstack's Plyr Layout UI words, applied when the app language is `vi`. */\nexport const MEDIA_PLAYER_VI_PLYR_TRANSLATIONS: Partial<PlyrLayoutTranslations> = {\n Ad: 'Quảng cáo',\n All: 'Tất cả',\n AirPlay: 'AirPlay',\n Audio: 'Âm thanh',\n Auto: 'Tự động',\n Buffered: 'Đã tải đệm',\n Captions: 'Phụ đề',\n 'Current time': 'Thời gian hiện tại',\n Default: 'Mặc định',\n 'Disable captions': 'Tắt phụ đề',\n Disabled: 'Đã tắt',\n Download: 'Tải xuống',\n Duration: 'Thời lượng',\n 'Enable captions': 'Bật phụ đề',\n Enabled: 'Đã bật',\n End: 'Kết thúc',\n 'Enter Fullscreen': 'Vào toàn màn hình',\n 'Exit Fullscreen': 'Thoát toàn màn hình',\n Forward: 'Tua tới',\n 'Go back to previous menu': 'Quay lại menu trước',\n LIVE: 'TRỰC TIẾP',\n Loop: 'Lặp lại',\n Mute: 'Tắt tiếng',\n Normal: 'Bình thường',\n Pause: 'Tạm dừng',\n 'Enter PiP': 'Vào chế độ nổi',\n 'Exit PiP': 'Thoát chế độ nổi',\n Play: 'Phát',\n Played: 'Đã phát',\n Quality: 'Chất lượng',\n Reset: 'Đặt lại',\n Restart: 'Phát lại từ đầu',\n Rewind: 'Tua lùi',\n Seek: 'Tua',\n Settings: 'Cài đặt',\n Speed: 'Tốc độ',\n Start: 'Bắt đầu',\n Unmute: 'Bật tiếng',\n Volume: 'Âm lượng',\n};\n","import type { MediaSrc } from 'vidstack';\nimport type {\n ZMediaPlayerSource,\n ZMediaPlayerSnapshot,\n ZMediaPlayerStateChange,\n ZMediaPlayerStateEvent,\n ZMediaPlayerVidstackState,\n} from './z-media-player.types';\n\nexport function mapSourceToProviderProps(source: ZMediaPlayerSource): MediaSrc {\n switch (source.kind) {\n case 'video':\n return { src: source.src, type: source.type || 'video/mp4' };\n case 'audio':\n return { src: source.src, type: source.type || 'audio/mpeg' };\n case 'hls':\n return { src: source.src, type: 'application/x-mpegurl' };\n case 'dash':\n return { src: source.src, type: 'application/dash+xml' };\n case 'youtube':\n return { src: source.src, type: 'video/youtube' };\n case 'vimeo':\n return { src: source.src, type: 'video/vimeo' };\n }\n}\n\n/**\n * Vidstack's own thumbnail-storyboard loader only resolves relative sprite paths inside a VTT\n * file against the VTT's own URL when that URL is itself absolute (`^https?:`); a root-relative\n * path like `/assets/foo.vtt` makes it silently fall back to resolving against the current page\n * URL instead, breaking the sprite image path. Resolving to an absolute URL up front avoids that.\n */\nexport function resolveAbsoluteUrl(url: string | null | undefined): string | null {\n if (!url) {\n return null;\n }\n try {\n return new URL(url, document.baseURI).href;\n } catch {\n return url;\n }\n}\n\n/** Assigns non-`undefined` entries of `source` onto `target`, leaving its own defaults for omitted keys. */\nexport function assignDefinedProperties<T extends object>(target: T, source: Record<string, unknown>): void {\n for (const [key, value] of Object.entries(source)) {\n if (value !== undefined) {\n (target as Record<string, unknown>)[key] = value;\n }\n }\n}\n\nexport function buildStateChange(\n event: ZMediaPlayerStateEvent,\n state: ZMediaPlayerVidstackState,\n activeSourceLabel: string | null\n): ZMediaPlayerStateChange {\n const bufferedEnd =\n typeof state.bufferedEnd === 'number'\n ? state.bufferedEnd\n : state.buffered && state.buffered.length > 0\n ? state.buffered.end(state.buffered.length - 1)\n : 0;\n const snapshot: ZMediaPlayerSnapshot = {\n paused: state.paused,\n playing: state.playing,\n ended: state.ended,\n waiting: state.waiting,\n currentTime: state.currentTime,\n duration: state.duration,\n volume: state.volume,\n muted: state.muted,\n playbackRate: state.playbackRate,\n bufferedRatio: state.duration > 0 ? Math.min(1, bufferedEnd / state.duration) : 0,\n fullscreen: state.fullscreen,\n theaterMode: false,\n pictureInPicture: state.pictureInPicture,\n activeSourceLabel,\n activeCaptionsLabel: state.textTrack?.label ?? null,\n };\n\n return { event, state: snapshot };\n}\n","import { cva } from 'class-variance-authority';\n\nexport const zMediaPlayerVariants = cva(\n 'relative overflow-hidden bg-black select-none transition-all duration-300 w-full flex flex-col justify-center items-center group/player outline-none',\n {\n variants: {\n zLayout: {\n default: 'aspect-video rounded-sm shadow-sm border border-border max-w-5xl mx-auto',\n },\n },\n defaultVariants: {\n zLayout: 'default',\n },\n }\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n computed,\n effect,\n ElementRef,\n inject,\n input,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ZThemeService, ZTranslateService } from '@shival99/z-ui/services';\nimport { zMergeClasses } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport type { DefaultLayoutTranslations, PlyrLayoutTranslations } from 'vidstack';\nimport type { MediaPlayerElement } from 'vidstack/elements';\nimport {\n DEFAULT_MEDIA_PLAYER_CONFIG,\n MEDIA_PLAYER_VI_DEFAULT_TRANSLATIONS,\n MEDIA_PLAYER_VI_PLYR_TRANSLATIONS,\n} from './z-media-player.define';\nimport type {\n ZMediaPlayerConfig,\n ZMediaPlayerDefaultLayoutConfig,\n ZMediaPlayerError,\n ZMediaPlayerPlyrLayoutConfig,\n ZMediaPlayerSkin,\n ZMediaPlayerSnapshot,\n ZMediaPlayerSource,\n ZMediaPlayerStateChange,\n ZMediaPlayerStateEvent,\n} from './z-media-player.types';\nimport {\n assignDefinedProperties,\n buildStateChange,\n mapSourceToProviderProps,\n resolveAbsoluteUrl,\n} from './z-media-player.utils';\nimport { zMediaPlayerVariants } from './z-media-player.variants';\n\nimport 'vidstack/player';\nimport 'vidstack/player/ui';\nimport 'vidstack/player/layouts/default';\nimport 'vidstack/player/layouts/plyr';\n\n/**\n * Video, audio, HLS, DASH, YouTube, and Vimeo use Vidstack's Default or Plyr Layout skin\n * (`zSkin`). `zConfig` mirrors Vidstack's own `<media-player>` props; `zDefaultLayoutConfig` /\n * `zPlyrLayoutConfig` mirror the props of the currently active skin.\n */\n@Component({\n selector: 'z-media-player',\n standalone: true,\n templateUrl: './z-media-player.component.html',\n styleUrl: './z-media-player.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'zClasses()',\n },\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class ZMediaPlayerComponent {\n private readonly _themeService = inject(ZThemeService, { optional: true });\n private readonly _translateService = inject(ZTranslateService, { optional: true });\n\n public readonly class = input<ClassValue>('');\n public readonly zSources = input.required<ZMediaPlayerSource[]>();\n public readonly zConfig = input<Partial<ZMediaPlayerConfig>>({});\n public readonly zSkin = input<ZMediaPlayerSkin>('default');\n public readonly zDefaultLayoutConfig = input<ZMediaPlayerDefaultLayoutConfig>({});\n public readonly zPlyrLayoutConfig = input<ZMediaPlayerPlyrLayoutConfig>({});\n public readonly zStateChange = output<ZMediaPlayerStateChange>();\n public readonly zError = output<ZMediaPlayerError>();\n\n protected readonly playerElement = viewChild<ElementRef<MediaPlayerElement>>('playerElement');\n protected readonly layoutElement = viewChild<ElementRef<HTMLElement>>('layoutElement');\n protected readonly activeSource = computed<ZMediaPlayerSource | null>(() => {\n const sources = this.zSources();\n return sources.find(source => source.default) ?? sources[0] ?? null;\n });\n\n protected readonly isAudioSource = computed(() => this.activeSource()?.kind === 'audio');\n protected readonly isPlyrSkin = computed(() => this.zSkin() === 'plyr');\n protected readonly colorScheme = computed<'light' | 'dark' | 'system'>(() => {\n if (!this._themeService) {\n return 'system';\n }\n return this._themeService.isDark() ? 'dark' : 'light';\n });\n\n private readonly _isVietnamese = computed(() => (this._translateService?.currentLang() ?? 'en') === 'vi');\n protected readonly defaultLayoutTranslations = computed<Partial<DefaultLayoutTranslations> | null>(() => {\n const base = this._isVietnamese() ? MEDIA_PLAYER_VI_DEFAULT_TRANSLATIONS : null;\n const override = this.zDefaultLayoutConfig().translations;\n return base || override ? { ...base, ...override } : null;\n });\n\n protected readonly plyrLayoutTranslations = computed<Partial<PlyrLayoutTranslations> | null>(() => {\n const base = this._isVietnamese() ? MEDIA_PLAYER_VI_PLYR_TRANSLATIONS : null;\n const override = this.zPlyrLayoutConfig().translations;\n return base || override ? { ...base, ...override } : null;\n });\n\n protected readonly state = signal<ZMediaPlayerSnapshot>({\n paused: true,\n playing: false,\n ended: false,\n waiting: false,\n currentTime: 0,\n duration: 0,\n volume: DEFAULT_MEDIA_PLAYER_CONFIG.volume ?? 1,\n muted: DEFAULT_MEDIA_PLAYER_CONFIG.muted ?? false,\n playbackRate: DEFAULT_MEDIA_PLAYER_CONFIG.playbackRate ?? 1,\n bufferedRatio: 0,\n fullscreen: false,\n theaterMode: false,\n pictureInPicture: false,\n activeSourceLabel: null,\n activeCaptionsLabel: null,\n });\n\n protected readonly zClasses = computed(() => zMergeClasses(zMediaPlayerVariants(), this.class()));\n\n constructor() {\n effect(() => {\n const player = this.playerElement()?.nativeElement;\n const sources = this.zSources();\n const source = this.activeSource();\n if (!player || !source || sources.length === 0) {\n return;\n }\n\n const {\n subtitles: _subtitles,\n thumbnailsVtt: _thumbnailsVtt,\n chaptersVtt: _chaptersVtt,\n ...playerProps\n } = {\n ...DEFAULT_MEDIA_PLAYER_CONFIG,\n ...this.zConfig(),\n };\n const orderedSources = [...sources].sort(\n (left, right) => Number(Boolean(right.default)) - Number(Boolean(left.default))\n );\n const providerSources = orderedSources.map(mapSourceToProviderProps);\n player.src = providerSources.length === 1 ? providerSources[0] : providerSources;\n assignDefinedProperties(player, playerProps);\n });\n\n effect(() => {\n const layout = this.layoutElement()?.nativeElement;\n if (!layout) {\n return;\n }\n\n const thumbnails = resolveAbsoluteUrl(this.zConfig().thumbnailsVtt);\n if (this.isPlyrSkin()) {\n assignDefinedProperties(layout, {\n thumbnails,\n translations: this.plyrLayoutTranslations(),\n ...this.zPlyrLayoutConfig(),\n });\n return;\n }\n\n assignDefinedProperties(layout, {\n thumbnails,\n colorScheme: this.colorScheme(),\n translations: this.defaultLayoutTranslations(),\n ...this.zDefaultLayoutConfig(),\n });\n });\n\n effect(onCleanup => {\n const player = this.playerElement()?.nativeElement;\n if (!player) {\n return;\n }\n\n const stateSubscription = player.subscribe(nextState => this._syncState(nextState));\n const eventMap: Readonly<Record<string, ZMediaPlayerStateEvent>> = {\n 'loaded-data': 'loaded',\n play: 'play',\n pause: 'pause',\n ended: 'ended',\n 'time-update': 'time-update',\n 'volume-change': 'volume-change',\n 'rate-change': 'rate-change',\n 'fullscreen-change': 'fullscreen-change',\n 'picture-in-picture-change': 'pip-change',\n 'source-change': 'source-change',\n 'text-track-change': 'subtitle-change',\n waiting: 'waiting',\n 'can-play': 'can-play',\n };\n const listeners = Object.entries(eventMap).map(([eventName, event]) => {\n const listener = () => this._emitStateChange(event);\n player.addEventListener(eventName, listener);\n return () => player.removeEventListener(eventName, listener);\n });\n const onError = (event: Event) => this._emitError(event);\n const onProviderChange = (event: Event) => this._configureStreamingProvider(event);\n player.addEventListener('error', onError);\n player.addEventListener('provider-change', onProviderChange);\n\n onCleanup(() => {\n stateSubscription();\n listeners.forEach(cleanup => cleanup());\n player.removeEventListener('error', onError);\n player.removeEventListener('provider-change', onProviderChange);\n });\n });\n }\n\n private _syncState(nextState: unknown): void {\n const player = this.playerElement()?.nativeElement;\n if (!player) {\n return;\n }\n\n const patch = nextState && typeof nextState === 'object' ? nextState : {};\n const state = { ...player.state, ...patch } as Parameters<typeof buildStateChange>[1];\n this.state.set(buildStateChange('time-update', state, this.activeSource()?.label ?? null).state);\n }\n\n private _emitStateChange(event: ZMediaPlayerStateEvent): void {\n const player = this.playerElement()?.nativeElement;\n if (!player) {\n return;\n }\n\n const change = buildStateChange(\n event,\n player.state as Parameters<typeof buildStateChange>[1],\n this.activeSource()?.label ?? null\n );\n this.state.set(change.state);\n this.zStateChange.emit(change);\n }\n\n private _emitError(event: Event): void {\n const { detail } = event as CustomEvent<unknown>;\n const error = detail && typeof detail === 'object' ? (detail as Record<string, unknown>) : {};\n this.zError.emit({\n message: typeof error['message'] === 'string' ? error['message'] : 'Media playback error',\n code: typeof error['code'] === 'string' || typeof error['code'] === 'number' ? error['code'] : undefined,\n source: 'provider',\n raw: detail,\n });\n }\n\n private _configureStreamingProvider(event: Event): void {\n const source = this.activeSource();\n const { detail } = event as CustomEvent<unknown>;\n if (!source || !detail || typeof detail !== 'object') {\n return;\n }\n\n const provider = detail as { library?: unknown };\n if (source.kind === 'hls') {\n provider.library = () => import('hls.js');\n return;\n }\n if (source.kind === 'dash') {\n provider.library = () => import('dashjs');\n }\n }\n}\n","<media-player #playerElement>\n <media-provider>\n @for (subtitle of zConfig().subtitles ?? []; track subtitle.src) {\n <track\n kind=\"subtitles\"\n [label]=\"subtitle.label\"\n [src]=\"subtitle.src\"\n [srclang]=\"subtitle.srclang\"\n [default]=\"subtitle.default ?? false\" />\n }\n @if (zConfig().chaptersVtt) {\n <track kind=\"chapters\" [src]=\"zConfig().chaptersVtt!\" />\n }\n </media-provider>\n\n @if (isPlyrSkin()) {\n <media-plyr-layout #layoutElement></media-plyr-layout>\n } @else if (isAudioSource()) {\n <media-audio-layout #layoutElement></media-audio-layout>\n } @else {\n <media-video-layout #layoutElement></media-video-layout>\n }\n</media-player>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shival99-z-ui-components-z-media-player.mjs","sources":["../../../../libs/core-ui/components/z-media-player/z-media-player.define.ts","../../../../libs/core-ui/components/z-media-player/z-media-player.utils.ts","../../../../libs/core-ui/components/z-media-player/z-media-player.variants.ts","../../../../libs/core-ui/components/z-media-player/z-media-player.component.ts","../../../../libs/core-ui/components/z-media-player/z-media-player.component.html","../../../../libs/core-ui/components/z-media-player/shival99-z-ui-components-z-media-player.ts"],"sourcesContent":["import type { DefaultLayoutTranslations, PlyrLayoutTranslations } from 'vidstack';\nimport type { ZMediaPlayerConfig } from './z-media-player.types';\n\nexport const DEFAULT_MEDIA_PLAYER_CONFIG: ZMediaPlayerConfig = {\n autoPlay: false,\n loop: false,\n muted: false,\n volume: 1,\n playbackRate: 1,\n subtitles: [],\n thumbnailsVtt: '',\n chaptersVtt: '',\n playsInline: true,\n};\n\n/** Vietnamese translation of Vidstack's Default Layout UI words, applied when the app language is `vi`. */\nexport const MEDIA_PLAYER_VI_DEFAULT_TRANSLATIONS: Partial<DefaultLayoutTranslations> = {\n Announcements: 'Thông báo',\n Accessibility: 'Trợ năng',\n AirPlay: 'AirPlay',\n Audio: 'Âm thanh',\n Auto: 'Tự động',\n Boost: 'Tăng cường',\n Captions: 'Phụ đề',\n 'Caption Styles': 'Kiểu phụ đề',\n 'Captions look like this': 'Phụ đề trông như thế này',\n Chapters: 'Chương',\n 'Closed-Captions Off': 'Tắt phụ đề',\n 'Closed-Captions On': 'Bật phụ đề',\n Connected: 'Đã kết nối',\n Continue: 'Tiếp tục',\n Connecting: 'Đang kết nối',\n Default: 'Mặc định',\n Disabled: 'Đã tắt',\n Disconnected: 'Đã ngắt kết nối',\n 'Display Background': 'Nền hiển thị',\n Download: 'Tải xuống',\n 'Enter Fullscreen': 'Vào toàn màn hình',\n 'Enter PiP': 'Vào chế độ nổi',\n 'Exit Fullscreen': 'Thoát toàn màn hình',\n 'Exit PiP': 'Thoát chế độ nổi',\n Font: 'Phông chữ',\n Family: 'Kiểu chữ',\n Fullscreen: 'Toàn màn hình',\n 'Google Cast': 'Google Cast',\n 'Keyboard Animations': 'Hiệu ứng phím tắt',\n LIVE: 'TRỰC TIẾP',\n Loop: 'Lặp lại',\n Mute: 'Tắt tiếng',\n Normal: 'Bình thường',\n Off: 'Tắt',\n Pause: 'Tạm dừng',\n Play: 'Phát',\n Playback: 'Phát lại',\n PiP: 'Nổi',\n Quality: 'Chất lượng',\n Replay: 'Phát lại',\n Reset: 'Đặt lại',\n 'Seek Backward': 'Tua lùi',\n 'Seek Forward': 'Tua tới',\n Seek: 'Tua',\n Settings: 'Cài đặt',\n 'Skip To Live': 'Về trực tiếp',\n Speed: 'Tốc độ',\n Size: 'Kích thước',\n Color: 'Màu sắc',\n Opacity: 'Độ mờ',\n Shadow: 'Đổ bóng',\n Text: 'Văn bản',\n 'Text Background': 'Nền văn bản',\n Track: 'Track',\n Unmute: 'Bật tiếng',\n Volume: 'Âm lượng',\n};\n\n/** Vietnamese translation of Vidstack's Plyr Layout UI words, applied when the app language is `vi`. */\nexport const MEDIA_PLAYER_VI_PLYR_TRANSLATIONS: Partial<PlyrLayoutTranslations> = {\n Ad: 'Quảng cáo',\n All: 'Tất cả',\n AirPlay: 'AirPlay',\n Audio: 'Âm thanh',\n Auto: 'Tự động',\n Buffered: 'Đã tải đệm',\n Captions: 'Phụ đề',\n 'Current time': 'Thời gian hiện tại',\n Default: 'Mặc định',\n 'Disable captions': 'Tắt phụ đề',\n Disabled: 'Đã tắt',\n Download: 'Tải xuống',\n Duration: 'Thời lượng',\n 'Enable captions': 'Bật phụ đề',\n Enabled: 'Đã bật',\n End: 'Kết thúc',\n 'Enter Fullscreen': 'Vào toàn màn hình',\n 'Exit Fullscreen': 'Thoát toàn màn hình',\n Forward: 'Tua tới',\n 'Go back to previous menu': 'Quay lại menu trước',\n LIVE: 'TRỰC TIẾP',\n Loop: 'Lặp lại',\n Mute: 'Tắt tiếng',\n Normal: 'Bình thường',\n Pause: 'Tạm dừng',\n 'Enter PiP': 'Vào chế độ nổi',\n 'Exit PiP': 'Thoát chế độ nổi',\n Play: 'Phát',\n Played: 'Đã phát',\n Quality: 'Chất lượng',\n Reset: 'Đặt lại',\n Restart: 'Phát lại từ đầu',\n Rewind: 'Tua lùi',\n Seek: 'Tua',\n Settings: 'Cài đặt',\n Speed: 'Tốc độ',\n Start: 'Bắt đầu',\n Unmute: 'Bật tiếng',\n Volume: 'Âm lượng',\n};\n","import type { AudioMimeType, MediaSrc, VideoMimeType } from 'vidstack';\nimport type {\n ZMediaPlayerSource,\n ZMediaPlayerSnapshot,\n ZMediaPlayerStateChange,\n ZMediaPlayerStateEvent,\n ZMediaPlayerVidstackState,\n} from './z-media-player.types';\n\n/**\n * Vidstack infers the real type on its own (blob URLs -> `video/object`, otherwise a HEAD\n * request) whenever it receives a falsy `type`, but only if we don't hand it a guess first —\n * an explicit (even wrong) type always wins over that inference. So a genuinely unknown\n * `video`/`audio` type must stay empty here rather than defaulting to a specific MIME type.\n * The cast is required because Vidstack's own `MediaSrc` union only models the literal MIME\n * types, not the empty-string \"please infer\" signal its runtime actually accepts.\n */\nexport function mapSourceToProviderProps(source: ZMediaPlayerSource): MediaSrc {\n switch (source.kind) {\n case 'video':\n return { src: source.src, type: (source.type ?? '') as VideoMimeType };\n case 'audio':\n return { src: source.src, type: (source.type ?? '') as AudioMimeType };\n case 'hls':\n return { src: source.src, type: 'application/x-mpegurl' };\n case 'dash':\n return { src: source.src, type: 'application/dash+xml' };\n case 'youtube':\n return { src: source.src, type: 'video/youtube' };\n case 'vimeo':\n return { src: source.src, type: 'video/vimeo' };\n }\n}\n\n/**\n * Vidstack's own thumbnail-storyboard loader only resolves relative sprite paths inside a VTT\n * file against the VTT's own URL when that URL is itself absolute (`^https?:`); a root-relative\n * path like `/assets/foo.vtt` makes it silently fall back to resolving against the current page\n * URL instead, breaking the sprite image path. Resolving to an absolute URL up front avoids that.\n */\nexport function resolveAbsoluteUrl(url: string | null | undefined): string | null {\n if (!url) {\n return null;\n }\n try {\n return new URL(url, document.baseURI).href;\n } catch {\n return url;\n }\n}\n\n/** Assigns non-`undefined` entries of `source` onto `target`, leaving its own defaults for omitted keys. */\nexport function assignDefinedProperties<T extends object>(target: T, source: Record<string, unknown>): void {\n for (const [key, value] of Object.entries(source)) {\n if (value !== undefined) {\n (target as Record<string, unknown>)[key] = value;\n }\n }\n}\n\nexport function buildStateChange(\n event: ZMediaPlayerStateEvent,\n state: ZMediaPlayerVidstackState,\n activeSourceLabel: string | null\n): ZMediaPlayerStateChange {\n const bufferedEnd =\n typeof state.bufferedEnd === 'number'\n ? state.bufferedEnd\n : state.buffered && state.buffered.length > 0\n ? state.buffered.end(state.buffered.length - 1)\n : 0;\n const snapshot: ZMediaPlayerSnapshot = {\n paused: state.paused,\n playing: state.playing,\n ended: state.ended,\n waiting: state.waiting,\n currentTime: state.currentTime,\n duration: state.duration,\n volume: state.volume,\n muted: state.muted,\n playbackRate: state.playbackRate,\n bufferedRatio: state.duration > 0 ? Math.min(1, bufferedEnd / state.duration) : 0,\n fullscreen: state.fullscreen,\n theaterMode: false,\n pictureInPicture: state.pictureInPicture,\n activeSourceLabel,\n activeCaptionsLabel: state.textTrack?.label ?? null,\n };\n\n return { event, state: snapshot };\n}\n","import { cva } from 'class-variance-authority';\n\nexport const zMediaPlayerVariants = cva(\n 'relative overflow-hidden bg-black select-none transition-all duration-300 w-full flex flex-col justify-center items-center group/player outline-none',\n {\n variants: {\n zLayout: {\n default: 'aspect-video rounded-sm shadow-sm border border-border max-w-5xl mx-auto',\n },\n },\n defaultVariants: {\n zLayout: 'default',\n },\n }\n);\n","import {\n ChangeDetectionStrategy,\n Component,\n CUSTOM_ELEMENTS_SCHEMA,\n computed,\n effect,\n ElementRef,\n inject,\n input,\n output,\n signal,\n viewChild,\n ViewEncapsulation,\n} from '@angular/core';\nimport { ZThemeService, ZTranslateService } from '@shival99/z-ui/services';\nimport { zMergeClasses } from '@shival99/z-ui/utils';\nimport type { ClassValue } from 'clsx';\nimport type { DefaultLayoutTranslations, PlyrLayoutTranslations } from 'vidstack';\nimport type { MediaPlayerElement } from 'vidstack/elements';\nimport {\n DEFAULT_MEDIA_PLAYER_CONFIG,\n MEDIA_PLAYER_VI_DEFAULT_TRANSLATIONS,\n MEDIA_PLAYER_VI_PLYR_TRANSLATIONS,\n} from './z-media-player.define';\nimport type {\n ZMediaPlayerConfig,\n ZMediaPlayerDefaultLayoutConfig,\n ZMediaPlayerError,\n ZMediaPlayerPlyrLayoutConfig,\n ZMediaPlayerSkin,\n ZMediaPlayerSnapshot,\n ZMediaPlayerSource,\n ZMediaPlayerStateChange,\n ZMediaPlayerStateEvent,\n} from './z-media-player.types';\nimport {\n assignDefinedProperties,\n buildStateChange,\n mapSourceToProviderProps,\n resolveAbsoluteUrl,\n} from './z-media-player.utils';\nimport { zMediaPlayerVariants } from './z-media-player.variants';\n\nimport 'vidstack/player';\nimport 'vidstack/player/ui';\nimport 'vidstack/player/layouts/default';\nimport 'vidstack/player/layouts/plyr';\n\n/**\n * Video, audio, HLS, DASH, YouTube, and Vimeo use Vidstack's Default or Plyr Layout skin\n * (`zSkin`). `zConfig` mirrors Vidstack's own `<media-player>` props; `zDefaultLayoutConfig` /\n * `zPlyrLayoutConfig` mirror the props of the currently active skin.\n */\n@Component({\n selector: 'z-media-player',\n standalone: true,\n templateUrl: './z-media-player.component.html',\n styleUrl: './z-media-player.component.scss',\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n host: {\n '[class]': 'zClasses()',\n },\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\n})\nexport class ZMediaPlayerComponent {\n private readonly _themeService = inject(ZThemeService, { optional: true });\n private readonly _translateService = inject(ZTranslateService, { optional: true });\n\n public readonly class = input<ClassValue>('');\n public readonly zSources = input.required<ZMediaPlayerSource[]>();\n public readonly zConfig = input<Partial<ZMediaPlayerConfig>>({});\n public readonly zSkin = input<ZMediaPlayerSkin>('default');\n public readonly zDefaultLayoutConfig = input<ZMediaPlayerDefaultLayoutConfig>({});\n public readonly zPlyrLayoutConfig = input<ZMediaPlayerPlyrLayoutConfig>({});\n public readonly zStateChange = output<ZMediaPlayerStateChange>();\n public readonly zError = output<ZMediaPlayerError>();\n\n protected readonly playerElement = viewChild<ElementRef<MediaPlayerElement>>('playerElement');\n protected readonly layoutElement = viewChild<ElementRef<HTMLElement>>('layoutElement');\n protected readonly activeSource = computed<ZMediaPlayerSource | null>(() => {\n const sources = this.zSources();\n return sources.find(source => source.default) ?? sources[0] ?? null;\n });\n\n protected readonly isAudioSource = computed(() => this.activeSource()?.kind === 'audio');\n protected readonly isPlyrSkin = computed(() => this.zSkin() === 'plyr');\n protected readonly colorScheme = computed<'light' | 'dark' | 'system'>(() => {\n if (!this._themeService) {\n return 'system';\n }\n return this._themeService.isDark() ? 'dark' : 'light';\n });\n\n private readonly _isVietnamese = computed(() => (this._translateService?.currentLang() ?? 'en') === 'vi');\n protected readonly defaultLayoutTranslations = computed<Partial<DefaultLayoutTranslations> | null>(() => {\n const base = this._isVietnamese() ? MEDIA_PLAYER_VI_DEFAULT_TRANSLATIONS : null;\n const override = this.zDefaultLayoutConfig().translations;\n return base || override ? { ...base, ...override } : null;\n });\n\n protected readonly plyrLayoutTranslations = computed<Partial<PlyrLayoutTranslations> | null>(() => {\n const base = this._isVietnamese() ? MEDIA_PLAYER_VI_PLYR_TRANSLATIONS : null;\n const override = this.zPlyrLayoutConfig().translations;\n return base || override ? { ...base, ...override } : null;\n });\n\n protected readonly state = signal<ZMediaPlayerSnapshot>({\n paused: true,\n playing: false,\n ended: false,\n waiting: false,\n currentTime: 0,\n duration: 0,\n volume: DEFAULT_MEDIA_PLAYER_CONFIG.volume ?? 1,\n muted: DEFAULT_MEDIA_PLAYER_CONFIG.muted ?? false,\n playbackRate: DEFAULT_MEDIA_PLAYER_CONFIG.playbackRate ?? 1,\n bufferedRatio: 0,\n fullscreen: false,\n theaterMode: false,\n pictureInPicture: false,\n activeSourceLabel: null,\n activeCaptionsLabel: null,\n });\n\n protected readonly zClasses = computed(() => zMergeClasses(zMediaPlayerVariants(), this.class()));\n\n constructor() {\n effect(() => {\n const player = this.playerElement()?.nativeElement;\n const sources = this.zSources();\n const source = this.activeSource();\n if (!player || !source || sources.length === 0) {\n return;\n }\n\n const {\n subtitles: _subtitles,\n thumbnailsVtt: _thumbnailsVtt,\n chaptersVtt: _chaptersVtt,\n ...playerProps\n } = {\n ...DEFAULT_MEDIA_PLAYER_CONFIG,\n ...this.zConfig(),\n };\n const orderedSources = [...sources].sort(\n (left, right) => Number(Boolean(right.default)) - Number(Boolean(left.default))\n );\n const providerSources = orderedSources.map(mapSourceToProviderProps);\n player.src = providerSources.length === 1 ? providerSources[0] : providerSources;\n assignDefinedProperties(player, playerProps);\n });\n\n effect(() => {\n const layout = this.layoutElement()?.nativeElement;\n if (!layout) {\n return;\n }\n\n const thumbnails = resolveAbsoluteUrl(this.zConfig().thumbnailsVtt);\n if (this.isPlyrSkin()) {\n assignDefinedProperties(layout, {\n thumbnails,\n translations: this.plyrLayoutTranslations(),\n ...this.zPlyrLayoutConfig(),\n });\n return;\n }\n\n assignDefinedProperties(layout, {\n thumbnails,\n colorScheme: this.colorScheme(),\n translations: this.defaultLayoutTranslations(),\n ...this.zDefaultLayoutConfig(),\n });\n });\n\n effect(onCleanup => {\n const player = this.playerElement()?.nativeElement;\n if (!player) {\n return;\n }\n\n const stateSubscription = player.subscribe(nextState => this._syncState(nextState));\n const eventMap: Readonly<Record<string, ZMediaPlayerStateEvent>> = {\n 'loaded-data': 'loaded',\n play: 'play',\n pause: 'pause',\n ended: 'ended',\n 'time-update': 'time-update',\n 'volume-change': 'volume-change',\n 'rate-change': 'rate-change',\n 'fullscreen-change': 'fullscreen-change',\n 'picture-in-picture-change': 'pip-change',\n 'source-change': 'source-change',\n 'text-track-change': 'subtitle-change',\n waiting: 'waiting',\n 'can-play': 'can-play',\n };\n const listeners = Object.entries(eventMap).map(([eventName, event]) => {\n const listener = () => this._emitStateChange(event);\n player.addEventListener(eventName, listener);\n return () => player.removeEventListener(eventName, listener);\n });\n const onError = (event: Event) => this._emitError(event);\n const onProviderChange = (event: Event) => this._configureStreamingProvider(event);\n player.addEventListener('error', onError);\n player.addEventListener('provider-change', onProviderChange);\n\n onCleanup(() => {\n stateSubscription();\n listeners.forEach(cleanup => cleanup());\n player.removeEventListener('error', onError);\n player.removeEventListener('provider-change', onProviderChange);\n });\n });\n }\n\n private _syncState(nextState: unknown): void {\n const player = this.playerElement()?.nativeElement;\n if (!player) {\n return;\n }\n\n const patch = nextState && typeof nextState === 'object' ? nextState : {};\n const state = { ...player.state, ...patch } as Parameters<typeof buildStateChange>[1];\n this.state.set(buildStateChange('time-update', state, this.activeSource()?.label ?? null).state);\n }\n\n private _emitStateChange(event: ZMediaPlayerStateEvent): void {\n const player = this.playerElement()?.nativeElement;\n if (!player) {\n return;\n }\n\n const change = buildStateChange(\n event,\n player.state as Parameters<typeof buildStateChange>[1],\n this.activeSource()?.label ?? null\n );\n this.state.set(change.state);\n this.zStateChange.emit(change);\n }\n\n private _emitError(event: Event): void {\n const { detail } = event as CustomEvent<unknown>;\n const error = detail && typeof detail === 'object' ? (detail as Record<string, unknown>) : {};\n this.zError.emit({\n message: typeof error['message'] === 'string' ? error['message'] : 'Media playback error',\n code: typeof error['code'] === 'string' || typeof error['code'] === 'number' ? error['code'] : undefined,\n source: 'provider',\n raw: detail,\n });\n }\n\n private _configureStreamingProvider(event: Event): void {\n const source = this.activeSource();\n const { detail } = event as CustomEvent<unknown>;\n if (!source || !detail || typeof detail !== 'object') {\n return;\n }\n\n const provider = detail as { library?: unknown };\n if (source.kind === 'hls') {\n provider.library = () => import('hls.js');\n return;\n }\n if (source.kind === 'dash') {\n provider.library = () => import('dashjs');\n }\n }\n}\n","<media-player #playerElement>\n <media-provider>\n @for (subtitle of zConfig().subtitles ?? []; track subtitle.src) {\n <track\n kind=\"subtitles\"\n [label]=\"subtitle.label\"\n [src]=\"subtitle.src\"\n [srclang]=\"subtitle.srclang\"\n [default]=\"subtitle.default ?? false\" />\n }\n @if (zConfig().chaptersVtt) {\n <track kind=\"chapters\" [src]=\"zConfig().chaptersVtt!\" />\n }\n </media-provider>\n\n @if (isPlyrSkin()) {\n <media-plyr-layout #layoutElement></media-plyr-layout>\n } @else if (isAudioSource()) {\n <media-audio-layout #layoutElement></media-audio-layout>\n } @else {\n <media-video-layout #layoutElement></media-video-layout>\n }\n</media-player>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shival99/z-ui",
3
- "version": "2.4.12",
3
+ "version": "2.5.0",
4
4
  "description": "Z-UI: Modern Angular UI Component Library - A comprehensive, high-performance design system built with Angular 22, featuring 45+ customizable components with dark mode, accessibility, and enterprise-ready features.",
5
5
  "keywords": [
6
6
  "angular",
@@ -189,7 +189,7 @@ declare class ZGalleryComponent implements AfterViewInit {
189
189
  protected readonly headerControlHeight: _angular_core.Signal<"1.75rem" | "2rem" | "2.5rem" | "2.25rem">;
190
190
  protected readonly skeletonMediaHeight: _angular_core.Signal<"9rem" | "14rem" | "11rem">;
191
191
  protected readonly toggleIconSize: _angular_core.Signal<"14" | "16" | "20" | "18">;
192
- protected readonly searchInputSize: _angular_core.Signal<"default" | "sm" | "lg">;
192
+ protected readonly searchInputSize: _angular_core.Signal<"sm" | "default" | "lg">;
193
193
  protected readonly filteredFiles: _angular_core.Signal<ZGalleryFile[]>;
194
194
  protected readonly selectedIds: _angular_core.Signal<Set<string>>;
195
195
  protected readonly isAllSelected: _angular_core.Signal<boolean>;
@@ -415,16 +415,16 @@ declare const isPreviewable: (file: ZGalleryFile) => boolean;
415
415
  declare const isImage: (file: ZGalleryFile) => boolean;
416
416
 
417
417
  declare const zGalleryVariants: (props?: ({
418
- zSize?: "default" | "sm" | "lg" | null | undefined;
418
+ zSize?: "sm" | "default" | "lg" | null | undefined;
419
419
  } & class_variance_authority_types.ClassProp) | undefined) => string;
420
420
  type ZGalleryVariants = VariantProps<typeof zGalleryVariants>;
421
421
  declare const zGalleryItemVariants: (props?: ({
422
422
  zMode?: "grid" | "list" | null | undefined;
423
- zSize?: "default" | "sm" | "lg" | null | undefined;
423
+ zSize?: "sm" | "default" | "lg" | null | undefined;
424
424
  } & class_variance_authority_types.ClassProp) | undefined) => string;
425
425
  type ZGalleryItemVariants = VariantProps<typeof zGalleryItemVariants>;
426
426
  declare const zGalleryFileIconVariants: (props?: ({
427
- zSize?: "default" | "sm" | "lg" | null | undefined;
427
+ zSize?: "sm" | "default" | "lg" | null | undefined;
428
428
  zMode?: "grid" | "list" | null | undefined;
429
429
  } & class_variance_authority_types.ClassProp) | undefined) => string;
430
430
  type ZGalleryFileIconVariants = VariantProps<typeof zGalleryFileIconVariants>;
@@ -2168,7 +2168,7 @@ declare class ZTableFilterComponent<T> {
2168
2168
  protected readonly filterBadgeCount: _angular_core.Signal<number>;
2169
2169
  protected readonly hasFilterValue: _angular_core.Signal<boolean>;
2170
2170
  protected readonly isActive: _angular_core.Signal<boolean>;
2171
- protected readonly draftSortValue: _angular_core.Signal<"asc" | "desc" | "none">;
2171
+ protected readonly draftSortValue: _angular_core.Signal<"none" | "asc" | "desc">;
2172
2172
  protected readonly rangeMinValue: _angular_core.Signal<any>;
2173
2173
  protected readonly rangeMaxValue: _angular_core.Signal<any>;
2174
2174
  protected readonly dateValue: _angular_core.Signal<Date | null>;