@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
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file. The format
|
|
|
4
4
|
is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this
|
|
5
5
|
project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [2.1.1] - 2025-06-26
|
|
8
|
+
|
|
9
|
+
- Remove local reference
|
|
10
|
+
|
|
11
|
+
## [2.1.0] - 2025-06-25
|
|
12
|
+
|
|
13
|
+
- `UnitDetailsContent` allows setting item click or href for Environments,
|
|
14
|
+
Lithologies, and Intervals.
|
|
15
|
+
- Add mouseover handlers to allow age cursor to be reported
|
|
16
|
+
- Add an `AgeCursor` component
|
|
17
|
+
- Reactivate carbon isotopes, detrital zircon, and PBDB integrations
|
|
18
|
+
- Make unit selection entirely optional
|
|
19
|
+
- Improve styling across the board
|
|
20
|
+
- Fix rendering bugs for sections with overlapping units
|
|
21
|
+
|
|
7
22
|
## [2.0.1] - 2025-05-08
|
|
8
23
|
|
|
9
24
|
Solve a problem with strict mode
|
|
@@ -54,6 +54,7 @@ const $d3e69bd163d41f63$var$symbolIndex = {
|
|
|
54
54
|
diamictite: 681
|
|
55
55
|
};
|
|
56
56
|
const $d3e69bd163d41f63$export$7be7d732f3de9464 = (d)=>{
|
|
57
|
+
if (d.lith == null || d.lith.length == 0) return null;
|
|
57
58
|
let liths = [
|
|
58
59
|
...d.lith
|
|
59
60
|
];
|
|
@@ -93,4 +94,4 @@ const $d3e69bd163d41f63$export$e8deec7b02ce51eb = (id)=>{
|
|
|
93
94
|
|
|
94
95
|
|
|
95
96
|
export {$d3e69bd163d41f63$export$7be7d732f3de9464 as resolveID, $d3e69bd163d41f63$export$e8deec7b02ce51eb as scalePattern};
|
|
96
|
-
//# sourceMappingURL=column-views.
|
|
97
|
+
//# sourceMappingURL=column-views.006d5180.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA,MAAM,oCAAc;IAClB,sBAAsB;IACtB,eAAe;IACf,WAAW;IACX,kBAAkB;IAClB,aAAa;IACb,MAAM;IACN,WAAW;IACX,MAAM;IACN,eAAe;IACf,KAAK;IACL,uBAAuB;IACvB,OAAO;IACP,WAAW;IACX,UAAU;IACV,cAAc;IACd,WAAW;IACX,qBAAqB;IACrB,WAAW;IACX,UAAU;IACV,OAAO;IACP,kBAAkB;IAClB,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,WAAW;IACX,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,UAAU;IACV,UAAU;IACV,MAAM;IACN,OAAO;IACP,mBAAmB;IACnB,kBAAkB;IAClB,OAAO;IACP,QAAQ;IACR,UAAU;IACV,SAAS;IACT,MAAM;IACN,SAAS;IACT,MAAM;IACN,UAAU;IACV,aAAa;IACb,gBAAgB;IAChB,WAAW;IACX,QAAQ;IACR,UAAU;IACV,cAAc;IACd,WAAW;IACX,WAAW;IACX,YAAY;AACd;AAEA,MAAM,4CAAY,CAAC;IACjB,IAAI,EAAE,IAAI,IAAI,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,GACrC,OAAO;IAET,IAAI,QAAQ;WAAI,EAAE,IAAI;KAAC;IACvB,IAAI,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,IAAM,EAAE,IAAI,EAAE,IAAI,CAAC;IACjD,MAAM,IAAI,CAAC,CAAC,GAAG,IAAM,EAAE,IAAI,GAAG,EAAE,IAAI;IAEpC,+DAA+D;IAE/D,IAAI,MAAM;IAEV,6BAA6B;IAC7B,IAAI,EAAE,SAAS,IAAI,QACjB,OAAO;IAET,IAAI,EAAE,SAAS,IAAI,mBACjB,OAAO;IAGT,KAAK,MAAM,KAAK,MAAO;QACrB,IAAI,EAAE,IAAI,IAAI,aAAa;YACzB,8BAA8B;YAC9B,IAAI,SAAS,QAAQ,CAAC,SACpB,OAAO;YAET,IAAI,SAAS,QAAQ,CAAC,WACpB,OAAO;YAET,IAAI,SAAS,QAAQ,CAAC,UACpB,OAAO;YAET,IAAI,SAAS,QAAQ,CAAC,UACpB,OAAO;QAEX;QAEA,IAAI,EAAE,IAAI,IAAI,gBAAgB;YAC5B,8BAA8B;YAC9B,IAAI,SAAS,QAAQ,CAAC,YACpB,OAAO;QAEX;QAEA,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,SAClB,OAAO;QAET,MAAM,iCAAW,CAAC,EAAE,IAAI,CAAC;QACzB,IAAI,OAAO,MACT,OAAO;QAGT,IAAI,EAAE,IAAI,IAAI,YACZ,OAAO;IAEX;IACA,OAAO;AACT;AAEA,MAAM,qCAAe;IACnB,OAAO;IACP,OAAO;AACT;AAEA,MAAM,4CAAe,CAAC;IACpB,OAAO,kCAAY,CAAC,GAAG,IAAI,CAAC,IAAI;AAClC","sources":["packages/column-views/src/units/resolvers.ts"],"sourcesContent":["const symbolIndex = {\n \"dolomite-limestone\": 641,\n lime_mudstone: 627,\n sandstone: 607,\n \"quartz arenite\": 607,\n litharenite: 608,\n sand: 608,\n siltstone: 616,\n silt: 616,\n siliciclastic: 615,\n mud: 620,\n \"dolomitic siltstone\": 616,\n shale: 620,\n limestone: 627,\n dolomite: 642,\n conglomerate: 602,\n carbonate: 627,\n \"dolomite-mudstone\": 642,\n dolostone: 642,\n mudstone: 620,\n slate: 703,\n \"sandy-dolomite\": 645,\n quartzite: 702,\n halite: 668,\n gypsum: 667,\n evaporite: 667,\n claystone: 620,\n anhydrite: 667,\n gabbro: 720,\n basalt: 717,\n diabase: 717,\n rhyolite: 722,\n andesite: 723,\n till: 681,\n loess: 684,\n \"calcareous ooze\": 653,\n \"siliceous ooze\": 653,\n chalk: 626,\n gravel: 601,\n plutonic: 721,\n granite: 719,\n clay: 660,\n syenite: 722,\n tuff: 711,\n volcanic: 725,\n metamorphic: 707,\n volcaniclastic: 714,\n migmatite: 709,\n gneiss: 708,\n tonalite: 727,\n granodiorite: 725,\n monzonite: 723,\n argillite: 624,\n diamictite: 681,\n};\n\nconst resolveID = (d: any) => {\n if (d.lith == null || d.lith.length == 0) {\n return null;\n }\n let liths = [...d.lith];\n let environs = d.environ.map((d) => d.name).join(\" \");\n liths.sort((a, b) => b.prop - a.prop);\n\n //console.log(d, d.unit_name, liths.map(d => d.name), environs)\n\n let sym = null;\n\n // overrides for IODP columns\n if (d.unit_name == \"clay\") {\n return \"650\";\n }\n if (d.unit_name == \"calcareous clay\") {\n return \"651\";\n }\n\n for (const k of liths) {\n if (k.name == \"sandstone\") {\n // Special cases for sandstone\n if (environs.includes(\"dune\")) {\n return \"609\";\n }\n if (environs.includes(\"marine\")) {\n return \"608\";\n }\n if (environs.includes(\"shore\")) {\n return \"611\";\n }\n if (environs.includes(\"loess\")) {\n return \"686\";\n }\n }\n\n if (k.name == \"conglomerate\") {\n // Special cases for sandstone\n if (environs.includes(\"fluvial\")) {\n return \"603\";\n }\n }\n\n if (k.name.includes(\"tuff\")) {\n return \"711\";\n }\n sym = symbolIndex[k.name];\n if (sym != null) {\n return sym;\n }\n\n if (k.type == \"volcanic\") {\n return \"725\";\n }\n }\n return sym;\n};\n\nconst patternScale = {\n \"609\": 1.5,\n \"603\": 1.5,\n};\n\nconst scalePattern = (id) => {\n return patternScale[`${id}`] ?? 1;\n};\n\nexport { resolveID, scalePattern };\n"],"names":[],"version":3,"file":"column-views.006d5180.js.map"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import {group as $dbahB$group} from "d3-array";
|
|
2
|
+
import {useAPIResult as $dbahB$useAPIResult} from "@macrostrat/ui-components";
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
function $9f310bd6e88a58bc$export$1b0cf9c36f060135(columnArgs) {
|
|
7
|
+
const params = {
|
|
8
|
+
...columnArgs,
|
|
9
|
+
measure_phase: "zircon",
|
|
10
|
+
response: "long",
|
|
11
|
+
show_values: true,
|
|
12
|
+
// Other isotope systems are organized separately
|
|
13
|
+
measurement: "207Pb-206Pb"
|
|
14
|
+
};
|
|
15
|
+
const res = (0, $dbahB$useAPIResult)("/measurements", params, columnArgs);
|
|
16
|
+
if (res == null) return null;
|
|
17
|
+
return (0, $dbahB$group)(res, (d)=>d.unit_id);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
export {$9f310bd6e88a58bc$export$1b0cf9c36f060135 as useDetritalMeasurements};
|
|
22
|
+
//# sourceMappingURL=column-views.05586d1f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;AAkCO,SAAS,0CAAwB,UAAU;IAChD,MAAM,SAAS;QACb,GAAG,UAAU;QACb,eAAe;QACf,UAAU;QACV,aAAa;QACb,iDAAiD;QACjD,aAAa;IACf;IACA,MAAM,MAAyB,CAAA,GAAA,mBAAW,EACxC,iBACA,QACA;IAEF,IAAI,OAAO,MAAM,OAAO;IACxB,OAAO,CAAA,GAAA,YAAI,EAAE,KAAK,CAAC,IAAM,EAAE,OAAO;AACpC","sources":["packages/column-views/src/facets/detrital-zircon/provider.ts"],"sourcesContent":["import { group } from \"d3-array\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\n\nexport interface MeasurementInfo {\n measurement_id: number;\n measuremeta_id: number;\n measurement: string;\n measure_units: string;\n measure_phase: string;\n method: string;\n n: number;\n ref_id: number;\n sample_name: string;\n geo_unit: string;\n samp_lith: string;\n samp_lith_id: number;\n samp_desc: string;\n samp_age: string;\n lat: number;\n lng: number;\n unit_id: number;\n unit_rel_pos?: any;\n col_id: number;\n strat_name_id: number;\n match_basis: string;\n ref: string;\n measure_value: number[];\n measure_error: number[];\n measure_position: any[];\n measure_n: number[];\n sample_no: string[];\n error_units: string;\n}\n\nexport function useDetritalMeasurements(columnArgs) {\n const params = {\n ...columnArgs,\n measure_phase: \"zircon\",\n response: \"long\",\n show_values: true,\n // Other isotope systems are organized separately\n measurement: \"207Pb-206Pb\",\n };\n const res: MeasurementInfo[] = useAPIResult(\n \"/measurements\",\n params,\n columnArgs,\n );\n if (res == null) return null;\n return group(res, (d) => d.unit_id);\n}\n"],"names":[],"version":3,"file":"column-views.05586d1f.js.map"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import {useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76} from "./column-views.1e055ed5.js";
|
|
2
|
+
import {line as $iZTQD$line} from "d3-shape";
|
|
3
|
+
import {createContext as $iZTQD$createContext, useContext as $iZTQD$useContext} from "react";
|
|
4
|
+
import $iZTQD$macrostrathyper from "@macrostrat/hyper";
|
|
5
|
+
import {ColumnLayoutContext as $iZTQD$ColumnLayoutContext} from "@macrostrat/column-components";
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
const $5f39f3d52558a1d0$var$inDomain = (scale, num)=>{
|
|
13
|
+
const domain = scale.domain();
|
|
14
|
+
return domain[0] < num < domain[1];
|
|
15
|
+
};
|
|
16
|
+
const $5f39f3d52558a1d0$var$createPointLocator = function(opts) {
|
|
17
|
+
const { xScale: xScale, scale: scale, getHeight: getHeight, ...rest } = opts;
|
|
18
|
+
return function(d, s = 0) {
|
|
19
|
+
const height = getHeight(d);
|
|
20
|
+
if (!$5f39f3d52558a1d0$var$inDomain(scale, height)) return null;
|
|
21
|
+
return [
|
|
22
|
+
xScale(d.value),
|
|
23
|
+
scale(height)
|
|
24
|
+
];
|
|
25
|
+
};
|
|
26
|
+
};
|
|
27
|
+
const $5f39f3d52558a1d0$var$IsotopesDataContext = (0, $iZTQD$createContext)(null);
|
|
28
|
+
const $5f39f3d52558a1d0$export$309ef8546e07d921 = function(props) {
|
|
29
|
+
const xScale = (0, $iZTQD$useContext)((0, $iZTQD$ColumnLayoutContext))?.xScale;
|
|
30
|
+
const scale = (0, $d5074f164411387e$export$a7fc62995ec4f76)();
|
|
31
|
+
let { corrected: corrected, system: system, children: children, getHeight: getHeight, clipY: clipY = false } = props;
|
|
32
|
+
if (getHeight == null) getHeight = function(d) {
|
|
33
|
+
if (d.height == null) console.log(d);
|
|
34
|
+
return d.height;
|
|
35
|
+
};
|
|
36
|
+
// Handlers for creating points and lines
|
|
37
|
+
const pointLocator = $5f39f3d52558a1d0$var$createPointLocator({
|
|
38
|
+
xScale: xScale,
|
|
39
|
+
scale: scale,
|
|
40
|
+
corrected: corrected,
|
|
41
|
+
system: system,
|
|
42
|
+
getHeight: getHeight
|
|
43
|
+
});
|
|
44
|
+
let column = "avg_" + system;
|
|
45
|
+
if (corrected) column += "_corr";
|
|
46
|
+
const lineLocator = (0, $iZTQD$line)().x((d)=>xScale(d[column]))// @ts-ignore
|
|
47
|
+
.y((d)=>scale(d.height));
|
|
48
|
+
const value = {
|
|
49
|
+
pointLocator: pointLocator,
|
|
50
|
+
lineLocator: lineLocator,
|
|
51
|
+
corrected: corrected,
|
|
52
|
+
system: system,
|
|
53
|
+
clipY: clipY
|
|
54
|
+
};
|
|
55
|
+
return (0, $iZTQD$macrostrathyper)($5f39f3d52558a1d0$var$IsotopesDataContext.Provider, {
|
|
56
|
+
value: value
|
|
57
|
+
}, (0, $iZTQD$macrostrathyper)("g.data", children));
|
|
58
|
+
};
|
|
59
|
+
const $5f39f3d52558a1d0$export$4cb5d059db4e2bd = function(props) {
|
|
60
|
+
const { pointLocator: pointLocator } = (0, $iZTQD$useContext)($5f39f3d52558a1d0$var$IsotopesDataContext);
|
|
61
|
+
const { datum: datum, strokeWidth: strokeWidth, ...rest } = props;
|
|
62
|
+
const loc = pointLocator(datum);
|
|
63
|
+
if (loc == null) return null;
|
|
64
|
+
const [cx, cy] = loc;
|
|
65
|
+
return (0, $iZTQD$macrostrathyper)("circle", {
|
|
66
|
+
key: datum.sample_id,
|
|
67
|
+
cx: cx,
|
|
68
|
+
cy: cy,
|
|
69
|
+
r: 2,
|
|
70
|
+
...rest
|
|
71
|
+
});
|
|
72
|
+
};
|
|
73
|
+
const $5f39f3d52558a1d0$export$628a3ef6eb9c3a89 = function(props) {
|
|
74
|
+
const { values: lineValues, ...rest } = props;
|
|
75
|
+
const { lineLocator: lineLocator } = (0, $iZTQD$useContext)($5f39f3d52558a1d0$var$IsotopesDataContext);
|
|
76
|
+
return (0, $iZTQD$macrostrathyper)("path", {
|
|
77
|
+
d: lineLocator(lineValues),
|
|
78
|
+
fill: "transparent",
|
|
79
|
+
...rest
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
const $5f39f3d52558a1d0$export$919dbb10b6b5b75 = ()=>(0, $iZTQD$useContext)($5f39f3d52558a1d0$var$IsotopesDataContext);
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
export {$5f39f3d52558a1d0$export$309ef8546e07d921 as IsotopesDataArea, $5f39f3d52558a1d0$export$4cb5d059db4e2bd as IsotopeDataPoint, $5f39f3d52558a1d0$export$628a3ef6eb9c3a89 as IsotopeDataLine, $5f39f3d52558a1d0$export$919dbb10b6b5b75 as useDataLocator};
|
|
86
|
+
//# sourceMappingURL=column-views.0732894f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;AAMA,MAAM,iCAAW,CAAC,OAAO;IACvB,MAAM,SAAS,MAAM,MAAM;IAC3B,OAAO,MAAM,CAAC,EAAE,GAAG,MAAM,MAAM,CAAC,EAAE;AACpC;AAEA,MAAM,2CAAqB,SAAU,IAAI;IACvC,MAAM,UAAE,MAAM,SAAE,KAAK,aAAE,SAAS,EAAE,GAAG,MAAM,GAAG;IAC9C,OAAO,SAAU,CAAC,EAAE,IAAI,CAAC;QACvB,MAAM,SAAS,UAAU;QACzB,IAAI,CAAC,+BAAS,OAAO,SAAS,OAAO;QACrC,OAAO;YAAC,OAAO,EAAE,KAAK;YAAG,MAAM;SAAQ;IACzC;AACF;AAEA,MAAM,4CAAsB,CAAA,GAAA,oBAAY,EAAE;AAW1C,MAAM,4CAAmB,SAAU,KAAoB;IACrD,MAAM,SAAS,CAAA,GAAA,iBAAS,EAAE,CAAA,GAAA,0BAAkB,IAAI;IAEhD,MAAM,QAAQ,CAAA,GAAA,wCAAgB;IAE9B,IAAI,aAAE,SAAS,UAAE,MAAM,YAAE,QAAQ,aAAE,SAAS,SAAE,QAAQ,OAAO,GAAG;IAChE,IAAI,aAAa,MACf,YAAY,SAAU,CAAC;QACrB,IAAI,EAAE,MAAM,IAAI,MACd,QAAQ,GAAG,CAAC;QAEd,OAAO,EAAE,MAAM;IACjB;IAGF,yCAAyC;IACzC,MAAM,eAAe,yCAAmB;gBACtC;eACA;mBACA;gBACA;mBACA;IACF;IAEA,IAAI,SAAS,SAAS;IACtB,IAAI,WACF,UAAU;IAEZ,MAAM,cAAc,CAAA,GAAA,WAAG,IACpB,CAAC,CAAC,CAAC,IAAM,OAAO,CAAC,CAAC,OAAO,EAC1B,aAAa;KACZ,CAAC,CAAC,CAAC,IAAM,MAAM,EAAE,MAAM;IAE1B,MAAM,QAAQ;sBAAE;qBAAc;mBAAa;gBAAW;eAAQ;IAAM;IACpE,OAAO,CAAA,GAAA,sBAAA,EAAE,0CAAoB,QAAQ,EAAE;eAAE;IAAM,GAAG,CAAA,GAAA,sBAAA,EAAE,UAAU;AAChE;AAEA,MAAM,2CAAmB,SAAU,KAAK;IACtC,MAAM,gBAAE,YAAY,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE;IACpC,MAAM,SAAE,KAAK,eAAE,WAAW,EAAE,GAAG,MAAM,GAAG;IACxC,MAAM,MAAM,aAAa;IACzB,IAAI,OAAO,MAAM,OAAO;IACxB,MAAM,CAAC,IAAI,GAAG,GAAG;IAEjB,OAAO,CAAA,GAAA,sBAAA,EAAE,UAAU;QACjB,KAAK,MAAM,SAAS;YACpB;YACA;QACA,GAAG;QACH,GAAG,IAAI;IACT;AACF;AAEA,MAAM,4CAAkB,SAAU,KAAK;IACrC,MAAM,EAAE,QAAQ,UAAU,EAAE,GAAG,MAAM,GAAG;IACxC,MAAM,eAAE,WAAW,EAAE,GAAG,CAAA,GAAA,iBAAS,EAAE;IACnC,OAAO,CAAA,GAAA,sBAAA,EAAE,QAAQ;QACf,GAAG,YAAY;QACf,MAAM;QACN,GAAG,IAAI;IACT;AACF;AAEA,MAAM,2CAAiB,IAAM,CAAA,GAAA,iBAAS,EAAE","sources":["packages/column-views/src/facets/carbon-isotopes/data-area.ts"],"sourcesContent":["import { line } from \"d3-shape\";\nimport { createContext, useContext } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { ColumnLayoutContext } from \"@macrostrat/column-components\";\nimport { useCompositeScale } from \"../../data-provider\";\n\nconst inDomain = (scale, num) => {\n const domain = scale.domain();\n return domain[0] < num < domain[1];\n};\n\nconst createPointLocator = function (opts) {\n const { xScale, scale, getHeight, ...rest } = opts;\n return function (d, s = 0) {\n const height = getHeight(d);\n if (!inDomain(scale, height)) return null;\n return [xScale(d.value), scale(height)];\n };\n};\n\nconst IsotopesDataContext = createContext(null);\n\nexport interface DataAreaProps {\n clipY: boolean;\n parameter: string;\n corrected: boolean;\n system: string;\n children: React.ReactNode;\n getHeight?: Function;\n}\n\nconst IsotopesDataArea = function (props: DataAreaProps) {\n const xScale = useContext(ColumnLayoutContext)?.xScale;\n\n const scale = useCompositeScale();\n\n let { corrected, system, children, getHeight, clipY = false } = props;\n if (getHeight == null) {\n getHeight = function (d) {\n if (d.height == null) {\n console.log(d);\n }\n return d.height;\n };\n }\n\n // Handlers for creating points and lines\n const pointLocator = createPointLocator({\n xScale,\n scale,\n corrected,\n system,\n getHeight,\n });\n\n let column = \"avg_\" + system;\n if (corrected) {\n column += \"_corr\";\n }\n const lineLocator = line()\n .x((d) => xScale(d[column]))\n // @ts-ignore\n .y((d) => scale(d.height));\n\n const value = { pointLocator, lineLocator, corrected, system, clipY };\n return h(IsotopesDataContext.Provider, { value }, h(\"g.data\", children));\n};\n\nconst IsotopeDataPoint = function (props) {\n const { pointLocator } = useContext(IsotopesDataContext);\n const { datum, strokeWidth, ...rest } = props;\n const loc = pointLocator(datum);\n if (loc == null) return null;\n const [cx, cy] = loc;\n\n return h(\"circle\", {\n key: datum.sample_id,\n cx,\n cy,\n r: 2,\n ...rest,\n });\n};\n\nconst IsotopeDataLine = function (props) {\n const { values: lineValues, ...rest } = props;\n const { lineLocator } = useContext(IsotopesDataContext);\n return h(\"path\", {\n d: lineLocator(lineValues),\n fill: \"transparent\",\n ...rest,\n });\n};\n\nconst useDataLocator = () => useContext(IsotopesDataContext);\n\nexport { IsotopesDataArea, IsotopeDataPoint, IsotopeDataLine, useDataLocator };\n"],"names":[],"version":3,"file":"column-views.0732894f.js.map"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {CorrelationChart as $ed7dc56184962590$export$9ebf875c09445bec} from "./column-views.
|
|
1
|
+
import {CorrelationChart as $ed7dc56184962590$export$9ebf875c09445bec} from "./column-views.0c14e18e.js";
|
|
2
2
|
import {parseLineFromString as $c491b6231216b7f9$export$77c3cc7a57c6db5f, stringifyLine as $c491b6231216b7f9$export$8c53992169ff5301} from "./column-views.beb54e95.js";
|
|
3
3
|
|
|
4
4
|
|
|
@@ -6,4 +6,4 @@ import {parseLineFromString as $c491b6231216b7f9$export$77c3cc7a57c6db5f, string
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
export {$ed7dc56184962590$export$9ebf875c09445bec as CorrelationChart, $c491b6231216b7f9$export$77c3cc7a57c6db5f as parseLineFromString, $c491b6231216b7f9$export$8c53992169ff5301 as stringifyLine};
|
|
9
|
-
//# sourceMappingURL=column-views.
|
|
9
|
+
//# sourceMappingURL=column-views.08440694.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"","sources":["packages/column-views/src/correlation-chart/index.ts"],"sourcesContent":["export * from \"./main\";\nexport * from \"./hash-string\";\n"],"names":[],"version":3,"file":"column-views.
|
|
1
|
+
{"mappings":"","sources":["packages/column-views/src/correlation-chart/index.ts"],"sourcesContent":["export * from \"./main\";\nexport * from \"./hash-string\";\n"],"names":[],"version":3,"file":"column-views.08440694.js.map"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.
|
|
1
|
+
import {ColoredUnitComponent as $4c8184c4a7317749$export$6012fd1584b5d0c0} from "./column-views.2ca34210.js";
|
|
2
|
+
import {UnitKeyboardNavigation as $4d5d1c15f39f6a14$export$70f5ee19650fc7d1, UnitSelectionProvider as $4d5d1c15f39f6a14$export$f19d75b1d4b676a4, useUnitSelectionStore as $4d5d1c15f39f6a14$export$b220b1d3591dc9e5} from "./column-views.1af9761e.js";
|
|
3
|
+
import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.c8cc249a.js";
|
|
4
4
|
import "./column-views.338a7a83.css";
|
|
5
5
|
import $2d5zd$columnviews6a954628js from "./column-views.6a954628.js";
|
|
6
|
-
import {CompositeTimescaleCore as $7d0f52717c0de7e1$export$463f46772c64d403} from "./column-views.
|
|
7
|
-
import {buildCorrelationChartData as $2c6a8e6a98a077ae$export$7f21dc14b8199dc0, findLaterallyExtensiveUnits as $2c6a8e6a98a077ae$export$cc5d9b95e199a6de, splitStratIntoBoxes as $2c6a8e6a98a077ae$export$3e71a3125322d04b} from "./column-views.
|
|
8
|
-
import {CompositeAgeAxisCore as $43794af7643cdf40$export$ac30ca3cf5df959d} from "./column-views.
|
|
9
|
-
import {UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.
|
|
10
|
-
import {ColumnContainer as $2118f0266dc7e955$export$2194471aa3d52446} from "./column-views.
|
|
6
|
+
import {CompositeTimescaleCore as $7d0f52717c0de7e1$export$463f46772c64d403} from "./column-views.4df0b803.js";
|
|
7
|
+
import {buildCorrelationChartData as $2c6a8e6a98a077ae$export$7f21dc14b8199dc0, findLaterallyExtensiveUnits as $2c6a8e6a98a077ae$export$cc5d9b95e199a6de, splitStratIntoBoxes as $2c6a8e6a98a077ae$export$3e71a3125322d04b} from "./column-views.f08929e2.js";
|
|
8
|
+
import {CompositeAgeAxisCore as $43794af7643cdf40$export$ac30ca3cf5df959d} from "./column-views.c32d6ad0.js";
|
|
9
|
+
import {UnitBoxes as $d254716a820e9c85$export$5d1cdfabe8dc8085} from "./column-views.a91dde4a.js";
|
|
10
|
+
import {ColumnContainer as $2118f0266dc7e955$export$2194471aa3d52446} from "./column-views.fdb0e9ec.js";
|
|
11
11
|
import $2d5zd$macrostrathyper from "@macrostrat/hyper";
|
|
12
12
|
import {useMemo as $2d5zd$useMemo, useRef as $2d5zd$useRef} from "react";
|
|
13
13
|
import {useInDarkMode as $2d5zd$useInDarkMode} from "@macrostrat/ui-components";
|
|
@@ -32,7 +32,7 @@ function $parcel$interopDefault(a) {
|
|
|
32
32
|
|
|
33
33
|
|
|
34
34
|
const $ed7dc56184962590$var$h = (0, $2d5zd$macrostrathyper).styled((0, ($parcel$interopDefault($2d5zd$columnviews6a954628js))));
|
|
35
|
-
function $ed7dc56184962590$export$9ebf875c09445bec({ data: data, columnSpacing: columnSpacing = 0, columnWidth: columnWidth = 130, unconformityLabels: unconformityLabels = true, showUnitPopover: showUnitPopover = true, selectedUnit: selectedUnit, onUnitSelected: onUnitSelected, ...scaleProps }) {
|
|
35
|
+
function $ed7dc56184962590$export$9ebf875c09445bec({ data: data, columnSpacing: columnSpacing = 0, columnWidth: columnWidth = 130, unconformityLabels: unconformityLabels = true, showUnitPopover: showUnitPopover = true, selectedUnit: selectedUnit, onUnitSelected: onUnitSelected, unitComponent: unitComponent, ...scaleProps }) {
|
|
36
36
|
const defaultScaleProps = {
|
|
37
37
|
targetUnitHeight: 10,
|
|
38
38
|
unconformityHeight: 60,
|
|
@@ -93,7 +93,8 @@ function $ed7dc56184962590$export$9ebf875c09445bec({ data: data, columnSpacing:
|
|
|
93
93
|
columnSpacing: columnSpacing,
|
|
94
94
|
offset: offset,
|
|
95
95
|
domain: domain,
|
|
96
|
-
pixelScale: pixelScale
|
|
96
|
+
pixelScale: pixelScale,
|
|
97
|
+
unitComponent: unitComponent
|
|
97
98
|
});
|
|
98
99
|
})),
|
|
99
100
|
$ed7dc56184962590$var$h.if(showUnitPopover)((0, $a9bcb536274d1bf9$export$db1115efab13710d)),
|
|
@@ -104,7 +105,7 @@ function $ed7dc56184962590$export$9ebf875c09445bec({ data: data, columnSpacing:
|
|
|
104
105
|
])
|
|
105
106
|
])));
|
|
106
107
|
}
|
|
107
|
-
function $ed7dc56184962590$var$Package({ columnData: columnData, columnSpacing: columnSpacing, columnWidth: columnWidth, offset: offset, domain: domain, pixelScale: pixelScale }) {
|
|
108
|
+
function $ed7dc56184962590$var$Package({ columnData: columnData, columnSpacing: columnSpacing, columnWidth: columnWidth, unitComponent: unitComponent, offset: offset, domain: domain, pixelScale: pixelScale }) {
|
|
108
109
|
return $ed7dc56184962590$var$h("g.package", {
|
|
109
110
|
transform: `translate(0 ${offset})`
|
|
110
111
|
}, [
|
|
@@ -114,6 +115,7 @@ function $ed7dc56184962590$var$Package({ columnData: columnData, columnSpacing:
|
|
|
114
115
|
columnData.map((data, i)=>{
|
|
115
116
|
return $ed7dc56184962590$var$h($ed7dc56184962590$var$Column, {
|
|
116
117
|
units: data.units,
|
|
118
|
+
unitComponent: unitComponent,
|
|
117
119
|
width: columnWidth,
|
|
118
120
|
key: i,
|
|
119
121
|
domain: domain,
|
|
@@ -125,7 +127,7 @@ function $ed7dc56184962590$var$Package({ columnData: columnData, columnSpacing:
|
|
|
125
127
|
]);
|
|
126
128
|
}
|
|
127
129
|
function $ed7dc56184962590$var$Column(props) {
|
|
128
|
-
const { units: units, width: width = 150, offsetLeft: offsetLeft, domain: domain, pixelScale: pixelScale } = props;
|
|
130
|
+
const { units: units, width: width = 150, offsetLeft: offsetLeft, domain: domain, pixelScale: pixelScale, unitComponent: unitComponent = (0, $4c8184c4a7317749$export$6012fd1584b5d0c0) } = props;
|
|
129
131
|
const columnWidth = width;
|
|
130
132
|
if (units.length == 0) return null;
|
|
131
133
|
return $ed7dc56184962590$var$h("g.section", {
|
|
@@ -137,10 +139,11 @@ function $ed7dc56184962590$var$Column(props) {
|
|
|
137
139
|
pixelsPerMeter: pixelScale,
|
|
138
140
|
axisType: (0, $2d5zd$ColumnAxisType).AGE
|
|
139
141
|
}, $ed7dc56184962590$var$h((0, $d254716a820e9c85$export$5d1cdfabe8dc8085), {
|
|
140
|
-
unitComponent:
|
|
142
|
+
unitComponent: unitComponent,
|
|
141
143
|
unitComponentProps: {
|
|
142
144
|
nColumns: 2,
|
|
143
|
-
width: columnWidth
|
|
145
|
+
width: columnWidth,
|
|
146
|
+
showLabel: false
|
|
144
147
|
}
|
|
145
148
|
})));
|
|
146
149
|
}
|
|
@@ -218,4 +221,4 @@ function $ed7dc56184962590$var$TimescaleColumn(props) {
|
|
|
218
221
|
|
|
219
222
|
|
|
220
223
|
export {$ed7dc56184962590$export$9ebf875c09445bec as CorrelationChart};
|
|
221
|
-
//# sourceMappingURL=column-views.
|
|
224
|
+
//# sourceMappingURL=column-views.0c14e18e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["packages/column-views/src/correlation-chart/main.ts"],"sourcesContent":["/** Correlation chart */\nimport {\n UnitSelectionProvider,\n UnitKeyboardNavigation,\n useUnitSelectionStore,\n} from \"../units\";\nimport { UnitSelectionPopover } from \"../unit-details\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useMemo, useRef } from \"react\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\nimport { CompositeTimescaleCore } from \"../section\";\nimport classNames from \"classnames\";\nimport {\n findLaterallyExtensiveUnits,\n splitStratIntoBoxes,\n UnitGroupBox,\n CorrelationChartSettings,\n buildCorrelationChartData,\n} from \"./prepare-data\";\nimport {\n CompositeAgeAxisCore,\n CompositeStratigraphicScaleInfo,\n} from \"../age-axis\";\nimport {\n ColumnAxisType,\n ColumnProvider,\n SVG,\n} from \"@macrostrat/column-components\";\nimport { ColoredUnitComponent } from \"../units\";\nimport { UnitBoxes } from \"../units/boxes\";\nimport { ExtUnit } from \"../prepare-units/helpers\";\nimport { ColumnContainer } from \"../column\";\nimport { ColumnData } from \"../data-provider\";\nimport { BaseUnit } from \"@macrostrat/api-types\";\n\nconst h = hyper.styled(styles);\n\nexport interface CorrelationChartProps extends CorrelationChartSettings {\n data: ColumnData[];\n columnWidth?: number;\n columnSpacing?: number;\n targetUnitHeight?: number;\n unconformityLabels?: boolean;\n selectedUnit?: number | null;\n showUnitPopover?: boolean;\n unitComponent?: any;\n onUnitSelected?: (unitID: number | null, unit: BaseUnit | null) => void;\n}\n\nexport function CorrelationChart({\n data,\n columnSpacing = 0,\n columnWidth = 130,\n unconformityLabels = true,\n showUnitPopover = true,\n selectedUnit,\n onUnitSelected,\n unitComponent,\n ...scaleProps\n}: CorrelationChartProps) {\n const defaultScaleProps = {\n targetUnitHeight: 10,\n unconformityHeight: 60,\n minSectionHeight: 60,\n collapseSmallUnconformities: true,\n };\n\n const chartData = useMemo(() => {\n if (!data) return null;\n return buildCorrelationChartData(data, {\n ...defaultScaleProps,\n ...scaleProps,\n });\n }, [data, ...Object.values(scaleProps)]);\n\n const columnRef = useRef(null);\n\n // A flattened units array is used to support keyboard navigation\n const units = useMemo(() => {\n return data?.map((d0) => d0.units).flat() ?? [];\n }, [data]);\n\n const inDarkMode = useInDarkMode();\n\n const className = classNames({\n \"dark-mode\": inDarkMode,\n });\n\n if (chartData == null) {\n return null;\n }\n\n const { packages, scaleInfo, nColumns } = chartData;\n\n const mainWidth = (columnWidth + columnSpacing) * nColumns;\n\n return h(\n ColumnContainer,\n { className: \"correlation-diagram\" },\n h(\n UnitSelectionProvider,\n { columnRef, selectedUnit, onUnitSelected, units },\n h(ChartArea, [\n h(TimescaleColumn, {\n key: \"timescale\",\n scaleInfo,\n unconformityLabels,\n }),\n h(\"div.main-chart\", { ref: columnRef }, [\n h(\n SVG,\n {\n className,\n innerWidth: mainWidth,\n height: scaleInfo.totalHeight,\n paddingH: 4,\n },\n packages.map((pkg, i) => {\n const { offset, domain, pixelScale, key } = scaleInfo.packages[i];\n return h(Package, {\n columnData: pkg.columnData,\n key,\n columnWidth,\n columnSpacing,\n offset,\n domain,\n pixelScale,\n unitComponent,\n });\n }),\n ),\n h.if(showUnitPopover)(UnitSelectionPopover),\n // Navigation only works within a column for now...\n h(UnitKeyboardNavigation, { units }),\n ]),\n ]),\n ),\n );\n}\n\nfunction Package({\n columnData,\n columnSpacing,\n columnWidth,\n unitComponent,\n offset,\n domain,\n pixelScale,\n}) {\n return h(\"g.package\", { transform: `translate(0 ${offset})` }, [\n // Disable the SVG overlay for now\n //h(PackageSVGOverlay, { data, columnSpacing }),\n h(\"g.column-units\", [\n columnData.map((data, i) => {\n return h(Column, {\n units: data.units,\n unitComponent,\n width: columnWidth,\n key: i,\n domain,\n pixelScale,\n offsetLeft: i * (columnWidth + columnSpacing),\n });\n }),\n ]),\n ]);\n}\n\ninterface ColumnProps {\n units: ExtUnit[];\n unitComponent?: React.FunctionComponent<any>;\n unitComponentProps?: any;\n showLabels?: boolean;\n width?: number;\n columnWidth?: number;\n columnSpacing?: number;\n targetUnitHeight?: number;\n offsetLeft?: number;\n domain: [number, number];\n pixelScale: number;\n}\n\nfunction Column(props: ColumnProps) {\n const {\n units,\n width = 150,\n offsetLeft,\n domain,\n pixelScale,\n unitComponent = ColoredUnitComponent,\n } = props;\n\n const columnWidth = width;\n\n if (units.length == 0) {\n return null;\n }\n\n return h(\n \"g.section\",\n {\n transform: `translate(${offsetLeft} 0)`,\n },\n h(\n ColumnProvider,\n {\n // Need to tighten up types here...\n divisions: units as any[],\n range: domain,\n pixelsPerMeter: pixelScale, // Actually pixels per myr\n axisType: ColumnAxisType.AGE,\n },\n h(UnitBoxes, {\n unitComponent,\n unitComponentProps: {\n nColumns: 2,\n width: columnWidth,\n showLabel: false,\n },\n }),\n ),\n );\n}\n\nfunction PackageSVGOverlay({ data, columnWidth = 100, columnSpacing = 0 }) {\n const { b_age, t_age, bestPixelScale, columnData } = data;\n\n const width = (columnWidth + columnSpacing) * columnData.length;\n const height = Math.ceil((b_age - t_age) * bestPixelScale) + 2;\n\n const extensiveUnits = findLaterallyExtensiveUnits(data);\n\n const scale = (val: number) => {\n return (val - t_age) * bestPixelScale;\n };\n\n return h(\n \"div.package-overlay\",\n { style: { width, height } },\n extensiveUnits.map((d) => {\n return h(LaterallyExtensiveUnit, {\n data: d,\n scale,\n pixelScale: bestPixelScale,\n columnSpacing,\n });\n }),\n );\n}\n\nfunction LaterallyExtensiveUnit({ data, scale, pixelScale, columnSpacing }) {\n const { b_age, t_age, strat_name_long, units } = data;\n // Build boxes by column groups\n const boxes: UnitGroupBox[] = splitStratIntoBoxes(data);\n\n return h(\n \"div.laterally-extensive-unit\",\n boxes.map((d, i) => {\n return h(StratColSpan, {\n scale,\n data: d,\n pixelScale,\n key: i,\n columnSpacing,\n });\n }),\n );\n}\n\nfunction StratColSpan({\n data,\n scale,\n columnWidth = 100,\n columnSpacing = 0,\n pixelScale = 1,\n}) {\n const { startCol, endCol, strat_name_long, t_age, b_age } = data;\n const top = scale(t_age);\n const left = startCol * (columnWidth + columnSpacing);\n const width = (endCol - startCol + 1) * (columnWidth + columnSpacing);\n const height = (b_age - t_age) * pixelScale;\n return h(\n \"div.strat-col-span\",\n { style: { top, height, width, left } },\n strat_name_long,\n );\n}\n\nfunction ChartArea({ children }) {\n const setSelectedUnit = useUnitSelectionStore(\n (state) => state.setSelectedUnit,\n );\n\n return h(\n \"div.correlation-chart-inner\",\n {\n onClick() {\n setSelectedUnit(null);\n },\n },\n children,\n );\n}\n\ninterface TimescaleColumnProps {\n scaleInfo: CompositeStratigraphicScaleInfo;\n showLabels?: boolean;\n unconformityLabels?: boolean;\n}\n\nfunction TimescaleColumn(props: TimescaleColumnProps) {\n const { scaleInfo, unconformityLabels = true } = props;\n return h(\"div.column-container.age-axis-container\", [\n h(CompositeAgeAxisCore, { ...scaleInfo }),\n h(CompositeTimescaleCore, { ...scaleInfo, unconformityLabels }),\n ]);\n}\n"],"names":[],"version":3,"file":"column-views.0c14e18e.js.map"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {PBDBFossilsColumn as $b9286605a04210d4$export$554267114407ef68} from "./column-views.fa19cea0.js";
|
|
2
|
+
import {DetritalGroup as $715dd5fedd79146a$export$1b3047373cd1c8c7, DetritalColumn as $715dd5fedd79146a$export$f176396e104db8d5} from "./column-views.e20f6a4b.js";
|
|
3
|
+
import {IsotopesDataset as $d71d096cfe00860f$export$c69bd0285aa5d775, IsotopesColumn as $d71d096cfe00860f$export$5d8aa8022c284748, MeasurementDataContext as $5dbb619f2c7bef60$export$c644ef985ce7a4c4, MeasurementDataProvider as $5dbb619f2c7bef60$export$5f01d5b342a89841, useMeasurementData as $5dbb619f2c7bef60$export$8a0335fd9ff72150} from "./column-views.86619334.js";
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
export {$b9286605a04210d4$export$554267114407ef68 as PBDBFossilsColumn, $715dd5fedd79146a$export$1b3047373cd1c8c7 as DetritalGroup, $715dd5fedd79146a$export$f176396e104db8d5 as DetritalColumn, $d71d096cfe00860f$export$c69bd0285aa5d775 as IsotopesDataset, $d71d096cfe00860f$export$5d8aa8022c284748 as IsotopesColumn, $5dbb619f2c7bef60$export$c644ef985ce7a4c4 as MeasurementDataContext, $5dbb619f2c7bef60$export$5f01d5b342a89841 as MeasurementDataProvider, $5dbb619f2c7bef60$export$8a0335fd9ff72150 as useMeasurementData};
|
|
11
|
+
//# sourceMappingURL=column-views.10eba967.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"","sources":["packages/column-views/src/facets/index.ts"],"sourcesContent":["export * from \"./fossils\";\nexport * from \"./detrital-zircon\";\nexport * from \"./carbon-isotopes\";\n"],"names":[],"version":3,"file":"column-views.10eba967.js.map"}
|
|
@@ -15,7 +15,7 @@ function $4d5d1c15f39f6a14$export$77a278d5ca56e309() {
|
|
|
15
15
|
}
|
|
16
16
|
function $4d5d1c15f39f6a14$export$b220b1d3591dc9e5(selector) {
|
|
17
17
|
const store = (0, $eIxPJ$useContext)($4d5d1c15f39f6a14$var$UnitSelectionContext);
|
|
18
|
-
if (store == null)
|
|
18
|
+
if (store == null) return null;
|
|
19
19
|
return (0, $eIxPJ$useStore)(store, selector);
|
|
20
20
|
}
|
|
21
21
|
function $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da() {
|
|
@@ -47,6 +47,21 @@ function $4d5d1c15f39f6a14$export$f19d75b1d4b676a4(props) {
|
|
|
47
47
|
console.log("onUnitSelected", unit, target, event);
|
|
48
48
|
const el = props.columnRef?.current;
|
|
49
49
|
let overlayPosition = null;
|
|
50
|
+
/** This is not the natural place to get positions within the column,
|
|
51
|
+
* but it will work for now.
|
|
52
|
+
*/ if (props.onClickedColumn) {
|
|
53
|
+
// Infer height from top and bottom height of unit (because that's passed back with the call)
|
|
54
|
+
//const py = event.y;
|
|
55
|
+
//const [bottom, top] = getUnitHeightRange(unit, axisType);
|
|
56
|
+
//const height = Math.abs(bottom - top);
|
|
57
|
+
/** Ideally this would be defined at the column level */ const columnClickData = {
|
|
58
|
+
unitID: unit?.unit_id,
|
|
59
|
+
unit: unit,
|
|
60
|
+
target: target,
|
|
61
|
+
height: el?.getBoundingClientRect().height || 0
|
|
62
|
+
};
|
|
63
|
+
props.onClickedColumn(columnClickData, event);
|
|
64
|
+
}
|
|
50
65
|
if (unit != null && el != null && target != null) {
|
|
51
66
|
const rect = el.getBoundingClientRect();
|
|
52
67
|
const targetRect = target.getBoundingClientRect();
|
|
@@ -92,6 +107,7 @@ function $4d5d1c15f39f6a14$export$cbbec12b1451fe7d(unit) {
|
|
|
92
107
|
const onSelectUnit = $4d5d1c15f39f6a14$export$b220b1d3591dc9e5((state)=>state.onUnitSelected);
|
|
93
108
|
const selected = selectedUnit?.unit_id == unit.unit_id;
|
|
94
109
|
const onClick = (0, $eIxPJ$useCallback)((evt)=>{
|
|
110
|
+
if (onSelectUnit == null) return;
|
|
95
111
|
onSelectUnit(unit, ref.current, evt);
|
|
96
112
|
evt.stopPropagation();
|
|
97
113
|
}, [
|
|
@@ -99,7 +115,7 @@ function $4d5d1c15f39f6a14$export$cbbec12b1451fe7d(unit) {
|
|
|
99
115
|
onSelectUnit
|
|
100
116
|
]);
|
|
101
117
|
(0, $eIxPJ$useEffect)(()=>{
|
|
102
|
-
if (!selected) return;
|
|
118
|
+
if (!selected || onSelectUnit == null) return;
|
|
103
119
|
// In case we haven't set the position of the unit (if we don't have a target), set the selected unit
|
|
104
120
|
onSelectUnit(unit, ref.current, null);
|
|
105
121
|
// Scroll the unit into view
|
|
@@ -140,4 +156,4 @@ function $4d5d1c15f39f6a14$export$70f5ee19650fc7d1({ units: units }) {
|
|
|
140
156
|
|
|
141
157
|
|
|
142
158
|
export {$4d5d1c15f39f6a14$export$77a278d5ca56e309 as useUnitSelectionDispatch, $4d5d1c15f39f6a14$export$b220b1d3591dc9e5 as useUnitSelectionStore, $4d5d1c15f39f6a14$export$f0dd93f90aa8e5da as useSelectedUnit, $4d5d1c15f39f6a14$export$f19d75b1d4b676a4 as UnitSelectionProvider, $4d5d1c15f39f6a14$export$cbbec12b1451fe7d as useUnitSelectionTarget, $4d5d1c15f39f6a14$export$70f5ee19650fc7d1 as UnitKeyboardNavigation};
|
|
143
|
-
//# sourceMappingURL=column-views.
|
|
159
|
+
//# sourceMappingURL=column-views.1af9761e.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["packages/column-views/src/units/selection.ts"],"sourcesContent":["import { BaseUnit } from \"@macrostrat/api-types\";\nimport h from \"@macrostrat/hyper\";\nimport { useKeyHandler } from \"@macrostrat/ui-components\";\nimport {\n createContext,\n useContext,\n useEffect,\n useState,\n ReactNode,\n RefObject,\n useRef,\n useCallback,\n MouseEvent,\n} from \"react\";\nimport { createStore, StoreApi, useStore } from \"zustand\";\nimport type { RectBounds, IUnit } from \"./types\";\nimport {\n getUnitHeightRange,\n useMacrostratColumnData,\n} from \"@macrostrat/column-views\";\n\ntype UnitSelectDispatch = (\n unit: BaseUnit | null,\n target: HTMLElement | null,\n event: Event | null,\n) => void;\n\nconst UnitSelectionContext = createContext<StoreApi<UnitSelectionStore>>(null);\n\nexport function useUnitSelectionDispatch(): UnitSelectDispatch {\n const store = useContext(UnitSelectionContext);\n if (store == null) {\n return () => {};\n }\n return useStore(store, (state) => state.onUnitSelected);\n}\n\nexport function useUnitSelectionStore<T>(\n selector: (state: UnitSelectionStore) => T,\n): T {\n const store = useContext(UnitSelectionContext);\n if (store == null) {\n return null;\n }\n return useStore(store, selector);\n}\n\nexport function useSelectedUnit() {\n return useUnitSelectionStore((state) => state.selectedUnitData);\n}\n\ninterface UnitSelectionStore {\n selectedUnit: number | null;\n selectedUnitData: BaseUnit | null;\n overlayPosition: RectBounds | null;\n onUnitSelected: UnitSelectDispatch;\n setSelectedUnit: (unit: number | null) => void;\n}\n\nexport interface ColumnClickData {\n unitID: number | null;\n unit: BaseUnit | null;\n target: HTMLElement | null;\n height: number;\n // Room for boundary IDs eventually\n}\n\nexport function UnitSelectionProvider<T extends BaseUnit>(props: {\n children: ReactNode;\n columnRef?: RefObject<HTMLElement>;\n units: T[];\n selectedUnit: number | null;\n onClickedColumn?: (columnClickData: ColumnClickData, event: Event) => void;\n onUnitSelected?: (unitID: number | null, unit: T | null) => void;\n}) {\n const [store] = useState(() =>\n createStore<UnitSelectionStore>((set) => ({\n selectedUnit: null,\n selectedUnitData: null,\n overlayPosition: null,\n setSelectedUnit(selectedUnit: number | null | BaseUnit) {\n if (selectedUnit == null) {\n set({ selectedUnit: null, selectedUnitData: null });\n return;\n // If it's a number, set the selected unit\n } else if (typeof selectedUnit === \"number\") {\n set({ selectedUnit, selectedUnitData: null });\n } else if (\"unit_id\" in selectedUnit) {\n set({\n selectedUnit: selectedUnit.unit_id,\n selectedUnitData: selectedUnit,\n });\n }\n },\n onUnitSelected: (unit: T, target: HTMLElement, event: PointerEvent) => {\n console.log(\"onUnitSelected\", unit, target, event);\n const el = props.columnRef?.current;\n let overlayPosition = null;\n\n /** This is not the natural place to get positions within the column,\n * but it will work for now.\n */\n if (props.onClickedColumn) {\n // Infer height from top and bottom height of unit (because that's passed back with the call)\n //const py = event.y;\n //const [bottom, top] = getUnitHeightRange(unit, axisType);\n //const height = Math.abs(bottom - top);\n\n /** Ideally this would be defined at the column level */\n const columnClickData: ColumnClickData = {\n unitID: unit?.unit_id,\n unit,\n target,\n height: el?.getBoundingClientRect().height || 0,\n };\n props.onClickedColumn(columnClickData, event);\n }\n\n if (unit != null && el != null && target != null) {\n const rect = el.getBoundingClientRect();\n const targetRect = target.getBoundingClientRect();\n\n overlayPosition = {\n x: targetRect.left - rect.left,\n y: targetRect.top - rect.top,\n width: targetRect.width,\n height: targetRect.height,\n };\n }\n props.onUnitSelected?.(unit?.unit_id, unit);\n\n return set({\n selectedUnit: unit?.unit_id,\n selectedUnitData: unit,\n overlayPosition,\n });\n },\n })),\n );\n\n const { units, selectedUnit } = props;\n\n useEffect(() => {\n // Synchronize store with provided props\n if (selectedUnit != null) {\n const unitData = units?.find((u) => u.unit_id === selectedUnit);\n store.setState({ selectedUnit, selectedUnitData: unitData });\n } else {\n store.setState({ selectedUnit: null, selectedUnitData: null });\n }\n }, [selectedUnit, units]);\n\n return h(UnitSelectionContext.Provider, { value: store }, props.children);\n}\n\nexport function useUnitSelectionTarget(\n unit: IUnit,\n): [React.RefObject<HTMLElement>, boolean, (evt: Event) => void] {\n const ref = useRef<HTMLElement>();\n const selectedUnit = useSelectedUnit();\n const onSelectUnit = useUnitSelectionStore((state) => state.onUnitSelected);\n const selected = selectedUnit?.unit_id == unit.unit_id;\n\n const onClick = useCallback(\n (evt: Event) => {\n if (onSelectUnit == null) return;\n onSelectUnit(unit, ref.current, evt);\n evt.stopPropagation();\n },\n [unit, onSelectUnit],\n );\n\n useEffect(() => {\n if (!selected || onSelectUnit == null) return;\n // In case we haven't set the position of the unit (if we don't have a target), set the selected unit\n onSelectUnit(unit, ref.current, null);\n\n // Scroll the unit into view\n ref.current?.scrollIntoView({\n behavior: \"smooth\",\n block: \"center\",\n inline: \"nearest\",\n });\n }, [selected, onSelectUnit]);\n\n return [ref, selected, onClick];\n}\n\nexport function UnitKeyboardNavigation<T extends BaseUnit>({\n units,\n}: {\n units: T[];\n}) {\n const selectedUnit = useSelectedUnit();\n const selectUnit = useUnitSelectionDispatch();\n\n const ix = units.findIndex((unit) => unit.unit_id === selectedUnit?.unit_id);\n\n const keyMap = {\n 38: ix - 1,\n 40: ix + 1,\n };\n\n useKeyHandler(\n (event) => {\n const nextIx = keyMap[event.keyCode];\n if (nextIx == null || nextIx < 0 || nextIx >= units.length) return;\n selectUnit(units[nextIx], null, null);\n event.stopPropagation();\n },\n [units, ix],\n );\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.1af9761e.js.map"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
|
|
2
|
+
function $parcel$export(e, n, v, s) {
|
|
3
|
+
Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});
|
|
4
|
+
}
|
|
5
|
+
var $c6d04ae22b505264$exports = {};
|
|
6
|
+
|
|
7
|
+
$parcel$export($c6d04ae22b505264$exports, "fossil-collections", () => $c6d04ae22b505264$export$33464f7dff3aaa69, (v) => $c6d04ae22b505264$export$33464f7dff3aaa69 = v);
|
|
8
|
+
$parcel$export($c6d04ae22b505264$exports, "too-many", () => $c6d04ae22b505264$export$76144d85d033d82a, (v) => $c6d04ae22b505264$export$76144d85d033d82a = v);
|
|
9
|
+
var $c6d04ae22b505264$export$33464f7dff3aaa69;
|
|
10
|
+
var $c6d04ae22b505264$export$76144d85d033d82a;
|
|
11
|
+
$c6d04ae22b505264$export$33464f7dff3aaa69 = `VC2fja_fossil-collections`;
|
|
12
|
+
$c6d04ae22b505264$export$76144d85d033d82a = `VC2fja_too-many`;
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
export {$c6d04ae22b505264$exports as default};
|
|
16
|
+
//# sourceMappingURL=column-views.1c92b88f.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;AAAA,IAAA;AACA,IAAA;AADA,4CAAuC,CAAC,yBAAyB,CAAC;AAClE,4CAA6B,CAAC,eAAe,CAAC","sources":["packages/column-views/src/facets/fossils/index.module.sass"],"sourcesContent":[".fossil-collections\n padding-left: 0.2em\n font-size: 0.9em\n list-style: none\n border-left: 1px solid var(--column-stroke-color)\n margin: 1px 0\n li\n display: inline\n &:not(:last-child):after\n content: \", \"\n color: var(--secondary-color)\n li.too-many\n color: var(--secondary-color)\n font-style: italic\n"],"names":[],"version":3,"file":"column-views.1c92b88f.js.map"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {createCompositeScale as $728f6cf6c12cd490$export$3ada7641926a616d} from "./column-views.
|
|
1
|
+
import {createCompositeScale as $728f6cf6c12cd490$export$3ada7641926a616d} from "./column-views.4ab0ec82.js";
|
|
2
2
|
import {createContext as $a90Ta$createContext, useMemo as $a90Ta$useMemo, useContext as $a90Ta$useContext} from "react";
|
|
3
3
|
import $a90Ta$macrostrathyper from "@macrostrat/hyper";
|
|
4
4
|
|
|
@@ -42,11 +42,12 @@ function $d5074f164411387e$export$6fb40844db555b2() {
|
|
|
42
42
|
return $d5074f164411387e$export$f8509b7cce386c7d().units;
|
|
43
43
|
}
|
|
44
44
|
function $d5074f164411387e$export$a7fc62995ec4f76() {
|
|
45
|
-
const ctx =
|
|
46
|
-
|
|
47
|
-
|
|
45
|
+
const ctx = $d5074f164411387e$export$f8509b7cce386c7d();
|
|
46
|
+
return (0, $a90Ta$useMemo)(()=>(0, $728f6cf6c12cd490$export$3ada7641926a616d)(ctx.sections, true), [
|
|
47
|
+
ctx.sections
|
|
48
|
+
]);
|
|
48
49
|
}
|
|
49
50
|
|
|
50
51
|
|
|
51
52
|
export {$d5074f164411387e$export$7fec7bd80ff9c10e as MacrostratColumnDataProvider, $d5074f164411387e$export$f8509b7cce386c7d as useMacrostratColumnData, $d5074f164411387e$export$6fb40844db555b2 as useMacrostratUnits, $d5074f164411387e$export$a7fc62995ec4f76 as useCompositeScale};
|
|
52
|
-
//# sourceMappingURL=column-views.
|
|
53
|
+
//# sourceMappingURL=column-views.1e055ed5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;AAuBA,MAAM,oDACJ,CAAA,GAAA,oBAAY,EAA+B;AAEtC,SAAS,0CAA6B,YAC3C,QAAQ,SACR,KAAK,YACL,QAAQ,eACR,WAAW,YACX,QAAQ,EAC8C;IACtD;;;;;;;;;KASG,GAEH,MAAM,QAAQ,CAAA,GAAA,cAAM,EAAE;QACpB,OAAO;mBACL;sBACA;yBACA;sBACA;QACF;IACF,GAAG;QAAC;QAAO;QAAU;QAAa;KAAS;IAE3C,OAAO,CAAA,GAAA,sBAAA,EAAE,kDAA4B,QAAQ,EAAE;eAAE;IAAM,GAAG;AAC5D;AAEO,SAAS;IACd,MAAM,MAAM,CAAA,GAAA,iBAAS,EAAE;IACvB,IAAI,CAAC,KACH,MAAM,IAAI,MACR;IAGJ,OAAO;AACT;AAEO,SAAS;IACd,OAAO,4CAA0B,KAAK;AACxC;AAEO,SAAS;IACd,MAAM,MAAM;IACZ,OAAO,CAAA,GAAA,cAAM,EACX,IAAM,CAAA,GAAA,yCAAmB,EAAE,IAAI,QAAQ,EAAE,OACzC;QAAC,IAAI,QAAQ;KAAC;AAElB","sources":["packages/column-views/src/data-provider/store.ts"],"sourcesContent":["import {\n createContext,\n useContext,\n ReactNode,\n useMemo,\n useEffect,\n} from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport {\n createCompositeScale,\n PackageLayoutData,\n CompositeColumnScale,\n} from \"../prepare-units/composite-scale\";\nimport { ExtUnit } from \"../prepare-units/helpers\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\n\nexport interface MacrostratColumnDataContext {\n units: ExtUnit[];\n sections: PackageLayoutData[];\n totalHeight?: number;\n axisType?: ColumnAxisType;\n}\n\nconst MacrostratColumnDataContext =\n createContext<MacrostratColumnDataContext>(null);\n\nexport function MacrostratColumnDataProvider({\n children,\n units,\n sections,\n totalHeight,\n axisType,\n}: MacrostratColumnDataContext & { children: ReactNode }) {\n /** Provider for Macrostrat column data.\n * As a general rule, we want to provide data and column-axis\n * height calculations through the context, since these need to\n * be accessed by any component that lays out information on the\n * column.\n *\n * Cross-axis layout and view configuration (e.g., showing and hiding\n * of different components or labels) should be handled through passing\n * props to the components themselves.\n * */\n\n const value = useMemo(() => {\n return {\n units,\n sections,\n totalHeight,\n axisType,\n };\n }, [units, sections, totalHeight, axisType]);\n\n return h(MacrostratColumnDataContext.Provider, { value }, children);\n}\n\nexport function useMacrostratColumnData() {\n const ctx = useContext(MacrostratColumnDataContext);\n if (!ctx) {\n throw new Error(\n \"useMacrostratColumnData must be used within a MacrostratColumnDataProvider\",\n );\n }\n return ctx;\n}\n\nexport function useMacrostratUnits() {\n return useMacrostratColumnData().units;\n}\n\nexport function useCompositeScale(): CompositeColumnScale {\n const ctx = useMacrostratColumnData();\n return useMemo(\n () => createCompositeScale(ctx.sections, true),\n [ctx.sections],\n );\n}\n"],"names":[],"version":3,"file":"column-views.1e055ed5.js.map"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./column-views.25471fe0.css";
|
|
2
2
|
import $01tAX$columnviews58b82432js from "./column-views.58b82432.js";
|
|
3
|
-
import {
|
|
4
|
-
import {defaultNameFunction as $bc17276da4abb183$export$c9757aeb43a67df0} from "./column-views.
|
|
3
|
+
import {useMacrostratData as $774a5efa27d1c77b$export$b9c9fc603d74a555, useMacrostratDefs as $774a5efa27d1c77b$export$89dd4e5ae4a82373} from "./column-views.3ba9213d.js";
|
|
4
|
+
import {defaultNameFunction as $bc17276da4abb183$export$c9757aeb43a67df0} from "./column-views.7715e35e.js";
|
|
5
5
|
import $01tAX$macrostrathyper from "@macrostrat/hyper";
|
|
6
6
|
import {JSONView as $01tAX$JSONView} from "@macrostrat/ui-components";
|
|
7
7
|
import {Button as $01tAX$Button, ButtonGroup as $01tAX$ButtonGroup} from "@blueprintjs/core";
|
|
@@ -28,7 +28,7 @@ function $448b24baeef3b229$export$fbd245232df17557({ unit: unit, onClose: onClos
|
|
|
28
28
|
"outcrop-type",
|
|
29
29
|
"json-toggle",
|
|
30
30
|
"depth-range"
|
|
31
|
-
]), lithologyFeatures: lithologyFeatures, actions: actions, selectUnit: selectUnit, columnUnits: columnUnits }) {
|
|
31
|
+
]), lithologyFeatures: lithologyFeatures, actions: actions, selectUnit: selectUnit, columnUnits: columnUnits, onClickItem: onClickItem }) {
|
|
32
32
|
const [showJSON, setShowJSON] = (0, $01tAX$useState)(false);
|
|
33
33
|
let content = null;
|
|
34
34
|
if (showJSON) content = $448b24baeef3b229$var$h((0, $01tAX$JSONView), {
|
|
@@ -38,7 +38,8 @@ function $448b24baeef3b229$export$fbd245232df17557({ unit: unit, onClose: onClos
|
|
|
38
38
|
else content = $448b24baeef3b229$var$h($448b24baeef3b229$var$UnitDetailsContent, {
|
|
39
39
|
unit: unit,
|
|
40
40
|
features: features,
|
|
41
|
-
lithologyFeatures: lithologyFeatures
|
|
41
|
+
lithologyFeatures: lithologyFeatures,
|
|
42
|
+
onClickItem: onClickItem
|
|
42
43
|
});
|
|
43
44
|
let title = (0, $bc17276da4abb183$export$c9757aeb43a67df0)(unit);
|
|
44
45
|
let hiddenActions = null;
|
|
@@ -103,7 +104,7 @@ function $448b24baeef3b229$var$UnitDetailsContent({ unit: unit, selectUnit: sele
|
|
|
103
104
|
]), features: features = new Set([
|
|
104
105
|
"adjacent-units",
|
|
105
106
|
"outcrop-type"
|
|
106
|
-
]) }) {
|
|
107
|
+
]), onClickItem: onClickItem, getItemHref: getItemHref }) {
|
|
107
108
|
const lithMap = (0, $774a5efa27d1c77b$export$89dd4e5ae4a82373)("lithologies");
|
|
108
109
|
const envMap = (0, $774a5efa27d1c77b$export$89dd4e5ae4a82373)("environments");
|
|
109
110
|
const environments = $448b24baeef3b229$var$enhanceEnvironments(unit.environ, envMap);
|
|
@@ -163,7 +164,9 @@ function $448b24baeef3b229$var$UnitDetailsContent({ unit: unit, selectUnit: sele
|
|
|
163
164
|
$448b24baeef3b229$var$h((0, $01tAX$LithologyList), {
|
|
164
165
|
label: "Lithology",
|
|
165
166
|
lithologies: lithologies,
|
|
166
|
-
features: lithologyFeatures
|
|
167
|
+
features: lithologyFeatures,
|
|
168
|
+
getItemHref: getItemHref,
|
|
169
|
+
onClickItem: onClickItem
|
|
167
170
|
}),
|
|
168
171
|
$448b24baeef3b229$var$h($448b24baeef3b229$var$AgeField, {
|
|
169
172
|
unit: unit
|
|
@@ -172,11 +175,14 @@ function $448b24baeef3b229$var$UnitDetailsContent({ unit: unit, selectUnit: sele
|
|
|
172
175
|
value: unit.b_age - unit.t_age
|
|
173
176
|
})),
|
|
174
177
|
$448b24baeef3b229$var$h($448b24baeef3b229$var$IntervalProportions, {
|
|
175
|
-
unit: unit
|
|
178
|
+
unit: unit,
|
|
179
|
+
onClickItem: onClickItem
|
|
176
180
|
})
|
|
177
181
|
]),
|
|
178
182
|
$448b24baeef3b229$var$h((0, $01tAX$EnvironmentsList), {
|
|
179
|
-
environments: environments
|
|
183
|
+
environments: environments,
|
|
184
|
+
onClickItem: onClickItem,
|
|
185
|
+
getItemHref: getItemHref
|
|
180
186
|
}),
|
|
181
187
|
$448b24baeef3b229$var$h.if(unit.strat_name_id != null)((0, $01tAX$DataField), {
|
|
182
188
|
label: "Stratigraphic name"
|
|
@@ -292,6 +298,38 @@ function $448b24baeef3b229$var$getAgeRange(_unit) {
|
|
|
292
298
|
unit
|
|
293
299
|
];
|
|
294
300
|
}
|
|
301
|
+
function $448b24baeef3b229$var$getAge(value) {
|
|
302
|
+
/** Get the age value in Ma, ka, or Ga as appropriate */ let unit = "Ma";
|
|
303
|
+
if (value < 0.8) {
|
|
304
|
+
unit = "ka";
|
|
305
|
+
value *= 1000;
|
|
306
|
+
if (value < 5) {
|
|
307
|
+
unit = "yr";
|
|
308
|
+
value *= 1000;
|
|
309
|
+
}
|
|
310
|
+
} else if (value > 1000) {
|
|
311
|
+
unit = "Ga";
|
|
312
|
+
value /= 1000;
|
|
313
|
+
}
|
|
314
|
+
return [
|
|
315
|
+
value,
|
|
316
|
+
unit
|
|
317
|
+
];
|
|
318
|
+
}
|
|
319
|
+
function $448b24baeef3b229$export$37ebfd237811b1eb({ age: age, maximumFractionDigits: maximumFractionDigits = 2, minimumFractionDigits: minimumFractionDigits = 0, className: className }) {
|
|
320
|
+
/** Component to display a single age value with unit conversion from
|
|
321
|
+
* Ma to ka or Ga as appropriate.
|
|
322
|
+
*/ const [value, unit] = $448b24baeef3b229$var$getAge(age);
|
|
323
|
+
const _value = value.toLocaleString("en-US", {
|
|
324
|
+
maximumFractionDigits: maximumFractionDigits,
|
|
325
|
+
minimumFractionDigits: minimumFractionDigits
|
|
326
|
+
});
|
|
327
|
+
return $448b24baeef3b229$var$h((0, $01tAX$Value), {
|
|
328
|
+
value: _value,
|
|
329
|
+
unit: unit,
|
|
330
|
+
className: className
|
|
331
|
+
});
|
|
332
|
+
}
|
|
295
333
|
function $448b24baeef3b229$export$3b11bc38611c5941({ value: value, maximumFractionDigits: maximumFractionDigits = 2, minimumFractionDigits: minimumFractionDigits = 0 }) {
|
|
296
334
|
let unit = "Myr";
|
|
297
335
|
if (value < 0.8) {
|
|
@@ -347,7 +385,7 @@ function $448b24baeef3b229$var$UnitIDList({ units: units, selectUnit: selectUnit
|
|
|
347
385
|
}, unit);
|
|
348
386
|
}));
|
|
349
387
|
}
|
|
350
|
-
function $448b24baeef3b229$var$IntervalProportions({ unit: unit }) {
|
|
388
|
+
function $448b24baeef3b229$var$IntervalProportions({ unit: unit, onClickItem: onClickItem }) {
|
|
351
389
|
const i0 = unit.b_int_id;
|
|
352
390
|
const i1 = unit.t_int_id;
|
|
353
391
|
let b_prop = unit.b_prop ?? 0;
|
|
@@ -373,14 +411,25 @@ function $448b24baeef3b229$var$IntervalProportions({ unit: unit }) {
|
|
|
373
411
|
$448b24baeef3b229$var$h("span.sep", "to"),
|
|
374
412
|
p1
|
|
375
413
|
]);
|
|
414
|
+
const clickable = onClickItem != null;
|
|
415
|
+
const handleClick = (event)=>{
|
|
416
|
+
if (onClickItem) onClickItem({
|
|
417
|
+
event: event,
|
|
418
|
+
data: interval0
|
|
419
|
+
});
|
|
420
|
+
};
|
|
376
421
|
return $448b24baeef3b229$var$h("div.interval-proportions", [
|
|
377
422
|
$448b24baeef3b229$var$h((0, $01tAX$IntervalTag), {
|
|
423
|
+
className: clickable ? "clickable" : "",
|
|
424
|
+
onClick: clickable ? handleClick : undefined,
|
|
378
425
|
interval: interval0,
|
|
379
426
|
prefix: p0
|
|
380
427
|
}),
|
|
381
428
|
$448b24baeef3b229$var$h.if(i0 != i1)("span.discourage-break", [
|
|
382
429
|
$448b24baeef3b229$var$h("span.sep", "to"),
|
|
383
430
|
$448b24baeef3b229$var$h((0, $01tAX$IntervalTag), {
|
|
431
|
+
className: clickable ? "clickable" : "",
|
|
432
|
+
onClick: clickable ? handleClick : undefined,
|
|
384
433
|
interval: {
|
|
385
434
|
...int1,
|
|
386
435
|
id: i1,
|
|
@@ -416,5 +465,5 @@ function $448b24baeef3b229$var$formatSignificance(value, precision = null) {
|
|
|
416
465
|
}
|
|
417
466
|
|
|
418
467
|
|
|
419
|
-
export {$448b24baeef3b229$export$fbd245232df17557 as UnitDetailsPanel, $448b24baeef3b229$export$fc503c39cc5cff43 as LegendPanelHeader, $448b24baeef3b229$export$ec297f6f9a6ccad0 as UnitDetailsFeature, $448b24baeef3b229$export$3b11bc38611c5941 as Duration};
|
|
420
|
-
//# sourceMappingURL=column-views.
|
|
468
|
+
export {$448b24baeef3b229$export$fbd245232df17557 as UnitDetailsPanel, $448b24baeef3b229$export$fc503c39cc5cff43 as LegendPanelHeader, $448b24baeef3b229$export$ec297f6f9a6ccad0 as UnitDetailsFeature, $448b24baeef3b229$export$3b11bc38611c5941 as Duration, $448b24baeef3b229$export$37ebfd237811b1eb as AgeLabel};
|
|
469
|
+
//# sourceMappingURL=column-views.1f123354.js.map
|