@corti/dictation-web 0.4.0 → 0.5.0-rc
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/README.md +53 -3
- package/dist/bundle.js +789 -146
- package/dist/components/corti-dictation.d.ts +15 -1
- package/dist/components/corti-dictation.js +35 -0
- package/dist/components/corti-dictation.js.map +1 -1
- package/dist/components/device-selector.d.ts +1 -1
- package/dist/components/keybinding-selector.d.ts +14 -0
- package/dist/components/keybinding-selector.js +82 -0
- package/dist/components/keybinding-selector.js.map +1 -0
- package/dist/components/language-selector.d.ts +1 -1
- package/dist/components/mode-selector.d.ts +14 -0
- package/dist/components/mode-selector.js +73 -0
- package/dist/components/mode-selector.js.map +1 -0
- package/dist/components/recording-button.d.ts +5 -2
- package/dist/components/recording-button.js +83 -17
- package/dist/components/recording-button.js.map +1 -1
- package/dist/components/settings-menu.d.ts +2 -0
- package/dist/components/settings-menu.js +20 -0
- package/dist/components/settings-menu.js.map +1 -1
- package/dist/contexts/dictation-context.d.ts +9 -1
- package/dist/contexts/dictation-context.js +35 -2
- package/dist/contexts/dictation-context.js.map +1 -1
- package/dist/controllers/dictation-controller.d.ts +2 -1
- package/dist/controllers/dictation-controller.js +53 -19
- package/dist/controllers/dictation-controller.js.map +1 -1
- package/dist/controllers/keybinding-controller.d.ts +18 -0
- package/dist/controllers/keybinding-controller.js +86 -0
- package/dist/controllers/keybinding-controller.js.map +1 -0
- package/dist/index.d.ts +4 -2
- package/dist/index.js +10 -0
- package/dist/index.js.map +1 -1
- package/dist/package.json +87 -7
- package/dist/styles/component-styles.d.ts +1 -0
- package/dist/styles/component-styles.js +10 -0
- package/dist/styles/component-styles.js.map +1 -1
- package/dist/styles/keybinding-selector.d.ts +2 -0
- package/dist/styles/keybinding-selector.js +72 -0
- package/dist/styles/keybinding-selector.js.map +1 -0
- package/dist/styles/mode-selector.d.ts +2 -0
- package/dist/styles/mode-selector.js +56 -0
- package/dist/styles/mode-selector.js.map +1 -0
- package/dist/styles/select.d.ts +1 -1
- package/dist/styles/select.js +6 -10
- package/dist/styles/select.js.map +1 -1
- package/dist/styles/settings-menu.js +9 -1
- package/dist/styles/settings-menu.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types.d.ts +3 -1
- package/dist/types.js.map +1 -1
- package/dist/utils/events.d.ts +14 -1
- package/dist/utils/events.js +22 -0
- package/dist/utils/events.js.map +1 -1
- package/dist/utils/keybinding.d.ts +36 -0
- package/dist/utils/keybinding.js +125 -0
- package/dist/utils/keybinding.js.map +1 -0
- package/package.json +1 -1
- package/dist/CortiDictation.d.ts +0 -55
- package/dist/CortiDictation.js +0 -303
- package/dist/CortiDictation.js.map +0 -1
- package/dist/DictationService.d.ts +0 -16
- package/dist/DictationService.js +0 -88
- package/dist/DictationService.js.map +0 -1
- package/dist/RecorderManager.d.ts +0 -25
- package/dist/RecorderManager.js +0 -145
- package/dist/RecorderManager.js.map +0 -1
- package/dist/audioService.d.ts +0 -6
- package/dist/audioService.js +0 -21
- package/dist/audioService.js.map +0 -1
- package/dist/controllers/DictationController.d.ts +0 -35
- package/dist/controllers/DictationController.js +0 -130
- package/dist/controllers/DictationController.js.map +0 -1
- package/dist/controllers/MediaController.d.ts +0 -31
- package/dist/controllers/MediaController.js +0 -99
- package/dist/controllers/MediaController.js.map +0 -1
- package/dist/src/components/audio-visualiser.d.ts +0 -14
- package/dist/src/components/audio-visualiser.js +0 -57
- package/dist/src/components/audio-visualiser.js.map +0 -1
- package/dist/src/components/corti-dictation.d.ts +0 -123
- package/dist/src/components/corti-dictation.js +0 -224
- package/dist/src/components/corti-dictation.js.map +0 -1
- package/dist/src/components/device-selector.d.ts +0 -24
- package/dist/src/components/device-selector.js +0 -106
- package/dist/src/components/device-selector.js.map +0 -1
- package/dist/src/components/language-selector.d.ts +0 -24
- package/dist/src/components/language-selector.js +0 -100
- package/dist/src/components/language-selector.js.map +0 -1
- package/dist/src/components/recording-button.d.ts +0 -37
- package/dist/src/components/recording-button.js +0 -203
- package/dist/src/components/recording-button.js.map +0 -1
- package/dist/src/components/settings-menu.d.ts +0 -16
- package/dist/src/components/settings-menu.js +0 -80
- package/dist/src/components/settings-menu.js.map +0 -1
- package/dist/src/constants.d.ts +0 -4
- package/dist/src/constants.js +0 -37
- package/dist/src/constants.js.map +0 -1
- package/dist/src/contexts/dictation-context.d.ts +0 -97
- package/dist/src/contexts/dictation-context.js +0 -208
- package/dist/src/contexts/dictation-context.js.map +0 -1
- package/dist/src/controllers/DictationController.d.ts +0 -35
- package/dist/src/controllers/DictationController.js +0 -130
- package/dist/src/controllers/DictationController.js.map +0 -1
- package/dist/src/controllers/MediaController.d.ts +0 -31
- package/dist/src/controllers/MediaController.js +0 -99
- package/dist/src/controllers/MediaController.js.map +0 -1
- package/dist/src/icons/icons.d.ts +0 -17
- package/dist/src/icons/icons.js +0 -158
- package/dist/src/icons/icons.js.map +0 -1
- package/dist/src/styles/ComponentStyles.d.ts +0 -2
- package/dist/src/styles/ComponentStyles.js +0 -18
- package/dist/src/styles/ComponentStyles.js.map +0 -1
- package/dist/src/styles/audio-visualiser.d.ts +0 -2
- package/dist/src/styles/audio-visualiser.js +0 -33
- package/dist/src/styles/audio-visualiser.js.map +0 -1
- package/dist/src/styles/buttons.d.ts +0 -2
- package/dist/src/styles/buttons.js +0 -52
- package/dist/src/styles/buttons.js.map +0 -1
- package/dist/src/styles/callout.d.ts +0 -2
- package/dist/src/styles/callout.js +0 -23
- package/dist/src/styles/callout.js.map +0 -1
- package/dist/src/styles/default-theme.d.ts +0 -2
- package/dist/src/styles/default-theme.js +0 -50
- package/dist/src/styles/default-theme.js.map +0 -1
- package/dist/src/styles/recording-button.d.ts +0 -2
- package/dist/src/styles/recording-button.js +0 -8
- package/dist/src/styles/recording-button.js.map +0 -1
- package/dist/src/styles/select.d.ts +0 -2
- package/dist/src/styles/select.js +0 -36
- package/dist/src/styles/select.js.map +0 -1
- package/dist/src/styles/settings-menu.d.ts +0 -2
- package/dist/src/styles/settings-menu.js +0 -34
- package/dist/src/styles/settings-menu.js.map +0 -1
- package/dist/src/types.d.ts +0 -7
- package/dist/src/types.js +0 -2
- package/dist/src/types.js.map +0 -1
- package/dist/src/utils/auth.d.ts +0 -9
- package/dist/src/utils/auth.js +0 -21
- package/dist/src/utils/auth.js.map +0 -1
- package/dist/src/utils/converters.d.ts +0 -4
- package/dist/src/utils/converters.js +0 -8
- package/dist/src/utils/converters.js.map +0 -1
- package/dist/src/utils/devices.d.ts +0 -26
- package/dist/src/utils/devices.js +0 -53
- package/dist/src/utils/devices.js.map +0 -1
- package/dist/src/utils/events.d.ts +0 -44
- package/dist/src/utils/events.js +0 -88
- package/dist/src/utils/events.js.map +0 -1
- package/dist/src/utils/languages.d.ts +0 -7
- package/dist/src/utils/languages.js +0 -29
- package/dist/src/utils/languages.js.map +0 -1
- package/dist/src/utils/media.d.ts +0 -6
- package/dist/src/utils/media.js +0 -39
- package/dist/src/utils/media.js.map +0 -1
- package/dist/src/utils/token.d.ts +0 -13
- package/dist/src/utils/token.js +0 -60
- package/dist/src/utils/token.js.map +0 -1
- package/dist/src/utils/validation.d.ts +0 -1
- package/dist/src/utils/validation.js +0 -7
- package/dist/src/utils/validation.js.map +0 -1
- package/dist/stories/audio-visualiser.stories.d.ts +0 -39
- package/dist/stories/audio-visualiser.stories.js +0 -71
- package/dist/stories/audio-visualiser.stories.js.map +0 -1
- package/dist/stories/corti-dictation.stories.d.ts +0 -27
- package/dist/stories/corti-dictation.stories.js +0 -129
- package/dist/stories/corti-dictation.stories.js.map +0 -1
- package/dist/stories/device-selector.stories.d.ts +0 -18
- package/dist/stories/device-selector.stories.js +0 -84
- package/dist/stories/device-selector.stories.js.map +0 -1
- package/dist/stories/language-selector.stories.d.ts +0 -18
- package/dist/stories/language-selector.stories.js +0 -53
- package/dist/stories/language-selector.stories.js.map +0 -1
- package/dist/stories/recording-button.stories.d.ts +0 -27
- package/dist/stories/recording-button.stories.js +0 -90
- package/dist/stories/recording-button.stories.js.map +0 -1
- package/dist/stories/settings-menu.stories.d.ts +0 -23
- package/dist/stories/settings-menu.stories.js +0 -156
- package/dist/stories/settings-menu.stories.js.map +0 -1
- package/dist/styles/ComponentStyles.d.ts +0 -2
- package/dist/styles/ComponentStyles.js +0 -18
- package/dist/styles/ComponentStyles.js.map +0 -1
- package/dist/styles/default-theme.d.ts +0 -2
- package/dist/styles/default-theme.js +0 -14
- package/dist/styles/default-theme.js.map +0 -1
- package/dist/styles/theme.d.ts +0 -2
- package/dist/styles/theme.js +0 -56
- package/dist/styles/theme.js.map +0 -1
- package/dist/tsconfig.stories.tsbuildinfo +0 -1
- package/dist/utils.d.ts +0 -59
- package/dist/utils.js +0 -179
- package/dist/utils.js.map +0 -1
package/README.md
CHANGED
|
@@ -21,9 +21,11 @@ This library offers two approaches:
|
|
|
21
21
|
|
|
22
22
|
**`<corti-dictation>`** - A complete, ready-to-use component that includes:
|
|
23
23
|
- Recording button with visual feedback
|
|
24
|
-
- Settings menu for device and
|
|
24
|
+
- Settings menu for device, language, mode, and keybinding selection
|
|
25
25
|
- Automatic state management
|
|
26
26
|
- Built-in styling and theming
|
|
27
|
+
- Support for toggle-to-talk and push-to-talk modes
|
|
28
|
+
- Keyboard shortcut (keybinding) support
|
|
27
29
|
|
|
28
30
|
This is the easiest way to get started and works out of the box.
|
|
29
31
|
|
|
@@ -33,9 +35,11 @@ For more control and flexibility, you can use individual components:
|
|
|
33
35
|
|
|
34
36
|
- **`<dictation-root>`** - Context provider that manages authentication, configuration, and shared state
|
|
35
37
|
- **`<dictation-recording-button>`** - Standalone recording button with audio visualization
|
|
36
|
-
- **`<dictation-settings-menu>`** - Settings menu with device and
|
|
38
|
+
- **`<dictation-settings-menu>`** - Settings menu with device, language, mode, and keybinding selectors
|
|
37
39
|
- **`<dictation-device-selector>`** - Device selection dropdown
|
|
38
40
|
- **`<dictation-language-selector>`** - Language selection dropdown
|
|
41
|
+
- **`<dictation-mode-selector>`** - Mode selection component (toggle-to-talk or push-to-talk)
|
|
42
|
+
- **`<dictation-keybinding-selector>`** - Keybinding configuration component for keyboard shortcuts
|
|
39
43
|
|
|
40
44
|
These components share state through a context system, allowing you to build custom UIs while leveraging the same underlying functionality.
|
|
41
45
|
|
|
@@ -128,7 +132,7 @@ For more control, use individual components to build a custom UI:
|
|
|
128
132
|
<body>
|
|
129
133
|
<dictation-root id="dictationRoot">
|
|
130
134
|
<dictation-recording-button></dictation-recording-button>
|
|
131
|
-
<dictation-settings-menu settingsEnabled="device,language"></dictation-settings-menu>
|
|
135
|
+
<dictation-settings-menu settingsEnabled="device,language,mode,keybinding"></dictation-settings-menu>
|
|
132
136
|
</dictation-root>
|
|
133
137
|
|
|
134
138
|
<textarea
|
|
@@ -156,6 +160,52 @@ For more control, use individual components to build a custom UI:
|
|
|
156
160
|
</html>
|
|
157
161
|
```
|
|
158
162
|
|
|
163
|
+
### Dictation Modes
|
|
164
|
+
|
|
165
|
+
The component supports two dictation modes:
|
|
166
|
+
|
|
167
|
+
**Toggle-to-Talk (default):**
|
|
168
|
+
- Click or tap the recording button to start recording
|
|
169
|
+
- Click or tap again to stop recording
|
|
170
|
+
- Press the keybinding to toggle recording state
|
|
171
|
+
|
|
172
|
+
```html
|
|
173
|
+
<corti-dictation mode="toggle-to-talk"></corti-dictation>
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
**Push-to-Talk:**
|
|
177
|
+
- Press and hold the recording button to record
|
|
178
|
+
- Release to stop recording
|
|
179
|
+
- Press and hold the keybinding to record (keydown starts, keyup stops)
|
|
180
|
+
|
|
181
|
+
```html
|
|
182
|
+
<corti-dictation mode="push-to-talk"></corti-dictation>
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### Keyboard Shortcuts (Keybindings)
|
|
186
|
+
|
|
187
|
+
Configure keyboard shortcuts to start/stop recording. You can use either key names (from `event.key`) or key codes (from `event.code`):
|
|
188
|
+
|
|
189
|
+
```html
|
|
190
|
+
<!-- Use backtick key (default) - key name -->
|
|
191
|
+
<corti-dictation keybinding="`"></corti-dictation>
|
|
192
|
+
|
|
193
|
+
<!-- Use 'k' key - key name -->
|
|
194
|
+
<corti-dictation keybinding="k"></corti-dictation>
|
|
195
|
+
|
|
196
|
+
<!-- Use Meta key (Cmd on Mac, Meta elsewhere) - key name -->
|
|
197
|
+
<corti-dictation keybinding="meta"></corti-dictation>
|
|
198
|
+
|
|
199
|
+
<!-- Use key codes instead of key names -->
|
|
200
|
+
<corti-dictation keybinding="Backquote"></corti-dictation> <!-- backtick -->
|
|
201
|
+
<corti-dictation keybinding="KeyK"></corti-dictation> <!-- 'k' key -->
|
|
202
|
+
<corti-dictation keybinding="MetaLeft"></corti-dictation> <!-- Meta key -->
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
Keybindings are platform-aware:
|
|
206
|
+
- Keybindings are automatically ignored when typing in input fields, textareas, or contenteditable elements
|
|
207
|
+
- Both key names (e.g., `"k"`, `"Meta"`) and key codes (e.g., `"KeyK"`, `"MetaLeft"`) are supported
|
|
208
|
+
|
|
159
209
|
## Documentation
|
|
160
210
|
|
|
161
211
|
For more detailed information, see:
|