Skip to content

Animation speeds set in the token editor do not reach the theme transitions #697

Description

@rubenvdlinde

An admin who changes "Animation quick" or "Animation slow" in the token editor sees no change in the theme's own transitions. The editor writes one pair of names, and the theme's transitions read another.

Where, at development fd992ea:

  • lib/Service/TokenRegistry.php:232-233 the editor offers --animation-quick and --animation-slow.
  • css/systems/nldesign/overrides.css:212-213 maps --animation-quick and --animation-slow from --nldesign-animation-*, only in that direction.
  • css/systems/nldesign/defaults.css:198-199 sets --nldesign-animation-quick to 100ms and --nldesign-animation-slow to 300ms.
  • css/systems/nldesign/theme.css:382, :465-467, :611, :663-664 and :708 use var(--nldesign-animation-quick) directly, for example on .button.
    '--animation-quick' => ['tab' => 'content', 'type' => 'text', 'label' => 'Animation quick'],
    '--animation-slow' => ['tab' => 'content', 'type' => 'text', 'label' => 'Animation slow'],

    --animation-quick: var(--nldesign-animation-quick) !important;
    --animation-slow: var(--nldesign-animation-slow) !important;

The editor override lands on --animation-quick, which Nextcloud's own components read. The transitions in theme.css read --nldesign-animation-quick, which the editor never sets. So those keep 100ms whatever the admin picks, and the page ends up with two speeds.

Specified fix: openspec/changes/authoring-token-value-types (requirement "Motion tokens are typed and reach every transition", tasks 1.3 and 2.4).

Found by the OpenSpec pass on 27 Sep 2026 and re-read at fd992ea on 28 Sep.

Live check: set "Animation quick" to 2s in the editor, hover a themed button, and see the colour change in 100ms.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingtriageAwaiting triage

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions