Files
hyperframes/packages/producer/tests/style-4-prod/src/compositions/intro.html
T
Vance Ingalls 20be2ea1c2 style: apply oxfmt baseline formatting across all source files (#25)
## Summary
- Run `oxfmt .` across the entire codebase to establish formatted baseline
- 299 files changed — mechanical formatting only, no logic changes
- Double quotes, semicolons, 2-space indent, trailing commas, 100 print width

Part 3/4 of [VA-851](https://linear.app/heygen/issue/VA-851/pre-migration-configure-eslint-prettier-and-conventional-commits)

## Test plan
- [x] `pnpm format:check` — all 426 files pass
- [x] `pnpm -r typecheck` — all packages pass
- [x] `pnpm build` — all packages build
- [x] All 348 tests pass
2026-03-23 17:15:14 -07:00

86 lines
2.3 KiB
HTML

<template id="intro-template">
<div data-composition-id="intro" data-width="1920" data-height="1080" data-duration="3">
<div class="container">
<div class="title-card">
<h1 class="title">Editor Agent</h1>
<p class="subtitle">Design simplified.</p>
</div>
</div>
<style>
/* Import a rounded humanist sans-serif font */
@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@400;600&display=swap");
[data-composition-id="intro"] .container {
width: 100%;
height: 100%;
display: flex;
justify-content: flex-start; /* Align to left for speaker card */
align-items: center;
padding-left: 5%;
font-family: "Outfit", sans-serif;
background: transparent;
}
[data-composition-id="intro"] .title-card {
background-color: #3b5e3a; /* Forest Green for contrast */
padding: 40px 60px;
border-radius: 30px;
box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2);
text-align: left;
opacity: 0;
transform: translateX(-100%); /* Start off-screen left */
}
[data-composition-id="intro"] .title {
font-size: 100px;
font-weight: 600;
color: #f5f0e0; /* Cream text on green card */
margin: 0;
line-height: 1.1;
letter-spacing: -2px;
}
[data-composition-id="intro"] .subtitle {
font-size: 50px;
font-weight: 400;
color: #cc8832; /* Ochre accent */
margin: 10px 0 0 0;
line-height: 1.2;
}
</style>
<script>
(function () {
const tl = gsap.timeline({ paused: true });
// Animation: Speaker card slides in from the left
tl.to(
'[data-composition-id="intro"] .title-card',
{
opacity: 1,
x: 0,
duration: 0.8,
ease: "power2.out",
},
0.2,
);
// Exit: Slide off left at 1.8s (synced with 47% graphic)
tl.to(
'[data-composition-id="intro"] .title-card',
{
x: "-120%",
opacity: 0,
duration: 0.6,
ease: "power2.in",
},
1.8,
);
window.__timelines["intro"] = tl;
})();
</script>
</div>
</template>