comparison mrjunejune/src/tools/hls_player/index.html @ 258:60a876c4587a

[ui] Add semantic primitive ownership Build a layered Zenbu token and sizing system, make authored controls use native-underneath primitives, migrate mrjunejune without imposing visual surfaces, and document/enforce HTML ownership in the catalog and wiki. Co-authored-by: Copilot <[email protected]>
author MrJuneJune <me@mrjunejune.com>
date Wed, 05 Aug 2026 05:25:40 -0700
parents 543df0fe7168
children
comparison
equal deleted inserted replaced
257:609d3c6aff4e 258:60a876c4587a
14 <p>Load an HLS playlist from a URL, or try the sample stream bundled with this site.</p> 14 <p>Load an HLS playlist from a URL, or try the sample stream bundled with this site.</p>
15 15
16 <form id="hlsForm" class="hls-form"> 16 <form id="hlsForm" class="hls-form">
17 <label for="hlsUrl">Playlist URL</label> 17 <label for="hlsUrl">Playlist URL</label>
18 <div class="hls-url-row"> 18 <div class="hls-url-row">
19 <input 19 <zen-input appearance="plain" size="md">
20 id="hlsUrl" 20 <input
21 name="url" 21 id="hlsUrl"
22 type="text" 22 name="url"
23 inputmode="url" 23 type="text"
24 value="/public/hls-sample/h264-ts-stream.m3u8" 24 inputmode="url"
25 placeholder="https://example.com/stream.m3u8" 25 value="/public/hls-sample/h264-ts-stream.m3u8"
26 required 26 placeholder="https://example.com/stream.m3u8"
27 /> 27 required
28 <button type="submit">Load</button> 28 />
29 <button id="sampleButton" type="button">Sample</button> 29 </zen-input>
30 <zen-button appearance="plain" size="md">
31 <button type="submit">Load</button>
32 </zen-button>
33 <zen-button appearance="plain" size="md">
34 <button id="sampleButton" type="button">Sample</button>
35 </zen-button>
30 </div> 36 </div>
31 </form> 37 </form>
32 38
33 <fieldset class="hls-local-picker"> 39 <fieldset class="hls-local-picker">
34 <legend>Local HLS</legend> 40 <legend>Local HLS</legend>
35 <p>Select the playlist together with every init and segment file it references.</p> 41 <p>Select the playlist together with every init and segment file it references.</p>
36 <div class="hls-local-actions"> 42 <div class="hls-local-actions">
37 <label class="hls-file-button"> 43 <label class="hls-file-button">
38 Choose HLS files 44 Choose HLS files
39 <input 45 <zen-input appearance="plain" size="md">
40 id="hlsFiles" 46 <input
41 type="file" 47 id="hlsFiles"
42 accept=".m3u8,.m4s,.mp4,.ts,.aac,.vtt,.key,application/vnd.apple.mpegurl" 48 type="file"
43 multiple 49 accept=".m3u8,.m4s,.mp4,.ts,.aac,.vtt,.key,application/vnd.apple.mpegurl"
44 /> 50 multiple
51 />
52 </zen-input>
45 </label> 53 </label>
46 <label class="hls-file-button"> 54 <label class="hls-file-button">
47 Choose HLS folder 55 Choose HLS folder
48 <input 56 <zen-input appearance="plain" size="md">
49 id="hlsFolder" 57 <input
50 type="file" 58 id="hlsFolder"
51 webkitdirectory 59 type="file"
52 multiple 60 webkitdirectory
53 /> 61 multiple
62 />
63 </zen-input>
54 </label> 64 </label>
55 </div> 65 </div>
56 </fieldset> 66 </fieldset>
57 67
58 <div class="hls-player-shell"> 68 <div class="hls-player-shell">