col-browser 2.5.0 → 2.6.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.
Files changed (41) hide show
  1. package/README.md +9 -0
  2. package/es/bibtex.js +1 -1
  3. package/es/chunks/{BibTex-CyUpSmpY.js → BibTex-DRE71Hg-.js} +2 -2
  4. package/es/chunks/{BibTex-CyUpSmpY.js.map → BibTex-DRE71Hg-.js.map} +1 -1
  5. package/es/chunks/{DatasetCitation-BnOkKDTv.js → DatasetCitation-Cep2dces.js} +2 -2
  6. package/es/chunks/{DatasetCitation-BnOkKDTv.js.map → DatasetCitation-Cep2dces.js.map} +1 -1
  7. package/es/chunks/{DatasetlogoWithFallback-DJEkjMJ1.js → DatasetlogoWithFallback-Bb-kmHts.js} +2 -2
  8. package/es/chunks/{DatasetlogoWithFallback-DJEkjMJ1.js.map → DatasetlogoWithFallback-Bb-kmHts.js.map} +1 -1
  9. package/es/chunks/{Distributions-Dwjo7KhA.js → Distributions-Czffme5Y.js} +422 -410
  10. package/es/chunks/Distributions-Czffme5Y.js.map +1 -0
  11. package/es/chunks/{MergedDataBadge-FvHUdT7B.js → MergedDataBadge-DK53L3R8.js} +2 -2
  12. package/es/chunks/{MergedDataBadge-FvHUdT7B.js.map → MergedDataBadge-DK53L3R8.js.map} +1 -1
  13. package/es/chunks/{TaxonBreakdown-D9g3tYXL.js → TaxonBreakdown-DqdQ18QM.js} +2 -2
  14. package/es/chunks/{TaxonBreakdown-D9g3tYXL.js.map → TaxonBreakdown-DqdQ18QM.js.map} +1 -1
  15. package/es/chunks/{XrGutter-D3PMq-Dn.js → XrGutter-COJhHpia.js} +2 -2
  16. package/es/chunks/{XrGutter-D3PMq-Dn.js.map → XrGutter-COJhHpia.js.map} +1 -1
  17. package/es/chunks/{config-D4b3a4Yi.js → config--bs_09I6.js} +12 -7
  18. package/es/chunks/config--bs_09I6.js.map +1 -0
  19. package/es/chunks/{dataset-D_gmg2Zv.js → dataset-BZpjo3Yq.js} +2 -2
  20. package/es/chunks/{dataset-D_gmg2Zv.js.map → dataset-BZpjo3Yq.js.map} +1 -1
  21. package/es/chunks/{enumeration-B-nIqCor.js → enumeration-CV8i_q_O.js} +2 -2
  22. package/es/chunks/{enumeration-B-nIqCor.js.map → enumeration-CV8i_q_O.js.map} +1 -1
  23. package/es/chunks/{sector-CE-w32Gs.js → sector-ucUgPp75.js} +2 -2
  24. package/es/chunks/{sector-CE-w32Gs.js.map → sector-ucUgPp75.js.map} +1 -1
  25. package/es/config.js +1 -1
  26. package/es/index.js +1 -1
  27. package/es/search.js +5 -5
  28. package/es/sourceDataset.js +4 -4
  29. package/es/sourceDatasetList.js +4 -4
  30. package/es/taxon.js +9 -9
  31. package/es/taxonBreakdown.js +2 -2
  32. package/es/taxonDistribution.js +2 -2
  33. package/es/tree.js +5 -5
  34. package/package.json +1 -1
  35. package/types/index.d.ts +7 -0
  36. package/umd/col-browser.js +27 -3
  37. package/umd/col-browser.js.map +1 -1
  38. package/umd/col-browser.min.js +4 -4
  39. package/umd/col-browser.min.js.map +1 -1
  40. package/es/chunks/Distributions-Dwjo7KhA.js.map +0 -1
  41. package/es/chunks/config-D4b3a4Yi.js.map +0 -1
package/README.md CHANGED
@@ -208,6 +208,7 @@ configure({ dataApi: 'https://api.dev.checklistbank.org/' });
208
208
  | `gbifApi` | `https://api.gbif.org` | occurrence counts and distribution-map tiles |
209
209
  | `gbifPortal` | `https://www.gbif.org` | the GBIF occurrence-search attribution link |
210
210
  | `basemapStyle` | `https://basemaps.cartocdn.com/gl/positron-gl-style/style.json` | the MapLibre basemap under the distribution map |
211
+ | `cartoKey` | `""` | CARTO Basemaps API key, appended to every CARTO request the map makes |
211
212
 
212
213
  `configure()` merges into the shared config, so keys you leave out keep their current value, and trailing slashes are normalised — pass the URL in either form. Components read the base URL as they render and as they fire each request, so call `configure()` before mounting; to switch endpoints at runtime, remount afterwards (the demo app does this with a React `key`).
213
214
 
@@ -215,6 +216,14 @@ configure({ dataApi: 'https://api.dev.checklistbank.org/' });
215
216
 
216
217
  `basemapStyle` is the one key that is not a base URL, so it is stored verbatim — path, query string and API key survive untouched. It takes anything MapLibre accepts as `style`: a style URL with your provider's key baked in, or an inline style object.
217
218
 
219
+ `cartoKey` authenticates CARTO's own basemaps. CARTO's published styles are static files whose `glyphs`, `sprite` and vector-source URLs are absolute and key-free, so putting `?key=` in the style URL authenticates that one request and nothing else — while CARTO meters *tile* requests. Setting `cartoKey` instead installs a MapLibre `transformRequest` that appends the key to every `cartocdn.com` request the map makes, and leaves other hosts (GBIF occurrence tiles, ChecklistBank) alone:
220
+
221
+ ```js
222
+ configure({ cartoKey: "your-carto-key" });
223
+ ```
224
+
225
+ A key already baked into `basemapStyle` is left as-is. Leave `cartoKey` empty for a non-CARTO provider and bake that provider's key into `basemapStyle` instead.
226
+
218
227
  ```js
219
228
  // your own CARTO account
220
229
  configure({ basemapStyle: 'https://basemaps.cartocdn.com/gl/positron-gl-style/style.json?api_key=YOUR_KEY' });
package/es/bibtex.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { w as i } from "./chunks/withDatasetKey-BgMY05XE.js";
2
2
  import { w as m } from "./chunks/withTheme-Dh6PRuII.js";
3
- import { B as o } from "./chunks/BibTex-CyUpSmpY.js";
3
+ import { B as o } from "./chunks/BibTex-DRE71Hg-.js";
4
4
  const a = m(i(o));
5
5
  export {
6
6
  a as BibTex
@@ -1,6 +1,6 @@
1
1
  import { j as s } from "./jsx-runtime-BzflLqGi.js";
2
2
  import "react";
3
- import { c as o } from "./config-D4b3a4Yi.js";
3
+ import { c as o } from "./config--bs_09I6.js";
4
4
  const b = ({ datasetKey: t, sourceDatasetKey: i, style: r = {} }) => {
5
5
  const a = {
6
6
  height: "40px"
@@ -10,4 +10,4 @@ const b = ({ datasetKey: t, sourceDatasetKey: i, style: r = {} }) => {
10
10
  export {
11
11
  b as B
12
12
  };
13
- //# sourceMappingURL=BibTex-CyUpSmpY.js.map
13
+ //# sourceMappingURL=BibTex-DRE71Hg-.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BibTex-CyUpSmpY.js","sources":["../../src/components/BibTex.js"],"sourcesContent":["import React from \"react\";\nimport config from \"../config\";\n\nconst BibTex = ({ datasetKey, sourceDatasetKey, style = {} }) => {\nconst defaultStyle = {\n height: \"40px\"\n}\nconst url = sourceDatasetKey ? `${config.dataApi}dataset/${datasetKey}/source/${sourceDatasetKey}.bib` : `${config.dataApi}dataset/${datasetKey}.bib`\n\n return (\n <a href={url} >\n <img src=\"https://www.checklistbank.org/images/bibtex_logo.png\" style={{...defaultStyle, ...style}} />\n </a>\n );\n};\n\nexport default BibTex;\n"],"names":["BibTex","datasetKey","sourceDatasetKey","style","defaultStyle","url","config","jsx"],"mappings":";;;AAGA,MAAMA,IAAS,CAAC,EAAE,YAAAC,GAAY,kBAAAC,GAAkB,OAAAC,IAAQ,CAAA,QAAS;AACjE,QAAMC,IAAe;AAAA,IACjB,QAAQ;AAAA,EAAA,GAENC,IAAMH,IAAmB,GAAGI,EAAO,OAAO,WAAWL,CAAU,WAAWC,CAAgB,SAAS,GAAGI,EAAO,OAAO,WAAWL,CAAU;AAE7I,SACEM,gBAAAA,EAAAA,IAAC,KAAA,EAAE,MAAMF,GACP,gCAAC,OAAA,EAAI,KAAI,wDAAuD,OAAO,EAAC,GAAGD,GAAc,GAAGD,EAAA,GAAQ,GACtG;AAEJ;"}
1
+ {"version":3,"file":"BibTex-DRE71Hg-.js","sources":["../../src/components/BibTex.js"],"sourcesContent":["import React from \"react\";\nimport config from \"../config\";\n\nconst BibTex = ({ datasetKey, sourceDatasetKey, style = {} }) => {\nconst defaultStyle = {\n height: \"40px\"\n}\nconst url = sourceDatasetKey ? `${config.dataApi}dataset/${datasetKey}/source/${sourceDatasetKey}.bib` : `${config.dataApi}dataset/${datasetKey}.bib`\n\n return (\n <a href={url} >\n <img src=\"https://www.checklistbank.org/images/bibtex_logo.png\" style={{...defaultStyle, ...style}} />\n </a>\n );\n};\n\nexport default BibTex;\n"],"names":["BibTex","datasetKey","sourceDatasetKey","style","defaultStyle","url","config","jsx"],"mappings":";;;AAGA,MAAMA,IAAS,CAAC,EAAE,YAAAC,GAAY,kBAAAC,GAAkB,OAAAC,IAAQ,CAAA,QAAS;AACjE,QAAMC,IAAe;AAAA,IACjB,QAAQ;AAAA,EAAA,GAENC,IAAMH,IAAmB,GAAGI,EAAO,OAAO,WAAWL,CAAU,WAAWC,CAAgB,SAAS,GAAGI,EAAO,OAAO,WAAWL,CAAU;AAE7I,SACEM,gBAAAA,EAAAA,IAAC,KAAA,EAAE,MAAMF,GACP,gCAAC,OAAA,EAAI,KAAI,wDAAuD,OAAO,EAAC,GAAGD,GAAc,GAAGD,EAAA,GAAQ,GACtG;AAEJ;"}
@@ -4,7 +4,7 @@ var o = (s, n, t) => g(s, typeof n != "symbol" ? n + "" : n, t);
4
4
  import { j as l } from "./jsx-runtime-BzflLqGi.js";
5
5
  import f from "react";
6
6
  import { c as u } from "./router-CssZk5qZ.js";
7
- import { c as p } from "./config-D4b3a4Yi.js";
7
+ import { c as p } from "./config--bs_09I6.js";
8
8
  import { Select as x } from "antd";
9
9
  import { debounce as S, get as i } from "lodash-es";
10
10
  import $ from "react-highlight-words";
@@ -116,4 +116,4 @@ export {
116
116
  R as C,
117
117
  M as N
118
118
  };
119
- //# sourceMappingURL=DatasetCitation-BnOkKDTv.js.map
119
+ //# sourceMappingURL=DatasetCitation-Cep2dces.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetCitation-BnOkKDTv.js","sources":["../../src/ColTree/NameAutocomplete.js","../../src/components/DatasetCitation.js"],"sourcesContent":["import React from \"react\";\nimport client from \"../api/client\";\nimport config from \"../config\";\nimport { AutoComplete, Input , Select} from \"antd\";\nimport { debounce, get } from \"lodash-es\";\nimport Highlighter from \"react-highlight-words\";\n\n\nclass NameSearchAutocomplete extends React.Component {\n constructor(props) {\n super(props);\n\n this.getNames = debounce(this.getNames, 500);\n this.state = {\n options: [],\n value: \"\",\n randomID: (Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1)\n };\n }\n\n componentDidMount = () => {\n const { defaultTaxonKey } = this.props;\n if (defaultTaxonKey) {\n this.setDefaultValue(defaultTaxonKey);\n }\n };\n\n componentDidUpdate = (prevProps) => {\n const { defaultTaxonKey } = this.props;\n if (defaultTaxonKey !== prevProps.defaultTaxonKey) {\n if (defaultTaxonKey) {\n this.setDefaultValue(defaultTaxonKey);\n } else {\n this.setState({ value: \"\", options: [] });\n }\n }\n };\n\n componentWillUnmount() {\n this.getNames.cancel();\n }\n\n setDefaultValue = (usageId) => {\n const { datasetKey } = this.props;\n client(\n `${config.dataApi}dataset/${datasetKey}/nameusage/search?USAGE_ID=${usageId}`\n ).then((res) => {\n this.setState({ value: get(res, \"data.result[0].usage.label\") || \"\" });\n });\n };\n getNames = (q) => {\n const { datasetKey, minRank, extinct /* hideExtinct */ } = this.props;\n const {value} = this.state;\n const url = datasetKey\n ? `${config.dataApi}dataset/${datasetKey}/nameusage/suggest`\n : `${config.dataApi}name/search`;\n\n client(\n `${url}?limit=25&q=${q}${\n minRank ? `&minRank=${minRank}` : \"\"\n }${extinct ? `&extinct=${extinct}`:''}`\n )\n .then((res) => {\n this.setState({\n // names: res.data || [],\n options: this.getOptions(res.data || [], value)\n });\n })\n .catch((err) => {\n this.setState({ options: [], err });\n });\n };\n onSelectName = (val, obj) => {\n const selectedTaxon = get(obj, \"data.acceptedUsageId\")\n ? {\n key: get(obj, \"data.acceptedUsageId\"),\n rank: get(obj, \"data.rank\"),\n title: get(obj, \"data.parentOrAcceptedName\"),\n }\n : { key: get(obj, \"data.usageId\"), rank: get(obj, \"data.rank\"), title: get(obj, \"data.name\") };\n this.setState({ value: val });\n this.props.onSelectName(selectedTaxon);\n };\n onReset = () => {\n this.setState({ value: \"\", options: [] }, this.props.onResetSearch);\n };\n\n getOptions = (names, searchTerm) => {\n return names.map((o) => {\n return {\n key: o.usageId,\n value: o.usageId, //o.suggestion,\n label: (\n <Highlighter\n highlightStyle={{ fontWeight: \"bold\", padding: 0 }}\n searchWords={searchTerm ? searchTerm.split(\" \") : []}\n autoEscape\n textToHighlight={o.suggestion}\n />\n ),\n data: o,\n };\n });\n }\n render = () => {\n const { placeHolder, autoFocus, disabled } = this.props;\n const { value , options, randomID} = this.state;\n //const randomID = (Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1);\n\n // const options = this.getOptions(this.state.names, value)\n\n return (\n <div id={`taxon_autocomplete_${randomID}`} className=\"taxon-autocomplete\">\n <Select\n value={value || undefined}\n defaultActiveFirstOption={false}\n suffixIcon={null}\n showSearch\n allowClear\n notFoundContent={null}\n\n style={this.props.style ? this.props.style : { width: \"100%\" }}\n options={options}\n filterOption={false}\n onSelect={this.onSelectName}\n onClear={this.onReset}\n onSearch={(q) => (!!q ? this.getNames(q) : this.onReset())}\n placeholder={placeHolder || \"Find taxon\"}\n autoFocus={autoFocus === false ? false : true}\n disabled={disabled}\n getPopupContainer={() => {\n console.log(`Test ${randomID}`)\n return document.getElementById(`taxon_autocomplete_${randomID}`)\n }\n \n }\n \n >\n \n </Select>\n {/* <AutoComplete\n style={this.props.style ? this.props.style : { width: \"100%\" }}\n options={options}\n onSelect={this.onSelectName}\n onSearch={(q) => (!!q ? this.getNames(q) : this.onReset())}\n placeholder={placeHolder || \"Find taxon\"}\n onChange={(value) => {\n if(value){\n this.setState({ value })\n } else {\n setTimeout(this.onReset, 50); \n }\n }}\n value={value}\n autoFocus={autoFocus === false ? false : true}\n disabled={disabled}\n getPopupContainer={() => {\n console.log(`Test ${randomID}`)\n return document.getElementById(`taxon_autocomplete_${randomID}`)\n }\n \n }\n \n >\n <Input.Search allowClear />\n </AutoComplete> */}\n \n </div> \n );\n };\n}\n\nexport default NameSearchAutocomplete;\n","import React from 'react';\n\n\nconst Citation = ({ dataset }) => {\n\n return (\n <div className=\"col-dataset-citation\">\n <div className=\"col-dataset-citation-title\">{dataset.citation ? <span dangerouslySetInnerHTML={{__html: dataset.citation}}></span> : dataset.title}</div>\n <div className=\"col-dataset-citation-source\"> - accessed through <a href={`https://www.checklistbank.org/dataset/${dataset.key}`}>ChecklistBank</a></div>\n </div>\n );\n};\n\n\nexport default Citation;"],"names":["NameSearchAutocomplete","React","props","__publicField","defaultTaxonKey","prevProps","usageId","datasetKey","client","config","res","get","q","minRank","extinct","value","url","err","val","obj","selectedTaxon","names","searchTerm","o","jsx","Highlighter","placeHolder","autoFocus","disabled","options","randomID","Select","debounce","Citation","dataset","jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"DatasetCitation-Cep2dces.js","sources":["../../src/ColTree/NameAutocomplete.js","../../src/components/DatasetCitation.js"],"sourcesContent":["import React from \"react\";\nimport client from \"../api/client\";\nimport config from \"../config\";\nimport { AutoComplete, Input , Select} from \"antd\";\nimport { debounce, get } from \"lodash-es\";\nimport Highlighter from \"react-highlight-words\";\n\n\nclass NameSearchAutocomplete extends React.Component {\n constructor(props) {\n super(props);\n\n this.getNames = debounce(this.getNames, 500);\n this.state = {\n options: [],\n value: \"\",\n randomID: (Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1)\n };\n }\n\n componentDidMount = () => {\n const { defaultTaxonKey } = this.props;\n if (defaultTaxonKey) {\n this.setDefaultValue(defaultTaxonKey);\n }\n };\n\n componentDidUpdate = (prevProps) => {\n const { defaultTaxonKey } = this.props;\n if (defaultTaxonKey !== prevProps.defaultTaxonKey) {\n if (defaultTaxonKey) {\n this.setDefaultValue(defaultTaxonKey);\n } else {\n this.setState({ value: \"\", options: [] });\n }\n }\n };\n\n componentWillUnmount() {\n this.getNames.cancel();\n }\n\n setDefaultValue = (usageId) => {\n const { datasetKey } = this.props;\n client(\n `${config.dataApi}dataset/${datasetKey}/nameusage/search?USAGE_ID=${usageId}`\n ).then((res) => {\n this.setState({ value: get(res, \"data.result[0].usage.label\") || \"\" });\n });\n };\n getNames = (q) => {\n const { datasetKey, minRank, extinct /* hideExtinct */ } = this.props;\n const {value} = this.state;\n const url = datasetKey\n ? `${config.dataApi}dataset/${datasetKey}/nameusage/suggest`\n : `${config.dataApi}name/search`;\n\n client(\n `${url}?limit=25&q=${q}${\n minRank ? `&minRank=${minRank}` : \"\"\n }${extinct ? `&extinct=${extinct}`:''}`\n )\n .then((res) => {\n this.setState({\n // names: res.data || [],\n options: this.getOptions(res.data || [], value)\n });\n })\n .catch((err) => {\n this.setState({ options: [], err });\n });\n };\n onSelectName = (val, obj) => {\n const selectedTaxon = get(obj, \"data.acceptedUsageId\")\n ? {\n key: get(obj, \"data.acceptedUsageId\"),\n rank: get(obj, \"data.rank\"),\n title: get(obj, \"data.parentOrAcceptedName\"),\n }\n : { key: get(obj, \"data.usageId\"), rank: get(obj, \"data.rank\"), title: get(obj, \"data.name\") };\n this.setState({ value: val });\n this.props.onSelectName(selectedTaxon);\n };\n onReset = () => {\n this.setState({ value: \"\", options: [] }, this.props.onResetSearch);\n };\n\n getOptions = (names, searchTerm) => {\n return names.map((o) => {\n return {\n key: o.usageId,\n value: o.usageId, //o.suggestion,\n label: (\n <Highlighter\n highlightStyle={{ fontWeight: \"bold\", padding: 0 }}\n searchWords={searchTerm ? searchTerm.split(\" \") : []}\n autoEscape\n textToHighlight={o.suggestion}\n />\n ),\n data: o,\n };\n });\n }\n render = () => {\n const { placeHolder, autoFocus, disabled } = this.props;\n const { value , options, randomID} = this.state;\n //const randomID = (Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1)*(Math.floor(Math.random() * 100) +1);\n\n // const options = this.getOptions(this.state.names, value)\n\n return (\n <div id={`taxon_autocomplete_${randomID}`} className=\"taxon-autocomplete\">\n <Select\n value={value || undefined}\n defaultActiveFirstOption={false}\n suffixIcon={null}\n showSearch\n allowClear\n notFoundContent={null}\n\n style={this.props.style ? this.props.style : { width: \"100%\" }}\n options={options}\n filterOption={false}\n onSelect={this.onSelectName}\n onClear={this.onReset}\n onSearch={(q) => (!!q ? this.getNames(q) : this.onReset())}\n placeholder={placeHolder || \"Find taxon\"}\n autoFocus={autoFocus === false ? false : true}\n disabled={disabled}\n getPopupContainer={() => {\n console.log(`Test ${randomID}`)\n return document.getElementById(`taxon_autocomplete_${randomID}`)\n }\n \n }\n \n >\n \n </Select>\n {/* <AutoComplete\n style={this.props.style ? this.props.style : { width: \"100%\" }}\n options={options}\n onSelect={this.onSelectName}\n onSearch={(q) => (!!q ? this.getNames(q) : this.onReset())}\n placeholder={placeHolder || \"Find taxon\"}\n onChange={(value) => {\n if(value){\n this.setState({ value })\n } else {\n setTimeout(this.onReset, 50); \n }\n }}\n value={value}\n autoFocus={autoFocus === false ? false : true}\n disabled={disabled}\n getPopupContainer={() => {\n console.log(`Test ${randomID}`)\n return document.getElementById(`taxon_autocomplete_${randomID}`)\n }\n \n }\n \n >\n <Input.Search allowClear />\n </AutoComplete> */}\n \n </div> \n );\n };\n}\n\nexport default NameSearchAutocomplete;\n","import React from 'react';\n\n\nconst Citation = ({ dataset }) => {\n\n return (\n <div className=\"col-dataset-citation\">\n <div className=\"col-dataset-citation-title\">{dataset.citation ? <span dangerouslySetInnerHTML={{__html: dataset.citation}}></span> : dataset.title}</div>\n <div className=\"col-dataset-citation-source\"> - accessed through <a href={`https://www.checklistbank.org/dataset/${dataset.key}`}>ChecklistBank</a></div>\n </div>\n );\n};\n\n\nexport default Citation;"],"names":["NameSearchAutocomplete","React","props","__publicField","defaultTaxonKey","prevProps","usageId","datasetKey","client","config","res","get","q","minRank","extinct","value","url","err","val","obj","selectedTaxon","names","searchTerm","o","jsx","Highlighter","placeHolder","autoFocus","disabled","options","randomID","Select","debounce","Citation","dataset","jsxs"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { j as l } from "./jsx-runtime-BzflLqGi.js";
2
2
  import n from "react";
3
- import { c } from "./config-D4b3a4Yi.js";
3
+ import { c } from "./config--bs_09I6.js";
4
4
  class m extends n.Component {
5
5
  constructor(t) {
6
6
  super(t), this.state = { error: !0, loading: !0 };
@@ -21,4 +21,4 @@ class m extends n.Component {
21
21
  export {
22
22
  m as D
23
23
  };
24
- //# sourceMappingURL=DatasetlogoWithFallback-DJEkjMJ1.js.map
24
+ //# sourceMappingURL=DatasetlogoWithFallback-Bb-kmHts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetlogoWithFallback-DJEkjMJ1.js","sources":["../../src/components/DatasetlogoWithFallback.js"],"sourcesContent":["import React from \"react\";\nimport config from \"../config\";\n\nclass DatasetlogoWithFallback extends React.Component {\n constructor(props) {\n super(props);\n this.state = { error: true, loading: true };\n }\n render() {\n\n const {fallBack = null, datasetKey, sourceDatasetKey, style, size = 'MEDIUM'} = this.props;\n const {error, loading} = this.state;\n return (loading || !error) ?\n <img\n style={style}\n src={`${config.dataApi}dataset/${datasetKey}/logo/source/${sourceDatasetKey}?size=${size}`}\n onLoad={() => this.setState({error: false, loading: false})}\n onError={() => this.setState({error: true, loading: false})}\n /> : fallBack;\n \n ;\n }\n}\nexport default DatasetlogoWithFallback;"],"names":["DatasetlogoWithFallback","React","props","fallBack","datasetKey","sourceDatasetKey","style","size","error","loading","jsx","config"],"mappings":";;;AAGA,MAAMA,UAAgCC,EAAM,UAAU;AAAA,EACpD,YAAYC,GAAO;AACjB,UAAMA,CAAK,GACX,KAAK,QAAQ,EAAE,OAAO,IAAM,SAAS,GAAA;AAAA,EACvC;AAAA,EACA,SAAS;AAEL,UAAM,EAAC,UAAAC,IAAW,MAAM,YAAAC,GAAY,kBAAAC,GAAkB,OAAAC,GAAO,MAAAC,IAAO,aAAY,KAAK,OAC/E,EAAC,OAAAC,GAAO,SAAAC,EAAA,IAAW,KAAK;AAChC,WAAQA,KAAW,CAACD,IAChBE,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAAJ;AAAA,QACA,KAAK,GAAGK,EAAO,OAAO,WAAWP,CAAU,gBAAgBC,CAAgB,SAASE,CAAI;AAAA,QACxF,QAAQ,MAAM,KAAK,SAAS,EAAC,OAAO,IAAO,SAAS,IAAM;AAAA,QAC1D,SAAS,MAAM,KAAK,SAAS,EAAC,OAAO,IAAM,SAAS,GAAA,CAAM;AAAA,MAAA;AAAA,IAAA,IACvDJ;AAAA,EAGX;AACF;"}
1
+ {"version":3,"file":"DatasetlogoWithFallback-Bb-kmHts.js","sources":["../../src/components/DatasetlogoWithFallback.js"],"sourcesContent":["import React from \"react\";\nimport config from \"../config\";\n\nclass DatasetlogoWithFallback extends React.Component {\n constructor(props) {\n super(props);\n this.state = { error: true, loading: true };\n }\n render() {\n\n const {fallBack = null, datasetKey, sourceDatasetKey, style, size = 'MEDIUM'} = this.props;\n const {error, loading} = this.state;\n return (loading || !error) ?\n <img\n style={style}\n src={`${config.dataApi}dataset/${datasetKey}/logo/source/${sourceDatasetKey}?size=${size}`}\n onLoad={() => this.setState({error: false, loading: false})}\n onError={() => this.setState({error: true, loading: false})}\n /> : fallBack;\n \n ;\n }\n}\nexport default DatasetlogoWithFallback;"],"names":["DatasetlogoWithFallback","React","props","fallBack","datasetKey","sourceDatasetKey","style","size","error","loading","jsx","config"],"mappings":";;;AAGA,MAAMA,UAAgCC,EAAM,UAAU;AAAA,EACpD,YAAYC,GAAO;AACjB,UAAMA,CAAK,GACX,KAAK,QAAQ,EAAE,OAAO,IAAM,SAAS,GAAA;AAAA,EACvC;AAAA,EACA,SAAS;AAEL,UAAM,EAAC,UAAAC,IAAW,MAAM,YAAAC,GAAY,kBAAAC,GAAkB,OAAAC,GAAO,MAAAC,IAAO,aAAY,KAAK,OAC/E,EAAC,OAAAC,GAAO,SAAAC,EAAA,IAAW,KAAK;AAChC,WAAQA,KAAW,CAACD,IAChBE,gBAAAA,EAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC,OAAAJ;AAAA,QACA,KAAK,GAAGK,EAAO,OAAO,WAAWP,CAAU,gBAAgBC,CAAgB,SAASE,CAAI;AAAA,QACxF,QAAQ,MAAM,KAAK,SAAS,EAAC,OAAO,IAAO,SAAS,IAAM;AAAA,QAC1D,SAAS,MAAM,KAAK,SAAS,EAAC,OAAO,IAAM,SAAS,GAAA,CAAM;AAAA,MAAA;AAAA,IAAA,IACvDJ;AAAA,EAGX;AACF;"}