viewport-truth 1.0.2 → 1.0.4
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/README.md +134 -192
- package/dist/angular.d.ts +1 -1
- package/dist/angular.d.ts.map +1 -1
- package/dist/angular.js +1 -1
- package/dist/angular.js.map +1 -1
- package/dist/core/engine.d.ts +1 -1
- package/dist/core/engine.d.ts.map +1 -1
- package/dist/core/engine.js +2 -2
- package/dist/core/engine.js.map +1 -1
- package/dist/core/env.d.ts.map +1 -1
- package/dist/core/env.js +4 -2
- package/dist/core/env.js.map +1 -1
- package/dist/core/index.d.ts +2 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/scheduler.js +1 -1
- package/dist/core/scheduler.js.map +1 -1
- package/dist/index.d.ts +7 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -7
- package/dist/index.js.map +1 -1
- package/dist/react.d.ts +1 -1
- package/dist/react.d.ts.map +1 -1
- package/dist/react.js +1 -1
- package/dist/react.js.map +1 -1
- package/dist/solid.d.ts +1 -1
- package/dist/solid.d.ts.map +1 -1
- package/dist/solid.js +1 -1
- package/dist/solid.js.map +1 -1
- package/dist/svelte.d.ts +1 -1
- package/dist/svelte.d.ts.map +1 -1
- package/dist/svelte.js +1 -1
- package/dist/svelte.js.map +1 -1
- package/dist/vanilla.d.ts +1 -1
- package/dist/vanilla.d.ts.map +1 -1
- package/dist/vanilla.js +1 -1
- package/dist/vanilla.js.map +1 -1
- package/dist/vue.d.ts +1 -1
- package/dist/vue.d.ts.map +1 -1
- package/dist/vue.js +1 -1
- package/dist/vue.js.map +1 -1
- package/package.json +84 -73
- package/banner.js +0 -46
package/README.md
CHANGED
|
@@ -1,251 +1,193 @@
|
|
|
1
|
-
# viewport-truth
|
|
1
|
+
# viewport-truth
|
|
2
|
+
|
|
3
|
+
> Fastest way to measure the real visible mobile viewport without 100vh glitches, resize/scroll jitter, or keyboard hacks.
|
|
2
4
|
|
|
3
5
|
[](https://www.npmjs.com/package/viewport-truth)
|
|
4
|
-
[](https://github.com/
|
|
6
|
+
[](https://www.npmjs.com/package/viewport-truth)
|
|
7
|
+
[](https://github.com/AntonVoronezh/viewport-truth/blob/main/LICENSE)
|
|
8
|
+
[](https://github.com/AntonVoronezh/viewport-truth/actions/workflows/ci.yml)
|
|
6
9
|
[](https://boosty.to/antonvoronezh/donate)
|
|
7
10
|
[](https://t.me/AntonVoronezhh/4)
|
|
8
11
|
|
|
9
|
-
|
|
10
|
-
> Always returns the *visible* viewport size in **CSS px** (VisualViewport-first) and tells you when the **virtual keyboard** actually ate your UI.
|
|
11
|
-
|
|
12
|
-
---
|
|
13
|
-
|
|
14
|
-
## Why? 🤔
|
|
15
|
-
|
|
16
|
-
Mobile viewport is Geometry Hell. You write `100vh` and expect “screen height”. The browser replies: “adorable.”
|
|
17
|
-
|
|
18
|
-
You don’t want to:
|
|
19
|
-
|
|
20
|
-
- ❌ Build “fullscreen” layouts that jump on iOS Safari when the URL bar expands/collapses.
|
|
21
|
-
- ❌ Ship modals / sticky footers that slide under the virtual keyboard.
|
|
22
|
-
- ❌ Depend on `resize` events that jitter on scroll and lie across mobile browsers.
|
|
23
|
-
- ❌ Maintain hacks with `focusin/focusout`, timeouts, and fragile heuristics.
|
|
24
|
-
|
|
25
|
-
**viewport-truth** solves it by using the **Visual Viewport API** as the primary source of truth, stabilizing updates, and providing `isKeyboardOpen` based on geometry—without DOM polling.
|
|
26
|
-
|
|
27
|
-
- **Universal:** React, Vue, Svelte, Solid, Angular, Vanilla.
|
|
28
|
-
- **Tiny:** tree-shakeable, zero runtime deps.
|
|
29
|
-
- **Performant:** rAF throttling, microtask coalescing, idle stability work.
|
|
30
|
-
|
|
31
|
-
---
|
|
32
|
-
|
|
33
|
-
## Installation 📦
|
|
12
|
+
Stop guessing mobile viewport sizes. viewport-truth delivers stable, keyboard-aware visible viewport metrics (VisualViewport-first) across iOS Safari, Android Chrome, PWAs, and webviews—framework adapters included, SSR-safe, zero runtime deps.
|
|
34
13
|
|
|
35
14
|
```bash
|
|
36
|
-
npm
|
|
37
|
-
# or
|
|
38
|
-
|
|
39
|
-
# or
|
|
40
|
-
pnpm add viewport-truth
|
|
15
|
+
npm i viewport-truth
|
|
16
|
+
# or: yarn add viewport-truth
|
|
17
|
+
# or: pnpm add viewport-truth
|
|
41
18
|
```
|
|
42
19
|
|
|
43
|
-
## Usage 🚀
|
|
44
20
|
|
|
45
|
-
###
|
|
21
|
+
### Quick Start
|
|
22
|
+
Minimal flow: import → create → subscribe → get { width, height, isKeyboardOpen, isStable }.
|
|
46
23
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
```tsx
|
|
50
|
-
import { useViewportTruth } from "viewport-truth/react";
|
|
24
|
+
```js
|
|
25
|
+
import { createViewportTruth } from "viewport-truth/vanilla";
|
|
51
26
|
|
|
52
|
-
|
|
53
|
-
const v = useViewportTruth();
|
|
27
|
+
const vt = createViewportTruth();
|
|
54
28
|
|
|
55
|
-
|
|
29
|
+
const unsub = vt.subscribe((v) => {
|
|
30
|
+
if (!v) return;
|
|
56
31
|
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
<div>Visible: {v.width} × {v.height} (CSS px)</div>
|
|
60
|
-
<div>Keyboard: {String(v.isKeyboardOpen)} · Stable: {String(v.isStable)}</div>
|
|
61
|
-
</div>
|
|
32
|
+
console.log(
|
|
33
|
+
`visible=${v.width}x${v.height} keyboard=${v.isKeyboardOpen} stable=${v.isStable}`
|
|
62
34
|
);
|
|
63
|
-
}
|
|
35
|
+
});
|
|
64
36
|
|
|
37
|
+
// later:
|
|
38
|
+
// unsub();
|
|
39
|
+
// vt.destroy();
|
|
65
40
|
```
|
|
66
41
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
Use the `useViewportTruth` composable.
|
|
70
|
-
|
|
71
|
-
```html
|
|
72
|
-
<script setup lang="ts">
|
|
73
|
-
import { computed } from "vue";
|
|
74
|
-
import { useViewportTruth } from "viewport-truth/vue";
|
|
75
|
-
|
|
76
|
-
const v = useViewportTruth();
|
|
77
|
-
const label = computed(() =>
|
|
78
|
-
v.value
|
|
79
|
-
? `Visible: ${v.value.width}×${v.value.height} · Keyboard: ${v.value.isKeyboardOpen}`
|
|
80
|
-
: "SSR…"
|
|
81
|
-
);
|
|
82
|
-
</script>
|
|
83
|
-
|
|
84
|
-
<template>
|
|
85
|
-
<div style="padding: 12px; border: 1px solid #ddd;">
|
|
86
|
-
{{ label }}
|
|
87
|
-
</div>
|
|
88
|
-
</template>
|
|
42
|
+
## Quick Start test (clean environment)
|
|
89
43
|
|
|
44
|
+
This verifies the Quick Start code runs end-to-end in a fresh project.
|
|
90
45
|
|
|
46
|
+
```bash
|
|
47
|
+
mkdir vt-smoke && cd vt-smoke
|
|
48
|
+
npm init -y
|
|
49
|
+
npm i viewport-truth vite
|
|
50
|
+
npm pkg set type=module
|
|
91
51
|
```
|
|
52
|
+
Create index.html:
|
|
92
53
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
<script
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
</script>
|
|
102
|
-
|
|
103
|
-
<div style="padding:12px;border:1px solid #ddd">
|
|
104
|
-
{#if $v}
|
|
105
|
-
<div>Visible: {$v.width}×{$v.height}</div>
|
|
106
|
-
<div>Keyboard: {$v.isKeyboardOpen} · Stable: {$v.isStable}</div>
|
|
107
|
-
{/if}
|
|
108
|
-
</div>
|
|
109
|
-
|
|
54
|
+
```html
|
|
55
|
+
<!doctype html>
|
|
56
|
+
<html>
|
|
57
|
+
<body>
|
|
58
|
+
<pre id="out">loading…</pre>
|
|
59
|
+
<script type="module" src="/main.js"></script>
|
|
60
|
+
</body>
|
|
61
|
+
</html>
|
|
110
62
|
```
|
|
111
63
|
|
|
112
|
-
|
|
64
|
+
Create main.js:
|
|
113
65
|
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
```tsx
|
|
117
|
-
iimport { createViewportTruth } from "viewport-truth/solid";
|
|
66
|
+
```js
|
|
67
|
+
import { createViewportTruth } from "viewport-truth/vanilla";
|
|
118
68
|
|
|
119
|
-
|
|
120
|
-
|
|
69
|
+
const out = document.getElementById("out");
|
|
70
|
+
const vt = createViewportTruth();
|
|
121
71
|
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
<>
|
|
126
|
-
<div>Visible: {v()!.width}×{v()!.height}</div>
|
|
127
|
-
<div>Keyboard: {String(v()!.isKeyboardOpen)} · Stable: {String(v()!.isStable)}</div>
|
|
128
|
-
</>
|
|
129
|
-
) : null}
|
|
130
|
-
</div>
|
|
131
|
-
);
|
|
132
|
-
}
|
|
72
|
+
vt.subscribe((v) => {
|
|
73
|
+
out.textContent = JSON.stringify(v, null, 2);
|
|
74
|
+
});
|
|
133
75
|
```
|
|
134
76
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
Use the standalone `ViewportTruthDirective`.
|
|
138
|
-
|
|
139
|
-
```typescript
|
|
140
|
-
import { Component } from "@angular/core";
|
|
141
|
-
import { CommonModule } from "@angular/common";
|
|
142
|
-
import { ViewportTruthDirective } from "viewport-truth/angular";
|
|
143
|
-
|
|
144
|
-
@Component({
|
|
145
|
-
selector: "app-viewport-debug",
|
|
146
|
-
standalone: true,
|
|
147
|
-
imports: [CommonModule, ViewportTruthDirective],
|
|
148
|
-
template: `
|
|
149
|
-
<div viewportTruth #vt="viewportTruth" style="padding:12px;border:1px solid #ddd;">
|
|
150
|
-
<ng-container *ngIf="vt.vt()() as v">
|
|
151
|
-
<div>Visible: {{ v.width }}×{{ v.height }}</div>
|
|
152
|
-
<div>Keyboard: {{ v.isKeyboardOpen }} · Stable: {{ v.isStable }}</div>
|
|
153
|
-
</ng-container>
|
|
154
|
-
</div>
|
|
155
|
-
`,
|
|
156
|
-
})
|
|
157
|
-
export class ViewportDebugComponent {}
|
|
77
|
+
Run:
|
|
158
78
|
|
|
79
|
+
```bash
|
|
80
|
+
npx vite
|
|
159
81
|
```
|
|
160
82
|
|
|
161
|
-
|
|
83
|
+
Open the URL on mobile (or device emulator) and focus an input to see `isKeyboardOpen` change.
|
|
162
84
|
|
|
163
|
-
|
|
164
|
-
import { createViewportTruth } from "viewport-truth/vanilla";
|
|
85
|
+
## Wow example (keyboard eats UI… and you can see it)
|
|
165
86
|
|
|
166
|
-
|
|
87
|
+
A tiny bottom bar that stays visible and shows exactly how much viewport you lost.
|
|
167
88
|
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
el.textContent = `Visible: ${v.width}×${v.height} | Keyboard: ${v.isKeyboardOpen} | Stable: ${v.isStable}`;
|
|
171
|
-
});
|
|
89
|
+
> Run it in a real page (Vite/Parcel/Next) — the snippet won’t execute inside README.
|
|
90
|
+
> On mobile: scroll a bit (URL bar), then focus the input (keyboard).
|
|
172
91
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
92
|
+
```html
|
|
93
|
+
<div id="app" style="padding:16px 16px 96px">
|
|
94
|
+
<input
|
|
95
|
+
placeholder="Focus me to open keyboard"
|
|
96
|
+
style="width:100%;padding:12px;font-size:16px;box-sizing:border-box"
|
|
97
|
+
/>
|
|
98
|
+
<p style="margin:12px 0 0;color:#444">
|
|
99
|
+
Tip: scroll a bit (URL bar animates), then focus the input.
|
|
100
|
+
</p>
|
|
101
|
+
|
|
102
|
+
<div style="height:120vh"></div>
|
|
103
|
+
<div id="bar"></div>
|
|
104
|
+
</div>
|
|
176
105
|
|
|
106
|
+
<script type="module">
|
|
107
|
+
import { createViewportTruth } from "viewport-truth/vanilla";
|
|
108
|
+
|
|
109
|
+
const bar = document.getElementById("bar");
|
|
110
|
+
Object.assign(bar.style, {
|
|
111
|
+
position: "fixed",
|
|
112
|
+
left: "0",
|
|
113
|
+
right: "0",
|
|
114
|
+
bottom: "0",
|
|
115
|
+
padding: "10px 12px",
|
|
116
|
+
font: "12px/1.35 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace",
|
|
117
|
+
background: "rgba(0,0,0,.86)",
|
|
118
|
+
color: "white",
|
|
119
|
+
zIndex: "9999",
|
|
120
|
+
whiteSpace: "pre",
|
|
121
|
+
});
|
|
122
|
+
|
|
123
|
+
const vt = createViewportTruth();
|
|
124
|
+
|
|
125
|
+
vt.subscribe((v) => {
|
|
126
|
+
if (!v) return;
|
|
127
|
+
|
|
128
|
+
// Fallback keeps the snippet working even if layoutWidth/layoutHeight aren't present.
|
|
129
|
+
const layoutW = v.layoutWidth ?? v.width;
|
|
130
|
+
const layoutH = v.layoutHeight ?? v.height;
|
|
131
|
+
|
|
132
|
+
const lost = Math.max(0, layoutH - v.height);
|
|
133
|
+
|
|
134
|
+
bar.textContent =
|
|
135
|
+
`visible: ${v.width}×${v.height}
|
|
136
|
+
layout: ${layoutW}×${layoutH}
|
|
137
|
+
lost: ${lost}px
|
|
138
|
+
keyboard: ${v.isKeyboardOpen}
|
|
139
|
+
stable: ${v.isStable}`;
|
|
140
|
+
});
|
|
141
|
+
</script>
|
|
177
142
|
```
|
|
178
143
|
|
|
179
|
-
|
|
144
|
+
## Features
|
|
180
145
|
|
|
181
|
-
|
|
146
|
+
A few concrete, technical reasons it behaves well on mobile:
|
|
182
147
|
|
|
183
|
-
|
|
148
|
+
- **Tiny:** ~< 2 KB min+gzip (check the Bundlephobia badge).
|
|
149
|
+
- **Fast updates:** emits at most **1 update per animation frame** (rAF throttling).
|
|
150
|
+
- **Zero runtime deps:** **0 dependencies** at runtime (tree-shakeable ESM).
|
|
151
|
+
- **Stable signal:** `isStable` flips after **150ms** (default) without geometry changes.
|
|
184
152
|
|
|
185
|
-
|
|
186
|
-
// React
|
|
187
|
-
useViewportTruth({
|
|
188
|
-
stableDelayMs: 150,
|
|
189
|
-
keyboardRatio: 0.75,
|
|
190
|
-
keyboardMinDeltaPx: 120,
|
|
191
|
-
});
|
|
192
|
-
|
|
193
|
-
// Vanilla
|
|
194
|
-
createViewportTruth({
|
|
195
|
-
trustVisualViewportUnderZoom: true,
|
|
196
|
-
minViewportPx: 1,
|
|
197
|
-
});
|
|
153
|
+
---
|
|
198
154
|
|
|
199
|
-
|
|
155
|
+
## API (snapshot)
|
|
200
156
|
|
|
201
|
-
|
|
202
|
-
|---|---|---:|---|
|
|
203
|
-
| `stableDelayMs` | `number` | `150` | `isStable` becomes `true` after this many ms without changes (end of URL bar/keyboard animation). |
|
|
204
|
-
| `keyboardRatio` | `number` | `0.75` | If `visibleHeight < layoutHeight * keyboardRatio`, keyboard is likely open. |
|
|
205
|
-
| `keyboardMinDeltaPx` | `number` | `120` | Minimum height loss (px) required to mark keyboard as open (prevents false positives). |
|
|
206
|
-
| `minViewportPx` | `number` | `1` | Clamps transient `0` / broken values during rotations and browser quirks. |
|
|
207
|
-
| `trustVisualViewportUnderZoom` | `boolean` | `true` | Keep using `visualViewport` even when pinch-zoom is active (`scale !== 1`). |
|
|
208
|
-
| `safeAreaInsets` | `{ top?: number; right?: number; bottom?: number; left?: number }` | `{}` | Optional safe-area compensation (core does not read CSS `env()` automatically). |
|
|
157
|
+
Core snapshot fields you’ll typically use:
|
|
209
158
|
|
|
159
|
+
- `width`, `height` — visible viewport size (CSS px)
|
|
160
|
+
- `layoutWidth`, `layoutHeight` — layout viewport (basis for keyboard detection)
|
|
161
|
+
- `isKeyboardOpen` — geometry-based keyboard inference
|
|
162
|
+
- `isStable` — “animations settled” signal for UI decisions
|
|
210
163
|
|
|
211
|
-
|
|
164
|
+
Framework adapters:
|
|
212
165
|
|
|
213
|
-
|
|
166
|
+
- **React:** `useViewportTruth` from `viewport-truth/react`
|
|
167
|
+
- **Vue:** `useViewportTruth` from `viewport-truth/vue`
|
|
168
|
+
- **Svelte:** `viewportTruth` from `viewport-truth/svelte`
|
|
169
|
+
- **Solid:** `createViewportTruth` from `viewport-truth/solid`
|
|
170
|
+
- **Angular:** `ViewportTruthDirective` from `viewport-truth/angular`
|
|
214
171
|
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
-
|
|
218
|
-
-
|
|
219
|
-
-
|
|
220
|
-
|
|
221
|
-
- **Keyboard detection (geometry-based):** We infer `isKeyboardOpen` by comparing **visible** vs **layout** viewport:
|
|
222
|
-
- `visibleHeight < layoutHeight * keyboardRatio` and
|
|
223
|
-
- `(layoutHeight - visibleHeight) >= keyboardMinDeltaPx`
|
|
224
|
-
- **SSR-safe:** On the server, it returns `null` and attaches listeners only in the browser.
|
|
225
|
-
- **No DOM polling:** Core doesn’t query your layout or mutate styles; it only reads viewport metrics and emits snapshots.
|
|
172
|
+
Docs: [React](https://github.com/AntonVoronezh/viewport-truth/blob/main/docs/react.md) •
|
|
173
|
+
[Vue](https://github.com/AntonVoronezh/viewport-truth/blob/main/docs/vue.md) •
|
|
174
|
+
[Svelte](https://github.com/AntonVoronezh/viewport-truth/blob/main/docs/svelte.md) •
|
|
175
|
+
[Solid](https://github.com/AntonVoronezh/viewport-truth/blob/main/docs/solid.md) •
|
|
176
|
+
[Angular](https://github.com/AntonVoronezh/viewport-truth/blob/main/docs/angular.md)
|
|
177
|
+
> **Tip:** Open links in a new tab with **Ctrl+Click** (Windows/Linux) or **Cmd+Click** (macOS).
|
|
226
178
|
|
|
227
|
-
## Support the project
|
|
179
|
+
## Support the project
|
|
228
180
|
|
|
229
181
|
> “We ate the Geometry Hell for you: jumping `100vh`, jittery `resize`, modals under the keyboard.
|
|
230
182
|
> You saved hours (and sanity). A donation is a fair trade for a rock-solid UI and weekends free from debugging.”
|
|
231
183
|
|
|
232
184
|
If this library saved you time, please consider supporting the development:
|
|
233
185
|
|
|
234
|
-
1.
|
|
235
|
-
2.
|
|
186
|
+
1. **Fiat (Cards/PayPal):** via **[Boosty](https://boosty.to/antonvoronezh/donate)** (one-time or monthly).
|
|
187
|
+
2. **Crypto (USDT/TON/BTC/ETH):** view wallet addresses on **[Telegram](https://t.me/AntonVoronezhh/4)**.
|
|
236
188
|
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
<img src="https://img.shields.io/badge/Support_on-Boosty-orange?style=for-the-badge&logo=boosty" alt="Support on Boosty">
|
|
240
|
-
</a>
|
|
241
|
-
<a href="https://t.me/AntonVoronezhh/4">
|
|
242
|
-
<img src="https://img.shields.io/badge/Crypto_via-Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white" alt="Crypto via Telegram">
|
|
243
|
-
</a>
|
|
244
|
-
</div>
|
|
189
|
+
[](https://boosty.to/antonvoronezh/donate)
|
|
190
|
+
[](https://t.me/AntonVoronezhh/4)
|
|
245
191
|
|
|
246
192
|
## License
|
|
247
|
-
|
|
248
193
|
MIT
|
|
249
|
-
|
|
250
|
-
## Keywords
|
|
251
|
-
`viewport`, `visualViewport`, `mobile viewport`, `iOS Safari`, `Android Chrome`, `100vh`, `dvh`, `svh`, `lvh`, `safe-area-inset`, `on-screen keyboard`, `virtual keyboard`, `resize`, `scroll`, `URL bar`, `address bar`, `layout viewport`, `visual viewport`, `responsive UI`, `modals`, `bottom sheet`, `fullscreen`, `PWA`, `SSR`, `requestAnimationFrame`, `debounce`, `throttling`, `webview`, `Capacitor`, `Cordova`, `React`, `Vue`, `Svelte`, `SolidJS`, `Angular`, `vanilla JS`
|
package/dist/angular.d.ts
CHANGED
package/dist/angular.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular.d.ts","sourceRoot":"","sources":["../src/angular.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"angular.d.ts","sourceRoot":"","sources":["../src/angular.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwD,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAClG,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGnF;;;;;GAKG;AACH,qBAKa,sBAAsB;IAC/B,OAAO,CAAC,UAAU,CAAsB;IAExC,SAAS;;;;;;;;;;;;oBAAsD;IAE/D,OAAO,CAAC,GAAG,CAA8C;IACzD,EAAE,IAAI,MAAM,CAAC,qBAAqB,GAAG,IAAI,CAAC;;CAkB7C"}
|
package/dist/angular.js
CHANGED
|
@@ -33,7 +33,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
33
33
|
return useValue ? value : void 0;
|
|
34
34
|
};
|
|
35
35
|
import { Directive, DestroyRef, effect, inject, input, signal } from "@angular/core";
|
|
36
|
-
import { createViewportTruthStore } from "./core/engine";
|
|
36
|
+
import { createViewportTruthStore } from "./core/engine.js";
|
|
37
37
|
/**
|
|
38
38
|
* Usage:
|
|
39
39
|
* <div viewportTruth [vtOptions]="{...}" (vtChange)="onSnap($event)"></div>
|
package/dist/angular.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"angular.js","sourceRoot":"","sources":["../src/angular.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAe,MAAM,eAAe,CAAC;AAElG,OAAO,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"angular.js","sourceRoot":"","sources":["../src/angular.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAe,MAAM,eAAe,CAAC;AAElG,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D;;;;;GAKG;IAMU,sBAAsB;4BALlC,SAAS,CAAC;YACP,QAAQ,EAAE,iBAAiB;YAC3B,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,eAAe;SAC5B,CAAC;;;;;;;;YACF,6KAwBC;;;YAxBY,uDAAsB;;QACvB,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QAExC,SAAS,GAAG,KAAK,CAAmC,SAAS,CAAC,CAAC;QAEvD,GAAG,GAAG,MAAM,CAA+B,IAAI,CAAC,CAAC;QACzD,EAAE;YACE,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;QACjC,CAAC;QAED;YACI,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;YAEzD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAEvE,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,EAAE;gBAC3B,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,GAAG,EAAE;gBACR,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;YACpB,CAAC,CAAC,CAAC;QACP,CAAC;;;;SAvBQ,sBAAsB"}
|
package/dist/core/engine.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { ViewportTruthOptions, ViewportTruthStore } from "./types";
|
|
1
|
+
import type { ViewportTruthOptions, ViewportTruthStore } from "./types.js";
|
|
2
2
|
export declare const createViewportTruthStore: (options?: ViewportTruthOptions) => ViewportTruthStore;
|
|
3
3
|
//# sourceMappingURL=engine.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAyB,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAyB,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA2GlG,eAAO,MAAM,wBAAwB,GAAI,UAAU,oBAAoB,KAAG,kBAkIzE,CAAC"}
|
package/dist/core/engine.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { canUseDOM, now } from "./env";
|
|
2
|
-
import { createScheduler } from "./scheduler";
|
|
1
|
+
import { canUseDOM, now } from "./env.js";
|
|
2
|
+
import { createScheduler } from "./scheduler.js";
|
|
3
3
|
const clampMin = (n, min) => (Number.isFinite(n) ? Math.max(min, n) : min);
|
|
4
4
|
const round2 = (n) => Math.round(n * 100) / 100;
|
|
5
5
|
const getSafeArea = (opt) => {
|
package/dist/core/engine.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/core/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/core/env.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/core/env.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,QAAO,OAGO,CAAC;AAErC,eAAO,MAAM,GAAG,QAAO,MAKtB,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,IAAI,oBAAoB,KAAG,MAG9C,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,IAAI,MAAM,KAAG,IAGhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,IAAI,MAAM,IAAI,KAAG,IAGnD,CAAC;
|
|
1
|
+
{"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/core/env.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,QAAO,OAGO,CAAC;AAErC,eAAO,MAAM,GAAG,QAAO,MAKtB,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,IAAI,oBAAoB,KAAG,MAG9C,CAAC;AAEF,eAAO,MAAM,GAAG,GAAI,IAAI,MAAM,KAAG,IAGhC,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,IAAI,MAAM,IAAI,KAAG,IAGnD,CAAC;AAOF,eAAO,MAAM,WAAW,GAAI,IAAI,mBAAmB,EAAE,kBAAe,KAAG,MAUtE,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,IAAI,MAAM,KAAG,IAMvC,CAAC"}
|
package/dist/core/env.js
CHANGED
|
@@ -23,13 +23,15 @@ export const queueMicrotaskSafe = (cb) => {
|
|
|
23
23
|
Promise.resolve().then(cb).catch(() => void 0);
|
|
24
24
|
};
|
|
25
25
|
export const requestIdle = (cb, timeoutMs = 200) => {
|
|
26
|
-
const
|
|
26
|
+
const g = globalThis;
|
|
27
|
+
const ric = g.requestIdleCallback;
|
|
27
28
|
if (typeof ric === "function")
|
|
28
29
|
return ric(cb, { timeout: timeoutMs });
|
|
29
30
|
return setTimeout(() => cb({ didTimeout: true, timeRemaining: () => 0 }), 0);
|
|
30
31
|
};
|
|
31
32
|
export const cancelIdle = (id) => {
|
|
32
|
-
const
|
|
33
|
+
const g = globalThis;
|
|
34
|
+
const cic = g.cancelIdleCallback;
|
|
33
35
|
if (typeof cic === "function")
|
|
34
36
|
cic(id);
|
|
35
37
|
else
|
package/dist/core/env.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/core/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,GAAY,EAAE,CACnC,OAAO,MAAM,KAAK,WAAW;IAC7B,OAAO,QAAQ,KAAK,WAAW;IAC/B,OAAO,SAAS,KAAK,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAW,EAAE;IAC5B,MAAM,CAAC,GAAG,CAAC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAExD,CAAC;IAChB,OAAO,OAAO,CAAC,EAAE,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAwB,EAAU,EAAE;IACpD,IAAI,OAAO,qBAAqB,KAAK,UAAU;QAAE,OAAO,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAClF,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAuB,CAAC,EAAE,EAAE,CAAsB,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAU,EAAQ,EAAE;IACpC,IAAI,OAAO,oBAAoB,KAAK,UAAU;QAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC;;QACpE,YAAY,CAAC,EAAuB,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAc,EAAQ,EAAE;IACvD,IAAI,OAAO,cAAc,KAAK,UAAU;QAAE,cAAc,CAAC,EAAE,CAAC,CAAC;;QACxD,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"env.js","sourceRoot":"","sources":["../../src/core/env.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG,GAAY,EAAE,CACnC,OAAO,MAAM,KAAK,WAAW;IAC7B,OAAO,QAAQ,KAAK,WAAW;IAC/B,OAAO,SAAS,KAAK,WAAW,CAAC;AAErC,MAAM,CAAC,MAAM,GAAG,GAAG,GAAW,EAAE;IAC5B,MAAM,CAAC,GAAG,CAAC,OAAO,WAAW,KAAK,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAExD,CAAC;IAChB,OAAO,OAAO,CAAC,EAAE,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAwB,EAAU,EAAE;IACpD,IAAI,OAAO,qBAAqB,KAAK,UAAU;QAAE,OAAO,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAClF,OAAO,UAAU,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,GAAG,EAAuB,CAAC,EAAE,EAAE,CAAsB,CAAC;AACrF,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,EAAU,EAAQ,EAAE;IACpC,IAAI,OAAO,oBAAoB,KAAK,UAAU;QAAE,oBAAoB,CAAC,EAAE,CAAC,CAAC;;QACpE,YAAY,CAAC,EAAuB,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EAAc,EAAQ,EAAE;IACvD,IAAI,OAAO,cAAc,KAAK,UAAU;QAAE,cAAc,CAAC,EAAE,CAAC,CAAC;;QACxD,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAuB,EAAE,SAAS,GAAG,GAAG,EAAU,EAAE;IAC5E,MAAM,CAAC,GAAG,UAA+C,CAAC;IAC1D,MAAM,GAAG,GAAG,CAAC,CAAC,mBAAmB,CAAC;IAElC,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,OAAO,GAAG,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;IAEtE,OAAO,UAAU,CACb,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,EAAkB,CAAC,EACtE,CAAC,CACiB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,EAAU,EAAQ,EAAE;IAC3C,MAAM,CAAC,GAAG,UAA+C,CAAC;IAC1D,MAAM,GAAG,GAAG,CAAC,CAAC,kBAAkB,CAAC;IAEjC,IAAI,OAAO,GAAG,KAAK,UAAU;QAAE,GAAG,CAAC,EAAE,CAAC,CAAC;;QAClC,YAAY,CAAC,EAAuB,CAAC,CAAC;AAC/C,CAAC,CAAC"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type { ViewportTruthOptions, ViewportTruthSnapshot, ViewportTruthStore, ViewportTruthSubscribe, } from "./types";
|
|
2
|
-
export { createViewportTruthStore } from "./engine";
|
|
1
|
+
export type { ViewportTruthOptions, ViewportTruthSnapshot, ViewportTruthStore, ViewportTruthSubscribe, } from "./types.js";
|
|
2
|
+
export { createViewportTruthStore } from "./engine.js";
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,GACzB,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACR,oBAAoB,EACpB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,GACzB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { createViewportTruthStore } from "./engine";
|
|
1
|
+
export { createViewportTruthStore } from "./engine.js";
|
|
2
2
|
//# sourceMappingURL=index.js.map
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC"}
|
package/dist/core/scheduler.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/core/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../src/core/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAQjF,MAAM,CAAC,MAAM,eAAe,GAAG,GAAc,EAAE;IAC3C,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,MAAM,GAAkB,IAAI,CAAC;IACjC,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,OAAO;QACH,aAAa,CAAC,EAAE;YACZ,IAAI,WAAW;gBAAE,OAAO;YACxB,WAAW,GAAG,IAAI,CAAC;YAEnB,kBAAkB,CAAC,GAAG,EAAE;gBACpB,IAAI,CAAC,WAAW;oBAAE,OAAO;gBAEzB,KAAK,GAAG,GAAG,CAAC,GAAG,EAAE;oBACb,KAAK,GAAG,IAAI,CAAC;oBACb,WAAW,GAAG,KAAK,CAAC;oBACpB,EAAE,EAAE,CAAC;gBACT,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,CAAC;QACP,CAAC;QAED,YAAY,CAAC,EAAE;YACX,IAAI,UAAU;gBAAE,OAAO;YACvB,UAAU,GAAG,IAAI,CAAC;YAElB,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE;gBACtB,MAAM,GAAG,IAAI,CAAC;gBACd,UAAU,GAAG,KAAK,CAAC;gBACnB,EAAE,EAAE,CAAC;YACT,CAAC,CAAC,CAAC;QACP,CAAC;QAED,SAAS;YACL,IAAI,KAAK,IAAI,IAAI;gBAAE,GAAG,CAAC,KAAK,CAAC,CAAC;YAC9B,IAAI,MAAM,IAAI,IAAI;gBAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YACvC,KAAK,GAAG,IAAI,CAAC;YACb,MAAM,GAAG,IAAI,CAAC;YACd,WAAW,GAAG,KAAK,CAAC;YACpB,UAAU,GAAG,KAAK,CAAC;QACvB,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export * from "./core/index";
|
|
2
|
-
export * as
|
|
3
|
-
export * as
|
|
4
|
-
export * as
|
|
5
|
-
export * as
|
|
6
|
-
export * as
|
|
7
|
-
export * as
|
|
1
|
+
export * from "./core/index.js";
|
|
2
|
+
export * as vanilla from "./vanilla.js";
|
|
3
|
+
export type * as react from "./react.js";
|
|
4
|
+
export type * as vue from "./vue.js";
|
|
5
|
+
export type * as svelte from "./svelte.js";
|
|
6
|
+
export type * as solid from "./solid.js";
|
|
7
|
+
export type * as angular from "./angular.js";
|
|
8
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AAExC,YAAY,KAAK,KAAK,MAAM,YAAY,CAAC;AACzC,YAAY,KAAK,GAAG,MAAM,UAAU,CAAC;AACrC,YAAY,KAAK,MAAM,MAAM,aAAa,CAAC;AAC3C,YAAY,KAAK,KAAK,MAAM,YAAY,CAAC;AACzC,YAAY,KAAK,OAAO,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
export * from "./core/index";
|
|
2
|
-
export * as
|
|
3
|
-
export * as vue from "./vue";
|
|
4
|
-
export * as svelte from "./svelte";
|
|
5
|
-
export * as solid from "./solid";
|
|
6
|
-
export * as angular from "./angular";
|
|
7
|
-
export * as vanilla from "./vanilla";
|
|
1
|
+
export * from "./core/index.js";
|
|
2
|
+
export * as vanilla from "./vanilla.js";
|
|
8
3
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC"}
|
package/dist/react.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ViewportTruthOptions, ViewportTruthSnapshot } from "./core/types";
|
|
1
|
+
import type { ViewportTruthOptions, ViewportTruthSnapshot } from "./core/types.js";
|
|
2
2
|
export type UseViewportTruthResult = ViewportTruthSnapshot | null;
|
|
3
3
|
export declare const useViewportTruth: (options?: ViewportTruthOptions) => UseViewportTruthResult;
|
|
4
4
|
//# sourceMappingURL=react.d.ts.map
|
package/dist/react.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGnF,MAAM,MAAM,sBAAsB,GAAG,qBAAqB,GAAG,IAAI,CAAC;AAElE,eAAO,MAAM,gBAAgB,GAAI,UAAU,oBAAoB,KAAG,sBAIjE,CAAC"}
|
package/dist/react.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { useMemo, useSyncExternalStore } from "react";
|
|
2
|
-
import { createViewportTruthStore } from "./core/engine";
|
|
2
|
+
import { createViewportTruthStore } from "./core/engine.js";
|
|
3
3
|
export const useViewportTruth = (options) => {
|
|
4
4
|
const store = useMemo(() => createViewportTruthStore(options), [options]);
|
|
5
5
|
return useSyncExternalStore(store.subscribe, store.getSnapshot, store.getServerSnapshot);
|
package/dist/react.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"react.js","sourceRoot":"","sources":["../src/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AAEtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAI5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAA8B,EAA0B,EAAE;IACvF,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1E,OAAO,oBAAoB,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAC7F,CAAC,CAAC"}
|
package/dist/solid.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type Accessor } from "solid-js";
|
|
2
|
-
import type { ViewportTruthOptions, ViewportTruthSnapshot } from "./core/types";
|
|
2
|
+
import type { ViewportTruthOptions, ViewportTruthSnapshot } from "./core/types.js";
|
|
3
3
|
export declare const createViewportTruth: (options?: ViewportTruthOptions) => Accessor<ViewportTruthSnapshot | null>;
|
|
4
4
|
/**
|
|
5
5
|
* Directive-like helper (Solid "use:" works with functions)
|
package/dist/solid.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solid.d.ts","sourceRoot":"","sources":["../src/solid.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"solid.d.ts","sourceRoot":"","sources":["../src/solid.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,QAAQ,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGnF,eAAO,MAAM,mBAAmB,GAC5B,UAAU,oBAAoB,KAC/B,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAYvC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAC/B,KAAK,WAAW,EAChB,UAAU,MAAM;IAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAAE,SAUnG,CAAC"}
|
package/dist/solid.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createSignal, onCleanup } from "solid-js";
|
|
2
|
-
import { createViewportTruthStore } from "./core/engine";
|
|
2
|
+
import { createViewportTruthStore } from "./core/engine.js";
|
|
3
3
|
export const createViewportTruth = (options) => {
|
|
4
4
|
const store = createViewportTruthStore(options);
|
|
5
5
|
const [snap, setSnap] = createSignal(store.getServerSnapshot());
|
package/dist/solid.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solid.js","sourceRoot":"","sources":["../src/solid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"solid.js","sourceRoot":"","sources":["../src/solid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,SAAS,EAAiB,MAAM,UAAU,CAAC;AAElE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,OAA8B,EACQ,EAAE;IACxC,MAAM,KAAK,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,YAAY,CAA+B,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAE9F,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAElE,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AAChB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAClC,GAAgB,EAChB,QAAgG,EAClG,EAAE;IACA,MAAM,GAAG,GAAG,QAAQ,EAAE,CAAC;IACvB,MAAM,KAAK,GAAG,wBAAwB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAEvE,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC"}
|
package/dist/svelte.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ViewportTruthOptions, ViewportTruthSnapshot } from "./core/types";
|
|
1
|
+
import type { ViewportTruthOptions, ViewportTruthSnapshot } from "./core/types.js";
|
|
2
2
|
export declare const viewportTruth: (options?: ViewportTruthOptions) => {
|
|
3
3
|
subscribe(run: (v: ViewportTruthSnapshot | null) => void): () => void;
|
|
4
4
|
};
|
package/dist/svelte.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../src/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"svelte.d.ts","sourceRoot":"","sources":["../src/svelte.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGnF,eAAO,MAAM,aAAa,GAAI,UAAU,oBAAoB;mBAIrC,CAAC,CAAC,EAAE,qBAAqB,GAAG,IAAI,KAAK,IAAI;CAS/D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAC5B,OAAO,WAAW,EAClB,QAAQ;IAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAAE;iBAMvE,OAAO,MAAM;;CAQjC,CAAC"}
|
package/dist/svelte.js
CHANGED
package/dist/svelte.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svelte.js","sourceRoot":"","sources":["../src/svelte.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"svelte.js","sourceRoot":"","sources":["../src/svelte.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAA8B,EAAE,EAAE;IAC5D,MAAM,KAAK,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAEhD,OAAO;QACH,SAAS,CAAC,GAA8C;YACpD,GAAG,CAAC,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO,GAAG,EAAE;gBACR,KAAK,EAAE,CAAC;gBACR,KAAK,CAAC,OAAO,EAAE,CAAC;YACpB,CAAC,CAAC;QACN,CAAC;KACJ,CAAC;AACN,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAC/B,KAAkB,EAClB,MAAwF,EAC1F,EAAE;IACA,MAAM,KAAK,GAAG,wBAAwB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAE1E,OAAO;QACH,MAAM,CAAC,IAAmB;YACtB,MAAM,GAAG,IAAI,CAAC;QAClB,CAAC;QACD,OAAO;YACH,KAAK,EAAE,CAAC;YACR,KAAK,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
|
package/dist/vanilla.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ViewportTruthOptions, ViewportTruthSnapshot } from "./core/types";
|
|
1
|
+
import type { ViewportTruthOptions, ViewportTruthSnapshot } from "./core/types.js";
|
|
2
2
|
export type ViewportTruthController = Readonly<{
|
|
3
3
|
get: () => ViewportTruthSnapshot;
|
|
4
4
|
subscribe: (fn: (s: ViewportTruthSnapshot) => void) => () => void;
|
package/dist/vanilla.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vanilla.d.ts","sourceRoot":"","sources":["../src/vanilla.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"vanilla.d.ts","sourceRoot":"","sources":["../src/vanilla.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGnF,MAAM,MAAM,uBAAuB,GAAG,QAAQ,CAAC;IAC3C,GAAG,EAAE,MAAM,qBAAqB,CAAC;IACjC,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,KAAK,MAAM,IAAI,CAAC;IAClE,OAAO,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC,CAAC;AAEH,eAAO,MAAM,mBAAmB,GAAI,UAAU,oBAAoB,KAAG,uBAcpE,CAAC"}
|
package/dist/vanilla.js
CHANGED
package/dist/vanilla.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vanilla.js","sourceRoot":"","sources":["../src/vanilla.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"vanilla.js","sourceRoot":"","sources":["../src/vanilla.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAQ5D,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAA8B,EAA2B,EAAE;IAC3F,MAAM,KAAK,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAEhD,OAAO;QACH,GAAG;YACC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC;QACD,SAAS,CAAC,EAAE;YACR,OAAO,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC1D,CAAC;QACD,OAAO;YACH,KAAK,CAAC,OAAO,EAAE,CAAC;QACpB,CAAC;KACJ,CAAC;AACN,CAAC,CAAC"}
|
package/dist/vue.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type ShallowRef, type Directive } from "vue";
|
|
2
|
-
import type { ViewportTruthOptions, ViewportTruthSnapshot } from "./core/types";
|
|
2
|
+
import type { ViewportTruthOptions, ViewportTruthSnapshot } from "./core/types.js";
|
|
3
3
|
export declare const useViewportTruth: (options?: ViewportTruthOptions) => ShallowRef<ViewportTruthSnapshot | null>;
|
|
4
4
|
export declare const vViewportTruth: Directive<HTMLElement, {
|
|
5
5
|
onChange: (s: ViewportTruthSnapshot) => void;
|
package/dist/vue.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../src/vue.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AAC9F,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"vue.d.ts","sourceRoot":"","sources":["../src/vue.ts"],"names":[],"mappings":"AAAA,OAAO,EAA0C,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,KAAK,CAAC;AAC9F,OAAO,KAAK,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAGnF,eAAO,MAAM,gBAAgB,GACzB,UAAU,oBAAoB,KAC/B,UAAU,CAAC,qBAAqB,GAAG,IAAI,CAkBzC,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,SAAS,CAAC,WAAW,EAAE;IAAE,QAAQ,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IAAC,OAAO,CAAC,EAAE,oBAAoB,CAAA;CAAE,CAgB/H,CAAC"}
|
package/dist/vue.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { onBeforeUnmount, onMounted, shallowRef } from "vue";
|
|
2
|
-
import { createViewportTruthStore } from "./core/engine";
|
|
2
|
+
import { createViewportTruthStore } from "./core/engine.js";
|
|
3
3
|
export const useViewportTruth = (options) => {
|
|
4
4
|
const store = createViewportTruthStore(options);
|
|
5
5
|
const state = shallowRef(store.getServerSnapshot());
|
package/dist/vue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue.js","sourceRoot":"","sources":["../src/vue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAmC,MAAM,KAAK,CAAC;AAE9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"vue.js","sourceRoot":"","sources":["../src/vue.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,UAAU,EAAmC,MAAM,KAAK,CAAC;AAE9F,OAAO,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AAE5D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC5B,OAA8B,EACU,EAAE;IAC1C,MAAM,KAAK,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,KAAK,GAAG,UAAU,CAA+B,KAAK,CAAC,iBAAiB,EAAE,CAAC,CAAC;IAElF,IAAI,KAAK,GAAwB,IAAI,CAAC;IAEtC,SAAS,CAAC,GAAG,EAAE;QACX,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;YACzB,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,eAAe,CAAC,GAAG,EAAE;QACjB,KAAK,EAAE,EAAE,CAAC;QACV,KAAK,CAAC,OAAO,EAAE,CAAC;IACpB,CAAC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GACvB;IACI,OAAO,CAAC,GAAG,EAAE,OAAO;QAChB,MAAM,KAAK,GAAG,wBAAwB,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;QAEzC,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAEjE,GAAW,CAAC,IAAI,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAC1C,CAAC;IACD,SAAS,CAAC,EAAE;QACR,MAAM,GAAG,GAAI,EAAU,CAAC,IAA6F,CAAC;QACtH,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC;QACf,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;QACxB,OAAQ,EAAU,CAAC,IAAI,CAAC;IAC5B,CAAC;CACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "viewport-truth",
|
|
3
|
-
"version": "1.0.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "1.0.4",
|
|
4
|
+
"description": "Tiny zero‑config VisualViewport-first store for accurate visible viewport size in CSS pixels. Detects virtual keyboard, stabilizes resize/scroll jitter, and is SSR-safe across frameworks.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "AntonVoronezh",
|
|
7
7
|
"email": "anton.voronezh.1990@gmail.com",
|
|
@@ -28,128 +28,139 @@
|
|
|
28
28
|
"files": [
|
|
29
29
|
"dist",
|
|
30
30
|
"README.md",
|
|
31
|
-
"LICENSE"
|
|
32
|
-
"banner.js"
|
|
31
|
+
"LICENSE"
|
|
33
32
|
],
|
|
34
33
|
"scripts": {
|
|
35
34
|
"build": "tsc -p tsconfig.build.json",
|
|
36
35
|
"clean": "node -e \"require('node:fs').rmSync('dist',{recursive:true,force:true})\"",
|
|
37
36
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
38
|
-
"
|
|
37
|
+
"test": "vitest run",
|
|
38
|
+
"test:watch": "vitest"
|
|
39
39
|
},
|
|
40
40
|
"keywords": [
|
|
41
41
|
"viewport",
|
|
42
|
-
"
|
|
42
|
+
"visualviewport",
|
|
43
|
+
"visual viewport",
|
|
44
|
+
"layout viewport",
|
|
45
|
+
"real viewport",
|
|
43
46
|
"mobile viewport",
|
|
44
|
-
"
|
|
45
|
-
"
|
|
47
|
+
"viewport size",
|
|
48
|
+
"viewport height",
|
|
49
|
+
"keyboard",
|
|
50
|
+
"virtual keyboard",
|
|
51
|
+
"on-screen keyboard",
|
|
52
|
+
"ios safari",
|
|
53
|
+
"android chrome",
|
|
54
|
+
"address bar",
|
|
55
|
+
"url bar",
|
|
46
56
|
"100vh",
|
|
57
|
+
"vh",
|
|
47
58
|
"dvh",
|
|
48
59
|
"svh",
|
|
49
60
|
"lvh",
|
|
50
61
|
"safe-area-inset",
|
|
51
|
-
"
|
|
52
|
-
"
|
|
62
|
+
"pwa",
|
|
63
|
+
"webview",
|
|
53
64
|
"resize",
|
|
54
65
|
"scroll",
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"bottom sheet",
|
|
62
|
-
"fullscreen",
|
|
63
|
-
"PWA",
|
|
64
|
-
"SSR",
|
|
65
|
-
"requestAnimationFrame",
|
|
66
|
-
"debounce",
|
|
67
|
-
"throttling",
|
|
68
|
-
"webview",
|
|
69
|
-
"Capacitor",
|
|
70
|
-
"Cordova",
|
|
71
|
-
"React",
|
|
72
|
-
"Vue",
|
|
73
|
-
"Svelte",
|
|
74
|
-
"SolidJS",
|
|
75
|
-
"Angular",
|
|
76
|
-
"vanilla JS"
|
|
66
|
+
"ssr",
|
|
67
|
+
"store",
|
|
68
|
+
"hook",
|
|
69
|
+
"react",
|
|
70
|
+
"vue",
|
|
71
|
+
"svelte"
|
|
77
72
|
],
|
|
73
|
+
"engines": {
|
|
74
|
+
"node": ">=18"
|
|
75
|
+
},
|
|
78
76
|
"license": "MIT",
|
|
79
|
-
"type": "module",
|
|
80
77
|
"sideEffects": false,
|
|
78
|
+
"type": "module",
|
|
79
|
+
"peerDependencies": {
|
|
80
|
+
"@angular/core": ">=17.0.0",
|
|
81
|
+
"react": ">=18.0.0",
|
|
82
|
+
"solid-js": ">=1.7.0",
|
|
83
|
+
"svelte": ">=4.0.0",
|
|
84
|
+
"vue": ">=3.3.0"
|
|
85
|
+
},
|
|
86
|
+
"peerDependenciesMeta": {
|
|
87
|
+
"react": {
|
|
88
|
+
"optional": true
|
|
89
|
+
},
|
|
90
|
+
"vue": {
|
|
91
|
+
"optional": true
|
|
92
|
+
},
|
|
93
|
+
"svelte": {
|
|
94
|
+
"optional": true
|
|
95
|
+
},
|
|
96
|
+
"solid-js": {
|
|
97
|
+
"optional": true
|
|
98
|
+
},
|
|
99
|
+
"@angular/core": {
|
|
100
|
+
"optional": true
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"devDependencies": {
|
|
104
|
+
"@angular/common": "^17.3.0",
|
|
105
|
+
"@angular/core": "^17.3.0",
|
|
106
|
+
"@types/node": "^22.0.0",
|
|
107
|
+
"@types/react": "^18.3.0",
|
|
108
|
+
"@types/react-dom": "^18.3.0",
|
|
109
|
+
"happy-dom": "^20.5.0",
|
|
110
|
+
"jsdom": "^28.0.0",
|
|
111
|
+
"react": "^18.3.0",
|
|
112
|
+
"react-dom": "^18.3.0",
|
|
113
|
+
"rxjs": "^7.8.0",
|
|
114
|
+
"solid-js": "^1.9.0",
|
|
115
|
+
"svelte": "^4.2.0",
|
|
116
|
+
"typescript": "^5.5.4",
|
|
117
|
+
"vitest": "^4.0.18",
|
|
118
|
+
"vue": "^3.5.0"
|
|
119
|
+
},
|
|
120
|
+
"main": "./dist/index.js",
|
|
121
|
+
"module": "./dist/index.js",
|
|
122
|
+
"types": "./dist/index.d.ts",
|
|
81
123
|
"exports": {
|
|
82
124
|
".": {
|
|
83
125
|
"types": "./dist/index.d.ts",
|
|
126
|
+
"import": "./dist/index.js",
|
|
84
127
|
"default": "./dist/index.js"
|
|
85
128
|
},
|
|
86
129
|
"./core": {
|
|
87
130
|
"types": "./dist/core/index.d.ts",
|
|
131
|
+
"import": "./dist/core/index.js",
|
|
88
132
|
"default": "./dist/core/index.js"
|
|
89
133
|
},
|
|
90
134
|
"./react": {
|
|
91
135
|
"types": "./dist/react.d.ts",
|
|
136
|
+
"import": "./dist/react.js",
|
|
92
137
|
"default": "./dist/react.js"
|
|
93
138
|
},
|
|
94
139
|
"./vue": {
|
|
95
140
|
"types": "./dist/vue.d.ts",
|
|
141
|
+
"import": "./dist/vue.js",
|
|
96
142
|
"default": "./dist/vue.js"
|
|
97
143
|
},
|
|
98
144
|
"./svelte": {
|
|
99
145
|
"types": "./dist/svelte.d.ts",
|
|
146
|
+
"import": "./dist/svelte.js",
|
|
100
147
|
"default": "./dist/svelte.js"
|
|
101
148
|
},
|
|
102
149
|
"./solid": {
|
|
103
150
|
"types": "./dist/solid.d.ts",
|
|
151
|
+
"import": "./dist/solid.js",
|
|
104
152
|
"default": "./dist/solid.js"
|
|
105
153
|
},
|
|
106
154
|
"./angular": {
|
|
107
155
|
"types": "./dist/angular.d.ts",
|
|
156
|
+
"import": "./dist/angular.js",
|
|
108
157
|
"default": "./dist/angular.js"
|
|
109
158
|
},
|
|
110
159
|
"./vanilla": {
|
|
111
160
|
"types": "./dist/vanilla.d.ts",
|
|
161
|
+
"import": "./dist/vanilla.js",
|
|
112
162
|
"default": "./dist/vanilla.js"
|
|
113
|
-
}
|
|
114
|
-
},
|
|
115
|
-
"main": "./dist/index.js",
|
|
116
|
-
"types": "./dist/index.d.ts",
|
|
117
|
-
"peerDependencies": {
|
|
118
|
-
"react": ">=18.0.0",
|
|
119
|
-
"vue": ">=3.3.0",
|
|
120
|
-
"svelte": ">=4.0.0",
|
|
121
|
-
"solid-js": ">=1.7.0",
|
|
122
|
-
"@angular/core": ">=17.0.0"
|
|
123
|
-
},
|
|
124
|
-
"peerDependenciesMeta": {
|
|
125
|
-
"react": {
|
|
126
|
-
"optional": true
|
|
127
|
-
},
|
|
128
|
-
"vue": {
|
|
129
|
-
"optional": true
|
|
130
163
|
},
|
|
131
|
-
"
|
|
132
|
-
"optional": true
|
|
133
|
-
},
|
|
134
|
-
"solid-js": {
|
|
135
|
-
"optional": true
|
|
136
|
-
},
|
|
137
|
-
"@angular/core": {
|
|
138
|
-
"optional": true
|
|
139
|
-
}
|
|
140
|
-
},
|
|
141
|
-
"devDependencies": {
|
|
142
|
-
"typescript": "^5.5.4",
|
|
143
|
-
"@types/node": "^22.0.0",
|
|
144
|
-
"react": "^18.3.0",
|
|
145
|
-
"react-dom": "^18.3.0",
|
|
146
|
-
"@types/react": "^18.3.0",
|
|
147
|
-
"@types/react-dom": "^18.3.0",
|
|
148
|
-
"vue": "^3.5.0",
|
|
149
|
-
"svelte": "^4.2.0",
|
|
150
|
-
"solid-js": "^1.9.0",
|
|
151
|
-
"@angular/core": "^17.3.0",
|
|
152
|
-
"@angular/common": "^17.3.0",
|
|
153
|
-
"rxjs": "^7.8.0"
|
|
164
|
+
"./package.json": "./package.json"
|
|
154
165
|
}
|
|
155
166
|
}
|
package/banner.js
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
try {
|
|
2
|
-
if (
|
|
3
|
-
process.env.CI ||
|
|
4
|
-
process.env.ADBLOCK ||
|
|
5
|
-
process.env.DISABLE_OPENCOLLECTIVE ||
|
|
6
|
-
process.env.npm_config_ignore_scripts === "true" ||
|
|
7
|
-
process.env.NODE_ENV === "test"
|
|
8
|
-
) {
|
|
9
|
-
process.exit(0);
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
const loglevel = (process.env.npm_config_loglevel || "").toLowerCase();
|
|
13
|
-
if (loglevel === "silent") process.exit(0);
|
|
14
|
-
|
|
15
|
-
const reset = "\x1b[0m";
|
|
16
|
-
const cyan = "\x1b[36m";
|
|
17
|
-
const green = "\x1b[32m";
|
|
18
|
-
const yellow = "\x1b[33m";
|
|
19
|
-
const dim = "\x1b[2m";
|
|
20
|
-
const bold = "\x1b[1m";
|
|
21
|
-
|
|
22
|
-
const box = `${cyan}===============================================================${reset}`;
|
|
23
|
-
|
|
24
|
-
const msg = `
|
|
25
|
-
${box}
|
|
26
|
-
${green}${bold} Thanks for installing nope-click!${reset} ${green}🚀${reset}
|
|
27
|
-
${box}
|
|
28
|
-
|
|
29
|
-
${yellow}This project is community-supported.${reset}
|
|
30
|
-
If it saves you time, please consider supporting development:
|
|
31
|
-
|
|
32
|
-
${green}Boosty (Cards/PayPal):${reset} https://boosty.to/antonvoronezh/donate
|
|
33
|
-
${green}Crypto (Telegram):${reset} https://t.me/AntonVoronezhh/4
|
|
34
|
-
|
|
35
|
-
${dim}Tip: hide install messages with --silent (or npm config set loglevel silent).${reset}
|
|
36
|
-
${dim}Scripts can be disabled with --ignore-scripts (then this won’t run).${reset}
|
|
37
|
-
`;
|
|
38
|
-
|
|
39
|
-
process.stderr.write(msg);
|
|
40
|
-
|
|
41
|
-
process.stderr.write(
|
|
42
|
-
`${bold}Support:${reset} https://boosty.to/antonvoronezh/donate | https://t.me/AntonVoronezhh/4\n`
|
|
43
|
-
);
|
|
44
|
-
} catch (_) {
|
|
45
|
-
process.exit(0);
|
|
46
|
-
}
|