col-browser 2.2.4 → 2.3.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "col-browser",
3
- "version": "2.2.4",
3
+ "version": "2.3.0",
4
4
  "description": "Catalogue of Life browse and search React components",
5
5
  "main": "umd/col-browser.js",
6
6
  "module": "es/index.js",
@@ -70816,6 +70816,9 @@ html body {
70816
70816
  params.facetLimit = FACET_LIMIT;
70817
70817
  }
70818
70818
  delete params.fuzzy;
70819
+ if (params.type && String(params.type).toUpperCase() !== "FUZZY") {
70820
+ delete params.type;
70821
+ }
70819
70822
  if (!params.limit) {
70820
70823
  params.limit = PAGE_SIZE;
70821
70824
  }
@@ -70936,6 +70939,7 @@ html body {
70936
70939
  taxGroups
70937
70940
  } = this.state;
70938
70941
  const { datasetKey, defaultTaxonKey, citation } = this.props;
70942
+ const isFuzzy = String(params.type || "").toUpperCase() === "FUZZY";
70939
70943
  const facetRanks = get(facets, "rank") ? facets.rank.map((r2) => ({
70940
70944
  value: r2.value,
70941
70945
  label: `${startCase(r2.value)} (${r2.count.toLocaleString("en-GB")})`
@@ -71047,61 +71051,53 @@ html body {
71047
71051
  autoFocus: false
71048
71052
  }
71049
71053
  ) }),
71050
- /* @__PURE__ */ jsxRuntimeExports.jsxs("div", { style: { marginTop: "10px" }, children: [
71051
- /* @__PURE__ */ jsxRuntimeExports.jsx(Form, { layout: "inline", children: /* @__PURE__ */ jsxRuntimeExports.jsx(FormItem, { label: "Matching", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
71054
+ /* @__PURE__ */ jsxRuntimeExports.jsx("div", { style: { marginTop: "10px" }, children: /* @__PURE__ */ jsxRuntimeExports.jsxs(Form, { layout: "inline", children: [
71055
+ (this.state.datasetOrigin === "xrelease" || this.state.datasetOrigin === "project") && /* @__PURE__ */ jsxRuntimeExports.jsx(FormItem, { label: "Content", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
71052
71056
  RadioGroup,
71053
71057
  {
71058
+ style: { marginLeft: "8px" },
71054
71059
  size: "small",
71055
71060
  onChange: (evt) => {
71056
- this.updateSearch({ type: evt.target.value });
71061
+ this.updateSearch({ sectorMode: evt.target.value.split(",").filter((v2) => v2 !== "") });
71057
71062
  },
71058
- value: params.type || "WHOLE_WORDS",
71063
+ value: isArray(params == null ? void 0 : params.sectorMode) ? (_a2 = params == null ? void 0 : params.sectorMode) == null ? void 0 : _a2.join(",") : (params == null ? void 0 : params.sectorMode) || "",
71059
71064
  optionType: "button",
71060
71065
  options: [
71061
- { value: "EXACT", label: "Exact" },
71062
- { value: "WHOLE_WORDS", label: "Words" },
71063
- { value: "PREFIX", label: "Prefix" },
71064
- { value: "FUZZY", label: "Fuzzy" }
71066
+ { value: "", label: "All" },
71067
+ { value: "attach,union", label: "Base" },
71068
+ { value: "merge", label: "Extended" }
71065
71069
  ]
71066
71070
  }
71067
- ) }) }),
71068
- /* @__PURE__ */ jsxRuntimeExports.jsxs(Form, { layout: "inline", children: [
71069
- (this.state.datasetOrigin === "xrelease" || this.state.datasetOrigin === "project") && /* @__PURE__ */ jsxRuntimeExports.jsx(FormItem, { label: "Content", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
71070
- RadioGroup,
71071
- {
71072
- style: { marginLeft: "8px" },
71073
- size: "small",
71074
- onChange: (evt) => {
71075
- this.updateSearch({ sectorMode: evt.target.value.split(",").filter((v2) => v2 !== "") });
71076
- },
71077
- value: isArray(params == null ? void 0 : params.sectorMode) ? (_a2 = params == null ? void 0 : params.sectorMode) == null ? void 0 : _a2.join(",") : (params == null ? void 0 : params.sectorMode) || "",
71078
- optionType: "button",
71079
- options: [
71080
- { value: "", label: "All" },
71081
- { value: "attach,union", label: "Base" },
71082
- { value: "merge", label: "Extended" }
71083
- ]
71084
- }
71085
- ) }),
71086
- /* @__PURE__ */ jsxRuntimeExports.jsx(FormItem, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
71087
- Select,
71088
- {
71089
- mode: "multiple",
71090
- allowClear: true,
71091
- size: "small",
71092
- style: { minWidth: 200 },
71093
- placeholder: "Search fields",
71094
- value: isArray(params == null ? void 0 : params.content) ? params.content : (params == null ? void 0 : params.content) ? [params.content] : [],
71095
- onChange: (value) => this.updateSearch({ content: value.length ? value : null }),
71096
- options: [
71097
- { value: "SCIENTIFIC_NAME", label: "Scientific name" },
71098
- { value: "AUTHORSHIP", label: "Authorship" },
71099
- { value: "VERNACULAR_NAME", label: "Vernacular name" }
71100
- ]
71101
- }
71102
- ) })
71103
- ] })
71104
- ] })
71071
+ ) }),
71072
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FormItem, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
71073
+ Select,
71074
+ {
71075
+ mode: "multiple",
71076
+ allowClear: true,
71077
+ size: "small",
71078
+ style: { minWidth: 200 },
71079
+ placeholder: "Search fields",
71080
+ value: isArray(params == null ? void 0 : params.content) ? params.content : (params == null ? void 0 : params.content) ? [params.content] : [],
71081
+ onChange: (value) => this.updateSearch({ content: value.length ? value : null }),
71082
+ options: [
71083
+ { value: "SCIENTIFIC_NAME", label: "Scientific name" },
71084
+ { value: "AUTHORSHIP", label: "Authorship" },
71085
+ { value: "VERNACULAR_NAME", label: "Vernacular name" }
71086
+ ]
71087
+ }
71088
+ ) }),
71089
+ /* @__PURE__ */ jsxRuntimeExports.jsx(FormItem, { children: /* @__PURE__ */ jsxRuntimeExports.jsx(
71090
+ Button$1,
71091
+ {
71092
+ size: "small",
71093
+ color: isFuzzy ? "primary" : "default",
71094
+ variant: "outlined",
71095
+ "aria-pressed": isFuzzy,
71096
+ onClick: () => this.updateSearch({ type: isFuzzy ? null : "FUZZY" }),
71097
+ children: "Fuzzy"
71098
+ }
71099
+ ) })
71100
+ ] }) })
71105
71101
  ] }),
71106
71102
  /* @__PURE__ */ jsxRuntimeExports.jsxs(Col, { xs: 24, sm: 24, md: 12, children: [
71107
71103
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -77577,7 +77573,7 @@ html body {
77577
77573
  /* @__PURE__ */ jsxRuntimeExports.jsxs("span", { style: indent ? { marginLeft: "10px" } : null, children: [
77578
77574
  homotypic === true ? "≡ " : "= ",
77579
77575
  " ",
77580
- /* @__PURE__ */ jsxRuntimeExports.jsx(
77576
+ /* @__PURE__ */ jsxRuntimeExports.jsx(LinkTo, { to: "taxon", args: get(s, "id"), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
77581
77577
  "span",
77582
77578
  {
77583
77579
  dangerouslySetInnerHTML: {
@@ -77592,7 +77588,7 @@ html body {
77592
77588
  )
77593
77589
  }
77594
77590
  }
77595
- )
77591
+ ) })
77596
77592
  ] }),
77597
77593
  " ",
77598
77594
  (s == null ? void 0 : s.sourceDatasetKey) && get(primarySource, "key") !== (s == null ? void 0 : s.sourceDatasetKey) && /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -87049,108 +87045,12 @@ html body {
87049
87045
  const { taxonKey } = this.props;
87050
87046
  this.getCatalogue();
87051
87047
  if (taxonKey) {
87052
- this.getTaxon(taxonKey);
87053
87048
  this.getInfo(taxonKey);
87054
87049
  this.getRank(taxonKey);
87055
87050
  this.getIncludes(taxonKey);
87056
87051
  this.getNomStatus(taxonKey);
87057
87052
  }
87058
87053
  });
87059
- __publicField(this, "getTaxon", (taxonKey) => {
87060
- const { datasetKey, pageTitleTemplate } = this.props;
87061
- this.setState({ loading: true });
87062
- client(`${config.dataApi}dataset/${datasetKey}/taxon/${taxonKey}`).then((res) => {
87063
- let promises = [res];
87064
- if (pageTitleTemplate && get(res, "data.label")) {
87065
- document.title = pageTitleTemplate.replace(
87066
- "__taxon__",
87067
- res.data.label
87068
- );
87069
- }
87070
- if (get(res, "data.name.publishedInId")) {
87071
- promises.push(
87072
- client(
87073
- `${config.dataApi}dataset/${datasetKey}/reference/${get(
87074
- res,
87075
- "data.name.publishedInId"
87076
- )}`
87077
- ).then((publishedIn) => {
87078
- res.data.name.publishedIn = publishedIn.data;
87079
- return res;
87080
- })
87081
- );
87082
- }
87083
- if (get(res, "data.name")) {
87084
- promises.push(
87085
- client(
87086
- `${config.dataApi}dataset/${datasetKey}/name/${get(
87087
- res,
87088
- "data.name.id"
87089
- )}/relations`
87090
- ).then((relations) => {
87091
- res.data.name.relations = relations.data;
87092
- return Promise.allSettled(
87093
- relations.data.map((r2) => {
87094
- return client(
87095
- `${config.dataApi}dataset/${datasetKey}/name/${r2.relatedNameId}`
87096
- ).then((n2) => {
87097
- r2.relatedName = n2.data;
87098
- });
87099
- })
87100
- ).then((results) => {
87101
- return results.filter((r2) => r2.status = "fulfilled").map((r2) => r2.value);
87102
- });
87103
- })
87104
- );
87105
- }
87106
- if (get(res, "data.sectorKey")) {
87107
- client(
87108
- `${config.dataApi}dataset/${datasetKey}/sector/${get(
87109
- res,
87110
- "data.sectorKey"
87111
- )}`
87112
- ).then((sector) => {
87113
- client(
87114
- `${config.dataApi}dataset/${datasetKey}/logo/source/${get(
87115
- sector,
87116
- "data.subjectDatasetKey"
87117
- )}`
87118
- ).then(() => {
87119
- this.setState({
87120
- logoUrl: `${config.dataApi}dataset/${datasetKey}/logo/source/${get(
87121
- sector,
87122
- "data.subjectDatasetKey"
87123
- )}?size=MEDIUM`
87124
- });
87125
- }).catch(() => {
87126
- });
87127
- client(
87128
- `${config.dataApi}dataset/${datasetKey}/source/${get(
87129
- sector,
87130
- "data.subjectDatasetKey"
87131
- )}`
87132
- ).then((dataset) => {
87133
- this.setState({ sourceDataset: dataset.data });
87134
- });
87135
- });
87136
- }
87137
- return Promise.allSettled(promises).then((results) => {
87138
- return results.filter((r2) => r2.status = "fulfilled").map((r2) => r2.value);
87139
- });
87140
- }).then((res) => {
87141
- this.setState({
87142
- taxonLoading: false,
87143
- taxon: res[0].data,
87144
- taxonError: null
87145
- });
87146
- }).catch((err) => {
87147
- if (get(err, "response.status") === 404) {
87148
- this.fetchSynonymAndRedirect(taxonKey);
87149
- } else {
87150
- this.setState({ taxonLoading: false, taxonError: err, taxon: null });
87151
- }
87152
- });
87153
- });
87154
87054
  __publicField(this, "getCatalogue", () => {
87155
87055
  const { datasetKey } = this.props;
87156
87056
  client(`${config.dataApi}dataset/${datasetKey}`).then((res) => {
@@ -87201,11 +87101,50 @@ html body {
87201
87101
  });
87202
87102
  __publicField(this, "getInfo", async (taxonKey) => {
87203
87103
  var _a2, _b2, _c, _d, _e2, _f;
87204
- const { datasetKey } = this.props;
87104
+ const { datasetKey, pageTitleTemplate } = this.props;
87205
87105
  try {
87206
87106
  const res = await client(
87207
87107
  `${config.dataApi}dataset/${datasetKey}/taxon/${taxonKey}/info`
87208
87108
  );
87109
+ const usage = get(res, "data.usage");
87110
+ if (pageTitleTemplate && get(usage, "label")) {
87111
+ document.title = pageTitleTemplate.replace("__taxon__", usage.label);
87112
+ }
87113
+ const publishedInId = get(usage, "name.publishedInId");
87114
+ if (publishedInId && usage.name) {
87115
+ const cited = get(res, "data.references") && res.data.references[publishedInId];
87116
+ if (cited) {
87117
+ usage.name.publishedIn = cited;
87118
+ } else {
87119
+ try {
87120
+ const pub = await client(
87121
+ `${config.dataApi}dataset/${datasetKey}/reference/${publishedInId}`
87122
+ );
87123
+ usage.name.publishedIn = pub.data;
87124
+ } catch (e2) {
87125
+ }
87126
+ }
87127
+ }
87128
+ if (get(usage, "sectorKey")) {
87129
+ client(
87130
+ `${config.dataApi}dataset/${datasetKey}/sector/${get(usage, "sectorKey")}`
87131
+ ).then((sector) => {
87132
+ const subjectDatasetKey = get(sector, "data.subjectDatasetKey");
87133
+ client(
87134
+ `${config.dataApi}dataset/${datasetKey}/logo/source/${subjectDatasetKey}`
87135
+ ).then(() => {
87136
+ this.setState({
87137
+ logoUrl: `${config.dataApi}dataset/${datasetKey}/logo/source/${subjectDatasetKey}?size=MEDIUM`
87138
+ });
87139
+ }).catch(() => {
87140
+ });
87141
+ client(
87142
+ `${config.dataApi}dataset/${datasetKey}/source/${subjectDatasetKey}`
87143
+ ).then((dataset) => {
87144
+ this.setState({ sourceDataset: dataset.data });
87145
+ });
87146
+ });
87147
+ }
87209
87148
  let referenceIndexMap = {};
87210
87149
  if (get(res, "data.references")) {
87211
87150
  Object.keys(res.data.references).forEach((k, i) => {
@@ -87253,6 +87192,7 @@ html body {
87253
87192
  this.setState({
87254
87193
  infoLoading: false,
87255
87194
  info: res.data,
87195
+ taxon: usage,
87256
87196
  classification: (_f = res == null ? void 0 : res.data) == null ? void 0 : _f.classification,
87257
87197
  infoError: null,
87258
87198
  referenceIndexMap,
@@ -87260,7 +87200,7 @@ html body {
87260
87200
  });
87261
87201
  } catch (err) {
87262
87202
  if (get(err, "response.status") === 404) {
87263
- this.fetchSynonymAndRedirect(taxonKey);
87203
+ this.setState({ infoLoading: false, info: null, taxon: null, status: 404 });
87264
87204
  } else {
87265
87205
  this.setState({ infoLoading: false, infoError: err, info: null });
87266
87206
  }
@@ -87294,19 +87234,6 @@ html body {
87294
87234
  });
87295
87235
  });
87296
87236
  });
87297
- __publicField(this, "fetchSynonymAndRedirect", (taxonKey) => {
87298
- var _a2, _b2;
87299
- const { datasetKey } = this.props;
87300
- const navigateToTaxon = (_b2 = (_a2 = this.context) == null ? void 0 : _a2.taxon) == null ? void 0 : _b2.onNavigate;
87301
- client(`${config.dataApi}dataset/${datasetKey}/synonym/${taxonKey}`).then((res) => {
87302
- const acceptedId = get(res, "data.accepted.id");
87303
- if (acceptedId && navigateToTaxon) navigateToTaxon(acceptedId);
87304
- }).catch((err) => {
87305
- if (get(err, "response.status") === 404) {
87306
- this.setState({ status: 404 });
87307
- }
87308
- });
87309
- });
87310
87237
  setAuth(this.props.auth);
87311
87238
  this.state = {
87312
87239
  taxon: null,
@@ -87332,7 +87259,6 @@ html body {
87332
87259
  componentDidUpdate(prevProps) {
87333
87260
  if (prevProps.taxonKey !== this.props.taxonKey && this.props.taxonKey) {
87334
87261
  const taxonKey = this.props.taxonKey;
87335
- this.getTaxon(taxonKey);
87336
87262
  this.getInfo(taxonKey);
87337
87263
  this.getRank(taxonKey);
87338
87264
  this.getIncludes(taxonKey);
@@ -87363,6 +87289,9 @@ html body {
87363
87289
  referenceIndexMap
87364
87290
  } = this.state;
87365
87291
  const genusRankIndex = rank ? rank.indexOf("genus") : -1;
87292
+ const isSynonym = ["synonym", "ambiguous synonym", "misapplied"].includes(
87293
+ get(taxon, "status")
87294
+ );
87366
87295
  const homotypic = get(info, "synonyms.homotypic", []);
87367
87296
  const heterotypic = get(info, "synonyms.heterotypic", []);
87368
87297
  get(info, "synonyms.misapplied", []);
@@ -87429,6 +87358,31 @@ html body {
87429
87358
  }
87430
87359
  ) })
87431
87360
  ] }),
87361
+ isSynonym && get(taxon, "accepted.id") && /* @__PURE__ */ jsxRuntimeExports.jsxs(
87362
+ "div",
87363
+ {
87364
+ style: {
87365
+ paddingLeft: "10px",
87366
+ marginTop: "2px",
87367
+ marginBottom: "10px",
87368
+ fontSize: "16px"
87369
+ },
87370
+ children: [
87371
+ get(taxon, "status"),
87372
+ " ",
87373
+ get(taxon, "status") === "misapplied" ? "to" : "of",
87374
+ " ",
87375
+ /* @__PURE__ */ jsxRuntimeExports.jsx(LinkTo, { to: "taxon", args: get(taxon, "accepted.id"), children: /* @__PURE__ */ jsxRuntimeExports.jsx(
87376
+ "span",
87377
+ {
87378
+ dangerouslySetInnerHTML: {
87379
+ __html: get(taxon, "accepted.labelHtml")
87380
+ }
87381
+ }
87382
+ ) })
87383
+ ]
87384
+ }
87385
+ ),
87432
87386
  get(taxon, "id") && /* @__PURE__ */ jsxRuntimeExports.jsxs(
87433
87387
  PresentationItem$1,
87434
87388
  {
@@ -87470,6 +87424,10 @@ html body {
87470
87424
  ]
87471
87425
  }
87472
87426
  ),
87427
+ Array.isArray(get(taxon, "identifier")) && get(taxon, "identifier").length > 0 && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Identifiers", children: get(taxon, "identifier").map((id, i) => /* @__PURE__ */ jsxRuntimeExports.jsxs(React.Fragment, { children: [
87428
+ i > 0 && ", ",
87429
+ String(id)
87430
+ ] }, i)) }),
87473
87431
  get(taxon, "labelHtml") && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Name", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
87474
87432
  "span",
87475
87433
  {
@@ -87507,7 +87465,7 @@ html body {
87507
87465
  ] }),
87508
87466
  get(taxon, "name.nomStatus") && nomStatus && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Nomenclatural Status", children: nomStatus[get(taxon, "name.nomStatus")][get(taxon, "name.code"), "zoological"] }),
87509
87467
  infoError && /* @__PURE__ */ jsxRuntimeExports.jsx(Alert, { message: /* @__PURE__ */ jsxRuntimeExports.jsx(ErrorMsg, { error: infoError }), type: "error" }),
87510
- get(info, "synonyms") && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Synonyms and combinations", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
87468
+ !isSynonym && get(info, "synonyms") && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Synonyms and combinations", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
87511
87469
  SynonymsTable,
87512
87470
  {
87513
87471
  primarySource: sourceDataset,
@@ -87565,7 +87523,7 @@ html body {
87565
87523
  datasetKey
87566
87524
  }
87567
87525
  ) }),
87568
- (taxon && rank.indexOf(get(taxon, "name.rank")) < genusRankIndex && rank.indexOf(get(taxon, "name.rank")) > -1 || get(taxon, "name.rank") === "unranked" && get(taxon, "name.scientificName") === "Biota") && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Breakdown", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
87526
+ !isSynonym && (taxon && rank.indexOf(get(taxon, "name.rank")) < genusRankIndex && rank.indexOf(get(taxon, "name.rank")) > -1 || get(taxon, "name.rank") === "unranked" && get(taxon, "name.scientificName") === "Biota") && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Breakdown", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
87569
87527
  TaxonBreakdown$1,
87570
87528
  {
87571
87529
  taxon,
@@ -87575,7 +87533,7 @@ html body {
87575
87533
  showLevelSwitch: true
87576
87534
  }
87577
87535
  ) }),
87578
- includes2.length > 1 && rank && taxon && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Statistics", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
87536
+ !isSynonym && includes2.length > 1 && rank && taxon && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Statistics", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
87579
87537
  IncludesTable,
87580
87538
  {
87581
87539
  style: { marginTop: "-3px", marginLeft: "-3px" },
@@ -87584,7 +87542,7 @@ html body {
87584
87542
  taxon
87585
87543
  }
87586
87544
  ) }),
87587
- get(info, "vernacularNames") && taxon && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Vernacular names", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
87545
+ !isSynonym && get(info, "vernacularNames") && taxon && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Vernacular names", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
87588
87546
  VernacularNamesTable,
87589
87547
  {
87590
87548
  style: { marginTop: "-3px", marginLeft: "-3px" },
@@ -87593,7 +87551,7 @@ html body {
87593
87551
  datasetKey: taxon.datasetKey
87594
87552
  }
87595
87553
  ) }),
87596
- (get(info, "distributions") || showDistributionMap && gbifChecklistKey && taxon) && // Distributions owns its labelled block so it can hide entirely
87554
+ !isSynonym && (get(info, "distributions") || showDistributionMap && gbifChecklistKey && taxon) && // Distributions owns its labelled block so it can hide entirely
87597
87555
  // (label included) when there is nothing to show — including after
87598
87556
  // the async GBIF occurrence lookup comes back empty.
87599
87557
  /* @__PURE__ */ jsxRuntimeExports.jsx(
@@ -87654,7 +87612,7 @@ html body {
87654
87612
  }
87655
87613
  )
87656
87614
  ] }) }),
87657
- get(taxon, "link") && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Link to original resource", children: /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: get(taxon, "link"), children: get(taxon, "link") }) }),
87615
+ get(taxon, "link") && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Original record", children: /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: get(taxon, "link"), children: get(taxon, "link") }) }),
87658
87616
  ((_x = info == null ? void 0 : info.source) == null ? void 0 : _x.secondarySources) && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "Secondary Sources", children: /* @__PURE__ */ jsxRuntimeExports.jsx(SecondarySources, { info, datasetKey }) }),
87659
87617
  get(info, "references") && /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { md, label: "References", children: /* @__PURE__ */ jsxRuntimeExports.jsx(
87660
87618
  ReferencesTable,
@@ -89318,7 +89276,7 @@ Please report this to https://github.com/markedjs/marked.`, e2) {
89318
89276
  /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { label: "License", children: data.license || "-" }),
89319
89277
  /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { label: "Checklist Confidence", children: /* @__PURE__ */ jsxRuntimeExports.jsx(Rate, { value: data.confidence, disabled: true }) }),
89320
89278
  /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { label: "Completeness", children: data.completeness }),
89321
- /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { label: "Url (website)", children: data.url ? /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: data.url, target: "_blank", children: data.url }) : "-" }),
89279
+ /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { label: "Website", children: data.url ? /* @__PURE__ */ jsxRuntimeExports.jsx("a", { href: data.url, target: "_blank", children: data.url }) : "-" }),
89322
89280
  /* @__PURE__ */ jsxRuntimeExports.jsx(PresentationItem$1, { label: "ISSN", children: data.issn ? /* @__PURE__ */ jsxRuntimeExports.jsx(
89323
89281
  "a",
89324
89282
  {