@epam/ai-dial-conversation-input 1.1.0-dev.12 → 1.1.0-dev.18
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/components/EditMessageInput/EditMessageInput.d.ts.map +1 -1
- package/components/Input/Input.d.ts.map +1 -1
- package/components/VoiceBar/VoiceBar.d.ts +12 -14
- package/components/VoiceBar/VoiceBar.d.ts.map +1 -1
- package/hooks/useAttachments.d.ts.map +1 -1
- package/hooks/useVoiceRecorder.d.ts +19 -21
- package/hooks/useVoiceRecorder.d.ts.map +1 -1
- package/index.css +1 -1
- package/index.js +550 -586
- package/models/ConversationInput.d.ts +15 -14
- package/models/ConversationInput.d.ts.map +1 -1
- package/models/Input.d.ts +11 -14
- package/models/Input.d.ts.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EditMessageInput.d.ts","sourceRoot":"","sources":["../../../src/components/EditMessageInput/EditMessageInput.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,EAAE,EAMR,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAI5E,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,
|
|
1
|
+
{"version":3,"file":"EditMessageInput.d.ts","sourceRoot":"","sources":["../../../src/components/EditMessageInput/EditMessageInput.tsx"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,EAAE,EAMR,MAAM,OAAO,CAAC;AACf,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAI5E,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAqKtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,EAAE,EAMR,MAAM,OAAO,CAAC;AAOf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAUrD,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/Input/Input.tsx"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,EAAE,EAMR,MAAM,OAAO,CAAC;AAOf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAUrD,eAAO,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAgbhC,CAAC"}
|
|
@@ -1,35 +1,33 @@
|
|
|
1
|
-
import { CSSProperties, FC } from 'react';
|
|
1
|
+
import { CSSProperties, FC, RefObject } from 'react';
|
|
2
2
|
import { VoiceRecorderState } from '../../hooks/useVoiceRecorder';
|
|
3
3
|
/** Props accepted by the `VoiceBar` component. */
|
|
4
4
|
export interface VoiceBarProps {
|
|
5
5
|
/** Current recorder state — must not be `'idle'` when this component is rendered. */
|
|
6
6
|
state: VoiceRecorderState;
|
|
7
|
-
/**
|
|
8
|
-
|
|
7
|
+
/** Stable ref to the live `AnalyserNode` during recording; `.current` is `null` when idle. */
|
|
8
|
+
analyserNodeRef: RefObject<AnalyserNode | null>;
|
|
9
|
+
/** Elapsed recording time in whole seconds. */
|
|
10
|
+
elapsedSeconds: number;
|
|
9
11
|
/** Error message in `error` state; `null` otherwise. */
|
|
10
12
|
errorMessage: string | null;
|
|
11
|
-
/** Called when the user clicks the
|
|
13
|
+
/** Called when the user clicks the stop button to finish recording. */
|
|
12
14
|
onStop: () => void;
|
|
13
|
-
/** Called when the user clicks the
|
|
14
|
-
onConfirm: () => void;
|
|
15
|
-
/** Called when the user clicks the X to discard the recording or cancel uploading. */
|
|
15
|
+
/** Called when the user clicks the X to discard the recording. */
|
|
16
16
|
onDiscard: () => void;
|
|
17
|
-
/** Accessible label for the stop-recording
|
|
17
|
+
/** Accessible label for the stop-recording button. Defaults to `'Stop recording'`. */
|
|
18
18
|
stopLabel?: string;
|
|
19
|
-
/** Accessible label for the confirm / retry button. Defaults to `'Send voice message'`. */
|
|
20
|
-
confirmLabel?: string;
|
|
21
19
|
/** Accessible label for the discard / cancel button. Defaults to `'Discard recording'`. */
|
|
22
20
|
discardLabel?: string;
|
|
23
|
-
/** Accessible label for the
|
|
24
|
-
|
|
21
|
+
/** Accessible label for the recording timer region. Defaults to `'Recording time'`. */
|
|
22
|
+
timerLabel?: string;
|
|
25
23
|
/** CSS custom properties forwarded from the parent (e.g. `--ci-bg`, `--ci-border`). */
|
|
26
24
|
style?: CSSProperties;
|
|
27
25
|
/** Extra class names applied to the root element. */
|
|
28
26
|
className?: string;
|
|
29
27
|
}
|
|
30
28
|
/**
|
|
31
|
-
* Renders the voice recording bar:
|
|
32
|
-
*
|
|
29
|
+
* Renders the voice recording bar: a live MM:SS timer, a scrolling waveform canvas
|
|
30
|
+
* driven by a ring buffer, and state-based controls. Replaces the `Input` component
|
|
33
31
|
* while voice state is not `idle`.
|
|
34
32
|
*/
|
|
35
33
|
export declare const VoiceBar: FC<VoiceBarProps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoiceBar.d.ts","sourceRoot":"","sources":["../../../src/components/VoiceBar/VoiceBar.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"VoiceBar.d.ts","sourceRoot":"","sources":["../../../src/components/VoiceBar/VoiceBar.tsx"],"names":[],"mappings":"AAOA,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,EAAE,EACP,KAAK,SAAS,EAIf,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAWlE,kDAAkD;AAClD,MAAM,WAAW,aAAa;IAC5B,qFAAqF;IACrF,KAAK,EAAE,kBAAkB,CAAC;IAC1B,8FAA8F;IAC9F,eAAe,EAAE,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAChD,+CAA+C;IAC/C,cAAc,EAAE,MAAM,CAAC;IACvB,wDAAwD;IACxD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,uEAAuE;IACvE,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,kEAAkE;IAClE,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2FAA2F;IAC3F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uFAAuF;IACvF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uFAAuF;IACvF,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAuMtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useAttachments.d.ts","sourceRoot":"","sources":["../../src/hooks/useAttachments.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EAGtB,MAAM,2BAA2B,CAAC;AAInC,sDAAsD;AACtD,UAAU,oBAAoB;IAC5B,sDAAsD;IACtD,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAC1D;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CACnB,UAAU,EAAE,UAAU,KACnB,qBAAqB,GAAG,SAAS,CAAC;IACvC,yDAAyD;IACzD,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACzB,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,4EAA4E;IAC5E,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,4DAA4D;IAC5D,4BAA4B,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,oFAAoF;IACpF,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iFAAiF;IACjF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0EAA0E;IAC1E,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,gFAAgF;IAChF,gBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;IAClD,kFAAkF;IAClF,cAAc,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,+EAA+E;IAC/E,gBAAgB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAChD,6EAA6E;IAC7E,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,sDAAsD;IACtD,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,8DAA8D;IAC9D,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,0EAA0E;IAC1E,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,gRAa5B,oBAAoB,KAAG,
|
|
1
|
+
{"version":3,"file":"useAttachments.d.ts","sourceRoot":"","sources":["../../src/hooks/useAttachments.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACL,qBAAqB,EAGtB,MAAM,2BAA2B,CAAC;AAInC,sDAAsD;AACtD,UAAU,oBAAoB;IAC5B,sDAAsD;IACtD,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,uFAAuF;IACvF,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACjE,mDAAmD;IACnD,mBAAmB,CAAC,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAC1D;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CACnB,UAAU,EAAE,UAAU,KACnB,qBAAqB,GAAG,SAAS,CAAC;IACvC,yDAAyD;IACzD,gBAAgB,EAAE,IAAI,EAAE,CAAC;IACzB,0DAA0D;IAC1D,mBAAmB,CAAC,EAAE,MAAM,IAAI,CAAC;IACjC,4EAA4E;IAC5E,kBAAkB,EAAE,UAAU,EAAE,CAAC;IACjC,4DAA4D;IAC5D,4BAA4B,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1C;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5C,oFAAoF;IACpF,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,iFAAiF;IACjF,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,0EAA0E;IAC1E,0BAA0B,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACrE;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,+BAA+B;IAC/B,WAAW,EAAE,UAAU,EAAE,CAAC;IAC1B,gFAAgF;IAChF,gBAAgB,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,UAAU,EAAE,CAAC;IAClD,kFAAkF;IAClF,cAAc,EAAE,CAAC,cAAc,EAAE,UAAU,EAAE,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACzE,+EAA+E;IAC/E,gBAAgB,EAAE,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,IAAI,CAAC;IAChD,6EAA6E;IAC7E,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,sDAAsD;IACtD,WAAW,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,8DAA8D;IAC9D,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,0EAA0E;IAC1E,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,gRAa5B,oBAAoB,KAAG,oBAyQzB,CAAC"}
|
|
@@ -4,45 +4,43 @@ export declare enum VoiceRecorderState {
|
|
|
4
4
|
Idle = "idle",
|
|
5
5
|
/** Microphone is open and audio is being captured. */
|
|
6
6
|
Recording = "recording",
|
|
7
|
-
/**
|
|
8
|
-
Stopped = "stopped",
|
|
9
|
-
/** Audio is being uploaded and transcribed. */
|
|
10
|
-
Uploading = "uploading",
|
|
11
|
-
/** An error occurred during recording, upload, or transcription. */
|
|
7
|
+
/** An error occurred during microphone access (e.g. permission denied). */
|
|
12
8
|
Error = "error"
|
|
13
9
|
}
|
|
14
10
|
/** Options accepted by `useVoiceRecorder`. */
|
|
15
11
|
export interface UseVoiceRecorderOptions {
|
|
16
|
-
/** Called when the user
|
|
17
|
-
|
|
18
|
-
/** Called after successful upload. Resolves with the transcript text. */
|
|
19
|
-
onTranscribeAudio?: (audioUrl: string) => Promise<string>;
|
|
20
|
-
/** Called when transcription completes successfully. */
|
|
21
|
-
onTranscript?: (transcript: string) => void;
|
|
12
|
+
/** Called when the user stops recording. Receives a ready-to-attach `File` with a timestamped name. */
|
|
13
|
+
onAttachAudio: (file: File) => void;
|
|
22
14
|
}
|
|
23
15
|
/** Return value of `useVoiceRecorder`. */
|
|
24
16
|
export interface UseVoiceRecorderResult {
|
|
25
17
|
/** Current recorder state. */
|
|
26
18
|
state: VoiceRecorderState;
|
|
27
|
-
/**
|
|
28
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Stable ref to the live `AnalyserNode` during recording; `.current` is `null` when idle.
|
|
21
|
+
* Passed to `VoiceBar` for waveform rendering.
|
|
22
|
+
*/
|
|
23
|
+
analyserNodeRef: React.RefObject<AnalyserNode | null>;
|
|
24
|
+
/** Elapsed recording time in whole seconds. Resets to `0` when transitioning to `idle`. */
|
|
25
|
+
elapsedSeconds: number;
|
|
29
26
|
/** Human-readable error message in `error` state, otherwise `null`. */
|
|
30
27
|
errorMessage: string | null;
|
|
31
28
|
/** Requests microphone access and starts recording. No-op unless `state === 'idle'`. */
|
|
32
29
|
startRecording: () => void;
|
|
33
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
* Stops the active recording, calls `onAttachAudio` with the blob, and resets to `idle`.
|
|
32
|
+
* No-op unless `state === 'recording'`.
|
|
33
|
+
*/
|
|
34
34
|
stopRecording: () => void;
|
|
35
|
-
/** Uploads and transcribes the recorded audio. No-op unless `state === 'stopped' | 'error'`. */
|
|
36
|
-
confirmRecording: () => void;
|
|
37
35
|
/** Discards the current recording and resets to `idle`. Works from any non-idle state. */
|
|
38
36
|
discardRecording: () => void;
|
|
39
37
|
}
|
|
40
38
|
/**
|
|
41
|
-
* Manages the
|
|
42
|
-
* `idle` → `recording` → `
|
|
39
|
+
* Manages the three-state voice recording lifecycle:
|
|
40
|
+
* `idle` → `recording` → `idle` (blob attached on stop) | `error` (permission denied)
|
|
43
41
|
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
42
|
+
* On stop the recorded blob is passed to `onAttachAudio` and the state resets to `idle`.
|
|
43
|
+
* Media resources are released on discard and on unmount.
|
|
46
44
|
*/
|
|
47
|
-
export declare const useVoiceRecorder: ({
|
|
45
|
+
export declare const useVoiceRecorder: ({ onAttachAudio, }: UseVoiceRecorderOptions) => UseVoiceRecorderResult;
|
|
48
46
|
//# sourceMappingURL=useVoiceRecorder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../src/hooks/useVoiceRecorder.ts"],"names":[],"mappings":"AAEA,uDAAuD;AACvD,oBAAY,kBAAkB;IAC5B,0DAA0D;IAC1D,IAAI,SAAS;IACb,sDAAsD;IACtD,SAAS,cAAc;IACvB,
|
|
1
|
+
{"version":3,"file":"useVoiceRecorder.d.ts","sourceRoot":"","sources":["../../src/hooks/useVoiceRecorder.ts"],"names":[],"mappings":"AAEA,uDAAuD;AACvD,oBAAY,kBAAkB;IAC5B,0DAA0D;IAC1D,IAAI,SAAS;IACb,sDAAsD;IACtD,SAAS,cAAc;IACvB,2EAA2E;IAC3E,KAAK,UAAU;CAChB;AAED,8CAA8C;AAC9C,MAAM,WAAW,uBAAuB;IACtC,uGAAuG;IACvG,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;CACrC;AAED,0CAA0C;AAC1C,MAAM,WAAW,sBAAsB;IACrC,8BAA8B;IAC9B,KAAK,EAAE,kBAAkB,CAAC;IAC1B;;;OAGG;IACH,eAAe,EAAE,KAAK,CAAC,SAAS,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACtD,2FAA2F;IAC3F,cAAc,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,wFAAwF;IACxF,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B;;;OAGG;IACH,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,0FAA0F;IAC1F,gBAAgB,EAAE,MAAM,IAAI,CAAC;CAC9B;AAYD;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,GAAI,oBAE9B,uBAAuB,KAAG,sBAuI5B,CAAC"}
|
package/index.css
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
@keyframes _slide-up_3xrn0_1{0%{transform:translateY(100%)}to{transform:translateY(0)}}._backdrop_3xrn0_9{background:var(--ci-background-Backdrop,#0c101db2)}._sheet_3xrn0_13{background:var(--ci-sheet-bg,var(--bg-layer-0,#fcfcfc));animation:.3s cubic-bezier(.32,.72,0,1) _slide-up_3xrn0_1}._title_3xrn0_18{color:var(--ci-sheet-text,var(--text-primary,#161b2d))}._divider_3xrn0_22{background:var(--ci-sheet-divider,var(--bg-layer-4,#d1dbea))}._item_vou13_1{color:var(--ci-sheet-text,var(--text-primary,#161b2d))}._item_vou13_1:hover{background:var(--ci-sheet-item-hover,var(--bg-layer-3,#fcfcfc))}._item_vou13_1:active{background:var(--ci-sheet-item-active,var(--bg-layer-4,#d1dbea))}._itemIcon_vou13_11{color:var(--ci-sheet-icon,var(--text-secondary,#575f73))}._tabContainer_rzv03_1{background-color:#0000;color:var(--text-tertiary,#808898)!important;border-color:#0000!important}._tabContainer_rzv03_1:hover{background-color:#5c8dea0f;color:var(--text-secondary,#64748b)!important}._tabContainer_rzv03_1>span{text-align:center}._tabContainer_rzv03_1._tabActive_rzv03_13{background-color:#2764d912;color:var(--text-secondary,#64748b)!important}._tabContainer_rzv03_1._tabActive_rzv03_13:hover{background-color:#5c8dea0f}.dial-primary-solid-button{background-image:linear-gradient(135deg, var(--bg-accent-secondary,#37babc) 0%, var(--bg-accent-primary,#5c8dea) 30%, var(--bg-accent-tertiary,#a972ff) 100%);border-style:none;border-radius:9999px;transition:box-shadow .2s,transform .15s;box-shadow:0 0 16px #37babc40,0 4px 12px #a972ff38;background-color:#0000!important;padding-inline:24px!important}@media (hover:hover){.dial-primary-solid-button:hover{background-color:#0000;background-image:linear-gradient(135deg, var(--bg-accent-secondary,#37babc) 0%, var(--bg-accent-primary,#5c8dea) 30%, var(--bg-accent-tertiary,#a972ff) 100%);transform:translateY(-1px);box-shadow:0 0 24px #37babc59,0 6px 18px #a972ff4d}}.dial-primary-solid-button:active{background-color:#0000;background-image:linear-gradient(135deg, var(--bg-accent-secondary,#37babc) 0%, var(--bg-accent-primary,#5c8dea) 30%, var(--bg-accent-tertiary,#a972ff) 100%);filter:brightness(.92);transform:translateY(0);box-shadow:0 0 10px #37babc33,0 2px 6px #a972ff29}.dial-primary-solid-button:disabled{box-shadow:none;cursor:not-allowed;background-image:none;transform:none;background-color:var(--controls-bg-disable,#d1dbea)!important;color:var(--text-white,#fff)!important}.dial-danger-solid-button{border-radius:9999px!important}.dial-primary-solid-button.dial-primary-solid-button{background-color:#0000;background-image:linear-gradient(135deg,#4b7be6 0%,#9355f4 100%);border:none;border-radius:9999px;transition:box-shadow .2s,transform .15s;box-shadow:0 4px 16px #5c8dea52}@media (hover:hover){.dial-primary-solid-button.dial-primary-solid-button:hover{background-color:#0000;background-image:linear-gradient(135deg,#4b7be6 0%,#9355f4 100%);transform:translateY(-1px);box-shadow:0 6px 20px #5c8dea6b}}.dial-primary-solid-button.dial-primary-solid-button:active{filter:brightness(.92);background-color:#0000;background-image:linear-gradient(135deg,#4b7be6 0%,#9355f4 100%);transform:translateY(0);box-shadow:0 2px 8px #5c8dea38}.dial-primary-solid-button.dial-primary-solid-button:disabled{box-shadow:none;background-image:none;transform:none}.dial-neutral-outlined-button{transition:background-color .15s,border-color .15s;color:var(--bg-accent-primary,#2764d9)!important;background-color:#2764d914!important;background-image:none!important;border:1px solid #2764d933!important;border-radius:9999px!important}@media (hover:hover){.dial-neutral-outlined-button:hover:enabled{background-color:#2764d921!important;border-color:#2764d959!important}}.dial-neutral-outlined-button:active:enabled{background-color:#2764d92e!important;border-color:#2764d973!important}.dial-neutral-outlined-button:disabled{border-color:var(--stroke-secondary,#d1dbea);color:var(--controls-text-neutral-disable,#575f73);background-color:#0000;background-image:none}.dial-primary-ghost-button:not(.dial-icon-button){border-style:none;border-radius:9999px;color:var(--bg-accent-primary,#2764d9)!important}@media (hover:hover){.dial-primary-ghost-button:not(.dial-icon-button):hover:enabled{background-color:#2764d90d!important}}.dial-primary-ghost-button:not(.dial-icon-button):active:enabled{background-color:#2764d914!important}.dial-icon-button{border-radius:6px!important}.dial-input:not(.dial-input-error){transition:border-color .15s,box-shadow .15s;border-color:var(--stroke-tertiary,#e0e6f0)!important;border-radius:.75rem!important}.dial-input:not(.dial-input-error):not(:disabled):hover{border-color:var(--stroke-accent-primary,#7da4ff)!important}.dial-input:not(.dial-input-error):not(:disabled):active,.dial-input:not(.dial-input-error):not(:disabled):focus,.dial-input:not(.dial-input-error):not(:disabled):focus-within{border-color:var(--stroke-accent-primary,#124ace)!important;box-shadow:0 0 0 4px var(--bg-accent-primary-alpha,#7da4ff2e)!important}.dial-input-error{border-radius:.75rem!important}.
|
|
1
|
+
@keyframes _slide-up_3xrn0_1{0%{transform:translateY(100%)}to{transform:translateY(0)}}._backdrop_3xrn0_9{background:var(--ci-background-Backdrop,#0c101db2)}._sheet_3xrn0_13{background:var(--ci-sheet-bg,var(--bg-layer-0,#fcfcfc));animation:.3s cubic-bezier(.32,.72,0,1) _slide-up_3xrn0_1}._title_3xrn0_18{color:var(--ci-sheet-text,var(--text-primary,#161b2d))}._divider_3xrn0_22{background:var(--ci-sheet-divider,var(--bg-layer-4,#d1dbea))}._item_vou13_1{color:var(--ci-sheet-text,var(--text-primary,#161b2d))}._item_vou13_1:hover{background:var(--ci-sheet-item-hover,var(--bg-layer-3,#fcfcfc))}._item_vou13_1:active{background:var(--ci-sheet-item-active,var(--bg-layer-4,#d1dbea))}._itemIcon_vou13_11{color:var(--ci-sheet-icon,var(--text-secondary,#575f73))}._tabContainer_rzv03_1{background-color:#0000;color:var(--text-tertiary,#808898)!important;border-color:#0000!important}._tabContainer_rzv03_1:hover{background-color:#5c8dea0f;color:var(--text-secondary,#64748b)!important}._tabContainer_rzv03_1>span{text-align:center}._tabContainer_rzv03_1._tabActive_rzv03_13{background-color:#2764d912;color:var(--text-secondary,#64748b)!important}._tabContainer_rzv03_1._tabActive_rzv03_13:hover{background-color:#5c8dea0f}.dial-primary-solid-button{background-image:linear-gradient(135deg, var(--bg-accent-secondary,#37babc) 0%, var(--bg-accent-primary,#5c8dea) 30%, var(--bg-accent-tertiary,#a972ff) 100%);border-style:none;border-radius:9999px;transition:box-shadow .2s,transform .15s;box-shadow:0 0 16px #37babc40,0 4px 12px #a972ff38;background-color:#0000!important;padding-inline:24px!important}@media (hover:hover){.dial-primary-solid-button:hover{background-color:#0000;background-image:linear-gradient(135deg, var(--bg-accent-secondary,#37babc) 0%, var(--bg-accent-primary,#5c8dea) 30%, var(--bg-accent-tertiary,#a972ff) 100%);transform:translateY(-1px);box-shadow:0 0 24px #37babc59,0 6px 18px #a972ff4d}}.dial-primary-solid-button:active{background-color:#0000;background-image:linear-gradient(135deg, var(--bg-accent-secondary,#37babc) 0%, var(--bg-accent-primary,#5c8dea) 30%, var(--bg-accent-tertiary,#a972ff) 100%);filter:brightness(.92);transform:translateY(0);box-shadow:0 0 10px #37babc33,0 2px 6px #a972ff29}.dial-primary-solid-button:disabled{box-shadow:none;cursor:not-allowed;background-image:none;transform:none;background-color:var(--controls-bg-disable,#d1dbea)!important;color:var(--text-white,#fff)!important}.dial-danger-solid-button{border-radius:9999px!important}.dial-primary-solid-button.dial-primary-solid-button{background-color:#0000;background-image:linear-gradient(135deg,#4b7be6 0%,#9355f4 100%);border:none;border-radius:9999px;transition:box-shadow .2s,transform .15s;box-shadow:0 4px 16px #5c8dea52}@media (hover:hover){.dial-primary-solid-button.dial-primary-solid-button:hover{background-color:#0000;background-image:linear-gradient(135deg,#4b7be6 0%,#9355f4 100%);transform:translateY(-1px);box-shadow:0 6px 20px #5c8dea6b}}.dial-primary-solid-button.dial-primary-solid-button:active{filter:brightness(.92);background-color:#0000;background-image:linear-gradient(135deg,#4b7be6 0%,#9355f4 100%);transform:translateY(0);box-shadow:0 2px 8px #5c8dea38}.dial-primary-solid-button.dial-primary-solid-button:disabled{box-shadow:none;background-image:none;transform:none}.dial-neutral-outlined-button{transition:background-color .15s,border-color .15s;color:var(--bg-accent-primary,#2764d9)!important;background-color:#2764d914!important;background-image:none!important;border:1px solid #2764d933!important;border-radius:9999px!important}@media (hover:hover){.dial-neutral-outlined-button:hover:enabled{background-color:#2764d921!important;border-color:#2764d959!important}}.dial-neutral-outlined-button:active:enabled{background-color:#2764d92e!important;border-color:#2764d973!important}.dial-neutral-outlined-button:disabled{border-color:var(--stroke-secondary,#d1dbea);color:var(--controls-text-neutral-disable,#575f73);background-color:#0000;background-image:none}.dial-primary-ghost-button:not(.dial-icon-button){border-style:none;border-radius:9999px;color:var(--bg-accent-primary,#2764d9)!important}@media (hover:hover){.dial-primary-ghost-button:not(.dial-icon-button):hover:enabled{background-color:#2764d90d!important}}.dial-primary-ghost-button:not(.dial-icon-button):active:enabled{background-color:#2764d914!important}.dial-icon-button{border-radius:6px!important}.dial-input:not(.dial-input-error){transition:border-color .15s,box-shadow .15s;border-color:var(--stroke-tertiary,#e0e6f0)!important;border-radius:.75rem!important}.dial-input:not(.dial-input-error):not(:disabled):hover{border-color:var(--stroke-accent-primary,#7da4ff)!important}.dial-input:not(.dial-input-error):not(:disabled):active,.dial-input:not(.dial-input-error):not(:disabled):focus,.dial-input:not(.dial-input-error):not(:disabled):focus-within{border-color:var(--stroke-accent-primary,#124ace)!important;box-shadow:0 0 0 4px var(--bg-accent-primary-alpha,#7da4ff2e)!important}.dial-input-error{border-radius:.75rem!important}._container_8j81i_1{background:var(--ci-bg,var(--bg-layer-0,#fcfcfc));border-color:var(--ci-border,#0000000d);box-shadow:var(--ci-shadow,0 8px 24px #10182814);transition:border-color .15s,box-shadow .15s}._container_8j81i_1:hover:not(:focus-within){border-color:var(--ci-border-hover,#0000001f)}._container_8j81i_1:focus-within{border-color:var(--ci-border-focus,color-mix(in srgb, var(--stroke-accent-primary,#7da4ff) 50%, transparent));box-shadow:var(--ci-shadow-focus,0 8px 24px #10182814)}._container_8j81i_1._containerError_8j81i_14{border-color:var(--ci-voice-error,var(--stroke-error,#ae2f2f))}._waveformCanvas_8j81i_18{color:var(--ci-voice-waveform,var(--text-primary,#161b2d))}._timer_8j81i_22{color:var(--ci-voice-waveform,var(--text-primary,#161b2d));font-variant-numeric:tabular-nums;white-space:nowrap}._stopRecordingIcon_8j81i_28{color:var(--ci-voice-accent,var(--text-error,#ae2f2f))}@keyframes _recording-pulse_8j81i_1{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}._recordingDot_8j81i_42{background:var(--ci-voice-accent,var(--text-error,#ae2f2f));pointer-events:none;border-radius:50%;flex-shrink:0;width:8px;height:8px;animation:1.2s ease-in-out infinite _recording-pulse_8j81i_1;display:block}._wrapper_1q2nu_2{background:var(--ci-bg,var(--bg-layer-0,#fcfcfc));border-color:var(--ci-border,#0000000d);box-shadow:var(--ci-shadow,0 8px 24px #10182814);transition:border-color .15s,box-shadow .15s}._wrapper_1q2nu_2:hover:not(:focus-within){border-color:var(--ci-border-hover,#0000001f)}._wrapper_1q2nu_2:focus-within{border-color:var(--ci-border-focus,color-mix(in srgb, var(--stroke-accent-primary,#7da4ff) 50%, transparent));box-shadow:var(--ci-shadow-focus,0 8px 24px #10182814)}._wrapper_1q2nu_2._wrapperDisabled_1q2nu_15{background:var(--ci-bg-disabled,var(--controls-bg-disable,#d1dbea));cursor:not-allowed}._textarea_1q2nu_20{color:var(--ci-text,var(--text-primary,#161b2d))}._textarea_1q2nu_20::placeholder{color:var(--ci-placeholder,var(--text-secondary,#9fa6bd))}._textarea_1q2nu_20:disabled{color:var(--ci-text-disabled,var(--controls-text-primary-disable,#696e7c));cursor:not-allowed}._textarea_1q2nu_20:disabled::placeholder{color:var(--ci-placeholder-disabled,var(--controls-text-secondary-disable,#9fa6bd))}._stopIcon_1q2nu_34{color:var(--ci-stop-color,var(--text-secondary,#575f73))}._modelSelectorButton_1q2nu_38 ._modelSelectorCaret_1q2nu_38{color:var(--ci-model-selector-caret-color,var(--text-primary,#161b2d))}._modelSelectorButton_1q2nu_38:hover,._modelSelectorButton_1q2nu_38:active{background:var(--ci-model-selector-hover-bg,var(--controls-bg-accent-primary-alpha-active,#7da4ff5c))}._modelSelectorButton_1q2nu_38._modelSelectorButtonDisabled_1q2nu_44,._modelSelectorButton_1q2nu_38._modelSelectorButtonDisabled_1q2nu_44 ._modelSelectorCaret_1q2nu_38{color:var(--ci-model-selector-disabled-color,var(--controls-text-primary-disable,#696e7c))}@keyframes _sendButtonEnter_1q2nu_1{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes _sendButtonExit_1q2nu_55{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}._sendButton_1q2nu_55{background-color:#0000;background-image:var(--ci-send-bg-gradient,linear-gradient(135deg, #4b7be6 0%, #9355f4 100%));color:var(--ci-send-text,var(--controls-text-permanent,#fcfcfc));transition:filter .15s;animation:.22s cubic-bezier(.34,1.56,.64,1) _sendButtonEnter_1q2nu_1}._sendButton_1q2nu_55:hover{filter:brightness(1.08)}._sendButton_1q2nu_55:active{filter:brightness(.92)}._sendButton_1q2nu_55._sendButtonExiting_1q2nu_55{pointer-events:none;animation:.16s ease-in forwards _sendButtonExit_1q2nu_55}@media (prefers-reduced-motion:reduce){._sendButton_1q2nu_55,._sendButton_1q2nu_55._sendButtonExiting_1q2nu_55{animation:none}}._sendButton_1q2nu_55:disabled{background-image:none;background-color:var(--ci-send-bg-disabled,var(--controls-bg-disable,#d1dbea));color:var(--ci-send-text-disabled,var(--controls-text-primary-disable,#696e7c));filter:none}._divider_3wv6u_1{background:var(--ci-sheet-divider,var(--bg-layer-4,#d1dbea))}._item_3wv6u_5{color:var(--ci-sheet-text,var(--text-primary,#161b2d))}._item_3wv6u_5:hover{background:var(--ci-sheet-item-hover,var(--bg-layer-3,#fcfcfc))}._item_3wv6u_5:active{background:var(--ci-sheet-item-active,var(--bg-layer-4,#d1dbea))}._itemIcon_3wv6u_15{color:var(--ci-sheet-icon,var(--text-secondary,#575f73))}._checkIcon_3wv6u_19{color:var(--ci-check-icon,var(--text-accent-primary,#124ace))}._stateLabel_3wv6u_23{color:var(--ci-sheet-text,var(--text-secondary,#575f73))}._welcome_n2ph8_1{color:var(--ci-welcome-color,var(--text-primary,#161b2d))}
|
|
2
2
|
/*$vite$:1*/
|