@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
|
@@ -7,7 +7,9 @@ import {
|
|
|
7
7
|
createUnitSorter,
|
|
8
8
|
ensureArray,
|
|
9
9
|
ensureRealFloat,
|
|
10
|
+
PossiblyClippedUnit,
|
|
10
11
|
} from "./utils";
|
|
12
|
+
import { compareAgeRanges } from "@macrostrat/stratigraphy-utils";
|
|
11
13
|
|
|
12
14
|
const dt = 0.001;
|
|
13
15
|
|
|
@@ -38,14 +40,14 @@ export interface ExtUnit extends UnitLong {
|
|
|
38
40
|
|
|
39
41
|
export function preprocessUnits<T extends UnitLong = UnitLong>(
|
|
40
42
|
section: SectionInfo<T>,
|
|
41
|
-
axisType: ColumnAxisType = ColumnAxisType.AGE
|
|
43
|
+
axisType: ColumnAxisType = ColumnAxisType.AGE,
|
|
42
44
|
): ExtUnit[] {
|
|
43
45
|
/** Preprocess units to add overlapping units and columns. */
|
|
44
46
|
const units = section.units;
|
|
45
47
|
let divisions = units.map((...args) => extendDivision(...args, axisType));
|
|
46
48
|
for (let d of divisions) {
|
|
47
49
|
const overlappingUnits = divisions.filter((u) =>
|
|
48
|
-
d.overlappingUnits.includes(u.unit_id)
|
|
50
|
+
d.overlappingUnits.includes(u.unit_id),
|
|
49
51
|
);
|
|
50
52
|
|
|
51
53
|
// Overlapping columns
|
|
@@ -72,10 +74,12 @@ export function preprocessUnits<T extends UnitLong = UnitLong>(
|
|
|
72
74
|
}
|
|
73
75
|
}
|
|
74
76
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
// TODO: we may want to re-enable this simpler processing for sections,
|
|
78
|
+
// but we want it to be less universally applied.
|
|
79
|
+
// if (axisType != ColumnAxisType.AGE) {
|
|
80
|
+
// return preprocessSectionUnits(divisions, axisType);
|
|
81
|
+
// }
|
|
82
|
+
//
|
|
79
83
|
return divisions;
|
|
80
84
|
}
|
|
81
85
|
|
|
@@ -83,10 +87,10 @@ function extendDivision(
|
|
|
83
87
|
unit: UnitLong,
|
|
84
88
|
i: number,
|
|
85
89
|
divisions: UnitLong[],
|
|
86
|
-
axisType: ColumnAxisType = ColumnAxisType.AGE
|
|
90
|
+
axisType: ColumnAxisType = ColumnAxisType.AGE,
|
|
87
91
|
): ExtUnit {
|
|
88
92
|
const overlappingUnits = divisions.filter(
|
|
89
|
-
(d) => d.unit_id != unit.unit_id && unitsOverlap(unit, d, axisType)
|
|
93
|
+
(d) => d.unit_id != unit.unit_id && unitsOverlap(unit, d, axisType),
|
|
90
94
|
);
|
|
91
95
|
const u_pos = getUnitHeightRange(unit, axisType);
|
|
92
96
|
const bottomOverlap = overlappingUnits.some((d) => {
|
|
@@ -109,8 +113,15 @@ function extendDivision(
|
|
|
109
113
|
|
|
110
114
|
export function groupUnitsIntoSections<T extends UnitLong>(
|
|
111
115
|
units: T[],
|
|
112
|
-
axisType: ColumnAxisType = ColumnAxisType.AGE
|
|
116
|
+
axisType: ColumnAxisType = ColumnAxisType.AGE,
|
|
113
117
|
): SectionInfo<T>[] {
|
|
118
|
+
if (axisType != ColumnAxisType.AGE) {
|
|
119
|
+
return groupUnitsIntoSectionByOverlap(units, axisType);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
/** Group units into sections by section_id.
|
|
123
|
+
* This works for large-scale Macrostrat columns, where units are grouped by section_id.
|
|
124
|
+
* */
|
|
114
125
|
let groups = Array.from(group(units, (d) => d.section_id));
|
|
115
126
|
const unitComparator = createUnitSorter(axisType);
|
|
116
127
|
|
|
@@ -124,12 +135,66 @@ export function groupUnitsIntoSections<T extends UnitLong>(
|
|
|
124
135
|
// Sections have no relative ordinal position other than age...
|
|
125
136
|
const compareSections = createUnitSorter(ColumnAxisType.AGE) as (
|
|
126
137
|
a: StratigraphicPackage,
|
|
127
|
-
b: StratigraphicPackage
|
|
138
|
+
b: StratigraphicPackage,
|
|
128
139
|
) => number;
|
|
129
140
|
groups1.sort(compareSections);
|
|
130
141
|
return groups1;
|
|
131
142
|
}
|
|
132
143
|
|
|
144
|
+
interface WorkingSection {
|
|
145
|
+
units: UnitLong[];
|
|
146
|
+
// Position or age
|
|
147
|
+
heightRange?: [number, number];
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
function groupUnitsIntoSectionByOverlap<T extends UnitLong>(
|
|
151
|
+
units: T[],
|
|
152
|
+
axisType: ColumnAxisType = ColumnAxisType.AGE,
|
|
153
|
+
): SectionInfo<T>[] {
|
|
154
|
+
/** Group units into sections by overlap.
|
|
155
|
+
* This creates "synthetic" sections that correspond to packages bound by scale gaps.
|
|
156
|
+
* This is most useful in the height and depth domains, where gaps (e.g., missing core) are
|
|
157
|
+
* common.
|
|
158
|
+
* */
|
|
159
|
+
// Start with each unit as its own "section", and progressively merge...
|
|
160
|
+
const sectionList: WorkingSection[] = [];
|
|
161
|
+
for (const unit of units) {
|
|
162
|
+
// Check if the unit overlaps with any existing section
|
|
163
|
+
const heightRange = getUnitHeightRange(unit, axisType);
|
|
164
|
+
let section: WorkingSection | undefined = sectionList.find((s) =>
|
|
165
|
+
compareAgeRanges(heightRange, s.heightRange),
|
|
166
|
+
);
|
|
167
|
+
if (section == null) {
|
|
168
|
+
// No overlap, create a new section
|
|
169
|
+
sectionList.push({
|
|
170
|
+
heightRange,
|
|
171
|
+
units: [unit],
|
|
172
|
+
});
|
|
173
|
+
} else {
|
|
174
|
+
// Overlap, merge the unit into the section
|
|
175
|
+
section.units.push(unit);
|
|
176
|
+
// Update the height range
|
|
177
|
+
section.heightRange = [
|
|
178
|
+
Math.max(section.heightRange[0], heightRange[0]),
|
|
179
|
+
Math.min(section.heightRange[1], heightRange[1]),
|
|
180
|
+
];
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
// We should have a section for each unit, now we can convert to SectionInfo
|
|
184
|
+
// Ages have to be really actually ages, not heights
|
|
185
|
+
|
|
186
|
+
return sectionList.map((section, i) => {
|
|
187
|
+
const [b_age, t_age] = getSectionAgeRange(section.units);
|
|
188
|
+
return {
|
|
189
|
+
// Negative section IDs are used to indicate that these are synthetic sections
|
|
190
|
+
section_id: -i,
|
|
191
|
+
t_age: t_age,
|
|
192
|
+
b_age: b_age,
|
|
193
|
+
units: section.units as T[],
|
|
194
|
+
};
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
|
|
133
198
|
export function getSectionAgeRange(units: BaseUnit[]): [number, number] {
|
|
134
199
|
/** Get the overall age range of a set of units. */
|
|
135
200
|
const t_ages = units.map((d) => d.t_age);
|
|
@@ -140,7 +205,7 @@ export function getSectionAgeRange(units: BaseUnit[]): [number, number] {
|
|
|
140
205
|
}
|
|
141
206
|
|
|
142
207
|
export function mergeOverlappingSections<T extends UnitLong>(
|
|
143
|
-
sections: SectionInfo<T>[]
|
|
208
|
+
sections: SectionInfo<T>[],
|
|
144
209
|
): SectionInfo<T>[] {
|
|
145
210
|
/** Columns can have sections that overlap in time. Here, we merge overlapping
|
|
146
211
|
* sections into a single section to correctly render gap-bound packages.
|
|
@@ -172,7 +237,7 @@ export function mergeOverlappingSections<T extends UnitLong>(
|
|
|
172
237
|
|
|
173
238
|
function preprocessSectionUnits(
|
|
174
239
|
units: UnitLong[],
|
|
175
|
-
axisType: ColumnAxisType = ColumnAxisType.DEPTH
|
|
240
|
+
axisType: ColumnAxisType = ColumnAxisType.DEPTH,
|
|
176
241
|
): ExtUnit[] {
|
|
177
242
|
/** Preprocess units for a "section" column type, which is guaranteed to be simpler. */
|
|
178
243
|
// We have to assume the units are ordered...
|
|
@@ -189,7 +254,7 @@ function preprocessSectionUnit(
|
|
|
189
254
|
i: number,
|
|
190
255
|
units: UnitLong[],
|
|
191
256
|
accumulatedThickness: number = 0,
|
|
192
|
-
axisType: ColumnAxisType = ColumnAxisType.DEPTH
|
|
257
|
+
axisType: ColumnAxisType = ColumnAxisType.DEPTH,
|
|
193
258
|
): ExtUnit {
|
|
194
259
|
/** Preprocess a single unit for a "section" column type.
|
|
195
260
|
* No provision for overlapping units.
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
PackageLayoutData,
|
|
18
18
|
} from "./composite-scale";
|
|
19
19
|
import type { SectionInfo } from "./helpers";
|
|
20
|
-
import { agesOverlap, unitsOverlap } from "./utils";
|
|
20
|
+
import { agesOverlap, getUnitHeightRange, unitsOverlap } from "./utils";
|
|
21
21
|
|
|
22
22
|
export * from "./utils";
|
|
23
23
|
export { preprocessUnits, groupUnitsIntoSections };
|
|
@@ -42,7 +42,7 @@ export interface PreparedColumnData extends CompositeColumnData {
|
|
|
42
42
|
|
|
43
43
|
export function usePreparedColumnUnits(
|
|
44
44
|
data: UnitLong[],
|
|
45
|
-
options: PrepareColumnOptions
|
|
45
|
+
options: PrepareColumnOptions,
|
|
46
46
|
): PreparedColumnData {
|
|
47
47
|
/** This function wraps and memoizes all preparation steps for converting
|
|
48
48
|
* an array of units from the /units route to a form ready for usage.
|
|
@@ -54,7 +54,7 @@ export function usePreparedColumnUnits(
|
|
|
54
54
|
|
|
55
55
|
export function prepareColumnUnits(
|
|
56
56
|
units: UnitLong[],
|
|
57
|
-
options: PrepareColumnOptions
|
|
57
|
+
options: PrepareColumnOptions,
|
|
58
58
|
): PreparedColumnData {
|
|
59
59
|
/** Prepare units for rendering into Macrostrat columns */
|
|
60
60
|
|
|
@@ -136,26 +136,14 @@ export function prepareColumnUnits(
|
|
|
136
136
|
sectionsWithScales = collapseUnconformitiesByPixelHeight(
|
|
137
137
|
sectionsWithScales,
|
|
138
138
|
threshold,
|
|
139
|
-
options
|
|
139
|
+
options,
|
|
140
140
|
);
|
|
141
141
|
}
|
|
142
142
|
|
|
143
|
-
/** Reconstitute the units so that they are sorted by section.
|
|
144
|
-
* This is mostly important so that unit keyboard navigation
|
|
145
|
-
* predictably selects adjacent units.
|
|
146
|
-
*/
|
|
147
|
-
const units2 = sectionsWithScales.reduce((acc, group) => {
|
|
148
|
-
const { units } = group;
|
|
149
|
-
for (const unit of units) {
|
|
150
|
-
acc.push(unit);
|
|
151
|
-
}
|
|
152
|
-
return acc;
|
|
153
|
-
}, []);
|
|
154
|
-
|
|
155
143
|
/** Prepare section scale information using groups */
|
|
156
144
|
const { totalHeight, sections: sections2 } = finalizeSectionHeights(
|
|
157
145
|
sectionsWithScales,
|
|
158
|
-
unconformityHeight
|
|
146
|
+
unconformityHeight,
|
|
159
147
|
);
|
|
160
148
|
|
|
161
149
|
/** For each section, find units that are overlapping.
|
|
@@ -169,6 +157,18 @@ export function prepareColumnUnits(
|
|
|
169
157
|
};
|
|
170
158
|
});
|
|
171
159
|
|
|
160
|
+
/** Reconstitute the units so that they are sorted by section and properly enhanced.
|
|
161
|
+
* This is mostly important so that unit keyboard navigation
|
|
162
|
+
* predictably selects adjacent units.
|
|
163
|
+
*/
|
|
164
|
+
const units2 = sectionsOut.reduce((acc, group) => {
|
|
165
|
+
const { units } = group;
|
|
166
|
+
for (const unit of units) {
|
|
167
|
+
acc.push(unit);
|
|
168
|
+
}
|
|
169
|
+
return acc;
|
|
170
|
+
}, []);
|
|
171
|
+
|
|
172
172
|
return {
|
|
173
173
|
units: units2,
|
|
174
174
|
totalHeight,
|
|
@@ -13,13 +13,13 @@ interface UnitsOverlap {
|
|
|
13
13
|
a: StratigraphicPackage,
|
|
14
14
|
b: StratigraphicPackage,
|
|
15
15
|
axisType?: ColumnAxisType.AGE,
|
|
16
|
-
tolerance?: number
|
|
16
|
+
tolerance?: number,
|
|
17
17
|
): boolean;
|
|
18
18
|
(
|
|
19
19
|
a: BaseUnit,
|
|
20
20
|
b: BaseUnit,
|
|
21
21
|
axisType: ColumnAxisType,
|
|
22
|
-
tolerance?: number
|
|
22
|
+
tolerance?: number,
|
|
23
23
|
): boolean;
|
|
24
24
|
}
|
|
25
25
|
|
|
@@ -27,12 +27,12 @@ export const unitsOverlap: UnitsOverlap = function (
|
|
|
27
27
|
a,
|
|
28
28
|
b,
|
|
29
29
|
axisType: ColumnAxisType = ColumnAxisType.AGE,
|
|
30
|
-
tolerance: number = 0.001
|
|
30
|
+
tolerance: number = 0.001,
|
|
31
31
|
): boolean {
|
|
32
32
|
const rel = compareAgeRanges(
|
|
33
33
|
getUnitHeightRange(a, axisType),
|
|
34
34
|
getUnitHeightRange(b, axisType),
|
|
35
|
-
tolerance
|
|
35
|
+
tolerance,
|
|
36
36
|
);
|
|
37
37
|
return rel != AgeRangeRelationship.Disjoint;
|
|
38
38
|
};
|
|
@@ -41,12 +41,12 @@ export const unitsOverlap: UnitsOverlap = function (
|
|
|
41
41
|
export function agesOverlap(
|
|
42
42
|
a: StratigraphicPackage,
|
|
43
43
|
b: StratigraphicPackage,
|
|
44
|
-
tolerance: number = dt
|
|
44
|
+
tolerance: number = dt,
|
|
45
45
|
): boolean {
|
|
46
46
|
return unitsOverlap(a, b, ColumnAxisType.AGE, tolerance);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
interface PossiblyClippedUnit extends BaseUnit {
|
|
49
|
+
export interface PossiblyClippedUnit extends BaseUnit {
|
|
50
50
|
// Internally created clipped positions
|
|
51
51
|
t_clip_pos?: number;
|
|
52
52
|
b_clip_pos?: number;
|
|
@@ -54,7 +54,7 @@ interface PossiblyClippedUnit extends BaseUnit {
|
|
|
54
54
|
|
|
55
55
|
export function getUnitHeightRange(
|
|
56
56
|
unit: PossiblyClippedUnit,
|
|
57
|
-
axisType: ColumnAxisType
|
|
57
|
+
axisType: ColumnAxisType,
|
|
58
58
|
): [number, number] {
|
|
59
59
|
switch (axisType) {
|
|
60
60
|
case ColumnAxisType.AGE:
|
package/src/section.ts
CHANGED
|
@@ -120,9 +120,9 @@ function SectionUnitsColumn(props: SectionSharedProps) {
|
|
|
120
120
|
width: innerWidth,
|
|
121
121
|
clipUnits,
|
|
122
122
|
maxInternalColumns,
|
|
123
|
-
} // This unconformity is with the section _above_
|
|
123
|
+
}, // This unconformity is with the section _above_
|
|
124
124
|
);
|
|
125
|
-
})
|
|
125
|
+
}),
|
|
126
126
|
),
|
|
127
127
|
h.if(unconformityLabels)(UnconformityLabels, {
|
|
128
128
|
width,
|
|
@@ -157,7 +157,7 @@ function SectionUnits(props: SectionProps) {
|
|
|
157
157
|
nColumns: Math.min(
|
|
158
158
|
maxInternalColumns ?? Math.floor(width / 10),
|
|
159
159
|
unitComponentProps?.nColumns ?? Infinity,
|
|
160
|
-
Math.max(...units.map((d) => d.column)) + 1
|
|
160
|
+
Math.max(...units.map((d) => d.column)) + 1,
|
|
161
161
|
),
|
|
162
162
|
//axisType,
|
|
163
163
|
};
|
|
@@ -184,8 +184,8 @@ function SectionUnits(props: SectionProps) {
|
|
|
184
184
|
unitComponent,
|
|
185
185
|
unitComponentProps: _unitComponentProps,
|
|
186
186
|
clipToFrame: clipUnits,
|
|
187
|
-
})
|
|
188
|
-
)
|
|
187
|
+
}),
|
|
188
|
+
),
|
|
189
189
|
);
|
|
190
190
|
}
|
|
191
191
|
|
|
@@ -240,9 +240,9 @@ export function CompositeTimescaleCore(props: CompositeTimescaleCoreProps) {
|
|
|
240
240
|
showAgeAxis: false,
|
|
241
241
|
ageRange: domain as [number, number],
|
|
242
242
|
}),
|
|
243
|
-
]
|
|
243
|
+
],
|
|
244
244
|
);
|
|
245
|
-
})
|
|
245
|
+
}),
|
|
246
246
|
),
|
|
247
247
|
h.if(unconformityLabels)(UnconformityLabels, {
|
|
248
248
|
width: "100%",
|
|
@@ -281,7 +281,7 @@ export function UnconformityLabels(props: {
|
|
|
281
281
|
top,
|
|
282
282
|
},
|
|
283
283
|
});
|
|
284
|
-
})
|
|
284
|
+
}),
|
|
285
285
|
);
|
|
286
286
|
}
|
|
287
287
|
|
|
@@ -5,17 +5,24 @@ import { Button, ButtonGroup } from "@blueprintjs/core";
|
|
|
5
5
|
import { ReactNode, useMemo, useState } from "react";
|
|
6
6
|
import {
|
|
7
7
|
DataField,
|
|
8
|
-
EnvironmentsList,
|
|
8
|
+
// EnvironmentsList,
|
|
9
9
|
IntervalShort,
|
|
10
10
|
IntervalTag,
|
|
11
11
|
ItemList,
|
|
12
|
-
LithologyList,
|
|
12
|
+
// LithologyList,
|
|
13
13
|
LithologyTagFeature,
|
|
14
14
|
Parenthetical,
|
|
15
15
|
Value,
|
|
16
16
|
} from "@macrostrat/data-components";
|
|
17
|
+
import { LithologyList, EnvironmentsList } from "../../../data-components/src";
|
|
17
18
|
import { useMacrostratData, useMacrostratDefs } from "../data-provider";
|
|
18
|
-
import {
|
|
19
|
+
import {
|
|
20
|
+
Environment,
|
|
21
|
+
UnitLong,
|
|
22
|
+
UnitLongFull,
|
|
23
|
+
Lithology,
|
|
24
|
+
Interval,
|
|
25
|
+
} from "@macrostrat/api-types";
|
|
19
26
|
import { defaultNameFunction } from "../units/names";
|
|
20
27
|
import classNames from "classnames";
|
|
21
28
|
|
|
@@ -35,6 +42,7 @@ export function UnitDetailsPanel({
|
|
|
35
42
|
actions,
|
|
36
43
|
selectUnit,
|
|
37
44
|
columnUnits,
|
|
45
|
+
onClickItem,
|
|
38
46
|
}: {
|
|
39
47
|
unit: any;
|
|
40
48
|
onClose?: any;
|
|
@@ -45,6 +53,7 @@ export function UnitDetailsPanel({
|
|
|
45
53
|
lithologyFeatures?: Set<LithologyTagFeature>;
|
|
46
54
|
columnUnits?: UnitLong[];
|
|
47
55
|
selectUnit?: (unitID: number) => void;
|
|
56
|
+
onClickItem?: (item: any) => void;
|
|
48
57
|
}) {
|
|
49
58
|
const [showJSON, setShowJSON] = useState(false);
|
|
50
59
|
|
|
@@ -52,7 +61,12 @@ export function UnitDetailsPanel({
|
|
|
52
61
|
if (showJSON) {
|
|
53
62
|
content = h(JSONView, { data: unit, showRoot: false });
|
|
54
63
|
} else {
|
|
55
|
-
content = h(UnitDetailsContent, {
|
|
64
|
+
content = h(UnitDetailsContent, {
|
|
65
|
+
unit,
|
|
66
|
+
features,
|
|
67
|
+
lithologyFeatures,
|
|
68
|
+
onClickItem,
|
|
69
|
+
});
|
|
56
70
|
}
|
|
57
71
|
|
|
58
72
|
let title = defaultNameFunction(unit);
|
|
@@ -136,12 +150,19 @@ function UnitDetailsContent({
|
|
|
136
150
|
UnitDetailsFeature.AdjacentUnits,
|
|
137
151
|
UnitDetailsFeature.OutcropType,
|
|
138
152
|
]),
|
|
153
|
+
onClickItem,
|
|
154
|
+
getItemHref,
|
|
139
155
|
}: {
|
|
140
156
|
unit: UnitLong;
|
|
141
157
|
selectUnit?: (unitID: number) => void;
|
|
142
158
|
columnUnits?: UnitLong[];
|
|
143
159
|
lithologyFeatures?: Set<LithologyTagFeature>;
|
|
144
160
|
features?: Set<UnitDetailsFeature>;
|
|
161
|
+
onClickItem?: (
|
|
162
|
+
event: MouseEvent,
|
|
163
|
+
item: Lithology | Environment | UnitLong | Interval,
|
|
164
|
+
) => void;
|
|
165
|
+
getItemHref?: (item: Lithology | Environment | UnitLong) => string | null;
|
|
145
166
|
}) {
|
|
146
167
|
const lithMap = useMacrostratDefs("lithologies");
|
|
147
168
|
const envMap = useMacrostratDefs("environments");
|
|
@@ -190,7 +211,7 @@ function UnitDetailsContent({
|
|
|
190
211
|
value: formatRange(unit.b_pos, unit.t_pos),
|
|
191
212
|
children: h(
|
|
192
213
|
Parenthetical,
|
|
193
|
-
h(Value, { value: thickness, unit: thicknessUnit })
|
|
214
|
+
h(Value, { value: thickness, unit: thicknessUnit }),
|
|
194
215
|
),
|
|
195
216
|
});
|
|
196
217
|
}
|
|
@@ -215,37 +236,46 @@ function UnitDetailsContent({
|
|
|
215
236
|
label: "Lithology",
|
|
216
237
|
lithologies,
|
|
217
238
|
features: lithologyFeatures,
|
|
239
|
+
getItemHref,
|
|
240
|
+
onClickItem,
|
|
218
241
|
}),
|
|
219
242
|
h(AgeField, { unit }, [
|
|
220
243
|
h(Parenthetical, h(Duration, { value: unit.b_age - unit.t_age })),
|
|
221
|
-
h(IntervalProportions, {
|
|
244
|
+
h(IntervalProportions, {
|
|
245
|
+
unit,
|
|
246
|
+
onClickItem,
|
|
247
|
+
}),
|
|
222
248
|
]),
|
|
223
|
-
h(EnvironmentsList, {
|
|
249
|
+
h(EnvironmentsList, {
|
|
250
|
+
environments,
|
|
251
|
+
onClickItem,
|
|
252
|
+
getItemHref,
|
|
253
|
+
}),
|
|
224
254
|
h.if(unit.strat_name_id != null)(
|
|
225
255
|
DataField,
|
|
226
256
|
{
|
|
227
257
|
label: "Stratigraphic name",
|
|
228
258
|
},
|
|
229
|
-
h("span.strat-name-id", unit.strat_name_id)
|
|
259
|
+
h("span.strat-name-id", unit.strat_name_id),
|
|
230
260
|
),
|
|
231
261
|
outcropField,
|
|
232
262
|
h.if(features.has(UnitDetailsFeature.AdjacentUnits))([
|
|
233
263
|
h(
|
|
234
264
|
DataField,
|
|
235
265
|
{ label: "Above" },
|
|
236
|
-
h(UnitIDList, { units: unit.units_above, selectUnit })
|
|
266
|
+
h(UnitIDList, { units: unit.units_above, selectUnit }),
|
|
237
267
|
),
|
|
238
268
|
h(
|
|
239
269
|
DataField,
|
|
240
270
|
{ label: "Below" },
|
|
241
|
-
h(UnitIDList, { units: unit.units_below, selectUnit })
|
|
271
|
+
h(UnitIDList, { units: unit.units_below, selectUnit }),
|
|
242
272
|
),
|
|
243
273
|
]),
|
|
244
274
|
colorSwatch,
|
|
245
275
|
h(
|
|
246
276
|
DataField,
|
|
247
277
|
{ label: "Source", inline: true },
|
|
248
|
-
h(BibInfo, { refs: unit.refs })
|
|
278
|
+
h(BibInfo, { refs: unit.refs }),
|
|
249
279
|
),
|
|
250
280
|
]);
|
|
251
281
|
}
|
|
@@ -300,7 +330,7 @@ function BibInfo({ refs }) {
|
|
|
300
330
|
|
|
301
331
|
return h(
|
|
302
332
|
"ul.refs",
|
|
303
|
-
refData.map((data, i) => h(Citation, { data, tag: "li", key: i }))
|
|
333
|
+
refData.map((data, i) => h(Citation, { data, tag: "li", key: i })),
|
|
304
334
|
);
|
|
305
335
|
}
|
|
306
336
|
|
|
@@ -324,7 +354,7 @@ function AgeField({ unit, children }) {
|
|
|
324
354
|
value: formatRange(b_age, t_age),
|
|
325
355
|
unit: _unit,
|
|
326
356
|
},
|
|
327
|
-
children
|
|
357
|
+
children,
|
|
328
358
|
);
|
|
329
359
|
}
|
|
330
360
|
|
|
@@ -346,6 +376,48 @@ function getAgeRange(_unit) {
|
|
|
346
376
|
return [b_age, t_age, unit];
|
|
347
377
|
}
|
|
348
378
|
|
|
379
|
+
function getAge(value) {
|
|
380
|
+
/** Get the age value in Ma, ka, or Ga as appropriate */
|
|
381
|
+
let unit = "Ma";
|
|
382
|
+
if (value < 0.8) {
|
|
383
|
+
unit = "ka";
|
|
384
|
+
value *= 1000;
|
|
385
|
+
if (value < 5) {
|
|
386
|
+
unit = "yr";
|
|
387
|
+
value *= 1000;
|
|
388
|
+
}
|
|
389
|
+
} else if (value > 1000) {
|
|
390
|
+
unit = "Ga";
|
|
391
|
+
value /= 1000;
|
|
392
|
+
}
|
|
393
|
+
|
|
394
|
+
return [value, unit];
|
|
395
|
+
}
|
|
396
|
+
|
|
397
|
+
export function AgeLabel({
|
|
398
|
+
age,
|
|
399
|
+
maximumFractionDigits = 2,
|
|
400
|
+
minimumFractionDigits = 0,
|
|
401
|
+
className,
|
|
402
|
+
}: {
|
|
403
|
+
age: number;
|
|
404
|
+
className?: string;
|
|
405
|
+
maximumFractionDigits?: number;
|
|
406
|
+
minimumFractionDigits?: number;
|
|
407
|
+
}) {
|
|
408
|
+
/** Component to display a single age value with unit conversion from
|
|
409
|
+
* Ma to ka or Ga as appropriate.
|
|
410
|
+
*/
|
|
411
|
+
const [value, unit] = getAge(age);
|
|
412
|
+
|
|
413
|
+
const _value = value.toLocaleString("en-US", {
|
|
414
|
+
maximumFractionDigits,
|
|
415
|
+
minimumFractionDigits,
|
|
416
|
+
});
|
|
417
|
+
|
|
418
|
+
return h(Value, { value: _value, unit, className });
|
|
419
|
+
}
|
|
420
|
+
|
|
349
421
|
export function Duration({
|
|
350
422
|
value,
|
|
351
423
|
maximumFractionDigits = 2,
|
|
@@ -374,7 +446,7 @@ export function Duration({
|
|
|
374
446
|
|
|
375
447
|
function enhanceEnvironments(
|
|
376
448
|
environments: Partial<Environment>[],
|
|
377
|
-
envMap: Map<number, Environment
|
|
449
|
+
envMap: Map<number, Environment>,
|
|
378
450
|
) {
|
|
379
451
|
return environments.map((env) => {
|
|
380
452
|
return {
|
|
@@ -386,7 +458,7 @@ function enhanceEnvironments(
|
|
|
386
458
|
|
|
387
459
|
function enhanceLithologies(
|
|
388
460
|
lithologies: Partial<UnitLong["lith"]>,
|
|
389
|
-
lithMap: Map<number, any
|
|
461
|
+
lithMap: Map<number, any>,
|
|
390
462
|
) {
|
|
391
463
|
return lithologies.map((lith) => {
|
|
392
464
|
return {
|
|
@@ -422,13 +494,13 @@ function UnitIDList({ units, selectUnit }) {
|
|
|
422
494
|
},
|
|
423
495
|
key: unit.id,
|
|
424
496
|
},
|
|
425
|
-
unit
|
|
497
|
+
unit,
|
|
426
498
|
);
|
|
427
|
-
})
|
|
499
|
+
}),
|
|
428
500
|
);
|
|
429
501
|
}
|
|
430
502
|
|
|
431
|
-
function IntervalProportions({ unit }) {
|
|
503
|
+
function IntervalProportions({ unit, onClickItem }) {
|
|
432
504
|
const i0 = unit.b_int_id;
|
|
433
505
|
const i1 = unit.t_int_id;
|
|
434
506
|
let b_prop = unit.b_prop ?? 0;
|
|
@@ -456,14 +528,26 @@ function IntervalProportions({ unit }) {
|
|
|
456
528
|
p0 = h("span.joint-proportion", [p0, h("span.sep", "to"), p1]);
|
|
457
529
|
}
|
|
458
530
|
|
|
531
|
+
const clickable = onClickItem != null;
|
|
532
|
+
|
|
533
|
+
const handleClick = (event: MouseEvent) => {
|
|
534
|
+
if (onClickItem) {
|
|
535
|
+
onClickItem({ event, data: interval0 });
|
|
536
|
+
}
|
|
537
|
+
};
|
|
538
|
+
|
|
459
539
|
return h("div.interval-proportions", [
|
|
460
540
|
h(IntervalTag, {
|
|
541
|
+
className: clickable ? "clickable" : "",
|
|
542
|
+
onClick: clickable ? handleClick : undefined,
|
|
461
543
|
interval: interval0,
|
|
462
544
|
prefix: p0,
|
|
463
545
|
}),
|
|
464
546
|
h.if(i0 != i1)("span.discourage-break", [
|
|
465
547
|
h("span.sep", "to"),
|
|
466
548
|
h(IntervalTag, {
|
|
549
|
+
className: clickable ? "clickable" : "",
|
|
550
|
+
onClick: clickable ? handleClick : undefined,
|
|
467
551
|
interval: {
|
|
468
552
|
...int1,
|
|
469
553
|
id: i1,
|
|
@@ -501,7 +585,7 @@ function formatRange(min, max, precision = null) {
|
|
|
501
585
|
|
|
502
586
|
return `${formatSignificance(min, precision)}–${formatSignificance(
|
|
503
587
|
max,
|
|
504
|
-
precision
|
|
588
|
+
precision,
|
|
505
589
|
)}`;
|
|
506
590
|
}
|
|
507
591
|
|
|
@@ -34,8 +34,8 @@ export function UnitDetailsPopover({
|
|
|
34
34
|
preventOverflow: { options: { padding: viewportPadding } },
|
|
35
35
|
},
|
|
36
36
|
},
|
|
37
|
-
h("span.popover-target")
|
|
38
|
-
)
|
|
37
|
+
h("span.popover-target"),
|
|
38
|
+
),
|
|
39
39
|
);
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -48,7 +48,7 @@ function InteractionBarrier({ children }) {
|
|
|
48
48
|
e.stopPropagation();
|
|
49
49
|
},
|
|
50
50
|
},
|
|
51
|
-
children
|
|
51
|
+
children,
|
|
52
52
|
);
|
|
53
53
|
}
|
|
54
54
|
|
|
@@ -76,7 +76,7 @@ export function UnitSelectionPopover() {
|
|
|
76
76
|
unit,
|
|
77
77
|
showLithologyProportions: true,
|
|
78
78
|
className: "legend-panel",
|
|
79
|
-
})
|
|
80
|
-
)
|
|
79
|
+
}),
|
|
80
|
+
),
|
|
81
81
|
);
|
|
82
82
|
}
|