@macrostrat/column-views 2.0.1 → 2.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +15 -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.134b2e2a.js → column-views.08440694.js} +2 -2
- package/dist/esm/{column-views.134b2e2a.js.map → column-views.08440694.js.map} +1 -1
- package/dist/esm/{column-views.aa9fcdba.js → column-views.0c14e18e.js} +18 -15
- package/dist/esm/column-views.0c14e18e.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.1ece326b.js → column-views.1f123354.js} +60 -11
- package/dist/esm/column-views.1f123354.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.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.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.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.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.fa6f3292.js → column-views.4df0b803.js} +7 -8
- package/dist/esm/column-views.4df0b803.js.map +1 -0
- 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.57636733.css +22 -0
- package/dist/esm/column-views.57636733.css.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.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.dff52504.js → column-views.686d21ad.js} +10 -1
- package/dist/esm/column-views.686d21ad.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.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.650bd9f5.js → column-views.7715e35e.js} +17 -13
- package/dist/esm/column-views.7715e35e.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.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.40c1f361.js → column-views.89b9e542.js} +11 -18
- package/dist/esm/column-views.89b9e542.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.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.e2b9c23c.css → column-views.b17f793f.css} +21 -1
- package/dist/esm/column-views.b17f793f.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.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.9ced149e.js → column-views.c32d6ad0.js} +25 -6
- package/dist/esm/column-views.c32d6ad0.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.f2e5a72f.js → column-views.c8cc249a.js} +3 -3
- package/dist/esm/{column-views.f2e5a72f.js.map → column-views.c8cc249a.js.map} +1 -1
- 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.88de2cee.js → column-views.cfcf6096.js} +4 -4
- package/dist/esm/{column-views.88de2cee.js.map → column-views.cfcf6096.js.map} +1 -1
- 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.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.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/{column-views.f71ec4b4.js → column-views.fdb0e9ec.js} +67 -30
- package/dist/esm/column-views.fdb0e9ec.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.04407342.js +2 -0
- package/dist/node/column-views.04407342.js.map +1 -0
- package/dist/node/column-views.06951a55.js +2 -0
- package/dist/node/column-views.06951a55.js.map +1 -0
- package/dist/node/column-views.06b0534e.js +2 -0
- package/dist/node/column-views.06b0534e.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.10a2bad6.js +2 -0
- package/dist/node/column-views.10a2bad6.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.1e94d562.js +2 -0
- package/dist/node/column-views.1e94d562.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.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.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.41876859.js +2 -0
- package/dist/node/column-views.41876859.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.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.536dc54e.js +2 -0
- package/dist/node/column-views.536dc54e.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.664dc6c9.js +2 -0
- package/dist/node/column-views.664dc6c9.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.6da49480.js +2 -0
- package/dist/node/column-views.6da49480.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.7d45bbeb.js +2 -0
- package/dist/node/column-views.7d45bbeb.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.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.a025fbe3.js +2 -0
- package/dist/node/column-views.a025fbe3.js.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.a501cea0.js +2 -0
- package/dist/node/column-views.a501cea0.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.aff245a8.js +2 -0
- package/dist/node/column-views.aff245a8.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.b773edb8.js +2 -0
- package/dist/node/column-views.b773edb8.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.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.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.e6720522.js +2 -0
- package/dist/node/column-views.e6720522.js.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.ecc2394a.js +2 -0
- package/dist/node/column-views.ecc2394a.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.fdaa2963.js +2 -0
- package/dist/node/column-views.fdaa2963.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 +100 -17
- 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
|
@@ -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
|
|
|
@@ -15,7 +15,13 @@ import {
|
|
|
15
15
|
Value,
|
|
16
16
|
} from "@macrostrat/data-components";
|
|
17
17
|
import { useMacrostratData, useMacrostratDefs } from "../data-provider";
|
|
18
|
-
import {
|
|
18
|
+
import {
|
|
19
|
+
Environment,
|
|
20
|
+
UnitLong,
|
|
21
|
+
UnitLongFull,
|
|
22
|
+
Lithology,
|
|
23
|
+
Interval,
|
|
24
|
+
} from "@macrostrat/api-types";
|
|
19
25
|
import { defaultNameFunction } from "../units/names";
|
|
20
26
|
import classNames from "classnames";
|
|
21
27
|
|
|
@@ -35,6 +41,7 @@ export function UnitDetailsPanel({
|
|
|
35
41
|
actions,
|
|
36
42
|
selectUnit,
|
|
37
43
|
columnUnits,
|
|
44
|
+
onClickItem,
|
|
38
45
|
}: {
|
|
39
46
|
unit: any;
|
|
40
47
|
onClose?: any;
|
|
@@ -45,6 +52,7 @@ export function UnitDetailsPanel({
|
|
|
45
52
|
lithologyFeatures?: Set<LithologyTagFeature>;
|
|
46
53
|
columnUnits?: UnitLong[];
|
|
47
54
|
selectUnit?: (unitID: number) => void;
|
|
55
|
+
onClickItem?: (item: any) => void;
|
|
48
56
|
}) {
|
|
49
57
|
const [showJSON, setShowJSON] = useState(false);
|
|
50
58
|
|
|
@@ -52,7 +60,12 @@ export function UnitDetailsPanel({
|
|
|
52
60
|
if (showJSON) {
|
|
53
61
|
content = h(JSONView, { data: unit, showRoot: false });
|
|
54
62
|
} else {
|
|
55
|
-
content = h(UnitDetailsContent, {
|
|
63
|
+
content = h(UnitDetailsContent, {
|
|
64
|
+
unit,
|
|
65
|
+
features,
|
|
66
|
+
lithologyFeatures,
|
|
67
|
+
onClickItem,
|
|
68
|
+
});
|
|
56
69
|
}
|
|
57
70
|
|
|
58
71
|
let title = defaultNameFunction(unit);
|
|
@@ -136,12 +149,19 @@ function UnitDetailsContent({
|
|
|
136
149
|
UnitDetailsFeature.AdjacentUnits,
|
|
137
150
|
UnitDetailsFeature.OutcropType,
|
|
138
151
|
]),
|
|
152
|
+
onClickItem,
|
|
153
|
+
getItemHref,
|
|
139
154
|
}: {
|
|
140
155
|
unit: UnitLong;
|
|
141
156
|
selectUnit?: (unitID: number) => void;
|
|
142
157
|
columnUnits?: UnitLong[];
|
|
143
158
|
lithologyFeatures?: Set<LithologyTagFeature>;
|
|
144
159
|
features?: Set<UnitDetailsFeature>;
|
|
160
|
+
onClickItem?: (
|
|
161
|
+
event: MouseEvent,
|
|
162
|
+
item: Lithology | Environment | UnitLong | Interval,
|
|
163
|
+
) => void;
|
|
164
|
+
getItemHref?: (item: Lithology | Environment | UnitLong) => string | null;
|
|
145
165
|
}) {
|
|
146
166
|
const lithMap = useMacrostratDefs("lithologies");
|
|
147
167
|
const envMap = useMacrostratDefs("environments");
|
|
@@ -190,7 +210,7 @@ function UnitDetailsContent({
|
|
|
190
210
|
value: formatRange(unit.b_pos, unit.t_pos),
|
|
191
211
|
children: h(
|
|
192
212
|
Parenthetical,
|
|
193
|
-
h(Value, { value: thickness, unit: thicknessUnit })
|
|
213
|
+
h(Value, { value: thickness, unit: thicknessUnit }),
|
|
194
214
|
),
|
|
195
215
|
});
|
|
196
216
|
}
|
|
@@ -215,37 +235,46 @@ function UnitDetailsContent({
|
|
|
215
235
|
label: "Lithology",
|
|
216
236
|
lithologies,
|
|
217
237
|
features: lithologyFeatures,
|
|
238
|
+
getItemHref,
|
|
239
|
+
onClickItem,
|
|
218
240
|
}),
|
|
219
241
|
h(AgeField, { unit }, [
|
|
220
242
|
h(Parenthetical, h(Duration, { value: unit.b_age - unit.t_age })),
|
|
221
|
-
h(IntervalProportions, {
|
|
243
|
+
h(IntervalProportions, {
|
|
244
|
+
unit,
|
|
245
|
+
onClickItem,
|
|
246
|
+
}),
|
|
222
247
|
]),
|
|
223
|
-
h(EnvironmentsList, {
|
|
248
|
+
h(EnvironmentsList, {
|
|
249
|
+
environments,
|
|
250
|
+
onClickItem,
|
|
251
|
+
getItemHref,
|
|
252
|
+
}),
|
|
224
253
|
h.if(unit.strat_name_id != null)(
|
|
225
254
|
DataField,
|
|
226
255
|
{
|
|
227
256
|
label: "Stratigraphic name",
|
|
228
257
|
},
|
|
229
|
-
h("span.strat-name-id", unit.strat_name_id)
|
|
258
|
+
h("span.strat-name-id", unit.strat_name_id),
|
|
230
259
|
),
|
|
231
260
|
outcropField,
|
|
232
261
|
h.if(features.has(UnitDetailsFeature.AdjacentUnits))([
|
|
233
262
|
h(
|
|
234
263
|
DataField,
|
|
235
264
|
{ label: "Above" },
|
|
236
|
-
h(UnitIDList, { units: unit.units_above, selectUnit })
|
|
265
|
+
h(UnitIDList, { units: unit.units_above, selectUnit }),
|
|
237
266
|
),
|
|
238
267
|
h(
|
|
239
268
|
DataField,
|
|
240
269
|
{ label: "Below" },
|
|
241
|
-
h(UnitIDList, { units: unit.units_below, selectUnit })
|
|
270
|
+
h(UnitIDList, { units: unit.units_below, selectUnit }),
|
|
242
271
|
),
|
|
243
272
|
]),
|
|
244
273
|
colorSwatch,
|
|
245
274
|
h(
|
|
246
275
|
DataField,
|
|
247
276
|
{ label: "Source", inline: true },
|
|
248
|
-
h(BibInfo, { refs: unit.refs })
|
|
277
|
+
h(BibInfo, { refs: unit.refs }),
|
|
249
278
|
),
|
|
250
279
|
]);
|
|
251
280
|
}
|
|
@@ -300,7 +329,7 @@ function BibInfo({ refs }) {
|
|
|
300
329
|
|
|
301
330
|
return h(
|
|
302
331
|
"ul.refs",
|
|
303
|
-
refData.map((data, i) => h(Citation, { data, tag: "li", key: i }))
|
|
332
|
+
refData.map((data, i) => h(Citation, { data, tag: "li", key: i })),
|
|
304
333
|
);
|
|
305
334
|
}
|
|
306
335
|
|
|
@@ -324,7 +353,7 @@ function AgeField({ unit, children }) {
|
|
|
324
353
|
value: formatRange(b_age, t_age),
|
|
325
354
|
unit: _unit,
|
|
326
355
|
},
|
|
327
|
-
children
|
|
356
|
+
children,
|
|
328
357
|
);
|
|
329
358
|
}
|
|
330
359
|
|
|
@@ -346,6 +375,48 @@ function getAgeRange(_unit) {
|
|
|
346
375
|
return [b_age, t_age, unit];
|
|
347
376
|
}
|
|
348
377
|
|
|
378
|
+
function getAge(value) {
|
|
379
|
+
/** Get the age value in Ma, ka, or Ga as appropriate */
|
|
380
|
+
let unit = "Ma";
|
|
381
|
+
if (value < 0.8) {
|
|
382
|
+
unit = "ka";
|
|
383
|
+
value *= 1000;
|
|
384
|
+
if (value < 5) {
|
|
385
|
+
unit = "yr";
|
|
386
|
+
value *= 1000;
|
|
387
|
+
}
|
|
388
|
+
} else if (value > 1000) {
|
|
389
|
+
unit = "Ga";
|
|
390
|
+
value /= 1000;
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
return [value, unit];
|
|
394
|
+
}
|
|
395
|
+
|
|
396
|
+
export function AgeLabel({
|
|
397
|
+
age,
|
|
398
|
+
maximumFractionDigits = 2,
|
|
399
|
+
minimumFractionDigits = 0,
|
|
400
|
+
className,
|
|
401
|
+
}: {
|
|
402
|
+
age: number;
|
|
403
|
+
className?: string;
|
|
404
|
+
maximumFractionDigits?: number;
|
|
405
|
+
minimumFractionDigits?: number;
|
|
406
|
+
}) {
|
|
407
|
+
/** Component to display a single age value with unit conversion from
|
|
408
|
+
* Ma to ka or Ga as appropriate.
|
|
409
|
+
*/
|
|
410
|
+
const [value, unit] = getAge(age);
|
|
411
|
+
|
|
412
|
+
const _value = value.toLocaleString("en-US", {
|
|
413
|
+
maximumFractionDigits,
|
|
414
|
+
minimumFractionDigits,
|
|
415
|
+
});
|
|
416
|
+
|
|
417
|
+
return h(Value, { value: _value, unit, className });
|
|
418
|
+
}
|
|
419
|
+
|
|
349
420
|
export function Duration({
|
|
350
421
|
value,
|
|
351
422
|
maximumFractionDigits = 2,
|
|
@@ -374,7 +445,7 @@ export function Duration({
|
|
|
374
445
|
|
|
375
446
|
function enhanceEnvironments(
|
|
376
447
|
environments: Partial<Environment>[],
|
|
377
|
-
envMap: Map<number, Environment
|
|
448
|
+
envMap: Map<number, Environment>,
|
|
378
449
|
) {
|
|
379
450
|
return environments.map((env) => {
|
|
380
451
|
return {
|
|
@@ -386,7 +457,7 @@ function enhanceEnvironments(
|
|
|
386
457
|
|
|
387
458
|
function enhanceLithologies(
|
|
388
459
|
lithologies: Partial<UnitLong["lith"]>,
|
|
389
|
-
lithMap: Map<number, any
|
|
460
|
+
lithMap: Map<number, any>,
|
|
390
461
|
) {
|
|
391
462
|
return lithologies.map((lith) => {
|
|
392
463
|
return {
|
|
@@ -422,13 +493,13 @@ function UnitIDList({ units, selectUnit }) {
|
|
|
422
493
|
},
|
|
423
494
|
key: unit.id,
|
|
424
495
|
},
|
|
425
|
-
unit
|
|
496
|
+
unit,
|
|
426
497
|
);
|
|
427
|
-
})
|
|
498
|
+
}),
|
|
428
499
|
);
|
|
429
500
|
}
|
|
430
501
|
|
|
431
|
-
function IntervalProportions({ unit }) {
|
|
502
|
+
function IntervalProportions({ unit, onClickItem }) {
|
|
432
503
|
const i0 = unit.b_int_id;
|
|
433
504
|
const i1 = unit.t_int_id;
|
|
434
505
|
let b_prop = unit.b_prop ?? 0;
|
|
@@ -456,14 +527,26 @@ function IntervalProportions({ unit }) {
|
|
|
456
527
|
p0 = h("span.joint-proportion", [p0, h("span.sep", "to"), p1]);
|
|
457
528
|
}
|
|
458
529
|
|
|
530
|
+
const clickable = onClickItem != null;
|
|
531
|
+
|
|
532
|
+
const handleClick = (event: MouseEvent) => {
|
|
533
|
+
if (onClickItem) {
|
|
534
|
+
onClickItem({ event, data: interval0 });
|
|
535
|
+
}
|
|
536
|
+
};
|
|
537
|
+
|
|
459
538
|
return h("div.interval-proportions", [
|
|
460
539
|
h(IntervalTag, {
|
|
540
|
+
className: clickable ? "clickable" : "",
|
|
541
|
+
onClick: clickable ? handleClick : undefined,
|
|
461
542
|
interval: interval0,
|
|
462
543
|
prefix: p0,
|
|
463
544
|
}),
|
|
464
545
|
h.if(i0 != i1)("span.discourage-break", [
|
|
465
546
|
h("span.sep", "to"),
|
|
466
547
|
h(IntervalTag, {
|
|
548
|
+
className: clickable ? "clickable" : "",
|
|
549
|
+
onClick: clickable ? handleClick : undefined,
|
|
467
550
|
interval: {
|
|
468
551
|
...int1,
|
|
469
552
|
id: i1,
|
|
@@ -501,7 +584,7 @@ function formatRange(min, max, precision = null) {
|
|
|
501
584
|
|
|
502
585
|
return `${formatSignificance(min, precision)}–${formatSignificance(
|
|
503
586
|
max,
|
|
504
|
-
precision
|
|
587
|
+
precision,
|
|
505
588
|
)}`;
|
|
506
589
|
}
|
|
507
590
|
|
|
@@ -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
|
}
|
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) {
|