@macrostrat/column-views 2.3.3 → 2.4.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/CHANGELOG.md +14 -0
- package/dist/esm/{column-views.b977da35.js → column-views.083fb787.js} +5 -5
- package/dist/esm/{column-views.b977da35.js.map → column-views.083fb787.js.map} +1 -1
- package/dist/esm/{column-views.4685ea28.js → column-views.088a0274.js} +2 -2
- package/dist/esm/{column-views.4685ea28.js.map → column-views.088a0274.js.map} +1 -1
- package/dist/esm/{column-views.a665cbb2.js → column-views.11353c2c.js} +5 -5
- package/dist/esm/{column-views.a665cbb2.js.map → column-views.11353c2c.js.map} +1 -1
- package/dist/esm/{column-views.f7cdf6be.js → column-views.18655508.js} +3 -3
- package/dist/esm/{column-views.f7cdf6be.js.map → column-views.18655508.js.map} +1 -1
- package/dist/esm/column-views.1cd55918.js +206 -0
- package/dist/esm/column-views.1cd55918.js.map +1 -0
- package/dist/esm/column-views.1ef55568.js +15 -0
- package/dist/esm/{column-views.04636815.js.map → column-views.1ef55568.js.map} +1 -1
- package/dist/esm/{column-views.e075af15.js → column-views.3090f246.js} +22 -4
- package/dist/esm/column-views.3090f246.js.map +1 -0
- package/dist/esm/{column-views.c92a359e.js → column-views.33796541.js} +2 -2
- package/dist/esm/{column-views.c92a359e.js.map → column-views.33796541.js.map} +1 -1
- package/dist/esm/{column-views.488f24b6.js → column-views.3ae8f23d.js} +2 -2
- package/dist/esm/{column-views.488f24b6.js.map → column-views.3ae8f23d.js.map} +1 -1
- package/dist/esm/{column-views.faa7e52e.js → column-views.40d3688c.js} +3 -3
- package/dist/esm/{column-views.faa7e52e.js.map → column-views.40d3688c.js.map} +1 -1
- package/dist/esm/{column-views.b9265595.js → column-views.4e9b8594.js} +11 -10
- package/dist/esm/column-views.4e9b8594.js.map +1 -0
- package/dist/esm/{column-views.8c296309.js → column-views.5e1c216f.js} +27 -6
- package/dist/esm/column-views.5e1c216f.js.map +1 -0
- package/dist/esm/{column-views.e3f0cd7b.js → column-views.5e830e7c.js} +23 -33
- package/dist/esm/column-views.5e830e7c.js.map +1 -0
- package/dist/esm/{column-views.c149f7a5.js → column-views.5ec7294d.js} +3 -3
- package/dist/esm/{column-views.c149f7a5.js.map → column-views.5ec7294d.js.map} +1 -1
- package/dist/esm/column-views.67804ce5.js +68 -0
- package/dist/esm/column-views.67804ce5.js.map +1 -0
- package/dist/esm/{column-views.3f1cdc18.js → column-views.6f0d4f3a.js} +2 -2
- package/dist/esm/{column-views.3f1cdc18.js.map → column-views.6f0d4f3a.js.map} +1 -1
- package/dist/esm/{column-views.58b891df.js → column-views.76fb9948.js} +2 -2
- package/dist/esm/{column-views.58b891df.js.map → column-views.76fb9948.js.map} +1 -1
- package/dist/esm/{column-views.3d3e00be.js → column-views.77322764.js} +2 -2
- package/dist/esm/{column-views.3d3e00be.js.map → column-views.77322764.js.map} +1 -1
- package/dist/esm/{column-views.82a5112b.js → column-views.85d57d04.js} +4 -4
- package/dist/esm/{column-views.82a5112b.js.map → column-views.85d57d04.js.map} +1 -1
- package/dist/esm/{column-views.4e6eead3.js → column-views.88436022.js} +2 -2
- package/dist/esm/{column-views.4e6eead3.js.map → column-views.88436022.js.map} +1 -1
- package/dist/esm/{column-views.2f979aee.js → column-views.88b2418b.js} +3 -3
- package/dist/esm/{column-views.2f979aee.js.map → column-views.88b2418b.js.map} +1 -1
- package/dist/esm/{column-views.d6c0b7bc.js → column-views.8ce33ec6.js} +2 -2
- package/dist/esm/{column-views.d6c0b7bc.js.map → column-views.8ce33ec6.js.map} +1 -1
- package/dist/esm/{column-views.6f96d1c3.js → column-views.91c18fe3.js} +31 -19
- package/dist/esm/column-views.91c18fe3.js.map +1 -0
- package/dist/esm/{column-views.18aac6a5.js → column-views.99cb1c41.js} +3 -3
- package/dist/esm/{column-views.18aac6a5.js.map → column-views.99cb1c41.js.map} +1 -1
- package/dist/esm/{column-views.0a010643.js → column-views.ab2cc6cb.js} +27 -14
- package/dist/esm/column-views.ab2cc6cb.js.map +1 -0
- package/dist/esm/{column-views.d5fff9b8.js → column-views.af4278f0.js} +3 -3
- package/dist/esm/{column-views.d5fff9b8.js.map → column-views.af4278f0.js.map} +1 -1
- package/dist/esm/{column-views.d1b49f5c.js → column-views.b957dc19.js} +3 -3
- package/dist/esm/{column-views.d1b49f5c.js.map → column-views.b957dc19.js.map} +1 -1
- package/dist/esm/{column-views.ad2fe46c.js → column-views.bc83a85d.js} +19 -3
- package/dist/esm/column-views.bc83a85d.js.map +1 -0
- package/dist/esm/column-views.c1e507e6.js +113 -0
- package/dist/esm/column-views.c1e507e6.js.map +1 -0
- package/dist/esm/{column-views.ce3a3ac8.js → column-views.c93b63db.js} +3 -3
- package/dist/esm/column-views.c93b63db.js.map +1 -0
- package/dist/esm/{column-views.26e0e0b6.js → column-views.ce5251f7.js} +2 -2
- package/dist/esm/{column-views.26e0e0b6.js.map → column-views.ce5251f7.js.map} +1 -1
- package/dist/esm/{column-views.8d972657.js → column-views.d4e50f74.js} +3 -3
- package/dist/esm/{column-views.8d972657.js.map → column-views.d4e50f74.js.map} +1 -1
- package/dist/esm/{column-views.75b83110.js → column-views.dd2d5a6d.js} +5 -5
- package/dist/esm/{column-views.75b83110.js.map → column-views.dd2d5a6d.js.map} +1 -1
- package/dist/esm/{column-views.73fc96cb.js → column-views.e6882667.js} +5 -5
- package/dist/esm/{column-views.73fc96cb.js.map → column-views.e6882667.js.map} +1 -1
- package/dist/esm/{column-views.ee9d71ba.js → column-views.e885211d.js} +2 -2
- package/dist/esm/{column-views.ee9d71ba.js.map → column-views.e885211d.js.map} +1 -1
- package/dist/esm/{column-views.029ea8f1.js → column-views.ee2fd38f.js} +3 -3
- package/dist/esm/{column-views.029ea8f1.js.map → column-views.ee2fd38f.js.map} +1 -1
- package/dist/esm/{column-views.9d51a5ab.js → column-views.f35c4621.js} +2 -2
- package/dist/esm/column-views.f35c4621.js.map +1 -0
- package/dist/esm/{column-views.5fff0716.js → column-views.f56e604d.js} +3 -3
- package/dist/esm/{column-views.5fff0716.js.map → column-views.f56e604d.js.map} +1 -1
- package/dist/esm/{column-views.9ffc089b.js → column-views.f904e6d7.js} +3 -3
- package/dist/esm/{column-views.9ffc089b.js.map → column-views.f904e6d7.js.map} +1 -1
- package/dist/esm/{column-views.24060b85.js → column-views.fc4860bd.js} +4 -4
- package/dist/esm/{column-views.24060b85.js.map → column-views.fc4860bd.js.map} +1 -1
- package/dist/esm/{column-views.0da4503a.js → column-views.fedccce9.js} +2 -2
- package/dist/esm/{column-views.0da4503a.js.map → column-views.fedccce9.js.map} +1 -1
- package/dist/esm/index.d.ts +91 -86
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +11 -11
- package/dist/node/{column-views.02869dc5.js → column-views.003e0c17.js} +2 -2
- package/dist/node/{column-views.02869dc5.js.map → column-views.003e0c17.js.map} +1 -1
- package/dist/node/column-views.080781ca.js +2 -0
- package/dist/node/column-views.080781ca.js.map +1 -0
- package/dist/node/{column-views.00ad98fa.js → column-views.0818254f.js} +2 -2
- package/dist/node/{column-views.00ad98fa.js.map → column-views.0818254f.js.map} +1 -1
- package/dist/node/{column-views.2577dec0.js → column-views.0d48f51d.js} +2 -2
- package/dist/node/{column-views.2577dec0.js.map → column-views.0d48f51d.js.map} +1 -1
- package/dist/node/column-views.18e86c2d.js +2 -0
- package/dist/node/column-views.18e86c2d.js.map +1 -0
- package/dist/node/{column-views.8eae7028.js → column-views.375529b1.js} +2 -2
- package/dist/node/{column-views.8eae7028.js.map → column-views.375529b1.js.map} +1 -1
- package/dist/node/{column-views.6b391d60.js → column-views.39b71a38.js} +2 -2
- package/dist/node/{column-views.6b391d60.js.map → column-views.39b71a38.js.map} +1 -1
- package/dist/node/{column-views.47440961.js → column-views.447008d0.js} +2 -2
- package/dist/node/{column-views.47440961.js.map → column-views.447008d0.js.map} +1 -1
- package/dist/node/{column-views.c4188442.js → column-views.4d573ded.js} +2 -2
- package/dist/node/{column-views.c4188442.js.map → column-views.4d573ded.js.map} +1 -1
- package/dist/node/{column-views.8f540f78.js → column-views.4d8fc443.js} +2 -2
- package/dist/node/{column-views.8f540f78.js.map → column-views.4d8fc443.js.map} +1 -1
- package/dist/node/{column-views.3a947d58.js → column-views.54f7a243.js} +2 -2
- package/dist/node/{column-views.3a947d58.js.map → column-views.54f7a243.js.map} +1 -1
- package/dist/node/column-views.58b336f1.js +2 -0
- package/dist/node/column-views.58b336f1.js.map +1 -0
- package/dist/node/{column-views.465e593b.js → column-views.5908556a.js} +2 -2
- package/dist/node/{column-views.465e593b.js.map → column-views.5908556a.js.map} +1 -1
- package/dist/node/column-views.5c02450b.js +2 -0
- package/dist/node/column-views.5c02450b.js.map +1 -0
- package/dist/node/column-views.5e73411d.js +2 -0
- package/dist/node/column-views.5e73411d.js.map +1 -0
- package/dist/node/{column-views.825d2719.js → column-views.5f3f8ccf.js} +2 -2
- package/dist/node/{column-views.825d2719.js.map → column-views.5f3f8ccf.js.map} +1 -1
- package/dist/node/{column-views.0a2596c2.js → column-views.6051e986.js} +2 -2
- package/dist/node/{column-views.0a2596c2.js.map → column-views.6051e986.js.map} +1 -1
- package/dist/node/{column-views.c921fa1a.js → column-views.64fc40d6.js} +2 -2
- package/dist/node/{column-views.c921fa1a.js.map → column-views.64fc40d6.js.map} +1 -1
- package/dist/node/{column-views.6556e004.js → column-views.66663668.js} +2 -2
- package/dist/node/{column-views.6556e004.js.map → column-views.66663668.js.map} +1 -1
- package/dist/node/{column-views.a14f0134.js → column-views.6f0cb059.js} +2 -2
- package/dist/node/{column-views.a14f0134.js.map → column-views.6f0cb059.js.map} +1 -1
- package/dist/node/{column-views.9efa91f1.js → column-views.72c3c6e7.js} +2 -2
- package/dist/node/{column-views.9efa91f1.js.map → column-views.72c3c6e7.js.map} +1 -1
- package/dist/node/column-views.74fcfb9c.js +2 -0
- package/dist/node/column-views.74fcfb9c.js.map +1 -0
- package/dist/node/{column-views.75456275.js → column-views.784bac2a.js} +2 -2
- package/dist/node/{column-views.75456275.js.map → column-views.784bac2a.js.map} +1 -1
- package/dist/node/{column-views.0f401891.js → column-views.796fc1de.js} +2 -2
- package/dist/node/{column-views.0f401891.js.map → column-views.796fc1de.js.map} +1 -1
- package/dist/node/column-views.7b6e7d82.js +2 -0
- package/dist/node/column-views.7b6e7d82.js.map +1 -0
- package/dist/node/{column-views.7c322202.js → column-views.7e895e1a.js} +2 -2
- package/dist/node/{column-views.7c322202.js.map → column-views.7e895e1a.js.map} +1 -1
- package/dist/node/column-views.87d31e0a.js +2 -0
- package/dist/node/column-views.87d31e0a.js.map +1 -0
- package/dist/node/{column-views.59ce629d.js → column-views.94c8ce3e.js} +2 -2
- package/dist/node/{column-views.59ce629d.js.map → column-views.94c8ce3e.js.map} +1 -1
- package/dist/node/{column-views.48a3cfa3.js → column-views.951e3e9a.js} +2 -2
- package/dist/node/{column-views.48a3cfa3.js.map → column-views.951e3e9a.js.map} +1 -1
- package/dist/node/column-views.a0969fc8.js +2 -0
- package/dist/node/column-views.a0969fc8.js.map +1 -0
- package/dist/node/{column-views.67e7a200.js → column-views.b6613ab0.js} +2 -2
- package/dist/node/{column-views.67e7a200.js.map → column-views.b6613ab0.js.map} +1 -1
- package/dist/node/{column-views.d529d3aa.js → column-views.b762c9a8.js} +2 -2
- package/dist/node/{column-views.d529d3aa.js.map → column-views.b762c9a8.js.map} +1 -1
- package/dist/node/{column-views.e153680b.js → column-views.bdf05ed4.js} +2 -2
- package/dist/node/{column-views.e153680b.js.map → column-views.bdf05ed4.js.map} +1 -1
- package/dist/node/{column-views.fafbc028.js → column-views.d30231cb.js} +2 -2
- package/dist/node/{column-views.fafbc028.js.map → column-views.d30231cb.js.map} +1 -1
- package/dist/node/column-views.d86e6c7d.js +2 -0
- package/dist/node/column-views.d86e6c7d.js.map +1 -0
- package/dist/node/column-views.db3377d8.js +2 -0
- package/dist/node/column-views.db3377d8.js.map +1 -0
- package/dist/node/{column-views.2fe8feb9.js → column-views.f4063bc8.js} +2 -2
- package/dist/node/{column-views.2fe8feb9.js.map → column-views.f4063bc8.js.map} +1 -1
- package/dist/node/{column-views.3d0c2bea.js → column-views.f93b4175.js} +2 -2
- package/dist/node/{column-views.3d0c2bea.js.map → column-views.f93b4175.js.map} +1 -1
- package/dist/node/{column-views.cd54f1b1.js → column-views.fa5ee6de.js} +2 -2
- package/dist/node/{column-views.cd54f1b1.js.map → column-views.fa5ee6de.js.map} +1 -1
- package/dist/node/{column-views.08bef1f6.js → column-views.fe7a5452.js} +2 -2
- package/dist/node/{column-views.08bef1f6.js.map → column-views.fe7a5452.js.map} +1 -1
- package/dist/node/column-views.ffbffec7.js +2 -0
- package/dist/node/column-views.ffbffec7.js.map +1 -0
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +4 -2
- package/src/age-model-overlay.ts +4 -2
- package/src/column.ts +18 -41
- package/src/correlation-chart/main.ts +24 -13
- package/src/correlation-chart/stories/correlation-chart.stories.ts +38 -17
- package/src/data-provider/base.ts +22 -0
- package/src/data-provider/core.ts +89 -0
- package/src/data-provider/fetch.ts +35 -10
- package/src/data-provider/store.ts +79 -88
- package/src/data-provider/unit-selection.ts +265 -159
- package/src/maps/column-correlation/core.ts +1 -1
- package/src/maps/column-correlation/state.ts +16 -1
- package/src/unit-details/panel.ts +44 -26
- package/src/unit-details/popover.ts +21 -9
- package/dist/esm/column-views.04636815.js +0 -15
- package/dist/esm/column-views.0a010643.js.map +0 -1
- package/dist/esm/column-views.4b259f9e.js +0 -136
- package/dist/esm/column-views.4b259f9e.js.map +0 -1
- package/dist/esm/column-views.6f96d1c3.js.map +0 -1
- package/dist/esm/column-views.8c296309.js.map +0 -1
- package/dist/esm/column-views.9d51a5ab.js.map +0 -1
- package/dist/esm/column-views.ad2fe46c.js.map +0 -1
- package/dist/esm/column-views.b9265595.js.map +0 -1
- package/dist/esm/column-views.c44febd0.js +0 -169
- package/dist/esm/column-views.c44febd0.js.map +0 -1
- package/dist/esm/column-views.ce3a3ac8.js.map +0 -1
- package/dist/esm/column-views.e075af15.js.map +0 -1
- package/dist/esm/column-views.e3f0cd7b.js.map +0 -1
- package/dist/node/column-views.0beae29d.js +0 -2
- package/dist/node/column-views.0beae29d.js.map +0 -1
- package/dist/node/column-views.46efb749.js +0 -2
- package/dist/node/column-views.46efb749.js.map +0 -1
- package/dist/node/column-views.7425d37b.js +0 -2
- package/dist/node/column-views.7425d37b.js.map +0 -1
- package/dist/node/column-views.868c04dc.js +0 -2
- package/dist/node/column-views.868c04dc.js.map +0 -1
- package/dist/node/column-views.8e846c57.js +0 -2
- package/dist/node/column-views.8e846c57.js.map +0 -1
- package/dist/node/column-views.c007152b.js +0 -2
- package/dist/node/column-views.c007152b.js.map +0 -1
- package/dist/node/column-views.d818b387.js +0 -2
- package/dist/node/column-views.d818b387.js.map +0 -1
- package/dist/node/column-views.dfe9a971.js +0 -2
- package/dist/node/column-views.dfe9a971.js.map +0 -1
- package/dist/node/column-views.e264a767.js +0 -2
- package/dist/node/column-views.e264a767.js.map +0 -1
- package/dist/node/column-views.ed2fd268.js +0 -2
- package/dist/node/column-views.ed2fd268.js.map +0 -1
- package/dist/node/column-views.fee4e65d.js +0 -2
- package/dist/node/column-views.fee4e65d.js.map +0 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.82cf7c0d.js";import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.82cf7c0d.js";import"./column-views.5908556a.js";import"./column-views.5c02450b.js";import"./column-views.eea80478.js";import{useMemo as e}from"react";import t from"@macrostrat/hyper";import a from"classnames";import{AxisBottom as r}from"@visx/axis";import{referenceMeasuresToColumn as o}from"@macrostrat/stratigraphy-utils";import{useColumnLayout as s,SVG as l,ColumnLayoutProvider as i}from"@macrostrat/column-components";import{scaleLinear as n}from"d3-scale";function c(e,t,a,r){Object.defineProperty(e,t,{get:a,set:r,enumerable:!0,configurable:!0})}var u=globalThis,m={},p={},d=u.parcelRequirea149;null==d&&((d=function(e){if(e in m)return m[e].exports;if(e in p){var t=p[e];delete p[e];var a={id:e,exports:{}};return m[e]=a,t.call(a.exports,a,a.exports),a.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,t){p[e]=t},u.parcelRequirea149=d),d.register;var f={};c(f,"IsotopesDataset",()=>_),c(f,"IsotopesColumn",()=>H);var g=d("62IHc"),h=d("l5EV6"),v=d("wtIgl"),x=d("6nrRo");let k=t.styled(x&&x.__esModule?x.default:x);function b(e){let{value:t,className:r,labelBottom:o,labelOffset:l,...i}=e,{sections:n}=(0,v.useMacrostratColumnData)(),{xScale:c}=s(),u=c(t);return k("g.tick",{transform:`translate(${u})`,className:r=a(r,{zero:0===t}),key:t},[k("g.tick-lines",n.map(t=>{let{scaleInfo:a}=t,r=a.offset,o=r+a.pixelHeight;return k("line",{y1:r,y2:o,strokeDasharray:e.strokeDasharray,strokeWidth:1})}))])}function _(t){let{parameter:a,color:r="dodgerblue"}=t,s=(0,v.useMacrostratUnits)(),l=(0,g.useMeasurementData)()??[],i=e(()=>{var e=o(s,l.filter(e=>e.measurement===a));let t=[];for(let a of e){let e=a.measure_value.map((e,t)=>({value:e,age:a.measure_age[t],position:a.measure_position[t],unit_id:a.unit_id,sample_id:a.sample_no[t],measurement:a.measurement}));Array.prototype.push.apply(t,e)}return t},[l,a,s]);return k(h.IsotopesDataArea,{getHeight:e=>e.age},k("g.data-points",i.map(e=>k(h.IsotopeDataPoint,{datum:e,fill:r}))))}function H(t){let{width:a=120,domain:r=[-14,6],parameter:o,label:s,color:c="dodgerblue",children:u=null,transform:m,getHeight:p,showAxis:d=!0,tickValues:f,nTicks:g=6,...h}=t,{totalHeight:x}=(0,v.useMacrostratColumnData)(),b=u;null==u&&null!=o&&(b=k(_,{parameter:o,color:c,getHeight:p}));let H=e(()=>n().domain(r).range([0,a]),[r,a]),S=f??H.ticks(g);return k("div.isotopes-column",[k(l,{height:x,innerWidth:a,paddingH:15},k(i,{width:a,xScale:H},k("g.isotopes-column",{className:o,transform:m},[k(w,{xScale:H,tickValues:S,width:a,...h}),b]))),k.if(d)(y,{width:a,label:s??o,xScale:H,tickValues:S,...h})])}function y(e){let{label:t,xScale:a,width:o,showAxis:s=!0,tickValues:i,...n}=e;return k("div.isotopes-scale-axis",[k(l,{innerWidth:o,height:45,paddingH:15},[k(r,{scale:a,tickLength:5,tickValues:i,stroke:"var(--column-stroke-color)",tickStroke:"var(--column-stroke-color)",...n,label:t})])])}function w(e){let{tickValues:t,xScale:a}=e;return k("g.scale-lines",t.map(e=>k(b,{value:e})))}export{_ as IsotopesDataset,H as IsotopesColumn};
|
|
2
|
+
//# sourceMappingURL=column-views.784bac2a.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,W,C,K,O,A,Q,M,mB,A,Q,M,Y,A,Q,c,C,K,Y,A,Q,6B,C,K,gC,A,Q,mB,C,C,O,C,C,wB,C,K,+B,A,Q,e,C,K,U,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,kB,I,G,E,E,iB,I,G,I,E,E,S,E,E,S,E,E,S,E,E,SCwBA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GA8BvB,SAAS,EAAU,CAAqB,EACtC,GAAI,CAAA,MAAE,CAAK,CAAA,UAAE,CAAS,CAAA,YAAE,CAAW,CAAA,YAAE,CAAW,CAAE,GAAG,EAAM,CAAG,EACxD,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAEf,CAAA,OAAE,CAAM,CAAE,CAAG,AAAA,IACb,EAAI,EAAO,GAGjB,OAAO,EAAE,SAAU,CAAE,UAFH,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAEH,UADhC,EAAY,AAAA,EAAW,EAAW,CAAE,KAAM,AAAU,IAAV,CAAY,GACX,IAAK,CAAM,EAAG,CACvD,EACE,eACA,EAAS,GAAG,CAAC,AAAC,IACZ,GAAM,CAAA,UAAE,CAAS,CAAE,CAAG,EAChB,EAAK,EAAU,MAAM,CACrB,EAAK,EAAK,EAAU,WAAW,CACrC,OAAO,EAAE,OAAQ,CACf,GAAA,EACA,GAAA,EACA,gBAAiB,EAAM,eAAe,CACtC,YAAa,CACf,EACF,IAEH,CACH,CAoCA,SAAS,EAAgB,CAAK,EAC5B,GAAM,CAAA,UAAE,CAAS,CAAA,MAAE,EAAQ,YAAA,CAAc,CAAG,EACtC,EAAQ,AAAA,CAAA,E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","sources":["<anon>","packages/column-views/src/facets/carbon-isotopes/isotopes-column.ts"],"sourcesContent":["import \"./column-views.82cf7c0d.js\";\nimport \"./column-views.465e593b.js\";\nimport \"./column-views.46efb749.js\";\nimport \"./column-views.eea80478.js\";\nimport {useMemo as $2wsb4$useMemo} from \"react\";\nimport $2wsb4$macrostrathyper from \"@macrostrat/hyper\";\nimport $2wsb4$classnames from \"classnames\";\nimport {AxisBottom as $2wsb4$AxisBottom} from \"@visx/axis\";\nimport {referenceMeasuresToColumn as $2wsb4$referenceMeasuresToColumn} from \"@macrostrat/stratigraphy-utils\";\nimport {useColumnLayout as $2wsb4$useColumnLayout, SVG as $2wsb4$SVG, ColumnLayoutProvider as $2wsb4$ColumnLayoutProvider} from \"@macrostrat/column-components\";\nimport {scaleLinear as $2wsb4$scaleLinear} from \"d3-scale\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $5ccf8f2b270f7458$exports = {};\n\n$parcel$export($5ccf8f2b270f7458$exports, \"IsotopesDataset\", () => $5ccf8f2b270f7458$export$c69bd0285aa5d775);\n$parcel$export($5ccf8f2b270f7458$exports, \"IsotopesColumn\", () => $5ccf8f2b270f7458$export$5d8aa8022c284748);\n\n\n\n\n\nvar $62IHc = parcelRequire(\"62IHc\");\n\nvar $l5EV6 = parcelRequire(\"l5EV6\");\n\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $6nrRo = parcelRequire(\"6nrRo\");\n\nconst $5ccf8f2b270f7458$var$h = (0, $2wsb4$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($6nrRo))));\nfunction $5ccf8f2b270f7458$var$IsotopeText({ datum: datum, text: text, ...rest }) {\n const { pointLocator: pointLocator } = (0, $l5EV6.useDataLocator)();\n const [x, y] = pointLocator(datum);\n return $5ccf8f2b270f7458$var$h(\"text\", {\n x: x,\n y: y,\n ...rest\n }, text);\n}\nfunction $5ccf8f2b270f7458$var$ScaleLine(props) {\n let { value: value, className: className, labelBottom: labelBottom, labelOffset: labelOffset, ...rest } = props;\n const { sections: sections } = (0, $wtIgl.useMacrostratColumnData)();\n const { xScale: xScale } = (0, $2wsb4$useColumnLayout)();\n const x = xScale(value);\n const transform = `translate(${x})`;\n className = (0, $2wsb4$classnames)(className, {\n zero: value === 0\n });\n return $5ccf8f2b270f7458$var$h(\"g.tick\", {\n transform: transform,\n className: className,\n key: value\n }, [\n $5ccf8f2b270f7458$var$h(\"g.tick-lines\", sections.map((d)=>{\n const { scaleInfo: scaleInfo } = d;\n const y1 = scaleInfo.offset;\n const y2 = y1 + scaleInfo.pixelHeight;\n return $5ccf8f2b270f7458$var$h(\"line\", {\n y1: y1,\n y2: y2,\n strokeDasharray: props.strokeDasharray,\n strokeWidth: 1\n });\n }))\n ]);\n}\nfunction $5ccf8f2b270f7458$var$unnestPoints(measures) {\n let points = [];\n for (const meas of measures){\n const vals = meas.measure_value.map((d, i)=>{\n return {\n value: d,\n age: meas.measure_age[i],\n position: meas.measure_position[i],\n unit_id: meas.unit_id,\n sample_id: meas.sample_no[i],\n measurement: meas.measurement\n };\n });\n Array.prototype.push.apply(points, vals);\n }\n return points;\n}\nfunction $5ccf8f2b270f7458$export$c69bd0285aa5d775(props) {\n const { parameter: parameter, color: color = \"dodgerblue\" } = props;\n const units = (0, $wtIgl.useMacrostratUnits)();\n const measures = (0, $62IHc.useMeasurementData)() ?? [];\n const points = (0, $2wsb4$useMemo)(()=>{\n const data = measures.filter((d)=>d.measurement === parameter);\n const refMeasures = (0, $2wsb4$referenceMeasuresToColumn)(units, data);\n return $5ccf8f2b270f7458$var$unnestPoints(refMeasures);\n }, [\n measures,\n parameter,\n units\n ]);\n return $5ccf8f2b270f7458$var$h((0, $l5EV6.IsotopesDataArea), {\n getHeight (d) {\n return d.age;\n }\n }, $5ccf8f2b270f7458$var$h(\"g.data-points\", points.map((d)=>{\n return $5ccf8f2b270f7458$var$h((0, $l5EV6.IsotopeDataPoint), {\n datum: d,\n fill: color\n });\n })));\n}\nfunction $5ccf8f2b270f7458$export$5d8aa8022c284748(props) {\n const { width: width = 120, domain: domain = [\n -14,\n 6\n ], parameter: parameter, label: label, color: color = \"dodgerblue\", children: children = null, transform: transform, getHeight: getHeight, showAxis: showAxis = true, tickValues: _tickVals, nTicks: nTicks = 6, ...rest } = props;\n const { totalHeight: totalHeight } = (0, $wtIgl.useMacrostratColumnData)();\n let _children = children;\n if (children == null && parameter != null) _children = $5ccf8f2b270f7458$var$h($5ccf8f2b270f7458$export$c69bd0285aa5d775, {\n parameter: parameter,\n color: color,\n getHeight: getHeight\n });\n const xScale = (0, $2wsb4$useMemo)(()=>(0, $2wsb4$scaleLinear)().domain(domain).range([\n 0,\n width\n ]), [\n domain,\n width\n ]);\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n return $5ccf8f2b270f7458$var$h(\"div.isotopes-column\", [\n $5ccf8f2b270f7458$var$h((0, $2wsb4$SVG), {\n height: totalHeight,\n innerWidth: width,\n paddingH: 15\n }, $5ccf8f2b270f7458$var$h((0, $2wsb4$ColumnLayoutProvider), {\n width: width,\n xScale: xScale\n }, $5ccf8f2b270f7458$var$h(\"g.isotopes-column\", {\n className: parameter,\n transform: transform\n }, [\n $5ccf8f2b270f7458$var$h($5ccf8f2b270f7458$var$ColumnScaleLines, {\n xScale: xScale,\n tickValues: tickValues,\n width: width,\n ...rest\n }),\n _children\n ]))),\n $5ccf8f2b270f7458$var$h.if(showAxis)($5ccf8f2b270f7458$var$ColumnScaleAxis, {\n width: width,\n label: label ?? parameter,\n xScale: xScale,\n tickValues: tickValues,\n ...rest\n })\n ]);\n}\nfunction $5ccf8f2b270f7458$var$ColumnScaleAxis(props) {\n const { label: label, xScale: xScale, width: width, showAxis: showAxis = true, tickValues: tickValues, ...rest } = props;\n return $5ccf8f2b270f7458$var$h(\"div.isotopes-scale-axis\", [\n $5ccf8f2b270f7458$var$h((0, $2wsb4$SVG), {\n innerWidth: width,\n height: 45,\n paddingH: 15\n }, [\n $5ccf8f2b270f7458$var$h((0, $2wsb4$AxisBottom), {\n scale: xScale,\n tickLength: 5,\n tickValues: tickValues,\n stroke: \"var(--column-stroke-color)\",\n tickStroke: \"var(--column-stroke-color)\",\n ...rest,\n label: label\n })\n ])\n ]);\n}\nfunction $5ccf8f2b270f7458$var$ColumnScaleLines(props) {\n const { tickValues: tickValues, xScale: xScale } = props;\n return $5ccf8f2b270f7458$var$h(\"g.scale-lines\", tickValues.map((value)=>{\n return $5ccf8f2b270f7458$var$h($5ccf8f2b270f7458$var$ScaleLine, {\n value: value\n });\n }));\n}\n\n\nexport {$5ccf8f2b270f7458$export$c69bd0285aa5d775 as IsotopesDataset, $5ccf8f2b270f7458$export$5d8aa8022c284748 as IsotopesColumn};\n//# sourceMappingURL=column-views.75456275.js.map\n","import { useMemo } from \"react\";\nimport hyper from \"@macrostrat/hyper\";\nimport classNames from \"classnames\";\nimport { AxisBottom } from \"@visx/axis\";\nimport { useMeasurementData } from \"./data-provider\";\n\nimport {\n IsotopesDataArea,\n useDataLocator,\n IsotopeDataPoint,\n} from \"./data-area\";\nimport { referenceMeasuresToColumn } from \"@macrostrat/stratigraphy-utils\";\nimport {\n SVG,\n ColumnLayoutProvider,\n useColumnLayout,\n} from \"@macrostrat/column-components\";\nimport {\n useMacrostratColumnData,\n useMacrostratUnits,\n} from \"../../data-provider\";\nimport styles from \"./isotopes-column.module.sass\";\nimport { scaleLinear } from \"d3-scale\";\n\nconst h = hyper.styled(styles);\n\ntype IsotopesTextProps = {\n datum: any;\n text: string;\n};\n\nfunction IsotopeText({ datum, text, ...rest }: IsotopesTextProps) {\n const { pointLocator } = useDataLocator();\n const [x, y] = pointLocator(datum);\n return h(\n \"text\",\n {\n x,\n y,\n ...rest,\n },\n text,\n );\n}\n\ninterface ScaleLineProps {\n value: number;\n className?: string;\n labelBottom?: boolean;\n labelOffset?: number;\n strokeDasharray?: string;\n stroke?: string | number;\n}\n\nfunction ScaleLine(props: ScaleLineProps) {\n let { value, className, labelBottom, labelOffset, ...rest } = props;\n const { sections } = useMacrostratColumnData();\n\n const { xScale } = useColumnLayout();\n const x = xScale(value);\n const transform = `translate(${x})`;\n className = classNames(className, { zero: value === 0 });\n return h(\"g.tick\", { transform, className, key: value }, [\n h(\n \"g.tick-lines\",\n sections.map((d) => {\n const { scaleInfo } = d;\n const y1 = scaleInfo.offset;\n const y2 = y1 + scaleInfo.pixelHeight;\n return h(\"line\", {\n y1,\n y2,\n strokeDasharray: props.strokeDasharray,\n strokeWidth: 1,\n });\n }),\n ),\n ]);\n}\n\nfunction unnestPoints(measures) {\n let points = [];\n for (const meas of measures) {\n const vals = meas.measure_value.map((d, i) => {\n return {\n value: d,\n age: meas.measure_age[i],\n position: meas.measure_position[i],\n unit_id: meas.unit_id,\n sample_id: meas.sample_no[i],\n measurement: meas.measurement,\n };\n });\n Array.prototype.push.apply(points, vals);\n }\n return points;\n}\n\ninterface IsotopesDatasetProps {\n color?: string;\n parameter: string;\n}\n\ninterface IsotopeColumnProps extends IsotopesDatasetProps {\n width: number;\n tickValues?: number[];\n label: string;\n domain?: [number, number];\n transform?: string;\n getHeight?: Function;\n nTicks?: number;\n showAxis?: boolean;\n}\n\nfunction IsotopesDataset(props) {\n const { parameter, color = \"dodgerblue\" } = props;\n const units = useMacrostratUnits();\n const measures = useMeasurementData() ?? [];\n\n const points = useMemo(() => {\n const data = measures.filter((d) => d.measurement === parameter);\n const refMeasures = referenceMeasuresToColumn(units, data);\n return unnestPoints(refMeasures);\n }, [measures, parameter, units]);\n\n return h(\n IsotopesDataArea,\n {\n getHeight(d) {\n return d.age;\n },\n } as any,\n h(\n \"g.data-points\",\n points.map((d) => {\n return h(IsotopeDataPoint, {\n datum: d,\n fill: color,\n });\n }),\n ),\n );\n}\n\nfunction IsotopesColumn(\n props: IsotopeColumnProps & { children?: React.ReactNode },\n) {\n const {\n width = 120,\n domain = [-14, 6],\n parameter,\n label,\n color = \"dodgerblue\",\n children = null,\n transform,\n getHeight,\n showAxis = true,\n tickValues: _tickVals,\n nTicks = 6,\n ...rest\n } = props;\n\n const { totalHeight } = useMacrostratColumnData();\n\n let _children: any = children;\n if (children == null && parameter != null) {\n _children = h(IsotopesDataset, { parameter, color, getHeight });\n }\n\n const xScale = useMemo(\n () => scaleLinear().domain(domain).range([0, width]),\n [domain, width],\n );\n\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n\n return h(\"div.isotopes-column\", [\n h(\n SVG,\n {\n height: totalHeight,\n innerWidth: width,\n paddingH: 15,\n },\n h(\n ColumnLayoutProvider,\n { width, xScale },\n h(\"g.isotopes-column\", { className: parameter, transform }, [\n h(ColumnScaleLines, {\n xScale,\n tickValues,\n width,\n ...rest,\n }),\n _children,\n ]),\n ),\n ),\n h.if(showAxis)(ColumnScaleAxis, {\n width,\n label: label ?? parameter,\n xScale,\n tickValues,\n ...rest,\n }),\n ]);\n}\n\nfunction ColumnScaleAxis(props) {\n const { label, xScale, width, showAxis = true, tickValues, ...rest } = props;\n\n return h(\"div.isotopes-scale-axis\", [\n h(\n SVG,\n {\n innerWidth: width,\n height: 45,\n paddingH: 15,\n },\n [\n h(AxisBottom, {\n scale: xScale,\n tickLength: 5,\n tickValues,\n stroke: \"var(--column-stroke-color)\",\n tickStroke: \"var(--column-stroke-color)\",\n ...rest,\n label,\n }),\n ],\n ),\n ]);\n}\n\nfunction ColumnScaleLines(props) {\n const { tickValues, xScale } = props;\n\n return h(\n \"g.scale-lines\",\n tickValues.map((value) => {\n return h(ScaleLine, { value });\n }),\n );\n}\n\nexport { IsotopesColumn, IsotopesDataset };\n"],"names":["useMemo","$2wsb4$useMemo","$2wsb4$macrostrathyper","$2wsb4$classnames","AxisBottom","$2wsb4$AxisBottom","referenceMeasuresToColumn","$2wsb4$referenceMeasuresToColumn","useColumnLayout","$2wsb4$useColumnLayout","SVG","$2wsb4$SVG","ColumnLayoutProvider","$2wsb4$ColumnLayoutProvider","scaleLinear","$2wsb4$scaleLinear","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$5ccf8f2b270f7458$exports","$5ccf8f2b270f7458$export$c69bd0285aa5d775","$5ccf8f2b270f7458$export$5d8aa8022c284748","$62IHc","$l5EV6","$wtIgl","$6nrRo","$5ccf8f2b270f7458$var$h","styled","a","__esModule","default","$5ccf8f2b270f7458$var$ScaleLine","props","value","className","labelBottom","labelOffset","rest","sections","useMacrostratColumnData","xScale","x","transform","zero","key","map","d","scaleInfo","y1","offset","y2","pixelHeight","strokeDasharray","strokeWidth","parameter","color","units","useMacrostratUnits","measures","useMeasurementData","points","filter","measurement","meas","vals","measure_value","i","age","measure_age","position","measure_position","unit_id","sample_id","sample_no","Array","prototype","push","apply","IsotopesDataArea","getHeight","IsotopeDataPoint","datum","fill","width","domain","label","children","showAxis","tickValues","_tickVals","nTicks","totalHeight","_children","range","ticks","height","innerWidth","paddingH","$5ccf8f2b270f7458$var$ColumnScaleLines","if","$5ccf8f2b270f7458$var$ColumnScaleAxis","scale","tickLength","stroke","tickStroke","IsotopesDataset","IsotopesColumn"],"version":3,"file":"column-views.75456275.js.map","sourceRoot":"../../../../"}
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,W,C,K,O,A,Q,M,mB,A,Q,M,Y,A,Q,c,C,K,Y,A,Q,6B,C,K,gC,A,Q,mB,C,C,O,C,C,wB,C,K,+B,A,Q,e,C,K,U,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,kB,I,G,E,E,iB,I,G,I,E,E,S,E,E,S,E,E,S,E,E,SCwBA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GA8BvB,SAAS,EAAU,CAAqB,EACtC,GAAI,CAAA,MAAE,CAAK,CAAA,UAAE,CAAS,CAAA,YAAE,CAAW,CAAA,YAAE,CAAW,CAAE,GAAG,EAAM,CAAG,EACxD,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAEf,CAAA,OAAE,CAAM,CAAE,CAAG,AAAA,IACb,EAAI,EAAO,GAGjB,OAAO,EAAE,SAAU,CAAE,UAFH,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAEH,UADhC,EAAY,AAAA,EAAW,EAAW,CAAE,KAAM,AAAU,IAAV,CAAY,GACX,IAAK,CAAM,EAAG,CACvD,EACE,eACA,EAAS,GAAG,CAAC,AAAC,IACZ,GAAM,CAAA,UAAE,CAAS,CAAE,CAAG,EAChB,EAAK,EAAU,MAAM,CACrB,EAAK,EAAK,EAAU,WAAW,CACrC,OAAO,EAAE,OAAQ,CACf,GAAA,EACA,GAAA,EACA,gBAAiB,EAAM,eAAe,CACtC,YAAa,CACf,EACF,IAEH,CACH,CAoCA,SAAS,EAAgB,CAAK,EAC5B,GAAM,CAAA,UAAE,CAAS,CAAA,MAAE,EAAQ,YAAA,CAAc,CAAG,EACtC,EAAQ,AAAA,CAAA,E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","sources":["<anon>","packages/column-views/src/facets/carbon-isotopes/isotopes-column.ts"],"sourcesContent":["import \"./column-views.82cf7c0d.js\";\nimport \"./column-views.5908556a.js\";\nimport \"./column-views.5c02450b.js\";\nimport \"./column-views.eea80478.js\";\nimport {useMemo as $2wsb4$useMemo} from \"react\";\nimport $2wsb4$macrostrathyper from \"@macrostrat/hyper\";\nimport $2wsb4$classnames from \"classnames\";\nimport {AxisBottom as $2wsb4$AxisBottom} from \"@visx/axis\";\nimport {referenceMeasuresToColumn as $2wsb4$referenceMeasuresToColumn} from \"@macrostrat/stratigraphy-utils\";\nimport {useColumnLayout as $2wsb4$useColumnLayout, SVG as $2wsb4$SVG, ColumnLayoutProvider as $2wsb4$ColumnLayoutProvider} from \"@macrostrat/column-components\";\nimport {scaleLinear as $2wsb4$scaleLinear} from \"d3-scale\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $5ccf8f2b270f7458$exports = {};\n\n$parcel$export($5ccf8f2b270f7458$exports, \"IsotopesDataset\", () => $5ccf8f2b270f7458$export$c69bd0285aa5d775);\n$parcel$export($5ccf8f2b270f7458$exports, \"IsotopesColumn\", () => $5ccf8f2b270f7458$export$5d8aa8022c284748);\n\n\n\n\n\nvar $62IHc = parcelRequire(\"62IHc\");\n\nvar $l5EV6 = parcelRequire(\"l5EV6\");\n\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $6nrRo = parcelRequire(\"6nrRo\");\n\nconst $5ccf8f2b270f7458$var$h = (0, $2wsb4$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($6nrRo))));\nfunction $5ccf8f2b270f7458$var$IsotopeText({ datum: datum, text: text, ...rest }) {\n const { pointLocator: pointLocator } = (0, $l5EV6.useDataLocator)();\n const [x, y] = pointLocator(datum);\n return $5ccf8f2b270f7458$var$h(\"text\", {\n x: x,\n y: y,\n ...rest\n }, text);\n}\nfunction $5ccf8f2b270f7458$var$ScaleLine(props) {\n let { value: value, className: className, labelBottom: labelBottom, labelOffset: labelOffset, ...rest } = props;\n const { sections: sections } = (0, $wtIgl.useMacrostratColumnData)();\n const { xScale: xScale } = (0, $2wsb4$useColumnLayout)();\n const x = xScale(value);\n const transform = `translate(${x})`;\n className = (0, $2wsb4$classnames)(className, {\n zero: value === 0\n });\n return $5ccf8f2b270f7458$var$h(\"g.tick\", {\n transform: transform,\n className: className,\n key: value\n }, [\n $5ccf8f2b270f7458$var$h(\"g.tick-lines\", sections.map((d)=>{\n const { scaleInfo: scaleInfo } = d;\n const y1 = scaleInfo.offset;\n const y2 = y1 + scaleInfo.pixelHeight;\n return $5ccf8f2b270f7458$var$h(\"line\", {\n y1: y1,\n y2: y2,\n strokeDasharray: props.strokeDasharray,\n strokeWidth: 1\n });\n }))\n ]);\n}\nfunction $5ccf8f2b270f7458$var$unnestPoints(measures) {\n let points = [];\n for (const meas of measures){\n const vals = meas.measure_value.map((d, i)=>{\n return {\n value: d,\n age: meas.measure_age[i],\n position: meas.measure_position[i],\n unit_id: meas.unit_id,\n sample_id: meas.sample_no[i],\n measurement: meas.measurement\n };\n });\n Array.prototype.push.apply(points, vals);\n }\n return points;\n}\nfunction $5ccf8f2b270f7458$export$c69bd0285aa5d775(props) {\n const { parameter: parameter, color: color = \"dodgerblue\" } = props;\n const units = (0, $wtIgl.useMacrostratUnits)();\n const measures = (0, $62IHc.useMeasurementData)() ?? [];\n const points = (0, $2wsb4$useMemo)(()=>{\n const data = measures.filter((d)=>d.measurement === parameter);\n const refMeasures = (0, $2wsb4$referenceMeasuresToColumn)(units, data);\n return $5ccf8f2b270f7458$var$unnestPoints(refMeasures);\n }, [\n measures,\n parameter,\n units\n ]);\n return $5ccf8f2b270f7458$var$h((0, $l5EV6.IsotopesDataArea), {\n getHeight (d) {\n return d.age;\n }\n }, $5ccf8f2b270f7458$var$h(\"g.data-points\", points.map((d)=>{\n return $5ccf8f2b270f7458$var$h((0, $l5EV6.IsotopeDataPoint), {\n datum: d,\n fill: color\n });\n })));\n}\nfunction $5ccf8f2b270f7458$export$5d8aa8022c284748(props) {\n const { width: width = 120, domain: domain = [\n -14,\n 6\n ], parameter: parameter, label: label, color: color = \"dodgerblue\", children: children = null, transform: transform, getHeight: getHeight, showAxis: showAxis = true, tickValues: _tickVals, nTicks: nTicks = 6, ...rest } = props;\n const { totalHeight: totalHeight } = (0, $wtIgl.useMacrostratColumnData)();\n let _children = children;\n if (children == null && parameter != null) _children = $5ccf8f2b270f7458$var$h($5ccf8f2b270f7458$export$c69bd0285aa5d775, {\n parameter: parameter,\n color: color,\n getHeight: getHeight\n });\n const xScale = (0, $2wsb4$useMemo)(()=>(0, $2wsb4$scaleLinear)().domain(domain).range([\n 0,\n width\n ]), [\n domain,\n width\n ]);\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n return $5ccf8f2b270f7458$var$h(\"div.isotopes-column\", [\n $5ccf8f2b270f7458$var$h((0, $2wsb4$SVG), {\n height: totalHeight,\n innerWidth: width,\n paddingH: 15\n }, $5ccf8f2b270f7458$var$h((0, $2wsb4$ColumnLayoutProvider), {\n width: width,\n xScale: xScale\n }, $5ccf8f2b270f7458$var$h(\"g.isotopes-column\", {\n className: parameter,\n transform: transform\n }, [\n $5ccf8f2b270f7458$var$h($5ccf8f2b270f7458$var$ColumnScaleLines, {\n xScale: xScale,\n tickValues: tickValues,\n width: width,\n ...rest\n }),\n _children\n ]))),\n $5ccf8f2b270f7458$var$h.if(showAxis)($5ccf8f2b270f7458$var$ColumnScaleAxis, {\n width: width,\n label: label ?? parameter,\n xScale: xScale,\n tickValues: tickValues,\n ...rest\n })\n ]);\n}\nfunction $5ccf8f2b270f7458$var$ColumnScaleAxis(props) {\n const { label: label, xScale: xScale, width: width, showAxis: showAxis = true, tickValues: tickValues, ...rest } = props;\n return $5ccf8f2b270f7458$var$h(\"div.isotopes-scale-axis\", [\n $5ccf8f2b270f7458$var$h((0, $2wsb4$SVG), {\n innerWidth: width,\n height: 45,\n paddingH: 15\n }, [\n $5ccf8f2b270f7458$var$h((0, $2wsb4$AxisBottom), {\n scale: xScale,\n tickLength: 5,\n tickValues: tickValues,\n stroke: \"var(--column-stroke-color)\",\n tickStroke: \"var(--column-stroke-color)\",\n ...rest,\n label: label\n })\n ])\n ]);\n}\nfunction $5ccf8f2b270f7458$var$ColumnScaleLines(props) {\n const { tickValues: tickValues, xScale: xScale } = props;\n return $5ccf8f2b270f7458$var$h(\"g.scale-lines\", tickValues.map((value)=>{\n return $5ccf8f2b270f7458$var$h($5ccf8f2b270f7458$var$ScaleLine, {\n value: value\n });\n }));\n}\n\n\nexport {$5ccf8f2b270f7458$export$c69bd0285aa5d775 as IsotopesDataset, $5ccf8f2b270f7458$export$5d8aa8022c284748 as IsotopesColumn};\n//# sourceMappingURL=column-views.784bac2a.js.map\n","import { useMemo } from \"react\";\nimport hyper from \"@macrostrat/hyper\";\nimport classNames from \"classnames\";\nimport { AxisBottom } from \"@visx/axis\";\nimport { useMeasurementData } from \"./data-provider\";\n\nimport {\n IsotopesDataArea,\n useDataLocator,\n IsotopeDataPoint,\n} from \"./data-area\";\nimport { referenceMeasuresToColumn } from \"@macrostrat/stratigraphy-utils\";\nimport {\n SVG,\n ColumnLayoutProvider,\n useColumnLayout,\n} from \"@macrostrat/column-components\";\nimport {\n useMacrostratColumnData,\n useMacrostratUnits,\n} from \"../../data-provider\";\nimport styles from \"./isotopes-column.module.sass\";\nimport { scaleLinear } from \"d3-scale\";\n\nconst h = hyper.styled(styles);\n\ntype IsotopesTextProps = {\n datum: any;\n text: string;\n};\n\nfunction IsotopeText({ datum, text, ...rest }: IsotopesTextProps) {\n const { pointLocator } = useDataLocator();\n const [x, y] = pointLocator(datum);\n return h(\n \"text\",\n {\n x,\n y,\n ...rest,\n },\n text,\n );\n}\n\ninterface ScaleLineProps {\n value: number;\n className?: string;\n labelBottom?: boolean;\n labelOffset?: number;\n strokeDasharray?: string;\n stroke?: string | number;\n}\n\nfunction ScaleLine(props: ScaleLineProps) {\n let { value, className, labelBottom, labelOffset, ...rest } = props;\n const { sections } = useMacrostratColumnData();\n\n const { xScale } = useColumnLayout();\n const x = xScale(value);\n const transform = `translate(${x})`;\n className = classNames(className, { zero: value === 0 });\n return h(\"g.tick\", { transform, className, key: value }, [\n h(\n \"g.tick-lines\",\n sections.map((d) => {\n const { scaleInfo } = d;\n const y1 = scaleInfo.offset;\n const y2 = y1 + scaleInfo.pixelHeight;\n return h(\"line\", {\n y1,\n y2,\n strokeDasharray: props.strokeDasharray,\n strokeWidth: 1,\n });\n }),\n ),\n ]);\n}\n\nfunction unnestPoints(measures) {\n let points = [];\n for (const meas of measures) {\n const vals = meas.measure_value.map((d, i) => {\n return {\n value: d,\n age: meas.measure_age[i],\n position: meas.measure_position[i],\n unit_id: meas.unit_id,\n sample_id: meas.sample_no[i],\n measurement: meas.measurement,\n };\n });\n Array.prototype.push.apply(points, vals);\n }\n return points;\n}\n\ninterface IsotopesDatasetProps {\n color?: string;\n parameter: string;\n}\n\ninterface IsotopeColumnProps extends IsotopesDatasetProps {\n width: number;\n tickValues?: number[];\n label: string;\n domain?: [number, number];\n transform?: string;\n getHeight?: Function;\n nTicks?: number;\n showAxis?: boolean;\n}\n\nfunction IsotopesDataset(props) {\n const { parameter, color = \"dodgerblue\" } = props;\n const units = useMacrostratUnits();\n const measures = useMeasurementData() ?? [];\n\n const points = useMemo(() => {\n const data = measures.filter((d) => d.measurement === parameter);\n const refMeasures = referenceMeasuresToColumn(units, data);\n return unnestPoints(refMeasures);\n }, [measures, parameter, units]);\n\n return h(\n IsotopesDataArea,\n {\n getHeight(d) {\n return d.age;\n },\n } as any,\n h(\n \"g.data-points\",\n points.map((d) => {\n return h(IsotopeDataPoint, {\n datum: d,\n fill: color,\n });\n }),\n ),\n );\n}\n\nfunction IsotopesColumn(\n props: IsotopeColumnProps & { children?: React.ReactNode },\n) {\n const {\n width = 120,\n domain = [-14, 6],\n parameter,\n label,\n color = \"dodgerblue\",\n children = null,\n transform,\n getHeight,\n showAxis = true,\n tickValues: _tickVals,\n nTicks = 6,\n ...rest\n } = props;\n\n const { totalHeight } = useMacrostratColumnData();\n\n let _children: any = children;\n if (children == null && parameter != null) {\n _children = h(IsotopesDataset, { parameter, color, getHeight });\n }\n\n const xScale = useMemo(\n () => scaleLinear().domain(domain).range([0, width]),\n [domain, width],\n );\n\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n\n return h(\"div.isotopes-column\", [\n h(\n SVG,\n {\n height: totalHeight,\n innerWidth: width,\n paddingH: 15,\n },\n h(\n ColumnLayoutProvider,\n { width, xScale },\n h(\"g.isotopes-column\", { className: parameter, transform }, [\n h(ColumnScaleLines, {\n xScale,\n tickValues,\n width,\n ...rest,\n }),\n _children,\n ]),\n ),\n ),\n h.if(showAxis)(ColumnScaleAxis, {\n width,\n label: label ?? parameter,\n xScale,\n tickValues,\n ...rest,\n }),\n ]);\n}\n\nfunction ColumnScaleAxis(props) {\n const { label, xScale, width, showAxis = true, tickValues, ...rest } = props;\n\n return h(\"div.isotopes-scale-axis\", [\n h(\n SVG,\n {\n innerWidth: width,\n height: 45,\n paddingH: 15,\n },\n [\n h(AxisBottom, {\n scale: xScale,\n tickLength: 5,\n tickValues,\n stroke: \"var(--column-stroke-color)\",\n tickStroke: \"var(--column-stroke-color)\",\n ...rest,\n label,\n }),\n ],\n ),\n ]);\n}\n\nfunction ColumnScaleLines(props) {\n const { tickValues, xScale } = props;\n\n return h(\n \"g.scale-lines\",\n tickValues.map((value) => {\n return h(ScaleLine, { value });\n }),\n );\n}\n\nexport { IsotopesColumn, IsotopesDataset };\n"],"names":["useMemo","$2wsb4$useMemo","$2wsb4$macrostrathyper","$2wsb4$classnames","AxisBottom","$2wsb4$AxisBottom","referenceMeasuresToColumn","$2wsb4$referenceMeasuresToColumn","useColumnLayout","$2wsb4$useColumnLayout","SVG","$2wsb4$SVG","ColumnLayoutProvider","$2wsb4$ColumnLayoutProvider","scaleLinear","$2wsb4$scaleLinear","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$5ccf8f2b270f7458$exports","$5ccf8f2b270f7458$export$c69bd0285aa5d775","$5ccf8f2b270f7458$export$5d8aa8022c284748","$62IHc","$l5EV6","$wtIgl","$6nrRo","$5ccf8f2b270f7458$var$h","styled","a","__esModule","default","$5ccf8f2b270f7458$var$ScaleLine","props","value","className","labelBottom","labelOffset","rest","sections","useMacrostratColumnData","xScale","x","transform","zero","key","map","d","scaleInfo","y1","offset","y2","pixelHeight","strokeDasharray","strokeWidth","parameter","color","units","useMacrostratUnits","measures","useMeasurementData","points","filter","measurement","meas","vals","measure_value","i","age","measure_age","position","measure_position","unit_id","sample_id","sample_no","Array","prototype","push","apply","IsotopesDataArea","getHeight","IsotopeDataPoint","datum","fill","width","domain","label","children","showAxis","tickValues","_tickVals","nTicks","totalHeight","_children","range","ticks","height","innerWidth","paddingH","$5ccf8f2b270f7458$var$ColumnScaleLines","if","$5ccf8f2b270f7458$var$ColumnScaleAxis","scale","tickLength","stroke","tickStroke","IsotopesDataset","IsotopesColumn"],"version":3,"file":"column-views.784bac2a.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.fa5ee6de.js";import"./column-views.7d45bbeb.js";import{useMemo as e,useCallback as r,useEffect as t}from"react";import{setGeoJSON as n,buildGeoJSONSource as l}from"@macrostrat/mapbox-utils";import{useMapRef as o,useMapStyleOperator as i}from"@macrostrat/mapbox-react";var a=globalThis,u={},s={},c=a.parcelRequirea149;null==c&&((c=function(e){if(e in u)return u[e].exports;if(e in s){var r=s[e];delete s[e];var t={id:e,exports:{}};return u[e]=t,r.call(t.exports,t,t.exports),t.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,r){s[e]=r},a.parcelRequirea149=c),c.register;var p=c("c4zVj"),d=c("iVYEX");function f(l){let{showTriangulation:a=!1}=l,u=(0,p.useColumnNavigationStore)(e=>e.columns),s=(0,p.useColumnNavigationStore)(e=>e.selectedColumn),c=(0,p.useColumnNavigationStore)(e=>e.selectColumn),f=e(()=>u&&0!=u.length?(0,d.buildTriangulation)(u):null,[u]),m=o().current,v=e(()=>{if(null==u||null==f||null==m)return null;let e=u.findIndex(e=>e.properties.col_id==s),r=f.tri.delaunay.neighbors[e];return(0,d.buildKeyMapping)(r,f.centroids,e,e=>{let r=m.project(e);return[r.x,r.y]})},[s,u,f,m]),b=r(e=>{if(null==v)return;let r=v[e.which];if(null!=r)return e.preventDefault(),e.stopPropagation(),c(u[r].id),!1},[v,c]);return t(()=>{if(null==m)return;let e=m.getCanvas();return e.addEventListener("keydown",b),()=>{e.removeEventListener("keydown",b)}},[m,b]),i(e=>{if(null==f||!a)return;let{features:r}=f.tri.links();n(e,"column-links",{type:"FeatureCollection",features:r})},[f,a]),null}function m(e="purple"){return{sources:{"column-links":l()},layers:[{id:"column-links",type:"line",source:"column-links",paint:{"line-color":e,"line-width":1.5}},{id:"column-centers",type:"circle",source:"column-links",paint:{"circle-radius":2,"circle-color":e}}]}}export{f as ColumnKeyboardNavigation,m as buildKeyboardNavigationStyle};
|
|
2
|
+
//# sourceMappingURL=column-views.796fc1de.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["<anon>","packages/column-views/src/maps/column-navigation/mapbox/keyboard-navigation.ts"],"sourcesContent":["import \"./column-views.cd54f1b1.js\";\nimport \"./column-views.7d45bbeb.js\";\nimport {useMemo as $6HCEc$useMemo, useCallback as $6HCEc$useCallback, useEffect as $6HCEc$useEffect} from \"react\";\nimport {setGeoJSON as $6HCEc$setGeoJSON, buildGeoJSONSource as $6HCEc$buildGeoJSONSource} from \"@macrostrat/mapbox-utils\";\nimport {useMapRef as $6HCEc$useMapRef, useMapStyleOperator as $6HCEc$useMapStyleOperator} from \"@macrostrat/mapbox-react\";\n\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\n\n\nvar $c4zVj = parcelRequire(\"c4zVj\");\n\nvar $iVYEX = parcelRequire(\"iVYEX\");\nfunction $ee9901df79ff88e8$export$8c41dd563753848(props) {\n /** Keyboard navigation of columns using a Delaunay triangulation */ const { showTriangulation: showTriangulation = false } = props;\n const columns = (0, $c4zVj.useColumnNavigationStore)((state)=>state.columns);\n const col_id = (0, $c4zVj.useColumnNavigationStore)((state)=>state.selectedColumn);\n const selectColumn = (0, $c4zVj.useColumnNavigationStore)((state)=>state.selectColumn);\n const voronoi = (0, $6HCEc$useMemo)(()=>{\n if (!columns || columns.length == 0) return null;\n return (0, $iVYEX.buildTriangulation)(columns);\n }, [\n columns\n ]);\n const mapRef = (0, $6HCEc$useMapRef)();\n const map = mapRef.current;\n const keyMapping = (0, $6HCEc$useMemo)(()=>{\n if (columns == null || voronoi == null || map == null) return null;\n const projection = (d)=>{\n const pt = map.project(d);\n return [\n pt.x,\n pt.y\n ];\n };\n const currentIndex = columns.findIndex((d)=>d.properties.col_id == col_id);\n const neighbors = voronoi.tri.delaunay.neighbors[currentIndex];\n return (0, $iVYEX.buildKeyMapping)(neighbors, voronoi.centroids, currentIndex, projection);\n }, [\n col_id,\n columns,\n voronoi,\n map\n ]);\n const onKeyDown = (0, $6HCEc$useCallback)((event)=>{\n if (keyMapping == null) return;\n const nextColumnIx = keyMapping[event.which];\n if (nextColumnIx == null) return;\n event.preventDefault();\n event.stopPropagation();\n // @ts-ignore\n selectColumn(columns[nextColumnIx].id);\n return false;\n }, [\n keyMapping,\n selectColumn\n ]);\n (0, $6HCEc$useEffect)(()=>{\n if (map == null) return;\n const canvas = map.getCanvas();\n canvas.addEventListener(\"keydown\", onKeyDown);\n return ()=>{\n canvas.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [\n map,\n onKeyDown\n ]);\n (0, $6HCEc$useMapStyleOperator)((map)=>{\n if (voronoi == null || !showTriangulation) return;\n const { features: features } = voronoi.tri.links();\n (0, $6HCEc$setGeoJSON)(map, \"column-links\", {\n type: \"FeatureCollection\",\n features: features\n });\n }, [\n voronoi,\n showTriangulation\n ]);\n //if (neighbors == null) return null;\n //const neighborFeatures = neighbors.map((d) => features[d]);\n return null;\n}\nfunction $ee9901df79ff88e8$export$c613fba0aabeee13(color = \"purple\") {\n return {\n sources: {\n \"column-links\": (0, $6HCEc$buildGeoJSONSource)()\n },\n layers: [\n {\n id: \"column-links\",\n type: \"line\",\n source: \"column-links\",\n paint: {\n \"line-color\": color,\n \"line-width\": 1.5\n }\n },\n {\n id: \"column-centers\",\n type: \"circle\",\n source: \"column-links\",\n paint: {\n \"circle-radius\": 2,\n \"circle-color\": color\n }\n }\n ]\n };\n}\n\n\nexport {$ee9901df79ff88e8$export$8c41dd563753848 as ColumnKeyboardNavigation, $ee9901df79ff88e8$export$c613fba0aabeee13 as buildKeyboardNavigationStyle};\n//# sourceMappingURL=column-views.0f401891.js.map\n","import { useCallback, useEffect, useMemo } from \"react\";\nimport { buildGeoJSONSource, setGeoJSON } from \"@macrostrat/mapbox-utils\";\nimport { useMapRef, useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport { useColumnNavigationStore } from \"./state\";\nimport {\n buildTriangulation,\n buildKeyMapping,\n} from \"../utils/keyboard-navigation\";\n\ninterface KeyboardNavProps {\n showTriangulation: boolean;\n}\n\nexport function ColumnKeyboardNavigation(props: KeyboardNavProps) {\n /** Keyboard navigation of columns using a Delaunay triangulation */\n const { showTriangulation = false } = props;\n const columns = useColumnNavigationStore((state) => state.columns);\n const col_id = useColumnNavigationStore((state) => state.selectedColumn);\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n\n const voronoi = useMemo(() => {\n if (!columns || columns.length == 0) return null;\n return buildTriangulation(columns);\n }, [columns]);\n\n const mapRef = useMapRef();\n const map = mapRef.current;\n\n const keyMapping = useMemo(() => {\n if (columns == null || voronoi == null || map == null) return null;\n\n const projection = (d) => {\n const pt = map.project(d);\n return [pt.x, pt.y];\n };\n\n const currentIndex = columns.findIndex(\n (d) => d.properties.col_id == col_id,\n );\n\n const neighbors = voronoi.tri.delaunay.neighbors[currentIndex];\n return buildKeyMapping(\n neighbors,\n voronoi.centroids,\n currentIndex,\n projection,\n );\n }, [col_id, columns, voronoi, map]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (keyMapping == null) return;\n const nextColumnIx = keyMapping[event.which];\n if (nextColumnIx == null) return;\n event.preventDefault();\n event.stopPropagation();\n // @ts-ignore\n selectColumn(columns[nextColumnIx].id);\n return false;\n },\n [keyMapping, selectColumn],\n );\n\n useEffect(() => {\n if (map == null) return;\n const canvas = map.getCanvas();\n canvas.addEventListener(\"keydown\", onKeyDown);\n return () => {\n canvas.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [map, onKeyDown]);\n\n useMapStyleOperator(\n (map) => {\n if (voronoi == null || !showTriangulation) return;\n const { features } = voronoi.tri.links();\n\n setGeoJSON(map, \"column-links\", {\n type: \"FeatureCollection\",\n features,\n });\n },\n [voronoi, showTriangulation],\n );\n\n //if (neighbors == null) return null;\n //const neighborFeatures = neighbors.map((d) => features[d]);\n\n return null;\n}\n\nexport function buildKeyboardNavigationStyle(color: string = \"purple\") {\n return {\n sources: {\n \"column-links\": buildGeoJSONSource(),\n //neighbors: buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"column-links\",\n type: \"line\",\n source: \"column-links\",\n paint: {\n \"line-color\": color,\n \"line-width\": 1.5,\n },\n },\n {\n id: \"column-centers\",\n type: \"circle\",\n source: \"column-links\",\n paint: {\n \"circle-radius\": 2,\n \"circle-color\": color,\n },\n },\n ],\n };\n}\n"],"names":["useMemo","$6HCEc$useMemo","useCallback","$6HCEc$useCallback","useEffect","$6HCEc$useEffect","setGeoJSON","$6HCEc$setGeoJSON","buildGeoJSONSource","$6HCEc$buildGeoJSONSource","useMapRef","$6HCEc$useMapRef","useMapStyleOperator","$6HCEc$useMapStyleOperator","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$c4zVj","$iVYEX","$ee9901df79ff88e8$export$8c41dd563753848","props","showTriangulation","columns","useColumnNavigationStore","state","col_id","selectedColumn","selectColumn","voronoi","length","buildTriangulation","map","mapRef","current","keyMapping","currentIndex","findIndex","d","properties","neighbors","tri","delaunay","buildKeyMapping","centroids","pt","project","x","y","onKeyDown","event","nextColumnIx","which","preventDefault","stopPropagation","canvas","getCanvas","addEventListener","removeEventListener","features","links","type","$ee9901df79ff88e8$export$c613fba0aabeee13","color","sources","layers","source","paint","ColumnKeyboardNavigation","buildKeyboardNavigationStyle"],"version":3,"file":"column-views.0f401891.js.map","sourceRoot":"../../../../"}
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,A,Q,W,C,C,e,C,C,a,C,K,O,A,Q,c,C,C,sB,C,K,0B,A,Q,a,C,C,uB,C,K,0B,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,E,S,E,E,SCaO,SAAS,EAAyB,CAAuB,EAE9D,GAAM,CAAA,kBAAE,EAAoB,CAAA,CAAA,CAAO,CAAG,EAChC,EAAU,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EAAyB,AAAC,GAAU,EAAM,OAAO,EAC3D,EAAS,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EAAyB,AAAC,GAAU,EAAM,cAAc,EACjE,EAAe,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,EAAyB,AAAC,GAAU,EAAM,YAAY,EAErE,EAAU,AAAA,EAAQ,IACtB,AAAI,AAAC,GAAW,AAAkB,GAAlB,EAAQ,MAAM,CACvB,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,GADkB,KAE3C,CAAC,EAAQ,EAGN,EAAM,AADG,AAAA,IACI,OAAO,CAEpB,EAAa,AAAA,EAAQ,KACzB,GAAI,AAAW,MAAX,GAAmB,AAAW,MAAX,GAAmB,AAAO,MAAP,EAAa,OAAO,KAO9D,IAAM,EAAe,EAAQ,SAAS,CACpC,AAAC,GAAM,EAAE,UAAU,CAAC,MAAM,EAAI,GAG1B,EAAY,EAAQ,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAa,CAC9D,MAAO,AAAA,CAAA,EAAA,EAAA,eAAc,AAAd,EACL,EACA,EAAQ,SAAS,CACjB,EAbiB,AAAC,IAClB,IAAM,EAAK,EAAI,OAAO,CAAC,GACvB,MAAO,CAAC,EAAG,CAAC,CAAE,EAAG,CAAC,CAAC,AACrB,EAaF,EAAG,CAAC,EAAQ,EAAS,EAAS,EAAI,EAE5B,EAAY,AAAA,EAChB,AAAC,IACC,GAAI,AAAc,MAAd,EAAoB,OACxB,IAAM,EAAe,CAAU,CAAC,EAAM,KAAK,CAAC,CAC5C,GAAI,AAAgB,MAAhB,EAKJ,OAJA,EAAM,cAAc,GACpB,EAAM,eAAe,GAErB,EAAa,CAAO,CAAC,EAAa,CAAC,EAAE,EAC9B,CAAA,CACT,EACA,CAAC,EAAY,EAAa,EA4B5B,OAzBA,AAAA,EAAU,KACR,GAAI,AAAO,MAAP,EAAa,OACjB,IAAM,EAAS,EAAI,SAAS,GAE5B,OADA,EAAO,gBAAgB,CAAC,UAAW,GAC5B,KACL,EAAO,mBAAmB,CAAC,UAAW,EACxC,CACF,EAAG,CAAC,EAAK,EAAU,EAEnB,AAAA,EACE,AAAC,IACC,GAAI,AAAW,MAAX,GAAmB,CAAC,EAAmB,OAC3C,GAAM,CAAA,SAAE,CAAQ,CAAE,CAAG,EAAQ,GAAG,CAAC,KAAK,GAEtC,AAAA,EAAW,EAAK,eAAgB,CAC9B,KAAM,oBACN,SAAA,CACF,EACF,EACA,CAAC,EAAS,EAAkB,EAMvB,IACT,CAEO,SAAS,EAA6B,EAAgB,QAAQ,EACnE,MAAO,CACL,QAAS,CACP,eAAgB,AAAA,GAElB,EACA,OAAQ,CACN,CACE,GAAI,eACJ,KAAM,OACN,OAAQ,eACR,MAAO,CACL,aAAc,EACd,aAAc,GAChB,CACF,EACA,CACE,GAAI,iBACJ,KAAM,SACN,OAAQ,eACR,MAAO,CACL,gBAAiB,EACjB,eAAgB,CAClB,CACF,EACD,AACH,CACF,Q,K,wB,C,K,4B","sources":["<anon>","packages/column-views/src/maps/column-navigation/mapbox/keyboard-navigation.ts"],"sourcesContent":["import \"./column-views.fa5ee6de.js\";\nimport \"./column-views.7d45bbeb.js\";\nimport {useMemo as $6HCEc$useMemo, useCallback as $6HCEc$useCallback, useEffect as $6HCEc$useEffect} from \"react\";\nimport {setGeoJSON as $6HCEc$setGeoJSON, buildGeoJSONSource as $6HCEc$buildGeoJSONSource} from \"@macrostrat/mapbox-utils\";\nimport {useMapRef as $6HCEc$useMapRef, useMapStyleOperator as $6HCEc$useMapStyleOperator} from \"@macrostrat/mapbox-react\";\n\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\n\n\nvar $c4zVj = parcelRequire(\"c4zVj\");\n\nvar $iVYEX = parcelRequire(\"iVYEX\");\nfunction $ee9901df79ff88e8$export$8c41dd563753848(props) {\n /** Keyboard navigation of columns using a Delaunay triangulation */ const { showTriangulation: showTriangulation = false } = props;\n const columns = (0, $c4zVj.useColumnNavigationStore)((state)=>state.columns);\n const col_id = (0, $c4zVj.useColumnNavigationStore)((state)=>state.selectedColumn);\n const selectColumn = (0, $c4zVj.useColumnNavigationStore)((state)=>state.selectColumn);\n const voronoi = (0, $6HCEc$useMemo)(()=>{\n if (!columns || columns.length == 0) return null;\n return (0, $iVYEX.buildTriangulation)(columns);\n }, [\n columns\n ]);\n const mapRef = (0, $6HCEc$useMapRef)();\n const map = mapRef.current;\n const keyMapping = (0, $6HCEc$useMemo)(()=>{\n if (columns == null || voronoi == null || map == null) return null;\n const projection = (d)=>{\n const pt = map.project(d);\n return [\n pt.x,\n pt.y\n ];\n };\n const currentIndex = columns.findIndex((d)=>d.properties.col_id == col_id);\n const neighbors = voronoi.tri.delaunay.neighbors[currentIndex];\n return (0, $iVYEX.buildKeyMapping)(neighbors, voronoi.centroids, currentIndex, projection);\n }, [\n col_id,\n columns,\n voronoi,\n map\n ]);\n const onKeyDown = (0, $6HCEc$useCallback)((event)=>{\n if (keyMapping == null) return;\n const nextColumnIx = keyMapping[event.which];\n if (nextColumnIx == null) return;\n event.preventDefault();\n event.stopPropagation();\n // @ts-ignore\n selectColumn(columns[nextColumnIx].id);\n return false;\n }, [\n keyMapping,\n selectColumn\n ]);\n (0, $6HCEc$useEffect)(()=>{\n if (map == null) return;\n const canvas = map.getCanvas();\n canvas.addEventListener(\"keydown\", onKeyDown);\n return ()=>{\n canvas.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [\n map,\n onKeyDown\n ]);\n (0, $6HCEc$useMapStyleOperator)((map)=>{\n if (voronoi == null || !showTriangulation) return;\n const { features: features } = voronoi.tri.links();\n (0, $6HCEc$setGeoJSON)(map, \"column-links\", {\n type: \"FeatureCollection\",\n features: features\n });\n }, [\n voronoi,\n showTriangulation\n ]);\n //if (neighbors == null) return null;\n //const neighborFeatures = neighbors.map((d) => features[d]);\n return null;\n}\nfunction $ee9901df79ff88e8$export$c613fba0aabeee13(color = \"purple\") {\n return {\n sources: {\n \"column-links\": (0, $6HCEc$buildGeoJSONSource)()\n },\n layers: [\n {\n id: \"column-links\",\n type: \"line\",\n source: \"column-links\",\n paint: {\n \"line-color\": color,\n \"line-width\": 1.5\n }\n },\n {\n id: \"column-centers\",\n type: \"circle\",\n source: \"column-links\",\n paint: {\n \"circle-radius\": 2,\n \"circle-color\": color\n }\n }\n ]\n };\n}\n\n\nexport {$ee9901df79ff88e8$export$8c41dd563753848 as ColumnKeyboardNavigation, $ee9901df79ff88e8$export$c613fba0aabeee13 as buildKeyboardNavigationStyle};\n//# sourceMappingURL=column-views.796fc1de.js.map\n","import { useCallback, useEffect, useMemo } from \"react\";\nimport { buildGeoJSONSource, setGeoJSON } from \"@macrostrat/mapbox-utils\";\nimport { useMapRef, useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport { useColumnNavigationStore } from \"./state\";\nimport {\n buildTriangulation,\n buildKeyMapping,\n} from \"../utils/keyboard-navigation\";\n\ninterface KeyboardNavProps {\n showTriangulation: boolean;\n}\n\nexport function ColumnKeyboardNavigation(props: KeyboardNavProps) {\n /** Keyboard navigation of columns using a Delaunay triangulation */\n const { showTriangulation = false } = props;\n const columns = useColumnNavigationStore((state) => state.columns);\n const col_id = useColumnNavigationStore((state) => state.selectedColumn);\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n\n const voronoi = useMemo(() => {\n if (!columns || columns.length == 0) return null;\n return buildTriangulation(columns);\n }, [columns]);\n\n const mapRef = useMapRef();\n const map = mapRef.current;\n\n const keyMapping = useMemo(() => {\n if (columns == null || voronoi == null || map == null) return null;\n\n const projection = (d) => {\n const pt = map.project(d);\n return [pt.x, pt.y];\n };\n\n const currentIndex = columns.findIndex(\n (d) => d.properties.col_id == col_id,\n );\n\n const neighbors = voronoi.tri.delaunay.neighbors[currentIndex];\n return buildKeyMapping(\n neighbors,\n voronoi.centroids,\n currentIndex,\n projection,\n );\n }, [col_id, columns, voronoi, map]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (keyMapping == null) return;\n const nextColumnIx = keyMapping[event.which];\n if (nextColumnIx == null) return;\n event.preventDefault();\n event.stopPropagation();\n // @ts-ignore\n selectColumn(columns[nextColumnIx].id);\n return false;\n },\n [keyMapping, selectColumn],\n );\n\n useEffect(() => {\n if (map == null) return;\n const canvas = map.getCanvas();\n canvas.addEventListener(\"keydown\", onKeyDown);\n return () => {\n canvas.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [map, onKeyDown]);\n\n useMapStyleOperator(\n (map) => {\n if (voronoi == null || !showTriangulation) return;\n const { features } = voronoi.tri.links();\n\n setGeoJSON(map, \"column-links\", {\n type: \"FeatureCollection\",\n features,\n });\n },\n [voronoi, showTriangulation],\n );\n\n //if (neighbors == null) return null;\n //const neighborFeatures = neighbors.map((d) => features[d]);\n\n return null;\n}\n\nexport function buildKeyboardNavigationStyle(color: string = \"purple\") {\n return {\n sources: {\n \"column-links\": buildGeoJSONSource(),\n //neighbors: buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"column-links\",\n type: \"line\",\n source: \"column-links\",\n paint: {\n \"line-color\": color,\n \"line-width\": 1.5,\n },\n },\n {\n id: \"column-centers\",\n type: \"circle\",\n source: \"column-links\",\n paint: {\n \"circle-radius\": 2,\n \"circle-color\": color,\n },\n },\n ],\n };\n}\n"],"names":["useMemo","$6HCEc$useMemo","useCallback","$6HCEc$useCallback","useEffect","$6HCEc$useEffect","setGeoJSON","$6HCEc$setGeoJSON","buildGeoJSONSource","$6HCEc$buildGeoJSONSource","useMapRef","$6HCEc$useMapRef","useMapStyleOperator","$6HCEc$useMapStyleOperator","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$c4zVj","$iVYEX","$ee9901df79ff88e8$export$8c41dd563753848","props","showTriangulation","columns","useColumnNavigationStore","state","col_id","selectedColumn","selectColumn","voronoi","length","buildTriangulation","map","mapRef","current","keyMapping","currentIndex","findIndex","d","properties","neighbors","tri","delaunay","buildKeyMapping","centroids","pt","project","x","y","onKeyDown","event","nextColumnIx","which","preventDefault","stopPropagation","canvas","getCanvas","addEventListener","removeEventListener","features","links","type","$ee9901df79ff88e8$export$c613fba0aabeee13","color","sources","layers","source","paint","ColumnKeyboardNavigation","buildKeyboardNavigationStyle"],"version":3,"file":"column-views.796fc1de.js.map","sourceRoot":"../../../../"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./column-views.a0969fc8.js";import{useKeyHandler as e}from"@macrostrat/ui-components";import{useEffect as t,useRef as n,useCallback as l,useMemo as r}from"react";import{atom as o}from"jotai";import{ageRangeQuantifiedDifference as i,AgeRangeRelationship as u}from"@macrostrat/stratigraphy-utils";function a(e,t,n,l){Object.defineProperty(e,t,{get:n,set:l,enumerable:!0,configurable:!0})}var s=globalThis,c={},f={},p=s.parcelRequirea149;null==p&&((p=function(e){if(e in c)return c[e].exports;if(e in f){var t=f[e];delete f[e];var n={id:e,exports:{}};return c[e]=n,t.call(n.exports,n,n.exports),n.exports}var l=Error("Cannot find module '"+e+"'");throw l.code="MODULE_NOT_FOUND",l}).register=function(e,t){f[e]=t},s.parcelRequirea149=p),p.register;var d={};a(d,"useUnitSelectionDispatch",()=>g),a(d,"useSelectedUnit",()=>b),a(d,"allowUnitSelectionAtom",()=>h),a(d,"selectedUnitIDAtom",()=>$),a(d,"useColumnRef",()=>_),a(d,"useAtomOverlayPosition",()=>w),a(d,"UnitSelectionCallbackManager",()=>y),a(d,"useUnitSelectionTarget",()=>A),a(d,"UnitKeyboardNavigation",()=>D);var m=p("gjmI8");function g(){return m.scope.useSetAtom(x)}function b(){return m.scope.useAtomValue(x)}let h=o(!0),$=o(),v=o(),U=o({current:null});function _(){return m.scope.useAtomValue(U)}let x=o(e=>{if(!e(h))return null;let t=e($);if(null==t)return null;let n=e(m.columnUnitsMapAtom);return n?.get(t)||null},(e,t,n,l=null)=>{let r;if(!e(h))throw Error("Unit selection is disabled.");let o=null;if(null==n?r=null:"number"==typeof n?r=n:"unit_id"in n&&(r=n.unit_id),null!=r){let t=e(m.columnUnitsMapAtom);if(!t?.has(r))throw Error(`Unit with ID ${r} not found in current column units.`);o=t.get(r)??null}let i=null,u=e(U)?.current;if(null!=o&&null!=u&&null!=l){let e=u.getBoundingClientRect(),t=l.getBoundingClientRect();i={x:t.left-e.left,y:t.top-e.top,width:t.width,height:t.height}}return t($,r),t(v,i),o});function w(){return m.scope.useAtomValue(v)}function y({onUnitSelected:e}){let n=m.scope.useAtomValue(x);return t(()=>{e?.(n?.unit_id??null,n??null)},[n?.unit_id]),null}function A(e){let r=n(),o=b(),i=g(),u=o?.unit_id==e.unit_id,a=l(t=>{i?.(e,r.current),t.stopPropagation()},[e,i]);return t(()=>{u&&null!=i&&(i(e,r.current),r.current?.scrollIntoView({behavior:"smooth",block:"center",inline:"nearest"}))},[u,i]),[r,u,a]}function D({columnData:t,units:n,allowHorizontalNavigation:l}){if(null==n&&null==t)throw Error("Either units or columnData must be provided.");let o=r(()=>{if(null!=t)return t;let e=new Map;for(let t of n)e.has(t.col_id)||e.set(t.col_id,[]),e.get(t.col_id).push(t);let l=[];for(let[t,n]of e)l.push({columnID:t,units:n});return l.sort((e,t)=>e.columnID-t.columnID),l},[t,n]),a=l??null!=t,s=b(),c=g(),f={38:"up",40:"down"};return a&&(f[37]="left",f[39]="right"),e(e=>{let t=f[e.keyCode];if(null==t)return;let n=function(e,t,n){let l,r=e.findIndex(e=>e.columnID===t.col_id);if(-1===r)return null;if("up"===n||"down"===n){let l=e[r].units,o=l.findIndex(e=>e.unit_id===t.unit_id);return -1===o?null:"up"===n?l[o-1]||null:l[o+1]||null}return l="left"===n?(r-1+e.length)%e.length:(r+1)%e.length,function(e,t){let n=[e.b_age,e.t_age],l=[];for(let e of t){let t=i(n,[e.b_age,e.t_age]);if(t.type===u.Identical)return e;l.push({...t,unit:e})}let r=l.filter(e=>e.type===u.Containing);return(r.sort((e,t)=>t.overlap-e.overlap),r.length>0||((r=l.filter(e=>e.type===u.Contained)).sort((e,t)=>t.overlap-e.overlap),r.length>0||((r=l.filter(e=>e.type===u.PartialOverlap)).sort((e,t)=>t.overlap-e.overlap),r.length>0||((r=l.filter(e=>e.type===u.Disjoint)).sort((e,t)=>e.distance-t.distance),r.length>0))))?r[0].unit:null}(t,e[l].units)}(o,s,t);null!=n&&(c(n,null),e.stopPropagation())},[o,s]),null}export{g as useUnitSelectionDispatch,b as useSelectedUnit,h as allowUnitSelectionAtom,$ as selectedUnitIDAtom,_ as useColumnRef,w as useAtomOverlayPosition,y as UnitSelectionCallbackManager,A as useUnitSelectionTarget,D as UnitKeyboardNavigation};
|
|
2
|
+
//# sourceMappingURL=column-views.7b6e7d82.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,M,6C,A,Q,iB,C,K,2B,A,Q,a,C,C,U,C,C,e,C,C,W,C,K,O,A,Q,Q,C,K,O,A,Q,gC,C,C,wB,C,K,gC,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,2B,I,G,E,E,kB,I,G,E,E,yB,I,G,E,E,qB,I,G,E,E,e,I,G,E,E,yB,I,G,E,E,+B,I,G,E,E,yB,I,G,E,E,yB,I,G,I,E,E,SCkBO,SAAS,IACd,OAAO,AAAA,EAAA,KAAI,CAAE,UAAU,CAAC,EAC1B,CAEO,SAAS,IACd,OAAO,AAAA,EAAA,KAAI,CAAE,YAAY,CAAC,EAC5B,CAmBO,IAAM,EAAyB,AAAA,EAAc,CAAA,GAEvC,EAAqB,AAAA,IAE5B,EAAsB,AAAA,IAEtB,EAAgB,AAAA,EAAsC,CAAE,QAAS,IAAK,GAErE,SAAS,IACd,OAAO,AAAA,EAAA,KAAI,CAAE,YAAY,CAAC,EAC5B,CAEA,IAAM,EAAmB,AAAA,EACvB,AAAC,IACC,GAAI,CAAC,EAAI,GAAyB,OAAO,KAEzC,IAAM,EAAS,EAAI,GACnB,GAAI,AAAU,MAAV,EAAgB,OAAO,KAC3B,IAAM,EAAW,EAAI,EAAA,kBAAiB,EACtC,OAAO,GAAU,IAAI,IAAW,IAClC,EACA,CACE,EACA,EACA,EACA,EAA6B,IAAI,QAM7B,EAJJ,GAAI,CAAC,EAAI,GACP,MAAM,AAAI,MAAM,+BAIlB,IAAI,EAAwB,KAS5B,GARI,AAAgB,MAAhB,EACF,EAAS,KACA,AAAwB,UAAxB,OAAO,EAChB,EAAS,EACA,YAAa,GACtB,CAAA,EAAS,EAAa,OAAO,AAAP,EAGpB,AAAU,MAAV,EAAgB,CAElB,IAAM,EAAW,EAAI,EAAA,kBAAiB,EACtC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","sources":["<anon>","packages/column-views/src/data-provider/unit-selection.ts"],"sourcesContent":["import \"./column-views.a0969fc8.js\";\nimport {useKeyHandler as $2lWH8$useKeyHandler} from \"@macrostrat/ui-components\";\nimport {useEffect as $2lWH8$useEffect, useRef as $2lWH8$useRef, useCallback as $2lWH8$useCallback, useMemo as $2lWH8$useMemo} from \"react\";\nimport {atom as $2lWH8$atom} from \"jotai\";\nimport {ageRangeQuantifiedDifference as $2lWH8$ageRangeQuantifiedDifference, AgeRangeRelationship as $2lWH8$AgeRangeRelationship} from \"@macrostrat/stratigraphy-utils\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $cfa36458f00f4b0e$exports = {};\n\n$parcel$export($cfa36458f00f4b0e$exports, \"useUnitSelectionDispatch\", () => $cfa36458f00f4b0e$export$77a278d5ca56e309);\n$parcel$export($cfa36458f00f4b0e$exports, \"useSelectedUnit\", () => $cfa36458f00f4b0e$export$f0dd93f90aa8e5da);\n$parcel$export($cfa36458f00f4b0e$exports, \"allowUnitSelectionAtom\", () => $cfa36458f00f4b0e$export$3c12ff51b216428d);\n$parcel$export($cfa36458f00f4b0e$exports, \"selectedUnitIDAtom\", () => $cfa36458f00f4b0e$export$6d9520abc11d1c2b);\n$parcel$export($cfa36458f00f4b0e$exports, \"useColumnRef\", () => $cfa36458f00f4b0e$export$ab00b48759e36cb4);\n$parcel$export($cfa36458f00f4b0e$exports, \"useAtomOverlayPosition\", () => $cfa36458f00f4b0e$export$36e20e8024573d5c);\n$parcel$export($cfa36458f00f4b0e$exports, \"UnitSelectionCallbackManager\", () => $cfa36458f00f4b0e$export$1a7a0d00e4ba9c81);\n$parcel$export($cfa36458f00f4b0e$exports, \"useUnitSelectionTarget\", () => $cfa36458f00f4b0e$export$cbbec12b1451fe7d);\n$parcel$export($cfa36458f00f4b0e$exports, \"UnitKeyboardNavigation\", () => $cfa36458f00f4b0e$export$70f5ee19650fc7d1);\n\n\n\n\nvar $gjmI8 = parcelRequire(\"gjmI8\");\n\nfunction $cfa36458f00f4b0e$export$77a278d5ca56e309() {\n return (0, $gjmI8.scope).useSetAtom($cfa36458f00f4b0e$var$selectedUnitAtom);\n}\nfunction $cfa36458f00f4b0e$export$f0dd93f90aa8e5da() {\n return (0, $gjmI8.scope).useAtomValue($cfa36458f00f4b0e$var$selectedUnitAtom);\n}\nconst $cfa36458f00f4b0e$export$3c12ff51b216428d = (0, $2lWH8$atom)(true);\nconst $cfa36458f00f4b0e$export$6d9520abc11d1c2b = (0, $2lWH8$atom)();\nconst $cfa36458f00f4b0e$var$overlayPositionAtom = (0, $2lWH8$atom)();\nconst $cfa36458f00f4b0e$var$columnRefAtom = (0, $2lWH8$atom)({\n current: null\n});\nfunction $cfa36458f00f4b0e$export$ab00b48759e36cb4() {\n return (0, $gjmI8.scope).useAtomValue($cfa36458f00f4b0e$var$columnRefAtom);\n}\nconst $cfa36458f00f4b0e$var$selectedUnitAtom = (0, $2lWH8$atom)((get)=>{\n if (!get($cfa36458f00f4b0e$export$3c12ff51b216428d)) return null;\n const unitID = get($cfa36458f00f4b0e$export$6d9520abc11d1c2b);\n if (unitID == null) return null;\n const unitsMap = get((0, $gjmI8.columnUnitsMapAtom));\n return unitsMap?.get(unitID) || null;\n}, (get, set, selectedUnit, target = null)=>{\n if (!get($cfa36458f00f4b0e$export$3c12ff51b216428d)) throw new Error(\"Unit selection is disabled.\");\n let unitID;\n let unit = null;\n if (selectedUnit == null) unitID = null;\n else if (typeof selectedUnit === \"number\") unitID = selectedUnit;\n else if (\"unit_id\" in selectedUnit) unitID = selectedUnit.unit_id;\n if (unitID != null) {\n // Verify that the unit exists in the current colum, else throw\n const unitsMap = get((0, $gjmI8.columnUnitsMapAtom));\n if (!unitsMap?.has(unitID)) throw new Error(`Unit with ID ${unitID} not found in current column units.`);\n unit = unitsMap.get(unitID) ?? null;\n }\n let overlayPosition = null;\n const columnEl = get($cfa36458f00f4b0e$var$columnRefAtom)?.current;\n if (unit != null && columnEl != null && target != null) {\n const rect = columnEl.getBoundingClientRect();\n const targetRect = target.getBoundingClientRect();\n overlayPosition = {\n x: targetRect.left - rect.left,\n y: targetRect.top - rect.top,\n width: targetRect.width,\n height: targetRect.height\n };\n }\n set($cfa36458f00f4b0e$export$6d9520abc11d1c2b, unitID);\n set($cfa36458f00f4b0e$var$overlayPositionAtom, overlayPosition);\n return unit;\n});\nfunction $cfa36458f00f4b0e$export$36e20e8024573d5c() {\n return (0, $gjmI8.scope).useAtomValue($cfa36458f00f4b0e$var$overlayPositionAtom);\n}\nfunction $cfa36458f00f4b0e$export$1a7a0d00e4ba9c81({ onUnitSelected: onUnitSelected }) {\n const selectedUnit = (0, $gjmI8.scope).useAtomValue($cfa36458f00f4b0e$var$selectedUnitAtom);\n (0, $2lWH8$useEffect)(()=>{\n onUnitSelected?.(selectedUnit?.unit_id ?? null, selectedUnit ?? null);\n }, [\n selectedUnit?.unit_id\n ]);\n return null;\n}\nfunction $cfa36458f00f4b0e$export$cbbec12b1451fe7d(unit) {\n const ref = (0, $2lWH8$useRef)();\n const selectedUnit = $cfa36458f00f4b0e$export$f0dd93f90aa8e5da();\n const selectUnit = $cfa36458f00f4b0e$export$77a278d5ca56e309();\n const selected = selectedUnit?.unit_id == unit.unit_id;\n const onClick = (0, $2lWH8$useCallback)((evt)=>{\n selectUnit?.(unit, ref.current);\n evt.stopPropagation();\n }, [\n unit,\n selectUnit\n ]);\n (0, $2lWH8$useEffect)(()=>{\n if (!selected || selectUnit == null) return;\n // In case we haven't set the position of the unit (if we don't have a target), set the selected unit\n selectUnit(unit, ref.current);\n // Scroll the unit into view\n ref.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n inline: \"nearest\"\n });\n }, [\n selected,\n selectUnit\n ]);\n return [\n ref,\n selected,\n onClick\n ];\n}\nfunction $cfa36458f00f4b0e$export$70f5ee19650fc7d1({ columnData: columnData, units: units, allowHorizontalNavigation: allowHorizontalNavigation }) {\n if (units == null && columnData == null) throw new Error(\"Either units or columnData must be provided.\");\n let _columnData = (0, $2lWH8$useMemo)(()=>{\n if (columnData != null) return columnData;\n // Build column data from units\n const colMap = new Map();\n for (const unit of units){\n if (!colMap.has(unit.col_id)) colMap.set(unit.col_id, []);\n colMap.get(unit.col_id).push(unit);\n }\n const cols = [];\n for (const [colID, units] of colMap)cols.push({\n columnID: colID,\n units: units\n });\n // Sort columns by columnID\n cols.sort((a, b)=>a.columnID - b.columnID);\n return cols;\n }, [\n columnData,\n units\n ]);\n // Default to allowing horizontal navigation only if columnData is provided\n const _allowHorizontalNavigation = allowHorizontalNavigation ?? columnData != null;\n const selectedUnit = $cfa36458f00f4b0e$export$f0dd93f90aa8e5da();\n const selectUnit = $cfa36458f00f4b0e$export$77a278d5ca56e309();\n const keyMap = {\n 38: \"up\",\n 40: \"down\"\n };\n if (_allowHorizontalNavigation) {\n keyMap[37] = \"left\";\n keyMap[39] = \"right\";\n }\n (0, $2lWH8$useKeyHandler)((event)=>{\n const direction = keyMap[event.keyCode];\n if (direction == null) return;\n const nextUnit = $cfa36458f00f4b0e$var$getBestUnit(_columnData, selectedUnit, direction);\n if (nextUnit == null) return;\n selectUnit(nextUnit, null);\n event.stopPropagation();\n }, [\n _columnData,\n selectedUnit\n ]);\n return null;\n}\nfunction $cfa36458f00f4b0e$var$getBestUnit(columnData, targetUnit, direction) {\n const thisColIndex = columnData.findIndex((col)=>col.columnID === targetUnit.col_id);\n if (thisColIndex === -1) return null;\n // If up or down, stay in the same column\n if (direction === \"up\" || direction === \"down\") {\n const units = columnData[thisColIndex].units;\n const ix = units.findIndex((unit)=>unit.unit_id === targetUnit.unit_id);\n if (ix === -1) return null;\n if (direction === \"up\") return units[ix - 1] || null;\n else return units[ix + 1] || null;\n }\n // If left or right, move to adjacent column\n let adjacentColIndex;\n if (direction === \"left\") adjacentColIndex = (thisColIndex - 1 + columnData.length) % columnData.length;\n else adjacentColIndex = (thisColIndex + 1) % columnData.length;\n const adjacentColUnits = columnData[adjacentColIndex].units;\n return $cfa36458f00f4b0e$var$getMostOverlappingUnit(targetUnit, adjacentColUnits);\n}\nfunction $cfa36458f00f4b0e$var$getMostOverlappingUnit(targetUnit, candidateUnits) {\n const targetAgeRange = [\n targetUnit.b_age,\n targetUnit.t_age\n ];\n const overlaps = [];\n for (const candidate of candidateUnits){\n const candidateAgeRange = [\n candidate.b_age,\n candidate.t_age\n ];\n const rel = (0, $2lWH8$ageRangeQuantifiedDifference)(targetAgeRange, candidateAgeRange);\n if (rel.type === (0, $2lWH8$AgeRangeRelationship).Identical) return candidate;\n overlaps.push({\n ...rel,\n unit: candidate\n });\n }\n let bestOverlaps = overlaps.filter((d)=>d.type === (0, $2lWH8$AgeRangeRelationship).Containing);\n bestOverlaps.sort((a, b)=>b.overlap - a.overlap);\n if (bestOverlaps.length > 0) return bestOverlaps[0].unit;\n bestOverlaps = overlaps.filter((d)=>d.type === (0, $2lWH8$AgeRangeRelationship).Contained);\n bestOverlaps.sort((a, b)=>b.overlap - a.overlap);\n if (bestOverlaps.length > 0) return bestOverlaps[0].unit;\n bestOverlaps = overlaps.filter((d)=>d.type === (0, $2lWH8$AgeRangeRelationship).PartialOverlap);\n bestOverlaps.sort((a, b)=>b.overlap - a.overlap);\n if (bestOverlaps.length > 0) return bestOverlaps[0].unit;\n bestOverlaps = overlaps.filter((d)=>d.type === (0, $2lWH8$AgeRangeRelationship).Disjoint);\n bestOverlaps.sort((a, b)=>a.distance - b.distance);\n if (bestOverlaps.length > 0) return bestOverlaps[0].unit;\n return null;\n}\n\n\nexport {$cfa36458f00f4b0e$export$77a278d5ca56e309 as useUnitSelectionDispatch, $cfa36458f00f4b0e$export$f0dd93f90aa8e5da as useSelectedUnit, $cfa36458f00f4b0e$export$3c12ff51b216428d as allowUnitSelectionAtom, $cfa36458f00f4b0e$export$6d9520abc11d1c2b as selectedUnitIDAtom, $cfa36458f00f4b0e$export$ab00b48759e36cb4 as useColumnRef, $cfa36458f00f4b0e$export$36e20e8024573d5c as useAtomOverlayPosition, $cfa36458f00f4b0e$export$1a7a0d00e4ba9c81 as UnitSelectionCallbackManager, $cfa36458f00f4b0e$export$cbbec12b1451fe7d as useUnitSelectionTarget, $cfa36458f00f4b0e$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};\n//# sourceMappingURL=column-views.7b6e7d82.js.map\n","import { BaseUnit, UnitLong } from \"@macrostrat/api-types\";\nimport { useKeyHandler } from \"@macrostrat/ui-components\";\nimport { useEffect, useRef, useCallback, useMemo } from \"react\";\nimport type { RectBounds, IUnit } from \"../units/types\";\nimport { atom } from \"jotai\";\nimport { columnUnitsMapAtom, scope } from \"./core\";\nimport { ColumnData } from \"@macrostrat/column-views\";\nimport {\n AgeRangeQuantifiedDifference,\n ageRangeQuantifiedDifference,\n AgeRangeRelationship,\n} from \"@macrostrat/stratigraphy-utils\";\n\ntype UnitSelectDispatch = (\n unit: number | BaseUnit | null,\n target: HTMLElement | null,\n) => void;\n\nexport function useUnitSelectionDispatch(): UnitSelectDispatch {\n return scope.useSetAtom(selectedUnitAtom);\n}\n\nexport function useSelectedUnit() {\n return scope.useAtomValue(selectedUnitAtom);\n}\n\nexport interface ColumnClickData {\n unitID: number | null;\n unit: BaseUnit | null;\n target: HTMLElement | null;\n height: number;\n // Room for boundary IDs eventually\n}\n\nexport interface UnitSelectionCallbacks {\n // It's sort of unfortunate that we need to pass in the column ref here\n onClickedColumn?: (columnClickData: ColumnClickData, event: Event) => void;\n onUnitSelected?: <T extends BaseUnit>(\n unitID: number | null,\n unit: T | null,\n ) => void;\n}\n\nexport const allowUnitSelectionAtom = atom<boolean>(true);\n\nexport const selectedUnitIDAtom = atom<number | null>();\n\nconst overlayPositionAtom = atom<RectBounds | null>();\n\nconst columnRefAtom = atom<{ current: HTMLElement | null }>({ current: null });\n\nexport function useColumnRef() {\n return scope.useAtomValue(columnRefAtom);\n}\n\nconst selectedUnitAtom = atom(\n (get) => {\n if (!get(allowUnitSelectionAtom)) return null;\n\n const unitID = get(selectedUnitIDAtom);\n if (unitID == null) return null;\n const unitsMap = get(columnUnitsMapAtom);\n return unitsMap?.get(unitID) || null;\n },\n (\n get,\n set,\n selectedUnit: number | BaseUnit | null,\n target: HTMLElement | null = null,\n ): BaseUnit | null => {\n if (!get(allowUnitSelectionAtom)) {\n throw new Error(\"Unit selection is disabled.\");\n }\n\n let unitID: number | null;\n let unit: BaseUnit | null = null;\n if (selectedUnit == null) {\n unitID = null;\n } else if (typeof selectedUnit === \"number\") {\n unitID = selectedUnit;\n } else if (\"unit_id\" in selectedUnit) {\n unitID = selectedUnit.unit_id;\n }\n\n if (unitID != null) {\n // Verify that the unit exists in the current colum, else throw\n const unitsMap = get(columnUnitsMapAtom);\n if (!unitsMap?.has(unitID)) {\n throw new Error(\n `Unit with ID ${unitID} not found in current column units.`,\n );\n }\n unit = unitsMap.get(unitID) ?? null;\n }\n\n let overlayPosition: RectBounds | null = null;\n\n const columnEl = get(columnRefAtom)?.current;\n\n if (unit != null && columnEl != null && target != null) {\n const rect = columnEl.getBoundingClientRect();\n const targetRect = target.getBoundingClientRect();\n overlayPosition = {\n x: targetRect.left - rect.left,\n y: targetRect.top - rect.top,\n width: targetRect.width,\n height: targetRect.height,\n };\n }\n\n set(selectedUnitIDAtom, unitID);\n set(overlayPositionAtom, overlayPosition);\n\n return unit;\n },\n);\n\nexport function useAtomOverlayPosition() {\n return scope.useAtomValue(overlayPositionAtom);\n}\n\nexport function UnitSelectionCallbackManager({\n onUnitSelected,\n}: UnitSelectionCallbacks) {\n const selectedUnit = scope.useAtomValue(selectedUnitAtom);\n useEffect(() => {\n onUnitSelected?.(selectedUnit?.unit_id ?? null, selectedUnit ?? null);\n }, [selectedUnit?.unit_id]);\n return null;\n}\n\n/** TODO: figure out if onClickedColumn is still needed\n /** This is not the natural place to get positions within the column,\n * but it will work for now.\nif (props.onClickedColumn) {\n // Infer height from top and bottom height of unit (because that's passed back with the call)\n //const py = event.y;\n //const [bottom, top] = getUnitHeightRange(unit, axisType);\n //const height = Math.abs(bottom - top);\n\n const columnClickData: ColumnClickData = {\n unitID: unit?.unit_id,\n unit,\n target,\n height: el?.getBoundingClientRect().height || 0,\n };\n props.onClickedColumn(columnClickData, event);\n}*/\n\nexport function useUnitSelectionTarget(\n unit: IUnit,\n): [React.RefObject<HTMLElement>, boolean, (evt: Event) => void] {\n const ref = useRef<HTMLElement>();\n const selectedUnit = useSelectedUnit();\n const selectUnit = useUnitSelectionDispatch();\n const selected = selectedUnit?.unit_id == unit.unit_id;\n\n const onClick = useCallback(\n (evt: Event) => {\n selectUnit?.(unit, ref.current);\n evt.stopPropagation();\n },\n [unit, selectUnit],\n );\n\n useEffect(() => {\n if (!selected || selectUnit == null) return;\n // In case we haven't set the position of the unit (if we don't have a target), set the selected unit\n selectUnit(unit, ref.current);\n\n // Scroll the unit into view\n ref.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n inline: \"nearest\",\n });\n }, [selected, selectUnit]);\n\n return [ref, selected, onClick];\n}\n\nexport function UnitKeyboardNavigation({\n columnData,\n units,\n allowHorizontalNavigation,\n}: {\n columnData?: ColumnData[];\n units?: UnitLong[];\n allowHorizontalNavigation?: boolean;\n}) {\n if (units == null && columnData == null) {\n throw new Error(\"Either units or columnData must be provided.\");\n }\n\n let _columnData: ColumnData[] = useMemo(() => {\n if (columnData != null) return columnData;\n // Build column data from units\n const colMap = new Map<number, UnitLong[]>();\n for (const unit of units!) {\n if (!colMap.has(unit.col_id)) {\n colMap.set(unit.col_id, []);\n }\n colMap.get(unit.col_id)!.push(unit);\n }\n const cols: ColumnData[] = [];\n for (const [colID, units] of colMap) {\n cols.push({ columnID: colID, units });\n }\n // Sort columns by columnID\n cols.sort((a, b) => a.columnID - b.columnID);\n return cols;\n }, [columnData, units]);\n\n // Default to allowing horizontal navigation only if columnData is provided\n const _allowHorizontalNavigation =\n allowHorizontalNavigation ?? columnData != null;\n\n const selectedUnit = useSelectedUnit() as UnitLong | null;\n const selectUnit = useUnitSelectionDispatch();\n\n const keyMap: Record<number, Direction> = {\n 38: \"up\",\n 40: \"down\",\n };\n if (_allowHorizontalNavigation) {\n keyMap[37] = \"left\";\n keyMap[39] = \"right\";\n }\n\n useKeyHandler(\n (event) => {\n const direction = keyMap[event.keyCode];\n if (direction == null) return;\n const nextUnit = getBestUnit(_columnData, selectedUnit, direction);\n if (nextUnit == null) return;\n selectUnit(nextUnit, null);\n event.stopPropagation();\n },\n [_columnData, selectedUnit],\n );\n return null;\n}\n\ntype Direction = \"up\" | \"down\" | \"left\" | \"right\";\n\nfunction getBestUnit(\n columnData: ColumnData[],\n targetUnit: UnitLong,\n direction: Direction,\n): UnitLong | null {\n const thisColIndex = columnData.findIndex(\n (col) => col.columnID === targetUnit.col_id,\n );\n if (thisColIndex === -1) return null;\n\n // If up or down, stay in the same column\n if (direction === \"up\" || direction === \"down\") {\n const units = columnData[thisColIndex].units;\n const ix = units.findIndex((unit) => unit.unit_id === targetUnit.unit_id);\n if (ix === -1) return null;\n if (direction === \"up\") {\n return units[ix - 1] || null;\n } else {\n return units[ix + 1] || null;\n }\n }\n\n // If left or right, move to adjacent column\n let adjacentColIndex: number;\n if (direction === \"left\") {\n adjacentColIndex =\n (thisColIndex - 1 + columnData.length) % columnData.length;\n } else {\n adjacentColIndex = (thisColIndex + 1) % columnData.length;\n }\n\n const adjacentColUnits = columnData[adjacentColIndex].units;\n return getMostOverlappingUnit(targetUnit, adjacentColUnits);\n}\n\ntype UnitAgeRangeRelationship = AgeRangeQuantifiedDifference & {\n unit: UnitLong;\n};\n\nfunction getMostOverlappingUnit(\n targetUnit: UnitLong,\n candidateUnits: UnitLong[],\n): UnitLong | null {\n const targetAgeRange = [targetUnit.b_age, targetUnit.t_age];\n\n const overlaps: UnitAgeRangeRelationship[] = [];\n for (const candidate of candidateUnits) {\n const candidateAgeRange = [candidate.b_age, candidate.t_age];\n\n const rel = ageRangeQuantifiedDifference(targetAgeRange, candidateAgeRange);\n if (rel.type === AgeRangeRelationship.Identical) {\n return candidate;\n }\n overlaps.push({ ...rel, unit: candidate });\n }\n\n let bestOverlaps = overlaps.filter(\n (d) => d.type === AgeRangeRelationship.Containing,\n );\n bestOverlaps.sort((a, b) => b.overlap - a.overlap);\n if (bestOverlaps.length > 0) {\n return bestOverlaps[0].unit;\n }\n\n bestOverlaps = overlaps.filter(\n (d) => d.type === AgeRangeRelationship.Contained,\n );\n bestOverlaps.sort((a, b) => b.overlap - a.overlap);\n if (bestOverlaps.length > 0) {\n return bestOverlaps[0].unit;\n }\n\n bestOverlaps = overlaps.filter(\n (d) => d.type === AgeRangeRelationship.PartialOverlap,\n );\n bestOverlaps.sort((a, b) => b.overlap - a.overlap);\n if (bestOverlaps.length > 0) {\n return bestOverlaps[0].unit;\n }\n\n bestOverlaps = overlaps.filter(\n (d) => d.type === AgeRangeRelationship.Disjoint,\n );\n bestOverlaps.sort((a, b) => a.distance - b.distance);\n if (bestOverlaps.length > 0) {\n return bestOverlaps[0].unit;\n }\n return null;\n}\n"],"names":["useKeyHandler","$2lWH8$useKeyHandler","useEffect","$2lWH8$useEffect","useRef","$2lWH8$useRef","useCallback","$2lWH8$useCallback","useMemo","$2lWH8$useMemo","atom","$2lWH8$atom","ageRangeQuantifiedDifference","$2lWH8$ageRangeQuantifiedDifference","AgeRangeRelationship","$2lWH8$AgeRangeRelationship","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$cfa36458f00f4b0e$exports","$cfa36458f00f4b0e$export$77a278d5ca56e309","$cfa36458f00f4b0e$export$f0dd93f90aa8e5da","$cfa36458f00f4b0e$export$3c12ff51b216428d","$cfa36458f00f4b0e$export$6d9520abc11d1c2b","$cfa36458f00f4b0e$export$ab00b48759e36cb4","$cfa36458f00f4b0e$export$36e20e8024573d5c","$cfa36458f00f4b0e$export$1a7a0d00e4ba9c81","$cfa36458f00f4b0e$export$cbbec12b1451fe7d","$cfa36458f00f4b0e$export$70f5ee19650fc7d1","$gjmI8","scope","useSetAtom","$cfa36458f00f4b0e$var$selectedUnitAtom","useAtomValue","$cfa36458f00f4b0e$var$overlayPositionAtom","$cfa36458f00f4b0e$var$columnRefAtom","current","unitID","unitsMap","columnUnitsMapAtom","selectedUnit","target","unit","unit_id","has","overlayPosition","columnEl","rect","getBoundingClientRect","targetRect","x","left","y","top","width","height","onUnitSelected","ref","selectUnit","selected","onClick","evt","stopPropagation","scrollIntoView","behavior","block","inline","columnData","units","allowHorizontalNavigation","_columnData","colMap","Map","col_id","push","cols","colID","columnID","sort","a","b","_allowHorizontalNavigation","keyMap","event","direction","keyCode","nextUnit","$cfa36458f00f4b0e$var$getBestUnit","targetUnit","adjacentColIndex","thisColIndex","findIndex","col","ix","length","$cfa36458f00f4b0e$var$getMostOverlappingUnit","candidateUnits","targetAgeRange","b_age","t_age","overlaps","candidate","rel","type","Identical","bestOverlaps","filter","d","Containing","overlap","Contained","PartialOverlap","Disjoint","distance","useUnitSelectionDispatch","useSelectedUnit","allowUnitSelectionAtom","selectedUnitIDAtom","useColumnRef","useAtomOverlayPosition","UnitSelectionCallbackManager","useUnitSelectionTarget","UnitKeyboardNavigation"],"version":3,"file":"column-views.7b6e7d82.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.784bac2a.js";import"./column-views.82cf7c0d.js";function e(e,a){return Object.keys(a).forEach(function(r){"default"===r||"__esModule"===r||Object.prototype.hasOwnProperty.call(e,r)||Object.defineProperty(e,r,{enumerable:!0,get:function(){return a[r]}})}),e}var a=globalThis,r={},t={},o=a.parcelRequirea149;null==o&&((o=function(e){if(e in r)return r[e].exports;if(e in t){var a=t[e];delete t[e];var o={id:e,exports:{}};return r[e]=o,a.call(o.exports,o,o.exports),o.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,a){t[e]=a},a.parcelRequirea149=o),o.register;var n={},c=o("1Bh0v"),s=o("62IHc");e(n,c),e(n,s);export{$5ccf8f2b270f7458$export$c69bd0285aa5d775 as IsotopesDataset,$5ccf8f2b270f7458$export$5d8aa8022c284748 as IsotopesColumn,$5cb80f5b33baeaea$export$c644ef985ce7a4c4 as MeasurementDataContext,$5cb80f5b33baeaea$export$5f01d5b342a89841 as MeasurementDataProvider,$5cb80f5b33baeaea$export$8a0335fd9ff72150 as useMeasurementData};
|
|
2
|
+
//# sourceMappingURL=column-views.7e895e1a.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,G,E,E,U,6C,e,C,6C,c,C,6C,sB,C,6C,uB,C,6C,kB","sources":["<anon>","packages/column-views/src/facets/carbon-isotopes/index.ts"],"sourcesContent":["import \"./column-views.
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,G,E,E,U,6C,e,C,6C,c,C,6C,sB,C,6C,uB,C,6C,kB","sources":["<anon>","packages/column-views/src/facets/carbon-isotopes/index.ts"],"sourcesContent":["import \"./column-views.784bac2a.js\";\nimport \"./column-views.82cf7c0d.js\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $053beb74f3beb890$exports = {};\n\nvar $1Bh0v = parcelRequire(\"1Bh0v\");\n\nvar $62IHc = parcelRequire(\"62IHc\");\n$parcel$exportWildcard($053beb74f3beb890$exports, $1Bh0v);\n$parcel$exportWildcard($053beb74f3beb890$exports, $62IHc);\n\n\nexport {$5ccf8f2b270f7458$export$c69bd0285aa5d775 as IsotopesDataset, $5ccf8f2b270f7458$export$5d8aa8022c284748 as IsotopesColumn, $5cb80f5b33baeaea$export$c644ef985ce7a4c4 as MeasurementDataContext, $5cb80f5b33baeaea$export$5f01d5b342a89841 as MeasurementDataProvider, $5cb80f5b33baeaea$export$8a0335fd9ff72150 as useMeasurementData};\n//# sourceMappingURL=column-views.7e895e1a.js.map\n","export * from \"./isotopes-column\";\nexport * from \"./data-provider\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$053beb74f3beb890$exports","$1Bh0v","$62IHc","$5ccf8f2b270f7458$export$c69bd0285aa5d775","IsotopesDataset","$5ccf8f2b270f7458$export$5d8aa8022c284748","IsotopesColumn","$5cb80f5b33baeaea$export$c644ef985ce7a4c4","MeasurementDataContext","$5cb80f5b33baeaea$export$5f01d5b342a89841","MeasurementDataProvider","$5cb80f5b33baeaea$export$8a0335fd9ff72150","useMeasurementData"],"version":3,"file":"column-views.7e895e1a.js.map","sourceRoot":"../../../../"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./column-views.db3377d8.js";import"./column-views.080781ca.js";import"./column-views.95411f1b.js";import"./column-views.5c02450b.js";import"./column-views.7b6e7d82.js";function e(e,a){return Object.keys(a).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return a[t]}})}),e}var a=globalThis,t={},r={},o=a.parcelRequirea149;null==o&&((o=function(e){if(e in t)return t[e].exports;if(e in r){var a=r[e];delete r[e];var o={id:e,exports:{}};return t[e]=o,a.call(o.exports,o,o.exports),o.exports}var c=Error("Cannot find module '"+e+"'");throw c.code="MODULE_NOT_FOUND",c}).register=function(e,a){r[e]=a},a.parcelRequirea149=o),o.register;var c={},$=o("Piirt"),s=o("lgTAP"),b=o("6W0kE"),f=o("wtIgl"),d=o("5SO8b");e(c,$),e(c,s),e(c,b),e(c,f),e(c,d);export{$482a09479937d1e2$export$45bd78cd093090fa as fetchAllColumns,$482a09479937d1e2$export$e3270a4e30e40ff9 as useColumnFeatures,$482a09479937d1e2$export$1aa679bd5e605f82 as fetchLithologies,$482a09479937d1e2$export$5d2ec2e733dfe6c7 as fetchIntervals,$482a09479937d1e2$export$780b4b253712916c as fetchEnvironments,$482a09479937d1e2$export$cd7bfa0860f58b96 as fetchRefs,$482a09479937d1e2$export$8ea8f45a7ffe4183 as fetchStratNames,$482a09479937d1e2$export$b97b9bdd6a521298 as fetchUnits,$482a09479937d1e2$export$d3d8b0fabcc76c5d as fetchColumnUnits,$8750144f23b92eb9$export$fb98d5bae3a6800 as useMacrostratStore,$8750144f23b92eb9$export$33b1392d23dde04 as useMacrostratBaseURL,$8750144f23b92eb9$export$3403c79cb24c043c as useMacrostratFetch,$8750144f23b92eb9$export$89dd4e5ae4a82373 as useMacrostratDefs,$8750144f23b92eb9$export$81eaae0b474404fd as useMacrostratColumns,$8750144f23b92eb9$export$39176e4592b7b9ab as useMacrostratColumnInfo,$8750144f23b92eb9$export$b9c9fc603d74a555 as useMacrostratData,$8750144f23b92eb9$export$690613f93cdc5576 as MacrostratDataProvider,$8750144f23b92eb9$export$3098013bc6cc316d as MacrostratAPIProvider,$8750144f23b92eb9$export$9e42f9b6e0d67c7d as MacrostratColumnProvider,$8750144f23b92eb9$export$8492a5cae82b6a70 as LithologiesProvider,$8750144f23b92eb9$export$4d18a90c945d129f as useLithologies,$8750144f23b92eb9$export$c6b216bf4c71b61f as useEnvironments,$d8324406f284950a$export$91cb5ac808759b34 as useColumnNav,$d8324406f284950a$export$36fed9e0f93a8fde as ColumnNavProvider,$91525b65c57a1e5d$export$ef5395089200109b as MacrostratColumnStateProvider,$91525b65c57a1e5d$export$7fec7bd80ff9c10e as MacrostratColumnDataProvider,$91525b65c57a1e5d$export$f19d75b1d4b676a4 as UnitSelectionProvider,$91525b65c57a1e5d$export$f8509b7cce386c7d as useMacrostratColumnData,$91525b65c57a1e5d$export$6fb40844db555b2 as useMacrostratUnits,$91525b65c57a1e5d$export$7513be0cfd10d9cc as useColumnUnitsMap,$91525b65c57a1e5d$export$a7fc62995ec4f76 as useCompositeScale,$cfa36458f00f4b0e$export$77a278d5ca56e309 as useUnitSelectionDispatch,$cfa36458f00f4b0e$export$f0dd93f90aa8e5da as useSelectedUnit,$cfa36458f00f4b0e$export$3c12ff51b216428d as allowUnitSelectionAtom,$cfa36458f00f4b0e$export$6d9520abc11d1c2b as selectedUnitIDAtom,$cfa36458f00f4b0e$export$ab00b48759e36cb4 as useColumnRef,$cfa36458f00f4b0e$export$36e20e8024573d5c as useAtomOverlayPosition,$cfa36458f00f4b0e$export$1a7a0d00e4ba9c81 as UnitSelectionCallbackManager,$cfa36458f00f4b0e$export$cbbec12b1451fe7d as useUnitSelectionTarget,$cfa36458f00f4b0e$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};
|
|
2
|
+
//# sourceMappingURL=column-views.87d31e0a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,G,E,E,G,E,E,G,E,E,G,E,E,U,6C,e,C,6C,iB,C,6C,gB,C,6C,c,C,6C,iB,C,6C,S,C,6C,e,C,6C,U,C,6C,gB,C,4C,kB,C,4C,oB,C,6C,kB,C,6C,iB,C,6C,oB,C,6C,uB,C,6C,iB,C,6C,sB,C,6C,qB,C,6C,wB,C,6C,mB,C,6C,c,C,6C,e,C,6C,Y,C,6C,iB,C,6C,6B,C,6C,4B,C,6C,qB,C,6C,uB,C,4C,kB,C,6C,iB,C,4C,iB,C,6C,wB,C,6C,e,C,6C,sB,C,6C,kB,C,6C,Y,C,6C,sB,C,6C,4B,C,6C,sB,C,6C,sB","sources":["<anon>","packages/column-views/src/data-provider/index.ts"],"sourcesContent":["import \"./column-views.db3377d8.js\";\nimport \"./column-views.080781ca.js\";\nimport \"./column-views.95411f1b.js\";\nimport \"./column-views.5c02450b.js\";\nimport \"./column-views.7b6e7d82.js\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $6f2fe440dde82d53$exports = {};\n\nvar $Piirt = parcelRequire(\"Piirt\");\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\n\nvar $6W0kE = parcelRequire(\"6W0kE\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $5SO8b = parcelRequire(\"5SO8b\");\n$parcel$exportWildcard($6f2fe440dde82d53$exports, $Piirt);\n$parcel$exportWildcard($6f2fe440dde82d53$exports, $lgTAP);\n$parcel$exportWildcard($6f2fe440dde82d53$exports, $6W0kE);\n$parcel$exportWildcard($6f2fe440dde82d53$exports, $wtIgl);\n$parcel$exportWildcard($6f2fe440dde82d53$exports, $5SO8b);\n\n\nexport {$482a09479937d1e2$export$45bd78cd093090fa as fetchAllColumns, $482a09479937d1e2$export$e3270a4e30e40ff9 as useColumnFeatures, $482a09479937d1e2$export$1aa679bd5e605f82 as fetchLithologies, $482a09479937d1e2$export$5d2ec2e733dfe6c7 as fetchIntervals, $482a09479937d1e2$export$780b4b253712916c as fetchEnvironments, $482a09479937d1e2$export$cd7bfa0860f58b96 as fetchRefs, $482a09479937d1e2$export$8ea8f45a7ffe4183 as fetchStratNames, $482a09479937d1e2$export$b97b9bdd6a521298 as fetchUnits, $482a09479937d1e2$export$d3d8b0fabcc76c5d as fetchColumnUnits, $8750144f23b92eb9$export$fb98d5bae3a6800 as useMacrostratStore, $8750144f23b92eb9$export$33b1392d23dde04 as useMacrostratBaseURL, $8750144f23b92eb9$export$3403c79cb24c043c as useMacrostratFetch, $8750144f23b92eb9$export$89dd4e5ae4a82373 as useMacrostratDefs, $8750144f23b92eb9$export$81eaae0b474404fd as useMacrostratColumns, $8750144f23b92eb9$export$39176e4592b7b9ab as useMacrostratColumnInfo, $8750144f23b92eb9$export$b9c9fc603d74a555 as useMacrostratData, $8750144f23b92eb9$export$690613f93cdc5576 as MacrostratDataProvider, $8750144f23b92eb9$export$3098013bc6cc316d as MacrostratAPIProvider, $8750144f23b92eb9$export$9e42f9b6e0d67c7d as MacrostratColumnProvider, $8750144f23b92eb9$export$8492a5cae82b6a70 as LithologiesProvider, $8750144f23b92eb9$export$4d18a90c945d129f as useLithologies, $8750144f23b92eb9$export$c6b216bf4c71b61f as useEnvironments, $d8324406f284950a$export$91cb5ac808759b34 as useColumnNav, $d8324406f284950a$export$36fed9e0f93a8fde as ColumnNavProvider, $91525b65c57a1e5d$export$ef5395089200109b as MacrostratColumnStateProvider, $91525b65c57a1e5d$export$7fec7bd80ff9c10e as MacrostratColumnDataProvider, $91525b65c57a1e5d$export$f19d75b1d4b676a4 as UnitSelectionProvider, $91525b65c57a1e5d$export$f8509b7cce386c7d as useMacrostratColumnData, $91525b65c57a1e5d$export$6fb40844db555b2 as useMacrostratUnits, $91525b65c57a1e5d$export$7513be0cfd10d9cc as useColumnUnitsMap, $91525b65c57a1e5d$export$a7fc62995ec4f76 as useCompositeScale, $cfa36458f00f4b0e$export$77a278d5ca56e309 as useUnitSelectionDispatch, $cfa36458f00f4b0e$export$f0dd93f90aa8e5da as useSelectedUnit, $cfa36458f00f4b0e$export$3c12ff51b216428d as allowUnitSelectionAtom, $cfa36458f00f4b0e$export$6d9520abc11d1c2b as selectedUnitIDAtom, $cfa36458f00f4b0e$export$ab00b48759e36cb4 as useColumnRef, $cfa36458f00f4b0e$export$36e20e8024573d5c as useAtomOverlayPosition, $cfa36458f00f4b0e$export$1a7a0d00e4ba9c81 as UnitSelectionCallbackManager, $cfa36458f00f4b0e$export$cbbec12b1451fe7d as useUnitSelectionTarget, $cfa36458f00f4b0e$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};\n//# sourceMappingURL=column-views.87d31e0a.js.map\n","export * from \"./fetch\";\nexport * from \"./base\";\nexport * from \"./column-nav\";\nexport * from \"./store\";\nexport * from \"./unit-selection\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$6f2fe440dde82d53$exports","$Piirt","$lgTAP","$6W0kE","$wtIgl","$5SO8b","$482a09479937d1e2$export$45bd78cd093090fa","fetchAllColumns","$482a09479937d1e2$export$e3270a4e30e40ff9","useColumnFeatures","$482a09479937d1e2$export$1aa679bd5e605f82","fetchLithologies","$482a09479937d1e2$export$5d2ec2e733dfe6c7","fetchIntervals","$482a09479937d1e2$export$780b4b253712916c","fetchEnvironments","$482a09479937d1e2$export$cd7bfa0860f58b96","fetchRefs","$482a09479937d1e2$export$8ea8f45a7ffe4183","fetchStratNames","$482a09479937d1e2$export$b97b9bdd6a521298","fetchUnits","$482a09479937d1e2$export$d3d8b0fabcc76c5d","fetchColumnUnits","$8750144f23b92eb9$export$fb98d5bae3a6800","useMacrostratStore","$8750144f23b92eb9$export$33b1392d23dde04","useMacrostratBaseURL","$8750144f23b92eb9$export$3403c79cb24c043c","useMacrostratFetch","$8750144f23b92eb9$export$89dd4e5ae4a82373","useMacrostratDefs","$8750144f23b92eb9$export$81eaae0b474404fd","useMacrostratColumns","$8750144f23b92eb9$export$39176e4592b7b9ab","useMacrostratColumnInfo","$8750144f23b92eb9$export$b9c9fc603d74a555","useMacrostratData","$8750144f23b92eb9$export$690613f93cdc5576","MacrostratDataProvider","$8750144f23b92eb9$export$3098013bc6cc316d","MacrostratAPIProvider","$8750144f23b92eb9$export$9e42f9b6e0d67c7d","MacrostratColumnProvider","$8750144f23b92eb9$export$8492a5cae82b6a70","LithologiesProvider","$8750144f23b92eb9$export$4d18a90c945d129f","useLithologies","$8750144f23b92eb9$export$c6b216bf4c71b61f","useEnvironments","$d8324406f284950a$export$91cb5ac808759b34","useColumnNav","$d8324406f284950a$export$36fed9e0f93a8fde","ColumnNavProvider","$91525b65c57a1e5d$export$ef5395089200109b","MacrostratColumnStateProvider","$91525b65c57a1e5d$export$7fec7bd80ff9c10e","MacrostratColumnDataProvider","$91525b65c57a1e5d$export$f19d75b1d4b676a4","UnitSelectionProvider","$91525b65c57a1e5d$export$f8509b7cce386c7d","useMacrostratColumnData","$91525b65c57a1e5d$export$6fb40844db555b2","useMacrostratUnits","$91525b65c57a1e5d$export$7513be0cfd10d9cc","useColumnUnitsMap","$91525b65c57a1e5d$export$a7fc62995ec4f76","useCompositeScale","$cfa36458f00f4b0e$export$77a278d5ca56e309","useUnitSelectionDispatch","$cfa36458f00f4b0e$export$f0dd93f90aa8e5da","useSelectedUnit","$cfa36458f00f4b0e$export$3c12ff51b216428d","allowUnitSelectionAtom","$cfa36458f00f4b0e$export$6d9520abc11d1c2b","selectedUnitIDAtom","$cfa36458f00f4b0e$export$ab00b48759e36cb4","useColumnRef","$cfa36458f00f4b0e$export$36e20e8024573d5c","useAtomOverlayPosition","$cfa36458f00f4b0e$export$1a7a0d00e4ba9c81","UnitSelectionCallbackManager","$cfa36458f00f4b0e$export$cbbec12b1451fe7d","useUnitSelectionTarget","$cfa36458f00f4b0e$export$70f5ee19650fc7d1","UnitKeyboardNavigation"],"version":3,"file":"column-views.87d31e0a.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.54f7a243.js";import"./column-views.375529b1.js";function e(e,r){return Object.keys(r).forEach(function(t){"default"===t||"__esModule"===t||Object.prototype.hasOwnProperty.call(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:function(){return r[t]}})}),e}var r=globalThis,t={},a={},o=r.parcelRequirea149;null==o&&((o=function(e){if(e in t)return t[e].exports;if(e in a){var r=a[e];delete a[e];var o={id:e,exports:{}};return t[e]=o,r.call(o.exports,o,o.exports),o.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,r){a[e]=r},r.parcelRequirea149=o),o.register;var n={},c=o("kIQUG"),d=o("grgdF");e(n,c),e(n,d);export{$7e05644cbb5d2dbb$export$9d101e1fcb2166a6 as standardizeMeasurementHeight,$7e05644cbb5d2dbb$export$8f2afa8ddee7317e as mergeHeightRanges,$7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d as BaseMeasurementsColumn,$7e05644cbb5d2dbb$export$653e47a7a0da0f0d as TruncatedList,$7e05644cbb5d2dbb$export$4e649f790614b299 as groupNotesByPixelDistance,$48680a4cd2abcbe4$export$c49cf57576706bab as SGPMeasurementsColumn};
|
|
2
|
+
//# sourceMappingURL=column-views.94c8ce3e.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,G,E,E,U,6C,4B,C,6C,iB,C,6C,sB,C,6C,a,C,6C,yB,C,6C,qB","sources":["<anon>","packages/column-views/src/facets/measurements/index.ts"],"sourcesContent":["import \"./column-views.
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,C,S,E,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,S,E,E,S,E,E,G,E,E,U,6C,4B,C,6C,iB,C,6C,sB,C,6C,a,C,6C,yB,C,6C,qB","sources":["<anon>","packages/column-views/src/facets/measurements/index.ts"],"sourcesContent":["import \"./column-views.54f7a243.js\";\nimport \"./column-views.375529b1.js\";\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $30f674067bcc490b$exports = {};\n\nvar $kIQUG = parcelRequire(\"kIQUG\");\n\nvar $grgdF = parcelRequire(\"grgdF\");\n$parcel$exportWildcard($30f674067bcc490b$exports, $kIQUG);\n$parcel$exportWildcard($30f674067bcc490b$exports, $grgdF);\n\n\nexport {$7e05644cbb5d2dbb$export$9d101e1fcb2166a6 as standardizeMeasurementHeight, $7e05644cbb5d2dbb$export$8f2afa8ddee7317e as mergeHeightRanges, $7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d as BaseMeasurementsColumn, $7e05644cbb5d2dbb$export$653e47a7a0da0f0d as TruncatedList, $7e05644cbb5d2dbb$export$4e649f790614b299 as groupNotesByPixelDistance, $48680a4cd2abcbe4$export$c49cf57576706bab as SGPMeasurementsColumn};\n//# sourceMappingURL=column-views.94c8ce3e.js.map\n","export * from \"./base\";\nexport * from \"./sgp\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","$30f674067bcc490b$exports","$kIQUG","$grgdF","$7e05644cbb5d2dbb$export$9d101e1fcb2166a6","standardizeMeasurementHeight","$7e05644cbb5d2dbb$export$8f2afa8ddee7317e","mergeHeightRanges","$7e05644cbb5d2dbb$export$ce5c4f2fdf4e644d","BaseMeasurementsColumn","$7e05644cbb5d2dbb$export$653e47a7a0da0f0d","TruncatedList","$7e05644cbb5d2dbb$export$4e649f790614b299","groupNotesByPixelDistance","$48680a4cd2abcbe4$export$c49cf57576706bab","SGPMeasurementsColumn"],"version":3,"file":"column-views.94c8ce3e.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.db3377d8.js";import"./column-views.7d45bbeb.js";import e from"@macrostrat/hyper";import{FeatureLayer as r,Feature as t,MapContext as o}from"@macrostrat/svg-map-components";import{useAPIResult as s,useKeyHandler as a}from"@macrostrat/ui-components";import l from"chroma-js";import{useContext as n,useMemo as u}from"react";function i(e,r,t,o){Object.defineProperty(e,r,{get:t,set:o,enumerable:!0,configurable:!0})}var c,f=globalThis,p={},m={},d=f.parcelRequirea149;null==d&&((d=function(e){if(e in p)return p[e].exports;if(e in m){var r=m[e];delete m[e];var t={id:e,exports:{}};return p[e]=t,r.call(t.exports,t,t.exports),t.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,r){m[e]=r},f.parcelRequirea149=d),d.register;var C={};i(C,"MeasurementsLayer",()=>$),i(C,"ColumnFeatures",()=>_),i(C,"ColumnKeyboardNavigation",()=>h),i(C,"Columns",()=>x),i(C,"ColumnCenters",()=>k),i(C,"CurrentColumn",()=>j);var g=d("Piirt"),y=d("iVYEX");let b={fill:"rgb(239, 180, 249)",stroke:"magenta"};function $(t){let{style:o=b,...a}=t,l=s("/measurements",{...a,format:"geojson",response:"light"});return null==l?null:e(r,{useCanvas:!1,style:o,features:l.features?.filter(e=>null!=e.properties.unit_id)??[]})}function _(o){let{features:s,onClick:a,color:n="rgba(150,150,150, 1)",singleFeature:u=!0}=o,i=l(n);return e(r,{className:"columns",useCanvas:null==a,style:{fill:i.alpha(.2).css(),stroke:i.alpha(.4).css()}},s?.map(r=>e(t,{id:r.id??r.properties.col_id,onClick:a,feature:r})))}var v=((c=v||{}).InProcess="in process",c);function h(t){let{features:s=[],col_id:l=null,onChange:i,showLayers:c=!1,...f}=t,{projection:p}=n(o),{centroids:m,tri:d}=u(()=>(0,y.buildTriangulation)(s),[s]),C=u(()=>s.findIndex(e=>e.properties.col_id==l),[s,l]),g=d.delaunay.neighbors[C],b=u(()=>(0,y.buildKeyMapping)(g,m,C,p),[g,C]);if(a(e=>{let r=b[e.keyCode];null!=r&&i(s[r])},[b]),null==g)return null;let $=g.map(e=>s[e]);return e.if(c)([e(r,{features:d.links().features,useCanvas:!1,style:{stroke:"purple",fill:"transparent"}}),e(r,{features:$,useCanvas:!1,style:{stroke:"rgb(93, 101, 212)",strokeWidth:3,fill:"rgba(93, 101, 212, 0.5)"}}),e(r,{features:[{type:"Feature",geometry:{type:"MultiPoint",coordinates:m}}],useCanvas:!1,style:{r:1,fill:"purple"}})])}let x=r=>{let{apiRoute:t="/columns",onChange:o,col_id:s=null,status_code:a,project_id:l,color:n,filterColumns:u,showDebugLayers:i=!1,format:c="topojson"}=r,f=(0,g.useColumnFeatures)({apiRoute:t,status_code:a,project_id:l,format:c});return null==f?null:(null!=u&&(f=f.filter(u)),e([e(h,{features:f,col_id:s,onChange:o,status_code:a,project_id:l,showLayers:i}),e(_,{features:f,onClick:o,color:n})]))},k=r=>e(x,{apiRoute:"/defs/columns",...r}),j=t=>{let{feature:o}=t;return e(r,{features:[o],style:{fill:"rgba(255,0,0,0.4)",stroke:"rgba(255,0,0,0.6)",strokeWidth:2}})};export{$ as MeasurementsLayer,_ as ColumnFeatures,h as ColumnKeyboardNavigation,x as Columns,k as ColumnCenters,j as CurrentColumn};
|
|
2
|
+
//# sourceMappingURL=column-views.951e3e9a.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,Q,M,mB,A,Q,gB,C,C,W,C,C,c,C,K,gC,A,Q,gB,C,C,iB,C,K,2B,A,Q,M,W,A,Q,c,C,C,W,C,K,O,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,ICwEK,E,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,oB,I,G,E,E,iB,I,G,E,E,2B,I,G,E,E,U,I,G,E,E,gB,I,G,E,E,gB,I,G,I,E,E,S,E,E,SAvDL,IAAM,EAAe,CACnB,KAAM,qBACN,OAAQ,SACV,EAEO,SAAS,EAAkB,CAAK,EACrC,GAAM,CAAA,MAAE,EAAQ,CAAA,CAAc,GAAG,EAAQ,CAAG,EACtC,EAAW,AAAA,EAAa,gBAAiB,CAC7C,GAAG,CAAM,CACT,OAAQ,UACR,SAAU,OACZ,UACA,AAAI,AAAO,MAAP,EAAoB,KAEjB,AAAA,EAAE,EAAc,CACrB,UAAW,CAAA,EACX,MAAA,EACA,SAAU,EAAI,QAAQ,EAAE,OAAO,AAAC,GAAM,AAAwB,MAAxB,EAAE,UAAU,CAAC,OAAO,GAAa,EAAE,AAC3E,EACF,CAMA,SAAS,EAAe,CAAK,EAC3B,GAAM,CAAA,SACJ,CAAQ,CAAA,QACR,CAAO,CAAA,MACP,EAAQ,sBAAA,CAAA,cACR,EAAgB,CAAA,CAAA,CACjB,CAAG,EAEE,EAAI,AAAA,EAAO,GAEjB,OAAO,AAAA,EACL,EACA,CACE,UAAW,UACX,UAAW,AAAW,MAAX,EACX,MAAO,CACL,KAAM,EAAE,KAAK,CAAC,IAAK,GAAG,GACtB,OAAQ,EAAE,KAAK,CAAC,IAAK,GAAG,EAC1B,CACF,EACA,GAAU,IAAI,AAAC,GACN,AAAA,EAAE,EAAS,CAChB,GAAI,EAAE,EAAE,EAAI,EAAE,UAAU,CAAC,MAAM,CAC/B,QA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","sources":["<anon>","packages/column-views/src/maps/column-navigation/svg/layers.ts"],"sourcesContent":["import \"./column-views.7425d37b.js\";\nimport \"./column-views.7d45bbeb.js\";\nimport $jYcXf$macrostrathyper from \"@macrostrat/hyper\";\nimport {FeatureLayer as $jYcXf$FeatureLayer, Feature as $jYcXf$Feature, MapContext as $jYcXf$MapContext} from \"@macrostrat/svg-map-components\";\nimport {useAPIResult as $jYcXf$useAPIResult, useKeyHandler as $jYcXf$useKeyHandler} from \"@macrostrat/ui-components\";\nimport $jYcXf$chromajs from \"chroma-js\";\nimport {useContext as $jYcXf$useContext, useMemo as $jYcXf$useMemo} from \"react\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $372e0c9189556f66$exports = {};\n\n$parcel$export($372e0c9189556f66$exports, \"MeasurementsLayer\", () => $372e0c9189556f66$export$2254347cd20e6080);\n$parcel$export($372e0c9189556f66$exports, \"ColumnFeatures\", () => $372e0c9189556f66$export$f177ff57c101017a);\n$parcel$export($372e0c9189556f66$exports, \"ColumnKeyboardNavigation\", () => $372e0c9189556f66$export$8c41dd563753848);\n$parcel$export($372e0c9189556f66$exports, \"Columns\", () => $372e0c9189556f66$export$f02cc02ad0e0bba3);\n$parcel$export($372e0c9189556f66$exports, \"ColumnCenters\", () => $372e0c9189556f66$export$4d8f6e6df85d9012);\n$parcel$export($372e0c9189556f66$exports, \"CurrentColumn\", () => $372e0c9189556f66$export$b9d912252344e099);\n\n\n\n\n\n\nvar $Piirt = parcelRequire(\"Piirt\");\n\nvar $iVYEX = parcelRequire(\"iVYEX\");\nconst $372e0c9189556f66$var$defaultStyle = {\n fill: \"rgb(239, 180, 249)\",\n stroke: \"magenta\"\n};\nfunction $372e0c9189556f66$export$2254347cd20e6080(props) {\n const { style: style = $372e0c9189556f66$var$defaultStyle, ...params } = props;\n const res = (0, $jYcXf$useAPIResult)(\"/measurements\", {\n ...params,\n format: \"geojson\",\n response: \"light\"\n });\n if (res == null) return null;\n return (0, $jYcXf$macrostrathyper)((0, $jYcXf$FeatureLayer), {\n useCanvas: false,\n style: style,\n features: res.features?.filter((d)=>d.properties.unit_id != null) ?? []\n });\n}\nfunction $372e0c9189556f66$export$f177ff57c101017a(props) {\n const { features: features, onClick: onClick, color: color = \"rgba(150,150,150, 1)\", singleFeature: singleFeature = true } = props;\n const c = (0, $jYcXf$chromajs)(color);\n return (0, $jYcXf$macrostrathyper)((0, $jYcXf$FeatureLayer), {\n className: \"columns\",\n useCanvas: onClick == null,\n style: {\n fill: c.alpha(0.2).css(),\n stroke: c.alpha(0.4).css()\n }\n }, features?.map((f)=>{\n return (0, $jYcXf$macrostrathyper)((0, $jYcXf$Feature), {\n id: f.id ?? f.properties.col_id,\n onClick: onClick,\n feature: f\n });\n }));\n}\nvar $372e0c9189556f66$var$MacrostratStatusCode = /*#__PURE__*/ function(MacrostratStatusCode) {\n MacrostratStatusCode[\"InProcess\"] = \"in process\";\n return MacrostratStatusCode;\n}($372e0c9189556f66$var$MacrostratStatusCode || {});\nfunction $372e0c9189556f66$export$8c41dd563753848(props) {\n /** Keyboard navigation of columns using a Delaunay triangulation */ const { features: features = [], col_id: col_id = null, onChange: onChange, showLayers: showLayers = false, ...projectArgs } = props;\n const { projection: projection } = (0, $jYcXf$useContext)((0, $jYcXf$MapContext));\n const { centroids: centroids, tri: tri } = (0, $jYcXf$useMemo)(()=>(0, $iVYEX.buildTriangulation)(features), [\n features\n ]);\n const currentIndex = (0, $jYcXf$useMemo)(()=>{\n return features.findIndex((d)=>d.properties.col_id == col_id);\n }, [\n features,\n col_id\n ]);\n const neighbors = tri.delaunay.neighbors[currentIndex];\n const keyMapping = (0, $jYcXf$useMemo)(()=>{\n return (0, $iVYEX.buildKeyMapping)(neighbors, centroids, currentIndex, projection);\n }, [\n neighbors,\n currentIndex\n ]);\n (0, $jYcXf$useKeyHandler)((event)=>{\n const nextColumnIx = keyMapping[event.keyCode];\n if (nextColumnIx == null) return;\n // @ts-ignore\n onChange(features[nextColumnIx]);\n }, [\n keyMapping\n ]);\n if (neighbors == null) return null;\n const neighborFeatures = neighbors.map((d)=>features[d]);\n return (0, $jYcXf$macrostrathyper).if(showLayers)([\n (0, $jYcXf$macrostrathyper)((0, $jYcXf$FeatureLayer), {\n features: tri.links().features,\n useCanvas: false,\n style: {\n stroke: \"purple\",\n fill: \"transparent\"\n }\n }),\n (0, $jYcXf$macrostrathyper)((0, $jYcXf$FeatureLayer), {\n features: neighborFeatures,\n useCanvas: false,\n style: {\n stroke: \"rgb(93, 101, 212)\",\n strokeWidth: 3,\n fill: \"rgba(93, 101, 212, 0.5)\"\n }\n }),\n (0, $jYcXf$macrostrathyper)((0, $jYcXf$FeatureLayer), {\n features: [\n {\n type: \"Feature\",\n geometry: {\n type: \"MultiPoint\",\n coordinates: centroids\n }\n }\n ],\n useCanvas: false,\n style: {\n r: 1,\n fill: \"purple\"\n }\n })\n ]);\n}\nconst $372e0c9189556f66$export$f02cc02ad0e0bba3 = (props)=>{\n const { apiRoute: apiRoute = \"/columns\", onChange: onChange, col_id: col_id = null, status_code: status_code, project_id: project_id, color: color, filterColumns: filterColumns, showDebugLayers: showDebugLayers = false, format: format = \"topojson\" } = props;\n let features = (0, $Piirt.useColumnFeatures)({\n apiRoute: apiRoute,\n status_code: status_code,\n project_id: project_id,\n format: format\n });\n if (features == null) return null;\n if (filterColumns != null) features = features.filter(filterColumns);\n return (0, $jYcXf$macrostrathyper)([\n (0, $jYcXf$macrostrathyper)($372e0c9189556f66$export$8c41dd563753848, {\n features: features,\n col_id: col_id,\n onChange: onChange,\n status_code: status_code,\n project_id: project_id,\n showLayers: showDebugLayers\n }),\n (0, $jYcXf$macrostrathyper)($372e0c9189556f66$export$f177ff57c101017a, {\n features: features,\n onClick: onChange,\n color: color\n })\n ]);\n};\nconst $372e0c9189556f66$export$4d8f6e6df85d9012 = (props)=>{\n return (0, $jYcXf$macrostrathyper)($372e0c9189556f66$export$f02cc02ad0e0bba3, {\n apiRoute: \"/defs/columns\",\n ...props\n });\n};\nconst $372e0c9189556f66$export$b9d912252344e099 = (props)=>{\n const { feature: feature } = props;\n return (0, $jYcXf$macrostrathyper)((0, $jYcXf$FeatureLayer), {\n features: [\n feature\n ],\n style: {\n fill: \"rgba(255,0,0,0.4)\",\n stroke: \"rgba(255,0,0,0.6)\",\n strokeWidth: 2\n }\n });\n};\n\n\nexport {$372e0c9189556f66$export$2254347cd20e6080 as MeasurementsLayer, $372e0c9189556f66$export$f177ff57c101017a as ColumnFeatures, $372e0c9189556f66$export$8c41dd563753848 as ColumnKeyboardNavigation, $372e0c9189556f66$export$f02cc02ad0e0bba3 as Columns, $372e0c9189556f66$export$4d8f6e6df85d9012 as ColumnCenters, $372e0c9189556f66$export$b9d912252344e099 as CurrentColumn};\n//# sourceMappingURL=column-views.48a3cfa3.js.map\n","import h from \"@macrostrat/hyper\";\nimport {\n Feature,\n FeatureLayer,\n MapContext,\n} from \"@macrostrat/svg-map-components\";\nimport { useAPIResult, useKeyHandler } from \"@macrostrat/ui-components\";\nimport chroma from \"chroma-js\";\nimport { ExtendedFeature } from \"d3-geo\";\nimport { Polygon } from \"geojson\";\nimport { useContext, useMemo } from \"react\";\nimport { useColumnFeatures } from \"../../../data-provider\";\nimport {\n buildKeyMapping,\n buildTriangulation,\n} from \"../utils/keyboard-navigation\";\n\nconst defaultStyle = {\n fill: \"rgb(239, 180, 249)\",\n stroke: \"magenta\",\n};\n\nexport function MeasurementsLayer(props) {\n const { style = defaultStyle, ...params } = props;\n const res: any = useAPIResult(\"/measurements\", {\n ...params,\n format: \"geojson\",\n response: \"light\",\n });\n if (res == null) return null;\n\n return h(FeatureLayer, {\n useCanvas: false,\n style,\n features: res.features?.filter((d) => d.properties.unit_id != null) ?? [],\n });\n}\n\ntype ColumnProps = { col_id: number };\n\ntype ColumnFeature = ExtendedFeature<Polygon, ColumnProps>;\n\nfunction ColumnFeatures(props) {\n const {\n features,\n onClick,\n color = \"rgba(150,150,150, 1)\",\n singleFeature = true,\n } = props;\n\n const c = chroma(color);\n\n return h(\n FeatureLayer,\n {\n className: \"columns\",\n useCanvas: onClick == null,\n style: {\n fill: c.alpha(0.2).css(),\n stroke: c.alpha(0.4).css(),\n },\n },\n features?.map((f) => {\n return h(Feature, {\n id: f.id ?? f.properties.col_id,\n onClick,\n feature: f,\n });\n }),\n );\n}\n\nenum MacrostratStatusCode {\n InProcess = \"in process\",\n}\n\ninterface ColumnNavProps {\n col_id: number;\n status_code?: MacrostratStatusCode;\n project_id?: number;\n onChange(col_id: number): void;\n}\n\ninterface KeyboardNavProps extends ColumnNavProps {\n features: ColumnFeature[];\n showLayers: boolean;\n}\n\nfunction ColumnKeyboardNavigation(props: KeyboardNavProps) {\n /** Keyboard navigation of columns using a Delaunay triangulation */\n const {\n features = [],\n col_id = null,\n onChange,\n showLayers = false,\n ...projectArgs\n } = props;\n const { projection } = useContext(MapContext);\n const { centroids, tri } = useMemo(\n () => buildTriangulation(features),\n [features],\n );\n\n const currentIndex = useMemo(() => {\n return features.findIndex((d) => d.properties.col_id == col_id);\n }, [features, col_id]);\n\n const neighbors = tri.delaunay.neighbors[currentIndex];\n\n const keyMapping = useMemo(() => {\n return buildKeyMapping(neighbors, centroids, currentIndex, projection);\n }, [neighbors, currentIndex]);\n\n useKeyHandler(\n (event) => {\n const nextColumnIx = keyMapping[event.keyCode];\n if (nextColumnIx == null) return;\n // @ts-ignore\n onChange(features[nextColumnIx]);\n },\n [keyMapping],\n );\n\n if (neighbors == null) return null;\n const neighborFeatures = neighbors.map((d) => features[d]);\n\n return h.if(showLayers)([\n h(FeatureLayer, {\n features: tri.links().features,\n useCanvas: false,\n style: {\n stroke: \"purple\",\n fill: \"transparent\",\n },\n }),\n h(FeatureLayer, {\n features: neighborFeatures,\n useCanvas: false,\n style: {\n stroke: \"rgb(93, 101, 212)\",\n strokeWidth: 3,\n fill: \"rgba(93, 101, 212, 0.5)\",\n },\n }),\n h(FeatureLayer, {\n features: [\n {\n type: \"Feature\",\n geometry: {\n type: \"MultiPoint\",\n coordinates: centroids,\n },\n },\n ],\n useCanvas: false,\n style: {\n r: 1,\n fill: \"purple\",\n },\n }),\n ]);\n}\n\ninterface ColumnExtraInfo {\n apiRoute?: string;\n color?: string;\n filterColumns?(d: ColumnFeature): boolean;\n showDebugLayers?: boolean;\n format?: \"topojson\" | \"geojson\";\n}\n\nconst Columns = (props: ColumnNavProps & ColumnExtraInfo) => {\n const {\n apiRoute = \"/columns\",\n onChange,\n col_id = null,\n status_code,\n project_id,\n color,\n filterColumns,\n showDebugLayers = false,\n format = \"topojson\",\n } = props;\n\n let features: any[] = useColumnFeatures({\n apiRoute,\n status_code,\n project_id,\n format,\n }) as any;\n\n if (features == null) return null;\n\n if (filterColumns != null) {\n features = features.filter(filterColumns);\n }\n\n return h([\n h(ColumnKeyboardNavigation, {\n features,\n col_id,\n onChange,\n status_code,\n project_id,\n showLayers: showDebugLayers,\n }),\n h(ColumnFeatures, { features, onClick: onChange, color }),\n ]);\n};\n\nconst ColumnCenters = (props: ColumnNavProps) => {\n return h(Columns, { apiRoute: \"/defs/columns\", ...props });\n};\n\nconst CurrentColumn = (props) => {\n const { feature } = props;\n return h(FeatureLayer, {\n features: [feature],\n style: {\n fill: \"rgba(255,0,0,0.4)\",\n stroke: \"rgba(255,0,0,0.6)\",\n strokeWidth: 2,\n },\n });\n};\n\nexport {\n Columns,\n CurrentColumn,\n ColumnCenters,\n ColumnFeatures,\n ColumnKeyboardNavigation,\n};\n"],"names":["$jYcXf$macrostrathyper","FeatureLayer","$jYcXf$FeatureLayer","Feature","$jYcXf$Feature","MapContext","$jYcXf$MapContext","useAPIResult","$jYcXf$useAPIResult","useKeyHandler","$jYcXf$useKeyHandler","$jYcXf$chromajs","useContext","$jYcXf$useContext","useMemo","$jYcXf$useMemo","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","MacrostratStatusCode","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$372e0c9189556f66$exports","$372e0c9189556f66$export$2254347cd20e6080","$372e0c9189556f66$export$f177ff57c101017a","$372e0c9189556f66$export$8c41dd563753848","$372e0c9189556f66$export$f02cc02ad0e0bba3","$372e0c9189556f66$export$4d8f6e6df85d9012","$372e0c9189556f66$export$b9d912252344e099","$Piirt","$iVYEX","$372e0c9189556f66$var$defaultStyle","fill","stroke","props","style","params","res","format","response","useCanvas","features","filter","d","properties","unit_id","onClick","color","singleFeature","c","className","alpha","css","map","f","col_id","feature","$372e0c9189556f66$var$MacrostratStatusCode","onChange","showLayers","projectArgs","projection","centroids","tri","buildTriangulation","currentIndex","findIndex","neighbors","delaunay","keyMapping","buildKeyMapping","event","nextColumnIx","keyCode","neighborFeatures","if","links","strokeWidth","type","geometry","coordinates","r","apiRoute","status_code","project_id","filterColumns","showDebugLayers","useColumnFeatures","MeasurementsLayer","ColumnFeatures","ColumnKeyboardNavigation","Columns","ColumnCenters","CurrentColumn"],"version":3,"file":"column-views.48a3cfa3.js.map","sourceRoot":"../../../../"}
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,A,Q,M,mB,A,Q,gB,C,C,W,C,C,c,C,K,gC,A,Q,gB,C,C,iB,C,K,2B,A,Q,M,W,A,Q,c,C,C,W,C,K,O,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,ICwEK,E,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,oB,I,G,E,E,iB,I,G,E,E,2B,I,G,E,E,U,I,G,E,E,gB,I,G,E,E,gB,I,G,I,E,E,S,E,E,SAvDL,IAAM,EAAe,CACnB,KAAM,qBACN,OAAQ,SACV,EAEO,SAAS,EAAkB,CAAK,EACrC,GAAM,CAAA,MAAE,EAAQ,CAAA,CAAc,GAAG,EAAQ,CAAG,EACtC,EAAW,AAAA,EAAa,gBAAiB,CAC7C,GAAG,CAAM,CACT,OAAQ,UACR,SAAU,OACZ,UACA,AAAI,AAAO,MAAP,EAAoB,KAEjB,AAAA,EAAE,EAAc,CACrB,UAAW,CAAA,EACX,MAAA,EACA,SAAU,EAAI,QAAQ,EAAE,OAAO,AAAC,GAAM,AAAwB,MAAxB,EAAE,UAAU,CAAC,OAAO,GAAa,EAAE,AAC3E,EACF,CAMA,SAAS,EAAe,CAAK,EAC3B,GAAM,CAAA,SACJ,CAAQ,CAAA,QACR,CAAO,CAAA,MACP,EAAQ,sBAAA,CAAA,cACR,EAAgB,CAAA,CAAA,CACjB,CAAG,EAEE,EAAI,AAAA,EAAO,GAEjB,OAAO,AAAA,EACL,EACA,CACE,UAAW,UACX,UAAW,AAAW,MAAX,EACX,MAAO,CACL,KAAM,EAAE,KAAK,CAAC,IAAK,GAAG,GACtB,OAAQ,EAAE,KAAK,CAAC,IAAK,GAAG,EAC1B,CACF,EACA,GAAU,IAAI,AAAC,GACN,AAAA,EAAE,EAAS,CAChB,GAAI,EAAE,EAAE,EAAI,EAAE,UAAU,CAAC,MAAM,CAC/B,QA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","sources":["<anon>","packages/column-views/src/maps/column-navigation/svg/layers.ts"],"sourcesContent":["import \"./column-views.db3377d8.js\";\nimport \"./column-views.7d45bbeb.js\";\nimport $jYcXf$macrostrathyper from \"@macrostrat/hyper\";\nimport {FeatureLayer as $jYcXf$FeatureLayer, Feature as $jYcXf$Feature, MapContext as $jYcXf$MapContext} from \"@macrostrat/svg-map-components\";\nimport {useAPIResult as $jYcXf$useAPIResult, useKeyHandler as $jYcXf$useKeyHandler} from \"@macrostrat/ui-components\";\nimport $jYcXf$chromajs from \"chroma-js\";\nimport {useContext as $jYcXf$useContext, useMemo as $jYcXf$useMemo} from \"react\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $372e0c9189556f66$exports = {};\n\n$parcel$export($372e0c9189556f66$exports, \"MeasurementsLayer\", () => $372e0c9189556f66$export$2254347cd20e6080);\n$parcel$export($372e0c9189556f66$exports, \"ColumnFeatures\", () => $372e0c9189556f66$export$f177ff57c101017a);\n$parcel$export($372e0c9189556f66$exports, \"ColumnKeyboardNavigation\", () => $372e0c9189556f66$export$8c41dd563753848);\n$parcel$export($372e0c9189556f66$exports, \"Columns\", () => $372e0c9189556f66$export$f02cc02ad0e0bba3);\n$parcel$export($372e0c9189556f66$exports, \"ColumnCenters\", () => $372e0c9189556f66$export$4d8f6e6df85d9012);\n$parcel$export($372e0c9189556f66$exports, \"CurrentColumn\", () => $372e0c9189556f66$export$b9d912252344e099);\n\n\n\n\n\n\nvar $Piirt = parcelRequire(\"Piirt\");\n\nvar $iVYEX = parcelRequire(\"iVYEX\");\nconst $372e0c9189556f66$var$defaultStyle = {\n fill: \"rgb(239, 180, 249)\",\n stroke: \"magenta\"\n};\nfunction $372e0c9189556f66$export$2254347cd20e6080(props) {\n const { style: style = $372e0c9189556f66$var$defaultStyle, ...params } = props;\n const res = (0, $jYcXf$useAPIResult)(\"/measurements\", {\n ...params,\n format: \"geojson\",\n response: \"light\"\n });\n if (res == null) return null;\n return (0, $jYcXf$macrostrathyper)((0, $jYcXf$FeatureLayer), {\n useCanvas: false,\n style: style,\n features: res.features?.filter((d)=>d.properties.unit_id != null) ?? []\n });\n}\nfunction $372e0c9189556f66$export$f177ff57c101017a(props) {\n const { features: features, onClick: onClick, color: color = \"rgba(150,150,150, 1)\", singleFeature: singleFeature = true } = props;\n const c = (0, $jYcXf$chromajs)(color);\n return (0, $jYcXf$macrostrathyper)((0, $jYcXf$FeatureLayer), {\n className: \"columns\",\n useCanvas: onClick == null,\n style: {\n fill: c.alpha(0.2).css(),\n stroke: c.alpha(0.4).css()\n }\n }, features?.map((f)=>{\n return (0, $jYcXf$macrostrathyper)((0, $jYcXf$Feature), {\n id: f.id ?? f.properties.col_id,\n onClick: onClick,\n feature: f\n });\n }));\n}\nvar $372e0c9189556f66$var$MacrostratStatusCode = /*#__PURE__*/ function(MacrostratStatusCode) {\n MacrostratStatusCode[\"InProcess\"] = \"in process\";\n return MacrostratStatusCode;\n}($372e0c9189556f66$var$MacrostratStatusCode || {});\nfunction $372e0c9189556f66$export$8c41dd563753848(props) {\n /** Keyboard navigation of columns using a Delaunay triangulation */ const { features: features = [], col_id: col_id = null, onChange: onChange, showLayers: showLayers = false, ...projectArgs } = props;\n const { projection: projection } = (0, $jYcXf$useContext)((0, $jYcXf$MapContext));\n const { centroids: centroids, tri: tri } = (0, $jYcXf$useMemo)(()=>(0, $iVYEX.buildTriangulation)(features), [\n features\n ]);\n const currentIndex = (0, $jYcXf$useMemo)(()=>{\n return features.findIndex((d)=>d.properties.col_id == col_id);\n }, [\n features,\n col_id\n ]);\n const neighbors = tri.delaunay.neighbors[currentIndex];\n const keyMapping = (0, $jYcXf$useMemo)(()=>{\n return (0, $iVYEX.buildKeyMapping)(neighbors, centroids, currentIndex, projection);\n }, [\n neighbors,\n currentIndex\n ]);\n (0, $jYcXf$useKeyHandler)((event)=>{\n const nextColumnIx = keyMapping[event.keyCode];\n if (nextColumnIx == null) return;\n // @ts-ignore\n onChange(features[nextColumnIx]);\n }, [\n keyMapping\n ]);\n if (neighbors == null) return null;\n const neighborFeatures = neighbors.map((d)=>features[d]);\n return (0, $jYcXf$macrostrathyper).if(showLayers)([\n (0, $jYcXf$macrostrathyper)((0, $jYcXf$FeatureLayer), {\n features: tri.links().features,\n useCanvas: false,\n style: {\n stroke: \"purple\",\n fill: \"transparent\"\n }\n }),\n (0, $jYcXf$macrostrathyper)((0, $jYcXf$FeatureLayer), {\n features: neighborFeatures,\n useCanvas: false,\n style: {\n stroke: \"rgb(93, 101, 212)\",\n strokeWidth: 3,\n fill: \"rgba(93, 101, 212, 0.5)\"\n }\n }),\n (0, $jYcXf$macrostrathyper)((0, $jYcXf$FeatureLayer), {\n features: [\n {\n type: \"Feature\",\n geometry: {\n type: \"MultiPoint\",\n coordinates: centroids\n }\n }\n ],\n useCanvas: false,\n style: {\n r: 1,\n fill: \"purple\"\n }\n })\n ]);\n}\nconst $372e0c9189556f66$export$f02cc02ad0e0bba3 = (props)=>{\n const { apiRoute: apiRoute = \"/columns\", onChange: onChange, col_id: col_id = null, status_code: status_code, project_id: project_id, color: color, filterColumns: filterColumns, showDebugLayers: showDebugLayers = false, format: format = \"topojson\" } = props;\n let features = (0, $Piirt.useColumnFeatures)({\n apiRoute: apiRoute,\n status_code: status_code,\n project_id: project_id,\n format: format\n });\n if (features == null) return null;\n if (filterColumns != null) features = features.filter(filterColumns);\n return (0, $jYcXf$macrostrathyper)([\n (0, $jYcXf$macrostrathyper)($372e0c9189556f66$export$8c41dd563753848, {\n features: features,\n col_id: col_id,\n onChange: onChange,\n status_code: status_code,\n project_id: project_id,\n showLayers: showDebugLayers\n }),\n (0, $jYcXf$macrostrathyper)($372e0c9189556f66$export$f177ff57c101017a, {\n features: features,\n onClick: onChange,\n color: color\n })\n ]);\n};\nconst $372e0c9189556f66$export$4d8f6e6df85d9012 = (props)=>{\n return (0, $jYcXf$macrostrathyper)($372e0c9189556f66$export$f02cc02ad0e0bba3, {\n apiRoute: \"/defs/columns\",\n ...props\n });\n};\nconst $372e0c9189556f66$export$b9d912252344e099 = (props)=>{\n const { feature: feature } = props;\n return (0, $jYcXf$macrostrathyper)((0, $jYcXf$FeatureLayer), {\n features: [\n feature\n ],\n style: {\n fill: \"rgba(255,0,0,0.4)\",\n stroke: \"rgba(255,0,0,0.6)\",\n strokeWidth: 2\n }\n });\n};\n\n\nexport {$372e0c9189556f66$export$2254347cd20e6080 as MeasurementsLayer, $372e0c9189556f66$export$f177ff57c101017a as ColumnFeatures, $372e0c9189556f66$export$8c41dd563753848 as ColumnKeyboardNavigation, $372e0c9189556f66$export$f02cc02ad0e0bba3 as Columns, $372e0c9189556f66$export$4d8f6e6df85d9012 as ColumnCenters, $372e0c9189556f66$export$b9d912252344e099 as CurrentColumn};\n//# sourceMappingURL=column-views.951e3e9a.js.map\n","import h from \"@macrostrat/hyper\";\nimport {\n Feature,\n FeatureLayer,\n MapContext,\n} from \"@macrostrat/svg-map-components\";\nimport { useAPIResult, useKeyHandler } from \"@macrostrat/ui-components\";\nimport chroma from \"chroma-js\";\nimport { ExtendedFeature } from \"d3-geo\";\nimport { Polygon } from \"geojson\";\nimport { useContext, useMemo } from \"react\";\nimport { useColumnFeatures } from \"../../../data-provider\";\nimport {\n buildKeyMapping,\n buildTriangulation,\n} from \"../utils/keyboard-navigation\";\n\nconst defaultStyle = {\n fill: \"rgb(239, 180, 249)\",\n stroke: \"magenta\",\n};\n\nexport function MeasurementsLayer(props) {\n const { style = defaultStyle, ...params } = props;\n const res: any = useAPIResult(\"/measurements\", {\n ...params,\n format: \"geojson\",\n response: \"light\",\n });\n if (res == null) return null;\n\n return h(FeatureLayer, {\n useCanvas: false,\n style,\n features: res.features?.filter((d) => d.properties.unit_id != null) ?? [],\n });\n}\n\ntype ColumnProps = { col_id: number };\n\ntype ColumnFeature = ExtendedFeature<Polygon, ColumnProps>;\n\nfunction ColumnFeatures(props) {\n const {\n features,\n onClick,\n color = \"rgba(150,150,150, 1)\",\n singleFeature = true,\n } = props;\n\n const c = chroma(color);\n\n return h(\n FeatureLayer,\n {\n className: \"columns\",\n useCanvas: onClick == null,\n style: {\n fill: c.alpha(0.2).css(),\n stroke: c.alpha(0.4).css(),\n },\n },\n features?.map((f) => {\n return h(Feature, {\n id: f.id ?? f.properties.col_id,\n onClick,\n feature: f,\n });\n }),\n );\n}\n\nenum MacrostratStatusCode {\n InProcess = \"in process\",\n}\n\ninterface ColumnNavProps {\n col_id: number;\n status_code?: MacrostratStatusCode;\n project_id?: number;\n onChange(col_id: number): void;\n}\n\ninterface KeyboardNavProps extends ColumnNavProps {\n features: ColumnFeature[];\n showLayers: boolean;\n}\n\nfunction ColumnKeyboardNavigation(props: KeyboardNavProps) {\n /** Keyboard navigation of columns using a Delaunay triangulation */\n const {\n features = [],\n col_id = null,\n onChange,\n showLayers = false,\n ...projectArgs\n } = props;\n const { projection } = useContext(MapContext);\n const { centroids, tri } = useMemo(\n () => buildTriangulation(features),\n [features],\n );\n\n const currentIndex = useMemo(() => {\n return features.findIndex((d) => d.properties.col_id == col_id);\n }, [features, col_id]);\n\n const neighbors = tri.delaunay.neighbors[currentIndex];\n\n const keyMapping = useMemo(() => {\n return buildKeyMapping(neighbors, centroids, currentIndex, projection);\n }, [neighbors, currentIndex]);\n\n useKeyHandler(\n (event) => {\n const nextColumnIx = keyMapping[event.keyCode];\n if (nextColumnIx == null) return;\n // @ts-ignore\n onChange(features[nextColumnIx]);\n },\n [keyMapping],\n );\n\n if (neighbors == null) return null;\n const neighborFeatures = neighbors.map((d) => features[d]);\n\n return h.if(showLayers)([\n h(FeatureLayer, {\n features: tri.links().features,\n useCanvas: false,\n style: {\n stroke: \"purple\",\n fill: \"transparent\",\n },\n }),\n h(FeatureLayer, {\n features: neighborFeatures,\n useCanvas: false,\n style: {\n stroke: \"rgb(93, 101, 212)\",\n strokeWidth: 3,\n fill: \"rgba(93, 101, 212, 0.5)\",\n },\n }),\n h(FeatureLayer, {\n features: [\n {\n type: \"Feature\",\n geometry: {\n type: \"MultiPoint\",\n coordinates: centroids,\n },\n },\n ],\n useCanvas: false,\n style: {\n r: 1,\n fill: \"purple\",\n },\n }),\n ]);\n}\n\ninterface ColumnExtraInfo {\n apiRoute?: string;\n color?: string;\n filterColumns?(d: ColumnFeature): boolean;\n showDebugLayers?: boolean;\n format?: \"topojson\" | \"geojson\";\n}\n\nconst Columns = (props: ColumnNavProps & ColumnExtraInfo) => {\n const {\n apiRoute = \"/columns\",\n onChange,\n col_id = null,\n status_code,\n project_id,\n color,\n filterColumns,\n showDebugLayers = false,\n format = \"topojson\",\n } = props;\n\n let features: any[] = useColumnFeatures({\n apiRoute,\n status_code,\n project_id,\n format,\n }) as any;\n\n if (features == null) return null;\n\n if (filterColumns != null) {\n features = features.filter(filterColumns);\n }\n\n return h([\n h(ColumnKeyboardNavigation, {\n features,\n col_id,\n onChange,\n status_code,\n project_id,\n showLayers: showDebugLayers,\n }),\n h(ColumnFeatures, { features, onClick: onChange, color }),\n ]);\n};\n\nconst ColumnCenters = (props: ColumnNavProps) => {\n return h(Columns, { apiRoute: \"/defs/columns\", ...props });\n};\n\nconst CurrentColumn = (props) => {\n const { feature } = props;\n return h(FeatureLayer, {\n features: [feature],\n style: {\n fill: \"rgba(255,0,0,0.4)\",\n stroke: \"rgba(255,0,0,0.6)\",\n strokeWidth: 2,\n },\n });\n};\n\nexport {\n Columns,\n CurrentColumn,\n ColumnCenters,\n ColumnFeatures,\n ColumnKeyboardNavigation,\n};\n"],"names":["$jYcXf$macrostrathyper","FeatureLayer","$jYcXf$FeatureLayer","Feature","$jYcXf$Feature","MapContext","$jYcXf$MapContext","useAPIResult","$jYcXf$useAPIResult","useKeyHandler","$jYcXf$useKeyHandler","$jYcXf$chromajs","useContext","$jYcXf$useContext","useMemo","$jYcXf$useMemo","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","MacrostratStatusCode","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$372e0c9189556f66$exports","$372e0c9189556f66$export$2254347cd20e6080","$372e0c9189556f66$export$f177ff57c101017a","$372e0c9189556f66$export$8c41dd563753848","$372e0c9189556f66$export$f02cc02ad0e0bba3","$372e0c9189556f66$export$4d8f6e6df85d9012","$372e0c9189556f66$export$b9d912252344e099","$Piirt","$iVYEX","$372e0c9189556f66$var$defaultStyle","fill","stroke","props","style","params","res","format","response","useCanvas","features","filter","d","properties","unit_id","onClick","color","singleFeature","c","className","alpha","css","map","f","col_id","feature","$372e0c9189556f66$var$MacrostratStatusCode","onChange","showLayers","projectArgs","projection","centroids","tri","buildTriangulation","currentIndex","findIndex","neighbors","delaunay","keyMapping","buildKeyMapping","event","nextColumnIx","keyCode","neighborFeatures","if","links","strokeWidth","type","geometry","coordinates","r","apiRoute","status_code","project_id","filterColumns","showDebugLayers","useColumnFeatures","MeasurementsLayer","ColumnFeatures","ColumnKeyboardNavigation","Columns","ColumnCenters","CurrentColumn"],"version":3,"file":"column-views.951e3e9a.js.map","sourceRoot":"../../../../"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{atom as e}from"jotai";import{createIsolation as t}from"jotai-scope";import{useRef as r,useEffect as o}from"react";import a from"@macrostrat/hyper";let c=t();function f({children:e,atoms:t,shouldUpdateAtoms:r=!0}){try{return c.useStore(),e}catch{return a(c.Provider,{store:null,initialValues:t},[a.if(r)(n,{atoms:t}),e])}}function n({atoms:e}){let t=c.useStore(),a=r(e.length);for(let[r,c]of(o(()=>{a.current!==e.length&&(console.error("Error: number of atoms in ScopedAtomUpdater has changed."),a.current=e.length)},[e.length]),e))o(()=>{t.set(r,c)},[t,c]);return null}let s=e(),l=e(e=>{let t=e(s);if(!t)return null;let r=new Map;return t.forEach(e=>{r.set(e.unit_id,e)}),r});export{c as scope,f as ScopedProvider,s as columnUnitsAtom,l as columnUnitsMapAtom};
|
|
2
|
+
//# sourceMappingURL=column-views.a0969fc8.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,O,Q,C,K,O,A,Q,mB,C,K,a,A,Q,U,C,C,a,C,K,O,A,Q,M,mB,CCkBO,IAAM,EAAwB,AAAA,IAU9B,SAAS,EAAe,CAAA,SAC7B,CAAQ,CAAA,MACR,CAAK,CAAA,kBACL,EAAoB,CAAA,CAAA,CACN,EAGd,GAAI,CAGF,OAFM,EAAM,QAAQ,GAEb,CACT,CAAE,KAAM,CACN,OAAO,AAAA,EAAE,EAAM,QAAQ,CAAE,CAAE,MAAO,KAAM,cAAe,CAAM,EAAG,CAC9D,AAAA,EAAE,EAAE,CAAC,GAAmB,EAAa,CAAE,MAAA,CAAM,GAC7C,EACD,CACH,CACF,CAEA,SAAS,EAAY,CAAA,MACnB,CAAK,CAGN,EAQC,IAAM,EAAQ,EAAM,QAAQ,GAGtB,EAAgB,AAAA,EAAO,EAAM,MAAM,EAQzC,IAAK,GAAM,CAAC,EAAM,EAAM,GAPxB,AAAA,EAAU,KACJ,EAAc,OAAO,GAAK,EAAM,MAAM,GACxC,QAAQ,KAAK,CAAC,4DACd,EAAc,OAAO,CAAG,EAAM,MAAM,CAExC,EAAG,CAAC,EAAM,MAAM,CAAC,EAEW,GAC1B,AAAA,EAAU,KACR,EAAM,GAAG,CAAC,EAAM,EAClB,EAAG,CAAC,EAAO,EAAM,EAEnB,OAAO,IACT,CAEO,IAAM,EAAkB,AAAA,IAElB,EAAqB,AAAA,EAAmC,AAAC,IACpE,IAAM,EAAQ,EAAI,GAClB,GAAI,CAAC,EAAO,OAAO,KACnB,IAAM,EAAU,IAAI,IAIpB,OAHA,EAAM,OAAO,CAAC,AAAC,IACb,EAAQ,GAAG,CAAC,EAAK,OAAO,CAAE,EAC5B,GACO,CACT,U,K,K,C,K,c,C,K,e,C,K,kB","sources":["<anon>","packages/column-views/src/data-provider/core.ts"],"sourcesContent":["import {atom as $90FvY$atom} from \"jotai\";\nimport {createIsolation as $90FvY$createIsolation} from \"jotai-scope\";\nimport {useRef as $90FvY$useRef, useEffect as $90FvY$useEffect} from \"react\";\nimport $90FvY$macrostrathyper from \"@macrostrat/hyper\";\n\n\n\n\n\nconst $ffce9913d28c4a58$export$5cff813ca8e50db9 = (0, $90FvY$createIsolation)();\nfunction $ffce9913d28c4a58$export$deff48bd299912d9({ children: children, atoms: atoms, shouldUpdateAtoms: shouldUpdateAtoms = true }) {\n // Always use the same store instance in this tree\n let val = null;\n try {\n val = $ffce9913d28c4a58$export$5cff813ca8e50db9.useStore();\n // This store has already been provided\n return children;\n } catch {\n return (0, $90FvY$macrostrathyper)($ffce9913d28c4a58$export$5cff813ca8e50db9.Provider, {\n store: null,\n initialValues: atoms\n }, [\n (0, $90FvY$macrostrathyper).if(shouldUpdateAtoms)($ffce9913d28c4a58$var$AtomUpdater, {\n atoms: atoms\n }),\n children\n ]);\n }\n}\nfunction $ffce9913d28c4a58$var$AtomUpdater({ atoms: atoms }) {\n /**\n * A generic updater to sync Jotai atoms with state passed as props.\n * Useful for scoped providers where state needs to be synced outside\n * the current context.\n */ /** TODO: this is an awkward way to keep atoms updated */ // The scoped store\n const store = $ffce9913d28c4a58$export$5cff813ca8e50db9.useStore();\n // Warn on atoms changing length\n const prevLengthRef = (0, $90FvY$useRef)(atoms.length);\n (0, $90FvY$useEffect)(()=>{\n if (prevLengthRef.current !== atoms.length) {\n console.error(\"Error: number of atoms in ScopedAtomUpdater has changed.\");\n prevLengthRef.current = atoms.length;\n }\n }, [\n atoms.length\n ]);\n for (const [atom, value] of atoms)(0, $90FvY$useEffect)(()=>{\n store.set(atom, value);\n }, [\n store,\n value\n ]);\n return null;\n}\nconst $ffce9913d28c4a58$export$533095c4f32f2edc = (0, $90FvY$atom)();\nconst $ffce9913d28c4a58$export$c798b7ff7cb2357b = (0, $90FvY$atom)((get)=>{\n const units = get($ffce9913d28c4a58$export$533095c4f32f2edc);\n if (!units) return null;\n const unitMap = new Map();\n units.forEach((unit)=>{\n unitMap.set(unit.unit_id, unit);\n });\n return unitMap;\n});\n\n\nexport {$ffce9913d28c4a58$export$5cff813ca8e50db9 as scope, $ffce9913d28c4a58$export$deff48bd299912d9 as ScopedProvider, $ffce9913d28c4a58$export$533095c4f32f2edc as columnUnitsAtom, $ffce9913d28c4a58$export$c798b7ff7cb2357b as columnUnitsMapAtom};\n//# sourceMappingURL=column-views.a0969fc8.js.map\n","import { atom, type WritableAtom } from \"jotai\";\nimport { createIsolation } from \"jotai-scope\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport { ReactNode, useEffect, useRef } from \"react\";\nimport h from \"@macrostrat/hyper\";\n\ninterface StateIsolation {\n Provider: (props: {\n store?: any;\n initialValues?: AtomMap;\n children: ReactNode;\n }) => ReactNode;\n useStore: () => any;\n useAtom: any;\n useAtomValue: any;\n useSetAtom: any;\n}\n\nexport const scope: StateIsolation = createIsolation();\n\nexport type AtomMap = [WritableAtom<any, any, any>, any][];\n\ntype ProviderProps = {\n children: ReactNode;\n atoms?: AtomMap;\n shouldUpdateAtoms?: boolean;\n};\n\nexport function ScopedProvider({\n children,\n atoms,\n shouldUpdateAtoms = true,\n}: ProviderProps) {\n // Always use the same store instance in this tree\n let val = null;\n try {\n val = scope.useStore();\n // This store has already been provided\n return children;\n } catch {\n return h(scope.Provider, { store: null, initialValues: atoms }, [\n h.if(shouldUpdateAtoms)(AtomUpdater, { atoms }),\n children,\n ]);\n }\n}\n\nfunction AtomUpdater({\n atoms,\n}: {\n atoms: [WritableAtom<any, any, any>, any][];\n}) {\n /**\n * A generic updater to sync Jotai atoms with state passed as props.\n * Useful for scoped providers where state needs to be synced outside\n * the current context.\n */\n /** TODO: this is an awkward way to keep atoms updated */\n // The scoped store\n const store = scope.useStore();\n\n // Warn on atoms changing length\n const prevLengthRef = useRef(atoms.length);\n useEffect(() => {\n if (prevLengthRef.current !== atoms.length) {\n console.error(\"Error: number of atoms in ScopedAtomUpdater has changed.\");\n prevLengthRef.current = atoms.length;\n }\n }, [atoms.length]);\n\n for (const [atom, value] of atoms) {\n useEffect(() => {\n store.set(atom, value);\n }, [store, value]);\n }\n return null;\n}\n\nexport const columnUnitsAtom = atom<BaseUnit[]>();\n\nexport const columnUnitsMapAtom = atom<Map<number, BaseUnit> | null>((get) => {\n const units = get(columnUnitsAtom);\n if (!units) return null;\n const unitMap = new Map<number, BaseUnit>();\n units.forEach((unit) => {\n unitMap.set(unit.unit_id, unit);\n });\n return unitMap;\n});\n"],"names":["atom","$90FvY$atom","createIsolation","$90FvY$createIsolation","useRef","$90FvY$useRef","useEffect","$90FvY$useEffect","$90FvY$macrostrathyper","$ffce9913d28c4a58$export$5cff813ca8e50db9","$ffce9913d28c4a58$export$deff48bd299912d9","children","atoms","shouldUpdateAtoms","useStore","Provider","store","initialValues","if","$ffce9913d28c4a58$var$AtomUpdater","prevLengthRef","length","value","current","console","error","set","$ffce9913d28c4a58$export$533095c4f32f2edc","$ffce9913d28c4a58$export$c798b7ff7cb2357b","get","units","unitMap","Map","forEach","unit","unit_id","scope","ScopedProvider","columnUnitsAtom","columnUnitsMapAtom"],"version":3,"file":"column-views.a0969fc8.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.e93b3bdb.js";import"./column-views.869c7199.js";import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.e93b3bdb.js";import"./column-views.869c7199.js";import"./column-views.54f7a243.js";import"./column-views.5c02450b.js";import"./column-views.dbb4a46b.js";import{usePlotArea as e,DetritalSpectrumPlot as t,DetritalSeries as r}from"@macrostrat/data-components";import a from"@macrostrat/hyper";import{useMemo as o}from"react";import i from"classnames";import{group as n}from"d3-array";import{NonIdealState as l,Spinner as s}from"@blueprintjs/core";function u(e,t,r,a){Object.defineProperty(e,t,{get:r,set:a,enumerable:!0,configurable:!0})}var m=globalThis,c={},d={},p=m.parcelRequirea149;null==p&&((p=function(e){if(e in c)return c[e].exports;if(e in d){var t=d[e];delete d[e];var r={id:e,exports:{}};return c[e]=r,t.call(r.exports,r,r.exports),r.exports}var a=Error("Cannot find module '"+e+"'");throw a.code="MODULE_NOT_FOUND",a}).register=function(e,t){d[e]=t},m.parcelRequirea149=p),p.register;var f={};u(f,"DetritalColumn",()=>H),u(f,"DetritalGroup",()=>A);var h=p("ehHhC"),g=p("jtfAP"),_=p("kIQUG"),v=p("wtIgl"),w=p("iWhRv");let b=a.styled(g&&g.__esModule?g.default:g);function H({columnID:e,color:t="magenta"}){let r=(0,h.useDetritalMeasurements)({col_id:e}),a=o(()=>e=>b(A,{width:360,height:40,color:t,...e}),[400,t]),{axisType:i,units:u}=(0,v.useMacrostratColumnData)(),m=o(()=>null==r||null==u?null:function(e,t,r){let a=n(e,e=>e.measuremeta_id),o=new Map;for(let e of a.values()){let a=Array.from(new Set(e.map(e=>e.unit_id)));a.sort();let i=a.join("-");if(!o.has(i)){let e=a.map(e=>t.find(t=>t.unit_id===e)).filter(Boolean),n=e.map(e=>{let[t,a]=(0,w.getUnitHeightRange)(e,r);return{height:t,top_height:a}}),l=(0,_.mergeHeightRanges)(n,r);o.set(i,{id:i,data:[],units:e,...l})}o.get(i).data.push(e[0])}return Array.from(o.values())}(r,u,i),[r,u,i]);return null==m?b(l,b(s)):b(_.BaseMeasurementsColumn,{data:m,noteComponent:a,deltaConnectorAttachment:20})}function x({unit:t}){let{xScale:r,height:a}=e(),{t_age:o,b_age:i}=t,n=r(o);return b("rect.depositional-age",{x:n,width:r(i)-n,y:0,height:a})}function A(e){let{note:a,width:o,height:n,color:l,spacing:s}=e,{data:u,units:m}=a;return b("div.detrital-group",{className:i({"hide-axis":(s?.below??100)<60})},[b(t,{width:o,innerHeight:n,showAxisLabels:!0,paddingBottom:40},[m.map(e=>b(x,{unit:e})),u.map(e=>b(r,{bandwidth:20,data:e.measure_value,color:l}))])])}export{H as DetritalColumn,A as DetritalGroup};
|
|
2
|
+
//# sourceMappingURL=column-views.b6613ab0.js.map
|