import QtQuick import ZShell.Config AnchorAnimation { enum Type { StandardSmall = 0, Standard, StandardLarge, StandardExtraLarge, EmphasizedSmall, Emphasized, EmphasizedLarge, EmphasizedExtraLarge, FastSpatial, DefaultSpatial, SlowSpatial } property int type: AnchorAnim.DefaultSpatial duration: { if (type < AnchorAnim.StandardSmall || type > AnchorAnim.SlowSpatial) return Tokens.anim.durations.expressiveDefaultSpatial; if (type == AnchorAnim.FastSpatial) return Tokens.anim.durations.expressiveFastSpatial; if (type == AnchorAnim.DefaultSpatial) return Tokens.anim.durations.expressiveDefaultSpatial; if (type == AnchorAnim.SlowSpatial) return Tokens.anim.durations.large; const types = ["small", "normal", "large", "extraLarge"]; const idx = type % 4; return Tokens.anim.durations[types[idx]]; } easing.bezierCurve: { if (type == AnchorAnim.FastSpatial) return Tokens.anim.curves.expressiveFastSpatial; if (type == AnchorAnim.DefaultSpatial) return Tokens.anim.curves.expressiveDefaultSpatial; if (type == AnchorAnim.SlowSpatial) return Tokens.anim.curves.expressiveSlowSpatial; if (type >= AnchorAnim.StandardSmall && type <= AnchorAnim.StandardExtraLarge) return Tokens.anim.curves.standard; if (type >= AnchorAnim.EmphasizedSmall && type <= AnchorAnim.EmphasizedExtraLarge) return Tokens.anim.curves.emphasized; return Tokens.anim.curves.expressiveDefaultSpatial; } }