npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@snack-uikit/alert

v1.0.1

Published

`npm i @snack-uikit/alert`

Readme

Alert

Installation

npm i @snack-uikit/alert

Changelog

Description

  • Пакет @snack-uikit/alert содержит компоненты для отображения системных уведомлений: встроенных в контент страницы и закреплённых в верхней части экрана.
  • Алерты помогают ненавязчиво сообщать пользователю об ошибках, предупреждениях, результатах действий или справочной информации и поддерживают единый визуальный стиль (appearance, иконки, ссылки, кнопки действий).
  • Компоненты адаптируются под разные сценарии за счёт управляемых пропов (заголовок, описание, ссылка, кнопки действий, размеры, иконка), работают с произвольным контентом в описании и умеют корректно обрезать длинные заголовки.

Alert

Description

  • Alert — блоковое уведомление внутри контента страницы или секции интерфейса.
  • Компонент поддерживает разные типы статусов через проп appearance (neutral, primary, error, warning, success, info) с соответствующей иконкой и цветовой схемой.
  • Позволяет задать заголовок и описание с управляемым количеством строк заголовка (truncate), чтобы аккуратно отображать длинные тексты.
  • Поддерживает текстовую ссылку (link), оформленную в нужном цвете под выбранный статус.
  • Может отображать кнопку закрытия (onClose) с иконкой, если нужно дать пользователю возможность скрыть уведомление.
  • Показывает кнопки действий в футере (actions.primary и actions.secondary) для выполнения связанных с уведомлением операций.
  • Figma: Alert.

Example

import { Alert } from '@snack-uikit/alert';
import { PlaceholderSVG } from '@snack-uikit/icons';

export function AlertExample() {
  return (
    <Alert
      appearance="error"
      title="Не удалось сохранить изменения"
      description="Попробуйте ещё раз через несколько секунд. Если проблема повторится, обратитесь в поддержку."
      icon
      link={{
        text: 'Подробнее в документации',
        href: '#',
      }}
      onClose={() => console.log('Alert closed')}
      actions={{
        primary: { text: 'Повторить', onClick: () => console.log('Retry'), icon: <PlaceholderSVG />, loading: false },
        secondary: { text: 'Отмена', onClick: () => console.log('Cancel'), loading: false },
      }}
      data-test-id="alert"
    />
  );
}

AlertTop

Description

  • AlertTop — закреплённое уведомление в верхней части экрана для важных системных сообщений, которые должны быть хорошо заметны, но при этом не перекрывать весь интерфейс.
  • Компонент растягивается по ширине контейнера/экрана и визуально отделяется от контента.
  • Поддерживает иконку статуса и цветовую схему, контрастную по отношению к фону.
  • Отображает заголовок и описание с усечением длинного заголовка.
  • Позволяет добавить кнопку действия (action) и кнопку закрытия (onClose), управляя их видимостью снаружи.
  • Содержит ссылку (link), отображаемую в режиме on-accent, чтобы текст был читаем на цветном фоне.
  • Figma: AlertTop.

Example

import { AlertTop } from '@snack-uikit/alert';
import { PlaceholderSVG } from '@snack-uikit/icons';

export function AlertTopExample() {
  return (
    <AlertTop
      appearance="success"
      title="Настройки сохранены"
      description="Новые параметры будут применены при следующем входе в систему."
      icon
      link={{
        text: 'Изменить ещё раз',
        href: '#',
      }}
      action={{
        text: 'Отменить',
        icon: <PlaceholderSVG />,
        onClick: () => console.log('Revert changes'),
      }}
      onClose={() => console.log('AlertTop closed')}
      data-test-id="alert-top"
    />
  );
}

Alert

Компонент для отображения уведомления.

Props

| name | type | default value | description | |------|------|---------------|-------------| | description* | ReactNode | - | Описание | | icon | boolean | true | Отображать иконку | | title | string | - | Заголовок | | truncate | { title?: number; } | '{ title: 1 }' | Максимальное кол-во строк - title - в заголовке | | link | (Pick<{ 'data-test-id'?: string; } & AriaAttributes & { text?: string; size?: Size; purpose?: Purpose; appearance?: Appearance; textMode?: TextMode; insideText?: boolean; } & TruncateEndProps & { ...; } & Omit<...>, "text" \| ... 1 more ... \| "as"> & Omit<...>) \| (Pick<...> & Omit<...>) | - | Cсылка | | onClose | () => void | - | Колбек закрытия | | appearance | enum Appearance: "neutral", "primary", "error", "warning", "success", "info" | neutral | Внешний вид | | outline | boolean | - | Внешний бордер | | size | enum Size: "s", "m" | m | Размер | | className | string | - | CSS-класс | | actions | { primary: Omit<AlertButtonProps, "appearance">; secondary?: Omit<AlertButtonProps, "appearance">; } | - | Кнопки в футере алерта |

AlertTop

Компонент для отображения уведомления вверху экрана.

Props

| name | type | default value | description | |------|------|---------------|-------------| | description* | ReactNode | - | Описание | | icon | boolean | true | Отображать иконку | | title | string | - | Заголовок | | truncate | { title?: number; } | '{ title: 1 }' | Максимальное кол-во строк - title - в заголовке | | link | (Pick<{ 'data-test-id'?: string; } & AriaAttributes & { text?: string; size?: Size; purpose?: Purpose; appearance?: Appearance; textMode?: TextMode; insideText?: boolean; } & TruncateEndProps & { ...; } & Omit<...>, "text" \| ... 1 more ... \| "as"> & Omit<...>) \| (Pick<...> & Omit<...>) | - | Cсылка | | action | AlertButtonProps | - | Кнопка дополнительного действия | | onClose | () => void | - | Колбек закрытия | | appearance | enum Appearance: "neutral", "primary", "error", "warning", "success", "info" | neutral | Внешний вид | | className | string | - | CSS-класс |