UNPKG

@haxtheweb/a11y-media-player

Version:

A feature rich, highly accessible video player

1,452 lines 120 kB
{ "schemaVersion": "1.0.0", "readme": "", "modules": [ { "kind": "javascript-module", "path": "a11y-media-player.js", "declarations": [ { "kind": "class", "description": "`a11y-media-player`\nan accessible video player\n\n### Styling\n`<a11y-media-player>` provides the following basic custom properties\nfor styling:\n\n#### Basic Styling\n\nCustom property | Description | Default\n----------------|-------------|----------\n`--a11y-media-color` | default text color | `--simple-colors-default-theme-grey-11`\n`--a11y-media-bg-color` | default background color | `--simple-colors-default-theme-grey-2`\n`--a11y-media-border-color` | default border color | `--simple-colors-default-theme-grey-3`\n`--a11y-media-hover-color` | text color when hovering | `--simple-colors-default-theme-grey-12`\n`--a11y-media-hover-bg-color` | background color when hovering | `--simple-colors-default-theme-grey-2`\n`--a11y-media-accent-color` | accent color | `--simple-colors-default-theme-accent-9`\n`--a11y-media-faded-accent-color` | accent color when faded | `--simple-colors-default-theme-accent-8`\n`--a11y-media-disabled-color` | color for disabled items | `--simple-colors-default-theme-grey-5`\n`--a11y-media-transcript-color` | default text color of transcript | `--simple-colors-default-theme-grey-7`\n`--a11y-media-transcript-bg-color` | default background color of transcript | `--simple-colors-default-theme-grey-1`\n`--a11y-media-transcript-accent-color` | default accent color of transcript | `--simple-colors-default-theme-accent-8`\n`--a11y-media-transcript-faded-accent-color` | accent color of transcript, faded | `--simple-colors-default-theme-accent-10`\n`--a11y-media-transcript-cue-color` | text color of transcript cue | `--simple-colors-fixed-theme-grey-12`\n`--a11y-media-transcript-cue-bg-color` | background color of transcript cue | `--simple-colors-fixed-theme-grey-1`\n`--a11y-media-transcript-active-cue-color` | text color of active transcript cue | `--simple-colors-fixed-theme-grey-12`\n`--a11y-media-transcript-active-cue-bg-color` | background color of active transcript cue | `--simple-colors-fixed-theme-accent-1`\n`--a11y-media-transcript-focused-cue-color` | text color of focused transcript cue | `--simple-colors-fixed-theme-grey-12`\n`--a11y-media-transcript-focused-cue-bg-color` | background color of focused transcript cue | `--simple-colors-fixed-theme-grey-2`\n`--a11y-media-transcript-match-color` | text color of matched term in transcript search | `--simple-colors-fixed-theme-grey-1`\n`--a11y-media-transcript-match-bg-color` | background color of matched term in transcript search | `--simple-colors-fixed-theme-accent-10`\n`--a11y-media-transcript-match-border-color` | border color of matched term in transcript search | `--simple-colors-fixed-theme-accent-12`\n\n#### Controls\nCustom property | Description | Default \n----------------|-------------|----------\n`--a11y-media-scrollbar-width` | default width of scrollbars | `5px`\n`--a11y-media-controls-font-family` | font-family of controls\n\n#### Buttons\nCustom property | Description | Default\n----------------|-------------|----------\n`--a11y-media-button-color` | button text color | `--a11y-media-color`\n`--a11y-media-button-bg-color` | button background color | `--a11y-media-bg-color`\n`--a11y-media-button-hover-color` | button text color when hovering | `--a11y-media-accent-color`\n`--a11y-media-button-hover-bg-color` | button background color when hovering | `--a11y-media-hover-bg-color`\n`--a11y-media-button-disabled-color` | button text color when disabled | `--a11y-media-disabled-color`\n`--a11y-media-button-toggle-color` | button text color when toggled | `--a11y-media-faded-accent-color`\n\n#### Sliders\nCustom property | Description | Default\n----------------|-------------|----------\n`--simple-range-input-active-color` | slider color when active | `--a11y-media-accent-color`\n`--simple-range-input-secondary-color` | slider color for buffering | `--a11y-media-faded-accent-color`\n`--simple-range-input-pin-color` | slider pin color | `--a11y-media-bg-color`\n`--simple-range-input-pin-start-color` | slider pin color in start position | `--a11y-media-bg-color`\n`--simple-range-input-pin-end-color` | slider pin color in end position | `--a11y-media-bg-color`\n`--simple-range-input-knob-color` | slider knob color | `--a11y-media-accent-color`\n`--simple-range-input-knob-start-color` | slider knob color in start position | `--a11y-media-accent-color`\n`--simple-range-input-knob-end-color` | slider knob color in end position | `--a11y-media-bg-accent-color`\n`--simple-range-input-knob-border-color` | slider knob border color | `--a11y-media-accent-color`\n`--simple-range-input-knob-start-border-color` | slider knob border color in start position | `--a11y-media-bg-color`\n`--simple-range-input-knob-end-border-color` | slider knob border color in end position | `--a11y-media-bg-color`\n\n#### Settings Menu\nCustom property | Description | Default\n----------------|-------------|----------\n`--a11y-media-settings-menu-color` | settings menu text color | `--a11y-media-color`\n`--a11y-media-settings-menu-bg-color` | settings menu background color | `--a11y-media-bg-color`\n`--a11y-media-settings-menu-hover-color` | settings menu text color when hovering | `--a11y-media-hover-color`\n`--a11y-media-settings-menu-hover-bg-color` | settings menu background color when hovering | `--a11y-media-hover-bg-color`\n\n#### Link Sharing Toast\nCustom property | Description | Default\n----------------|-------------|----------\n`--simple-toast-color` | toast text color | `--a11y-media-color`\n`--simple-toast-background-color` | toast background color | `--a11y-media-bg-color`", "name": "A11yMediaPlayer", "members": [ { "kind": "field", "name": "tag", "static": true, "description": "Store the tag name to make it easier to obtain directly.", "readonly": true }, { "kind": "field", "name": "anchor", "description": "gets anchors from page and uses their timecodes", "readonly": true, "return": { "type": { "text": "number" } } }, { "kind": "field", "name": "aspect", "description": "the aspect ratio of the media, or if unknown, `16/9`", "readonly": true, "return": { "type": { "text": "number" } } }, { "kind": "field", "name": "audioNoThumb", "description": "returns true if an attribute is set to a value", "readonly": true, "return": { "type": { "text": "boolean" } } }, { "kind": "field", "name": "buffered", "description": "returns buffered media", "readonly": true, "return": { "type": { "text": "number" } } }, { "kind": "field", "name": "captionCues", "description": "gets caption cues that should be visible for custom captions", "readonly": true, "return": { "type": { "text": "array" } } }, { "kind": "field", "name": "captionsPicker", "description": "gets options for captions picker", "readonly": true }, { "kind": "field", "name": "captionsTrackKey", "description": "`key` of selected textTrack based on `captionsTrack` and `cc` values", "readonly": true }, { "kind": "field", "name": "cues", "description": "returns cues array", "readonly": true }, { "kind": "field", "name": "duration", "description": "returns media duration", "readonly": true, "return": { "type": { "text": "number" } } }, { "kind": "field", "name": "flexLayout", "description": "determines if player is in flex-layout mode", "return": { "type": { "text": "boolean" } }, "readonly": true }, { "kind": "field", "name": "fullFlex", "description": "determines if parent is wide enough for full flex-layout mode", "return": { "type": { "text": "boolean" } }, "readonly": true }, { "kind": "field", "name": "fullscreenButton", "description": "whether or not the fullscreen mode is be disabled", "return": { "type": { "text": "boolean" } }, "readonly": true }, { "kind": "field", "name": "hasCaptions", "description": "whether the media has any tracks", "readonly": true, "return": { "type": { "text": "boolean" } } }, { "kind": "field", "name": "isYoutube", "description": "whether media is YouTube", "readonly": true, "return": { "type": { "text": "boolean" } } }, { "kind": "field", "name": "loadedTracks", "description": "HTML `audio` or `video` tag where textTracks, if any, can be found", "readonly": true, "return": { "type": { "text": "object" } } }, { "kind": "field", "name": "localizationDefaults", "description": "object that contains default localization", "readonly": true, "return": { "type": { "text": "object" } } }, { "kind": "field", "name": "media", "description": "media used for playback", "readonly": true }, { "kind": "field", "name": "mediaCaption", "description": "gets media caption", "readonly": true, "return": { "type": { "text": "string" } } }, { "kind": "field", "name": "mediaEnd", "description": "gets media media time if set", "readonly": true, "return": { "type": { "text": "number" } } }, { "kind": "field", "name": "mediaMaxWidth", "description": "`style` for `#player-and-controls`", "readonly": true, "return": { "type": { "text": "string" } } }, { "kind": "field", "name": "mediaSeekable", "description": "whether media has a seekable time range", "readonly": true, "return": { "type": { "text": "boolean" } } }, { "kind": "field", "name": "mediaStart", "description": "gets media start time", "readonly": true, "return": { "type": { "text": "number" } } }, { "kind": "field", "name": "playing", "description": "whether media is currently playing", "readonly": true, "return": { "type": { "text": "boolean" } } }, { "kind": "field", "name": "playerStyle", "description": "`style` for `#player`", "readonly": true, "return": { "type": { "text": "string" } } }, { "kind": "field", "name": "poster", "description": "`poster` image for video", "readonly": true, "return": { "type": { "text": "string" } } }, { "kind": "field", "name": "printCaption", "description": "gets print caption", "readonly": true, "return": { "type": { "text": "string" } } }, { "kind": "field", "name": "currentTime", "privacy": "public", "type": { "text": "number" }, "description": "returns the current playback progress or slider position", "readonly": true, "return": { "type": { "text": "number" } }, "attribute": "currentTime" }, { "kind": "field", "name": "shareLink", "description": "gets the link for sharing the video at a specific timecode", "readonly": true, "return": { "type": { "text": "string" } } }, { "kind": "field", "name": "showCustomCaptions", "description": "Show custom CC (for audio and YouTube)?", "return": { "type": { "text": "boolean" } }, "readonly": true }, { "kind": "field", "name": "status", "description": "gets playback status text", "readonly": true, "return": { "type": { "text": "string" } } }, { "kind": "field", "name": "stickyMode", "description": "Show custom CC (for audio and YouTube)?", "return": { "type": { "text": "boolean" } }, "readonly": true }, { "kind": "field", "name": "t", "description": "gets initial timecode parameter", "readonly": true, "return": { "type": { "text": "array" } } }, { "kind": "field", "name": "transcriptCues", "description": "gets transcript cues that should be visible", "readonly": true, "return": { "type": { "text": "array" } } }, { "kind": "field", "name": "transcriptPicker", "description": "gets options for transcript picker", "readonly": true }, { "kind": "field", "name": "transcriptTrackKey", "description": "`key` of selected textTrack based on `transcriptTrack` and `hide-transcript` values", "readonly": true }, { "kind": "field", "name": "videoData", "readonly": true }, { "kind": "field", "name": "videoId", "readonly": true }, { "kind": "field", "name": "youtube", "description": "youtube embed element", "readonly": true, "return": { "type": { "text": "object" } } }, { "kind": "method", "name": "_setAttribute", "parameters": [ { "name": "attr" }, { "name": "val" } ] }, { "kind": "method", "name": "_captionsChanged", "description": "updates track mode & `__captionsOption` when `captionsTrack` or `cc` changes" }, { "kind": "method", "name": "_captionsOptionChanged", "description": "updates track mode & `captionsTrack` when `__captionsOption` changes" }, { "kind": "method", "name": "_handleMuteChanged", "description": "handles mute change" }, { "kind": "method", "name": "download", "description": "gets download data for the active transcript", "parameters": [ { "description": "title of the media", "name": "the", "type": { "text": "string" } } ] }, { "kind": "method", "name": "goToYoutube", "description": "takes the user to YouTube" }, { "kind": "method", "name": "print", "description": "prints the active transcript", "parameters": [ { "description": "title of the media", "name": "the", "type": { "text": "string" } } ] }, { "kind": "method", "name": "play", "description": "plays the media" }, { "kind": "method", "name": "pause", "description": "pauses the media" }, { "kind": "method", "name": "stop", "description": "stops the media" }, { "kind": "method", "name": "restart", "description": "restarts the media" }, { "kind": "method", "name": "rewind", "parameters": [ { "name": "amt" }, { "description": "elepsed time, in seconds", "name": "the", "type": { "text": "float" } } ], "description": "seeks media backward at a set increment" }, { "kind": "method", "name": "forward", "parameters": [ { "name": "amt" }, { "description": "elepsed time, in seconds", "name": "the", "type": { "text": "float" } } ], "description": "seeks media forward at a set increment" }, { "kind": "method", "name": "seek", "parameters": [ { "name": "time", "default": "0" }, { "description": "time, in seconds, to seek", "name": "the", "type": { "text": "float" } } ], "description": "seeks to a specific time" }, { "kind": "method", "name": "selectCaptionByKeyEvent", "parameters": [ { "name": "e" } ], "description": "Event version for Lit version requirements" }, { "kind": "method", "name": "selectCaptionByKey", "parameters": [ { "name": "id" } ], "description": "selects `captionsTrack` by key and adjusts `cc` accordingly" }, { "kind": "method", "name": "selectTranscriptByKeyEvent", "parameters": [ { "name": "e" } ], "description": "Event version for Lit version requirements" }, { "kind": "method", "name": "selectTranscriptByKey", "parameters": [ { "name": "id" } ], "description": "selects `transcriptTrack` by key and adjusts `hideTranscript` accordingly" }, { "kind": "method", "name": "getloadedTracks", "description": "media tag where sources and tracks can be found", "readonly": true }, { "kind": "method", "name": "_getTrack", "parameters": [ { "name": "track", "description": "text track", "type": { "text": "track" } } ], "description": "selects a specific transcript track" }, { "kind": "method", "name": "selectTranscript", "parameters": [ { "name": "track", "description": "text track", "type": { "text": "track" } } ], "description": "selects a specific track as transcript" }, { "kind": "method", "name": "setPlaybackRate", "parameters": [ { "name": "value" }, { "description": "playback rate, where 1 = 100%", "name": "the", "type": { "text": "float" } } ], "description": "set speed/playback rate of media" }, { "kind": "method", "name": "setVolume", "parameters": [ { "name": "value", "default": "70" }, { "description": "volume level from 0-100", "name": "the", "type": { "text": "integer" } } ], "description": "set volume of media" }, { "kind": "method", "name": "toggleCC", "parameters": [ { "name": "mode" }, { "description": "CC on? `true` is on, `false` is off, and `null` toggles based on current state.", "name": "Toggle", "type": { "text": "boolean" } } ], "description": "toggles captions" }, { "kind": "field", "name": "fullscreenTarget", "description": "element to make fullscreen, can be overidden", "readonly": true }, { "kind": "method", "name": "toggleFullscreen", "parameters": [ { "name": "mode" }, { "description": "fullscreen on? `true` is on, `false` is off, and `null` toggles based on current state.", "name": "Toggle", "type": { "text": "boolean" } } ], "description": "toggles fullscreen" }, { "kind": "method", "name": "toggleLoop", "parameters": [ { "name": "mode" }, { "description": "looping on? `true` is on, `false` is off, and `null` toggles based on current state.", "name": "Toggle", "type": { "text": "boolean" } } ], "description": "toggles looping" }, { "kind": "method", "name": "togglePlay", "description": "toggles play", "parameters": [ { "description": "play/pause? `true` is on, `false` is off, and `null` toggles based on current state.", "name": "Toggle", "type": { "text": "boolean" } } ] }, { "kind": "method", "name": "toggleMute", "parameters": [ { "name": "mode" }, { "description": "mute on? `true` is on, `false` is off, and `null` toggles based on current state.", "name": "Toggle", "type": { "text": "boolean" } } ], "description": "toggles mute" }, { "kind": "method", "name": "toggleSettings", "parameters": [ { "name": "mode" } ] }, { "kind": "method", "name": "toggleSticky", "parameters": [ { "name": "mode" }, { "description": "sticky mode on? `true` is on, `false` is off, and `null` toggles based on current state.", "name": "Toggle", "type": { "text": "boolean" } } ], "description": "toggles sticky attribute" }, { "kind": "method", "name": "toggleTranscript", "parameters": [ { "name": "mode" }, { "description": "transcript on? `true` is on, `false` is off, and `null` toggles based on current state.", "name": "Toggle", "type": { "text": "boolean" } } ], "description": "toggles transcript" }, { "kind": "method", "name": "_addSourcesAndTracks", "parameters": [ { "name": "media" }, { "description": "audio or video object", "name": "HTML", "type": { "text": "object" } } ], "description": "loads a track's cue metadata" }, { "kind": "method", "name": "_handleCloseLink", "description": "handles closing the share link toast" }, { "kind": "method", "name": "_handleCopyLink", "description": "handles copying the share link" }, { "kind": "method", "name": "_handleCueSeek", "parameters": [ { "name": "cue" }, { "description": "seek event", "name": "e", "type": { "text": "event" } } ], "description": "handles the seek function when a transcript cue is activated" }, { "kind": "method", "name": "_handleMediaLoaded", "parameters": [ { "name": "e" } ], "description": "handles media metadata when media is loaded" }, { "kind": "method", "name": "_handleSearchAdded", "parameters": [ { "name": "e", "description": "searchbar event", "type": { "text": "event" } } ], "description": "sets search the simple-search element" }, { "kind": "method", "name": "_handleSpeedChanged", "parameters": [ { "name": "e", "description": "slider event", "type": { "text": "event" } } ], "description": "handles speed slider change thhat sets playback rate" }, { "kind": "method", "name": "_handleSliderDragging", "parameters": [ { "name": "e", "description": "slider start event", "type": { "text": "event" } } ], "description": "handles duration slider dragging with a mouse" }, { "kind": "method", "name": "_handleSliderChanged", "parameters": [ { "name": "e", "description": "slider start event", "type": { "text": "event" } } ], "description": "handles duration slider dragging with a mouse" }, { "kind": "method", "name": "_handleTimeUpdate", "description": "handles time updates" }, { "kind": "method", "name": "_getTrackId", "parameters": [ { "name": "track", "description": "textTrack", "type": { "text": "object" } } ], "description": "gets `key` of given track", "return": { "type": { "text": "number" } } }, { "kind": "method", "name": "_handleVolumeChanged", "parameters": [ { "name": "e", "description": "volume change event", "type": { "text": "event" } } ], "description": "handles volume slider change" }, { "kind": "method", "name": "_onAddTrack", "parameters": [ { "name": "track" }, { "name": "textTrack", "type": { "text": "object" } } ], "description": "adds a track's cues to cues array" }, { "kind": "method", "name": "_onRemoveTrack", "parameters": [ { "name": "track" }, { "name": "textTrack", "type": { "text": "object" } } ], "description": "removes a track's cues from cues array" }, { "kind": "method", "name": "_setActiveCue", "parameters": [ { "name": "e", "description": "onenter event", "type": { "text": "event" } } ], "description": "on a cue.onenter event scrolls the first active cue to position" }, { "kind": "method", "name": "_transcriptScroll", "parameters": [ { "name": "e", "description": "scroll event", "type": { "text": "event" } } ], "description": "handles transcript scroll toggle" }, { "kind": "method", "name": "_getHHMMSS", "parameters": [ { "name": "val" }, { "name": "max" }, { "description": "duration, in seconds", "name": "the", "type": { "text": "float" } } ], "description": "converts time in millesconds to HH:MM:SS", "return": { "type": { "text": "string" } } }, { "kind": "method", "name": "_getSeconds", "parameters": [ { "name": "time", "default": "0", "type": { "text": "string" } } ], "description": "returns time in seconds of a string, such as 00:00:00.0, 0h0m0.0s, or 0hh0mm0.0ss", "return": { "type": { "text": "float" } } }, { "kind": "method", "name": "_getLocal", "parameters": [ { "name": "localization" }, { "name": "key" }, { "name": "subkey" }, { "description": "subkey to search for", "name": "the", "type": { "text": "string" } } ], "description": "gets the localization by compaing the localization set to the defaults", "return": { "type": { "text": "string" } } }, { "kind": "field", "name": "__playerReady", "privacy": "public", "type": { "text": "boolean" }, "default": "false", "attribute": "__playerReady" }, { "kind": "field", "name": "audioOnly", "privacy": "public", "type": { "text": "boolean" }, "description": "Is this an audio file?", "default": "false", "attribute": "audio-only", "reflects": true }, { "kind": "field", "name": "autoplay", "privacy": "public", "type": { "text": "boolean" }, "description": "autoplay is an option,\nbut generally not recommended for a11y", "default": "false", "attribute": "autoplay" }, { "kind": "field", "name": "allowConcurrent", "privacy": "public", "type": { "text": "boolean" }, "description": "Allow this media to play concurrently with other a11y-media-players?\nDefault is to pause this a11y-media-player when other a11y-media-player starts playing.", "default": "false", "attribute": "allow-concurrent" }, { "kind": "field", "name": "cc", "privacy": "public", "type": { "text": "boolean" }, "description": "show closed captions", "default": "false", "attribute": "cc" }, { "kind": "field", "name": "darkTranscript", "privacy": "public", "type": { "text": "boolean" }, "description": "Use dark theme on transcript? Default is false, even when player is dark.", "default": "false", "attribute": "dark-transcript" }, { "kind": "field", "name": "disableFullscreen", "privacy": "public", "type": { "text": "boolean" }, "description": "disable fullscreen option", "default": "false", "attribute": "disable-fullscreen" }, { "kind": "field", "name": "disableInteractive", "privacy": "public", "type": { "text": "boolean" }, "description": "disable interactive mode that makes the transcript clickable", "default": "false", "attribute": "disable-interactive" }, { "kind": "field", "name": "disablePrintButton", "privacy": "public", "type": { "text": "boolean" }, "description": "disable transcript print button", "default": "false", "attribute": "disable-print-button" }, { "kind": "field", "name": "disableSearch", "privacy": "public", "type": { "text": "boolean" }, "description": "disable transcript search feature", "default": "false", "attribute": "disable-search" }, { "kind": "field", "name": "disableScroll", "privacy": "public", "type": { "text": "boolean" }, "description": "disable autoscrolling as transcript plays", "default": "false", "attribute": "disable-scroll" }, { "kind": "field", "name": "disableSeek", "privacy": "public", "type": { "text": "boolean" }, "description": "disables seeking", "default": "false", "attribute": "disable-seek" }, { "kind": "field", "name": "hideElapsedTime", "privacy": "public", "type": { "text": "boolean" }, "description": "Hide elapsed time?", "default": "false", "attribute": "hide-elapsed-time" }, { "kind": "field", "name": "hideTimestamps", "privacy": "public", "type": { "text": "boolean" }, "description": "show cue's start and end time", "default": "false", "attribute": "hide-timestamps" }, { "kind": "field", "name": "hideTranscript", "privacy": "public", "type": { "text": "boolean" }, "description": "initially hide the transcript?", "default": "false", "attribute": "hide-transcript", "reflects": true }, { "kind": "field", "name": "id", "privacy": "public", "type": { "text": "null" }, "description": "initially hide the transcript?", "default": "null", "attribute": "id", "reflects": true }, { "kind": "field", "name": "lang", "privacy": "public", "type": { "text": "string" }, "description": "Language", "default": "\"en\"", "attribute": "lang" }, { "kind": "field", "name": "learningMode", "privacy": "public", "type": { "text": "boolean" }, "description": "Learning mode", "default": "false", "attribute": "learning-mode" }, { "kind": "field", "name": "linkable", "privacy": "public", "type": { "text": "boolean" }, "description": "has link button", "default": "false", "attribute": "linkable" }, { "kind": "field", "name": "localization", "privacy": "public", "type": { "text": "object" }, "description": "custom localization settings", "default": "{}", "attribute": "localization" }, { "kind": "field", "name": "loop", "privacy": "public", "type": { "text": "boolean" }, "description": "Loop the video?", "default": "false", "attribute": "loop" }, { "kind": "field", "name": "mediaTitle", "privacy": "public", "type": { "text": "string" }, "description": "optional title of media (shows when printed)", "default": "\"\"", "attribute": "media-title" }, { "kind": "field", "name": "mediaLang", "privacy": "public", "type": { "text": "string" }, "description": "Dash.js manifest source?\n/\n\"manifest\": {\n\"attribute\": \"manifest\",\n\"type\": String\n},\n/**\nthe language of the media (if different from user interface language)", "default": "\"en\"", "attribute": "media-lang" }, { "kind": "field", "name": "muted", "privacy": "public", "type": { "text": "boolean" }, "description": "Is audio muted?", "default": "false", "attribute": "muted" }, { "kind": "field", "name": "hideYoutubeLink", "privacy": "public", "type": { "text": "boolean" }, "description": "Open on YouTube button", "default": "false", "attribute": "hide-youtube-link" }, { "kind": "field", "name": "preload", "privacy": "public", "type": { "text": "string" }, "description": "Preload `none`, `metadata`, or `auto`.", "default": "\"metadata\"", "attribute": "preload", "reflects": true }, { "kind": "field", "name": "playbackRate", "privacy": "public", "type": { "text": "number" }, "description": "Playback rate where `1` is normal speed, `0.`5 is half-speed, and `2` is double speed", "default": "1", "attribute": "playback-rate" }, { "kind": "field", "name": "search", "privacy": "public", "type": { "text": "null" }, "description": "the search tool for the transcript", "default": "null", "attribute": "search" }, { "kind": "field", "name": "standAlone", "privacy": "public", "type": { "text": "boolean" }, "description": "Is stand-alone player (without transcript)?", "default": "false", "attribute": "stand-alone", "reflects": true }, { "kind": "field", "name": "responsiveSize", "privacy": "public", "type": { "text": "string" }, "description": "Size of the a11y media element for responsive styling", "default": "\"sm\"", "attribute": "responsive-size", "reflects": true }, { "kind": "field", "name": "captionsTrack", "privacy": "public", "type": { "text": "null" }, "description": "the selected track", "default": "null", "attribute": "captions-track" }, { "kind": "field", "name": "transcriptTrack", "privacy": "public", "type": { "text": "null" }, "description": "the selected track for the transcript", "default": "null", "attribute": "transcript-track" }, { "kind": "field", "name": "sources", "privacy": "public", "type": { "text": "array" }, "description": "DEPRECATED: array ouf sources", "default": "[]", "attribute": "sources" }, { "kind": "field", "name": "stackedLayout", "privacy": "public", "type": { "text": "boolean" }, "description": "stacked layout instead of side-by-side?", "default": "false", "attribute": "stacked-layout" }, { "kind": "field", "name": "sticky", "privacy": "public", "type": { "text": "boolean" }, "description": "Is the video currently sticky, i.e. it is fixed to the corner when playing but scrolled off screen?", "default": "false", "attribute": "sticky", "reflects": true }, { "kind": "field", "name": "stickyCorner", "privacy": "public", "type": { "text": "string" }, "description": "When playing but scrolled off screen, to which corner does it \"stick\":\ntop-left, top-right, bottom-left, bottom-right, or none?\nDefault is \"top-right\". \"None\" disables stickin