From 57c406d2c5acec148fdc5dc696388ed2d2f180c7 Mon Sep 17 00:00:00 2001 From: Darius Cepulis Date: Wed, 15 Jul 2026 09:41:48 -0700 Subject: [PATCH] refactor(site): centralize demo media sources (#1829) --- site/CLAUDE.md | 2 + site/astro.config.mjs | 3 +- site/scripts/replace-demo-placeholders.ts | 59 +++++++++++++++ .../tests/replace-demo-placeholders.test.ts | 75 +++++++++++++++++++ .../airplay-button/html/css/BasicUsage.html | 2 +- .../airplay-button/react/css/BasicUsage.tsx | 8 +- .../html/css/BasicUsage.html | 2 +- .../react/css/BasicUsage.tsx | 2 +- .../background-video/html/css/BasicUsage.html | 2 +- .../background-video/react/css/BasicUsage.tsx | 2 +- .../html/css/BasicUsage.html | 2 +- .../react/css/BasicUsage.tsx | 8 +- .../captions-button/html/css/BasicUsage.html | 2 +- .../captions-button/react/css/BasicUsage.tsx | 8 +- .../html/css/BasicUsage.html | 2 +- .../react/css/BasicUsage.tsx | 8 +- .../cast-button/html/css/BasicUsage.html | 2 +- .../cast-button/react/css/BasicUsage.tsx | 8 +- .../demos/controls/html/css/BasicUsage.html | 2 +- .../demos/controls/react/css/BasicUsage.tsx | 8 +- .../create-player/react/css/BasicUsage.tsx | 7 +- .../demos/dash-video/html/css/BasicUsage.html | 2 +- .../demos/dash-video/react/css/BasicUsage.tsx | 11 +-- .../html/css/BasicUsage.html | 2 +- .../react/css/BasicUsage.tsx | 8 +- .../hlsjs-video/html/css/BasicUsage.html | 2 +- .../hlsjs-video/react/css/BasicUsage.tsx | 11 +-- .../html/css/BasicUsage.html | 2 +- .../docs/demos/menu/html/css/BasicUsage.html | 2 +- .../docs/demos/menu/react/css/BasicUsage.tsx | 2 +- .../mute-button/html/css/BasicUsage.html | 2 +- .../mute-button/html/css/VolumeLevels.html | 2 +- .../mute-button/react/css/BasicUsage.tsx | 8 +- .../mute-button/react/css/VolumeLevels.tsx | 8 +- .../demos/mux-audio/html/css/BasicUsage.html | 2 +- .../demos/mux-audio/react/css/BasicUsage.tsx | 9 +-- .../demos/mux-video/html/css/BasicUsage.html | 2 +- .../demos/mux-video/react/css/BasicUsage.tsx | 2 +- .../native-hls-video/html/css/BasicUsage.html | 2 +- .../native-hls-video/react/css/BasicUsage.tsx | 11 +-- .../demos/pip-button/html/css/BasicUsage.html | 2 +- .../demos/pip-button/react/css/BasicUsage.tsx | 8 +- .../play-button/html/css/BasicUsage.html | 2 +- .../play-button/react/css/BasicUsage.tsx | 7 +- .../html/css/BasicUsage.html | 2 +- .../react/css/BasicUsage.tsx | 8 +- .../html/css/BasicUsage.html | 2 +- .../react/css/BasicUsage.tsx | 8 +- .../html/css/BasicUsage.html | 2 +- .../demos/popover/html/css/BasicUsage.html | 2 +- .../demos/popover/react/css/BasicUsage.tsx | 8 +- .../demos/poster/html/css/BasicUsage.html | 4 +- .../demos/poster/react/css/BasicUsage.tsx | 7 +- .../html/css/BasicUsage.html | 2 +- .../react/css/BasicUsage.tsx | 2 +- .../seek-button/html/css/BasicUsage.html | 2 +- .../seek-button/react/css/BasicUsage.tsx | 8 +- .../html/css/BasicUsage.html | 2 +- .../react/css/BasicUsage.tsx | 8 +- .../simple-hls-video/html/css/BasicUsage.html | 2 +- .../simple-hls-video/react/css/BasicUsage.tsx | 11 +-- .../demos/thumbnail/html/css/BasicUsage.html | 2 +- .../demos/thumbnail/react/css/BasicUsage.tsx | 2 +- .../thumbnail/react/css/JsonSpriteUsage.tsx | 6 +- .../demos/thumbnail/react/css/JsonUsage.tsx | 6 +- .../demos/time-slider/html/css/WithParts.html | 2 +- .../demos/time-slider/react/css/WithParts.tsx | 8 +- .../demos/time/html/css/CurrentDuration.html | 2 +- .../docs/demos/time/html/css/CurrentTime.html | 2 +- .../time/html/css/CustomNegativeSign.html | 2 +- .../demos/time/html/css/CustomSeparator.html | 2 +- .../docs/demos/time/html/css/Remaining.html | 2 +- .../demos/time/react/css/CurrentDuration.tsx | 8 +- .../docs/demos/time/react/css/CurrentTime.tsx | 8 +- .../time/react/css/CustomNegativeSign.tsx | 8 +- .../demos/time/react/css/CustomSeparator.tsx | 8 +- .../docs/demos/time/react/css/Remaining.tsx | 8 +- .../demos/use-media/react/css/BasicUsage.tsx | 8 +- .../demos/use-player/react/css/Selector.tsx | 8 +- .../use-player/react/css/StoreAccess.tsx | 8 +- .../demos/use-store/react/css/Selector.tsx | 8 +- .../demos/use-store/react/css/StoreAccess.tsx | 8 +- .../volume-slider/html/css/WithParts.html | 2 +- .../volume-slider/react/css/WithParts.tsx | 8 +- site/src/consts.ts | 20 +++-- .../docs/reference/write-references.mdx | 17 ++++- site/vitest.config.ts | 3 +- 87 files changed, 256 insertions(+), 313 deletions(-) create mode 100644 site/scripts/replace-demo-placeholders.ts create mode 100644 site/scripts/tests/replace-demo-placeholders.test.ts diff --git a/site/CLAUDE.md b/site/CLAUDE.md index 0a438910..4bd29c36 100644 --- a/site/CLAUDE.md +++ b/site/CLAUDE.md @@ -252,6 +252,8 @@ import basicUsageCss from "@/components/docs/demos/play-button/react/css/BasicUs Four files per demo: `.html` (markup only), `.css` (styles), `.ts` (custom element registration), and `.astro` (wrapper that ties them together). The `.astro` wrapper is needed because only Astro `