{"version":3,"sources":["../../../src/localization/localeDetector.ts"],"sourcesContent":["import { LocalesValues, type Locales } from '@intlayer/config/client';\nimport Negotiator from 'negotiator';\nimport { localeResolver } from './localeResolver';\n\n/**\n * Detects the locale from the request headers\n *\n * Headers are provided by the browser and can be used to determine the user's preferred language\n */\nexport const localeDetector = (\n  headers: Record<string, string | undefined>,\n  locales?: Locales[],\n  defaultLocale?: Locales\n): LocalesValues => {\n  const languages = new Negotiator({ headers }).languages();\n\n  return localeResolver(languages as Locales[], locales, defaultLocale);\n};\n"],"mappings":"AACA,OAAO,gBAAgB;AACvB,SAAS,sBAAsB;AAOxB,MAAM,iBAAiB,CAC5B,SACA,SACA,kBACkB;AAClB,QAAM,YAAY,IAAI,WAAW,EAAE,QAAQ,CAAC,EAAE,UAAU;AAExD,SAAO,eAAe,WAAwB,SAAS,aAAa;AACtE;","names":[]}