Skip to content

T-Z5VH-design-language-ubutton-soft-ghost

Status: open/ready · Impact: low · Complexity: small

Adopted surfaces reach for UButton soft/ghost variants outside the DButton intent system, and the spec neither allows nor covers them (SURVEY drift 13). Decide: an explicit written allowance, or a covering DButton intent — and record it.

LocationRole today
packages/ts/ui/docs/design-system.md§5 component API and §6 dSemantics are silent on raw UButton variant use.
packages/ts/ui/app/components/DButton.vueIntent-driven button; no soft/ghost-equivalent intent.
docs/planning/standards/S-0010-design-language-consumption.mdNames this boundary as pending.

One outcome, written down: either the spec allows UButton soft/ghost in named contexts (with the rule stated), or DButton grows a covering intent and call sites migrate. S-0010’s pending note resolves.

  1. Inventory live UButton soft/ghost call sites; classify the contexts.
  2. Pick the outcome (allowance vs covering intent) from the inventory.
  3. Write it into design-system.md and resolve the S-0010 note; if the intent route wins, add the intent + story and migrate call sites.
LocationKindChange
packages/ts/ui/docs/design-system.mdmodifythe written boundary
docs/planning/standards/S-0010-design-language-consumption.mdmodifyresolve the pending note
packages/ts/ui/app/components/DButton.vuemodifyonly if the covering-intent route wins
  • AC-1: The spec has explicit soft/ghost language.
  • AC-2: S-0010 no longer marks the boundary pending.
  • AC-3: If an intent was added, a story covers it and moon run ui:check passes.
  • Any broader U*-vs-D* policy beyond buttons.
  • none
  • SURVEY.md drift 13; docs/planning/design-language/PLAN.md Phase 2.

← Back to Tasks