diff --git a/.gitignore b/.gitignore index 8d301cd4c..65797aff3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,4 @@ dist -docs/api/v11/*.md -!docs/api/v11/injection.md packages/vue-i18n/index.html temp coverage diff --git a/docs/api/v11/component.md b/docs/api/v11/component.md new file mode 100644 index 000000000..a2479d1b0 --- /dev/null +++ b/docs/api/v11/component.md @@ -0,0 +1,279 @@ +# Components + +## BaseFormatProps + +BaseFormat Props for Components that is offered Vue I18n + +**Signature:** +```typescript +export interface BaseFormatProps +``` + +**Details** + +The interface definitions of the underlying props of components such as Translation, DatetimeFormat, and NumberFormat. + +### i18n + +**Signature:** +```typescript +i18n?: Composer; +``` + +**Details** + +A composer instance with an existing scope. + +This option takes precedence over the `scope` option. + +### locale + +**Signature:** +```typescript +locale?: Locale; +``` + +**Details** + +Specifies the locale to be used for the component. + +If specified, the global scope or the locale of the parent scope of the target component will not be overridden and the specified locale will be used. + +### scope + +**Signature:** +```typescript +scope?: ComponentI18nScope; +``` + +**Details** + +Specifies the scope to be used in the target component. + +You can specify either `global` or `parent`. + +If `global` is specified, global scope is used, else then `parent` is specified, the scope of the parent of the target component is used. + +If the parent is a global scope, the global scope is used, if it's a local scope, the local scope is used. + +### tag + +**Signature:** +```typescript +tag?: string | object; +``` + +**Details** + +Used to wrap the content that is distribute in the slot. If omitted, the slot content is treated as Fragments. + +You can specify a string-based tag name, such as `p`, or the object for which the component is defined. + +## DatetimeFormat + +Datetime Format Component + +**Signature:** +```typescript +DatetimeFormat: { + new (): { + $props: VNodeProps & DatetimeFormatProps & BaseFormatProps; + }; +} +``` + +**Details** + +See the following items for property about details + +:::danger +Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts) + +If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat) +::: + +**See Also** +- [FormattableProps](component#formattableprops) +- [BaseFormatProps](component#baseformatprops) +- [Custom Formatting](../../guide/essentials/datetime#custom-formatting) + +## DatetimeFormatProps + +DatetimeFormat Component Props + +**Signature:** +```typescript +export type DatetimeFormatProps = FormattableProps; +``` + +## FormattableProps + +Formattable Props + +**Signature:** +```typescript +export interface FormattableProps extends BaseFormatProps +``` + +**Details** + +The props used in DatetimeFormat, or NumberFormat component + +### format + +**Signature:** +```typescript +format?: string | Format; +``` + +**Details** + +The format to use in the target component. + +Specify the format key string or the format as defined by the Intl API in ECMA 402. + +### value + +**Signature:** +```typescript +value: Value; +``` + +**Details** + +The value specified for the target component + +## NumberFormat + +Number Format Component + +**Signature:** +```typescript +NumberFormat: { + new (): { + $props: VNodeProps & NumberFormatProps & BaseFormatProps; + }; +} +``` + +**Details** + +See the following items for property about details + +:::danger +Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts) + +If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat) +::: + +**See Also** +- [FormattableProps](component#formattableprops) +- [BaseFormatProps](component#baseformatprops) +- [Custom Formatting](../../guide/essentials/number#custom-formatting) + +## NumberFormatProps + +NumberFormat Component Props + +**Signature:** +```typescript +export type NumberFormatProps = FormattableProps; +``` + +## Translation + +Translation Component + +**Signature:** +```typescript +Translation: { + new (): { + $props: VNodeProps & TranslationProps; + }; +} +``` + +**Details** + +See the following items for property about details + +**See Also** +- [TranslationProps](component#translationprops) +- [BaseFormatProps](component#baseformatprops) +- [Component Interpolation](../../guide/advanced/component) + +**Examples** + + +```html +
+ + + {{ $t('tos') }} + + +
+``` + + +```js +import { createApp } from 'vue' +import { createI18n } from 'vue-i18n' + +const messages = { + en: { + tos: 'Term of Service', + term: 'I accept xxx {0}.' + }, + ja: { + tos: '利用規約', + term: '私は xxx の{0}に同意します。' + } +} + +const i18n = createI18n({ + locale: 'en', + messages +}) + +const app = createApp({ + data: { + url: '/term' + } +}).use(i18n).mount('#app') +``` + + + + +## TranslationProps + +Translation Component Props + +**Signature:** +```typescript +export interface TranslationProps extends BaseFormatProps +``` + +### keypath + +**Signature:** +```typescript +keypath: string; +``` + +**Details** + +The locale message key can be specified prop + +### plural + +**Signature:** +```typescript +plural?: number | string; +``` + +**Details** + +The Plural Choosing the message number prop + diff --git a/docs/api/v11/composition.md b/docs/api/v11/composition.md new file mode 100644 index 000000000..99396cd4e --- /dev/null +++ b/docs/api/v11/composition.md @@ -0,0 +1,2174 @@ +# Composition API + +## Composer + +Composer interfaces + +**Signature:** +```typescript +export interface Composer = {}, DateTimeFormats extends Record = {}, NumberFormats extends Record = {}, OptionLocale = Locale, ResourceLocales = PickupLocales> | PickupLocales> | PickupLocales>, Locales = Locale extends GeneratedLocale ? GeneratedLocale : OptionLocale extends Locale ? IsNever extends true ? Locale : ResourceLocales : OptionLocale | ResourceLocales> extends ComposerCustom +``` + +**Details** + +This is the interface for being used for Vue 3 Composition API. + +### availableLocales + +**Signature:** +```typescript +readonly availableLocales: Locales[]; +``` + +**Details** + +The list of available locales in `messages` in lexical order. + +### d + +Datetime formatting + +**Signature:** +```typescript +d: ComposerDateTimeFormatting>; +``` + +**Details** + +About details functions, See the [ComposerDateTimeFormatting](composition#composerdatetimeformatting) + +### datetimeFormats + +**Signature:** +```typescript +readonly datetimeFormats: ComputedRef<{ + [K in keyof DateTimeFormats]: DateTimeFormats[K]; + }>; +``` + +**Details** + +The datetime formats of localization. + +**See Also** +- [Datetime Formatting](../../guide/essentials/datetime) + +### escapeParameter + +**Signature:** +```typescript +escapeParameter: boolean; +``` + +**Details** + +Whether interpolation parameters are escaped before the message is translated. + +**See Also** +- [HTML Message](../../guide/essentials/syntax#html-message) + +### fallbackFormat + +**Signature:** +```typescript +fallbackFormat: boolean; +``` + +**Details** + +Whether suppress warnings when falling back to either `fallbackLocale` or root. + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### fallbackLocale + +**Signature:** +```typescript +fallbackLocale: WritableComputedRef>; +``` + +**Details** + +The current fallback locales this Composer instance is using. + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### fallbackRoot + +**Signature:** +```typescript +fallbackRoot: boolean; +``` + +**Details** + +Whether to fall back to root level (global scope) localization when localization fails. + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### fallbackWarn + +**Signature:** +```typescript +fallbackWarn: boolean | RegExp; +``` + +**Details** + +Whether suppress fall back warnings when localization fails. + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### id + +**Signature:** +```typescript +id: number; +``` + +**Details** + +Instance ID. + +### inheritLocale + +**Signature:** +```typescript +inheritLocale: boolean; +``` + +**Details** + +Whether inherit the root level locale to the component localization locale. + +**See Also** +- [Local Scope](../../guide/essentials/scope#local-scope-2) + +### isGlobal + +**Signature:** +```typescript +readonly isGlobal: boolean; +``` + +**Details** + +Whether this composer instance is global or not + +### locale + +**Signature:** +```typescript +locale: WritableComputedRef; +``` + +**Details** + +The current locale this Composer instance is using. + +If the locale contains a territory and a dialect, this locale contains an implicit fallback. + +**See Also** +- [Scope and Locale Changing](../../guide/essentials/scope) + +### messages + +**Signature:** +```typescript +readonly messages: ComputedRef<{ + [K in keyof Messages]: Messages[K]; + }>; +``` + +**Details** + +The locale messages of localization. + +**See Also** +- [Getting Started](../../guide/essentials/started) + +### missingWarn + +**Signature:** +```typescript +missingWarn: boolean | RegExp; +``` + +**Details** + +Whether suppress warnings outputted when localization fails. + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### modifiers + +**Signature:** +```typescript +readonly modifiers: LinkedModifiers; +``` + +**Details** + +Custom Modifiers for linked messages. + +**See Also** +- [Custom Modifiers](../../guide/essentials/syntax#custom-modifiers) + +### n + +Number Formatting + +**Signature:** +```typescript +n: ComposerNumberFormatting>; +``` + +**Details** + +About details functions, See the [ComposerNumberFormatting](composition#composernumberformatting) + +### numberFormats + +**Signature:** +```typescript +readonly numberFormats: ComputedRef<{ + [K in keyof NumberFormats]: NumberFormats[K]; + }>; +``` + +**Details** + +The number formats of localization. + +**See Also** +- [Number Formatting](../../guide/essentials/number) + +### pluralRules + +**Signature:** +```typescript +readonly pluralRules: PluralizationRules; +``` + +**Details** + +A set of rules for word pluralization + +**See Also** +- [Custom Pluralization](../../guide/essentials/pluralization#custom-pluralization) + +### rt + +Resolve locale message translation + +**Signature:** +```typescript +rt: ComposerResolveLocaleMessageTranslation; +``` + +**Details** + +About details functions, See the [ComposerResolveLocaleMessageTranslation](composition#composerresolvelocalemessagetranslation) + +### t + +Locale message translation + +**Signature:** +```typescript +t: ComposerTranslation>; +``` + +**Details** + +About details functions, See the [ComposerTranslation](composition#composertranslation) + +### warnHtmlMessage + +**Signature:** +```typescript +warnHtmlMessage: boolean; +``` + +**Details** + +Whether to allow the use locale messages of HTML formatting. + +If you set `false`, will check the locale messages on the Composer instance. + +If you are specified `true`, a warning will be output at console. + +**See Also** +- [HTML Message](../../guide/essentials/syntax#html-message) +- [Change `warnHtmlInMessage` option default value](../../guide/migration/breaking#change-warnhtmlinmessage-option-default-value) + +### getDateTimeFormat(locale) + +Get datetime format + +**Signature:** +```typescript +getDateTimeFormat = never, LocaleSchema extends string = string, Locale extends PickupLocales> = PickupLocales>, Return = IsNever extends true ? IsEmptyObject extends true ? RemoveIndexSignature<{ + [K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K]; + }> : NonNullable[Locale] : DateTimeSchema>(locale: LocaleSchema | Locale): Return; +``` + +#### Type Parameters + +| Parameter | Description | +| --- | --- | +| DateTimeSchema | The datetime format schema, default `never` | + +**Details** + +get datetime format from Composer instance [datetimeFormats](composition#datetimeformats). + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| locale | LocaleSchema | Locale | A target locale | + +#### Returns + + Datetime format + +### getLocaleMessage(locale) + +Get locale message + +**Signature:** +```typescript +getLocaleMessage = never, LocaleSchema extends string = string, Locale extends PickupLocales> = PickupLocales>, Return = IsNever extends true ? IsEmptyObject extends true ? RemoveIndexSignature<{ + [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K]; + }> : NonNullable[Locale] : MessageSchema>(locale: LocaleSchema | Locale): Return; +``` + +#### Type Parameters + +| Parameter | Description | +| --- | --- | +| MessageSchema | The locale message schema, default `never` | + +**Details** + +get locale message from Composer instance [messages](composition#messages). + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| locale | LocaleSchema | Locale | A target locale | + +#### Returns + + Locale messages + +### getMissingHandler() + +Get missing handler + +**Signature:** +```typescript +getMissingHandler(): MissingHandler | null; +``` + +**See Also** +- [missing](composition#missing) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | + +#### Returns + + [MissingHandler](composition#missinghandler) + +### getNumberFormat(locale) + +Get number format + +**Signature:** +```typescript +getNumberFormat = never, LocaleSchema extends string = string, Locale extends PickupLocales> = PickupLocales>, Return = IsNever extends true ? IsEmptyObject extends true ? RemoveIndexSignature<{ + [K in keyof DefineNumberFormat]: DefineNumberFormat[K]; + }> : NonNullable[Locale] : NumberSchema>(locale: LocaleSchema | Locale): Return; +``` + +#### Type Parameters + +| Parameter | Description | +| --- | --- | +| NumberSchema | The number format schema, default `never` | + +**Details** + +get number format from Composer instance [numberFormats](composition#numberFormats). + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| locale | LocaleSchema | Locale | A target locale | + +#### Returns + + Number format + +### getPostTranslationHandler() + +Get post translation handler + +**Signature:** +```typescript +getPostTranslationHandler(): PostTranslationHandler | null; +``` + +**See Also** +- [missing](composition#posttranslation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | + +#### Returns + + + +### mergeDateTimeFormat(locale, format) + +Merge datetime format + +**Signature:** +```typescript +mergeDateTimeFormat = never, LocaleSchema extends string = string, Locale extends PickupLocales> = PickupLocales>, Formats = IsNever extends true ? Record : DateTimeSchema>(locale: LocaleSchema | Locale, format: Formats): void; +``` + +#### Type Parameters + +| Parameter | Description | +| --- | --- | +| DateTimeSchema | The datetime format schema, default `never` | + +**Details** + +Merge datetime format to Composer instance [datetimeFormats](composition#datetimeformats). + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| locale | LocaleSchema | Locale | A target locale | +| format | Formats | A target datetime format | + +### mergeLocaleMessage(locale, message) + +Merge locale message + +**Signature:** +```typescript +mergeLocaleMessage = never, LocaleSchema extends string = string, Locale extends PickupLocales> = PickupLocales>, Message = IsNever extends true ? Record : MessageSchema>(locale: LocaleSchema | Locale, message: Message): void; +``` + +#### Type Parameters + +| Parameter | Description | +| --- | --- | +| MessageSchema | The locale message schema, default `never` | + +**Details** + +Merge locale message to Composer instance [messages](composition#messages). + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| locale | LocaleSchema | Locale | A target locale | +| message | Message | A message | + +### mergeNumberFormat(locale, format) + +Merge number format + +**Signature:** +```typescript +mergeNumberFormat = never, LocaleSchema extends string = string, Locale extends PickupLocales> = PickupLocales>, Formats = IsNever extends true ? Record : NumberSchema>(locale: LocaleSchema | Locale, format: Formats): void; +``` + +#### Type Parameters + +| Parameter | Description | +| --- | --- | +| NumberSchema | The number format schema, default `never` | + +**Details** + +Merge number format to Composer instance [numberFormats](composition#numberFormats). + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| locale | LocaleSchema | Locale | A target locale | +| format | Formats | A target number format | + +### setDateTimeFormat(locale, format) + +Set datetime format + +**Signature:** +```typescript +setDateTimeFormat = never, LocaleSchema extends string = string, Locale extends PickupLocales> = PickupLocales>, FormatsType = IsNever extends true ? IsEmptyObject extends true ? RemoveIndexSignature<{ + [K in keyof DefineDateTimeFormat]: DefineDateTimeFormat[K]; + }> : NonNullable[Locale] : DateTimeSchema, Formats extends FormatsType = FormatsType>(locale: LocaleSchema | Locale, format: Formats): void; +``` + +#### Type Parameters + +| Parameter | Description | +| --- | --- | +| DateTimeSchema | The datetime format schema, default `never` | + +**Details** + +Set datetime format to Composer instance [datetimeFormats](composition#datetimeformats). + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| locale | LocaleSchema | Locale | A target locale | +| format | Formats | A target datetime format | + +### setLocaleMessage(locale, message) + +Set locale message + +**Signature:** +```typescript +setLocaleMessage = never, LocaleSchema extends string = string, Locale extends PickupLocales> = PickupLocales>, MessageType = IsNever extends true ? IsEmptyObject extends true ? RemoveIndexSignature<{ + [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K]; + }> : NonNullable[Locale] : MessageSchema, Message extends MessageType = MessageType>(locale: LocaleSchema | Locale, message: Message): void; +``` + +#### Type Parameters + +| Parameter | Description | +| --- | --- | +| MessageSchema | The locale message schema, default `never` | + +**Details** + +Set locale message to Composer instance [messages](composition#messages). + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| locale | LocaleSchema | Locale | A target locale | +| message | Message | A message | + +### setMissingHandler(handler) + +Set missing handler + +**Signature:** +```typescript +setMissingHandler(handler: MissingHandler | null): void; +``` + +**See Also** +- [missing](composition#missing) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| handler | MissingHandler | null | A [MissingHandler](composition#missinghandler) | + +### setNumberFormat(locale, format) + +Set number format + +**Signature:** +```typescript +setNumberFormat = never, LocaleSchema extends string = string, Locale extends PickupLocales> = PickupLocales>, FormatsType = IsNever extends true ? IsEmptyObject extends true ? RemoveIndexSignature<{ + [K in keyof DefineNumberFormat]: DefineNumberFormat[K]; + }> : NonNullable[Locale] : NumberSchema, Formats extends FormatsType = FormatsType>(locale: LocaleSchema | Locale, format: Formats): void; +``` + +#### Type Parameters + +| Parameter | Description | +| --- | --- | +| NumberSchema | The number format schema, default `never` | + +**Details** + +Set number format to Composer instance [numberFormats](composition#numberFormats). + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| locale | LocaleSchema | Locale | A target locale | +| format | Formats | A target number format | + +### setPostTranslationHandler(handler) + +Set post translation handler + +**Signature:** +```typescript +setPostTranslationHandler(handler: PostTranslationHandler | null): void; +``` + +**See Also** +- [missing](composition#posttranslation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| handler | PostTranslationHandler<VueMessageType> | null | A | + +### te(key, locale) + +Translation locale message exist + +**Signature:** +```typescript +te = PickupKeys>(key: Str | Key, locale?: Locales): boolean; +``` + +**Details** + +whether do exist locale message on Composer instance [messages](composition#messages). + +If you specified `locale`, check the locale messages of `locale`. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Str | Key | A target locale message key | +| locale | Locales | A locale, it will be used over than global scope or local scope | + +#### Returns + + If found locale message, `true`, else `false`, Note that `false` is returned even if the value present in the key is not translatable, yet if `translateExistCompatible` is set to `true`, it will return `true` if the key is available, even if the value is not translatable. + +### tm(key) + +Locale messages getter + +**Signature:** +```typescript +tm = PickupKeys, Locale extends PickupLocales> = PickupLocales>, Target = IsEmptyObject extends false ? NonNullable[Locale] : RemoveIndexSignature<{ + [K in keyof DefineLocaleMessage]: DefineLocaleMessage[K]; + }>, Return = ResourceKeys extends ResourcePath ? ResourceValue : Record>(key: Key | ResourceKeys): Return; +``` + +**Details** + +If [UseI18nScope](general#usei18nscope) `'local'` or Some [UseI18nOptions](composition#usei18noptions) are specified at `useI18n`, it’s translated in preferentially local scope locale messages than global scope locale messages. + +Based on the current `locale`, locale messages will be returned from Composer instance messages. + +If you change the `locale`, the locale messages returned will also correspond to the locale. + +If there are no locale messages for the given `key` in the composer instance messages, they will be returned with [fallbacking](../../guide/essentials/fallback). + +:::warning +You need to use `rt` for the locale message returned by `tm`. see the [rt](composition#rt-message) details. +::: + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key + + Locale messages | + +**Examples** + +template block: +```html +
+ +
+``` + +script block: +```js +import { defineComponent } from 'vue +import { useI18n } from 'vue-i18n' + +export default defineComponent({ + setup() { + const { rt, tm } = useI18n({ + messages: { + en: { + contents: [ + { + title: 'Title1', + // ... + paragraphs: [ + // ... + ] + } + ] + } + } + // ... + }) + // ... + return { ... , rt, tm } + } +}) +``` + + + + +## ComposerAdditionalOptions + +Composer additional options for `useI18n` + +**Signature:** +```typescript +export interface ComposerAdditionalOptions +``` + +**Details** + +`ComposerAdditionalOptions` is extend for [ComposerOptions](composition#composeroptions), so you can specify these options. + +**See Also** +- [useI18n](composition#usei18n) + +### useScope + +## ComposerCustom + +The type custom definition of Composer + +**Signature:** +```typescript +export interface ComposerCustom +``` + +**Details** + +The interface that can extend Composer. + +The type defined by 3rd party (e.g. nuxt/i18n) + +**Examples** + + +```ts +// vue-i18n.d.ts (`.d.ts` file at your app) + +declare module 'vue-i18n' { + interface ComposerCustom { + localeCodes: string[] + } +} +``` + + + + +## ComposerDateTimeFormatting + +Datetime formatting functions + +**Signature:** +```typescript +export interface ComposerDateTimeFormatting = {}, Locales = 'en-US', DefinedDateTimeFormat extends RemovedIndexResources = RemovedIndexResources, C = IsEmptyObject extends false ? PickupFormatPathKeys<{ + [K in keyof DefinedDateTimeFormat]: DefinedDateTimeFormat[K]; +}> : never, M = IsEmptyObject extends false ? PickupFormatKeys : never, ResourceKeys extends C | M = IsNever extends false ? IsNever extends false ? C | M : C : IsNever extends false ? M : never> +``` + +**Details** + +This is the interface for [Composer](composition#composer) + +### (value: number | Date | string): string; + +Datetime formatting + +**Signature:** +```typescript +(value: number | Date | string): string; +``` + +**Details** + +If this is used in a reactive context, it will re-evaluate once the locale changes. + +If [UseI18nScope](general#usei18nscope) `'local'` or Some [UseI18nOptions](composition#usei18noptions) are specified at `useI18n`, it’s translated in preferentially local scope datetime formats than global scope datetime formats. + +If not, then it’s formatted with global scope datetime formats. + +**See Also** +- [Datetime formatting](../../guide/essentials/datetime) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | number | Date | string | A value, timestamp number or `Date` instance or ISO 8601 string | + +#### Returns + + Formatted value + +### (value: Value, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string; + +Datetime formatting + +**Signature:** +```typescript + = Key | ResourceKeys | DateTimeOptions>(value: Value, keyOrOptions: OptionsType): IsPart extends true ? Intl.DateTimeFormatPart[] : string; +``` + +**Details** + +Overloaded `d`. About details, see the [call signature](composition#value-number-date-string-string) details. + +In this overloaded `d`, format in datetime format for a key registered in datetime formats. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | Value | A value, timestamp number or `Date` instance or ISO 8601 string | +| keyOrOptions | OptionsType | A key of datetime formats, or additional for datetime formatting | + +#### Returns + + Formatted value + +### (value: Value, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.DateTimeFormatPart[] : string; + +Datetime formatting + +**Signature:** +```typescript + = Key | ResourceKeys | DateTimeOptions>(value: Value, keyOrOptions: OptionsType, locale: Locales): IsPart extends true ? Intl.DateTimeFormatPart[] : string; +``` + +**Details** + +Overloaded `d`. About details, see the [call signature](composition#value-number-date-string-string) details. + +In this overloaded `d`, format in datetime format for a key registered in datetime formats at target locale + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | Value | A value, timestamp number or `Date` instance or ISO 8601 string | +| keyOrOptions | OptionsType | A key of datetime formats, or additional for datetime formatting | +| locale | Locales | A locale, it will be used over than global scope or local scope. | + +#### Returns + + Formatted value + +## ComposerNumberFormatting + +Number formatting functions + +**Signature:** +```typescript +export interface ComposerNumberFormatting = {}, Locales = 'en-US', DefinedNumberFormat extends RemovedIndexResources = RemovedIndexResources, C = IsEmptyObject extends false ? PickupFormatPathKeys<{ + [K in keyof DefinedNumberFormat]: DefinedNumberFormat[K]; +}> : never, M = IsEmptyObject extends false ? PickupFormatKeys : never, ResourceKeys extends C | M = IsNever extends false ? IsNever extends false ? C | M : C : IsNever extends false ? M : never> +``` + +**Details** + +This is the interface for [Composer](composition#composer) + +### (value: number): string; + +Number Formatting + +**Signature:** +```typescript +(value: number): string; +``` + +**Details** + +If this is used in a reactive context, it will re-evaluate once the locale changes. + +If [UseI18nScope](general#usei18nscope) `'local'` or Some [UseI18nOptions](composition#usei18noptions) are specified at `useI18n`, it’s translated in preferentially local scope datetime formats than global scope datetime formats. + +If not, then it’s formatted with global scope number formats. + +**See Also** +- [Number formatting](../../guide/essentials/number) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | number | A number value | + +#### Returns + + Formatted value + +### (value: number, keyOrOptions: OptionsType): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string; + +Number Formatting + +**Signature:** +```typescript + = Key | ResourceKeys | NumberOptions>(value: number, keyOrOptions: OptionsType): IsPart extends true ? Intl.NumberFormatPart[] : string; +``` + +**Details** + +Overloaded `n`. About details, see the [call signature](composition#value-number-string) details. + +In this overloaded `n`, format in number format for a key registered in number formats. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | number | A number value | +| keyOrOptions | OptionsType | A key of number formats, or additional for number formatting | + +#### Returns + + Formatted value + +### (value: number, keyOrOptions: OptionsType, locale: Locales): IsPart<OptionsType> extends true ? Intl.NumberFormatPart[] : string; + +Number Formatting + +**Signature:** +```typescript + = Key | ResourceKeys | NumberOptions>(value: number, keyOrOptions: OptionsType, locale: Locales): IsPart extends true ? Intl.NumberFormatPart[] : string; +``` + +**Details** + +Overloaded `n`. About details, see the [call signature](composition#value-number-string) details. + +In this overloaded `n`, format in number format for a key registered in number formats at target locale. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | number | A number value | +| keyOrOptions | OptionsType | A key of number formats, or additional for number formatting | +| locale | Locales | A locale, it will be used over than global scope or local scope. | + +#### Returns + + Formatted value + +## ComposerOptions + +Composer Options + +**Signature:** +```typescript +export interface ComposerOptions = LocaleMessages, _DateTimeFormats extends DateTimeFormatsType = DateTimeFormatsType, _NumberFormats extends NumberFormatsType = NumberFormatsType> +``` + +**Details** + +This is options to create composer. + +### datetime + +### datetimeFormats + +### escapeParameter + +**Signature:** +```typescript +escapeParameter?: boolean; +``` + +**Details** + +Whether to escape parameters for list or named interpolation values. When enabled, this option: - Escapes HTML special characters (`<`, `>`, `"`, `'`, `&`, `/`, `=`) in interpolation parameters - Sanitizes the final translated HTML to prevent XSS attacks by: - Escaping dangerous characters in HTML attribute values - Neutralizing event handler attributes (onclick, onerror, etc.) - Disabling javascript: URLs in href, src, action, formaction, and style attributes + +This is useful when translation output is used in `v-html` and the translation resource contains html markup (e.g. around a user provided value). + +This usage pattern mostly occurs when passing precomputed text strings into UI components. + +Setting `escapeParameter` as true should not break existing functionality but provides a safeguard against a subtle type of XSS attack vectors. + +**Default Value** + +`false` + +**See Also** +- [HTML Message - Using the escapeParameter option](../../guide/essentials/syntax#using-the-escapeparameter-option) + +### fallbackFormat + +**Signature:** +```typescript +fallbackFormat?: boolean; +``` + +**Details** + +Whether do template interpolation on translation keys when your language lacks a translation for a key. + +If `true`, skip writing templates for your "base" language; the keys are your templates. + +**Default Value** + +`false` + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### fallbackLocale + +**Signature:** +```typescript +fallbackLocale?: FallbackLocale; +``` + +**Details** + +The locale of fallback localization. + +For more complex fallback definitions see fallback. + +**Default Value** + +The default `'en-US'` for the `locale` if it's not specified, or it's `locale` value + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### fallbackRoot + +**Signature:** +```typescript +fallbackRoot?: boolean; +``` + +**Details** + +In the component localization, whether to fallback to root level (global scope) localization when localization fails. + +If `false`, it's not fallback to root. + +**Default Value** + +`true` + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### fallbackWarn + +**Signature:** +```typescript +fallbackWarn?: boolean | RegExp; +``` + +**Details** + +Whether suppress warnings when falling back to either `fallbackLocale` or root. + +If `false`, suppress fall back warnings. + +If you use regular expression, you can suppress fallback warnings that it match with translation key (e.g. `t`). + +**Default Value** + +`true` + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### flatJson + +**Signature:** +```typescript +flatJson?: boolean; +``` + +**Details** + +Allow use flat json messages or not + +**Default Value** + +`false` + +### inheritLocale + +**Signature:** +```typescript +inheritLocale?: boolean; +``` + +**Details** + +Whether inheritance the root level locale to the component localization locale. + +If `false`, regardless of the root level locale, localize for each component locale. + +**Default Value** + +`true` + +**See Also** +- [Local Scope](../../guide/essentials/scope#local-scope-2) + +### locale + +**Signature:** +```typescript +locale?: Locale; +``` + +**Details** + +The locale of localization. + +If the locale contains a territory and a dialect, this locale contains an implicit fallback. + +**Default Value** + +`'en-US'` + +**See Also** +- [Scope and Locale Changing](../../guide/essentials/scope) + +### message + +### messageCompiler + +**Signature:** +```typescript +messageCompiler?: MessageCompiler; +``` + +**Details** + +A compiler for custom message format. + +If not specified, the vue-i18n default message compiler will be used. + +You will need to implement your own message compiler that returns Message Functions + +:::tip +:new: v9.3+ +::: + +:::warning +The Custom Message Format is an experimental feature. It may receive breaking changes or be removed in the future. +::: + +**Default Value** + +`undefined` + +**See Also** +- [Custom Message Format](../../guide/advanced/format) + +**Examples** + +Here is an example of how to custom message compiler with `intl-messageformat` +```js +import { createI18n } from 'vue-i18n' +import IntlMessageFormat from 'intl-messageformat' + +function messageCompiler(message, { locale, key, onError }) { + if (typeof message === 'string') { + // You can tune your message compiler performance more with your cache strategy or also memoization at here + const formatter = new IntlMessageFormat(message, locale) + return ctx => formatter.format(ctx.values) + } else { + // If you would like to support it for AST, + // You need to transform locale mesages such as `json`, `yaml`, etc. with the bundle plugin. + onError && onError(new Error('not support for AST')) + return () => key // return default with `key` + } +} + +// call with I18n option +const i18n = createI18n({ + legacy: false, + locale: 'ja', + messageCompiler, // set your message compiler + messages: { + en: { + hello: 'hello world!', + greeting: 'hi, {name}!', + // ICU Message format + photo: `You have {numPhotos, plural, + =0 {no photos.} + =1 {one photo.} + other {# photos.} + }` + }, + } +}) + +// the below your something to do ... +// ... +``` + + + + +### messageResolver + +**Signature:** +```typescript +messageResolver?: MessageResolver; +``` + +**Details** + +A message resolver to resolve [`messages`](composition#messages). + +If not specified, the vue-i18n internal message resolver will be used by default. + +You need to implement a message resolver yourself that supports the following requirements: + +- Resolve the message using the locale message of [`locale`](composition#locale) passed as the first argument of the message resolver, and the path passed as the second argument. + +- If the message could not be resolved, you need to return `null`. + +- If you will be returned `null`, the message resolver will also be called on fallback if [`fallbackLocale`](composition#fallbacklocale-2) is enabled, so the message will need to be resolved as well. + +The message resolver is called indirectly by the following APIs: + +- [`t`](composition#t-key) + +- [`te`](composition#te-key-locale) + +- [`tm`](composition#tm-key) + +- [Translation component](component#translation) + +:::tip +:new: v9.2+ +::: + +:::warning +If you use the message resolver, the [`flatJson`](composition#flatjson) setting will be ignored. That is, you need to resolve the flat JSON by yourself. +::: + +**Default Value** + +`undefined` + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +**Examples** + +Here is an example of how to set it up using your `createI18n`: +```js +import { createI18n } from 'vue-i18n' + +// your message resolver +function messageResolver(obj, path) { + // simple message resolving! + const msg = obj[path] + return msg != null ? msg : null +} + +// call with I18n option +const i18n = createI18n({ + legacy: false, + locale: 'ja', + messageResolver, // set your message resolver + messages: { + en: { ... }, + ja: { ... } + } +}) + +// the below your something to do ... +// ... +``` + + + + +### messages + +### missing + +**Signature:** +```typescript +missing?: MissingHandler; +``` + +**Details** + +A handler for localization missing. + +The handler gets called with the localization target locale, localization path key, the Vue instance and values. + +If missing handler is assigned, and occurred localization missing, it's not warned. + +**Default Value** + +`null` + +### missingWarn + +**Signature:** +```typescript +missingWarn?: boolean | RegExp; +``` + +**Details** + +Whether suppress warnings outputted when localization fails. + +If `false`, suppress localization fail warnings. + +If you use regular expression, you can suppress localization fail warnings that it match with translation key (e.g. `t`). + +**Default Value** + +`true` + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### modifiers + +**Signature:** +```typescript +modifiers?: LinkedModifiers; +``` + +**Details** + +Custom Modifiers for linked messages. + +**See Also** +- [Custom Modifiers](../../guide/essentials/syntax#custom-modifiers) + +### number + +### numberFormats + +### pluralRules + +**Signature:** +```typescript +pluralRules?: PluralizationRules; +``` + +**Details** + +A set of rules for word pluralization + +**Default Value** + +`{}` + +**See Also** +- [Custom Pluralization](../../guide/essentials/pluralization#custom-pluralization) + +### postTranslation + +**Signature:** +```typescript +postTranslation?: PostTranslationHandler; +``` + +**Details** + +A handler for post processing of translation. + +The handler gets after being called with the `t`. + +This handler is useful if you want to filter on translated text such as space trimming. + +**Default Value** + +`null` + +### warnHtmlMessage + +**Signature:** +```typescript +warnHtmlMessage?: boolean; +``` + +**Details** + +Whether to allow the use locale messages of HTML formatting. + +See the warnHtmlMessage property. + +**Default Value** + +`'off'` + +**See Also** +- [HTML Message](../../guide/essentials/syntax#html-message) +- [Change `warnHtmlInMessage` option default value](../../guide/migration/breaking#change-warnhtmlinmessage-option-default-value) + +## ComposerResolveLocaleMessageTranslation + +Resolve locale message translation functions + +**Signature:** +```typescript +export interface ComposerResolveLocaleMessageTranslation +``` + +**Details** + +This is the interface for [Composer](composition#composer) + +### (message: MessageFunction<VueMessageType> | VueMessageType): string; + +Resolve locale message translation + +**Signature:** +```typescript +(message: MessageFunction | VueMessageType): string; +``` + +**Details** + +If this is used in a reactive context, it will re-evaluate once the locale changes. + +If [UseI18nScope](general#usei18nscope) `'local'` or Some [UseI18nOptions](composition#usei18noptions) are specified at `useI18n`, it’s translated in preferentially local scope locale messages than global scope locale messages. + +If not, then it’s translated with global scope locale messages. + +**See Also** +- [Scope and Locale Changing](../../guide/essentials/scope) + +:::tip +The use-case for `rt` is for programmatic locale messages translation with using `tm`, `v-for`, javascript `for` statement. +::: + +:::warning +`rt` differs from `t` in that it processes the locale message directly, not the key of the locale message. There is no internal fallback with `rt`. You need to understand and use the structure of the locale messge returned by `tm`. +::: + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| message | MessageFunction<VueMessageType> | VueMessageType | A target locale message to be resolved. You will need to specify the locale message returned by `tm`. | + +#### Returns + + Translated message + +### (message: MessageFunction<VueMessageType> | VueMessageType, plural: number, options?: TranslateOptions<Locales>): string; + +Resolve locale message translation for plurals + +**Signature:** +```typescript +(message: MessageFunction | VueMessageType, plural: number, options?: TranslateOptions): string; +``` + +**Details** + +Overloaded `rt`. About details, see the [call signature](composition#message-messagefunction-message-message-string) details. + +In this overloaded `rt`, return a pluralized translation message. + +**See Also** +- [Pluralization](../../guide/essentials/pluralization) + +:::tip +The use-case for `rt` is for programmatic locale messages translation with using `tm`, `v-for`, javascript `for` statement. +::: + +:::warning +`rt` differs from `t` in that it processes the locale message directly, not the key of the locale message. There is no internal fallback with `rt`. You need to understand and use the structure of the locale messge returned by `tm`. +::: + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| message | MessageFunction<VueMessageType> | VueMessageType | A target locale message to be resolved. You will need to specify the locale message returned by `tm`. | +| plural | number | Which plural string to get. 1 returns the first one. | +| options | TranslateOptions<Locales> | Additional for translation | + +#### Returns + + Translated message + +### (message: MessageFunction<VueMessageType> | VueMessageType, list: unknown[], options?: TranslateOptions<Locales>): string; + +Resolve locale message translation for list interpolations + +**Signature:** +```typescript +(message: MessageFunction | VueMessageType, list: unknown[], options?: TranslateOptions): string; +``` + +**Details** + +Overloaded `rt`. About details, see the [call signature](composition#message-messagefunction-message-message-string) details. + +In this overloaded `rt`, return a pluralized translation message. + +**See Also** +- [List interpolation](../../guide/essentials/syntax#list-interpolation) + +:::tip +The use-case for `rt` is for programmatic locale messages translation with using `tm`, `v-for`, javascript `for` statement. +::: + +:::warning +`rt` differs from `t` in that it processes the locale message directly, not the key of the locale message. There is no internal fallback with `rt`. You need to understand and use the structure of the locale messge returned by `tm`. +::: + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| message | MessageFunction<VueMessageType> | VueMessageType | A target locale message to be resolved. You will need to specify the locale message returned by `tm`. | +| list | unknown[] | A values of list interpolation. | +| options | TranslateOptions<Locales> | Additional for translation | + +#### Returns + + Translated message + +### (message: MessageFunction<VueMessageType> | VueMessageType, named: NamedValue, options?: TranslateOptions<Locales>): string; + +Resolve locale message translation for named interpolations + +**Signature:** +```typescript +(message: MessageFunction | VueMessageType, named: NamedValue, options?: TranslateOptions): string; +``` + +**Details** + +Overloaded `rt`. About details, see the [call signature](composition#message-messagefunction-message-message-string) details. + +In this overloaded `rt`, for each placeholder x, the locale messages should contain a `{x}` token. + +**See Also** +- [Named interpolation](../../guide/essentials/syntax#named-interpolation) + +:::tip +The use-case for `rt` is for programmatic locale messages translation with using `tm`, `v-for`, javascript `for` statement. +::: + +:::warning +`rt` differs from `t` in that it processes the locale message directly, not the key of the locale message. There is no internal fallback with `rt`. You need to understand and use the structure of the locale messge returned by `tm`. +::: + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| message | MessageFunction<VueMessageType> | VueMessageType | A target locale message to be resolved. You will need to specify the locale message returned by `tm`. | +| named | NamedValue | A values of named interpolation. | +| options | TranslateOptions<Locales> | Additional for translation | + +#### Returns + + Translated message + +## ComposerTranslation + +Locale message translation functions + +**Signature:** +```typescript +export interface ComposerTranslation = {}, Locales = 'en-US', DefinedLocaleMessage extends RemovedIndexResources = RemovedIndexResources, C = IsEmptyObject extends false ? JsonPaths<{ + [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K]; +}> : never, M = IsEmptyObject extends false ? TranslationsPaths : never, ResourceKeys extends C | M = IsNever extends false ? IsNever extends false ? C | M : C : IsNever extends false ? M : never> +``` + +**Details** + +This is the interface for [Composer](composition#composer) + +### (key: Key | ResourceKeys | number): string; + +Locale message translation + +**Signature:** +```typescript +(key: Key | ResourceKeys | number): string; +``` + +**Details** + +If this is used in a reactive context, it will re-evaluate once the locale changes. + +If [UseI18nScope](general#usei18nscope) `'local'` or Some [UseI18nOptions](composition#usei18noptions) are specified at `useI18n`, it’s translated in preferentially local scope locale messages than global scope locale messages. + +If not, then it’s translated with global scope locale messages. + +**See Also** +- [Scope and Locale Changing](../../guide/essentials/scope) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys | number, named: NamedValue): string; + +Locale message translation for named interpolations + +**Signature:** +```typescript +(key: Key | ResourceKeys | number, named: NamedValue): string; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](composition#key-key-resourcekeys-number-string) details. + +In this overloaded `t`, for each placeholder x, the locale messages should contain a `{x}` token. + +You can also suppress the warning, when the translation missing according to the options. + +**See Also** +- [Named interpolation](../../guide/essentials/syntax#named-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | +| named | NamedValue | A values of named interpolation | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys | number, named: NamedValue, plural: number): string; + +Locale message translation for named interpolations and plurals + +**Signature:** +```typescript +(key: Key | ResourceKeys | number, named: NamedValue, plural: number): string; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](composition#key-key-resourcekeys-number-string) details. + +In this overloaded `t`, for each placeholder x, the locale messages should contain a `{x}` token, and return a pluralized translation message. + +**See Also** +- [Pluralization](../../guide/essentials/pluralization) +- [Named interpolation](../../guide/essentials/syntax#named-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | +| named | NamedValue | A values of named interpolation | +| plural | number | Which plural string to get. 1 returns the first one. | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys | number, named: NamedValue, defaultMsg: string): string; + +Locale message translation for named interpolations and plurals + +**Signature:** +```typescript +(key: Key | ResourceKeys | number, named: NamedValue, defaultMsg: string): string; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](composition#key-key-resourcekeys-number-string) details. + +In this overloaded `t`, for each placeholder x, the locale messages should contain a `{x}` token, and if no translation was found, return a default message. + +**See Also** +- [Named interpolation](../../guide/essentials/syntax#named-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | +| named | NamedValue | A values of named interpolation | +| defaultMsg | string | A default message to return if no translation was found | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys | number, named: NamedValue, options: TranslateOptions<Locales>): string; + +Locale message translation for named interpolations + +**Signature:** +```typescript +(key: Key | ResourceKeys | number, named: NamedValue, options: TranslateOptions): string; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](composition#key-key-resourcekeys-number-string) details. + +In this overloaded `t`, for each placeholder x, the locale messages should contain a `{x}` token. + +You can also suppress the warning, when the translation missing according to the options. + +About details of options, see the . + +**See Also** +- [Named interpolation](../../guide/essentials/syntax#named-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | +| named | NamedValue | A values of named interpolation | +| options | TranslateOptions<Locales> | Additional for translation | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys | number, plural: number): string; + +Locale message translation for plurals + +**Signature:** +```typescript +(key: Key | ResourceKeys | number, plural: number): string; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](composition#key-key-resourcekeys-number-string) details. + +In this overloaded `t`, return a pluralized translation message. + +You can also suppress the warning, when the translation missing according to the options. + +**See Also** +- [Pluralization](../../guide/essentials/pluralization) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | +| plural | number | Which plural string to get. 1 returns the first one. | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys | number, plural: number, options: TranslateOptions<Locales>): string; + +Locale message translation for plurals + +**Signature:** +```typescript +(key: Key | ResourceKeys | number, plural: number, options: TranslateOptions): string; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](composition#key-key-resourcekeys-number-string) details. + +In this overloaded `t`, return a pluralized translation message. + +You can also suppress the warning, when the translation missing according to the options. + +About details of options, see the . + +**See Also** +- [Pluralization](../../guide/essentials/pluralization) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | +| plural | number | Which plural string to get. 1 returns the first one. | +| options | TranslateOptions<Locales> | Additional for translation | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys | number, defaultMsg: string): string; + +Locale message translation for missing default message + +**Signature:** +```typescript +(key: Key | ResourceKeys | number, defaultMsg: string): string; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](composition#key-key-resourcekeys-number-string) details. + +In this overloaded `t`, if no translation was found, return a default message. + +You can also suppress the warning, when the translation missing according to the options. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | +| defaultMsg | string | A default message to return if no translation was found | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys | number, defaultMsg: string, options: TranslateOptions<Locales>): string; + +Locale message translation for missing default message + +**Signature:** +```typescript +(key: Key | ResourceKeys | number, defaultMsg: string, options: TranslateOptions): string; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](composition#key-key-resourcekeys-number-string) details. + +In this overloaded `t`, if no translation was found, return a default message. + +You can also suppress the warning, when the translation missing according to the options. + +About details of options, see the . + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | +| defaultMsg | string | A default message to return if no translation was found | +| options | TranslateOptions<Locales> | Additional for translation | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys | number, list: unknown[]): string; + +Locale message translation for list interpolations + +**Signature:** +```typescript +(key: Key | ResourceKeys | number, list: unknown[]): string; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](composition#key-key-resourcekeys-number-string) details. + +In this overloaded `t`, the locale messages should contain a `{0}`, `{1}`, … for each placeholder in the list. + +You can also suppress the warning, when the translation missing according to the options. + +**See Also** +- [List interpolation](../../guide/essentials/syntax#list-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | +| list | unknown[] | A values of list interpolation | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys | number, list: unknown[], plural: number): string; + +Locale message translation for list interpolations and plurals + +**Signature:** +```typescript +(key: Key | ResourceKeys | number, list: unknown[], plural: number): string; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](composition#key-key-resourcekeys-number-string) details. + +In this overloaded `t`, the locale messages should contain a `{0}`, `{1}`, … for each placeholder in the list, and return a pluralized translation message. + +**See Also** +- [Pluralization](../../guide/essentials/pluralization) +- [List interpolation](../../guide/essentials/syntax#list-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | +| list | unknown[] | A values of list interpolation | +| plural | number | Which plural string to get. 1 returns the first one. | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys | number, list: unknown[], defaultMsg: string): string; + +Locale message translation for list interpolations and missing default message + +**Signature:** +```typescript +(key: Key | ResourceKeys | number, list: unknown[], defaultMsg: string): string; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](composition#key-key-resourcekeys-number-string) details. + +In this overloaded `t`, the locale messages should contain a `{0}`, `{1}`, … for each placeholder in the list, and if no translation was found, return a default message. + +**See Also** +- [List interpolation](../../guide/essentials/syntax#list-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | +| list | unknown[] | A values of list interpolation | +| defaultMsg | string | A default message to return if no translation was found | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys | number, list: unknown[], options: TranslateOptions<Locales>): string; + +Locale message translation for list interpolations + +**Signature:** +```typescript +(key: Key | ResourceKeys | number, list: unknown[], options: TranslateOptions): string; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](composition#key-key-resourcekeys-number-string) details. + +In this overloaded `t`, the locale messages should contain a `{0}`, `{1}`, … for each placeholder in the list. + +You can also suppress the warning, when the translation missing according to the options. + +About details of options, see the . + +**See Also** +- [List interpolation](../../guide/essentials/syntax#list-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | number | A target locale message key | +| list | unknown[] | A values of list interpolation | +| options | TranslateOptions<Locales> | Additional for translation | + +#### Returns + + Translated message + +## MissingHandler + +**Signature:** +```typescript +export type MissingHandler = (locale: Locale, key: Path, instance?: ComponentInternalInstance | GenericComponentInstance, type?: string) => string | void; +``` + +## useI18n + +Use Composition API for Vue I18n + +**Signature:** +```typescript +export declare function useI18n, LocaleParams> = UseI18nOptions, LocaleParams>>(options?: Options): Composer, NonNullable, NonNullable, NonNullable>; +``` + +### Type Parameters + +| Parameter | Description | +| --- | --- | +| Schema | The i18n resources (messages, datetimeFormats, numberFormats) schema, default | +| Locales | The locales of i18n resource schema, default `en-US` | + +**Details** + +This function is mainly used by `setup`. + +If options are specified, Composer instance is created for each component and you can be localized on the component. + +If options are not specified, you can be localized using the global Composer. + +### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| options | Options | An options, see [UseI18nOptions](composition#usei18noptions) | + +### Returns + + [Composer](composition#composer) instance + +**Examples** + +case: Component resource base localization +```html + + + +``` + + + + +## UseI18nOptions + +I18n Options for `useI18n` + +**Signature:** +```typescript +export type UseI18nOptions = ComposerOptions> = ComposerAdditionalOptions & Options; +``` + +**Details** + +`UseI18nOptions` is inherited [ComposerAdditionalOptions](composition#composeradditionaloptions) and [ComposerOptions](composition#composeroptions), so you can specify these options. + +**See Also** +- [useI18n](composition#usei18n) + +## VueMessageType + +**Signature:** +```typescript +export type VueMessageType = string | ResourceNode | VNode; +``` + diff --git a/docs/api/v11/directive.md b/docs/api/v11/directive.md new file mode 100644 index 000000000..77a9650a3 --- /dev/null +++ b/docs/api/v11/directive.md @@ -0,0 +1,52 @@ +# Directives + +## TranslationDirective + +Translation Directive (`v-t`) + +**Signature:** +```typescript +export type TranslationDirective = ObjectDirective; +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +**Details** + +Update the element `textContent` that localized with locale messages. + +You can use string syntax or object syntax. + +String syntax can be specified as a keypath of locale messages. + +If you can be used object syntax, you need to specify as the object key the following params +``` +- path: required, key of locale messages +- locale: optional, locale +- args: optional, for list or named formatting +``` + + + +**Examples** + + +```html + +

+ + +

+ + +

+ + +

+``` + + + + diff --git a/docs/api/v11/general.md b/docs/api/v11/general.md new file mode 100644 index 000000000..c11b68d85 --- /dev/null +++ b/docs/api/v11/general.md @@ -0,0 +1,1310 @@ +# General + +## createI18n + +Vue I18n factory + +**Signature:** +```typescript +export declare function createI18n, LocaleParams> = I18nOptions, LocaleParams>, Messages extends Record = NonNullable extends Record ? NonNullable : {}, DateTimeFormats extends Record = NonNullable extends Record ? NonNullable : {}, NumberFormats extends Record = NonNullable extends Record ? NonNullable : {}, OptionLocale = Options['locale'] extends string ? Options['locale'] : Locale>(options: Options): (typeof options)['legacy'] extends true ? I18n : (typeof options)['legacy'] extends false ? I18n : I18n; +``` + +### Type Parameters + +| Parameter | Description | +| --- | --- | +| Schema | The i18n resources (messages, datetimeFormats, numberFormats) schema, default | +| Locales | The locales of i18n resource schema, default `en-US` | +| Legacy | Whether legacy mode is enabled or disabled, default `true` | + +**Details** + +If you use Legacy API mode, you need to specify [VueI18nOptions](legacy#vuei18noptions) and `legacy: true` option. + +If you use composition API mode, you need to specify [ComposerOptions](composition#composeroptions). + +**See Also** +- [Getting Started](../../guide/essentials/started) +- [Composition API](../../guide/advanced/composition) + +### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| options | Options | An options, see the [I18nOptions](general#i18noptions) | + +### Returns + + [I18n](general#i18n) instance + +**Examples** + +**Example 1:** + +case: for Legacy API +```js +import { createApp } from 'vue' +import { createI18n } from 'vue-i18n' + +// call with I18n option +const i18n = createI18n({ + locale: 'ja', + messages: { + en: { ... }, + ja: { ... } + } +}) + +const App = { + // ... +} + +const app = createApp(App) + +// install! +app.use(i18n) +app.mount('#app') +``` + + + +**Example 2:** + +case: for composition API +```js +import { createApp } from 'vue' +import { createI18n, useI18n } from 'vue-i18n' + +// call with I18n option +const i18n = createI18n({ + legacy: false, // you must specify 'legacy: false' option + locale: 'ja', + messages: { + en: { ... }, + ja: { ... } + } +}) + +const App = { + setup() { + // ... + const { t } = useI18n({ ... }) + return { ... , t } + } +} + +const app = createApp(App) + +// install! +app.use(i18n) +app.mount('#app') +``` + + + + +## DefineDateTimeFormat + +The type definition of datetime format + +**Signature:** +```typescript +export interface DefineDateTimeFormat extends DateTimeFormat +``` + +**Details** + +The typealias is used to strictly define the type of the Datetime format. + +The type defined by this can be used in the global scope. + +**Examples** + + +```ts +// type.d.ts (`.d.ts` file at your app) +import { DefineDateTimeFormat } from 'vue-i18n' + +declare module 'vue-i18n' { + export interface DefineDateTimeFormat { + short: { + hour: 'numeric' + timezone: string + } + } +} +``` + + + + +## DefineLocaleMessage + +The type definition of Locale Message + +**Signature:** +```typescript +export interface DefineLocaleMessage extends LocaleMessage +``` + +**Details** + +The typealias is used to strictly define the type of the Locale message. + +The type defined by this can be used in the global scope. + +**Examples** + + +```ts +// type.d.ts (`.d.ts` file at your app) +import { DefineLocaleMessage } from 'vue-i18n' + +declare module 'vue-i18n' { + export interface DefineLocaleMessage { + title: string + menu: { + login: string + } + } +} +``` + + + + +## DefineNumberFormat + +The type definition of number format + +**Signature:** +```typescript +export interface DefineNumberFormat extends NumberFormat +``` + +**Details** + +The typealias is used to strictly define the type of the Number format. + +The type defined by this can be used in the global scope. + +**Examples** + + +```ts +// type.d.ts (`.d.ts` file at your app) +import { DefineNumberFormat } from 'vue-i18n' + +declare module 'vue-i18n' { + export interface DefineNumberFormat { + currency: { + style: 'currency' + currencyDisplay: 'symbol' + currency: string + } + } +} +``` + + + + +## ExportedGlobalComposer + +Exported global composer instance + +**Signature:** +```typescript +export interface ExportedGlobalComposer +``` + +**Details** + +This interface is the [global composer](general#global) that is provided interface that is injected into each component with `app.config.globalProperties`. + +### availableLocales + +Available locales + +**Signature:** +```typescript +readonly availableLocales: Locale[]; +``` + +**Details** + +This property is proxy-like property for `Composer#availableLocales`. About details, see the [Composer#availableLocales](composition#availablelocales) + +### fallbackLocale + +Fallback locale + +**Signature:** +```typescript +fallbackLocale: FallbackLocale; +``` + +**Details** + +This property is proxy-like property for `Composer#fallbackLocale`. About details, see the [Composer#fallbackLocale](composition#fallbacklocale) + +### locale + +Locale + +**Signature:** +```typescript +locale: Locale; +``` + +**Details** + +This property is proxy-like property for `Composer#locale`. About details, see the [Composer#locale](composition#locale) + +## I18n + +I18n instance + +**Signature:** +```typescript +export interface I18n = {}, DateTimeFormats extends Record = {}, NumberFormats extends Record = {}, OptionLocale = Locale, Legacy = boolean> +``` + +**Details** + +The instance required for installation as the Vue plugin + +### global + +The property accessible to the global Composer instance or VueI18n instance + +**Signature:** +```typescript +readonly global: Legacy extends true ? VueI18n : Legacy extends false ? Composer : unknown; +``` + +**Details** + +If the [I18n#mode](general#mode) is `'legacy'`, then you can access to a global [VueI18n](legacy#vuei18n) instance, else then [I18n#mode](general#mode) is `'composition' `, you can access to the global [Composer](composition#composer) instance. + +An instance of this property is **global scope***. + +### mode + +Vue I18n API mode + +**Signature:** +```typescript +readonly mode: I18nMode; +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +**Details** + +If you specified `legacy: true` option in `createI18n`, return `legacy`, else `composition` + +**Default Value** + +`'legacy'` + +### dispose() + +Release global scope resource + +**Signature:** +```typescript +dispose(): void; +``` + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | + +### install(app, options) + +Install entry point + +**Signature:** +```typescript +install(app: App, ...options: unknown[]): void; +``` + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| app | App | A target Vue app instance | +| options | unknown[] | An install options | + +## I18nAdditionalOptions + +I18n Additional Options + +**Signature:** +```typescript +export interface I18nAdditionalOptions +``` + +**Details** + +Specific options for + +### globalInjection + +Whether to inject global properties & functions into for each component. + +**Signature:** +```typescript +globalInjection?: boolean; +``` + +**Details** + +If set to `true`, then properties and methods prefixed with `$` are injected into Vue Component. + +**Default Value** + +`true` + +**See Also** +- [Implicit with injected properties and functions](../../guide/advanced/composition#implicit-with-injected-properties-and-functions) +- [ComponentCustomProperties](injection#componentcustomproperties) + +### legacy + +Whether vue-i18n Legacy API mode use on your Vue App + +**Signature:** +```typescript +legacy?: boolean; +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +**Details** + +The default is to use the Legacy API mode. If you want to use the Composition API mode, you need to set it to `false`. + +**Default Value** + +`true` + +**See Also** +- [Composition API](../../guide/advanced/composition) + +## I18nInjectionKey + +Injection key for + +**Signature:** +```typescript +I18nInjectionKey: InjectionKey | string +``` + +**Details** + +The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components. Specify the i18n instance created by together with `provide` function. + +## I18nMode + +Vue I18n API mode + +**Signature:** +```typescript +export type I18nMode = 'legacy' | 'composition'; +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +**See Also** +- [I18n#mode](general#mode) + +## I18nOptions + +I18n Options for `createI18n` + +**Signature:** +```typescript +export type I18nOptions | VueI18nOptions = ComposerOptions | VueI18nOptions> = I18nAdditionalOptions & Options; +``` + +**Details** + +`I18nOptions` is inherited [I18nAdditionalOptions](general#i18nadditionaloptions), [ComposerOptions](composition#composeroptions) and [VueI18nOptions](legacy#vuei18noptions), so you can specify these options. + +## I18nPluginOptions + +Vue I18n plugin options + +**Signature:** +```typescript +export interface I18nPluginOptions +``` + +**Details** + +An options specified when installing Vue I18n as Vue plugin with using `app.use`. + +### globalInstall + +Whether to globally install the components that is offered by Vue I18n + +**Signature:** +```typescript +globalInstall?: boolean; +``` + +**Details** + +If this option is enabled, the components will be installed globally at `app.use` time. + +If you want to install manually in the `import` syntax, you can set it to `false` to install when needed. + +**Default Value** + +`true` + +## I18nScope + +I18n Scope + +**Signature:** +```typescript +export type I18nScope = 'local' | 'parent' | 'global'; +``` + +**See Also** +- [ComposerAdditionalOptions#useScope](composition#usescope) +- [useI18n](composition#usei18n) + +## VERSION + +Vue I18n Version + +**Signature:** +```typescript +VERSION: string +``` + +**Details** + +Semver format. Same format as the package.json `version` field. + +## VueI18nInstance + +**Signature:** +```typescript +export type VueI18nInstance = IsNever extends true ? VueI18n | ExportedGlobalComposer : GeneratedInstanceType extends true ? VueI18n : ExportedGlobalComposer; +``` + +## DateTimeOptions + +DateTime options + +**Signature:** +```typescript +export interface DateTimeOptions extends Intl.DateTimeFormatOptions, LocaleOptions +``` + +**Details** + +Options for Datetime formatting API + +### fallbackWarn + +**Signature:** +```typescript +fallbackWarn?: boolean; +``` + +**Details** + +Whether do resolve on format keys when your language lacks a formatting for a key + +### key + +**Signature:** +```typescript +key?: Key; +``` + +**Details** + +The target format key + +### missingWarn + +**Signature:** +```typescript +missingWarn?: boolean; +``` + +**Details** + +Whether suppress warnings outputted when localization fails + +### part + +**Signature:** +```typescript +part?: boolean; +``` + +**Details** + +Whether to use [Intel.DateTimeFormat#formatToParts](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts) + +## DefineCoreLocaleMessage + +The type definition of Locale Message for `@intlify/core-base` package + +**Signature:** +```typescript +export interface DefineCoreLocaleMessage extends LocaleMessage +``` + +**Details** + +The typealias is used to strictly define the type of the Locale message. + +**Examples** + + +```ts +// type.d.ts (`.d.ts` file at your app) +import { DefineCoreLocaleMessage } from '@intlify/core-base' + +declare module '@intlify/core-base' { + export interface DefineCoreLocaleMessage { + title: string + menu: { + login: string + } + } +} +``` + + + + +## FallbackLocale + +**Signature:** +```typescript +export type FallbackLocale = Locale | Locale[] | { + [locale in string]: Locale[]; +} | false; +``` + +## fallbackWithLocaleChain + +Fallback with locale chain + +**Signature:** +```typescript +export declare function fallbackWithLocaleChain(ctx: CoreContext, fallback: FallbackLocale, start: Locale): Locale[]; +``` + +**Details** + +A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default. + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| ctx | CoreContext<Message> | A [context](#corecontext) | +| fallback | FallbackLocale | A [fallback locale](general#fallbacklocale) | +| start | Locale | A starting [locale](general#locale) | + +### Returns + + Fallback locales + +## fallbackWithSimple + +Fallback with simple implemenation + +**Signature:** +```typescript +export declare function fallbackWithSimple(ctx: CoreContext, fallback: FallbackLocale, start: Locale): Locale[]; +``` + +**Details** + +A fallback locale function implemented with a simple fallback algorithm. + +Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify. + +### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| ctx | CoreContext<Message> | A [context](#corecontext) | +| fallback | FallbackLocale | A [fallback locale](general#fallbacklocale) | +| start | Locale | A starting [locale](general#locale) | + +### Returns + + Fallback locales + +## LinkedModifiers + +**Signature:** +```typescript +export type LinkedModifiers = { + [key: string]: LinkedModify; +}; +``` + +## Locale + +**Signature:** +```typescript +export type Locale = IsNever extends true ? string : GeneratedLocale; +``` + +## LocaleDetector + +**Signature:** +```typescript +export interface LocaleDetector +``` + +### resolvedOnce + +### (...args: Args): Locale | Promise<Locale>; + +## LocaleFallbacker + +The locale fallbacker + +**Signature:** +```typescript +export type LocaleFallbacker = (ctx: CoreContext, fallback: FallbackLocale, start: Locale) => Locale[]; +``` + +## LocaleMessage + +**Signature:** +```typescript +export type LocaleMessage = Record>; +``` + +## LocaleMessageDictionary + +**Signature:** +```typescript +export type LocaleMessageDictionary = { + [K in keyof T]: LocaleMessageType; +}; +``` + +## LocaleMessages + +**Signature:** +```typescript +export type LocaleMessages = LocaleRecord, Schema>; +``` + +## LocaleMessageType + +**Signature:** +```typescript +export type LocaleMessageType = T extends string ? string : T extends () => Promise ? LocaleMessageDictionary : T extends (...args: infer Arguments) => any ? (...args: Arguments) => ReturnType : T extends Record ? LocaleMessageDictionary : T extends Array ? { + [K in keyof T]: T[K]; +} : T; +``` + +## LocaleMessageValue + +**Signature:** +```typescript +export type LocaleMessageValue = LocaleMessageDictionary | string; +``` + +## LocaleOptions + +**Signature:** +```typescript +export interface LocaleOptions +``` + +### locale + +**Signature:** +```typescript +locale?: Locales | LocaleDetector; +``` + +**Details** + +The locale of localization + +## MessageCompiler + +The message compiler + +**Signature:** +```typescript +export type MessageCompiler = (message: MessageSource, context: MessageCompilerContext) => MessageFunction; +``` + +## MessageCompilerContext + +The context that will pass the message compiler. + +**Signature:** +```typescript +export type MessageCompilerContext = Pick & { + warnHtmlMessage?: boolean; + key: string; + locale: Locale; +}; +``` + +## MessageContext + +The message context. + +**Signature:** +```typescript +export interface MessageContext +``` + +### type + +The message type to be handled by the message function. + +**Signature:** +```typescript +type: string; +``` + +**Details** + +Usually `text`, you need to return **string** in message function. + +### values + +The message values. + +**Signature:** +```typescript +values: Record; +``` + +**Details** + +The message values are the argument values passed from translation function, such as `$t`, `t`, or `translate`. + +**Examples** + +vue-i18n `$t` (or `t`) case: +```html +

{{ $t('greeting', { name: 'DIO' }) }}

+``` + +`@intlify/core` (`@intlify/core-base`) `translate` case: +```js +translate(context, 'foo.bar', ['dio']) // `['dio']` is message values +``` + + + + +### linked(key, modifier) + +Resolve linked message. + +**Signature:** +```typescript +linked(key: Path, modifier?: string): MessageType; +``` + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Path | A message key | +| modifier | string | A modifier | + +#### Returns + + A resolve message. + +### linked(key, modifier, type) + +Overloaded `linked` + +**Signature:** +```typescript +linked(key: Path, modifier?: string, type?: string): MessageType; +``` + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Path | A message key | +| modifier | string | A modifier | +| type | string | A message type | + +#### Returns + + A resolve message. + +### linked(key, optoins) + +Overloaded `linked` + +**Signature:** +```typescript +linked(key: Path, optoins?: LinkedOptions): MessageType; +``` + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Path | A message key | +| optoins | LinkedOptions | An [linked options](#linkedoptions) | + +#### Returns + + A resolve message. + +### list(index) + +Resolve message value from list. + +**Signature:** +```typescript +list(index: number): unknown; +``` + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| index | number | An index of message values. | + +#### Returns + + A resolved message value. + +**Examples** + + +```js +const messages = { + en: { + greeting: ({ list }) => `hello, ${list(0)}!` + } +} +``` + + + + +### named(key) + +Resolve message value from named. + +**Signature:** +```typescript +named(key: string): unknown; +``` + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | string | A key of message value. | + +#### Returns + + A resolved message value. + +**Examples** + + +```js +const messages = { + en: { + greeting: ({ named }) => `hello, ${named('name')}!` + } +} +``` + + + + +### plural(messages) + +Resolve message with plural index. + +**Signature:** +```typescript +plural(messages: T[]): T; +``` + +**Details** + +That's resolved with plural index with translation function. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| messages | T[] | the messages, that is resolved with plural index with translation function. | + +#### Returns + + A resolved message. + +**Examples** + + +```js +const messages = { + en: { + car: ({ plural }) => plural(['car', 'cars']), + apple: ({ plural, named }) => + plural([ + 'no apples', + 'one apple', + `${named('count')} apples` + ]) + } +} +``` + + + + +## MessageFunction + +The Message Function. + +**Signature:** +```typescript +export type MessageFunction = MessageFunctionCallable | MessageFunctionInternal; +``` + +## MessageFunctionReturn + +**Signature:** +```typescript +export type MessageFunctionReturn = T extends string ? MessageType : MessageType[]; +``` + +## MessageResolver + +**Signature:** +```typescript +export type MessageResolver = (obj: unknown, path: Path) => PathValue; +``` + +## NamedValue + +**Signature:** +```typescript +export type NamedValue = T & Record; +``` + +## NumberOptions + +Number Options + +**Signature:** +```typescript +export interface NumberOptions extends Intl.NumberFormatOptions, LocaleOptions +``` + +**Details** + +Options for Number formatting API + +### fallbackWarn + +**Signature:** +```typescript +fallbackWarn?: boolean; +``` + +**Details** + +Whether do resolve on format keys when your language lacks a formatting for a key + +### key + +**Signature:** +```typescript +key?: Key; +``` + +**Details** + +The target format key + +### missingWarn + +**Signature:** +```typescript +missingWarn?: boolean; +``` + +**Details** + +Whether suppress warnings outputted when localization fails + +### part + +**Signature:** +```typescript +part?: boolean; +``` + +**Details** + +Whether to use [Intel.NumberFormat#formatToParts](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts) + +## Path + +**Signature:** +```typescript +export type Path = string; +``` + +## PathValue + +**Signature:** +```typescript +export type PathValue = string | number | boolean | Function | null | { + [key: string]: PathValue; +} | PathValue[]; +``` + +## PluralizationRules + +**Signature:** +```typescript +export type PluralizationRules = { + [locale: string]: PluralizationRule; +}; +``` + +## PostTranslationHandler + +**Signature:** +```typescript +export type PostTranslationHandler = (translated: MessageFunctionReturn, key: string) => MessageFunctionReturn; +``` + +## registerLocaleFallbacker + +Register the locale fallbacker + +**Signature:** +```typescript +export declare function registerLocaleFallbacker(fallbacker: LocaleFallbacker): void; +``` + +### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| fallbacker | LocaleFallbacker | A [LocaleFallbacker](general#localefallbacker) function | + +## registerMessageResolver + +Register the message resolver + +**Signature:** +```typescript +export declare function registerMessageResolver(resolver: MessageResolver): void; +``` + +### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| resolver | MessageResolver | A [MessageResolver](general#messageresolver) function | + +## resolveValue + +message resolver + +**Signature:** +```typescript +export declare function resolveValue(obj: unknown, path: Path): PathValue; +``` + +**Details** + +Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default. + +### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| obj | unknown | A target object to be resolved with path | +| path | Path | A [path](general#path) to resolve the value of message | + +### Returns + + A resolved [path value](general#pathvalue) + +## resolveWithKeyValue + +key-value message resolver + +**Signature:** +```typescript +export declare function resolveWithKeyValue(obj: unknown, path: Path): PathValue; +``` + +**Details** + +Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved + +### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| obj | unknown | A target object to be resolved with path | +| path | Path | A [path](general#path) to resolve the value of message | + +### Returns + + A resolved [path value](general#pathvalue) + +## TranslateOptions + +Translate Options + +**Signature:** +```typescript +export interface TranslateOptions extends LocaleOptions +``` + +**Details** + +Options for Translation API + +### default + +**Signature:** +```typescript +default?: string | boolean; +``` + +**Details** + +Default message when is occurred translation missing + +### escapeParameter + +**Signature:** +```typescript +escapeParameter?: boolean; +``` + +**Details** + +Whether to escape parameters for list or named interpolation values. When enabled, this option: - Escapes HTML special characters (`<`, `>`, `"`, `'`, `&`, `/`, `=`) in interpolation parameters - Sanitizes the final translated HTML to prevent XSS attacks by: - Escaping dangerous characters in HTML attribute values - Neutralizing event handler attributes (onclick, onerror, etc.) - Disabling javascript: URLs in href, src, action, formaction, and style attributes + +**Default Value** + +false + +### fallbackWarn + +**Signature:** +```typescript +fallbackWarn?: boolean; +``` + +**Details** + +Whether do template interpolation on translation keys when your language lacks a translation for a key + +### list + +**Signature:** +```typescript +list?: unknown[]; +``` + +**Details** + +List interpolation + +### missingWarn + +**Signature:** +```typescript +missingWarn?: boolean; +``` + +**Details** + +Whether suppress warnings outputted when localization fails + +### named + +**Signature:** +```typescript +named?: NamedValue; +``` + +**Details** + +Named interpolation + +### plural + +**Signature:** +```typescript +plural?: number; +``` + +**Details** + +Plulralzation choice number + +### resolvedMessage + +**Signature:** +```typescript +resolvedMessage?: boolean; +``` + +**Details** + +Whether the message has been resolved + diff --git a/docs/api/v11/legacy.md b/docs/api/v11/legacy.md new file mode 100644 index 000000000..0063f0ac3 --- /dev/null +++ b/docs/api/v11/legacy.md @@ -0,0 +1,1699 @@ +# Legacy API + +## Choice + +**Signature:** +```typescript +export type Choice = number; +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +## DateTimeFormatResult + +**Signature:** +```typescript +export type DateTimeFormatResult = string; +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +## LocaleMessageObject + +**Signature:** +```typescript +export type LocaleMessageObject = LocaleMessageDictionary; +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +## NumberFormatResult + +**Signature:** +```typescript +export type NumberFormatResult = string; +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +## PluralizationRulesMap + +**Signature:** +```typescript +export type PluralizationRulesMap = { + [locale: string]: PluralizationRule; +}; +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +## TranslateResult + +**Signature:** +```typescript +export type TranslateResult = string; +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +## VueI18n + +VueI18n legacy interfaces + +**Signature:** +```typescript +export interface VueI18n = {}, DateTimeFormats extends Record = {}, NumberFormats extends Record = {}, OptionLocale = Locale, ResourceLocales = PickupLocales> | PickupLocales> | PickupLocales>, Locales = Locale extends GeneratedLocale ? GeneratedLocale : OptionLocale extends string ? [ResourceLocales] extends [never] ? Locale : ResourceLocales : OptionLocale | ResourceLocales, Composition extends Composer = Composer> +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +**Details** + +This interface is compatible with interface of `VueI18n` class (offered with Vue I18n v8.x). + +### availableLocales + +**Signature:** +```typescript +readonly availableLocales: Composition['availableLocales']; +``` + +**Details** + +The list of available locales in `messages` in lexical order. + +### d + +Datetime formatting + +**Signature:** +```typescript +d: VueI18nDateTimeFormatting>; +``` + +**Details** + +About details functions, See the [VueI18nDateTimeFormatting](legacy#vuei18ndatetimeformatting) + +### datetimeFormats + +**Signature:** +```typescript +readonly datetimeFormats: { + [K in keyof DateTimeFormats]: DateTimeFormats[K]; + }; +``` + +**Details** + +The datetime formats of localization. + +**See Also** +- [Datetime Formatting](../../guide/essentials/datetime) + +### escapeParameterHtml + +**Signature:** +```typescript +escapeParameterHtml: Composition['escapeParameter']; +``` + +**Details** + +Whether interpolation parameters are escaped before the message is translated. + +**See Also** +- [HTML Message](../../guide/essentials/syntax#html-message) + +### fallbackLocale + +**Signature:** +```typescript +fallbackLocale: FallbackLocales; +``` + +**Details** + +The current fallback locales this VueI18n instance is using. + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### formatFallbackMessages + +**Signature:** +```typescript +formatFallbackMessages: Composition['fallbackFormat']; +``` + +**Details** + +Whether suppress warnings when falling back to either `fallbackLocale` or root. + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### getDateTimeFormat + +Get datetime format + +**Signature:** +```typescript +getDateTimeFormat: Composition['getDateTimeFormat']; +``` + +**Details** + +get datetime format from VueI18n instance [datetimeFormats](legacy#datetimeformats). + +### getLocaleMessage + +Get locale message + +**Signature:** +```typescript +getLocaleMessage: Composition['getLocaleMessage']; +``` + +**Details** + +get locale message from VueI18n instance [messages](legacy#messages). + +### getNumberFormat + +Get number format + +**Signature:** +```typescript +getNumberFormat: Composition['getNumberFormat']; +``` + +**Details** + +get number format from VueI18n instance [numberFormats](legacy#numberFormats). + +### id + +**Signature:** +```typescript +id: number; +``` + +**Details** + +Instance ID. + +### locale + +**Signature:** +```typescript +locale: Locales; +``` + +**Details** + +The current locale this VueI18n instance is using. + +If the locale contains a territory and a dialect, this locale contains an implicit fallback. + +**See Also** +- [Scope and Locale Changing](../../guide/essentials/scope) + +### mergeDateTimeFormat + +Merge datetime format + +**Signature:** +```typescript +mergeDateTimeFormat: Composition['mergeDateTimeFormat']; +``` + +**Details** + +Merge datetime format to VueI18n instance [datetimeFormats](legacy#datetimeformats). + +### mergeLocaleMessage + +Merge locale message + +**Signature:** +```typescript +mergeLocaleMessage: Composition['mergeLocaleMessage']; +``` + +**Details** + +Merge locale message to VueI18n instance [messages](legacy#messages). + +### mergeNumberFormat + +Merge number format + +**Signature:** +```typescript +mergeNumberFormat: Composition['mergeNumberFormat']; +``` + +**Details** + +Merge number format to VueI18n instance [numberFormats](legacy#numberFormats). + +### messages + +**Signature:** +```typescript +readonly messages: { + [K in keyof Messages]: Messages[K]; + }; +``` + +**Details** + +The locale messages of localization. + +**See Also** +- [Getting Started](../../guide/essentials/started) + +### missing + +**Signature:** +```typescript +missing: MissingHandler | null; +``` + +**Details** + +A handler for localization missing. + +### modifiers + +**Signature:** +```typescript +readonly modifiers: Composition['modifiers']; +``` + +**Details** + +Custom Modifiers for linked messages. + +**See Also** +- [Custom Modifiers](../../guide/essentials/syntax#custom-modifiers) + +### n + +Number Formatting + +**Signature:** +```typescript +n: VueI18nNumberFormatting>; +``` + +**Details** + +About details functions, See the [VueI18nNumberFormatting](legacy#vuei18nnumberformatting) + +### numberFormats + +**Signature:** +```typescript +readonly numberFormats: { + [K in keyof NumberFormats]: NumberFormats[K]; + }; +``` + +**Details** + +The number formats of localization. + +**See Also** +- [Number Formatting](../../guide/essentials/number) + +### pluralizationRules + +A set of rules for word pluralization + +**Signature:** +```typescript +pluralizationRules: Composition['pluralRules']; +``` + +**See Also** +- [Custom Pluralization](../../guide/essentials/pluralization#custom-pluralization) + +### postTranslation + +**Signature:** +```typescript +postTranslation: PostTranslationHandler | null; +``` + +**Details** + +A handler for post processing of translation. + +### rt + +Resolve locale message translation + +**Signature:** +```typescript +rt: VueI18nResolveLocaleMessageTranslation; +``` + +**Details** + +About details functions, See the [VueI18nResolveLocaleMessageTranslation](legacy#vuei18nresolvelocalemessagetranslation) + +### setDateTimeFormat + +Set datetime format + +**Signature:** +```typescript +setDateTimeFormat: Composition['setDateTimeFormat']; +``` + +**Details** + +Set datetime format to VueI18n instance [datetimeFormats](legacy#datetimeformats). + +### setLocaleMessage + +Set locale message + +**Signature:** +```typescript +setLocaleMessage: Composition['setLocaleMessage']; +``` + +**Details** + +Set locale message to VueI18n instance [messages](legacy#messages). + +### setNumberFormat + +Set number format + +**Signature:** +```typescript +setNumberFormat: Composition['setNumberFormat']; +``` + +**Details** + +Set number format to VueI18n instance [numberFormats](legacy#numberFormats). + +### silentFallbackWarn + +**Signature:** +```typescript +silentFallbackWarn: Composition['fallbackWarn']; +``` + +**Details** + +Whether suppress fallback warnings when localization fails. + +### silentTranslationWarn + +**Signature:** +```typescript +silentTranslationWarn: Composition['missingWarn']; +``` + +**Details** + +Whether suppress warnings outputted when localization fails. + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### sync + +**Signature:** +```typescript +sync: Composition['inheritLocale']; +``` + +**Details** + +Whether synchronize the root level locale to the component localization locale. + +**See Also** +- [Local Scope](../../guide/essentials/scope#local-scope-2) + +### t + +Locale message translation + +**Signature:** +```typescript +t: VueI18nTranslation>; +``` + +**Details** + +About details functions, See the [VueI18nTranslation](legacy#vuei18ntranslation) + +### tm + +Locale messages getter + +**Signature:** +```typescript +tm: Composition['tm']; +``` + +**Details** + +If [i18n component options](injection#i18n) is specified, it’s get in preferentially local scope locale messages than global scope locale messages. + +If [i18n component options](injection#i18n) isn't specified, it’s get with global scope locale messages. + +Based on the current `locale`, locale messages will be returned from Composer instance messages. + +If you change the `locale`, the locale messages returned will also correspond to the locale. + +If there are no locale messages for the given `key` in the composer instance messages, they will be returned with [fallbacking](../../guide/essentials/fallback). + +:::warning +You need to use `rt` for the locale message returned by `tm`. see the [rt](legacy#rt-message) details. +::: + +**Examples** + +template: +```html +
+ +
+``` + + +```js +import { createI18n } from 'vue-i18n' + +const i18n = createI18n({ + messages: { + en: { + contents: [ + { + title: 'Title1', + // ... + paragraphs: [ + // ... + ] + } + ] + } + } + // ... +}) +``` + + + + +### warnHtmlInMessage + +**Signature:** +```typescript +warnHtmlInMessage: WarnHtmlInMessageLevel; +``` + +**Details** + +Whether to allow the use locale messages of HTML formatting. + +If you set `warn` or` error`, will check the locale messages on the VueI18n instance. + +If you are specified `warn`, a warning will be output at console. + +If you are specified `error` will occurred an Error. + +**See Also** +- [HTML Message](../../guide/essentials/syntax#html-message) +- [Change `warnHtmlInMessage` option default value](../../guide/migration/breaking#change-warnhtmlinmessage-option-default-value) + +### te(key, locale) + +Translation locale message exist + +**Signature:** +```typescript +te = PickupKeys>(key: Str | Key, locale?: Locales): boolean; +``` + +**Details** + +whether do exist locale message on VueI18n instance [messages](legacy#messages). + +If you specified `locale`, check the locale messages of `locale`. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Str | Key | A target locale message key | +| locale | Locales | A target locale | + +#### Returns + + If found locale message, `true`, else `false` + +## VueI18nDateTimeFormatting + +Datetime formatting functions for VueI18n legacy interfaces + +**Signature:** +```typescript +export interface VueI18nDateTimeFormatting = {}, Locales = 'en-US', DefinedDateTimeFormat extends RemovedIndexResources = RemovedIndexResources, C = IsEmptyObject extends false ? PickupFormatPathKeys<{ + [K in keyof DefinedDateTimeFormat]: DefinedDateTimeFormat[K]; +}> : never, M = IsEmptyObject extends false ? PickupFormatKeys : never, ResourceKeys extends C | M = IsNever extends false ? IsNever extends false ? C | M : C : IsNever extends false ? M : never> +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +**Details** + +This is the interface for [VueI18n](legacy#vuei18n) + +### (value: number | Date): DateTimeFormatResult; + +Datetime formatting + +**Signature:** +```typescript +(value: number | Date): DateTimeFormatResult; +``` + +**Details** + +If this is used in a reactive context, it will re-evaluate once the locale changes. + +If [i18n component options](injection#i18n) is specified, it’s formatted in preferentially local scope datetime formats than global scope locale messages. + +If [i18n component options](injection#i18n) isn't specified, it’s formatted with global scope datetime formats. + +**See Also** +- [Datetime formatting](../../guide/essentials/datetime) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | number | Date | A value, timestamp number or `Date` instance | + +#### Returns + + Formatted value + +### (value: Value, key: Key | ResourceKeys): DateTimeFormatResult; + +Datetime formatting + +**Signature:** +```typescript +(value: Value, key: Key | ResourceKeys): DateTimeFormatResult; +``` + +**Details** + +Overloaded `d`. About details, see the [call signature](legacy#value-number-date-datetimeformatresult) details. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | Value | A value, timestamp number or `Date` instance | +| key | Key | ResourceKeys | A key of datetime formats | + +#### Returns + + Formatted value + +### (value: Value, key: Key | ResourceKeys, locale: Locales): DateTimeFormatResult; + +Datetime formatting + +**Signature:** +```typescript +(value: Value, key: Key | ResourceKeys, locale: Locales): DateTimeFormatResult; +``` + +**Details** + +Overloaded `d`. About details, see the [call signature](legacy#value-number-date-datetimeformatresult) details. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | Value | A value, timestamp number or `Date` instance | +| key | Key | ResourceKeys | A key of datetime formats | +| locale | Locales | A locale, it will be used over than global scope or local scope. | + +#### Returns + + Formatted value + +### (value: number | Date, args: { [key: string]: string | boolean | number; }): DateTimeFormatResult; + +Datetime formatting + +**Signature:** +```typescript +(value: number | Date, args: { + [key: string]: string | boolean | number; + }): DateTimeFormatResult; +``` + +**Details** + +Overloaded `d`. About details, see the [call signature](legacy#value-number-date-datetimeformatresult) details. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | number | Date | A value, timestamp number or `Date` instance | +| args | { [key: string]: string | boolean | number; } | An argument values | + +#### Returns + + Formatted value + +## VueI18nNumberFormatting + +Number formatting functions for VueI18n legacy interfaces + +**Signature:** +```typescript +export interface VueI18nNumberFormatting = {}, Locales = 'en-US', DefinedNumberFormat extends RemovedIndexResources = RemovedIndexResources, C = IsEmptyObject extends false ? PickupFormatPathKeys<{ + [K in keyof DefinedNumberFormat]: DefinedNumberFormat[K]; +}> : never, M = IsEmptyObject extends false ? PickupFormatKeys : never, ResourceKeys extends C | M = IsNever extends false ? IsNever extends false ? C | M : C : IsNever extends false ? M : never> +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +**Details** + +This is the interface for [VueI18n](legacy#vuei18n) + +### (value: number): NumberFormatResult; + +Number formatting + +**Signature:** +```typescript +(value: number): NumberFormatResult; +``` + +**Details** + +If this is used in a reactive context, it will re-evaluate once the locale changes. + +If [i18n component options](injection#i18n) is specified, it’s formatted in preferentially local scope number formats than global scope locale messages. + +If [i18n component options](injection#i18n) isn't specified, it’s formatted with global scope number formats. + +**See Also** +- [Number formatting](../../guide/essentials/number) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | number | A number value | + +#### Returns + + Formatted value + +### (value: number, key: Key | ResourceKeys): NumberFormatResult; + +Number formatting + +**Signature:** +```typescript +(value: number, key: Key | ResourceKeys): NumberFormatResult; +``` + +**Details** + +Overloaded `n`. About details, see the [call signature](legacy#value-number-numberformatresult) details. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | number | A number value | +| key | Key | ResourceKeys | A key of number formats | + +#### Returns + + Formatted value + +### (value: number, key: Key | ResourceKeys, locale: Locales): NumberFormatResult; + +Number formatting + +**Signature:** +```typescript +(value: number, key: Key | ResourceKeys, locale: Locales): NumberFormatResult; +``` + +**Details** + +Overloaded `n`. About details, see the [call signature](legacy#value-number-numberformatresult) details. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | number | A number value | +| key | Key | ResourceKeys | A key of number formats | +| locale | Locales | A locale, it will be used over than global scope or local scope. | + +#### Returns + + Formatted value + +### (value: number, args: { [key: string]: string | boolean | number; }): NumberFormatResult; + +Number formatting + +**Signature:** +```typescript +(value: number, args: { + [key: string]: string | boolean | number; + }): NumberFormatResult; +``` + +**Details** + +Overloaded `n`. About details, see the [call signature](legacy#value-number-numberformatresult) details. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| value | number | A number value | +| args | { [key: string]: string | boolean | number; } | An argument values | + +#### Returns + + Formatted value + +## VueI18nOptions + +VueI18n Options + +**Signature:** +```typescript +export interface VueI18nOptions = ComposerOptions> +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +**Details** + +This option is compatible with `VueI18n` class constructor options (offered with Vue I18n v8.x) + +### availableLocales + +**Signature:** +```typescript +availableLocales?: Locale[]; +``` + +**Details** + +The list of available locales in messages in lexical order. + +**Default Value** + +`[]` + +### datetime + +### datetimeFormats + +### escapeParameterHtml + +**Signature:** +```typescript +escapeParameterHtml?: Options['escapeParameter']; +``` + +**Details** + +Whether to escape parameters for list or named interpolation values. When enabled, this option: - Escapes HTML special characters (`<`, `>`, `"`, `'`, `&`, `/`, `=`) in interpolation parameters - Sanitizes the final translated HTML to prevent XSS attacks by: - Escaping dangerous characters in HTML attribute values - Neutralizing event handler attributes (onclick, onerror, etc.) - Disabling javascript: URLs in href, src, action, formaction, and style attributes + +This is useful when translation output is used in `v-html` and the translation resource contains html markup (e.g. around a user provided value). + +This usage pattern mostly occurs when passing precomputed text strings into UI components. + +Setting `escapeParameterHtml` as true should not break existing functionality but provides a safeguard against a subtle type of XSS attack vectors. + +**Default Value** + +`false` + +**See Also** +- [HTML Message - Using the escapeParameter option](../../guide/essentials/syntax#using-the-escapeparameter-option) + +### fallbackLocale + +**Signature:** +```typescript +fallbackLocale?: Options['fallbackLocale']; +``` + +**Details** + +The locale of fallback localization. + +For more complex fallback definitions see fallback. + +**Default Value** + +The default `'en-US'` for the `locale` if it's not specified, or it's `locale` value + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### fallbackRoot + +**Signature:** +```typescript +fallbackRoot?: Options['fallbackRoot']; +``` + +**Details** + +In the component localization, whether to fall back to root level (global scope) localization when localization fails. + +If `false`, it's not fallback to root. + +**Default Value** + +`true` + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### flatJson + +**Signature:** +```typescript +flatJson?: Options['flatJson']; +``` + +**Details** + +Allow use flat json messages or not + +**Default Value** + +`false` + +### formatFallbackMessages + +**Signature:** +```typescript +formatFallbackMessages?: Options['fallbackFormat']; +``` + +**Details** + +Whether suppress warnings when falling back to either `fallbackLocale` or root. + +**Default Value** + +`false` + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### locale + +**Signature:** +```typescript +locale?: Options['locale']; +``` + +**Details** + +The locale of localization. + +If the locale contains a territory and a dialect, this locale contains an implicit fallback. + +**Default Value** + +`'en-US'` + +**See Also** +- [Scope and Locale Changing](../../guide/essentials/scope) + +### message + +### messageResolver + +**Signature:** +```typescript +messageResolver?: MessageResolver; +``` + +**Details** + +A message resolver to resolve [`messages`](legacy#messages). + +If not specified, the vue-i18n internal message resolver will be used by default. + +You need to implement a message resolver yourself that supports the following requirements: + +- Resolve the message using the locale message of [`locale`](legacy#locale) passed as the first argument of the message resolver, and the path passed as the second argument. + +- If the message could not be resolved, you need to return `null`. + +- If you will be returned `null`, the message resolver will also be called on fallback if [`fallbackLocale`](legacy#fallbacklocale-2) is enabled, so the message will need to be resolved as well. + +The message resolver is called indirectly by the following APIs: + +- [`t`](legacy#t-key) + +- [`te`](legacy#te-key-locale) + +- [`tm`](legacy#tm-key) + +- [Translation component](component#translation) + +:::tip +:new: v9.2+ +::: + +:::warning +If you use the message resolver, the [`flatJson`](legacy#flatjson) setting will be ignored. That is, you need to resolve the flat JSON by yourself. +::: + +**Default Value** + +`undefined` + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +**Examples** + +Here is an example of how to set it up using your `createI18n`: +```js +import { createI18n } from 'vue-i18n' + +// your message resolver +function messageResolver(obj, path) { + // simple message resolving! + const msg = obj[path] + return msg != null ? msg : null +} + +// call with I18n option +const i18n = createI18n({ + locale: 'ja', + messageResolver, // set your message resolver + messages: { + en: { ... }, + ja: { ... } + } +}) + +// the below your something to do ... +// ... +``` + + + + +### messages + +### missing + +**Signature:** +```typescript +missing?: Options['missing']; +``` + +**Details** + +A handler for localization missing. + +The handler gets called with the localization target locale, localization path key, the Vue instance and values. + +If missing handler is assigned, and occurred localization missing, it's not warned. + +**Default Value** + +`null` + +### modifiers + +**Signature:** +```typescript +modifiers?: Options['modifiers']; +``` + +**Details** + +Custom Modifiers for linked messages. + +**See Also** +- [Custom Modifiers](../../guide/essentials/syntax#custom-modifiers) + +### number + +### numberFormats + +### pluralizationRules + +**Signature:** +```typescript +pluralizationRules?: Options['pluralRules']; +``` + +**Details** + +A set of rules for word pluralization + +**Default Value** + +`{}` + +**See Also** +- [Custom Pluralization](../../guide/essentials/pluralization#custom-pluralization) + +### postTranslation + +**Signature:** +```typescript +postTranslation?: Options['postTranslation']; +``` + +**Details** + +A handler for post processing of translation. The handler gets after being called with the `$t`, and `t`. + +This handler is useful if you want to filter on translated text such as space trimming. + +**Default Value** + +`null` + +### sharedMessages + +**Signature:** +```typescript +sharedMessages?: LocaleMessages; +``` + +**Details** + +The shared locale messages of localization for components. More detail see Component based localization. + +**Default Value** + +`undefined` + +**See Also** +- [Shared locale messages for components](../../guide/essentials/local#shared-locale-messages-for-components) + +### silentFallbackWarn + +**Signature:** +```typescript +silentFallbackWarn?: Options['fallbackWarn']; +``` + +**Details** + +Whether do template interpolation on translation keys when your language lacks a translation for a key. + +If `true`, skip writing templates for your "base" language; the keys are your templates. + +**Default Value** + +`false` + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### silentTranslationWarn + +**Signature:** +```typescript +silentTranslationWarn?: Options['missingWarn']; +``` + +**Details** + +Whether suppress warnings outputted when localization fails. + +If `true`, suppress localization fail warnings. + +If you use regular expression, you can suppress localization fail warnings that it match with translation key (e.g. `t`). + +**Default Value** + +`false` + +**See Also** +- [Fallbacking](../../guide/essentials/fallback) + +### sync + +**Signature:** +```typescript +sync?: boolean; +``` + +**Details** + +Whether synchronize the root level locale to the component localization locale. + +If `false`, regardless of the root level locale, localize for each component locale. + +**Default Value** + +`true` + +**See Also** +- [Local Scope](../../guide/essentials/scope#local-scope-2) + +### warnHtmlInMessage + +**Signature:** +```typescript +warnHtmlInMessage?: WarnHtmlInMessageLevel; +``` + +**Details** + +Whether to allow the use locale messages of HTML formatting. + +See the warnHtmlInMessage property. + +**Default Value** + +`'off'` + +**See Also** +- [HTML Message](../../guide/essentials/syntax#html-message) +- [Change `warnHtmlInMessage` option default value](../../guide/migration/breaking#change-warnhtmlinmessage-option-default-value) + +## VueI18nResolveLocaleMessageTranslation + +Resolve locale message translation functions for VueI18n legacy interfaces + +**Signature:** +```typescript +export type VueI18nResolveLocaleMessageTranslation = ComposerResolveLocaleMessageTranslation; +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +**Details** + +This is the interface for [VueI18n](legacy#vuei18n). This interface is an alias of [ComposerResolveLocaleMessageTranslation](composition#composerresolvelocalemessagetranslation). + +## VueI18nTranslation + +Locale message translation functions for VueI18n legacy interfaces + +**Signature:** +```typescript +export interface VueI18nTranslation = {}, Locales = 'en-US', DefinedLocaleMessage extends RemovedIndexResources = RemovedIndexResources, C = IsEmptyObject extends false ? PickupPaths<{ + [K in keyof DefinedLocaleMessage]: DefinedLocaleMessage[K]; +}> : never, M = IsEmptyObject extends false ? PickupKeys : never, ResourceKeys extends C | M = IsNever extends false ? IsNever extends false ? C | M : C : IsNever extends false ? M : never> +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + +**Details** + +This is the interface for [VueI18n](legacy#vuei18n) + +### (key: Key | ResourceKeys): TranslateResult; + +Locale message translation. + +**Signature:** +```typescript +(key: Key | ResourceKeys): TranslateResult; +``` + +**Details** + +If this is used in a reactive context, it will re-evaluate once the locale changes. + +If [i18n component options](injection#i18n) is specified, it’s translated in preferentially local scope locale messages than global scope locale messages. + +If [i18n component options](injection#i18n) isn't specified, it’s translated with global scope locale messages. + +**See Also** +- [Scope and Locale Changing](../../guide/essentials/scope) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys, named: Record<string, unknown>): TranslateResult; + +Locale message translation. + +**Signature:** +```typescript +(key: Key | ResourceKeys, named: Record): TranslateResult; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](legacy#key-key-resourcekeys-translateresult) details. + +**See Also** +- [Named interpolation](../../guide/essentials/syntax#named-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | +| named | Record<string, unknown> | A values of named interpolation | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys, named: NamedValue, plural: number): TranslateResult; + +Locale message translation for named interpolations and plurals + +**Signature:** +```typescript +(key: Key | ResourceKeys, named: NamedValue, plural: number): TranslateResult; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](legacy#key-key-resourcekeys-translateresult) details. + +In this overloaded `t`, for each placeholder x, the locale messages should contain a `{x}` token, and return a pluralized translation message. + +**See Also** +- [Pluralization](../../guide/essentials/pluralization) +- [Named interpolation](../../guide/essentials/syntax#named-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | +| named | NamedValue | A values of named interpolation | +| plural | number | Which plural string to get. 1 returns the first one. | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys, named: NamedValue, defaultMsg: string): TranslateResult; + +Locale message translation for named interpolations and plurals + +**Signature:** +```typescript +(key: Key | ResourceKeys, named: NamedValue, defaultMsg: string): TranslateResult; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](legacy#key-key-resourcekeys-translateresult) details. + +In this overloaded `t`, for each placeholder x, the locale messages should contain a `{x}` token, and if no translation was found, return a default message. + +**See Also** +- [Named interpolation](../../guide/essentials/syntax#named-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | +| named | NamedValue | A values of named interpolation | +| defaultMsg | string | A default message to return if no translation was found | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys, named: NamedValue, options: TranslateOptions<Locales>): TranslateResult; + +Locale message translation for named interpolations + +**Signature:** +```typescript +(key: Key | ResourceKeys, named: NamedValue, options: TranslateOptions): TranslateResult; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](legacy#key-key-resourcekeys-translateresult) details. + +In this overloaded `t`, for each placeholder x, the locale messages should contain a `{x}` token. + +You can also suppress the warning, when the translation missing according to the options. + +About details of options, see the . + +**See Also** +- [Named interpolation](../../guide/essentials/syntax#named-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | +| named | NamedValue | A values of named interpolation | +| options | TranslateOptions<Locales> | Additional for translation | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys, plural: number): TranslateResult; + +Locale message translation for plurals + +**Signature:** +```typescript +(key: Key | ResourceKeys, plural: number): TranslateResult; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](legacy#key-key-resourcekeys-translateresult) details. + +In this overloaded `t`, return a pluralized translation message. + +You can also suppress the warning, when the translation missing according to the options. + +**See Also** +- [Pluralization](../../guide/essentials/pluralization) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | +| plural | number | Which plural string to get. 1 returns the first one. | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys, plural: number, options: TranslateOptions<Locales>): TranslateResult; + +Locale message translation for plurals + +**Signature:** +```typescript +(key: Key | ResourceKeys, plural: number, options: TranslateOptions): TranslateResult; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](legacy#key-key-resourcekeys-translateresult) details. + +In this overloaded `t`, return a pluralized translation message. + +You can also suppress the warning, when the translation missing according to the options. + +About details of options, see the . + +**See Also** +- [Pluralization](../../guide/essentials/pluralization) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | +| plural | number | Which plural string to get. 1 returns the first one. | +| options | TranslateOptions<Locales> | Additional for translation | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys, defaultMsg: string): TranslateResult; + +Locale message translation for missing default message + +**Signature:** +```typescript +(key: Key | ResourceKeys, defaultMsg: string): TranslateResult; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](legacy#key-key-resourcekeys-translateresult) details. + +In this overloaded `t`, if no translation was found, return a default message. + +You can also suppress the warning, when the translation missing according to the options. + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | +| defaultMsg | string | A default message to return if no translation was found | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys, defaultMsg: string, options: TranslateOptions<Locales>): TranslateResult; + +Locale message translation for missing default message + +**Signature:** +```typescript +(key: Key | ResourceKeys, defaultMsg: string, options: TranslateOptions): TranslateResult; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](legacy#key-key-resourcekeys-translateresult) details. + +In this overloaded `t`, if no translation was found, return a default message. + +You can also suppress the warning, when the translation missing according to the options. + +About details of options, see the . + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | +| defaultMsg | string | A default message to return if no translation was found | +| options | TranslateOptions<Locales> | Additional for translation | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys, list: unknown[]): TranslateResult; + +Locale message translation. + +**Signature:** +```typescript +(key: Key | ResourceKeys, list: unknown[]): TranslateResult; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](legacy#key-key-resourcekeys-translateresult) details. + +**See Also** +- [List interpolation](../../guide/essentials/syntax#list-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | +| list | unknown[] | A values of list interpolation | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys, list: unknown[], plural: number): TranslateResult; + +Locale message translation for list interpolations and plurals + +**Signature:** +```typescript +(key: Key | ResourceKeys, list: unknown[], plural: number): TranslateResult; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](legacy#key-key-resourcekeys-translateresult) details. + +In this overloaded `t`, the locale messages should contain a `{0}`, `{1}`, … for each placeholder in the list, and return a pluralized translation message. + +**See Also** +- [Pluralization](../../guide/essentials/pluralization) +- [List interpolation](../../guide/essentials/syntax#list-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | +| list | unknown[] | A values of list interpolation | +| plural | number | Which plural string to get. 1 returns the first one. | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys, list: unknown[], defaultMsg: string): TranslateResult; + +Locale message translation for list interpolations and missing default message + +**Signature:** +```typescript +(key: Key | ResourceKeys, list: unknown[], defaultMsg: string): TranslateResult; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](legacy#key-key-resourcekeys-translateresult) details. + +In this overloaded `t`, the locale messages should contain a `{0}`, `{1}`, … for each placeholder in the list, and if no translation was found, return a default message. + +**See Also** +- [List interpolation](../../guide/essentials/syntax#list-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | +| list | unknown[] | A values of list interpolation | +| defaultMsg | string | A default message to return if no translation was found | + +#### Returns + + Translated message + +### (key: Key | ResourceKeys, list: unknown[], options: TranslateOptions<Locales>): TranslateResult; + +Locale message translation for list interpolations + +**Signature:** +```typescript +(key: Key | ResourceKeys, list: unknown[], options: TranslateOptions): TranslateResult; +``` + +**Details** + +Overloaded `t`. About details, see the [call signature](legacy#key-key-resourcekeys-translateresult) details. + +In this overloaded `t`, the locale messages should contain a `{0}`, `{1}`, … for each placeholder in the list. + +You can also suppress the warning, when the translation missing according to the options. + +About details of options, see the . + +**See Also** +- [List interpolation](../../guide/essentials/syntax#list-interpolation) + +#### Parameters + +| Parameter | Type | Description | +| --- | --- | --- | +| key | Key | ResourceKeys | A target locale message key | +| list | unknown[] | A values of list interpolation | +| options | TranslateOptions<Locales> | Additional for translation | + +#### Returns + + Translated message + +## WarnHtmlInMessageLevel + +**Signature:** +```typescript +export type WarnHtmlInMessageLevel = 'off' | 'warn' | 'error'; +``` + +:::danger DEPRECATED +will be removed at vue-i18n v12 +::: + diff --git a/package.json b/package.json index 1626659f4..06b92e0cb 100644 --- a/package.json +++ b/package.json @@ -55,6 +55,7 @@ "docs:apigen:vue": "api-docs-gen ./temp/vue-i18n-core.api.json -o ./docs/api -c ./docsgen.config.js -g noprefix -t ./tsdoc.json && tail -n +3 ./docs/api/temp.md >> ./docs/api/general.md && rm -rf ./docs/api/temp.md", "docs:apigen:vue:v11": "api-docs-gen ./temp/vue-i18n-core.api.json -o ./docs/api/v11 -c ./docsgen.config.js -g noprefix -t ./tsdoc.json && tail -n +3 ./docs/api/v11/temp.md >> ./docs/api/v11/general.md && rm -rf ./docs/api/v11/temp.md", "docs:build": "pnpm docs:setup && vitepress build docs", + "docs:build2": "pnpm typedoc && vitepress build docs", "docs:dev": "vitepress dev docs", "docs:serve": "vitepress serve docs", "docs:setup": "pnpm build:typed && pnpm docs:apigen", @@ -81,7 +82,8 @@ "test:cover": "pnpm test:unit --coverage", "test:e2e": "cross-env TZ=UTC vitest run -c ./vitest.e2e.config.ts", "test:unit": "cross-env TZ=UTC vitest run -c ./vitest.unit.config.ts --typecheck", - "typecheck": "tsc --noEmit --diagnostics" + "typecheck": "tsc --noEmit --diagnostics", + "typedoc": "typedoc --tsconfig ./tsconfig.typedoc.json --excludeInternal" }, "peerDependencies": { "@microsoft/api-extractor": "7.15.2", @@ -135,8 +137,9 @@ "magic-string": "^0.30.17", "markdown-table": "^3.0.4", "mitata": "^1.0.20", - "oxc-parser": "^0.96.0", - "oxc-transform": "^0.96.0", + "oxc-minify": "^0.98.0", + "oxc-parser": "^0.98.0", + "oxc-transform": "^0.98.0", "picocolors": "^1.0.0", "pkg-pr-new": "^0.0.60", "playwright-core": "^1.45.3", @@ -151,10 +154,13 @@ "tinyexec": "^1.0.1", "tslib": "^2.6.2", "tsx": "^4.20.6", + "typedoc": "^0.28.14", + "typedoc-plugin-markdown": "^4.9.0", + "typedoc-vitepress-theme": "^1.1.2", "typescript": "5.9.3", "typescript-eslint": "^8.46.2", - "vitepress": "1.6.4", - "vitepress-plugin-llms": "^1.1.0", + "vitepress": "^2.0.0-alpha.15", + "vitepress-plugin-llms": "^1.3.4", "vitest": "^4.0.4", "vue": "3.5.24", "vue-i18n": "workspace:*" @@ -162,12 +168,14 @@ "pnpm": { "overrides": { "vite": "^7.1.12", + "vitepress>vite": "npm:rolldown-vite@7.2.7", "vue": "3.6.0-alpha.4" }, "onlyBuiltDependencies": [ "@parcel/watcher", "@swc/core", "esbuild", + "event-loop-stats", "fsevents", "unrs-resolver" ] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff38088ff..b7882f171 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,7 @@ settings: overrides: vite: ^7.1.12 vue: 3.6.0-alpha.4 + vitepress>vite: npm:rolldown-vite@7.2.7 importers: @@ -71,7 +72,7 @@ importers: version: 6.1.4 '@vitest/coverage-v8': specifier: ^4.0.4 - version: 4.0.4(vitest@4.0.4(@types/debug@4.1.12)(@types/node@22.18.12)(jiti@2.6.1)(jsdom@27.2.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + version: 4.0.4(vitest@4.0.4(@types/debug@4.1.12)(@types/node@22.18.12)(jiti@2.6.1)(jsdom@27.2.0)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) api-docs-gen: specifier: ^0.4.0 version: 0.4.0(@types/node@22.18.12) @@ -153,12 +154,15 @@ importers: mitata: specifier: ^1.0.20 version: 1.0.34 + oxc-minify: + specifier: ^0.98.0 + version: 0.98.0 oxc-parser: - specifier: ^0.96.0 - version: 0.96.0 + specifier: ^0.98.0 + version: 0.98.0 oxc-transform: - specifier: ^0.96.0 - version: 0.96.0 + specifier: ^0.98.0 + version: 0.98.0 picocolors: specifier: ^1.0.0 version: 1.1.1 @@ -201,6 +205,15 @@ importers: tsx: specifier: ^4.20.6 version: 4.20.6 + typedoc: + specifier: ^0.28.14 + version: 0.28.14(typescript@5.9.3) + typedoc-plugin-markdown: + specifier: ^4.9.0 + version: 4.9.0(typedoc@0.28.14(typescript@5.9.3)) + typedoc-vitepress-theme: + specifier: ^1.1.2 + version: 1.1.2(typedoc-plugin-markdown@4.9.0(typedoc@0.28.14(typescript@5.9.3))) typescript: specifier: 5.9.3 version: 5.9.3 @@ -208,14 +221,14 @@ importers: specifier: ^8.46.2 version: 8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3) vitepress: - specifier: 1.6.4 - version: 1.6.4(@algolia/client-search@5.40.1)(@types/node@22.18.12)(change-case@5.4.4)(jiti@2.6.1)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1) + specifier: ^2.0.0-alpha.15 + version: 2.0.0-alpha.15(@types/node@22.18.12)(change-case@5.4.4)(esbuild@0.25.11)(jiti@2.6.1)(oxc-minify@0.98.0)(postcss@8.5.6)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1) vitepress-plugin-llms: - specifier: ^1.1.0 + specifier: ^1.3.4 version: 1.8.0 vitest: specifier: ^4.0.4 - version: 4.0.4(@types/debug@4.1.12)(@types/node@22.18.12)(jiti@2.6.1)(jsdom@27.2.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 4.0.4(@types/debug@4.1.12)(@types/node@22.18.12)(jiti@2.6.1)(jsdom@27.2.0)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue: specifier: 3.6.0-alpha.4 version: 3.6.0-alpha.4(typescript@5.9.3) @@ -246,7 +259,7 @@ importers: version: 4.17.23 '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) body-parser: specifier: ^1.20.3 version: 1.20.3 @@ -264,7 +277,7 @@ importers: version: 5.8.3 vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue-tsc: specifier: ^3.0.7 version: 3.1.2(typescript@5.8.3) @@ -286,13 +299,13 @@ importers: version: 11.0.1(@vue/compiler-dom@3.5.22)(eslint@9.39.1(jiti@2.6.1))(rollup@4.52.5)(typescript@5.8.3)(vue-i18n@11.1.12(vue@3.6.0-alpha.4(typescript@5.8.3)))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) typescript: specifier: ^5.0.2 version: 5.8.3 vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue-tsc: specifier: ^3.0.7 version: 3.1.2(typescript@5.8.3) @@ -354,7 +367,7 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@vue/tsconfig': specifier: ^0.8.1 version: 0.8.1(typescript@5.8.3)(vue@3.6.0-alpha.4(typescript@5.8.3)) @@ -363,7 +376,7 @@ importers: version: 5.8.3 vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue-tsc: specifier: ^3.0.7 version: 3.1.2(typescript@5.8.3) @@ -388,10 +401,10 @@ importers: version: 11.0.1(@vue/compiler-dom@3.5.22)(eslint@9.39.1(jiti@2.6.1))(rollup@4.52.5)(typescript@5.9.3)(vue-i18n@packages+vue-i18n)(vue@3.6.0-alpha.4(typescript@5.9.3)) '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3)) + version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3)) '@vitejs/plugin-vue-jsx': specifier: ^5.1.1 - version: 5.1.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3)) + version: 5.1.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3)) compression: specifier: ^1.7.4 version: 1.8.1 @@ -412,7 +425,7 @@ importers: version: 1.16.2 vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) examples/ssr/vite/dep-import-type: {} @@ -422,7 +435,7 @@ importers: dependencies: vitepress: specifier: ^1.6.4 - version: 1.6.4(@algolia/client-search@5.40.1)(@types/node@22.18.12)(change-case@5.4.4)(jiti@2.6.1)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.1) + version: 1.6.4(@algolia/client-search@5.40.1)(@types/node@22.18.12)(change-case@5.4.4)(esbuild@0.25.11)(jiti@2.6.1)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.1) vue-i18n: specifier: workspace:* version: link:../../../packages/vue-i18n @@ -463,7 +476,7 @@ importers: version: 8.6.14(storybook@8.6.14(prettier@3.5.3))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@storybook/vue3-vite': specifier: ^8.6.12 - version: 8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + version: 8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@tsconfig/node22': specifier: ^22.0.1 version: 22.0.2 @@ -472,7 +485,7 @@ importers: version: 22.18.12 '@vitejs/plugin-vue': specifier: ^5.2.3 - version: 5.2.4(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + version: 5.2.4(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@vue/eslint-config-prettier': specifier: ^10.2.0 version: 10.2.0(@types/eslint@9.6.1)(eslint@9.38.0(jiti@2.6.1))(prettier@3.5.3) @@ -508,10 +521,10 @@ importers: version: 5.8.3 vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vite-plugin-vue-devtools: specifier: ^7.7.2 - version: 7.7.7(rollup@4.52.5)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + version: 7.7.7(rollup@4.52.5)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) vue-tsc: specifier: ^2.2.8 version: 2.2.12(typescript@5.8.3) @@ -527,10 +540,10 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@vitejs/plugin-vue-jsx': specifier: ^5.1.1 - version: 5.1.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + version: 5.1.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@vue/compiler-sfc': specifier: ^3.3.4 version: 3.5.22 @@ -542,7 +555,7 @@ importers: version: 5.8.3 vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue-tsc: specifier: ^3.0.7 version: 3.1.2(typescript@5.8.3) @@ -558,7 +571,7 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@vue/compiler-sfc': specifier: ^3.3.4 version: 3.5.22 @@ -570,7 +583,7 @@ importers: version: 5.8.3 vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue-tsc: specifier: ^3.0.7 version: 3.1.2(typescript@5.8.3) @@ -586,7 +599,7 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@vue/compiler-sfc': specifier: ^3.3.4 version: 3.5.22 @@ -598,7 +611,7 @@ importers: version: 5.8.3 vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue-tsc: specifier: ^3.0.7 version: 3.1.2(typescript@5.8.3) @@ -617,7 +630,7 @@ importers: version: 11.0.1(@vue/compiler-dom@3.5.22)(eslint@9.39.1(jiti@2.6.1))(rollup@4.52.5)(typescript@5.8.3)(vue-i18n@11.1.12(vue@3.6.0-alpha.4(typescript@5.8.3)))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@vitejs/plugin-vue': specifier: ^6.0.1 - version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@vue/tsconfig': specifier: ^0.8.1 version: 0.8.1(typescript@5.8.3)(vue@3.6.0-alpha.4(typescript@5.8.3)) @@ -626,7 +639,7 @@ importers: version: 5.8.3 vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue-tsc: specifier: ^3.0.7 version: 3.1.2(typescript@5.8.3) @@ -676,13 +689,13 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^6.0.0 - version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3)) + version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3)) '@vue/compiler-sfc': specifier: ^3.3.4 version: 3.5.22 vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue-tsc: specifier: ^3.0.0 version: 3.1.2(typescript@5.9.3) @@ -728,7 +741,7 @@ importers: devDependencies: vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) packages/size-check-petite-vue-i18n: dependencies: @@ -741,13 +754,13 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^6.0.0 - version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3)) + version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3)) '@vue/compiler-sfc': specifier: ^3.3.4 version: 3.5.22 vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue-tsc: specifier: ^3.0.0 version: 3.1.2(typescript@5.9.3) @@ -763,13 +776,13 @@ importers: devDependencies: '@vitejs/plugin-vue': specifier: ^6.0.0 - version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3)) + version: 6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3)) '@vue/compiler-sfc': specifier: ^3.3.4 version: 3.5.22 vite: specifier: ^7.1.12 - version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + version: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue-tsc: specifier: ^3.0.0 version: 3.1.2(typescript@5.9.3) @@ -1119,9 +1132,15 @@ packages: '@docsearch/css@3.8.2': resolution: {integrity: sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==} + '@docsearch/css@4.3.2': + resolution: {integrity: sha512-K3Yhay9MgkBjJJ0WEL5MxnACModX9xuNt3UlQQkDEDZJZ0+aeWKtOkxHNndMRkMBnHdYvQjxkm6mdlneOtU1IQ==} + '@docsearch/js@3.8.2': resolution: {integrity: sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==} + '@docsearch/js@4.3.2': + resolution: {integrity: sha512-xdfpPXMgKRY9EW7U1vtY7gLKbLZFa9ed+t0Dacquq8zXBqAlH9HlUf0h4Mhxm0xatsVeMaIR2wr/u6g0GsZyQw==} + '@docsearch/react@3.8.2': resolution: {integrity: sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==} peerDependencies: @@ -1407,6 +1426,9 @@ packages: '@formatjs/intl-localematcher@0.6.2': resolution: {integrity: sha512-XOMO2Hupl0wdd172Y06h6kLpBz6Dv+J4okPLl4LPtzbr8f66WbIoy4ev98EBuZ6ZK4h5ydTN6XneT4QVpD7cdA==} + '@gerrit0/mini-shiki@3.15.0': + resolution: {integrity: sha512-L5IHdZIDa4bG4yJaOzfasOH/o22MCesY0mx+n6VATbaiCtMeR59pdRqYk4bEiQkIHfxsHPNgdi7VJlZb2FhdMQ==} + '@html-eslint/eslint-plugin@0.49.0': resolution: {integrity: sha512-+a1XZnp/gWer4CLd6hgR/dC9R3ew4ozSag4J4KSlHB4haYiCtOcT1vnIFDnqs9bWsJhROtjFHkGwRYsyPH76XA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1444,6 +1466,9 @@ packages: '@iconify-json/simple-icons@1.2.55': resolution: {integrity: sha512-9vc04pmup/zcef8hDypWU8nMwMaFVkWuUzWkxyL++DVp5AA8baoJHK6RyKN1v+cvfR2agxkUb053XVggzFFkTA==} + '@iconify-json/simple-icons@1.2.59': + resolution: {integrity: sha512-fYx/InyQsWFW4wVxWka3CGDJ6m/fXoTqWBSl+oA3FBXO5RhPAb6S3Y5bRgCPnrYevErH8VjAL0TZevIqlN2PhQ==} + '@iconify/types@2.0.0': resolution: {integrity: sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==} @@ -1487,6 +1512,10 @@ packages: resolution: {integrity: sha512-Om86EjuQtA69hdNj3GQec9ZC0L0vPSAnXzB3gP/gyJ7+mA7t06d9aOAiqMZ+xEOsumGP4eEBlfl8zF2LOTzf2A==} engines: {node: '>= 16'} + '@intlify/shared@11.2.1': + resolution: {integrity: sha512-O67LZM4dbfr70WCsZLW+g+pIXdgQ66laLVd/FicW7iYgP/RuH0X1FDGSh+Hr9Gou/8TeldUE6KmTGdLwX2ufIA==} + engines: {node: '>= 16'} + '@intlify/shared@9.14.5': resolution: {integrity: sha512-9gB+E53BYuAEMhbCAxVgG38EZrk59sxBtv3jSizNL2hEWlgjBjAw1AwpLHtNaeda12pe6W20OGEa0TwuMSRbyQ==} engines: {node: '>= 16'} @@ -1817,107 +1846,203 @@ packages: '@octokit/types@13.10.0': resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==} - '@oxc-parser/binding-android-arm64@0.96.0': - resolution: {integrity: sha512-CofbPOiW1PG+hi8bgElJPK0ioHfw8nt4Vw9d+Q9JuMhygS6LbQyu1W6tIFZ1OPFofeFRdWus3vD29FBx+tvFOA==} + '@oxc-minify/binding-android-arm64@0.98.0': + resolution: {integrity: sha512-fQ9zAfwQvQE+FboIU7dgeDTOBGNQhV8xafXlyhay3jFjOcjqnvokWE1pcJSIRnhaVxahTXzMYvYJzizqWvluhQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [android] + + '@oxc-minify/binding-darwin-arm64@0.98.0': + resolution: {integrity: sha512-0cwHg1aHGbf8FtR69luAD9Fd7WJr2HyDO12aUC5mQCPdOmfMPFQYYlaziZhyt3gVcgzSq+988GQtDGtcJNU2ow==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [darwin] + + '@oxc-minify/binding-darwin-x64@0.98.0': + resolution: {integrity: sha512-kftNK3NyfzPMSJduFU1B0ntVnMlr4zOjzVztJHyalelSi86UpItSCNu+GH9sYGc6WE2qd6r8gXokQqd0Vi4QQQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [darwin] + + '@oxc-minify/binding-freebsd-x64@0.98.0': + resolution: {integrity: sha512-rf3KZNYs4Wk4eQgyT2rjaYXs3/UBgCeM+13iNiUl0sbgMT2OuP63Wb7A/ICbaPaCcoA9cXJA1Y84SPM2vPTkCQ==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [freebsd] + + '@oxc-minify/binding-linux-arm-gnueabihf@0.98.0': + resolution: {integrity: sha512-Dtw9jkzssB2JbZ4Q9lZCfrl9r8r2Q60QABNQaIcpDILDoD4yk3GivOhjSuf3vQCYRlvHjPUmLmazZxaNuRK/Jg==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-minify/binding-linux-arm-musleabihf@0.98.0': + resolution: {integrity: sha512-gKgjKnHQLvEZqIPvp2D4AxFjtHDwEmNoNcfg6WePhkzNO7ud8M3F1x60GMKn6Nb/8CX2Y67GVISs+xivzYPo1A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm] + os: [linux] + + '@oxc-minify/binding-linux-arm64-gnu@0.98.0': + resolution: {integrity: sha512-0TYQjHk/bzxo/Q0oF0BVM2bs4mIoTS7ee+m+r1B6QxMdmENMq1Q1EKgiGnwvhIu07srJJdJBYJoScaXbssmExA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@oxc-minify/binding-linux-arm64-musl@0.98.0': + resolution: {integrity: sha512-TOGEzv2tr/lGttB6MIYExXdkMxWDVUqxFcu4AQ25e/Jk0kq5IVyDNmLfKzUin5r/1nmOJEpuBeS3xq0VPmtU7A==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@oxc-minify/binding-linux-riscv64-gnu@0.98.0': + resolution: {integrity: sha512-zTyb36zh3s2ZDwRP3c5VEs2aS+CECXmpmgEWds+1bawELuueozsr455lqDE1qNcIMUS/AxeX9DCE4vM+LHYHfw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [riscv64] + os: [linux] + libc: [glibc] + + '@oxc-minify/binding-linux-s390x-gnu@0.98.0': + resolution: {integrity: sha512-UafNlOq0Uy/PmfkMuSWSpBAW+55QlGny1ysLMK1D6l2xC8SjFTheWHVjQVChHhgKFZxT1NypV/cbTQyh06mAYA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@oxc-minify/binding-linux-x64-gnu@0.98.0': + resolution: {integrity: sha512-P/9krmxwtLbxdT339jEm4XUHUFMN4lzjqqvGwBug6NxPvN1sppSl06CNXzHQ6H7/oSftZIyAmsOaLWknhm30uw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@oxc-minify/binding-linux-x64-musl@0.98.0': + resolution: {integrity: sha512-XpbZ15Lm3eFg8+VLAKgTmu+9VVMb7B2Cz6LOGd0EqMwPYaC+I84O8RM55/vU1fSH58BZByOnjeVWf4RPOSz7UA==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [linux] + libc: [musl] + + '@oxc-minify/binding-wasm32-wasi@0.98.0': + resolution: {integrity: sha512-VVNRbDWHZ7+Viv14Vy1y2yutOzLdivtVKKtcSt+xFSoS2wDhkn0KtRMnNTBVUnxjYqkwrDaDfcqhez5jA5bAUA==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + + '@oxc-minify/binding-win32-arm64-msvc@0.98.0': + resolution: {integrity: sha512-i0hcvKlWa8CcBDo8BGjKSkmWOPWcdvQXNwpYjMeuTIyzUEhstDC35us9pmhqOwnBDgIJfSPcjFMGA32W8VbKWw==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [arm64] + os: [win32] + + '@oxc-minify/binding-win32-x64-msvc@0.98.0': + resolution: {integrity: sha512-ts2pD2yf+92hiJYEitsq0XmidmZCyEmKWTDCoGezBZtNmEXovnKOUjQq6bruJrUnxxCBKDo8+S74g4wMziO2Ww==} + engines: {node: ^20.19.0 || >=22.12.0} + cpu: [x64] + os: [win32] + + '@oxc-parser/binding-android-arm64@0.98.0': + resolution: {integrity: sha512-/4S2BATZLxH94smwxLSvQsnzYjtyh/0mekgMnK/efCaU+92VNYir4+HOs/dvspYsWUooxPvj+AkwRUsLk9IuSg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxc-parser/binding-darwin-arm64@0.96.0': - resolution: {integrity: sha512-+HZ2L1a/1BsUXYik8XqQwT2Tl5Z3jRQ/RRQiPV9UsB2skKyd91NLDlQlMpdhjLGs9Qe7Y42unFjRg2iHjIiwnw==} + '@oxc-parser/binding-darwin-arm64@0.98.0': + resolution: {integrity: sha512-joNn+2n+TrDJ79GlwR32LK1gctKIxvSJm93teROFiYEde0Dhq9IZpnxiX9ctw4R2zwmSTf1yistTXIR84UGGDQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxc-parser/binding-darwin-x64@0.96.0': - resolution: {integrity: sha512-GC8wH1W0XaCLyTeGsmyaMdnItiYQkqfTcn9Ygc55AWI+m11lCjQeoKDIsDCm/QwrKLCN07u3WWWsuPs5ubfXpA==} + '@oxc-parser/binding-darwin-x64@0.98.0': + resolution: {integrity: sha512-FUVDRGkMpx41bJI+seN57vmkwOp2uSATrU7e3mEjyP6lWTCvJWmD20/fxaXRY/Kh0xHvy1KBn4jPyKoK1ya/cg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxc-parser/binding-freebsd-x64@0.96.0': - resolution: {integrity: sha512-8SeXi2FmlN15uPY5oM03cua5RXBDYmY34Uewongv6RUiAaU/kWxLvzuijpyNC+yQ1r4fC2LbWJhAsKpX5qkA6g==} + '@oxc-parser/binding-freebsd-x64@0.98.0': + resolution: {integrity: sha512-2ysH/IYALz2mDCnqu0xmJ/s0u2f+LZtDOaTkLhwTSQrLOqK4Pr3n4n564Jd1pxNabr07pAMUvBjQNzvWrKfmOg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxc-parser/binding-linux-arm-gnueabihf@0.96.0': - resolution: {integrity: sha512-UEs+Zf6T2/FwQlLgv7gfZsKmY19sl3hK57r2BQVc2eCmCmF/deeqDcWyFjzkNLgdDDucY60PoNhNGClDm605uQ==} + '@oxc-parser/binding-linux-arm-gnueabihf@0.98.0': + resolution: {integrity: sha512-7wwkjeCGzGP9gzmJcHyUDT67MP5szMvjlJs3VvWzGaPiQPaMnWzRpuLkycPlslT5/ch8j+rZm2vByPIKz6cIuw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-musleabihf@0.96.0': - resolution: {integrity: sha512-1kuWvjR2+ORJMoyxt9LSbLcDhXZnL25XOuv9VmH6NmSPvLgewzuubSlm++W03x+U7SzWFilBsdwIHtD/0mjERw==} + '@oxc-parser/binding-linux-arm-musleabihf@0.98.0': + resolution: {integrity: sha512-p93J3cNgVCiCcshXiaq+A+bws8AH0h5LmoEKtt1rJHkZH3uY3dEuuh/3T7arMd+mStVsBM8h+PQ2V/0MyI0rUw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm64-gnu@0.96.0': - resolution: {integrity: sha512-PHH4ETR1t0fymxuhpQNj3Z9t/78/zZa2Lj3Z3I0ZOd+/Ex+gtdhGoB5xYyy7lcYGAPMfZ+Gmr+dTCr1GYNZ3BA==} + '@oxc-parser/binding-linux-arm64-gnu@0.98.0': + resolution: {integrity: sha512-wiIHSaNbAj7F8Ac5BERGJq2dSy+abNrZILY7s8PNK2VdwWXhfBSeRV+wUt3tC9zdsrvmRaLAUiM9IaRHEwKWsw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-arm64-musl@0.96.0': - resolution: {integrity: sha512-fjDPbZjkqaDSTBe0FM8nZ9zBw4B/NF/I0gH7CfvNDwIj9smISaNFypYeomkvubORpnbX9ORhvhYwg3TxQ60OGA==} + '@oxc-parser/binding-linux-arm64-musl@0.98.0': + resolution: {integrity: sha512-Z/PBmbYZ+uBxqiKr3FGvg45rUr52FZQed26gJZZWFLt7a7l3AbfAL9bxUG5a+HiDC9+sDZrezJbjSRmTlPPg7Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-riscv64-gnu@0.96.0': - resolution: {integrity: sha512-59KAHd/6/LmjkdSAuJn0piKmwSavMasWNUKuYLX/UnqI5KkGIp14+LBwwaBG6KzOtIq1NrRCnmlL4XSEaNkzTg==} + '@oxc-parser/binding-linux-riscv64-gnu@0.98.0': + resolution: {integrity: sha512-H4i91pTgQlCWmbVTye2YH0mgSw3YYf5vyJtCzk18IHtSRaYJ6QokyIkXAMStQv5iMBg6CibEKTv3/1vlemW5/g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-s390x-gnu@0.96.0': - resolution: {integrity: sha512-VtupojtgahY8XmLwpVpM3C1WQEgMD1JxpB8lzUtdSLwosWaaz1EAl+VXWNuxTTZusNuLBtmR+F0qql22ISi/9g==} + '@oxc-parser/binding-linux-s390x-gnu@0.98.0': + resolution: {integrity: sha512-yNS5u0/K4Zyi7f43mvqMogXe9GedllLWGEwW6btp/sQce7GnGbMV6oDRiDs0C6UlnJMbctEU6qM4LsNkEobCSg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-x64-gnu@0.96.0': - resolution: {integrity: sha512-8XSY9aUYY+5I4I1mhSEWmYqdUrJi3J5cCAInvEVHyTnDAPkhb+tnLGVZD696TpW+lFOLrTFF2V5GMWJVafqIUA==} + '@oxc-parser/binding-linux-x64-gnu@0.98.0': + resolution: {integrity: sha512-gmljgOLJvPljYk4pDxglK9Zg/dYrdnwIINYnNyMmEMl9/5Xn7MoJIR9QN52Vh+Fyq09ftDH89R3R2ef57MRKKw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-x64-musl@0.96.0': - resolution: {integrity: sha512-IIVNtqhA0uxKkD8Y6aZinKO/sOD5O62VlduE54FnUU2rzZEszrZQLL8nMGVZhTdPaKW5M1aeLmjcdnOs6er1Jg==} + '@oxc-parser/binding-linux-x64-musl@0.98.0': + resolution: {integrity: sha512-zcD9b22Mb1/JsU3nCMGboiFZPFLtqNzViaQoPlN6ceDNejt4SsRDlChmLs/u6PluYn1V1SrvAThx1Skq2esD/A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxc-parser/binding-wasm32-wasi@0.96.0': - resolution: {integrity: sha512-TJ/sNPbVD4u6kUwm7sDKa5iRDEB8vd7ZIMjYqFrrAo9US1RGYOSvt6Ie9sDRekUL9fZhNsykvSrpmIj6dg/C2w==} + '@oxc-parser/binding-wasm32-wasi@0.98.0': + resolution: {integrity: sha512-vp2OlfPGYMudNlDLL5+UJPPRn/RUI2VMFhKBnpC+nuAOz69IOf70ajwDATw+9jc8vVftuDzn06u+XTWJZGkGvQ==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-parser/binding-win32-arm64-msvc@0.96.0': - resolution: {integrity: sha512-zCOhRB7MYVIHLj+2QYoTuLyaipiD8JG/ggUjfsMUaupRPpvwQNhsxINLIcTcb0AS+OsT7/OREhydjO74STqQzQ==} + '@oxc-parser/binding-win32-arm64-msvc@0.98.0': + resolution: {integrity: sha512-2SJI5E46/lBknEsTtxzFvlyUWAWBs6hSYbj46uIBfNpnLbF/lqo3ekuk1w5evEJjZdgYk7ayDSaRE1bm+7XUaw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxc-parser/binding-win32-x64-msvc@0.96.0': - resolution: {integrity: sha512-J6zfx9TE0oS+TrqBUjMVMOi/d/j3HMj69Pip263pETOEPm788N0HXKPsc2X2jUfSTHzD9vmdjq0QFymbf2LhWg==} + '@oxc-parser/binding-win32-x64-msvc@0.98.0': + resolution: {integrity: sha512-o5PfFt85u0nx2VLiKr2e+8j7kN4WaQR5sUTMZv2X0SOXfsLmmvr7DldQTeV/uWWLi0kFw0qpekKLBheHK1V2tA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] + '@oxc-project/runtime@0.98.0': + resolution: {integrity: sha512-F0ldlBv2orG2YqNL0w77deq9yCaO4zEHbanGnW/jaJxGBR8ImekvZb8x42zAHvdzr8J76psibijvHtXfSjbEIQ==} + engines: {node: ^20.19.0 || >=22.12.0} + '@oxc-project/types@0.95.0': resolution: {integrity: sha512-vACy7vhpMPhjEJhULNxrdR0D943TkA/MigMpJCHmBHvMXxRStRi/dPtTlfQ3uDwWSzRpT8z+7ImjZVf8JWBocQ==} - '@oxc-project/types@0.96.0': - resolution: {integrity: sha512-r/xkmoXA0xEpU6UGtn18CNVjXH6erU3KCpCDbpLmbVxBFor1U9MqN5Z2uMmCHJuXjJzlnDR+hWY+yPoLo8oHDw==} - '@oxc-project/types@0.98.0': resolution: {integrity: sha512-Vzmd6FsqVuz5HQVcRC/hrx7Ujo3WEVeQP7C2UNP5uy1hUY4SQvMB+93jxkI1KRHz9a/6cni3glPOtvteN+zpsw==} @@ -2024,97 +2149,97 @@ packages: cpu: [x64] os: [win32] - '@oxc-transform/binding-android-arm64@0.96.0': - resolution: {integrity: sha512-wOm+ZsqFvyZ7B9RefUMsj0zcXw77Z2pXA51nbSQyPXqr+g0/pDGxriZWP8Sdpz/e4AEaKPA9DvrwyOZxu7GRDQ==} + '@oxc-transform/binding-android-arm64@0.98.0': + resolution: {integrity: sha512-QSvm4pd3wLUA6YBiQozT8EGCb2qQeO3Osb6VWcgpyWG41RErV4EHFVFkG2Ukw5lrHF5qDnb41w97BPblmokl/w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxc-transform/binding-darwin-arm64@0.96.0': - resolution: {integrity: sha512-td1sbcvzsyuoNRiNdIRodPXRtFFwxzPpC/6/yIUtRRhKn30XQcizxupIvQQVpJWWchxkphbBDh6UN+u+2CJ8Zw==} + '@oxc-transform/binding-darwin-arm64@0.98.0': + resolution: {integrity: sha512-y+AuTFZ267EbaG9eMMTEQFTqcQdy+QvhlTeqzlb1o0exUiQ5S+0poPkuDs9rCV1rA26xHZIZ/Mn3yZ0UIVVylQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxc-transform/binding-darwin-x64@0.96.0': - resolution: {integrity: sha512-xgqxnqhPYH2NYkgbqtnCJfhbXvxIf/pnhF/ig5UBK8PYpCEWIP/cfLpQRQ9DcQnRfuxi7RMIF6LdmB1AiS6Fkg==} + '@oxc-transform/binding-darwin-x64@0.98.0': + resolution: {integrity: sha512-hlGweAypNLl5jAiVQeCZQgWZzgNvb5Ey9CYJj48xpVCXivzYJQjPz0CbjKAqUy4hiWJqSSzrZpjcUModODBDXw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxc-transform/binding-freebsd-x64@0.96.0': - resolution: {integrity: sha512-1i67OXdl/rvSkcTXqDlh6qGRXYseEmf0rl/R+/i88scZ/o3A+FzlX56sThuaPzSSv9eVgesnoYUjIBJELFc1oA==} + '@oxc-transform/binding-freebsd-x64@0.98.0': + resolution: {integrity: sha512-Ar2Lw3XParxMSdmCTv9EziDh9C2vaMf2iwfzM5GEiNUrPpC52i0OUtnDEts3NdgpBgyWaPFpJfCufLTLDQhCuA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxc-transform/binding-linux-arm-gnueabihf@0.96.0': - resolution: {integrity: sha512-9MJBs0SWODsqyzO3eAnacXgJ/sZu1xqinjEwBzkcZ3tQI8nKhMADOzu2NzbVWDWujeoC8DESXaO08tujvUru+Q==} + '@oxc-transform/binding-linux-arm-gnueabihf@0.98.0': + resolution: {integrity: sha512-VoBLB1IdseTxXm5dXieTFNB29gjLuXH84oykhSXE0wyr3bTSbEPLfdTGdJP1hAepcJ/plSQlDIXajx5ByuXEDQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-transform/binding-linux-arm-musleabihf@0.96.0': - resolution: {integrity: sha512-BQom57I2ScccixljNYh2Wy+5oVZtF1LXiiUPxSLtDHbsanpEvV/+kzCagQpTjk1BVzSQzOxfEUWjvL7mY53pRQ==} + '@oxc-transform/binding-linux-arm-musleabihf@0.98.0': + resolution: {integrity: sha512-Ix1TSJBtzEHWzXLM/qHeZcnSSnFPfzOUvvF6IAPd50eAKZrKh7RsDDwBbEsKxKex8DMWnYvN03uSBAueU+r7tw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-transform/binding-linux-arm64-gnu@0.96.0': - resolution: {integrity: sha512-kaqvUzNu8LL4aBSXqcqGVLFG13GmJEplRI2+yqzkgAItxoP/LfFMdEIErlTWLGyBwd0OLiNMHrOvkcCQRWadVg==} + '@oxc-transform/binding-linux-arm64-gnu@0.98.0': + resolution: {integrity: sha512-vbRO3WC8aPuEf3XCdnxGHC9mdfb3PNr/fvw9VjZYCHJEJCmOnbigjGpl4nF5kXD7yaecVzbxAu7oP7DI4x58Cg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-transform/binding-linux-arm64-musl@0.96.0': - resolution: {integrity: sha512-EiG/L3wEkPgTm4p906ufptyblBgtiQWTubGg/JEw82f8uLRroayr5zhbUqx40EgH037a3SfJthIyLZi7XPRFJw==} + '@oxc-transform/binding-linux-arm64-musl@0.98.0': + resolution: {integrity: sha512-D0NMh0ZmIiF7QMgCfOxA5bgMUbhFlYnP4lZyhujSBn+KCLKzfwXIRP8y9K+hrRAwKTKJklh0zm9yJec6FQsXug==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxc-transform/binding-linux-riscv64-gnu@0.96.0': - resolution: {integrity: sha512-r01CY6OxKGtVeYnvH4mGmtkQMlLkXdPWWNXwo5o7fE2s/fgZPMpqh8bAuXEhuMXipZRJrjxTk1+ZQ4KCHpMn3Q==} + '@oxc-transform/binding-linux-riscv64-gnu@0.98.0': + resolution: {integrity: sha512-AIa9agE28pgFjWdB1c3WGuYWWxd9hNBNfkBjOxBzQqh0/jp4QuPS89lRvU8bfRxKme2U5bgtTK/OMpqDlQOmFw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-transform/binding-linux-s390x-gnu@0.96.0': - resolution: {integrity: sha512-4djg2vYLGbVeS8YiA2K4RPPpZE4fxTGCX5g/bOMbCYyirDbmBAIop4eOAj8vOA9i1CcWbDtmp+PVJ1dSw7f3IQ==} + '@oxc-transform/binding-linux-s390x-gnu@0.98.0': + resolution: {integrity: sha512-Xuhm/aN2/aj3RyRMl6ewaTHLHdGSbrtPGbkEievZ9PYgOgMyWJc/QrWwFKj7Y2JxgOyF5xCYGD4ugYmiUtF+Jg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-transform/binding-linux-x64-gnu@0.96.0': - resolution: {integrity: sha512-f6pcWVz57Y8jXa2OS7cz3aRNuks34Q3j61+3nQ4xTE8H1KbalcEvHNmM92OEddaJ8QLs9YcE0kUC6eDTbY34+A==} + '@oxc-transform/binding-linux-x64-gnu@0.98.0': + resolution: {integrity: sha512-QFPmI40hyGlU/ehirCsRofpN5/ErUc6ZA9u3B6SsIQN2sY1yX7Orje/5HcyWaJtc9mjItlJeGcqAjrhnk6zTrQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxc-transform/binding-linux-x64-musl@0.96.0': - resolution: {integrity: sha512-NSiRtFvR7Pbhv3mWyPMkTK38czIjcnK0+K5STo3CuzZRVbX1TM17zGdHzKBUHZu7v6IQ6/XsQ3ELa1BlEHPGWQ==} + '@oxc-transform/binding-linux-x64-musl@0.98.0': + resolution: {integrity: sha512-S9fh6/+qf6Rrn+Db0QBJencQXt/6tFAnUk9ctEAjea1zrTr4Ykc5/Ps68Yl4q4k6pd97gC5q5A/csCs4mN3Svg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxc-transform/binding-wasm32-wasi@0.96.0': - resolution: {integrity: sha512-A91ARLiuZHGN4hBds9s7bW3czUuLuHLsV+cz44iF9j8e1zX9m2hNGXf/acQRbg/zcFUXmjz5nmk8EkZyob876w==} + '@oxc-transform/binding-wasm32-wasi@0.98.0': + resolution: {integrity: sha512-aGogNfRPf0+MBivq4X+yvBbkywG2H+Ejr604P6Q1ZPtM2W2HG5f2JHNvNei2zE5QRP9CB2Go8vaGQSQ5H98a/g==} engines: {node: '>=14.0.0'} cpu: [wasm32] - '@oxc-transform/binding-win32-arm64-msvc@0.96.0': - resolution: {integrity: sha512-IedJf40djKgDObomhYjdRAlmSYUEdfqX3A3M9KfUltl9AghTBBLkTzUMA7O09oo71vYf5TEhbFM7+Vn5vqw7AQ==} + '@oxc-transform/binding-win32-arm64-msvc@0.98.0': + resolution: {integrity: sha512-lEr5iO6ou91mzxkbGp3brpQ0bIFS0WWURKNIdShkH4q4qUW4GdW8AHEeCX4ZiZdJk+gsduk6jrvYajo1jGCDxg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxc-transform/binding-win32-x64-msvc@0.96.0': - resolution: {integrity: sha512-0fI0P0W7bSO/GCP/N5dkmtB9vBqCA4ggo1WmXTnxNJVmFFOtcA1vYm1I9jl8fxo+sucW2WnlpnI4fjKdo3JKxA==} + '@oxc-transform/binding-win32-x64-msvc@0.98.0': + resolution: {integrity: sha512-KEfME/+uceR1M5WhqHXrlDzt9GuSK4+XgaMdrqPxOlcs6GKbUKKupysor3Ftu1csL2ihTVUkeveXyhiRqc+T9A==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] @@ -2611,24 +2736,45 @@ packages: '@shikijs/core@2.5.0': resolution: {integrity: sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==} + '@shikijs/core@3.15.0': + resolution: {integrity: sha512-8TOG6yG557q+fMsSVa8nkEDOZNTSxjbbR8l6lF2gyr6Np+jrPlslqDxQkN6rMXCECQ3isNPZAGszAfYoJOPGlg==} + '@shikijs/engine-javascript@2.5.0': resolution: {integrity: sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==} + '@shikijs/engine-javascript@3.15.0': + resolution: {integrity: sha512-ZedbOFpopibdLmvTz2sJPJgns8Xvyabe2QbmqMTz07kt1pTzfEvKZc5IqPVO/XFiEbbNyaOpjPBkkr1vlwS+qg==} + '@shikijs/engine-oniguruma@2.5.0': resolution: {integrity: sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==} + '@shikijs/engine-oniguruma@3.15.0': + resolution: {integrity: sha512-HnqFsV11skAHvOArMZdLBZZApRSYS4LSztk2K3016Y9VCyZISnlYUYsL2hzlS7tPqKHvNqmI5JSUJZprXloMvA==} + '@shikijs/langs@2.5.0': resolution: {integrity: sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==} + '@shikijs/langs@3.15.0': + resolution: {integrity: sha512-WpRvEFvkVvO65uKYW4Rzxs+IG0gToyM8SARQMtGGsH4GDMNZrr60qdggXrFOsdfOVssG/QQGEl3FnJ3EZ+8w8A==} + '@shikijs/themes@2.5.0': resolution: {integrity: sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==} + '@shikijs/themes@3.15.0': + resolution: {integrity: sha512-8ow2zWb1IDvCKjYb0KiLNrK4offFdkfNVPXb1OZykpLCzRU6j+efkY+Y7VQjNlNFXonSw+4AOdGYtmqykDbRiQ==} + '@shikijs/transformers@2.5.0': resolution: {integrity: sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==} + '@shikijs/transformers@3.15.0': + resolution: {integrity: sha512-Hmwip5ovvSkg+Kc41JTvSHHVfCYF+C8Cp1omb5AJj4Xvd+y9IXz2rKJwmFRGsuN0vpHxywcXJ1+Y4B9S7EG1/A==} + '@shikijs/types@2.5.0': resolution: {integrity: sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==} + '@shikijs/types@3.15.0': + resolution: {integrity: sha512-BnP+y/EQnhihgHy4oIAN+6FFtmfTekwOLsQbRw9hOKwqgNy8Bdsjq8B05oAt/ZgvIWWFrshV71ytOrlPfYjIJw==} + '@shikijs/vscode-textmate@10.0.2': resolution: {integrity: sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==} @@ -3358,6 +3504,9 @@ packages: '@vue/devtools-api@7.7.7': resolution: {integrity: sha512-lwOnNBH2e7x1fIIbVT7yF5D+YWhqELm55/4ZKf45R9T8r9dE2AIOy8HKjfqzGsoTHFbWbr337O4E0A0QADnjBg==} + '@vue/devtools-api@8.0.5': + resolution: {integrity: sha512-DgVcW8H/Nral7LgZEecYFFYXnAvGuN9C3L3DtWekAncFBedBczpNW8iHKExfaM559Zm8wQWrwtYZ9lXthEHtDw==} + '@vue/devtools-core@7.7.7': resolution: {integrity: sha512-9z9TLbfC+AjAi1PQyWX+OErjIaJmdFlbDHcD+cAMYKY6Bh5VlsAtCeGyRMrXwIlMEQPukvnWt3gZBLwTAIMKzQ==} peerDependencies: @@ -3366,9 +3515,15 @@ packages: '@vue/devtools-kit@7.7.7': resolution: {integrity: sha512-wgoZtxcTta65cnZ1Q6MbAfePVFxfM+gq0saaeytoph7nEa7yMXoi6sCPy4ufO111B9msnw0VOWjPEFCXuAKRHA==} + '@vue/devtools-kit@8.0.5': + resolution: {integrity: sha512-q2VV6x1U3KJMTQPUlRMyWEKVbcHuxhqJdSr6Jtjz5uAThAIrfJ6WVZdGZm5cuO63ZnSUz0RCsVwiUUb0mDV0Yg==} + '@vue/devtools-shared@7.7.7': resolution: {integrity: sha512-+udSj47aRl5aKb0memBvcUG9koarqnxNM5yjuREvqwK6T3ap4mn3Zqqc17QrBFTqSMjr3HK1cvStEZpMDpfdyw==} + '@vue/devtools-shared@8.0.5': + resolution: {integrity: sha512-bRLn6/spxpmgLk+iwOrR29KrYnJjG9DGpHGkDFG82UM21ZpJ39ztUT9OXX3g+usW7/b2z+h46I9ZiYyB07XMXg==} + '@vue/eslint-config-prettier@10.2.0': resolution: {integrity: sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==} peerDependencies: @@ -3427,6 +3582,9 @@ packages: '@vue/shared@3.5.22': resolution: {integrity: sha512-F4yc6palwq3TT0u+FYf0Ns4Tfl9GRFURDN2gWG7L1ecIaS/4fCIuFOjMTnCyjsu/OK6vaDKLCrGAa+KvvH+h4w==} + '@vue/shared@3.5.24': + resolution: {integrity: sha512-9cwHL2EsJBdi8NY22pngYYWzkTDhld6fAD6jlaeloNGciNSJL6bLpbxVgXl96X00Jtc6YWQv96YA/0sxex/k1A==} + '@vue/shared@3.6.0-alpha.4': resolution: {integrity: sha512-UWhZp4a/52k/0ptTzDxU2K6pFhUfJXVF+SIPqkIvjF0eKgvrPaLhdeRZ0PH+XxzMmm3tYAP3R78IqioxbLv0hw==} @@ -3455,6 +3613,11 @@ packages: '@vueuse/core@12.8.2': resolution: {integrity: sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==} + '@vueuse/core@14.0.0': + resolution: {integrity: sha512-d6tKRWkZE8IQElX2aHBxXOMD478fHIYV+Dzm2y9Ag122ICBpNKtGICiXKOhWU3L1kKdttDD9dCMS4bGP3jhCTQ==} + peerDependencies: + vue: 3.6.0-alpha.4 + '@vueuse/integrations@12.8.2': resolution: {integrity: sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==} peerDependencies: @@ -3496,12 +3659,62 @@ packages: universal-cookie: optional: true + '@vueuse/integrations@14.0.0': + resolution: {integrity: sha512-5A0X7q9qyLtM3xyghq5nK/NEESf7cpcZlkQgXTMuW4JWiAMYxc1ImdhhGrk4negFBsq3ejvAlRmLdNrkcTzk1Q==} + peerDependencies: + async-validator: ^4 + axios: ^1 + change-case: ^5 + drauu: ^0.4 + focus-trap: ^7 + fuse.js: ^7 + idb-keyval: ^6 + jwt-decode: ^4 + nprogress: ^0.2 + qrcode: ^1.5 + sortablejs: ^1 + universal-cookie: ^7 || ^8 + vue: 3.6.0-alpha.4 + peerDependenciesMeta: + async-validator: + optional: true + axios: + optional: true + change-case: + optional: true + drauu: + optional: true + focus-trap: + optional: true + fuse.js: + optional: true + idb-keyval: + optional: true + jwt-decode: + optional: true + nprogress: + optional: true + qrcode: + optional: true + sortablejs: + optional: true + universal-cookie: + optional: true + '@vueuse/metadata@12.8.2': resolution: {integrity: sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==} + '@vueuse/metadata@14.0.0': + resolution: {integrity: sha512-6yoGqbJcMldVCevkFiHDBTB1V5Hq+G/haPlGIuaFZHpXC0HADB0EN1ryQAAceiW+ryS3niUwvdFbGiqHqBrfVA==} + '@vueuse/shared@12.8.2': resolution: {integrity: sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==} + '@vueuse/shared@14.0.0': + resolution: {integrity: sha512-mTCA0uczBgurRlwVaQHfG0Ja7UdGe4g9mwffiJmvLiTtp1G4AQyIjej6si/k8c8pUwTfVpNufck+23gXptPAkw==} + peerDependencies: + vue: 3.6.0-alpha.4 + '@webassemblyjs/ast@1.9.0': resolution: {integrity: sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==} @@ -4538,6 +4751,10 @@ packages: engines: {node: '>=0.10'} hasBin: true + detect-libc@2.1.2: + resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} + engines: {node: '>=8'} + detect-node@2.1.0: resolution: {integrity: sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==} @@ -5226,6 +5443,9 @@ packages: focus-trap@7.6.5: resolution: {integrity: sha512-7Ke1jyybbbPZyZXFxEftUtxFGLMpE2n6A+z//m4CRDlj0hW+o3iYSmh8nFlYMurOiJVDmJRilUQtJr08KfIxlg==} + focus-trap@7.6.6: + resolution: {integrity: sha512-v/Z8bvMCajtx4mEXmOo7QEsIzlIOqRXTIwgUfsFOF9gEsespdbD0AkPIka1bSXZ8Y8oZ+2IVDQZePkTfEHZl7Q==} + follow-redirects@1.15.11: resolution: {integrity: sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==} engines: {node: '>=4.0'} @@ -5546,6 +5766,9 @@ packages: hpack.js@2.1.6: resolution: {integrity: sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==} + htm@3.1.1: + resolution: {integrity: sha512-983Vyg8NwUE7JkZ6NmOqpCZ+sh1bKv2iYTlUkzlWmA5JD2acKoxd4KVxbMmxX/85mtfdnDmTFoNKcg5DGAvxNQ==} + html-encoding-sniffer@4.0.0: resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} engines: {node: '>=18'} @@ -6179,6 +6402,80 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lightningcss-android-arm64@1.30.2: + resolution: {integrity: sha512-BH9sEdOCahSgmkVhBLeU7Hc9DWeZ1Eb6wNS6Da8igvUwAe0sqROHddIlvU06q3WyXVEOYDZ6ykBZQnjTbmo4+A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [android] + + lightningcss-darwin-arm64@1.30.2: + resolution: {integrity: sha512-ylTcDJBN3Hp21TdhRT5zBOIi73P6/W0qwvlFEk22fkdXchtNTOU4Qc37SkzV+EKYxLouZ6M4LG9NfZ1qkhhBWA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.30.2: + resolution: {integrity: sha512-oBZgKchomuDYxr7ilwLcyms6BCyLn0z8J0+ZZmfpjwg9fRVZIR5/GMXd7r9RH94iDhld3UmSjBM6nXWM2TfZTQ==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.30.2: + resolution: {integrity: sha512-c2bH6xTrf4BDpK8MoGG4Bd6zAMZDAXS569UxCAGcA7IKbHNMlhGQ89eRmvpIUGfKWNVdbhSbkQaWhEoMGmGslA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.30.2: + resolution: {integrity: sha512-eVdpxh4wYcm0PofJIZVuYuLiqBIakQ9uFZmipf6LF/HRj5Bgm0eb3qL/mr1smyXIS1twwOxNWndd8z0E374hiA==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.30.2: + resolution: {integrity: sha512-UK65WJAbwIJbiBFXpxrbTNArtfuznvxAJw4Q2ZGlU8kPeDIWEX1dg3rn2veBVUylA2Ezg89ktszWbaQnxD/e3A==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + lightningcss-linux-arm64-musl@1.30.2: + resolution: {integrity: sha512-5Vh9dGeblpTxWHpOx8iauV02popZDsCYMPIgiuw97OJ5uaDsL86cnqSFs5LZkG3ghHoX5isLgWzMs+eD1YzrnA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + libc: [musl] + + lightningcss-linux-x64-gnu@1.30.2: + resolution: {integrity: sha512-Cfd46gdmj1vQ+lR6VRTTadNHu6ALuw2pKR9lYq4FnhvgBc4zWY1EtZcAc6EffShbb1MFrIPfLDXD6Xprbnni4w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [glibc] + + lightningcss-linux-x64-musl@1.30.2: + resolution: {integrity: sha512-XJaLUUFXb6/QG2lGIW6aIk6jKdtjtcffUT0NKvIqhSBY3hh9Ch+1LCeH80dR9q9LBjG3ewbDjnumefsLsP6aiA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + libc: [musl] + + lightningcss-win32-arm64-msvc@1.30.2: + resolution: {integrity: sha512-FZn+vaj7zLv//D/192WFFVA0RgHawIcHqLX9xuWiQt7P0PtdFEVaxgF9rjM/IRYHQXNnk61/H/gb2Ei+kUQ4xQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.30.2: + resolution: {integrity: sha512-5g1yc73p+iAkid5phb4oVFMB45417DkRevRbt/El/gKXJk4jid+vPFF/AXbxn05Aky8PapwzZrdJShv5C0avjw==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.30.2: + resolution: {integrity: sha512-utfs7Pr5uJyyvDETitgsaqSyjCb2qNRAtuqUeWIAKztsOYdcACf2KtARYXg2pSvhkt+9NfoaNY7fxjl6nuMjIQ==} + engines: {node: '>= 12.0.0'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -6264,6 +6561,9 @@ packages: ltgt@2.2.1: resolution: {integrity: sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA==} + lunr@2.3.9: + resolution: {integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==} + lz-string@1.5.0: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true @@ -6839,9 +7139,15 @@ packages: resolution: {integrity: sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==} engines: {node: '>=18'} + oniguruma-parser@0.12.1: + resolution: {integrity: sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==} + oniguruma-to-es@3.1.1: resolution: {integrity: sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==} + oniguruma-to-es@4.3.4: + resolution: {integrity: sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==} + open@10.2.0: resolution: {integrity: sha512-YgBpdJHPyQ2UE5x+hlSXcnejzAvD0b22U2OuAP+8OnlJT+PjWPxtgmGqKKc+RgTM63U9gN0YzrYc71R2WT/hTA==} engines: {node: '>=18'} @@ -6861,15 +7167,19 @@ packages: resolution: {integrity: sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==} engines: {node: '>= 0.4'} - oxc-parser@0.96.0: - resolution: {integrity: sha512-ucs6niJ5mZlYP3oTl4AK2eD2m7WLoSaljswnSFVYWrXzme5PtM97S7Ve1Tjx+/TKjanmEZuSt1f1qYi6SZvntw==} + oxc-minify@0.98.0: + resolution: {integrity: sha512-4/Hv1NgOTtb893cxkmJM7YF+mLzqODHOvkCoPLRsnXm5rVXDa2tc1kMQn4b6JYAUh+TvRfH8rqJxFAJDeRt0Zg==} + engines: {node: ^20.19.0 || >=22.12.0} + + oxc-parser@0.98.0: + resolution: {integrity: sha512-gt99VUKRlZ6ZB3VBgqMJD858E8V5UpBQWX7cVI9XaYzuS8e3nN63uRlwPfkFoE4JN+MGxJ/WSRhBUhxUv23A/Q==} engines: {node: ^20.19.0 || >=22.12.0} oxc-resolver@11.11.0: resolution: {integrity: sha512-vVeBJf77zBeqOA/LBCTO/pr0/ETHGSleCRsI5Kmsf2OsfB5opzhhZptt6VxkqjKWZH+eF1se88fYDG5DGRLjkg==} - oxc-transform@0.96.0: - resolution: {integrity: sha512-dQPNIF+gHpSkmC0+Vg9IktNyhcn28Y8R3eTLyzn52UNymkasLicl3sFAtz7oEVuFmCpgGjaUTKkwk+jW2cHpDQ==} + oxc-transform@0.98.0: + resolution: {integrity: sha512-MyjfR/lTUmHNnkNDEzHQ9pIZL/bCSRXRxyq51LJYE/We+/MsnFeTejow1GbrmbVg8TbTqV0HNAIc5dLo6hLRtA==} engines: {node: ^20.19.0 || >=22.12.0} p-limit@2.3.0: @@ -7517,6 +7827,46 @@ packages: vue-tsc: optional: true + rolldown-vite@7.2.7: + resolution: {integrity: sha512-N6a9KgNZ0xgCJ6/Ej2FQ7W8D3fOzDwFw7CLWZ2ubZknVrs9NdNkx25AFEuNbSwQO76VEHp4N7YatsZwp/ST1Gg==} + engines: {node: ^20.19.0 || >=22.12.0} + hasBin: true + peerDependencies: + '@types/node': ^20.19.0 || >=22.12.0 + esbuild: ^0.25.0 + jiti: '>=1.21.0' + less: ^4.0.0 + sass: ^1.70.0 + sass-embedded: ^1.70.0 + stylus: '>=0.54.8' + sugarss: ^5.0.0 + terser: ^5.16.0 + tsx: ^4.8.1 + yaml: ^2.4.2 + peerDependenciesMeta: + '@types/node': + optional: true + esbuild: + optional: true + jiti: + optional: true + less: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + tsx: + optional: true + yaml: + optional: true + rolldown@1.0.0-beta.44: resolution: {integrity: sha512-gcqgyCi3g93Fhr49PKvymE8PoaGS0sf6ajQrsYaQ8o5de6aUEbD6rJZiJbhOfpcqOnycgsAsUNPYri1h25NgsQ==} engines: {node: ^20.19.0 || >=22.12.0} @@ -7733,6 +8083,9 @@ packages: shiki@2.5.0: resolution: {integrity: sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==} + shiki@3.15.0: + resolution: {integrity: sha512-kLdkY6iV3dYbtPwS9KXU7mjfmDm25f5m0IPNFnaXO7TBPcvbUOY72PYXSuSqDzwp+vlH/d7MXpHlKO/x+QoLXw==} + side-channel-list@1.0.0: resolution: {integrity: sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==} engines: {node: '>= 0.4'} @@ -8048,6 +8401,9 @@ packages: tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tabbable@6.3.0: + resolution: {integrity: sha512-EIHvdY5bPLuWForiR/AN2Bxngzpuwn1is4asboytXtpTgsArc+WmSJKVLlhdh71u7jFcryDqB2A8lQvj78MkyQ==} + tapable@1.1.3: resolution: {integrity: sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==} engines: {node: '>=6'} @@ -8297,6 +8653,24 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + typedoc-plugin-markdown@4.9.0: + resolution: {integrity: sha512-9Uu4WR9L7ZBgAl60N/h+jqmPxxvnC9nQAlnnO/OujtG2ubjnKTVUFY1XDhcMY+pCqlX3N2HsQM2QTYZIU9tJuw==} + engines: {node: '>= 18'} + peerDependencies: + typedoc: 0.28.x + + typedoc-vitepress-theme@1.1.2: + resolution: {integrity: sha512-hQvCZRr5uKDqY1bRuY1+eNTNn6d4TE4OP5pnw65Y7WGgajkJW9X1/lVJK2UJpcwCmwkdjw1QIO49H9JQlxWhhw==} + peerDependencies: + typedoc-plugin-markdown: '>=4.4.0' + + typedoc@0.28.14: + resolution: {integrity: sha512-ftJYPvpVfQvFzpkoSfHLkJybdA/geDJ8BGQt/ZnkkhnBYoYW6lBgPQXu6vqLxO4X75dA55hX8Af847H5KXlEFA==} + engines: {node: '>= 18', pnpm: '>= 10'} + hasBin: true + peerDependencies: + typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x + typescript-eslint@8.46.2: resolution: {integrity: sha512-vbw8bOmiuYNdzzV3lsiWv6sRwjyuKJMQqWulBOU7M0RrxedXledX8G8kBbQeiOYDnTfiXz0Y4081E1QMNB6iQg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -8597,6 +8971,21 @@ packages: postcss: optional: true + vitepress@2.0.0-alpha.15: + resolution: {integrity: sha512-jhjSYd10Z6RZiKOa7jy0xMVf5NB5oSc/lS3bD/QoUc6V8PrvQR5JhC9104NEt6+oTGY/ftieVWxY9v7YI+1IjA==} + hasBin: true + peerDependencies: + markdown-it-mathjax3: ^4 + oxc-minify: '*' + postcss: ^8 + peerDependenciesMeta: + markdown-it-mathjax3: + optional: true + oxc-minify: + optional: true + postcss: + optional: true + vitest@4.0.4: resolution: {integrity: sha512-hV31h0/bGbtmDQc0KqaxsTO1v4ZQeF8ojDFuy4sZhFadwAqqvJA0LDw68QUocctI5EDpFMql/jVWKuPYHIf2Ew==} engines: {node: ^20.0.0 || ^22.0.0 || >=24.0.0} @@ -9406,6 +9795,8 @@ snapshots: '@docsearch/css@3.8.2': {} + '@docsearch/css@4.3.2': {} + '@docsearch/js@3.8.2(@algolia/client-search@5.40.1)(search-insights@2.17.3)': dependencies: '@docsearch/react': 3.8.2(@algolia/client-search@5.40.1)(search-insights@2.17.3) @@ -9417,6 +9808,10 @@ snapshots: - react-dom - search-insights + '@docsearch/js@4.3.2': + dependencies: + htm: 3.1.1 + '@docsearch/react@3.8.2(@algolia/client-search@5.40.1)(search-insights@2.17.3)': dependencies: '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.40.1)(algoliasearch@5.40.1)(search-insights@2.17.3) @@ -9656,6 +10051,14 @@ snapshots: dependencies: tslib: 2.8.1 + '@gerrit0/mini-shiki@3.15.0': + dependencies: + '@shikijs/engine-oniguruma': 3.15.0 + '@shikijs/langs': 3.15.0 + '@shikijs/themes': 3.15.0 + '@shikijs/types': 3.15.0 + '@shikijs/vscode-textmate': 10.0.2 + '@html-eslint/eslint-plugin@0.49.0(eslint@9.38.0(jiti@2.6.1))(jiti@2.6.1)': dependencies: '@eslint/plugin-kit': 0.4.1 @@ -9716,6 +10119,10 @@ snapshots: dependencies: '@iconify/types': 2.0.0 + '@iconify-json/simple-icons@1.2.59': + dependencies: + '@iconify/types': 2.0.0 + '@iconify/types@2.0.0': {} '@intlify/bundle-utils@1.0.0': @@ -9782,6 +10189,8 @@ snapshots: '@intlify/shared@11.1.12': {} + '@intlify/shared@11.2.1': {} + '@intlify/shared@9.14.5': {} '@intlify/unplugin-vue-i18n@11.0.1(@vue/compiler-dom@3.5.22)(eslint@9.39.1(jiti@2.6.1))(rollup@4.52.5)(typescript@5.8.3)(vue-i18n@11.1.12(vue@3.6.0-alpha.4(typescript@5.8.3)))(vue@3.6.0-alpha.4(typescript@5.8.3))': @@ -10184,56 +10593,103 @@ snapshots: dependencies: '@octokit/openapi-types': 24.2.0 - '@oxc-parser/binding-android-arm64@0.96.0': + '@oxc-minify/binding-android-arm64@0.98.0': optional: true - '@oxc-parser/binding-darwin-arm64@0.96.0': + '@oxc-minify/binding-darwin-arm64@0.98.0': optional: true - '@oxc-parser/binding-darwin-x64@0.96.0': + '@oxc-minify/binding-darwin-x64@0.98.0': optional: true - '@oxc-parser/binding-freebsd-x64@0.96.0': + '@oxc-minify/binding-freebsd-x64@0.98.0': optional: true - '@oxc-parser/binding-linux-arm-gnueabihf@0.96.0': + '@oxc-minify/binding-linux-arm-gnueabihf@0.98.0': optional: true - '@oxc-parser/binding-linux-arm-musleabihf@0.96.0': + '@oxc-minify/binding-linux-arm-musleabihf@0.98.0': optional: true - '@oxc-parser/binding-linux-arm64-gnu@0.96.0': + '@oxc-minify/binding-linux-arm64-gnu@0.98.0': optional: true - '@oxc-parser/binding-linux-arm64-musl@0.96.0': + '@oxc-minify/binding-linux-arm64-musl@0.98.0': optional: true - '@oxc-parser/binding-linux-riscv64-gnu@0.96.0': + '@oxc-minify/binding-linux-riscv64-gnu@0.98.0': optional: true - '@oxc-parser/binding-linux-s390x-gnu@0.96.0': + '@oxc-minify/binding-linux-s390x-gnu@0.98.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.96.0': + '@oxc-minify/binding-linux-x64-gnu@0.98.0': optional: true - '@oxc-parser/binding-linux-x64-musl@0.96.0': + '@oxc-minify/binding-linux-x64-musl@0.98.0': optional: true - '@oxc-parser/binding-wasm32-wasi@0.96.0': + '@oxc-minify/binding-wasm32-wasi@0.98.0': dependencies: '@napi-rs/wasm-runtime': 1.0.7 optional: true - '@oxc-parser/binding-win32-arm64-msvc@0.96.0': + '@oxc-minify/binding-win32-arm64-msvc@0.98.0': optional: true - '@oxc-parser/binding-win32-x64-msvc@0.96.0': + '@oxc-minify/binding-win32-x64-msvc@0.98.0': optional: true - '@oxc-project/types@0.95.0': {} + '@oxc-parser/binding-android-arm64@0.98.0': + optional: true + + '@oxc-parser/binding-darwin-arm64@0.98.0': + optional: true + + '@oxc-parser/binding-darwin-x64@0.98.0': + optional: true + + '@oxc-parser/binding-freebsd-x64@0.98.0': + optional: true - '@oxc-project/types@0.96.0': {} + '@oxc-parser/binding-linux-arm-gnueabihf@0.98.0': + optional: true + + '@oxc-parser/binding-linux-arm-musleabihf@0.98.0': + optional: true + + '@oxc-parser/binding-linux-arm64-gnu@0.98.0': + optional: true + + '@oxc-parser/binding-linux-arm64-musl@0.98.0': + optional: true + + '@oxc-parser/binding-linux-riscv64-gnu@0.98.0': + optional: true + + '@oxc-parser/binding-linux-s390x-gnu@0.98.0': + optional: true + + '@oxc-parser/binding-linux-x64-gnu@0.98.0': + optional: true + + '@oxc-parser/binding-linux-x64-musl@0.98.0': + optional: true + + '@oxc-parser/binding-wasm32-wasi@0.98.0': + dependencies: + '@napi-rs/wasm-runtime': 1.0.7 + optional: true + + '@oxc-parser/binding-win32-arm64-msvc@0.98.0': + optional: true + + '@oxc-parser/binding-win32-x64-msvc@0.98.0': + optional: true + + '@oxc-project/runtime@0.98.0': {} + + '@oxc-project/types@0.95.0': {} '@oxc-project/types@0.98.0': {} @@ -10296,51 +10752,51 @@ snapshots: '@oxc-resolver/binding-win32-x64-msvc@11.11.0': optional: true - '@oxc-transform/binding-android-arm64@0.96.0': + '@oxc-transform/binding-android-arm64@0.98.0': optional: true - '@oxc-transform/binding-darwin-arm64@0.96.0': + '@oxc-transform/binding-darwin-arm64@0.98.0': optional: true - '@oxc-transform/binding-darwin-x64@0.96.0': + '@oxc-transform/binding-darwin-x64@0.98.0': optional: true - '@oxc-transform/binding-freebsd-x64@0.96.0': + '@oxc-transform/binding-freebsd-x64@0.98.0': optional: true - '@oxc-transform/binding-linux-arm-gnueabihf@0.96.0': + '@oxc-transform/binding-linux-arm-gnueabihf@0.98.0': optional: true - '@oxc-transform/binding-linux-arm-musleabihf@0.96.0': + '@oxc-transform/binding-linux-arm-musleabihf@0.98.0': optional: true - '@oxc-transform/binding-linux-arm64-gnu@0.96.0': + '@oxc-transform/binding-linux-arm64-gnu@0.98.0': optional: true - '@oxc-transform/binding-linux-arm64-musl@0.96.0': + '@oxc-transform/binding-linux-arm64-musl@0.98.0': optional: true - '@oxc-transform/binding-linux-riscv64-gnu@0.96.0': + '@oxc-transform/binding-linux-riscv64-gnu@0.98.0': optional: true - '@oxc-transform/binding-linux-s390x-gnu@0.96.0': + '@oxc-transform/binding-linux-s390x-gnu@0.98.0': optional: true - '@oxc-transform/binding-linux-x64-gnu@0.96.0': + '@oxc-transform/binding-linux-x64-gnu@0.98.0': optional: true - '@oxc-transform/binding-linux-x64-musl@0.96.0': + '@oxc-transform/binding-linux-x64-musl@0.98.0': optional: true - '@oxc-transform/binding-wasm32-wasi@0.96.0': + '@oxc-transform/binding-wasm32-wasi@0.98.0': dependencies: '@napi-rs/wasm-runtime': 1.0.7 optional: true - '@oxc-transform/binding-win32-arm64-msvc@0.96.0': + '@oxc-transform/binding-win32-arm64-msvc@0.98.0': optional: true - '@oxc-transform/binding-win32-x64-msvc@0.96.0': + '@oxc-transform/binding-win32-x64-msvc@0.98.0': optional: true '@parcel/watcher-android-arm64@2.5.1': @@ -10682,35 +11138,71 @@ snapshots: '@types/hast': 3.0.4 hast-util-to-html: 9.0.5 + '@shikijs/core@3.15.0': + dependencies: + '@shikijs/types': 3.15.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + hast-util-to-html: 9.0.5 + '@shikijs/engine-javascript@2.5.0': dependencies: '@shikijs/types': 2.5.0 '@shikijs/vscode-textmate': 10.0.2 oniguruma-to-es: 3.1.1 + '@shikijs/engine-javascript@3.15.0': + dependencies: + '@shikijs/types': 3.15.0 + '@shikijs/vscode-textmate': 10.0.2 + oniguruma-to-es: 4.3.4 + '@shikijs/engine-oniguruma@2.5.0': dependencies: '@shikijs/types': 2.5.0 '@shikijs/vscode-textmate': 10.0.2 + '@shikijs/engine-oniguruma@3.15.0': + dependencies: + '@shikijs/types': 3.15.0 + '@shikijs/vscode-textmate': 10.0.2 + '@shikijs/langs@2.5.0': dependencies: '@shikijs/types': 2.5.0 + '@shikijs/langs@3.15.0': + dependencies: + '@shikijs/types': 3.15.0 + '@shikijs/themes@2.5.0': dependencies: '@shikijs/types': 2.5.0 + '@shikijs/themes@3.15.0': + dependencies: + '@shikijs/types': 3.15.0 + '@shikijs/transformers@2.5.0': dependencies: '@shikijs/core': 2.5.0 '@shikijs/types': 2.5.0 + '@shikijs/transformers@3.15.0': + dependencies: + '@shikijs/core': 3.15.0 + '@shikijs/types': 3.15.0 + '@shikijs/types@2.5.0': dependencies: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 + '@shikijs/types@3.15.0': + dependencies: + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + '@shikijs/vscode-textmate@10.0.2': {} '@sindresorhus/merge-streams@4.0.0': {} @@ -10817,13 +11309,13 @@ snapshots: react: 19.2.0 react-dom: 19.2.0(react@19.2.0) - '@storybook/builder-vite@8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': + '@storybook/builder-vite@8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@storybook/csf-plugin': 8.6.14(storybook@8.6.14(prettier@3.5.3)) browser-assert: 1.2.1 storybook: 8.6.14(prettier@3.5.3) ts-dedent: 2.2.0 - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) '@storybook/components@8.6.14(storybook@8.6.14(prettier@3.5.3))': dependencies: @@ -10901,15 +11393,15 @@ snapshots: dependencies: storybook: 8.6.14(prettier@3.5.3) - '@storybook/vue3-vite@8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3))': + '@storybook/vue3-vite@8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3))': dependencies: - '@storybook/builder-vite': 8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + '@storybook/builder-vite': 8.6.14(storybook@8.6.14(prettier@3.5.3))(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) '@storybook/vue3': 8.6.14(storybook@8.6.14(prettier@3.5.3))(vue@3.6.0-alpha.4(typescript@5.8.3)) find-package-json: 1.2.0 magic-string: 0.30.19 storybook: 8.6.14(prettier@3.5.3) typescript: 5.8.3 - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue-component-meta: 2.2.12(typescript@5.8.3) vue-docgen-api: 4.79.2(vue@3.6.0-alpha.4(typescript@5.8.3)) transitivePeerDependencies: @@ -11422,53 +11914,59 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true - '@vitejs/plugin-vue-jsx@5.1.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3))': + '@vitejs/plugin-vue-jsx@5.1.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3))': dependencies: '@babel/core': 7.28.4 '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) '@rolldown/pluginutils': 1.0.0-beta.44 '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.4) - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue: 3.6.0-alpha.4(typescript@5.8.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue-jsx@5.1.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3))': + '@vitejs/plugin-vue-jsx@5.1.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3))': dependencies: '@babel/core': 7.28.4 '@babel/plugin-syntax-typescript': 7.27.1(@babel/core@7.28.4) '@babel/plugin-transform-typescript': 7.28.0(@babel/core@7.28.4) '@rolldown/pluginutils': 1.0.0-beta.44 '@vue/babel-plugin-jsx': 1.5.0(@babel/core@7.28.4) - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue: 3.6.0-alpha.4(typescript@5.9.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.4(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3))': + '@vitejs/plugin-vue@5.2.4(rolldown-vite@7.2.7(@types/node@22.18.12)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3))': dependencies: - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: rolldown-vite@7.2.7(@types/node@22.18.12)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue: 3.6.0-alpha.4(typescript@5.8.3) - '@vitejs/plugin-vue@5.2.4(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3))': + '@vitejs/plugin-vue@5.2.4(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3))': dependencies: - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vue: 3.6.0-alpha.4(typescript@5.8.3) + + '@vitejs/plugin-vue@6.0.1(rolldown-vite@7.2.7(@types/node@22.18.12)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3))': + dependencies: + '@rolldown/pluginutils': 1.0.0-beta.29 + vite: rolldown-vite@7.2.7(@types/node@22.18.12)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue: 3.6.0-alpha.4(typescript@5.9.3) - '@vitejs/plugin-vue@6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3))': + '@vitejs/plugin-vue@6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue: 3.6.0-alpha.4(typescript@5.8.3) - '@vitejs/plugin-vue@6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3))': + '@vitejs/plugin-vue@6.0.1(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3))': dependencies: '@rolldown/pluginutils': 1.0.0-beta.29 - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue: 3.6.0-alpha.4(typescript@5.9.3) - '@vitest/coverage-v8@4.0.4(vitest@4.0.4(@types/debug@4.1.12)(@types/node@22.18.12)(jiti@2.6.1)(jsdom@27.2.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': + '@vitest/coverage-v8@4.0.4(vitest@4.0.4(@types/debug@4.1.12)(@types/node@22.18.12)(jiti@2.6.1)(jsdom@27.2.0)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@bcoe/v8-coverage': 1.0.2 '@vitest/utils': 4.0.4 @@ -11481,7 +11979,7 @@ snapshots: magicast: 0.3.5 std-env: 3.10.0 tinyrainbow: 3.0.3 - vitest: 4.0.4(@types/debug@4.1.12)(@types/node@22.18.12)(jiti@2.6.1)(jsdom@27.2.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vitest: 4.0.4(@types/debug@4.1.12)(@types/node@22.18.12)(jiti@2.6.1)(jsdom@27.2.0)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - supports-color @@ -11501,13 +11999,13 @@ snapshots: chai: 6.2.0 tinyrainbow: 3.0.3 - '@vitest/mocker@4.0.4(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': + '@vitest/mocker@4.0.4(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))': dependencies: '@vitest/spy': 4.0.4 estree-walker: 3.0.3 magic-string: 0.30.19 optionalDependencies: - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) '@vitest/pretty-format@2.0.5': dependencies: @@ -11689,14 +12187,18 @@ snapshots: dependencies: '@vue/devtools-kit': 7.7.7 - '@vue/devtools-core@7.7.7(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3))': + '@vue/devtools-api@8.0.5': + dependencies: + '@vue/devtools-kit': 8.0.5 + + '@vue/devtools-core@7.7.7(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3))': dependencies: '@vue/devtools-kit': 7.7.7 '@vue/devtools-shared': 7.7.7 mitt: 3.0.1 nanoid: 5.1.6 pathe: 2.0.3 - vite-hot-client: 2.1.0(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + vite-hot-client: 2.1.0(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) vue: 3.6.0-alpha.4(typescript@5.8.3) transitivePeerDependencies: - vite @@ -11711,10 +12213,24 @@ snapshots: speakingurl: 14.0.1 superjson: 2.2.2 + '@vue/devtools-kit@8.0.5': + dependencies: + '@vue/devtools-shared': 8.0.5 + birpc: 2.6.1 + hookable: 5.5.3 + mitt: 3.0.1 + perfect-debounce: 2.0.0 + speakingurl: 14.0.1 + superjson: 2.2.2 + '@vue/devtools-shared@7.7.7': dependencies: rfdc: 1.4.1 + '@vue/devtools-shared@8.0.5': + dependencies: + rfdc: 1.4.1 + '@vue/eslint-config-prettier@10.2.0(@types/eslint@9.6.1)(eslint@9.38.0(jiti@2.6.1))(prettier@3.5.3)': dependencies: eslint: 9.38.0(jiti@2.6.1) @@ -11815,6 +12331,8 @@ snapshots: '@vue/shared@3.5.22': {} + '@vue/shared@3.5.24': {} + '@vue/shared@3.6.0-alpha.4': {} '@vue/tsconfig@0.7.0(typescript@5.8.3)(vue@3.6.0-alpha.4(typescript@5.8.3))': @@ -11836,14 +12354,12 @@ snapshots: transitivePeerDependencies: - typescript - '@vueuse/core@12.8.2(typescript@5.9.3)': + '@vueuse/core@14.0.0(vue@3.6.0-alpha.4(typescript@5.9.3))': dependencies: '@types/web-bluetooth': 0.0.21 - '@vueuse/metadata': 12.8.2 - '@vueuse/shared': 12.8.2(typescript@5.9.3) + '@vueuse/metadata': 14.0.0 + '@vueuse/shared': 14.0.0(vue@3.6.0-alpha.4(typescript@5.9.3)) vue: 3.6.0-alpha.4(typescript@5.9.3) - transitivePeerDependencies: - - typescript '@vueuse/integrations@12.8.2(change-case@5.4.4)(focus-trap@7.6.5)(typescript@5.8.3)': dependencies: @@ -11856,30 +12372,28 @@ snapshots: transitivePeerDependencies: - typescript - '@vueuse/integrations@12.8.2(change-case@5.4.4)(focus-trap@7.6.5)(typescript@5.9.3)': + '@vueuse/integrations@14.0.0(change-case@5.4.4)(focus-trap@7.6.6)(vue@3.6.0-alpha.4(typescript@5.9.3))': dependencies: - '@vueuse/core': 12.8.2(typescript@5.9.3) - '@vueuse/shared': 12.8.2(typescript@5.9.3) + '@vueuse/core': 14.0.0(vue@3.6.0-alpha.4(typescript@5.9.3)) + '@vueuse/shared': 14.0.0(vue@3.6.0-alpha.4(typescript@5.9.3)) vue: 3.6.0-alpha.4(typescript@5.9.3) optionalDependencies: change-case: 5.4.4 - focus-trap: 7.6.5 - transitivePeerDependencies: - - typescript + focus-trap: 7.6.6 '@vueuse/metadata@12.8.2': {} + '@vueuse/metadata@14.0.0': {} + '@vueuse/shared@12.8.2(typescript@5.8.3)': dependencies: vue: 3.6.0-alpha.4(typescript@5.8.3) transitivePeerDependencies: - typescript - '@vueuse/shared@12.8.2(typescript@5.9.3)': + '@vueuse/shared@14.0.0(vue@3.6.0-alpha.4(typescript@5.9.3))': dependencies: vue: 3.6.0-alpha.4(typescript@5.9.3) - transitivePeerDependencies: - - typescript '@webassemblyjs/ast@1.9.0': dependencies: @@ -12120,7 +12634,7 @@ snapshots: api-docs-gen@0.4.0(@types/node@22.18.12): dependencies: - '@intlify/shared': 11.1.12 + '@intlify/shared': 11.2.1 '@microsoft/api-extractor-model': 7.31.1(@types/node@22.18.12) '@microsoft/tsdoc': 0.13.2 '@microsoft/tsdoc-config': 0.15.2 @@ -13053,6 +13567,8 @@ snapshots: detect-libc@1.0.3: {} + detect-libc@2.1.2: {} + detect-node@2.1.0: {} devlop@1.1.0: @@ -14021,6 +14537,10 @@ snapshots: dependencies: tabbable: 6.2.0 + focus-trap@7.6.6: + dependencies: + tabbable: 6.3.0 + follow-redirects@1.15.11(debug@4.1.1): optionalDependencies: debug: 4.1.1 @@ -14381,6 +14901,8 @@ snapshots: readable-stream: 2.3.8 wbuf: 1.7.3 + htm@3.1.1: {} + html-encoding-sniffer@4.0.0: dependencies: whatwg-encoding: 3.1.1 @@ -15018,6 +15540,55 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lightningcss-android-arm64@1.30.2: + optional: true + + lightningcss-darwin-arm64@1.30.2: + optional: true + + lightningcss-darwin-x64@1.30.2: + optional: true + + lightningcss-freebsd-x64@1.30.2: + optional: true + + lightningcss-linux-arm-gnueabihf@1.30.2: + optional: true + + lightningcss-linux-arm64-gnu@1.30.2: + optional: true + + lightningcss-linux-arm64-musl@1.30.2: + optional: true + + lightningcss-linux-x64-gnu@1.30.2: + optional: true + + lightningcss-linux-x64-musl@1.30.2: + optional: true + + lightningcss-win32-arm64-msvc@1.30.2: + optional: true + + lightningcss-win32-x64-msvc@1.30.2: + optional: true + + lightningcss@1.30.2: + dependencies: + detect-libc: 2.1.2 + optionalDependencies: + lightningcss-android-arm64: 1.30.2 + lightningcss-darwin-arm64: 1.30.2 + lightningcss-darwin-x64: 1.30.2 + lightningcss-freebsd-x64: 1.30.2 + lightningcss-linux-arm-gnueabihf: 1.30.2 + lightningcss-linux-arm64-gnu: 1.30.2 + lightningcss-linux-arm64-musl: 1.30.2 + lightningcss-linux-x64-gnu: 1.30.2 + lightningcss-linux-x64-musl: 1.30.2 + lightningcss-win32-arm64-msvc: 1.30.2 + lightningcss-win32-x64-msvc: 1.30.2 + lines-and-columns@1.2.4: {} linkify-it@5.0.0: @@ -15125,6 +15696,8 @@ snapshots: ltgt@2.2.1: {} + lunr@2.3.9: {} + lz-string@1.5.0: {} magic-string@0.22.5: @@ -15976,12 +16549,20 @@ snapshots: dependencies: mimic-function: 5.0.1 + oniguruma-parser@0.12.1: {} + oniguruma-to-es@3.1.1: dependencies: emoji-regex-xs: 1.0.0 regex: 6.0.1 regex-recursion: 6.0.2 + oniguruma-to-es@4.3.4: + dependencies: + oniguruma-parser: 0.12.1 + regex: 6.0.1 + regex-recursion: 6.0.2 + open@10.2.0: dependencies: default-browser: 5.2.1 @@ -16012,25 +16593,43 @@ snapshots: object-keys: 1.1.1 safe-push-apply: 1.0.0 - oxc-parser@0.96.0: + oxc-minify@0.98.0: + optionalDependencies: + '@oxc-minify/binding-android-arm64': 0.98.0 + '@oxc-minify/binding-darwin-arm64': 0.98.0 + '@oxc-minify/binding-darwin-x64': 0.98.0 + '@oxc-minify/binding-freebsd-x64': 0.98.0 + '@oxc-minify/binding-linux-arm-gnueabihf': 0.98.0 + '@oxc-minify/binding-linux-arm-musleabihf': 0.98.0 + '@oxc-minify/binding-linux-arm64-gnu': 0.98.0 + '@oxc-minify/binding-linux-arm64-musl': 0.98.0 + '@oxc-minify/binding-linux-riscv64-gnu': 0.98.0 + '@oxc-minify/binding-linux-s390x-gnu': 0.98.0 + '@oxc-minify/binding-linux-x64-gnu': 0.98.0 + '@oxc-minify/binding-linux-x64-musl': 0.98.0 + '@oxc-minify/binding-wasm32-wasi': 0.98.0 + '@oxc-minify/binding-win32-arm64-msvc': 0.98.0 + '@oxc-minify/binding-win32-x64-msvc': 0.98.0 + + oxc-parser@0.98.0: dependencies: - '@oxc-project/types': 0.96.0 + '@oxc-project/types': 0.98.0 optionalDependencies: - '@oxc-parser/binding-android-arm64': 0.96.0 - '@oxc-parser/binding-darwin-arm64': 0.96.0 - '@oxc-parser/binding-darwin-x64': 0.96.0 - '@oxc-parser/binding-freebsd-x64': 0.96.0 - '@oxc-parser/binding-linux-arm-gnueabihf': 0.96.0 - '@oxc-parser/binding-linux-arm-musleabihf': 0.96.0 - '@oxc-parser/binding-linux-arm64-gnu': 0.96.0 - '@oxc-parser/binding-linux-arm64-musl': 0.96.0 - '@oxc-parser/binding-linux-riscv64-gnu': 0.96.0 - '@oxc-parser/binding-linux-s390x-gnu': 0.96.0 - '@oxc-parser/binding-linux-x64-gnu': 0.96.0 - '@oxc-parser/binding-linux-x64-musl': 0.96.0 - '@oxc-parser/binding-wasm32-wasi': 0.96.0 - '@oxc-parser/binding-win32-arm64-msvc': 0.96.0 - '@oxc-parser/binding-win32-x64-msvc': 0.96.0 + '@oxc-parser/binding-android-arm64': 0.98.0 + '@oxc-parser/binding-darwin-arm64': 0.98.0 + '@oxc-parser/binding-darwin-x64': 0.98.0 + '@oxc-parser/binding-freebsd-x64': 0.98.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.98.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.98.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.98.0 + '@oxc-parser/binding-linux-arm64-musl': 0.98.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.98.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.98.0 + '@oxc-parser/binding-linux-x64-gnu': 0.98.0 + '@oxc-parser/binding-linux-x64-musl': 0.98.0 + '@oxc-parser/binding-wasm32-wasi': 0.98.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.98.0 + '@oxc-parser/binding-win32-x64-msvc': 0.98.0 oxc-resolver@11.11.0: optionalDependencies: @@ -16054,23 +16653,23 @@ snapshots: '@oxc-resolver/binding-win32-ia32-msvc': 11.11.0 '@oxc-resolver/binding-win32-x64-msvc': 11.11.0 - oxc-transform@0.96.0: + oxc-transform@0.98.0: optionalDependencies: - '@oxc-transform/binding-android-arm64': 0.96.0 - '@oxc-transform/binding-darwin-arm64': 0.96.0 - '@oxc-transform/binding-darwin-x64': 0.96.0 - '@oxc-transform/binding-freebsd-x64': 0.96.0 - '@oxc-transform/binding-linux-arm-gnueabihf': 0.96.0 - '@oxc-transform/binding-linux-arm-musleabihf': 0.96.0 - '@oxc-transform/binding-linux-arm64-gnu': 0.96.0 - '@oxc-transform/binding-linux-arm64-musl': 0.96.0 - '@oxc-transform/binding-linux-riscv64-gnu': 0.96.0 - '@oxc-transform/binding-linux-s390x-gnu': 0.96.0 - '@oxc-transform/binding-linux-x64-gnu': 0.96.0 - '@oxc-transform/binding-linux-x64-musl': 0.96.0 - '@oxc-transform/binding-wasm32-wasi': 0.96.0 - '@oxc-transform/binding-win32-arm64-msvc': 0.96.0 - '@oxc-transform/binding-win32-x64-msvc': 0.96.0 + '@oxc-transform/binding-android-arm64': 0.98.0 + '@oxc-transform/binding-darwin-arm64': 0.98.0 + '@oxc-transform/binding-darwin-x64': 0.98.0 + '@oxc-transform/binding-freebsd-x64': 0.98.0 + '@oxc-transform/binding-linux-arm-gnueabihf': 0.98.0 + '@oxc-transform/binding-linux-arm-musleabihf': 0.98.0 + '@oxc-transform/binding-linux-arm64-gnu': 0.98.0 + '@oxc-transform/binding-linux-arm64-musl': 0.98.0 + '@oxc-transform/binding-linux-riscv64-gnu': 0.98.0 + '@oxc-transform/binding-linux-s390x-gnu': 0.98.0 + '@oxc-transform/binding-linux-x64-gnu': 0.98.0 + '@oxc-transform/binding-linux-x64-musl': 0.98.0 + '@oxc-transform/binding-wasm32-wasi': 0.98.0 + '@oxc-transform/binding-win32-arm64-msvc': 0.98.0 + '@oxc-transform/binding-win32-x64-msvc': 0.98.0 p-limit@2.3.0: dependencies: @@ -16765,6 +17364,24 @@ snapshots: - oxc-resolver - supports-color + rolldown-vite@7.2.7(@types/node@22.18.12)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): + dependencies: + '@oxc-project/runtime': 0.98.0 + fdir: 6.5.0(picomatch@4.0.3) + lightningcss: 1.30.2 + picomatch: 4.0.3 + postcss: 8.5.6 + rolldown: 1.0.0-beta.51 + tinyglobby: 0.2.15 + optionalDependencies: + '@types/node': 22.18.12 + esbuild: 0.25.11 + fsevents: 2.3.3 + jiti: 2.6.1 + terser: 5.44.0 + tsx: 4.20.6 + yaml: 2.8.1 + rolldown@1.0.0-beta.44: dependencies: '@oxc-project/types': 0.95.0 @@ -17102,6 +17719,17 @@ snapshots: '@shikijs/vscode-textmate': 10.0.2 '@types/hast': 3.0.4 + shiki@3.15.0: + dependencies: + '@shikijs/core': 3.15.0 + '@shikijs/engine-javascript': 3.15.0 + '@shikijs/engine-oniguruma': 3.15.0 + '@shikijs/langs': 3.15.0 + '@shikijs/themes': 3.15.0 + '@shikijs/types': 3.15.0 + '@shikijs/vscode-textmate': 10.0.2 + '@types/hast': 3.0.4 + side-channel-list@1.0.0: dependencies: es-errors: 1.3.0 @@ -17480,6 +18108,8 @@ snapshots: tabbable@6.2.0: {} + tabbable@6.3.0: {} + tapable@1.1.3: {} tapable@2.3.0: {} @@ -17724,6 +18354,23 @@ snapshots: typedarray@0.0.6: {} + typedoc-plugin-markdown@4.9.0(typedoc@0.28.14(typescript@5.9.3)): + dependencies: + typedoc: 0.28.14(typescript@5.9.3) + + typedoc-vitepress-theme@1.1.2(typedoc-plugin-markdown@4.9.0(typedoc@0.28.14(typescript@5.9.3))): + dependencies: + typedoc-plugin-markdown: 4.9.0(typedoc@0.28.14(typescript@5.9.3)) + + typedoc@0.28.14(typescript@5.9.3): + dependencies: + '@gerrit0/mini-shiki': 3.15.0 + lunr: 2.3.9 + markdown-it: 14.1.0 + minimatch: 9.0.5 + typescript: 5.9.3 + yaml: 2.8.1 + typescript-eslint@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.8.3): dependencies: '@typescript-eslint/eslint-plugin': 8.46.2(@typescript-eslint/parser@8.46.2(eslint@9.38.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.38.0(jiti@2.6.1))(typescript@5.8.3) @@ -17983,11 +18630,11 @@ snapshots: '@types/unist': 3.0.3 vfile-message: 4.0.3 - vite-hot-client@2.1.0(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): + vite-hot-client@2.1.0(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): dependencies: - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite-plugin-inspect@0.8.9(rollup@4.52.5)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): + vite-plugin-inspect@0.8.9(rollup@4.52.5)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.3.0(rollup@4.52.5) @@ -17998,28 +18645,28 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 3.0.2 - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-devtools@7.7.7(rollup@4.52.5)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)): + vite-plugin-vue-devtools@7.7.7(rollup@4.52.5)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)): dependencies: - '@vue/devtools-core': 7.7.7(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + '@vue/devtools-core': 7.7.7(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@vue/devtools-kit': 7.7.7 '@vue/devtools-shared': 7.7.7 execa: 9.6.0 sirv: 3.0.2 - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) - vite-plugin-inspect: 0.8.9(rollup@4.52.5)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) - vite-plugin-vue-inspector: 5.3.2(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite-plugin-inspect: 0.8.9(rollup@4.52.5)(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + vite-plugin-vue-inspector: 5.3.2(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) transitivePeerDependencies: - '@nuxt/kit' - rollup - supports-color - vue - vite-plugin-vue-inspector@5.3.2(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): + vite-plugin-vue-inspector@5.3.2(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)): dependencies: '@babel/core': 7.28.4 '@babel/plugin-proposal-decorators': 7.28.0(@babel/core@7.28.4) @@ -18030,11 +18677,11 @@ snapshots: '@vue/compiler-dom': 3.5.22 kolorist: 1.8.0 magic-string: 0.30.19 - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) transitivePeerDependencies: - supports-color - vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): + vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): dependencies: esbuild: 0.25.11 fdir: 6.5.0(picomatch@4.0.3) @@ -18046,6 +18693,7 @@ snapshots: '@types/node': 22.18.12 fsevents: 2.3.3 jiti: 2.6.1 + lightningcss: 1.30.2 terser: 5.44.0 tsx: 4.20.6 yaml: 2.8.1 @@ -18069,7 +18717,7 @@ snapshots: transitivePeerDependencies: - supports-color - vitepress@1.6.4(@algolia/client-search@5.40.1)(@types/node@22.18.12)(change-case@5.4.4)(jiti@2.6.1)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.1): + vitepress@1.6.4(@algolia/client-search@5.40.1)(@types/node@22.18.12)(change-case@5.4.4)(esbuild@0.25.11)(jiti@2.6.1)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(tsx@4.20.6)(typescript@5.8.3)(yaml@2.8.1): dependencies: '@docsearch/css': 3.8.2 '@docsearch/js': 3.8.2(@algolia/client-search@5.40.1)(search-insights@2.17.3) @@ -18078,7 +18726,7 @@ snapshots: '@shikijs/transformers': 2.5.0 '@shikijs/types': 2.5.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.2.4(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) + '@vitejs/plugin-vue': 5.2.4(rolldown-vite@7.2.7(@types/node@22.18.12)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.8.3)) '@vue/devtools-api': 7.7.7 '@vue/shared': 3.5.22 '@vueuse/core': 12.8.2(typescript@5.8.3) @@ -18087,7 +18735,7 @@ snapshots: mark.js: 8.11.1 minisearch: 7.2.0 shiki: 2.5.0 - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: rolldown-vite@7.2.7(@types/node@22.18.12)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue: 3.6.0-alpha.4(typescript@5.8.3) optionalDependencies: postcss: 8.5.6 @@ -18099,12 +18747,12 @@ snapshots: - axios - change-case - drauu + - esbuild - fuse.js - idb-keyval - jiti - jwt-decode - less - - lightningcss - nprogress - qrcode - react @@ -18121,49 +18769,45 @@ snapshots: - universal-cookie - yaml - vitepress@1.6.4(@algolia/client-search@5.40.1)(@types/node@22.18.12)(change-case@5.4.4)(jiti@2.6.1)(postcss@8.5.6)(search-insights@2.17.3)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1): + vitepress@2.0.0-alpha.15(@types/node@22.18.12)(change-case@5.4.4)(esbuild@0.25.11)(jiti@2.6.1)(oxc-minify@0.98.0)(postcss@8.5.6)(terser@5.44.0)(tsx@4.20.6)(typescript@5.9.3)(yaml@2.8.1): dependencies: - '@docsearch/css': 3.8.2 - '@docsearch/js': 3.8.2(@algolia/client-search@5.40.1)(search-insights@2.17.3) - '@iconify-json/simple-icons': 1.2.55 - '@shikijs/core': 2.5.0 - '@shikijs/transformers': 2.5.0 - '@shikijs/types': 2.5.0 + '@docsearch/css': 4.3.2 + '@docsearch/js': 4.3.2 + '@iconify-json/simple-icons': 1.2.59 + '@shikijs/core': 3.15.0 + '@shikijs/transformers': 3.15.0 + '@shikijs/types': 3.15.0 '@types/markdown-it': 14.1.2 - '@vitejs/plugin-vue': 5.2.4(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3)) - '@vue/devtools-api': 7.7.7 - '@vue/shared': 3.5.22 - '@vueuse/core': 12.8.2(typescript@5.9.3) - '@vueuse/integrations': 12.8.2(change-case@5.4.4)(focus-trap@7.6.5)(typescript@5.9.3) - focus-trap: 7.6.5 + '@vitejs/plugin-vue': 6.0.1(rolldown-vite@7.2.7(@types/node@22.18.12)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1))(vue@3.6.0-alpha.4(typescript@5.9.3)) + '@vue/devtools-api': 8.0.5 + '@vue/shared': 3.5.24 + '@vueuse/core': 14.0.0(vue@3.6.0-alpha.4(typescript@5.9.3)) + '@vueuse/integrations': 14.0.0(change-case@5.4.4)(focus-trap@7.6.6)(vue@3.6.0-alpha.4(typescript@5.9.3)) + focus-trap: 7.6.6 mark.js: 8.11.1 minisearch: 7.2.0 - shiki: 2.5.0 - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + shiki: 3.15.0 + vite: rolldown-vite@7.2.7(@types/node@22.18.12)(esbuild@0.25.11)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) vue: 3.6.0-alpha.4(typescript@5.9.3) optionalDependencies: + oxc-minify: 0.98.0 postcss: 8.5.6 transitivePeerDependencies: - - '@algolia/client-search' - '@types/node' - - '@types/react' - async-validator - axios - change-case - drauu + - esbuild - fuse.js - idb-keyval - jiti - jwt-decode - less - - lightningcss - nprogress - qrcode - - react - - react-dom - sass - sass-embedded - - search-insights - sortablejs - stylus - sugarss @@ -18173,10 +18817,10 @@ snapshots: - universal-cookie - yaml - vitest@4.0.4(@types/debug@4.1.12)(@types/node@22.18.12)(jiti@2.6.1)(jsdom@27.2.0)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): + vitest@4.0.4(@types/debug@4.1.12)(@types/node@22.18.12)(jiti@2.6.1)(jsdom@27.2.0)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1): dependencies: '@vitest/expect': 4.0.4 - '@vitest/mocker': 4.0.4(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) + '@vitest/mocker': 4.0.4(vite@7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1)) '@vitest/pretty-format': 4.0.4 '@vitest/runner': 4.0.4 '@vitest/snapshot': 4.0.4 @@ -18193,7 +18837,7 @@ snapshots: tinyexec: 0.3.2 tinyglobby: 0.2.15 tinyrainbow: 3.0.3 - vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) + vite: 7.1.12(@types/node@22.18.12)(jiti@2.6.1)(lightningcss@1.30.2)(terser@5.44.0)(tsx@4.20.6)(yaml@2.8.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 diff --git a/tsconfig.typedoc.json b/tsconfig.typedoc.json new file mode 100644 index 000000000..bcd9c3c61 --- /dev/null +++ b/tsconfig.typedoc.json @@ -0,0 +1,4 @@ +{ + "extends": "./tsconfig.json", + "include": ["packages/global.d.ts", "packages/*/src"] +} diff --git a/typedoc.config.mjs b/typedoc.config.mjs new file mode 100644 index 000000000..5de3c09f3 --- /dev/null +++ b/typedoc.config.mjs @@ -0,0 +1,34 @@ +// @ts-check + +/** @type {import('typedoc').TypeDocOptions & import('typedoc-plugin-markdown').PluginOptions & { docsRoot?: string } } */ +export default { + /** + * typedoc options + * ref: https://typedoc.org/documents/Options.html + */ + entryPoints: ['./packages/vue-i18n/src/index.ts'], + out: 'docs/api-v12', + plugin: ['typedoc-plugin-markdown', 'typedoc-vitepress-theme'], + readme: 'none', + groupOrder: ['Variables', 'Functions', 'Class'], + /** + * typedoc-plugin-markdown options + * ref: https://typedoc-plugin-markdown.org/docs/options + */ + entryFileName: 'index', + hidePageTitle: false, + useCodeBlocks: true, + disableSources: true, + indexFormat: 'table', + parametersFormat: 'table', + interfacePropertiesFormat: 'table', + classPropertiesFormat: 'table', + propertyMembersFormat: 'table', + typeAliasPropertiesFormat: 'table', + enumMembersFormat: 'table', + /** + * typedoc-vitepress-theme options + * ref: https://typedoc-plugin-markdown.org/plugins/vitepress/options + */ + docsRoot: './docs' +}