@macrostrat/column-views 2.0.1 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/dist/esm/{column-views.8dd877af.js → column-views.006d5180.js} +2 -1
- package/dist/esm/column-views.006d5180.js.map +1 -0
- package/dist/esm/column-views.05586d1f.js +22 -0
- package/dist/esm/column-views.05586d1f.js.map +1 -0
- package/dist/esm/column-views.0732894f.js +86 -0
- package/dist/esm/column-views.0732894f.js.map +1 -0
- package/dist/esm/column-views.09f22f45.js +64 -0
- package/dist/esm/column-views.09f22f45.js.map +1 -0
- package/dist/esm/column-views.10eba967.js +11 -0
- package/dist/esm/column-views.10eba967.js.map +1 -0
- package/dist/esm/{column-views.8e51206e.js → column-views.1af9761e.js} +19 -3
- package/dist/esm/column-views.1af9761e.js.map +1 -0
- package/dist/esm/column-views.1c92b88f.js +16 -0
- package/dist/esm/column-views.1c92b88f.js.map +1 -0
- package/dist/esm/{column-views.ea237aa8.js → column-views.1e055ed5.js} +6 -5
- package/dist/esm/column-views.1e055ed5.js.map +1 -0
- package/dist/esm/column-views.210514ec.js +11 -0
- package/dist/esm/column-views.210514ec.js.map +1 -0
- package/dist/esm/{column-views.240ef158.css → column-views.217078ab.css} +4 -3
- package/dist/esm/column-views.217078ab.css.map +1 -0
- package/dist/esm/column-views.2c43c055.js +156 -0
- package/dist/esm/column-views.2c43c055.js.map +1 -0
- package/dist/esm/column-views.2c45a7b5.js +25 -0
- package/dist/esm/column-views.2c45a7b5.js.map +1 -0
- package/dist/esm/column-views.2ca34210.js +151 -0
- package/dist/esm/column-views.2ca34210.js.map +1 -0
- package/dist/esm/{column-views.88de2cee.js → column-views.2cb87813.js} +4 -4
- package/dist/esm/{column-views.88de2cee.js.map → column-views.2cb87813.js.map} +1 -1
- package/dist/esm/{column-views.3bec70d6.js → column-views.2d8e0e0f.js} +9 -8
- package/dist/esm/column-views.2d8e0e0f.js.map +1 -0
- package/dist/esm/column-views.3048acc1.js +66 -0
- package/dist/esm/column-views.3048acc1.js.map +1 -0
- package/dist/esm/column-views.3199d35a.css +61 -0
- package/dist/esm/column-views.3199d35a.css.map +1 -0
- package/dist/esm/column-views.34a52db7.js +31 -0
- package/dist/esm/column-views.34a52db7.js.map +1 -0
- package/dist/esm/column-views.39657bbf.js.map +1 -1
- package/dist/esm/{column-views.28ee5f43.js → column-views.3ba9213d.js} +16 -5
- package/dist/esm/column-views.3ba9213d.js.map +1 -0
- package/dist/esm/column-views.3de4dc43.js.map +1 -1
- package/dist/esm/column-views.403a7b48.css +24 -0
- package/dist/esm/column-views.403a7b48.css.map +1 -0
- package/dist/esm/column-views.4637f4ce.js.map +1 -1
- package/dist/esm/column-views.494447ef.css +2 -0
- package/dist/esm/column-views.494447ef.css.map +1 -0
- package/dist/esm/column-views.4950ea28.js +28 -0
- package/dist/esm/column-views.4950ea28.js.map +1 -0
- package/dist/esm/{column-views.86c4b36f.js → column-views.4ab0ec82.js} +44 -13
- package/dist/esm/column-views.4ab0ec82.js.map +1 -0
- package/dist/esm/{column-views.9bdd477a.js → column-views.4d22c21c.js} +2 -2
- package/dist/esm/{column-views.9bdd477a.js.map → column-views.4d22c21c.js.map} +1 -1
- package/dist/esm/{column-views.b775c0a3.js → column-views.52a6eb47.js} +3 -3
- package/dist/esm/{column-views.b775c0a3.js.map → column-views.52a6eb47.js.map} +1 -1
- package/dist/esm/{column-views.f2e5a72f.js → column-views.52b03330.js} +3 -3
- package/dist/esm/{column-views.f2e5a72f.js.map → column-views.52b03330.js.map} +1 -1
- package/dist/esm/column-views.57636733.css +22 -0
- package/dist/esm/column-views.57636733.css.map +1 -0
- package/dist/esm/{column-views.aa9fcdba.js → column-views.59792b70.js} +18 -15
- package/dist/esm/column-views.59792b70.js.map +1 -0
- package/dist/esm/{column-views.68409161.js → column-views.59bb0cba.js} +2 -3
- package/dist/esm/column-views.59bb0cba.js.map +1 -0
- package/dist/esm/{column-views.134b2e2a.js → column-views.5ae1d963.js} +2 -2
- package/dist/esm/{column-views.134b2e2a.js.map → column-views.5ae1d963.js.map} +1 -1
- package/dist/esm/column-views.5cc09c1d.js.map +1 -1
- package/dist/esm/column-views.5e2dc19d.js +187 -0
- package/dist/esm/column-views.5e2dc19d.js.map +1 -0
- package/dist/esm/{column-views.33dbc778.js → column-views.633c42a3.js} +2 -1
- package/dist/esm/column-views.633c42a3.js.map +1 -0
- package/dist/esm/{column-views.e77b9d6b.js → column-views.6549388a.js} +4 -5
- package/dist/esm/column-views.6549388a.js.map +1 -0
- package/dist/esm/{column-views.1ece326b.js → column-views.66f823ba.js} +63 -12
- package/dist/esm/column-views.66f823ba.js.map +1 -0
- package/dist/esm/{column-views.dff52504.js → column-views.686d21ad.js} +10 -1
- package/dist/esm/column-views.686d21ad.js.map +1 -0
- package/dist/esm/column-views.68afac63.js +90 -0
- package/dist/esm/column-views.68afac63.js.map +1 -0
- package/dist/esm/column-views.6992ca88.js +25 -0
- package/dist/esm/column-views.6992ca88.js.map +1 -0
- package/dist/esm/column-views.69c0e90d.js +5 -0
- package/dist/esm/column-views.69c0e90d.js.map +1 -0
- package/dist/esm/column-views.6d6b73b4.js.map +1 -1
- package/dist/esm/column-views.708140ab.css +36 -0
- package/dist/esm/column-views.708140ab.css.map +1 -0
- package/dist/esm/column-views.7631c221.js +13 -0
- package/dist/esm/column-views.7631c221.js.map +1 -0
- package/dist/esm/{column-views.650bd9f5.js → column-views.7715e35e.js} +17 -13
- package/dist/esm/column-views.7715e35e.js.map +1 -0
- package/dist/esm/column-views.7a414dd1.css +56 -0
- package/dist/esm/column-views.7a414dd1.css.map +1 -0
- package/dist/esm/column-views.7a726ca9.js +24 -0
- package/dist/esm/column-views.7a726ca9.js.map +1 -0
- package/dist/esm/column-views.7e21d1ec.js +34 -0
- package/dist/esm/column-views.7e21d1ec.js.map +1 -0
- package/dist/esm/{column-views.a98214b2.js → column-views.7e350ae2.js} +3 -3
- package/dist/esm/{column-views.a98214b2.js.map → column-views.7e350ae2.js.map} +1 -1
- package/dist/esm/column-views.83a557b3.js +11 -0
- package/dist/esm/column-views.83a557b3.js.map +1 -0
- package/dist/esm/{column-views.30646469.js → column-views.85c6a716.js} +2 -2
- package/dist/esm/column-views.85c6a716.js.map +1 -0
- package/dist/esm/column-views.86619334.js +9 -0
- package/dist/esm/column-views.86619334.js.map +1 -0
- package/dist/esm/{column-views.9ced149e.js → column-views.8833218c.js} +25 -6
- package/dist/esm/column-views.8833218c.js.map +1 -0
- package/dist/esm/column-views.88984b34.js +92 -0
- package/dist/esm/column-views.88984b34.js.map +1 -0
- package/dist/esm/{column-views.40c1f361.js → column-views.89b9e542.js} +11 -18
- package/dist/esm/column-views.89b9e542.js.map +1 -0
- package/dist/esm/column-views.8a1db14e.js +105 -0
- package/dist/esm/column-views.8a1db14e.js.map +1 -0
- package/dist/esm/column-views.8e7b01d2.js +43 -0
- package/dist/esm/column-views.8e7b01d2.js.map +1 -0
- package/dist/esm/column-views.8f108485.js +128 -0
- package/dist/esm/column-views.8f108485.js.map +1 -0
- package/dist/esm/column-views.904b9365.js +57 -0
- package/dist/esm/column-views.904b9365.js.map +1 -0
- package/dist/esm/column-views.90a863af.js +11 -0
- package/dist/esm/column-views.90a863af.js.map +1 -0
- package/dist/esm/{column-views.f71ec4b4.js → column-views.91385fdc.js} +67 -30
- package/dist/esm/column-views.91385fdc.js.map +1 -0
- package/dist/esm/{column-views.1c589cc4.js → column-views.9892f825.js} +55 -4
- package/dist/esm/column-views.9892f825.js.map +1 -0
- package/dist/esm/{column-views.1edc7300.js → column-views.9b77388d.js} +6 -5
- package/dist/esm/column-views.9b77388d.js.map +1 -0
- package/dist/esm/column-views.a582d4b5.js +7 -0
- package/dist/esm/column-views.a582d4b5.js.map +1 -0
- package/dist/esm/column-views.a7c5ae16.js +25 -0
- package/dist/esm/column-views.a7c5ae16.js.map +1 -0
- package/dist/esm/{column-views.5c02fee2.js → column-views.a91dde4a.js} +10 -9
- package/dist/esm/column-views.a91dde4a.js.map +1 -0
- package/dist/esm/{column-views.fc2b4611.js → column-views.a94e99a2.js} +2 -2
- package/dist/esm/{column-views.fc2b4611.js.map → column-views.a94e99a2.js.map} +1 -1
- package/dist/esm/column-views.ad472a38.css +54 -0
- package/dist/esm/column-views.ad472a38.css.map +1 -0
- package/dist/esm/{column-views.e2b9c23c.css → column-views.b17f793f.css} +21 -1
- package/dist/esm/column-views.b17f793f.css.map +1 -0
- package/dist/esm/column-views.b2b5f52c.js +19 -0
- package/dist/esm/column-views.b2b5f52c.js.map +1 -0
- package/dist/esm/column-views.b324842f.css +57 -0
- package/dist/esm/column-views.b324842f.css.map +1 -0
- package/dist/esm/{column-views.9804efda.js → column-views.b9fe5176.js} +14 -8
- package/dist/esm/column-views.b9fe5176.js.map +1 -0
- package/dist/esm/{column-views.fa6f3292.js → column-views.bb46641f.js} +7 -8
- package/dist/esm/column-views.bb46641f.js.map +1 -0
- package/dist/esm/column-views.bba13f77.css +54 -0
- package/dist/esm/column-views.bba13f77.css.map +1 -0
- package/dist/esm/{column-views.b2e5f1d9.js → column-views.bcffe6e5.js} +4 -4
- package/dist/esm/{column-views.b2e5f1d9.js.map → column-views.bcffe6e5.js.map} +1 -1
- package/dist/esm/{column-views.f1efcc2c.js → column-views.c25e8b32.js} +3 -3
- package/dist/esm/{column-views.f1efcc2c.js.map → column-views.c25e8b32.js.map} +1 -1
- package/dist/esm/column-views.c5e108f9.js +34 -0
- package/dist/esm/column-views.c5e108f9.js.map +1 -0
- package/dist/esm/{column-views.34636ec7.js → column-views.c71c321c.js} +11 -11
- package/dist/esm/column-views.c71c321c.js.map +1 -0
- package/dist/esm/{column-views.5b2635fd.js → column-views.c8e2983a.js} +4 -4
- package/dist/esm/{column-views.5b2635fd.js.map → column-views.c8e2983a.js.map} +1 -1
- package/dist/esm/column-views.cae5a0ad.js +37 -0
- package/dist/esm/column-views.cae5a0ad.js.map +1 -0
- package/dist/esm/{column-views.4c4c5bac.js → column-views.d2037465.js} +14 -8
- package/dist/esm/column-views.d2037465.js.map +1 -0
- package/dist/esm/column-views.dc42f5d0.js.map +1 -1
- package/dist/esm/column-views.e20f6a4b.js +124 -0
- package/dist/esm/column-views.e20f6a4b.js.map +1 -0
- package/dist/esm/column-views.e4975dd6.css +146 -0
- package/dist/esm/column-views.e4975dd6.css.map +1 -0
- package/dist/esm/column-views.e9f8b2a7.js +20 -0
- package/dist/esm/column-views.e9f8b2a7.js.map +1 -0
- package/dist/esm/column-views.edeab611.js +204 -0
- package/dist/esm/column-views.edeab611.js.map +1 -0
- package/dist/esm/{column-views.57c4ddf3.js → column-views.f08929e2.js} +2 -2
- package/dist/esm/column-views.f08929e2.js.map +1 -0
- package/dist/esm/column-views.f13a1d6e.js +37 -0
- package/dist/esm/column-views.f13a1d6e.js.map +1 -0
- package/dist/esm/column-views.f2948ff8.js +101 -0
- package/dist/esm/column-views.f2948ff8.js.map +1 -0
- package/dist/esm/column-views.f9dab157.js.map +1 -1
- package/dist/esm/column-views.fa19cea0.js +108 -0
- package/dist/esm/column-views.fa19cea0.js.map +1 -0
- package/dist/esm/index.d.ts +325 -296
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +13 -11
- package/dist/esm/index.js.map +1 -1
- package/dist/node/column-views.007bf6c1.js +2 -0
- package/dist/node/column-views.007bf6c1.js.map +1 -0
- package/dist/node/column-views.00848c9a.js +2 -0
- package/dist/node/column-views.00848c9a.js.map +1 -0
- package/dist/node/column-views.0278b7e5.js +2 -0
- package/dist/node/column-views.0278b7e5.js.map +1 -0
- package/dist/node/column-views.04407342.js +2 -0
- package/dist/node/column-views.04407342.js.map +1 -0
- package/dist/node/column-views.072d3dcd.js +2 -0
- package/dist/node/column-views.072d3dcd.js.map +1 -0
- package/dist/node/column-views.0859f5d2.js +2 -0
- package/dist/node/column-views.0859f5d2.js.map +1 -0
- package/dist/node/column-views.0b579299.css +2 -0
- package/dist/node/column-views.0b579299.css.map +1 -0
- package/dist/node/column-views.0b72c188.js +2 -0
- package/dist/node/column-views.0b72c188.js.map +1 -0
- package/dist/node/column-views.1064fcfb.js +2 -0
- package/dist/node/column-views.1064fcfb.js.map +1 -0
- package/dist/node/column-views.10a2bad6.js +2 -0
- package/dist/node/column-views.10a2bad6.js.map +1 -0
- package/dist/node/column-views.12864efd.js +2 -0
- package/dist/node/column-views.12864efd.js.map +1 -0
- package/dist/node/column-views.12a70e9d.js +2 -0
- package/dist/node/column-views.12a70e9d.js.map +1 -0
- package/dist/node/column-views.139b0855.js +2 -0
- package/dist/node/column-views.139b0855.js.map +1 -0
- package/dist/node/column-views.1a0b56fc.js +2 -0
- package/dist/node/column-views.1a0b56fc.js.map +1 -0
- package/dist/node/column-views.1de87649.js +2 -0
- package/dist/node/column-views.1de87649.js.map +1 -0
- package/dist/node/column-views.22673dc1.js +2 -0
- package/dist/node/column-views.22673dc1.js.map +1 -0
- package/dist/node/column-views.273ac4a8.js +2 -0
- package/dist/node/column-views.273ac4a8.js.map +1 -0
- package/dist/node/column-views.28609db2.css +2 -0
- package/dist/node/column-views.28609db2.css.map +1 -0
- package/dist/node/column-views.286d444d.js +2 -0
- package/dist/node/column-views.286d444d.js.map +1 -0
- package/dist/node/column-views.2877f398.js +2 -0
- package/dist/node/column-views.2877f398.js.map +1 -0
- package/dist/node/column-views.2a70b9a2.js +2 -0
- package/dist/node/column-views.2a70b9a2.js.map +1 -0
- package/dist/node/column-views.2e4e357d.js +2 -0
- package/dist/node/column-views.2e4e357d.js.map +1 -0
- package/dist/node/column-views.2fa1c4e6.css +2 -0
- package/dist/node/column-views.2fa1c4e6.css.map +1 -0
- package/dist/node/column-views.33102ceb.js +2 -0
- package/dist/node/column-views.33102ceb.js.map +1 -0
- package/dist/node/column-views.3345cd7a.js +2 -0
- package/dist/node/column-views.3345cd7a.js.map +1 -0
- package/dist/node/column-views.33752461.js +2 -0
- package/dist/node/column-views.33752461.js.map +1 -0
- package/dist/node/column-views.34b48ee4.js +2 -0
- package/dist/node/column-views.34b48ee4.js.map +1 -0
- package/dist/node/column-views.39d3a0be.js +2 -0
- package/dist/node/column-views.39d3a0be.js.map +1 -0
- package/dist/node/column-views.3a55ecd7.css +2 -0
- package/dist/node/column-views.3a55ecd7.css.map +1 -0
- package/dist/node/column-views.3bd09ad6.js +2 -0
- package/dist/node/column-views.3bd09ad6.js.map +1 -0
- package/dist/node/column-views.3cb3345e.js +2 -0
- package/dist/node/column-views.3cb3345e.js.map +1 -0
- package/dist/node/column-views.3f3cfcce.js +2 -0
- package/dist/node/column-views.3f3cfcce.js.map +1 -0
- package/dist/node/column-views.41876859.js +2 -0
- package/dist/node/column-views.41876859.js.map +1 -0
- package/dist/node/column-views.41d01674.js +2 -0
- package/dist/node/column-views.41d01674.js.map +1 -0
- package/dist/node/column-views.44b75011.js +2 -0
- package/dist/node/column-views.44b75011.js.map +1 -0
- package/dist/node/column-views.45168c80.js +2 -0
- package/dist/node/column-views.45168c80.js.map +1 -0
- package/dist/node/column-views.47f67ad4.js +2 -0
- package/dist/node/column-views.47f67ad4.js.map +1 -0
- package/dist/node/column-views.4e2bdf9b.js +2 -0
- package/dist/node/column-views.4e2bdf9b.js.map +1 -0
- package/dist/node/column-views.51fbed89.js +2 -0
- package/dist/node/column-views.51fbed89.js.map +1 -0
- package/dist/node/column-views.5b6833f0.js +2 -0
- package/dist/node/column-views.5b6833f0.js.map +1 -0
- package/dist/node/column-views.5c1b0eeb.css +2 -0
- package/dist/node/column-views.5c1b0eeb.css.map +1 -0
- package/dist/node/column-views.63165cf3.css +2 -0
- package/dist/node/column-views.63165cf3.css.map +1 -0
- package/dist/node/column-views.65ad6310.css +2 -0
- package/dist/node/column-views.65ad6310.css.map +1 -0
- package/dist/node/column-views.664dc6c9.js +2 -0
- package/dist/node/column-views.664dc6c9.js.map +1 -0
- package/dist/node/column-views.68224fdd.css +2 -0
- package/dist/node/column-views.68224fdd.css.map +1 -0
- package/dist/node/column-views.68ded006.js +2 -0
- package/dist/node/column-views.68ded006.js.map +1 -0
- package/dist/node/column-views.6a0a35e7.js +2 -0
- package/dist/node/column-views.6a0a35e7.js.map +1 -0
- package/dist/node/column-views.6a4c2100.css +2 -0
- package/dist/node/column-views.6a4c2100.css.map +1 -0
- package/dist/node/column-views.6a9da051.js +2 -0
- package/dist/node/column-views.6a9da051.js.map +1 -0
- package/dist/node/column-views.6b441349.js +2 -0
- package/dist/node/column-views.6b441349.js.map +1 -0
- package/dist/node/column-views.6b6b756b.js +2 -0
- package/dist/node/column-views.6b6b756b.js.map +1 -0
- package/dist/node/column-views.6bba8c57.js +2 -0
- package/dist/node/column-views.6bba8c57.js.map +1 -0
- package/dist/node/column-views.6d1551bd.js +2 -0
- package/dist/node/column-views.6d1551bd.js.map +1 -0
- package/dist/node/column-views.6da49480.js +2 -0
- package/dist/node/column-views.6da49480.js.map +1 -0
- package/dist/node/column-views.71c48a11.js +2 -0
- package/dist/node/column-views.71c48a11.js.map +1 -0
- package/dist/node/column-views.7350ac73.js +2 -0
- package/dist/node/column-views.7350ac73.js.map +1 -0
- package/dist/node/column-views.755f726e.js +2 -0
- package/dist/node/column-views.755f726e.js.map +1 -0
- package/dist/node/column-views.770d2c95.js +2 -0
- package/dist/node/column-views.770d2c95.js.map +1 -0
- package/dist/node/column-views.78d3f3c5.js +2 -0
- package/dist/node/column-views.78d3f3c5.js.map +1 -0
- package/dist/node/column-views.7b9bd06e.css +2 -0
- package/dist/node/column-views.7b9bd06e.css.map +1 -0
- package/dist/node/column-views.7be87c6b.js +2 -0
- package/dist/node/column-views.7be87c6b.js.map +1 -0
- package/dist/node/column-views.7d45bbeb.js +2 -0
- package/dist/node/column-views.7d45bbeb.js.map +1 -0
- package/dist/node/column-views.7f621850.js +2 -0
- package/dist/node/column-views.7f621850.js.map +1 -0
- package/dist/node/column-views.82cf7c0d.js +2 -0
- package/dist/node/column-views.82cf7c0d.js.map +1 -0
- package/dist/node/column-views.869c7199.js +2 -0
- package/dist/node/column-views.869c7199.js.map +1 -0
- package/dist/node/column-views.8a02b1fe.js +2 -0
- package/dist/node/column-views.8a02b1fe.js.map +1 -0
- package/dist/node/column-views.8acd24ca.js +2 -0
- package/dist/node/column-views.8acd24ca.js.map +1 -0
- package/dist/node/column-views.8c00beb4.js +2 -0
- package/dist/node/column-views.8c00beb4.js.map +1 -0
- package/dist/node/column-views.8cfed88b.js +2 -0
- package/dist/node/column-views.8cfed88b.js.map +1 -0
- package/dist/node/column-views.8f54691f.js +2 -0
- package/dist/node/column-views.8f54691f.js.map +1 -0
- package/dist/node/column-views.95411f1b.js +2 -0
- package/dist/node/column-views.95411f1b.js.map +1 -0
- package/dist/node/column-views.9cb13e51.css +2 -0
- package/dist/node/column-views.9cb13e51.css.map +1 -0
- package/dist/node/column-views.a0aac838.js +2 -0
- package/dist/node/column-views.a0aac838.js.map +1 -0
- package/dist/node/column-views.a208338e.js +2 -0
- package/dist/node/column-views.a208338e.js.map +1 -0
- package/dist/node/column-views.a501cea0.js +2 -0
- package/dist/node/column-views.a501cea0.js.map +1 -0
- package/dist/node/column-views.a634ac7f.js +2 -0
- package/dist/node/column-views.a634ac7f.js.map +1 -0
- package/dist/node/column-views.a8ffe072.js +2 -0
- package/dist/node/column-views.a8ffe072.js.map +1 -0
- package/dist/node/column-views.b169b4b5.css +2 -0
- package/dist/node/column-views.b169b4b5.css.map +1 -0
- package/dist/node/column-views.b55bd885.css +2 -0
- package/dist/node/column-views.b55bd885.css.map +1 -0
- package/dist/node/column-views.b773edb8.js +2 -0
- package/dist/node/column-views.b773edb8.js.map +1 -0
- package/dist/node/column-views.baf032f1.js +2 -0
- package/dist/node/column-views.baf032f1.js.map +1 -0
- package/dist/node/column-views.bb510980.js +2 -0
- package/dist/node/column-views.bb510980.js.map +1 -0
- package/dist/node/column-views.c968a185.css +2 -0
- package/dist/node/column-views.c968a185.css.map +1 -0
- package/dist/node/column-views.ca16625d.js +2 -0
- package/dist/node/column-views.ca16625d.js.map +1 -0
- package/dist/node/column-views.cd3c430b.js +2 -0
- package/dist/node/column-views.cd3c430b.js.map +1 -0
- package/dist/node/column-views.cd468adb.css +2 -0
- package/dist/node/column-views.cd468adb.css.map +1 -0
- package/dist/node/column-views.cdcce702.js +2 -0
- package/dist/node/column-views.cdcce702.js.map +1 -0
- package/dist/node/column-views.ce6808fe.js +2 -0
- package/dist/node/column-views.ce6808fe.js.map +1 -0
- package/dist/node/column-views.cf90f63d.js +2 -0
- package/dist/node/column-views.cf90f63d.js.map +1 -0
- package/dist/node/column-views.d0ee3385.js +2 -0
- package/dist/node/column-views.d0ee3385.js.map +1 -0
- package/dist/node/column-views.d6708353.js +2 -0
- package/dist/node/column-views.d6708353.js.map +1 -0
- package/dist/node/column-views.d9bbd6fb.css +2 -0
- package/dist/node/column-views.d9bbd6fb.css.map +1 -0
- package/dist/node/column-views.dfe9f0a9.js +2 -0
- package/dist/node/column-views.dfe9f0a9.js.map +1 -0
- package/dist/node/column-views.e52994ea.js +2 -0
- package/dist/node/column-views.e52994ea.js.map +1 -0
- package/dist/node/column-views.e6720522.js +2 -0
- package/dist/node/column-views.e6720522.js.map +1 -0
- package/dist/node/column-views.e77dd525.js +2 -0
- package/dist/node/column-views.e77dd525.js.map +1 -0
- package/dist/node/column-views.e7cd811c.css +2 -0
- package/dist/node/column-views.e7cd811c.css.map +1 -0
- package/dist/node/column-views.e7e26765.js +2 -0
- package/dist/node/column-views.e7e26765.js.map +1 -0
- package/dist/node/column-views.e9515ec1.js +2 -0
- package/dist/node/column-views.e9515ec1.js.map +1 -0
- package/dist/node/column-views.ebb44b7d.js +2 -0
- package/dist/node/column-views.ebb44b7d.js.map +1 -0
- package/dist/node/column-views.ee8cb107.js +2 -0
- package/dist/node/column-views.ee8cb107.js.map +1 -0
- package/dist/node/column-views.eea80478.js +2 -0
- package/dist/node/column-views.eea80478.js.map +1 -0
- package/dist/node/column-views.f7315cbc.css +2 -0
- package/dist/node/column-views.f7315cbc.css.map +1 -0
- package/dist/node/column-views.f76ba19f.js +2 -0
- package/dist/node/column-views.f76ba19f.js.map +1 -0
- package/dist/node/column-views.fea32686.js +2 -0
- package/dist/node/column-views.fea32686.js.map +1 -0
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +16 -15
- package/src/age-axis.module.sass +20 -0
- package/src/age-axis.ts +25 -3
- package/src/age-model-overlay.ts +2 -2
- package/src/column.module.sass +3 -3
- package/src/column.ts +92 -19
- package/src/correlation-chart/main.ts +25 -12
- package/src/correlation-chart/prepare-data.ts +6 -6
- package/src/correlation-chart/stories/correlation-chart.stories.ts +12 -6
- package/src/data-provider/base.ts +20 -11
- package/src/data-provider/column-nav.ts +2 -2
- package/src/data-provider/fetch.ts +9 -9
- package/src/data-provider/store.ts +15 -10
- package/src/{carbon-isotopes → facets/carbon-isotopes}/data-area.ts +5 -4
- package/src/{carbon-isotopes → facets/carbon-isotopes}/index.ts +0 -1
- package/src/facets/carbon-isotopes/isotopes-column.module.sass +31 -0
- package/src/{carbon-isotopes → facets/carbon-isotopes}/isotopes-column.ts +119 -87
- package/src/facets/detrital-zircon/index.module.sass +22 -0
- package/src/facets/detrital-zircon/index.ts +132 -0
- package/src/facets/detrital-zircon/provider.ts +51 -0
- package/src/facets/fossils/index.module.sass +14 -0
- package/src/facets/fossils/index.ts +120 -0
- package/src/facets/fossils/provider.ts +80 -0
- package/src/facets/index.ts +3 -0
- package/src/index.ts +2 -1
- package/src/maps/_shared/inset-map.stories.ts +1 -1
- package/src/maps/_shared/inset-map.ts +2 -2
- package/src/maps/_shared/styles.ts +3 -1
- package/src/maps/column-correlation/column-correlation-map.stories.ts +3 -3
- package/src/maps/column-correlation/core.ts +17 -26
- package/src/maps/column-correlation/state.ts +9 -9
- package/src/maps/column-navigation/mapbox/column-navigation-map.stories.ts +177 -1
- package/src/maps/column-navigation/mapbox/index.ts +18 -15
- package/src/maps/column-navigation/mapbox/keyboard-navigation.ts +4 -4
- package/src/maps/column-navigation/mapbox/state.ts +16 -6
- package/src/maps/column-navigation/svg/animated.ts +2 -2
- package/src/maps/column-navigation/svg/column-navigation-svg-map.stories.ts +2 -2
- package/src/maps/column-navigation/svg/index.ts +2 -4
- package/src/maps/column-navigation/svg/layers.ts +5 -7
- package/src/maps/column-navigation/utils/keyboard-navigation.ts +1 -1
- package/src/notes.ts +49 -0
- package/src/prepare-units/composite-scale.ts +73 -25
- package/src/prepare-units/helpers.ts +78 -13
- package/src/prepare-units/index.ts +17 -17
- package/src/prepare-units/utils.ts +7 -7
- package/src/section.ts +8 -8
- package/src/unit-details/panel.ts +103 -19
- package/src/unit-details/popover.ts +5 -5
- package/src/units/boxes.ts +20 -10
- package/src/units/colors.ts +12 -5
- package/src/units/composite.ts +16 -11
- package/src/units/index.ts +77 -10
- package/src/units/names.ts +19 -16
- package/src/units/resolvers.ts +3 -0
- package/src/units/selection.ts +44 -11
- package/src/units/types.ts +2 -0
- package/dist/esm/column-views.062d164a.js +0 -86
- package/dist/esm/column-views.062d164a.js.map +0 -1
- package/dist/esm/column-views.07521ce6.js +0 -25
- package/dist/esm/column-views.07521ce6.js.map +0 -1
- package/dist/esm/column-views.1c589cc4.js.map +0 -1
- package/dist/esm/column-views.1ece326b.js.map +0 -1
- package/dist/esm/column-views.1edc7300.js.map +0 -1
- package/dist/esm/column-views.240ef158.css.map +0 -1
- package/dist/esm/column-views.28ee5f43.js.map +0 -1
- package/dist/esm/column-views.30646469.js.map +0 -1
- package/dist/esm/column-views.33dbc778.js.map +0 -1
- package/dist/esm/column-views.343b5aa2.js +0 -98
- package/dist/esm/column-views.343b5aa2.js.map +0 -1
- package/dist/esm/column-views.34636ec7.js.map +0 -1
- package/dist/esm/column-views.3bec70d6.js.map +0 -1
- package/dist/esm/column-views.3f4db8cb.js +0 -117
- package/dist/esm/column-views.3f4db8cb.js.map +0 -1
- package/dist/esm/column-views.40c1f361.js.map +0 -1
- package/dist/esm/column-views.4c4c5bac.js.map +0 -1
- package/dist/esm/column-views.57c4ddf3.js.map +0 -1
- package/dist/esm/column-views.5c02fee2.js.map +0 -1
- package/dist/esm/column-views.650bd9f5.js.map +0 -1
- package/dist/esm/column-views.68409161.js.map +0 -1
- package/dist/esm/column-views.86c4b36f.js.map +0 -1
- package/dist/esm/column-views.8dd877af.js.map +0 -1
- package/dist/esm/column-views.8e51206e.js.map +0 -1
- package/dist/esm/column-views.94b5cca1.js +0 -34
- package/dist/esm/column-views.94b5cca1.js.map +0 -1
- package/dist/esm/column-views.9804efda.js.map +0 -1
- package/dist/esm/column-views.9ced149e.js.map +0 -1
- package/dist/esm/column-views.a7be0a4a.css +0 -157
- package/dist/esm/column-views.a7be0a4a.css.map +0 -1
- package/dist/esm/column-views.aa9fcdba.js.map +0 -1
- package/dist/esm/column-views.ac9fb5e1.js +0 -163
- package/dist/esm/column-views.ac9fb5e1.js.map +0 -1
- package/dist/esm/column-views.c58aad3f.js +0 -88
- package/dist/esm/column-views.c58aad3f.js.map +0 -1
- package/dist/esm/column-views.d1ad48eb.js +0 -11
- package/dist/esm/column-views.d1ad48eb.js.map +0 -1
- package/dist/esm/column-views.dff52504.js.map +0 -1
- package/dist/esm/column-views.e2b9c23c.css.map +0 -1
- package/dist/esm/column-views.e77b9d6b.js.map +0 -1
- package/dist/esm/column-views.ea237aa8.js.map +0 -1
- package/dist/esm/column-views.f71ec4b4.js.map +0 -1
- package/dist/esm/column-views.fa6f3292.js.map +0 -1
- package/src/carbon-isotopes/column.module.sass +0 -136
- package/src/carbon-isotopes/column.ts +0 -133
- package/src/carbon-isotopes/core.ts +0 -81
- /package/src/{carbon-isotopes → facets/carbon-isotopes}/data-provider.ts +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
.depositional-age_977b40 {
|
|
2
|
+
fill: var(--column-stroke-color);
|
|
3
|
+
fill-opacity: .25;
|
|
4
|
+
stroke-width: 1px;
|
|
5
|
+
stroke: var(--column-stroke-color);
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
.detrital-group_977b40 {
|
|
9
|
+
margin: -5px -5px -36px -10px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.detrital-group_977b40.hide-axis_977b40 .visx-axis tspan, .detrital-group_977b40.hide-axis_977b40 .visx-axis text {
|
|
13
|
+
display: none;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.dz-spectra_977b40 {
|
|
17
|
+
position: relative;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
.floating-axis_977b40 {
|
|
21
|
+
position: sticky;
|
|
22
|
+
bottom: 0;
|
|
23
|
+
}
|
|
24
|
+
/*# sourceMappingURL=column-views.403a7b48.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AACA;;;;;;;AAMA;;;;AAOM;;;;AAGJ;;;;AAGA","sources":["packages/column-views/src/facets/detrital-zircon/index.module.sass"],"sourcesContent":["\n.depositional-age\n fill: var(--column-stroke-color)\n fill-opacity: 0.25\n stroke-width: 1px\n stroke: var(--column-stroke-color)\n\n.detrital-group\n margin: -5px\n margin-left: -10px\n margin-bottom: -36px\n\n &.hide-axis :global .visx-axis\n tspan, text\n display: none\n\n.dz-spectra\n position: relative\n\n.floating-axis\n position: sticky\n bottom: 0\n"],"names":[],"version":3,"file":"column-views.403a7b48.css.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAXA,4CAAqC;AACrC,4CAAqC;AACrC,4CAAiC;AACjC,4CAA4C;AAC5C,4CAAgC;AAChC,4CAAwC;AACxC,4CAAiC;AACjC,4CAAyB;AACzB,4CAAyB;AACzB,4CAA0B;AAC1B,4CAA0B;AAC1B,4CAAsC","sources":["packages/column-views/src/column.module.sass"],"sourcesContent":[".column-container, body:global(.light-mode) .column-container\n --column-background-color: var(--background-color, #fff)\n --column-stroke-color: var(--text-emphasized-color, #000)\n --column-text-color: var(--text-emphasized-color, #000)\n\n/* We have to duplicate the dark mode styles here\n because we want to set them either if the preferred\n color scheme is dark OR if dark mode is explicitly enabled.\n If dark mode is explicitly enabled, we want to override\n the media query. */\n@media (prefers-color-scheme: dark)\n body:not(:global(.light-mode)) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-emphasized-color, #fff)\n --column-text-color: var(--text-emphasized-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n svg pattern image\n filter: invert(100%)\n\nbody:global(.dark-mode) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-emphasized-color, #fff)\n --column-text-color: var(--text-emphasized-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n svg pattern image\n filter: invert(100%)\n\n.column-container :global\n .column\n display: flex\n flex-direction: row\n position: relative\n\n .unit\n stroke: var(--column-stroke-color)\n stroke-width: 1px\n\n .selection-overlay\n fill: var(--selection-overlay-color, red)\n fill-opacity: var(--selection-overlay-opacity, 0.5)\n\n g.lithology-column use.frame\n stroke: var(--column-stroke-color)\n stroke-width: 1.5px !important\n pointer-events: none\n\n.column-container :global .unit-label\n text-align: center\n\n.column-container :global .col-note-label\n font-size: 10px\n
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAXA,4CAAqC;AACrC,4CAAqC;AACrC,4CAAiC;AACjC,4CAA4C;AAC5C,4CAAgC;AAChC,4CAAwC;AACxC,4CAAiC;AACjC,4CAAyB;AACzB,4CAAyB;AACzB,4CAA0B;AAC1B,4CAA0B;AAC1B,4CAAsC","sources":["packages/column-views/src/column.module.sass"],"sourcesContent":[".column-container, body:global(.light-mode) .column-container\n --column-background-color: var(--background-color, #fff)\n --column-stroke-color: var(--text-emphasized-color, #000)\n --column-text-color: var(--text-emphasized-color, #000)\n\n/* We have to duplicate the dark mode styles here\n because we want to set them either if the preferred\n color scheme is dark OR if dark mode is explicitly enabled.\n If dark mode is explicitly enabled, we want to override\n the media query. */\n@media (prefers-color-scheme: dark)\n body:not(:global(.light-mode)) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-emphasized-color, #fff)\n --column-text-color: var(--text-emphasized-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n svg pattern image\n filter: invert(100%)\n\nbody:global(.dark-mode) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-emphasized-color, #fff)\n --column-text-color: var(--text-emphasized-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n svg pattern image\n filter: invert(100%)\n\n.column-container :global\n .column\n display: flex\n flex-direction: row\n position: relative\n height: fit-content\n\n .unit\n stroke: var(--column-stroke-color)\n stroke-width: 1px\n\n .selection-overlay\n fill: var(--selection-overlay-color, red)\n fill-opacity: var(--selection-overlay-opacity, 0.5)\n\n g.lithology-column use.frame\n stroke: var(--column-stroke-color)\n stroke-width: 1.5px !important\n pointer-events: none\n\n.column-container :global .unit-label\n text-align: center\n\n.column-container :global .col-note-label\n font-size: 10px\n line-height: 9px\n border-left: none !important\n margin: 1px 0\n\n.column-container :global g.height-range\n display: none\n\n.column-container :global .note-inner\n border: none\n padding: 1px\n\n.column-container :global .frame rect\n fill: transparent\n\n.column-container :global .default-buttons\n width: 100%\n margin: 0 -10px\n\n.column-container :global div.section\n display: flex\n flex-direction: row\n\n.column-container :global .section .divisions .unit\n cursor: pointer\n\n.column-container :global(.timescale)\n width: calc(calc(1.5em + 1.5px) * var(--timescale-level-count, 4))\n --timescale-level-size: 1.5em\n\n.timescale-column\n position: relative\n\n.section-main\n position: relative\n margin-bottom: -4px\n\n.section-units-container\n position: relative\n\n.main-column\n position: relative\n\n.unconformity-labels\n position: absolute\n top: 0\n left: 0\n pointer-events: none\n\n\n.unconformity\n text-align: center\n position: absolute\n top: 0px\n display: flex\n justify-content: center\n align-items: center\n font-size: 0.8em\n &.giga\n font-weight: 800\n font-size: 1em\n &.mega\n font-weight: 600\n font-weight: 700\n font-size: 0.9em\n &.large\n font-weight: 600\n &.small\n font-weight: 300\n\n\n.unconformity-text\n width: var(--column-width)\n color: var(--column-stroke-color)\n --unit-font-style: normal\n\n\n"],"names":[],"version":3,"file":"column-views.4637f4ce.js.map"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"","sources":[],"sourcesContent":[],"names":[],"version":3,"file":"column-views.494447ef.css.map"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
|
|
2
|
+
function $parcel$export(e, n, v, s) {
|
|
3
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
4
|
+
}
|
|
5
|
+
var $7f23b6ab84665f08$exports = {};
|
|
6
|
+
|
|
7
|
+
$parcel$export($7f23b6ab84665f08$exports, "normalize-link", () => $7f23b6ab84665f08$export$beffb10c97c944d, (v) => $7f23b6ab84665f08$export$beffb10c97c944d = v);
|
|
8
|
+
$parcel$export($7f23b6ab84665f08$exports, "prevalent-taxa", () => $7f23b6ab84665f08$export$22b95a995484f07f, (v) => $7f23b6ab84665f08$export$22b95a995484f07f = v);
|
|
9
|
+
$parcel$export($7f23b6ab84665f08$exports, "prevalent-taxa-container", () => $7f23b6ab84665f08$export$3c99c6e95100ecf2, (v) => $7f23b6ab84665f08$export$3c99c6e95100ecf2 = v);
|
|
10
|
+
$parcel$export($7f23b6ab84665f08$exports, "prevalent-taxa-row", () => $7f23b6ab84665f08$export$5d249fafdf0c4587, (v) => $7f23b6ab84665f08$export$5d249fafdf0c4587 = v);
|
|
11
|
+
$parcel$export($7f23b6ab84665f08$exports, "prevalent-taxa-title", () => $7f23b6ab84665f08$export$8da08e686490cce2, (v) => $7f23b6ab84665f08$export$8da08e686490cce2 = v);
|
|
12
|
+
$parcel$export($7f23b6ab84665f08$exports, "row", () => $7f23b6ab84665f08$export$120ff0929b202a6d, (v) => $7f23b6ab84665f08$export$120ff0929b202a6d = v);
|
|
13
|
+
var $7f23b6ab84665f08$export$beffb10c97c944d;
|
|
14
|
+
var $7f23b6ab84665f08$export$22b95a995484f07f;
|
|
15
|
+
var $7f23b6ab84665f08$export$3c99c6e95100ecf2;
|
|
16
|
+
var $7f23b6ab84665f08$export$5d249fafdf0c4587;
|
|
17
|
+
var $7f23b6ab84665f08$export$8da08e686490cce2;
|
|
18
|
+
var $7f23b6ab84665f08$export$120ff0929b202a6d;
|
|
19
|
+
$7f23b6ab84665f08$export$beffb10c97c944d = `vqELDq_normalize-link`;
|
|
20
|
+
$7f23b6ab84665f08$export$22b95a995484f07f = `vqELDq_prevalent-taxa`;
|
|
21
|
+
$7f23b6ab84665f08$export$3c99c6e95100ecf2 = `vqELDq_prevalent-taxa-container`;
|
|
22
|
+
$7f23b6ab84665f08$export$5d249fafdf0c4587 = `vqELDq_prevalent-taxa-row`;
|
|
23
|
+
$7f23b6ab84665f08$export$8da08e686490cce2 = `vqELDq_prevalent-taxa-title`;
|
|
24
|
+
$7f23b6ab84665f08$export$120ff0929b202a6d = `vqELDq_row`;
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
export {$7f23b6ab84665f08$exports as default};
|
|
28
|
+
//# sourceMappingURL=column-views.4950ea28.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AALA,2CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAA6C,CAAC,+BAA+B,CAAC;AAC9E,4CAAuC,CAAC,yBAAyB,CAAC;AAClE,4CAAyC,CAAC,2BAA2B,CAAC;AACtE,4CAAwB,CAAC,UAAU,CAAC","sources":["packages/data-components/src/components/prevalent-taxa/taxa.module.scss"],"sourcesContent":[".prevalent-taxa-row {\n background-color: #999999;\n padding: 15px;\n margin-top: 20px;\n height: 90px;\n}\n\n.prevalent-taxa-container {\n text-align: center;\n display: table;\n height: 100%;\n position: relative;\n min-height: 1px;\n padding-left: 15px;\n padding-right: 15px;\n}\n\n.row {\n display: flex;\n justify-content: space-between;\n}\n\n.prevalent-taxa-container:first-of-type {\n border-right: 1px solid whitesmoke;\n}\n\n.prevalent-taxa {\n display: table-cell;\n vertical-align: middle;\n}\n\n.prevalent-taxa > img {\n filter: invert(1);\n -webkit-filter: invert(1);\n -ms-filter: \"progid:DXImageTransform.Microsoft.BasicImage(invert=1)\";\n height: 35px;\n}\n.prevalent-taxa > p {\n color: #f5f5f5;\n font-size: 0.8em;\n font-weight: 200;\n margin-top: 5px;\n}\n\n#prevalent-taxa-title {\n color: #f5f5f5;\n font-size: 1.2em;\n margin-bottom: 0;\n}\n\n.normalize-link {\n color: inherit;\n}\n.normalize-link:hover {\n color: inherit;\n}\n"],"names":[],"version":3,"file":"column-views.4950ea28.js.map"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {ensureArray as $b6657fba8924a702$export$d0c8ecbd4ed8940c, getUnitHeightRange as $b6657fba8924a702$export$70e712e2ac0237a} from "./column-views.39657bbf.js";
|
|
2
2
|
import {ColumnAxisType as $egi9E$ColumnAxisType} from "@macrostrat/column-components";
|
|
3
3
|
import {scaleLinear as $egi9E$scaleLinear} from "d3-scale";
|
|
4
4
|
|
|
@@ -153,7 +153,7 @@ function $728f6cf6c12cd490$export$3ada7641926a616d(sections, interpolateUnconfor
|
|
|
153
153
|
/** Create a scale that works across multiple packages */ // Get surfaces at which scale breaks
|
|
154
154
|
let scaleBreaks = [];
|
|
155
155
|
for (const section of sections){
|
|
156
|
-
const { pixelHeight: pixelHeight,
|
|
156
|
+
const { pixelHeight: pixelHeight, offset: offset, domain: domain } = section.scaleInfo;
|
|
157
157
|
scaleBreaks.push([
|
|
158
158
|
domain[1],
|
|
159
159
|
offset
|
|
@@ -165,21 +165,52 @@ function $728f6cf6c12cd490$export$3ada7641926a616d(sections, interpolateUnconfor
|
|
|
165
165
|
}
|
|
166
166
|
// Sort the scale breaks by age
|
|
167
167
|
scaleBreaks.sort((a, b)=>a[0] - b[0]);
|
|
168
|
-
|
|
169
|
-
/** Given an age, find the corresponding pixel position */ // Iterate through the sections to find the correct one
|
|
168
|
+
const scale = (age)=>{
|
|
170
169
|
// Accumulate scale breaks and pixel height
|
|
171
|
-
let
|
|
172
|
-
let pixelScale = 0;
|
|
170
|
+
let lastHeight = 0;
|
|
173
171
|
let lastAge = null;
|
|
174
|
-
for (const [age1, height] of scaleBreaks)
|
|
175
|
-
if (
|
|
176
|
-
|
|
177
|
-
return
|
|
172
|
+
for (const [age1, height] of scaleBreaks){
|
|
173
|
+
if (age <= age1) {
|
|
174
|
+
let deltaAge = age1 - lastAge;
|
|
175
|
+
if (deltaAge === 0) // If the age is exactly at a scale break, return the height at that break
|
|
176
|
+
return height;
|
|
177
|
+
let pixelScale = (height - lastHeight) / deltaAge;
|
|
178
|
+
return lastHeight + (age - lastAge) * pixelScale;
|
|
178
179
|
}
|
|
179
|
-
lastAge =
|
|
180
|
-
|
|
180
|
+
lastAge = age1;
|
|
181
|
+
lastHeight = height;
|
|
181
182
|
}
|
|
182
183
|
};
|
|
184
|
+
scale.copy = ()=>{
|
|
185
|
+
return $728f6cf6c12cd490$export$3ada7641926a616d(sections, interpolateUnconformities);
|
|
186
|
+
};
|
|
187
|
+
scale.domain = ()=>{
|
|
188
|
+
/** Return the domain of the scale */ const firstSection = sections[0].scaleInfo.domain;
|
|
189
|
+
const lastSection = sections[sections.length - 1].scaleInfo.domain;
|
|
190
|
+
if (firstSection[0] < lastSection[0]) return [
|
|
191
|
+
Math.min(...firstSection),
|
|
192
|
+
Math.max(...lastSection)
|
|
193
|
+
];
|
|
194
|
+
else // Catches "normal" axes like height
|
|
195
|
+
return [
|
|
196
|
+
Math.max(...firstSection),
|
|
197
|
+
Math.min(...lastSection)
|
|
198
|
+
];
|
|
199
|
+
};
|
|
200
|
+
scale.invert = (pixelHeight)=>{
|
|
201
|
+
/** Invert the scale to get the age at a given pixel height */ // Iterate through the sections to find the correct one
|
|
202
|
+
let lastAge = null;
|
|
203
|
+
for (const section of sections){
|
|
204
|
+
const { pixelHeight: sectionHeight, pixelScale: pixelScale, offset: offset, domain: domain } = section.scaleInfo;
|
|
205
|
+
if (pixelHeight >= offset && pixelHeight <= offset + sectionHeight && pixelScale > 0) {
|
|
206
|
+
const age = domain[1] + (pixelHeight - offset) / pixelScale;
|
|
207
|
+
return age;
|
|
208
|
+
}
|
|
209
|
+
lastAge = domain[1];
|
|
210
|
+
}
|
|
211
|
+
return null;
|
|
212
|
+
};
|
|
213
|
+
return scale;
|
|
183
214
|
}
|
|
184
215
|
function $728f6cf6c12cd490$export$edbf01b435c75274(sections, threshold, opts) {
|
|
185
216
|
const newSections = [];
|
|
@@ -219,4 +250,4 @@ function $728f6cf6c12cd490$export$edbf01b435c75274(sections, threshold, opts) {
|
|
|
219
250
|
|
|
220
251
|
|
|
221
252
|
export {$728f6cf6c12cd490$export$e7184dd8bb3302ed as buildCompositeScaleInfo, $728f6cf6c12cd490$export$d6235b492bceb8c5 as createPackageScale, $728f6cf6c12cd490$export$67442a0f5bef147b as finalizeSectionHeights, $728f6cf6c12cd490$export$7d3f3129a1a4b84e as computeSectionHeights, $728f6cf6c12cd490$export$3ada7641926a616d as createCompositeScale, $728f6cf6c12cd490$export$edbf01b435c75274 as collapseUnconformitiesByPixelHeight};
|
|
222
|
-
//# sourceMappingURL=column-views.
|
|
253
|
+
//# sourceMappingURL=column-views.4ab0ec82.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["packages/column-views/src/prepare-units/composite-scale.ts"],"sourcesContent":["import type { ExtUnit, SectionInfo } from \"./helpers\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { ensureArray, getUnitHeightRange } from \"./utils\";\nimport { ScaleLinear, scaleLinear } from \"d3-scale\";\nimport { UnitLong } from \"@macrostrat/api-types\";\n\nexport interface ColumnHeightScaleOptions {\n /** A fixed pixel scale to use for the section (pixels per Myr) */\n pixelScale?: number;\n /** The target height of a constituent unit in pixels, for dynamic\n * scale generation */\n targetUnitHeight?: number;\n /** Min height of a section in pixels. Will override minPixelScale in some cases. */\n minSectionHeight?: number;\n /** The minimum pixel scale to use for the section (pixels per Myr). This is mostly\n * needed because small sections (<1-2 units) don't necessarily have space to comfortably\n * render two axis labels */\n minPixelScale?: number;\n // Axis scale type\n axisType?: ColumnAxisType;\n // Unconformity height in pixels\n unconformityHeight?: number;\n // Whether to collapse unconformities that are less than a height threshold\n collapseSmallUnconformities?: boolean | number;\n}\n\nexport interface SectionScaleOptions extends ColumnHeightScaleOptions {\n axisType: ColumnAxisType;\n domain: [number, number];\n}\n\nexport interface LinearScaleDef {\n domain: [number, number];\n pixelScale: number;\n}\n\n/** Output of a section scale. For now, this assumes that the\n * mapping is linear, but it could be extended to support arbitrary\n * scale functions.\n */\nexport interface PackageScaleInfo extends LinearScaleDef {\n pixelHeight: number;\n // TODO: add a function\n scale: ScaleLinear<number, number>;\n}\n\nexport type PackageScaleLayoutData = PackageScaleInfo & {\n // A unique key for the section to use in React\n key: string;\n offset: number;\n // How much to\n paddingTop: number;\n};\n\nexport type PackageLayoutData<T extends UnitLong = ExtUnit> = SectionInfo<T> & {\n scaleInfo: PackageScaleLayoutData;\n // A unique key for the section to use in React\n key: string;\n};\n\nexport interface CompositeScaleData {\n totalHeight: number;\n sections: PackageScaleLayoutData[];\n}\n\nexport interface ColumnScaleOptions extends ColumnHeightScaleOptions {\n axisType: ColumnAxisType;\n unconformityHeight: number;\n}\n\n// Composite scale information augmented with units in each package\n\nexport interface CompositeColumnData<T extends UnitLong = ExtUnit>\n extends Omit<CompositeScaleData, \"sections\"> {\n sections: PackageLayoutData<T>[];\n}\n\nexport function buildCompositeScaleInfo(\n inputScales: LinearScaleDef[],\n unconformityHeight: number,\n): CompositeScaleData {\n /** Finalize the heights of sections, including the heights of unconformities\n * between them.\n */\n\n let totalHeight = unconformityHeight / 2;\n let lastSectionTopHeight = 0;\n\n const packages2: PackageScaleLayoutData[] = [];\n for (const group of inputScales) {\n const { domain, pixelScale } = group;\n const [b_age, t_age] = domain;\n const key = `package-${b_age}-${t_age}`;\n\n packages2.push({\n ...createPackageScale(group, totalHeight),\n key,\n offset: totalHeight,\n // Unconformity height above this particular section\n paddingTop: totalHeight - lastSectionTopHeight,\n });\n const pixelHeight = pixelScale * Math.abs(b_age - t_age);\n lastSectionTopHeight = totalHeight + pixelHeight;\n totalHeight = lastSectionTopHeight + unconformityHeight;\n }\n totalHeight += unconformityHeight / 2;\n return {\n totalHeight,\n sections: packages2,\n };\n}\n\nexport function finalizeSectionHeights<T extends UnitLong>(\n sections: SectionInfoWithScale<T>[],\n unconformityHeight: number,\n): CompositeColumnData<T> {\n /** Finalize the heights of sections, including the heights of unconformities\n * between them.\n */\n\n const sectionScales = sections.map((d) => d.scaleInfo);\n const { totalHeight, sections: packages } = buildCompositeScaleInfo(\n sectionScales,\n unconformityHeight,\n );\n\n // This could perhaps be simplified.\n const sections1: PackageLayoutData<T>[] = [];\n for (const i in sections) {\n const group = sections[i];\n const scaleInfo = packages[i];\n sections1.push({\n ...group,\n key: scaleInfo.key,\n scaleInfo,\n });\n }\n return {\n totalHeight,\n sections: sections1,\n };\n}\n\ninterface SectionInfoWithScale<T extends UnitLong = ExtUnit>\n extends SectionInfo<T> {\n scaleInfo: PackageScaleInfo;\n}\n\nexport function computeSectionHeights<T extends UnitLong>(\n sections: SectionInfo<T>[],\n opts: ColumnScaleOptions,\n): SectionInfoWithScale<T>[] {\n return sections.map((group) => {\n return addScaleToSection<T>(group, opts);\n });\n}\n\nfunction addScaleToSection<T extends UnitLong = ExtUnit>(\n group: SectionInfo<T>,\n opts: ColumnScaleOptions,\n): SectionInfoWithScale<T> {\n const { t_age, b_age, units } = group;\n let _range = null;\n // if t_age and b_age are set for a group, use them to define the range...\n if (t_age != null && b_age != null && opts.axisType == ColumnAxisType.AGE) {\n _range = [b_age, t_age];\n }\n\n const scaleInfo = buildSectionScale<T>(units, {\n ...opts,\n domain: _range,\n });\n\n return {\n ...group,\n scaleInfo,\n };\n}\n\nfunction buildSectionScale<T extends UnitLong>(\n data: T[],\n opts: SectionScaleOptions,\n): PackageScaleInfo {\n const {\n targetUnitHeight = 20,\n minPixelScale = 0.2,\n axisType,\n minSectionHeight,\n } = opts;\n const domain = opts.domain ?? findSectionHeightRange(data, axisType);\n\n const dAge = Math.abs(domain[0] - domain[1]);\n\n let _pixelScale = opts.pixelScale;\n if (_pixelScale == null) {\n const avgAgeRange = findAverageUnitHeight(data, axisType);\n // Get pixel height necessary to render average unit at target height\n _pixelScale = Math.max(targetUnitHeight / avgAgeRange, minPixelScale);\n\n // OLD METHOD that cares about overall section height vs. individual unit height\n // 0.2 pixel per myr is the floor scale\n //const targetHeight = targetUnitHeight * data.length;\n // 1 pixel per myr is the floor scale\n //_pixelScale = Math.max(targetHeight / dAge, minPixelScale);\n }\n\n let height = dAge * _pixelScale;\n\n // If height is less than minSectionHeight, set it to minSectionHeight\n const _minSectionHeight = minSectionHeight ?? targetUnitHeight ?? 0;\n height = Math.max(height, _minSectionHeight);\n _pixelScale = height / dAge;\n\n return createPackageScale({ domain, pixelScale: _pixelScale }, 0);\n}\n\nexport function createPackageScale(\n def: LinearScaleDef,\n offset: number = 0,\n): PackageScaleInfo {\n /** Build a section scale */\n // Domain should be oriented from bottom to top, but scale is oriented from top to bottom\n const { domain, pixelScale } = def;\n const pixelHeight = pixelScale * Math.abs(domain[0] - domain[1]);\n return {\n domain,\n pixelScale,\n pixelHeight,\n scale: scaleLinear()\n .domain([domain[1], domain[0]])\n .range([offset, pixelHeight + offset]),\n };\n}\n\nfunction findSectionHeightRange(\n data: UnitLong[],\n axisType: ColumnAxisType,\n): [number, number] {\n if (axisType == null) {\n throw new Error(\"Axis type is not set\");\n }\n if (axisType === ColumnAxisType.AGE) {\n const t_age = Math.min(...data.map((d) => d.t_age));\n const b_age = Math.max(...data.map((d) => d.b_age));\n return [b_age, t_age];\n } else if (\n axisType == ColumnAxisType.DEPTH ||\n axisType == ColumnAxisType.ORDINAL\n ) {\n const t_pos = Math.min(...data.map((d) => d.t_pos));\n const b_pos = Math.max(...data.map((d) => d.b_pos));\n return [b_pos, t_pos];\n } else if (axisType == ColumnAxisType.HEIGHT) {\n const t_pos = Math.max(...data.map((d) => d.t_pos));\n const b_pos = Math.min(...data.map((d) => d.b_pos));\n return [b_pos, t_pos];\n }\n}\n\nfunction findAverageUnitHeight(\n data: UnitLong[],\n axisType: ColumnAxisType,\n): number {\n const unitHeights = data.map((d) => {\n const [b_pos, t_pos] = getUnitHeightRange(d, axisType);\n return Math.abs(b_pos - t_pos);\n });\n return unitHeights.reduce((a, b) => a + b, 0) / unitHeights.length;\n}\n\nexport interface CompositeColumnScale {\n (age: number): number | null;\n copy(): CompositeColumnScale;\n domain(): [number, number];\n invert(pixelHeight: number): number | null;\n}\n\nexport function createCompositeScale(\n sections: PackageLayoutData[],\n interpolateUnconformities: boolean = false,\n): CompositeColumnScale {\n /** Create a scale that works across multiple packages */\n // Get surfaces at which scale breaks\n let scaleBreaks: [number, number][] = [];\n for (const section of sections) {\n const { pixelHeight, offset, domain } = section.scaleInfo;\n\n scaleBreaks.push([domain[1], offset]);\n scaleBreaks.push([domain[0], offset + pixelHeight]);\n }\n // Sort the scale breaks by age\n scaleBreaks.sort((a, b) => a[0] - b[0]);\n\n const scale = (age) => {\n // Accumulate scale breaks and pixel height\n let lastHeight = 0;\n let lastAge = null;\n for (const [age1, height] of scaleBreaks) {\n if (age <= age1) {\n let deltaAge = age1 - lastAge;\n if (deltaAge === 0) {\n // If the age is exactly at a scale break, return the height at that break\n return height;\n }\n let pixelScale = (height - lastHeight) / deltaAge;\n return lastHeight + (age - lastAge) * pixelScale;\n }\n lastAge = age1;\n lastHeight = height;\n }\n };\n\n scale.copy = () => {\n return createCompositeScale(sections, interpolateUnconformities);\n };\n\n scale.domain = () => {\n /** Return the domain of the scale */\n const firstSection = sections[0].scaleInfo.domain;\n const lastSection = sections[sections.length - 1].scaleInfo.domain;\n if (firstSection[0] < lastSection[0]) {\n return [Math.min(...firstSection), Math.max(...lastSection)];\n } else {\n // Catches \"normal\" axes like height\n return [Math.max(...firstSection), Math.min(...lastSection)];\n }\n };\n\n scale.invert = (pixelHeight) => {\n /** Invert the scale to get the age at a given pixel height */\n // Iterate through the sections to find the correct one\n let lastAge = null;\n for (const section of sections) {\n const {\n pixelHeight: sectionHeight,\n pixelScale,\n offset,\n domain,\n } = section.scaleInfo;\n if (\n pixelHeight >= offset &&\n pixelHeight <= offset + sectionHeight &&\n pixelScale > 0\n ) {\n const age = domain[1] + (pixelHeight - offset) / pixelScale;\n return age;\n }\n lastAge = domain[1];\n }\n return null;\n };\n\n return scale as CompositeColumnScale;\n}\n\n/** Collapse sections separated by unconformities that are smaller than a given pixel height. */\nexport function collapseUnconformitiesByPixelHeight<T extends UnitLong>(\n sections: SectionInfoWithScale<T>[],\n threshold: number,\n opts: ColumnScaleOptions,\n): SectionInfoWithScale<T>[] {\n const newSections = [];\n let currentSection: SectionInfoWithScale<T> | null = null;\n for (const nextSection of sections) {\n if (currentSection == null) {\n currentSection = nextSection;\n continue;\n }\n const dAge = Math.abs(nextSection.t_age - currentSection.b_age);\n const pxHeight =\n dAge *\n Math.max(\n currentSection.scaleInfo.pixelScale,\n nextSection.scaleInfo.pixelScale,\n );\n if (pxHeight < threshold) {\n // We need to merge the sections\n const compositeSection0: SectionInfo<T> = {\n units: [...currentSection.units, ...nextSection.units],\n section_id: [\n ...ensureArray(currentSection.section_id),\n ...ensureArray(nextSection.section_id),\n ],\n t_age: Math.min(currentSection.t_age, nextSection.t_age),\n b_age: Math.max(currentSection.b_age, nextSection.b_age),\n };\n\n const compositeSection = addScaleToSection(compositeSection0, opts);\n currentSection = compositeSection;\n } else {\n // We need to keep the section\n newSections.push(currentSection);\n currentSection = nextSection;\n }\n }\n if (currentSection != null) {\n newSections.push(currentSection);\n }\n\n return newSections;\n}\n"],"names":[],"version":3,"file":"column-views.4ab0ec82.js.map"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./column-views.e40b8bfb.css";
|
|
2
2
|
import $3vk6I$columnviews3465c8adjs from "./column-views.3465c8ad.js";
|
|
3
|
-
import {
|
|
3
|
+
import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratUnits as $d5074f164411387e$export$6fb40844db555b2} from "./column-views.1e055ed5.js";
|
|
4
4
|
import $3vk6I$macrostrathyper from "@macrostrat/hyper";
|
|
5
5
|
import {useAPIResult as $3vk6I$useAPIResult} from "@macrostrat/ui-components";
|
|
6
6
|
|
|
@@ -54,4 +54,4 @@ function $1a65c216af27346a$export$1d1ebe9df97e8db() {
|
|
|
54
54
|
|
|
55
55
|
|
|
56
56
|
export {$1a65c216af27346a$export$1d1ebe9df97e8db as BoundaryAgeModelOverlay};
|
|
57
|
-
//# sourceMappingURL=column-views.
|
|
57
|
+
//# sourceMappingURL=column-views.4d22c21c.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;;AAMH,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAoBrB,SAAS;IACd,MAAM,SAAS,CAAA,GAAA,wCAAiB,KAAK,CAAC,EAAE,EAAE;IAC1C,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAE9B,MAAM,WAAW,CAAA,GAAA,mBAAW,EAC1B,2CACA;gBAAE;IAAO,GACT,CAAC,MAAQ,IAAI,OAAO,CAAC,IAAI;IAG3B,IAAI,YAAY,MACd,OAAO;IAGT,OAAO,wBACL,0BACA,SAAS,GAAG,CAAC,CAAC;QACZ,MAAM,SAAS,MAAM,QAAQ,SAAS;QAEtC,OAAO,wBAAE,kCAAkC;YACzC,KAAK,QAAQ,WAAW;YACxB,OAAO;gBAAE,KAAK,GAAG,OAAO,EAAE,CAAC;YAAC;QAC9B;IACF;AAEJ","sources":["packages/column-views/src/age-model-overlay.ts"],"sourcesContent":["/** 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\";\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://macrostrat.org/api/v2/age_model\",\n { col_id },\n (res) => res.success.data
|
|
1
|
+
{"mappings":";;;;;;;;;;AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;;AAMH,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAoBrB,SAAS;IACd,MAAM,SAAS,CAAA,GAAA,wCAAiB,KAAK,CAAC,EAAE,EAAE;IAC1C,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAE9B,MAAM,WAAW,CAAA,GAAA,mBAAW,EAC1B,2CACA;gBAAE;IAAO,GACT,CAAC,MAAQ,IAAI,OAAO,CAAC,IAAI;IAG3B,IAAI,YAAY,MACd,OAAO;IAGT,OAAO,wBACL,0BACA,SAAS,GAAG,CAAC,CAAC;QACZ,MAAM,SAAS,MAAM,QAAQ,SAAS;QAEtC,OAAO,wBAAE,kCAAkC;YACzC,KAAK,QAAQ,WAAW;YACxB,OAAO;gBAAE,KAAK,GAAG,OAAO,EAAE,CAAC;YAAC;QAC9B;IACF;AAEJ","sources":["packages/column-views/src/age-model-overlay.ts"],"sourcesContent":["/** 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\";\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://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"],"names":[],"version":3,"file":"column-views.4d22c21c.js.map"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {useColumnNavigationStore as $09486427d129f589$export$642c2b57c47ea41} from "./column-views.
|
|
2
|
-
import {
|
|
1
|
+
import {useColumnNavigationStore as $09486427d129f589$export$642c2b57c47ea41} from "./column-views.b9fe5176.js";
|
|
2
|
+
import {buildKeyMapping as $40b71acee908f16d$export$b3975a0f05980d25, buildTriangulation as $40b71acee908f16d$export$39cd73f2cb8dc4f7} from "./column-views.dc42f5d0.js";
|
|
3
3
|
import {useMemo as $1DDgQ$useMemo, useCallback as $1DDgQ$useCallback, useEffect as $1DDgQ$useEffect} from "react";
|
|
4
4
|
import {setGeoJSON as $1DDgQ$setGeoJSON, buildGeoJSONSource as $1DDgQ$buildGeoJSONSource} from "@macrostrat/mapbox-utils";
|
|
5
5
|
import {useMapRef as $1DDgQ$useMapRef, useMapStyleOperator as $1DDgQ$useMapStyleOperator} from "@macrostrat/mapbox-react";
|
|
@@ -109,4 +109,4 @@ function $ab1043903d5406ef$export$c613fba0aabeee13(color = "purple") {
|
|
|
109
109
|
|
|
110
110
|
|
|
111
111
|
export {$ab1043903d5406ef$export$8c41dd563753848 as ColumnKeyboardNavigation, $ab1043903d5406ef$export$c613fba0aabeee13 as buildKeyboardNavigationStyle};
|
|
112
|
-
//# sourceMappingURL=column-views.
|
|
112
|
+
//# sourceMappingURL=column-views.52a6eb47.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;AAaO,SAAS,yCAAyB,KAAuB;IAC9D,kEAAkE,GAClE,MAAM,qBAAE,oBAAoB,OAAO,GAAG;IACtC,MAAM,UAAU,CAAA,GAAA,wCAAuB,EAAE,CAAC,QAAU,MAAM,OAAO;IACjE,MAAM,SAAS,CAAA,GAAA,wCAAuB,EAAE,CAAC,QAAU,MAAM,cAAc;IACvE,MAAM,eAAe,CAAA,GAAA,wCAAuB,EAAE,CAAC,QAAU,MAAM,YAAY;IAE3E,MAAM,UAAU,CAAA,GAAA,cAAM,EAAE;QACtB,IAAI,CAAC,WAAW,QAAQ,MAAM,IAAI,GAAG,OAAO;QAC5C,OAAO,CAAA,GAAA,yCAAiB,EAAE;IAC5B,GAAG;QAAC;KAAQ;IAEZ,MAAM,SAAS,CAAA,GAAA,gBAAQ;IACvB,MAAM,MAAM,OAAO,OAAO;IAE1B,MAAM,aAAa,CAAA,GAAA,cAAM,EAAE;QACzB,IAAI,WAAW,QAAQ,WAAW,QAAQ,OAAO,MAAM,OAAO;QAE9D,MAAM,aAAa,CAAC;YAClB,MAAM,KAAK,IAAI,OAAO,CAAC;YACvB,OAAO;gBAAC,GAAG,CAAC;gBAAE,GAAG,CAAC;aAAC;QACrB;QAEA,MAAM,eAAe,QAAQ,SAAS,CACpC,CAAC,IAAM,EAAE,UAAU,CAAC,MAAM,IAAI;QAGhC,MAAM,YAAY,QAAQ,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa;QAC9D,OAAO,CAAA,GAAA,yCAAc,EACnB,WACA,QAAQ,SAAS,EACjB,cACA;IAEJ,GAAG;QAAC;QAAQ;QAAS;QAAS;KAAI;IAElC,MAAM,YAAY,CAAA,GAAA,kBAAU,EAC1B,CAAC;QACC,IAAI,cAAc,MAAM;QACxB,MAAM,eAAe,UAAU,CAAC,MAAM,KAAK,CAAC;QAC5C,IAAI,gBAAgB,MAAM;QAC1B,MAAM,cAAc;QACpB,MAAM,eAAe;QACrB,aAAa;QACb,aAAa,OAAO,CAAC,aAAa,CAAC,EAAE;QACrC,OAAO;IACT,GACA;QAAC;QAAY;KAAa;IAG5B,CAAA,GAAA,gBAAQ,EAAE;QACR,IAAI,OAAO,MAAM;QACjB,MAAM,SAAS,IAAI,SAAS;QAC5B,OAAO,gBAAgB,CAAC,WAAW;QACnC,OAAO;YACL,OAAO,mBAAmB,CAAC,WAAW;QACxC;IACF,GAAG;QAAC;QAAK;KAAU;IAEnB,CAAA,GAAA,0BAAkB,EAChB,CAAC;QACC,IAAI,WAAW,QAAQ,CAAC,mBAAmB;QAC3C,MAAM,YAAE,QAAQ,EAAE,GAAG,QAAQ,GAAG,CAAC,KAAK;QAEtC,CAAA,GAAA,iBAAS,EAAE,KAAK,gBAAgB;YAC9B,MAAM;sBACN;QACF;IACF,GACA;QAAC;QAAS;KAAkB;IAG9B,qCAAqC;IACrC,6DAA6D;IAE7D,OAAO;AACT;AAEO,SAAS,0CAA6B,QAAgB,QAAQ;IACnE,OAAO;QACL,SAAS;YACP,gBAAgB,CAAA,GAAA,yBAAiB;QAEnC;QACA,QAAQ;YACN;gBACE,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,OAAO;oBACL,cAAc;oBACd,cAAc;gBAChB;YACF;YACA;gBACE,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,OAAO;oBACL,iBAAiB;oBACjB,gBAAgB;gBAClB;YACF;SACD;IACH;AACF","sources":["packages/column-views/src/maps/column-navigation/mapbox/keyboard-navigation.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo } from \"react\";\nimport { buildGeoJSONSource, setGeoJSON } from \"@macrostrat/mapbox-utils\";\nimport { useMapRef, useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport { useColumnNavigationStore } from \"./state\";\nimport {\n buildTriangulation,\n buildKeyMapping,\n} from \"../utils/keyboard-navigation\";\n\ninterface KeyboardNavProps {\n showTriangulation: boolean;\n}\n\nexport function ColumnKeyboardNavigation(props: KeyboardNavProps) {\n /** Keyboard navigation of columns using a Delaunay triangulation */\n const { showTriangulation = false } = props;\n const columns = useColumnNavigationStore((state) => state.columns);\n const col_id = useColumnNavigationStore((state) => state.selectedColumn);\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n\n const voronoi = useMemo(() => {\n if (!columns || columns.length == 0) return null;\n return buildTriangulation(columns);\n }, [columns]);\n\n const mapRef = useMapRef();\n const map = mapRef.current;\n\n const keyMapping = useMemo(() => {\n if (columns == null || voronoi == null || map == null) return null;\n\n const projection = (d) => {\n const pt = map.project(d);\n return [pt.x, pt.y];\n };\n\n const currentIndex = columns.findIndex(\n (d) => d.properties.col_id == col_id
|
|
1
|
+
{"mappings":";;;;;;;;;;;AAaO,SAAS,yCAAyB,KAAuB;IAC9D,kEAAkE,GAClE,MAAM,qBAAE,oBAAoB,OAAO,GAAG;IACtC,MAAM,UAAU,CAAA,GAAA,wCAAuB,EAAE,CAAC,QAAU,MAAM,OAAO;IACjE,MAAM,SAAS,CAAA,GAAA,wCAAuB,EAAE,CAAC,QAAU,MAAM,cAAc;IACvE,MAAM,eAAe,CAAA,GAAA,wCAAuB,EAAE,CAAC,QAAU,MAAM,YAAY;IAE3E,MAAM,UAAU,CAAA,GAAA,cAAM,EAAE;QACtB,IAAI,CAAC,WAAW,QAAQ,MAAM,IAAI,GAAG,OAAO;QAC5C,OAAO,CAAA,GAAA,yCAAiB,EAAE;IAC5B,GAAG;QAAC;KAAQ;IAEZ,MAAM,SAAS,CAAA,GAAA,gBAAQ;IACvB,MAAM,MAAM,OAAO,OAAO;IAE1B,MAAM,aAAa,CAAA,GAAA,cAAM,EAAE;QACzB,IAAI,WAAW,QAAQ,WAAW,QAAQ,OAAO,MAAM,OAAO;QAE9D,MAAM,aAAa,CAAC;YAClB,MAAM,KAAK,IAAI,OAAO,CAAC;YACvB,OAAO;gBAAC,GAAG,CAAC;gBAAE,GAAG,CAAC;aAAC;QACrB;QAEA,MAAM,eAAe,QAAQ,SAAS,CACpC,CAAC,IAAM,EAAE,UAAU,CAAC,MAAM,IAAI;QAGhC,MAAM,YAAY,QAAQ,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,aAAa;QAC9D,OAAO,CAAA,GAAA,yCAAc,EACnB,WACA,QAAQ,SAAS,EACjB,cACA;IAEJ,GAAG;QAAC;QAAQ;QAAS;QAAS;KAAI;IAElC,MAAM,YAAY,CAAA,GAAA,kBAAU,EAC1B,CAAC;QACC,IAAI,cAAc,MAAM;QACxB,MAAM,eAAe,UAAU,CAAC,MAAM,KAAK,CAAC;QAC5C,IAAI,gBAAgB,MAAM;QAC1B,MAAM,cAAc;QACpB,MAAM,eAAe;QACrB,aAAa;QACb,aAAa,OAAO,CAAC,aAAa,CAAC,EAAE;QACrC,OAAO;IACT,GACA;QAAC;QAAY;KAAa;IAG5B,CAAA,GAAA,gBAAQ,EAAE;QACR,IAAI,OAAO,MAAM;QACjB,MAAM,SAAS,IAAI,SAAS;QAC5B,OAAO,gBAAgB,CAAC,WAAW;QACnC,OAAO;YACL,OAAO,mBAAmB,CAAC,WAAW;QACxC;IACF,GAAG;QAAC;QAAK;KAAU;IAEnB,CAAA,GAAA,0BAAkB,EAChB,CAAC;QACC,IAAI,WAAW,QAAQ,CAAC,mBAAmB;QAC3C,MAAM,YAAE,QAAQ,EAAE,GAAG,QAAQ,GAAG,CAAC,KAAK;QAEtC,CAAA,GAAA,iBAAS,EAAE,KAAK,gBAAgB;YAC9B,MAAM;sBACN;QACF;IACF,GACA;QAAC;QAAS;KAAkB;IAG9B,qCAAqC;IACrC,6DAA6D;IAE7D,OAAO;AACT;AAEO,SAAS,0CAA6B,QAAgB,QAAQ;IACnE,OAAO;QACL,SAAS;YACP,gBAAgB,CAAA,GAAA,yBAAiB;QAEnC;QACA,QAAQ;YACN;gBACE,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,OAAO;oBACL,cAAc;oBACd,cAAc;gBAChB;YACF;YACA;gBACE,IAAI;gBACJ,MAAM;gBACN,QAAQ;gBACR,OAAO;oBACL,iBAAiB;oBACjB,gBAAgB;gBAClB;YACF;SACD;IACH;AACF","sources":["packages/column-views/src/maps/column-navigation/mapbox/keyboard-navigation.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo } from \"react\";\nimport { buildGeoJSONSource, setGeoJSON } from \"@macrostrat/mapbox-utils\";\nimport { useMapRef, useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport { useColumnNavigationStore } from \"./state\";\nimport {\n buildTriangulation,\n buildKeyMapping,\n} from \"../utils/keyboard-navigation\";\n\ninterface KeyboardNavProps {\n showTriangulation: boolean;\n}\n\nexport function ColumnKeyboardNavigation(props: KeyboardNavProps) {\n /** Keyboard navigation of columns using a Delaunay triangulation */\n const { showTriangulation = false } = props;\n const columns = useColumnNavigationStore((state) => state.columns);\n const col_id = useColumnNavigationStore((state) => state.selectedColumn);\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n\n const voronoi = useMemo(() => {\n if (!columns || columns.length == 0) return null;\n return buildTriangulation(columns);\n }, [columns]);\n\n const mapRef = useMapRef();\n const map = mapRef.current;\n\n const keyMapping = useMemo(() => {\n if (columns == null || voronoi == null || map == null) return null;\n\n const projection = (d) => {\n const pt = map.project(d);\n return [pt.x, pt.y];\n };\n\n const currentIndex = columns.findIndex(\n (d) => d.properties.col_id == col_id,\n );\n\n const neighbors = voronoi.tri.delaunay.neighbors[currentIndex];\n return buildKeyMapping(\n neighbors,\n voronoi.centroids,\n currentIndex,\n projection,\n );\n }, [col_id, columns, voronoi, map]);\n\n const onKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (keyMapping == null) return;\n const nextColumnIx = keyMapping[event.which];\n if (nextColumnIx == null) return;\n event.preventDefault();\n event.stopPropagation();\n // @ts-ignore\n selectColumn(columns[nextColumnIx].id);\n return false;\n },\n [keyMapping, selectColumn],\n );\n\n useEffect(() => {\n if (map == null) return;\n const canvas = map.getCanvas();\n canvas.addEventListener(\"keydown\", onKeyDown);\n return () => {\n canvas.removeEventListener(\"keydown\", onKeyDown);\n };\n }, [map, onKeyDown]);\n\n useMapStyleOperator(\n (map) => {\n if (voronoi == null || !showTriangulation) return;\n const { features } = voronoi.tri.links();\n\n setGeoJSON(map, \"column-links\", {\n type: \"FeatureCollection\",\n features,\n });\n },\n [voronoi, showTriangulation],\n );\n\n //if (neighbors == null) return null;\n //const neighborFeatures = neighbors.map((d) => features[d]);\n\n return null;\n}\n\nexport function buildKeyboardNavigationStyle(color: string = \"purple\") {\n return {\n sources: {\n \"column-links\": buildGeoJSONSource(),\n //neighbors: buildGeoJSONSource(),\n },\n layers: [\n {\n id: \"column-links\",\n type: \"line\",\n source: \"column-links\",\n paint: {\n \"line-color\": color,\n \"line-width\": 1.5,\n },\n },\n {\n id: \"column-centers\",\n type: \"circle\",\n source: \"column-links\",\n paint: {\n \"circle-radius\": 2,\n \"circle-color\": color,\n },\n },\n ],\n };\n}\n"],"names":[],"version":3,"file":"column-views.52a6eb47.js.map"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./column-views.16cc7a58.css";
|
|
2
2
|
import $bBNCV$columnviewsedf77621js from "./column-views.edf77621.js";
|
|
3
|
-
import {useSelectedUnit as $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da, useUnitSelectionStore as $4d5d1c15f39f6a14$export$b220b1d3591dc9e5} from "./column-views.
|
|
4
|
-
import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557} from "./column-views.
|
|
3
|
+
import {useSelectedUnit as $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da, useUnitSelectionStore as $4d5d1c15f39f6a14$export$b220b1d3591dc9e5} from "./column-views.1af9761e.js";
|
|
4
|
+
import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557} from "./column-views.66f823ba.js";
|
|
5
5
|
import $bBNCV$macrostrathyper from "@macrostrat/hyper";
|
|
6
6
|
import {Popover as $bBNCV$Popover} from "@blueprintjs/core";
|
|
7
7
|
|
|
@@ -63,4 +63,4 @@ function $a9bcb536274d1bf9$export$db1115efab13710d() {
|
|
|
63
63
|
|
|
64
64
|
|
|
65
65
|
export {$a9bcb536274d1bf9$export$6716aecc2c9afbe2 as UnitDetailsPopover, $a9bcb536274d1bf9$export$db1115efab13710d as UnitSelectionPopover};
|
|
66
|
-
//# sourceMappingURL=column-views.
|
|
66
|
+
//# sourceMappingURL=column-views.52b03330.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":";;;;;;;;;;;;;;;;AAMA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAErB,SAAS,0CAAmB,SACjC,KAAK,YACL,QAAQ,mBACR,kBAAkB,IAKnB;IACC,MAAM,UAAU,wBAAE,0CAAoB;IAEtC,OAAO,wBACL,oBACA;eACE;IACF,GACA,wBACE,CAAA,GAAA,cAAM,GACN,aAAa;IACb;iBACE;QACA,QAAQ;QACR,WAAW;QACX,UAAU;QACV,WAAW;YACT,iBAAiB;gBAAE,SAAS;oBAAE,SAAS;gBAAgB;YAAE;QAC3D;IACF,GACA,wBAAE;AAGR;AAEA,SAAS,yCAAmB,YAAE,QAAQ,EAAE;IACtC,OAAO,wBACL,OACA;QACE,SAAQ,CAAC;YACP,yCAAyC;YACzC,EAAE,eAAe;QACnB;IACF,GACA;AAEJ;AAEO,SAAS;IACd,MAAM,OAAO,CAAA,GAAA,yCAAc;IAC3B,MAAM,WAAW,CAAA,GAAA,yCAAoB,EAAE,CAAC,QAAU,MAAM,eAAe;IACvE,IAAI,QAAQ,MACV,OAAO;IAGT,OAAO,wBACL,8BACA,wBACE,2CACA;QACE,OAAO;YACL,UAAU;YACV,KAAK,UAAU,KAAK;YACpB,OAAO,UAAU,SAAS;YAC1B,MAAM,UAAU,KAAK;YACrB,QAAQ,UAAU,UAAU;QAC9B;IACF,GACA,wBAAE,CAAA,GAAA,yCAAe,GAAG;cAClB;QACA,0BAA0B;QAC1B,WAAW;IACb;AAGN","sources":["packages/column-views/src/unit-details/popover.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { Popover } from \"@blueprintjs/core\";\nimport styles from \"./popover.module.sass\";\nimport { useSelectedUnit, useUnitSelectionStore } from \"../units\";\nimport { UnitDetailsPanel } from \"./panel\";\n\nconst h = hyper.styled(styles);\n\nexport function UnitDetailsPopover({\n style,\n children,\n viewportPadding = 20,\n}: {\n style: object;\n viewportPadding?: number;\n children: React.ReactNode;\n}) {\n const content = h(InteractionBarrier, children);\n\n return h(\n \"div.popover-main\",\n {\n style,\n },\n h(\n Popover,\n // @ts-ignore\n {\n content,\n isOpen: true,\n usePortal: false,\n position: \"right\",\n modifiers: {\n preventOverflow: { options: { padding: viewportPadding } },\n },\n },\n h(\"span.popover-target\")
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;;;AAMA,MAAM,0BAAI,CAAA,GAAA,sBAAI,EAAE,MAAM,CAAC,CAAA,GAAA,uEAAK;AAErB,SAAS,0CAAmB,SACjC,KAAK,YACL,QAAQ,mBACR,kBAAkB,IAKnB;IACC,MAAM,UAAU,wBAAE,0CAAoB;IAEtC,OAAO,wBACL,oBACA;eACE;IACF,GACA,wBACE,CAAA,GAAA,cAAM,GACN,aAAa;IACb;iBACE;QACA,QAAQ;QACR,WAAW;QACX,UAAU;QACV,WAAW;YACT,iBAAiB;gBAAE,SAAS;oBAAE,SAAS;gBAAgB;YAAE;QAC3D;IACF,GACA,wBAAE;AAGR;AAEA,SAAS,yCAAmB,YAAE,QAAQ,EAAE;IACtC,OAAO,wBACL,OACA;QACE,SAAQ,CAAC;YACP,yCAAyC;YACzC,EAAE,eAAe;QACnB;IACF,GACA;AAEJ;AAEO,SAAS;IACd,MAAM,OAAO,CAAA,GAAA,yCAAc;IAC3B,MAAM,WAAW,CAAA,GAAA,yCAAoB,EAAE,CAAC,QAAU,MAAM,eAAe;IACvE,IAAI,QAAQ,MACV,OAAO;IAGT,OAAO,wBACL,8BACA,wBACE,2CACA;QACE,OAAO;YACL,UAAU;YACV,KAAK,UAAU,KAAK;YACpB,OAAO,UAAU,SAAS;YAC1B,MAAM,UAAU,KAAK;YACrB,QAAQ,UAAU,UAAU;QAC9B;IACF,GACA,wBAAE,CAAA,GAAA,yCAAe,GAAG;cAClB;QACA,0BAA0B;QAC1B,WAAW;IACb;AAGN","sources":["packages/column-views/src/unit-details/popover.ts"],"sourcesContent":["import hyper from \"@macrostrat/hyper\";\nimport { Popover } from \"@blueprintjs/core\";\nimport styles from \"./popover.module.sass\";\nimport { useSelectedUnit, useUnitSelectionStore } from \"../units\";\nimport { UnitDetailsPanel } from \"./panel\";\n\nconst h = hyper.styled(styles);\n\nexport function UnitDetailsPopover({\n style,\n children,\n viewportPadding = 20,\n}: {\n style: object;\n viewportPadding?: number;\n children: React.ReactNode;\n}) {\n const content = h(InteractionBarrier, children);\n\n return h(\n \"div.popover-main\",\n {\n style,\n },\n h(\n Popover,\n // @ts-ignore\n {\n content,\n isOpen: true,\n usePortal: false,\n position: \"right\",\n modifiers: {\n preventOverflow: { options: { padding: viewportPadding } },\n },\n },\n h(\"span.popover-target\"),\n ),\n );\n}\n\nfunction InteractionBarrier({ children }) {\n return h(\n \"div\",\n {\n onClick(e) {\n // Stop events from leaking to the parent\n e.stopPropagation();\n },\n },\n children,\n );\n}\n\nexport function UnitSelectionPopover() {\n const unit = useSelectedUnit();\n const position = useUnitSelectionStore((state) => state.overlayPosition);\n if (unit == null) {\n return null;\n }\n\n return h(\n \"div.unit-popover-container\",\n h(\n UnitDetailsPopover,\n {\n style: {\n position: \"absolute\",\n top: position?.y ?? 0,\n width: position?.width ?? 100,\n left: position?.x ?? 0,\n height: position?.height ?? 100,\n },\n },\n h(UnitDetailsPanel, {\n unit,\n showLithologyProportions: true,\n className: \"legend-panel\",\n }),\n ),\n );\n}\n"],"names":[],"version":3,"file":"column-views.52b03330.js.map"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
.VC2fja_fossil-collections {
|
|
2
|
+
border-left: 1px solid var(--column-stroke-color);
|
|
3
|
+
margin: 1px 0;
|
|
4
|
+
padding-left: .2em;
|
|
5
|
+
font-size: .9em;
|
|
6
|
+
list-style: none;
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
.VC2fja_fossil-collections li {
|
|
10
|
+
display: inline;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.VC2fja_fossil-collections li:not(:last-child):after {
|
|
14
|
+
content: ", ";
|
|
15
|
+
color: var(--secondary-color);
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.VC2fja_fossil-collections li.VC2fja_too-many {
|
|
19
|
+
color: var(--secondary-color);
|
|
20
|
+
font-style: italic;
|
|
21
|
+
}
|
|
22
|
+
/*# sourceMappingURL=column-views.57636733.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA;;;;;;;;AAME;;;;AAEE;;;;;AAGF","sources":["packages/column-views/src/facets/fossils/index.module.sass"],"sourcesContent":[".fossil-collections\n padding-left: 0.2em\n font-size: 0.9em\n list-style: none\n border-left: 1px solid var(--column-stroke-color)\n margin: 1px 0\n li\n display: inline\n &:not(:last-child):after\n content: \", \"\n color: var(--secondary-color)\n li.too-many\n color: var(--secondary-color)\n font-style: italic\n"],"names":[],"version":3,"file":"column-views.57636733.css.map"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.
|
|
1
|
+
import {ColoredUnitComponent as $4c8184c4a7317749$export$6012fd1584b5d0c0} from "./column-views.2ca34210.js";
|
|
2
|
+
import {UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1, UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, useUnitSelectionStore as $4d5d1c15f39f6a14$export$b220b1d3591dc9e5} from "./column-views.1af9761e.js";
|
|
3
|
+
import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.52b03330.js";
|
|
4
4
|
import "./column-views.338a7a83.css";
|
|
5
5
|
import $2d5zd$columnviews6a954628js from "./column-views.6a954628.js";
|
|
6
|
-
import {CompositeTimescaleCore as $7d0f52717c0de7e1$export$463f46772c64d403} from "./column-views.
|
|
7
|
-
import {buildCorrelationChartData as $2c6a8e6a98a077ae$export$7f21dc14b8199dc0, findLaterallyExtensiveUnits as $2c6a8e6a98a077ae$export$cc5d9b95e199a6de, splitStratIntoBoxes as $2c6a8e6a98a077ae$export$3e71a3125322d04b} from "./column-views.
|
|
8
|
-
import {CompositeAgeAxisCore as $43794af7643cdf40$export$ac30ca3cf5df959d} from "./column-views.
|
|
9
|
-
import {UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.
|
|
10
|
-
import {ColumnContainer as $2118f0266dc7e955$export$2194471aa3d52446} from "./column-views.
|
|
6
|
+
import {CompositeTimescaleCore as $7d0f52717c0de7e1$export$463f46772c64d403} from "./column-views.bb46641f.js";
|
|
7
|
+
import {buildCorrelationChartData as $2c6a8e6a98a077ae$export$7f21dc14b8199dc0, findLaterallyExtensiveUnits as $2c6a8e6a98a077ae$export$cc5d9b95e199a6de, splitStratIntoBoxes as $2c6a8e6a98a077ae$export$3e71a3125322d04b} from "./column-views.f08929e2.js";
|
|
8
|
+
import {CompositeAgeAxisCore as $43794af7643cdf40$export$ac30ca3cf5df959d} from "./column-views.8833218c.js";
|
|
9
|
+
import {UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.a91dde4a.js";
|
|
10
|
+
import {ColumnContainer as $2118f0266dc7e955$export$2194471aa3d52446} from "./column-views.91385fdc.js";
|
|
11
11
|
import $2d5zd$macrostrathyper from "@macrostrat/hyper";
|
|
12
12
|
import {useMemo as $2d5zd$useMemo, useRef as $2d5zd$useRef} from "react";
|
|
13
13
|
import {useInDarkMode as $2d5zd$useInDarkMode} from "@macrostrat/ui-components";
|
|
@@ -32,7 +32,7 @@ function $parcel$interopDefault(a) {
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
const $ed7dc56184962590$var$h = (0, $2d5zd$macrostrathyper).styled((0, ($parcel$interopDefault($2d5zd$columnviews6a954628js))));
|
|
35
|
-
function $ed7dc56184962590$export$9ebf875c09445bec({ data: data, columnSpacing: columnSpacing = 0, columnWidth: columnWidth = 130, unconformityLabels: unconformityLabels = true, showUnitPopover: showUnitPopover = true, selectedUnit: selectedUnit, onUnitSelected: onUnitSelected, ...scaleProps }) {
|
|
35
|
+
function $ed7dc56184962590$export$9ebf875c09445bec({ data: data, columnSpacing: columnSpacing = 0, columnWidth: columnWidth = 130, unconformityLabels: unconformityLabels = true, showUnitPopover: showUnitPopover = true, selectedUnit: selectedUnit, onUnitSelected: onUnitSelected, unitComponent: unitComponent, ...scaleProps }) {
|
|
36
36
|
const defaultScaleProps = {
|
|
37
37
|
targetUnitHeight: 10,
|
|
38
38
|
unconformityHeight: 60,
|
|
@@ -93,7 +93,8 @@ function $ed7dc56184962590$export$9ebf875c09445bec({ data: data, columnSpacing:
|
|
|
93
93
|
columnSpacing: columnSpacing,
|
|
94
94
|
offset: offset,
|
|
95
95
|
domain: domain,
|
|
96
|
-
pixelScale: pixelScale
|
|
96
|
+
pixelScale: pixelScale,
|
|
97
|
+
unitComponent: unitComponent
|
|
97
98
|
});
|
|
98
99
|
})),
|
|
99
100
|
$ed7dc56184962590$var$h.if(showUnitPopover)((0, $a9bcb536274d1bf9$export$db1115efab13710d)),
|
|
@@ -104,7 +105,7 @@ function $ed7dc56184962590$export$9ebf875c09445bec({ data: data, columnSpacing:
|
|
|
104
105
|
])
|
|
105
106
|
])));
|
|
106
107
|
}
|
|
107
|
-
function $ed7dc56184962590$var$Package({ columnData: columnData, columnSpacing: columnSpacing, columnWidth: columnWidth, offset: offset, domain: domain, pixelScale: pixelScale }) {
|
|
108
|
+
function $ed7dc56184962590$var$Package({ columnData: columnData, columnSpacing: columnSpacing, columnWidth: columnWidth, unitComponent: unitComponent, offset: offset, domain: domain, pixelScale: pixelScale }) {
|
|
108
109
|
return $ed7dc56184962590$var$h("g.package", {
|
|
109
110
|
transform: `translate(0 ${offset})`
|
|
110
111
|
}, [
|
|
@@ -114,6 +115,7 @@ function $ed7dc56184962590$var$Package({ columnData: columnData, columnSpacing:
|
|
|
114
115
|
columnData.map((data, i)=>{
|
|
115
116
|
return $ed7dc56184962590$var$h($ed7dc56184962590$var$Column, {
|
|
116
117
|
units: data.units,
|
|
118
|
+
unitComponent: unitComponent,
|
|
117
119
|
width: columnWidth,
|
|
118
120
|
key: i,
|
|
119
121
|
domain: domain,
|
|
@@ -125,7 +127,7 @@ function $ed7dc56184962590$var$Package({ columnData: columnData, columnSpacing:
|
|
|
125
127
|
]);
|
|
126
128
|
}
|
|
127
129
|
function $ed7dc56184962590$var$Column(props) {
|
|
128
|
-
const { units: units, width: width = 150, offsetLeft: offsetLeft, domain: domain, pixelScale: pixelScale } = props;
|
|
130
|
+
const { units: units, width: width = 150, offsetLeft: offsetLeft, domain: domain, pixelScale: pixelScale, unitComponent: unitComponent = (0, $4c8184c4a7317749$export$6012fd1584b5d0c0) } = props;
|
|
129
131
|
const columnWidth = width;
|
|
130
132
|
if (units.length == 0) return null;
|
|
131
133
|
return $ed7dc56184962590$var$h("g.section", {
|
|
@@ -137,10 +139,11 @@ function $ed7dc56184962590$var$Column(props) {
|
|
|
137
139
|
pixelsPerMeter: pixelScale,
|
|
138
140
|
axisType: (0, $2d5zd$ColumnAxisType).AGE
|
|
139
141
|
}, $ed7dc56184962590$var$h((0, $d254716a820e9c85$export$5d1cdfabe8dc8085), {
|
|
140
|
-
unitComponent:
|
|
142
|
+
unitComponent: unitComponent,
|
|
141
143
|
unitComponentProps: {
|
|
142
144
|
nColumns: 2,
|
|
143
|
-
width: columnWidth
|
|
145
|
+
width: columnWidth,
|
|
146
|
+
showLabel: false
|
|
144
147
|
}
|
|
145
148
|
})));
|
|
146
149
|
}
|
|
@@ -218,4 +221,4 @@ function $ed7dc56184962590$var$TimescaleColumn(props) {
|
|
|
218
221
|
|
|
219
222
|
|
|
220
223
|
export {$ed7dc56184962590$export$9ebf875c09445bec as CorrelationChart};
|
|
221
|
-
//# sourceMappingURL=column-views.
|
|
224
|
+
//# sourceMappingURL=column-views.59792b70.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["packages/column-views/src/correlation-chart/main.ts"],"sourcesContent":["/** Correlation chart */\nimport {\n UnitSelectionProvider,\n UnitKeyboardNavigation,\n useUnitSelectionStore,\n} from \"../units\";\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 { ExtUnit } from \"../prepare-units/helpers\";\nimport { ColumnContainer } from \"../column\";\nimport { ColumnData } from \"../data-provider\";\nimport { BaseUnit } from \"@macrostrat/api-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, key } = scaleInfo.packages[i];\n return h(Package, {\n columnData: pkg.columnData,\n key,\n columnWidth,\n columnSpacing,\n offset,\n domain,\n pixelScale,\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}) {\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 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}\n\nfunction Column(props: ColumnProps) {\n const {\n units,\n width = 150,\n offsetLeft,\n domain,\n pixelScale,\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 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":[],"version":3,"file":"column-views.59792b70.js.map"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {Columns as $93f116a6493b17c3$export$f02cc02ad0e0bba3, CurrentColumn as $93f116a6493b17c3$export$b9d912252344e099, MeasurementsLayer as $93f116a6493b17c3$export$2254347cd20e6080, ColumnFeatures as $93f116a6493b17c3$export$f177ff57c101017a, ColumnKeyboardNavigation as $93f116a6493b17c3$export$8c41dd563753848, ColumnCenters as $93f116a6493b17c3$export$4d8f6e6df85d9012} from "./column-views.
|
|
1
|
+
import {Columns as $93f116a6493b17c3$export$f02cc02ad0e0bba3, CurrentColumn as $93f116a6493b17c3$export$b9d912252344e099, MeasurementsLayer as $93f116a6493b17c3$export$2254347cd20e6080, ColumnFeatures as $93f116a6493b17c3$export$f177ff57c101017a, ColumnKeyboardNavigation as $93f116a6493b17c3$export$8c41dd563753848, ColumnCenters as $93f116a6493b17c3$export$4d8f6e6df85d9012} from "./column-views.6549388a.js";
|
|
2
2
|
import {useRef as $9RwS3$useRef} from "react";
|
|
3
3
|
import $9RwS3$macrostrathyper from "@macrostrat/hyper";
|
|
4
4
|
import {Globe as $9RwS3$Globe, LandLayer as $9RwS3$LandLayer} from "@macrostrat/svg-map-components";
|
|
@@ -56,7 +56,6 @@ function $e6046e00d2c8a163$export$9595c40c7a4c4f7b(props) {
|
|
|
56
56
|
];
|
|
57
57
|
// Override center if currentColumn is set
|
|
58
58
|
if (currentColumn != null) _center = (0, $9RwS3$geoCentroid)(currentColumn);
|
|
59
|
-
console.log(currentColumn);
|
|
60
59
|
return (0, $9RwS3$macrostrathyper)($e6046e00d2c8a163$export$c4313db718750a5a, {
|
|
61
60
|
center: _center,
|
|
62
61
|
style: style,
|
|
@@ -86,4 +85,4 @@ function $e6046e00d2c8a163$export$9595c40c7a4c4f7b(props) {
|
|
|
86
85
|
|
|
87
86
|
|
|
88
87
|
export {$e6046e00d2c8a163$export$c4313db718750a5a as ResizableMapFrame, $e6046e00d2c8a163$export$9595c40c7a4c4f7b as ColumnNavigationSVGMap, $93f116a6493b17c3$export$2254347cd20e6080 as MeasurementsLayer, $93f116a6493b17c3$export$f177ff57c101017a as ColumnFeatures, $93f116a6493b17c3$export$8c41dd563753848 as ColumnKeyboardNavigation, $93f116a6493b17c3$export$f02cc02ad0e0bba3 as Columns, $93f116a6493b17c3$export$4d8f6e6df85d9012 as ColumnCenters, $93f116a6493b17c3$export$b9d912252344e099 as CurrentColumn};
|
|
89
|
-
//# sourceMappingURL=column-views.
|
|
88
|
+
//# sourceMappingURL=column-views.59bb0cba.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;AAQO,SAAS,0CAAkB,KAAK;IACrC,MAAM,UAAE,MAAM,YAAE,QAAQ,SAAE,KAAK,UAAE,MAAM,aAAE,SAAS,aAAE,SAAS,EAAE,GAAG,MAAM,GACtE;IACF,IAAI,SAAE,KAAK,EAAE,GAAG;IAChB,MAAM,MAAM,CAAA,GAAA,aAAK,EAAE;IACnB,MAAM,KAAK,CAAA,GAAA,qBAAa,EAAE;IAC1B,MAAM,SAAE,KAAK,UAAE,MAAM,EAAE,GAAG,MAAM;QAAE,OAAO;QAAG,QAAQ;IAAE;IACtD,IAAI,SAAS,MACX,QAAQ,KAAK,GAAG,CAAC,OAAO,UAAU,IAAI;IAGxC,IAAI,kBAAkB;IAEtB,IAAI,WACF,kBAAkB;QAChB,MAAM,KAAK,GAAG,CAAC,OAAO;QACtB,IAAI,KAAK,GAAG,CAAC,OAAO;KACrB;IAGH,OAAO,CAAA,GAAA,sBAAA,EAAE,gBAAgB;aAAE;eAAK;mBAAO;IAAU,GAAG;QAClD,CAAA,GAAA,sBAAA,EACE,CAAA,GAAA,YAAI,GACJ;mBACE;oBACA;oBACA;oBACA;YACA,WAAW;uBACX;YACA,aAAa;6BACb;YACA,GAAG,IAAI;mBACP;QACF,GACA;YAAC,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,gBAAQ;YAAI;SAAS;KAE3B;AACH;AAKO,SAAS,0CAAuB,KAAK;IAC1C,MAAM,iBACJ,aAAa,oBACb,gBAAgB,YAChB,QAAQ,SACR,KAAK,UACL,SAAS,WACT,KAAK,aACL,SAAS,wBACT,uBAAuB,wBACvB,kBAAkB,eAClB,MAAM,EACN,GAAG,MACJ,GAAG;IAEJ,IAAI,UAA6B,UAAU;QAAC;QAAM;KAAG;IACrD,0CAA0C;IAC1C,IAAI,iBAAiB,MACnB,UAAU,CAAA,GAAA,kBAAU,EAAE;IAGxB,OAAO,CAAA,GAAA,sBAAA,EACL,2CACA;QAAE,QAAQ;eAAS;gBAAO;eAAQ;mBAAO;IAAU,GACnD;QACE;QACA,CAAA,GAAA,sBAAA,EAAE,CAAA,GAAA,yCAAM,GAAG;YACT,UAAU;YACV,QAAQ,eAAe,WAAW;6BAClC;YACA,GAAG,IAAI;QACT;QACA,CAAA,GAAA,sBAAA,EAAE,EAAE,CAAC,sBAAsB,CAAA,GAAA,yCAAM,GAAG;YAClC,UAAU;YACV,QAAQ,eAAe,WAAW;YAClC,aAAa;YACb,OAAO;YACP,GAAG,IAAI;QACT;QACA,CAAA,GAAA,sBAAA,EAAE,EAAE,CAAC,iBAAiB,MAAM,CAAA,GAAA,yCAAY,GAAG;YAAE,SAAS;QAAc;KACrE;AAEL","sources":["packages/column-views/src/maps/column-navigation/svg/index.ts"],"sourcesContent":["import { useRef } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { Globe, LandLayer } from \"@macrostrat/svg-map-components\";\nimport { geoCentroid } from \"d3-geo\";\nimport { useElementSize } from \"@macrostrat/ui-components\";\nimport { Columns, CurrentColumn } from \"./layers\";\nimport type { LngLatLike } from \"mapbox-gl\";\n\nexport function ResizableMapFrame(props) {\n const { center, children, style, margin, className, allowZoom, ...rest } =\n props;\n let { scale } = props;\n const ref = useRef(null);\n const sz = useElementSize(ref);\n const { width, height } = sz ?? { width: 0, height: 0 };\n if (scale == null) {\n scale = Math.min(width, height) + 2 * margin;\n }\n\n let zoomScaleExtent = null;\n\n if (allowZoom) {\n zoomScaleExtent = [\n 0.1 * Math.min(width, height),\n 2 * Math.max(width, height),\n ];\n }\n\n return h(\"div.map-area\", { ref, style, className }, [\n h(\n Globe,\n {\n width,\n height,\n margin,\n center,\n allowDrag: true,\n allowZoom,\n keepNorthUp: true,\n zoomScaleExtent,\n ...rest,\n scale,\n },\n [h(LandLayer), children],\n ),\n ]);\n}\n\ntype ColumnNavigationSVGMapProps = any;\nexport type { ColumnNavigationSVGMapProps };\n\nexport function ColumnNavigationSVGMap(props) {\n const {\n currentColumn,\n setCurrentColumn,\n children,\n style,\n margin = 10,\n scale,\n className,\n showInProcessColumns = false,\n showDebugLayers = false,\n center,\n ...rest\n } = props;\n\n let _center: LngLatLike | null = center ?? [-100, 38];\n // Override center if currentColumn is set\n if (currentColumn != null) {\n _center = geoCentroid(currentColumn);\n }\n\n return h(\n ResizableMapFrame,\n { center: _center, style, margin, scale, className },\n [\n children,\n h(Columns, {\n onChange: setCurrentColumn,\n col_id: currentColumn?.properties.col_id,\n showDebugLayers,\n ...rest,\n }),\n h.if(showInProcessColumns)(Columns, {\n onChange: setCurrentColumn,\n col_id: currentColumn?.properties.col_id,\n status_code: \"in process\",\n color: \"rgba(200,150,150, 0.5)\",\n ...rest,\n }),\n h.if(currentColumn != null)(CurrentColumn, { feature: currentColumn }),\n ],\n );\n}\n\nexport * from \"./layers\";\n"],"names":[],"version":3,"file":"column-views.59bb0cba.js.map"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {CorrelationChart as $ed7dc56184962590$export$9ebf875c09445bec} from "./column-views.
|
|
1
|
+
import {CorrelationChart as $ed7dc56184962590$export$9ebf875c09445bec} from "./column-views.59792b70.js";
|
|
2
2
|
import {parseLineFromString as $c491b6231216b7f9$export$77c3cc7a57c6db5f, stringifyLine as $c491b6231216b7f9$export$8c53992169ff5301} from "./column-views.beb54e95.js";
|
|
3
3
|
|
|
4
4
|
|
|
@@ -6,4 +6,4 @@ import {parseLineFromString as $c491b6231216b7f9$export$77c3cc7a57c6db5f, string
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
export {$ed7dc56184962590$export$9ebf875c09445bec as CorrelationChart, $c491b6231216b7f9$export$77c3cc7a57c6db5f as parseLineFromString, $c491b6231216b7f9$export$8c53992169ff5301 as stringifyLine};
|
|
9
|
-
//# sourceMappingURL=column-views.
|
|
9
|
+
//# sourceMappingURL=column-views.5ae1d963.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"","sources":["packages/column-views/src/correlation-chart/index.ts"],"sourcesContent":["export * from \"./main\";\nexport * from \"./hash-string\";\n"],"names":[],"version":3,"file":"column-views.
|
|
1
|
+
{"mappings":"","sources":["packages/column-views/src/correlation-chart/index.ts"],"sourcesContent":["export * from \"./main\";\nexport * from \"./hash-string\";\n"],"names":[],"version":3,"file":"column-views.5ae1d963.js.map"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/column-views/src/data-provider/fetch.ts"],"sourcesContent":["import {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n MacrostratRef,\n UnitLong,\n} from \"@macrostrat/api-types\";\nimport {\n addQueryString,\n joinURL,\n useAPIResult,\n} from \"@macrostrat/ui-components\";\nimport crossFetch from \"cross-fetch\";\nimport { feature } from \"topojson-client\";\nimport { geoArea } from \"d3-geo\";\n\nfunction defaultFetch(\n url: string,\n options: RequestInit | undefined = undefined
|
|
1
|
+
{"mappings":";;;;;;;;;AAeA,SAAS,mCACP,GAAW,EACX,OAA4C;IAE5C,MAAM,UAAU;IAChB,OAAO,CAAA,GAAA,iBAAS,EAAE,UAAU,KAAK;AACnC;AAUO,eAAe,0CACpB,UAA8B,CAAC,CAAC;IAEhC,MAAM,cACJ,UAAU,aACV,SAAS,UACT,SAAS,wBACT,UAAU,SACV,QAAQ,CAAA,GAAA,iBAAS,GAClB,GAAG;IAEJ,IAAI,OAAY;gBAAE;IAAO;IACzB,IAAI,aAAa,MACf,OAAO;QAAE,GAAG,IAAI;QAAE,YAAY;IAAU;IAE1C,IAAI,cAAc,MAChB,OAAO;QAAE,GAAG,IAAI;QAAE,aAAa;IAAW;IAG5C,IAAI,aAAa,MACf,OAAO;QAAE,GAAG,IAAI;QAAE,KAAK;IAAK;IAG9B,IAAI,MAAM;IACV,IAAI,cAAc,MAChB,MAAM,CAAA,GAAA,cAAM,EAAE,YAAY;IAG5B,iBAAiB;IACjB,MAAM,CAAA,GAAA,qBAAa,EAAE,KAAK;IAE1B,MAAM,MAAM,MAAM,MAAM,KAAK;QAC3B,QAAQ;QACR,SAAS;YACP,gBAAgB;QAClB;IACF;IAEA,IAAI,OAAO,MACT,OAAO;IAGT,WAAW;IACX,MAAM,OAAO,MAAM,IAAI,IAAI;IAC3B,OAAO,yCAAmB,sCAAgB,CAAC,OAAO,CAAC;AACrD;AAEO,SAAS,0CAAkB,YAChC,WAAW,yBACX,WAAW,cACX,UAAU,UACV,SAAS,WACV;IACC,IAAI,MAAe;IACnB,IAAI,eAAe,QAAQ,cAAc,MACvC,MAAM;IAGR,MAAM,YAAY,sCAAgB,CAAC,OAAO;IAE1C,OAAO,CAAA,GAAA,mBAAW,EAChB,UACA;gBAAE;aAAQ;qBAAK;oBAAa;IAAW,GACvC;AAEJ;AAEA,SAAS,qCAAe,GAAG;IACzB,OAAO,yCAAmB,KAAK,SAAS;AAC1C;AAEA,SAAS,yCAAmB,GAAG;IAC7B,OAAO,KAAK;AACd;AAEA,SAAS,sCAAgB,GAAG;IAC1B,IAAI;QACF,MAAM,QAAE,IAAI,EAAE,GAAG,IAAI,OAAO;QAC5B,MAAM,EAAE,UAAU,CAAC,EAAE,GAAG,CAAA,GAAA,cAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM;QACzD,OAAO;IACT,EAAE,OAAO,KAAK;QACZ,QAAQ,KAAK,CAAC;QACd,OAAO,EAAE;IACX;AACF;AAEA,SAAS,yCAAmB,OAAO;IACjC,OAAO,uCACL,gDAA0B,oDAA8B;AAE5D;AAEA,SAAS,uCACP,QAA+B;IAE/B,OAAO,SAAS,GAAG,CAAC,CAAC,GAAG;QACtB,OAAO;YACL,IAAI,EAAE,UAAU,EAAE;YAClB,GAAG,CAAC;QACN;IACF;AACF;AAEA,SAAS,oDAA8B,QAAQ;IAC7C,OAAO,SAAS,MAAM,CAAC,CAAC,IAAM,EAAE,QAAQ,IAAI;AAC9C;AAEA,SAAS,gDAA0B,QAAQ;IACzC,OAAO,SAAS,GAAG,CAAC,CAAC;QACnB,+FAA+F;QAC/F,IAAI,CAAA,GAAA,cAAM,EAAE,EAAE,QAAQ,IAAI,MAAM;YAC9B,MAAM,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE;YAC7C,EAAE,QAAQ,GAAG;gBACX,MAAM;gBACN,aAAa;YACf;QACF;QACA,OAAO;IACT;AACF;AAEA,MAAM,yCAAmB;IACvB,UAAU;IACV,SAAS;IACT,cAAc;AAChB;AAEA,eAAe,qCAAe,GAAG;IAC/B,IAAI,OAAO,MACT,OAAO;IAET,MAAM,UAAU,MAAM,IAAI,IAAI;IAC9B,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO;AACnC;AAEO,eAAe,0CAAiB,QAAQ,kCAAY;IACzD,MAAM,MAAM,MAAM,MAAM;IACxB,OAAO,MAAM,qCAAe;AAC9B;AAEO,eAAe,0CACpB,WAA0B,EAC1B,QAAQ,kCAAY;IAEpB,IAAI,MAAM,CAAC,eAAe,CAAC;IAC3B,IAAI,eAAe,MACjB,OAAO,CAAC,cAAc,EAAE,aAAa;SAErC,OAAO;IAET,MAAM,MAAM,MAAM,MAAM;IACxB,OAAO,MAAM,qCAAe;AAC9B;AAEO,eAAe,0CAAkB,QAAQ,kCAAY;IAC1D,MAAM,MAAM,MAAM,MAAM;IACxB,OAAO,MAAM,qCAAe;AAC9B;AAEO,eAAe,0CACpB,IAAc,EACd,QAAQ,kCAAY;IAEpB,IAAI,MAAM,CAAC,UAAU,CAAC;IACtB,IAAI,KAAK,MAAM,IAAI,GACjB,OAAO,EAAE;IAEX,OAAO,aAAa,KAAK,IAAI,CAAC;IAC9B,MAAM,MAAM,MAAM,MAAM;IACxB,OAAO,MAAM,qCAAe;AAC9B;AAOO,eAAe,0CACpB,OAAiB,EACjB,QAAQ,kCAAY;IAEpB,MAAM,WAAW,QAAQ,GAAG,CAAC,CAAC,SAAW,0CAAiB,QAAQ;IAClE,OAAO,MAAM,QAAQ,GAAG,CAAC;AAC3B;AAEO,eAAe,0CACpB,MAAc,EACd,QAAQ,kCAAY;IAEpB,MAAM,SAAS,IAAI;IACnB,OAAO,MAAM,CAAC,YAAY;IAC1B,OAAO,MAAM,CAAC,UAAU,OAAO,QAAQ;IACvC,MAAM,MAAM,MAAM,MAAM,YAAiB,OAAO,QAAQ;IACxD,MAAM,OAAO,MAAM,IAAI,IAAI;IAC3B,IAAI,CAAC,KAAK,OAAO,EACf,MAAM,IAAI,MAAM;IAElB,MAAM,QAAQ,KAAK,OAAO,CAAC,IAAI;IAC/B,OAAO;QAAE,UAAU;eAAQ;IAAM;AACnC","sources":["packages/column-views/src/data-provider/fetch.ts"],"sourcesContent":["import {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n MacrostratRef,\n UnitLong,\n} from \"@macrostrat/api-types\";\nimport {\n addQueryString,\n joinURL,\n useAPIResult,\n} from \"@macrostrat/ui-components\";\nimport crossFetch from \"cross-fetch\";\nimport { feature } from \"topojson-client\";\nimport { geoArea } from \"d3-geo\";\n\nfunction defaultFetch(\n url: string,\n options: RequestInit | undefined = undefined,\n) {\n const baseURL = \"https://macrostrat.org/api/v2\";\n return crossFetch(baseURL + url, options);\n}\n\nexport interface ColumnFetchOptions {\n apiBaseURL?: string;\n projectID?: number;\n statusCode?: \"in process\";\n format?: \"geojson\" | \"topojson\" | \"geojson_bare\";\n fetch?: any;\n}\n\nexport async function fetchAllColumns(\n options: ColumnFetchOptions = {},\n): Promise<ColumnGeoJSONRecord[]> {\n const {\n apiBaseURL,\n projectID,\n format = \"topojson\",\n statusCode,\n fetch = crossFetch,\n } = options;\n\n let args: any = { format };\n if (projectID != null) {\n args = { ...args, project_id: projectID };\n }\n if (statusCode != null) {\n args = { ...args, status_code: statusCode };\n }\n\n if (projectID == null) {\n args = { ...args, all: true };\n }\n\n let url = \"/columns\";\n if (apiBaseURL != null) {\n url = joinURL(apiBaseURL, url);\n }\n\n // Try with fetch\n url = addQueryString(url, args);\n\n const res = await fetch(url, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n\n if (res == null) {\n return null;\n }\n\n // Get JSON\n const data = await res.json();\n return postProcessColumns(columnProcessors[format](data));\n}\n\nexport function useColumnFeatures({\n apiRoute = \"/columns\",\n status_code,\n project_id,\n format = \"geojson\",\n}) {\n let all: boolean = undefined;\n if (status_code == null && project_id == null) {\n all = true;\n }\n\n const processor = columnProcessors[format];\n\n return useAPIResult(\n apiRoute,\n { format, all, status_code, project_id },\n processor,\n );\n}\n\nfunction processGeoJSON(res) {\n return processGeoJSONBare(res?.success?.data);\n}\n\nfunction processGeoJSONBare(res) {\n return res?.features;\n}\n\nfunction processTopoJSON(res) {\n try {\n const { data } = res.success;\n const { features: f } = feature(data, data.objects.output) as any;\n return f;\n } catch (err) {\n console.error(err);\n return [];\n }\n}\n\nfunction postProcessColumns(columns) {\n return promoteColumnIDs(\n convertSmallAreasToPoints(removeFeaturesWithoutGeometry(columns)),\n );\n}\n\nfunction promoteColumnIDs(\n features: ColumnGeoJSONRecord[],\n): ColumnGeoJSONRecordWithID[] {\n return features.map((f, i) => {\n return {\n id: f.properties?.col_id,\n ...f,\n };\n });\n}\n\nfunction removeFeaturesWithoutGeometry(features) {\n return features.filter((f) => f.geometry != null);\n}\n\nfunction convertSmallAreasToPoints(features) {\n return features.map((f) => {\n // GeoArea takes a long time to run. We are really more worried about points that are zero-area\n if (geoArea(f.geometry) < 1e-8) {\n const centroid = f.geometry.coordinates[0][0];\n f.geometry = {\n type: \"Point\",\n coordinates: centroid,\n };\n }\n return f;\n });\n}\n\nconst columnProcessors = {\n topojson: processTopoJSON,\n geojson: processGeoJSON,\n geojson_bare: processGeoJSONBare,\n};\n\nasync function unwrapResponse(res) {\n if (res == null) {\n return null;\n }\n const resData = await res.json();\n return resData[\"success\"][\"data\"];\n}\n\nexport async function fetchLithologies(fetch = defaultFetch) {\n const res = await fetch(\"/defs/lithologies?all\");\n return await unwrapResponse(res);\n}\n\nexport async function fetchIntervals(\n timescaleID: number | null,\n fetch = defaultFetch,\n) {\n let url = `/defs/intervals`;\n if (timescaleID != null) {\n url += `?timescale_id=${timescaleID}`;\n } else {\n url += \"?all\";\n }\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport async function fetchEnvironments(fetch = defaultFetch) {\n const res = await fetch(\"/defs/environments?all\");\n return await unwrapResponse(res);\n}\n\nexport async function fetchRefs(\n refs: number[],\n fetch = defaultFetch,\n): Promise<MacrostratRef[]> {\n let url = `/defs/refs`;\n if (refs.length == 0) {\n return [];\n }\n url += \"?ref_id=\" + refs.join(\",\");\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport type ColumnData = {\n units: UnitLong[];\n columnID: number;\n};\n\nexport async function fetchUnits(\n columns: number[],\n fetch = defaultFetch,\n): Promise<ColumnData[]> {\n const promises = columns.map((col_id) => fetchColumnUnits(col_id, fetch));\n return await Promise.all(promises);\n}\n\nexport async function fetchColumnUnits(\n col_id: number,\n fetch = defaultFetch,\n): Promise<ColumnData> {\n const params = new URLSearchParams();\n params.append(\"response\", \"long\");\n params.append(\"col_id\", col_id.toString());\n const res = await fetch(\"/units\" + \"?\" + params.toString());\n const data = await res.json();\n if (!data.success) {\n throw new Error(\"Failed to fetch column units\");\n }\n const units = data.success.data;\n return { columnID: col_id, units };\n}\n"],"names":[],"version":3,"file":"column-views.5cc09c1d.js.map"}
|