Обзор
DirectionProvider передаёт направление ltr или rtl элементам управления Twenty UI. Он не отображает элемент DOM и не задаёт HTML-атрибут dir. Задайте как направление провайдера, так и соответствующее направление документа.
Использование
Область действия и состояние
Разместите один провайдер вокруг элементов управления, использующих общее направление. Вложенные провайдеры могут переопределять направление для поддерева; сопоставьте каждое переопределение с соответствующим атрибутомdir. direction управляется приложением и по умолчанию имеет значение ltr, как и в Base UI. Дочерние элементы необязательны. Импортируйте DirectionProviderProps из той же точки входа. У провайдера нет цели DOM, нативных свойств или ref. Провайдер не переводит содержимое и не выбирает направление автоматически на основе локали.
Порталы и компоновка
Порталы Dropdown, Popover, Tooltip, Select, Dialog и Toast наследуют направление от провайдера, даже если их контейнер находится вне элемента сdir. Без провайдера они наследуют направление своего контейнера. Сохраняйте согласованность между направлением провайдера и HTML-направлением триггера. ThemeProvider с ограниченной областью действия продолжает управлять контейнером портала по умолчанию.
Подменю открываются в сторону inline-end. ArrowRight открывает подменю в LTR; ArrowLeft открывает его в RTL. Противоположная клавиша возвращает к родительскому элементу. Явное размещение всплывающего окна left и right по-прежнему обозначает физические стороны. Обработка коллизий может переместить всплывающее окно при ограниченном пространстве.
Текст, отступы, углы присоединённых кнопок и направленные значки раскрытия следуют направлению чтения. Предоставленные значки сохраняют свою ориентацию. AvatarGroup.overlap по-прежнему обозначает физический край; внешний аватар не выходит за этот край ни в одном из направлений.
Свойства
ReactNode
Controls that receive the direction context.
"ltr" | "rtl"
по умолчанию:"ltr"
Reading direction used by directional interactions. Also set the matching HTML
dir attribute on the content.