@arcote.tech/arc-ai-voice 0.7.12 → 0.7.14

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@arcote.tech/arc-ai-voice",
3
3
  "type": "module",
4
- "version": "0.7.12",
4
+ "version": "0.7.14",
5
5
  "private": false,
6
6
  "description": "Voice input + transcription standard for Arc — provider abstraction (Whisper, ...) + React VoiceTextInput/Textarea/ContentEditable components",
7
7
  "main": "./src/index.ts",
@@ -10,9 +10,9 @@
10
10
  "type-check": "tsc --noEmit"
11
11
  },
12
12
  "peerDependencies": {
13
- "@arcote.tech/arc": "^0.7.12",
14
- "@arcote.tech/arc-ds": "^0.7.12",
15
- "@arcote.tech/platform": "^0.7.12",
13
+ "@arcote.tech/arc": "^0.7.14",
14
+ "@arcote.tech/arc-ds": "^0.7.14",
15
+ "@arcote.tech/platform": "^0.7.14",
16
16
  "react": "^18.0.0 || ^19.0.0",
17
17
  "lucide-react": ">=0.400.0",
18
18
  "typescript": "^5.0.0"
@@ -53,13 +53,6 @@ export function VoiceTextarea({
53
53
 
54
54
  const recording = state === "recording";
55
55
 
56
- // Pojedyncza linia (np. chat-input rows=1) — button vertically centered.
57
- // Wieloliniowo — button kotwiczony w prawym górnym, przy pierwszej linii.
58
- const isSingleLine = (rows ?? 1) <= 1;
59
- const buttonPosition = isSingleLine
60
- ? "top-1/2 -translate-y-1/2 right-1.5"
61
- : "top-1.5 right-1.5";
62
-
63
56
  return (
64
57
  <div className={`relative ${className ?? ""}`}>
65
58
  <TextareaField
@@ -74,7 +67,15 @@ export function VoiceTextarea({
74
67
  // MM:SS timer (szerszy widget) — większy padding.
75
68
  inputClassName={recording ? "pr-28" : "pr-10"}
76
69
  />
77
- <div className={`absolute ${buttonPosition}`}>
70
+ {/*
71
+ Kotwica przy PIERWSZEJ linii (top-1.5 right-1.5), nie w pionowym
72
+ środku całego boksa. Dla single-line (chat rows=1) środek przycisku
73
+ (h-7) i tak wypada na ~20px = środek 40px pola, więc wygląda tak samo
74
+ jak wcześniejsze top-1/2. Różnica: top-1.5 jest STAŁE — gdy
75
+ contentEditable auto-rośnie z treścią, przycisk zostaje przy
76
+ pierwszej linii zamiast spływać do środka wysokiego pola.
77
+ */}
78
+ <div className="absolute top-1.5 right-1.5">
78
79
  <VoiceButton
79
80
  state={state}
80
81
  elapsedMs={elapsedMs}