@fluenti/nuxt 0.6.1 → 0.6.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (111) hide show
  1. package/dist/detectors-BBAX-ZGA.cjs +1 -2
  2. package/dist/detectors-Ds481Wx6.js +0 -2
  3. package/dist/locale-head-Ezrd93Ax.js +0 -2
  4. package/dist/locale-head-jGmp0Xnb.cjs +1 -2
  5. package/dist/module.cjs +1 -2
  6. package/dist/module.js +0 -2
  7. package/dist/packages/nuxt/src/devtools.d.ts +0 -1
  8. package/dist/packages/nuxt/src/isr-validation.d.ts +0 -1
  9. package/dist/packages/nuxt/src/module.d.ts +0 -1
  10. package/dist/packages/nuxt/src/page-meta-transform.d.ts +0 -1
  11. package/dist/packages/nuxt/src/runtime/client.d.ts +0 -1
  12. package/dist/packages/nuxt/src/runtime/components/NuxtLinkLocale.d.ts +0 -1
  13. package/dist/packages/nuxt/src/runtime/composables.d.ts +0 -1
  14. package/dist/packages/nuxt/src/runtime/define-i18n-route.d.ts +0 -1
  15. package/dist/packages/nuxt/src/runtime/detectors/cookie.d.ts +0 -1
  16. package/dist/packages/nuxt/src/runtime/detectors/domain.d.ts +0 -1
  17. package/dist/packages/nuxt/src/runtime/detectors/header.d.ts +0 -1
  18. package/dist/packages/nuxt/src/runtime/detectors/index.d.ts +0 -1
  19. package/dist/packages/nuxt/src/runtime/detectors/path.d.ts +0 -1
  20. package/dist/packages/nuxt/src/runtime/detectors/query.d.ts +0 -1
  21. package/dist/packages/nuxt/src/runtime/index.d.ts +0 -1
  22. package/dist/packages/nuxt/src/runtime/locale-head.d.ts +0 -1
  23. package/dist/packages/nuxt/src/runtime/middleware/locale-redirect.d.ts +0 -1
  24. package/dist/packages/nuxt/src/runtime/page-extend.d.ts +0 -1
  25. package/dist/packages/nuxt/src/runtime/path-utils.d.ts +0 -1
  26. package/dist/packages/nuxt/src/runtime/plugin.d.ts +0 -1
  27. package/dist/packages/nuxt/src/runtime/server/locale-redirect.d.ts +0 -1
  28. package/dist/packages/nuxt/src/runtime/standalone-composables.d.ts +0 -1
  29. package/dist/packages/nuxt/src/runtime/utils/parse-accept-language.d.ts +0 -1
  30. package/dist/packages/nuxt/src/sitemap.d.ts +0 -1
  31. package/dist/packages/nuxt/src/types.d.ts +0 -1
  32. package/dist/page-extend-Bnxtcvnr.js +0 -2
  33. package/dist/page-extend-DqTELmU6.cjs +1 -2
  34. package/dist/parse-accept-language-BJacT1Mq.js +0 -2
  35. package/dist/parse-accept-language-ZKitIm3n.cjs +1 -2
  36. package/dist/path-utils-BQIsp_or.cjs +1 -2
  37. package/dist/path-utils-BcvXLCGi.js +0 -2
  38. package/dist/runtime/client.cjs +1 -2
  39. package/dist/runtime/client.js +0 -2
  40. package/dist/runtime/components/NuxtLinkLocale.cjs +1 -2
  41. package/dist/runtime/components/NuxtLinkLocale.js +0 -2
  42. package/dist/runtime/composables.cjs +1 -2
  43. package/dist/runtime/composables.js +0 -2
  44. package/dist/runtime/define-i18n-route.cjs +1 -2
  45. package/dist/runtime/define-i18n-route.js +0 -2
  46. package/dist/runtime/detectors/domain.cjs +1 -2
  47. package/dist/runtime/detectors/domain.js +0 -2
  48. package/dist/runtime/middleware/locale-redirect.cjs +1 -2
  49. package/dist/runtime/middleware/locale-redirect.js +0 -2
  50. package/dist/runtime/plugin.cjs +1 -2
  51. package/dist/runtime/plugin.js +0 -2
  52. package/dist/runtime/server/locale-redirect.cjs +1 -2
  53. package/dist/runtime/server/locale-redirect.js +0 -2
  54. package/dist/runtime/standalone-composables.cjs +1 -2
  55. package/dist/runtime/standalone-composables.js +0 -2
  56. package/package.json +3 -3
  57. package/dist/detectors-BBAX-ZGA.cjs.map +0 -1
  58. package/dist/detectors-Ds481Wx6.js.map +0 -1
  59. package/dist/locale-head-Ezrd93Ax.js.map +0 -1
  60. package/dist/locale-head-jGmp0Xnb.cjs.map +0 -1
  61. package/dist/module.cjs.map +0 -1
  62. package/dist/module.js.map +0 -1
  63. package/dist/packages/nuxt/src/devtools.d.ts.map +0 -1
  64. package/dist/packages/nuxt/src/isr-validation.d.ts.map +0 -1
  65. package/dist/packages/nuxt/src/module.d.ts.map +0 -1
  66. package/dist/packages/nuxt/src/page-meta-transform.d.ts.map +0 -1
  67. package/dist/packages/nuxt/src/runtime/client.d.ts.map +0 -1
  68. package/dist/packages/nuxt/src/runtime/components/NuxtLinkLocale.d.ts.map +0 -1
  69. package/dist/packages/nuxt/src/runtime/composables.d.ts.map +0 -1
  70. package/dist/packages/nuxt/src/runtime/define-i18n-route.d.ts.map +0 -1
  71. package/dist/packages/nuxt/src/runtime/detectors/cookie.d.ts.map +0 -1
  72. package/dist/packages/nuxt/src/runtime/detectors/domain.d.ts.map +0 -1
  73. package/dist/packages/nuxt/src/runtime/detectors/header.d.ts.map +0 -1
  74. package/dist/packages/nuxt/src/runtime/detectors/index.d.ts.map +0 -1
  75. package/dist/packages/nuxt/src/runtime/detectors/path.d.ts.map +0 -1
  76. package/dist/packages/nuxt/src/runtime/detectors/query.d.ts.map +0 -1
  77. package/dist/packages/nuxt/src/runtime/index.d.ts.map +0 -1
  78. package/dist/packages/nuxt/src/runtime/locale-head.d.ts.map +0 -1
  79. package/dist/packages/nuxt/src/runtime/middleware/locale-redirect.d.ts.map +0 -1
  80. package/dist/packages/nuxt/src/runtime/page-extend.d.ts.map +0 -1
  81. package/dist/packages/nuxt/src/runtime/path-utils.d.ts.map +0 -1
  82. package/dist/packages/nuxt/src/runtime/plugin.d.ts.map +0 -1
  83. package/dist/packages/nuxt/src/runtime/server/locale-redirect.d.ts.map +0 -1
  84. package/dist/packages/nuxt/src/runtime/standalone-composables.d.ts.map +0 -1
  85. package/dist/packages/nuxt/src/runtime/utils/parse-accept-language.d.ts.map +0 -1
  86. package/dist/packages/nuxt/src/sitemap.d.ts.map +0 -1
  87. package/dist/packages/nuxt/src/types.d.ts.map +0 -1
  88. package/dist/page-extend-Bnxtcvnr.js.map +0 -1
  89. package/dist/page-extend-DqTELmU6.cjs.map +0 -1
  90. package/dist/parse-accept-language-BJacT1Mq.js.map +0 -1
  91. package/dist/parse-accept-language-ZKitIm3n.cjs.map +0 -1
  92. package/dist/path-utils-BQIsp_or.cjs.map +0 -1
  93. package/dist/path-utils-BcvXLCGi.js.map +0 -1
  94. package/dist/runtime/client.cjs.map +0 -1
  95. package/dist/runtime/client.js.map +0 -1
  96. package/dist/runtime/components/NuxtLinkLocale.cjs.map +0 -1
  97. package/dist/runtime/components/NuxtLinkLocale.js.map +0 -1
  98. package/dist/runtime/composables.cjs.map +0 -1
  99. package/dist/runtime/composables.js.map +0 -1
  100. package/dist/runtime/define-i18n-route.cjs.map +0 -1
  101. package/dist/runtime/define-i18n-route.js.map +0 -1
  102. package/dist/runtime/detectors/domain.cjs.map +0 -1
  103. package/dist/runtime/detectors/domain.js.map +0 -1
  104. package/dist/runtime/middleware/locale-redirect.cjs.map +0 -1
  105. package/dist/runtime/middleware/locale-redirect.js.map +0 -1
  106. package/dist/runtime/plugin.cjs.map +0 -1
  107. package/dist/runtime/plugin.js.map +0 -1
  108. package/dist/runtime/server/locale-redirect.cjs.map +0 -1
  109. package/dist/runtime/server/locale-redirect.js.map +0 -1
  110. package/dist/runtime/standalone-composables.cjs.map +0 -1
  111. package/dist/runtime/standalone-composables.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"locale-redirect.cjs","names":[],"sources":["../../../src/runtime/server/locale-redirect.ts"],"sourcesContent":["import { defineEventHandler, sendRedirect, getHeader, getCookie, getQuery } from 'h3'\nimport { parseAcceptLanguage } from '../utils/parse-accept-language'\n\n/**\n * Nitro server middleware for locale-based redirects.\n *\n * Runs at the Nitro layer (before Vue Router), which is earlier in the\n * request lifecycle. This prevents any flash of wrong-locale content\n * during SSR, as the redirect happens before page rendering starts.\n *\n * Only active when strategy is 'prefix' or 'prefix_and_default'.\n */\nexport default defineEventHandler((event) => {\n const url = event.path ?? '/'\n\n // Skip non-page requests (assets, API routes, etc.)\n if (url.startsWith('/_nuxt/') || url.startsWith('/api/') || url.startsWith('/__nuxt')) {\n return\n }\n\n // Skip if URL already has a file extension (static assets)\n if (/\\.\\w{2,5}$/.test(url)) {\n return\n }\n\n // Read config from runtime config\n const config = (event.context['__fluenti_config'] ??\n useRuntimeConfigFromEvent(event)) as {\n locales: string[]\n defaultLocale: string\n strategy: string\n detectOrder?: string[]\n queryParamKey?: string\n detectBrowserLanguage?: { useCookie?: boolean; cookieKey?: string; fallbackLocale?: string }\n } | undefined\n\n if (!config) return\n\n // Only handle prefix/prefix_and_default strategies\n if (config.strategy !== 'prefix' && config.strategy !== 'prefix_and_default') {\n return\n }\n\n // Check if the URL already has a locale prefix\n const pathSegments = url.split('/').filter(Boolean)\n const firstSegment = pathSegments[0]\n\n if (firstSegment && config.locales.includes(firstSegment)) {\n // URL already has a valid locale prefix\n return\n }\n\n // For prefix_and_default, unprefixed URLs are allowed for the default locale\n // (they will be served without redirect)\n // For prefix strategy, we must redirect\n\n // Detect locale from various sources\n let detectedLocale = config.defaultLocale\n\n // Detection chain: query → cookie → Accept-Language → default\n const queryKey = config.queryParamKey ?? 'locale'\n const queryLocale = getQuery(event)[queryKey]\n\n if (typeof queryLocale === 'string' && config.locales.includes(queryLocale)) {\n detectedLocale = queryLocale\n } else {\n const cookieKey = config.detectBrowserLanguage?.cookieKey ?? 'fluenti_locale'\n const cookieLocale = getCookie(event, cookieKey)\n if (cookieLocale && config.locales.includes(cookieLocale)) {\n detectedLocale = cookieLocale\n } else {\n const acceptLang = getHeader(event, 'accept-language')\n if (acceptLang) {\n const preferred = parseAcceptLanguage(acceptLang, config.locales)\n if (preferred) detectedLocale = preferred\n }\n }\n }\n\n // Redirect to locale-prefixed URL\n const cleanUrl = url === '/' ? '' : url\n const redirectUrl = `/${detectedLocale}${cleanUrl}`\n\n return sendRedirect(event, redirectUrl, 302)\n})\n\n/**\n * Read Fluenti runtime config from the event context.\n */\nfunction useRuntimeConfigFromEvent(event: { context: Record<string, unknown> }) {\n try {\n const nitroConfig = (event.context['nitro'] ?? event.context['__nitro']) as Record<string, unknown> | undefined\n const runtimeConfig = (nitroConfig?.['runtimeConfig'] ?? {}) as Record<string, unknown>\n const publicConfig = (runtimeConfig['public'] ?? {}) as Record<string, unknown>\n const fluentiConfig = publicConfig['fluenti']\n if (fluentiConfig) {\n event.context['__fluenti_config'] = fluentiConfig\n }\n return fluentiConfig\n } catch {\n return undefined\n }\n}\n"],"mappings":"4GAYA,IAAA,GAAA,EAAA,EAAA,oBAAmC,GAAU,CAC3C,IAAM,EAAM,EAAM,MAAQ,IAQ1B,GALI,EAAI,WAAW,UAAU,EAAI,EAAI,WAAW,QAAQ,EAAI,EAAI,WAAW,UAAU,EAKjF,aAAa,KAAK,EAAI,CACxB,OAIF,IAAM,EAAU,EAAM,QAAQ,kBAC5B,EAA0B,EAAM,CAYlC,GAHI,CAAC,GAGD,EAAO,WAAa,UAAY,EAAO,WAAa,qBACtD,OAKF,IAAM,EADe,EAAI,MAAM,IAAI,CAAC,OAAO,QAAQ,CACjB,GAElC,GAAI,GAAgB,EAAO,QAAQ,SAAS,EAAa,CAEvD,OAQF,IAAI,EAAiB,EAAO,cAGtB,EAAW,EAAO,eAAiB,SACnC,GAAA,EAAA,EAAA,UAAuB,EAAM,CAAC,GAEpC,GAAI,OAAO,GAAgB,UAAY,EAAO,QAAQ,SAAS,EAAY,CACzE,EAAiB,MACZ,CAEL,IAAM,GAAA,EAAA,EAAA,WAAyB,EADb,EAAO,uBAAuB,WAAa,iBACb,CAChD,GAAI,GAAgB,EAAO,QAAQ,SAAS,EAAa,CACvD,EAAiB,MACZ,CACL,IAAM,GAAA,EAAA,EAAA,WAAuB,EAAO,kBAAkB,CACtD,GAAI,EAAY,CACd,IAAM,EAAY,EAAA,EAAoB,EAAY,EAAO,QAAQ,CAC7D,IAAW,EAAiB,KAStC,OAAA,EAAA,EAAA,cAAoB,EAFA,IAAI,IADP,IAAQ,IAAM,GAAK,IAGI,IAAI,EAC5C,CAKF,SAAS,EAA0B,EAA6C,CAC9E,GAAI,CAIF,IAAM,KAHe,EAAM,QAAQ,OAAY,EAAM,QAAQ,UACxB,eAAoB,EAAE,EACvB,QAAa,EAAE,EAChB,QAInC,OAHI,IACF,EAAM,QAAQ,iBAAsB,GAE/B,OACD,CACN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"locale-redirect.js","names":[],"sources":["../../../src/runtime/server/locale-redirect.ts"],"sourcesContent":["import { defineEventHandler, sendRedirect, getHeader, getCookie, getQuery } from 'h3'\nimport { parseAcceptLanguage } from '../utils/parse-accept-language'\n\n/**\n * Nitro server middleware for locale-based redirects.\n *\n * Runs at the Nitro layer (before Vue Router), which is earlier in the\n * request lifecycle. This prevents any flash of wrong-locale content\n * during SSR, as the redirect happens before page rendering starts.\n *\n * Only active when strategy is 'prefix' or 'prefix_and_default'.\n */\nexport default defineEventHandler((event) => {\n const url = event.path ?? '/'\n\n // Skip non-page requests (assets, API routes, etc.)\n if (url.startsWith('/_nuxt/') || url.startsWith('/api/') || url.startsWith('/__nuxt')) {\n return\n }\n\n // Skip if URL already has a file extension (static assets)\n if (/\\.\\w{2,5}$/.test(url)) {\n return\n }\n\n // Read config from runtime config\n const config = (event.context['__fluenti_config'] ??\n useRuntimeConfigFromEvent(event)) as {\n locales: string[]\n defaultLocale: string\n strategy: string\n detectOrder?: string[]\n queryParamKey?: string\n detectBrowserLanguage?: { useCookie?: boolean; cookieKey?: string; fallbackLocale?: string }\n } | undefined\n\n if (!config) return\n\n // Only handle prefix/prefix_and_default strategies\n if (config.strategy !== 'prefix' && config.strategy !== 'prefix_and_default') {\n return\n }\n\n // Check if the URL already has a locale prefix\n const pathSegments = url.split('/').filter(Boolean)\n const firstSegment = pathSegments[0]\n\n if (firstSegment && config.locales.includes(firstSegment)) {\n // URL already has a valid locale prefix\n return\n }\n\n // For prefix_and_default, unprefixed URLs are allowed for the default locale\n // (they will be served without redirect)\n // For prefix strategy, we must redirect\n\n // Detect locale from various sources\n let detectedLocale = config.defaultLocale\n\n // Detection chain: query → cookie → Accept-Language → default\n const queryKey = config.queryParamKey ?? 'locale'\n const queryLocale = getQuery(event)[queryKey]\n\n if (typeof queryLocale === 'string' && config.locales.includes(queryLocale)) {\n detectedLocale = queryLocale\n } else {\n const cookieKey = config.detectBrowserLanguage?.cookieKey ?? 'fluenti_locale'\n const cookieLocale = getCookie(event, cookieKey)\n if (cookieLocale && config.locales.includes(cookieLocale)) {\n detectedLocale = cookieLocale\n } else {\n const acceptLang = getHeader(event, 'accept-language')\n if (acceptLang) {\n const preferred = parseAcceptLanguage(acceptLang, config.locales)\n if (preferred) detectedLocale = preferred\n }\n }\n }\n\n // Redirect to locale-prefixed URL\n const cleanUrl = url === '/' ? '' : url\n const redirectUrl = `/${detectedLocale}${cleanUrl}`\n\n return sendRedirect(event, redirectUrl, 302)\n})\n\n/**\n * Read Fluenti runtime config from the event context.\n */\nfunction useRuntimeConfigFromEvent(event: { context: Record<string, unknown> }) {\n try {\n const nitroConfig = (event.context['nitro'] ?? event.context['__nitro']) as Record<string, unknown> | undefined\n const runtimeConfig = (nitroConfig?.['runtimeConfig'] ?? {}) as Record<string, unknown>\n const publicConfig = (runtimeConfig['public'] ?? {}) as Record<string, unknown>\n const fluentiConfig = publicConfig['fluenti']\n if (fluentiConfig) {\n event.context['__fluenti_config'] = fluentiConfig\n }\n return fluentiConfig\n } catch {\n return undefined\n }\n}\n"],"mappings":";;;AAYA,IAAA,IAAe,GAAoB,MAAU;CAC3C,IAAM,IAAM,EAAM,QAAQ;AAQ1B,KALI,EAAI,WAAW,UAAU,IAAI,EAAI,WAAW,QAAQ,IAAI,EAAI,WAAW,UAAU,IAKjF,aAAa,KAAK,EAAI,CACxB;CAIF,IAAM,IAAU,EAAM,QAAQ,oBAC5B,EAA0B,EAAM;AAYlC,KAHI,CAAC,KAGD,EAAO,aAAa,YAAY,EAAO,aAAa,qBACtD;CAKF,IAAM,IADe,EAAI,MAAM,IAAI,CAAC,OAAO,QAAQ,CACjB;AAElC,KAAI,KAAgB,EAAO,QAAQ,SAAS,EAAa,CAEvD;CAQF,IAAI,IAAiB,EAAO,eAGtB,IAAW,EAAO,iBAAiB,UACnC,IAAc,EAAS,EAAM,CAAC;AAEpC,KAAI,OAAO,KAAgB,YAAY,EAAO,QAAQ,SAAS,EAAY,CACzE,KAAiB;MACZ;EAEL,IAAM,IAAe,EAAU,GADb,EAAO,uBAAuB,aAAa,iBACb;AAChD,MAAI,KAAgB,EAAO,QAAQ,SAAS,EAAa,CACvD,KAAiB;OACZ;GACL,IAAM,IAAa,EAAU,GAAO,kBAAkB;AACtD,OAAI,GAAY;IACd,IAAM,IAAY,EAAoB,GAAY,EAAO,QAAQ;AACjE,IAAI,MAAW,IAAiB;;;;AAStC,QAAO,EAAa,GAFA,IAAI,IADP,MAAQ,MAAM,KAAK,KAGI,IAAI;EAC5C;AAKF,SAAS,EAA0B,GAA6C;AAC9E,KAAI;EAIF,IAAM,OAHe,EAAM,QAAQ,SAAY,EAAM,QAAQ,UACxB,iBAAoB,EAAE,EACvB,UAAa,EAAE,EAChB;AAInC,SAHI,MACF,EAAM,QAAQ,mBAAsB,IAE/B;SACD;AACN"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"standalone-composables.cjs","names":[],"sources":["../../src/runtime/standalone-composables.ts"],"sourcesContent":["import { computed } from 'vue'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RouteLocationRaw, RouteLocationResolved, Router } from 'vue-router'\nimport { localePath, switchLocalePath } from './path-utils'\nimport type { FluentNuxtRuntimeConfig } from '../types'\nimport type { LocaleHeadMeta, LocaleHeadOptions } from './locale-head'\nimport { buildLocaleHead } from './locale-head'\n\n/**\n * Standalone composable for locale-prefixed paths (no Nuxt dependency).\n * Accepts explicit locale ref and config instead of reading from Nuxt context.\n */\nexport function useLocalePath(\n locale: Ref<string>,\n config: FluentNuxtRuntimeConfig,\n): (path: string, targetLocale?: string) => string {\n return (path: string, targetLocale?: string) => {\n return localePath(\n path,\n targetLocale ?? locale.value,\n config.defaultLocale,\n config.strategy,\n )\n }\n}\n\n/**\n * Standalone composable for switch-locale paths (no Nuxt dependency).\n * Accepts explicit current path ref and config.\n */\nexport function useSwitchLocalePath(\n currentPath: Ref<string>,\n config: FluentNuxtRuntimeConfig,\n): (locale: string) => string {\n return (newLocale: string) => {\n return switchLocalePath(\n currentPath.value,\n newLocale,\n config.locales,\n config.defaultLocale,\n config.strategy,\n )\n }\n}\n\n/**\n * Standalone composable for locale route resolution (no Nuxt dependency).\n * Accepts explicit locale ref, router, and config.\n */\nexport function useLocaleRoute(\n locale: Ref<string>,\n router: Router,\n config: FluentNuxtRuntimeConfig,\n): (to: RouteLocationRaw, targetLocale?: string) => RouteLocationResolved {\n return (to: RouteLocationRaw, targetLocale?: string) => {\n const resolvedLocale = targetLocale ?? locale.value\n if (typeof to === 'string') {\n const path = localePath(to, resolvedLocale, config.defaultLocale, config.strategy)\n return router.resolve(path)\n }\n if ('path' in to && to.path) {\n const path = localePath(to.path, resolvedLocale, config.defaultLocale, config.strategy)\n return router.resolve({ ...to, path })\n }\n return router.resolve(to)\n }\n}\n\n/**\n * Standalone composable for locale-aware head metadata (no Nuxt dependency).\n * Accepts explicit locale, path, and config refs.\n */\nexport function useLocaleHead(\n locale: Ref<string>,\n currentPath: Ref<string>,\n config: FluentNuxtRuntimeConfig,\n options?: LocaleHeadOptions,\n): ComputedRef<LocaleHeadMeta> {\n return computed(() => {\n return buildLocaleHead(locale.value, currentPath.value, config, options)\n })\n}\n"],"mappings":"wMAYA,SAAgB,EACd,EACA,EACiD,CACjD,OAAQ,EAAc,IACb,EAAA,EACL,EACA,GAAgB,EAAO,MACvB,EAAO,cACP,EAAO,SACR,CAQL,SAAgB,EACd,EACA,EAC4B,CAC5B,MAAQ,IACC,EAAA,EACL,EAAY,MACZ,EACA,EAAO,QACP,EAAO,cACP,EAAO,SACR,CAQL,SAAgB,EACd,EACA,EACA,EACwE,CACxE,OAAQ,EAAsB,IAA0B,CACtD,IAAM,EAAiB,GAAgB,EAAO,MAC9C,GAAI,OAAO,GAAO,SAAU,CAC1B,IAAM,EAAO,EAAA,EAAW,EAAI,EAAgB,EAAO,cAAe,EAAO,SAAS,CAClF,OAAO,EAAO,QAAQ,EAAK,CAE7B,GAAI,SAAU,GAAM,EAAG,KAAM,CAC3B,IAAM,EAAO,EAAA,EAAW,EAAG,KAAM,EAAgB,EAAO,cAAe,EAAO,SAAS,CACvF,OAAO,EAAO,QAAQ,CAAE,GAAG,EAAI,OAAM,CAAC,CAExC,OAAO,EAAO,QAAQ,EAAG,EAQ7B,SAAgB,EACd,EACA,EACA,EACA,EAC6B,CAC7B,OAAA,EAAA,EAAA,cACS,EAAA,EAAgB,EAAO,MAAO,EAAY,MAAO,EAAQ,EAAQ,CACxE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"standalone-composables.js","names":[],"sources":["../../src/runtime/standalone-composables.ts"],"sourcesContent":["import { computed } from 'vue'\nimport type { ComputedRef, Ref } from 'vue'\nimport type { RouteLocationRaw, RouteLocationResolved, Router } from 'vue-router'\nimport { localePath, switchLocalePath } from './path-utils'\nimport type { FluentNuxtRuntimeConfig } from '../types'\nimport type { LocaleHeadMeta, LocaleHeadOptions } from './locale-head'\nimport { buildLocaleHead } from './locale-head'\n\n/**\n * Standalone composable for locale-prefixed paths (no Nuxt dependency).\n * Accepts explicit locale ref and config instead of reading from Nuxt context.\n */\nexport function useLocalePath(\n locale: Ref<string>,\n config: FluentNuxtRuntimeConfig,\n): (path: string, targetLocale?: string) => string {\n return (path: string, targetLocale?: string) => {\n return localePath(\n path,\n targetLocale ?? locale.value,\n config.defaultLocale,\n config.strategy,\n )\n }\n}\n\n/**\n * Standalone composable for switch-locale paths (no Nuxt dependency).\n * Accepts explicit current path ref and config.\n */\nexport function useSwitchLocalePath(\n currentPath: Ref<string>,\n config: FluentNuxtRuntimeConfig,\n): (locale: string) => string {\n return (newLocale: string) => {\n return switchLocalePath(\n currentPath.value,\n newLocale,\n config.locales,\n config.defaultLocale,\n config.strategy,\n )\n }\n}\n\n/**\n * Standalone composable for locale route resolution (no Nuxt dependency).\n * Accepts explicit locale ref, router, and config.\n */\nexport function useLocaleRoute(\n locale: Ref<string>,\n router: Router,\n config: FluentNuxtRuntimeConfig,\n): (to: RouteLocationRaw, targetLocale?: string) => RouteLocationResolved {\n return (to: RouteLocationRaw, targetLocale?: string) => {\n const resolvedLocale = targetLocale ?? locale.value\n if (typeof to === 'string') {\n const path = localePath(to, resolvedLocale, config.defaultLocale, config.strategy)\n return router.resolve(path)\n }\n if ('path' in to && to.path) {\n const path = localePath(to.path, resolvedLocale, config.defaultLocale, config.strategy)\n return router.resolve({ ...to, path })\n }\n return router.resolve(to)\n }\n}\n\n/**\n * Standalone composable for locale-aware head metadata (no Nuxt dependency).\n * Accepts explicit locale, path, and config refs.\n */\nexport function useLocaleHead(\n locale: Ref<string>,\n currentPath: Ref<string>,\n config: FluentNuxtRuntimeConfig,\n options?: LocaleHeadOptions,\n): ComputedRef<LocaleHeadMeta> {\n return computed(() => {\n return buildLocaleHead(locale.value, currentPath.value, config, options)\n })\n}\n"],"mappings":";;;;AAYA,SAAgB,EACd,GACA,GACiD;AACjD,SAAQ,GAAc,MACb,EACL,GACA,KAAgB,EAAO,OACvB,EAAO,eACP,EAAO,SACR;;AAQL,SAAgB,EACd,GACA,GAC4B;AAC5B,SAAQ,MACC,EACL,EAAY,OACZ,GACA,EAAO,SACP,EAAO,eACP,EAAO,SACR;;AAQL,SAAgB,EACd,GACA,GACA,GACwE;AACxE,SAAQ,GAAsB,MAA0B;EACtD,IAAM,IAAiB,KAAgB,EAAO;AAC9C,MAAI,OAAO,KAAO,UAAU;GAC1B,IAAM,IAAO,EAAW,GAAI,GAAgB,EAAO,eAAe,EAAO,SAAS;AAClF,UAAO,EAAO,QAAQ,EAAK;;AAE7B,MAAI,UAAU,KAAM,EAAG,MAAM;GAC3B,IAAM,IAAO,EAAW,EAAG,MAAM,GAAgB,EAAO,eAAe,EAAO,SAAS;AACvF,UAAO,EAAO,QAAQ;IAAE,GAAG;IAAI;IAAM,CAAC;;AAExC,SAAO,EAAO,QAAQ,EAAG;;;AAQ7B,SAAgB,EACd,GACA,GACA,GACA,GAC6B;AAC7B,QAAO,QACE,EAAgB,EAAO,OAAO,EAAY,OAAO,GAAQ,EAAQ,CACxE"}