@snack-uikit/dropdown
TypeScript icon, indicating that this package has built-in type declarations

0.2.2 • Public • Published

Dropdown

Installation

npm i @snack-uikit/dropdown

Changelog

Пакет экспортирует компонент Dropdown - компонент выпадающего контейнера общего назначения. Компонент использует под собой компонент PopoverPrivate.

Чтобы указать оффсет через стили надо в triggerClassName передать css-переменную --offset

Например:

.triggerClassName {
  --offset: #{$some-var};
}

Важное уточнение, если переменная передается через  scss-var она должна быть обернута в #{ }

Если значение явно передано через prop offset, то будет применено значение пропа.

Dropdown

Props

name type default value description
children* ReactNode | ChildrenFunction - Триггер поповера (подробнее читайте ниже)
content* ReactNode -
className string - CSS-класс
triggerClassName string - CSS-класс триггера
open boolean - Управляет состоянием показан/не показан.
onOpenChange (isOpen: boolean) => void - Колбек отображения компонента. Срабатывает при изменении состояния open.
hoverDelayOpen number - Задержка открытия по ховеру
hoverDelayClose number - Задержка закрытия по ховеру
widthStrategy enum PopoverWidthStrategy: "auto", "gte", "eq" gte Стратегия управления шириной контейнера поповера
- auto - соответствует ширине контента,
- gte - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире,
- eq - Equal, строго равен ширине таргета.
offset number 0 Отступ поповера от его триггер-элемента (в пикселях).
closeOnEscapeKey boolean true Закрывать ли по нажатию на кнопку Esc
triggerClickByKeys boolean true Вызывается ли попоповер по нажатию клавиш Enter/Space (при trigger = click)
triggerRef ForwardedRef<ReferenceType | HTMLElement> - Ref ссылка на триггер
outsideClick boolean | OutsideClickHandler - Закрывать ли при клике вне поповера
fallbackPlacements Placement[] - Цепочка расположений которая будет применяться к поповеру от первого к последнему если при текущем он не влезает.
disableSpanWrapper boolean - Отключает для isValidElement внешнюю обертку триггера
Пригодится для элементов с position: absolute
trigger enum Trigger: "click", "hover", "focusVisible", "focus", "hoverAndFocusVisible", "hoverAndFocus", "clickAndFocusVisible" click Условие отображения поповера:
- click - открывать по клику
- hover - открывать по ховеру
- focusVisible - открывать по focus-visible
- focus - открывать по фокусу
- hoverAndFocusVisible - открывать по ховеру и focus-visible
- hoverAndFocus - открывать по ховеру и фокусу
- clickAndFocusVisible - открывать по клику и focus-visible
placement enum Placement: "left", "left-start", "left-end", "right", "right-start", "right-end", "top", "top-start", "top-end", "bottom", "bottom-start", "bottom-end" bottom-start Положение поповера относительно своего триггера (children).

Readme

Keywords

none

Package Sidebar

Install

npm i @snack-uikit/dropdown

Weekly Downloads

177

Version

0.2.2

License

Apache-2.0

Unpacked Size

22.4 kB

Total Files

16

Last publish

Collaborators

  • yetihead
  • cloud-ru-tech
  • agrigorii