{"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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,wBAAuB;AACvB,4BAA+B;AAOxB,MAAM,iBAAiB,CAC5B,SACA,SACA,kBACkB;AAClB,QAAM,YAAY,IAAI,kBAAAA,QAAW,EAAE,QAAQ,CAAC,EAAE,UAAU;AAExD,aAAO,sCAAe,WAAwB,SAAS,aAAa;AACtE;","names":["Negotiator"]}