triiiceratops 0.6.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -1,42 +1,42 @@
1
- var ot = Object.defineProperty;
2
- var Ve = (i) => {
1
+ var ft = Object.defineProperty;
2
+ var qe = (i) => {
3
3
  throw TypeError(i);
4
4
  };
5
- var lt = (i, t, r) => t in i ? ot(i, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : i[t] = r;
6
- var $e = (i, t, r) => lt(i, typeof t != "symbol" ? t + "" : t, r), ct = (i, t, r) => t.has(i) || Ve("Cannot " + r);
7
- var A = (i, t, r) => (ct(i, t, "read from private field"), r ? r.call(i) : t.get(i)), K = (i, t, r) => t.has(i) ? Ve("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(i) : t.set(i, r);
5
+ var ut = (i, t, r) => t in i ? ft(i, t, { enumerable: !0, configurable: !0, writable: !0, value: r }) : i[t] = r;
6
+ var Ne = (i, t, r) => ut(i, typeof t != "symbol" ? t + "" : t, r), gt = (i, t, r) => t.has(i) || qe("Cannot " + r);
7
+ var M = (i, t, r) => (gt(i, t, "read from private field"), r ? r.call(i) : t.get(i)), K = (i, t, r) => t.has(i) ? qe("Cannot add the same private member more than once") : t instanceof WeakSet ? t.add(i) : t.set(i, r);
8
8
  import "svelte/internal/disclose-version";
9
9
  import * as e from "svelte/internal/client";
10
- import { onMount as dt, getContext as oe, setContext as ft, onDestroy as ut } from "svelte";
11
- import * as gt from "manifesto.js";
12
- import Be from "openseadragon";
13
- import vt from "phosphor-svelte/lib/CaretLeft";
14
- import ht from "phosphor-svelte/lib/CaretRight";
15
- import { m as B, l as pt } from "./plugin-COh2S4OT.js";
16
- import { B as mi } from "./plugin-COh2S4OT.js";
17
- import mt from "phosphor-svelte/lib/CaretDown";
18
- import He from "phosphor-svelte/lib/Eye";
19
- import Ne from "phosphor-svelte/lib/EyeSlash";
20
- import qe from "phosphor-svelte/lib/X";
21
- import "svelte/internal/flags/legacy";
22
- import bt from "phosphor-svelte/lib/ChatCenteredText";
23
- import _t from "phosphor-svelte/lib/CornersIn";
24
- import yt from "phosphor-svelte/lib/CornersOut";
25
- import wt from "phosphor-svelte/lib/Info";
26
- import Qe from "phosphor-svelte/lib/MagnifyingGlass";
27
- import xt from "phosphor-svelte/lib/List";
28
- import St from "phosphor-svelte/lib/Slideshow";
29
- import At from "phosphor-svelte/lib/PuzzlePiece";
30
- var de;
31
- class It {
10
+ import { onMount as vt, getContext as fe, setContext as ht, onDestroy as pt } from "svelte";
11
+ import * as mt from "manifesto.js";
12
+ import Qe from "openseadragon";
13
+ import bt from "phosphor-svelte/lib/CaretLeft";
14
+ import _t from "phosphor-svelte/lib/CaretRight";
15
+ import { m as E, l as yt } from "./plugin-DMqSBxJD.js";
16
+ import { B as $i } from "./plugin-DMqSBxJD.js";
17
+ import wt from "phosphor-svelte/lib/CaretDown";
18
+ import We from "phosphor-svelte/lib/Eye";
19
+ import Ue from "phosphor-svelte/lib/EyeSlash";
20
+ import Fe from "phosphor-svelte/lib/X";
21
+ import xt from "phosphor-svelte/lib/ChatCenteredText";
22
+ import St from "phosphor-svelte/lib/CornersIn";
23
+ import At from "phosphor-svelte/lib/CornersOut";
24
+ import It from "phosphor-svelte/lib/Info";
25
+ import Ze from "phosphor-svelte/lib/MagnifyingGlass";
26
+ import Ct from "phosphor-svelte/lib/List";
27
+ import kt from "phosphor-svelte/lib/Slideshow";
28
+ import Pt from "phosphor-svelte/lib/PuzzlePiece";
29
+ import "phosphor-svelte/lib/Spinner";
30
+ var ge;
31
+ class Mt {
32
32
  constructor() {
33
- K(this, de, e.state(e.proxy({})));
33
+ K(this, ge, e.state(e.proxy({})));
34
34
  }
35
35
  get manifests() {
36
- return e.get(A(this, de));
36
+ return e.get(M(this, ge));
37
37
  }
38
38
  set manifests(t) {
39
- e.set(A(this, de), t, !0);
39
+ e.set(M(this, ge), t, !0);
40
40
  }
41
41
  async fetchManifest(t) {
42
42
  if (!this.manifests[t]) {
@@ -45,8 +45,8 @@ class It {
45
45
  const r = await fetch(t);
46
46
  if (!r.ok)
47
47
  throw new Error(`HTTP error! status: ${r.status}`);
48
- const s = await r.json(), n = gt.parseManifest(s);
49
- this.manifests[t] = { json: s, manifesto: n, isFetching: !1 };
48
+ const s = await r.json(), a = mt.parseManifest(s);
49
+ this.manifests[t] = { json: s, manifesto: a, isFetching: !1 };
50
50
  } catch (r) {
51
51
  this.manifests[t] = { error: r.message, isFetching: !1 };
52
52
  }
@@ -84,174 +84,238 @@ class It {
84
84
  manualGetAnnotations(t, r) {
85
85
  const s = this.getManifest(t);
86
86
  if (!s) return [];
87
- const n = s.getSequences()[0].getCanvasById(r);
88
- if (!n) return [];
89
- const a = n.__jsonld;
90
- let y = [];
91
- const I = (c) => c.resources || c.items || [];
92
- return a.otherContent && a.otherContent.forEach((c) => {
93
- const w = c["@id"] || c.id;
94
- if (w && !c.resources) {
95
- const k = this.manifests[w];
96
- if (k) {
97
- if (k.json) {
98
- const z = I(k.json);
99
- y.push(...z);
87
+ const a = s.getSequences()[0].getCanvasById(r);
88
+ if (!a) return [];
89
+ const o = a.__jsonld;
90
+ let I = [];
91
+ const b = (w) => w.resources || w.items || [];
92
+ return o.otherContent && o.otherContent.forEach((w) => {
93
+ const P = w["@id"] || w.id;
94
+ if (P && !w.resources) {
95
+ const g = this.manifests[P];
96
+ if (g) {
97
+ if (g.json) {
98
+ const O = b(g.json);
99
+ I.push(...O);
100
100
  }
101
101
  } else
102
- this.fetchAnnotationList(w);
103
- } else c.resources && y.push(...c.resources);
104
- }), a.annotations && a.annotations.forEach((c) => {
105
- const w = c.id || c["@id"];
106
- if (w && !c.items) {
107
- const k = this.manifests[w];
108
- if (k) {
109
- if (k.json) {
110
- const z = I(k.json);
111
- y.push(...z);
102
+ this.fetchAnnotationList(P);
103
+ } else w.resources && I.push(...w.resources);
104
+ }), o.annotations && o.annotations.forEach((w) => {
105
+ const P = w.id || w["@id"];
106
+ if (P && !w.items) {
107
+ const g = this.manifests[P];
108
+ if (g) {
109
+ if (g.json) {
110
+ const O = b(g.json);
111
+ I.push(...O);
112
112
  }
113
113
  } else
114
- this.fetchAnnotationList(w);
115
- } else c.items && y.push(...c.items);
116
- }), y;
114
+ this.fetchAnnotationList(P);
115
+ } else w.items && I.push(...w.items);
116
+ }), I;
117
117
  }
118
118
  }
119
- de = new WeakMap();
120
- const ae = new It();
121
- var fe, ue, ge, ve, he, pe, me, be, _e, ye, we, xe, Se, Ae, Ie, ke, Ce, Pe, Me, ze, Te, je, Le, Oe;
122
- class kt {
119
+ ge = new WeakMap();
120
+ const le = new Mt();
121
+ var ve, he, pe, me, be, _e, ye, we, xe, Se, Ae, Ie, Ce, ke, Pe, Me, Te, ze, je, Le, Re, De, Ee, Ge, Oe, Be;
122
+ class Tt {
123
123
  constructor(t = null, r = null, s = []) {
124
- K(this, fe, e.state(null));
125
- K(this, ue, e.state(null));
126
- K(this, ge, e.state(!1));
127
- K(this, ve, e.state(!1));
128
- K(this, he, e.state(!1));
124
+ K(this, ve, e.state(null));
125
+ K(this, he, e.state(null));
129
126
  K(this, pe, e.state(!1));
130
127
  K(this, me, e.state(!1));
131
128
  K(this, be, e.state(!1));
132
- K(this, _e, e.state("bottom"));
133
- K(this, ye, e.state(e.proxy(/* @__PURE__ */ new Set())));
134
- K(this, we, e.state(e.proxy({ x: 20, y: 100 })));
135
- K(this, xe, e.state(e.proxy({ width: 300, height: 400 })));
136
- K(this, Se, e.state(!1));
137
- K(this, Ae, e.state(e.proxy({ x: 0, y: 0 })));
138
- K(this, Ie, e.state(null));
139
- K(this, ke, e.state(""));
140
- K(this, Ce, e.state(e.proxy([])));
141
- K(this, Pe, e.state(!1));
142
- K(this, Me, e.state(!1));
143
- K(this, ze, e.state(e.proxy([])));
129
+ K(this, _e, e.state(!1));
130
+ K(this, ye, e.state(!1));
131
+ K(this, we, e.state(!1));
132
+ K(this, xe, e.state("bottom"));
133
+ K(this, Se, e.state(e.proxy(/* @__PURE__ */ new Set())));
134
+ K(this, Ae, e.state(e.proxy({})));
144
135
  K(
145
136
  this,
146
- Te,
137
+ Ie,
138
+ // Gallery State (Lifted for persistence during re-docking)
139
+ e.state(e.proxy({ x: 20, y: 100 }))
140
+ );
141
+ K(this, Ce, e.state(e.proxy({ width: 300, height: 400 })));
142
+ K(this, ke, e.state(!1));
143
+ K(this, Pe, e.state(e.proxy({ x: 0, y: 0 })));
144
+ K(this, Me, e.state(null));
145
+ K(this, Te, e.state(null));
146
+ Ne(this, "eventTarget", null);
147
+ K(this, ze, e.state(""));
148
+ K(this, je, e.state(e.proxy([])));
149
+ K(this, Le, e.state(!1));
150
+ K(this, Re, e.state(!1));
151
+ K(this, De, e.state(e.proxy([])));
152
+ K(
153
+ this,
154
+ Ee,
147
155
  // ==================== PLUGIN STATE ====================
148
156
  /** Registered plugins */
149
157
  e.state(e.proxy([]))
150
158
  );
151
- K(this, je, e.state(e.proxy([])));
152
- K(this, Le, e.state(e.proxy([])));
153
- K(this, Oe, e.state(null));
154
- $e(this, "pluginEventHandlers", /* @__PURE__ */ new Map());
155
- this.manifestId = t || null, this.canvasId = r || null, this.manifestId && ae.fetchManifest(this.manifestId);
156
- for (const n of s)
157
- this.registerPlugin(n);
159
+ K(this, Ge, e.state(e.proxy([])));
160
+ K(this, Oe, e.state(e.proxy([])));
161
+ K(this, Be, e.state(null));
162
+ Ne(this, "pluginEventHandlers", /* @__PURE__ */ new Map());
163
+ this.manifestId = t || null, this.canvasId = r || null, this.manifestId && le.fetchManifest(this.manifestId);
164
+ for (const a of s)
165
+ this.registerPlugin(a);
158
166
  }
159
167
  get manifestId() {
160
- return e.get(A(this, fe));
168
+ return e.get(M(this, ve));
161
169
  }
162
170
  set manifestId(t) {
163
- e.set(A(this, fe), t, !0);
171
+ e.set(M(this, ve), t, !0);
164
172
  }
165
173
  get canvasId() {
166
- return e.get(A(this, ue));
174
+ return e.get(M(this, he));
167
175
  }
168
176
  set canvasId(t) {
169
- e.set(A(this, ue), t, !0);
177
+ e.set(M(this, he), t, !0);
170
178
  }
171
179
  get showAnnotations() {
172
- return e.get(A(this, ge));
180
+ return e.get(M(this, pe));
173
181
  }
174
182
  set showAnnotations(t) {
175
- e.set(A(this, ge), t, !0);
183
+ e.set(M(this, pe), t, !0);
176
184
  }
177
185
  get showThumbnailGallery() {
178
- return e.get(A(this, ve));
186
+ return e.get(M(this, me));
179
187
  }
180
188
  set showThumbnailGallery(t) {
181
- e.set(A(this, ve), t, !0);
189
+ e.set(M(this, me), t, !0);
182
190
  }
183
191
  get isGalleryDockedBottom() {
184
- return e.get(A(this, he));
192
+ return e.get(M(this, be));
185
193
  }
186
194
  set isGalleryDockedBottom(t) {
187
- e.set(A(this, he), t, !0);
195
+ e.set(M(this, be), t, !0);
188
196
  }
189
197
  get isGalleryDockedRight() {
190
- return e.get(A(this, pe));
198
+ return e.get(M(this, _e));
191
199
  }
192
200
  set isGalleryDockedRight(t) {
193
- e.set(A(this, pe), t, !0);
201
+ e.set(M(this, _e), t, !0);
194
202
  }
195
203
  get isFullScreen() {
196
- return e.get(A(this, me));
204
+ return e.get(M(this, ye));
197
205
  }
198
206
  set isFullScreen(t) {
199
- e.set(A(this, me), t, !0);
207
+ e.set(M(this, ye), t, !0);
200
208
  }
201
209
  get showMetadataDialog() {
202
- return e.get(A(this, be));
210
+ return e.get(M(this, we));
203
211
  }
204
212
  set showMetadataDialog(t) {
205
- e.set(A(this, be), t, !0);
213
+ e.set(M(this, we), t, !0);
206
214
  }
207
215
  get dockSide() {
208
- return e.get(A(this, _e));
216
+ return e.get(M(this, xe));
209
217
  }
210
218
  set dockSide(t) {
211
- e.set(A(this, _e), t, !0);
219
+ e.set(M(this, xe), t, !0);
212
220
  }
213
221
  get visibleAnnotationIds() {
214
- return e.get(A(this, ye));
222
+ return e.get(M(this, Se));
215
223
  }
216
224
  set visibleAnnotationIds(t) {
217
- e.set(A(this, ye), t, !0);
225
+ e.set(M(this, Se), t, !0);
226
+ }
227
+ get config() {
228
+ return e.get(M(this, Ae));
229
+ }
230
+ set config(t) {
231
+ e.set(M(this, Ae), t, !0);
232
+ }
233
+ get showRightMenu() {
234
+ return this.config.showRightMenu ?? !0;
235
+ }
236
+ get showLeftMenu() {
237
+ return this.config.showLeftMenu ?? !0;
238
+ }
239
+ get showCanvasNav() {
240
+ return this.config.showCanvasNav ?? !0;
218
241
  }
219
242
  get galleryPosition() {
220
- return e.get(A(this, we));
243
+ return e.get(M(this, Ie));
221
244
  }
222
245
  set galleryPosition(t) {
223
- e.set(A(this, we), t, !0);
246
+ e.set(M(this, Ie), t, !0);
224
247
  }
225
248
  get gallerySize() {
226
- return e.get(A(this, xe));
249
+ return e.get(M(this, Ce));
227
250
  }
228
251
  set gallerySize(t) {
229
- e.set(A(this, xe), t, !0);
252
+ e.set(M(this, Ce), t, !0);
230
253
  }
231
254
  get isGalleryDragging() {
232
- return e.get(A(this, Se));
255
+ return e.get(M(this, ke));
233
256
  }
234
257
  set isGalleryDragging(t) {
235
- e.set(A(this, Se), t, !0);
258
+ e.set(M(this, ke), t, !0);
236
259
  }
237
260
  get galleryDragOffset() {
238
- return e.get(A(this, Ae));
261
+ return e.get(M(this, Pe));
239
262
  }
240
263
  set galleryDragOffset(t) {
241
- e.set(A(this, Ae), t, !0);
264
+ e.set(M(this, Pe), t, !0);
242
265
  }
243
266
  get dragOverSide() {
244
- return e.get(A(this, Ie));
267
+ return e.get(M(this, Me));
245
268
  }
246
269
  set dragOverSide(t) {
247
- e.set(A(this, Ie), t, !0);
270
+ e.set(M(this, Me), t, !0);
271
+ }
272
+ get galleryCenterPanelRect() {
273
+ return e.get(M(this, Te));
274
+ }
275
+ set galleryCenterPanelRect(t) {
276
+ e.set(M(this, Te), t, !0);
277
+ }
278
+ setEventTarget(t) {
279
+ this.eventTarget = t;
280
+ }
281
+ /**
282
+ * Get current state as a plain object snapshot.
283
+ * Safe to use outside Svelte's reactive system.
284
+ * NOTE: We calculate currentCanvasIndex inline to avoid triggering the canvases getter
285
+ * which can cause infinite loops when it auto-sets canvasId.
286
+ */
287
+ getSnapshot() {
288
+ let t = -1;
289
+ return this.manifestId && this.canvasId && (t = le.getCanvases(this.manifestId).findIndex((s) => s.id === this.canvasId)), {
290
+ manifestId: this.manifestId,
291
+ canvasId: this.canvasId,
292
+ currentCanvasIndex: t,
293
+ showAnnotations: this.showAnnotations,
294
+ showThumbnailGallery: this.showThumbnailGallery,
295
+ showSearchPanel: this.showSearchPanel,
296
+ isFullScreen: this.isFullScreen,
297
+ dockSide: this.dockSide
298
+ };
299
+ }
300
+ /**
301
+ * Dispatch a state change event to the web component.
302
+ * No-op if eventTarget is null (Svelte component usage).
303
+ *
304
+ * Uses queueMicrotask to dispatch asynchronously AFTER the current
305
+ * reactive cycle completes, preventing infinite update loops.
306
+ */
307
+ dispatchStateChange(t = "statechange") {
308
+ this.eventTarget && queueMicrotask(() => {
309
+ var r;
310
+ (r = this.eventTarget) == null || r.dispatchEvent(new CustomEvent(t, { detail: this.getSnapshot(), bubbles: !0, composed: !0 }));
311
+ });
248
312
  }
249
313
  get manifest() {
250
- return this.manifestId ? ae.getManifest(this.manifestId) : null;
314
+ return this.manifestId ? le.getManifest(this.manifestId) : null;
251
315
  }
252
316
  get canvases() {
253
317
  if (!this.manifestId) return [];
254
- const t = ae.getCanvases(this.manifestId);
318
+ const t = le.getCanvases(this.manifestId);
255
319
  return t.length > 0 && !this.canvasId && setTimeout(
256
320
  () => {
257
321
  !this.canvasId && t.length > 0 && (this.canvasId = t[0].id);
@@ -271,26 +335,29 @@ class kt {
271
335
  nextCanvas() {
272
336
  if (this.hasNext) {
273
337
  const t = this.currentCanvasIndex + 1, r = this.canvases[t];
274
- this.canvasId = r.id;
338
+ this.setCanvas(r.id);
275
339
  }
276
340
  }
277
341
  previousCanvas() {
278
342
  if (this.hasPrevious) {
279
343
  const t = this.currentCanvasIndex - 1, r = this.canvases[t];
280
- this.canvasId = r.id;
344
+ this.setCanvas(r.id);
281
345
  }
282
346
  }
283
347
  setManifest(t) {
284
- this.manifestId = t, this.canvasId = null, ae.fetchManifest(t);
348
+ this.manifestId = t, this.canvasId = null, le.fetchManifest(t), this.dispatchStateChange("manifestchange");
285
349
  }
286
350
  setCanvas(t) {
287
- this.canvasId = t;
351
+ this.canvasId = t, this.dispatchStateChange("canvaschange");
352
+ }
353
+ updateConfig(t) {
354
+ this.config = t, t.gallery && (t.gallery.open !== void 0 && (this.showThumbnailGallery = t.gallery.open), t.gallery.dockPosition !== void 0 && (this.dockSide = t.gallery.dockPosition)), t.search && t.search.open !== void 0 && (this.showSearchPanel = t.search.open), t.annotations && t.annotations.open !== void 0 && (this.showAnnotations = t.annotations.open);
288
355
  }
289
356
  toggleAnnotations() {
290
- this.showAnnotations = !this.showAnnotations;
357
+ this.showAnnotations = !this.showAnnotations, this.dispatchStateChange();
291
358
  }
292
359
  toggleThumbnailGallery() {
293
- this.showThumbnailGallery = !this.showThumbnailGallery;
360
+ this.showThumbnailGallery = !this.showThumbnailGallery, this.dispatchStateChange();
294
361
  }
295
362
  toggleFullScreen() {
296
363
  if (document.fullscreenElement)
@@ -306,37 +373,37 @@ class kt {
306
373
  this.showMetadataDialog = !this.showMetadataDialog;
307
374
  }
308
375
  get searchQuery() {
309
- return e.get(A(this, ke));
376
+ return e.get(M(this, ze));
310
377
  }
311
378
  set searchQuery(t) {
312
- e.set(A(this, ke), t, !0);
379
+ e.set(M(this, ze), t, !0);
313
380
  }
314
381
  get searchResults() {
315
- return e.get(A(this, Ce));
382
+ return e.get(M(this, je));
316
383
  }
317
384
  set searchResults(t) {
318
- e.set(A(this, Ce), t, !0);
385
+ e.set(M(this, je), t, !0);
319
386
  }
320
387
  get isSearching() {
321
- return e.get(A(this, Pe));
388
+ return e.get(M(this, Le));
322
389
  }
323
390
  set isSearching(t) {
324
- e.set(A(this, Pe), t, !0);
391
+ e.set(M(this, Le), t, !0);
325
392
  }
326
393
  get showSearchPanel() {
327
- return e.get(A(this, Me));
394
+ return e.get(M(this, Re));
328
395
  }
329
396
  set showSearchPanel(t) {
330
- e.set(A(this, Me), t, !0);
397
+ e.set(M(this, Re), t, !0);
331
398
  }
332
399
  toggleSearchPanel() {
333
- this.showSearchPanel = !this.showSearchPanel, this.showSearchPanel || (this.searchAnnotations = []);
400
+ this.showSearchPanel = !this.showSearchPanel, this.showSearchPanel || (this.searchAnnotations = []), this.dispatchStateChange();
334
401
  }
335
402
  get searchAnnotations() {
336
- return e.get(A(this, ze));
403
+ return e.get(M(this, De));
337
404
  }
338
405
  set searchAnnotations(t) {
339
- e.set(A(this, ze), t, !0);
406
+ e.set(M(this, De), t, !0);
340
407
  }
341
408
  get currentCanvasSearchAnnotations() {
342
409
  return this.canvasId ? this.searchAnnotations.filter((t) => t.canvasId === this.canvasId) : [];
@@ -346,119 +413,119 @@ class kt {
346
413
  if (t.trim()) {
347
414
  this.isSearching = !0, this.searchQuery = t, this.searchResults = [];
348
415
  try {
349
- const n = this.manifest;
350
- if (!n) throw new Error("No manifest loaded");
351
- let a = n.getService("http://iiif.io/api/search/1/search") || n.getService("http://iiif.io/api/search/0/search");
352
- if (a || n.__jsonld && n.__jsonld.service && (a = (Array.isArray(n.__jsonld.service) ? n.__jsonld.service : [n.__jsonld.service]).find((p) => p.profile === "http://iiif.io/api/search/1/search" || p.profile === "http://iiif.io/api/search/0/search")), !a) {
416
+ const a = this.manifest;
417
+ if (!a) throw new Error("No manifest loaded");
418
+ let o = a.getService("http://iiif.io/api/search/1/search") || a.getService("http://iiif.io/api/search/0/search");
419
+ if (o || a.__jsonld && a.__jsonld.service && (o = (Array.isArray(a.__jsonld.service) ? a.__jsonld.service : [a.__jsonld.service]).find((C) => C.profile === "http://iiif.io/api/search/1/search" || C.profile === "http://iiif.io/api/search/0/search")), !o) {
353
420
  console.warn("No IIIF search service found in manifest"), this.isSearching = !1;
354
421
  return;
355
422
  }
356
- const I = `${a.id || a["@id"]}?q=${encodeURIComponent(t)}`, c = await fetch(I);
357
- if (!c.ok) throw new Error("Search request failed");
358
- const w = await c.json(), k = w.resources || [], z = [], d = (g) => {
359
- const p = typeof g == "string" ? g : g["@id"] || g.id;
360
- if (!p) return null;
361
- const f = p.split("#xywh=");
362
- if (f.length < 2) return null;
363
- const v = f[1].split(",").map(Number);
364
- return v.length === 4 ? v : null;
423
+ const b = `${o.id || o["@id"]}?q=${encodeURIComponent(t)}`, w = await fetch(b);
424
+ if (!w.ok) throw new Error("Search request failed");
425
+ const P = await w.json(), g = P.resources || [], O = [], v = (p) => {
426
+ const C = typeof p == "string" ? p : p["@id"] || p.id;
427
+ if (!C) return null;
428
+ const h = C.split("#xywh=");
429
+ if (h.length < 2) return null;
430
+ const l = h[1].split(",").map(Number);
431
+ return l.length === 4 ? l : null;
365
432
  };
366
- if (w.hits)
367
- for (const g of w.hits) {
368
- const p = g.annotations || [];
369
- for (const f of p) {
370
- const v = k.find((o) => o["@id"] === f || o.id === f);
371
- if (v && v.on) {
372
- const o = typeof v.on == "string" ? v.on : v.on["@id"] || v.on.id, S = o.split("#")[0], G = d(o), L = this.canvases.findIndex((l) => l.id === S);
373
- if (L >= 0) {
374
- const l = this.canvases[L];
375
- let C = "Canvas " + (L + 1);
433
+ if (P.hits)
434
+ for (const p of P.hits) {
435
+ const C = p.annotations || [];
436
+ for (const h of C) {
437
+ const l = g.find((c) => c["@id"] === h || c.id === h);
438
+ if (l && l.on) {
439
+ const c = typeof l.on == "string" ? l.on : l.on["@id"] || l.on.id, R = c.split("#")[0], T = v(c), u = this.canvases.findIndex((A) => A.id === R);
440
+ if (u >= 0) {
441
+ const A = this.canvases[u];
442
+ let $ = "Canvas " + (u + 1);
376
443
  try {
377
- if (l.getLabel) {
378
- const _ = l.getLabel();
379
- Array.isArray(_) && _.length > 0 ? C = _[0].value : typeof _ == "string" && (C = _);
380
- } else l.label && (typeof l.label == "string" ? C = l.label : Array.isArray(l.label) && (C = (r = l.label[0]) == null ? void 0 : r.value));
444
+ if (A.getLabel) {
445
+ const d = A.getLabel();
446
+ Array.isArray(d) && d.length > 0 ? $ = d[0].value : typeof d == "string" && ($ = d);
447
+ } else A.label && (typeof A.label == "string" ? $ = A.label : Array.isArray(A.label) && ($ = (r = A.label[0]) == null ? void 0 : r.value));
381
448
  } catch {
382
449
  }
383
- z.push({
450
+ O.push({
384
451
  type: "hit",
385
- before: g.before,
386
- match: g.match,
387
- after: g.after,
388
- canvasIndex: L,
389
- canvasLabel: String(C),
390
- bounds: G
452
+ before: p.before,
453
+ match: p.match,
454
+ after: p.after,
455
+ canvasIndex: u,
456
+ canvasLabel: String($),
457
+ bounds: T
391
458
  });
392
459
  }
393
460
  }
394
461
  }
395
462
  }
396
- else if (k.length > 0)
397
- for (const g of k) {
398
- const p = typeof g.on == "string" ? g.on : g.on["@id"] || g.on.id, f = p.split("#")[0], v = d(p), o = this.canvases.findIndex((S) => S.id === f);
399
- if (o >= 0) {
400
- const S = this.canvases[o];
401
- let G = "Canvas " + (o + 1);
463
+ else if (g.length > 0)
464
+ for (const p of g) {
465
+ const C = typeof p.on == "string" ? p.on : p.on["@id"] || p.on.id, h = C.split("#")[0], l = v(C), c = this.canvases.findIndex((R) => R.id === h);
466
+ if (c >= 0) {
467
+ const R = this.canvases[c];
468
+ let T = "Canvas " + (c + 1);
402
469
  try {
403
- if (S.getLabel) {
404
- const L = S.getLabel();
405
- Array.isArray(L) && L.length > 0 ? G = L[0].value : typeof L == "string" && (G = L);
406
- } else S.label && (typeof S.label == "string" ? G = S.label : Array.isArray(S.label) && (G = (s = S.label[0]) == null ? void 0 : s.value));
470
+ if (R.getLabel) {
471
+ const u = R.getLabel();
472
+ Array.isArray(u) && u.length > 0 ? T = u[0].value : typeof u == "string" && (T = u);
473
+ } else R.label && (typeof R.label == "string" ? T = R.label : Array.isArray(R.label) && (T = (s = R.label[0]) == null ? void 0 : s.value));
407
474
  } catch {
408
475
  }
409
- z.push({
476
+ O.push({
410
477
  type: "resource",
411
- match: g.resource && g.resource.chars ? g.resource.chars : g.chars || "",
412
- canvasIndex: o,
413
- canvasLabel: String(G),
414
- bounds: v
478
+ match: p.resource && p.resource.chars ? p.resource.chars : p.chars || "",
479
+ canvasIndex: c,
480
+ canvasLabel: String(T),
481
+ bounds: l
415
482
  });
416
483
  }
417
484
  }
418
- this.searchResults = z, this.searchAnnotations = z.filter((g) => g.bounds).map((g, p) => {
419
- const f = this.canvases[g.canvasIndex], v = `${f.id}#xywh=${g.bounds.join(",")}`;
485
+ this.searchResults = O, this.searchAnnotations = O.filter((p) => p.bounds).map((p, C) => {
486
+ const h = this.canvases[p.canvasIndex], l = `${h.id}#xywh=${p.bounds.join(",")}`;
420
487
  return {
421
- "@id": `urn:search-hit:${p}`,
488
+ "@id": `urn:search-hit:${C}`,
422
489
  "@type": "oa:Annotation",
423
490
  motivation: "sc:painting",
424
- on: v,
425
- canvasId: f.id,
426
- resource: { "@type": "cnt:ContentAsText", chars: g.match },
491
+ on: l,
492
+ canvasId: h.id,
493
+ resource: { "@type": "cnt:ContentAsText", chars: p.match },
427
494
  // Flag to identify styling in Overlay?
428
495
  // Or just standard rendering.
429
496
  isSearchHit: !0
430
497
  };
431
498
  });
432
- } catch (n) {
433
- console.error("Search error:", n);
499
+ } catch (a) {
500
+ console.error("Search error:", a);
434
501
  } finally {
435
502
  this.isSearching = !1;
436
503
  }
437
504
  }
438
505
  }
439
506
  get plugins() {
440
- return e.get(A(this, Te));
507
+ return e.get(M(this, Ee));
441
508
  }
442
509
  set plugins(t) {
443
- e.set(A(this, Te), t, !0);
510
+ e.set(M(this, Ee), t, !0);
444
511
  }
445
512
  get pluginMenuButtons() {
446
- return e.get(A(this, je));
513
+ return e.get(M(this, Ge));
447
514
  }
448
515
  set pluginMenuButtons(t) {
449
- e.set(A(this, je), t, !0);
516
+ e.set(M(this, Ge), t, !0);
450
517
  }
451
518
  get pluginPanels() {
452
- return e.get(A(this, Le));
519
+ return e.get(M(this, Oe));
453
520
  }
454
521
  set pluginPanels(t) {
455
- e.set(A(this, Le), t, !0);
522
+ e.set(M(this, Oe), t, !0);
456
523
  }
457
524
  get osdViewer() {
458
- return e.get(A(this, Oe));
525
+ return e.get(M(this, Be));
459
526
  }
460
527
  set osdViewer(t) {
461
- e.set(A(this, Oe), t, !0);
528
+ e.set(M(this, Be), t, !0);
462
529
  }
463
530
  createPluginContext() {
464
531
  const t = this;
@@ -478,13 +545,13 @@ class kt {
478
545
  t.pluginPanels = t.pluginPanels.filter((s) => s.id !== r);
479
546
  },
480
547
  emit(r, s) {
481
- const n = t.pluginEventHandlers.get(r);
482
- n == null || n.forEach((a) => a(s));
548
+ const a = t.pluginEventHandlers.get(r);
549
+ a == null || a.forEach((o) => o(s));
483
550
  },
484
551
  on(r, s) {
485
552
  return t.pluginEventHandlers.has(r) || t.pluginEventHandlers.set(r, /* @__PURE__ */ new Set()), t.pluginEventHandlers.get(r).add(s), () => {
486
- var n;
487
- (n = t.pluginEventHandlers.get(r)) == null || n.delete(s);
553
+ var a;
554
+ (a = t.pluginEventHandlers.get(r)) == null || a.delete(s);
488
555
  };
489
556
  }
490
557
  };
@@ -504,8 +571,8 @@ class kt {
504
571
  */
505
572
  unregisterPlugin(t) {
506
573
  var s;
507
- const r = this.plugins.find((n) => n.id === t);
508
- r && ((s = r.onDestroy) == null || s.call(r), this.plugins = this.plugins.filter((n) => n.id !== t), this.pluginMenuButtons = this.pluginMenuButtons.filter((n) => !n.id.startsWith(`${t}:`)), this.pluginPanels = this.pluginPanels.filter((n) => !n.id.startsWith(`${t}:`)));
574
+ const r = this.plugins.find((a) => a.id === t);
575
+ r && ((s = r.onDestroy) == null || s.call(r), this.plugins = this.plugins.filter((a) => a.id !== t), this.pluginMenuButtons = this.pluginMenuButtons.filter((a) => !a.id.startsWith(`${t}:`)), this.pluginPanels = this.pluginPanels.filter((a) => !a.id.startsWith(`${t}:`)));
509
576
  }
510
577
  /**
511
578
  * Called by OSDViewer when OpenSeadragon is ready.
@@ -526,8 +593,8 @@ class kt {
526
593
  this.plugins = [], this.pluginMenuButtons = [], this.pluginPanels = [], this.pluginEventHandlers.clear();
527
594
  }
528
595
  }
529
- fe = new WeakMap(), ue = new WeakMap(), ge = new WeakMap(), ve = new WeakMap(), he = new WeakMap(), pe = new WeakMap(), me = new WeakMap(), be = new WeakMap(), _e = new WeakMap(), ye = new WeakMap(), we = new WeakMap(), xe = new WeakMap(), Se = new WeakMap(), Ae = new WeakMap(), Ie = new WeakMap(), ke = new WeakMap(), Ce = new WeakMap(), Pe = new WeakMap(), Me = new WeakMap(), ze = new WeakMap(), Te = new WeakMap(), je = new WeakMap(), Le = new WeakMap(), Oe = new WeakMap();
530
- const se = "triiiceratops:viewerState", Ct = [
596
+ ve = new WeakMap(), he = new WeakMap(), pe = new WeakMap(), me = new WeakMap(), be = new WeakMap(), _e = new WeakMap(), ye = new WeakMap(), we = new WeakMap(), xe = new WeakMap(), Se = new WeakMap(), Ae = new WeakMap(), Ie = new WeakMap(), Ce = new WeakMap(), ke = new WeakMap(), Pe = new WeakMap(), Me = new WeakMap(), Te = new WeakMap(), ze = new WeakMap(), je = new WeakMap(), Le = new WeakMap(), Re = new WeakMap(), De = new WeakMap(), Ee = new WeakMap(), Ge = new WeakMap(), Oe = new WeakMap(), Be = new WeakMap();
597
+ const ce = "triiiceratops:viewerState", zt = [
531
598
  "light",
532
599
  "dark",
533
600
  "cupcake",
@@ -564,7 +631,7 @@ const se = "triiiceratops:viewerState", Ct = [
564
631
  "abyss",
565
632
  "silk"
566
633
  ];
567
- function Pt(i) {
634
+ function jt(i) {
568
635
  i = i.replace(/^#/, "");
569
636
  let t, r, s;
570
637
  if (i.length === 3)
@@ -575,47 +642,47 @@ function Pt(i) {
575
642
  return null;
576
643
  return isNaN(t) || isNaN(r) || isNaN(s) ? null : { r: t, g: r, b: s };
577
644
  }
578
- function Mt(i) {
645
+ function Lt(i) {
579
646
  const t = i.match(
580
647
  /rgba?\(\s*(\d+(?:\.\d+)?%?)\s*[,\s]\s*(\d+(?:\.\d+)?%?)\s*[,\s]\s*(\d+(?:\.\d+)?%?)(?:\s*[,/]\s*(\d*\.?\d+%?))?\s*\)/i
581
648
  );
582
649
  if (!t) return null;
583
- const r = (y) => y.endsWith("%") ? parseFloat(y) / 100 * 255 : parseFloat(y), s = r(t[1]), n = r(t[2]), a = r(t[3]);
584
- return isNaN(s) || isNaN(n) || isNaN(a) ? null : { r: s, g: n, b: a };
650
+ const r = (I) => I.endsWith("%") ? parseFloat(I) / 100 * 255 : parseFloat(I), s = r(t[1]), a = r(t[2]), o = r(t[3]);
651
+ return isNaN(s) || isNaN(a) || isNaN(o) ? null : { r: s, g: a, b: o };
585
652
  }
586
- function Ee(i) {
653
+ function He(i) {
587
654
  const t = i / 255;
588
655
  return t <= 0.04045 ? t / 12.92 : Math.pow((t + 0.055) / 1.055, 2.4);
589
656
  }
590
- function zt(i, t, r) {
657
+ function Rt(i, t, r) {
591
658
  return {
592
659
  x: 0.4124564 * i + 0.3575761 * t + 0.1804375 * r,
593
660
  y: 0.2126729 * i + 0.7151522 * t + 0.072175 * r,
594
661
  z: 0.0193339 * i + 0.119192 * t + 0.9503041 * r
595
662
  };
596
663
  }
597
- function Tt(i, t, r) {
598
- const s = 0.8189330101 * i + 0.3618667424 * t - 0.1288597137 * r, n = 0.0329845436 * i + 0.9293118715 * t + 0.0361456387 * r, a = 0.0482003018 * i + 0.2643662691 * t + 0.633851707 * r, y = Math.cbrt(s), I = Math.cbrt(n), c = Math.cbrt(a);
664
+ function Dt(i, t, r) {
665
+ const s = 0.8189330101 * i + 0.3618667424 * t - 0.1288597137 * r, a = 0.0329845436 * i + 0.9293118715 * t + 0.0361456387 * r, o = 0.0482003018 * i + 0.2643662691 * t + 0.633851707 * r, I = Math.cbrt(s), b = Math.cbrt(a), w = Math.cbrt(o);
599
666
  return {
600
- L: 0.2104542553 * y + 0.793617785 * I - 0.0040720468 * c,
601
- a: 1.9779984951 * y - 2.428592205 * I + 0.4505937099 * c,
602
- b: 0.0259040371 * y + 0.7827717662 * I - 0.808675766 * c
667
+ L: 0.2104542553 * I + 0.793617785 * b - 0.0040720468 * w,
668
+ a: 1.9779984951 * I - 2.428592205 * b + 0.4505937099 * w,
669
+ b: 0.0259040371 * I + 0.7827717662 * b - 0.808675766 * w
603
670
  };
604
671
  }
605
- function jt(i, t, r) {
672
+ function Et(i, t, r) {
606
673
  const s = Math.sqrt(t * t + r * r);
607
- let n = Math.atan2(r, t) * 180 / Math.PI;
608
- return n < 0 && (n += 360), { L: i, C: s, h: n };
674
+ let a = Math.atan2(r, t) * 180 / Math.PI;
675
+ return a < 0 && (a += 360), { L: i, C: s, h: a };
609
676
  }
610
- function We(i, t, r) {
611
- const s = Ee(i), n = Ee(t), a = Ee(r), { x: y, y: I, z: c } = zt(s, n, a), { L: w, a: k, b: z } = Tt(y, I, c);
612
- return jt(w, k, z);
677
+ function et(i, t, r) {
678
+ const s = He(i), a = He(t), o = He(r), { x: I, y: b, z: w } = Rt(s, a, o), { L: P, a: g, b: O } = Dt(I, b, w);
679
+ return Et(P, g, O);
613
680
  }
614
- function Ue(i, t, r) {
615
- const s = (i * 100).toFixed(2), n = t.toFixed(4), a = t < 1e-4 ? 0 : r.toFixed(2);
616
- return `oklch(${s}% ${n} ${a})`;
681
+ function tt(i, t, r) {
682
+ const s = (i * 100).toFixed(2), a = t.toFixed(4), o = t < 1e-4 ? 0 : r.toFixed(2);
683
+ return `oklch(${s}% ${a} ${o})`;
617
684
  }
618
- function Lt(i) {
685
+ function Gt(i) {
619
686
  return i.trim().toLowerCase().startsWith("oklch(");
620
687
  }
621
688
  function Ot(i) {
@@ -623,28 +690,28 @@ function Ot(i) {
623
690
  i.trim()
624
691
  );
625
692
  }
626
- function Dt(i) {
693
+ function Bt(i) {
627
694
  return /^rgba?\s*\(/i.test(i.trim());
628
695
  }
629
- function Et(i) {
630
- const t = Pt(i);
696
+ function $t(i) {
697
+ const t = jt(i);
631
698
  if (!t)
632
699
  return console.warn(`Invalid hex color: ${i}, returning as-is`), i;
633
- const { L: r, C: s, h: n } = We(t.r, t.g, t.b);
634
- return Ue(r, s, n);
700
+ const { L: r, C: s, h: a } = et(t.r, t.g, t.b);
701
+ return tt(r, s, a);
635
702
  }
636
- function Rt(i) {
637
- const t = Mt(i);
703
+ function Ft(i) {
704
+ const t = Lt(i);
638
705
  if (!t)
639
706
  return console.warn(`Invalid rgb color: ${i}, returning as-is`), i;
640
- const { L: r, C: s, h: n } = We(t.r, t.g, t.b);
641
- return Ue(r, s, n);
707
+ const { L: r, C: s, h: a } = et(t.r, t.g, t.b);
708
+ return tt(r, s, a);
642
709
  }
643
- function Gt(i) {
710
+ function Vt(i) {
644
711
  const t = i.trim();
645
- return Lt(t) ? t : Ot(t) ? Et(t) : Dt(t) ? Rt(t) : (console.warn(`Unrecognized color format: ${i}, passing through as-is`), i);
712
+ return Gt(t) ? t : Ot(t) ? $t(t) : Bt(t) ? Ft(t) : (console.warn(`Unrecognized color format: ${i}, passing through as-is`), i);
646
713
  }
647
- const Je = {
714
+ const rt = {
648
715
  // Semantic colors
649
716
  primary: "--color-primary",
650
717
  primaryContent: "--color-primary-content",
@@ -682,7 +749,7 @@ const Je = {
682
749
  noise: "--noise",
683
750
  // Color scheme (handled specially, not a CSS variable)
684
751
  colorScheme: "color-scheme"
685
- }, Ft = /* @__PURE__ */ new Set([
752
+ }, Nt = /* @__PURE__ */ new Set([
686
753
  "primary",
687
754
  "primaryContent",
688
755
  "secondary",
@@ -704,31 +771,31 @@ const Je = {
704
771
  "error",
705
772
  "errorContent"
706
773
  ]);
707
- function gi(i) {
708
- return Ct.includes(i);
774
+ function Ei(i) {
775
+ return zt.includes(i);
709
776
  }
710
- function Vt(i, t) {
777
+ function Ht(i, t) {
711
778
  i.setAttribute("data-theme", t);
712
779
  }
713
- function $t(i, t) {
780
+ function Yt(i, t) {
714
781
  for (const [r, s] of Object.entries(t)) {
715
782
  if (s == null) continue;
716
- const n = r;
717
- if (n === "colorScheme") {
783
+ const a = r;
784
+ if (a === "colorScheme") {
718
785
  i.style.colorScheme = s;
719
786
  continue;
720
787
  }
721
- const a = Je[n];
722
- if (!a) continue;
723
- let y = String(s);
724
- Ft.has(n) && (y = Gt(y)), i.style.setProperty(a, y);
788
+ const o = rt[a];
789
+ if (!o) continue;
790
+ let I = String(s);
791
+ Nt.has(a) && (I = Vt(I)), i.style.setProperty(o, I);
725
792
  }
726
793
  }
727
- function Bt(i) {
728
- for (const [t, r] of Object.entries(Je))
794
+ function Xt(i) {
795
+ for (const [t, r] of Object.entries(rt))
729
796
  t === "colorScheme" ? i.style.colorScheme = "" : i.style.removeProperty(r);
730
797
  }
731
- function vi(i) {
798
+ function Gi(i) {
732
799
  try {
733
800
  const t = JSON.parse(i);
734
801
  return typeof t == "object" && t !== null ? t : null;
@@ -736,13 +803,13 @@ function vi(i) {
736
803
  return null;
737
804
  }
738
805
  }
739
- function Ht(i, t, r) {
740
- t ? Vt(i, t) : i.removeAttribute("data-theme"), r ? $t(i, r) : Bt(i);
806
+ function qt(i, t, r) {
807
+ t ? Ht(i, t) : i.removeAttribute("data-theme"), r ? Yt(i, r) : Xt(i);
741
808
  }
742
- function Ke(i) {
809
+ function it(i) {
743
810
  return i.id || i["@id"] || (typeof i.getId == "function" ? i.getId() : "");
744
811
  }
745
- function Re(i) {
812
+ function Ye(i) {
746
813
  if (!i) return null;
747
814
  const t = i.match(/xywh=(\d+),(\d+),(\d+),(\d+)/);
748
815
  return t ? {
@@ -752,11 +819,11 @@ function Re(i) {
752
819
  h: parseInt(t[4], 10)
753
820
  } : null;
754
821
  }
755
- function Nt(i) {
756
- const t = Yt(i);
822
+ function Qt(i) {
823
+ const t = Wt(i);
757
824
  if (t)
758
- return Xt(t);
759
- const r = Ut(i);
825
+ return Ut(t);
826
+ const r = er(i);
760
827
  return r ? {
761
828
  type: "RECTANGLE",
762
829
  x: r.x,
@@ -765,58 +832,58 @@ function Nt(i) {
765
832
  h: r.h
766
833
  } : null;
767
834
  }
768
- function Yt(i) {
835
+ function Wt(i) {
769
836
  var r, s;
770
837
  if (typeof i.getTarget == "function") {
771
- const n = ((r = i.__jsonld) == null ? void 0 : r.on) || ((s = i.__jsonld) == null ? void 0 : s.target);
772
- if (n)
773
- return Ye(n);
838
+ const a = ((r = i.__jsonld) == null ? void 0 : r.on) || ((s = i.__jsonld) == null ? void 0 : s.target);
839
+ if (a)
840
+ return Je(a);
774
841
  }
775
842
  const t = i.target || i.on;
776
- return t ? Ye(t) : null;
843
+ return t ? Je(t) : null;
777
844
  }
778
- function Ye(i) {
845
+ function Je(i) {
779
846
  if (!i) return null;
780
847
  if (Array.isArray(i))
781
848
  for (const t of i) {
782
- const r = Xe(t);
849
+ const r = Ke(t);
783
850
  if (r) return r;
784
851
  }
785
852
  else
786
- return Xe(i);
853
+ return Ke(i);
787
854
  return null;
788
855
  }
789
- function Xe(i) {
856
+ function Ke(i) {
790
857
  var r;
791
858
  if (!i) return null;
792
859
  const t = i.selector || i;
793
860
  return (t == null ? void 0 : t.type) === "SvgSelector" && t.value ? t.value : ((r = t == null ? void 0 : t.item) == null ? void 0 : r.type) === "SvgSelector" && t.item.value ? t.item.value : null;
794
861
  }
795
- function Xt(i) {
862
+ function Ut(i) {
796
863
  try {
797
864
  const r = new DOMParser().parseFromString(i, "image/svg+xml");
798
865
  if (r.documentElement.nodeName === "parsererror")
799
866
  return console.warn("Failed to parse SVG selector:", i), null;
800
- const s = [], n = r.querySelectorAll("polygon");
801
- for (const I of n) {
802
- const c = I.getAttribute("points");
803
- if (c) {
804
- const w = qt(c);
805
- s.push(...w);
867
+ const s = [], a = r.querySelectorAll("polygon");
868
+ for (const b of a) {
869
+ const w = b.getAttribute("points");
870
+ if (w) {
871
+ const P = Jt(w);
872
+ s.push(...P);
806
873
  }
807
874
  }
808
- const a = r.querySelectorAll("path");
809
- for (const I of a) {
810
- const c = I.getAttribute("d");
811
- if (c) {
812
- const w = Qt(c);
813
- s.push(...w);
875
+ const o = r.querySelectorAll("path");
876
+ for (const b of o) {
877
+ const w = b.getAttribute("d");
878
+ if (w) {
879
+ const P = Kt(w);
880
+ s.push(...P);
814
881
  }
815
882
  }
816
- const y = r.querySelectorAll("circle");
817
- for (const I of y) {
818
- const c = parseFloat(I.getAttribute("cx") || "0"), w = parseFloat(I.getAttribute("cy") || "0"), k = parseFloat(I.getAttribute("r") || "0"), z = Wt(c, w, k);
819
- s.push(...z);
883
+ const I = r.querySelectorAll("circle");
884
+ for (const b of I) {
885
+ const w = parseFloat(b.getAttribute("cx") || "0"), P = parseFloat(b.getAttribute("cy") || "0"), g = parseFloat(b.getAttribute("r") || "0"), O = Zt(w, P, g);
886
+ s.push(...O);
820
887
  }
821
888
  return s.length === 0 ? null : {
822
889
  type: "POLYGON",
@@ -826,175 +893,175 @@ function Xt(i) {
826
893
  return console.warn("Failed to convert SVG to polygon:", t), null;
827
894
  }
828
895
  }
829
- function qt(i) {
896
+ function Jt(i) {
830
897
  const t = [], r = i.trim().split(/\s+/);
831
898
  for (const s of r) {
832
- const [n, a] = s.split(",").map((y) => parseFloat(y));
833
- !isNaN(n) && !isNaN(a) && t.push([n, a]);
899
+ const [a, o] = s.split(",").map((I) => parseFloat(I));
900
+ !isNaN(a) && !isNaN(o) && t.push([a, o]);
834
901
  }
835
902
  return t;
836
903
  }
837
- function Qt(i) {
904
+ function Kt(i) {
838
905
  const t = [], r = /[ML]\s*([\d.]+)[,\s]+([\d.]+)/g;
839
906
  let s;
840
907
  for (; (s = r.exec(i)) !== null; ) {
841
- const n = parseFloat(s[1]), a = parseFloat(s[2]);
842
- !isNaN(n) && !isNaN(a) && t.push([n, a]);
908
+ const a = parseFloat(s[1]), o = parseFloat(s[2]);
909
+ !isNaN(a) && !isNaN(o) && t.push([a, o]);
843
910
  }
844
911
  return t;
845
912
  }
846
- function Wt(i, t, r, s = 8) {
847
- const n = [];
848
- for (let a = 0; a < s; a++) {
849
- const y = a / s * Math.PI * 2, I = i + r * Math.cos(y), c = t + r * Math.sin(y);
850
- n.push([I, c]);
913
+ function Zt(i, t, r, s = 8) {
914
+ const a = [];
915
+ for (let o = 0; o < s; o++) {
916
+ const I = o / s * Math.PI * 2, b = i + r * Math.cos(I), w = t + r * Math.sin(I);
917
+ a.push([b, w]);
851
918
  }
852
- return n;
919
+ return a;
853
920
  }
854
- function Ut(i) {
921
+ function er(i) {
855
922
  var r;
856
923
  if (typeof i.getTarget == "function") {
857
924
  const s = i.getTarget();
858
925
  if (typeof s == "string" && s.includes("xywh="))
859
- return Re(s);
860
- const n = (r = i.__jsonld) == null ? void 0 : r.on;
861
- if (n) {
862
- const a = Ge(n);
863
- if (a) return a;
926
+ return Ye(s);
927
+ const a = (r = i.__jsonld) == null ? void 0 : r.on;
928
+ if (a) {
929
+ const o = Xe(a);
930
+ if (o) return o;
864
931
  }
865
932
  }
866
933
  const t = i.target || i.on;
867
- return t ? Ge(t) : null;
934
+ return t ? Xe(t) : null;
868
935
  }
869
- function Ge(i) {
936
+ function Xe(i) {
870
937
  if (!i) return null;
871
938
  if (Array.isArray(i))
872
939
  for (const t of i) {
873
- const r = Ge(t);
940
+ const r = Xe(t);
874
941
  if (r) return r;
875
942
  }
876
943
  if (typeof i == "string" && i.includes("xywh="))
877
- return Re(i);
944
+ return Ye(i);
878
945
  if (i.selector) {
879
946
  const t = i.selector, r = t.item || t;
880
947
  if (r.value && typeof r.value == "string" && r.value.includes("xywh="))
881
- return Re(r.value);
948
+ return Ye(r.value);
882
949
  }
883
950
  return null;
884
951
  }
885
- function Jt(i) {
952
+ function tr(i) {
886
953
  let t = "", r = !1;
887
954
  if (typeof i.getBody == "function") {
888
955
  const s = i.getBody();
889
956
  if (s && Array.isArray(s)) {
890
- const n = [];
891
- for (const a of s) {
892
- const y = a.getValue ? a.getValue() : "";
893
- if (y) {
894
- n.push(y);
895
- const I = a.getFormat ? a.getFormat() : "";
896
- (I === "text/html" || I === "application/html") && (r = !0);
957
+ const a = [];
958
+ for (const o of s) {
959
+ const I = o.getValue ? o.getValue() : "";
960
+ if (I) {
961
+ a.push(I);
962
+ const b = o.getFormat ? o.getFormat() : "";
963
+ (b === "text/html" || b === "application/html") && (r = !0);
897
964
  }
898
965
  }
899
- t = n.join(" ");
966
+ t = a.join(" ");
900
967
  }
901
968
  } else {
902
- const s = (a) => a && (a.chars || a.value || a["cnt:chars"]) || "", n = (a) => a ? a.format === "text/html" || a.type === "TextualBody" : !1;
969
+ const s = (o) => o && (o.chars || o.value || o["cnt:chars"]) || "", a = (o) => o ? o.format === "text/html" || o.type === "TextualBody" : !1;
903
970
  if (i.resource) {
904
- const a = Array.isArray(i.resource) ? i.resource : [i.resource];
905
- t = a.map(s).filter(Boolean).join(" "), r = a.some(n);
971
+ const o = Array.isArray(i.resource) ? i.resource : [i.resource];
972
+ t = o.map(s).filter(Boolean).join(" "), r = o.some(a);
906
973
  } else if (i.body) {
907
- const a = Array.isArray(i.body) ? i.body : [i.body];
908
- t = a.map(s).filter(Boolean).join(" "), r = a.some(n);
974
+ const o = Array.isArray(i.body) ? i.body : [i.body];
975
+ t = o.map(s).filter(Boolean).join(" "), r = o.some(a);
909
976
  }
910
977
  }
911
978
  return t || (typeof i.getLabel == "function" ? t = i.getLabel() || "" : i.label && (t = Array.isArray(i.label) ? i.label.join(" ") : i.label)), { value: t || "Annotation", isHtml: r };
912
979
  }
913
- function Kt(i, t, r = !1) {
914
- const s = Ke(i) || `anno-${t}`, n = Nt(i);
915
- if (!n)
980
+ function rr(i, t, r = !1) {
981
+ const s = it(i) || `anno-${t}`, a = Qt(i);
982
+ if (!a)
916
983
  return null;
917
- const a = Jt(i);
984
+ const o = tr(i);
918
985
  return {
919
986
  id: s,
920
- geometry: n,
921
- body: a,
987
+ geometry: a,
988
+ body: o,
922
989
  isSearchHit: r
923
990
  };
924
991
  }
925
- function Zt(i, t = /* @__PURE__ */ new Set()) {
992
+ function ir(i, t = /* @__PURE__ */ new Set()) {
926
993
  return i.map((r, s) => {
927
- const n = t.has(Ke(r));
928
- return Kt(r, s, n);
994
+ const a = t.has(it(r));
995
+ return rr(r, s, a);
929
996
  }).filter((r) => r !== null);
930
997
  }
931
- var er = e.from_html("<div></div>"), tr = e.from_svg('<svg class="absolute pointer-events-auto"><title> </title><polygon stroke-width="2"></polygon></svg>'), rr = e.from_html('<div class="w-full h-full relative"><div class="w-full h-full osd-background bg-base-100"></div> <!></div>');
932
- function Ze(i, t) {
998
+ var sr = e.from_html("<div></div>"), nr = e.from_svg('<svg class="absolute pointer-events-auto"><title> </title><polygon stroke-width="2"></polygon></svg>'), ar = e.from_html('<div class="w-full h-full relative"><div class="w-full h-full osd-background bg-base-100"></div> <!></div>');
999
+ function st(i, t) {
933
1000
  e.push(t, !0);
934
- let r = e.prop(t, "tileSources", 7), s = e.prop(t, "viewerState", 7), n = e.state(void 0), a = e.state(void 0), y = e.state(0), I = e.derived(() => {
1001
+ let r = e.prop(t, "tileSources", 7), s = e.prop(t, "viewerState", 7), a = e.state(void 0), o = e.state(void 0), I = e.state(0), b = e.derived(() => {
935
1002
  if (!s().manifestId || !s().canvasId)
936
1003
  return [];
937
- const f = ae.getAnnotations(s().manifestId, s().canvasId), v = s().currentCanvasSearchAnnotations;
938
- return [...f, ...v];
939
- }), c = e.derived(() => {
940
- const f = /* @__PURE__ */ new Set();
941
- return s().currentCanvasSearchAnnotations.forEach((v) => {
942
- const o = v.id || v["@id"];
943
- o && f.add(o);
944
- }), f;
945
- }), w = e.derived(() => Zt(e.get(I), e.get(c))), k = e.derived(() => {
946
- if (e.get(y), !e.get(a) || !e.get(w).length)
1004
+ const h = le.getAnnotations(s().manifestId, s().canvasId), l = s().currentCanvasSearchAnnotations;
1005
+ return [...h, ...l];
1006
+ }), w = e.derived(() => {
1007
+ const h = /* @__PURE__ */ new Set();
1008
+ return s().currentCanvasSearchAnnotations.forEach((l) => {
1009
+ const c = l.id || l["@id"];
1010
+ c && h.add(c);
1011
+ }), h;
1012
+ }), P = e.derived(() => ir(e.get(b), e.get(w))), g = e.derived(() => {
1013
+ if (e.get(I), !e.get(o) || !e.get(P).length)
947
1014
  return [];
948
- const f = e.get(a).world.getItemAt(0);
949
- if (!f)
1015
+ const h = e.get(o).world.getItemAt(0);
1016
+ if (!h)
950
1017
  return [];
951
- const v = [];
952
- for (const o of e.get(w)) {
953
- if (!o.isSearchHit) if (s().showAnnotations) {
954
- if (!s().visibleAnnotationIds.has(o.id))
1018
+ const l = [];
1019
+ for (const c of e.get(P)) {
1020
+ if (!c.isSearchHit) if (s().showAnnotations) {
1021
+ if (!s().visibleAnnotationIds.has(c.id))
955
1022
  continue;
956
1023
  } else continue;
957
- if (o.geometry.type === "RECTANGLE") {
958
- const S = f.imageToViewportRectangle(o.geometry.x, o.geometry.y, o.geometry.w, o.geometry.h), G = e.get(a).viewport.viewportToViewerElementRectangle(S);
959
- v.push({
960
- id: o.id,
1024
+ if (c.geometry.type === "RECTANGLE") {
1025
+ const R = h.imageToViewportRectangle(c.geometry.x, c.geometry.y, c.geometry.w, c.geometry.h), T = e.get(o).viewport.viewportToViewerElementRectangle(R);
1026
+ l.push({
1027
+ id: c.id,
961
1028
  type: "RECTANGLE",
962
1029
  rect: {
963
- x: G.x,
964
- y: G.y,
965
- width: G.width,
966
- height: G.height
1030
+ x: T.x,
1031
+ y: T.y,
1032
+ width: T.width,
1033
+ height: T.height
967
1034
  },
968
- isSearchHit: o.isSearchHit,
969
- tooltip: o.body.value
1035
+ isSearchHit: c.isSearchHit,
1036
+ tooltip: c.body.value
970
1037
  });
971
- } else if (o.geometry.type === "POLYGON") {
972
- const S = o.geometry.points.map((x) => {
973
- const D = f.imageToViewportCoordinates(new Be.Point(x[0], x[1])), b = e.get(a).viewport.viewportToViewerElementCoordinates(D);
974
- return [b.x, b.y];
1038
+ } else if (c.geometry.type === "POLYGON") {
1039
+ const R = c.geometry.points.map((z) => {
1040
+ const S = h.imageToViewportCoordinates(new Qe.Point(z[0], z[1])), k = e.get(o).viewport.viewportToViewerElementCoordinates(S);
1041
+ return [k.x, k.y];
975
1042
  });
976
- let G = 1 / 0, L = 1 / 0, l = -1 / 0, C = -1 / 0;
977
- for (const [x, D] of S)
978
- G = Math.min(G, x), L = Math.min(L, D), l = Math.max(l, x), C = Math.max(C, D);
979
- const _ = S.map(([x, D]) => [x - G, D - L]);
980
- v.push({
981
- id: o.id,
1043
+ let T = 1 / 0, u = 1 / 0, A = -1 / 0, $ = -1 / 0;
1044
+ for (const [z, S] of R)
1045
+ T = Math.min(T, z), u = Math.min(u, S), A = Math.max(A, z), $ = Math.max($, S);
1046
+ const d = R.map(([z, S]) => [z - T, S - u]);
1047
+ l.push({
1048
+ id: c.id,
982
1049
  type: "POLYGON",
983
- bounds: { x: G, y: L, width: l - G, height: C - L },
984
- points: _,
985
- isSearchHit: o.isSearchHit,
986
- tooltip: o.body.value
1050
+ bounds: { x: T, y: u, width: A - T, height: $ - u },
1051
+ points: d,
1052
+ isSearchHit: c.isSearchHit,
1053
+ tooltip: c.body.value
987
1054
  });
988
1055
  }
989
1056
  }
990
- return v;
1057
+ return l;
991
1058
  });
992
- dt(() => {
993
- if (e.get(n))
1059
+ vt(() => {
1060
+ if (e.get(a))
994
1061
  return e.set(
995
- a,
996
- Be({
997
- element: e.get(n),
1062
+ o,
1063
+ Qe({
1064
+ element: e.get(a),
998
1065
  tileSources: null,
999
1066
  // Will be set via effect
1000
1067
  prefixUrl: "",
@@ -1010,1215 +1077,1470 @@ function Ze(i, t) {
1010
1077
  zoomPerClick: 2
1011
1078
  }),
1012
1079
  !0
1013
- ), s().notifyOSDReady(e.get(a)), () => {
1014
- var f;
1015
- (f = e.get(a)) == null || f.destroy(), s().osdViewer = null;
1080
+ ), s().notifyOSDReady(e.get(o)), () => {
1081
+ var h;
1082
+ (h = e.get(o)) == null || h.destroy(), s().osdViewer = null;
1016
1083
  };
1017
1084
  }), e.user_effect(() => {
1018
- if (!e.get(a)) return;
1019
- const f = () => {
1020
- e.update(y);
1085
+ if (!e.get(o)) return;
1086
+ const h = () => {
1087
+ e.update(I);
1021
1088
  };
1022
- return e.get(a).addHandler("open", f), e.get(a).addHandler("animation", f), e.get(a).addHandler("resize", f), e.get(a).addHandler("rotate", f), e.get(a).world.addHandler("add-item", f), e.get(a).world.addHandler("remove-item", f), () => {
1023
- e.get(a).removeHandler("open", f), e.get(a).removeHandler("animation", f), e.get(a).removeHandler("resize", f), e.get(a).removeHandler("rotate", f), e.get(a).world.removeHandler("add-item", f), e.get(a).world.removeHandler("remove-item", f);
1089
+ return e.get(o).addHandler("open", h), e.get(o).addHandler("animation", h), e.get(o).addHandler("resize", h), e.get(o).addHandler("rotate", h), e.get(o).world.addHandler("add-item", h), e.get(o).world.addHandler("remove-item", h), () => {
1090
+ e.get(o).removeHandler("open", h), e.get(o).removeHandler("animation", h), e.get(o).removeHandler("resize", h), e.get(o).removeHandler("rotate", h), e.get(o).world.removeHandler("add-item", h), e.get(o).world.removeHandler("remove-item", h);
1024
1091
  };
1025
1092
  }), e.user_effect(() => {
1026
- !e.get(a) || !r() || e.get(a).open(r());
1093
+ !e.get(o) || !r() || e.get(o).open(r());
1027
1094
  });
1028
- var z = {
1095
+ var O = {
1029
1096
  get tileSources() {
1030
1097
  return r();
1031
1098
  },
1032
- set tileSources(f) {
1033
- r(f), e.flush();
1099
+ set tileSources(h) {
1100
+ r(h), e.flush();
1034
1101
  },
1035
1102
  get viewerState() {
1036
1103
  return s();
1037
1104
  },
1038
- set viewerState(f) {
1039
- s(f), e.flush();
1105
+ set viewerState(h) {
1106
+ s(h), e.flush();
1040
1107
  }
1041
- }, d = rr(), g = e.child(d);
1042
- e.bind_this(g, (f) => e.set(n, f), () => e.get(n));
1043
- var p = e.sibling(g, 2);
1044
- return e.each(p, 17, () => e.get(k), (f) => f.id, (f, v) => {
1045
- var o = e.comment(), S = e.first_child(o);
1108
+ }, v = ar(), p = e.child(v);
1109
+ e.bind_this(p, (h) => e.set(a, h), () => e.get(a));
1110
+ var C = e.sibling(p, 2);
1111
+ return e.each(C, 17, () => e.get(g), (h) => h.id, (h, l) => {
1112
+ var c = e.comment(), R = e.first_child(c);
1046
1113
  {
1047
- var G = (l) => {
1048
- var C = er();
1114
+ var T = (A) => {
1115
+ var $ = sr();
1049
1116
  e.template_effect(() => {
1050
- e.set_class(C, 1, `absolute border-2 transition-colors cursor-pointer pointer-events-auto ${e.get(v).isSearchHit ? "border-yellow-400 bg-yellow-400/40 hover:bg-yellow-400/60" : "border-red-500 bg-red-500/20 hover:bg-red-500/40"}`), e.set_style(C, `
1051
- left: ${e.get(v).rect.x ?? ""}px;
1052
- top: ${e.get(v).rect.y ?? ""}px;
1053
- width: ${e.get(v).rect.width ?? ""}px;
1054
- height: ${e.get(v).rect.height ?? ""}px;
1055
- `), e.set_attribute(C, "title", e.get(v).tooltip);
1056
- }), e.append(l, C);
1057
- }, L = (l) => {
1058
- var C = e.comment(), _ = e.first_child(C);
1117
+ e.set_class($, 1, `absolute border-2 transition-colors cursor-pointer pointer-events-auto ${e.get(l).isSearchHit ? "border-yellow-400 bg-yellow-400/40 hover:bg-yellow-400/60" : "border-red-500 bg-red-500/20 hover:bg-red-500/40"}`), e.set_style($, `
1118
+ left: ${e.get(l).rect.x ?? ""}px;
1119
+ top: ${e.get(l).rect.y ?? ""}px;
1120
+ width: ${e.get(l).rect.width ?? ""}px;
1121
+ height: ${e.get(l).rect.height ?? ""}px;
1122
+ `), e.set_attribute($, "title", e.get(l).tooltip);
1123
+ }), e.append(A, $);
1124
+ }, u = (A) => {
1125
+ var $ = e.comment(), d = e.first_child($);
1059
1126
  {
1060
- var x = (D) => {
1061
- var b = tr(), h = e.child(b), H = e.child(h, !0);
1062
- e.reset(h);
1063
- var W = e.sibling(h);
1064
- e.reset(b), e.template_effect(
1127
+ var z = (S) => {
1128
+ var k = nr(), D = e.child(k), j = e.child(D, !0);
1129
+ e.reset(D);
1130
+ var x = e.sibling(D);
1131
+ e.reset(k), e.template_effect(
1065
1132
  (m) => {
1066
- e.set_style(b, `
1067
- left: ${e.get(v).bounds.x ?? ""}px;
1068
- top: ${e.get(v).bounds.y ?? ""}px;
1069
- width: ${e.get(v).bounds.width ?? ""}px;
1070
- height: ${e.get(v).bounds.height ?? ""}px;
1071
- `), e.set_text(H, e.get(v).tooltip), e.set_attribute(W, "points", m), e.set_class(W, 0, `cursor-pointer transition-colors ${e.get(v).isSearchHit ? "fill-yellow-400/40 stroke-yellow-400 hover:fill-yellow-400/60" : "fill-red-500/20 stroke-red-500 hover:fill-red-500/40"}`);
1133
+ e.set_style(k, `
1134
+ left: ${e.get(l).bounds.x ?? ""}px;
1135
+ top: ${e.get(l).bounds.y ?? ""}px;
1136
+ width: ${e.get(l).bounds.width ?? ""}px;
1137
+ height: ${e.get(l).bounds.height ?? ""}px;
1138
+ `), e.set_text(j, e.get(l).tooltip), e.set_attribute(x, "points", m), e.set_class(x, 0, `cursor-pointer transition-colors ${e.get(l).isSearchHit ? "fill-yellow-400/40 stroke-yellow-400 hover:fill-yellow-400/60" : "fill-red-500/20 stroke-red-500 hover:fill-red-500/40"}`);
1072
1139
  },
1073
- [() => e.get(v).points.map((m) => m.join(",")).join(" ")]
1074
- ), e.append(D, b);
1140
+ [() => e.get(l).points.map((m) => m.join(",")).join(" ")]
1141
+ ), e.append(S, k);
1075
1142
  };
1076
1143
  e.if(
1077
- _,
1078
- (D) => {
1079
- e.get(v).type === "POLYGON" && D(x);
1144
+ d,
1145
+ (S) => {
1146
+ e.get(l).type === "POLYGON" && S(z);
1080
1147
  },
1081
1148
  !0
1082
1149
  );
1083
1150
  }
1084
- e.append(l, C);
1151
+ e.append(A, $);
1085
1152
  };
1086
- e.if(S, (l) => {
1087
- e.get(v).type === "RECTANGLE" ? l(G) : l(L, !1);
1153
+ e.if(R, (A) => {
1154
+ e.get(l).type === "RECTANGLE" ? A(T) : A(u, !1);
1088
1155
  });
1089
1156
  }
1090
- e.append(f, o);
1091
- }), e.reset(d), e.append(i, d), e.pop(z);
1157
+ e.append(h, c);
1158
+ }), e.reset(v), e.append(i, v), e.pop(O);
1092
1159
  }
1093
- e.create_custom_element(Ze, { tileSources: {}, viewerState: {} }, [], [], !0);
1094
- var ir = e.from_html('<div class="select-none absolute left-1/2 -translate-x-1/2 bg-base-200/90 backdrop-blur rounded-full shadow-lg px-4 py-2 flex items-center gap-4 z-10 border border-base-300 transition-all duration-200 bottom-4"><button class="btn btn-circle btn-sm btn-ghost"><!></button> <span class="text-sm font-mono tabular-nums text-nowrap"> </span> <button class="btn btn-circle btn-sm btn-ghost"><!></button></div>');
1095
- function et(i, t) {
1160
+ e.create_custom_element(st, { tileSources: {}, viewerState: {} }, [], [], !0);
1161
+ var or = e.from_html('<div class="select-none absolute left-1/2 -translate-x-1/2 bg-base-200/90 backdrop-blur rounded-full shadow-lg flex items-center gap-4 z-10 border border-base-300 transition-all duration-200 bottom-4"><button class="btn btn-circle btn-sm btn-ghost"><!></button> <span class="text-sm font-mono tabular-nums text-nowrap"> </span> <button class="btn btn-circle btn-sm btn-ghost"><!></button></div>');
1162
+ function nt(i, t) {
1096
1163
  e.push(t, !0);
1097
1164
  let r = e.prop(t, "viewerState", 7);
1098
1165
  var s = {
1099
1166
  get viewerState() {
1100
1167
  return r();
1101
1168
  },
1102
- set viewerState(z) {
1103
- r(z), e.flush();
1169
+ set viewerState(O) {
1170
+ r(O), e.flush();
1104
1171
  }
1105
- }, n = ir(), a = e.child(n);
1106
- a.__click = () => r().previousCanvas();
1107
- var y = e.child(a);
1108
- vt(y, { size: 20, weight: "bold" }), e.reset(a);
1109
- var I = e.sibling(a, 2), c = e.child(I);
1110
- e.reset(I);
1111
- var w = e.sibling(I, 2);
1112
- w.__click = () => r().nextCanvas();
1113
- var k = e.child(w);
1114
- return ht(k, { size: 20, weight: "bold" }), e.reset(w), e.reset(n), e.template_effect(
1115
- (z, d) => {
1116
- a.disabled = !r().hasPrevious, e.set_attribute(a, "aria-label", z), e.set_text(c, `${r().currentCanvasIndex + 1} / ${r().canvases.length ?? ""}`), w.disabled = !r().hasNext, e.set_attribute(w, "aria-label", d);
1172
+ }, a = or(), o = e.child(a);
1173
+ o.__click = () => r().previousCanvas();
1174
+ var I = e.child(o);
1175
+ bt(I, { size: 20, weight: "bold" }), e.reset(o);
1176
+ var b = e.sibling(o, 2), w = e.child(b);
1177
+ e.reset(b);
1178
+ var P = e.sibling(b, 2);
1179
+ P.__click = () => r().nextCanvas();
1180
+ var g = e.child(P);
1181
+ return _t(g, { size: 20, weight: "bold" }), e.reset(P), e.reset(a), e.template_effect(
1182
+ (O, v) => {
1183
+ o.disabled = !r().hasPrevious, e.set_attribute(o, "aria-label", O), e.set_text(w, `${r().currentCanvasIndex + 1} / ${r().canvases.length ?? ""}`), P.disabled = !r().hasNext, e.set_attribute(P, "aria-label", v);
1117
1184
  },
1118
- [() => B.previous_canvas(), () => B.next_canvas()]
1119
- ), e.append(i, n), e.pop(s);
1185
+ [() => E.previous_canvas(), () => E.next_canvas()]
1186
+ ), e.append(i, a), e.pop(s);
1120
1187
  }
1121
1188
  e.delegate(["click"]);
1122
- e.create_custom_element(et, { viewerState: {} }, [], [], !0);
1123
- var sr = e.from_html('<span class="text-xs opacity-50 truncate max-w-[150px]"> </span>'), nr = e.from_html('<button class="w-full text-left p-3 hover:bg-base-300 transition-colors cursor-pointer flex gap-3 group/item items-start focus:outline-none focus:bg-base-300"><div class="btn btn-xs btn-circle btn-ghost mt-0.5 shrink-0 pointer-events-none"><!></div> <div class="flex-1 min-w-0"><div class="flex items-start justify-between"><span class="font-bold text-sm text-primary"></span> <!></div> <div><!></div></div></button>'), ar = e.from_html('<div class="p-4 text-center opacity-50 text-sm">No annotations available.</div>'), or = e.from_html('<div class="absolute top-4 right-4 z-500 pointer-events-auto transition-all duration-300"><details class="group relative"><summary class="flex items-center gap-2 bg-base-200/90 backdrop-blur shadow-lg rounded-full px-4 py-2 cursor-pointer list-none hover:bg-base-200 transition-all select-none border border-base-300 pointer-events-auto"><button class="btn btn-xs btn-circle btn-ghost"><!></button> <span class="text-sm font-medium"> <span class="opacity-50 text-xs font-normal ml-1"> </span></span> <!></summary> <div class="absolute right-0 mt-2 w-96 bg-base-200/95 backdrop-blur shadow-xl rounded-box p-0 max-h-[60vh] overflow-y-auto border border-base-300 flex flex-col divide-y divide-base-300"></div></details></div>');
1124
- function tt(i, t) {
1189
+ e.create_custom_element(nt, { viewerState: {} }, [], [], !0);
1190
+ var lr = e.from_html('<span class="text-xs opacity-50 truncate max-w-[150px]"> </span>'), cr = e.from_html('<button class="w-full text-left p-3 hover:bg-base-300 transition-colors cursor-pointer flex gap-3 group/item items-start focus:outline-none focus:bg-base-300"><div class="btn btn-xs btn-circle btn-ghost mt-0.5 shrink-0 pointer-events-none"><!></div> <div class="flex-1 min-w-0"><div class="flex items-start justify-between"><span class="font-bold text-sm text-primary"></span> <!></div> <div><!></div></div></button>'), dr = e.from_html('<div class="p-4 text-center opacity-50 text-sm">No annotations available.</div>'), fr = e.from_html('<div class="absolute top-4 right-4 z-40 pointer-events-auto transition-all duration-300"><details class="group relative"><summary class="flex items-center gap-2 bg-base-200/90 backdrop-blur shadow-lg rounded-full px-4 py-2 cursor-pointer list-none hover:bg-base-200 transition-all select-none border border-base-300 pointer-events-auto"><button class="btn btn-xs btn-circle btn-ghost"><!></button> <span class="text-sm font-medium"> <span class="opacity-50 text-xs font-normal ml-1"> </span></span> <!></summary> <div class="absolute right-0 mt-2 w-96 bg-base-200/95 backdrop-blur shadow-xl rounded-box p-0 max-h-[60vh] overflow-y-auto border border-base-300 flex flex-col divide-y divide-base-300"></div></details></div>');
1191
+ function at(i, t) {
1125
1192
  e.push(t, !0);
1126
- const r = oe(se);
1193
+ const r = fe(ce);
1127
1194
  let s = e.derived(() => {
1128
1195
  if (!r.manifestId || !r.canvasId)
1129
1196
  return [];
1130
- const d = ae.getAnnotations(r.manifestId, r.canvasId), g = r.currentCanvasSearchAnnotations;
1131
- return [...d, ...g];
1197
+ const v = le.getAnnotations(r.manifestId, r.canvasId), p = r.currentCanvasSearchAnnotations;
1198
+ return [...v, ...p];
1132
1199
  });
1133
- function n(d) {
1134
- return d.id || d["@id"] || (typeof d.getId == "function" ? d.getId() : "") || "";
1200
+ function a(v) {
1201
+ return v.id || v["@id"] || (typeof v.getId == "function" ? v.getId() : "") || "";
1135
1202
  }
1136
1203
  e.user_effect(() => {
1137
- if (e.get(s).length > 0) {
1138
- const d = /* @__PURE__ */ new Set();
1139
- e.get(s).forEach((g) => {
1140
- const p = n(g);
1141
- p && d.add(p);
1142
- }), r.visibleAnnotationIds = d;
1143
- } else
1204
+ var v;
1205
+ if (e.get(s).length > 0)
1206
+ if (((v = r.config.annotations) == null ? void 0 : v.visible) ?? !0) {
1207
+ const C = /* @__PURE__ */ new Set();
1208
+ e.get(s).forEach((h) => {
1209
+ const l = a(h);
1210
+ l && C.add(l);
1211
+ }), r.visibleAnnotationIds = C;
1212
+ } else
1213
+ r.visibleAnnotationIds = /* @__PURE__ */ new Set();
1214
+ else
1144
1215
  r.visibleAnnotationIds = /* @__PURE__ */ new Set();
1145
1216
  });
1146
- let a = e.derived(() => e.get(s).length === 0 ? !1 : e.get(s).every((d) => {
1147
- const g = n(d);
1148
- return !g || r.visibleAnnotationIds.has(g);
1217
+ let o = e.derived(() => e.get(s).length === 0 ? !1 : e.get(s).every((v) => {
1218
+ const p = a(v);
1219
+ return !p || r.visibleAnnotationIds.has(p);
1149
1220
  }));
1150
- function y(d) {
1151
- r.visibleAnnotationIds.has(d) ? r.visibleAnnotationIds.delete(d) : r.visibleAnnotationIds.add(d), r.visibleAnnotationIds = new Set(r.visibleAnnotationIds);
1221
+ function I(v) {
1222
+ r.visibleAnnotationIds.has(v) ? r.visibleAnnotationIds.delete(v) : r.visibleAnnotationIds.add(v), r.visibleAnnotationIds = new Set(r.visibleAnnotationIds);
1152
1223
  }
1153
- function I() {
1154
- if (e.get(a))
1224
+ function b() {
1225
+ if (e.get(o))
1155
1226
  r.visibleAnnotationIds = /* @__PURE__ */ new Set();
1156
1227
  else {
1157
- const d = /* @__PURE__ */ new Set();
1158
- e.get(s).forEach((g) => {
1159
- const p = n(g);
1160
- p && d.add(p);
1161
- }), r.visibleAnnotationIds = d;
1228
+ const v = /* @__PURE__ */ new Set();
1229
+ e.get(s).forEach((p) => {
1230
+ const C = a(p);
1231
+ C && v.add(C);
1232
+ }), r.visibleAnnotationIds = v;
1162
1233
  }
1163
1234
  }
1164
- let c = e.derived(() => e.get(s).length ? e.get(s).map((d) => {
1165
- let g = "", p = !1;
1166
- if (typeof d.getBody == "function") {
1167
- const f = d.getBody();
1168
- if (f && f.length) {
1169
- const v = (o) => {
1170
- const S = o.getValue ? o.getValue() : null;
1171
- return S || "";
1235
+ let w = e.derived(() => e.get(s).length ? e.get(s).map((v) => {
1236
+ let p = "", C = !1;
1237
+ if (typeof v.getBody == "function") {
1238
+ const h = v.getBody();
1239
+ if (h && h.length) {
1240
+ const l = (c) => {
1241
+ const R = c.getValue ? c.getValue() : null;
1242
+ return R || "";
1172
1243
  };
1173
- g = f.map((o) => v(o)).filter(Boolean).join(" "), p = f.some((o) => {
1174
- const S = o.getFormat ? o.getFormat() : "";
1175
- return S === "text/html" || S === "application/html";
1244
+ p = h.map((c) => l(c)).filter(Boolean).join(" "), C = h.some((c) => {
1245
+ const R = c.getFormat ? c.getFormat() : "";
1246
+ return R === "text/html" || R === "application/html";
1176
1247
  });
1177
1248
  }
1178
- if (!g && typeof d.getLabel == "function") {
1179
- const v = d.getLabel();
1180
- v && (g = v);
1249
+ if (!p && typeof v.getLabel == "function") {
1250
+ const l = v.getLabel();
1251
+ l && (p = l);
1181
1252
  }
1182
1253
  } else {
1183
- const f = (o) => o && (o.chars || o.value || o["cnt:chars"]) || "", v = (o) => o ? o.format === "text/html" || o.type === "TextualBody" : !1;
1184
- if (d.resource ? Array.isArray(d.resource) ? (g = d.resource.map((o) => f(o)).join(" "), d.resource.some((o) => v(o)) && (p = !0)) : (g = f(d.resource), v(d.resource) && (p = !0)) : d.body && (Array.isArray(d.body) ? (g = d.body.map((o) => f(o)).join(" "), d.body.some((o) => v(o)) && (p = !0)) : (g = f(d.body), v(d.body) && (p = !0))), !g) {
1185
- const o = d.label || d.name || d.title;
1186
- o && (g = Array.isArray(o) ? o.join(" ") : o);
1254
+ const h = (c) => c && (c.chars || c.value || c["cnt:chars"]) || "", l = (c) => c ? c.format === "text/html" || c.type === "TextualBody" : !1;
1255
+ if (v.resource ? Array.isArray(v.resource) ? (p = v.resource.map((c) => h(c)).join(" "), v.resource.some((c) => l(c)) && (C = !0)) : (p = h(v.resource), l(v.resource) && (C = !0)) : v.body && (Array.isArray(v.body) ? (p = v.body.map((c) => h(c)).join(" "), v.body.some((c) => l(c)) && (C = !0)) : (p = h(v.body), l(v.body) && (C = !0))), !p) {
1256
+ const c = v.label || v.name || v.title;
1257
+ c && (p = Array.isArray(c) ? c.join(" ") : c);
1187
1258
  }
1188
1259
  }
1189
1260
  return {
1190
- id: n(d),
1191
- content: g,
1192
- isHtml: p,
1193
- label: (typeof d.getLabel == "function" ? d.getLabel() : d.label) || ""
1261
+ id: a(v),
1262
+ content: p,
1263
+ isHtml: C,
1264
+ label: (typeof v.getLabel == "function" ? v.getLabel() : v.label) || ""
1194
1265
  };
1195
1266
  }) : []);
1196
- var w = e.comment(), k = e.first_child(w);
1267
+ var P = e.comment(), g = e.first_child(P);
1197
1268
  {
1198
- var z = (d) => {
1199
- var g = or(), p = e.child(g), f = e.child(p), v = e.child(f);
1200
- v.__click = (b) => {
1201
- b.preventDefault(), I();
1269
+ var O = (v) => {
1270
+ var p = fr(), C = e.child(p), h = e.child(C), l = e.child(h);
1271
+ l.__click = (k) => {
1272
+ k.preventDefault(), b();
1202
1273
  };
1203
- var o = e.child(v);
1274
+ var c = e.child(l);
1204
1275
  {
1205
- var S = (b) => {
1206
- He(b, { size: 16, weight: "bold" });
1207
- }, G = (b) => {
1208
- Ne(b, { size: 16, weight: "bold" });
1276
+ var R = (k) => {
1277
+ We(k, { size: 16, weight: "bold" });
1278
+ }, T = (k) => {
1279
+ Ue(k, { size: 16, weight: "bold" });
1209
1280
  };
1210
- e.if(o, (b) => {
1211
- e.get(a) ? b(S) : b(G, !1);
1281
+ e.if(c, (k) => {
1282
+ e.get(o) ? k(R) : k(T, !1);
1212
1283
  });
1213
1284
  }
1214
- e.reset(v);
1215
- var L = e.sibling(v, 2), l = e.child(L), C = e.sibling(l), _ = e.child(C, !0);
1216
- e.reset(C), e.reset(L);
1217
- var x = e.sibling(L, 2);
1218
- mt(x, {
1285
+ e.reset(l);
1286
+ var u = e.sibling(l, 2), A = e.child(u), $ = e.sibling(A), d = e.child($, !0);
1287
+ e.reset($), e.reset(u);
1288
+ var z = e.sibling(u, 2);
1289
+ wt(z, {
1219
1290
  size: 16,
1220
1291
  weight: "bold",
1221
1292
  class: "group-open:rotate-180 transition-transform opacity-80"
1222
- }), e.reset(f);
1223
- var D = e.sibling(f, 2);
1293
+ }), e.reset(h);
1294
+ var S = e.sibling(h, 2);
1224
1295
  e.each(
1225
- D,
1296
+ S,
1226
1297
  21,
1227
- () => e.get(c),
1298
+ () => e.get(w),
1228
1299
  e.index,
1229
- (b, h, H) => {
1230
- const W = e.derived(() => r.visibleAnnotationIds.has(e.get(h).id));
1231
- var m = nr();
1232
- m.__click = (R) => {
1233
- R.preventDefault(), y(e.get(h).id);
1300
+ (k, D, j) => {
1301
+ const x = e.derived(() => r.visibleAnnotationIds.has(e.get(D).id));
1302
+ var m = cr();
1303
+ m.__click = (n) => {
1304
+ n.preventDefault(), I(e.get(D).id);
1234
1305
  };
1235
- var P = e.child(m), O = e.child(P);
1306
+ var y = e.child(m), f = e.child(y);
1236
1307
  {
1237
- var Q = (R) => {
1238
- He(R, { size: 16, weight: "bold" });
1239
- }, U = (R) => {
1240
- Ne(R, { size: 16, weight: "bold" });
1308
+ var G = (n) => {
1309
+ We(n, { size: 16, weight: "bold" });
1310
+ }, V = (n) => {
1311
+ Ue(n, { size: 16, weight: "bold" });
1241
1312
  };
1242
- e.if(O, (R) => {
1243
- e.get(W) ? R(Q) : R(U, !1);
1313
+ e.if(f, (n) => {
1314
+ e.get(x) ? n(G) : n(V, !1);
1244
1315
  });
1245
1316
  }
1246
- e.reset(P);
1247
- var $ = e.sibling(P, 2), F = e.child($), q = e.child(F);
1248
- q.textContent = `#${H + 1}`;
1249
- var J = e.sibling(q, 2);
1317
+ e.reset(y);
1318
+ var U = e.sibling(y, 2), L = e.child(U), B = e.child(L);
1319
+ B.textContent = `#${j + 1}`;
1320
+ var q = e.sibling(B, 2);
1250
1321
  {
1251
- var ie = (R) => {
1252
- var j = sr(), M = e.child(j, !0);
1253
- e.reset(j), e.template_effect(() => e.set_text(M, e.get(h).label)), e.append(R, j);
1322
+ var re = (n) => {
1323
+ var _ = lr(), Y = e.child(_, !0);
1324
+ e.reset(_), e.template_effect(() => e.set_text(Y, e.get(D).label)), e.append(n, _);
1254
1325
  };
1255
- e.if(J, (R) => {
1256
- e.get(h).label && e.get(h).label !== e.get(h).content && R(ie);
1326
+ e.if(q, (n) => {
1327
+ e.get(D).label && e.get(D).label !== e.get(D).content && n(re);
1257
1328
  });
1258
1329
  }
1259
- e.reset(F);
1260
- var u = e.sibling(F, 2), T = e.child(u);
1330
+ e.reset(L);
1331
+ var se = e.sibling(L, 2), oe = e.child(se);
1261
1332
  {
1262
- var N = (R) => {
1263
- var j = e.comment(), M = e.first_child(j);
1264
- e.html(M, () => e.get(h).content), e.append(R, j);
1265
- }, E = (R) => {
1266
- var j = e.text();
1267
- e.template_effect(() => e.set_text(j, e.get(h).content || "(No content)")), e.append(R, j);
1333
+ var Q = (n) => {
1334
+ var _ = e.comment(), Y = e.first_child(_);
1335
+ e.html(Y, () => e.get(D).content), e.append(n, _);
1336
+ }, H = (n) => {
1337
+ var _ = e.text();
1338
+ e.template_effect(() => e.set_text(_, e.get(D).content || "(No content)")), e.append(n, _);
1268
1339
  };
1269
- e.if(T, (R) => {
1270
- e.get(h).isHtml ? R(N) : R(E, !1);
1340
+ e.if(oe, (n) => {
1341
+ e.get(D).isHtml ? n(Q) : n(H, !1);
1271
1342
  });
1272
1343
  }
1273
- e.reset(u), e.reset($), e.reset(m), e.template_effect(() => e.set_class(u, 1, `text-sm prose prose-sm max-w-none prose-p:my-0 prose-a:text-blue-500 wrap-break-word text-left ${e.get(W) ? "" : "opacity-50"}`)), e.append(b, m);
1344
+ e.reset(se), e.reset(U), e.reset(m), e.template_effect(() => e.set_class(se, 1, `text-sm prose prose-sm max-w-none prose-p:my-0 prose-a:text-blue-500 wrap-break-word text-left ${e.get(x) ? "" : "opacity-50"}`)), e.append(k, m);
1274
1345
  },
1275
- (b) => {
1276
- var h = ar();
1277
- e.append(b, h);
1346
+ (k) => {
1347
+ var D = dr();
1348
+ e.append(k, D);
1278
1349
  }
1279
- ), e.reset(D), e.reset(p), e.reset(g), e.template_effect(
1280
- (b, h, H) => {
1281
- e.set_attribute(v, "title", b), e.set_text(l, `${h ?? ""} `), e.set_text(_, H);
1350
+ ), e.reset(S), e.reset(C), e.reset(p), e.template_effect(
1351
+ (k, D, j) => {
1352
+ e.set_attribute(l, "title", k), e.set_text(A, `${D ?? ""} `), e.set_text(d, j);
1282
1353
  },
1283
1354
  [
1284
- () => e.get(a) ? B.hide_all_annotations() : B.show_all_annotations(),
1285
- () => B.annotations_count({ count: e.get(s).length }),
1286
- () => B.visible_count({ count: r.visibleAnnotationIds.size })
1355
+ () => e.get(o) ? E.hide_all_annotations() : E.show_all_annotations(),
1356
+ () => E.annotations_count({ count: e.get(s).length }),
1357
+ () => E.visible_count({ count: r.visibleAnnotationIds.size })
1287
1358
  ]
1288
- ), e.append(d, g);
1359
+ ), e.append(v, p);
1289
1360
  };
1290
- e.if(k, (d) => {
1291
- r.showAnnotations && d(z);
1361
+ e.if(g, (v) => {
1362
+ r.showAnnotations && v(O);
1292
1363
  });
1293
1364
  }
1294
- e.append(i, w), e.pop();
1365
+ e.append(i, P), e.pop();
1295
1366
  }
1296
1367
  e.delegate(["click"]);
1297
- e.create_custom_element(tt, {}, [], [], !0);
1298
- var lr = e.from_html('<img class="object-contain w-full h-full" loading="lazy" draggable="false"/>'), cr = e.from_html('<span class="opacity-20 text-4xl">?</span>'), dr = e.from_html('<button><div class="aspect-4/3 bg-base-300 rounded overflow-hidden relative w-full flex items-center justify-center"><!></div> <div class="text-xs font-medium truncate w-full opacity-70 group-hover:opacity-100"><span class="font-bold mr-1"> </span> </div></button>'), fr = e.from_html('<div class="absolute bottom-0 right-0 w-6 h-6 cursor-se-resize resize-handle bg-accent hover:bg-accent-focus transition-colors z-50" style="clip-path: polygon(100% 0, 0 100%, 100% 100%);" role="button" tabindex="0" aria-label="Resize"></div>'), ur = e.from_html('<div role="group"><span class="font-bold text-primary opacity-50">Dock Top</span></div> <div role="group"><span class="font-bold text-primary opacity-50">Dock Bottom</span></div> <div role="group"><span class="font-bold text-primary opacity-50 vertical-rl rotate-180" style="writing-mode: vertical-rl;">Dock Left</span></div> <div role="group"><span class="font-bold text-primary opacity-50 vertical-rl rotate-180" style="writing-mode: vertical-rl;">Dock Right</span></div>', 1), gr = e.from_html('<div><button class="absolute top-1 right-1 btn btn-error btn-xs btn-circle z-20" aria-label="Close Gallery"><!></button> <div><div role="button" tabindex="0" aria-label="Drag Gallery"><div></div></div></div> <div><div></div></div> <!></div> <!>', 1);
1299
- function ne(i, t) {
1368
+ e.create_custom_element(at, {}, [], [], !0);
1369
+ var ur = e.from_html('<button class="absolute top-1 right-1 btn btn-error btn-xs btn-circle z-20" aria-label="Close Gallery"><!></button>'), gr = e.from_html('<div><div role="button" tabindex="0" aria-label="Drag Gallery"><div></div></div></div>'), vr = e.from_html('<img class="object-contain w-full h-full" loading="lazy" draggable="false"/>'), hr = e.from_html('<span class="opacity-20 text-4xl">?</span>'), pr = e.from_html('<button><div class="aspect-4/3 bg-base-300 rounded overflow-hidden relative w-full flex items-center justify-center"><!></div> <div class="text-xs font-medium truncate w-full opacity-70 group-hover:opacity-100"><span class="font-bold mr-1"> </span> </div></button>'), mr = e.from_html('<div class="absolute bottom-0 right-0 w-6 h-6 cursor-se-resize resize-handle bg-accent hover:bg-accent-focus transition-colors z-50" style="clip-path: polygon(100% 0, 0 100%, 100% 100%);" role="button" tabindex="0" aria-label="Resize"></div>'), br = e.from_html('<div role="group"><span class="font-bold text-primary opacity-50">Dock Top</span></div> <div role="group"><span class="font-bold text-primary opacity-50">Dock Bottom</span></div> <div role="group"><span class="font-bold text-primary opacity-50 vertical-rl rotate-180" style="writing-mode: vertical-rl;">Dock Left</span></div> <div role="group"><span class="font-bold text-primary opacity-50 vertical-rl rotate-180" style="writing-mode: vertical-rl;">Dock Right</span></div>', 1), _r = e.from_html("<div><!> <!> <div><div></div></div> <!></div> <!>", 1);
1370
+ function de(i, t) {
1300
1371
  e.push(t, !0);
1301
- const r = oe(se);
1302
- let s = e.prop(t, "canvases", 7), n = e.state(!1), a = { x: 0, y: 0, w: 0, h: 0 }, y = e.state(null), I = e.derived(() => !s() || !Array.isArray(s()) ? [] : s().map((l, C) => {
1303
- let _ = "";
1372
+ const r = fe(ce);
1373
+ let s = e.derived(() => {
1374
+ var d;
1375
+ return ((d = r.config.gallery) == null ? void 0 : d.draggable) ?? !0;
1376
+ }), a = e.derived(() => {
1377
+ var d;
1378
+ return ((d = r.config.gallery) == null ? void 0 : d.showCloseButton) ?? !0;
1379
+ }), o = e.prop(t, "canvases", 7), I = e.state(!1), b = { x: 0, y: 0, w: 0, h: 0 }, w = e.state(null), P = e.derived(() => !o() || !Array.isArray(o()) ? [] : o().map((d, z) => {
1380
+ let S = "";
1304
1381
  try {
1305
- if (l.getThumbnail) {
1306
- const x = l.getThumbnail();
1307
- x && (_ = typeof x == "string" ? x : x.id || x["@id"]);
1382
+ if (d.getThumbnail) {
1383
+ const k = d.getThumbnail();
1384
+ k && (S = typeof k == "string" ? k : k.id || k["@id"]);
1308
1385
  }
1309
- } catch (x) {
1310
- console.warn("Error getting thumbnail", x);
1386
+ } catch (k) {
1387
+ console.warn("Error getting thumbnail", k);
1311
1388
  }
1312
- if (!_) {
1313
- let x = l.getImages();
1314
- if ((!x || !x.length) && l.getContent && (x = l.getContent()), x && x.length > 0) {
1315
- const D = x[0];
1316
- let b = D.getResource ? D.getResource() : null;
1317
- if (!b && D.getBody) {
1318
- const h = D.getBody();
1319
- Array.isArray(h) && h.length > 0 ? b = h[0] : h && (b = h);
1389
+ if (!S) {
1390
+ let k = d.getImages();
1391
+ if ((!k || !k.length) && d.getContent && (k = d.getContent()), k && k.length > 0) {
1392
+ const D = k[0];
1393
+ let j = D.getResource ? D.getResource() : null;
1394
+ if (!j && D.getBody) {
1395
+ const x = D.getBody();
1396
+ Array.isArray(x) && x.length > 0 ? j = x[0] : x && (j = x);
1320
1397
  }
1321
- if (b && !b.id && !b.__jsonld && (!b.getServices || b.getServices().length === 0) && (b = null), !b) {
1322
- const h = D.__jsonld || D;
1323
- h.body && (b = Array.isArray(h.body) ? h.body[0] : h.body);
1398
+ if (j && !j.id && !j.__jsonld && (!j.getServices || j.getServices().length === 0) && (j = null), !j) {
1399
+ const x = D.__jsonld || D;
1400
+ x.body && (j = Array.isArray(x.body) ? x.body[0] : x.body);
1324
1401
  }
1325
- if (b) {
1326
- const H = (() => {
1327
- let m = [];
1328
- if (b.getServices && (m = b.getServices()), !m || m.length === 0) {
1329
- const P = b.__jsonld || b;
1330
- P.service && (m = Array.isArray(P.service) ? P.service : [P.service]);
1402
+ if (j) {
1403
+ const m = (() => {
1404
+ let f = [];
1405
+ if (j.getServices && (f = j.getServices()), !f || f.length === 0) {
1406
+ const G = j.__jsonld || j;
1407
+ G.service && (f = Array.isArray(G.service) ? G.service : [G.service]);
1331
1408
  }
1332
- return m;
1409
+ return f;
1333
1410
  })();
1334
- let W = !1;
1335
- if (H.length > 0) {
1336
- const m = H[0];
1337
- let P = "";
1411
+ let y = !1;
1412
+ if (m.length > 0) {
1413
+ const f = m[0];
1414
+ let G = "";
1338
1415
  try {
1339
- if (P = m.getProfile ? m.getProfile() : m.profile || "", typeof P == "object" && P) {
1340
- const U = P;
1341
- P = U.value || U.id || U["@id"] || JSON.stringify(U);
1416
+ if (G = f.getProfile ? f.getProfile() : f.profile || "", typeof G == "object" && G) {
1417
+ const L = G;
1418
+ G = L.value || L.id || L["@id"] || JSON.stringify(L);
1342
1419
  }
1343
1420
  } catch {
1344
1421
  }
1345
- const O = String(P ?? "").toLowerCase();
1346
- (O.includes("level0") || O.includes("level-0")) && (W = !0);
1347
- const Q = m.id || m["@id"];
1348
- W || (_ = `${Q}/full/200,/0/default.jpg`);
1422
+ const V = String(G ?? "").toLowerCase();
1423
+ (V.includes("level0") || V.includes("level-0")) && (y = !0);
1424
+ const U = f.id || f["@id"];
1425
+ y || (S = `${U}/full/200,/0/default.jpg`);
1349
1426
  }
1350
- if (!_ && (_ = b.id || b["@id"], !_)) {
1351
- let m = null;
1352
- if (D.__jsonld && D.__jsonld.body ? m = D.__jsonld.body : D.body && (m = D.body), m) {
1353
- const P = Array.isArray(m) ? m[0] : m;
1354
- _ = P.id || P["@id"];
1427
+ if (!S && (S = j.id || j["@id"], !S)) {
1428
+ let f = null;
1429
+ if (D.__jsonld && D.__jsonld.body ? f = D.__jsonld.body : D.body && (f = D.body), f) {
1430
+ const G = Array.isArray(f) ? f[0] : f;
1431
+ S = G.id || G["@id"];
1355
1432
  }
1356
1433
  }
1357
1434
  }
1358
1435
  }
1359
1436
  }
1360
1437
  return {
1361
- id: l.id,
1362
- label: l.getLabel().length ? l.getLabel()[0].value : `Canvas ${C + 1}`,
1363
- src: _,
1364
- index: C
1438
+ id: d.id,
1439
+ label: d.getLabel().length ? d.getLabel()[0].value : `Canvas ${z + 1}`,
1440
+ src: S,
1441
+ index: z
1365
1442
  };
1366
1443
  }));
1367
- function c(l) {
1444
+ function g(d) {
1368
1445
  if (!r.isGalleryDragging) return;
1369
- let C = l.clientX - r.galleryDragOffset.x, _ = l.clientY - r.galleryDragOffset.y;
1370
- const x = Math.max(0, window.innerWidth - r.gallerySize.width), D = Math.max(0, window.innerHeight - r.gallerySize.height);
1371
- C = Math.max(0, Math.min(C, x)), _ = Math.max(0, Math.min(_, D)), r.galleryPosition = { x: C, y: _ };
1372
- const b = document.getElementById("triiiceratops-center-panel");
1373
- if (b) {
1374
- const h = b.getBoundingClientRect(), H = l.clientX, W = l.clientY, m = 60;
1375
- r.dragOverSide = null, H >= h.left && H <= h.left + m ? r.dragOverSide = "left" : H <= h.right && H >= h.right - m ? r.dragOverSide = "right" : W >= h.top && W <= h.top + m ? r.dragOverSide = "top" : W <= h.bottom && W >= h.bottom - m && (r.dragOverSide = "bottom");
1446
+ let z = d.clientX - r.galleryDragOffset.x, S = d.clientY - r.galleryDragOffset.y;
1447
+ const k = Math.max(0, window.innerWidth - r.gallerySize.width), D = Math.max(0, window.innerHeight - r.gallerySize.height);
1448
+ z = Math.max(0, Math.min(z, k)), S = Math.max(0, Math.min(S, D)), r.galleryPosition = { x: z, y: S };
1449
+ const j = r.galleryCenterPanelRect;
1450
+ if (!j) {
1451
+ console.warn("[Gallery] No center panel rect available");
1452
+ return;
1376
1453
  }
1454
+ const x = d.clientX, m = d.clientY, y = 60;
1455
+ r.dragOverSide = null, x >= j.left && x <= j.left + y ? r.dragOverSide = "left" : x <= j.right && x >= j.right - y ? r.dragOverSide = "right" : m >= j.top && m <= j.top + y ? r.dragOverSide = "top" : m <= j.bottom && m >= j.bottom - y && (r.dragOverSide = "bottom");
1377
1456
  }
1378
- function w() {
1379
- const l = r.dragOverSide;
1380
- r.isGalleryDragging = !1, r.dragOverSide = null, window.removeEventListener("mousemove", c), window.removeEventListener("mouseup", w), l && (r.dockSide = l);
1457
+ function O() {
1458
+ const d = r.dragOverSide;
1459
+ console.log("[Gallery] stopDrag. dropTarget:", d), r.isGalleryDragging = !1, r.dragOverSide = null, window.removeEventListener("mousemove", g), window.removeEventListener("mouseup", O), d && (r.dockSide = d);
1381
1460
  }
1382
- function k(l) {
1383
- l.stopPropagation(), e.set(n, !0), a = {
1384
- x: l.clientX,
1385
- y: l.clientY,
1461
+ function v(d) {
1462
+ d.stopPropagation(), e.set(I, !0), b = {
1463
+ x: d.clientX,
1464
+ y: d.clientY,
1386
1465
  w: r.gallerySize.width,
1387
1466
  h: r.gallerySize.height
1388
- }, window.addEventListener("mousemove", z), window.addEventListener("mouseup", d);
1467
+ }, window.addEventListener("mousemove", p), window.addEventListener("mouseup", C);
1389
1468
  }
1390
- function z(l) {
1391
- if (!e.get(n)) return;
1392
- const C = l.clientX - a.x, _ = l.clientY - a.y;
1469
+ function p(d) {
1470
+ if (!e.get(I)) return;
1471
+ const z = d.clientX - b.x, S = d.clientY - b.y;
1393
1472
  r.gallerySize = {
1394
- width: Math.max(200, a.w + C),
1395
- height: Math.max(200, a.h + _)
1473
+ width: Math.max(200, b.w + z),
1474
+ height: Math.max(200, b.h + S)
1396
1475
  };
1397
1476
  }
1398
- function d() {
1399
- e.set(n, !1), window.removeEventListener("mousemove", z), window.removeEventListener("mouseup", d);
1477
+ function C() {
1478
+ e.set(I, !1), window.removeEventListener("mousemove", p), window.removeEventListener("mouseup", C);
1400
1479
  }
1401
- function g(l) {
1402
- r.canvasId = l;
1480
+ function h(d) {
1481
+ r.canvasId = d;
1403
1482
  }
1404
- let p = e.state(e.proxy(r.dockSide));
1483
+ let l = e.state(e.proxy(r.dockSide));
1405
1484
  e.user_effect(() => {
1406
- const l = r.dockSide;
1407
- e.set(p, l === "none" || l === "top" || l === "bottom" || l === "left" || l === "right" ? l : "none", !0);
1485
+ const d = r.dockSide;
1486
+ e.set(l, d === "none" || d === "top" || d === "bottom" || d === "left" || d === "right" ? d : "none", !0);
1408
1487
  }), e.user_effect(() => {
1409
- r.dockSide !== e.get(p) && (r.dockSide = e.get(p), r.isGalleryDockedBottom = e.get(p) === "bottom", r.isGalleryDockedRight = e.get(p) === "right");
1488
+ r.dockSide !== e.get(l) && (r.dockSide = e.get(l), r.isGalleryDockedBottom = e.get(l) === "bottom", r.isGalleryDockedRight = e.get(l) === "right");
1410
1489
  });
1411
- let f = e.derived(() => e.get(p) === "top" || e.get(p) === "bottom" || e.get(p) === "none" && r.gallerySize.height < 320);
1412
- function v(l) {
1413
- if (!l.target.closest(".resize-handle")) {
1414
- if (e.get(p) !== "none") {
1415
- let C = Math.max(0, l.clientX - 150), _ = Math.max(0, l.clientY - 20);
1416
- const x = Math.max(0, window.innerWidth - 300), D = Math.max(0, window.innerHeight - 400);
1417
- C = Math.min(C, x), _ = Math.min(_, D), r.galleryPosition = { x: C, y: _ }, r.galleryDragOffset = { x: l.clientX - C, y: l.clientY - _ }, e.set(p, "none");
1418
- } else
1419
- r.galleryDragOffset = {
1420
- x: l.clientX - r.galleryPosition.x,
1421
- y: l.clientY - r.galleryPosition.y
1422
- };
1423
- r.isGalleryDragging = !0, window.addEventListener("mousemove", c), window.addEventListener("mouseup", w);
1424
- }
1490
+ let c = e.derived(() => e.get(l) === "top" || e.get(l) === "bottom" || e.get(l) === "none" && r.gallerySize.height < 320);
1491
+ function R(d) {
1492
+ var D, j;
1493
+ if (!e.get(
1494
+ s
1495
+ // Dragging disabled in config
1496
+ ) || d.target.closest(".resize-handle")) return;
1497
+ const z = e.get(l) !== "none";
1498
+ if (z) {
1499
+ let x = Math.max(0, d.clientX - 150), m = Math.max(0, d.clientY - 20);
1500
+ const y = Math.max(0, window.innerWidth - 300), f = Math.max(0, window.innerHeight - 400);
1501
+ x = Math.min(x, y), m = Math.min(m, f), r.galleryPosition = { x, y: m }, r.galleryDragOffset = { x: d.clientX - x, y: d.clientY - m };
1502
+ } else
1503
+ r.galleryDragOffset = {
1504
+ x: d.clientX - r.galleryPosition.x,
1505
+ y: d.clientY - r.galleryPosition.y
1506
+ };
1507
+ const S = (D = e.get(w)) == null ? void 0 : D.getRootNode(), k = ((j = S == null ? void 0 : S.getElementById) == null ? void 0 : j.call(S, "triiiceratops-center-panel")) ?? document.getElementById("triiiceratops-center-panel");
1508
+ k ? (r.galleryCenterPanelRect = k.getBoundingClientRect(), console.log("[Gallery] Captured center panel rect:", r.galleryCenterPanelRect)) : console.warn("[Gallery] Could not find center panel in startDrag"), r.isGalleryDragging = !0, window.addEventListener("mousemove", g), window.addEventListener("mouseup", O), z && e.set(l, "none");
1425
1509
  }
1426
- var o = {
1510
+ var T = {
1427
1511
  get canvases() {
1428
- return s();
1512
+ return o();
1429
1513
  },
1430
- set canvases(l) {
1431
- s(l), e.flush();
1514
+ set canvases(d) {
1515
+ o(d), e.flush();
1432
1516
  }
1433
- }, S = e.comment(), G = e.first_child(S);
1517
+ }, u = e.comment(), A = e.first_child(u);
1434
1518
  {
1435
- var L = (l) => {
1436
- var C = gr(), _ = e.first_child(C), x = e.child(_);
1437
- x.__click = () => r.toggleThumbnailGallery();
1438
- var D = e.child(x);
1439
- qe(D, { size: 16, weight: "bold" }), e.reset(x);
1440
- var b = e.sibling(x, 2), h = e.child(b);
1441
- h.__mousedown = v;
1442
- var H = e.child(h);
1443
- e.reset(h), e.reset(b);
1444
- var W = e.sibling(b, 2), m = e.child(W);
1445
- e.each(m, 21, () => e.get(I), e.index, ($, F) => {
1446
- var q = dr();
1447
- q.__click = () => g(e.get(F).id);
1448
- var J = e.child(q), ie = e.child(J);
1519
+ var $ = (d) => {
1520
+ var z = _r(), S = e.first_child(z), k = e.child(S);
1521
+ {
1522
+ var D = (L) => {
1523
+ var B = ur();
1524
+ B.__click = () => r.toggleThumbnailGallery();
1525
+ var q = e.child(B);
1526
+ Fe(q, { size: 16, weight: "bold" }), e.reset(B), e.append(L, B);
1527
+ };
1528
+ e.if(k, (L) => {
1529
+ e.get(a) && L(D);
1530
+ });
1531
+ }
1532
+ var j = e.sibling(k, 2);
1533
+ {
1534
+ var x = (L) => {
1535
+ var B = gr(), q = e.child(B);
1536
+ q.__mousedown = R;
1537
+ var re = e.child(q);
1538
+ e.reset(q), e.reset(B), e.template_effect(() => {
1539
+ e.set_class(B, 1, "bg-base-100 flex shrink-0 select-none relative " + (e.get(l) === "bottom" || e.get(l) === "top" ? "flex-row h-full items-center border-r border-base-200" : "flex-col w-full border-b border-base-200")), e.set_class(q, 1, "cursor-move flex items-center justify-center hover:bg-base-200/50 active:bg-base-200 transition-colors " + (e.get(l) === "bottom" || e.get(l) === "top" ? "w-8 h-full" : "h-6 w-full")), e.set_class(re, 1, "bg-base-300 rounded-full " + (e.get(l) === "bottom" || e.get(l) === "top" ? "w-1.5 h-12" : "w-12 h-1.5"));
1540
+ }), e.append(L, B);
1541
+ };
1542
+ e.if(j, (L) => {
1543
+ (e.get(s) || e.get(l) === "none") && L(x);
1544
+ });
1545
+ }
1546
+ var m = e.sibling(j, 2), y = e.child(m);
1547
+ e.each(y, 21, () => e.get(P), e.index, (L, B) => {
1548
+ var q = pr();
1549
+ q.__click = () => h(e.get(B).id);
1550
+ var re = e.child(q), se = e.child(re);
1449
1551
  {
1450
- var u = (M) => {
1451
- var Y = lr();
1552
+ var oe = (N) => {
1553
+ var ie = vr();
1452
1554
  e.template_effect(() => {
1453
- e.set_attribute(Y, "src", e.get(F).src), e.set_attribute(Y, "alt", e.get(F).label);
1454
- }), e.append(M, Y);
1455
- }, T = (M) => {
1456
- var Y = cr();
1457
- e.append(M, Y);
1555
+ e.set_attribute(ie, "src", e.get(B).src), e.set_attribute(ie, "alt", e.get(B).label);
1556
+ }), e.append(N, ie);
1557
+ }, Q = (N) => {
1558
+ var ie = hr();
1559
+ e.append(N, ie);
1458
1560
  };
1459
- e.if(ie, (M) => {
1460
- e.get(F).src ? M(u) : M(T, !1);
1561
+ e.if(se, (N) => {
1562
+ e.get(B).src ? N(oe) : N(Q, !1);
1461
1563
  });
1462
1564
  }
1463
- e.reset(J);
1464
- var N = e.sibling(J, 2), E = e.child(N), R = e.child(E);
1465
- e.reset(E);
1466
- var j = e.sibling(E);
1467
- e.reset(N), e.reset(q), e.template_effect(() => {
1468
- e.set_class(q, 1, `group flex flex-col gap-1 p-1 rounded hover:bg-base-200 transition-colors text-left relative shrink-0 ${e.get(f) ? "w-[140px]" : ""} ${r.canvasId === e.get(F).id ? "ring-2 ring-primary bg-primary/5" : ""}`), e.set_attribute(q, "aria-label", `Select canvas ${e.get(F).label ?? ""}`), e.set_text(R, `${e.get(F).index + 1}.`), e.set_text(j, ` ${e.get(F).label ?? ""}`);
1469
- }), e.append($, q);
1470
- }), e.reset(m), e.reset(W);
1471
- var P = e.sibling(W, 2);
1565
+ e.reset(re);
1566
+ var H = e.sibling(re, 2), n = e.child(H), _ = e.child(n);
1567
+ e.reset(n);
1568
+ var Y = e.sibling(n);
1569
+ e.reset(H), e.reset(q), e.template_effect(() => {
1570
+ e.set_class(q, 1, `group flex flex-col gap-1 p-1 rounded hover:bg-base-200 transition-colors text-left relative shrink-0 ${e.get(c) ? "w-[140px]" : ""} ${r.canvasId === e.get(B).id ? "ring-2 ring-primary bg-primary/5" : ""}`), e.set_attribute(q, "aria-label", `Select canvas ${e.get(B).label ?? ""}`), e.set_text(_, `${e.get(B).index + 1}.`), e.set_text(Y, ` ${e.get(B).label ?? ""}`);
1571
+ }), e.append(L, q);
1572
+ }), e.reset(y), e.reset(m);
1573
+ var f = e.sibling(m, 2);
1472
1574
  {
1473
- var O = ($) => {
1474
- var F = fr();
1475
- F.__mousedown = k, e.append($, F);
1575
+ var G = (L) => {
1576
+ var B = mr();
1577
+ B.__mousedown = v, e.append(L, B);
1476
1578
  };
1477
- e.if(P, ($) => {
1478
- e.get(p) === "none" && $(O);
1579
+ e.if(f, (L) => {
1580
+ e.get(l) === "none" && L(G);
1479
1581
  });
1480
1582
  }
1481
- e.reset(_), e.bind_this(_, ($) => e.set(y, $), () => e.get(y));
1482
- var Q = e.sibling(_, 2);
1583
+ e.reset(S), e.bind_this(S, (L) => e.set(w, L), () => e.get(w));
1584
+ var V = e.sibling(S, 2);
1483
1585
  {
1484
- var U = ($) => {
1485
- var F = ur(), q = e.first_child(F), J = e.sibling(q, 2), ie = e.sibling(J, 2), u = e.sibling(ie, 2);
1586
+ var U = (L) => {
1587
+ var B = br(), q = e.first_child(B), re = e.sibling(q, 2), se = e.sibling(re, 2), oe = e.sibling(se, 2);
1486
1588
  e.template_effect(() => {
1487
- e.set_class(q, 1, `absolute top-2 left-2 right-2 h-16 rounded-xl border-4 border-dashed border-primary/40 z-950 flex items-center justify-center transition-all duration-200 ${r.dragOverSide === "top" ? "bg-primary/20 scale-105" : "bg-base-100/50"}`), e.set_class(J, 1, `absolute bottom-2 left-2 right-2 h-16 rounded-xl border-4 border-dashed border-primary/40 z-950 flex items-center justify-center transition-all duration-200 ${r.dragOverSide === "bottom" ? "bg-primary/20 scale-105" : "bg-base-100/50"}`), e.set_class(ie, 1, `absolute top-2 bottom-2 left-2 w-16 rounded-xl border-4 border-dashed border-primary/40 z-950 flex items-center justify-center transition-all duration-200 ${r.dragOverSide === "left" ? "bg-primary/20 scale-105" : "bg-base-100/50"}`), e.set_class(u, 1, `absolute top-2 bottom-2 right-2 w-16 rounded-xl border-4 border-dashed border-primary/40 z-950 flex items-center justify-center transition-all duration-300 ${r.dragOverSide === "right" ? "bg-primary/20 scale-105" : "bg-base-100/50"}`);
1488
- }), e.append($, F);
1589
+ e.set_class(q, 1, `absolute top-2 left-2 right-2 h-16 rounded-xl border-4 border-dashed border-primary/40 z-999 pointer-events-none flex items-center justify-center transition-all duration-200 ${r.dragOverSide === "top" ? "bg-primary/20 scale-105" : "bg-base-100/50"}`), e.set_class(re, 1, `absolute bottom-2 left-2 right-2 h-16 rounded-xl border-4 border-dashed border-primary/40 z-999 pointer-events-none flex items-center justify-center transition-all duration-200 ${r.dragOverSide === "bottom" ? "bg-primary/20 scale-105" : "bg-base-100/50"}`), e.set_class(se, 1, `absolute top-2 bottom-2 left-2 w-16 rounded-xl border-4 border-dashed border-primary/40 z-999 pointer-events-none flex items-center justify-center transition-all duration-200 ${r.dragOverSide === "left" ? "bg-primary/20 scale-105" : "bg-base-100/50"}`), e.set_class(oe, 1, `absolute top-2 bottom-2 right-2 w-16 rounded-xl border-4 border-dashed border-primary/40 z-999 pointer-events-none flex items-center justify-center transition-all duration-300 ${r.dragOverSide === "right" ? "bg-primary/20 scale-105" : "bg-base-100/50"}`);
1590
+ }), e.append(L, B);
1489
1591
  };
1490
- e.if(Q, ($) => {
1491
- r.isGalleryDragging && $(U);
1592
+ e.if(V, (L) => {
1593
+ r.isGalleryDragging && L(U);
1492
1594
  });
1493
1595
  }
1494
1596
  e.template_effect(() => {
1495
- e.set_class(_, 1, (e.get(p) !== "none" ? `relative z-50 bg-base-100 shadow-xl border-base-300 flex transition-all duration-200 select-none w-full h-full
1496
- ${e.get(p) === "bottom" || e.get(p) === "top" ? "flex-row border-t" : ""}
1497
- ${e.get(p) === "left" || e.get(p) === "right" ? "flex-col border-x" : ""}` : "fixed z-900 bg-base-100 shadow-2xl rounded-lg flex flex-col border border-base-300 overflow-hidden select-none") + (r.isGalleryDragging ? " pointer-events-none opacity-80" : "")), e.set_style(_, e.get(p) !== "none" ? "" : `left: ${r.galleryPosition.x}px; top: ${r.galleryPosition.y}px; width: ${r.gallerySize.width}px; height: ${r.gallerySize.height}px;`), e.set_class(b, 1, "bg-base-100 flex shrink-0 select-none relative " + (e.get(p) === "bottom" || e.get(p) === "top" ? "flex-row h-full items-center border-r border-base-200" : "flex-col w-full border-b border-base-200")), e.set_class(h, 1, "cursor-move flex items-center justify-center hover:bg-base-200/50 active:bg-base-200 transition-colors " + (e.get(p) === "bottom" || e.get(p) === "top" ? "w-8 h-full" : "h-6 w-full")), e.set_class(H, 1, "bg-base-300 rounded-full " + (e.get(p) === "bottom" || e.get(p) === "top" ? "w-1.5 h-12" : "w-12 h-1.5")), e.set_class(W, 1, `flex-1 p-1 bg-base-100 ${e.get(f) ? "overflow-x-auto overflow-y-hidden" : "overflow-y-auto overflow-x-hidden"}`), e.set_class(m, 1, e.clsx(e.get(f) ? "flex flex-row gap-2 h-full items-center" : "grid gap-2")), e.set_style(m, e.get(f) ? "" : "grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));");
1498
- }), e.append(l, C);
1597
+ e.set_class(S, 1, (e.get(l) !== "none" ? `relative z-50 bg-base-100 shadow-xl border-base-300 flex transition-all duration-200 select-none w-full h-full
1598
+ ${e.get(l) === "bottom" || e.get(l) === "top" ? "flex-row border-t" : ""}
1599
+ ${e.get(l) === "left" || e.get(l) === "right" ? "flex-col border-x" : ""}` : "fixed z-900 bg-base-100 shadow-2xl rounded-lg flex flex-col border border-base-300 overflow-hidden select-none") + (r.isGalleryDragging ? " pointer-events-none opacity-80" : "")), e.set_style(S, e.get(l) !== "none" ? "" : `left: ${r.galleryPosition.x}px; top: ${r.galleryPosition.y}px; width: ${r.gallerySize.width}px; height: ${r.gallerySize.height}px;`), e.set_class(m, 1, `flex-1 p-1 bg-base-100 ${e.get(c) ? "overflow-x-auto overflow-y-hidden h-full" : "overflow-y-auto overflow-x-hidden"}`), e.set_class(y, 1, e.clsx(e.get(c) ? "flex flex-row gap-2 h-full items-center" : "grid gap-2")), e.set_style(y, e.get(c) ? "" : "grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));");
1600
+ }), e.append(d, z);
1499
1601
  };
1500
- e.if(G, (l) => {
1501
- r.showThumbnailGallery && l(L);
1602
+ e.if(A, (d) => {
1603
+ r.showThumbnailGallery && d($);
1502
1604
  });
1503
1605
  }
1504
- return e.append(i, S), e.pop(o);
1606
+ return e.append(i, u), e.pop(T);
1505
1607
  }
1506
1608
  e.delegate(["click", "mousedown"]);
1507
- e.create_custom_element(ne, { canvases: {} }, [], [], !0);
1508
- var vr = e.from_html('<div class="fab fab-flower fab-top-left absolute z-600 pointer-events-auto flex-col items-end transition-all duration-300 bottom-6 right-6"><div class="tooltip tooltip-left"><div tabindex="0" role="button" class="btn btn-lg btn-primary btn-circle shadow-xl"><span class="sr-only"> </span> <!></div></div> <div class="fab-close tooltip tooltip-top"><button><!></button></div> <div class="tooltip tooltip-left"><button><!></button></div> <div class="tooltip tooltip-left"><button><!></button></div> <div class="tooltip tooltip-top"><button><!></button></div> <div class="tooltip tooltip-top"><button><!></button></div></div>');
1509
- function rt(i, t) {
1510
- e.push(t, !1);
1511
- const r = oe(se);
1512
- e.init();
1513
- var s = vr(), n = e.child(s), a = e.child(n), y = e.child(a), I = e.child(y, !0);
1514
- e.reset(y);
1515
- var c = e.sibling(y, 2);
1516
- xt(c, { size: 32, weight: "bold" }), e.reset(a), e.reset(n);
1517
- var w = e.sibling(n, 2), k = e.child(w);
1518
- k.__click = () => r.toggleSearchPanel();
1519
- var z = e.child(k);
1520
- Qe(z, { size: 28, weight: "bold" }), e.reset(k), e.reset(w);
1521
- var d = e.sibling(w, 2), g = e.child(d);
1522
- g.__click = () => r.toggleThumbnailGallery();
1523
- var p = e.child(g);
1524
- St(p, { size: 28, weight: "bold" }), e.reset(g), e.reset(d);
1525
- var f = e.sibling(d, 2), v = e.child(f);
1526
- v.__click = () => r.toggleFullScreen();
1527
- var o = e.child(v);
1609
+ e.create_custom_element(de, { canvases: {} }, [], [], !0);
1610
+ var yr = e.from_html("<button><!></button>"), wr = e.from_html("<button><!></button>"), xr = e.from_html("<button><!></button>"), Sr = e.from_html("<button><!></button>"), Ar = e.from_html("<button><!></button>"), Ir = e.from_html('<div class="tooltip tooltip-left"><!></div>'), Cr = e.from_html('<div class="tooltip tooltip-left"><!></div>'), kr = e.from_html('<div class="tooltip tooltip-left"><!></div>'), Pr = e.from_html('<div class="tooltip tooltip-top"><!></div>'), Mr = e.from_html('<div class="tooltip tooltip-top"><!></div>'), Tr = e.from_html('<div class="absolute z-600 bottom-6 right-6"><!> <!> <!> <!> <!></div>'), zr = e.from_html('<button class="btn btn-circle btn-lg btn-neutral shadow-lg"><!></button>'), jr = e.from_html('<div class="tooltip tooltip-left"><!></div>'), Lr = e.from_html('<div class="tooltip tooltip-left"><!></div>'), Rr = e.from_html('<div class="tooltip tooltip-left"><!></div>'), Dr = e.from_html('<div class="tooltip tooltip-left"><!></div>'), Er = e.from_html('<div class="fab fab-flower fab-top-left absolute z-600 pointer-events-auto flex-col items-end transition-all duration-300 bottom-6 right-6"><div class="tooltip tooltip-left"><div tabindex="0" role="button" class="btn btn-lg btn-primary btn-circle shadow-xl"><span class="sr-only"> </span> <!></div></div> <div class="fab-close tooltip tooltip-top"><!></div> <!> <!> <!> <!></div>');
1611
+ function ot(i, t) {
1612
+ e.push(t, !0);
1613
+ const r = (T) => {
1614
+ var u = yr();
1615
+ u.__click = () => b.toggleSearchPanel();
1616
+ var A = e.child(u);
1617
+ Ze(A, { size: 28, weight: "bold" }), e.reset(u), e.template_effect(
1618
+ ($) => {
1619
+ e.set_attribute(u, "aria-label", $), e.set_class(u, 1, e.clsx([
1620
+ "btn btn-circle btn-lg shadow-lg",
1621
+ b.showSearchPanel ? "btn-primary" : "btn-neutral"
1622
+ ]));
1623
+ },
1624
+ [() => E.toggle_search()]
1625
+ ), e.append(T, u);
1626
+ }, s = (T) => {
1627
+ var u = wr();
1628
+ u.__click = () => b.toggleThumbnailGallery();
1629
+ var A = e.child(u);
1630
+ kt(A, { size: 28, weight: "bold" }), e.reset(u), e.template_effect(
1631
+ ($) => {
1632
+ e.set_attribute(u, "aria-label", $), e.set_class(u, 1, `btn btn-lg btn-circle shadow-lg ${b.showThumbnailGallery ? "btn-info" : "btn-neutral"}`);
1633
+ },
1634
+ [
1635
+ () => b.showThumbnailGallery ? E.hide_gallery() : E.show_gallery()
1636
+ ]
1637
+ ), e.append(T, u);
1638
+ }, a = (T) => {
1639
+ var u = xr();
1640
+ u.__click = () => b.toggleFullScreen();
1641
+ var A = e.child(u);
1642
+ {
1643
+ var $ = (z) => {
1644
+ St(z, { size: 28, weight: "bold" });
1645
+ }, d = (z) => {
1646
+ At(z, { size: 28, weight: "bold" });
1647
+ };
1648
+ e.if(A, (z) => {
1649
+ b.isFullScreen ? z($) : z(d, !1);
1650
+ });
1651
+ }
1652
+ e.reset(u), e.template_effect(() => e.set_class(u, 1, `btn btn-circle btn-lg shadow-lg transition-all duration-300 ease-out ${b.isFullScreen ? "btn-warning" : "btn-neutral"}`)), e.append(T, u);
1653
+ }, o = (T) => {
1654
+ var u = Sr();
1655
+ u.__click = () => b.toggleAnnotations();
1656
+ var A = e.child(u);
1657
+ xt(A, { size: 28, weight: "bold" }), e.reset(u), e.template_effect(
1658
+ ($) => {
1659
+ e.set_attribute(u, "aria-label", $), e.set_class(u, 1, `btn btn-lg btn-circle shadow-lg ${b.showAnnotations ? "btn-error" : "btn-neutral"}`);
1660
+ },
1661
+ [() => E.toggle_annotations()]
1662
+ ), e.append(T, u);
1663
+ }, I = (T) => {
1664
+ var u = Ar();
1665
+ u.__click = () => b.toggleMetadataDialog();
1666
+ var A = e.child(u);
1667
+ It(A, { size: 28, weight: "bold" }), e.reset(u), e.template_effect(
1668
+ ($) => {
1669
+ e.set_attribute(u, "aria-label", $), e.set_class(u, 1, `btn btn-lg btn-circle shadow-lg ${b.showMetadataDialog ? "btn-info" : "btn-neutral"}`);
1670
+ },
1671
+ [() => E.toggle_metadata()]
1672
+ ), e.append(T, u);
1673
+ }, b = fe(ce), w = e.derived(() => b.config.rightMenu || {}), P = e.derived(() => e.get(w).showSearch !== !1), g = e.derived(() => e.get(w).showGallery !== !1), O = e.derived(() => e.get(w).showFullscreen !== !1), v = e.derived(() => e.get(w).showAnnotations !== !1), p = e.derived(() => e.get(w).showInfo !== !1), C = e.derived(() => [
1674
+ e.get(P) ? "search" : null,
1675
+ e.get(g) ? "gallery" : null,
1676
+ e.get(O) ? "fullscreen" : null,
1677
+ e.get(v) ? "annotations" : null,
1678
+ e.get(p) ? "info" : null
1679
+ ].filter((T) => T !== null));
1680
+ var h = e.comment(), l = e.first_child(h);
1528
1681
  {
1529
- var S = (b) => {
1530
- _t(b, { size: 28, weight: "bold" });
1531
- }, G = (b) => {
1532
- yt(b, { size: 28, weight: "bold" });
1682
+ var c = (T) => {
1683
+ var u = Tr(), A = e.child(u);
1684
+ {
1685
+ var $ = (y) => {
1686
+ var f = Ir(), G = e.child(f);
1687
+ r(G), e.reset(f), e.template_effect((V) => e.set_attribute(f, "data-tip", V), [() => E.search()]), e.append(y, f);
1688
+ };
1689
+ e.if(A, (y) => {
1690
+ e.get(P) && y($);
1691
+ });
1692
+ }
1693
+ var d = e.sibling(A, 2);
1694
+ {
1695
+ var z = (y) => {
1696
+ var f = Cr(), G = e.child(f);
1697
+ s(G), e.reset(f), e.template_effect((V) => e.set_attribute(f, "data-tip", V), [
1698
+ () => b.showThumbnailGallery ? E.hide_gallery() : E.show_gallery()
1699
+ ]), e.append(y, f);
1700
+ };
1701
+ e.if(d, (y) => {
1702
+ e.get(g) && y(z);
1703
+ });
1704
+ }
1705
+ var S = e.sibling(d, 2);
1706
+ {
1707
+ var k = (y) => {
1708
+ var f = kr(), G = e.child(f);
1709
+ a(G), e.reset(f), e.template_effect((V) => e.set_attribute(f, "data-tip", V), [
1710
+ () => b.isFullScreen ? E.exit_full_screen() : E.enter_full_screen()
1711
+ ]), e.append(y, f);
1712
+ };
1713
+ e.if(S, (y) => {
1714
+ e.get(O) && y(k);
1715
+ });
1716
+ }
1717
+ var D = e.sibling(S, 2);
1718
+ {
1719
+ var j = (y) => {
1720
+ var f = Pr(), G = e.child(f);
1721
+ o(G), e.reset(f), e.template_effect((V) => e.set_attribute(f, "data-tip", V), [
1722
+ () => b.showAnnotations ? E.hide_annotations() : E.show_annotations()
1723
+ ]), e.append(y, f);
1724
+ };
1725
+ e.if(D, (y) => {
1726
+ e.get(v) && y(j);
1727
+ });
1728
+ }
1729
+ var x = e.sibling(D, 2);
1730
+ {
1731
+ var m = (y) => {
1732
+ var f = Mr(), G = e.child(f);
1733
+ I(G), e.reset(f), e.template_effect((V) => e.set_attribute(f, "data-tip", V), [() => E.metadata()]), e.append(y, f);
1734
+ };
1735
+ e.if(x, (y) => {
1736
+ e.get(p) && y(m);
1737
+ });
1738
+ }
1739
+ e.reset(u), e.append(T, u);
1740
+ }, R = (T) => {
1741
+ var u = e.comment(), A = e.first_child(u);
1742
+ {
1743
+ var $ = (d) => {
1744
+ var z = Er(), S = e.child(z), k = e.child(S), D = e.child(k), j = e.child(D, !0);
1745
+ e.reset(D);
1746
+ var x = e.sibling(D, 2);
1747
+ Ct(x, { size: 32, weight: "bold" }), e.reset(k), e.reset(S);
1748
+ var m = e.sibling(S, 2), y = e.child(m);
1749
+ {
1750
+ var f = (Q) => {
1751
+ r(Q);
1752
+ }, G = (Q) => {
1753
+ var H = zr();
1754
+ H.__click = (_) => {
1755
+ document.activeElement instanceof HTMLElement && document.activeElement.blur();
1756
+ };
1757
+ var n = e.child(H);
1758
+ Fe(n, { size: 28, weight: "bold" }), e.reset(H), e.template_effect((_) => e.set_attribute(H, "aria-label", _), [() => E.close_menu()]), e.append(Q, H);
1759
+ };
1760
+ e.if(y, (Q) => {
1761
+ e.get(P) ? Q(f) : Q(G, !1);
1762
+ });
1763
+ }
1764
+ e.reset(m);
1765
+ var V = e.sibling(m, 2);
1766
+ {
1767
+ var U = (Q) => {
1768
+ var H = jr(), n = e.child(H);
1769
+ s(n), e.reset(H), e.template_effect((_) => e.set_attribute(H, "data-tip", _), [
1770
+ () => b.showThumbnailGallery ? E.hide_gallery() : E.show_gallery()
1771
+ ]), e.append(Q, H);
1772
+ };
1773
+ e.if(V, (Q) => {
1774
+ e.get(g) && Q(U);
1775
+ });
1776
+ }
1777
+ var L = e.sibling(V, 2);
1778
+ {
1779
+ var B = (Q) => {
1780
+ var H = Lr(), n = e.child(H);
1781
+ a(n), e.reset(H), e.template_effect((_) => e.set_attribute(H, "data-tip", _), [
1782
+ () => b.isFullScreen ? E.exit_full_screen() : E.enter_full_screen()
1783
+ ]), e.append(Q, H);
1784
+ };
1785
+ e.if(L, (Q) => {
1786
+ e.get(O) && Q(B);
1787
+ });
1788
+ }
1789
+ var q = e.sibling(L, 2);
1790
+ {
1791
+ var re = (Q) => {
1792
+ var H = Rr(), n = e.child(H);
1793
+ o(n), e.reset(H), e.template_effect((_) => e.set_attribute(H, "data-tip", _), [
1794
+ () => b.showAnnotations ? E.hide_annotations() : E.show_annotations()
1795
+ ]), e.append(Q, H);
1796
+ };
1797
+ e.if(q, (Q) => {
1798
+ e.get(v) && Q(re);
1799
+ });
1800
+ }
1801
+ var se = e.sibling(q, 2);
1802
+ {
1803
+ var oe = (Q) => {
1804
+ var H = Dr(), n = e.child(H);
1805
+ I(n), e.reset(H), e.template_effect((_) => e.set_attribute(H, "data-tip", _), [() => E.metadata()]), e.append(Q, H);
1806
+ };
1807
+ e.if(se, (Q) => {
1808
+ e.get(p) && Q(oe);
1809
+ });
1810
+ }
1811
+ e.reset(z), e.template_effect(
1812
+ (Q, H, n) => {
1813
+ e.set_attribute(S, "data-tip", Q), e.set_text(j, H), e.set_attribute(m, "data-tip", n);
1814
+ },
1815
+ [
1816
+ () => E.menu(),
1817
+ () => E.menu(),
1818
+ () => e.get(P) ? E.search() : E.close_menu()
1819
+ ]
1820
+ ), e.append(d, z);
1821
+ };
1822
+ e.if(
1823
+ A,
1824
+ (d) => {
1825
+ e.get(C).length > 1 && d($);
1826
+ },
1827
+ !0
1828
+ );
1829
+ }
1830
+ e.append(T, u);
1533
1831
  };
1534
- e.if(o, (b) => {
1535
- r.isFullScreen ? b(S) : b(G, !1);
1832
+ e.if(l, (T) => {
1833
+ e.get(C).length === 1 ? T(c) : T(R, !1);
1536
1834
  });
1537
1835
  }
1538
- e.reset(v), e.reset(f);
1539
- var L = e.sibling(f, 2), l = e.child(L);
1540
- l.__click = () => r.toggleAnnotations();
1541
- var C = e.child(l);
1542
- bt(C, { size: 28, weight: "bold" }), e.reset(l), e.reset(L);
1543
- var _ = e.sibling(L, 2), x = e.child(_);
1544
- x.__click = () => r.toggleMetadataDialog();
1545
- var D = e.child(x);
1546
- wt(D, { size: 28, weight: "bold" }), e.reset(x), e.reset(_), e.reset(s), e.template_effect(
1547
- (b, h, H, W, m, P, O, Q, U, $, F) => {
1548
- e.set_attribute(n, "data-tip", b), e.set_text(I, h), e.set_attribute(w, "data-tip", H), e.set_attribute(k, "aria-label", W), e.set_class(k, 1, e.clsx([
1549
- "btn btn-circle btn-lg shadow-lg",
1550
- r.showSearchPanel && "btn-primary",
1551
- !r.showSearchPanel && "btn-neutral"
1552
- ])), e.set_attribute(d, "data-tip", m), e.set_attribute(g, "aria-label", P), e.set_class(g, 1, `btn btn-lg btn-circle shadow-lg ${r.showThumbnailGallery ? "btn-info" : "btn-neutral"}`), e.set_attribute(f, "data-tip", O), e.set_class(v, 1, `btn btn-circle btn-lg shadow-lg transition-all duration-300 ease-out ${r.isFullScreen ? "btn-warning" : "btn-neutral"}`), e.set_attribute(L, "data-tip", Q), e.set_attribute(l, "aria-label", U), e.set_class(l, 1, `btn btn-lg btn-circle shadow-lg ${r.showAnnotations ? "btn-error" : "btn-neutral"}`), e.set_attribute(_, "data-tip", $), e.set_attribute(x, "aria-label", F), e.set_class(x, 1, `btn btn-lg btn-circle shadow-lg ${r.showMetadataDialog ? "btn-info" : "btn-neutral"}`);
1553
- },
1554
- [
1555
- () => B.menu(),
1556
- () => B.menu(),
1557
- () => B.search(),
1558
- () => B.toggle_search(),
1559
- () => r.showThumbnailGallery ? B.hide_gallery() : B.show_gallery(),
1560
- () => r.showThumbnailGallery ? B.hide_gallery() : B.show_gallery(),
1561
- () => r.isFullScreen ? B.exit_full_screen() : B.enter_full_screen(),
1562
- () => r.showAnnotations ? B.hide_annotations() : B.show_annotations(),
1563
- () => B.toggle_annotations(),
1564
- () => B.metadata(),
1565
- () => B.toggle_metadata()
1566
- ]
1567
- ), e.append(i, s), e.pop();
1836
+ e.append(i, h), e.pop();
1568
1837
  }
1569
1838
  e.delegate(["click"]);
1570
- e.create_custom_element(rt, {}, [], [], !0);
1571
- var hr = e.from_html('<div class="tooltip tooltip-right"><button><!></button></div>'), pr = e.from_html('<div class="absolute left-6 bottom-6 z-50 pointer-events-auto flex flex-col items-start transition-all duration-300"><div></div> <div class="tooltip tooltip-right"><button><!></button></div></div>');
1572
- function it(i, t) {
1839
+ e.create_custom_element(ot, {}, [], [], !0);
1840
+ var Gr = e.from_html('<div class="tooltip tooltip-right"><button><!></button></div>'), Or = e.from_html('<div class="absolute left-6 bottom-6 z-50 pointer-events-auto flex flex-col items-start transition-all duration-300"><div></div> <div class="tooltip tooltip-right"><button><!></button></div></div>');
1841
+ function lt(i, t) {
1573
1842
  e.push(t, !0);
1574
- const r = oe(se);
1575
- let s = e.derived(() => [...r.pluginMenuButtons].sort((w, k) => (w.order ?? 100) - (k.order ?? 100))), n = e.state(!1);
1576
- function a() {
1577
- e.set(n, !e.get(n));
1843
+ const r = fe(ce);
1844
+ let s = e.derived(() => [...r.pluginMenuButtons].sort((P, g) => (P.order ?? 100) - (g.order ?? 100))), a = e.state(!1);
1845
+ function o() {
1846
+ e.set(a, !e.get(a));
1578
1847
  }
1579
- var y = e.comment(), I = e.first_child(y);
1848
+ var I = e.comment(), b = e.first_child(I);
1580
1849
  {
1581
- var c = (w) => {
1582
- var k = pr(), z = e.child(k);
1583
- e.each(z, 21, () => e.get(s), (o) => o.id, (o, S) => {
1584
- const G = e.derived(() => e.get(S).icon);
1585
- var L = hr(), l = e.child(L);
1586
- l.__click = () => {
1587
- e.get(S).onClick(), e.set(n, !1);
1850
+ var w = (P) => {
1851
+ var g = Or(), O = e.child(g);
1852
+ e.each(O, 21, () => e.get(s), (c) => c.id, (c, R) => {
1853
+ const T = e.derived(() => e.get(R).icon);
1854
+ var u = Gr(), A = e.child(u);
1855
+ A.__click = () => {
1856
+ e.get(R).onClick(), e.set(a, !1);
1588
1857
  };
1589
- var C = e.child(l);
1590
- e.component(C, () => e.get(G), (_, x) => {
1591
- x(_, { size: 28, weight: "bold" });
1592
- }), e.reset(l), e.reset(L), e.template_effect(
1593
- (_) => {
1594
- e.set_attribute(L, "data-tip", e.get(S).tooltip), e.set_attribute(l, "aria-label", e.get(S).tooltip), e.set_class(l, 1, `btn btn-lg btn-circle shadow-lg ${_ ?? ""}`);
1858
+ var $ = e.child(A);
1859
+ e.component($, () => e.get(T), (d, z) => {
1860
+ z(d, { size: 28, weight: "bold" });
1861
+ }), e.reset(A), e.reset(u), e.template_effect(
1862
+ (d) => {
1863
+ e.set_attribute(u, "data-tip", e.get(R).tooltip), e.set_attribute(A, "aria-label", e.get(R).tooltip), e.set_class(A, 1, `btn btn-lg btn-circle shadow-lg ${d ?? ""}`);
1595
1864
  },
1596
1865
  [
1597
1866
  () => {
1598
- var _, x;
1599
- return (x = (_ = e.get(S)).isActive) != null && x.call(_) ? e.get(S).activeClass ?? "btn-primary" : "btn-neutral";
1867
+ var d, z;
1868
+ return (z = (d = e.get(R)).isActive) != null && z.call(d) ? e.get(R).activeClass ?? "btn-primary" : "btn-neutral";
1600
1869
  }
1601
1870
  ]
1602
- ), e.append(o, L);
1603
- }), e.reset(z);
1604
- var d = e.sibling(z, 2), g = e.child(d);
1605
- g.__click = a;
1606
- var p = e.child(g);
1871
+ ), e.append(c, u);
1872
+ }), e.reset(O);
1873
+ var v = e.sibling(O, 2), p = e.child(v);
1874
+ p.__click = o;
1875
+ var C = e.child(p);
1607
1876
  {
1608
- var f = (o) => {
1609
- qe(o, { size: 28, weight: "bold" });
1610
- }, v = (o) => {
1611
- At(o, { size: 28, weight: "bold" });
1877
+ var h = (c) => {
1878
+ Fe(c, { size: 28, weight: "bold" });
1879
+ }, l = (c) => {
1880
+ Pt(c, { size: 28, weight: "bold" });
1612
1881
  };
1613
- e.if(p, (o) => {
1614
- e.get(n) ? o(f) : o(v, !1);
1882
+ e.if(C, (c) => {
1883
+ e.get(a) ? c(h) : c(l, !1);
1615
1884
  });
1616
1885
  }
1617
- e.reset(g), e.reset(d), e.reset(k), e.template_effect(
1618
- (o, S) => {
1619
- e.set_class(z, 1, `flex flex-col-reverse gap-3 mb-3 transition-all duration-300 origin-bottom ${e.get(n) ? "opacity-100 translate-y-0 scale-100" : "opacity-0 translate-y-4 scale-90 pointer-events-none"}`), e.set_attribute(d, "data-tip", o), e.set_class(g, 1, `btn btn-lg btn-secondary btn-circle shadow-xl transition-transform duration-300 ${e.get(n) ? "rotate-90" : ""}`), e.set_attribute(g, "aria-label", S);
1886
+ e.reset(p), e.reset(v), e.reset(g), e.template_effect(
1887
+ (c, R) => {
1888
+ e.set_class(O, 1, `flex flex-col-reverse gap-3 mb-3 transition-all duration-300 origin-bottom ${e.get(a) ? "opacity-100 translate-y-0 scale-100" : "opacity-0 translate-y-4 scale-90 pointer-events-none"}`), e.set_attribute(v, "data-tip", c), e.set_class(p, 1, `btn btn-lg btn-secondary btn-circle shadow-xl transition-transform duration-300 ${e.get(a) ? "rotate-90" : ""}`), e.set_attribute(p, "aria-label", R);
1620
1889
  },
1621
- [() => B.plugins_tooltip(), () => B.plugins_tooltip()]
1622
- ), e.append(w, k);
1890
+ [() => E.plugins_tooltip(), () => E.plugins_tooltip()]
1891
+ ), e.append(P, g);
1623
1892
  };
1624
- e.if(I, (w) => {
1625
- e.get(s).length > 0 && w(c);
1893
+ e.if(b, (P) => {
1894
+ e.get(s).length > 0 && P(w);
1626
1895
  });
1627
1896
  }
1628
- e.append(i, y), e.pop();
1897
+ e.append(i, I), e.pop();
1629
1898
  }
1630
1899
  e.delegate(["click"]);
1631
- e.create_custom_element(it, {}, [], [], !0);
1632
- var mr = e.from_html('<div class="mb-6 prose"><p><!></p></div>'), br = e.from_html('<dt class="font-bold text-lg opacity-70 mt-6"> </dt> <dd class="text-sm ps-2"><!></dd>', 1), _r = e.from_html('<dt class="font-bold text-lg opacity-70 mt-6"> </dt> <dd class="text-sm ps-2"><a target="_blank" rel="noreferrer" class="link link-primary break-all"> </a></dd>', 1), yr = e.from_html('<dt class="font-bold text-lg opacity-70 mt-6"> </dt> <dd class="text-sm ps-2"><!></dd>', 1), wr = e.from_html('<dialog class="modal"><div class="modal-box w-11/12 max-w-5xl"><form method="dialog"><button class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2">✕</button></form> <h3 class="font-bold text-lg mb-4"> </h3> <div class="py-4 overflow-y-auto max-h-[70vh]"><!> <dl class="grid grid-cols-1 md:grid-cols-[200px_1fr]"><!> <!> <!></dl></div> <div class="modal-action"><form method="dialog"><button class="btn"> </button></form></div></div> <form method="dialog" class="modal-backdrop"><button> </button></form></dialog>');
1633
- function st(i, t) {
1900
+ e.create_custom_element(lt, {}, [], [], !0);
1901
+ var Br = e.from_html('<div class="mb-6 prose"><p><!></p></div>'), $r = e.from_html('<dt class="font-bold text-lg opacity-70 mt-6"> </dt> <dd class="text-sm ps-2"><!></dd>', 1), Fr = e.from_html('<dt class="font-bold text-lg opacity-70 mt-6"> </dt> <dd class="text-sm ps-2"><a target="_blank" rel="noreferrer" class="link link-primary break-all"> </a></dd>', 1), Vr = e.from_html('<dt class="font-bold text-lg opacity-70 mt-6"> </dt> <dd class="text-sm ps-2"><!></dd>', 1), Nr = e.from_html('<dialog class="modal"><div class="modal-box w-11/12 max-w-5xl"><form method="dialog"><button class="btn btn-sm btn-circle btn-ghost absolute right-2 top-2">✕</button></form> <h3 class="font-bold text-lg mb-4"> </h3> <div class="py-4 overflow-y-auto max-h-[70vh]"><!> <dl class="grid grid-cols-1 md:grid-cols-[200px_1fr]"><!> <!> <!></dl></div> <div class="modal-action"><form method="dialog"><button class="btn"> </button></form></div></div> <form method="dialog" class="modal-backdrop"><button> </button></form></dialog>');
1902
+ function ct(i, t) {
1634
1903
  e.push(t, !0);
1635
- const r = oe(se);
1636
- let s = e.derived(() => r.manifest), n = e.derived(() => {
1637
- const m = pt.current;
1904
+ const r = fe(ce);
1905
+ let s = e.derived(() => r.manifest), a = e.derived(() => {
1906
+ const m = yt.current;
1638
1907
  if (!e.get(s)) return [];
1639
- const P = e.get(s).getMetadata();
1640
- return P ? P.map((O) => {
1641
- let Q = "", U = "";
1642
- const $ = (F) => {
1643
- if (typeof F == "string") return F;
1644
- if (Array.isArray(F)) {
1645
- let q = F.find((J) => J.locale === m || J.language === m);
1646
- return q || (q = F.find((J) => J.locale === "en" || J.language === "en")), q || (q = F.find((J) => !J.locale && !J.language)), q || (q = F[0]), q ? q.value : "";
1908
+ const y = e.get(s).getMetadata();
1909
+ return y ? y.map((f) => {
1910
+ let G = "", V = "";
1911
+ const U = (L) => {
1912
+ if (typeof L == "string") return L;
1913
+ if (Array.isArray(L)) {
1914
+ let B = L.find((q) => q.locale === m || q.language === m);
1915
+ return B || (B = L.find((q) => q.locale === "en" || q.language === "en")), B || (B = L.find((q) => !q.locale && !q.language)), B || (B = L[0]), B ? B.value : "";
1647
1916
  }
1648
- return String(F);
1917
+ return String(L);
1649
1918
  };
1650
- return O.getLabel ? Q = $(O.getLabel()) : O.label && (Q = $(O.label)), O.getValue ? U = $(O.getValue()) : O.value && (U = $(O.value)), { label: Q, value: U };
1919
+ return f.getLabel ? G = U(f.getLabel()) : f.label && (G = U(f.label)), f.getValue ? V = U(f.getValue()) : f.value && (V = U(f.value)), { label: G, value: V };
1651
1920
  }) : [];
1652
- }), a = e.derived(() => e.get(s) ? e.get(s).getDescription() : ""), y = e.derived(() => {
1921
+ }), o = e.derived(() => e.get(s) ? e.get(s).getDescription() : ""), I = e.derived(() => {
1653
1922
  var m;
1654
1923
  return e.get(s) ? (m = e.get(s).getRequiredStatement()) == null ? void 0 : m.getValue() : "";
1655
- }), I = e.derived(() => e.get(s) ? e.get(s).getLicense() : "");
1656
- var c = wr(), w = e.child(c), k = e.child(w), z = e.child(k);
1657
- z.__click = () => r.toggleMetadataDialog(), e.reset(k);
1658
- var d = e.sibling(k, 2), g = e.child(d, !0);
1659
- e.reset(d);
1660
- var p = e.sibling(d, 2), f = e.child(p);
1924
+ }), b = e.derived(() => e.get(s) ? e.get(s).getLicense() : "");
1925
+ var w = Nr(), P = e.child(w), g = e.child(P), O = e.child(g);
1926
+ O.__click = () => r.toggleMetadataDialog(), e.reset(g);
1927
+ var v = e.sibling(g, 2), p = e.child(v, !0);
1928
+ e.reset(v);
1929
+ var C = e.sibling(v, 2), h = e.child(C);
1661
1930
  {
1662
- var v = (m) => {
1663
- var P = mr(), O = e.child(P), Q = e.child(O);
1664
- e.html(Q, () => e.get(a)), e.reset(O), e.reset(P), e.append(m, P);
1931
+ var l = (m) => {
1932
+ var y = Br(), f = e.child(y), G = e.child(f);
1933
+ e.html(G, () => e.get(o)), e.reset(f), e.reset(y), e.append(m, y);
1665
1934
  };
1666
- e.if(f, (m) => {
1667
- e.get(a) && m(v);
1935
+ e.if(h, (m) => {
1936
+ e.get(o) && m(l);
1668
1937
  });
1669
1938
  }
1670
- var o = e.sibling(f, 2), S = e.child(o);
1939
+ var c = e.sibling(h, 2), R = e.child(c);
1671
1940
  {
1672
- var G = (m) => {
1673
- var P = br(), O = e.first_child(P), Q = e.child(O, !0);
1674
- e.reset(O);
1675
- var U = e.sibling(O, 2), $ = e.child(U);
1676
- e.html($, () => e.get(y)), e.reset(U), e.template_effect((F) => e.set_text(Q, F), [() => B.attribution()]), e.append(m, P);
1941
+ var T = (m) => {
1942
+ var y = $r(), f = e.first_child(y), G = e.child(f, !0);
1943
+ e.reset(f);
1944
+ var V = e.sibling(f, 2), U = e.child(V);
1945
+ e.html(U, () => e.get(I)), e.reset(V), e.template_effect((L) => e.set_text(G, L), [() => E.attribution()]), e.append(m, y);
1677
1946
  };
1678
- e.if(S, (m) => {
1679
- e.get(y) && m(G);
1947
+ e.if(R, (m) => {
1948
+ e.get(I) && m(T);
1680
1949
  });
1681
1950
  }
1682
- var L = e.sibling(S, 2);
1951
+ var u = e.sibling(R, 2);
1683
1952
  {
1684
- var l = (m) => {
1685
- var P = _r(), O = e.first_child(P), Q = e.child(O, !0);
1686
- e.reset(O);
1687
- var U = e.sibling(O, 2), $ = e.child(U), F = e.child($, !0);
1688
- e.reset($), e.reset(U), e.template_effect(
1689
- (q) => {
1690
- e.set_text(Q, q), e.set_attribute($, "href", e.get(I)), e.set_text(F, e.get(I));
1953
+ var A = (m) => {
1954
+ var y = Fr(), f = e.first_child(y), G = e.child(f, !0);
1955
+ e.reset(f);
1956
+ var V = e.sibling(f, 2), U = e.child(V), L = e.child(U, !0);
1957
+ e.reset(U), e.reset(V), e.template_effect(
1958
+ (B) => {
1959
+ e.set_text(G, B), e.set_attribute(U, "href", e.get(b)), e.set_text(L, e.get(b));
1691
1960
  },
1692
- [() => B.license()]
1693
- ), e.append(m, P);
1961
+ [() => E.license()]
1962
+ ), e.append(m, y);
1694
1963
  };
1695
- e.if(L, (m) => {
1696
- e.get(I) && m(l);
1964
+ e.if(u, (m) => {
1965
+ e.get(b) && m(A);
1697
1966
  });
1698
1967
  }
1699
- var C = e.sibling(L, 2);
1700
- e.each(C, 17, () => e.get(n), e.index, (m, P) => {
1701
- var O = yr(), Q = e.first_child(O), U = e.child(Q, !0);
1702
- e.reset(Q);
1703
- var $ = e.sibling(Q, 2), F = e.child($);
1704
- e.html(F, () => e.get(P).value), e.reset($), e.template_effect(() => e.set_text(U, e.get(P).label)), e.append(m, O);
1705
- }), e.reset(o), e.reset(p);
1706
- var _ = e.sibling(p, 2), x = e.child(_), D = e.child(x);
1707
- D.__click = () => r.toggleMetadataDialog();
1708
- var b = e.child(D, !0);
1709
- e.reset(D), e.reset(x), e.reset(_), e.reset(w);
1710
- var h = e.sibling(w, 2), H = e.child(h);
1711
- H.__click = () => r.toggleMetadataDialog();
1712
- var W = e.child(H, !0);
1713
- e.reset(H), e.reset(h), e.reset(c), e.template_effect(
1714
- (m, P, O) => {
1715
- c.open = r.showMetadataDialog, e.set_text(g, m), e.set_text(b, P), e.set_text(W, O);
1968
+ var $ = e.sibling(u, 2);
1969
+ e.each($, 17, () => e.get(a), e.index, (m, y) => {
1970
+ var f = Vr(), G = e.first_child(f), V = e.child(G, !0);
1971
+ e.reset(G);
1972
+ var U = e.sibling(G, 2), L = e.child(U);
1973
+ e.html(L, () => e.get(y).value), e.reset(U), e.template_effect(() => e.set_text(V, e.get(y).label)), e.append(m, f);
1974
+ }), e.reset(c), e.reset(C);
1975
+ var d = e.sibling(C, 2), z = e.child(d), S = e.child(z);
1976
+ S.__click = () => r.toggleMetadataDialog();
1977
+ var k = e.child(S, !0);
1978
+ e.reset(S), e.reset(z), e.reset(d), e.reset(P);
1979
+ var D = e.sibling(P, 2), j = e.child(D);
1980
+ j.__click = () => r.toggleMetadataDialog();
1981
+ var x = e.child(j, !0);
1982
+ e.reset(j), e.reset(D), e.reset(w), e.template_effect(
1983
+ (m, y, f) => {
1984
+ w.open = r.showMetadataDialog, e.set_text(p, m), e.set_text(k, y), e.set_text(x, f);
1716
1985
  },
1717
1986
  [
1718
- () => e.get(s) ? e.get(s).getLabel().length && e.get(s).getLabel()[0] ? e.get(s).getLabel()[0].value : B.metadata_label_fallback() : B.loading(),
1719
- () => B.close(),
1720
- () => B.close()
1987
+ () => e.get(s) ? e.get(s).getLabel().length && e.get(s).getLabel()[0] ? e.get(s).getLabel()[0].value : E.metadata_label_fallback() : E.loading(),
1988
+ () => E.close(),
1989
+ () => E.close()
1721
1990
  ]
1722
- ), e.append(i, c), e.pop();
1991
+ ), e.append(i, w), e.pop();
1723
1992
  }
1724
1993
  e.delegate(["click"]);
1725
- e.create_custom_element(st, {}, [], [], !0);
1726
- var xr = e.from_html('<span class="loading loading-spinner loading-xs"></span>'), Sr = e.from_html('<div class="flex justify-center p-8"><span class="loading loading-spinner loading-lg text-primary"></span></div>'), Ar = e.from_html('<div class="text-center opacity-50 p-4"> </div>'), Ir = e.from_html('<div class="text-center opacity-50 p-4 text-sm"> </div>'), kr = e.from_html('<div class="leading-relaxed"><span><!></span> <span class="bg-yellow-200 text-yellow-900 font-bold px-0.5 rounded"><!></span> <span><!></span></div>'), Cr = e.from_html('<div class="leading-relaxed"> </div>'), Pr = e.from_html('<button class="w-full text-left card bg-base-100 shadow hover:shadow-md transition-all p-4 text-sm group border border-transparent hover:border-primary focus:outline-none focus:ring-2 focus:ring-primary"><div class="flex justify-between items-baseline mb-1"><span class="font-bold text-xs opacity-70 bg-base-200 px-1.5 py-0.5 rounded"> </span></div> <!></button>'), Mr = e.from_html('<div class="text-xs font-bold opacity-50 uppercase tracking-wider pb-2"> </div> <!>', 1), zr = e.from_html('<div class="h-full w-80 bg-base-200 shadow-2xl z-100 flex flex-col border-l border-base-300" role="dialog"><div class="p-4 bg-base-300 flex justify-between items-center shrink-0"><h2 class="font-bold text-lg"> </h2> <button class="btn btn-sm btn-circle btn-ghost">✕</button></div> <div class="p-4 border-b border-base-300 shrink-0"><div class="join w-full"><input type="text" class="input input-bordered join-item w-full"/> <button class="btn btn-primary join-item"><!></button></div></div> <div class="flex-1 overflow-y-auto p-4 space-y-4"><!></div></div>');
1727
- function nt(i, t) {
1994
+ e.create_custom_element(ct, {}, [], [], !0);
1995
+ var Hr = e.from_html('<button class="btn btn-sm btn-circle btn-ghost"><!></button>'), Yr = e.from_html('<span class="loading loading-spinner loading-xs"></span>'), Xr = e.from_html('<div class="flex justify-center p-8"><span class="loading loading-spinner loading-lg text-primary"></span></div>'), qr = e.from_html('<div class="text-center opacity-50 p-4"> </div>'), Qr = e.from_html('<div class="text-center opacity-50 p-4 text-sm"> </div>'), Wr = e.from_html('<div class="leading-relaxed"><span><!></span> <span class="bg-yellow-200 text-yellow-900 font-bold px-0.5 rounded"><!></span> <span><!></span></div>'), Ur = e.from_html('<div class="leading-relaxed"> </div>'), Jr = e.from_html('<button class="w-full text-left card bg-base-100 shadow hover:shadow-md transition-all p-4 text-sm group border border-transparent hover:border-primary focus:outline-none focus:ring-2 focus:ring-primary"><div class="flex justify-between items-baseline mb-1"><span class="font-bold text-xs opacity-70 bg-base-200 px-1.5 py-0.5 rounded"> </span></div> <!></button>'), Kr = e.from_html('<div class="text-xs font-bold opacity-50 uppercase tracking-wider pb-2"> </div> <!>', 1), Zr = e.from_html('<div class="h-full w-80 bg-base-200 shadow-2xl z-100 flex flex-col border-l border-base-300" role="dialog"><div class="flex items-center justify-between p-4 border-b border-base-300"><h2 class="font-bold text-lg"> </h2> <!></div> <div class="p-4 border-b border-base-300 shrink-0"><div class="relative w-full"><input type="text" class="input input-bordered w-full pr-12"/> <button class="btn btn-primary absolute right-0 top-0 h-full rounded-l-none"><!></button></div></div> <div class="flex-1 overflow-y-auto p-4 space-y-4"><!></div></div>');
1996
+ function dt(i, t) {
1728
1997
  e.push(t, !0);
1729
- const r = oe(se);
1730
- let s = e.state(e.proxy(r.searchQuery));
1731
- function n() {
1998
+ const r = fe(ce);
1999
+ let s = e.state(""), a = e.derived(() => {
2000
+ var O;
2001
+ return ((O = r.config.search) == null ? void 0 : O.showCloseButton) ?? !0;
2002
+ });
2003
+ function o() {
1732
2004
  r.search(e.get(s));
1733
2005
  }
1734
- function a(k) {
1735
- k.key === "Enter" && n();
2006
+ function I(O) {
2007
+ O.key === "Enter" && o();
1736
2008
  }
1737
- function y(k) {
1738
- const z = r.canvases[k.canvasIndex];
1739
- z && (r.canvasId = z.id);
2009
+ function b(O) {
2010
+ const v = r.canvases[O.canvasIndex];
2011
+ v && (r.canvasId = v.id);
1740
2012
  }
1741
- var I = e.comment(), c = e.first_child(I);
2013
+ var w = e.comment(), P = e.first_child(w);
1742
2014
  {
1743
- var w = (k) => {
1744
- var z = zr(), d = e.child(z), g = e.child(d), p = e.child(g, !0);
1745
- e.reset(g);
1746
- var f = e.sibling(g, 2);
1747
- f.__click = () => r.toggleSearchPanel(), e.reset(d);
1748
- var v = e.sibling(d, 2), o = e.child(v), S = e.child(o);
1749
- e.remove_input_defaults(S), S.__keydown = a;
1750
- var G = e.sibling(S, 2);
1751
- G.__click = n;
1752
- var L = e.child(G);
2015
+ var g = (O) => {
2016
+ var v = Zr(), p = e.child(v), C = e.child(p), h = e.child(C, !0);
2017
+ e.reset(C);
2018
+ var l = e.sibling(C, 2);
2019
+ {
2020
+ var c = (x) => {
2021
+ var m = Hr();
2022
+ m.__click = () => r.toggleSearchPanel();
2023
+ var y = e.child(m);
2024
+ Fe(y, { size: 20, weight: "bold" }), e.reset(m), e.template_effect((f) => e.set_attribute(m, "aria-label", f), [() => E.close_search()]), e.append(x, m);
2025
+ };
2026
+ e.if(l, (x) => {
2027
+ e.get(a) && x(c);
2028
+ });
2029
+ }
2030
+ e.reset(p);
2031
+ var R = e.sibling(p, 2), T = e.child(R), u = e.child(T);
2032
+ e.remove_input_defaults(u), u.__keydown = I;
2033
+ var A = e.sibling(u, 2);
2034
+ A.__click = o;
2035
+ var $ = e.child(A);
1753
2036
  {
1754
- var l = (h) => {
1755
- var H = xr();
1756
- e.append(h, H);
1757
- }, C = (h) => {
1758
- Qe(h, { size: 20, weight: "bold" });
2037
+ var d = (x) => {
2038
+ var m = Yr();
2039
+ e.append(x, m);
2040
+ }, z = (x) => {
2041
+ Ze(x, { size: 20, weight: "bold" });
1759
2042
  };
1760
- e.if(L, (h) => {
1761
- r.isSearching ? h(l) : h(C, !1);
2043
+ e.if($, (x) => {
2044
+ r.isSearching ? x(d) : x(z, !1);
1762
2045
  });
1763
2046
  }
1764
- e.reset(G), e.reset(o), e.reset(v);
1765
- var _ = e.sibling(v, 2), x = e.child(_);
2047
+ e.reset(A), e.reset(T), e.reset(R);
2048
+ var S = e.sibling(R, 2), k = e.child(S);
1766
2049
  {
1767
- var D = (h) => {
1768
- var H = Sr();
1769
- e.append(h, H);
1770
- }, b = (h) => {
1771
- var H = e.comment(), W = e.first_child(H);
2050
+ var D = (x) => {
2051
+ var m = Xr();
2052
+ e.append(x, m);
2053
+ }, j = (x) => {
2054
+ var m = e.comment(), y = e.first_child(m);
1772
2055
  {
1773
- var m = (O) => {
1774
- var Q = Ar(), U = e.child(Q, !0);
1775
- e.reset(Q), e.template_effect(($) => e.set_text(U, $), [
1776
- () => B.search_panel_no_results({ query: r.searchQuery })
1777
- ]), e.append(O, Q);
1778
- }, P = (O) => {
1779
- var Q = e.comment(), U = e.first_child(Q);
2056
+ var f = (V) => {
2057
+ var U = qr(), L = e.child(U, !0);
2058
+ e.reset(U), e.template_effect((B) => e.set_text(L, B), [
2059
+ () => E.search_panel_no_results({ query: r.searchQuery })
2060
+ ]), e.append(V, U);
2061
+ }, G = (V) => {
2062
+ var U = e.comment(), L = e.first_child(U);
1780
2063
  {
1781
- var $ = (q) => {
1782
- var J = Ir(), ie = e.child(J, !0);
1783
- e.reset(J), e.template_effect((u) => e.set_text(ie, u), [() => B.search_panel_instruction()]), e.append(q, J);
1784
- }, F = (q) => {
1785
- var J = Mr(), ie = e.first_child(J), u = e.child(ie, !0);
1786
- e.reset(ie);
1787
- var T = e.sibling(ie, 2);
1788
- e.each(T, 17, () => r.searchResults, e.index, (N, E) => {
1789
- var R = Pr();
1790
- R.__click = () => y(e.get(E));
1791
- var j = e.child(R), M = e.child(j), Y = e.child(M, !0);
1792
- e.reset(M), e.reset(j);
1793
- var Z = e.sibling(j, 2);
2064
+ var B = (re) => {
2065
+ var se = Qr(), oe = e.child(se, !0);
2066
+ e.reset(se), e.template_effect((Q) => e.set_text(oe, Q), [() => E.search_panel_instruction()]), e.append(re, se);
2067
+ }, q = (re) => {
2068
+ var se = Kr(), oe = e.first_child(se), Q = e.child(oe, !0);
2069
+ e.reset(oe);
2070
+ var H = e.sibling(oe, 2);
2071
+ e.each(H, 17, () => r.searchResults, e.index, (n, _) => {
2072
+ var Y = Jr();
2073
+ Y.__click = () => b(e.get(_));
2074
+ var N = e.child(Y), ie = e.child(N), J = e.child(ie, !0);
2075
+ e.reset(ie), e.reset(N);
2076
+ var X = e.sibling(N, 2);
1794
2077
  {
1795
- var te = (X) => {
1796
- var ee = kr(), re = e.child(ee), le = e.child(re);
1797
- e.html(le, () => e.get(E).before), e.reset(re);
1798
- var ce = e.sibling(re, 2), De = e.child(ce);
1799
- e.html(De, () => e.get(E).match), e.reset(ce);
1800
- var Fe = e.sibling(ce, 2), at = e.child(Fe);
1801
- e.html(at, () => e.get(E).after), e.reset(Fe), e.reset(ee), e.append(X, ee);
1802
- }, V = (X) => {
1803
- var ee = Cr(), re = e.child(ee, !0);
1804
- e.reset(ee), e.template_effect(() => e.set_text(re, e.get(E).match)), e.append(X, ee);
2078
+ var Z = (te) => {
2079
+ var F = Wr(), W = e.child(F), ne = e.child(W);
2080
+ e.html(ne, () => e.get(_).before), e.reset(W);
2081
+ var ae = e.sibling(W, 2), ue = e.child(ae);
2082
+ e.html(ue, () => e.get(_).match), e.reset(ae);
2083
+ var $e = e.sibling(ae, 2), Ve = e.child($e);
2084
+ e.html(Ve, () => e.get(_).after), e.reset($e), e.reset(F), e.append(te, F);
2085
+ }, ee = (te) => {
2086
+ var F = Ur(), W = e.child(F, !0);
2087
+ e.reset(F), e.template_effect(() => e.set_text(W, e.get(_).match)), e.append(te, F);
1805
2088
  };
1806
- e.if(Z, (X) => {
1807
- e.get(E).type === "hit" ? X(te) : X(V, !1);
2089
+ e.if(X, (te) => {
2090
+ e.get(_).type === "hit" ? te(Z) : te(ee, !1);
1808
2091
  });
1809
2092
  }
1810
- e.reset(R), e.template_effect(() => e.set_text(Y, e.get(E).canvasLabel)), e.append(N, R);
1811
- }), e.template_effect((N) => e.set_text(u, N), [
1812
- () => B.search_panel_results_count({ count: r.searchResults.length })
1813
- ]), e.append(q, J);
2093
+ e.reset(Y), e.template_effect(() => e.set_text(J, e.get(_).canvasLabel)), e.append(n, Y);
2094
+ }), e.template_effect((n) => e.set_text(Q, n), [
2095
+ () => E.search_panel_results_count({ count: r.searchResults.length })
2096
+ ]), e.append(re, se);
1814
2097
  };
1815
2098
  e.if(
1816
- U,
1817
- (q) => {
1818
- r.searchResults.length === 0 && !r.searchQuery ? q($) : q(F, !1);
2099
+ L,
2100
+ (re) => {
2101
+ r.searchResults.length === 0 && !r.searchQuery ? re(B) : re(q, !1);
1819
2102
  },
1820
2103
  !0
1821
2104
  );
1822
2105
  }
1823
- e.append(O, Q);
2106
+ e.append(V, U);
1824
2107
  };
1825
2108
  e.if(
1826
- W,
1827
- (O) => {
1828
- r.searchResults.length === 0 && r.searchQuery ? O(m) : O(P, !1);
2109
+ y,
2110
+ (V) => {
2111
+ r.searchResults.length === 0 && r.searchQuery ? V(f) : V(G, !1);
1829
2112
  },
1830
2113
  !0
1831
2114
  );
1832
2115
  }
1833
- e.append(h, H);
2116
+ e.append(x, m);
1834
2117
  };
1835
- e.if(x, (h) => {
1836
- r.isSearching ? h(D) : h(b, !1);
2118
+ e.if(k, (x) => {
2119
+ r.isSearching ? x(D) : x(j, !1);
1837
2120
  });
1838
2121
  }
1839
- e.reset(_), e.reset(z), e.template_effect(
1840
- (h, H, W, m, P) => {
1841
- e.set_attribute(z, "aria-label", h), e.set_text(p, H), e.set_attribute(f, "aria-label", W), e.set_attribute(S, "placeholder", m), e.set_attribute(G, "aria-label", P);
2122
+ e.reset(S), e.reset(v), e.template_effect(
2123
+ (x, m, y, f) => {
2124
+ e.set_attribute(v, "aria-label", x), e.set_text(h, m), e.set_attribute(u, "placeholder", y), e.set_attribute(A, "aria-label", f);
1842
2125
  },
1843
2126
  [
1844
- () => B.search_panel_title(),
1845
- () => B.search_panel_title(),
1846
- () => B.search_panel_close(),
1847
- () => B.search_panel_placeholder(),
1848
- () => B.search_panel_title()
2127
+ () => E.search_panel_title(),
2128
+ () => E.search(),
2129
+ () => E.search_panel_placeholder(),
2130
+ () => E.search_panel_title()
1849
2131
  ]
1850
- ), e.bind_value(S, () => e.get(s), (h) => e.set(s, h)), e.append(k, z);
2132
+ ), e.bind_value(u, () => e.get(s), (x) => e.set(s, x)), e.append(O, v);
1851
2133
  };
1852
- e.if(c, (k) => {
1853
- r.showSearchPanel && k(w);
2134
+ e.if(P, (O) => {
2135
+ r.showSearchPanel && O(g);
1854
2136
  });
1855
2137
  }
1856
- e.append(i, I), e.pop();
2138
+ e.append(i, w), e.pop();
1857
2139
  }
1858
2140
  e.delegate(["click", "keydown"]);
1859
- e.create_custom_element(nt, {}, [], [], !0);
1860
- var Tr = e.from_html('<div class="h-full w-[200px] pointer-events-auto relative"><!></div>'), jr = e.from_html('<div class="h-full relative pointer-events-auto"><!></div>'), Lr = e.from_html('<div class="flex-none flex flex-row z-20 bg-base-200 border-r border-base-300 transition-all"><!> <!></div>'), Or = e.from_html('<div class="flex-none h-[140px] w-full pointer-events-auto relative z-20"><!></div>'), Dr = e.from_html('<div class="w-full h-full flex items-center justify-center"><span class="loading loading-spinner loading-lg text-primary"></span></div>'), Er = e.from_html('<div class="w-full h-full flex items-center justify-center text-error"> </div>'), Rr = e.from_html('<div class="w-full h-full flex items-center justify-center text-base-content/50">No image found</div>'), Gr = e.from_html('<div class="absolute inset-0 z-40 pointer-events-none"><!></div>'), Fr = e.from_html('<div class="flex-none h-[140px] w-full pointer-events-auto relative z-20"><!></div>'), Vr = e.from_html('<div class="relative w-full z-40 pointer-events-auto"><!></div>'), $r = e.from_html('<div class="h-full relative pointer-events-auto"><!></div>'), Br = e.from_html('<div class="h-full w-[200px] pointer-events-auto relative"><!></div>'), Hr = e.from_html('<div class="h-full relative pointer-events-auto"><!></div>'), Nr = e.from_html('<div class="flex-none flex flex-row z-20 bg-base-200 border-l border-base-300 transition-all"><!> <!> <!></div>'), Yr = e.from_html('<div id="triiiceratops-viewer" class="flex w-full h-full relative bg-base-100 overflow-hidden"><!> <div id="triiiceratops-center-panel" class="flex-1 relative min-w-0 flex flex-col"><!> <div class="flex-1 relative min-h-0 w-full h-full bg-base-100"><!> <!> <!> <!> <!> <!> <!> <!></div> <!> <!></div> <!></div>');
1861
- function Xr(i, t) {
2141
+ e.create_custom_element(dt, {}, [], [], !0);
2142
+ var ei = e.from_html('<div class="h-full w-[200px] pointer-events-auto relative"><!></div>'), ti = e.from_html('<div class="h-full relative pointer-events-auto"><!></div>'), ri = e.from_html('<div class="flex-none flex flex-row z-20 bg-base-200 border-r border-base-300 transition-all"><!> <!></div>'), ii = e.from_html('<div class="flex-none h-[140px] w-full pointer-events-auto relative z-20"><!></div>'), si = e.from_html('<div class="w-full h-full flex items-center justify-center"><span class="loading loading-spinner loading-lg text-primary"></span></div>'), ni = e.from_html('<div class="w-full h-full flex items-center justify-center text-error"> </div>'), ai = e.from_html('<div class="w-full h-full flex items-center justify-center text-base-content/50"> </div>'), oi = e.from_html('<div class="absolute inset-0 z-40 pointer-events-none"><!></div>'), li = e.from_html('<div class="flex-none h-[140px] w-full pointer-events-auto relative z-20"><!></div>'), ci = e.from_html('<div class="relative w-full z-40 pointer-events-auto"><!></div>'), di = e.from_html('<div class="h-full relative pointer-events-auto"><!></div>'), fi = e.from_html('<div class="h-full w-[200px] pointer-events-auto relative"><!></div>'), ui = e.from_html('<div class="h-full relative pointer-events-auto"><!></div>'), gi = e.from_html('<div class="flex-none flex flex-row z-20 bg-base-200 border-l border-base-300 transition-all"><!> <!> <!></div>'), vi = e.from_html('<div id="triiiceratops-viewer" class="flex w-full h-full relative bg-base-100 overflow-hidden"><!> <div id="triiiceratops-center-panel" class="flex-1 relative min-w-0 flex flex-col"><!> <div class="flex-1 relative min-h-0 w-full h-full bg-base-100"><!> <!> <!> <!> <!> <!> <!> <!></div> <!> <!></div> <!></div>');
2143
+ function hi(i, t) {
1862
2144
  e.push(t, !0);
1863
- let r = e.prop(t, "manifestId", 7), s = e.prop(t, "canvasId", 7), n = e.prop(t, "plugins", 23, () => []), a = e.prop(t, "theme", 7), y = e.prop(t, "themeConfig", 7), I = e.state(void 0);
2145
+ let r = e.prop(t, "manifestId", 7), s = e.prop(t, "canvasId", 7), a = e.prop(t, "plugins", 23, () => []), o = e.prop(t, "theme", 7), I = e.prop(t, "themeConfig", 7), b = e.prop(t, "config", 23, () => ({})), w = e.prop(t, "viewerState", 15), P = e.state(void 0);
1864
2146
  e.user_effect(() => {
1865
- e.get(I) && Ht(e.get(I), a(), y());
2147
+ e.get(P) && qt(e.get(P), o(), I());
1866
2148
  });
1867
- const c = new kt(null, s(), n());
1868
- ft(se, c), ut(() => {
1869
- c.destroyAllPlugins();
2149
+ const g = new Tt(null, void 0, []);
2150
+ w(
2151
+ g
2152
+ // Expose via bindable prop
2153
+ ), ht(ce, g), pt(() => {
2154
+ g.destroyAllPlugins();
2155
+ }), e.user_effect(() => {
2156
+ r() && g.setManifest(r());
2157
+ }), e.user_effect(() => {
2158
+ s() && g.setCanvas(s());
1870
2159
  }), e.user_effect(() => {
1871
- r() && c.setManifest(r());
2160
+ b() && (console.log("[Viewer] updateConfig called with:", b()), g.updateConfig(b()));
1872
2161
  }), e.user_effect(() => {
1873
- s() && c.setCanvas(s());
2162
+ for (const n of a())
2163
+ g.registerPlugin(n);
1874
2164
  }), e.user_effect(() => {
1875
- const u = () => {
1876
- c.isFullScreen = !!document.fullscreenElement;
2165
+ const n = () => {
2166
+ g.isFullScreen = !!document.fullscreenElement;
1877
2167
  };
1878
- return document.addEventListener("fullscreenchange", u), () => {
1879
- document.removeEventListener("fullscreenchange", u);
2168
+ return document.addEventListener("fullscreenchange", n), () => {
2169
+ document.removeEventListener("fullscreenchange", n);
1880
2170
  };
1881
2171
  });
1882
- let w = e.derived(() => c.showThumbnailGallery && c.dockSide === "left" || c.pluginPanels.some((u) => u.position === "left" && u.isVisible())), k = e.derived(() => c.showSearchPanel || c.showThumbnailGallery && c.dockSide === "right" || c.pluginPanels.some((u) => u.position === "right" && u.isVisible())), z = e.derived(() => c.manifest), d = e.derived(() => c.canvases), g = e.derived(() => c.currentCanvasIndex), p = e.derived(() => {
1883
- var Z, te;
1884
- if (!e.get(d) || e.get(g) === -1 || !e.get(d)[e.get(g)])
1885
- return (Z = e.get(z)) != null && Z.isFetching || console.log("TriiiceratopsViewer: No canvas found"), null;
1886
- const u = e.get(d)[e.get(g)];
1887
- let T = u.getImages();
1888
- if ((!T || !T.length) && u.getContent && (T = u.getContent()), !T || !T.length)
1889
- return u.__jsonld && u.__jsonld.items, (te = e.get(z)) != null && te.isFetching || console.log("TriiiceratopsViewer: No images/content in canvas"), null;
1890
- const N = T[0];
1891
- let E = N.getResource ? N.getResource() : null;
1892
- if (!E && N.getBody) {
1893
- const V = N.getBody();
1894
- Array.isArray(V) && V.length > 0 ? E = V[0] : V && (E = V);
2172
+ let O = e.derived(() => g.showThumbnailGallery && g.dockSide === "left" || g.pluginPanels.some((n) => n.position === "left" && n.isVisible())), v = e.derived(() => g.showSearchPanel || g.showThumbnailGallery && g.dockSide === "right" || g.pluginPanels.some((n) => n.position === "right" && n.isVisible())), p = e.derived(() => g.manifest), C = e.derived(() => g.canvases), h = e.derived(() => g.currentCanvasIndex), l = e.derived(() => {
2173
+ var ee, te;
2174
+ if (!e.get(C) || e.get(h) === -1 || !e.get(C)[e.get(h)])
2175
+ return (ee = e.get(p)) != null && ee.isFetching || console.log("TriiiceratopsViewer: No canvas found"), null;
2176
+ const n = e.get(C)[e.get(h)];
2177
+ let _ = n.getImages();
2178
+ if ((!_ || !_.length) && n.getContent && (_ = n.getContent()), !_ || !_.length)
2179
+ return n.__jsonld && n.__jsonld.items, (te = e.get(p)) != null && te.isFetching || console.log("TriiiceratopsViewer: No images/content in canvas"), null;
2180
+ const Y = _[0];
2181
+ let N = Y.getResource ? Y.getResource() : null;
2182
+ if (!N && Y.getBody) {
2183
+ const F = Y.getBody();
2184
+ Array.isArray(F) && F.length > 0 ? N = F[0] : F && (N = F);
1895
2185
  }
1896
- if (E && !E.id && !E.__jsonld && (!E.getServices || E.getServices().length === 0) && (E = null), !E) {
1897
- const V = N.__jsonld || N;
1898
- V.body && (E = Array.isArray(V.body) ? V.body[0] : V.body);
2186
+ if (N && !N.id && !N.__jsonld && (!N.getServices || N.getServices().length === 0) && (N = null), !N) {
2187
+ const F = Y.__jsonld || Y;
2188
+ F.body && (N = Array.isArray(F.body) ? F.body[0] : F.body);
1899
2189
  }
1900
- if (!E)
2190
+ if (!N)
1901
2191
  return null;
1902
- const R = (V) => V.id || V["@id"];
1903
- let j = [];
1904
- if (E.getServices && (j = E.getServices()), !j.length) {
1905
- const V = E.__jsonld || E;
1906
- V.service && (j = Array.isArray(V.service) ? V.service : [V.service]);
2192
+ const ie = (F) => F.id || F["@id"];
2193
+ let J = [];
2194
+ if (N.getServices && (J = N.getServices()), !J.length) {
2195
+ const F = N.__jsonld || N;
2196
+ F.service && (J = Array.isArray(F.service) ? F.service : [F.service]);
1907
2197
  }
1908
- if (j.length > 0) {
1909
- const V = j.find((X) => {
1910
- const ee = X.getType ? X.getType() : X.type || "", re = X.getProfile ? X.getProfile() : X.profile || "";
1911
- return ee === "ImageService1" || ee === "ImageService2" || ee === "ImageService3" || typeof re == "string" && re.includes("http://iiif.io/api/image") || typeof re == "string" && re === "level0";
2198
+ if (J.length > 0) {
2199
+ const F = J.find((W) => {
2200
+ const ne = W.getType ? W.getType() : W.type || "", ae = W.getProfile ? W.getProfile() : W.profile || "";
2201
+ return ne === "ImageService1" || ne === "ImageService2" || ne === "ImageService3" || typeof ae == "string" && ae.includes("http://iiif.io/api/image") || typeof ae == "string" && ae === "level0";
1912
2202
  });
1913
- if (V) {
1914
- let X = R(V);
1915
- return X && !X.endsWith("/info.json") && (X = `${X}/info.json`), X;
2203
+ if (F) {
2204
+ let W = ie(F);
2205
+ return W && !W.endsWith("/info.json") && (W = `${W}/info.json`), W;
1916
2206
  }
1917
2207
  }
1918
- const M = R(E);
1919
- if (M && M.includes("/iiif/")) {
1920
- const V = M.split("/"), X = V.findIndex((ee) => ee === "full" || ee.match(/^\d+,\d+,\d+,\d+$/));
1921
- if (X > 0)
1922
- return `${V.slice(0, X).join("/")}/info.json`;
2208
+ const X = ie(N);
2209
+ if (X && X.includes("/iiif/")) {
2210
+ const F = X.split("/"), W = F.findIndex((ne) => ne === "full" || ne.match(/^\d+,\d+,\d+,\d+$/));
2211
+ if (W > 0)
2212
+ return `${F.slice(0, W).join("/")}/info.json`;
1923
2213
  }
1924
- return console.log("TriiiceratopsViewer: No service or ID found, returning raw URL"), { type: "image", url: M };
2214
+ return console.log("TriiiceratopsViewer: No service or ID found, returning raw URL"), { type: "image", url: X };
1925
2215
  });
1926
- var f = {
2216
+ var c = {
1927
2217
  get manifestId() {
1928
2218
  return r();
1929
2219
  },
1930
- set manifestId(u) {
1931
- r(u), e.flush();
2220
+ set manifestId(n) {
2221
+ r(n), e.flush();
1932
2222
  },
1933
2223
  get canvasId() {
1934
2224
  return s();
1935
2225
  },
1936
- set canvasId(u) {
1937
- s(u), e.flush();
2226
+ set canvasId(n) {
2227
+ s(n), e.flush();
1938
2228
  },
1939
2229
  get plugins() {
1940
- return n();
2230
+ return a();
1941
2231
  },
1942
- set plugins(u = []) {
1943
- n(u), e.flush();
2232
+ set plugins(n = []) {
2233
+ a(n), e.flush();
1944
2234
  },
1945
2235
  get theme() {
1946
- return a();
2236
+ return o();
1947
2237
  },
1948
- set theme(u) {
1949
- a(u), e.flush();
2238
+ set theme(n) {
2239
+ o(n), e.flush();
1950
2240
  },
1951
2241
  get themeConfig() {
1952
- return y();
2242
+ return I();
2243
+ },
2244
+ set themeConfig(n) {
2245
+ I(n), e.flush();
2246
+ },
2247
+ get config() {
2248
+ return b();
2249
+ },
2250
+ set config(n = {}) {
2251
+ b(n), e.flush();
2252
+ },
2253
+ get viewerState() {
2254
+ return w();
1953
2255
  },
1954
- set themeConfig(u) {
1955
- y(u), e.flush();
2256
+ set viewerState(n) {
2257
+ w(n), e.flush();
1956
2258
  }
1957
- }, v = Yr(), o = e.child(v);
2259
+ }, R = vi(), T = e.child(R);
1958
2260
  {
1959
- var S = (u) => {
1960
- var T = Lr(), N = e.child(T);
2261
+ var u = (n) => {
2262
+ var _ = ri(), Y = e.child(_);
1961
2263
  {
1962
- var E = (j) => {
1963
- var M = Tr(), Y = e.child(M);
1964
- ne(Y, {
2264
+ var N = (J) => {
2265
+ var X = ei(), Z = e.child(X);
2266
+ de(Z, {
1965
2267
  get canvases() {
1966
- return e.get(d);
2268
+ return e.get(C);
1967
2269
  }
1968
- }), e.reset(M), e.append(j, M);
2270
+ }), e.reset(X), e.append(J, X);
1969
2271
  };
1970
- e.if(N, (j) => {
1971
- c.showThumbnailGallery && c.dockSide === "left" && j(E);
2272
+ e.if(Y, (J) => {
2273
+ g.showThumbnailGallery && g.dockSide === "left" && J(N);
1972
2274
  });
1973
2275
  }
1974
- var R = e.sibling(N, 2);
1975
- e.each(R, 17, () => c.pluginPanels, (j) => j.id, (j, M) => {
1976
- var Y = e.comment(), Z = e.first_child(Y);
2276
+ var ie = e.sibling(Y, 2);
2277
+ e.each(ie, 17, () => g.pluginPanels, (J) => J.id, (J, X) => {
2278
+ var Z = e.comment(), ee = e.first_child(Z);
1977
2279
  {
1978
- var te = (V) => {
1979
- var X = jr(), ee = e.child(X);
1980
- e.component(ee, () => e.get(M).component, (re, le) => {
1981
- le(re, e.spread_props(() => e.get(M).props ?? {}));
1982
- }), e.reset(X), e.append(V, X);
2280
+ var te = (F) => {
2281
+ var W = ti(), ne = e.child(W);
2282
+ e.component(ne, () => e.get(X).component, (ae, ue) => {
2283
+ ue(ae, e.spread_props(() => e.get(X).props ?? {}));
2284
+ }), e.reset(W), e.append(F, W);
1983
2285
  };
1984
- e.if(Z, (V) => {
1985
- e.get(M).isVisible() && e.get(M).position === "left" && V(te);
2286
+ e.if(ee, (F) => {
2287
+ e.get(X).isVisible() && e.get(X).position === "left" && F(te);
1986
2288
  });
1987
2289
  }
1988
- e.append(j, Y);
1989
- }), e.reset(T), e.append(u, T);
2290
+ e.append(J, Z);
2291
+ }), e.reset(_), e.append(n, _);
1990
2292
  };
1991
- e.if(o, (u) => {
1992
- e.get(w) && u(S);
2293
+ e.if(T, (n) => {
2294
+ e.get(O) && n(u);
1993
2295
  });
1994
2296
  }
1995
- var G = e.sibling(o, 2), L = e.child(G);
2297
+ var A = e.sibling(T, 2), $ = e.child(A);
1996
2298
  {
1997
- var l = (u) => {
1998
- var T = Or(), N = e.child(T);
1999
- ne(N, {
2299
+ var d = (n) => {
2300
+ var _ = ii(), Y = e.child(_);
2301
+ de(Y, {
2000
2302
  get canvases() {
2001
- return e.get(d);
2303
+ return e.get(C);
2002
2304
  }
2003
- }), e.reset(T), e.append(u, T);
2305
+ }), e.reset(_), e.append(n, _);
2004
2306
  };
2005
- e.if(L, (u) => {
2006
- c.showThumbnailGallery && c.dockSide === "top" && u(l);
2307
+ e.if($, (n) => {
2308
+ g.showThumbnailGallery && g.dockSide === "top" && n(d);
2007
2309
  });
2008
2310
  }
2009
- var C = e.sibling(L, 2), _ = e.child(C);
2311
+ var z = e.sibling($, 2), S = e.child(z);
2010
2312
  {
2011
- var x = (u) => {
2012
- var T = Dr();
2013
- e.append(u, T);
2014
- }, D = (u) => {
2015
- var T = e.comment(), N = e.first_child(T);
2313
+ var k = (n) => {
2314
+ var _ = si();
2315
+ e.append(n, _);
2316
+ }, D = (n) => {
2317
+ var _ = e.comment(), Y = e.first_child(_);
2016
2318
  {
2017
- var E = (j) => {
2018
- var M = Er(), Y = e.child(M);
2019
- e.reset(M), e.template_effect(() => e.set_text(Y, `Error: ${e.get(z).error ?? ""}`)), e.append(j, M);
2020
- }, R = (j) => {
2021
- var M = e.comment(), Y = e.first_child(M);
2319
+ var N = (J) => {
2320
+ var X = ni(), Z = e.child(X);
2321
+ e.reset(X), e.template_effect(
2322
+ (ee) => e.set_text(Z, `${ee ?? ""}
2323
+ ${e.get(p).error ?? ""}`),
2324
+ [() => E.error_prefix()]
2325
+ ), e.append(J, X);
2326
+ }, ie = (J) => {
2327
+ var X = e.comment(), Z = e.first_child(X);
2022
2328
  {
2023
- var Z = (V) => {
2024
- var X = e.comment(), ee = e.first_child(X);
2025
- e.key(ee, () => e.get(p), (re) => {
2026
- Ze(re, {
2329
+ var ee = (F) => {
2330
+ var W = e.comment(), ne = e.first_child(W);
2331
+ e.key(ne, () => e.get(l), (ae) => {
2332
+ st(ae, {
2027
2333
  get tileSources() {
2028
- return e.get(p);
2334
+ return e.get(l);
2029
2335
  },
2030
2336
  get viewerState() {
2031
- return c;
2337
+ return g;
2032
2338
  }
2033
2339
  });
2034
- }), e.append(V, X);
2035
- }, te = (V) => {
2036
- var X = Rr();
2037
- e.append(V, X);
2340
+ }), e.append(F, W);
2341
+ }, te = (F) => {
2342
+ var W = ai(), ne = e.child(W, !0);
2343
+ e.reset(W), e.template_effect((ae) => e.set_text(ne, ae), [() => E.no_image_found()]), e.append(F, W);
2038
2344
  };
2039
2345
  e.if(
2040
- Y,
2041
- (V) => {
2042
- e.get(p) ? V(Z) : V(te, !1);
2346
+ Z,
2347
+ (F) => {
2348
+ e.get(l) ? F(ee) : F(te, !1);
2043
2349
  },
2044
2350
  !0
2045
2351
  );
2046
2352
  }
2047
- e.append(j, M);
2353
+ e.append(J, X);
2048
2354
  };
2049
2355
  e.if(
2050
- N,
2051
- (j) => {
2052
- var M;
2053
- (M = e.get(z)) != null && M.error ? j(E) : j(R, !1);
2356
+ Y,
2357
+ (J) => {
2358
+ var X;
2359
+ (X = e.get(p)) != null && X.error ? J(N) : J(ie, !1);
2054
2360
  },
2055
2361
  !0
2056
2362
  );
2057
2363
  }
2058
- e.append(u, T);
2364
+ e.append(n, _);
2365
+ };
2366
+ e.if(S, (n) => {
2367
+ var _;
2368
+ (_ = e.get(p)) != null && _.isFetching ? n(k) : n(D, !1);
2369
+ });
2370
+ }
2371
+ var j = e.sibling(S, 2);
2372
+ at(j, {});
2373
+ var x = e.sibling(j, 2);
2374
+ ct(x, {});
2375
+ var m = e.sibling(x, 2);
2376
+ {
2377
+ var y = (n) => {
2378
+ ot(n, {});
2379
+ };
2380
+ e.if(m, (n) => {
2381
+ g.showRightMenu && n(y);
2382
+ });
2383
+ }
2384
+ var f = e.sibling(m, 2);
2385
+ {
2386
+ var G = (n) => {
2387
+ lt(n, {});
2059
2388
  };
2060
- e.if(_, (u) => {
2061
- var T;
2062
- (T = e.get(z)) != null && T.isFetching ? u(x) : u(D, !1);
2389
+ e.if(f, (n) => {
2390
+ g.showLeftMenu && n(G);
2063
2391
  });
2064
2392
  }
2065
- var b = e.sibling(_, 2);
2066
- tt(b, {});
2067
- var h = e.sibling(b, 2);
2068
- st(h, {});
2069
- var H = e.sibling(h, 2);
2070
- rt(H, {});
2071
- var W = e.sibling(H, 2);
2072
- it(W, {});
2073
- var m = e.sibling(W, 2);
2074
- e.each(m, 17, () => c.pluginPanels, (u) => u.id, (u, T) => {
2075
- var N = e.comment(), E = e.first_child(N);
2393
+ var V = e.sibling(f, 2);
2394
+ e.each(V, 17, () => g.pluginPanels, (n) => n.id, (n, _) => {
2395
+ var Y = e.comment(), N = e.first_child(Y);
2076
2396
  {
2077
- var R = (j) => {
2078
- var M = Gr(), Y = e.child(M);
2079
- e.component(Y, () => e.get(T).component, (Z, te) => {
2080
- te(Z, e.spread_props(() => e.get(T).props ?? {}));
2081
- }), e.reset(M), e.append(j, M);
2397
+ var ie = (J) => {
2398
+ var X = oi(), Z = e.child(X);
2399
+ e.component(Z, () => e.get(_).component, (ee, te) => {
2400
+ te(ee, e.spread_props(() => e.get(_).props ?? {}));
2401
+ }), e.reset(X), e.append(J, X);
2082
2402
  };
2083
- e.if(E, (j) => {
2084
- e.get(T).isVisible() && e.get(T).position === "overlay" && j(R);
2403
+ e.if(N, (J) => {
2404
+ e.get(_).isVisible() && e.get(_).position === "overlay" && J(ie);
2085
2405
  });
2086
2406
  }
2087
- e.append(u, N);
2407
+ e.append(n, Y);
2088
2408
  });
2089
- var P = e.sibling(m, 2);
2409
+ var U = e.sibling(V, 2);
2090
2410
  {
2091
- var O = (u) => {
2092
- et(u, {
2411
+ var L = (n) => {
2412
+ nt(n, {
2093
2413
  get viewerState() {
2094
- return c;
2414
+ return g;
2095
2415
  }
2096
2416
  });
2097
2417
  };
2098
- e.if(P, (u) => {
2099
- e.get(d).length > 1 && u(O);
2418
+ e.if(U, (n) => {
2419
+ e.get(C).length > 1 && g.showCanvasNav && n(L);
2100
2420
  });
2101
2421
  }
2102
- var Q = e.sibling(P, 2);
2422
+ var B = e.sibling(U, 2);
2103
2423
  {
2104
- var U = (u) => {
2105
- ne(u, {
2424
+ var q = (n) => {
2425
+ de(n, {
2106
2426
  get canvases() {
2107
- return e.get(d);
2427
+ return e.get(C);
2108
2428
  }
2109
2429
  });
2110
2430
  };
2111
- e.if(Q, (u) => {
2112
- c.showThumbnailGallery && c.dockSide === "none" && u(U);
2431
+ e.if(B, (n) => {
2432
+ g.showThumbnailGallery && g.dockSide === "none" && n(q);
2113
2433
  });
2114
2434
  }
2115
- e.reset(C);
2116
- var $ = e.sibling(C, 2);
2435
+ e.reset(z);
2436
+ var re = e.sibling(z, 2);
2117
2437
  {
2118
- var F = (u) => {
2119
- var T = Fr(), N = e.child(T);
2120
- ne(N, {
2438
+ var se = (n) => {
2439
+ var _ = li(), Y = e.child(_);
2440
+ de(Y, {
2121
2441
  get canvases() {
2122
- return e.get(d);
2442
+ return e.get(C);
2123
2443
  }
2124
- }), e.reset(T), e.append(u, T);
2444
+ }), e.reset(_), e.append(n, _);
2125
2445
  };
2126
- e.if($, (u) => {
2127
- c.showThumbnailGallery && c.dockSide === "bottom" && u(F);
2446
+ e.if(re, (n) => {
2447
+ g.showThumbnailGallery && g.dockSide === "bottom" && n(se);
2128
2448
  });
2129
2449
  }
2130
- var q = e.sibling($, 2);
2131
- e.each(q, 17, () => c.pluginPanels, (u) => u.id, (u, T) => {
2132
- var N = e.comment(), E = e.first_child(N);
2450
+ var oe = e.sibling(re, 2);
2451
+ e.each(oe, 17, () => g.pluginPanels, (n) => n.id, (n, _) => {
2452
+ var Y = e.comment(), N = e.first_child(Y);
2133
2453
  {
2134
- var R = (j) => {
2135
- var M = Vr(), Y = e.child(M);
2136
- e.component(Y, () => e.get(T).component, (Z, te) => {
2137
- te(Z, e.spread_props(() => e.get(T).props ?? {}));
2138
- }), e.reset(M), e.append(j, M);
2454
+ var ie = (J) => {
2455
+ var X = ci(), Z = e.child(X);
2456
+ e.component(Z, () => e.get(_).component, (ee, te) => {
2457
+ te(ee, e.spread_props(() => e.get(_).props ?? {}));
2458
+ }), e.reset(X), e.append(J, X);
2139
2459
  };
2140
- e.if(E, (j) => {
2141
- e.get(T).isVisible() && e.get(T).position === "bottom" && j(R);
2460
+ e.if(N, (J) => {
2461
+ e.get(_).isVisible() && e.get(_).position === "bottom" && J(ie);
2142
2462
  });
2143
2463
  }
2144
- e.append(u, N);
2145
- }), e.reset(G);
2146
- var J = e.sibling(G, 2);
2464
+ e.append(n, Y);
2465
+ }), e.reset(A);
2466
+ var Q = e.sibling(A, 2);
2147
2467
  {
2148
- var ie = (u) => {
2149
- var T = Nr(), N = e.child(T);
2468
+ var H = (n) => {
2469
+ var _ = gi(), Y = e.child(_);
2150
2470
  {
2151
- var E = (Y) => {
2152
- var Z = $r(), te = e.child(Z);
2153
- nt(te, {}), e.reset(Z), e.append(Y, Z);
2471
+ var N = (Z) => {
2472
+ var ee = di(), te = e.child(ee);
2473
+ dt(te, {}), e.reset(ee), e.append(Z, ee);
2154
2474
  };
2155
- e.if(N, (Y) => {
2156
- c.showSearchPanel && Y(E);
2475
+ e.if(Y, (Z) => {
2476
+ g.showSearchPanel && Z(N);
2157
2477
  });
2158
2478
  }
2159
- var R = e.sibling(N, 2);
2479
+ var ie = e.sibling(Y, 2);
2160
2480
  {
2161
- var j = (Y) => {
2162
- var Z = Br(), te = e.child(Z);
2163
- ne(te, {
2481
+ var J = (Z) => {
2482
+ var ee = fi(), te = e.child(ee);
2483
+ de(te, {
2164
2484
  get canvases() {
2165
- return e.get(d);
2485
+ return e.get(C);
2166
2486
  }
2167
- }), e.reset(Z), e.append(Y, Z);
2487
+ }), e.reset(ee), e.append(Z, ee);
2168
2488
  };
2169
- e.if(R, (Y) => {
2170
- c.showThumbnailGallery && c.dockSide === "right" && Y(j);
2489
+ e.if(ie, (Z) => {
2490
+ g.showThumbnailGallery && g.dockSide === "right" && Z(J);
2171
2491
  });
2172
2492
  }
2173
- var M = e.sibling(R, 2);
2174
- e.each(M, 17, () => c.pluginPanels, (Y) => Y.id, (Y, Z) => {
2175
- var te = e.comment(), V = e.first_child(te);
2493
+ var X = e.sibling(ie, 2);
2494
+ e.each(X, 17, () => g.pluginPanels, (Z) => Z.id, (Z, ee) => {
2495
+ var te = e.comment(), F = e.first_child(te);
2176
2496
  {
2177
- var X = (ee) => {
2178
- var re = Hr(), le = e.child(re);
2179
- e.component(le, () => e.get(Z).component, (ce, De) => {
2180
- De(ce, e.spread_props(() => e.get(Z).props ?? {}));
2181
- }), e.reset(re), e.append(ee, re);
2497
+ var W = (ne) => {
2498
+ var ae = ui(), ue = e.child(ae);
2499
+ e.component(ue, () => e.get(ee).component, ($e, Ve) => {
2500
+ Ve($e, e.spread_props(() => e.get(ee).props ?? {}));
2501
+ }), e.reset(ae), e.append(ne, ae);
2182
2502
  };
2183
- e.if(V, (ee) => {
2184
- e.get(Z).isVisible() && e.get(Z).position === "right" && ee(X);
2503
+ e.if(F, (ne) => {
2504
+ e.get(ee).isVisible() && e.get(ee).position === "right" && ne(W);
2185
2505
  });
2186
2506
  }
2187
- e.append(Y, te);
2188
- }), e.reset(T), e.append(u, T);
2507
+ e.append(Z, te);
2508
+ }), e.reset(_), e.append(n, _);
2189
2509
  };
2190
- e.if(J, (u) => {
2191
- e.get(k) && u(ie);
2510
+ e.if(Q, (n) => {
2511
+ e.get(v) && n(H);
2192
2512
  });
2193
2513
  }
2194
- return e.reset(v), e.bind_this(v, (u) => e.set(I, u), () => e.get(I)), e.append(i, v), e.pop(f);
2514
+ return e.reset(R), e.bind_this(R, (n) => e.set(P, n), () => e.get(P)), e.append(i, R), e.pop(c);
2195
2515
  }
2196
2516
  e.create_custom_element(
2197
- Xr,
2517
+ hi,
2198
2518
  {
2199
2519
  manifestId: {},
2200
2520
  canvasId: {},
2201
2521
  plugins: {},
2202
2522
  theme: {},
2203
- themeConfig: {}
2523
+ themeConfig: {},
2524
+ config: {},
2525
+ viewerState: {}
2204
2526
  },
2205
2527
  [],
2206
2528
  [],
2207
2529
  !0
2208
2530
  );
2209
2531
  export {
2210
- mi as BasePlugin,
2211
- Ct as DAISYUI_THEMES,
2212
- It as ManifestsState,
2213
- Xr as TriiiceratopsViewer,
2214
- se as VIEWER_STATE_KEY,
2215
- kt as ViewerState,
2216
- Vt as applyBuiltInTheme,
2217
- Ht as applyTheme,
2218
- $t as applyThemeConfig,
2219
- Bt as clearThemeConfig,
2220
- Et as hexToOklch,
2221
- gi as isBuiltInTheme,
2222
- Gt as normalizeColor,
2223
- vi as parseThemeConfig
2532
+ $i as BasePlugin,
2533
+ zt as DAISYUI_THEMES,
2534
+ Mt as ManifestsState,
2535
+ hi as TriiiceratopsViewer,
2536
+ ce as VIEWER_STATE_KEY,
2537
+ Tt as ViewerState,
2538
+ Ht as applyBuiltInTheme,
2539
+ qt as applyTheme,
2540
+ Yt as applyThemeConfig,
2541
+ Xt as clearThemeConfig,
2542
+ $t as hexToOklch,
2543
+ Ei as isBuiltInTheme,
2544
+ Vt as normalizeColor,
2545
+ Gi as parseThemeConfig
2224
2546
  };