@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,68 @@
1
+ /**
2
+ * Client configuration for SpeechOS
3
+ * Extends core config with UI/widget-specific options
4
+ */
5
+ import type { SpeechOSCoreConfig, CommandDefinition } from "@speechos/core";
6
+ import type { FormDetectorInterface } from "./form-detector.js";
7
+ import type { TextInputHandlerInterface } from "./text-input-handler.js";
8
+ /**
9
+ * Configuration options for SpeechOS Client
10
+ * Extends core config with widget-specific options
11
+ */
12
+ export interface SpeechOSClientConfig extends SpeechOSCoreConfig {
13
+ /** Command definitions for voice command matching. If provided, shows Command button in widget. */
14
+ commands?: CommandDefinition[];
15
+ /** Custom z-index for widget overlay (default: 999999) */
16
+ zIndex?: number;
17
+ /**
18
+ * Form detection behavior:
19
+ * - true (default): Enable automatic form field detection
20
+ * - false: Disable automatic detection (manual control only)
21
+ * - FormDetectorInterface: Custom implementation
22
+ */
23
+ formDetection?: boolean | FormDetectorInterface;
24
+ /**
25
+ * Custom text input handler for cursor/selection detection and text operations.
26
+ * Default: handles input, textarea, and contenteditable elements.
27
+ */
28
+ textInputHandler?: TextInputHandlerInterface;
29
+ }
30
+ /**
31
+ * Resolved client config with defaults applied
32
+ */
33
+ export interface ResolvedClientConfig {
34
+ commands: CommandDefinition[];
35
+ zIndex: number;
36
+ }
37
+ /**
38
+ * Validate and resolve client-specific config
39
+ * @param config - User-provided configuration
40
+ * @returns Resolved client configuration
41
+ */
42
+ export declare function validateClientConfig(config: SpeechOSClientConfig): ResolvedClientConfig;
43
+ /**
44
+ * Set the client configuration
45
+ * @param config - Client configuration to set
46
+ */
47
+ export declare function setClientConfig(config: SpeechOSClientConfig): void;
48
+ /**
49
+ * Get the current client configuration
50
+ */
51
+ export declare function getClientConfig(): ResolvedClientConfig;
52
+ /**
53
+ * Reset client configuration to defaults
54
+ */
55
+ export declare function resetClientConfig(): void;
56
+ /**
57
+ * Check if commands are configured (for showing Command button in widget)
58
+ */
59
+ export declare function hasCommands(): boolean;
60
+ /**
61
+ * Get configured commands
62
+ */
63
+ export declare function getCommands(): CommandDefinition[];
64
+ /**
65
+ * Get widget z-index
66
+ */
67
+ export declare function getZIndex(): number;
68
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,oBAAqB,SAAQ,kBAAkB;IAC9D,mGAAmG;IACnG,QAAQ,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/B,0DAA0D;IAC1D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,OAAO,GAAG,qBAAqB,CAAC;IAChD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,yBAAyB,CAAC;CAC9C;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;CAChB;AAeD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,oBAAoB,GAAG,oBAAoB,CAevF;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAElE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,oBAAoB,CAEtD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAErC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,iBAAiB,EAAE,CAEjD;AAED;;GAEG;AACH,wBAAgB,SAAS,IAAI,MAAM,CAElC"}
@@ -2,13 +2,28 @@
2
2
  * Form field focus detection for SpeechOS Client SDK
3
3
  * Detects when users focus on form fields and manages widget visibility
4
4
  */
5
+ /**
6
+ * Interface for form detector implementations
7
+ * Allows swapping out the default form detection behavior
8
+ */
9
+ export interface FormDetectorInterface {
10
+ /** Start detecting form field focus events */
11
+ start(): void;
12
+ /** Stop detecting form field focus events */
13
+ stop(): void;
14
+ /** Whether the detector is currently active */
15
+ readonly active: boolean;
16
+ }
5
17
  /**
6
18
  * Form detector class that manages focus tracking
7
19
  */
8
- export declare class FormDetector {
20
+ export declare class FormDetector implements FormDetectorInterface {
9
21
  private isActive;
10
22
  private focusHandler;
11
23
  private blurHandler;
24
+ private touchHandler;
25
+ private mouseDownHandler;
26
+ private isWidgetBeingInteracted;
12
27
  /**
13
28
  * Start detecting form field focus events
14
29
  */
@@ -23,3 +38,4 @@ export declare class FormDetector {
23
38
  get active(): boolean;
24
39
  }
25
40
  export declare const formDetector: FormDetector;
41
+ //# sourceMappingURL=form-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-detector.d.ts","sourceRoot":"","sources":["../src/form-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA8CH;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACpC,8CAA8C;IAC9C,KAAK,IAAI,IAAI,CAAC;IACd,6CAA6C;IAC7C,IAAI,IAAI,IAAI,CAAC;IACb,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,YAAa,YAAW,qBAAqB;IACxD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,WAAW,CAA8C;IACjE,OAAO,CAAC,YAAY,CAA8C;IAClE,OAAO,CAAC,gBAAgB,CAA8C;IACtE,OAAO,CAAC,uBAAuB,CAAS;IAExC;;OAEG;IACH,KAAK,IAAI,IAAI;IA4Ib;;OAEG;IACH,IAAI,IAAI,IAAI;IAkCZ;;OAEG;IACH,IAAI,MAAM,IAAI,OAAO,CAEpB;CACF;AAGD,eAAO,MAAM,YAAY,EAAE,YAAiC,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Tests for form field focus detection
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=form-detector.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"form-detector.test.d.ts","sourceRoot":"","sources":["../src/form-detector.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}