Vize

Locale and Direction

Headless Locale and Direction; covers HTML dir, HTML lang, Intl.Locale.

Package @vizejs/ui/locale
Maturity stable
Own the source vize lib pull locale
Requires context
Aliases direction, rtl, writing mode, i18n provider
Covers HTML dir, HTML lang, Intl.Locale

Usage

import { LocaleProvider } from "@vizejs/ui/locale";

Or copy the source into your project with vize lib pull locale (see Source Distribution).

API

LocaleProvider

Source: src/families/i18n/locale/locale-provider.vue

Props

Prop Type Default Description
locale string "en-US" BCP 47 locale for the subtree.
direction DirectionPreference "ltr" Writing direction. auto resolves from the locale when possible.
numberingSystem string undefined Intl numbering system for formatter composables in the subtree.
calendar string undefined Intl calendar system for date-time formatter composables in the subtree.
timeZone string "UTC" IANA time-zone identifier for date-time and Temporal adapters.
timeZoneDisambiguation LocaleTimeZoneDisambiguation "compatible" Temporal-compatible policy for DST gaps and overlaps.

Slots

Slot Slot props Description
default { readonly locale: string; readonly direction: TextDirection; readonly numberingSystem: string | undefined; readonly calendar: string | undefined; readonly timeZone: string; readonly timeZoneDisambiguation: LocaleTimeZoneDisambiguation; } Localized subtree. Receives the resolved locale, direction, and formatter defaults.

Behavior

Normative state × input → outcome table for locale-provider.vue (@vizejs/ui/locale). Every row is proven by the named test in src/families/i18n/locale/locale.test.ts or src/families/i18n/locale/locale-ssr.test.ts; compile-only assertions live in src/families/i18n/locale/locale.types.test-d.ts.

# State Input Outcome Proven by
I1 provider default props lang=en-US and dir=ltr provides default locale and direction
I2 provider locale and direction=rtl subtree lang/dir and slot props update publishes an explicit rtl locale
I3 provider numbering, calendar, time zone, DST policy slot props, data attributes, and formatter defaults update publishes formatter defaults through context and slot props
I4 provider direction=auto with RTL tag resolved direction is rtl when the engine can tell resolves auto direction from the locale
I5 locale helper invalid or lower-case locale tags canonical locale or en-US fallback is used canonicalizes invalid locale tags before formatter construction
I6 provider formatter composables with options number, date, list, and relative-time use provider locale resolves formatters from the provider locale and explicit options
I7 provider display-name and search-collator helpers localized code names and accent-insensitive search compare resolves display names and search collators from the provider locale
I8 locale helper decomposed Unicode and whitespace text is NFC-normalized before exact, prefix, or contains matches normalized locale text with exact, prefix, and contains policies
I9 provider locale or formatter options change formatter composables update without stale Intl objects updates formatter composables when provider locale or options change
I10 provider invalid locale or formatter defaults context, markup, direction, and formatters fall back normalizes invalid provider locales before publishing context
I11 no provider useLocale / useDirection document or SSR fallbacks are used falls back without a provider
I12 outside setup composable call stable setup diagnostic is thrown rejects composable use outside setup
I13 SSR identical trees byte-identical lang and dir SSR test
I14 SSR provider formatter defaults byte-identical data attributes and time-zone defaults SSR formatter-defaults test
I15 SSR formatter without provider en-US fallback locale is used SSR formatter test
I16 SSR display names and search collator fallback en-US formatter locale and search usage are used SSR display/search test
I17 SSR invalid provider locale fallback lang and direction are rendered SSR invalid-locale test
I18 public types invalid direction or formatter/search opts compilation rejects misuse src/families/i18n/locale/locale.types.test-d.ts