@corti/dictation-web 0.4.0-rc.2 → 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 +795 -152
- 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 +2 -2
- 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
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
+
};
|
|
12
|
+
var _KeybindingController_instances, _KeybindingController_keydownHandler, _KeybindingController_keyupHandler, _KeybindingController_blurHandler, _KeybindingController_setupListeners, _KeybindingController_removeListeners;
|
|
13
|
+
import { keybindingActivatedEvent } from "../utils/events.js";
|
|
14
|
+
import { matchesKeybinding, shouldIgnoreKeybinding, } from "../utils/keybinding.js";
|
|
15
|
+
export class KeybindingController {
|
|
16
|
+
constructor(host) {
|
|
17
|
+
_KeybindingController_instances.add(this);
|
|
18
|
+
_KeybindingController_keydownHandler.set(this, void 0);
|
|
19
|
+
_KeybindingController_keyupHandler.set(this, void 0);
|
|
20
|
+
_KeybindingController_blurHandler.set(this, void 0);
|
|
21
|
+
this.host = host;
|
|
22
|
+
host.addController(this);
|
|
23
|
+
}
|
|
24
|
+
hostConnected() {
|
|
25
|
+
__classPrivateFieldGet(this, _KeybindingController_instances, "m", _KeybindingController_setupListeners).call(this);
|
|
26
|
+
}
|
|
27
|
+
hostDisconnected() {
|
|
28
|
+
__classPrivateFieldGet(this, _KeybindingController_instances, "m", _KeybindingController_removeListeners).call(this);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
_KeybindingController_keydownHandler = new WeakMap(), _KeybindingController_keyupHandler = new WeakMap(), _KeybindingController_blurHandler = new WeakMap(), _KeybindingController_instances = new WeakSet(), _KeybindingController_setupListeners = function _KeybindingController_setupListeners() {
|
|
32
|
+
__classPrivateFieldGet(this, _KeybindingController_instances, "m", _KeybindingController_removeListeners).call(this);
|
|
33
|
+
__classPrivateFieldSet(this, _KeybindingController_keydownHandler, (event) => {
|
|
34
|
+
if (!this.host._keybinding) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (shouldIgnoreKeybinding(document.activeElement)) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
if (matchesKeybinding(event, this.host._keybinding)) {
|
|
41
|
+
if (!this.host.dispatchEvent(keybindingActivatedEvent(event))) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (this.host._mode === "push-to-talk") {
|
|
45
|
+
this.host.startRecording();
|
|
46
|
+
}
|
|
47
|
+
if (this.host._mode === "toggle-to-talk") {
|
|
48
|
+
this.host.toggleRecording();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}, "f");
|
|
52
|
+
__classPrivateFieldSet(this, _KeybindingController_keyupHandler, (event) => {
|
|
53
|
+
if (!this.host._keybinding) {
|
|
54
|
+
return;
|
|
55
|
+
}
|
|
56
|
+
if (this.host._mode === "push-to-talk" &&
|
|
57
|
+
matchesKeybinding(event, this.host._keybinding)) {
|
|
58
|
+
if (!this.host.dispatchEvent(keybindingActivatedEvent(event))) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.host.stopRecording();
|
|
62
|
+
}
|
|
63
|
+
}, "f");
|
|
64
|
+
__classPrivateFieldSet(this, _KeybindingController_blurHandler, () => {
|
|
65
|
+
if (this.host._mode === "push-to-talk") {
|
|
66
|
+
this.host.stopRecording();
|
|
67
|
+
}
|
|
68
|
+
}, "f");
|
|
69
|
+
window.addEventListener("keydown", __classPrivateFieldGet(this, _KeybindingController_keydownHandler, "f"));
|
|
70
|
+
window.addEventListener("keyup", __classPrivateFieldGet(this, _KeybindingController_keyupHandler, "f"));
|
|
71
|
+
window.addEventListener("blur", __classPrivateFieldGet(this, _KeybindingController_blurHandler, "f"));
|
|
72
|
+
}, _KeybindingController_removeListeners = function _KeybindingController_removeListeners() {
|
|
73
|
+
if (__classPrivateFieldGet(this, _KeybindingController_keydownHandler, "f")) {
|
|
74
|
+
window.removeEventListener("keydown", __classPrivateFieldGet(this, _KeybindingController_keydownHandler, "f"));
|
|
75
|
+
__classPrivateFieldSet(this, _KeybindingController_keydownHandler, undefined, "f");
|
|
76
|
+
}
|
|
77
|
+
if (__classPrivateFieldGet(this, _KeybindingController_keyupHandler, "f")) {
|
|
78
|
+
window.removeEventListener("keyup", __classPrivateFieldGet(this, _KeybindingController_keyupHandler, "f"));
|
|
79
|
+
__classPrivateFieldSet(this, _KeybindingController_keyupHandler, undefined, "f");
|
|
80
|
+
}
|
|
81
|
+
if (__classPrivateFieldGet(this, _KeybindingController_blurHandler, "f")) {
|
|
82
|
+
window.removeEventListener("blur", __classPrivateFieldGet(this, _KeybindingController_blurHandler, "f"));
|
|
83
|
+
__classPrivateFieldSet(this, _KeybindingController_blurHandler, undefined, "f");
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
//# sourceMappingURL=keybinding-controller.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keybinding-controller.js","sourceRoot":"","sources":["../../src/controllers/keybinding-controller.ts"],"names":[],"mappings":"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","sourcesContent":["import type { ReactiveController, ReactiveControllerHost } from \"lit\";\nimport type { DictationMode } from \"../types.js\";\nimport { keybindingActivatedEvent } from \"../utils/events.js\";\nimport {\n matchesKeybinding,\n shouldIgnoreKeybinding,\n} from \"../utils/keybinding.js\";\n\ninterface KeybindingControllerHost extends ReactiveControllerHost {\n _keybinding?: string | null;\n _mode?: DictationMode;\n startRecording(): void;\n stopRecording(): void;\n toggleRecording(): void;\n dispatchEvent(event: Event): boolean;\n}\n\nexport class KeybindingController implements ReactiveController {\n host: KeybindingControllerHost;\n\n #keydownHandler?: (event: KeyboardEvent) => void;\n #keyupHandler?: (event: KeyboardEvent) => void;\n #blurHandler?: () => void;\n\n constructor(host: KeybindingControllerHost) {\n this.host = host;\n host.addController(this);\n }\n\n hostConnected(): void {\n this.#setupListeners();\n }\n\n hostDisconnected(): void {\n this.#removeListeners();\n }\n\n #setupListeners(): void {\n this.#removeListeners();\n\n this.#keydownHandler = (event: KeyboardEvent) => {\n if (!this.host._keybinding) {\n return;\n }\n\n if (shouldIgnoreKeybinding(document.activeElement)) {\n return;\n }\n\n if (matchesKeybinding(event, this.host._keybinding)) {\n if (!this.host.dispatchEvent(keybindingActivatedEvent(event))) {\n return;\n }\n\n if (this.host._mode === \"push-to-talk\") {\n this.host.startRecording();\n }\n\n if (this.host._mode === \"toggle-to-talk\") {\n this.host.toggleRecording();\n }\n }\n };\n\n this.#keyupHandler = (event: KeyboardEvent) => {\n if (!this.host._keybinding) {\n return;\n }\n\n if (\n this.host._mode === \"push-to-talk\" &&\n matchesKeybinding(event, this.host._keybinding)\n ) {\n if (!this.host.dispatchEvent(keybindingActivatedEvent(event))) {\n return;\n }\n\n this.host.stopRecording();\n }\n };\n\n this.#blurHandler = () => {\n if (this.host._mode === \"push-to-talk\") {\n this.host.stopRecording();\n }\n };\n\n window.addEventListener(\"keydown\", this.#keydownHandler);\n window.addEventListener(\"keyup\", this.#keyupHandler);\n window.addEventListener(\"blur\", this.#blurHandler);\n }\n\n #removeListeners(): void {\n if (this.#keydownHandler) {\n window.removeEventListener(\"keydown\", this.#keydownHandler);\n this.#keydownHandler = undefined;\n }\n\n if (this.#keyupHandler) {\n window.removeEventListener(\"keyup\", this.#keyupHandler);\n this.#keyupHandler = undefined;\n }\n\n if (this.#blurHandler) {\n window.removeEventListener(\"blur\", this.#blurHandler);\n this.#blurHandler = undefined;\n }\n }\n}\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { CortiDictation } from "./components/corti-dictation.js";
|
|
2
2
|
export { CortiDictation } from "./components/corti-dictation.js";
|
|
3
3
|
export { DictationDeviceSelector } from "./components/device-selector.js";
|
|
4
|
+
export { DictationKeybindingSelector } from "./components/keybinding-selector.js";
|
|
4
5
|
export { DictationLanguageSelector } from "./components/language-selector.js";
|
|
6
|
+
export { DictationModeSelector } from "./components/mode-selector.js";
|
|
5
7
|
export { DictationRecordingButton } from "./components/recording-button.js";
|
|
6
8
|
export { DictationSettingsMenu } from "./components/settings-menu.js";
|
|
7
9
|
export { DictationRoot } from "./contexts/dictation-context.js";
|
|
8
|
-
export type { ConfigurableSettings, RecordingState } from "./types.js";
|
|
9
|
-
export type { AudioLevelChangedEventDetail, CommandEventDetail, ErrorEventDetail, LanguageChangedEventDetail, LanguagesChangedEventDetail, NetworkActivityEventDetail, RecordingDevicesChangedEventDetail, RecordingStateChangedEventDetail, TranscriptEventDetail, UsageEventDetail, } from "./utils/events.js";
|
|
10
|
+
export type { ConfigurableSettings, DictationMode, Keybinding, RecordingState, } from "./types.js";
|
|
11
|
+
export type { AudioLevelChangedEventDetail, CommandEventDetail, ErrorEventDetail, KeybindingActivatedEventDetail, KeybindingChangedEventDetail, LanguageChangedEventDetail, LanguagesChangedEventDetail, ModeChangedEventDetail, NetworkActivityEventDetail, RecordingDevicesChangedEventDetail, RecordingStateChangedEventDetail, TranscriptEventDetail, UsageEventDetail, } from "./utils/events.js";
|
|
10
12
|
export default CortiDictation;
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { CortiDictation } from "./components/corti-dictation.js";
|
|
2
2
|
import { DictationDeviceSelector } from "./components/device-selector.js";
|
|
3
|
+
import { DictationKeybindingSelector } from "./components/keybinding-selector.js";
|
|
3
4
|
import { DictationLanguageSelector } from "./components/language-selector.js";
|
|
5
|
+
import { DictationModeSelector } from "./components/mode-selector.js";
|
|
4
6
|
import { DictationRecordingButton } from "./components/recording-button.js";
|
|
5
7
|
import { DictationSettingsMenu } from "./components/settings-menu.js";
|
|
6
8
|
import { DictationRoot } from "./contexts/dictation-context.js";
|
|
@@ -16,6 +18,12 @@ if (!customElements.get("dictation-device-selector")) {
|
|
|
16
18
|
if (!customElements.get("dictation-language-selector")) {
|
|
17
19
|
customElements.define("dictation-language-selector", DictationLanguageSelector);
|
|
18
20
|
}
|
|
21
|
+
if (!customElements.get("dictation-mode-selector")) {
|
|
22
|
+
customElements.define("dictation-mode-selector", DictationModeSelector);
|
|
23
|
+
}
|
|
24
|
+
if (!customElements.get("dictation-keybinding-selector")) {
|
|
25
|
+
customElements.define("dictation-keybinding-selector", DictationKeybindingSelector);
|
|
26
|
+
}
|
|
19
27
|
if (!customElements.get("dictation-settings-menu")) {
|
|
20
28
|
customElements.define("dictation-settings-menu", DictationSettingsMenu);
|
|
21
29
|
}
|
|
@@ -24,7 +32,9 @@ if (!customElements.get("dictation-root")) {
|
|
|
24
32
|
}
|
|
25
33
|
export { CortiDictation } from "./components/corti-dictation.js";
|
|
26
34
|
export { DictationDeviceSelector } from "./components/device-selector.js";
|
|
35
|
+
export { DictationKeybindingSelector } from "./components/keybinding-selector.js";
|
|
27
36
|
export { DictationLanguageSelector } from "./components/language-selector.js";
|
|
37
|
+
export { DictationModeSelector } from "./components/mode-selector.js";
|
|
28
38
|
export { DictationRecordingButton } from "./components/recording-button.js";
|
|
29
39
|
export { DictationSettingsMenu } from "./components/settings-menu.js";
|
|
30
40
|
export { DictationRoot } from "./contexts/dictation-context.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC3C,cAAc,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC;IACtD,cAAc,CAAC,MAAM,CAAC,4BAA4B,EAAE,wBAAwB,CAAC,CAAC;AAChF,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC;IACrD,cAAc,CAAC,MAAM,CAAC,2BAA2B,EAAE,uBAAuB,CAAC,CAAC;AAC9E,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,CAAC;IACvD,cAAc,CAAC,MAAM,CACnB,6BAA6B,EAC7B,yBAAyB,CAC1B,CAAC;AACJ,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC;IACnD,cAAc,CAAC,MAAM,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAC;AAC1E,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC1C,cAAc,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAC3C,cAAc,CAAC,MAAM,CAAC,iBAAiB,EAAE,cAAc,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,4BAA4B,CAAC,EAAE,CAAC;IACtD,cAAc,CAAC,MAAM,CAAC,4BAA4B,EAAE,wBAAwB,CAAC,CAAC;AAChF,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,2BAA2B,CAAC,EAAE,CAAC;IACrD,cAAc,CAAC,MAAM,CAAC,2BAA2B,EAAE,uBAAuB,CAAC,CAAC;AAC9E,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,6BAA6B,CAAC,EAAE,CAAC;IACvD,cAAc,CAAC,MAAM,CACnB,6BAA6B,EAC7B,yBAAyB,CAC1B,CAAC;AACJ,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC;IACnD,cAAc,CAAC,MAAM,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAC;AAC1E,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,+BAA+B,CAAC,EAAE,CAAC;IACzD,cAAc,CAAC,MAAM,CACnB,+BAA+B,EAC/B,2BAA2B,CAC5B,CAAC;AACJ,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,yBAAyB,CAAC,EAAE,CAAC;IACnD,cAAc,CAAC,MAAM,CAAC,yBAAyB,EAAE,qBAAqB,CAAC,CAAC;AAC1E,CAAC;AAED,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;IAC1C,cAAc,CAAC,MAAM,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;AACzD,CAAC;AAED,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAClF,OAAO,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AAC9E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAwBhE,eAAe,cAAc,CAAC","sourcesContent":["import { CortiDictation } from \"./components/corti-dictation.js\";\nimport { DictationDeviceSelector } from \"./components/device-selector.js\";\nimport { DictationKeybindingSelector } from \"./components/keybinding-selector.js\";\nimport { DictationLanguageSelector } from \"./components/language-selector.js\";\nimport { DictationModeSelector } from \"./components/mode-selector.js\";\nimport { DictationRecordingButton } from \"./components/recording-button.js\";\nimport { DictationSettingsMenu } from \"./components/settings-menu.js\";\nimport { DictationRoot } from \"./contexts/dictation-context.js\";\n\nif (!customElements.get(\"corti-dictation\")) {\n customElements.define(\"corti-dictation\", CortiDictation);\n}\n\nif (!customElements.get(\"dictation-recording-button\")) {\n customElements.define(\"dictation-recording-button\", DictationRecordingButton);\n}\n\nif (!customElements.get(\"dictation-device-selector\")) {\n customElements.define(\"dictation-device-selector\", DictationDeviceSelector);\n}\n\nif (!customElements.get(\"dictation-language-selector\")) {\n customElements.define(\n \"dictation-language-selector\",\n DictationLanguageSelector,\n );\n}\n\nif (!customElements.get(\"dictation-mode-selector\")) {\n customElements.define(\"dictation-mode-selector\", DictationModeSelector);\n}\n\nif (!customElements.get(\"dictation-keybinding-selector\")) {\n customElements.define(\n \"dictation-keybinding-selector\",\n DictationKeybindingSelector,\n );\n}\n\nif (!customElements.get(\"dictation-settings-menu\")) {\n customElements.define(\"dictation-settings-menu\", DictationSettingsMenu);\n}\n\nif (!customElements.get(\"dictation-root\")) {\n customElements.define(\"dictation-root\", DictationRoot);\n}\n\nexport { CortiDictation } from \"./components/corti-dictation.js\";\nexport { DictationDeviceSelector } from \"./components/device-selector.js\";\nexport { DictationKeybindingSelector } from \"./components/keybinding-selector.js\";\nexport { DictationLanguageSelector } from \"./components/language-selector.js\";\nexport { DictationModeSelector } from \"./components/mode-selector.js\";\nexport { DictationRecordingButton } from \"./components/recording-button.js\";\nexport { DictationSettingsMenu } from \"./components/settings-menu.js\";\nexport { DictationRoot } from \"./contexts/dictation-context.js\";\n\nexport type {\n ConfigurableSettings,\n DictationMode,\n Keybinding,\n RecordingState,\n} from \"./types.js\";\nexport type {\n AudioLevelChangedEventDetail,\n CommandEventDetail,\n ErrorEventDetail,\n KeybindingActivatedEventDetail,\n KeybindingChangedEventDetail,\n LanguageChangedEventDetail,\n LanguagesChangedEventDetail,\n ModeChangedEventDetail,\n NetworkActivityEventDetail,\n RecordingDevicesChangedEventDetail,\n RecordingStateChangedEventDetail,\n TranscriptEventDetail,\n UsageEventDetail,\n} from \"./utils/events.js\";\n\nexport default CortiDictation;\n"]}
|
package/dist/package.json
CHANGED
|
@@ -1,14 +1,94 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@corti/dictation-web",
|
|
3
|
-
"
|
|
3
|
+
"description": "Web component for Corti Dictation",
|
|
4
|
+
"author": "Corti ApS",
|
|
5
|
+
"version": "0.0.0-test.571.1",
|
|
6
|
+
"license": "MIT",
|
|
4
7
|
"type": "module",
|
|
5
|
-
"main": "
|
|
6
|
-
"module": "
|
|
8
|
+
"main": "dist/index.js",
|
|
9
|
+
"module": "dist/index.js",
|
|
10
|
+
"types": "dist/index.d.ts",
|
|
7
11
|
"exports": {
|
|
8
12
|
".": {
|
|
9
|
-
"
|
|
10
|
-
"
|
|
11
|
-
|
|
12
|
-
|
|
13
|
+
"types": "./dist/index.d.ts",
|
|
14
|
+
"import": "./dist/index.js",
|
|
15
|
+
"browser": "./dist/bundle.js",
|
|
16
|
+
"default": "./dist/bundle.js"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"jsdelivr": "./dist/bundle.js",
|
|
20
|
+
"browser": "./dist/bundle.js",
|
|
21
|
+
"files": [
|
|
22
|
+
"dist"
|
|
23
|
+
],
|
|
24
|
+
"bugs": {
|
|
25
|
+
"url": "https://docs.corti.ai",
|
|
26
|
+
"email": "help@corti.ai"
|
|
27
|
+
},
|
|
28
|
+
"repository": "github:corticph/dictation-web",
|
|
29
|
+
"homepage": "https://docs.corti.ai/stt/dictation-web",
|
|
30
|
+
"keywords": [
|
|
31
|
+
"corti",
|
|
32
|
+
"dictation",
|
|
33
|
+
"web",
|
|
34
|
+
"sdk",
|
|
35
|
+
"speech",
|
|
36
|
+
"recognition",
|
|
37
|
+
"transcription",
|
|
38
|
+
"audio",
|
|
39
|
+
"medical",
|
|
40
|
+
"healthcare"
|
|
41
|
+
],
|
|
42
|
+
"scripts": {
|
|
43
|
+
"analyze": "cem analyze --litelement",
|
|
44
|
+
"build": "tsc && npm run analyze -- --exclude dist",
|
|
45
|
+
"build:bundle": "esbuild dist/index.js --bundle --outfile=dist/bundle.js --format=esm --platform=browser",
|
|
46
|
+
"release": "npm run build && npm run build:bundle && npm publish --access public",
|
|
47
|
+
"start": "npm run build && npm run build:bundle && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"web-dev-server\"",
|
|
48
|
+
"prepublish": "tsc && npm run analyze -- --exclude dist",
|
|
49
|
+
"lint": "biome check .",
|
|
50
|
+
"format": "biome format --write .",
|
|
51
|
+
"biome:check": "biome check .",
|
|
52
|
+
"biome:format": "biome format --write .",
|
|
53
|
+
"biome:fix": "biome check --write .",
|
|
54
|
+
"prepare": "husky && husky install",
|
|
55
|
+
"test": "tsc && wtr --coverage",
|
|
56
|
+
"test:watch": "tsc && concurrently -k -r \"tsc --watch --preserveWatchOutput\" \"wtr --watch\"",
|
|
57
|
+
"storybook": "npm run analyze -- --exclude dist && storybook dev -p 8080",
|
|
58
|
+
"storybook:build": "tsc && tsc -p tsconfig.stories.json && npm run analyze -- --exclude dist && storybook build"
|
|
59
|
+
},
|
|
60
|
+
"dependencies": {
|
|
61
|
+
"@corti/sdk": "^0.8.0",
|
|
62
|
+
"@lit/context": "^1.1.6",
|
|
63
|
+
"lit": "^3.3.1"
|
|
64
|
+
},
|
|
65
|
+
"devDependencies": {
|
|
66
|
+
"@biomejs/biome": "^2.3.6",
|
|
67
|
+
"@custom-elements-manifest/analyzer": "^0.10.3",
|
|
68
|
+
"@open-wc/testing": "^4.0.0",
|
|
69
|
+
"@storybook/addon-a11y": "10.1.5",
|
|
70
|
+
"@storybook/addon-docs": "^10.1.5",
|
|
71
|
+
"@storybook/addon-links": "10.1.5",
|
|
72
|
+
"@storybook/web-components": "10.1.5",
|
|
73
|
+
"@storybook/web-components-vite": "^10.1.5",
|
|
74
|
+
"@types/mocha": "^10.0.7",
|
|
75
|
+
"@web/dev-server": "^0.4.6",
|
|
76
|
+
"@web/storybook-builder": "^0.1.16",
|
|
77
|
+
"@web/storybook-framework-web-components": "^0.1.2",
|
|
78
|
+
"@web/test-runner": "^0.18.2",
|
|
79
|
+
"concurrently": "^8.2.2",
|
|
80
|
+
"esbuild": "^0.25.0",
|
|
81
|
+
"husky": "^8.0.0",
|
|
82
|
+
"lint-staged": "^15.2.7",
|
|
83
|
+
"sinon": "^19.0.2",
|
|
84
|
+
"storybook": "10.1.5",
|
|
85
|
+
"tslib": "^2.6.3",
|
|
86
|
+
"typescript": "^5.5.3"
|
|
87
|
+
},
|
|
88
|
+
"customElements": "custom-elements.json",
|
|
89
|
+
"lint-staged": {
|
|
90
|
+
"*.ts": [
|
|
91
|
+
"biome check --write"
|
|
92
|
+
]
|
|
13
93
|
}
|
|
14
94
|
}
|
|
@@ -18,5 +18,15 @@ const ComponentStyles = css `
|
|
|
18
18
|
overflow: hidden;
|
|
19
19
|
}
|
|
20
20
|
`;
|
|
21
|
+
export const LabelStyles = css `
|
|
22
|
+
label {
|
|
23
|
+
display: block;
|
|
24
|
+
font-size: 0.8rem;
|
|
25
|
+
padding-bottom: 0.5rem;
|
|
26
|
+
font-weight: 500;
|
|
27
|
+
color: var(--component-text-color, light-dark(#333, #eee));
|
|
28
|
+
pointer-events: none;
|
|
29
|
+
}
|
|
30
|
+
`;
|
|
21
31
|
export default ComponentStyles;
|
|
22
32
|
//# sourceMappingURL=component-styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"component-styles.js","sourceRoot":"","sources":["../../src/styles/component-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;CAkB1B,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import { css } from \"lit\";\n\nconst ComponentStyles = css`\n :host {\n font-family: var(--component-font-family, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, Cantarell, Ubuntu, roboto, noto, helvetica, arial, sans-serif);\n }\n\n .wrapper {\n background-color: var(--card-background, light-dark(#fff, #333));\n border: 1px solid var(--card-border-color, light-dark(#ddd, #555));\n border-radius: var(--card-border-radius, 8px);\n box-shadow: var(--card-box-shadow, 0 2px 5px rgba(0, 0, 0, 0.1));\n padding: var(--card-padding, 4px);\n display: flex;\n gap: 4px;\n height: 46px;\n width: fit-content;\n box-sizing: border-box;\n overflow: hidden;\n }\n`;\n\nexport default ComponentStyles;\n"]}
|
|
1
|
+
{"version":3,"file":"component-styles.js","sourceRoot":"","sources":["../../src/styles/component-styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,eAAe,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;CAkB1B,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAA;;;;;;;;;CAS7B,CAAC;AAEF,eAAe,eAAe,CAAC","sourcesContent":["import { css } from \"lit\";\n\nconst ComponentStyles = css`\n :host {\n font-family: var(--component-font-family, -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, Cantarell, Ubuntu, roboto, noto, helvetica, arial, sans-serif);\n }\n\n .wrapper {\n background-color: var(--card-background, light-dark(#fff, #333));\n border: 1px solid var(--card-border-color, light-dark(#ddd, #555));\n border-radius: var(--card-border-radius, 8px);\n box-shadow: var(--card-box-shadow, 0 2px 5px rgba(0, 0, 0, 0.1));\n padding: var(--card-padding, 4px);\n display: flex;\n gap: 4px;\n height: 46px;\n width: fit-content;\n box-sizing: border-box;\n overflow: hidden;\n }\n`;\n\nexport const LabelStyles = css`\n label {\n display: block;\n font-size: 0.8rem;\n padding-bottom: 0.5rem;\n font-weight: 500;\n color: var(--component-text-color, light-dark(#333, #eee));\n pointer-events: none;\n }\n`;\n\nexport default ComponentStyles;\n"]}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { css } from "lit";
|
|
2
|
+
import { LabelStyles } from "./component-styles.js";
|
|
3
|
+
const KeybindingSelectorStyles = [
|
|
4
|
+
LabelStyles,
|
|
5
|
+
css `
|
|
6
|
+
:host {
|
|
7
|
+
display: block;
|
|
8
|
+
}
|
|
9
|
+
.keybinding-selector-wrapper {
|
|
10
|
+
display: flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
gap: 12px;
|
|
13
|
+
padding: var(--card-padding, 4px) 8px;
|
|
14
|
+
background: var(--card-background, light-dark(#fff, #333));
|
|
15
|
+
border: 1px solid var(--card-border-color, light-dark(#ddd, #555));
|
|
16
|
+
border-radius: var(--card-inner-border-radius, 6px);
|
|
17
|
+
overflow: hidden;
|
|
18
|
+
}
|
|
19
|
+
.keybinding-selector-wrapper:focus-within {
|
|
20
|
+
border-color: var(--action-accent-background, light-dark(#007bff, #0056b3));
|
|
21
|
+
outline: 2px solid var(--action-accent-background, light-dark(#007bff, #0056b3));
|
|
22
|
+
}
|
|
23
|
+
.keybinding-selector-input {
|
|
24
|
+
flex: 1;
|
|
25
|
+
min-width: 0;
|
|
26
|
+
border: none;
|
|
27
|
+
background: transparent;
|
|
28
|
+
font-size: 14px;
|
|
29
|
+
line-height: 24px;
|
|
30
|
+
color: var(--component-text-color, light-dark(#333, #eee));
|
|
31
|
+
outline: none;
|
|
32
|
+
padding: 0;
|
|
33
|
+
cursor: text;
|
|
34
|
+
}
|
|
35
|
+
.keybinding-selector-input::placeholder {
|
|
36
|
+
opacity: 0.6;
|
|
37
|
+
color: var(--component-text-color, light-dark(#333, #eee));
|
|
38
|
+
}
|
|
39
|
+
.keybinding-selector-input:disabled {
|
|
40
|
+
cursor: not-allowed;
|
|
41
|
+
opacity: 0.5;
|
|
42
|
+
}
|
|
43
|
+
.keybinding-key {
|
|
44
|
+
display: flex;
|
|
45
|
+
align-items: center;
|
|
46
|
+
justify-content: center;
|
|
47
|
+
padding: 0 0.5rem;
|
|
48
|
+
height: 24px;
|
|
49
|
+
background: var(--card-background, light-dark(#fff, #333));
|
|
50
|
+
border: 1px solid var(--card-border-color, light-dark(#ddd, #555));
|
|
51
|
+
border-radius: var(--card-inner-border-radius, 6px);
|
|
52
|
+
box-shadow: var(--card-box-shadow, 0 2px 5px rgba(0, 0, 0, 0.1));
|
|
53
|
+
font-size: 16px;
|
|
54
|
+
line-height: 28px;
|
|
55
|
+
color: var(--component-text-color, light-dark(#333, #eee));
|
|
56
|
+
opacity: 0.6;
|
|
57
|
+
text-align: center;
|
|
58
|
+
flex-shrink: 0;
|
|
59
|
+
}
|
|
60
|
+
.keybinding-help {
|
|
61
|
+
font-size: 12px;
|
|
62
|
+
line-height: 20px;
|
|
63
|
+
color: var(--component-text-color, light-dark(#333, #eee));
|
|
64
|
+
opacity: 0.6;
|
|
65
|
+
margin: 0;
|
|
66
|
+
letter-spacing: 0.01px;
|
|
67
|
+
padding-top: 8px;
|
|
68
|
+
}
|
|
69
|
+
`,
|
|
70
|
+
];
|
|
71
|
+
export default KeybindingSelectorStyles;
|
|
72
|
+
//# sourceMappingURL=keybinding-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"keybinding-selector.js","sourceRoot":"","sources":["../../src/styles/keybinding-selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,wBAAwB,GAAG;IAC/B,WAAW;IACX,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgEJ;CACA,CAAC;AAEF,eAAe,wBAAwB,CAAC","sourcesContent":["import { css } from \"lit\";\nimport { LabelStyles } from \"./component-styles.js\";\n\nconst KeybindingSelectorStyles = [\n LabelStyles,\n css`\n :host {\n display: block;\n }\n .keybinding-selector-wrapper {\n display: flex;\n align-items: center;\n gap: 12px;\n padding: var(--card-padding, 4px) 8px;\n background: var(--card-background, light-dark(#fff, #333));\n border: 1px solid var(--card-border-color, light-dark(#ddd, #555));\n border-radius: var(--card-inner-border-radius, 6px);\n overflow: hidden;\n }\n .keybinding-selector-wrapper:focus-within {\n border-color: var(--action-accent-background, light-dark(#007bff, #0056b3));\n outline: 2px solid var(--action-accent-background, light-dark(#007bff, #0056b3));\n }\n .keybinding-selector-input {\n flex: 1;\n min-width: 0;\n border: none;\n background: transparent;\n font-size: 14px;\n line-height: 24px;\n color: var(--component-text-color, light-dark(#333, #eee));\n outline: none;\n padding: 0;\n cursor: text;\n }\n .keybinding-selector-input::placeholder {\n opacity: 0.6;\n color: var(--component-text-color, light-dark(#333, #eee));\n }\n .keybinding-selector-input:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n .keybinding-key {\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 0.5rem;\n height: 24px;\n background: var(--card-background, light-dark(#fff, #333));\n border: 1px solid var(--card-border-color, light-dark(#ddd, #555));\n border-radius: var(--card-inner-border-radius, 6px);\n box-shadow: var(--card-box-shadow, 0 2px 5px rgba(0, 0, 0, 0.1));\n font-size: 16px;\n line-height: 28px;\n color: var(--component-text-color, light-dark(#333, #eee));\n opacity: 0.6;\n text-align: center;\n flex-shrink: 0;\n }\n .keybinding-help {\n font-size: 12px;\n line-height: 20px;\n color: var(--component-text-color, light-dark(#333, #eee));\n opacity: 0.6;\n margin: 0;\n letter-spacing: 0.01px;\n padding-top: 8px;\n }\n`,\n];\n\nexport default KeybindingSelectorStyles;\n"]}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { css } from "lit";
|
|
2
|
+
import { LabelStyles } from "./component-styles.js";
|
|
3
|
+
const ModeSelectorStyles = [
|
|
4
|
+
LabelStyles,
|
|
5
|
+
css `
|
|
6
|
+
:host {
|
|
7
|
+
display: block;
|
|
8
|
+
}
|
|
9
|
+
.mode-selector-tabs {
|
|
10
|
+
display: flex;
|
|
11
|
+
background: var(--muted-background, light-dark(#fafafa, #2a2a2a));
|
|
12
|
+
border: 1px solid var(--card-border-color, light-dark(#ddd, #555));
|
|
13
|
+
border-radius: var(--card-inner-border-radius, 6px);
|
|
14
|
+
padding: 0;
|
|
15
|
+
overflow: hidden;
|
|
16
|
+
align-items: center;
|
|
17
|
+
justify-content: center;
|
|
18
|
+
text-wrap: nowrap;
|
|
19
|
+
gap: 2px;
|
|
20
|
+
}
|
|
21
|
+
.mode-selector-tab {
|
|
22
|
+
flex: 1;
|
|
23
|
+
padding: 4px 8px;
|
|
24
|
+
border: 1px solid transparent;
|
|
25
|
+
background: transparent;
|
|
26
|
+
font-size: 14px;
|
|
27
|
+
font-weight: 500;
|
|
28
|
+
line-height: 24px;
|
|
29
|
+
color: var(--component-text-color, light-dark(#333, #eee));
|
|
30
|
+
opacity: 0.6;
|
|
31
|
+
cursor: pointer;
|
|
32
|
+
transition: all 0.2s;
|
|
33
|
+
height: 32px;
|
|
34
|
+
display: flex;
|
|
35
|
+
align-items: center;
|
|
36
|
+
justify-content: center;
|
|
37
|
+
border-radius: var(--card-inner-border-radius, 6px);
|
|
38
|
+
margin: -1px;
|
|
39
|
+
}
|
|
40
|
+
.mode-selector-tab:hover:not(:disabled) {
|
|
41
|
+
opacity: 1;
|
|
42
|
+
}
|
|
43
|
+
.mode-selector-tab.active {
|
|
44
|
+
background: var(--card-background, light-dark(#fff, #333));
|
|
45
|
+
border-color: var(--card-border-color, light-dark(#ddd, #555));
|
|
46
|
+
box-shadow: var(--card-box-shadow, 0 2px 5px rgba(0, 0, 0, 0.1));
|
|
47
|
+
opacity: 1;
|
|
48
|
+
}
|
|
49
|
+
.mode-selector-tab:disabled {
|
|
50
|
+
opacity: 0.5;
|
|
51
|
+
cursor: not-allowed;
|
|
52
|
+
}
|
|
53
|
+
`,
|
|
54
|
+
];
|
|
55
|
+
export default ModeSelectorStyles;
|
|
56
|
+
//# sourceMappingURL=mode-selector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mode-selector.js","sourceRoot":"","sources":["../../src/styles/mode-selector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,kBAAkB,GAAG;IACzB,WAAW;IACX,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgDJ;CACA,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { css } from \"lit\";\nimport { LabelStyles } from \"./component-styles.js\";\n\nconst ModeSelectorStyles = [\n LabelStyles,\n css`\n :host {\n display: block;\n }\n .mode-selector-tabs {\n display: flex;\n background: var(--muted-background, light-dark(#fafafa, #2a2a2a));\n border: 1px solid var(--card-border-color, light-dark(#ddd, #555));\n border-radius: var(--card-inner-border-radius, 6px);\n padding: 0;\n overflow: hidden;\n align-items: center;\n justify-content: center;\n text-wrap: nowrap;\n gap: 2px;\n }\n .mode-selector-tab {\n flex: 1;\n padding: 4px 8px;\n border: 1px solid transparent;\n background: transparent;\n font-size: 14px;\n font-weight: 500;\n line-height: 24px;\n color: var(--component-text-color, light-dark(#333, #eee));\n opacity: 0.6;\n cursor: pointer;\n transition: all 0.2s;\n height: 32px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: var(--card-inner-border-radius, 6px);\n margin: -1px;\n }\n .mode-selector-tab:hover:not(:disabled) {\n opacity: 1;\n }\n .mode-selector-tab.active {\n background: var(--card-background, light-dark(#fff, #333));\n border-color: var(--card-border-color, light-dark(#ddd, #555));\n box-shadow: var(--card-box-shadow, 0 2px 5px rgba(0, 0, 0, 0.1));\n opacity: 1;\n }\n .mode-selector-tab:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n`,\n];\n\nexport default ModeSelectorStyles;\n"]}
|
package/dist/styles/select.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const SelectStyles: import("lit").CSSResult;
|
|
1
|
+
declare const SelectStyles: import("lit").CSSResult[];
|
|
2
2
|
export default SelectStyles;
|
package/dist/styles/select.js
CHANGED
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import { css } from "lit";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
padding-bottom: 0.5rem;
|
|
7
|
-
font-weight: 500;
|
|
8
|
-
color: var(--component-text-color, light-dark(#333, #eee));
|
|
9
|
-
pointer-events: none;
|
|
10
|
-
}
|
|
2
|
+
import { LabelStyles } from "./component-styles.js";
|
|
3
|
+
const SelectStyles = [
|
|
4
|
+
LabelStyles,
|
|
5
|
+
css `
|
|
11
6
|
select {
|
|
12
7
|
background: var(--card-background, light-dark(#fff, #333));
|
|
13
8
|
color: var(--component-text-color, light-dark(#333, #eee));
|
|
@@ -31,6 +26,7 @@ const SelectStyles = css `
|
|
|
31
26
|
outline: 2px solid var(--action-accent-background, light-dark(#007bff, #0056b3));
|
|
32
27
|
/* outline-offset: 2px; */
|
|
33
28
|
}
|
|
34
|
-
|
|
29
|
+
`,
|
|
30
|
+
];
|
|
35
31
|
export default SelectStyles;
|
|
36
32
|
//# sourceMappingURL=select.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/styles/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"select.js","sourceRoot":"","sources":["../../src/styles/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,MAAM,YAAY,GAAG;IACnB,WAAW;IACX,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;CAwBJ;CACA,CAAC;AAEF,eAAe,YAAY,CAAC","sourcesContent":["import { css } from \"lit\";\nimport { LabelStyles } from \"./component-styles.js\";\n\nconst SelectStyles = [\n LabelStyles,\n css`\n select {\n background: var(--card-background, light-dark(#fff, #333));\n color: var(--component-text-color, light-dark(#333, #eee));\n border: 1px solid var(--card-border-color, light-dark(#ddd, #555));\n padding: var(--card-padding, 4px);\n border-radius: var(--card-inner-border-radius, 6px);\n outline: none;\n width: 100%;\n }\n\n select:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n }\n\n select:hover {\n background: var(--action-plain-background-hover, light-dark(#ddd, #444));\n }\n\n select:focus-visible {\n outline: 2px solid var(--action-accent-background, light-dark(#007bff, #0056b3));\n /* outline-offset: 2px; */\n }\n`,\n];\n\nexport default SelectStyles;\n"]}
|
|
@@ -27,7 +27,15 @@ const SettingsMenuStyles = css `
|
|
|
27
27
|
.settings-wrapper {
|
|
28
28
|
display: flex;
|
|
29
29
|
flex-direction: column;
|
|
30
|
-
gap:
|
|
30
|
+
gap: 16px;
|
|
31
|
+
}
|
|
32
|
+
.settings-group {
|
|
33
|
+
background: var(--muted-background, light-dark(#fafafa, #2a2a2a));
|
|
34
|
+
padding: 12px;
|
|
35
|
+
border-radius: 10px;
|
|
36
|
+
display: flex;
|
|
37
|
+
flex-direction: column;
|
|
38
|
+
gap: 16px;
|
|
31
39
|
}
|
|
32
40
|
`;
|
|
33
41
|
export default SettingsMenuStyles;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings-menu.js","sourceRoot":"","sources":["../../src/styles/settings-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,kBAAkB,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"settings-menu.js","sourceRoot":"","sources":["../../src/styles/settings-menu.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,kBAAkB,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsC7B,CAAC;AAEF,eAAe,kBAAkB,CAAC","sourcesContent":["import { css } from \"lit\";\n\nconst SettingsMenuStyles = css`\n :host {\n display: block;\n }\n /* Retain the anchor-name styling for this component */\n #settings-popover-button {\n anchor-name: --settings_popover_btn;\n }\n [popover] {\n margin: 0;\n padding: 16px;\n background: var(--card-background, light-dark(#fff, #333));\n border: 1px solid var(--card-border-color, light-dark(#ddd, #555));\n border-radius: var(--card-border-radius, 8px);\n box-shadow: var(--card-box-shadow, 0 2px 5px rgba(0, 0, 0, 0.1));\n z-index: 1000;\n max-width: 260px;\n width: 100%;\n min-width: 200px;\n position-anchor: --settings_popover_btn;\n position-area: bottom span-right;\n position-visibility: always;\n position-try-fallbacks: flip-inline;\n overflow-x: hidden;\n }\n .settings-wrapper {\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n .settings-group {\n background: var(--muted-background, light-dark(#fafafa, #2a2a2a));\n padding: 12px;\n border-radius: 10px;\n display: flex;\n flex-direction: column;\n gap: 16px;\n }\n`;\n\nexport default SettingsMenuStyles;\n"]}
|