@wyxos/vibe 3.1.5 → 3.1.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.
- package/README.md +111 -150
- package/lib/index.cjs +1 -1
- package/lib/index.js +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,29 +1,47 @@
|
|
|
1
1
|
# Vibe
|
|
2
2
|
|
|
3
|
-
Vibe is
|
|
3
|
+
Vibe is an opinionated Vue 3 mixed-media feed and viewer engine for large datasets.
|
|
4
4
|
|
|
5
|
-
It
|
|
5
|
+
It is built for apps that need a virtualized desktop feed, fullscreen browsing, library-owned paging, removals, retries, and asset-failure handling without stitching together a masonry grid, lightbox, and feed state by hand.
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
- Mobile and tablet: fullscreen only
|
|
7
|
+

|
|
9
8
|
|
|
10
|
-
|
|
9
|
+
[Live demo](https://vibe.wyxos.com/) · [In-app docs](https://vibe.wyxos.com/documentation)
|
|
11
10
|
|
|
12
|
-
##
|
|
11
|
+
## Built for
|
|
12
|
+
|
|
13
|
+
Vibe is built for applications that browse large mixed-media collections and need feed state to stay coherent as items load, fail, disappear, and move between desktop and fullscreen surfaces.
|
|
14
|
+
|
|
15
|
+
It owns paging, fullscreen browsing, removals, retries, and asset-failure handling as part of one viewer model so those behaviors stay consistent under real feed pressure.
|
|
16
|
+
|
|
17
|
+
Vibe is hardened in production through [Atlas](https://github.com/wyxos/atlas) as a downstream consumer.
|
|
18
|
+
|
|
19
|
+
## When Vibe fits
|
|
20
|
+
|
|
21
|
+
Use Vibe when your app needs:
|
|
22
|
+
|
|
23
|
+
- a large mixed-media feed of images, video, audio, and document-like items
|
|
24
|
+
- library-owned paging driven by opaque cursors
|
|
25
|
+
- a desktop masonry surface that opens into fullscreen
|
|
26
|
+
- fullscreen-first behavior on mobile and tablet
|
|
27
|
+
- built-in remove, restore, undo, retry, and asset-failure handling
|
|
28
|
+
- a small customization surface through slots instead of a headless rendering API
|
|
29
|
+
|
|
30
|
+
## Quick start
|
|
31
|
+
|
|
32
|
+
Install the package and import the bundled stylesheet once:
|
|
13
33
|
|
|
14
34
|
```bash
|
|
15
35
|
npm i @wyxos/vibe
|
|
16
36
|
```
|
|
17
37
|
|
|
18
|
-
Import the bundled stylesheet once:
|
|
19
|
-
|
|
20
38
|
```ts
|
|
21
39
|
import '@wyxos/vibe/style.css'
|
|
22
40
|
```
|
|
23
41
|
|
|
24
42
|
Tailwind scanning is not required for the package UI.
|
|
25
43
|
|
|
26
|
-
|
|
44
|
+
### Plugin install
|
|
27
45
|
|
|
28
46
|
The default export is the plugin:
|
|
29
47
|
|
|
@@ -41,7 +59,7 @@ createApp(App)
|
|
|
41
59
|
|
|
42
60
|
That registers the global component as `VibeLayout`.
|
|
43
61
|
|
|
44
|
-
|
|
62
|
+
### Direct import
|
|
45
63
|
|
|
46
64
|
If you prefer local registration, import `VibeLayout` directly:
|
|
47
65
|
|
|
@@ -65,70 +83,11 @@ async function resolve({ cursor, pageSize }: VibeResolveParams): Promise<VibeRes
|
|
|
65
83
|
</template>
|
|
66
84
|
```
|
|
67
85
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
```vue
|
|
71
|
-
<VibeLayout
|
|
72
|
-
:resolve="resolve"
|
|
73
|
-
:fill-delay-ms="2000"
|
|
74
|
-
:fill-delay-step-ms="1000"
|
|
75
|
-
:show-end-badge="false"
|
|
76
|
-
:show-status-badges="false"
|
|
77
|
-
surface-mode="fullscreen"
|
|
78
|
-
/>
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
- `fill-delay-ms`: base delay before the first chained fill request
|
|
82
|
-
- `fill-delay-step-ms`: extra delay added for each additional chained fill request in the same fill cycle
|
|
83
|
-
- defaults: `2000` and `1000`
|
|
84
|
-
- `show-end-badge`: controls the fullscreen `End reached` badge when the feed is exhausted
|
|
85
|
-
- `show-status-badges`: controls the built-in lifecycle status overlays in list and fullscreen
|
|
86
|
-
- `surface-mode`: optionally lets the parent drive the desktop fullscreen/list surface explicitly
|
|
87
|
-
|
|
88
|
-
Optional feed strategy:
|
|
89
|
-
|
|
90
|
-
```vue
|
|
91
|
-
<VibeLayout
|
|
92
|
-
:resolve="resolve"
|
|
93
|
-
mode="dynamic"
|
|
94
|
-
/>
|
|
95
|
-
```
|
|
86
|
+
## Core concepts
|
|
96
87
|
|
|
97
|
-
|
|
98
|
-
- `static` reloads the current boundary cursor before advancing when the currently visible boundary page is underfilled
|
|
88
|
+
### Item contract
|
|
99
89
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
```vue
|
|
103
|
-
<VibeLayout
|
|
104
|
-
:resolve="resolve"
|
|
105
|
-
:initial-state="{
|
|
106
|
-
cursor: 'page-10',
|
|
107
|
-
items: restoredItems,
|
|
108
|
-
nextCursor: 'page-11',
|
|
109
|
-
previousCursor: 'page-9',
|
|
110
|
-
activeIndex: 4,
|
|
111
|
-
}"
|
|
112
|
-
/>
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
- use `initialState` when the app already knows a restored slice of the feed
|
|
116
|
-
- `resolve` is optional if you only need a seeded snapshot
|
|
117
|
-
- when `resolve` is present, Vibe continues paging from the seeded cursors
|
|
118
|
-
|
|
119
|
-
## What Vibe does
|
|
120
|
-
|
|
121
|
-
- Desktop masonry list with virtualization and staged page growth
|
|
122
|
-
- Fullscreen viewer with swipe, wheel, keyboard, and custom media controls
|
|
123
|
-
- Library-owned loading and pagination, optionally seeded from `initialState`
|
|
124
|
-
- Remove, restore, and undo by item `id`
|
|
125
|
-
- Grid customization through slots for icons, overlays, and footer UI
|
|
126
|
-
- Built-in loading and preload error states, including explicit `404` when known
|
|
127
|
-
- Built-in retry UI for non-404 asset failures in grid and fullscreen
|
|
128
|
-
|
|
129
|
-
## Item contract
|
|
130
|
-
|
|
131
|
-
Vibe only requires a minimal item shape:
|
|
90
|
+
Vibe keeps the item contract deliberately small:
|
|
132
91
|
|
|
133
92
|
```ts
|
|
134
93
|
type VibeViewerItem = {
|
|
@@ -136,25 +95,31 @@ type VibeViewerItem = {
|
|
|
136
95
|
type: 'image' | 'video' | 'audio' | 'other'
|
|
137
96
|
title?: string
|
|
138
97
|
url: string
|
|
139
|
-
width?: number
|
|
140
|
-
height?: number
|
|
141
98
|
preview?: {
|
|
142
99
|
url: string
|
|
143
100
|
width?: number
|
|
144
101
|
height?: number
|
|
102
|
+
mediaType?: 'image' | 'video'
|
|
145
103
|
}
|
|
104
|
+
healthCheck?: {
|
|
105
|
+
url: string
|
|
106
|
+
kind?: 'playback'
|
|
107
|
+
} | null
|
|
108
|
+
width?: number
|
|
109
|
+
height?: number
|
|
146
110
|
[key: string]: unknown
|
|
147
111
|
}
|
|
148
112
|
```
|
|
149
113
|
|
|
150
114
|
Notes:
|
|
151
115
|
|
|
152
|
-
-
|
|
153
|
-
-
|
|
154
|
-
-
|
|
155
|
-
- `other`
|
|
116
|
+
- grid mode prefers `preview.url`, then falls back to `url`
|
|
117
|
+
- fullscreen mode uses `url`
|
|
118
|
+
- grid layout prefers preview dimensions, then root dimensions, then a square fallback tile
|
|
119
|
+
- `other` stays intentionally broad so the consuming app can layer its own file subtypes and icon logic on top
|
|
120
|
+
- `healthCheck` is optional and lets the app provide an explicit asset probe, for example when preview URLs are not enough to classify playback health reliably
|
|
156
121
|
|
|
157
|
-
|
|
122
|
+
### Resolve and feed state
|
|
158
123
|
|
|
159
124
|
Use `resolve` when you want Vibe to own the paging loop:
|
|
160
125
|
|
|
@@ -162,6 +127,7 @@ Use `resolve` when you want Vibe to own the paging loop:
|
|
|
162
127
|
type VibeResolveParams = {
|
|
163
128
|
cursor: string | null
|
|
164
129
|
pageSize: number
|
|
130
|
+
signal?: AbortSignal
|
|
165
131
|
}
|
|
166
132
|
|
|
167
133
|
type VibeResolveResult = {
|
|
@@ -171,25 +137,6 @@ type VibeResolveResult = {
|
|
|
171
137
|
}
|
|
172
138
|
```
|
|
173
139
|
|
|
174
|
-
```vue
|
|
175
|
-
<script setup lang="ts">
|
|
176
|
-
import {
|
|
177
|
-
VibeLayout,
|
|
178
|
-
type VibeResolveParams,
|
|
179
|
-
type VibeResolveResult,
|
|
180
|
-
} from '@wyxos/vibe'
|
|
181
|
-
|
|
182
|
-
async function resolve({ cursor, pageSize }: VibeResolveParams): Promise<VibeResolveResult> {
|
|
183
|
-
const response = await fetch(`/api/feed?cursor=${cursor ?? ''}&pageSize=${pageSize}`)
|
|
184
|
-
return await response.json()
|
|
185
|
-
}
|
|
186
|
-
</script>
|
|
187
|
-
|
|
188
|
-
<template>
|
|
189
|
-
<VibeLayout :resolve="resolve" />
|
|
190
|
-
</template>
|
|
191
|
-
```
|
|
192
|
-
|
|
193
140
|
Vibe owns:
|
|
194
141
|
|
|
195
142
|
- loaded items
|
|
@@ -198,8 +145,11 @@ Vibe owns:
|
|
|
198
145
|
- optional previous-page loading
|
|
199
146
|
- duplicate cursor protection
|
|
200
147
|
- initial retry state
|
|
148
|
+
- removal-aware feed navigation
|
|
149
|
+
|
|
150
|
+
### Feed strategies
|
|
201
151
|
|
|
202
|
-
Vibe
|
|
152
|
+
Vibe supports two feed strategies:
|
|
203
153
|
|
|
204
154
|
- `dynamic`:
|
|
205
155
|
- default behavior
|
|
@@ -213,7 +163,23 @@ Vibe also supports two feed strategies:
|
|
|
213
163
|
- if it is, Vibe reloads that same cursor in place first
|
|
214
164
|
- only once that boundary page is full again will the next edge hit advance to the next or previous cursor
|
|
215
165
|
|
|
216
|
-
|
|
166
|
+
Example:
|
|
167
|
+
|
|
168
|
+
```vue
|
|
169
|
+
<VibeLayout
|
|
170
|
+
:resolve="resolve"
|
|
171
|
+
mode="dynamic"
|
|
172
|
+
:page-size="25"
|
|
173
|
+
:fill-delay-ms="2000"
|
|
174
|
+
:fill-delay-step-ms="1000"
|
|
175
|
+
:show-end-badge="false"
|
|
176
|
+
:show-status-badges="false"
|
|
177
|
+
/>
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
### Seeded hydration
|
|
181
|
+
|
|
182
|
+
Use `initialState` when the app already knows a restored slice of the feed and wants Vibe to hydrate from that snapshot immediately:
|
|
217
183
|
|
|
218
184
|
```vue
|
|
219
185
|
<VibeLayout
|
|
@@ -228,58 +194,59 @@ You can also seed the viewer from a known snapshot:
|
|
|
228
194
|
/>
|
|
229
195
|
```
|
|
230
196
|
|
|
231
|
-
|
|
197
|
+
Notes:
|
|
232
198
|
|
|
233
|
-
`
|
|
199
|
+
- `resolve` is optional if you only need a seeded snapshot
|
|
200
|
+
- when `resolve` is present, Vibe continues paging from the seeded cursors
|
|
234
201
|
|
|
235
|
-
###
|
|
202
|
+
### Surface behavior
|
|
236
203
|
|
|
237
|
-
|
|
204
|
+
- desktop starts in the masonry list surface
|
|
205
|
+
- clicking a grid tile opens fullscreen
|
|
206
|
+
- `Escape` returns from fullscreen to the list on desktop
|
|
207
|
+
- mobile and tablet always force fullscreen
|
|
208
|
+
- grid uses preview assets and in-view loading
|
|
209
|
+
- fullscreen uses the original asset and shows a spinner until ready
|
|
238
210
|
|
|
239
|
-
|
|
211
|
+
Common behavior props:
|
|
240
212
|
|
|
241
|
-
- `
|
|
242
|
-
- `
|
|
213
|
+
- `surfaceMode`: lets the parent drive the desktop list/fullscreen surface explicitly
|
|
214
|
+
- `emptyStateMode`: controls whether empty states render inline, as a badge, or stay hidden
|
|
215
|
+
- `paginationDetail`: lets the parent attach app-owned cursor or page context to the built-in status UI
|
|
216
|
+
- `showDominantImageTone`, `loopFullscreenVideo`, `showEndBadge`, and `showStatusBadges`: tune the built-in fullscreen and status behavior without taking over the surfaces
|
|
243
217
|
|
|
244
|
-
|
|
245
|
-
<VibeLayout :resolve="resolve">
|
|
246
|
-
<template #item-icon="{ item, icon }">
|
|
247
|
-
<component :is="item.type === 'other' ? MyCustomIcon : icon" />
|
|
248
|
-
</template>
|
|
249
|
-
</VibeLayout>
|
|
250
|
-
```
|
|
218
|
+
## Customization
|
|
251
219
|
|
|
252
|
-
###
|
|
220
|
+
### Surface slots
|
|
253
221
|
|
|
254
|
-
|
|
222
|
+
`VibeLayout` exposes a small set of app-owned surfaces instead of a headless render API:
|
|
255
223
|
|
|
256
|
-
|
|
224
|
+
- `empty-state`
|
|
225
|
+
- `fullscreen-aside`
|
|
226
|
+
- `fullscreen-header-actions`
|
|
227
|
+
- `fullscreen-overlay`
|
|
228
|
+
- `fullscreen-status`
|
|
229
|
+
- `grid-footer`
|
|
230
|
+
- `grid-item-overlay`
|
|
231
|
+
- `grid-status`
|
|
232
|
+
- `item-icon`
|
|
257
233
|
|
|
258
|
-
|
|
259
|
-
- `index`
|
|
260
|
-
- `active`
|
|
261
|
-
- `hovered`
|
|
262
|
-
- `focused`
|
|
263
|
-
- `openFullscreen`
|
|
234
|
+
Example:
|
|
264
235
|
|
|
265
236
|
```vue
|
|
266
237
|
<VibeLayout :resolve="resolve">
|
|
238
|
+
<template #item-icon="{ item, icon }">
|
|
239
|
+
<component :is="item.type === 'other' ? MyCustomIcon : icon" />
|
|
240
|
+
</template>
|
|
241
|
+
|
|
267
242
|
<template #grid-item-overlay="{ item, hovered }">
|
|
268
243
|
<div v-if="hovered" class="absolute inset-x-0 bottom-0 p-3">
|
|
269
244
|
<div class="pointer-events-auto bg-black/45 px-3 py-2 backdrop-blur">
|
|
270
|
-
{{ item.title }}
|
|
245
|
+
Like {{ item.title }}
|
|
271
246
|
</div>
|
|
272
247
|
</div>
|
|
273
248
|
</template>
|
|
274
|
-
</VibeLayout>
|
|
275
|
-
```
|
|
276
249
|
|
|
277
|
-
### `#grid-footer`
|
|
278
|
-
|
|
279
|
-
Desktop grid-only footer surface for app-owned status bars or controls.
|
|
280
|
-
|
|
281
|
-
```vue
|
|
282
|
-
<VibeLayout :resolve="resolve">
|
|
283
250
|
<template #grid-footer>
|
|
284
251
|
<div class="bg-black/55 px-4 py-3 backdrop-blur">
|
|
285
252
|
Custom footer UI
|
|
@@ -288,7 +255,7 @@ Desktop grid-only footer surface for app-owned status bars or controls.
|
|
|
288
255
|
</VibeLayout>
|
|
289
256
|
```
|
|
290
257
|
|
|
291
|
-
|
|
258
|
+
### Exposed handle
|
|
292
259
|
|
|
293
260
|
Get a component ref and use `VibeHandle`:
|
|
294
261
|
|
|
@@ -332,9 +299,11 @@ type VibeStatus = {
|
|
|
332
299
|
itemCount: number
|
|
333
300
|
loadState: 'failed' | 'loaded' | 'loading'
|
|
334
301
|
mode: 'dynamic' | 'static'
|
|
302
|
+
nextBoundaryLoadProgress: number
|
|
335
303
|
nextCursor: string | null
|
|
336
304
|
pageLoadingLocked: boolean
|
|
337
305
|
phase: 'failed' | 'filling' | 'idle' | 'initializing' | 'loading' | 'refreshing'
|
|
306
|
+
previousBoundaryLoadProgress: number
|
|
338
307
|
previousCursor: string | null
|
|
339
308
|
removedCount: number
|
|
340
309
|
removedIds: readonly string[]
|
|
@@ -351,10 +320,11 @@ vibe.value?.undo()
|
|
|
351
320
|
vibe.value?.unlockPageLoading()
|
|
352
321
|
console.log(vibe.value?.status.itemCount)
|
|
353
322
|
console.log(vibe.value?.status.pageLoadingLocked)
|
|
323
|
+
console.log(vibe.value?.status.nextBoundaryLoadProgress)
|
|
354
324
|
console.log(vibe.value?.status.removedIds)
|
|
355
325
|
```
|
|
356
326
|
|
|
357
|
-
|
|
327
|
+
### Events
|
|
358
328
|
|
|
359
329
|
`VibeLayout` emits:
|
|
360
330
|
|
|
@@ -420,15 +390,6 @@ Notes:
|
|
|
420
390
|
- if the same item fails again later, it can emit again in a later batch
|
|
421
391
|
- built-in Vibe error surfaces allow retrying `generic` failures, but not `not-found`
|
|
422
392
|
|
|
423
|
-
## Surface behavior
|
|
424
|
-
|
|
425
|
-
- Desktop starts in the masonry grid
|
|
426
|
-
- Clicking a grid tile opens fullscreen
|
|
427
|
-
- `Escape` returns from fullscreen to grid on desktop
|
|
428
|
-
- Mobile and tablet always force fullscreen
|
|
429
|
-
- Grid uses preview assets and in-view loading
|
|
430
|
-
- Fullscreen uses the original asset and shows a spinner until ready
|
|
431
|
-
|
|
432
393
|
## Local demo routes
|
|
433
394
|
|
|
434
395
|
Run:
|
|
@@ -439,11 +400,11 @@ npm run dev
|
|
|
439
400
|
|
|
440
401
|
Routes:
|
|
441
402
|
|
|
442
|
-
- `/`
|
|
443
|
-
- `/documentation`
|
|
444
|
-
- `/demo/dynamic-feed`
|
|
445
|
-
- `/demo/advanced-integration`
|
|
446
|
-
- `/debug/fake-server`
|
|
403
|
+
- `/` - default feed surface
|
|
404
|
+
- `/documentation` - in-app documentation
|
|
405
|
+
- `/demo/dynamic-feed` - dynamic feed fill-loop demo
|
|
406
|
+
- `/demo/advanced-integration` - static feed, removals, and paging-lock demo
|
|
407
|
+
- `/debug/fake-server` - fake-server inspection route
|
|
447
408
|
|
|
448
409
|
## Local development
|
|
449
410
|
|
|
@@ -459,5 +420,5 @@ npm run test:e2e
|
|
|
459
420
|
## Notes
|
|
460
421
|
|
|
461
422
|
- `lib/` is generated output
|
|
462
|
-
-
|
|
463
|
-
-
|
|
423
|
+
- source of truth is under `src/`
|
|
424
|
+
- the package ships compiled CSS at `@wyxos/vibe/style.css`
|
package/lib/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let e=require(`vue`);var t=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},n=e=>e===``,r=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),i=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),a=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),o=e=>{let t=a(e);return t.charAt(0).toUpperCase()+t.slice(1)},s={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},c=({name:a,iconNode:c,absoluteStrokeWidth:l,"absolute-stroke-width":u,strokeWidth:d,"stroke-width":f,size:p=s.width,color:m=s.stroke,...h},{slots:g})=>(0,e.h)(`svg`,{...s,...h,width:p,height:p,stroke:m,"stroke-width":n(l)||n(u)||l===!0||u===!0?Number(d||f||s[`stroke-width`])*24/Number(p):d||f||s[`stroke-width`],class:r(`lucide`,h.class,...a?[`lucide-${i(o(a))}-icon`,`lucide-${i(a)}`]:[`lucide-icon`]),...!g.default&&!t(h)&&{"aria-hidden":`true`}},[...c.map(t=>(0,e.h)(...t)),...g.default?[g.default()]:[]]),l=(t,n)=>(r,{slots:i,attrs:a})=>(0,e.h)(c,{...a,...r,iconNode:n,name:t},i),u=l(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),d=l(`audio-lines`,[[`path`,{d:`M2 10v3`,key:`1fnikh`}],[`path`,{d:`M6 6v11`,key:`11sgs0`}],[`path`,{d:`M10 3v18`,key:`yhl04a`}],[`path`,{d:`M14 8v7`,key:`3a1oy3`}],[`path`,{d:`M18 5v13`,key:`123xd1`}],[`path`,{d:`M22 10v3`,key:`154ddg`}]]),f=l(`clapperboard`,[[`path`,{d:`m12.296 3.464 3.02 3.956`,key:`qash78`}],[`path`,{d:`M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z`,key:`1h7j8b`}],[`path`,{d:`M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`4lm6w1`}],[`path`,{d:`m6.18 5.276 3.1 3.899`,key:`zjj9t3`}]]),p=l(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),m=l(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),h=l(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),g=l(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),_=l(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),v=l(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),y=l(`volume-1`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}]]),b=l(`volume-2`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]),x=l(`volume-x`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`line`,{x1:`22`,x2:`16`,y1:`9`,y2:`15`,key:`1ewh16`}],[`line`,{x1:`16`,x2:`22`,y1:`9`,y2:`15`,key:`5ykzw1`}]]);function S(e,t=150){return w(e,e=>`${e.surface}|${e.occurrenceKey}|${e.url}|${e.kind}`,t)}function C(e,t=150){return w(e,e=>`${e.surface}|${e.occurrenceKey}|${e.url}`,t)}function w(e,t,n){let r=[],i=new Set,a=null;function o(e){let o=t(e);i.has(o)||(i.add(o),r.push(e),!a&&(a=setTimeout(()=>{s()},n)))}function s(){if(a&&=(clearTimeout(a),null),!r.length)return;let t=r.slice();r.length=0,i.clear(),e(t)}function c(){a&&=(clearTimeout(a),null),r.length=0,i.clear()}return{flush:s,report:o,stop:c}}function T(e){return e instanceof HTMLElement&&[`INPUT`,`TEXTAREA`,`SELECT`].includes(e.tagName)}function E(e){return e instanceof HTMLElement&&!!e.closest(`[data-swipe-lock], input, textarea, select, a`)}function D(e){return e===`filling`||e===`initializing`||e===`loading`||e===`refreshing`}function O(e){return!e||!Number.isFinite(e)||e<1?25:Math.floor(e)}function k(e){return e??`__vibe_initial_cursor__`}function A(e,t,n){return Math.min(Math.max(e,t),n)}function j(){let t=(0,e.ref)(new Set),n=(0,e.ref)([]);function r(e){let r=M(e).filter(e=>!t.value.has(e));if(!r.length)return{ids:[]};let i=new Set(t.value);for(let e of r)i.add(e);return t.value=i,n.value=[...n.value,r],{ids:r}}function i(e){let n=M(e).filter(e=>t.value.has(e));if(!n.length)return{ids:[]};let r=new Set(t.value);for(let e of n)r.delete(e);return t.value=r,{ids:n}}function a(){if(!n.value.length)return null;let e=[...n.value],r=e.pop()??[];n.value=e;let i=r.filter(e=>t.value.has(e));if(!i.length)return{ids:[]};let a=new Set(t.value);for(let e of i)a.delete(e);return t.value=a,{ids:i}}function o(){!t.value.size&&!n.value.length||(t.value=new Set,n.value=[])}function s(){return Array.from(t.value)}return{clearRemoved:o,getRemovedIds:s,remove:r,removedIds:t,restore:i,undo:a}}function M(e){let t=Array.isArray(e)?e:[e];return Array.from(new Set(t.filter(e=>typeof e==`string`&&e.length>0)))}var N=`__vibeOccurrenceKey`;function P(e){let t=e[N];return typeof t==`string`&&t.length>0?t:e.id}function F(e,t,n){let r=new Map,i=[],a=n;for(let e of t){let t=r.get(e.id),n=P(e);t?t.push(n):r.set(e.id,[n])}for(let t of e){let e=r.get(t.id)?.shift()??`vibe-occurrence-${a+=1}`;i.push(I(t,e))}return{items:i,nextSequence:a}}function I(e,t){return P(e)===t?e:{...e,[N]:t}}function L(e){return e.flatMap(e=>e.items)}function R(e,t){return t.size?e.filter(e=>!t.has(e.id)):e}function z(e,t){return R(e.items,t)}function B(e,t){return z(e,t).length}function V(e,t,n){if(n<0)return null;let r=0;for(let i of e){let e=z(i,t),a=r+e.length;if(n<a)return i.cursor;r=a}return null}function H(e,t,n){let r=[...e],i=r.findIndex(e=>e.cursor===t);return i>=0&&r.splice(i,1,n),r}function U(e,t,n){let r=F(e,t,n);return{items:r.items,nextSequence:r.nextSequence}}function ee(e){return e instanceof DOMException&&e.name===`AbortError`||e instanceof Error&&(e.name===`AbortError`||e.name===`CanceledError`)?!0:typeof e==`object`&&!!e&&`code`in e&&e.code===`ERR_CANCELED`}function W(e){let t=U(e.nextItems,e.previousItems,e.sequence);return{bucket:{cursor:e.cursor,items:t.items,nextCursor:e.nextCursor,previousCursor:e.previousCursor},nextSequence:t.nextSequence}}function G(e,t,n,r){if(!e.length)return r?null:{buckets:[],canceled:r,visibleCount:0};let i=t===`backward`?[...e].reverse():e;return{buckets:i,canceled:r,visibleCount:i.reduce((e,t)=>e+B(t,n),0)}}function K(e){let t=W({cursor:e.initialState.cursor,nextCursor:e.initialState.nextCursor??null,nextItems:e.initialState.items,previousCursor:e.initialState.previousCursor??null,previousItems:[],sequence:e.sequence}),n=R(t.bucket.items,e.removedIds);return{activeIndex:A(e.initialState.activeIndex??0,0,Math.max(0,n.length-1)),buckets:[t.bucket],nextSequence:t.nextSequence}}function q(e,t){let n=e[A(t,0,Math.max(0,e.length-1))];return n?P(n):null}function J(e,t,n=null){if(!e.length)return 0;let r=n?e.findIndex(e=>P(e)===n):-1;return r>=0?r:A(t,0,e.length-1)}function Y(e,t,n){return e?B(e,t)<n:!1}var te=2e3,ne=1e3,X=100;function re(e,t=te,n=ne){return t+Math.max(0,e-1)*n}function ie(e,t){return!Number.isFinite(e)||e==null||e<0?t:Math.floor(e)}function ae(){let t=(0,e.ref)(null),n=null,r=null,i=null;function a(e=!1){if(n&&=(clearInterval(n),null),r&&=(clearTimeout(r),null),t.value=null,e&&i){let e=i;i=null,e()}}async function o(e){a(!0),!(e<=0)&&(t.value=e,await new Promise(o=>{let s=Date.now(),c=!1,l=()=>{c||(c=!0,i=null,a(),o())};i=l;let u=()=>{let n=Math.max(0,e-(Date.now()-s));t.value=n,n<=0&&l()};n=setInterval(u,X),r=setTimeout(l,e),u()}))}return{clear:a,remainingMs:t,wait:o}}function oe(t){let n=!!t.initialState?.items.length,r=(0,e.ref)([]),i=(0,e.ref)(0),a=(0,e.ref)([]),o=(0,e.ref)(!1),s=(0,e.ref)(null),c=(0,e.ref)(!n&&typeof t.resolve==`function`?`initializing`:`idle`),l=(0,e.ref)(null),u=ae(),d=u.remainingMs,f=(0,e.ref)(null),p=(0,e.ref)(!1),m=(0,e.ref)(!0),h=(0,e.ref)(!1),g=new Set,_=null,v=null,y=0,b=0,x=(0,e.computed)(()=>ie(t.fillDelayMs,te)),S=(0,e.computed)(()=>ie(t.fillDelayStepMs,ne)),C=(0,e.computed)(()=>typeof t.resolve==`function`),w=(0,e.computed)(()=>t.mode??`dynamic`),T=(0,e.computed)(()=>O(t.pageSize)),E=(0,e.computed)(()=>L(r.value)),j=(0,e.computed)(()=>R(E.value,t.removedIds.value)),M=(0,e.computed)(()=>i.value),N=(0,e.computed)(()=>D(c.value)||p.value),F=(0,e.computed)(()=>se(r.value,t.removedIds.value)),I=(0,e.computed)(()=>ce(r.value,t.removedIds.value)),z=(0,e.computed)(()=>I.value?.nextCursor??null),U=(0,e.computed)(()=>o.value?null:F.value?.previousCursor??null),X=(0,e.computed)(()=>!!z.value),oe=(0,e.computed)(()=>!!U.value),le=(0,e.computed)(()=>C.value&&r.value.length>0),ue=(0,e.computed)(()=>R(L(a.value),t.removedIds.value)),de=(0,e.computed)(()=>V(r.value,t.removedIds.value,M.value)),fe=(0,e.computed)(()=>!j.value.length&&!N.value&&!!s.value);(0,e.watch)(()=>j.value.length,e=>{if(e===0){i.value=0;return}o.value&&=(Ie(),!1),i.value>e-1&&(i.value=e-1)}),(0,e.watch)(()=>i.value,()=>{m.value&&De()}),(0,e.onMounted)(()=>{Ne()||t.resolve&&pe()}),(0,e.onBeforeUnmount)(()=>{_?.abort(),_=null,u.clear(!0)});async function pe(){v=pe;let e=await je({continueUntilFilled:w.value===`dynamic`,cursor:t.initialCursor??null,direction:`forward`,phase:`initializing`});e&&(r.value=e.buckets,i.value=0,Z())}async function me(){if(!(h.value||N.value)){if(!X.value)return le.value?Ae(`trailing`):void 0;if(w.value===`static`&&Fe(`trailing`))return Ae(`trailing`);await Oe(z.value)}}async function he(){if(!(h.value||!oe.value||N.value)){if(w.value===`static`&&Fe(`leading`))return Ae(`leading`);await ke(U.value)}}async function ge(){if(fe.value){if(r.value=[],i.value=0,a.value=[],o.value=!1,s.value=null,c.value=C.value?`initializing`:`idle`,l.value=null,f.value=null,p.value=!1,g.clear(),_?.abort(),_=null,u.clear(!0),Ne()){Z();return}await pe()}}async function _e(){if(fe.value)return ge();h.value||c.value!==`failed`||!v||(s.value=null,await v())}async function ve(){if(!a.value.length)return p.value=!1,Z();r.value=[...r.value,...a.value],a.value=[],p.value=!1,Z()}function ye(e){let n=j.value;if(!n.length)return;let r=A(e,0,n.length-1);r!==i.value&&(i.value=r,t.emit(`update:activeIndex`,r))}function be(e){m.value=e}function xe(){h.value=!0,u.clear(!0)}function Se(){h.value=!1}function Ce(){y+=1,_?.abort(),_=null,u.clear(!0),g.clear(),s.value=null,l.value=null,f.value=null,a.value.length>0&&(r.value=[...r.value,...a.value],a.value=[]),p.value=!1,o.value=!1,Z()}function we(){return q(j.value,M.value)}function Te(e=null,t={}){if(j.value.length===0){i.value=0,!t.preserveTrailingPlaceholder&&r.value.length>0&&(o.value=!0);return}if(e){let t=j.value.findIndex(t=>P(t)===e);if(t>=0){i.value=t;return}}if(t.preserveTrailingPlaceholder&&i.value>=j.value.length){i.value=j.value.length;return}i.value=J(j.value,M.value,e)}function Ee(){a.value.length>0&&!ue.value.length&&ve()}async function De(){if(!(!m.value||Pe())){if(!j.value.length){X.value&&await me();return}oe.value&&i.value<3&&await he(),X.value&&i.value>=j.value.length-3&&await me()}}async function Oe(e){v=async()=>{await Oe(e)};let t=await je({continueUntilFilled:w.value===`dynamic`,cursor:e,direction:`forward`,phase:`loading`});if(t){if(t.canceled)return r.value=[...r.value,...t.buckets],a.value=[],p.value=!1,Z();if(a.value=t.buckets,!ue.value.length)return r.value=[...r.value,...a.value],a.value=[],p.value=!1,Z();p.value=!0}}async function ke(e){v=async()=>{await ke(e)};let t=await je({continueUntilFilled:w.value===`dynamic`,cursor:e,direction:`backward`,phase:`loading`});if(!t)return;let n=we();r.value=[...t.buckets,...r.value],Te(n),Z()}async function Ae(e){if(v=async()=>{await Ae(e)},!t.resolve)return;let n=e===`leading`?F.value:I.value;if(!n)return;let i=k(n.cursor);if(g.has(i))return;g.add(i),s.value=null,c.value=`refreshing`,l.value=null,f.value=null;let a=++y,o=typeof AbortController>`u`?null:new AbortController;_=o;try{let e=await t.resolve({cursor:n.cursor,pageSize:T.value,signal:o?.signal});if(a!==y)return Z();let i=Me({cursor:n.cursor,nextCursor:e.nextPage,nextItems:e.items,previousCursor:e.previousPage??null,previousItems:n.items}),s=we();r.value=H(r.value,n.cursor,i),Te(s),Z()}catch(e){if(ee(e)||a!==y){Z();return}s.value=e instanceof Error?e.message:`The viewer could not load items.`,c.value=`failed`,l.value=null,f.value=null}finally{_===o&&(_=null),g.delete(i)}}async function je(e){if(!t.resolve)return null;let n=++y,r=new Set,i=[],a=e.cursor,o=0;for(s.value=null,c.value=e.phase,l.value=null,f.value=null;;){if(n!==y)return G(i,e.direction,t.removedIds.value,!0);if(i.length>0&&h.value)return G(i,e.direction,t.removedIds.value,!1);let d=k(a);if(r.has(d)||g.has(d))break;r.add(d),g.add(d);let p=typeof AbortController>`u`?null:new AbortController;_=p;try{let r=await t.resolve({cursor:a,pageSize:T.value,signal:p?.signal});if(n!==y)return G(i,e.direction,t.removedIds.value,!0);let s=Me({cursor:a,nextCursor:r.nextPage,nextItems:r.items,previousCursor:r.previousPage??null,previousItems:[]});i.push(s);let d=i.reduce((e,n)=>e+B(n,t.removedIds.value),0),m=e.direction===`forward`?s.nextCursor:s.previousCursor;if(!e.continueUntilFilled||d>=T.value||!m)return{canceled:!1,buckets:e.direction===`backward`?[...i].reverse():i,visibleCount:d};if(h.value)return G(i,e.direction,t.removedIds.value,!1);c.value=`filling`,l.value=d,f.value=T.value,o+=1;let g=re(o,x.value,S.value);if(await u.wait(g),n!==y)return G(i,e.direction,t.removedIds.value,!0);a=m}catch(r){return ee(r)||n!==y?G(i,e.direction,t.removedIds.value,!0):(s.value=r instanceof Error?r.message:`The viewer could not load items.`,c.value=`failed`,l.value=null,f.value=null,null)}finally{_===p&&(_=null),g.delete(d)}}return G(i,e.direction,t.removedIds.value,!1)}function Me(e){let t=W({cursor:e.cursor,nextCursor:e.nextCursor,nextItems:e.nextItems,previousCursor:e.previousCursor,previousItems:e.previousItems,sequence:b});return b=t.nextSequence,t.bucket}function Z(){c.value=`idle`,l.value=null,f.value=null,u.clear()}function Ne(){if(!t.initialState||!t.initialState.items.length)return!1;let e=K({initialState:t.initialState,removedIds:t.removedIds.value,sequence:b});return r.value=e.buckets,i.value=e.activeIndex,b=e.nextSequence,o.value=!1,s.value=null,a.value=[],p.value=!1,!0}function Pe(){return c.value===`initializing`}function Fe(e){return Y(e===`leading`?F.value:I.value,t.removedIds.value,T.value)}function Ie(){let e=r.value.findIndex(e=>B(e,t.removedIds.value)>0);if(e<0)return;let n=e;for(let i=r.value.length-1;i>=e;--i)if(B(r.value[i],t.removedIds.value)>0){n=i;break}r.value=r.value.slice(e,n+1)}return{activeIndex:M,canRetryInitialLoad:fe,cancel:Ce,canRefreshTrailingBoundary:le,commitPendingAppend:ve,currentCursor:de,errorMessage:s,fillCollectedCount:l,fillDelayRemainingMs:d,fillTargetCount:f,hasNextPage:X,hasPreviousPage:oe,isAutoPrefetchEnabled:m,isPageLoadingLocked:h,items:j,lockPageLoading:xe,loading:N,mode:w,maybePrefetchAround:De,nextCursor:z,pendingAppendItems:ue,phase:c,prefetchNextPage:me,prefetchPreviousPage:he,previousCursor:U,retryInitialLoad:ge,retry:_e,setActiveIndex:ye,setAutoPrefetchEnabled:be,syncActiveIndexAfterVisibilityChange:Te,unlockPageLoading:Se,getActiveOccurrenceKey:we,maybeCommitPendingAppendWhenFilteredOut:Ee}}function se(e,t){return e.find(e=>B(e,t)>0)??e[0]??null}function ce(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(B(r,t)>0)return r}return e[e.length-1]??null}function le(t,n){let{clearRemoved:r,getRemovedIds:i,remove:a,removedIds:o,restore:s,undo:c}=j(),l=oe({emit:n,fillDelayMs:t.fillDelayMs,fillDelayStepMs:t.fillDelayStepMs,initialCursor:t.initialCursor,initialState:t.initialState,mode:t.mode,pageSize:t.pageSize,removedIds:o,resolve:t.resolve}),u=l.items,d=l.activeIndex,f=l.loading,p=l.hasNextPage,m=l.hasPreviousPage,h=(0,e.computed)(()=>o.value.size),g=(0,e.computed)(()=>t.paginationDetail??null),_=(0,e.computed)(()=>!l.hasNextPage.value&&l.canRefreshTrailingBoundary.value);function v(e){let t=u.value;t.length&&l.setActiveIndex(C(e,0,t.length-1))}function y(e){let t=l.getActiveOccurrenceKey(),n=u.value[d.value]??null,r=Array.isArray(e)?e:[e],i=!!(n&&r.includes(n.id)&&l.isAutoPrefetchEnabled.value&&d.value>=u.value.length-3),o=!!(n&&r.includes(n.id)&&l.hasNextPage.value&&d.value===u.value.length-1),s=a(e);return s.ids.length?(l.maybeCommitPendingAppendWhenFilteredOut(),l.syncActiveIndexAfterVisibilityChange(t,{preserveTrailingPlaceholder:o}),i&&l.maybePrefetchAround(),s):s}function b(e){let t=l.getActiveOccurrenceKey(),n=s(e);return n.ids.length&&l.syncActiveIndexAfterVisibilityChange(t),n}function x(){let e=l.getActiveOccurrenceKey(),t=c();return t?.ids.length&&l.syncActiveIndexAfterVisibilityChange(e),t}function S(){let e=l.getActiveOccurrenceKey();r(),l.syncActiveIndexAfterVisibilityChange(e)}function C(e,t,n){return Math.min(Math.max(e,t),n)}function w(){l.cancel()}async function T(){await l.prefetchNextPage()}async function E(){await l.prefetchPreviousPage()}async function D(){await l.retry()}return{activeIndex:d,canRefreshExhaustedNextPage:_,canRetryInitialLoad:l.canRetryInitialLoad,cancel:w,clearRemoved:S,commitPendingAppend:l.commitPendingAppend,currentCursor:l.currentCursor,errorMessage:l.errorMessage,fillCollectedCount:l.fillCollectedCount,fillDelayRemainingMs:l.fillDelayRemainingMs,fillTargetCount:l.fillTargetCount,getRemovedIds:i,hasNextPage:p,hasPreviousPage:m,isPageLoadingLocked:l.isPageLoadingLocked,items:u,lockPageLoading:l.lockPageLoading,loading:f,loadNext:T,loadPrevious:E,mode:l.mode,nextCursor:l.nextCursor,paginationDetail:g,pendingAppendItems:l.pendingAppendItems,phase:l.phase,prefetchNextPage:l.prefetchNextPage,prefetchPreviousPage:l.prefetchPreviousPage,previousCursor:l.previousCursor,removedCount:h,remove:y,restore:b,retry:D,retryInitialLoad:l.retryInitialLoad,setActiveIndex:v,setAutoPrefetchEnabled:l.setAutoPrefetchEnabled,undo:x,unlockPageLoading:l.unlockPageLoading}}var ue=1024;function de(t,n){let r=le(t,n),i=(0,e.reactive)({nextBoundaryLoadProgress:0,previousBoundaryLoadProgress:0}),a=(0,e.ref)(0),o=(0,e.ref)(`list`),s=(0,e.reactive)({activeIndex:0,currentCursor:null,errorMessage:null,fillCollectedCount:null,fillDelayRemainingMs:null,fillTargetCount:null,hasNextPage:!1,hasPreviousPage:!1,itemCount:0,loadState:`loaded`,mode:`dynamic`,nextBoundaryLoadProgress:0,nextCursor:null,pageLoadingLocked:!1,phase:`idle`,previousBoundaryLoadProgress:0,previousCursor:null,removedCount:0,removedIds:[],surfaceMode:`list`}),c=(0,e.computed)(()=>a.value>=ue),l=(0,e.computed)(()=>c.value?o.value:`fullscreen`),u=(0,e.computed)(()=>c.value&&l.value===`fullscreen`);(0,e.watch)(c,e=>{e&&h()}),(0,e.watch)(()=>t.surfaceMode,()=>{h()}),(0,e.watch)([l,()=>r.pendingAppendItems.value.length],([e,t])=>{e===`list`||t<=0||r.commitPendingAppend()}),(0,e.watch)([()=>r.items.value.length,()=>r.loading.value,()=>r.hasNextPage.value,()=>r.pendingAppendItems.value.length],([e,t,r,i])=>{!c.value||e>0||o.value===`list`||t||r||i>0||(o.value=`list`,n(`update:surfaceMode`,`list`))}),(0,e.watch)(l,e=>{r.setAutoPrefetchEnabled(e===`fullscreen`)},{immediate:!0}),(0,e.watchEffect)(()=>{s.activeIndex=r.activeIndex.value,s.currentCursor=r.currentCursor.value,s.errorMessage=r.errorMessage.value,s.fillCollectedCount=r.fillCollectedCount.value,s.fillDelayRemainingMs=r.fillDelayRemainingMs.value,s.fillTargetCount=r.fillTargetCount.value,s.hasNextPage=r.hasNextPage.value,s.hasPreviousPage=r.hasPreviousPage.value,s.itemCount=r.items.value.length,s.loadState=r.loading.value?`loading`:r.errorMessage.value?`failed`:`loaded`,s.mode=r.mode.value,s.nextBoundaryLoadProgress=i.nextBoundaryLoadProgress,s.nextCursor=r.nextCursor.value,s.pageLoadingLocked=r.isPageLoadingLocked.value,s.phase=r.phase.value,s.previousBoundaryLoadProgress=i.previousBoundaryLoadProgress,s.previousCursor=r.previousCursor.value,s.removedCount=r.removedCount.value,s.removedIds=r.getRemovedIds(),s.surfaceMode=l.value}),(0,e.onMounted)(()=>{m(),h(),window.addEventListener(`keydown`,p),window.addEventListener(`resize`,m)}),(0,e.onBeforeUnmount)(()=>{window.removeEventListener(`keydown`,p),window.removeEventListener(`resize`,m)});function d(e){r.setActiveIndex(e),c.value&&o.value!==`fullscreen`&&(o.value=`fullscreen`,n(`update:surfaceMode`,`fullscreen`))}function f(){!c.value||o.value===`list`||(o.value=`list`,n(`update:surfaceMode`,`list`))}function p(e){e.defaultPrevented||e.key!==`Escape`||!c.value||l.value!==`fullscreen`||T(e.target)||(e.preventDefault(),f())}function m(){a.value=window.innerWidth||0}function h(){!c.value||!t.surfaceMode||t.surfaceMode===o.value||(o.value=t.surfaceMode)}function g(e){i.nextBoundaryLoadProgress=fe(e.nextBoundaryLoadProgress),i.previousBoundaryLoadProgress=fe(e.previousBoundaryLoadProgress)}return{...r,cancel:r.cancel,isDesktop:c,lockPageLoading:r.lockPageLoading,loadNext:r.loadNext,loadPrevious:r.loadPrevious,openFullscreen:d,returnToList:f,retry:r.retry,setBoundaryLoadProgress:g,showBackToList:u,status:(0,e.readonly)(s),surfaceMode:l,unlockPageLoading:r.unlockPageLoading}}function fe(e){return Math.min(Math.max(e,0),1)}var pe={"data-testid":`vibe-media-bar`,class:`absolute inset-x-0 bottom-0 z-[5] bg-[linear-gradient(180deg,transparent,rgba(0,0,0,0.42)_24%,rgba(0,0,0,0.78))] px-[clamp(1rem,2.6vw,2.25rem)] pt-4 pb-[1.15rem]`},me={class:`grid grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center gap-3 border-t border-white/12 bg-black/70 px-4 py-3 backdrop-blur-[18px]`},he={class:`text-[0.76rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/74`},ge={class:`relative h-4 w-full`},_e=[`max`,`value`,`disabled`],ve={class:`text-[0.76rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/74`},ye=[`data-layout`],be={key:0,"data-testid":`vibe-media-volume-popover`,class:`absolute bottom-[calc(100%+0.8rem)] right-0 grid justify-items-center gap-3 border border-white/12 bg-black/82 px-3 py-4 shadow-[0_20px_50px_-20px_rgba(0,0,0,0.85)] backdrop-blur-[18px]`},xe={class:`relative flex h-28 w-4 items-center justify-center`},Se=[`value`],Ce={class:`flex items-center gap-3`},we=[`aria-label`],Te={key:0,class:`relative h-4 w-24`},Ee=[`value`],De=(0,e.defineComponent)({__name:`FullscreenMediaBar`,props:{currentTime:{},currentTimeLabel:{},duration:{},durationLabel:{},muted:{type:Boolean},progress:{},volume:{},volumeControlLayout:{}},emits:[`seek-input`,`volume-input`,`volume-toggle`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.ref)(null),o=(0,e.ref)(!1),s=(0,e.computed)(()=>r.volumeControlLayout===`vertical`),c=(0,e.computed)(()=>g(r.volume,0,1)),l=(0,e.computed)(()=>Math.round(c.value*100)),u=(0,e.computed)(()=>r.muted||c.value<=0?x:c.value<.5?y:b),d=(0,e.computed)(()=>r.muted||c.value<=0?`Unmute active media`:`Mute active media`),f=(0,e.computed)(()=>s.value&&!o.value?`Show volume controls`:d.value),p=(0,e.computed)(()=>r.volumeControlLayout===`vertical`?{height:`${l.value}%`}:{width:`${l.value}%`});(0,e.watch)(s,e=>{e||(o.value=!1)}),(0,e.onMounted)(()=>{document.addEventListener(`pointerdown`,m)}),(0,e.onBeforeUnmount)(()=>{document.removeEventListener(`pointerdown`,m)});function m(e){!s.value||!o.value||a.value&&e.target instanceof Node&&!a.value.contains(e.target)&&(o.value=!1)}function h(){if(!s.value){i(`volume-toggle`);return}if(!o.value){o.value=!0;return}i(`volume-toggle`)}function g(e,t,n){return Math.min(Math.max(e,t),n)}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,pe,[(0,e.createElementVNode)(`div`,me,[(0,e.createElementVNode)(`span`,he,(0,e.toDisplayString)(r.currentTimeLabel),1),(0,e.createElementVNode)(`div`,ge,[n[3]||=(0,e.createElementVNode)(`div`,{class:`absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-white/12`},null,-1),(0,e.createElementVNode)(`div`,{class:`absolute left-0 top-1/2 h-px -translate-y-1/2 bg-[#f7f1ea]`,style:(0,e.normalizeStyle)({width:`${r.progress}%`})},null,4),(0,e.createElementVNode)(`input`,{"data-swipe-lock":`true`,type:`range`,"aria-label":`Seek active media`,min:`0`,step:`0.1`,max:r.duration||1,value:r.currentTime,disabled:r.duration<=0,class:`vibe-media-slider absolute inset-0 z-10 h-4 w-full cursor-pointer bg-transparent disabled:cursor-default disabled:opacity-50`,onInput:n[0]||=e=>i(`seek-input`,e)},null,40,_e)]),(0,e.createElementVNode)(`span`,ve,(0,e.toDisplayString)(r.durationLabel),1),(0,e.createElementVNode)(`div`,{ref_key:`rootRef`,ref:a,"data-testid":`vibe-media-volume`,"data-layout":r.volumeControlLayout,class:`relative flex items-center justify-end`},[s.value&&o.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,be,[(0,e.createElementVNode)(`div`,xe,[n[4]||=(0,e.createElementVNode)(`div`,{class:`absolute bottom-0 left-1/2 h-full w-px -translate-x-1/2 bg-white/12`},null,-1),(0,e.createElementVNode)(`div`,{class:`absolute bottom-0 left-1/2 w-px -translate-x-1/2 bg-[#f7f1ea]`,style:(0,e.normalizeStyle)(p.value)},null,4),(0,e.createElementVNode)(`input`,{"data-testid":`vibe-media-volume-slider`,"data-swipe-lock":`true`,type:`range`,"aria-label":`Adjust active media volume`,min:`0`,max:`1`,step:`0.05`,value:c.value,class:`vibe-media-slider absolute left-1/2 top-1/2 h-4 w-28 -translate-x-1/2 -translate-y-1/2 -rotate-90 bg-transparent`,onInput:n[1]||=e=>i(`volume-input`,e)},null,40,Se)])])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Ce,[(0,e.createElementVNode)(`button`,{type:`button`,"data-testid":`vibe-media-volume-button`,"aria-label":f.value,class:`inline-flex h-10 w-10 items-center justify-center border border-white/14 bg-black/50 text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/65`,onClick:h},[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(u.value),{class:`h-4 w-4 stroke-[1.9]`,"aria-hidden":`true`}))],8,we),r.volumeControlLayout===`horizontal`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Te,[n[5]||=(0,e.createElementVNode)(`div`,{class:`absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-white/12`},null,-1),(0,e.createElementVNode)(`div`,{class:`absolute left-0 top-1/2 h-px -translate-y-1/2 bg-[#f7f1ea]`,style:(0,e.normalizeStyle)(p.value)},null,4),(0,e.createElementVNode)(`input`,{"data-testid":`vibe-media-volume-slider`,"data-swipe-lock":`true`,type:`range`,"aria-label":`Adjust active media volume`,min:`0`,max:`1`,step:`0.05`,value:c.value,class:`vibe-media-slider absolute inset-0 z-10 h-4 w-full cursor-pointer bg-transparent`,onInput:n[2]||=e=>i(`volume-input`,e)},null,40,Ee)])):(0,e.createCommentVNode)(``,!0)])],8,ye)])]))}}),Oe={class:`pointer-events-none absolute inset-0 z-[3] flex flex-col justify-between p-[clamp(1.25rem,2.6vw,2.25rem)]`},ke={class:`grid gap-4`},Ae={class:`flex min-h-11 items-center justify-between gap-4`},je={class:`min-w-0 flex flex-1 items-center gap-3`},Me={key:1,"data-testid":`vibe-title`,class:`m-0 truncate text-left text-[0.82rem] leading-none tracking-[-0.04em] min-[721px]:text-[1.2rem]`},Z={class:`pointer-events-auto flex shrink-0 items-center gap-2`},Ne={"data-testid":`vibe-pagination`,class:`inline-flex shrink-0 items-center gap-2 whitespace-nowrap border border-white/14 bg-black/40 px-3 py-2 text-[0.63rem] font-bold uppercase tracking-[0.12em] text-[#f7f1ea]/72 backdrop-blur-[18px] min-[721px]:gap-3 min-[721px]:px-4 min-[721px]:py-3 min-[721px]:text-[0.74rem] min-[721px]:tracking-[0.2em]`},Pe={class:`whitespace-nowrap`},Fe={key:1,class:`whitespace-nowrap border-l border-white/12 pl-2 text-[#f7f1ea]/56 min-[721px]:pl-3`},Ie={key:0,class:`grid gap-2 max-[720px]:justify-items-start`},Le=(0,e.defineComponent)({__name:`FullscreenHeader`,props:{currentIndex:{},loading:{type:Boolean},paginationDetail:{},showBackToList:{type:Boolean},showEndBadge:{type:Boolean},title:{},total:{}},emits:[`back-to-list`],setup(t,{emit:n}){let r=t,i=n;return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Oe,[(0,e.createElementVNode)(`div`,ke,[(0,e.createElementVNode)(`div`,Ae,[(0,e.createElementVNode)(`div`,je,[r.showBackToList?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,"data-testid":`vibe-back-to-list`,class:`pointer-events-auto inline-flex h-11 w-11 shrink-0 items-center justify-center border border-white/14 bg-black/40 text-[#f7f1ea]/78 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/55`,"aria-label":`Back to list`,onClick:n[0]||=e=>i(`back-to-list`)},[(0,e.createVNode)((0,e.unref)(u),{class:`h-4 w-4 stroke-[2.2]`,"aria-hidden":`true`})])):(0,e.createCommentVNode)(``,!0),r.title?((0,e.openBlock)(),(0,e.createElementBlock)(`h2`,Me,(0,e.toDisplayString)(r.title),1)):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`div`,Z,[(0,e.createElementVNode)(`span`,Ne,[r.loading?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(h),{key:0,"data-testid":`vibe-pagination-spinner`,class:`h-3.5 w-3.5 animate-spin stroke-[1.9]`,"aria-hidden":`true`})):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`span`,Pe,(0,e.toDisplayString)(r.currentIndex+1)+` / `+(0,e.toDisplayString)(r.total),1),r.paginationDetail?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Fe,(0,e.toDisplayString)(r.paginationDetail),1)):(0,e.createCommentVNode)(``,!0)]),(0,e.renderSlot)(t.$slots,`actions`)])])]),r.showEndBadge?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ie,[...n[1]||=[(0,e.createElementVNode)(`span`,{class:`inline-flex items-center border border-amber-300/35 bg-black/40 px-4 py-3 text-[0.74rem] font-bold uppercase tracking-[0.2em] text-amber-200 backdrop-blur-[18px]`},` End reached `,-1)]])):(0,e.createCommentVNode)(``,!0)]))}}),Re={image:m,video:f,audio:d,other:p},ze={image:`Image`,video:`Video`,audio:`Audio`,other:`File`};function Be(e){return Re[e]}function Ve(e){return ze[e]}var He=1,Ue=2;function We(e){function t(e,t){let n=t.title?.trim();return n?`${e} ${n}`:`${e} ${Ve(t.type).toLowerCase()}`}function n(e){return P(e)}function r(t){let n=e.resolvedActiveIndex.value;return!!e.active.value&&t>=n-He&&t<=n+Ue}function i(t,i){let a=n(i);return!r(t)||t!==e.resolvedActiveIndex.value||e.viewer.getAssetErrorKind(a)?!1:i.type===`image`?!e.viewer.isImageReady(a):i.type===`video`||i.type===`audio`?!e.viewer.isMediaReady(a):!1}function a(t){return e.viewer.getAssetErrorKind(n(t))}function o(t){return e.viewer.getAssetErrorLabel(n(t))??`Load error`}function s(t,n){return r(t)&&t===e.resolvedActiveIndex.value&&!!a(n)}function c(t,n){return r(t)?e.viewer.getImageSource(n):void 0}function l(e,t){return r(e)?t.url:void 0}return{getAssetErrorKind:a,getAssetErrorLabel:o,getFullscreenImageSource:c,getFullscreenMediaSource:l,getItemKey:n,getMediaActionLabel:t,isAssetErrored:s,isAssetLoading:i,shouldPreloadSlideAsset:r}}function Ge(t){if(!Array.isArray(t))return!1;for(let n of t){if(Array.isArray(n)){if(Ge(n))return!0;continue}if(!(0,e.isVNode)(n)){if(typeof n==`string`){if(n.trim().length>0)return!0;continue}if(n!=null&&n!==!1)return!0;continue}if(!Ke(n))return!0}return!1}function Ke(t){return t.type===e.Comment?!0:t.type===e.Text?typeof t.children==`string`?t.children.trim().length===0:!0:t.type===e.Fragment?!Ge(t.children):!1}var qe=`no items available`;function Je(t){let n=(0,e.computed)(()=>t.loading.value||t.itemCount.value>0||t.emptyStateMode.value===`hidden`?null:{loading:!!t.loading.value,message:qe,mode:t.emptyStateMode.value===`badge`?`badge`:`inline`,surface:t.surface,total:t.itemCount.value}),r=(0,e.computed)(()=>!n.value||!t.renderSlot?[]:t.renderSlot(n.value));return{emptyStateProps:n,showBadgeEmptyState:(0,e.computed)(()=>n.value?.mode===`badge`),showCustomEmptyState:(0,e.computed)(()=>Ge(r.value)),showInlineEmptyState:(0,e.computed)(()=>n.value?.mode===`inline`)}}function Ye(e){if(!Number.isFinite(e)||e<=0)return`0:00`;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}:${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`:`${r}:${String(i).padStart(2,`0`)}`}function Xe(e){return e.phase?e.phase:e.loading?e.itemCount>0?`loading`:`initializing`:`idle`}function Ze(e){return e.phase===`failed`?{kind:`failed`,message:e.errorMessage??(e.hasItems?`The viewer could not load more items.`:`The viewer could not load items.`)}:e.phase===`initializing`?{kind:`initializing`,message:`Loading the first page`}:e.phase===`loading`?{kind:`loading-more`,message:e.hasItems?`Loading more items`:`Loading the first page`}:e.phase===`filling`?{kind:`filling`,message:`Filling the view`}:e.phase===`refreshing`?{kind:`refreshing`,message:!e.hasNextPage&&e.hasItems?e.surface===`grid`?`Refreshing the end of the list`:`Refreshing the end of the feed`:`Refreshing visible items`}:!e.hasItems||e.hasNextPage?null:{kind:`end`,message:e.surface===`grid`?`End of list`:`End of feed`}}function Qe(t){let n=!1;(0,e.watch)(t.enabled,async e=>{if(r(e),e){t.onResize(),await t.onEnable();return}t.onDisable()},{immediate:!0}),(0,e.onMounted)(()=>{t.onResize(),t.enabled.value&&t.onEnable()}),(0,e.onBeforeUnmount)(()=>{r(!1),t.onDisable()});function r(e){if(e&&!n){window.addEventListener(`resize`,t.onResize),window.addEventListener(`keydown`,t.onKeydown),n=!0;return}!e&&n&&(window.removeEventListener(`resize`,t.onResize),window.removeEventListener(`keydown`,t.onKeydown),n=!1)}}var $e={currentTime:0,duration:0,errorKind:null,muted:!1,paused:!0,ready:!1,volume:1};function et(){return{...$e}}function tt(e){return e.complete&&!!(e.currentSrc||e.getAttribute(`src`))}function nt(e,t,n){e.currentTime=Number.isFinite(t.currentTime)?t.currentTime:0,e.duration=Number.isFinite(t.duration)?t.duration:0,e.muted=t.muted,e.paused=t.paused,e.volume=Number.isFinite(t.volume)?t.volume:e.volume,n&&n!==`error`&&(e.errorKind=null),e.ready=rt(t,n)}function rt(e,t){return t===`error`||t===`loadstart`||t===`waiting`||t===`stalled`?!1:t===`canplay`||t===`canplaythrough`||t===`playing`?!0:e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA}var it=new Map;function at(e){return e===`not-found`?`404`:`Load error`}function ot(e){return e===`generic`}function st(e){return ct(e).then(e=>e??`generic`)}function ct(e){let t=it.get(e);if(t)return t;let n=lt(e);return it.set(e,n),n}async function lt(e){if(!ut(e))return null;try{let t=await fetch(e,{method:`HEAD`});return t.ok?null:t.status===404?`not-found`:`generic`}catch{return`generic`}}function ut(e){return/^(https?:\/\/|\/)/i.test(e)}function dt(e){try{let t=e.play();t&&typeof t.catch==`function`&&t.catch(()=>{})}catch{}}function ft(t){let n=(0,e.ref)({}),r=(0,e.ref)({}),i=(0,e.ref)({}),a=(0,e.ref)({}),o=(0,e.ref)({}),s=new Map,c=new Map,l=new Set,u=(0,e.computed)(()=>t.activeItem.value?P(t.activeItem.value):null),d=(0,e.computed)(()=>t.activeMediaItem.value?P(t.activeMediaItem.value):null),f=(0,e.computed)(()=>{let e=new Map;for(let n of t.items.value)e.set(P(n),n);return e}),p=(0,e.computed)(()=>d.value?i.value[d.value]??$e:$e),m=(0,e.computed)(()=>d.value?p.value.duration:0),h=(0,e.computed)(()=>m.value<=0?0:pt(p.value.currentTime/m.value*100,0,100)),g=(0,e.computed)(()=>u.value?F(u.value):null);(0,e.watch)(()=>u.value,async()=>{await x()}),(0,e.watch)(()=>t.itemCount.value,async()=>{await x()}),(0,e.watch)(()=>t.loopFullscreenVideo.value,async()=>{await x()});function _(e,t){if(t instanceof HTMLVideoElement){s.set(e,t),U(e,t);return}s.delete(e)}function v(e,t){if(t instanceof HTMLAudioElement){c.set(e,t),U(e,t);return}c.delete(e)}function y(e,t){t instanceof HTMLImageElement&&tt(t)&&(n.value[e]=!0,r.value[e]=null,J(e,t.currentSrc||t.src||te(e)))}function b(){V(),a.value={},r.value={},n.value={},o.value={},i.value={},l.clear()}async function x(){if(!t.isEnabled.value){V();return}await(0,e.nextTick)();let n=u.value;for(let[e,r]of s.entries()){if(e!==n||i.value[e]?.errorKind){B(r,e);continue}r.muted=!1,r.loop=t.loopFullscreenVideo.value,r.playsInline=!0,dt(r),U(e,r)}for(let[e,t]of c.entries()){if(e!==n||i.value[e]?.errorKind){B(t,e);continue}dt(t),U(e,t)}}function S(e,t){let n=t.currentTarget instanceof HTMLMediaElement?t.currentTarget:t.target instanceof HTMLMediaElement?t.target:null;if(n){let r=i.value[e]?.ready??!1;U(e,n,t.type);let a=i.value[e]?.ready??!1;!r&&a&&J(e,n.currentSrc||n.src||te(e))}}function C(e,t){n.value[e]=!0,r.value[e]=null,J(e,t)}async function w(e,i){let a=Y(e)??t.activeItem.value;n.value[e]=!1,r.value[e]=`generic`;let o=await st(i);r.value[e]=o,a&&t.onAssetError?.({item:a,occurrenceKey:e,url:i,kind:o,surface:`fullscreen`})}async function T(e,n){let r=G(e),i=H(e),a=Y(e)??t.activeMediaItem.value??t.activeItem.value;if(r){r.pause();try{r.currentTime=0}catch{}}i.currentTime=0,i.duration=0,i.paused=!0,i.ready=!1,i.errorKind=`generic`;let o=await st(n);i.errorKind=o,a&&t.onAssetError?.({item:a,occurrenceKey:e,url:n,kind:o,surface:`fullscreen`})}function E(e,t,n){e.button!==0||Date.now()<n||q(s.get(t)??null)}function D(e,t,n){e.button!==0||Date.now()<n||q(G(t))}function O(e){let t=K(),n=d.value;if(!t||!n||!(e.target instanceof HTMLInputElement))return;let r=Number.parseFloat(e.target.value);if(!Number.isFinite(r))return;let i=pt(r,0,m.value||0);ee(n,i,t),t.currentTime=i}function k(e){let t=K(),n=d.value;if(!t||!n||!(e.target instanceof HTMLInputElement))return;let r=pt(Number.parseFloat(e.target.value),0,1);t.volume=r,t.muted=r<=0,r>0&&(o.value[n]=r),U(n,t)}function A(){let e=K(),t=d.value;!e||!t||(e.muted||e.volume<=0?(e.volume=W(t),e.muted=!1,o.value[t]=e.volume):(o.value[t]=e.volume,e.muted=!0),U(t,e))}function j(e){return!!n.value[e]&&!r.value[e]}function M(e){return(i.value[e]?.ready??!1)&&!i.value[e]?.errorKind}function N(e){return e.url}function F(e){return r.value[e]??i.value[e]?.errorKind??null}function I(e){let t=F(e);return t?at(t):null}function L(e){return ot(F(e))}function R(e){return`${e}:${a.value[e]??0}`}async function z(t){if(!L(t))return;n.value[t]=!1,r.value[t]=null;let i=H(t);i.currentTime=0,i.duration=0,i.paused=!0,i.ready=!1,i.errorKind=null;let o=G(t);o&&B(o,t),l.forEach(e=>{e.startsWith(`${t}|`)&&l.delete(e)}),a.value[t]=(a.value[t]??0)+1,await(0,e.nextTick)(),await x()}function B(e,t){e.pause();try{e.currentTime=0}catch{}U(t,e)}function V(){for(let[e,t]of s.entries())B(t,e);for(let[e,t]of c.entries())B(t,e)}function H(e){return i.value[e]||(i.value[e]=et()),i.value[e]}function U(e,t,n){nt(H(e),t,n),!t.muted&&t.volume>0&&(o.value[e]=t.volume)}function ee(e,t,n){let r=H(e);r.currentTime=t,r.duration=Number.isFinite(n.duration)?n.duration:r.duration,r.muted=n.muted,r.paused=n.paused,r.volume=Number.isFinite(n.volume)?n.volume:r.volume}function W(e){return pt(o.value[e]??1,0,1)}function G(e){return s.get(e)??c.get(e)??null}function K(){return d.value?G(d.value):null}function q(e){if(e){if(e.paused){dt(e);return}e.pause()}}function J(e,n){let r=Y(e)??t.activeMediaItem.value??t.activeItem.value;if(!r||!n)return;let i=`${e}|${n}`;l.has(i)||(l.add(i),t.onAssetLoad?.({item:r,occurrenceKey:e,surface:`fullscreen`,url:n}))}function Y(e){return f.value.get(e)??null}function te(e){return Y(e)?.url??null}return{activeAssetErrorKind:g,activeMediaDuration:m,activeMediaProgress:h,activeMediaState:p,getAssetErrorKind:F,getAssetErrorLabel:I,getAssetRenderKey:R,getImageSource:N,isImageReady:j,isMediaReady:M,canRetryAsset:L,mediaStates:i,onAudioCoverClick:D,onImageError:w,onImageLoad:C,onMediaError:T,onMediaEvent:S,onMediaSeekInput:O,onMediaVolumeInput:k,onMediaVolumeToggle:A,onVideoClick:E,registerAudioElement:v,registerImageElement:y,registerVideoElement:_,resetMediaState:b,retryAsset:z,syncMediaPlayback:x}}function pt(e,t,n){return Math.min(Math.max(e,t),n)}function mt(e,t,n=2){return t<=0?{start:0,end:-1}:{start:Math.max(0,e-n),end:Math.min(t-1,e+n)}}function ht(e,t,n=2){let r=mt(t,e.length,n);return r.end<r.start?[]:e.slice(r.start,r.end+1).map((e,t)=>({item:e,index:r.start+t}))}function gt(e,t,n,r,i){return{transform:`translate3d(0, ${(e-t)*n+r}px, 0)`,transition:i?`none`:`transform 320ms cubic-bezier(0.22, 1, 0.36, 1)`}}function _t(t,n,r={}){let i=(0,e.computed)(()=>t.items),a=(0,e.computed)(()=>t.activeIndex??0),o=(0,e.computed)(()=>t.errorMessage??null),s=(0,e.computed)(()=>t.loading??!1),c=(0,e.computed)(()=>t.hasNextPage??!1),l=(0,e.computed)(()=>t.loopFullscreenVideo??!0),u=(0,e.computed)(()=>t.paginationDetail??null),d=(0,e.computed)(()=>Xe({itemCount:i.value.length,loading:s.value,phase:t.phase})),f=(0,e.computed)(()=>!1),p=(0,e.ref)(null),m=(0,e.ref)(0),h=(0,e.ref)(!1),g=(0,e.ref)(1),_=r.enabled??(0,e.computed)(()=>!0),v=null,y=0,b=0,x=0,S=(0,e.computed)(()=>i.value.length===0?0:F(a.value,0,i.value.length-1)),C=(0,e.computed)(()=>i.value[S.value]??null),w=(0,e.computed)(()=>C.value?.type===`audio`||C.value?.type===`video`?C.value:null),D=ft({items:i,activeItem:C,activeMediaItem:w,isEnabled:_,itemCount:(0,e.computed)(()=>i.value.length),loopFullscreenVideo:l,onAssetError:r.onAssetError,onAssetLoad:r.onAssetLoad}),O=(0,e.computed)(()=>i.value.length>0&&S.value===i.value.length-1),k=(0,e.computed)(()=>Ze({errorMessage:o.value,hasItems:i.value.length>0,hasNextPage:c.value,phase:d.value,surface:`fullscreen`})),A=(0,e.computed)(()=>k.value?.kind??null),j=(0,e.computed)(()=>k.value?.message??null),M=(0,e.computed)(()=>Math.min(96,g.value*.15||96)),N=(0,e.computed)(()=>mt(S.value,i.value.length)),P=(0,e.computed)(()=>ht(i.value,S.value));Qe({enabled:_,onDisable(){W(),D.resetMediaState()},onEnable(){return D.syncMediaPlayback()},onKeydown:K,onResize:I});function F(e,t,n){return Math.min(Math.max(e,t),n)}function I(){g.value=p.value?.clientHeight||window.innerHeight||1}function L(e){return i.value.length===0?!1:F(S.value+e,0,i.value.length-1)!==S.value}function R(e){if(i.value.length===0)return;let t=F(S.value+e,0,i.value.length-1);t!==S.value&&n(`update:activeIndex`,t)}function z(e){let t=e>0,n=e<0;return t&&!L(-1)||n&&!L(1)?e*.24:e}function B(e){!_.value||i.value.length===0||e.pointerType===`mouse`||E(e.target)||(v=e.pointerId,y=e.clientY,m.value=0,h.value=!0,p.value?.setPointerCapture?.(e.pointerId))}function V(e){!_.value||!h.value||v!==e.pointerId||(m.value=z(e.clientY-y))}function H(e){!_.value||v!==e.pointerId||(p.value?.releasePointerCapture?.(e.pointerId),ee())}function U(e){!_.value||v!==e.pointerId||(p.value?.releasePointerCapture?.(e.pointerId),W())}function ee(){Math.abs(m.value)>=M.value&&(x=Date.now()+250,R(m.value<0?1:-1)),W()}function W(){m.value=0,h.value=!1,v=null}function G(e){if(!_.value||i.value.length===0||h.value||E(e.target)||Math.abs(e.deltaY)<Math.max(Math.abs(e.deltaX),24))return;e.preventDefault();let t=Date.now();t<b||(b=t+400,R(e.deltaY>0?1:-1))}function K(e){!_.value||i.value.length===0||T(e.target)||((e.key===`ArrowDown`||e.key===`PageDown`)&&(e.preventDefault(),R(1)),(e.key===`ArrowUp`||e.key===`PageUp`)&&(e.preventDefault(),R(-1)))}function q(e,t){D.onVideoClick(e,t,x)}function J(e,t){D.onAudioCoverClick(e,t,x)}function Y(e){D.onMediaSeekInput(e)}function te(e){D.onMediaVolumeInput(e)}function ne(){D.onMediaVolumeToggle()}function X(e){return e.type===`image`||e.type===`video`}function re(e){return e.type===`audio`}function ie(e){return gt(e,S.value,g.value,m.value,h.value)}return{activeItem:C,activeAssetErrorKind:D.activeAssetErrorKind,activeMediaDuration:D.activeMediaDuration,activeMediaItem:w,activeMediaProgress:D.activeMediaProgress,activeMediaState:D.activeMediaState,canRetryAsset:D.canRetryAsset,canRetryInitialLoad:f,errorMessage:o,getAssetErrorKind:D.getAssetErrorKind,getAssetErrorLabel:D.getAssetErrorLabel,getAssetRenderKey:D.getAssetRenderKey,formatPlaybackTime:Ye,getImageSource:D.getImageSource,getSlideStyle:ie,hasNextPage:c,isAtEnd:O,isAudio:re,isVisual:X,items:i,loading:s,mediaStates:D.mediaStates,isImageReady:D.isImageReady,isMediaReady:D.isMediaReady,onAudioCoverClick:J,onImageError:D.onImageError,onImageLoad:D.onImageLoad,onMediaEvent:D.onMediaEvent,onMediaError:D.onMediaError,onMediaSeekInput:Y,onMediaVolumeInput:te,onMediaVolumeToggle:ne,onPointerCancel:U,onPointerDown:B,onPointerMove:V,onPointerUp:H,onVideoClick:q,onWheel:G,registerAudioElement:D.registerAudioElement,registerImageElement:D.registerImageElement,registerVideoElement:D.registerVideoElement,renderedItems:P,renderedRange:N,resolvedActiveIndex:S,retryInitialLoad:async()=>{},retryAsset:D.retryAsset,stageRef:p,statusKind:A,statusMessage:j,paginationDetail:u,phase:d}}var vt=`bg-[linear-gradient(180deg,#0a0b10,#05060a)]`,yt=`bg-[linear-gradient(180deg,#0b0c11,#06070b)]`,bt={image:!0,video:!0,audio:!0,other:!0};function xt(e){return bt[e],vt}function St(e){return bt[e],yt}function Ct(e){if(e.naturalWidth<=0||e.naturalHeight<=0)return null;let t=document.createElement(`canvas`),n=t.getContext(`2d`,{willReadFrequently:!0});if(!n)return null;t.width=24,t.height=24;try{n.drawImage(e,0,0,24,24);let{data:t}=n.getImageData(0,0,24,24),r=0,i=0,a=0,o=0;for(let e=0;e<t.length;e+=4){let n=t[e+3]/255;if(n<=.05)continue;let s=t[e],c=t[e+1],l=t[e+2],u=Math.max(s,c,l),d=n*(.65+(u===0?0:(u-Math.min(s,c,l))/u)*.7);r+=d,i+=s*d,a+=c*d,o+=l*d}return r<=0?null:{r:wt(Math.round(i/r)),g:wt(Math.round(a/r)),b:wt(Math.round(o/r))}}catch{return null}}function wt(e){return Math.min(235,Math.max(26,e))}function Tt(t){let n=(0,e.ref)({}),r=(0,e.computed)(()=>t.activeItem.value?t.getItemKey(t.activeItem.value):null),i=(0,e.computed)(()=>!t.showDominantImageTone.value||t.activeItem.value?.type!==`image`||!r.value||!t.isImageReady(r.value)?null:n.value[r.value]??null),a=(0,e.computed)(()=>{if(!i.value)return;let{r:e,g:t,b:n}=i.value;return{background:`radial-gradient(circle at top center, rgba(${e},${t},${n},0.34) 0%, transparent 44%), linear-gradient(180deg,#0a0b10,#05060a)`}}),o=(0,e.computed)(()=>{if(!i.value)return;let{r:e,g:t,b:n}=i.value;return{background:`radial-gradient(circle at center, rgba(${e},${t},${n},0.42) 0%, transparent 44%), linear-gradient(180deg,#0b0c11,#06070b)`}});(0,e.watch)(()=>t.showDominantImageTone.value,e=>{e||(n.value={})});function s(e,r){if(!t.showDominantImageTone.value)return;let i=Ct(r);i&&(n.value[e]=i)}return{activeStageToneStyle:a,activeSlideToneStyle:o,updateFromImageElement:s}}var Et=[`data-surface`],Dt=[`data-surface`],Ot=(0,e.defineComponent)({inheritAttrs:!1,__name:`SurfaceEmptyState`,props:{message:{},mode:{},surface:{}},setup(t){let n=(0,e.useAttrs)();return(r,i)=>t.mode===`inline`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,(0,e.mergeProps)({key:0},(0,e.unref)(n),{"data-testid":`vibe-empty-state-inline`,"data-surface":t.surface,class:[`pointer-events-none absolute z-[4] text-center`,t.surface===`grid`?`inset-x-0 top-[clamp(6rem,22vh,11rem)] flex justify-center px-6`:`inset-0 grid place-items-center px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)]`]}),[(0,e.renderSlot)(r.$slots,`default`,{},()=>[(0,e.createElementVNode)(`p`,{class:(0,e.normalizeClass)([`m-0 text-[0.82rem] font-medium tracking-[0.08em]`,t.surface===`grid`?`text-[#f7f1ea]/58`:`text-[#f7f1ea]/64`])},(0,e.toDisplayString)(t.message),3)])],16,Et)):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,(0,e.mergeProps)({key:1},(0,e.unref)(n),{class:[`pointer-events-none absolute z-[4]`,t.surface===`grid`?`inset-x-0 bottom-0 flex justify-center px-6`:`bottom-[1.8rem] left-1/2 -translate-x-1/2 max-[720px]:bottom-[1.3rem]`]}),[(0,e.renderSlot)(r.$slots,`default`,{},()=>[(0,e.createElementVNode)(`span`,{"data-testid":`vibe-empty-state-badge`,"data-surface":t.surface,class:(0,e.normalizeClass)([`inline-flex items-center border border-white/14 backdrop-blur-[18px]`,t.surface===`grid`?`bg-black/55 px-4 py-3 text-[0.82rem] font-medium tracking-[0.08em] text-[#f7f1ea]/72`:`w-auto bg-black/40 px-5 py-3 text-[0.82rem] font-medium tracking-[0.08em] text-[#f7f1ea]/74 max-[720px]:w-[calc(100%-2.5rem)] max-[720px]:justify-center`])},(0,e.toDisplayString)(t.message),11,Dt)])],16))}}),kt={class:`relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f7f1ea]`},At={key:0,class:`relative h-full min-h-0`},jt=[`data-item-id`,`data-occurrence-key`,`data-index`,`data-active`,`aria-hidden`],Mt={key:0,"data-testid":`vibe-asset-spinner`,class:`pointer-events-none absolute inset-0 z-[2] grid place-items-center`},Nt={class:`inline-flex h-12 w-12 items-center justify-center rounded-full bg-black/45 shadow-[0_18px_40px_-18px_rgba(0,0,0,0.85)] backdrop-blur-[18px]`},Pt=[`data-kind`],Ft={class:`grid justify-items-center gap-4 border border-white/14 bg-black/45 px-8 py-7 text-center backdrop-blur-[18px]`},It={class:`m-0 text-[0.82rem] font-bold uppercase tracking-[0.28em] text-[#f7f1ea]/70`},Lt=[`onClick`],Rt=[`src`,`alt`,`onLoad`,`onError`],zt=[`loop`,`src`,`preload`,`onClick`,`onCanplay`,`onDurationchange`,`onEnded`,`onError`,`onLoadstart`,`onLoadedmetadata`,`onPause`,`onPlay`,`onPlaying`,`onSeeking`,`onSeeked`,`onStalled`,`onTimeupdate`,`onWaiting`],Bt={class:`relative grid aspect-square w-[clamp(320px,46vw,560px)] max-w-[calc(100vw-2.5rem)] place-items-center`},Vt=[`aria-label`,`disabled`,`onClick`],Ht={class:`relative z-[1] inline-flex min-h-[4.25rem] min-w-[4.25rem] items-center justify-center border border-white/18 bg-emerald-500/12 p-4 backdrop-blur-[20px]`},Ut={class:`pointer-events-none absolute bottom-4 right-4 inline-flex h-10 w-10 items-center justify-center border border-white/14 bg-black/50 backdrop-blur-[18px]`},Wt={key:0,"data-testid":`vibe-asset-spinner`,class:`pointer-events-none absolute inset-0 z-[3] grid place-items-center`},Gt={class:`inline-flex h-12 w-12 items-center justify-center rounded-full bg-black/45 shadow-[0_18px_40px_-18px_rgba(0,0,0,0.85)] backdrop-blur-[18px]`},Kt=[`data-kind`],qt={class:`m-0 text-[0.82rem] font-bold uppercase tracking-[0.28em] text-[#f7f1ea]/70`},Jt=[`onClick`],Yt=[`src`,`preload`,`onCanplay`,`onDurationchange`,`onError`,`onLoadstart`,`onLoadedmetadata`,`onPause`,`onPlay`,`onPlaying`,`onSeeking`,`onSeeked`,`onStalled`,`onTimeupdate`,`onWaiting`],Xt={key:2,class:`relative z-[1] grid w-full max-w-[1100px] justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center`},Zt={class:`inline-flex min-h-[4.25rem] min-w-[4.25rem] items-center justify-center border border-white/18 bg-white/8 p-4 backdrop-blur-[20px]`},Qt={key:0,"data-testid":`vibe-fullscreen-overlay`,class:`pointer-events-none absolute inset-0 z-[6]`},$t={class:`h-full w-full`},en={key:1,"data-testid":`vibe-forward-fill-placeholder`,class:`grid h-full min-h-0 place-items-center px-6 text-center`},tn={class:`grid justify-items-center gap-4 border border-white/14 bg-black/40 px-8 py-7 backdrop-blur-[18px]`},nn={class:`inline-flex h-12 w-12 items-center justify-center rounded-full bg-black/45 shadow-[0_18px_40px_-18px_rgba(0,0,0,0.85)]`},rn={class:`m-0 text-[0.78rem] font-bold uppercase tracking-[0.24em] text-[#f7f1ea]/72`},an={key:0,"data-testid":`vibe-fullscreen-aside`,class:`h-full min-h-0 overflow-hidden border-l border-white/10 bg-black/45 backdrop-blur-[18px]`},on={class:`h-full min-h-0 overflow-y-auto overscroll-y-contain`},sn={key:0,"data-testid":`vibe-fullscreen-aside`,class:`absolute inset-y-0 right-0 z-[6] w-full max-w-[22rem] overflow-hidden border-l border-white/10 bg-black/82 backdrop-blur-[18px]`},cn={class:`h-full min-h-0 overflow-y-auto overscroll-y-contain`},ln=1280,un=768,dn=(0,e.defineComponent)({__name:`FullscreenSurface`,props:{active:{type:Boolean,default:!0},activeIndex:{default:0},emptyStateMode:{default:`inline`},errorMessage:{default:null},hasNextPage:{type:Boolean,default:!1},items:{},loading:{type:Boolean,default:!1},loopFullscreenVideo:{type:Boolean,default:!0},paginationDetail:{default:null},phase:{default:null},reportAssetError:{type:[Function,null],default:null},reportAssetLoad:{type:[Function,null],default:null},showDominantImageTone:{type:Boolean,default:!0},showBackToList:{type:Boolean,default:!1},showEndBadge:{type:Boolean,default:!0},showStatusBadges:{type:Boolean,default:!0}},emits:[`back-to-list`,`update:activeIndex`],setup(t,{emit:n}){let r=t,i=(0,e.useSlots)(),a=n,o=_t(r,(e,t)=>{a(`update:activeIndex`,t)},{enabled:(0,e.toRef)(r,`active`),onAssetError:r.reportAssetError??void 0,onAssetLoad:r.reportAssetLoad??void 0}),s=(0,e.ref)(typeof window>`u`?ln:window.innerWidth||ln),c=We({active:(0,e.toRef)(r,`active`),resolvedActiveIndex:o.resolvedActiveIndex,viewer:o}),l=(0,e.computed)(()=>xt(o.activeItem.value?.type??`image`)),{activeSlideToneStyle:u,activeStageToneStyle:d,updateFromImageElement:f}=Tt({activeItem:o.activeItem,getItemKey:c.getItemKey,isImageReady:o.isImageReady,showDominantImageTone:(0,e.toRef)(r,`showDominantImageTone`)}),p=(0,e.computed)(()=>o.activeMediaItem.value&&!o.activeAssetErrorKind.value?`bottom-[5.8rem] max-[720px]:bottom-[7.4rem]`:`bottom-[1.8rem] max-[720px]:bottom-[1.3rem]`),m=(0,e.computed)(()=>!!o.activeMediaItem.value&&!o.activeAssetErrorKind.value),y=(0,e.computed)(()=>s.value<un?`vertical`:`horizontal`),b=(0,e.computed)(()=>m.value?`pb-[5.75rem] max-[720px]:pb-[7rem]`:``),x=(0,e.computed)(()=>r.activeIndex>=r.items.length&&(r.loading||r.hasNextPage)),S=(0,e.computed)(()=>r.hasNextPage?`Loading more items`:o.statusMessage.value??`Loading more items`),C=(0,e.computed)(()=>{let e=o.activeItem.value;return e?{hasNextPage:r.hasNextPage,index:o.resolvedActiveIndex.value,item:e,loading:r.loading,paginationDetail:r.paginationDetail,total:r.items.length}:null}),w=(0,e.computed)(()=>!C.value||!i[`fullscreen-header-actions`]?[]:i[`fullscreen-header-actions`](C.value)),T=(0,e.computed)(()=>!C.value||!i[`fullscreen-aside`]?[]:i[`fullscreen-aside`](C.value)),E=(0,e.computed)(()=>!r.showStatusBadges||!C.value||!o.statusKind.value||!o.statusMessage.value?null:{...C.value,kind:o.statusKind.value,message:o.statusMessage.value}),D=(0,e.computed)(()=>!E.value||!i[`fullscreen-status`]?[]:i[`fullscreen-status`](E.value)),O=(0,e.computed)(()=>({gridTemplateColumns:j.value?`minmax(0, 1fr) 22rem`:`minmax(0, 1fr) 0rem`,transition:`grid-template-columns 320ms cubic-bezier(0.22, 1, 0.36, 1)`})),k=(0,e.computed)(()=>Ge(w.value)),A=(0,e.computed)(()=>Ge(T.value)),j=(0,e.computed)(()=>A.value&&s.value>=ln),M=(0,e.computed)(()=>A.value&&!j.value),N=(0,e.computed)(()=>Ge(D.value)),{emptyStateProps:P,showBadgeEmptyState:F,showCustomEmptyState:I,showInlineEmptyState:L}=Je({emptyStateMode:(0,e.toRef)(r,`emptyStateMode`),itemCount:(0,e.computed)(()=>r.items.length),loading:(0,e.toRef)(r,`loading`),renderSlot:i[`empty-state`],surface:`fullscreen`});(0,e.onMounted)(()=>{window.addEventListener(`resize`,R)}),(0,e.onBeforeUnmount)(()=>{window.removeEventListener(`resize`,R)});function R(){s.value=window.innerWidth||ln}function z(e,t,n){o.onImageLoad(t,n);let r=e.currentTarget;r instanceof HTMLImageElement&&V(t,r)}function B(e,t){o.registerImageElement(e,t),t instanceof HTMLImageElement&&V(e,t)}function V(e,t){f(e,t)}function H(e,t){if(o.onMediaEvent(t,e),!r.loopFullscreenVideo)return;let n=e.currentTarget;if(!(n instanceof HTMLVideoElement))return;try{n.currentTime=0}catch{}let i=n.play();i&&typeof i.catch==`function`&&i.catch(()=>{})}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,kt,[(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`absolute inset-0 transition-[background] duration-200`,l.value]),style:(0,e.normalizeStyle)((0,e.unref)(d))},null,6),(0,e.createElementVNode)(`div`,{class:`relative z-[1] grid h-full min-h-0`,style:(0,e.normalizeStyle)(O.value)},[(0,e.createElementVNode)(`div`,{ref:`viewer.stageRef`,"data-testid":`vibe-stage`,class:`relative h-full min-h-0 touch-none overflow-hidden`,onPointerdown:n[1]||=(...t)=>(0,e.unref)(o).onPointerDown&&(0,e.unref)(o).onPointerDown(...t),onPointermove:n[2]||=(...t)=>(0,e.unref)(o).onPointerMove&&(0,e.unref)(o).onPointerMove(...t),onPointerup:n[3]||=(...t)=>(0,e.unref)(o).onPointerUp&&(0,e.unref)(o).onPointerUp(...t),onPointercancel:n[4]||=(...t)=>(0,e.unref)(o).onPointerCancel&&(0,e.unref)(o).onPointerCancel(...t),onWheel:n[5]||=(...t)=>(0,e.unref)(o).onWheel&&(0,e.unref)(o).onWheel(...t)},[(0,e.unref)(o).activeItem.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,At,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(o).renderedItems.value,({item:i,index:a})=>((0,e.openBlock)(),(0,e.createElementBlock)(`article`,{key:(0,e.unref)(c).getItemKey(i),"data-testid":`vibe-slide`,"data-item-id":i.id,"data-occurrence-key":(0,e.unref)(c).getItemKey(i),"data-index":a,"data-active":a===(0,e.unref)(o).resolvedActiveIndex.value,"aria-hidden":a===(0,e.unref)(o).resolvedActiveIndex.value?`false`:`true`,class:(0,e.normalizeClass)([`absolute inset-0 flex h-full min-h-full items-center justify-center will-change-transform`,a===(0,e.unref)(o).resolvedActiveIndex.value?`pointer-events-auto`:`pointer-events-none`]),style:(0,e.normalizeStyle)((0,e.unref)(o).getSlideStyle(a))},[(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`absolute inset-0 opacity-85`,(0,e.unref)(St)(i.type)]),style:(0,e.normalizeStyle)(a===(0,e.unref)(o).resolvedActiveIndex.value&&i.type===`image`?(0,e.unref)(u):void 0)},null,6),(0,e.unref)(o).isVisual(i)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:(0,e.normalizeClass)([`relative z-[1] flex h-full w-full items-center justify-center overflow-hidden`,a===(0,e.unref)(o).resolvedActiveIndex.value?b.value:``])},[(0,e.unref)(c).isAssetLoading(a,i)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Mt,[(0,e.createElementVNode)(`span`,Nt,[(0,e.createVNode)((0,e.unref)(h),{class:`h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78`,"aria-hidden":`true`})])])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(c).isAssetErrored(a,i)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:1,"data-testid":`vibe-asset-error`,"data-kind":(0,e.unref)(c).getAssetErrorKind(i),class:`grid h-full w-full place-items-center`},[(0,e.createElementVNode)(`div`,Ft,[(0,e.createVNode)((0,e.unref)(v),{class:`h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72`,"aria-hidden":`true`}),(0,e.createElementVNode)(`p`,It,(0,e.toDisplayString)((0,e.unref)(c).getAssetErrorLabel(i)),1),(0,e.unref)(o).canRetryAsset((0,e.unref)(c).getItemKey(i))?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`inline-flex items-center justify-center border border-white/14 bg-black/35 px-4 py-2 text-[0.64rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/50`,onClick:(0,e.withModifiers)(t=>(0,e.unref)(o).retryAsset((0,e.unref)(c).getItemKey(i)),[`stop`])},` Retry `,8,Lt)):(0,e.createCommentVNode)(``,!0)])],8,Pt)):i.type===`image`?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:(0,e.unref)(o).getAssetRenderKey((0,e.unref)(c).getItemKey(i)),src:(0,e.unref)(c).getFullscreenImageSource(a,i),alt:i.title??``,crossorigin:`anonymous`,draggable:`false`,class:(0,e.normalizeClass)([`block h-auto max-h-full w-auto max-w-full object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300`,(0,e.unref)(o).isImageReady((0,e.unref)(c).getItemKey(i))?`opacity-100`:`opacity-0`]),ref_for:!0,ref:t=>B((0,e.unref)(c).getItemKey(i),t),onLoad:t=>z(t,(0,e.unref)(c).getItemKey(i),i.url),onError:t=>(0,e.unref)(o).onImageError((0,e.unref)(c).getItemKey(i),i.url)},null,42,Rt)):((0,e.openBlock)(),(0,e.createElementBlock)(`video`,{key:(0,e.unref)(o).getAssetRenderKey((0,e.unref)(c).getItemKey(i)),class:(0,e.normalizeClass)([`block h-auto max-h-full w-auto max-w-full cursor-pointer object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300`,(0,e.unref)(o).isMediaReady((0,e.unref)(c).getItemKey(i))?`opacity-100`:`opacity-0`]),playsinline:``,loop:r.loopFullscreenVideo,src:(0,e.unref)(c).getFullscreenMediaSource(a,i),preload:(0,e.unref)(c).shouldPreloadSlideAsset(a)?`metadata`:`none`,ref_for:!0,ref:t=>(0,e.unref)(o).registerVideoElement((0,e.unref)(c).getItemKey(i),t),onClick:(0,e.withModifiers)(t=>(0,e.unref)(o).onVideoClick(t,(0,e.unref)(c).getItemKey(i)),[`stop`]),onCanplay:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onDurationchange:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onEnded:t=>H(t,(0,e.unref)(c).getItemKey(i)),onError:t=>(0,e.unref)(o).onMediaError((0,e.unref)(c).getItemKey(i),i.url),onLoadstart:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onLoadedmetadata:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onPause:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onPlay:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onPlaying:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onSeeking:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onSeeked:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onStalled:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onTimeupdate:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onWaiting:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t)},null,42,zt))],2)):(0,e.unref)(o).isAudio(i)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:1,class:(0,e.normalizeClass)([`relative z-[1] grid w-full max-w-[1100px] justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center`,a===(0,e.unref)(o).resolvedActiveIndex.value?b.value:``])},[(0,e.createElementVNode)(`div`,Bt,[(0,e.createElementVNode)(`button`,{type:`button`,class:`relative grid h-full w-full place-items-center border border-white/12 bg-[linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.02)),radial-gradient(circle_at_center,rgba(16,185,129,0.14),transparent_58%)] text-[#f7f1ea] transition-[border-color,background] duration-200 hover:border-white/30 hover:bg-[linear-gradient(180deg,rgba(255,255,255,0.07),rgba(255,255,255,0.03)),radial-gradient(circle_at_center,rgba(16,185,129,0.18),transparent_58%)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-[#f7f1ea]`,"aria-label":(0,e.unref)(o).mediaStates.value[(0,e.unref)(c).getItemKey(i)]?.paused??!0?(0,e.unref)(c).getMediaActionLabel(`Play`,i):(0,e.unref)(c).getMediaActionLabel(`Pause`,i),disabled:!!(0,e.unref)(c).getAssetErrorKind(i),onClick:t=>(0,e.unref)(o).onAudioCoverClick(t,(0,e.unref)(c).getItemKey(i))},[n[6]||=(0,e.createElementVNode)(`span`,{class:`pointer-events-none absolute inset-0 border border-white/8 bg-[radial-gradient(circle,rgba(16,185,129,0.16),transparent_66%)]`},null,-1),n[7]||=(0,e.createElementVNode)(`span`,{class:`pointer-events-none absolute h-[clamp(220px,30vw,360px)] w-[clamp(220px,30vw,360px)] border border-white/8 bg-[radial-gradient(circle,rgba(255,255,255,0.08),transparent_62%)]`},null,-1),(0,e.createElementVNode)(`span`,Ht,[(0,e.renderSlot)(t.$slots,`item-icon`,{icon:(0,e.unref)(Be)(i.type),item:i},()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(Be)(i.type)),{class:`h-6 w-6 stroke-[1.9]`,"aria-hidden":`true`}))])]),(0,e.createElementVNode)(`span`,Ut,[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(o).mediaStates.value[(0,e.unref)(c).getItemKey(i)]?.paused??!0?(0,e.unref)(_):(0,e.unref)(g)),{class:`h-4 w-4 stroke-2`,"aria-hidden":`true`}))])],8,Vt),(0,e.unref)(c).isAssetLoading(a,i)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Wt,[(0,e.createElementVNode)(`span`,Gt,[(0,e.createVNode)((0,e.unref)(h),{class:`h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78`,"aria-hidden":`true`})])])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(c).getAssetErrorKind(i)?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[n[8]||=(0,e.createElementVNode)(`div`,{class:`pointer-events-none absolute inset-0 border border-white/8 bg-[radial-gradient(circle,rgba(239,68,68,0.12),transparent_66%)]`},null,-1),(0,e.createElementVNode)(`div`,{"data-testid":`vibe-asset-error`,"data-kind":(0,e.unref)(c).getAssetErrorKind(i),class:`relative z-[1] grid justify-items-center gap-4`},[(0,e.createVNode)((0,e.unref)(v),{class:`h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72`,"aria-hidden":`true`}),(0,e.createElementVNode)(`p`,qt,(0,e.toDisplayString)((0,e.unref)(c).getAssetErrorLabel(i)),1),(0,e.unref)(o).canRetryAsset((0,e.unref)(c).getItemKey(i))?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`pointer-events-auto inline-flex items-center justify-center border border-white/14 bg-black/35 px-4 py-2 text-[0.64rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/50`,onClick:(0,e.withModifiers)(t=>(0,e.unref)(o).retryAsset((0,e.unref)(c).getItemKey(i)),[`stop`])},` Retry `,8,Jt)):(0,e.createCommentVNode)(``,!0)],8,Kt)],64)):(0,e.createCommentVNode)(``,!0)]),((0,e.openBlock)(),(0,e.createElementBlock)(`audio`,{key:(0,e.unref)(o).getAssetRenderKey((0,e.unref)(c).getItemKey(i)),src:(0,e.unref)(c).getFullscreenMediaSource(a,i),preload:(0,e.unref)(c).shouldPreloadSlideAsset(a)?`metadata`:`none`,class:`pointer-events-none absolute h-px w-px opacity-0`,ref_for:!0,ref:t=>(0,e.unref)(o).registerAudioElement((0,e.unref)(c).getItemKey(i),t),onCanplay:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onDurationchange:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onError:t=>(0,e.unref)(o).onMediaError((0,e.unref)(c).getItemKey(i),i.url),onLoadstart:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onLoadedmetadata:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onPause:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onPlay:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onPlaying:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onSeeking:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onSeeked:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onStalled:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onTimeupdate:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onWaiting:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t)},null,40,Yt))],2)):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Xt,[(0,e.createElementVNode)(`div`,Zt,[(0,e.renderSlot)(t.$slots,`item-icon`,{icon:(0,e.unref)(Be)(i.type),item:i},()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(Be)(i.type)),{class:`h-6 w-6 stroke-[1.9]`,"aria-hidden":`true`}))])])]))],14,jt))),128)),C.value&&i[`fullscreen-overlay`]?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Qt,[(0,e.createElementVNode)(`div`,$t,[(0,e.renderSlot)(t.$slots,`fullscreen-overlay`,(0,e.normalizeProps)((0,e.guardReactiveProps)(C.value)))])])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(o).activeItem.value?((0,e.openBlock)(),(0,e.createBlock)(Le,{key:1,"current-index":(0,e.unref)(o).resolvedActiveIndex.value,loading:r.loading,"pagination-detail":(0,e.unref)(o).paginationDetail.value,"show-back-to-list":r.showBackToList,"show-end-badge":r.showEndBadge&&(0,e.unref)(o).isAtEnd.value&&!(0,e.unref)(o).hasNextPage.value&&!(0,e.unref)(o).loading.value,title:(0,e.unref)(o).activeItem.value.title??null,total:(0,e.unref)(o).items.value.length,onBackToList:n[0]||=e=>a(`back-to-list`)},(0,e.createSlots)({_:2},[k.value&&C.value?{name:`actions`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`fullscreen-header-actions`,(0,e.normalizeProps)((0,e.guardReactiveProps)(C.value)))]),key:`0`}:void 0]),1032,[`current-index`,`loading`,`pagination-detail`,`show-back-to-list`,`show-end-badge`,`title`,`total`])):(0,e.createCommentVNode)(``,!0),m.value?((0,e.openBlock)(),(0,e.createBlock)(De,{key:2,"current-time":(0,e.unref)(o).activeMediaState.value.currentTime,"current-time-label":(0,e.unref)(o).formatPlaybackTime((0,e.unref)(o).activeMediaState.value.currentTime),duration:(0,e.unref)(o).activeMediaDuration.value,"duration-label":(0,e.unref)(o).formatPlaybackTime((0,e.unref)(o).activeMediaDuration.value),muted:(0,e.unref)(o).activeMediaState.value.muted,progress:(0,e.unref)(o).activeMediaProgress.value,volume:(0,e.unref)(o).activeMediaState.value.volume,"volume-control-layout":y.value,onSeekInput:(0,e.unref)(o).onMediaSeekInput,onVolumeInput:(0,e.unref)(o).onMediaVolumeInput,onVolumeToggle:(0,e.unref)(o).onMediaVolumeToggle},null,8,[`current-time`,`current-time-label`,`duration`,`duration-label`,`muted`,`progress`,`volume`,`volume-control-layout`,`onSeekInput`,`onVolumeInput`,`onVolumeToggle`])):(0,e.createCommentVNode)(``,!0),E.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:3,class:(0,e.normalizeClass)([`absolute left-1/2 z-[4] -translate-x-1/2`,p.value])},[N.value?(0,e.renderSlot)(t.$slots,`fullscreen-status`,(0,e.normalizeProps)((0,e.mergeProps)({key:0},E.value))):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:1,"data-testid":`vibe-fullscreen-status-badge`,class:(0,e.normalizeClass)([`inline-flex w-auto items-center border border-white/14 bg-black/40 px-5 py-3 text-[0.75rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/74 backdrop-blur-[18px] max-[720px]:w-[calc(100%-2.5rem)] max-[720px]:justify-center`,E.value.kind===`end`?`border-amber-300/35 text-amber-200`:E.value.kind===`failed`?`border-rose-400/45 text-rose-100`:``])},(0,e.toDisplayString)(E.value.message),3))],2)):(0,e.createCommentVNode)(``,!0)])):x.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,en,[(0,e.createElementVNode)(`div`,tn,[(0,e.createElementVNode)(`span`,nn,[(0,e.createVNode)((0,e.unref)(h),{class:`h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78`,"aria-hidden":`true`})]),(0,e.createElementVNode)(`p`,rn,(0,e.toDisplayString)(S.value),1)])])):(0,e.unref)(L)&&(0,e.unref)(P)?((0,e.openBlock)(),(0,e.createBlock)(Ot,{key:2,message:(0,e.unref)(P).message,mode:(0,e.unref)(P).mode,surface:(0,e.unref)(P).surface},{default:(0,e.withCtx)(()=>[(0,e.unref)(I)?(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(P)))):(0,e.createCommentVNode)(``,!0)]),_:3},8,[`message`,`mode`,`surface`])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(F)&&(0,e.unref)(P)?((0,e.openBlock)(),(0,e.createBlock)(Ot,{key:3,message:(0,e.unref)(P).message,mode:(0,e.unref)(P).mode,surface:(0,e.unref)(P).surface},{default:(0,e.withCtx)(()=>[(0,e.unref)(I)?(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(P)))):(0,e.createCommentVNode)(``,!0)]),_:3},8,[`message`,`mode`,`surface`])):(0,e.createCommentVNode)(``,!0)],544),(0,e.createVNode)(e.Transition,{"enter-active-class":`transform-gpu transition-all duration-320 ease-out`,"enter-from-class":`translate-x-full opacity-0`,"enter-to-class":`translate-x-0 opacity-100`,"leave-active-class":`transform-gpu transition-all duration-260 ease-in`,"leave-from-class":`translate-x-0 opacity-100`,"leave-to-class":`translate-x-full opacity-0`},{default:(0,e.withCtx)(()=>[j.value&&C.value?((0,e.openBlock)(),(0,e.createElementBlock)(`aside`,an,[(0,e.createElementVNode)(`div`,on,[(0,e.renderSlot)(t.$slots,`fullscreen-aside`,(0,e.normalizeProps)((0,e.guardReactiveProps)(C.value)))])])):(0,e.createCommentVNode)(``,!0)]),_:3})],4),(0,e.createVNode)(e.Transition,{"enter-active-class":`transform-gpu transition-all duration-320 ease-out`,"enter-from-class":`translate-x-full opacity-0`,"enter-to-class":`translate-x-0 opacity-100`,"leave-active-class":`transform-gpu transition-all duration-260 ease-in`,"leave-from-class":`translate-x-0 opacity-100`,"leave-to-class":`translate-x-full opacity-0`},{default:(0,e.withCtx)(()=>[M.value&&C.value?((0,e.openBlock)(),(0,e.createElementBlock)(`aside`,sn,[(0,e.createElementVNode)(`div`,cn,[(0,e.renderSlot)(t.$slots,`fullscreen-aside`,(0,e.normalizeProps)((0,e.guardReactiveProps)(C.value)))])])):(0,e.createCommentVNode)(``,!0)]),_:3})]))}}),fn=1,pn=.5;function mn(e){if(e.type!==`image`&&e.type!==`video`)return{width:fn,height:fn,source:`fallback`};let t=e.preview?.width,n=e.preview?.height;if(xn(t)&&xn(n)){let r=Sn(e,t,n);return{width:r.width,height:r.height,source:`preview`}}if(xn(e.width)&&xn(e.height)){let t=Sn(e,e.width,e.height);return{width:t.width,height:t.height,source:`original`}}return{width:fn,height:fn,source:`fallback`}}function hn(e,t){return!e||e<=0||!t||t<=0?1:Math.max(1,Math.floor(e/t))}function gn(e,t,n,r=0){if(!e||e<=0||!t||t<=0)return n;let i=typeof r==`number`&&r>0?r:0,a=e-Math.max(0,t-1)*i;return!a||a<=0?n:a/t}function _n(e,t){let n=mn(e);return n.height/n.width*t}function vn(e,t){let n=Array.from({length:t.columnCount},()=>0),r=Array(e.length),i=Array(e.length),a=new Map,o=new Map,s=0;for(let c=0;c<e.length;c+=1){let l=e[c];o.set(P(l),c);let u=0;for(let e=1;e<n.length;e+=1)n[e]<n[u]&&(u=e);let d=u*(t.columnWidth+t.gapX),f=n[u],p=_n(l,t.columnWidth);r[c]={x:d,y:f},i[c]=p,n[u]=f+p+t.gapY,s=Math.max(s,f+p);let m=Math.floor(f/t.bucketPx),h=Math.floor((f+p)/t.bucketPx);for(let e=m;e<=h;e+=1){let t=a.get(e);t?t.push(c):a.set(e,[c])}}return{positions:r,heights:i,buckets:a,contentHeight:s,indexById:o}}function yn(e){if(e.itemCount<=0)return[];if(e.viewportHeight<=0)return Array.from({length:e.itemCount},(e,t)=>t);let t=Math.max(0,e.scrollTop-e.overscanPx),n=e.scrollTop+e.viewportHeight+e.overscanPx,r=Math.floor(t/e.bucketPx),i=Math.floor(n/e.bucketPx),a=new Set;for(let t=r;t<=i;t+=1){let n=e.buckets.get(t);if(n)for(let e of n)a.add(e)}return Array.from(a).sort((e,t)=>e-t)}function bn(e,t,n){let r=new Map;for(let i of e){let e=t.get(P(i));if(e==null)continue;let a=n[e];a&&r.set(P(i),a)}return r}function xn(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}function Sn(e,t,n){return e.type!==`image`||n/t>=pn?{width:t,height:n}:{width:t,height:t}}var Cn=300,wn=600,Tn=40,En=300,Dn=400;function On(e,t){return t===`top`?[...e].reverse():e}function kn(e){return e<=0?wn:wn+Math.min((e-1)*Tn,Dn)}function An(){return En}function jn(e){let t=e.itemHeight>0?e.itemHeight:e.columnWidth;return e.direction===`top`?e.scrollTop-t:e.scrollTop+e.viewportHeight+t}function Mn(t){let n=(0,e.ref)(new Set),r=(0,e.ref)(new Set),i=(0,e.ref)(new Map),a=(0,e.ref)(new Map),o=(0,e.ref)(new Map),s=(0,e.ref)(new Set),c=(0,e.ref)(new Map),l=(0,e.ref)(new Map),u=(0,e.ref)(new Set),d=new Set,f=new Set,p=(0,e.computed)(()=>Array.from(o.value.values()));(0,e.watch)(t.visibleIndices,e=>{if(!e.length)return;let o=[];for(let r of e){let e=t.items.value[r]?P(t.items.value[r]):null;!e||!n.value.has(e)||d.has(e)||(d.add(e),o.push(e))}if(!o.length)return;let s=On(o,a.value.get(o[0])??`bottom`),c=new Map(i.value);for(let e=0;e<s.length;e+=1)c.set(s[e],Math.min(e*Tn,Dn));i.value=c,Nn(()=>{let e=new Set(r.value);for(let t of o)e.add(t);r.value=e}),Pn(()=>{let e=new Set(n.value);for(let t of o)e.delete(t);n.value=e,x(()=>{let e=new Set(r.value),t=new Map(i.value),n=new Map(a.value);for(let r of o)e.delete(r),t.delete(r),n.delete(r),d.delete(r);r.value=e,i.value=t,a.value=n},kn(o.length))})},{flush:`post`}),(0,e.watch)(()=>t.items.value.map(e=>P(e)),e=>{if(!e.length||!o.value.size)return;let t=new Set(e),n=null,r=null;for(let e of o.value.keys())t.has(e)&&(n||=new Map(o.value),r||=new Set(s.value),n.delete(e),r.delete(e));n&&(o.value=n),r&&(s.value=r)}),(0,e.onBeforeUnmount)(()=>{for(let e of f)clearTimeout(e);f.clear()});function m(e,t=`bottom`){if(!e.length)return;let r=new Set(n.value),i=new Map(a.value);for(let n of e){let e=P(n);r.add(e),i.set(e,t)}n.value=r,a.value=i}function h(e){if(!e.length)return;let t=new Map(o.value),c=new Set(n.value),l=new Set(r.value),u=new Map(i.value),f=new Map(a.value),p=[];for(let n of e){let e=P(n.item);p.push(e),t.set(e,n),c.delete(e),l.delete(e),u.delete(e),f.delete(e),d.delete(e)}o.value=t,n.value=c,r.value=l,i.value=u,a.value=f,Nn(()=>{let e=new Set(s.value);for(let t of p)e.add(t);s.value=e}),x(()=>{let e=new Map(o.value),t=new Set(s.value);for(let n of p)e.delete(n),t.delete(n);o.value=e,s.value=t},En)}function g(e,n,r=Cn){if(!e.size)return;let i=new Map,a=[];for(let[r,o]of e.entries()){if(n?.has(r))continue;let e=t.indexById.value.get(r);if(e==null)continue;let s=t.positions.value[e];if(!s)continue;let c=o.x-s.x,l=o.y-s.y;!c&&!l||(i.set(r,{dx:c,dy:l}),a.push(r))}if(!i.size)return;c.value=i,u.value=new Set;let o=new Map(l.value);for(let e of a)o.set(e,r);l.value=o,Nn(()=>{u.value=new Set(a),Nn(()=>{c.value=new Map})}),x(()=>{u.value=new Set;let e=new Map(l.value);for(let t of a)e.delete(t);l.value=e},r)}function _(e){if(r.value.has(e))return`transform ${wn}ms ease-out`;if(u.value.has(e))return`transform ${l.value.get(e)??Cn}ms ease-out`}function v(e){if(!r.value.has(e))return;let t=i.value.get(e)??0;return t>0?`${t}ms`:void 0}function y(e){let r=t.items.value[e],i=t.positions.value[e]??{x:0,y:0},o=t.heights.value[e]??t.columnWidth.value,s=r?P(r):null,l=s?c.value.get(s)??{dx:0,dy:0}:{dx:0,dy:0},u=s?a.value.get(s)??`bottom`:`bottom`,d=s&&n.value.has(s)?jn({columnWidth:t.columnWidth.value,direction:u,itemHeight:o,scrollTop:t.scrollTop.value,viewportHeight:t.viewportHeight.value}):i.y;return`translate3d(${i.x+l.dx}px, ${d+l.dy}px, 0)`}function b(e){let n=P(e),r=o.value.get(n);if(!r)return{opacity:`0`,transform:`translate3d(0, 0, 0) scale(0.96)`,transition:`opacity ${En}ms ease-out, transform ${En}ms ease-out`};let i=s.value.has(n);return{height:`${r.height}px`,opacity:i?`0`:`1`,transform:`translate3d(${r.position.x}px, ${r.position.y}px, 0) scale(${i?`0.96`:`1`})`,transition:`opacity ${En}ms ease-out, transform ${En}ms ease-out`,width:`${t.columnWidth.value}px`}}function x(e,t){let n=setTimeout(()=>{f.delete(n),e()},t);f.add(n)}return{getCardTransform:y,getCardTransition:_,getCardTransitionDelay:v,getLeavingCardStyle:b,leavingItems:p,markEnter:m,markLeave:h,playFlipMoveAnimation:g}}function Nn(e){if(typeof requestAnimationFrame==`function`){requestAnimationFrame(()=>e());return}setTimeout(e,0)}function Pn(e){Nn(()=>Nn(e))}function Fn(e,t){return e?.clientHeight||Math.round(e?.getBoundingClientRect().height??0)||t||window.innerHeight||1}function In(e,t,n){return e?.clientWidth||Math.round(e?.getBoundingClientRect().width??0)||t||window.innerWidth||n}function Ln(e,t,n,r){return(e?.scrollHeight??r)-(t+n)}function Rn(e,t){return{height:`${e}px`,transform:`translate3d(0, ${t}px, 0)`}}var zn=250,Bn=1e3;function Vn(t){let n=(0,e.ref)(!1),r=(0,e.ref)(!1),i=(0,e.ref)(0),a=(0,e.ref)(0),o=(0,e.ref)(!1),s=(0,e.ref)(!1),c=0,l=null;(0,e.onBeforeUnmount)(()=>{b()});function u(){let e=n.value;if(n.value=t.isAtBoundary(),!n.value){!o.value&&!s.value&&(r.value=!0);return}!e&&r.value&&h()}function d(e){if(!x(e)||!t.isAtBoundary())return;let n=Date.now();n<c||(c=n+zn,h())}function f(){if(!_())return;let e=t.requestPage.value;if(typeof e!=`function`)return;a.value=i.value,r.value=!1,o.value=!0,s.value=!0;let n;try{n=e()}catch{v();return}Promise.resolve(n).catch(()=>{}).finally(()=>{!t.loading.value&&s.value&&v()})}function p(e){!e&&s.value&&v()}function m(e){!s.value||e<=0||(s.value=!1,y(t.getAnimationLockMs(e)))}function h(){g()&&(i.value+=1)}function g(){return t.hasPage.value&&!t.interactionLocked?.value&&!t.loading.value&&!o.value&&typeof t.requestPage.value==`function`}function _(){return t.hasPage.value&&n.value&&i.value>a.value&&!t.interactionLocked?.value&&!t.loading.value&&!o.value&&typeof t.requestPage.value==`function`}function v(){s.value=!1,y(Bn)}function y(e){b(),o.value=!0,l=setTimeout(()=>{l=null,o.value=!1},Math.max(0,e))}function b(){l&&=(clearTimeout(l),null)}function x(e){return t.direction===`top`?e.deltaY<0:e.deltaY>0}return{maybeRequestPage:f,onItemsMutated:m,onLoadingChange:p,onWheel:d,syncBoundary:u}}var Hn=600,Q=24,$=16,Un=300,Wn=200,Gn=200,Kn=Q+$,qn=200,Jn=300,Yn=24,Xn=48,Zn=500,Qn=1e3;function $n(t){let n=(0,e.ref)(null),r=(0,e.ref)(0),i=(0,e.ref)(typeof window>`u`?0:window.innerHeight||0),a=(0,e.ref)(typeof window>`u`?0:window.innerWidth||Un),o=(0,e.ref)([]),s=(0,e.ref)([]),c=(0,e.ref)(new Map),l=(0,e.ref)(0),u=(0,e.ref)(new Map),d=(0,e.ref)(null),f=(0,e.ref)(null),p=(0,e.ref)(!1),m=(0,e.computed)(()=>Math.max(Un,a.value-Q*2)),h=(0,e.computed)(()=>hn(m.value,Un)),g=(0,e.computed)(()=>gn(m.value,h.value,Un,$)),_=(0,e.computed)(()=>er(t.activeIndex.value,0,Math.max(0,t.items.value.length-1))),v=(0,e.computed)(()=>yn({itemCount:t.items.value.length,viewportHeight:i.value,scrollTop:r.value,overscanPx:Wn,bucketPx:Hn,buckets:c.value})),y=(0,e.computed)(()=>v.value.map(e=>({item:t.items.value[e],index:e}))),b=(0,e.computed)(()=>{let e=l.value+Q*2,t=d.value??0;return Math.max(e,t,i.value)+qn}),x=(0,e.computed)(()=>t.hasNextPage.value||t.allowExhaustedNextPageRefresh.value),S=(0,e.computed)(()=>nr({active:t.active.value,maxScrollTop:X(),progressDistancePx:r.value,thresholdPx:Gn,triggerEnabled:x.value})),C=(0,e.computed)(()=>t.items.value.length>0?`${_.value+1} / ${t.items.value.length}`:`0 / 0`),w=(0,e.computed)(()=>tr({active:t.active.value,maxScrollTop:X(),progressDistancePx:r.value,thresholdPx:Kn,triggerEnabled:t.hasPreviousPage.value})),T=(0,e.computed)(()=>Math.max(0,i.value-Yn*2)),E=(0,e.computed)(()=>b.value>i.value+1&&T.value>0),D=(0,e.computed)(()=>{if(!E.value)return 0;let e=i.value/b.value*T.value;return Math.min(T.value,Math.max(Xn,e))}),O=(0,e.computed)(()=>{if(!E.value)return Yn;let e=Math.max(0,b.value-i.value);return Yn+Math.max(0,T.value-D.value)*(e>0?er(r.value/e,0,1):0)}),k=Mn({items:t.items,visibleIndices:v,positions:o,heights:s,indexById:u,columnWidth:g,scrollTop:r,viewportHeight:i}),A=Vn({direction:`top`,getAnimationLockMs(e){return Math.max(Zn,kn(e))+Qn},hasPage:t.hasPreviousPage,interactionLocked:p,isAtBoundary(){return r.value<=Kn},loading:t.loading,requestPage:t.requestPreviousPage}),j=Vn({direction:`bottom`,getAnimationLockMs(e){return kn(e)+Qn},hasPage:x,interactionLocked:p,isAtBoundary(){return ne()<=Gn},loading:t.loading,requestPage:t.requestNextPage}),M=null,N=0,F=null,I=null,L=!1;(0,e.watch)([()=>t.items.value,h,g],async([n],[i=[]])=>{let a=n.map(e=>P(e)),s=i??[],c=s.map(e=>P(e)),l=bn(s,u.value,o.value),d=ae(s),f=new Set(c),p=new Set(a),m=n.filter(e=>!f.has(P(e))),h=s.flatMap(e=>{let t=P(e);if(p.has(t))return[];let n=l.get(t),r=d.get(t);return!n||r==null?[]:[{height:r,item:e,position:n}]}),g=a.length>c.length&&c.length>0&&a[0]!==c[0],v=n.length===0&&s.length>0&&h.length>0&&r.value>0,y=h.length>0&&r.value>Q+$,b=g&&r.value>Q+$?n[_.value]:null,x=b?P(b):null;y&&W(An()+Qn),v&&ee(),R(),h.length>0&&k.markLeave(h),m.length>0&&(k.markEnter(m,g?`top`:`bottom`),g?A.onItemsMutated(m.length):j.onItemsMutated(m.length)),k.playFlipMoveAnimation(l,new Set(m.map(e=>P(e))),g?Zn:void 0),x?(await(0,e.nextTick)(),U(x,l)):t.active.value&&c.length>0&&K()},{immediate:!0}),(0,e.watch)([()=>t.pendingAppendItems.value.map(e=>P(e)),h,g,i],([e])=>{se(),e.length&&(d.value=ie([...t.items.value,...t.pendingAppendItems.value]),oe())},{immediate:!0}),(0,e.watch)(()=>t.active.value,async(t,a)=>{let o=n.value;if(!o)return;if(!t){f.value=o.scrollTop;return}if(a!==!1||f.value==null)return;await(0,e.nextTick)();let s=Math.max(0,b.value-i.value),c=er(f.value,0,s);o.scrollTop=c,r.value=c,A.syncBoundary(),j.syncBoundary()}),(0,e.watch)(()=>t.loading.value,async n=>{!n&&!t.pendingAppendItems.value.length&&!F&&!L&&(d.value=null),A.onLoadingChange(n),j.onLoadingChange(n),await(0,e.nextTick)()}),(0,e.onMounted)(async()=>{J(),await(0,e.nextTick)(),_.value>0?H(_.value,`center`):G(),A.syncBoundary(),j.syncBoundary(),typeof ResizeObserver<`u`?(M=new ResizeObserver(()=>{J()}),n.value&&M.observe(n.value)):window.addEventListener(`resize`,J)}),(0,e.onBeforeUnmount)(()=>{M?.disconnect(),M=null,window.removeEventListener(`resize`,J),se(),ce(),N&&=(cancelAnimationFrame(N),0)});function R(){let e=vn(t.items.value,{columnCount:h.value,columnWidth:g.value,gapX:$,gapY:$,bucketPx:Hn});o.value=e.positions.map(e=>({x:e.x+Q,y:e.y+Q})),s.value=e.heights,c.value=e.buckets,l.value=e.contentHeight,u.value=e.indexById}function z(){t.active.value&&(r.value=n.value?.scrollTop??0,i.value=Y(),A.syncBoundary(),j.syncBoundary(),q(),!K()&&(N||=requestAnimationFrame(()=>{N=0,G()})))}function B(e){t.active.value&&(A.onWheel(e),j.onWheel(e),q())}function V(e){let n=t.items.value[e],r=n?P(n):``;return{height:`${s.value[e]??g.value}px`,width:`${g.value}px`,transition:r?k.getCardTransition(r):void 0,transitionDelay:r?k.getCardTransitionDelay(r):void 0,transform:k.getCardTransform(e)}}function H(e,t){let a=n.value,c=o.value[e],l=s.value[e];if(!a||!c||!l)return;let u=a.scrollTop,d=Math.max(0,b.value-i.value);t===`center`?u=c.y-(i.value-l)/2:c.y<a.scrollTop?u=c.y-Q:c.y+l>a.scrollTop+i.value&&(u=c.y+l-i.value+Q),a.scrollTop=er(u,0,d),r.value=a.scrollTop,G()}function U(e,t){let i=n.value,a=t.get(e),s=u.value.get(e),c=s==null?null:o.value[s];if(!i||!a||!c)return;let l=c.y-a.y;i.scrollTop+=l,r.value=i.scrollTop}function ee(){let e=n.value;if(!e){r.value=0;return}e.scrollTop=0,r.value=0,A.syncBoundary(),j.syncBoundary()}function W(e){ce(),p.value=!0,I=setTimeout(()=>{I=null,p.value=!1},Math.max(0,e))}function G(){if(!v.value.length||K())return;let e=r.value+i.value/2,n=_.value,a=1/0;for(let t of v.value){let r=o.value[t],i=s.value[t];if(!r||!i)continue;let c=r.y+i/2,l=Math.abs(c-e);l<a&&(a=l,n=t)}t.setActiveIndex(n)}function K(){let e=r.value<=Kn,n=ne()<=Gn;return e?(t.setActiveIndex(0),!0):n?(t.setActiveIndex(Math.max(0,t.items.value.length-1)),!0):!1}function q(){A.maybeRequestPage(),j.maybeRequestPage()}function J(){i.value=Y(),a.value=te()}function Y(){return Fn(n.value,i.value)}function te(){return In(n.value,a.value,Un)}function ne(){return Ln(n.value,r.value,i.value,b.value)}function X(){let e=Math.max(n.value?.scrollHeight??0,b.value);return Math.max(0,e-i.value)}function re(){return Rn(D.value,O.value)}function ie(e){return e.length?vn(e,{columnCount:h.value,columnWidth:g.value,gapX:$,gapY:$,bucketPx:Hn}).contentHeight+Q*2:0}function ae(e){let t=new Map;for(let n of e){let e=P(n),r=u.value.get(e);if(r==null)continue;let i=s.value[r];i!=null&&t.set(e,i)}return t}function oe(){let n=t.commitPendingAppend.value;typeof n==`function`&&(F=setTimeout(async()=>{F=null,L=!0;try{if(!t.pendingAppendItems.value.length)return;await n(),await(0,e.nextTick)(),await(0,e.nextTick)()}finally{d.value=null,L=!1}},Jn))}function se(){F&&=(clearTimeout(F),null)}function ce(){I&&(clearTimeout(I),I=null,p.value=!1)}return{columnWidth:g,containerHeight:b,getCardStyle:V,getLeavingCardStyle:k.getLeavingCardStyle,getScrollbarThumbStyle:re,leavingItems:k.leavingItems,nextBoundaryLoadProgress:S,onScroll:z,onWheel:B,paginationLabel:C,previousBoundaryLoadProgress:w,renderedItems:y,resolvedActiveIndex:_,scrollToIndex:H,showScrollbar:E,scrollViewportRef:n}}function er(e,t,n){return Math.min(Math.max(e,t),n)}function tr(e){if(!e.active||!e.triggerEnabled)return 0;let t=Math.max(0,e.maxScrollTop-e.thresholdPx);return t<=0?1:er(1-(e.progressDistancePx-e.thresholdPx)/t,0,1)}function nr(e){if(!e.active||!e.triggerEnabled)return 0;let t=Math.max(0,e.maxScrollTop-e.thresholdPx);return t<=0?1:er(e.progressDistancePx/t,0,1)}function rr(e){if(e)try{e.removeAttribute(`src`),e.src=``}catch{}}function ir(e){if(e){try{e.currentTime=0}catch{}e.pause();try{e.removeAttribute(`src`),e.load()}catch{}}}function ar(e,t){if(t)return e.bottom>t.top&&e.top<t.bottom;let n=window.innerHeight||document.documentElement.clientHeight||0;return e.bottom>0&&e.top<n}function or(e){if(!e)return null;try{return new URL(e,window.location.href).href}catch{return e}}var sr=/\.(avif|gif|jpe?g|png|svg|webp)(\?|#|$)/i,cr=/\.(m4v|mov|mp4|mpeg|ogg|ogv|webm)(\?|#|$)/i,lr=/^(?:(?:https?:)?\/\/[^/]+)?\/api\/files\/[^/?#]+\/(?:preview|downloaded)(?:\?|#|$)/i;function ur(e){let t=dr(e),n=t?.url,r=mn(e),i=e.title?.trim()||Ve(e.type);return t?.mediaType===`video`&&typeof n==`string`?{kind:`video`,url:n,width:r.width,height:r.height,label:i}:t?.mediaType===`image`&&typeof n==`string`?{kind:`image`,url:n,width:r.width,height:r.height,label:i}:e.type!==`image`&&e.type!==`video`?{kind:`fallback`,url:null,width:r.width,height:r.height,label:i}:typeof n==`string`&&pr(e,n)?{kind:`video`,url:n,width:r.width,height:r.height,label:i}:typeof n==`string`&&fr(e,n)?{kind:`image`,url:n,width:r.width,height:r.height,label:i}:{kind:`fallback`,url:null,width:r.width,height:r.height,label:i}}function dr(e){return e.preview?.url?e.preview:typeof e.url!=`string`||e.url.trim()===``?null:{url:e.url}}function fr(e,t){return e.type!==`image`||typeof t!=`string`?!1:sr.test(t)||mr(t)}function pr(e,t){return e.type!==`video`||typeof t!=`string`?!1:cr.test(t)||hr(t)}function mr(e){return/^(https?:\/\/|\/\/|\/(?!\/)|\.{1,2}\/|blob:|data:)/i.test(e)}function hr(e){return lr.test(e)||/^blob:/i.test(e)||/^data:video\//i.test(e)}var gr={maxGlobal:10,maxPerDomain:4,maxVideoPerDomain:2};function _r(e=gr){let t=new Map,n=new Map,r=0;function i(e){let i={...e,domain:br(e.url),enqueuedAt:r,id:`vibe-asset-load-${r+=1}`};return n.set(i.id,i),a(),{cancel(){(n.delete(i.id)||t.delete(i.id))&&a()},refresh(){a()},release(){(t.delete(i.id)||n.delete(i.id))&&a()}}}function a(){if(n.size===0)return;let r=[...n.values()].sort((e,t)=>{let n=yr(e)-yr(t);return n===0?e.enqueuedAt-t.enqueuedAt:n});for(let i of r){if(t.size>=e.maxGlobal)return;if(o(i)){n.delete(i.id),t.set(i.id,i);try{i.onGrant()}catch{t.delete(i.id)}}}}function o(n){let r=[...t.values()].filter(e=>e.domain===n.domain);return!(r.length>=e.maxPerDomain||n.assetType===`video`&&r.filter(e=>e.assetType===`video`).length>=e.maxVideoPerDomain)}return{request:i}}var vr=_r();function yr(e){try{let t=e.getPriority();return Number.isFinite(t)?t:1/0}catch{return 1/0}}function br(e){try{return new URL(e).hostname||`local`}catch{return`local`}}function xr(t){let n=(0,e.ref)(null),r=(0,e.computed)(()=>{let e=typeof t.item.value.healthCheck?.url==`string`?or(t.item.value.healthCheck.url):null;return!e||e===t.attachedAssetUrl.value?null:e}),i=null,a=0,o=new Map;(0,e.watch)(r,(e,t)=>{e!==t&&(n.value=null,l(),a+=1)}),(0,e.watch)([r,t.surfaceActive,t.isInView,t.isReady,t.loadErrorKind],()=>{s()});function s(){let e=r.value;if(!e){l();return}if(!t.surfaceActive.value||!t.isInView.value||!t.isReady.value||t.loadErrorKind.value){l();return}if(o.has(e)){n.value=o.get(e)??null;return}if(i){i.refresh();return}i=vr.request({assetType:`probe`,getPriority:t.getPriority,onGrant(){let e=r.value;if(!e){l();return}let i=++a;ct(e).then(s=>{if(!(i!==a||r.value!==e)){if(o.set(e,s??null),!s){n.value=null;return}n.value=s,t.reportAssetError?.({item:t.item.value,occurrenceKey:P(t.item.value),url:e,kind:s,surface:`grid`})}}).finally(()=>{i===a&&l()})},url:e})}function c(){let e=r.value;return!n.value||!e?!1:(o.delete(e),n.value=null,l(),s(),!0)}function l(){i?.release(),i=null}return{errorKind:n,release:l,retry:c}}var Sr=[`aria-label`],Cr={key:0,"data-testid":`vibe-list-card-spinner`,class:`pointer-events-none absolute inset-0 z-[4] grid place-items-center bg-black/18`},wr={class:`inline-flex h-12 w-12 items-center justify-center rounded-full bg-black/45 shadow-[0_18px_40px_-18px_rgba(0,0,0,0.85)] backdrop-blur-[18px]`},Tr=[`src`,`alt`],Er=[`src`],Dr=[`data-kind`],Or={class:`grid justify-items-center gap-3 px-4 text-center`},kr={class:`text-[0.68rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/72`},Ar={key:4,class:`grid h-full w-full place-items-center bg-[radial-gradient(circle_at_center,rgba(255,255,255,0.08),transparent_65%),linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.02))]`},jr={class:`inline-flex h-14 w-14 items-center justify-center border border-white/16 bg-black/20`},Mr={class:`pointer-events-none absolute inset-0 z-[3]`},Nr=(0,e.defineComponent)({__name:`ListCard`,props:{active:{type:Boolean,default:!1},index:{default:0},item:{},reportAssetError:{type:[Function,null],default:null},reportAssetLoad:{type:[Function,null],default:null},surfaceActive:{type:Boolean,default:!0}},emits:[`open`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.computed)(()=>ur(r.item)),o=(0,e.ref)(!1),s=(0,e.ref)(!1),c=(0,e.ref)(!1),l=(0,e.ref)(a.value.kind===`fallback`),u=(0,e.ref)(!1),d=(0,e.ref)(null),f=(0,e.ref)(null),p=(0,e.ref)(null),m=(0,e.ref)(null),g=(0,e.ref)(null),_=(0,e.ref)(a.value.kind===`fallback`),y=(0,e.computed)(()=>_.value?r.surfaceActive?o.value?a.value.url:null:a.value.url:null),b=(0,e.computed)(()=>r.surfaceActive&&o.value&&(a.value.kind===`image`||a.value.kind===`video`)&&!!a.value.url),x=(0,e.computed)(()=>a.value.kind===`image`&&!!y.value),S=(0,e.computed)(()=>a.value.kind===`video`&&!!y.value),C=xr({attachedAssetUrl:y,getPriority:W,isInView:o,isReady:l,item:(0,e.computed)(()=>r.item),loadErrorKind:d,reportAssetError:r.reportAssetError,surfaceActive:(0,e.computed)(()=>r.surfaceActive)}),w=(0,e.computed)(()=>C.errorKind.value??d.value),T=(0,e.computed)(()=>!!w.value),E=(0,e.computed)(()=>ot(w.value)),D=(0,e.computed)(()=>b.value&&!d.value&&(!_.value||!l.value)),O=null,k=null,A=new Set;(0,e.watch)([y,()=>a.value.kind],()=>{let e=a.value.kind===`fallback`;l.value=e,u.value=!1,d.value=null,e&&(_.value=!0)}),(0,e.watch)(b,()=>{I()}),(0,e.watch)([o,l,y],()=>{L()}),(0,e.watch)(()=>r.surfaceActive,e=>{if(!e){z(),L();return}requestAnimationFrame(()=>{B(),I(),L()})}),(0,e.onMounted)(()=>{if(!p.value||typeof IntersectionObserver>`u`){m.value=null,o.value=!0,I();return}m.value=p.value.closest(`[data-testid="vibe-list-scroll"]`),O=new IntersectionObserver(e=>{for(let t of e)t.target===p.value&&(r.surfaceActive&&B(t),I(),L())},{root:m.value,threshold:[0,1]}),O.observe(p.value)}),(0,e.onBeforeUnmount)(()=>{R(),C.release(),O?.disconnect(),O=null});function j(){G(f.value)&&(l.value=!0,d.value=null,V(y.value??r.item.url),z())}async function M(){if(!G(f.value))return;let e=y.value??r.item.url;l.value=!1,d.value=`generic`;let t=await st(e);d.value=t,r.reportAssetError?.({item:r.item,occurrenceKey:P(r.item),url:e,kind:t,surface:`grid`}),z()}function N(){G(g.value)&&(u.value=!0,l.value=!0,d.value=null,V(y.value??r.item.url),z(),L())}function F(){G(g.value)&&(u.value||(l.value=!1))}function I(){if(a.value.kind===`fallback`){R(!1);return}if(!r.surfaceActive){z();return}if(!b.value){R();return}if(_.value||k){k?.refresh();return}k=vr.request({assetType:a.value.kind,getPriority:W,onGrant(){_.value=!0,l.value=!1,d.value=null},url:a.value.url??r.item.url})}function L(){let e=g.value;if(!(!e||a.value.kind!==`video`)){if(w.value){e.pause();return}if(y.value&&o.value&&l.value){e.muted=!0,e.loop=!0,e.playsInline=!0,dt(e);return}try{e.currentTime=0}catch{}e.pause()}}function R(e=!0){_.value=a.value.kind===`fallback`,d.value=null,l.value=a.value.kind===`fallback`,e&&(U(),ee()),z()}function z(){k?.release(),k=null}function B(e){let t=p.value;if(!t){o.value=!0;return}o.value=ar(e?.boundingClientRect??t.getBoundingClientRect(),e?.rootBounds??m.value?.getBoundingClientRect()??null)}function V(e){if(!e)return;let t=P(r.item),n=`${t}|${e}`;A.has(n)||(A.add(n),r.reportAssetLoad?.({item:r.item,occurrenceKey:t,surface:`grid`,url:e}))}function H(){if(!E.value||C.retry())return;let e=P(r.item);A.forEach(t=>{t.startsWith(`${e}|`)&&A.delete(t)}),d.value=null,l.value=!1,_.value=!1,z(),I()}function U(){rr(f.value)}function ee(){ir(g.value)}function W(){let e=p.value;if(!e)return 1/0;let t=e.getBoundingClientRect();if(m.value){let e=m.value.getBoundingClientRect(),n=e.top+e.height/2;return Math.abs((t.top+t.bottom)/2-n)}let n=window.innerHeight/2;return Math.abs((t.top+t.bottom)/2-n)}function G(e){let t=or(y.value);return!e||!t?!1:or(`currentSrc`in e&&e.currentSrc||e.getAttribute(`src`))===t}function K(){i(`open`)}function q(){s.value=!0}function J(e){let t=e.relatedTarget;p.value&&t instanceof Node&&p.value.contains(t)||(s.value=!1)}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{ref_key:`rootRef`,ref:p,"data-testid":`vibe-list-card-inner`,class:(0,e.normalizeClass)([`group relative h-full w-full overflow-hidden border bg-[#0a0b0f] text-[#f7f1ea] transition-[border-color,transform] duration-300`,r.active?`border-white/28`:`border-white/12 hover:border-white/24`]),onFocusin:q,onFocusout:J,onPointerenter:n[0]||=e=>c.value=!0,onPointerleave:n[1]||=e=>c.value=!1},[(0,e.createElementVNode)(`button`,{type:`button`,"data-testid":`vibe-list-card-open`,class:`absolute inset-0 z-[1] block h-full w-full cursor-pointer text-left focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-[#f7f1ea]`,"aria-label":r.item.title||`Open item ${r.index+1}`,onClick:K},null,8,Sr),D.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Cr,[(0,e.createElementVNode)(`span`,wr,[(0,e.createVNode)((0,e.unref)(h),{class:`h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78`,"aria-hidden":`true`})])])):(0,e.createCommentVNode)(``,!0),x.value&&y.value&&!T.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:1,ref_key:`imageRef`,ref:f,src:y.value,alt:a.value.label,draggable:`false`,class:(0,e.normalizeClass)([`block h-full w-full object-cover transition-opacity duration-300`,l.value?`pointer-events-none opacity-100`:`pointer-events-none opacity-0`]),onLoad:j,onError:M},null,42,Tr)):S.value&&y.value&&!T.value?((0,e.openBlock)(),(0,e.createElementBlock)(`video`,{key:2,ref_key:`videoRef`,ref:g,src:y.value,muted:``,loop:``,playsinline:``,preload:`metadata`,class:(0,e.normalizeClass)([`block h-full w-full object-cover transition-opacity duration-300`,l.value?`pointer-events-none opacity-100`:`pointer-events-none opacity-0`]),onCanplay:N,onError:M,onLoadstart:F,onPlaying:N,onStalled:F,onWaiting:F},null,42,Er)):T.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:3,"data-testid":`vibe-list-card-error`,"data-kind":w.value,class:`pointer-events-none relative z-[2] grid h-full w-full place-items-center bg-[radial-gradient(circle_at_center,rgba(239,68,68,0.12),transparent_65%),linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.02))]`},[(0,e.createElementVNode)(`div`,Or,[(0,e.createVNode)((0,e.unref)(v),{class:`h-6 w-6 stroke-[1.8] text-[#f7f1ea]/78`,"aria-hidden":`true`}),(0,e.createElementVNode)(`span`,kr,(0,e.toDisplayString)((0,e.unref)(at)(w.value)),1),E.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`pointer-events-auto inline-flex items-center justify-center border border-white/14 bg-black/35 px-3 py-2 text-[0.62rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/50`,onClick:(0,e.withModifiers)(H,[`stop`])},` Retry `)):(0,e.createCommentVNode)(``,!0)])],8,Dr)):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ar,[(0,e.createElementVNode)(`div`,jr,[(0,e.renderSlot)(t.$slots,`item-icon`,{icon:(0,e.unref)(Be)(r.item.type),item:r.item},()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(Be)(r.item.type)),{class:`h-6 w-6 stroke-[1.8] text-[#f7f1ea]/78`,"aria-hidden":`true`}))])])])),(0,e.createElementVNode)(`div`,Mr,[(0,e.renderSlot)(t.$slots,`grid-item-overlay`,{active:r.active,focused:s.value,hovered:c.value,index:r.index,item:r.item,openFullscreen:K})])],34))}}),Pr={class:`relative h-full min-h-0 bg-[radial-gradient(circle_at_top_center,rgba(255,255,255,0.04),transparent_28%),linear-gradient(180deg,#06070b,#05060a)]`},Fr={class:`pointer-events-none absolute inset-x-0 top-0 z-[2] flex justify-end p-6`},Ir={"data-testid":`vibe-pagination`,class:`inline-flex shrink-0 items-center gap-2 whitespace-nowrap border border-white/14 bg-black/40 px-3 py-2 text-[0.63rem] font-bold uppercase tracking-[0.12em] text-[#f7f1ea]/72 backdrop-blur-[18px] min-[721px]:gap-3 min-[721px]:px-4 min-[721px]:py-3 min-[721px]:text-[0.74rem] min-[721px]:tracking-[0.2em]`},Lr={class:`whitespace-nowrap`},Rr={key:0,class:`whitespace-nowrap border-l border-white/12 pl-2 text-[#f7f1ea]/56 min-[721px]:pl-3`},zr=[`data-active`,`data-index`,`data-item-id`,`data-occurrence-key`],Br=[`data-item-id`],Vr={key:0,class:`pointer-events-none absolute inset-y-0 right-0 z-[3] hidden w-8 min-[1024px]:block`},Hr={key:1,class:`pointer-events-none absolute inset-x-0 bottom-0 z-[2] px-5 pb-5 sm:px-6`},Ur={class:`mx-auto flex w-full max-w-[1600px] justify-center`},Wr=(0,e.defineComponent)({__name:`ListSurface`,props:{active:{type:Boolean,default:!0},activeIndex:{default:0},allowExhaustedNextPageRefresh:{type:Boolean,default:!1},commitPendingAppend:{type:[Function,null],default:null},emptyStateMode:{default:`inline`},errorMessage:{default:null},hasNextPage:{type:Boolean,default:!1},hasPreviousPage:{type:Boolean,default:!1},items:{},loading:{type:Boolean,default:!1},pendingAppendItems:{default:()=>[]},paginationDetail:{default:null},phase:{default:null},reportAssetError:{type:[Function,null],default:null},reportAssetLoad:{type:[Function,null],default:null},requestNextPage:{type:[Function,null],default:null},requestPreviousPage:{type:[Function,null],default:null},showStatusBadges:{type:Boolean,default:!0}},emits:[`boundary-load-progress`,`open-fullscreen`,`update:activeIndex`],setup(t,{emit:n}){let r=t,i=(0,e.useSlots)(),a=n,o=$n({active:(0,e.toRef)(r,`active`),allowExhaustedNextPageRefresh:(0,e.toRef)(r,`allowExhaustedNextPageRefresh`),items:(0,e.toRef)(r,`items`),activeIndex:(0,e.toRef)(r,`activeIndex`),loading:(0,e.toRef)(r,`loading`),hasNextPage:(0,e.toRef)(r,`hasNextPage`),hasPreviousPage:(0,e.toRef)(r,`hasPreviousPage`),paginationDetail:(0,e.toRef)(r,`paginationDetail`),pendingAppendItems:(0,e.toRef)(r,`pendingAppendItems`),commitPendingAppend:(0,e.toRef)(r,`commitPendingAppend`),requestNextPage:(0,e.toRef)(r,`requestNextPage`),requestPreviousPage:(0,e.toRef)(r,`requestPreviousPage`),setActiveIndex(e){a(`update:activeIndex`,e)}}),s=(0,e.computed)(()=>Xe({itemCount:r.items.length,loading:r.loading,phase:r.phase})),c=(0,e.computed)(()=>Ze({errorMessage:r.errorMessage,hasItems:r.items.length>0,hasNextPage:r.hasNextPage,phase:s.value,surface:`grid`})),l=(0,e.computed)(()=>!r.showStatusBadges||!c.value?null:{activeIndex:o.resolvedActiveIndex.value,kind:c.value.kind,loading:r.loading,message:c.value.message,paginationDetail:r.paginationDetail,total:r.items.length}),u=(0,e.computed)(()=>!l.value||!i[`grid-status`]?[]:i[`grid-status`](l.value)),d=(0,e.computed)(()=>Ge(u.value)),f=(0,e.computed)(()=>r.items.length+o.leavingItems.value.length),{emptyStateProps:p,showBadgeEmptyState:m,showCustomEmptyState:h,showInlineEmptyState:g}=Je({emptyStateMode:(0,e.toRef)(r,`emptyStateMode`),itemCount:f,loading:(0,e.toRef)(r,`loading`),renderSlot:i[`empty-state`],surface:`grid`});return(0,e.watch)([o.nextBoundaryLoadProgress,o.previousBoundaryLoadProgress],([e,t])=>{a(`boundary-load-progress`,{nextBoundaryLoadProgress:e,previousBoundaryLoadProgress:t})},{immediate:!0}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Pr,[(0,e.createElementVNode)(`div`,Fr,[(0,e.createElementVNode)(`span`,Ir,[(0,e.createElementVNode)(`span`,Lr,(0,e.toDisplayString)((0,e.unref)(o).paginationLabel.value),1),r.paginationDetail?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Rr,(0,e.toDisplayString)(r.paginationDetail),1)):(0,e.createCommentVNode)(``,!0)])]),(0,e.createElementVNode)(`div`,{ref:(0,e.unref)(o).scrollViewportRef,"data-testid":`vibe-list-scroll`,class:`h-full min-h-0 overflow-y-auto overflow-x-hidden [overflow-anchor:none] [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden`,onScroll:n[0]||=(...t)=>(0,e.unref)(o).onScroll&&(0,e.unref)(o).onScroll(...t),onWheel:n[1]||=(...t)=>(0,e.unref)(o).onWheel&&(0,e.unref)(o).onWheel(...t)},[(0,e.createElementVNode)(`div`,{"data-testid":`vibe-list-content`,class:`relative`,style:(0,e.normalizeStyle)({height:`${(0,e.unref)(o).containerHeight.value}px`})},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(o).renderedItems.value,({item:n,index:s})=>((0,e.openBlock)(),(0,e.createElementBlock)(`article`,{key:(0,e.unref)(P)(n),"data-testid":`vibe-list-card`,"data-active":s===(0,e.unref)(o).resolvedActiveIndex.value?`true`:`false`,"data-index":s,"data-item-id":n.id,"data-occurrence-key":(0,e.unref)(P)(n),class:`absolute will-change-transform`,style:(0,e.normalizeStyle)((0,e.unref)(o).getCardStyle(s))},[(0,e.createVNode)(Nr,{active:s===(0,e.unref)(o).resolvedActiveIndex.value,index:s,item:n,"report-asset-error":r.reportAssetError,"report-asset-load":r.reportAssetLoad,"surface-active":r.active,onOpen:e=>a(`open-fullscreen`,s)},(0,e.createSlots)({_:2},[i[`grid-item-overlay`]?{name:`grid-item-overlay`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`grid-item-overlay`,(0,e.mergeProps)({ref_for:!0},n))]),key:`0`}:void 0,i[`item-icon`]?{name:`item-icon`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`item-icon`,(0,e.mergeProps)({ref_for:!0},n))]),key:`1`}:void 0]),1032,[`active`,`index`,`item`,`report-asset-error`,`report-asset-load`,`surface-active`,`onOpen`])],12,zr))),128)),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(o).leavingItems.value,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`article`,{key:`leaving-${(0,e.unref)(P)(n.item)}`,"data-testid":`vibe-list-card-leaving`,"data-item-id":n.item.id,class:`pointer-events-none absolute z-[2] will-change-[opacity,transform]`,style:(0,e.normalizeStyle)((0,e.unref)(o).getLeavingCardStyle(n.item))},[(0,e.createVNode)(Nr,{active:!1,index:-1,item:n.item,"report-asset-error":r.reportAssetError,"report-asset-load":r.reportAssetLoad,"surface-active":!1},(0,e.createSlots)({_:2},[i[`item-icon`]?{name:`item-icon`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`item-icon`,(0,e.mergeProps)({ref_for:!0},n))]),key:`0`}:void 0]),1032,[`item`,`report-asset-error`,`report-asset-load`])],12,Br))),128)),(0,e.unref)(g)&&(0,e.unref)(p)?((0,e.openBlock)(),(0,e.createBlock)(Ot,{key:0,message:(0,e.unref)(p).message,mode:(0,e.unref)(p).mode,surface:(0,e.unref)(p).surface},{default:(0,e.withCtx)(()=>[(0,e.unref)(h)?(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(p)))):(0,e.createCommentVNode)(``,!0)]),_:3},8,[`message`,`mode`,`surface`])):(0,e.createCommentVNode)(``,!0)],4)],544),(0,e.unref)(o).showScrollbar.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Vr,[n[2]||=(0,e.createElementVNode)(`div`,{class:`absolute bottom-6 right-3 top-6 w-px bg-white/8`},null,-1),(0,e.createElementVNode)(`div`,{"data-testid":`vibe-list-scrollbar-thumb`,class:(0,e.normalizeClass)([`absolute right-[0.625rem] w-1 bg-white/34 transition-[height,transform,background-color,opacity] duration-300 ease-out`,r.loading?`bg-white/52`:`bg-white/34`]),style:(0,e.normalizeStyle)((0,e.unref)(o).getScrollbarThumbStyle())},null,6)])):(0,e.createCommentVNode)(``,!0),i[`grid-footer`]?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Hr,[(0,e.createElementVNode)(`div`,Ur,[(0,e.renderSlot)(t.$slots,`grid-footer`)])])):(0,e.createCommentVNode)(``,!0),l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:2,class:(0,e.normalizeClass)([`pointer-events-none absolute inset-x-0 bottom-0 z-[3] flex justify-center px-6`,i[`grid-footer`]?`pb-24`:`pb-6`])},[d.value?(0,e.renderSlot)(t.$slots,`grid-status`,(0,e.normalizeProps)((0,e.mergeProps)({key:0},l.value))):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{key:1,"data-testid":`vibe-grid-status-badge`,class:(0,e.normalizeClass)([`inline-flex items-center border border-white/14 bg-black/55 px-4 py-3 text-[0.7rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/72 backdrop-blur-[18px]`,l.value.kind===`end`?`border-amber-300/35 text-amber-200`:l.value.kind===`failed`?`border-rose-400/45 text-rose-100`:``])},(0,e.toDisplayString)(l.value.message),3))],2)):(0,e.createCommentVNode)(``,!0),(0,e.unref)(m)&&(0,e.unref)(p)?((0,e.openBlock)(),(0,e.createBlock)(Ot,{key:3,class:(0,e.normalizeClass)([`z-[3]`,i[`grid-footer`]?`pb-24`:`pb-6`]),message:(0,e.unref)(p).message,mode:(0,e.unref)(p).mode,surface:(0,e.unref)(p).surface},{default:(0,e.withCtx)(()=>[(0,e.unref)(h)?(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(p)))):(0,e.createCommentVNode)(``,!0)]),_:3},8,[`class`,`message`,`mode`,`surface`])):(0,e.createCommentVNode)(``,!0)]))}}),Gr=[`data-surface-mode`],Kr={key:1,class:`absolute left-5 top-5 z-30 border border-amber-400/45 bg-black/35 px-4 py-2 text-xs font-medium uppercase tracking-[0.24em] text-amber-100 backdrop-blur`},qr=[`data-visible`,`inert`],Jr=[`data-visible`,`inert`],Yr={key:3,class:`relative z-[1] grid h-full w-full content-center justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center`},Xr=(0,e.defineComponent)({name:`VibeLayout`,__name:`Layout`,props:{emptyStateMode:{},fillDelayMs:{},fillDelayStepMs:{},initialCursor:{},initialState:{},loopFullscreenVideo:{type:Boolean},mode:{},pageSize:{},paginationDetail:{},resolve:{type:Function},showDominantImageTone:{type:Boolean},showEndBadge:{type:Boolean},showStatusBadges:{type:Boolean},surfaceMode:{}},emits:[`asset-errors`,`asset-loads`,`update:activeIndex`,`update:surfaceMode`],setup(t,{expose:n,emit:r}){let i=t,a=(0,e.useSlots)(),o=r,s=de(i,o),c=S(e=>{o(`asset-errors`,e)}),l=C(e=>{o(`asset-loads`,e)});return(0,e.onBeforeUnmount)(()=>{c.stop(),l.stop()}),n({cancel:s.cancel,clearRemoved:s.clearRemoved,getRemovedIds:s.getRemovedIds,lockPageLoading:s.lockPageLoading,loadNext:s.loadNext,loadPrevious:s.loadPrevious,remove:s.remove,restore:s.restore,retry:s.retry,status:s.status,undo:s.undo,unlockPageLoading:s.unlockPageLoading}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,{"data-testid":`vibe`,"data-surface-mode":(0,e.unref)(s).surfaceMode.value,class:`relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f7f1ea]`},[(0,e.unref)(s).canRetryInitialLoad.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`absolute left-5 top-5 z-30 inline-flex items-center border border-rose-400/55 bg-rose-500/18 px-4 py-2 text-xs font-medium uppercase tracking-[0.24em] text-white backdrop-blur transition hover:bg-rose-500/28`,onClick:n[0]||=(...t)=>(0,e.unref)(s).retryInitialLoad&&(0,e.unref)(s).retryInitialLoad(...t)},` Retry `)):(0,e.unref)(s).errorMessage.value&&(0,e.unref)(s).items.value.length>0?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Kr,(0,e.toDisplayString)((0,e.unref)(s).errorMessage.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.unref)(s).isDesktop.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:2},[(0,e.createVNode)(e.Transition,{appear:``,"enter-active-class":`transition-[opacity,transform] duration-300 ease-out`,"enter-from-class":`translate-y-3 opacity-0`,"enter-to-class":`translate-y-0 opacity-100`,"leave-active-class":`transition-[opacity,transform] duration-300 ease-out`,"leave-from-class":`translate-y-0 opacity-100`,"leave-to-class":`translate-y-3 opacity-0`},{default:(0,e.withCtx)(()=>[(0,e.withDirectives)((0,e.createElementVNode)(`div`,{"data-testid":`vibe-list-surface`,"data-visible":(0,e.unref)(s).surfaceMode.value===`list`?`true`:`false`,inert:(0,e.unref)(s).surfaceMode.value!==`list`,class:`absolute inset-0 z-[2]`},[(0,e.createVNode)(Wr,{active:(0,e.unref)(s).surfaceMode.value===`list`,"allow-exhausted-next-page-refresh":(0,e.unref)(s).canRefreshExhaustedNextPage.value,items:(0,e.unref)(s).items.value,"active-index":(0,e.unref)(s).activeIndex.value,"error-message":(0,e.unref)(s).errorMessage.value,loading:(0,e.unref)(s).loading.value,"has-next-page":(0,e.unref)(s).hasNextPage.value,"has-previous-page":(0,e.unref)(s).hasPreviousPage.value,"pending-append-items":(0,e.unref)(s).pendingAppendItems.value,phase:(0,e.unref)(s).phase.value,"commit-pending-append":(0,e.unref)(s).commitPendingAppend,"pagination-detail":(0,e.unref)(s).paginationDetail.value,"report-asset-error":(0,e.unref)(c).report,"report-asset-load":(0,e.unref)(l).report,"request-next-page":(0,e.unref)(s).prefetchNextPage,"request-previous-page":(0,e.unref)(s).prefetchPreviousPage,"empty-state-mode":i.emptyStateMode,"show-status-badges":i.showStatusBadges??!0,onBoundaryLoadProgress:(0,e.unref)(s).setBoundaryLoadProgress,onOpenFullscreen:(0,e.unref)(s).openFullscreen,"onUpdate:activeIndex":(0,e.unref)(s).setActiveIndex},(0,e.createSlots)({_:2},[a[`empty-state`]?{name:`empty-state`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`0`}:void 0,a[`grid-footer`]?{name:`grid-footer`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`grid-footer`)]),key:`1`}:void 0,a[`grid-item-overlay`]?{name:`grid-item-overlay`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`grid-item-overlay`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`2`}:void 0,a[`grid-status`]?{name:`grid-status`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`grid-status`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`3`}:void 0,a[`item-icon`]?{name:`item-icon`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`item-icon`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`4`}:void 0]),1032,[`active`,`allow-exhausted-next-page-refresh`,`items`,`active-index`,`error-message`,`loading`,`has-next-page`,`has-previous-page`,`pending-append-items`,`phase`,`commit-pending-append`,`pagination-detail`,`report-asset-error`,`report-asset-load`,`request-next-page`,`request-previous-page`,`empty-state-mode`,`show-status-badges`,`onBoundaryLoadProgress`,`onOpenFullscreen`,`onUpdate:activeIndex`])],8,qr),[[e.vShow,(0,e.unref)(s).surfaceMode.value===`list`]])]),_:3}),(0,e.createVNode)(e.Transition,{appear:``,"enter-active-class":`transition-[opacity,transform] duration-300 ease-out`,"enter-from-class":`-translate-y-3 opacity-0`,"enter-to-class":`translate-y-0 opacity-100`,"leave-active-class":`transition-[opacity,transform] duration-300 ease-out`,"leave-from-class":`translate-y-0 opacity-100`,"leave-to-class":`-translate-y-3 opacity-0`},{default:(0,e.withCtx)(()=>[(0,e.withDirectives)((0,e.createElementVNode)(`div`,{"data-testid":`vibe-fullscreen-surface`,"data-visible":(0,e.unref)(s).surfaceMode.value===`fullscreen`?`true`:`false`,inert:(0,e.unref)(s).surfaceMode.value!==`fullscreen`,class:`absolute inset-0 z-[3]`},[(0,e.createVNode)(dn,{items:(0,e.unref)(s).items.value,active:(0,e.unref)(s).surfaceMode.value===`fullscreen`,"active-index":(0,e.unref)(s).activeIndex.value,"error-message":(0,e.unref)(s).errorMessage.value,loading:(0,e.unref)(s).loading.value,"has-next-page":(0,e.unref)(s).hasNextPage.value,"pagination-detail":(0,e.unref)(s).paginationDetail.value,phase:(0,e.unref)(s).phase.value,"report-asset-error":(0,e.unref)(c).report,"report-asset-load":(0,e.unref)(l).report,"empty-state-mode":i.emptyStateMode,"loop-fullscreen-video":i.loopFullscreenVideo??!0,"show-dominant-image-tone":i.showDominantImageTone??!0,"show-end-badge":i.showEndBadge??!0,"show-status-badges":i.showStatusBadges??!0,"show-back-to-list":(0,e.unref)(s).showBackToList.value,onBackToList:(0,e.unref)(s).returnToList,"onUpdate:activeIndex":(0,e.unref)(s).setActiveIndex},(0,e.createSlots)({_:2},[a[`empty-state`]?{name:`empty-state`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`0`}:void 0,a[`fullscreen-overlay`]?{name:`fullscreen-overlay`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-overlay`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`1`}:void 0,a[`fullscreen-aside`]?{name:`fullscreen-aside`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-aside`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`2`}:void 0,a[`fullscreen-header-actions`]?{name:`fullscreen-header-actions`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-header-actions`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`3`}:void 0,a[`fullscreen-status`]?{name:`fullscreen-status`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-status`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`4`}:void 0,a[`item-icon`]?{name:`item-icon`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`item-icon`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`5`}:void 0]),1032,[`items`,`active`,`active-index`,`error-message`,`loading`,`has-next-page`,`pagination-detail`,`phase`,`report-asset-error`,`report-asset-load`,`empty-state-mode`,`loop-fullscreen-video`,`show-dominant-image-tone`,`show-end-badge`,`show-status-badges`,`show-back-to-list`,`onBackToList`,`onUpdate:activeIndex`])],8,Jr),[[e.vShow,(0,e.unref)(s).surfaceMode.value===`fullscreen`]])]),_:3})],64)):(0,e.unref)(s).items.value.length===0&&(0,e.unref)(s).loading.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Yr,[(0,e.createVNode)((0,e.unref)(h),{class:`size-10 animate-spin text-[#f7f1ea]/82`,"aria-hidden":`true`}),n[1]||=(0,e.createElementVNode)(`p`,{class:`m-0 text-[0.9rem] font-semibold uppercase tracking-[0.22em] text-[#f7f1ea]/72`},` Loading... `,-1)])):((0,e.openBlock)(),(0,e.createBlock)(dn,{key:4,items:(0,e.unref)(s).items.value,active:!0,"active-index":(0,e.unref)(s).activeIndex.value,"error-message":(0,e.unref)(s).errorMessage.value,loading:(0,e.unref)(s).loading.value,"has-next-page":(0,e.unref)(s).hasNextPage.value,"pagination-detail":(0,e.unref)(s).paginationDetail.value,phase:(0,e.unref)(s).phase.value,"report-asset-error":(0,e.unref)(c).report,"report-asset-load":(0,e.unref)(l).report,"empty-state-mode":i.emptyStateMode,"loop-fullscreen-video":i.loopFullscreenVideo??!0,"show-dominant-image-tone":i.showDominantImageTone??!0,"show-end-badge":i.showEndBadge??!0,"show-status-badges":i.showStatusBadges??!0,"show-back-to-list":!1,onBackToList:(0,e.unref)(s).returnToList,"onUpdate:activeIndex":(0,e.unref)(s).setActiveIndex},(0,e.createSlots)({_:2},[a[`empty-state`]?{name:`empty-state`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`0`}:void 0,a[`fullscreen-overlay`]?{name:`fullscreen-overlay`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-overlay`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`1`}:void 0,a[`fullscreen-aside`]?{name:`fullscreen-aside`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-aside`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`2`}:void 0,a[`fullscreen-header-actions`]?{name:`fullscreen-header-actions`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-header-actions`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`3`}:void 0,a[`fullscreen-status`]?{name:`fullscreen-status`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-status`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`4`}:void 0,a[`item-icon`]?{name:`item-icon`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`item-icon`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`5`}:void 0]),1032,[`items`,`active-index`,`error-message`,`loading`,`has-next-page`,`pagination-detail`,`phase`,`report-asset-error`,`report-asset-load`,`empty-state-mode`,`loop-fullscreen-video`,`show-dominant-image-tone`,`show-end-badge`,`show-status-badges`,`onBackToList`,`onUpdate:activeIndex`]))],8,Gr))}}),Zr={install(e){e.component(`VibeLayout`,Xr)}};exports.VibeLayout=Xr,exports.VibePlugin=Zr,exports.default=Zr;
|
|
1
|
+
Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});let e=require(`vue`);var t=e=>{for(let t in e)if(t.startsWith(`aria-`)||t===`role`||t===`title`)return!0;return!1},n=e=>e===``,r=(...e)=>e.filter((e,t,n)=>!!e&&e.trim()!==``&&n.indexOf(e)===t).join(` `).trim(),i=e=>e.replace(/([a-z0-9])([A-Z])/g,`$1-$2`).toLowerCase(),a=e=>e.replace(/^([A-Z])|[\s-_]+(\w)/g,(e,t,n)=>n?n.toUpperCase():t.toLowerCase()),o=e=>{let t=a(e);return t.charAt(0).toUpperCase()+t.slice(1)},s={xmlns:`http://www.w3.org/2000/svg`,width:24,height:24,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":2,"stroke-linecap":`round`,"stroke-linejoin":`round`},c=({name:a,iconNode:c,absoluteStrokeWidth:l,"absolute-stroke-width":u,strokeWidth:d,"stroke-width":f,size:p=s.width,color:m=s.stroke,...h},{slots:g})=>(0,e.h)(`svg`,{...s,...h,width:p,height:p,stroke:m,"stroke-width":n(l)||n(u)||l===!0||u===!0?Number(d||f||s[`stroke-width`])*24/Number(p):d||f||s[`stroke-width`],class:r(`lucide`,h.class,...a?[`lucide-${i(o(a))}-icon`,`lucide-${i(a)}`]:[`lucide-icon`]),...!g.default&&!t(h)&&{"aria-hidden":`true`}},[...c.map(t=>(0,e.h)(...t)),...g.default?[g.default()]:[]]),l=(t,n)=>(r,{slots:i,attrs:a})=>(0,e.h)(c,{...a,...r,iconNode:n,name:t},i),u=l(`arrow-left`,[[`path`,{d:`m12 19-7-7 7-7`,key:`1l729n`}],[`path`,{d:`M19 12H5`,key:`x3x0zl`}]]),d=l(`audio-lines`,[[`path`,{d:`M2 10v3`,key:`1fnikh`}],[`path`,{d:`M6 6v11`,key:`11sgs0`}],[`path`,{d:`M10 3v18`,key:`yhl04a`}],[`path`,{d:`M14 8v7`,key:`3a1oy3`}],[`path`,{d:`M18 5v13`,key:`123xd1`}],[`path`,{d:`M22 10v3`,key:`154ddg`}]]),f=l(`clapperboard`,[[`path`,{d:`m12.296 3.464 3.02 3.956`,key:`qash78`}],[`path`,{d:`M20.2 6 3 11l-.9-2.4c-.3-1.1.3-2.2 1.3-2.5l13.5-4c1.1-.3 2.2.3 2.5 1.3z`,key:`1h7j8b`}],[`path`,{d:`M3 11h18v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z`,key:`4lm6w1`}],[`path`,{d:`m6.18 5.276 3.1 3.899`,key:`zjj9t3`}]]),p=l(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),m=l(`image-plus`,[[`path`,{d:`M16 5h6`,key:`1vod17`}],[`path`,{d:`M19 2v6`,key:`4bpg5p`}],[`path`,{d:`M21 11.5V19a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7.5`,key:`1ue2ih`}],[`path`,{d:`m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21`,key:`1xmnt7`}],[`circle`,{cx:`9`,cy:`9`,r:`2`,key:`af1f0g`}]]),h=l(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),g=l(`pause`,[[`rect`,{x:`14`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`kaeet6`}],[`rect`,{x:`5`,y:`3`,width:`5`,height:`18`,rx:`1`,key:`1wsw3u`}]]),_=l(`play`,[[`path`,{d:`M5 5a2 2 0 0 1 3.008-1.728l11.997 6.998a2 2 0 0 1 .003 3.458l-12 7A2 2 0 0 1 5 19z`,key:`10ikf1`}]]),v=l(`triangle-alert`,[[`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`,key:`wmoenq`}],[`path`,{d:`M12 9v4`,key:`juzpu7`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),y=l(`volume-1`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}]]),b=l(`volume-2`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`path`,{d:`M16 9a5 5 0 0 1 0 6`,key:`1q6k2b`}],[`path`,{d:`M19.364 18.364a9 9 0 0 0 0-12.728`,key:`ijwkga`}]]),x=l(`volume-x`,[[`path`,{d:`M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z`,key:`uqj9uw`}],[`line`,{x1:`22`,x2:`16`,y1:`9`,y2:`15`,key:`1ewh16`}],[`line`,{x1:`16`,x2:`22`,y1:`9`,y2:`15`,key:`5ykzw1`}]]);function S(e,t=150){return w(e,e=>`${e.surface}|${e.occurrenceKey}|${e.url}|${e.kind}`,t)}function C(e,t=150){return w(e,e=>`${e.surface}|${e.occurrenceKey}|${e.url}`,t)}function w(e,t,n){let r=[],i=new Set,a=null;function o(e){let o=t(e);i.has(o)||(i.add(o),r.push(e),!a&&(a=setTimeout(()=>{s()},n)))}function s(){if(a&&=(clearTimeout(a),null),!r.length)return;let t=r.slice();r.length=0,i.clear(),e(t)}function c(){a&&=(clearTimeout(a),null),r.length=0,i.clear()}return{flush:s,report:o,stop:c}}function T(e){return e instanceof HTMLElement&&[`INPUT`,`TEXTAREA`,`SELECT`].includes(e.tagName)}function E(e){return e instanceof HTMLElement&&!!e.closest(`[data-swipe-lock], input, textarea, select, a`)}function D(e){return e===`filling`||e===`initializing`||e===`loading`||e===`refreshing`}function O(e){return!e||!Number.isFinite(e)||e<1?25:Math.floor(e)}function k(e){return e??`__vibe_initial_cursor__`}function A(e,t,n){return Math.min(Math.max(e,t),n)}function j(){let t=(0,e.ref)(new Set),n=(0,e.ref)([]);function r(e){let r=M(e).filter(e=>!t.value.has(e));if(!r.length)return{ids:[]};let i=new Set(t.value);for(let e of r)i.add(e);return t.value=i,n.value=[...n.value,r],{ids:r}}function i(e){let n=M(e).filter(e=>t.value.has(e));if(!n.length)return{ids:[]};let r=new Set(t.value);for(let e of n)r.delete(e);return t.value=r,{ids:n}}function a(){if(!n.value.length)return null;let e=[...n.value],r=e.pop()??[];n.value=e;let i=r.filter(e=>t.value.has(e));if(!i.length)return{ids:[]};let a=new Set(t.value);for(let e of i)a.delete(e);return t.value=a,{ids:i}}function o(){!t.value.size&&!n.value.length||(t.value=new Set,n.value=[])}function s(){return Array.from(t.value)}return{clearRemoved:o,getRemovedIds:s,remove:r,removedIds:t,restore:i,undo:a}}function M(e){let t=Array.isArray(e)?e:[e];return Array.from(new Set(t.filter(e=>typeof e==`string`&&e.length>0)))}var N=`__vibeOccurrenceKey`;function P(e){let t=e[N];return typeof t==`string`&&t.length>0?t:e.id}function F(e,t,n){let r=new Map,i=[],a=n;for(let e of t){let t=r.get(e.id),n=P(e);t?t.push(n):r.set(e.id,[n])}for(let t of e){let e=r.get(t.id)?.shift()??`vibe-occurrence-${a+=1}`;i.push(I(t,e))}return{items:i,nextSequence:a}}function I(e,t){return P(e)===t?e:{...e,[N]:t}}function L(e){return e.flatMap(e=>e.items)}function R(e,t){return t.size?e.filter(e=>!t.has(e.id)):e}function z(e,t){return R(e.items,t)}function B(e,t){return z(e,t).length}function V(e,t,n){if(n<0)return null;let r=0;for(let i of e){let e=z(i,t),a=r+e.length;if(n<a)return i.cursor;r=a}return null}function H(e,t,n){let r=[...e],i=r.findIndex(e=>e.cursor===t);return i>=0&&r.splice(i,1,n),r}function U(e,t,n){let r=F(e,t,n);return{items:r.items,nextSequence:r.nextSequence}}function ee(e){return e instanceof DOMException&&e.name===`AbortError`||e instanceof Error&&(e.name===`AbortError`||e.name===`CanceledError`)?!0:typeof e==`object`&&!!e&&`code`in e&&e.code===`ERR_CANCELED`}function W(e){let t=U(e.nextItems,e.previousItems,e.sequence);return{bucket:{cursor:e.cursor,items:t.items,nextCursor:e.nextCursor,previousCursor:e.previousCursor},nextSequence:t.nextSequence}}function G(e,t,n,r){if(!e.length)return r?null:{buckets:[],canceled:r,visibleCount:0};let i=t===`backward`?[...e].reverse():e;return{buckets:i,canceled:r,visibleCount:i.reduce((e,t)=>e+B(t,n),0)}}function K(e){let t=W({cursor:e.initialState.cursor,nextCursor:e.initialState.nextCursor??null,nextItems:e.initialState.items,previousCursor:e.initialState.previousCursor??null,previousItems:[],sequence:e.sequence}),n=R(t.bucket.items,e.removedIds);return{activeIndex:A(e.initialState.activeIndex??0,0,Math.max(0,n.length-1)),buckets:[t.bucket],nextSequence:t.nextSequence}}function q(e,t){let n=e[A(t,0,Math.max(0,e.length-1))];return n?P(n):null}function J(e,t,n=null){if(!e.length)return 0;let r=n?e.findIndex(e=>P(e)===n):-1;return r>=0?r:A(t,0,e.length-1)}function Y(e,t,n){return e?B(e,t)<n:!1}var te=2e3,ne=1e3,X=100;function re(e,t=te,n=ne){return t+Math.max(0,e-1)*n}function ie(e,t){return!Number.isFinite(e)||e==null||e<0?t:Math.floor(e)}function ae(){let t=(0,e.ref)(null),n=null,r=null,i=null;function a(e=!1){if(n&&=(clearInterval(n),null),r&&=(clearTimeout(r),null),t.value=null,e&&i){let e=i;i=null,e()}}async function o(e){a(!0),!(e<=0)&&(t.value=e,await new Promise(o=>{let s=Date.now(),c=!1,l=()=>{c||(c=!0,i=null,a(),o())};i=l;let u=()=>{let n=Math.max(0,e-(Date.now()-s));t.value=n,n<=0&&l()};n=setInterval(u,X),r=setTimeout(l,e),u()}))}return{clear:a,remainingMs:t,wait:o}}function oe(t){let n=!!t.initialState?.items.length,r=(0,e.ref)([]),i=(0,e.ref)(0),a=(0,e.ref)([]),o=(0,e.ref)(!1),s=(0,e.ref)(null),c=(0,e.ref)(!n&&typeof t.resolve==`function`?`initializing`:`idle`),l=(0,e.ref)(null),u=ae(),d=u.remainingMs,f=(0,e.ref)(null),p=(0,e.ref)(!1),m=(0,e.ref)(!0),h=(0,e.ref)(!1),g=new Set,_=null,v=null,y=0,b=0,x=(0,e.computed)(()=>ie(t.fillDelayMs,te)),S=(0,e.computed)(()=>ie(t.fillDelayStepMs,ne)),C=(0,e.computed)(()=>typeof t.resolve==`function`),w=(0,e.computed)(()=>t.mode??`dynamic`),T=(0,e.computed)(()=>O(t.pageSize)),E=(0,e.computed)(()=>L(r.value)),j=(0,e.computed)(()=>R(E.value,t.removedIds.value)),M=(0,e.computed)(()=>i.value),N=(0,e.computed)(()=>D(c.value)||p.value),F=(0,e.computed)(()=>se(r.value,t.removedIds.value)),I=(0,e.computed)(()=>ce(r.value,t.removedIds.value)),z=(0,e.computed)(()=>I.value?.nextCursor??null),U=(0,e.computed)(()=>o.value?null:F.value?.previousCursor??null),X=(0,e.computed)(()=>!!z.value),oe=(0,e.computed)(()=>!!U.value),le=(0,e.computed)(()=>C.value&&r.value.length>0),ue=(0,e.computed)(()=>R(L(a.value),t.removedIds.value)),de=(0,e.computed)(()=>V(r.value,t.removedIds.value,M.value)),fe=(0,e.computed)(()=>!j.value.length&&!N.value&&!!s.value);(0,e.watch)(()=>j.value.length,e=>{if(e===0){i.value=0;return}o.value&&=(Ie(),!1),i.value>e-1&&(i.value=e-1)}),(0,e.watch)(()=>i.value,()=>{m.value&&De()}),(0,e.onMounted)(()=>{Ne()||t.resolve&&pe()}),(0,e.onBeforeUnmount)(()=>{_?.abort(),_=null,u.clear(!0)});async function pe(){v=pe;let e=await je({continueUntilFilled:w.value===`dynamic`,cursor:t.initialCursor??null,direction:`forward`,phase:`initializing`});e&&(r.value=e.buckets,i.value=0,Z())}async function me(){if(!(h.value||N.value)){if(!X.value)return le.value?Ae(`trailing`):void 0;if(w.value===`static`&&Fe(`trailing`))return Ae(`trailing`);await Oe(z.value)}}async function he(){if(!(h.value||!oe.value||N.value)){if(w.value===`static`&&Fe(`leading`))return Ae(`leading`);await ke(U.value)}}async function ge(){if(fe.value){if(r.value=[],i.value=0,a.value=[],o.value=!1,s.value=null,c.value=C.value?`initializing`:`idle`,l.value=null,f.value=null,p.value=!1,g.clear(),_?.abort(),_=null,u.clear(!0),Ne()){Z();return}await pe()}}async function _e(){if(fe.value)return ge();h.value||c.value!==`failed`||!v||(s.value=null,await v())}async function ve(){if(!a.value.length)return p.value=!1,Z();r.value=[...r.value,...a.value],a.value=[],p.value=!1,Z()}function ye(e){let n=j.value;if(!n.length)return;let r=A(e,0,n.length-1);r!==i.value&&(i.value=r,t.emit(`update:activeIndex`,r))}function be(e){m.value=e}function xe(){h.value=!0,u.clear(!0)}function Se(){h.value=!1}function Ce(){y+=1,_?.abort(),_=null,u.clear(!0),g.clear(),s.value=null,l.value=null,f.value=null,a.value.length>0&&(r.value=[...r.value,...a.value],a.value=[]),p.value=!1,o.value=!1,Z()}function we(){return q(j.value,M.value)}function Te(e=null,t={}){if(j.value.length===0){i.value=0,!t.preserveTrailingPlaceholder&&r.value.length>0&&(o.value=!0);return}if(e){let t=j.value.findIndex(t=>P(t)===e);if(t>=0){i.value=t;return}}if(t.preserveTrailingPlaceholder&&i.value>=j.value.length){i.value=j.value.length;return}i.value=J(j.value,M.value,e)}function Ee(){a.value.length>0&&!ue.value.length&&ve()}async function De(){if(!(!m.value||Pe())){if(!j.value.length){X.value&&await me();return}oe.value&&i.value<3&&await he(),X.value&&i.value>=j.value.length-3&&await me()}}async function Oe(e){v=async()=>{await Oe(e)};let t=await je({continueUntilFilled:w.value===`dynamic`,cursor:e,direction:`forward`,phase:`loading`});if(t){if(t.canceled)return r.value=[...r.value,...t.buckets],a.value=[],p.value=!1,Z();if(a.value=t.buckets,!ue.value.length)return r.value=[...r.value,...a.value],a.value=[],p.value=!1,Z();p.value=!0}}async function ke(e){v=async()=>{await ke(e)};let t=await je({continueUntilFilled:w.value===`dynamic`,cursor:e,direction:`backward`,phase:`loading`});if(!t)return;let n=we();r.value=[...t.buckets,...r.value],Te(n),Z()}async function Ae(e){if(v=async()=>{await Ae(e)},!t.resolve)return;let n=e===`leading`?F.value:I.value;if(!n)return;let i=k(n.cursor);if(g.has(i))return;g.add(i),s.value=null,c.value=`refreshing`,l.value=null,f.value=null;let a=++y,o=typeof AbortController>`u`?null:new AbortController;_=o;try{let e=await t.resolve({cursor:n.cursor,pageSize:T.value,signal:o?.signal});if(a!==y)return Z();let i=Me({cursor:n.cursor,nextCursor:e.nextPage,nextItems:e.items,previousCursor:e.previousPage??null,previousItems:n.items}),s=we();r.value=H(r.value,n.cursor,i),Te(s),Z()}catch(e){if(ee(e)||a!==y){Z();return}s.value=e instanceof Error?e.message:`The viewer could not load items.`,c.value=`failed`,l.value=null,f.value=null}finally{_===o&&(_=null),g.delete(i)}}async function je(e){if(!t.resolve)return null;let n=++y,r=new Set,i=[],a=e.cursor,o=0;for(s.value=null,c.value=e.phase,l.value=null,f.value=null;;){if(n!==y)return G(i,e.direction,t.removedIds.value,!0);if(i.length>0&&h.value)return G(i,e.direction,t.removedIds.value,!1);let d=k(a);if(r.has(d)||g.has(d))break;r.add(d),g.add(d);let p=typeof AbortController>`u`?null:new AbortController;_=p;try{let r=await t.resolve({cursor:a,pageSize:T.value,signal:p?.signal});if(n!==y)return G(i,e.direction,t.removedIds.value,!0);let s=Me({cursor:a,nextCursor:r.nextPage,nextItems:r.items,previousCursor:r.previousPage??null,previousItems:[]});i.push(s);let d=i.reduce((e,n)=>e+B(n,t.removedIds.value),0),m=e.direction===`forward`?s.nextCursor:s.previousCursor;if(!e.continueUntilFilled||d>=T.value||!m)return{canceled:!1,buckets:e.direction===`backward`?[...i].reverse():i,visibleCount:d};if(h.value)return G(i,e.direction,t.removedIds.value,!1);c.value=`filling`,l.value=d,f.value=T.value,o+=1;let g=re(o,x.value,S.value);if(await u.wait(g),n!==y)return G(i,e.direction,t.removedIds.value,!0);a=m}catch(r){return ee(r)||n!==y?G(i,e.direction,t.removedIds.value,!0):(s.value=r instanceof Error?r.message:`The viewer could not load items.`,c.value=`failed`,l.value=null,f.value=null,null)}finally{_===p&&(_=null),g.delete(d)}}return G(i,e.direction,t.removedIds.value,!1)}function Me(e){let t=W({cursor:e.cursor,nextCursor:e.nextCursor,nextItems:e.nextItems,previousCursor:e.previousCursor,previousItems:e.previousItems,sequence:b});return b=t.nextSequence,t.bucket}function Z(){c.value=`idle`,l.value=null,f.value=null,u.clear()}function Ne(){if(!t.initialState||!t.initialState.items.length)return!1;let e=K({initialState:t.initialState,removedIds:t.removedIds.value,sequence:b});return r.value=e.buckets,i.value=e.activeIndex,b=e.nextSequence,o.value=!1,s.value=null,a.value=[],p.value=!1,!0}function Pe(){return c.value===`initializing`}function Fe(e){return Y(e===`leading`?F.value:I.value,t.removedIds.value,T.value)}function Ie(){let e=r.value.findIndex(e=>B(e,t.removedIds.value)>0);if(e<0)return;let n=e;for(let i=r.value.length-1;i>=e;--i)if(B(r.value[i],t.removedIds.value)>0){n=i;break}r.value=r.value.slice(e,n+1)}return{activeIndex:M,canRetryInitialLoad:fe,cancel:Ce,canRefreshTrailingBoundary:le,commitPendingAppend:ve,currentCursor:de,errorMessage:s,fillCollectedCount:l,fillDelayRemainingMs:d,fillTargetCount:f,hasNextPage:X,hasPreviousPage:oe,isAutoPrefetchEnabled:m,isPageLoadingLocked:h,items:j,lockPageLoading:xe,loading:N,mode:w,maybePrefetchAround:De,nextCursor:z,pendingAppendItems:ue,phase:c,prefetchNextPage:me,prefetchPreviousPage:he,previousCursor:U,retryInitialLoad:ge,retry:_e,setActiveIndex:ye,setAutoPrefetchEnabled:be,syncActiveIndexAfterVisibilityChange:Te,unlockPageLoading:Se,getActiveOccurrenceKey:we,maybeCommitPendingAppendWhenFilteredOut:Ee}}function se(e,t){return e.find(e=>B(e,t)>0)??e[0]??null}function ce(e,t){for(let n=e.length-1;n>=0;--n){let r=e[n];if(B(r,t)>0)return r}return e[e.length-1]??null}function le(t,n){let{clearRemoved:r,getRemovedIds:i,remove:a,removedIds:o,restore:s,undo:c}=j(),l=oe({emit:n,fillDelayMs:t.fillDelayMs,fillDelayStepMs:t.fillDelayStepMs,initialCursor:t.initialCursor,initialState:t.initialState,mode:t.mode,pageSize:t.pageSize,removedIds:o,resolve:t.resolve}),u=l.items,d=l.activeIndex,f=l.loading,p=l.hasNextPage,m=l.hasPreviousPage,h=(0,e.computed)(()=>o.value.size),g=(0,e.computed)(()=>t.paginationDetail??null),_=(0,e.computed)(()=>!l.hasNextPage.value&&l.canRefreshTrailingBoundary.value);function v(e){let t=u.value;t.length&&l.setActiveIndex(C(e,0,t.length-1))}function y(e){let t=l.getActiveOccurrenceKey(),n=u.value[d.value]??null,r=Array.isArray(e)?e:[e],i=!!(n&&r.includes(n.id)&&l.isAutoPrefetchEnabled.value&&d.value>=u.value.length-3),o=!!(n&&r.includes(n.id)&&l.hasNextPage.value&&d.value===u.value.length-1),s=a(e);return s.ids.length?(l.maybeCommitPendingAppendWhenFilteredOut(),l.syncActiveIndexAfterVisibilityChange(t,{preserveTrailingPlaceholder:o}),i&&l.maybePrefetchAround(),s):s}function b(e){let t=l.getActiveOccurrenceKey(),n=s(e);return n.ids.length&&l.syncActiveIndexAfterVisibilityChange(t),n}function x(){let e=l.getActiveOccurrenceKey(),t=c();return t?.ids.length&&l.syncActiveIndexAfterVisibilityChange(e),t}function S(){let e=l.getActiveOccurrenceKey();r(),l.syncActiveIndexAfterVisibilityChange(e)}function C(e,t,n){return Math.min(Math.max(e,t),n)}function w(){l.cancel()}async function T(){await l.prefetchNextPage()}async function E(){await l.prefetchPreviousPage()}async function D(){await l.retry()}return{activeIndex:d,canRefreshExhaustedNextPage:_,canRetryInitialLoad:l.canRetryInitialLoad,cancel:w,clearRemoved:S,commitPendingAppend:l.commitPendingAppend,currentCursor:l.currentCursor,errorMessage:l.errorMessage,fillCollectedCount:l.fillCollectedCount,fillDelayRemainingMs:l.fillDelayRemainingMs,fillTargetCount:l.fillTargetCount,getRemovedIds:i,hasNextPage:p,hasPreviousPage:m,isPageLoadingLocked:l.isPageLoadingLocked,items:u,lockPageLoading:l.lockPageLoading,loading:f,loadNext:T,loadPrevious:E,mode:l.mode,nextCursor:l.nextCursor,paginationDetail:g,pendingAppendItems:l.pendingAppendItems,phase:l.phase,prefetchNextPage:l.prefetchNextPage,prefetchPreviousPage:l.prefetchPreviousPage,previousCursor:l.previousCursor,removedCount:h,remove:y,restore:b,retry:D,retryInitialLoad:l.retryInitialLoad,setActiveIndex:v,setAutoPrefetchEnabled:l.setAutoPrefetchEnabled,undo:x,unlockPageLoading:l.unlockPageLoading}}var ue=1024;function de(t,n){let r=le(t,n),i=(0,e.reactive)({nextBoundaryLoadProgress:0,previousBoundaryLoadProgress:0}),a=(0,e.ref)(0),o=(0,e.ref)(`list`),s=(0,e.reactive)({activeIndex:0,currentCursor:null,errorMessage:null,fillCollectedCount:null,fillDelayRemainingMs:null,fillTargetCount:null,hasNextPage:!1,hasPreviousPage:!1,itemCount:0,loadState:`loaded`,mode:`dynamic`,nextBoundaryLoadProgress:0,nextCursor:null,pageLoadingLocked:!1,phase:`idle`,previousBoundaryLoadProgress:0,previousCursor:null,removedCount:0,removedIds:[],surfaceMode:`list`}),c=(0,e.computed)(()=>a.value>=ue),l=(0,e.computed)(()=>c.value?o.value:`fullscreen`),u=(0,e.computed)(()=>c.value&&l.value===`fullscreen`);(0,e.watch)(c,e=>{e&&h()}),(0,e.watch)(()=>t.surfaceMode,()=>{h()}),(0,e.watch)([l,()=>r.pendingAppendItems.value.length],([e,t])=>{e===`list`||t<=0||r.commitPendingAppend()}),(0,e.watch)([()=>r.items.value.length,()=>r.loading.value,()=>r.hasNextPage.value,()=>r.pendingAppendItems.value.length],([e,t,r,i])=>{!c.value||e>0||o.value===`list`||t||r||i>0||(o.value=`list`,n(`update:surfaceMode`,`list`))}),(0,e.watch)(l,e=>{r.setAutoPrefetchEnabled(e===`fullscreen`)},{immediate:!0}),(0,e.watchEffect)(()=>{s.activeIndex=r.activeIndex.value,s.currentCursor=r.currentCursor.value,s.errorMessage=r.errorMessage.value,s.fillCollectedCount=r.fillCollectedCount.value,s.fillDelayRemainingMs=r.fillDelayRemainingMs.value,s.fillTargetCount=r.fillTargetCount.value,s.hasNextPage=r.hasNextPage.value,s.hasPreviousPage=r.hasPreviousPage.value,s.itemCount=r.items.value.length,s.loadState=r.loading.value?`loading`:r.errorMessage.value?`failed`:`loaded`,s.mode=r.mode.value,s.nextBoundaryLoadProgress=i.nextBoundaryLoadProgress,s.nextCursor=r.nextCursor.value,s.pageLoadingLocked=r.isPageLoadingLocked.value,s.phase=r.phase.value,s.previousBoundaryLoadProgress=i.previousBoundaryLoadProgress,s.previousCursor=r.previousCursor.value,s.removedCount=r.removedCount.value,s.removedIds=r.getRemovedIds(),s.surfaceMode=l.value}),(0,e.onMounted)(()=>{m(),h(),window.addEventListener(`keydown`,p),window.addEventListener(`resize`,m)}),(0,e.onBeforeUnmount)(()=>{window.removeEventListener(`keydown`,p),window.removeEventListener(`resize`,m)});function d(e){r.setActiveIndex(e),c.value&&o.value!==`fullscreen`&&(o.value=`fullscreen`,n(`update:surfaceMode`,`fullscreen`))}function f(){!c.value||o.value===`list`||(o.value=`list`,n(`update:surfaceMode`,`list`))}function p(e){e.defaultPrevented||e.key!==`Escape`||!c.value||l.value!==`fullscreen`||T(e.target)||(e.preventDefault(),f())}function m(){a.value=window.innerWidth||0}function h(){!c.value||!t.surfaceMode||t.surfaceMode===o.value||(o.value=t.surfaceMode)}function g(e){i.nextBoundaryLoadProgress=fe(e.nextBoundaryLoadProgress),i.previousBoundaryLoadProgress=fe(e.previousBoundaryLoadProgress)}return{...r,cancel:r.cancel,isDesktop:c,lockPageLoading:r.lockPageLoading,loadNext:r.loadNext,loadPrevious:r.loadPrevious,openFullscreen:d,returnToList:f,retry:r.retry,setBoundaryLoadProgress:g,showBackToList:u,status:(0,e.readonly)(s),surfaceMode:l,unlockPageLoading:r.unlockPageLoading}}function fe(e){return Math.min(Math.max(e,0),1)}var pe={"data-testid":`vibe-media-bar`,class:`absolute inset-x-0 bottom-0 z-[5] bg-[linear-gradient(180deg,transparent,rgba(0,0,0,0.42)_24%,rgba(0,0,0,0.78))] px-[clamp(1rem,2.6vw,2.25rem)] pt-4 pb-[1.15rem]`},me={class:`grid grid-cols-[auto_minmax(0,1fr)_auto_auto] items-center gap-3 border-t border-white/12 bg-black/70 px-4 py-3 backdrop-blur-[18px]`},he={class:`text-[0.76rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/74`},ge={class:`relative h-4 w-full`},_e=[`max`,`value`,`disabled`],ve={class:`text-[0.76rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/74`},ye=[`data-layout`],be={key:0,"data-testid":`vibe-media-volume-popover`,class:`absolute bottom-[calc(100%+0.8rem)] right-0 grid justify-items-center gap-3 border border-white/12 bg-black/82 px-3 py-4 shadow-[0_20px_50px_-20px_rgba(0,0,0,0.85)] backdrop-blur-[18px]`},xe={class:`relative flex h-28 w-4 items-center justify-center`},Se=[`value`],Ce={class:`flex items-center gap-3`},we=[`aria-label`],Te={key:0,class:`relative h-4 w-24`},Ee=[`value`],De=(0,e.defineComponent)({__name:`FullscreenMediaBar`,props:{currentTime:{},currentTimeLabel:{},duration:{},durationLabel:{},muted:{type:Boolean},progress:{},volume:{},volumeControlLayout:{}},emits:[`seek-input`,`volume-input`,`volume-toggle`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.ref)(null),o=(0,e.ref)(!1),s=(0,e.computed)(()=>r.volumeControlLayout===`vertical`),c=(0,e.computed)(()=>g(r.volume,0,1)),l=(0,e.computed)(()=>Math.round(c.value*100)),u=(0,e.computed)(()=>r.muted||c.value<=0?x:c.value<.5?y:b),d=(0,e.computed)(()=>r.muted||c.value<=0?`Unmute active media`:`Mute active media`),f=(0,e.computed)(()=>s.value&&!o.value?`Show volume controls`:d.value),p=(0,e.computed)(()=>r.volumeControlLayout===`vertical`?{height:`${l.value}%`}:{width:`${l.value}%`});(0,e.watch)(s,e=>{e||(o.value=!1)}),(0,e.onMounted)(()=>{document.addEventListener(`pointerdown`,m)}),(0,e.onBeforeUnmount)(()=>{document.removeEventListener(`pointerdown`,m)});function m(e){!s.value||!o.value||a.value&&e.target instanceof Node&&!a.value.contains(e.target)&&(o.value=!1)}function h(){if(!s.value){i(`volume-toggle`);return}if(!o.value){o.value=!0;return}i(`volume-toggle`)}function g(e,t,n){return Math.min(Math.max(e,t),n)}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,pe,[(0,e.createElementVNode)(`div`,me,[(0,e.createElementVNode)(`span`,he,(0,e.toDisplayString)(r.currentTimeLabel),1),(0,e.createElementVNode)(`div`,ge,[n[3]||=(0,e.createElementVNode)(`div`,{class:`absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-white/12`},null,-1),(0,e.createElementVNode)(`div`,{class:`absolute left-0 top-1/2 h-px -translate-y-1/2 bg-[#f7f1ea]`,style:(0,e.normalizeStyle)({width:`${r.progress}%`})},null,4),(0,e.createElementVNode)(`input`,{"data-swipe-lock":`true`,type:`range`,"aria-label":`Seek active media`,min:`0`,step:`0.1`,max:r.duration||1,value:r.currentTime,disabled:r.duration<=0,class:`vibe-media-slider absolute inset-0 z-10 h-4 w-full cursor-pointer bg-transparent disabled:cursor-default disabled:opacity-50`,onInput:n[0]||=e=>i(`seek-input`,e)},null,40,_e)]),(0,e.createElementVNode)(`span`,ve,(0,e.toDisplayString)(r.durationLabel),1),(0,e.createElementVNode)(`div`,{ref_key:`rootRef`,ref:a,"data-testid":`vibe-media-volume`,"data-layout":r.volumeControlLayout,class:`relative flex items-center justify-end`},[s.value&&o.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,be,[(0,e.createElementVNode)(`div`,xe,[n[4]||=(0,e.createElementVNode)(`div`,{class:`absolute bottom-0 left-1/2 h-full w-px -translate-x-1/2 bg-white/12`},null,-1),(0,e.createElementVNode)(`div`,{class:`absolute bottom-0 left-1/2 w-px -translate-x-1/2 bg-[#f7f1ea]`,style:(0,e.normalizeStyle)(p.value)},null,4),(0,e.createElementVNode)(`input`,{"data-testid":`vibe-media-volume-slider`,"data-swipe-lock":`true`,type:`range`,"aria-label":`Adjust active media volume`,min:`0`,max:`1`,step:`0.05`,value:c.value,class:`vibe-media-slider absolute left-1/2 top-1/2 h-4 w-28 -translate-x-1/2 -translate-y-1/2 -rotate-90 bg-transparent`,onInput:n[1]||=e=>i(`volume-input`,e)},null,40,Se)])])):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`div`,Ce,[(0,e.createElementVNode)(`button`,{type:`button`,"data-testid":`vibe-media-volume-button`,"aria-label":f.value,class:`inline-flex h-10 w-10 items-center justify-center border border-white/14 bg-black/50 text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/65`,onClick:h},[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)(u.value),{class:`h-4 w-4 stroke-[1.9]`,"aria-hidden":`true`}))],8,we),r.volumeControlLayout===`horizontal`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Te,[n[5]||=(0,e.createElementVNode)(`div`,{class:`absolute inset-x-0 top-1/2 h-px -translate-y-1/2 bg-white/12`},null,-1),(0,e.createElementVNode)(`div`,{class:`absolute left-0 top-1/2 h-px -translate-y-1/2 bg-[#f7f1ea]`,style:(0,e.normalizeStyle)(p.value)},null,4),(0,e.createElementVNode)(`input`,{"data-testid":`vibe-media-volume-slider`,"data-swipe-lock":`true`,type:`range`,"aria-label":`Adjust active media volume`,min:`0`,max:`1`,step:`0.05`,value:c.value,class:`vibe-media-slider absolute inset-0 z-10 h-4 w-full cursor-pointer bg-transparent`,onInput:n[2]||=e=>i(`volume-input`,e)},null,40,Ee)])):(0,e.createCommentVNode)(``,!0)])],8,ye)])]))}}),Oe={class:`pointer-events-none absolute inset-0 z-[3] flex flex-col justify-between p-[clamp(1.25rem,2.6vw,2.25rem)]`},ke={class:`grid gap-4`},Ae={class:`flex min-h-11 items-center justify-between gap-4`},je={class:`min-w-0 flex flex-1 items-center gap-3`},Me={key:1,"data-testid":`vibe-title`,class:`m-0 truncate text-left text-[0.82rem] leading-none tracking-[-0.04em] min-[721px]:text-[1.2rem]`},Z={class:`pointer-events-auto flex shrink-0 items-center gap-2`},Ne={"data-testid":`vibe-pagination`,class:`inline-flex shrink-0 items-center gap-2 whitespace-nowrap border border-white/14 bg-black/40 px-3 py-2 text-[0.63rem] font-bold uppercase tracking-[0.12em] text-[#f7f1ea]/72 backdrop-blur-[18px] min-[721px]:gap-3 min-[721px]:px-4 min-[721px]:py-3 min-[721px]:text-[0.74rem] min-[721px]:tracking-[0.2em]`},Pe={class:`whitespace-nowrap`},Fe={key:1,class:`whitespace-nowrap border-l border-white/12 pl-2 text-[#f7f1ea]/56 min-[721px]:pl-3`},Ie={key:0,class:`grid gap-2 max-[720px]:justify-items-start`},Le=(0,e.defineComponent)({__name:`FullscreenHeader`,props:{currentIndex:{},loading:{type:Boolean},paginationDetail:{},showBackToList:{type:Boolean},showEndBadge:{type:Boolean},title:{},total:{}},emits:[`back-to-list`],setup(t,{emit:n}){let r=t,i=n;return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Oe,[(0,e.createElementVNode)(`div`,ke,[(0,e.createElementVNode)(`div`,Ae,[(0,e.createElementVNode)(`div`,je,[r.showBackToList?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,"data-testid":`vibe-back-to-list`,class:`pointer-events-auto inline-flex h-11 w-11 shrink-0 items-center justify-center border border-white/14 bg-black/40 text-[#f7f1ea]/78 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/55`,"aria-label":`Back to list`,onClick:n[0]||=e=>i(`back-to-list`)},[(0,e.createVNode)((0,e.unref)(u),{class:`h-4 w-4 stroke-[2.2]`,"aria-hidden":`true`})])):(0,e.createCommentVNode)(``,!0),r.title?((0,e.openBlock)(),(0,e.createElementBlock)(`h2`,Me,(0,e.toDisplayString)(r.title),1)):(0,e.createCommentVNode)(``,!0)]),(0,e.createElementVNode)(`div`,Z,[(0,e.createElementVNode)(`span`,Ne,[r.loading?((0,e.openBlock)(),(0,e.createBlock)((0,e.unref)(h),{key:0,"data-testid":`vibe-pagination-spinner`,class:`h-3.5 w-3.5 animate-spin stroke-[1.9]`,"aria-hidden":`true`})):(0,e.createCommentVNode)(``,!0),(0,e.createElementVNode)(`span`,Pe,(0,e.toDisplayString)(r.currentIndex+1)+` / `+(0,e.toDisplayString)(r.total),1),r.paginationDetail?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Fe,(0,e.toDisplayString)(r.paginationDetail),1)):(0,e.createCommentVNode)(``,!0)]),(0,e.renderSlot)(t.$slots,`actions`)])])]),r.showEndBadge?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ie,[...n[1]||=[(0,e.createElementVNode)(`span`,{class:`inline-flex items-center border border-amber-300/35 bg-black/40 px-4 py-3 text-[0.74rem] font-bold uppercase tracking-[0.2em] text-amber-200 backdrop-blur-[18px]`},` End reached `,-1)]])):(0,e.createCommentVNode)(``,!0)]))}}),Re={image:m,video:f,audio:d,other:p},ze={image:`Image`,video:`Video`,audio:`Audio`,other:`File`};function Be(e){return Re[e]}function Ve(e){return ze[e]}var He=1,Ue=2;function We(e){function t(e,t){let n=t.title?.trim();return n?`${e} ${n}`:`${e} ${Ve(t.type).toLowerCase()}`}function n(e){return P(e)}function r(t){let n=e.resolvedActiveIndex.value;return!!e.active.value&&t>=n-He&&t<=n+Ue}function i(t,i){let a=n(i);return!r(t)||t!==e.resolvedActiveIndex.value||e.viewer.getAssetErrorKind(a)?!1:i.type===`image`?!e.viewer.isImageReady(a):i.type===`video`||i.type===`audio`?!e.viewer.isMediaReady(a):!1}function a(t){return e.viewer.getAssetErrorKind(n(t))}function o(t){return e.viewer.getAssetErrorLabel(n(t))??`Load error`}function s(t,n){return r(t)&&t===e.resolvedActiveIndex.value&&!!a(n)}function c(t,n){return r(t)?e.viewer.getImageSource(n):void 0}function l(e,t){return r(e)?t.url:void 0}return{getAssetErrorKind:a,getAssetErrorLabel:o,getFullscreenImageSource:c,getFullscreenMediaSource:l,getItemKey:n,getMediaActionLabel:t,isAssetErrored:s,isAssetLoading:i,shouldPreloadSlideAsset:r}}function Ge(t){if(!Array.isArray(t))return!1;for(let n of t){if(Array.isArray(n)){if(Ge(n))return!0;continue}if(!(0,e.isVNode)(n)){if(typeof n==`string`){if(n.trim().length>0)return!0;continue}if(n!=null&&n!==!1)return!0;continue}if(!Ke(n))return!0}return!1}function Ke(t){return t.type===e.Comment?!0:t.type===e.Text?typeof t.children==`string`?t.children.trim().length===0:!0:t.type===e.Fragment?!Ge(t.children):!1}var qe=`no items available`;function Je(t){let n=(0,e.computed)(()=>t.loading.value||t.itemCount.value>0||t.emptyStateMode.value===`hidden`?null:{loading:!!t.loading.value,message:qe,mode:t.emptyStateMode.value===`badge`?`badge`:`inline`,surface:t.surface,total:t.itemCount.value}),r=(0,e.computed)(()=>!n.value||!t.renderSlot?[]:t.renderSlot(n.value));return{emptyStateProps:n,showBadgeEmptyState:(0,e.computed)(()=>n.value?.mode===`badge`),showCustomEmptyState:(0,e.computed)(()=>Ge(r.value)),showInlineEmptyState:(0,e.computed)(()=>n.value?.mode===`inline`)}}function Ye(e){if(!Number.isFinite(e)||e<=0)return`0:00`;let t=Math.floor(e),n=Math.floor(t/3600),r=Math.floor(t%3600/60),i=t%60;return n>0?`${n}:${String(r).padStart(2,`0`)}:${String(i).padStart(2,`0`)}`:`${r}:${String(i).padStart(2,`0`)}`}function Xe(e){return e.phase?e.phase:e.loading?e.itemCount>0?`loading`:`initializing`:`idle`}function Ze(e){return e.phase===`failed`?{kind:`failed`,message:e.errorMessage??(e.hasItems?`The viewer could not load more items.`:`The viewer could not load items.`)}:e.phase===`initializing`?{kind:`initializing`,message:`Loading the first page`}:e.phase===`loading`?{kind:`loading-more`,message:e.hasItems?`Loading more items`:`Loading the first page`}:e.phase===`filling`?{kind:`filling`,message:`Filling the view`}:e.phase===`refreshing`?{kind:`refreshing`,message:!e.hasNextPage&&e.hasItems?e.surface===`grid`?`Refreshing the end of the list`:`Refreshing the end of the feed`:`Refreshing visible items`}:!e.hasItems||e.hasNextPage?null:{kind:`end`,message:e.surface===`grid`?`End of list`:`End of feed`}}function Qe(t){let n=!1;(0,e.watch)(t.enabled,async e=>{if(r(e),e){t.onResize(),await t.onEnable();return}t.onDisable()},{immediate:!0}),(0,e.onMounted)(()=>{t.onResize(),t.enabled.value&&t.onEnable()}),(0,e.onBeforeUnmount)(()=>{r(!1),t.onDisable()});function r(e){if(e&&!n){window.addEventListener(`resize`,t.onResize),window.addEventListener(`keydown`,t.onKeydown),n=!0;return}!e&&n&&(window.removeEventListener(`resize`,t.onResize),window.removeEventListener(`keydown`,t.onKeydown),n=!1)}}var $e={currentTime:0,duration:0,errorKind:null,muted:!1,paused:!0,ready:!1,volume:1};function et(){return{...$e}}function tt(e){return e.complete&&!!(e.currentSrc||e.getAttribute(`src`))}function nt(e,t,n){e.currentTime=Number.isFinite(t.currentTime)?t.currentTime:0,e.duration=Number.isFinite(t.duration)?t.duration:0,e.muted=t.muted,e.paused=t.paused,e.volume=Number.isFinite(t.volume)?t.volume:e.volume,n&&n!==`error`&&(e.errorKind=null),e.ready=rt(t,n)}function rt(e,t){return t===`error`||t===`loadstart`||t===`waiting`||t===`stalled`?!1:t===`canplay`||t===`canplaythrough`||t===`playing`?!0:e.readyState>=HTMLMediaElement.HAVE_CURRENT_DATA}var it=new Map;function at(e){return e===`not-found`?`404`:`Load error`}function ot(e){return e===`generic`}function st(e){return ct(e).then(e=>e??`generic`)}function ct(e){let t=it.get(e);if(t)return t;let n=lt(e);return it.set(e,n),n}async function lt(e){if(!ut(e))return null;try{let t=await fetch(e,{method:`HEAD`});return t.ok?null:t.status===404?`not-found`:`generic`}catch{return`generic`}}function ut(e){return/^(https?:\/\/|\/)/i.test(e)}function dt(e){try{let t=e.play();t&&typeof t.catch==`function`&&t.catch(()=>{})}catch{}}function ft(t){let n=(0,e.ref)({}),r=(0,e.ref)({}),i=(0,e.ref)({}),a=(0,e.ref)({}),o=(0,e.ref)({}),s=new Map,c=new Map,l=new Set,u=(0,e.computed)(()=>t.activeItem.value?P(t.activeItem.value):null),d=(0,e.computed)(()=>t.activeMediaItem.value?P(t.activeMediaItem.value):null),f=(0,e.computed)(()=>{let e=new Map;for(let n of t.items.value)e.set(P(n),n);return e}),p=(0,e.computed)(()=>d.value?i.value[d.value]??$e:$e),m=(0,e.computed)(()=>d.value?p.value.duration:0),h=(0,e.computed)(()=>m.value<=0?0:pt(p.value.currentTime/m.value*100,0,100)),g=(0,e.computed)(()=>u.value?F(u.value):null);(0,e.watch)(()=>u.value,async()=>{await x()}),(0,e.watch)(()=>t.itemCount.value,async()=>{await x()}),(0,e.watch)(()=>t.loopFullscreenVideo.value,async()=>{await x()});function _(e,t){if(t instanceof HTMLVideoElement){s.set(e,t),U(e,t);return}s.delete(e)}function v(e,t){if(t instanceof HTMLAudioElement){c.set(e,t),U(e,t);return}c.delete(e)}function y(e,t){t instanceof HTMLImageElement&&tt(t)&&(n.value[e]=!0,r.value[e]=null,J(e,t.currentSrc||t.src||te(e)))}function b(){V(),a.value={},r.value={},n.value={},o.value={},i.value={},l.clear()}async function x(){if(!t.isEnabled.value){V();return}await(0,e.nextTick)();let n=u.value;for(let[e,r]of s.entries()){if(e!==n||i.value[e]?.errorKind){B(r,e);continue}r.muted=!1,r.loop=t.loopFullscreenVideo.value,r.playsInline=!0,dt(r),U(e,r)}for(let[e,t]of c.entries()){if(e!==n||i.value[e]?.errorKind){B(t,e);continue}dt(t),U(e,t)}}function S(e,t){let n=t.currentTarget instanceof HTMLMediaElement?t.currentTarget:t.target instanceof HTMLMediaElement?t.target:null;if(n){let r=i.value[e]?.ready??!1;U(e,n,t.type);let a=i.value[e]?.ready??!1;!r&&a&&J(e,n.currentSrc||n.src||te(e))}}function C(e,t){n.value[e]=!0,r.value[e]=null,J(e,t)}async function w(e,i){let a=Y(e)??t.activeItem.value;n.value[e]=!1,r.value[e]=`generic`;let o=await st(i);r.value[e]=o,a&&t.onAssetError?.({item:a,occurrenceKey:e,url:i,kind:o,surface:`fullscreen`})}async function T(e,n){let r=G(e),i=H(e),a=Y(e)??t.activeMediaItem.value??t.activeItem.value;if(r){r.pause();try{r.currentTime=0}catch{}}i.currentTime=0,i.duration=0,i.paused=!0,i.ready=!1,i.errorKind=`generic`;let o=await st(n);i.errorKind=o,a&&t.onAssetError?.({item:a,occurrenceKey:e,url:n,kind:o,surface:`fullscreen`})}function E(e,t,n){e.button!==0||Date.now()<n||q(s.get(t)??null)}function D(e,t,n){e.button!==0||Date.now()<n||q(G(t))}function O(e){let t=K(),n=d.value;if(!t||!n||!(e.target instanceof HTMLInputElement))return;let r=Number.parseFloat(e.target.value);if(!Number.isFinite(r))return;let i=pt(r,0,m.value||0);ee(n,i,t),t.currentTime=i}function k(e){let t=K(),n=d.value;if(!t||!n||!(e.target instanceof HTMLInputElement))return;let r=pt(Number.parseFloat(e.target.value),0,1);t.volume=r,t.muted=r<=0,r>0&&(o.value[n]=r),U(n,t)}function A(){let e=K(),t=d.value;!e||!t||(e.muted||e.volume<=0?(e.volume=W(t),e.muted=!1,o.value[t]=e.volume):(o.value[t]=e.volume,e.muted=!0),U(t,e))}function j(e){return!!n.value[e]&&!r.value[e]}function M(e){return(i.value[e]?.ready??!1)&&!i.value[e]?.errorKind}function N(e){return e.url}function F(e){return r.value[e]??i.value[e]?.errorKind??null}function I(e){let t=F(e);return t?at(t):null}function L(e){return ot(F(e))}function R(e){return`${e}:${a.value[e]??0}`}async function z(t){if(!L(t))return;n.value[t]=!1,r.value[t]=null;let i=H(t);i.currentTime=0,i.duration=0,i.paused=!0,i.ready=!1,i.errorKind=null;let o=G(t);o&&B(o,t),l.forEach(e=>{e.startsWith(`${t}|`)&&l.delete(e)}),a.value[t]=(a.value[t]??0)+1,await(0,e.nextTick)(),await x()}function B(e,t){e.pause();try{e.currentTime=0}catch{}U(t,e)}function V(){for(let[e,t]of s.entries())B(t,e);for(let[e,t]of c.entries())B(t,e)}function H(e){return i.value[e]||(i.value[e]=et()),i.value[e]}function U(e,t,n){nt(H(e),t,n),!t.muted&&t.volume>0&&(o.value[e]=t.volume)}function ee(e,t,n){let r=H(e);r.currentTime=t,r.duration=Number.isFinite(n.duration)?n.duration:r.duration,r.muted=n.muted,r.paused=n.paused,r.volume=Number.isFinite(n.volume)?n.volume:r.volume}function W(e){return pt(o.value[e]??1,0,1)}function G(e){return s.get(e)??c.get(e)??null}function K(){return d.value?G(d.value):null}function q(e){if(e){if(e.paused){dt(e);return}e.pause()}}function J(e,n){let r=Y(e)??t.activeMediaItem.value??t.activeItem.value;if(!r||!n)return;let i=`${e}|${n}`;l.has(i)||(l.add(i),t.onAssetLoad?.({item:r,occurrenceKey:e,surface:`fullscreen`,url:n}))}function Y(e){return f.value.get(e)??null}function te(e){return Y(e)?.url??null}return{activeAssetErrorKind:g,activeMediaDuration:m,activeMediaProgress:h,activeMediaState:p,getAssetErrorKind:F,getAssetErrorLabel:I,getAssetRenderKey:R,getImageSource:N,isImageReady:j,isMediaReady:M,canRetryAsset:L,mediaStates:i,onAudioCoverClick:D,onImageError:w,onImageLoad:C,onMediaError:T,onMediaEvent:S,onMediaSeekInput:O,onMediaVolumeInput:k,onMediaVolumeToggle:A,onVideoClick:E,registerAudioElement:v,registerImageElement:y,registerVideoElement:_,resetMediaState:b,retryAsset:z,syncMediaPlayback:x}}function pt(e,t,n){return Math.min(Math.max(e,t),n)}function mt(e,t,n=2){return t<=0?{start:0,end:-1}:{start:Math.max(0,e-n),end:Math.min(t-1,e+n)}}function ht(e,t,n=2){let r=mt(t,e.length,n);return r.end<r.start?[]:e.slice(r.start,r.end+1).map((e,t)=>({item:e,index:r.start+t}))}function gt(e,t,n,r,i){return{transform:`translate3d(0, ${(e-t)*n+r}px, 0)`,transition:i?`none`:`transform 320ms cubic-bezier(0.22, 1, 0.36, 1)`}}function _t(t,n,r={}){let i=(0,e.computed)(()=>t.items),a=(0,e.computed)(()=>t.activeIndex??0),o=(0,e.computed)(()=>t.errorMessage??null),s=(0,e.computed)(()=>t.loading??!1),c=(0,e.computed)(()=>t.hasNextPage??!1),l=(0,e.computed)(()=>t.loopFullscreenVideo??!0),u=(0,e.computed)(()=>t.paginationDetail??null),d=(0,e.computed)(()=>Xe({itemCount:i.value.length,loading:s.value,phase:t.phase})),f=(0,e.computed)(()=>!1),p=(0,e.ref)(null),m=(0,e.ref)(0),h=(0,e.ref)(!1),g=(0,e.ref)(1),_=r.enabled??(0,e.computed)(()=>!0),v=null,y=0,b=0,x=0,S=(0,e.computed)(()=>i.value.length===0?0:F(a.value,0,i.value.length-1)),C=(0,e.computed)(()=>i.value[S.value]??null),w=(0,e.computed)(()=>C.value?.type===`audio`||C.value?.type===`video`?C.value:null),D=ft({items:i,activeItem:C,activeMediaItem:w,isEnabled:_,itemCount:(0,e.computed)(()=>i.value.length),loopFullscreenVideo:l,onAssetError:r.onAssetError,onAssetLoad:r.onAssetLoad}),O=(0,e.computed)(()=>i.value.length>0&&S.value===i.value.length-1),k=(0,e.computed)(()=>Ze({errorMessage:o.value,hasItems:i.value.length>0,hasNextPage:c.value,phase:d.value,surface:`fullscreen`})),A=(0,e.computed)(()=>k.value?.kind??null),j=(0,e.computed)(()=>k.value?.message??null),M=(0,e.computed)(()=>Math.min(96,g.value*.15||96)),N=(0,e.computed)(()=>mt(S.value,i.value.length)),P=(0,e.computed)(()=>ht(i.value,S.value));Qe({enabled:_,onDisable(){W(),D.resetMediaState()},onEnable(){return D.syncMediaPlayback()},onKeydown:K,onResize:I});function F(e,t,n){return Math.min(Math.max(e,t),n)}function I(){g.value=p.value?.clientHeight||window.innerHeight||1}function L(e){return i.value.length===0?!1:F(S.value+e,0,i.value.length-1)!==S.value}function R(e){if(i.value.length===0)return;let t=F(S.value+e,0,i.value.length-1);t!==S.value&&n(`update:activeIndex`,t)}function z(e){let t=e>0,n=e<0;return t&&!L(-1)||n&&!L(1)?e*.24:e}function B(e){!_.value||i.value.length===0||e.pointerType===`mouse`||E(e.target)||(v=e.pointerId,y=e.clientY,m.value=0,h.value=!0,p.value?.setPointerCapture?.(e.pointerId))}function V(e){!_.value||!h.value||v!==e.pointerId||(m.value=z(e.clientY-y))}function H(e){!_.value||v!==e.pointerId||(p.value?.releasePointerCapture?.(e.pointerId),ee())}function U(e){!_.value||v!==e.pointerId||(p.value?.releasePointerCapture?.(e.pointerId),W())}function ee(){Math.abs(m.value)>=M.value&&(x=Date.now()+250,R(m.value<0?1:-1)),W()}function W(){m.value=0,h.value=!1,v=null}function G(e){if(!_.value||i.value.length===0||h.value||E(e.target)||Math.abs(e.deltaY)<Math.max(Math.abs(e.deltaX),24))return;e.preventDefault();let t=Date.now();t<b||(b=t+400,R(e.deltaY>0?1:-1))}function K(e){!_.value||i.value.length===0||T(e.target)||((e.key===`ArrowDown`||e.key===`PageDown`)&&(e.preventDefault(),R(1)),(e.key===`ArrowUp`||e.key===`PageUp`)&&(e.preventDefault(),R(-1)))}function q(e,t){D.onVideoClick(e,t,x)}function J(e,t){D.onAudioCoverClick(e,t,x)}function Y(e){D.onMediaSeekInput(e)}function te(e){D.onMediaVolumeInput(e)}function ne(){D.onMediaVolumeToggle()}function X(e){return e.type===`image`||e.type===`video`}function re(e){return e.type===`audio`}function ie(e){return gt(e,S.value,g.value,m.value,h.value)}return{activeItem:C,activeAssetErrorKind:D.activeAssetErrorKind,activeMediaDuration:D.activeMediaDuration,activeMediaItem:w,activeMediaProgress:D.activeMediaProgress,activeMediaState:D.activeMediaState,canRetryAsset:D.canRetryAsset,canRetryInitialLoad:f,errorMessage:o,getAssetErrorKind:D.getAssetErrorKind,getAssetErrorLabel:D.getAssetErrorLabel,getAssetRenderKey:D.getAssetRenderKey,formatPlaybackTime:Ye,getImageSource:D.getImageSource,getSlideStyle:ie,hasNextPage:c,isAtEnd:O,isAudio:re,isVisual:X,items:i,loading:s,mediaStates:D.mediaStates,isImageReady:D.isImageReady,isMediaReady:D.isMediaReady,onAudioCoverClick:J,onImageError:D.onImageError,onImageLoad:D.onImageLoad,onMediaEvent:D.onMediaEvent,onMediaError:D.onMediaError,onMediaSeekInput:Y,onMediaVolumeInput:te,onMediaVolumeToggle:ne,onPointerCancel:U,onPointerDown:B,onPointerMove:V,onPointerUp:H,onVideoClick:q,onWheel:G,registerAudioElement:D.registerAudioElement,registerImageElement:D.registerImageElement,registerVideoElement:D.registerVideoElement,renderedItems:P,renderedRange:N,resolvedActiveIndex:S,retryInitialLoad:async()=>{},retryAsset:D.retryAsset,stageRef:p,statusKind:A,statusMessage:j,paginationDetail:u,phase:d}}var vt=`bg-[linear-gradient(180deg,#0a0b10,#05060a)]`,yt=`bg-[linear-gradient(180deg,#0b0c11,#06070b)]`,bt={image:!0,video:!0,audio:!0,other:!0};function xt(e){return bt[e],vt}function St(e){return bt[e],yt}function Ct(e){if(e.naturalWidth<=0||e.naturalHeight<=0)return null;let t=document.createElement(`canvas`),n=t.getContext(`2d`,{willReadFrequently:!0});if(!n)return null;t.width=24,t.height=24;try{n.drawImage(e,0,0,24,24);let{data:t}=n.getImageData(0,0,24,24),r=0,i=0,a=0,o=0;for(let e=0;e<t.length;e+=4){let n=t[e+3]/255;if(n<=.05)continue;let s=t[e],c=t[e+1],l=t[e+2],u=Math.max(s,c,l),d=n*(.65+(u===0?0:(u-Math.min(s,c,l))/u)*.7);r+=d,i+=s*d,a+=c*d,o+=l*d}return r<=0?null:{r:wt(Math.round(i/r)),g:wt(Math.round(a/r)),b:wt(Math.round(o/r))}}catch{return null}}function wt(e){return Math.min(235,Math.max(26,e))}function Tt(t){let n=(0,e.ref)({}),r=(0,e.computed)(()=>t.activeItem.value?t.getItemKey(t.activeItem.value):null),i=(0,e.computed)(()=>!t.showDominantImageTone.value||t.activeItem.value?.type!==`image`||!r.value||!t.isImageReady(r.value)?null:n.value[r.value]??null),a=(0,e.computed)(()=>{if(!i.value)return;let{r:e,g:t,b:n}=i.value;return{background:`radial-gradient(circle at top center, rgba(${e},${t},${n},0.34) 0%, transparent 44%), linear-gradient(180deg,#0a0b10,#05060a)`}}),o=(0,e.computed)(()=>{if(!i.value)return;let{r:e,g:t,b:n}=i.value;return{background:`radial-gradient(circle at center, rgba(${e},${t},${n},0.42) 0%, transparent 44%), linear-gradient(180deg,#0b0c11,#06070b)`}});(0,e.watch)(()=>t.showDominantImageTone.value,e=>{e||(n.value={})});function s(e,r){if(!t.showDominantImageTone.value)return;let i=Ct(r);i&&(n.value[e]=i)}return{activeStageToneStyle:a,activeSlideToneStyle:o,updateFromImageElement:s}}var Et=[`data-surface`],Dt=[`data-surface`],Ot=(0,e.defineComponent)({inheritAttrs:!1,__name:`SurfaceEmptyState`,props:{message:{},mode:{},surface:{}},setup(t){let n=(0,e.useAttrs)();return(r,i)=>t.mode===`inline`?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,(0,e.mergeProps)({key:0},(0,e.unref)(n),{"data-testid":`vibe-empty-state-inline`,"data-surface":t.surface,class:[`pointer-events-none absolute z-[4] text-center`,t.surface===`grid`?`inset-x-0 top-[clamp(6rem,22vh,11rem)] flex justify-center px-6`:`inset-0 grid place-items-center px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)]`]}),[(0,e.renderSlot)(r.$slots,`default`,{},()=>[(0,e.createElementVNode)(`p`,{class:(0,e.normalizeClass)([`m-0 text-[0.82rem] font-medium tracking-[0.08em]`,t.surface===`grid`?`text-[#f7f1ea]/58`:`text-[#f7f1ea]/64`])},(0,e.toDisplayString)(t.message),3)])],16,Et)):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,(0,e.mergeProps)({key:1},(0,e.unref)(n),{class:[`pointer-events-none absolute z-[4]`,t.surface===`grid`?`inset-x-0 bottom-0 flex justify-center px-6`:`bottom-[1.8rem] left-1/2 -translate-x-1/2 max-[720px]:bottom-[1.3rem]`]}),[(0,e.renderSlot)(r.$slots,`default`,{},()=>[(0,e.createElementVNode)(`span`,{"data-testid":`vibe-empty-state-badge`,"data-surface":t.surface,class:(0,e.normalizeClass)([`inline-flex items-center border border-white/14 backdrop-blur-[18px]`,t.surface===`grid`?`bg-black/55 px-4 py-3 text-[0.82rem] font-medium tracking-[0.08em] text-[#f7f1ea]/72`:`w-auto bg-black/40 px-5 py-3 text-[0.82rem] font-medium tracking-[0.08em] text-[#f7f1ea]/74 max-[720px]:w-[calc(100%-2.5rem)] max-[720px]:justify-center`])},(0,e.toDisplayString)(t.message),11,Dt)])],16))}}),kt={class:`relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f7f1ea]`},At={key:0,class:`relative h-full min-h-0`},jt=[`data-item-id`,`data-occurrence-key`,`data-index`,`data-active`,`aria-hidden`],Mt={key:0,"data-testid":`vibe-asset-spinner`,class:`pointer-events-none absolute inset-0 z-[2] grid place-items-center`},Nt={class:`inline-flex h-12 w-12 items-center justify-center rounded-full bg-black/45 shadow-[0_18px_40px_-18px_rgba(0,0,0,0.85)] backdrop-blur-[18px]`},Pt=[`data-kind`],Ft={class:`grid justify-items-center gap-4 border border-white/14 bg-black/45 px-8 py-7 text-center backdrop-blur-[18px]`},It={class:`m-0 text-[0.82rem] font-bold uppercase tracking-[0.28em] text-[#f7f1ea]/70`},Lt=[`onClick`],Rt=[`src`,`alt`,`onLoad`,`onError`],zt=[`loop`,`src`,`preload`,`onClick`,`onCanplay`,`onDurationchange`,`onEnded`,`onError`,`onLoadstart`,`onLoadedmetadata`,`onPause`,`onPlay`,`onPlaying`,`onSeeking`,`onSeeked`,`onStalled`,`onTimeupdate`,`onWaiting`],Bt={class:`relative grid aspect-square w-[clamp(320px,46vw,560px)] max-w-[calc(100vw-2.5rem)] place-items-center`},Vt=[`aria-label`,`disabled`,`onClick`],Ht={class:`relative z-[1] inline-flex min-h-[4.25rem] min-w-[4.25rem] items-center justify-center border border-white/18 bg-emerald-500/12 p-4 backdrop-blur-[20px]`},Ut={class:`pointer-events-none absolute bottom-4 right-4 inline-flex h-10 w-10 items-center justify-center border border-white/14 bg-black/50 backdrop-blur-[18px]`},Wt={key:0,"data-testid":`vibe-asset-spinner`,class:`pointer-events-none absolute inset-0 z-[3] grid place-items-center`},Gt={class:`inline-flex h-12 w-12 items-center justify-center rounded-full bg-black/45 shadow-[0_18px_40px_-18px_rgba(0,0,0,0.85)] backdrop-blur-[18px]`},Kt=[`data-kind`],qt={class:`m-0 text-[0.82rem] font-bold uppercase tracking-[0.28em] text-[#f7f1ea]/70`},Jt=[`onClick`],Yt=[`src`,`preload`,`onCanplay`,`onDurationchange`,`onError`,`onLoadstart`,`onLoadedmetadata`,`onPause`,`onPlay`,`onPlaying`,`onSeeking`,`onSeeked`,`onStalled`,`onTimeupdate`,`onWaiting`],Xt={key:2,class:`relative z-[1] grid w-full max-w-[1100px] justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center`},Zt={class:`inline-flex min-h-[4.25rem] min-w-[4.25rem] items-center justify-center border border-white/18 bg-white/8 p-4 backdrop-blur-[20px]`},Qt={key:0,"data-testid":`vibe-fullscreen-overlay`,class:`pointer-events-none absolute inset-0 z-[6]`},$t={class:`h-full w-full`},en={key:1,"data-testid":`vibe-forward-fill-placeholder`,class:`grid h-full min-h-0 place-items-center px-6 text-center`},tn={class:`grid justify-items-center gap-4 border border-white/14 bg-black/40 px-8 py-7 backdrop-blur-[18px]`},nn={class:`inline-flex h-12 w-12 items-center justify-center rounded-full bg-black/45 shadow-[0_18px_40px_-18px_rgba(0,0,0,0.85)]`},rn={class:`m-0 text-[0.78rem] font-bold uppercase tracking-[0.24em] text-[#f7f1ea]/72`},an={key:0,"data-testid":`vibe-fullscreen-aside`,class:`h-full min-h-0 overflow-hidden border-l border-white/10 bg-black/45 backdrop-blur-[18px]`},on={class:`h-full min-h-0 overflow-y-auto overscroll-y-contain`},sn={key:0,"data-testid":`vibe-fullscreen-aside`,class:`absolute inset-y-0 right-0 z-[6] w-full max-w-[22rem] overflow-hidden border-l border-white/10 bg-black/82 backdrop-blur-[18px]`},cn={class:`h-full min-h-0 overflow-y-auto overscroll-y-contain`},ln=1280,un=768,dn=(0,e.defineComponent)({__name:`FullscreenSurface`,props:{active:{type:Boolean,default:!0},activeIndex:{default:0},emptyStateMode:{default:`inline`},errorMessage:{default:null},hasNextPage:{type:Boolean,default:!1},items:{},loading:{type:Boolean,default:!1},loopFullscreenVideo:{type:Boolean,default:!0},paginationDetail:{default:null},phase:{default:null},reportAssetError:{type:[Function,null],default:null},reportAssetLoad:{type:[Function,null],default:null},showDominantImageTone:{type:Boolean,default:!0},showBackToList:{type:Boolean,default:!1},showEndBadge:{type:Boolean,default:!0},showStatusBadges:{type:Boolean,default:!0}},emits:[`back-to-list`,`update:activeIndex`],setup(t,{emit:n}){let r=t,i=(0,e.useSlots)(),a=n,o=_t(r,(e,t)=>{a(`update:activeIndex`,t)},{enabled:(0,e.toRef)(r,`active`),onAssetError:r.reportAssetError??void 0,onAssetLoad:r.reportAssetLoad??void 0}),s=(0,e.ref)(typeof window>`u`?ln:window.innerWidth||ln),c=We({active:(0,e.toRef)(r,`active`),resolvedActiveIndex:o.resolvedActiveIndex,viewer:o}),l=(0,e.computed)(()=>xt(o.activeItem.value?.type??`image`)),{activeSlideToneStyle:u,activeStageToneStyle:d,updateFromImageElement:f}=Tt({activeItem:o.activeItem,getItemKey:c.getItemKey,isImageReady:o.isImageReady,showDominantImageTone:(0,e.toRef)(r,`showDominantImageTone`)}),p=(0,e.computed)(()=>o.activeMediaItem.value&&!o.activeAssetErrorKind.value?`bottom-[5.8rem] max-[720px]:bottom-[7.4rem]`:`bottom-[1.8rem] max-[720px]:bottom-[1.3rem]`),m=(0,e.computed)(()=>!!o.activeMediaItem.value&&!o.activeAssetErrorKind.value),y=(0,e.computed)(()=>s.value<un?`vertical`:`horizontal`),b=(0,e.computed)(()=>m.value?`pb-[5.75rem] max-[720px]:pb-[7rem]`:``),x=(0,e.computed)(()=>r.activeIndex>=r.items.length&&(r.loading||r.hasNextPage)),S=(0,e.computed)(()=>r.hasNextPage?`Loading more items`:o.statusMessage.value??`Loading more items`),C=(0,e.computed)(()=>{let e=o.activeItem.value;return e?{hasNextPage:r.hasNextPage,index:o.resolvedActiveIndex.value,item:e,loading:r.loading,paginationDetail:r.paginationDetail,total:r.items.length}:null}),w=(0,e.computed)(()=>!C.value||!i[`fullscreen-header-actions`]?[]:i[`fullscreen-header-actions`](C.value)),T=(0,e.computed)(()=>!C.value||!i[`fullscreen-aside`]?[]:i[`fullscreen-aside`](C.value)),E=(0,e.computed)(()=>!r.showStatusBadges||!C.value||!o.statusKind.value||!o.statusMessage.value?null:{...C.value,kind:o.statusKind.value,message:o.statusMessage.value}),D=(0,e.computed)(()=>!E.value||!i[`fullscreen-status`]?[]:i[`fullscreen-status`](E.value)),O=(0,e.computed)(()=>({gridTemplateColumns:j.value?`minmax(0, 1fr) 22rem`:`minmax(0, 1fr) 0rem`,transition:`grid-template-columns 320ms cubic-bezier(0.22, 1, 0.36, 1)`})),k=(0,e.computed)(()=>Ge(w.value)),A=(0,e.computed)(()=>Ge(T.value)),j=(0,e.computed)(()=>A.value&&s.value>=ln),M=(0,e.computed)(()=>A.value&&!j.value),N=(0,e.computed)(()=>Ge(D.value)),{emptyStateProps:P,showBadgeEmptyState:F,showCustomEmptyState:I,showInlineEmptyState:L}=Je({emptyStateMode:(0,e.toRef)(r,`emptyStateMode`),itemCount:(0,e.computed)(()=>r.items.length),loading:(0,e.toRef)(r,`loading`),renderSlot:i[`empty-state`],surface:`fullscreen`});(0,e.onMounted)(()=>{window.addEventListener(`resize`,R)}),(0,e.onBeforeUnmount)(()=>{window.removeEventListener(`resize`,R)});function R(){s.value=window.innerWidth||ln}function z(e,t,n){o.onImageLoad(t,n);let r=e.currentTarget;r instanceof HTMLImageElement&&V(t,r)}function B(e,t){o.registerImageElement(e,t),t instanceof HTMLImageElement&&V(e,t)}function V(e,t){f(e,t)}function H(e,t){if(o.onMediaEvent(t,e),!r.loopFullscreenVideo)return;let n=e.currentTarget;if(!(n instanceof HTMLVideoElement))return;try{n.currentTime=0}catch{}let i=n.play();i&&typeof i.catch==`function`&&i.catch(()=>{})}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,kt,[(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`absolute inset-0 transition-[background] duration-200`,l.value]),style:(0,e.normalizeStyle)((0,e.unref)(d))},null,6),(0,e.createElementVNode)(`div`,{class:`relative z-[1] grid h-full min-h-0`,style:(0,e.normalizeStyle)(O.value)},[(0,e.createElementVNode)(`div`,{ref:`viewer.stageRef`,"data-testid":`vibe-stage`,class:`relative h-full min-h-0 touch-none overflow-hidden`,onPointerdown:n[1]||=(...t)=>(0,e.unref)(o).onPointerDown&&(0,e.unref)(o).onPointerDown(...t),onPointermove:n[2]||=(...t)=>(0,e.unref)(o).onPointerMove&&(0,e.unref)(o).onPointerMove(...t),onPointerup:n[3]||=(...t)=>(0,e.unref)(o).onPointerUp&&(0,e.unref)(o).onPointerUp(...t),onPointercancel:n[4]||=(...t)=>(0,e.unref)(o).onPointerCancel&&(0,e.unref)(o).onPointerCancel(...t),onWheel:n[5]||=(...t)=>(0,e.unref)(o).onWheel&&(0,e.unref)(o).onWheel(...t)},[(0,e.unref)(o).activeItem.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,At,[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(o).renderedItems.value,({item:i,index:a})=>((0,e.openBlock)(),(0,e.createElementBlock)(`article`,{key:(0,e.unref)(c).getItemKey(i),"data-testid":`vibe-slide`,"data-item-id":i.id,"data-occurrence-key":(0,e.unref)(c).getItemKey(i),"data-index":a,"data-active":a===(0,e.unref)(o).resolvedActiveIndex.value,"aria-hidden":a===(0,e.unref)(o).resolvedActiveIndex.value?`false`:`true`,class:(0,e.normalizeClass)([`absolute inset-0 flex h-full min-h-full items-center justify-center will-change-transform`,a===(0,e.unref)(o).resolvedActiveIndex.value?`pointer-events-auto`:`pointer-events-none`]),style:(0,e.normalizeStyle)((0,e.unref)(o).getSlideStyle(a))},[(0,e.createElementVNode)(`div`,{class:(0,e.normalizeClass)([`absolute inset-0 opacity-85`,(0,e.unref)(St)(i.type)]),style:(0,e.normalizeStyle)(a===(0,e.unref)(o).resolvedActiveIndex.value&&i.type===`image`?(0,e.unref)(u):void 0)},null,6),(0,e.unref)(o).isVisual(i)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:0,class:(0,e.normalizeClass)([`relative z-[1] flex h-full w-full items-center justify-center overflow-hidden`,a===(0,e.unref)(o).resolvedActiveIndex.value?b.value:``])},[(0,e.unref)(c).isAssetLoading(a,i)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Mt,[(0,e.createElementVNode)(`span`,Nt,[(0,e.createVNode)((0,e.unref)(h),{class:`h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78`,"aria-hidden":`true`})])])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(c).isAssetErrored(a,i)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:1,"data-testid":`vibe-asset-error`,"data-kind":(0,e.unref)(c).getAssetErrorKind(i),class:`grid h-full w-full place-items-center`},[(0,e.createElementVNode)(`div`,Ft,[(0,e.createVNode)((0,e.unref)(v),{class:`h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72`,"aria-hidden":`true`}),(0,e.createElementVNode)(`p`,It,(0,e.toDisplayString)((0,e.unref)(c).getAssetErrorLabel(i)),1),(0,e.unref)(o).canRetryAsset((0,e.unref)(c).getItemKey(i))?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`inline-flex items-center justify-center border border-white/14 bg-black/35 px-4 py-2 text-[0.64rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/50`,onClick:(0,e.withModifiers)(t=>(0,e.unref)(o).retryAsset((0,e.unref)(c).getItemKey(i)),[`stop`])},` Retry `,8,Lt)):(0,e.createCommentVNode)(``,!0)])],8,Pt)):i.type===`image`?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:(0,e.unref)(o).getAssetRenderKey((0,e.unref)(c).getItemKey(i)),src:(0,e.unref)(c).getFullscreenImageSource(a,i),alt:i.title??``,crossorigin:`anonymous`,draggable:`false`,class:(0,e.normalizeClass)([`block h-auto max-h-full w-auto max-w-full object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300`,(0,e.unref)(o).isImageReady((0,e.unref)(c).getItemKey(i))?`opacity-100`:`opacity-0`]),ref_for:!0,ref:t=>B((0,e.unref)(c).getItemKey(i),t),onLoad:t=>z(t,(0,e.unref)(c).getItemKey(i),i.url),onError:t=>(0,e.unref)(o).onImageError((0,e.unref)(c).getItemKey(i),i.url)},null,42,Rt)):((0,e.openBlock)(),(0,e.createElementBlock)(`video`,{key:(0,e.unref)(o).getAssetRenderKey((0,e.unref)(c).getItemKey(i)),class:(0,e.normalizeClass)([`block h-auto max-h-full w-auto max-w-full cursor-pointer object-contain shadow-[0_40px_120px_-60px_rgba(0,0,0,0.9)] transition-opacity duration-300`,(0,e.unref)(o).isMediaReady((0,e.unref)(c).getItemKey(i))?`opacity-100`:`opacity-0`]),playsinline:``,loop:r.loopFullscreenVideo,src:(0,e.unref)(c).getFullscreenMediaSource(a,i),preload:(0,e.unref)(c).shouldPreloadSlideAsset(a)?`metadata`:`none`,ref_for:!0,ref:t=>(0,e.unref)(o).registerVideoElement((0,e.unref)(c).getItemKey(i),t),onClick:(0,e.withModifiers)(t=>(0,e.unref)(o).onVideoClick(t,(0,e.unref)(c).getItemKey(i)),[`stop`]),onCanplay:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onDurationchange:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onEnded:t=>H(t,(0,e.unref)(c).getItemKey(i)),onError:t=>(0,e.unref)(o).onMediaError((0,e.unref)(c).getItemKey(i),i.url),onLoadstart:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onLoadedmetadata:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onPause:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onPlay:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onPlaying:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onSeeking:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onSeeked:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onStalled:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onTimeupdate:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onWaiting:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t)},null,42,zt))],2)):(0,e.unref)(o).isAudio(i)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:1,class:(0,e.normalizeClass)([`relative z-[1] grid w-full max-w-[1100px] justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center`,a===(0,e.unref)(o).resolvedActiveIndex.value?b.value:``])},[(0,e.createElementVNode)(`div`,Bt,[(0,e.createElementVNode)(`button`,{type:`button`,class:`relative grid h-full w-full place-items-center border border-white/12 bg-[linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.02)),radial-gradient(circle_at_center,rgba(16,185,129,0.14),transparent_58%)] text-[#f7f1ea] transition-[border-color,background] duration-200 hover:border-white/30 hover:bg-[linear-gradient(180deg,rgba(255,255,255,0.07),rgba(255,255,255,0.03)),radial-gradient(circle_at_center,rgba(16,185,129,0.18),transparent_58%)] focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-[#f7f1ea]`,"aria-label":(0,e.unref)(o).mediaStates.value[(0,e.unref)(c).getItemKey(i)]?.paused??!0?(0,e.unref)(c).getMediaActionLabel(`Play`,i):(0,e.unref)(c).getMediaActionLabel(`Pause`,i),disabled:!!(0,e.unref)(c).getAssetErrorKind(i),onClick:t=>(0,e.unref)(o).onAudioCoverClick(t,(0,e.unref)(c).getItemKey(i))},[n[6]||=(0,e.createElementVNode)(`span`,{class:`pointer-events-none absolute inset-0 border border-white/8 bg-[radial-gradient(circle,rgba(16,185,129,0.16),transparent_66%)]`},null,-1),n[7]||=(0,e.createElementVNode)(`span`,{class:`pointer-events-none absolute h-[clamp(220px,30vw,360px)] w-[clamp(220px,30vw,360px)] border border-white/8 bg-[radial-gradient(circle,rgba(255,255,255,0.08),transparent_62%)]`},null,-1),(0,e.createElementVNode)(`span`,Ht,[(0,e.renderSlot)(t.$slots,`item-icon`,{icon:(0,e.unref)(Be)(i.type),item:i},()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(Be)(i.type)),{class:`h-6 w-6 stroke-[1.9]`,"aria-hidden":`true`}))])]),(0,e.createElementVNode)(`span`,Ut,[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(o).mediaStates.value[(0,e.unref)(c).getItemKey(i)]?.paused??!0?(0,e.unref)(_):(0,e.unref)(g)),{class:`h-4 w-4 stroke-2`,"aria-hidden":`true`}))])],8,Vt),(0,e.unref)(c).isAssetLoading(a,i)?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Wt,[(0,e.createElementVNode)(`span`,Gt,[(0,e.createVNode)((0,e.unref)(h),{class:`h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78`,"aria-hidden":`true`})])])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(c).getAssetErrorKind(i)?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:1},[n[8]||=(0,e.createElementVNode)(`div`,{class:`pointer-events-none absolute inset-0 border border-white/8 bg-[radial-gradient(circle,rgba(239,68,68,0.12),transparent_66%)]`},null,-1),(0,e.createElementVNode)(`div`,{"data-testid":`vibe-asset-error`,"data-kind":(0,e.unref)(c).getAssetErrorKind(i),class:`relative z-[1] grid justify-items-center gap-4`},[(0,e.createVNode)((0,e.unref)(v),{class:`h-7 w-7 stroke-[1.9] text-[#f7f1ea]/72`,"aria-hidden":`true`}),(0,e.createElementVNode)(`p`,qt,(0,e.toDisplayString)((0,e.unref)(c).getAssetErrorLabel(i)),1),(0,e.unref)(o).canRetryAsset((0,e.unref)(c).getItemKey(i))?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`pointer-events-auto inline-flex items-center justify-center border border-white/14 bg-black/35 px-4 py-2 text-[0.64rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/50`,onClick:(0,e.withModifiers)(t=>(0,e.unref)(o).retryAsset((0,e.unref)(c).getItemKey(i)),[`stop`])},` Retry `,8,Jt)):(0,e.createCommentVNode)(``,!0)],8,Kt)],64)):(0,e.createCommentVNode)(``,!0)]),((0,e.openBlock)(),(0,e.createElementBlock)(`audio`,{key:(0,e.unref)(o).getAssetRenderKey((0,e.unref)(c).getItemKey(i)),src:(0,e.unref)(c).getFullscreenMediaSource(a,i),preload:(0,e.unref)(c).shouldPreloadSlideAsset(a)?`metadata`:`none`,class:`pointer-events-none absolute h-px w-px opacity-0`,ref_for:!0,ref:t=>(0,e.unref)(o).registerAudioElement((0,e.unref)(c).getItemKey(i),t),onCanplay:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onDurationchange:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onError:t=>(0,e.unref)(o).onMediaError((0,e.unref)(c).getItemKey(i),i.url),onLoadstart:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onLoadedmetadata:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onPause:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onPlay:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onPlaying:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onSeeking:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onSeeked:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onStalled:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onTimeupdate:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t),onWaiting:t=>(0,e.unref)(o).onMediaEvent((0,e.unref)(c).getItemKey(i),t)},null,40,Yt))],2)):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Xt,[(0,e.createElementVNode)(`div`,Zt,[(0,e.renderSlot)(t.$slots,`item-icon`,{icon:(0,e.unref)(Be)(i.type),item:i},()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(Be)(i.type)),{class:`h-6 w-6 stroke-[1.9]`,"aria-hidden":`true`}))])])]))],14,jt))),128)),C.value&&i[`fullscreen-overlay`]?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Qt,[(0,e.createElementVNode)(`div`,$t,[(0,e.renderSlot)(t.$slots,`fullscreen-overlay`,(0,e.normalizeProps)((0,e.guardReactiveProps)(C.value)))])])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(o).activeItem.value?((0,e.openBlock)(),(0,e.createBlock)(Le,{key:1,"current-index":(0,e.unref)(o).resolvedActiveIndex.value,loading:r.loading,"pagination-detail":(0,e.unref)(o).paginationDetail.value,"show-back-to-list":r.showBackToList,"show-end-badge":r.showEndBadge&&(0,e.unref)(o).isAtEnd.value&&!(0,e.unref)(o).hasNextPage.value&&!(0,e.unref)(o).loading.value,title:(0,e.unref)(o).activeItem.value.title??null,total:(0,e.unref)(o).items.value.length,onBackToList:n[0]||=e=>a(`back-to-list`)},(0,e.createSlots)({_:2},[k.value&&C.value?{name:`actions`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`fullscreen-header-actions`,(0,e.normalizeProps)((0,e.guardReactiveProps)(C.value)))]),key:`0`}:void 0]),1032,[`current-index`,`loading`,`pagination-detail`,`show-back-to-list`,`show-end-badge`,`title`,`total`])):(0,e.createCommentVNode)(``,!0),m.value?((0,e.openBlock)(),(0,e.createBlock)(De,{key:2,"current-time":(0,e.unref)(o).activeMediaState.value.currentTime,"current-time-label":(0,e.unref)(o).formatPlaybackTime((0,e.unref)(o).activeMediaState.value.currentTime),duration:(0,e.unref)(o).activeMediaDuration.value,"duration-label":(0,e.unref)(o).formatPlaybackTime((0,e.unref)(o).activeMediaDuration.value),muted:(0,e.unref)(o).activeMediaState.value.muted,progress:(0,e.unref)(o).activeMediaProgress.value,volume:(0,e.unref)(o).activeMediaState.value.volume,"volume-control-layout":y.value,onSeekInput:(0,e.unref)(o).onMediaSeekInput,onVolumeInput:(0,e.unref)(o).onMediaVolumeInput,onVolumeToggle:(0,e.unref)(o).onMediaVolumeToggle},null,8,[`current-time`,`current-time-label`,`duration`,`duration-label`,`muted`,`progress`,`volume`,`volume-control-layout`,`onSeekInput`,`onVolumeInput`,`onVolumeToggle`])):(0,e.createCommentVNode)(``,!0),E.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:3,class:(0,e.normalizeClass)([`absolute left-1/2 z-[4] -translate-x-1/2`,p.value])},[N.value?(0,e.renderSlot)(t.$slots,`fullscreen-status`,(0,e.normalizeProps)((0,e.mergeProps)({key:0},E.value))):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:1,"data-testid":`vibe-fullscreen-status-badge`,class:(0,e.normalizeClass)([`inline-flex w-auto items-center border border-white/14 bg-black/40 px-5 py-3 text-[0.75rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/74 backdrop-blur-[18px] max-[720px]:w-[calc(100%-2.5rem)] max-[720px]:justify-center`,E.value.kind===`end`?`border-amber-300/35 text-amber-200`:E.value.kind===`failed`?`border-rose-400/45 text-rose-100`:``])},(0,e.toDisplayString)(E.value.message),3))],2)):(0,e.createCommentVNode)(``,!0)])):x.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,en,[(0,e.createElementVNode)(`div`,tn,[(0,e.createElementVNode)(`span`,nn,[(0,e.createVNode)((0,e.unref)(h),{class:`h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78`,"aria-hidden":`true`})]),(0,e.createElementVNode)(`p`,rn,(0,e.toDisplayString)(S.value),1)])])):(0,e.unref)(L)&&(0,e.unref)(P)?((0,e.openBlock)(),(0,e.createBlock)(Ot,{key:2,message:(0,e.unref)(P).message,mode:(0,e.unref)(P).mode,surface:(0,e.unref)(P).surface},{default:(0,e.withCtx)(()=>[(0,e.unref)(I)?(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(P)))):(0,e.createCommentVNode)(``,!0)]),_:3},8,[`message`,`mode`,`surface`])):(0,e.createCommentVNode)(``,!0),(0,e.unref)(F)&&(0,e.unref)(P)?((0,e.openBlock)(),(0,e.createBlock)(Ot,{key:3,message:(0,e.unref)(P).message,mode:(0,e.unref)(P).mode,surface:(0,e.unref)(P).surface},{default:(0,e.withCtx)(()=>[(0,e.unref)(I)?(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(P)))):(0,e.createCommentVNode)(``,!0)]),_:3},8,[`message`,`mode`,`surface`])):(0,e.createCommentVNode)(``,!0)],544),(0,e.createVNode)(e.Transition,{"enter-active-class":`transform-gpu transition-all duration-320 ease-out`,"enter-from-class":`translate-x-full opacity-0`,"enter-to-class":`translate-x-0 opacity-100`,"leave-active-class":`transform-gpu transition-all duration-260 ease-in`,"leave-from-class":`translate-x-0 opacity-100`,"leave-to-class":`translate-x-full opacity-0`},{default:(0,e.withCtx)(()=>[j.value&&C.value?((0,e.openBlock)(),(0,e.createElementBlock)(`aside`,an,[(0,e.createElementVNode)(`div`,on,[(0,e.renderSlot)(t.$slots,`fullscreen-aside`,(0,e.normalizeProps)((0,e.guardReactiveProps)(C.value)))])])):(0,e.createCommentVNode)(``,!0)]),_:3})],4),(0,e.createVNode)(e.Transition,{"enter-active-class":`transform-gpu transition-all duration-320 ease-out`,"enter-from-class":`translate-x-full opacity-0`,"enter-to-class":`translate-x-0 opacity-100`,"leave-active-class":`transform-gpu transition-all duration-260 ease-in`,"leave-from-class":`translate-x-0 opacity-100`,"leave-to-class":`translate-x-full opacity-0`},{default:(0,e.withCtx)(()=>[M.value&&C.value?((0,e.openBlock)(),(0,e.createElementBlock)(`aside`,sn,[(0,e.createElementVNode)(`div`,cn,[(0,e.renderSlot)(t.$slots,`fullscreen-aside`,(0,e.normalizeProps)((0,e.guardReactiveProps)(C.value)))])])):(0,e.createCommentVNode)(``,!0)]),_:3})]))}}),fn=1,pn=.5;function mn(e){if(e.type!==`image`&&e.type!==`video`)return{width:fn,height:fn,source:`fallback`};let t=e.preview?.width,n=e.preview?.height;if(xn(t)&&xn(n)){let r=Sn(e,t,n);return{width:r.width,height:r.height,source:`preview`}}if(xn(e.width)&&xn(e.height)){let t=Sn(e,e.width,e.height);return{width:t.width,height:t.height,source:`original`}}return{width:fn,height:fn,source:`fallback`}}function hn(e,t){return!e||e<=0||!t||t<=0?1:Math.max(1,Math.floor(e/t))}function gn(e,t,n,r=0){if(!e||e<=0||!t||t<=0)return n;let i=typeof r==`number`&&r>0?r:0,a=e-Math.max(0,t-1)*i;return!a||a<=0?n:a/t}function _n(e,t){let n=mn(e);return n.height/n.width*t}function vn(e,t){let n=Array.from({length:t.columnCount},()=>0),r=Array(e.length),i=Array(e.length),a=new Map,o=new Map,s=0;for(let c=0;c<e.length;c+=1){let l=e[c];o.set(P(l),c);let u=0;for(let e=1;e<n.length;e+=1)n[e]<n[u]&&(u=e);let d=u*(t.columnWidth+t.gapX),f=n[u],p=_n(l,t.columnWidth);r[c]={x:d,y:f},i[c]=p,n[u]=f+p+t.gapY,s=Math.max(s,f+p);let m=Math.floor(f/t.bucketPx),h=Math.floor((f+p)/t.bucketPx);for(let e=m;e<=h;e+=1){let t=a.get(e);t?t.push(c):a.set(e,[c])}}return{positions:r,heights:i,buckets:a,contentHeight:s,indexById:o}}function yn(e){if(e.itemCount<=0)return[];if(e.viewportHeight<=0)return Array.from({length:e.itemCount},(e,t)=>t);let t=Math.max(0,e.scrollTop-e.overscanPx),n=e.scrollTop+e.viewportHeight+e.overscanPx,r=Math.floor(t/e.bucketPx),i=Math.floor(n/e.bucketPx),a=new Set;for(let t=r;t<=i;t+=1){let n=e.buckets.get(t);if(n)for(let e of n)a.add(e)}return Array.from(a).sort((e,t)=>e-t)}function bn(e,t,n){let r=new Map;for(let i of e){let e=t.get(P(i));if(e==null)continue;let a=n[e];a&&r.set(P(i),a)}return r}function xn(e){return typeof e==`number`&&Number.isFinite(e)&&e>0}function Sn(e,t,n){return e.type!==`image`||n/t>=pn?{width:t,height:n}:{width:t,height:t}}var Cn=300,wn=600,Tn=40,En=300,Dn=400;function On(e,t){return t===`top`?[...e].reverse():e}function kn(e){return e<=0?wn:wn+Math.min((e-1)*Tn,Dn)}function An(){return En}function jn(e){let t=e.itemHeight>0?e.itemHeight:e.columnWidth;return e.direction===`top`?e.scrollTop-t:e.scrollTop+e.viewportHeight+t}function Mn(t){let n=(0,e.ref)(new Set),r=(0,e.ref)(new Set),i=(0,e.ref)(new Map),a=(0,e.ref)(new Map),o=(0,e.ref)(new Map),s=(0,e.ref)(new Set),c=(0,e.ref)(new Map),l=(0,e.ref)(new Map),u=(0,e.ref)(new Set),d=new Set,f=new Set,p=(0,e.computed)(()=>Array.from(o.value.values()));(0,e.watch)(t.visibleIndices,e=>{if(!e.length)return;let o=[];for(let r of e){let e=t.items.value[r]?P(t.items.value[r]):null;!e||!n.value.has(e)||d.has(e)||(d.add(e),o.push(e))}if(!o.length)return;let s=On(o,a.value.get(o[0])??`bottom`),c=new Map(i.value);for(let e=0;e<s.length;e+=1)c.set(s[e],Math.min(e*Tn,Dn));i.value=c,Nn(()=>{let e=new Set(r.value);for(let t of o)e.add(t);r.value=e}),Pn(()=>{let e=new Set(n.value);for(let t of o)e.delete(t);n.value=e,x(()=>{let e=new Set(r.value),t=new Map(i.value),n=new Map(a.value);for(let r of o)e.delete(r),t.delete(r),n.delete(r),d.delete(r);r.value=e,i.value=t,a.value=n},kn(o.length))})},{flush:`post`}),(0,e.watch)(()=>t.items.value.map(e=>P(e)),e=>{if(!e.length||!o.value.size)return;let t=new Set(e),n=null,r=null;for(let e of o.value.keys())t.has(e)&&(n||=new Map(o.value),r||=new Set(s.value),n.delete(e),r.delete(e));n&&(o.value=n),r&&(s.value=r)}),(0,e.onBeforeUnmount)(()=>{for(let e of f)clearTimeout(e);f.clear()});function m(e,t=`bottom`){if(!e.length)return;let r=new Set(n.value),i=new Map(a.value);for(let n of e){let e=P(n);r.add(e),i.set(e,t)}n.value=r,a.value=i}function h(e){if(!e.length)return;let t=new Map(o.value),c=new Set(n.value),l=new Set(r.value),u=new Map(i.value),f=new Map(a.value),p=[];for(let n of e){let e=P(n.item);p.push(e),t.set(e,n),c.delete(e),l.delete(e),u.delete(e),f.delete(e),d.delete(e)}o.value=t,n.value=c,r.value=l,i.value=u,a.value=f,Nn(()=>{let e=new Set(s.value);for(let t of p)e.add(t);s.value=e}),x(()=>{let e=new Map(o.value),t=new Set(s.value);for(let n of p)e.delete(n),t.delete(n);o.value=e,s.value=t},En)}function g(e,n,r=Cn){if(!e.size)return;let i=new Map,a=[];for(let[r,o]of e.entries()){if(n?.has(r))continue;let e=t.indexById.value.get(r);if(e==null)continue;let s=t.positions.value[e];if(!s)continue;let c=o.x-s.x,l=o.y-s.y;!c&&!l||(i.set(r,{dx:c,dy:l}),a.push(r))}if(!i.size)return;c.value=i,u.value=new Set;let o=new Map(l.value);for(let e of a)o.set(e,r);l.value=o,Nn(()=>{u.value=new Set(a),Nn(()=>{c.value=new Map})}),x(()=>{u.value=new Set;let e=new Map(l.value);for(let t of a)e.delete(t);l.value=e},r)}function _(e){if(r.value.has(e))return`transform ${wn}ms ease-out`;if(u.value.has(e))return`transform ${l.value.get(e)??Cn}ms ease-out`}function v(e){if(!r.value.has(e))return;let t=i.value.get(e)??0;return t>0?`${t}ms`:void 0}function y(e){let r=t.items.value[e],i=t.positions.value[e]??{x:0,y:0},o=t.heights.value[e]??t.columnWidth.value,s=r?P(r):null,l=s?c.value.get(s)??{dx:0,dy:0}:{dx:0,dy:0},u=s?a.value.get(s)??`bottom`:`bottom`,d=s&&n.value.has(s)?jn({columnWidth:t.columnWidth.value,direction:u,itemHeight:o,scrollTop:t.scrollTop.value,viewportHeight:t.viewportHeight.value}):i.y;return`translate3d(${i.x+l.dx}px, ${d+l.dy}px, 0)`}function b(e){let n=P(e),r=o.value.get(n);if(!r)return{opacity:`0`,transform:`translate3d(0, 0, 0) scale(0.96)`,transition:`opacity ${En}ms ease-out, transform ${En}ms ease-out`};let i=s.value.has(n);return{height:`${r.height}px`,opacity:i?`0`:`1`,transform:`translate3d(${r.position.x}px, ${r.position.y}px, 0) scale(${i?`0.96`:`1`})`,transition:`opacity ${En}ms ease-out, transform ${En}ms ease-out`,width:`${t.columnWidth.value}px`}}function x(e,t){let n=setTimeout(()=>{f.delete(n),e()},t);f.add(n)}return{getCardTransform:y,getCardTransition:_,getCardTransitionDelay:v,getLeavingCardStyle:b,leavingItems:p,markEnter:m,markLeave:h,playFlipMoveAnimation:g}}function Nn(e){if(typeof requestAnimationFrame==`function`){requestAnimationFrame(()=>e());return}setTimeout(e,0)}function Pn(e){Nn(()=>Nn(e))}function Fn(e,t){return e?.clientHeight||Math.round(e?.getBoundingClientRect().height??0)||t||window.innerHeight||1}function In(e,t,n){return e?.clientWidth||Math.round(e?.getBoundingClientRect().width??0)||t||window.innerWidth||n}function Ln(e,t,n,r){return(e?.scrollHeight??r)-(t+n)}function Rn(e,t){return{height:`${e}px`,transform:`translate3d(0, ${t}px, 0)`}}var zn=250,Bn=1e3;function Vn(t){let n=(0,e.ref)(!1),r=(0,e.ref)(!1),i=(0,e.ref)(0),a=(0,e.ref)(0),o=(0,e.ref)(!1),s=(0,e.ref)(!1),c=0,l=null;(0,e.onBeforeUnmount)(()=>{b()});function u(){let e=n.value;if(n.value=t.isAtBoundary(),!n.value){!o.value&&!s.value&&(r.value=!0);return}!e&&r.value&&h()}function d(e){if(!x(e)||!t.isAtBoundary())return;let n=Date.now();n<c||(c=n+zn,h())}function f(){if(!_())return;let e=t.requestPage.value;if(typeof e!=`function`)return;a.value=i.value,r.value=!1,o.value=!0,s.value=!0;let n;try{n=e()}catch{v();return}Promise.resolve(n).catch(()=>{}).finally(()=>{!t.loading.value&&s.value&&v()})}function p(e){!e&&s.value&&v()}function m(e){!s.value||e<=0||(s.value=!1,y(t.getAnimationLockMs(e)))}function h(){g()&&(i.value+=1)}function g(){return t.hasPage.value&&!t.interactionLocked?.value&&!t.loading.value&&!o.value&&typeof t.requestPage.value==`function`}function _(){return t.hasPage.value&&n.value&&i.value>a.value&&!t.interactionLocked?.value&&!t.loading.value&&!o.value&&typeof t.requestPage.value==`function`}function v(){s.value=!1,y(Bn)}function y(e){b(),o.value=!0,l=setTimeout(()=>{l=null,o.value=!1},Math.max(0,e))}function b(){l&&=(clearTimeout(l),null)}function x(e){return t.direction===`top`?e.deltaY<0:e.deltaY>0}return{maybeRequestPage:f,onItemsMutated:m,onLoadingChange:p,onWheel:d,syncBoundary:u}}var Hn=600,Q=24,$=16,Un=300,Wn=200,Gn=200,Kn=Q+$,qn=200,Jn=300,Yn=24,Xn=48,Zn=500,Qn=1e3;function $n(t){let n=(0,e.ref)(null),r=(0,e.ref)(0),i=(0,e.ref)(typeof window>`u`?0:window.innerHeight||0),a=(0,e.ref)(typeof window>`u`?0:window.innerWidth||Un),o=(0,e.ref)([]),s=(0,e.ref)([]),c=(0,e.ref)(new Map),l=(0,e.ref)(0),u=(0,e.ref)(new Map),d=(0,e.ref)(null),f=(0,e.ref)(null),p=(0,e.ref)(!1),m=(0,e.computed)(()=>Math.max(Un,a.value-Q*2)),h=(0,e.computed)(()=>hn(m.value,Un)),g=(0,e.computed)(()=>gn(m.value,h.value,Un,$)),_=(0,e.computed)(()=>er(t.activeIndex.value,0,Math.max(0,t.items.value.length-1))),v=(0,e.computed)(()=>yn({itemCount:t.items.value.length,viewportHeight:i.value,scrollTop:r.value,overscanPx:Wn,bucketPx:Hn,buckets:c.value})),y=(0,e.computed)(()=>v.value.map(e=>({item:t.items.value[e],index:e}))),b=(0,e.computed)(()=>{let e=l.value+Q*2,t=d.value??0;return Math.max(e,t,i.value)+qn}),x=(0,e.computed)(()=>t.hasNextPage.value||t.allowExhaustedNextPageRefresh.value),S=(0,e.computed)(()=>nr({active:t.active.value,maxScrollTop:X(),progressDistancePx:r.value,thresholdPx:Gn,triggerEnabled:x.value})),C=(0,e.computed)(()=>t.items.value.length>0?`${_.value+1} / ${t.items.value.length}`:`0 / 0`),w=(0,e.computed)(()=>tr({active:t.active.value,maxScrollTop:X(),progressDistancePx:r.value,thresholdPx:Kn,triggerEnabled:t.hasPreviousPage.value})),T=(0,e.computed)(()=>Math.max(0,i.value-Yn*2)),E=(0,e.computed)(()=>b.value>i.value+1&&T.value>0),D=(0,e.computed)(()=>{if(!E.value)return 0;let e=i.value/b.value*T.value;return Math.min(T.value,Math.max(Xn,e))}),O=(0,e.computed)(()=>{if(!E.value)return Yn;let e=Math.max(0,b.value-i.value);return Yn+Math.max(0,T.value-D.value)*(e>0?er(r.value/e,0,1):0)}),k=Mn({items:t.items,visibleIndices:v,positions:o,heights:s,indexById:u,columnWidth:g,scrollTop:r,viewportHeight:i}),A=Vn({direction:`top`,getAnimationLockMs(e){return Math.max(Zn,kn(e))+Qn},hasPage:t.hasPreviousPage,interactionLocked:p,isAtBoundary(){return r.value<=Kn},loading:t.loading,requestPage:t.requestPreviousPage}),j=Vn({direction:`bottom`,getAnimationLockMs(e){return kn(e)+Qn},hasPage:x,interactionLocked:p,isAtBoundary(){return ne()<=Gn},loading:t.loading,requestPage:t.requestNextPage}),M=null,N=0,F=null,I=null,L=!1;(0,e.watch)([()=>t.items.value,h,g],async([n],[i=[]])=>{let a=n.map(e=>P(e)),s=i??[],c=s.map(e=>P(e)),l=bn(s,u.value,o.value),d=ae(s),f=new Set(c),p=new Set(a),m=n.filter(e=>!f.has(P(e))),h=s.flatMap(e=>{let t=P(e);if(p.has(t))return[];let n=l.get(t),r=d.get(t);return!n||r==null?[]:[{height:r,item:e,position:n}]}),g=a.length>c.length&&c.length>0&&a[0]!==c[0],v=n.length===0&&s.length>0&&h.length>0&&r.value>0,y=h.length>0&&r.value>Q+$,b=g&&r.value>Q+$?n[_.value]:null,x=b?P(b):null;y&&W(An()+Qn),v&&ee(),R(),h.length>0&&k.markLeave(h),m.length>0&&(k.markEnter(m,g?`top`:`bottom`),g?A.onItemsMutated(m.length):j.onItemsMutated(m.length)),k.playFlipMoveAnimation(l,new Set(m.map(e=>P(e))),g?Zn:void 0),x?(await(0,e.nextTick)(),U(x,l)):t.active.value&&c.length>0&&K()},{immediate:!0}),(0,e.watch)([()=>t.pendingAppendItems.value.map(e=>P(e)),h,g,i],([e])=>{se(),e.length&&(d.value=ie([...t.items.value,...t.pendingAppendItems.value]),oe())},{immediate:!0}),(0,e.watch)(()=>t.active.value,async(t,a)=>{let o=n.value;if(!o)return;if(!t){f.value=o.scrollTop;return}if(a!==!1||f.value==null)return;await(0,e.nextTick)();let s=Math.max(0,b.value-i.value),c=er(f.value,0,s);o.scrollTop=c,r.value=c,A.syncBoundary(),j.syncBoundary()}),(0,e.watch)(()=>t.loading.value,async n=>{!n&&!t.pendingAppendItems.value.length&&!F&&!L&&(d.value=null),A.onLoadingChange(n),j.onLoadingChange(n),await(0,e.nextTick)()}),(0,e.onMounted)(async()=>{J(),await(0,e.nextTick)(),_.value>0?H(_.value,`center`):G(),A.syncBoundary(),j.syncBoundary(),typeof ResizeObserver<`u`?(M=new ResizeObserver(()=>{J()}),n.value&&M.observe(n.value)):window.addEventListener(`resize`,J)}),(0,e.onBeforeUnmount)(()=>{M?.disconnect(),M=null,window.removeEventListener(`resize`,J),se(),ce(),N&&=(cancelAnimationFrame(N),0)});function R(){let e=vn(t.items.value,{columnCount:h.value,columnWidth:g.value,gapX:$,gapY:$,bucketPx:Hn});o.value=e.positions.map(e=>({x:e.x+Q,y:e.y+Q})),s.value=e.heights,c.value=e.buckets,l.value=e.contentHeight,u.value=e.indexById}function z(){t.active.value&&(r.value=n.value?.scrollTop??0,i.value=Y(),A.syncBoundary(),j.syncBoundary(),q(),!K()&&(N||=requestAnimationFrame(()=>{N=0,G()})))}function B(e){t.active.value&&(A.onWheel(e),j.onWheel(e),q())}function V(e){let n=t.items.value[e],r=n?P(n):``;return{height:`${s.value[e]??g.value}px`,width:`${g.value}px`,transition:r?k.getCardTransition(r):void 0,transitionDelay:r?k.getCardTransitionDelay(r):void 0,transform:k.getCardTransform(e)}}function H(e,t){let a=n.value,c=o.value[e],l=s.value[e];if(!a||!c||!l)return;let u=a.scrollTop,d=Math.max(0,b.value-i.value);t===`center`?u=c.y-(i.value-l)/2:c.y<a.scrollTop?u=c.y-Q:c.y+l>a.scrollTop+i.value&&(u=c.y+l-i.value+Q),a.scrollTop=er(u,0,d),r.value=a.scrollTop,G()}function U(e,t){let i=n.value,a=t.get(e),s=u.value.get(e),c=s==null?null:o.value[s];if(!i||!a||!c)return;let l=c.y-a.y;i.scrollTop+=l,r.value=i.scrollTop}function ee(){let e=n.value;if(!e){r.value=0;return}e.scrollTop=0,r.value=0,A.syncBoundary(),j.syncBoundary()}function W(e){ce(),p.value=!0,I=setTimeout(()=>{I=null,p.value=!1},Math.max(0,e))}function G(){if(!v.value.length||K())return;let e=r.value+i.value/2,n=_.value,a=1/0;for(let t of v.value){let r=o.value[t],i=s.value[t];if(!r||!i)continue;let c=r.y+i/2,l=Math.abs(c-e);l<a&&(a=l,n=t)}t.setActiveIndex(n)}function K(){let e=r.value<=Kn,n=ne()<=Gn;return e?(t.setActiveIndex(0),!0):n?(t.setActiveIndex(Math.max(0,t.items.value.length-1)),!0):!1}function q(){A.maybeRequestPage(),j.maybeRequestPage()}function J(){i.value=Y(),a.value=te()}function Y(){return Fn(n.value,i.value)}function te(){return In(n.value,a.value,Un)}function ne(){return Ln(n.value,r.value,i.value,b.value)}function X(){let e=Math.max(n.value?.scrollHeight??0,b.value);return Math.max(0,e-i.value)}function re(){return Rn(D.value,O.value)}function ie(e){return e.length?vn(e,{columnCount:h.value,columnWidth:g.value,gapX:$,gapY:$,bucketPx:Hn}).contentHeight+Q*2:0}function ae(e){let t=new Map;for(let n of e){let e=P(n),r=u.value.get(e);if(r==null)continue;let i=s.value[r];i!=null&&t.set(e,i)}return t}function oe(){let n=t.commitPendingAppend.value;typeof n==`function`&&(F=setTimeout(async()=>{F=null,L=!0;try{if(!t.pendingAppendItems.value.length)return;await n(),await(0,e.nextTick)(),await(0,e.nextTick)()}finally{d.value=null,L=!1}},Jn))}function se(){F&&=(clearTimeout(F),null)}function ce(){I&&(clearTimeout(I),I=null,p.value=!1)}return{columnWidth:g,containerHeight:b,getCardStyle:V,getLeavingCardStyle:k.getLeavingCardStyle,getScrollbarThumbStyle:re,leavingItems:k.leavingItems,nextBoundaryLoadProgress:S,onScroll:z,onWheel:B,paginationLabel:C,previousBoundaryLoadProgress:w,renderedItems:y,resolvedActiveIndex:_,scrollToIndex:H,showScrollbar:E,scrollViewportRef:n}}function er(e,t,n){return Math.min(Math.max(e,t),n)}function tr(e){if(!e.active||!e.triggerEnabled)return 0;let t=Math.max(0,e.maxScrollTop-e.thresholdPx);return t<=0?1:er(1-(e.progressDistancePx-e.thresholdPx)/t,0,1)}function nr(e){if(!e.active||!e.triggerEnabled)return 0;let t=Math.max(0,e.maxScrollTop-e.thresholdPx);return t<=0?1:er(e.progressDistancePx/t,0,1)}function rr(e){if(e)try{e.removeAttribute(`src`),e.src=``}catch{}}function ir(e){if(e){try{e.currentTime=0}catch{}e.pause();try{e.removeAttribute(`src`),e.load()}catch{}}}function ar(e,t){if(t)return e.bottom>t.top&&e.top<t.bottom;let n=window.innerHeight||document.documentElement.clientHeight||0;return e.bottom>0&&e.top<n}function or(e){if(!e)return null;try{return new URL(e,window.location.href).href}catch{return e}}var sr=/\.(avif|gif|jpe?g|png|svg|webp)(\?|#|$)/i,cr=/\.(m4v|mov|mp4|mpeg|ogg|ogv|webm)(\?|#|$)/i,lr=/^(?:(?:https?:)?\/\/[^/]+)?\/api\/files\/[^/?#]+\/(?:preview|downloaded)(?:\?|#|$)/i;function ur(e){let t=dr(e),n=t?.url,r=mn(e),i=e.title?.trim()||Ve(e.type);return t?.mediaType===`video`&&typeof n==`string`?{kind:`video`,url:n,width:r.width,height:r.height,label:i}:t?.mediaType===`image`&&typeof n==`string`?{kind:`image`,url:n,width:r.width,height:r.height,label:i}:e.type!==`image`&&e.type!==`video`?{kind:`fallback`,url:null,width:r.width,height:r.height,label:i}:typeof n==`string`&&pr(e,n)?{kind:`video`,url:n,width:r.width,height:r.height,label:i}:typeof n==`string`&&fr(e,n)?{kind:`image`,url:n,width:r.width,height:r.height,label:i}:{kind:`fallback`,url:null,width:r.width,height:r.height,label:i}}function dr(e){return e.preview?.url?e.preview:typeof e.url!=`string`||e.url.trim()===``?null:{url:e.url}}function fr(e,t){return e.type!==`image`||typeof t!=`string`?!1:sr.test(t)||mr(t)}function pr(e,t){return e.type!==`video`||typeof t!=`string`?!1:cr.test(t)||hr(t)}function mr(e){return/^(https?:\/\/|\/\/|\/(?!\/)|\.{1,2}\/|blob:|data:)/i.test(e)}function hr(e){return lr.test(e)||/^blob:/i.test(e)||/^data:video\//i.test(e)}var gr={maxGlobal:10,maxPerDomain:4,maxVideoPerDomain:2};function _r(e=gr){let t=new Map,n=new Map,r=0;function i(e){let i={...e,domain:br(e.url),enqueuedAt:r,id:`vibe-asset-load-${r+=1}`};return n.set(i.id,i),a(),{cancel(){(n.delete(i.id)||t.delete(i.id))&&a()},refresh(){a()},release(){(t.delete(i.id)||n.delete(i.id))&&a()}}}function a(){if(n.size===0)return;let r=[...n.values()].sort((e,t)=>{let n=yr(e)-yr(t);return n===0?e.enqueuedAt-t.enqueuedAt:n});for(let i of r){if(t.size>=e.maxGlobal)return;if(o(i)){n.delete(i.id),t.set(i.id,i);try{i.onGrant()}catch{t.delete(i.id)}}}}function o(n){let r=[...t.values()].filter(e=>e.domain===n.domain);return!(r.length>=e.maxPerDomain||n.assetType===`video`&&r.filter(e=>e.assetType===`video`).length>=e.maxVideoPerDomain)}return{request:i}}var vr=_r();function yr(e){try{let t=e.getPriority();return Number.isFinite(t)?t:1/0}catch{return 1/0}}function br(e){try{return new URL(e).hostname||`local`}catch{return`local`}}function xr(t){let n=(0,e.ref)(null),r=(0,e.computed)(()=>{let e=typeof t.item.value.healthCheck?.url==`string`?or(t.item.value.healthCheck.url):null;return!e||e===t.attachedAssetUrl.value?null:e}),i=null,a=0,o=new Map;(0,e.watch)(r,(e,t)=>{e!==t&&(n.value=null,l(),a+=1)}),(0,e.watch)([r,t.surfaceActive,t.isInView,t.isReady,t.loadErrorKind],()=>{s()});function s(){let e=r.value;if(!e){l();return}if(!t.surfaceActive.value||!t.isInView.value||!t.isReady.value||t.loadErrorKind.value){l();return}if(o.has(e)){n.value=o.get(e)??null;return}if(i){i.refresh();return}i=vr.request({assetType:`probe`,getPriority:t.getPriority,onGrant(){let e=r.value;if(!e){l();return}let i=++a;ct(e).then(s=>{if(!(i!==a||r.value!==e)){if(o.set(e,s??null),!s){n.value=null;return}n.value=s,t.reportAssetError?.({item:t.item.value,occurrenceKey:P(t.item.value),url:e,kind:s,surface:`grid`})}}).finally(()=>{i===a&&l()})},url:e})}function c(){let e=r.value;return!n.value||!e?!1:(o.delete(e),n.value=null,l(),s(),!0)}function l(){i?.release(),i=null}return{errorKind:n,release:l,retry:c}}var Sr=[`aria-label`],Cr={key:0,"data-testid":`vibe-list-card-spinner`,class:`pointer-events-none absolute inset-0 z-[4] grid place-items-center bg-black/18`},wr={class:`inline-flex h-12 w-12 items-center justify-center rounded-full bg-black/45 shadow-[0_18px_40px_-18px_rgba(0,0,0,0.85)] backdrop-blur-[18px]`},Tr=[`src`,`alt`],Er=[`src`],Dr=[`data-kind`],Or={class:`grid justify-items-center gap-3 px-4 text-center`},kr={class:`text-[0.68rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/72`},Ar={key:4,class:`grid h-full w-full place-items-center bg-[radial-gradient(circle_at_center,rgba(255,255,255,0.08),transparent_65%),linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.02))]`},jr={class:`inline-flex h-14 w-14 items-center justify-center border border-white/16 bg-black/20`},Mr={class:`pointer-events-none absolute inset-0 z-[3]`},Nr=(0,e.defineComponent)({__name:`ListCard`,props:{active:{type:Boolean,default:!1},index:{default:0},item:{},reportAssetError:{type:[Function,null],default:null},reportAssetLoad:{type:[Function,null],default:null},surfaceActive:{type:Boolean,default:!0}},emits:[`open`],setup(t,{emit:n}){let r=t,i=n,a=(0,e.computed)(()=>ur(r.item)),o=(0,e.ref)(!1),s=(0,e.ref)(!1),c=(0,e.ref)(!1),l=(0,e.ref)(a.value.kind===`fallback`),u=(0,e.ref)(!1),d=(0,e.ref)(null),f=(0,e.ref)(null),p=(0,e.ref)(null),m=(0,e.ref)(null),g=(0,e.ref)(null),_=(0,e.ref)(a.value.kind===`fallback`),y=(0,e.computed)(()=>_.value?r.surfaceActive?o.value?a.value.url:null:a.value.url:null),b=(0,e.computed)(()=>r.surfaceActive&&o.value&&(a.value.kind===`image`||a.value.kind===`video`)&&!!a.value.url),x=(0,e.computed)(()=>a.value.kind===`image`&&!!y.value),S=(0,e.computed)(()=>a.value.kind===`video`&&!!y.value),C=xr({attachedAssetUrl:y,getPriority:W,isInView:o,isReady:l,item:(0,e.computed)(()=>r.item),loadErrorKind:d,reportAssetError:r.reportAssetError,surfaceActive:(0,e.computed)(()=>r.surfaceActive)}),w=(0,e.computed)(()=>C.errorKind.value??d.value),T=(0,e.computed)(()=>!!w.value),E=(0,e.computed)(()=>ot(w.value)),D=(0,e.computed)(()=>b.value&&!d.value&&(!_.value||!l.value)),O=null,k=null,A=new Set;(0,e.watch)([y,()=>a.value.kind],()=>{let e=a.value.kind===`fallback`;l.value=e,u.value=!1,d.value=null,e&&(_.value=!0)}),(0,e.watch)(b,()=>{I()}),(0,e.watch)([o,l,y],()=>{L()}),(0,e.watch)(()=>r.surfaceActive,e=>{if(!e){z(),L();return}requestAnimationFrame(()=>{B(),I(),L()})}),(0,e.onMounted)(()=>{if(!p.value||typeof IntersectionObserver>`u`){m.value=null,o.value=!0,I();return}m.value=p.value.closest(`[data-testid="vibe-list-scroll"]`),O=new IntersectionObserver(e=>{for(let t of e)t.target===p.value&&(r.surfaceActive&&B(t),I(),L())},{root:m.value,threshold:[0,1]}),O.observe(p.value)}),(0,e.onBeforeUnmount)(()=>{R(),C.release(),O?.disconnect(),O=null});function j(){G(f.value)&&(l.value=!0,d.value=null,V(y.value??r.item.url),z())}async function M(){if(!G(f.value))return;let e=y.value??r.item.url;l.value=!1,d.value=`generic`;let t=await st(e);d.value=t,r.reportAssetError?.({item:r.item,occurrenceKey:P(r.item),url:e,kind:t,surface:`grid`}),z()}function N(){G(g.value)&&(u.value=!0,l.value=!0,d.value=null,V(y.value??r.item.url),z(),L())}function F(){G(g.value)&&(u.value||(l.value=!1))}function I(){if(a.value.kind===`fallback`){R(!1);return}if(!r.surfaceActive){z();return}if(!b.value){R();return}if(_.value||k){k?.refresh();return}k=vr.request({assetType:a.value.kind,getPriority:W,onGrant(){_.value=!0,l.value=!1,d.value=null},url:a.value.url??r.item.url})}function L(){let e=g.value;if(!(!e||a.value.kind!==`video`)){if(w.value){e.pause();return}if(y.value&&o.value&&l.value){e.muted=!0,e.loop=!0,e.playsInline=!0,dt(e);return}try{e.currentTime=0}catch{}e.pause()}}function R(e=!0){_.value=a.value.kind===`fallback`,d.value=null,l.value=a.value.kind===`fallback`,e&&(U(),ee()),z()}function z(){k?.release(),k=null}function B(e){let t=p.value;if(!t){o.value=!0;return}o.value=ar(e?.boundingClientRect??t.getBoundingClientRect(),e?.rootBounds??m.value?.getBoundingClientRect()??null)}function V(e){if(!e)return;let t=P(r.item),n=`${t}|${e}`;A.has(n)||(A.add(n),r.reportAssetLoad?.({item:r.item,occurrenceKey:t,surface:`grid`,url:e}))}function H(){if(!E.value||C.retry())return;let e=P(r.item);A.forEach(t=>{t.startsWith(`${e}|`)&&A.delete(t)}),d.value=null,l.value=!1,_.value=!1,z(),I()}function U(){rr(f.value)}function ee(){ir(g.value)}function W(){let e=p.value;if(!e)return 1/0;let t=e.getBoundingClientRect();if(m.value){let e=m.value.getBoundingClientRect(),n=e.top+e.height/2;return Math.abs((t.top+t.bottom)/2-n)}let n=window.innerHeight/2;return Math.abs((t.top+t.bottom)/2-n)}function G(e){let t=or(y.value);return!e||!t?!1:or(`currentSrc`in e&&e.currentSrc||e.getAttribute(`src`))===t}function K(){i(`open`)}function q(){s.value=!0}function J(e){let t=e.relatedTarget;p.value&&t instanceof Node&&p.value.contains(t)||(s.value=!1)}return(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{ref_key:`rootRef`,ref:p,"data-testid":`vibe-list-card-inner`,class:(0,e.normalizeClass)([`group relative h-full w-full overflow-hidden border bg-[#0a0b0f] text-[#f7f1ea] transition-[border-color,transform] duration-300`,r.active?`border-white/28`:`border-white/12 hover:border-white/24`]),onFocusin:q,onFocusout:J,onPointerenter:n[0]||=e=>c.value=!0,onPointerleave:n[1]||=e=>c.value=!1},[(0,e.createElementVNode)(`button`,{type:`button`,"data-testid":`vibe-list-card-open`,class:`absolute inset-0 z-[1] block h-full w-full cursor-pointer text-left focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-4 focus-visible:outline-[#f7f1ea]`,"aria-label":r.item.title||`Open item ${r.index+1}`,onClick:K},null,8,Sr),D.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Cr,[(0,e.createElementVNode)(`span`,wr,[(0,e.createVNode)((0,e.unref)(h),{class:`h-5 w-5 animate-spin stroke-[1.9] text-[#f7f1ea]/78`,"aria-hidden":`true`})])])):(0,e.createCommentVNode)(``,!0),x.value&&y.value&&!T.value?((0,e.openBlock)(),(0,e.createElementBlock)(`img`,{key:1,ref_key:`imageRef`,ref:f,src:y.value,alt:a.value.label,draggable:`false`,class:(0,e.normalizeClass)([`block h-full w-full object-cover transition-opacity duration-300`,l.value?`pointer-events-none opacity-100`:`pointer-events-none opacity-0`]),onLoad:j,onError:M},null,42,Tr)):S.value&&y.value&&!T.value?((0,e.openBlock)(),(0,e.createElementBlock)(`video`,{key:2,ref_key:`videoRef`,ref:g,src:y.value,muted:``,loop:``,playsinline:``,preload:`metadata`,class:(0,e.normalizeClass)([`block h-full w-full object-cover transition-opacity duration-300`,l.value?`pointer-events-none opacity-100`:`pointer-events-none opacity-0`]),onCanplay:N,onError:M,onLoadstart:F,onPlaying:N,onStalled:F,onWaiting:F},null,42,Er)):T.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:3,"data-testid":`vibe-list-card-error`,"data-kind":w.value,class:`pointer-events-none relative z-[2] grid h-full w-full place-items-center bg-[radial-gradient(circle_at_center,rgba(239,68,68,0.12),transparent_65%),linear-gradient(180deg,rgba(255,255,255,0.04),rgba(255,255,255,0.02))]`},[(0,e.createElementVNode)(`div`,Or,[(0,e.createVNode)((0,e.unref)(v),{class:`h-6 w-6 stroke-[1.8] text-[#f7f1ea]/78`,"aria-hidden":`true`}),(0,e.createElementVNode)(`span`,kr,(0,e.toDisplayString)((0,e.unref)(at)(w.value)),1),E.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`pointer-events-auto inline-flex items-center justify-center border border-white/14 bg-black/35 px-3 py-2 text-[0.62rem] font-bold uppercase tracking-[0.22em] text-[#f7f1ea]/82 backdrop-blur-[18px] transition hover:border-white/28 hover:bg-black/50`,onClick:(0,e.withModifiers)(H,[`stop`])},` Retry `)):(0,e.createCommentVNode)(``,!0)])],8,Dr)):((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Ar,[(0,e.createElementVNode)(`div`,jr,[(0,e.renderSlot)(t.$slots,`item-icon`,{icon:(0,e.unref)(Be)(r.item.type),item:r.item},()=>[((0,e.openBlock)(),(0,e.createBlock)((0,e.resolveDynamicComponent)((0,e.unref)(Be)(r.item.type)),{class:`h-6 w-6 stroke-[1.8] text-[#f7f1ea]/78`,"aria-hidden":`true`}))])])])),(0,e.createElementVNode)(`div`,Mr,[(0,e.renderSlot)(t.$slots,`grid-item-overlay`,{active:r.active,focused:s.value,hovered:c.value,index:r.index,item:r.item,openFullscreen:K})])],34))}}),Pr={class:`relative h-full min-h-0 bg-[radial-gradient(circle_at_top_center,rgba(255,255,255,0.04),transparent_28%),linear-gradient(180deg,#06070b,#05060a)]`},Fr={class:`pointer-events-none absolute inset-x-0 top-0 z-[2] flex justify-end p-6`},Ir={"data-testid":`vibe-pagination`,class:`inline-flex shrink-0 items-center gap-2 whitespace-nowrap border border-white/14 bg-black/40 px-3 py-2 text-[0.63rem] font-bold uppercase tracking-[0.12em] text-[#f7f1ea]/72 backdrop-blur-[18px] min-[721px]:gap-3 min-[721px]:px-4 min-[721px]:py-3 min-[721px]:text-[0.74rem] min-[721px]:tracking-[0.2em]`},Lr={class:`whitespace-nowrap`},Rr={key:0,class:`whitespace-nowrap border-l border-white/12 pl-2 text-[#f7f1ea]/56 min-[721px]:pl-3`},zr=[`data-active`,`data-index`,`data-item-id`,`data-occurrence-key`],Br=[`data-item-id`],Vr={key:0,class:`pointer-events-none absolute inset-y-0 right-0 z-[3] hidden w-8 min-[1024px]:block`},Hr={key:1,class:`pointer-events-none absolute inset-x-0 bottom-0 z-[2] px-5 pb-5 sm:px-6`},Ur={class:`mx-auto flex w-full justify-center`},Wr=(0,e.defineComponent)({__name:`ListSurface`,props:{active:{type:Boolean,default:!0},activeIndex:{default:0},allowExhaustedNextPageRefresh:{type:Boolean,default:!1},commitPendingAppend:{type:[Function,null],default:null},emptyStateMode:{default:`inline`},errorMessage:{default:null},hasNextPage:{type:Boolean,default:!1},hasPreviousPage:{type:Boolean,default:!1},items:{},loading:{type:Boolean,default:!1},pendingAppendItems:{default:()=>[]},paginationDetail:{default:null},phase:{default:null},reportAssetError:{type:[Function,null],default:null},reportAssetLoad:{type:[Function,null],default:null},requestNextPage:{type:[Function,null],default:null},requestPreviousPage:{type:[Function,null],default:null},showStatusBadges:{type:Boolean,default:!0}},emits:[`boundary-load-progress`,`open-fullscreen`,`update:activeIndex`],setup(t,{emit:n}){let r=t,i=(0,e.useSlots)(),a=n,o=$n({active:(0,e.toRef)(r,`active`),allowExhaustedNextPageRefresh:(0,e.toRef)(r,`allowExhaustedNextPageRefresh`),items:(0,e.toRef)(r,`items`),activeIndex:(0,e.toRef)(r,`activeIndex`),loading:(0,e.toRef)(r,`loading`),hasNextPage:(0,e.toRef)(r,`hasNextPage`),hasPreviousPage:(0,e.toRef)(r,`hasPreviousPage`),paginationDetail:(0,e.toRef)(r,`paginationDetail`),pendingAppendItems:(0,e.toRef)(r,`pendingAppendItems`),commitPendingAppend:(0,e.toRef)(r,`commitPendingAppend`),requestNextPage:(0,e.toRef)(r,`requestNextPage`),requestPreviousPage:(0,e.toRef)(r,`requestPreviousPage`),setActiveIndex(e){a(`update:activeIndex`,e)}}),s=(0,e.computed)(()=>Xe({itemCount:r.items.length,loading:r.loading,phase:r.phase})),c=(0,e.computed)(()=>Ze({errorMessage:r.errorMessage,hasItems:r.items.length>0,hasNextPage:r.hasNextPage,phase:s.value,surface:`grid`})),l=(0,e.computed)(()=>!r.showStatusBadges||!c.value?null:{activeIndex:o.resolvedActiveIndex.value,kind:c.value.kind,loading:r.loading,message:c.value.message,paginationDetail:r.paginationDetail,total:r.items.length}),u=(0,e.computed)(()=>!l.value||!i[`grid-status`]?[]:i[`grid-status`](l.value)),d=(0,e.computed)(()=>Ge(u.value)),f=(0,e.computed)(()=>r.items.length+o.leavingItems.value.length),{emptyStateProps:p,showBadgeEmptyState:m,showCustomEmptyState:h,showInlineEmptyState:g}=Je({emptyStateMode:(0,e.toRef)(r,`emptyStateMode`),itemCount:f,loading:(0,e.toRef)(r,`loading`),renderSlot:i[`empty-state`],surface:`grid`});return(0,e.watch)([o.nextBoundaryLoadProgress,o.previousBoundaryLoadProgress],([e,t])=>{a(`boundary-load-progress`,{nextBoundaryLoadProgress:e,previousBoundaryLoadProgress:t})},{immediate:!0}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Pr,[(0,e.createElementVNode)(`div`,Fr,[(0,e.createElementVNode)(`span`,Ir,[(0,e.createElementVNode)(`span`,Lr,(0,e.toDisplayString)((0,e.unref)(o).paginationLabel.value),1),r.paginationDetail?((0,e.openBlock)(),(0,e.createElementBlock)(`span`,Rr,(0,e.toDisplayString)(r.paginationDetail),1)):(0,e.createCommentVNode)(``,!0)])]),(0,e.createElementVNode)(`div`,{ref:(0,e.unref)(o).scrollViewportRef,"data-testid":`vibe-list-scroll`,class:`h-full min-h-0 overflow-y-auto overflow-x-hidden [overflow-anchor:none] [scrollbar-width:none] [-ms-overflow-style:none] [&::-webkit-scrollbar]:hidden`,onScroll:n[0]||=(...t)=>(0,e.unref)(o).onScroll&&(0,e.unref)(o).onScroll(...t),onWheel:n[1]||=(...t)=>(0,e.unref)(o).onWheel&&(0,e.unref)(o).onWheel(...t)},[(0,e.createElementVNode)(`div`,{"data-testid":`vibe-list-content`,class:`relative`,style:(0,e.normalizeStyle)({height:`${(0,e.unref)(o).containerHeight.value}px`})},[((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(o).renderedItems.value,({item:n,index:s})=>((0,e.openBlock)(),(0,e.createElementBlock)(`article`,{key:(0,e.unref)(P)(n),"data-testid":`vibe-list-card`,"data-active":s===(0,e.unref)(o).resolvedActiveIndex.value?`true`:`false`,"data-index":s,"data-item-id":n.id,"data-occurrence-key":(0,e.unref)(P)(n),class:`absolute will-change-transform`,style:(0,e.normalizeStyle)((0,e.unref)(o).getCardStyle(s))},[(0,e.createVNode)(Nr,{active:s===(0,e.unref)(o).resolvedActiveIndex.value,index:s,item:n,"report-asset-error":r.reportAssetError,"report-asset-load":r.reportAssetLoad,"surface-active":r.active,onOpen:e=>a(`open-fullscreen`,s)},(0,e.createSlots)({_:2},[i[`grid-item-overlay`]?{name:`grid-item-overlay`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`grid-item-overlay`,(0,e.mergeProps)({ref_for:!0},n))]),key:`0`}:void 0,i[`item-icon`]?{name:`item-icon`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`item-icon`,(0,e.mergeProps)({ref_for:!0},n))]),key:`1`}:void 0]),1032,[`active`,`index`,`item`,`report-asset-error`,`report-asset-load`,`surface-active`,`onOpen`])],12,zr))),128)),((0,e.openBlock)(!0),(0,e.createElementBlock)(e.Fragment,null,(0,e.renderList)((0,e.unref)(o).leavingItems.value,n=>((0,e.openBlock)(),(0,e.createElementBlock)(`article`,{key:`leaving-${(0,e.unref)(P)(n.item)}`,"data-testid":`vibe-list-card-leaving`,"data-item-id":n.item.id,class:`pointer-events-none absolute z-[2] will-change-[opacity,transform]`,style:(0,e.normalizeStyle)((0,e.unref)(o).getLeavingCardStyle(n.item))},[(0,e.createVNode)(Nr,{active:!1,index:-1,item:n.item,"report-asset-error":r.reportAssetError,"report-asset-load":r.reportAssetLoad,"surface-active":!1},(0,e.createSlots)({_:2},[i[`item-icon`]?{name:`item-icon`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`item-icon`,(0,e.mergeProps)({ref_for:!0},n))]),key:`0`}:void 0]),1032,[`item`,`report-asset-error`,`report-asset-load`])],12,Br))),128)),(0,e.unref)(g)&&(0,e.unref)(p)?((0,e.openBlock)(),(0,e.createBlock)(Ot,{key:0,message:(0,e.unref)(p).message,mode:(0,e.unref)(p).mode,surface:(0,e.unref)(p).surface},{default:(0,e.withCtx)(()=>[(0,e.unref)(h)?(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(p)))):(0,e.createCommentVNode)(``,!0)]),_:3},8,[`message`,`mode`,`surface`])):(0,e.createCommentVNode)(``,!0)],4)],544),(0,e.unref)(o).showScrollbar.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Vr,[n[2]||=(0,e.createElementVNode)(`div`,{class:`absolute bottom-6 right-3 top-6 w-px bg-white/8`},null,-1),(0,e.createElementVNode)(`div`,{"data-testid":`vibe-list-scrollbar-thumb`,class:(0,e.normalizeClass)([`absolute right-[0.625rem] w-1 bg-white/34 transition-[height,transform,background-color,opacity] duration-300 ease-out`,r.loading?`bg-white/52`:`bg-white/34`]),style:(0,e.normalizeStyle)((0,e.unref)(o).getScrollbarThumbStyle())},null,6)])):(0,e.createCommentVNode)(``,!0),i[`grid-footer`]?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Hr,[(0,e.createElementVNode)(`div`,Ur,[(0,e.renderSlot)(t.$slots,`grid-footer`)])])):(0,e.createCommentVNode)(``,!0),l.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,{key:2,class:(0,e.normalizeClass)([`pointer-events-none absolute inset-x-0 bottom-0 z-[3] flex justify-center px-6`,i[`grid-footer`]?`pb-24`:`pb-6`])},[d.value?(0,e.renderSlot)(t.$slots,`grid-status`,(0,e.normalizeProps)((0,e.mergeProps)({key:0},l.value))):((0,e.openBlock)(),(0,e.createElementBlock)(`span`,{key:1,"data-testid":`vibe-grid-status-badge`,class:(0,e.normalizeClass)([`inline-flex items-center border border-white/14 bg-black/55 px-4 py-3 text-[0.7rem] font-bold uppercase tracking-[0.18em] text-[#f7f1ea]/72 backdrop-blur-[18px]`,l.value.kind===`end`?`border-amber-300/35 text-amber-200`:l.value.kind===`failed`?`border-rose-400/45 text-rose-100`:``])},(0,e.toDisplayString)(l.value.message),3))],2)):(0,e.createCommentVNode)(``,!0),(0,e.unref)(m)&&(0,e.unref)(p)?((0,e.openBlock)(),(0,e.createBlock)(Ot,{key:3,class:(0,e.normalizeClass)([`z-[3]`,i[`grid-footer`]?`pb-24`:`pb-6`]),message:(0,e.unref)(p).message,mode:(0,e.unref)(p).mode,surface:(0,e.unref)(p).surface},{default:(0,e.withCtx)(()=>[(0,e.unref)(h)?(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.mergeProps)({key:0},(0,e.unref)(p)))):(0,e.createCommentVNode)(``,!0)]),_:3},8,[`class`,`message`,`mode`,`surface`])):(0,e.createCommentVNode)(``,!0)]))}}),Gr=[`data-surface-mode`],Kr={key:1,class:`absolute left-5 top-5 z-30 border border-amber-400/45 bg-black/35 px-4 py-2 text-xs font-medium uppercase tracking-[0.24em] text-amber-100 backdrop-blur`},qr=[`data-visible`,`inert`],Jr=[`data-visible`,`inert`],Yr={key:3,class:`relative z-[1] grid h-full w-full content-center justify-items-center gap-6 px-[clamp(2rem,4vw,3rem)] py-[clamp(2rem,4vw,3rem)] text-center`},Xr=(0,e.defineComponent)({name:`VibeLayout`,__name:`Layout`,props:{emptyStateMode:{},fillDelayMs:{},fillDelayStepMs:{},initialCursor:{},initialState:{},loopFullscreenVideo:{type:Boolean},mode:{},pageSize:{},paginationDetail:{},resolve:{type:Function},showDominantImageTone:{type:Boolean},showEndBadge:{type:Boolean},showStatusBadges:{type:Boolean},surfaceMode:{}},emits:[`asset-errors`,`asset-loads`,`update:activeIndex`,`update:surfaceMode`],setup(t,{expose:n,emit:r}){let i=t,a=(0,e.useSlots)(),o=r,s=de(i,o),c=S(e=>{o(`asset-errors`,e)}),l=C(e=>{o(`asset-loads`,e)});return(0,e.onBeforeUnmount)(()=>{c.stop(),l.stop()}),n({cancel:s.cancel,clearRemoved:s.clearRemoved,getRemovedIds:s.getRemovedIds,lockPageLoading:s.lockPageLoading,loadNext:s.loadNext,loadPrevious:s.loadPrevious,remove:s.remove,restore:s.restore,retry:s.retry,status:s.status,undo:s.undo,unlockPageLoading:s.unlockPageLoading}),(t,n)=>((0,e.openBlock)(),(0,e.createElementBlock)(`section`,{"data-testid":`vibe`,"data-surface-mode":(0,e.unref)(s).surfaceMode.value,class:`relative h-full min-h-0 overflow-hidden bg-[#05060a] text-[#f7f1ea]`},[(0,e.unref)(s).canRetryInitialLoad.value?((0,e.openBlock)(),(0,e.createElementBlock)(`button`,{key:0,type:`button`,class:`absolute left-5 top-5 z-30 inline-flex items-center border border-rose-400/55 bg-rose-500/18 px-4 py-2 text-xs font-medium uppercase tracking-[0.24em] text-white backdrop-blur transition hover:bg-rose-500/28`,onClick:n[0]||=(...t)=>(0,e.unref)(s).retryInitialLoad&&(0,e.unref)(s).retryInitialLoad(...t)},` Retry `)):(0,e.unref)(s).errorMessage.value&&(0,e.unref)(s).items.value.length>0?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Kr,(0,e.toDisplayString)((0,e.unref)(s).errorMessage.value),1)):(0,e.createCommentVNode)(``,!0),(0,e.unref)(s).isDesktop.value?((0,e.openBlock)(),(0,e.createElementBlock)(e.Fragment,{key:2},[(0,e.createVNode)(e.Transition,{appear:``,"enter-active-class":`transition-[opacity,transform] duration-300 ease-out`,"enter-from-class":`translate-y-3 opacity-0`,"enter-to-class":`translate-y-0 opacity-100`,"leave-active-class":`transition-[opacity,transform] duration-300 ease-out`,"leave-from-class":`translate-y-0 opacity-100`,"leave-to-class":`translate-y-3 opacity-0`},{default:(0,e.withCtx)(()=>[(0,e.withDirectives)((0,e.createElementVNode)(`div`,{"data-testid":`vibe-list-surface`,"data-visible":(0,e.unref)(s).surfaceMode.value===`list`?`true`:`false`,inert:(0,e.unref)(s).surfaceMode.value!==`list`,class:`absolute inset-0 z-[2]`},[(0,e.createVNode)(Wr,{active:(0,e.unref)(s).surfaceMode.value===`list`,"allow-exhausted-next-page-refresh":(0,e.unref)(s).canRefreshExhaustedNextPage.value,items:(0,e.unref)(s).items.value,"active-index":(0,e.unref)(s).activeIndex.value,"error-message":(0,e.unref)(s).errorMessage.value,loading:(0,e.unref)(s).loading.value,"has-next-page":(0,e.unref)(s).hasNextPage.value,"has-previous-page":(0,e.unref)(s).hasPreviousPage.value,"pending-append-items":(0,e.unref)(s).pendingAppendItems.value,phase:(0,e.unref)(s).phase.value,"commit-pending-append":(0,e.unref)(s).commitPendingAppend,"pagination-detail":(0,e.unref)(s).paginationDetail.value,"report-asset-error":(0,e.unref)(c).report,"report-asset-load":(0,e.unref)(l).report,"request-next-page":(0,e.unref)(s).prefetchNextPage,"request-previous-page":(0,e.unref)(s).prefetchPreviousPage,"empty-state-mode":i.emptyStateMode,"show-status-badges":i.showStatusBadges??!0,onBoundaryLoadProgress:(0,e.unref)(s).setBoundaryLoadProgress,onOpenFullscreen:(0,e.unref)(s).openFullscreen,"onUpdate:activeIndex":(0,e.unref)(s).setActiveIndex},(0,e.createSlots)({_:2},[a[`empty-state`]?{name:`empty-state`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`0`}:void 0,a[`grid-footer`]?{name:`grid-footer`,fn:(0,e.withCtx)(()=>[(0,e.renderSlot)(t.$slots,`grid-footer`)]),key:`1`}:void 0,a[`grid-item-overlay`]?{name:`grid-item-overlay`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`grid-item-overlay`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`2`}:void 0,a[`grid-status`]?{name:`grid-status`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`grid-status`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`3`}:void 0,a[`item-icon`]?{name:`item-icon`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`item-icon`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`4`}:void 0]),1032,[`active`,`allow-exhausted-next-page-refresh`,`items`,`active-index`,`error-message`,`loading`,`has-next-page`,`has-previous-page`,`pending-append-items`,`phase`,`commit-pending-append`,`pagination-detail`,`report-asset-error`,`report-asset-load`,`request-next-page`,`request-previous-page`,`empty-state-mode`,`show-status-badges`,`onBoundaryLoadProgress`,`onOpenFullscreen`,`onUpdate:activeIndex`])],8,qr),[[e.vShow,(0,e.unref)(s).surfaceMode.value===`list`]])]),_:3}),(0,e.createVNode)(e.Transition,{appear:``,"enter-active-class":`transition-[opacity,transform] duration-300 ease-out`,"enter-from-class":`-translate-y-3 opacity-0`,"enter-to-class":`translate-y-0 opacity-100`,"leave-active-class":`transition-[opacity,transform] duration-300 ease-out`,"leave-from-class":`translate-y-0 opacity-100`,"leave-to-class":`-translate-y-3 opacity-0`},{default:(0,e.withCtx)(()=>[(0,e.withDirectives)((0,e.createElementVNode)(`div`,{"data-testid":`vibe-fullscreen-surface`,"data-visible":(0,e.unref)(s).surfaceMode.value===`fullscreen`?`true`:`false`,inert:(0,e.unref)(s).surfaceMode.value!==`fullscreen`,class:`absolute inset-0 z-[3]`},[(0,e.createVNode)(dn,{items:(0,e.unref)(s).items.value,active:(0,e.unref)(s).surfaceMode.value===`fullscreen`,"active-index":(0,e.unref)(s).activeIndex.value,"error-message":(0,e.unref)(s).errorMessage.value,loading:(0,e.unref)(s).loading.value,"has-next-page":(0,e.unref)(s).hasNextPage.value,"pagination-detail":(0,e.unref)(s).paginationDetail.value,phase:(0,e.unref)(s).phase.value,"report-asset-error":(0,e.unref)(c).report,"report-asset-load":(0,e.unref)(l).report,"empty-state-mode":i.emptyStateMode,"loop-fullscreen-video":i.loopFullscreenVideo??!0,"show-dominant-image-tone":i.showDominantImageTone??!0,"show-end-badge":i.showEndBadge??!0,"show-status-badges":i.showStatusBadges??!0,"show-back-to-list":(0,e.unref)(s).showBackToList.value,onBackToList:(0,e.unref)(s).returnToList,"onUpdate:activeIndex":(0,e.unref)(s).setActiveIndex},(0,e.createSlots)({_:2},[a[`empty-state`]?{name:`empty-state`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`0`}:void 0,a[`fullscreen-overlay`]?{name:`fullscreen-overlay`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-overlay`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`1`}:void 0,a[`fullscreen-aside`]?{name:`fullscreen-aside`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-aside`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`2`}:void 0,a[`fullscreen-header-actions`]?{name:`fullscreen-header-actions`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-header-actions`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`3`}:void 0,a[`fullscreen-status`]?{name:`fullscreen-status`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-status`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`4`}:void 0,a[`item-icon`]?{name:`item-icon`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`item-icon`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`5`}:void 0]),1032,[`items`,`active`,`active-index`,`error-message`,`loading`,`has-next-page`,`pagination-detail`,`phase`,`report-asset-error`,`report-asset-load`,`empty-state-mode`,`loop-fullscreen-video`,`show-dominant-image-tone`,`show-end-badge`,`show-status-badges`,`show-back-to-list`,`onBackToList`,`onUpdate:activeIndex`])],8,Jr),[[e.vShow,(0,e.unref)(s).surfaceMode.value===`fullscreen`]])]),_:3})],64)):(0,e.unref)(s).items.value.length===0&&(0,e.unref)(s).loading.value?((0,e.openBlock)(),(0,e.createElementBlock)(`div`,Yr,[(0,e.createVNode)((0,e.unref)(h),{class:`size-10 animate-spin text-[#f7f1ea]/82`,"aria-hidden":`true`}),n[1]||=(0,e.createElementVNode)(`p`,{class:`m-0 text-[0.9rem] font-semibold uppercase tracking-[0.22em] text-[#f7f1ea]/72`},` Loading... `,-1)])):((0,e.openBlock)(),(0,e.createBlock)(dn,{key:4,items:(0,e.unref)(s).items.value,active:!0,"active-index":(0,e.unref)(s).activeIndex.value,"error-message":(0,e.unref)(s).errorMessage.value,loading:(0,e.unref)(s).loading.value,"has-next-page":(0,e.unref)(s).hasNextPage.value,"pagination-detail":(0,e.unref)(s).paginationDetail.value,phase:(0,e.unref)(s).phase.value,"report-asset-error":(0,e.unref)(c).report,"report-asset-load":(0,e.unref)(l).report,"empty-state-mode":i.emptyStateMode,"loop-fullscreen-video":i.loopFullscreenVideo??!0,"show-dominant-image-tone":i.showDominantImageTone??!0,"show-end-badge":i.showEndBadge??!0,"show-status-badges":i.showStatusBadges??!0,"show-back-to-list":!1,onBackToList:(0,e.unref)(s).returnToList,"onUpdate:activeIndex":(0,e.unref)(s).setActiveIndex},(0,e.createSlots)({_:2},[a[`empty-state`]?{name:`empty-state`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`empty-state`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`0`}:void 0,a[`fullscreen-overlay`]?{name:`fullscreen-overlay`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-overlay`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`1`}:void 0,a[`fullscreen-aside`]?{name:`fullscreen-aside`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-aside`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`2`}:void 0,a[`fullscreen-header-actions`]?{name:`fullscreen-header-actions`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-header-actions`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`3`}:void 0,a[`fullscreen-status`]?{name:`fullscreen-status`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`fullscreen-status`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`4`}:void 0,a[`item-icon`]?{name:`item-icon`,fn:(0,e.withCtx)(n=>[(0,e.renderSlot)(t.$slots,`item-icon`,(0,e.normalizeProps)((0,e.guardReactiveProps)(n)))]),key:`5`}:void 0]),1032,[`items`,`active-index`,`error-message`,`loading`,`has-next-page`,`pagination-detail`,`phase`,`report-asset-error`,`report-asset-load`,`empty-state-mode`,`loop-fullscreen-video`,`show-dominant-image-tone`,`show-end-badge`,`show-status-badges`,`onBackToList`,`onUpdate:activeIndex`]))],8,Gr))}}),Zr={install(e){e.component(`VibeLayout`,Xr)}};exports.VibeLayout=Xr,exports.VibePlugin=Zr,exports.default=Zr;
|
package/lib/index.js
CHANGED
|
@@ -3487,7 +3487,7 @@ var si = ["aria-label"], ci = {
|
|
|
3487
3487
|
}, Di = {
|
|
3488
3488
|
key: 1,
|
|
3489
3489
|
class: "pointer-events-none absolute inset-x-0 bottom-0 z-[2] px-5 pb-5 sm:px-6"
|
|
3490
|
-
}, Oi = { class: "mx-auto flex w-full
|
|
3490
|
+
}, Oi = { class: "mx-auto flex w-full justify-center" }, ki = /* @__PURE__ */ d({
|
|
3491
3491
|
__name: "ListSurface",
|
|
3492
3492
|
props: {
|
|
3493
3493
|
active: {
|