@corti/dictation-web 0.7.0-ambient.1 → 0.7.0-ambient.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.
package/dist/bundle.js CHANGED
@@ -1417,9 +1417,18 @@ function getLanguageName(languageCode) {
1417
1417
  return languageCode;
1418
1418
  }
1419
1419
  }
1420
+ function getPreferredDefaultLanguage(languages = []) {
1421
+ if (languages.includes("en")) {
1422
+ return "en";
1423
+ }
1424
+ if (languages.includes("en-GB")) {
1425
+ return "en-GB";
1426
+ }
1427
+ return languages[0];
1428
+ }
1420
1429
  function getLanguagesByRegion(region) {
1421
- const languages = DEFAULT_LANGUAGES_BY_REGION[region || "default"] || DEFAULT_LANGUAGES_BY_REGION["default"];
1422
- const defaultLanguage = languages?.[0];
1430
+ const languages = DEFAULT_LANGUAGES_BY_REGION[region || "default"] ?? DEFAULT_LANGUAGES_BY_REGION.default;
1431
+ const defaultLanguage = getPreferredDefaultLanguage(languages);
1423
1432
  return { defaultLanguage, languages };
1424
1433
  }
1425
1434
 
@@ -1522,6 +1531,13 @@ function LanguagesContextMixin(superclass) {
1522
1531
  if (value !== void 0) {
1523
1532
  __classPrivateFieldGet5(this, _LanguagesContextMixinClass_languagesController, "f").clearAutoLoadedFlag();
1524
1533
  }
1534
+ if (value === void 0 || value.length === 0) {
1535
+ this.selectedLanguage = void 0;
1536
+ return;
1537
+ }
1538
+ if (this.selectedLanguage === void 0 || !value.includes(this.selectedLanguage)) {
1539
+ this.selectedLanguage = getPreferredDefaultLanguage(value);
1540
+ }
1525
1541
  }
1526
1542
  get languages() {
1527
1543
  return this._languages;
@@ -1544,7 +1560,7 @@ function LanguagesContextMixin(superclass) {
1544
1560
  this.addEventListener("languages-changed", (e10) => {
1545
1561
  const event = e10;
1546
1562
  const selectedLanguage = event.detail.selectedLanguage;
1547
- this.selectedLanguage = selectedLanguage ?? event.detail.languages[0];
1563
+ this.selectedLanguage = selectedLanguage ?? getPreferredDefaultLanguage(event.detail.languages);
1548
1564
  });
1549
1565
  }
1550
1566
  }
@@ -13,6 +13,7 @@ import { createContext, provide } from "@lit/context";
13
13
  import { property, state } from "lit/decorators.js";
14
14
  import { LanguagesController } from "../../controllers/languages-controller.js";
15
15
  import { commaSeparatedConverter } from "../../utils/converters.js";
16
+ import { getPreferredDefaultLanguage } from "../../utils/languages.js";
16
17
  export const languagesContext = createContext(Symbol("languages"));
17
18
  export const selectedLanguageContext = createContext(Symbol("selectedLanguage"));
18
19
  export function LanguagesContextMixin(superclass) {
@@ -24,6 +25,14 @@ export function LanguagesContextMixin(superclass) {
24
25
  if (value !== undefined) {
25
26
  __classPrivateFieldGet(this, _LanguagesContextMixinClass_languagesController, "f").clearAutoLoadedFlag();
26
27
  }
28
+ if (value === undefined || value.length === 0) {
29
+ this.selectedLanguage = undefined;
30
+ return;
31
+ }
32
+ if (this.selectedLanguage === undefined ||
33
+ !value.includes(this.selectedLanguage)) {
34
+ this.selectedLanguage = getPreferredDefaultLanguage(value);
35
+ }
27
36
  }
28
37
  get languages() {
29
38
  return this._languages;
@@ -46,7 +55,9 @@ export function LanguagesContextMixin(superclass) {
46
55
  this.addEventListener("languages-changed", (e) => {
47
56
  const event = e;
48
57
  const selectedLanguage = event.detail.selectedLanguage;
49
- this.selectedLanguage = selectedLanguage ?? event.detail.languages[0];
58
+ this.selectedLanguage =
59
+ selectedLanguage ??
60
+ getPreferredDefaultLanguage(event.detail.languages);
50
61
  });
51
62
  }
52
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"languages-context.js","sourceRoot":"","sources":["../../../src/contexts/mixins/languages-context.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,EAAqB,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAE3C,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACvB,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAElD,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAS9B,MAAM,UAAU,qBAAqB,CACnC,UAAa;;IAEb,MAAM,0BAA2B,SAAQ,UAAU;QAejD,IAAI,SAAS,CAAC,KAAsD;YAClE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAExB,6DAA6D;YAC7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,uBAAA,IAAI,uDAAqB,CAAC,mBAAmB,EAAE,CAAC;YAClD,CAAC;QACH,CAAC;QAED,IAAI,SAAS;YACX,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAGD,IAAI,gBAAgB,CAAC,KAAoD;YACvE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC;QAED,IAAI,gBAAgB;YAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YArCjB,0DAAuB,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAC;YAuCnD,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAQ,EAAE,EAAE;gBACpD,MAAM,EAAE,GAAG,CAA0C,CAAC;gBAEtD,IAAI,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;oBACpC,uBAAA,IAAI,uDAAqB,CAAC,UAAU,EAAE,CAAC;gBACzC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,CAAQ,EAAE,EAAE;gBACtD,MAAM,KAAK,GAAG,CAA6C,CAAC;gBAC5D,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,gBAEzB,CAAC;gBAEd,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC;KACF;;IApDC;QAFC,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;QACtC,KAAK,EAAE;kEACyC;IAIjD;QAFC,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QAC7C,KAAK,EAAE;yEAC8C;IAMtD;QAJC,QAAQ,CAAC;YACR,SAAS,EAAE,uBAAuB;YAClC,IAAI,EAAE,KAAK;SACZ,CAAC;+DAQD;IAOD;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sEAG1B;IA4BH,OAAO,0BACJ,CAAC;AACN,CAAC","sourcesContent":["import type { Corti } from \"@corti/sdk\";\nimport { type ContextEvent, createContext, provide } from \"@lit/context\";\nimport type { LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { LanguagesController } from \"../../controllers/languages-controller.js\";\nimport { commaSeparatedConverter } from \"../../utils/converters.js\";\nimport type { LanguagesChangedEventDetail } from \"../../utils/events.js\";\nimport type { Constructor } from \"./types.js\";\n\nexport const languagesContext = createContext<\n Corti.TranscribeSupportedLanguage[] | undefined\n>(Symbol(\"languages\"));\nexport const selectedLanguageContext = createContext<\n Corti.TranscribeSupportedLanguage | undefined\n>(Symbol(\"selectedLanguage\"));\n\nexport declare class LanguagesContextInterface {\n _languages?: Corti.TranscribeSupportedLanguage[];\n _selectedLanguage?: Corti.TranscribeSupportedLanguage;\n languages?: Corti.TranscribeSupportedLanguage[];\n selectedLanguage?: Corti.TranscribeSupportedLanguage;\n}\n\nexport function LanguagesContextMixin<T extends Constructor<LitElement>>(\n superclass: T,\n): Constructor<LanguagesContextInterface> & T {\n class LanguagesContextMixinClass extends superclass {\n #languagesController = new LanguagesController(this);\n\n @provide({ context: languagesContext })\n @state()\n _languages?: Corti.TranscribeSupportedLanguage[];\n\n @provide({ context: selectedLanguageContext })\n @state()\n _selectedLanguage?: Corti.TranscribeSupportedLanguage;\n\n @property({\n converter: commaSeparatedConverter,\n type: Array,\n })\n set languages(value: Corti.TranscribeSupportedLanguage[] | undefined) {\n this._languages = value;\n\n // Clear auto-loaded flag when languages are set via property\n if (value !== undefined) {\n this.#languagesController.clearAutoLoadedFlag();\n }\n }\n\n get languages(): Corti.TranscribeSupportedLanguage[] | undefined {\n return this._languages;\n }\n\n @property({ type: String })\n set selectedLanguage(value: Corti.TranscribeSupportedLanguage | undefined) {\n this._selectedLanguage = value;\n }\n\n get selectedLanguage(): Corti.TranscribeSupportedLanguage | undefined {\n return this._selectedLanguage;\n }\n\n constructor(...args: any[]) {\n super(...args);\n\n this.addEventListener(\"context-request\", (e: Event) => {\n const ev = e as ContextEvent<typeof languagesContext>;\n\n if (ev.context === languagesContext) {\n this.#languagesController.initialize();\n }\n });\n\n this.addEventListener(\"languages-changed\", (e: Event) => {\n const event = e as CustomEvent<LanguagesChangedEventDetail>;\n const selectedLanguage = event.detail.selectedLanguage as\n | Corti.TranscribeSupportedLanguage\n | undefined;\n\n this.selectedLanguage = selectedLanguage ?? event.detail.languages[0];\n });\n }\n }\n\n return LanguagesContextMixinClass as Constructor<LanguagesContextInterface> &\n T;\n}\n"]}
1
+ {"version":3,"file":"languages-context.js","sourceRoot":"","sources":["../../../src/contexts/mixins/languages-context.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,EAAqB,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AAGvE,MAAM,CAAC,MAAM,gBAAgB,GAAG,aAAa,CAE3C,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;AACvB,MAAM,CAAC,MAAM,uBAAuB,GAAG,aAAa,CAElD,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAS9B,MAAM,UAAU,qBAAqB,CACnC,UAAa;;IAEb,MAAM,0BAA2B,SAAQ,UAAU;QAejD,IAAI,SAAS,CAAC,KAAsD;YAClE,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAExB,6DAA6D;YAC7D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACxB,uBAAA,IAAI,uDAAqB,CAAC,mBAAmB,EAAE,CAAC;YAClD,CAAC;YAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9C,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;gBAClC,OAAO;YACT,CAAC;YAED,IACE,IAAI,CAAC,gBAAgB,KAAK,SAAS;gBACnC,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,gBAAgB,CAAC,EACtC,CAAC;gBACD,IAAI,CAAC,gBAAgB,GAAG,2BAA2B,CAAC,KAAK,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QAED,IAAI,SAAS;YACX,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAGD,IAAI,gBAAgB,CAAC,KAAoD;YACvE,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;QACjC,CAAC;QAED,IAAI,gBAAgB;YAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAChC,CAAC;QAED,YAAY,GAAG,IAAW;YACxB,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;YAjDjB,0DAAuB,IAAI,mBAAmB,CAAC,IAAI,CAAC,EAAC;YAmDnD,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC,CAAQ,EAAE,EAAE;gBACpD,MAAM,EAAE,GAAG,CAA0C,CAAC;gBAEtD,IAAI,EAAE,CAAC,OAAO,KAAK,gBAAgB,EAAE,CAAC;oBACpC,uBAAA,IAAI,uDAAqB,CAAC,UAAU,EAAE,CAAC;gBACzC,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,CAAQ,EAAE,EAAE;gBACtD,MAAM,KAAK,GAAG,CAA6C,CAAC;gBAC5D,MAAM,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,gBAEzB,CAAC;gBAEd,IAAI,CAAC,gBAAgB;oBACnB,gBAAgB;wBAChB,2BAA2B,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACL,CAAC;KACF;;IAlEC;QAFC,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC;QACtC,KAAK,EAAE;kEACyC;IAIjD;QAFC,OAAO,CAAC,EAAE,OAAO,EAAE,uBAAuB,EAAE,CAAC;QAC7C,KAAK,EAAE;yEAC8C;IAMtD;QAJC,QAAQ,CAAC;YACR,SAAS,EAAE,uBAAuB;YAClC,IAAI,EAAE,KAAK;SACZ,CAAC;+DAoBD;IAOD;QADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;sEAG1B;IA8BH,OAAO,0BACJ,CAAC;AACN,CAAC","sourcesContent":["import type { Corti } from \"@corti/sdk\";\nimport { type ContextEvent, createContext, provide } from \"@lit/context\";\nimport type { LitElement } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\nimport { LanguagesController } from \"../../controllers/languages-controller.js\";\nimport { commaSeparatedConverter } from \"../../utils/converters.js\";\nimport type { LanguagesChangedEventDetail } from \"../../utils/events.js\";\nimport { getPreferredDefaultLanguage } from \"../../utils/languages.js\";\nimport type { Constructor } from \"./types.js\";\n\nexport const languagesContext = createContext<\n Corti.TranscribeSupportedLanguage[] | undefined\n>(Symbol(\"languages\"));\nexport const selectedLanguageContext = createContext<\n Corti.TranscribeSupportedLanguage | undefined\n>(Symbol(\"selectedLanguage\"));\n\nexport declare class LanguagesContextInterface {\n _languages?: Corti.TranscribeSupportedLanguage[];\n _selectedLanguage?: Corti.TranscribeSupportedLanguage;\n languages?: Corti.TranscribeSupportedLanguage[];\n selectedLanguage?: Corti.TranscribeSupportedLanguage;\n}\n\nexport function LanguagesContextMixin<T extends Constructor<LitElement>>(\n superclass: T,\n): Constructor<LanguagesContextInterface> & T {\n class LanguagesContextMixinClass extends superclass {\n #languagesController = new LanguagesController(this);\n\n @provide({ context: languagesContext })\n @state()\n _languages?: Corti.TranscribeSupportedLanguage[];\n\n @provide({ context: selectedLanguageContext })\n @state()\n _selectedLanguage?: Corti.TranscribeSupportedLanguage;\n\n @property({\n converter: commaSeparatedConverter,\n type: Array,\n })\n set languages(value: Corti.TranscribeSupportedLanguage[] | undefined) {\n this._languages = value;\n\n // Clear auto-loaded flag when languages are set via property\n if (value !== undefined) {\n this.#languagesController.clearAutoLoadedFlag();\n }\n\n if (value === undefined || value.length === 0) {\n this.selectedLanguage = undefined;\n return;\n }\n\n if (\n this.selectedLanguage === undefined ||\n !value.includes(this.selectedLanguage)\n ) {\n this.selectedLanguage = getPreferredDefaultLanguage(value);\n }\n }\n\n get languages(): Corti.TranscribeSupportedLanguage[] | undefined {\n return this._languages;\n }\n\n @property({ type: String })\n set selectedLanguage(value: Corti.TranscribeSupportedLanguage | undefined) {\n this._selectedLanguage = value;\n }\n\n get selectedLanguage(): Corti.TranscribeSupportedLanguage | undefined {\n return this._selectedLanguage;\n }\n\n constructor(...args: any[]) {\n super(...args);\n\n this.addEventListener(\"context-request\", (e: Event) => {\n const ev = e as ContextEvent<typeof languagesContext>;\n\n if (ev.context === languagesContext) {\n this.#languagesController.initialize();\n }\n });\n\n this.addEventListener(\"languages-changed\", (e: Event) => {\n const event = e as CustomEvent<LanguagesChangedEventDetail>;\n const selectedLanguage = event.detail.selectedLanguage as\n | Corti.TranscribeSupportedLanguage\n | undefined;\n\n this.selectedLanguage =\n selectedLanguage ??\n getPreferredDefaultLanguage(event.detail.languages);\n });\n }\n }\n\n return LanguagesContextMixinClass as Constructor<LanguagesContextInterface> &\n T;\n}\n"]}