@livelayer/react 0.10.0 → 0.10.1
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/dist/index.d.ts +16 -0
- package/dist/index.js +3 -3
- package/dist/index.mjs +1125 -1088
- package/dist/styles.css +57 -18
- package/package.json +1 -1
package/dist/styles.css
CHANGED
|
@@ -121,7 +121,18 @@
|
|
|
121
121
|
ancestor (translateZ, scale, etc.) capture the fixed chrome and
|
|
122
122
|
pin it to the slot rather than the viewport edge — that's what
|
|
123
123
|
made the side-tab and audio-waveform pill unreachable in EMBEDDED
|
|
124
|
-
pre-0.10.0. The .ll-widget base rules above apply unchanged.
|
|
124
|
+
pre-0.10.0. The .ll-widget base rules above apply unchanged.
|
|
125
|
+
|
|
126
|
+
The position rules INSIDE this container (HiddenLayout's
|
|
127
|
+
`position: fixed` on the side-tab) follow normal containing-block
|
|
128
|
+
rules: when the consumer scopes the portal to a specific element
|
|
129
|
+
via `floatingChromeContainer` (a fork-demo card, for example),
|
|
130
|
+
that element's `position: relative` becomes the containing block
|
|
131
|
+
if the chrome's positioning is `absolute` rather than `fixed`. We
|
|
132
|
+
leave HiddenLayout / MinimizedLayout's existing `position: fixed`
|
|
133
|
+
alone — consumers who pass a scoped container should mark it with
|
|
134
|
+
`transform: translateZ(0)` so `position: fixed` descendants
|
|
135
|
+
capture to the container instead of the viewport. */
|
|
125
136
|
.ll-widget--floating {
|
|
126
137
|
position: fixed;
|
|
127
138
|
pointer-events: none;
|
|
@@ -1040,19 +1051,22 @@
|
|
|
1040
1051
|
}
|
|
1041
1052
|
|
|
1042
1053
|
/* Captions affordance for deaf-friendly UX: when the latest transcript
|
|
1043
|
-
line is the AGENT's spoken output,
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1054
|
+
line is the AGENT's spoken output, render the pill in fully-saturated
|
|
1055
|
+
brand orange with crisp white text. The user's STT pill keeps the
|
|
1056
|
+
default dark styling so the two voices contrast immediately at a
|
|
1057
|
+
glance. Pre-0.10.1 the orange was rendered as a soft tint over a
|
|
1058
|
+
semi-transparent black backdrop, which compressed the color into
|
|
1059
|
+
a muddy brown — the user couldn't see "the agent is talking" at
|
|
1060
|
+
all. Now: solid #e06540 background, white 500-weight text, no
|
|
1061
|
+
blur (removed the dark backdrop-filter that was washing it out). */
|
|
1050
1062
|
.ll-expanded__transcript--agent {
|
|
1051
|
-
background:
|
|
1052
|
-
border-color: rgba(255,
|
|
1063
|
+
background: #e06540;
|
|
1064
|
+
border-color: rgba(255, 200, 160, 0.55);
|
|
1065
|
+
-webkit-backdrop-filter: none;
|
|
1066
|
+
backdrop-filter: none;
|
|
1053
1067
|
box-shadow:
|
|
1054
|
-
0 0
|
|
1055
|
-
inset 0 0 0 1px rgba(255,
|
|
1068
|
+
0 0 28px rgba(224, 101, 64, 0.5),
|
|
1069
|
+
inset 0 0 0 1px rgba(255, 215, 180, 0.3);
|
|
1056
1070
|
}
|
|
1057
1071
|
|
|
1058
1072
|
.ll-expanded__transcript--agent .ll-expanded__transcript-text {
|
|
@@ -1084,8 +1098,13 @@
|
|
|
1084
1098
|
display: flex;
|
|
1085
1099
|
align-items: center;
|
|
1086
1100
|
justify-content: center;
|
|
1087
|
-
gap:
|
|
1088
|
-
|
|
1101
|
+
gap: 2px;
|
|
1102
|
+
/* Toolbar must stay on one line. Wrapping produces a "4 buttons +
|
|
1103
|
+
red end-call below" layout in narrow slots (280px-wide marketing
|
|
1104
|
+
dock) — visually broken. Tight gap + slim split paddings below
|
|
1105
|
+
fit screen / camera-split / mic-split / speaker / end-call in
|
|
1106
|
+
~250px of usable width. */
|
|
1107
|
+
flex-wrap: nowrap;
|
|
1089
1108
|
}
|
|
1090
1109
|
|
|
1091
1110
|
.ll-tool {
|
|
@@ -1164,14 +1183,14 @@
|
|
|
1164
1183
|
}
|
|
1165
1184
|
|
|
1166
1185
|
.ll-tool-split .ll-tool--left {
|
|
1167
|
-
padding-left:
|
|
1168
|
-
padding-right:
|
|
1186
|
+
padding-left: 10px;
|
|
1187
|
+
padding-right: 2px;
|
|
1169
1188
|
width: auto;
|
|
1170
1189
|
}
|
|
1171
1190
|
|
|
1172
1191
|
.ll-tool-split .ll-tool--right {
|
|
1173
|
-
padding-left:
|
|
1174
|
-
padding-right:
|
|
1192
|
+
padding-left: 2px;
|
|
1193
|
+
padding-right: 8px;
|
|
1175
1194
|
width: auto;
|
|
1176
1195
|
color: rgba(255, 255, 255, 0.7);
|
|
1177
1196
|
}
|
|
@@ -1189,6 +1208,14 @@
|
|
|
1189
1208
|
/* ── Device selection menu (mic / camera) ───────────────── */
|
|
1190
1209
|
|
|
1191
1210
|
.ll-device-menu {
|
|
1211
|
+
/* Default = absolute (used inline within toolbar split). The
|
|
1212
|
+
ll-device-menu--floating modifier below overrides for the
|
|
1213
|
+
portaled variant rendered to document.body. The inline form
|
|
1214
|
+
was getting clipped by .ll-tool-split's overflow:hidden, which
|
|
1215
|
+
is why chevron clicks looked like no-ops — that's why
|
|
1216
|
+
ExpandedLayout now portals the menu by default. Keep the inline
|
|
1217
|
+
styles for backwards compatibility with consumers calling
|
|
1218
|
+
DeviceMenu directly. */
|
|
1192
1219
|
position: absolute;
|
|
1193
1220
|
bottom: calc(100% + 8px);
|
|
1194
1221
|
left: 50%;
|
|
@@ -1207,6 +1234,18 @@
|
|
|
1207
1234
|
gap: 2px;
|
|
1208
1235
|
}
|
|
1209
1236
|
|
|
1237
|
+
/* Portaled variant: rendered to document.body so it escapes any
|
|
1238
|
+
ancestor overflow:hidden / transform context. Position is set
|
|
1239
|
+
inline via getBoundingClientRect; reset the static defaults so
|
|
1240
|
+
they don't fight the inline styles. z-index matches the rest of
|
|
1241
|
+
the floating chrome (max-int) so we win over consumer overlays. */
|
|
1242
|
+
.ll-device-menu--floating {
|
|
1243
|
+
position: fixed;
|
|
1244
|
+
bottom: auto;
|
|
1245
|
+
left: auto;
|
|
1246
|
+
z-index: 2147483647;
|
|
1247
|
+
}
|
|
1248
|
+
|
|
1210
1249
|
.ll-device-menu__label {
|
|
1211
1250
|
margin: 0;
|
|
1212
1251
|
padding: 6px 10px 4px;
|
package/package.json
CHANGED