@macrostrat/column-views 2.3.3 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/esm/{column-views.ce3a3ac8.js → column-views.0f910df6.js} +2 -2
- package/dist/esm/{column-views.ce3a3ac8.js.map → column-views.0f910df6.js.map} +1 -1
- package/dist/esm/{column-views.4e6eead3.js → column-views.1cd57b96.js} +2 -2
- package/dist/esm/{column-views.4e6eead3.js.map → column-views.1cd57b96.js.map} +1 -1
- package/dist/esm/{column-views.ee9d71ba.js → column-views.1d356b7e.js} +2 -2
- package/dist/esm/{column-views.ee9d71ba.js.map → column-views.1d356b7e.js.map} +1 -1
- package/dist/esm/{column-views.3d3e00be.js → column-views.1ef0f7e8.js} +2 -2
- package/dist/esm/{column-views.3d3e00be.js.map → column-views.1ef0f7e8.js.map} +1 -1
- package/dist/esm/{column-views.ad2fe46c.js → column-views.1f954206.js} +2 -2
- package/dist/esm/{column-views.ad2fe46c.js.map → column-views.1f954206.js.map} +1 -1
- package/dist/esm/{column-views.24060b85.js → column-views.25713aad.js} +4 -4
- package/dist/esm/{column-views.24060b85.js.map → column-views.25713aad.js.map} +1 -1
- package/dist/esm/{column-views.9ffc089b.js → column-views.28cab78c.js} +3 -3
- package/dist/esm/{column-views.9ffc089b.js.map → column-views.28cab78c.js.map} +1 -1
- package/dist/esm/column-views.2e517e39.js +126 -0
- package/dist/esm/column-views.2e517e39.js.map +1 -0
- package/dist/esm/{column-views.18aac6a5.js → column-views.3067c5e3.js} +3 -3
- package/dist/esm/{column-views.18aac6a5.js.map → column-views.3067c5e3.js.map} +1 -1
- package/dist/esm/{column-views.6f96d1c3.js → column-views.31152763.js} +20 -17
- package/dist/esm/column-views.31152763.js.map +1 -0
- package/dist/esm/{column-views.04636815.js → column-views.33daabd5.js} +5 -5
- package/dist/esm/{column-views.04636815.js.map → column-views.33daabd5.js.map} +1 -1
- package/dist/esm/{column-views.e075af15.js → column-views.3c1cde51.js} +2 -2
- package/dist/esm/{column-views.e075af15.js.map → column-views.3c1cde51.js.map} +1 -1
- package/dist/esm/{column-views.0da4503a.js → column-views.3c9f5ba9.js} +2 -2
- package/dist/esm/{column-views.0da4503a.js.map → column-views.3c9f5ba9.js.map} +1 -1
- package/dist/esm/{column-views.c149f7a5.js → column-views.3d33ef0f.js} +3 -3
- package/dist/esm/{column-views.c149f7a5.js.map → column-views.3d33ef0f.js.map} +1 -1
- package/dist/esm/{column-views.8d972657.js → column-views.4099a246.js} +3 -3
- package/dist/esm/{column-views.8d972657.js.map → column-views.4099a246.js.map} +1 -1
- package/dist/esm/{column-views.b9265595.js → column-views.45acb682.js} +6 -6
- package/dist/esm/column-views.45acb682.js.map +1 -0
- package/dist/esm/{column-views.26e0e0b6.js → column-views.4e5746da.js} +2 -2
- package/dist/esm/{column-views.26e0e0b6.js.map → column-views.4e5746da.js.map} +1 -1
- package/dist/esm/{column-views.f7cdf6be.js → column-views.55bce35c.js} +3 -3
- package/dist/esm/{column-views.f7cdf6be.js.map → column-views.55bce35c.js.map} +1 -1
- package/dist/esm/{column-views.029ea8f1.js → column-views.631f55d4.js} +3 -3
- package/dist/esm/{column-views.029ea8f1.js.map → column-views.631f55d4.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.8168c37d.js +113 -0
- package/dist/esm/column-views.8168c37d.js.map +1 -0
- package/dist/esm/{column-views.b977da35.js → column-views.848349c0.js} +5 -5
- package/dist/esm/{column-views.b977da35.js.map → column-views.848349c0.js.map} +1 -1
- package/dist/esm/{column-views.73fc96cb.js → column-views.86b879ba.js} +5 -5
- package/dist/esm/{column-views.73fc96cb.js.map → column-views.86b879ba.js.map} +1 -1
- package/dist/esm/{column-views.d6c0b7bc.js → column-views.8c8f3fe0.js} +2 -2
- package/dist/esm/{column-views.d6c0b7bc.js.map → column-views.8c8f3fe0.js.map} +1 -1
- package/dist/esm/{column-views.3f1cdc18.js → column-views.9b210fb2.js} +2 -2
- package/dist/esm/{column-views.3f1cdc18.js.map → column-views.9b210fb2.js.map} +1 -1
- package/dist/esm/{column-views.4685ea28.js → column-views.9d0d78aa.js} +2 -2
- package/dist/esm/{column-views.4685ea28.js.map → column-views.9d0d78aa.js.map} +1 -1
- package/dist/esm/{column-views.e3f0cd7b.js → column-views.af89f2b1.js} +23 -33
- package/dist/esm/column-views.af89f2b1.js.map +1 -0
- package/dist/esm/{column-views.75b83110.js → column-views.b3398cca.js} +5 -5
- package/dist/esm/{column-views.75b83110.js.map → column-views.b3398cca.js.map} +1 -1
- package/dist/esm/{column-views.2f979aee.js → column-views.b7b0be88.js} +3 -3
- package/dist/esm/{column-views.2f979aee.js.map → column-views.b7b0be88.js.map} +1 -1
- package/dist/esm/{column-views.d1b49f5c.js → column-views.b8933ea2.js} +2 -2
- package/dist/esm/{column-views.d1b49f5c.js.map → column-views.b8933ea2.js.map} +1 -1
- package/dist/esm/{column-views.0a010643.js → column-views.b9c4d94c.js} +4 -4
- package/dist/esm/{column-views.0a010643.js.map → column-views.b9c4d94c.js.map} +1 -1
- package/dist/esm/{column-views.5fff0716.js → column-views.d3a4596e.js} +3 -3
- package/dist/esm/{column-views.5fff0716.js.map → column-views.d3a4596e.js.map} +1 -1
- package/dist/esm/{column-views.d5fff9b8.js → column-views.dda76243.js} +3 -3
- package/dist/esm/{column-views.d5fff9b8.js.map → column-views.dda76243.js.map} +1 -1
- package/dist/esm/{column-views.9d51a5ab.js → column-views.df872a2c.js} +2 -2
- package/dist/esm/column-views.df872a2c.js.map +1 -0
- package/dist/esm/{column-views.488f24b6.js → column-views.e21f4e50.js} +2 -2
- package/dist/esm/{column-views.488f24b6.js.map → column-views.e21f4e50.js.map} +1 -1
- package/dist/esm/{column-views.a665cbb2.js → column-views.f046b170.js} +5 -5
- package/dist/esm/{column-views.a665cbb2.js.map → column-views.f046b170.js.map} +1 -1
- package/dist/esm/{column-views.82a5112b.js → column-views.fc4d28d8.js} +4 -4
- package/dist/esm/{column-views.82a5112b.js.map → column-views.fc4d28d8.js.map} +1 -1
- package/dist/esm/{column-views.faa7e52e.js → column-views.fdb3799c.js} +3 -3
- package/dist/esm/{column-views.faa7e52e.js.map → column-views.fdb3799c.js.map} +1 -1
- package/dist/esm/index.d.ts +73 -57
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +11 -11
- package/dist/node/{column-views.75456275.js → column-views.00c19fe8.js} +2 -2
- package/dist/node/{column-views.75456275.js.map → column-views.00c19fe8.js.map} +1 -1
- package/dist/node/{column-views.7c322202.js → column-views.00caa49a.js} +2 -2
- package/dist/node/{column-views.7c322202.js.map → column-views.00caa49a.js.map} +1 -1
- package/dist/node/{column-views.9efa91f1.js → column-views.07680def.js} +2 -2
- package/dist/node/{column-views.9efa91f1.js.map → column-views.07680def.js.map} +1 -1
- package/dist/node/column-views.0980c2a0.js +2 -0
- package/dist/node/column-views.0980c2a0.js.map +1 -0
- package/dist/node/column-views.1495397b.js +2 -0
- package/dist/node/column-views.1495397b.js.map +1 -0
- package/dist/node/{column-views.47440961.js → column-views.190241c4.js} +2 -2
- package/dist/node/{column-views.47440961.js.map → column-views.190241c4.js.map} +1 -1
- package/dist/node/{column-views.fafbc028.js → column-views.1d1d6117.js} +2 -2
- package/dist/node/{column-views.fafbc028.js.map → column-views.1d1d6117.js.map} +1 -1
- package/dist/node/column-views.26306041.js +2 -0
- package/dist/node/column-views.26306041.js.map +1 -0
- package/dist/node/{column-views.6556e004.js → column-views.3ce34544.js} +2 -2
- package/dist/node/{column-views.6556e004.js.map → column-views.3ce34544.js.map} +1 -1
- package/dist/node/{column-views.c007152b.js → column-views.41d72280.js} +2 -2
- package/dist/node/{column-views.c007152b.js.map → column-views.41d72280.js.map} +1 -1
- package/dist/node/{column-views.59ce629d.js → column-views.4e677bc4.js} +2 -2
- package/dist/node/{column-views.59ce629d.js.map → column-views.4e677bc4.js.map} +1 -1
- package/dist/node/{column-views.2fe8feb9.js → column-views.60dc38f3.js} +2 -2
- package/dist/node/{column-views.2fe8feb9.js.map → column-views.60dc38f3.js.map} +1 -1
- package/dist/node/{column-views.d818b387.js → column-views.68fe4814.js} +2 -2
- package/dist/node/{column-views.d818b387.js.map → column-views.68fe4814.js.map} +1 -1
- package/dist/node/{column-views.3a947d58.js → column-views.69ddf14d.js} +2 -2
- package/dist/node/{column-views.3a947d58.js.map → column-views.69ddf14d.js.map} +1 -1
- package/dist/node/column-views.6d6a8fde.js +2 -0
- package/dist/node/column-views.6d6a8fde.js.map +1 -0
- package/dist/node/{column-views.08bef1f6.js → column-views.705f66b1.js} +2 -2
- package/dist/node/{column-views.08bef1f6.js.map → column-views.705f66b1.js.map} +1 -1
- package/dist/node/{column-views.8e846c57.js → column-views.7714173b.js} +2 -2
- package/dist/node/{column-views.8e846c57.js.map → column-views.7714173b.js.map} +1 -1
- package/dist/node/{column-views.a14f0134.js → column-views.7ee01d2b.js} +2 -2
- package/dist/node/{column-views.a14f0134.js.map → column-views.7ee01d2b.js.map} +1 -1
- package/dist/node/column-views.861b8e3e.js +2 -0
- package/dist/node/column-views.861b8e3e.js.map +1 -0
- package/dist/node/{column-views.c921fa1a.js → column-views.89afd6b3.js} +2 -2
- package/dist/node/{column-views.c921fa1a.js.map → column-views.89afd6b3.js.map} +1 -1
- package/dist/node/{column-views.8eae7028.js → column-views.8f5532b0.js} +2 -2
- package/dist/node/{column-views.8eae7028.js.map → column-views.8f5532b0.js.map} +1 -1
- package/dist/node/{column-views.67e7a200.js → column-views.97f7f353.js} +2 -2
- package/dist/node/{column-views.67e7a200.js.map → column-views.97f7f353.js.map} +1 -1
- package/dist/node/{column-views.3d0c2bea.js → column-views.9a408bbf.js} +2 -2
- package/dist/node/{column-views.3d0c2bea.js.map → column-views.9a408bbf.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.02869dc5.js → column-views.a0e23210.js} +2 -2
- package/dist/node/{column-views.02869dc5.js.map → column-views.a0e23210.js.map} +1 -1
- package/dist/node/{column-views.8f540f78.js → column-views.a54c0820.js} +2 -2
- package/dist/node/{column-views.8f540f78.js.map → column-views.a54c0820.js.map} +1 -1
- package/dist/node/{column-views.0f401891.js → column-views.b3aa406d.js} +2 -2
- package/dist/node/{column-views.0f401891.js.map → column-views.b3aa406d.js.map} +1 -1
- package/dist/node/{column-views.0a2596c2.js → column-views.b7f69f19.js} +2 -2
- package/dist/node/{column-views.0a2596c2.js.map → column-views.b7f69f19.js.map} +1 -1
- package/dist/node/{column-views.cd54f1b1.js → column-views.b9900855.js} +2 -2
- package/dist/node/{column-views.cd54f1b1.js.map → column-views.b9900855.js.map} +1 -1
- package/dist/node/{column-views.6b391d60.js → column-views.bd1481f0.js} +2 -2
- package/dist/node/{column-views.6b391d60.js.map → column-views.bd1481f0.js.map} +1 -1
- package/dist/node/{column-views.e264a767.js → column-views.bf90c8a3.js} +2 -2
- package/dist/node/column-views.bf90c8a3.js.map +1 -0
- package/dist/node/{column-views.fee4e65d.js → column-views.bfaf5ddb.js} +2 -2
- package/dist/node/{column-views.fee4e65d.js.map → column-views.bfaf5ddb.js.map} +1 -1
- package/dist/node/{column-views.00ad98fa.js → column-views.dedafcae.js} +2 -2
- package/dist/node/{column-views.00ad98fa.js.map → column-views.dedafcae.js.map} +1 -1
- package/dist/node/{column-views.e153680b.js → column-views.e1481ea6.js} +2 -2
- package/dist/node/{column-views.e153680b.js.map → column-views.e1481ea6.js.map} +1 -1
- package/dist/node/{column-views.c4188442.js → column-views.e4e014cd.js} +2 -2
- package/dist/node/{column-views.c4188442.js.map → column-views.e4e014cd.js.map} +1 -1
- package/dist/node/{column-views.465e593b.js → column-views.ed7b4c16.js} +2 -2
- package/dist/node/{column-views.465e593b.js.map → column-views.ed7b4c16.js.map} +1 -1
- package/dist/node/{column-views.2577dec0.js → column-views.f749dbd6.js} +2 -2
- package/dist/node/{column-views.2577dec0.js.map → column-views.f749dbd6.js.map} +1 -1
- package/dist/node/{column-views.825d2719.js → column-views.fcf2be3c.js} +2 -2
- package/dist/node/{column-views.825d2719.js.map → column-views.fcf2be3c.js.map} +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +3 -2
- package/src/age-model-overlay.ts +4 -2
- package/src/column.ts +18 -41
- package/src/correlation-chart/main.ts +11 -9
- package/src/data-provider/core.ts +89 -0
- package/src/data-provider/store.ts +79 -88
- package/src/data-provider/unit-selection.ts +120 -147
- package/src/unit-details/popover.ts +8 -4
- 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.9d51a5ab.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.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.868c04dc.js +0 -2
- package/dist/node/column-views.868c04dc.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.map +0 -1
- package/dist/node/column-views.ed2fd268.js +0 -2
- package/dist/node/column-views.ed2fd268.js.map +0 -1
|
@@ -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,EAAA,EAAA,kBAAiB,AAAjB,IACR,EAAW,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,KAAwB,EAAE,CAErC,EAAS,AAAA,EAAQ,SAvCH,EAyCE,AAAA,EAA0B,EADjC,EAAS,MAAM,CAAC,AAAC,GAAM,EAAE,WAAW,GAAK,IAvCxD,IAAI,EAAS,EAAE,CACf,IAAK,IAAM,KAAQ,EAAU,CAC3B,IAAM,EAAO,EAAK,aAAa,CAAC,GAAG,CAAC,CAAC,EAAG,IAC/B,CAAA,CACL,MAAO,EACP,IAAK,EAAK,WAAW,CAAC,EAAE,CACxB,SAAU,EAAK,gBAAgB,CAAC,EAAE,CAClC,QAAS,EAAK,OAAO,CACrB,UAAW,EAAK,SAAS,CAAC,EAAE,CAC5B,YAAa,EAAK,WAAW,AAC/B,CAAA,GAEF,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAQ,EACrC,CACA,OAAO,CA4BP,EAAG,CAAC,EAAU,EAAW,EAAM,EAE/B,OAAO,EACL,EAAA,gBAAe,CACf,CACE,UAAA,AAAU,GACD,EAAE,GAAG,AAEhB,EACA,EACE,gBACA,EAAO,GAAG,CAAC,AAAC,GACH,EAAE,EAAA,gBAAe,CAAG,CACzB,MAAO,EACP,KAAM,CACR,KAIR,CAEA,SAAS,EACP,CAA0D,EAE1D,GAAM,CAAA,MACJ,EAAQ,GAAA,CAAA,OACR,EAAS,CAAC,IAAK,EAAE,CAAA,UACjB,CAAS,CAAA,MACT,CAAK,CAAA,MACL,EAAQ,YAAA,CAAA,SACR,EAAW,IAAA,CAAA,UACX,CAAS,CAAA,UACT,CAAS,CAAA,SACT,EAAW,CAAA,CAAA,CACX,WAAY,CAAS,CAAA,OACrB,EAAS,CAAA,CACT,GAAG,EACJ,CAAG,EAEE,CAAA,YAAE,CAAW,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAEpB,EAAiB,CACjB,AAAY,OAAZ,GAAoB,AAAa,MAAb,GACtB,CAAA,EAAY,EAAE,EAAiB,CAAE,UAAA,EAAW,MAAA,EAAO,UAAA,CAAU,EAAA,EAG/D,IAAM,EAAS,AAAA,EACb,IAAM,AAAA,IAAc,MAAM,CAAC,GAAQ,KAAK,CAAC,CAAC,EAAG,EAAM,EACnD,CAAC,EAAQ,EAAM,EAGX,EAAa,GAAa,EAAO,KAAK,CAAC,GAE7C,OAAO,EAAE,sBAAuB,CAC9B,EACE,EACA,CACE,OAAQ,EACR,WAAY,EACZ,SAAU,EACZ,EACA,EACE,EACA,CAAE,MAAA,EAAO,OAAA,CAAO,EAChB,EAAE,oBAAqB,CAAE,UAAW,EAAW,UAAA,CAAU,EAAG,CAC1D,EAAE,EAAkB,CAClB,OAAA,EACA,WAAA,EACA,MAAA,EACA,GAAG,CAAI,AACT,GACA,EACD,IAGL,EAAE,EAAE,CAAC,GAAU,EAAiB,CAC9B,MAAA,EACA,MAAO,GAAS,EAChB,OAAA,EACA,WAAA,EACA,GAAG,CAAI,AACT,GACD,CACH,CAEA,SAAS,EAAgB,CAAK,EAC5B,GAAM,CAAA,MAAE,CAAK,CAAA,OAAE,CAAM,CAAA,MAAE,CAAK,CAAA,SAAE,EAAW,CAAA,CAAA,CAAA,WAAM,CAAU,CAAE,GAAG,EAAM,CAAG,EAEvE,OAAO,EAAE,0BAA2B,CAClC,EACE,EACA,CACE,WAAY,EACZ,OAAQ,GACR,SAAU,EACZ,EACA,CACE,EAAE,EAAY,CACZ,MAAO,EACP,WAAY,EACZ,WAAA,EACA,OAAQ,6BACR,WAAY,6BACZ,GAAG,CAAI,CACP,MAAA,CACF,GACD,EAEJ,CACH,CAEA,SAAS,EAAiB,CAAK,EAC7B,GAAM,CAAA,WAAE,CAAU,CAAA,OAAE,CAAM,CAAE,CAAG,EAE/B,OAAO,EACL,gBACA,EAAW,GAAG,CAAC,AAAC,GACP,EAAE,EAAW,CAAE,MAAA,CAAM,IAGlC,Q,K,e,C,K,c","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,EAAA,EAAA,kBAAiB,AAAjB,IACR,EAAW,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,KAAwB,EAAE,CAErC,EAAS,AAAA,EAAQ,SAvCH,EAyCE,AAAA,EAA0B,EADjC,EAAS,MAAM,CAAC,AAAC,GAAM,EAAE,WAAW,GAAK,IAvCxD,IAAI,EAAS,EAAE,CACf,IAAK,IAAM,KAAQ,EAAU,CAC3B,IAAM,EAAO,EAAK,aAAa,CAAC,GAAG,CAAC,CAAC,EAAG,IAC/B,CAAA,CACL,MAAO,EACP,IAAK,EAAK,WAAW,CAAC,EAAE,CACxB,SAAU,EAAK,gBAAgB,CAAC,EAAE,CAClC,QAAS,EAAK,OAAO,CACrB,UAAW,EAAK,SAAS,CAAC,EAAE,CAC5B,YAAa,EAAK,WAAW,AAC/B,CAAA,GAEF,MAAM,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAQ,EACrC,CACA,OAAO,CA4BP,EAAG,CAAC,EAAU,EAAW,EAAM,EAE/B,OAAO,EACL,EAAA,gBAAe,CACf,CACE,UAAA,AAAU,GACD,EAAE,GAAG,AAEhB,EACA,EACE,gBACA,EAAO,GAAG,CAAC,AAAC,GACH,EAAE,EAAA,gBAAe,CAAG,CACzB,MAAO,EACP,KAAM,CACR,KAIR,CAEA,SAAS,EACP,CAA0D,EAE1D,GAAM,CAAA,MACJ,EAAQ,GAAA,CAAA,OACR,EAAS,CAAC,IAAK,EAAE,CAAA,UACjB,CAAS,CAAA,MACT,CAAK,CAAA,MACL,EAAQ,YAAA,CAAA,SACR,EAAW,IAAA,CAAA,UACX,CAAS,CAAA,UACT,CAAS,CAAA,SACT,EAAW,CAAA,CAAA,CACX,WAAY,CAAS,CAAA,OACrB,EAAS,CAAA,CACT,GAAG,EACJ,CAAG,EAEE,CAAA,YAAE,CAAW,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAEpB,EAAiB,CACjB,AAAY,OAAZ,GAAoB,AAAa,MAAb,GACtB,CAAA,EAAY,EAAE,EAAiB,CAAE,UAAA,EAAW,MAAA,EAAO,UAAA,CAAU,EAAA,EAG/D,IAAM,EAAS,AAAA,EACb,IAAM,AAAA,IAAc,MAAM,CAAC,GAAQ,KAAK,CAAC,CAAC,EAAG,EAAM,EACnD,CAAC,EAAQ,EAAM,EAGX,EAAa,GAAa,EAAO,KAAK,CAAC,GAE7C,OAAO,EAAE,sBAAuB,CAC9B,EACE,EACA,CACE,OAAQ,EACR,WAAY,EACZ,SAAU,EACZ,EACA,EACE,EACA,CAAE,MAAA,EAAO,OAAA,CAAO,EAChB,EAAE,oBAAqB,CAAE,UAAW,EAAW,UAAA,CAAU,EAAG,CAC1D,EAAE,EAAkB,CAClB,OAAA,EACA,WAAA,EACA,MAAA,EACA,GAAG,CAAI,AACT,GACA,EACD,IAGL,EAAE,EAAE,CAAC,GAAU,EAAiB,CAC9B,MAAA,EACA,MAAO,GAAS,EAChB,OAAA,EACA,WAAA,EACA,GAAG,CAAI,AACT,GACD,CACH,CAEA,SAAS,EAAgB,CAAK,EAC5B,GAAM,CAAA,MAAE,CAAK,CAAA,OAAE,CAAM,CAAA,MAAE,CAAK,CAAA,SAAE,EAAW,CAAA,CAAA,CAAA,WAAM,CAAU,CAAE,GAAG,EAAM,CAAG,EAEvE,OAAO,EAAE,0BAA2B,CAClC,EACE,EACA,CACE,WAAY,EACZ,OAAQ,GACR,SAAU,EACZ,EACA,CACE,EAAE,EAAY,CACZ,MAAO,EACP,WAAY,EACZ,WAAA,EACA,OAAQ,6BACR,WAAY,6BACZ,GAAG,CAAI,CACP,MAAA,CACF,GACD,EAEJ,CACH,CAEA,SAAS,EAAiB,CAAK,EAC7B,GAAM,CAAA,WAAE,CAAU,CAAA,OAAE,CAAM,CAAE,CAAG,EAE/B,OAAO,EACL,gBACA,EAAW,GAAG,CAAC,AAAC,GACP,EAAE,EAAW,CAAE,MAAA,CAAM,IAGlC,Q,K,e,C,K,c","sources":["<anon>","packages/column-views/src/facets/carbon-isotopes/isotopes-column.ts"],"sourcesContent":["import \"./column-views.82cf7c0d.js\";\nimport \"./column-views.ed7b4c16.js\";\nimport \"./column-views.0980c2a0.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.00c19fe8.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.00c19fe8.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.00c19fe8.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.00caa49a.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.00c19fe8.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.00caa49a.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.00caa49a.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.4ec769a6.js";import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.4ec769a6.js";import"./column-views.69ddf14d.js";import"./column-views.0980c2a0.js";import"./column-views.672b683c.js";import"./column-views.dbb4a46b.js";import"./column-views.3ce34544.js";import e from"@macrostrat/hyper";import{ColumnAxisType as t}from"@macrostrat/column-components";import{scaleLinear as n}from"d3-scale";function o(e,t,n,o){Object.defineProperty(e,t,{get:n,set:o,enumerable:!0,configurable:!0})}var l=globalThis,a={},r={},s=l.parcelRequirea149;null==s&&((s=function(e){if(e in a)return a[e].exports;if(e in r){var t=r[e];delete r[e];var n={id:e,exports:{}};return a[e]=n,t.call(n.exports,n,n.exports),n.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,t){r[e]=t},l.parcelRequirea149=s),s.register;var i={};o(i,"PBDBFossilsColumn",()=>b),o(i,"FossilDataType",()=>s("dx7no").FossilDataType),o(i,"useFossilData",()=>s("dx7no").useFossilData);var u=s("dx7no"),c=s("kIQUG"),f=s("wtIgl"),m=s("f7qDU"),p=s("iWhRv"),d=s("6dOaS");let _=e.styled(m&&m.__esModule?m.default:m);function b({columnID:e,type:o=u.FossilDataType.Collections}){let l=(0,u.useFossilData)(e,o),{axisType:a,units:r}=(0,f.useMacrostratColumnData)(),s=(0,f.useCompositeScale)();if(null==l||null==r||null==s)return null;let i=function(e,o,l,a,r){let{groupCloseNotes:s=!0}=(void 0)??{},i=new Map;for(let l of e){let e=function(e,o,l){let a=null;if(null!=e.slb&&"mbsf"==e.slu&&(a=Number(e.slb),l===t.DEPTH))return{height:a};if(null==e.unit_id)return null;if(null!=a){let r=o.find(t=>t.unit_id===e.unit_id);if(null==r)return null;let s=function(e,t,o){let l=n((0,p.getUnitHeightRange)(t,o,!1)).domain([0,1]).invert(e);return l<0||l>1?null:l}(a,r,t.DEPTH);return null==s?null:{height:a=(0,p.getPositionWithinUnit)(s,r,l)}}return(0,c.standardizeMeasurementHeight)({unit_id:e.unit_id},o,l)}(l,o,a);if(null==e)continue;let{height:r,top_height:s}=e,u=`${r}`;null!=s&&(u+=`-${s}`),i.has(u)||i.set(u,{height:r,top_height:s??r,data:[],id:u}),i.get(u).data.push(l)}return(0,c.groupNotesByPixelDistance)(Array.from(i.values()),l,a,"number"==typeof s?s:10)}(l,r,s,a);return _(c.BaseMeasurementsColumn,{data:i,noteComponent:h,focusedNoteComponent:h,className:"fossil-collections"})}function h(e){let{note:t,maxItems:n,focused:o=!1}=e,{data:l}=t;return l.sort((e,t)=>{let n=e.best_name??e.cltn_name??"",o=t.best_name??t.cltn_name??"";return n.localeCompare(o)}),_(c.TruncatedList,{data:l,className:"fossil-collections",itemRenderer:g,maxItems:o?1/0:n??5})}function g({data:e}){return _("a.link-id",{href:`https://paleobiodb.org/app/collections#display=col:${e.cltn_id}`,target:"_blank",onClick(e){e.stopPropagation()}},e.best_name??e.cltn_name)}Object.keys(d).forEach(function(e){"default"===e||"__esModule"===e||Object.prototype.hasOwnProperty.call(i,e)||Object.defineProperty(i,e,{enumerable:!0,get:function(){return d[e]}})});export{b as PBDBFossilsColumn,$8e174c7ae24a4598$export$a990c76b38782f57 as FossilDataType,$8e174c7ae24a4598$export$e6af757fa9780077 as useFossilData,$9cea14fa75e12a56$export$652730986cccff7a as PBDBOccurrencesMatrix};
|
|
2
|
+
//# sourceMappingURL=column-views.07680def.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,kB,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,oB,I,G,E,E,iB,I,A,E,S,c,E,E,E,gB,I,A,E,S,a,E,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCwCA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAEhB,SAAS,EAAkB,CAAA,SAChC,CAAQ,CAAA,KACR,EAAO,AAAA,EAAA,cAAa,CAAE,WAAW,CAIlC,EACC,IAAM,EAAO,AAAA,CAAA,EAAA,EAAA,aAAY,AAAZ,EAAc,EAAU,GAC/B,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IACtB,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAEd,GAAI,AAAQ,MAAR,GAAgB,AAAS,MAAT,GAAiB,AAAS,MAAT,EAAe,OAAO,KAE3D,IAAM,EAAQ,AAuEhB,SACE,CAAS,CACT,CAAiB,CACjB,CAA2B,CAC3B,CAAwB,CACxB,CAAgC,EAGhC,GAAM,CAAA,gBAAE,EAAkB,CAAA,CAAA,CAAM,CAAG,AAHnC,CAAA,KAAA,CAAA,GAG8C,CAAC,EAKzC,EAAU,IAAI,IAIpB,IAAK,IAAM,KAAK,EAAM,CACpB,IAAM,EAAQ,AA8BlB,SACE,CAAI,CACJ,CAAiB,CACjB,CAAwB,EAExB,IAAI,EAAwB,KAC5B,GAAI,AAAS,MAAT,EAAE,GAAG,EAAY,AAAS,QAAT,EAAE,GAAG,GAGxB,EAAS,OAAO,EAAE,GAAG,EACjB,IAAa,AAAA,EAAe,KAAK,EAEnC,MAAO,CAAE,OAAA,CAAO,EAGpB,GAAI,AAAa,MAAb,EAAE,OAAO,CAAU,OAAO,KAC9B,GAAI,AAAU,MAAV,EAAgB,CAMlB,IAAM,EAAO,EAAM,IAAI,CAAC,AAAC,GAAM,EAAE,OAAO,GAAK,EAAE,OAAO,EACtD,GAAI,AAAQ,MAAR,EAAc,OAAO,KACzB,IAAM,EAAY,AAatB,SACE,CAAW,CACX,CAAc,CACd,CAAwB,EAKxB,IAAM,EAAS,AADD,AAAA,EADE,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,EAAM,EAAU,CAAA,IAChB,MAAM,CAAC,CAAC,EAAG,EAAE,EAC3B,MAAM,CAAC,UAC5B,AAAI,EAAS,GAAK,EAAS,EAAU,KAC9B,CACT,EAvBM,EACA,EACA,AAAA,EAAe,KAAK,SAEtB,AAAI,AAAa,MAAb,EAA0B,KAEvB,CAAE,OADT,EAAS,AAAA,CAAA,EAAA,EAAA,qBAAoB,AAApB,EAAsB,EAAW,EAAM,EAChC,CAClB,CAEA,MAAO,AAAA,CAAA,EAAA,EAAA,4BAA2B,AAA3B,EAA6B,CAAE,QAAS,EAAE,OAAO,AAAC,EAAG,EAAO,EACrE,EAjE8C,EAAG,EAAO,GAEpD,GAAI,AAAS,MAAT,EAAe,SACnB,GAAM,CAAA,OAAE,CAAM,CAAA,WAAE,CAAU,CAAE,CAAG,EAE3B,EAAM,CAAA,EAAG,EAAA,CAAQ,AACjB,AAAc,OAAd,GACF,CAAA,GAAO,CAAC,CAAC,EAAE,EAAA,CAAY,AAAZ,EAIT,AAAC,EAAQ,GAAG,CAAC,IACf,EAAQ,GAAG,CAAC,EAAK,CACf,OAAA,EACA,WAAY,GAAc,EAC1B,KAAM,EAAE,CACR,GAAI,CACN,GAEF,EAAQ,GAAG,CAAC,GAAM,IAAI,CAAC,IAAI,CAAC,EAC9B,CAEA,MAAO,AAAA,CAAA,EAAA,EAAA,yBAAwB,AAAxB,EACL,MAAM,IAAI,CAAC,EAAQ,MAAM,IACzB,EACA,EAjCA,AAA2B,UAA3B,OAAO,EAA+B,EAAkB,GAoC5D,EArHgC,EAAM,EAAO,EAAO,GAElD,OAAO,EAAE,EAAA,sBAAqB,CAAG,CAC/B,KAAM,EACN,cAAe,EACf,qBAAsB,EACtB,UAAW,oBACb,EACF,CAkBA,SAAS,EAAW,CAAsB,EACxC,GAAM,CAAA,KAAE,CAAI,CAAA,SAAE,CAAQ,CAAA,QAAE,EAAU,CAAA,CAAA,CAAO,CAAG,EACtC,CAAA,KAAE,CAAI,CAAE,CAAG,EAQjB,OANA,EAAK,IAAI,CAAC,CAAC,EAAG,KACZ,IAAM,EAAQ,EAAE,SAAS,EAAI,EAAE,SAAS,EAAI,GACtC,EAAQ,EAAE,SAAS,EAAI,EAAE,SAAS,EAAI,GAC5C,OAAO,EAAM,aAAa,CAAC,EAC7B,GAEO,EAAE,EAAA,aAAY,CAAG,CACtB,KAAA,EACA,UAAW,qBACX,aAAc,EACd,SAAU,EAAU,IAAY,GAAY,CAC9C,EACF,CAEA,SAAS,EAAmB,CAAA,KAC1B,CAAI,CAGL,EAEC,OAAO,EACL,YACA,CACE,KAAM,CAAC,mDAAmD,EAAE,EAAK,OAAO,CAAA,CAAE,CAC1E,OAAQ,SACR,QAAQ,CAAC,EACP,EAAE,eAAe,EACnB,CACF,EACA,EAAK,SAAS,EAAI,EAAK,SAAS,CAEpC,C,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,A,C,C,E,A,C,E,U,K,iB,C,6C,c,C,6C,a,C,6C,qB","sources":["<anon>","packages/column-views/src/facets/fossils/index.ts"],"sourcesContent":["import \"./column-views.4ec769a6.js\";\nimport \"./column-views.3a947d58.js\";\nimport \"./column-views.46efb749.js\";\nimport \"./column-views.672b683c.js\";\nimport \"./column-views.dbb4a46b.js\";\nimport \"./column-views.6556e004.js\";\nimport $2jHE4$macrostrathyper from \"@macrostrat/hyper\";\nimport {ColumnAxisType as $2jHE4$ColumnAxisType} from \"@macrostrat/column-components\";\nimport {scaleLinear as $2jHE4$scaleLinear} from \"d3-scale\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\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\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 $ea2f112131e22f14$exports = {};\n\n$parcel$export($ea2f112131e22f14$exports, \"PBDBFossilsColumn\", () => $ea2f112131e22f14$export$554267114407ef68);\n$parcel$export($ea2f112131e22f14$exports, \"FossilDataType\", () => (parcelRequire(\"dx7no\")).FossilDataType);\n$parcel$export($ea2f112131e22f14$exports, \"useFossilData\", () => (parcelRequire(\"dx7no\")).useFossilData);\n\n\nvar $dx7no = parcelRequire(\"dx7no\");\n\nvar $kIQUG = parcelRequire(\"kIQUG\");\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $f7qDU = parcelRequire(\"f7qDU\");\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\n\n\nvar $6dOaS = parcelRequire(\"6dOaS\");\nconst $ea2f112131e22f14$var$h = (0, $2jHE4$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($f7qDU))));\nfunction $ea2f112131e22f14$export$554267114407ef68({ columnID: columnID, type: type = (0, $dx7no.FossilDataType).Collections }) {\n const data = (0, $dx7no.useFossilData)(columnID, type);\n const { axisType: axisType, units: units } = (0, $wtIgl.useMacrostratColumnData)();\n const scale = (0, $wtIgl.useCompositeScale)();\n if (data == null || units == null || scale == null) return null;\n const data1 = $ea2f112131e22f14$var$preparePBDBData(data, units, scale, axisType);\n return $ea2f112131e22f14$var$h((0, $kIQUG.BaseMeasurementsColumn), {\n data: data1,\n noteComponent: $ea2f112131e22f14$var$FossilInfo,\n focusedNoteComponent: $ea2f112131e22f14$var$FossilInfo,\n className: \"fossil-collections\"\n });\n}\nfunction $ea2f112131e22f14$var$FossilInfo(props) {\n const { note: note, maxItems: maxItems, focused: focused = false } = props;\n const { data: data } = note;\n // Sort collections by name\n data.sort((a, b)=>{\n const nameA = a.best_name ?? a.cltn_name ?? \"\";\n const nameB = b.best_name ?? b.cltn_name ?? \"\";\n return nameA.localeCompare(nameB);\n });\n return $ea2f112131e22f14$var$h((0, $kIQUG.TruncatedList), {\n data: data,\n className: \"fossil-collections\",\n itemRenderer: $ea2f112131e22f14$var$PBDBCollectionLink,\n maxItems: focused ? Infinity : maxItems ?? 5\n });\n}\nfunction $ea2f112131e22f14$var$PBDBCollectionLink({ data: data }) {\n /** A link to a PBDB collection that handles either an occurrence or collection object */ return $ea2f112131e22f14$var$h(\"a.link-id\", {\n href: `https://paleobiodb.org/app/collections#display=col:${data.cltn_id}`,\n target: \"_blank\",\n onClick (e) {\n e.stopPropagation();\n }\n }, data.best_name ?? data.cltn_name);\n}\nfunction $ea2f112131e22f14$var$preparePBDBData(data, units, scale, axisType, options) {\n /** Prepare PBDB fossil data for display in a measurements column */ const { groupCloseNotes: groupCloseNotes = true } = options ?? {};\n const groupDistance = typeof groupCloseNotes === \"number\" ? groupCloseNotes : 10;\n // Map of data to its defined height ranges\n const dataMap = new Map();\n // Todo: if we wanted, we could add a step where we group notes that are too close together here...\n for (const d of data){\n const range = $ea2f112131e22f14$var$getHeightRangeForPBDBEntity(d, units, axisType);\n if (range == null) continue;\n const { height: height, top_height: top_height } = range;\n // compose the key based on height info\n let key = `${height}`;\n if (top_height != null) key += `-${top_height}`;\n // Group by height key\n if (!dataMap.has(key)) dataMap.set(key, {\n height: height,\n top_height: top_height ?? height,\n data: [],\n id: key\n });\n dataMap.get(key).data.push(d);\n }\n return (0, $kIQUG.groupNotesByPixelDistance)(Array.from(dataMap.values()), scale, axisType, groupDistance);\n}\nfunction $ea2f112131e22f14$var$getHeightRangeForPBDBEntity(d, units, axisType) {\n let height = null;\n if (d.slb != null && d.slu == \"mbsf\") {\n // Meters below sea floor - special case for eODP where we have\n // specific depth data referenced\n height = Number(d.slb);\n if (axisType === (0, $2jHE4$ColumnAxisType).DEPTH) // Data is already in depth units\n return {\n height: height\n };\n }\n if (d.unit_id == null) return null;\n if (height != null) {\n // If we have both height and unit info, we need to adjust the height\n // to fit whatever scale type we're using.\n // TODO: we could improve how this works by having concurrent age and\n // height scales, which would allow us to do this without having to\n // reference to a specific unit.\n const unit = units.find((u)=>u.unit_id === d.unit_id);\n if (unit == null) return null;\n const relHeight = $ea2f112131e22f14$var$getRelativePositionInUnit(height, unit, (0, $2jHE4$ColumnAxisType).DEPTH);\n if (relHeight == null) return null;\n height = (0, $iWhRv.getPositionWithinUnit)(relHeight, unit, axisType);\n return {\n height: height\n };\n }\n // We can just get the height within the unit, clipped to the unit boundaries\n return (0, $kIQUG.standardizeMeasurementHeight)({\n unit_id: d.unit_id\n }, units, axisType);\n}\nfunction $ea2f112131e22f14$var$getRelativePositionInUnit(pos, unit, axisType) {\n // This is the inverse of getPositionWithinUnit\n const heights = (0, $iWhRv.getUnitHeightRange)(unit, axisType, false);\n const scale = (0, $2jHE4$scaleLinear)(heights).domain([\n 0,\n 1\n ]);\n const relPos = scale.invert(pos);\n if (relPos < 0 || relPos > 1) return null;\n return relPos;\n}\n$parcel$exportWildcard($ea2f112131e22f14$exports, $6dOaS);\n\n\nexport {$ea2f112131e22f14$export$554267114407ef68 as PBDBFossilsColumn, $8e174c7ae24a4598$export$a990c76b38782f57 as FossilDataType, $8e174c7ae24a4598$export$e6af757fa9780077 as useFossilData, $9cea14fa75e12a56$export$652730986cccff7a as PBDBOccurrencesMatrix};\n//# sourceMappingURL=column-views.9efa91f1.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport {\n FossilDataType,\n type PBDBCollection,\n type PBDBEntity,\n type PBDBOccurrence,\n useFossilData,\n} from \"./provider\";\nimport type { IUnit } from \"../../units\";\nimport {\n BaseMeasurementsColumn,\n ColumnMeasurementData,\n MeasurementHeightData,\n standardizeMeasurementHeight,\n groupNotesByPixelDistance,\n TruncatedList,\n} from \"../measurements\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport {\n useCompositeScale,\n useMacrostratColumnData,\n} from \"../../data-provider\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport styles from \"./taxon-ranges.module.sass\";\nimport {\n CompositeColumnScale,\n getPositionWithinUnit,\n getUnitHeightRange,\n} from \"../../prepare-units\";\nimport { scaleLinear } from \"d3-scale\";\n\nexport {\n FossilDataType,\n type PBDBCollection,\n type PBDBEntity,\n type PBDBOccurrence,\n useFossilData,\n};\nexport * from \"./taxon-ranges\";\n\nconst h = hyper.styled(styles);\n\nexport function PBDBFossilsColumn({\n columnID,\n type = FossilDataType.Collections,\n}: {\n columnID: number;\n type: FossilDataType;\n}) {\n const data = useFossilData(columnID, type);\n const { axisType, units } = useMacrostratColumnData();\n const scale = useCompositeScale();\n\n if (data == null || units == null || scale == null) return null;\n\n const data1 = preparePBDBData(data, units, scale, axisType);\n\n return h(BaseMeasurementsColumn, {\n data: data1,\n noteComponent: FossilInfo,\n focusedNoteComponent: FossilInfo,\n className: \"fossil-collections\",\n });\n}\n\ninterface FossilItemProps {\n note: {\n data: PBDBCollection[];\n unit?: IUnit;\n };\n spacing?: {\n below?: number;\n above?: number;\n };\n width?: number;\n height?: number;\n color?: string;\n focused?: boolean;\n maxItems?: number;\n}\n\nfunction FossilInfo(props: FossilItemProps) {\n const { note, maxItems, focused = false } = props;\n const { data } = note;\n // Sort collections by name\n data.sort((a, b) => {\n const nameA = a.best_name ?? a.cltn_name ?? \"\";\n const nameB = b.best_name ?? b.cltn_name ?? \"\";\n return nameA.localeCompare(nameB);\n });\n\n return h(TruncatedList, {\n data,\n className: \"fossil-collections\",\n itemRenderer: PBDBCollectionLink,\n maxItems: focused ? Infinity : (maxItems ?? 5),\n });\n}\n\nfunction PBDBCollectionLink({\n data,\n}: {\n data: PBDBCollection | PBDBOccurrence;\n}) {\n /** A link to a PBDB collection that handles either an occurrence or collection object */\n return h(\n \"a.link-id\",\n {\n href: `https://paleobiodb.org/app/collections#display=col:${data.cltn_id}`,\n target: \"_blank\",\n onClick(e) {\n e.stopPropagation();\n },\n },\n data.best_name ?? data.cltn_name,\n );\n}\n\ninterface PreparePBDBDataOptions {\n /** If set, group close notes within this distance (in pixels in display space)\n * into a single note. If a number is provided, that number is used as the distance,\n * otherwise a default of 5 pixels is used.\n */\n groupCloseNotes?: boolean | number;\n}\n\nfunction preparePBDBData<T extends PBDBEntity>(\n data: T[],\n units: UnitLong[],\n scale: CompositeColumnScale,\n axisType: ColumnAxisType,\n options?: PreparePBDBDataOptions,\n) {\n /** Prepare PBDB fossil data for display in a measurements column */\n const { groupCloseNotes = true } = options ?? {};\n const groupDistance =\n typeof groupCloseNotes === \"number\" ? groupCloseNotes : 10;\n\n // Map of data to its defined height ranges\n const dataMap = new Map<string, ColumnMeasurementData<T[]>>();\n\n // Todo: if we wanted, we could add a step where we group notes that are too close together here...\n\n for (const d of data) {\n const range = getHeightRangeForPBDBEntity(d, units, axisType);\n\n if (range == null) continue;\n const { height, top_height } = range;\n // compose the key based on height info\n let key = `${height}`;\n if (top_height != null) {\n key += `-${top_height}`;\n }\n\n // Group by height key\n if (!dataMap.has(key)) {\n dataMap.set(key, {\n height,\n top_height: top_height ?? height,\n data: [],\n id: key,\n });\n }\n dataMap.get(key)!.data.push(d);\n }\n\n return groupNotesByPixelDistance(\n Array.from(dataMap.values()),\n scale,\n axisType,\n groupDistance,\n );\n}\n\nfunction getHeightRangeForPBDBEntity<T extends PBDBEntity>(\n d: T,\n units: UnitLong[],\n axisType: ColumnAxisType,\n): MeasurementHeightData | null {\n let height: number | null = null;\n if (d.slb != null && d.slu == \"mbsf\") {\n // Meters below sea floor - special case for eODP where we have\n // specific depth data referenced\n height = Number(d.slb);\n if (axisType === ColumnAxisType.DEPTH) {\n // Data is already in depth units\n return { height };\n }\n }\n if (d.unit_id == null) return null;\n if (height != null) {\n // If we have both height and unit info, we need to adjust the height\n // to fit whatever scale type we're using.\n // TODO: we could improve how this works by having concurrent age and\n // height scales, which would allow us to do this without having to\n // reference to a specific unit.\n const unit = units.find((u) => u.unit_id === d.unit_id);\n if (unit == null) return null;\n const relHeight = getRelativePositionInUnit(\n height,\n unit,\n ColumnAxisType.DEPTH,\n );\n if (relHeight == null) return null;\n height = getPositionWithinUnit(relHeight, unit, axisType);\n return { height };\n }\n // We can just get the height within the unit, clipped to the unit boundaries\n return standardizeMeasurementHeight({ unit_id: d.unit_id }, units, axisType);\n}\n\nfunction getRelativePositionInUnit(\n pos: number,\n unit: UnitLong,\n axisType: ColumnAxisType,\n): number | null {\n // This is the inverse of getPositionWithinUnit\n const heights = getUnitHeightRange(unit, axisType, false);\n const scale = scaleLinear(heights).domain([0, 1]);\n const relPos = scale.invert(pos);\n if (relPos < 0 || relPos > 1) return null;\n return relPos;\n}\n"],"names":["$2jHE4$macrostrathyper","ColumnAxisType","$2jHE4$ColumnAxisType","scaleLinear","$2jHE4$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","$ea2f112131e22f14$exports","$ea2f112131e22f14$export$554267114407ef68","FossilDataType","useFossilData","$dx7no","$kIQUG","$wtIgl","$f7qDU","$iWhRv","$6dOaS","$ea2f112131e22f14$var$h","styled","a","__esModule","default","columnID","type","Collections","data","axisType","units","useMacrostratColumnData","scale","useCompositeScale","data1","$ea2f112131e22f14$var$preparePBDBData","options","groupCloseNotes","dataMap","Map","d","range","$ea2f112131e22f14$var$getHeightRangeForPBDBEntity","height","slb","slu","Number","DEPTH","unit_id","unit","find","u","relHeight","$ea2f112131e22f14$var$getRelativePositionInUnit","pos","relPos","getUnitHeightRange","domain","invert","getPositionWithinUnit","standardizeMeasurementHeight","top_height","key","has","push","groupNotesByPixelDistance","Array","from","values","BaseMeasurementsColumn","noteComponent","$ea2f112131e22f14$var$FossilInfo","focusedNoteComponent","className","props","note","maxItems","focused","sort","b","nameA","best_name","cltn_name","nameB","localeCompare","TruncatedList","itemRenderer","$ea2f112131e22f14$var$PBDBCollectionLink","Infinity","href","cltn_id","target","onClick","stopPropagation","keys","forEach","prototype","hasOwnProperty","source","PBDBFossilsColumn","$8e174c7ae24a4598$export$a990c76b38782f57","$8e174c7ae24a4598$export$e6af757fa9780077","$9cea14fa75e12a56$export$652730986cccff7a","PBDBOccurrencesMatrix"],"version":3,"file":"column-views.9efa91f1.js.map","sourceRoot":"../../../../"}
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,kB,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,oB,I,G,E,E,iB,I,A,E,S,c,E,E,E,gB,I,A,E,S,a,E,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCwCA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAEhB,SAAS,EAAkB,CAAA,SAChC,CAAQ,CAAA,KACR,EAAO,AAAA,EAAA,cAAa,CAAE,WAAW,CAIlC,EACC,IAAM,EAAO,AAAA,CAAA,EAAA,EAAA,aAAY,AAAZ,EAAc,EAAU,GAC/B,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IACtB,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAEd,GAAI,AAAQ,MAAR,GAAgB,AAAS,MAAT,GAAiB,AAAS,MAAT,EAAe,OAAO,KAE3D,IAAM,EAAQ,AAuEhB,SACE,CAAS,CACT,CAAiB,CACjB,CAA2B,CAC3B,CAAwB,CACxB,CAAgC,EAGhC,GAAM,CAAA,gBAAE,EAAkB,CAAA,CAAA,CAAM,CAAG,AAHnC,CAAA,KAAA,CAAA,GAG8C,CAAC,EAKzC,EAAU,IAAI,IAIpB,IAAK,IAAM,KAAK,EAAM,CACpB,IAAM,EAAQ,AA8BlB,SACE,CAAI,CACJ,CAAiB,CACjB,CAAwB,EAExB,IAAI,EAAwB,KAC5B,GAAI,AAAS,MAAT,EAAE,GAAG,EAAY,AAAS,QAAT,EAAE,GAAG,GAGxB,EAAS,OAAO,EAAE,GAAG,EACjB,IAAa,AAAA,EAAe,KAAK,EAEnC,MAAO,CAAE,OAAA,CAAO,EAGpB,GAAI,AAAa,MAAb,EAAE,OAAO,CAAU,OAAO,KAC9B,GAAI,AAAU,MAAV,EAAgB,CAMlB,IAAM,EAAO,EAAM,IAAI,CAAC,AAAC,GAAM,EAAE,OAAO,GAAK,EAAE,OAAO,EACtD,GAAI,AAAQ,MAAR,EAAc,OAAO,KACzB,IAAM,EAAY,AAatB,SACE,CAAW,CACX,CAAc,CACd,CAAwB,EAKxB,IAAM,EAAS,AADD,AAAA,EADE,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,EAAM,EAAU,CAAA,IAChB,MAAM,CAAC,CAAC,EAAG,EAAE,EAC3B,MAAM,CAAC,UAC5B,AAAI,EAAS,GAAK,EAAS,EAAU,KAC9B,CACT,EAvBM,EACA,EACA,AAAA,EAAe,KAAK,SAEtB,AAAI,AAAa,MAAb,EAA0B,KAEvB,CAAE,OADT,EAAS,AAAA,CAAA,EAAA,EAAA,qBAAoB,AAApB,EAAsB,EAAW,EAAM,EAChC,CAClB,CAEA,MAAO,AAAA,CAAA,EAAA,EAAA,4BAA2B,AAA3B,EAA6B,CAAE,QAAS,EAAE,OAAO,AAAC,EAAG,EAAO,EACrE,EAjE8C,EAAG,EAAO,GAEpD,GAAI,AAAS,MAAT,EAAe,SACnB,GAAM,CAAA,OAAE,CAAM,CAAA,WAAE,CAAU,CAAE,CAAG,EAE3B,EAAM,CAAA,EAAG,EAAA,CAAQ,AACjB,AAAc,OAAd,GACF,CAAA,GAAO,CAAC,CAAC,EAAE,EAAA,CAAY,AAAZ,EAIT,AAAC,EAAQ,GAAG,CAAC,IACf,EAAQ,GAAG,CAAC,EAAK,CACf,OAAA,EACA,WAAY,GAAc,EAC1B,KAAM,EAAE,CACR,GAAI,CACN,GAEF,EAAQ,GAAG,CAAC,GAAM,IAAI,CAAC,IAAI,CAAC,EAC9B,CAEA,MAAO,AAAA,CAAA,EAAA,EAAA,yBAAwB,AAAxB,EACL,MAAM,IAAI,CAAC,EAAQ,MAAM,IACzB,EACA,EAjCA,AAA2B,UAA3B,OAAO,EAA+B,EAAkB,GAoC5D,EArHgC,EAAM,EAAO,EAAO,GAElD,OAAO,EAAE,EAAA,sBAAqB,CAAG,CAC/B,KAAM,EACN,cAAe,EACf,qBAAsB,EACtB,UAAW,oBACb,EACF,CAkBA,SAAS,EAAW,CAAsB,EACxC,GAAM,CAAA,KAAE,CAAI,CAAA,SAAE,CAAQ,CAAA,QAAE,EAAU,CAAA,CAAA,CAAO,CAAG,EACtC,CAAA,KAAE,CAAI,CAAE,CAAG,EAQjB,OANA,EAAK,IAAI,CAAC,CAAC,EAAG,KACZ,IAAM,EAAQ,EAAE,SAAS,EAAI,EAAE,SAAS,EAAI,GACtC,EAAQ,EAAE,SAAS,EAAI,EAAE,SAAS,EAAI,GAC5C,OAAO,EAAM,aAAa,CAAC,EAC7B,GAEO,EAAE,EAAA,aAAY,CAAG,CACtB,KAAA,EACA,UAAW,qBACX,aAAc,EACd,SAAU,EAAU,IAAY,GAAY,CAC9C,EACF,CAEA,SAAS,EAAmB,CAAA,KAC1B,CAAI,CAGL,EAEC,OAAO,EACL,YACA,CACE,KAAM,CAAC,mDAAmD,EAAE,EAAK,OAAO,CAAA,CAAE,CAC1E,OAAQ,SACR,QAAQ,CAAC,EACP,EAAE,eAAe,EACnB,CACF,EACA,EAAK,SAAS,EAAI,EAAK,SAAS,CAEpC,C,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,A,C,C,E,A,C,E,U,K,iB,C,6C,c,C,6C,a,C,6C,qB","sources":["<anon>","packages/column-views/src/facets/fossils/index.ts"],"sourcesContent":["import \"./column-views.4ec769a6.js\";\nimport \"./column-views.69ddf14d.js\";\nimport \"./column-views.0980c2a0.js\";\nimport \"./column-views.672b683c.js\";\nimport \"./column-views.dbb4a46b.js\";\nimport \"./column-views.3ce34544.js\";\nimport $2jHE4$macrostrathyper from \"@macrostrat/hyper\";\nimport {ColumnAxisType as $2jHE4$ColumnAxisType} from \"@macrostrat/column-components\";\nimport {scaleLinear as $2jHE4$scaleLinear} from \"d3-scale\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\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\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 $ea2f112131e22f14$exports = {};\n\n$parcel$export($ea2f112131e22f14$exports, \"PBDBFossilsColumn\", () => $ea2f112131e22f14$export$554267114407ef68);\n$parcel$export($ea2f112131e22f14$exports, \"FossilDataType\", () => (parcelRequire(\"dx7no\")).FossilDataType);\n$parcel$export($ea2f112131e22f14$exports, \"useFossilData\", () => (parcelRequire(\"dx7no\")).useFossilData);\n\n\nvar $dx7no = parcelRequire(\"dx7no\");\n\nvar $kIQUG = parcelRequire(\"kIQUG\");\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $f7qDU = parcelRequire(\"f7qDU\");\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\n\n\nvar $6dOaS = parcelRequire(\"6dOaS\");\nconst $ea2f112131e22f14$var$h = (0, $2jHE4$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($f7qDU))));\nfunction $ea2f112131e22f14$export$554267114407ef68({ columnID: columnID, type: type = (0, $dx7no.FossilDataType).Collections }) {\n const data = (0, $dx7no.useFossilData)(columnID, type);\n const { axisType: axisType, units: units } = (0, $wtIgl.useMacrostratColumnData)();\n const scale = (0, $wtIgl.useCompositeScale)();\n if (data == null || units == null || scale == null) return null;\n const data1 = $ea2f112131e22f14$var$preparePBDBData(data, units, scale, axisType);\n return $ea2f112131e22f14$var$h((0, $kIQUG.BaseMeasurementsColumn), {\n data: data1,\n noteComponent: $ea2f112131e22f14$var$FossilInfo,\n focusedNoteComponent: $ea2f112131e22f14$var$FossilInfo,\n className: \"fossil-collections\"\n });\n}\nfunction $ea2f112131e22f14$var$FossilInfo(props) {\n const { note: note, maxItems: maxItems, focused: focused = false } = props;\n const { data: data } = note;\n // Sort collections by name\n data.sort((a, b)=>{\n const nameA = a.best_name ?? a.cltn_name ?? \"\";\n const nameB = b.best_name ?? b.cltn_name ?? \"\";\n return nameA.localeCompare(nameB);\n });\n return $ea2f112131e22f14$var$h((0, $kIQUG.TruncatedList), {\n data: data,\n className: \"fossil-collections\",\n itemRenderer: $ea2f112131e22f14$var$PBDBCollectionLink,\n maxItems: focused ? Infinity : maxItems ?? 5\n });\n}\nfunction $ea2f112131e22f14$var$PBDBCollectionLink({ data: data }) {\n /** A link to a PBDB collection that handles either an occurrence or collection object */ return $ea2f112131e22f14$var$h(\"a.link-id\", {\n href: `https://paleobiodb.org/app/collections#display=col:${data.cltn_id}`,\n target: \"_blank\",\n onClick (e) {\n e.stopPropagation();\n }\n }, data.best_name ?? data.cltn_name);\n}\nfunction $ea2f112131e22f14$var$preparePBDBData(data, units, scale, axisType, options) {\n /** Prepare PBDB fossil data for display in a measurements column */ const { groupCloseNotes: groupCloseNotes = true } = options ?? {};\n const groupDistance = typeof groupCloseNotes === \"number\" ? groupCloseNotes : 10;\n // Map of data to its defined height ranges\n const dataMap = new Map();\n // Todo: if we wanted, we could add a step where we group notes that are too close together here...\n for (const d of data){\n const range = $ea2f112131e22f14$var$getHeightRangeForPBDBEntity(d, units, axisType);\n if (range == null) continue;\n const { height: height, top_height: top_height } = range;\n // compose the key based on height info\n let key = `${height}`;\n if (top_height != null) key += `-${top_height}`;\n // Group by height key\n if (!dataMap.has(key)) dataMap.set(key, {\n height: height,\n top_height: top_height ?? height,\n data: [],\n id: key\n });\n dataMap.get(key).data.push(d);\n }\n return (0, $kIQUG.groupNotesByPixelDistance)(Array.from(dataMap.values()), scale, axisType, groupDistance);\n}\nfunction $ea2f112131e22f14$var$getHeightRangeForPBDBEntity(d, units, axisType) {\n let height = null;\n if (d.slb != null && d.slu == \"mbsf\") {\n // Meters below sea floor - special case for eODP where we have\n // specific depth data referenced\n height = Number(d.slb);\n if (axisType === (0, $2jHE4$ColumnAxisType).DEPTH) // Data is already in depth units\n return {\n height: height\n };\n }\n if (d.unit_id == null) return null;\n if (height != null) {\n // If we have both height and unit info, we need to adjust the height\n // to fit whatever scale type we're using.\n // TODO: we could improve how this works by having concurrent age and\n // height scales, which would allow us to do this without having to\n // reference to a specific unit.\n const unit = units.find((u)=>u.unit_id === d.unit_id);\n if (unit == null) return null;\n const relHeight = $ea2f112131e22f14$var$getRelativePositionInUnit(height, unit, (0, $2jHE4$ColumnAxisType).DEPTH);\n if (relHeight == null) return null;\n height = (0, $iWhRv.getPositionWithinUnit)(relHeight, unit, axisType);\n return {\n height: height\n };\n }\n // We can just get the height within the unit, clipped to the unit boundaries\n return (0, $kIQUG.standardizeMeasurementHeight)({\n unit_id: d.unit_id\n }, units, axisType);\n}\nfunction $ea2f112131e22f14$var$getRelativePositionInUnit(pos, unit, axisType) {\n // This is the inverse of getPositionWithinUnit\n const heights = (0, $iWhRv.getUnitHeightRange)(unit, axisType, false);\n const scale = (0, $2jHE4$scaleLinear)(heights).domain([\n 0,\n 1\n ]);\n const relPos = scale.invert(pos);\n if (relPos < 0 || relPos > 1) return null;\n return relPos;\n}\n$parcel$exportWildcard($ea2f112131e22f14$exports, $6dOaS);\n\n\nexport {$ea2f112131e22f14$export$554267114407ef68 as PBDBFossilsColumn, $8e174c7ae24a4598$export$a990c76b38782f57 as FossilDataType, $8e174c7ae24a4598$export$e6af757fa9780077 as useFossilData, $9cea14fa75e12a56$export$652730986cccff7a as PBDBOccurrencesMatrix};\n//# sourceMappingURL=column-views.07680def.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport {\n FossilDataType,\n type PBDBCollection,\n type PBDBEntity,\n type PBDBOccurrence,\n useFossilData,\n} from \"./provider\";\nimport type { IUnit } from \"../../units\";\nimport {\n BaseMeasurementsColumn,\n ColumnMeasurementData,\n MeasurementHeightData,\n standardizeMeasurementHeight,\n groupNotesByPixelDistance,\n TruncatedList,\n} from \"../measurements\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport {\n useCompositeScale,\n useMacrostratColumnData,\n} from \"../../data-provider\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport styles from \"./taxon-ranges.module.sass\";\nimport {\n CompositeColumnScale,\n getPositionWithinUnit,\n getUnitHeightRange,\n} from \"../../prepare-units\";\nimport { scaleLinear } from \"d3-scale\";\n\nexport {\n FossilDataType,\n type PBDBCollection,\n type PBDBEntity,\n type PBDBOccurrence,\n useFossilData,\n};\nexport * from \"./taxon-ranges\";\n\nconst h = hyper.styled(styles);\n\nexport function PBDBFossilsColumn({\n columnID,\n type = FossilDataType.Collections,\n}: {\n columnID: number;\n type: FossilDataType;\n}) {\n const data = useFossilData(columnID, type);\n const { axisType, units } = useMacrostratColumnData();\n const scale = useCompositeScale();\n\n if (data == null || units == null || scale == null) return null;\n\n const data1 = preparePBDBData(data, units, scale, axisType);\n\n return h(BaseMeasurementsColumn, {\n data: data1,\n noteComponent: FossilInfo,\n focusedNoteComponent: FossilInfo,\n className: \"fossil-collections\",\n });\n}\n\ninterface FossilItemProps {\n note: {\n data: PBDBCollection[];\n unit?: IUnit;\n };\n spacing?: {\n below?: number;\n above?: number;\n };\n width?: number;\n height?: number;\n color?: string;\n focused?: boolean;\n maxItems?: number;\n}\n\nfunction FossilInfo(props: FossilItemProps) {\n const { note, maxItems, focused = false } = props;\n const { data } = note;\n // Sort collections by name\n data.sort((a, b) => {\n const nameA = a.best_name ?? a.cltn_name ?? \"\";\n const nameB = b.best_name ?? b.cltn_name ?? \"\";\n return nameA.localeCompare(nameB);\n });\n\n return h(TruncatedList, {\n data,\n className: \"fossil-collections\",\n itemRenderer: PBDBCollectionLink,\n maxItems: focused ? Infinity : (maxItems ?? 5),\n });\n}\n\nfunction PBDBCollectionLink({\n data,\n}: {\n data: PBDBCollection | PBDBOccurrence;\n}) {\n /** A link to a PBDB collection that handles either an occurrence or collection object */\n return h(\n \"a.link-id\",\n {\n href: `https://paleobiodb.org/app/collections#display=col:${data.cltn_id}`,\n target: \"_blank\",\n onClick(e) {\n e.stopPropagation();\n },\n },\n data.best_name ?? data.cltn_name,\n );\n}\n\ninterface PreparePBDBDataOptions {\n /** If set, group close notes within this distance (in pixels in display space)\n * into a single note. If a number is provided, that number is used as the distance,\n * otherwise a default of 5 pixels is used.\n */\n groupCloseNotes?: boolean | number;\n}\n\nfunction preparePBDBData<T extends PBDBEntity>(\n data: T[],\n units: UnitLong[],\n scale: CompositeColumnScale,\n axisType: ColumnAxisType,\n options?: PreparePBDBDataOptions,\n) {\n /** Prepare PBDB fossil data for display in a measurements column */\n const { groupCloseNotes = true } = options ?? {};\n const groupDistance =\n typeof groupCloseNotes === \"number\" ? groupCloseNotes : 10;\n\n // Map of data to its defined height ranges\n const dataMap = new Map<string, ColumnMeasurementData<T[]>>();\n\n // Todo: if we wanted, we could add a step where we group notes that are too close together here...\n\n for (const d of data) {\n const range = getHeightRangeForPBDBEntity(d, units, axisType);\n\n if (range == null) continue;\n const { height, top_height } = range;\n // compose the key based on height info\n let key = `${height}`;\n if (top_height != null) {\n key += `-${top_height}`;\n }\n\n // Group by height key\n if (!dataMap.has(key)) {\n dataMap.set(key, {\n height,\n top_height: top_height ?? height,\n data: [],\n id: key,\n });\n }\n dataMap.get(key)!.data.push(d);\n }\n\n return groupNotesByPixelDistance(\n Array.from(dataMap.values()),\n scale,\n axisType,\n groupDistance,\n );\n}\n\nfunction getHeightRangeForPBDBEntity<T extends PBDBEntity>(\n d: T,\n units: UnitLong[],\n axisType: ColumnAxisType,\n): MeasurementHeightData | null {\n let height: number | null = null;\n if (d.slb != null && d.slu == \"mbsf\") {\n // Meters below sea floor - special case for eODP where we have\n // specific depth data referenced\n height = Number(d.slb);\n if (axisType === ColumnAxisType.DEPTH) {\n // Data is already in depth units\n return { height };\n }\n }\n if (d.unit_id == null) return null;\n if (height != null) {\n // If we have both height and unit info, we need to adjust the height\n // to fit whatever scale type we're using.\n // TODO: we could improve how this works by having concurrent age and\n // height scales, which would allow us to do this without having to\n // reference to a specific unit.\n const unit = units.find((u) => u.unit_id === d.unit_id);\n if (unit == null) return null;\n const relHeight = getRelativePositionInUnit(\n height,\n unit,\n ColumnAxisType.DEPTH,\n );\n if (relHeight == null) return null;\n height = getPositionWithinUnit(relHeight, unit, axisType);\n return { height };\n }\n // We can just get the height within the unit, clipped to the unit boundaries\n return standardizeMeasurementHeight({ unit_id: d.unit_id }, units, axisType);\n}\n\nfunction getRelativePositionInUnit(\n pos: number,\n unit: UnitLong,\n axisType: ColumnAxisType,\n): number | null {\n // This is the inverse of getPositionWithinUnit\n const heights = getUnitHeightRange(unit, axisType, false);\n const scale = scaleLinear(heights).domain([0, 1]);\n const relPos = scale.invert(pos);\n if (relPos < 0 || relPos > 1) return null;\n return relPos;\n}\n"],"names":["$2jHE4$macrostrathyper","ColumnAxisType","$2jHE4$ColumnAxisType","scaleLinear","$2jHE4$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","$ea2f112131e22f14$exports","$ea2f112131e22f14$export$554267114407ef68","FossilDataType","useFossilData","$dx7no","$kIQUG","$wtIgl","$f7qDU","$iWhRv","$6dOaS","$ea2f112131e22f14$var$h","styled","a","__esModule","default","columnID","type","Collections","data","axisType","units","useMacrostratColumnData","scale","useCompositeScale","data1","$ea2f112131e22f14$var$preparePBDBData","options","groupCloseNotes","dataMap","Map","d","range","$ea2f112131e22f14$var$getHeightRangeForPBDBEntity","height","slb","slu","Number","DEPTH","unit_id","unit","find","u","relHeight","$ea2f112131e22f14$var$getRelativePositionInUnit","pos","relPos","getUnitHeightRange","domain","invert","getPositionWithinUnit","standardizeMeasurementHeight","top_height","key","has","push","groupNotesByPixelDistance","Array","from","values","BaseMeasurementsColumn","noteComponent","$ea2f112131e22f14$var$FossilInfo","focusedNoteComponent","className","props","note","maxItems","focused","sort","b","nameA","best_name","cltn_name","nameB","localeCompare","TruncatedList","itemRenderer","$ea2f112131e22f14$var$PBDBCollectionLink","Infinity","href","cltn_id","target","onClick","stopPropagation","keys","forEach","prototype","hasOwnProperty","source","PBDBFossilsColumn","$8e174c7ae24a4598$export$a990c76b38782f57","$8e174c7ae24a4598$export$e6af757fa9780077","$9cea14fa75e12a56$export$652730986cccff7a","PBDBOccurrencesMatrix"],"version":3,"file":"column-views.07680def.js.map","sourceRoot":"../../../../"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./column-views.a596b1f5.js";import"./column-views.861b8e3e.js";import"./column-views.a0969fc8.js";import{useMemo as e,createContext as t,useContext as o}from"react";import r from"@macrostrat/hyper";function n(e,t,o,r){Object.defineProperty(e,t,{get:o,set:r,enumerable:!0,configurable:!0})}var a=globalThis,i={},c={},s=a.parcelRequirea149;null==s&&((s=function(e){if(e in i)return i[e].exports;if(e in c){var t=c[e];delete c[e];var o={id:e,exports:{}};return i[e]=o,t.call(o.exports,o,o.exports),o.exports}var r=Error("Cannot find module '"+e+"'");throw r.code="MODULE_NOT_FOUND",r}).register=function(e,t){c[e]=t},a.parcelRequirea149=s),s.register;var l={};n(l,"MacrostratColumnStateProvider",()=>p),n(l,"MacrostratColumnDataProvider",()=>f),n(l,"UnitSelectionProvider",()=>U),n(l,"useMacrostratColumnData",()=>S),n(l,"useMacrostratUnits",()=>$),n(l,"useColumnUnitsMap",()=>v),n(l,"useCompositeScale",()=>x);var u=s("bBAza"),d=s("5SO8b"),m=s("gjmI8");function p({children:t,units:o,allowUnitSelection:n=!1,onUnitSelected:a,selectedUnit:i}){let c=e(()=>!!n||null!=i||null!=a,[]),s=[[m.columnUnitsAtom,o],[d.allowUnitSelectionAtom,c],[d.selectedUnitIDAtom,i]],l=null;return c&&(l=r(d.UnitSelectionCallbackManager,{onUnitSelected:a})),r(m.ScopedProvider,{atoms:s},[l,t])}let b=t(null);function f({children:t,units:o,sections:n,totalHeight:a,axisType:i,allowUnitSelection:c,onUnitSelected:s,selectedUnit:l}){let u=e(()=>({units:o,sections:n,totalHeight:a,axisType:i}),[o,n,a,i]);return r(p,{units:o,allowUnitSelection:c,onUnitSelected:s,selectedUnit:l},r(b.Provider,{value:u},t))}function U(e){return r(p,{...e,allowUnitSelection:!0})}function S(){let e=o(b);if(!e)throw Error("useMacrostratColumnData must be used within a MacrostratColumnDataProvider");return e}function $(){return m.scope.useAtomValue(m.columnUnitsAtom)}function v(){try{return m.scope.useAtomValue(m.columnUnitsMapAtom)}catch{return null}}function x(){let t=S();return e(()=>(0,u.createCompositeScale)(t.sections,!0),[t.sections])}export{p as MacrostratColumnStateProvider,f as MacrostratColumnDataProvider,U as UnitSelectionProvider,S as useMacrostratColumnData,$ as useMacrostratUnits,v as useColumnUnitsMap,x as useCompositeScale};
|
|
2
|
+
//# sourceMappingURL=column-views.0980c2a0.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,W,C,C,iB,C,C,c,C,K,O,A,Q,M,mB,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,gC,I,G,E,E,+B,I,G,E,E,wB,I,G,E,E,0B,I,G,E,E,qB,I,G,E,E,oB,I,G,E,E,oB,I,G,I,E,E,S,E,E,S,E,E,SCgCO,SAAS,EAAkD,CAAA,SAChE,CAAQ,CAAA,MACR,CAAK,CAAA,mBACL,EAAqB,CAAA,CAAA,CAAA,eACrB,CAAc,CAAA,aACd,CAAY,CACgB,EAS5B,IAAM,EAAkB,AAAA,EAAQ,IAC9B,EAAI,GAGG,AAAgB,MAAhB,GAAwB,AAAkB,MAAlB,EAC9B,EAAE,EAEC,EAAmB,CACvB,CAAC,EAAA,eAAc,CAAG,EAAM,CACxB,CAAC,EAAA,sBAAqB,CAAG,EAAgB,CACzC,CAAC,EAAA,kBAAiB,CAAG,EAAa,CACnC,CAEG,EAA+B,KAKnC,OAJI,GACF,CAAA,EAAoB,AAAA,EAAE,EAAA,4BAA2B,CAAG,CAAE,eAAA,CAAe,EAAA,EAGhE,AAAA,EACL,EAAA,cAAa,CACb,CACE,MAAO,CACT,EACA,CAAC,EAAmB,EAAS,CAEjC,CAeA,IAAM,EACJ,AAAA,EAAgD,MAE3C,SAAS,EAAiD,CAAA,SAC/D,CAAQ,CAAA,MACR,CAAK,CAAA,SACL,CAAQ,CAAA,YACR,CAAW,CAAA,SACX,CAAQ,CAAA,mBACR,CAAkB,CAAA,eAClB,CAAc,CAAA,aACd,CAAY,CACe,EAY3B,IAAM,EAAQ,AAAA,EAAQ,IAEb,CAAA,CACL,MAAA,EACA,SAAA,EACA,YAAA,EACA,SAAA,CACF,CAAA,EACC,CAAC,EAAO,EAAU,EAAa,EAAS,EAE3C,OAAO,AAAA,EACL,EACA,CACE,MAAA,EACA,mBAAA,EACA,eAAA,EACA,aAAA,CACF,EACA,AAAA,EAAE,EAA4B,QAAQ,CAAE,CAAE,MAAA,CAAM,EAAG,GAEvD,CAEO,SAAS,EAAsB,CAAoC,EAIxE,OAAO,AAAA,EAAE,EAA+B,CACtC,GAAG,CAAK,CACR,mBAAoB,CAAA,CACtB,EACF,CAEO,SAAS,IACd,IAAM,EAAM,AAAA,EAAW,GACvB,GAAI,CAAC,EACH,MAAM,AAAI,MACR,8EAGJ,OAAO,CACT,CAEO,SAAS,IACd,OAAO,AAAA,EAAA,KAAI,CAAE,YAAY,CAAC,EAAA,eAAc,CAC1C,CAEO,SAAS,IACd,GAAI,CACF,OAAO,AAAA,EAAA,KAAI,CAAE,YAAY,CAAC,EAAA,kBAAiB,CAC7C,CAAE,KAAM,CACN,OAAO,IACT,CACF,CAEO,SAAS,IACd,IAAM,EAAM,IACZ,OAAO,AAAA,EACL,IAAM,AAAA,CAAA,EAAA,EAAA,oBAAmB,AAAnB,EAAqB,EAAI,QAAQ,CAAE,CAAA,GACzC,CAAC,EAAI,QAAQ,CAAC,CAElB,Q,K,6B,C,K,4B,C,K,qB,C,K,uB,C,K,kB,C,K,iB,C,K,iB","sources":["<anon>","packages/column-views/src/data-provider/store.ts"],"sourcesContent":["import \"./column-views.a596b1f5.js\";\nimport \"./column-views.861b8e3e.js\";\nimport \"./column-views.a0969fc8.js\";\nimport {useMemo as $eJc70$useMemo, createContext as $eJc70$createContext, useContext as $eJc70$useContext} from \"react\";\nimport $eJc70$macrostrathyper from \"@macrostrat/hyper\";\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 $91525b65c57a1e5d$exports = {};\n\n$parcel$export($91525b65c57a1e5d$exports, \"MacrostratColumnStateProvider\", () => $91525b65c57a1e5d$export$ef5395089200109b);\n$parcel$export($91525b65c57a1e5d$exports, \"MacrostratColumnDataProvider\", () => $91525b65c57a1e5d$export$7fec7bd80ff9c10e);\n$parcel$export($91525b65c57a1e5d$exports, \"UnitSelectionProvider\", () => $91525b65c57a1e5d$export$f19d75b1d4b676a4);\n$parcel$export($91525b65c57a1e5d$exports, \"useMacrostratColumnData\", () => $91525b65c57a1e5d$export$f8509b7cce386c7d);\n$parcel$export($91525b65c57a1e5d$exports, \"useMacrostratUnits\", () => $91525b65c57a1e5d$export$6fb40844db555b2);\n$parcel$export($91525b65c57a1e5d$exports, \"useColumnUnitsMap\", () => $91525b65c57a1e5d$export$7513be0cfd10d9cc);\n$parcel$export($91525b65c57a1e5d$exports, \"useCompositeScale\", () => $91525b65c57a1e5d$export$a7fc62995ec4f76);\n\n\n\nvar $bBAza = parcelRequire(\"bBAza\");\n\nvar $5SO8b = parcelRequire(\"5SO8b\");\n\nvar $gjmI8 = parcelRequire(\"gjmI8\");\nfunction $91525b65c57a1e5d$export$ef5395089200109b({ children: children, units: units, allowUnitSelection: allowUnitSelection = false, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit }) {\n /** Top-level provider for Macrostrat column data.\n * It is either provided by the Column component itself, or\n * can be hoisted higher in the tree to provide a common data context\n */ /* By default, unit selection is disabled. However, if any related props are passed,\n we enable it.\n */ const _allowSelection = (0, $eJc70$useMemo)(()=>{\n if (allowUnitSelection) return true;\n return selectedUnit != null || onUnitSelected != null;\n }, []);\n const atomMap = [\n [\n (0, $gjmI8.columnUnitsAtom),\n units\n ],\n [\n (0, $5SO8b.allowUnitSelectionAtom),\n _allowSelection\n ],\n [\n (0, $5SO8b.selectedUnitIDAtom),\n selectedUnit\n ]\n ];\n let selectionHandlers = null;\n if (_allowSelection) selectionHandlers = (0, $eJc70$macrostrathyper)((0, $5SO8b.UnitSelectionCallbackManager), {\n onUnitSelected: onUnitSelected\n });\n return (0, $eJc70$macrostrathyper)((0, $gjmI8.ScopedProvider), {\n atoms: atomMap\n }, [\n selectionHandlers,\n children\n ]);\n}\nconst $91525b65c57a1e5d$var$MacrostratColumnDataContext = (0, $eJc70$createContext)(null);\nfunction $91525b65c57a1e5d$export$7fec7bd80ff9c10e({ children: children, units: units, sections: sections, totalHeight: totalHeight, axisType: axisType, allowUnitSelection: allowUnitSelection, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit }) {\n /** Internal provider for Macrostrat column data.\n * As a general rule, we want to provide data and column-axis\n * height calculations through the context, since these need to\n * be accessed by any component that lays out information on the\n * column.\n *\n * Cross-axis layout and view configuration (e.g., showing and hiding\n * of different components or labels) should be handled through passing\n * props to the components themselves.\n * */ const value = (0, $eJc70$useMemo)(()=>{\n // For now, change ordinal axis types to age axis types\n return {\n units: units,\n sections: sections,\n totalHeight: totalHeight,\n axisType: axisType\n };\n }, [\n units,\n sections,\n totalHeight,\n axisType\n ]);\n return (0, $eJc70$macrostrathyper)($91525b65c57a1e5d$export$ef5395089200109b, {\n units: units,\n allowUnitSelection: allowUnitSelection,\n onUnitSelected: onUnitSelected,\n selectedUnit: selectedUnit\n }, (0, $eJc70$macrostrathyper)($91525b65c57a1e5d$var$MacrostratColumnDataContext.Provider, {\n value: value\n }, children));\n}\nfunction $91525b65c57a1e5d$export$f19d75b1d4b676a4(props) {\n /* A basic unit selection provider without column data context.\n Mostly for use with the CorrelationChart component.\n */ return (0, $eJc70$macrostrathyper)($91525b65c57a1e5d$export$ef5395089200109b, {\n ...props,\n allowUnitSelection: true\n });\n}\nfunction $91525b65c57a1e5d$export$f8509b7cce386c7d() {\n const ctx = (0, $eJc70$useContext)($91525b65c57a1e5d$var$MacrostratColumnDataContext);\n if (!ctx) throw new Error(\"useMacrostratColumnData must be used within a MacrostratColumnDataProvider\");\n return ctx;\n}\nfunction $91525b65c57a1e5d$export$6fb40844db555b2() {\n return (0, $gjmI8.scope).useAtomValue((0, $gjmI8.columnUnitsAtom));\n}\nfunction $91525b65c57a1e5d$export$7513be0cfd10d9cc() {\n try {\n return (0, $gjmI8.scope).useAtomValue((0, $gjmI8.columnUnitsMapAtom));\n } catch {\n return null;\n }\n}\nfunction $91525b65c57a1e5d$export$a7fc62995ec4f76() {\n const ctx = $91525b65c57a1e5d$export$f8509b7cce386c7d();\n return (0, $eJc70$useMemo)(()=>(0, $bBAza.createCompositeScale)(ctx.sections, true), [\n ctx.sections\n ]);\n}\n\n\nexport {$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};\n//# sourceMappingURL=column-views.0980c2a0.js.map\n","import { createContext, ReactNode, useContext, useMemo } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport {\n CompositeColumnScale,\n createCompositeScale,\n} from \"../prepare-units/composite-scale\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport type { ExtUnit, PackageLayoutData } from \"../prepare-units\";\nimport {\n allowUnitSelectionAtom,\n selectedUnitIDAtom,\n UnitSelectionCallbacks,\n UnitSelectionCallbackManager,\n} from \"./unit-selection\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport {\n AtomMap,\n columnUnitsAtom,\n columnUnitsMapAtom,\n scope,\n ScopedProvider,\n} from \"./core\";\n\nexport interface ColumnStateProviderProps<\n T extends BaseUnit,\n> extends Partial<UnitSelectionCallbacks> {\n children: ReactNode;\n units: T[];\n selectedUnit: number | null;\n allowUnitSelection?: boolean;\n}\n\nexport function MacrostratColumnStateProvider<T extends BaseUnit>({\n children,\n units,\n allowUnitSelection = false,\n onUnitSelected,\n selectedUnit,\n}: ColumnStateProviderProps<T>) {\n /** Top-level provider for Macrostrat column data.\n * It is either provided by the Column component itself, or\n * can be hoisted higher in the tree to provide a common data context\n */\n\n /* By default, unit selection is disabled. However, if any related props are passed,\n we enable it.\n */\n const _allowSelection = useMemo(() => {\n if (allowUnitSelection) {\n return true;\n }\n return selectedUnit != null || onUnitSelected != null;\n }, []);\n\n const atomMap: AtomMap = [\n [columnUnitsAtom, units],\n [allowUnitSelectionAtom, _allowSelection],\n [selectedUnitIDAtom, selectedUnit],\n ];\n\n let selectionHandlers: ReactNode = null;\n if (_allowSelection) {\n selectionHandlers = h(UnitSelectionCallbackManager, { onUnitSelected });\n }\n\n return h(\n ScopedProvider,\n {\n atoms: atomMap,\n },\n [selectionHandlers, children],\n );\n}\n\nexport interface MacrostratColumnDataContext<T extends BaseUnit> {\n units: T[];\n sections: PackageLayoutData[];\n totalHeight?: number;\n axisType?: ColumnAxisType;\n allowUnitSelection?: boolean;\n}\n\nexport interface ColumnDataProviderProps<T extends BaseUnit>\n extends MacrostratColumnDataContext<T>, ColumnStateProviderProps<T> {\n children: ReactNode;\n}\n\nconst MacrostratColumnDataContext =\n createContext<MacrostratColumnDataContext<any>>(null);\n\nexport function MacrostratColumnDataProvider<T extends BaseUnit>({\n children,\n units,\n sections,\n totalHeight,\n axisType,\n allowUnitSelection,\n onUnitSelected,\n selectedUnit,\n}: ColumnDataProviderProps<T>) {\n /** Internal provider for Macrostrat column data.\n * As a general rule, we want to provide data and column-axis\n * height calculations through the context, since these need to\n * be accessed by any component that lays out information on the\n * column.\n *\n * Cross-axis layout and view configuration (e.g., showing and hiding\n * of different components or labels) should be handled through passing\n * props to the components themselves.\n * */\n\n const value = useMemo(() => {\n // For now, change ordinal axis types to age axis types\n return {\n units,\n sections,\n totalHeight,\n axisType,\n };\n }, [units, sections, totalHeight, axisType]);\n\n return h(\n MacrostratColumnStateProvider,\n {\n units,\n allowUnitSelection,\n onUnitSelected,\n selectedUnit,\n },\n h(MacrostratColumnDataContext.Provider, { value }, children),\n );\n}\n\nexport function UnitSelectionProvider(props: ColumnStateProviderProps<any>) {\n /* A basic unit selection provider without column data context.\n Mostly for use with the CorrelationChart component.\n */\n return h(MacrostratColumnStateProvider, {\n ...props,\n allowUnitSelection: true,\n });\n}\n\nexport function useMacrostratColumnData() {\n const ctx = useContext(MacrostratColumnDataContext);\n if (!ctx) {\n throw new Error(\n \"useMacrostratColumnData must be used within a MacrostratColumnDataProvider\",\n );\n }\n return ctx;\n}\n\nexport function useMacrostratUnits() {\n return scope.useAtomValue(columnUnitsAtom);\n}\n\nexport function useColumnUnitsMap(): Map<number, ExtUnit> | null {\n try {\n return scope.useAtomValue(columnUnitsMapAtom) as Map<number, ExtUnit>;\n } catch {\n return null;\n }\n}\n\nexport function useCompositeScale(): CompositeColumnScale {\n const ctx = useMacrostratColumnData();\n return useMemo(\n () => createCompositeScale(ctx.sections, true),\n [ctx.sections],\n );\n}\n"],"names":["useMemo","$eJc70$useMemo","createContext","$eJc70$createContext","useContext","$eJc70$useContext","$eJc70$macrostrathyper","$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","$91525b65c57a1e5d$exports","$91525b65c57a1e5d$export$ef5395089200109b","$91525b65c57a1e5d$export$7fec7bd80ff9c10e","$91525b65c57a1e5d$export$f19d75b1d4b676a4","$91525b65c57a1e5d$export$f8509b7cce386c7d","$91525b65c57a1e5d$export$6fb40844db555b2","$91525b65c57a1e5d$export$7513be0cfd10d9cc","$91525b65c57a1e5d$export$a7fc62995ec4f76","$bBAza","$5SO8b","$gjmI8","children","units","allowUnitSelection","onUnitSelected","selectedUnit","_allowSelection","atomMap","columnUnitsAtom","allowUnitSelectionAtom","selectedUnitIDAtom","selectionHandlers","UnitSelectionCallbackManager","ScopedProvider","atoms","$91525b65c57a1e5d$var$MacrostratColumnDataContext","sections","totalHeight","axisType","value","Provider","props","ctx","scope","useAtomValue","columnUnitsMapAtom","createCompositeScale","MacrostratColumnStateProvider","MacrostratColumnDataProvider","UnitSelectionProvider","useMacrostratColumnData","useMacrostratUnits","useColumnUnitsMap","useCompositeScale"],"version":3,"file":"column-views.0980c2a0.js.map","sourceRoot":"../../../../"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./column-views.861b8e3e.js";import"./column-views.0980c2a0.js";import"./column-views.26306041.js";import"./column-views.fea32686.js";import"./column-views.dedafcae.js";import"./column-views.eecdc727.js";import"./column-views.fcf2be3c.js";import"./column-views.9a408bbf.js";import"./column-views.89afd6b3.js";import"./column-views.6d6a8fde.js";import e from"@macrostrat/hyper";import{useMemo as n}from"react";import{useInDarkMode as t}from"@macrostrat/ui-components";import o from"classnames";import{SVG as i,ColumnProvider as a,ColumnAxisType as r}from"@macrostrat/column-components";var l=globalThis,s={},c={},m=l.parcelRequirea149;null==m&&((m=function(e){if(e in s)return s[e].exports;if(e in c){var n=c[e];delete c[e];var t={id:e,exports:{}};return s[e]=t,n.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,n){c[e]=n},l.parcelRequirea149=m),m.register,Object.defineProperty({},"CorrelationChart",{get:()=>x,set:void 0,enumerable:!0,configurable:!0});var u=m("5SO8b"),p=m("wtIgl"),f=m("2KV3o"),d=m("cf1sk"),b=m("7exMg"),g=m("8ldOM"),C=m("4hG2H"),h=m("7tWYE"),S=m("1n4Pb"),v=m("dMbCm");let H=e.styled(d&&d.__esModule?d.default:d);function _({children:e}){return H("div.main-chart",{ref:(0,u.useColumnRef)()},e)}function x({data:e,columnSpacing:a=0,columnWidth:r=130,unconformityLabels:l=!0,showUnitPopover:s=!0,selectedUnit:c,onUnitSelected:m,unitComponent:d,...b}){let C={targetUnitHeight:10,unconformityHeight:60,minSectionHeight:60,collapseSmallUnconformities:!0},h=n(()=>e?(0,g.buildCorrelationChartData)(e,{...C,...b}):null,[e,...Object.values(b)]),S=n(()=>e?.map(e=>e.units).flat()??[],[e]),x=o({"dark-mode":t()});if(null==h)return null;let{packages:y,scaleInfo:E,nColumns:R}=h;return H(v.ColumnContainer,{className:"correlation-diagram"},H(p.UnitSelectionProvider,{selectedUnit:c,onUnitSelected:m,units:S},H(U,[H(A,{key:"timescale",scaleInfo:E,unconformityLabels:l}),H(_,[H(i,{className:x,innerWidth:(r+a)*R,height:E.totalHeight,paddingH:4},y.map((e,n)=>{let{offset:t,domain:o,pixelScale:i,scale:l,key:s}=E.packages[n];return H(w,{columnData:e.columnData,key:s,columnWidth:r,columnSpacing:a,offset:t,domain:o,pixelScale:i,scale:l,unitComponent:d})})),H.if(s)(f.UnitSelectionPopover),H(u.UnitKeyboardNavigation,{units:S})])])))}function w({columnData:e,columnSpacing:n,columnWidth:t,unitComponent:o,offset:i,domain:a,pixelScale:r,scale:l}){return H("g.package",{transform:`translate(0 ${i})`},[H("g.column-units",[e.map((e,i)=>H(y,{units:e.units,unitComponent:o,width:t,key:i,domain:a,pixelScale:r,scale:l,offsetLeft:i*(t+n)}))])])}function y(e){let{units:n,width:t=150,offsetLeft:o,domain:i,pixelScale:l,scale:s,unitComponent:c=h.ColoredUnitComponent}=e;return 0==n.length?null:H("g.section",{transform:`translate(${o} 0)`},H(a,{divisions:n,range:i,scale:s,pixelsPerMeter:l,axisType:r.AGE},H(S.UnitBoxes,{unitComponent:c,unitComponentProps:{nColumns:2,width:t,showLabel:!1}})))}function U({children:e}){let n=(0,u.useUnitSelectionDispatch)();return H("div.correlation-chart-inner",{onClick(){n(null,null)}},e)}function A(e){let{scaleInfo:n,unconformityLabels:t=!0}=e;return H("div.column-container.age-axis-container",[H(C.CompositeAgeAxisCore,{...n}),H(b.CompositeTimescaleCore,{...n,unconformityLabels:t})])}export{x as CorrelationChart};
|
|
2
|
+
//# sourceMappingURL=column-views.1495397b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,W,C,K,O,A,Q,iB,C,K,2B,A,Q,M,Y,A,Q,O,C,C,kB,C,C,kB,C,K,+B,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,O,c,C,C,E,mB,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,SCAA,EAAA,EAAA,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SAsCA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAcvB,SAAS,EAAc,CAAA,SAAE,CAAQ,CAAE,EAEjC,OAAO,EAAE,iBAAkB,CAAE,IADX,AAAA,CAAA,EAAA,EAAA,YAAW,AAAX,GAC0B,EAAG,EACjD,CAEO,SAAS,EAAiB,CAAA,KAC/B,CAAI,CAAA,cACJ,EAAgB,CAAA,CAAA,YAChB,EAAc,GAAA,CAAA,mBACd,EAAqB,CAAA,CAAA,CAAA,gBACrB,EAAkB,CAAA,CAAA,CAAA,aAClB,CAAY,CAAA,eACZ,CAAc,CAAA,cACd,CAAa,CACb,GAAG,EACmB,EACtB,IAAM,EAAoB,CACxB,iBAAkB,GAClB,mBAAoB,GACpB,iBAAkB,GAClB,4BAA6B,CAAA,CAC/B,EAEM,EAAY,AAAA,EAAQ,IACxB,AAAK,EACE,AAAA,CAAA,EAAA,EAAA,yBAAwB,AAAxB,EAA0B,EAAM,CACrC,GAAG,CAAiB,CACpB,GAAG,CAAU,AACf,GAJkB,KAKjB,CAAC,KAAS,OAAO,MAAM,CAAC,GAAY,EAGjC,EAAQ,AAAA,EAAQ,IACb,GAAM,IAAI,AAAC,GAAO,EAAG,KAAK,EAAE,QAAU,EAAE,CAC9C,CAAC,EAAK,EAIH,EAAY,AAAA,EAAW,CAC3B,YAHiB,AAAA,GAInB,GAEA,GAAI,AAAa,MAAb,EACF,OAAO,KAGT,GAAM,CAAA,SAAE,CAAQ,CAAA,UAAE,CAAS,CAAA,SAAE,CAAQ,CAAE,CAAG,EAI1C,OAAO,EACL,EAAA,eAAc,CACd,CAAE,UAAW,qBAAsB,EACnC,EACE,EAAA,qBAAoB,CACpB,CAAE,aAAA,EAAc,eAAA,EAAgB,MAAA,CAAM,EACtC,EAAE,EAAW,CACX,EAAE,EAAiB,CACjB,IAAK,YACL,UAAA,EACA,mBAAA,CACF,GACA,EAAE,EAAe,CACf,EACE,EACA,CACE,UAAA,EACA,WAnBM,AAAC,CAAA,EAAc,CAAA,EAAiB,EAoBtC,OAAQ,EAAU,WAAW,CAC7B,SAAU,CACZ,EACA,EAAS,GAAG,CAAC,CAAC,EAAK,KACjB,GAAM,CAAA,OAAE,CAAM,CAAA,OAAE,CAAM,CAAA,WAAE,CAAU,CAAA,MAAE,CAAK,CAAA,IAAE,CAAG,CAAE,CAC9C,EAAU,QAAQ,CAAC,EAAE,CACvB,OAAO,EAAE,EAAS,CAChB,WAAY,EAAI,UAAU,CAC1B,IAAA,EACA,YAAA,EACA,cAAA,EACA,OAAA,EACA,OAAA,EACA,WAAA,EACA,MAAA,EACA,cAAA,CACF,EACF,IAEF,EAAE,EAAE,CAAC,GAAiB,EAAA,oBAAmB,EAEzC,EAAE,EAAA,sBAAqB,CAAG,CAAE,MAAA,CAAM,GACnC,EACF,GAGP,CAEA,SAAS,EAAQ,CAAA,WACf,CAAU,CAAA,cACV,CAAa,CAAA,YACb,CAAW,CAAA,cACX,CAAa,CAAA,OACb,CAAM,CAAA,OACN,CAAM,CAAA,WACN,CAAU,CAAA,MACV,CAAK,CACN,EACC,OAAO,EAAE,YAAa,CAAE,UAAW,CAAC,YAAY,EAAE,EAAO,CAAC,CAAC,AAAC,EAAG,CAG7D,EAAE,iBAAkB,CAClB,EAAW,GAAG,CAAC,CAAC,EAAM,IACb,EAAE,EAAQ,CACf,MAAO,EAAK,KAAK,CACjB,cAAA,EACA,MAAO,EACP,IAAK,EACL,OAAA,EACA,WAAA,EACA,MAAA,EACA,WAAY,EAAK,CAAA,EAAc,CAAA,CACjC,IAEH,EACF,CACH,CAiBA,SAAS,EAAO,CAAkB,EAChC,GAAM,CAAA,MACJ,CAAK,CAAA,MACL,EAAQ,GAAA,CAAA,WACR,CAAU,CAAA,OACV,CAAM,CAAA,WACN,CAAU,CAAA,MACV,CAAK,CAAA,cACL,EAAgB,EAAA,oBAAmB,AAAA,CACpC,CAAG,SAIJ,AAAI,AAAgB,GAAhB,EAAM,MAAM,CACP,KAGF,EACL,YACA,CACE,UAAW,CAAC,UAAU,EAAE,EAAW,GAAG,CAAC,AACzC,EACA,EACE,EACA,CAEE,UAAW,EACX,MAAO,EACP,MAAA,EACA,eAAgB,EAChB,SAAU,AAAA,EAAe,GAAG,AAC9B,EACA,EAAE,EAAA,SAAQ,CAAG,CACX,cAAA,EACA,mBAAoB,CAClB,SAAU,EACV,MAzBY,EA0BZ,UAAW,CAAA,CACb,CACF,IAGN,CAkEA,SAAS,EAAU,CAAA,SAAE,CAAQ,CAAE,EAC7B,IAAM,EAAkB,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,IAExB,OAAO,EACL,8BACA,CACE,UACE,EAAgB,KAAM,KACxB,CACF,EACA,EAEJ,CAQA,SAAS,EAAgB,CAA2B,EAClD,GAAM,CAAA,UAAE,CAAS,CAAA,mBAAE,EAAqB,CAAA,CAAA,CAAM,CAAG,EACjD,OAAO,EAAE,0CAA2C,CAClD,EAAE,EAAA,oBAAmB,CAAG,CAAE,GAAG,CAAS,AAAC,GACvC,EAAE,EAAA,sBAAqB,CAAG,CAAE,GAAG,CAAS,CAAE,mBAAA,CAAmB,GAC9D,CACH,Q,K,gB","sources":["<anon>","packages/column-views/src/correlation-chart/main.ts"],"sourcesContent":["import \"./column-views.861b8e3e.js\";\nimport \"./column-views.0980c2a0.js\";\nimport \"./column-views.26306041.js\";\nimport \"./column-views.fea32686.js\";\nimport \"./column-views.dedafcae.js\";\nimport \"./column-views.eecdc727.js\";\nimport \"./column-views.fcf2be3c.js\";\nimport \"./column-views.9a408bbf.js\";\nimport \"./column-views.89afd6b3.js\";\nimport \"./column-views.6d6a8fde.js\";\nimport $8OJSO$macrostrathyper from \"@macrostrat/hyper\";\nimport {useMemo as $8OJSO$useMemo} from \"react\";\nimport {useInDarkMode as $8OJSO$useInDarkMode} from \"@macrostrat/ui-components\";\nimport $8OJSO$classnames from \"classnames\";\nimport {SVG as $8OJSO$SVG, ColumnProvider as $8OJSO$ColumnProvider, ColumnAxisType as $8OJSO$ColumnAxisType} from \"@macrostrat/column-components\";\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 $25f1fcddbe40b91f$exports = {};\n\n$parcel$export($25f1fcddbe40b91f$exports, \"CorrelationChart\", () => $25f1fcddbe40b91f$export$9ebf875c09445bec);\n/** Correlation chart */ \nvar $5SO8b = parcelRequire(\"5SO8b\");\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $2KV3o = parcelRequire(\"2KV3o\");\n\n\nvar $cf1sk = parcelRequire(\"cf1sk\");\n\n\n\nvar $7exMg = parcelRequire(\"7exMg\");\n\n\nvar $8ldOM = parcelRequire(\"8ldOM\");\n\nvar $4hG2H = parcelRequire(\"4hG2H\");\n\n\nvar $7tWYE = parcelRequire(\"7tWYE\");\n\nvar $1n4Pb = parcelRequire(\"1n4Pb\");\n\nvar $dMbCm = parcelRequire(\"dMbCm\");\nconst $25f1fcddbe40b91f$var$h = (0, $8OJSO$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($cf1sk))));\nfunction $25f1fcddbe40b91f$var$MainChartArea({ children: children }) {\n const columnRef = (0, $5SO8b.useColumnRef)();\n return $25f1fcddbe40b91f$var$h(\"div.main-chart\", {\n ref: columnRef\n }, children);\n}\nfunction $25f1fcddbe40b91f$export$9ebf875c09445bec({ data: data, columnSpacing: columnSpacing = 0, columnWidth: columnWidth = 130, unconformityLabels: unconformityLabels = true, showUnitPopover: showUnitPopover = true, selectedUnit: selectedUnit, onUnitSelected: onUnitSelected, unitComponent: unitComponent, ...scaleProps }) {\n const defaultScaleProps = {\n targetUnitHeight: 10,\n unconformityHeight: 60,\n minSectionHeight: 60,\n collapseSmallUnconformities: true\n };\n const chartData = (0, $8OJSO$useMemo)(()=>{\n if (!data) return null;\n return (0, $8ldOM.buildCorrelationChartData)(data, {\n ...defaultScaleProps,\n ...scaleProps\n });\n }, [\n data,\n ...Object.values(scaleProps)\n ]);\n // A flattened units array is used to support keyboard navigation\n const units = (0, $8OJSO$useMemo)(()=>{\n return data?.map((d0)=>d0.units).flat() ?? [];\n }, [\n data\n ]);\n const inDarkMode = (0, $8OJSO$useInDarkMode)();\n const className = (0, $8OJSO$classnames)({\n \"dark-mode\": inDarkMode\n });\n if (chartData == null) return null;\n const { packages: packages, scaleInfo: scaleInfo, nColumns: nColumns } = chartData;\n const mainWidth = (columnWidth + columnSpacing) * nColumns;\n return $25f1fcddbe40b91f$var$h((0, $dMbCm.ColumnContainer), {\n className: \"correlation-diagram\"\n }, $25f1fcddbe40b91f$var$h((0, $wtIgl.UnitSelectionProvider), {\n selectedUnit: selectedUnit,\n onUnitSelected: onUnitSelected,\n units: units\n }, $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$ChartArea, [\n $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$TimescaleColumn, {\n key: \"timescale\",\n scaleInfo: scaleInfo,\n unconformityLabels: unconformityLabels\n }),\n $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$MainChartArea, [\n $25f1fcddbe40b91f$var$h((0, $8OJSO$SVG), {\n className: className,\n innerWidth: mainWidth,\n height: scaleInfo.totalHeight,\n paddingH: 4\n }, packages.map((pkg, i)=>{\n const { offset: offset, domain: domain, pixelScale: pixelScale, scale: scale, key: key } = scaleInfo.packages[i];\n return $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$Package, {\n columnData: pkg.columnData,\n key: key,\n columnWidth: columnWidth,\n columnSpacing: columnSpacing,\n offset: offset,\n domain: domain,\n pixelScale: pixelScale,\n scale: scale,\n unitComponent: unitComponent\n });\n })),\n $25f1fcddbe40b91f$var$h.if(showUnitPopover)((0, $2KV3o.UnitSelectionPopover)),\n // Navigation only works within a column for now...\n $25f1fcddbe40b91f$var$h((0, $5SO8b.UnitKeyboardNavigation), {\n units: units\n })\n ])\n ])));\n}\nfunction $25f1fcddbe40b91f$var$Package({ columnData: columnData, columnSpacing: columnSpacing, columnWidth: columnWidth, unitComponent: unitComponent, offset: offset, domain: domain, pixelScale: pixelScale, scale: scale }) {\n return $25f1fcddbe40b91f$var$h(\"g.package\", {\n transform: `translate(0 ${offset})`\n }, [\n // Disable the SVG overlay for now\n //h(PackageSVGOverlay, { data, columnSpacing }),\n $25f1fcddbe40b91f$var$h(\"g.column-units\", [\n columnData.map((data, i)=>{\n return $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$Column, {\n units: data.units,\n unitComponent: unitComponent,\n width: columnWidth,\n key: i,\n domain: domain,\n pixelScale: pixelScale,\n scale: scale,\n offsetLeft: i * (columnWidth + columnSpacing)\n });\n })\n ])\n ]);\n}\nfunction $25f1fcddbe40b91f$var$Column(props) {\n const { units: units, width: width = 150, offsetLeft: offsetLeft, domain: domain, pixelScale: pixelScale, scale: scale, unitComponent: unitComponent = (0, $7tWYE.ColoredUnitComponent) } = props;\n const columnWidth = width;\n if (units.length == 0) return null;\n return $25f1fcddbe40b91f$var$h(\"g.section\", {\n transform: `translate(${offsetLeft} 0)`\n }, $25f1fcddbe40b91f$var$h((0, $8OJSO$ColumnProvider), {\n // Need to tighten up types here...\n divisions: units,\n range: domain,\n scale: scale,\n pixelsPerMeter: pixelScale,\n axisType: (0, $8OJSO$ColumnAxisType).AGE\n }, $25f1fcddbe40b91f$var$h((0, $1n4Pb.UnitBoxes), {\n unitComponent: unitComponent,\n unitComponentProps: {\n nColumns: 2,\n width: columnWidth,\n showLabel: false\n }\n })));\n}\nfunction $25f1fcddbe40b91f$var$PackageSVGOverlay({ data: data, columnWidth: columnWidth = 100, columnSpacing: columnSpacing = 0 }) {\n const { b_age: b_age, t_age: t_age, bestPixelScale: bestPixelScale, columnData: columnData } = data;\n const width = (columnWidth + columnSpacing) * columnData.length;\n const height = Math.ceil((b_age - t_age) * bestPixelScale) + 2;\n const extensiveUnits = (0, $8ldOM.findLaterallyExtensiveUnits)(data);\n const scale = (val)=>{\n return (val - t_age) * bestPixelScale;\n };\n return $25f1fcddbe40b91f$var$h(\"div.package-overlay\", {\n style: {\n width: width,\n height: height\n }\n }, extensiveUnits.map((d)=>{\n return $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$LaterallyExtensiveUnit, {\n data: d,\n scale: scale,\n pixelScale: bestPixelScale,\n columnSpacing: columnSpacing\n });\n }));\n}\nfunction $25f1fcddbe40b91f$var$LaterallyExtensiveUnit({ data: data, scale: scale, pixelScale: pixelScale, columnSpacing: columnSpacing }) {\n const { b_age: b_age, t_age: t_age, strat_name_long: strat_name_long, units: units } = data;\n // Build boxes by column groups\n const boxes = (0, $8ldOM.splitStratIntoBoxes)(data);\n return $25f1fcddbe40b91f$var$h(\"div.laterally-extensive-unit\", boxes.map((d, i)=>{\n return $25f1fcddbe40b91f$var$h($25f1fcddbe40b91f$var$StratColSpan, {\n scale: scale,\n data: d,\n pixelScale: pixelScale,\n key: i,\n columnSpacing: columnSpacing\n });\n }));\n}\nfunction $25f1fcddbe40b91f$var$StratColSpan({ data: data, scale: scale, columnWidth: columnWidth = 100, columnSpacing: columnSpacing = 0, pixelScale: pixelScale = 1 }) {\n const { startCol: startCol, endCol: endCol, strat_name_long: strat_name_long, t_age: t_age, b_age: b_age } = data;\n const top = scale(t_age);\n const left = startCol * (columnWidth + columnSpacing);\n const width = (endCol - startCol + 1) * (columnWidth + columnSpacing);\n const height = (b_age - t_age) * pixelScale;\n return $25f1fcddbe40b91f$var$h(\"div.strat-col-span\", {\n style: {\n top: top,\n height: height,\n width: width,\n left: left\n }\n }, strat_name_long);\n}\nfunction $25f1fcddbe40b91f$var$ChartArea({ children: children }) {\n const setSelectedUnit = (0, $5SO8b.useUnitSelectionDispatch)();\n return $25f1fcddbe40b91f$var$h(\"div.correlation-chart-inner\", {\n onClick () {\n setSelectedUnit(null, null);\n }\n }, children);\n}\nfunction $25f1fcddbe40b91f$var$TimescaleColumn(props) {\n const { scaleInfo: scaleInfo, unconformityLabels: unconformityLabels = true } = props;\n return $25f1fcddbe40b91f$var$h(\"div.column-container.age-axis-container\", [\n $25f1fcddbe40b91f$var$h((0, $4hG2H.CompositeAgeAxisCore), {\n ...scaleInfo\n }),\n $25f1fcddbe40b91f$var$h((0, $7exMg.CompositeTimescaleCore), {\n ...scaleInfo,\n unconformityLabels: unconformityLabels\n })\n ]);\n}\n\n\nexport {$25f1fcddbe40b91f$export$9ebf875c09445bec as CorrelationChart};\n//# sourceMappingURL=column-views.1495397b.js.map\n","/** Correlation chart */\nimport {\n UnitSelectionProvider,\n UnitKeyboardNavigation,\n useUnitSelectionDispatch,\n useColumnRef,\n} from \"../data-provider\";\nimport { UnitSelectionPopover } from \"../unit-details\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useMemo, useRef } from \"react\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { CompositeTimescaleCore } from \"../section\";\nimport classNames from \"classnames\";\nimport {\n findLaterallyExtensiveUnits,\n splitStratIntoBoxes,\n UnitGroupBox,\n CorrelationChartSettings,\n buildCorrelationChartData,\n} from \"./prepare-data\";\nimport {\n CompositeAgeAxisCore,\n CompositeStratigraphicScaleInfo,\n} from \"../age-axis\";\nimport {\n ColumnAxisType,\n ColumnProvider,\n SVG,\n} from \"@macrostrat/column-components\";\nimport { ColoredUnitComponent } from \"../units\";\nimport { UnitBoxes } from \"../units/boxes\";\nimport { ColumnContainer } from \"../column\";\nimport { ColumnData } from \"../data-provider\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport { ScaleContinuousNumeric } from \"d3-scale\";\nimport { ExtUnit } from \"../prepare-units/types\";\n\nconst h = hyper.styled(styles);\n\nexport interface CorrelationChartProps extends CorrelationChartSettings {\n data: ColumnData[];\n columnWidth?: number;\n columnSpacing?: number;\n targetUnitHeight?: number;\n unconformityLabels?: boolean;\n selectedUnit?: number | null;\n showUnitPopover?: boolean;\n unitComponent?: any;\n onUnitSelected?: (unitID: number | null, unit: BaseUnit | null) => void;\n}\n\nfunction MainChartArea({ children }) {\n const columnRef = useColumnRef();\n return h(\"div.main-chart\", { ref: columnRef }, children);\n}\n\nexport function CorrelationChart({\n data,\n columnSpacing = 0,\n columnWidth = 130,\n unconformityLabels = true,\n showUnitPopover = true,\n selectedUnit,\n onUnitSelected,\n unitComponent,\n ...scaleProps\n}: CorrelationChartProps) {\n const defaultScaleProps = {\n targetUnitHeight: 10,\n unconformityHeight: 60,\n minSectionHeight: 60,\n collapseSmallUnconformities: true,\n };\n\n const chartData = useMemo(() => {\n if (!data) return null;\n return buildCorrelationChartData(data, {\n ...defaultScaleProps,\n ...scaleProps,\n });\n }, [data, ...Object.values(scaleProps)]);\n\n // A flattened units array is used to support keyboard navigation\n const units = useMemo(() => {\n return data?.map((d0) => d0.units).flat() ?? [];\n }, [data]);\n\n const inDarkMode = useInDarkMode();\n\n const className = classNames({\n \"dark-mode\": inDarkMode,\n });\n\n if (chartData == null) {\n return null;\n }\n\n const { packages, scaleInfo, nColumns } = chartData;\n\n const mainWidth = (columnWidth + columnSpacing) * nColumns;\n\n return h(\n ColumnContainer,\n { className: \"correlation-diagram\" },\n h(\n UnitSelectionProvider,\n { selectedUnit, onUnitSelected, units },\n h(ChartArea, [\n h(TimescaleColumn, {\n key: \"timescale\",\n scaleInfo,\n unconformityLabels,\n }),\n h(MainChartArea, [\n h(\n SVG,\n {\n className,\n innerWidth: mainWidth,\n height: scaleInfo.totalHeight,\n paddingH: 4,\n },\n packages.map((pkg, i) => {\n const { offset, domain, pixelScale, scale, key } =\n scaleInfo.packages[i];\n return h(Package, {\n columnData: pkg.columnData,\n key,\n columnWidth,\n columnSpacing,\n offset,\n domain,\n pixelScale,\n scale,\n unitComponent,\n });\n }),\n ),\n h.if(showUnitPopover)(UnitSelectionPopover),\n // Navigation only works within a column for now...\n h(UnitKeyboardNavigation, { units }),\n ]),\n ]),\n ),\n );\n}\n\nfunction Package({\n columnData,\n columnSpacing,\n columnWidth,\n unitComponent,\n offset,\n domain,\n pixelScale,\n scale,\n}) {\n return h(\"g.package\", { transform: `translate(0 ${offset})` }, [\n // Disable the SVG overlay for now\n //h(PackageSVGOverlay, { data, columnSpacing }),\n h(\"g.column-units\", [\n columnData.map((data, i) => {\n return h(Column, {\n units: data.units,\n unitComponent,\n width: columnWidth,\n key: i,\n domain,\n pixelScale,\n scale,\n offsetLeft: i * (columnWidth + columnSpacing),\n });\n }),\n ]),\n ]);\n}\n\ninterface ColumnProps {\n units: ExtUnit[];\n unitComponent?: React.FunctionComponent<any>;\n unitComponentProps?: any;\n showLabels?: boolean;\n width?: number;\n columnWidth?: number;\n columnSpacing?: number;\n targetUnitHeight?: number;\n offsetLeft?: number;\n domain: [number, number];\n pixelScale: number;\n scale?: ScaleContinuousNumeric<number, number>;\n}\n\nfunction Column(props: ColumnProps) {\n const {\n units,\n width = 150,\n offsetLeft,\n domain,\n pixelScale,\n scale,\n unitComponent = ColoredUnitComponent,\n } = props;\n\n const columnWidth = width;\n\n if (units.length == 0) {\n return null;\n }\n\n return h(\n \"g.section\",\n {\n transform: `translate(${offsetLeft} 0)`,\n },\n h(\n ColumnProvider,\n {\n // Need to tighten up types here...\n divisions: units as any[],\n range: domain,\n scale,\n pixelsPerMeter: pixelScale, // Actually pixels per myr\n axisType: ColumnAxisType.AGE,\n },\n h(UnitBoxes, {\n unitComponent,\n unitComponentProps: {\n nColumns: 2,\n width: columnWidth,\n showLabel: false,\n },\n }),\n ),\n );\n}\n\nfunction PackageSVGOverlay({ data, columnWidth = 100, columnSpacing = 0 }) {\n const { b_age, t_age, bestPixelScale, columnData } = data;\n\n const width = (columnWidth + columnSpacing) * columnData.length;\n const height = Math.ceil((b_age - t_age) * bestPixelScale) + 2;\n\n const extensiveUnits = findLaterallyExtensiveUnits(data);\n\n const scale = (val: number) => {\n return (val - t_age) * bestPixelScale;\n };\n\n return h(\n \"div.package-overlay\",\n { style: { width, height } },\n extensiveUnits.map((d) => {\n return h(LaterallyExtensiveUnit, {\n data: d,\n scale,\n pixelScale: bestPixelScale,\n columnSpacing,\n });\n }),\n );\n}\n\nfunction LaterallyExtensiveUnit({ data, scale, pixelScale, columnSpacing }) {\n const { b_age, t_age, strat_name_long, units } = data;\n // Build boxes by column groups\n const boxes: UnitGroupBox[] = splitStratIntoBoxes(data);\n\n return h(\n \"div.laterally-extensive-unit\",\n boxes.map((d, i) => {\n return h(StratColSpan, {\n scale,\n data: d,\n pixelScale,\n key: i,\n columnSpacing,\n });\n }),\n );\n}\n\nfunction StratColSpan({\n data,\n scale,\n columnWidth = 100,\n columnSpacing = 0,\n pixelScale = 1,\n}) {\n const { startCol, endCol, strat_name_long, t_age, b_age } = data;\n const top = scale(t_age);\n const left = startCol * (columnWidth + columnSpacing);\n const width = (endCol - startCol + 1) * (columnWidth + columnSpacing);\n const height = (b_age - t_age) * pixelScale;\n return h(\n \"div.strat-col-span\",\n { style: { top, height, width, left } },\n strat_name_long,\n );\n}\n\nfunction ChartArea({ children }) {\n const setSelectedUnit = useUnitSelectionDispatch();\n\n return h(\n \"div.correlation-chart-inner\",\n {\n onClick() {\n setSelectedUnit(null, null);\n },\n },\n children,\n );\n}\n\ninterface TimescaleColumnProps {\n scaleInfo: CompositeStratigraphicScaleInfo;\n showLabels?: boolean;\n unconformityLabels?: boolean;\n}\n\nfunction TimescaleColumn(props: TimescaleColumnProps) {\n const { scaleInfo, unconformityLabels = true } = props;\n return h(\"div.column-container.age-axis-container\", [\n h(CompositeAgeAxisCore, { ...scaleInfo }),\n h(CompositeTimescaleCore, { ...scaleInfo, unconformityLabels }),\n ]);\n}\n"],"names":["$8OJSO$macrostrathyper","useMemo","$8OJSO$useMemo","useInDarkMode","$8OJSO$useInDarkMode","$8OJSO$classnames","SVG","$8OJSO$SVG","ColumnProvider","$8OJSO$ColumnProvider","ColumnAxisType","$8OJSO$ColumnAxisType","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","Object","defineProperty","get","$25f1fcddbe40b91f$export$9ebf875c09445bec","set","s","enumerable","configurable","$5SO8b","$wtIgl","$2KV3o","$cf1sk","$7exMg","$8ldOM","$4hG2H","$7tWYE","$1n4Pb","$dMbCm","$25f1fcddbe40b91f$var$h","styled","a","__esModule","default","$25f1fcddbe40b91f$var$MainChartArea","children","ref","useColumnRef","data","columnSpacing","columnWidth","unconformityLabels","showUnitPopover","selectedUnit","onUnitSelected","unitComponent","scaleProps","defaultScaleProps","targetUnitHeight","unconformityHeight","minSectionHeight","collapseSmallUnconformities","chartData","buildCorrelationChartData","values","units","map","d0","flat","className","packages","scaleInfo","nColumns","ColumnContainer","UnitSelectionProvider","$25f1fcddbe40b91f$var$ChartArea","$25f1fcddbe40b91f$var$TimescaleColumn","key","innerWidth","height","totalHeight","paddingH","pkg","i","offset","domain","pixelScale","scale","$25f1fcddbe40b91f$var$Package","columnData","if","UnitSelectionPopover","UnitKeyboardNavigation","transform","$25f1fcddbe40b91f$var$Column","width","offsetLeft","props","ColoredUnitComponent","length","divisions","range","pixelsPerMeter","axisType","AGE","UnitBoxes","unitComponentProps","showLabel","setSelectedUnit","useUnitSelectionDispatch","onClick","CompositeAgeAxisCore","CompositeTimescaleCore","CorrelationChart"],"version":3,"file":"column-views.1495397b.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.60dc38f3.js";import"./column-views.f749dbd6.js";import"./column-views.8c00beb4.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={},o={},t=a.parcelRequirea149;null==t&&((t=function(e){if(e in r)return r[e].exports;if(e in o){var a=o[e];delete o[e];var t={id:e,exports:{}};return r[e]=t,a.call(t.exports,t,t.exports),t.exports}var c=Error("Cannot find module '"+e+"'");throw c.code="MODULE_NOT_FOUND",c}).register=function(e,a){o[e]=a},a.parcelRequirea149=t),t.register;var c={},n=t("34Mx7"),f=t("dYjy7"),$=t("6Tim5");e(c,n),e(c,f),e(c,$);export{$44d1d5e5d8e823d1$export$821baedf611249f3 as ColumnNavigationMap,$5a7fd801cb316afa$export$c4313db718750a5a as ResizableMapFrame,$5a7fd801cb316afa$export$9595c40c7a4c4f7b as ColumnNavigationSVGMap,$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,$2e0f3abda6f981c3$export$8e7d97509e84cc49 as ColumnCorrelationMap,$c36af3ba15da093b$export$72ffe141ebf87ef1 as ColumnCorrelationProvider,$c36af3ba15da093b$export$21398703d3a9bb4d as useCorrelationMapStore,$ec03b0c93e1da04f$export$1e8149fc0d15fed0 as InsetMap,$25e107971dfb4328$export$d2995719c3a4ae17 as buildColumnsStyle};
|
|
2
|
+
//# sourceMappingURL=column-views.190241c4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,M,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,G,E,E,G,E,E,U,6C,mB,C,6C,iB,C,6C,sB,C,6C,iB,C,6C,c,C,4C,wB,C,6C,O,C,6C,a,C,6C,a,C,6C,oB,C,6C,yB,C,6C,sB,C,6C,Q,C,6C,iB","sources":["<anon>","packages/column-views/src/maps/index.ts"],"sourcesContent":["import \"./column-views.
|
|
1
|
+
{"mappings":"A,M,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,G,E,E,G,E,E,U,6C,mB,C,6C,iB,C,6C,sB,C,6C,iB,C,6C,c,C,4C,wB,C,6C,O,C,6C,a,C,6C,a,C,6C,oB,C,6C,yB,C,6C,sB,C,6C,Q,C,6C,iB","sources":["<anon>","packages/column-views/src/maps/index.ts"],"sourcesContent":["import \"./column-views.60dc38f3.js\";\nimport \"./column-views.f749dbd6.js\";\nimport \"./column-views.8c00beb4.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 $4a84f205caf763c1$exports = {};\n\nvar $34Mx7 = parcelRequire(\"34Mx7\");\n\nvar $dYjy7 = parcelRequire(\"dYjy7\");\n\nvar $6Tim5 = parcelRequire(\"6Tim5\");\n$parcel$exportWildcard($4a84f205caf763c1$exports, $34Mx7);\n$parcel$exportWildcard($4a84f205caf763c1$exports, $dYjy7);\n$parcel$exportWildcard($4a84f205caf763c1$exports, $6Tim5);\n\n\nexport {$44d1d5e5d8e823d1$export$821baedf611249f3 as ColumnNavigationMap, $5a7fd801cb316afa$export$c4313db718750a5a as ResizableMapFrame, $5a7fd801cb316afa$export$9595c40c7a4c4f7b as ColumnNavigationSVGMap, $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, $2e0f3abda6f981c3$export$8e7d97509e84cc49 as ColumnCorrelationMap, $c36af3ba15da093b$export$72ffe141ebf87ef1 as ColumnCorrelationProvider, $c36af3ba15da093b$export$21398703d3a9bb4d as useCorrelationMapStore, $ec03b0c93e1da04f$export$1e8149fc0d15fed0 as InsetMap, $25e107971dfb4328$export$d2995719c3a4ae17 as buildColumnsStyle};\n//# sourceMappingURL=column-views.190241c4.js.map\n","export * from \"./column-navigation\";\nexport * from \"./column-correlation\";\nexport * from \"./_shared\";\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","$4a84f205caf763c1$exports","$34Mx7","$dYjy7","$6Tim5","$44d1d5e5d8e823d1$export$821baedf611249f3","ColumnNavigationMap","$5a7fd801cb316afa$export$c4313db718750a5a","ResizableMapFrame","$5a7fd801cb316afa$export$9595c40c7a4c4f7b","ColumnNavigationSVGMap","$372e0c9189556f66$export$2254347cd20e6080","MeasurementsLayer","$372e0c9189556f66$export$f177ff57c101017a","ColumnFeatures","$372e0c9189556f66$export$8c41dd563753848","ColumnKeyboardNavigation","$372e0c9189556f66$export$f02cc02ad0e0bba3","Columns","$372e0c9189556f66$export$4d8f6e6df85d9012","ColumnCenters","$372e0c9189556f66$export$b9d912252344e099","CurrentColumn","$2e0f3abda6f981c3$export$8e7d97509e84cc49","ColumnCorrelationMap","$c36af3ba15da093b$export$72ffe141ebf87ef1","ColumnCorrelationProvider","$c36af3ba15da093b$export$21398703d3a9bb4d","useCorrelationMapStore","$ec03b0c93e1da04f$export$1e8149fc0d15fed0","InsetMap","$25e107971dfb4328$export$d2995719c3a4ae17","buildColumnsStyle"],"version":3,"file":"column-views.190241c4.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.e1481ea6.js";import"./column-views.89afd6b3.js";import"./column-views.6a0a35e7.js";import"./column-views.0980c2a0.js";import"./column-views.861b8e3e.js";import{hyperStyled as e}from"@macrostrat/hyper";import{LithologyColumn as t,SVG as n,ColumnContext as o}from"@macrostrat/column-components";import{createContext as a,useState as i,useRef as r,useCallback as l,useContext as s,useEffect as u}from"react";function d(e,t,n,o){Object.defineProperty(e,t,{get:n,set:o,enumerable:!0,configurable:!0})}var c=globalThis,p={},m={},f=c.parcelRequirea149;null==f&&((f=function(e){if(e in p)return p[e].exports;if(e in m){var t=m[e];delete m[e];var n={id:e,exports:{}};return p[e]=n,t.call(n.exports,n,n.exports),n.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,t){m[e]=t},c.parcelRequirea149=f),f.register;var b={};d(b,"LabelTrackerProvider",()=>S),d(b,"TrackedLabeledUnit",()=>w),d(b,"CompositeUnitComponent",()=>L),d(b,"CompositeUnitsColumn",()=>P),d(b,"AnnotatedUnitsColumn",()=>T),d(b,"SectionLabelsColumn",()=>y),d(b,"ColumnNotesProvider",()=>F);var C=f("jiUaC"),v=f("1n4Pb"),x=f("45u6B"),h=f("wtIgl"),$=f("5SO8b");let U=e(x&&x.__esModule?x.default:x),g=a(null),H=a(null),_=e=>e.unit_id;function S(e){let{children:t,units:n,findUnitID:o=_}=e,[a,s]=i(null),u=r({}),d=l((e,t)=>{let a=o(e);u.current[a]=t,Object.keys(u.current).length==n.length&&s(n.filter(e=>{let t=o(e);return!1==u.current[t]}))},[u,n,o]);return U(g.Provider,{value:d},U(H.Provider,{value:a},t))}function w({division:e,nameForDivision:t=C.defaultNameFunction,...n}){let o=s(g);return U(v.LabeledUnit,{division:e,label:t(e),onLabelUpdated(t,n){o?.(e,n)},...n})}let L=w;function P(e){let{width:n,unitComponent:o=w,unitComponentProps:a,clipToFrame:i,...r}=e;return U(t,{width:n,clipToFrame:i},[U(v.UnitBoxes,{unitComponent:o,unitComponentProps:a,...r})])}function T(e){return u(()=>{console.warn("AnnotatedUnitsColumn is deprecated and currently renders a no-op for transition purposes")},[]),null}function y(e){let{width:t=300,noteMode:o="unlabeled",labelOffset:a=30,noteComponent:i,shouldRenderNote:r}=e,{totalHeight:l,axisType:u}=(0,h.useMacrostratColumnData)(),d=(0,h.useCompositeScale)(),c=s(H),p=(0,$.useUnitSelectionDispatch)();return U("div.section-labels-column",[U(F,{units:[],scale:d,totalHeight:l,axisType:u},U(n,{height:l,innerWidth:t-4,paddingH:1,paddingLeft:3},U(C.UnitNamesColumn,{divisions:"unlabeled"==o?c:void 0,paddingLeft:a,width:t,noteComponent:i,shouldRenderNote:r,scale:d,onClickNote(e){p(e.data,null,null)}})))])}function F(e){let{children:t,scale:n,totalHeight:a,pixelScale:i}=e,{axisType:r}=(0,h.useMacrostratColumnData)();return U(o.Provider,{value:{divisions:[],scale:n,scaleClamped:n,pixelHeight:a,pixelsPerMeter:i,axisType:r,zoom:1}},t)}export{S as LabelTrackerProvider,w as TrackedLabeledUnit,L as CompositeUnitComponent,P as CompositeUnitsColumn,T as AnnotatedUnitsColumn,y as SectionLabelsColumn,F as ColumnNotesProvider};
|
|
2
|
+
//# sourceMappingURL=column-views.1d1d6117.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,e,C,K,mB,A,Q,mB,C,C,O,C,C,iB,C,K,+B,A,Q,iB,C,C,Y,C,C,U,C,C,e,C,C,c,C,C,a,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,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,uB,I,G,E,E,qB,I,G,E,E,yB,I,G,E,E,uB,I,G,E,E,uB,I,G,E,E,sB,I,G,E,E,sB,I,G,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCwBA,IAAM,EAAI,AAAA,E,AAAY,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAMhB,EAAsB,AAAA,EAAc,MACpC,EAA4B,AAAA,EAAc,MAE1C,EAAuB,AAAC,GAAM,EAAE,OAAO,CAEtC,SAAS,EAAqB,CAAK,EAIxC,GAAM,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAA,WAAE,EAAa,CAAA,CAAsB,CAAG,EACzD,CAAC,EAAoB,EAAsB,CAAG,AAAA,EAElD,MACI,EAAkB,AAAA,EAAqB,CAAC,GACxC,EAAuB,AAAA,EAC3B,CAAC,EAAK,KACJ,IAAM,EAAK,EAAW,EACtB,CAAA,EAAgB,OAAO,CAAC,EAAG,CAAG,EAC1B,OAAO,IAAI,CAAC,EAAgB,OAAO,EAAE,MAAM,EAAI,EAAM,MAAM,EAC7D,EAEE,EAAM,MAAM,CAAC,AAAC,IACZ,IAAM,EAAK,EAAW,GACtB,MAAO,AAA+B,CAAA,GAA/B,EAAgB,OAAO,CAAC,EAAG,AACpC,GAGN,EACA,CAAC,EAAiB,EAAO,EAAW,EAItC,OAAO,EACL,EAAoB,QAAQ,CAC5B,CAAE,MAHU,CAGJ,EACR,EACE,EAA0B,QAAQ,CAClC,CAAE,MAAO,CAAmB,EAC5B,GAGN,CAEA,SAAS,EAAmB,CAAA,SAC1B,CAAQ,CAAA,gBACR,EAAkB,EAAA,mBAAkB,AAAA,CACpC,GAAG,EACJ,EACC,IAAM,EAAuB,AAAA,EAAW,GACxC,OAAO,EAAE,EAAA,WAAU,CAAG,CACpB,SAAA,EACA,MAAO,EAAgB,GACvB,eAAe,CAAK,CAAE,CAAO,EAE3B,IAAuB,EAAU,EACnC,EACA,GAAG,CAAI,AACT,EACF,CAEO,IAAM,EAAyB,EA+B/B,SAAS,EAAqB,CAAyB,EAK5D,GAAM,CAAA,MACJ,CAAK,CAAA,cACL,EAAgB,CAAA,CAAA,mBAChB,CAAkB,CAAA,YAClB,CAAW,CACX,GAAG,EACJ,CAAG,EAEJ,OAAO,EAAE,EAAiB,CAAE,MAAA,EAAO,YAAA,CAAY,EAAG,CAChD,EAAE,EAAA,SAAQ,CAAG,CACX,cAAA,EACA,mBAAA,EACA,GAAG,CAAI,AACT,GACD,CACH,CAEO,SAAS,EAAqB,CAA0B,EAM7D,OALA,AAAA,EAAU,KACR,QAAQ,IAAI,CACV,2FAEJ,EAAG,EAAE,EACE,IACT,CAEO,SAAS,EAAoB,CAA0B,EAE5D,GAAM,CAAA,MACJ,EAAQ,GAAA,CAAA,SACR,EAAW,WAAA,CAAA,YACX,EAAc,EAAA,CAAA,cACd,CAAa,CAAA,iBACb,CAAgB,CACjB,CAAG,EAEE,CAAA,YAAE,CAAW,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAC5B,EAAkB,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAElB,EAAiB,AAAA,EAAW,GAG5B,EAAa,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,IAEnB,OAAO,EAAE,4BAA6B,CACpC,EACE,EACA,CACE,MAAO,EAAE,CACT,MAAO,EACP,YAAA,EACA,SAAA,CACF,EACA,EACE,EACA,CACE,OAAQ,EACR,WAAY,EAAQ,EACpB,SAAU,EACV,YAAa,CACf,EACA,EAAE,EAAA,eAAc,CAAG,CACjB,UAtBa,AAAY,aAAZ,EAA0B,EAAiB,KAAA,EAuBxD,YAAa,EACb,MAAA,EACA,cAAA,EACA,iBAAA,EACA,MAAO,EACP,YAAY,CAAI,EACd,EAAW,EAAK,IAAI,CAAE,KAAM,KAC9B,CACF,KAGL,CACH,CAEO,SAAS,EAAoB,CAAK,EAEvC,GAAM,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAA,YAAE,CAAW,CAAA,WAAE,CAAU,CAAE,CAAG,EAE/C,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAErB,OAAO,EACL,AAAA,EAAc,QAAQ,CACtB,CACE,MAAO,CACL,UAAW,EAAE,CACb,MAAA,EACA,aAAc,EACd,YAAa,EACb,eAAgB,EAChB,SAAA,EACA,KAAM,CACR,CACF,EACA,EAEJ,Q,K,oB,C,K,kB,C,K,sB,C,K,oB,C,K,oB,C,K,mB,C,K,mB","sources":["<anon>","packages/column-views/src/units/composite.ts"],"sourcesContent":["import \"./column-views.e153680b.js\";\nimport \"./column-views.c921fa1a.js\";\nimport \"./column-views.6a0a35e7.js\";\nimport \"./column-views.46efb749.js\";\nimport \"./column-views.0beae29d.js\";\nimport {hyperStyled as $hj0lx$hyperStyled} from \"@macrostrat/hyper\";\nimport {LithologyColumn as $hj0lx$LithologyColumn, SVG as $hj0lx$SVG, ColumnContext as $hj0lx$ColumnContext} from \"@macrostrat/column-components\";\nimport {createContext as $hj0lx$createContext, useState as $hj0lx$useState, useRef as $hj0lx$useRef, useCallback as $hj0lx$useCallback, useContext as $hj0lx$useContext, useEffect as $hj0lx$useEffect} from \"react\";\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 $6b7af672ec278734$exports = {};\n\n$parcel$export($6b7af672ec278734$exports, \"LabelTrackerProvider\", () => $6b7af672ec278734$export$e4e89ab6c86ac513);\n$parcel$export($6b7af672ec278734$exports, \"TrackedLabeledUnit\", () => $6b7af672ec278734$export$f613830566442374);\n$parcel$export($6b7af672ec278734$exports, \"CompositeUnitComponent\", () => $6b7af672ec278734$export$1dfa200d57964eee);\n$parcel$export($6b7af672ec278734$exports, \"CompositeUnitsColumn\", () => $6b7af672ec278734$export$a6684360fef0406e);\n$parcel$export($6b7af672ec278734$exports, \"AnnotatedUnitsColumn\", () => $6b7af672ec278734$export$d8c3f2fdd653a082);\n$parcel$export($6b7af672ec278734$exports, \"SectionLabelsColumn\", () => $6b7af672ec278734$export$13984e34afdbb040);\n$parcel$export($6b7af672ec278734$exports, \"ColumnNotesProvider\", () => $6b7af672ec278734$export$6cc7a9df4edde18);\n\n\n\nvar $jiUaC = parcelRequire(\"jiUaC\");\n\n\nvar $1n4Pb = parcelRequire(\"1n4Pb\");\n\nvar $45u6B = parcelRequire(\"45u6B\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\nvar $5SO8b = parcelRequire(\"5SO8b\");\nconst $6b7af672ec278734$var$h = (0, $hj0lx$hyperStyled)((0, (/*@__PURE__*/$parcel$interopDefault($45u6B))));\nconst $6b7af672ec278734$var$LabelTrackerContext = (0, $hj0lx$createContext)(null);\nconst $6b7af672ec278734$var$UnlabeledDivisionsContext = (0, $hj0lx$createContext)(null);\nconst $6b7af672ec278734$var$findMacrostratUnitID = (u)=>u.unit_id;\nfunction $6b7af672ec278734$export$e4e89ab6c86ac513(props) {\n /** Tracker for units to handle state for whether their labels fit inline or not.\n * Designed to work for single or composite columns.\n */ const { children: children, units: units, findUnitID: findUnitID = $6b7af672ec278734$var$findMacrostratUnitID } = props;\n const [unlabeledDivisions, setUnlabeledDivisions] = (0, $hj0lx$useState)(null);\n const labelTrackerRef = (0, $hj0lx$useRef)({});\n const trackLabelVisibility = (0, $hj0lx$useCallback)((div, visible)=>{\n const id = findUnitID(div);\n labelTrackerRef.current[id] = visible;\n if (Object.keys(labelTrackerRef.current).length == units.length) setUnlabeledDivisions(// @ts-ignore\n units.filter((d)=>{\n const id = findUnitID(d);\n return labelTrackerRef.current[id] == false;\n }));\n }, [\n labelTrackerRef,\n units,\n findUnitID\n ]);\n const value = trackLabelVisibility;\n return $6b7af672ec278734$var$h($6b7af672ec278734$var$LabelTrackerContext.Provider, {\n value: value\n }, $6b7af672ec278734$var$h($6b7af672ec278734$var$UnlabeledDivisionsContext.Provider, {\n value: unlabeledDivisions\n }, children));\n}\nfunction $6b7af672ec278734$export$f613830566442374({ division: division, nameForDivision: nameForDivision = (0, $jiUaC.defaultNameFunction), ...rest }) {\n const trackLabelVisibility = (0, $hj0lx$useContext)($6b7af672ec278734$var$LabelTrackerContext);\n return $6b7af672ec278734$var$h((0, $1n4Pb.LabeledUnit), {\n division: division,\n label: nameForDivision(division),\n onLabelUpdated (label, visible) {\n // If there is al LabelTrackerContext, update the label visibility\n trackLabelVisibility?.(division, visible);\n },\n ...rest\n });\n}\nconst $6b7af672ec278734$export$1dfa200d57964eee = $6b7af672ec278734$export$f613830566442374;\nfunction $6b7af672ec278734$export$a6684360fef0406e(props) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */ const { width: width, unitComponent: unitComponent = $6b7af672ec278734$export$f613830566442374, unitComponentProps: unitComponentProps, clipToFrame: clipToFrame, ...rest } = props;\n return $6b7af672ec278734$var$h((0, $hj0lx$LithologyColumn), {\n width: width,\n clipToFrame: clipToFrame\n }, [\n $6b7af672ec278734$var$h((0, $1n4Pb.UnitBoxes), {\n unitComponent: unitComponent,\n unitComponentProps: unitComponentProps,\n ...rest\n })\n ]);\n}\nfunction $6b7af672ec278734$export$d8c3f2fdd653a082(props) {\n (0, $hj0lx$useEffect)(()=>{\n console.warn(\"AnnotatedUnitsColumn is deprecated and currently renders a no-op for transition purposes\");\n }, []);\n return null;\n}\nfunction $6b7af672ec278734$export$13984e34afdbb040(props) {\n // Section with \"squishy\" time scale\n const { width: width = 300, noteMode: noteMode = \"unlabeled\", labelOffset: labelOffset = 30, noteComponent: noteComponent, shouldRenderNote: shouldRenderNote } = props;\n const { totalHeight: totalHeight, axisType: axisType } = (0, $wtIgl.useMacrostratColumnData)();\n const _compositeScale = (0, $wtIgl.useCompositeScale)();\n const unlabeledUnits = (0, $hj0lx$useContext)($6b7af672ec278734$var$UnlabeledDivisionsContext);\n const unitsToLabel = noteMode == \"unlabeled\" ? unlabeledUnits : undefined;\n const selectUnit = (0, $5SO8b.useUnitSelectionDispatch)();\n return $6b7af672ec278734$var$h(\"div.section-labels-column\", [\n $6b7af672ec278734$var$h($6b7af672ec278734$export$6cc7a9df4edde18, {\n units: [],\n scale: _compositeScale,\n totalHeight: totalHeight,\n axisType: axisType\n }, $6b7af672ec278734$var$h((0, $hj0lx$SVG), {\n height: totalHeight,\n innerWidth: width - 4,\n paddingH: 1,\n paddingLeft: 3\n }, $6b7af672ec278734$var$h((0, $jiUaC.UnitNamesColumn), {\n divisions: unitsToLabel,\n paddingLeft: labelOffset,\n width: width,\n noteComponent: noteComponent,\n shouldRenderNote: shouldRenderNote,\n scale: _compositeScale,\n onClickNote (note) {\n selectUnit(note.data, null, null);\n }\n })))\n ]);\n}\nfunction $6b7af672ec278734$export$6cc7a9df4edde18(props) {\n // A fake column axis provider that allows scales to cross\n const { children: children, scale: scale, totalHeight: totalHeight, pixelScale: pixelScale } = props;\n const { axisType: axisType } = (0, $wtIgl.useMacrostratColumnData)();\n return $6b7af672ec278734$var$h((0, $hj0lx$ColumnContext).Provider, {\n value: {\n divisions: [],\n scale: scale,\n scaleClamped: scale,\n pixelHeight: totalHeight,\n pixelsPerMeter: pixelScale,\n axisType: axisType,\n zoom: 1\n }\n }, children);\n}\n\n\nexport {$6b7af672ec278734$export$e4e89ab6c86ac513 as LabelTrackerProvider, $6b7af672ec278734$export$f613830566442374 as TrackedLabeledUnit, $6b7af672ec278734$export$1dfa200d57964eee as CompositeUnitComponent, $6b7af672ec278734$export$a6684360fef0406e as CompositeUnitsColumn, $6b7af672ec278734$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $6b7af672ec278734$export$13984e34afdbb040 as SectionLabelsColumn, $6b7af672ec278734$export$6cc7a9df4edde18 as ColumnNotesProvider};\n//# sourceMappingURL=column-views.fafbc028.js.map\n","import { hyperStyled } from \"@macrostrat/hyper\";\nimport {\n ColumnContext,\n LithologyColumn,\n SVG,\n} from \"@macrostrat/column-components\";\nimport { defaultNameFunction, UnitNamesColumn } from \"./names\";\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport { LabeledUnit, UnitBoxes } from \"./boxes\";\nimport styles from \"./composite.module.sass\";\nimport {\n useCompositeScale,\n useMacrostratColumnData,\n useUnitSelectionDispatch,\n} from \"../data-provider\";\n\nconst h = hyperStyled(styles);\n\ninterface LabelTracker {\n [key: number]: boolean;\n}\n\nconst LabelTrackerContext = createContext(null);\nconst UnlabeledDivisionsContext = createContext(null);\n\nconst findMacrostratUnitID = (u) => u.unit_id;\n\nexport function LabelTrackerProvider(props) {\n /** Tracker for units to handle state for whether their labels fit inline or not.\n * Designed to work for single or composite columns.\n */\n const { children, units, findUnitID = findMacrostratUnitID } = props;\n const [unlabeledDivisions, setUnlabeledDivisions] = useState<\n BaseUnit[] | null\n >(null);\n const labelTrackerRef = useRef<LabelTracker>({});\n const trackLabelVisibility = useCallback(\n (div, visible) => {\n const id = findUnitID(div);\n labelTrackerRef.current[id] = visible;\n if (Object.keys(labelTrackerRef.current).length == units.length) {\n setUnlabeledDivisions(\n // @ts-ignore\n units.filter((d) => {\n const id = findUnitID(d);\n return labelTrackerRef.current[id] == false;\n }),\n );\n }\n },\n [labelTrackerRef, units, findUnitID],\n );\n\n const value = trackLabelVisibility;\n return h(\n LabelTrackerContext.Provider,\n { value },\n h(\n UnlabeledDivisionsContext.Provider,\n { value: unlabeledDivisions },\n children,\n ),\n );\n}\n\nfunction TrackedLabeledUnit({\n division,\n nameForDivision = defaultNameFunction,\n ...rest\n}) {\n const trackLabelVisibility = useContext(LabelTrackerContext);\n return h(LabeledUnit, {\n division,\n label: nameForDivision(division),\n onLabelUpdated(label, visible) {\n // If there is al LabelTrackerContext, update the label visibility\n trackLabelVisibility?.(division, visible);\n },\n ...rest,\n });\n}\n\nexport const CompositeUnitComponent = TrackedLabeledUnit;\n\ntype BaseUnitProps = {\n width: number;\n showLabels?: boolean;\n columnWidth?: number;\n clipToFrame?: boolean;\n};\n\ntype ICompositeUnitProps = BaseUnitProps & {\n gutterWidth?: number;\n labelOffset?: number;\n paddingLeft?: number;\n nameForDivision?: (division: BaseUnit) => string;\n children?: React.ReactNode;\n unitComponent?: React.FC<any>;\n unitComponentProps?: any;\n noteMode?: \"labeled\" | \"unlabeled\";\n showLabelColumn?: boolean;\n noteComponent?: React.FC<any>;\n shouldRenderNote?: (d: any) => boolean;\n};\n\ninterface CompositeUnitProps {\n unitComponent: React.FC<any>;\n unitComponentProps?: any;\n width: number;\n showLabels?: boolean;\n clipToFrame?: boolean;\n}\n\nexport function CompositeUnitsColumn(props: CompositeUnitProps) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */\n const {\n width,\n unitComponent = TrackedLabeledUnit,\n unitComponentProps,\n clipToFrame,\n ...rest\n } = props;\n\n return h(LithologyColumn, { width, clipToFrame }, [\n h(UnitBoxes, {\n unitComponent,\n unitComponentProps,\n ...rest,\n }),\n ]);\n}\n\nexport function AnnotatedUnitsColumn(props: ICompositeUnitProps) {\n useEffect(() => {\n console.warn(\n \"AnnotatedUnitsColumn is deprecated and currently renders a no-op for transition purposes\",\n );\n }, []);\n return null;\n}\n\nexport function SectionLabelsColumn(props: ICompositeUnitProps) {\n // Section with \"squishy\" time scale\n const {\n width = 300,\n noteMode = \"unlabeled\",\n labelOffset = 30,\n noteComponent,\n shouldRenderNote,\n } = props;\n\n const { totalHeight, axisType } = useMacrostratColumnData();\n const _compositeScale = useCompositeScale();\n\n const unlabeledUnits = useContext(UnlabeledDivisionsContext);\n const unitsToLabel = noteMode == \"unlabeled\" ? unlabeledUnits : undefined;\n\n const selectUnit = useUnitSelectionDispatch();\n\n return h(\"div.section-labels-column\", [\n h(\n ColumnNotesProvider,\n {\n units: [],\n scale: _compositeScale,\n totalHeight,\n axisType,\n },\n h(\n SVG,\n {\n height: totalHeight,\n innerWidth: width - 4,\n paddingH: 1,\n paddingLeft: 3,\n },\n h(UnitNamesColumn, {\n divisions: unitsToLabel,\n paddingLeft: labelOffset,\n width,\n noteComponent,\n shouldRenderNote,\n scale: _compositeScale,\n onClickNote(note) {\n selectUnit(note.data, null, null);\n },\n }),\n ),\n ),\n ]);\n}\n\nexport function ColumnNotesProvider(props) {\n // A fake column axis provider that allows scales to cross\n const { children, scale, totalHeight, pixelScale } = props;\n\n const { axisType } = useMacrostratColumnData();\n\n return h(\n ColumnContext.Provider,\n {\n value: {\n divisions: [],\n scale,\n scaleClamped: scale,\n pixelHeight: totalHeight,\n pixelsPerMeter: pixelScale,\n axisType,\n zoom: 1,\n },\n },\n children,\n );\n}\n\nexport { TrackedLabeledUnit, ICompositeUnitProps };\n"],"names":["hyperStyled","$hj0lx$hyperStyled","LithologyColumn","$hj0lx$LithologyColumn","SVG","$hj0lx$SVG","ColumnContext","$hj0lx$ColumnContext","createContext","$hj0lx$createContext","useState","$hj0lx$useState","useRef","$hj0lx$useRef","useCallback","$hj0lx$useCallback","useContext","$hj0lx$useContext","useEffect","$hj0lx$useEffect","$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","$6b7af672ec278734$exports","$6b7af672ec278734$export$e4e89ab6c86ac513","$6b7af672ec278734$export$f613830566442374","$6b7af672ec278734$export$1dfa200d57964eee","$6b7af672ec278734$export$a6684360fef0406e","$6b7af672ec278734$export$d8c3f2fdd653a082","$6b7af672ec278734$export$13984e34afdbb040","$6b7af672ec278734$export$6cc7a9df4edde18","$jiUaC","$1n4Pb","$45u6B","$wtIgl","$5SO8b","$6b7af672ec278734$var$h","a","__esModule","default","$6b7af672ec278734$var$LabelTrackerContext","$6b7af672ec278734$var$UnlabeledDivisionsContext","$6b7af672ec278734$var$findMacrostratUnitID","u","unit_id","props","children","units","findUnitID","unlabeledDivisions","setUnlabeledDivisions","labelTrackerRef","trackLabelVisibility","div","visible","current","keys","length","filter","d","Provider","value","division","nameForDivision","defaultNameFunction","rest","LabeledUnit","label","onLabelUpdated","width","unitComponent","unitComponentProps","clipToFrame","UnitBoxes","console","warn","noteMode","labelOffset","noteComponent","shouldRenderNote","totalHeight","axisType","useMacrostratColumnData","_compositeScale","useCompositeScale","unlabeledUnits","selectUnit","useUnitSelectionDispatch","scale","height","innerWidth","paddingH","paddingLeft","UnitNamesColumn","divisions","undefined","onClickNote","note","data","pixelScale","scaleClamped","pixelHeight","pixelsPerMeter","zoom","LabelTrackerProvider","TrackedLabeledUnit","CompositeUnitComponent","CompositeUnitsColumn","AnnotatedUnitsColumn","SectionLabelsColumn","ColumnNotesProvider"],"version":3,"file":"column-views.fafbc028.js.map","sourceRoot":"../../../../"}
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,e,C,K,mB,A,Q,mB,C,C,O,C,C,iB,C,K,+B,A,Q,iB,C,C,Y,C,C,U,C,C,e,C,C,c,C,C,a,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,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,uB,I,G,E,E,qB,I,G,E,E,yB,I,G,E,E,uB,I,G,E,E,uB,I,G,E,E,sB,I,G,E,E,sB,I,G,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCwBA,IAAM,EAAI,AAAA,E,AAAY,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAMhB,EAAsB,AAAA,EAAc,MACpC,EAA4B,AAAA,EAAc,MAE1C,EAAuB,AAAC,GAAM,EAAE,OAAO,CAEtC,SAAS,EAAqB,CAAK,EAIxC,GAAM,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAA,WAAE,EAAa,CAAA,CAAsB,CAAG,EACzD,CAAC,EAAoB,EAAsB,CAAG,AAAA,EAElD,MACI,EAAkB,AAAA,EAAqB,CAAC,GACxC,EAAuB,AAAA,EAC3B,CAAC,EAAK,KACJ,IAAM,EAAK,EAAW,EACtB,CAAA,EAAgB,OAAO,CAAC,EAAG,CAAG,EAC1B,OAAO,IAAI,CAAC,EAAgB,OAAO,EAAE,MAAM,EAAI,EAAM,MAAM,EAC7D,EAEE,EAAM,MAAM,CAAC,AAAC,IACZ,IAAM,EAAK,EAAW,GACtB,MAAO,AAA+B,CAAA,GAA/B,EAAgB,OAAO,CAAC,EAAG,AACpC,GAGN,EACA,CAAC,EAAiB,EAAO,EAAW,EAItC,OAAO,EACL,EAAoB,QAAQ,CAC5B,CAAE,MAHU,CAGJ,EACR,EACE,EAA0B,QAAQ,CAClC,CAAE,MAAO,CAAmB,EAC5B,GAGN,CAEA,SAAS,EAAmB,CAAA,SAC1B,CAAQ,CAAA,gBACR,EAAkB,EAAA,mBAAkB,AAAA,CACpC,GAAG,EACJ,EACC,IAAM,EAAuB,AAAA,EAAW,GACxC,OAAO,EAAE,EAAA,WAAU,CAAG,CACpB,SAAA,EACA,MAAO,EAAgB,GACvB,eAAe,CAAK,CAAE,CAAO,EAE3B,IAAuB,EAAU,EACnC,EACA,GAAG,CAAI,AACT,EACF,CAEO,IAAM,EAAyB,EA+B/B,SAAS,EAAqB,CAAyB,EAK5D,GAAM,CAAA,MACJ,CAAK,CAAA,cACL,EAAgB,CAAA,CAAA,mBAChB,CAAkB,CAAA,YAClB,CAAW,CACX,GAAG,EACJ,CAAG,EAEJ,OAAO,EAAE,EAAiB,CAAE,MAAA,EAAO,YAAA,CAAY,EAAG,CAChD,EAAE,EAAA,SAAQ,CAAG,CACX,cAAA,EACA,mBAAA,EACA,GAAG,CAAI,AACT,GACD,CACH,CAEO,SAAS,EAAqB,CAA0B,EAM7D,OALA,AAAA,EAAU,KACR,QAAQ,IAAI,CACV,2FAEJ,EAAG,EAAE,EACE,IACT,CAEO,SAAS,EAAoB,CAA0B,EAE5D,GAAM,CAAA,MACJ,EAAQ,GAAA,CAAA,SACR,EAAW,WAAA,CAAA,YACX,EAAc,EAAA,CAAA,cACd,CAAa,CAAA,iBACb,CAAgB,CACjB,CAAG,EAEE,CAAA,YAAE,CAAW,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAC5B,EAAkB,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAElB,EAAiB,AAAA,EAAW,GAG5B,EAAa,AAAA,CAAA,EAAA,EAAA,wBAAuB,AAAvB,IAEnB,OAAO,EAAE,4BAA6B,CACpC,EACE,EACA,CACE,MAAO,EAAE,CACT,MAAO,EACP,YAAA,EACA,SAAA,CACF,EACA,EACE,EACA,CACE,OAAQ,EACR,WAAY,EAAQ,EACpB,SAAU,EACV,YAAa,CACf,EACA,EAAE,EAAA,eAAc,CAAG,CACjB,UAtBa,AAAY,aAAZ,EAA0B,EAAiB,KAAA,EAuBxD,YAAa,EACb,MAAA,EACA,cAAA,EACA,iBAAA,EACA,MAAO,EACP,YAAY,CAAI,EACd,EAAW,EAAK,IAAI,CAAE,KAAM,KAC9B,CACF,KAGL,CACH,CAEO,SAAS,EAAoB,CAAK,EAEvC,GAAM,CAAA,SAAE,CAAQ,CAAA,MAAE,CAAK,CAAA,YAAE,CAAW,CAAA,WAAE,CAAU,CAAE,CAAG,EAE/C,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAErB,OAAO,EACL,AAAA,EAAc,QAAQ,CACtB,CACE,MAAO,CACL,UAAW,EAAE,CACb,MAAA,EACA,aAAc,EACd,YAAa,EACb,eAAgB,EAChB,SAAA,EACA,KAAM,CACR,CACF,EACA,EAEJ,Q,K,oB,C,K,kB,C,K,sB,C,K,oB,C,K,oB,C,K,mB,C,K,mB","sources":["<anon>","packages/column-views/src/units/composite.ts"],"sourcesContent":["import \"./column-views.e1481ea6.js\";\nimport \"./column-views.89afd6b3.js\";\nimport \"./column-views.6a0a35e7.js\";\nimport \"./column-views.0980c2a0.js\";\nimport \"./column-views.861b8e3e.js\";\nimport {hyperStyled as $hj0lx$hyperStyled} from \"@macrostrat/hyper\";\nimport {LithologyColumn as $hj0lx$LithologyColumn, SVG as $hj0lx$SVG, ColumnContext as $hj0lx$ColumnContext} from \"@macrostrat/column-components\";\nimport {createContext as $hj0lx$createContext, useState as $hj0lx$useState, useRef as $hj0lx$useRef, useCallback as $hj0lx$useCallback, useContext as $hj0lx$useContext, useEffect as $hj0lx$useEffect} from \"react\";\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 $6b7af672ec278734$exports = {};\n\n$parcel$export($6b7af672ec278734$exports, \"LabelTrackerProvider\", () => $6b7af672ec278734$export$e4e89ab6c86ac513);\n$parcel$export($6b7af672ec278734$exports, \"TrackedLabeledUnit\", () => $6b7af672ec278734$export$f613830566442374);\n$parcel$export($6b7af672ec278734$exports, \"CompositeUnitComponent\", () => $6b7af672ec278734$export$1dfa200d57964eee);\n$parcel$export($6b7af672ec278734$exports, \"CompositeUnitsColumn\", () => $6b7af672ec278734$export$a6684360fef0406e);\n$parcel$export($6b7af672ec278734$exports, \"AnnotatedUnitsColumn\", () => $6b7af672ec278734$export$d8c3f2fdd653a082);\n$parcel$export($6b7af672ec278734$exports, \"SectionLabelsColumn\", () => $6b7af672ec278734$export$13984e34afdbb040);\n$parcel$export($6b7af672ec278734$exports, \"ColumnNotesProvider\", () => $6b7af672ec278734$export$6cc7a9df4edde18);\n\n\n\nvar $jiUaC = parcelRequire(\"jiUaC\");\n\n\nvar $1n4Pb = parcelRequire(\"1n4Pb\");\n\nvar $45u6B = parcelRequire(\"45u6B\");\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\nvar $5SO8b = parcelRequire(\"5SO8b\");\nconst $6b7af672ec278734$var$h = (0, $hj0lx$hyperStyled)((0, (/*@__PURE__*/$parcel$interopDefault($45u6B))));\nconst $6b7af672ec278734$var$LabelTrackerContext = (0, $hj0lx$createContext)(null);\nconst $6b7af672ec278734$var$UnlabeledDivisionsContext = (0, $hj0lx$createContext)(null);\nconst $6b7af672ec278734$var$findMacrostratUnitID = (u)=>u.unit_id;\nfunction $6b7af672ec278734$export$e4e89ab6c86ac513(props) {\n /** Tracker for units to handle state for whether their labels fit inline or not.\n * Designed to work for single or composite columns.\n */ const { children: children, units: units, findUnitID: findUnitID = $6b7af672ec278734$var$findMacrostratUnitID } = props;\n const [unlabeledDivisions, setUnlabeledDivisions] = (0, $hj0lx$useState)(null);\n const labelTrackerRef = (0, $hj0lx$useRef)({});\n const trackLabelVisibility = (0, $hj0lx$useCallback)((div, visible)=>{\n const id = findUnitID(div);\n labelTrackerRef.current[id] = visible;\n if (Object.keys(labelTrackerRef.current).length == units.length) setUnlabeledDivisions(// @ts-ignore\n units.filter((d)=>{\n const id = findUnitID(d);\n return labelTrackerRef.current[id] == false;\n }));\n }, [\n labelTrackerRef,\n units,\n findUnitID\n ]);\n const value = trackLabelVisibility;\n return $6b7af672ec278734$var$h($6b7af672ec278734$var$LabelTrackerContext.Provider, {\n value: value\n }, $6b7af672ec278734$var$h($6b7af672ec278734$var$UnlabeledDivisionsContext.Provider, {\n value: unlabeledDivisions\n }, children));\n}\nfunction $6b7af672ec278734$export$f613830566442374({ division: division, nameForDivision: nameForDivision = (0, $jiUaC.defaultNameFunction), ...rest }) {\n const trackLabelVisibility = (0, $hj0lx$useContext)($6b7af672ec278734$var$LabelTrackerContext);\n return $6b7af672ec278734$var$h((0, $1n4Pb.LabeledUnit), {\n division: division,\n label: nameForDivision(division),\n onLabelUpdated (label, visible) {\n // If there is al LabelTrackerContext, update the label visibility\n trackLabelVisibility?.(division, visible);\n },\n ...rest\n });\n}\nconst $6b7af672ec278734$export$1dfa200d57964eee = $6b7af672ec278734$export$f613830566442374;\nfunction $6b7af672ec278734$export$a6684360fef0406e(props) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */ const { width: width, unitComponent: unitComponent = $6b7af672ec278734$export$f613830566442374, unitComponentProps: unitComponentProps, clipToFrame: clipToFrame, ...rest } = props;\n return $6b7af672ec278734$var$h((0, $hj0lx$LithologyColumn), {\n width: width,\n clipToFrame: clipToFrame\n }, [\n $6b7af672ec278734$var$h((0, $1n4Pb.UnitBoxes), {\n unitComponent: unitComponent,\n unitComponentProps: unitComponentProps,\n ...rest\n })\n ]);\n}\nfunction $6b7af672ec278734$export$d8c3f2fdd653a082(props) {\n (0, $hj0lx$useEffect)(()=>{\n console.warn(\"AnnotatedUnitsColumn is deprecated and currently renders a no-op for transition purposes\");\n }, []);\n return null;\n}\nfunction $6b7af672ec278734$export$13984e34afdbb040(props) {\n // Section with \"squishy\" time scale\n const { width: width = 300, noteMode: noteMode = \"unlabeled\", labelOffset: labelOffset = 30, noteComponent: noteComponent, shouldRenderNote: shouldRenderNote } = props;\n const { totalHeight: totalHeight, axisType: axisType } = (0, $wtIgl.useMacrostratColumnData)();\n const _compositeScale = (0, $wtIgl.useCompositeScale)();\n const unlabeledUnits = (0, $hj0lx$useContext)($6b7af672ec278734$var$UnlabeledDivisionsContext);\n const unitsToLabel = noteMode == \"unlabeled\" ? unlabeledUnits : undefined;\n const selectUnit = (0, $5SO8b.useUnitSelectionDispatch)();\n return $6b7af672ec278734$var$h(\"div.section-labels-column\", [\n $6b7af672ec278734$var$h($6b7af672ec278734$export$6cc7a9df4edde18, {\n units: [],\n scale: _compositeScale,\n totalHeight: totalHeight,\n axisType: axisType\n }, $6b7af672ec278734$var$h((0, $hj0lx$SVG), {\n height: totalHeight,\n innerWidth: width - 4,\n paddingH: 1,\n paddingLeft: 3\n }, $6b7af672ec278734$var$h((0, $jiUaC.UnitNamesColumn), {\n divisions: unitsToLabel,\n paddingLeft: labelOffset,\n width: width,\n noteComponent: noteComponent,\n shouldRenderNote: shouldRenderNote,\n scale: _compositeScale,\n onClickNote (note) {\n selectUnit(note.data, null, null);\n }\n })))\n ]);\n}\nfunction $6b7af672ec278734$export$6cc7a9df4edde18(props) {\n // A fake column axis provider that allows scales to cross\n const { children: children, scale: scale, totalHeight: totalHeight, pixelScale: pixelScale } = props;\n const { axisType: axisType } = (0, $wtIgl.useMacrostratColumnData)();\n return $6b7af672ec278734$var$h((0, $hj0lx$ColumnContext).Provider, {\n value: {\n divisions: [],\n scale: scale,\n scaleClamped: scale,\n pixelHeight: totalHeight,\n pixelsPerMeter: pixelScale,\n axisType: axisType,\n zoom: 1\n }\n }, children);\n}\n\n\nexport {$6b7af672ec278734$export$e4e89ab6c86ac513 as LabelTrackerProvider, $6b7af672ec278734$export$f613830566442374 as TrackedLabeledUnit, $6b7af672ec278734$export$1dfa200d57964eee as CompositeUnitComponent, $6b7af672ec278734$export$a6684360fef0406e as CompositeUnitsColumn, $6b7af672ec278734$export$d8c3f2fdd653a082 as AnnotatedUnitsColumn, $6b7af672ec278734$export$13984e34afdbb040 as SectionLabelsColumn, $6b7af672ec278734$export$6cc7a9df4edde18 as ColumnNotesProvider};\n//# sourceMappingURL=column-views.1d1d6117.js.map\n","import { hyperStyled } from \"@macrostrat/hyper\";\nimport {\n ColumnContext,\n LithologyColumn,\n SVG,\n} from \"@macrostrat/column-components\";\nimport { defaultNameFunction, UnitNamesColumn } from \"./names\";\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\nimport { LabeledUnit, UnitBoxes } from \"./boxes\";\nimport styles from \"./composite.module.sass\";\nimport {\n useCompositeScale,\n useMacrostratColumnData,\n useUnitSelectionDispatch,\n} from \"../data-provider\";\n\nconst h = hyperStyled(styles);\n\ninterface LabelTracker {\n [key: number]: boolean;\n}\n\nconst LabelTrackerContext = createContext(null);\nconst UnlabeledDivisionsContext = createContext(null);\n\nconst findMacrostratUnitID = (u) => u.unit_id;\n\nexport function LabelTrackerProvider(props) {\n /** Tracker for units to handle state for whether their labels fit inline or not.\n * Designed to work for single or composite columns.\n */\n const { children, units, findUnitID = findMacrostratUnitID } = props;\n const [unlabeledDivisions, setUnlabeledDivisions] = useState<\n BaseUnit[] | null\n >(null);\n const labelTrackerRef = useRef<LabelTracker>({});\n const trackLabelVisibility = useCallback(\n (div, visible) => {\n const id = findUnitID(div);\n labelTrackerRef.current[id] = visible;\n if (Object.keys(labelTrackerRef.current).length == units.length) {\n setUnlabeledDivisions(\n // @ts-ignore\n units.filter((d) => {\n const id = findUnitID(d);\n return labelTrackerRef.current[id] == false;\n }),\n );\n }\n },\n [labelTrackerRef, units, findUnitID],\n );\n\n const value = trackLabelVisibility;\n return h(\n LabelTrackerContext.Provider,\n { value },\n h(\n UnlabeledDivisionsContext.Provider,\n { value: unlabeledDivisions },\n children,\n ),\n );\n}\n\nfunction TrackedLabeledUnit({\n division,\n nameForDivision = defaultNameFunction,\n ...rest\n}) {\n const trackLabelVisibility = useContext(LabelTrackerContext);\n return h(LabeledUnit, {\n division,\n label: nameForDivision(division),\n onLabelUpdated(label, visible) {\n // If there is al LabelTrackerContext, update the label visibility\n trackLabelVisibility?.(division, visible);\n },\n ...rest,\n });\n}\n\nexport const CompositeUnitComponent = TrackedLabeledUnit;\n\ntype BaseUnitProps = {\n width: number;\n showLabels?: boolean;\n columnWidth?: number;\n clipToFrame?: boolean;\n};\n\ntype ICompositeUnitProps = BaseUnitProps & {\n gutterWidth?: number;\n labelOffset?: number;\n paddingLeft?: number;\n nameForDivision?: (division: BaseUnit) => string;\n children?: React.ReactNode;\n unitComponent?: React.FC<any>;\n unitComponentProps?: any;\n noteMode?: \"labeled\" | \"unlabeled\";\n showLabelColumn?: boolean;\n noteComponent?: React.FC<any>;\n shouldRenderNote?: (d: any) => boolean;\n};\n\ninterface CompositeUnitProps {\n unitComponent: React.FC<any>;\n unitComponentProps?: any;\n width: number;\n showLabels?: boolean;\n clipToFrame?: boolean;\n}\n\nexport function CompositeUnitsColumn(props: CompositeUnitProps) {\n /*\n A column with units and names either\n overlapping or offset to the right\n */\n const {\n width,\n unitComponent = TrackedLabeledUnit,\n unitComponentProps,\n clipToFrame,\n ...rest\n } = props;\n\n return h(LithologyColumn, { width, clipToFrame }, [\n h(UnitBoxes, {\n unitComponent,\n unitComponentProps,\n ...rest,\n }),\n ]);\n}\n\nexport function AnnotatedUnitsColumn(props: ICompositeUnitProps) {\n useEffect(() => {\n console.warn(\n \"AnnotatedUnitsColumn is deprecated and currently renders a no-op for transition purposes\",\n );\n }, []);\n return null;\n}\n\nexport function SectionLabelsColumn(props: ICompositeUnitProps) {\n // Section with \"squishy\" time scale\n const {\n width = 300,\n noteMode = \"unlabeled\",\n labelOffset = 30,\n noteComponent,\n shouldRenderNote,\n } = props;\n\n const { totalHeight, axisType } = useMacrostratColumnData();\n const _compositeScale = useCompositeScale();\n\n const unlabeledUnits = useContext(UnlabeledDivisionsContext);\n const unitsToLabel = noteMode == \"unlabeled\" ? unlabeledUnits : undefined;\n\n const selectUnit = useUnitSelectionDispatch();\n\n return h(\"div.section-labels-column\", [\n h(\n ColumnNotesProvider,\n {\n units: [],\n scale: _compositeScale,\n totalHeight,\n axisType,\n },\n h(\n SVG,\n {\n height: totalHeight,\n innerWidth: width - 4,\n paddingH: 1,\n paddingLeft: 3,\n },\n h(UnitNamesColumn, {\n divisions: unitsToLabel,\n paddingLeft: labelOffset,\n width,\n noteComponent,\n shouldRenderNote,\n scale: _compositeScale,\n onClickNote(note) {\n selectUnit(note.data, null, null);\n },\n }),\n ),\n ),\n ]);\n}\n\nexport function ColumnNotesProvider(props) {\n // A fake column axis provider that allows scales to cross\n const { children, scale, totalHeight, pixelScale } = props;\n\n const { axisType } = useMacrostratColumnData();\n\n return h(\n ColumnContext.Provider,\n {\n value: {\n divisions: [],\n scale,\n scaleClamped: scale,\n pixelHeight: totalHeight,\n pixelsPerMeter: pixelScale,\n axisType,\n zoom: 1,\n },\n },\n children,\n );\n}\n\nexport { TrackedLabeledUnit, ICompositeUnitProps };\n"],"names":["hyperStyled","$hj0lx$hyperStyled","LithologyColumn","$hj0lx$LithologyColumn","SVG","$hj0lx$SVG","ColumnContext","$hj0lx$ColumnContext","createContext","$hj0lx$createContext","useState","$hj0lx$useState","useRef","$hj0lx$useRef","useCallback","$hj0lx$useCallback","useContext","$hj0lx$useContext","useEffect","$hj0lx$useEffect","$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","$6b7af672ec278734$exports","$6b7af672ec278734$export$e4e89ab6c86ac513","$6b7af672ec278734$export$f613830566442374","$6b7af672ec278734$export$1dfa200d57964eee","$6b7af672ec278734$export$a6684360fef0406e","$6b7af672ec278734$export$d8c3f2fdd653a082","$6b7af672ec278734$export$13984e34afdbb040","$6b7af672ec278734$export$6cc7a9df4edde18","$jiUaC","$1n4Pb","$45u6B","$wtIgl","$5SO8b","$6b7af672ec278734$var$h","a","__esModule","default","$6b7af672ec278734$var$LabelTrackerContext","$6b7af672ec278734$var$UnlabeledDivisionsContext","$6b7af672ec278734$var$findMacrostratUnitID","u","unit_id","props","children","units","findUnitID","unlabeledDivisions","setUnlabeledDivisions","labelTrackerRef","trackLabelVisibility","div","visible","current","keys","length","filter","d","Provider","value","division","nameForDivision","defaultNameFunction","rest","LabeledUnit","label","onLabelUpdated","width","unitComponent","unitComponentProps","clipToFrame","UnitBoxes","console","warn","noteMode","labelOffset","noteComponent","shouldRenderNote","totalHeight","axisType","useMacrostratColumnData","_compositeScale","useCompositeScale","unlabeledUnits","selectUnit","useUnitSelectionDispatch","scale","height","innerWidth","paddingH","paddingLeft","UnitNamesColumn","divisions","undefined","onClickNote","note","data","pixelScale","scaleClamped","pixelHeight","pixelsPerMeter","zoom","LabelTrackerProvider","TrackedLabeledUnit","CompositeUnitComponent","CompositeUnitsColumn","AnnotatedUnitsColumn","SectionLabelsColumn","ColumnNotesProvider"],"version":3,"file":"column-views.1d1d6117.js.map","sourceRoot":"../../../../"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"./column-views.6a9da051.js";import"./column-views.861b8e3e.js";import"./column-views.bfaf5ddb.js";import e from"@macrostrat/hyper";import{Popover as t}from"@blueprintjs/core";function o(e,t,o,i){Object.defineProperty(e,t,{get:o,set:i,enumerable:!0,configurable:!0})}var i=globalThis,r={},n={},l=i.parcelRequirea149;null==l&&((l=function(e){if(e in r)return r[e].exports;if(e in n){var t=n[e];delete n[e];var o={id:e,exports:{}};return r[e]=o,t.call(o.exports,o,o.exports),o.exports}var i=Error("Cannot find module '"+e+"'");throw i.code="MODULE_NOT_FOUND",i}).register=function(e,t){n[e]=t},i.parcelRequirea149=l),l.register;var a={};o(a,"UnitDetailsPopover",()=>d),o(a,"UnitSelectionPopover",()=>f);var s=l("bHbph"),p=l("5SO8b"),c=l("iYfAq");let u=e.styled(s&&s.__esModule?s.default:s);function d({style:e,children:o,viewportPadding:i=20}){let r=u(v,o);return u("div.popover-main",{style:e},u(t,{content:r,isOpen:!0,usePortal:!1,position:"right",modifiers:{preventOverflow:{options:{padding:i}}}},u("span.popover-target")))}function v({children:e}){return u("div",{onClick(e){e.stopPropagation()}},e)}function f(){let e=(0,p.useSelectedUnit)(),t=(0,p.useUnitSelectionDispatch)(),o=(0,p.useAtomOverlayPosition)();return null==e?null:u("div.unit-popover-container",u(d,{style:{position:"absolute",top:o?.y??0,width:o?.width??100,left:o?.x??0,height:o?.height??100}},u(c.UnitDetailsPanel,{unit:e,showLithologyProportions:!0,className:"legend-panel",onSelectUnit:e=>{console.log("Selected unit in popover:",e),t(e,null)}})))}export{d as UnitDetailsPopover,f as UnitSelectionPopover};
|
|
2
|
+
//# sourceMappingURL=column-views.26306041.js.map
|