@sandlada/mdc
Version:
@sandlada/mdc is an open source component library that follows the Material Design 3 design specifications.
56 lines • 2.43 kB
TypeScript
import type { SideSheetEdge } from './side-sheet.interface';
/**
* A side-sheet animation's arguments. See `Element.prototype.animate`.
*/
export type SideSheetAnimationArgs = Parameters<Element['animate']>;
/**
* A collection of side-sheet animations. Each element of the sheet may have
* multiple animations.
*/
export interface SideSheetAnimation {
/**
* Animations for the scrim backdrop.
*/
scrim?: SideSheetAnimationArgs[];
/**
* Animations for the container of the side sheet.
*/
container?: SideSheetAnimationArgs[];
}
/**
* The default side-sheet open animation. The `sheetEdge` argument picks the
* off-screen keyframe direction — `end` slides in from the inline-end edge,
* `start` slides in from the inline-start edge.
*
* - Scrim: opacity 0 → 0.32 over 500ms, linear.
* - Container: translateX(±100%) → translateX(0) over 500ms, Emphasized.
*/
export declare const SideSheetDefaultOpenAnimation: (sheetEdge: SideSheetEdge) => SideSheetAnimation;
/**
* The default side-sheet close animation. Mirror of `SideSheetDefaultOpenAnimation`
* with shorter durations and the accelerating easing curve.
*
* - Scrim: opacity 0.32 → 0 over 150ms, linear.
* - Container: translateX(0) → translateX(±100%) over 150ms, EmphasizedAccelerate.
*/
export declare const SideSheetDefaultCloseAnimation: (sheetEdge: SideSheetEdge) => SideSheetAnimation;
/**
* The drag-snap-back animation. Animates the container from the current drag
* offset back to its resting position (translateX 0), and the scrim from its current
* (interpolated) opacity back to the peak.
*
* - Scrim: opacity scrimCurrent -> 0.32 over 250ms, linear.
* - Container: translateX(fromDx) -> translateX(0) over 250ms,
* EmphasizedDecelerate.
*/
export declare const SideSheetDragSnapBackAnimation: (sheetEdge: SideSheetEdge, fromDx: number, scrimCurrent: number) => SideSheetAnimation;
/**
* The drag-commit-close animation. Animates the container from the current
* drag offset out the viewport edge, and fades the scrim to 0.
*
* - Scrim: opacity scrimCurrent -> 0 over 200ms, linear.
* - Container: translateX(fromDx) -> translateX(±100%) over 200ms,
* EmphasizedAccelerate.
*/
export declare const SideSheetDragCommitCloseAnimation: (sheetEdge: SideSheetEdge, fromDx: number, scrimCurrent: number) => SideSheetAnimation;
//# sourceMappingURL=side-sheet.animation.d.ts.map