# All files / src/snackbar snackbarStyles.ts

100% Statements 43/43
100% Branches 5/5
100% Functions 1/1
100% Lines 43/43

Press n or j to go to the next uncovered block, b, p or k for the previous block.

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    441x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    1x
    96x
    96x
    96x
    96x
    96x
    96x
    96x
    96x
    96x
    96x
    96x
    96x
    96x
    96x
     import { cnb } from "cnbuilder";
    import { bem } from "../utils/bem.js";

    const styles = bem("rmd-snackbar");

    /**
     * @remarks
     * \@since 2.0.0
     * \@since 6.0.0 Added the `"top-left"`, `"top-right"`, `"bottom-left"`, and
     * `"bottom-right"` positions
     */
    export type SnackbarPosition =
      | "bottom"
      | "bottom-left"
      | "bottom-right"
      | "top"
      | "top-left"
      | "top-right";

    /** @remarks \@since 6.0.0 */
    export interface SnackbarClassNameOptions {
      className?: string;
      position: SnackbarPosition;
    }

    /**
     * @remarks \@since 6.0.0
     */
    export function snackbar(options: SnackbarClassNameOptions): string {
      const { className, position } = options;
      const top =
        position === "top" || position === "top-left" || position === "top-right";

      return cnb(
        styles({
          top,
          bottom: !top,
          start: position === "top-left" || position === "bottom-left",
          end: position === "top-right" || position === "bottom-right",
        }),
        className
      );
    }