@cplieger/web-terminal-ui 6.1.0 → 6.1.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.
Files changed (2) hide show
  1. package/css/30-tabs.css +17 -3
  2. package/package.json +1 -1
package/css/30-tabs.css CHANGED
@@ -690,15 +690,29 @@
690
690
  in css/31-switcher.css. On the narrow-coarse phone the strip is hidden and
691
691
  the mobile switcher's inset is applied through viewport.ts
692
692
  (--wt-reserve-bottom) instead. Two rules because the class half cannot mix
693
- into a media condition; they set the same declaration. */
693
+ into a media condition; they set the same declaration.
694
+
695
+ The clearance is the strip's height PLUS --safe-bottom, because that is where
696
+ the strip is: .wt-tab-bar sits at `bottom: var(--safe-bottom)`, so the band it
697
+ occupies runs from --safe-bottom to --safe-bottom + --wt-tabbar-h. Clearing
698
+ the height alone left the surface reaching exactly env(safe-area-inset-bottom)
699
+ past the strip's top edge — 0 on a desktop, 20px in iPad Safari (viewport-fit
700
+ is cover, so the insets are live), where the terminal grew one extra row that
701
+ rendered behind the strip. --wt-tabbar-h is the bar's OWN height and must stay
702
+ that: the wide-touchscreen key grid (31-switcher.css) already adds the inset to
703
+ it itself, and folding the inset into the variable would double-count there.
704
+ The mobile switcher reaches the same total from the other direction, measuring
705
+ `innerHeight - rect.top` so the inset rides along inside --wt-reserve-bottom.
706
+ --kb-inset is deliberately absent: viewport.ts owns the keyboard case by
707
+ writing an inline bottom on the surface, which outranks this rule entirely. */
694
708
  @media (pointer: fine) {
695
709
  :where(.wt-root) .term.wt-with-tabbar {
696
- bottom: var(--wt-tabbar-h, 44px);
710
+ bottom: calc(var(--wt-tabbar-h, 44px) + var(--safe-bottom, 0px));
697
711
  }
698
712
  }
699
713
 
700
714
  :where(.wt-root:not(.wt-narrow)) .term.wt-with-tabbar {
701
- bottom: var(--wt-tabbar-h, 44px);
715
+ bottom: calc(var(--wt-tabbar-h, 44px) + var(--safe-bottom, 0px));
702
716
  }
703
717
 
704
718
  /* ===== Activity dots (activityMonitor via tabs) =====
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cplieger/web-terminal-ui",
3
- "version": "6.1.0",
3
+ "version": "6.1.1",
4
4
  "type": "module",
5
5
  "description": "Reference touch-first browser UI for @cplieger/web-terminal-engine: a composable kernel + feature modules (tabs, activity monitor, mobile toolbar, context menu, IME, predictive echo, viewport handling) and CSS. One createTerminal() call.",
6
6
  "license": "MPL-2.0",