@fusion.dev/helix-headless 0.56.0 → 0.57.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -106748,492 +106748,182 @@
106748
106748
  },
106749
106749
  {
106750
106750
  "kind": "javascript-module",
106751
- "path": "src/video/root/captions.ts",
106751
+ "path": "src/video/root/extra-controls.ts",
106752
106752
  "declarations": [
106753
106753
  {
106754
106754
  "kind": "function",
106755
- "name": "captionTracks",
106755
+ "name": "offers",
106756
106756
  "return": {
106757
106757
  "type": {
106758
- "text": "TextTrack[]"
106758
+ "text": "boolean"
106759
106759
  }
106760
106760
  },
106761
106761
  "parameters": [
106762
106762
  {
106763
- "name": "video",
106763
+ "name": "one",
106764
106764
  "type": {
106765
- "text": "HTMLVideoElement | null"
106765
+ "text": "string"
106766
+ }
106767
+ },
106768
+ {
106769
+ "name": "player",
106770
+ "type": {
106771
+ "text": "Conditions"
106766
106772
  }
106767
106773
  }
106768
106774
  ],
106769
- "description": "The tracks a reader could choose between, in the order they were written.\n\nFiltered by kind, because `textTracks` also carries `chapters`, `metadata`\nand `descriptions`, and a menu offering \"Chapters\" as a subtitle language\nwould be offering something that draws no words. Read off the video rather\nthan off the slot: a `<track>` added later is in one and not the other, and\nthe video is the one that has resolved them."
106775
+ "description": "Whether this platform can do a named control at all."
106770
106776
  },
106771
106777
  {
106772
106778
  "kind": "function",
106773
- "name": "showCaption",
106779
+ "name": "barControls",
106774
106780
  "return": {
106775
106781
  "type": {
106776
- "text": "void"
106782
+ "text": "string[]"
106777
106783
  }
106778
106784
  },
106779
106785
  "parameters": [
106780
106786
  {
106781
- "name": "tracks",
106787
+ "name": "written",
106782
106788
  "type": {
106783
- "text": "readonly TextTrack[]"
106789
+ "text": "string"
106784
106790
  }
106785
106791
  },
106786
106792
  {
106787
- "name": "index",
106793
+ "name": "player",
106788
106794
  "type": {
106789
- "text": "number"
106795
+ "text": "Conditions"
106790
106796
  }
106791
106797
  }
106792
106798
  ],
106793
- "description": "Shows one track and disables every other, or shows none at `-1`.\n\nEvery other, rather than only the one that was on. Two tracks in `hidden`\nboth fire `cuechange`, so the rendered cue becomes whichever fired last and\na reader who switched language gets the two interleaved. Measured as two\nsubtitles alternating line by line.\n\n`hidden`, never `showing`. Hidden is the mode where a track still fires\n`cuechange` and still fills `activeCues`, and the browser draws nothing,\nwhich is exactly what is wanted when something else is doing the drawing."
106799
+ "description": "The extras asked for, in order, and only the ones this platform can do."
106794
106800
  },
106795
106801
  {
106796
106802
  "kind": "function",
106797
- "name": "adoptTrack",
106803
+ "name": "menuControls",
106798
106804
  "return": {
106799
106805
  "type": {
106800
- "text": "boolean"
106806
+ "text": "string[]"
106801
106807
  }
106802
106808
  },
106803
106809
  "parameters": [
106804
106810
  {
106805
- "name": "track",
106811
+ "name": "written",
106806
106812
  "type": {
106807
- "text": "TextTrack"
106813
+ "text": "string"
106808
106814
  }
106809
- }
106810
- ],
106811
- "description": "Whether a track the platform started showing is now ours to draw.\n\nA `<track default>` arrives `showing`, which is the browser drawing it.\nMoved to `hidden` so the cues keep coming and we draw them instead. What\ncomes back is whether captions are on, which is not always \"off\": a button\nthat began there reported the opposite of what was on screen."
106812
- },
106813
- {
106814
- "kind": "function",
106815
- "name": "captionsAmong",
106816
- "return": {
106817
- "type": {
106818
- "text": "Caption[]"
106819
- }
106820
- },
106821
- "parameters": [
106815
+ },
106822
106816
  {
106823
- "name": "media",
106817
+ "name": "onBar",
106818
+ "type": {
106819
+ "text": "readonly string[]"
106820
+ }
106821
+ },
106822
+ {
106823
+ "name": "player",
106824
106824
  "type": {
106825
- "text": "readonly TrackCopy[]"
106825
+ "text": "Conditions"
106826
106826
  }
106827
106827
  }
106828
106828
  ],
106829
- "description": "The caption tracks among the copies, before the render that draws them.\n\nBy the platform's own reading of `kind`, which is what makes a `<track>` a\ncaption at all: missing is `subtitles` and anything it does not know is\n`metadata`. Read from the video's tracks after the render instead, the count\narrived a render late and asked for one more. Choosing one still goes\nthrough the video's tracks, which hold them in the same order."
106829
+ "description": "The controls asked for behind the overflow button, in order.\n\nA name in both lists is on the bar and not here. Drawing it twice is worse\nthan either placement, and the bar is the one a reader can see."
106830
106830
  },
106831
106831
  {
106832
106832
  "kind": "function",
106833
- "name": "activeCue",
106833
+ "name": "ownFile",
106834
106834
  "return": {
106835
106835
  "type": {
106836
- "text": "DocumentFragment | undefined"
106836
+ "text": "boolean"
106837
106837
  }
106838
106838
  },
106839
106839
  "parameters": [
106840
106840
  {
106841
- "name": "track",
106842
- "type": {
106843
- "text": "TextTrack | undefined"
106844
- }
106845
- }
106846
- ],
106847
- "description": "The cue on screen now, as nodes, or nothing between cues.\n\nNodes rather than a string, because `VTTCue.text` is the cue's *source*:\nWebVTT carries markup, and a caption file in the wild is full of it. `<v\nHildy>` names who is speaking, `<b>` and `<i>` and `<u>` mark emphasis, and\n`<c.loud>` classes a line. Rendered as text every one of those arrives on\nscreen as visible angle brackets.\n\n`getCueAsHTML` is the platform parsing its own format, so nothing here has\nto know the grammar and no cue text is ever treated as HTML: what comes\nback is a fragment the browser built, not a string anybody interpolated."
106848
- },
106849
- {
106850
- "kind": "class",
106851
- "description": "Listens to one track's cues at a time, so the next one can take it off.\n\nTaken off whatever it was on before adding it here. `follow` runs from\n`loadedmetadata`, which fires again for every source a reader moves to, and\na consumer adding a `<track>` later gets another. Added without removing, a\nplaylist of six left six listeners on tracks that between them fire for\nevery cue in the video.",
106852
- "name": "CueController",
106853
- "members": [
106854
- {
106855
- "kind": "field",
106856
- "name": "track",
106841
+ "name": "src",
106857
106842
  "type": {
106858
- "text": "TextTrack | undefined"
106859
- },
106860
- "privacy": "private"
106861
- },
106862
- {
106863
- "kind": "method",
106864
- "name": "follow",
106865
- "return": {
106866
- "type": {
106867
- "text": "void"
106868
- }
106869
- },
106870
- "parameters": [
106871
- {
106872
- "name": "track",
106873
- "type": {
106874
- "text": "TextTrack"
106875
- }
106876
- }
106877
- ]
106878
- },
106879
- {
106880
- "kind": "method",
106881
- "name": "hostDisconnected",
106882
- "return": {
106883
- "type": {
106884
- "text": "void"
106885
- }
106886
- }
106887
- },
106888
- {
106889
- "kind": "method",
106890
- "name": "stop",
106891
- "privacy": "private",
106892
- "return": {
106893
- "type": {
106894
- "text": "void"
106895
- }
106843
+ "text": "string"
106896
106844
  }
106897
106845
  }
106898
106846
  ],
106899
- "helix": {}
106847
+ "description": "Whether the file a `src` points at is the player's to hand over.\n\nHere because it is the download control's other condition: whether it is\ndrawn at all is `source`, and whether the `download` attribute on it means\nanything is this.\n\n`blob:` and `data:` named rather than compared, because the rule `download`\nactually follows is same-origin *or one of those two*: a clip a consumer\ngenerated in the page has no origin to match and is theirs to save by\ndefinition. Comparing origins alone called both foreign, so the one case\nwhere a download certainly works was the one case it was not offered."
106900
106848
  }
106901
106849
  ],
106902
106850
  "exports": [
106903
106851
  {
106904
106852
  "kind": "js",
106905
- "name": "captionTracks",
106906
- "declaration": {
106907
- "name": "captionTracks",
106908
- "module": "src/video/root/captions.ts"
106909
- }
106910
- },
106911
- {
106912
- "kind": "js",
106913
- "name": "showCaption",
106914
- "declaration": {
106915
- "name": "showCaption",
106916
- "module": "src/video/root/captions.ts"
106917
- }
106918
- },
106919
- {
106920
- "kind": "js",
106921
- "name": "adoptTrack",
106853
+ "name": "offers",
106922
106854
  "declaration": {
106923
- "name": "adoptTrack",
106924
- "module": "src/video/root/captions.ts"
106855
+ "name": "offers",
106856
+ "module": "src/video/root/extra-controls.ts"
106925
106857
  }
106926
106858
  },
106927
106859
  {
106928
106860
  "kind": "js",
106929
- "name": "captionsAmong",
106861
+ "name": "barControls",
106930
106862
  "declaration": {
106931
- "name": "captionsAmong",
106932
- "module": "src/video/root/captions.ts"
106863
+ "name": "barControls",
106864
+ "module": "src/video/root/extra-controls.ts"
106933
106865
  }
106934
106866
  },
106935
106867
  {
106936
106868
  "kind": "js",
106937
- "name": "activeCue",
106869
+ "name": "menuControls",
106938
106870
  "declaration": {
106939
- "name": "activeCue",
106940
- "module": "src/video/root/captions.ts"
106871
+ "name": "menuControls",
106872
+ "module": "src/video/root/extra-controls.ts"
106941
106873
  }
106942
106874
  },
106943
106875
  {
106944
106876
  "kind": "js",
106945
- "name": "CueController",
106877
+ "name": "ownFile",
106946
106878
  "declaration": {
106947
- "name": "CueController",
106948
- "module": "src/video/root/captions.ts"
106879
+ "name": "ownFile",
106880
+ "module": "src/video/root/extra-controls.ts"
106949
106881
  }
106950
106882
  }
106951
106883
  ]
106952
106884
  },
106953
106885
  {
106954
106886
  "kind": "javascript-module",
106955
- "path": "src/video/root/fullscreen.ts",
106887
+ "path": "src/video/root/keys.ts",
106956
106888
  "declarations": [
106957
106889
  {
106958
- "kind": "class",
106959
- "description": "Into fullscreen and back, and honest about where the element is.\n\nThe state follows `fullscreenchange` rather than the request, so a refused\nrequest leaves a button that correctly reports \"not fullscreen\".",
106960
- "name": "FullscreenController",
106961
- "members": [
106962
- {
106963
- "kind": "method",
106964
- "name": "toggle",
106965
- "return": {
106966
- "type": {
106967
- "text": "Promise<void>"
106968
- }
106969
- },
106970
- "description": "Into fullscreen and back, and quiet about being refused.\n\n`requestFullscreen` rejects rather than returning false, and the two\nrefusals a consumer will actually meet are a Permissions Policy that does\nnot grant `fullscreen` to the frame the player is in, and a call without\nuser activation. Both are `TypeError: Permissions check failed`, which is\nthe same message for two different causes.\n\nCaught rather than `void`ed, or a refusal becomes an unhandled rejection\nnaming neither the element nor the reason."
106971
- },
106972
- {
106973
- "kind": "method",
106974
- "name": "hostConnected",
106975
- "return": {
106976
- "type": {
106977
- "text": "void"
106978
- }
106979
- }
106980
- },
106981
- {
106982
- "kind": "method",
106983
- "name": "hostDisconnected",
106984
- "return": {
106985
- "type": {
106986
- "text": "void"
106987
- }
106988
- }
106989
- },
106990
- {
106991
- "kind": "field",
106992
- "name": "handleChange",
106993
- "privacy": "private",
106994
- "readonly": true
106890
+ "kind": "function",
106891
+ "name": "takeKey",
106892
+ "return": {
106893
+ "type": {
106894
+ "text": "boolean"
106995
106895
  }
106996
- ],
106997
- "helix": {}
106998
- }
106999
- ],
107000
- "exports": [
107001
- {
107002
- "kind": "js",
107003
- "name": "FullscreenController",
107004
- "declaration": {
107005
- "name": "FullscreenController",
107006
- "module": "src/video/root/fullscreen.ts"
107007
- }
107008
- }
107009
- ]
107010
- },
107011
- {
107012
- "kind": "javascript-module",
107013
- "path": "src/video/root/idle.ts",
107014
- "declarations": [
107015
- {
107016
- "kind": "class",
107017
- "description": "How long the reader has been still, which decides when the bar goes.\n\nA wait rather than leaving with the pointer, or a reader moving across the\npicture to reach a control watches the bar vanish under them. The wait is\nonly ever about *idling*: whether a paused video keeps its bar is the\nelement's decision, and this only says when the reader stopped.\n\nThe delay is asked for on every restart rather than taken once, because it\nis a property the consumer can change while the video plays.",
107018
- "name": "IdleController",
107019
- "members": [
106896
+ },
106897
+ "parameters": [
107020
106898
  {
107021
- "kind": "field",
107022
- "name": "timer",
106899
+ "name": "event",
107023
106900
  "type": {
107024
- "text": "ReturnType<typeof setTimeout> | undefined"
107025
- },
107026
- "privacy": "private"
107027
- },
107028
- {
107029
- "kind": "field",
107030
- "name": "stir",
107031
- "readonly": true,
107032
- "description": "Restarts the wait, on anything that counts as the reader being here.\n\nPointer movement and focus both count, and both have to: a reader using the\nkeyboard never moves a pointer, and a bar that only answered the mouse\nwould leave them nothing to look at. Zero turns the wait off and the bar\ngoes immediately; a large number keeps it up for as long as anyone is\nlikely to look."
107033
- },
107034
- {
107035
- "kind": "field",
107036
- "name": "leave",
107037
- "readonly": true,
107038
- "description": "Leaving is the one case that does not wait: the reader has gone somewhere\nelse, and there is nothing to reach for."
107039
- },
107040
- {
107041
- "kind": "method",
107042
- "name": "hostDisconnected",
107043
- "return": {
107044
- "type": {
107045
- "text": "void"
107046
- }
106901
+ "text": "KeyboardEvent"
107047
106902
  }
107048
- }
107049
- ],
107050
- "helix": {}
107051
- }
107052
- ],
107053
- "exports": [
107054
- {
107055
- "kind": "js",
107056
- "name": "IdleController",
107057
- "declaration": {
107058
- "name": "IdleController",
107059
- "module": "src/video/root/idle.ts"
107060
- }
107061
- }
107062
- ]
107063
- },
107064
- {
107065
- "kind": "javascript-module",
107066
- "path": "src/video/root/media-session.ts",
107067
- "declarations": [
107068
- {
107069
- "kind": "variable",
107070
- "name": "SKIP_SECONDS",
107071
- "type": {
107072
- "text": "number"
107073
- },
107074
- "default": "10",
107075
- "description": "How far a skip control moves, in seconds.\n\nTen, which is the number every player that has one uses, and the number the\nplatform names in `seekbackward` and `seekforward` when it hands over a\ndefault. A different length here would be correct only on this player."
107076
- },
107077
- {
107078
- "kind": "class",
107079
- "description": "Holds the page's media session for one player, and tells the platform what\nis playing.\n\nThe handlers are what make a headset's play, pause and skip work at all.\nWithout them a platform falls back to guessing which element was meant,\nwhich is right often enough to hide the fault and wrong exactly when there\nare two.",
107080
- "name": "MediaSessionController",
107081
- "members": [
107082
- {
107083
- "kind": "method",
107084
- "name": "claim",
107085
- "return": {
107086
- "type": {
107087
- "text": "void"
107088
- }
107089
- },
107090
- "parameters": [
107091
- {
107092
- "name": "metadata",
107093
- "type": {
107094
- "text": "{ artwork: string; title: string }"
107095
- }
107096
- },
107097
- {
107098
- "name": "handlers",
107099
- "type": {
107100
- "text": "SessionHandlers"
107101
- }
107102
- }
107103
- ],
107104
- "description": "Takes the session.\n\nOn play rather than on render, which is the ownership rule: a page with two\nplayers gives the session to whichever one the reader started, so a\nheadset's buttons land on what they are listening to rather than on\nwhichever came first in the markup."
107105
- },
107106
- {
107107
- "kind": "method",
107108
- "name": "report",
107109
- "return": {
107110
- "type": {
107111
- "text": "void"
107112
- }
107113
- },
107114
- "parameters": [
107115
- {
107116
- "name": "playing",
107117
- "type": {
107118
- "text": "boolean"
107119
- }
107120
- }
107121
- ],
107122
- "description": "Tells the platform whether the owner is playing, and nothing if it is not the owner."
107123
106903
  },
107124
106904
  {
107125
- "kind": "method",
107126
- "name": "hostDisconnected",
107127
- "return": {
107128
- "type": {
107129
- "text": "void"
107130
- }
107131
- },
107132
- "description": "The page's one media session goes back to nobody, but only if this\nelement is the one holding it."
107133
- }
107134
- ],
107135
- "helix": {}
107136
- }
107137
- ],
107138
- "exports": [
107139
- {
107140
- "kind": "js",
107141
- "name": "SKIP_SECONDS",
107142
- "declaration": {
107143
- "name": "SKIP_SECONDS",
107144
- "module": "src/video/root/media-session.ts"
107145
- }
107146
- },
107147
- {
107148
- "kind": "js",
107149
- "name": "MediaSessionController",
107150
- "declaration": {
107151
- "name": "MediaSessionController",
107152
- "module": "src/video/root/media-session.ts"
107153
- }
107154
- }
107155
- ]
107156
- },
107157
- {
107158
- "kind": "javascript-module",
107159
- "path": "src/video/root/remote-playback.ts",
107160
- "declarations": [
107161
- {
107162
- "kind": "class",
107163
- "description": "Watches for something to play the video on, and stops on the way out.\n\nThe Remote Playback API is the standard one, and it is what Safari\nimplements for AirPlay and Chrome for Cast: one call covers both, where the\nolder `webkitShowPlaybackTargetPicker` covers only the first. Firefox has\nneither, and `remote` simply being absent is what turns the control off\nthere.\n\n`watchAvailability` returns an id that has to be canceled, or the callback\noutlives the element that owns it: a callback holding a removed element is a\nleak with a `@state` write on the end.",
107164
- "name": "RemotePlaybackController",
107165
- "members": [
107166
- {
107167
- "kind": "field",
107168
106905
  "name": "video",
107169
106906
  "type": {
107170
- "text": "HTMLVideoElement | undefined"
107171
- },
107172
- "privacy": "private"
106907
+ "text": "HTMLVideoElement"
106908
+ }
107173
106909
  },
107174
106910
  {
107175
- "kind": "field",
107176
- "name": "watch",
106911
+ "name": "actions",
107177
106912
  "type": {
107178
- "text": "number | undefined"
107179
- },
107180
- "privacy": "private",
107181
- "description": "Cancels the availability watch, since it outlives a single render."
107182
- },
107183
- {
107184
- "kind": "method",
107185
- "name": "attach",
107186
- "return": {
107187
- "type": {
107188
- "text": "Promise<void>"
107189
- }
107190
- },
107191
- "parameters": [
107192
- {
107193
- "name": "video",
107194
- "type": {
107195
- "text": "HTMLVideoElement"
107196
- }
107197
- }
107198
- ],
107199
- "description": "Starts watching the video, once there is one."
107200
- },
107201
- {
107202
- "kind": "method",
107203
- "name": "prompt",
107204
- "return": {
107205
- "type": {
107206
- "text": "Promise<void>"
107207
- }
107208
- },
107209
- "description": "Opens the platform's own device picker. It has no list of its own."
107210
- },
107211
- {
107212
- "kind": "method",
107213
- "name": "hostDisconnected",
107214
- "return": {
107215
- "type": {
107216
- "text": "void"
107217
- }
106913
+ "text": "KeyActions"
107218
106914
  }
107219
- },
107220
- {
107221
- "kind": "field",
107222
- "name": "handleState",
107223
- "privacy": "private",
107224
- "readonly": true
107225
106915
  }
107226
106916
  ],
107227
- "helix": {}
106917
+ "description": "Answers one press, and says whether it was one of these.\n\nNothing is taken while focus is in a range. The scrubber and the volume are\nreal inputs and the arrows are already theirs, so intercepting would mean\nseeking twice for one press."
107228
106918
  }
107229
106919
  ],
107230
106920
  "exports": [
107231
106921
  {
107232
106922
  "kind": "js",
107233
- "name": "RemotePlaybackController",
106923
+ "name": "takeKey",
107234
106924
  "declaration": {
107235
- "name": "RemotePlaybackController",
107236
- "module": "src/video/root/remote-playback.ts"
106925
+ "name": "takeKey",
106926
+ "module": "src/video/root/keys.ts"
107237
106927
  }
107238
106928
  }
107239
106929
  ]
@@ -107625,16 +107315,6 @@
107625
107315
  "description": "What the play control is called while it would start the video.",
107626
107316
  "attribute": "play-label"
107627
107317
  },
107628
- {
107629
- "kind": "field",
107630
- "name": "localFile",
107631
- "type": {
107632
- "text": "boolean"
107633
- },
107634
- "privacy": "private",
107635
- "description": "Whether the file this points at is ours to hand over.\n\n`blob:` and `data:` named rather than compared, because the rule `download`\nactually follows is same-origin *or one of those two*: a clip a consumer\ngenerated in the page has no origin to match and is theirs to save by\ndefinition. Comparing origins alone called both foreign, so the one case\nwhere a download certainly works was the one case it was not offered.",
107636
- "readonly": true
107637
- },
107638
107318
  {
107639
107319
  "kind": "field",
107640
107320
  "name": "playsInline",
@@ -107881,23 +107561,14 @@
107881
107561
  "default": "new MediaSessionController(this)"
107882
107562
  },
107883
107563
  {
107884
- "kind": "method",
107885
- "name": "offers",
107886
- "privacy": "private",
107887
- "return": {
107888
- "type": {
107889
- "text": "boolean"
107890
- }
107564
+ "kind": "field",
107565
+ "name": "conditions",
107566
+ "type": {
107567
+ "text": "Conditions"
107891
107568
  },
107892
- "parameters": [
107893
- {
107894
- "name": "one",
107895
- "type": {
107896
- "text": "string"
107897
- }
107898
- }
107899
- ],
107900
- "description": "Whether this platform can do a named control at all."
107569
+ "privacy": "private",
107570
+ "description": "What the roster asks about this player, which is the whole of what it reads.",
107571
+ "readonly": true
107901
107572
  },
107902
107573
  {
107903
107574
  "kind": "field",
@@ -107916,14 +107587,14 @@
107916
107587
  "text": "string[]"
107917
107588
  },
107918
107589
  "privacy": "private",
107919
- "description": "The controls asked for behind the overflow button, in order.\n\nA name in both lists is on the bar and not here. Drawing it twice is worse\nthan either placement, and the bar is the one a reader can see.",
107590
+ "description": "The controls asked for behind the overflow button, in order.",
107920
107591
  "readonly": true
107921
107592
  },
107922
107593
  {
107923
107594
  "kind": "field",
107924
107595
  "name": "media",
107925
107596
  "type": {
107926
- "text": "{ attrs: Record<string, string>; tag: 'source' | 'track' }[]"
107597
+ "text": "MediaCopy[]"
107927
107598
  },
107928
107599
  "privacy": "private",
107929
107600
  "default": "[]",
@@ -108157,31 +107828,12 @@
108157
107828
  "default": "false",
108158
107829
  "description": "Whether the first set of copies has been read from the children."
108159
107830
  },
108160
- {
108161
- "kind": "method",
108162
- "name": "copiesOf",
108163
- "privacy": "private",
108164
- "return": {
108165
- "type": {
108166
- "text": "{ attrs: Record<string, string>; tag: 'source' | 'track' }[]"
108167
- }
108168
- },
108169
- "parameters": [
108170
- {
108171
- "name": "elements",
108172
- "type": {
108173
- "text": "Element[]"
108174
- }
108175
- }
108176
- ],
108177
- "description": "The copies to make of what the default slot is given.\n\nThe attribute list is explicit rather than a blind copy of every attribute:\nthese are two elements with a known and small surface, and copying anything\na consumer happened to put on one would carry their framework's own markers\ninto a shadow root that has no use for them."
108178
- },
108179
107831
  {
108180
107832
  "kind": "field",
108181
107833
  "name": "handleMedia",
108182
107834
  "privacy": "private",
108183
107835
  "readonly": true,
108184
- "description": "Rebuilds the copies when what is slotted changes after the first read.\n\nThe same set again is not a change. A video reloads for every new list, and\nthe first `slotchange` reports the children this element already read."
107836
+ "description": "Rebuilds the copies when what is slotted changes after the first read."
108185
107837
  },
108186
107838
  {
108187
107839
  "kind": "field",
@@ -108344,7 +107996,7 @@
108344
107996
  "name": "handleKeydown",
108345
107997
  "privacy": "private",
108346
107998
  "readonly": true,
108347
- "description": "The keys every player uses, bound to this element rather than the document.\n\nA video is not a command palette: its keys belong to it while a reader is\non it, and a page with two videos on it would otherwise have both answering\nthe same press.\n\nNothing is taken while focus is in a range. The scrubber and the volume are\nreal inputs and the arrows are already theirs, so intercepting would mean\nseeking twice for one press."
107999
+ "description": "The keys every player uses, bound to this element rather than the document.\n\nA video is not a command palette: its keys belong to it while a reader is\non it, and a page with two videos on it would otherwise have both answering\nthe same press.\n\nA taken press is stopped here rather than in the table, because what the\ndefault would have been is the element's business: the table says what the\nkey means and this says that nothing else gets it."
108348
108000
  },
108349
108001
  {
108350
108002
  "kind": "field",