@speechos/client 0.2.0 → 0.2.3

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 (81) hide show
  1. package/dist/config.d.ts +68 -0
  2. package/dist/config.d.ts.map +1 -0
  3. package/dist/form-detector.d.ts +17 -1
  4. package/dist/form-detector.d.ts.map +1 -0
  5. package/dist/form-detector.test.d.ts +5 -0
  6. package/dist/form-detector.test.d.ts.map +1 -0
  7. package/dist/index.cjs +6847 -317
  8. package/dist/index.cjs.map +1 -1
  9. package/dist/index.d.ts +20 -3
  10. package/dist/index.d.ts.map +1 -0
  11. package/dist/index.iife.js +6761 -1713
  12. package/dist/index.iife.js.map +1 -1
  13. package/dist/index.iife.min.js +2126 -392
  14. package/dist/index.iife.min.js.map +1 -1
  15. package/dist/index.js +6766 -250
  16. package/dist/index.js.map +1 -1
  17. package/dist/speechos.d.ts +48 -5
  18. package/dist/speechos.d.ts.map +1 -0
  19. package/dist/speechos.test.d.ts +5 -0
  20. package/dist/speechos.test.d.ts.map +1 -0
  21. package/dist/stores/audio-settings.d.ts +45 -0
  22. package/dist/stores/audio-settings.d.ts.map +1 -0
  23. package/dist/stores/index.d.ts +15 -0
  24. package/dist/stores/index.d.ts.map +1 -0
  25. package/dist/stores/language-settings.d.ts +106 -0
  26. package/dist/stores/language-settings.d.ts.map +1 -0
  27. package/dist/stores/snippets-store.d.ts +72 -0
  28. package/dist/stores/snippets-store.d.ts.map +1 -0
  29. package/dist/stores/snippets-store.test.d.ts +5 -0
  30. package/dist/stores/snippets-store.test.d.ts.map +1 -0
  31. package/dist/stores/transcript-store.d.ts +54 -0
  32. package/dist/stores/transcript-store.d.ts.map +1 -0
  33. package/dist/stores/transcript-store.test.d.ts +5 -0
  34. package/dist/stores/transcript-store.test.d.ts.map +1 -0
  35. package/dist/stores/vocabulary-store.d.ts +63 -0
  36. package/dist/stores/vocabulary-store.d.ts.map +1 -0
  37. package/dist/stores/vocabulary-store.test.d.ts +5 -0
  38. package/dist/stores/vocabulary-store.test.d.ts.map +1 -0
  39. package/dist/text-input-handler.d.ts +73 -0
  40. package/dist/text-input-handler.d.ts.map +1 -0
  41. package/dist/text-input-handler.test.d.ts +5 -0
  42. package/dist/text-input-handler.test.d.ts.map +1 -0
  43. package/dist/ui/action-bubbles.d.ts +6 -1
  44. package/dist/ui/action-bubbles.d.ts.map +1 -0
  45. package/dist/ui/audio-level-meter.d.ts +31 -0
  46. package/dist/ui/audio-level-meter.d.ts.map +1 -0
  47. package/dist/ui/audio-visualizer.d.ts +29 -0
  48. package/dist/ui/audio-visualizer.d.ts.map +1 -0
  49. package/dist/ui/icons.d.ts +31 -0
  50. package/dist/ui/icons.d.ts.map +1 -0
  51. package/dist/ui/index.d.ts +5 -0
  52. package/dist/ui/index.d.ts.map +1 -0
  53. package/dist/ui/mic-button.d.ts +3 -0
  54. package/dist/ui/mic-button.d.ts.map +1 -0
  55. package/dist/ui/settings-button.d.ts +1 -0
  56. package/dist/ui/settings-button.d.ts.map +1 -0
  57. package/dist/ui/settings-modal.d.ts +14 -14
  58. package/dist/ui/settings-modal.d.ts.map +1 -0
  59. package/dist/ui/styles/modal-styles.d.ts +10 -0
  60. package/dist/ui/styles/modal-styles.d.ts.map +1 -0
  61. package/dist/ui/styles/theme.d.ts +1 -0
  62. package/dist/ui/styles/theme.d.ts.map +1 -0
  63. package/dist/ui/tabs/about-tab.d.ts +14 -0
  64. package/dist/ui/tabs/about-tab.d.ts.map +1 -0
  65. package/dist/ui/tabs/help-tab.d.ts +14 -0
  66. package/dist/ui/tabs/help-tab.d.ts.map +1 -0
  67. package/dist/ui/tabs/history-tab.d.ts +26 -0
  68. package/dist/ui/tabs/history-tab.d.ts.map +1 -0
  69. package/dist/ui/tabs/index.d.ts +10 -0
  70. package/dist/ui/tabs/index.d.ts.map +1 -0
  71. package/dist/ui/tabs/settings-tab.d.ts +42 -0
  72. package/dist/ui/tabs/settings-tab.d.ts.map +1 -0
  73. package/dist/ui/tabs/snippets-tab.d.ts +34 -0
  74. package/dist/ui/tabs/snippets-tab.d.ts.map +1 -0
  75. package/dist/ui/tabs/vocabulary-tab.d.ts +30 -0
  76. package/dist/ui/tabs/vocabulary-tab.d.ts.map +1 -0
  77. package/dist/ui/widget.d.ts +23 -0
  78. package/dist/ui/widget.d.ts.map +1 -0
  79. package/dist/ui/widget.test.d.ts +6 -0
  80. package/dist/ui/widget.test.d.ts.map +1 -0
  81. package/package.json +8 -9
@@ -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"}
@@ -86,3 +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;
119
+ //# sourceMappingURL=icons.d.ts.map
@@ -0,0 +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;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"}
@@ -7,14 +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";
10
12
  export { SpeechOSWidget } from "./widget.js";
11
13
  export { SpeechOSMicButton } from "./mic-button.js";
12
14
  export { SpeechOSActionBubbles } from "./action-bubbles.js";
13
15
  export { SpeechOSSettingsButton } from "./settings-button.js";
14
16
  export { SpeechOSSettingsModal } from "./settings-modal.js";
17
+ export { SpeechOSAudioLevelMeter } from "./audio-level-meter.js";
18
+ export { SpeechOSAudioVisualizer } from "./audio-visualizer.js";
15
19
  /**
16
20
  * Register all custom elements
17
21
  * This is automatically called when importing this module,
18
22
  * but can be called explicitly if needed
19
23
  */
20
24
  export declare function registerComponents(): void;
25
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +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;AAC7B,OAAO,wBAAwB,CAAC;AAChC,OAAO,uBAAuB,CAAC;AAG/B,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;AAEhE;;;;GAIG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CAMzC"}
@@ -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;
@@ -24,6 +25,7 @@ export declare class SpeechOSMicButton extends LitElement {
24
25
  */
25
26
  private formatPreviewText;
26
27
  private getStatusLabel;
28
+ private shouldShowVisualizer;
27
29
  private getStatusClass;
28
30
  render(): TemplateResult;
29
31
  }
@@ -32,3 +34,4 @@ declare global {
32
34
  "speechos-mic-button": SpeechOSMicButton;
33
35
  }
34
36
  }
37
+ //# sourceMappingURL=mic-button.d.ts.map
@@ -0,0 +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;AACrE,OAAO,uBAAuB,CAAC;AAE/B,qBACa,iBAAkB,SAAQ,UAAU;IAC/C,MAAM,CAAC,MAAM,EAAE,cAAc,CA0zB3B;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;IAkBtB,OAAO,CAAC,oBAAoB;IAQ5B,OAAO,CAAC,cAAc;IAOtB,MAAM,IAAI,cAAc;CAgGzB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,iBAAiB,CAAC;KAC1C;CACF"}
@@ -14,3 +14,4 @@ declare global {
14
14
  "speechos-settings-button": SpeechOSSettingsButton;
15
15
  }
16
16
  }
17
+ //# sourceMappingURL=settings-button.d.ts.map
@@ -0,0 +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,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"}
@@ -1,34 +1,34 @@
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 {
32
31
  "speechos-settings-modal": SpeechOSSettingsModal;
33
32
  }
34
33
  }
34
+ //# sourceMappingURL=settings-modal.d.ts.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Shared styles for settings modal and tabs
3
+ */
4
+ /** Base modal layout styles */
5
+ export declare const modalLayoutStyles: import("lit").CSSResult;
6
+ /** Shared tab content styles */
7
+ export declare const tabContentStyles: import("lit").CSSResult;
8
+ /** Form styles for add/edit forms */
9
+ export declare const formStyles: import("lit").CSSResult;
10
+ //# sourceMappingURL=modal-styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"modal-styles.d.ts","sourceRoot":"","sources":["../../../src/ui/styles/modal-styles.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,+BAA+B;AAC/B,eAAO,MAAM,iBAAiB,yBAkO7B,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,gBAAgB,yBAmF5B,CAAC;AAEF,qCAAqC;AACrC,eAAO,MAAM,UAAU,yBA4KtB,CAAC"}
@@ -15,3 +15,4 @@ export declare const animations: CSSResult;
15
15
  * Utility styles for common patterns
16
16
  */
17
17
  export declare const utilityStyles: CSSResult;
18
+ //# sourceMappingURL=theme.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/ui/styles/theme.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAO,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AAE1C;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,SAwCzB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,SAuDxB,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,SAoB3B,CAAC"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * About tab component - Shows SpeechOS branding and links
3
+ */
4
+ import { LitElement, type CSSResultGroup } from "lit";
5
+ export declare class SpeechOSAboutTab extends LitElement {
6
+ static styles: CSSResultGroup;
7
+ render(): import("lit-html").TemplateResult<1>;
8
+ }
9
+ declare global {
10
+ interface HTMLElementTagNameMap {
11
+ "speechos-about-tab": SpeechOSAboutTab;
12
+ }
13
+ }
14
+ //# sourceMappingURL=about-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"about-tab.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/about-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAKjE,qBACa,gBAAiB,SAAQ,UAAU;IAC9C,MAAM,CAAC,MAAM,EAAE,cAAc,CAgF3B;IAEF,MAAM;CAqCP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,gBAAgB,CAAC;KACxC;CACF"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Help tab component - Shows usage instructions for dictate and edit modes
3
+ */
4
+ import { LitElement, type CSSResultGroup } from "lit";
5
+ export declare class SpeechOSHelpTab extends LitElement {
6
+ static styles: CSSResultGroup;
7
+ render(): import("lit-html").TemplateResult<1>;
8
+ }
9
+ declare global {
10
+ interface HTMLElementTagNameMap {
11
+ "speechos-help-tab": SpeechOSHelpTab;
12
+ }
13
+ }
14
+ //# sourceMappingURL=help-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"help-tab.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/help-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAKjE,qBACa,eAAgB,SAAQ,UAAU;IAC7C,MAAM,CAAC,MAAM,EAAE,cAAc,CAoE3B;IAEF,MAAM;CA4CP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAC;KACtC;CACF"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * History tab component - Shows transcript history with copy/delete actions
3
+ */
4
+ import { LitElement, type CSSResultGroup } from "lit";
5
+ export declare class SpeechOSHistoryTab extends LitElement {
6
+ static styles: CSSResultGroup;
7
+ private transcripts;
8
+ connectedCallback(): void;
9
+ /** Reload transcripts from store */
10
+ refresh(): void;
11
+ private loadTranscripts;
12
+ private formatTime;
13
+ private handleDelete;
14
+ private handleClearAll;
15
+ private handleCopy;
16
+ private getActionIcon;
17
+ private renderCommandDetails;
18
+ private getCopyText;
19
+ render(): import("lit-html").TemplateResult<1>;
20
+ }
21
+ declare global {
22
+ interface HTMLElementTagNameMap {
23
+ "speechos-history-tab": SpeechOSHistoryTab;
24
+ }
25
+ }
26
+ //# sourceMappingURL=history-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"history-tab.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/history-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAcjE,qBACa,kBAAmB,SAAQ,UAAU;IAChD,MAAM,CAAC,MAAM,EAAE,cAAc,CAwI3B;IAGF,OAAO,CAAC,WAAW,CAAyB;IAE5C,iBAAiB,IAAI,IAAI;IAKzB,oCAAoC;IACpC,OAAO,IAAI,IAAI;IAIf,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,UAAU;IAgBlB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,cAAc;YAKR,UAAU;IAwBxB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,WAAW;IAOnB,MAAM;CAqDP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,kBAAkB,CAAC;KAC5C;CACF"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Tab components for settings modal
3
+ */
4
+ export { SpeechOSHistoryTab } from "./history-tab.js";
5
+ export { SpeechOSHelpTab } from "./help-tab.js";
6
+ export { SpeechOSAboutTab } from "./about-tab.js";
7
+ export { SpeechOSSettingsTab } from "./settings-tab.js";
8
+ export { SpeechOSSnippetsTab } from "./snippets-tab.js";
9
+ export { SpeechOSVocabularyTab } from "./vocabulary-tab.js";
10
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Settings tab component - Language and microphone preferences
3
+ */
4
+ import { LitElement, type CSSResultGroup } from "lit";
5
+ import "../audio-level-meter.js";
6
+ export declare class SpeechOSSettingsTab extends LitElement {
7
+ static styles: CSSResultGroup;
8
+ private audioDevices;
9
+ private selectedDeviceId;
10
+ private selectedInputLanguageCode;
11
+ private selectedOutputLanguageCode;
12
+ private isTestingMic;
13
+ private showSavedIndicator;
14
+ private permissionGranted;
15
+ private smartFormatEnabled;
16
+ private savedIndicatorTimeout;
17
+ connectedCallback(): void;
18
+ disconnectedCallback(): void;
19
+ /** Called when tab becomes active */
20
+ activate(): void;
21
+ /** Called when tab becomes inactive */
22
+ deactivate(): void;
23
+ private loadSettings;
24
+ private loadAudioDevices;
25
+ private requestMicPermission;
26
+ private startMicPreview;
27
+ private showSaved;
28
+ private handleInputLanguageChange;
29
+ private handleOutputLanguageChange;
30
+ private handleDeviceChange;
31
+ private handleSmartFormatToggle;
32
+ private renderLanguageSelector;
33
+ private renderDeviceSelector;
34
+ private renderPermissionRequest;
35
+ render(): import("lit-html").TemplateResult<1>;
36
+ }
37
+ declare global {
38
+ interface HTMLElementTagNameMap {
39
+ "speechos-settings-tab": SpeechOSSettingsTab;
40
+ }
41
+ }
42
+ //# sourceMappingURL=settings-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"settings-tab.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/settings-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAkBjE,OAAO,yBAAyB,CAAC;AAEjC,qBACa,mBAAoB,SAAQ,UAAU;IACjD,MAAM,CAAC,MAAM,EAAE,cAAc,CAyK3B;IAGF,OAAO,CAAC,YAAY,CAAyB;IAG7C,OAAO,CAAC,gBAAgB,CAAc;IAGtC,OAAO,CAAC,yBAAyB,CAAmB;IAGpD,OAAO,CAAC,0BAA0B,CAAmB;IAGrD,OAAO,CAAC,YAAY,CAAkB;IAGtC,OAAO,CAAC,kBAAkB,CAAkB;IAG5C,OAAO,CAAC,iBAAiB,CAAkB;IAG3C,OAAO,CAAC,kBAAkB,CAAiB;IAE3C,OAAO,CAAC,qBAAqB,CAA8C;IAE3E,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;IAQ5B,qCAAqC;IACrC,QAAQ,IAAI,IAAI;IAIhB,uCAAuC;IACvC,UAAU,IAAI,IAAI;YAIJ,YAAY;YAQZ,gBAAgB;YAehB,oBAAoB;YAWpB,eAAe;IAS7B,OAAO,CAAC,SAAS;IAUjB,OAAO,CAAC,yBAAyB;IAOjC,OAAO,CAAC,0BAA0B;IAOlC,OAAO,CAAC,kBAAkB;IAc1B,OAAO,CAAC,uBAAuB;IAM/B,OAAO,CAAC,sBAAsB;IAsC9B,OAAO,CAAC,oBAAoB;IAiC5B,OAAO,CAAC,uBAAuB;IAyB/B,MAAM;CA2FP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Snippets tab component - Manage text snippets that expand from trigger phrases
3
+ */
4
+ import { LitElement, type CSSResultGroup } from "lit";
5
+ export declare class SpeechOSSnippetsTab extends LitElement {
6
+ static styles: CSSResultGroup;
7
+ private snippets;
8
+ private showForm;
9
+ private editingId;
10
+ private trigger;
11
+ private expansion;
12
+ private error;
13
+ connectedCallback(): void;
14
+ /** Reload snippets from store */
15
+ refresh(): void;
16
+ /** Reset form state */
17
+ resetForm(): void;
18
+ private loadSnippets;
19
+ private handleAddClick;
20
+ private handleEditClick;
21
+ private handleCancel;
22
+ private handleTriggerInput;
23
+ private handleExpansionInput;
24
+ private handleSave;
25
+ private handleDelete;
26
+ private renderForm;
27
+ render(): import("lit-html").TemplateResult<1>;
28
+ }
29
+ declare global {
30
+ interface HTMLElementTagNameMap {
31
+ "speechos-snippets-tab": SpeechOSSnippetsTab;
32
+ }
33
+ }
34
+ //# sourceMappingURL=snippets-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snippets-tab.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/snippets-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAOjE,qBACa,mBAAoB,SAAQ,UAAU;IACjD,MAAM,CAAC,MAAM,EAAE,cAAc,CAoG3B;IAGF,OAAO,CAAC,QAAQ,CAAiB;IAGjC,OAAO,CAAC,QAAQ,CAAkB;IAGlC,OAAO,CAAC,SAAS,CAAuB;IAGxC,OAAO,CAAC,OAAO,CAAc;IAG7B,OAAO,CAAC,SAAS,CAAc;IAG/B,OAAO,CAAC,KAAK,CAAc;IAE3B,iBAAiB,IAAI,IAAI;IAKzB,iCAAiC;IACjC,OAAO,IAAI,IAAI;IAIf,uBAAuB;IACvB,SAAS,IAAI,IAAI;IAQjB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,kBAAkB;IAM1B,OAAO,CAAC,oBAAoB;IAM5B,OAAO,CAAC,UAAU;IAalB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,UAAU;IA0ElB,MAAM;CAkFP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,uBAAuB,EAAE,mBAAmB,CAAC;KAC9C;CACF"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Vocabulary tab component - Manage custom vocabulary terms for transcription accuracy
3
+ */
4
+ import { LitElement, type CSSResultGroup } from "lit";
5
+ export declare class SpeechOSVocabularyTab extends LitElement {
6
+ static styles: CSSResultGroup;
7
+ private vocabulary;
8
+ private showForm;
9
+ private term;
10
+ private error;
11
+ connectedCallback(): void;
12
+ /** Reload vocabulary from store */
13
+ refresh(): void;
14
+ /** Reset form state */
15
+ resetForm(): void;
16
+ private loadVocabulary;
17
+ private handleAddClick;
18
+ private handleCancel;
19
+ private handleTermInput;
20
+ private handleSave;
21
+ private handleDelete;
22
+ private renderForm;
23
+ render(): import("lit-html").TemplateResult<1>;
24
+ }
25
+ declare global {
26
+ interface HTMLElementTagNameMap {
27
+ "speechos-vocabulary-tab": SpeechOSVocabularyTab;
28
+ }
29
+ }
30
+ //# sourceMappingURL=vocabulary-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vocabulary-tab.d.ts","sourceRoot":"","sources":["../../../src/ui/tabs/vocabulary-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,UAAU,EAAa,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAOjE,qBACa,qBAAsB,SAAQ,UAAU;IACnD,MAAM,CAAC,MAAM,EAAE,cAAc,CA+C3B;IAGF,OAAO,CAAC,UAAU,CAAwB;IAG1C,OAAO,CAAC,QAAQ,CAAkB;IAGlC,OAAO,CAAC,IAAI,CAAc;IAG1B,OAAO,CAAC,KAAK,CAAc;IAE3B,iBAAiB,IAAI,IAAI;IAKzB,mCAAmC;IACnC,OAAO,IAAI,IAAI;IAIf,uBAAuB;IACvB,SAAS,IAAI,IAAI;IAMjB,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,cAAc;IAKtB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,YAAY;IAKpB,OAAO,CAAC,UAAU;IA6ClB,MAAM;CAmEP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,yBAAyB,EAAE,qBAAqB,CAAC;KAClD;CACF"}
@@ -30,12 +30,32 @@ export declare class SpeechOSWidget extends LitElement {
30
30
  private boundDragEnd;
31
31
  private static readonly DRAG_THRESHOLD;
32
32
  private suppressNextClick;
33
+ private boundViewportResizeHandler;
34
+ private boundScrollHandler;
35
+ private static readonly KEYBOARD_HEIGHT_THRESHOLD;
33
36
  connectedCallback(): void;
34
37
  disconnectedCallback(): void;
35
38
  updated(changedProperties: Map<string, unknown>): void;
36
39
  private handleClickOutside;
37
40
  private isFormField;
41
+ /**
42
+ * Check if the device is likely a mobile/touch device
43
+ */
44
+ private isMobileDevice;
38
45
  private updatePosition;
46
+ /**
47
+ * Position the widget below a specific element
48
+ */
49
+ private positionBelowElement;
50
+ /**
51
+ * Handle visual viewport resize (mobile keyboard show/hide)
52
+ * Adjusts widget position to stay above the virtual keyboard
53
+ */
54
+ private handleViewportResize;
55
+ /**
56
+ * Handle scroll events to update anchored position
57
+ */
58
+ private handleScroll;
39
59
  private handleMicClick;
40
60
  private handleStopRecording;
41
61
  private handleCancelOperation;
@@ -52,6 +72,8 @@ export declare class SpeechOSWidget extends LitElement {
52
72
  private startDictation;
53
73
  private startEdit;
54
74
  private handleStopEdit;
75
+ private startCommand;
76
+ private handleStopCommand;
55
77
  private supportsSelection;
56
78
  private getElementContent;
57
79
  private applyEdit;
@@ -62,3 +84,4 @@ declare global {
62
84
  "speechos-widget": SpeechOSWidget;
63
85
  }
64
86
  }
87
+ //# sourceMappingURL=widget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget.d.ts","sourceRoot":"","sources":["../../src/ui/widget.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACL,UAAU,EAGV,KAAK,cAAc,EACnB,KAAK,cAAc,EACpB,MAAM,KAAK,CAAC;AAkBb,OAAO,iBAAiB,CAAC;AACzB,OAAO,qBAAqB,CAAC;AAC7B,OAAO,sBAAsB,CAAC;AAC9B,OAAO,qBAAqB,CAAC;AAS7B,qBACa,cAAe,SAAQ,UAAU;IAC5C,MAAM,CAAC,MAAM,EAAE,cAAc,CAwE3B;IAGF,OAAO,CAAC,WAAW,CAAmC;IAGtD,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,gBAAgB,CAAC,CAAgB;IACzC,OAAO,CAAC,qBAAqB,CAAC,CAAgB;IAC9C,OAAO,CAAC,sBAAsB,CAA4B;IAC1D,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,gBAAgB,CAAuB;IAC/C,OAAO,CAAC,gBAAgB,CAAc;IACtC,OAAO,CAAC,wBAAwB,CAA8C;IAC9E,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,cAAc,CAAyC;IAC/D,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,YAAY,CAAyC;IAC7D,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,aAAa,CAA0C;IAC/D,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAK;IAC3C,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,0BAA0B,CAA6B;IAC/D,OAAO,CAAC,kBAAkB,CAA6B;IACvD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAO;IAExD,iBAAiB,IAAI,IAAI;IAmDzB,oBAAoB,IAAI,IAAI;IAyC5B,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMtD,OAAO,CAAC,kBAAkB;IAiD1B,OAAO,CAAC,WAAW;IAgCnB;;OAEG;IACH,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,cAAc;IAwBtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAapB,OAAO,CAAC,cAAc;YAyBR,mBAAmB;YAkCnB,qBAAqB;YAgBrB,qBAAqB;IAYnC,OAAO,CAAC,iBAAiB;IAKzB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,eAAe;IAkCvB,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,aAAa;IAgBrB,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,mBAAmB;IAyC3B,OAAO,CAAC,kBAAkB;YAgBZ,kBAAkB;YAWlB,cAAc;YAkDd,SAAS;YAqET,cAAc;YAuBd,YAAY;YAoCZ,iBAAiB;IA2C/B,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,iBAAiB;IAyBzB,OAAO,CAAC,SAAS;IAyDjB,MAAM,IAAI,cAAc,GAAG,MAAM;CAsClC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,cAAc,CAAC;KACnC;CACF"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Tests for SpeechOS Widget positioning
3
+ * Ensures mobile anchoring vs desktop center-bottom behavior is preserved
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=widget.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"widget.test.d.ts","sourceRoot":"","sources":["../../src/ui/widget.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@speechos/client",
3
- "version": "0.2.0",
3
+ "version": "0.2.3",
4
4
  "description": "Vanilla JS client SDK for embedding SpeechOS into web applications",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -16,24 +16,23 @@
16
16
  "files": [
17
17
  "dist"
18
18
  ],
19
- "sideEffects": false,
19
+ "sideEffects": true,
20
20
  "publishConfig": {
21
21
  "access": "public"
22
22
  },
23
23
  "repository": {
24
24
  "type": "git",
25
- "url": "https://github.com/speechos-org/speechos.git",
26
- "directory": "speechos-client/packages/client"
25
+ "url": "git+ssh://git@github.com/speechos-org/speechos-client.git",
26
+ "directory": "packages/client"
27
27
  },
28
28
  "homepage": "https://speechos.ai",
29
29
  "bugs": {
30
- "url": "https://github.com/speechos-org/speechos/issues"
30
+ "url": "https://github.com/speechos-org/speechos-client/issues"
31
31
  },
32
32
  "scripts": {
33
- "build": "npm run build:ts && npm run build:iife",
34
- "build:ts": "tsdown",
35
- "build:iife": "rollup -c rollup.config.js",
36
- "dev": "tsdown --watch",
33
+ "prepare": "npm run build",
34
+ "build": "rollup -c rollup.config.js",
35
+ "dev": "rollup -c rollup.config.js --watch",
37
36
  "dev:iife": "rollup -c rollup.config.js --watch",
38
37
  "type-check": "tsc --noEmit",
39
38
  "test": "vitest run",