@corti/dictation-web 0.5.0-rc → 0.5.0-rc.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 (37) hide show
  1. package/README.md +24 -38
  2. package/dist/bundle.js +327 -380
  3. package/dist/components/corti-dictation.d.ts +13 -9
  4. package/dist/components/corti-dictation.js +22 -17
  5. package/dist/components/corti-dictation.js.map +1 -1
  6. package/dist/components/keybinding-input.d.ts +16 -0
  7. package/dist/components/keybinding-input.js +94 -0
  8. package/dist/components/keybinding-input.js.map +1 -0
  9. package/dist/components/keybinding-selector.d.ts +3 -3
  10. package/dist/components/keybinding-selector.js +19 -48
  11. package/dist/components/keybinding-selector.js.map +1 -1
  12. package/dist/components/recording-button.d.ts +3 -3
  13. package/dist/components/recording-button.js +9 -37
  14. package/dist/components/recording-button.js.map +1 -1
  15. package/dist/components/settings-menu.d.ts +0 -1
  16. package/dist/components/settings-menu.js +4 -17
  17. package/dist/components/settings-menu.js.map +1 -1
  18. package/dist/contexts/dictation-context.d.ts +6 -6
  19. package/dist/contexts/dictation-context.js +24 -23
  20. package/dist/contexts/dictation-context.js.map +1 -1
  21. package/dist/controllers/keybinding-controller.d.ts +2 -3
  22. package/dist/controllers/keybinding-controller.js +20 -17
  23. package/dist/controllers/keybinding-controller.js.map +1 -1
  24. package/dist/index.d.ts +2 -3
  25. package/dist/index.js +0 -5
  26. package/dist/index.js.map +1 -1
  27. package/dist/styles/keybinding-selector.js +10 -4
  28. package/dist/styles/keybinding-selector.js.map +1 -1
  29. package/dist/styles/settings-menu.js +0 -8
  30. package/dist/styles/settings-menu.js.map +1 -1
  31. package/dist/tsconfig.tsbuildinfo +1 -1
  32. package/dist/types.d.ts +1 -2
  33. package/dist/types.js.map +1 -1
  34. package/dist/utils/events.d.ts +4 -6
  35. package/dist/utils/events.js +2 -9
  36. package/dist/utils/events.js.map +1 -1
  37. package/package.json +2 -2
package/dist/bundle.js CHANGED
@@ -1079,18 +1079,11 @@ function networkActivityEvent(direction, data) {
1079
1079
  detail: { data, direction }
1080
1080
  });
1081
1081
  }
1082
- function modeChangedEvent(mode) {
1083
- return new CustomEvent("mode-changed", {
1084
- bubbles: true,
1085
- composed: true,
1086
- detail: { mode }
1087
- });
1088
- }
1089
- function keybindingChangedEvent(key, code) {
1082
+ function keybindingChangedEvent(key, code, keybinding, type) {
1090
1083
  return new CustomEvent("keybinding-changed", {
1091
1084
  bubbles: true,
1092
1085
  composed: true,
1093
- detail: { code, key }
1086
+ detail: { code, key, keybinding, type }
1094
1087
  });
1095
1088
  }
1096
1089
  function keybindingActivatedEvent(keyboardEvent) {
@@ -1340,71 +1333,6 @@ async function getInitialToken(config) {
1340
1333
  };
1341
1334
  }
1342
1335
 
1343
- // dist/utils/keybinding.js
1344
- function isMac() {
1345
- if (typeof navigator === "undefined") {
1346
- return false;
1347
- }
1348
- return /Mac|iPhone|iPad|iPod/.test(navigator.userAgent);
1349
- }
1350
- function capitalize(str) {
1351
- if (str.length === 0) {
1352
- return str;
1353
- }
1354
- return str.charAt(0).toUpperCase() + str.slice(1);
1355
- }
1356
- function normalizeKeyForKeybinding(key) {
1357
- if (key === " ") {
1358
- return "Space";
1359
- }
1360
- const normalized = key.trim().toLowerCase();
1361
- if (normalized === "control") {
1362
- return "Ctrl";
1363
- }
1364
- if (normalized === "meta" || normalized === "cmd") {
1365
- return isMac() ? "Cmd" : "Meta";
1366
- }
1367
- if (normalized === "alt" || normalized === "opt") {
1368
- return isMac() ? "Opt" : "Alt";
1369
- }
1370
- if (normalized === "space") {
1371
- return "Space";
1372
- }
1373
- return normalized.length > 1 ? capitalize(normalized) : normalized;
1374
- }
1375
- function normalizeKeybinding(keybinding) {
1376
- if (!keybinding) {
1377
- return null;
1378
- }
1379
- const trimmed = keybinding.trim();
1380
- if (trimmed === "") {
1381
- return null;
1382
- }
1383
- return normalizeKeyForKeybinding(trimmed);
1384
- }
1385
- function matchesKeybinding(event, keybinding) {
1386
- const normalizedKeybinding = normalizeKeybinding(keybinding);
1387
- if (!normalizedKeybinding) {
1388
- return false;
1389
- }
1390
- const normalizedKey = normalizeKeyForKeybinding(event.key);
1391
- const normalizedCode = normalizeKeyForKeybinding(event.code);
1392
- return normalizedKey === normalizedKeybinding || normalizedCode === normalizedKeybinding;
1393
- }
1394
- function shouldIgnoreKeybinding(element) {
1395
- if (!element) {
1396
- return false;
1397
- }
1398
- const tagName = element.tagName.toLowerCase();
1399
- if (tagName === "input" || tagName === "textarea") {
1400
- return true;
1401
- }
1402
- if (element instanceof HTMLElement && element.contentEditable === "true") {
1403
- return true;
1404
- }
1405
- return false;
1406
- }
1407
-
1408
1336
  // dist/utils/token.js
1409
1337
  function decodeToken(token) {
1410
1338
  const parts = token.split(".");
@@ -1461,7 +1389,6 @@ var _DictationRoot_handleLanguageChanged;
1461
1389
  var _DictationRoot_handleDeviceChanged;
1462
1390
  var _DictationRoot_handleRecordingStateChanged;
1463
1391
  var _DictationRoot_handleContextRequest;
1464
- var _DictationRoot_handleModeChanged;
1465
1392
  var _DictationRoot_handleKeybindingChanged;
1466
1393
  var regionContext = n7(Symbol("region"));
1467
1394
  var tenantNameContext = n7(Symbol("tenantName"));
@@ -1475,8 +1402,8 @@ var authConfigContext = n7(Symbol("authConfig"));
1475
1402
  var socketUrlContext = n7(Symbol("socketUrl"));
1476
1403
  var socketProxyContext = n7(Symbol("socketProxy"));
1477
1404
  var debugDisplayAudioContext = n7(Symbol("debugDisplayAudio"));
1478
- var modeContext = n7(Symbol("mode"));
1479
- var keybindingContext = n7(Symbol("keybinding"));
1405
+ var pushToTalkKeybindingContext = n7(Symbol("pushToTalkKeybinding"));
1406
+ var toggleToTalkKeybindingContext = n7(Symbol("toggleToTalkKeybinding"));
1480
1407
  var DictationRoot = class DictationRoot2 extends i4 {
1481
1408
  set accessToken(token) {
1482
1409
  this.setAccessToken(token);
@@ -1516,7 +1443,6 @@ var DictationRoot = class DictationRoot2 extends i4 {
1516
1443
  this.recordingState = "stopped";
1517
1444
  _DictationRoot_languagesController.set(this, new LanguagesController(this));
1518
1445
  _DictationRoot_devicesController.set(this, new DevicesController(this));
1519
- this.mode = "toggle-to-talk";
1520
1446
  this.noWrapper = false;
1521
1447
  _DictationRoot_handleLanguageChanged.set(this, (e10) => {
1522
1448
  const event = e10;
@@ -1538,27 +1464,30 @@ var DictationRoot = class DictationRoot2 extends i4 {
1538
1464
  __classPrivateFieldGet3(this, _DictationRoot_languagesController, "f").initialize();
1539
1465
  } else if (e10.context === devicesContext) {
1540
1466
  __classPrivateFieldGet3(this, _DictationRoot_devicesController, "f").initialize();
1541
- } else if (e10.context === keybindingContext && e10.contextTarget.tagName.toLowerCase() === "dictation-keybinding-selector") {
1542
- if (this.keybinding === void 0) {
1543
- this.keybinding = "`";
1544
- this.dispatchEvent(keybindingChangedEvent("`", "Backquote"));
1467
+ } else if (e10.contextTarget.tagName.toLowerCase() === "dictation-keybinding-selector") {
1468
+ if (e10.context === pushToTalkKeybindingContext && this.pushToTalkKeybinding === void 0) {
1469
+ this.pushToTalkKeybinding = "Space";
1470
+ this.dispatchEvent(keybindingChangedEvent(" ", "Space", "Space", "push-to-talk"));
1471
+ }
1472
+ if (e10.context === toggleToTalkKeybindingContext && this.toggleToTalkKeybinding === void 0) {
1473
+ this.toggleToTalkKeybinding = "Enter";
1474
+ this.dispatchEvent(keybindingChangedEvent("Enter", "Enter", "Enter", "toggle-to-talk"));
1545
1475
  }
1546
1476
  }
1547
1477
  });
1548
- _DictationRoot_handleModeChanged.set(this, (e10) => {
1549
- const event = e10;
1550
- this.mode = event.detail.mode;
1551
- });
1552
1478
  _DictationRoot_handleKeybindingChanged.set(this, (e10) => {
1553
1479
  const event = e10;
1554
- const normalizedKeybinding = normalizeKeybinding(event.detail.key);
1555
- this.keybinding = normalizedKeybinding;
1480
+ const keybinding = event.detail.keybinding;
1481
+ if (event.detail.type === "push-to-talk") {
1482
+ this.pushToTalkKeybinding = keybinding;
1483
+ } else if (event.detail.type === "toggle-to-talk") {
1484
+ this.toggleToTalkKeybinding = keybinding;
1485
+ }
1556
1486
  });
1557
1487
  this.addEventListener("languages-changed", __classPrivateFieldGet3(this, _DictationRoot_handleLanguageChanged, "f"));
1558
1488
  this.addEventListener("recording-devices-changed", __classPrivateFieldGet3(this, _DictationRoot_handleDeviceChanged, "f"));
1559
1489
  this.addEventListener("recording-state-changed", __classPrivateFieldGet3(this, _DictationRoot_handleRecordingStateChanged, "f"));
1560
1490
  this.addEventListener("context-request", __classPrivateFieldGet3(this, _DictationRoot_handleContextRequest, "f"));
1561
- this.addEventListener("mode-changed", __classPrivateFieldGet3(this, _DictationRoot_handleModeChanged, "f"));
1562
1491
  this.addEventListener("keybinding-changed", __classPrivateFieldGet3(this, _DictationRoot_handleKeybindingChanged, "f"));
1563
1492
  }
1564
1493
  // ─────────────────────────────────────────────────────────────────────────────
@@ -1634,7 +1563,6 @@ _DictationRoot_handleLanguageChanged = /* @__PURE__ */ new WeakMap();
1634
1563
  _DictationRoot_handleDeviceChanged = /* @__PURE__ */ new WeakMap();
1635
1564
  _DictationRoot_handleRecordingStateChanged = /* @__PURE__ */ new WeakMap();
1636
1565
  _DictationRoot_handleContextRequest = /* @__PURE__ */ new WeakMap();
1637
- _DictationRoot_handleModeChanged = /* @__PURE__ */ new WeakMap();
1638
1566
  _DictationRoot_handleKeybindingChanged = /* @__PURE__ */ new WeakMap();
1639
1567
  DictationRoot.styles = [component_styles_default];
1640
1568
  __decorate([
@@ -1701,13 +1629,13 @@ __decorate([
1701
1629
  n4({ attribute: "debug-display-audio", type: Boolean })
1702
1630
  ], DictationRoot.prototype, "debug_displayAudio", void 0);
1703
1631
  __decorate([
1704
- e9({ context: modeContext }),
1632
+ e9({ context: pushToTalkKeybindingContext }),
1705
1633
  n4({ type: String })
1706
- ], DictationRoot.prototype, "mode", void 0);
1634
+ ], DictationRoot.prototype, "pushToTalkKeybinding", void 0);
1707
1635
  __decorate([
1708
- e9({ context: keybindingContext }),
1636
+ e9({ context: toggleToTalkKeybindingContext }),
1709
1637
  n4({ type: String })
1710
- ], DictationRoot.prototype, "keybinding", void 0);
1638
+ ], DictationRoot.prototype, "toggleToTalkKeybinding", void 0);
1711
1639
  __decorate([
1712
1640
  n4({ type: Boolean })
1713
1641
  ], DictationRoot.prototype, "noWrapper", void 0);
@@ -5512,7 +5440,7 @@ var FactsCreateRequest = schemas_exports.object({
5512
5440
 
5513
5441
  // node_modules/@corti/sdk/dist/esm/serialization/types/FactsBatchUpdateInput.mjs
5514
5442
  var FactsBatchUpdateInput = schemas_exports.object({
5515
- factId: Uuid,
5443
+ factId: schemas_exports.string(),
5516
5444
  isDiscarded: schemas_exports.boolean().optional(),
5517
5445
  text: schemas_exports.string().optional(),
5518
5446
  group: schemas_exports.string().optional()
@@ -5609,6 +5537,23 @@ var DocumentsSection = schemas_exports.object({
5609
5537
  updatedAt: schemas_exports.date()
5610
5538
  });
5611
5539
 
5540
+ // node_modules/@corti/sdk/dist/esm/serialization/types/DocumentsSectionOverride.mjs
5541
+ var DocumentsSectionOverride = schemas_exports.object({
5542
+ key: schemas_exports.string(),
5543
+ nameOverride: schemas_exports.string().optional(),
5544
+ writingStyleOverride: schemas_exports.string().optional(),
5545
+ formatRuleOverride: schemas_exports.string().optional(),
5546
+ additionalInstructionsOverride: schemas_exports.string().optional(),
5547
+ contentOverride: schemas_exports.string().optional()
5548
+ });
5549
+
5550
+ // node_modules/@corti/sdk/dist/esm/serialization/types/DocumentsTemplateWithSections.mjs
5551
+ var DocumentsTemplateWithSections = schemas_exports.object({
5552
+ sections: schemas_exports.list(DocumentsSectionOverride),
5553
+ description: schemas_exports.string().optional(),
5554
+ additionalInstructionsOverride: schemas_exports.string().optional()
5555
+ });
5556
+
5612
5557
  // node_modules/@corti/sdk/dist/esm/serialization/types/DocumentsTemplateWithSectionKeys.mjs
5613
5558
  var DocumentsTemplateWithSectionKeys = schemas_exports.object({
5614
5559
  sectionKeys: schemas_exports.list(schemas_exports.string()),
@@ -5617,7 +5562,7 @@ var DocumentsTemplateWithSectionKeys = schemas_exports.object({
5617
5562
  });
5618
5563
 
5619
5564
  // node_modules/@corti/sdk/dist/esm/serialization/types/DocumentsTemplate.mjs
5620
- var DocumentsTemplate = DocumentsTemplateWithSectionKeys;
5565
+ var DocumentsTemplate = schemas_exports.undiscriminatedUnion([DocumentsTemplateWithSections, DocumentsTemplateWithSectionKeys]);
5621
5566
 
5622
5567
  // node_modules/@corti/sdk/dist/esm/serialization/types/InteractionsEncounterResponse.mjs
5623
5568
  var InteractionsEncounterResponse = schemas_exports.object({
@@ -5652,13 +5597,17 @@ var FactsFactGroupsItem = schemas_exports.object({
5652
5597
  translations: schemas_exports.list(FactsFactGroupsItemTranslationsItem).optional()
5653
5598
  });
5654
5599
 
5600
+ // node_modules/@corti/sdk/dist/esm/serialization/types/TemplatesDocumentationModeEnum.mjs
5601
+ var TemplatesDocumentationModeEnum = schemas_exports.enum_(["global_sequential", "routed_parallel"]);
5602
+
5655
5603
  // node_modules/@corti/sdk/dist/esm/serialization/types/DocumentsCreateRequestWithTemplateKey.mjs
5656
5604
  var DocumentsCreateRequestWithTemplateKey = schemas_exports.object({
5657
5605
  context: schemas_exports.list(DocumentsContext),
5658
5606
  templateKey: schemas_exports.string(),
5659
5607
  name: schemas_exports.string().optional(),
5660
5608
  outputLanguage: schemas_exports.string(),
5661
- disableGuardrails: schemas_exports.boolean().optional()
5609
+ disableGuardrails: schemas_exports.boolean().optional(),
5610
+ documentationMode: TemplatesDocumentationModeEnum.optional()
5662
5611
  });
5663
5612
 
5664
5613
  // node_modules/@corti/sdk/dist/esm/serialization/types/DocumentsCreateRequestWithTemplate.mjs
@@ -5667,7 +5616,8 @@ var DocumentsCreateRequestWithTemplate = schemas_exports.object({
5667
5616
  template: DocumentsTemplate,
5668
5617
  name: schemas_exports.string().optional(),
5669
5618
  outputLanguage: schemas_exports.string(),
5670
- disableGuardrails: schemas_exports.boolean().optional()
5619
+ disableGuardrails: schemas_exports.boolean().optional(),
5620
+ documentationMode: TemplatesDocumentationModeEnum.optional()
5671
5621
  });
5672
5622
 
5673
5623
  // node_modules/@corti/sdk/dist/esm/serialization/types/DocumentsCreateRequest.mjs
@@ -5681,22 +5631,31 @@ var TemplatesWritingStyle = schemas_exports.object({
5681
5631
  name: schemas_exports.string()
5682
5632
  });
5683
5633
 
5634
+ // node_modules/@corti/sdk/dist/esm/serialization/types/TemplatesFormatRule.mjs
5635
+ var TemplatesFormatRule = schemas_exports.object({
5636
+ name: schemas_exports.string().optionalNullable()
5637
+ });
5638
+
5684
5639
  // node_modules/@corti/sdk/dist/esm/serialization/types/TemplatesSectionTranslation.mjs
5685
5640
  var TemplatesSectionTranslation = schemas_exports.object({
5686
- languagesId: schemas_exports.property("languages_id", schemas_exports.string()),
5641
+ languageId: schemas_exports.string(),
5687
5642
  name: schemas_exports.string().optionalNullable(),
5688
5643
  description: schemas_exports.string().optionalNullable()
5689
5644
  });
5690
5645
 
5691
5646
  // node_modules/@corti/sdk/dist/esm/serialization/types/TemplatesSection.mjs
5692
5647
  var TemplatesSection = schemas_exports.object({
5693
- dateUpdated: schemas_exports.property("date_updated", schemas_exports.date().optionalNullable()),
5648
+ updatedAt: schemas_exports.date().optionalNullable(),
5694
5649
  name: schemas_exports.string(),
5695
- alternateNames: schemas_exports.property("alternate_names", schemas_exports.list(schemas_exports.string()).optionalNullable()),
5650
+ alternateName: schemas_exports.string().optional(),
5696
5651
  key: schemas_exports.string(),
5697
5652
  description: schemas_exports.string(),
5698
- defaultWritingStyle: schemas_exports.property("default_writing_style", TemplatesWritingStyle),
5699
- sectionType: schemas_exports.property("section_type", schemas_exports.string()),
5653
+ defaultWritingStyle: TemplatesWritingStyle,
5654
+ defaultFormatRule: TemplatesFormatRule.optional(),
5655
+ additionalInstructions: schemas_exports.string().optional(),
5656
+ content: schemas_exports.string().optional(),
5657
+ documentationMode: TemplatesDocumentationModeEnum.optional(),
5658
+ type: schemas_exports.string(),
5700
5659
  translations: schemas_exports.list(TemplatesSectionTranslation)
5701
5660
  });
5702
5661
 
@@ -5708,24 +5667,26 @@ var TemplatesSectionListResponse = schemas_exports.object({
5708
5667
  // node_modules/@corti/sdk/dist/esm/serialization/types/TemplatesSectionSorted.mjs
5709
5668
  var TemplatesSectionSorted = schemas_exports.object({
5710
5669
  sort: schemas_exports.number(),
5711
- sectionsId: schemas_exports.property("sections_id", TemplatesSection)
5670
+ section: TemplatesSection
5712
5671
  });
5713
5672
 
5714
5673
  // node_modules/@corti/sdk/dist/esm/serialization/types/TemplatesTranslation.mjs
5715
5674
  var TemplatesTranslation = schemas_exports.object({
5716
- languagesId: schemas_exports.property("languages_id", schemas_exports.string()),
5675
+ languageId: schemas_exports.string(),
5717
5676
  name: schemas_exports.string().optional(),
5718
5677
  description: schemas_exports.string().optional()
5719
5678
  });
5720
5679
 
5721
5680
  // node_modules/@corti/sdk/dist/esm/serialization/types/TemplatesItem.mjs
5722
5681
  var TemplatesItem = schemas_exports.object({
5723
- dateUpdated: schemas_exports.property("date_updated", schemas_exports.date().optionalNullable()),
5682
+ updatedAt: schemas_exports.date().optionalNullable(),
5724
5683
  name: schemas_exports.string(),
5725
5684
  description: schemas_exports.string(),
5685
+ additionalInstructions: schemas_exports.string().optionalNullable(),
5726
5686
  key: schemas_exports.string(),
5727
5687
  status: schemas_exports.string(),
5728
- templateSections: schemas_exports.property("template_sections", schemas_exports.list(TemplatesSectionSorted)),
5688
+ documentationMode: TemplatesDocumentationModeEnum.optional(),
5689
+ templateSections: schemas_exports.list(TemplatesSectionSorted),
5729
5690
  translations: schemas_exports.list(TemplatesTranslation)
5730
5691
  });
5731
5692
 
@@ -5766,7 +5727,7 @@ var FactsEvidence = schemas_exports.object({
5766
5727
 
5767
5728
  // node_modules/@corti/sdk/dist/esm/serialization/types/FactsListItem.mjs
5768
5729
  var FactsListItem = schemas_exports.object({
5769
- id: Uuid.optional(),
5730
+ id: schemas_exports.string().optional(),
5770
5731
  text: schemas_exports.string().optional(),
5771
5732
  group: schemas_exports.string().optional(),
5772
5733
  groupId: Uuid.optional(),
@@ -5779,7 +5740,7 @@ var FactsListItem = schemas_exports.object({
5779
5740
 
5780
5741
  // node_modules/@corti/sdk/dist/esm/serialization/types/FactsCreateItem.mjs
5781
5742
  var FactsCreateItem = schemas_exports.object({
5782
- id: Uuid.optional(),
5743
+ id: schemas_exports.string().optional(),
5783
5744
  text: schemas_exports.string().optional(),
5784
5745
  group: schemas_exports.string().optional(),
5785
5746
  groupId: Uuid.optional(),
@@ -5795,7 +5756,7 @@ var FactsFactGroupsListResponse = schemas_exports.object({
5795
5756
 
5796
5757
  // node_modules/@corti/sdk/dist/esm/serialization/types/FactsUpdateResponse.mjs
5797
5758
  var FactsUpdateResponse = schemas_exports.object({
5798
- id: Uuid,
5759
+ id: schemas_exports.string(),
5799
5760
  text: schemas_exports.string(),
5800
5761
  group: schemas_exports.string(),
5801
5762
  groupId: Uuid,
@@ -5817,7 +5778,7 @@ var FactsListResponse = schemas_exports.object({
5817
5778
 
5818
5779
  // node_modules/@corti/sdk/dist/esm/serialization/types/FactsBatchUpdateItem.mjs
5819
5780
  var FactsBatchUpdateItem = schemas_exports.object({
5820
- id: Uuid,
5781
+ id: schemas_exports.string(),
5821
5782
  text: schemas_exports.string(),
5822
5783
  group: schemas_exports.string(),
5823
5784
  groupId: Uuid,
@@ -5992,13 +5953,42 @@ var TranscribeCommand = schemas_exports.object({
5992
5953
  variables: schemas_exports.list(TranscribeCommandVariable).optional()
5993
5954
  });
5994
5955
 
5956
+ // node_modules/@corti/sdk/dist/esm/serialization/types/TranscribeFormattingDates.mjs
5957
+ var TranscribeFormattingDates = schemas_exports.enum_(["as_dictated", "eu_slash", "iso_compact", "long_text", "us_slash"]);
5958
+
5959
+ // node_modules/@corti/sdk/dist/esm/serialization/types/TranscribeFormattingTimes.mjs
5960
+ var TranscribeFormattingTimes = schemas_exports.enum_(["as_dictated", "h12", "h24"]);
5961
+
5962
+ // node_modules/@corti/sdk/dist/esm/serialization/types/TranscribeFormattingNumbers.mjs
5963
+ var TranscribeFormattingNumbers = schemas_exports.enum_(["as_dictated", "numerals", "numerals_above_nine"]);
5964
+
5965
+ // node_modules/@corti/sdk/dist/esm/serialization/types/TranscribeFormattingMeasurements.mjs
5966
+ var TranscribeFormattingMeasurements = schemas_exports.enum_(["abbreviated", "as_dictated"]);
5967
+
5968
+ // node_modules/@corti/sdk/dist/esm/serialization/types/TranscribeFormattingNumericRanges.mjs
5969
+ var TranscribeFormattingNumericRanges = schemas_exports.enum_(["as_dictated", "numerals"]);
5970
+
5971
+ // node_modules/@corti/sdk/dist/esm/serialization/types/TranscribeFormattingOrdinals.mjs
5972
+ var TranscribeFormattingOrdinals = schemas_exports.enum_(["as_dictated", "numerals"]);
5973
+
5974
+ // node_modules/@corti/sdk/dist/esm/serialization/types/TranscribeFormatting.mjs
5975
+ var TranscribeFormatting = schemas_exports.object({
5976
+ dates: TranscribeFormattingDates.optional(),
5977
+ times: TranscribeFormattingTimes.optional(),
5978
+ numbers: TranscribeFormattingNumbers.optional(),
5979
+ measurements: TranscribeFormattingMeasurements.optional(),
5980
+ numericRanges: TranscribeFormattingNumericRanges.optional(),
5981
+ ordinals: TranscribeFormattingOrdinals.optional()
5982
+ });
5983
+
5995
5984
  // node_modules/@corti/sdk/dist/esm/serialization/types/TranscribeConfig.mjs
5996
5985
  var TranscribeConfig = schemas_exports.object({
5997
5986
  primaryLanguage: TranscribeSupportedLanguage,
5998
5987
  interimResults: schemas_exports.boolean().optional(),
5999
5988
  spokenPunctuation: schemas_exports.boolean().optional(),
6000
5989
  automaticPunctuation: schemas_exports.boolean().optional(),
6001
- commands: schemas_exports.list(TranscribeCommand).optional()
5990
+ commands: schemas_exports.list(TranscribeCommand).optional(),
5991
+ formatting: schemas_exports.list(TranscribeFormatting).optional()
6002
5992
  });
6003
5993
 
6004
5994
  // node_modules/@corti/sdk/dist/esm/serialization/types/TranscribeConfigMessage.mjs
@@ -8260,7 +8250,7 @@ var Facts = class {
8260
8250
  * @example
8261
8251
  * await client.facts.batchUpdate("f47ac10b-58cc-4372-a567-0e02b2c3d479", {
8262
8252
  * facts: [{
8263
- * factId: "f47ac10b-58cc-4372-a567-0e02b2c3d479"
8253
+ * factId: "3c9d8a12-7f44-4b3e-9e6f-9271c2bbfa08"
8264
8254
  * }]
8265
8255
  * })
8266
8256
  */
@@ -8338,14 +8328,14 @@ var Facts = class {
8338
8328
  * Updates an existing fact associated with a specific interaction.
8339
8329
  *
8340
8330
  * @param {Corti.Uuid} id - The unique identifier of the interaction. Must be a valid UUID.
8341
- * @param {Corti.Uuid} factId - The unique identifier of the fact to update. Must be a valid UUID.
8331
+ * @param {string} factId - The unique identifier of the fact to update. Must be a valid UUID.
8342
8332
  * @param {Corti.FactsUpdateRequest} request
8343
8333
  * @param {Facts.RequestOptions} requestOptions - Request-specific configuration.
8344
8334
  *
8345
8335
  * @throws {@link Corti.GatewayTimeoutError}
8346
8336
  *
8347
8337
  * @example
8348
- * await client.facts.update("f47ac10b-58cc-4372-a567-0e02b2c3d479", "f47ac10b-58cc-4372-a567-0e02b2c3d479")
8338
+ * await client.facts.update("f47ac10b-58cc-4372-a567-0e02b2c3d479", "3c9d8a12-7f44-4b3e-9e6f-9271c2bbfa08")
8349
8339
  */
8350
8340
  update(id, factId, request = {}, requestOptions) {
8351
8341
  return HttpResponsePromise.fromPromise(this.__update(id, factId, request, requestOptions));
@@ -8354,7 +8344,7 @@ var Facts = class {
8354
8344
  return __awaiter20(this, arguments, void 0, function* (id, factId, request = {}, requestOptions) {
8355
8345
  var _a, _b;
8356
8346
  const _response = yield fetcher({
8357
- url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/facts/${encodeURIComponent(Uuid.jsonOrThrow(factId, { omitUndefined: true }))}`),
8347
+ url: url_exports.join((_a = yield Supplier.get(this._options.baseUrl)) !== null && _a !== void 0 ? _a : (yield Supplier.get(this._options.environment)).base, `interactions/${encodeURIComponent(Uuid.jsonOrThrow(id, { omitUndefined: true }))}/facts/${encodeURIComponent(factId)}`),
8358
8348
  method: "PATCH",
8359
8349
  headers: mergeHeaders((_b = this._options) === null || _b === void 0 ? void 0 : _b.headers, mergeOnlyDefinedHeaders({
8360
8350
  Authorization: yield this._getAuthorizationHeader(),
@@ -11002,7 +10992,7 @@ var Transcribe2 = class extends Transcribe {
11002
10992
  };
11003
10993
 
11004
10994
  // node_modules/@corti/sdk/dist/esm/version.mjs
11005
- var SDK_VERSION = "0.8.0";
10995
+ var SDK_VERSION = "0.9.0-rc";
11006
10996
 
11007
10997
  // node_modules/@corti/sdk/dist/esm/custom/utils/resolveClientOptions.mjs
11008
10998
  var __awaiter30 = function(thisArg, _arguments, P2, generator) {
@@ -11439,6 +11429,71 @@ _DictationController_cortiClient = /* @__PURE__ */ new WeakMap(), _DictationCont
11439
11429
  };
11440
11430
  };
11441
11431
 
11432
+ // dist/utils/keybinding.js
11433
+ function isMac() {
11434
+ if (typeof navigator === "undefined") {
11435
+ return false;
11436
+ }
11437
+ return /Mac|iPhone|iPad|iPod/.test(navigator.userAgent);
11438
+ }
11439
+ function capitalize(str) {
11440
+ if (str.length === 0) {
11441
+ return str;
11442
+ }
11443
+ return str.charAt(0).toUpperCase() + str.slice(1);
11444
+ }
11445
+ function normalizeKeyForKeybinding(key) {
11446
+ if (key === " ") {
11447
+ return "Space";
11448
+ }
11449
+ const normalized = key.trim().toLowerCase();
11450
+ if (normalized === "control") {
11451
+ return "Ctrl";
11452
+ }
11453
+ if (normalized === "meta" || normalized === "cmd") {
11454
+ return isMac() ? "Cmd" : "Meta";
11455
+ }
11456
+ if (normalized === "alt" || normalized === "opt") {
11457
+ return isMac() ? "Opt" : "Alt";
11458
+ }
11459
+ if (normalized === "space") {
11460
+ return "Space";
11461
+ }
11462
+ return normalized.length > 1 ? capitalize(normalized) : normalized;
11463
+ }
11464
+ function normalizeKeybinding(keybinding) {
11465
+ if (!keybinding) {
11466
+ return null;
11467
+ }
11468
+ const trimmed = keybinding.trim();
11469
+ if (trimmed === "") {
11470
+ return null;
11471
+ }
11472
+ return normalizeKeyForKeybinding(trimmed);
11473
+ }
11474
+ function matchesKeybinding(event, keybinding) {
11475
+ const normalizedKeybinding = normalizeKeybinding(keybinding);
11476
+ if (!normalizedKeybinding) {
11477
+ return false;
11478
+ }
11479
+ const normalizedKey = normalizeKeyForKeybinding(event.key);
11480
+ const normalizedCode = normalizeKeyForKeybinding(event.code);
11481
+ return normalizedKey === normalizedKeybinding || normalizedCode === normalizedKeybinding;
11482
+ }
11483
+ function shouldIgnoreKeybinding(element) {
11484
+ if (!element) {
11485
+ return false;
11486
+ }
11487
+ const tagName = element.tagName.toLowerCase();
11488
+ if (tagName === "input" || tagName === "textarea") {
11489
+ return true;
11490
+ }
11491
+ if (element instanceof HTMLElement && element.contentEditable === "true") {
11492
+ return true;
11493
+ }
11494
+ return false;
11495
+ }
11496
+
11442
11497
  // dist/controllers/keybinding-controller.js
11443
11498
  var __classPrivateFieldGet5 = function(receiver, state, kind, f5) {
11444
11499
  if (kind === "a" && !f5) throw new TypeError("Private accessor was defined without a getter");
@@ -11455,6 +11510,7 @@ var _KeybindingController_instances;
11455
11510
  var _KeybindingController_keydownHandler;
11456
11511
  var _KeybindingController_keyupHandler;
11457
11512
  var _KeybindingController_blurHandler;
11513
+ var _KeybindingController_isPushToTalkKeyPressed;
11458
11514
  var _KeybindingController_setupListeners;
11459
11515
  var _KeybindingController_removeListeners;
11460
11516
  var KeybindingController = class {
@@ -11463,6 +11519,7 @@ var KeybindingController = class {
11463
11519
  _KeybindingController_keydownHandler.set(this, void 0);
11464
11520
  _KeybindingController_keyupHandler.set(this, void 0);
11465
11521
  _KeybindingController_blurHandler.set(this, void 0);
11522
+ _KeybindingController_isPushToTalkKeyPressed.set(this, false);
11466
11523
  this.host = host;
11467
11524
  host.addController(this);
11468
11525
  }
@@ -11473,40 +11530,39 @@ var KeybindingController = class {
11473
11530
  __classPrivateFieldGet5(this, _KeybindingController_instances, "m", _KeybindingController_removeListeners).call(this);
11474
11531
  }
11475
11532
  };
11476
- _KeybindingController_keydownHandler = /* @__PURE__ */ new WeakMap(), _KeybindingController_keyupHandler = /* @__PURE__ */ new WeakMap(), _KeybindingController_blurHandler = /* @__PURE__ */ new WeakMap(), _KeybindingController_instances = /* @__PURE__ */ new WeakSet(), _KeybindingController_setupListeners = function _KeybindingController_setupListeners2() {
11533
+ _KeybindingController_keydownHandler = /* @__PURE__ */ new WeakMap(), _KeybindingController_keyupHandler = /* @__PURE__ */ new WeakMap(), _KeybindingController_blurHandler = /* @__PURE__ */ new WeakMap(), _KeybindingController_isPushToTalkKeyPressed = /* @__PURE__ */ new WeakMap(), _KeybindingController_instances = /* @__PURE__ */ new WeakSet(), _KeybindingController_setupListeners = function _KeybindingController_setupListeners2() {
11477
11534
  __classPrivateFieldGet5(this, _KeybindingController_instances, "m", _KeybindingController_removeListeners).call(this);
11478
11535
  __classPrivateFieldSet4(this, _KeybindingController_keydownHandler, (event) => {
11479
- if (!this.host._keybinding) {
11480
- return;
11481
- }
11482
11536
  if (shouldIgnoreKeybinding(document.activeElement)) {
11483
11537
  return;
11484
11538
  }
11485
- if (matchesKeybinding(event, this.host._keybinding)) {
11539
+ if (this.host._toggleToTalkKeybinding && matchesKeybinding(event, this.host._toggleToTalkKeybinding) && !__classPrivateFieldGet5(this, _KeybindingController_isPushToTalkKeyPressed, "f")) {
11486
11540
  if (!this.host.dispatchEvent(keybindingActivatedEvent(event))) {
11487
11541
  return;
11488
11542
  }
11489
- if (this.host._mode === "push-to-talk") {
11490
- this.host.startRecording();
11491
- }
11492
- if (this.host._mode === "toggle-to-talk") {
11493
- this.host.toggleRecording();
11543
+ this.host.toggleRecording();
11544
+ return;
11545
+ }
11546
+ if (this.host._pushToTalkKeybinding && matchesKeybinding(event, this.host._pushToTalkKeybinding)) {
11547
+ if (!this.host.dispatchEvent(keybindingActivatedEvent(event))) {
11548
+ return;
11494
11549
  }
11550
+ __classPrivateFieldSet4(this, _KeybindingController_isPushToTalkKeyPressed, true, "f");
11551
+ this.host.startRecording();
11495
11552
  }
11496
11553
  }, "f");
11497
11554
  __classPrivateFieldSet4(this, _KeybindingController_keyupHandler, (event) => {
11498
- if (!this.host._keybinding) {
11499
- return;
11500
- }
11501
- if (this.host._mode === "push-to-talk" && matchesKeybinding(event, this.host._keybinding)) {
11555
+ if (this.host._pushToTalkKeybinding && matchesKeybinding(event, this.host._pushToTalkKeybinding)) {
11502
11556
  if (!this.host.dispatchEvent(keybindingActivatedEvent(event))) {
11503
11557
  return;
11504
11558
  }
11559
+ __classPrivateFieldSet4(this, _KeybindingController_isPushToTalkKeyPressed, false, "f");
11505
11560
  this.host.stopRecording();
11506
11561
  }
11507
11562
  }, "f");
11508
11563
  __classPrivateFieldSet4(this, _KeybindingController_blurHandler, () => {
11509
- if (this.host._mode === "push-to-talk") {
11564
+ if (__classPrivateFieldGet5(this, _KeybindingController_isPushToTalkKeyPressed, "f")) {
11565
+ __classPrivateFieldSet4(this, _KeybindingController_isPushToTalkKeyPressed, false, "f");
11510
11566
  this.host.stopRecording();
11511
11567
  }
11512
11568
  }, "f");
@@ -12026,9 +12082,7 @@ var _DictationRecordingButton_mediaController;
12026
12082
  var _DictationRecordingButton_dictationController;
12027
12083
  var _DictationRecordingButton_keybindingController;
12028
12084
  var _DictationRecordingButton_closeConnectionOnInit;
12029
- var _DictationRecordingButton_handlePointerDown;
12030
- var _DictationRecordingButton_handlePointerUp;
12031
- var _DictationRecordingButton_handlePointerLeave;
12085
+ var _DictationRecordingButton_handleClick;
12032
12086
  var _DictationRecordingButton_handleWebSocketMessage;
12033
12087
  var _DictationRecordingButton_handleWebSocketError;
12034
12088
  var _DictationRecordingButton_handleWebSocketClose;
@@ -12119,10 +12173,7 @@ var DictationRecordingButton = class DictationRecordingButton2 extends i4 {
12119
12173
  const isRecording = this._recordingState === "recording";
12120
12174
  return x`
12121
12175
  <button
12122
- @pointerdown=${__classPrivateFieldGet7(this, _DictationRecordingButton_instances, "m", _DictationRecordingButton_handlePointerDown)}
12123
- @pointerup=${__classPrivateFieldGet7(this, _DictationRecordingButton_instances, "m", _DictationRecordingButton_handlePointerUp)}
12124
- @pointerleave=${__classPrivateFieldGet7(this, _DictationRecordingButton_instances, "m", _DictationRecordingButton_handlePointerLeave)}
12125
- @pointercancel=${__classPrivateFieldGet7(this, _DictationRecordingButton_instances, "m", _DictationRecordingButton_handlePointerLeave)}
12176
+ @click=${__classPrivateFieldGet7(this, _DictationRecordingButton_instances, "m", _DictationRecordingButton_handleClick)}
12126
12177
  ?disabled=${isLoading}
12127
12178
  class=${isRecording ? "red" : "accent"}
12128
12179
  aria-label=${isRecording ? "Stop recording" : "Start recording"}
@@ -12145,36 +12196,11 @@ _DictationRecordingButton_handleWebSocketMessage = /* @__PURE__ */ new WeakMap()
12145
12196
  _DictationRecordingButton_handleWebSocketError = /* @__PURE__ */ new WeakMap();
12146
12197
  _DictationRecordingButton_handleWebSocketClose = /* @__PURE__ */ new WeakMap();
12147
12198
  _DictationRecordingButton_instances = /* @__PURE__ */ new WeakSet();
12148
- _DictationRecordingButton_handlePointerDown = function _DictationRecordingButton_handlePointerDown2(event) {
12199
+ _DictationRecordingButton_handleClick = function _DictationRecordingButton_handleClick2(event) {
12149
12200
  if (!this.allowButtonFocus) {
12150
12201
  event.preventDefault();
12151
12202
  }
12152
- if (this._mode === "push-to-talk") {
12153
- this.startRecording();
12154
- event.currentTarget.setPointerCapture(event.pointerId);
12155
- }
12156
- };
12157
- _DictationRecordingButton_handlePointerUp = function _DictationRecordingButton_handlePointerUp2(event) {
12158
- if (this._mode === "push-to-talk") {
12159
- this.stopRecording();
12160
- const button = event.currentTarget;
12161
- if (button.hasPointerCapture(event.pointerId)) {
12162
- button.releasePointerCapture(event.pointerId);
12163
- }
12164
- return;
12165
- }
12166
- if (this._mode === "toggle-to-talk") {
12167
- this.toggleRecording();
12168
- }
12169
- };
12170
- _DictationRecordingButton_handlePointerLeave = function _DictationRecordingButton_handlePointerLeave2(event) {
12171
- if (this._mode === "push-to-talk") {
12172
- this.stopRecording();
12173
- const button = event.currentTarget;
12174
- if (button.hasPointerCapture(event.pointerId)) {
12175
- button.releasePointerCapture(event.pointerId);
12176
- }
12177
- }
12203
+ this.toggleRecording();
12178
12204
  };
12179
12205
  _DictationRecordingButton_handleStart = async function _DictationRecordingButton_handleStart2() {
12180
12206
  this.dispatchEvent(recordingStateChangedEvent("initializing"));
@@ -12259,13 +12285,13 @@ __decorate4([
12259
12285
  r5()
12260
12286
  ], DictationRecordingButton.prototype, "_debug_displayAudio", void 0);
12261
12287
  __decorate4([
12262
- c5({ context: keybindingContext, subscribe: true }),
12288
+ c5({ context: pushToTalkKeybindingContext, subscribe: true }),
12263
12289
  r5()
12264
- ], DictationRecordingButton.prototype, "_keybinding", void 0);
12290
+ ], DictationRecordingButton.prototype, "_pushToTalkKeybinding", void 0);
12265
12291
  __decorate4([
12266
- c5({ context: modeContext, subscribe: true }),
12292
+ c5({ context: toggleToTalkKeybindingContext, subscribe: true }),
12267
12293
  r5()
12268
- ], DictationRecordingButton.prototype, "_mode", void 0);
12294
+ ], DictationRecordingButton.prototype, "_toggleToTalkKeybinding", void 0);
12269
12295
  __decorate4([
12270
12296
  n4({ type: Boolean })
12271
12297
  ], DictationRecordingButton.prototype, "allowButtonFocus", void 0);
@@ -12327,14 +12353,6 @@ var SettingsMenuStyles = i`
12327
12353
  flex-direction: column;
12328
12354
  gap: 16px;
12329
12355
  }
12330
- .settings-group {
12331
- background: var(--muted-background, light-dark(#fafafa, #2a2a2a));
12332
- padding: 12px;
12333
- border-radius: 10px;
12334
- display: flex;
12335
- flex-direction: column;
12336
- gap: 16px;
12337
- }
12338
12356
  `;
12339
12357
  var settings_menu_default = SettingsMenuStyles;
12340
12358
 
@@ -12465,7 +12483,6 @@ var KeybindingSelectorStyles = [
12465
12483
  min-width: 0;
12466
12484
  border: none;
12467
12485
  background: transparent;
12468
- font-size: 14px;
12469
12486
  line-height: 24px;
12470
12487
  color: var(--component-text-color, light-dark(#333, #eee));
12471
12488
  outline: none;
@@ -12490,8 +12507,8 @@ var KeybindingSelectorStyles = [
12490
12507
  border: 1px solid var(--card-border-color, light-dark(#ddd, #555));
12491
12508
  border-radius: var(--card-inner-border-radius, 6px);
12492
12509
  box-shadow: var(--card-box-shadow, 0 2px 5px rgba(0, 0, 0, 0.1));
12493
- font-size: 16px;
12494
- line-height: 28px;
12510
+ font-size: 14px;
12511
+ line-height: 24px;
12495
12512
  color: var(--component-text-color, light-dark(#333, #eee));
12496
12513
  opacity: 0.6;
12497
12514
  text-align: center;
@@ -12504,13 +12521,20 @@ var KeybindingSelectorStyles = [
12504
12521
  opacity: 0.6;
12505
12522
  margin: 0;
12506
12523
  letter-spacing: 0.01px;
12507
- padding-top: 8px;
12524
+ }
12525
+ .settings-group {
12526
+ background: var(--card-background, light-dark(#fafafa, #2a2a2a));
12527
+ padding: 12px;
12528
+ border-radius: 10px;
12529
+ display: flex;
12530
+ flex-direction: column;
12531
+ gap: 8px;
12508
12532
  }
12509
12533
  `
12510
12534
  ];
12511
12535
  var keybinding_selector_default = KeybindingSelectorStyles;
12512
12536
 
12513
- // dist/components/keybinding-selector.js
12537
+ // dist/components/keybinding-input.js
12514
12538
  var __decorate6 = function(decorators, target, key, desc) {
12515
12539
  var c6 = arguments.length, r7 = c6 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d3;
12516
12540
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r7 = Reflect.decorate(decorators, target, key, desc);
@@ -12522,74 +12546,128 @@ var __classPrivateFieldGet9 = function(receiver, state, kind, f5) {
12522
12546
  if (typeof state === "function" ? receiver !== state || !f5 : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
12523
12547
  return kind === "m" ? f5 : kind === "a" ? f5.call(receiver) : f5 ? f5.value : state.get(receiver);
12524
12548
  };
12525
- var _DictationKeybindingSelector_instances;
12526
- var _DictationKeybindingSelector_handleKeybindingInputFocus;
12527
- var _DictationKeybindingSelector_handleKeybindingInputBlur;
12528
- var _DictationKeybindingSelector_handleKeybindingKeyDown;
12529
- var DictationKeybindingSelector = class DictationKeybindingSelector2 extends i4 {
12549
+ var _DictationKeybindingInput_instances;
12550
+ var _DictationKeybindingInput_handleKeybindingInputFocus;
12551
+ var _DictationKeybindingInput_handleKeybindingInputBlur;
12552
+ var _DictationKeybindingInput_handleKeybindingKeyDown;
12553
+ var DictationKeybindingInput = class DictationKeybindingInput2 extends i4 {
12530
12554
  constructor() {
12531
12555
  super(...arguments);
12532
- _DictationKeybindingSelector_instances.add(this);
12556
+ _DictationKeybindingInput_instances.add(this);
12557
+ this.keybindingType = "toggle-to-talk";
12533
12558
  this.disabled = false;
12534
12559
  this._isCapturingKeybinding = false;
12535
12560
  }
12536
12561
  render() {
12562
+ const keybinding = this.keybindingType === "push-to-talk" ? this._pushToTalkKeybinding : this._toggleToTalkKeybinding;
12563
+ const label = this.keybindingType === "push-to-talk" ? "Push-to-Talk keybinding" : "Toggle-to-Talk keybinding";
12537
12564
  return x`
12538
12565
  <div>
12539
- <label>Keybinding</label>
12566
+ <label>${label}</label>
12540
12567
  <div class="keybinding-selector-wrapper">
12541
- ${this._keybinding && x`<div class="keybinding-key">${this._keybinding}</div>`}
12568
+ ${keybinding && x`<div class="keybinding-key">${keybinding}</div>`}
12542
12569
  <input
12543
12570
  type="text"
12544
12571
  class="keybinding-selector-input"
12545
12572
  .value=""
12546
12573
  placeholder="Click and press a key..."
12547
12574
  readonly
12548
- @focusin=${__classPrivateFieldGet9(this, _DictationKeybindingSelector_instances, "m", _DictationKeybindingSelector_handleKeybindingInputFocus)}
12549
- @focusout=${__classPrivateFieldGet9(this, _DictationKeybindingSelector_instances, "m", _DictationKeybindingSelector_handleKeybindingInputBlur)}
12550
- @keydown=${__classPrivateFieldGet9(this, _DictationKeybindingSelector_instances, "m", _DictationKeybindingSelector_handleKeybindingKeyDown)}
12575
+ @focusin=${__classPrivateFieldGet9(this, _DictationKeybindingInput_instances, "m", _DictationKeybindingInput_handleKeybindingInputFocus)}
12576
+ @focusout=${__classPrivateFieldGet9(this, _DictationKeybindingInput_instances, "m", _DictationKeybindingInput_handleKeybindingInputBlur)}
12577
+ @keydown=${__classPrivateFieldGet9(this, _DictationKeybindingInput_instances, "m", _DictationKeybindingInput_handleKeybindingKeyDown)}
12551
12578
  ?disabled=${this.disabled}
12552
12579
  />
12553
12580
  </div>
12554
- ${this._keybinding && x`<p class="keybinding-help">
12555
- Press ${this._keybinding} to start/stop recording
12556
- </p>`}
12557
12581
  </div>
12558
12582
  `;
12559
12583
  }
12560
12584
  };
12561
- _DictationKeybindingSelector_instances = /* @__PURE__ */ new WeakSet();
12562
- _DictationKeybindingSelector_handleKeybindingInputFocus = function _DictationKeybindingSelector_handleKeybindingInputFocus2() {
12585
+ _DictationKeybindingInput_instances = /* @__PURE__ */ new WeakSet();
12586
+ _DictationKeybindingInput_handleKeybindingInputFocus = function _DictationKeybindingInput_handleKeybindingInputFocus2() {
12563
12587
  this._isCapturingKeybinding = true;
12564
12588
  };
12565
- _DictationKeybindingSelector_handleKeybindingInputBlur = function _DictationKeybindingSelector_handleKeybindingInputBlur2() {
12589
+ _DictationKeybindingInput_handleKeybindingInputBlur = function _DictationKeybindingInput_handleKeybindingInputBlur2() {
12566
12590
  this._isCapturingKeybinding = false;
12567
12591
  };
12568
- _DictationKeybindingSelector_handleKeybindingKeyDown = function _DictationKeybindingSelector_handleKeybindingKeyDown2(event) {
12592
+ _DictationKeybindingInput_handleKeybindingKeyDown = function _DictationKeybindingInput_handleKeybindingKeyDown2(event) {
12569
12593
  if (!this._isCapturingKeybinding) {
12570
12594
  return;
12571
12595
  }
12572
12596
  event.preventDefault();
12573
12597
  event.stopPropagation();
12574
- this.dispatchEvent(keybindingChangedEvent(event.key, event.code));
12598
+ const keybinding = normalizeKeybinding(event.key);
12599
+ this.dispatchEvent(keybindingChangedEvent(event.key, event.code, keybinding, this.keybindingType));
12575
12600
  };
12576
- DictationKeybindingSelector.styles = keybinding_selector_default;
12601
+ DictationKeybindingInput.styles = keybinding_selector_default;
12602
+ __decorate6([
12603
+ n4({ type: String })
12604
+ ], DictationKeybindingInput.prototype, "keybindingType", void 0);
12605
+ __decorate6([
12606
+ c5({ context: pushToTalkKeybindingContext, subscribe: true }),
12607
+ r5()
12608
+ ], DictationKeybindingInput.prototype, "_pushToTalkKeybinding", void 0);
12577
12609
  __decorate6([
12578
- c5({ context: keybindingContext, subscribe: true }),
12610
+ c5({ context: toggleToTalkKeybindingContext, subscribe: true }),
12579
12611
  r5()
12580
- ], DictationKeybindingSelector.prototype, "_keybinding", void 0);
12612
+ ], DictationKeybindingInput.prototype, "_toggleToTalkKeybinding", void 0);
12581
12613
  __decorate6([
12582
12614
  n4({ type: Boolean })
12583
- ], DictationKeybindingSelector.prototype, "disabled", void 0);
12615
+ ], DictationKeybindingInput.prototype, "disabled", void 0);
12584
12616
  __decorate6([
12585
12617
  r5()
12586
- ], DictationKeybindingSelector.prototype, "_isCapturingKeybinding", void 0);
12587
- DictationKeybindingSelector = __decorate6([
12618
+ ], DictationKeybindingInput.prototype, "_isCapturingKeybinding", void 0);
12619
+ DictationKeybindingInput = __decorate6([
12620
+ t3("dictation-keybinding-input")
12621
+ ], DictationKeybindingInput);
12622
+
12623
+ // dist/components/keybinding-selector.js
12624
+ var __decorate7 = function(decorators, target, key, desc) {
12625
+ var c6 = arguments.length, r7 = c6 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d3;
12626
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r7 = Reflect.decorate(decorators, target, key, desc);
12627
+ else for (var i7 = decorators.length - 1; i7 >= 0; i7--) if (d3 = decorators[i7]) r7 = (c6 < 3 ? d3(r7) : c6 > 3 ? d3(target, key, r7) : d3(target, key)) || r7;
12628
+ return c6 > 3 && r7 && Object.defineProperty(target, key, r7), r7;
12629
+ };
12630
+ var DictationKeybindingSelector = class DictationKeybindingSelector2 extends i4 {
12631
+ constructor() {
12632
+ super(...arguments);
12633
+ this.disabled = false;
12634
+ }
12635
+ render() {
12636
+ return x`
12637
+ <div class="settings-group">
12638
+ <dictation-keybinding-input
12639
+ keybindingType="toggle-to-talk"
12640
+ ?disabled=${this.disabled}
12641
+ ></dictation-keybinding-input>
12642
+ <dictation-keybinding-input
12643
+ keybindingType="push-to-talk"
12644
+ ?disabled=${this.disabled}
12645
+ ></dictation-keybinding-input>
12646
+ ${(this._toggleToTalkKeybinding || this._pushToTalkKeybinding) && x`<p class="keybinding-help">
12647
+ ${x`Press ${[this._toggleToTalkKeybinding, this._pushToTalkKeybinding].join(" or ")} to start/stop recording`}
12648
+ </p>`}
12649
+ </div>
12650
+ `;
12651
+ }
12652
+ };
12653
+ DictationKeybindingSelector.styles = keybinding_selector_default;
12654
+ __decorate7([
12655
+ c5({ context: pushToTalkKeybindingContext, subscribe: true }),
12656
+ r5()
12657
+ ], DictationKeybindingSelector.prototype, "_pushToTalkKeybinding", void 0);
12658
+ __decorate7([
12659
+ c5({ context: toggleToTalkKeybindingContext, subscribe: true }),
12660
+ r5()
12661
+ ], DictationKeybindingSelector.prototype, "_toggleToTalkKeybinding", void 0);
12662
+ __decorate7([
12663
+ n4({ type: Boolean })
12664
+ ], DictationKeybindingSelector.prototype, "disabled", void 0);
12665
+ DictationKeybindingSelector = __decorate7([
12588
12666
  t3("dictation-keybinding-selector")
12589
12667
  ], DictationKeybindingSelector);
12590
12668
 
12591
12669
  // dist/components/language-selector.js
12592
- var __decorate7 = function(decorators, target, key, desc) {
12670
+ var __decorate8 = function(decorators, target, key, desc) {
12593
12671
  var c6 = arguments.length, r7 = c6 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d3;
12594
12672
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r7 = Reflect.decorate(decorators, target, key, desc);
12595
12673
  else for (var i7 = decorators.length - 1; i7 >= 0; i7--) if (d3 = decorators[i7]) r7 = (c6 < 3 ? d3(r7) : c6 > 3 ? d3(target, key, r7) : d3(target, key)) || r7;
@@ -12640,143 +12718,21 @@ _DictationLanguageSelector_handleSelectLanguage = function _DictationLanguageSel
12640
12718
  this.dispatchEvent(languageChangedEvent(language));
12641
12719
  };
12642
12720
  DictationLanguageSelector.styles = select_default;
12643
- __decorate7([
12721
+ __decorate8([
12644
12722
  c5({ context: languagesContext, subscribe: true }),
12645
12723
  r5()
12646
12724
  ], DictationLanguageSelector.prototype, "_languages", void 0);
12647
- __decorate7([
12725
+ __decorate8([
12648
12726
  c5({ context: dictationConfigContext, subscribe: true }),
12649
12727
  r5()
12650
12728
  ], DictationLanguageSelector.prototype, "_dictationConfig", void 0);
12651
- __decorate7([
12729
+ __decorate8([
12652
12730
  n4({ type: Boolean })
12653
12731
  ], DictationLanguageSelector.prototype, "disabled", void 0);
12654
- DictationLanguageSelector = __decorate7([
12732
+ DictationLanguageSelector = __decorate8([
12655
12733
  t3("dictation-language-selector")
12656
12734
  ], DictationLanguageSelector);
12657
12735
 
12658
- // dist/styles/mode-selector.js
12659
- var ModeSelectorStyles = [
12660
- LabelStyles,
12661
- i`
12662
- :host {
12663
- display: block;
12664
- }
12665
- .mode-selector-tabs {
12666
- display: flex;
12667
- background: var(--muted-background, light-dark(#fafafa, #2a2a2a));
12668
- border: 1px solid var(--card-border-color, light-dark(#ddd, #555));
12669
- border-radius: var(--card-inner-border-radius, 6px);
12670
- padding: 0;
12671
- overflow: hidden;
12672
- align-items: center;
12673
- justify-content: center;
12674
- text-wrap: nowrap;
12675
- gap: 2px;
12676
- }
12677
- .mode-selector-tab {
12678
- flex: 1;
12679
- padding: 4px 8px;
12680
- border: 1px solid transparent;
12681
- background: transparent;
12682
- font-size: 14px;
12683
- font-weight: 500;
12684
- line-height: 24px;
12685
- color: var(--component-text-color, light-dark(#333, #eee));
12686
- opacity: 0.6;
12687
- cursor: pointer;
12688
- transition: all 0.2s;
12689
- height: 32px;
12690
- display: flex;
12691
- align-items: center;
12692
- justify-content: center;
12693
- border-radius: var(--card-inner-border-radius, 6px);
12694
- margin: -1px;
12695
- }
12696
- .mode-selector-tab:hover:not(:disabled) {
12697
- opacity: 1;
12698
- }
12699
- .mode-selector-tab.active {
12700
- background: var(--card-background, light-dark(#fff, #333));
12701
- border-color: var(--card-border-color, light-dark(#ddd, #555));
12702
- box-shadow: var(--card-box-shadow, 0 2px 5px rgba(0, 0, 0, 0.1));
12703
- opacity: 1;
12704
- }
12705
- .mode-selector-tab:disabled {
12706
- opacity: 0.5;
12707
- cursor: not-allowed;
12708
- }
12709
- `
12710
- ];
12711
- var mode_selector_default = ModeSelectorStyles;
12712
-
12713
- // dist/components/mode-selector.js
12714
- var __decorate8 = function(decorators, target, key, desc) {
12715
- var c6 = arguments.length, r7 = c6 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d3;
12716
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r7 = Reflect.decorate(decorators, target, key, desc);
12717
- else for (var i7 = decorators.length - 1; i7 >= 0; i7--) if (d3 = decorators[i7]) r7 = (c6 < 3 ? d3(r7) : c6 > 3 ? d3(target, key, r7) : d3(target, key)) || r7;
12718
- return c6 > 3 && r7 && Object.defineProperty(target, key, r7), r7;
12719
- };
12720
- var __classPrivateFieldGet11 = function(receiver, state, kind, f5) {
12721
- if (kind === "a" && !f5) throw new TypeError("Private accessor was defined without a getter");
12722
- if (typeof state === "function" ? receiver !== state || !f5 : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
12723
- return kind === "m" ? f5 : kind === "a" ? f5.call(receiver) : f5 ? f5.value : state.get(receiver);
12724
- };
12725
- var _DictationModeSelector_instances;
12726
- var _DictationModeSelector_handleModeChange;
12727
- var DictationModeSelector = class DictationModeSelector2 extends i4 {
12728
- constructor() {
12729
- super(...arguments);
12730
- _DictationModeSelector_instances.add(this);
12731
- this._mode = "toggle-to-talk";
12732
- this.disabled = false;
12733
- }
12734
- render() {
12735
- return x`
12736
- <div>
12737
- <label>Dictation Mode</label>
12738
- <div class="mode-selector-tabs">
12739
- <button
12740
- class=${e6({
12741
- active: this._mode === "toggle-to-talk",
12742
- "mode-selector-tab": true
12743
- })}
12744
- @click=${() => __classPrivateFieldGet11(this, _DictationModeSelector_instances, "m", _DictationModeSelector_handleModeChange).call(this, "toggle-to-talk")}
12745
- ?disabled=${this.disabled}
12746
- >
12747
- Toggle-to-Talk
12748
- </button>
12749
- <button
12750
- class=${e6({
12751
- active: this._mode === "push-to-talk",
12752
- "mode-selector-tab": true
12753
- })}
12754
- @click=${() => __classPrivateFieldGet11(this, _DictationModeSelector_instances, "m", _DictationModeSelector_handleModeChange).call(this, "push-to-talk")}
12755
- ?disabled=${this.disabled}
12756
- >
12757
- Push-to-Talk
12758
- </button>
12759
- </div>
12760
- </div>
12761
- `;
12762
- }
12763
- };
12764
- _DictationModeSelector_instances = /* @__PURE__ */ new WeakSet();
12765
- _DictationModeSelector_handleModeChange = function _DictationModeSelector_handleModeChange2(mode) {
12766
- this.dispatchEvent(modeChangedEvent(mode));
12767
- };
12768
- DictationModeSelector.styles = mode_selector_default;
12769
- __decorate8([
12770
- c5({ context: modeContext, subscribe: true }),
12771
- r5()
12772
- ], DictationModeSelector.prototype, "_mode", void 0);
12773
- __decorate8([
12774
- n4({ type: Boolean })
12775
- ], DictationModeSelector.prototype, "disabled", void 0);
12776
- DictationModeSelector = __decorate8([
12777
- t3("dictation-mode-selector")
12778
- ], DictationModeSelector);
12779
-
12780
12736
  // dist/components/settings-menu.js
12781
12737
  var __decorate9 = function(decorators, target, key, desc) {
12782
12738
  var c6 = arguments.length, r7 = c6 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d3;
@@ -12797,7 +12753,6 @@ var DictationSettingsMenu = class DictationSettingsMenu2 extends i4 {
12797
12753
  const isRecording = this._recordingState === "recording";
12798
12754
  const showDeviceSelector = this.settingsEnabled.includes("device");
12799
12755
  const showLanguageSelector = this.settingsEnabled.includes("language");
12800
- const showModeSelector = this.settingsEnabled.includes("mode");
12801
12756
  const showKeybinding = this.settingsEnabled.includes("keybinding");
12802
12757
  return x`
12803
12758
  <div class="mic-selector">
@@ -12817,16 +12772,9 @@ var DictationSettingsMenu = class DictationSettingsMenu2 extends i4 {
12817
12772
  ${showLanguageSelector ? x`<dictation-language-selector
12818
12773
  ?disabled=${isRecording}
12819
12774
  />` : E}
12820
- ${showModeSelector || showKeybinding ? x`
12821
- <div class="settings-group">
12822
- ${showModeSelector ? x`<dictation-mode-selector
12823
- ?disabled=${isRecording}
12824
- />` : E}
12825
- ${showKeybinding ? x`<dictation-keybinding-selector
12826
- ?disabled=${isRecording}
12827
- />` : E}
12828
- </div>
12829
- ` : E}
12775
+ ${showKeybinding ? x`<dictation-keybinding-selector
12776
+ ?disabled=${isRecording}
12777
+ />` : E}
12830
12778
  </div>
12831
12779
  </div>
12832
12780
  </div>
@@ -12859,7 +12807,7 @@ var __decorate10 = function(decorators, target, key, desc) {
12859
12807
  else for (var i7 = decorators.length - 1; i7 >= 0; i7--) if (d3 = decorators[i7]) r7 = (c6 < 3 ? d3(r7) : c6 > 3 ? d3(target, key, r7) : d3(target, key)) || r7;
12860
12808
  return c6 > 3 && r7 && Object.defineProperty(target, key, r7), r7;
12861
12809
  };
12862
- var __classPrivateFieldGet12 = function(receiver, state, kind, f5) {
12810
+ var __classPrivateFieldGet11 = function(receiver, state, kind, f5) {
12863
12811
  if (kind === "a" && !f5) throw new TypeError("Private accessor was defined without a getter");
12864
12812
  if (typeof state === "function" ? receiver !== state || !f5 : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
12865
12813
  return kind === "m" ? f5 : kind === "a" ? f5.call(receiver) : f5 ? f5.value : state.get(receiver);
@@ -12875,7 +12823,6 @@ var CortiDictation = class CortiDictation2 extends i4 {
12875
12823
  this.allowButtonFocus = false;
12876
12824
  this.debug_displayAudio = false;
12877
12825
  this._dictationConfig = DEFAULT_DICTATION_CONFIG;
12878
- this._mode = "toggle-to-talk";
12879
12826
  }
12880
12827
  /**
12881
12828
  * List of all language codes available for use with the Web Component.
@@ -12885,7 +12832,7 @@ var CortiDictation = class CortiDictation2 extends i4 {
12885
12832
  this._languagesSupported = value;
12886
12833
  }
12887
12834
  get languagesSupported() {
12888
- return __classPrivateFieldGet12(this, _CortiDictation_contextProviderRef, "f").value?.languages || this._languagesSupported || [];
12835
+ return __classPrivateFieldGet11(this, _CortiDictation_contextProviderRef, "f").value?.languages || this._languagesSupported || [];
12889
12836
  }
12890
12837
  /**
12891
12838
  * Configuration settings for dictation
@@ -12894,7 +12841,7 @@ var CortiDictation = class CortiDictation2 extends i4 {
12894
12841
  this._dictationConfig = value;
12895
12842
  }
12896
12843
  get dictationConfig() {
12897
- return __classPrivateFieldGet12(this, _CortiDictation_contextProviderRef, "f").value?.dictationConfig || this._dictationConfig;
12844
+ return __classPrivateFieldGet11(this, _CortiDictation_contextProviderRef, "f").value?.dictationConfig || this._dictationConfig;
12898
12845
  }
12899
12846
  /**
12900
12847
  * List of available recording devices
@@ -12903,7 +12850,7 @@ var CortiDictation = class CortiDictation2 extends i4 {
12903
12850
  this._devices = value;
12904
12851
  }
12905
12852
  get devices() {
12906
- return __classPrivateFieldGet12(this, _CortiDictation_contextProviderRef, "f").value?.devices || this._devices || [];
12853
+ return __classPrivateFieldGet11(this, _CortiDictation_contextProviderRef, "f").value?.devices || this._devices || [];
12907
12854
  }
12908
12855
  /**
12909
12856
  * The selected device used for recording (MediaDeviceInfo).
@@ -12912,33 +12859,37 @@ var CortiDictation = class CortiDictation2 extends i4 {
12912
12859
  this._selectedDevice = value;
12913
12860
  }
12914
12861
  get selectedDevice() {
12915
- return __classPrivateFieldGet12(this, _CortiDictation_contextProviderRef, "f").value?.selectedDevice || this._selectedDevice;
12862
+ return __classPrivateFieldGet11(this, _CortiDictation_contextProviderRef, "f").value?.selectedDevice || this._selectedDevice;
12916
12863
  }
12917
12864
  /**
12918
12865
  * Current state of recording (stopped, recording, initializing and stopping, ).
12919
12866
  */
12920
12867
  get recordingState() {
12921
- return __classPrivateFieldGet12(this, _CortiDictation_contextProviderRef, "f").value?.recordingState || "stopped";
12868
+ return __classPrivateFieldGet11(this, _CortiDictation_contextProviderRef, "f").value?.recordingState || "stopped";
12922
12869
  }
12923
12870
  /**
12924
- * Dictation mode: "toggle-to-talk" or "push-to-talk"
12871
+ * Push-to-talk keybinding for keyboard shortcut. Single key only (e.g., "Space", "k", "meta", "ctrl").
12872
+ * Combinations with "+" are not supported.
12873
+ * Keydown starts recording, keyup stops recording.
12874
+ * Defaults to "Space" if keybinding is in settingsEnabled, otherwise undefined
12925
12875
  */
12926
- set mode(value) {
12927
- this._mode = value;
12876
+ set pushToTalkKeybinding(value) {
12877
+ this._pushToTalkKeybinding = value;
12928
12878
  }
12929
- get mode() {
12930
- return __classPrivateFieldGet12(this, _CortiDictation_contextProviderRef, "f").value?.mode || this._mode || "toggle-to-talk";
12879
+ get pushToTalkKeybinding() {
12880
+ return __classPrivateFieldGet11(this, _CortiDictation_contextProviderRef, "f").value?.pushToTalkKeybinding || this._pushToTalkKeybinding;
12931
12881
  }
12932
12882
  /**
12933
- * Keybinding for keyboard shortcut. Single key only (e.g., "`", "k", "meta", "ctrl").
12883
+ * Toggle-to-talk keybinding for keyboard shortcut. Single key only (e.g., "`", "k", "meta", "ctrl").
12934
12884
  * Combinations with "+" are not supported.
12885
+ * Pressing the key toggles recording on/off.
12935
12886
  * Defaults to "`" if keybinding is in settingsEnabled, otherwise undefined
12936
12887
  */
12937
- set keybinding(value) {
12938
- this._keybinding = value;
12888
+ set toggleToTalkKeybinding(value) {
12889
+ this._toggleToTalkKeybinding = value;
12939
12890
  }
12940
- get keybinding() {
12941
- return __classPrivateFieldGet12(this, _CortiDictation_contextProviderRef, "f").value?.keybinding || this._keybinding;
12891
+ get toggleToTalkKeybinding() {
12892
+ return __classPrivateFieldGet11(this, _CortiDictation_contextProviderRef, "f").value?.toggleToTalkKeybinding || this._toggleToTalkKeybinding;
12942
12893
  }
12943
12894
  // ─────────────────────────────────────────────────────────────────────────────
12944
12895
  // Public methods
@@ -12950,7 +12901,7 @@ var CortiDictation = class CortiDictation2 extends i4 {
12950
12901
  */
12951
12902
  setAccessToken(token) {
12952
12903
  this.accessToken = token;
12953
- return __classPrivateFieldGet12(this, _CortiDictation_contextProviderRef, "f").value?.setAccessToken(token) ?? {
12904
+ return __classPrivateFieldGet11(this, _CortiDictation_contextProviderRef, "f").value?.setAccessToken(token) ?? {
12954
12905
  accessToken: token,
12955
12906
  environment: void 0,
12956
12907
  tenant: void 0
@@ -12963,7 +12914,7 @@ var CortiDictation = class CortiDictation2 extends i4 {
12963
12914
  */
12964
12915
  async setAuthConfig(config) {
12965
12916
  this.authConfig = config;
12966
- return __classPrivateFieldGet12(this, _CortiDictation_contextProviderRef, "f").value?.setAuthConfig(config) ?? {
12917
+ return __classPrivateFieldGet11(this, _CortiDictation_contextProviderRef, "f").value?.setAuthConfig(config) ?? {
12967
12918
  accessToken: void 0,
12968
12919
  environment: void 0,
12969
12920
  tenant: void 0
@@ -12973,19 +12924,19 @@ var CortiDictation = class CortiDictation2 extends i4 {
12973
12924
  * Starts a recording.
12974
12925
  */
12975
12926
  startRecording() {
12976
- __classPrivateFieldGet12(this, _CortiDictation_recordingButtonRef, "f").value?.startRecording();
12927
+ __classPrivateFieldGet11(this, _CortiDictation_recordingButtonRef, "f").value?.startRecording();
12977
12928
  }
12978
12929
  /**
12979
12930
  * Stops a recording.
12980
12931
  */
12981
12932
  stopRecording() {
12982
- __classPrivateFieldGet12(this, _CortiDictation_recordingButtonRef, "f").value?.stopRecording();
12933
+ __classPrivateFieldGet11(this, _CortiDictation_recordingButtonRef, "f").value?.stopRecording();
12983
12934
  }
12984
12935
  /**
12985
12936
  * Starts or stops recording. Convenience layer on top of the start/stop methods.
12986
12937
  */
12987
12938
  toggleRecording() {
12988
- __classPrivateFieldGet12(this, _CortiDictation_recordingButtonRef, "f").value?.toggleRecording();
12939
+ __classPrivateFieldGet11(this, _CortiDictation_recordingButtonRef, "f").value?.toggleRecording();
12989
12940
  }
12990
12941
  // ─────────────────────────────────────────────────────────────────────────────
12991
12942
  // Render
@@ -12994,7 +12945,7 @@ var CortiDictation = class CortiDictation2 extends i4 {
12994
12945
  const isHidden = !this.accessToken && !this.authConfig && !this.socketUrl && !this.socketProxy;
12995
12946
  return x`
12996
12947
  <dictation-root
12997
- ${n6(__classPrivateFieldGet12(this, _CortiDictation_contextProviderRef, "f"))}
12948
+ ${n6(__classPrivateFieldGet11(this, _CortiDictation_contextProviderRef, "f"))}
12998
12949
  class=${e6({ hidden: isHidden })}
12999
12950
  .accessToken=${this.accessToken}
13000
12951
  .authConfig=${this.authConfig}
@@ -13005,11 +12956,11 @@ var CortiDictation = class CortiDictation2 extends i4 {
13005
12956
  .devices=${this._devices}
13006
12957
  .selectedDevice=${this._selectedDevice}
13007
12958
  .debug_displayAudio=${this.debug_displayAudio}
13008
- .mode=${this._mode}
13009
- .keybinding=${this._keybinding}
12959
+ .pushToTalkKeybinding=${this._pushToTalkKeybinding}
12960
+ .toggleToTalkKeybinding=${this._toggleToTalkKeybinding}
13010
12961
  >
13011
12962
  <dictation-recording-button
13012
- ${n6(__classPrivateFieldGet12(this, _CortiDictation_recordingButtonRef, "f"))}
12963
+ ${n6(__classPrivateFieldGet11(this, _CortiDictation_recordingButtonRef, "f"))}
13013
12964
  ?allowButtonFocus=${this.allowButtonFocus}
13014
12965
  ></dictation-recording-button>
13015
12966
  ${this.settingsEnabled?.length > 0 ? x`<dictation-settings-menu
@@ -13079,16 +13030,16 @@ __decorate10([
13079
13030
  ], CortiDictation.prototype, "_selectedDevice", void 0);
13080
13031
  __decorate10([
13081
13032
  n4({ type: String })
13082
- ], CortiDictation.prototype, "mode", null);
13033
+ ], CortiDictation.prototype, "pushToTalkKeybinding", null);
13083
13034
  __decorate10([
13084
13035
  r5()
13085
- ], CortiDictation.prototype, "_mode", void 0);
13036
+ ], CortiDictation.prototype, "_pushToTalkKeybinding", void 0);
13086
13037
  __decorate10([
13087
13038
  n4({ type: String })
13088
- ], CortiDictation.prototype, "keybinding", null);
13039
+ ], CortiDictation.prototype, "toggleToTalkKeybinding", null);
13089
13040
  __decorate10([
13090
13041
  r5()
13091
- ], CortiDictation.prototype, "_keybinding", void 0);
13042
+ ], CortiDictation.prototype, "_toggleToTalkKeybinding", void 0);
13092
13043
  CortiDictation = __decorate10([
13093
13044
  t3("corti-dictation")
13094
13045
  ], CortiDictation);
@@ -13106,9 +13057,6 @@ if (!customElements.get("dictation-device-selector")) {
13106
13057
  if (!customElements.get("dictation-language-selector")) {
13107
13058
  customElements.define("dictation-language-selector", DictationLanguageSelector);
13108
13059
  }
13109
- if (!customElements.get("dictation-mode-selector")) {
13110
- customElements.define("dictation-mode-selector", DictationModeSelector);
13111
- }
13112
13060
  if (!customElements.get("dictation-keybinding-selector")) {
13113
13061
  customElements.define("dictation-keybinding-selector", DictationKeybindingSelector);
13114
13062
  }
@@ -13124,7 +13072,6 @@ export {
13124
13072
  DictationDeviceSelector,
13125
13073
  DictationKeybindingSelector,
13126
13074
  DictationLanguageSelector,
13127
- DictationModeSelector,
13128
13075
  DictationRecordingButton,
13129
13076
  DictationRoot,
13130
13077
  DictationSettingsMenu,