{
  "components": [],
  "elements": [],
  "react": [
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/announcer.tsx"
      },
      "name": "MediaAnnouncer",
      "displayName": "MediaAnnouncer",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/display/announcer"
        },
        {
          "name": "example",
          "text": "```tsx\n<MediaAnnouncer />\n```"
        }
      ],
      "instance": "MediaAnnouncerInstance",
      "attributes": "HTMLAttributes",
      "propsType": "MediaAnnouncerProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/audio-layout.tsx"
      },
      "name": "DefaultAudioLayout",
      "displayName": "DefaultAudioLayout",
      "docs": "The audio layout is our production-ready UI that's displayed when the media view type is set to\n'audio'. It includes support for audio tracks, slider chapters, captions, live streams\nand more out of the box.",
      "doctags": [
        {
          "name": "attr",
          "text": "data-match - Whether this layout is being used."
        },
        {
          "name": "attr",
          "text": "data-sm - The small layout is active"
        },
        {
          "name": "attr",
          "text": "data-lg - The large layout is active."
        },
        {
          "name": "attr",
          "text": "data-size - The active layout size (sm or lg)."
        },
        {
          "name": "example",
          "text": "```tsx\n<MediaPlayer src=\"audio.mp3\">\n  <MediaProvider />\n  <DefaultAudioLayout icons={defaultLayoutIcons} />\n</MediaPlayer>\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        },
        {
          "name": "icons",
          "type": {
            "primitive": "object",
            "concise": "DefaultLayoutIcons",
            "full": "DefaultLayoutIcons"
          },
          "docs": "The icons to be rendered and displayed inside the layout."
        },
        {
          "name": "colorScheme",
          "type": {
            "primitive": "string",
            "concise": "'light' | 'dark' | 'system' | 'default'",
            "full": "'light' | 'dark' | 'system' | 'default'"
          },
          "docs": "Whether light or dark color theme should be active. Defaults to user operating system\npreference.",
          "doctags": [
            {
              "name": "see",
              "text": "https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme"
            }
          ]
        },
        {
          "name": "download",
          "type": {
            "primitive": "mixed",
            "concise": "FileDownloadInfo",
            "full": "string | boolean | { url: string; filename: string; }"
          },
          "docs": "Sets the download URL and filename for the download button."
        },
        {
          "name": "showTooltipDelay",
          "default": "700",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "Specifies the number of milliseconds to wait before tooltips are visible after interacting\nwith a control."
        },
        {
          "name": "showMenuDelay",
          "default": "0",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "Specifies the number of milliseconds to wait before menus are visible after opening them."
        },
        {
          "name": "hideQualityBitrate",
          "default": "false",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether the bitrate should be hidden in the settings quality menu next to each option."
        },
        {
          "name": "smallLayoutWhen",
          "default": "`({ width, height }) => width < 576 || height < 380`",
          "type": {
            "primitive": "boolean",
            "concise": "boolean | MediaPlayerQuery",
            "full": "boolean | MediaPlayerQuery"
          },
          "docs": "Determines when the small (e.g., mobile) UI should be displayed."
        },
        {
          "name": "thumbnails",
          "type": {
            "primitive": "string",
            "concise": "ThumbnailSrc",
            "full": "string | ThumbnailImageInit[] | ThumbnailStoryboard | MuxThumbnailStoryboard"
          },
          "docs": "The thumbnails resource.",
          "doctags": [
            {
              "name": "see",
              "text": "https://www.vidstack.io/docs/wc/player/core-concepts/loading#thumbnails"
            }
          ]
        },
        {
          "name": "translations",
          "type": {
            "primitive": "object",
            "concise": "Partial<DefaultLayoutTranslations>",
            "full": "{ Announcements?: string; Accessibility?: string; AirPlay?: string; Audio?: string; Auto?: string; Boost?: string; Captions?: string; \"Caption Styles\"?: string; \"Captions look like this\"?: string; Chapters?: string; \"Closed-Captions Off\"?: string; \"Closed-Captions On\"?: string; Connected?: string; Continue?: string; Connecting?: string; Default?: string; Disabled?: string; Disconnected?: string; \"Display Background\"?: string; Download?: string; \"Enter Fullscreen\"?: string; \"Enter PiP\"?: string; \"Exit Fullscreen\"?: string; \"Exit PiP\"?: string; Font?: string; Family?: string; Fullscreen?: string; \"Google Cast\"?: string; \"Keyboard Animations\"?: string; LIVE?: string; Loop?: string; Mute?: string; Normal?: string; Off?: string; Pause?: string; Play?: string; Playback?: string; PiP?: string; Quality?: string; Replay?: string; Reset?: string; \"Seek Backward\"?: string; \"Seek Forward\"?: string; Seek?: string; Settings?: string; \"Skip To Live\"?: string; Speed?: string; Size?: string; Color?: string; Opacity?: string; Shadow?: string; Text?: string; \"Text Background\"?: string; Track?: string; Unmute?: string; Volume?: string; }"
          },
          "docs": "Translation map from english to your desired language for words used throughout the layout."
        },
        {
          "name": "menuContainer",
          "default": "`document.body`",
          "type": {
            "primitive": "string",
            "concise": "string | HTMLElement",
            "full": "string | HTMLElement"
          },
          "docs": "A document query selector string or `HTMLElement` to mount menus inside."
        },
        {
          "name": "menuGroup",
          "type": {
            "primitive": "string",
            "concise": "'top' | 'bottom'",
            "full": "'top' | 'bottom'"
          },
          "docs": "Specifies whether menu buttons should be placed in the top or bottom controls group. This\nonly applies to the large video layout."
        },
        {
          "name": "noAudioGain",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Disable audio boost slider in the settings menu."
        },
        {
          "name": "audioGains",
          "type": {
            "primitive": "object",
            "concise": "number[] | { min: number; max: number; step: number; }",
            "full": "number[] | { min: number; max: number; step: number; }"
          },
          "docs": "The audio gain options to be displayed in the settings menu."
        },
        {
          "name": "noModal",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether modal menus should be disabled when the small layout is active. A modal menu is\na floating panel that floats up from the bottom of the screen (outside of the player). It's\nenabled by default as it provides a better user experience for touch devices."
        },
        {
          "name": "noScrubGesture",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether to disable scrubbing by touch swiping left or right on the player canvas."
        },
        {
          "name": "sliderChaptersMinWidth",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "The minimum width of the slider to start displaying slider chapters when available."
        },
        {
          "name": "disableTimeSlider",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether the time slider should be disabled."
        },
        {
          "name": "noGestures",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether all gestures such as press to play or seek should not be active."
        },
        {
          "name": "noKeyboardAnimations",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether keyboard actions should not be displayed."
        },
        {
          "name": "playbackRates",
          "type": {
            "primitive": "object",
            "concise": "number[] | { min: number; max: number; step: number; }",
            "full": "number[] | { min: number; max: number; step: number; }"
          },
          "docs": "The playback rate options to be displayed in the settings menu."
        },
        {
          "name": "seekStep",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "The number of seconds to seek forward or backward when pressing the seek button or using\nkeyboard shortcuts."
        },
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "DefaultAudioLayoutSlots",
            "full": "DefaultAudioLayoutSlots"
          },
          "docs": "Provide additional content to be inserted in specific positions."
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "DefaultAudioLayoutProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/audio-layout.tsx"
      },
      "name": "AudioLayout",
      "displayName": "AudioLayout"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/audio-layout.tsx"
      },
      "name": "DefaultAudioMenus",
      "displayName": "DefaultAudioMenus",
      "props": [
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "Slots<DefaultLayoutMenuSlotName>",
            "full": "{ chaptersMenu?: ReactNode; settingsMenu?: ReactNode; settingsMenuStartItems?: ReactNode; settingsMenuEndItems?: ReactNode; settingsMenuItemsStart?: ReactNode; settingsMenuItemsEnd?: ReactNode; playbackMenuItemsStart?: ReactNode; playbackMenuItemsEnd?: ReactNode; playbackMenuLoop?: ReactNode; accessibilityMenuItemsStart?: ReactNode; accessibilityMenuItemsEnd?: ReactNode; audioMenuItemsStart?: ReactNode; audioMenuItemsEnd?: ReactNode; captionsMenuItemsStart?: ReactNode; captionsMenuItemsEnd?: ReactNode; beforeChaptersMenu?: ReactNode; beforeSettingsMenu?: ReactNode; beforeSettingsMenuStartItems?: ReactNode; beforeSettingsMenuEndItems?: ReactNode; beforeSettingsMenuItemsStart?: ReactNode; beforeSettingsMenuItemsEnd?: ReactNode; beforePlaybackMenuItemsStart?: ReactNode; beforePlaybackMenuItemsEnd?: ReactNode; beforePlaybackMenuLoop?: ReactNode; beforeAccessibilityMenuItemsStart?: ReactNode; beforeAccessibilityMenuItemsEnd?: ReactNode; beforeAudioMenuItemsStart?: ReactNode; beforeAudioMenuItemsEnd?: ReactNode; beforeCaptionsMenuItemsStart?: ReactNode; beforeCaptionsMenuItemsEnd?: ReactNode; afterChaptersMenu?: ReactNode; afterSettingsMenu?: ReactNode; afterSettingsMenuStartItems?: ReactNode; afterSettingsMenuEndItems?: ReactNode; afterSettingsMenuItemsStart?: ReactNode; afterSettingsMenuItemsEnd?: ReactNode; afterPlaybackMenuItemsStart?: ReactNode; afterPlaybackMenuItemsEnd?: ReactNode; afterPlaybackMenuLoop?: ReactNode; afterAccessibilityMenuItemsStart?: ReactNode; afterAccessibilityMenuItemsEnd?: ReactNode; afterAudioMenuItemsStart?: ReactNode; afterAudioMenuItemsEnd?: ReactNode; afterCaptionsMenuItemsStart?: ReactNode; afterCaptionsMenuItemsEnd?: ReactNode; }"
          }
        }
      ],
      "propsType": "{ slots?: Slots<DefaultLayoutMenuSlotName>; }"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/audio-layout.tsx"
      },
      "name": "DefaultAudioTitle",
      "displayName": "DefaultAudioTitle"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/audio-layout.tsx"
      },
      "name": "AudioTitle",
      "displayName": "AudioTitle",
      "props": [
        {
          "name": "title",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "chapterTitle",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        }
      ],
      "propsType": "{ title: string; chapterTitle: string; }"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/announcer.tsx"
      },
      "name": "DefaultAnnouncer",
      "displayName": "DefaultAnnouncer"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/buttons.tsx"
      },
      "name": "DefaultPlayButton",
      "displayName": "DefaultPlayButton",
      "props": [
        {
          "name": "tooltip",
          "type": {
            "primitive": "string",
            "concise": "TooltipPlacement",
            "full": "TooltipPlacementSide | 'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end'"
          }
        }
      ],
      "propsType": "DefaultMediaButtonProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/buttons.tsx"
      },
      "name": "DefaultMuteButton",
      "displayName": "DefaultMuteButton",
      "props": [
        {
          "name": "tooltip",
          "type": {
            "primitive": "string",
            "concise": "TooltipPlacement",
            "full": "TooltipPlacementSide | 'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end'"
          }
        }
      ],
      "propsType": "DefaultMediaButtonProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/buttons.tsx"
      },
      "name": "DefaultCaptionButton",
      "displayName": "DefaultCaptionButton",
      "props": [
        {
          "name": "tooltip",
          "type": {
            "primitive": "string",
            "concise": "TooltipPlacement",
            "full": "TooltipPlacementSide | 'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end'"
          }
        }
      ],
      "propsType": "DefaultMediaButtonProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/buttons.tsx"
      },
      "name": "DefaultPIPButton",
      "displayName": "DefaultPIPButton",
      "props": [
        {
          "name": "tooltip",
          "type": {
            "primitive": "string",
            "concise": "TooltipPlacement",
            "full": "TooltipPlacementSide | 'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end'"
          }
        }
      ],
      "propsType": "DefaultMediaButtonProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/buttons.tsx"
      },
      "name": "DefaultFullscreenButton",
      "displayName": "DefaultFullscreenButton",
      "props": [
        {
          "name": "tooltip",
          "type": {
            "primitive": "string",
            "concise": "TooltipPlacement",
            "full": "TooltipPlacementSide | 'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end'"
          }
        }
      ],
      "propsType": "DefaultMediaButtonProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/buttons.tsx"
      },
      "name": "DefaultSeekButton",
      "displayName": "DefaultSeekButton",
      "props": [
        {
          "name": "tooltip",
          "type": {
            "primitive": "string",
            "concise": "TooltipPlacement",
            "full": "TooltipPlacementSide | 'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end'"
          }
        },
        {
          "name": "backward",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "DefaultMediaButtonProps & { backward?: boolean; }"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/buttons.tsx"
      },
      "name": "DefaultAirPlayButton",
      "displayName": "DefaultAirPlayButton",
      "props": [
        {
          "name": "tooltip",
          "type": {
            "primitive": "string",
            "concise": "TooltipPlacement",
            "full": "TooltipPlacementSide | 'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end'"
          }
        }
      ],
      "propsType": "DefaultMediaButtonProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/buttons.tsx"
      },
      "name": "DefaultGoogleCastButton",
      "displayName": "DefaultGoogleCastButton",
      "props": [
        {
          "name": "tooltip",
          "type": {
            "primitive": "string",
            "concise": "TooltipPlacement",
            "full": "TooltipPlacementSide | 'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end'"
          }
        }
      ],
      "propsType": "DefaultMediaButtonProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/buttons.tsx"
      },
      "name": "DefaultLiveButton",
      "displayName": "DefaultLiveButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/buttons.tsx"
      },
      "name": "DefaultDownloadButton",
      "displayName": "DefaultDownloadButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/captions.tsx"
      },
      "name": "DefaultCaptions",
      "displayName": "DefaultCaptions"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/controls.tsx"
      },
      "name": "DefaultControlsSpacer",
      "displayName": "DefaultControlsSpacer"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/keyboard-display.tsx"
      },
      "name": "DefaultKeyboardDisplay",
      "displayName": "DefaultKeyboardDisplay",
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "icons",
          "type": {
            "primitive": "object",
            "concise": "Partial<DefaultKeyboardDisplayIcons>",
            "full": "{ Play?: DefaultLayoutIcon; Pause?: DefaultLayoutIcon; Mute?: DefaultLayoutIcon; VolumeUp?: DefaultLayoutIcon; VolumeDown?: DefaultLayoutIcon; EnterFullscreen?: DefaultLayoutIcon; ExitFullscreen?: DefaultLayoutIcon; EnterPiP?: DefaultLayoutIcon; ExitPiP?: DefaultLayoutIcon; CaptionsOn?: DefaultLayoutIcon; CaptionsOff?: DefaultLayoutIcon; SeekForward?: DefaultLayoutIcon; SeekBackward?: DefaultLayoutIcon; }"
          }
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "DefaultKeyboardDisplayProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/accessibility-menu.tsx"
      },
      "name": "DefaultAccessibilityMenu",
      "displayName": "DefaultAccessibilityMenu",
      "props": [
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "Slots<DefaultLayoutMenuSlotName>",
            "full": "{ chaptersMenu?: ReactNode; settingsMenu?: ReactNode; settingsMenuStartItems?: ReactNode; settingsMenuEndItems?: ReactNode; settingsMenuItemsStart?: ReactNode; settingsMenuItemsEnd?: ReactNode; playbackMenuItemsStart?: ReactNode; playbackMenuItemsEnd?: ReactNode; playbackMenuLoop?: ReactNode; accessibilityMenuItemsStart?: ReactNode; accessibilityMenuItemsEnd?: ReactNode; audioMenuItemsStart?: ReactNode; audioMenuItemsEnd?: ReactNode; captionsMenuItemsStart?: ReactNode; captionsMenuItemsEnd?: ReactNode; beforeChaptersMenu?: ReactNode; beforeSettingsMenu?: ReactNode; beforeSettingsMenuStartItems?: ReactNode; beforeSettingsMenuEndItems?: ReactNode; beforeSettingsMenuItemsStart?: ReactNode; beforeSettingsMenuItemsEnd?: ReactNode; beforePlaybackMenuItemsStart?: ReactNode; beforePlaybackMenuItemsEnd?: ReactNode; beforePlaybackMenuLoop?: ReactNode; beforeAccessibilityMenuItemsStart?: ReactNode; beforeAccessibilityMenuItemsEnd?: ReactNode; beforeAudioMenuItemsStart?: ReactNode; beforeAudioMenuItemsEnd?: ReactNode; beforeCaptionsMenuItemsStart?: ReactNode; beforeCaptionsMenuItemsEnd?: ReactNode; afterChaptersMenu?: ReactNode; afterSettingsMenu?: ReactNode; afterSettingsMenuStartItems?: ReactNode; afterSettingsMenuEndItems?: ReactNode; afterSettingsMenuItemsStart?: ReactNode; afterSettingsMenuItemsEnd?: ReactNode; afterPlaybackMenuItemsStart?: ReactNode; afterPlaybackMenuItemsEnd?: ReactNode; afterPlaybackMenuLoop?: ReactNode; afterAccessibilityMenuItemsStart?: ReactNode; afterAccessibilityMenuItemsEnd?: ReactNode; afterAudioMenuItemsStart?: ReactNode; afterAudioMenuItemsEnd?: ReactNode; afterCaptionsMenuItemsStart?: ReactNode; afterCaptionsMenuItemsEnd?: ReactNode; }"
          }
        }
      ],
      "propsType": "DefaultAccessibilityMenuProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/accessibility-menu.tsx"
      },
      "name": "DefaultAnnouncementsMenuCheckbox",
      "displayName": "DefaultAnnouncementsMenuCheckbox"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/accessibility-menu.tsx"
      },
      "name": "DefaultKeyboardAnimationsMenuCheckbox",
      "displayName": "DefaultKeyboardAnimationsMenuCheckbox"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/audio-menu.tsx"
      },
      "name": "DefaultAudioMenu",
      "displayName": "DefaultAudioMenu",
      "props": [
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "Slots<DefaultLayoutMenuSlotName>",
            "full": "{ chaptersMenu?: ReactNode; settingsMenu?: ReactNode; settingsMenuStartItems?: ReactNode; settingsMenuEndItems?: ReactNode; settingsMenuItemsStart?: ReactNode; settingsMenuItemsEnd?: ReactNode; playbackMenuItemsStart?: ReactNode; playbackMenuItemsEnd?: ReactNode; playbackMenuLoop?: ReactNode; accessibilityMenuItemsStart?: ReactNode; accessibilityMenuItemsEnd?: ReactNode; audioMenuItemsStart?: ReactNode; audioMenuItemsEnd?: ReactNode; captionsMenuItemsStart?: ReactNode; captionsMenuItemsEnd?: ReactNode; beforeChaptersMenu?: ReactNode; beforeSettingsMenu?: ReactNode; beforeSettingsMenuStartItems?: ReactNode; beforeSettingsMenuEndItems?: ReactNode; beforeSettingsMenuItemsStart?: ReactNode; beforeSettingsMenuItemsEnd?: ReactNode; beforePlaybackMenuItemsStart?: ReactNode; beforePlaybackMenuItemsEnd?: ReactNode; beforePlaybackMenuLoop?: ReactNode; beforeAccessibilityMenuItemsStart?: ReactNode; beforeAccessibilityMenuItemsEnd?: ReactNode; beforeAudioMenuItemsStart?: ReactNode; beforeAudioMenuItemsEnd?: ReactNode; beforeCaptionsMenuItemsStart?: ReactNode; beforeCaptionsMenuItemsEnd?: ReactNode; afterChaptersMenu?: ReactNode; afterSettingsMenu?: ReactNode; afterSettingsMenuStartItems?: ReactNode; afterSettingsMenuEndItems?: ReactNode; afterSettingsMenuItemsStart?: ReactNode; afterSettingsMenuItemsEnd?: ReactNode; afterPlaybackMenuItemsStart?: ReactNode; afterPlaybackMenuItemsEnd?: ReactNode; afterPlaybackMenuLoop?: ReactNode; afterAccessibilityMenuItemsStart?: ReactNode; afterAccessibilityMenuItemsEnd?: ReactNode; afterAudioMenuItemsStart?: ReactNode; afterAudioMenuItemsEnd?: ReactNode; afterCaptionsMenuItemsStart?: ReactNode; afterCaptionsMenuItemsEnd?: ReactNode; }"
          }
        }
      ],
      "propsType": "DefaultAudioMenuProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/audio-menu.tsx"
      },
      "name": "DefaultAudioBoostMenuSection",
      "displayName": "DefaultAudioBoostMenuSection"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/audio-menu.tsx"
      },
      "name": "DefaultAudioGainSlider",
      "displayName": "DefaultAudioGainSlider"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/audio-menu.tsx"
      },
      "name": "DefaultAudioTracksMenu",
      "displayName": "DefaultAudioTracksMenu"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/captions-menu.tsx"
      },
      "name": "DefaultCaptionMenu",
      "displayName": "DefaultCaptionMenu",
      "props": [
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "Slots<DefaultLayoutMenuSlotName>",
            "full": "{ chaptersMenu?: ReactNode; settingsMenu?: ReactNode; settingsMenuStartItems?: ReactNode; settingsMenuEndItems?: ReactNode; settingsMenuItemsStart?: ReactNode; settingsMenuItemsEnd?: ReactNode; playbackMenuItemsStart?: ReactNode; playbackMenuItemsEnd?: ReactNode; playbackMenuLoop?: ReactNode; accessibilityMenuItemsStart?: ReactNode; accessibilityMenuItemsEnd?: ReactNode; audioMenuItemsStart?: ReactNode; audioMenuItemsEnd?: ReactNode; captionsMenuItemsStart?: ReactNode; captionsMenuItemsEnd?: ReactNode; beforeChaptersMenu?: ReactNode; beforeSettingsMenu?: ReactNode; beforeSettingsMenuStartItems?: ReactNode; beforeSettingsMenuEndItems?: ReactNode; beforeSettingsMenuItemsStart?: ReactNode; beforeSettingsMenuItemsEnd?: ReactNode; beforePlaybackMenuItemsStart?: ReactNode; beforePlaybackMenuItemsEnd?: ReactNode; beforePlaybackMenuLoop?: ReactNode; beforeAccessibilityMenuItemsStart?: ReactNode; beforeAccessibilityMenuItemsEnd?: ReactNode; beforeAudioMenuItemsStart?: ReactNode; beforeAudioMenuItemsEnd?: ReactNode; beforeCaptionsMenuItemsStart?: ReactNode; beforeCaptionsMenuItemsEnd?: ReactNode; afterChaptersMenu?: ReactNode; afterSettingsMenu?: ReactNode; afterSettingsMenuStartItems?: ReactNode; afterSettingsMenuEndItems?: ReactNode; afterSettingsMenuItemsStart?: ReactNode; afterSettingsMenuItemsEnd?: ReactNode; afterPlaybackMenuItemsStart?: ReactNode; afterPlaybackMenuItemsEnd?: ReactNode; afterPlaybackMenuLoop?: ReactNode; afterAccessibilityMenuItemsStart?: ReactNode; afterAccessibilityMenuItemsEnd?: ReactNode; afterAudioMenuItemsStart?: ReactNode; afterAudioMenuItemsEnd?: ReactNode; afterCaptionsMenuItemsStart?: ReactNode; afterCaptionsMenuItemsEnd?: ReactNode; }"
          }
        }
      ],
      "propsType": "DefaultCaptionMenuProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/chapters-menu.tsx"
      },
      "name": "DefaultChaptersMenu",
      "displayName": "DefaultChaptersMenu",
      "props": [
        {
          "name": "tooltip",
          "type": {
            "primitive": "string",
            "concise": "TooltipPlacement",
            "full": "TooltipPlacementSide | 'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end'"
          }
        },
        {
          "name": "placement",
          "type": {
            "primitive": "string",
            "concise": "MenuPlacement",
            "full": "'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end' | MenuPlacementSide"
          }
        },
        {
          "name": "portalClass",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "Slots<DefaultLayoutMenuSlotName>",
            "full": "{ chaptersMenu?: ReactNode; settingsMenu?: ReactNode; settingsMenuStartItems?: ReactNode; settingsMenuEndItems?: ReactNode; settingsMenuItemsStart?: ReactNode; settingsMenuItemsEnd?: ReactNode; playbackMenuItemsStart?: ReactNode; playbackMenuItemsEnd?: ReactNode; playbackMenuLoop?: ReactNode; accessibilityMenuItemsStart?: ReactNode; accessibilityMenuItemsEnd?: ReactNode; audioMenuItemsStart?: ReactNode; audioMenuItemsEnd?: ReactNode; captionsMenuItemsStart?: ReactNode; captionsMenuItemsEnd?: ReactNode; beforeChaptersMenu?: ReactNode; beforeSettingsMenu?: ReactNode; beforeSettingsMenuStartItems?: ReactNode; beforeSettingsMenuEndItems?: ReactNode; beforeSettingsMenuItemsStart?: ReactNode; beforeSettingsMenuItemsEnd?: ReactNode; beforePlaybackMenuItemsStart?: ReactNode; beforePlaybackMenuItemsEnd?: ReactNode; beforePlaybackMenuLoop?: ReactNode; beforeAccessibilityMenuItemsStart?: ReactNode; beforeAccessibilityMenuItemsEnd?: ReactNode; beforeAudioMenuItemsStart?: ReactNode; beforeAudioMenuItemsEnd?: ReactNode; beforeCaptionsMenuItemsStart?: ReactNode; beforeCaptionsMenuItemsEnd?: ReactNode; afterChaptersMenu?: ReactNode; afterSettingsMenu?: ReactNode; afterSettingsMenuStartItems?: ReactNode; afterSettingsMenuEndItems?: ReactNode; afterSettingsMenuItemsStart?: ReactNode; afterSettingsMenuItemsEnd?: ReactNode; afterPlaybackMenuItemsStart?: ReactNode; afterPlaybackMenuItemsEnd?: ReactNode; afterPlaybackMenuLoop?: ReactNode; afterAccessibilityMenuItemsStart?: ReactNode; afterAccessibilityMenuItemsEnd?: ReactNode; afterAudioMenuItemsStart?: ReactNode; afterAudioMenuItemsEnd?: ReactNode; afterCaptionsMenuItemsStart?: ReactNode; afterCaptionsMenuItemsEnd?: ReactNode; }"
          }
        }
      ],
      "propsType": "DefaultMediaMenuProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultFontMenu",
      "displayName": "DefaultFontMenu"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultFontFamilyMenu",
      "displayName": "DefaultFontFamilyMenu"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultFontSizeSlider",
      "displayName": "DefaultFontSizeSlider"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultTextColorInput",
      "displayName": "DefaultTextColorInput"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultTextOpacitySlider",
      "displayName": "DefaultTextOpacitySlider"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultTextShadowMenu",
      "displayName": "DefaultTextShadowMenu"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultTextBgInput",
      "displayName": "DefaultTextBgInput"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultTextBgOpacitySlider",
      "displayName": "DefaultTextBgOpacitySlider"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultDisplayBgInput",
      "displayName": "DefaultDisplayBgInput"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultDisplayBgOpacitySlider",
      "displayName": "DefaultDisplayBgOpacitySlider"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultFontSetting",
      "displayName": "DefaultFontSetting",
      "propsType": "DefaultFontSettingProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultFontRadioGroup",
      "displayName": "DefaultFontRadioGroup",
      "props": [
        {
          "name": "id",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "label",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "value",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "values",
          "type": {
            "primitive": "any",
            "concise": "FontRadioOption",
            "full": "FontRadioOption"
          }
        }
      ],
      "propsType": "DefaultFontRadioGroupProps",
      "callbacks": [
        {
          "name": "onChange",
          "type": {
            "primitive": "function",
            "concise": "(value: string) => void",
            "full": "(value: string) => void"
          },
          "parameters": [
            {
              "name": "value",
              "type": {
                "primitive": "string",
                "concise": "string",
                "full": "string"
              }
            }
          ]
        }
      ]
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/font-menu.tsx"
      },
      "name": "DefaultResetMenuItem",
      "displayName": "DefaultResetMenuItem"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/items/menu-checkbox.tsx"
      },
      "name": "DefaultMenuCheckbox",
      "displayName": "DefaultMenuCheckbox",
      "props": [
        {
          "name": "label",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "checked",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "storageKey",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "defaultChecked",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "DefaultMenuCheckboxProps",
      "callbacks": [
        {
          "name": "onChange",
          "type": {
            "primitive": "function",
            "concise": "(checked: boolean, trigger?: Event) => void",
            "full": "(checked: boolean, trigger?: Event) => void"
          },
          "parameters": [
            {
              "name": "checked",
              "type": {
                "primitive": "boolean",
                "concise": "boolean",
                "full": "boolean"
              }
            },
            {
              "name": "trigger",
              "type": {
                "primitive": "object",
                "concise": "Event",
                "full": "Event"
              }
            }
          ]
        }
      ]
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/items/menu-items.tsx"
      },
      "name": "DefaultMenuSection",
      "displayName": "DefaultMenuSection",
      "props": [
        {
          "name": "label",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "value",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "DefaultMenuSectionProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/items/menu-items.tsx"
      },
      "name": "DefaultMenuButton",
      "displayName": "DefaultMenuButton",
      "props": [
        {
          "name": "label",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "hint",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "disabled",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "Icon",
          "type": {
            "primitive": "function",
            "concise": "DefaultLayoutIcon",
            "full": "DefaultLayoutIcon"
          }
        }
      ],
      "propsType": "DefaultMenuButtonProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/items/menu-items.tsx"
      },
      "name": "DefaultMenuItem",
      "displayName": "DefaultMenuItem",
      "props": [
        {
          "name": "label",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "DefaultMenuItemProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/items/menu-items.tsx"
      },
      "name": "DefaultMenuRadioGroup",
      "displayName": "DefaultMenuRadioGroup",
      "props": [
        {
          "name": "value",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "options",
          "type": {
            "primitive": "object",
            "concise": "{ label: string; value: string; }[]",
            "full": "{ label: string; value: string; }[]"
          }
        }
      ],
      "propsType": "DefaultMenuRadioGroupProps",
      "callbacks": [
        {
          "name": "onChange",
          "type": {
            "primitive": "function",
            "concise": "(newValue: string) => void",
            "full": "(newValue: string) => void"
          },
          "parameters": [
            {
              "name": "newValue",
              "type": {
                "primitive": "string",
                "concise": "string",
                "full": "string"
              }
            }
          ]
        }
      ]
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/items/menu-slider.tsx"
      },
      "name": "DefaultMenuSliderItem",
      "displayName": "DefaultMenuSliderItem",
      "props": [
        {
          "name": "label",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "value",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "UpIcon",
          "type": {
            "primitive": "function",
            "concise": "DefaultLayoutIcon",
            "full": "DefaultLayoutIcon"
          }
        },
        {
          "name": "DownIcon",
          "type": {
            "primitive": "function",
            "concise": "DefaultLayoutIcon",
            "full": "DefaultLayoutIcon"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        },
        {
          "name": "isMin",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "isMax",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "DefaultMenuSliderItemProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/items/menu-slider.tsx"
      },
      "name": "DefaultSliderParts",
      "displayName": "DefaultSliderParts"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/items/menu-slider.tsx"
      },
      "name": "DefaultSliderSteps",
      "displayName": "DefaultSliderSteps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/playback-menu.tsx"
      },
      "name": "DefaultPlaybackMenu",
      "displayName": "DefaultPlaybackMenu",
      "props": [
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "Slots<DefaultLayoutMenuSlotName>",
            "full": "{ chaptersMenu?: ReactNode; settingsMenu?: ReactNode; settingsMenuStartItems?: ReactNode; settingsMenuEndItems?: ReactNode; settingsMenuItemsStart?: ReactNode; settingsMenuItemsEnd?: ReactNode; playbackMenuItemsStart?: ReactNode; playbackMenuItemsEnd?: ReactNode; playbackMenuLoop?: ReactNode; accessibilityMenuItemsStart?: ReactNode; accessibilityMenuItemsEnd?: ReactNode; audioMenuItemsStart?: ReactNode; audioMenuItemsEnd?: ReactNode; captionsMenuItemsStart?: ReactNode; captionsMenuItemsEnd?: ReactNode; beforeChaptersMenu?: ReactNode; beforeSettingsMenu?: ReactNode; beforeSettingsMenuStartItems?: ReactNode; beforeSettingsMenuEndItems?: ReactNode; beforeSettingsMenuItemsStart?: ReactNode; beforeSettingsMenuItemsEnd?: ReactNode; beforePlaybackMenuItemsStart?: ReactNode; beforePlaybackMenuItemsEnd?: ReactNode; beforePlaybackMenuLoop?: ReactNode; beforeAccessibilityMenuItemsStart?: ReactNode; beforeAccessibilityMenuItemsEnd?: ReactNode; beforeAudioMenuItemsStart?: ReactNode; beforeAudioMenuItemsEnd?: ReactNode; beforeCaptionsMenuItemsStart?: ReactNode; beforeCaptionsMenuItemsEnd?: ReactNode; afterChaptersMenu?: ReactNode; afterSettingsMenu?: ReactNode; afterSettingsMenuStartItems?: ReactNode; afterSettingsMenuEndItems?: ReactNode; afterSettingsMenuItemsStart?: ReactNode; afterSettingsMenuItemsEnd?: ReactNode; afterPlaybackMenuItemsStart?: ReactNode; afterPlaybackMenuItemsEnd?: ReactNode; afterPlaybackMenuLoop?: ReactNode; afterAccessibilityMenuItemsStart?: ReactNode; afterAccessibilityMenuItemsEnd?: ReactNode; afterAudioMenuItemsStart?: ReactNode; afterAudioMenuItemsEnd?: ReactNode; afterCaptionsMenuItemsStart?: ReactNode; afterCaptionsMenuItemsEnd?: ReactNode; }"
          }
        }
      ],
      "propsType": "DefaultPlaybackMenuProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/playback-menu.tsx"
      },
      "name": "DefaultLoopMenuCheckbox",
      "displayName": "DefaultLoopMenuCheckbox"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/playback-menu.tsx"
      },
      "name": "DefaultAutoQualityMenuCheckbox",
      "displayName": "DefaultAutoQualityMenuCheckbox"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/playback-menu.tsx"
      },
      "name": "DefaultQualityMenuSection",
      "displayName": "DefaultQualityMenuSection"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/playback-menu.tsx"
      },
      "name": "DefaultQualitySlider",
      "displayName": "DefaultQualitySlider"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/playback-menu.tsx"
      },
      "name": "DefaultSpeedMenuSection"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/playback-menu.tsx"
      },
      "name": "DefaultSpeedSlider",
      "displayName": "DefaultSpeedSlider"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/menus/settings-menu.tsx"
      },
      "name": "DefaultSettingsMenu",
      "displayName": "DefaultSettingsMenu",
      "props": [
        {
          "name": "tooltip",
          "type": {
            "primitive": "string",
            "concise": "TooltipPlacement",
            "full": "TooltipPlacementSide | 'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end'"
          }
        },
        {
          "name": "placement",
          "type": {
            "primitive": "string",
            "concise": "MenuPlacement",
            "full": "'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end' | MenuPlacementSide"
          }
        },
        {
          "name": "portalClass",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "Slots<DefaultLayoutMenuSlotName>",
            "full": "{ chaptersMenu?: ReactNode; settingsMenu?: ReactNode; settingsMenuStartItems?: ReactNode; settingsMenuEndItems?: ReactNode; settingsMenuItemsStart?: ReactNode; settingsMenuItemsEnd?: ReactNode; playbackMenuItemsStart?: ReactNode; playbackMenuItemsEnd?: ReactNode; playbackMenuLoop?: ReactNode; accessibilityMenuItemsStart?: ReactNode; accessibilityMenuItemsEnd?: ReactNode; audioMenuItemsStart?: ReactNode; audioMenuItemsEnd?: ReactNode; captionsMenuItemsStart?: ReactNode; captionsMenuItemsEnd?: ReactNode; beforeChaptersMenu?: ReactNode; beforeSettingsMenu?: ReactNode; beforeSettingsMenuStartItems?: ReactNode; beforeSettingsMenuEndItems?: ReactNode; beforeSettingsMenuItemsStart?: ReactNode; beforeSettingsMenuItemsEnd?: ReactNode; beforePlaybackMenuItemsStart?: ReactNode; beforePlaybackMenuItemsEnd?: ReactNode; beforePlaybackMenuLoop?: ReactNode; beforeAccessibilityMenuItemsStart?: ReactNode; beforeAccessibilityMenuItemsEnd?: ReactNode; beforeAudioMenuItemsStart?: ReactNode; beforeAudioMenuItemsEnd?: ReactNode; beforeCaptionsMenuItemsStart?: ReactNode; beforeCaptionsMenuItemsEnd?: ReactNode; afterChaptersMenu?: ReactNode; afterSettingsMenu?: ReactNode; afterSettingsMenuStartItems?: ReactNode; afterSettingsMenuEndItems?: ReactNode; afterSettingsMenuItemsStart?: ReactNode; afterSettingsMenuItemsEnd?: ReactNode; afterPlaybackMenuItemsStart?: ReactNode; afterPlaybackMenuItemsEnd?: ReactNode; afterPlaybackMenuLoop?: ReactNode; afterAccessibilityMenuItemsStart?: ReactNode; afterAccessibilityMenuItemsEnd?: ReactNode; afterAudioMenuItemsStart?: ReactNode; afterAudioMenuItemsEnd?: ReactNode; afterCaptionsMenuItemsStart?: ReactNode; afterCaptionsMenuItemsEnd?: ReactNode; }"
          }
        }
      ],
      "propsType": "DefaultMediaMenuProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/sliders.tsx"
      },
      "name": "DefaultVolumePopup",
      "displayName": "DefaultVolumePopup",
      "props": [
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "DefaultLayoutSlots",
            "full": "DefaultLayoutSlots"
          }
        },
        {
          "name": "tooltip",
          "type": {
            "primitive": "string",
            "concise": "TooltipPlacement",
            "full": "TooltipPlacementSide | 'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end'"
          }
        },
        {
          "name": "orientation",
          "type": {
            "primitive": "string",
            "concise": "SliderOrientation",
            "full": "'horizontal' | 'vertical'"
          }
        }
      ],
      "propsType": "DefaultVolumePopupProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/sliders.tsx"
      },
      "name": "DefaultVolumeSlider",
      "displayName": "DefaultVolumeSlider",
      "instance": "VolumeSliderInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "RootProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/sliders.tsx"
      },
      "name": "DefaultTimeSlider",
      "displayName": "DefaultTimeSlider"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/time.tsx"
      },
      "name": "DefaultTimeGroup",
      "displayName": "DefaultTimeGroup",
      "props": [
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "DefaultTimeGroupSlots",
            "full": "DefaultTimeGroupSlots"
          }
        }
      ],
      "propsType": "{ slots?: DefaultTimeGroupSlots; }"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/time.tsx"
      },
      "name": "DefaultTimeInfo",
      "displayName": "DefaultTimeInfo",
      "props": [
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "DefaultTimeInfoSlots",
            "full": "DefaultTimeInfoSlots"
          }
        }
      ],
      "propsType": "{ slots?: DefaultTimeInfoSlots; }"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/time.tsx"
      },
      "name": "DefaultTimeInvert",
      "displayName": "DefaultTimeInvert",
      "props": [
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "DefaultTimeInfoSlots",
            "full": "DefaultTimeInfoSlots"
          }
        }
      ],
      "propsType": "{ slots?: DefaultTimeInfoSlots; }"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/title.tsx"
      },
      "name": "DefaultTitle",
      "displayName": "DefaultTitle"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/ui/tooltip.tsx"
      },
      "name": "DefaultTooltip",
      "displayName": "DefaultTooltip",
      "props": [
        {
          "name": "content",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "placement",
          "type": {
            "primitive": "string",
            "concise": "TooltipPlacement",
            "full": "TooltipPlacementSide | 'top center' | 'top start' | 'top end' | 'bottom center' | 'bottom start' | 'bottom end' | 'right center' | 'right start' | 'right end' | 'left center' | 'left start' | 'left end'"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "DefaultTooltipProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/video-layout.tsx"
      },
      "name": "DefaultVideoLayout",
      "displayName": "DefaultVideoLayout",
      "docs": "The video layout is our production-ready UI that's displayed when the media view type is set to\n'video'. It includes support for picture-in-picture, fullscreen, slider chapters, slider\npreviews, captions, audio/quality settings, live streams, and more out of the box.",
      "doctags": [
        {
          "name": "attr",
          "text": "data-match - Whether this layout is being used."
        },
        {
          "name": "attr",
          "text": "data-sm - The small layout is active"
        },
        {
          "name": "attr",
          "text": "data-lg - The large layout is active."
        },
        {
          "name": "attr",
          "text": "data-size - The active layout size (sm or lg)."
        },
        {
          "name": "example",
          "text": "```tsx\n<MediaPlayer src=\"video.mp4\">\n  <MediaProvider />\n  <DefaultVideoLayout thumbnails=\"/thumbnails.vtt\" icons={defaultLayoutIcons} />\n</MediaPlayer>\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        },
        {
          "name": "icons",
          "type": {
            "primitive": "object",
            "concise": "DefaultLayoutIcons",
            "full": "DefaultLayoutIcons"
          },
          "docs": "The icons to be rendered and displayed inside the layout."
        },
        {
          "name": "colorScheme",
          "type": {
            "primitive": "string",
            "concise": "'light' | 'dark' | 'system' | 'default'",
            "full": "'light' | 'dark' | 'system' | 'default'"
          },
          "docs": "Whether light or dark color theme should be active. Defaults to user operating system\npreference.",
          "doctags": [
            {
              "name": "see",
              "text": "https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme"
            }
          ]
        },
        {
          "name": "download",
          "type": {
            "primitive": "mixed",
            "concise": "FileDownloadInfo",
            "full": "string | boolean | { url: string; filename: string; }"
          },
          "docs": "Sets the download URL and filename for the download button."
        },
        {
          "name": "showTooltipDelay",
          "default": "700",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "Specifies the number of milliseconds to wait before tooltips are visible after interacting\nwith a control."
        },
        {
          "name": "showMenuDelay",
          "default": "0",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "Specifies the number of milliseconds to wait before menus are visible after opening them."
        },
        {
          "name": "hideQualityBitrate",
          "default": "false",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether the bitrate should be hidden in the settings quality menu next to each option."
        },
        {
          "name": "smallLayoutWhen",
          "default": "`({ width, height }) => width < 576 || height < 380`",
          "type": {
            "primitive": "boolean",
            "concise": "boolean | MediaPlayerQuery",
            "full": "boolean | MediaPlayerQuery"
          },
          "docs": "Determines when the small (e.g., mobile) UI should be displayed."
        },
        {
          "name": "thumbnails",
          "type": {
            "primitive": "string",
            "concise": "ThumbnailSrc",
            "full": "string | ThumbnailImageInit[] | ThumbnailStoryboard | MuxThumbnailStoryboard"
          },
          "docs": "The thumbnails resource.",
          "doctags": [
            {
              "name": "see",
              "text": "https://www.vidstack.io/docs/wc/player/core-concepts/loading#thumbnails"
            }
          ]
        },
        {
          "name": "translations",
          "type": {
            "primitive": "object",
            "concise": "Partial<DefaultLayoutTranslations>",
            "full": "{ Announcements?: string; Accessibility?: string; AirPlay?: string; Audio?: string; Auto?: string; Boost?: string; Captions?: string; \"Caption Styles\"?: string; \"Captions look like this\"?: string; Chapters?: string; \"Closed-Captions Off\"?: string; \"Closed-Captions On\"?: string; Connected?: string; Continue?: string; Connecting?: string; Default?: string; Disabled?: string; Disconnected?: string; \"Display Background\"?: string; Download?: string; \"Enter Fullscreen\"?: string; \"Enter PiP\"?: string; \"Exit Fullscreen\"?: string; \"Exit PiP\"?: string; Font?: string; Family?: string; Fullscreen?: string; \"Google Cast\"?: string; \"Keyboard Animations\"?: string; LIVE?: string; Loop?: string; Mute?: string; Normal?: string; Off?: string; Pause?: string; Play?: string; Playback?: string; PiP?: string; Quality?: string; Replay?: string; Reset?: string; \"Seek Backward\"?: string; \"Seek Forward\"?: string; Seek?: string; Settings?: string; \"Skip To Live\"?: string; Speed?: string; Size?: string; Color?: string; Opacity?: string; Shadow?: string; Text?: string; \"Text Background\"?: string; Track?: string; Unmute?: string; Volume?: string; }"
          },
          "docs": "Translation map from english to your desired language for words used throughout the layout."
        },
        {
          "name": "menuContainer",
          "default": "`document.body`",
          "type": {
            "primitive": "string",
            "concise": "string | HTMLElement",
            "full": "string | HTMLElement"
          },
          "docs": "A document query selector string or `HTMLElement` to mount menus inside."
        },
        {
          "name": "menuGroup",
          "type": {
            "primitive": "string",
            "concise": "'top' | 'bottom'",
            "full": "'top' | 'bottom'"
          },
          "docs": "Specifies whether menu buttons should be placed in the top or bottom controls group. This\nonly applies to the large video layout."
        },
        {
          "name": "noAudioGain",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Disable audio boost slider in the settings menu."
        },
        {
          "name": "audioGains",
          "type": {
            "primitive": "object",
            "concise": "number[] | { min: number; max: number; step: number; }",
            "full": "number[] | { min: number; max: number; step: number; }"
          },
          "docs": "The audio gain options to be displayed in the settings menu."
        },
        {
          "name": "noModal",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether modal menus should be disabled when the small layout is active. A modal menu is\na floating panel that floats up from the bottom of the screen (outside of the player). It's\nenabled by default as it provides a better user experience for touch devices."
        },
        {
          "name": "noScrubGesture",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether to disable scrubbing by touch swiping left or right on the player canvas."
        },
        {
          "name": "sliderChaptersMinWidth",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "The minimum width of the slider to start displaying slider chapters when available."
        },
        {
          "name": "disableTimeSlider",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether the time slider should be disabled."
        },
        {
          "name": "noGestures",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether all gestures such as press to play or seek should not be active."
        },
        {
          "name": "noKeyboardAnimations",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether keyboard actions should not be displayed."
        },
        {
          "name": "playbackRates",
          "type": {
            "primitive": "object",
            "concise": "number[] | { min: number; max: number; step: number; }",
            "full": "number[] | { min: number; max: number; step: number; }"
          },
          "docs": "The playback rate options to be displayed in the settings menu."
        },
        {
          "name": "seekStep",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "The number of seconds to seek forward or backward when pressing the seek button or using\nkeyboard shortcuts."
        },
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "DefaultVideoLayoutSlots",
            "full": "DefaultVideoLayoutSlots"
          },
          "docs": "Provide additional content to be inserted in specific positions."
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "DefaultVideoLayoutProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/video-layout.tsx"
      },
      "name": "VideoLayout",
      "displayName": "VideoLayout",
      "propsType": "{ streamType: any; isLoadLayout: any; isSmallLayout: any; }"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/video-layout.tsx"
      },
      "name": "DefaultVideoLargeLayout",
      "displayName": "DefaultVideoLargeLayout"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/video-layout.tsx"
      },
      "name": "DefaultVideoSmallLayout",
      "displayName": "DefaultVideoSmallLayout"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/video-layout.tsx"
      },
      "name": "DefaultVideoStartDuration",
      "displayName": "DefaultVideoStartDuration"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/video-layout.tsx"
      },
      "name": "DefaultVideoGestures",
      "displayName": "DefaultVideoGestures"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/video-layout.tsx"
      },
      "name": "DefaultBufferingIndicator",
      "displayName": "DefaultBufferingIndicator"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/video-layout.tsx"
      },
      "name": "DefaultVideoMenus",
      "displayName": "DefaultVideoMenus",
      "props": [
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "Slots<DefaultLayoutMenuSlotName>",
            "full": "{ chaptersMenu?: ReactNode; settingsMenu?: ReactNode; settingsMenuStartItems?: ReactNode; settingsMenuEndItems?: ReactNode; settingsMenuItemsStart?: ReactNode; settingsMenuItemsEnd?: ReactNode; playbackMenuItemsStart?: ReactNode; playbackMenuItemsEnd?: ReactNode; playbackMenuLoop?: ReactNode; accessibilityMenuItemsStart?: ReactNode; accessibilityMenuItemsEnd?: ReactNode; audioMenuItemsStart?: ReactNode; audioMenuItemsEnd?: ReactNode; captionsMenuItemsStart?: ReactNode; captionsMenuItemsEnd?: ReactNode; beforeChaptersMenu?: ReactNode; beforeSettingsMenu?: ReactNode; beforeSettingsMenuStartItems?: ReactNode; beforeSettingsMenuEndItems?: ReactNode; beforeSettingsMenuItemsStart?: ReactNode; beforeSettingsMenuItemsEnd?: ReactNode; beforePlaybackMenuItemsStart?: ReactNode; beforePlaybackMenuItemsEnd?: ReactNode; beforePlaybackMenuLoop?: ReactNode; beforeAccessibilityMenuItemsStart?: ReactNode; beforeAccessibilityMenuItemsEnd?: ReactNode; beforeAudioMenuItemsStart?: ReactNode; beforeAudioMenuItemsEnd?: ReactNode; beforeCaptionsMenuItemsStart?: ReactNode; beforeCaptionsMenuItemsEnd?: ReactNode; afterChaptersMenu?: ReactNode; afterSettingsMenu?: ReactNode; afterSettingsMenuStartItems?: ReactNode; afterSettingsMenuEndItems?: ReactNode; afterSettingsMenuItemsStart?: ReactNode; afterSettingsMenuItemsEnd?: ReactNode; afterPlaybackMenuItemsStart?: ReactNode; afterPlaybackMenuItemsEnd?: ReactNode; afterPlaybackMenuLoop?: ReactNode; afterAccessibilityMenuItemsStart?: ReactNode; afterAccessibilityMenuItemsEnd?: ReactNode; afterAudioMenuItemsStart?: ReactNode; afterAudioMenuItemsEnd?: ReactNode; afterCaptionsMenuItemsStart?: ReactNode; afterCaptionsMenuItemsEnd?: ReactNode; }"
          }
        }
      ],
      "propsType": "{ slots?: Slots<DefaultLayoutMenuSlotName>; }"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/video-layout.tsx"
      },
      "name": "DefaultVideoLoadLayout",
      "displayName": "DefaultVideoLoadLayout"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/default/video-layout.tsx"
      },
      "name": "DefaultVideoKeyboardDisplay",
      "displayName": "DefaultVideoKeyboardDisplay"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrLayout",
      "displayName": "PlyrLayout",
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "icons",
          "type": {
            "primitive": "object",
            "concise": "PlyrLayoutIcons",
            "full": "PlyrLayoutIcons"
          },
          "docs": "The icons to be rendered and displayed inside the layout."
        },
        {
          "name": "posterFrame",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "The frame of the video to use as the poster. This only works with Remotion sources at the\nmoment."
        },
        {
          "name": "clickToPlay",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Press the video container to toggle play/pause."
        },
        {
          "name": "clickToFullscreen",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Double-press the video container to toggle fullscreen."
        },
        {
          "name": "controls",
          "type": {
            "primitive": "object",
            "concise": "PlyrControl[]",
            "full": "PlyrControl[]"
          },
          "docs": "The controls to be included in the layout and their order specified by the position in the\narray."
        },
        {
          "name": "displayDuration",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Whether the duration should be displayed. This is ignored if `toggleTime` is `true`."
        },
        {
          "name": "download",
          "type": {
            "primitive": "mixed",
            "concise": "FileDownloadInfo",
            "full": "string | boolean | { url: string; filename: string; }"
          },
          "docs": "Sets the download URL and filename for the download button. The download button must be\nincluded in the `controls` prop for this to take effect."
        },
        {
          "name": "markers",
          "type": {
            "primitive": "object",
            "concise": "PlyrMarker[]",
            "full": "PlyrMarker[]"
          },
          "docs": "Points on the time slider which should be visually marked for the user."
        },
        {
          "name": "invertTime",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Display the current time as a countdown rather than an incremental counter."
        },
        {
          "name": "thumbnails",
          "type": {
            "primitive": "string",
            "concise": "ThumbnailSrc",
            "full": "string | ThumbnailImageInit[] | ThumbnailStoryboard | MuxThumbnailStoryboard"
          },
          "docs": "The thumbnails resource.",
          "doctags": [
            {
              "name": "see",
              "text": "https://www.vidstack.io/docs/wc/player/core-concepts/loading#thumbnails"
            }
          ]
        },
        {
          "name": "toggleTime",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Allow users to press to toggle the inverted time."
        },
        {
          "name": "translations",
          "type": {
            "primitive": "object",
            "concise": "Partial<PlyrLayoutTranslations>",
            "full": "{ AirPlay?: string; Audio?: string; Auto?: string; Captions?: string; Default?: string; Disabled?: string; Download?: string; \"Enter Fullscreen\"?: string; \"Enter PiP\"?: string; \"Exit Fullscreen\"?: string; \"Exit PiP\"?: string; LIVE?: string; Loop?: string; Mute?: string; Normal?: string; Pause?: string; Play?: string; Quality?: string; Reset?: string; Seek?: string; Settings?: string; Speed?: string; Unmute?: string; Volume?: string; Start?: string; End?: string; Ad?: string; All?: string; Buffered?: string; \"Current time\"?: string; \"Disable captions\"?: string; Duration?: string; \"Enable captions\"?: string; Enabled?: string; Forward?: string; \"Go back to previous menu\"?: string; Played?: string; Restart?: string; Rewind?: string; }"
          },
          "docs": "Translation map from english to your desired language for words used throughout the layout."
        },
        {
          "name": "seekTime",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "The time, in seconds, to seek when a user hits fast forward or rewind."
        },
        {
          "name": "speed",
          "type": {
            "primitive": "object",
            "concise": "(string | number)[]",
            "full": "(string | number)[]"
          },
          "docs": "The speed options to display in the UI."
        },
        {
          "name": "slots",
          "type": {
            "primitive": "object",
            "concise": "PlyrLayoutSlots",
            "full": "PlyrLayoutSlots"
          },
          "docs": "Provide additional content to be inserted in specific positions."
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "PlyrLayoutElementProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrAudioLayout",
      "displayName": "PlyrAudioLayout"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrVideoLayout",
      "displayName": "PlyrVideoLayout"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrPlayLargeButton",
      "displayName": "PlyrPlayLargeButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrPreviewScrubbing",
      "displayName": "PlyrPreviewScrubbing"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrPoster",
      "displayName": "PlyrPoster"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrAudioControls",
      "displayName": "PlyrAudioControls"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrVideoControls",
      "displayName": "PlyrVideoControls"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrAirPlayButton",
      "displayName": "PlyrAirPlayButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrCaptionsButton",
      "displayName": "PlyrCaptionsButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrFullscreenButton",
      "displayName": "PlyrFullscreenButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrPIPButton",
      "displayName": "PlyrPIPButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrMuteButton",
      "displayName": "PlyrMuteButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrPlayButton",
      "displayName": "PlyrPlayButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrRestartButton",
      "displayName": "PlyrRestartButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrFastForwardButton",
      "displayName": "PlyrFastForwardButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrRewindButton",
      "displayName": "PlyrRewindButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrTimeSlider",
      "displayName": "PlyrTimeSlider"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrVolumeSlider",
      "displayName": "PlyrVolumeSlider"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrVolume",
      "displayName": "PlyrVolume",
      "props": [
        {
          "name": "type",
          "type": {
            "primitive": "string",
            "concise": "PlyrControl",
            "full": "'progress' | 'captions' | 'volume' | 'download' | 'airplay' | 'current-time' | 'duration' | 'fast-forward' | 'fullscreen' | 'mute' | 'mute+volume' | 'pip' | 'play-large' | 'play' | 'restart' | 'rewind' | 'settings'"
          }
        }
      ],
      "propsType": "{ type: PlyrControl; }"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrCurrentTime",
      "displayName": "PlyrCurrentTime"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrDuration",
      "displayName": "PlyrDuration"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrDownloadButton",
      "displayName": "PlyrDownloadButton"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrGestures",
      "displayName": "PlyrGestures"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrCaptions",
      "displayName": "PlyrCaptions"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrSettings",
      "displayName": "PlyrSettings"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrMenuButton",
      "displayName": "PlyrMenuButton",
      "props": [
        {
          "name": "label",
          "type": {
            "primitive": "string",
            "concise": "PlyrLayoutWord",
            "full": "'AirPlay' | 'Audio' | 'Auto' | 'Captions' | 'Default' | 'Disabled' | 'Download' | 'Enter Fullscreen' | 'Enter PiP' | 'Exit Fullscreen' | 'Exit PiP' | 'LIVE' | 'Loop' | 'Mute' | 'Normal' | 'Pause' | 'Play' | 'Quality' | 'Reset' | 'Seek' | 'Settings' | 'Speed' | 'Unmute' | 'Volume' | 'Start' | 'End' | 'Ad' | 'All' | 'Buffered' | 'Current time' | 'Disable captions' | 'Duration' | 'Enable captions' | 'Enabled' | 'Forward' | 'Go back to previous menu' | 'Played' | 'Restart' | 'Rewind'"
          }
        },
        {
          "name": "hint",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "open",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "disabled",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "{ label: PlyrLayoutWord; hint?: string; open: boolean; disabled: boolean; }"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrMenu",
      "displayName": "PlyrMenu",
      "props": [
        {
          "name": "label",
          "type": {
            "primitive": "string",
            "concise": "PlyrLayoutWord",
            "full": "'AirPlay' | 'Audio' | 'Auto' | 'Captions' | 'Default' | 'Disabled' | 'Download' | 'Enter Fullscreen' | 'Enter PiP' | 'Exit Fullscreen' | 'Exit PiP' | 'LIVE' | 'Loop' | 'Mute' | 'Normal' | 'Pause' | 'Play' | 'Quality' | 'Reset' | 'Seek' | 'Settings' | 'Speed' | 'Unmute' | 'Volume' | 'Start' | 'End' | 'Ad' | 'All' | 'Buffered' | 'Current time' | 'Disable captions' | 'Duration' | 'Enable captions' | 'Enabled' | 'Forward' | 'Go back to previous menu' | 'Played' | 'Restart' | 'Rewind'"
          }
        },
        {
          "name": "hint",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "disabled",
          "type": {
            "primitive": "any",
            "concise": "any",
            "full": "any"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "{ label: PlyrLayoutWord; hint?: string; disabled: any; children: ReactNode; }"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrAudioMenu",
      "displayName": "PlyrAudioMenu"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrSpeedMenu",
      "displayName": "PlyrSpeedMenu"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrCaptionsMenu",
      "displayName": "PlyrCaptionsMenu"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/layouts/plyr/layout.tsx"
      },
      "name": "PlyrQualityMenu",
      "displayName": "PlyrQualityMenu"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/player.tsx"
      },
      "name": "MediaPlayer",
      "displayName": "MediaPlayer",
      "docs": "All media components exist inside the `<MediaPlayer>` component. This component's main\nresponsibilities are to manage media state updates, dispatch media events, handle media\nrequests, and expose media state through HTML attributes and CSS properties for styling\npurposes.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/media/player"
        },
        {
          "name": "example",
          "text": "```tsx\n<MediaPlayer src=\"...\">\n  <MediaProvider />\n</MediaPlayer>\n```"
        }
      ],
      "instance": "MediaPlayerInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "src",
          "type": {
            "primitive": "string",
            "concise": "PlayerSrc",
            "full": "PlayerSrc | RemotionSrc<RemotionInputProps>"
          },
          "docs": "The URL or object of the current media resource/s to be considered for playback.",
          "doctags": [
            {
              "name": "see",
              "text": "https://vidstack.io/docs/player/core-concepts/loading#sources"
            }
          ]
        },
        {
          "name": "aspectRatio",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          }
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "MediaPlayerProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "MediaPlayerInstance",
          "full": "MediaPlayerInstance"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/primitives/nodes.tsx"
      },
      "name": "Primitive",
      "propsType": "Primitives"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/primitives/slot.tsx"
      },
      "namespace": "Slot",
      "name": "Slot",
      "displayName": "Slot",
      "attributes": "HTMLAttributes<HTMLElement>",
      "props": [
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "SlotProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/primitives/slot.tsx"
      },
      "name": "SlotClone",
      "displayName": "SlotClone",
      "props": [
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "SlotCloneProps",
      "ref": {
        "type": {
          "primitive": "any",
          "concise": "any",
          "full": "any"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/primitives/slot.tsx"
      },
      "namespace": "Slot",
      "name": "Slottable",
      "props": [
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "{ children: ReactNode; }"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/provider.tsx"
      },
      "name": "MediaProvider",
      "displayName": "MediaProvider",
      "docs": "Renders the current provider at this component location.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/media/provider"
        },
        {
          "name": "example",
          "text": "```tsx\n<MediaPlayer src=\"...\">\n  <MediaProvider />\n</MediaPlayer>\n```"
        }
      ],
      "instance": "MediaProviderInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "loaders",
          "type": {
            "primitive": "object",
            "concise": "(new () => MediaProviderLoader<MediaProviderAdapter>)[]",
            "full": "(new () => MediaProviderLoader<MediaProviderAdapter>)[]"
          }
        },
        {
          "name": "iframeProps",
          "type": {
            "primitive": "object",
            "concise": "IframeHTMLAttributes<HTMLIFrameElement>",
            "full": "IframeHTMLAttributes<HTMLIFrameElement>"
          }
        },
        {
          "name": "mediaProps",
          "type": {
            "primitive": "object",
            "concise": "HTMLAttributes<HTMLMediaElement>",
            "full": "HTMLAttributes<HTMLMediaElement>"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "MediaProviderProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "MediaProviderInstance",
          "full": "MediaProviderInstance"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/provider.tsx"
      },
      "name": "MediaOutlet",
      "displayName": "MediaOutlet",
      "props": [
        {
          "name": "provider",
          "type": {
            "primitive": "object",
            "concise": "MediaProviderInstance",
            "full": "MediaProviderInstance"
          }
        },
        {
          "name": "mediaProps",
          "type": {
            "primitive": "object",
            "concise": "HTMLAttributes<HTMLMediaElement>",
            "full": "HTMLAttributes<HTMLMediaElement>"
          }
        },
        {
          "name": "iframeProps",
          "type": {
            "primitive": "object",
            "concise": "IframeHTMLAttributes<HTMLIFrameElement>",
            "full": "IframeHTMLAttributes<HTMLIFrameElement>"
          }
        }
      ],
      "propsType": "MediaOutletProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/text-track.tsx"
      },
      "name": "Track",
      "displayName": "Track",
      "docs": "Creates a new `TextTrack` object and adds it to the player.",
      "doctags": [
        {
          "name": "see",
          "text": "https://www.vidstack.io/docs/player/api/text-tracks"
        },
        {
          "name": "example",
          "text": "```tsx\n<MediaPlayer>\n  <MediaProvider>\n    <Track\n      src=\"english.vtt\"\n      kind=\"subtitles\"\n      label=\"English\"\n      lang=\"en-US\"\n      default\n    />\n  </MediaProvider>\n</MediaPlayer>\n```"
        }
      ],
      "props": [
        {
          "name": "id",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          },
          "docs": "A unique identifier.",
          "doctags": [
            {
              "name": "see",
              "text": "https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/id"
            }
          ],
          "readonly": true
        },
        {
          "name": "src",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          },
          "docs": "URL of the text track resource. This attribute must be specified and its URL value must have\nthe same origin as the document — unless the <audio> or <video> parent element of the track\nelement has a `crossorigin` attribute.",
          "readonly": true
        },
        {
          "name": "content",
          "type": {
            "primitive": "string",
            "concise": "string | VTTContent",
            "full": "string | VTTContent"
          },
          "docs": "Used to directly pass in text track file contents.",
          "readonly": true
        },
        {
          "name": "type",
          "default": "'vtt'",
          "type": {
            "primitive": "string",
            "concise": "'json' | CaptionsFileFormat | CaptionsParserFactory",
            "full": "'json' | CaptionsFileFormat | CaptionsParserFactory"
          },
          "docs": "The captions file format to be parsed or a custom parser factory (functions that returns a\ncaptions parser). Supported types include: 'vtt', 'srt', 'ssa', 'ass', and 'json'.",
          "readonly": true
        },
        {
          "name": "encoding",
          "default": "'utf-8'",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          },
          "docs": "The text encoding type to be used when decoding data bytes to text.",
          "doctags": [
            {
              "name": "see",
              "text": "https://developer.mozilla.org/en-US/docs/Web/API/Encoding_API/Encodings"
            }
          ],
          "readonly": true
        },
        {
          "name": "default",
          "default": "false",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          },
          "docs": "Indicates that the track should be enabled unless the user's preferences indicate that\nanother track is more appropriate. This may only be used on one track element per media\nelement.",
          "readonly": true
        },
        {
          "name": "kind",
          "type": {
            "primitive": "string",
            "concise": "TextTrackKind",
            "full": "'metadata' | 'captions' | 'chapters' | 'descriptions' | 'subtitles'"
          },
          "docs": "The kind of text track this object represents. This decides how the track will be handled\nby the player.",
          "doctags": [
            {
              "name": "see",
              "text": "https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/kind"
            }
          ],
          "readonly": true
        },
        {
          "name": "label",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          },
          "docs": "A human-readable label for the text track. This will be displayed to the user.",
          "doctags": [
            {
              "name": "see",
              "text": "https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/label"
            }
          ],
          "readonly": true
        },
        {
          "name": "language",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          },
          "docs": "A string containing a language identifier. For example, `\"en-US\"` for United States English\nor `\"pt-BR\"` for Brazilian Portuguese.",
          "doctags": [
            {
              "name": "see",
              "text": "https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/language"
            },
            {
              "name": "see",
              "text": "https://datatracker.ietf.org/doc/html/rfc5646"
            }
          ],
          "readonly": true
        },
        {
          "name": "lang",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          },
          "docs": "A string containing a language identifier. For example, `\"en-US\"` for United States English\nor `\"pt-BR\"` for Brazilian Portuguese. This is a short alias for `language`.",
          "doctags": [
            {
              "name": "see",
              "text": "https://developer.mozilla.org/en-US/docs/Web/API/TextTrack/language"
            },
            {
              "name": "see",
              "text": "https://datatracker.ietf.org/doc/html/rfc5646"
            }
          ],
          "readonly": true
        },
        {
          "name": "key",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          },
          "docs": "React list key.",
          "readonly": true
        }
      ],
      "propsType": "TrackProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/buttons/airplay-button.tsx"
      },
      "name": "AirPlayButton",
      "displayName": "AirPlayButton",
      "docs": "A button for requesting to connect to Apple AirPlay.",
      "doctags": [
        {
          "name": "see",
          "text": "https://www.apple.com/au/airplay"
        },
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/buttons/airplay-button"
        },
        {
          "name": "example",
          "text": "```tsx\n<AirPlayButton>\n  <AirPlayIcon />\n</AirPlayButton>\n```"
        }
      ],
      "instance": "AirPlayButtonInstance",
      "attributes": "HTMLAttributes<HTMLButtonElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "AirPlayButtonProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/buttons/caption-button.tsx"
      },
      "name": "CaptionButton",
      "displayName": "CaptionButton",
      "docs": "A button for toggling the showing state of the captions.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/buttons/caption-button"
        },
        {
          "name": "example",
          "text": "```tsx\nconst track = useMediaState('textTrack'),\n  isOn = track && isTrackCaptionKind(track);\n\n<CaptionButton>\n  {isOn ? <OnIcon /> : <OffIcon />}\n</CaptionButton>\n```"
        }
      ],
      "instance": "CaptionButtonInstance",
      "attributes": "HTMLAttributes<HTMLButtonElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "CaptionButtonProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/buttons/fullscreen-button.tsx"
      },
      "name": "FullscreenButton",
      "displayName": "FullscreenButton",
      "docs": "A button for toggling the fullscreen mode of the player.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/buttons/fullscreen-button"
        },
        {
          "name": "see",
          "text": "https://www.vidstack.io/docs/player/api/fullscreen"
        },
        {
          "name": "example",
          "text": "```tsx\nconst isActive = useMediaState('fullscreen');\n\n<FullscreenButton>\n  {!isActive ? <EnterIcon /> : <ExitIcon />}\n</FullscreenButton>\n```"
        }
      ],
      "instance": "FullscreenButtonInstance",
      "attributes": "HTMLAttributes<HTMLButtonElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "FullscreenButtonProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/buttons/google-cast-button.tsx"
      },
      "name": "GoogleCastButton",
      "displayName": "GoogleCastButton",
      "docs": "A button for requesting Google Cast.",
      "doctags": [
        {
          "name": "see",
          "text": "https://developers.google.com/cast/docs/overview"
        },
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/buttons/google-cast-button"
        },
        {
          "name": "example",
          "text": "```tsx\n<GoogleCastButton>\n  <ChromecastIcon />\n</GoogleCastButton>\n```"
        }
      ],
      "instance": "GoogleCastButtonInstance",
      "attributes": "HTMLAttributes<HTMLButtonElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "GoogleCastButtonProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/buttons/live-button.tsx"
      },
      "name": "LiveButton",
      "displayName": "LiveButton",
      "docs": "This component displays the current live status of the stream. This includes whether it's\nlive, at the live edge, or not live. In addition, this component is a button during live streams\nand will skip ahead to the live edge when pressed.\n\n🚨 This component will have `aria-hidden=\"true\"` applied when the current stream is _not_\nlive.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/buttons/live-button"
        },
        {
          "name": "example",
          "text": "```tsx\n<LiveButton>\n  <LiveIcon />\n</LiveButton>\n```"
        }
      ],
      "instance": "LiveButtonInstance",
      "attributes": "HTMLAttributes<HTMLButtonElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "LiveButtonProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/buttons/mute-button.tsx"
      },
      "name": "MuteButton",
      "displayName": "MuteButton",
      "docs": "A button for toggling the muted state of the player.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/buttons/mute-button"
        },
        {
          "name": "example",
          "text": "```tsx\nconst volume = useMediaState('volume'),\n  isMuted = useMediaState('muted');\n\n<MuteButton>\n  {isMuted || volume == 0 ? (\n    <MuteIcon />\n  ) : volume < 0.5 ? (\n    <VolumeLowIcon />\n  ) : (\n    <VolumeHighIcon />\n  )}\n</MuteButton>\n```"
        }
      ],
      "instance": "MuteButtonInstance",
      "attributes": "HTMLAttributes<HTMLButtonElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "MuteButtonProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/buttons/pip-button.tsx"
      },
      "name": "PIPButton",
      "displayName": "PIPButton",
      "docs": "A button for toggling the picture-in-picture (PIP) mode of the player.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/buttons/pip-button"
        },
        {
          "name": "see",
          "text": "https://www.vidstack.io/docs/player/api/picture-in-picture"
        },
        {
          "name": "example",
          "text": "```tsx\nconst isActive = useMediaState('pictureInPicture');\n\n<PIPButton>\n  {!isActive ? <EnterIcon /> : <ExitIcon />}\n</PIPButton>\n```"
        }
      ],
      "instance": "PIPButtonInstance",
      "attributes": "HTMLAttributes<HTMLButtonElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "PIPButtonProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/buttons/play-button.tsx"
      },
      "name": "PlayButton",
      "displayName": "PlayButton",
      "docs": "A button for toggling the playback state (play/pause) of the current media.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/buttons/play-button"
        },
        {
          "name": "example",
          "text": "```tsx\nconst isPaused = useMediaState('paused');\n\n<PlayButton>\n  {isPaused ? <PlayIcon /> : <PauseIcon />}\n</PlayButton>\n```"
        }
      ],
      "instance": "PlayButtonInstance",
      "attributes": "HTMLAttributes<HTMLButtonElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "PlayButtonProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/buttons/seek-button.tsx"
      },
      "name": "SeekButton",
      "displayName": "SeekButton",
      "docs": "A button for seeking the current media playback forwards or backwards by a specified amount.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/buttons/seek-button"
        },
        {
          "name": "example",
          "text": "```tsx\n<SeekButton seconds={-10}>\n  <SeekBackwardIcon />\n</SeekButton>\n\n<SeekButton seconds={10}>\n  <SeekForwardIcon />\n</SeekButton>\n```"
        }
      ],
      "instance": "SeekButtonInstance",
      "attributes": "HTMLAttributes<HTMLButtonElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "SeekButtonProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/buttons/toggle-button.tsx"
      },
      "name": "ToggleButton",
      "displayName": "ToggleButton",
      "docs": "A toggle button is a two-state button that can be either off (not pressed) or on (pressed).",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/buttons/toggle-button"
        },
        {
          "name": "example",
          "text": "```tsx\n<ToggleButton aria-label=\"...\">\n  <OnIcon />\n  <OffIcon />\n</ToggleButton>\n```"
        }
      ],
      "instance": "ToggleButtonInstance",
      "attributes": "HTMLAttributes<HTMLButtonElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "ToggleButtonProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/caption.tsx"
      },
      "name": "Root",
      "displayName": "Caption",
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "RootProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/caption.tsx"
      },
      "name": "Text",
      "displayName": "CaptionText",
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "TextProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/captions.tsx"
      },
      "name": "Captions",
      "displayName": "Captions",
      "docs": "Renders and displays captions/subtitles. This will be an overlay for video and a simple\ncaptions box for audio.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/display/captions"
        },
        {
          "name": "example",
          "text": "```tsx\n<Captions />\n```"
        }
      ],
      "instance": "CaptionsInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "CaptionsProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "CaptionsInstance",
          "full": "CaptionsInstance"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/chapter-title.tsx"
      },
      "name": "ChapterTitle",
      "displayName": "ChapterTitle",
      "docs": "This component is used to load and display the current chapter title based on the text tracks\nprovided.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/display/chapter-title"
        },
        {
          "name": "example",
          "text": "```tsx\n<ChapterTitle />\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "defaultText",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          },
          "docs": "Specify text to be displayed when no chapter title is available."
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "ChapterTitleProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/controls.tsx"
      },
      "namespace": "Controls",
      "name": "Root",
      "displayName": "Controls",
      "docs": "This component creates a container for control groups.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/media/controls"
        },
        {
          "name": "example",
          "text": "```tsx\n<Controls.Root>\n  <Controls.Group></Controls.Group>\n  <Controls.Group></Controls.Group>\n<Controls.Root>\n```"
        }
      ],
      "instance": "ControlsInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "RootProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/controls.tsx"
      },
      "namespace": "Controls",
      "name": "Group",
      "displayName": "ControlsGroup",
      "docs": "This component creates a container for media controls.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/media/controls#group"
        },
        {
          "name": "example",
          "text": "```tsx\n<Controls.Root>\n  <Controls.Group></Controls.Group>\n  <Controls.Group></Controls.Group>\n<Controls.Root>\n```"
        }
      ],
      "instance": "ControlsGroupInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "GroupProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/gesture.tsx"
      },
      "name": "Gesture",
      "displayName": "Gesture",
      "docs": "This component enables actions to be performed on the media based on user gestures.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/media/gesture"
        },
        {
          "name": "example",
          "text": "```tsx\n<Gesture event=\"pointerup\" action=\"toggle:paused\" />\n<Gesture event=\"dblpointerup\" action=\"toggle:fullscreen\" />\n```"
        }
      ],
      "instance": "GestureInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "GestureProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "GestureInstance",
          "full": "GestureInstance"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/menu.tsx"
      },
      "namespace": "Menu",
      "exports": [
        {
          "file": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/radio-group",
          "alias": {
            "Root": "RadioGroup",
            "Item": "Radio",
            "RootProps": "RadioGroupProps",
            "ItemProps": "RadioProps"
          }
        }
      ],
      "name": "Root",
      "displayName": "Menu",
      "docs": "Root menu container used to hold and manage a menu button and menu items. This component is\nused to display options in a floating panel. They can be nested to create submenus.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/menu/menu"
        },
        {
          "name": "example",
          "text": "```tsx\n<Menu.Root>\n  <Menu.Button></Menu.Button>\n  <Menu.Content placement=\"top end\"></Menu.Content>\n</Menu.Root>\n```"
        }
      ],
      "instance": "MenuInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "RootProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "MenuInstance",
          "full": "MenuInstance"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/menu.tsx"
      },
      "namespace": "Menu",
      "name": "Button",
      "displayName": "MenuButton",
      "docs": "A button that controls the opening and closing of a menu component. The button will become a\n`menuitem` when used inside a submenu.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/menu/menu"
        },
        {
          "name": "example",
          "text": "```tsx\n<Menu.Root>\n  <Menu.Button></Menu.Button>\n  <Menu.Content placement=\"top end\"></Menu.Content>\n</Menu.Root>\n```"
        }
      ],
      "instance": "MenuButtonInstance",
      "attributes": "HTMLAttributes<HTMLButtonElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "ButtonProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/menu.tsx"
      },
      "namespace": "Menu",
      "name": "Portal",
      "displayName": "MenuPortal",
      "docs": "Portals menu items into the given container.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/menu#portal"
        },
        {
          "name": "example",
          "text": "```tsx\n<Menu.Root>\n  <Menu.Button></Menu.Button>\n  <Menu.Portal>\n    <Menu.Content placement=\"top end\"></Menu.Content>\n  </Menu.Portal>\n</Menu.Root>\n```"
        }
      ],
      "instance": "MenuPortalInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "PortalProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/menu.tsx"
      },
      "namespace": "Menu",
      "name": "Items",
      "displayName": "MenuItems",
      "docs": "Used to group and display settings or arbitrary content in a floating panel.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/menu/menu"
        },
        {
          "name": "example",
          "text": "```tsx\n<Menu.Root>\n  <Menu.Button></Menu.Button>\n  <Menu.Items placement=\"top end\"></Menu.Items>\n</Menu.Root>\n```"
        }
      ],
      "instance": "MenuItemsInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "ItemsProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/menu.tsx"
      },
      "namespace": "Menu",
      "name": "Item",
      "displayName": "MenuItem",
      "docs": "Represents a specific option or action, typically displayed as a text label or icon, which\nusers can select to access or perform a particular function or view related content.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/menu/menu"
        },
        {
          "name": "example",
          "text": "```tsx\n<Menu.Root>\n  <Menu.Button></Menu.Button>\n  <Menu.Content placement=\"top end\">\n    <Menu.Item></Menu.Item>\n  </Menu.Content>\n</Menu.Root>\n```"
        }
      ],
      "instance": "MenuItemInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "ItemProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/poster.tsx"
      },
      "name": "Poster",
      "displayName": "Poster",
      "docs": "Loads and displays the current media poster image. By default, the media provider's\nloading strategy is respected meaning the poster won't load until the media can.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/media/poster"
        },
        {
          "name": "example",
          "text": "```tsx\n<MediaPlayer>\n  <MediaProvider>\n    <Poster src=\"...\" alt=\"...\" />\n  </MediaProvider>\n</MediaPlayer>\n```"
        }
      ],
      "instance": "PosterInstance",
      "attributes": "HTMLAttributes<HTMLImageElement>",
      "props": [
        {
          "name": "alt",
          "type": {
            "primitive": "string",
            "concise": "string",
            "full": "string"
          },
          "docs": "♿ **ARIA:** Provides alternative information for a poster image if a user for some reason\ncannot view it."
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "PosterProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLImageElement",
          "full": "HTMLImageElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/poster.tsx"
      },
      "name": "PosterImg",
      "displayName": "PosterImg",
      "props": [
        {
          "name": "instance",
          "type": {
            "primitive": "object",
            "concise": "PosterInstance",
            "full": "PosterInstance"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "PosterImgProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLImageElement",
          "full": "HTMLImageElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/radio-group.tsx"
      },
      "namespace": "RadioGroup",
      "name": "Root",
      "displayName": "RadioGroup",
      "docs": "A radio group consists of options where only one of them can be checked. Each option is\nprovided as a radio (i.e., a selectable element).",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/menu/radio-group"
        },
        {
          "name": "example",
          "text": "```tsx\n<RadioGroup.Root>\n  <RadioGroup.Item value=\"1080\">1080p</RadioGroup.Item>\n  <RadioGroup.Item value=\"720\">720p</RadioGroup.Item>\n</RadioGroup.Root>\n```"
        }
      ],
      "instance": "RadioGroupInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "RootProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "RadioGroupInstance",
          "full": "RadioGroupInstance"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/radio-group.tsx"
      },
      "namespace": "RadioGroup",
      "name": "Item",
      "displayName": "RadioItem",
      "docs": "A radio represents a option that a user can select inside of a radio group. Only one radio\ncan be checked in a group.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/menu/radio"
        },
        {
          "name": "example",
          "text": "```tsx\n<RadioGroup.Item value=\"1080\">1080p</RadioGroup.Item>\n```"
        }
      ],
      "instance": "RadioInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "ItemProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/audio-gain-slider.tsx"
      },
      "namespace": "AudioGainSlider",
      "exports": [
        {
          "file": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/slider"
        }
      ],
      "name": "Root",
      "displayName": "AudioGainSlider",
      "docs": "Versatile and user-friendly audio boost control designed for seamless cross-browser and provider\ncompatibility and accessibility with ARIA support. It offers a smooth user experience for both\nmouse and touch interactions and is highly customizable in terms of styling. Users can\neffortlessly change the audio gain within the range 0 to 100.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/sliders/audio-gain-slider"
        },
        {
          "name": "example",
          "text": "```tsx\n<AudioGainSlider.Root>\n  <AudioGainSlider.Track>\n    <AudioGainSlider.TrackFill />\n  </AudioGainSlider.Track>\n  <AudioGainSlider.Thumb />\n</AudioGainSlider.Root>\n```"
        }
      ],
      "instance": "AudioGainSliderInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "RootProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "AudioGainSliderInstance",
          "full": "AudioGainSliderInstance"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/quality-slider.tsx"
      },
      "namespace": "QualitySlider",
      "exports": [
        {
          "file": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/slider"
        }
      ],
      "name": "Root",
      "displayName": "QualitySlider",
      "docs": "Versatile and user-friendly input video quality control designed for seamless cross-browser and\nprovider compatibility and accessibility with ARIA support. It offers a smooth user experience\nfor both mouse and touch interactions and is highly customizable in terms of styling.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/sliders/quality-slider"
        },
        {
          "name": "example",
          "text": "```tsx\n<QualitySlider.Root>\n  <QualitySlider.Track>\n    <QualitySlider.TrackFill />\n  </QualitySlider.Track>\n  <QualitySlider.Thumb />\n</QualitySlider.Root>\n```"
        }
      ],
      "instance": "QualitySliderInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "RootProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "QualitySliderInstance",
          "full": "QualitySliderInstance"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/slider.tsx"
      },
      "namespace": "Slider",
      "name": "Root",
      "displayName": "Slider",
      "docs": "Versatile and user-friendly input control designed for seamless cross-browser compatibility and\naccessibility with ARIA support. It offers a smooth user experience for both mouse and touch\ninteractions and is highly customizable in terms of styling. Users can effortlessly input numeric\nvalues within a specified range, defined by a minimum and maximum value.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/sliders/slider"
        },
        {
          "name": "example",
          "text": "```tsx\n<Slider.Root>\n  <Slider.Track>\n    <Slider.TrackFill />\n  </Slider.Track>\n  <Slider.Thumb />\n</Slider.Root>\n```"
        }
      ],
      "instance": "SliderInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "RootProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "SliderInstance",
          "full": "SliderInstance"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/slider.tsx"
      },
      "namespace": "Slider",
      "name": "Thumb",
      "displayName": "SliderThumb",
      "docs": "Purely visual element used to display a draggable handle to the user for adjusting the value\non the slider component.",
      "doctags": [
        {
          "name": "example",
          "text": "```tsx\n<Slider.Root>\n  <Slider.Thumb />\n</Slider.Root>\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "ThumbProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/slider.tsx"
      },
      "namespace": "Slider",
      "name": "Track",
      "displayName": "SliderTrack",
      "docs": "Visual element inside the slider that serves as a horizontal or vertical bar, providing a\nvisual reference for the range or values that can be selected by moving the slider thumb along\nit. Users can interact with the slider by dragging the thumb along the track to set a specific\nvalue.",
      "doctags": [
        {
          "name": "example",
          "text": "```tsx\n<Slider.Root>\n  <Slider.Track>\n    <Slider.TrackFill />\n  </Slider.Track>\n</Slider.Root>\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "TrackProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/slider.tsx"
      },
      "namespace": "Slider",
      "name": "TrackFill",
      "displayName": "SliderTrackFill",
      "docs": "Portion of the slider track that is visually filled or highlighted to indicate the selected or\ncurrently chosen range or value. As the slider thumb is moved along the track, the track\nfill dynamically adjusts to visually represent the portion of the track that corresponds to the\nselected value or range, providing users with a clear visual indication of their selection.",
      "doctags": [
        {
          "name": "example",
          "text": "```tsx\n<Slider.Root>\n  <Slider.Track>\n    <Slider.TrackFill />\n  </Slider.Track>\n</Slider.Root>\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "TrackFillProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/slider.tsx"
      },
      "namespace": "Slider",
      "name": "Preview",
      "displayName": "SliderPreview",
      "docs": "Used to provide users with a real-time or interactive preview of the value or selection they\nare making as they move the slider thumb. This can include displaying the current pointer\nvalue numerically, or displaying a thumbnail over the time slider.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/slider#preview"
        },
        {
          "name": "example",
          "text": "```tsx\n<Slider.Root>\n  <Slider.Preview>\n    <Slider.Value />\n  </Slider.Preview>\n</Slider.Root>\n```"
        }
      ],
      "instance": "SliderPreviewInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "PreviewProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/slider.tsx"
      },
      "namespace": "Slider",
      "name": "Value",
      "displayName": "SliderValue",
      "docs": "Displays the specific numeric representation of the current or pointer value of the slider.\nWhen a user interacts with a slider by moving its thumb along the track, the slider value\nchanges accordingly.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/slider#preview"
        },
        {
          "name": "example",
          "text": "```tsx\n<Slider.Root>\n  <Slider.Preview>\n    <Slider.Value />\n  </Slider.Preview>\n</Slider.Root>\n```"
        }
      ],
      "instance": "SliderValueInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "ValueProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/slider.tsx"
      },
      "namespace": "Slider",
      "name": "Steps",
      "displayName": "SliderSteps",
      "docs": "Visual markers that can be used to indicate value steps on the slider track.",
      "doctags": [
        {
          "name": "example",
          "text": "```tsx\n<Slider.Root>\n  <Slider.Steps className=\"steps\">\n    {(step) => <div className=\"step\" key={String(step)}></div>}\n  </Slider.Steps>\n</Slider.Root>\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "children",
          "type": {
            "primitive": "function",
            "concise": "(step: number) => ReactNode",
            "full": "(step: number) => ReactNode"
          }
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "StepsProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/speed-slider.tsx"
      },
      "namespace": "SpeedSlider",
      "exports": [
        {
          "file": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/slider"
        }
      ],
      "name": "Root",
      "displayName": "SpeedSlider",
      "docs": "Versatile and user-friendly input playback rate control designed for seamless cross-browser and\nprovider compatibility and accessibility with ARIA support. It offers a smooth user experience\nfor both mouse and touch interactions and is highly customizable in terms of styling.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/sliders/speed-slider"
        },
        {
          "name": "example",
          "text": "```tsx\n<SpeedSlider.Root>\n  <SpeedSlider.Track>\n    <SpeedSlider.TrackFill />\n  </SpeedSlider.Track>\n  <SpeedSlider.Thumb />\n</SpeedSlider.Root>\n```"
        }
      ],
      "instance": "SpeedSliderInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "RootProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "SpeedSliderInstance",
          "full": "SpeedSliderInstance"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/time-slider.tsx"
      },
      "namespace": "TimeSlider",
      "exports": [
        {
          "file": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/slider"
        }
      ],
      "name": "Root",
      "displayName": "TimeSlider",
      "docs": "Versatile and user-friendly input time control designed for seamless cross-browser and provider\ncompatibility and accessibility with ARIA support. It offers a smooth user experience for both\nmouse and touch interactions and is highly customizable in terms of styling. Users can\neffortlessly change the current playback time within the range 0 to seekable end.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/sliders/time-slider"
        },
        {
          "name": "example",
          "text": "```tsx\n<TimeSlider.Root>\n  <TimeSlider.Track>\n    <TimeSlider.TrackFill />\n    <TimeSlider.Progress />\n  </TimeSlider.Track>\n  <TimeSlider.Thumb />\n</TimeSlider.Root>\n```"
        }
      ],
      "instance": "TimeSliderInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "RootProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "TimeSliderInstance",
          "full": "TimeSliderInstance"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/time-slider.tsx"
      },
      "namespace": "TimeSlider",
      "name": "Chapters",
      "displayName": "SliderChapters",
      "docs": "Used to create predefined sections within a time slider interface based on the currently\nactive chapters text track.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/slider-chapters"
        },
        {
          "name": "example",
          "text": "```tsx\n<TimeSlider.Root>\n  <TimeSlider.Chapters>\n    {(cues, forwardRef) =>\n      cues.map((cue) => (\n        <div key={cue.startTime} ref={forwardRef}>\n          <TimeSlider.Track>\n            <TimeSlider.TrackFill />\n            <TimeSlider.Progress />\n          </TimeSlider.Track>\n       </div>\n    ))}\n  </TimeSlider.Chapters>\n</TimeSlider.Root>\n```"
        }
      ],
      "instance": "SliderChaptersInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "children",
          "type": {
            "primitive": "function",
            "concise": "(cues: VTTCue[], forwardRef: (instance: HTMLElement) => void | (() => VoidOrUndefinedOnly)) => ReactNode",
            "full": "(cues: VTTCue[], forwardRef: (instance: HTMLElement) => void | (() => VoidOrUndefinedOnly)) => ReactNode"
          }
        }
      ],
      "propsType": "ChaptersProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLDivElement",
          "full": "HTMLDivElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/time-slider.tsx"
      },
      "name": "ChapterTracks",
      "displayName": "SliderChapterTracks",
      "props": [
        {
          "name": "instance",
          "type": {
            "primitive": "object",
            "concise": "SliderChaptersInstance",
            "full": "SliderChaptersInstance"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "function",
            "concise": "(cues: VTTCue[], forwardRef: (instance: HTMLElement) => void | (() => VoidOrUndefinedOnly)) => ReactNode",
            "full": "(cues: VTTCue[], forwardRef: (instance: HTMLElement) => void | (() => VoidOrUndefinedOnly)) => ReactNode"
          }
        }
      ],
      "propsType": "ChapterTracksProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/time-slider.tsx"
      },
      "namespace": "TimeSlider",
      "name": "ChapterTitle",
      "displayName": "SliderChapterTitle",
      "docs": "Used to display the active cue text based on the slider value and preview value.",
      "doctags": [
        {
          "name": "example",
          "text": "```tsx\n<TimeSlider.Root>\n  <TimeSlider.Preview>\n    <TimeSlider.Chapter />\n  </TimeSlider.Preview>\n</TimeSlider.Root>\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "ChapterTitleProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/time-slider.tsx"
      },
      "namespace": "TimeSlider",
      "name": "Progress",
      "displayName": "SliderProgress",
      "docs": "Visual element inside the slider that serves as a horizontal or vertical bar, providing a\nvisual reference for the range of playback that has buffered/loaded.",
      "doctags": [
        {
          "name": "example",
          "text": "```tsx\n<TimeSlider.Root>\n  <TimeSlider.Track>\n    <TimeSlider.Progress />\n  </TimeSlider.Track>\n</TimeSlider.Root>\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "ProgressProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/time-slider.tsx"
      },
      "name": "ThumbnailRoot",
      "displayName": "SliderThumbnail",
      "docs": "Used to display preview thumbnails when the user is hovering or dragging the time slider.\nThe time ranges in the WebVTT file will automatically be matched based on the current slider\npointer position.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/sliders/slider-thumbnail"
        },
        {
          "name": "example",
          "text": "```tsx\n<TimeSlider.Root>\n  <TimeSlider.Preview>\n    <TimeSlider.Thumbnail.Root src=\"thumbnails.vtt\">\n      <TimeSlider.Thumbnail.Img />\n    </TimeSlider.Thumbnail.Root>\n  </TimeSlider.Preview>\n</TimeSlider.Root>\n```"
        }
      ],
      "instance": "SliderThumbnailInstance",
      "attributes": "HTMLAttributes<HTMLElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "ThumbnailProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/time-slider.tsx"
      },
      "namespace": "TimeSlider",
      "name": "Video",
      "displayName": "SliderVideo",
      "docs": "Used to load a low-resolution video to be displayed when the user is hovering over or dragging\nthe time slider. The preview video will automatically be updated to be in-sync with the current\npreview position, so ensure it has the same length as the original media (i.e., same duration).",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/sliders/slider-video"
        },
        {
          "name": "example",
          "text": "```tsx\n<TimeSlider.Root>\n  <TimeSlider.Preview>\n    <TimeSlider.Video src=\"preview.mp4\" />\n  </TimeSlider.Preview>\n</TimeSlider.Root>\n```"
        }
      ],
      "instance": "SliderVideoInstance",
      "attributes": "HTMLAttributes<HTMLVideoElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "VideoProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLVideoElement",
          "full": "HTMLVideoElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/time-slider.tsx"
      },
      "name": "VideoProvider",
      "displayName": "SliderVideoProvider",
      "props": [
        {
          "name": "instance",
          "type": {
            "primitive": "object",
            "concise": "SliderVideoInstance",
            "full": "SliderVideoInstance"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "VideoProviderProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLVideoElement",
          "full": "HTMLVideoElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/volume-slider.tsx"
      },
      "namespace": "VolumeSlider",
      "exports": [
        {
          "file": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/sliders/slider"
        }
      ],
      "name": "Root",
      "displayName": "VolumeSlider",
      "docs": "Versatile and user-friendly input volume control designed for seamless cross-browser and provider\ncompatibility and accessibility with ARIA support. It offers a smooth user experience for both\nmouse and touch interactions and is highly customizable in terms of styling. Users can\neffortlessly change the volume level within the range 0 (muted) to 100.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/sliders/volume-slider"
        },
        {
          "name": "example",
          "text": "```tsx\n<VolumeSlider.Root>\n  <VolumeSlider.Track>\n    <VolumeSlider.TrackFill />\n  </VolumeSlider.Track>\n  <VolumeSlider.Thumb />\n</VolumeSlider.Root>\n```"
        }
      ],
      "instance": "VolumeSliderInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "RootProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "VolumeSliderInstance",
          "full": "VolumeSliderInstance"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/spinner.tsx"
      },
      "namespace": "Spinner",
      "name": "Root",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/display/buffering-indicator"
        },
        {
          "name": "example",
          "text": "```html\n<Spinner.Root>\n  <Spinner.Track />\n  <Spinner.TrackFill />\n</Spinner>\n```"
        }
      ],
      "attributes": "SVGAttributes",
      "props": [
        {
          "name": "size",
          "default": "96",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "The horizontal (width) and vertical (height) length of the spinner."
        }
      ],
      "propsType": "RootProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "SVGElement | SVGSVGElement",
          "full": "SVGElement | SVGSVGElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/spinner.tsx"
      },
      "namespace": "Spinner",
      "name": "Track",
      "attributes": "SVGAttributes",
      "propsType": "TrackProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "SVGCircleElement",
          "full": "SVGCircleElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/spinner.tsx"
      },
      "namespace": "Spinner",
      "name": "TrackFill",
      "attributes": "SVGAttributes",
      "props": [
        {
          "name": "fillPercent",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "The percentage of the track that should be filled."
        }
      ],
      "propsType": "TrackFillProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "SVGCircleElement",
          "full": "SVGCircleElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/thumbnail.tsx"
      },
      "namespace": "Thumbnail",
      "name": "Root",
      "displayName": "Thumbnail",
      "docs": "Used to load and display a preview thumbnail at the given `time`.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/display/thumbnail"
        },
        {
          "name": "example",
          "text": "```tsx\n<Thumbnail.Root src=\"thumbnails.vtt\" time={10} >\n  <Thumbnail.Img />\n</Thumbnail.Root>\n```"
        }
      ],
      "instance": "ThumbnailInstance",
      "attributes": "HTMLAttributes<HTMLElement>",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "RootProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/thumbnail.tsx"
      },
      "namespace": "Thumbnail",
      "name": "Img",
      "displayName": "ThumbnailImg",
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "ImgProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLImageElement",
          "full": "HTMLImageElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/time.tsx"
      },
      "name": "Time",
      "displayName": "Time",
      "docs": "Outputs a media duration (eg: `currentTime`, `duration`, `bufferedAmount`, etc.) value as time\nformatted text.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/display/time"
        },
        {
          "name": "example",
          "text": "```tsx\n<Time type=\"current\" />\n```"
        }
      ],
      "instance": "TimeInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "TimeProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/time.tsx"
      },
      "name": "TimeText",
      "displayName": "TimeText",
      "props": [
        {
          "name": "instance",
          "type": {
            "primitive": "object",
            "concise": "TimeInstance",
            "full": "TimeInstance"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "TimeTextProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/title.tsx"
      },
      "name": "Title",
      "displayName": "Title",
      "docs": "This component is used to load and display the current media title.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/display/title"
        },
        {
          "name": "example",
          "text": "```tsx\n<Title />\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "TitleProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/tooltip.tsx"
      },
      "namespace": "Tooltip",
      "name": "Root",
      "displayName": "Tooltip",
      "docs": "A contextual text bubble that displays a description for an element that appears on pointer\nhover or keyboard focus.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/tooltip"
        },
        {
          "name": "see",
          "text": "https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/tooltip_role"
        },
        {
          "name": "example",
          "text": "```tsx\n<Tooltip.Root>\n  <Tooltip.Trigger></Tooltip.Trigger>\n  <Tooltip.Content></Tooltip.Content>\n</Tooltip.Root>\n```"
        }
      ],
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "RootProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/tooltip.tsx"
      },
      "namespace": "Tooltip",
      "name": "Trigger",
      "displayName": "TooltipTrigger",
      "docs": "Wraps the element that will trigger showing/hiding the tooltip on hover or keyboard focus. The\ntooltip content is positioned relative to this element.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/tooltip"
        },
        {
          "name": "example",
          "text": "```tsx\n<Tooltip.Root>\n  <Tooltip.Trigger></Tooltip.Trigger>\n  <Tooltip.Content></Tooltip.Content>\n</Tooltip.Root>\n```"
        }
      ],
      "instance": "TooltipTriggerInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "TriggerProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLButtonElement",
          "full": "HTMLButtonElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/components/ui/tooltip.tsx"
      },
      "namespace": "Tooltip",
      "name": "Content",
      "displayName": "TooltipContent",
      "docs": "This component contains the content that is visible when the tooltip trigger is interacted with.",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/tooltip"
        },
        {
          "name": "example",
          "text": "```tsx\n<Tooltip.Root>\n  <Tooltip.Trigger></Tooltip.Trigger>\n  <Tooltip.Content></Tooltip.Content>\n</Tooltip.Root>\n```"
        }
      ],
      "instance": "TooltipContentInstance",
      "attributes": "HTMLAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        }
      ],
      "propsType": "ContentProps",
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/providers/remotion/ui/context.tsx"
      },
      "name": "RemotionContextProvider",
      "displayName": "RemotionContextProvider",
      "props": [
        {
          "name": "src",
          "type": {
            "primitive": "object",
            "concise": "RemotionSrc<RemotionInputProps>",
            "full": "RemotionSrc<RemotionInputProps>"
          }
        },
        {
          "name": "component",
          "type": {
            "primitive": "function",
            "concise": "LazyExoticComponent<ComponentType<unknown>>",
            "full": "LazyExoticComponent<ComponentType<unknown>>"
          }
        },
        {
          "name": "timeline",
          "type": {
            "primitive": "object",
            "concise": "TimelineContextValue",
            "full": "{ frame: Record<string, number>; playing: boolean; rootId: string; playbackRate: number; imperativePlaying: MutableRefObject<boolean>; setPlaybackRate: (u: SetStateAction<number>) => void; audioAndVideoTags: MutableRefObject<PlayableMediaTag[]>; }"
          }
        },
        {
          "name": "mediaVolume",
          "type": {
            "primitive": "object",
            "concise": "MediaVolumeContextValue",
            "full": "{ mediaMuted: boolean; mediaVolume: number; }"
          }
        },
        {
          "name": "setMediaVolume",
          "type": {
            "primitive": "object",
            "concise": "SetMediaVolumeContextValue",
            "full": "{ setMediaMuted: (u: SetStateAction<boolean>) => void; setMediaVolume: (u: number) => void; }"
          }
        },
        {
          "name": "children",
          "type": {
            "primitive": "mixed",
            "concise": "ReactNode",
            "full": "string | number | bigint | boolean | ReactElement<unknown, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal | Promise<AwaitedReactNode>"
          }
        },
        {
          "name": "numberOfSharedAudioTags",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          }
        }
      ],
      "propsType": "RemotionContextProviderProps"
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/providers/remotion/ui/poster.tsx"
      },
      "name": "RemotionPoster",
      "displayName": "RemotionPoster",
      "doctags": [
        {
          "name": "attr",
          "text": "data-visible - Whether poster should be shown."
        },
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/remotion/remotion-poster"
        },
        {
          "name": "example",
          "text": "```tsx\n<MediaPlayer>\n  <MediaProvider>\n    <RemotionPoster frame={100} />\n  </MediaProvider>\n</MediaPlayer>\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "frame",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "The video frame to display."
        },
        {
          "name": "renderLoading",
          "type": {
            "primitive": "function",
            "concise": "RemotionLoadingRenderer",
            "full": "RemotionLoadingRenderer"
          },
          "docs": "A callback function that allows you to return a custom UI that gets displayed while the\nthumbnail is loading. If this prop is not provided it will default to the loading renderer\ngiven to the player source."
        },
        {
          "name": "errorFallback",
          "type": {
            "primitive": "function",
            "concise": "RemotionErrorRenderer",
            "full": "RemotionErrorRenderer"
          },
          "docs": "A callback for rendering a custom error message. If this prop is not provided it will default\nto the error renderer given to the player source."
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "RemotionPosterProps",
      "callbacks": [
        {
          "name": "onError",
          "docs": "Called when an error or uncaught exception has happened in the video. If this prop is not\nprovided it will default to the error callback given to the player source.",
          "type": {
            "primitive": "function",
            "concise": "(error: Error) => void",
            "full": "(error: Error) => void"
          },
          "parameters": [
            {
              "name": "error",
              "type": {
                "primitive": "object",
                "concise": "Error",
                "full": "Error"
              }
            }
          ]
        }
      ],
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/providers/remotion/ui/slider-thumbnail.tsx"
      },
      "name": "RemotionSliderThumbnail",
      "displayName": "RemotionSliderThumbnail",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/remotion/remotion-slider-thumbnail"
        },
        {
          "name": "example",
          "text": "```tsx\n<TimeSlider.Root>\n  <TimeSlider.Preview>\n    <RemotionSliderThumbnail />\n  </TimeSlider.Preview>\n</TimeSlider.Root>\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        },
        {
          "name": "renderLoading",
          "type": {
            "primitive": "function",
            "concise": "RemotionLoadingRenderer",
            "full": "RemotionLoadingRenderer"
          },
          "docs": "A callback function that allows you to return a custom UI that gets displayed while the\nthumbnail is loading. If this prop is not provided it will default to the loading renderer\ngiven to the player source."
        },
        {
          "name": "errorFallback",
          "type": {
            "primitive": "function",
            "concise": "RemotionErrorRenderer",
            "full": "RemotionErrorRenderer"
          },
          "docs": "A callback for rendering a custom error message. If this prop is not provided it will default\nto the error renderer given to the player source."
        }
      ],
      "propsType": "RemotionSliderThumbnailProps",
      "callbacks": [
        {
          "name": "onError",
          "docs": "Called when an error or uncaught exception has happened in the video. If this prop is not\nprovided it will default to the error callback given to the player source.",
          "type": {
            "primitive": "function",
            "concise": "(error: Error) => void",
            "full": "(error: Error) => void"
          },
          "parameters": [
            {
              "name": "error",
              "type": {
                "primitive": "object",
                "concise": "Error",
                "full": "Error"
              }
            }
          ]
        }
      ],
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/providers/remotion/ui/thumbnail.tsx"
      },
      "name": "RemotionThumbnail",
      "displayName": "RemotionThumbnail",
      "doctags": [
        {
          "name": "docs",
          "text": "https://www.vidstack.io/docs/player/components/remotion/remotion-thumbnail"
        },
        {
          "name": "example",
          "text": "```tsx\n<RemotionThumbnail frame={100} />\n```"
        }
      ],
      "attributes": "RefAttributes",
      "props": [
        {
          "name": "frame",
          "type": {
            "primitive": "number",
            "concise": "number",
            "full": "number"
          },
          "docs": "The video frame to display."
        },
        {
          "name": "renderLoading",
          "type": {
            "primitive": "function",
            "concise": "RemotionLoadingRenderer",
            "full": "RemotionLoadingRenderer"
          },
          "docs": "A callback function that allows you to return a custom UI that gets displayed while the\nthumbnail is loading. If this prop is not provided it will default to the loading renderer\ngiven to the player source."
        },
        {
          "name": "errorFallback",
          "type": {
            "primitive": "function",
            "concise": "RemotionErrorRenderer",
            "full": "RemotionErrorRenderer"
          },
          "docs": "A callback for rendering a custom error message. If this prop is not provided it will default\nto the error renderer given to the player source."
        },
        {
          "name": "asChild",
          "type": {
            "primitive": "boolean",
            "concise": "boolean",
            "full": "boolean"
          }
        }
      ],
      "propsType": "RemotionThumbnailProps",
      "callbacks": [
        {
          "name": "onError",
          "docs": "Called when an error or uncaught exception has happened in the video. If this prop is not\nprovided it will default to the error callback given to the player source.",
          "type": {
            "primitive": "function",
            "concise": "(error: Error) => void",
            "full": "(error: Error) => void"
          },
          "parameters": [
            {
              "name": "error",
              "type": {
                "primitive": "object",
                "concise": "Error",
                "full": "Error"
              }
            }
          ]
        }
      ],
      "ref": {
        "type": {
          "primitive": "object",
          "concise": "HTMLElement",
          "full": "HTMLElement"
        }
      }
    },
    {
      "type": "react",
      "file": {
        "path": "/Users/aidenlx/repo/vidstack-player/packages/react/src/providers/remotion/ui/thumbnail.tsx"
      },
      "name": "RemotionThumbnailUI",
      "displayName": "RemotionThumbnailUI",
      "props": [
        {
          "name": "inputProps",
          "type": {
            "primitive": "object",
            "concise": "RemotionInputProps",
            "full": "RemotionInputProps"
          }
        },
        {
          "name": "renderLoading",
          "type": {
            "primitive": "function",
            "concise": "RemotionLoadingRenderer",
            "full": "RemotionLoadingRenderer"
          },
          "docs": "A callback function that allows you to return a custom UI that gets displayed while the\nthumbnail is loading. If this prop is not provided it will default to the loading renderer\ngiven to the player source."
        },
        {
          "name": "errorFallback",
          "type": {
            "primitive": "function",
            "concise": "RemotionErrorRenderer",
            "full": "RemotionErrorRenderer"
          },
          "docs": "A callback for rendering a custom error message. If this prop is not provided it will default\nto the error renderer given to the player source."
        }
      ],
      "propsType": "RemotionThumbnailUIProps",
      "callbacks": [
        {
          "name": "onError",
          "docs": "Called when an error or uncaught exception has happened in the video. If this prop is not\nprovided it will default to the error callback given to the player source.",
          "type": {
            "primitive": "function",
            "concise": "(error: Error) => void",
            "full": "(error: Error) => void"
          },
          "parameters": [
            {
              "name": "error",
              "type": {
                "primitive": "object",
                "concise": "Error",
                "full": "Error"
              }
            }
          ]
        }
      ]
    }
  ]
}