UNPKG

@macrostrat/column-components

Version:

React rendering primitives for stratigraphic columns

3 lines (2 loc) 6.18 kB
import"./column-components.7c8d9782.js";import"./column-components.298cc9f3.js";import"./column-components.096b396f.js";import"./column-components.328c78e9.js";import{useContext as e}from"react";import t from"@macrostrat/hyper";import o from"classnames";import r from"react-svg-textures";function i(e,t){return Object.keys(t).forEach(function(o){"default"===o||"__esModule"===o||Object.prototype.hasOwnProperty.call(e,o)||Object.defineProperty(e,o,{enumerable:!0,get:function(){return t[o]}})}),e}function n(e,t,o,r){Object.defineProperty(e,t,{get:o,set:r,enumerable:!0,configurable:!0})}var a=globalThis,l={},s={},d=a.parcelRequirea149;null==d&&((d=function(e){if(e in l)return l[e].exports;if(e in s){var t=s[e];delete s[e];var o={id:e,exports:{}};return l[e]=o,t.call(o.exports,o,o.exports),o.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,t){s[e]=t},a.parcelRequirea149=d),d.register;var c={};n(c,"symbolIndex",()=>$),n(c,"defaultResolveID",()=>b),n(c,"ColumnRect",()=>g),n(c,"expandDivisionsByKey",()=>y),n(c,"ParameterIntervals",()=>C),n(c,"FaciesIntervals",()=>D),n(c,"FaciesColumnInner",()=>I),n(c,"CoveredOverlay",()=>F),n(c,"LithologySymbolDefs",()=>_),n(c,"LithologyBoxes",()=>L),n(c,"LithologyColumnInner",()=>U),n(c,"LithologyColumn",()=>P),n(c,"SimplifiedLithologyColumn",()=>w),n(c,"GeneralizedSectionColumn",()=>H),n(c,"CarbonateDivisions",()=>G),n(c,"SimpleFrame",()=>d("ig5HY").SimpleFrame),n(c,"GrainsizeFrame",()=>d("ig5HY").GrainsizeFrame);var f=d("ig5HY"),u=d("aVUB5"),m=d("30Gl3"),p=d("kRod1");let h=r.Lines,$={"dolomite-limestone":641,lime_mudstone:627,sandstone:607,siltstone:616,"dolomitic siltstone":616,shale:620,limestone:627,dolomite:642,conglomerate:602,"dolomite-mudstone":642,mudstone:620,"sandy-dolomite":645,quartzite:702},b=function(e){if(null==e)return null;let t=e.fgdc_pattern??$[e.pattern]??e.pattern;return null==t?null:`${t}`},v=function(e){let t=b(e);return null==t?t:t<627||t>648?-1:627},x=function(e){let{bottom:t,top:o}=e;return o<t&&([o,t]=[t,o]),[t,o]};function g(o){let{division:r,padWidth:i=!1,key:n,width:a,...l}=o,s=e(u.ColumnContext).scale,[d,c]=x(r),f=s(c),m=0;i&&(m-=5,a+=10);let p=s(d)-f;return null==n&&(n=r.id),t("rect",{x:m,y:f,width:a,height:p,key:n,...l})}let y=function(e,t){let o=[{...e[0]}];for(let r of Array.from(e)){let e=o.length-1;null==r[t]||r[t]===o[e][t]?o[e].top=r.top:o.push({...r})}return o};function C(r){let{divisions:i,width:n}=e(u.ColumnLayoutContext),{padWidth:a,parameter:l,fillForInterval:s}=r,d=y(i,l);return 1===d.length?null:t("g",{className:l},d.map(e=>t(g,{className:o(l,e.id),division:e,padWidth:a,fill:s(e[l],e),width:n})))}let D=function(o){let{getFaciesColor:r}=e(u.FaciesContext);return t(C,{parameter:"facies",fillForInterval(e,t){let{facies:o,facies_color:i}=t;return r(o)||i},...o})},I=D;class F extends f.UUIDComponent{static #e=this.contextType=u.ColumnLayoutContext;render(){let{divisions:e,width:o}=this.context,r=`url(#${this.UUID}-covered)`,i=e.filter(e=>e.covered);return t("g.covered-overlay",{},[t("defs",[t(h,{id:`${this.UUID}-covered`,size:9,strokeWidth:3,stroke:"rgba(0,0,0,0.5)"})]),t("g.main",i.map(e=>t(g,{division:e,width:o,fill:r})))])}}let _=function(o){let{resolveID:r,divisions:i,UUID:n,scalePattern:a}=o;return null==a&&(a=()=>1),null==i&&({divisions:i}=e(u.ColumnContext)),t("defs",i.map(e=>r(e)).filter((e,t,o)=>o.indexOf(e)===t).map(function(e,o){if(-1===e)return null;let r=100;return null!=a&&(r*=a(e)),t(m.GeologicPattern,{key:o,prefix:n,id:e,width:r,height:r})}))};class L extends f.UUIDComponent{static #e=this.contextType=u.ColumnLayoutContext;static #t=this.defaultProps={resolveID:b,minimumHeight:0};constructor(e){super(e),this.constructLithologyDivisions=this.constructLithologyDivisions.bind(this),this.renderEach=this.renderEach.bind(this)}constructLithologyDivisions(){let e,t,{divisions:o}=this.context,{resolveID:r,minimumHeight:i}=this.props,n=[];for(e of Array.from(o)){let o=n.length-1;if(t=r(e),-1===o){n.push({...e,patternID:t});continue}let i=t===r(n[o]);null==t||i?n[o].top=e.top:n.push({...e,patternID:t})}if(i>0){let t=[];for(let o=0;o<n.length;o++)if((e=n[o]).top-e.bottom<i&&null!=n[o+1]){var a;n[o+1].bottom=e.bottom,null==n[a=o+1].patternID&&(n[a].patternID=r(e))}else t.push(e);return t}return n}renderEach(e){let{width:r}=this.context,i=o({definite:e.definite_boundary,covered:e.covered},"lithology"),n=`url(#${this.UUID}-${e.patternID})`;return -1===e.patternID&&(n="transparent"),t(g,{width:r,division:e,className:i,fill:n})}render(){let e=this.constructLithologyDivisions(),{resolveID:o}=this.props;return t("g.lithology",[t(_,{divisions:e,resolveID:o,UUID:this.UUID}),t("g",e.map(this.renderEach))])}}let U=L;function P(e){let{left:o=0,shiftY:r=0,width:i,children:n,clipToFrame:a=!0}=e;return t(u.ColumnLayoutProvider,{width:i},t(f.ClippingFrame,{className:"lithology-column",left:o,shiftY:r,frame:f.SimpleFrame,clip:a},n))}let S=function(e){let t=$[e.fill_pattern];if(null!=t)return t;let o=e.fill_pattern;return 624===parseInt(o)?b(e):o},w=e=>t(U,{resolveID:S,...e}),H=function(e){let{children:o,frame:r,...i}=e;return null==r&&(r=f.GrainsizeFrame),t(f.ClippingFrame,{className:"lithology-column",frame:r,...i},o)},G=e=>t(U,{resolveID:v,...e});i(c,m),i(c,p);export{$ as symbolIndex,b as defaultResolveID,g as ColumnRect,y as expandDivisionsByKey,C as ParameterIntervals,D as FaciesIntervals,I as FaciesColumnInner,F as CoveredOverlay,_ as LithologySymbolDefs,L as LithologyBoxes,U as LithologyColumnInner,P as LithologyColumn,w as SimplifiedLithologyColumn,H as GeneralizedSectionColumn,G as CarbonateDivisions,$fe5bf96defe66407$export$5e9808bef3bd64be as SimpleFrame,$fe5bf96defe66407$export$686c342f9382ceb9 as GrainsizeFrame,$289dfaad57c8b69d$export$f8a3ff1b6bcec62 as GeologicPatternContext,$289dfaad57c8b69d$export$2926ceaa6d8d8b07 as GeologicPatternProvider,$289dfaad57c8b69d$export$3d750f4e9f4d0fc8 as PatternType,$289dfaad57c8b69d$export$9e9c2df1189db669 as GeologicPattern,$9f093bb8daf24897$export$2162bbed7004f389 as PatternDefsProvider,$9f093bb8daf24897$export$85aacc253e576bcf as useGeologicPattern}; //# sourceMappingURL=column-components.f3ae60c5.js.map