Files
upstream-shadcn-ui/apps/v4/registry/bases/aria/ui/direction.tsx
upstream-mirror 1416db152c
All checks were successful
Release / Create Version PR or Publish Stable Release (push) Has been skipped
Release / Publish Prerelease to NPM (push) Has been skipped
Monitor Registries / Monitor registry health (push) Has been skipped
snapshot of https://github.com/shadcn-ui/ui.git (main, 2026-09-15; blobs > 131072B omitted)
2026-09-15 22:44:43 +05:00

30 lines
874 B
TypeScript

"use client"
import * as React from "react"
import { I18nProvider, useLocale } from "react-aria-components"
function DirectionProvider(
props: React.ComponentProps<typeof I18nProvider> & {
direction?: "ltr" | "rtl"
}
) {
// For compatibility with Radix / Base UI, if only a `direction` is provided and not a `locale`,
// create a locale string that forces the direction by setting the script to arabic or latin.
const { locale: currentLocale } = useLocale()
let locale = props.locale
if (!locale && props.direction) {
locale = new Intl.Locale(currentLocale, {
script: props.direction === "rtl" ? "Arab" : "Latn",
}).toString()
}
return <I18nProvider {...props} locale={locale} />
}
function useDirection() {
const { direction } = useLocale()
return direction
}
export { DirectionProvider, I18nProvider, useDirection, useLocale }