@macrostrat/column-views 2.1.4 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/dist/esm/{column-views.4ab0ec82.js → column-views.073c42da.js} +142 -76
- package/dist/esm/column-views.073c42da.js.map +1 -0
- package/dist/esm/column-views.079119f4.js +17 -0
- package/dist/esm/column-views.079119f4.js.map +1 -0
- package/dist/esm/{column-views.77b49a43.js → column-views.0859feb3.js} +52 -23
- package/dist/esm/column-views.0859feb3.js.map +1 -0
- package/dist/esm/{column-views.1f7fb650.js → column-views.0a8a07f4.js} +3 -3
- package/dist/esm/{column-views.1f7fb650.js.map → column-views.0a8a07f4.js.map} +1 -1
- package/dist/esm/{column-views.0732894f.js → column-views.0f7f6ee6.js} +2 -2
- package/dist/esm/{column-views.0732894f.js.map → column-views.0f7f6ee6.js.map} +1 -1
- package/dist/esm/{column-views.448c0687.css → column-views.1151416d.css} +5 -5
- package/dist/esm/column-views.1151416d.css.map +1 -0
- package/dist/esm/{column-views.676cb1d3.js → column-views.1b644998.js} +3 -3
- package/dist/esm/{column-views.676cb1d3.js.map → column-views.1b644998.js.map} +1 -1
- package/dist/esm/{column-views.686d21ad.js → column-views.22ec902b.js} +4 -1
- package/dist/esm/column-views.22ec902b.js.map +1 -0
- package/dist/esm/{column-views.02f3732a.js → column-views.285cbb65.js} +40 -20
- package/dist/esm/column-views.285cbb65.js.map +1 -0
- package/dist/esm/{column-views.97d542eb.js → column-views.2d602a57.js} +4 -4
- package/dist/esm/column-views.2d602a57.js.map +1 -0
- package/dist/esm/{column-views.b17f793f.css → column-views.321af3ae.css} +7 -1
- package/dist/esm/{column-views.686d21ad.js.map → column-views.321af3ae.css.map} +1 -1
- package/dist/esm/column-views.3a7179c4.js +137 -0
- package/dist/esm/column-views.3a7179c4.js.map +1 -0
- package/dist/esm/{column-views.78bd3f09.js → column-views.3e1b8c7d.js} +2 -2
- package/dist/esm/{column-views.78bd3f09.js.map → column-views.3e1b8c7d.js.map} +1 -1
- package/dist/esm/{column-views.42b89c52.js → column-views.3f528c5c.js} +50 -22
- package/dist/esm/column-views.3f528c5c.js.map +1 -0
- package/dist/esm/{column-views.1e055ed5.js → column-views.4fd4ec92.js} +17 -3
- package/dist/esm/column-views.4fd4ec92.js.map +1 -0
- package/dist/esm/{column-views.769fa0ee.js → column-views.53186d53.js} +2 -2
- package/dist/esm/{column-views.769fa0ee.js.map → column-views.53186d53.js.map} +1 -1
- package/dist/esm/{column-views.39657bbf.js → column-views.54f8b909.js} +7 -2
- package/dist/esm/column-views.54f8b909.js.map +1 -0
- package/dist/esm/{column-views.b72918ce.css → column-views.562db43a.css} +10 -2
- package/dist/esm/column-views.562db43a.css.map +1 -0
- package/dist/esm/{column-views.9e1c82fe.js → column-views.58b891df.js} +2 -2
- package/dist/esm/{column-views.9e1c82fe.js.map → column-views.58b891df.js.map} +1 -1
- package/dist/esm/{column-views.775846c9.js → column-views.5a49cd68.js} +8 -38
- package/dist/esm/column-views.5a49cd68.js.map +1 -0
- package/dist/esm/{column-views.f20eb583.js → column-views.5d969bc5.js} +4 -5
- package/dist/esm/column-views.5d969bc5.js.map +1 -0
- package/dist/esm/{column-views.243da806.js → column-views.63b7e5aa.js} +3 -3
- package/dist/esm/{column-views.243da806.js.map → column-views.63b7e5aa.js.map} +1 -1
- package/dist/esm/column-views.6698b95a.js +108 -0
- package/dist/esm/column-views.6698b95a.js.map +1 -0
- package/dist/esm/column-views.6c644353.js +184 -0
- package/dist/esm/column-views.6c644353.js.map +1 -0
- package/dist/esm/column-views.6e7082db.js +16 -0
- package/dist/esm/column-views.6e7082db.js.map +1 -0
- package/dist/esm/column-views.70164236.js +206 -0
- package/dist/esm/column-views.70164236.js.map +1 -0
- package/dist/esm/{column-views.7ca9e1cd.js → column-views.73b8ff16.js} +19 -21
- package/dist/esm/column-views.73b8ff16.js.map +1 -0
- package/dist/esm/{column-views.cc5244c4.js → column-views.77561197.js} +91 -55
- package/dist/esm/column-views.77561197.js.map +1 -0
- package/dist/esm/{column-views.e7ab5af0.js → column-views.83395185.js} +3 -3
- package/dist/esm/{column-views.e7ab5af0.js.map → column-views.83395185.js.map} +1 -1
- package/dist/esm/{column-views.8e3dec90.js → column-views.86a51ce7.js} +2 -2
- package/dist/esm/{column-views.8e3dec90.js.map → column-views.86a51ce7.js.map} +1 -1
- package/dist/esm/{column-views.f08929e2.js → column-views.88d63dd0.js} +5 -3
- package/dist/esm/column-views.88d63dd0.js.map +1 -0
- package/dist/esm/{column-views.3f246167.js → column-views.8c296309.js} +5 -5
- package/dist/esm/column-views.8c296309.js.map +1 -0
- package/dist/esm/{column-views.ab0380ed.js → column-views.8d24b179.js} +3 -3
- package/dist/esm/{column-views.ab0380ed.js.map → column-views.8d24b179.js.map} +1 -1
- package/dist/esm/{column-views.a6301a41.js → column-views.986e7566.js} +7 -7
- package/dist/esm/{column-views.a6301a41.js.map → column-views.986e7566.js.map} +1 -1
- package/dist/esm/{column-views.86619334.js → column-views.9ddbe7df.js} +2 -2
- package/dist/esm/{column-views.86619334.js.map → column-views.9ddbe7df.js.map} +1 -1
- package/dist/esm/{column-views.2ff3dd8b.js → column-views.ae7c0a2b.js} +31 -60
- package/dist/esm/column-views.ae7c0a2b.js.map +1 -0
- package/dist/esm/{column-views.9892f825.js → column-views.aecf25bc.js} +75 -42
- package/dist/esm/column-views.aecf25bc.js.map +1 -0
- package/dist/esm/column-views.b7016f82.css +54 -0
- package/dist/esm/column-views.b7016f82.css.map +1 -0
- package/dist/esm/{column-views.a195109e.js → column-views.ba0381cc.js} +2 -2
- package/dist/esm/{column-views.a195109e.js.map → column-views.ba0381cc.js.map} +1 -1
- package/dist/esm/{column-views.75ea6dbe.js → column-views.c518ef14.js} +9 -4
- package/dist/esm/column-views.c518ef14.js.map +1 -0
- package/dist/esm/{column-views.f7523c1d.js → column-views.c92a359e.js} +2 -2
- package/dist/esm/{column-views.f7523c1d.js.map → column-views.c92a359e.js.map} +1 -1
- package/dist/esm/{column-views.cdadc5c2.js → column-views.cc733361.js} +7 -1
- package/dist/esm/column-views.cc733361.js.map +1 -0
- package/dist/esm/{column-views.4d22c21c.js → column-views.d15d8655.js} +22 -4
- package/dist/esm/column-views.d15d8655.js.map +1 -0
- package/dist/esm/{column-views.5e2dc19d.js → column-views.d261b02d.js} +3 -3
- package/dist/esm/{column-views.5e2dc19d.js.map → column-views.d261b02d.js.map} +1 -1
- package/dist/esm/{column-views.fbc7401f.js → column-views.d406665d.js} +5 -5
- package/dist/esm/{column-views.fbc7401f.js.map → column-views.d406665d.js.map} +1 -1
- package/dist/esm/{column-views.7715e35e.js → column-views.d69c4a9f.js} +3 -3
- package/dist/esm/{column-views.7715e35e.js.map → column-views.d69c4a9f.js.map} +1 -1
- package/dist/esm/{column-views.547b2730.js → column-views.d9c6b527.js} +15 -12
- package/dist/esm/column-views.d9c6b527.js.map +1 -0
- package/dist/esm/{column-views.8d4ce558.css → column-views.e33ac5c9.css} +26 -9
- package/dist/esm/column-views.e33ac5c9.css.map +1 -0
- package/dist/esm/column-views.e3bf5384.js +15 -0
- package/dist/esm/{column-views.38a305a0.js.map → column-views.e3bf5384.js.map} +1 -1
- package/dist/esm/{column-views.e3b9a317.js → column-views.e4c26185.js} +2 -2
- package/dist/esm/{column-views.e3b9a317.js.map → column-views.e4c26185.js.map} +1 -1
- package/dist/esm/column-views.e84bd756.js +92 -0
- package/dist/esm/column-views.e84bd756.js.map +1 -0
- package/dist/esm/column-views.ea4ebbb7.js +31 -0
- package/dist/esm/column-views.ea4ebbb7.js.map +1 -0
- package/dist/esm/column-views.ed05e233.js +13 -0
- package/dist/esm/{column-views.0a159282.js.map → column-views.ed05e233.js.map} +1 -1
- package/dist/esm/{column-views.64a84c43.js → column-views.f2fd0e4a.js} +10 -2
- package/dist/esm/column-views.f2fd0e4a.js.map +1 -0
- package/dist/esm/{column-views.935ef6f7.js → column-views.f46a0b36.js} +2 -2
- package/dist/esm/{column-views.935ef6f7.js.map → column-views.f46a0b36.js.map} +1 -1
- package/dist/esm/{column-views.d48cb0d8.js → column-views.fcf25ec6.js} +7 -1
- package/dist/esm/column-views.fcf25ec6.js.map +1 -0
- package/dist/esm/index.d.ts +217 -406
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +12 -12
- package/dist/node/{column-views.858b5cf4.js → column-views.01debc76.js} +2 -2
- package/dist/node/{column-views.858b5cf4.js.map → column-views.01debc76.js.map} +1 -1
- package/dist/node/{column-views.51bc87ca.js → column-views.040499c9.js} +2 -2
- package/dist/node/{column-views.51bc87ca.js.map → column-views.040499c9.js.map} +1 -1
- package/dist/node/{column-views.e3ba0594.js → column-views.07ff1fdf.js} +2 -2
- package/dist/node/{column-views.e3ba0594.js.map → column-views.07ff1fdf.js.map} +1 -1
- package/dist/node/{column-views.3a55ecd7.css → column-views.0840b115.css} +2 -2
- package/dist/node/column-views.0840b115.css.map +1 -0
- package/dist/node/column-views.0b3a384e.js +2 -0
- package/dist/node/column-views.0b3a384e.js.map +1 -0
- package/dist/node/column-views.0bd15ee4.js +2 -0
- package/dist/node/column-views.0bd15ee4.js.map +1 -0
- package/dist/node/column-views.105f6ad2.js +2 -0
- package/dist/node/column-views.105f6ad2.js.map +1 -0
- package/dist/node/column-views.1261be59.js +2 -0
- package/dist/node/column-views.1261be59.js.map +1 -0
- package/dist/node/{column-views.45fab61b.js → column-views.13e69859.js} +2 -2
- package/dist/node/{column-views.45fab61b.js.map → column-views.13e69859.js.map} +1 -1
- package/dist/node/column-views.16f336ee.js +2 -0
- package/dist/node/column-views.16f336ee.js.map +1 -0
- package/dist/node/{column-views.58d2f993.js → column-views.1a7f8afd.js} +2 -2
- package/dist/node/{column-views.58d2f993.js.map → column-views.1a7f8afd.js.map} +1 -1
- package/dist/node/column-views.29eb25bd.css +2 -0
- package/dist/node/column-views.29eb25bd.css.map +1 -0
- package/dist/node/column-views.2bd97c2e.js +2 -0
- package/dist/node/column-views.2bd97c2e.js.map +1 -0
- package/dist/node/column-views.3b37363f.js +2 -0
- package/dist/node/column-views.3b37363f.js.map +1 -0
- package/dist/node/column-views.45296250.js +2 -0
- package/dist/node/column-views.45296250.js.map +1 -0
- package/dist/node/{column-views.0cbd4a3f.js → column-views.48a3cfa3.js} +2 -2
- package/dist/node/{column-views.0cbd4a3f.js.map → column-views.48a3cfa3.js.map} +1 -1
- package/dist/node/{column-views.42db0bb8.js → column-views.492c2c72.js} +2 -2
- package/dist/node/{column-views.42db0bb8.js.map → column-views.492c2c72.js.map} +1 -1
- package/dist/node/column-views.50a992d3.css +2 -0
- package/dist/node/column-views.50a992d3.css.map +1 -0
- package/dist/node/column-views.573cb29d.js +2 -0
- package/dist/node/column-views.573cb29d.js.map +1 -0
- package/dist/node/column-views.576e3c5a.js +2 -0
- package/dist/node/column-views.576e3c5a.js.map +1 -0
- package/dist/node/column-views.5f3b0b04.js +2 -0
- package/dist/node/column-views.5f3b0b04.js.map +1 -0
- package/dist/node/column-views.6fd5a922.js +2 -0
- package/dist/node/column-views.6fd5a922.js.map +1 -0
- package/dist/node/column-views.7150ba18.js +2 -0
- package/dist/node/column-views.7150ba18.js.map +1 -0
- package/dist/node/column-views.728c8dfc.js +2 -0
- package/dist/node/column-views.728c8dfc.js.map +1 -0
- package/dist/node/column-views.7425d37b.js +2 -0
- package/dist/node/column-views.7425d37b.js.map +1 -0
- package/dist/node/{column-views.2e4e357d.js → column-views.75582658.js} +2 -2
- package/dist/node/{column-views.2e4e357d.js.map → column-views.75582658.js.map} +1 -1
- package/dist/node/column-views.77ace3a2.js +2 -0
- package/dist/node/column-views.77ace3a2.js.map +1 -0
- package/dist/node/column-views.7f9c7448.js +2 -0
- package/dist/node/column-views.7f9c7448.js.map +1 -0
- package/dist/node/{column-views.a2274834.js → column-views.81294fb7.js} +2 -2
- package/dist/node/{column-views.a2274834.js.map → column-views.81294fb7.js.map} +1 -1
- package/dist/node/column-views.827a9894.js +2 -0
- package/dist/node/column-views.827a9894.js.map +1 -0
- package/dist/node/column-views.87b1439e.js +2 -0
- package/dist/node/column-views.87b1439e.js.map +1 -0
- package/dist/node/{column-views.492b4917.js → column-views.9dda582d.js} +2 -2
- package/dist/node/{column-views.492b4917.js.map → column-views.9dda582d.js.map} +1 -1
- package/dist/node/{column-views.2a6b842d.js → column-views.9e155f20.js} +2 -2
- package/dist/node/column-views.9e155f20.js.map +1 -0
- package/dist/node/column-views.a16cd1f2.js +2 -0
- package/dist/node/column-views.a16cd1f2.js.map +1 -0
- package/dist/node/{column-views.eeca917f.js → column-views.a34732e7.js} +2 -2
- package/dist/node/{column-views.eeca917f.js.map → column-views.a34732e7.js.map} +1 -1
- package/dist/node/{column-views.65f091ea.js → column-views.a396d3ac.js} +2 -2
- package/dist/node/{column-views.65f091ea.js.map → column-views.a396d3ac.js.map} +1 -1
- package/dist/node/column-views.aae09aca.js +2 -0
- package/dist/node/column-views.aae09aca.js.map +1 -0
- package/dist/node/{column-views.a372c943.js → column-views.ac1b58b7.js} +2 -2
- package/dist/node/{column-views.a372c943.js.map → column-views.ac1b58b7.js.map} +1 -1
- package/dist/node/column-views.aef76eee.js +2 -0
- package/dist/node/column-views.aef76eee.js.map +1 -0
- package/dist/node/column-views.b64cd0ea.js +2 -0
- package/dist/node/column-views.b64cd0ea.js.map +1 -0
- package/dist/node/{column-views.2d957a97.js → column-views.b6cd4360.js} +2 -2
- package/dist/node/column-views.b6cd4360.js.map +1 -0
- package/dist/node/column-views.c0be1157.js +2 -0
- package/dist/node/column-views.c0be1157.js.map +1 -0
- package/dist/node/column-views.c29e9eb8.js +2 -0
- package/dist/node/column-views.c29e9eb8.js.map +1 -0
- package/dist/node/column-views.c8df6435.js +2 -0
- package/dist/node/column-views.c8df6435.js.map +1 -0
- package/dist/node/column-views.cd2a5c85.js +2 -0
- package/dist/node/column-views.cd2a5c85.js.map +1 -0
- package/dist/node/{column-views.df97f28e.js → column-views.cd77a1d8.js} +2 -2
- package/dist/node/{column-views.df97f28e.js.map → column-views.cd77a1d8.js.map} +1 -1
- package/dist/node/column-views.cd7b223b.css +2 -0
- package/dist/node/column-views.cd7b223b.css.map +1 -0
- package/dist/node/column-views.cf2a78c1.js +2 -0
- package/dist/node/column-views.cf2a78c1.js.map +1 -0
- package/dist/node/{column-views.c7f6fc0a.js → column-views.d529d3aa.js} +2 -2
- package/dist/node/{column-views.c7f6fc0a.js.map → column-views.d529d3aa.js.map} +1 -1
- package/dist/node/{column-views.7010a03b.js → column-views.dd972321.js} +2 -2
- package/dist/node/{column-views.7010a03b.js.map → column-views.dd972321.js.map} +1 -1
- package/dist/node/column-views.e065152e.js +2 -0
- package/dist/node/column-views.e065152e.js.map +1 -0
- package/dist/node/{column-views.2ca669bc.js → column-views.e08f8715.js} +2 -2
- package/dist/node/{column-views.2ca669bc.js.map → column-views.e08f8715.js.map} +1 -1
- package/dist/node/{column-views.91043465.js → column-views.e0d9865e.js} +2 -2
- package/dist/node/column-views.e0d9865e.js.map +1 -0
- package/dist/node/column-views.e2562224.js +2 -0
- package/dist/node/column-views.e2562224.js.map +1 -0
- package/dist/node/column-views.e803e4ae.css +2 -0
- package/dist/node/column-views.e803e4ae.css.map +1 -0
- package/dist/node/column-views.edb4ba54.js +2 -0
- package/dist/node/column-views.edb4ba54.js.map +1 -0
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +13 -13
- package/src/age-axis.module.sass +4 -2
- package/src/age-axis.ts +49 -15
- package/src/age-model-overlay.ts +22 -1
- package/src/column.module.sass +29 -9
- package/src/column.ts +91 -19
- package/src/correlation-chart/main.ts +10 -2
- package/src/correlation-chart/prepare-data.ts +7 -4
- package/src/correlation-chart/stories/correlation-chart.stories.ts +26 -1
- package/src/data-provider/base.ts +32 -24
- package/src/data-provider/fetch.ts +10 -3
- package/src/data-provider/store.ts +16 -10
- package/src/facets/base-sample-column.module.sass +14 -0
- package/src/facets/base-sample-column.ts +114 -0
- package/src/facets/detrital-zircon/index.ts +31 -63
- package/src/facets/fossils/index.module.sass +43 -13
- package/src/facets/fossils/index.ts +232 -158
- package/src/facets/fossils/provider.ts +121 -25
- package/src/facets/index.ts +1 -0
- package/src/facets/measurements/index.ts +1 -2
- package/src/prepare-units/composite-scale.ts +183 -155
- package/src/prepare-units/dynamic-scales.ts +298 -0
- package/src/prepare-units/helpers.ts +99 -87
- package/src/prepare-units/index.ts +77 -51
- package/src/prepare-units/types.ts +138 -0
- package/src/prepare-units/utils.ts +29 -1
- package/src/section.ts +46 -9
- package/src/unit-details/panel.module.sass +8 -1
- package/src/unit-details/panel.ts +123 -53
- package/src/unit-details/popover.ts +5 -0
- package/src/units/boxes.ts +1 -5
- package/src/units/composite.ts +3 -49
- package/src/units/selection.ts +21 -7
- package/dist/esm/column-views.02f3732a.js.map +0 -1
- package/dist/esm/column-views.0a159282.js +0 -13
- package/dist/esm/column-views.1e055ed5.js.map +0 -1
- package/dist/esm/column-views.2ff3dd8b.js.map +0 -1
- package/dist/esm/column-views.3048acc1.js +0 -66
- package/dist/esm/column-views.3048acc1.js.map +0 -1
- package/dist/esm/column-views.38a305a0.js +0 -13
- package/dist/esm/column-views.39657bbf.js.map +0 -1
- package/dist/esm/column-views.3f246167.js.map +0 -1
- package/dist/esm/column-views.42b89c52.js.map +0 -1
- package/dist/esm/column-views.448c0687.css.map +0 -1
- package/dist/esm/column-views.4ab0ec82.js.map +0 -1
- package/dist/esm/column-views.4d22c21c.js.map +0 -1
- package/dist/esm/column-views.547b2730.js.map +0 -1
- package/dist/esm/column-views.64a84c43.js.map +0 -1
- package/dist/esm/column-views.75ea6dbe.js.map +0 -1
- package/dist/esm/column-views.775846c9.js.map +0 -1
- package/dist/esm/column-views.77b49a43.js.map +0 -1
- package/dist/esm/column-views.7ca9e1cd.js.map +0 -1
- package/dist/esm/column-views.8703a35b.js +0 -163
- package/dist/esm/column-views.8703a35b.js.map +0 -1
- package/dist/esm/column-views.8d4ce558.css.map +0 -1
- package/dist/esm/column-views.97d542eb.js.map +0 -1
- package/dist/esm/column-views.9892f825.js.map +0 -1
- package/dist/esm/column-views.b17f793f.css.map +0 -1
- package/dist/esm/column-views.b3c1eb9e.js +0 -16
- package/dist/esm/column-views.b3c1eb9e.js.map +0 -1
- package/dist/esm/column-views.b72918ce.css.map +0 -1
- package/dist/esm/column-views.c71c321c.js +0 -104
- package/dist/esm/column-views.c71c321c.js.map +0 -1
- package/dist/esm/column-views.cc5244c4.js.map +0 -1
- package/dist/esm/column-views.cdadc5c2.js.map +0 -1
- package/dist/esm/column-views.d48cb0d8.js.map +0 -1
- package/dist/esm/column-views.f08929e2.js.map +0 -1
- package/dist/esm/column-views.f20eb583.js.map +0 -1
- package/dist/node/column-views.085f4a51.js +0 -2
- package/dist/node/column-views.085f4a51.js.map +0 -1
- package/dist/node/column-views.0dfc7ef7.js +0 -2
- package/dist/node/column-views.0dfc7ef7.js.map +0 -1
- package/dist/node/column-views.1a0b56fc.js +0 -2
- package/dist/node/column-views.1a0b56fc.js.map +0 -1
- package/dist/node/column-views.2926f656.css +0 -2
- package/dist/node/column-views.2926f656.css.map +0 -1
- package/dist/node/column-views.2a6b842d.js.map +0 -1
- package/dist/node/column-views.2d957a97.js.map +0 -1
- package/dist/node/column-views.307661d1.css +0 -2
- package/dist/node/column-views.307661d1.css.map +0 -1
- package/dist/node/column-views.33752461.js +0 -2
- package/dist/node/column-views.33752461.js.map +0 -1
- package/dist/node/column-views.38357d4a.js +0 -2
- package/dist/node/column-views.38357d4a.js.map +0 -1
- package/dist/node/column-views.3a55ecd7.css.map +0 -1
- package/dist/node/column-views.3eeac38d.js +0 -2
- package/dist/node/column-views.3eeac38d.js.map +0 -1
- package/dist/node/column-views.45168c80.js +0 -2
- package/dist/node/column-views.45168c80.js.map +0 -1
- package/dist/node/column-views.4ca62e5d.js +0 -2
- package/dist/node/column-views.4ca62e5d.js.map +0 -1
- package/dist/node/column-views.6ae7bb69.js +0 -2
- package/dist/node/column-views.6ae7bb69.js.map +0 -1
- package/dist/node/column-views.6f7a432f.js +0 -2
- package/dist/node/column-views.6f7a432f.js.map +0 -1
- package/dist/node/column-views.755f726e.js +0 -2
- package/dist/node/column-views.755f726e.js.map +0 -1
- package/dist/node/column-views.758b9bc1.js +0 -2
- package/dist/node/column-views.758b9bc1.js.map +0 -1
- package/dist/node/column-views.78d3f3c5.js +0 -2
- package/dist/node/column-views.78d3f3c5.js.map +0 -1
- package/dist/node/column-views.80fcf105.js +0 -2
- package/dist/node/column-views.80fcf105.js.map +0 -1
- package/dist/node/column-views.8cfed88b.js +0 -2
- package/dist/node/column-views.8cfed88b.js.map +0 -1
- package/dist/node/column-views.91043465.js.map +0 -1
- package/dist/node/column-views.976a829b.js +0 -2
- package/dist/node/column-views.976a829b.js.map +0 -1
- package/dist/node/column-views.99fb74c0.js +0 -2
- package/dist/node/column-views.99fb74c0.js.map +0 -1
- package/dist/node/column-views.9b7a9ae1.js +0 -2
- package/dist/node/column-views.9b7a9ae1.js.map +0 -1
- package/dist/node/column-views.9de31cdb.js +0 -2
- package/dist/node/column-views.9de31cdb.js.map +0 -1
- package/dist/node/column-views.a4e6d4ad.js +0 -2
- package/dist/node/column-views.a4e6d4ad.js.map +0 -1
- package/dist/node/column-views.a501cea0.js +0 -2
- package/dist/node/column-views.a501cea0.js.map +0 -1
- package/dist/node/column-views.a7256aa7.js +0 -2
- package/dist/node/column-views.a7256aa7.js.map +0 -1
- package/dist/node/column-views.c4b409e1.css +0 -2
- package/dist/node/column-views.c4b409e1.css.map +0 -1
- package/dist/node/column-views.cef1b814.js +0 -2
- package/dist/node/column-views.cef1b814.js.map +0 -1
- package/dist/node/column-views.d6708353.js +0 -2
- package/dist/node/column-views.d6708353.js.map +0 -1
- package/dist/node/column-views.d9add589.js +0 -2
- package/dist/node/column-views.d9add589.js.map +0 -1
- package/dist/node/column-views.dfb2361a.js +0 -2
- package/dist/node/column-views.dfb2361a.js.map +0 -1
- package/dist/node/column-views.e9515ec1.js +0 -2
- package/dist/node/column-views.e9515ec1.js.map +0 -1
package/src/column.module.sass
CHANGED
|
@@ -33,6 +33,12 @@ body:global(.dark-mode) .column-container
|
|
|
33
33
|
svg pattern image
|
|
34
34
|
filter: invert(100%)
|
|
35
35
|
|
|
36
|
+
.column-container
|
|
37
|
+
padding-top: var(--column-padding-top)
|
|
38
|
+
padding-bottom: var(--column-padding-bottom)
|
|
39
|
+
padding-left: var(--column-padding-left)
|
|
40
|
+
padding-right: var(--column-padding-right)
|
|
41
|
+
|
|
36
42
|
.column-container :global
|
|
37
43
|
.column
|
|
38
44
|
display: flex
|
|
@@ -111,30 +117,44 @@ body:global(.dark-mode) .column-container
|
|
|
111
117
|
|
|
112
118
|
|
|
113
119
|
.unconformity
|
|
114
|
-
text-align: center
|
|
115
120
|
position: absolute
|
|
121
|
+
font-family: var(--label-font-family, sans-serif)
|
|
116
122
|
top: 0px
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
123
|
+
//font-size: 12px
|
|
124
|
+
font-weight: 400
|
|
125
|
+
|
|
120
126
|
font-size: 0.8em
|
|
121
127
|
&.giga
|
|
122
128
|
font-weight: 800
|
|
123
|
-
font-size: 1em
|
|
129
|
+
//font-size: 1em
|
|
124
130
|
&.mega
|
|
125
|
-
font-weight: 600
|
|
126
131
|
font-weight: 700
|
|
127
|
-
font-size: 0.9em
|
|
132
|
+
//font-size: 0.9em
|
|
128
133
|
&.large
|
|
129
|
-
font-weight:
|
|
134
|
+
font-weight: 500
|
|
130
135
|
&.small
|
|
131
136
|
font-weight: 300
|
|
137
|
+
--unit-font-weight: 400
|
|
132
138
|
|
|
139
|
+
.unconformity-inner
|
|
140
|
+
//border-left: 1.5px dotted var(--secondary-color)
|
|
141
|
+
position: absolute
|
|
142
|
+
top: 5px
|
|
143
|
+
bottom: 5px
|
|
144
|
+
left: -3px
|
|
145
|
+
right: -2px
|
|
146
|
+
display: flex
|
|
147
|
+
justify-content: center
|
|
148
|
+
align-items: center
|
|
149
|
+
text-align: center
|
|
133
150
|
|
|
134
151
|
.unconformity-text
|
|
135
152
|
width: var(--column-width)
|
|
136
|
-
color: var(--column-stroke-color)
|
|
137
153
|
--unit-font-style: normal
|
|
154
|
+
.prefix
|
|
155
|
+
font-weight: 400
|
|
156
|
+
color: var(--secondary-color)
|
|
157
|
+
|
|
138
158
|
|
|
139
159
|
|
|
140
160
|
.column-title-row
|
package/src/column.ts
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import { ColumnAxisType } from "@macrostrat/column-components";
|
|
2
2
|
import { hyperStyled } from "@macrostrat/hyper";
|
|
3
|
-
import {
|
|
3
|
+
import {
|
|
4
|
+
Box,
|
|
5
|
+
extractPadding,
|
|
6
|
+
Padding,
|
|
7
|
+
useDarkMode,
|
|
8
|
+
} from "@macrostrat/ui-components";
|
|
4
9
|
import classNames from "classnames";
|
|
5
|
-
import {
|
|
10
|
+
import {
|
|
11
|
+
RefObject,
|
|
12
|
+
useRef,
|
|
13
|
+
HTMLAttributes,
|
|
14
|
+
useCallback,
|
|
15
|
+
CSSProperties,
|
|
16
|
+
ComponentType,
|
|
17
|
+
} from "react";
|
|
6
18
|
import styles from "./column.module.sass";
|
|
7
19
|
import {
|
|
8
20
|
UnitSelectionProvider,
|
|
@@ -11,7 +23,6 @@ import {
|
|
|
11
23
|
useUnitSelectionDispatch,
|
|
12
24
|
} from "./units";
|
|
13
25
|
|
|
14
|
-
import { ColumnHeightScaleOptions } from "./prepare-units/composite-scale";
|
|
15
26
|
import {
|
|
16
27
|
Identifier,
|
|
17
28
|
ReferencesField,
|
|
@@ -27,11 +38,17 @@ import {
|
|
|
27
38
|
CompositeTimescale,
|
|
28
39
|
SectionsColumn,
|
|
29
40
|
} from "./section";
|
|
30
|
-
import { CompositeAgeAxis } from "./age-axis";
|
|
31
|
-
import {
|
|
41
|
+
import { ApproximateHeightAxis, CompositeAgeAxis } from "./age-axis";
|
|
42
|
+
import {
|
|
43
|
+
MergeSectionsMode,
|
|
44
|
+
usePreparedColumnUnits,
|
|
45
|
+
HybridScaleType,
|
|
46
|
+
ColumnHeightScaleOptions,
|
|
47
|
+
} from "./prepare-units";
|
|
32
48
|
import { UnitLong } from "@macrostrat/api-types";
|
|
33
49
|
import { NonIdealState } from "@blueprintjs/core";
|
|
34
50
|
import { DataField } from "@macrostrat/data-components";
|
|
51
|
+
import { ScaleContinuousNumeric } from "d3-scale";
|
|
35
52
|
|
|
36
53
|
const h = hyperStyled(styles);
|
|
37
54
|
|
|
@@ -51,11 +68,14 @@ interface BaseColumnProps extends SectionSharedProps {
|
|
|
51
68
|
) => void;
|
|
52
69
|
}
|
|
53
70
|
|
|
54
|
-
export interface ColumnProps
|
|
71
|
+
export interface ColumnProps
|
|
72
|
+
extends Padding, BaseColumnProps, ColumnHeightScaleOptions {
|
|
55
73
|
// Macrostrat units
|
|
56
74
|
units: UnitLong[];
|
|
57
75
|
t_age?: number;
|
|
58
76
|
b_age?: number;
|
|
77
|
+
t_pos?: number;
|
|
78
|
+
b_pos?: number;
|
|
59
79
|
mergeSections?: MergeSectionsMode;
|
|
60
80
|
showUnitPopover?: boolean;
|
|
61
81
|
allowUnitSelection?: boolean;
|
|
@@ -63,6 +83,7 @@ export interface ColumnProps extends BaseColumnProps, ColumnHeightScaleOptions {
|
|
|
63
83
|
onUnitSelected?: (unitID: number | null, unit: any) => void;
|
|
64
84
|
// Unconformity height in pixels
|
|
65
85
|
unconformityHeight?: number;
|
|
86
|
+
scale?: ScaleContinuousNumeric<number, number>;
|
|
66
87
|
}
|
|
67
88
|
|
|
68
89
|
export function Column(props: ColumnProps) {
|
|
@@ -77,6 +98,8 @@ export function Column(props: ColumnProps) {
|
|
|
77
98
|
axisType = ColumnAxisType.AGE,
|
|
78
99
|
t_age,
|
|
79
100
|
b_age,
|
|
101
|
+
t_pos,
|
|
102
|
+
b_pos,
|
|
80
103
|
unconformityHeight = 30,
|
|
81
104
|
targetUnitHeight = 20,
|
|
82
105
|
pixelScale,
|
|
@@ -84,22 +107,40 @@ export function Column(props: ColumnProps) {
|
|
|
84
107
|
minSectionHeight = 50,
|
|
85
108
|
collapseSmallUnconformities = true,
|
|
86
109
|
allowUnitSelection,
|
|
110
|
+
hybridScale,
|
|
111
|
+
scale,
|
|
87
112
|
...rest
|
|
88
113
|
} = props;
|
|
89
114
|
const ref = useRef<HTMLElement>();
|
|
90
115
|
// Selected item position
|
|
91
116
|
|
|
117
|
+
/* Make pixelScale and targetUnitHeight mutually exclusive. PixelScale implies
|
|
118
|
+
* standardization of scales in all sections */
|
|
119
|
+
let _targetUnitHeight = targetUnitHeight;
|
|
120
|
+
let _minSectionHeight = minSectionHeight;
|
|
121
|
+
let _minPixelScale = minPixelScale;
|
|
122
|
+
if (pixelScale != null) {
|
|
123
|
+
_targetUnitHeight = null;
|
|
124
|
+
_minSectionHeight = 0;
|
|
125
|
+
_minPixelScale = pixelScale;
|
|
126
|
+
}
|
|
127
|
+
|
|
92
128
|
const { sections, units, totalHeight } = usePreparedColumnUnits(rawUnits, {
|
|
93
129
|
axisType,
|
|
94
130
|
t_age,
|
|
95
131
|
b_age,
|
|
132
|
+
t_pos,
|
|
133
|
+
b_pos,
|
|
96
134
|
mergeSections,
|
|
97
|
-
targetUnitHeight,
|
|
135
|
+
targetUnitHeight: _targetUnitHeight,
|
|
98
136
|
unconformityHeight,
|
|
99
137
|
pixelScale,
|
|
100
|
-
minPixelScale,
|
|
101
|
-
minSectionHeight,
|
|
138
|
+
minPixelScale: _minPixelScale,
|
|
139
|
+
minSectionHeight: _minSectionHeight,
|
|
102
140
|
collapseSmallUnconformities,
|
|
141
|
+
// TODO: consider unifying scale and hybridScale options
|
|
142
|
+
scale,
|
|
143
|
+
hybridScale,
|
|
103
144
|
});
|
|
104
145
|
|
|
105
146
|
if (sections.length === 0) {
|
|
@@ -113,11 +154,24 @@ export function Column(props: ColumnProps) {
|
|
|
113
154
|
);
|
|
114
155
|
}
|
|
115
156
|
|
|
116
|
-
let
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
157
|
+
let ageAxisComponent = CompositeAgeAxis;
|
|
158
|
+
if (
|
|
159
|
+
hybridScale?.type === HybridScaleType.ApproximateHeight &&
|
|
160
|
+
axisType != ColumnAxisType.AGE
|
|
161
|
+
) {
|
|
162
|
+
// Use approximate height axis for non-age columns if a non-age axis type is requested
|
|
163
|
+
ageAxisComponent = ApproximateHeightAxis;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
let main: any = h(
|
|
167
|
+
ColumnInner,
|
|
168
|
+
{ columnRef: ref, ageAxisComponent, ...rest },
|
|
169
|
+
[
|
|
170
|
+
children,
|
|
171
|
+
h.if(showUnitPopover)(UnitSelectionPopover),
|
|
172
|
+
h.if(keyboardNavigation)(UnitKeyboardNavigation, { units }),
|
|
173
|
+
],
|
|
174
|
+
);
|
|
121
175
|
|
|
122
176
|
/* By default, unit selection is disabled. However, if any related props are passed,
|
|
123
177
|
we enable it.
|
|
@@ -149,9 +203,20 @@ export function Column(props: ColumnProps) {
|
|
|
149
203
|
|
|
150
204
|
interface ColumnInnerProps extends BaseColumnProps {
|
|
151
205
|
columnRef: RefObject<HTMLElement>;
|
|
206
|
+
ageAxisComponent?: ComponentType;
|
|
152
207
|
}
|
|
153
208
|
|
|
154
209
|
function ColumnInner(props: ColumnInnerProps) {
|
|
210
|
+
const padding = extractPadding(props);
|
|
211
|
+
|
|
212
|
+
// TODO: integrate padding vars more closely with the rest of the spacing (right now padding is a bit ad-hoc)
|
|
213
|
+
const paddingVars: any = {
|
|
214
|
+
"--column-padding-top": `${padding.paddingTop}px`,
|
|
215
|
+
"--column-padding-bottom": `${padding.paddingBottom}px`,
|
|
216
|
+
"--column-padding-left": `${padding.paddingLeft}px`,
|
|
217
|
+
"--column-padding-right": `${padding.paddingRight}px`,
|
|
218
|
+
};
|
|
219
|
+
|
|
155
220
|
const {
|
|
156
221
|
unitComponent = UnitComponent,
|
|
157
222
|
unconformityLabels = true,
|
|
@@ -167,6 +232,7 @@ function ColumnInner(props: ColumnInnerProps) {
|
|
|
167
232
|
timescaleLevels,
|
|
168
233
|
maxInternalColumns,
|
|
169
234
|
onMouseOver,
|
|
235
|
+
ageAxisComponent = CompositeAgeAxis,
|
|
170
236
|
} = props;
|
|
171
237
|
|
|
172
238
|
const { axisType } = useMacrostratColumnData();
|
|
@@ -191,10 +257,11 @@ function ColumnInner(props: ColumnInnerProps) {
|
|
|
191
257
|
ColumnContainer,
|
|
192
258
|
{
|
|
193
259
|
...useMouseEventHandlers(onMouseOver),
|
|
260
|
+
style: paddingVars,
|
|
194
261
|
className,
|
|
195
262
|
},
|
|
196
263
|
h("div.column", { ref: columnRef }, [
|
|
197
|
-
h(
|
|
264
|
+
h(ageAxisComponent),
|
|
198
265
|
h.if(_showTimescale)(CompositeTimescale, { levels: timescaleLevels }),
|
|
199
266
|
h(SectionsColumn, {
|
|
200
267
|
unitComponent,
|
|
@@ -262,16 +329,21 @@ function useMouseEventHandlers(
|
|
|
262
329
|
|
|
263
330
|
export interface ColumnContainerProps extends HTMLAttributes<HTMLDivElement> {
|
|
264
331
|
className?: string;
|
|
332
|
+
style?: CSSProperties;
|
|
265
333
|
}
|
|
266
334
|
|
|
267
335
|
export function ColumnContainer(props: ColumnContainerProps) {
|
|
268
336
|
const { className, ...rest } = props;
|
|
269
337
|
const darkMode = useDarkMode();
|
|
270
338
|
|
|
271
|
-
return h(
|
|
272
|
-
className: classNames(
|
|
273
|
-
|
|
274
|
-
|
|
339
|
+
return h(Box, {
|
|
340
|
+
className: classNames(
|
|
341
|
+
className,
|
|
342
|
+
{
|
|
343
|
+
"dark-mode": darkMode?.isEnabled ?? false,
|
|
344
|
+
},
|
|
345
|
+
"column-container",
|
|
346
|
+
),
|
|
275
347
|
...rest,
|
|
276
348
|
});
|
|
277
349
|
}
|
|
@@ -29,10 +29,11 @@ import {
|
|
|
29
29
|
} from "@macrostrat/column-components";
|
|
30
30
|
import { ColoredUnitComponent } from "../units";
|
|
31
31
|
import { UnitBoxes } from "../units/boxes";
|
|
32
|
-
import { ExtUnit } from "../prepare-units/helpers";
|
|
33
32
|
import { ColumnContainer } from "../column";
|
|
34
33
|
import { ColumnData } from "../data-provider";
|
|
35
34
|
import { BaseUnit } from "@macrostrat/api-types";
|
|
35
|
+
import { ScaleContinuousNumeric } from "d3-scale";
|
|
36
|
+
import { ExtUnit } from "../prepare-units/types";
|
|
36
37
|
|
|
37
38
|
const h = hyper.styled(styles);
|
|
38
39
|
|
|
@@ -117,7 +118,8 @@ export function CorrelationChart({
|
|
|
117
118
|
paddingH: 4,
|
|
118
119
|
},
|
|
119
120
|
packages.map((pkg, i) => {
|
|
120
|
-
const { offset, domain, pixelScale, key } =
|
|
121
|
+
const { offset, domain, pixelScale, scale, key } =
|
|
122
|
+
scaleInfo.packages[i];
|
|
121
123
|
return h(Package, {
|
|
122
124
|
columnData: pkg.columnData,
|
|
123
125
|
key,
|
|
@@ -126,6 +128,7 @@ export function CorrelationChart({
|
|
|
126
128
|
offset,
|
|
127
129
|
domain,
|
|
128
130
|
pixelScale,
|
|
131
|
+
scale,
|
|
129
132
|
unitComponent,
|
|
130
133
|
});
|
|
131
134
|
}),
|
|
@@ -147,6 +150,7 @@ function Package({
|
|
|
147
150
|
offset,
|
|
148
151
|
domain,
|
|
149
152
|
pixelScale,
|
|
153
|
+
scale,
|
|
150
154
|
}) {
|
|
151
155
|
return h("g.package", { transform: `translate(0 ${offset})` }, [
|
|
152
156
|
// Disable the SVG overlay for now
|
|
@@ -160,6 +164,7 @@ function Package({
|
|
|
160
164
|
key: i,
|
|
161
165
|
domain,
|
|
162
166
|
pixelScale,
|
|
167
|
+
scale,
|
|
163
168
|
offsetLeft: i * (columnWidth + columnSpacing),
|
|
164
169
|
});
|
|
165
170
|
}),
|
|
@@ -179,6 +184,7 @@ interface ColumnProps {
|
|
|
179
184
|
offsetLeft?: number;
|
|
180
185
|
domain: [number, number];
|
|
181
186
|
pixelScale: number;
|
|
187
|
+
scale?: ScaleContinuousNumeric<number, number>;
|
|
182
188
|
}
|
|
183
189
|
|
|
184
190
|
function Column(props: ColumnProps) {
|
|
@@ -188,6 +194,7 @@ function Column(props: ColumnProps) {
|
|
|
188
194
|
offsetLeft,
|
|
189
195
|
domain,
|
|
190
196
|
pixelScale,
|
|
197
|
+
scale,
|
|
191
198
|
unitComponent = ColoredUnitComponent,
|
|
192
199
|
} = props;
|
|
193
200
|
|
|
@@ -208,6 +215,7 @@ function Column(props: ColumnProps) {
|
|
|
208
215
|
// Need to tighten up types here...
|
|
209
216
|
divisions: units as any[],
|
|
210
217
|
range: domain,
|
|
218
|
+
scale,
|
|
211
219
|
pixelsPerMeter: pixelScale, // Actually pixels per myr
|
|
212
220
|
axisType: ColumnAxisType.AGE,
|
|
213
221
|
},
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { CompositeStratigraphicScaleInfo } from "../age-axis";
|
|
2
|
-
import { PackageLayoutData } from "../prepare-units/composite-scale";
|
|
3
2
|
import { ColumnAxisType } from "@macrostrat/column-components";
|
|
4
3
|
import { type ColumnGeoJSONRecord, UnitLong } from "@macrostrat/api-types";
|
|
5
4
|
import {
|
|
@@ -9,6 +8,7 @@ import {
|
|
|
9
8
|
preprocessUnits,
|
|
10
9
|
} from "../prepare-units";
|
|
11
10
|
import { mergeAgeRanges } from "@macrostrat/stratigraphy-utils";
|
|
11
|
+
import { PackageLayoutData } from "../prepare-units/types";
|
|
12
12
|
|
|
13
13
|
export interface ColumnIdentifier {
|
|
14
14
|
col_id: number;
|
|
@@ -21,8 +21,10 @@ interface ColumnData {
|
|
|
21
21
|
units: UnitLong[];
|
|
22
22
|
}
|
|
23
23
|
|
|
24
|
-
export interface CorrelationChartSettings
|
|
25
|
-
|
|
24
|
+
export interface CorrelationChartSettings extends Omit<
|
|
25
|
+
PrepareColumnOptions,
|
|
26
|
+
"axisType"
|
|
27
|
+
> {
|
|
26
28
|
targetUnitHeight?: number;
|
|
27
29
|
}
|
|
28
30
|
|
|
@@ -52,6 +54,7 @@ export function buildCorrelationChartData(
|
|
|
52
54
|
const opts: PrepareColumnOptions = {
|
|
53
55
|
axisType: ColumnAxisType.AGE,
|
|
54
56
|
targetUnitHeight,
|
|
57
|
+
mergeSections,
|
|
55
58
|
...rest,
|
|
56
59
|
};
|
|
57
60
|
|
|
@@ -102,7 +105,7 @@ interface ColumnExt {
|
|
|
102
105
|
|
|
103
106
|
interface MultiColumnPackageData {
|
|
104
107
|
columnData: ColumnExt[];
|
|
105
|
-
bestPixelScale
|
|
108
|
+
bestPixelScale?: number;
|
|
106
109
|
b_age: number;
|
|
107
110
|
t_age: number;
|
|
108
111
|
}
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
ColumnCorrelationMap,
|
|
7
7
|
ColumnCorrelationProvider,
|
|
8
8
|
fetchUnits,
|
|
9
|
+
MergeSectionsMode,
|
|
9
10
|
useCorrelationMapStore,
|
|
10
11
|
} from "@macrostrat/column-views";
|
|
11
12
|
import { hyperStyled } from "@macrostrat/hyper";
|
|
@@ -16,6 +17,7 @@ import { ErrorBoundary, useAsyncMemo } from "@macrostrat/ui-components";
|
|
|
16
17
|
import { OverlaysProvider } from "@blueprintjs/core";
|
|
17
18
|
import { parseLineFromString, stringifyLine } from "../hash-string";
|
|
18
19
|
import { EnvironmentColoredUnitComponent } from "../../units";
|
|
20
|
+
import { scaleLinear, scalePow } from "d3-scale";
|
|
19
21
|
|
|
20
22
|
const mapboxToken = import.meta.env.VITE_MAPBOX_API_TOKEN;
|
|
21
23
|
|
|
@@ -96,7 +98,7 @@ export default {
|
|
|
96
98
|
focusedLine: "-100,45 -90,50",
|
|
97
99
|
columnSpacing: 0,
|
|
98
100
|
columnWidth: 100,
|
|
99
|
-
collapseSmallUnconformities:
|
|
101
|
+
collapseSmallUnconformities: true,
|
|
100
102
|
targetUnitHeight: 20,
|
|
101
103
|
},
|
|
102
104
|
argTypes: {
|
|
@@ -196,3 +198,26 @@ export const ColoredByEnvironment = Template.bind({});
|
|
|
196
198
|
ColoredByEnvironment.args = {
|
|
197
199
|
unitComponent: EnvironmentColoredUnitComponent,
|
|
198
200
|
};
|
|
201
|
+
|
|
202
|
+
export const RestrictedAgeRange = Template.bind({});
|
|
203
|
+
RestrictedAgeRange.args = {
|
|
204
|
+
t_age: 100,
|
|
205
|
+
b_age: 300,
|
|
206
|
+
focusedLine: "-114.29,42.74 -104.59,39.21",
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
export const WithFixedScale = Template.bind({});
|
|
210
|
+
WithFixedScale.args = {
|
|
211
|
+
scale: scaleLinear().domain([0, 2500]).range([0, 1000]),
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
export const WithPowerScale = Template.bind({});
|
|
215
|
+
WithPowerScale.args = {
|
|
216
|
+
scale: scalePow().exponent(0.3).domain([0, 2500]).range([0, 1000]),
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
export const WithPowerScaleMerged = Template.bind({});
|
|
220
|
+
WithPowerScaleMerged.args = {
|
|
221
|
+
scale: scalePow().exponent(0.3).domain([0, 2500]).range([0, 1000]),
|
|
222
|
+
mergeSections: MergeSectionsMode.ALL,
|
|
223
|
+
};
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
Environment,
|
|
10
10
|
MacrostratRef,
|
|
11
11
|
StratName,
|
|
12
|
+
Interval,
|
|
12
13
|
} from "@macrostrat/api-types";
|
|
13
14
|
import {
|
|
14
15
|
fetchAllColumns,
|
|
@@ -49,7 +50,10 @@ interface MacrostratStore extends RefsSlice {
|
|
|
49
50
|
lithologies: Map<number, any> | null;
|
|
50
51
|
getLithologies(ids: number[] | null): Promise<any>;
|
|
51
52
|
intervals: Map<number, any> | null;
|
|
52
|
-
getIntervals(
|
|
53
|
+
getIntervals(
|
|
54
|
+
ids: number[] | null,
|
|
55
|
+
timescaleID: number | null,
|
|
56
|
+
): Promise<Interval[]>;
|
|
53
57
|
environments: Map<number, Environment> | null;
|
|
54
58
|
getEnvironments(ids: number[] | null): Promise<Environment[]>;
|
|
55
59
|
columnFootprints: Map<number, ColumnFootprintsStorage>;
|
|
@@ -121,35 +125,22 @@ function createColumnsSlice(set, get) {
|
|
|
121
125
|
const { columnFootprints, baseURL, fetch } = get();
|
|
122
126
|
const key = projectID ?? -1;
|
|
123
127
|
let _inProcess = inProcess;
|
|
124
|
-
|
|
125
|
-
// If no project is specified, in process columns cannot be included
|
|
126
|
-
_inProcess = false;
|
|
127
|
-
}
|
|
128
|
+
|
|
128
129
|
let footprints = columnFootprints.get(key);
|
|
129
130
|
if (footprints == null || footprints.inProcess != _inProcess) {
|
|
130
131
|
// Fetch the columns
|
|
131
|
-
const statusCode =
|
|
132
|
-
|
|
132
|
+
const statusCode: ColumnStatusCode[] = ["active"];
|
|
133
|
+
if (_inProcess) {
|
|
134
|
+
statusCode.push("in process");
|
|
135
|
+
}
|
|
136
|
+
const columns = await fetchAllColumns({
|
|
133
137
|
projectID,
|
|
134
|
-
statusCode
|
|
138
|
+
statusCode,
|
|
135
139
|
fetch,
|
|
136
140
|
});
|
|
137
141
|
if (columns == null) {
|
|
138
142
|
return;
|
|
139
143
|
}
|
|
140
|
-
if (_inProcess) {
|
|
141
|
-
const inProcessColumns = await fetchAllColumns({
|
|
142
|
-
projectID,
|
|
143
|
-
statusCode: "in process",
|
|
144
|
-
fetch,
|
|
145
|
-
});
|
|
146
|
-
if (inProcessColumns == null) {
|
|
147
|
-
return;
|
|
148
|
-
}
|
|
149
|
-
// Combine active and in-process columns
|
|
150
|
-
columns = columns.concat(inProcessColumns);
|
|
151
|
-
}
|
|
152
|
-
|
|
153
144
|
footprints = {
|
|
154
145
|
project_id: projectID,
|
|
155
146
|
inProcess,
|
|
@@ -281,10 +272,21 @@ export function useMacrostratStore(selector: MacrostratSelector | "api") {
|
|
|
281
272
|
if (selector === "api") {
|
|
282
273
|
return ctx;
|
|
283
274
|
}
|
|
284
|
-
|
|
285
275
|
return useStore(ctx, selector);
|
|
286
276
|
}
|
|
287
277
|
|
|
278
|
+
export function useMacrostratBaseURL(
|
|
279
|
+
defaultURL = "https://macrostrat.org/api/v2",
|
|
280
|
+
): string {
|
|
281
|
+
/** Get the Macrostrat base URL from the store if set, otherwise return a default value */
|
|
282
|
+
const ctx = useContext(MacrostratDataProviderContext);
|
|
283
|
+
if (ctx == null) {
|
|
284
|
+
// Return default URL if no provider is present
|
|
285
|
+
return defaultURL;
|
|
286
|
+
}
|
|
287
|
+
return ctx.getState().baseURL;
|
|
288
|
+
}
|
|
289
|
+
|
|
288
290
|
type DataTypeKey =
|
|
289
291
|
| "lithologies"
|
|
290
292
|
| "intervals"
|
|
@@ -407,10 +409,16 @@ export function MacrostratColumnProvider(props) {
|
|
|
407
409
|
*/
|
|
408
410
|
|
|
409
411
|
const { axisType } = useMacrostratColumnData();
|
|
410
|
-
const { units, domain, pixelScale, children } = props;
|
|
412
|
+
const { units, domain, pixelScale, scale, children } = props;
|
|
411
413
|
return h(
|
|
412
414
|
ColumnProvider,
|
|
413
|
-
{
|
|
415
|
+
{
|
|
416
|
+
axisType,
|
|
417
|
+
divisions: units,
|
|
418
|
+
range: domain,
|
|
419
|
+
pixelsPerMeter: pixelScale,
|
|
420
|
+
scale,
|
|
421
|
+
},
|
|
414
422
|
children,
|
|
415
423
|
);
|
|
416
424
|
}
|
|
@@ -14,6 +14,7 @@ import {
|
|
|
14
14
|
import crossFetch from "cross-fetch";
|
|
15
15
|
import { feature } from "topojson-client";
|
|
16
16
|
import { geoArea } from "d3-geo";
|
|
17
|
+
import _ from "underscore";
|
|
17
18
|
|
|
18
19
|
function defaultFetch(
|
|
19
20
|
url: string,
|
|
@@ -23,10 +24,12 @@ function defaultFetch(
|
|
|
23
24
|
return crossFetch(baseURL + url, options);
|
|
24
25
|
}
|
|
25
26
|
|
|
27
|
+
export type ColumnStatusCode = "in process" | "active" | "obsolete";
|
|
28
|
+
|
|
26
29
|
export interface ColumnFetchOptions {
|
|
27
30
|
apiBaseURL?: string;
|
|
28
31
|
projectID?: number;
|
|
29
|
-
statusCode?:
|
|
32
|
+
statusCode?: ColumnStatusCode | ColumnStatusCode[];
|
|
30
33
|
format?: "geojson" | "topojson" | "geojson_bare";
|
|
31
34
|
fetch?: any;
|
|
32
35
|
}
|
|
@@ -46,9 +49,13 @@ export async function fetchAllColumns(
|
|
|
46
49
|
if (projectID != null) {
|
|
47
50
|
args = { ...args, project_id: projectID };
|
|
48
51
|
}
|
|
49
|
-
|
|
50
|
-
|
|
52
|
+
let _statusCode: string | undefined = undefined;
|
|
53
|
+
if (Array.isArray(statusCode)) {
|
|
54
|
+
_statusCode = statusCode.join(",");
|
|
55
|
+
} else if (statusCode != null) {
|
|
56
|
+
_statusCode = statusCode;
|
|
51
57
|
}
|
|
58
|
+
args.statusCode = _statusCode;
|
|
52
59
|
|
|
53
60
|
if (projectID == null) {
|
|
54
61
|
args = { ...args, all: true };
|
|
@@ -1,18 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
createContext,
|
|
3
|
-
useContext,
|
|
4
|
-
ReactNode,
|
|
5
|
-
useMemo,
|
|
6
|
-
useEffect,
|
|
7
|
-
} from "react";
|
|
1
|
+
import { createContext, ReactNode, useContext, useMemo } from "react";
|
|
8
2
|
import h from "@macrostrat/hyper";
|
|
9
3
|
import {
|
|
10
|
-
createCompositeScale,
|
|
11
|
-
PackageLayoutData,
|
|
12
4
|
CompositeColumnScale,
|
|
5
|
+
createCompositeScale,
|
|
13
6
|
} from "../prepare-units/composite-scale";
|
|
14
|
-
import { ExtUnit } from "../prepare-units/helpers";
|
|
15
7
|
import { ColumnAxisType } from "@macrostrat/column-components";
|
|
8
|
+
import type { ExtUnit, PackageLayoutData } from "../prepare-units";
|
|
16
9
|
|
|
17
10
|
export interface MacrostratColumnDataContext {
|
|
18
11
|
units: ExtUnit[];
|
|
@@ -43,6 +36,7 @@ export function MacrostratColumnDataProvider({
|
|
|
43
36
|
* */
|
|
44
37
|
|
|
45
38
|
const value = useMemo(() => {
|
|
39
|
+
// For now, change ordinal axis types to age axis types
|
|
46
40
|
return {
|
|
47
41
|
units,
|
|
48
42
|
sections,
|
|
@@ -68,6 +62,18 @@ export function useMacrostratUnits() {
|
|
|
68
62
|
return useMacrostratColumnData().units;
|
|
69
63
|
}
|
|
70
64
|
|
|
65
|
+
export function useColumnUnitsMap(): Map<number, ExtUnit> | null {
|
|
66
|
+
const ctx = useContext(MacrostratColumnDataContext);
|
|
67
|
+
return useMemo(() => {
|
|
68
|
+
if (ctx == null) return null;
|
|
69
|
+
const unitMap = new Map<number, ExtUnit>();
|
|
70
|
+
ctx.units.forEach((unit) => {
|
|
71
|
+
unitMap.set(unit.unit_id, unit);
|
|
72
|
+
});
|
|
73
|
+
return unitMap;
|
|
74
|
+
}, [ctx?.units]);
|
|
75
|
+
}
|
|
76
|
+
|
|
71
77
|
export function useCompositeScale(): CompositeColumnScale {
|
|
72
78
|
const ctx = useMacrostratColumnData();
|
|
73
79
|
return useMemo(
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
.truncated-list
|
|
2
|
+
padding-left: 0.2em
|
|
3
|
+
font-size: 0.9em
|
|
4
|
+
list-style: none
|
|
5
|
+
border-left: 1px solid var(--column-stroke-color)
|
|
6
|
+
margin: 1px 0
|
|
7
|
+
li
|
|
8
|
+
display: inline
|
|
9
|
+
&:not(:last-child):after
|
|
10
|
+
content: ", "
|
|
11
|
+
color: var(--secondary-color)
|
|
12
|
+
li.too-many
|
|
13
|
+
color: var(--secondary-color)
|
|
14
|
+
font-style: italic
|