summaryrefslogtreecommitdiff
path: root/src/index.html
diff options
context:
space:
mode:
authorElizabeth Hunt <me@liz.coffee>2025-12-14 16:14:29 -0800
committerElizabeth Hunt <me@liz.coffee>2025-12-14 16:17:29 -0800
commit8ec712c8c884110600954860c21f58107455cfdc (patch)
tree5e5b16ec8b0a1d15d58beae5bc8a7fd5285c6d0e /src/index.html
parentdb0d9b80b4412a46cae0e58997f4baa7213948e3 (diff)
downloadadelie-8ec712c8c884110600954860c21f58107455cfdc.tar.gz
adelie-8ec712c8c884110600954860c21f58107455cfdc.zip
Move to typescript
Diffstat (limited to 'src/index.html')
-rw-r--r--src/index.html1167
1 files changed, 575 insertions, 592 deletions
diff --git a/src/index.html b/src/index.html
index c5f83a2..b20e703 100644
--- a/src/index.html
+++ b/src/index.html
@@ -1,599 +1,582 @@
<!doctype html>
<html lang="en">
- <head>
- <meta charset="UTF-8" />
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <title>Liz CSS - Framework Demo</title>
- <link rel="stylesheet" href="/bundle.css" />
- <link rel="icon" href="/img/favicon.ico" />
- <style>
- .demo-section {
- margin-bottom: var(--space-xl);
- }
-
- .component-grid {
- display: grid;
- grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
- gap: var(--space-md);
- margin: var(--space-md) 0;
- }
-
- .component-box {
- border: var(--border-width) solid var(--border);
- padding: var(--space-md);
- background: var(--surface);
- box-shadow:
- inset 1px 1px 0 var(--border-light),
- inset -1px -1px 0 var(--border-dark),
- var(--shadow-box);
- }
-
- .component-box > :last-child {
- margin-bottom: 0;
- }
-
- .component-label {
- display: block;
- font-size: 0.75rem;
- color: var(--muted);
- margin-bottom: var(--space-xs);
- text-transform: uppercase;
- letter-spacing: 0.05em;
- }
-
- .button-row {
- display: flex;
- gap: var(--space-sm);
- flex-wrap: wrap;
- margin: var(--space-md) 0;
- }
-
- .form-group {
- margin-bottom: var(--space-md);
- }
-
- code {
- background: var(--bg);
- padding: 0.25rem 0.5rem;
- border: 1px solid var(--border-light);
- font-size: 0.875rem;
- font-family: var(--font-mono);
- }
-
- .color-swatch {
- display: inline-block;
- width: 40px;
- height: 40px;
- border: var(--border-width) solid var(--border);
- margin-right: var(--space-sm);
- vertical-align: middle;
- box-shadow:
- inset 1px 1px 0 var(--border-light),
- inset -1px -1px 0 var(--border-dark),
- var(--shadow-sm);
- }
- </style>
- </head>
- <body>
- <header>
- <nav>
- <a href="/">Home</a>
- <a href="/demo.html">Components</a>
- </nav>
- <input type="checkbox" id="theme-toggle" class="toggle" aria-label="Toggle dark mode" />
- </header>
-
- <main>
- <!-- Color Palette -->
- <article>
- <h2>Color Palette</h2>
- <p>A retro-themed minimal CSS framework with carefully selected colors for light and dark modes.</p>
-
- <h3>Primary Colors</h3>
- <div class="component-grid">
- <div class="component-box">
- <span class="component-label">Primary</span>
- <div style="display: flex; align-items: center;">
- <div
- class="color-swatch"
- style="background: var(--primary);"
- ></div>
- <code>#e56aa6</code>
- </div>
- </div>
- <div class="component-box">
- <span class="component-label">Primary Light</span>
- <div style="display: flex; align-items: center;">
- <div
- class="color-swatch"
- style="background: var(--primary-light);"
- ></div>
- <code>#f08dbe</code>
- </div>
- </div>
- <div class="component-box">
- <span class="component-label">Primary Dark</span>
- <div style="display: flex; align-items: center;">
- <div
- class="color-swatch"
- style="background: var(--primary-dark);"
- ></div>
- <code>#c84d86</code>
- </div>
- </div>
- </div>
-
- <h3>Secondary Colors</h3>
- <div class="component-grid">
- <div class="component-box">
- <span class="component-label">Secondary</span>
- <div style="display: flex; align-items: center;">
- <div
- class="color-swatch"
- style="background: var(--secondary);"
- ></div>
- <code>#b69cff</code>
- </div>
- </div>
- <div class="component-box">
- <span class="component-label">Secondary Light</span>
- <div style="display: flex; align-items: center;">
- <div
- class="color-swatch"
- style="background: var(--secondary-light);"
- ></div>
- <code>#d7c8ff</code>
- </div>
- </div>
- <div class="component-box">
- <span class="component-label">Secondary Dark</span>
- <div style="display: flex; align-items: center;">
- <div
- class="color-swatch"
- style="background: var(--secondary-dark);"
- ></div>
- <code>#8f78d6</code>
- </div>
- </div>
- </div>
-
- <h3>Status Colors</h3>
- <div class="component-grid">
- <div class="component-box">
- <span class="component-label">Success</span>
- <div style="display: flex; align-items: center;">
- <div
- class="color-swatch"
- style="background: var(--success);"
- ></div>
- <code>#2e8b57</code>
- </div>
- </div>
- <div class="component-box">
- <span class="component-label">Error</span>
- <div style="display: flex; align-items: center;">
- <div class="color-swatch" style="background: var(--error);"></div>
- <code>#b3261e</code>
- </div>
- </div>
- <div class="component-box">
- <span class="component-label">Warning</span>
- <div style="display: flex; align-items: center;">
- <div
- class="color-swatch"
- style="background: var(--warning);"
- ></div>
- <code>#b7791f</code>
- </div>
- </div>
- <div class="component-box">
- <span class="component-label">Info</span>
- <div style="display: flex; align-items: center;">
- <div class="color-swatch" style="background: var(--info);"></div>
- <code>#2b6cb0</code>
- </div>
- </div>
- </div>
- </article>
-
- <!-- Buttons -->
- <article>
- <h2>Buttons</h2>
- <p>Retro-styled buttons with multiple variants and states.</p>
-
- <h3>Basic Buttons</h3>
- <div class="button-row">
- <button>Default (Secondary)</button>
- <button class="primary">Primary</button>
- <button class="secondary">Secondary</button>
- <button class="contrast">Contrast</button>
- </div>
-
- <h3>Status Buttons</h3>
- <div class="button-row">
- <button class="success">Success</button>
- <button class="error">Error</button>
- <button class="warning">Warning</button>
- <button class="info">Info</button>
- </div>
-
- <h3>Button States</h3>
- <div class="button-row">
- <button>Normal</button>
- <button disabled>Disabled</button>
- </div>
- </article>
-
- <!-- Forms -->
- <article>
- <h2>Forms</h2>
- <p>Complete form styling with retro aesthetics.</p>
-
- <form>
- <div class="form-group">
- <label for="text-input">Text Input</label>
- <input
- type="text"
- id="text-input"
- placeholder="Enter some text..."
- />
- </div>
-
- <div class="form-group">
- <label for="email-input">Email Input</label>
- <input
- type="email"
- id="email-input"
- placeholder="you@example.com"
- />
- </div>
-
- <div class="form-group">
- <label for="number-input">Number Input</label>
- <input type="number" id="number-input" placeholder="42" />
- </div>
-
- <div class="form-group">
- <label for="textarea">Textarea</label>
- <textarea
- id="textarea"
- placeholder="Write your message here..."
- ></textarea>
- </div>
-
- <div class="form-group">
- <label for="select">Select Dropdown</label>
- <select id="select">
- <option>Choose an option</option>
- <option>Option 1</option>
- <option>Option 2</option>
- <option>Option 3</option>
- </select>
- </div>
-
- <fieldset>
- <legend>Checkboxes</legend>
- <div class="form-group">
- <input type="checkbox" id="check1" />
- <label for="check1" style="display: inline; margin: 0;">
- Checkbox 1
- </label>
- </div>
- <div class="form-group">
- <input type="checkbox" id="check2" />
- <label for="check2" style="display: inline; margin: 0;">
- Checkbox 2
- </label>
- </div>
- </fieldset>
-
- <fieldset>
- <legend>Radio Buttons</legend>
- <div class="form-group">
- <input type="radio" id="radio1" name="radio-group" />
- <label for="radio1" style="display: inline; margin: 0;">
- Option A
- </label>
- </div>
- <div class="form-group">
- <input type="radio" id="radio2" name="radio-group" />
- <label for="radio2" style="display: inline; margin: 0;">
- Option B
- </label>
- </div>
- </fieldset>
-
- <div class="button-row mt-md">
- <button type="submit" class="primary">Submit</button>
- <button type="reset" class="secondary">Reset</button>
- <button type="button" class="contrast">Cancel</button>
- </div>
- </form>
- </article>
-
- <!-- Alerts -->
- <article>
- <h2>Alerts</h2>
- <p>Status messages and notifications with semantic colors.</p>
-
- <div class="alert info">
- <strong>ℹ️ Info:</strong> This is an informational message.
- </div>
-
- <div class="alert success">
- <strong>✓ Success:</strong> Operation completed successfully!
- </div>
-
- <div class="alert warning">
- <strong>⚠️ Warning:</strong> Please review this before proceeding.
- </div>
-
- <div class="alert error">
- <strong>✗ Error:</strong> Something went wrong. Please try again.
- </div>
- </article>
-
- <!-- Badges -->
- <article>
- <h2>Badges & Pills</h2>
- <p>Small inline elements for labels, tags, and status indicators.</p>
-
- <h3>Default Badges</h3>
- <p>
- <span class="badge">Default</span>
- <span class="badge primary">Primary</span>
- <span class="badge secondary">Secondary</span>
- <span class="badge contrast">Contrast</span>
- </p>
-
- <h3>Status Badges</h3>
- <p>
- <span class="badge success">✓ Success</span>
- <span class="badge error">✗ Error</span>
- <span class="badge warning">⚠️ Warning</span>
- <span class="badge info">ℹ️ Info</span>
- </p>
- </article>
-
- <!-- Typography & Helpers -->
- <article>
- <h2>Typography & Helper Classes</h2>
- <p>Text utilities and spacing helpers for quick styling.</p>
-
- <h3>Text Colors</h3>
- <p>
- Default text <span class="text-muted">(muted)</span>
- <span class="text-success">success text</span>
- <span class="text-error">error text</span>
- <span class="text-warning">warning text</span>
- <span class="text-info">info text</span>
- <span class="text-contrast">contrast text</span>
- </p>
-
- <h3>Text Alignment</h3>
- <p class="text-left">Left aligned</p>
- <p class="text-center">Center aligned</p>
- <p class="text-right">Right aligned</p>
-
- <h3>Spacing Helpers</h3>
- <p>
- Use <code>.mt-xs</code>, <code>.mt-sm</code>, <code>.mt-md</code>,
- <code>.mt-lg</code>, <code>.mt-xl</code> for margin-top.
- </p>
- <p>
- Use <code>.mb-xs</code>, <code>.mb-sm</code>, <code>.mb-md</code>,
- <code>.mb-lg</code>, <code>.mb-xl</code> for margin-bottom.
- </p>
- <p>
- Use <code>.mx-auto</code> for horizontal centering and
- <code>.py-md</code> for vertical padding.
- </p>
-
- <div class="component-box mt-md mb-lg mx-auto" style="max-width: 400px;">
- <p class="text-center">Example: Component with margin and padding utilities</p>
- </div>
- </article>
-
- <!-- Headings -->
- <article>
- <h2>Heading Styles</h2>
- <h1>Heading 1</h1>
- <h2>Heading 2</h2>
- <h3>Heading 3</h3>
- <h4>Heading 4</h4>
- <h5>Heading 5</h5>
- <h6>Heading 6</h6>
- </article>
-
- <!-- Lists -->
- <article>
- <h2>Lists</h2>
-
- <h3>Unordered List</h3>
- <ul>
- <li>Item one with some text</li>
- <li>Item two with more text</li>
- <li>Item three with even more text</li>
- <li>Nested lists:
- <ul>
- <li>Sub-item one</li>
- <li>Sub-item two</li>
- </ul>
- </li>
- </ul>
-
- <h3>Ordered List</h3>
- <ol>
- <li>First step in the process</li>
- <li>Second step follows naturally</li>
- <li>Third step completes the sequence</li>
- </ol>
- </article>
-
- <!-- Blockquotes -->
- <article>
- <h2>Blockquotes</h2>
- <blockquote>
- "The best time to plant a tree was 20 years ago. The second best time is now."
- <br />
- <small>— Chinese Proverb</small>
- </blockquote>
- </article>
-
- <!-- Links -->
- <article>
- <h2>Links</h2>
- <p>
- This is a <a href="#demo">hyperlink</a> styled with the framework. Links
- have a bottom border and change color on hover. You can use them
- <a href="#inline">inline within text</a> or as standalone elements.
- </p>
- </article>
-
- <!-- Tables -->
- <article>
- <h2>Tables</h2>
- <p>Tables with retro styling, alternating row colors, and hover effects.</p>
- <table>
- <thead>
- <tr>
- <th>Feature</th>
- <th>Light Mode</th>
- <th>Dark Mode</th>
- </tr>
- </thead>
- <tbody>
- <tr>
- <td>Background</td>
- <td>Warm cream</td>
- <td>Warm taupe</td>
- </tr>
- <tr>
- <td>Buttons</td>
- <td>Lavender primary</td>
- <td>Rose primary</td>
- </tr>
- <tr>
- <td>Borders</td>
- <td>Retro 90s beveled</td>
- <td>Retro 90s beveled</td>
- </tr>
- <tr>
- <td>Accents</td>
- <td>Pink & brown</td>
- <td>Pink & brown</td>
- </tr>
- </tbody>
- </table>
- </article>
-
- <!-- Code -->
- <article>
- <h2>Code</h2>
- <p>Inline <code>const x = 42;</code> looks different from block code:</p>
- <pre><code class="language-javascript">function retro() {
+ <head>
+ <meta charset="UTF-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <title>Liz CSS - Framework Demo</title>
+ <script>
+ window.ASSET_BASE = 'ASSET_BASE_PLACEHOLDER';
+ </script>
+ <link rel="stylesheet" href="/bundle.css" />
+ <link rel="icon" href="/img/favicon.ico" />
+ <style>
+ .demo-section {
+ margin-bottom: var(--space-xl);
+ }
+
+ .component-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
+ gap: var(--space-md);
+ margin: var(--space-md) 0;
+ }
+
+ .component-box {
+ border: var(--border-width) solid var(--border);
+ padding: var(--space-md);
+ background: var(--surface);
+ box-shadow:
+ inset 1px 1px 0 var(--border-light),
+ inset -1px -1px 0 var(--border-dark),
+ var(--shadow-box);
+ }
+
+ .component-box > :last-child {
+ margin-bottom: 0;
+ }
+
+ .component-label {
+ display: block;
+ font-size: 0.75rem;
+ color: var(--muted);
+ margin-bottom: var(--space-xs);
+ text-transform: uppercase;
+ letter-spacing: 0.05em;
+ }
+
+ .button-row {
+ display: flex;
+ gap: var(--space-sm);
+ flex-wrap: wrap;
+ margin: var(--space-md) 0;
+ }
+
+ .form-group {
+ margin-bottom: var(--space-md);
+ }
+
+ code {
+ background: var(--bg);
+ padding: 0.25rem 0.5rem;
+ border: 1px solid var(--border-light);
+ font-size: 0.875rem;
+ font-family: var(--font-mono);
+ }
+
+ .color-swatch {
+ display: inline-block;
+ width: 40px;
+ height: 40px;
+ border: var(--border-width) solid var(--border);
+ margin-right: var(--space-sm);
+ vertical-align: middle;
+ box-shadow:
+ inset 1px 1px 0 var(--border-light),
+ inset -1px -1px 0 var(--border-dark),
+ var(--shadow-sm);
+ }
+ </style>
+ </head>
+ <body>
+ <header>
+ <nav>
+ <a href="/">Home</a>
+ <a href="/demo.html">Components</a>
+ </nav>
+ <input type="checkbox" id="theme-toggle" class="toggle" aria-label="Toggle dark mode" />
+ </header>
+
+ <main>
+ <!-- Color Palette -->
+ <article>
+ <h2>Color Palette</h2>
+ <p>
+ A retro-themed minimal CSS framework with carefully selected colors for light
+ and dark modes.
+ </p>
+
+ <h3>Primary Colors</h3>
+ <div class="component-grid">
+ <div class="component-box">
+ <span class="component-label">Primary</span>
+ <div style="display: flex; align-items: center">
+ <div class="color-swatch" style="background: var(--primary)"></div>
+ <code>#e56aa6</code>
+ </div>
+ </div>
+ <div class="component-box">
+ <span class="component-label">Primary Light</span>
+ <div style="display: flex; align-items: center">
+ <div
+ class="color-swatch"
+ style="background: var(--primary-light)"
+ ></div>
+ <code>#f08dbe</code>
+ </div>
+ </div>
+ <div class="component-box">
+ <span class="component-label">Primary Dark</span>
+ <div style="display: flex; align-items: center">
+ <div class="color-swatch" style="background: var(--primary-dark)"></div>
+ <code>#c84d86</code>
+ </div>
+ </div>
+ </div>
+
+ <h3>Secondary Colors</h3>
+ <div class="component-grid">
+ <div class="component-box">
+ <span class="component-label">Secondary</span>
+ <div style="display: flex; align-items: center">
+ <div class="color-swatch" style="background: var(--secondary)"></div>
+ <code>#b69cff</code>
+ </div>
+ </div>
+ <div class="component-box">
+ <span class="component-label">Secondary Light</span>
+ <div style="display: flex; align-items: center">
+ <div
+ class="color-swatch"
+ style="background: var(--secondary-light)"
+ ></div>
+ <code>#d7c8ff</code>
+ </div>
+ </div>
+ <div class="component-box">
+ <span class="component-label">Secondary Dark</span>
+ <div style="display: flex; align-items: center">
+ <div
+ class="color-swatch"
+ style="background: var(--secondary-dark)"
+ ></div>
+ <code>#8f78d6</code>
+ </div>
+ </div>
+ </div>
+
+ <h3>Status Colors</h3>
+ <div class="component-grid">
+ <div class="component-box">
+ <span class="component-label">Success</span>
+ <div style="display: flex; align-items: center">
+ <div class="color-swatch" style="background: var(--success)"></div>
+ <code>#2e8b57</code>
+ </div>
+ </div>
+ <div class="component-box">
+ <span class="component-label">Error</span>
+ <div style="display: flex; align-items: center">
+ <div class="color-swatch" style="background: var(--error)"></div>
+ <code>#b3261e</code>
+ </div>
+ </div>
+ <div class="component-box">
+ <span class="component-label">Warning</span>
+ <div style="display: flex; align-items: center">
+ <div class="color-swatch" style="background: var(--warning)"></div>
+ <code>#b7791f</code>
+ </div>
+ </div>
+ <div class="component-box">
+ <span class="component-label">Info</span>
+ <div style="display: flex; align-items: center">
+ <div class="color-swatch" style="background: var(--info)"></div>
+ <code>#2b6cb0</code>
+ </div>
+ </div>
+ </div>
+ </article>
+
+ <!-- Buttons -->
+ <article>
+ <h2>Buttons</h2>
+ <p>Retro-styled buttons with multiple variants and states.</p>
+
+ <h3>Basic Buttons</h3>
+ <div class="button-row">
+ <button>Default (Secondary)</button>
+ <button class="primary">Primary</button>
+ <button class="secondary">Secondary</button>
+ <button class="contrast">Contrast</button>
+ </div>
+
+ <h3>Status Buttons</h3>
+ <div class="button-row">
+ <button class="success">Success</button>
+ <button class="error">Error</button>
+ <button class="warning">Warning</button>
+ <button class="info">Info</button>
+ </div>
+
+ <h3>Button States</h3>
+ <div class="button-row">
+ <button>Normal</button>
+ <button disabled>Disabled</button>
+ </div>
+ </article>
+
+ <!-- Forms -->
+ <article>
+ <h2>Forms</h2>
+ <p>Complete form styling with retro aesthetics.</p>
+
+ <form>
+ <div class="form-group">
+ <label for="text-input">Text Input</label>
+ <input type="text" id="text-input" placeholder="Enter some text..." />
+ </div>
+
+ <div class="form-group">
+ <label for="email-input">Email Input</label>
+ <input type="email" id="email-input" placeholder="you@example.com" />
+ </div>
+
+ <div class="form-group">
+ <label for="number-input">Number Input</label>
+ <input type="number" id="number-input" placeholder="42" />
+ </div>
+
+ <div class="form-group">
+ <label for="textarea">Textarea</label>
+ <textarea id="textarea" placeholder="Write your message here..."></textarea>
+ </div>
+
+ <div class="form-group">
+ <label for="select">Select Dropdown</label>
+ <select id="select">
+ <option>Choose an option</option>
+ <option>Option 1</option>
+ <option>Option 2</option>
+ <option>Option 3</option>
+ </select>
+ </div>
+
+ <fieldset>
+ <legend>Checkboxes</legend>
+ <div class="form-group">
+ <input type="checkbox" id="check1" />
+ <label for="check1" style="display: inline; margin: 0">
+ Checkbox 1
+ </label>
+ </div>
+ <div class="form-group">
+ <input type="checkbox" id="check2" />
+ <label for="check2" style="display: inline; margin: 0">
+ Checkbox 2
+ </label>
+ </div>
+ </fieldset>
+
+ <fieldset>
+ <legend>Radio Buttons</legend>
+ <div class="form-group">
+ <input type="radio" id="radio1" name="radio-group" />
+ <label for="radio1" style="display: inline; margin: 0">
+ Option A
+ </label>
+ </div>
+ <div class="form-group">
+ <input type="radio" id="radio2" name="radio-group" />
+ <label for="radio2" style="display: inline; margin: 0">
+ Option B
+ </label>
+ </div>
+ </fieldset>
+
+ <div class="button-row mt-md">
+ <button type="submit" class="primary">Submit</button>
+ <button type="reset" class="secondary">Reset</button>
+ <button type="button" class="contrast">Cancel</button>
+ </div>
+ </form>
+ </article>
+
+ <!-- Alerts -->
+ <article>
+ <h2>Alerts</h2>
+ <p>Status messages and notifications with semantic colors.</p>
+
+ <div class="alert info">
+ <strong>ℹ️ Info:</strong> This is an informational message.
+ </div>
+
+ <div class="alert success">
+ <strong>✓ Success:</strong> Operation completed successfully!
+ </div>
+
+ <div class="alert warning">
+ <strong>⚠️ Warning:</strong> Please review this before proceeding.
+ </div>
+
+ <div class="alert error">
+ <strong>✗ Error:</strong> Something went wrong. Please try again.
+ </div>
+ </article>
+
+ <!-- Badges -->
+ <article>
+ <h2>Badges & Pills</h2>
+ <p>Small inline elements for labels, tags, and status indicators.</p>
+
+ <h3>Default Badges</h3>
+ <p>
+ <span class="badge">Default</span>
+ <span class="badge primary">Primary</span>
+ <span class="badge secondary">Secondary</span>
+ <span class="badge contrast">Contrast</span>
+ </p>
+
+ <h3>Status Badges</h3>
+ <p>
+ <span class="badge success">✓ Success</span>
+ <span class="badge error">✗ Error</span>
+ <span class="badge warning">⚠️ Warning</span>
+ <span class="badge info">ℹ️ Info</span>
+ </p>
+ </article>
+
+ <!-- Typography & Helpers -->
+ <article>
+ <h2>Typography & Helper Classes</h2>
+ <p>Text utilities and spacing helpers for quick styling.</p>
+
+ <h3>Text Colors</h3>
+ <p>
+ Default text <span class="text-muted">(muted)</span>
+ <span class="text-success">success text</span>
+ <span class="text-error">error text</span>
+ <span class="text-warning">warning text</span>
+ <span class="text-info">info text</span>
+ <span class="text-contrast">contrast text</span>
+ </p>
+
+ <h3>Text Alignment</h3>
+ <p class="text-left">Left aligned</p>
+ <p class="text-center">Center aligned</p>
+ <p class="text-right">Right aligned</p>
+
+ <h3>Spacing Helpers</h3>
+ <p>
+ Use <code>.mt-xs</code>, <code>.mt-sm</code>, <code>.mt-md</code>,
+ <code>.mt-lg</code>, <code>.mt-xl</code> for margin-top.
+ </p>
+ <p>
+ Use <code>.mb-xs</code>, <code>.mb-sm</code>, <code>.mb-md</code>,
+ <code>.mb-lg</code>, <code>.mb-xl</code> for margin-bottom.
+ </p>
+ <p>
+ Use <code>.mx-auto</code> for horizontal centering and <code>.py-md</code> for
+ vertical padding.
+ </p>
+
+ <div class="component-box mt-md mb-lg mx-auto" style="max-width: 400px">
+ <p class="text-center">Example: Component with margin and padding utilities</p>
+ </div>
+ </article>
+
+ <!-- Headings -->
+ <article>
+ <h2>Heading Styles</h2>
+ <h1>Heading 1</h1>
+ <h2>Heading 2</h2>
+ <h3>Heading 3</h3>
+ <h4>Heading 4</h4>
+ <h5>Heading 5</h5>
+ <h6>Heading 6</h6>
+ </article>
+
+ <!-- Lists -->
+ <article>
+ <h2>Lists</h2>
+
+ <h3>Unordered List</h3>
+ <ul>
+ <li>Item one with some text</li>
+ <li>Item two with more text</li>
+ <li>Item three with even more text</li>
+ <li>
+ Nested lists:
+ <ul>
+ <li>Sub-item one</li>
+ <li>Sub-item two</li>
+ </ul>
+ </li>
+ </ul>
+
+ <h3>Ordered List</h3>
+ <ol>
+ <li>First step in the process</li>
+ <li>Second step follows naturally</li>
+ <li>Third step completes the sequence</li>
+ </ol>
+ </article>
+
+ <!-- Blockquotes -->
+ <article>
+ <h2>Blockquotes</h2>
+ <blockquote>
+ "The best time to plant a tree was 20 years ago. The second best time is now."
+ <br />
+ <small>— Chinese Proverb</small>
+ </blockquote>
+ </article>
+
+ <!-- Links -->
+ <article>
+ <h2>Links</h2>
+ <p>
+ This is a <a href="#demo">hyperlink</a> styled with the framework. Links have a
+ bottom border and change color on hover. You can use them
+ <a href="#inline">inline within text</a> or as standalone elements.
+ </p>
+ </article>
+
+ <!-- Tables -->
+ <article>
+ <h2>Tables</h2>
+ <p>Tables with retro styling, alternating row colors, and hover effects.</p>
+ <table>
+ <thead>
+ <tr>
+ <th>Feature</th>
+ <th>Light Mode</th>
+ <th>Dark Mode</th>
+ </tr>
+ </thead>
+ <tbody>
+ <tr>
+ <td>Background</td>
+ <td>Warm cream</td>
+ <td>Warm taupe</td>
+ </tr>
+ <tr>
+ <td>Buttons</td>
+ <td>Lavender primary</td>
+ <td>Rose primary</td>
+ </tr>
+ <tr>
+ <td>Borders</td>
+ <td>Retro 90s beveled</td>
+ <td>Retro 90s beveled</td>
+ </tr>
+ <tr>
+ <td>Accents</td>
+ <td>Pink & brown</td>
+ <td>Pink & brown</td>
+ </tr>
+ </tbody>
+ </table>
+ </article>
+
+ <!-- Code -->
+ <article>
+ <h2>Code</h2>
+ <p>Inline <code>const x = 42;</code> looks different from block code:</p>
+ <pre><code class="language-javascript">function retro() {
return "That's totally rad!";
}
retro(); // "That's totally rad!"</code></pre>
- </article>
-
- <!-- Dividers -->
- <article>
- <h2>Dividers</h2>
- <p>Use <code>&lt;hr&gt;</code> to separate content sections:</p>
- <hr />
- <p>Content after the divider looks fresh and organized.</p>
- </article>
-
- <!-- Form Validation -->
- <article>
- <h2>Form Validation</h2>
- <p>Invalid inputs show a red border when they fail validation.</p>
- <form>
- <div class="form-group">
- <label for="valid-email">Valid Email</label>
- <input
- type="email"
- id="valid-email"
- placeholder="you@example.com"
- value="user@example.com"
- />
- </div>
- <div class="form-group">
- <label for="invalid-email">Invalid Email</label>
- <input
- type="email"
- id="invalid-email"
- placeholder="you@example.com"
- value="not-an-email"
- />
- </div>
- <div class="form-group">
- <label for="required-field">Required Field (empty = invalid)</label>
- <input
- type="text"
- id="required-field"
- placeholder="This field is required"
- required
- />
- </div>
- </form>
- </article>
-
- <!-- Button Groups -->
- <article>
- <h2>Button Groups</h2>
- <p>Combine buttons into a group with the <code>.button-group</code> class:</p>
- <div class="button-group mt-md">
- <button class="primary">First</button>
- <button class="secondary">Second</button>
- <button class="contrast">Third</button>
- </div>
- </article>
-
- <!-- Toggle Switches -->
- <article>
- <h2>Toggle Switches</h2>
- <p>Use checkboxes with the <code>.toggle</code> class to create stylish toggle switches:</p>
- <div class="form-group mt-md">
- <input type="checkbox" id="toggle1" class="toggle" />
- <label for="toggle1">Dark mode</label>
- </div>
- <div class="form-group">
- <input type="checkbox" id="toggle2" class="toggle" checked />
- <label for="toggle2">Notifications enabled</label>
- </div>
- <div class="form-group">
- <input type="checkbox" id="toggle3" class="toggle" />
- <label for="toggle3">Auto-save</label>
- </div>
- </article>
-
- <!-- Range Sliders -->
- <article>
- <h2>Range Sliders</h2>
- <p>Native range inputs styled with retro beveled appearance:</p>
- <div class="form-group mt-md">
- <label for="volume">Volume</label>
- <input type="range" id="volume" min="0" max="100" value="50" />
- </div>
- <div class="form-group">
- <label for="brightness">Brightness</label>
- <input type="range" id="brightness" min="0" max="100" value="75" />
- </div>
- <div class="form-group">
- <label for="saturation">Saturation</label>
- <input type="range" id="saturation" min="0" max="100" value="25" />
- </div>
- </article>
-
- </main>
-
- <footer>
- <p>&copy; 2025 Liz CSS Framework. Made with coffee and retro vibes.</p>
- </footer>
-
- <script src="/bundle.js"></script>
- </body>
+ </article>
+
+ <!-- Dividers -->
+ <article>
+ <h2>Dividers</h2>
+ <p>Use <code>&lt;hr&gt;</code> to separate content sections:</p>
+ <hr />
+ <p>Content after the divider looks fresh and organized.</p>
+ </article>
+
+ <!-- Form Validation -->
+ <article>
+ <h2>Form Validation</h2>
+ <p>Invalid inputs show a red border when they fail validation.</p>
+ <form>
+ <div class="form-group">
+ <label for="valid-email">Valid Email</label>
+ <input
+ type="email"
+ id="valid-email"
+ placeholder="you@example.com"
+ value="user@example.com"
+ />
+ </div>
+ <div class="form-group">
+ <label for="invalid-email">Invalid Email</label>
+ <input
+ type="email"
+ id="invalid-email"
+ placeholder="you@example.com"
+ value="not-an-email"
+ />
+ </div>
+ <div class="form-group">
+ <label for="required-field">Required Field (empty = invalid)</label>
+ <input
+ type="text"
+ id="required-field"
+ placeholder="This field is required"
+ required
+ />
+ </div>
+ </form>
+ </article>
+
+ <!-- Button Groups -->
+ <article>
+ <h2>Button Groups</h2>
+ <p>Combine buttons into a group with the <code>.button-group</code> class:</p>
+ <div class="button-group mt-md">
+ <button class="primary">First</button>
+ <button class="secondary">Second</button>
+ <button class="contrast">Third</button>
+ </div>
+ </article>
+
+ <!-- Toggle Switches -->
+ <article>
+ <h2>Toggle Switches</h2>
+ <p>
+ Use checkboxes with the <code>.toggle</code> class to create stylish toggle
+ switches:
+ </p>
+ <div class="form-group mt-md">
+ <input type="checkbox" id="toggle1" class="toggle" />
+ <label for="toggle1">Dark mode</label>
+ </div>
+ <div class="form-group">
+ <input type="checkbox" id="toggle2" class="toggle" checked />
+ <label for="toggle2">Notifications enabled</label>
+ </div>
+ <div class="form-group">
+ <input type="checkbox" id="toggle3" class="toggle" />
+ <label for="toggle3">Auto-save</label>
+ </div>
+ </article>
+
+ <!-- Range Sliders -->
+ <article>
+ <h2>Range Sliders</h2>
+ <p>Native range inputs styled with retro beveled appearance:</p>
+ <div class="form-group mt-md">
+ <label for="volume">Volume</label>
+ <input type="range" id="volume" min="0" max="100" value="50" />
+ </div>
+ <div class="form-group">
+ <label for="brightness">Brightness</label>
+ <input type="range" id="brightness" min="0" max="100" value="75" />
+ </div>
+ <div class="form-group">
+ <label for="saturation">Saturation</label>
+ <input type="range" id="saturation" min="0" max="100" value="25" />
+ </div>
+ </article>
+ </main>
+
+ <footer>
+ <p>&copy; 2025 Liz CSS Framework. Made with coffee and retro vibes.</p>
+ </footer>
+
+ <script src="/bundle.js"></script>
+ </body>
</html>