@macrostrat/column-views 2.2.0 → 2.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +6 -0
- package/dist/esm/{column-views.0859feb3.js → column-views.0265cf7f.js} +5 -5
- package/dist/esm/{column-views.0859feb3.js.map → column-views.0265cf7f.js.map} +1 -1
- package/dist/esm/{column-views.d261b02d.js → column-views.0ce9b697.js} +3 -3
- package/dist/esm/{column-views.d261b02d.js.map → column-views.0ce9b697.js.map} +1 -1
- package/dist/esm/{column-views.3f528c5c.js → column-views.29a551f6.js} +22 -17
- package/dist/esm/column-views.29a551f6.js.map +1 -0
- package/dist/esm/{column-views.d406665d.js → column-views.2aef5df8.js} +4 -4
- package/dist/esm/{column-views.d406665d.js.map → column-views.2aef5df8.js.map} +1 -1
- package/dist/esm/{column-views.8d24b179.js → column-views.2e854496.js} +3 -3
- package/dist/esm/{column-views.8d24b179.js.map → column-views.2e854496.js.map} +1 -1
- package/dist/esm/{column-views.73b8ff16.js → column-views.2eceafb5.js} +2 -2
- package/dist/esm/{column-views.73b8ff16.js.map → column-views.2eceafb5.js.map} +1 -1
- package/dist/esm/{column-views.c518ef14.js → column-views.382c486d.js} +6 -6
- package/dist/esm/column-views.382c486d.js.map +1 -0
- package/dist/esm/{column-views.86a51ce7.js → column-views.413217dc.js} +2 -2
- package/dist/esm/column-views.413217dc.js.map +1 -0
- package/dist/esm/{column-views.e3bf5384.js → column-views.418f948f.js} +6 -6
- package/dist/esm/{column-views.e3bf5384.js.map → column-views.418f948f.js.map} +1 -1
- package/dist/esm/{column-views.d15d8655.js → column-views.41e5f0dc.js} +2 -2
- package/dist/esm/{column-views.d15d8655.js.map → column-views.41e5f0dc.js.map} +1 -1
- package/dist/esm/{column-views.1b644998.js → column-views.469a4952.js} +3 -3
- package/dist/esm/{column-views.1b644998.js.map → column-views.469a4952.js.map} +1 -1
- package/dist/esm/column-views.4ed90896.js +105 -0
- package/dist/esm/column-views.4ed90896.js.map +1 -0
- package/dist/esm/{column-views.d9c6b527.js → column-views.53722d0a.js} +12 -11
- package/dist/esm/column-views.53722d0a.js.map +1 -0
- package/dist/esm/{column-views.9ddbe7df.js → column-views.60365cdb.js} +2 -2
- package/dist/esm/{column-views.9ddbe7df.js.map → column-views.60365cdb.js.map} +1 -1
- package/dist/esm/{column-views.ae7c0a2b.js → column-views.748dce47.js} +2 -2
- package/dist/esm/{column-views.ae7c0a2b.js.map → column-views.748dce47.js.map} +1 -1
- package/dist/esm/{column-views.5a49cd68.js → column-views.7683bb52.js} +6 -7
- package/dist/esm/column-views.7683bb52.js.map +1 -0
- package/dist/esm/{column-views.83395185.js → column-views.787d7696.js} +3 -3
- package/dist/esm/{column-views.83395185.js.map → column-views.787d7696.js.map} +1 -1
- package/dist/esm/{column-views.5d969bc5.js → column-views.81bddbee.js} +5 -6
- package/dist/esm/column-views.81bddbee.js.map +1 -0
- package/dist/esm/{column-views.77561197.js → column-views.8284c3a9.js} +5 -5
- package/dist/esm/column-views.8284c3a9.js.map +1 -0
- package/dist/esm/{column-views.f46a0b36.js → column-views.8b623b27.js} +2 -2
- package/dist/esm/{column-views.f46a0b36.js.map → column-views.8b623b27.js.map} +1 -1
- package/dist/esm/{column-views.f2fd0e4a.js → column-views.a3fabf0f.js} +29 -29
- package/dist/esm/column-views.a3fabf0f.js.map +1 -0
- package/dist/esm/{column-views.6c644353.js → column-views.abeab9aa.js} +3 -3
- package/dist/esm/{column-views.6c644353.js.map → column-views.abeab9aa.js.map} +1 -1
- package/dist/esm/{column-views.285cbb65.js → column-views.adec2e4c.js} +3 -3
- package/dist/esm/{column-views.285cbb65.js.map → column-views.adec2e4c.js.map} +1 -1
- package/dist/esm/{column-views.0a8a07f4.js → column-views.b08d82e6.js} +2 -2
- package/dist/esm/{column-views.0a8a07f4.js.map → column-views.b08d82e6.js.map} +1 -1
- package/dist/esm/{column-views.53186d53.js → column-views.b29f8718.js} +2 -2
- package/dist/esm/{column-views.53186d53.js.map → column-views.b29f8718.js.map} +1 -1
- package/dist/esm/{column-views.0f7f6ee6.js → column-views.bbc77227.js} +2 -2
- package/dist/esm/{column-views.0f7f6ee6.js.map → column-views.bbc77227.js.map} +1 -1
- package/dist/esm/{column-views.ed05e233.js → column-views.c2fbcba8.js} +6 -4
- package/dist/esm/{column-views.ed05e233.js.map → column-views.c2fbcba8.js.map} +1 -1
- package/dist/esm/{column-views.e4c26185.js → column-views.c3495702.js} +2 -2
- package/dist/esm/{column-views.e4c26185.js.map → column-views.c3495702.js.map} +1 -1
- package/dist/esm/{column-views.63b7e5aa.js → column-views.cae1a6a1.js} +3 -3
- package/dist/esm/{column-views.63b7e5aa.js.map → column-views.cae1a6a1.js.map} +1 -1
- package/dist/esm/{column-views.ba0381cc.js → column-views.d86555b0.js} +2 -2
- package/dist/esm/{column-views.ba0381cc.js.map → column-views.d86555b0.js.map} +1 -1
- package/dist/esm/{column-views.986e7566.js → column-views.df34441c.js} +6 -8
- package/dist/esm/column-views.df34441c.js.map +1 -0
- package/dist/esm/{column-views.2d602a57.js → column-views.e17f00d3.js} +2 -2
- package/dist/esm/{column-views.2d602a57.js.map → column-views.e17f00d3.js.map} +1 -1
- package/dist/esm/{column-views.d69c4a9f.js → column-views.e1bc3cfa.js} +2 -2
- package/dist/esm/{column-views.d69c4a9f.js.map → column-views.e1bc3cfa.js.map} +1 -1
- package/dist/esm/{column-views.3e1b8c7d.js → column-views.f0b0fc56.js} +2 -2
- package/dist/esm/{column-views.3e1b8c7d.js.map → column-views.f0b0fc56.js.map} +1 -1
- package/dist/esm/{column-views.e84bd756.js → column-views.faacfc3c.js} +3 -3
- package/dist/esm/{column-views.e84bd756.js.map → column-views.faacfc3c.js.map} +1 -1
- package/dist/esm/index.d.ts +49 -37
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +11 -11
- package/dist/node/{column-views.45296250.js → column-views.0201566d.js} +2 -2
- package/dist/node/{column-views.45296250.js.map → column-views.0201566d.js.map} +1 -1
- package/dist/node/{column-views.87b1439e.js → column-views.07c503d3.js} +2 -2
- package/dist/node/column-views.07c503d3.js.map +1 -0
- package/dist/node/{column-views.9e155f20.js → column-views.0e7ac946.js} +2 -2
- package/dist/node/{column-views.9e155f20.js.map → column-views.0e7ac946.js.map} +1 -1
- package/dist/node/column-views.108db52e.js +2 -0
- package/dist/node/{column-views.c29e9eb8.js.map → column-views.108db52e.js.map} +1 -1
- package/dist/node/column-views.18d54bbb.js +2 -0
- package/dist/node/column-views.18d54bbb.js.map +1 -0
- package/dist/node/{column-views.c0be1157.js → column-views.19a84c01.js} +2 -2
- package/dist/node/{column-views.c0be1157.js.map → column-views.19a84c01.js.map} +1 -1
- package/dist/node/column-views.1a3c399e.js +2 -0
- package/dist/node/column-views.1a3c399e.js.map +1 -0
- package/dist/node/{column-views.827a9894.js → column-views.29483479.js} +2 -2
- package/dist/node/{column-views.827a9894.js.map → column-views.29483479.js.map} +1 -1
- package/dist/node/{column-views.b64cd0ea.js → column-views.312db572.js} +2 -2
- package/dist/node/{column-views.b64cd0ea.js.map → column-views.312db572.js.map} +1 -1
- package/dist/node/{column-views.e08f8715.js → column-views.32344397.js} +2 -2
- package/dist/node/{column-views.e08f8715.js.map → column-views.32344397.js.map} +1 -1
- package/dist/node/column-views.44952ae6.js +2 -0
- package/dist/node/column-views.44952ae6.js.map +1 -0
- package/dist/node/{column-views.ac1b58b7.js → column-views.45a03acc.js} +2 -2
- package/dist/node/{column-views.ac1b58b7.js.map → column-views.45a03acc.js.map} +1 -1
- package/dist/node/{column-views.492c2c72.js → column-views.4b4c214a.js} +2 -2
- package/dist/node/{column-views.492c2c72.js.map → column-views.4b4c214a.js.map} +1 -1
- package/dist/node/{column-views.a396d3ac.js → column-views.54363c13.js} +2 -2
- package/dist/node/{column-views.a396d3ac.js.map → column-views.54363c13.js.map} +1 -1
- package/dist/node/{column-views.01debc76.js → column-views.554d44a7.js} +2 -2
- package/dist/node/{column-views.01debc76.js.map → column-views.554d44a7.js.map} +1 -1
- package/dist/node/{column-views.9dda582d.js → column-views.57dd069c.js} +2 -2
- package/dist/node/{column-views.9dda582d.js.map → column-views.57dd069c.js.map} +1 -1
- package/dist/node/{column-views.75582658.js → column-views.588b02a1.js} +2 -2
- package/dist/node/{column-views.75582658.js.map → column-views.588b02a1.js.map} +1 -1
- package/dist/node/{column-views.576e3c5a.js → column-views.5a8bc8e3.js} +2 -2
- package/dist/node/{column-views.576e3c5a.js.map → column-views.5a8bc8e3.js.map} +1 -1
- package/dist/node/{column-views.e065152e.js → column-views.6099a3a9.js} +2 -2
- package/dist/node/{column-views.e065152e.js.map → column-views.6099a3a9.js.map} +1 -1
- package/dist/node/column-views.6919fd2a.js +2 -0
- package/dist/node/column-views.6919fd2a.js.map +1 -0
- package/dist/node/{column-views.13e69859.js → column-views.6b8424fd.js} +2 -2
- package/dist/node/{column-views.13e69859.js.map → column-views.6b8424fd.js.map} +1 -1
- package/dist/node/column-views.92e29010.js +2 -0
- package/dist/node/column-views.92e29010.js.map +1 -0
- package/dist/node/{column-views.dd972321.js → column-views.93febe9b.js} +2 -2
- package/dist/node/{column-views.dd972321.js.map → column-views.93febe9b.js.map} +1 -1
- package/dist/node/{column-views.040499c9.js → column-views.94c84716.js} +2 -2
- package/dist/node/{column-views.040499c9.js.map → column-views.94c84716.js.map} +1 -1
- package/dist/node/{column-views.a34732e7.js → column-views.a1e29a15.js} +2 -2
- package/dist/node/{column-views.a34732e7.js.map → column-views.a1e29a15.js.map} +1 -1
- package/dist/node/{column-views.105f6ad2.js → column-views.abe0a664.js} +2 -2
- package/dist/node/{column-views.105f6ad2.js.map → column-views.abe0a664.js.map} +1 -1
- package/dist/node/{column-views.81294fb7.js → column-views.ae9536b3.js} +2 -2
- package/dist/node/{column-views.81294fb7.js.map → column-views.ae9536b3.js.map} +1 -1
- package/dist/node/{column-views.cd77a1d8.js → column-views.ce5904a6.js} +2 -2
- package/dist/node/{column-views.cd77a1d8.js.map → column-views.ce5904a6.js.map} +1 -1
- package/dist/node/{column-views.6fd5a922.js → column-views.d4545f9f.js} +2 -2
- package/dist/node/{column-views.6fd5a922.js.map → column-views.d4545f9f.js.map} +1 -1
- package/dist/node/{column-views.b6cd4360.js → column-views.db4ccacc.js} +2 -2
- package/dist/node/column-views.db4ccacc.js.map +1 -0
- package/dist/node/{column-views.cf2a78c1.js → column-views.ebe61439.js} +2 -2
- package/dist/node/column-views.ebe61439.js.map +1 -0
- package/dist/node/{column-views.7150ba18.js → column-views.f0f5cefd.js} +2 -2
- package/dist/node/column-views.f0f5cefd.js.map +1 -0
- package/dist/node/{column-views.2bd97c2e.js → column-views.f1ad131a.js} +2 -2
- package/dist/node/{column-views.2bd97c2e.js.map → column-views.f1ad131a.js.map} +1 -1
- package/dist/node/{column-views.1a7f8afd.js → column-views.f7d72702.js} +2 -2
- package/dist/node/{column-views.1a7f8afd.js.map → column-views.f7d72702.js.map} +1 -1
- package/dist/node/{column-views.07ff1fdf.js → column-views.fcdc74c4.js} +2 -2
- package/dist/node/{column-views.07ff1fdf.js.map → column-views.fcdc74c4.js.map} +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +4 -2
- package/src/column.ts +17 -14
- package/src/correlation-chart/main.ts +1 -1
- package/src/data-provider/index.ts +1 -0
- package/src/data-provider/store.ts +67 -12
- package/src/{units/selection.ts → data-provider/unit-selection.ts} +1 -1
- package/src/maps/column-correlation/state.ts +0 -1
- package/src/unit-details/panel.ts +1 -1
- package/src/unit-details/popover.ts +1 -1
- package/src/units/boxes.ts +1 -2
- package/src/units/composite.ts +5 -2
- package/src/units/index.ts +0 -1
- package/dist/esm/column-views.3f528c5c.js.map +0 -1
- package/dist/esm/column-views.4fd4ec92.js +0 -67
- package/dist/esm/column-views.4fd4ec92.js.map +0 -1
- package/dist/esm/column-views.5a49cd68.js.map +0 -1
- package/dist/esm/column-views.5d969bc5.js.map +0 -1
- package/dist/esm/column-views.77561197.js.map +0 -1
- package/dist/esm/column-views.86a51ce7.js.map +0 -1
- package/dist/esm/column-views.986e7566.js.map +0 -1
- package/dist/esm/column-views.c518ef14.js.map +0 -1
- package/dist/esm/column-views.d9c6b527.js.map +0 -1
- package/dist/esm/column-views.f2fd0e4a.js.map +0 -1
- package/dist/node/column-views.3b37363f.js +0 -2
- package/dist/node/column-views.3b37363f.js.map +0 -1
- package/dist/node/column-views.7150ba18.js.map +0 -1
- package/dist/node/column-views.728c8dfc.js +0 -2
- package/dist/node/column-views.728c8dfc.js.map +0 -1
- package/dist/node/column-views.87b1439e.js.map +0 -1
- package/dist/node/column-views.b6cd4360.js.map +0 -1
- package/dist/node/column-views.c29e9eb8.js +0 -2
- package/dist/node/column-views.c8df6435.js +0 -2
- package/dist/node/column-views.c8df6435.js.map +0 -1
- package/dist/node/column-views.cd2a5c85.js +0 -2
- package/dist/node/column-views.cd2a5c85.js.map +0 -1
- package/dist/node/column-views.cf2a78c1.js.map +0 -1
- package/dist/node/column-views.e0d9865e.js +0 -2
- package/dist/node/column-views.e0d9865e.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,O,6C,A,Q,kB,C,C,iB,C,C,uB,C,C,a,C,C,sB,C,C,iB,C,C,iB,C,C,uB,C,K,+B,A,Q,kB,C,K,2B,A,Q,M,mB,A,Q,c,C,C,c,C,C,W,C,K,O,A,Q,M,Y,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SCsBA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAkCvB,SAAS,EACP,CAAe,CACf,EAA2B,CAAC,CAAC,EAE7B,GAAM,CAAA,cACJ,EAAgB,CAAA,CAAA,SAChB,EAAW,AAAA,EAAe,GAAG,CAAA,QAC7B,EAAU,CAAA,CACX,CAAG,EACE,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,EAAW,GACvB,CAAA,MAAE,CAAK,CAAE,CAAG,AAAA,EAAW,GAEvB,CAAC,EAAc,EAAU,CAAG,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,EAAmB,EAAU,GAEzD,EAAI,EAAM,GACV,EAAS,KAAK,GAAG,CAAC,EAAM,GAAgB,GAE9C,MAAO,CACL,EAAG,EAAS,CAAA,EAAI,CAAA,EAAiB,EACjC,EAAG,EAAI,EACP,OAAQ,EAAS,AAAU,EAAV,EACjB,MAAO,EAAgB,EAAQ,AAAU,EAAV,CACjC,CACF,CAEO,SAAS,EAAY,CAAK,EAC/B,GAAM,CACJ,SAAU,CAAC,CAAA,SACX,CAAQ,CAAA,UACR,CAAS,CAAA,cACT,EAAgB,CAAA,CAChB,SAAU,CAAC,CACX,SAAU,CAAE,CACZ,GAAG,EACJ,CAAG,EAEE,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,IACf,EAAU,AAAA,CAAA,EAAA,EAAA,cAAa,AAAb,IACV,EAAS,CACb,GAAG,EAAY,EAAG,CAAE,cAAA,EAAe,SAAA,CAAS,EAAE,CAC9C,GAAG,CAAU,AACf,EAEM,EAAkB,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,EAAkB,EAAG,EAAS,KAAM,CAAA,GAEtD,CAAC,EAAK,EAAU,EAAQ,CAAG,AAAA,CAAA,EAAA,EAAA,sBAAqB,AAArB,EAAuB,GAExD,OAAO,EACL,SACA,CACE,UAAA,EACA,MAAO,CACL,iCAAkC,EAClC,wBAAyB,CAC3B,CACF,EACA,CACE,EAAE,uBAAwB,CACxB,IAAA,EACA,GAAG,CAAM,CACT,KAAM,EACN,YAAa,GACb,OAAQ,EACR,QAAA,CACF,GACA,EAAE,EAAE,CAAC,GAAU,yBAA0B,GAC1C,CAEL,CAEA,SAAS,EAAK,CAAgB,EAC5B,GAAM,CACJ,SAAU,CAAC,CAAA,SACX,CAAQ,CAAA,KACR,CAAI,CAAA,YACJ,EAAc,aAAA,CAAA,UACd,CAAS,CAAA,cACT,EAAgB,CAAA,CAAA,gBAChB,CAAe,CAAA,aACf,CAAY,CAAA,UACZ,CAAS,CACT,SAAU,CAAC,CACX,GAAG,EACJ,CAAG,EAEE,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,IAEf,EAAiB,AAAgB,MAAhB,EAAE,UAAU,CAC7B,EAAoB,AAAgB,MAAhB,EAAE,UAAU,CAEhC,EAAS,CACb,GAAG,EAAY,EAAG,CAAE,cAAA,EAAe,SAAA,CAAS,EAAE,CAC9C,GAAG,CAAU,CACb,YAAa,EACb,eAAgB,CAClB,EACM,EAAa,GAAa,AAAA,CAAA,EAAA,EAAA,SAAQ,AAAR,EAAU,GACtC,EAAQ,GAAQ,AAAA,EAAmB,EAAY,GAI7C,EAAa,AAAA,EAAW,EAAW,CAAE,QAFhB,AAAmB,MAAnB,CAE4C,GAEjE,CAAC,EAAK,EAAU,EAAQ,CAAG,AAAA,CAAA,EAAA,EAAA,sBAAqB,AAArB,EAAuB,GAExD,OAAO,EACL,SACA,CACE,UAAW,EACX,MAAO,CACL,iCAAkC,CACpC,CACF,EACA,CACE,EAAE,EAAU,CACV,GAAG,CAAM,CACT,KAAM,EACN,QAAA,EACA,UAAW,YACb,GACA,EAAE,EAAU,CACV,IAAA,EACA,GAAG,CAAM,CACT,KAAM,EAEN,QAAA,EACA,UAAW,MACb,GACA,EAAE,EAAE,CAAC,GAAU,EAAU,CAAE,GAAG,CAAM,CAAE,UAAW,mBAAoB,GAErE,EACD,CAEL,CAcA,IAAM,EAAW,AAAA,EAAW,CAAC,EAAsB,KACjD,GAAM,CAAA,EACJ,CAAC,CAAA,EACD,CAAC,CAAA,MACD,CAAK,CAAA,OACL,CAAM,CAAA,YACN,EAAc,CAAA,CAAA,CAAA,eACd,EAAiB,CAAA,CAAA,CACjB,GAAG,EACJ,CAAG,SAEJ,AAAI,AAAC,GAAgB,EAWZ,EAAE,OAAQ,CACf,EAFQ,AAAA,EAAc,EAAG,EAAG,EAAO,EAAQ,EAAa,GAGxD,IAAA,EACA,GAAG,CAAI,AACT,GAdO,EAAE,OAAQ,CACf,EAAA,EACA,EAAA,EACA,MAAA,EACA,OAAA,EACA,IAAA,EACA,GAAG,CAAI,AACT,EASJ,GAEA,SAAS,EAAY,CAAuB,EAC1C,GAAM,CAAA,SACJ,CAAQ,CAAA,MACR,CAAK,CAAA,eACL,CAAc,CAAA,cACd,CAAa,CAAA,UACb,EAAY,CAAA,CAAA,CAAA,gBACZ,CAAe,CAAA,UACf,CAAS,CACT,SAAU,CAAC,CACX,GAAG,EACJ,CAAG,EAEE,CAAA,SAAE,CAAQ,CAAE,CAAG,AAAA,IACf,EAAS,CACb,GAAG,EAAY,EAAU,CAAE,cAAA,EAAe,SAAA,CAAS,EAAE,CACrD,GAAG,CAAU,AACf,EACM,CAAA,MAAE,CAAK,CAAA,OAAE,CAAM,CAAE,CAAG,EAC1B,OAAO,EACL,EACA,CACE,UAAW,eACX,SAAA,EACA,gBAAA,EACA,UAAA,EACA,GAAG,CAAM,AACX,EACA,CACE,EAAE,EAAE,CAAC,GACH,EACA,CAAE,GAAG,CAAM,CAAE,UAAW,sBAAuB,EAC/C,EAAE,EAAgB,CAChB,UAAW,eACX,eAAgB,aAChB,MAAO,CAAE,MAAA,EAAO,OAAA,CAAO,EACvB,MAAA,EACA,oBAAoB,CAAG,EACrB,EAAe,EAAO,EACxB,CACF,IAEH,CAEL,CAEA,SAAS,EAAa,CASrB,EACC,GAAM,CAAA,cAAE,EAAgB,CAAA,CAAA,mBAAM,EAAqB,CAAC,CAAA,CAAG,CAAG,EACpD,CAAA,UAAE,CAAS,CAAE,CAAG,AAAA,EAAW,GAEjC,GAAI,AAAoB,GAApB,EAAU,MAAM,CAElB,OADA,QAAQ,IAAI,CAAC,wCACN,KAGT,IAAM,EAAW,AAAA,EAAQ,IAChB,EAAU,GAAG,CAAC,CAAC,EAAe,IAE5B,EAAE,EAAe,CACtB,SAAA,EACA,IAAK,EAAS,OAAO,CACrB,GAAG,CAAkB,AACvB,IAED,CAAC,EAAW,EAAe,EAAmB,EAEjD,OAAO,EACL,EACA,CAAE,UAAA,EAAA,SAAA,CAAW,aAAA,EAAA,YAAA,AAAa,EAC1B,EAAE,cAAe,GAErB,Q,K,W,C,K,I,C,K,W,C,K,S","sources":["<anon>","packages/column-views/src/units/boxes.ts"],"sourcesContent":["import \"./column-views.e7e26765.js\";\nimport \"./column-views.6099a3a9.js\";\nimport \"./column-views.1a3c399e.js\";\nimport \"./column-views.cdcce702.js\";\nimport \"./column-views.5f3b0b04.js\";\nimport \"./column-views.6bba8c57.js\";\nimport {ColumnAxisType as $jfrfr$ColumnAxisType, ColumnContext as $jfrfr$ColumnContext, ColumnLayoutContext as $jfrfr$ColumnLayoutContext, useColumn as $jfrfr$useColumn, useGeologicPattern as $jfrfr$useGeologicPattern, zigZagBoxPath as $jfrfr$zigZagBoxPath, ForeignObject as $jfrfr$ForeignObject, PatternDefsProvider as $jfrfr$PatternDefsProvider} from \"@macrostrat/column-components\";\nimport {SizeAwareLabel as $jfrfr$SizeAwareLabel} from \"@macrostrat/ui-components\";\nimport $jfrfr$macrostrathyper from \"@macrostrat/hyper\";\nimport {useContext as $jfrfr$useContext, forwardRef as $jfrfr$forwardRef, useMemo as $jfrfr$useMemo} from \"react\";\nimport $jfrfr$classnames from \"classnames\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\n\n\n\n\n\nvar $5VyZI = parcelRequire(\"5VyZI\");\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\nvar $5SO8b = parcelRequire(\"5SO8b\");\n\nvar $klU0I = parcelRequire(\"klU0I\");\n\n\nvar $iWhRv = parcelRequire(\"iWhRv\");\n\nvar $bfmPX = parcelRequire(\"bfmPX\");\nconst $82e068a44c11e855$var$h = (0, $jfrfr$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($klU0I))));\nfunction $82e068a44c11e855$var$useUnitRect(division, options = {}) {\n const { widthFraction: widthFraction = 1, axisType: axisType = (0, $jfrfr$ColumnAxisType).AGE, padding: padding = 0 } = options;\n const { scale: scale } = (0, $jfrfr$useContext)((0, $jfrfr$ColumnContext));\n const { width: width } = (0, $jfrfr$useContext)((0, $jfrfr$ColumnLayoutContext));\n const [bottomHeight, topHeight] = (0, $iWhRv.getUnitHeightRange)(division, axisType);\n const y = scale(topHeight);\n const height = Math.abs(scale(bottomHeight) - y);\n return {\n x: width * (1 - widthFraction) - padding,\n y: y - padding,\n height: height + padding * 2,\n width: widthFraction * width + padding * 2\n };\n}\nfunction $82e068a44c11e855$export$d54fdbabca27e53(props) {\n const { division: d, children: children, className: className, widthFraction: widthFraction = 1, axisType: _, nColumns: __, ...baseBounds } = props;\n const { axisType: axisType } = (0, $jfrfr$useColumn)();\n const lithMap = (0, $lgTAP.useLithologies)();\n const bounds = {\n ...$82e068a44c11e855$var$useUnitRect(d, {\n widthFraction: widthFraction,\n axisType: axisType\n }),\n ...baseBounds\n };\n const backgroundColor = (0, $bfmPX.getMixedUnitColor)(d, lithMap, null, false);\n const [ref, selected, onClick] = (0, $5SO8b.useUnitSelectionTarget)(d);\n return $82e068a44c11e855$var$h(\"g.unit\", {\n className: className,\n style: {\n \"--column-unit-background-color\": backgroundColor,\n \"--column-stroke-color\": backgroundColor\n }\n }, [\n $82e068a44c11e855$var$h(\"rect.unit.background\", {\n ref: ref,\n ...bounds,\n fill: backgroundColor,\n fillOpacity: 0.8,\n stroke: backgroundColor,\n onClick: onClick\n }),\n $82e068a44c11e855$var$h.if(selected)(\"rect.selection-overlay\", bounds)\n ]);\n}\nfunction $82e068a44c11e855$export$1d8b9ae22d404866(props) {\n const { division: d, children: children, fill: fill, defaultFill: defaultFill = \"transparent\", className: className, widthFraction: widthFraction = 1, backgroundColor: backgroundColor, patternColor: patternColor, patternID: patternID, axisType: _, ...baseBounds } = props;\n const { axisType: axisType } = (0, $jfrfr$useColumn)();\n const hasOverflowTop = d.t_clip_pos != null;\n const hasOverflowBottom = d.b_clip_pos != null;\n const bounds = {\n ...$82e068a44c11e855$var$useUnitRect(d, {\n widthFraction: widthFraction,\n axisType: axisType\n }),\n ...baseBounds,\n overflowTop: hasOverflowTop,\n overflowBottom: hasOverflowBottom\n };\n const _patternID = patternID ?? (0, $5VyZI.resolveID)(d);\n let _fill = fill ?? (0, $jfrfr$useGeologicPattern)(_patternID, defaultFill);\n const hasBackgroundColor = backgroundColor != null;\n const _className = (0, $jfrfr$classnames)(className, {\n colored: hasBackgroundColor\n });\n const [ref, selected, onClick] = (0, $5SO8b.useUnitSelectionTarget)(d);\n return $82e068a44c11e855$var$h(\"g.unit\", {\n className: _className,\n style: {\n \"--column-unit-background-color\": backgroundColor\n }\n }, [\n $82e068a44c11e855$var$h($82e068a44c11e855$var$UnitRect, {\n ...bounds,\n fill: backgroundColor,\n onClick: onClick,\n className: \"background\"\n }),\n $82e068a44c11e855$var$h($82e068a44c11e855$var$UnitRect, {\n ref: ref,\n ...bounds,\n fill: _fill,\n onClick: //mask,\n onClick,\n className: \"unit\"\n }),\n $82e068a44c11e855$var$h.if(selected)($82e068a44c11e855$var$UnitRect, {\n ...bounds,\n className: \"selection-overlay\"\n }),\n //defs,\n children\n ]);\n}\nconst $82e068a44c11e855$var$UnitRect = (0, $jfrfr$forwardRef)((props, ref)=>{\n const { x: x, y: y, width: width, height: height, overflowTop: overflowTop = false, overflowBottom: overflowBottom = false, ...rest } = props;\n if (!overflowTop && !overflowBottom) return $82e068a44c11e855$var$h(\"rect\", {\n x: x,\n y: y,\n width: width,\n height: height,\n ref: ref,\n ...rest\n });\n else {\n const d = (0, $jfrfr$zigZagBoxPath)(x, y, width, height, overflowTop, overflowBottom);\n return $82e068a44c11e855$var$h(\"path\", {\n d: d,\n ref: ref,\n ...rest\n });\n }\n});\nfunction $82e068a44c11e855$export$b4f0ca233b98f9af(props) {\n const { division: division, label: label, onLabelUpdated: onLabelUpdated, widthFraction: widthFraction, showLabel: showLabel = true, backgroundColor: backgroundColor, patternID: patternID, axisType: _, ...baseBounds } = props;\n const { axisType: axisType } = (0, $jfrfr$useColumn)();\n const bounds = {\n ...$82e068a44c11e855$var$useUnitRect(division, {\n widthFraction: widthFraction,\n axisType: axisType\n }),\n ...baseBounds\n };\n const { width: width, height: height } = bounds;\n return $82e068a44c11e855$var$h($82e068a44c11e855$export$1d8b9ae22d404866, {\n className: \"labeled-unit\",\n division: division,\n backgroundColor: backgroundColor,\n patternID: patternID,\n ...bounds\n }, [\n $82e068a44c11e855$var$h.if(showLabel)((0, $jfrfr$ForeignObject), {\n ...bounds,\n className: \"unit-label-container\"\n }, $82e068a44c11e855$var$h((0, $jfrfr$SizeAwareLabel), {\n className: \"unit-overlay\",\n labelClassName: \"unit-label\",\n style: {\n width: width,\n height: height\n },\n label: label,\n onVisibilityChanged (viz) {\n onLabelUpdated(label, viz);\n }\n }))\n ]);\n}\nfunction $82e068a44c11e855$export$5d1cdfabe8dc8085(props) {\n const { unitComponent: unitComponent = $82e068a44c11e855$export$1d8b9ae22d404866, unitComponentProps: unitComponentProps = {} } = props;\n const { divisions: divisions } = (0, $jfrfr$useContext)((0, $jfrfr$ColumnContext));\n if (divisions.length == 0) {\n console.warn(\"No divisions found in column context\");\n return null;\n }\n const children = (0, $jfrfr$useMemo)(()=>{\n return divisions.map((division, i)=>{\n // @ts-ignore\n return $82e068a44c11e855$var$h(unitComponent, {\n division: division,\n key: division.unit_id,\n ...unitComponentProps\n });\n });\n }, [\n divisions,\n unitComponent,\n unitComponentProps\n ]);\n return $82e068a44c11e855$var$h((0, $jfrfr$PatternDefsProvider), {\n resolveID: $5VyZI.resolveID,\n scalePattern: $5VyZI.scalePattern\n }, $82e068a44c11e855$var$h(\"g.divisions\", children));\n}\n\n\nexport {$82e068a44c11e855$export$d54fdbabca27e53 as MinimalUnit, $82e068a44c11e855$export$1d8b9ae22d404866 as Unit, $82e068a44c11e855$export$b4f0ca233b98f9af as LabeledUnit, $82e068a44c11e855$export$5d1cdfabe8dc8085 as UnitBoxes};\n//# sourceMappingURL=column-views.db4ccacc.js.map\n","import {\n ColumnAxisType,\n ColumnContext,\n ColumnLayoutContext,\n ForeignObject,\n PatternDefsProvider,\n useColumn,\n useGeologicPattern,\n zigZagBoxPath,\n} from \"@macrostrat/column-components\";\nimport { SizeAwareLabel, Clickable } from \"@macrostrat/ui-components\";\nimport hyper from \"@macrostrat/hyper\";\nimport { forwardRef, ReactNode, useContext, useMemo } from \"react\";\nimport { resolveID, scalePattern } from \"./resolvers\";\nimport { useUnitSelectionTarget, useLithologies } from \"../data-provider\";\nimport { IUnit } from \"./types\";\nimport styles from \"./boxes.module.sass\";\nimport classNames from \"classnames\";\nimport { getUnitHeightRange } from \"../prepare-units/utils\";\nimport { getMixedUnitColor } from \"./colors\";\nimport type { RectBounds } from \"./types\";\n\nconst h = hyper.styled(styles);\n\ninterface UnitRectOptions {\n widthFraction?: number;\n axisType?: ColumnAxisType;\n // Padding to create overflow for zig-zags or other ornamented edges\n padding?: number;\n}\n\ninterface UnitProps extends Clickable, Partial<RectBounds>, UnitRectOptions {\n division: IUnit;\n resolveID?(IUnit): string;\n UUID?: string;\n defaultFill?: string;\n widthFraction?: number;\n children?: ReactNode;\n className?: string;\n fill?: string;\n backgroundColor?: string;\n patternColor?: string;\n patternID?: string | number;\n}\n\nexport interface LabeledUnitProps\n extends UnitRectOptions, Clickable, Partial<RectBounds> {\n division: IUnit;\n patternID?: string | number;\n label: string;\n onLabelUpdated?(label: string, shown: boolean);\n halfWidth?: boolean;\n showLabel?: boolean;\n backgroundColor?: string;\n}\n\nfunction useUnitRect(\n division: IUnit,\n options: UnitRectOptions = {},\n): RectBounds {\n const {\n widthFraction = 1,\n axisType = ColumnAxisType.AGE,\n padding = 0,\n } = options;\n const { scale } = useContext(ColumnContext);\n const { width } = useContext(ColumnLayoutContext);\n\n const [bottomHeight, topHeight] = getUnitHeightRange(division, axisType);\n\n const y = scale(topHeight);\n const height = Math.abs(scale(bottomHeight) - y);\n\n return {\n x: width * (1 - widthFraction) - padding,\n y: y - padding,\n height: height + padding * 2,\n width: widthFraction * width + padding * 2,\n };\n}\n\nexport function MinimalUnit(props) {\n const {\n division: d,\n children,\n className,\n widthFraction = 1,\n axisType: _, // not sure why this is brought in...\n nColumns: __,\n ...baseBounds\n } = props;\n\n const { axisType } = useColumn();\n const lithMap = useLithologies();\n const bounds = {\n ...useUnitRect(d, { widthFraction, axisType }),\n ...baseBounds,\n };\n\n const backgroundColor = getMixedUnitColor(d, lithMap, null, false);\n\n const [ref, selected, onClick] = useUnitSelectionTarget(d);\n\n return h(\n \"g.unit\",\n {\n className,\n style: {\n \"--column-unit-background-color\": backgroundColor,\n \"--column-stroke-color\": backgroundColor,\n },\n },\n [\n h(\"rect.unit.background\", {\n ref,\n ...bounds,\n fill: backgroundColor,\n fillOpacity: 0.8,\n stroke: backgroundColor,\n onClick,\n }),\n h.if(selected)(\"rect.selection-overlay\", bounds),\n ],\n );\n}\n\nfunction Unit(props: UnitProps) {\n const {\n division: d,\n children,\n fill,\n defaultFill = \"transparent\",\n className,\n widthFraction = 1,\n backgroundColor,\n patternColor,\n patternID,\n axisType: _, // not sure why this is brought in...\n ...baseBounds\n } = props;\n\n const { axisType } = useColumn();\n\n const hasOverflowTop = d.t_clip_pos != null;\n const hasOverflowBottom = d.b_clip_pos != null;\n\n const bounds = {\n ...useUnitRect(d, { widthFraction, axisType }),\n ...baseBounds,\n overflowTop: hasOverflowTop,\n overflowBottom: hasOverflowBottom,\n };\n const _patternID = patternID ?? resolveID(d);\n let _fill = fill ?? useGeologicPattern(_patternID, defaultFill);\n\n const hasBackgroundColor = backgroundColor != null;\n\n const _className = classNames(className, { colored: hasBackgroundColor });\n\n const [ref, selected, onClick] = useUnitSelectionTarget(d);\n\n return h(\n \"g.unit\",\n {\n className: _className,\n style: {\n \"--column-unit-background-color\": backgroundColor,\n },\n },\n [\n h(UnitRect, {\n ...bounds,\n fill: backgroundColor,\n onClick,\n className: \"background\",\n }),\n h(UnitRect, {\n ref,\n ...bounds,\n fill: _fill,\n //mask,\n onClick,\n className: \"unit\",\n }),\n h.if(selected)(UnitRect, { ...bounds, className: \"selection-overlay\" }),\n //defs,\n children,\n ],\n );\n}\n\ninterface UnitRectProps {\n x: number;\n y: number;\n width: number;\n height: number;\n className: string;\n // Used to determine if the rect should have a zig-zag edge on the top or bottom\n overflowTop?: boolean;\n overflowBottom?: boolean;\n [key: string]: any;\n}\n\nconst UnitRect = forwardRef((props: UnitRectProps, ref) => {\n const {\n x,\n y,\n width,\n height,\n overflowTop = false,\n overflowBottom = false,\n ...rest\n } = props;\n\n if (!overflowTop && !overflowBottom) {\n return h(\"rect\", {\n x,\n y,\n width,\n height,\n ref,\n ...rest,\n });\n } else {\n const d = zigZagBoxPath(x, y, width, height, overflowTop, overflowBottom);\n return h(\"path\", {\n d,\n ref,\n ...rest,\n });\n }\n});\n\nfunction LabeledUnit(props: LabeledUnitProps) {\n const {\n division,\n label,\n onLabelUpdated,\n widthFraction,\n showLabel = true,\n backgroundColor,\n patternID,\n axisType: _, // not sure why this is brought in...\n ...baseBounds\n } = props;\n\n const { axisType } = useColumn();\n const bounds = {\n ...useUnitRect(division, { widthFraction, axisType }),\n ...baseBounds,\n };\n const { width, height } = bounds;\n return h(\n Unit,\n {\n className: \"labeled-unit\",\n division,\n backgroundColor,\n patternID,\n ...bounds,\n },\n [\n h.if(showLabel)(\n ForeignObject,\n { ...bounds, className: \"unit-label-container\" },\n h(SizeAwareLabel, {\n className: \"unit-overlay\",\n labelClassName: \"unit-label\",\n style: { width, height },\n label,\n onVisibilityChanged(viz) {\n onLabelUpdated(label, viz);\n },\n }),\n ),\n ],\n );\n}\n\nfunction UnitBoxes<T>(props: {\n unitComponent: React.FunctionComponent<{ division: T }>;\n unitComponentProps?: any;\n transformDivisions?(divisions: T[]): T[];\n transformDivision?: (\n division: any,\n index: number,\n divisions: any[],\n ) => T | null;\n}) {\n const { unitComponent = Unit, unitComponentProps = {} } = props;\n const { divisions } = useContext(ColumnContext);\n\n if (divisions.length == 0) {\n console.warn(\"No divisions found in column context\");\n return null;\n }\n\n const children = useMemo(() => {\n return divisions.map((division: any, i) => {\n // @ts-ignore\n return h(unitComponent, {\n division,\n key: division.unit_id,\n ...unitComponentProps,\n });\n });\n }, [divisions, unitComponent, unitComponentProps]);\n\n return h(\n PatternDefsProvider,\n { resolveID, scalePattern },\n h(\"g.divisions\", children),\n );\n}\n\nexport { LabeledUnit, Unit, UnitBoxes, UnitProps };\n"],"names":["ColumnAxisType","$jfrfr$ColumnAxisType","ColumnContext","$jfrfr$ColumnContext","ColumnLayoutContext","$jfrfr$ColumnLayoutContext","useColumn","$jfrfr$useColumn","useGeologicPattern","$jfrfr$useGeologicPattern","zigZagBoxPath","$jfrfr$zigZagBoxPath","ForeignObject","$jfrfr$ForeignObject","PatternDefsProvider","$jfrfr$PatternDefsProvider","SizeAwareLabel","$jfrfr$SizeAwareLabel","$jfrfr$macrostrathyper","useContext","$jfrfr$useContext","forwardRef","$jfrfr$forwardRef","useMemo","$jfrfr$useMemo","$jfrfr$classnames","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$5VyZI","$lgTAP","$5SO8b","$klU0I","$iWhRv","$bfmPX","$82e068a44c11e855$var$h","styled","a","__esModule","default","$82e068a44c11e855$var$useUnitRect","division","options","widthFraction","axisType","AGE","padding","scale","width","bottomHeight","topHeight","getUnitHeightRange","y","height","Math","abs","x","$82e068a44c11e855$export$d54fdbabca27e53","props","d","children","className","_","nColumns","__","baseBounds","lithMap","useLithologies","bounds","backgroundColor","getMixedUnitColor","ref","selected","onClick","useUnitSelectionTarget","style","fill","fillOpacity","stroke","if","$82e068a44c11e855$export$1d8b9ae22d404866","defaultFill","patternColor","patternID","hasOverflowTop","t_clip_pos","hasOverflowBottom","b_clip_pos","overflowTop","overflowBottom","_patternID","resolveID","_fill","_className","colored","$82e068a44c11e855$var$UnitRect","rest","$82e068a44c11e855$export$b4f0ca233b98f9af","label","onLabelUpdated","showLabel","labelClassName","onVisibilityChanged","viz","$82e068a44c11e855$export$5d1cdfabe8dc8085","unitComponent","unitComponentProps","divisions","length","console","warn","map","i","key","unit_id","scalePattern","MinimalUnit","Unit","LabeledUnit","UnitBoxes"],"version":3,"file":"column-views.db4ccacc.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.1a3c399e.js";import"./column-views.108db52e.js";import"./column-views.fea32686.js";import"./column-views.312db572.js";import"./column-views.aae09aca.js";import"./column-views.0201566d.js";import"./column-views.6919fd2a.js";import"./column-views.db4ccacc.js";import"./column-views.18d54bbb.js";import e from"@macrostrat/hyper";import{useMemo as n,useRef as t}from"react";import{useInDarkMode as o}from"@macrostrat/ui-components";import i from"classnames";import{SVG as a,ColumnProvider as r,ColumnAxisType as l}from"@macrostrat/column-components";var s=globalThis,c={},m={},u=s.parcelRequirea149;null==u&&((u=function(e){if(e in c)return c[e].exports;if(e in m){var n=m[e];delete m[e];var t={id:e,exports:{}};return c[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){m[e]=n},s.parcelRequirea149=u),u.register,Object.defineProperty({},"CorrelationChart",{get:()=>_,set:void 0,enumerable:!0,configurable:!0});var p=u("5SO8b"),f=u("2KV3o"),d=u("cf1sk"),b=u("7exMg"),g=u("8ldOM"),C=u("4hG2H"),S=u("7tWYE"),h=u("1n4Pb"),v=u("dMbCm");let H=e.styled(d&&d.__esModule?d.default:d);function _({data:e,columnSpacing:r=0,columnWidth:l=130,unconformityLabels:s=!0,showUnitPopover:c=!0,selectedUnit:m,onUnitSelected:u,unitComponent:d,...b}){let C={targetUnitHeight:10,unconformityHeight:60,minSectionHeight:60,collapseSmallUnconformities:!0},S=n(()=>e?(0,g.buildCorrelationChartData)(e,{...C,...b}):null,[e,...Object.values(b)]),h=t(null),_=n(()=>e?.map(e=>e.units).flat()??[],[e]),U=i({"dark-mode":o()});if(null==S)return null;let{packages:A,scaleInfo:E,nColumns:R}=S;return H(v.ColumnContainer,{className:"correlation-diagram"},H(p.UnitSelectionProvider,{columnRef:h,selectedUnit:m,onUnitSelected:u,units:_},H(w,[H(y,{key:"timescale",scaleInfo:E,unconformityLabels:s}),H("div.main-chart",{ref:h},[H(a,{className:U,innerWidth:(l+r)*R,height:E.totalHeight,paddingH:4},A.map((e,n)=>{let{offset:t,domain:o,pixelScale:i,scale:a,key:s}=E.packages[n];return H(x,{columnData:e.columnData,key:s,columnWidth:l,columnSpacing:r,offset:t,domain:o,pixelScale:i,scale:a,unitComponent:d})})),H.if(c)(f.UnitSelectionPopover),H(p.UnitKeyboardNavigation,{units:_})])])))}function x({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(U,{units:e.units,unitComponent:o,width:t,key:i,domain:a,pixelScale:r,scale:l,offsetLeft:i*(t+n)}))])])}function U(e){let{units:n,width:t=150,offsetLeft:o,domain:i,pixelScale:a,scale:s,unitComponent:c=S.ColoredUnitComponent}=e;return 0==n.length?null:H("g.section",{transform:`translate(${o} 0)`},H(r,{divisions:n,range:i,scale:s,pixelsPerMeter:a,axisType:l.AGE},H(h.UnitBoxes,{unitComponent:c,unitComponentProps:{nColumns:2,width:t,showLabel:!1}})))}function w({children:e}){let n=(0,p.useUnitSelectionStore)(e=>e.setSelectedUnit);return H("div.correlation-chart-inner",{onClick(){n(null)}},e)}function y(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{_ as CorrelationChart};
|
|
2
|
+
//# sourceMappingURL=column-views.ebe61439.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,Q,M,mB,A,Q,W,C,C,U,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,GCAA,IAAA,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,SAqCA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAchB,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,EAEjC,EAAY,AAAA,EAAO,MAGnB,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,UAAA,EAAW,aAAA,EAAc,eAAA,EAAgB,MAAA,CAAM,EACjD,EAAE,EAAW,CACX,EAAE,EAAiB,CACjB,IAAK,YACL,UAAA,EACA,mBAAA,CACF,GACA,EAAE,iBAAkB,CAAE,IAAK,CAAU,EAAG,CACtC,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,qBAAoB,AAApB,EACtB,AAAC,GAAU,EAAM,eAAe,EAGlC,OAAO,EACL,8BACA,CACE,UACE,EAAgB,KAClB,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.1a3c399e.js\";\nimport \"./column-views.108db52e.js\";\nimport \"./column-views.fea32686.js\";\nimport \"./column-views.312db572.js\";\nimport \"./column-views.aae09aca.js\";\nimport \"./column-views.0201566d.js\";\nimport \"./column-views.6919fd2a.js\";\nimport \"./column-views.db4ccacc.js\";\nimport \"./column-views.18d54bbb.js\";\nimport $8OJSO$macrostrathyper from \"@macrostrat/hyper\";\nimport {useMemo as $8OJSO$useMemo, useRef as $8OJSO$useRef} 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\");\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$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 const columnRef = (0, $8OJSO$useRef)(null);\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, $5SO8b.UnitSelectionProvider), {\n columnRef: columnRef,\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(\"div.main-chart\", {\n ref: columnRef\n }, [\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.useUnitSelectionStore)((state)=>state.setSelectedUnit);\n return $25f1fcddbe40b91f$var$h(\"div.correlation-chart-inner\", {\n onClick () {\n setSelectedUnit(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.ebe61439.js.map\n","/** Correlation chart */\nimport {\n UnitSelectionProvider,\n UnitKeyboardNavigation,\n useUnitSelectionStore,\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\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 const columnRef = useRef(null);\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 { columnRef, selectedUnit, onUnitSelected, units },\n h(ChartArea, [\n h(TimescaleColumn, {\n key: \"timescale\",\n scaleInfo,\n unconformityLabels,\n }),\n h(\"div.main-chart\", { ref: columnRef }, [\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 = useUnitSelectionStore(\n (state) => state.setSelectedUnit,\n );\n\n return h(\n \"div.correlation-chart-inner\",\n {\n onClick() {\n setSelectedUnit(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","useRef","$8OJSO$useRef","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","$2KV3o","$cf1sk","$7exMg","$8ldOM","$4hG2H","$7tWYE","$1n4Pb","$dMbCm","$25f1fcddbe40b91f$var$h","styled","a","__esModule","default","data","columnSpacing","columnWidth","unconformityLabels","showUnitPopover","selectedUnit","onUnitSelected","unitComponent","scaleProps","defaultScaleProps","targetUnitHeight","unconformityHeight","minSectionHeight","collapseSmallUnconformities","chartData","buildCorrelationChartData","values","columnRef","units","map","d0","flat","className","packages","scaleInfo","nColumns","ColumnContainer","UnitSelectionProvider","$25f1fcddbe40b91f$var$ChartArea","$25f1fcddbe40b91f$var$TimescaleColumn","key","ref","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","children","setSelectedUnit","useUnitSelectionStore","state","onClick","CompositeAgeAxisCore","CompositeTimescaleCore","CorrelationChart"],"version":3,"file":"column-views.ebe61439.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.588b02a1.js";import"./column-views.db4ccacc.js";import"./column-views.6a0a35e7.js";import"./column-views.92e29010.js";import"./column-views.1a3c399e.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.f0f5cefd.js.map
|
|
@@ -0,0 +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,CAQO,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.588b02a1.js\";\nimport \"./column-views.db4ccacc.js\";\nimport \"./column-views.6a0a35e7.js\";\nimport \"./column-views.92e29010.js\";\nimport \"./column-views.1a3c399e.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.f0f5cefd.js.map\n","import { hyperStyled } from \"@macrostrat/hyper\";\nimport {\n LithologyColumn,\n SVG,\n ColumnContext,\n} from \"@macrostrat/column-components\";\nimport { defaultNameFunction, UnitNamesColumn } from \"./names\";\nimport {\n createContext,\n useContext,\n useState,\n useRef,\n useCallback,\n useEffect,\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 interface CompositeColumnScale {\n (val: number): number;\n copy(): CompositeColumnScale;\n domain(): number[];\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.f0f5cefd.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.51fbed89.js";import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.51fbed89.js";import"./column-views.92e29010.js";import"./column-views.0b3a384e.js";import e from"@macrostrat/hyper";import{useAPIResult as r}from"@macrostrat/ui-components";function o(e,r,o,t){Object.defineProperty(e,r,{get:o,set:t,enumerable:!0,configurable:!0})}var t=globalThis,a={},d={},l=t.parcelRequirea149;null==l&&((l=function(e){if(e in a)return a[e].exports;if(e in d){var r=d[e];delete d[e];var o={id:e,exports:{}};return a[e]=o,r.call(o.exports,o,o.exports),o.exports}var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}).register=function(e,r){d[e]=r},t.parcelRequirea149=l),l.register;var u={};o(u,"BoundaryAgeModelOverlay",()=>p),o(u,"ComputedSurfacesOverlay",()=>m);var s=l("hI4fZ"),n=l("wtIgl"),i=l("dcPBY");let c=e.styled(s&&s.__esModule?s.default:s);function p(){let e=(0,n.useMacrostratUnits)()?.[0]?.col_id,o=(0,n.useCompositeScale)(),t=r("https://dev.macrostrat.org/api/v2/age_model",{col_id:e},e=>e.success.data);return null==t?null:c("div.boundary-age-model",t.map(e=>{let r=o(e.model_age);return c("div.boundary-age-model-surface",{key:e.boundary_id,style:{top:`${r}px`}})}))}function m(){let e=(0,n.useMacrostratUnits)(),r=(0,i.buildColumnSurfaces)(e),o=(0,n.useCompositeScale)();return c("div.boundary-age-model",r.map(e=>{let r=o(e.age);return c("div.boundary-age-model-surface",{key:e.index,style:{top:`${r}px`}})}))}export{p as BoundaryAgeModelOverlay,m as ComputedSurfacesOverlay};
|
|
2
|
+
//# sourceMappingURL=column-views.f1ad131a.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,gB,C,K,2B,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,0B,I,G,E,E,0B,I,G,I,E,E,S,E,E,S,E,E,SC4BA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAoBhB,SAAS,IACd,IAAM,EAAS,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,KAAsB,CAAC,EAAE,EAAE,OACpC,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAER,EAAW,AAAA,EACf,8CACA,CAAE,OAAA,CAAO,EACT,AAAC,GAAQ,EAAI,OAAO,CAAC,IAAI,SAG3B,AAAI,AAAY,MAAZ,EACK,KAGF,EACL,yBACA,EAAS,GAAG,CAAC,AAAC,IACZ,IAAM,EAAS,EAAM,EAAQ,SAAS,EAEtC,OAAO,EAAE,iCAAkC,CACzC,IAAK,EAAQ,WAAW,CACxB,MAAO,CAAE,IAAK,CAAA,EAAG,EAAO,EAAE,CAAC,AAAC,CAC9B,EACF,GAEJ,CAEO,SAAS,IAId,IAAM,EAAQ,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,IACR,EAAW,AAAA,CAAA,EAAA,EAAA,mBAAkB,AAAlB,EAAoB,GAC/B,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAEd,OAAO,EACL,yBACA,EAAS,GAAG,CAAC,AAAC,IACZ,IAAM,EAAS,EAAM,EAAQ,GAAG,EAChC,OAAO,EAAE,iCAAkC,CACzC,IAAK,EAAQ,KAAK,CAClB,MAAO,CAAE,IAAK,CAAA,EAAG,EAAO,EAAE,CAAC,AAAC,CAC9B,EACF,GAEJ,Q,K,uB,C,K,uB","sources":["<anon>","packages/column-views/src/age-model-overlay.ts"],"sourcesContent":["import \"./column-views.51fbed89.js\";\nimport \"./column-views.
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,gB,C,K,2B,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,0B,I,G,E,E,0B,I,G,I,E,E,S,E,E,S,E,E,SC4BA,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAoBhB,SAAS,IACd,IAAM,EAAS,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,KAAsB,CAAC,EAAE,EAAE,OACpC,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAER,EAAW,AAAA,EACf,8CACA,CAAE,OAAA,CAAO,EACT,AAAC,GAAQ,EAAI,OAAO,CAAC,IAAI,SAG3B,AAAI,AAAY,MAAZ,EACK,KAGF,EACL,yBACA,EAAS,GAAG,CAAC,AAAC,IACZ,IAAM,EAAS,EAAM,EAAQ,SAAS,EAEtC,OAAO,EAAE,iCAAkC,CACzC,IAAK,EAAQ,WAAW,CACxB,MAAO,CAAE,IAAK,CAAA,EAAG,EAAO,EAAE,CAAC,AAAC,CAC9B,EACF,GAEJ,CAEO,SAAS,IAId,IAAM,EAAQ,AAAA,CAAA,EAAA,EAAA,kBAAiB,AAAjB,IACR,EAAW,AAAA,CAAA,EAAA,EAAA,mBAAkB,AAAlB,EAAoB,GAC/B,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAEd,OAAO,EACL,yBACA,EAAS,GAAG,CAAC,AAAC,IACZ,IAAM,EAAS,EAAM,EAAQ,GAAG,EAChC,OAAO,EAAE,iCAAkC,CACzC,IAAK,EAAQ,KAAK,CAClB,MAAO,CAAE,IAAK,CAAA,EAAG,EAAO,EAAE,CAAC,AAAC,CAC9B,EACF,GAEJ,Q,K,uB,C,K,uB","sources":["<anon>","packages/column-views/src/age-model-overlay.ts"],"sourcesContent":["import \"./column-views.51fbed89.js\";\nimport \"./column-views.92e29010.js\";\nimport \"./column-views.0b3a384e.js\";\nimport $f7jEH$macrostrathyper from \"@macrostrat/hyper\";\nimport {useAPIResult as $f7jEH$useAPIResult} from \"@macrostrat/ui-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 $26d029a83b68e870$exports = {};\n\n$parcel$export($26d029a83b68e870$exports, \"BoundaryAgeModelOverlay\", () => $26d029a83b68e870$export$1d1ebe9df97e8db);\n$parcel$export($26d029a83b68e870$exports, \"ComputedSurfacesOverlay\", () => $26d029a83b68e870$export$ddca1abd3171ec6f);\n/** An in-development overlay for a column's age model.\n *\n * Age model info:\n * {\n * \"boundary_id\": 8049,\n * \"col_id\": 432,\n * \"section_id\": 3104,\n * \"interval_id\": 268,\n * \"interval_name\": \"Calymmian\",\n * \"age_bottom\": 1600,\n * \"age_top\": 1400,\n * \"rel_position\": 0.85,\n * \"model_age\": 1430,\n * \"boundary_status\": \"absolute\",\n * \"boundary_type\": \"\",\n * \"boundary_position\": null,\n * \"unit_below\": 11541,\n * \"unit_above\": 0,\n * \"ref_id\": 217\n * },\n *\n * */ \n\nvar $hI4fZ = parcelRequire(\"hI4fZ\");\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\n\nvar $dcPBY = parcelRequire(\"dcPBY\");\nconst $26d029a83b68e870$var$h = (0, $f7jEH$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($hI4fZ))));\nfunction $26d029a83b68e870$export$1d1ebe9df97e8db() {\n const col_id = (0, $wtIgl.useMacrostratUnits)()?.[0]?.col_id;\n const scale = (0, $wtIgl.useCompositeScale)();\n const ageModel = (0, $f7jEH$useAPIResult)(\"https://dev.macrostrat.org/api/v2/age_model\", {\n col_id: col_id\n }, (res)=>res.success.data);\n if (ageModel == null) return null;\n return $26d029a83b68e870$var$h(\"div.boundary-age-model\", ageModel.map((surface)=>{\n const height = scale(surface.model_age);\n return $26d029a83b68e870$var$h(\"div.boundary-age-model-surface\", {\n key: surface.boundary_id,\n style: {\n top: `${height}px`\n }\n });\n }));\n}\nfunction $26d029a83b68e870$export$ddca1abd3171ec6f() {\n /** Overlay showing age surfaces. This is like the boundary age model overlay but\n * it is computed on the fly from unit tops and bottoms.\n */ const units = (0, $wtIgl.useMacrostratUnits)();\n const surfaces = (0, $dcPBY.buildColumnSurfaces)(units);\n const scale = (0, $wtIgl.useCompositeScale)();\n return $26d029a83b68e870$var$h(\"div.boundary-age-model\", surfaces.map((surface)=>{\n const height = scale(surface.age);\n return $26d029a83b68e870$var$h(\"div.boundary-age-model-surface\", {\n key: surface.index,\n style: {\n top: `${height}px`\n }\n });\n }));\n}\n\n\nexport {$26d029a83b68e870$export$1d1ebe9df97e8db as BoundaryAgeModelOverlay, $26d029a83b68e870$export$ddca1abd3171ec6f as ComputedSurfacesOverlay};\n//# sourceMappingURL=column-views.f1ad131a.js.map\n","/** An in-development overlay for a column's age model.\n *\n * Age model info:\n * {\n * \"boundary_id\": 8049,\n * \"col_id\": 432,\n * \"section_id\": 3104,\n * \"interval_id\": 268,\n * \"interval_name\": \"Calymmian\",\n * \"age_bottom\": 1600,\n * \"age_top\": 1400,\n * \"rel_position\": 0.85,\n * \"model_age\": 1430,\n * \"boundary_status\": \"absolute\",\n * \"boundary_type\": \"\",\n * \"boundary_position\": null,\n * \"unit_below\": 11541,\n * \"unit_above\": 0,\n * \"ref_id\": 217\n * },\n *\n * */\n\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./age-model-overlay.module.sass\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\nimport { useCompositeScale, useMacrostratUnits } from \"./data-provider\";\nimport { buildColumnSurfaces } from \"./prepare-units/dynamic-scales\";\nconst h = hyper.styled(styles);\n\ninterface AgeModelSurface {\n boundary_id: number;\n col_id: number;\n section_id: number;\n interval_id: number;\n interval_name: string;\n age_bottom: number;\n age_top: number;\n rel_position: number;\n model_age: number;\n boundary_status: \"absolute\" | \"relative\" | \"modeled\";\n boundary_type: string;\n boundary_position: null | number;\n unit_below: number;\n unit_above: number;\n ref_id: number;\n}\n\nexport function BoundaryAgeModelOverlay() {\n const col_id = useMacrostratUnits()?.[0]?.col_id;\n const scale = useCompositeScale();\n\n const ageModel = useAPIResult(\n \"https://dev.macrostrat.org/api/v2/age_model\",\n { col_id },\n (res) => res.success.data,\n );\n\n if (ageModel == null) {\n return null;\n }\n\n return h(\n \"div.boundary-age-model\",\n ageModel.map((surface) => {\n const height = scale(surface.model_age);\n\n return h(\"div.boundary-age-model-surface\", {\n key: surface.boundary_id,\n style: { top: `${height}px` },\n });\n }),\n );\n}\n\nexport function ComputedSurfacesOverlay() {\n /** Overlay showing age surfaces. This is like the boundary age model overlay but\n * it is computed on the fly from unit tops and bottoms.\n */\n const units = useMacrostratUnits();\n const surfaces = buildColumnSurfaces(units);\n const scale = useCompositeScale();\n\n return h(\n \"div.boundary-age-model\",\n surfaces.map((surface) => {\n const height = scale(surface.age);\n return h(\"div.boundary-age-model-surface\", {\n key: surface.index,\n style: { top: `${height}px` },\n });\n }),\n );\n}\n"],"names":["$f7jEH$macrostrathyper","useAPIResult","$f7jEH$useAPIResult","$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","$26d029a83b68e870$exports","$26d029a83b68e870$export$1d1ebe9df97e8db","$26d029a83b68e870$export$ddca1abd3171ec6f","$hI4fZ","$wtIgl","$dcPBY","$26d029a83b68e870$var$h","styled","a","__esModule","default","col_id","useMacrostratUnits","scale","useCompositeScale","ageModel","res","success","data","map","surface","height","model_age","key","boundary_id","style","top","units","surfaces","buildColumnSurfaces","age","index","BoundaryAgeModelOverlay","ComputedSurfacesOverlay"],"version":3,"file":"column-views.f1ad131a.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.f0f5cefd.js";import"./column-views.92e29010.js";import e from"@macrostrat/hyper";import{SVG as t,StaticNotesColumn as o}from"@macrostrat/column-components";var r=globalThis,n={},a={},i=r.parcelRequirea149;null==i&&((i=function(e){if(e in n)return n[e].exports;if(e in a){var t=a[e];delete a[e];var o={id:e,exports:{}};return n[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){a[e]=t},r.parcelRequirea149=i),i.register,Object.defineProperty({},"ColumnNotes",{get:()=>s,set:void 0,enumerable:!0,configurable:!0});var c=i("4Abge"),l=i("wtIgl");function s({notes:r,width:n=200,noteComponent:a,paddingLeft:i=60,deltaConnectorAttachment:s,children:d}){let{totalHeight:m}=(0,l.useMacrostratColumnData)(),p=(0,l.useCompositeScale)();return e(c.ColumnNotesProvider,{scale:p,totalHeight:m,pixelScale:-1},[e(t,{width:n,height:m,paddingH:4},[e(o,{width:n,notes:r,noteComponent:a,paddingLeft:i,deltaConnectorAttachment:s})]),d])}export{s as ColumnNotes};
|
|
2
|
+
//# sourceMappingURL=column-views.f7d72702.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,Q,M,mB,A,Q,O,C,C,qB,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,c,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,S,E,E,SCiBO,SAAS,EAAY,CAAA,MAC1B,CAAK,CAAA,MACL,EAAQ,GAAA,CAAA,cACR,CAAa,CAAA,YACb,EAAc,EAAA,CAAA,yBACd,CAAwB,CAAA,SACxB,CAAQ,CACS,EACjB,GAAM,CAAA,YAAE,CAAW,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAClB,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAEd,OAAO,AAAA,EACL,EAAA,mBAAkB,CAClB,CACE,MAAA,EACA,YAAA,EACA,WAAY,EACd,EACA,CACE,AAAA,EAAE,EAAK,CAAE,MAAA,EAAO,OAAQ,EAAa,SAAU,CAAE,EAAG,CAClD,AAAA,EAAE,EAAmB,CACnB,MAAA,EACA,MAAA,EACA,cAAA,EACA,YAAA,EACA,yBAAA,CACF,GACD,EACD,EACD,CAEL,Q,K,W","sources":["<anon>","packages/column-views/src/notes.ts"],"sourcesContent":["import \"./column-views.
|
|
1
|
+
{"mappings":"A,M,6C,A,O,6C,A,Q,M,mB,A,Q,O,C,C,qB,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,c,C,I,I,E,I,K,E,W,C,E,a,C,C,G,I,E,E,S,E,E,SCiBO,SAAS,EAAY,CAAA,MAC1B,CAAK,CAAA,MACL,EAAQ,GAAA,CAAA,cACR,CAAa,CAAA,YACb,EAAc,EAAA,CAAA,yBACd,CAAwB,CAAA,SACxB,CAAQ,CACS,EACjB,GAAM,CAAA,YAAE,CAAW,CAAE,CAAG,AAAA,CAAA,EAAA,EAAA,uBAAsB,AAAtB,IAClB,EAAQ,AAAA,CAAA,EAAA,EAAA,iBAAgB,AAAhB,IAEd,OAAO,AAAA,EACL,EAAA,mBAAkB,CAClB,CACE,MAAA,EACA,YAAA,EACA,WAAY,EACd,EACA,CACE,AAAA,EAAE,EAAK,CAAE,MAAA,EAAO,OAAQ,EAAa,SAAU,CAAE,EAAG,CAClD,AAAA,EAAE,EAAmB,CACnB,MAAA,EACA,MAAA,EACA,cAAA,EACA,YAAA,EACA,yBAAA,CACF,GACD,EACD,EACD,CAEL,Q,K,W","sources":["<anon>","packages/column-views/src/notes.ts"],"sourcesContent":["import \"./column-views.f0f5cefd.js\";\nimport \"./column-views.92e29010.js\";\nimport $joNTi$macrostrathyper from \"@macrostrat/hyper\";\nimport {SVG as $joNTi$SVG, StaticNotesColumn as $joNTi$StaticNotesColumn} from \"@macrostrat/column-components\";\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 $d63334d9b5597481$exports = {};\n\n$parcel$export($d63334d9b5597481$exports, \"ColumnNotes\", () => $d63334d9b5597481$export$fc5babae10f3f77d);\n\n\nvar $4Abge = parcelRequire(\"4Abge\");\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\nfunction $d63334d9b5597481$export$fc5babae10f3f77d({ notes: notes, width: width = 200, noteComponent: noteComponent, paddingLeft: paddingLeft = 60, deltaConnectorAttachment: deltaConnectorAttachment, children: children }) {\n const { totalHeight: totalHeight } = (0, $wtIgl.useMacrostratColumnData)();\n const scale = (0, $wtIgl.useCompositeScale)();\n return (0, $joNTi$macrostrathyper)((0, $4Abge.ColumnNotesProvider), {\n scale: scale,\n totalHeight: totalHeight,\n pixelScale: -1\n }, [\n (0, $joNTi$macrostrathyper)((0, $joNTi$SVG), {\n width: width,\n height: totalHeight,\n paddingH: 4\n }, [\n (0, $joNTi$macrostrathyper)((0, $joNTi$StaticNotesColumn), {\n width: width,\n notes: notes,\n noteComponent: noteComponent,\n paddingLeft: paddingLeft,\n deltaConnectorAttachment: deltaConnectorAttachment\n })\n ]),\n children\n ]);\n}\n\n\nexport {$d63334d9b5597481$export$fc5babae10f3f77d as ColumnNotes};\n//# sourceMappingURL=column-views.f7d72702.js.map\n","import h from \"@macrostrat/hyper\";\n\nimport { ColumnNotesProvider } from \"./units\";\n\nimport { StaticNotesColumn, SVG } from \"@macrostrat/column-components\";\nimport { useCompositeScale, useMacrostratColumnData } from \"./data-provider\";\nimport type { ReactNode } from \"react\";\n\ninterface ColumnNotesProps {\n notes: any[];\n width?: number;\n noteComponent?: any;\n paddingLeft?: number;\n deltaConnectorAttachment?: number;\n children?: ReactNode;\n}\n\nexport function ColumnNotes({\n notes,\n width = 200,\n noteComponent,\n paddingLeft = 60,\n deltaConnectorAttachment,\n children,\n}: ColumnNotesProps) {\n const { totalHeight } = useMacrostratColumnData();\n const scale = useCompositeScale();\n\n return h(\n ColumnNotesProvider,\n {\n scale,\n totalHeight,\n pixelScale: -1,\n },\n [\n h(SVG, { width, height: totalHeight, paddingH: 4 }, [\n h(StaticNotesColumn, {\n width,\n notes,\n noteComponent,\n paddingLeft,\n deltaConnectorAttachment,\n }),\n ]),\n children,\n ],\n );\n}\n"],"names":["$joNTi$macrostrathyper","SVG","$joNTi$SVG","StaticNotesColumn","$joNTi$StaticNotesColumn","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","Object","defineProperty","get","$d63334d9b5597481$export$fc5babae10f3f77d","set","s","enumerable","configurable","$4Abge","$wtIgl","notes","width","noteComponent","paddingLeft","deltaConnectorAttachment","children","totalHeight","useMacrostratColumnData","scale","useCompositeScale","ColumnNotesProvider","pixelScale","height","paddingH","ColumnNotes"],"version":3,"file":"column-views.f7d72702.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.
|
|
2
|
-
//# sourceMappingURL=column-views.
|
|
1
|
+
import"./column-views.6099a3a9.js";import{create as e,useStore as r}from"zustand";import{lineIntersect as t}from"@turf/line-intersect";import o from"@turf/distance";import{nearestPointOnLine as n}from"@turf/nearest-point-on-line";import{centroid as i}from"@turf/centroid";import{createContext as a,useState as s,useEffect as l,useContext as u}from"react";import c from"@macrostrat/hyper";import{createComputed as f}from"zustand-computed";function p(e,r,t,o){Object.defineProperty(e,r,{get:t,set:o,enumerable:!0,configurable:!0})}var d=globalThis,m={},g={},b=d.parcelRequirea149;null==b&&((b=function(e){if(e in m)return m[e].exports;if(e in g){var r=g[e];delete g[e];var t={id:e,exports:{}};return m[e]=t,r.call(t.exports,t,t.exports),t.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,r){g[e]=r},d.parcelRequirea149=b),b.register;var C={};p(C,"ColumnCorrelationProvider",()=>P),p(C,"useCorrelationMapStore",()=>x);var v=b("lgTAP");let L=a(null),y=f(e=>{var r,a,s,l;return{focusedColumns:(r=e.columns,a=e.focusedLine,null==r||null==a||a.coordinates.length<2?[]:function(e,r){var t,a;let s=e.map(e=>i(e.geometry)),l=s.map(e=>n(r,e)),u=l.map(e=>o(e.geometry.coordinates,r.coordinates[0]));return t=e.map((e,r)=>({...e,properties:{...e.properties,centroid:s[r],nearestPointOnLine:l[r],distanceAlongLine:u[r]}})),a=e=>e.properties.distanceAlongLine,t.sort((e,r)=>a(e)-a(r))}((s=r,l=a,null==s||null==l?[]:s.filter(e=>{let r=e.geometry;return null!=r&&("Polygon"==r.type||"MultiPolygon"==r.type)&&t(l,r).features.length>0})),a))}});function P({children:t,columns:o,projectID:n,inProcess:i,focusedLine:a,onSelectColumns:u}){let[f]=s(()=>e(y((e,r)=>({focusedLine:a,columns:null,onClickMap(t,o){let n=r(),i=t.originalEvent.shiftKey,a=n.focusedLine?.coordinates??[];a.length>=2&&!i&&(a=[]),e({focusedLine:{type:"LineString",coordinates:[...a,o.coordinates]}})}})))),p=(0,v.useMacrostratColumns)(n,i);l(()=>{null!=p&&f.setState({columns:p})},[p]);let d=r(f,e=>e.focusedColumns),m=r(f,e=>e.focusedLine);return l(()=>{u?.(d,m)},[d,m]),c(L.Provider,{value:f},t)}function x(e){let t=u(L);if(null==t)throw Error("Missing CorrelationMapProvider");return r(t,e)}export{P as ColumnCorrelationProvider,x as useCorrelationMapStore};
|
|
2
|
+
//# sourceMappingURL=column-views.fcdc74c4.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,Q,U,C,C,Y,C,K,S,A,Q,iB,C,K,sB,A,Q,M,gB,A,Q,sB,C,K,6B,A,Q,Y,C,K,gB,A,Q,iB,C,C,Y,C,C,a,C,C,c,C,K,O,A,Q,M,mB,A,Q,kB,C,K,kB,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,4B,I,G,E,E,yB,I,G,I,E,E,SCwCA,IAAM,EACJ,AAAA,EAAoD,MAOhD,EAAW,AAAA,EAAe,AAAC,QA0E/B,EACA,EAYA,EACA,QAvFO,CAEL,cAAA,EAuEF,EAvE0C,EAAM,OAAO,CAwEvD,EAxEyD,EAAM,WAAW,CA0E1E,AAAI,AAAW,MAAX,GAAmB,AAAQ,MAAR,GAAgB,EAAK,WAAW,CAAC,MAAM,CAAG,EACxD,EAAE,CAEJ,AAkCT,SACE,CAA8B,CAC9B,CAAgB,MAyBF,EAAM,EAvBpB,IAAM,EAAY,EAAQ,GAAG,CAAC,AAAC,GAAQ,AAAA,EAAS,EAAI,QAAQ,GACtD,EAAkB,EAAU,GAAG,CAAC,AAAC,GACrC,AAAA,EAAmB,EAAM,IAErB,EAAY,EAAgB,GAAG,CAAC,AAAC,GACrC,AAAA,EAAS,EAAM,QAAQ,CAAC,WAAW,CAAE,EAAK,WAAW,CAAC,EAAE,GAe1D,OAGc,EAfG,EAAQ,GAAG,CAAC,CAAC,EAAK,IAC1B,CAAA,CACL,GAAG,CAAG,CACN,WAAY,CACV,GAAG,EAAI,UAAU,CACjB,SAAU,CAAS,CAAC,EAAE,CACtB,mBAAoB,CAAe,CAAC,EAAE,CACtC,kBAAmB,CAAS,CAAC,EAAE,AACjC,CACF,CAAA,GAMkB,EAHM,AAAC,GAAM,EAAE,UAAU,CAAC,iBAAiB,CAIxD,EAAK,IAAI,CAAC,CAAC,EAAG,IAAM,EAAS,GAAK,EAAS,GAHpD,GApDE,EAN6B,EAO7B,EAPsC,EAStC,AAAI,AAAW,MAAX,GAAmB,AAAQ,MAAR,EACd,EAAE,CAGJ,EAAQ,MAAM,CAAC,AAAC,IACrB,IAAM,EAAO,EAAI,QAAQ,QAGzB,AAAY,MAAR,GACA,CAAA,AAAa,WAAb,EAAK,IAAI,EAAiB,AAAa,gBAAb,EAAK,IAAI,AAAI,GAGpC,AADc,AAAA,EAAc,EAAM,GACrB,QAAQ,CAAC,MAAM,CAAG,CACxC,IArBE,GA9EF,IAGK,SAAS,EAA0B,CAAA,SACxC,CAAQ,CAAA,QACR,CAAO,CAAA,UACP,CAAS,CAAA,UACT,CAAS,CAAA,YACT,CAAW,CAAA,gBACX,CAAe,CACU,EACzB,GAAM,CAAC,EAAM,CAAG,AAAA,EAAS,IAChB,AAAA,EACL,EAAS,CAAC,EAAK,IACN,CAAA,CACL,YAAA,EACA,QAAS,KACT,WAAW,CAA6B,CAAE,CAAY,EACpD,IAAM,EAAQ,IAER,EAAkB,EAAM,aAAa,CAAC,QAAQ,CAChD,EAAiB,EAAM,WAAW,EAAE,aAAe,EAAE,AAErD,CAAA,EAAe,MAAM,EAAI,GAAK,CAAC,GAEjC,CAAA,EAAiB,EAAE,AAAF,EAEnB,EAAI,CACF,YAAa,CACX,KAAM,aACN,YAAa,IAAI,EAAgB,EAAM,WAAW,CAAC,AACrD,CACF,EACF,CACF,CAAA,KAOA,EAAW,AAAA,CAAA,EAAA,EAAA,oBAAmB,AAAnB,EAAqB,EAAW,GACjD,AAAA,EAAU,KACJ,AAAY,MAAZ,GACF,EAAM,QAAQ,CAAC,CAAE,QAAS,CAAS,EAEvC,EAAG,CAAC,EAAS,EAGb,IAAM,EAAiB,AAAA,EAAS,EAAO,AAAC,GAAU,EAAM,cAAc,EAChE,EAAe,AAAA,EAAS,EAAO,AAAC,GAAU,EAAM,WAAW,EAMjE,OAJA,AAAA,EAAU,KACR,IAAkB,EAAgB,EACpC,EAAG,CAAC,EAAgB,EAAa,EAE1B,AAAA,EAAE,EAAwB,QAAQ,CAAE,CAAE,MAAO,CAAM,EAAG,EAC/D,CAEO,SAAS,EACd,CAA6D,EAE7D,IAAM,EAAW,AAAA,EAAW,GAC5B,GAAI,AAAY,MAAZ,EACF,MAAM,AAAI,MAAM,kCAElB,OAAO,AAAA,EAAS,EAAU,EAC5B,Q,K,yB,C,K,sB","sources":["<anon>","packages/column-views/src/maps/column-correlation/state.ts"],"sourcesContent":["import \"./column-views.e065152e.js\";\nimport {create as $g7zod$create, useStore as $g7zod$useStore} from \"zustand\";\nimport {lineIntersect as $g7zod$lineIntersect} from \"@turf/line-intersect\";\nimport $g7zod$turfdistance from \"@turf/distance\";\nimport {nearestPointOnLine as $g7zod$nearestPointOnLine} from \"@turf/nearest-point-on-line\";\nimport {centroid as $g7zod$centroid} from \"@turf/centroid\";\nimport {createContext as $g7zod$createContext, useState as $g7zod$useState, useEffect as $g7zod$useEffect, useContext as $g7zod$useContext} from \"react\";\nimport $g7zod$macrostrathyper from \"@macrostrat/hyper\";\nimport {createComputed as $g7zod$createComputed} from \"zustand-computed\";\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 $c36af3ba15da093b$exports = {};\n\n$parcel$export($c36af3ba15da093b$exports, \"ColumnCorrelationProvider\", () => $c36af3ba15da093b$export$72ffe141ebf87ef1);\n$parcel$export($c36af3ba15da093b$exports, \"useCorrelationMapStore\", () => $c36af3ba15da093b$export$21398703d3a9bb4d);\n\n\n\n\n\n\n\n\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\nconst $c36af3ba15da093b$var$CorrelationStoreContext = (0, $g7zod$createContext)(null);\n/** A computed store that will automatically update when the state changes */ const $c36af3ba15da093b$var$computed = (0, $g7zod$createComputed)((state)=>{\n return {\n // We compute the focused columns based on columns and focusedLine\n focusedColumns: $c36af3ba15da093b$var$buildCorrelationColumns(state.columns, state.focusedLine)\n };\n});\nfunction $c36af3ba15da093b$export$72ffe141ebf87ef1({ children: children, columns: columns, projectID: projectID, inProcess: inProcess, focusedLine: focusedLine, onSelectColumns: onSelectColumns }) {\n const [store] = (0, $g7zod$useState)(()=>{\n return (0, $g7zod$create)($c36af3ba15da093b$var$computed((set, get)=>{\n return {\n focusedLine: focusedLine,\n columns: null,\n onClickMap (event, point) {\n const state = get();\n // Check if shift key is pressed\n const shiftKeyPressed = event.originalEvent.shiftKey;\n let existingCoords = state.focusedLine?.coordinates ?? [];\n if (existingCoords.length >= 2 && !shiftKeyPressed) // Reset the line to zero length\n existingCoords = [];\n set({\n focusedLine: {\n type: \"LineString\",\n coordinates: [\n ...existingCoords,\n point.coordinates\n ]\n }\n });\n }\n };\n }));\n });\n // Set up the store\n /** TODO: move the fetching of all columns to within the map */ const _columns = (0, $lgTAP.useMacrostratColumns)(projectID, inProcess);\n (0, $g7zod$useEffect)(()=>{\n if (_columns != null) store.setState({\n columns: _columns\n });\n }, [\n _columns\n ]);\n // Kind of an awkward way to do this but we need to allow the selector to run\n const focusedColumns = (0, $g7zod$useStore)(store, (state)=>state.focusedColumns);\n const _focusedLine = (0, $g7zod$useStore)(store, (state)=>state.focusedLine);\n (0, $g7zod$useEffect)(()=>{\n onSelectColumns?.(focusedColumns, _focusedLine);\n }, [\n focusedColumns,\n _focusedLine\n ]);\n return (0, $g7zod$macrostrathyper)($c36af3ba15da093b$var$CorrelationStoreContext.Provider, {\n value: store\n }, children);\n}\nfunction $c36af3ba15da093b$export$21398703d3a9bb4d(selector) {\n const storeApi = (0, $g7zod$useContext)($c36af3ba15da093b$var$CorrelationStoreContext);\n if (storeApi == null) throw new Error(\"Missing CorrelationMapProvider\");\n return (0, $g7zod$useStore)(storeApi, selector);\n}\nfunction $c36af3ba15da093b$var$buildCorrelationColumns(columns, line) {\n if (columns == null || line == null || line.coordinates.length < 2) return [];\n return $c36af3ba15da093b$var$orderColumnsByDistance($c36af3ba15da093b$var$computeIntersectingColumns(columns, line), line);\n}\nfunction $c36af3ba15da093b$var$computeIntersectingColumns(columns, line) {\n if (columns == null || line == null) return [];\n return columns.filter((col)=>{\n const poly = col.geometry;\n // Some in-process datasets seem to have null geometries\n if (poly == null) return false;\n if (poly.type != \"Polygon\" && poly.type != \"MultiPolygon\") return false;\n const intersection = (0, $g7zod$lineIntersect)(line, poly);\n return intersection.features.length > 0;\n });\n}\nfunction $c36af3ba15da093b$var$orderColumnsByDistance(columns, line) {\n const centroids = columns.map((col)=>(0, $g7zod$centroid)(col.geometry));\n const projectedPoints = centroids.map((point)=>(0, $g7zod$nearestPointOnLine)(line, point));\n const distances = projectedPoints.map((point)=>(0, $g7zod$turfdistance)(point.geometry.coordinates, line.coordinates[0]));\n let newColumns = columns.map((col, i)=>{\n return {\n ...col,\n properties: {\n ...col.properties,\n centroid: centroids[i],\n nearestPointOnLine: projectedPoints[i],\n distanceAlongLine: distances[i]\n }\n };\n });\n return $c36af3ba15da093b$var$sorted(newColumns, (d)=>d.properties.distanceAlongLine);\n}\nfunction $c36af3ba15da093b$var$sorted(data, accessor) {\n return data.sort((a, b)=>accessor(a) - accessor(b));\n}\n\n\nexport {$c36af3ba15da093b$export$72ffe141ebf87ef1 as ColumnCorrelationProvider, $c36af3ba15da093b$export$21398703d3a9bb4d as useCorrelationMapStore};\n//# sourceMappingURL=column-views.07ff1fdf.js.map\n","import { LineString, Point } from \"geojson\";\nimport { create, StoreApi, useStore } from \"zustand\";\nimport type { ColumnGeoJSONRecord } from \"@macrostrat/api-types\";\n// Turf intersection\nimport { lineIntersect } from \"@turf/line-intersect\";\nimport distance from \"@turf/distance\";\nimport { nearestPointOnLine } from \"@turf/nearest-point-on-line\";\nimport { centroid } from \"@turf/centroid\";\nimport mapboxgl from \"mapbox-gl\";\nimport {\n createContext,\n useState,\n useContext,\n ReactNode,\n useEffect,\n} from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { createComputed } from \"zustand-computed\";\nimport { useMacrostratColumns } from \"../../data-provider/base\";\n\nexport interface CorrelationMapInput {\n columns: ColumnGeoJSONRecord[];\n focusedLine: LineString | null;\n}\n\nexport interface CorrelationMapStore extends CorrelationMapInput {\n onClickMap: (event: mapboxgl.MapMouseEvent, point: Point) => void;\n}\n\nexport interface CorrelationProviderProps extends CorrelationMapInput {\n projectID?: number;\n inProcess?: boolean;\n columns: ColumnGeoJSONRecord[] | null;\n children: ReactNode;\n onSelectColumns?: (\n columns: FocusedColumnGeoJSONRecord[],\n line: LineString | null,\n ) => void;\n}\n\nconst CorrelationStoreContext =\n createContext<StoreApi<CorrelationMapStore> | null>(null);\n\ntype ComputedStore = {\n focusedColumns: FocusedColumnGeoJSONRecord[];\n};\n\n/** A computed store that will automatically update when the state changes */\nconst computed = createComputed((state: CorrelationMapStore): ComputedStore => {\n return {\n // We compute the focused columns based on columns and focusedLine\n focusedColumns: buildCorrelationColumns(state.columns, state.focusedLine),\n };\n}) as any;\n\nexport function ColumnCorrelationProvider({\n children,\n columns,\n projectID,\n inProcess,\n focusedLine,\n onSelectColumns,\n}: CorrelationProviderProps) {\n const [store] = useState(() => {\n return create<CorrelationMapStore & ComputedStore>(\n computed((set, get): CorrelationMapStore => {\n return {\n focusedLine,\n columns: null,\n onClickMap(event: mapboxgl.MapMouseEvent, point: Point) {\n const state = get();\n // Check if shift key is pressed\n const shiftKeyPressed = event.originalEvent.shiftKey;\n let existingCoords = state.focusedLine?.coordinates ?? [];\n\n if (existingCoords.length >= 2 && !shiftKeyPressed) {\n // Reset the line to zero length\n existingCoords = [];\n }\n set({\n focusedLine: {\n type: \"LineString\",\n coordinates: [...existingCoords, point.coordinates],\n },\n });\n },\n };\n }),\n );\n });\n\n // Set up the store\n /** TODO: move the fetching of all columns to within the map */\n const _columns = useMacrostratColumns(projectID, inProcess);\n useEffect(() => {\n if (_columns != null) {\n store.setState({ columns: _columns });\n }\n }, [_columns]);\n\n // Kind of an awkward way to do this but we need to allow the selector to run\n const focusedColumns = useStore(store, (state) => state.focusedColumns);\n const _focusedLine = useStore(store, (state) => state.focusedLine);\n\n useEffect(() => {\n onSelectColumns?.(focusedColumns, _focusedLine);\n }, [focusedColumns, _focusedLine]);\n\n return h(CorrelationStoreContext.Provider, { value: store }, children);\n}\n\nexport function useCorrelationMapStore(\n selector: (state: CorrelationMapStore & ComputedStore) => any,\n) {\n const storeApi = useContext(CorrelationStoreContext);\n if (storeApi == null) {\n throw new Error(\"Missing CorrelationMapProvider\");\n }\n return useStore(storeApi, selector);\n}\n\nfunction buildCorrelationColumns(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): FocusedColumnGeoJSONRecord[] {\n if (columns == null || line == null || line.coordinates.length < 2) {\n return [];\n }\n return orderColumnsByDistance(\n computeIntersectingColumns(columns, line),\n line,\n );\n}\n\nfunction computeIntersectingColumns(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): ColumnGeoJSONRecord[] {\n if (columns == null || line == null) {\n return [];\n }\n\n return columns.filter((col) => {\n const poly = col.geometry;\n\n // Some in-process datasets seem to have null geometries\n if (poly == null) return false;\n if (poly.type != \"Polygon\" && poly.type != \"MultiPolygon\") return false;\n\n const intersection = lineIntersect(line, poly);\n return intersection.features.length > 0;\n });\n}\n\ninterface FocusedColumnGeoJSONRecord extends ColumnGeoJSONRecord {\n properties: {\n centroid: Point;\n nearestPointOnLine: Point;\n distanceAlongLine: number;\n } & ColumnGeoJSONRecord[\"properties\"];\n}\n\nfunction orderColumnsByDistance(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): FocusedColumnGeoJSONRecord[] {\n const centroids = columns.map((col) => centroid(col.geometry));\n const projectedPoints = centroids.map((point) =>\n nearestPointOnLine(line, point),\n );\n const distances = projectedPoints.map((point) =>\n distance(point.geometry.coordinates, line.coordinates[0]),\n );\n\n let newColumns = columns.map((col, i) => {\n return {\n ...col,\n properties: {\n ...col.properties,\n centroid: centroids[i],\n nearestPointOnLine: projectedPoints[i],\n distanceAlongLine: distances[i],\n },\n };\n });\n\n return sorted(newColumns, (d) => d.properties.distanceAlongLine);\n}\n\nfunction sorted(data, accessor: (d) => number) {\n return data.sort((a, b) => accessor(a) - accessor(b));\n}\n"],"names":["create","$g7zod$create","useStore","$g7zod$useStore","lineIntersect","$g7zod$lineIntersect","$g7zod$turfdistance","nearestPointOnLine","$g7zod$nearestPointOnLine","centroid","$g7zod$centroid","createContext","$g7zod$createContext","useState","$g7zod$useState","useEffect","$g7zod$useEffect","useContext","$g7zod$useContext","$g7zod$macrostrathyper","createComputed","$g7zod$createComputed","$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","$c36af3ba15da093b$exports","$c36af3ba15da093b$export$72ffe141ebf87ef1","$c36af3ba15da093b$export$21398703d3a9bb4d","$lgTAP","$c36af3ba15da093b$var$CorrelationStoreContext","$c36af3ba15da093b$var$computed","state","columns","line","focusedColumns","focusedLine","coordinates","length","$c36af3ba15da093b$var$orderColumnsByDistance","data","accessor","centroids","map","col","geometry","projectedPoints","point","distances","i","properties","distanceAlongLine","d","sort","a","b","filter","poly","type","intersection","features","children","projectID","inProcess","onSelectColumns","store","onClickMap","event","shiftKeyPressed","originalEvent","shiftKey","existingCoords","_columns","useMacrostratColumns","setState","_focusedLine","Provider","value","selector","storeApi","ColumnCorrelationProvider","useCorrelationMapStore"],"version":3,"file":"column-views.07ff1fdf.js.map","sourceRoot":"../../../../"}
|
|
1
|
+
{"mappings":"A,M,6C,A,Q,U,C,C,Y,C,K,S,A,Q,iB,C,K,sB,A,Q,M,gB,A,Q,sB,C,K,6B,A,Q,Y,C,K,gB,A,Q,iB,C,C,Y,C,C,a,C,C,c,C,K,O,A,Q,M,mB,A,Q,kB,C,K,kB,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,4B,I,G,E,E,yB,I,G,I,E,E,SCuCA,IAAM,EACJ,AAAA,EAAoD,MAOhD,EAAW,AAAA,EAAe,AAAC,QA0E/B,EACA,EAYA,EACA,QAvFO,CAEL,cAAA,EAuEF,EAvE0C,EAAM,OAAO,CAwEvD,EAxEyD,EAAM,WAAW,CA0E1E,AAAI,AAAW,MAAX,GAAmB,AAAQ,MAAR,GAAgB,EAAK,WAAW,CAAC,MAAM,CAAG,EACxD,EAAE,CAEJ,AAkCT,SACE,CAA8B,CAC9B,CAAgB,MAyBF,EAAM,EAvBpB,IAAM,EAAY,EAAQ,GAAG,CAAC,AAAC,GAAQ,AAAA,EAAS,EAAI,QAAQ,GACtD,EAAkB,EAAU,GAAG,CAAC,AAAC,GACrC,AAAA,EAAmB,EAAM,IAErB,EAAY,EAAgB,GAAG,CAAC,AAAC,GACrC,AAAA,EAAS,EAAM,QAAQ,CAAC,WAAW,CAAE,EAAK,WAAW,CAAC,EAAE,GAe1D,OAGc,EAfG,EAAQ,GAAG,CAAC,CAAC,EAAK,IAC1B,CAAA,CACL,GAAG,CAAG,CACN,WAAY,CACV,GAAG,EAAI,UAAU,CACjB,SAAU,CAAS,CAAC,EAAE,CACtB,mBAAoB,CAAe,CAAC,EAAE,CACtC,kBAAmB,CAAS,CAAC,EAAE,AACjC,CACF,CAAA,GAMkB,EAHM,AAAC,GAAM,EAAE,UAAU,CAAC,iBAAiB,CAIxD,EAAK,IAAI,CAAC,CAAC,EAAG,IAAM,EAAS,GAAK,EAAS,GAHpD,GApDE,EAN6B,EAO7B,EAPsC,EAStC,AAAI,AAAW,MAAX,GAAmB,AAAQ,MAAR,EACd,EAAE,CAGJ,EAAQ,MAAM,CAAC,AAAC,IACrB,IAAM,EAAO,EAAI,QAAQ,QAGzB,AAAY,MAAR,GACA,CAAA,AAAa,WAAb,EAAK,IAAI,EAAiB,AAAa,gBAAb,EAAK,IAAI,AAAI,GAGpC,AADc,AAAA,EAAc,EAAM,GACrB,QAAQ,CAAC,MAAM,CAAG,CACxC,IArBE,GA9EF,IAGK,SAAS,EAA0B,CAAA,SACxC,CAAQ,CAAA,QACR,CAAO,CAAA,UACP,CAAS,CAAA,UACT,CAAS,CAAA,YACT,CAAW,CAAA,gBACX,CAAe,CACU,EACzB,GAAM,CAAC,EAAM,CAAG,AAAA,EAAS,IAChB,AAAA,EACL,EAAS,CAAC,EAAK,IACN,CAAA,CACL,YAAA,EACA,QAAS,KACT,WAAW,CAA6B,CAAE,CAAY,EACpD,IAAM,EAAQ,IAER,EAAkB,EAAM,aAAa,CAAC,QAAQ,CAChD,EAAiB,EAAM,WAAW,EAAE,aAAe,EAAE,AAErD,CAAA,EAAe,MAAM,EAAI,GAAK,CAAC,GAEjC,CAAA,EAAiB,EAAE,AAAF,EAEnB,EAAI,CACF,YAAa,CACX,KAAM,aACN,YAAa,IAAI,EAAgB,EAAM,WAAW,CAAC,AACrD,CACF,EACF,CACF,CAAA,KAOA,EAAW,AAAA,CAAA,EAAA,EAAA,oBAAmB,AAAnB,EAAqB,EAAW,GACjD,AAAA,EAAU,KACJ,AAAY,MAAZ,GACF,EAAM,QAAQ,CAAC,CAAE,QAAS,CAAS,EAEvC,EAAG,CAAC,EAAS,EAGb,IAAM,EAAiB,AAAA,EAAS,EAAO,AAAC,GAAU,EAAM,cAAc,EAChE,EAAe,AAAA,EAAS,EAAO,AAAC,GAAU,EAAM,WAAW,EAMjE,OAJA,AAAA,EAAU,KACR,IAAkB,EAAgB,EACpC,EAAG,CAAC,EAAgB,EAAa,EAE1B,AAAA,EAAE,EAAwB,QAAQ,CAAE,CAAE,MAAO,CAAM,EAAG,EAC/D,CAEO,SAAS,EACd,CAA6D,EAE7D,IAAM,EAAW,AAAA,EAAW,GAC5B,GAAI,AAAY,MAAZ,EACF,MAAM,AAAI,MAAM,kCAElB,OAAO,AAAA,EAAS,EAAU,EAC5B,Q,K,yB,C,K,sB","sources":["<anon>","packages/column-views/src/maps/column-correlation/state.ts"],"sourcesContent":["import \"./column-views.6099a3a9.js\";\nimport {create as $g7zod$create, useStore as $g7zod$useStore} from \"zustand\";\nimport {lineIntersect as $g7zod$lineIntersect} from \"@turf/line-intersect\";\nimport $g7zod$turfdistance from \"@turf/distance\";\nimport {nearestPointOnLine as $g7zod$nearestPointOnLine} from \"@turf/nearest-point-on-line\";\nimport {centroid as $g7zod$centroid} from \"@turf/centroid\";\nimport {createContext as $g7zod$createContext, useState as $g7zod$useState, useEffect as $g7zod$useEffect, useContext as $g7zod$useContext} from \"react\";\nimport $g7zod$macrostrathyper from \"@macrostrat/hyper\";\nimport {createComputed as $g7zod$createComputed} from \"zustand-computed\";\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 $c36af3ba15da093b$exports = {};\n\n$parcel$export($c36af3ba15da093b$exports, \"ColumnCorrelationProvider\", () => $c36af3ba15da093b$export$72ffe141ebf87ef1);\n$parcel$export($c36af3ba15da093b$exports, \"useCorrelationMapStore\", () => $c36af3ba15da093b$export$21398703d3a9bb4d);\n\n\n\n\n\n\n\n\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\nconst $c36af3ba15da093b$var$CorrelationStoreContext = (0, $g7zod$createContext)(null);\n/** A computed store that will automatically update when the state changes */ const $c36af3ba15da093b$var$computed = (0, $g7zod$createComputed)((state)=>{\n return {\n // We compute the focused columns based on columns and focusedLine\n focusedColumns: $c36af3ba15da093b$var$buildCorrelationColumns(state.columns, state.focusedLine)\n };\n});\nfunction $c36af3ba15da093b$export$72ffe141ebf87ef1({ children: children, columns: columns, projectID: projectID, inProcess: inProcess, focusedLine: focusedLine, onSelectColumns: onSelectColumns }) {\n const [store] = (0, $g7zod$useState)(()=>{\n return (0, $g7zod$create)($c36af3ba15da093b$var$computed((set, get)=>{\n return {\n focusedLine: focusedLine,\n columns: null,\n onClickMap (event, point) {\n const state = get();\n // Check if shift key is pressed\n const shiftKeyPressed = event.originalEvent.shiftKey;\n let existingCoords = state.focusedLine?.coordinates ?? [];\n if (existingCoords.length >= 2 && !shiftKeyPressed) // Reset the line to zero length\n existingCoords = [];\n set({\n focusedLine: {\n type: \"LineString\",\n coordinates: [\n ...existingCoords,\n point.coordinates\n ]\n }\n });\n }\n };\n }));\n });\n // Set up the store\n /** TODO: move the fetching of all columns to within the map */ const _columns = (0, $lgTAP.useMacrostratColumns)(projectID, inProcess);\n (0, $g7zod$useEffect)(()=>{\n if (_columns != null) store.setState({\n columns: _columns\n });\n }, [\n _columns\n ]);\n // Kind of an awkward way to do this but we need to allow the selector to run\n const focusedColumns = (0, $g7zod$useStore)(store, (state)=>state.focusedColumns);\n const _focusedLine = (0, $g7zod$useStore)(store, (state)=>state.focusedLine);\n (0, $g7zod$useEffect)(()=>{\n onSelectColumns?.(focusedColumns, _focusedLine);\n }, [\n focusedColumns,\n _focusedLine\n ]);\n return (0, $g7zod$macrostrathyper)($c36af3ba15da093b$var$CorrelationStoreContext.Provider, {\n value: store\n }, children);\n}\nfunction $c36af3ba15da093b$export$21398703d3a9bb4d(selector) {\n const storeApi = (0, $g7zod$useContext)($c36af3ba15da093b$var$CorrelationStoreContext);\n if (storeApi == null) throw new Error(\"Missing CorrelationMapProvider\");\n return (0, $g7zod$useStore)(storeApi, selector);\n}\nfunction $c36af3ba15da093b$var$buildCorrelationColumns(columns, line) {\n if (columns == null || line == null || line.coordinates.length < 2) return [];\n return $c36af3ba15da093b$var$orderColumnsByDistance($c36af3ba15da093b$var$computeIntersectingColumns(columns, line), line);\n}\nfunction $c36af3ba15da093b$var$computeIntersectingColumns(columns, line) {\n if (columns == null || line == null) return [];\n return columns.filter((col)=>{\n const poly = col.geometry;\n // Some in-process datasets seem to have null geometries\n if (poly == null) return false;\n if (poly.type != \"Polygon\" && poly.type != \"MultiPolygon\") return false;\n const intersection = (0, $g7zod$lineIntersect)(line, poly);\n return intersection.features.length > 0;\n });\n}\nfunction $c36af3ba15da093b$var$orderColumnsByDistance(columns, line) {\n const centroids = columns.map((col)=>(0, $g7zod$centroid)(col.geometry));\n const projectedPoints = centroids.map((point)=>(0, $g7zod$nearestPointOnLine)(line, point));\n const distances = projectedPoints.map((point)=>(0, $g7zod$turfdistance)(point.geometry.coordinates, line.coordinates[0]));\n let newColumns = columns.map((col, i)=>{\n return {\n ...col,\n properties: {\n ...col.properties,\n centroid: centroids[i],\n nearestPointOnLine: projectedPoints[i],\n distanceAlongLine: distances[i]\n }\n };\n });\n return $c36af3ba15da093b$var$sorted(newColumns, (d)=>d.properties.distanceAlongLine);\n}\nfunction $c36af3ba15da093b$var$sorted(data, accessor) {\n return data.sort((a, b)=>accessor(a) - accessor(b));\n}\n\n\nexport {$c36af3ba15da093b$export$72ffe141ebf87ef1 as ColumnCorrelationProvider, $c36af3ba15da093b$export$21398703d3a9bb4d as useCorrelationMapStore};\n//# sourceMappingURL=column-views.fcdc74c4.js.map\n","import { LineString, Point } from \"geojson\";\nimport { create, StoreApi, useStore } from \"zustand\";\nimport type { ColumnGeoJSONRecord } from \"@macrostrat/api-types\";\n// Turf intersection\nimport { lineIntersect } from \"@turf/line-intersect\";\nimport distance from \"@turf/distance\";\nimport { nearestPointOnLine } from \"@turf/nearest-point-on-line\";\nimport { centroid } from \"@turf/centroid\";\nimport {\n createContext,\n useState,\n useContext,\n ReactNode,\n useEffect,\n} from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { createComputed } from \"zustand-computed\";\nimport { useMacrostratColumns } from \"../../data-provider/base\";\n\nexport interface CorrelationMapInput {\n columns: ColumnGeoJSONRecord[];\n focusedLine: LineString | null;\n}\n\nexport interface CorrelationMapStore extends CorrelationMapInput {\n onClickMap: (event: mapboxgl.MapMouseEvent, point: Point) => void;\n}\n\nexport interface CorrelationProviderProps extends CorrelationMapInput {\n projectID?: number;\n inProcess?: boolean;\n columns: ColumnGeoJSONRecord[] | null;\n children: ReactNode;\n onSelectColumns?: (\n columns: FocusedColumnGeoJSONRecord[],\n line: LineString | null,\n ) => void;\n}\n\nconst CorrelationStoreContext =\n createContext<StoreApi<CorrelationMapStore> | null>(null);\n\ntype ComputedStore = {\n focusedColumns: FocusedColumnGeoJSONRecord[];\n};\n\n/** A computed store that will automatically update when the state changes */\nconst computed = createComputed((state: CorrelationMapStore): ComputedStore => {\n return {\n // We compute the focused columns based on columns and focusedLine\n focusedColumns: buildCorrelationColumns(state.columns, state.focusedLine),\n };\n}) as any;\n\nexport function ColumnCorrelationProvider({\n children,\n columns,\n projectID,\n inProcess,\n focusedLine,\n onSelectColumns,\n}: CorrelationProviderProps) {\n const [store] = useState(() => {\n return create<CorrelationMapStore & ComputedStore>(\n computed((set, get): CorrelationMapStore => {\n return {\n focusedLine,\n columns: null,\n onClickMap(event: mapboxgl.MapMouseEvent, point: Point) {\n const state = get();\n // Check if shift key is pressed\n const shiftKeyPressed = event.originalEvent.shiftKey;\n let existingCoords = state.focusedLine?.coordinates ?? [];\n\n if (existingCoords.length >= 2 && !shiftKeyPressed) {\n // Reset the line to zero length\n existingCoords = [];\n }\n set({\n focusedLine: {\n type: \"LineString\",\n coordinates: [...existingCoords, point.coordinates],\n },\n });\n },\n };\n }),\n );\n });\n\n // Set up the store\n /** TODO: move the fetching of all columns to within the map */\n const _columns = useMacrostratColumns(projectID, inProcess);\n useEffect(() => {\n if (_columns != null) {\n store.setState({ columns: _columns });\n }\n }, [_columns]);\n\n // Kind of an awkward way to do this but we need to allow the selector to run\n const focusedColumns = useStore(store, (state) => state.focusedColumns);\n const _focusedLine = useStore(store, (state) => state.focusedLine);\n\n useEffect(() => {\n onSelectColumns?.(focusedColumns, _focusedLine);\n }, [focusedColumns, _focusedLine]);\n\n return h(CorrelationStoreContext.Provider, { value: store }, children);\n}\n\nexport function useCorrelationMapStore(\n selector: (state: CorrelationMapStore & ComputedStore) => any,\n) {\n const storeApi = useContext(CorrelationStoreContext);\n if (storeApi == null) {\n throw new Error(\"Missing CorrelationMapProvider\");\n }\n return useStore(storeApi, selector);\n}\n\nfunction buildCorrelationColumns(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): FocusedColumnGeoJSONRecord[] {\n if (columns == null || line == null || line.coordinates.length < 2) {\n return [];\n }\n return orderColumnsByDistance(\n computeIntersectingColumns(columns, line),\n line,\n );\n}\n\nfunction computeIntersectingColumns(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): ColumnGeoJSONRecord[] {\n if (columns == null || line == null) {\n return [];\n }\n\n return columns.filter((col) => {\n const poly = col.geometry;\n\n // Some in-process datasets seem to have null geometries\n if (poly == null) return false;\n if (poly.type != \"Polygon\" && poly.type != \"MultiPolygon\") return false;\n\n const intersection = lineIntersect(line, poly);\n return intersection.features.length > 0;\n });\n}\n\ninterface FocusedColumnGeoJSONRecord extends ColumnGeoJSONRecord {\n properties: {\n centroid: Point;\n nearestPointOnLine: Point;\n distanceAlongLine: number;\n } & ColumnGeoJSONRecord[\"properties\"];\n}\n\nfunction orderColumnsByDistance(\n columns: ColumnGeoJSONRecord[],\n line: LineString,\n): FocusedColumnGeoJSONRecord[] {\n const centroids = columns.map((col) => centroid(col.geometry));\n const projectedPoints = centroids.map((point) =>\n nearestPointOnLine(line, point),\n );\n const distances = projectedPoints.map((point) =>\n distance(point.geometry.coordinates, line.coordinates[0]),\n );\n\n let newColumns = columns.map((col, i) => {\n return {\n ...col,\n properties: {\n ...col.properties,\n centroid: centroids[i],\n nearestPointOnLine: projectedPoints[i],\n distanceAlongLine: distances[i],\n },\n };\n });\n\n return sorted(newColumns, (d) => d.properties.distanceAlongLine);\n}\n\nfunction sorted(data, accessor: (d) => number) {\n return data.sort((a, b) => accessor(a) - accessor(b));\n}\n"],"names":["create","$g7zod$create","useStore","$g7zod$useStore","lineIntersect","$g7zod$lineIntersect","$g7zod$turfdistance","nearestPointOnLine","$g7zod$nearestPointOnLine","centroid","$g7zod$centroid","createContext","$g7zod$createContext","useState","$g7zod$useState","useEffect","$g7zod$useEffect","useContext","$g7zod$useContext","$g7zod$macrostrathyper","createComputed","$g7zod$createComputed","$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","$c36af3ba15da093b$exports","$c36af3ba15da093b$export$72ffe141ebf87ef1","$c36af3ba15da093b$export$21398703d3a9bb4d","$lgTAP","$c36af3ba15da093b$var$CorrelationStoreContext","$c36af3ba15da093b$var$computed","state","columns","line","focusedColumns","focusedLine","coordinates","length","$c36af3ba15da093b$var$orderColumnsByDistance","data","accessor","centroids","map","col","geometry","projectedPoints","point","distances","i","properties","distanceAlongLine","d","sort","a","b","filter","poly","type","intersection","features","children","projectID","inProcess","onSelectColumns","store","onClickMap","event","shiftKeyPressed","originalEvent","shiftKey","existingCoords","_columns","useMacrostratColumns","setState","_focusedLine","Provider","value","selector","storeApi","ColumnCorrelationProvider","useCorrelationMapStore"],"version":3,"file":"column-views.fcdc74c4.js.map","sourceRoot":"../../../../"}
|
package/dist/node/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"./column-views.
|
|
1
|
+
import"./column-views.6919fd2a.js";import"./column-views.44952ae6.js";import"./column-views.0201566d.js";import"./column-views.a16cd1f2.js";import"./column-views.18d54bbb.js";import"./column-views.29483479.js";import"./column-views.554d44a7.js";import"./column-views.f1ad131a.js";import"./column-views.57dd069c.js";import"./column-views.f7d72702.js";import"./column-views.abe0a664.js";function e(e,a){return Object.keys(a).forEach(function($){"default"===$||"__esModule"===$||Object.prototype.hasOwnProperty.call(e,$)||Object.defineProperty(e,$,{enumerable:!0,get:function(){return a[$]}})}),e}var a=globalThis,$={},t={},o=a.parcelRequirea149;null==o&&((o=function(e){if(e in $)return $[e].exports;if(e in t){var a=t[e];delete t[e];var o={id:e,exports:{}};return $[e]=o,a.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,a){t[e]=a},a.parcelRequirea149=o),o.register;var r={},c=o("7tWYE"),f=o("b81Rm"),s=o("4hG2H"),d=o("610tc"),b=o("dMbCm"),n=o("8Krp8"),p=o("8k2zD"),i=o("4h1Z4"),x=o("jBnSZ"),l=o("6KYbn"),u=o("6PrEe");e(r,c),e(r,f),e(r,s),e(r,d),e(r,b),e(r,n),e(r,p),e(r,i),e(r,x),e(r,l),e(r,u);export{$1da06db49d2262cb$export$3750278673318c9a as UnitsColumn,$1da06db49d2262cb$export$2006342ddaa547c6 as SimpleUnitsColumn,$1da06db49d2262cb$export$600691a8e9d13a7 as BasicUnitComponent,$1da06db49d2262cb$export$48a4cacf2b7a4441 as UnitComponent,$1da06db49d2262cb$export$62c7735c72801c19 as useUnitColor,$1da06db49d2262cb$export$6012fd1584b5d0c0 as ColoredUnitComponent,$1da06db49d2262cb$export$4830e703a903113 as useUnitColorByEnvironment,$1da06db49d2262cb$export$c2fe8a14da82d570 as EnvironmentColoredUnitComponent,$0557c7dbdd54c055$export$175d3e927f1a9860 as getMixedUnitColor,$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,$482a09479937d1e2$export$45bd78cd093090fa as fetchAllColumns,$482a09479937d1e2$export$e3270a4e30e40ff9 as useColumnFeatures,$482a09479937d1e2$export$1aa679bd5e605f82 as fetchLithologies,$482a09479937d1e2$export$5d2ec2e733dfe6c7 as fetchIntervals,$482a09479937d1e2$export$780b4b253712916c as fetchEnvironments,$482a09479937d1e2$export$cd7bfa0860f58b96 as fetchRefs,$482a09479937d1e2$export$8ea8f45a7ffe4183 as fetchStratNames,$482a09479937d1e2$export$b97b9bdd6a521298 as fetchUnits,$482a09479937d1e2$export$d3d8b0fabcc76c5d as fetchColumnUnits,$8750144f23b92eb9$export$fb98d5bae3a6800 as useMacrostratStore,$8750144f23b92eb9$export$33b1392d23dde04 as useMacrostratBaseURL,$8750144f23b92eb9$export$89dd4e5ae4a82373 as useMacrostratDefs,$8750144f23b92eb9$export$81eaae0b474404fd as useMacrostratColumns,$8750144f23b92eb9$export$b9c9fc603d74a555 as useMacrostratData,$8750144f23b92eb9$export$690613f93cdc5576 as MacrostratDataProvider,$8750144f23b92eb9$export$3098013bc6cc316d as MacrostratAPIProvider,$8750144f23b92eb9$export$9e42f9b6e0d67c7d as MacrostratColumnProvider,$8750144f23b92eb9$export$8492a5cae82b6a70 as LithologiesProvider,$8750144f23b92eb9$export$4d18a90c945d129f as useLithologies,$8750144f23b92eb9$export$c6b216bf4c71b61f as useEnvironments,$d8324406f284950a$export$91cb5ac808759b34 as useColumnNav,$d8324406f284950a$export$36fed9e0f93a8fde as ColumnNavProvider,$91525b65c57a1e5d$export$ef5395089200109b as MacrostratColumnStateProvider,$91525b65c57a1e5d$export$7fec7bd80ff9c10e as MacrostratColumnDataProvider,$91525b65c57a1e5d$export$f8509b7cce386c7d as useMacrostratColumnData,$91525b65c57a1e5d$export$6fb40844db555b2 as useMacrostratUnits,$91525b65c57a1e5d$export$7513be0cfd10d9cc as useColumnUnitsMap,$91525b65c57a1e5d$export$a7fc62995ec4f76 as useCompositeScale,$cfa36458f00f4b0e$export$77a278d5ca56e309 as useUnitSelectionDispatch,$cfa36458f00f4b0e$export$b220b1d3591dc9e5 as useUnitSelectionStore,$cfa36458f00f4b0e$export$f0dd93f90aa8e5da as useSelectedUnit,$cfa36458f00f4b0e$export$f19d75b1d4b676a4 as UnitSelectionProvider,$cfa36458f00f4b0e$export$cbbec12b1451fe7d as useUnitSelectionTarget,$cfa36458f00f4b0e$export$70f5ee19650fc7d1 as UnitKeyboardNavigation,$1aa4ef695e55d51d$export$64204d5cbb3e8227 as VerticalAxisLabel,$1aa4ef695e55d51d$export$40b6b0e4520eeb34 as CompositeAgeAxis,$1aa4ef695e55d51d$export$ac30ca3cf5df959d as CompositeAgeAxisCore,$1aa4ef695e55d51d$export$82731b9607850ca6 as ApproximateHeightAxis,$1aa4ef695e55d51d$export$20d84abfcfa68dfa as AgeCursor,$031426a894870747$export$206a0cb85295e433 as usePreparedColumnUnits,$031426a894870747$export$be8c5a449df4bde4 as prepareColumnUnits,$57278f42f24b59e5$export$55543e159517d62d as preprocessUnits,$f811753598b339f3$export$e1644389ce074058 as MergeSectionsMode,$f811753598b339f3$export$f1a15f539858307 as unitsOverlap,$f811753598b339f3$export$70e712e2ac0237a as getUnitHeightRange,$f811753598b339f3$export$d92a67740c050efb as agesOverlap,$f811753598b339f3$export$ab14c04795685c55 as createUnitSorter,$f811753598b339f3$export$d0c8ecbd4ed8940c as ensureArray,$f811753598b339f3$export$97de5b0a6b4e4dac as ensureRealFloat,$6a8fb6360a4f5dac$export$45e8e2d7a1794c23 as HybridScaleType,$6a8fb6360a4f5dac$export$e40aae6f0de9bb95 as HeightMethod,$4721fb147cb3f5e1$export$816b5d811295e6bc as Column,$4721fb147cb3f5e1$export$2194471aa3d52446 as ColumnContainer,$4721fb147cb3f5e1$export$fcdf79c491a4504f as ColumnBasicInfo,$4a89f93cd5289383$export$fbd245232df17557 as UnitDetailsPanel,$4a89f93cd5289383$export$fc503c39cc5cff43 as LegendPanelHeader,$4a89f93cd5289383$export$ec297f6f9a6ccad0 as UnitDetailsFeature,$4a89f93cd5289383$export$3b11bc38611c5941 as Duration,$4a89f93cd5289383$export$895d4931dd696e25 as ReferencesField,$4a89f93cd5289383$export$989167234458594d as Identifier,$4a89f93cd5289383$export$37ebfd237811b1eb as AgeLabel,$4a89f93cd5289383$export$b6867fc5221f9f65 as ClickableText,$1c6e0a5d10814cef$export$6716aecc2c9afbe2 as UnitDetailsPopover,$1c6e0a5d10814cef$export$db1115efab13710d as UnitSelectionPopover,$a8b0b0b16d1f0073$export$cfdbe8496aa51962 as UnitDetailsPanelWithNavigation,$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,$26d029a83b68e870$export$1d1ebe9df97e8db as BoundaryAgeModelOverlay,$26d029a83b68e870$export$ddca1abd3171ec6f as ComputedSurfacesOverlay,$25f1fcddbe40b91f$export$9ebf875c09445bec as CorrelationChart,$7e37f2a9ef0a1013$export$77c3cc7a57c6db5f as parseLineFromString,$7e37f2a9ef0a1013$export$8c53992169ff5301 as stringifyLine,$d63334d9b5597481$export$fc5babae10f3f77d as ColumnNotes,$ea2f112131e22f14$export$554267114407ef68 as PBDBFossilsColumn,$ea2f112131e22f14$export$652730986cccff7a as PBDBOccurrencesMatrix,$8e174c7ae24a4598$export$a990c76b38782f57 as FossilDataType,$68f55e74a5c97233$export$f176396e104db8d5 as DetritalColumn,$68f55e74a5c97233$export$1b3047373cd1c8c7 as DetritalGroup,$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,$30f674067bcc490b$export$c49cf57576706bab as SGPMeasurementsColumn,$2e4f0c6a68e03928$export$ce5c4f2fdf4e644d as BaseMeasurementsColumn,$2e4f0c6a68e03928$export$653e47a7a0da0f0d as TruncatedList};
|
|
2
2
|
//# sourceMappingURL=index.js.map
|