@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
package/src/units/boxes.ts
CHANGED
|
@@ -41,6 +41,7 @@ interface UnitProps extends Clickable, Partial<RectBounds>, UnitRectOptions {
|
|
|
41
41
|
fill?: string;
|
|
42
42
|
backgroundColor?: string;
|
|
43
43
|
patternColor?: string;
|
|
44
|
+
patternID?: string | number;
|
|
44
45
|
}
|
|
45
46
|
|
|
46
47
|
export interface LabeledUnitProps
|
|
@@ -48,6 +49,7 @@ export interface LabeledUnitProps
|
|
|
48
49
|
Clickable,
|
|
49
50
|
Partial<RectBounds> {
|
|
50
51
|
division: IUnit;
|
|
52
|
+
patternID?: string | number;
|
|
51
53
|
label: string;
|
|
52
54
|
onLabelUpdated?(label: string, shown: boolean);
|
|
53
55
|
halfWidth?: boolean;
|
|
@@ -57,7 +59,7 @@ export interface LabeledUnitProps
|
|
|
57
59
|
|
|
58
60
|
function useUnitRect(
|
|
59
61
|
division: IUnit,
|
|
60
|
-
options: UnitRectOptions = {}
|
|
62
|
+
options: UnitRectOptions = {},
|
|
61
63
|
): RectBounds {
|
|
62
64
|
const {
|
|
63
65
|
widthFraction = 1,
|
|
@@ -121,7 +123,7 @@ export function MinimalUnit(props) {
|
|
|
121
123
|
onClick,
|
|
122
124
|
}),
|
|
123
125
|
h.if(selected)("rect.selection-overlay", bounds),
|
|
124
|
-
]
|
|
126
|
+
],
|
|
125
127
|
);
|
|
126
128
|
}
|
|
127
129
|
|
|
@@ -135,6 +137,7 @@ function Unit(props: UnitProps) {
|
|
|
135
137
|
widthFraction = 1,
|
|
136
138
|
backgroundColor,
|
|
137
139
|
patternColor,
|
|
140
|
+
patternID,
|
|
138
141
|
axisType: _, // not sure why this is brought in...
|
|
139
142
|
...baseBounds
|
|
140
143
|
} = props;
|
|
@@ -150,8 +153,8 @@ function Unit(props: UnitProps) {
|
|
|
150
153
|
overflowTop: hasOverflowTop,
|
|
151
154
|
overflowBottom: hasOverflowBottom,
|
|
152
155
|
};
|
|
153
|
-
const
|
|
154
|
-
let _fill = fill ?? useGeologicPattern(
|
|
156
|
+
const _patternID = patternID ?? resolveID(d);
|
|
157
|
+
let _fill = fill ?? useGeologicPattern(_patternID, defaultFill);
|
|
155
158
|
|
|
156
159
|
const hasBackgroundColor = backgroundColor != null;
|
|
157
160
|
|
|
@@ -187,7 +190,7 @@ function Unit(props: UnitProps) {
|
|
|
187
190
|
h.if(selected)(UnitRect, { ...bounds, className: "selection-overlay" }),
|
|
188
191
|
//defs,
|
|
189
192
|
children,
|
|
190
|
-
]
|
|
193
|
+
],
|
|
191
194
|
);
|
|
192
195
|
}
|
|
193
196
|
|
|
@@ -304,6 +307,7 @@ function LabeledUnit(props: LabeledUnitProps) {
|
|
|
304
307
|
widthFraction,
|
|
305
308
|
showLabel = true,
|
|
306
309
|
backgroundColor,
|
|
310
|
+
patternID,
|
|
307
311
|
axisType: _, // not sure why this is brought in...
|
|
308
312
|
...baseBounds
|
|
309
313
|
} = props;
|
|
@@ -316,7 +320,13 @@ function LabeledUnit(props: LabeledUnitProps) {
|
|
|
316
320
|
const { width, height } = bounds;
|
|
317
321
|
return h(
|
|
318
322
|
Unit,
|
|
319
|
-
{
|
|
323
|
+
{
|
|
324
|
+
className: "labeled-unit",
|
|
325
|
+
division,
|
|
326
|
+
backgroundColor,
|
|
327
|
+
patternID,
|
|
328
|
+
...bounds,
|
|
329
|
+
},
|
|
320
330
|
[
|
|
321
331
|
h.if(showLabel)(
|
|
322
332
|
ForeignObject,
|
|
@@ -329,9 +339,9 @@ function LabeledUnit(props: LabeledUnitProps) {
|
|
|
329
339
|
onVisibilityChanged(viz) {
|
|
330
340
|
onLabelUpdated(label, viz);
|
|
331
341
|
},
|
|
332
|
-
})
|
|
342
|
+
}),
|
|
333
343
|
),
|
|
334
|
-
]
|
|
344
|
+
],
|
|
335
345
|
);
|
|
336
346
|
}
|
|
337
347
|
|
|
@@ -342,7 +352,7 @@ function UnitBoxes<T>(props: {
|
|
|
342
352
|
transformDivision?: (
|
|
343
353
|
division: any,
|
|
344
354
|
index: number,
|
|
345
|
-
divisions: any[]
|
|
355
|
+
divisions: any[],
|
|
346
356
|
) => T | null;
|
|
347
357
|
}) {
|
|
348
358
|
const { unitComponent = Unit, unitComponentProps = {} } = props;
|
|
@@ -367,7 +377,7 @@ function UnitBoxes<T>(props: {
|
|
|
367
377
|
return h(
|
|
368
378
|
PatternDefsProvider,
|
|
369
379
|
{ resolveID, scalePattern },
|
|
370
|
-
h("g.divisions", children)
|
|
380
|
+
h("g.divisions", children),
|
|
371
381
|
);
|
|
372
382
|
}
|
|
373
383
|
|
package/src/units/colors.ts
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import chroma from "chroma-js";
|
|
2
2
|
import { UnitLong } from "@macrostrat/api-types";
|
|
3
3
|
|
|
4
|
+
interface KeyOptions {
|
|
5
|
+
key?: string;
|
|
6
|
+
id_key?: string;
|
|
7
|
+
}
|
|
8
|
+
|
|
4
9
|
export function getMixedUnitColor(
|
|
5
10
|
unit: UnitLong,
|
|
6
11
|
lithMap,
|
|
7
12
|
inDarkMode = false,
|
|
8
|
-
asBackground = true
|
|
13
|
+
asBackground = true,
|
|
14
|
+
keyOpts: KeyOptions = null,
|
|
9
15
|
): string | null {
|
|
10
|
-
const
|
|
16
|
+
const { key = "lith", id_key = "lith_id" } = keyOpts ?? {};
|
|
17
|
+
const liths = unit[key];
|
|
11
18
|
if (liths == null) {
|
|
12
19
|
return "gray";
|
|
13
20
|
}
|
|
@@ -18,9 +25,9 @@ export function getMixedUnitColor(
|
|
|
18
25
|
prop = null;
|
|
19
26
|
}
|
|
20
27
|
return {
|
|
21
|
-
lith_id: d
|
|
28
|
+
lith_id: d[id_key],
|
|
22
29
|
prop,
|
|
23
|
-
color: lithMap?.get(d
|
|
30
|
+
color: lithMap?.get(d[id_key])?.color,
|
|
24
31
|
};
|
|
25
32
|
})
|
|
26
33
|
.filter((d) => d.color != null);
|
|
@@ -49,7 +56,7 @@ export function getMixedUnitColor(
|
|
|
49
56
|
const baseColor = chroma.average(
|
|
50
57
|
lithsWithProp.map((d) => d.color),
|
|
51
58
|
"lrgb",
|
|
52
|
-
lithsWithProp.map((d) => d.prop)
|
|
59
|
+
lithsWithProp.map((d) => d.prop),
|
|
53
60
|
);
|
|
54
61
|
|
|
55
62
|
if (!asBackground) {
|
package/src/units/composite.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { hyperStyled } from "@macrostrat/hyper";
|
|
2
2
|
import {
|
|
3
3
|
LithologyColumn,
|
|
4
|
-
ColumnAxisType,
|
|
5
4
|
SVG,
|
|
6
5
|
ColumnContext,
|
|
7
6
|
} from "@macrostrat/column-components";
|
|
@@ -18,6 +17,7 @@ import { BaseUnit } from "@macrostrat/api-types";
|
|
|
18
17
|
import { LabeledUnit, UnitBoxes } from "./boxes";
|
|
19
18
|
import styles from "./composite.module.sass";
|
|
20
19
|
import { useMacrostratColumnData } from "../data-provider";
|
|
20
|
+
import { useUnitSelectionDispatch } from "../units";
|
|
21
21
|
|
|
22
22
|
const h = hyperStyled(styles);
|
|
23
23
|
|
|
@@ -49,11 +49,11 @@ export function LabelTrackerProvider(props) {
|
|
|
49
49
|
units.filter((d) => {
|
|
50
50
|
const id = findUnitID(d);
|
|
51
51
|
return labelTrackerRef.current[id] == false;
|
|
52
|
-
})
|
|
52
|
+
}),
|
|
53
53
|
);
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
|
-
[labelTrackerRef, units, findUnitID]
|
|
56
|
+
[labelTrackerRef, units, findUnitID],
|
|
57
57
|
);
|
|
58
58
|
|
|
59
59
|
const value = trackLabelVisibility;
|
|
@@ -63,8 +63,8 @@ export function LabelTrackerProvider(props) {
|
|
|
63
63
|
h(
|
|
64
64
|
UnlabeledDivisionsContext.Provider,
|
|
65
65
|
{ value: unlabeledDivisions },
|
|
66
|
-
children
|
|
67
|
-
)
|
|
66
|
+
children,
|
|
67
|
+
),
|
|
68
68
|
);
|
|
69
69
|
}
|
|
70
70
|
|
|
@@ -141,7 +141,7 @@ export function CompositeUnitsColumn(props: CompositeUnitProps) {
|
|
|
141
141
|
export function AnnotatedUnitsColumn(props: ICompositeUnitProps) {
|
|
142
142
|
useEffect(() => {
|
|
143
143
|
console.warn(
|
|
144
|
-
"AnnotatedUnitsColumn is deprecated and currently renders a no-op for transition purposes"
|
|
144
|
+
"AnnotatedUnitsColumn is deprecated and currently renders a no-op for transition purposes",
|
|
145
145
|
);
|
|
146
146
|
}, []);
|
|
147
147
|
return null;
|
|
@@ -164,6 +164,8 @@ export function SectionLabelsColumn(props: ICompositeUnitProps) {
|
|
|
164
164
|
|
|
165
165
|
const _compositeScale = compositeScale(sections);
|
|
166
166
|
|
|
167
|
+
const selectUnit = useUnitSelectionDispatch();
|
|
168
|
+
|
|
167
169
|
return h("div.section-labels-column", [
|
|
168
170
|
h(
|
|
169
171
|
ColumnNotesProvider,
|
|
@@ -188,8 +190,11 @@ export function SectionLabelsColumn(props: ICompositeUnitProps) {
|
|
|
188
190
|
noteComponent,
|
|
189
191
|
shouldRenderNote,
|
|
190
192
|
scale: _compositeScale,
|
|
191
|
-
|
|
192
|
-
|
|
193
|
+
onClickNote(note) {
|
|
194
|
+
selectUnit(note.data, null, null);
|
|
195
|
+
},
|
|
196
|
+
}),
|
|
197
|
+
),
|
|
193
198
|
),
|
|
194
199
|
]);
|
|
195
200
|
}
|
|
@@ -206,7 +211,7 @@ export interface CompositeColumnScale {
|
|
|
206
211
|
|
|
207
212
|
export function compositeScale(
|
|
208
213
|
sections,
|
|
209
|
-
opts: CompositeScaleOpts = {}
|
|
214
|
+
opts: CompositeScaleOpts = {},
|
|
210
215
|
): CompositeColumnScale {
|
|
211
216
|
/** A basic composite scale that works across all sections. This isn't a fully featured,
|
|
212
217
|
* contiuous D3 scale, but it shares enough attributes to be useful for
|
|
@@ -245,7 +250,7 @@ export function compositeScale(
|
|
|
245
250
|
return baseScale as CompositeColumnScale;
|
|
246
251
|
}
|
|
247
252
|
|
|
248
|
-
function ColumnNotesProvider(props) {
|
|
253
|
+
export function ColumnNotesProvider(props) {
|
|
249
254
|
// A fake column axis provider that allows scales to cross
|
|
250
255
|
const { children, scale, totalHeight, pixelScale } = props;
|
|
251
256
|
|
|
@@ -264,7 +269,7 @@ function ColumnNotesProvider(props) {
|
|
|
264
269
|
zoom: 1,
|
|
265
270
|
},
|
|
266
271
|
},
|
|
267
|
-
children
|
|
272
|
+
children,
|
|
268
273
|
);
|
|
269
274
|
}
|
|
270
275
|
|
package/src/units/index.ts
CHANGED
|
@@ -5,12 +5,12 @@ import {
|
|
|
5
5
|
} from "@macrostrat/column-components";
|
|
6
6
|
import { UnitNamesColumn } from "./names";
|
|
7
7
|
import { ICompositeUnitProps } from "./composite";
|
|
8
|
-
import { UnitBoxes } from "./boxes";
|
|
8
|
+
import { UnitBoxes, UnitProps } from "./boxes";
|
|
9
9
|
import { useColumnLayout } from "@macrostrat/column-components";
|
|
10
10
|
import { useInDarkMode } from "@macrostrat/ui-components";
|
|
11
11
|
import { getMixedUnitColor } from "./colors";
|
|
12
12
|
import { TrackedLabeledUnit } from "./composite";
|
|
13
|
-
import { useLithologies } from "../data-provider";
|
|
13
|
+
import { useEnvironments, useLithologies } from "../data-provider";
|
|
14
14
|
import { useMemo } from "react";
|
|
15
15
|
import { resolveID } from "./resolvers";
|
|
16
16
|
import { Lithology } from "@macrostrat/api-types";
|
|
@@ -46,33 +46,100 @@ export function SimpleUnitsColumn(props: ICompositeUnitProps) {
|
|
|
46
46
|
]);
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
+
export function BasicUnitComponent({ division, ...rest }) {
|
|
50
|
+
/** A unit that allows directly setting colors and patterns. */
|
|
51
|
+
|
|
52
|
+
return h(UnitComponent, {
|
|
53
|
+
division,
|
|
54
|
+
...rest,
|
|
55
|
+
backgroundColor: division.color,
|
|
56
|
+
patternID: division.patternID,
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
|
|
49
60
|
export function UnitComponent({ division, nColumns = 2, ...rest }) {
|
|
50
61
|
const width = rest.width ?? useColumnLayout()?.width;
|
|
51
62
|
|
|
52
63
|
const nOverlappingUnits = division.overlappingUnits?.length ?? 0;
|
|
53
|
-
const
|
|
64
|
+
const _nColumns = nOverlappingUnits == 0 ? 1 : nColumns;
|
|
65
|
+
const columnIx = (division.column ?? 0) % _nColumns;
|
|
66
|
+
const reducedWidth = width / _nColumns;
|
|
67
|
+
const x = (columnIx * width) / _nColumns;
|
|
54
68
|
|
|
55
69
|
return h(TrackedLabeledUnit, {
|
|
56
70
|
division,
|
|
57
71
|
...rest,
|
|
58
|
-
width:
|
|
59
|
-
x
|
|
72
|
+
width: reducedWidth,
|
|
73
|
+
x,
|
|
60
74
|
});
|
|
61
75
|
}
|
|
62
76
|
|
|
77
|
+
interface UnitColorOptions {
|
|
78
|
+
asBackground?: boolean;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export function useUnitColor(unit, opts: UnitColorOptions = {}): string | null {
|
|
82
|
+
/** Get the color for a unit based on its lithology */
|
|
83
|
+
const lithMap = useLithologies();
|
|
84
|
+
const inDarkMode = useInDarkMode();
|
|
85
|
+
const { asBackground = true } = opts;
|
|
86
|
+
|
|
87
|
+
return useMemo(() => {
|
|
88
|
+
if (unit == null || lithMap == null) return null;
|
|
89
|
+
return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);
|
|
90
|
+
}, [unit?.unit_id, lithMap, inDarkMode, asBackground]);
|
|
91
|
+
}
|
|
92
|
+
|
|
63
93
|
export function ColoredUnitComponent(props) {
|
|
64
94
|
/** A unit component that is colored using a mixture of lithologies.
|
|
65
95
|
* This is a separate component because it depends on more providers/contexts to determine coloring. */
|
|
96
|
+
const backgroundColor = useUnitColor(props.division);
|
|
97
|
+
|
|
98
|
+
const patternID = useMemo(() => {
|
|
99
|
+
return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);
|
|
100
|
+
}, [props.division?.unit_id]);
|
|
101
|
+
|
|
102
|
+
const fill = useGeologicPattern(patternID);
|
|
103
|
+
|
|
104
|
+
return h(UnitComponent, {
|
|
105
|
+
fill,
|
|
106
|
+
backgroundColor,
|
|
107
|
+
...props,
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export function useUnitColorByEnvironment(
|
|
112
|
+
unit,
|
|
113
|
+
opts: UnitColorOptions = {},
|
|
114
|
+
): string | null {
|
|
115
|
+
/** Get the color for a unit based on its lithology */
|
|
116
|
+
const environmentMap = useEnvironments();
|
|
66
117
|
const lithMap = useLithologies();
|
|
67
118
|
const inDarkMode = useInDarkMode();
|
|
119
|
+
const { asBackground = true } = opts;
|
|
120
|
+
|
|
121
|
+
return useMemo(() => {
|
|
122
|
+
if (unit == null || environmentMap == null) return null;
|
|
123
|
+
let c = getMixedUnitColor(unit, environmentMap, inDarkMode, asBackground, {
|
|
124
|
+
key: "environ",
|
|
125
|
+
id_key: "environ_id",
|
|
126
|
+
});
|
|
127
|
+
if (c != null) {
|
|
128
|
+
return c;
|
|
129
|
+
}
|
|
130
|
+
// Fallback to lithology color if no environment color is found
|
|
131
|
+
return getMixedUnitColor(unit, lithMap, inDarkMode, asBackground);
|
|
132
|
+
}, [unit?.unit_id, environmentMap, lithMap, inDarkMode, asBackground]);
|
|
133
|
+
}
|
|
68
134
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
135
|
+
export function EnvironmentColoredUnitComponent(props) {
|
|
136
|
+
/** A unit component that is colored using a mixture of lithologies.
|
|
137
|
+
* This is a separate component because it depends on more providers/contexts to determine coloring. */
|
|
138
|
+
const backgroundColor = useUnitColorByEnvironment(props.division);
|
|
72
139
|
|
|
73
140
|
const patternID = useMemo(() => {
|
|
74
141
|
return resolveID(props.division); // ?? getPatternID(props.division.lith, lithMap);
|
|
75
|
-
}, [props.division?.unit_id
|
|
142
|
+
}, [props.division?.unit_id]);
|
|
76
143
|
|
|
77
144
|
const fill = useGeologicPattern(patternID);
|
|
78
145
|
|
|
@@ -85,7 +152,7 @@ export function ColoredUnitComponent(props) {
|
|
|
85
152
|
|
|
86
153
|
function getPatternID(
|
|
87
154
|
liths: Array<Lithology>,
|
|
88
|
-
lithMap: Map<number, Lithology
|
|
155
|
+
lithMap: Map<number, Lithology>,
|
|
89
156
|
): string | null {
|
|
90
157
|
if (lithMap == null || liths == null || liths.length == 0) {
|
|
91
158
|
return null;
|
package/src/units/names.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import h from "@macrostrat/hyper";
|
|
2
|
-
import {
|
|
2
|
+
import { useCallback, useMemo } from "react";
|
|
3
3
|
import {
|
|
4
|
-
ColumnContext,
|
|
5
4
|
ColumnAxisType,
|
|
6
5
|
NotesColumn,
|
|
7
6
|
NotesColumnProps,
|
|
@@ -11,6 +10,7 @@ import { IUnit } from "./types";
|
|
|
11
10
|
import React from "react";
|
|
12
11
|
import { getUnitHeightRange } from "../prepare-units/utils";
|
|
13
12
|
import { CompositeColumnScale } from "./composite";
|
|
13
|
+
import { useCompositeScale, useMacrostratColumnData } from "../data-provider";
|
|
14
14
|
|
|
15
15
|
interface UnitDataProps extends NotesColumnProps {
|
|
16
16
|
left?: number;
|
|
@@ -31,7 +31,7 @@ type UnitNote = {
|
|
|
31
31
|
|
|
32
32
|
function noteForDivision(
|
|
33
33
|
div: IUnit,
|
|
34
|
-
opts: { axisType: ColumnAxisType }
|
|
34
|
+
opts: { axisType: ColumnAxisType },
|
|
35
35
|
): UnitNote {
|
|
36
36
|
const { axisType } = opts;
|
|
37
37
|
|
|
@@ -53,35 +53,34 @@ const defaultNameFunction = (div) => {
|
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
function UnitDataColumn_(props: UnitDataProps) {
|
|
56
|
-
const
|
|
56
|
+
const { axisType, units } = useMacrostratColumnData();
|
|
57
|
+
const scale = useCompositeScale();
|
|
57
58
|
const {
|
|
58
|
-
left,
|
|
59
|
+
left = 0,
|
|
59
60
|
noteComponent,
|
|
60
61
|
shouldRenderNote = (note: ColumnDivision | IUnit, i: number) => true,
|
|
61
62
|
minimumHeight = 0,
|
|
62
|
-
divisions =
|
|
63
|
+
divisions = units,
|
|
63
64
|
...rest
|
|
64
65
|
} = props;
|
|
65
66
|
|
|
66
|
-
const { scale } = ctx;
|
|
67
|
-
|
|
68
67
|
const minimumHeightFilter = useCallback(
|
|
69
68
|
(d) => {
|
|
70
69
|
if (minimumHeight == 0) return true;
|
|
71
70
|
const dy = Math.abs(scale(d.top_height) - scale(d.height));
|
|
72
71
|
return dy > minimumHeight;
|
|
73
72
|
},
|
|
74
|
-
[scale, minimumHeight]
|
|
73
|
+
[scale, minimumHeight],
|
|
75
74
|
);
|
|
76
75
|
|
|
77
76
|
if (divisions == null) return null;
|
|
78
77
|
const notes: UnitNote[] = divisions
|
|
79
78
|
.filter(shouldRenderNote)
|
|
80
|
-
.map((d: IUnit) => noteForDivision(d, { axisType
|
|
79
|
+
.map((d: IUnit) => noteForDivision(d, { axisType }))
|
|
81
80
|
.filter(minimumHeightFilter);
|
|
82
81
|
|
|
83
82
|
return h(NotesColumn, {
|
|
84
|
-
transform: `translate(${left
|
|
83
|
+
transform: `translate(${left})`,
|
|
85
84
|
editable: false,
|
|
86
85
|
noteComponent,
|
|
87
86
|
notes,
|
|
@@ -98,6 +97,7 @@ interface UnitNamesProps extends UnitDataProps {
|
|
|
98
97
|
nameForDivision?(obj: IUnit): string;
|
|
99
98
|
paddingLeft?: number;
|
|
100
99
|
width: number;
|
|
100
|
+
onClickNote?: (note: any) => void;
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
export function UnitNamesColumn(props: UnitNamesProps) {
|
|
@@ -107,13 +107,16 @@ export function UnitNamesColumn(props: UnitNamesProps) {
|
|
|
107
107
|
...rest
|
|
108
108
|
} = props;
|
|
109
109
|
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
110
|
+
const defaultNoteComponent = useMemo(
|
|
111
|
+
() => (props) => {
|
|
112
|
+
const { note } = props;
|
|
113
|
+
return h("p.col-note-label", nameForDivision(note.data));
|
|
114
|
+
},
|
|
115
|
+
[nameForDivision],
|
|
116
|
+
);
|
|
114
117
|
|
|
115
118
|
return h(UnitDataColumn, {
|
|
116
|
-
noteComponent: noteComponent ??
|
|
119
|
+
noteComponent: noteComponent ?? defaultNoteComponent,
|
|
117
120
|
...rest,
|
|
118
121
|
});
|
|
119
122
|
}
|
package/src/units/resolvers.ts
CHANGED
|
@@ -55,6 +55,9 @@ const symbolIndex = {
|
|
|
55
55
|
};
|
|
56
56
|
|
|
57
57
|
const resolveID = (d: any) => {
|
|
58
|
+
if (d.lith == null || d.lith.length == 0) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
58
61
|
let liths = [...d.lith];
|
|
59
62
|
let environs = d.environ.map((d) => d.name).join(" ");
|
|
60
63
|
liths.sort((a, b) => b.prop - a.prop);
|
package/src/units/selection.ts
CHANGED
|
@@ -10,14 +10,19 @@ import {
|
|
|
10
10
|
RefObject,
|
|
11
11
|
useRef,
|
|
12
12
|
useCallback,
|
|
13
|
+
MouseEvent,
|
|
13
14
|
} from "react";
|
|
14
15
|
import { createStore, StoreApi, useStore } from "zustand";
|
|
15
16
|
import type { RectBounds, IUnit } from "./types";
|
|
17
|
+
import {
|
|
18
|
+
getUnitHeightRange,
|
|
19
|
+
useMacrostratColumnData,
|
|
20
|
+
} from "@macrostrat/column-views";
|
|
16
21
|
|
|
17
22
|
type UnitSelectDispatch = (
|
|
18
23
|
unit: BaseUnit | null,
|
|
19
24
|
target: HTMLElement | null,
|
|
20
|
-
event: Event | null
|
|
25
|
+
event: Event | null,
|
|
21
26
|
) => void;
|
|
22
27
|
|
|
23
28
|
const UnitSelectionContext = createContext<StoreApi<UnitSelectionStore>>(null);
|
|
@@ -31,13 +36,11 @@ export function useUnitSelectionDispatch(): UnitSelectDispatch {
|
|
|
31
36
|
}
|
|
32
37
|
|
|
33
38
|
export function useUnitSelectionStore<T>(
|
|
34
|
-
selector: (state: UnitSelectionStore) => T
|
|
39
|
+
selector: (state: UnitSelectionStore) => T,
|
|
35
40
|
): T {
|
|
36
41
|
const store = useContext(UnitSelectionContext);
|
|
37
42
|
if (store == null) {
|
|
38
|
-
|
|
39
|
-
"useUnitSelectionStore must be used within a UnitSelectionProvider"
|
|
40
|
-
);
|
|
43
|
+
return null;
|
|
41
44
|
}
|
|
42
45
|
return useStore(store, selector);
|
|
43
46
|
}
|
|
@@ -54,11 +57,20 @@ interface UnitSelectionStore {
|
|
|
54
57
|
setSelectedUnit: (unit: number | null) => void;
|
|
55
58
|
}
|
|
56
59
|
|
|
60
|
+
export interface ColumnClickData {
|
|
61
|
+
unitID: number | null;
|
|
62
|
+
unit: BaseUnit | null;
|
|
63
|
+
target: HTMLElement | null;
|
|
64
|
+
height: number;
|
|
65
|
+
// Room for boundary IDs eventually
|
|
66
|
+
}
|
|
67
|
+
|
|
57
68
|
export function UnitSelectionProvider<T extends BaseUnit>(props: {
|
|
58
69
|
children: ReactNode;
|
|
59
70
|
columnRef?: RefObject<HTMLElement>;
|
|
60
71
|
units: T[];
|
|
61
72
|
selectedUnit: number | null;
|
|
73
|
+
onClickedColumn?: (columnClickData: ColumnClickData, event: Event) => void;
|
|
62
74
|
onUnitSelected?: (unitID: number | null, unit: T | null) => void;
|
|
63
75
|
}) {
|
|
64
76
|
const [store] = useState(() =>
|
|
@@ -80,10 +92,30 @@ export function UnitSelectionProvider<T extends BaseUnit>(props: {
|
|
|
80
92
|
});
|
|
81
93
|
}
|
|
82
94
|
},
|
|
83
|
-
onUnitSelected: (unit: T, target: HTMLElement, event:
|
|
95
|
+
onUnitSelected: (unit: T, target: HTMLElement, event: PointerEvent) => {
|
|
84
96
|
console.log("onUnitSelected", unit, target, event);
|
|
85
97
|
const el = props.columnRef?.current;
|
|
86
98
|
let overlayPosition = null;
|
|
99
|
+
|
|
100
|
+
/** This is not the natural place to get positions within the column,
|
|
101
|
+
* but it will work for now.
|
|
102
|
+
*/
|
|
103
|
+
if (props.onClickedColumn) {
|
|
104
|
+
// Infer height from top and bottom height of unit (because that's passed back with the call)
|
|
105
|
+
//const py = event.y;
|
|
106
|
+
//const [bottom, top] = getUnitHeightRange(unit, axisType);
|
|
107
|
+
//const height = Math.abs(bottom - top);
|
|
108
|
+
|
|
109
|
+
/** Ideally this would be defined at the column level */
|
|
110
|
+
const columnClickData: ColumnClickData = {
|
|
111
|
+
unitID: unit?.unit_id,
|
|
112
|
+
unit,
|
|
113
|
+
target,
|
|
114
|
+
height: el?.getBoundingClientRect().height || 0,
|
|
115
|
+
};
|
|
116
|
+
props.onClickedColumn(columnClickData, event);
|
|
117
|
+
}
|
|
118
|
+
|
|
87
119
|
if (unit != null && el != null && target != null) {
|
|
88
120
|
const rect = el.getBoundingClientRect();
|
|
89
121
|
const targetRect = target.getBoundingClientRect();
|
|
@@ -103,7 +135,7 @@ export function UnitSelectionProvider<T extends BaseUnit>(props: {
|
|
|
103
135
|
overlayPosition,
|
|
104
136
|
});
|
|
105
137
|
},
|
|
106
|
-
}))
|
|
138
|
+
})),
|
|
107
139
|
);
|
|
108
140
|
|
|
109
141
|
const { units, selectedUnit } = props;
|
|
@@ -122,7 +154,7 @@ export function UnitSelectionProvider<T extends BaseUnit>(props: {
|
|
|
122
154
|
}
|
|
123
155
|
|
|
124
156
|
export function useUnitSelectionTarget(
|
|
125
|
-
unit: IUnit
|
|
157
|
+
unit: IUnit,
|
|
126
158
|
): [React.RefObject<HTMLElement>, boolean, (evt: Event) => void] {
|
|
127
159
|
const ref = useRef<HTMLElement>();
|
|
128
160
|
const selectedUnit = useSelectedUnit();
|
|
@@ -131,14 +163,15 @@ export function useUnitSelectionTarget(
|
|
|
131
163
|
|
|
132
164
|
const onClick = useCallback(
|
|
133
165
|
(evt: Event) => {
|
|
166
|
+
if (onSelectUnit == null) return;
|
|
134
167
|
onSelectUnit(unit, ref.current, evt);
|
|
135
168
|
evt.stopPropagation();
|
|
136
169
|
},
|
|
137
|
-
[unit, onSelectUnit]
|
|
170
|
+
[unit, onSelectUnit],
|
|
138
171
|
);
|
|
139
172
|
|
|
140
173
|
useEffect(() => {
|
|
141
|
-
if (!selected) return;
|
|
174
|
+
if (!selected || onSelectUnit == null) return;
|
|
142
175
|
// In case we haven't set the position of the unit (if we don't have a target), set the selected unit
|
|
143
176
|
onSelectUnit(unit, ref.current, null);
|
|
144
177
|
|
|
@@ -175,7 +208,7 @@ export function UnitKeyboardNavigation<T extends BaseUnit>({
|
|
|
175
208
|
selectUnit(units[nextIx], null, null);
|
|
176
209
|
event.stopPropagation();
|
|
177
210
|
},
|
|
178
|
-
[units, ix]
|
|
211
|
+
[units, ix],
|
|
179
212
|
);
|
|
180
213
|
return null;
|
|
181
214
|
}
|