@speechos/client 0.2.1 → 0.2.4

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 (101) hide show
  1. package/dist/config.d.ts +79 -0
  2. package/dist/config.d.ts.map +1 -0
  3. package/dist/config.test.d.ts +5 -0
  4. package/dist/config.test.d.ts.map +1 -0
  5. package/dist/form-detector.d.cts +25 -0
  6. package/dist/form-detector.d.ts +16 -1
  7. package/dist/form-detector.d.ts.map +1 -1
  8. package/dist/index.cjs +6374 -1538
  9. package/dist/index.cjs.map +1 -1
  10. package/dist/index.d.cts +13 -0
  11. package/dist/index.d.ts +19 -3
  12. package/dist/index.d.ts.map +1 -1
  13. package/dist/index.iife.js +7672 -1823
  14. package/dist/index.iife.js.map +1 -1
  15. package/dist/index.iife.min.js +2702 -460
  16. package/dist/index.iife.min.js.map +1 -1
  17. package/dist/index.js +6320 -1535
  18. package/dist/index.js.map +1 -1
  19. package/dist/speechos.d.cts +74 -0
  20. package/dist/speechos.d.ts +47 -5
  21. package/dist/speechos.d.ts.map +1 -1
  22. package/dist/speechos.test.d.ts +5 -0
  23. package/dist/speechos.test.d.ts.map +1 -0
  24. package/dist/stores/audio-settings.d.ts +45 -0
  25. package/dist/stores/audio-settings.d.ts.map +1 -0
  26. package/dist/stores/index.d.ts +15 -0
  27. package/dist/stores/index.d.ts.map +1 -0
  28. package/dist/stores/language-settings.d.ts +106 -0
  29. package/dist/stores/language-settings.d.ts.map +1 -0
  30. package/dist/stores/snippets-store.d.ts +72 -0
  31. package/dist/stores/snippets-store.d.ts.map +1 -0
  32. package/dist/stores/snippets-store.test.d.ts +5 -0
  33. package/dist/stores/snippets-store.test.d.ts.map +1 -0
  34. package/dist/stores/transcript-store.d.ts +54 -0
  35. package/dist/stores/transcript-store.d.ts.map +1 -0
  36. package/dist/stores/transcript-store.test.d.ts +5 -0
  37. package/dist/stores/transcript-store.test.d.ts.map +1 -0
  38. package/dist/stores/vocabulary-store.d.ts +63 -0
  39. package/dist/stores/vocabulary-store.d.ts.map +1 -0
  40. package/dist/stores/vocabulary-store.test.d.ts +5 -0
  41. package/dist/stores/vocabulary-store.test.d.ts.map +1 -0
  42. package/dist/text-input-handler.d.ts +73 -0
  43. package/dist/text-input-handler.d.ts.map +1 -0
  44. package/dist/text-input-handler.test.d.ts +5 -0
  45. package/dist/text-input-handler.test.d.ts.map +1 -0
  46. package/dist/ui/action-bubbles.d.cts +17 -0
  47. package/dist/ui/action-bubbles.d.ts +5 -1
  48. package/dist/ui/action-bubbles.d.ts.map +1 -1
  49. package/dist/ui/audio-level-meter.d.ts +31 -0
  50. package/dist/ui/audio-level-meter.d.ts.map +1 -0
  51. package/dist/ui/audio-visualizer.d.ts +29 -0
  52. package/dist/ui/audio-visualizer.d.ts.map +1 -0
  53. package/dist/ui/dictation-output-modal.d.ts +25 -0
  54. package/dist/ui/dictation-output-modal.d.ts.map +1 -0
  55. package/dist/ui/dictation-output-modal.test.d.ts +5 -0
  56. package/dist/ui/dictation-output-modal.test.d.ts.map +1 -0
  57. package/dist/ui/edit-help-modal.d.ts +19 -0
  58. package/dist/ui/edit-help-modal.d.ts.map +1 -0
  59. package/dist/ui/edit-help-modal.test.d.ts +5 -0
  60. package/dist/ui/edit-help-modal.test.d.ts.map +1 -0
  61. package/dist/ui/icons.d.cts +88 -0
  62. package/dist/ui/icons.d.ts +30 -0
  63. package/dist/ui/icons.d.ts.map +1 -1
  64. package/dist/ui/index.d.cts +20 -0
  65. package/dist/ui/index.d.ts +8 -0
  66. package/dist/ui/index.d.ts.map +1 -1
  67. package/dist/ui/mic-button.d.cts +34 -0
  68. package/dist/ui/mic-button.d.ts +4 -0
  69. package/dist/ui/mic-button.d.ts.map +1 -1
  70. package/dist/ui/mic-button.test.d.ts +5 -0
  71. package/dist/ui/mic-button.test.d.ts.map +1 -0
  72. package/dist/ui/settings-button.d.cts +16 -0
  73. package/dist/ui/settings-button.d.ts.map +1 -1
  74. package/dist/ui/settings-modal.d.cts +34 -0
  75. package/dist/ui/settings-modal.d.ts +13 -14
  76. package/dist/ui/settings-modal.d.ts.map +1 -1
  77. package/dist/ui/styles/modal-styles.d.ts +10 -0
  78. package/dist/ui/styles/modal-styles.d.ts.map +1 -0
  79. package/dist/ui/styles/popup-modal-styles.d.ts +7 -0
  80. package/dist/ui/styles/popup-modal-styles.d.ts.map +1 -0
  81. package/dist/ui/styles/theme.d.cts +17 -0
  82. package/dist/ui/tabs/about-tab.d.ts +14 -0
  83. package/dist/ui/tabs/about-tab.d.ts.map +1 -0
  84. package/dist/ui/tabs/help-tab.d.ts +14 -0
  85. package/dist/ui/tabs/help-tab.d.ts.map +1 -0
  86. package/dist/ui/tabs/history-tab.d.ts +26 -0
  87. package/dist/ui/tabs/history-tab.d.ts.map +1 -0
  88. package/dist/ui/tabs/index.d.ts +10 -0
  89. package/dist/ui/tabs/index.d.ts.map +1 -0
  90. package/dist/ui/tabs/settings-tab.d.ts +42 -0
  91. package/dist/ui/tabs/settings-tab.d.ts.map +1 -0
  92. package/dist/ui/tabs/snippets-tab.d.ts +34 -0
  93. package/dist/ui/tabs/snippets-tab.d.ts.map +1 -0
  94. package/dist/ui/tabs/vocabulary-tab.d.ts +30 -0
  95. package/dist/ui/tabs/vocabulary-tab.d.ts.map +1 -0
  96. package/dist/ui/widget.d.cts +64 -0
  97. package/dist/ui/widget.d.ts +33 -0
  98. package/dist/ui/widget.d.ts.map +1 -1
  99. package/dist/ui/widget.test.d.ts +6 -0
  100. package/dist/ui/widget.test.d.ts.map +1 -0
  101. package/package.json +5 -4
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Text input handler for SpeechOS Client SDK
3
+ * Abstracts cursor/selection detection and text insertion/replacement operations
4
+ */
5
+ /**
6
+ * Selection/cursor position info from an element
7
+ */
8
+ export interface SelectionInfo {
9
+ /** Start position of cursor/selection */
10
+ start: number | null;
11
+ /** End position of cursor/selection */
12
+ end: number | null;
13
+ /** Selected text (empty string if just cursor) */
14
+ text: string;
15
+ }
16
+ /**
17
+ * Interface for handling text input operations (cursor detection, text insertion)
18
+ * Allows customization of how the widget interacts with form elements
19
+ */
20
+ export interface TextInputHandlerInterface {
21
+ /**
22
+ * Get the current cursor/selection position from an element
23
+ */
24
+ getSelection(element: HTMLElement): SelectionInfo;
25
+ /**
26
+ * Get content from an element (selected portion if selection exists, otherwise full content)
27
+ */
28
+ getContent(element: HTMLElement, selection?: SelectionInfo): string;
29
+ /**
30
+ * Insert text at the cursor position (for dictation)
31
+ */
32
+ insertText(element: HTMLElement, text: string, cursorPosition?: SelectionInfo): void;
33
+ /**
34
+ * Replace content/selection with new text (for edit)
35
+ */
36
+ replaceContent(element: HTMLElement, text: string, selection?: SelectionInfo): void;
37
+ }
38
+ /**
39
+ * Default implementation of TextInputHandler
40
+ * Handles input, textarea, and contenteditable elements
41
+ */
42
+ export declare class DefaultTextInputHandler implements TextInputHandlerInterface {
43
+ /**
44
+ * Get the current cursor/selection position from an element
45
+ */
46
+ getSelection(element: HTMLElement): SelectionInfo;
47
+ /**
48
+ * Get content from an element (selected portion if selection exists, otherwise full content)
49
+ */
50
+ getContent(element: HTMLElement, selection?: SelectionInfo): string;
51
+ /**
52
+ * Insert text at the cursor position (for dictation)
53
+ */
54
+ insertText(element: HTMLElement, text: string, cursorPosition?: SelectionInfo): void;
55
+ /**
56
+ * Replace content/selection with new text (for edit)
57
+ */
58
+ replaceContent(element: HTMLElement, text: string, selection?: SelectionInfo): void;
59
+ }
60
+ export declare const defaultTextInputHandler: TextInputHandlerInterface;
61
+ /**
62
+ * Set the text input handler
63
+ */
64
+ export declare function setTextInputHandler(handler: TextInputHandlerInterface): void;
65
+ /**
66
+ * Get the current text input handler
67
+ */
68
+ export declare function getTextInputHandler(): TextInputHandlerInterface;
69
+ /**
70
+ * Reset to default text input handler
71
+ */
72
+ export declare function resetTextInputHandler(): void;
73
+ //# sourceMappingURL=text-input-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-input-handler.d.ts","sourceRoot":"","sources":["../src/text-input-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,uCAAuC;IACvC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa,CAAC;IAElD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC;IAEpE;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAErF;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CACrF;AAaD;;;GAGG;AACH,qBAAa,uBAAwB,YAAW,yBAAyB;IACvE;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,aAAa;IAmCjD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,MAAM;IA6BnE;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,aAAa,GAAG,IAAI;IA0CpF;;OAEG;IACH,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,IAAI;CA4CpF;AAGD,eAAO,MAAM,uBAAuB,EAAE,yBAAyD,CAAC;AAKhG;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,GAAG,IAAI,CAE5E;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,yBAAyB,CAE/D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,IAAI,IAAI,CAE5C"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for TextInputHandler
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=text-input-handler.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text-input-handler.test.d.ts","sourceRoot":"","sources":["../src/text-input-handler.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Action bubbles component
3
+ * Displays available actions (Dictate, Edit) above the mic button
4
+ */
5
+ import { LitElement, type CSSResultGroup } from "lit";
6
+ export declare class SpeechOSActionBubbles extends LitElement {
7
+ static styles: CSSResultGroup;
8
+ visible: boolean;
9
+ private actions;
10
+ private handleActionClick;
11
+ render(): import("lit").TemplateResult | string;
12
+ }
13
+ declare global {
14
+ interface HTMLElementTagNameMap {
15
+ "speechos-action-bubbles": SpeechOSActionBubbles;
16
+ }
17
+ }
@@ -6,7 +6,11 @@ import { LitElement, type CSSResultGroup } from "lit";
6
6
  export declare class SpeechOSActionBubbles extends LitElement {
7
7
  static styles: CSSResultGroup;
8
8
  visible: boolean;
9
- private actions;
9
+ /**
10
+ * Get the list of available actions based on configuration.
11
+ * Command button only appears if commands are configured.
12
+ */
13
+ private get actions();
10
14
  private handleActionClick;
11
15
  render(): import("lit").TemplateResult | string;
12
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"action-bubbles.d.ts","sourceRoot":"","sources":["../../src/ui/action-bubbles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAYjE,qBACa,qBAAsB,SAAQ,UAAU;IACnD,MAAM,CAAC,MAAM,EAAE,cAAc,CAmF3B;IAGF,OAAO,UAAS;IAEhB,OAAO,CAAC,OAAO,CAWb;IAEF,OAAO,CAAC,iBAAiB;IAgBzB,MAAM,IAAI,OAAO,KAAK,EAAE,cAAc,GAAG,MAAM;CAuBhD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,yBAAyB,EAAE,qBAAqB,CAAC;KAClD;CACF"}
1
+ {"version":3,"file":"action-bubbles.d.ts","sourceRoot":"","sources":["../../src/ui/action-bubbles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAajE,qBACa,qBAAsB,SAAQ,UAAU;IACnD,MAAM,CAAC,MAAM,EAAE,cAAc,CAoH3B;IAGF,OAAO,UAAS;IAEhB;;;OAGG;IACH,OAAO,KAAK,OAAO,GAyBlB;IAED,OAAO,CAAC,iBAAiB;IAgBzB,MAAM,IAAI,OAAO,KAAK,EAAE,cAAc,GAAG,MAAM;CAuBhD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,yBAAyB,EAAE,qBAAqB,CAAC;KAClD;CACF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Audio level meter component
3
+ * Displays real-time audio amplitude visualization for microphone input
4
+ */
5
+ import { LitElement, type CSSResultGroup } from "lit";
6
+ export declare class SpeechOSAudioLevelMeter extends LitElement {
7
+ static styles: CSSResultGroup;
8
+ active: boolean;
9
+ deviceId: string;
10
+ private levels;
11
+ private error;
12
+ private mediaStream;
13
+ private audioContext;
14
+ private analyser;
15
+ private animationId;
16
+ private dataArray;
17
+ private smoothedLevels;
18
+ updated(changedProperties: Map<string, unknown>): void;
19
+ disconnectedCallback(): void;
20
+ private startMonitoring;
21
+ private stopMonitoring;
22
+ private updateLevels;
23
+ private getBarClass;
24
+ render(): import("lit-html").TemplateResult<1>;
25
+ }
26
+ declare global {
27
+ interface HTMLElementTagNameMap {
28
+ "speechos-audio-level-meter": SpeechOSAudioLevelMeter;
29
+ }
30
+ }
31
+ //# sourceMappingURL=audio-level-meter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-level-meter.d.ts","sourceRoot":"","sources":["../../src/ui/audio-level-meter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAOjE,qBACa,uBAAwB,SAAQ,UAAU;IACrD,MAAM,CAAC,MAAM,EAAE,cAAc,CA8C3B;IAGF,MAAM,UAAS;IAGf,QAAQ,SAAM;IAGd,OAAO,CAAC,MAAM,CAAyC;IAGvD,OAAO,CAAC,KAAK,CAAuB;IAEpC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,cAAc,CAAyC;IAE/D,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAUtD,oBAAoB,IAAI,IAAI;YAKd,eAAe;IA+C7B,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,YAAY;IAwCpB,OAAO,CAAC,WAAW;IAKnB,MAAM;CA0BP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,4BAA4B,EAAE,uBAAuB,CAAC;KACvD;CACF"}
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Compact audio visualizer component
3
+ * A minimal inline audio amplitude visualization for the listening state
4
+ */
5
+ import { LitElement, type CSSResultGroup } from "lit";
6
+ export declare class SpeechOSAudioVisualizer extends LitElement {
7
+ static styles: CSSResultGroup;
8
+ active: boolean;
9
+ private levels;
10
+ private mediaStream;
11
+ private audioContext;
12
+ private analyser;
13
+ private animationId;
14
+ private dataArray;
15
+ private smoothedLevels;
16
+ updated(changedProperties: Map<string, unknown>): void;
17
+ disconnectedCallback(): void;
18
+ private startMonitoring;
19
+ private stopMonitoring;
20
+ private updateLevels;
21
+ private getBarClass;
22
+ render(): import("lit-html").TemplateResult<1>;
23
+ }
24
+ declare global {
25
+ interface HTMLElementTagNameMap {
26
+ "speechos-audio-visualizer": SpeechOSAudioVisualizer;
27
+ }
28
+ }
29
+ //# sourceMappingURL=audio-visualizer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audio-visualizer.d.ts","sourceRoot":"","sources":["../../src/ui/audio-visualizer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAQjE,qBACa,uBAAwB,SAAQ,UAAU;IACrD,MAAM,CAAC,MAAM,EAAE,cAAc,CAgC3B;IAGF,MAAM,UAAS;IAGf,OAAO,CAAC,MAAM,CAAyC;IAEvD,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,SAAS,CAAwC;IACzD,OAAO,CAAC,cAAc,CAAyC;IAE/D,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAUtD,oBAAoB,IAAI,IAAI;YAKd,eAAe;IAoC7B,OAAO,CAAC,cAAc;IA2BtB,OAAO,CAAC,YAAY;IAwCpB,OAAO,CAAC,WAAW;IAKnB,MAAM;CAkBP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,2BAA2B,EAAE,uBAAuB,CAAC;KACtD;CACF"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Dictation output modal component
3
+ * Displays transcribed text with copy functionality when no field is focused
4
+ */
5
+ import { LitElement, type CSSResultGroup } from "lit";
6
+ export declare class SpeechOSDictationOutputModal extends LitElement {
7
+ static styles: CSSResultGroup;
8
+ open: boolean;
9
+ text: string;
10
+ private copied;
11
+ private copyTimeout;
12
+ disconnectedCallback(): void;
13
+ updated(changedProperties: Map<string, unknown>): void;
14
+ private handleOverlayClick;
15
+ private handleClose;
16
+ private close;
17
+ private handleCopy;
18
+ render(): import("lit-html").TemplateResult<1>;
19
+ }
20
+ declare global {
21
+ interface HTMLElementTagNameMap {
22
+ "speechos-dictation-output-modal": SpeechOSDictationOutputModal;
23
+ }
24
+ }
25
+ //# sourceMappingURL=dictation-output-modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictation-output-modal.d.ts","sourceRoot":"","sources":["../../src/ui/dictation-output-modal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAMjE,qBACa,4BAA6B,SAAQ,UAAU;IAC1D,MAAM,CAAC,MAAM,EAAE,cAAc,CA6E3B;IAGF,IAAI,UAAS;IAGb,IAAI,SAAM;IAGV,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,WAAW,CAAuB;IAE1C,oBAAoB,IAAI,IAAI;IAQ5B,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAatD,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,KAAK;YASC,UAAU;IAkBxB,MAAM;CA+CP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iCAAiC,EAAE,4BAA4B,CAAC;KACjE;CACF"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for dictation output modal component
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=dictation-output-modal.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dictation-output-modal.test.d.ts","sourceRoot":"","sources":["../../src/ui/dictation-output-modal.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Edit help modal component
3
+ * Displays usage instructions for the edit feature when no text is selected
4
+ */
5
+ import { LitElement, type CSSResultGroup } from "lit";
6
+ export declare class SpeechOSEditHelpModal extends LitElement {
7
+ static styles: CSSResultGroup;
8
+ open: boolean;
9
+ private handleOverlayClick;
10
+ private handleClose;
11
+ private close;
12
+ render(): import("lit-html").TemplateResult<1>;
13
+ }
14
+ declare global {
15
+ interface HTMLElementTagNameMap {
16
+ "speechos-edit-help-modal": SpeechOSEditHelpModal;
17
+ }
18
+ }
19
+ //# sourceMappingURL=edit-help-modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-help-modal.d.ts","sourceRoot":"","sources":["../../src/ui/edit-help-modal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAMjE,qBACa,qBAAsB,SAAQ,UAAU;IACnD,MAAM,CAAC,MAAM,EAAE,cAAc,CAsD3B;IAGF,IAAI,UAAS;IAEb,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,KAAK;IASb,MAAM;CAuDP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,0BAA0B,EAAE,qBAAqB,CAAC;KACnD;CACF"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for edit help modal component
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=edit-help-modal.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"edit-help-modal.test.d.ts","sourceRoot":"","sources":["../../src/ui/edit-help-modal.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Icon imports and templates using inline SVG
3
+ */
4
+ import { type TemplateResult } from "lit";
5
+ /**
6
+ * Microphone icon for the main button
7
+ * Lucide Mic icon paths
8
+ */
9
+ export declare const micIcon: (size?: number) => TemplateResult;
10
+ /**
11
+ * Message square icon for dictate action
12
+ * Lucide MessageSquare icon paths
13
+ */
14
+ export declare const dictateIcon: (size?: number) => TemplateResult;
15
+ /**
16
+ * Pencil icon for edit action
17
+ * Lucide Pencil icon paths
18
+ */
19
+ export declare const editIcon: (size?: number) => TemplateResult;
20
+ /**
21
+ * Stop/Square icon for stopping recording
22
+ * Lucide Square icon (filled)
23
+ */
24
+ export declare const stopIcon: (size?: number) => TemplateResult;
25
+ /**
26
+ * Loader/spinner icon for connecting state
27
+ */
28
+ export declare const loaderIcon: (size?: number) => TemplateResult;
29
+ /**
30
+ * Check icon for "Keep" action
31
+ * Lucide Check icon paths
32
+ */
33
+ export declare const checkIcon: (size?: number) => TemplateResult;
34
+ /**
35
+ * Undo icon for "Undo" action
36
+ * Lucide Undo2 icon paths
37
+ */
38
+ export declare const undoIcon: (size?: number) => TemplateResult;
39
+ /**
40
+ * Refresh icon for "Continue editing" action
41
+ * Lucide RefreshCw icon paths
42
+ */
43
+ export declare const refreshIcon: (size?: number) => TemplateResult;
44
+ /**
45
+ * X icon for cancel action
46
+ * Lucide X icon paths
47
+ */
48
+ export declare const xIcon: (size?: number) => TemplateResult;
49
+ /**
50
+ * More vertical (three dots) icon for settings button
51
+ * Lucide MoreVertical icon paths
52
+ */
53
+ export declare const moreVerticalIcon: (size?: number) => TemplateResult;
54
+ /**
55
+ * Clipboard/list icon for transcripts tab
56
+ * Lucide ClipboardList icon paths
57
+ */
58
+ export declare const clipboardIcon: (size?: number) => TemplateResult;
59
+ /**
60
+ * Help circle icon for help tab
61
+ * Lucide HelpCircle icon paths
62
+ */
63
+ export declare const helpCircleIcon: (size?: number) => TemplateResult;
64
+ /**
65
+ * Info icon for about tab
66
+ * Lucide Info icon paths
67
+ */
68
+ export declare const infoIcon: (size?: number) => TemplateResult;
69
+ /**
70
+ * Settings/cog icon for settings tab
71
+ * Lucide Settings icon paths
72
+ */
73
+ export declare const settingsIcon: (size?: number) => TemplateResult;
74
+ /**
75
+ * Trash icon for delete action
76
+ * Lucide Trash2 icon paths
77
+ */
78
+ export declare const trashIcon: (size?: number) => TemplateResult;
79
+ /**
80
+ * External link icon
81
+ * Lucide ExternalLink icon paths
82
+ */
83
+ export declare const externalLinkIcon: (size?: number) => TemplateResult;
84
+ /**
85
+ * Copy icon
86
+ * Lucide Copy icon paths
87
+ */
88
+ export declare const copyIcon: (size?: number) => TemplateResult;
@@ -86,4 +86,34 @@ export declare const externalLinkIcon: (size?: number) => TemplateResult;
86
86
  * Lucide Copy icon paths
87
87
  */
88
88
  export declare const copyIcon: (size?: number) => TemplateResult;
89
+ /**
90
+ * Globe icon for language selection
91
+ * Lucide Globe icon paths
92
+ */
93
+ export declare const globeIcon: (size?: number) => TemplateResult;
94
+ /**
95
+ * Scissors icon for snippets
96
+ * Lucide Scissors icon paths
97
+ */
98
+ export declare const scissorsIcon: (size?: number) => TemplateResult;
99
+ /**
100
+ * Book open icon for vocabulary
101
+ * Lucide BookOpen icon paths
102
+ */
103
+ export declare const bookOpenIcon: (size?: number) => TemplateResult;
104
+ /**
105
+ * Plus icon for add buttons
106
+ * Lucide Plus icon paths
107
+ */
108
+ export declare const plusIcon: (size?: number) => TemplateResult;
109
+ /**
110
+ * Sparkles icon for AI/smart features
111
+ * Lucide Sparkles icon paths
112
+ */
113
+ export declare const sparklesIcon: (size?: number) => TemplateResult;
114
+ /**
115
+ * Zap/lightning icon for command action
116
+ * Lucide Zap icon paths - represents quick command execution
117
+ */
118
+ export declare const commandIcon: (size?: number) => TemplateResult;
89
119
  //# sourceMappingURL=icons.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/ui/icons.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AA2BhD;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,aAAS,KAAG,cAIjC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,aAAS,KAAG,cAIrC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,aAAS,KAAG,cAIlC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,aAAS,KAAG,cAepC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,aAAS,KAAG,cAkBtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,aAAS,KAAG,cACW,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,aAAS,KAAG,cAIlC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,aAAS,KAAG,cAIrC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,aAAS,KAAG,cACgC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,aAAS,KAAG,cAI1C,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,aAAS,KAAG,cAIvC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,aAAS,KAAG,cAIxC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,aAAS,KAAG,cAIlC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,aAAS,KAAG,cAItC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,aAAS,KAAG,cAInC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,aAAS,KAAG,cAI1C,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,aAAS,KAAG,cAIlC,CAAC"}
1
+ {"version":3,"file":"icons.d.ts","sourceRoot":"","sources":["../../src/ui/icons.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AA2BhD;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAI,aAAS,KAAG,cAIjC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,aAAS,KAAG,cAIrC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,aAAS,KAAG,cAIlC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,aAAS,KAAG,cAepC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,aAAS,KAAG,cAkBtC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,aAAS,KAAG,cACW,CAAC;AAElD;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,aAAS,KAAG,cAIlC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,aAAS,KAAG,cAIrC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,KAAK,GAAI,aAAS,KAAG,cACgC,CAAC;AAEnE;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,aAAS,KAAG,cAI1C,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,aAAa,GAAI,aAAS,KAAG,cAIvC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,cAAc,GAAI,aAAS,KAAG,cAIxC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,aAAS,KAAG,cAIlC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,aAAS,KAAG,cAItC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,aAAS,KAAG,cAInC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,aAAS,KAAG,cAI1C,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,aAAS,KAAG,cAIlC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,aAAS,KAAG,cAInC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,aAAS,KAAG,cAItC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,aAAS,KAAG,cAItC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAI,aAAS,KAAG,cACyB,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,aAAS,KAAG,cAItC,CAAC;AAEJ;;;GAGG;AACH,eAAO,MAAM,WAAW,GAAI,aAAS,KAAG,cAIrC,CAAC"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * UI module exports
3
+ * Lit-based Shadow DOM components
4
+ */
5
+ import "./widget.js";
6
+ import "./mic-button.js";
7
+ import "./action-bubbles.js";
8
+ import "./settings-button.js";
9
+ import "./settings-modal.js";
10
+ export { SpeechOSWidget } from "./widget.js";
11
+ export { SpeechOSMicButton } from "./mic-button.js";
12
+ export { SpeechOSActionBubbles } from "./action-bubbles.js";
13
+ export { SpeechOSSettingsButton } from "./settings-button.js";
14
+ export { SpeechOSSettingsModal } from "./settings-modal.js";
15
+ /**
16
+ * Register all custom elements
17
+ * This is automatically called when importing this module,
18
+ * but can be called explicitly if needed
19
+ */
20
+ export declare function registerComponents(): void;
@@ -7,11 +7,19 @@ import "./mic-button.js";
7
7
  import "./action-bubbles.js";
8
8
  import "./settings-button.js";
9
9
  import "./settings-modal.js";
10
+ import "./audio-level-meter.js";
11
+ import "./audio-visualizer.js";
12
+ import "./dictation-output-modal.js";
13
+ import "./edit-help-modal.js";
10
14
  export { SpeechOSWidget } from "./widget.js";
11
15
  export { SpeechOSMicButton } from "./mic-button.js";
12
16
  export { SpeechOSActionBubbles } from "./action-bubbles.js";
13
17
  export { SpeechOSSettingsButton } from "./settings-button.js";
14
18
  export { SpeechOSSettingsModal } from "./settings-modal.js";
19
+ export { SpeechOSAudioLevelMeter } from "./audio-level-meter.js";
20
+ export { SpeechOSAudioVisualizer } from "./audio-visualizer.js";
21
+ export { SpeechOSDictationOutputModal } from "./dictation-output-modal.js";
22
+ export { SpeechOSEditHelpModal } from "./edit-help-modal.js";
15
23
  /**
16
24
  * Register all custom elements
17
25
  * This is automatically called when importing this module,
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,aAAa,CAAC;AACrB,OAAO,iBAAiB,CAAC;AACzB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,qBAAqB,CAAC;AAG7B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAE5D;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAMzC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,aAAa,CAAC;AACrB,OAAO,iBAAiB,CAAC;AACzB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,wBAAwB,CAAC;AAChC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,6BAA6B,CAAC;AACrC,OAAO,sBAAsB,CAAC;AAG9B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAChE,OAAO,EAAE,4BAA4B,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAMzC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Microphone button component
3
+ * A circular button that toggles the action bubbles and handles recording states
4
+ */
5
+ import { LitElement, type CSSResultGroup, type TemplateResult } from "lit";
6
+ import type { RecordingState, SpeechOSAction } from "@speechos/core";
7
+ export declare class SpeechOSMicButton extends LitElement {
8
+ static styles: CSSResultGroup;
9
+ expanded: boolean;
10
+ recordingState: RecordingState;
11
+ activeAction: SpeechOSAction | null;
12
+ editPreviewText: string;
13
+ errorMessage: string | null;
14
+ private handleClick;
15
+ private handleCancel;
16
+ private stopEvent;
17
+ private handleClose;
18
+ private handleRetry;
19
+ private getButtonClass;
20
+ private renderIcon;
21
+ private getAriaLabel;
22
+ /**
23
+ * Truncate and format preview text for display
24
+ */
25
+ private formatPreviewText;
26
+ private getStatusLabel;
27
+ private getStatusClass;
28
+ render(): TemplateResult;
29
+ }
30
+ declare global {
31
+ interface HTMLElementTagNameMap {
32
+ "speechos-mic-button": SpeechOSMicButton;
33
+ }
34
+ }
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import { LitElement, type CSSResultGroup, type TemplateResult } from "lit";
6
6
  import type { RecordingState, SpeechOSAction } from "@speechos/core";
7
+ import "./audio-visualizer.js";
7
8
  export declare class SpeechOSMicButton extends LitElement {
8
9
  static styles: CSSResultGroup;
9
10
  expanded: boolean;
@@ -11,6 +12,7 @@ export declare class SpeechOSMicButton extends LitElement {
11
12
  activeAction: SpeechOSAction | null;
12
13
  editPreviewText: string;
13
14
  errorMessage: string | null;
15
+ commandFeedback: "success" | "none" | null;
14
16
  private handleClick;
15
17
  private handleCancel;
16
18
  private stopEvent;
@@ -24,7 +26,9 @@ export declare class SpeechOSMicButton extends LitElement {
24
26
  */
25
27
  private formatPreviewText;
26
28
  private getStatusLabel;
29
+ private shouldShowVisualizer;
27
30
  private getStatusClass;
31
+ private getCommandFeedbackLabel;
28
32
  render(): TemplateResult;
29
33
  }
30
34
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"mic-button.d.ts","sourceRoot":"","sources":["../../src/ui/mic-button.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,UAAU,EAGV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErE,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,MAAM,CAAC,MAAM,EAAE,cAAc,CAwX3B;IAGF,QAAQ,UAAS;IAGjB,cAAc,EAAE,cAAc,CAAU;IAGxC,YAAY,EAAE,cAAc,GAAG,IAAI,CAAQ;IAG3C,eAAe,EAAE,MAAM,CAAM;IAG7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAEnC,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,cAAc;IAwBtB,OAAO,CAAC,cAAc;IAOtB,MAAM,IAAI,cAAc;CAmEzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;CACF"}
1
+ {"version":3,"file":"mic-button.d.ts","sourceRoot":"","sources":["../../src/ui/mic-button.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,UAAU,EAGV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAIb,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AACrE,OAAO,uBAAuB,CAAC;AAE/B,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,MAAM,CAAC,MAAM,EAAE,cAAc,CA62B3B;IAGF,QAAQ,UAAS;IAGjB,cAAc,EAAE,cAAc,CAAU;IAGxC,YAAY,EAAE,cAAc,GAAG,IAAI,CAAQ;IAG3C,eAAe,EAAE,MAAM,CAAM;IAG7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAGnC,eAAe,EAAE,SAAS,GAAG,MAAM,GAAG,IAAI,CAAQ;IAElD,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,YAAY;IAYpB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,UAAU;IAelB,OAAO,CAAC,YAAY;IAepB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB,OAAO,CAAC,cAAc;IAkBtB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,uBAAuB;IAU/B,MAAM,IAAI,cAAc;CAsGzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;CACF"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for mic button component - command feedback feature
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=mic-button.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mic-button.test.d.ts","sourceRoot":"","sources":["../../src/ui/mic-button.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Settings button component
3
+ * A small gear icon button that opens the settings modal
4
+ */
5
+ import { LitElement, type CSSResultGroup } from "lit";
6
+ export declare class SpeechOSSettingsButton extends LitElement {
7
+ static styles: CSSResultGroup;
8
+ visible: boolean;
9
+ private handleClick;
10
+ render(): import("lit").TemplateResult;
11
+ }
12
+ declare global {
13
+ interface HTMLElementTagNameMap {
14
+ "speechos-settings-button": SpeechOSSettingsButton;
15
+ }
16
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"settings-button.d.ts","sourceRoot":"","sources":["../../src/ui/settings-button.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAKjE,qBACa,sBAAuB,SAAQ,UAAU;IACpD,MAAM,CAAC,MAAM,EAAE,cAAc,CA6C3B;IAGF,OAAO,UAAS;IAEhB,OAAO,CAAC,WAAW;IAYnB,MAAM,IAAI,OAAO,KAAK,EAAE,cAAc;CAYvC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,0BAA0B,EAAE,sBAAsB,CAAC;KACpD;CACF"}
1
+ {"version":3,"file":"settings-button.d.ts","sourceRoot":"","sources":["../../src/ui/settings-button.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAKjE,qBACa,sBAAuB,SAAQ,UAAU;IACpD,MAAM,CAAC,MAAM,EAAE,cAAc,CAyD3B;IAGF,OAAO,UAAS;IAEhB,OAAO,CAAC,WAAW;IAYnB,MAAM,IAAI,OAAO,KAAK,EAAE,cAAc;CAYvC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,0BAA0B,EAAE,sBAAsB,CAAC;KACpD;CACF"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Settings modal component
3
+ * Displays transcript history, help, about, and settings in a tabbed interface
4
+ */
5
+ import { LitElement, type CSSResultGroup } from "lit";
6
+ export declare class SpeechOSSettingsModal extends LitElement {
7
+ static styles: CSSResultGroup;
8
+ open: boolean;
9
+ private activeTab;
10
+ private transcripts;
11
+ private tabs;
12
+ connectedCallback(): void;
13
+ updated(changedProperties: Map<string, unknown>): void;
14
+ private loadTranscripts;
15
+ private handleOverlayClick;
16
+ private handleClose;
17
+ private close;
18
+ private handleTabClick;
19
+ private handleDeleteTranscript;
20
+ private handleClearAll;
21
+ private handleCopyTranscript;
22
+ private formatTime;
23
+ private renderTranscriptsTab;
24
+ private renderHelpTab;
25
+ private renderAboutTab;
26
+ private renderSettingsTab;
27
+ private renderTabContent;
28
+ render(): import("lit").TemplateResult;
29
+ }
30
+ declare global {
31
+ interface HTMLElementTagNameMap {
32
+ "speechos-settings-modal": SpeechOSSettingsModal;
33
+ }
34
+ }
@@ -1,31 +1,30 @@
1
1
  /**
2
2
  * Settings modal component
3
- * Displays transcript history, help, about, and settings in a tabbed interface
3
+ * Main orchestrator for the settings modal with sidebar navigation
4
4
  */
5
5
  import { LitElement, type CSSResultGroup } from "lit";
6
+ import "./tabs/history-tab.js";
7
+ import "./tabs/help-tab.js";
8
+ import "./tabs/about-tab.js";
9
+ import "./tabs/settings-tab.js";
10
+ import "./tabs/snippets-tab.js";
11
+ import "./tabs/vocabulary-tab.js";
6
12
  export declare class SpeechOSSettingsModal extends LitElement {
7
13
  static styles: CSSResultGroup;
8
14
  open: boolean;
9
15
  private activeTab;
10
- private transcripts;
11
- private tabs;
12
- connectedCallback(): void;
16
+ private mainTabs;
17
+ private bottomTabs;
13
18
  updated(changedProperties: Map<string, unknown>): void;
14
- private loadTranscripts;
19
+ private refreshActiveTab;
20
+ private resetTabs;
21
+ private getTabElement;
15
22
  private handleOverlayClick;
16
23
  private handleClose;
17
24
  private close;
18
25
  private handleTabClick;
19
- private handleDeleteTranscript;
20
- private handleClearAll;
21
- private handleCopyTranscript;
22
- private formatTime;
23
- private renderTranscriptsTab;
24
- private renderHelpTab;
25
- private renderAboutTab;
26
- private renderSettingsTab;
27
26
  private renderTabContent;
28
- render(): import("lit").TemplateResult;
27
+ render(): import("lit-html").TemplateResult<1>;
29
28
  }
30
29
  declare global {
31
30
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"settings-modal.d.ts","sourceRoot":"","sources":["../../src/ui/settings-modal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AA4BjE,qBACa,qBAAsB,SAAQ,UAAU;IACnD,MAAM,CAAC,MAAM,EAAE,cAAc,CAyX3B;IAGF,IAAI,UAAS;IAGb,OAAO,CAAC,SAAS,CAAwB;IAGzC,OAAO,CAAC,WAAW,CAAyB;IAE5C,OAAO,CAAC,IAAI,CAKV;IAEF,iBAAiB,IAAI,IAAI;IAKzB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMtD,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,sBAAsB;IAK9B,OAAO,CAAC,cAAc;YAKR,oBAAoB;IA6BlC,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,oBAAoB;IAoD5B,OAAO,CAAC,aAAa;IA0BrB,OAAO,CAAC,cAAc;IAsBtB,OAAO,CAAC,iBAAiB;IASzB,OAAO,CAAC,gBAAgB;IAaxB,MAAM,IAAI,OAAO,KAAK,EAAE,cAAc;CAqCvC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,yBAAyB,EAAE,qBAAqB,CAAC;KAClD;CACF"}
1
+ {"version":3,"file":"settings-modal.d.ts","sourceRoot":"","sources":["../../src/ui/settings-modal.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,UAAU,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAe5D,OAAO,uBAAuB,CAAC;AAC/B,OAAO,oBAAoB,CAAC;AAC5B,OAAO,qBAAqB,CAAC;AAC7B,OAAO,wBAAwB,CAAC;AAChC,OAAO,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,CAAC;AAgBlC,qBACa,qBAAsB,SAAQ,UAAU;IACnD,MAAM,CAAC,MAAM,EAAE,cAAc,CAAoC;IAGjE,IAAI,UAAS;IAGb,OAAO,CAAC,SAAS,CAAqB;IAEtC,OAAO,CAAC,QAAQ,CAMd;IAEF,OAAO,CAAC,UAAU,CAEhB;IAEF,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAUtD,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,SAAS;IAiBjB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,KAAK;IASb,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,gBAAgB;IAiBxB,MAAM;CAqEP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,yBAAyB,EAAE,qBAAqB,CAAC;KAClD;CACF"}