@ikaros-arch/react-3dhop-iiif 0.2.0 → 0.3.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.mjs CHANGED
@@ -1,6 +1,6 @@
1
1
  // src/IIIFViewer.tsx
2
2
  import { useEffect as useEffect2, useMemo as useMemo2, useState as useState2 } from "react";
3
- import { ThreeDHopViewer } from "@ikaros-arch/react-3dhop";
3
+ import { ThreeDHopViewer, extractToolbar } from "@ikaros-arch/react-3dhop";
4
4
 
5
5
  // src/context.tsx
6
6
  import { createContext, useCallback, useContext, useEffect, useMemo, useState } from "react";
@@ -839,6 +839,7 @@ var IIIFViewer = ({
839
839
  space,
840
840
  config,
841
841
  trackball,
842
+ toolbar: toolbarProp,
842
843
  children,
843
844
  ...viewerProps
844
845
  }) => {
@@ -919,6 +920,8 @@ var IIIFViewer = ({
919
920
  if (!scene || !localized) {
920
921
  return /* @__PURE__ */ jsx2(Fragment, { children: loadingFallback });
921
922
  }
923
+ const { toolbar: extractedToolbar, rest } = extractToolbar(children);
924
+ const toolbar = toolbarProp ?? extractedToolbar;
922
925
  return /* @__PURE__ */ jsx2(
923
926
  ThreeDHopViewer,
924
927
  {
@@ -928,6 +931,7 @@ var IIIFViewer = ({
928
931
  config: scene.config,
929
932
  trackball: scene.trackball,
930
933
  measurementUnits: viewerProps.measurementUnits ?? scene.displayUnit,
934
+ toolbar,
931
935
  children: /* @__PURE__ */ jsxs(
932
936
  IIIFProvider,
933
937
  {
@@ -940,7 +944,7 @@ var IIIFViewer = ({
940
944
  setLanguage,
941
945
  children: [
942
946
  applyInitialCamera && localized.cameras.length > 0 ? /* @__PURE__ */ jsx2(InitialCamera, {}) : null,
943
- children
947
+ rest
944
948
  ]
945
949
  }
946
950
  )
@@ -962,7 +966,7 @@ var InitialCamera = () => {
962
966
 
963
967
  // src/IIIFMultiManifestViewer.tsx
964
968
  import { useEffect as useEffect4, useMemo as useMemo4, useState as useState4 } from "react";
965
- import { ThreeDHopViewer as ThreeDHopViewer2 } from "@ikaros-arch/react-3dhop";
969
+ import { ThreeDHopViewer as ThreeDHopViewer2, extractToolbar as extractToolbar2 } from "@ikaros-arch/react-3dhop";
966
970
 
967
971
  // src/multiManifestContext.tsx
968
972
  import { createContext as createContext2, useCallback as useCallback2, useContext as useContext2, useEffect as useEffect3, useMemo as useMemo3, useState as useState3 } from "react";
@@ -1238,6 +1242,7 @@ var IIIFMultiManifestViewer = ({
1238
1242
  space,
1239
1243
  config,
1240
1244
  trackball,
1245
+ toolbar: toolbarProp,
1241
1246
  children,
1242
1247
  ...viewerProps
1243
1248
  }) => {
@@ -1320,6 +1325,8 @@ var IIIFMultiManifestViewer = ({
1320
1325
  if (!scene) {
1321
1326
  return /* @__PURE__ */ jsx4(Fragment2, { children: loadingFallback });
1322
1327
  }
1328
+ const { toolbar: extractedToolbar, rest } = extractToolbar2(children);
1329
+ const toolbar = toolbarProp ?? extractedToolbar;
1323
1330
  return /* @__PURE__ */ jsx4(
1324
1331
  ThreeDHopViewer2,
1325
1332
  {
@@ -1329,7 +1336,8 @@ var IIIFMultiManifestViewer = ({
1329
1336
  config: scene.config,
1330
1337
  trackball: scene.trackball,
1331
1338
  measurementUnits: viewerProps.measurementUnits ?? scene.displayUnit,
1332
- children: /* @__PURE__ */ jsx4(IIIFMultiManifestProvider, { status, error, diagnostics, scene, children })
1339
+ toolbar,
1340
+ children: /* @__PURE__ */ jsx4(IIIFMultiManifestProvider, { status, error, diagnostics, scene, children: rest })
1333
1341
  }
1334
1342
  );
1335
1343
  };
@@ -1362,11 +1370,16 @@ function parseCollection(collection, options = {}) {
1362
1370
  onDiagnostic?.({ level: "warning", message: "Collection item has no id; skipping." });
1363
1371
  return;
1364
1372
  }
1373
+ const fields = (item.metadata ?? []).map((entry) => ({
1374
+ label: resolve(entry.label),
1375
+ value: resolve(entry.value)
1376
+ }));
1365
1377
  items.push({
1366
1378
  id: item.id,
1367
1379
  label: resolve(item.label) || item.id,
1368
1380
  summary: resolve(item.summary) || void 0,
1369
- thumbnail: firstThumbnail(item)
1381
+ thumbnail: firstThumbnail(item),
1382
+ fields
1370
1383
  });
1371
1384
  });
1372
1385
  return {