@speechos/client 0.2.1 → 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.
- package/dist/config.d.ts +68 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/form-detector.d.cts +25 -0
- package/dist/form-detector.d.ts +16 -1
- package/dist/form-detector.d.ts.map +1 -1
- package/dist/index.cjs +5584 -1525
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +13 -0
- package/dist/index.d.ts +19 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.iife.js +6761 -1713
- package/dist/index.iife.js.map +1 -1
- package/dist/index.iife.min.js +2126 -392
- package/dist/index.iife.min.js.map +1 -1
- package/dist/index.js +5528 -1520
- package/dist/index.js.map +1 -1
- package/dist/speechos.d.cts +74 -0
- package/dist/speechos.d.ts +47 -5
- package/dist/speechos.d.ts.map +1 -1
- package/dist/speechos.test.d.ts +5 -0
- package/dist/speechos.test.d.ts.map +1 -0
- package/dist/stores/audio-settings.d.ts +45 -0
- package/dist/stores/audio-settings.d.ts.map +1 -0
- package/dist/stores/index.d.ts +15 -0
- package/dist/stores/index.d.ts.map +1 -0
- package/dist/stores/language-settings.d.ts +106 -0
- package/dist/stores/language-settings.d.ts.map +1 -0
- package/dist/stores/snippets-store.d.ts +72 -0
- package/dist/stores/snippets-store.d.ts.map +1 -0
- package/dist/stores/snippets-store.test.d.ts +5 -0
- package/dist/stores/snippets-store.test.d.ts.map +1 -0
- package/dist/stores/transcript-store.d.ts +54 -0
- package/dist/stores/transcript-store.d.ts.map +1 -0
- package/dist/stores/transcript-store.test.d.ts +5 -0
- package/dist/stores/transcript-store.test.d.ts.map +1 -0
- package/dist/stores/vocabulary-store.d.ts +63 -0
- package/dist/stores/vocabulary-store.d.ts.map +1 -0
- package/dist/stores/vocabulary-store.test.d.ts +5 -0
- package/dist/stores/vocabulary-store.test.d.ts.map +1 -0
- package/dist/text-input-handler.d.ts +73 -0
- package/dist/text-input-handler.d.ts.map +1 -0
- package/dist/text-input-handler.test.d.ts +5 -0
- package/dist/text-input-handler.test.d.ts.map +1 -0
- package/dist/ui/action-bubbles.d.cts +17 -0
- package/dist/ui/action-bubbles.d.ts +5 -1
- package/dist/ui/action-bubbles.d.ts.map +1 -1
- package/dist/ui/audio-level-meter.d.ts +31 -0
- package/dist/ui/audio-level-meter.d.ts.map +1 -0
- package/dist/ui/audio-visualizer.d.ts +29 -0
- package/dist/ui/audio-visualizer.d.ts.map +1 -0
- package/dist/ui/icons.d.cts +88 -0
- package/dist/ui/icons.d.ts +30 -0
- package/dist/ui/icons.d.ts.map +1 -1
- package/dist/ui/index.d.cts +20 -0
- package/dist/ui/index.d.ts +4 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/mic-button.d.cts +34 -0
- package/dist/ui/mic-button.d.ts +2 -0
- package/dist/ui/mic-button.d.ts.map +1 -1
- package/dist/ui/settings-button.d.cts +16 -0
- package/dist/ui/settings-button.d.ts.map +1 -1
- package/dist/ui/settings-modal.d.cts +34 -0
- package/dist/ui/settings-modal.d.ts +13 -14
- package/dist/ui/settings-modal.d.ts.map +1 -1
- package/dist/ui/styles/modal-styles.d.ts +10 -0
- package/dist/ui/styles/modal-styles.d.ts.map +1 -0
- package/dist/ui/styles/theme.d.cts +17 -0
- package/dist/ui/tabs/about-tab.d.ts +14 -0
- package/dist/ui/tabs/about-tab.d.ts.map +1 -0
- package/dist/ui/tabs/help-tab.d.ts +14 -0
- package/dist/ui/tabs/help-tab.d.ts.map +1 -0
- package/dist/ui/tabs/history-tab.d.ts +26 -0
- package/dist/ui/tabs/history-tab.d.ts.map +1 -0
- package/dist/ui/tabs/index.d.ts +10 -0
- package/dist/ui/tabs/index.d.ts.map +1 -0
- package/dist/ui/tabs/settings-tab.d.ts +42 -0
- package/dist/ui/tabs/settings-tab.d.ts.map +1 -0
- package/dist/ui/tabs/snippets-tab.d.ts +34 -0
- package/dist/ui/tabs/snippets-tab.d.ts.map +1 -0
- package/dist/ui/tabs/vocabulary-tab.d.ts +30 -0
- package/dist/ui/tabs/vocabulary-tab.d.ts.map +1 -0
- package/dist/ui/widget.d.cts +64 -0
- package/dist/ui/widget.d.ts +22 -0
- package/dist/ui/widget.d.ts.map +1 -1
- package/dist/ui/widget.test.d.ts +6 -0
- package/dist/ui/widget.test.d.ts.map +1 -0
- 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 @@
|
|
|
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
|
-
|
|
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;
|
|
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,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;
|
package/dist/ui/icons.d.ts
CHANGED
|
@@ -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
|
package/dist/ui/icons.d.ts.map
CHANGED
|
@@ -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;
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -7,11 +7,15 @@ 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,
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
|
@@ -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
|
+
}
|
package/dist/ui/mic-button.d.ts
CHANGED
|
@@ -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
|
}
|
|
@@ -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;
|
|
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"}
|
|
@@ -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,
|
|
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
|
-
*
|
|
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
|
|
11
|
-
private
|
|
12
|
-
connectedCallback(): void;
|
|
16
|
+
private mainTabs;
|
|
17
|
+
private bottomTabs;
|
|
13
18
|
updated(changedProperties: Map<string, unknown>): void;
|
|
14
|
-
private
|
|
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,
|
|
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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared styles and CSS variables for SpeechOS UI components
|
|
3
|
+
*/
|
|
4
|
+
import { type CSSResult } from 'lit';
|
|
5
|
+
/**
|
|
6
|
+
* CSS variables and theme tokens
|
|
7
|
+
* These can be customized by the host application
|
|
8
|
+
*/
|
|
9
|
+
export declare const themeStyles: CSSResult;
|
|
10
|
+
/**
|
|
11
|
+
* Common animation keyframes
|
|
12
|
+
*/
|
|
13
|
+
export declare const animations: CSSResult;
|
|
14
|
+
/**
|
|
15
|
+
* Utility styles for common patterns
|
|
16
|
+
*/
|
|
17
|
+
export declare const utilityStyles: CSSResult;
|
|
@@ -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"}
|