@klodd/ds 3.14.5 → 3.14.6

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.
@@ -443,7 +443,6 @@
443
443
  --safe-right: env(safe-area-inset-right, 0px);
444
444
 
445
445
  --viewport-height: 100vh;
446
- --vv-offset: 0px; /* JS-driven (pwa-register.js syncNavBottom): visual viewport-offset vs layout viewport */
447
446
 
448
447
  --touch-min: 44px;
449
448
 
@@ -30,7 +30,7 @@
30
30
  ================================================================ */
31
31
  .bottom-nav {
32
32
  position: fixed;
33
- bottom: calc(var(--safe-bottom) + var(--space-12) + var(--vv-offset));
33
+ bottom: calc(var(--safe-bottom) + var(--space-12));
34
34
  left: var(--space-16);
35
35
  right: var(--space-16);
36
36
  z-index: var(--z-nav);
@@ -62,21 +62,21 @@
62
62
  }
63
63
 
64
64
  /*------------------------------------------------------------
65
- Visual viewport-sync for .bottom-nav (iOS PWA cold-start)
66
- iOS Safari beraknar layout viewport (window.innerHeight) fel
67
- vid cold start - skiljer sig fran visual viewport (faktiskt
68
- synlig area). Skriver skillnaden till --vv-offset sa
69
- .bottom-nav kan kompensera via bottom: calc(... + var(--vv-offset)).
65
+ Permanent fixed-anchor (iOS PWA cold-start safe-area fix)
66
+ En 1x1px osynlig fixed-positionerad div pa <body> som ligger
67
+ kvar hela sidans livstid. WebKit verkar resolva env(safe-area-
68
+ inset-*) korrekt nar det finns minst en aktiv fixed-positioning-
69
+ context i layouten. Tidigare probe-element-iterationer skapade
70
+ + tog bort - att lamna kvar anchorn ar mer palitligt.
70
71
 
71
- Vid normal anvandning ar offset 0px. Vid iOS cold-start eller
72
- on-screen-keyboard ar offset > 0 och pillen hoppar uppat dar
73
- visual viewport faktiskt slutar.
72
+ aria-hidden + opacity 0 + pointer-events none - inte synligt
73
+ eller upptackt av screen readers / pointer-events.
74
74
  ------------------------------------------------------------*/
75
- function syncNavBottom() {
76
- const vv = root.visualViewport;
77
- if (!vv) return;
78
- const offset = root.innerHeight - vv.height - vv.offsetTop;
79
- doc.documentElement.style.setProperty('--vv-offset', offset + 'px');
75
+ function insertFixedAnchor() {
76
+ const el = doc.createElement('div');
77
+ el.setAttribute('aria-hidden', 'true');
78
+ el.style.cssText = 'position:fixed;bottom:0;left:0;width:1px;height:1px;opacity:0;pointer-events:none;';
79
+ doc.body.appendChild(el);
80
80
  }
81
81
 
82
82
  /*------------------------------------------------------------
@@ -90,10 +90,5 @@
90
90
 
91
91
  registerSW(cfg);
92
92
 
93
- if (root.visualViewport) {
94
- root.visualViewport.addEventListener('resize', syncNavBottom);
95
- root.visualViewport.addEventListener('scroll', syncNavBottom);
96
- }
97
- doc.addEventListener('DOMContentLoaded', syncNavBottom);
98
- root.addEventListener('load', syncNavBottom);
93
+ doc.addEventListener('DOMContentLoaded', insertFixedAnchor);
99
94
  })(typeof window !== 'undefined' ? window : globalThis, document);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@klodd/ds",
3
- "version": "3.14.5",
3
+ "version": "3.14.6",
4
4
  "description": "Klodd shared design system - tokens, components, JS",
5
5
  "main": "css/index.css",
6
6
  "bin": {