@livelayer/react 0.15.3 → 0.17.0

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/styles.css CHANGED
@@ -141,15 +141,28 @@
141
141
  pointer-events: auto;
142
142
  }
143
143
 
144
- /* Mobile: minimized + expanded ignore position, always full-width bottom. */
145
- .ll-widget--mobile.ll-widget--minimized,
146
- .ll-widget--mobile.ll-widget--expanded {
144
+ /* Mobile minimized is the explicit "shrink to a bottom bar" state the
145
+ user picks via the minimize button. Honor that intent — full-width
146
+ 72px dock anchored to the bottom. */
147
+ .ll-widget--mobile.ll-widget--minimized {
147
148
  left: 0;
148
149
  right: 0;
149
150
  bottom: 0;
150
151
  top: auto;
151
152
  }
152
153
 
154
+ /* Mobile expanded was previously also pinned edge-to-edge (100vw ×
155
+ 80dvh). That made the idle widget cover ~60% of the phone screen
156
+ before the visitor had tapped anything — repeatedly reported as
157
+ "this is blocking the entire interface." Mobile expanded now uses
158
+ the same card shape as desktop, sized down to fit comfortably in a
159
+ phone viewport. The position prop (bottom-right by default) anchors
160
+ it via the rules in .ll-widget[data-position="..."] above. */
161
+ .ll-widget--mobile.ll-widget--expanded {
162
+ /* Inherits left/right/top/bottom from the position-prop rules.
163
+ Nothing to override here. */
164
+ }
165
+
153
166
  /* ── Embedded experience mode ──────────────────────────────────────
154
167
  When `experienceMode="EMBEDDED"`, the widget renders inline within
155
168
  the host container instead of as a fixed-position floating overlay.
@@ -576,12 +589,25 @@
576
589
  }
577
590
 
578
591
  .ll-expanded--mobile {
579
- width: 100vw;
580
- height: 80dvh;
581
- border-top-left-radius: 20px;
582
- border-top-right-radius: 20px;
583
- border-bottom-left-radius: 0;
584
- border-bottom-right-radius: 0;
592
+ /* Mobile expanded is a thumbnail PiP — 9:16 portrait, ~150px wide.
593
+ The visitor's website is the primary surface; the widget is a
594
+ persistent reachable affordance, not the focus. Sized so it fits
595
+ comfortably alongside content without blocking it.
596
+
597
+ Evolution:
598
+ v0: 100vw × 80dvh edge-to-edge sheet → blocked 60% of screen
599
+ v0.16: 380 × 540 card → marginally smaller, still ~90% of phone width
600
+ v0.17: 150 × 267 (9:16) thumbnail → properly out-of-the-way
601
+
602
+ The clamp lets the card scale slightly with viewport — tiny phones
603
+ (320px wide) get 140px, normal phones (393-430px) stay at the
604
+ 150px sweet spot, larger phones / foldables (500px+) can grow to
605
+ 180px. aspect-ratio derives height from width so the 9:16 portrait
606
+ framing stays exact regardless of where in the clamp range the
607
+ viewport lands. */
608
+ width: clamp(140px, 38vw, 180px);
609
+ aspect-ratio: 9 / 16;
610
+ border-radius: 16px;
585
611
  }
586
612
 
587
613
  /* ── Background layers ───────────────────────────────────────── */
@@ -1525,9 +1551,13 @@
1525
1551
  }
1526
1552
 
1527
1553
  .ll-expanded--mobile .ll-expanded__pip {
1528
- right: 10px;
1529
- width: 96px;
1530
- height: 72px;
1554
+ /* Scaled down to fit the 0.17.0 mobile thumbnail card (~150px
1555
+ wide). A 96px PiP in a 150px card would cover nearly the entire
1556
+ surface during a call — defeats the point of the PiP. 48×36 is
1557
+ readable as "your camera preview" at the card scale. */
1558
+ right: 8px;
1559
+ width: 48px;
1560
+ height: 36px;
1531
1561
  }
1532
1562
 
1533
1563
  /* ── Error boundary fallback ─────────────────────────────────── */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@livelayer/react",
3
- "version": "0.15.3",
3
+ "version": "0.17.0",
4
4
  "description": "LiveLayer agent widget for React — avatar video, team switching, responsive layouts, full-fidelity embed",
5
5
  "keywords": [
6
6
  "livelayer",