@manifest-editor/components 1.3.1 → 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 +646 -368
- package/dist/index.css +102 -5
- package/dist/index.d.cts +65 -8
- package/dist/index.d.ts +65 -8
- package/dist/index.js +605 -332
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -31,13 +31,17 @@ 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,
|
|
37
38
|
AtlasBanner: () => AtlasBanner,
|
|
38
39
|
AudioIcon: () => AudioIcon,
|
|
40
|
+
BackIcon: () => BackIcon,
|
|
39
41
|
CanvasThumbnailGridItem: () => CanvasThumbnailGridItem,
|
|
40
42
|
Card3D: () => Card3D,
|
|
43
|
+
CollectionIcon: () => CollectionIcon,
|
|
44
|
+
CollectionListItem: () => CollectionListItem,
|
|
41
45
|
ConfirmSelectionButton: () => ConfirmSelectionButton,
|
|
42
46
|
ControlButton: () => ControlButton,
|
|
43
47
|
CreateCanvasIcon: () => CreateCanvasIcon,
|
|
@@ -50,6 +54,7 @@ __export(src_exports, {
|
|
|
50
54
|
EmptyState: () => EmptyState,
|
|
51
55
|
ErrorMessage: () => ErrorMessage,
|
|
52
56
|
Form: () => Form,
|
|
57
|
+
GridIcon: () => GridIcon,
|
|
53
58
|
HTMLEditor: () => HTMLEditor,
|
|
54
59
|
HTMLIcon: () => HTMLIcon,
|
|
55
60
|
HandleContainer: () => HandleContainer,
|
|
@@ -57,21 +62,31 @@ __export(src_exports, {
|
|
|
57
62
|
IIIFLogo: () => IIIFLogo,
|
|
58
63
|
IIIFMediaPlayer: () => IIIFMediaPlayer,
|
|
59
64
|
IconButton: () => IconButton,
|
|
65
|
+
ImageListIcon: () => ImageListIcon,
|
|
66
|
+
InfoIcon: () => InfoIcon,
|
|
60
67
|
ItemWithHandle: () => ItemWithHandle,
|
|
61
68
|
LazyThumbnail: () => LazyThumbnail,
|
|
69
|
+
ListEditIcon: () => ListEditIcon,
|
|
70
|
+
ListingIcon: () => ListingIcon,
|
|
62
71
|
MDXEditor: () => MDXEditor,
|
|
63
72
|
ManifestEditorLogo: () => ManifestEditorLogo,
|
|
73
|
+
ManifestIcon: () => ManifestIcon,
|
|
74
|
+
ManifestListItem: () => ManifestListItem,
|
|
64
75
|
ManifestOverviewEmptyState: () => ManifestOverviewEmptyState,
|
|
65
76
|
MetadataContainer: () => MetadataContainer,
|
|
66
77
|
Modal: () => Modal,
|
|
78
|
+
ModalBackSlot: () => ModalBackSlot,
|
|
67
79
|
MoreMenu: () => MoreMenu2,
|
|
68
80
|
OpaqueControls: () => OpaqueControls,
|
|
69
81
|
PanelSideMenu: () => PanelSideMenu,
|
|
82
|
+
PreviewIcon: () => PreviewIcon,
|
|
70
83
|
RenderTextualContent: () => RenderTextualContent,
|
|
84
|
+
ScaledImageIcon: () => ScaledImageIcon,
|
|
71
85
|
Sidebar: () => Sidebar,
|
|
72
86
|
SidebarContent: () => SidebarContent,
|
|
73
87
|
SidebarHeader: () => SidebarHeader,
|
|
74
88
|
SidebarTabs: () => SidebarTabs,
|
|
89
|
+
Spinner: () => Spinner,
|
|
75
90
|
SvgControlBar: () => SvgControlBar,
|
|
76
91
|
Tab: () => Tab,
|
|
77
92
|
TabList: () => TabList,
|
|
@@ -94,32 +109,27 @@ var import_dist = require("iiif-browser/dist/index.css");
|
|
|
94
109
|
|
|
95
110
|
// src/ActionButton.tsx
|
|
96
111
|
var import_react_aria_components = require("react-aria-components");
|
|
97
|
-
|
|
98
|
-
// src/utils.ts
|
|
99
|
-
var import_clsx = require("clsx");
|
|
100
112
|
var import_tailwind_merge = require("tailwind-merge");
|
|
101
|
-
var cn = (...inputs) => {
|
|
102
|
-
return (0, import_tailwind_merge.twMerge)((0, import_clsx.clsx)(inputs));
|
|
103
|
-
};
|
|
104
|
-
|
|
105
|
-
// src/ActionButton.tsx
|
|
106
113
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
107
114
|
function ActionButton({
|
|
108
115
|
className: className2,
|
|
109
116
|
primary,
|
|
110
117
|
center,
|
|
118
|
+
large,
|
|
111
119
|
children,
|
|
112
120
|
...props
|
|
113
121
|
}) {
|
|
114
122
|
return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
|
|
115
123
|
import_react_aria_components.Button,
|
|
116
124
|
{
|
|
117
|
-
className:
|
|
125
|
+
className: (t) => (0, import_tailwind_merge.twMerge)(
|
|
118
126
|
//
|
|
119
|
-
"border-none flex gap-1 items-center
|
|
127
|
+
"border-none flex gap-1 items-center bg-gray-100 text-me-primary-500 text-sm rounded hover:bg-gray-200",
|
|
120
128
|
primary ? "bg-me-primary-500 text-white hover:bg-me-primary-600" : "",
|
|
121
129
|
center ? "place-content-center" : "",
|
|
122
|
-
|
|
130
|
+
large ? "px-4 py-2" : "px-2 py-1",
|
|
131
|
+
t.isDisabled ? "opacity-70 cursor-not-allowed pointer-events-none" : "",
|
|
132
|
+
typeof className2 === "string" ? className2 : className2?.(t)
|
|
123
133
|
),
|
|
124
134
|
...props,
|
|
125
135
|
children
|
|
@@ -127,12 +137,26 @@ function ActionButton({
|
|
|
127
137
|
);
|
|
128
138
|
}
|
|
129
139
|
|
|
130
|
-
// src/
|
|
131
|
-
var React = __toESM(require("react"), 1);
|
|
132
|
-
var import_react = require("@floating-ui/react");
|
|
140
|
+
// src/AccessibilityButton.tsx
|
|
133
141
|
var import_react_aria_components2 = require("react-aria-components");
|
|
134
|
-
var import_tailwind_merge2 = require("tailwind-merge");
|
|
135
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
|
+
|
|
147
|
+
// src/utils.ts
|
|
148
|
+
var import_clsx = require("clsx");
|
|
149
|
+
var import_tailwind_merge2 = require("tailwind-merge");
|
|
150
|
+
var cn = (...inputs) => {
|
|
151
|
+
return (0, import_tailwind_merge2.twMerge)((0, import_clsx.clsx)(inputs));
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
// src/Tooltip.tsx
|
|
155
|
+
var import_react = require("@floating-ui/react");
|
|
156
|
+
var React = __toESM(require("react"), 1);
|
|
157
|
+
var import_react_aria_components3 = require("react-aria-components");
|
|
158
|
+
var import_tailwind_merge3 = require("tailwind-merge");
|
|
159
|
+
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
136
160
|
function useTooltip({
|
|
137
161
|
initialOpen = false,
|
|
138
162
|
placement = "top",
|
|
@@ -186,12 +210,9 @@ var useTooltipContext = () => {
|
|
|
186
210
|
}
|
|
187
211
|
return context;
|
|
188
212
|
};
|
|
189
|
-
function Tooltip({
|
|
190
|
-
children,
|
|
191
|
-
...options
|
|
192
|
-
}) {
|
|
213
|
+
function Tooltip({ children, ...options }) {
|
|
193
214
|
const tooltip = useTooltip(options);
|
|
194
|
-
return /* @__PURE__ */ (0,
|
|
215
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(TooltipContext.Provider, { value: tooltip, children });
|
|
195
216
|
}
|
|
196
217
|
var TooltipTrigger = React.forwardRef(function TooltipTrigger2({ children, asChild = false, ...props }, propRef) {
|
|
197
218
|
const context = useTooltipContext();
|
|
@@ -208,8 +229,8 @@ var TooltipTrigger = React.forwardRef(function TooltipTrigger2({ children, asChi
|
|
|
208
229
|
})
|
|
209
230
|
);
|
|
210
231
|
}
|
|
211
|
-
return /* @__PURE__ */ (0,
|
|
212
|
-
|
|
232
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
233
|
+
import_react_aria_components3.Button,
|
|
213
234
|
{
|
|
214
235
|
ref,
|
|
215
236
|
"data-state": context.open ? "open" : "closed",
|
|
@@ -218,12 +239,12 @@ var TooltipTrigger = React.forwardRef(function TooltipTrigger2({ children, asChi
|
|
|
218
239
|
}
|
|
219
240
|
);
|
|
220
241
|
});
|
|
221
|
-
var TooltipContent = React.forwardRef(function TooltipContent2({ style, ...props }, propRef) {
|
|
242
|
+
var TooltipContent = React.forwardRef(function TooltipContent2({ style, root, ...props }, propRef) {
|
|
222
243
|
const context = useTooltipContext();
|
|
223
244
|
const ref = (0, import_react.useMergeRefs)([context.refs.setFloating, propRef]);
|
|
224
245
|
if (!context.open)
|
|
225
246
|
return null;
|
|
226
|
-
return /* @__PURE__ */ (0,
|
|
247
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_react.FloatingPortal, { root, children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
227
248
|
"div",
|
|
228
249
|
{
|
|
229
250
|
ref,
|
|
@@ -236,36 +257,34 @@ var TooltipContent = React.forwardRef(function TooltipContent2({ style, ...props
|
|
|
236
257
|
) });
|
|
237
258
|
});
|
|
238
259
|
function DefaultTooltipContent(props) {
|
|
239
|
-
return /* @__PURE__ */ (0,
|
|
260
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
240
261
|
TooltipContent,
|
|
241
262
|
{
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
props.className
|
|
245
|
-
),
|
|
263
|
+
root: props.root,
|
|
264
|
+
className: (0, import_tailwind_merge3.twMerge)("bg-me-gray-900 text-white text-sm px-3 py-2 rounded opacity-90 z-50", props.className),
|
|
246
265
|
children: props.children
|
|
247
266
|
}
|
|
248
267
|
);
|
|
249
268
|
}
|
|
250
269
|
|
|
251
270
|
// src/Sidebar.tsx
|
|
252
|
-
var
|
|
271
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
253
272
|
function Sidebar({ children }) {
|
|
254
|
-
return /* @__PURE__ */ (0,
|
|
273
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "w-full h-full flex flex-col overflow-hidden", children });
|
|
255
274
|
}
|
|
256
275
|
function SidebarContent({
|
|
257
276
|
children,
|
|
258
277
|
className: className2,
|
|
259
278
|
padding
|
|
260
279
|
}) {
|
|
261
|
-
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 });
|
|
262
281
|
}
|
|
263
282
|
function SidebarHeader(props) {
|
|
264
283
|
const { actions, title } = props;
|
|
265
|
-
return /* @__PURE__ */ (0,
|
|
266
|
-
/* @__PURE__ */ (0,
|
|
267
|
-
/* @__PURE__ */ (0,
|
|
268
|
-
/* @__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)(
|
|
269
288
|
"button",
|
|
270
289
|
{
|
|
271
290
|
className: cn(
|
|
@@ -281,18 +300,18 @@ function SidebarHeader(props) {
|
|
|
281
300
|
},
|
|
282
301
|
index
|
|
283
302
|
) }),
|
|
284
|
-
!action.disabled ? /* @__PURE__ */ (0,
|
|
303
|
+
!action.disabled ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DefaultTooltipContent, { children: action.title }) : null
|
|
285
304
|
] }, index)) })
|
|
286
305
|
] });
|
|
287
306
|
}
|
|
288
307
|
|
|
289
308
|
// src/PanelSideMenu.tsx
|
|
290
|
-
var
|
|
309
|
+
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
291
310
|
|
|
292
311
|
// src/PanelSideMenuItem.tsx
|
|
293
|
-
var
|
|
312
|
+
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
294
313
|
function PanelSideMenuItem(props) {
|
|
295
|
-
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)(
|
|
296
315
|
"button",
|
|
297
316
|
{
|
|
298
317
|
className: cn(
|
|
@@ -303,18 +322,18 @@ function PanelSideMenuItem(props) {
|
|
|
303
322
|
onMouseDown: props.onClick,
|
|
304
323
|
children: [
|
|
305
324
|
props.icon,
|
|
306
|
-
/* @__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 })
|
|
307
326
|
]
|
|
308
327
|
}
|
|
309
328
|
) }) });
|
|
310
329
|
}
|
|
311
330
|
|
|
312
331
|
// src/PanelSideMenu.tsx
|
|
313
|
-
var
|
|
332
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
314
333
|
function PanelSideMenu(props) {
|
|
315
|
-
return /* @__PURE__ */ (0,
|
|
316
|
-
panel.divide ? /* @__PURE__ */ (0,
|
|
317
|
-
/* @__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)(
|
|
318
337
|
PanelSideMenuItem,
|
|
319
338
|
{
|
|
320
339
|
label: panel.label,
|
|
@@ -328,24 +347,24 @@ function PanelSideMenu(props) {
|
|
|
328
347
|
}
|
|
329
348
|
|
|
330
349
|
// src/ThumbnailGridContainer.tsx
|
|
331
|
-
var
|
|
350
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
332
351
|
function ThumbnailGridContainer(props) {
|
|
333
352
|
if (props.wide) {
|
|
334
|
-
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 });
|
|
335
354
|
}
|
|
336
|
-
return /* @__PURE__ */ (0,
|
|
355
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "grid grid-cols-2 gap-4 p-4", children: props.children });
|
|
337
356
|
}
|
|
338
357
|
|
|
339
358
|
// src/LazyThumbnail.tsx
|
|
340
359
|
var import_react2 = require("react");
|
|
341
360
|
var import_react_iiif_vault = require("react-iiif-vault");
|
|
342
361
|
var import_react_lazy_load_image_component = require("react-lazy-load-image-component");
|
|
343
|
-
var
|
|
362
|
+
var import_tailwind_merge4 = require("tailwind-merge");
|
|
344
363
|
|
|
345
364
|
// src/Spinner.tsx
|
|
346
|
-
var
|
|
365
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
347
366
|
function Spinner(props) {
|
|
348
|
-
return /* @__PURE__ */ (0,
|
|
367
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
|
|
349
368
|
"svg",
|
|
350
369
|
{
|
|
351
370
|
width: "1em",
|
|
@@ -354,9 +373,9 @@ function Spinner(props) {
|
|
|
354
373
|
xmlns: "http://www.w3.org/2000/svg",
|
|
355
374
|
stroke: "currentColor",
|
|
356
375
|
...props,
|
|
357
|
-
children: /* @__PURE__ */ (0,
|
|
358
|
-
/* @__PURE__ */ (0,
|
|
359
|
-
/* @__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)(
|
|
360
379
|
"animateTransform",
|
|
361
380
|
{
|
|
362
381
|
attributeName: "transform",
|
|
@@ -373,9 +392,9 @@ function Spinner(props) {
|
|
|
373
392
|
}
|
|
374
393
|
|
|
375
394
|
// src/icons/TextIcon.tsx
|
|
376
|
-
var
|
|
395
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
377
396
|
function TextIcon(props) {
|
|
378
|
-
return /* @__PURE__ */ (0,
|
|
397
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(
|
|
379
398
|
"svg",
|
|
380
399
|
{
|
|
381
400
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -384,8 +403,8 @@ function TextIcon(props) {
|
|
|
384
403
|
viewBox: "0 0 24 24",
|
|
385
404
|
...props,
|
|
386
405
|
children: [
|
|
387
|
-
/* @__PURE__ */ (0,
|
|
388
|
-
/* @__PURE__ */ (0,
|
|
406
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)("title", { children: "Text" }),
|
|
407
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
|
|
389
408
|
"path",
|
|
390
409
|
{
|
|
391
410
|
fill: "currentColor",
|
|
@@ -398,12 +417,12 @@ function TextIcon(props) {
|
|
|
398
417
|
}
|
|
399
418
|
|
|
400
419
|
// src/LazyThumbnail.tsx
|
|
401
|
-
var
|
|
420
|
+
var import_jsx_runtime11 = require("react/jsx-runtime");
|
|
402
421
|
function LazyThumbnail({
|
|
403
422
|
cover,
|
|
404
423
|
fade = true
|
|
405
424
|
}) {
|
|
406
|
-
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 }) });
|
|
407
426
|
}
|
|
408
427
|
var renderCache = /* @__PURE__ */ new Map();
|
|
409
428
|
function LazyThumbnailInner({
|
|
@@ -436,8 +455,8 @@ function LazyThumbnailInner({
|
|
|
436
455
|
},
|
|
437
456
|
[isCached]
|
|
438
457
|
);
|
|
439
|
-
return /* @__PURE__ */ (0,
|
|
440
|
-
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)(
|
|
441
460
|
"img",
|
|
442
461
|
{
|
|
443
462
|
onLoad: () => setIsLoading(false),
|
|
@@ -446,15 +465,15 @@ function LazyThumbnailInner({
|
|
|
446
465
|
alt: "",
|
|
447
466
|
className: `w-full h-full ${cover ? "object-cover" : "object-contain"} ${!isLoading ? isCached ? "" : "animate-fadeIn" : "opacity-0"}`
|
|
448
467
|
}
|
|
449
|
-
) : /* @__PURE__ */ (0,
|
|
450
|
-
!thumbnail?.id || isLoading ? /* @__PURE__ */ (0,
|
|
468
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(ThumbnailFallback, {}),
|
|
469
|
+
!thumbnail?.id || isLoading ? /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(
|
|
451
470
|
"div",
|
|
452
471
|
{
|
|
453
|
-
className: (0,
|
|
472
|
+
className: (0, import_tailwind_merge4.twMerge)(
|
|
454
473
|
"absolute inset-0 flex items-center justify-center bg-me-gray-100 text-2xl z-10",
|
|
455
474
|
fade && "animate-fadeIn"
|
|
456
475
|
),
|
|
457
|
-
children: /* @__PURE__ */ (0,
|
|
476
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(Spinner, {})
|
|
458
477
|
}
|
|
459
478
|
) : null
|
|
460
479
|
] });
|
|
@@ -462,9 +481,9 @@ function LazyThumbnailInner({
|
|
|
462
481
|
function ThumbnailFallback() {
|
|
463
482
|
const [strategy] = (0, import_react_iiif_vault.useRenderingStrategy)();
|
|
464
483
|
if (strategy.type === "textual-content") {
|
|
465
|
-
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" }) });
|
|
466
485
|
}
|
|
467
|
-
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" });
|
|
468
487
|
}
|
|
469
488
|
|
|
470
489
|
// src/CanvasThumbnailGridItem.tsx
|
|
@@ -472,18 +491,18 @@ var import_react_iiif_vault3 = require("react-iiif-vault");
|
|
|
472
491
|
|
|
473
492
|
// src/CanvasLabel.tsx
|
|
474
493
|
var import_react_iiif_vault2 = require("react-iiif-vault");
|
|
475
|
-
var
|
|
494
|
+
var import_jsx_runtime12 = require("react/jsx-runtime");
|
|
476
495
|
function CanvasLabel(props) {
|
|
477
496
|
const canvas = (0, import_react_iiif_vault2.useCanvas)();
|
|
478
497
|
if (!canvas)
|
|
479
498
|
return null;
|
|
480
|
-
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 });
|
|
481
500
|
}
|
|
482
501
|
|
|
483
502
|
// src/Card3D.tsx
|
|
484
503
|
var import_react3 = require("react");
|
|
485
|
-
var
|
|
486
|
-
var
|
|
504
|
+
var import_tailwind_merge5 = require("tailwind-merge");
|
|
505
|
+
var import_jsx_runtime13 = require("react/jsx-runtime");
|
|
487
506
|
function Card3D({
|
|
488
507
|
className: className2,
|
|
489
508
|
shouldTranslate,
|
|
@@ -554,11 +573,11 @@ function Card3D({
|
|
|
554
573
|
outer.current.removeEventListener("mousemove", mousemove);
|
|
555
574
|
};
|
|
556
575
|
}, []);
|
|
557
|
-
return /* @__PURE__ */ (0,
|
|
576
|
+
return /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)(
|
|
558
577
|
"div",
|
|
559
578
|
{
|
|
560
579
|
ref: outer,
|
|
561
|
-
className: (0,
|
|
580
|
+
className: (0, import_tailwind_merge5.twMerge)(
|
|
562
581
|
//
|
|
563
582
|
"relative transition-all hover:duration-50",
|
|
564
583
|
shouldTranslate && "hover:shadow-xl",
|
|
@@ -567,7 +586,7 @@ function Card3D({
|
|
|
567
586
|
...props,
|
|
568
587
|
children: [
|
|
569
588
|
children,
|
|
570
|
-
/* @__PURE__ */ (0,
|
|
589
|
+
/* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
|
|
571
590
|
"div",
|
|
572
591
|
{
|
|
573
592
|
className: "pointer-events-none absolute inset-0 transition-all",
|
|
@@ -583,10 +602,10 @@ function Card3D({
|
|
|
583
602
|
}
|
|
584
603
|
|
|
585
604
|
// src/CanvasThumbnailGridItem.tsx
|
|
586
|
-
var
|
|
605
|
+
var import_jsx_runtime14 = require("react/jsx-runtime");
|
|
587
606
|
function CanvasThumbnailGridItem(props) {
|
|
588
|
-
return /* @__PURE__ */ (0,
|
|
589
|
-
/* @__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)(
|
|
590
609
|
Card3D,
|
|
591
610
|
{
|
|
592
611
|
"data-canvas-selected": props.active,
|
|
@@ -595,82 +614,68 @@ function CanvasThumbnailGridItem(props) {
|
|
|
595
614
|
"border-2 border-transparent p-1 w-full h-full rounded",
|
|
596
615
|
props.selected && "border-me-primary-500"
|
|
597
616
|
),
|
|
598
|
-
children: /* @__PURE__ */ (0,
|
|
617
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(LazyThumbnail, {})
|
|
599
618
|
}
|
|
600
619
|
) }),
|
|
601
|
-
/* @__PURE__ */ (0,
|
|
620
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(CanvasLabel, { className: "text-sm text-center truncate mt-1", as: "div" })
|
|
602
621
|
] }) });
|
|
603
622
|
}
|
|
604
623
|
|
|
605
624
|
// src/Modal.tsx
|
|
606
625
|
var import_react4 = require("@headlessui/react");
|
|
607
|
-
var
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
}) {
|
|
616
|
-
return /* @__PURE__ */ (0,
|
|
617
|
-
|
|
618
|
-
{
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_react4.DialogTitle, { className: "text-xl font-semibold text-gray-900 ", children: title }),
|
|
634
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.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: [
|
|
635
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
636
|
-
"svg",
|
|
626
|
+
var import_react_dom = require("react-dom");
|
|
627
|
+
var import_jsx_runtime15 = require("react/jsx-runtime");
|
|
628
|
+
function ModalBackSlot({ children }) {
|
|
629
|
+
const element = document.getElementById("modal-back-slot");
|
|
630
|
+
if (!element)
|
|
631
|
+
return null;
|
|
632
|
+
return (0, import_react_dom.createPortal)(children, element);
|
|
633
|
+
}
|
|
634
|
+
function Modal({ id, title, open = true, onClose, actions, children }) {
|
|
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)(
|
|
643
|
+
"svg",
|
|
644
|
+
{
|
|
645
|
+
className: "w-3 h-3",
|
|
646
|
+
"aria-hidden": "true",
|
|
647
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
648
|
+
fill: "none",
|
|
649
|
+
viewBox: "0 0 14 14",
|
|
650
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(
|
|
651
|
+
"path",
|
|
637
652
|
{
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
644
|
-
"path",
|
|
645
|
-
{
|
|
646
|
-
stroke: "currentColor",
|
|
647
|
-
strokeLinecap: "round",
|
|
648
|
-
strokeLinejoin: "round",
|
|
649
|
-
strokeWidth: "2",
|
|
650
|
-
d: "m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"
|
|
651
|
-
}
|
|
652
|
-
)
|
|
653
|
+
stroke: "currentColor",
|
|
654
|
+
strokeLinecap: "round",
|
|
655
|
+
strokeLinejoin: "round",
|
|
656
|
+
strokeWidth: "2",
|
|
657
|
+
d: "m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6"
|
|
653
658
|
}
|
|
654
|
-
)
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
}
|
|
663
|
-
) });
|
|
659
|
+
)
|
|
660
|
+
}
|
|
661
|
+
),
|
|
662
|
+
/* @__PURE__ */ (0, import_jsx_runtime15.jsx)("span", { className: "sr-only", children: "Close" })
|
|
663
|
+
] })
|
|
664
|
+
] }),
|
|
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
|
|
667
|
+
] }) }) })
|
|
668
|
+
] }) });
|
|
664
669
|
}
|
|
665
670
|
|
|
666
671
|
// src/ControlButton.tsx
|
|
667
|
-
var
|
|
672
|
+
var import_jsx_runtime16 = require("react/jsx-runtime");
|
|
668
673
|
function ControlButton({
|
|
669
674
|
children,
|
|
670
675
|
className: className2,
|
|
671
676
|
...props
|
|
672
677
|
}) {
|
|
673
|
-
return /* @__PURE__ */ (0,
|
|
678
|
+
return /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
|
|
674
679
|
"button",
|
|
675
680
|
{
|
|
676
681
|
className: cn(
|
|
@@ -684,9 +689,9 @@ function ControlButton({
|
|
|
684
689
|
}
|
|
685
690
|
|
|
686
691
|
// src/OpaqueControls.tsx
|
|
687
|
-
var
|
|
692
|
+
var import_jsx_runtime17 = require("react/jsx-runtime");
|
|
688
693
|
function OpaqueControls(props) {
|
|
689
|
-
return /* @__PURE__ */ (0,
|
|
694
|
+
return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
|
|
690
695
|
"div",
|
|
691
696
|
{
|
|
692
697
|
className: cn("flex w-full p-0.5 opacity-0 transition-opacity duration-300 gap-2", props.active && "opacity-1"),
|
|
@@ -696,11 +701,11 @@ function OpaqueControls(props) {
|
|
|
696
701
|
}
|
|
697
702
|
|
|
698
703
|
// src/Tabs.tsx
|
|
699
|
-
var
|
|
700
|
-
var
|
|
704
|
+
var import_react_aria_components4 = require("react-aria-components");
|
|
705
|
+
var import_jsx_runtime18 = require("react/jsx-runtime");
|
|
701
706
|
function Tabs({ className: className2, children, ...props }) {
|
|
702
|
-
return /* @__PURE__ */ (0,
|
|
703
|
-
|
|
707
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
708
|
+
import_react_aria_components4.Tabs,
|
|
704
709
|
{
|
|
705
710
|
className: (state) => {
|
|
706
711
|
const cs = typeof className2 === "function" ? className2(state) : className2;
|
|
@@ -716,8 +721,8 @@ function TabList({
|
|
|
716
721
|
children,
|
|
717
722
|
...props
|
|
718
723
|
}) {
|
|
719
|
-
return /* @__PURE__ */ (0,
|
|
720
|
-
|
|
724
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
725
|
+
import_react_aria_components4.TabList,
|
|
721
726
|
{
|
|
722
727
|
className: (state) => {
|
|
723
728
|
const cs = typeof className2 === "function" ? className2(state) : className2;
|
|
@@ -729,8 +734,8 @@ function TabList({
|
|
|
729
734
|
);
|
|
730
735
|
}
|
|
731
736
|
function Tab({ className: className2, children, ...props }) {
|
|
732
|
-
return /* @__PURE__ */ (0,
|
|
733
|
-
|
|
737
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
738
|
+
import_react_aria_components4.Tab,
|
|
734
739
|
{
|
|
735
740
|
className: (state) => {
|
|
736
741
|
const cs = typeof className2 === "function" ? className2(state) : className2;
|
|
@@ -747,8 +752,8 @@ function Tab({ className: className2, children, ...props }) {
|
|
|
747
752
|
);
|
|
748
753
|
}
|
|
749
754
|
function TabPanel({ className: className2, children, ...props }) {
|
|
750
|
-
return /* @__PURE__ */ (0,
|
|
751
|
-
|
|
755
|
+
return /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
|
|
756
|
+
import_react_aria_components4.TabPanel,
|
|
752
757
|
{
|
|
753
758
|
className: (state) => {
|
|
754
759
|
const cs = typeof className2 === "function" ? className2(state) : className2;
|
|
@@ -761,44 +766,44 @@ function TabPanel({ className: className2, children, ...props }) {
|
|
|
761
766
|
}
|
|
762
767
|
|
|
763
768
|
// src/CreatorGrid.tsx
|
|
764
|
-
var
|
|
765
|
-
var
|
|
766
|
-
var
|
|
769
|
+
var import_react_aria_components5 = require("react-aria-components");
|
|
770
|
+
var import_tailwind_merge6 = require("tailwind-merge");
|
|
771
|
+
var import_jsx_runtime19 = require("react/jsx-runtime");
|
|
767
772
|
function CreatorGrid(props) {
|
|
768
|
-
return /* @__PURE__ */ (0,
|
|
769
|
-
|
|
773
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
|
|
774
|
+
import_react_aria_components5.ListBox,
|
|
770
775
|
{
|
|
771
776
|
orientation: "horizontal",
|
|
772
777
|
"aria-label": props.label,
|
|
773
778
|
selectionMode: "single",
|
|
774
779
|
items: props.items,
|
|
775
780
|
className: "grid grid-sm gap-4 p-4 mb-8",
|
|
776
|
-
children: (item) => /* @__PURE__ */ (0,
|
|
781
|
+
children: (item) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(CreatorGridItem, { ...item })
|
|
777
782
|
}
|
|
778
783
|
);
|
|
779
784
|
}
|
|
780
785
|
function CreatorGridItem(props) {
|
|
781
|
-
return /* @__PURE__ */ (0,
|
|
782
|
-
|
|
786
|
+
return /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)(
|
|
787
|
+
import_react_aria_components5.ListBoxItem,
|
|
783
788
|
{
|
|
784
789
|
id: props.id,
|
|
785
790
|
onAction: props.onClick,
|
|
786
|
-
className: ($s) => (0,
|
|
791
|
+
className: ($s) => (0, import_tailwind_merge6.twMerge)(
|
|
787
792
|
"bg-white p-2 border-me-gray-300 rounded-md border hover:border-me-primary-500",
|
|
788
793
|
$s.isFocused && "border-me-primary-500 outline-me-primary-500 outline-2"
|
|
789
794
|
),
|
|
790
795
|
children: [
|
|
791
|
-
/* @__PURE__ */ (0,
|
|
792
|
-
/* @__PURE__ */ (0,
|
|
793
|
-
/* @__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 })
|
|
794
799
|
]
|
|
795
800
|
}
|
|
796
801
|
);
|
|
797
802
|
}
|
|
798
803
|
|
|
799
804
|
// src/icons/DownloadIcon.tsx
|
|
800
|
-
var
|
|
801
|
-
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)(
|
|
802
807
|
"path",
|
|
803
808
|
{
|
|
804
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",
|
|
@@ -808,10 +813,10 @@ var DownloadIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("svg
|
|
|
808
813
|
|
|
809
814
|
// src/DownloadButton.tsx
|
|
810
815
|
var import_react_aria = require("react-aria");
|
|
811
|
-
var
|
|
816
|
+
var import_jsx_runtime21 = require("react/jsx-runtime");
|
|
812
817
|
function DownloadButton({ label, id: _id, getData, fileName, fileType }) {
|
|
813
818
|
const id = (0, import_react_aria.useId)(_id);
|
|
814
|
-
return /* @__PURE__ */ (0,
|
|
819
|
+
return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(Tooltip, { placement: "bottom", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)(
|
|
815
820
|
TooltipTrigger,
|
|
816
821
|
{
|
|
817
822
|
className: "bg-me-gray-100 hover:bg-me-primary-500 hover:text-white p-1 rounded-md text-me-primary-500 text-2xl",
|
|
@@ -819,8 +824,8 @@ function DownloadButton({ label, id: _id, getData, fileName, fileType }) {
|
|
|
819
824
|
id,
|
|
820
825
|
onPress: () => createDownload(getData(), fileName, fileType),
|
|
821
826
|
children: [
|
|
822
|
-
/* @__PURE__ */ (0,
|
|
823
|
-
/* @__PURE__ */ (0,
|
|
827
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DownloadIcon, { "aria-labelledby": _id }),
|
|
828
|
+
/* @__PURE__ */ (0, import_jsx_runtime21.jsx)(DefaultTooltipContent, { children: label })
|
|
824
829
|
]
|
|
825
830
|
}
|
|
826
831
|
) });
|
|
@@ -840,11 +845,11 @@ function createDownload(data, fileName, fileType = "text/json") {
|
|
|
840
845
|
}
|
|
841
846
|
|
|
842
847
|
// src/AtlasBanner.tsx
|
|
843
|
-
var
|
|
848
|
+
var import_jsx_runtime22 = require("react/jsx-runtime");
|
|
844
849
|
function AtlasBanner({ children, controlsId }) {
|
|
845
|
-
return /* @__PURE__ */ (0,
|
|
846
|
-
/* @__PURE__ */ (0,
|
|
847
|
-
/* @__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" })
|
|
848
853
|
] });
|
|
849
854
|
}
|
|
850
855
|
|
|
@@ -852,8 +857,8 @@ function AtlasBanner({ children, controlsId }) {
|
|
|
852
857
|
var import_react_iiif_vault4 = require("react-iiif-vault");
|
|
853
858
|
|
|
854
859
|
// src/icons/DrawIcon.tsx
|
|
855
|
-
var
|
|
856
|
-
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)(
|
|
857
862
|
"svg",
|
|
858
863
|
{
|
|
859
864
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -863,8 +868,8 @@ var DrawIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_jsx_
|
|
|
863
868
|
"aria-labelledby": titleId,
|
|
864
869
|
...props,
|
|
865
870
|
children: [
|
|
866
|
-
title ? /* @__PURE__ */ (0,
|
|
867
|
-
/* @__PURE__ */ (0,
|
|
871
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("title", { id: titleId, children: title }) : null,
|
|
872
|
+
/* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
|
|
868
873
|
"path",
|
|
869
874
|
{
|
|
870
875
|
fill: "currentColor",
|
|
@@ -876,8 +881,8 @@ var DrawIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_jsx_
|
|
|
876
881
|
);
|
|
877
882
|
|
|
878
883
|
// src/icons/PolygonIcon.tsx
|
|
879
|
-
var
|
|
880
|
-
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)(
|
|
881
886
|
"svg",
|
|
882
887
|
{
|
|
883
888
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -887,8 +892,8 @@ var PolygonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_j
|
|
|
887
892
|
"aria-labelledby": titleId,
|
|
888
893
|
...props,
|
|
889
894
|
children: [
|
|
890
|
-
title ? /* @__PURE__ */ (0,
|
|
891
|
-
/* @__PURE__ */ (0,
|
|
895
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("title", { id: titleId, children: title }) : null,
|
|
896
|
+
/* @__PURE__ */ (0, import_jsx_runtime24.jsx)(
|
|
892
897
|
"path",
|
|
893
898
|
{
|
|
894
899
|
fill: "currentColor",
|
|
@@ -900,34 +905,34 @@ var PolygonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_j
|
|
|
900
905
|
);
|
|
901
906
|
|
|
902
907
|
// src/icons/LineIcon.tsx
|
|
903
|
-
var
|
|
908
|
+
var import_jsx_runtime25 = require("react/jsx-runtime");
|
|
904
909
|
function LineIcon({ title, titleId, ...props }) {
|
|
905
|
-
return /* @__PURE__ */ (0,
|
|
906
|
-
title ? /* @__PURE__ */ (0,
|
|
907
|
-
/* @__PURE__ */ (0,
|
|
908
|
-
/* @__PURE__ */ (0,
|
|
909
|
-
/* @__PURE__ */ (0,
|
|
910
|
-
/* @__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" })
|
|
911
916
|
] })
|
|
912
917
|
] });
|
|
913
918
|
}
|
|
914
919
|
|
|
915
920
|
// src/icons/LineBoxIcon.tsx
|
|
916
|
-
var
|
|
921
|
+
var import_jsx_runtime26 = require("react/jsx-runtime");
|
|
917
922
|
function LineBoxIcon({ title, titleId, ...props }) {
|
|
918
|
-
return /* @__PURE__ */ (0,
|
|
919
|
-
title ? /* @__PURE__ */ (0,
|
|
920
|
-
/* @__PURE__ */ (0,
|
|
921
|
-
/* @__PURE__ */ (0,
|
|
922
|
-
/* @__PURE__ */ (0,
|
|
923
|
-
/* @__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" })
|
|
924
929
|
] })
|
|
925
930
|
] });
|
|
926
931
|
}
|
|
927
932
|
|
|
928
933
|
// src/icons/ShapesIcon.tsx
|
|
929
|
-
var
|
|
930
|
-
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)(
|
|
931
936
|
"svg",
|
|
932
937
|
{
|
|
933
938
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -937,8 +942,8 @@ var ShapesIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_js
|
|
|
937
942
|
"aria-labelledby": titleId,
|
|
938
943
|
...props,
|
|
939
944
|
children: [
|
|
940
|
-
title ? /* @__PURE__ */ (0,
|
|
941
|
-
/* @__PURE__ */ (0,
|
|
945
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("title", { id: titleId, children: title }) : null,
|
|
946
|
+
/* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
|
|
942
947
|
"path",
|
|
943
948
|
{
|
|
944
949
|
fill: "currentColor",
|
|
@@ -950,8 +955,8 @@ var ShapesIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_js
|
|
|
950
955
|
);
|
|
951
956
|
|
|
952
957
|
// src/icons/SquareIcon.tsx
|
|
953
|
-
var
|
|
954
|
-
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)(
|
|
955
960
|
"svg",
|
|
956
961
|
{
|
|
957
962
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -961,8 +966,8 @@ var SquareIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_js
|
|
|
961
966
|
"aria-labelledby": titleId,
|
|
962
967
|
...props,
|
|
963
968
|
children: [
|
|
964
|
-
title ? /* @__PURE__ */ (0,
|
|
965
|
-
/* @__PURE__ */ (0,
|
|
969
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("title", { id: titleId, children: title }) : null,
|
|
970
|
+
/* @__PURE__ */ (0, import_jsx_runtime28.jsx)(
|
|
966
971
|
"path",
|
|
967
972
|
{
|
|
968
973
|
fill: "currentColor",
|
|
@@ -974,8 +979,8 @@ var SquareIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_js
|
|
|
974
979
|
);
|
|
975
980
|
|
|
976
981
|
// src/icons/TriangleIcon.tsx
|
|
977
|
-
var
|
|
978
|
-
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)(
|
|
979
984
|
"svg",
|
|
980
985
|
{
|
|
981
986
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -985,15 +990,15 @@ var TriangleIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_
|
|
|
985
990
|
"aria-labelledby": titleId,
|
|
986
991
|
...props,
|
|
987
992
|
children: [
|
|
988
|
-
title ? /* @__PURE__ */ (0,
|
|
989
|
-
/* @__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" })
|
|
990
995
|
]
|
|
991
996
|
}
|
|
992
997
|
);
|
|
993
998
|
|
|
994
999
|
// src/icons/HexagonIcon.tsx
|
|
995
|
-
var
|
|
996
|
-
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)(
|
|
997
1002
|
"svg",
|
|
998
1003
|
{
|
|
999
1004
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1003,8 +1008,8 @@ var HexagonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_j
|
|
|
1003
1008
|
"aria-labelledby": titleId,
|
|
1004
1009
|
...props,
|
|
1005
1010
|
children: [
|
|
1006
|
-
title ? /* @__PURE__ */ (0,
|
|
1007
|
-
/* @__PURE__ */ (0,
|
|
1011
|
+
title ? /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("title", { id: titleId, children: title }) : null,
|
|
1012
|
+
/* @__PURE__ */ (0, import_jsx_runtime30.jsx)(
|
|
1008
1013
|
"path",
|
|
1009
1014
|
{
|
|
1010
1015
|
fill: "currentColor",
|
|
@@ -1016,12 +1021,12 @@ var HexagonIcon = ({ title, titleId, ...props }) => /* @__PURE__ */ (0, import_j
|
|
|
1016
1021
|
);
|
|
1017
1022
|
|
|
1018
1023
|
// src/icons/DeleteForeverIcon.tsx
|
|
1019
|
-
var
|
|
1024
|
+
var import_jsx_runtime31 = require("react/jsx-runtime");
|
|
1020
1025
|
function DeleteForeverIcon(props) {
|
|
1021
|
-
return /* @__PURE__ */ (0,
|
|
1022
|
-
/* @__PURE__ */ (0,
|
|
1023
|
-
/* @__PURE__ */ (0,
|
|
1024
|
-
/* @__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)(
|
|
1025
1030
|
"path",
|
|
1026
1031
|
{
|
|
1027
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",
|
|
@@ -1033,18 +1038,18 @@ function DeleteForeverIcon(props) {
|
|
|
1033
1038
|
|
|
1034
1039
|
// src/SvgControlBar.tsx
|
|
1035
1040
|
var import_react5 = require("react");
|
|
1036
|
-
var
|
|
1041
|
+
var import_jsx_runtime32 = require("react/jsx-runtime");
|
|
1037
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';
|
|
1038
1043
|
var icons = {
|
|
1039
|
-
DrawIcon: /* @__PURE__ */ (0,
|
|
1040
|
-
PolygonIcon: /* @__PURE__ */ (0,
|
|
1041
|
-
LineIcon: /* @__PURE__ */ (0,
|
|
1042
|
-
LineBoxIcon: /* @__PURE__ */ (0,
|
|
1043
|
-
ShapesIcon: /* @__PURE__ */ (0,
|
|
1044
|
-
SquareIcon: /* @__PURE__ */ (0,
|
|
1045
|
-
TriangleIcon: /* @__PURE__ */ (0,
|
|
1046
|
-
HexagonIcon: /* @__PURE__ */ (0,
|
|
1047
|
-
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, {})
|
|
1048
1053
|
};
|
|
1049
1054
|
function SvgControlBar({
|
|
1050
1055
|
helper,
|
|
@@ -1054,7 +1059,7 @@ function SvgControlBar({
|
|
|
1054
1059
|
(0, import_react5.useEffect)(() => {
|
|
1055
1060
|
helper.stamps.square();
|
|
1056
1061
|
}, []);
|
|
1057
|
-
return /* @__PURE__ */ (0,
|
|
1062
|
+
return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
|
|
1058
1063
|
import_react_iiif_vault4.RenderSvgEditorControls,
|
|
1059
1064
|
{
|
|
1060
1065
|
icons,
|
|
@@ -1069,18 +1074,18 @@ function SvgControlBar({
|
|
|
1069
1074
|
}
|
|
1070
1075
|
|
|
1071
1076
|
// src/ConfirmSelectionButton.tsx
|
|
1072
|
-
var
|
|
1073
|
-
var
|
|
1077
|
+
var import_react_aria_components6 = require("react-aria-components");
|
|
1078
|
+
var import_jsx_runtime33 = require("react/jsx-runtime");
|
|
1074
1079
|
function ConfirmSelectionButton({ onPress, children }) {
|
|
1075
|
-
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 });
|
|
1076
1081
|
}
|
|
1077
1082
|
|
|
1078
1083
|
// src/ManifestOverviewEmptyState.tsx
|
|
1079
|
-
var
|
|
1080
|
-
var
|
|
1084
|
+
var import_react_aria_components7 = require("react-aria-components");
|
|
1085
|
+
var import_jsx_runtime34 = require("react/jsx-runtime");
|
|
1081
1086
|
function ManifestOverviewEmptyState({ onCreate, canCreate }) {
|
|
1082
|
-
return /* @__PURE__ */ (0,
|
|
1083
|
-
/* @__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)(
|
|
1084
1089
|
Card3D,
|
|
1085
1090
|
{
|
|
1086
1091
|
shouldTranslate: true,
|
|
@@ -1088,10 +1093,10 @@ function ManifestOverviewEmptyState({ onCreate, canCreate }) {
|
|
|
1088
1093
|
className: "border-2 border-dotted bg-black/5 aspect-[3/4] rounded w-32 border-black"
|
|
1089
1094
|
}
|
|
1090
1095
|
),
|
|
1091
|
-
/* @__PURE__ */ (0,
|
|
1092
|
-
/* @__PURE__ */ (0,
|
|
1093
|
-
canCreate ? /* @__PURE__ */ (0,
|
|
1094
|
-
|
|
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,
|
|
1095
1100
|
{
|
|
1096
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",
|
|
1097
1102
|
onPress: onCreate,
|
|
@@ -1103,10 +1108,10 @@ function ManifestOverviewEmptyState({ onCreate, canCreate }) {
|
|
|
1103
1108
|
|
|
1104
1109
|
// src/SidebarTabs.tsx
|
|
1105
1110
|
var import_react6 = require("react");
|
|
1106
|
-
var
|
|
1111
|
+
var import_react_aria_components8 = require("react-aria-components");
|
|
1107
1112
|
var import_collections = require("@react-aria/collections");
|
|
1108
|
-
var
|
|
1109
|
-
var
|
|
1113
|
+
var import_react_dom2 = require("react-dom");
|
|
1114
|
+
var import_jsx_runtime35 = require("react/jsx-runtime");
|
|
1110
1115
|
function SidebarTabs({
|
|
1111
1116
|
menu,
|
|
1112
1117
|
menuId,
|
|
@@ -1155,24 +1160,24 @@ function SidebarTabs({
|
|
|
1155
1160
|
};
|
|
1156
1161
|
}, []);
|
|
1157
1162
|
const menuHidden = menu.filter((item, idx) => hidden >= menu.length - idx);
|
|
1158
|
-
return /* @__PURE__ */ (0,
|
|
1159
|
-
/* @__PURE__ */ (0,
|
|
1160
|
-
|
|
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,
|
|
1161
1166
|
{
|
|
1162
1167
|
className: "w-full flex-1 overflow-hidden flex flex-col",
|
|
1163
1168
|
selectedKey,
|
|
1164
1169
|
onSelectionChange,
|
|
1165
1170
|
children: [
|
|
1166
|
-
/* @__PURE__ */ (0,
|
|
1167
|
-
/* @__PURE__ */ (0,
|
|
1168
|
-
|
|
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,
|
|
1169
1174
|
{
|
|
1170
1175
|
ref,
|
|
1171
1176
|
className: "flex-1 overflow-hidden w-full flex text-sm whitespace-nowrap",
|
|
1172
1177
|
children: menu.map((item, idx) => {
|
|
1173
1178
|
const isHidden = hidden >= menu.length - idx;
|
|
1174
|
-
return /* @__PURE__ */ (0,
|
|
1175
|
-
|
|
1179
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1180
|
+
import_react_aria_components8.Tab,
|
|
1176
1181
|
{
|
|
1177
1182
|
ref: (el) => itemsRef.current[idx] = el,
|
|
1178
1183
|
id: item.id,
|
|
@@ -1190,10 +1195,10 @@ function SidebarTabs({
|
|
|
1190
1195
|
})
|
|
1191
1196
|
}
|
|
1192
1197
|
),
|
|
1193
|
-
/* @__PURE__ */ (0,
|
|
1198
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { ref: setHiddenMenu, id: "hidden-menu" })
|
|
1194
1199
|
] }),
|
|
1195
|
-
menu.map((item) => /* @__PURE__ */ (0,
|
|
1196
|
-
|
|
1200
|
+
menu.map((item) => /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1201
|
+
import_react_aria_components8.TabPanel,
|
|
1197
1202
|
{
|
|
1198
1203
|
id: item.id,
|
|
1199
1204
|
className: "flex-1 overflow-y-auto h-full",
|
|
@@ -1205,8 +1210,8 @@ function SidebarTabs({
|
|
|
1205
1210
|
},
|
|
1206
1211
|
menuId
|
|
1207
1212
|
),
|
|
1208
|
-
hiddenMenu && hidden > 0 ? (0,
|
|
1209
|
-
/* @__PURE__ */ (0,
|
|
1213
|
+
hiddenMenu && hidden > 0 ? (0, import_react_dom2.createPortal)(
|
|
1214
|
+
/* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1210
1215
|
MoreMenu,
|
|
1211
1216
|
{
|
|
1212
1217
|
hidden,
|
|
@@ -1221,9 +1226,9 @@ function SidebarTabs({
|
|
|
1221
1226
|
] });
|
|
1222
1227
|
}
|
|
1223
1228
|
var MoreMenu = (0, import_collections.createHideableComponent)(({ selectedIndex, hidden, menuHidden, selectedKey, onSelectionChange }) => {
|
|
1224
|
-
return /* @__PURE__ */ (0,
|
|
1225
|
-
/* @__PURE__ */ (0,
|
|
1226
|
-
|
|
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,
|
|
1227
1232
|
{
|
|
1228
1233
|
className: cn(
|
|
1229
1234
|
"border-none rounded bg-gray-100 px-1.5 py-1 mr-2 mb-1 text-me-primary-500 semibold uppercase text-[10px]",
|
|
@@ -1232,13 +1237,13 @@ var MoreMenu = (0, import_collections.createHideableComponent)(({ selectedIndex,
|
|
|
1232
1237
|
children: "MORE"
|
|
1233
1238
|
}
|
|
1234
1239
|
),
|
|
1235
|
-
/* @__PURE__ */ (0,
|
|
1236
|
-
|
|
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,
|
|
1237
1242
|
{
|
|
1238
1243
|
className: "bg-white rounded shadow-lg flex flex-col gap-0.5 p-0.5 min-w-28",
|
|
1239
1244
|
children: menuHidden.map((item) => {
|
|
1240
|
-
return /* @__PURE__ */ (0,
|
|
1241
|
-
|
|
1245
|
+
return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(
|
|
1246
|
+
import_react_aria_components8.MenuItem,
|
|
1242
1247
|
{
|
|
1243
1248
|
className: (state) => cn(
|
|
1244
1249
|
"hover:bg-me-gray-100 p-1 rounded-sm text-sm",
|
|
@@ -1257,15 +1262,15 @@ var MoreMenu = (0, import_collections.createHideableComponent)(({ selectedIndex,
|
|
|
1257
1262
|
|
|
1258
1263
|
// src/MetadataContainer.tsx
|
|
1259
1264
|
var import_react_iiif_vault5 = require("react-iiif-vault");
|
|
1260
|
-
var
|
|
1265
|
+
var import_jsx_runtime36 = require("react/jsx-runtime");
|
|
1261
1266
|
function MetadataContainer({
|
|
1262
1267
|
className: className2,
|
|
1263
1268
|
label,
|
|
1264
1269
|
children,
|
|
1265
1270
|
...props
|
|
1266
1271
|
}) {
|
|
1267
|
-
return /* @__PURE__ */ (0,
|
|
1268
|
-
"
|
|
1272
|
+
return /* @__PURE__ */ (0, import_jsx_runtime36.jsxs)(
|
|
1273
|
+
"fieldset",
|
|
1269
1274
|
{
|
|
1270
1275
|
className: cn(
|
|
1271
1276
|
"hover:ring ring-gray-200 focus-within:ring-me-primary-500 focus-within:ring p-2 rounded mb-2",
|
|
@@ -1273,7 +1278,7 @@ function MetadataContainer({
|
|
|
1273
1278
|
),
|
|
1274
1279
|
...props,
|
|
1275
1280
|
children: [
|
|
1276
|
-
/* @__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 }),
|
|
1277
1282
|
children
|
|
1278
1283
|
]
|
|
1279
1284
|
}
|
|
@@ -1281,9 +1286,9 @@ function MetadataContainer({
|
|
|
1281
1286
|
}
|
|
1282
1287
|
|
|
1283
1288
|
// src/EmptyState.tsx
|
|
1284
|
-
var
|
|
1289
|
+
var import_jsx_runtime37 = require("react/jsx-runtime");
|
|
1285
1290
|
function EmptyState(props) {
|
|
1286
|
-
return /* @__PURE__ */ (0,
|
|
1291
|
+
return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
|
|
1287
1292
|
"div",
|
|
1288
1293
|
{
|
|
1289
1294
|
className: cn(
|
|
@@ -1297,9 +1302,9 @@ function EmptyState(props) {
|
|
|
1297
1302
|
}
|
|
1298
1303
|
|
|
1299
1304
|
// src/ManifestEditorLogo.tsx
|
|
1300
|
-
var
|
|
1305
|
+
var import_jsx_runtime38 = require("react/jsx-runtime");
|
|
1301
1306
|
function ManifestEditorLogo(props) {
|
|
1302
|
-
return /* @__PURE__ */ (0,
|
|
1307
|
+
return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
1303
1308
|
"svg",
|
|
1304
1309
|
{
|
|
1305
1310
|
width: "1em",
|
|
@@ -1308,28 +1313,28 @@ function ManifestEditorLogo(props) {
|
|
|
1308
1313
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1309
1314
|
className: "me-logo h-[23px] w-[176px]",
|
|
1310
1315
|
...props,
|
|
1311
|
-
children: /* @__PURE__ */ (0,
|
|
1312
|
-
/* @__PURE__ */ (0,
|
|
1316
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime38.jsxs)("g", { fill: "none", children: [
|
|
1317
|
+
/* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
|
|
1313
1318
|
"path",
|
|
1314
1319
|
{
|
|
1315
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",
|
|
1316
1321
|
fill: "#000"
|
|
1317
1322
|
}
|
|
1318
1323
|
),
|
|
1319
|
-
/* @__PURE__ */ (0,
|
|
1320
|
-
/* @__PURE__ */ (0,
|
|
1321
|
-
/* @__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" })
|
|
1322
1327
|
] })
|
|
1323
1328
|
}
|
|
1324
1329
|
);
|
|
1325
1330
|
}
|
|
1326
1331
|
|
|
1327
1332
|
// src/Forms.tsx
|
|
1328
|
-
var
|
|
1329
|
-
var
|
|
1333
|
+
var import_react_aria_components9 = require("react-aria-components");
|
|
1334
|
+
var import_jsx_runtime39 = require("react/jsx-runtime");
|
|
1330
1335
|
function MeLabel({ className: className2, ...props }) {
|
|
1331
|
-
return /* @__PURE__ */ (0,
|
|
1332
|
-
|
|
1336
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1337
|
+
import_react_aria_components9.Label,
|
|
1333
1338
|
{
|
|
1334
1339
|
className: cn(
|
|
1335
1340
|
//
|
|
@@ -1341,8 +1346,8 @@ function MeLabel({ className: className2, ...props }) {
|
|
|
1341
1346
|
);
|
|
1342
1347
|
}
|
|
1343
1348
|
function MeRadioGroup({ className: className2, ...props }) {
|
|
1344
|
-
return /* @__PURE__ */ (0,
|
|
1345
|
-
|
|
1349
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1350
|
+
import_react_aria_components9.RadioGroup,
|
|
1346
1351
|
{
|
|
1347
1352
|
className: cn(
|
|
1348
1353
|
//
|
|
@@ -1354,8 +1359,8 @@ function MeRadioGroup({ className: className2, ...props }) {
|
|
|
1354
1359
|
);
|
|
1355
1360
|
}
|
|
1356
1361
|
function MeRadio({ className: className2, ...props }) {
|
|
1357
|
-
return /* @__PURE__ */ (0,
|
|
1358
|
-
|
|
1362
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1363
|
+
import_react_aria_components9.Radio,
|
|
1359
1364
|
{
|
|
1360
1365
|
className: (state) => cn(
|
|
1361
1366
|
//
|
|
@@ -1367,8 +1372,8 @@ function MeRadio({ className: className2, ...props }) {
|
|
|
1367
1372
|
);
|
|
1368
1373
|
}
|
|
1369
1374
|
function MeForm({ className: className2, ...props }) {
|
|
1370
|
-
return /* @__PURE__ */ (0,
|
|
1371
|
-
|
|
1375
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1376
|
+
import_react_aria_components9.Form,
|
|
1372
1377
|
{
|
|
1373
1378
|
className: cn(
|
|
1374
1379
|
//
|
|
@@ -1380,8 +1385,22 @@ function MeForm({ className: className2, ...props }) {
|
|
|
1380
1385
|
);
|
|
1381
1386
|
}
|
|
1382
1387
|
function MeInput({ className: className2, ...props }) {
|
|
1383
|
-
return /* @__PURE__ */ (0,
|
|
1384
|
-
|
|
1388
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1389
|
+
import_react_aria_components9.Input,
|
|
1390
|
+
{
|
|
1391
|
+
className: cn(
|
|
1392
|
+
//
|
|
1393
|
+
"p-2 bg-me-gray-100 border-b border-b-me-gray-500",
|
|
1394
|
+
"focus:ring-0 outline-0 focus:border-me-primary-500 focus:bg-[#ECEEF5]",
|
|
1395
|
+
className2
|
|
1396
|
+
),
|
|
1397
|
+
...props
|
|
1398
|
+
}
|
|
1399
|
+
);
|
|
1400
|
+
}
|
|
1401
|
+
function MeTextArea({ className: className2, ...props }) {
|
|
1402
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1403
|
+
import_react_aria_components9.TextArea,
|
|
1385
1404
|
{
|
|
1386
1405
|
className: cn(
|
|
1387
1406
|
//
|
|
@@ -1398,7 +1417,7 @@ function MeInputContainer({
|
|
|
1398
1417
|
className: className2,
|
|
1399
1418
|
...props
|
|
1400
1419
|
}) {
|
|
1401
|
-
return /* @__PURE__ */ (0,
|
|
1420
|
+
return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(
|
|
1402
1421
|
"div",
|
|
1403
1422
|
{
|
|
1404
1423
|
className: cn(
|
|
@@ -1417,7 +1436,8 @@ var Form = {
|
|
|
1417
1436
|
Label: MeLabel,
|
|
1418
1437
|
InputContainer: MeInputContainer,
|
|
1419
1438
|
RadioGroup: MeRadioGroup,
|
|
1420
|
-
Radio: MeRadio
|
|
1439
|
+
Radio: MeRadio,
|
|
1440
|
+
TextArea: MeTextArea
|
|
1421
1441
|
};
|
|
1422
1442
|
|
|
1423
1443
|
// src/HTMLEditor.tsx
|
|
@@ -1430,12 +1450,12 @@ var import_turndown = __toESM(require("turndown"), 1);
|
|
|
1430
1450
|
var import_style = require("@mdxeditor/editor/style.css");
|
|
1431
1451
|
var import_editor = require("@mdxeditor/editor");
|
|
1432
1452
|
var import_react7 = require("react");
|
|
1433
|
-
var
|
|
1453
|
+
var import_jsx_runtime40 = require("react/jsx-runtime");
|
|
1434
1454
|
function MDXEditor({
|
|
1435
1455
|
editorRef,
|
|
1436
1456
|
...props
|
|
1437
1457
|
}) {
|
|
1438
|
-
return /* @__PURE__ */ (0,
|
|
1458
|
+
return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
|
|
1439
1459
|
import_editor.MDXEditor,
|
|
1440
1460
|
{
|
|
1441
1461
|
plugins: (0, import_react7.useMemo)(
|
|
@@ -1451,14 +1471,14 @@ function MDXEditor({
|
|
|
1451
1471
|
(0, import_editor.diffSourcePlugin)(),
|
|
1452
1472
|
(0, import_editor.toolbarPlugin)({
|
|
1453
1473
|
toolbarClassName: "mdx-toolbar",
|
|
1454
|
-
toolbarContents: () => /* @__PURE__ */ (0,
|
|
1474
|
+
toolbarContents: () => /* @__PURE__ */ (0, import_jsx_runtime40.jsxs)(import_jsx_runtime40.Fragment, { children: [
|
|
1455
1475
|
" ",
|
|
1456
|
-
/* @__PURE__ */ (0,
|
|
1457
|
-
/* @__PURE__ */ (0,
|
|
1458
|
-
/* @__PURE__ */ (0,
|
|
1459
|
-
/* @__PURE__ */ (0,
|
|
1460
|
-
/* @__PURE__ */ (0,
|
|
1461
|
-
/* @__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, {})
|
|
1462
1482
|
] })
|
|
1463
1483
|
})
|
|
1464
1484
|
],
|
|
@@ -1471,7 +1491,7 @@ function MDXEditor({
|
|
|
1471
1491
|
}
|
|
1472
1492
|
|
|
1473
1493
|
// src/HTMLEditor.tsx
|
|
1474
|
-
var
|
|
1494
|
+
var import_jsx_runtime41 = require("react/jsx-runtime");
|
|
1475
1495
|
var converter = new import_showdown.Converter();
|
|
1476
1496
|
converter.setFlavor("github");
|
|
1477
1497
|
var turndownService = new import_turndown.default();
|
|
@@ -1499,7 +1519,7 @@ function HTMLEditor({
|
|
|
1499
1519
|
}
|
|
1500
1520
|
};
|
|
1501
1521
|
}, []);
|
|
1502
|
-
return /* @__PURE__ */ (0,
|
|
1522
|
+
return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
|
|
1503
1523
|
MDXEditor,
|
|
1504
1524
|
{
|
|
1505
1525
|
editorRef,
|
|
@@ -1524,34 +1544,39 @@ function HTMLEditor({
|
|
|
1524
1544
|
}
|
|
1525
1545
|
|
|
1526
1546
|
// src/IconButton.tsx
|
|
1527
|
-
var
|
|
1528
|
-
var
|
|
1547
|
+
var import_tailwind_merge7 = require("tailwind-merge");
|
|
1548
|
+
var import_jsx_runtime42 = require("react/jsx-runtime");
|
|
1529
1549
|
function IconButton({
|
|
1530
1550
|
children,
|
|
1531
1551
|
active,
|
|
1532
1552
|
label,
|
|
1533
1553
|
disabled,
|
|
1534
|
-
onPress
|
|
1554
|
+
onPress,
|
|
1555
|
+
root,
|
|
1556
|
+
className: className2,
|
|
1557
|
+
placement = "top"
|
|
1535
1558
|
}) {
|
|
1536
|
-
return /* @__PURE__ */ (0,
|
|
1559
|
+
return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(Tooltip, { placement, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
|
|
1537
1560
|
TooltipTrigger,
|
|
1538
1561
|
{
|
|
1562
|
+
"aria-label": label,
|
|
1539
1563
|
onClick: onPress,
|
|
1540
|
-
className: (0,
|
|
1564
|
+
className: (0, import_tailwind_merge7.twMerge)(
|
|
1541
1565
|
"rounded flex items-center bg-white justify-center p-2 hover:bg-gray-100 text-2xl",
|
|
1542
1566
|
active ? "bg-me-primary-500 bg-opacity-40 hover:bg-opacity-70 hover:bg-me-primary-500" : "",
|
|
1543
|
-
disabled ? "opacity-50 pointer-events-none" : ""
|
|
1567
|
+
disabled ? "opacity-50 pointer-events-none" : "",
|
|
1568
|
+
className2
|
|
1544
1569
|
),
|
|
1545
1570
|
children: [
|
|
1546
1571
|
children,
|
|
1547
|
-
/* @__PURE__ */ (0,
|
|
1572
|
+
/* @__PURE__ */ (0, import_jsx_runtime42.jsx)(DefaultTooltipContent, { root, className: "translate-x-3 z-50", children: label })
|
|
1548
1573
|
]
|
|
1549
1574
|
}
|
|
1550
1575
|
) });
|
|
1551
1576
|
}
|
|
1552
1577
|
|
|
1553
1578
|
// src/ItemWithHandle.tsx
|
|
1554
|
-
var
|
|
1579
|
+
var import_jsx_runtime43 = require("react/jsx-runtime");
|
|
1555
1580
|
function ItemWithHandle({
|
|
1556
1581
|
children,
|
|
1557
1582
|
handle,
|
|
@@ -1562,9 +1587,9 @@ function ItemWithHandle({
|
|
|
1562
1587
|
// Tailwind
|
|
1563
1588
|
"absolute flex p-1 gap-1 bg-white z-1 right-1 top-1 rounded"
|
|
1564
1589
|
) : "flex-shrink-0 flex items-center gap-1 px-1";
|
|
1565
|
-
return /* @__PURE__ */ (0,
|
|
1566
|
-
/* @__PURE__ */ (0,
|
|
1567
|
-
/* @__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: [
|
|
1568
1593
|
actions,
|
|
1569
1594
|
handle
|
|
1570
1595
|
] })
|
|
@@ -1573,9 +1598,9 @@ function ItemWithHandle({
|
|
|
1573
1598
|
|
|
1574
1599
|
// src/HandleContainer.tsx
|
|
1575
1600
|
var import_react9 = require("react");
|
|
1576
|
-
var
|
|
1601
|
+
var import_jsx_runtime44 = require("react/jsx-runtime");
|
|
1577
1602
|
var HandleContainer = (0, import_react9.forwardRef)(function HandleContainer2({ className: className2, ...props }, ref) {
|
|
1578
|
-
return /* @__PURE__ */ (0,
|
|
1603
|
+
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
1579
1604
|
"div",
|
|
1580
1605
|
{
|
|
1581
1606
|
ref,
|
|
@@ -1585,12 +1610,126 @@ var HandleContainer = (0, import_react9.forwardRef)(function HandleContainer2({
|
|
|
1585
1610
|
);
|
|
1586
1611
|
});
|
|
1587
1612
|
|
|
1613
|
+
// src/CollectionListItem.tsx
|
|
1614
|
+
var import_react_iiif_vault6 = require("react-iiif-vault");
|
|
1615
|
+
|
|
1616
|
+
// src/icons/CollectionIcon.tsx
|
|
1617
|
+
var import_jsx_runtime45 = require("react/jsx-runtime");
|
|
1618
|
+
function CollectionIcon(props) {
|
|
1619
|
+
return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
1620
|
+
"svg",
|
|
1621
|
+
{
|
|
1622
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1623
|
+
width: "1em",
|
|
1624
|
+
height: "1em",
|
|
1625
|
+
viewBox: "0 -960 960 960",
|
|
1626
|
+
"aria-label": "collection",
|
|
1627
|
+
role: "img",
|
|
1628
|
+
...props,
|
|
1629
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
|
|
1630
|
+
"path",
|
|
1631
|
+
{
|
|
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",
|
|
1633
|
+
fill: "currentColor"
|
|
1634
|
+
}
|
|
1635
|
+
)
|
|
1636
|
+
}
|
|
1637
|
+
);
|
|
1638
|
+
}
|
|
1639
|
+
|
|
1640
|
+
// src/CollectionListItem.tsx
|
|
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");
|
|
1644
|
+
function CollectionListItem({ isActive, onAction }) {
|
|
1645
|
+
const collection = (0, import_react_iiif_vault6.useCollection)({});
|
|
1646
|
+
const { pressProps } = (0, import_react_aria2.usePress)({
|
|
1647
|
+
onPress: onAction
|
|
1648
|
+
});
|
|
1649
|
+
return /* @__PURE__ */ (0, import_jsx_runtime46.jsxs)(
|
|
1650
|
+
"li",
|
|
1651
|
+
{
|
|
1652
|
+
"aria-label": (0, import_i18n.getValue)(collection?.label),
|
|
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",
|
|
1654
|
+
"data-active": isActive || void 0,
|
|
1655
|
+
...pressProps,
|
|
1656
|
+
children: [
|
|
1657
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
|
|
1658
|
+
CollectionIcon,
|
|
1659
|
+
{
|
|
1660
|
+
"data-active": isActive || void 0,
|
|
1661
|
+
className: "flex-shrink-0 text-2xl data-[active]:text-me-primary-500 text-gray-400"
|
|
1662
|
+
}
|
|
1663
|
+
),
|
|
1664
|
+
/* @__PURE__ */ (0, import_jsx_runtime46.jsx)(import_react_iiif_vault6.LocaleString, { children: collection?.label })
|
|
1665
|
+
]
|
|
1666
|
+
}
|
|
1667
|
+
);
|
|
1668
|
+
}
|
|
1669
|
+
|
|
1670
|
+
// src/ManifestListItem.tsx
|
|
1671
|
+
var import_react_iiif_vault7 = require("react-iiif-vault");
|
|
1672
|
+
|
|
1673
|
+
// src/icons/ManifestIcon.tsx
|
|
1674
|
+
var import_jsx_runtime47 = require("react/jsx-runtime");
|
|
1675
|
+
function ManifestIcon(props) {
|
|
1676
|
+
return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
1677
|
+
"svg",
|
|
1678
|
+
{
|
|
1679
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1680
|
+
width: "1em",
|
|
1681
|
+
height: "1em",
|
|
1682
|
+
viewBox: "20 -910 960 960",
|
|
1683
|
+
"aria-label": "manifest",
|
|
1684
|
+
role: "img",
|
|
1685
|
+
...props,
|
|
1686
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
|
|
1687
|
+
"path",
|
|
1688
|
+
{
|
|
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",
|
|
1690
|
+
fill: "currentColor"
|
|
1691
|
+
}
|
|
1692
|
+
)
|
|
1693
|
+
}
|
|
1694
|
+
);
|
|
1695
|
+
}
|
|
1696
|
+
|
|
1697
|
+
// src/ManifestListItem.tsx
|
|
1698
|
+
var import_react_aria3 = require("react-aria");
|
|
1699
|
+
var import_helpers = require("@iiif/helpers");
|
|
1700
|
+
var import_jsx_runtime48 = require("react/jsx-runtime");
|
|
1701
|
+
function ManifestListItem({ isActive, onAction }) {
|
|
1702
|
+
const manifest = (0, import_react_iiif_vault7.useManifest)();
|
|
1703
|
+
const { pressProps } = (0, import_react_aria3.usePress)({
|
|
1704
|
+
onPress: onAction
|
|
1705
|
+
});
|
|
1706
|
+
return /* @__PURE__ */ (0, import_jsx_runtime48.jsxs)(
|
|
1707
|
+
"li",
|
|
1708
|
+
{
|
|
1709
|
+
"aria-label": (0, import_helpers.getValue)(manifest?.label),
|
|
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",
|
|
1711
|
+
"data-active": isActive || void 0,
|
|
1712
|
+
...pressProps,
|
|
1713
|
+
children: [
|
|
1714
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
|
|
1715
|
+
ManifestIcon,
|
|
1716
|
+
{
|
|
1717
|
+
"data-active": isActive || void 0,
|
|
1718
|
+
className: "flex-shrink-0 text-2xl data-[active]:text-me-primary-500 text-gray-400"
|
|
1719
|
+
}
|
|
1720
|
+
),
|
|
1721
|
+
/* @__PURE__ */ (0, import_jsx_runtime48.jsx)(import_react_iiif_vault7.LocaleString, { children: manifest?.label })
|
|
1722
|
+
]
|
|
1723
|
+
}
|
|
1724
|
+
);
|
|
1725
|
+
}
|
|
1726
|
+
|
|
1588
1727
|
// src/icons/CreateCanvasIcon.tsx
|
|
1589
|
-
var
|
|
1728
|
+
var import_jsx_runtime49 = require("react/jsx-runtime");
|
|
1590
1729
|
function CreateCanvasIcon() {
|
|
1591
|
-
return /* @__PURE__ */ (0,
|
|
1592
|
-
/* @__PURE__ */ (0,
|
|
1593
|
-
/* @__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)(
|
|
1594
1733
|
"path",
|
|
1595
1734
|
{
|
|
1596
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",
|
|
@@ -1601,8 +1740,8 @@ function CreateCanvasIcon() {
|
|
|
1601
1740
|
}
|
|
1602
1741
|
|
|
1603
1742
|
// src/icons/AddImageIcon.tsx
|
|
1604
|
-
var
|
|
1605
|
-
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)(
|
|
1606
1745
|
"path",
|
|
1607
1746
|
{
|
|
1608
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",
|
|
@@ -1611,8 +1750,8 @@ var AddImageIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("svg
|
|
|
1611
1750
|
) });
|
|
1612
1751
|
|
|
1613
1752
|
// src/icons/IIIFLogo.tsx
|
|
1614
|
-
var
|
|
1615
|
-
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)(
|
|
1616
1755
|
"svg",
|
|
1617
1756
|
{
|
|
1618
1757
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1622,7 +1761,7 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ (0, import_jsx_run
|
|
|
1622
1761
|
...props,
|
|
1623
1762
|
viewBox: "0 0 493.36 441.333",
|
|
1624
1763
|
children: [
|
|
1625
|
-
/* @__PURE__ */ (0,
|
|
1764
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
1626
1765
|
"path",
|
|
1627
1766
|
{
|
|
1628
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",
|
|
@@ -1635,7 +1774,7 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ (0, import_jsx_run
|
|
|
1635
1774
|
transform: "matrix(.13333 0 0 -.13333 0 441.333)"
|
|
1636
1775
|
}
|
|
1637
1776
|
),
|
|
1638
|
-
/* @__PURE__ */ (0,
|
|
1777
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
1639
1778
|
"path",
|
|
1640
1779
|
{
|
|
1641
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",
|
|
@@ -1648,7 +1787,7 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ (0, import_jsx_run
|
|
|
1648
1787
|
transform: "matrix(.13333 0 0 -.13333 0 441.333)"
|
|
1649
1788
|
}
|
|
1650
1789
|
),
|
|
1651
|
-
/* @__PURE__ */ (0,
|
|
1790
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
1652
1791
|
"path",
|
|
1653
1792
|
{
|
|
1654
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",
|
|
@@ -1661,7 +1800,7 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ (0, import_jsx_run
|
|
|
1661
1800
|
transform: "matrix(.13333 0 0 -.13333 0 441.333)"
|
|
1662
1801
|
}
|
|
1663
1802
|
),
|
|
1664
|
-
/* @__PURE__ */ (0,
|
|
1803
|
+
/* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
|
|
1665
1804
|
"path",
|
|
1666
1805
|
{
|
|
1667
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",
|
|
@@ -1679,8 +1818,8 @@ var IIIFLogo = ({ mono = true, ...props }) => /* @__PURE__ */ (0, import_jsx_run
|
|
|
1679
1818
|
);
|
|
1680
1819
|
|
|
1681
1820
|
// src/icons/HTMLIcon.tsx
|
|
1682
|
-
var
|
|
1683
|
-
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)(
|
|
1684
1823
|
"path",
|
|
1685
1824
|
{
|
|
1686
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",
|
|
@@ -1689,8 +1828,8 @@ var HTMLIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("svg", {
|
|
|
1689
1828
|
) });
|
|
1690
1829
|
|
|
1691
1830
|
// src/icons/IIIFBrowserIcon.tsx
|
|
1692
|
-
var
|
|
1693
|
-
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)(
|
|
1694
1833
|
"path",
|
|
1695
1834
|
{
|
|
1696
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",
|
|
@@ -1698,9 +1837,59 @@ var IIIFBrowserIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("
|
|
|
1698
1837
|
}
|
|
1699
1838
|
) });
|
|
1700
1839
|
|
|
1840
|
+
// src/icons/InfoIcon.tsx
|
|
1841
|
+
var import_jsx_runtime54 = require("react/jsx-runtime");
|
|
1842
|
+
function InfoIcon({ title, titleId, ...props }) {
|
|
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)(
|
|
1847
|
+
"path",
|
|
1848
|
+
{
|
|
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",
|
|
1850
|
+
fill: "currentColor"
|
|
1851
|
+
}
|
|
1852
|
+
)
|
|
1853
|
+
] });
|
|
1854
|
+
}
|
|
1855
|
+
|
|
1856
|
+
// src/icons/ListingIcon.tsx
|
|
1857
|
+
var import_jsx_runtime55 = require("react/jsx-runtime");
|
|
1858
|
+
function ListingIcon({
|
|
1859
|
+
title,
|
|
1860
|
+
titleId,
|
|
1861
|
+
...props
|
|
1862
|
+
}) {
|
|
1863
|
+
return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
|
|
1864
|
+
"svg",
|
|
1865
|
+
{
|
|
1866
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1867
|
+
viewBox: "0 0 24 24",
|
|
1868
|
+
width: "1em",
|
|
1869
|
+
height: "1em",
|
|
1870
|
+
"aria-labelledby": titleId,
|
|
1871
|
+
...props,
|
|
1872
|
+
children: [
|
|
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" })
|
|
1877
|
+
] }),
|
|
1878
|
+
/* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
|
|
1879
|
+
"path",
|
|
1880
|
+
{
|
|
1881
|
+
d: "M3 13h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7zm-4 6h2v-2H3v2zm0 4h2v-2H3v2zm0-8h2V7H3v2zm4 4h14v-2H7v2zm0 4h14v-2H7v2zM7 7v2h14V7H7z",
|
|
1882
|
+
fill: "currentColor"
|
|
1883
|
+
}
|
|
1884
|
+
)
|
|
1885
|
+
]
|
|
1886
|
+
}
|
|
1887
|
+
);
|
|
1888
|
+
}
|
|
1889
|
+
|
|
1701
1890
|
// src/icons/YouTubeIcon.tsx
|
|
1702
|
-
var
|
|
1703
|
-
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)(
|
|
1704
1893
|
"path",
|
|
1705
1894
|
{
|
|
1706
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",
|
|
@@ -1708,9 +1897,34 @@ var YouTubeIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("svg"
|
|
|
1708
1897
|
}
|
|
1709
1898
|
) });
|
|
1710
1899
|
|
|
1900
|
+
// src/icons/ListEditIcon.tsx
|
|
1901
|
+
var import_jsx_runtime57 = require("react/jsx-runtime");
|
|
1902
|
+
function ListEditIcon({
|
|
1903
|
+
title,
|
|
1904
|
+
titleId,
|
|
1905
|
+
...props
|
|
1906
|
+
}) {
|
|
1907
|
+
return /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
|
|
1908
|
+
"svg",
|
|
1909
|
+
{
|
|
1910
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1911
|
+
height: "24",
|
|
1912
|
+
viewBox: "0 0 24 24",
|
|
1913
|
+
width: "24",
|
|
1914
|
+
"aria-labelledby": titleId,
|
|
1915
|
+
...props,
|
|
1916
|
+
children: [
|
|
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" })
|
|
1920
|
+
]
|
|
1921
|
+
}
|
|
1922
|
+
);
|
|
1923
|
+
}
|
|
1924
|
+
|
|
1711
1925
|
// src/icons/VideoIcon.tsx
|
|
1712
|
-
var
|
|
1713
|
-
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)(
|
|
1714
1928
|
"path",
|
|
1715
1929
|
{
|
|
1716
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",
|
|
@@ -1719,8 +1933,8 @@ var VideoIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("svg",
|
|
|
1719
1933
|
) });
|
|
1720
1934
|
|
|
1721
1935
|
// src/icons/AudioIcon.tsx
|
|
1722
|
-
var
|
|
1723
|
-
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)(
|
|
1724
1938
|
"path",
|
|
1725
1939
|
{
|
|
1726
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",
|
|
@@ -1729,8 +1943,8 @@ var AudioIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("svg",
|
|
|
1729
1943
|
) });
|
|
1730
1944
|
|
|
1731
1945
|
// src/icons/EmptyCanvasIcon.tsx
|
|
1732
|
-
var
|
|
1733
|
-
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)(
|
|
1734
1948
|
"path",
|
|
1735
1949
|
{
|
|
1736
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",
|
|
@@ -1739,14 +1953,14 @@ var EmptyCanvasIcon = (props) => /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("
|
|
|
1739
1953
|
) });
|
|
1740
1954
|
|
|
1741
1955
|
// src/icons/AddIcon.tsx
|
|
1742
|
-
var
|
|
1956
|
+
var import_jsx_runtime61 = require("react/jsx-runtime");
|
|
1743
1957
|
function AddIcon({
|
|
1744
1958
|
className: className2,
|
|
1745
1959
|
inline,
|
|
1746
1960
|
height = 16,
|
|
1747
1961
|
color = "black"
|
|
1748
1962
|
}) {
|
|
1749
|
-
return /* @__PURE__ */ (0,
|
|
1963
|
+
return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)(
|
|
1750
1964
|
"svg",
|
|
1751
1965
|
{
|
|
1752
1966
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1757,17 +1971,17 @@ function AddIcon({
|
|
|
1757
1971
|
style: { verticalAlign: inline ? "bottom" : void 0 },
|
|
1758
1972
|
className: className2,
|
|
1759
1973
|
children: [
|
|
1760
|
-
/* @__PURE__ */ (0,
|
|
1761
|
-
/* @__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" })
|
|
1762
1976
|
]
|
|
1763
1977
|
}
|
|
1764
1978
|
);
|
|
1765
1979
|
}
|
|
1766
1980
|
|
|
1767
1981
|
// src/icons/MoreMenu.tsx
|
|
1768
|
-
var
|
|
1982
|
+
var import_jsx_runtime62 = require("react/jsx-runtime");
|
|
1769
1983
|
function MoreMenu2() {
|
|
1770
|
-
return /* @__PURE__ */ (0,
|
|
1984
|
+
return /* @__PURE__ */ (0, import_jsx_runtime62.jsxs)(
|
|
1771
1985
|
"svg",
|
|
1772
1986
|
{
|
|
1773
1987
|
xmlns: "http://www.w3.org/2000/svg",
|
|
@@ -1775,8 +1989,8 @@ function MoreMenu2() {
|
|
|
1775
1989
|
viewBox: "0 0 24 24",
|
|
1776
1990
|
width: "1em",
|
|
1777
1991
|
children: [
|
|
1778
|
-
/* @__PURE__ */ (0,
|
|
1779
|
-
/* @__PURE__ */ (0,
|
|
1992
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)("path", { d: "M0 0h24v24H0z", fill: "none" }),
|
|
1993
|
+
/* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
|
|
1780
1994
|
"path",
|
|
1781
1995
|
{
|
|
1782
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",
|
|
@@ -1788,14 +2002,78 @@ function MoreMenu2() {
|
|
|
1788
2002
|
);
|
|
1789
2003
|
}
|
|
1790
2004
|
|
|
2005
|
+
// src/icons/PreviewIcon.tsx
|
|
2006
|
+
var import_jsx_runtime63 = require("react/jsx-runtime");
|
|
2007
|
+
function PreviewIcon(props) {
|
|
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)(
|
|
2009
|
+
"path",
|
|
2010
|
+
{
|
|
2011
|
+
fill: "currentColor",
|
|
2012
|
+
d: "M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5s5 2.24 5 5s-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3s3-1.34 3-3s-1.34-3-3-3"
|
|
2013
|
+
}
|
|
2014
|
+
) });
|
|
2015
|
+
}
|
|
2016
|
+
|
|
2017
|
+
// src/icons/ImageListIcon.tsx
|
|
2018
|
+
var import_jsx_runtime64 = require("react/jsx-runtime");
|
|
2019
|
+
function ImageListIcon(props) {
|
|
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)(
|
|
2021
|
+
"path",
|
|
2022
|
+
{
|
|
2023
|
+
fill: "currentColor",
|
|
2024
|
+
d: "M1 5h2v14H1zm4 0h2v14H5zm17 0H10c-.55 0-1 .45-1 1v12c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V6c0-.55-.45-1-1-1M11 17l2.5-3.15L15.29 16l2.5-3.22L21 17z"
|
|
2025
|
+
}
|
|
2026
|
+
) });
|
|
2027
|
+
}
|
|
2028
|
+
|
|
2029
|
+
// src/icons/BackIcon.tsx
|
|
2030
|
+
var import_jsx_runtime65 = require("react/jsx-runtime");
|
|
2031
|
+
function BackIcon(props) {
|
|
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" }) });
|
|
2033
|
+
}
|
|
2034
|
+
|
|
2035
|
+
// src/icons/GridIcon.tsx
|
|
2036
|
+
var import_jsx_runtime66 = require("react/jsx-runtime");
|
|
2037
|
+
function GridIcon(props) {
|
|
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)(
|
|
2040
|
+
"path",
|
|
2041
|
+
{
|
|
2042
|
+
fill: "currentColor",
|
|
2043
|
+
d: "M10 10h4v4h-4zm0 6h4v4h-4zM4 4h4v4H4zm0 6h4v4H4zm0 6h4v4H4zM16 4h4v4h-4zm0 6h4v4h-4zm0 6h4v4h-4zM10 4h4v4h-4z",
|
|
2044
|
+
opacity: ".3"
|
|
2045
|
+
}
|
|
2046
|
+
),
|
|
2047
|
+
/* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
|
|
2048
|
+
"path",
|
|
2049
|
+
{
|
|
2050
|
+
fill: "currentColor",
|
|
2051
|
+
d: "M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2M8 20H4v-4h4zm0-6H4v-4h4zm0-6H4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4z"
|
|
2052
|
+
}
|
|
2053
|
+
)
|
|
2054
|
+
] });
|
|
2055
|
+
}
|
|
2056
|
+
|
|
2057
|
+
// src/icons/ScaledImageIcon.tsx
|
|
2058
|
+
var import_jsx_runtime67 = require("react/jsx-runtime");
|
|
2059
|
+
function ScaledImageIcon(props) {
|
|
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)(
|
|
2061
|
+
"path",
|
|
2062
|
+
{
|
|
2063
|
+
fill: "currentColor",
|
|
2064
|
+
d: "M21 15h2v2h-2zm0-4h2v2h-2zm2 8h-2v2c1 0 2-1 2-2M13 3h2v2h-2zm8 4h2v2h-2zm0-4v2h2c0-1-1-2-2-2M1 7h2v2H1zm16-4h2v2h-2zm0 16h2v2h-2zM3 3C2 3 1 4 1 5h2zm6 0h2v2H9zM5 3h2v2H5zm-4 8v8c0 1.1.9 2 2 2h12V11zm2 8l2.5-3.21l1.79 2.15l2.5-3.22L13 19z"
|
|
2065
|
+
}
|
|
2066
|
+
) });
|
|
2067
|
+
}
|
|
2068
|
+
|
|
1791
2069
|
// src/ErrorMessage.tsx
|
|
1792
|
-
var
|
|
1793
|
-
var
|
|
2070
|
+
var import_tailwind_merge8 = require("tailwind-merge");
|
|
2071
|
+
var import_jsx_runtime68 = require("react/jsx-runtime");
|
|
1794
2072
|
function ErrorMessage({ children, small = false, className: className2 }) {
|
|
1795
|
-
return /* @__PURE__ */ (0,
|
|
2073
|
+
return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(
|
|
1796
2074
|
"div",
|
|
1797
2075
|
{
|
|
1798
|
-
className: (0,
|
|
2076
|
+
className: (0, import_tailwind_merge8.twMerge)(
|
|
1799
2077
|
"bg-red-500 text-white",
|
|
1800
2078
|
"border-1 drop-shadow border-red-700 w-full rounded-md py-2 px-4 leading-[1.9em] flex items-center",
|
|
1801
2079
|
"has-[a]:text-white",
|
|
@@ -1829,9 +2107,9 @@ function useFastList(list, firstRender = 24) {
|
|
|
1829
2107
|
|
|
1830
2108
|
// src/RenderTextualContent.tsx
|
|
1831
2109
|
var import_react11 = require("react");
|
|
1832
|
-
var
|
|
1833
|
-
var
|
|
1834
|
-
var
|
|
2110
|
+
var import_react_aria_components10 = require("react-aria-components");
|
|
2111
|
+
var import_react_iiif_vault8 = require("react-iiif-vault");
|
|
2112
|
+
var import_jsx_runtime69 = require("react/jsx-runtime");
|
|
1835
2113
|
function RenderTextualContent(props) {
|
|
1836
2114
|
const languages = props.strategy.items.map(
|
|
1837
2115
|
(item) => Object.keys(item.text)[0]
|
|
@@ -1840,10 +2118,10 @@ function RenderTextualContent(props) {
|
|
|
1840
2118
|
const selected = props.strategy.items.find(
|
|
1841
2119
|
(item) => Object.keys(item.text)[0] === langauge
|
|
1842
2120
|
);
|
|
1843
|
-
return /* @__PURE__ */ (0,
|
|
1844
|
-
/* @__PURE__ */ (0,
|
|
1845
|
-
return /* @__PURE__ */ (0,
|
|
1846
|
-
|
|
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,
|
|
1847
2125
|
{
|
|
1848
2126
|
className: `py-1 px-3 ${langauge === language ? "bg-me-500 text-white" : "bg-white text-black"}`,
|
|
1849
2127
|
onPress: () => setLanguage(language),
|
|
@@ -1852,11 +2130,11 @@ function RenderTextualContent(props) {
|
|
|
1852
2130
|
language
|
|
1853
2131
|
);
|
|
1854
2132
|
}) }),
|
|
1855
|
-
/* @__PURE__ */ (0,
|
|
1856
|
-
|
|
2133
|
+
/* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "p-4 prose", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
|
|
2134
|
+
import_react_iiif_vault8.LocaleString,
|
|
1857
2135
|
{
|
|
1858
2136
|
enableDangerouslySetInnerHTML: true,
|
|
1859
|
-
defaultText: /* @__PURE__ */ (0,
|
|
2137
|
+
defaultText: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("span", { className: "text-gray-500 my-8", children: "No content available" }),
|
|
1860
2138
|
children: selected?.text
|
|
1861
2139
|
}
|
|
1862
2140
|
) })
|
|
@@ -1870,15 +2148,15 @@ var import_captions = require("@vidstack/react/player/styles/default/captions.cs
|
|
|
1870
2148
|
var import_video = require("@vidstack/react/player/styles/default/layouts/video.css");
|
|
1871
2149
|
var import_react12 = require("@vidstack/react");
|
|
1872
2150
|
var import_default = require("@vidstack/react/player/layouts/default");
|
|
1873
|
-
var
|
|
2151
|
+
var import_helpers2 = require("@iiif/helpers");
|
|
1874
2152
|
var import_react13 = require("react");
|
|
1875
|
-
var
|
|
2153
|
+
var import_jsx_runtime70 = require("react/jsx-runtime");
|
|
1876
2154
|
function IIIFMediaPlayer(props) {
|
|
1877
2155
|
const mediaPlayer = (0, import_react13.useRef)(null);
|
|
1878
2156
|
const captions = props.captions || [];
|
|
1879
2157
|
const language = props.language;
|
|
1880
2158
|
const timeRef = (0, import_react13.useRef)(props.startTime || 0);
|
|
1881
|
-
return /* @__PURE__ */ (0,
|
|
2159
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
1882
2160
|
import_react12.MediaPlayer,
|
|
1883
2161
|
{
|
|
1884
2162
|
onTimeUpdate: (time) => {
|
|
@@ -1899,29 +2177,29 @@ function IIIFMediaPlayer(props) {
|
|
|
1899
2177
|
type: props.media.format
|
|
1900
2178
|
}
|
|
1901
2179
|
],
|
|
1902
|
-
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: [
|
|
1903
2181
|
captions.map((caption) => {
|
|
1904
|
-
return /* @__PURE__ */ (0,
|
|
2182
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
1905
2183
|
import_react12.Track,
|
|
1906
2184
|
{
|
|
1907
2185
|
src: caption.id,
|
|
1908
2186
|
kind: "subtitles",
|
|
1909
|
-
label: (0,
|
|
2187
|
+
label: (0, import_helpers2.getValue)(caption.label),
|
|
1910
2188
|
default: caption.language === language,
|
|
1911
2189
|
language: caption.language
|
|
1912
2190
|
},
|
|
1913
2191
|
caption.id
|
|
1914
2192
|
);
|
|
1915
2193
|
}),
|
|
1916
|
-
props.poster ? /* @__PURE__ */ (0,
|
|
2194
|
+
props.poster ? /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
1917
2195
|
import_react12.Poster,
|
|
1918
2196
|
{
|
|
1919
2197
|
className: "absolute inset-0 bg-black block h-full w-full opacity-0 transition-opacity data-[visible]:opacity-100 object-contain",
|
|
1920
2198
|
src: props.poster
|
|
1921
2199
|
}
|
|
1922
2200
|
) : null,
|
|
1923
|
-
/* @__PURE__ */ (0,
|
|
1924
|
-
/* @__PURE__ */ (0,
|
|
2201
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(Gestures, {}),
|
|
2202
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
1925
2203
|
import_default.DefaultVideoLayout,
|
|
1926
2204
|
{
|
|
1927
2205
|
className: "z-1",
|
|
@@ -1934,8 +2212,8 @@ function IIIFMediaPlayer(props) {
|
|
|
1934
2212
|
);
|
|
1935
2213
|
}
|
|
1936
2214
|
function Gestures() {
|
|
1937
|
-
return /* @__PURE__ */ (0,
|
|
1938
|
-
/* @__PURE__ */ (0,
|
|
2215
|
+
return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)(import_jsx_runtime70.Fragment, { children: [
|
|
2216
|
+
/* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
|
|
1939
2217
|
import_react12.Gesture,
|
|
1940
2218
|
{
|
|
1941
2219
|
className: "pointer-coarse:hidden absolute top-0 start-12 bottom-20 right-0 -z-1 block",
|
|
@@ -1943,6 +2221,6 @@ function Gestures() {
|
|
|
1943
2221
|
action: "toggle:paused"
|
|
1944
2222
|
}
|
|
1945
2223
|
),
|
|
1946
|
-
/* @__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" })
|
|
1947
2225
|
] });
|
|
1948
2226
|
}
|