@wix/headless-site 1.12.0 → 1.18.0

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.
@@ -8,8 +8,8 @@ var _multilingualHeader = require("./multilingual-header");
8
8
  * Based on https://github.com/wix-private/metro/blob/master/packages/wix-headers/src/index.ts
9
9
  */
10
10
 
11
- const getPassThroughHeaders = essentials => {
12
- const headers = [(0, _commonConfigHeader.getCommonConfigHeader)(), (0, _multilingualHeader.getMultilingualHeader)(essentials)];
11
+ const getPassThroughHeaders = (locale, language) => {
12
+ const headers = [(0, _commonConfigHeader.getCommonConfigHeader)(), (0, _multilingualHeader.getMultilingualHeader)(locale, language)];
13
13
  return headers.reduce((res, header) => {
14
14
  const entries = Object.entries(header).filter(([_, value]) => !!value);
15
15
  res = {
@@ -1 +1 @@
1
- {"version":3,"names":["_commonConfigHeader","require","_multilingualHeader","getPassThroughHeaders","essentials","headers","getCommonConfigHeader","getMultilingualHeader","reduce","res","header","entries","Object","filter","_","value","fromEntries","exports"],"sources":["../../../src/headers/index.ts"],"sourcesContent":["/**\n * Based on https://github.com/wix-private/metro/blob/master/packages/wix-headers/src/index.ts\n */\n\nimport { getCommonConfigHeader } from './common-config-header';\nimport { getMultilingualHeader } from './multilingual-header';\nimport { Essentials } from '../types';\n\nexport const getPassThroughHeaders = (essentials?: Essentials) => {\n const headers = [getCommonConfigHeader(), getMultilingualHeader(essentials)];\n\n return headers.reduce((res, header) => {\n const entries = Object.entries(header).filter(([_, value]) => !!value);\n\n res = {\n ...res,\n ...Object.fromEntries(entries),\n };\n\n return res;\n }, {} as Record<string, string>);\n};\n"],"mappings":";;;;AAIA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AALA;AACA;AACA;;AAMO,MAAME,qBAAqB,GAAIC,UAAuB,IAAK;EAChE,MAAMC,OAAO,GAAG,CAAC,IAAAC,yCAAqB,EAAC,CAAC,EAAE,IAAAC,yCAAqB,EAACH,UAAU,CAAC,CAAC;EAE5E,OAAOC,OAAO,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,MAAM,KAAK;IACrC,MAAMC,OAAO,GAAGC,MAAM,CAACD,OAAO,CAACD,MAAM,CAAC,CAACG,MAAM,CAAC,CAAC,CAACC,CAAC,EAAEC,KAAK,CAAC,KAAK,CAAC,CAACA,KAAK,CAAC;IAEtEN,GAAG,GAAG;MACJ,GAAGA,GAAG;MACN,GAAGG,MAAM,CAACI,WAAW,CAACL,OAAO;IAC/B,CAAC;IAED,OAAOF,GAAG;EACZ,CAAC,EAAE,CAAC,CAA2B,CAAC;AAClC,CAAC;AAACQ,OAAA,CAAAd,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_commonConfigHeader","require","_multilingualHeader","getPassThroughHeaders","locale","language","headers","getCommonConfigHeader","getMultilingualHeader","reduce","res","header","entries","Object","filter","_","value","fromEntries","exports"],"sources":["../../../src/headers/index.ts"],"sourcesContent":["/**\n * Based on https://github.com/wix-private/metro/blob/master/packages/wix-headers/src/index.ts\n */\n\nimport { getCommonConfigHeader } from './common-config-header';\nimport { getMultilingualHeader } from './multilingual-header';\n\nexport const getPassThroughHeaders = (locale?: string, language?: string) => {\n const headers = [\n getCommonConfigHeader(),\n getMultilingualHeader(locale, language),\n ];\n\n return headers.reduce((res, header) => {\n const entries = Object.entries(header).filter(([_, value]) => !!value);\n\n res = {\n ...res,\n ...Object.fromEntries(entries),\n };\n\n return res;\n }, {} as Record<string, string>);\n};\n"],"mappings":";;;;AAIA,IAAAA,mBAAA,GAAAC,OAAA;AACA,IAAAC,mBAAA,GAAAD,OAAA;AALA;AACA;AACA;;AAKO,MAAME,qBAAqB,GAAGA,CAACC,MAAe,EAAEC,QAAiB,KAAK;EAC3E,MAAMC,OAAO,GAAG,CACd,IAAAC,yCAAqB,EAAC,CAAC,EACvB,IAAAC,yCAAqB,EAACJ,MAAM,EAAEC,QAAQ,CAAC,CACxC;EAED,OAAOC,OAAO,CAACG,MAAM,CAAC,CAACC,GAAG,EAAEC,MAAM,KAAK;IACrC,MAAMC,OAAO,GAAGC,MAAM,CAACD,OAAO,CAACD,MAAM,CAAC,CAACG,MAAM,CAAC,CAAC,CAACC,CAAC,EAAEC,KAAK,CAAC,KAAK,CAAC,CAACA,KAAK,CAAC;IAEtEN,GAAG,GAAG;MACJ,GAAGA,GAAG;MACN,GAAGG,MAAM,CAACI,WAAW,CAACL,OAAO;IAC/B,CAAC;IAED,OAAOF,GAAG;EACZ,CAAC,EAAE,CAAC,CAA2B,CAAC;AAClC,CAAC;AAACQ,OAAA,CAAAf,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -2,25 +2,17 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  exports.getMultilingualHeader = exports.MULTILINGUAL_HEADER_KEY = exports.DUMMY_INSTANCE_ID = void 0;
5
- var _multilingualUtils = require("../utils/multilingual-utils");
6
5
  const MULTILINGUAL_HEADER_KEY = exports.MULTILINGUAL_HEADER_KEY = 'x-wix-linguist';
7
6
 
8
7
  // Hard coded UUID for multilingual support https://wix.slack.com/archives/C04BFK71QHW/p1676992832913939 .
9
8
  const DUMMY_INSTANCE_ID = exports.DUMMY_INSTANCE_ID = '00000000-0000-0000-0000-000000000000';
10
- const getMultilingualHeader = essentials => {
11
- var _multilingual$support;
12
- const currentLocale = (0, _multilingualUtils.getCurrentLocale)(essentials);
13
- const multilingual = essentials == null ? void 0 : essentials.multilingual;
14
- if (currentLocale && multilingual != null && (_multilingual$support = multilingual.supportedLanguages) != null && _multilingual$support.length) {
15
- var _multilingual$support2;
16
- const language = multilingual == null || (_multilingual$support2 = multilingual.supportedLanguages) == null ? void 0 : _multilingual$support2.find(lang => (0, _multilingualUtils.getLanguageLocale)(lang) === currentLocale);
17
- if (language) {
18
- return {
19
- [MULTILINGUAL_HEADER_KEY]: `${language.languageCode}|${currentLocale.toLowerCase()}|${!!language.isPrimary}|${DUMMY_INSTANCE_ID}`
20
- };
21
- }
9
+ const getMultilingualHeader = (locale, language) => {
10
+ if (!locale || !language) {
11
+ return {};
22
12
  }
23
- return {};
13
+ return {
14
+ [MULTILINGUAL_HEADER_KEY]: `${language}|${locale.toLowerCase()}|false|${DUMMY_INSTANCE_ID}`
15
+ };
24
16
  };
25
17
  exports.getMultilingualHeader = getMultilingualHeader;
26
18
  //# sourceMappingURL=multilingual-header.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_multilingualUtils","require","MULTILINGUAL_HEADER_KEY","exports","DUMMY_INSTANCE_ID","getMultilingualHeader","essentials","_multilingual$support","currentLocale","getCurrentLocale","multilingual","supportedLanguages","length","_multilingual$support2","language","find","lang","getLanguageLocale","languageCode","toLowerCase","isPrimary"],"sources":["../../../src/headers/multilingual-header.ts"],"sourcesContent":["import type { Essentials, SupportedLanguage } from '../types';\nimport {\n getLanguageLocale,\n getCurrentLocale,\n} from '../utils/multilingual-utils';\n\nexport const MULTILINGUAL_HEADER_KEY = 'x-wix-linguist';\n\n// Hard coded UUID for multilingual support https://wix.slack.com/archives/C04BFK71QHW/p1676992832913939 .\nexport const DUMMY_INSTANCE_ID = '00000000-0000-0000-0000-000000000000';\n\nexport const getMultilingualHeader = (essentials?: Essentials) => {\n const currentLocale = getCurrentLocale(essentials);\n const multilingual = essentials?.multilingual;\n\n if (currentLocale && multilingual?.supportedLanguages?.length) {\n const language = multilingual?.supportedLanguages?.find(\n (lang: SupportedLanguage) => getLanguageLocale(lang) === currentLocale,\n );\n if (language) {\n return {\n [MULTILINGUAL_HEADER_KEY]: `${\n language.languageCode\n }|${currentLocale.toLowerCase()}|${!!language.isPrimary}|${DUMMY_INSTANCE_ID}`,\n };\n }\n }\n return {};\n};\n"],"mappings":";;;;AACA,IAAAA,kBAAA,GAAAC,OAAA;AAKO,MAAMC,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,gBAAgB;;AAEvD;AACO,MAAME,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,GAAG,sCAAsC;AAEhE,MAAMC,qBAAqB,GAAIC,UAAuB,IAAK;EAAA,IAAAC,qBAAA;EAChE,MAAMC,aAAa,GAAG,IAAAC,mCAAgB,EAACH,UAAU,CAAC;EAClD,MAAMI,YAAY,GAAGJ,UAAU,oBAAVA,UAAU,CAAEI,YAAY;EAE7C,IAAIF,aAAa,IAAIE,YAAY,aAAAH,qBAAA,GAAZG,YAAY,CAAEC,kBAAkB,aAAhCJ,qBAAA,CAAkCK,MAAM,EAAE;IAAA,IAAAC,sBAAA;IAC7D,MAAMC,QAAQ,GAAGJ,YAAY,aAAAG,sBAAA,GAAZH,YAAY,CAAEC,kBAAkB,qBAAhCE,sBAAA,CAAkCE,IAAI,CACpDC,IAAuB,IAAK,IAAAC,oCAAiB,EAACD,IAAI,CAAC,KAAKR,aAC3D,CAAC;IACD,IAAIM,QAAQ,EAAE;MACZ,OAAO;QACL,CAACZ,uBAAuB,GAAG,GACzBY,QAAQ,CAACI,YAAY,IACnBV,aAAa,CAACW,WAAW,CAAC,CAAC,IAAI,CAAC,CAACL,QAAQ,CAACM,SAAS,IAAIhB,iBAAiB;MAC9E,CAAC;IACH;EACF;EACA,OAAO,CAAC,CAAC;AACX,CAAC;AAACD,OAAA,CAAAE,qBAAA,GAAAA,qBAAA","ignoreList":[]}
1
+ {"version":3,"names":["MULTILINGUAL_HEADER_KEY","exports","DUMMY_INSTANCE_ID","getMultilingualHeader","locale","language","toLowerCase"],"sources":["../../../src/headers/multilingual-header.ts"],"sourcesContent":["export const MULTILINGUAL_HEADER_KEY = 'x-wix-linguist';\n\n// Hard coded UUID for multilingual support https://wix.slack.com/archives/C04BFK71QHW/p1676992832913939 .\nexport const DUMMY_INSTANCE_ID = '00000000-0000-0000-0000-000000000000';\n\nexport const getMultilingualHeader = (locale?: string, language?: string) => {\n if (!locale || !language) {\n return {};\n }\n\n return {\n [MULTILINGUAL_HEADER_KEY]: `${language}|${locale.toLowerCase()}|false|${DUMMY_INSTANCE_ID}`,\n };\n};\n"],"mappings":";;;;AAAO,MAAMA,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,gBAAgB;;AAEvD;AACO,MAAME,iBAAiB,GAAAD,OAAA,CAAAC,iBAAA,GAAG,sCAAsC;AAEhE,MAAMC,qBAAqB,GAAGA,CAACC,MAAe,EAAEC,QAAiB,KAAK;EAC3E,IAAI,CAACD,MAAM,IAAI,CAACC,QAAQ,EAAE;IACxB,OAAO,CAAC,CAAC;EACX;EAEA,OAAO;IACL,CAACL,uBAAuB,GAAG,GAAGK,QAAQ,IAAID,MAAM,CAACE,WAAW,CAAC,CAAC,UAAUJ,iBAAiB;EAC3F,CAAC;AACH,CAAC;AAACD,OAAA,CAAAE,qBAAA,GAAAA,qBAAA","ignoreList":[]}
@@ -15,22 +15,21 @@ const createHostModule = () => {
15
15
  host: ({
16
16
  essentials
17
17
  } = {}) => {
18
- const currentLocale = (0, _multilingualUtils.getCurrentLocale)(essentials);
19
18
  return {
20
19
  essentials: {
21
20
  get passThroughHeaders() {
22
- return (0, _headers.getPassThroughHeaders)(essentials);
21
+ const currentLanguage = (0, _multilingualUtils.getCurrentLanguage)(getNormalizedEssentials(essentials));
22
+ const currentLocale = (0, _multilingualUtils.getCurrentLocale)(getNormalizedEssentials(essentials));
23
+ return (0, _headers.getPassThroughHeaders)(currentLocale, currentLanguage);
23
24
  },
24
25
  get language() {
25
- var _window$essentials;
26
- return (essentials == null ? void 0 : essentials.language) ?? ((_window$essentials = window.essentials) == null ? void 0 : _window$essentials.language) ?? 'en';
26
+ return (0, _multilingualUtils.getCurrentLanguage)(getNormalizedEssentials(essentials));
27
27
  },
28
28
  get locale() {
29
- return currentLocale;
29
+ return (0, _multilingualUtils.getCurrentLocale)(getNormalizedEssentials(essentials));
30
30
  },
31
31
  get timezone() {
32
- var _window$essentials2;
33
- return (essentials == null ? void 0 : essentials.timezone) ?? ((_window$essentials2 = window.essentials) == null ? void 0 : _window$essentials2.timeZone) ?? 'UTC';
32
+ return getNormalizedEssentials(essentials).timezone ?? 'UTC';
34
33
  }
35
34
  },
36
35
  getMonitoringClient: () => {
@@ -51,5 +50,19 @@ const createHostModule = () => {
51
50
  }
52
51
  };
53
52
  };
53
+
54
+ // Normalize essentials by merging with window.essentials, handling property name differences
55
+ // Use a function to maintain reactivity to window.essentials changes
54
56
  exports.createHostModule = createHostModule;
57
+ const getNormalizedEssentials = essentials => {
58
+ var _window$essentials, _window$essentials2, _window$essentials3, _window$essentials4;
59
+ return {
60
+ ...essentials,
61
+ ...(typeof window !== 'undefined' ? window.essentials : {}),
62
+ language: (essentials == null ? void 0 : essentials.language) ?? (typeof window !== 'undefined' ? (_window$essentials = window.essentials) == null ? void 0 : _window$essentials.language : undefined) ?? 'en',
63
+ locale: (essentials == null ? void 0 : essentials.locale) ?? (typeof window !== 'undefined' ? (_window$essentials2 = window.essentials) == null ? void 0 : _window$essentials2.locale : undefined),
64
+ timezone: (essentials == null ? void 0 : essentials.timezone) ?? (typeof window !== 'undefined' ? (_window$essentials3 = window.essentials) == null ? void 0 : _window$essentials3.timeZone : undefined),
65
+ multilingual: (essentials == null ? void 0 : essentials.multilingual) ?? (typeof window !== 'undefined' ? (_window$essentials4 = window.essentials) == null ? void 0 : _window$essentials4.multilingual : undefined)
66
+ };
67
+ };
55
68
  //# sourceMappingURL=host-module.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_monitoringVelo","require","_headers","_authUtils","_multilingualUtils","createHostModule","__type","create","host","essentials","currentLocale","getCurrentLocale","passThroughHeaders","getPassThroughHeaders","language","_window$essentials","window","locale","timezone","_window$essentials2","timeZone","getMonitoringClient","producer","req","document","location","href","Request","createVeloMonitoringClient","namespace","getAuthToken","resolveAuthToken","exports"],"sources":["../../src/host-module.ts"],"sourcesContent":["import type { HostModule, Host } from '@wix/sdk-types';\nimport { createVeloMonitoringClient } from '@wix/monitoring-velo';\nimport { getPassThroughHeaders } from './headers';\nimport { resolveAuthToken } from './utils/auth-utils';\nimport type { SDK, SDKOptions } from './types';\nimport { getCurrentLocale } from './utils/multilingual-utils';\n\nexport const createHostModule = (): HostModule<SDK, Host> & {\n host: (options: SDKOptions) => Host;\n} => {\n return {\n __type: 'host',\n create: () => {\n return {};\n },\n host: ({ essentials }: SDKOptions = {}) => {\n const currentLocale = getCurrentLocale(essentials);\n\n return {\n essentials: {\n get passThroughHeaders() {\n return getPassThroughHeaders(essentials);\n },\n get language() {\n return essentials?.language ?? window.essentials?.language ?? 'en';\n },\n get locale() {\n return currentLocale;\n },\n get timezone() {\n return essentials?.timezone ?? window.essentials?.timeZone ?? 'UTC';\n },\n },\n getMonitoringClient: () => {\n let producer = 'unknown';\n let req: Request | undefined;\n\n if (typeof document !== 'undefined') {\n producer = document.location.href;\n req = new Request(document.location.href);\n }\n\n return createVeloMonitoringClient({\n namespace: 'Headless',\n producer,\n getAuthToken: async () => resolveAuthToken(),\n req,\n });\n },\n };\n },\n };\n};\n"],"mappings":";;;;AACA,IAAAA,eAAA,GAAAC,OAAA;AACA,IAAAC,QAAA,GAAAD,OAAA;AACA,IAAAE,UAAA,GAAAF,OAAA;AAEA,IAAAG,kBAAA,GAAAH,OAAA;AAEO,MAAMI,gBAAgB,GAAGA,CAAA,KAE3B;EACH,OAAO;IACLC,MAAM,EAAE,MAAM;IACdC,MAAM,EAAEA,CAAA,KAAM;MACZ,OAAO,CAAC,CAAC;IACX,CAAC;IACDC,IAAI,EAAEA,CAAC;MAAEC;IAAuB,CAAC,GAAG,CAAC,CAAC,KAAK;MACzC,MAAMC,aAAa,GAAG,IAAAC,mCAAgB,EAACF,UAAU,CAAC;MAElD,OAAO;QACLA,UAAU,EAAE;UACV,IAAIG,kBAAkBA,CAAA,EAAG;YACvB,OAAO,IAAAC,8BAAqB,EAACJ,UAAU,CAAC;UAC1C,CAAC;UACD,IAAIK,QAAQA,CAAA,EAAG;YAAA,IAAAC,kBAAA;YACb,OAAO,CAAAN,UAAU,oBAAVA,UAAU,CAAEK,QAAQ,OAAAC,kBAAA,GAAIC,MAAM,CAACP,UAAU,qBAAjBM,kBAAA,CAAmBD,QAAQ,KAAI,IAAI;UACpE,CAAC;UACD,IAAIG,MAAMA,CAAA,EAAG;YACX,OAAOP,aAAa;UACtB,CAAC;UACD,IAAIQ,QAAQA,CAAA,EAAG;YAAA,IAAAC,mBAAA;YACb,OAAO,CAAAV,UAAU,oBAAVA,UAAU,CAAES,QAAQ,OAAAC,mBAAA,GAAIH,MAAM,CAACP,UAAU,qBAAjBU,mBAAA,CAAmBC,QAAQ,KAAI,KAAK;UACrE;QACF,CAAC;QACDC,mBAAmB,EAAEA,CAAA,KAAM;UACzB,IAAIC,QAAQ,GAAG,SAAS;UACxB,IAAIC,GAAwB;UAE5B,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;YACnCF,QAAQ,GAAGE,QAAQ,CAACC,QAAQ,CAACC,IAAI;YACjCH,GAAG,GAAG,IAAII,OAAO,CAACH,QAAQ,CAACC,QAAQ,CAACC,IAAI,CAAC;UAC3C;UAEA,OAAO,IAAAE,0CAA0B,EAAC;YAChCC,SAAS,EAAE,UAAU;YACrBP,QAAQ;YACRQ,YAAY,EAAE,MAAAA,CAAA,KAAY,IAAAC,2BAAgB,EAAC,CAAC;YAC5CR;UACF,CAAC,CAAC;QACJ;MACF,CAAC;IACH;EACF,CAAC;AACH,CAAC;AAACS,OAAA,CAAA3B,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["_monitoringVelo","require","_headers","_authUtils","_multilingualUtils","createHostModule","__type","create","host","essentials","passThroughHeaders","currentLanguage","getCurrentLanguage","getNormalizedEssentials","currentLocale","getCurrentLocale","getPassThroughHeaders","language","locale","timezone","getMonitoringClient","producer","req","document","location","href","Request","createVeloMonitoringClient","namespace","getAuthToken","resolveAuthToken","exports","_window$essentials","_window$essentials2","_window$essentials3","_window$essentials4","window","undefined","timeZone","multilingual"],"sources":["../../src/host-module.ts"],"sourcesContent":["import type { HostModule, Host } from '@wix/sdk-types';\nimport { createVeloMonitoringClient } from '@wix/monitoring-velo';\nimport { getPassThroughHeaders } from './headers';\nimport { resolveAuthToken } from './utils/auth-utils';\nimport type { Essentials, SDK, SDKOptions } from './types';\nimport {\n getCurrentLocale,\n getCurrentLanguage,\n} from './utils/multilingual-utils';\n\nexport const createHostModule = (): HostModule<SDK, Host> & {\n host: (options: SDKOptions) => Host;\n} => {\n return {\n __type: 'host',\n create: () => {\n return {};\n },\n host: ({ essentials }: SDKOptions = {}) => {\n return {\n essentials: {\n get passThroughHeaders() {\n const currentLanguage = getCurrentLanguage(\n getNormalizedEssentials(essentials),\n );\n const currentLocale = getCurrentLocale(\n getNormalizedEssentials(essentials),\n );\n\n return getPassThroughHeaders(currentLocale, currentLanguage);\n },\n get language() {\n return getCurrentLanguage(getNormalizedEssentials(essentials));\n },\n get locale() {\n return getCurrentLocale(getNormalizedEssentials(essentials));\n },\n get timezone() {\n return getNormalizedEssentials(essentials).timezone ?? 'UTC';\n },\n },\n getMonitoringClient: () => {\n let producer = 'unknown';\n let req: Request | undefined;\n\n if (typeof document !== 'undefined') {\n producer = document.location.href;\n req = new Request(document.location.href);\n }\n\n return createVeloMonitoringClient({\n namespace: 'Headless',\n producer,\n getAuthToken: async () => resolveAuthToken(),\n req,\n });\n },\n };\n },\n };\n};\n\n// Normalize essentials by merging with window.essentials, handling property name differences\n// Use a function to maintain reactivity to window.essentials changes\nconst getNormalizedEssentials = (essentials?: Essentials): Essentials => ({\n ...essentials,\n ...(typeof window !== 'undefined' ? window.essentials : {}),\n language:\n essentials?.language ??\n (typeof window !== 'undefined' ? window.essentials?.language : undefined) ??\n 'en',\n locale:\n essentials?.locale ??\n (typeof window !== 'undefined' ? window.essentials?.locale : undefined),\n timezone:\n essentials?.timezone ??\n (typeof window !== 'undefined' ? window.essentials?.timeZone : undefined),\n multilingual:\n essentials?.multilingual ??\n (typeof window !== 'undefined'\n ? window.essentials?.multilingual\n : undefined),\n});\n"],"mappings":"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","ignoreList":[]}
package/dist/cjs/types.js CHANGED
@@ -1,2 +1,11 @@
1
+ "use strict";
1
2
 
3
+ exports.__esModule = true;
4
+ exports.ResolutionMethod = void 0;
5
+ let ResolutionMethod = exports.ResolutionMethod = /*#__PURE__*/function (ResolutionMethod) {
6
+ ResolutionMethod["QUERY_PARAM"] = "QUERY_PARAM";
7
+ ResolutionMethod["SUBDOMAIN"] = "SUBDOMAIN";
8
+ ResolutionMethod["SUBDIRECTORY"] = "SUBDIRECTORY";
9
+ return ResolutionMethod;
10
+ }({});
2
11
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../src/types.ts"],"sourcesContent":["export type SDK = {};\n\ndeclare global {\n interface Window {\n essentials: {\n language: string;\n locale?: string;\n timeZone?: string;\n };\n }\n}\n\nexport interface SDKOptions {\n essentials?: Essentials;\n}\n\nexport interface Essentials {\n language?: string;\n locale?: string;\n timezone?: string;\n multilingual?: Multilingual;\n}\n\nexport interface Multilingual {\n supportedLanguages?: SupportedLanguage[];\n}\n\nexport interface SupportedLanguage {\n languageCode?: string;\n isPrimary?: boolean;\n countryCode?: string;\n isVisitorPrimary?: boolean;\n locale?: Locale;\n}\n\nexport interface Locale {\n languageCode?: string;\n country?: string;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":["ResolutionMethod","exports"],"sources":["../../src/types.ts"],"sourcesContent":["export type SDK = {};\n\ndeclare global {\n interface Window {\n essentials: {\n language: string;\n locale?: string;\n timeZone?: string;\n multilingual?: Multilingual;\n };\n }\n}\n\nexport interface SDKOptions {\n essentials?: Essentials;\n}\n\nexport interface Essentials {\n language?: string;\n locale?: string;\n timezone?: string;\n multilingual?: Multilingual;\n}\n\nexport interface Multilingual {\n autoRedirect?: boolean;\n supportedLanguages?: SupportedLanguage[];\n}\n\nexport interface SupportedLanguage {\n countryCode?: string;\n isPrimary?: boolean;\n isVisitorPrimary?: boolean;\n languageCode?: string;\n locale?: Locale;\n resolutionMethod?: ResolutionMethod;\n}\n\nexport enum ResolutionMethod {\n QUERY_PARAM = 'QUERY_PARAM',\n SUBDOMAIN = 'SUBDOMAIN',\n SUBDIRECTORY = 'SUBDIRECTORY',\n}\n\nexport interface Locale {\n languageCode?: string;\n country?: string;\n}\n"],"mappings":";;;;IAsCYA,gBAAgB,GAAAC,OAAA,CAAAD,gBAAA,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA","ignoreList":[]}
@@ -1,38 +1,43 @@
1
1
  "use strict";
2
2
 
3
3
  exports.__esModule = true;
4
- exports.getCurrentLocale = void 0;
5
- exports.getLanguageLocale = getLanguageLocale;
6
- function getLanguageLocale(language) {
7
- var _language$locale;
8
- if (!(language != null && language.languageCode)) {
9
- return undefined;
10
- }
11
- return [language.languageCode, (_language$locale = language.locale) == null ? void 0 : _language$locale.country].filter(Boolean).join('-');
12
- }
4
+ exports.getCurrentLocale = exports.getCurrentLanguage = void 0;
13
5
  const getCurrentLocale = essentials => {
14
- var _document, _window$essentials;
15
- let locale = essentials == null ? void 0 : essentials.locale;
16
- if (typeof document !== 'undefined' && (_document = document) != null && (_document = _document.location) != null && _document.href) {
17
- try {
18
- var _document2;
19
- const url = new URL((_document2 = document) == null || (_document2 = _document2.location) == null ? void 0 : _document2.href);
20
- const localeSearchParam = url.searchParams.get('lang'); // e.g., mysite.com/?lang=en
21
-
22
- if (localeSearchParam) {
23
- var _essentials$multiling;
24
- const language = essentials == null || (_essentials$multiling = essentials.multilingual) == null || (_essentials$multiling = _essentials$multiling.supportedLanguages) == null ? void 0 : _essentials$multiling.find(lang => lang.languageCode === localeSearchParam);
6
+ var _selectedLanguage$loc, _selectedLanguage$loc2;
7
+ const locale = (essentials == null ? void 0 : essentials.locale) ?? 'en-US';
8
+ const currentLanguage = getCurrentLanguage(essentials);
9
+ if (!currentLanguage) {
10
+ return locale;
11
+ }
12
+ const selectedLanguage = getSelectedLanguage(essentials, currentLanguage);
13
+ const maybeLocale = [selectedLanguage == null || (_selectedLanguage$loc = selectedLanguage.locale) == null || (_selectedLanguage$loc = _selectedLanguage$loc.languageCode) == null || _selectedLanguage$loc.toLowerCase == null ? void 0 : _selectedLanguage$loc.toLowerCase(), selectedLanguage == null || (_selectedLanguage$loc2 = selectedLanguage.locale) == null || (_selectedLanguage$loc2 = _selectedLanguage$loc2.country) == null || _selectedLanguage$loc2.toLowerCase == null ? void 0 : _selectedLanguage$loc2.toLowerCase()].filter(Boolean).join('-');
14
+ return maybeLocale ? maybeLocale : locale;
15
+ };
16
+ exports.getCurrentLocale = getCurrentLocale;
17
+ const getCurrentLanguage = essentials => {
18
+ const languageFromUrl = getLanguageFromUrl();
19
+ if (languageFromUrl) {
20
+ const selectedLanguage = getSelectedLanguage(essentials, languageFromUrl);
25
21
 
26
- // verify it's a valid locale
27
- if (language != null && language.languageCode) {
28
- locale = getLanguageLocale(language);
29
- }
30
- }
31
- } catch {
32
- // Invalid URL, ignore
22
+ // validate the language is supported
23
+ if (selectedLanguage != null && selectedLanguage.languageCode) {
24
+ return selectedLanguage.languageCode;
33
25
  }
34
26
  }
35
- return locale ?? ((_window$essentials = window.essentials) == null ? void 0 : _window$essentials.locale) ?? 'en-US';
27
+ return (essentials == null ? void 0 : essentials.language) ?? 'en';
28
+ };
29
+ exports.getCurrentLanguage = getCurrentLanguage;
30
+ const getLanguageFromUrl = () => {
31
+ var _document;
32
+ if (typeof document !== 'undefined' && (_document = document) != null && (_document = _document.location) != null && _document.href) {
33
+ var _document2;
34
+ const url = new URL((_document2 = document) == null || (_document2 = _document2.location) == null ? void 0 : _document2.href);
35
+ return url.searchParams.get('lang');
36
+ }
37
+ return;
38
+ };
39
+ const getSelectedLanguage = (essentials, language) => {
40
+ var _essentials$multiling;
41
+ return essentials == null || (_essentials$multiling = essentials.multilingual) == null || (_essentials$multiling = _essentials$multiling.supportedLanguages) == null ? void 0 : _essentials$multiling.find(lang => lang.languageCode === language);
36
42
  };
37
- exports.getCurrentLocale = getCurrentLocale;
38
43
  //# sourceMappingURL=multilingual-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getLanguageLocale","language","_language$locale","languageCode","undefined","locale","country","filter","Boolean","join","getCurrentLocale","essentials","_document","_window$essentials","document","location","href","_document2","url","URL","localeSearchParam","searchParams","get","_essentials$multiling","multilingual","supportedLanguages","find","lang","window","exports"],"sources":["../../../src/utils/multilingual-utils.ts"],"sourcesContent":["import type { SupportedLanguage, Essentials } from '../types';\n\nexport function getLanguageLocale(language: SupportedLanguage) {\n if (!language?.languageCode) {\n return undefined;\n }\n\n return [language.languageCode, language.locale?.country]\n .filter(Boolean)\n .join('-');\n}\n\nexport const getCurrentLocale = (essentials: Essentials | undefined) => {\n let locale = essentials?.locale;\n\n if (typeof document !== 'undefined' && document?.location?.href) {\n try {\n const url = new URL(document?.location?.href);\n\n const localeSearchParam = url.searchParams.get('lang'); // e.g., mysite.com/?lang=en\n\n if (localeSearchParam) {\n const language = essentials?.multilingual?.supportedLanguages?.find(\n (lang: SupportedLanguage) => lang.languageCode === localeSearchParam,\n );\n\n // verify it's a valid locale\n if (language?.languageCode) {\n locale = getLanguageLocale(language);\n }\n }\n } catch {\n // Invalid URL, ignore\n }\n }\n\n return locale ?? window.essentials?.locale ?? 'en-US';\n};\n"],"mappings":";;;;;AAEO,SAASA,iBAAiBA,CAACC,QAA2B,EAAE;EAAA,IAAAC,gBAAA;EAC7D,IAAI,EAACD,QAAQ,YAARA,QAAQ,CAAEE,YAAY,GAAE;IAC3B,OAAOC,SAAS;EAClB;EAEA,OAAO,CAACH,QAAQ,CAACE,YAAY,GAAAD,gBAAA,GAAED,QAAQ,CAACI,MAAM,qBAAfH,gBAAA,CAAiBI,OAAO,CAAC,CACrDC,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC;AACd;AAEO,MAAMC,gBAAgB,GAAIC,UAAkC,IAAK;EAAA,IAAAC,SAAA,EAAAC,kBAAA;EACtE,IAAIR,MAAM,GAAGM,UAAU,oBAAVA,UAAU,CAAEN,MAAM;EAE/B,IAAI,OAAOS,QAAQ,KAAK,WAAW,KAAAF,SAAA,GAAIE,QAAQ,cAAAF,SAAA,GAARA,SAAA,CAAUG,QAAQ,aAAlBH,SAAA,CAAoBI,IAAI,EAAE;IAC/D,IAAI;MAAA,IAAAC,UAAA;MACF,MAAMC,GAAG,GAAG,IAAIC,GAAG,EAAAF,UAAA,GAACH,QAAQ,cAAAG,UAAA,GAARA,UAAA,CAAUF,QAAQ,qBAAlBE,UAAA,CAAoBD,IAAI,CAAC;MAE7C,MAAMI,iBAAiB,GAAGF,GAAG,CAACG,YAAY,CAACC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;;MAExD,IAAIF,iBAAiB,EAAE;QAAA,IAAAG,qBAAA;QACrB,MAAMtB,QAAQ,GAAGU,UAAU,aAAAY,qBAAA,GAAVZ,UAAU,CAAEa,YAAY,cAAAD,qBAAA,GAAxBA,qBAAA,CAA0BE,kBAAkB,qBAA5CF,qBAAA,CAA8CG,IAAI,CAChEC,IAAuB,IAAKA,IAAI,CAACxB,YAAY,KAAKiB,iBACrD,CAAC;;QAED;QACA,IAAInB,QAAQ,YAARA,QAAQ,CAAEE,YAAY,EAAE;UAC1BE,MAAM,GAAGL,iBAAiB,CAACC,QAAQ,CAAC;QACtC;MACF;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,OAAOI,MAAM,MAAAQ,kBAAA,GAAIe,MAAM,CAACjB,UAAU,qBAAjBE,kBAAA,CAAmBR,MAAM,KAAI,OAAO;AACvD,CAAC;AAACwB,OAAA,CAAAnB,gBAAA,GAAAA,gBAAA","ignoreList":[]}
1
+ {"version":3,"names":["getCurrentLocale","essentials","_selectedLanguage$loc","_selectedLanguage$loc2","locale","currentLanguage","getCurrentLanguage","selectedLanguage","getSelectedLanguage","maybeLocale","languageCode","toLowerCase","country","filter","Boolean","join","exports","languageFromUrl","getLanguageFromUrl","language","_document","document","location","href","_document2","url","URL","searchParams","get","_essentials$multiling","multilingual","supportedLanguages","find","lang"],"sources":["../../../src/utils/multilingual-utils.ts"],"sourcesContent":["import type { SupportedLanguage, Essentials } from '../types';\n\nexport const getCurrentLocale = (\n essentials: Essentials | undefined,\n): string => {\n const locale = essentials?.locale ?? 'en-US';\n const currentLanguage = getCurrentLanguage(essentials);\n\n if (!currentLanguage) {\n return locale;\n }\n const selectedLanguage = getSelectedLanguage(essentials, currentLanguage);\n\n const maybeLocale = [\n selectedLanguage?.locale?.languageCode?.toLowerCase?.(),\n selectedLanguage?.locale?.country?.toLowerCase?.(),\n ]\n .filter(Boolean)\n .join('-');\n\n return maybeLocale ? maybeLocale : locale;\n};\n\nexport const getCurrentLanguage = (\n essentials: Essentials | undefined,\n): string => {\n const languageFromUrl = getLanguageFromUrl();\n if (languageFromUrl) {\n const selectedLanguage = getSelectedLanguage(essentials, languageFromUrl);\n\n // validate the language is supported\n if (selectedLanguage?.languageCode) {\n return selectedLanguage.languageCode;\n }\n }\n\n return essentials?.language ?? 'en';\n};\n\nconst getLanguageFromUrl = () => {\n if (typeof document !== 'undefined' && document?.location?.href) {\n const url = new URL(document?.location?.href);\n\n return url.searchParams.get('lang');\n }\n\n return;\n};\n\nconst getSelectedLanguage = (\n essentials: Essentials | undefined,\n language: string,\n) => {\n return essentials?.multilingual?.supportedLanguages?.find(\n (lang: SupportedLanguage) => lang.languageCode === language,\n );\n};\n"],"mappings":";;;;AAEO,MAAMA,gBAAgB,GAC3BC,UAAkC,IACvB;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EACX,MAAMC,MAAM,GAAG,CAAAH,UAAU,oBAAVA,UAAU,CAAEG,MAAM,KAAI,OAAO;EAC5C,MAAMC,eAAe,GAAGC,kBAAkB,CAACL,UAAU,CAAC;EAEtD,IAAI,CAACI,eAAe,EAAE;IACpB,OAAOD,MAAM;EACf;EACA,MAAMG,gBAAgB,GAAGC,mBAAmB,CAACP,UAAU,EAAEI,eAAe,CAAC;EAEzE,MAAMI,WAAW,GAAG,CAClBF,gBAAgB,aAAAL,qBAAA,GAAhBK,gBAAgB,CAAEH,MAAM,cAAAF,qBAAA,GAAxBA,qBAAA,CAA0BQ,YAAY,aAAtCR,qBAAA,CAAwCS,WAAW,oBAAnDT,qBAAA,CAAwCS,WAAW,CAAG,CAAC,EACvDJ,gBAAgB,aAAAJ,sBAAA,GAAhBI,gBAAgB,CAAEH,MAAM,cAAAD,sBAAA,GAAxBA,sBAAA,CAA0BS,OAAO,aAAjCT,sBAAA,CAAmCQ,WAAW,oBAA9CR,sBAAA,CAAmCQ,WAAW,CAAG,CAAC,CACnD,CACEE,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC;EAEZ,OAAON,WAAW,GAAGA,WAAW,GAAGL,MAAM;AAC3C,CAAC;AAACY,OAAA,CAAAhB,gBAAA,GAAAA,gBAAA;AAEK,MAAMM,kBAAkB,GAC7BL,UAAkC,IACvB;EACX,MAAMgB,eAAe,GAAGC,kBAAkB,CAAC,CAAC;EAC5C,IAAID,eAAe,EAAE;IACnB,MAAMV,gBAAgB,GAAGC,mBAAmB,CAACP,UAAU,EAAEgB,eAAe,CAAC;;IAEzE;IACA,IAAIV,gBAAgB,YAAhBA,gBAAgB,CAAEG,YAAY,EAAE;MAClC,OAAOH,gBAAgB,CAACG,YAAY;IACtC;EACF;EAEA,OAAO,CAAAT,UAAU,oBAAVA,UAAU,CAAEkB,QAAQ,KAAI,IAAI;AACrC,CAAC;AAACH,OAAA,CAAAV,kBAAA,GAAAA,kBAAA;AAEF,MAAMY,kBAAkB,GAAGA,CAAA,KAAM;EAAA,IAAAE,SAAA;EAC/B,IAAI,OAAOC,QAAQ,KAAK,WAAW,KAAAD,SAAA,GAAIC,QAAQ,cAAAD,SAAA,GAARA,SAAA,CAAUE,QAAQ,aAAlBF,SAAA,CAAoBG,IAAI,EAAE;IAAA,IAAAC,UAAA;IAC/D,MAAMC,GAAG,GAAG,IAAIC,GAAG,EAAAF,UAAA,GAACH,QAAQ,cAAAG,UAAA,GAARA,UAAA,CAAUF,QAAQ,qBAAlBE,UAAA,CAAoBD,IAAI,CAAC;IAE7C,OAAOE,GAAG,CAACE,YAAY,CAACC,GAAG,CAAC,MAAM,CAAC;EACrC;EAEA;AACF,CAAC;AAED,MAAMpB,mBAAmB,GAAGA,CAC1BP,UAAkC,EAClCkB,QAAgB,KACb;EAAA,IAAAU,qBAAA;EACH,OAAO5B,UAAU,aAAA4B,qBAAA,GAAV5B,UAAU,CAAE6B,YAAY,cAAAD,qBAAA,GAAxBA,qBAAA,CAA0BE,kBAAkB,qBAA5CF,qBAAA,CAA8CG,IAAI,CACtDC,IAAuB,IAAKA,IAAI,CAACvB,YAAY,KAAKS,QACrD,CAAC;AACH,CAAC","ignoreList":[]}
@@ -4,8 +4,8 @@
4
4
 
5
5
  import { getCommonConfigHeader } from './common-config-header';
6
6
  import { getMultilingualHeader } from './multilingual-header';
7
- export const getPassThroughHeaders = essentials => {
8
- const headers = [getCommonConfigHeader(), getMultilingualHeader(essentials)];
7
+ export const getPassThroughHeaders = (locale, language) => {
8
+ const headers = [getCommonConfigHeader(), getMultilingualHeader(locale, language)];
9
9
  return headers.reduce((res, header) => {
10
10
  const entries = Object.entries(header).filter(_ref => {
11
11
  let [_, value] = _ref;
@@ -1 +1 @@
1
- {"version":3,"names":["getCommonConfigHeader","getMultilingualHeader","getPassThroughHeaders","essentials","headers","reduce","res","header","entries","Object","filter","_ref","_","value","fromEntries"],"sources":["../../../src/headers/index.ts"],"sourcesContent":["/**\n * Based on https://github.com/wix-private/metro/blob/master/packages/wix-headers/src/index.ts\n */\n\nimport { getCommonConfigHeader } from './common-config-header';\nimport { getMultilingualHeader } from './multilingual-header';\nimport { Essentials } from '../types';\n\nexport const getPassThroughHeaders = (essentials?: Essentials) => {\n const headers = [getCommonConfigHeader(), getMultilingualHeader(essentials)];\n\n return headers.reduce((res, header) => {\n const entries = Object.entries(header).filter(([_, value]) => !!value);\n\n res = {\n ...res,\n ...Object.fromEntries(entries),\n };\n\n return res;\n }, {} as Record<string, string>);\n};\n"],"mappings":"AAAA;AACA;AACA;;AAEA,SAASA,qBAAqB,QAAQ,wBAAwB;AAC9D,SAASC,qBAAqB,QAAQ,uBAAuB;AAG7D,OAAO,MAAMC,qBAAqB,GAAIC,UAAuB,IAAK;EAChE,MAAMC,OAAO,GAAG,CAACJ,qBAAqB,CAAC,CAAC,EAAEC,qBAAqB,CAACE,UAAU,CAAC,CAAC;EAE5E,OAAOC,OAAO,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,MAAM,KAAK;IACrC,MAAMC,OAAO,GAAGC,MAAM,CAACD,OAAO,CAACD,MAAM,CAAC,CAACG,MAAM,CAACC,IAAA;MAAA,IAAC,CAACC,CAAC,EAAEC,KAAK,CAAC,GAAAF,IAAA;MAAA,OAAK,CAAC,CAACE,KAAK;IAAA,EAAC;IAEtEP,GAAG,GAAG;MACJ,GAAGA,GAAG;MACN,GAAGG,MAAM,CAACK,WAAW,CAACN,OAAO;IAC/B,CAAC;IAED,OAAOF,GAAG;EACZ,CAAC,EAAE,CAAC,CAA2B,CAAC;AAClC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getCommonConfigHeader","getMultilingualHeader","getPassThroughHeaders","locale","language","headers","reduce","res","header","entries","Object","filter","_ref","_","value","fromEntries"],"sources":["../../../src/headers/index.ts"],"sourcesContent":["/**\n * Based on https://github.com/wix-private/metro/blob/master/packages/wix-headers/src/index.ts\n */\n\nimport { getCommonConfigHeader } from './common-config-header';\nimport { getMultilingualHeader } from './multilingual-header';\n\nexport const getPassThroughHeaders = (locale?: string, language?: string) => {\n const headers = [\n getCommonConfigHeader(),\n getMultilingualHeader(locale, language),\n ];\n\n return headers.reduce((res, header) => {\n const entries = Object.entries(header).filter(([_, value]) => !!value);\n\n res = {\n ...res,\n ...Object.fromEntries(entries),\n };\n\n return res;\n }, {} as Record<string, string>);\n};\n"],"mappings":"AAAA;AACA;AACA;;AAEA,SAASA,qBAAqB,QAAQ,wBAAwB;AAC9D,SAASC,qBAAqB,QAAQ,uBAAuB;AAE7D,OAAO,MAAMC,qBAAqB,GAAGA,CAACC,MAAe,EAAEC,QAAiB,KAAK;EAC3E,MAAMC,OAAO,GAAG,CACdL,qBAAqB,CAAC,CAAC,EACvBC,qBAAqB,CAACE,MAAM,EAAEC,QAAQ,CAAC,CACxC;EAED,OAAOC,OAAO,CAACC,MAAM,CAAC,CAACC,GAAG,EAAEC,MAAM,KAAK;IACrC,MAAMC,OAAO,GAAGC,MAAM,CAACD,OAAO,CAACD,MAAM,CAAC,CAACG,MAAM,CAACC,IAAA;MAAA,IAAC,CAACC,CAAC,EAAEC,KAAK,CAAC,GAAAF,IAAA;MAAA,OAAK,CAAC,CAACE,KAAK;IAAA,EAAC;IAEtEP,GAAG,GAAG;MACJ,GAAGA,GAAG;MACN,GAAGG,MAAM,CAACK,WAAW,CAACN,OAAO;IAC/B,CAAC;IAED,OAAOF,GAAG;EACZ,CAAC,EAAE,CAAC,CAA2B,CAAC;AAClC,CAAC","ignoreList":[]}
@@ -1,21 +1,13 @@
1
- import { getLanguageLocale, getCurrentLocale } from '../utils/multilingual-utils';
2
1
  export const MULTILINGUAL_HEADER_KEY = 'x-wix-linguist';
3
2
 
4
3
  // Hard coded UUID for multilingual support https://wix.slack.com/archives/C04BFK71QHW/p1676992832913939 .
5
4
  export const DUMMY_INSTANCE_ID = '00000000-0000-0000-0000-000000000000';
6
- export const getMultilingualHeader = essentials => {
7
- var _multilingual$support;
8
- const currentLocale = getCurrentLocale(essentials);
9
- const multilingual = essentials == null ? void 0 : essentials.multilingual;
10
- if (currentLocale && multilingual != null && (_multilingual$support = multilingual.supportedLanguages) != null && _multilingual$support.length) {
11
- var _multilingual$support2;
12
- const language = multilingual == null || (_multilingual$support2 = multilingual.supportedLanguages) == null ? void 0 : _multilingual$support2.find(lang => getLanguageLocale(lang) === currentLocale);
13
- if (language) {
14
- return {
15
- [MULTILINGUAL_HEADER_KEY]: `${language.languageCode}|${currentLocale.toLowerCase()}|${!!language.isPrimary}|${DUMMY_INSTANCE_ID}`
16
- };
17
- }
5
+ export const getMultilingualHeader = (locale, language) => {
6
+ if (!locale || !language) {
7
+ return {};
18
8
  }
19
- return {};
9
+ return {
10
+ [MULTILINGUAL_HEADER_KEY]: `${language}|${locale.toLowerCase()}|false|${DUMMY_INSTANCE_ID}`
11
+ };
20
12
  };
21
13
  //# sourceMappingURL=multilingual-header.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getLanguageLocale","getCurrentLocale","MULTILINGUAL_HEADER_KEY","DUMMY_INSTANCE_ID","getMultilingualHeader","essentials","_multilingual$support","currentLocale","multilingual","supportedLanguages","length","_multilingual$support2","language","find","lang","languageCode","toLowerCase","isPrimary"],"sources":["../../../src/headers/multilingual-header.ts"],"sourcesContent":["import type { Essentials, SupportedLanguage } from '../types';\nimport {\n getLanguageLocale,\n getCurrentLocale,\n} from '../utils/multilingual-utils';\n\nexport const MULTILINGUAL_HEADER_KEY = 'x-wix-linguist';\n\n// Hard coded UUID for multilingual support https://wix.slack.com/archives/C04BFK71QHW/p1676992832913939 .\nexport const DUMMY_INSTANCE_ID = '00000000-0000-0000-0000-000000000000';\n\nexport const getMultilingualHeader = (essentials?: Essentials) => {\n const currentLocale = getCurrentLocale(essentials);\n const multilingual = essentials?.multilingual;\n\n if (currentLocale && multilingual?.supportedLanguages?.length) {\n const language = multilingual?.supportedLanguages?.find(\n (lang: SupportedLanguage) => getLanguageLocale(lang) === currentLocale,\n );\n if (language) {\n return {\n [MULTILINGUAL_HEADER_KEY]: `${\n language.languageCode\n }|${currentLocale.toLowerCase()}|${!!language.isPrimary}|${DUMMY_INSTANCE_ID}`,\n };\n }\n }\n return {};\n};\n"],"mappings":"AACA,SACEA,iBAAiB,EACjBC,gBAAgB,QACX,6BAA6B;AAEpC,OAAO,MAAMC,uBAAuB,GAAG,gBAAgB;;AAEvD;AACA,OAAO,MAAMC,iBAAiB,GAAG,sCAAsC;AAEvE,OAAO,MAAMC,qBAAqB,GAAIC,UAAuB,IAAK;EAAA,IAAAC,qBAAA;EAChE,MAAMC,aAAa,GAAGN,gBAAgB,CAACI,UAAU,CAAC;EAClD,MAAMG,YAAY,GAAGH,UAAU,oBAAVA,UAAU,CAAEG,YAAY;EAE7C,IAAID,aAAa,IAAIC,YAAY,aAAAF,qBAAA,GAAZE,YAAY,CAAEC,kBAAkB,aAAhCH,qBAAA,CAAkCI,MAAM,EAAE;IAAA,IAAAC,sBAAA;IAC7D,MAAMC,QAAQ,GAAGJ,YAAY,aAAAG,sBAAA,GAAZH,YAAY,CAAEC,kBAAkB,qBAAhCE,sBAAA,CAAkCE,IAAI,CACpDC,IAAuB,IAAKd,iBAAiB,CAACc,IAAI,CAAC,KAAKP,aAC3D,CAAC;IACD,IAAIK,QAAQ,EAAE;MACZ,OAAO;QACL,CAACV,uBAAuB,GAAG,GACzBU,QAAQ,CAACG,YAAY,IACnBR,aAAa,CAACS,WAAW,CAAC,CAAC,IAAI,CAAC,CAACJ,QAAQ,CAACK,SAAS,IAAId,iBAAiB;MAC9E,CAAC;IACH;EACF;EACA,OAAO,CAAC,CAAC;AACX,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["MULTILINGUAL_HEADER_KEY","DUMMY_INSTANCE_ID","getMultilingualHeader","locale","language","toLowerCase"],"sources":["../../../src/headers/multilingual-header.ts"],"sourcesContent":["export const MULTILINGUAL_HEADER_KEY = 'x-wix-linguist';\n\n// Hard coded UUID for multilingual support https://wix.slack.com/archives/C04BFK71QHW/p1676992832913939 .\nexport const DUMMY_INSTANCE_ID = '00000000-0000-0000-0000-000000000000';\n\nexport const getMultilingualHeader = (locale?: string, language?: string) => {\n if (!locale || !language) {\n return {};\n }\n\n return {\n [MULTILINGUAL_HEADER_KEY]: `${language}|${locale.toLowerCase()}|false|${DUMMY_INSTANCE_ID}`,\n };\n};\n"],"mappings":"AAAA,OAAO,MAAMA,uBAAuB,GAAG,gBAAgB;;AAEvD;AACA,OAAO,MAAMC,iBAAiB,GAAG,sCAAsC;AAEvE,OAAO,MAAMC,qBAAqB,GAAGA,CAACC,MAAe,EAAEC,QAAiB,KAAK;EAC3E,IAAI,CAACD,MAAM,IAAI,CAACC,QAAQ,EAAE;IACxB,OAAO,CAAC,CAAC;EACX;EAEA,OAAO;IACL,CAACJ,uBAAuB,GAAG,GAAGI,QAAQ,IAAID,MAAM,CAACE,WAAW,CAAC,CAAC,UAAUJ,iBAAiB;EAC3F,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import { createVeloMonitoringClient } from '@wix/monitoring-velo';
2
2
  import { getPassThroughHeaders } from './headers';
3
3
  import { resolveAuthToken } from './utils/auth-utils';
4
- import { getCurrentLocale } from './utils/multilingual-utils';
4
+ import { getCurrentLocale, getCurrentLanguage } from './utils/multilingual-utils';
5
5
  export const createHostModule = () => {
6
6
  return {
7
7
  __type: 'host',
@@ -12,22 +12,21 @@ export const createHostModule = () => {
12
12
  let {
13
13
  essentials
14
14
  } = _temp === void 0 ? {} : _temp;
15
- const currentLocale = getCurrentLocale(essentials);
16
15
  return {
17
16
  essentials: {
18
17
  get passThroughHeaders() {
19
- return getPassThroughHeaders(essentials);
18
+ const currentLanguage = getCurrentLanguage(getNormalizedEssentials(essentials));
19
+ const currentLocale = getCurrentLocale(getNormalizedEssentials(essentials));
20
+ return getPassThroughHeaders(currentLocale, currentLanguage);
20
21
  },
21
22
  get language() {
22
- var _window$essentials;
23
- return (essentials == null ? void 0 : essentials.language) ?? ((_window$essentials = window.essentials) == null ? void 0 : _window$essentials.language) ?? 'en';
23
+ return getCurrentLanguage(getNormalizedEssentials(essentials));
24
24
  },
25
25
  get locale() {
26
- return currentLocale;
26
+ return getCurrentLocale(getNormalizedEssentials(essentials));
27
27
  },
28
28
  get timezone() {
29
- var _window$essentials2;
30
- return (essentials == null ? void 0 : essentials.timezone) ?? ((_window$essentials2 = window.essentials) == null ? void 0 : _window$essentials2.timeZone) ?? 'UTC';
29
+ return getNormalizedEssentials(essentials).timezone ?? 'UTC';
31
30
  }
32
31
  },
33
32
  getMonitoringClient: () => {
@@ -48,4 +47,18 @@ export const createHostModule = () => {
48
47
  }
49
48
  };
50
49
  };
50
+
51
+ // Normalize essentials by merging with window.essentials, handling property name differences
52
+ // Use a function to maintain reactivity to window.essentials changes
53
+ const getNormalizedEssentials = essentials => {
54
+ var _window$essentials, _window$essentials2, _window$essentials3, _window$essentials4;
55
+ return {
56
+ ...essentials,
57
+ ...(typeof window !== 'undefined' ? window.essentials : {}),
58
+ language: (essentials == null ? void 0 : essentials.language) ?? (typeof window !== 'undefined' ? (_window$essentials = window.essentials) == null ? void 0 : _window$essentials.language : undefined) ?? 'en',
59
+ locale: (essentials == null ? void 0 : essentials.locale) ?? (typeof window !== 'undefined' ? (_window$essentials2 = window.essentials) == null ? void 0 : _window$essentials2.locale : undefined),
60
+ timezone: (essentials == null ? void 0 : essentials.timezone) ?? (typeof window !== 'undefined' ? (_window$essentials3 = window.essentials) == null ? void 0 : _window$essentials3.timeZone : undefined),
61
+ multilingual: (essentials == null ? void 0 : essentials.multilingual) ?? (typeof window !== 'undefined' ? (_window$essentials4 = window.essentials) == null ? void 0 : _window$essentials4.multilingual : undefined)
62
+ };
63
+ };
51
64
  //# sourceMappingURL=host-module.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["createVeloMonitoringClient","getPassThroughHeaders","resolveAuthToken","getCurrentLocale","createHostModule","__type","create","host","_temp","essentials","currentLocale","passThroughHeaders","language","_window$essentials","window","locale","timezone","_window$essentials2","timeZone","getMonitoringClient","producer","req","document","location","href","Request","namespace","getAuthToken"],"sources":["../../src/host-module.ts"],"sourcesContent":["import type { HostModule, Host } from '@wix/sdk-types';\nimport { createVeloMonitoringClient } from '@wix/monitoring-velo';\nimport { getPassThroughHeaders } from './headers';\nimport { resolveAuthToken } from './utils/auth-utils';\nimport type { SDK, SDKOptions } from './types';\nimport { getCurrentLocale } from './utils/multilingual-utils';\n\nexport const createHostModule = (): HostModule<SDK, Host> & {\n host: (options: SDKOptions) => Host;\n} => {\n return {\n __type: 'host',\n create: () => {\n return {};\n },\n host: ({ essentials }: SDKOptions = {}) => {\n const currentLocale = getCurrentLocale(essentials);\n\n return {\n essentials: {\n get passThroughHeaders() {\n return getPassThroughHeaders(essentials);\n },\n get language() {\n return essentials?.language ?? window.essentials?.language ?? 'en';\n },\n get locale() {\n return currentLocale;\n },\n get timezone() {\n return essentials?.timezone ?? window.essentials?.timeZone ?? 'UTC';\n },\n },\n getMonitoringClient: () => {\n let producer = 'unknown';\n let req: Request | undefined;\n\n if (typeof document !== 'undefined') {\n producer = document.location.href;\n req = new Request(document.location.href);\n }\n\n return createVeloMonitoringClient({\n namespace: 'Headless',\n producer,\n getAuthToken: async () => resolveAuthToken(),\n req,\n });\n },\n };\n },\n };\n};\n"],"mappings":"AACA,SAASA,0BAA0B,QAAQ,sBAAsB;AACjE,SAASC,qBAAqB,QAAQ,WAAW;AACjD,SAASC,gBAAgB,QAAQ,oBAAoB;AAErD,SAASC,gBAAgB,QAAQ,4BAA4B;AAE7D,OAAO,MAAMC,gBAAgB,GAAGA,CAAA,KAE3B;EACH,OAAO;IACLC,MAAM,EAAE,MAAM;IACdC,MAAM,EAAEA,CAAA,KAAM;MACZ,OAAO,CAAC,CAAC;IACX,CAAC;IACDC,IAAI,EAAE,SAAAA,CAAAC,KAAA,EAAqC;MAAA,IAApC;QAAEC;MAAuB,CAAC,GAAAD,KAAA,cAAG,CAAC,CAAC,GAAAA,KAAA;MACpC,MAAME,aAAa,GAAGP,gBAAgB,CAACM,UAAU,CAAC;MAElD,OAAO;QACLA,UAAU,EAAE;UACV,IAAIE,kBAAkBA,CAAA,EAAG;YACvB,OAAOV,qBAAqB,CAACQ,UAAU,CAAC;UAC1C,CAAC;UACD,IAAIG,QAAQA,CAAA,EAAG;YAAA,IAAAC,kBAAA;YACb,OAAO,CAAAJ,UAAU,oBAAVA,UAAU,CAAEG,QAAQ,OAAAC,kBAAA,GAAIC,MAAM,CAACL,UAAU,qBAAjBI,kBAAA,CAAmBD,QAAQ,KAAI,IAAI;UACpE,CAAC;UACD,IAAIG,MAAMA,CAAA,EAAG;YACX,OAAOL,aAAa;UACtB,CAAC;UACD,IAAIM,QAAQA,CAAA,EAAG;YAAA,IAAAC,mBAAA;YACb,OAAO,CAAAR,UAAU,oBAAVA,UAAU,CAAEO,QAAQ,OAAAC,mBAAA,GAAIH,MAAM,CAACL,UAAU,qBAAjBQ,mBAAA,CAAmBC,QAAQ,KAAI,KAAK;UACrE;QACF,CAAC;QACDC,mBAAmB,EAAEA,CAAA,KAAM;UACzB,IAAIC,QAAQ,GAAG,SAAS;UACxB,IAAIC,GAAwB;UAE5B,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;YACnCF,QAAQ,GAAGE,QAAQ,CAACC,QAAQ,CAACC,IAAI;YACjCH,GAAG,GAAG,IAAII,OAAO,CAACH,QAAQ,CAACC,QAAQ,CAACC,IAAI,CAAC;UAC3C;UAEA,OAAOxB,0BAA0B,CAAC;YAChC0B,SAAS,EAAE,UAAU;YACrBN,QAAQ;YACRO,YAAY,EAAE,MAAAA,CAAA,KAAYzB,gBAAgB,CAAC,CAAC;YAC5CmB;UACF,CAAC,CAAC;QACJ;MACF,CAAC;IACH;EACF,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["createVeloMonitoringClient","getPassThroughHeaders","resolveAuthToken","getCurrentLocale","getCurrentLanguage","createHostModule","__type","create","host","_temp","essentials","passThroughHeaders","currentLanguage","getNormalizedEssentials","currentLocale","language","locale","timezone","getMonitoringClient","producer","req","document","location","href","Request","namespace","getAuthToken","_window$essentials","_window$essentials2","_window$essentials3","_window$essentials4","window","undefined","timeZone","multilingual"],"sources":["../../src/host-module.ts"],"sourcesContent":["import type { HostModule, Host } from '@wix/sdk-types';\nimport { createVeloMonitoringClient } from '@wix/monitoring-velo';\nimport { getPassThroughHeaders } from './headers';\nimport { resolveAuthToken } from './utils/auth-utils';\nimport type { Essentials, SDK, SDKOptions } from './types';\nimport {\n getCurrentLocale,\n getCurrentLanguage,\n} from './utils/multilingual-utils';\n\nexport const createHostModule = (): HostModule<SDK, Host> & {\n host: (options: SDKOptions) => Host;\n} => {\n return {\n __type: 'host',\n create: () => {\n return {};\n },\n host: ({ essentials }: SDKOptions = {}) => {\n return {\n essentials: {\n get passThroughHeaders() {\n const currentLanguage = getCurrentLanguage(\n getNormalizedEssentials(essentials),\n );\n const currentLocale = getCurrentLocale(\n getNormalizedEssentials(essentials),\n );\n\n return getPassThroughHeaders(currentLocale, currentLanguage);\n },\n get language() {\n return getCurrentLanguage(getNormalizedEssentials(essentials));\n },\n get locale() {\n return getCurrentLocale(getNormalizedEssentials(essentials));\n },\n get timezone() {\n return getNormalizedEssentials(essentials).timezone ?? 'UTC';\n },\n },\n getMonitoringClient: () => {\n let producer = 'unknown';\n let req: Request | undefined;\n\n if (typeof document !== 'undefined') {\n producer = document.location.href;\n req = new Request(document.location.href);\n }\n\n return createVeloMonitoringClient({\n namespace: 'Headless',\n producer,\n getAuthToken: async () => resolveAuthToken(),\n req,\n });\n },\n };\n },\n };\n};\n\n// Normalize essentials by merging with window.essentials, handling property name differences\n// Use a function to maintain reactivity to window.essentials changes\nconst getNormalizedEssentials = (essentials?: Essentials): Essentials => ({\n ...essentials,\n ...(typeof window !== 'undefined' ? window.essentials : {}),\n language:\n essentials?.language ??\n (typeof window !== 'undefined' ? window.essentials?.language : undefined) ??\n 'en',\n locale:\n essentials?.locale ??\n (typeof window !== 'undefined' ? window.essentials?.locale : undefined),\n timezone:\n essentials?.timezone ??\n (typeof window !== 'undefined' ? window.essentials?.timeZone : undefined),\n multilingual:\n essentials?.multilingual ??\n (typeof window !== 'undefined'\n ? window.essentials?.multilingual\n : undefined),\n});\n"],"mappings":"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","ignoreList":[]}
package/dist/esm/types.js CHANGED
@@ -1,2 +1,7 @@
1
-
1
+ export let ResolutionMethod = /*#__PURE__*/function (ResolutionMethod) {
2
+ ResolutionMethod["QUERY_PARAM"] = "QUERY_PARAM";
3
+ ResolutionMethod["SUBDOMAIN"] = "SUBDOMAIN";
4
+ ResolutionMethod["SUBDIRECTORY"] = "SUBDIRECTORY";
5
+ return ResolutionMethod;
6
+ }({});
2
7
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../src/types.ts"],"sourcesContent":["export type SDK = {};\n\ndeclare global {\n interface Window {\n essentials: {\n language: string;\n locale?: string;\n timeZone?: string;\n };\n }\n}\n\nexport interface SDKOptions {\n essentials?: Essentials;\n}\n\nexport interface Essentials {\n language?: string;\n locale?: string;\n timezone?: string;\n multilingual?: Multilingual;\n}\n\nexport interface Multilingual {\n supportedLanguages?: SupportedLanguage[];\n}\n\nexport interface SupportedLanguage {\n languageCode?: string;\n isPrimary?: boolean;\n countryCode?: string;\n isVisitorPrimary?: boolean;\n locale?: Locale;\n}\n\nexport interface Locale {\n languageCode?: string;\n country?: string;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":["ResolutionMethod"],"sources":["../../src/types.ts"],"sourcesContent":["export type SDK = {};\n\ndeclare global {\n interface Window {\n essentials: {\n language: string;\n locale?: string;\n timeZone?: string;\n multilingual?: Multilingual;\n };\n }\n}\n\nexport interface SDKOptions {\n essentials?: Essentials;\n}\n\nexport interface Essentials {\n language?: string;\n locale?: string;\n timezone?: string;\n multilingual?: Multilingual;\n}\n\nexport interface Multilingual {\n autoRedirect?: boolean;\n supportedLanguages?: SupportedLanguage[];\n}\n\nexport interface SupportedLanguage {\n countryCode?: string;\n isPrimary?: boolean;\n isVisitorPrimary?: boolean;\n languageCode?: string;\n locale?: Locale;\n resolutionMethod?: ResolutionMethod;\n}\n\nexport enum ResolutionMethod {\n QUERY_PARAM = 'QUERY_PARAM',\n SUBDOMAIN = 'SUBDOMAIN',\n SUBDIRECTORY = 'SUBDIRECTORY',\n}\n\nexport interface Locale {\n languageCode?: string;\n country?: string;\n}\n"],"mappings":"AAsCA,WAAYA,gBAAgB,0BAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAhBA,gBAAgB;EAAA,OAAhBA,gBAAgB;AAAA","ignoreList":[]}
@@ -1,32 +1,37 @@
1
- export function getLanguageLocale(language) {
2
- var _language$locale;
3
- if (!(language != null && language.languageCode)) {
4
- return undefined;
5
- }
6
- return [language.languageCode, (_language$locale = language.locale) == null ? void 0 : _language$locale.country].filter(Boolean).join('-');
7
- }
8
1
  export const getCurrentLocale = essentials => {
9
- var _document, _window$essentials;
10
- let locale = essentials == null ? void 0 : essentials.locale;
11
- if (typeof document !== 'undefined' && (_document = document) != null && (_document = _document.location) != null && _document.href) {
12
- try {
13
- var _document2;
14
- const url = new URL((_document2 = document) == null || (_document2 = _document2.location) == null ? void 0 : _document2.href);
15
- const localeSearchParam = url.searchParams.get('lang'); // e.g., mysite.com/?lang=en
16
-
17
- if (localeSearchParam) {
18
- var _essentials$multiling;
19
- const language = essentials == null || (_essentials$multiling = essentials.multilingual) == null || (_essentials$multiling = _essentials$multiling.supportedLanguages) == null ? void 0 : _essentials$multiling.find(lang => lang.languageCode === localeSearchParam);
2
+ var _selectedLanguage$loc, _selectedLanguage$loc2;
3
+ const locale = (essentials == null ? void 0 : essentials.locale) ?? 'en-US';
4
+ const currentLanguage = getCurrentLanguage(essentials);
5
+ if (!currentLanguage) {
6
+ return locale;
7
+ }
8
+ const selectedLanguage = getSelectedLanguage(essentials, currentLanguage);
9
+ const maybeLocale = [selectedLanguage == null || (_selectedLanguage$loc = selectedLanguage.locale) == null || (_selectedLanguage$loc = _selectedLanguage$loc.languageCode) == null || _selectedLanguage$loc.toLowerCase == null ? void 0 : _selectedLanguage$loc.toLowerCase(), selectedLanguage == null || (_selectedLanguage$loc2 = selectedLanguage.locale) == null || (_selectedLanguage$loc2 = _selectedLanguage$loc2.country) == null || _selectedLanguage$loc2.toLowerCase == null ? void 0 : _selectedLanguage$loc2.toLowerCase()].filter(Boolean).join('-');
10
+ return maybeLocale ? maybeLocale : locale;
11
+ };
12
+ export const getCurrentLanguage = essentials => {
13
+ const languageFromUrl = getLanguageFromUrl();
14
+ if (languageFromUrl) {
15
+ const selectedLanguage = getSelectedLanguage(essentials, languageFromUrl);
20
16
 
21
- // verify it's a valid locale
22
- if (language != null && language.languageCode) {
23
- locale = getLanguageLocale(language);
24
- }
25
- }
26
- } catch {
27
- // Invalid URL, ignore
17
+ // validate the language is supported
18
+ if (selectedLanguage != null && selectedLanguage.languageCode) {
19
+ return selectedLanguage.languageCode;
28
20
  }
29
21
  }
30
- return locale ?? ((_window$essentials = window.essentials) == null ? void 0 : _window$essentials.locale) ?? 'en-US';
22
+ return (essentials == null ? void 0 : essentials.language) ?? 'en';
23
+ };
24
+ const getLanguageFromUrl = () => {
25
+ var _document;
26
+ if (typeof document !== 'undefined' && (_document = document) != null && (_document = _document.location) != null && _document.href) {
27
+ var _document2;
28
+ const url = new URL((_document2 = document) == null || (_document2 = _document2.location) == null ? void 0 : _document2.href);
29
+ return url.searchParams.get('lang');
30
+ }
31
+ return;
32
+ };
33
+ const getSelectedLanguage = (essentials, language) => {
34
+ var _essentials$multiling;
35
+ return essentials == null || (_essentials$multiling = essentials.multilingual) == null || (_essentials$multiling = _essentials$multiling.supportedLanguages) == null ? void 0 : _essentials$multiling.find(lang => lang.languageCode === language);
31
36
  };
32
37
  //# sourceMappingURL=multilingual-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["getLanguageLocale","language","_language$locale","languageCode","undefined","locale","country","filter","Boolean","join","getCurrentLocale","essentials","_document","_window$essentials","document","location","href","_document2","url","URL","localeSearchParam","searchParams","get","_essentials$multiling","multilingual","supportedLanguages","find","lang","window"],"sources":["../../../src/utils/multilingual-utils.ts"],"sourcesContent":["import type { SupportedLanguage, Essentials } from '../types';\n\nexport function getLanguageLocale(language: SupportedLanguage) {\n if (!language?.languageCode) {\n return undefined;\n }\n\n return [language.languageCode, language.locale?.country]\n .filter(Boolean)\n .join('-');\n}\n\nexport const getCurrentLocale = (essentials: Essentials | undefined) => {\n let locale = essentials?.locale;\n\n if (typeof document !== 'undefined' && document?.location?.href) {\n try {\n const url = new URL(document?.location?.href);\n\n const localeSearchParam = url.searchParams.get('lang'); // e.g., mysite.com/?lang=en\n\n if (localeSearchParam) {\n const language = essentials?.multilingual?.supportedLanguages?.find(\n (lang: SupportedLanguage) => lang.languageCode === localeSearchParam,\n );\n\n // verify it's a valid locale\n if (language?.languageCode) {\n locale = getLanguageLocale(language);\n }\n }\n } catch {\n // Invalid URL, ignore\n }\n }\n\n return locale ?? window.essentials?.locale ?? 'en-US';\n};\n"],"mappings":"AAEA,OAAO,SAASA,iBAAiBA,CAACC,QAA2B,EAAE;EAAA,IAAAC,gBAAA;EAC7D,IAAI,EAACD,QAAQ,YAARA,QAAQ,CAAEE,YAAY,GAAE;IAC3B,OAAOC,SAAS;EAClB;EAEA,OAAO,CAACH,QAAQ,CAACE,YAAY,GAAAD,gBAAA,GAAED,QAAQ,CAACI,MAAM,qBAAfH,gBAAA,CAAiBI,OAAO,CAAC,CACrDC,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC;AACd;AAEA,OAAO,MAAMC,gBAAgB,GAAIC,UAAkC,IAAK;EAAA,IAAAC,SAAA,EAAAC,kBAAA;EACtE,IAAIR,MAAM,GAAGM,UAAU,oBAAVA,UAAU,CAAEN,MAAM;EAE/B,IAAI,OAAOS,QAAQ,KAAK,WAAW,KAAAF,SAAA,GAAIE,QAAQ,cAAAF,SAAA,GAARA,SAAA,CAAUG,QAAQ,aAAlBH,SAAA,CAAoBI,IAAI,EAAE;IAC/D,IAAI;MAAA,IAAAC,UAAA;MACF,MAAMC,GAAG,GAAG,IAAIC,GAAG,EAAAF,UAAA,GAACH,QAAQ,cAAAG,UAAA,GAARA,UAAA,CAAUF,QAAQ,qBAAlBE,UAAA,CAAoBD,IAAI,CAAC;MAE7C,MAAMI,iBAAiB,GAAGF,GAAG,CAACG,YAAY,CAACC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;;MAExD,IAAIF,iBAAiB,EAAE;QAAA,IAAAG,qBAAA;QACrB,MAAMtB,QAAQ,GAAGU,UAAU,aAAAY,qBAAA,GAAVZ,UAAU,CAAEa,YAAY,cAAAD,qBAAA,GAAxBA,qBAAA,CAA0BE,kBAAkB,qBAA5CF,qBAAA,CAA8CG,IAAI,CAChEC,IAAuB,IAAKA,IAAI,CAACxB,YAAY,KAAKiB,iBACrD,CAAC;;QAED;QACA,IAAInB,QAAQ,YAARA,QAAQ,CAAEE,YAAY,EAAE;UAC1BE,MAAM,GAAGL,iBAAiB,CAACC,QAAQ,CAAC;QACtC;MACF;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,OAAOI,MAAM,MAAAQ,kBAAA,GAAIe,MAAM,CAACjB,UAAU,qBAAjBE,kBAAA,CAAmBR,MAAM,KAAI,OAAO;AACvD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["getCurrentLocale","essentials","_selectedLanguage$loc","_selectedLanguage$loc2","locale","currentLanguage","getCurrentLanguage","selectedLanguage","getSelectedLanguage","maybeLocale","languageCode","toLowerCase","country","filter","Boolean","join","languageFromUrl","getLanguageFromUrl","language","_document","document","location","href","_document2","url","URL","searchParams","get","_essentials$multiling","multilingual","supportedLanguages","find","lang"],"sources":["../../../src/utils/multilingual-utils.ts"],"sourcesContent":["import type { SupportedLanguage, Essentials } from '../types';\n\nexport const getCurrentLocale = (\n essentials: Essentials | undefined,\n): string => {\n const locale = essentials?.locale ?? 'en-US';\n const currentLanguage = getCurrentLanguage(essentials);\n\n if (!currentLanguage) {\n return locale;\n }\n const selectedLanguage = getSelectedLanguage(essentials, currentLanguage);\n\n const maybeLocale = [\n selectedLanguage?.locale?.languageCode?.toLowerCase?.(),\n selectedLanguage?.locale?.country?.toLowerCase?.(),\n ]\n .filter(Boolean)\n .join('-');\n\n return maybeLocale ? maybeLocale : locale;\n};\n\nexport const getCurrentLanguage = (\n essentials: Essentials | undefined,\n): string => {\n const languageFromUrl = getLanguageFromUrl();\n if (languageFromUrl) {\n const selectedLanguage = getSelectedLanguage(essentials, languageFromUrl);\n\n // validate the language is supported\n if (selectedLanguage?.languageCode) {\n return selectedLanguage.languageCode;\n }\n }\n\n return essentials?.language ?? 'en';\n};\n\nconst getLanguageFromUrl = () => {\n if (typeof document !== 'undefined' && document?.location?.href) {\n const url = new URL(document?.location?.href);\n\n return url.searchParams.get('lang');\n }\n\n return;\n};\n\nconst getSelectedLanguage = (\n essentials: Essentials | undefined,\n language: string,\n) => {\n return essentials?.multilingual?.supportedLanguages?.find(\n (lang: SupportedLanguage) => lang.languageCode === language,\n );\n};\n"],"mappings":"AAEA,OAAO,MAAMA,gBAAgB,GAC3BC,UAAkC,IACvB;EAAA,IAAAC,qBAAA,EAAAC,sBAAA;EACX,MAAMC,MAAM,GAAG,CAAAH,UAAU,oBAAVA,UAAU,CAAEG,MAAM,KAAI,OAAO;EAC5C,MAAMC,eAAe,GAAGC,kBAAkB,CAACL,UAAU,CAAC;EAEtD,IAAI,CAACI,eAAe,EAAE;IACpB,OAAOD,MAAM;EACf;EACA,MAAMG,gBAAgB,GAAGC,mBAAmB,CAACP,UAAU,EAAEI,eAAe,CAAC;EAEzE,MAAMI,WAAW,GAAG,CAClBF,gBAAgB,aAAAL,qBAAA,GAAhBK,gBAAgB,CAAEH,MAAM,cAAAF,qBAAA,GAAxBA,qBAAA,CAA0BQ,YAAY,aAAtCR,qBAAA,CAAwCS,WAAW,oBAAnDT,qBAAA,CAAwCS,WAAW,CAAG,CAAC,EACvDJ,gBAAgB,aAAAJ,sBAAA,GAAhBI,gBAAgB,CAAEH,MAAM,cAAAD,sBAAA,GAAxBA,sBAAA,CAA0BS,OAAO,aAAjCT,sBAAA,CAAmCQ,WAAW,oBAA9CR,sBAAA,CAAmCQ,WAAW,CAAG,CAAC,CACnD,CACEE,MAAM,CAACC,OAAO,CAAC,CACfC,IAAI,CAAC,GAAG,CAAC;EAEZ,OAAON,WAAW,GAAGA,WAAW,GAAGL,MAAM;AAC3C,CAAC;AAED,OAAO,MAAME,kBAAkB,GAC7BL,UAAkC,IACvB;EACX,MAAMe,eAAe,GAAGC,kBAAkB,CAAC,CAAC;EAC5C,IAAID,eAAe,EAAE;IACnB,MAAMT,gBAAgB,GAAGC,mBAAmB,CAACP,UAAU,EAAEe,eAAe,CAAC;;IAEzE;IACA,IAAIT,gBAAgB,YAAhBA,gBAAgB,CAAEG,YAAY,EAAE;MAClC,OAAOH,gBAAgB,CAACG,YAAY;IACtC;EACF;EAEA,OAAO,CAAAT,UAAU,oBAAVA,UAAU,CAAEiB,QAAQ,KAAI,IAAI;AACrC,CAAC;AAED,MAAMD,kBAAkB,GAAGA,CAAA,KAAM;EAAA,IAAAE,SAAA;EAC/B,IAAI,OAAOC,QAAQ,KAAK,WAAW,KAAAD,SAAA,GAAIC,QAAQ,cAAAD,SAAA,GAARA,SAAA,CAAUE,QAAQ,aAAlBF,SAAA,CAAoBG,IAAI,EAAE;IAAA,IAAAC,UAAA;IAC/D,MAAMC,GAAG,GAAG,IAAIC,GAAG,EAAAF,UAAA,GAACH,QAAQ,cAAAG,UAAA,GAARA,UAAA,CAAUF,QAAQ,qBAAlBE,UAAA,CAAoBD,IAAI,CAAC;IAE7C,OAAOE,GAAG,CAACE,YAAY,CAACC,GAAG,CAAC,MAAM,CAAC;EACrC;EAEA;AACF,CAAC;AAED,MAAMnB,mBAAmB,GAAGA,CAC1BP,UAAkC,EAClCiB,QAAgB,KACb;EAAA,IAAAU,qBAAA;EACH,OAAO3B,UAAU,aAAA2B,qBAAA,GAAV3B,UAAU,CAAE4B,YAAY,cAAAD,qBAAA,GAAxBA,qBAAA,CAA0BE,kBAAkB,qBAA5CF,qBAAA,CAA8CG,IAAI,CACtDC,IAAuB,IAAKA,IAAI,CAACtB,YAAY,KAAKQ,QACrD,CAAC;AACH,CAAC","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  /**
2
2
  * Based on https://github.com/wix-private/metro/blob/master/packages/wix-headers/src/index.ts
3
3
  */
4
- import { Essentials } from '../types';
5
- export declare const getPassThroughHeaders: (essentials?: Essentials) => Record<string, string>;
4
+ export declare const getPassThroughHeaders: (locale?: string, language?: string) => Record<string, string>;
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/headers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAEtC,eAAO,MAAM,qBAAqB,gBAAiB,UAAU,2BAa5D,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/headers/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,eAAO,MAAM,qBAAqB,YAAa,MAAM,aAAa,MAAM,2BAgBvE,CAAC"}
@@ -1,9 +1,8 @@
1
- import type { Essentials } from '../types';
2
1
  export declare const MULTILINGUAL_HEADER_KEY = "x-wix-linguist";
3
2
  export declare const DUMMY_INSTANCE_ID = "00000000-0000-0000-0000-000000000000";
4
- export declare const getMultilingualHeader: (essentials?: Essentials) => {
5
- "x-wix-linguist": string;
6
- } | {
3
+ export declare const getMultilingualHeader: (locale?: string, language?: string) => {
7
4
  "x-wix-linguist"?: undefined;
5
+ } | {
6
+ "x-wix-linguist": string;
8
7
  };
9
8
  //# sourceMappingURL=multilingual-header.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multilingual-header.d.ts","sourceRoot":"","sources":["../../../src/headers/multilingual-header.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAqB,MAAM,UAAU,CAAC;AAM9D,eAAO,MAAM,uBAAuB,mBAAmB,CAAC;AAGxD,eAAO,MAAM,iBAAiB,yCAAyC,CAAC;AAExE,eAAO,MAAM,qBAAqB,gBAAiB,UAAU;;;;CAiB5D,CAAC"}
1
+ {"version":3,"file":"multilingual-header.d.ts","sourceRoot":"","sources":["../../../src/headers/multilingual-header.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,uBAAuB,mBAAmB,CAAC;AAGxD,eAAO,MAAM,iBAAiB,yCAAyC,CAAC;AAExE,eAAO,MAAM,qBAAqB,YAAa,MAAM,aAAa,MAAM;;;;CAQvE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"host-module.d.ts","sourceRoot":"","sources":["../../src/host-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAIvD,OAAO,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAG/C,eAAO,MAAM,gBAAgB;oBACX,UAAU,KAAK,IAAI;CA4CpC,CAAC"}
1
+ {"version":3,"file":"host-module.d.ts","sourceRoot":"","sources":["../../src/host-module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAIvD,OAAO,KAAK,EAAc,GAAG,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAM3D,eAAO,MAAM,gBAAgB;oBACX,UAAU,KAAK,IAAI;CAiDpC,CAAC"}
@@ -5,6 +5,7 @@ declare global {
5
5
  language: string;
6
6
  locale?: string;
7
7
  timeZone?: string;
8
+ multilingual?: Multilingual;
8
9
  };
9
10
  }
10
11
  }
@@ -18,14 +19,21 @@ export interface Essentials {
18
19
  multilingual?: Multilingual;
19
20
  }
20
21
  export interface Multilingual {
22
+ autoRedirect?: boolean;
21
23
  supportedLanguages?: SupportedLanguage[];
22
24
  }
23
25
  export interface SupportedLanguage {
24
- languageCode?: string;
25
- isPrimary?: boolean;
26
26
  countryCode?: string;
27
+ isPrimary?: boolean;
27
28
  isVisitorPrimary?: boolean;
29
+ languageCode?: string;
28
30
  locale?: Locale;
31
+ resolutionMethod?: ResolutionMethod;
32
+ }
33
+ export declare enum ResolutionMethod {
34
+ QUERY_PARAM = "QUERY_PARAM",
35
+ SUBDOMAIN = "SUBDOMAIN",
36
+ SUBDIRECTORY = "SUBDIRECTORY"
29
37
  }
30
38
  export interface Locale {
31
39
  languageCode?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,oBAAY,GAAG,GAAG,EAAE,CAAC;AAErB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;SACnB,CAAC;KACH;CACF;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,MAAM;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,oBAAY,GAAG,GAAG,EAAE,CAAC;AAErB,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,UAAU,EAAE;YACV,QAAQ,EAAE,MAAM,CAAC;YACjB,MAAM,CAAC,EAAE,MAAM,CAAC;YAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,YAAY,CAAC,EAAE,YAAY,CAAC;SAC7B,CAAC;KACH;CACF;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB;AAED,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,YAAY,CAAC;CAC7B;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,iBAAiB,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;CACrC;AAED,oBAAY,gBAAgB;IAC1B,WAAW,gBAAgB;IAC3B,SAAS,cAAc;IACvB,YAAY,iBAAiB;CAC9B;AAED,MAAM,WAAW,MAAM;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
@@ -1,4 +1,4 @@
1
- import type { SupportedLanguage, Essentials } from '../types';
2
- export declare function getLanguageLocale(language: SupportedLanguage): string | undefined;
1
+ import type { Essentials } from '../types';
3
2
  export declare const getCurrentLocale: (essentials: Essentials | undefined) => string;
3
+ export declare const getCurrentLanguage: (essentials: Essentials | undefined) => string;
4
4
  //# sourceMappingURL=multilingual-utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"multilingual-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/multilingual-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9D,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,iBAAiB,sBAQ5D;AAED,eAAO,MAAM,gBAAgB,eAAgB,UAAU,GAAG,SAAS,WAyBlE,CAAC"}
1
+ {"version":3,"file":"multilingual-utils.d.ts","sourceRoot":"","sources":["../../../src/utils/multilingual-utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAqB,UAAU,EAAE,MAAM,UAAU,CAAC;AAE9D,eAAO,MAAM,gBAAgB,eACf,UAAU,GAAG,SAAS,KACjC,MAiBF,CAAC;AAEF,eAAO,MAAM,kBAAkB,eACjB,UAAU,GAAG,SAAS,KACjC,MAYF,CAAC"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@wix/headless-site",
3
- "version": "1.12.0",
3
+ "version": "1.18.0",
4
4
  "unpkg": true,
5
5
  "license": "UNLICENSED",
6
6
  "author": {
7
7
  "name": "Anton Podolsky",
8
8
  "email": "antonp@wix.com"
9
9
  },
10
+ "sideEffects": false,
10
11
  "main": "dist/cjs/index.js",
11
12
  "module": "dist/esm/index.js",
12
- "sideEffects": false,
13
13
  "types": "dist/types/index.d.ts",
14
14
  "files": [
15
15
  "dist/cjs",
@@ -87,5 +87,5 @@
87
87
  "wallaby": {
88
88
  "autoDetect": true
89
89
  },
90
- "falconPackageHash": "d6086529060990f177f7d6f865f9c45cb367c780be9a386c226eb691"
90
+ "falconPackageHash": "c6fd785eda16dbb918c63618cfee25f7212b103af255ede6f67bf5ab"
91
91
  }