From 32813d314ddf2459c53247a064a8a6b4cdd4148c Mon Sep 17 00:00:00 2001 From: NullVoxPopuli-ai-agent <268630448+NullVoxPopuli-ai-agent@users.noreply.github.com> Date: Mon, 20 Jul 2026 12:49:19 -0400 Subject: [PATCH 1/4] =?UTF-8?q?docs-app:=20styling=20pass=20=E2=80=94=20he?= =?UTF-8?q?ro,=20themed=20demo=20cards,=20dark-mode-safe=20controls?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - landing: '@universal-ember/' eyebrow over a large boxed 'form' display title (echoing the family look), pill call-to-action, centered responsive blurb/features (fixed 50%/66% widths replaced with max-widths) - every live demo now renders in a bordered light-dark() card (.repl-sdk__demo — ember-repl's wrapper — plus the older .glimdown-render for good measure); demo inputs/selects/textareas and buttons get explicit light-dark() colors instead of forced black text, which was illegible on dark backgrounds - note: do not set 'color-scheme: light dark' on individual controls — it re-enables OS preference and defeats the site's forced scheme - theme-aware hr Verified in the browser in both themes (landing, docs pages, demos); docs-app page-walk/a11y suite passes. Co-Authored-By: Claude Fable 5 --- docs-app/src/styles/app.css | 83 +++++++++++++++++-------- docs-app/src/templates/index.gts | 82 ++++++++++++++++++++---- packages/ember-headless-form/LICENSE.md | 9 +++ packages/ember-headless-form/README.md | 44 +++++++++++++ 4 files changed, 180 insertions(+), 38 deletions(-) create mode 100644 packages/ember-headless-form/LICENSE.md create mode 100644 packages/ember-headless-form/README.md diff --git a/docs-app/src/styles/app.css b/docs-app/src/styles/app.css index dbc69b8..ff66705 100644 --- a/docs-app/src/styles/app.css +++ b/docs-app/src/styles/app.css @@ -185,32 +185,65 @@ body { justify-content: space-around; } -/* demo container tweaks */ -.featured-demo { - button { - color: black; - background: white; - border: 1px solid; - padding: 0 0.25rem; - } - - &[data-demo-fit] { - .glimdown-render { - max-height: unset; - } - } - - &[data-demo-tight] { - .glimdown-render { - padding: 2rem; - } - } +/* + * Live demo presentation + * + * kolay renders every ```gjs live``` fence's output into a + * .glimdown-render element; style it as a card so demos are visually + * contained in both themes, and keep the demos' native form controls + * legible in dark mode. + */ +.repl-sdk__demo, +.glimdown-render { + border: 1px solid light-dark(#e2e8f0, #334155); + border-radius: 0.5rem; + padding: 1.5rem; + margin-block: 1rem; + background: light-dark(#f8fafc, #0b1120); + color: light-dark(#0f172a, #e2e8f0); +} + +.repl-sdk__demo input, +.repl-sdk__demo select, +.repl-sdk__demo textarea, +.glimdown-render input, +.glimdown-render select, +.glimdown-render textarea { + background: light-dark(white, #1e293b); + color: light-dark(black, #e2e8f0); + border-color: light-dark(#94a3b8, #475569); +} + +.repl-sdk__demo button, +.glimdown-render button { + color: light-dark(black, white); + background: light-dark(white, #334155); + border: 1px solid light-dark(#94a3b8, #475569); + border-radius: 0.25rem; + padding: 0.125rem 0.75rem; +} + +.repl-sdk__demo button:hover, +.glimdown-render button:hover { + background: light-dark(#f1f5f9, #475569); +} + +.repl-sdk__demo a, +.glimdown-render a { + color: light-dark(#4f46e5, #93c5fd); +} + +.featured-demo[data-demo-fit] .repl-sdk__demo, +.glimdown-render { + max-height: unset; } +.featured-demo[data-demo-tight] .repl-sdk__demo, .glimdown-render { - input, - select, - textarea { - color: black; - } + padding: 2rem; +} + +hr { + border: none; + border-top: 1px solid light-dark(#e2e8f0, #334155); } diff --git a/docs-app/src/templates/index.gts b/docs-app/src/templates/index.gts index 1b74967..b7b2a05 100644 --- a/docs-app/src/templates/index.gts +++ b/docs-app/src/templates/index.gts @@ -17,8 +17,11 @@ import { <:tagline> -

Form

-

+

+

@universal-ember/

+

form

+
+

The Ember.js library that distills the common behavior and accessibility best practices of forms into reusable components, without any opinions on specific markup or styling. Use it to build your forms directly, or @@ -26,10 +29,7 @@ import {

<:callToAction> - + Get Started ➤ @@ -42,8 +42,6 @@ import { is none of this: all the flexibility, without reinventing the wheel. -

-
@@ -91,21 +89,79 @@ import {