@manifest-editor/components 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +356 -337
- package/dist/index.css +10 -0
- package/dist/index.d.cts +5 -1
- package/dist/index.d.ts +5 -1
- package/dist/index.js +290 -271
- package/package.json +2 -2
package/dist/index.cjs
CHANGED
|
@@ -31,6 +31,7 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
|
|
|
31
31
|
// src/index.tsx
|
|
32
32
|
var src_exports = {};
|
|
33
33
|
__export(src_exports, {
|
|
34
|
+
AccessibilityButton: () => AccessibilityButton,
|
|
34
35
|
ActionButton: () => ActionButton,
|
|
35
36
|
AddIcon: () => AddIcon,
|
|
36
37
|
AddImageIcon: () => AddImageIcon,
|
|
@@ -136,6 +137,13 @@ function ActionButton({
|
|
|
136
137
|
);
|
|
137
138
|
}
|
|
138
139
|
|
|
140
|
+
// src/AccessibilityButton.tsx
|
|
141
|
+
var import_react_aria_components2 = require("react-aria-components");
|
|
142
|
+
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
143
|
+
function AccessibilityButton({ className: className2, children, ...props }) {
|
|
144
|
+
return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_react_aria_components2.Button, { className: ["sr-only focus:not-sr-only p-2 bg-white text-black", className2].join(" "), ...props, children });
|
|
145
|
+
}
|
|
146
|
+
|
|
139
147
|
// src/utils.ts
|
|
140
148
|
var import_clsx = require("clsx");
|
|
141
149
|
var import_tailwind_merge2 = require("tailwind-merge");
|
|
@@ -146,9 +154,9 @@ var cn = (...inputs) => {
|
|
|
146
154
|
// src/Tooltip.tsx
|
|
147
155
|
var import_react = require("@floating-ui/react");
|
|
148
156
|
var React = __toESM(require("react"), 1);
|
|
149
|
-
var
|
|
157
|
+
var import_react_aria_components3 = require("react-aria-components");
|
|
150
158
|
var import_tailwind_merge3 = require("tailwind-merge");
|
|
151
|
-
var
|
|
159
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
152
160
|
function useTooltip({
|
|
153
161
|
initialOpen = false,
|
|
154
162
|
placement = "top",
|
|
@@ -204,7 +212,7 @@ var useTooltipContext = () => {
|
|
|
204
212
|
};
|
|
205
213
|
function Tooltip({ children, ...options }) {
|
|
206
214
|
const tooltip = useTooltip(options);
|
|
207
|
-
return /* @__PURE__ */ (0,
|
|
215
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TooltipContext.Provider, { value: tooltip, children });
|
|
208
216
|
}
|
|
209
217
|
var TooltipTrigger = React.forwardRef(function TooltipTrigger2({ children, asChild = false, ...props }, propRef) {
|
|
210
218
|
const context = useTooltipContext();
|
|
@@ -221,8 +229,8 @@ var TooltipTrigger = React.forwardRef(function TooltipTrigger2({ children, asChi
|
|
|
221
229
|
})
|
|
222
230
|
);
|
|
223
231
|
}
|
|
224
|
-
return /* @__PURE__ */ (0,
|
|
225
|
-
|
|
232
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
233
|
+
import_react_aria_components3.Button,
|
|
226
234
|
{
|
|
227
235
|
ref,
|
|
228
236
|
"data-state": context.open ? "open" : "closed",
|
|
@@ -236,7 +244,7 @@ var TooltipContent = React.forwardRef(function TooltipContent2({ style, root, ..
|
|
|
236
244
|
const ref = (0, import_react.useMergeRefs)([context.refs.setFloating, propRef]);
|
|
237
245
|
if (!context.open)
|
|
238
246
|
return null;
|
|
239
|
-
return /* @__PURE__ */ (0,
|
|
247
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react.FloatingPortal, { root, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
240
248
|
"div",
|
|
241
249
|
{
|
|
242
250
|
ref,
|
|
@@ -249,7 +257,7 @@ var TooltipContent = React.forwardRef(function TooltipContent2({ style, root, ..
|
|
|
249
257
|
) });
|
|
250
258
|
});
|
|
251
259
|
function DefaultTooltipContent(props) {
|
|
252
|
-
return /* @__PURE__ */ (0,
|
|
260
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
253
261
|
TooltipContent,
|
|
254
262
|
{
|
|
255
263
|
root: props.root,
|
|
@@ -260,23 +268,23 @@ function DefaultTooltipContent(props) {
|
|
|
260
268
|
}
|
|
261
269
|
|
|
262
270
|
// src/Sidebar.tsx
|
|
263
|
-
var
|
|
271
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
264
272
|
function Sidebar({ children }) {
|
|
265
|
-
return /* @__PURE__ */ (0,
|
|
273
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "w-full h-full flex flex-col overflow-hidden", children });
|
|
266
274
|
}
|
|
267
275
|
function SidebarContent({
|
|
268
276
|
children,
|
|
269
277
|
className: className2,
|
|
270
278
|
padding
|
|
271
279
|
}) {
|
|
272
|
-
return /* @__PURE__ */ (0,
|
|
280
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: cn("flex-1 min-h-0 overflow-y-auto pb-64", className2, padding && "px-3 pt-3"), children });
|
|
273
281
|
}
|
|
274
282
|
function SidebarHeader(props) {
|
|
275
283
|
const { actions, title } = props;
|
|
276
|
-
return /* @__PURE__ */ (0,
|
|
277
|
-
/* @__PURE__ */ (0,
|
|
278
|
-
/* @__PURE__ */ (0,
|
|
279
|
-
/* @__PURE__ */ (0,
|
|
284
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.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: [
|
|
285
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "flex-1", children: title }),
|
|
286
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "ml-auto flex gap-2 items-center", children: actions?.map((action, index) => /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(Tooltip, { placement: "bottom", children: [
|
|
287
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
280
288
|
"button",
|
|
281
289
|
{
|
|
282
290
|
className: cn(
|
|
@@ -292,18 +300,18 @@ function SidebarHeader(props) {
|
|
|
292
300
|
},
|
|
293
301
|
index
|
|
294
302
|
) }),
|
|
295
|
-
!action.disabled ? /* @__PURE__ */ (0,
|
|
303
|
+
!action.disabled ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DefaultTooltipContent, { children: action.title }) : null
|
|
296
304
|
] }, index)) })
|
|
297
305
|
] });
|
|
298
306
|
}
|
|
299
307
|
|
|
300
308
|
// src/PanelSideMenu.tsx
|
|
301
|
-
var
|
|
309
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
302
310
|
|
|
303
311
|
// src/PanelSideMenuItem.tsx
|
|
304
|
-
var
|
|
312
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
305
313
|
function PanelSideMenuItem(props) {
|
|
306
|
-
return /* @__PURE__ */ (0,
|
|
314
|
+
return /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(Tooltip, { placement: "right", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)(
|
|
307
315
|
"button",
|
|
308
316
|
{
|
|
309
317
|
className: cn(
|
|
@@ -314,18 +322,18 @@ function PanelSideMenuItem(props) {
|
|
|
314
322
|
onMouseDown: props.onClick,
|
|
315
323
|
children: [
|
|
316
324
|
props.icon,
|
|
317
|
-
/* @__PURE__ */ (0,
|
|
325
|
+
/* @__PURE__ */ (0, import_jsx_runtime5.jsx)(TooltipContent, { className: "bg-me-gray-900 text-white text-sm px-3 py-2 rounded opacity-90 z-50", children: props.label })
|
|
318
326
|
]
|
|
319
327
|
}
|
|
320
328
|
) }) });
|
|
321
329
|
}
|
|
322
330
|
|
|
323
331
|
// src/PanelSideMenu.tsx
|
|
324
|
-
var
|
|
332
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
325
333
|
function PanelSideMenu(props) {
|
|
326
|
-
return /* @__PURE__ */ (0,
|
|
327
|
-
panel.divide ? /* @__PURE__ */ (0,
|
|
328
|
-
/* @__PURE__ */ (0,
|
|
334
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("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__ */ (0, import_jsx_runtime7.jsxs)(import_jsx_runtime6.Fragment, { children: [
|
|
335
|
+
panel.divide ? /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "flex-1 block w-2 min-h-1" }) : null,
|
|
336
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
329
337
|
PanelSideMenuItem,
|
|
330
338
|
{
|
|
331
339
|
label: panel.label,
|
|
@@ -339,12 +347,12 @@ function PanelSideMenu(props) {
|
|
|
339
347
|
}
|
|
340
348
|
|
|
341
349
|
// src/ThumbnailGridContainer.tsx
|
|
342
|
-
var
|
|
350
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
343
351
|
function ThumbnailGridContainer(props) {
|
|
344
352
|
if (props.wide) {
|
|
345
|
-
return /* @__PURE__ */ (0,
|
|
353
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "grid grid-md gap-4 p-4 overflow-y-auto", children: props.children });
|
|
346
354
|
}
|
|
347
|
-
return /* @__PURE__ */ (0,
|
|
355
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "grid grid-cols-2 gap-4 p-4", children: props.children });
|
|
348
356
|
}
|
|
349
357
|
|
|
350
358
|
// src/LazyThumbnail.tsx
|
|
@@ -354,9 +362,9 @@ var import_react_lazy_load_image_component = require("react-lazy-load-image-comp
|
|
|
354
362
|
var import_tailwind_merge4 = require("tailwind-merge");
|
|
355
363
|
|
|
356
364
|
// src/Spinner.tsx
|
|
357
|
-
var
|
|
365
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
358
366
|
function Spinner(props) {
|
|
359
|
-
return /* @__PURE__ */ (0,
|
|
367
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
360
368
|
"svg",
|
|
361
369
|
{
|
|
362
370
|
width: "1em",
|
|
@@ -365,9 +373,9 @@ function Spinner(props) {
|
|
|
365
373
|
xmlns: "http://www.w3.org/2000/svg",
|
|
366
374
|
stroke: "currentColor",
|
|
367
375
|
...props,
|
|
368
|
-
children: /* @__PURE__ */ (0,
|
|
369
|
-
/* @__PURE__ */ (0,
|
|
370
|
-
/* @__PURE__ */ (0,
|
|
376
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("g", { transform: "translate(2 2)", strokeWidth: 5, fill: "none", fillRule: "evenodd", children: [
|
|
377
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("circle", { strokeOpacity: 0.5, cx: 18, cy: 18, r: 18 }),
|
|
378
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)("path", { d: "M36 18c0-9.94-8.06-18-18-18", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
371
379
|
"animateTransform",
|
|
372
380
|
{
|
|
373
381
|
attributeName: "transform",
|
|
@@ -384,9 +392,9 @@ function Spinner(props) {
|
|
|
384
392
|
}
|
|
385
393
|
|
|
386
394
|
// src/icons/TextIcon.tsx
|
|
387
|
-
var
|
|
395
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
388
396
|
function TextIcon(props) {
|
|
389
|
-
return /* @__PURE__ */ (0,
|
|
397
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
390
398
|
"svg",
|
|
391
399
|
{
|
|
392
400
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -395,8 +403,8 @@ function TextIcon(props) {
|
|
|
395
403
|
viewBox: "0 0 24 24",
|
|
396
404
|
...props,
|
|
397
405
|
children: [
|
|
398
|
-
/* @__PURE__ */ (0,
|
|
399
|
-
/* @__PURE__ */ (0,
|
|
406
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("title", { children: "Text" }),
|
|
407
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
400
408
|
"path",
|
|
401
409
|
{
|
|
402
410
|
fill: "currentColor",
|
|
@@ -409,12 +417,12 @@ function TextIcon(props) {
|
|
|
409
417
|
}
|
|
410
418
|
|
|
411
419
|
// src/LazyThumbnail.tsx
|
|
412
|
-
var
|
|
420
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
413
421
|
function LazyThumbnail({
|
|
414
422
|
cover,
|
|
415
423
|
fade = true
|
|
416
424
|
}) {
|
|
417
|
-
return /* @__PURE__ */ (0,
|
|
425
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_react_lazy_load_image_component.LazyLoadComponent, { children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(LazyThumbnailInner, { cover, fade }) });
|
|
418
426
|
}
|
|
419
427
|
var renderCache = /* @__PURE__ */ new Map();
|
|
420
428
|
function LazyThumbnailInner({
|
|
@@ -447,8 +455,8 @@ function LazyThumbnailInner({
|
|
|
447
455
|
},
|
|
448
456
|
[isCached]
|
|
449
457
|
);
|
|
450
|
-
return /* @__PURE__ */ (0,
|
|
451
|
-
thumbnail?.id ? /* @__PURE__ */ (0,
|
|
458
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { className: `w-full h-full relative`, children: [
|
|
459
|
+
thumbnail?.id ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
452
460
|
"img",
|
|
453
461
|
{
|
|
454
462
|
onLoad: () => setIsLoading(false),
|
|
@@ -457,15 +465,15 @@ function LazyThumbnailInner({
|
|
|
457
465
|
alt: "",
|
|
458
466
|
className: `w-full h-full ${cover ? "object-cover" : "object-contain"} ${!isLoading ? isCached ? "" : "animate-fadeIn" : "opacity-0"}`
|
|
459
467
|
}
|
|
460
|
-
) : /* @__PURE__ */ (0,
|
|
461
|
-
!thumbnail?.id || isLoading ? /* @__PURE__ */ (0,
|
|
468
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ThumbnailFallback, {}),
|
|
469
|
+
!thumbnail?.id || isLoading ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
462
470
|
"div",
|
|
463
471
|
{
|
|
464
472
|
className: (0, import_tailwind_merge4.twMerge)(
|
|
465
473
|
"absolute inset-0 flex items-center justify-center bg-me-gray-100 text-2xl z-10",
|
|
466
474
|
fade && "animate-fadeIn"
|
|
467
475
|
),
|
|
468
|
-
children: /* @__PURE__ */ (0,
|
|
476
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Spinner, {})
|
|
469
477
|
}
|
|
470
478
|
) : null
|
|
471
479
|
] });
|
|
@@ -473,9 +481,9 @@ function LazyThumbnailInner({
|
|
|
473
481
|
function ThumbnailFallback() {
|
|
474
482
|
const [strategy] = (0, import_react_iiif_vault.useRenderingStrategy)();
|
|
475
483
|
if (strategy.type === "textual-content") {
|
|
476
|
-
return /* @__PURE__ */ (0,
|
|
484
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("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__ */ (0, import_jsx_runtime11.jsx)(TextIcon, { className: "w-16 h-16" }) });
|
|
477
485
|
}
|
|
478
|
-
return /* @__PURE__ */ (0,
|
|
486
|
+
return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("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" });
|
|
479
487
|
}
|
|
480
488
|
|
|
481
489
|
// src/CanvasThumbnailGridItem.tsx
|
|
@@ -483,18 +491,18 @@ var import_react_iiif_vault3 = require("react-iiif-vault");
|
|
|
483
491
|
|
|
484
492
|
// src/CanvasLabel.tsx
|
|
485
493
|
var import_react_iiif_vault2 = require("react-iiif-vault");
|
|
486
|
-
var
|
|
494
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
487
495
|
function CanvasLabel(props) {
|
|
488
496
|
const canvas = (0, import_react_iiif_vault2.useCanvas)();
|
|
489
497
|
if (!canvas)
|
|
490
498
|
return null;
|
|
491
|
-
return /* @__PURE__ */ (0,
|
|
499
|
+
return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(import_react_iiif_vault2.LocaleString, { className: props.className, as: props.as, children: canvas.label });
|
|
492
500
|
}
|
|
493
501
|
|
|
494
502
|
// src/Card3D.tsx
|
|
495
503
|
var import_react3 = require("react");
|
|
496
504
|
var import_tailwind_merge5 = require("tailwind-merge");
|
|
497
|
-
var
|
|
505
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
498
506
|
function Card3D({
|
|
499
507
|
className: className2,
|
|
500
508
|
shouldTranslate,
|
|
@@ -565,7 +573,7 @@ function Card3D({
|
|
|
565
573
|
outer.current.removeEventListener("mousemove", mousemove);
|
|
566
574
|
};
|
|
567
575
|
}, []);
|
|
568
|
-
return /* @__PURE__ */ (0,
|
|
576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
569
577
|
"div",
|
|
570
578
|
{
|
|
571
579
|
ref: outer,
|
|
@@ -578,7 +586,7 @@ function Card3D({
|
|
|
578
586
|
...props,
|
|
579
587
|
children: [
|
|
580
588
|
children,
|
|
581
|
-
/* @__PURE__ */ (0,
|
|
589
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
582
590
|
"div",
|
|
583
591
|
{
|
|
584
592
|
className: "pointer-events-none absolute inset-0 transition-all",
|
|
@@ -594,10 +602,10 @@ function Card3D({
|
|
|
594
602
|
}
|
|
595
603
|
|
|
596
604
|
// src/CanvasThumbnailGridItem.tsx
|
|
597
|
-
var
|
|
605
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
598
606
|
function CanvasThumbnailGridItem(props) {
|
|
599
|
-
return /* @__PURE__ */ (0,
|
|
600
|
-
/* @__PURE__ */ (0,
|
|
607
|
+
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react_iiif_vault3.CanvasContext, { canvas: props.id, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { onMouseDown: props.onClick, className: "flex flex-col", "data-canvas-selected": props.selected, children: [
|
|
608
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "bg-me-gray-100 w-full aspect-square flex-1 overflow-hidden rounded", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
601
609
|
Card3D,
|
|
602
610
|
{
|
|
603
611
|
"data-canvas-selected": props.active,
|
|
@@ -606,17 +614,17 @@ function CanvasThumbnailGridItem(props) {
|
|
|
606
614
|
"border-2 border-transparent p-1 w-full h-full rounded",
|
|
607
615
|
props.selected && "border-me-primary-500"
|
|
608
616
|
),
|
|
609
|
-
children: /* @__PURE__ */ (0,
|
|
617
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(LazyThumbnail, {})
|
|
610
618
|
}
|
|
611
619
|
) }),
|
|
612
|
-
/* @__PURE__ */ (0,
|
|
620
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(CanvasLabel, { className: "text-sm text-center truncate mt-1", as: "div" })
|
|
613
621
|
] }) });
|
|
614
622
|
}
|
|
615
623
|
|
|
616
624
|
// src/Modal.tsx
|
|
617
625
|
var import_react4 = require("@headlessui/react");
|
|
618
626
|
var import_react_dom = require("react-dom");
|
|
619
|
-
var
|
|
627
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
620
628
|
function ModalBackSlot({ children }) {
|
|
621
629
|
const element = document.getElementById("modal-back-slot");
|
|
622
630
|
if (!element)
|
|
@@ -624,14 +632,14 @@ function ModalBackSlot({ children }) {
|
|
|
624
632
|
return (0, import_react_dom.createPortal)(children, element);
|
|
625
633
|
}
|
|
626
634
|
function Modal({ id, title, open = true, onClose, actions, children }) {
|
|
627
|
-
return /* @__PURE__ */ (0,
|
|
628
|
-
/* @__PURE__ */ (0,
|
|
629
|
-
/* @__PURE__ */ (0,
|
|
630
|
-
/* @__PURE__ */ (0,
|
|
631
|
-
/* @__PURE__ */ (0,
|
|
632
|
-
/* @__PURE__ */ (0,
|
|
633
|
-
/* @__PURE__ */ (0,
|
|
634
|
-
/* @__PURE__ */ (0,
|
|
635
|
+
return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_jsx_runtime15.Fragment, { children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react4.Dialog, { open, onClose, id, className: "relative z-[500]", children: [
|
|
636
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: `fixed inset-0 bg-black/30 animate-fadeIn z-[501]`, "aria-hidden": "true" }),
|
|
637
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "fixed inset-0 flex w-screen items-center justify-center p-4 z-[502]", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "relative p-4 w-full max-w-4xl max-h-full", children: /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react4.DialogPanel, { className: "relative bg-white rounded-lg overflow-hidden shadow-2xl max-h-[80vh] flex flex-col", children: [
|
|
638
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "flex items-center justify-between gap-3 p-4 rounded-t-lg sticky top-0 bg-white", children: [
|
|
639
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { id: "modal-back-slot" }),
|
|
640
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_react4.DialogTitle, { className: "text-xl font-semibold text-gray-900 ", children: title }),
|
|
641
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsxs)(import_react4.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: [
|
|
642
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
635
643
|
"svg",
|
|
636
644
|
{
|
|
637
645
|
className: "w-3 h-3",
|
|
@@ -639,7 +647,7 @@ function Modal({ id, title, open = true, onClose, actions, children }) {
|
|
|
639
647
|
xmlns: "http://www.w3.org/2000/svg",
|
|
640
648
|
fill: "none",
|
|
641
649
|
viewBox: "0 0 14 14",
|
|
642
|
-
children: /* @__PURE__ */ (0,
|
|
650
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
643
651
|
"path",
|
|
644
652
|
{
|
|
645
653
|
stroke: "currentColor",
|
|
@@ -651,23 +659,23 @@ function Modal({ id, title, open = true, onClose, actions, children }) {
|
|
|
651
659
|
)
|
|
652
660
|
}
|
|
653
661
|
),
|
|
654
|
-
/* @__PURE__ */ (0,
|
|
662
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "sr-only", children: "Close" })
|
|
655
663
|
] })
|
|
656
664
|
] }),
|
|
657
|
-
/* @__PURE__ */ (0,
|
|
658
|
-
actions ? /* @__PURE__ */ (0,
|
|
665
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "flex-1 min-h-0 overflow-y-auto flex flex-col", children }),
|
|
666
|
+
actions ? /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "flex items-center p-4 border-t border-gray-200 rounded-b justify-end", children: actions }) : null
|
|
659
667
|
] }) }) })
|
|
660
668
|
] }) });
|
|
661
669
|
}
|
|
662
670
|
|
|
663
671
|
// src/ControlButton.tsx
|
|
664
|
-
var
|
|
672
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
665
673
|
function ControlButton({
|
|
666
674
|
children,
|
|
667
675
|
className: className2,
|
|
668
676
|
...props
|
|
669
677
|
}) {
|
|
670
|
-
return /* @__PURE__ */ (0,
|
|
678
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
671
679
|
"button",
|
|
672
680
|
{
|
|
673
681
|
className: cn(
|
|
@@ -681,9 +689,9 @@ function ControlButton({
|
|
|
681
689
|
}
|
|
682
690
|
|
|
683
691
|
// src/OpaqueControls.tsx
|
|
684
|
-
var
|
|
692
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
685
693
|
function OpaqueControls(props) {
|
|
686
|
-
return /* @__PURE__ */ (0,
|
|
694
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
687
695
|
"div",
|
|
688
696
|
{
|
|
689
697
|
className: cn("flex w-full p-0.5 opacity-0 transition-opacity duration-300 gap-2", props.active && "opacity-1"),
|
|
@@ -693,11 +701,11 @@ function OpaqueControls(props) {
|
|
|
693
701
|
}
|
|
694
702
|
|
|
695
703
|
// src/Tabs.tsx
|
|
696
|
-
var
|
|
697
|
-
var
|
|
704
|
+
var import_react_aria_components4 = require("react-aria-components");
|
|
705
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
698
706
|
function Tabs({ className: className2, children, ...props }) {
|
|
699
|
-
return /* @__PURE__ */ (0,
|
|
700
|
-
|
|
707
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
708
|
+
import_react_aria_components4.Tabs,
|
|
701
709
|
{
|
|
702
710
|
className: (state) => {
|
|
703
711
|
const cs = typeof className2 === "function" ? className2(state) : className2;
|
|
@@ -713,8 +721,8 @@ function TabList({
|
|
|
713
721
|
children,
|
|
714
722
|
...props
|
|
715
723
|
}) {
|
|
716
|
-
return /* @__PURE__ */ (0,
|
|
717
|
-
|
|
724
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
725
|
+
import_react_aria_components4.TabList,
|
|
718
726
|
{
|
|
719
727
|
className: (state) => {
|
|
720
728
|
const cs = typeof className2 === "function" ? className2(state) : className2;
|
|
@@ -726,8 +734,8 @@ function TabList({
|
|
|
726
734
|
);
|
|
727
735
|
}
|
|
728
736
|
function Tab({ className: className2, children, ...props }) {
|
|
729
|
-
return /* @__PURE__ */ (0,
|
|
730
|
-
|
|
737
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
738
|
+
import_react_aria_components4.Tab,
|
|
731
739
|
{
|
|
732
740
|
className: (state) => {
|
|
733
741
|
const cs = typeof className2 === "function" ? className2(state) : className2;
|
|
@@ -744,8 +752,8 @@ function Tab({ className: className2, children, ...props }) {
|
|
|
744
752
|
);
|
|
745
753
|
}
|
|
746
754
|
function TabPanel({ className: className2, children, ...props }) {
|
|
747
|
-
return /* @__PURE__ */ (0,
|
|
748
|
-
|
|
755
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
756
|
+
import_react_aria_components4.TabPanel,
|
|
749
757
|
{
|
|
750
758
|
className: (state) => {
|
|
751
759
|
const cs = typeof className2 === "function" ? className2(state) : className2;
|
|
@@ -758,25 +766,25 @@ function TabPanel({ className: className2, children, ...props }) {
|
|
|
758
766
|
}
|
|
759
767
|
|
|
760
768
|
// src/CreatorGrid.tsx
|
|
761
|
-
var
|
|
769
|
+
var import_react_aria_components5 = require("react-aria-components");
|
|
762
770
|
var import_tailwind_merge6 = require("tailwind-merge");
|
|
763
|
-
var
|
|
771
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
764
772
|
function CreatorGrid(props) {
|
|
765
|
-
return /* @__PURE__ */ (0,
|
|
766
|
-
|
|
773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
774
|
+
import_react_aria_components5.ListBox,
|
|
767
775
|
{
|
|
768
776
|
orientation: "horizontal",
|
|
769
777
|
"aria-label": props.label,
|
|
770
778
|
selectionMode: "single",
|
|
771
779
|
items: props.items,
|
|
772
780
|
className: "grid grid-sm gap-4 p-4 mb-8",
|
|
773
|
-
children: (item) => /* @__PURE__ */ (0,
|
|
781
|
+
children: (item) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CreatorGridItem, { ...item })
|
|
774
782
|
}
|
|
775
783
|
);
|
|
776
784
|
}
|
|
777
785
|
function CreatorGridItem(props) {
|
|
778
|
-
return /* @__PURE__ */ (0,
|
|
779
|
-
|
|
786
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
787
|
+
import_react_aria_components5.ListBoxItem,
|
|
780
788
|
{
|
|
781
789
|
id: props.id,
|
|
782
790
|
onAction: props.onClick,
|
|
@@ -785,17 +793,17 @@ function CreatorGridItem(props) {
|
|
|
785
793
|
$s.isFocused && "border-me-primary-500 outline-me-primary-500 outline-2"
|
|
786
794
|
),
|
|
787
795
|
children: [
|
|
788
|
-
/* @__PURE__ */ (0,
|
|
789
|
-
/* @__PURE__ */ (0,
|
|
790
|
-
/* @__PURE__ */ (0,
|
|
796
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "rounded bg-me-gray-300 mb-2 flex items-center justify-center py-1 aspect-square", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "text-center [&>svg]:w-16 [&>svg]:h-16", children: props.icon }) }),
|
|
797
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "text-center font-semibold text-sm", children: props.title }),
|
|
798
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "text-sm text-center text-black/50", children: props.description })
|
|
791
799
|
]
|
|
792
800
|
}
|
|
793
801
|
);
|
|
794
802
|
}
|
|
795
803
|
|
|
796
804
|
// src/icons/DownloadIcon.tsx
|
|
797
|
-
var
|
|
798
|
-
var DownloadIcon = (props) => /* @__PURE__ */ (0,
|
|
805
|
+
var import_jsx_runtime20 = require("react/jsx-runtime");
|
|
806
|
+
var DownloadIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
|
|
799
807
|
"path",
|
|
800
808
|
{
|
|
801
809
|
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",
|
|
@@ -805,10 +813,10 @@ var DownloadIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("svg
|
|
|
805
813
|
|
|
806
814
|
// src/DownloadButton.tsx
|
|
807
815
|
var import_react_aria = require("react-aria");
|
|
808
|
-
var
|
|
816
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
809
817
|
function DownloadButton({ label, id: _id, getData, fileName, fileType }) {
|
|
810
818
|
const id = (0, import_react_aria.useId)(_id);
|
|
811
|
-
return /* @__PURE__ */ (0,
|
|
819
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Tooltip, { placement: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
812
820
|
TooltipTrigger,
|
|
813
821
|
{
|
|
814
822
|
className: "bg-me-gray-100 hover:bg-me-primary-500 hover:text-white p-1 rounded-md text-me-primary-500 text-2xl",
|
|
@@ -816,8 +824,8 @@ function DownloadButton({ label, id: _id, getData, fileName, fileType }) {
|
|
|
816
824
|
id,
|
|
817
825
|
onPress: () => createDownload(getData(), fileName, fileType),
|
|
818
826
|
children: [
|
|
819
|
-
/* @__PURE__ */ (0,
|
|
820
|
-
/* @__PURE__ */ (0,
|
|
827
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DownloadIcon, { "aria-labelledby": _id }),
|
|
828
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DefaultTooltipContent, { children: label })
|
|
821
829
|
]
|
|
822
830
|
}
|
|
823
831
|
) });
|
|
@@ -837,11 +845,11 @@ function createDownload(data, fileName, fileType = "text/json") {
|
|
|
837
845
|
}
|
|
838
846
|
|
|
839
847
|
// src/AtlasBanner.tsx
|
|
840
|
-
var
|
|
848
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
841
849
|
function AtlasBanner({ children, controlsId }) {
|
|
842
|
-
return /* @__PURE__ */ (0,
|
|
843
|
-
/* @__PURE__ */ (0,
|
|
844
|
-
/* @__PURE__ */ (0,
|
|
850
|
+
return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "bg-me-gray-100 border-b text-black p-1 flex gap-4 items-center h-12", children: [
|
|
851
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "px-4", children }),
|
|
852
|
+
/* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { id: controlsId || "atlas-controls", className: "flex gap-2" })
|
|
845
853
|
] });
|
|
846
854
|
}
|
|
847
855
|
|
|
@@ -849,8 +857,8 @@ function AtlasBanner({ children, controlsId }) {
|
|
|
849
857
|
var import_react_iiif_vault4 = require("react-iiif-vault");
|
|
850
858
|
|
|
851
859
|
// src/icons/DrawIcon.tsx
|
|
852
|
-
var
|
|
853
|
-
var DrawIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0,
|
|
860
|
+
var import_jsx_runtime23 = require("react/jsx-runtime");
|
|
861
|
+
var DrawIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)(
|
|
854
862
|
"svg",
|
|
855
863
|
{
|
|
856
864
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -860,8 +868,8 @@ var DrawIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_jsx_
|
|
|
860
868
|
"aria-labelledby": titleId,
|
|
861
869
|
...props,
|
|
862
870
|
children: [
|
|
863
|
-
title ? /* @__PURE__ */ (0,
|
|
864
|
-
/* @__PURE__ */ (0,
|
|
871
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("title", { id: titleId, children: title }) : null,
|
|
872
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
865
873
|
"path",
|
|
866
874
|
{
|
|
867
875
|
fill: "currentColor",
|
|
@@ -873,8 +881,8 @@ var DrawIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_jsx_
|
|
|
873
881
|
);
|
|
874
882
|
|
|
875
883
|
// src/icons/PolygonIcon.tsx
|
|
876
|
-
var
|
|
877
|
-
var PolygonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0,
|
|
884
|
+
var import_jsx_runtime24 = require("react/jsx-runtime");
|
|
885
|
+
var PolygonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)(
|
|
878
886
|
"svg",
|
|
879
887
|
{
|
|
880
888
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -884,8 +892,8 @@ var PolygonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_j
|
|
|
884
892
|
"aria-labelledby": titleId,
|
|
885
893
|
...props,
|
|
886
894
|
children: [
|
|
887
|
-
title ? /* @__PURE__ */ (0,
|
|
888
|
-
/* @__PURE__ */ (0,
|
|
895
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("title", { id: titleId, children: title }) : null,
|
|
896
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
889
897
|
"path",
|
|
890
898
|
{
|
|
891
899
|
fill: "currentColor",
|
|
@@ -897,34 +905,34 @@ var PolygonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_j
|
|
|
897
905
|
);
|
|
898
906
|
|
|
899
907
|
// src/icons/LineIcon.tsx
|
|
900
|
-
var
|
|
908
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
901
909
|
function LineIcon({ title, titleId, ...props }) {
|
|
902
|
-
return /* @__PURE__ */ (0,
|
|
903
|
-
title ? /* @__PURE__ */ (0,
|
|
904
|
-
/* @__PURE__ */ (0,
|
|
905
|
-
/* @__PURE__ */ (0,
|
|
906
|
-
/* @__PURE__ */ (0,
|
|
907
|
-
/* @__PURE__ */ (0,
|
|
910
|
+
return /* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", "aria-labelledby": titleId, ...props, children: [
|
|
911
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("title", { id: titleId, children: title }) : null,
|
|
912
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsxs)("g", { fill: "none", fillRule: "evenodd", children: [
|
|
913
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("circle", { cx: 4.5, cy: 4.5, r: 2.5, fill: "currentColor" }),
|
|
914
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("circle", { cx: 15.5, cy: 15.5, r: 2.5, fill: "currentColor" }),
|
|
915
|
+
/* @__PURE__ */ (0, import_jsx_runtime25.jsx)("path", { stroke: "currentColor", strokeLinecap: "square", strokeWidth: 2, d: "m13.5 13.5-9-9" })
|
|
908
916
|
] })
|
|
909
917
|
] });
|
|
910
918
|
}
|
|
911
919
|
|
|
912
920
|
// src/icons/LineBoxIcon.tsx
|
|
913
|
-
var
|
|
921
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
914
922
|
function LineBoxIcon({ title, titleId, ...props }) {
|
|
915
|
-
return /* @__PURE__ */ (0,
|
|
916
|
-
title ? /* @__PURE__ */ (0,
|
|
917
|
-
/* @__PURE__ */ (0,
|
|
918
|
-
/* @__PURE__ */ (0,
|
|
919
|
-
/* @__PURE__ */ (0,
|
|
920
|
-
/* @__PURE__ */ (0,
|
|
923
|
+
return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", "aria-labelledby": titleId, ...props, children: [
|
|
924
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime26.jsx)("title", { id: titleId, children: title }) : null,
|
|
925
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsxs)("g", { fill: "none", fillRule: "evenodd", children: [
|
|
926
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("path", { d: "M0 0h20v20H0z" }),
|
|
927
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("path", { stroke: "currentColor", strokeLinecap: "square", strokeWidth: 2, d: "m8.5 11.5 6-6M16 4v3m0-3h-3m0 14L2 7" }),
|
|
928
|
+
/* @__PURE__ */ (0, import_jsx_runtime26.jsx)("path", { stroke: "currentColor", strokeOpacity: 0.407, strokeWidth: 2, d: "m2 7 5-5 11 11-5 5z" })
|
|
921
929
|
] })
|
|
922
930
|
] });
|
|
923
931
|
}
|
|
924
932
|
|
|
925
933
|
// src/icons/ShapesIcon.tsx
|
|
926
|
-
var
|
|
927
|
-
var ShapesIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0,
|
|
934
|
+
var import_jsx_runtime27 = require("react/jsx-runtime");
|
|
935
|
+
var ShapesIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime27.jsxs)(
|
|
928
936
|
"svg",
|
|
929
937
|
{
|
|
930
938
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -934,8 +942,8 @@ var ShapesIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_js
|
|
|
934
942
|
"aria-labelledby": titleId,
|
|
935
943
|
...props,
|
|
936
944
|
children: [
|
|
937
|
-
title ? /* @__PURE__ */ (0,
|
|
938
|
-
/* @__PURE__ */ (0,
|
|
945
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("title", { id: titleId, children: title }) : null,
|
|
946
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
939
947
|
"path",
|
|
940
948
|
{
|
|
941
949
|
fill: "currentColor",
|
|
@@ -947,8 +955,8 @@ var ShapesIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_js
|
|
|
947
955
|
);
|
|
948
956
|
|
|
949
957
|
// src/icons/SquareIcon.tsx
|
|
950
|
-
var
|
|
951
|
-
var SquareIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0,
|
|
958
|
+
var import_jsx_runtime28 = require("react/jsx-runtime");
|
|
959
|
+
var SquareIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)(
|
|
952
960
|
"svg",
|
|
953
961
|
{
|
|
954
962
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -958,8 +966,8 @@ var SquareIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_js
|
|
|
958
966
|
"aria-labelledby": titleId,
|
|
959
967
|
...props,
|
|
960
968
|
children: [
|
|
961
|
-
title ? /* @__PURE__ */ (0,
|
|
962
|
-
/* @__PURE__ */ (0,
|
|
969
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("title", { id: titleId, children: title }) : null,
|
|
970
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
963
971
|
"path",
|
|
964
972
|
{
|
|
965
973
|
fill: "currentColor",
|
|
@@ -971,8 +979,8 @@ var SquareIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_js
|
|
|
971
979
|
);
|
|
972
980
|
|
|
973
981
|
// src/icons/TriangleIcon.tsx
|
|
974
|
-
var
|
|
975
|
-
var TriangleIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0,
|
|
982
|
+
var import_jsx_runtime29 = require("react/jsx-runtime");
|
|
983
|
+
var TriangleIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime29.jsxs)(
|
|
976
984
|
"svg",
|
|
977
985
|
{
|
|
978
986
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -982,15 +990,15 @@ var TriangleIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_
|
|
|
982
990
|
"aria-labelledby": titleId,
|
|
983
991
|
...props,
|
|
984
992
|
children: [
|
|
985
|
-
title ? /* @__PURE__ */ (0,
|
|
986
|
-
/* @__PURE__ */ (0,
|
|
993
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("title", { id: titleId, children: title }) : null,
|
|
994
|
+
/* @__PURE__ */ (0, import_jsx_runtime29.jsx)("path", { d: "m80-160 400-640 400 640H80Zm144-80h512L480-650 224-240Zm256-205Z", fill: "currentColor" })
|
|
987
995
|
]
|
|
988
996
|
}
|
|
989
997
|
);
|
|
990
998
|
|
|
991
999
|
// src/icons/HexagonIcon.tsx
|
|
992
|
-
var
|
|
993
|
-
var HexagonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0,
|
|
1000
|
+
var import_jsx_runtime30 = require("react/jsx-runtime");
|
|
1001
|
+
var HexagonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime30.jsxs)(
|
|
994
1002
|
"svg",
|
|
995
1003
|
{
|
|
996
1004
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1000,8 +1008,8 @@ var HexagonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_j
|
|
|
1000
1008
|
"aria-labelledby": titleId,
|
|
1001
1009
|
...props,
|
|
1002
1010
|
children: [
|
|
1003
|
-
title ? /* @__PURE__ */ (0,
|
|
1004
|
-
/* @__PURE__ */ (0,
|
|
1011
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("title", { id: titleId, children: title }) : null,
|
|
1012
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
1005
1013
|
"path",
|
|
1006
1014
|
{
|
|
1007
1015
|
fill: "currentColor",
|
|
@@ -1013,12 +1021,12 @@ var HexagonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_j
|
|
|
1013
1021
|
);
|
|
1014
1022
|
|
|
1015
1023
|
// src/icons/DeleteForeverIcon.tsx
|
|
1016
|
-
var
|
|
1024
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1017
1025
|
function DeleteForeverIcon(props) {
|
|
1018
|
-
return /* @__PURE__ */ (0,
|
|
1019
|
-
/* @__PURE__ */ (0,
|
|
1020
|
-
/* @__PURE__ */ (0,
|
|
1021
|
-
/* @__PURE__ */ (0,
|
|
1026
|
+
return /* @__PURE__ */ (0, import_jsx_runtime31.jsxs)("svg", { height: "1em", width: "1em", viewBox: "0 0 24 24", ...props, children: [
|
|
1027
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("path", { d: "M0 0h24v24H0z", fill: "none" }),
|
|
1028
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
|
|
1029
|
+
/* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
|
|
1022
1030
|
"path",
|
|
1023
1031
|
{
|
|
1024
1032
|
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",
|
|
@@ -1030,18 +1038,18 @@ function DeleteForeverIcon(props) {
|
|
|
1030
1038
|
|
|
1031
1039
|
// src/SvgControlBar.tsx
|
|
1032
1040
|
var import_react5 = require("react");
|
|
1033
|
-
var
|
|
1041
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1034
1042
|
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';
|
|
1035
1043
|
var icons = {
|
|
1036
|
-
DrawIcon: /* @__PURE__ */ (0,
|
|
1037
|
-
PolygonIcon: /* @__PURE__ */ (0,
|
|
1038
|
-
LineIcon: /* @__PURE__ */ (0,
|
|
1039
|
-
LineBoxIcon: /* @__PURE__ */ (0,
|
|
1040
|
-
ShapesIcon: /* @__PURE__ */ (0,
|
|
1041
|
-
SquareIcon: /* @__PURE__ */ (0,
|
|
1042
|
-
TriangleIcon: /* @__PURE__ */ (0,
|
|
1043
|
-
HexagonIcon: /* @__PURE__ */ (0,
|
|
1044
|
-
DeleteForeverIcon: /* @__PURE__ */ (0,
|
|
1044
|
+
DrawIcon: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DrawIcon, {}),
|
|
1045
|
+
PolygonIcon: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(PolygonIcon, {}),
|
|
1046
|
+
LineIcon: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(LineIcon, {}),
|
|
1047
|
+
LineBoxIcon: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(LineBoxIcon, {}),
|
|
1048
|
+
ShapesIcon: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(ShapesIcon, {}),
|
|
1049
|
+
SquareIcon: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(SquareIcon, {}),
|
|
1050
|
+
TriangleIcon: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(TriangleIcon, {}),
|
|
1051
|
+
HexagonIcon: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(HexagonIcon, {}),
|
|
1052
|
+
DeleteForeverIcon: /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(DeleteForeverIcon, {})
|
|
1045
1053
|
};
|
|
1046
1054
|
function SvgControlBar({
|
|
1047
1055
|
helper,
|
|
@@ -1051,7 +1059,7 @@ function SvgControlBar({
|
|
|
1051
1059
|
(0, import_react5.useEffect)(() => {
|
|
1052
1060
|
helper.stamps.square();
|
|
1053
1061
|
}, []);
|
|
1054
|
-
return /* @__PURE__ */ (0,
|
|
1062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
1055
1063
|
import_react_iiif_vault4.RenderSvgEditorControls,
|
|
1056
1064
|
{
|
|
1057
1065
|
icons,
|
|
@@ -1066,18 +1074,18 @@ function SvgControlBar({
|
|
|
1066
1074
|
}
|
|
1067
1075
|
|
|
1068
1076
|
// src/ConfirmSelectionButton.tsx
|
|
1069
|
-
var
|
|
1070
|
-
var
|
|
1077
|
+
var import_react_aria_components6 = require("react-aria-components");
|
|
1078
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1071
1079
|
function ConfirmSelectionButton({ onPress, children }) {
|
|
1072
|
-
return /* @__PURE__ */ (0,
|
|
1080
|
+
return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(import_react_aria_components6.Button, { className: "bg-me-primary-500 px-3 py-1 hover:bg-me-primary-600 text-white rounded", onPress, children });
|
|
1073
1081
|
}
|
|
1074
1082
|
|
|
1075
1083
|
// src/ManifestOverviewEmptyState.tsx
|
|
1076
|
-
var
|
|
1077
|
-
var
|
|
1084
|
+
var import_react_aria_components7 = require("react-aria-components");
|
|
1085
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1078
1086
|
function ManifestOverviewEmptyState({ onCreate, canCreate }) {
|
|
1079
|
-
return /* @__PURE__ */ (0,
|
|
1080
|
-
/* @__PURE__ */ (0,
|
|
1087
|
+
return /* @__PURE__ */ (0, import_jsx_runtime34.jsxs)("div", { className: "flex items-center flex-col gap-5 py-16", children: [
|
|
1088
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1081
1089
|
Card3D,
|
|
1082
1090
|
{
|
|
1083
1091
|
shouldTranslate: true,
|
|
@@ -1085,10 +1093,10 @@ function ManifestOverviewEmptyState({ onCreate, canCreate }) {
|
|
|
1085
1093
|
className: "border-2 border-dotted bg-black/5 aspect-[3/4] rounded w-32 border-black"
|
|
1086
1094
|
}
|
|
1087
1095
|
),
|
|
1088
|
-
/* @__PURE__ */ (0,
|
|
1089
|
-
/* @__PURE__ */ (0,
|
|
1090
|
-
canCreate ? /* @__PURE__ */ (0,
|
|
1091
|
-
|
|
1096
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("div", { className: "font-bold text-lg", children: "Let's get started!" }),
|
|
1097
|
+
/* @__PURE__ */ (0, import_jsx_runtime34.jsx)("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." }),
|
|
1098
|
+
canCreate ? /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(
|
|
1099
|
+
import_react_aria_components7.Button,
|
|
1092
1100
|
{
|
|
1093
1101
|
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",
|
|
1094
1102
|
onPress: onCreate,
|
|
@@ -1100,10 +1108,10 @@ function ManifestOverviewEmptyState({ onCreate, canCreate }) {
|
|
|
1100
1108
|
|
|
1101
1109
|
// src/SidebarTabs.tsx
|
|
1102
1110
|
var import_react6 = require("react");
|
|
1103
|
-
var
|
|
1111
|
+
var import_react_aria_components8 = require("react-aria-components");
|
|
1104
1112
|
var import_collections = require("@react-aria/collections");
|
|
1105
1113
|
var import_react_dom2 = require("react-dom");
|
|
1106
|
-
var
|
|
1114
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
1107
1115
|
function SidebarTabs({
|
|
1108
1116
|
menu,
|
|
1109
1117
|
menuId,
|
|
@@ -1152,24 +1160,24 @@ function SidebarTabs({
|
|
|
1152
1160
|
};
|
|
1153
1161
|
}, []);
|
|
1154
1162
|
const menuHidden = menu.filter((item, idx) => hidden >= menu.length - idx);
|
|
1155
|
-
return /* @__PURE__ */ (0,
|
|
1156
|
-
/* @__PURE__ */ (0,
|
|
1157
|
-
|
|
1163
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_jsx_runtime35.Fragment, { children: [
|
|
1164
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(
|
|
1165
|
+
import_react_aria_components8.Tabs,
|
|
1158
1166
|
{
|
|
1159
1167
|
className: "w-full flex-1 overflow-hidden flex flex-col",
|
|
1160
1168
|
selectedKey,
|
|
1161
1169
|
onSelectionChange,
|
|
1162
1170
|
children: [
|
|
1163
|
-
/* @__PURE__ */ (0,
|
|
1164
|
-
/* @__PURE__ */ (0,
|
|
1165
|
-
|
|
1171
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsxs)("div", { className: "flex items-center w-full tab-shadow", children: [
|
|
1172
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1173
|
+
import_react_aria_components8.TabList,
|
|
1166
1174
|
{
|
|
1167
1175
|
ref,
|
|
1168
1176
|
className: "flex-1 overflow-hidden w-full flex text-sm whitespace-nowrap",
|
|
1169
1177
|
children: menu.map((item, idx) => {
|
|
1170
1178
|
const isHidden = hidden >= menu.length - idx;
|
|
1171
|
-
return /* @__PURE__ */ (0,
|
|
1172
|
-
|
|
1179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1180
|
+
import_react_aria_components8.Tab,
|
|
1173
1181
|
{
|
|
1174
1182
|
ref: (el) => itemsRef.current[idx] = el,
|
|
1175
1183
|
id: item.id,
|
|
@@ -1187,10 +1195,10 @@ function SidebarTabs({
|
|
|
1187
1195
|
})
|
|
1188
1196
|
}
|
|
1189
1197
|
),
|
|
1190
|
-
/* @__PURE__ */ (0,
|
|
1198
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { ref: setHiddenMenu, id: "hidden-menu" })
|
|
1191
1199
|
] }),
|
|
1192
|
-
menu.map((item) => /* @__PURE__ */ (0,
|
|
1193
|
-
|
|
1200
|
+
menu.map((item) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1201
|
+
import_react_aria_components8.TabPanel,
|
|
1194
1202
|
{
|
|
1195
1203
|
id: item.id,
|
|
1196
1204
|
className: "flex-1 overflow-y-auto h-full",
|
|
@@ -1203,7 +1211,7 @@ function SidebarTabs({
|
|
|
1203
1211
|
menuId
|
|
1204
1212
|
),
|
|
1205
1213
|
hiddenMenu && hidden > 0 ? (0, import_react_dom2.createPortal)(
|
|
1206
|
-
/* @__PURE__ */ (0,
|
|
1214
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1207
1215
|
MoreMenu,
|
|
1208
1216
|
{
|
|
1209
1217
|
hidden,
|
|
@@ -1218,9 +1226,9 @@ function SidebarTabs({
|
|
|
1218
1226
|
] });
|
|
1219
1227
|
}
|
|
1220
1228
|
var MoreMenu = (0, import_collections.createHideableComponent)(({ selectedIndex, hidden, menuHidden, selectedKey, onSelectionChange }) => {
|
|
1221
|
-
return /* @__PURE__ */ (0,
|
|
1222
|
-
/* @__PURE__ */ (0,
|
|
1223
|
-
|
|
1229
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsxs)(import_react_aria_components8.MenuTrigger, { children: [
|
|
1230
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1231
|
+
import_react_aria_components8.Button,
|
|
1224
1232
|
{
|
|
1225
1233
|
className: cn(
|
|
1226
1234
|
"border-none rounded bg-gray-100 px-1.5 py-1 mr-2 mb-1 text-me-primary-500 semibold uppercase text-[10px]",
|
|
@@ -1229,13 +1237,13 @@ var MoreMenu = (0, import_collections.createHideableComponent)(({ selectedIndex,
|
|
|
1229
1237
|
children: "MORE"
|
|
1230
1238
|
}
|
|
1231
1239
|
),
|
|
1232
|
-
/* @__PURE__ */ (0,
|
|
1233
|
-
|
|
1240
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_react_aria_components8.Popover, { children: menuHidden.length ? /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1241
|
+
import_react_aria_components8.Menu,
|
|
1234
1242
|
{
|
|
1235
1243
|
className: "bg-white rounded shadow-lg flex flex-col gap-0.5 p-0.5 min-w-28",
|
|
1236
1244
|
children: menuHidden.map((item) => {
|
|
1237
|
-
return /* @__PURE__ */ (0,
|
|
1238
|
-
|
|
1245
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1246
|
+
import_react_aria_components8.MenuItem,
|
|
1239
1247
|
{
|
|
1240
1248
|
className: (state) => cn(
|
|
1241
1249
|
"hover:bg-me-gray-100 p-1 rounded-sm text-sm",
|
|
@@ -1254,14 +1262,14 @@ var MoreMenu = (0, import_collections.createHideableComponent)(({ selectedIndex,
|
|
|
1254
1262
|
|
|
1255
1263
|
// src/MetadataContainer.tsx
|
|
1256
1264
|
var import_react_iiif_vault5 = require("react-iiif-vault");
|
|
1257
|
-
var
|
|
1265
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1258
1266
|
function MetadataContainer({
|
|
1259
1267
|
className: className2,
|
|
1260
1268
|
label,
|
|
1261
1269
|
children,
|
|
1262
1270
|
...props
|
|
1263
1271
|
}) {
|
|
1264
|
-
return /* @__PURE__ */ (0,
|
|
1272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
1265
1273
|
"fieldset",
|
|
1266
1274
|
{
|
|
1267
1275
|
className: cn(
|
|
@@ -1270,7 +1278,7 @@ function MetadataContainer({
|
|
|
1270
1278
|
),
|
|
1271
1279
|
...props,
|
|
1272
1280
|
children: [
|
|
1273
|
-
/* @__PURE__ */ (0,
|
|
1281
|
+
/* @__PURE__ */ (0, import_jsx_runtime36.jsx)(import_react_iiif_vault5.LocaleString, { className: "text-lg font-bold text-[#333] mb-2", as: "h3", children: label }),
|
|
1274
1282
|
children
|
|
1275
1283
|
]
|
|
1276
1284
|
}
|
|
@@ -1278,9 +1286,9 @@ function MetadataContainer({
|
|
|
1278
1286
|
}
|
|
1279
1287
|
|
|
1280
1288
|
// src/EmptyState.tsx
|
|
1281
|
-
var
|
|
1289
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
1282
1290
|
function EmptyState(props) {
|
|
1283
|
-
return /* @__PURE__ */ (0,
|
|
1291
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
1284
1292
|
"div",
|
|
1285
1293
|
{
|
|
1286
1294
|
className: cn(
|
|
@@ -1294,9 +1302,9 @@ function EmptyState(props) {
|
|
|
1294
1302
|
}
|
|
1295
1303
|
|
|
1296
1304
|
// src/ManifestEditorLogo.tsx
|
|
1297
|
-
var
|
|
1305
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
1298
1306
|
function ManifestEditorLogo(props) {
|
|
1299
|
-
return /* @__PURE__ */ (0,
|
|
1307
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
1300
1308
|
"svg",
|
|
1301
1309
|
{
|
|
1302
1310
|
width: "1em",
|
|
@@ -1305,28 +1313,28 @@ function ManifestEditorLogo(props) {
|
|
|
1305
1313
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1306
1314
|
className: "me-logo h-[23px] w-[176px]",
|
|
1307
1315
|
...props,
|
|
1308
|
-
children: /* @__PURE__ */ (0,
|
|
1309
|
-
/* @__PURE__ */ (0,
|
|
1316
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("g", { fill: "none", children: [
|
|
1317
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
1310
1318
|
"path",
|
|
1311
1319
|
{
|
|
1312
1320
|
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",
|
|
1313
1321
|
fill: "#000"
|
|
1314
1322
|
}
|
|
1315
1323
|
),
|
|
1316
|
-
/* @__PURE__ */ (0,
|
|
1317
|
-
/* @__PURE__ */ (0,
|
|
1318
|
-
/* @__PURE__ */ (0,
|
|
1324
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("path", { fill: "#E94581", className: "me-logo-1", d: "M0 13.343 13.343 0l13.343 13.343-13.343 13.343z" }),
|
|
1325
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("path", { fill: "#E94581", className: "me-logo-2", d: "M12.137 13.346 25.48.003l13.343 13.343L25.48 26.69z" }),
|
|
1326
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)("path", { fill: "#C63E75", className: "me-logo-3", d: "m12.104 13.348 7.311-7.311 7.312 7.311-7.312 7.312z" })
|
|
1319
1327
|
] })
|
|
1320
1328
|
}
|
|
1321
1329
|
);
|
|
1322
1330
|
}
|
|
1323
1331
|
|
|
1324
1332
|
// src/Forms.tsx
|
|
1325
|
-
var
|
|
1326
|
-
var
|
|
1333
|
+
var import_react_aria_components9 = require("react-aria-components");
|
|
1334
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
1327
1335
|
function MeLabel({ className: className2, ...props }) {
|
|
1328
|
-
return /* @__PURE__ */ (0,
|
|
1329
|
-
|
|
1336
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1337
|
+
import_react_aria_components9.Label,
|
|
1330
1338
|
{
|
|
1331
1339
|
className: cn(
|
|
1332
1340
|
//
|
|
@@ -1338,8 +1346,8 @@ function MeLabel({ className: className2, ...props }) {
|
|
|
1338
1346
|
);
|
|
1339
1347
|
}
|
|
1340
1348
|
function MeRadioGroup({ className: className2, ...props }) {
|
|
1341
|
-
return /* @__PURE__ */ (0,
|
|
1342
|
-
|
|
1349
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1350
|
+
import_react_aria_components9.RadioGroup,
|
|
1343
1351
|
{
|
|
1344
1352
|
className: cn(
|
|
1345
1353
|
//
|
|
@@ -1351,8 +1359,8 @@ function MeRadioGroup({ className: className2, ...props }) {
|
|
|
1351
1359
|
);
|
|
1352
1360
|
}
|
|
1353
1361
|
function MeRadio({ className: className2, ...props }) {
|
|
1354
|
-
return /* @__PURE__ */ (0,
|
|
1355
|
-
|
|
1362
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1363
|
+
import_react_aria_components9.Radio,
|
|
1356
1364
|
{
|
|
1357
1365
|
className: (state) => cn(
|
|
1358
1366
|
//
|
|
@@ -1364,8 +1372,8 @@ function MeRadio({ className: className2, ...props }) {
|
|
|
1364
1372
|
);
|
|
1365
1373
|
}
|
|
1366
1374
|
function MeForm({ className: className2, ...props }) {
|
|
1367
|
-
return /* @__PURE__ */ (0,
|
|
1368
|
-
|
|
1375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1376
|
+
import_react_aria_components9.Form,
|
|
1369
1377
|
{
|
|
1370
1378
|
className: cn(
|
|
1371
1379
|
//
|
|
@@ -1377,8 +1385,8 @@ function MeForm({ className: className2, ...props }) {
|
|
|
1377
1385
|
);
|
|
1378
1386
|
}
|
|
1379
1387
|
function MeInput({ className: className2, ...props }) {
|
|
1380
|
-
return /* @__PURE__ */ (0,
|
|
1381
|
-
|
|
1388
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1389
|
+
import_react_aria_components9.Input,
|
|
1382
1390
|
{
|
|
1383
1391
|
className: cn(
|
|
1384
1392
|
//
|
|
@@ -1391,8 +1399,8 @@ function MeInput({ className: className2, ...props }) {
|
|
|
1391
1399
|
);
|
|
1392
1400
|
}
|
|
1393
1401
|
function MeTextArea({ className: className2, ...props }) {
|
|
1394
|
-
return /* @__PURE__ */ (0,
|
|
1395
|
-
|
|
1402
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1403
|
+
import_react_aria_components9.TextArea,
|
|
1396
1404
|
{
|
|
1397
1405
|
className: cn(
|
|
1398
1406
|
//
|
|
@@ -1409,7 +1417,7 @@ function MeInputContainer({
|
|
|
1409
1417
|
className: className2,
|
|
1410
1418
|
...props
|
|
1411
1419
|
}) {
|
|
1412
|
-
return /* @__PURE__ */ (0,
|
|
1420
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1413
1421
|
"div",
|
|
1414
1422
|
{
|
|
1415
1423
|
className: cn(
|
|
@@ -1442,12 +1450,12 @@ var import_turndown = __toESM(require("turndown"), 1);
|
|
|
1442
1450
|
var import_style = require("@mdxeditor/editor/style.css");
|
|
1443
1451
|
var import_editor = require("@mdxeditor/editor");
|
|
1444
1452
|
var import_react7 = require("react");
|
|
1445
|
-
var
|
|
1453
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
1446
1454
|
function MDXEditor({
|
|
1447
1455
|
editorRef,
|
|
1448
1456
|
...props
|
|
1449
1457
|
}) {
|
|
1450
|
-
return /* @__PURE__ */ (0,
|
|
1458
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1451
1459
|
import_editor.MDXEditor,
|
|
1452
1460
|
{
|
|
1453
1461
|
plugins: (0, import_react7.useMemo)(
|
|
@@ -1463,14 +1471,14 @@ function MDXEditor({
|
|
|
1463
1471
|
(0, import_editor.diffSourcePlugin)(),
|
|
1464
1472
|
(0, import_editor.toolbarPlugin)({
|
|
1465
1473
|
toolbarClassName: "mdx-toolbar",
|
|
1466
|
-
toolbarContents: () => /* @__PURE__ */ (0,
|
|
1474
|
+
toolbarContents: () => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
|
|
1467
1475
|
" ",
|
|
1468
|
-
/* @__PURE__ */ (0,
|
|
1469
|
-
/* @__PURE__ */ (0,
|
|
1470
|
-
/* @__PURE__ */ (0,
|
|
1471
|
-
/* @__PURE__ */ (0,
|
|
1472
|
-
/* @__PURE__ */ (0,
|
|
1473
|
-
/* @__PURE__ */ (0,
|
|
1476
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_editor.UndoRedo, {}),
|
|
1477
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_editor.BoldItalicUnderlineToggles, {}),
|
|
1478
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_editor.BlockTypeSelect, {}),
|
|
1479
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_editor.ListsToggle, { options: ["bullet", "number"] }),
|
|
1480
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_editor.CreateLink, {}),
|
|
1481
|
+
/* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_editor.InsertImage, {})
|
|
1474
1482
|
] })
|
|
1475
1483
|
})
|
|
1476
1484
|
],
|
|
@@ -1483,7 +1491,7 @@ function MDXEditor({
|
|
|
1483
1491
|
}
|
|
1484
1492
|
|
|
1485
1493
|
// src/HTMLEditor.tsx
|
|
1486
|
-
var
|
|
1494
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
1487
1495
|
var converter = new import_showdown.Converter();
|
|
1488
1496
|
converter.setFlavor("github");
|
|
1489
1497
|
var turndownService = new import_turndown.default();
|
|
@@ -1511,7 +1519,7 @@ function HTMLEditor({
|
|
|
1511
1519
|
}
|
|
1512
1520
|
};
|
|
1513
1521
|
}, []);
|
|
1514
|
-
return /* @__PURE__ */ (0,
|
|
1522
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
1515
1523
|
MDXEditor,
|
|
1516
1524
|
{
|
|
1517
1525
|
editorRef,
|
|
@@ -1537,7 +1545,7 @@ function HTMLEditor({
|
|
|
1537
1545
|
|
|
1538
1546
|
// src/IconButton.tsx
|
|
1539
1547
|
var import_tailwind_merge7 = require("tailwind-merge");
|
|
1540
|
-
var
|
|
1548
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
1541
1549
|
function IconButton({
|
|
1542
1550
|
children,
|
|
1543
1551
|
active,
|
|
@@ -1548,9 +1556,10 @@ function IconButton({
|
|
|
1548
1556
|
className: className2,
|
|
1549
1557
|
placement = "top"
|
|
1550
1558
|
}) {
|
|
1551
|
-
return /* @__PURE__ */ (0,
|
|
1559
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Tooltip, { placement, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
1552
1560
|
TooltipTrigger,
|
|
1553
1561
|
{
|
|
1562
|
+
"aria-label": label,
|
|
1554
1563
|
onClick: onPress,
|
|
1555
1564
|
className: (0, import_tailwind_merge7.twMerge)(
|
|
1556
1565
|
"rounded flex items-center bg-white justify-center p-2 hover:bg-gray-100 text-2xl",
|
|
@@ -1560,14 +1569,14 @@ function IconButton({
|
|
|
1560
1569
|
),
|
|
1561
1570
|
children: [
|
|
1562
1571
|
children,
|
|
1563
|
-
/* @__PURE__ */ (0,
|
|
1572
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DefaultTooltipContent, { root, className: "translate-x-3 z-50", children: label })
|
|
1564
1573
|
]
|
|
1565
1574
|
}
|
|
1566
1575
|
) });
|
|
1567
1576
|
}
|
|
1568
1577
|
|
|
1569
1578
|
// src/ItemWithHandle.tsx
|
|
1570
|
-
var
|
|
1579
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
1571
1580
|
function ItemWithHandle({
|
|
1572
1581
|
children,
|
|
1573
1582
|
handle,
|
|
@@ -1578,9 +1587,9 @@ function ItemWithHandle({
|
|
|
1578
1587
|
// Tailwind
|
|
1579
1588
|
"absolute flex p-1 gap-1 bg-white z-1 right-1 top-1 rounded"
|
|
1580
1589
|
) : "flex-shrink-0 flex items-center gap-1 px-1";
|
|
1581
|
-
return /* @__PURE__ */ (0,
|
|
1582
|
-
/* @__PURE__ */ (0,
|
|
1583
|
-
/* @__PURE__ */ (0,
|
|
1590
|
+
return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: grid ? "relative flex flex-col" : "flex items-center", children: [
|
|
1591
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "flex-1 min-w-0", style: { flex: 1, minWidth: 0 }, children }),
|
|
1592
|
+
/* @__PURE__ */ (0, import_jsx_runtime43.jsxs)("div", { className: gridStyleClassName, children: [
|
|
1584
1593
|
actions,
|
|
1585
1594
|
handle
|
|
1586
1595
|
] })
|
|
@@ -1589,9 +1598,9 @@ function ItemWithHandle({
|
|
|
1589
1598
|
|
|
1590
1599
|
// src/HandleContainer.tsx
|
|
1591
1600
|
var import_react9 = require("react");
|
|
1592
|
-
var
|
|
1601
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
1593
1602
|
var HandleContainer = (0, import_react9.forwardRef)(function HandleContainer2({ className: className2, ...props }, ref) {
|
|
1594
|
-
return /* @__PURE__ */ (0,
|
|
1603
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
1595
1604
|
"div",
|
|
1596
1605
|
{
|
|
1597
1606
|
ref,
|
|
@@ -1602,13 +1611,12 @@ var HandleContainer = (0, import_react9.forwardRef)(function HandleContainer2({
|
|
|
1602
1611
|
});
|
|
1603
1612
|
|
|
1604
1613
|
// src/CollectionListItem.tsx
|
|
1605
|
-
var import_react_aria_components9 = require("react-aria-components");
|
|
1606
1614
|
var import_react_iiif_vault6 = require("react-iiif-vault");
|
|
1607
1615
|
|
|
1608
1616
|
// src/icons/CollectionIcon.tsx
|
|
1609
|
-
var
|
|
1617
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
1610
1618
|
function CollectionIcon(props) {
|
|
1611
|
-
return /* @__PURE__ */ (0,
|
|
1619
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
1612
1620
|
"svg",
|
|
1613
1621
|
{
|
|
1614
1622
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1618,7 +1626,7 @@ function CollectionIcon(props) {
|
|
|
1618
1626
|
"aria-label": "collection",
|
|
1619
1627
|
role: "img",
|
|
1620
1628
|
...props,
|
|
1621
|
-
children: /* @__PURE__ */ (0,
|
|
1629
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
1622
1630
|
"path",
|
|
1623
1631
|
{
|
|
1624
1632
|
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",
|
|
@@ -1630,37 +1638,42 @@ function CollectionIcon(props) {
|
|
|
1630
1638
|
}
|
|
1631
1639
|
|
|
1632
1640
|
// src/CollectionListItem.tsx
|
|
1633
|
-
var
|
|
1641
|
+
var import_react_aria2 = require("react-aria");
|
|
1642
|
+
var import_i18n = require("@iiif/helpers/i18n");
|
|
1643
|
+
var import_jsx_runtime46 = require("react/jsx-runtime");
|
|
1634
1644
|
function CollectionListItem({ isActive, onAction }) {
|
|
1635
1645
|
const collection = (0, import_react_iiif_vault6.useCollection)({});
|
|
1636
|
-
|
|
1637
|
-
|
|
1646
|
+
const { pressProps } = (0, import_react_aria2.usePress)({
|
|
1647
|
+
onPress: onAction
|
|
1648
|
+
});
|
|
1649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
1650
|
+
"li",
|
|
1638
1651
|
{
|
|
1652
|
+
"aria-label": (0, import_i18n.getValue)(collection?.label),
|
|
1639
1653
|
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",
|
|
1640
|
-
onPress: onAction,
|
|
1641
1654
|
"data-active": isActive || void 0,
|
|
1655
|
+
...pressProps,
|
|
1642
1656
|
children: [
|
|
1643
|
-
/* @__PURE__ */ (0,
|
|
1657
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
1644
1658
|
CollectionIcon,
|
|
1645
1659
|
{
|
|
1646
1660
|
"data-active": isActive || void 0,
|
|
1647
1661
|
className: "flex-shrink-0 text-2xl data-[active]:text-me-primary-500 text-gray-400"
|
|
1648
1662
|
}
|
|
1649
1663
|
),
|
|
1650
|
-
/* @__PURE__ */ (0,
|
|
1664
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_iiif_vault6.LocaleString, { children: collection?.label })
|
|
1651
1665
|
]
|
|
1652
1666
|
}
|
|
1653
1667
|
);
|
|
1654
1668
|
}
|
|
1655
1669
|
|
|
1656
1670
|
// src/ManifestListItem.tsx
|
|
1657
|
-
var import_react_aria_components10 = require("react-aria-components");
|
|
1658
1671
|
var import_react_iiif_vault7 = require("react-iiif-vault");
|
|
1659
1672
|
|
|
1660
1673
|
// src/icons/ManifestIcon.tsx
|
|
1661
|
-
var
|
|
1674
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
1662
1675
|
function ManifestIcon(props) {
|
|
1663
|
-
return /* @__PURE__ */ (0,
|
|
1676
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
1664
1677
|
"svg",
|
|
1665
1678
|
{
|
|
1666
1679
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1670,7 +1683,7 @@ function ManifestIcon(props) {
|
|
|
1670
1683
|
"aria-label": "manifest",
|
|
1671
1684
|
role: "img",
|
|
1672
1685
|
...props,
|
|
1673
|
-
children: /* @__PURE__ */ (0,
|
|
1686
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
1674
1687
|
"path",
|
|
1675
1688
|
{
|
|
1676
1689
|
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",
|
|
@@ -1682,35 +1695,41 @@ function ManifestIcon(props) {
|
|
|
1682
1695
|
}
|
|
1683
1696
|
|
|
1684
1697
|
// src/ManifestListItem.tsx
|
|
1685
|
-
var
|
|
1698
|
+
var import_react_aria3 = require("react-aria");
|
|
1699
|
+
var import_helpers = require("@iiif/helpers");
|
|
1700
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
1686
1701
|
function ManifestListItem({ isActive, onAction }) {
|
|
1687
1702
|
const manifest = (0, import_react_iiif_vault7.useManifest)();
|
|
1688
|
-
|
|
1689
|
-
|
|
1703
|
+
const { pressProps } = (0, import_react_aria3.usePress)({
|
|
1704
|
+
onPress: onAction
|
|
1705
|
+
});
|
|
1706
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
1707
|
+
"li",
|
|
1690
1708
|
{
|
|
1709
|
+
"aria-label": (0, import_helpers.getValue)(manifest?.label),
|
|
1691
1710
|
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",
|
|
1692
|
-
onPress: onAction,
|
|
1693
1711
|
"data-active": isActive || void 0,
|
|
1712
|
+
...pressProps,
|
|
1694
1713
|
children: [
|
|
1695
|
-
/* @__PURE__ */ (0,
|
|
1714
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
1696
1715
|
ManifestIcon,
|
|
1697
1716
|
{
|
|
1698
1717
|
"data-active": isActive || void 0,
|
|
1699
1718
|
className: "flex-shrink-0 text-2xl data-[active]:text-me-primary-500 text-gray-400"
|
|
1700
1719
|
}
|
|
1701
1720
|
),
|
|
1702
|
-
/* @__PURE__ */ (0,
|
|
1721
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_iiif_vault7.LocaleString, { children: manifest?.label })
|
|
1703
1722
|
]
|
|
1704
1723
|
}
|
|
1705
1724
|
);
|
|
1706
1725
|
}
|
|
1707
1726
|
|
|
1708
1727
|
// src/icons/CreateCanvasIcon.tsx
|
|
1709
|
-
var
|
|
1728
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
1710
1729
|
function CreateCanvasIcon() {
|
|
1711
|
-
return /* @__PURE__ */ (0,
|
|
1712
|
-
/* @__PURE__ */ (0,
|
|
1713
|
-
/* @__PURE__ */ (0,
|
|
1730
|
+
return /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24", viewBox: "0 0 24 24", width: "24", children: [
|
|
1731
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
|
|
1732
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
|
|
1714
1733
|
"path",
|
|
1715
1734
|
{
|
|
1716
1735
|
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",
|
|
@@ -1721,8 +1740,8 @@ function CreateCanvasIcon() {
|
|
|
1721
1740
|
}
|
|
1722
1741
|
|
|
1723
1742
|
// src/icons/AddImageIcon.tsx
|
|
1724
|
-
var
|
|
1725
|
-
var AddImageIcon = (props) => /* @__PURE__ */ (0,
|
|
1743
|
+
var import_jsx_runtime50 = require("react/jsx-runtime");
|
|
1744
|
+
var AddImageIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
|
|
1726
1745
|
"path",
|
|
1727
1746
|
{
|
|
1728
1747
|
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",
|
|
@@ -1731,8 +1750,8 @@ var AddImageIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("svg
|
|
|
1731
1750
|
) });
|
|
1732
1751
|
|
|
1733
1752
|
// src/icons/IIIFLogo.tsx
|
|
1734
|
-
var
|
|
1735
|
-
var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ (0,
|
|
1753
|
+
var import_jsx_runtime51 = require("react/jsx-runtime");
|
|
1754
|
+
var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ (0, import_jsx_runtime51.jsxs)(
|
|
1736
1755
|
"svg",
|
|
1737
1756
|
{
|
|
1738
1757
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1742,7 +1761,7 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ (0, import_jsx_run
|
|
|
1742
1761
|
...props,
|
|
1743
1762
|
viewBox: "0 0 493.36 441.333",
|
|
1744
1763
|
children: [
|
|
1745
|
-
/* @__PURE__ */ (0,
|
|
1764
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
1746
1765
|
"path",
|
|
1747
1766
|
{
|
|
1748
1767
|
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",
|
|
@@ -1755,7 +1774,7 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ (0, import_jsx_run
|
|
|
1755
1774
|
transform: "matrix(.13333 0 0 -.13333 0 441.333)"
|
|
1756
1775
|
}
|
|
1757
1776
|
),
|
|
1758
|
-
/* @__PURE__ */ (0,
|
|
1777
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
1759
1778
|
"path",
|
|
1760
1779
|
{
|
|
1761
1780
|
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",
|
|
@@ -1768,7 +1787,7 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ (0, import_jsx_run
|
|
|
1768
1787
|
transform: "matrix(.13333 0 0 -.13333 0 441.333)"
|
|
1769
1788
|
}
|
|
1770
1789
|
),
|
|
1771
|
-
/* @__PURE__ */ (0,
|
|
1790
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
1772
1791
|
"path",
|
|
1773
1792
|
{
|
|
1774
1793
|
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",
|
|
@@ -1781,7 +1800,7 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ (0, import_jsx_run
|
|
|
1781
1800
|
transform: "matrix(.13333 0 0 -.13333 0 441.333)"
|
|
1782
1801
|
}
|
|
1783
1802
|
),
|
|
1784
|
-
/* @__PURE__ */ (0,
|
|
1803
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
1785
1804
|
"path",
|
|
1786
1805
|
{
|
|
1787
1806
|
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",
|
|
@@ -1799,8 +1818,8 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ (0, import_jsx_run
|
|
|
1799
1818
|
);
|
|
1800
1819
|
|
|
1801
1820
|
// src/icons/HTMLIcon.tsx
|
|
1802
|
-
var
|
|
1803
|
-
var HTMLIcon = (props) => /* @__PURE__ */ (0,
|
|
1821
|
+
var import_jsx_runtime52 = require("react/jsx-runtime");
|
|
1822
|
+
var HTMLIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
|
|
1804
1823
|
"path",
|
|
1805
1824
|
{
|
|
1806
1825
|
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",
|
|
@@ -1809,8 +1828,8 @@ var HTMLIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("svg", {
|
|
|
1809
1828
|
) });
|
|
1810
1829
|
|
|
1811
1830
|
// src/icons/IIIFBrowserIcon.tsx
|
|
1812
|
-
var
|
|
1813
|
-
var IIIFBrowserIcon = (props) => /* @__PURE__ */ (0,
|
|
1831
|
+
var import_jsx_runtime53 = require("react/jsx-runtime");
|
|
1832
|
+
var IIIFBrowserIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime53.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
|
|
1814
1833
|
"path",
|
|
1815
1834
|
{
|
|
1816
1835
|
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",
|
|
@@ -1819,12 +1838,12 @@ var IIIFBrowserIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("
|
|
|
1819
1838
|
) });
|
|
1820
1839
|
|
|
1821
1840
|
// src/icons/InfoIcon.tsx
|
|
1822
|
-
var
|
|
1841
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
1823
1842
|
function InfoIcon({ title, titleId, ...props }) {
|
|
1824
|
-
return /* @__PURE__ */ (0,
|
|
1825
|
-
title ? /* @__PURE__ */ (0,
|
|
1826
|
-
/* @__PURE__ */ (0,
|
|
1827
|
-
/* @__PURE__ */ (0,
|
|
1843
|
+
return /* @__PURE__ */ (0, import_jsx_runtime54.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", "aria-labelledby": titleId, ...props, children: [
|
|
1844
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime54.jsx)("title", { id: titleId, children: title }) : null,
|
|
1845
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
|
|
1846
|
+
/* @__PURE__ */ (0, import_jsx_runtime54.jsx)(
|
|
1828
1847
|
"path",
|
|
1829
1848
|
{
|
|
1830
1849
|
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",
|
|
@@ -1835,13 +1854,13 @@ function InfoIcon({ title, titleId, ...props }) {
|
|
|
1835
1854
|
}
|
|
1836
1855
|
|
|
1837
1856
|
// src/icons/ListingIcon.tsx
|
|
1838
|
-
var
|
|
1857
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
1839
1858
|
function ListingIcon({
|
|
1840
1859
|
title,
|
|
1841
1860
|
titleId,
|
|
1842
1861
|
...props
|
|
1843
1862
|
}) {
|
|
1844
|
-
return /* @__PURE__ */ (0,
|
|
1863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
|
|
1845
1864
|
"svg",
|
|
1846
1865
|
{
|
|
1847
1866
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1851,12 +1870,12 @@ function ListingIcon({
|
|
|
1851
1870
|
"aria-labelledby": titleId,
|
|
1852
1871
|
...props,
|
|
1853
1872
|
children: [
|
|
1854
|
-
title ? /* @__PURE__ */ (0,
|
|
1855
|
-
/* @__PURE__ */ (0,
|
|
1856
|
-
/* @__PURE__ */ (0,
|
|
1857
|
-
/* @__PURE__ */ (0,
|
|
1873
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("title", { id: titleId, children: title }) : null,
|
|
1874
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsxs)("g", { fill: "none", children: [
|
|
1875
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("path", { d: "M0 0h24v24H0V0z" }),
|
|
1876
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)("path", { d: "M0 0h24v24H0V0z", opacity: ".87" })
|
|
1858
1877
|
] }),
|
|
1859
|
-
/* @__PURE__ */ (0,
|
|
1878
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
1860
1879
|
"path",
|
|
1861
1880
|
{
|
|
1862
1881
|
d: "M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7zm-4 6h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z",
|
|
@@ -1869,8 +1888,8 @@ function ListingIcon({
|
|
|
1869
1888
|
}
|
|
1870
1889
|
|
|
1871
1890
|
// src/icons/YouTubeIcon.tsx
|
|
1872
|
-
var
|
|
1873
|
-
var YouTubeIcon = (props) => /* @__PURE__ */ (0,
|
|
1891
|
+
var import_jsx_runtime56 = require("react/jsx-runtime");
|
|
1892
|
+
var YouTubeIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
|
|
1874
1893
|
"path",
|
|
1875
1894
|
{
|
|
1876
1895
|
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",
|
|
@@ -1879,13 +1898,13 @@ var YouTubeIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("svg"
|
|
|
1879
1898
|
) });
|
|
1880
1899
|
|
|
1881
1900
|
// src/icons/ListEditIcon.tsx
|
|
1882
|
-
var
|
|
1901
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
1883
1902
|
function ListEditIcon({
|
|
1884
1903
|
title,
|
|
1885
1904
|
titleId,
|
|
1886
1905
|
...props
|
|
1887
1906
|
}) {
|
|
1888
|
-
return /* @__PURE__ */ (0,
|
|
1907
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
1889
1908
|
"svg",
|
|
1890
1909
|
{
|
|
1891
1910
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1895,17 +1914,17 @@ function ListEditIcon({
|
|
|
1895
1914
|
"aria-labelledby": titleId,
|
|
1896
1915
|
...props,
|
|
1897
1916
|
children: [
|
|
1898
|
-
title ? /* @__PURE__ */ (0,
|
|
1899
|
-
/* @__PURE__ */ (0,
|
|
1900
|
-
/* @__PURE__ */ (0,
|
|
1917
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("title", { id: titleId, children: title }) : null,
|
|
1918
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("path", { d: "M0 0h24v24H0V0z", fill: "none" }),
|
|
1919
|
+
/* @__PURE__ */ (0, import_jsx_runtime57.jsx)("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" })
|
|
1901
1920
|
]
|
|
1902
1921
|
}
|
|
1903
1922
|
);
|
|
1904
1923
|
}
|
|
1905
1924
|
|
|
1906
1925
|
// src/icons/VideoIcon.tsx
|
|
1907
|
-
var
|
|
1908
|
-
var VideoIcon = (props) => /* @__PURE__ */ (0,
|
|
1926
|
+
var import_jsx_runtime58 = require("react/jsx-runtime");
|
|
1927
|
+
var VideoIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
|
|
1909
1928
|
"path",
|
|
1910
1929
|
{
|
|
1911
1930
|
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",
|
|
@@ -1914,8 +1933,8 @@ var VideoIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("svg",
|
|
|
1914
1933
|
) });
|
|
1915
1934
|
|
|
1916
1935
|
// src/icons/AudioIcon.tsx
|
|
1917
|
-
var
|
|
1918
|
-
var AudioIcon = (props) => /* @__PURE__ */ (0,
|
|
1936
|
+
var import_jsx_runtime59 = require("react/jsx-runtime");
|
|
1937
|
+
var AudioIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
|
|
1919
1938
|
"path",
|
|
1920
1939
|
{
|
|
1921
1940
|
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",
|
|
@@ -1924,8 +1943,8 @@ var AudioIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("svg",
|
|
|
1924
1943
|
) });
|
|
1925
1944
|
|
|
1926
1945
|
// src/icons/EmptyCanvasIcon.tsx
|
|
1927
|
-
var
|
|
1928
|
-
var EmptyCanvasIcon = (props) => /* @__PURE__ */ (0,
|
|
1946
|
+
var import_jsx_runtime60 = require("react/jsx-runtime");
|
|
1947
|
+
var EmptyCanvasIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", fill: "#5f6368", viewBox: "0 -960 960 960", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
|
|
1929
1948
|
"path",
|
|
1930
1949
|
{
|
|
1931
1950
|
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",
|
|
@@ -1934,14 +1953,14 @@ var EmptyCanvasIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime59.jsx)("
|
|
|
1934
1953
|
) });
|
|
1935
1954
|
|
|
1936
1955
|
// src/icons/AddIcon.tsx
|
|
1937
|
-
var
|
|
1956
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
1938
1957
|
function AddIcon({
|
|
1939
1958
|
className: className2,
|
|
1940
1959
|
inline,
|
|
1941
1960
|
height = 16,
|
|
1942
1961
|
color = "black"
|
|
1943
1962
|
}) {
|
|
1944
|
-
return /* @__PURE__ */ (0,
|
|
1963
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
1945
1964
|
"svg",
|
|
1946
1965
|
{
|
|
1947
1966
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1952,17 +1971,17 @@ function AddIcon({
|
|
|
1952
1971
|
style: { verticalAlign: inline ? "bottom" : void 0 },
|
|
1953
1972
|
className: className2,
|
|
1954
1973
|
children: [
|
|
1955
|
-
/* @__PURE__ */ (0,
|
|
1956
|
-
/* @__PURE__ */ (0,
|
|
1974
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("path", { d: "M0 0h24v24H0z", fill: "none" }),
|
|
1975
|
+
/* @__PURE__ */ (0, import_jsx_runtime61.jsx)("path", { d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z", fill: "currentColor" })
|
|
1957
1976
|
]
|
|
1958
1977
|
}
|
|
1959
1978
|
);
|
|
1960
1979
|
}
|
|
1961
1980
|
|
|
1962
1981
|
// src/icons/MoreMenu.tsx
|
|
1963
|
-
var
|
|
1982
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
1964
1983
|
function MoreMenu2() {
|
|
1965
|
-
return /* @__PURE__ */ (0,
|
|
1984
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
1966
1985
|
"svg",
|
|
1967
1986
|
{
|
|
1968
1987
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1970,8 +1989,8 @@ function MoreMenu2() {
|
|
|
1970
1989
|
viewBox: "0 0 24 24",
|
|
1971
1990
|
width: "1em",
|
|
1972
1991
|
children: [
|
|
1973
|
-
/* @__PURE__ */ (0,
|
|
1974
|
-
/* @__PURE__ */ (0,
|
|
1992
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("path", { d: "M0 0h24v24H0z", fill: "none" }),
|
|
1993
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
1975
1994
|
"path",
|
|
1976
1995
|
{
|
|
1977
1996
|
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",
|
|
@@ -1984,9 +2003,9 @@ function MoreMenu2() {
|
|
|
1984
2003
|
}
|
|
1985
2004
|
|
|
1986
2005
|
// src/icons/PreviewIcon.tsx
|
|
1987
|
-
var
|
|
2006
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
1988
2007
|
function PreviewIcon(props) {
|
|
1989
|
-
return /* @__PURE__ */ (0,
|
|
2008
|
+
return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
|
|
1990
2009
|
"path",
|
|
1991
2010
|
{
|
|
1992
2011
|
fill: "currentColor",
|
|
@@ -1996,9 +2015,9 @@ function PreviewIcon(props) {
|
|
|
1996
2015
|
}
|
|
1997
2016
|
|
|
1998
2017
|
// src/icons/ImageListIcon.tsx
|
|
1999
|
-
var
|
|
2018
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
2000
2019
|
function ImageListIcon(props) {
|
|
2001
|
-
return /* @__PURE__ */ (0,
|
|
2020
|
+
return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(
|
|
2002
2021
|
"path",
|
|
2003
2022
|
{
|
|
2004
2023
|
fill: "currentColor",
|
|
@@ -2008,16 +2027,16 @@ function ImageListIcon(props) {
|
|
|
2008
2027
|
}
|
|
2009
2028
|
|
|
2010
2029
|
// src/icons/BackIcon.tsx
|
|
2011
|
-
var
|
|
2030
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
2012
2031
|
function BackIcon(props) {
|
|
2013
|
-
return /* @__PURE__ */ (0,
|
|
2032
|
+
return /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime65.jsx)("path", { fill: "currentColor", d: "M20 11H7.83l5.59-5.59L12 4l-8 8l8 8l1.41-1.41L7.83 13H20z" }) });
|
|
2014
2033
|
}
|
|
2015
2034
|
|
|
2016
2035
|
// src/icons/GridIcon.tsx
|
|
2017
|
-
var
|
|
2036
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
2018
2037
|
function GridIcon(props) {
|
|
2019
|
-
return /* @__PURE__ */ (0,
|
|
2020
|
-
/* @__PURE__ */ (0,
|
|
2038
|
+
return /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: [
|
|
2039
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
2021
2040
|
"path",
|
|
2022
2041
|
{
|
|
2023
2042
|
fill: "currentColor",
|
|
@@ -2025,7 +2044,7 @@ function GridIcon(props) {
|
|
|
2025
2044
|
opacity: ".3"
|
|
2026
2045
|
}
|
|
2027
2046
|
),
|
|
2028
|
-
/* @__PURE__ */ (0,
|
|
2047
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
2029
2048
|
"path",
|
|
2030
2049
|
{
|
|
2031
2050
|
fill: "currentColor",
|
|
@@ -2036,9 +2055,9 @@ function GridIcon(props) {
|
|
|
2036
2055
|
}
|
|
2037
2056
|
|
|
2038
2057
|
// src/icons/ScaledImageIcon.tsx
|
|
2039
|
-
var
|
|
2058
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
2040
2059
|
function ScaledImageIcon(props) {
|
|
2041
|
-
return /* @__PURE__ */ (0,
|
|
2060
|
+
return /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "1em", height: "1em", viewBox: "0 0 24 24", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
|
|
2042
2061
|
"path",
|
|
2043
2062
|
{
|
|
2044
2063
|
fill: "currentColor",
|
|
@@ -2049,9 +2068,9 @@ function ScaledImageIcon(props) {
|
|
|
2049
2068
|
|
|
2050
2069
|
// src/ErrorMessage.tsx
|
|
2051
2070
|
var import_tailwind_merge8 = require("tailwind-merge");
|
|
2052
|
-
var
|
|
2071
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
2053
2072
|
function ErrorMessage({ children, small = false, className: className2 }) {
|
|
2054
|
-
return /* @__PURE__ */ (0,
|
|
2073
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
2055
2074
|
"div",
|
|
2056
2075
|
{
|
|
2057
2076
|
className: (0, import_tailwind_merge8.twMerge)(
|
|
@@ -2088,9 +2107,9 @@ function useFastList(list, firstRender = 24) {
|
|
|
2088
2107
|
|
|
2089
2108
|
// src/RenderTextualContent.tsx
|
|
2090
2109
|
var import_react11 = require("react");
|
|
2091
|
-
var
|
|
2110
|
+
var import_react_aria_components10 = require("react-aria-components");
|
|
2092
2111
|
var import_react_iiif_vault8 = require("react-iiif-vault");
|
|
2093
|
-
var
|
|
2112
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
2094
2113
|
function RenderTextualContent(props) {
|
|
2095
2114
|
const languages = props.strategy.items.map(
|
|
2096
2115
|
(item) => Object.keys(item.text)[0]
|
|
@@ -2099,10 +2118,10 @@ function RenderTextualContent(props) {
|
|
|
2099
2118
|
const selected = props.strategy.items.find(
|
|
2100
2119
|
(item) => Object.keys(item.text)[0] === langauge
|
|
2101
2120
|
);
|
|
2102
|
-
return /* @__PURE__ */ (0,
|
|
2103
|
-
/* @__PURE__ */ (0,
|
|
2104
|
-
return /* @__PURE__ */ (0,
|
|
2105
|
-
|
|
2121
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "overflow-y-auto bg-white shadow", children: [
|
|
2122
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "flex gap-2 border-b", children: languages.map((language) => {
|
|
2123
|
+
return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
2124
|
+
import_react_aria_components10.Button,
|
|
2106
2125
|
{
|
|
2107
2126
|
className: `py-1 px-3 ${langauge === language ? "bg-me-500 text-white" : "bg-white text-black"}`,
|
|
2108
2127
|
onPress: () => setLanguage(language),
|
|
@@ -2111,11 +2130,11 @@ function RenderTextualContent(props) {
|
|
|
2111
2130
|
language
|
|
2112
2131
|
);
|
|
2113
2132
|
}) }),
|
|
2114
|
-
/* @__PURE__ */ (0,
|
|
2133
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "p-4 prose", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
2115
2134
|
import_react_iiif_vault8.LocaleString,
|
|
2116
2135
|
{
|
|
2117
2136
|
enableDangerouslySetInnerHTML: true,
|
|
2118
|
-
defaultText: /* @__PURE__ */ (0,
|
|
2137
|
+
defaultText: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "text-gray-500 my-8", children: "No content available" }),
|
|
2119
2138
|
children: selected?.text
|
|
2120
2139
|
}
|
|
2121
2140
|
) })
|
|
@@ -2129,15 +2148,15 @@ var import_captions = require("@vidstack/react/player/styles/default/captions.cs
|
|
|
2129
2148
|
var import_video = require("@vidstack/react/player/styles/default/layouts/video.css");
|
|
2130
2149
|
var import_react12 = require("@vidstack/react");
|
|
2131
2150
|
var import_default = require("@vidstack/react/player/layouts/default");
|
|
2132
|
-
var
|
|
2151
|
+
var import_helpers2 = require("@iiif/helpers");
|
|
2133
2152
|
var import_react13 = require("react");
|
|
2134
|
-
var
|
|
2153
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
2135
2154
|
function IIIFMediaPlayer(props) {
|
|
2136
2155
|
const mediaPlayer = (0, import_react13.useRef)(null);
|
|
2137
2156
|
const captions = props.captions || [];
|
|
2138
2157
|
const language = props.language;
|
|
2139
2158
|
const timeRef = (0, import_react13.useRef)(props.startTime || 0);
|
|
2140
|
-
return /* @__PURE__ */ (0,
|
|
2159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
2141
2160
|
import_react12.MediaPlayer,
|
|
2142
2161
|
{
|
|
2143
2162
|
onTimeUpdate: (time) => {
|
|
@@ -2158,29 +2177,29 @@ function IIIFMediaPlayer(props) {
|
|
|
2158
2177
|
type: props.media.format
|
|
2159
2178
|
}
|
|
2160
2179
|
],
|
|
2161
|
-
children: /* @__PURE__ */ (0,
|
|
2180
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_react12.MediaProvider, { className: "w-full h-full [&>video]:w-full [&>video]:h-full [&>video]:object-contain", children: [
|
|
2162
2181
|
captions.map((caption) => {
|
|
2163
|
-
return /* @__PURE__ */ (0,
|
|
2182
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
2164
2183
|
import_react12.Track,
|
|
2165
2184
|
{
|
|
2166
2185
|
src: caption.id,
|
|
2167
2186
|
kind: "subtitles",
|
|
2168
|
-
label: (0,
|
|
2187
|
+
label: (0, import_helpers2.getValue)(caption.label),
|
|
2169
2188
|
default: caption.language === language,
|
|
2170
2189
|
language: caption.language
|
|
2171
2190
|
},
|
|
2172
2191
|
caption.id
|
|
2173
2192
|
);
|
|
2174
2193
|
}),
|
|
2175
|
-
props.poster ? /* @__PURE__ */ (0,
|
|
2194
|
+
props.poster ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
2176
2195
|
import_react12.Poster,
|
|
2177
2196
|
{
|
|
2178
2197
|
className: "absolute inset-0 bg-black block h-full w-full opacity-0 transition-opacity data-[visible]:opacity-100 object-contain",
|
|
2179
2198
|
src: props.poster
|
|
2180
2199
|
}
|
|
2181
2200
|
) : null,
|
|
2182
|
-
/* @__PURE__ */ (0,
|
|
2183
|
-
/* @__PURE__ */ (0,
|
|
2201
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Gestures, {}),
|
|
2202
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
2184
2203
|
import_default.DefaultVideoLayout,
|
|
2185
2204
|
{
|
|
2186
2205
|
className: "z-1",
|
|
@@ -2193,8 +2212,8 @@ function IIIFMediaPlayer(props) {
|
|
|
2193
2212
|
);
|
|
2194
2213
|
}
|
|
2195
2214
|
function Gestures() {
|
|
2196
|
-
return /* @__PURE__ */ (0,
|
|
2197
|
-
/* @__PURE__ */ (0,
|
|
2215
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_jsx_runtime70.Fragment, { children: [
|
|
2216
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
2198
2217
|
import_react12.Gesture,
|
|
2199
2218
|
{
|
|
2200
2219
|
className: "pointer-coarse:hidden absolute top-0 start-12 bottom-20 right-0 -z-1 block",
|
|
@@ -2202,6 +2221,6 @@ function Gestures() {
|
|
|
2202
2221
|
action: "toggle:paused"
|
|
2203
2222
|
}
|
|
2204
2223
|
),
|
|
2205
|
-
/* @__PURE__ */ (0,
|
|
2224
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_react12.Gesture, { className: "absolute inset-0 z-0 block h-full w-full", event: "dblpointerup", action: "toggle:fullscreen" })
|
|
2206
2225
|
] });
|
|
2207
2226
|
}
|