UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

3 lines (2 loc) 2.5 kB
import"./column-components.298cc9f3.js";import"./column-components.7c8d9782.js";import{useContext as t,Component as e}from"react";import s from"@macrostrat/hyper";import o from"classnames";function r(t,e,s,o){Object.defineProperty(t,e,{get:s,set:o,enumerable:!0,configurable:!0})}var i=globalThis,l={},n={},a=i.parcelRequirea149;null==a&&((a=function(t){if(t in l)return l[t].exports;if(t in n){var e=n[t];delete n[t];var s={id:t,exports:{}};return l[t]=s,e.call(s.exports,s,s.exports),s.exports}var o=Error("Cannot find module '"+t+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(t,e){n[t]=e},i.parcelRequirea149=a),a.register;var m={};r(m,"SymbolColumn",()=>b),r(m,"SymbolLegend",()=>f);var c=a("aVUB5"),d=a("ig5HY");let h={"Hummocky cross-stratified":"hcs.svg","Trough cross-stratified":"tcs.svg","Dessication cracks":"dessication-cracks.svg",Ooids:"ooids.svg","Domal stromatolites":"domal-stromatolites.svg","Digitate stromatolites":"digitate-stromatolites.svg"},u=function(e){let{symbol:o,width:r,height:i,UUID:l}=e,{resolveSymbol:n}=t(c.AssetPathContext),a=`${l}-${o}`,m={width:r},d=n(h[o]);return s("symbol",{id:a,key:a,...m},[s("image",{href:d,x:0,y:0,...m})])},p=function(t){let{patterns:e,...o}=t,r=[];return s("defs",e.map(function(t){let{symbol:e}=t;return r.includes(e)?null:(r.push(e),s(u,{symbol:e,...o}))}))};class b extends d.UUIDComponent{constructor(t){super(t),this.renderSymbol=this.renderSymbol.bind(this)}static #t=this.contextType=c.ColumnContext;static #e=this.defaultProps={width:30,left:0};render(){let{scale:t,pixelHeight:e,zoom:o}=this.context,{left:r,width:i}=this.props,{symbols:l}=this.props,n=l.filter((t,e,s)=>s.indexOf(t)===e),a=null;return null!=r&&(a=`translate(${r})`),l=l.filter(t=>t.symbol_min_zoom<o).map(this.renderSymbol),s("g.symbol-column",{transform:a},[s(p,{width:i,patterns:n,UUID:this.UUID}),s("rect.symbol-column-area",{width:i,height:e}),s("g.symbols",l)])}renderSymbol(t){let{scale:e,pixelHeight:r}=this.context,{symbol:i,id:l,height:n}=t,a=o({symbol:i},"symbol"),{width:m}=this.props,c=e(n)-m/2;return c<0||c>r?null:s("use",{className:a,y:c,x:0,width:m,xlinkHref:`#${this.UUID}-${i}`,key:l})}}class f extends e{static #t=this.contextType=c.AssetPathContext;render(){let{resolveSymbol:t}=this.context,e=[];for(let o in h){let r=h[o],i=s("div",{key:o},[s("img",{src:t(r)}),s("span.label",o)]);e.push(i)}return s("div.symbol-legend",e)}}export{b as SymbolColumn,f as SymbolLegend}; //# sourceMappingURL=column-components.01b274bd.js.map