0.2.2 • Published 1 month ago

@snack-uikit/dropdown v0.2.2

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
1 month ago

Dropdown

Installation

npm i @snack-uikit/dropdown

Changelog

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

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

Например:

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

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

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

Dropdown

Props

nametypedefault valuedescription
children*ReactNode \| ChildrenFunction-Триггер поповера (подробнее читайте ниже)
content*ReactNode-
classNamestring-CSS-класс
triggerClassNamestring-CSS-класс триггера
openboolean-Управляет состоянием показан/не показан.
onOpenChange(isOpen: boolean) => void-Колбек отображения компонента. Срабатывает при изменении состояния open.
hoverDelayOpennumber-Задержка открытия по ховеру
hoverDelayClosenumber-Задержка закрытия по ховеру
widthStrategyenum PopoverWidthStrategy: "auto", "gte", "eq"gteСтратегия управления шириной контейнера поповера - auto - соответствует ширине контента, - gte - Great Than or Equal, равен ширине таргета или больше ее, если контент в поповере шире, - eq - Equal, строго равен ширине таргета.
offsetnumber0Отступ поповера от его триггер-элемента (в пикселях).
closeOnEscapeKeybooleantrueЗакрывать ли по нажатию на кнопку Esc
triggerClickByKeysbooleantrueВызывается ли попоповер по нажатию клавиш Enter/Space (при trigger = click)
triggerRefForwardedRef<ReferenceType \| HTMLElement>-Ref ссылка на триггер
outsideClickboolean \| OutsideClickHandler-Закрывать ли при клике вне поповера
fallbackPlacementsPlacement[]-Цепочка расположений которая будет применяться к поповеру от первого к последнему если при текущем он не влезает.
disableSpanWrapperboolean-Отключает для isValidElement внешнюю обертку триггера Пригодится для элементов с position: absolute
triggerenum Trigger: "click", "hover", "focusVisible", "focus", "hoverAndFocusVisible", "hoverAndFocus", "clickAndFocusVisible"clickУсловие отображения поповера: - click - открывать по клику - hover - открывать по ховеру - focusVisible - открывать по focus-visible - focus - открывать по фокусу - hoverAndFocusVisible - открывать по ховеру и focus-visible - hoverAndFocus - открывать по ховеру и фокусу - clickAndFocusVisible - открывать по клику и focus-visible
placementenum Placement: "left", "left-start", "left-end", "right", "right-start", "right-end", "top", "top-start", "top-end", "bottom", "bottom-start", "bottom-end"bottom-startПоложение поповера относительно своего триггера (children).