@manifest-editor/components 1.4.0 → 1.4.2

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
@@ -33,6 +33,13 @@ function ActionButton({
33
33
  );
34
34
  }
35
35
 
36
+ // src/AccessibilityButton.tsx
37
+ import { Button as Button2 } from "react-aria-components";
38
+ import { jsx as jsx2 } from "react/jsx-runtime";
39
+ function AccessibilityButton({ className: className2, children, ...props }) {
40
+ return /* @__PURE__ */ jsx2(Button2, { className: ["sr-only focus:not-sr-only p-2 bg-white text-black", className2].join(" "), ...props, children });
41
+ }
42
+
36
43
  // src/utils.ts
37
44
  import { clsx } from "clsx";
38
45
  import { twMerge as twMerge2 } from "tailwind-merge";
@@ -56,9 +63,9 @@ import {
56
63
  useRole
57
64
  } from "@floating-ui/react";
58
65
  import * as React from "react";
59
- import { Button as Button2 } from "react-aria-components";
66
+ import { Button as Button3 } from "react-aria-components";
60
67
  import { twMerge as twMerge3 } from "tailwind-merge";
61
- import { jsx as jsx2 } from "react/jsx-runtime";
68
+ import { jsx as jsx3 } from "react/jsx-runtime";
62
69
  function useTooltip({
63
70
  initialOpen = false,
64
71
  placement = "top",
@@ -114,7 +121,7 @@ var useTooltipContext = () => {
114
121
  };
115
122
  function Tooltip({ children, ...options }) {
116
123
  const tooltip = useTooltip(options);
117
- return /* @__PURE__ */ jsx2(TooltipContext.Provider, { value: tooltip, children });
124
+ return /* @__PURE__ */ jsx3(TooltipContext.Provider, { value: tooltip, children });
118
125
  }
119
126
  var TooltipTrigger = React.forwardRef(function TooltipTrigger2({ children, asChild = false, ...props }, propRef) {
120
127
  const context = useTooltipContext();
@@ -131,8 +138,8 @@ var TooltipTrigger = React.forwardRef(function TooltipTrigger2({ children, asChi
131
138
  })
132
139
  );
133
140
  }
134
- return /* @__PURE__ */ jsx2(
135
- Button2,
141
+ return /* @__PURE__ */ jsx3(
142
+ Button3,
136
143
  {
137
144
  ref,
138
145
  "data-state": context.open ? "open" : "closed",
@@ -146,7 +153,7 @@ var TooltipContent = React.forwardRef(function TooltipContent2({ style, root, ..
146
153
  const ref = useMergeRefs([context.refs.setFloating, propRef]);
147
154
  if (!context.open)
148
155
  return null;
149
- return /* @__PURE__ */ jsx2(FloatingPortal, { root, children: /* @__PURE__ */ jsx2(
156
+ return /* @__PURE__ */ jsx3(FloatingPortal, { root, children: /* @__PURE__ */ jsx3(
150
157
  "div",
151
158
  {
152
159
  ref,
@@ -159,7 +166,7 @@ var TooltipContent = React.forwardRef(function TooltipContent2({ style, root, ..
159
166
  ) });
160
167
  });
161
168
  function DefaultTooltipContent(props) {
162
- return /* @__PURE__ */ jsx2(
169
+ return /* @__PURE__ */ jsx3(
163
170
  TooltipContent,
164
171
  {
165
172
  root: props.root,
@@ -170,23 +177,23 @@ function DefaultTooltipContent(props) {
170
177
  }
171
178
 
172
179
  // src/Sidebar.tsx
173
- import { jsx as jsx3, jsxs } from "react/jsx-runtime";
180
+ import { jsx as jsx4, jsxs } from "react/jsx-runtime";
174
181
  function Sidebar({ children }) {
175
- return /* @__PURE__ */ jsx3("div", { className: "w-full h-full flex flex-col overflow-hidden", children });
182
+ return /* @__PURE__ */ jsx4("div", { className: "w-full h-full flex flex-col overflow-hidden", children });
176
183
  }
177
184
  function SidebarContent({
178
185
  children,
179
186
  className: className2,
180
187
  padding
181
188
  }) {
182
- return /* @__PURE__ */ jsx3("div", { className: cn("flex-1 min-h-0 overflow-y-auto pb-64", className2, padding && "px-3 pt-3"), children });
189
+ return /* @__PURE__ */ jsx4("div", { className: cn("flex-1 min-h-0 overflow-y-auto pb-64", className2, padding && "px-3 pt-3"), children });
183
190
  }
184
191
  function SidebarHeader(props) {
185
192
  const { actions, title } = props;
186
193
  return /* @__PURE__ */ jsxs("div", { className: "bg-me-gray-100 h-12 flex items-center px-3 z-10 text-black border-b-me-gray-300 border-b flex-shrink-0", children: [
187
- /* @__PURE__ */ jsx3("div", { className: "flex-1", children: title }),
188
- /* @__PURE__ */ jsx3("div", { className: "ml-auto flex gap-2 items-center", children: actions?.map((action, index) => /* @__PURE__ */ jsxs(Tooltip, { placement: "bottom", children: [
189
- /* @__PURE__ */ jsx3(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx3(
194
+ /* @__PURE__ */ jsx4("div", { className: "flex-1", children: title }),
195
+ /* @__PURE__ */ jsx4("div", { className: "ml-auto flex gap-2 items-center", children: actions?.map((action, index) => /* @__PURE__ */ jsxs(Tooltip, { placement: "bottom", children: [
196
+ /* @__PURE__ */ jsx4(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx4(
190
197
  "button",
191
198
  {
192
199
  className: cn(
@@ -202,7 +209,7 @@ function SidebarHeader(props) {
202
209
  },
203
210
  index
204
211
  ) }),
205
- !action.disabled ? /* @__PURE__ */ jsx3(DefaultTooltipContent, { children: action.title }) : null
212
+ !action.disabled ? /* @__PURE__ */ jsx4(DefaultTooltipContent, { children: action.title }) : null
206
213
  ] }, index)) })
207
214
  ] });
208
215
  }
@@ -211,9 +218,9 @@ function SidebarHeader(props) {
211
218
  import { Fragment } from "react/jsx-runtime";
212
219
 
213
220
  // src/PanelSideMenuItem.tsx
214
- import { jsx as jsx4, jsxs as jsxs2 } from "react/jsx-runtime";
221
+ import { jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
215
222
  function PanelSideMenuItem(props) {
216
- return /* @__PURE__ */ jsx4(Tooltip, { placement: "right", children: /* @__PURE__ */ jsx4(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs2(
223
+ return /* @__PURE__ */ jsx5(Tooltip, { placement: "right", children: /* @__PURE__ */ jsx5(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsxs2(
217
224
  "button",
218
225
  {
219
226
  className: cn(
@@ -224,18 +231,18 @@ function PanelSideMenuItem(props) {
224
231
  onMouseDown: props.onClick,
225
232
  children: [
226
233
  props.icon,
227
- /* @__PURE__ */ jsx4(TooltipContent, { className: "bg-me-gray-900 text-white text-sm px-3 py-2 rounded opacity-90 z-50", children: props.label })
234
+ /* @__PURE__ */ jsx5(TooltipContent, { className: "bg-me-gray-900 text-white text-sm px-3 py-2 rounded opacity-90 z-50", children: props.label })
228
235
  ]
229
236
  }
230
237
  ) }) });
231
238
  }
232
239
 
233
240
  // src/PanelSideMenu.tsx
234
- import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
241
+ import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
235
242
  function PanelSideMenu(props) {
236
- return /* @__PURE__ */ jsx5("div", { className: "bg-white border-me-gray-300 border-t border-r flex flex-col w-12 pb-2", "data-open": props.open, children: props.items.map((panel) => /* @__PURE__ */ jsxs3(Fragment, { children: [
237
- panel.divide ? /* @__PURE__ */ jsx5("div", { className: "flex-1 block w-2 min-h-1" }) : null,
238
- /* @__PURE__ */ jsx5(
243
+ return /* @__PURE__ */ jsx6("div", { className: "bg-white border-me-gray-300 border-t border-r flex flex-col w-12 pb-2", "data-open": props.open, children: props.items.map((panel) => /* @__PURE__ */ jsxs3(Fragment, { children: [
244
+ panel.divide ? /* @__PURE__ */ jsx6("div", { className: "flex-1 block w-2 min-h-1" }) : null,
245
+ /* @__PURE__ */ jsx6(
239
246
  PanelSideMenuItem,
240
247
  {
241
248
  label: panel.label,
@@ -249,12 +256,12 @@ function PanelSideMenu(props) {
249
256
  }
250
257
 
251
258
  // src/ThumbnailGridContainer.tsx
252
- import { jsx as jsx6 } from "react/jsx-runtime";
259
+ import { jsx as jsx7 } from "react/jsx-runtime";
253
260
  function ThumbnailGridContainer(props) {
254
261
  if (props.wide) {
255
- return /* @__PURE__ */ jsx6("div", { className: "grid grid-md gap-4 p-4 overflow-y-auto", children: props.children });
262
+ return /* @__PURE__ */ jsx7("div", { className: "grid grid-md gap-4 p-4 overflow-y-auto", children: props.children });
256
263
  }
257
- return /* @__PURE__ */ jsx6("div", { className: "grid grid-cols-2 gap-4 p-4", children: props.children });
264
+ return /* @__PURE__ */ jsx7("div", { className: "grid grid-cols-2 gap-4 p-4", children: props.children });
258
265
  }
259
266
 
260
267
  // src/LazyThumbnail.tsx
@@ -273,9 +280,9 @@ import { LazyLoadComponent } from "react-lazy-load-image-component";
273
280
  import { twMerge as twMerge4 } from "tailwind-merge";
274
281
 
275
282
  // src/Spinner.tsx
276
- import { jsx as jsx7, jsxs as jsxs4 } from "react/jsx-runtime";
283
+ import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
277
284
  function Spinner(props) {
278
- return /* @__PURE__ */ jsx7(
285
+ return /* @__PURE__ */ jsx8(
279
286
  "svg",
280
287
  {
281
288
  width: "1em",
@@ -285,8 +292,8 @@ function Spinner(props) {
285
292
  stroke: "currentColor",
286
293
  ...props,
287
294
  children: /* @__PURE__ */ jsxs4("g", { transform: "translate(2 2)", strokeWidth: 5, fill: "none", fillRule: "evenodd", children: [
288
- /* @__PURE__ */ jsx7("circle", { strokeOpacity: 0.5, cx: 18, cy: 18, r: 18 }),
289
- /* @__PURE__ */ jsx7("path", { d: "M36 18c0-9.94-8.06-18-18-18", children: /* @__PURE__ */ jsx7(
295
+ /* @__PURE__ */ jsx8("circle", { strokeOpacity: 0.5, cx: 18, cy: 18, r: 18 }),
296
+ /* @__PURE__ */ jsx8("path", { d: "M36 18c0-9.94-8.06-18-18-18", children: /* @__PURE__ */ jsx8(
290
297
  "animateTransform",
291
298
  {
292
299
  attributeName: "transform",
@@ -303,7 +310,7 @@ function Spinner(props) {
303
310
  }
304
311
 
305
312
  // src/icons/TextIcon.tsx
306
- import { jsx as jsx8, jsxs as jsxs5 } from "react/jsx-runtime";
313
+ import { jsx as jsx9, jsxs as jsxs5 } from "react/jsx-runtime";
307
314
  function TextIcon(props) {
308
315
  return /* @__PURE__ */ jsxs5(
309
316
  "svg",
@@ -314,8 +321,8 @@ function TextIcon(props) {
314
321
  viewBox: "0 0 24 24",
315
322
  ...props,
316
323
  children: [
317
- /* @__PURE__ */ jsx8("title", { children: "Text" }),
318
- /* @__PURE__ */ jsx8(
324
+ /* @__PURE__ */ jsx9("title", { children: "Text" }),
325
+ /* @__PURE__ */ jsx9(
319
326
  "path",
320
327
  {
321
328
  fill: "currentColor",
@@ -328,12 +335,12 @@ function TextIcon(props) {
328
335
  }
329
336
 
330
337
  // src/LazyThumbnail.tsx
331
- import { jsx as jsx9, jsxs as jsxs6 } from "react/jsx-runtime";
338
+ import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
332
339
  function LazyThumbnail({
333
340
  cover,
334
341
  fade = true
335
342
  }) {
336
- return /* @__PURE__ */ jsx9(LazyLoadComponent, { children: /* @__PURE__ */ jsx9(LazyThumbnailInner, { cover, fade }) });
343
+ return /* @__PURE__ */ jsx10(LazyLoadComponent, { children: /* @__PURE__ */ jsx10(LazyThumbnailInner, { cover, fade }) });
337
344
  }
338
345
  var renderCache = /* @__PURE__ */ new Map();
339
346
  function LazyThumbnailInner({
@@ -367,7 +374,7 @@ function LazyThumbnailInner({
367
374
  [isCached]
368
375
  );
369
376
  return /* @__PURE__ */ jsxs6("div", { className: `w-full h-full relative`, children: [
370
- thumbnail?.id ? /* @__PURE__ */ jsx9(
377
+ thumbnail?.id ? /* @__PURE__ */ jsx10(
371
378
  "img",
372
379
  {
373
380
  onLoad: () => setIsLoading(false),
@@ -376,15 +383,15 @@ function LazyThumbnailInner({
376
383
  alt: "",
377
384
  className: `w-full h-full ${cover ? "object-cover" : "object-contain"} ${!isLoading ? isCached ? "" : "animate-fadeIn" : "opacity-0"}`
378
385
  }
379
- ) : /* @__PURE__ */ jsx9(ThumbnailFallback, {}),
380
- !thumbnail?.id || isLoading ? /* @__PURE__ */ jsx9(
386
+ ) : /* @__PURE__ */ jsx10(ThumbnailFallback, {}),
387
+ !thumbnail?.id || isLoading ? /* @__PURE__ */ jsx10(
381
388
  "div",
382
389
  {
383
390
  className: twMerge4(
384
391
  "absolute inset-0 flex items-center justify-center bg-me-gray-100 text-2xl z-10",
385
392
  fade && "animate-fadeIn"
386
393
  ),
387
- children: /* @__PURE__ */ jsx9(Spinner, {})
394
+ children: /* @__PURE__ */ jsx10(Spinner, {})
388
395
  }
389
396
  ) : null
390
397
  ] });
@@ -392,9 +399,9 @@ function LazyThumbnailInner({
392
399
  function ThumbnailFallback() {
393
400
  const [strategy] = useRenderingStrategy();
394
401
  if (strategy.type === "textual-content") {
395
- return /* @__PURE__ */ jsx9("div", { className: "text-black/30 flex items-center justify-center h-full bg-me-gray-100 animate-fadeInDelayed absolute inset-0 z-20", children: /* @__PURE__ */ jsx9(TextIcon, { className: "w-16 h-16" }) });
402
+ return /* @__PURE__ */ jsx10("div", { className: "text-black/30 flex items-center justify-center h-full bg-me-gray-100 animate-fadeInDelayed absolute inset-0 z-20", children: /* @__PURE__ */ jsx10(TextIcon, { className: "w-16 h-16" }) });
396
403
  }
397
- return /* @__PURE__ */ jsx9("div", { className: "text-black/30 flex items-center justify-center h-full bg-me-gray-100 animate-fadeInDelayed absolute inset-0 z-20", children: "No thumbnail" });
404
+ return /* @__PURE__ */ jsx10("div", { className: "text-black/30 flex items-center justify-center h-full bg-me-gray-100 animate-fadeInDelayed absolute inset-0 z-20", children: "No thumbnail" });
398
405
  }
399
406
 
400
407
  // src/CanvasThumbnailGridItem.tsx
@@ -402,18 +409,18 @@ import { CanvasContext } from "react-iiif-vault";
402
409
 
403
410
  // src/CanvasLabel.tsx
404
411
  import { LocaleString, useCanvas as useCanvas2 } from "react-iiif-vault";
405
- import { jsx as jsx10 } from "react/jsx-runtime";
412
+ import { jsx as jsx11 } from "react/jsx-runtime";
406
413
  function CanvasLabel(props) {
407
414
  const canvas = useCanvas2();
408
415
  if (!canvas)
409
416
  return null;
410
- return /* @__PURE__ */ jsx10(LocaleString, { className: props.className, as: props.as, children: canvas.label });
417
+ return /* @__PURE__ */ jsx11(LocaleString, { className: props.className, as: props.as, children: canvas.label });
411
418
  }
412
419
 
413
420
  // src/Card3D.tsx
414
421
  import { useLayoutEffect as useLayoutEffect2, useRef as useRef2 } from "react";
415
422
  import { twMerge as twMerge5 } from "tailwind-merge";
416
- import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
423
+ import { jsx as jsx12, jsxs as jsxs7 } from "react/jsx-runtime";
417
424
  function Card3D({
418
425
  className: className2,
419
426
  shouldTranslate,
@@ -497,7 +504,7 @@ function Card3D({
497
504
  ...props,
498
505
  children: [
499
506
  children,
500
- /* @__PURE__ */ jsx11(
507
+ /* @__PURE__ */ jsx12(
501
508
  "div",
502
509
  {
503
510
  className: "pointer-events-none absolute inset-0 transition-all",
@@ -513,10 +520,10 @@ function Card3D({
513
520
  }
514
521
 
515
522
  // src/CanvasThumbnailGridItem.tsx
516
- import { jsx as jsx12, jsxs as jsxs8 } from "react/jsx-runtime";
523
+ import { jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
517
524
  function CanvasThumbnailGridItem(props) {
518
- return /* @__PURE__ */ jsx12(CanvasContext, { canvas: props.id, children: /* @__PURE__ */ jsxs8("div", { onMouseDown: props.onClick, className: "flex flex-col", "data-canvas-selected": props.selected, children: [
519
- /* @__PURE__ */ jsx12("div", { className: "bg-me-gray-100 w-full aspect-square flex-1 overflow-hidden rounded", children: /* @__PURE__ */ jsx12(
525
+ return /* @__PURE__ */ jsx13(CanvasContext, { canvas: props.id, children: /* @__PURE__ */ jsxs8("div", { onMouseDown: props.onClick, className: "flex flex-col", "data-canvas-selected": props.selected, children: [
526
+ /* @__PURE__ */ jsx13("div", { className: "bg-me-gray-100 w-full aspect-square flex-1 overflow-hidden rounded", children: /* @__PURE__ */ jsx13(
520
527
  Card3D,
521
528
  {
522
529
  "data-canvas-selected": props.active,
@@ -525,17 +532,17 @@ function CanvasThumbnailGridItem(props) {
525
532
  "border-2 border-transparent p-1 w-full h-full rounded",
526
533
  props.selected && "border-me-primary-500"
527
534
  ),
528
- children: /* @__PURE__ */ jsx12(LazyThumbnail, {})
535
+ children: /* @__PURE__ */ jsx13(LazyThumbnail, {})
529
536
  }
530
537
  ) }),
531
- /* @__PURE__ */ jsx12(CanvasLabel, { className: "text-sm text-center truncate mt-1", as: "div" })
538
+ /* @__PURE__ */ jsx13(CanvasLabel, { className: "text-sm text-center truncate mt-1", as: "div" })
532
539
  ] }) });
533
540
  }
534
541
 
535
542
  // src/Modal.tsx
536
543
  import { CloseButton, Dialog, DialogPanel, DialogTitle } from "@headlessui/react";
537
544
  import { createPortal } from "react-dom";
538
- import { Fragment as Fragment2, jsx as jsx13, jsxs as jsxs9 } from "react/jsx-runtime";
545
+ import { Fragment as Fragment2, jsx as jsx14, jsxs as jsxs9 } from "react/jsx-runtime";
539
546
  function ModalBackSlot({ children }) {
540
547
  const element = document.getElementById("modal-back-slot");
541
548
  if (!element)
@@ -543,14 +550,14 @@ function ModalBackSlot({ children }) {
543
550
  return createPortal(children, element);
544
551
  }
545
552
  function Modal({ id, title, open = true, onClose, actions, children }) {
546
- return /* @__PURE__ */ jsx13(Fragment2, { children: /* @__PURE__ */ jsxs9(Dialog, { open, onClose, id, className: "relative z-[500]", children: [
547
- /* @__PURE__ */ jsx13("div", { className: `fixed inset-0 bg-black/30 animate-fadeIn z-[501]`, "aria-hidden": "true" }),
548
- /* @__PURE__ */ jsx13("div", { className: "fixed inset-0 flex w-screen items-center justify-center p-4 z-[502]", children: /* @__PURE__ */ jsx13("div", { className: "relative p-4 w-full max-w-4xl max-h-full", children: /* @__PURE__ */ jsxs9(DialogPanel, { className: "relative bg-white rounded-lg overflow-hidden shadow-2xl max-h-[80vh] flex flex-col", children: [
553
+ return /* @__PURE__ */ jsx14(Fragment2, { children: /* @__PURE__ */ jsxs9(Dialog, { open, onClose, id, className: "relative z-[500]", children: [
554
+ /* @__PURE__ */ jsx14("div", { className: `fixed inset-0 bg-black/30 animate-fadeIn z-[501]`, "aria-hidden": "true" }),
555
+ /* @__PURE__ */ jsx14("div", { className: "fixed inset-0 flex w-screen items-center justify-center p-4 z-[502]", children: /* @__PURE__ */ jsx14("div", { className: "relative p-4 w-full max-w-4xl max-h-full", children: /* @__PURE__ */ jsxs9(DialogPanel, { className: "relative bg-white rounded-lg overflow-hidden shadow-2xl max-h-[80vh] flex flex-col", children: [
549
556
  /* @__PURE__ */ jsxs9("div", { className: "flex items-center justify-between gap-3 p-4 rounded-t-lg sticky top-0 bg-white", children: [
550
- /* @__PURE__ */ jsx13("div", { id: "modal-back-slot" }),
551
- /* @__PURE__ */ jsx13(DialogTitle, { className: "text-xl font-semibold text-gray-900 ", children: title }),
557
+ /* @__PURE__ */ jsx14("div", { id: "modal-back-slot" }),
558
+ /* @__PURE__ */ jsx14(DialogTitle, { className: "text-xl font-semibold text-gray-900 ", children: title }),
552
559
  /* @__PURE__ */ jsxs9(CloseButton, { className: "text-gray-400 bg-transparent hover:bg-gray-200 hover:text-gray-900 rounded-lg text-sm w-8 h-8 ms-auto inline-flex justify-center items-center", children: [
553
- /* @__PURE__ */ jsx13(
560
+ /* @__PURE__ */ jsx14(
554
561
  "svg",
555
562
  {
556
563
  className: "w-3 h-3",
@@ -558,7 +565,7 @@ function Modal({ id, title, open = true, onClose, actions, children }) {
558
565
  xmlns: "http://www.w3.org/2000/svg",
559
566
  fill: "none",
560
567
  viewBox: "0 0 14 14",
561
- children: /* @__PURE__ */ jsx13(
568
+ children: /* @__PURE__ */ jsx14(
562
569
  "path",
563
570
  {
564
571
  stroke: "currentColor",
@@ -570,23 +577,23 @@ function Modal({ id, title, open = true, onClose, actions, children }) {
570
577
  )
571
578
  }
572
579
  ),
573
- /* @__PURE__ */ jsx13("span", { className: "sr-only", children: "Close" })
580
+ /* @__PURE__ */ jsx14("span", { className: "sr-only", children: "Close" })
574
581
  ] })
575
582
  ] }),
576
- /* @__PURE__ */ jsx13("div", { className: "flex-1 min-h-0 overflow-y-auto flex flex-col", children }),
577
- actions ? /* @__PURE__ */ jsx13("div", { className: "flex items-center p-4 border-t border-gray-200 rounded-b justify-end", children: actions }) : null
583
+ /* @__PURE__ */ jsx14("div", { className: "flex-1 min-h-0 overflow-y-auto flex flex-col", children }),
584
+ actions ? /* @__PURE__ */ jsx14("div", { className: "flex items-center p-4 border-t border-gray-200 rounded-b justify-end", children: actions }) : null
578
585
  ] }) }) })
579
586
  ] }) });
580
587
  }
581
588
 
582
589
  // src/ControlButton.tsx
583
- import { jsx as jsx14 } from "react/jsx-runtime";
590
+ import { jsx as jsx15 } from "react/jsx-runtime";
584
591
  function ControlButton({
585
592
  children,
586
593
  className: className2,
587
594
  ...props
588
595
  }) {
589
- return /* @__PURE__ */ jsx14(
596
+ return /* @__PURE__ */ jsx15(
590
597
  "button",
591
598
  {
592
599
  className: cn(
@@ -600,9 +607,9 @@ function ControlButton({
600
607
  }
601
608
 
602
609
  // src/OpaqueControls.tsx
603
- import { jsx as jsx15 } from "react/jsx-runtime";
610
+ import { jsx as jsx16 } from "react/jsx-runtime";
604
611
  function OpaqueControls(props) {
605
- return /* @__PURE__ */ jsx15(
612
+ return /* @__PURE__ */ jsx16(
606
613
  "div",
607
614
  {
608
615
  className: cn("flex w-full p-0.5 opacity-0 transition-opacity duration-300 gap-2", props.active && "opacity-1"),
@@ -618,9 +625,9 @@ import {
618
625
  Tab as BaseTab,
619
626
  TabPanel as BaseTabPanel
620
627
  } from "react-aria-components";
621
- import { jsx as jsx16 } from "react/jsx-runtime";
628
+ import { jsx as jsx17 } from "react/jsx-runtime";
622
629
  function Tabs({ className: className2, children, ...props }) {
623
- return /* @__PURE__ */ jsx16(
630
+ return /* @__PURE__ */ jsx17(
624
631
  BaseTabs,
625
632
  {
626
633
  className: (state) => {
@@ -637,7 +644,7 @@ function TabList({
637
644
  children,
638
645
  ...props
639
646
  }) {
640
- return /* @__PURE__ */ jsx16(
647
+ return /* @__PURE__ */ jsx17(
641
648
  BaseTabList,
642
649
  {
643
650
  className: (state) => {
@@ -650,7 +657,7 @@ function TabList({
650
657
  );
651
658
  }
652
659
  function Tab({ className: className2, children, ...props }) {
653
- return /* @__PURE__ */ jsx16(
660
+ return /* @__PURE__ */ jsx17(
654
661
  BaseTab,
655
662
  {
656
663
  className: (state) => {
@@ -668,7 +675,7 @@ function Tab({ className: className2, children, ...props }) {
668
675
  );
669
676
  }
670
677
  function TabPanel({ className: className2, children, ...props }) {
671
- return /* @__PURE__ */ jsx16(
678
+ return /* @__PURE__ */ jsx17(
672
679
  BaseTabPanel,
673
680
  {
674
681
  className: (state) => {
@@ -684,9 +691,9 @@ function TabPanel({ className: className2, children, ...props }) {
684
691
  // src/CreatorGrid.tsx
685
692
  import { ListBox, ListBoxItem } from "react-aria-components";
686
693
  import { twMerge as twMerge6 } from "tailwind-merge";
687
- import { jsx as jsx17, jsxs as jsxs10 } from "react/jsx-runtime";
694
+ import { jsx as jsx18, jsxs as jsxs10 } from "react/jsx-runtime";
688
695
  function CreatorGrid(props) {
689
- return /* @__PURE__ */ jsx17(
696
+ return /* @__PURE__ */ jsx18(
690
697
  ListBox,
691
698
  {
692
699
  orientation: "horizontal",
@@ -694,7 +701,7 @@ function CreatorGrid(props) {
694
701
  selectionMode: "single",
695
702
  items: props.items,
696
703
  className: "grid grid-sm gap-4 p-4 mb-8",
697
- children: (item) => /* @__PURE__ */ jsx17(CreatorGridItem, { ...item })
704
+ children: (item) => /* @__PURE__ */ jsx18(CreatorGridItem, { ...item })
698
705
  }
699
706
  );
700
707
  }
@@ -709,17 +716,17 @@ function CreatorGridItem(props) {
709
716
  $s.isFocused && "border-me-primary-500 outline-me-primary-500 outline-2"
710
717
  ),
711
718
  children: [
712
- /* @__PURE__ */ jsx17("div", { className: "rounded bg-me-gray-300 mb-2 flex items-center justify-center py-1 aspect-square", children: /* @__PURE__ */ jsx17("div", { className: "text-center [&>svg]:w-16 [&>svg]:h-16", children: props.icon }) }),
713
- /* @__PURE__ */ jsx17("div", { className: "text-center font-semibold text-sm", children: props.title }),
714
- /* @__PURE__ */ jsx17("div", { className: "text-sm text-center text-black/50", children: props.description })
719
+ /* @__PURE__ */ jsx18("div", { className: "rounded bg-me-gray-300 mb-2 flex items-center justify-center py-1 aspect-square", children: /* @__PURE__ */ jsx18("div", { className: "text-center [&>svg]:w-16 [&>svg]:h-16", children: props.icon }) }),
720
+ /* @__PURE__ */ jsx18("div", { className: "text-center font-semibold text-sm", children: props.title }),
721
+ /* @__PURE__ */ jsx18("div", { className: "text-sm text-center text-black/50", children: props.description })
715
722
  ]
716
723
  }
717
724
  );
718
725
  }
719
726
 
720
727
  // src/icons/DownloadIcon.tsx
721
- import { jsx as jsx18 } from "react/jsx-runtime";
722
- var DownloadIcon = (props) => /* @__PURE__ */ jsx18("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx18(
728
+ import { jsx as jsx19 } from "react/jsx-runtime";
729
+ var DownloadIcon = (props) => /* @__PURE__ */ jsx19("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx19(
723
730
  "path",
724
731
  {
725
732
  d: "M480-320 280-520l56-58 104 104v-326h80v326l104-104 56 58-200 200ZM240-160q-33 0-56.5-23.5T160-240v-120h80v120h480v-120h80v120q0 33-23.5 56.5T720-160H240Z",
@@ -729,10 +736,10 @@ var DownloadIcon = (props) => /* @__PURE__ */ jsx18("svg", { xmlns: "http://www.
729
736
 
730
737
  // src/DownloadButton.tsx
731
738
  import { useId } from "react-aria";
732
- import { jsx as jsx19, jsxs as jsxs11 } from "react/jsx-runtime";
739
+ import { jsx as jsx20, jsxs as jsxs11 } from "react/jsx-runtime";
733
740
  function DownloadButton({ label, id: _id, getData, fileName, fileType }) {
734
741
  const id = useId(_id);
735
- return /* @__PURE__ */ jsx19(Tooltip, { placement: "bottom", children: /* @__PURE__ */ jsxs11(
742
+ return /* @__PURE__ */ jsx20(Tooltip, { placement: "bottom", children: /* @__PURE__ */ jsxs11(
736
743
  TooltipTrigger,
737
744
  {
738
745
  className: "bg-me-gray-100 hover:bg-me-primary-500 hover:text-white p-1 rounded-md text-me-primary-500 text-2xl",
@@ -740,8 +747,8 @@ function DownloadButton({ label, id: _id, getData, fileName, fileType }) {
740
747
  id,
741
748
  onPress: () => createDownload(getData(), fileName, fileType),
742
749
  children: [
743
- /* @__PURE__ */ jsx19(DownloadIcon, { "aria-labelledby": _id }),
744
- /* @__PURE__ */ jsx19(DefaultTooltipContent, { children: label })
750
+ /* @__PURE__ */ jsx20(DownloadIcon, { "aria-labelledby": _id }),
751
+ /* @__PURE__ */ jsx20(DefaultTooltipContent, { children: label })
745
752
  ]
746
753
  }
747
754
  ) });
@@ -761,11 +768,11 @@ function createDownload(data, fileName, fileType = "text/json") {
761
768
  }
762
769
 
763
770
  // src/AtlasBanner.tsx
764
- import { jsx as jsx20, jsxs as jsxs12 } from "react/jsx-runtime";
771
+ import { jsx as jsx21, jsxs as jsxs12 } from "react/jsx-runtime";
765
772
  function AtlasBanner({ children, controlsId }) {
766
773
  return /* @__PURE__ */ jsxs12("div", { className: "bg-me-gray-100 border-b text-black p-1 flex gap-4 items-center h-12", children: [
767
- /* @__PURE__ */ jsx20("div", { className: "px-4", children }),
768
- /* @__PURE__ */ jsx20("div", { id: controlsId || "atlas-controls", className: "flex gap-2" })
774
+ /* @__PURE__ */ jsx21("div", { className: "px-4", children }),
775
+ /* @__PURE__ */ jsx21("div", { id: controlsId || "atlas-controls", className: "flex gap-2" })
769
776
  ] });
770
777
  }
771
778
 
@@ -773,7 +780,7 @@ function AtlasBanner({ children, controlsId }) {
773
780
  import { RenderSvgEditorControls } from "react-iiif-vault";
774
781
 
775
782
  // src/icons/DrawIcon.tsx
776
- import { jsx as jsx21, jsxs as jsxs13 } from "react/jsx-runtime";
783
+ import { jsx as jsx22, jsxs as jsxs13 } from "react/jsx-runtime";
777
784
  var DrawIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs13(
778
785
  "svg",
779
786
  {
@@ -784,8 +791,8 @@ var DrawIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs13(
784
791
  "aria-labelledby": titleId,
785
792
  ...props,
786
793
  children: [
787
- title ? /* @__PURE__ */ jsx21("title", { id: titleId, children: title }) : null,
788
- /* @__PURE__ */ jsx21(
794
+ title ? /* @__PURE__ */ jsx22("title", { id: titleId, children: title }) : null,
795
+ /* @__PURE__ */ jsx22(
789
796
  "path",
790
797
  {
791
798
  fill: "currentColor",
@@ -797,7 +804,7 @@ var DrawIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs13(
797
804
  );
798
805
 
799
806
  // src/icons/PolygonIcon.tsx
800
- import { jsx as jsx22, jsxs as jsxs14 } from "react/jsx-runtime";
807
+ import { jsx as jsx23, jsxs as jsxs14 } from "react/jsx-runtime";
801
808
  var PolygonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs14(
802
809
  "svg",
803
810
  {
@@ -808,8 +815,8 @@ var PolygonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs14(
808
815
  "aria-labelledby": titleId,
809
816
  ...props,
810
817
  children: [
811
- title ? /* @__PURE__ */ jsx22("title", { id: titleId, children: title }) : null,
812
- /* @__PURE__ */ jsx22(
818
+ title ? /* @__PURE__ */ jsx23("title", { id: titleId, children: title }) : null,
819
+ /* @__PURE__ */ jsx23(
813
820
  "path",
814
821
  {
815
822
  fill: "currentColor",
@@ -821,33 +828,33 @@ var PolygonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs14(
821
828
  );
822
829
 
823
830
  // src/icons/LineIcon.tsx
824
- import { jsx as jsx23, jsxs as jsxs15 } from "react/jsx-runtime";
831
+ import { jsx as jsx24, jsxs as jsxs15 } from "react/jsx-runtime";
825
832
  function LineIcon({ title, titleId, ...props }) {
826
833
  return /* @__PURE__ */ jsxs15("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", "aria-labelledby": titleId, ...props, children: [
827
- title ? /* @__PURE__ */ jsx23("title", { id: titleId, children: title }) : null,
834
+ title ? /* @__PURE__ */ jsx24("title", { id: titleId, children: title }) : null,
828
835
  /* @__PURE__ */ jsxs15("g", { fill: "none", fillRule: "evenodd", children: [
829
- /* @__PURE__ */ jsx23("circle", { cx: 4.5, cy: 4.5, r: 2.5, fill: "currentColor" }),
830
- /* @__PURE__ */ jsx23("circle", { cx: 15.5, cy: 15.5, r: 2.5, fill: "currentColor" }),
831
- /* @__PURE__ */ jsx23("path", { stroke: "currentColor", strokeLinecap: "square", strokeWidth: 2, d: "m13.5 13.5-9-9" })
836
+ /* @__PURE__ */ jsx24("circle", { cx: 4.5, cy: 4.5, r: 2.5, fill: "currentColor" }),
837
+ /* @__PURE__ */ jsx24("circle", { cx: 15.5, cy: 15.5, r: 2.5, fill: "currentColor" }),
838
+ /* @__PURE__ */ jsx24("path", { stroke: "currentColor", strokeLinecap: "square", strokeWidth: 2, d: "m13.5 13.5-9-9" })
832
839
  ] })
833
840
  ] });
834
841
  }
835
842
 
836
843
  // src/icons/LineBoxIcon.tsx
837
- import { jsx as jsx24, jsxs as jsxs16 } from "react/jsx-runtime";
844
+ import { jsx as jsx25, jsxs as jsxs16 } from "react/jsx-runtime";
838
845
  function LineBoxIcon({ title, titleId, ...props }) {
839
846
  return /* @__PURE__ */ jsxs16("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", "aria-labelledby": titleId, ...props, children: [
840
- title ? /* @__PURE__ */ jsx24("title", { id: titleId, children: title }) : null,
847
+ title ? /* @__PURE__ */ jsx25("title", { id: titleId, children: title }) : null,
841
848
  /* @__PURE__ */ jsxs16("g", { fill: "none", fillRule: "evenodd", children: [
842
- /* @__PURE__ */ jsx24("path", { d: "M0 0h20v20H0z" }),
843
- /* @__PURE__ */ jsx24("path", { stroke: "currentColor", strokeLinecap: "square", strokeWidth: 2, d: "m8.5 11.5 6-6M16 4v3m0-3h-3m0 14L2 7" }),
844
- /* @__PURE__ */ jsx24("path", { stroke: "currentColor", strokeOpacity: 0.407, strokeWidth: 2, d: "m2 7 5-5 11 11-5 5z" })
849
+ /* @__PURE__ */ jsx25("path", { d: "M0 0h20v20H0z" }),
850
+ /* @__PURE__ */ jsx25("path", { stroke: "currentColor", strokeLinecap: "square", strokeWidth: 2, d: "m8.5 11.5 6-6M16 4v3m0-3h-3m0 14L2 7" }),
851
+ /* @__PURE__ */ jsx25("path", { stroke: "currentColor", strokeOpacity: 0.407, strokeWidth: 2, d: "m2 7 5-5 11 11-5 5z" })
845
852
  ] })
846
853
  ] });
847
854
  }
848
855
 
849
856
  // src/icons/ShapesIcon.tsx
850
- import { jsx as jsx25, jsxs as jsxs17 } from "react/jsx-runtime";
857
+ import { jsx as jsx26, jsxs as jsxs17 } from "react/jsx-runtime";
851
858
  var ShapesIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs17(
852
859
  "svg",
853
860
  {
@@ -858,8 +865,8 @@ var ShapesIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs17(
858
865
  "aria-labelledby": titleId,
859
866
  ...props,
860
867
  children: [
861
- title ? /* @__PURE__ */ jsx25("title", { id: titleId, children: title }) : null,
862
- /* @__PURE__ */ jsx25(
868
+ title ? /* @__PURE__ */ jsx26("title", { id: titleId, children: title }) : null,
869
+ /* @__PURE__ */ jsx26(
863
870
  "path",
864
871
  {
865
872
  fill: "currentColor",
@@ -871,7 +878,7 @@ var ShapesIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs17(
871
878
  );
872
879
 
873
880
  // src/icons/SquareIcon.tsx
874
- import { jsx as jsx26, jsxs as jsxs18 } from "react/jsx-runtime";
881
+ import { jsx as jsx27, jsxs as jsxs18 } from "react/jsx-runtime";
875
882
  var SquareIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs18(
876
883
  "svg",
877
884
  {
@@ -882,8 +889,8 @@ var SquareIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs18(
882
889
  "aria-labelledby": titleId,
883
890
  ...props,
884
891
  children: [
885
- title ? /* @__PURE__ */ jsx26("title", { id: titleId, children: title }) : null,
886
- /* @__PURE__ */ jsx26(
892
+ title ? /* @__PURE__ */ jsx27("title", { id: titleId, children: title }) : null,
893
+ /* @__PURE__ */ jsx27(
887
894
  "path",
888
895
  {
889
896
  fill: "currentColor",
@@ -895,7 +902,7 @@ var SquareIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs18(
895
902
  );
896
903
 
897
904
  // src/icons/TriangleIcon.tsx
898
- import { jsx as jsx27, jsxs as jsxs19 } from "react/jsx-runtime";
905
+ import { jsx as jsx28, jsxs as jsxs19 } from "react/jsx-runtime";
899
906
  var TriangleIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs19(
900
907
  "svg",
901
908
  {
@@ -906,14 +913,14 @@ var TriangleIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs19(
906
913
  "aria-labelledby": titleId,
907
914
  ...props,
908
915
  children: [
909
- title ? /* @__PURE__ */ jsx27("title", { id: titleId, children: title }) : null,
910
- /* @__PURE__ */ jsx27("path", { d: "m80-160 400-640 400 640H80Zm144-80h512L480-650 224-240Zm256-205Z", fill: "currentColor" })
916
+ title ? /* @__PURE__ */ jsx28("title", { id: titleId, children: title }) : null,
917
+ /* @__PURE__ */ jsx28("path", { d: "m80-160 400-640 400 640H80Zm144-80h512L480-650 224-240Zm256-205Z", fill: "currentColor" })
911
918
  ]
912
919
  }
913
920
  );
914
921
 
915
922
  // src/icons/HexagonIcon.tsx
916
- import { jsx as jsx28, jsxs as jsxs20 } from "react/jsx-runtime";
923
+ import { jsx as jsx29, jsxs as jsxs20 } from "react/jsx-runtime";
917
924
  var HexagonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs20(
918
925
  "svg",
919
926
  {
@@ -924,8 +931,8 @@ var HexagonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs20(
924
931
  "aria-labelledby": titleId,
925
932
  ...props,
926
933
  children: [
927
- title ? /* @__PURE__ */ jsx28("title", { id: titleId, children: title }) : null,
928
- /* @__PURE__ */ jsx28(
934
+ title ? /* @__PURE__ */ jsx29("title", { id: titleId, children: title }) : null,
935
+ /* @__PURE__ */ jsx29(
929
936
  "path",
930
937
  {
931
938
  fill: "currentColor",
@@ -937,12 +944,12 @@ var HexagonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ jsxs20(
937
944
  );
938
945
 
939
946
  // src/icons/DeleteForeverIcon.tsx
940
- import { jsx as jsx29, jsxs as jsxs21 } from "react/jsx-runtime";
947
+ import { jsx as jsx30, jsxs as jsxs21 } from "react/jsx-runtime";
941
948
  function DeleteForeverIcon(props) {
942
949
  return /* @__PURE__ */ jsxs21("svg", { height: "1em", width: "1em", viewBox: "0 0 24 24", ...props, children: [
943
- /* @__PURE__ */ jsx29("path", { d: "M0 0h24v24H0z", fill: "none" }),
944
- /* @__PURE__ */ jsx29("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
945
- /* @__PURE__ */ jsx29(
950
+ /* @__PURE__ */ jsx30("path", { d: "M0 0h24v24H0z", fill: "none" }),
951
+ /* @__PURE__ */ jsx30("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
952
+ /* @__PURE__ */ jsx30(
946
953
  "path",
947
954
  {
948
955
  d: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zm2.46-7.12l1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14l-2.13-2.12zM15.5 4l-1-1h-5l-1 1H5v2h14V4z",
@@ -954,18 +961,18 @@ function DeleteForeverIcon(props) {
954
961
 
955
962
  // src/SvgControlBar.tsx
956
963
  import { useEffect as useEffect2 } from "react";
957
- import { jsx as jsx30 } from "react/jsx-runtime";
964
+ import { jsx as jsx31 } from "react/jsx-runtime";
958
965
  var className = 'bg-me-gray-100 border hover:bg-me-gray-300 rounded p-1 text-2xl text-me-primary-500 data-[active="true"]:border-me-primary-600';
959
966
  var icons = {
960
- DrawIcon: /* @__PURE__ */ jsx30(DrawIcon, {}),
961
- PolygonIcon: /* @__PURE__ */ jsx30(PolygonIcon, {}),
962
- LineIcon: /* @__PURE__ */ jsx30(LineIcon, {}),
963
- LineBoxIcon: /* @__PURE__ */ jsx30(LineBoxIcon, {}),
964
- ShapesIcon: /* @__PURE__ */ jsx30(ShapesIcon, {}),
965
- SquareIcon: /* @__PURE__ */ jsx30(SquareIcon, {}),
966
- TriangleIcon: /* @__PURE__ */ jsx30(TriangleIcon, {}),
967
- HexagonIcon: /* @__PURE__ */ jsx30(HexagonIcon, {}),
968
- DeleteForeverIcon: /* @__PURE__ */ jsx30(DeleteForeverIcon, {})
967
+ DrawIcon: /* @__PURE__ */ jsx31(DrawIcon, {}),
968
+ PolygonIcon: /* @__PURE__ */ jsx31(PolygonIcon, {}),
969
+ LineIcon: /* @__PURE__ */ jsx31(LineIcon, {}),
970
+ LineBoxIcon: /* @__PURE__ */ jsx31(LineBoxIcon, {}),
971
+ ShapesIcon: /* @__PURE__ */ jsx31(ShapesIcon, {}),
972
+ SquareIcon: /* @__PURE__ */ jsx31(SquareIcon, {}),
973
+ TriangleIcon: /* @__PURE__ */ jsx31(TriangleIcon, {}),
974
+ HexagonIcon: /* @__PURE__ */ jsx31(HexagonIcon, {}),
975
+ DeleteForeverIcon: /* @__PURE__ */ jsx31(DeleteForeverIcon, {})
969
976
  };
970
977
  function SvgControlBar({
971
978
  helper,
@@ -975,7 +982,7 @@ function SvgControlBar({
975
982
  useEffect2(() => {
976
983
  helper.stamps.square();
977
984
  }, []);
978
- return /* @__PURE__ */ jsx30(
985
+ return /* @__PURE__ */ jsx31(
979
986
  RenderSvgEditorControls,
980
987
  {
981
988
  icons,
@@ -990,18 +997,18 @@ function SvgControlBar({
990
997
  }
991
998
 
992
999
  // src/ConfirmSelectionButton.tsx
993
- import { Button as Button3 } from "react-aria-components";
994
- import { jsx as jsx31 } from "react/jsx-runtime";
1000
+ import { Button as Button4 } from "react-aria-components";
1001
+ import { jsx as jsx32 } from "react/jsx-runtime";
995
1002
  function ConfirmSelectionButton({ onPress, children }) {
996
- return /* @__PURE__ */ jsx31(Button3, { className: "bg-me-primary-500 px-3 py-1 hover:bg-me-primary-600 text-white rounded", onPress, children });
1003
+ return /* @__PURE__ */ jsx32(Button4, { className: "bg-me-primary-500 px-3 py-1 hover:bg-me-primary-600 text-white rounded", onPress, children });
997
1004
  }
998
1005
 
999
1006
  // src/ManifestOverviewEmptyState.tsx
1000
- import { Button as Button4 } from "react-aria-components";
1001
- import { jsx as jsx32, jsxs as jsxs22 } from "react/jsx-runtime";
1007
+ import { Button as Button5 } from "react-aria-components";
1008
+ import { jsx as jsx33, jsxs as jsxs22 } from "react/jsx-runtime";
1002
1009
  function ManifestOverviewEmptyState({ onCreate, canCreate }) {
1003
1010
  return /* @__PURE__ */ jsxs22("div", { className: "flex items-center flex-col gap-5 py-16", children: [
1004
- /* @__PURE__ */ jsx32(
1011
+ /* @__PURE__ */ jsx33(
1005
1012
  Card3D,
1006
1013
  {
1007
1014
  shouldTranslate: true,
@@ -1009,10 +1016,10 @@ function ManifestOverviewEmptyState({ onCreate, canCreate }) {
1009
1016
  className: "border-2 border-dotted bg-black/5 aspect-[3/4] rounded w-32 border-black"
1010
1017
  }
1011
1018
  ),
1012
- /* @__PURE__ */ jsx32("div", { className: "font-bold text-lg", children: "Let's get started!" }),
1013
- /* @__PURE__ */ jsx32("div", { className: "max-w-xl px-5 my-4", children: "Add a title and top level information for this manifest using the editing panel on the right, and then add some canvases and content." }),
1014
- canCreate ? /* @__PURE__ */ jsx32(
1015
- Button4,
1019
+ /* @__PURE__ */ jsx33("div", { className: "font-bold text-lg", children: "Let's get started!" }),
1020
+ /* @__PURE__ */ jsx33("div", { className: "max-w-xl px-5 my-4", children: "Add a title and top level information for this manifest using the editing panel on the right, and then add some canvases and content." }),
1021
+ canCreate ? /* @__PURE__ */ jsx33(
1022
+ Button5,
1016
1023
  {
1017
1024
  className: "px-8 font-bold py-2 border rounded-lg border-me-primary-500 text-me-primary-500 hover:border-me-primary-600 hover:text-me-primary-600",
1018
1025
  onPress: onCreate,
@@ -1023,41 +1030,18 @@ function ManifestOverviewEmptyState({ onCreate, canCreate }) {
1023
1030
  }
1024
1031
 
1025
1032
  // src/SidebarTabs.tsx
1026
- import {
1027
- useLayoutEffect as useLayoutEffect3,
1028
- useMemo as useMemo2,
1029
- useRef as useRef3,
1030
- useState as useState3
1031
- } from "react";
1032
- import {
1033
- Button as Button5,
1034
- Menu,
1035
- MenuItem,
1036
- MenuTrigger,
1037
- Popover,
1038
- Tab as Tab2,
1039
- TabList as TabList2,
1040
- TabPanel as TabPanel2,
1041
- Tabs as Tabs2
1042
- } from "react-aria-components";
1043
1033
  import { createHideableComponent } from "@react-aria/collections";
1034
+ import { useLayoutEffect as useLayoutEffect3, useMemo as useMemo2, useRef as useRef3, useState as useState3 } from "react";
1035
+ import { Button as Button6, Menu, MenuItem, MenuTrigger, Popover, Tab as Tab2, TabList as TabList2, TabPanel as TabPanel2, Tabs as Tabs2 } from "react-aria-components";
1044
1036
  import { createPortal as createPortal2 } from "react-dom";
1045
- import { Fragment as Fragment3, jsx as jsx33, jsxs as jsxs23 } from "react/jsx-runtime";
1046
- function SidebarTabs({
1047
- menu,
1048
- menuId,
1049
- selectedKey,
1050
- onSelectionChange
1051
- }) {
1037
+ import { Fragment as Fragment3, jsx as jsx34, jsxs as jsxs23 } from "react/jsx-runtime";
1038
+ function SidebarTabs({ menu, menuId, selectedKey, onSelectionChange }) {
1052
1039
  const ref = useRef3(null);
1053
1040
  const [hidden, setHidden] = useState3(0);
1054
1041
  const [hiddenMenu, setHiddenMenu] = useState3(null);
1055
1042
  const widths = useRef3([]);
1056
1043
  const itemsRef = useRef3([]);
1057
- const selectedIndex = useMemo2(
1058
- () => menu.findIndex((item) => item.id === selectedKey),
1059
- [menu, selectedKey]
1060
- );
1044
+ const selectedIndex = useMemo2(() => menu.findIndex((item) => item.id === selectedKey), [menu, selectedKey]);
1061
1045
  useLayoutEffect3(() => {
1062
1046
  const cb = () => {
1063
1047
  if (widths.current.length === 0) {
@@ -1100,49 +1084,34 @@ function SidebarTabs({
1100
1084
  onSelectionChange,
1101
1085
  children: [
1102
1086
  /* @__PURE__ */ jsxs23("div", { className: "flex items-center w-full tab-shadow", children: [
1103
- /* @__PURE__ */ jsx33(
1104
- TabList2,
1105
- {
1106
- ref,
1107
- className: "flex-1 overflow-hidden w-full flex text-sm whitespace-nowrap",
1108
- children: menu.map((item, idx) => {
1109
- const isHidden = hidden >= menu.length - idx;
1110
- return /* @__PURE__ */ jsx33(
1111
- Tab2,
1112
- {
1113
- ref: (el) => itemsRef.current[idx] = el,
1114
- id: item.id,
1115
- className: (state) => cn(
1116
- //
1117
- "border-b-2 px-2 py-1 text-sm text-gray-400 select-none hover:text-black focus:ring-0 focus:outline-none",
1118
- state.isSelected && "border-me-primary-500 text-black",
1119
- state.isFocusVisible && "ring-0 bg-me-gray-100",
1120
- isHidden && "hidden"
1121
- ),
1122
- children: item.label
1123
- },
1124
- item.id
1125
- );
1126
- })
1127
- }
1128
- ),
1129
- /* @__PURE__ */ jsx33("div", { ref: setHiddenMenu, id: "hidden-menu" })
1087
+ /* @__PURE__ */ jsx34(TabList2, { ref, className: "flex-1 overflow-hidden w-full flex text-sm whitespace-nowrap", children: menu.map((item, idx) => {
1088
+ const isHidden = hidden >= menu.length - idx;
1089
+ return /* @__PURE__ */ jsx34(
1090
+ Tab2,
1091
+ {
1092
+ ref: (el) => itemsRef.current[idx] = el,
1093
+ id: item.id,
1094
+ className: (state) => cn(
1095
+ //
1096
+ "border-b-2 px-2 py-1 text-sm text-gray-400 select-none hover:text-black focus:ring-0 focus:outline-none",
1097
+ state.isSelected && "border-me-primary-500 text-black",
1098
+ state.isFocusVisible && "ring-0 bg-me-gray-100",
1099
+ isHidden && "hidden"
1100
+ ),
1101
+ children: item.label
1102
+ },
1103
+ item.id
1104
+ );
1105
+ }) }),
1106
+ /* @__PURE__ */ jsx34("div", { ref: setHiddenMenu, id: "hidden-menu" })
1130
1107
  ] }),
1131
- menu.map((item) => /* @__PURE__ */ jsx33(
1132
- TabPanel2,
1133
- {
1134
- id: item.id,
1135
- className: "flex-1 overflow-y-auto h-full",
1136
- children: item.renderComponent
1137
- },
1138
- item.id
1139
- ))
1108
+ menu.map((item) => /* @__PURE__ */ jsx34(TabPanel2, { id: item.id, className: "flex-1 overflow-y-auto h-full", children: item.renderComponent }, item.id))
1140
1109
  ]
1141
1110
  },
1142
1111
  menuId
1143
1112
  ),
1144
1113
  hiddenMenu && hidden > 0 ? createPortal2(
1145
- /* @__PURE__ */ jsx33(
1114
+ /* @__PURE__ */ jsx34(
1146
1115
  MoreMenu,
1147
1116
  {
1148
1117
  hidden,
@@ -1158,8 +1127,8 @@ function SidebarTabs({
1158
1127
  }
1159
1128
  var MoreMenu = createHideableComponent(({ selectedIndex, hidden, menuHidden, selectedKey, onSelectionChange }) => {
1160
1129
  return /* @__PURE__ */ jsxs23(MenuTrigger, { children: [
1161
- /* @__PURE__ */ jsx33(
1162
- Button5,
1130
+ /* @__PURE__ */ jsx34(
1131
+ Button6,
1163
1132
  {
1164
1133
  className: cn(
1165
1134
  "border-none rounded bg-gray-100 px-1.5 py-1 mr-2 mb-1 text-me-primary-500 semibold uppercase text-[10px]",
@@ -1168,32 +1137,26 @@ var MoreMenu = createHideableComponent(({ selectedIndex, hidden, menuHidden, sel
1168
1137
  children: "MORE"
1169
1138
  }
1170
1139
  ),
1171
- /* @__PURE__ */ jsx33(Popover, { children: menuHidden.length ? /* @__PURE__ */ jsx33(
1172
- Menu,
1173
- {
1174
- className: "bg-white rounded shadow-lg flex flex-col gap-0.5 p-0.5 min-w-28",
1175
- children: menuHidden.map((item) => {
1176
- return /* @__PURE__ */ jsx33(
1177
- MenuItem,
1178
- {
1179
- className: (state) => cn(
1180
- "hover:bg-me-gray-100 p-1 rounded-sm text-sm",
1181
- selectedKey === item.id && "ring ring-me-primary-500"
1182
- ),
1183
- onAction: () => onSelectionChange?.(item.id),
1184
- children: item.label
1185
- },
1186
- item.id
1187
- );
1188
- })
1189
- }
1190
- ) : null })
1140
+ /* @__PURE__ */ jsx34(Popover, { children: menuHidden.length ? /* @__PURE__ */ jsx34(Menu, { className: "bg-white rounded shadow-lg flex flex-col gap-0.5 p-0.5 min-w-28", children: menuHidden.map((item) => {
1141
+ return /* @__PURE__ */ jsx34(
1142
+ MenuItem,
1143
+ {
1144
+ className: (state) => cn(
1145
+ "hover:bg-me-gray-100 p-1 rounded-sm text-sm",
1146
+ selectedKey === item.id && "ring ring-me-primary-500"
1147
+ ),
1148
+ onAction: () => onSelectionChange?.(item.id),
1149
+ children: item.label
1150
+ },
1151
+ item.id
1152
+ );
1153
+ }) }) : null })
1191
1154
  ] });
1192
1155
  });
1193
1156
 
1194
1157
  // src/MetadataContainer.tsx
1195
1158
  import { LocaleString as LocaleString2 } from "react-iiif-vault";
1196
- import { jsx as jsx34, jsxs as jsxs24 } from "react/jsx-runtime";
1159
+ import { jsx as jsx35, jsxs as jsxs24 } from "react/jsx-runtime";
1197
1160
  function MetadataContainer({
1198
1161
  className: className2,
1199
1162
  label,
@@ -1209,7 +1172,7 @@ function MetadataContainer({
1209
1172
  ),
1210
1173
  ...props,
1211
1174
  children: [
1212
- /* @__PURE__ */ jsx34(LocaleString2, { className: "text-lg font-bold text-[#333] mb-2", as: "h3", children: label }),
1175
+ /* @__PURE__ */ jsx35(LocaleString2, { className: "text-lg font-bold text-[#333] mb-2", as: "h3", children: label }),
1213
1176
  children
1214
1177
  ]
1215
1178
  }
@@ -1217,9 +1180,9 @@ function MetadataContainer({
1217
1180
  }
1218
1181
 
1219
1182
  // src/EmptyState.tsx
1220
- import { jsx as jsx35 } from "react/jsx-runtime";
1183
+ import { jsx as jsx36 } from "react/jsx-runtime";
1221
1184
  function EmptyState(props) {
1222
- return /* @__PURE__ */ jsx35(
1185
+ return /* @__PURE__ */ jsx36(
1223
1186
  "div",
1224
1187
  {
1225
1188
  className: cn(
@@ -1233,9 +1196,9 @@ function EmptyState(props) {
1233
1196
  }
1234
1197
 
1235
1198
  // src/ManifestEditorLogo.tsx
1236
- import { jsx as jsx36, jsxs as jsxs25 } from "react/jsx-runtime";
1199
+ import { jsx as jsx37, jsxs as jsxs25 } from "react/jsx-runtime";
1237
1200
  function ManifestEditorLogo(props) {
1238
- return /* @__PURE__ */ jsx36(
1201
+ return /* @__PURE__ */ jsx37(
1239
1202
  "svg",
1240
1203
  {
1241
1204
  width: "1em",
@@ -1245,16 +1208,16 @@ function ManifestEditorLogo(props) {
1245
1208
  className: "me-logo h-[23px] w-[176px]",
1246
1209
  ...props,
1247
1210
  children: /* @__PURE__ */ jsxs25("g", { fill: "none", children: [
1248
- /* @__PURE__ */ jsx36(
1211
+ /* @__PURE__ */ jsx37(
1249
1212
  "path",
1250
1213
  {
1251
1214
  d: "M62.558 5.41v14.873h-2.983v-9.675l-3.985 9.675h-2.26l-4.006-9.675v9.675H46.34V5.41h3.388l4.73 11.06L59.19 5.41zm2.173 8.928c0-1.194.238-2.252.714-3.176.476-.923 1.123-1.633 1.94-2.13.816-.498 1.73-.746 2.738-.746.88 0 1.651.177 2.312.532.66.355 1.19.803 1.588 1.343V8.477h3.004v11.806h-3.004v-1.726c-.384.554-.913 1.012-1.588 1.374-.675.363-1.453.544-2.334.544-.994 0-1.9-.256-2.717-.767-.816-.512-1.463-1.233-1.939-2.163-.476-.93-.714-2-.714-3.207Zm9.292.042c0-.724-.143-1.346-.427-1.864a3.005 3.005 0 0 0-1.15-1.194 3.076 3.076 0 0 0-1.556-.415c-.554 0-1.066.135-1.534.405-.47.27-.85.664-1.14 1.182-.292.519-.437 1.133-.437 1.844 0 .71.145 1.331.437 1.864.29.533.674.941 1.15 1.226.476.284.984.426 1.524.426.554 0 1.073-.139 1.556-.416a3.005 3.005 0 0 0 1.15-1.193c.284-.519.427-1.14.427-1.865Zm12.466-6.073c1.406 0 2.543.444 3.41 1.332.866.888 1.3 2.127 1.3 3.718v6.926h-2.984v-6.52c0-.938-.234-1.66-.703-2.164-.47-.504-1.108-.756-1.918-.756-.824 0-1.474.252-1.95.756-.476.505-.714 1.226-.714 2.163v6.521h-2.983V8.477h2.983v1.47a4.121 4.121 0 0 1 1.524-1.203 4.713 4.713 0 0 1 2.035-.437Zm9.057-1.237c-.526 0-.963-.166-1.311-.5a1.657 1.657 0 0 1-.522-1.247c0-.497.174-.912.522-1.246.348-.334.785-.5 1.31-.5.526 0 .963.166 1.311.5.348.334.522.75.522 1.246 0 .498-.174.913-.522 1.247-.348.334-.785.5-1.31.5Zm1.47 1.407v11.806h-2.983V8.477h2.983Zm8.354 2.451h-2.068v9.355h-3.026v-9.355h-1.342v-2.45h1.342V7.88c0-1.45.412-2.515 1.236-3.197.824-.682 2.067-1.001 3.73-.959V6.24c-.725-.014-1.23.106-1.513.362-.284.256-.427.718-.427 1.385v.49h2.068v2.451Zm12.913 3.197c0 .426-.028.81-.085 1.15h-8.63c.07.853.369 1.52.895 2.003.525.483 1.172.725 1.939.725 1.108 0 1.896-.476 2.365-1.428h3.218c-.34 1.137-.994 2.07-1.96 2.802-.967.732-2.153 1.098-3.56 1.098-1.136 0-2.155-.252-3.057-.757a5.325 5.325 0 0 1-2.11-2.141c-.504-.924-.756-1.99-.756-3.197 0-1.222.248-2.294.745-3.218a5.204 5.204 0 0 1 2.089-2.13c.895-.498 1.925-.746 3.09-.746 1.122 0 2.127.241 3.015.724a5.1 5.1 0 0 1 2.067 2.057c.49.887.735 1.907.735 3.058Zm-3.09-.853c-.014-.767-.29-1.381-.83-1.843-.54-.462-1.201-.693-1.982-.693-.74 0-1.36.224-1.865.671-.504.448-.813 1.07-.927 1.865h5.604Zm9.782 7.203c-.966 0-1.833-.174-2.6-.522-.767-.348-1.375-.82-1.822-1.417a3.591 3.591 0 0 1-.735-1.982h3.004c.057.454.281.83.672 1.13.39.298.877.447 1.46.447.568 0 1.012-.114 1.331-.341.32-.227.48-.519.48-.874 0-.383-.196-.671-.586-.863-.391-.192-1.012-.401-1.865-.629-.88-.213-1.602-.433-2.163-.66a3.755 3.755 0 0 1-1.449-1.044c-.405-.47-.607-1.101-.607-1.897 0-.653.188-1.25.564-1.79.377-.54.917-.966 1.62-1.279.703-.312 1.53-.468 2.483-.468 1.406 0 2.528.351 3.367 1.054.838.704 1.3 1.652 1.385 2.845h-2.856c-.042-.469-.238-.841-.586-1.118-.348-.277-.813-.416-1.396-.416-.54 0-.955.1-1.246.298a.951.951 0 0 0-.437.831c0 .398.199.7.597.906.397.206 1.015.416 1.854.629.852.213 1.555.433 2.11.66a3.727 3.727 0 0 1 1.438 1.055c.405.476.614 1.105.628 1.886 0 .682-.188 1.293-.564 1.833-.377.54-.917.962-1.62 1.268-.703.305-1.524.458-2.461.458Zm10.569-9.547v5.711c0 .398.096.686.288.863.192.178.515.267.97.267h1.385v2.514h-1.875c-2.515 0-3.772-1.222-3.772-3.665v-5.69h-1.407v-2.45h1.407v-2.92h3.004v2.92h2.643v2.45h-2.643Zm12.851-3.111v3.73h5.007v2.364h-5.007v3.943h5.647v2.43h-8.631V5.386h8.63v2.43zm7.585 6.521c0-1.194.239-2.252.715-3.176.476-.923 1.126-1.633 1.95-2.13.824-.498 1.74-.746 2.749-.746.767 0 1.498.167 2.194.5.697.334 1.25.778 1.663 1.332V4.514h3.026v15.77h-3.026v-1.748c-.37.582-.888 1.051-1.556 1.406s-1.442.533-2.323.533a5.07 5.07 0 0 1-2.727-.767c-.824-.512-1.474-1.233-1.95-2.163-.476-.93-.714-2-.714-3.207Zm9.292.042c0-.724-.142-1.346-.426-1.864a3.005 3.005 0 0 0-1.151-1.194 3.076 3.076 0 0 0-1.556-.415 3.02 3.02 0 0 0-1.534.405c-.469.27-.849.664-1.14 1.182-.291.519-.437 1.133-.437 1.844 0 .71.146 1.331.437 1.864.291.533.675.941 1.15 1.226a2.93 2.93 0 0 0 1.524.426c.554 0 1.073-.139 1.556-.416a3.005 3.005 0 0 0 1.15-1.193c.285-.519.427-1.14.427-1.865Zm7.438-7.31c-.527 0-.963-.166-1.311-.5a1.657 1.657 0 0 1-.523-1.247c0-.497.174-.912.523-1.246.348-.334.784-.5 1.31-.5s.963.166 1.31.5c.349.334.523.75.523 1.246 0 .498-.174.913-.522 1.247-.348.334-.785.5-1.31.5Zm1.47 1.407v11.806h-2.984V8.477h2.984Zm6.414 2.451v5.711c0 .398.096.686.287.863.192.178.515.267.97.267h1.385v2.514h-1.875c-2.515 0-3.772-1.222-3.772-3.665v-5.69h-1.406v-2.45h1.406v-2.92h3.005v2.92h2.642v2.45h-2.642Zm10.036 9.547c-1.136 0-2.159-.252-3.068-.757a5.447 5.447 0 0 1-2.141-2.141c-.519-.924-.778-1.99-.778-3.197s.266-2.273.799-3.196a5.553 5.553 0 0 1 2.184-2.142c.924-.504 1.954-.756 3.09-.756 1.137 0 2.167.252 3.09.756a5.553 5.553 0 0 1 2.184 2.142c.533.923.8 1.989.8 3.196 0 1.208-.274 2.273-.821 3.197a5.681 5.681 0 0 1-2.216 2.141c-.93.505-1.971.757-3.122.757Zm0-2.6a3.1 3.1 0 0 0 1.524-.394c.476-.263.856-.657 1.14-1.183.285-.526.427-1.165.427-1.918 0-1.122-.295-1.985-.885-2.589a2.907 2.907 0 0 0-2.163-.906c-.852 0-1.566.302-2.141.906-.576.604-.863 1.467-.863 2.59 0 1.122.28 1.985.841 2.588.562.604 1.268.906 2.12.906Zm11.338-7.565a4.194 4.194 0 0 1 1.502-1.47c.618-.356 1.325-.533 2.12-.533v3.132h-.788c-.938 0-1.644.22-2.12.661-.476.44-.714 1.208-.714 2.302v5.881h-2.984V8.477h2.984v1.833Z",
1252
1215
  fill: "#000"
1253
1216
  }
1254
1217
  ),
1255
- /* @__PURE__ */ jsx36("path", { fill: "#E94581", className: "me-logo-1", d: "M0 13.343 13.343 0l13.343 13.343-13.343 13.343z" }),
1256
- /* @__PURE__ */ jsx36("path", { fill: "#E94581", className: "me-logo-2", d: "M12.137 13.346 25.48.003l13.343 13.343L25.48 26.69z" }),
1257
- /* @__PURE__ */ jsx36("path", { fill: "#C63E75", className: "me-logo-3", d: "m12.104 13.348 7.311-7.311 7.312 7.311-7.312 7.312z" })
1218
+ /* @__PURE__ */ jsx37("path", { fill: "#E94581", className: "me-logo-1", d: "M0 13.343 13.343 0l13.343 13.343-13.343 13.343z" }),
1219
+ /* @__PURE__ */ jsx37("path", { fill: "#E94581", className: "me-logo-2", d: "M12.137 13.346 25.48.003l13.343 13.343L25.48 26.69z" }),
1220
+ /* @__PURE__ */ jsx37("path", { fill: "#C63E75", className: "me-logo-3", d: "m12.104 13.348 7.311-7.311 7.312 7.311-7.312 7.312z" })
1258
1221
  ] })
1259
1222
  }
1260
1223
  );
@@ -1262,9 +1225,9 @@ function ManifestEditorLogo(props) {
1262
1225
 
1263
1226
  // src/Forms.tsx
1264
1227
  import { Input, Label, Form as RAForm, Radio, RadioGroup, TextArea } from "react-aria-components";
1265
- import { jsx as jsx37 } from "react/jsx-runtime";
1228
+ import { jsx as jsx38 } from "react/jsx-runtime";
1266
1229
  function MeLabel({ className: className2, ...props }) {
1267
- return /* @__PURE__ */ jsx37(
1230
+ return /* @__PURE__ */ jsx38(
1268
1231
  Label,
1269
1232
  {
1270
1233
  className: cn(
@@ -1277,7 +1240,7 @@ function MeLabel({ className: className2, ...props }) {
1277
1240
  );
1278
1241
  }
1279
1242
  function MeRadioGroup({ className: className2, ...props }) {
1280
- return /* @__PURE__ */ jsx37(
1243
+ return /* @__PURE__ */ jsx38(
1281
1244
  RadioGroup,
1282
1245
  {
1283
1246
  className: cn(
@@ -1290,7 +1253,7 @@ function MeRadioGroup({ className: className2, ...props }) {
1290
1253
  );
1291
1254
  }
1292
1255
  function MeRadio({ className: className2, ...props }) {
1293
- return /* @__PURE__ */ jsx37(
1256
+ return /* @__PURE__ */ jsx38(
1294
1257
  Radio,
1295
1258
  {
1296
1259
  className: (state) => cn(
@@ -1303,7 +1266,7 @@ function MeRadio({ className: className2, ...props }) {
1303
1266
  );
1304
1267
  }
1305
1268
  function MeForm({ className: className2, ...props }) {
1306
- return /* @__PURE__ */ jsx37(
1269
+ return /* @__PURE__ */ jsx38(
1307
1270
  RAForm,
1308
1271
  {
1309
1272
  className: cn(
@@ -1316,7 +1279,7 @@ function MeForm({ className: className2, ...props }) {
1316
1279
  );
1317
1280
  }
1318
1281
  function MeInput({ className: className2, ...props }) {
1319
- return /* @__PURE__ */ jsx37(
1282
+ return /* @__PURE__ */ jsx38(
1320
1283
  Input,
1321
1284
  {
1322
1285
  className: cn(
@@ -1330,7 +1293,7 @@ function MeInput({ className: className2, ...props }) {
1330
1293
  );
1331
1294
  }
1332
1295
  function MeTextArea({ className: className2, ...props }) {
1333
- return /* @__PURE__ */ jsx37(
1296
+ return /* @__PURE__ */ jsx38(
1334
1297
  TextArea,
1335
1298
  {
1336
1299
  className: cn(
@@ -1348,7 +1311,7 @@ function MeInputContainer({
1348
1311
  className: className2,
1349
1312
  ...props
1350
1313
  }) {
1351
- return /* @__PURE__ */ jsx37(
1314
+ return /* @__PURE__ */ jsx38(
1352
1315
  "div",
1353
1316
  {
1354
1317
  className: cn(
@@ -1398,12 +1361,12 @@ import {
1398
1361
  toolbarPlugin
1399
1362
  } from "@mdxeditor/editor";
1400
1363
  import { useMemo as useMemo3 } from "react";
1401
- import { Fragment as Fragment4, jsx as jsx38, jsxs as jsxs26 } from "react/jsx-runtime";
1364
+ import { Fragment as Fragment4, jsx as jsx39, jsxs as jsxs26 } from "react/jsx-runtime";
1402
1365
  function MDXEditor({
1403
1366
  editorRef,
1404
1367
  ...props
1405
1368
  }) {
1406
- return /* @__PURE__ */ jsx38(
1369
+ return /* @__PURE__ */ jsx39(
1407
1370
  BaseMDXEditor,
1408
1371
  {
1409
1372
  plugins: useMemo3(
@@ -1421,12 +1384,12 @@ function MDXEditor({
1421
1384
  toolbarClassName: "mdx-toolbar",
1422
1385
  toolbarContents: () => /* @__PURE__ */ jsxs26(Fragment4, { children: [
1423
1386
  " ",
1424
- /* @__PURE__ */ jsx38(UndoRedo, {}),
1425
- /* @__PURE__ */ jsx38(BoldItalicUnderlineToggles, {}),
1426
- /* @__PURE__ */ jsx38(BlockTypeSelect, {}),
1427
- /* @__PURE__ */ jsx38(ListsToggle, { options: ["bullet", "number"] }),
1428
- /* @__PURE__ */ jsx38(CreateLink, {}),
1429
- /* @__PURE__ */ jsx38(InsertImage, {})
1387
+ /* @__PURE__ */ jsx39(UndoRedo, {}),
1388
+ /* @__PURE__ */ jsx39(BoldItalicUnderlineToggles, {}),
1389
+ /* @__PURE__ */ jsx39(BlockTypeSelect, {}),
1390
+ /* @__PURE__ */ jsx39(ListsToggle, { options: ["bullet", "number"] }),
1391
+ /* @__PURE__ */ jsx39(CreateLink, {}),
1392
+ /* @__PURE__ */ jsx39(InsertImage, {})
1430
1393
  ] })
1431
1394
  })
1432
1395
  ],
@@ -1439,7 +1402,7 @@ function MDXEditor({
1439
1402
  }
1440
1403
 
1441
1404
  // src/HTMLEditor.tsx
1442
- import { jsx as jsx39 } from "react/jsx-runtime";
1405
+ import { jsx as jsx40 } from "react/jsx-runtime";
1443
1406
  var converter = new Converter();
1444
1407
  converter.setFlavor("github");
1445
1408
  var turndownService = new TurndownService();
@@ -1467,7 +1430,7 @@ function HTMLEditor({
1467
1430
  }
1468
1431
  };
1469
1432
  }, []);
1470
- return /* @__PURE__ */ jsx39(
1433
+ return /* @__PURE__ */ jsx40(
1471
1434
  MDXEditor,
1472
1435
  {
1473
1436
  editorRef,
@@ -1493,7 +1456,7 @@ function HTMLEditor({
1493
1456
 
1494
1457
  // src/IconButton.tsx
1495
1458
  import { twMerge as twMerge7 } from "tailwind-merge";
1496
- import { jsx as jsx40, jsxs as jsxs27 } from "react/jsx-runtime";
1459
+ import { jsx as jsx41, jsxs as jsxs27 } from "react/jsx-runtime";
1497
1460
  function IconButton({
1498
1461
  children,
1499
1462
  active,
@@ -1504,9 +1467,10 @@ function IconButton({
1504
1467
  className: className2,
1505
1468
  placement = "top"
1506
1469
  }) {
1507
- return /* @__PURE__ */ jsx40(Tooltip, { placement, children: /* @__PURE__ */ jsxs27(
1470
+ return /* @__PURE__ */ jsx41(Tooltip, { placement, children: /* @__PURE__ */ jsxs27(
1508
1471
  TooltipTrigger,
1509
1472
  {
1473
+ "aria-label": label,
1510
1474
  onClick: onPress,
1511
1475
  className: twMerge7(
1512
1476
  "rounded flex items-center bg-white justify-center p-2 hover:bg-gray-100 text-2xl",
@@ -1516,14 +1480,14 @@ function IconButton({
1516
1480
  ),
1517
1481
  children: [
1518
1482
  children,
1519
- /* @__PURE__ */ jsx40(DefaultTooltipContent, { root, className: "translate-x-3 z-50", children: label })
1483
+ /* @__PURE__ */ jsx41(DefaultTooltipContent, { root, className: "translate-x-3 z-50", children: label })
1520
1484
  ]
1521
1485
  }
1522
1486
  ) });
1523
1487
  }
1524
1488
 
1525
1489
  // src/ItemWithHandle.tsx
1526
- import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
1490
+ import { jsx as jsx42, jsxs as jsxs28 } from "react/jsx-runtime";
1527
1491
  function ItemWithHandle({
1528
1492
  children,
1529
1493
  handle,
@@ -1535,7 +1499,7 @@ function ItemWithHandle({
1535
1499
  "absolute flex p-1 gap-1 bg-white z-1 right-1 top-1 rounded"
1536
1500
  ) : "flex-shrink-0 flex items-center gap-1 px-1";
1537
1501
  return /* @__PURE__ */ jsxs28("div", { className: grid ? "relative flex flex-col" : "flex items-center", children: [
1538
- /* @__PURE__ */ jsx41("div", { className: "flex-1 min-w-0", style: { flex: 1, minWidth: 0 }, children }),
1502
+ /* @__PURE__ */ jsx42("div", { className: "flex-1 min-w-0", style: { flex: 1, minWidth: 0 }, children }),
1539
1503
  /* @__PURE__ */ jsxs28("div", { className: gridStyleClassName, children: [
1540
1504
  actions,
1541
1505
  handle
@@ -1545,9 +1509,9 @@ function ItemWithHandle({
1545
1509
 
1546
1510
  // src/HandleContainer.tsx
1547
1511
  import { forwardRef as forwardRef2 } from "react";
1548
- import { jsx as jsx42 } from "react/jsx-runtime";
1512
+ import { jsx as jsx43 } from "react/jsx-runtime";
1549
1513
  var HandleContainer = forwardRef2(function HandleContainer2({ className: className2, ...props }, ref) {
1550
- return /* @__PURE__ */ jsx42(
1514
+ return /* @__PURE__ */ jsx43(
1551
1515
  "div",
1552
1516
  {
1553
1517
  ref,
@@ -1558,13 +1522,12 @@ var HandleContainer = forwardRef2(function HandleContainer2({ className: classNa
1558
1522
  });
1559
1523
 
1560
1524
  // src/CollectionListItem.tsx
1561
- import { Button as Button6 } from "react-aria-components";
1562
1525
  import { LocaleString as LocaleString3, useCollection } from "react-iiif-vault";
1563
1526
 
1564
1527
  // src/icons/CollectionIcon.tsx
1565
- import { jsx as jsx43 } from "react/jsx-runtime";
1528
+ import { jsx as jsx44 } from "react/jsx-runtime";
1566
1529
  function CollectionIcon(props) {
1567
- return /* @__PURE__ */ jsx43(
1530
+ return /* @__PURE__ */ jsx44(
1568
1531
  "svg",
1569
1532
  {
1570
1533
  xmlns: "http://www.w3.org/2000/svg",
@@ -1574,7 +1537,7 @@ function CollectionIcon(props) {
1574
1537
  "aria-label": "collection",
1575
1538
  role: "img",
1576
1539
  ...props,
1577
- children: /* @__PURE__ */ jsx43(
1540
+ children: /* @__PURE__ */ jsx44(
1578
1541
  "path",
1579
1542
  {
1580
1543
  d: "M320-320h480v-480h-80v280l-100-60-100 60v-280H320v480Zm0 80q-33 0-56.5-23.5T240-320v-480q0-33 23.5-56.5T320-880h480q33 0 56.5 23.5T880-800v480q0 33-23.5 56.5T800-240H320ZM160-80q-33 0-56.5-23.5T80-160v-560h80v560h560v80H160Zm360-720h200-200Zm-200 0h480-480Z",
@@ -1586,37 +1549,42 @@ function CollectionIcon(props) {
1586
1549
  }
1587
1550
 
1588
1551
  // src/CollectionListItem.tsx
1589
- import { jsx as jsx44, jsxs as jsxs29 } from "react/jsx-runtime";
1552
+ import { usePress } from "react-aria";
1553
+ import { getValue } from "@iiif/helpers/i18n";
1554
+ import { jsx as jsx45, jsxs as jsxs29 } from "react/jsx-runtime";
1590
1555
  function CollectionListItem({ isActive, onAction }) {
1591
1556
  const collection = useCollection({});
1557
+ const { pressProps } = usePress({
1558
+ onPress: onAction
1559
+ });
1592
1560
  return /* @__PURE__ */ jsxs29(
1593
- Button6,
1561
+ "li",
1594
1562
  {
1563
+ "aria-label": getValue(collection?.label),
1595
1564
  className: "border-b-2 border-b-gray-200 flex p-2 gap-3 text-left truncate items-center w-full hover:bg-gray-100 data-[active]:bg-gray-200 data-[active]:border-b-me-primary-500",
1596
- onPress: onAction,
1597
1565
  "data-active": isActive || void 0,
1566
+ ...pressProps,
1598
1567
  children: [
1599
- /* @__PURE__ */ jsx44(
1568
+ /* @__PURE__ */ jsx45(
1600
1569
  CollectionIcon,
1601
1570
  {
1602
1571
  "data-active": isActive || void 0,
1603
1572
  className: "flex-shrink-0 text-2xl data-[active]:text-me-primary-500 text-gray-400"
1604
1573
  }
1605
1574
  ),
1606
- /* @__PURE__ */ jsx44(LocaleString3, { children: collection?.label })
1575
+ /* @__PURE__ */ jsx45(LocaleString3, { children: collection?.label })
1607
1576
  ]
1608
1577
  }
1609
1578
  );
1610
1579
  }
1611
1580
 
1612
1581
  // src/ManifestListItem.tsx
1613
- import { Button as Button7 } from "react-aria-components";
1614
1582
  import { LocaleString as LocaleString4, useManifest } from "react-iiif-vault";
1615
1583
 
1616
1584
  // src/icons/ManifestIcon.tsx
1617
- import { jsx as jsx45 } from "react/jsx-runtime";
1585
+ import { jsx as jsx46 } from "react/jsx-runtime";
1618
1586
  function ManifestIcon(props) {
1619
- return /* @__PURE__ */ jsx45(
1587
+ return /* @__PURE__ */ jsx46(
1620
1588
  "svg",
1621
1589
  {
1622
1590
  xmlns: "http://www.w3.org/2000/svg",
@@ -1626,7 +1594,7 @@ function ManifestIcon(props) {
1626
1594
  "aria-label": "manifest",
1627
1595
  role: "img",
1628
1596
  ...props,
1629
- children: /* @__PURE__ */ jsx45(
1597
+ children: /* @__PURE__ */ jsx46(
1630
1598
  "path",
1631
1599
  {
1632
1600
  d: "M480-160q-48-38-104-59t-116-21q-42 0-82.5 11T100-198q-21 11-40.5-1T40-234v-482q0-11 5.5-21T62-752q46-24 96-36t102-12q58 0 113.5 15T480-740v484q51-32 107-48t113-16q36 0 70.5 6t69.5 18v-480q15 5 29.5 10.5T898-752q11 5 16.5 15t5.5 21v482q0 23-19.5 35t-40.5 1q-37-20-77.5-31T700-240q-60 0-116 21t-104 59Zm80-200v-380l200-200v400L560-360Zm-160 65v-396q-33-14-68.5-21.5T260-720q-37 0-72 7t-68 21v397q35-13 69.5-19t70.5-6q36 0 70.5 6t69.5 19Zm0 0v-396 396Z",
@@ -1638,35 +1606,41 @@ function ManifestIcon(props) {
1638
1606
  }
1639
1607
 
1640
1608
  // src/ManifestListItem.tsx
1641
- import { jsx as jsx46, jsxs as jsxs30 } from "react/jsx-runtime";
1609
+ import { usePress as usePress2 } from "react-aria";
1610
+ import { getValue as getValue2 } from "@iiif/helpers";
1611
+ import { jsx as jsx47, jsxs as jsxs30 } from "react/jsx-runtime";
1642
1612
  function ManifestListItem({ isActive, onAction }) {
1643
1613
  const manifest = useManifest();
1614
+ const { pressProps } = usePress2({
1615
+ onPress: onAction
1616
+ });
1644
1617
  return /* @__PURE__ */ jsxs30(
1645
- Button7,
1618
+ "li",
1646
1619
  {
1620
+ "aria-label": getValue2(manifest?.label),
1647
1621
  className: "border-b-2 border-b-gray-200 flex p-2 gap-3 text-left truncate items-center w-full hover:bg-gray-100 data-[active]:bg-gray-200 data-[active]:border-b-me-primary-500",
1648
- onPress: onAction,
1649
1622
  "data-active": isActive || void 0,
1623
+ ...pressProps,
1650
1624
  children: [
1651
- /* @__PURE__ */ jsx46(
1625
+ /* @__PURE__ */ jsx47(
1652
1626
  ManifestIcon,
1653
1627
  {
1654
1628
  "data-active": isActive || void 0,
1655
1629
  className: "flex-shrink-0 text-2xl data-[active]:text-me-primary-500 text-gray-400"
1656
1630
  }
1657
1631
  ),
1658
- /* @__PURE__ */ jsx46(LocaleString4, { children: manifest?.label })
1632
+ /* @__PURE__ */ jsx47(LocaleString4, { children: manifest?.label })
1659
1633
  ]
1660
1634
  }
1661
1635
  );
1662
1636
  }
1663
1637
 
1664
1638
  // src/icons/CreateCanvasIcon.tsx
1665
- import { jsx as jsx47, jsxs as jsxs31 } from "react/jsx-runtime";
1639
+ import { jsx as jsx48, jsxs as jsxs31 } from "react/jsx-runtime";
1666
1640
  function CreateCanvasIcon() {
1667
1641
  return /* @__PURE__ */ jsxs31("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24", viewBox: "0 0 24 24", width: "24", children: [
1668
- /* @__PURE__ */ jsx47("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
1669
- /* @__PURE__ */ jsx47(
1642
+ /* @__PURE__ */ jsx48("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
1643
+ /* @__PURE__ */ jsx48(
1670
1644
  "path",
1671
1645
  {
1672
1646
  d: "M13 11h-2v3H8v2h3v3h2v-3h3v-2h-3zm1-9H6c-1.1 0-2 .9-2 2v16c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8l-6-6zm4 18H6V4h7v5h5v11z",
@@ -1677,8 +1651,8 @@ function CreateCanvasIcon() {
1677
1651
  }
1678
1652
 
1679
1653
  // src/icons/AddImageIcon.tsx
1680
- import { jsx as jsx48 } from "react/jsx-runtime";
1681
- var AddImageIcon = (props) => /* @__PURE__ */ jsx48("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx48(
1654
+ import { jsx as jsx49 } from "react/jsx-runtime";
1655
+ var AddImageIcon = (props) => /* @__PURE__ */ jsx49("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx49(
1682
1656
  "path",
1683
1657
  {
1684
1658
  d: "M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h360v80H200v560h560v-360h80v360q0 33-23.5 56.5T760-120H200Zm480-480v-80h-80v-80h80v-80h80v80h80v80h-80v80h-80ZM240-280h480L570-480 450-320l-90-120-120 160Zm-40-480v560-560Z",
@@ -1687,7 +1661,7 @@ var AddImageIcon = (props) => /* @__PURE__ */ jsx48("svg", { xmlns: "http://www.
1687
1661
  ) });
1688
1662
 
1689
1663
  // src/icons/IIIFLogo.tsx
1690
- import { jsx as jsx49, jsxs as jsxs32 } from "react/jsx-runtime";
1664
+ import { jsx as jsx50, jsxs as jsxs32 } from "react/jsx-runtime";
1691
1665
  var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ jsxs32(
1692
1666
  "svg",
1693
1667
  {
@@ -1698,7 +1672,7 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ jsxs32(
1698
1672
  ...props,
1699
1673
  viewBox: "0 0 493.36 441.333",
1700
1674
  children: [
1701
- /* @__PURE__ */ jsx49(
1675
+ /* @__PURE__ */ jsx50(
1702
1676
  "path",
1703
1677
  {
1704
1678
  d: "m65.242 2178.75 710-263.75-1.25-1900-708.75 261.25v1902.5m738.903 461.34c81.441-240.91-26.473-436.2-241.04-436.2-214.558 0-454.511 195.29-535.953 436.2-81.433 240.89 26.48 436.18 241.039 436.18 214.567 0 454.512-195.29 535.954-436.18",
@@ -1711,7 +1685,7 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ jsxs32(
1711
1685
  transform: "matrix(.13333 0 0 -.13333 0 441.333)"
1712
1686
  }
1713
1687
  ),
1714
- /* @__PURE__ */ jsx49(
1688
+ /* @__PURE__ */ jsx50(
1715
1689
  "path",
1716
1690
  {
1717
1691
  d: "M1678.58 2178.75 968.578 1915l1.25-1900 708.752 261.25v1902.5m-743.498 461.34c-81.437-240.91 26.477-436.2 241.038-436.2 214.56 0 454.51 195.29 535.96 436.2 81.43 240.89-26.48 436.18-241.04 436.18-214.57 0-454.52-195.29-535.958-436.18",
@@ -1724,7 +1698,7 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ jsxs32(
1724
1698
  transform: "matrix(.13333 0 0 -.13333 0 441.333)"
1725
1699
  }
1726
1700
  ),
1727
- /* @__PURE__ */ jsx49(
1701
+ /* @__PURE__ */ jsx50(
1728
1702
  "path",
1729
1703
  {
1730
1704
  d: "m1860.24 2178.75 710-263.75-1.25-1900-708.75 261.25v1902.5m743.5 461.34c81.45-240.91-26.47-436.2-241.03-436.2-214.58 0-454.52 195.29-535.96 436.2-81.44 240.89 26.48 436.18 241.03 436.18 214.57 0 454.51-195.29 535.96-436.18",
@@ -1737,7 +1711,7 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ jsxs32(
1737
1711
  transform: "matrix(.13333 0 0 -.13333 0 441.333)"
1738
1712
  }
1739
1713
  ),
1740
- /* @__PURE__ */ jsx49(
1714
+ /* @__PURE__ */ jsx50(
1741
1715
  "path",
1742
1716
  {
1743
1717
  d: "M3700.24 3310v-652.5s-230 90-257.5-142.5c-2.5-247.5 0-336.25 0-336.25l257.5 83.75V1690l-258.61-92.5v-1335L2735.24 0v2360s-15 850 965 950",
@@ -1755,8 +1729,8 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ jsxs32(
1755
1729
  );
1756
1730
 
1757
1731
  // src/icons/HTMLIcon.tsx
1758
- import { jsx as jsx50 } from "react/jsx-runtime";
1759
- var HTMLIcon = (props) => /* @__PURE__ */ jsx50("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx50(
1732
+ import { jsx as jsx51 } from "react/jsx-runtime";
1733
+ var HTMLIcon = (props) => /* @__PURE__ */ jsx51("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx51(
1760
1734
  "path",
1761
1735
  {
1762
1736
  d: "M0-360v-240h60v80h80v-80h60v240h-60v-100H60v100H0Zm310 0v-180h-70v-60h200v60h-70v180h-60Zm170 0v-200q0-17 11.5-28.5T520-600h180q17 0 28.5 11.5T740-560v200h-60v-180h-40v140h-60v-140h-40v180h-60Zm320 0v-240h60v180h100v60H800Z",
@@ -1765,8 +1739,8 @@ var HTMLIcon = (props) => /* @__PURE__ */ jsx50("svg", { xmlns: "http://www.w3.o
1765
1739
  ) });
1766
1740
 
1767
1741
  // src/icons/IIIFBrowserIcon.tsx
1768
- import { jsx as jsx51 } from "react/jsx-runtime";
1769
- var IIIFBrowserIcon = (props) => /* @__PURE__ */ jsx51("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx51(
1742
+ import { jsx as jsx52 } from "react/jsx-runtime";
1743
+ var IIIFBrowserIcon = (props) => /* @__PURE__ */ jsx52("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx52(
1770
1744
  "path",
1771
1745
  {
1772
1746
  d: "M200-120q-33 0-56.5-23.5T120-200v-560q0-33 23.5-56.5T200-840h200v80H200v560h560v-214l80 80v134q0 33-23.5 56.5T760-120H200Zm40-160 120-160 90 120 120-160 150 200H240Zm622-144L738-548q-21 14-45 21t-51 7q-74 0-126-52.5T464-700q0-75 52.5-127.5T644-880q75 0 127.5 52.5T824-700q0 27-8 52t-20 46l122 122-56 56ZM644-600q42 0 71-29t29-71q0-42-29-71t-71-29q-42 0-71 29t-29 71q0 42 29 71t71 29Z",
@@ -1775,12 +1749,12 @@ var IIIFBrowserIcon = (props) => /* @__PURE__ */ jsx51("svg", { xmlns: "http://w
1775
1749
  ) });
1776
1750
 
1777
1751
  // src/icons/InfoIcon.tsx
1778
- import { jsx as jsx52, jsxs as jsxs33 } from "react/jsx-runtime";
1752
+ import { jsx as jsx53, jsxs as jsxs33 } from "react/jsx-runtime";
1779
1753
  function InfoIcon({ title, titleId, ...props }) {
1780
1754
  return /* @__PURE__ */ jsxs33("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", "aria-labelledby": titleId, ...props, children: [
1781
- title ? /* @__PURE__ */ jsx52("title", { id: titleId, children: title }) : null,
1782
- /* @__PURE__ */ jsx52("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
1783
- /* @__PURE__ */ jsx52(
1755
+ title ? /* @__PURE__ */ jsx53("title", { id: titleId, children: title }) : null,
1756
+ /* @__PURE__ */ jsx53("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
1757
+ /* @__PURE__ */ jsx53(
1784
1758
  "path",
1785
1759
  {
1786
1760
  d: "M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z",
@@ -1791,7 +1765,7 @@ function InfoIcon({ title, titleId, ...props }) {
1791
1765
  }
1792
1766
 
1793
1767
  // src/icons/ListingIcon.tsx
1794
- import { jsx as jsx53, jsxs as jsxs34 } from "react/jsx-runtime";
1768
+ import { jsx as jsx54, jsxs as jsxs34 } from "react/jsx-runtime";
1795
1769
  function ListingIcon({
1796
1770
  title,
1797
1771
  titleId,
@@ -1807,12 +1781,12 @@ function ListingIcon({
1807
1781
  "aria-labelledby": titleId,
1808
1782
  ...props,
1809
1783
  children: [
1810
- title ? /* @__PURE__ */ jsx53("title", { id: titleId, children: title }) : null,
1784
+ title ? /* @__PURE__ */ jsx54("title", { id: titleId, children: title }) : null,
1811
1785
  /* @__PURE__ */ jsxs34("g", { fill: "none", children: [
1812
- /* @__PURE__ */ jsx53("path", { d: "M0 0h24v24H0V0z" }),
1813
- /* @__PURE__ */ jsx53("path", { d: "M0 0h24v24H0V0z", opacity: ".87" })
1786
+ /* @__PURE__ */ jsx54("path", { d: "M0 0h24v24H0V0z" }),
1787
+ /* @__PURE__ */ jsx54("path", { d: "M0 0h24v24H0V0z", opacity: ".87" })
1814
1788
  ] }),
1815
- /* @__PURE__ */ jsx53(
1789
+ /* @__PURE__ */ jsx54(
1816
1790
  "path",
1817
1791
  {
1818
1792
  d: "M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7zm-4 6h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z",
@@ -1825,8 +1799,8 @@ function ListingIcon({
1825
1799
  }
1826
1800
 
1827
1801
  // src/icons/YouTubeIcon.tsx
1828
- import { jsx as jsx54 } from "react/jsx-runtime";
1829
- var YouTubeIcon = (props) => /* @__PURE__ */ jsx54("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx54(
1802
+ import { jsx as jsx55 } from "react/jsx-runtime";
1803
+ var YouTubeIcon = (props) => /* @__PURE__ */ jsx55("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx55(
1830
1804
  "path",
1831
1805
  {
1832
1806
  d: "M616-242q-27 1-51.5 1.5t-43.5.5h-41q-71 0-133-2-53-2-104.5-5.5T168-257q-26-7-45-26t-26-45q-6-23-9.5-56T82-447q-2-36-2-73t2-73q2-30 5.5-63t9.5-56q7-26 26-45t45-26q23-6 74.5-9.5T347-798q62-2 133-2t133 2q53 2 104.5 5.5T792-783q26 7 45 26t26 45q6 23 9.5 56t5.5 63q2 36 2 73v17q-19-8-39-12.5t-41-4.5q-83 0-141.5 58.5T600-320q0 21 4 40.5t12 37.5ZM400-400l208-120-208-120v240Zm360 200v-80h-80v-80h80v-80h80v80h80v80h-80v80h-80Z",
@@ -1835,7 +1809,7 @@ var YouTubeIcon = (props) => /* @__PURE__ */ jsx54("svg", { xmlns: "http://www.w
1835
1809
  ) });
1836
1810
 
1837
1811
  // src/icons/ListEditIcon.tsx
1838
- import { jsx as jsx55, jsxs as jsxs35 } from "react/jsx-runtime";
1812
+ import { jsx as jsx56, jsxs as jsxs35 } from "react/jsx-runtime";
1839
1813
  function ListEditIcon({
1840
1814
  title,
1841
1815
  titleId,
@@ -1851,17 +1825,17 @@ function ListEditIcon({
1851
1825
  "aria-labelledby": titleId,
1852
1826
  ...props,
1853
1827
  children: [
1854
- title ? /* @__PURE__ */ jsx55("title", { id: titleId, children: title }) : null,
1855
- /* @__PURE__ */ jsx55("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
1856
- /* @__PURE__ */ jsx55("path", { d: "M14.06 9.02l.92.92L5.92 19H5v-.92l9.06-9.06M17.66 3c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29zm-3.6 3.19L3 17.25V21h3.75L17.81 9.94l-3.75-3.75z" })
1828
+ title ? /* @__PURE__ */ jsx56("title", { id: titleId, children: title }) : null,
1829
+ /* @__PURE__ */ jsx56("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
1830
+ /* @__PURE__ */ jsx56("path", { d: "M14.06 9.02l.92.92L5.92 19H5v-.92l9.06-9.06M17.66 3c-.25 0-.51.1-.7.29l-1.83 1.83 3.75 3.75 1.83-1.83c.39-.39.39-1.02 0-1.41l-2.34-2.34c-.2-.2-.45-.29-.71-.29zm-3.6 3.19L3 17.25V21h3.75L17.81 9.94l-3.75-3.75z" })
1857
1831
  ]
1858
1832
  }
1859
1833
  );
1860
1834
  }
1861
1835
 
1862
1836
  // src/icons/VideoIcon.tsx
1863
- import { jsx as jsx56 } from "react/jsx-runtime";
1864
- var VideoIcon = (props) => /* @__PURE__ */ jsx56("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx56(
1837
+ import { jsx as jsx57 } from "react/jsx-runtime";
1838
+ var VideoIcon = (props) => /* @__PURE__ */ jsx57("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx57(
1865
1839
  "path",
1866
1840
  {
1867
1841
  d: "M160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h480q33 0 56.5 23.5T720-720v180l160-160v440L720-420v180q0 33-23.5 56.5T640-160H160Zm0-80h480v-480H160v480Zm0 0v-480 480Z",
@@ -1870,8 +1844,8 @@ var VideoIcon = (props) => /* @__PURE__ */ jsx56("svg", { xmlns: "http://www.w3.
1870
1844
  ) });
1871
1845
 
1872
1846
  // src/icons/AudioIcon.tsx
1873
- import { jsx as jsx57 } from "react/jsx-runtime";
1874
- var AudioIcon = (props) => /* @__PURE__ */ jsx57("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx57(
1847
+ import { jsx as jsx58 } from "react/jsx-runtime";
1848
+ var AudioIcon = (props) => /* @__PURE__ */ jsx58("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx58(
1875
1849
  "path",
1876
1850
  {
1877
1851
  d: "M480-400q-50 0-85-35t-35-85v-240q0-50 35-85t85-35q50 0 85 35t35 85v240q0 50-35 85t-85 35Zm0-240Zm-40 520v-123q-104-14-172-93t-68-184h80q0 83 58.5 141.5T480-320q83 0 141.5-58.5T680-520h80q0 105-68 184t-172 93v123h-80Zm40-360q17 0 28.5-11.5T520-520v-240q0-17-11.5-28.5T480-800q-17 0-28.5 11.5T440-760v240q0 17 11.5 28.5T480-480Z",
@@ -1880,8 +1854,8 @@ var AudioIcon = (props) => /* @__PURE__ */ jsx57("svg", { xmlns: "http://www.w3.
1880
1854
  ) });
1881
1855
 
1882
1856
  // src/icons/EmptyCanvasIcon.tsx
1883
- import { jsx as jsx58 } from "react/jsx-runtime";
1884
- var EmptyCanvasIcon = (props) => /* @__PURE__ */ jsx58("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx58(
1857
+ import { jsx as jsx59 } from "react/jsx-runtime";
1858
+ var EmptyCanvasIcon = (props) => /* @__PURE__ */ jsx59("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ jsx59(
1885
1859
  "path",
1886
1860
  {
1887
1861
  d: "M240-80q-33 0-56.5-23.5T160-160v-640q0-33 23.5-56.5T240-880h320l240 240v480q0 33-23.5 56.5T720-80H240Zm280-520v-200H240v640h480v-440H520ZM240-800v200-200 640-640Z",
@@ -1890,7 +1864,7 @@ var EmptyCanvasIcon = (props) => /* @__PURE__ */ jsx58("svg", { xmlns: "http://w
1890
1864
  ) });
1891
1865
 
1892
1866
  // src/icons/AddIcon.tsx
1893
- import { jsx as jsx59, jsxs as jsxs36 } from "react/jsx-runtime";
1867
+ import { jsx as jsx60, jsxs as jsxs36 } from "react/jsx-runtime";
1894
1868
  function AddIcon({
1895
1869
  className: className2,
1896
1870
  inline,
@@ -1908,15 +1882,15 @@ function AddIcon({
1908
1882
  style: { verticalAlign: inline ? "bottom" : void 0 },
1909
1883
  className: className2,
1910
1884
  children: [
1911
- /* @__PURE__ */ jsx59("path", { d: "M0 0h24v24H0z", fill: "none" }),
1912
- /* @__PURE__ */ jsx59("path", { d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z", fill: "currentColor" })
1885
+ /* @__PURE__ */ jsx60("path", { d: "M0 0h24v24H0z", fill: "none" }),
1886
+ /* @__PURE__ */ jsx60("path", { d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z", fill: "currentColor" })
1913
1887
  ]
1914
1888
  }
1915
1889
  );
1916
1890
  }
1917
1891
 
1918
1892
  // src/icons/MoreMenu.tsx
1919
- import { jsx as jsx60, jsxs as jsxs37 } from "react/jsx-runtime";
1893
+ import { jsx as jsx61, jsxs as jsxs37 } from "react/jsx-runtime";
1920
1894
  function MoreMenu2() {
1921
1895
  return /* @__PURE__ */ jsxs37(
1922
1896
  "svg",
@@ -1926,8 +1900,8 @@ function MoreMenu2() {
1926
1900
  viewBox: "0 0 24 24",
1927
1901
  width: "1em",
1928
1902
  children: [
1929
- /* @__PURE__ */ jsx60("path", { d: "M0 0h24v24H0z", fill: "none" }),
1930
- /* @__PURE__ */ jsx60(
1903
+ /* @__PURE__ */ jsx61("path", { d: "M0 0h24v24H0z", fill: "none" }),
1904
+ /* @__PURE__ */ jsx61(
1931
1905
  "path",
1932
1906
  {
1933
1907
  d: "M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z",
@@ -1940,9 +1914,9 @@ function MoreMenu2() {
1940
1914
  }
1941
1915
 
1942
1916
  // src/icons/PreviewIcon.tsx
1943
- import { jsx as jsx61 } from "react/jsx-runtime";
1917
+ import { jsx as jsx62 } from "react/jsx-runtime";
1944
1918
  function PreviewIcon(props) {
1945
- return /* @__PURE__ */ jsx61("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsx61(
1919
+ return /* @__PURE__ */ jsx62("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsx62(
1946
1920
  "path",
1947
1921
  {
1948
1922
  fill: "currentColor",
@@ -1952,9 +1926,9 @@ function PreviewIcon(props) {
1952
1926
  }
1953
1927
 
1954
1928
  // src/icons/ImageListIcon.tsx
1955
- import { jsx as jsx62 } from "react/jsx-runtime";
1929
+ import { jsx as jsx63 } from "react/jsx-runtime";
1956
1930
  function ImageListIcon(props) {
1957
- return /* @__PURE__ */ jsx62("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsx62(
1931
+ return /* @__PURE__ */ jsx63("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsx63(
1958
1932
  "path",
1959
1933
  {
1960
1934
  fill: "currentColor",
@@ -1964,16 +1938,16 @@ function ImageListIcon(props) {
1964
1938
  }
1965
1939
 
1966
1940
  // src/icons/BackIcon.tsx
1967
- import { jsx as jsx63 } from "react/jsx-runtime";
1941
+ import { jsx as jsx64 } from "react/jsx-runtime";
1968
1942
  function BackIcon(props) {
1969
- return /* @__PURE__ */ jsx63("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsx63("path", { fill: "currentColor", d: "M20 11H7.83l5.59-5.59L12 4l-8 8l8 8l1.41-1.41L7.83 13H20z" }) });
1943
+ return /* @__PURE__ */ jsx64("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsx64("path", { fill: "currentColor", d: "M20 11H7.83l5.59-5.59L12 4l-8 8l8 8l1.41-1.41L7.83 13H20z" }) });
1970
1944
  }
1971
1945
 
1972
1946
  // src/icons/GridIcon.tsx
1973
- import { jsx as jsx64, jsxs as jsxs38 } from "react/jsx-runtime";
1947
+ import { jsx as jsx65, jsxs as jsxs38 } from "react/jsx-runtime";
1974
1948
  function GridIcon(props) {
1975
1949
  return /* @__PURE__ */ jsxs38("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: [
1976
- /* @__PURE__ */ jsx64(
1950
+ /* @__PURE__ */ jsx65(
1977
1951
  "path",
1978
1952
  {
1979
1953
  fill: "currentColor",
@@ -1981,7 +1955,7 @@ function GridIcon(props) {
1981
1955
  opacity: ".3"
1982
1956
  }
1983
1957
  ),
1984
- /* @__PURE__ */ jsx64(
1958
+ /* @__PURE__ */ jsx65(
1985
1959
  "path",
1986
1960
  {
1987
1961
  fill: "currentColor",
@@ -1992,9 +1966,9 @@ function GridIcon(props) {
1992
1966
  }
1993
1967
 
1994
1968
  // src/icons/ScaledImageIcon.tsx
1995
- import { jsx as jsx65 } from "react/jsx-runtime";
1969
+ import { jsx as jsx66 } from "react/jsx-runtime";
1996
1970
  function ScaledImageIcon(props) {
1997
- return /* @__PURE__ */ jsx65("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsx65(
1971
+ return /* @__PURE__ */ jsx66("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ jsx66(
1998
1972
  "path",
1999
1973
  {
2000
1974
  fill: "currentColor",
@@ -2005,9 +1979,9 @@ function ScaledImageIcon(props) {
2005
1979
 
2006
1980
  // src/ErrorMessage.tsx
2007
1981
  import { twMerge as twMerge8 } from "tailwind-merge";
2008
- import { jsx as jsx66 } from "react/jsx-runtime";
1982
+ import { jsx as jsx67 } from "react/jsx-runtime";
2009
1983
  function ErrorMessage({ children, small = false, className: className2 }) {
2010
- return /* @__PURE__ */ jsx66(
1984
+ return /* @__PURE__ */ jsx67(
2011
1985
  "div",
2012
1986
  {
2013
1987
  className: twMerge8(
@@ -2044,11 +2018,11 @@ function useFastList(list, firstRender = 24) {
2044
2018
 
2045
2019
  // src/RenderTextualContent.tsx
2046
2020
  import { useState as useState6 } from "react";
2047
- import { Button as Button8 } from "react-aria-components";
2021
+ import { Button as Button7 } from "react-aria-components";
2048
2022
  import {
2049
2023
  LocaleString as LocaleString5
2050
2024
  } from "react-iiif-vault";
2051
- import { jsx as jsx67, jsxs as jsxs39 } from "react/jsx-runtime";
2025
+ import { jsx as jsx68, jsxs as jsxs39 } from "react/jsx-runtime";
2052
2026
  function RenderTextualContent(props) {
2053
2027
  const languages = props.strategy.items.map(
2054
2028
  (item) => Object.keys(item.text)[0]
@@ -2058,9 +2032,9 @@ function RenderTextualContent(props) {
2058
2032
  (item) => Object.keys(item.text)[0] === langauge
2059
2033
  );
2060
2034
  return /* @__PURE__ */ jsxs39("div", { className: "overflow-y-auto bg-white shadow", children: [
2061
- /* @__PURE__ */ jsx67("div", { className: "flex gap-2 border-b", children: languages.map((language) => {
2062
- return /* @__PURE__ */ jsx67(
2063
- Button8,
2035
+ /* @__PURE__ */ jsx68("div", { className: "flex gap-2 border-b", children: languages.map((language) => {
2036
+ return /* @__PURE__ */ jsx68(
2037
+ Button7,
2064
2038
  {
2065
2039
  className: `py-1 px-3 ${langauge === language ? "bg-me-500 text-white" : "bg-white text-black"}`,
2066
2040
  onPress: () => setLanguage(language),
@@ -2069,11 +2043,11 @@ function RenderTextualContent(props) {
2069
2043
  language
2070
2044
  );
2071
2045
  }) }),
2072
- /* @__PURE__ */ jsx67("div", { className: "p-4 prose", children: /* @__PURE__ */ jsx67(
2046
+ /* @__PURE__ */ jsx68("div", { className: "p-4 prose", children: /* @__PURE__ */ jsx68(
2073
2047
  LocaleString5,
2074
2048
  {
2075
2049
  enableDangerouslySetInnerHTML: true,
2076
- defaultText: /* @__PURE__ */ jsx67("span", { className: "text-gray-500 my-8", children: "No content available" }),
2050
+ defaultText: /* @__PURE__ */ jsx68("span", { className: "text-gray-500 my-8", children: "No content available" }),
2077
2051
  children: selected?.text
2078
2052
  }
2079
2053
  ) })
@@ -2087,15 +2061,15 @@ import "@vidstack/react/player/styles/default/captions.css";
2087
2061
  import "@vidstack/react/player/styles/default/layouts/video.css";
2088
2062
  import { MediaPlayer, MediaProvider, Poster, Gesture, Track } from "@vidstack/react";
2089
2063
  import { defaultLayoutIcons, DefaultVideoLayout } from "@vidstack/react/player/layouts/default";
2090
- import { getValue } from "@iiif/helpers";
2064
+ import { getValue as getValue3 } from "@iiif/helpers";
2091
2065
  import { useRef as useRef5 } from "react";
2092
- import { Fragment as Fragment5, jsx as jsx68, jsxs as jsxs40 } from "react/jsx-runtime";
2066
+ import { Fragment as Fragment5, jsx as jsx69, jsxs as jsxs40 } from "react/jsx-runtime";
2093
2067
  function IIIFMediaPlayer(props) {
2094
2068
  const mediaPlayer = useRef5(null);
2095
2069
  const captions = props.captions || [];
2096
2070
  const language = props.language;
2097
2071
  const timeRef = useRef5(props.startTime || 0);
2098
- return /* @__PURE__ */ jsx68(
2072
+ return /* @__PURE__ */ jsx69(
2099
2073
  MediaPlayer,
2100
2074
  {
2101
2075
  onTimeUpdate: (time) => {
@@ -2118,27 +2092,27 @@ function IIIFMediaPlayer(props) {
2118
2092
  ],
2119
2093
  children: /* @__PURE__ */ jsxs40(MediaProvider, { className: "w-full h-full [&>video]:w-full [&>video]:h-full [&>video]:object-contain", children: [
2120
2094
  captions.map((caption) => {
2121
- return /* @__PURE__ */ jsx68(
2095
+ return /* @__PURE__ */ jsx69(
2122
2096
  Track,
2123
2097
  {
2124
2098
  src: caption.id,
2125
2099
  kind: "subtitles",
2126
- label: getValue(caption.label),
2100
+ label: getValue3(caption.label),
2127
2101
  default: caption.language === language,
2128
2102
  language: caption.language
2129
2103
  },
2130
2104
  caption.id
2131
2105
  );
2132
2106
  }),
2133
- props.poster ? /* @__PURE__ */ jsx68(
2107
+ props.poster ? /* @__PURE__ */ jsx69(
2134
2108
  Poster,
2135
2109
  {
2136
2110
  className: "absolute inset-0 bg-black block h-full w-full opacity-0 transition-opacity data-[visible]:opacity-100 object-contain",
2137
2111
  src: props.poster
2138
2112
  }
2139
2113
  ) : null,
2140
- /* @__PURE__ */ jsx68(Gestures, {}),
2141
- /* @__PURE__ */ jsx68(
2114
+ /* @__PURE__ */ jsx69(Gestures, {}),
2115
+ /* @__PURE__ */ jsx69(
2142
2116
  DefaultVideoLayout,
2143
2117
  {
2144
2118
  className: "z-1",
@@ -2152,7 +2126,7 @@ function IIIFMediaPlayer(props) {
2152
2126
  }
2153
2127
  function Gestures() {
2154
2128
  return /* @__PURE__ */ jsxs40(Fragment5, { children: [
2155
- /* @__PURE__ */ jsx68(
2129
+ /* @__PURE__ */ jsx69(
2156
2130
  Gesture,
2157
2131
  {
2158
2132
  className: "pointer-coarse:hidden absolute top-0 start-12 bottom-20 right-0 -z-1 block",
@@ -2160,10 +2134,11 @@ function Gestures() {
2160
2134
  action: "toggle:paused"
2161
2135
  }
2162
2136
  ),
2163
- /* @__PURE__ */ jsx68(Gesture, { className: "absolute inset-0 z-0 block h-full w-full", event: "dblpointerup", action: "toggle:fullscreen" })
2137
+ /* @__PURE__ */ jsx69(Gesture, { className: "absolute inset-0 z-0 block h-full w-full", event: "dblpointerup", action: "toggle:fullscreen" })
2164
2138
  ] });
2165
2139
  }
2166
2140
  export {
2141
+ AccessibilityButton,
2167
2142
  ActionButton,
2168
2143
  AddIcon,
2169
2144
  AddImageIcon,