@vidstack/react
Advanced tools
Comparing version 1.12.8 to 1.12.9
"use client" | ||
export { DefaultAudioLayout, DefaultBufferingIndicator, DefaultKeyboardDisplay, DefaultMenuButton, DefaultMenuCheckbox, DefaultMenuItem, DefaultMenuRadioGroup, DefaultMenuSection, DefaultMenuSliderItem, DefaultSliderParts, DefaultSliderSteps, DefaultTooltip, DefaultVideoGestures, DefaultVideoLargeLayout, DefaultVideoLayout, DefaultVideoSmallLayout, createRadioOptions } from '../chunks/vidstack-EiNWg_5u.js'; | ||
export { DefaultAudioLayout, DefaultBufferingIndicator, DefaultKeyboardDisplay, DefaultMenuButton, DefaultMenuCheckbox, DefaultMenuItem, DefaultMenuRadioGroup, DefaultMenuSection, DefaultMenuSliderItem, DefaultSliderParts, DefaultSliderSteps, DefaultTooltip, DefaultVideoGestures, DefaultVideoLargeLayout, DefaultVideoLayout, DefaultVideoSmallLayout, createRadioOptions } from '../chunks/vidstack-C8KzbzWE.js'; | ||
export { defaultLayoutIcons } from './vidstack-default-icons.js'; | ||
import 'react'; | ||
import '../chunks/vidstack-DUuP2Mr9.js'; | ||
import '../chunks/vidstack-y9BmZzcL.js'; | ||
import '../chunks/vidstack-3yQOdq21.js'; | ||
import '../chunks/vidstack-CH225ns1.js'; | ||
import '../chunks/vidstack-CFrkPMaU.js'; | ||
import '../chunks/vidstack-DCIevmYX.js'; | ||
import '@floating-ui/dom'; | ||
import '../chunks/vidstack-WJOX694t.js'; | ||
import '../chunks/vidstack-CYm46yFj.js'; | ||
import 'react-dom'; | ||
import '../chunks/vidstack-DUfF9Kei.js'; | ||
import '../chunks/vidstack-CaayOKW3.js'; | ||
import '../chunks/vidstack-BZamb2Pa.js'; | ||
import '../chunks/vidstack-CaBvbWDV.js'; | ||
import '../chunks/vidstack-CBF7iUqu.js'; |
"use client" | ||
import * as React from 'react'; | ||
import { Icon$5, Icon$24, Icon$62, Icon$59, Icon$74, Icon$54, Icon$105, Icon$104, Icon$26, Icon$27, Icon$61, Icon$60, Icon$40, Icon$39, Icon$77, Icon$81, Icon$31, Icon$0, Icon$11, Icon$22, Icon$53, Icon$16, Icon$63, Icon$88, Icon$35, Icon$34, Icon$13, Icon$8, Icon$33, Icon$56, Icon$19 } from '../chunks/vidstack-DUuP2Mr9.js'; | ||
import { Icon$5, Icon$24, Icon$62, Icon$59, Icon$74, Icon$54, Icon$105, Icon$104, Icon$26, Icon$27, Icon$61, Icon$60, Icon$40, Icon$39, Icon$77, Icon$81, Icon$31, Icon$0, Icon$11, Icon$22, Icon$53, Icon$16, Icon$63, Icon$88, Icon$35, Icon$34, Icon$13, Icon$8, Icon$33, Icon$56, Icon$19 } from '../chunks/vidstack-CH225ns1.js'; | ||
import { Icon } from '../chunks/vidstack-CBF7iUqu.js'; | ||
@@ -6,0 +6,0 @@ |
"use client" | ||
export { DefaultAudioLayout, DefaultBufferingIndicator, DefaultKeyboardDisplay, DefaultLayoutContext, DefaultMenuButton, DefaultMenuCheckbox, DefaultMenuItem, DefaultMenuRadioGroup, DefaultMenuSection, DefaultMenuSliderItem, DefaultSliderParts, DefaultSliderSteps, DefaultTooltip, DefaultVideoGestures, DefaultVideoLargeLayout, DefaultVideoLayout, DefaultVideoSmallLayout, createRadioOptions, i18n, useDefaultLayoutContext, useDefaultLayoutWord } from '../chunks/vidstack-EiNWg_5u.js'; | ||
export { DefaultAudioLayout, DefaultBufferingIndicator, DefaultKeyboardDisplay, DefaultLayoutContext, DefaultMenuButton, DefaultMenuCheckbox, DefaultMenuItem, DefaultMenuRadioGroup, DefaultMenuSection, DefaultMenuSliderItem, DefaultSliderParts, DefaultSliderSteps, DefaultTooltip, DefaultVideoGestures, DefaultVideoLargeLayout, DefaultVideoLayout, DefaultVideoSmallLayout, createRadioOptions, i18n, useDefaultLayoutContext, useDefaultLayoutWord } from '../chunks/vidstack-C8KzbzWE.js'; | ||
export { defaultLayoutIcons } from './vidstack-default-icons.js'; | ||
import 'react'; | ||
import '../chunks/vidstack-DUuP2Mr9.js'; | ||
import '../chunks/vidstack-y9BmZzcL.js'; | ||
import '../chunks/vidstack-3yQOdq21.js'; | ||
import '../chunks/vidstack-CH225ns1.js'; | ||
import '../chunks/vidstack-CFrkPMaU.js'; | ||
import '../chunks/vidstack-DCIevmYX.js'; | ||
import '@floating-ui/dom'; | ||
import '../chunks/vidstack-WJOX694t.js'; | ||
import '../chunks/vidstack-CYm46yFj.js'; | ||
import 'react-dom'; | ||
import '../chunks/vidstack-DUfF9Kei.js'; | ||
import '../chunks/vidstack-CaayOKW3.js'; | ||
import '../chunks/vidstack-BZamb2Pa.js'; | ||
import '../chunks/vidstack-CaBvbWDV.js'; | ||
import '../chunks/vidstack-CBF7iUqu.js'; |
"use client" | ||
import { useMediaState, usePlyrLayoutClasses, Primitive, IS_SERVER, isRemotionSrc, getDownloadFile } from '../chunks/vidstack-3yQOdq21.js'; | ||
import { useMediaState, Primitive, IS_SERVER, isRemotionSrc, getDownloadFile } from '../chunks/vidstack-DCIevmYX.js'; | ||
import * as React from 'react'; | ||
import { uppercaseFirstChar, isUndefined, signal, composeRefs, useSignal, isNumber, listenEvent, isKeyboardEvent, isKeyboardClick } from '../chunks/vidstack-DUuP2Mr9.js'; | ||
import { useMediaContext, PlayButton, Root, Img, Gesture, AirPlayButton, CaptionButton, FullscreenButton, PIPButton, SeekButton, Root$1, Value, Preview, Thumbnail, LiveButton, Time, Root$2, Button, Items, useAudioOptions, Root$3, Item, useCaptionOptions, MuteButton, Root$4 } from '../chunks/vidstack-WJOX694t.js'; | ||
import { useMediaRemote, usePlaybackRateOptions, useVideoQualityOptions } from '../chunks/vidstack-DioCuQwz.js'; | ||
import { useLayoutName, useClassName } from '../chunks/vidstack-DUfF9Kei.js'; | ||
import { RemotionThumbnail, RemotionPoster, RemotionSliderThumbnail } from '../chunks/vidstack-CaayOKW3.js'; | ||
import { effect, createDisposalBin, uppercaseFirstChar, isUndefined, signal, composeRefs, useSignal, isNumber, listenEvent, isKeyboardEvent, isKeyboardClick } from '../chunks/vidstack-CH225ns1.js'; | ||
import { useMediaContext, PlayButton, Root, Img, Gesture, AirPlayButton, CaptionButton, FullscreenButton, PIPButton, SeekButton, Root$1, Value, Preview, Thumbnail, LiveButton, Time, Root$2, Button, Items, useAudioOptions, Root$3, Item, useCaptionOptions, MuteButton, Root$4 } from '../chunks/vidstack-CYm46yFj.js'; | ||
import { useMediaRemote, usePlaybackRateOptions, useVideoQualityOptions } from '../chunks/vidstack-BLslj8MQ.js'; | ||
import { useLayoutName, useClassName } from '../chunks/vidstack-BZamb2Pa.js'; | ||
import { RemotionThumbnail, RemotionPoster, RemotionSliderThumbnail } from '../chunks/vidstack-CaBvbWDV.js'; | ||
export { plyrLayoutIcons } from './vidstack-plyr-icons.js'; | ||
@@ -15,2 +15,62 @@ import '@floating-ui/dom'; | ||
function usePlyrLayoutClasses(el, media) { | ||
const { | ||
canAirPlay, | ||
canFullscreen, | ||
canPictureInPicture, | ||
controlsHidden, | ||
currentTime, | ||
fullscreen, | ||
hasCaptions, | ||
isAirPlayConnected, | ||
paused, | ||
pictureInPicture, | ||
playing, | ||
pointer, | ||
poster, | ||
textTrack, | ||
viewType, | ||
waiting | ||
} = media.$state; | ||
el.classList.add("plyr"); | ||
el.classList.add("plyr--full-ui"); | ||
const classes = { | ||
"plyr--airplay-active": isAirPlayConnected, | ||
"plyr--airplay-supported": canAirPlay, | ||
"plyr--fullscreen-active": fullscreen, | ||
"plyr--fullscreen-enabled": canFullscreen, | ||
"plyr--hide-controls": controlsHidden, | ||
"plyr--is-touch": () => pointer() === "coarse", | ||
"plyr--loading": waiting, | ||
"plyr--paused": paused, | ||
"plyr--pip-active": pictureInPicture, | ||
"plyr--pip-enabled": canPictureInPicture, | ||
"plyr--playing": playing, | ||
"plyr__poster-enabled": poster, | ||
"plyr--stopped": () => paused() && currentTime() === 0, | ||
"plyr--captions-active": textTrack, | ||
"plyr--captions-enabled": hasCaptions | ||
}; | ||
const disposal = createDisposalBin(); | ||
for (const token of Object.keys(classes)) { | ||
disposal.add(effect(() => void el.classList.toggle(token, !!classes[token]()))); | ||
} | ||
disposal.add( | ||
effect(() => { | ||
const token = `plyr--${viewType()}`; | ||
el.classList.add(token); | ||
return () => el.classList.remove(token); | ||
}), | ||
effect(() => { | ||
const { $provider } = media, type = $provider()?.type, token = `plyr--${isHTMLProvider(type) ? "html5" : type}`; | ||
el.classList.toggle(token, !!type); | ||
return () => el.classList.remove(token); | ||
}) | ||
); | ||
return () => disposal.empty(); | ||
} | ||
function isHTMLProvider(type) { | ||
return type === "audio" || type === "video"; | ||
} | ||
const PlyrLayoutContext = React.createContext({}); | ||
@@ -17,0 +77,0 @@ PlyrLayoutContext.displayName = "PlyrLayoutContext"; |
"use client" | ||
import * as React from 'react'; | ||
import { createDisposalBin, animationFrameThrottle, noop } from '../chunks/vidstack-DUuP2Mr9.js'; | ||
import { createDisposalBin, animationFrameThrottle, noop } from '../chunks/vidstack-CH225ns1.js'; | ||
import { Internals, random } from 'remotion'; | ||
import { IS_SERVER, useMediaState, isRemotionSrc, Primitive, useSliderState } from '../chunks/vidstack-3yQOdq21.js'; | ||
export { isRemotionProvider } from '../chunks/vidstack-3yQOdq21.js'; | ||
import { RemotionThumbnail as RemotionThumbnail$1, RemotionSliderThumbnail as RemotionSliderThumbnail$1, RemotionPoster as RemotionPoster$1 } from '../chunks/vidstack-CaayOKW3.js'; | ||
import { IS_SERVER, useMediaState, isRemotionSrc, Primitive, useSliderState } from '../chunks/vidstack-DCIevmYX.js'; | ||
export { isRemotionProvider } from '../chunks/vidstack-DCIevmYX.js'; | ||
import { RemotionThumbnail as RemotionThumbnail$1, RemotionSliderThumbnail as RemotionSliderThumbnail$1, RemotionPoster as RemotionPoster$1 } from '../chunks/vidstack-CaBvbWDV.js'; | ||
import '@floating-ui/dom'; | ||
@@ -171,9 +171,4 @@ | ||
class ErrorBoundary extends React.Component { | ||
constructor() { | ||
super(...arguments); | ||
this.state = { hasError: null }; | ||
} | ||
static { | ||
this.displayName = "ErrorBoundary"; | ||
} | ||
static displayName = "ErrorBoundary"; | ||
state = { hasError: null }; | ||
static getDerivedStateFromError(hasError) { | ||
@@ -333,4 +328,5 @@ return { hasError }; | ||
class RemotionProviderLoader { | ||
name = "remotion"; | ||
target; | ||
constructor() { | ||
this.name = "remotion"; | ||
RemotionThumbnail$1.set(React.lazy(() => Promise.resolve().then(function () { return thumbnail; }))); | ||
@@ -347,3 +343,3 @@ RemotionSliderThumbnail$1.set(React.lazy(() => Promise.resolve().then(function () { return sliderThumbnail; }))); | ||
async load(ctx) { | ||
return new (await import('../chunks/vidstack-BQbxIcqu.js')).RemotionProvider(this.target, ctx); | ||
return new (await import('../chunks/vidstack-Cmlj-sc4.js')).RemotionProvider(this.target, ctx); | ||
} | ||
@@ -350,0 +346,0 @@ } |
"use client" | ||
import { TextTrackSymbol, Primitive, MediaPlayerInstance, isRemotionProvider, MediaProviderInstance, mediaState, TextTrack, ToggleButtonInstance, PosterInstance, useMediaState, ThumbnailsLoader, updateSliderPreviewPlacement, DEFAULT_AUDIO_GAINS } from './chunks/vidstack-3yQOdq21.js'; | ||
export { ARIAKeyShortcuts, AUDIO_EXTENSIONS, AUDIO_TYPES, AirPlayButtonInstance, AudioGainSliderInstance, AudioProviderLoader, AudioTrackList, CaptionButtonInstance, CaptionsInstance, ControlsGroupInstance, ControlsInstance, DASHProviderLoader, DASH_VIDEO_EXTENSIONS, DASH_VIDEO_TYPES, DEFAULT_PLAYBACK_RATES, FullscreenButtonInstance, FullscreenController, GestureInstance, GoogleCastButtonInstance, HLSProviderLoader, HLS_VIDEO_EXTENSIONS, HLS_VIDEO_TYPES, List, LiveButtonInstance, LocalMediaStorage, Logger, MEDIA_KEY_SHORTCUTS, MediaAnnouncerInstance, MediaControls, MediaRemoteControl, MenuButtonInstance, MenuInstance, MenuItemInstance, MenuItemsInstance, MenuPortalInstance, MuteButtonInstance, PIPButtonInstance, PlayButtonInstance, QualitySliderInstance, RadioGroupInstance, RadioInstance, ScreenOrientationController, SeekButtonInstance, SliderChaptersInstance, SliderInstance, SliderPreviewInstance, SliderThumbnailInstance, SliderValueInstance, SliderVideoInstance, SpeedSliderInstance, TextRenderers, TextTrackList, ThumbnailInstance, TimeInstance, TimeRange, TimeSliderInstance, TooltipContentInstance, TooltipInstance, TooltipTriggerInstance, VIDEO_EXTENSIONS, VIDEO_TYPES, VideoProviderLoader, VideoQualityList, VimeoProviderLoader, VolumeSliderInstance, YouTubeProviderLoader, canChangeVolume, canFullscreen, canGoogleCastSrc, canOrientScreen, canPlayHLSNatively, canRotateScreen, canUsePictureInPicture, canUseVideoPresentation, findActiveCue, formatSpokenTime, formatTime, getDownloadFile, getTimeRangesEnd, getTimeRangesStart, isAudioProvider, isAudioSrc, isCueActive, isDASHProvider, isDASHSrc, isGoogleCastProvider, isHLSProvider, isHLSSrc, isHTMLAudioElement, isHTMLIFrameElement, isHTMLMediaElement, isHTMLVideoElement, isMediaStream, isTrackCaptionKind, isVideoProvider, isVideoQualitySrc, isVideoSrc, isVimeoProvider, isYouTubeProvider, mediaContext, normalizeTimeIntervals, parseJSONCaptionsFile, sliderState, softResetMediaState, sortVideoQualities, updateTimeIntervals, useMediaStore, useSliderState, useSliderStore, watchActiveTextTrack, watchCueTextChange } from './chunks/vidstack-3yQOdq21.js'; | ||
import { isString, EventsController, DOMEvent, createReactComponent, useStateContext, useSignal, composeRefs, useSignalRecord, effect, useReactScope, signal } from './chunks/vidstack-DUuP2Mr9.js'; | ||
export { appendTriggerEvent, findTriggerEvent, hasTriggerEvent, isKeyboardClick, isKeyboardEvent, isPointerEvent, walkTriggerEventChain } from './chunks/vidstack-DUuP2Mr9.js'; | ||
import { TextTrackSymbol, Primitive, MediaPlayerInstance, isRemotionProvider, MediaProviderInstance, mediaState, TextTrack, ToggleButtonInstance, PosterInstance, useMediaState, ThumbnailsLoader, updateSliderPreviewPlacement, DEFAULT_AUDIO_GAINS } from './chunks/vidstack-DCIevmYX.js'; | ||
export { ARIAKeyShortcuts, AUDIO_EXTENSIONS, AUDIO_TYPES, AirPlayButtonInstance, AudioGainSliderInstance, AudioProviderLoader, AudioTrackList, CaptionButtonInstance, CaptionsInstance, ControlsGroupInstance, ControlsInstance, DASHProviderLoader, DASH_VIDEO_EXTENSIONS, DASH_VIDEO_TYPES, DEFAULT_PLAYBACK_RATES, FullscreenButtonInstance, FullscreenController, GestureInstance, GoogleCastButtonInstance, HLSProviderLoader, HLS_VIDEO_EXTENSIONS, HLS_VIDEO_TYPES, List, LiveButtonInstance, LocalMediaStorage, Logger, MEDIA_KEY_SHORTCUTS, MediaAnnouncerInstance, MediaControls, MediaRemoteControl, MenuButtonInstance, MenuInstance, MenuItemInstance, MenuItemsInstance, MenuPortalInstance, MuteButtonInstance, PIPButtonInstance, PlayButtonInstance, QualitySliderInstance, RadioGroupInstance, RadioInstance, ScreenOrientationController, SeekButtonInstance, SliderChaptersInstance, SliderInstance, SliderPreviewInstance, SliderThumbnailInstance, SliderValueInstance, SliderVideoInstance, SpeedSliderInstance, TextRenderers, TextTrackList, ThumbnailInstance, TimeInstance, TimeRange, TimeSliderInstance, TooltipContentInstance, TooltipInstance, TooltipTriggerInstance, VIDEO_EXTENSIONS, VIDEO_TYPES, VideoProviderLoader, VideoQualityList, VimeoProviderLoader, VolumeSliderInstance, YouTubeProviderLoader, canChangeVolume, canFullscreen, canGoogleCastSrc, canOrientScreen, canPlayHLSNatively, canRotateScreen, canUsePictureInPicture, canUseVideoPresentation, findActiveCue, formatSpokenTime, formatTime, getDownloadFile, getTimeRangesEnd, getTimeRangesStart, isAudioProvider, isAudioSrc, isCueActive, isDASHProvider, isDASHSrc, isGoogleCastProvider, isHLSProvider, isHLSSrc, isHTMLAudioElement, isHTMLIFrameElement, isHTMLMediaElement, isHTMLVideoElement, isMediaStream, isTrackCaptionKind, isVideoProvider, isVideoQualitySrc, isVideoSrc, isVimeoProvider, isYouTubeProvider, mediaContext, normalizeTimeIntervals, parseJSONCaptionsFile, sliderState, softResetMediaState, sortVideoQualities, updateTimeIntervals, useMediaStore, useSliderState, useSliderStore, watchActiveTextTrack, watchCueTextChange } from './chunks/vidstack-DCIevmYX.js'; | ||
import { isString, EventsController, DOMEvent, createReactComponent, useStateContext, useSignal, composeRefs, useSignalRecord, effect, useReactScope, signal } from './chunks/vidstack-CH225ns1.js'; | ||
export { appendTriggerEvent, findTriggerEvent, hasTriggerEvent, isKeyboardClick, isKeyboardEvent, isPointerEvent, walkTriggerEventChain } from './chunks/vidstack-CH225ns1.js'; | ||
import * as React from 'react'; | ||
import { createSignal, useScoped } from './chunks/vidstack-y9BmZzcL.js'; | ||
export { audioGainSlider as AudioGainSlider, Captions, ChapterTitle, controls as Controls, GoogleCastButton, MediaAnnouncer, qualitySlider as QualitySlider, speedSlider as SpeedSlider, spinner as Spinner, Title, tooltip as Tooltip, useActiveTextCues, useActiveTextTrack, useChapterOptions, useChapterTitle, useTextCues } from './chunks/vidstack-y9BmZzcL.js'; | ||
import { useMediaContext } from './chunks/vidstack-WJOX694t.js'; | ||
export { AirPlayButton, CaptionButton, FullscreenButton, Gesture, LiveButton, menu as Menu, MuteButton, PIPButton, PlayButton, radioGroup as RadioGroup, SeekButton, slider as Slider, thumbnail as Thumbnail, Time, timeSlider as TimeSlider, volumeSlider as VolumeSlider, useAudioOptions, useCaptionOptions, useMediaPlayer } from './chunks/vidstack-WJOX694t.js'; | ||
import { createSignal, useScoped } from './chunks/vidstack-CFrkPMaU.js'; | ||
export { audioGainSlider as AudioGainSlider, Captions, ChapterTitle, controls as Controls, GoogleCastButton, MediaAnnouncer, qualitySlider as QualitySlider, speedSlider as SpeedSlider, spinner as Spinner, Title, tooltip as Tooltip, useActiveTextCues, useActiveTextTrack, useChapterOptions, useChapterTitle, useTextCues } from './chunks/vidstack-CFrkPMaU.js'; | ||
import { useMediaContext } from './chunks/vidstack-CYm46yFj.js'; | ||
export { AirPlayButton, CaptionButton, FullscreenButton, Gesture, LiveButton, menu as Menu, MuteButton, PIPButton, PlayButton, radioGroup as RadioGroup, SeekButton, slider as Slider, thumbnail as Thumbnail, Time, timeSlider as TimeSlider, volumeSlider as VolumeSlider, useAudioOptions, useCaptionOptions, useMediaPlayer } from './chunks/vidstack-CYm46yFj.js'; | ||
import { Icon } from './chunks/vidstack-CBF7iUqu.js'; | ||
export { useMediaRemote, usePlaybackRateOptions, useVideoQualityOptions } from './chunks/vidstack-DioCuQwz.js'; | ||
export { useMediaRemote, usePlaybackRateOptions, useVideoQualityOptions } from './chunks/vidstack-BLslj8MQ.js'; | ||
import '@floating-ui/dom'; | ||
@@ -21,10 +21,7 @@ import 'react-dom'; | ||
this.config = config; | ||
this.priority = 1; | ||
this.#instance = null; | ||
this.#track = null; | ||
this.#typeRE = /(ssa|ass)$/; | ||
} | ||
#instance; | ||
#track; | ||
#typeRE; | ||
priority = 1; | ||
#instance = null; | ||
#track = null; | ||
#typeRE = /(ssa|ass)$/; | ||
canRender(track, video) { | ||
@@ -170,3 +167,3 @@ return !!video && !!track.src && (isString(track.type) && this.#typeRE.test(track.type) || this.#typeRE.test(track.src)); | ||
if (!isGoogleCast || googleCastIconPaths) return; | ||
import('./chunks/vidstack-DUuP2Mr9.js').then(function (n) { return n.chromecast; }).then((mod) => { | ||
import('./chunks/vidstack-CH225ns1.js').then(function (n) { return n.chromecast; }).then((mod) => { | ||
setGoogleCastIconPaths(mod.default); | ||
@@ -173,0 +170,0 @@ }); |
{ | ||
"name": "@vidstack/react", | ||
"description": "UI component library for building high-quality, accessible video and audio experiences on the web.", | ||
"version": "1.12.8", | ||
"version": "1.12.9", | ||
"license": "MIT", | ||
@@ -6,0 +6,0 @@ "type": "module", |
"use client" | ||
export { DefaultAudioLayout, DefaultBufferingIndicator, DefaultKeyboardDisplay, DefaultMenuButton, DefaultMenuCheckbox, DefaultMenuItem, DefaultMenuRadioGroup, DefaultMenuSection, DefaultMenuSliderItem, DefaultSliderParts, DefaultSliderSteps, DefaultTooltip, DefaultVideoGestures, DefaultVideoLargeLayout, DefaultVideoLayout, DefaultVideoSmallLayout, createRadioOptions } from '../chunks/vidstack-BWj6rswo.js'; | ||
export { DefaultAudioLayout, DefaultBufferingIndicator, DefaultKeyboardDisplay, DefaultMenuButton, DefaultMenuCheckbox, DefaultMenuItem, DefaultMenuRadioGroup, DefaultMenuSection, DefaultMenuSliderItem, DefaultSliderParts, DefaultSliderSteps, DefaultTooltip, DefaultVideoGestures, DefaultVideoLargeLayout, DefaultVideoLayout, DefaultVideoSmallLayout, createRadioOptions } from '../chunks/vidstack-uO2iDQka.js'; | ||
export { defaultLayoutIcons } from './vidstack-default-icons.js'; | ||
import 'react'; | ||
import '../chunks/vidstack-CFPsCUVw.js'; | ||
import '../chunks/vidstack-D_AcLV4u.js'; | ||
import '../chunks/vidstack-C2Tlc7yw.js'; | ||
import '../chunks/vidstack-CNjv_Zem.js'; | ||
import '../chunks/vidstack-B4DrK-V8.js'; | ||
import '../chunks/vidstack-BMPqs-oi.js'; | ||
import '@floating-ui/dom'; | ||
import '../chunks/vidstack-JwipROjF.js'; | ||
import '../chunks/vidstack-LyUgk-Le.js'; | ||
import 'react-dom'; | ||
import '../chunks/vidstack-PFYSELW8.js'; | ||
import '../chunks/vidstack-DWyIwcum.js'; | ||
import '../chunks/vidstack-DNVNNWDp.js'; | ||
import '../chunks/vidstack-CV12ZH4Z.js'; | ||
import '../chunks/vidstack-CBF7iUqu.js'; |
"use client" | ||
import * as React from 'react'; | ||
import { Icon$5, Icon$24, Icon$62, Icon$59, Icon$74, Icon$54, Icon$105, Icon$104, Icon$26, Icon$27, Icon$61, Icon$60, Icon$40, Icon$39, Icon$77, Icon$81, Icon$31, Icon$0, Icon$11, Icon$22, Icon$53, Icon$16, Icon$63, Icon$88, Icon$35, Icon$34, Icon$13, Icon$8, Icon$33, Icon$56, Icon$19 } from '../chunks/vidstack-CFPsCUVw.js'; | ||
import { Icon$5, Icon$24, Icon$62, Icon$59, Icon$74, Icon$54, Icon$105, Icon$104, Icon$26, Icon$27, Icon$61, Icon$60, Icon$40, Icon$39, Icon$77, Icon$81, Icon$31, Icon$0, Icon$11, Icon$22, Icon$53, Icon$16, Icon$63, Icon$88, Icon$35, Icon$34, Icon$13, Icon$8, Icon$33, Icon$56, Icon$19 } from '../chunks/vidstack-CNjv_Zem.js'; | ||
import { Icon } from '../chunks/vidstack-CBF7iUqu.js'; | ||
@@ -6,0 +6,0 @@ |
"use client" | ||
export { DefaultAudioLayout, DefaultBufferingIndicator, DefaultKeyboardDisplay, DefaultLayoutContext, DefaultMenuButton, DefaultMenuCheckbox, DefaultMenuItem, DefaultMenuRadioGroup, DefaultMenuSection, DefaultMenuSliderItem, DefaultSliderParts, DefaultSliderSteps, DefaultTooltip, DefaultVideoGestures, DefaultVideoLargeLayout, DefaultVideoLayout, DefaultVideoSmallLayout, createRadioOptions, i18n, useDefaultLayoutContext, useDefaultLayoutWord } from '../chunks/vidstack-BWj6rswo.js'; | ||
export { DefaultAudioLayout, DefaultBufferingIndicator, DefaultKeyboardDisplay, DefaultLayoutContext, DefaultMenuButton, DefaultMenuCheckbox, DefaultMenuItem, DefaultMenuRadioGroup, DefaultMenuSection, DefaultMenuSliderItem, DefaultSliderParts, DefaultSliderSteps, DefaultTooltip, DefaultVideoGestures, DefaultVideoLargeLayout, DefaultVideoLayout, DefaultVideoSmallLayout, createRadioOptions, i18n, useDefaultLayoutContext, useDefaultLayoutWord } from '../chunks/vidstack-uO2iDQka.js'; | ||
export { defaultLayoutIcons } from './vidstack-default-icons.js'; | ||
import 'react'; | ||
import '../chunks/vidstack-CFPsCUVw.js'; | ||
import '../chunks/vidstack-D_AcLV4u.js'; | ||
import '../chunks/vidstack-C2Tlc7yw.js'; | ||
import '../chunks/vidstack-CNjv_Zem.js'; | ||
import '../chunks/vidstack-B4DrK-V8.js'; | ||
import '../chunks/vidstack-BMPqs-oi.js'; | ||
import '@floating-ui/dom'; | ||
import '../chunks/vidstack-JwipROjF.js'; | ||
import '../chunks/vidstack-LyUgk-Le.js'; | ||
import 'react-dom'; | ||
import '../chunks/vidstack-PFYSELW8.js'; | ||
import '../chunks/vidstack-DWyIwcum.js'; | ||
import '../chunks/vidstack-DNVNNWDp.js'; | ||
import '../chunks/vidstack-CV12ZH4Z.js'; | ||
import '../chunks/vidstack-CBF7iUqu.js'; |
"use client" | ||
import { useMediaState, usePlyrLayoutClasses, Primitive, IS_SERVER, isRemotionSrc, getDownloadFile } from '../chunks/vidstack-C2Tlc7yw.js'; | ||
import { useMediaState, Primitive, IS_SERVER, isRemotionSrc, getDownloadFile } from '../chunks/vidstack-BMPqs-oi.js'; | ||
import * as React from 'react'; | ||
import { uppercaseFirstChar, isUndefined, signal, composeRefs, useSignal, isNumber, listenEvent, isKeyboardEvent, isKeyboardClick } from '../chunks/vidstack-CFPsCUVw.js'; | ||
import { useMediaContext, PlayButton, Root, Img, Gesture, AirPlayButton, CaptionButton, FullscreenButton, PIPButton, SeekButton, Root$1, Value, Preview, Thumbnail, LiveButton, Time, Root$2, Button, Items, useAudioOptions, Root$3, Item, useCaptionOptions, MuteButton, Root$4 } from '../chunks/vidstack-JwipROjF.js'; | ||
import { useMediaRemote, usePlaybackRateOptions, useVideoQualityOptions } from '../chunks/vidstack-8aBsfh6i.js'; | ||
import { useLayoutName, useClassName } from '../chunks/vidstack-PFYSELW8.js'; | ||
import { RemotionThumbnail, RemotionPoster, RemotionSliderThumbnail } from '../chunks/vidstack-DWyIwcum.js'; | ||
import { effect, createDisposalBin, uppercaseFirstChar, isUndefined, signal, composeRefs, useSignal, isNumber, listenEvent, isKeyboardEvent, isKeyboardClick } from '../chunks/vidstack-CNjv_Zem.js'; | ||
import { useMediaContext, PlayButton, Root, Img, Gesture, AirPlayButton, CaptionButton, FullscreenButton, PIPButton, SeekButton, Root$1, Value, Preview, Thumbnail, LiveButton, Time, Root$2, Button, Items, useAudioOptions, Root$3, Item, useCaptionOptions, MuteButton, Root$4 } from '../chunks/vidstack-LyUgk-Le.js'; | ||
import { useMediaRemote, usePlaybackRateOptions, useVideoQualityOptions } from '../chunks/vidstack-CINVeZfD.js'; | ||
import { useLayoutName, useClassName } from '../chunks/vidstack-DNVNNWDp.js'; | ||
import { RemotionThumbnail, RemotionPoster, RemotionSliderThumbnail } from '../chunks/vidstack-CV12ZH4Z.js'; | ||
export { plyrLayoutIcons } from './vidstack-plyr-icons.js'; | ||
@@ -15,2 +15,62 @@ import '@floating-ui/dom'; | ||
function usePlyrLayoutClasses(el, media) { | ||
const { | ||
canAirPlay, | ||
canFullscreen, | ||
canPictureInPicture, | ||
controlsHidden, | ||
currentTime, | ||
fullscreen, | ||
hasCaptions, | ||
isAirPlayConnected, | ||
paused, | ||
pictureInPicture, | ||
playing, | ||
pointer, | ||
poster, | ||
textTrack, | ||
viewType, | ||
waiting | ||
} = media.$state; | ||
el.classList.add("plyr"); | ||
el.classList.add("plyr--full-ui"); | ||
const classes = { | ||
"plyr--airplay-active": isAirPlayConnected, | ||
"plyr--airplay-supported": canAirPlay, | ||
"plyr--fullscreen-active": fullscreen, | ||
"plyr--fullscreen-enabled": canFullscreen, | ||
"plyr--hide-controls": controlsHidden, | ||
"plyr--is-touch": () => pointer() === "coarse", | ||
"plyr--loading": waiting, | ||
"plyr--paused": paused, | ||
"plyr--pip-active": pictureInPicture, | ||
"plyr--pip-enabled": canPictureInPicture, | ||
"plyr--playing": playing, | ||
"plyr__poster-enabled": poster, | ||
"plyr--stopped": () => paused() && currentTime() === 0, | ||
"plyr--captions-active": textTrack, | ||
"plyr--captions-enabled": hasCaptions | ||
}; | ||
const disposal = createDisposalBin(); | ||
for (const token of Object.keys(classes)) { | ||
disposal.add(effect(() => void el.classList.toggle(token, !!classes[token]()))); | ||
} | ||
disposal.add( | ||
effect(() => { | ||
const token = `plyr--${viewType()}`; | ||
el.classList.add(token); | ||
return () => el.classList.remove(token); | ||
}), | ||
effect(() => { | ||
const { $provider } = media, type = $provider()?.type, token = `plyr--${isHTMLProvider(type) ? "html5" : type}`; | ||
el.classList.toggle(token, !!type); | ||
return () => el.classList.remove(token); | ||
}) | ||
); | ||
return () => disposal.empty(); | ||
} | ||
function isHTMLProvider(type) { | ||
return type === "audio" || type === "video"; | ||
} | ||
const PlyrLayoutContext = React.createContext({}); | ||
@@ -17,0 +77,0 @@ PlyrLayoutContext.displayName = "PlyrLayoutContext"; |
"use client" | ||
import * as React from 'react'; | ||
import { createDisposalBin, animationFrameThrottle, noop } from '../chunks/vidstack-CFPsCUVw.js'; | ||
import { createDisposalBin, animationFrameThrottle, noop } from '../chunks/vidstack-CNjv_Zem.js'; | ||
import { Internals, random } from 'remotion'; | ||
import { IS_SERVER, useMediaState, isRemotionSrc, Primitive, useSliderState } from '../chunks/vidstack-C2Tlc7yw.js'; | ||
export { isRemotionProvider } from '../chunks/vidstack-C2Tlc7yw.js'; | ||
import { RemotionThumbnail as RemotionThumbnail$1, RemotionSliderThumbnail as RemotionSliderThumbnail$1, RemotionPoster as RemotionPoster$1 } from '../chunks/vidstack-DWyIwcum.js'; | ||
import { IS_SERVER, useMediaState, isRemotionSrc, Primitive, useSliderState } from '../chunks/vidstack-BMPqs-oi.js'; | ||
export { isRemotionProvider } from '../chunks/vidstack-BMPqs-oi.js'; | ||
import { RemotionThumbnail as RemotionThumbnail$1, RemotionSliderThumbnail as RemotionSliderThumbnail$1, RemotionPoster as RemotionPoster$1 } from '../chunks/vidstack-CV12ZH4Z.js'; | ||
import '@floating-ui/dom'; | ||
@@ -161,9 +161,4 @@ | ||
class ErrorBoundary extends React.Component { | ||
constructor() { | ||
super(...arguments); | ||
this.state = { hasError: null }; | ||
} | ||
static { | ||
this.displayName = "ErrorBoundary"; | ||
} | ||
static displayName = "ErrorBoundary"; | ||
state = { hasError: null }; | ||
static getDerivedStateFromError(hasError) { | ||
@@ -323,4 +318,5 @@ return { hasError }; | ||
class RemotionProviderLoader { | ||
name = "remotion"; | ||
target; | ||
constructor() { | ||
this.name = "remotion"; | ||
RemotionThumbnail$1.set(React.lazy(() => Promise.resolve().then(function () { return thumbnail; }))); | ||
@@ -337,3 +333,3 @@ RemotionSliderThumbnail$1.set(React.lazy(() => Promise.resolve().then(function () { return sliderThumbnail; }))); | ||
async load(ctx) { | ||
return new (await import('../chunks/vidstack-CzmDIMXh.js')).RemotionProvider(this.target, ctx); | ||
return new (await import('../chunks/vidstack-DH5jNY0i.js')).RemotionProvider(this.target, ctx); | ||
} | ||
@@ -340,0 +336,0 @@ } |
"use client" | ||
import { GroupedLog, TextTrackSymbol, Primitive, MediaPlayerInstance, isRemotionProvider, MediaProviderInstance, mediaState, TextTrack, ToggleButtonInstance, PosterInstance, useMediaState, ThumbnailsLoader, updateSliderPreviewPlacement, DEFAULT_AUDIO_GAINS } from './chunks/vidstack-C2Tlc7yw.js'; | ||
export { ARIAKeyShortcuts, AUDIO_EXTENSIONS, AUDIO_TYPES, AirPlayButtonInstance, AudioGainSliderInstance, AudioProviderLoader, AudioTrackList, CaptionButtonInstance, CaptionsInstance, ControlsGroupInstance, ControlsInstance, DASHProviderLoader, DASH_VIDEO_EXTENSIONS, DASH_VIDEO_TYPES, DEFAULT_PLAYBACK_RATES, FullscreenButtonInstance, FullscreenController, GestureInstance, GoogleCastButtonInstance, HLSProviderLoader, HLS_VIDEO_EXTENSIONS, HLS_VIDEO_TYPES, List, LiveButtonInstance, LocalMediaStorage, MEDIA_KEY_SHORTCUTS, MediaAnnouncerInstance, MediaControls, MediaRemoteControl, MenuButtonInstance, MenuInstance, MenuItemInstance, MenuItemsInstance, MenuPortalInstance, MuteButtonInstance, PIPButtonInstance, PlayButtonInstance, QualitySliderInstance, RadioGroupInstance, RadioInstance, ScreenOrientationController, SeekButtonInstance, SliderChaptersInstance, SliderInstance, SliderPreviewInstance, SliderThumbnailInstance, SliderValueInstance, SliderVideoInstance, SpeedSliderInstance, TextRenderers, TextTrackList, ThumbnailInstance, TimeInstance, TimeRange, TimeSliderInstance, TooltipContentInstance, TooltipInstance, TooltipTriggerInstance, VIDEO_EXTENSIONS, VIDEO_TYPES, VideoProviderLoader, VideoQualityList, VimeoProviderLoader, VolumeSliderInstance, YouTubeProviderLoader, canChangeVolume, canFullscreen, canGoogleCastSrc, canOrientScreen, canPlayHLSNatively, canRotateScreen, canUsePictureInPicture, canUseVideoPresentation, findActiveCue, formatSpokenTime, formatTime, getDownloadFile, getTimeRangesEnd, getTimeRangesStart, isAudioProvider, isAudioSrc, isCueActive, isDASHProvider, isDASHSrc, isGoogleCastProvider, isHLSProvider, isHLSSrc, isHTMLAudioElement, isHTMLIFrameElement, isHTMLMediaElement, isHTMLVideoElement, isMediaStream, isTrackCaptionKind, isVideoProvider, isVideoQualitySrc, isVideoSrc, isVimeoProvider, isYouTubeProvider, mediaContext, normalizeTimeIntervals, parseJSONCaptionsFile, sliderState, softResetMediaState, sortVideoQualities, updateTimeIntervals, useMediaStore, useSliderState, useSliderStore, watchActiveTextTrack, watchCueTextChange } from './chunks/vidstack-C2Tlc7yw.js'; | ||
import { DOMEvent, isString, EventsController, createReactComponent, useStateContext, useSignal, composeRefs, useSignalRecord, effect, useReactScope, signal } from './chunks/vidstack-CFPsCUVw.js'; | ||
export { appendTriggerEvent, findTriggerEvent, hasTriggerEvent, isKeyboardClick, isKeyboardEvent, isPointerEvent, walkTriggerEventChain } from './chunks/vidstack-CFPsCUVw.js'; | ||
import { TextTrackSymbol, Primitive, MediaPlayerInstance, isRemotionProvider, MediaProviderInstance, mediaState, TextTrack, ToggleButtonInstance, PosterInstance, useMediaState, ThumbnailsLoader, updateSliderPreviewPlacement, DEFAULT_AUDIO_GAINS } from './chunks/vidstack-BMPqs-oi.js'; | ||
export { ARIAKeyShortcuts, AUDIO_EXTENSIONS, AUDIO_TYPES, AirPlayButtonInstance, AudioGainSliderInstance, AudioProviderLoader, AudioTrackList, CaptionButtonInstance, CaptionsInstance, ControlsGroupInstance, ControlsInstance, DASHProviderLoader, DASH_VIDEO_EXTENSIONS, DASH_VIDEO_TYPES, DEFAULT_PLAYBACK_RATES, FullscreenButtonInstance, FullscreenController, GestureInstance, GoogleCastButtonInstance, HLSProviderLoader, HLS_VIDEO_EXTENSIONS, HLS_VIDEO_TYPES, List, LiveButtonInstance, LocalMediaStorage, MEDIA_KEY_SHORTCUTS, MediaAnnouncerInstance, MediaControls, MediaRemoteControl, MenuButtonInstance, MenuInstance, MenuItemInstance, MenuItemsInstance, MenuPortalInstance, MuteButtonInstance, PIPButtonInstance, PlayButtonInstance, QualitySliderInstance, RadioGroupInstance, RadioInstance, ScreenOrientationController, SeekButtonInstance, SliderChaptersInstance, SliderInstance, SliderPreviewInstance, SliderThumbnailInstance, SliderValueInstance, SliderVideoInstance, SpeedSliderInstance, TextRenderers, TextTrackList, ThumbnailInstance, TimeInstance, TimeRange, TimeSliderInstance, TooltipContentInstance, TooltipInstance, TooltipTriggerInstance, VIDEO_EXTENSIONS, VIDEO_TYPES, VideoProviderLoader, VideoQualityList, VimeoProviderLoader, VolumeSliderInstance, YouTubeProviderLoader, canChangeVolume, canFullscreen, canGoogleCastSrc, canOrientScreen, canPlayHLSNatively, canRotateScreen, canUsePictureInPicture, canUseVideoPresentation, findActiveCue, formatSpokenTime, formatTime, getDownloadFile, getTimeRangesEnd, getTimeRangesStart, isAudioProvider, isAudioSrc, isCueActive, isDASHProvider, isDASHSrc, isGoogleCastProvider, isHLSProvider, isHLSSrc, isHTMLAudioElement, isHTMLIFrameElement, isHTMLMediaElement, isHTMLVideoElement, isMediaStream, isTrackCaptionKind, isVideoProvider, isVideoQualitySrc, isVideoSrc, isVimeoProvider, isYouTubeProvider, mediaContext, normalizeTimeIntervals, parseJSONCaptionsFile, sliderState, softResetMediaState, sortVideoQualities, updateTimeIntervals, useMediaStore, useSliderState, useSliderStore, watchActiveTextTrack, watchCueTextChange } from './chunks/vidstack-BMPqs-oi.js'; | ||
import { DOMEvent, isString, EventsController, createReactComponent, useStateContext, useSignal, composeRefs, useSignalRecord, effect, useReactScope, signal } from './chunks/vidstack-CNjv_Zem.js'; | ||
export { appendTriggerEvent, findTriggerEvent, hasTriggerEvent, isKeyboardClick, isKeyboardEvent, isPointerEvent, walkTriggerEventChain } from './chunks/vidstack-CNjv_Zem.js'; | ||
import * as React from 'react'; | ||
import { createSignal, useScoped } from './chunks/vidstack-D_AcLV4u.js'; | ||
export { audioGainSlider as AudioGainSlider, Captions, ChapterTitle, controls as Controls, GoogleCastButton, MediaAnnouncer, qualitySlider as QualitySlider, speedSlider as SpeedSlider, spinner as Spinner, Title, tooltip as Tooltip, useActiveTextCues, useActiveTextTrack, useChapterOptions, useChapterTitle, useTextCues } from './chunks/vidstack-D_AcLV4u.js'; | ||
import { useMediaContext } from './chunks/vidstack-JwipROjF.js'; | ||
export { AirPlayButton, CaptionButton, FullscreenButton, Gesture, LiveButton, menu as Menu, MuteButton, PIPButton, PlayButton, radioGroup as RadioGroup, SeekButton, slider as Slider, thumbnail as Thumbnail, Time, timeSlider as TimeSlider, volumeSlider as VolumeSlider, useAudioOptions, useCaptionOptions, useMediaPlayer } from './chunks/vidstack-JwipROjF.js'; | ||
import { createSignal, useScoped } from './chunks/vidstack-B4DrK-V8.js'; | ||
export { audioGainSlider as AudioGainSlider, Captions, ChapterTitle, controls as Controls, GoogleCastButton, MediaAnnouncer, qualitySlider as QualitySlider, speedSlider as SpeedSlider, spinner as Spinner, Title, tooltip as Tooltip, useActiveTextCues, useActiveTextTrack, useChapterOptions, useChapterTitle, useTextCues } from './chunks/vidstack-B4DrK-V8.js'; | ||
import { useMediaContext } from './chunks/vidstack-LyUgk-Le.js'; | ||
export { AirPlayButton, CaptionButton, FullscreenButton, Gesture, LiveButton, menu as Menu, MuteButton, PIPButton, PlayButton, radioGroup as RadioGroup, SeekButton, slider as Slider, thumbnail as Thumbnail, Time, timeSlider as TimeSlider, volumeSlider as VolumeSlider, useAudioOptions, useCaptionOptions, useMediaPlayer } from './chunks/vidstack-LyUgk-Le.js'; | ||
import { Icon } from './chunks/vidstack-CBF7iUqu.js'; | ||
export { useMediaRemote, usePlaybackRateOptions, useVideoQualityOptions } from './chunks/vidstack-8aBsfh6i.js'; | ||
export { useMediaRemote, usePlaybackRateOptions, useVideoQualityOptions } from './chunks/vidstack-CINVeZfD.js'; | ||
import '@floating-ui/dom'; | ||
import 'react-dom'; | ||
const GROUPED_LOG = Symbol(0); | ||
class GroupedLog { | ||
constructor(logger, level, title, root, parent) { | ||
this.logger = logger; | ||
this.level = level; | ||
this.title = title; | ||
this.root = root; | ||
this.parent = parent; | ||
} | ||
[GROUPED_LOG] = true; | ||
logs = []; | ||
log(...data) { | ||
this.logs.push({ data }); | ||
return this; | ||
} | ||
labelledLog(label, ...data) { | ||
this.logs.push({ label, data }); | ||
return this; | ||
} | ||
groupStart(title) { | ||
return new GroupedLog(this.logger, this.level, title, this.root ?? this, this); | ||
} | ||
groupEnd() { | ||
this.parent?.logs.push(this); | ||
return this.parent ?? this; | ||
} | ||
dispatch() { | ||
return this.logger.dispatch(this.level, this.root ?? this); | ||
} | ||
} | ||
class Logger { | ||
@@ -61,10 +92,7 @@ #target = null; | ||
this.config = config; | ||
this.priority = 1; | ||
this.#instance = null; | ||
this.#track = null; | ||
this.#typeRE = /(ssa|ass)$/; | ||
} | ||
#instance; | ||
#track; | ||
#typeRE; | ||
priority = 1; | ||
#instance = null; | ||
#track = null; | ||
#typeRE = /(ssa|ass)$/; | ||
canRender(track, video) { | ||
@@ -210,3 +238,3 @@ return !!video && !!track.src && (isString(track.type) && this.#typeRE.test(track.type) || this.#typeRE.test(track.src)); | ||
if (!isGoogleCast || googleCastIconPaths) return; | ||
import('./chunks/vidstack-CFPsCUVw.js').then(function (n) { return n.chromecast; }).then((mod) => { | ||
import('./chunks/vidstack-CNjv_Zem.js').then(function (n) { return n.chromecast; }).then((mod) => { | ||
setGoogleCastIconPaths(mod.default); | ||
@@ -213,0 +241,0 @@ }); |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
2408381
66120