@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.cjs +383 -393
- package/dist/index.css +10 -0
- package/dist/index.d.cts +11 -2
- package/dist/index.d.ts +11 -2
- package/dist/index.js +322 -347
- package/package.json +2 -2
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
|
|
66
|
+
import { Button as Button3 } from "react-aria-components";
|
|
60
67
|
import { twMerge as twMerge3 } from "tailwind-merge";
|
|
61
|
-
import { jsx as
|
|
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__ */
|
|
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__ */
|
|
135
|
-
|
|
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__ */
|
|
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__ */
|
|
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
|
|
180
|
+
import { jsx as jsx4, jsxs } from "react/jsx-runtime";
|
|
174
181
|
function Sidebar({ children }) {
|
|
175
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
188
|
-
/* @__PURE__ */
|
|
189
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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
|
|
221
|
+
import { jsx as jsx5, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
215
222
|
function PanelSideMenuItem(props) {
|
|
216
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
241
|
+
import { jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
235
242
|
function PanelSideMenu(props) {
|
|
236
|
-
return /* @__PURE__ */
|
|
237
|
-
panel.divide ? /* @__PURE__ */
|
|
238
|
-
/* @__PURE__ */
|
|
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
|
|
259
|
+
import { jsx as jsx7 } from "react/jsx-runtime";
|
|
253
260
|
function ThumbnailGridContainer(props) {
|
|
254
261
|
if (props.wide) {
|
|
255
|
-
return /* @__PURE__ */
|
|
262
|
+
return /* @__PURE__ */ jsx7("div", { className: "grid grid-md gap-4 p-4 overflow-y-auto", children: props.children });
|
|
256
263
|
}
|
|
257
|
-
return /* @__PURE__ */
|
|
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
|
|
283
|
+
import { jsx as jsx8, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
277
284
|
function Spinner(props) {
|
|
278
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
289
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
318
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
380
|
-
!thumbnail?.id || isLoading ? /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
523
|
+
import { jsx as jsx13, jsxs as jsxs8 } from "react/jsx-runtime";
|
|
517
524
|
function CanvasThumbnailGridItem(props) {
|
|
518
|
-
return /* @__PURE__ */
|
|
519
|
-
/* @__PURE__ */
|
|
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__ */
|
|
535
|
+
children: /* @__PURE__ */ jsx13(LazyThumbnail, {})
|
|
529
536
|
}
|
|
530
537
|
) }),
|
|
531
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
547
|
-
/* @__PURE__ */
|
|
548
|
-
/* @__PURE__ */
|
|
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__ */
|
|
551
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
580
|
+
/* @__PURE__ */ jsx14("span", { className: "sr-only", children: "Close" })
|
|
574
581
|
] })
|
|
575
582
|
] }),
|
|
576
|
-
/* @__PURE__ */
|
|
577
|
-
actions ? /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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
|
|
610
|
+
import { jsx as jsx16 } from "react/jsx-runtime";
|
|
604
611
|
function OpaqueControls(props) {
|
|
605
|
-
return /* @__PURE__ */
|
|
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
|
|
628
|
+
import { jsx as jsx17 } from "react/jsx-runtime";
|
|
622
629
|
function Tabs({ className: className2, children, ...props }) {
|
|
623
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
694
|
+
import { jsx as jsx18, jsxs as jsxs10 } from "react/jsx-runtime";
|
|
688
695
|
function CreatorGrid(props) {
|
|
689
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
713
|
-
/* @__PURE__ */
|
|
714
|
-
/* @__PURE__ */
|
|
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
|
|
722
|
-
var DownloadIcon = (props) => /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
744
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
768
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
788
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
812
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
834
|
+
title ? /* @__PURE__ */ jsx24("title", { id: titleId, children: title }) : null,
|
|
828
835
|
/* @__PURE__ */ jsxs15("g", { fill: "none", fillRule: "evenodd", children: [
|
|
829
|
-
/* @__PURE__ */
|
|
830
|
-
/* @__PURE__ */
|
|
831
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
847
|
+
title ? /* @__PURE__ */ jsx25("title", { id: titleId, children: title }) : null,
|
|
841
848
|
/* @__PURE__ */ jsxs16("g", { fill: "none", fillRule: "evenodd", children: [
|
|
842
|
-
/* @__PURE__ */
|
|
843
|
-
/* @__PURE__ */
|
|
844
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
862
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
886
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
910
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
928
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
944
|
-
/* @__PURE__ */
|
|
945
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
961
|
-
PolygonIcon: /* @__PURE__ */
|
|
962
|
-
LineIcon: /* @__PURE__ */
|
|
963
|
-
LineBoxIcon: /* @__PURE__ */
|
|
964
|
-
ShapesIcon: /* @__PURE__ */
|
|
965
|
-
SquareIcon: /* @__PURE__ */
|
|
966
|
-
TriangleIcon: /* @__PURE__ */
|
|
967
|
-
HexagonIcon: /* @__PURE__ */
|
|
968
|
-
DeleteForeverIcon: /* @__PURE__ */
|
|
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__ */
|
|
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
|
|
994
|
-
import { jsx as
|
|
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__ */
|
|
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
|
|
1001
|
-
import { jsx as
|
|
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__ */
|
|
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__ */
|
|
1013
|
-
/* @__PURE__ */
|
|
1014
|
-
canCreate ? /* @__PURE__ */
|
|
1015
|
-
|
|
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
|
|
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__ */
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1115
|
-
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
1162
|
-
|
|
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__ */
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1182
|
-
|
|
1183
|
-
|
|
1184
|
-
|
|
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
|
|
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__ */
|
|
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
|
|
1183
|
+
import { jsx as jsx36 } from "react/jsx-runtime";
|
|
1221
1184
|
function EmptyState(props) {
|
|
1222
|
-
return /* @__PURE__ */
|
|
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
|
|
1199
|
+
import { jsx as jsx37, jsxs as jsxs25 } from "react/jsx-runtime";
|
|
1237
1200
|
function ManifestEditorLogo(props) {
|
|
1238
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
1256
|
-
/* @__PURE__ */
|
|
1257
|
-
/* @__PURE__ */
|
|
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
|
|
1228
|
+
import { jsx as jsx38 } from "react/jsx-runtime";
|
|
1266
1229
|
function MeLabel({ className: className2, ...props }) {
|
|
1267
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
1425
|
-
/* @__PURE__ */
|
|
1426
|
-
/* @__PURE__ */
|
|
1427
|
-
/* @__PURE__ */
|
|
1428
|
-
/* @__PURE__ */
|
|
1429
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
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
|
|
1512
|
+
import { jsx as jsx43 } from "react/jsx-runtime";
|
|
1549
1513
|
var HandleContainer = forwardRef2(function HandleContainer2({ className: className2, ...props }, ref) {
|
|
1550
|
-
return /* @__PURE__ */
|
|
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
|
|
1528
|
+
import { jsx as jsx44 } from "react/jsx-runtime";
|
|
1566
1529
|
function CollectionIcon(props) {
|
|
1567
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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 {
|
|
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
|
-
|
|
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__ */
|
|
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__ */
|
|
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
|
|
1585
|
+
import { jsx as jsx46 } from "react/jsx-runtime";
|
|
1618
1586
|
function ManifestIcon(props) {
|
|
1619
|
-
return /* @__PURE__ */
|
|
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__ */
|
|
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 {
|
|
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
|
-
|
|
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__ */
|
|
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__ */
|
|
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
|
|
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__ */
|
|
1669
|
-
/* @__PURE__ */
|
|
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
|
|
1681
|
-
var AddImageIcon = (props) => /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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__ */
|
|
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
|
|
1759
|
-
var HTMLIcon = (props) => /* @__PURE__ */
|
|
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
|
|
1769
|
-
var IIIFBrowserIcon = (props) => /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1782
|
-
/* @__PURE__ */
|
|
1783
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1784
|
+
title ? /* @__PURE__ */ jsx54("title", { id: titleId, children: title }) : null,
|
|
1811
1785
|
/* @__PURE__ */ jsxs34("g", { fill: "none", children: [
|
|
1812
|
-
/* @__PURE__ */
|
|
1813
|
-
/* @__PURE__ */
|
|
1786
|
+
/* @__PURE__ */ jsx54("path", { d: "M0 0h24v24H0V0z" }),
|
|
1787
|
+
/* @__PURE__ */ jsx54("path", { d: "M0 0h24v24H0V0z", opacity: ".87" })
|
|
1814
1788
|
] }),
|
|
1815
|
-
/* @__PURE__ */
|
|
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
|
|
1829
|
-
var YouTubeIcon = (props) => /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1855
|
-
/* @__PURE__ */
|
|
1856
|
-
/* @__PURE__ */
|
|
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
|
|
1864
|
-
var VideoIcon = (props) => /* @__PURE__ */
|
|
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
|
|
1874
|
-
var AudioIcon = (props) => /* @__PURE__ */
|
|
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
|
|
1884
|
-
var EmptyCanvasIcon = (props) => /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1912
|
-
/* @__PURE__ */
|
|
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
|
|
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__ */
|
|
1930
|
-
/* @__PURE__ */
|
|
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
|
|
1917
|
+
import { jsx as jsx62 } from "react/jsx-runtime";
|
|
1944
1918
|
function PreviewIcon(props) {
|
|
1945
|
-
return /* @__PURE__ */
|
|
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
|
|
1929
|
+
import { jsx as jsx63 } from "react/jsx-runtime";
|
|
1956
1930
|
function ImageListIcon(props) {
|
|
1957
|
-
return /* @__PURE__ */
|
|
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
|
|
1941
|
+
import { jsx as jsx64 } from "react/jsx-runtime";
|
|
1968
1942
|
function BackIcon(props) {
|
|
1969
|
-
return /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
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
|
|
1969
|
+
import { jsx as jsx66 } from "react/jsx-runtime";
|
|
1996
1970
|
function ScaledImageIcon(props) {
|
|
1997
|
-
return /* @__PURE__ */
|
|
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
|
|
1982
|
+
import { jsx as jsx67 } from "react/jsx-runtime";
|
|
2009
1983
|
function ErrorMessage({ children, small = false, className: className2 }) {
|
|
2010
|
-
return /* @__PURE__ */
|
|
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
|
|
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
|
|
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__ */
|
|
2062
|
-
return /* @__PURE__ */
|
|
2063
|
-
|
|
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__ */
|
|
2046
|
+
/* @__PURE__ */ jsx68("div", { className: "p-4 prose", children: /* @__PURE__ */ jsx68(
|
|
2073
2047
|
LocaleString5,
|
|
2074
2048
|
{
|
|
2075
2049
|
enableDangerouslySetInnerHTML: true,
|
|
2076
|
-
defaultText: /* @__PURE__ */
|
|
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
|
|
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__ */
|
|
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__ */
|
|
2095
|
+
return /* @__PURE__ */ jsx69(
|
|
2122
2096
|
Track,
|
|
2123
2097
|
{
|
|
2124
2098
|
src: caption.id,
|
|
2125
2099
|
kind: "subtitles",
|
|
2126
|
-
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__ */
|
|
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__ */
|
|
2141
|
-
/* @__PURE__ */
|
|
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__ */
|
|
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__ */
|
|
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,
|