triiiceratops 0.5.0 → 0.7.0

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