НачалоОсновыКомпонентыТексты

Поповер

Поповер — небольшая панель, которая открывается рядом с кнопкой. В ней могут быть кнопки, ссылки и поля. Страницу он не блокирует.

Стабильный Figma
ОбзорИспользованиеAPIДоступность
Filters Open Closed Apply
<tk-popover label="Filters">
  <tk-button slot="trigger">Filters</tk-button>
  <tk-checkbox>Open</tk-checkbox>
  <tk-checkbox>Closed</tk-checkbox>
  <tk-button size="small" variant="primary">Apply</tk-button>
</tk-popover>

Анатомия

Часть Что это
tk-popover сам элемент; открывает и закрывает панель и расставляет ARIA
слот trigger одна кнопка, которая его открывает: tk-button или tk-icon-button
слот по умолчанию содержимое, интерактивное или нет
part surface панель

Стрелки, шапки, подвала и кнопки закрытия нет. Если нужны, соберите их сами внутри содержимого.

Режимы открытия

Ada Lovelace

Engineer in London. 168 followers.

Follow
<tk-popover trigger="hover" label="Ada Lovelace">
  <tk-button slot="trigger" variant="ghost">Ada Lovelace</tk-button>
  <p>Engineer in London. 168 followers.</p>
  <tk-button size="small">Follow</tk-button>
</tk-popover>
  • click (по умолчанию): клик, Enter или Space на кнопке открывают и закрывают панель. Подходит для всего, что открывают намеренно.
  • hover: открывается при наведении указателя, при фокусе с клавиатуры и по касанию, поэтому доступен всем. Подходит для превью, содержимое которых есть и в другом месте.
  • При открытии фокус в панель не переходит. С клавиатуры до содержимого доходят клавишей Tab: оно идёт сразу после кнопки.

Открытие и закрытие

  • Панель закрывается по Esc, по нажатию снаружи, когда из неё уходит фокус и когда кнопка уезжает за край экрана при прокрутке. Esc возвращает фокус на кнопку.
  • В режиме hover панель открывается через 400 мс наведения и закрывается через 300 мс после того, как указатель ушёл, чтобы на неё можно было перевести указатель. Фокус и касание открывают её сразу.
  • Сама по себе по таймеру она не закрывается.
  • Открывается под кнопкой, а если места внизу нет, над ней. Появляется сразу, без анимации.
  • show(), hide() и toggle() открывают и закрывают её из кода.

Пояснение к настройке

Чтобы объяснить настройку или поле, поместите за кнопку с иконкой info короткий заголовок, одно-два предложения и не больше одной ссылки.

Billing cycles

Your cycle starts the day you subscribe and renews on the same date each month.

Read more about billing
<tk-popover label="About billing cycles">
  <tk-icon-button slot="trigger" label="About billing cycles"><tk-icon name="info"></tk-icon></tk-icon-button>
  <h4>Billing cycles</h4>
  <p>Your cycle starts the day you subscribe and renews on the same date each month.</p>
  <tk-link href="/billing">Read more about billing</tk-link>
</tk-popover>
  • Используйте click, а не hover: пояснение открывают намеренно.
  • Назовите кнопку с иконкой через label, и панель тоже.
  • Не держите здесь единственную копию важной информации. Если без неё не справиться, она должна быть на странице.

Размеры

  • Панель подстраивается под содержимое, но не шире 320px. Меняется через --tk-popover-max-width.
  • --tk-popover-max-height ограничивает высоту; тогда содержимое прокручивается по вертикали.
  • --tk-popover-padding: 0 даёт картинке дойти до края панели.