@macrostrat/column-views 2.1.4 → 2.2.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 +13 -0
- package/dist/esm/{column-views.77b49a43.js → column-views.0265cf7f.js} +52 -23
- package/dist/esm/column-views.0265cf7f.js.map +1 -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.5e2dc19d.js → column-views.0ce9b697.js} +3 -3
- package/dist/esm/{column-views.5e2dc19d.js.map → column-views.0ce9b697.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.686d21ad.js → column-views.22ec902b.js} +4 -1
- package/dist/esm/column-views.22ec902b.js.map +1 -0
- package/dist/esm/{column-views.42b89c52.js → column-views.29a551f6.js} +60 -27
- package/dist/esm/column-views.29a551f6.js.map +1 -0
- package/dist/esm/{column-views.fbc7401f.js → column-views.2aef5df8.js} +5 -5
- package/dist/esm/{column-views.fbc7401f.js.map → column-views.2aef5df8.js.map} +1 -1
- package/dist/esm/{column-views.ab0380ed.js → column-views.2e854496.js} +3 -3
- package/dist/esm/{column-views.ab0380ed.js.map → column-views.2e854496.js.map} +1 -1
- package/dist/esm/{column-views.7ca9e1cd.js → column-views.2eceafb5.js} +19 -21
- package/dist/esm/column-views.2eceafb5.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.75ea6dbe.js → column-views.382c486d.js} +11 -6
- package/dist/esm/column-views.382c486d.js.map +1 -0
- package/dist/esm/column-views.3a7179c4.js +137 -0
- package/dist/esm/column-views.3a7179c4.js.map +1 -0
- package/dist/esm/{column-views.8e3dec90.js → column-views.413217dc.js} +2 -2
- package/dist/esm/column-views.413217dc.js.map +1 -0
- package/dist/esm/column-views.418f948f.js +15 -0
- package/dist/esm/{column-views.38a305a0.js.map → column-views.418f948f.js.map} +1 -1
- package/dist/esm/{column-views.4d22c21c.js → column-views.41e5f0dc.js} +22 -4
- package/dist/esm/column-views.41e5f0dc.js.map +1 -0
- package/dist/esm/{column-views.676cb1d3.js → column-views.469a4952.js} +3 -3
- package/dist/esm/{column-views.676cb1d3.js.map → column-views.469a4952.js.map} +1 -1
- package/dist/esm/column-views.4ed90896.js +105 -0
- package/dist/esm/column-views.4ed90896.js.map +1 -0
- package/dist/esm/{column-views.547b2730.js → column-views.53722d0a.js} +19 -15
- package/dist/esm/column-views.53722d0a.js.map +1 -0
- 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.86619334.js → column-views.60365cdb.js} +2 -2
- package/dist/esm/{column-views.86619334.js.map → column-views.60365cdb.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.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.2ff3dd8b.js → column-views.748dce47.js} +31 -60
- package/dist/esm/column-views.748dce47.js.map +1 -0
- package/dist/esm/{column-views.775846c9.js → column-views.7683bb52.js} +9 -40
- package/dist/esm/column-views.7683bb52.js.map +1 -0
- package/dist/esm/{column-views.e7ab5af0.js → column-views.787d7696.js} +3 -3
- package/dist/esm/{column-views.e7ab5af0.js.map → column-views.787d7696.js.map} +1 -1
- package/dist/esm/{column-views.f20eb583.js → column-views.81bddbee.js} +6 -8
- package/dist/esm/column-views.81bddbee.js.map +1 -0
- package/dist/esm/{column-views.cc5244c4.js → column-views.8284c3a9.js} +91 -55
- package/dist/esm/column-views.8284c3a9.js.map +1 -0
- 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.935ef6f7.js → column-views.8b623b27.js} +2 -2
- package/dist/esm/{column-views.935ef6f7.js.map → column-views.8b623b27.js.map} +1 -1
- 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.64a84c43.js → column-views.a3fabf0f.js} +38 -30
- package/dist/esm/column-views.a3fabf0f.js.map +1 -0
- package/dist/esm/column-views.abeab9aa.js +184 -0
- package/dist/esm/column-views.abeab9aa.js.map +1 -0
- package/dist/esm/{column-views.02f3732a.js → column-views.adec2e4c.js} +40 -20
- package/dist/esm/column-views.adec2e4c.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.1f7fb650.js → column-views.b08d82e6.js} +3 -3
- package/dist/esm/{column-views.1f7fb650.js.map → column-views.b08d82e6.js.map} +1 -1
- package/dist/esm/{column-views.769fa0ee.js → column-views.b29f8718.js} +2 -2
- package/dist/esm/{column-views.769fa0ee.js.map → column-views.b29f8718.js.map} +1 -1
- package/dist/esm/column-views.b7016f82.css +54 -0
- package/dist/esm/column-views.b7016f82.css.map +1 -0
- package/dist/esm/{column-views.0732894f.js → column-views.bbc77227.js} +2 -2
- package/dist/esm/{column-views.0732894f.js.map → column-views.bbc77227.js.map} +1 -1
- package/dist/esm/column-views.c2fbcba8.js +15 -0
- package/dist/esm/{column-views.0a159282.js.map → column-views.c2fbcba8.js.map} +1 -1
- package/dist/esm/{column-views.e3b9a317.js → column-views.c3495702.js} +2 -2
- package/dist/esm/{column-views.e3b9a317.js.map → column-views.c3495702.js.map} +1 -1
- 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.243da806.js → column-views.cae1a6a1.js} +3 -3
- package/dist/esm/{column-views.243da806.js.map → column-views.cae1a6a1.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.a195109e.js → column-views.d86555b0.js} +2 -2
- package/dist/esm/{column-views.a195109e.js.map → column-views.d86555b0.js.map} +1 -1
- package/dist/esm/{column-views.a6301a41.js → column-views.df34441c.js} +6 -8
- package/dist/esm/column-views.df34441c.js.map +1 -0
- package/dist/esm/{column-views.97d542eb.js → column-views.e17f00d3.js} +4 -4
- package/dist/esm/column-views.e17f00d3.js.map +1 -0
- package/dist/esm/{column-views.7715e35e.js → column-views.e1bc3cfa.js} +3 -3
- package/dist/esm/{column-views.7715e35e.js.map → column-views.e1bc3cfa.js.map} +1 -1
- 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.ea4ebbb7.js +31 -0
- package/dist/esm/column-views.ea4ebbb7.js.map +1 -0
- package/dist/esm/{column-views.78bd3f09.js → column-views.f0b0fc56.js} +2 -2
- package/dist/esm/{column-views.78bd3f09.js.map → column-views.f0b0fc56.js.map} +1 -1
- package/dist/esm/column-views.faacfc3c.js +92 -0
- package/dist/esm/column-views.faacfc3c.js.map +1 -0
- 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 +264 -441
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +12 -12
- package/dist/node/column-views.0201566d.js +2 -0
- package/dist/node/column-views.0201566d.js.map +1 -0
- package/dist/node/column-views.07c503d3.js +2 -0
- package/dist/node/column-views.07c503d3.js.map +1 -0
- 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.2a6b842d.js → column-views.0e7ac946.js} +2 -2
- package/dist/node/column-views.0e7ac946.js.map +1 -0
- package/dist/node/column-views.108db52e.js +2 -0
- package/dist/node/column-views.108db52e.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.16f336ee.js +2 -0
- package/dist/node/column-views.16f336ee.js.map +1 -0
- package/dist/node/column-views.18d54bbb.js +2 -0
- package/dist/node/column-views.18d54bbb.js.map +1 -0
- package/dist/node/column-views.19a84c01.js +2 -0
- package/dist/node/column-views.19a84c01.js.map +1 -0
- package/dist/node/column-views.1a3c399e.js +2 -0
- package/dist/node/column-views.1a3c399e.js.map +1 -0
- package/dist/node/column-views.29483479.js +2 -0
- package/dist/node/column-views.29483479.js.map +1 -0
- package/dist/node/column-views.29eb25bd.css +2 -0
- package/dist/node/column-views.29eb25bd.css.map +1 -0
- package/dist/node/column-views.312db572.js +2 -0
- package/dist/node/column-views.312db572.js.map +1 -0
- package/dist/node/{column-views.2ca669bc.js → column-views.32344397.js} +2 -2
- package/dist/node/{column-views.2ca669bc.js.map → column-views.32344397.js.map} +1 -1
- package/dist/node/column-views.44952ae6.js +2 -0
- package/dist/node/column-views.44952ae6.js.map +1 -0
- package/dist/node/{column-views.a372c943.js → column-views.45a03acc.js} +2 -2
- package/dist/node/{column-views.a372c943.js.map → column-views.45a03acc.js.map} +1 -1
- 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.4b4c214a.js} +2 -2
- package/dist/node/{column-views.42db0bb8.js.map → column-views.4b4c214a.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.65f091ea.js → column-views.54363c13.js} +2 -2
- package/dist/node/{column-views.65f091ea.js.map → column-views.54363c13.js.map} +1 -1
- package/dist/node/{column-views.858b5cf4.js → column-views.554d44a7.js} +2 -2
- package/dist/node/{column-views.858b5cf4.js.map → column-views.554d44a7.js.map} +1 -1
- package/dist/node/column-views.573cb29d.js +2 -0
- package/dist/node/column-views.573cb29d.js.map +1 -0
- package/dist/node/{column-views.492b4917.js → column-views.57dd069c.js} +2 -2
- package/dist/node/{column-views.492b4917.js.map → column-views.57dd069c.js.map} +1 -1
- package/dist/node/{column-views.2e4e357d.js → column-views.588b02a1.js} +2 -2
- package/dist/node/{column-views.2e4e357d.js.map → column-views.588b02a1.js.map} +1 -1
- package/dist/node/column-views.5a8bc8e3.js +2 -0
- package/dist/node/column-views.5a8bc8e3.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.6099a3a9.js +2 -0
- package/dist/node/column-views.6099a3a9.js.map +1 -0
- package/dist/node/column-views.6919fd2a.js +2 -0
- package/dist/node/column-views.6919fd2a.js.map +1 -0
- package/dist/node/{column-views.45fab61b.js → column-views.6b8424fd.js} +2 -2
- package/dist/node/{column-views.45fab61b.js.map → column-views.6b8424fd.js.map} +1 -1
- package/dist/node/column-views.7425d37b.js +2 -0
- package/dist/node/column-views.7425d37b.js.map +1 -0
- 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.92e29010.js +2 -0
- package/dist/node/column-views.92e29010.js.map +1 -0
- package/dist/node/{column-views.7010a03b.js → column-views.93febe9b.js} +2 -2
- package/dist/node/{column-views.7010a03b.js.map → column-views.93febe9b.js.map} +1 -1
- package/dist/node/{column-views.51bc87ca.js → column-views.94c84716.js} +2 -2
- package/dist/node/{column-views.51bc87ca.js.map → column-views.94c84716.js.map} +1 -1
- 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.a1e29a15.js} +2 -2
- package/dist/node/{column-views.eeca917f.js.map → column-views.a1e29a15.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.abe0a664.js +2 -0
- package/dist/node/column-views.abe0a664.js.map +1 -0
- package/dist/node/{column-views.a2274834.js → column-views.ae9536b3.js} +2 -2
- package/dist/node/{column-views.a2274834.js.map → column-views.ae9536b3.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.cd7b223b.css +2 -0
- package/dist/node/column-views.cd7b223b.css.map +1 -0
- package/dist/node/{column-views.df97f28e.js → column-views.ce5904a6.js} +2 -2
- package/dist/node/{column-views.df97f28e.js.map → column-views.ce5904a6.js.map} +1 -1
- package/dist/node/column-views.d4545f9f.js +2 -0
- package/dist/node/column-views.d4545f9f.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.2d957a97.js → column-views.db4ccacc.js} +2 -2
- package/dist/node/column-views.db4ccacc.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.ebe61439.js +2 -0
- package/dist/node/column-views.ebe61439.js.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/column-views.f0f5cefd.js +2 -0
- package/dist/node/column-views.f0f5cefd.js.map +1 -0
- package/dist/node/column-views.f1ad131a.js +2 -0
- package/dist/node/column-views.f1ad131a.js.map +1 -0
- package/dist/node/{column-views.58d2f993.js → column-views.f7d72702.js} +2 -2
- package/dist/node/{column-views.58d2f993.js.map → column-views.f7d72702.js.map} +1 -1
- package/dist/node/{column-views.e3ba0594.js → column-views.fcdc74c4.js} +2 -2
- package/dist/node/{column-views.e3ba0594.js.map → column-views.fcdc74c4.js.map} +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +15 -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 +99 -24
- package/src/correlation-chart/main.ts +11 -3
- 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/index.ts +1 -0
- package/src/data-provider/store.ts +74 -13
- package/src/{units/selection.ts → data-provider/unit-selection.ts} +22 -8
- 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/maps/column-correlation/state.ts +0 -1
- 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 +6 -1
- package/src/units/boxes.ts +2 -7
- package/src/units/composite.ts +7 -50
- package/src/units/index.ts +0 -1
- 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 +0 -53
- 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.8e3dec90.js.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.a6301a41.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 +0 -2
- 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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {useMeasurementData as $5dbb619f2c7bef60$export$8a0335fd9ff72150} from "./column-views.a7c5ae16.js";
|
|
2
|
-
import {IsotopeDataPoint as $5f39f3d52558a1d0$export$4cb5d059db4e2bd, IsotopesDataArea as $5f39f3d52558a1d0$export$309ef8546e07d921, useDataLocator as $5f39f3d52558a1d0$export$919dbb10b6b5b75} from "./column-views.
|
|
3
|
-
import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d, useMacrostratUnits as $d5074f164411387e$export$6fb40844db555b2} from "./column-views.
|
|
2
|
+
import {IsotopeDataPoint as $5f39f3d52558a1d0$export$4cb5d059db4e2bd, IsotopesDataArea as $5f39f3d52558a1d0$export$309ef8546e07d921, useDataLocator as $5f39f3d52558a1d0$export$919dbb10b6b5b75} from "./column-views.bbc77227.js";
|
|
3
|
+
import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d, useMacrostratUnits as $d5074f164411387e$export$6fb40844db555b2} from "./column-views.4ed90896.js";
|
|
4
4
|
import "./column-views.708140ab.css";
|
|
5
5
|
import $0zDA3$columnviews6992ca88js from "./column-views.6992ca88.js";
|
|
6
6
|
import {useMemo as $0zDA3$useMemo} from "react";
|
|
@@ -184,4 +184,4 @@ function $d71d096cfe00860f$var$ColumnScaleLines(props) {
|
|
|
184
184
|
|
|
185
185
|
|
|
186
186
|
export {$d71d096cfe00860f$export$c69bd0285aa5d775 as IsotopesDataset, $d71d096cfe00860f$export$5d8aa8022c284748 as IsotopesColumn};
|
|
187
|
-
//# sourceMappingURL=column-views.
|
|
187
|
+
//# sourceMappingURL=column-views.0ce9b697.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/column-views/src/facets/carbon-isotopes/isotopes-column.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport hyper from \"@macrostrat/hyper\";\nimport classNames from \"classnames\";\nimport { AxisBottom } from \"@visx/axis\";\nimport { useMeasurementData } from \"./data-provider\";\n\nimport {\n IsotopesDataArea,\n useDataLocator,\n IsotopeDataPoint,\n} from \"./data-area\";\nimport { referenceMeasuresToColumn } from \"@macrostrat/stratigraphy-utils\";\nimport {\n SVG,\n ColumnLayoutProvider,\n useColumnLayout,\n} from \"@macrostrat/column-components\";\nimport {\n useMacrostratColumnData,\n useMacrostratUnits,\n} from \"../../data-provider\";\nimport styles from \"./isotopes-column.module.sass\";\nimport { scaleLinear } from \"d3-scale\";\n\nconst h = hyper.styled(styles);\n\ntype IsotopesTextProps = {\n datum: any;\n text: string;\n};\n\nfunction IsotopeText({ datum, text, ...rest }: IsotopesTextProps) {\n const { pointLocator } = useDataLocator();\n const [x, y] = pointLocator(datum);\n return h(\n \"text\",\n {\n x,\n y,\n ...rest,\n },\n text,\n );\n}\n\ninterface ScaleLineProps {\n value: number;\n className?: string;\n labelBottom?: boolean;\n labelOffset?: number;\n strokeDasharray?: string;\n stroke?: string | number;\n}\n\nfunction ScaleLine(props: ScaleLineProps) {\n let { value, className, labelBottom, labelOffset, ...rest } = props;\n const { sections } = useMacrostratColumnData();\n\n const { xScale } = useColumnLayout();\n const x = xScale(value);\n const transform = `translate(${x})`;\n className = classNames(className, { zero: value === 0 });\n return h(\"g.tick\", { transform, className, key: value }, [\n h(\n \"g.tick-lines\",\n sections.map((d) => {\n const { scaleInfo } = d;\n const y1 = scaleInfo.offset;\n const y2 = y1 + scaleInfo.pixelHeight;\n return h(\"line\", {\n y1,\n y2,\n strokeDasharray: props.strokeDasharray,\n strokeWidth: 1,\n });\n }),\n ),\n ]);\n}\n\nfunction unnestPoints(measures) {\n let points = [];\n for (const meas of measures) {\n const vals = meas.measure_value.map((d, i) => {\n return {\n value: d,\n age: meas.measure_age[i],\n position: meas.measure_position[i],\n unit_id: meas.unit_id,\n sample_id: meas.sample_no[i],\n measurement: meas.measurement,\n };\n });\n Array.prototype.push.apply(points, vals);\n }\n return points;\n}\n\ninterface IsotopesDatasetProps {\n color: string;\n parameter: string;\n}\n\ninterface IsotopeColumnProps extends IsotopesDatasetProps {\n width: number;\n tickValues?: number[];\n label: string;\n domain: [number, number];\n transform?: string;\n getHeight?: Function;\n nTicks?: number;\n showAxis?: boolean;\n}\n\nfunction IsotopesDataset(props) {\n const { parameter, color = \"dodgerblue\" } = props;\n const units = useMacrostratUnits();\n const measures = useMeasurementData() ?? [];\n\n const points = useMemo(() => {\n const data = measures.filter((d) => d.measurement === parameter);\n const refMeasures = referenceMeasuresToColumn(units, data);\n return unnestPoints(refMeasures);\n }, [measures, parameter, units]);\n\n return h(\n IsotopesDataArea,\n {\n getHeight(d) {\n return d.age;\n },\n } as any,\n h(\n \"g.data-points\",\n points.map((d) => {\n return h(IsotopeDataPoint, {\n datum: d,\n fill: color,\n });\n }),\n ),\n );\n}\n\nfunction IsotopesColumn(\n props: IsotopeColumnProps & { children?: React.ReactNode },\n) {\n const {\n width = 120,\n domain = [-14, 6],\n parameter,\n label,\n color = \"dodgerblue\",\n children = null,\n transform,\n getHeight,\n showAxis = true,\n tickValues: _tickVals,\n nTicks = 6,\n ...rest\n } = props;\n\n const { totalHeight } = useMacrostratColumnData();\n\n let _children: any = children;\n if (children == null && parameter != null) {\n _children = h(IsotopesDataset, { parameter, color, getHeight });\n }\n\n const xScale = useMemo(\n () => scaleLinear().domain(domain).range([0, width]),\n [domain, width],\n );\n\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n\n return h(\"div.isotopes-column\", [\n h(\n SVG,\n {\n height: totalHeight,\n innerWidth: width,\n paddingH: 15,\n },\n h(\n ColumnLayoutProvider,\n { width, xScale },\n h(\"g.isotopes-column\", { className: parameter, transform }, [\n h(ColumnScaleLines, {\n xScale,\n tickValues,\n width,\n ...rest,\n }),\n _children,\n ]),\n ),\n ),\n h.if(showAxis)(ColumnScaleAxis, {\n width,\n label: label ?? parameter,\n xScale,\n tickValues,\n ...rest,\n }),\n ]);\n}\n\nfunction ColumnScaleAxis(props) {\n const { label, xScale, width, showAxis = true, tickValues, ...rest } = props;\n\n return h(\"div.isotopes-scale-axis\", [\n h(\n SVG,\n {\n innerWidth: width,\n height: 45,\n paddingH: 15,\n },\n [\n h(AxisBottom, {\n scale: xScale,\n tickLength: 5,\n tickValues,\n stroke: \"var(--column-stroke-color)\",\n tickStroke: \"var(--column-stroke-color)\",\n ...rest,\n label,\n }),\n ],\n ),\n ]);\n}\n\nfunction ColumnScaleLines(props) {\n const { tickValues, xScale } = props;\n\n return h(\n \"g.scale-lines\",\n tickValues.map((value) => {\n return h(ScaleLine, { value });\n }),\n );\n}\n\nexport { IsotopesColumn, IsotopesDataset };\n"],"names":[],"version":3,"file":"column-views.
|
|
1
|
+
{"mappings":"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","sources":["packages/column-views/src/facets/carbon-isotopes/isotopes-column.ts"],"sourcesContent":["import { useMemo } from \"react\";\nimport hyper from \"@macrostrat/hyper\";\nimport classNames from \"classnames\";\nimport { AxisBottom } from \"@visx/axis\";\nimport { useMeasurementData } from \"./data-provider\";\n\nimport {\n IsotopesDataArea,\n useDataLocator,\n IsotopeDataPoint,\n} from \"./data-area\";\nimport { referenceMeasuresToColumn } from \"@macrostrat/stratigraphy-utils\";\nimport {\n SVG,\n ColumnLayoutProvider,\n useColumnLayout,\n} from \"@macrostrat/column-components\";\nimport {\n useMacrostratColumnData,\n useMacrostratUnits,\n} from \"../../data-provider\";\nimport styles from \"./isotopes-column.module.sass\";\nimport { scaleLinear } from \"d3-scale\";\n\nconst h = hyper.styled(styles);\n\ntype IsotopesTextProps = {\n datum: any;\n text: string;\n};\n\nfunction IsotopeText({ datum, text, ...rest }: IsotopesTextProps) {\n const { pointLocator } = useDataLocator();\n const [x, y] = pointLocator(datum);\n return h(\n \"text\",\n {\n x,\n y,\n ...rest,\n },\n text,\n );\n}\n\ninterface ScaleLineProps {\n value: number;\n className?: string;\n labelBottom?: boolean;\n labelOffset?: number;\n strokeDasharray?: string;\n stroke?: string | number;\n}\n\nfunction ScaleLine(props: ScaleLineProps) {\n let { value, className, labelBottom, labelOffset, ...rest } = props;\n const { sections } = useMacrostratColumnData();\n\n const { xScale } = useColumnLayout();\n const x = xScale(value);\n const transform = `translate(${x})`;\n className = classNames(className, { zero: value === 0 });\n return h(\"g.tick\", { transform, className, key: value }, [\n h(\n \"g.tick-lines\",\n sections.map((d) => {\n const { scaleInfo } = d;\n const y1 = scaleInfo.offset;\n const y2 = y1 + scaleInfo.pixelHeight;\n return h(\"line\", {\n y1,\n y2,\n strokeDasharray: props.strokeDasharray,\n strokeWidth: 1,\n });\n }),\n ),\n ]);\n}\n\nfunction unnestPoints(measures) {\n let points = [];\n for (const meas of measures) {\n const vals = meas.measure_value.map((d, i) => {\n return {\n value: d,\n age: meas.measure_age[i],\n position: meas.measure_position[i],\n unit_id: meas.unit_id,\n sample_id: meas.sample_no[i],\n measurement: meas.measurement,\n };\n });\n Array.prototype.push.apply(points, vals);\n }\n return points;\n}\n\ninterface IsotopesDatasetProps {\n color: string;\n parameter: string;\n}\n\ninterface IsotopeColumnProps extends IsotopesDatasetProps {\n width: number;\n tickValues?: number[];\n label: string;\n domain: [number, number];\n transform?: string;\n getHeight?: Function;\n nTicks?: number;\n showAxis?: boolean;\n}\n\nfunction IsotopesDataset(props) {\n const { parameter, color = \"dodgerblue\" } = props;\n const units = useMacrostratUnits();\n const measures = useMeasurementData() ?? [];\n\n const points = useMemo(() => {\n const data = measures.filter((d) => d.measurement === parameter);\n const refMeasures = referenceMeasuresToColumn(units, data);\n return unnestPoints(refMeasures);\n }, [measures, parameter, units]);\n\n return h(\n IsotopesDataArea,\n {\n getHeight(d) {\n return d.age;\n },\n } as any,\n h(\n \"g.data-points\",\n points.map((d) => {\n return h(IsotopeDataPoint, {\n datum: d,\n fill: color,\n });\n }),\n ),\n );\n}\n\nfunction IsotopesColumn(\n props: IsotopeColumnProps & { children?: React.ReactNode },\n) {\n const {\n width = 120,\n domain = [-14, 6],\n parameter,\n label,\n color = \"dodgerblue\",\n children = null,\n transform,\n getHeight,\n showAxis = true,\n tickValues: _tickVals,\n nTicks = 6,\n ...rest\n } = props;\n\n const { totalHeight } = useMacrostratColumnData();\n\n let _children: any = children;\n if (children == null && parameter != null) {\n _children = h(IsotopesDataset, { parameter, color, getHeight });\n }\n\n const xScale = useMemo(\n () => scaleLinear().domain(domain).range([0, width]),\n [domain, width],\n );\n\n const tickValues = _tickVals ?? xScale.ticks(nTicks);\n\n return h(\"div.isotopes-column\", [\n h(\n SVG,\n {\n height: totalHeight,\n innerWidth: width,\n paddingH: 15,\n },\n h(\n ColumnLayoutProvider,\n { width, xScale },\n h(\"g.isotopes-column\", { className: parameter, transform }, [\n h(ColumnScaleLines, {\n xScale,\n tickValues,\n width,\n ...rest,\n }),\n _children,\n ]),\n ),\n ),\n h.if(showAxis)(ColumnScaleAxis, {\n width,\n label: label ?? parameter,\n xScale,\n tickValues,\n ...rest,\n }),\n ]);\n}\n\nfunction ColumnScaleAxis(props) {\n const { label, xScale, width, showAxis = true, tickValues, ...rest } = props;\n\n return h(\"div.isotopes-scale-axis\", [\n h(\n SVG,\n {\n innerWidth: width,\n height: 45,\n paddingH: 15,\n },\n [\n h(AxisBottom, {\n scale: xScale,\n tickLength: 5,\n tickValues,\n stroke: \"var(--column-stroke-color)\",\n tickStroke: \"var(--column-stroke-color)\",\n ...rest,\n label,\n }),\n ],\n ),\n ]);\n}\n\nfunction ColumnScaleLines(props) {\n const { tickValues, xScale } = props;\n\n return h(\n \"g.scale-lines\",\n tickValues.map((value) => {\n return h(ScaleLine, { value });\n }),\n );\n}\n\nexport { IsotopesColumn, IsotopesDataset };\n"],"names":[],"version":3,"file":"column-views.0ce9b697.js.map"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
.
|
|
1
|
+
.sf_8dq_truncated-list {
|
|
2
2
|
border-left: 1px solid var(--column-stroke-color);
|
|
3
3
|
margin: 1px 0;
|
|
4
4
|
padding-left: .2em;
|
|
@@ -6,17 +6,17 @@
|
|
|
6
6
|
list-style: none;
|
|
7
7
|
}
|
|
8
8
|
|
|
9
|
-
.
|
|
9
|
+
.sf_8dq_truncated-list li {
|
|
10
10
|
display: inline;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
.
|
|
13
|
+
.sf_8dq_truncated-list li:not(:last-child):after {
|
|
14
14
|
content: ", ";
|
|
15
15
|
color: var(--secondary-color);
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
.
|
|
18
|
+
.sf_8dq_truncated-list li.sf_8dq_too-many {
|
|
19
19
|
color: var(--secondary-color);
|
|
20
20
|
font-style: italic;
|
|
21
21
|
}
|
|
22
|
-
/*# sourceMappingURL=column-views.
|
|
22
|
+
/*# sourceMappingURL=column-views.1151416d.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAAA;;;;;;;;AAME;;;;AAEE;;;;;AAGF","sources":["packages/column-views/src/facets/base-sample-column.module.sass"],"sourcesContent":[".truncated-list\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.1151416d.css.map"}
|
|
@@ -9,6 +9,7 @@ $parcel$export($047fd20e1964ef56$exports, "age-axis-column", () => $047fd20e1964
|
|
|
9
9
|
$parcel$export($047fd20e1964ef56$exports, "age-axis-label", () => $047fd20e1964ef56$export$629e44847e8dc64c, (v) => $047fd20e1964ef56$export$629e44847e8dc64c = v);
|
|
10
10
|
$parcel$export($047fd20e1964ef56$exports, "age-axis-unit", () => $047fd20e1964ef56$export$1609122694a59b0a, (v) => $047fd20e1964ef56$export$1609122694a59b0a = v);
|
|
11
11
|
$parcel$export($047fd20e1964ef56$exports, "age-cursor", () => $047fd20e1964ef56$export$38f8eb5614a465ca, (v) => $047fd20e1964ef56$export$38f8eb5614a465ca = v);
|
|
12
|
+
$parcel$export($047fd20e1964ef56$exports, "composite-age-axis", () => $047fd20e1964ef56$export$166435123cbf74ba, (v) => $047fd20e1964ef56$export$166435123cbf74ba = v);
|
|
12
13
|
$parcel$export($047fd20e1964ef56$exports, "label", () => $047fd20e1964ef56$export$1237798dc640739a, (v) => $047fd20e1964ef56$export$1237798dc640739a = v);
|
|
13
14
|
$parcel$export($047fd20e1964ef56$exports, "line", () => $047fd20e1964ef56$export$53f1d5ea8de3d7c, (v) => $047fd20e1964ef56$export$53f1d5ea8de3d7c = v);
|
|
14
15
|
var $047fd20e1964ef56$export$8e012612e152e560;
|
|
@@ -16,6 +17,7 @@ var $047fd20e1964ef56$export$5bb449cff67e2830;
|
|
|
16
17
|
var $047fd20e1964ef56$export$629e44847e8dc64c;
|
|
17
18
|
var $047fd20e1964ef56$export$1609122694a59b0a;
|
|
18
19
|
var $047fd20e1964ef56$export$38f8eb5614a465ca;
|
|
20
|
+
var $047fd20e1964ef56$export$166435123cbf74ba;
|
|
19
21
|
var $047fd20e1964ef56$export$1237798dc640739a;
|
|
20
22
|
var $047fd20e1964ef56$export$53f1d5ea8de3d7c;
|
|
21
23
|
$047fd20e1964ef56$export$8e012612e152e560 = `_FHjpa_age-axis`;
|
|
@@ -23,9 +25,10 @@ $047fd20e1964ef56$export$5bb449cff67e2830 = `_FHjpa_age-axis-column`;
|
|
|
23
25
|
$047fd20e1964ef56$export$629e44847e8dc64c = `_FHjpa_age-axis-label`;
|
|
24
26
|
$047fd20e1964ef56$export$1609122694a59b0a = `_FHjpa_age-axis-unit`;
|
|
25
27
|
$047fd20e1964ef56$export$38f8eb5614a465ca = `_FHjpa_age-cursor`;
|
|
28
|
+
$047fd20e1964ef56$export$166435123cbf74ba = `_FHjpa_composite-age-axis`;
|
|
26
29
|
$047fd20e1964ef56$export$1237798dc640739a = `_FHjpa_label`;
|
|
27
30
|
$047fd20e1964ef56$export$53f1d5ea8de3d7c = `_FHjpa_line`;
|
|
28
31
|
|
|
29
32
|
|
|
30
33
|
export {$047fd20e1964ef56$exports as default};
|
|
31
|
-
//# sourceMappingURL=column-views.
|
|
34
|
+
//# sourceMappingURL=column-views.22ec902b.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":";;;;;;;;;;;;;;AAAA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AACA,IAAA;AAPA,4CAA6B,CAAC,eAAe,CAAC;AAC9C,4CAAoC,CAAC,sBAAsB,CAAC;AAC5D,4CAAmC,CAAC,qBAAqB,CAAC;AAC1D,4CAAkC,CAAC,oBAAoB,CAAC;AACxD,4CAA+B,CAAC,iBAAiB,CAAC;AAClD,4CAAuC,CAAC,yBAAyB,CAAC;AAClE,4CAA0B,CAAC,YAAY,CAAC;AACxC,2CAAyB,CAAC,WAAW,CAAC","sources":["packages/column-views/src/age-axis.module.sass"],"sourcesContent":[".age-axis\n transform: translateX(20px)\n\n :global(.tick)\n text\n text-anchor: middle\n // TODO: allow font size to vary without this..\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n font-size: var(--column-axis-font-size, 0.8rem)\n\n line\n stroke-width: 1px !important\n\n.age-axis-column\n flex-shrink: 0\n\n.age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: var(--column-axis-font-size, 0.8rem)\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n.age-axis-unit\n color: var(--text-subtle-color)\n\n.age-cursor\n position: absolute\n left: 30px\n right: 0\n pointer-events: none\n .line\n border-bottom: 2px solid var(--column-axis-cursor-color, var(--column-cursor-color, var(--column-stroke-color)))\n transform: translateY(-1px)\n\n .label\n writing-mode: vertical-lr\n padding: 4px 2px\n transform: rotate(180deg) translate(16px, 50%)\n background-color: var(--column-background-color)\n text-align: center\n\n.composite-age-axis\n position: relative\n display: flex\n flex-direction: row\n\n"],"names":[],"version":3,"file":"column-views.22ec902b.js.map"}
|
|
@@ -1,16 +1,17 @@
|
|
|
1
|
-
import $bTsJU$
|
|
2
|
-
import "./column-views.
|
|
3
|
-
import {UnitComponent as $4c8184c4a7317749$export$48a4cacf2b7a4441} from "./column-views.
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {CompositeTimescale as $7d0f52717c0de7e1$export$db2df5a73a6fbe10, SectionsColumn as $7d0f52717c0de7e1$export$38cb0ab5af8f50d7} from "./column-views.
|
|
9
|
-
import {CompositeAgeAxis as $43794af7643cdf40$export$40b6b0e4520eeb34} from "./column-views.
|
|
10
|
-
import {
|
|
1
|
+
import $bTsJU$columnviewscc733361js from "./column-views.cc733361.js";
|
|
2
|
+
import "./column-views.e33ac5c9.css";
|
|
3
|
+
import {UnitComponent as $4c8184c4a7317749$export$48a4cacf2b7a4441} from "./column-views.df34441c.js";
|
|
4
|
+
import {MacrostratColumnDataProvider as $d5074f164411387e$export$7fec7bd80ff9c10e, useCompositeScale as $d5074f164411387e$export$a7fc62995ec4f76, useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.4ed90896.js";
|
|
5
|
+
import {UnitKeyboardNavigation as $61771df184788970$export$70f5ee19650fc7d1, UnitSelectionProvider as $61771df184788970$export$f19d75b1d4b676a4, useUnitSelectionDispatch as $61771df184788970$export$77a278d5ca56e309} from "./column-views.a3fabf0f.js";
|
|
6
|
+
import {Identifier as $448b24baeef3b229$export$989167234458594d, ReferencesField as $448b24baeef3b229$export$895d4931dd696e25} from "./column-views.8284c3a9.js";
|
|
7
|
+
import {UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.382c486d.js";
|
|
8
|
+
import {CompositeTimescale as $7d0f52717c0de7e1$export$db2df5a73a6fbe10, SectionsColumn as $7d0f52717c0de7e1$export$38cb0ab5af8f50d7} from "./column-views.0265cf7f.js";
|
|
9
|
+
import {ApproximateHeightAxis as $43794af7643cdf40$export$82731b9607850ca6, CompositeAgeAxis as $43794af7643cdf40$export$40b6b0e4520eeb34} from "./column-views.adec2e4c.js";
|
|
10
|
+
import {HybridScaleType as $1254c5929638d7f9$export$45e8e2d7a1794c23} from "./column-views.079119f4.js";
|
|
11
|
+
import {usePreparedColumnUnits as $76e92a964ee11b97$export$206a0cb85295e433} from "./column-views.3a7179c4.js";
|
|
11
12
|
import {ColumnAxisType as $bTsJU$ColumnAxisType} from "@macrostrat/column-components";
|
|
12
13
|
import {hyperStyled as $bTsJU$hyperStyled} from "@macrostrat/hyper";
|
|
13
|
-
import {useDarkMode as $bTsJU$useDarkMode} from "@macrostrat/ui-components";
|
|
14
|
+
import {extractPadding as $bTsJU$extractPadding, useDarkMode as $bTsJU$useDarkMode, Box as $bTsJU$Box} from "@macrostrat/ui-components";
|
|
14
15
|
import $bTsJU$classnames from "classnames";
|
|
15
16
|
import {useRef as $bTsJU$useRef, useCallback as $bTsJU$useCallback} from "react";
|
|
16
17
|
import {NonIdealState as $bTsJU$NonIdealState} from "@blueprintjs/core";
|
|
@@ -34,22 +35,44 @@ function $parcel$interopDefault(a) {
|
|
|
34
35
|
|
|
35
36
|
|
|
36
37
|
|
|
37
|
-
const $2118f0266dc7e955$var$h = (0, $bTsJU$hyperStyled)((0, ($parcel$interopDefault($bTsJU$
|
|
38
|
+
const $2118f0266dc7e955$var$h = (0, $bTsJU$hyperStyled)((0, ($parcel$interopDefault($bTsJU$columnviewscc733361js))));
|
|
38
39
|
function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
|
|
39
|
-
const { showUnitPopover: showUnitPopover = false, keyboardNavigation: keyboardNavigation = false, mergeSections: mergeSections, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit, children: children, units: rawUnits,
|
|
40
|
+
const { showUnitPopover: showUnitPopover = false, keyboardNavigation: keyboardNavigation = false, mergeSections: mergeSections, onUnitSelected: onUnitSelected, selectedUnit: selectedUnit, children: children, units: rawUnits, t_age: t_age, b_age: b_age, t_pos: t_pos, b_pos: b_pos, unconformityHeight: unconformityHeight = 30, targetUnitHeight: targetUnitHeight = 20, pixelScale: pixelScale, minPixelScale: minPixelScale = 0.2, minSectionHeight: minSectionHeight = 50, collapseSmallUnconformities: collapseSmallUnconformities = true, allowUnitSelection: allowUnitSelection, hybridScale: hybridScale, scale: scale, axisType: axisType, ...rest } = props;
|
|
40
41
|
const ref = (0, $bTsJU$useRef)();
|
|
41
42
|
// Selected item position
|
|
43
|
+
/* Make pixelScale and targetUnitHeight mutually exclusive. PixelScale implies
|
|
44
|
+
* standardization of scales in all sections */ let _targetUnitHeight = targetUnitHeight;
|
|
45
|
+
let _minSectionHeight = minSectionHeight;
|
|
46
|
+
let _minPixelScale = minPixelScale;
|
|
47
|
+
if (pixelScale != null) {
|
|
48
|
+
_targetUnitHeight = null;
|
|
49
|
+
_minSectionHeight = 0;
|
|
50
|
+
_minPixelScale = pixelScale;
|
|
51
|
+
}
|
|
52
|
+
// Handle special cases for hybrid scales (WIP, we need to regularize this)
|
|
53
|
+
let _axisType = axisType ?? (0, $bTsJU$ColumnAxisType).AGE;
|
|
54
|
+
let ageAxisComponent = (0, $43794af7643cdf40$export$40b6b0e4520eeb34);
|
|
55
|
+
if (hybridScale?.type === (0, $1254c5929638d7f9$export$45e8e2d7a1794c23).ApproximateHeight && _axisType != (0, $bTsJU$ColumnAxisType).AGE) {
|
|
56
|
+
// Use approximate height axis for non-age columns if a non-age axis type is requested
|
|
57
|
+
ageAxisComponent = (0, $43794af7643cdf40$export$82731b9607850ca6);
|
|
58
|
+
_axisType = (0, $bTsJU$ColumnAxisType).AGE;
|
|
59
|
+
}
|
|
42
60
|
const { sections: sections, units: units, totalHeight: totalHeight } = (0, $76e92a964ee11b97$export$206a0cb85295e433)(rawUnits, {
|
|
43
|
-
axisType:
|
|
61
|
+
axisType: _axisType,
|
|
44
62
|
t_age: t_age,
|
|
45
63
|
b_age: b_age,
|
|
64
|
+
t_pos: t_pos,
|
|
65
|
+
b_pos: b_pos,
|
|
46
66
|
mergeSections: mergeSections,
|
|
47
|
-
targetUnitHeight:
|
|
67
|
+
targetUnitHeight: _targetUnitHeight,
|
|
48
68
|
unconformityHeight: unconformityHeight,
|
|
49
69
|
pixelScale: pixelScale,
|
|
50
|
-
minPixelScale:
|
|
51
|
-
minSectionHeight:
|
|
52
|
-
collapseSmallUnconformities: collapseSmallUnconformities
|
|
70
|
+
minPixelScale: _minPixelScale,
|
|
71
|
+
minSectionHeight: _minSectionHeight,
|
|
72
|
+
collapseSmallUnconformities: collapseSmallUnconformities,
|
|
73
|
+
scale: // TODO: consider unifying scale and hybridScale options
|
|
74
|
+
scale,
|
|
75
|
+
hybridScale: hybridScale
|
|
53
76
|
});
|
|
54
77
|
if (sections.length === 0) return $2118f0266dc7e955$var$h("div.column-container.empty", $2118f0266dc7e955$var$h((0, $bTsJU$NonIdealState), {
|
|
55
78
|
title: "Empty column",
|
|
@@ -58,11 +81,12 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
|
|
|
58
81
|
}));
|
|
59
82
|
let main = $2118f0266dc7e955$var$h($2118f0266dc7e955$var$ColumnInner, {
|
|
60
83
|
columnRef: ref,
|
|
84
|
+
ageAxisComponent: ageAxisComponent,
|
|
61
85
|
...rest
|
|
62
86
|
}, [
|
|
63
87
|
children,
|
|
64
88
|
$2118f0266dc7e955$var$h.if(showUnitPopover)((0, $a9bcb536274d1bf9$export$db1115efab13710d)),
|
|
65
|
-
$2118f0266dc7e955$var$h.if(keyboardNavigation)((0, $
|
|
89
|
+
$2118f0266dc7e955$var$h.if(keyboardNavigation)((0, $61771df184788970$export$70f5ee19650fc7d1), {
|
|
66
90
|
units: units
|
|
67
91
|
})
|
|
68
92
|
]);
|
|
@@ -70,7 +94,7 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
|
|
|
70
94
|
we enable it.
|
|
71
95
|
*/ let _allowUnitSelection = allowUnitSelection ?? false;
|
|
72
96
|
if (showUnitPopover || selectedUnit != null || onUnitSelected != null) _allowUnitSelection = true;
|
|
73
|
-
if (_allowUnitSelection) main = $2118f0266dc7e955$var$h((0, $
|
|
97
|
+
if (_allowUnitSelection) main = $2118f0266dc7e955$var$h((0, $61771df184788970$export$f19d75b1d4b676a4), {
|
|
74
98
|
columnRef: ref,
|
|
75
99
|
onUnitSelected: onUnitSelected,
|
|
76
100
|
selectedUnit: selectedUnit,
|
|
@@ -80,11 +104,19 @@ function $2118f0266dc7e955$export$816b5d811295e6bc(props) {
|
|
|
80
104
|
units: units,
|
|
81
105
|
sections: sections,
|
|
82
106
|
totalHeight: totalHeight,
|
|
83
|
-
axisType:
|
|
107
|
+
axisType: _axisType
|
|
84
108
|
}, main);
|
|
85
109
|
}
|
|
86
110
|
function $2118f0266dc7e955$var$ColumnInner(props) {
|
|
87
|
-
const
|
|
111
|
+
const padding = (0, $bTsJU$extractPadding)(props);
|
|
112
|
+
// TODO: integrate padding vars more closely with the rest of the spacing (right now padding is a bit ad-hoc)
|
|
113
|
+
const paddingVars = {
|
|
114
|
+
"--column-padding-top": `${padding.paddingTop}px`,
|
|
115
|
+
"--column-padding-bottom": `${padding.paddingBottom}px`,
|
|
116
|
+
"--column-padding-left": `${padding.paddingLeft}px`,
|
|
117
|
+
"--column-padding-right": `${padding.paddingRight}px`
|
|
118
|
+
};
|
|
119
|
+
const { unitComponent: unitComponent = (0, $4c8184c4a7317749$export$48a4cacf2b7a4441), unconformityLabels: unconformityLabels = true, showLabels: showLabels = true, width: _width = 300, columnWidth: _columnWidth = 150, showLabelColumn: _showLabelColumn = true, className: className, columnRef: columnRef, clipUnits: clipUnits = false, children: children, showTimescale: showTimescale, timescaleLevels: timescaleLevels, maxInternalColumns: maxInternalColumns, onMouseOver: onMouseOver, ageAxisComponent: ageAxisComponent = (0, $43794af7643cdf40$export$40b6b0e4520eeb34) } = props;
|
|
88
120
|
const { axisType: axisType } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
|
|
89
121
|
let width = _width;
|
|
90
122
|
let columnWidth = _columnWidth;
|
|
@@ -96,11 +128,12 @@ function $2118f0266dc7e955$var$ColumnInner(props) {
|
|
|
96
128
|
_showTimescale = axisType == (0, $bTsJU$ColumnAxisType).AGE && _showTimescale;
|
|
97
129
|
return $2118f0266dc7e955$var$h($2118f0266dc7e955$export$2194471aa3d52446, {
|
|
98
130
|
...$2118f0266dc7e955$var$useMouseEventHandlers(onMouseOver),
|
|
131
|
+
style: paddingVars,
|
|
99
132
|
className: className
|
|
100
133
|
}, $2118f0266dc7e955$var$h("div.column", {
|
|
101
134
|
ref: columnRef
|
|
102
135
|
}, [
|
|
103
|
-
$2118f0266dc7e955$var$h(
|
|
136
|
+
$2118f0266dc7e955$var$h(ageAxisComponent),
|
|
104
137
|
$2118f0266dc7e955$var$h.if(_showTimescale)((0, $7d0f52717c0de7e1$export$db2df5a73a6fbe10), {
|
|
105
138
|
levels: timescaleLevels
|
|
106
139
|
}),
|
|
@@ -119,7 +152,7 @@ function $2118f0266dc7e955$var$ColumnInner(props) {
|
|
|
119
152
|
}
|
|
120
153
|
function $2118f0266dc7e955$var$useMouseEventHandlers(_onMouseOver = null) {
|
|
121
154
|
/** Click event handler */ // Click handler for unit selection
|
|
122
|
-
const dispatch = (0, $
|
|
155
|
+
const dispatch = (0, $61771df184788970$export$77a278d5ca56e309)();
|
|
123
156
|
const onClick = (0, $bTsJU$useCallback)((evt)=>{
|
|
124
157
|
dispatch?.(null, null, evt);
|
|
125
158
|
}, [
|
|
@@ -154,10 +187,10 @@ function $2118f0266dc7e955$var$useMouseEventHandlers(_onMouseOver = null) {
|
|
|
154
187
|
function $2118f0266dc7e955$export$2194471aa3d52446(props) {
|
|
155
188
|
const { className: className, ...rest } = props;
|
|
156
189
|
const darkMode = (0, $bTsJU$useDarkMode)();
|
|
157
|
-
return $2118f0266dc7e955$var$h(
|
|
190
|
+
return $2118f0266dc7e955$var$h((0, $bTsJU$Box), {
|
|
158
191
|
className: (0, $bTsJU$classnames)(className, {
|
|
159
192
|
"dark-mode": darkMode?.isEnabled ?? false
|
|
160
|
-
}),
|
|
193
|
+
}, "column-container"),
|
|
161
194
|
...rest
|
|
162
195
|
});
|
|
163
196
|
}
|
|
@@ -186,4 +219,4 @@ function $2118f0266dc7e955$export$fcdf79c491a4504f({ data: data, showColumnID: s
|
|
|
186
219
|
|
|
187
220
|
|
|
188
221
|
export {$2118f0266dc7e955$export$816b5d811295e6bc as Column, $2118f0266dc7e955$export$2194471aa3d52446 as ColumnContainer, $2118f0266dc7e955$export$fcdf79c491a4504f as ColumnBasicInfo};
|
|
189
|
-
//# sourceMappingURL=column-views.
|
|
222
|
+
//# sourceMappingURL=column-views.29a551f6.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["packages/column-views/src/column.ts"],"sourcesContent":["import { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { hyperStyled } from \"@macrostrat/hyper\";\nimport {\n Box,\n extractPadding,\n Padding,\n useDarkMode,\n} from \"@macrostrat/ui-components\";\nimport classNames from \"classnames\";\nimport {\n RefObject,\n useRef,\n HTMLAttributes,\n useCallback,\n CSSProperties,\n ComponentType,\n} from \"react\";\nimport styles from \"./column.module.sass\";\nimport { UnitComponent } from \"./units\";\nimport {\n UnitSelectionProvider,\n UnitKeyboardNavigation,\n useUnitSelectionDispatch,\n} from \"./data-provider\";\n\nimport {\n Identifier,\n ReferencesField,\n UnitSelectionPopover,\n} from \"./unit-details\";\nimport {\n MacrostratColumnDataProvider,\n useCompositeScale,\n useMacrostratColumnData,\n} from \"./data-provider\";\nimport {\n SectionSharedProps,\n CompositeTimescale,\n SectionsColumn,\n} from \"./section\";\nimport { ApproximateHeightAxis, CompositeAgeAxis } from \"./age-axis\";\nimport {\n MergeSectionsMode,\n usePreparedColumnUnits,\n HybridScaleType,\n ColumnHeightScaleOptions,\n} from \"./prepare-units\";\nimport { UnitLong } from \"@macrostrat/api-types\";\nimport { NonIdealState } from \"@blueprintjs/core\";\nimport { DataField } from \"@macrostrat/data-components\";\nimport { ScaleContinuousNumeric } from \"d3-scale\";\n\nconst h = hyperStyled(styles);\n\ninterface BaseColumnProps extends SectionSharedProps {\n className?: string;\n showLabelColumn?: boolean;\n keyboardNavigation?: boolean;\n showLabels?: boolean;\n maxInternalColumns?: number;\n // Timescale properties\n showTimescale?: boolean;\n timescaleLevels?: number | [number, number];\n onMouseOver?: (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n ) => void;\n}\n\nexport interface ColumnProps\n extends Padding, BaseColumnProps, ColumnHeightScaleOptions {\n // Macrostrat units\n units: UnitLong[];\n t_age?: number;\n b_age?: number;\n t_pos?: number;\n b_pos?: number;\n mergeSections?: MergeSectionsMode;\n showUnitPopover?: boolean;\n allowUnitSelection?: boolean;\n selectedUnit?: number | null;\n onUnitSelected?: (unitID: number | null, unit: any) => void;\n // Unconformity height in pixels\n unconformityHeight?: number;\n scale?: ScaleContinuousNumeric<number, number>;\n}\n\nexport function Column(props: ColumnProps) {\n const {\n showUnitPopover = false,\n keyboardNavigation = false,\n mergeSections,\n onUnitSelected,\n selectedUnit,\n children,\n units: rawUnits,\n t_age,\n b_age,\n t_pos,\n b_pos,\n unconformityHeight = 30,\n targetUnitHeight = 20,\n pixelScale,\n minPixelScale = 0.2,\n minSectionHeight = 50,\n collapseSmallUnconformities = true,\n allowUnitSelection,\n hybridScale,\n scale,\n axisType,\n ...rest\n } = props;\n const ref = useRef<HTMLElement>();\n // Selected item position\n\n /* Make pixelScale and targetUnitHeight mutually exclusive. PixelScale implies\n * standardization of scales in all sections */\n let _targetUnitHeight = targetUnitHeight;\n let _minSectionHeight = minSectionHeight;\n let _minPixelScale = minPixelScale;\n if (pixelScale != null) {\n _targetUnitHeight = null;\n _minSectionHeight = 0;\n _minPixelScale = pixelScale;\n }\n\n // Handle special cases for hybrid scales (WIP, we need to regularize this)\n let _axisType = axisType ?? ColumnAxisType.AGE;\n let ageAxisComponent = CompositeAgeAxis;\n if (\n hybridScale?.type === HybridScaleType.ApproximateHeight &&\n _axisType != ColumnAxisType.AGE\n ) {\n // Use approximate height axis for non-age columns if a non-age axis type is requested\n ageAxisComponent = ApproximateHeightAxis;\n _axisType = ColumnAxisType.AGE;\n }\n\n const { sections, units, totalHeight } = usePreparedColumnUnits(rawUnits, {\n axisType: _axisType,\n t_age,\n b_age,\n t_pos,\n b_pos,\n mergeSections,\n targetUnitHeight: _targetUnitHeight,\n unconformityHeight,\n pixelScale,\n minPixelScale: _minPixelScale,\n minSectionHeight: _minSectionHeight,\n collapseSmallUnconformities,\n // TODO: consider unifying scale and hybridScale options\n scale,\n hybridScale,\n });\n\n if (sections.length === 0) {\n return h(\n \"div.column-container.empty\",\n h(NonIdealState, {\n title: \"Empty column\",\n description: \"No sections found in this column.\",\n icon: \"warning-sign\",\n }),\n );\n }\n\n let main: any = h(\n ColumnInner,\n { columnRef: ref, ageAxisComponent, ...rest },\n [\n children,\n h.if(showUnitPopover)(UnitSelectionPopover),\n h.if(keyboardNavigation)(UnitKeyboardNavigation, { units }),\n ],\n );\n\n /* By default, unit selection is disabled. However, if any related props are passed,\n we enable it.\n */\n let _allowUnitSelection = allowUnitSelection ?? false;\n if (showUnitPopover || selectedUnit != null || onUnitSelected != null) {\n _allowUnitSelection = true;\n }\n\n if (_allowUnitSelection) {\n main = h(\n UnitSelectionProvider,\n {\n columnRef: ref,\n onUnitSelected,\n selectedUnit,\n units,\n },\n main,\n );\n }\n\n return h(\n MacrostratColumnDataProvider,\n { units, sections, totalHeight, axisType: _axisType },\n main,\n );\n}\n\ninterface ColumnInnerProps extends BaseColumnProps {\n columnRef: RefObject<HTMLElement>;\n ageAxisComponent?: ComponentType;\n}\n\nfunction ColumnInner(props: ColumnInnerProps) {\n const padding = extractPadding(props);\n\n // TODO: integrate padding vars more closely with the rest of the spacing (right now padding is a bit ad-hoc)\n const paddingVars: any = {\n \"--column-padding-top\": `${padding.paddingTop}px`,\n \"--column-padding-bottom\": `${padding.paddingBottom}px`,\n \"--column-padding-left\": `${padding.paddingLeft}px`,\n \"--column-padding-right\": `${padding.paddingRight}px`,\n };\n\n const {\n unitComponent = UnitComponent,\n unconformityLabels = true,\n showLabels = true,\n width: _width = 300,\n columnWidth: _columnWidth = 150,\n showLabelColumn: _showLabelColumn = true,\n className,\n columnRef,\n clipUnits = false,\n children,\n showTimescale,\n timescaleLevels,\n maxInternalColumns,\n onMouseOver,\n ageAxisComponent = CompositeAgeAxis,\n } = props;\n\n const { axisType } = useMacrostratColumnData();\n\n let width = _width;\n let columnWidth = _columnWidth;\n if (columnWidth > width) {\n columnWidth = width;\n }\n let showLabelColumn = _showLabelColumn;\n if (columnWidth > width - 10) {\n showLabelColumn = false;\n }\n\n let _showTimescale = showTimescale ?? true;\n if (timescaleLevels != null) {\n _showTimescale = true;\n }\n _showTimescale = axisType == ColumnAxisType.AGE && _showTimescale;\n\n return h(\n ColumnContainer,\n {\n ...useMouseEventHandlers(onMouseOver),\n style: paddingVars,\n className,\n },\n h(\"div.column\", { ref: columnRef }, [\n h(ageAxisComponent),\n h.if(_showTimescale)(CompositeTimescale, { levels: timescaleLevels }),\n h(SectionsColumn, {\n unitComponent,\n showLabels,\n width,\n columnWidth,\n showLabelColumn,\n clipUnits,\n unconformityLabels,\n maxInternalColumns,\n }),\n children,\n ]),\n );\n}\n\ntype ColumnMouseOverHandler = (\n unit: UnitLong | null,\n height: number | null,\n evt: MouseEvent,\n) => void;\n\nfunction useMouseEventHandlers(\n _onMouseOver: ColumnMouseOverHandler | null = null,\n) {\n /** Click event handler */\n\n // Click handler for unit selection\n const dispatch = useUnitSelectionDispatch();\n const onClick = useCallback(\n (evt) => {\n dispatch?.(null, null, evt as any);\n },\n [dispatch],\n );\n\n /** Hover event handlers */\n const scale = useCompositeScale();\n\n const onMouseOver = useCallback(\n (evt) => {\n const height = scale.invert(\n evt.clientY - evt.currentTarget.getBoundingClientRect().top,\n );\n _onMouseOver?.(null, height, evt);\n },\n [scale, _onMouseOver],\n );\n\n const onMouseOut = useCallback(() => {\n _onMouseOver?.(null, null, null);\n }, [_onMouseOver]);\n\n if (_onMouseOver == null) {\n return {\n onClick,\n onMouseOver: undefined,\n onMouseMove: undefined,\n onMouseOut: undefined,\n };\n }\n\n return { onMouseOver, onMouseMove: onMouseOver, onMouseOut, onClick };\n}\n\nexport interface ColumnContainerProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n style?: CSSProperties;\n}\n\nexport function ColumnContainer(props: ColumnContainerProps) {\n const { className, ...rest } = props;\n const darkMode = useDarkMode();\n\n return h(Box, {\n className: classNames(\n className,\n {\n \"dark-mode\": darkMode?.isEnabled ?? false,\n },\n \"column-container\",\n ),\n ...rest,\n });\n}\n\nexport function ColumnBasicInfo({ data, showColumnID = true }) {\n if (data == null) return null;\n return h(\"div.column-info\", [\n h(\"div.column-title-row\", [\n h(\"h2\", data.col_name),\n h.if(showColumnID)(\"h4\", h(Identifier, { id: data.col_id })),\n ]),\n h(DataField, { row: true, label: \"Group\", value: data.col_group }),\n h(ReferencesField, {\n refs: data.refs,\n inline: false,\n row: true,\n className: \"column-refs\",\n }),\n ]);\n}\n"],"names":[],"version":3,"file":"column-views.29a551f6.js.map"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557, LegendPanelHeader as $448b24baeef3b229$export$fc503c39cc5cff43, UnitDetailsFeature as $448b24baeef3b229$export$ec297f6f9a6ccad0, Duration as $448b24baeef3b229$export$3b11bc38611c5941, ReferencesField as $448b24baeef3b229$export$895d4931dd696e25, Identifier as $448b24baeef3b229$export$989167234458594d, AgeLabel as $448b24baeef3b229$export$37ebfd237811b1eb} from "./column-views.
|
|
2
|
-
import {UnitDetailsPopover as $a9bcb536274d1bf9$export$6716aecc2c9afbe2, UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.
|
|
3
|
-
import {UnitDetailsPanelWithNavigation as $d418ca9cbe9b0f3c$export$cfdbe8496aa51962} from "./column-views.
|
|
1
|
+
import {UnitDetailsPanel as $448b24baeef3b229$export$fbd245232df17557, LegendPanelHeader as $448b24baeef3b229$export$fc503c39cc5cff43, UnitDetailsFeature as $448b24baeef3b229$export$ec297f6f9a6ccad0, Duration as $448b24baeef3b229$export$3b11bc38611c5941, ReferencesField as $448b24baeef3b229$export$895d4931dd696e25, Identifier as $448b24baeef3b229$export$989167234458594d, AgeLabel as $448b24baeef3b229$export$37ebfd237811b1eb, ClickableText as $448b24baeef3b229$export$b6867fc5221f9f65} from "./column-views.8284c3a9.js";
|
|
2
|
+
import {UnitDetailsPopover as $a9bcb536274d1bf9$export$6716aecc2c9afbe2, UnitSelectionPopover as $a9bcb536274d1bf9$export$db1115efab13710d} from "./column-views.382c486d.js";
|
|
3
|
+
import {UnitDetailsPanelWithNavigation as $d418ca9cbe9b0f3c$export$cfdbe8496aa51962} from "./column-views.d86555b0.js";
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
|
|
10
|
-
export {$448b24baeef3b229$export$fbd245232df17557 as UnitDetailsPanel, $448b24baeef3b229$export$fc503c39cc5cff43 as LegendPanelHeader, $448b24baeef3b229$export$ec297f6f9a6ccad0 as UnitDetailsFeature, $448b24baeef3b229$export$3b11bc38611c5941 as Duration, $448b24baeef3b229$export$895d4931dd696e25 as ReferencesField, $448b24baeef3b229$export$989167234458594d as Identifier, $448b24baeef3b229$export$37ebfd237811b1eb as AgeLabel, $a9bcb536274d1bf9$export$6716aecc2c9afbe2 as UnitDetailsPopover, $a9bcb536274d1bf9$export$db1115efab13710d as UnitSelectionPopover, $d418ca9cbe9b0f3c$export$cfdbe8496aa51962 as UnitDetailsPanelWithNavigation};
|
|
11
|
-
//# sourceMappingURL=column-views.
|
|
10
|
+
export {$448b24baeef3b229$export$fbd245232df17557 as UnitDetailsPanel, $448b24baeef3b229$export$fc503c39cc5cff43 as LegendPanelHeader, $448b24baeef3b229$export$ec297f6f9a6ccad0 as UnitDetailsFeature, $448b24baeef3b229$export$3b11bc38611c5941 as Duration, $448b24baeef3b229$export$895d4931dd696e25 as ReferencesField, $448b24baeef3b229$export$989167234458594d as Identifier, $448b24baeef3b229$export$37ebfd237811b1eb as AgeLabel, $448b24baeef3b229$export$b6867fc5221f9f65 as ClickableText, $a9bcb536274d1bf9$export$6716aecc2c9afbe2 as UnitDetailsPopover, $a9bcb536274d1bf9$export$db1115efab13710d as UnitSelectionPopover, $d418ca9cbe9b0f3c$export$cfdbe8496aa51962 as UnitDetailsPanelWithNavigation};
|
|
11
|
+
//# sourceMappingURL=column-views.2aef5df8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"","sources":["packages/column-views/src/unit-details/index.ts"],"sourcesContent":["export * from \"./panel\";\nexport * from \"./popover\";\nexport * from \"./modal-panel\";\n"],"names":[],"version":3,"file":"column-views.
|
|
1
|
+
{"mappings":"","sources":["packages/column-views/src/unit-details/index.ts"],"sourcesContent":["export * from \"./panel\";\nexport * from \"./popover\";\nexport * from \"./modal-panel\";\n"],"names":[],"version":3,"file":"column-views.2aef5df8.js.map"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {buildColumnsStyle as $1dbfddc9637b572c$export$d2995719c3a4ae17} from "./column-views.633c42a3.js";
|
|
2
2
|
import {InsetMap as $5593f90ffec284da$export$1e8149fc0d15fed0} from "./column-views.3de4dc43.js";
|
|
3
|
-
import {ColumnNavigationProvider as $09486427d129f589$export$8da3b11f62ebf019, useColumnNavigationStore as $09486427d129f589$export$642c2b57c47ea41} from "./column-views.
|
|
4
|
-
import {buildKeyboardNavigationStyle as $ab1043903d5406ef$export$c613fba0aabeee13, ColumnKeyboardNavigation as $ab1043903d5406ef$export$8c41dd563753848} from "./column-views.
|
|
3
|
+
import {ColumnNavigationProvider as $09486427d129f589$export$8da3b11f62ebf019, useColumnNavigationStore as $09486427d129f589$export$642c2b57c47ea41} from "./column-views.c3495702.js";
|
|
4
|
+
import {buildKeyboardNavigationStyle as $ab1043903d5406ef$export$c613fba0aabeee13, ColumnKeyboardNavigation as $ab1043903d5406ef$export$8c41dd563753848} from "./column-views.8b623b27.js";
|
|
5
5
|
import {useMapStyleOperator as $lRXWn$useMapStyleOperator} from "@macrostrat/mapbox-react";
|
|
6
6
|
import $lRXWn$macrostrathyper from "@macrostrat/hyper";
|
|
7
7
|
import {useMemo as $lRXWn$useMemo, useRef as $lRXWn$useRef} from "react";
|
|
@@ -165,4 +165,4 @@ function $9d5d216fa2057b5b$var$ColumnsLayer({ enabled: enabled = true }) {
|
|
|
165
165
|
|
|
166
166
|
|
|
167
167
|
export {$9d5d216fa2057b5b$export$821baedf611249f3 as ColumnNavigationMap};
|
|
168
|
-
//# sourceMappingURL=column-views.
|
|
168
|
+
//# sourceMappingURL=column-views.2e854496.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"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","sources":["packages/column-views/src/maps/column-navigation/mapbox/index.ts"],"sourcesContent":["import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport h from \"@macrostrat/hyper\";\nimport { FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport { buildColumnsStyle, InsetMapProps } from \"../../_shared\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport {\n ColumnNavigationProvider,\n NavigationProviderProps,\n useColumnNavigationStore,\n} from \"./state\";\nimport { InsetMap } from \"../../_shared\";\nimport { geoCentroid } from \"d3-geo\";\nimport {\n ColumnKeyboardNavigation,\n buildKeyboardNavigationStyle,\n} from \"./keyboard-navigation\";\n\nexport interface ColumnNavigationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n selectedColumn?: number;\n hoveredColumn?: number;\n onSelectColumn?: (colID: number | null) => void;\n onHoverColumn?: (colID: number | null) => void;\n showTriangulation?: boolean;\n columnColor?: string;\n triangulationColor?: string;\n keyboardNavigation?: boolean;\n}\n\nexport function ColumnNavigationMap(\n props: ColumnNavigationMapProps & NavigationProviderProps,\n) {\n const {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n children,\n inProcess,\n ...rest\n } = props;\n\n return h(\n ColumnNavigationProvider,\n {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n },\n h(_ColumnNavigationMap, props),\n );\n}\n\nfunction _ColumnNavigationMap(props: ColumnNavigationMapProps) {\n const {\n padding = 50,\n children,\n columnColor,\n showTriangulation,\n triangulationColor,\n keyboardNavigation = true,\n ...rest\n } = props;\n\n const overlayStyles = useMemo(() => {\n let styles: any[] = [buildColumnsStyle(columnColor)];\n if (showTriangulation) {\n styles.push(buildKeyboardNavigationStyle(triangulationColor));\n }\n return styles;\n }, [columnColor, showTriangulation, triangulationColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n children,\n h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),\n ],\n );\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useColumnNavigationStore((state) => state.columns);\n const selectedColumn = useColumnNavigationStore(\n (state) => state.selectedColumn,\n );\n const hoveredColumn = useColumnNavigationStore(\n (state) => state.hoveredColumn,\n );\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n const setHoveredColumn = useColumnNavigationStore(\n (state) => state.setHoveredColumn,\n );\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n setGeoJSON(map, \"columns\", data);\n\n const mouseMove = (event) => {\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = () => {\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n\n const clickHandler = (event) => {\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n\n // Setup hover styles on map\n const layers = [\"columns-points\", \"columns-fill\"];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n\n return () => {\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n },\n [columns, enabled],\n );\n\n const hoveredColumnRef = useRef(null);\n useMapStyleOperator(\n (map) => {\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevHoveredColumn },\n { hover: false },\n );\n }\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: hoveredColumn },\n { hover: true },\n );\n },\n [hoveredColumn, columns],\n );\n\n /** Set feature state for selected columns */\n const selectedColumnRef = useRef(null);\n const initialRenderRef = useRef(true);\n useMapStyleOperator(\n (map) => {\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevSelectedColumn },\n { selected: false },\n );\n }\n\n selectedColumnRef.current = selectedColumn;\n\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: selectedColumn },\n { selected: true },\n );\n\n // Center the selected column\n const columnGeometry = columns.find(\n (d) => d.id == selectedColumn,\n )?.geometry;\n if (columnGeometry == null) return;\n const center = geoCentroid(columnGeometry);\n\n const isInitialRender = initialRenderRef.current;\n map.easeTo({ center }, { duration: isInitialRender ? 0 : 500 });\n if (isInitialRender) {\n initialRenderRef.current = false;\n }\n },\n [selectedColumn, columns],\n );\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.
|
|
1
|
+
{"mappings":"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","sources":["packages/column-views/src/maps/column-navigation/mapbox/index.ts"],"sourcesContent":["import { useMapStyleOperator } from \"@macrostrat/mapbox-react\";\nimport h from \"@macrostrat/hyper\";\nimport { FeatureCollection } from \"geojson\";\nimport { ReactNode, useMemo, useRef } from \"react\";\nimport { buildColumnsStyle, InsetMapProps } from \"../../_shared\";\nimport { setGeoJSON } from \"@macrostrat/mapbox-utils\";\n\nimport {\n ColumnNavigationProvider,\n NavigationProviderProps,\n useColumnNavigationStore,\n} from \"./state\";\nimport { InsetMap } from \"../../_shared\";\nimport { geoCentroid } from \"d3-geo\";\nimport {\n ColumnKeyboardNavigation,\n buildKeyboardNavigationStyle,\n} from \"./keyboard-navigation\";\n\nexport interface ColumnNavigationMapProps extends InsetMapProps {\n padding?: number;\n children?: ReactNode;\n accessToken?: string;\n selectedColumn?: number;\n hoveredColumn?: number;\n onSelectColumn?: (colID: number | null) => void;\n onHoverColumn?: (colID: number | null) => void;\n showTriangulation?: boolean;\n columnColor?: string;\n triangulationColor?: string;\n keyboardNavigation?: boolean;\n}\n\nexport function ColumnNavigationMap(\n props: ColumnNavigationMapProps & NavigationProviderProps,\n) {\n const {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n children,\n inProcess,\n ...rest\n } = props;\n\n return h(\n ColumnNavigationProvider,\n {\n columns,\n columnIDs,\n onSelectColumn,\n onHoverColumn,\n selectedColumn,\n hoveredColumn,\n projectID,\n inProcess,\n },\n h(_ColumnNavigationMap, props),\n );\n}\n\nfunction _ColumnNavigationMap(props: ColumnNavigationMapProps) {\n const {\n padding = 50,\n children,\n columnColor,\n showTriangulation,\n triangulationColor,\n keyboardNavigation = true,\n ...rest\n } = props;\n\n const overlayStyles = useMemo(() => {\n let styles: any[] = [buildColumnsStyle(columnColor)];\n if (showTriangulation) {\n styles.push(buildKeyboardNavigationStyle(triangulationColor));\n }\n return styles;\n }, [columnColor, showTriangulation, triangulationColor]);\n\n return h(\n InsetMap,\n {\n ...rest,\n boxZoom: false,\n dragRotate: false,\n overlayStyles,\n },\n [\n h(ColumnsLayer),\n children,\n h.if(keyboardNavigation)(ColumnKeyboardNavigation, { showTriangulation }),\n ],\n );\n}\n\nfunction ColumnsLayer({ enabled = true }) {\n const columns = useColumnNavigationStore((state) => state.columns);\n const selectedColumn = useColumnNavigationStore(\n (state) => state.selectedColumn,\n );\n const hoveredColumn = useColumnNavigationStore(\n (state) => state.hoveredColumn,\n );\n const selectColumn = useColumnNavigationStore((state) => state.selectColumn);\n const setHoveredColumn = useColumnNavigationStore(\n (state) => state.setHoveredColumn,\n );\n\n useMapStyleOperator(\n (map) => {\n if (columns == null) {\n return;\n }\n const data: FeatureCollection = {\n type: \"FeatureCollection\",\n features: columns,\n };\n\n setGeoJSON(map, \"columns\", data);\n\n const mouseMove = (event) => {\n if (event.features.length == 0) return;\n const hoveredFeature = event.features[0];\n setHoveredColumn(hoveredFeature.id);\n map.getCanvas().style.cursor = \"pointer\";\n };\n const mouseLeave = () => {\n setHoveredColumn(null);\n map.getCanvas().style.cursor = \"\";\n };\n\n const clickHandler = (event) => {\n if (event.features.length == 0) return;\n const selectedColumn = event.features[0];\n const id = selectedColumn.id;\n selectColumn(id);\n };\n\n // Setup hover styles on map\n const layers = [\"columns-points\", \"columns-fill\"];\n map.on(\"mousemove\", layers, mouseMove);\n map.on(\"mouseleave\", layers, mouseLeave);\n map.on(\"click\", layers, clickHandler);\n\n return () => {\n map.off(\"mouseenter\", layers, mouseMove);\n map.off(\"mouseleave\", layers, mouseLeave);\n map.off(\"click\", layers, clickHandler);\n };\n },\n [columns, enabled],\n );\n\n const hoveredColumnRef = useRef(null);\n useMapStyleOperator(\n (map) => {\n const prevHoveredColumn = hoveredColumnRef.current;\n if (hoveredColumn == prevHoveredColumn) return;\n if (prevHoveredColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevHoveredColumn },\n { hover: false },\n );\n }\n hoveredColumnRef.current = hoveredColumn;\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: hoveredColumn },\n { hover: true },\n );\n },\n [hoveredColumn, columns],\n );\n\n /** Set feature state for selected columns */\n const selectedColumnRef = useRef(null);\n const initialRenderRef = useRef(true);\n useMapStyleOperator(\n (map) => {\n if (columns == null) return;\n const prevSelectedColumn = selectedColumnRef.current;\n if (selectedColumn == prevSelectedColumn) return;\n if (prevSelectedColumn != null) {\n // Deselect previous column\n map.setFeatureState(\n { source: \"columns\", id: prevSelectedColumn },\n { selected: false },\n );\n }\n\n selectedColumnRef.current = selectedColumn;\n\n // Select the current column\n map.setFeatureState(\n { source: \"columns\", id: selectedColumn },\n { selected: true },\n );\n\n // Center the selected column\n const columnGeometry = columns.find(\n (d) => d.id == selectedColumn,\n )?.geometry;\n if (columnGeometry == null) return;\n const center = geoCentroid(columnGeometry);\n\n const isInitialRender = initialRenderRef.current;\n map.easeTo({ center }, { duration: isInitialRender ? 0 : 500 });\n if (isInitialRender) {\n initialRenderRef.current = false;\n }\n },\n [selectedColumn, columns],\n );\n\n return null;\n}\n"],"names":[],"version":3,"file":"column-views.2e854496.js.map"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {fetchAllColumns as $33a46f9423c8104a$export$45bd78cd093090fa, fetchEnvironments as $33a46f9423c8104a$export$780b4b253712916c, fetchIntervals as $33a46f9423c8104a$export$5d2ec2e733dfe6c7, fetchLithologies as $33a46f9423c8104a$export$1aa679bd5e605f82, fetchRefs as $33a46f9423c8104a$export$cd7bfa0860f58b96, fetchStratNames as $33a46f9423c8104a$export$8ea8f45a7ffe4183} from "./column-views.
|
|
2
|
-
import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.
|
|
1
|
+
import {fetchAllColumns as $33a46f9423c8104a$export$45bd78cd093090fa, fetchEnvironments as $33a46f9423c8104a$export$780b4b253712916c, fetchIntervals as $33a46f9423c8104a$export$5d2ec2e733dfe6c7, fetchLithologies as $33a46f9423c8104a$export$1aa679bd5e605f82, fetchRefs as $33a46f9423c8104a$export$cd7bfa0860f58b96, fetchStratNames as $33a46f9423c8104a$export$8ea8f45a7ffe4183} from "./column-views.8c296309.js";
|
|
2
|
+
import {useMacrostratColumnData as $d5074f164411387e$export$f8509b7cce386c7d} from "./column-views.4ed90896.js";
|
|
3
3
|
import $8Y44A$crossfetch from "cross-fetch";
|
|
4
4
|
import {useContext as $8Y44A$useContext, useEffect as $8Y44A$useEffect, useMemo as $8Y44A$useMemo, useState as $8Y44A$useState, createContext as $8Y44A$createContext} from "react";
|
|
5
5
|
import $8Y44A$macrostrathyper from "@macrostrat/hyper";
|
|
@@ -66,28 +66,19 @@ function $774a5efa27d1c77b$var$createColumnsSlice(set, get) {
|
|
|
66
66
|
const { columnFootprints: columnFootprints, baseURL: baseURL, fetch: fetch } = get();
|
|
67
67
|
const key = projectID ?? -1;
|
|
68
68
|
let _inProcess = inProcess;
|
|
69
|
-
if (projectID == null) // If no project is specified, in process columns cannot be included
|
|
70
|
-
_inProcess = false;
|
|
71
69
|
let footprints = columnFootprints.get(key);
|
|
72
70
|
if (footprints == null || footprints.inProcess != _inProcess) {
|
|
73
71
|
// Fetch the columns
|
|
74
|
-
const statusCode =
|
|
75
|
-
|
|
72
|
+
const statusCode = [
|
|
73
|
+
"active"
|
|
74
|
+
];
|
|
75
|
+
if (_inProcess) statusCode.push("in process");
|
|
76
|
+
const columns = await (0, $33a46f9423c8104a$export$45bd78cd093090fa)({
|
|
76
77
|
projectID: projectID,
|
|
77
|
-
statusCode:
|
|
78
|
+
statusCode: statusCode,
|
|
78
79
|
fetch: fetch
|
|
79
80
|
});
|
|
80
81
|
if (columns == null) return;
|
|
81
|
-
if (_inProcess) {
|
|
82
|
-
const inProcessColumns = await (0, $33a46f9423c8104a$export$45bd78cd093090fa)({
|
|
83
|
-
projectID: projectID,
|
|
84
|
-
statusCode: "in process",
|
|
85
|
-
fetch: fetch
|
|
86
|
-
});
|
|
87
|
-
if (inProcessColumns == null) return;
|
|
88
|
-
// Combine active and in-process columns
|
|
89
|
-
columns = columns.concat(inProcessColumns);
|
|
90
|
-
}
|
|
91
82
|
footprints = {
|
|
92
83
|
project_id: projectID,
|
|
93
84
|
inProcess: inProcess,
|
|
@@ -207,6 +198,12 @@ function $774a5efa27d1c77b$export$fb98d5bae3a6800(selector) {
|
|
|
207
198
|
if (selector === "api") return ctx;
|
|
208
199
|
return (0, $8Y44A$useStore)(ctx, selector);
|
|
209
200
|
}
|
|
201
|
+
function $774a5efa27d1c77b$export$33b1392d23dde04(defaultURL = "https://macrostrat.org/api/v2") {
|
|
202
|
+
/** Get the Macrostrat base URL from the store if set, otherwise return a default value */ const ctx = (0, $8Y44A$useContext)($774a5efa27d1c77b$var$MacrostratDataProviderContext);
|
|
203
|
+
if (ctx == null) // Return default URL if no provider is present
|
|
204
|
+
return defaultURL;
|
|
205
|
+
return ctx.getState().baseURL;
|
|
206
|
+
}
|
|
210
207
|
const $774a5efa27d1c77b$var$dataTypeMapping = {
|
|
211
208
|
lithologies: (store)=>store.getLithologies,
|
|
212
209
|
intervals: (store)=>store.getIntervals,
|
|
@@ -285,12 +282,13 @@ function $774a5efa27d1c77b$export$9e42f9b6e0d67c7d(props) {
|
|
|
285
282
|
/** A column provider specialized the Macrostrat API. Maps more
|
|
286
283
|
* generic concepts to Macrostrat-specific ones.
|
|
287
284
|
*/ const { axisType: axisType } = (0, $d5074f164411387e$export$f8509b7cce386c7d)();
|
|
288
|
-
const { units: units, domain: domain, pixelScale: pixelScale, children: children } = props;
|
|
285
|
+
const { units: units, domain: domain, pixelScale: pixelScale, scale: scale, children: children } = props;
|
|
289
286
|
return (0, $8Y44A$macrostrathyper)((0, $8Y44A$ColumnProvider), {
|
|
290
287
|
axisType: axisType,
|
|
291
288
|
divisions: units,
|
|
292
289
|
range: domain,
|
|
293
|
-
pixelsPerMeter: pixelScale
|
|
290
|
+
pixelsPerMeter: pixelScale,
|
|
291
|
+
scale: scale
|
|
294
292
|
}, children);
|
|
295
293
|
}
|
|
296
294
|
function $774a5efa27d1c77b$export$8492a5cae82b6a70({ children: children }) {
|
|
@@ -323,5 +321,5 @@ function $774a5efa27d1c77b$export$c6b216bf4c71b61f() {
|
|
|
323
321
|
}
|
|
324
322
|
|
|
325
323
|
|
|
326
|
-
export {$774a5efa27d1c77b$export$fb98d5bae3a6800 as useMacrostratStore, $774a5efa27d1c77b$export$89dd4e5ae4a82373 as useMacrostratDefs, $774a5efa27d1c77b$export$81eaae0b474404fd as useMacrostratColumns, $774a5efa27d1c77b$export$b9c9fc603d74a555 as useMacrostratData, $774a5efa27d1c77b$export$690613f93cdc5576 as MacrostratDataProvider, $774a5efa27d1c77b$export$3098013bc6cc316d as MacrostratAPIProvider, $774a5efa27d1c77b$export$9e42f9b6e0d67c7d as MacrostratColumnProvider, $774a5efa27d1c77b$export$8492a5cae82b6a70 as LithologiesProvider, $774a5efa27d1c77b$export$4d18a90c945d129f as useLithologies, $774a5efa27d1c77b$export$c6b216bf4c71b61f as useEnvironments};
|
|
327
|
-
//# sourceMappingURL=column-views.
|
|
324
|
+
export {$774a5efa27d1c77b$export$fb98d5bae3a6800 as useMacrostratStore, $774a5efa27d1c77b$export$33b1392d23dde04 as useMacrostratBaseURL, $774a5efa27d1c77b$export$89dd4e5ae4a82373 as useMacrostratDefs, $774a5efa27d1c77b$export$81eaae0b474404fd as useMacrostratColumns, $774a5efa27d1c77b$export$b9c9fc603d74a555 as useMacrostratData, $774a5efa27d1c77b$export$690613f93cdc5576 as MacrostratDataProvider, $774a5efa27d1c77b$export$3098013bc6cc316d as MacrostratAPIProvider, $774a5efa27d1c77b$export$9e42f9b6e0d67c7d as MacrostratColumnProvider, $774a5efa27d1c77b$export$8492a5cae82b6a70 as LithologiesProvider, $774a5efa27d1c77b$export$4d18a90c945d129f as useLithologies, $774a5efa27d1c77b$export$c6b216bf4c71b61f as useEnvironments};
|
|
325
|
+
//# sourceMappingURL=column-views.2eceafb5.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"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","sources":["packages/column-views/src/data-provider/base.ts"],"sourcesContent":["/** Data provider for information that needs to be loaded in bulk for frontend views */\nimport baseFetch from \"cross-fetch\";\nimport { createContext, useContext, useEffect, useMemo, useState } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { create, useStore } from \"zustand\";\nimport {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n Environment,\n MacrostratRef,\n StratName,\n Interval,\n} from \"@macrostrat/api-types\";\nimport {\n fetchAllColumns,\n fetchEnvironments,\n fetchIntervals,\n fetchLithologies,\n fetchRefs,\n fetchStratNames,\n} from \"./fetch\";\nimport { APIProvider } from \"@macrostrat/ui-components\";\nimport { ColumnProvider } from \"@macrostrat/column-components\";\n\nimport { ReactNode } from \"react\";\nimport { useMacrostratColumnData } from \"./store\";\n\nexport interface MacrostratDataProviderProps {\n baseURL: string;\n children: React.ReactNode;\n}\n\ninterface ColumnFootprintsStorage {\n project_id: number;\n // Whether the \"in process\" flag was used\n inProcess: boolean;\n // The column footprints\n columns: ColumnGeoJSONRecordWithID[];\n}\n\ninterface RefsSlice {\n refs: Map<number, MacrostratRef>;\n inFlightRequests: Set<string>; // Track requests to avoid duplicates\n getRefs(ids: number[]): Promise<MacrostratRef[]>;\n}\n\ninterface MacrostratStore extends RefsSlice {\n baseURL: string;\n fetch: any;\n lithologies: Map<number, any> | null;\n getLithologies(ids: number[] | null): Promise<any>;\n intervals: Map<number, any> | null;\n getIntervals(\n ids: number[] | null,\n timescaleID: number | null,\n ): Promise<Interval[]>;\n environments: Map<number, Environment> | null;\n getEnvironments(ids: number[] | null): Promise<Environment[]>;\n columnFootprints: Map<number, ColumnFootprintsStorage>;\n getColumns(\n projectID: number | null,\n inProcess: boolean,\n ): Promise<ColumnGeoJSONRecord[]>;\n // Strat names unify both \"strat names\" and \"concepts\"\n stratNames: Map<number, StratName> | null;\n getStratNames(ids: number[] | null): Promise<StratName[]>;\n}\n\nfunction createMacrostratStore(\n baseURL: string = \"https://macrostrat.org/api/v2\",\n) {\n return create<MacrostratStore>((set, get): MacrostratStore => {\n return {\n baseURL,\n inFlightRequests: new Set(),\n async fetch(url: string, options?: RequestInit) {\n const url1 = baseURL + url;\n // Avoid duplicate requests\n const { inFlightRequests } = get();\n if (inFlightRequests.has(url1)) {\n return null; // Return null if already in flight\n }\n inFlightRequests.add(url1);\n //set({ inFlightRequests });\n const res = await baseFetch(url1, options);\n inFlightRequests.delete(url1);\n //set({in})\n return res;\n },\n ...createLithologiesSlice(set, get),\n ...createIntervalsSlice(set, get),\n ...createEnvironmentsSlice(set, get),\n ...createColumnsSlice(set, get),\n ...createRefsSlice(set, get),\n ...createStratNamesSlice(set, get),\n };\n });\n}\n\nfunction createRefsSlice(set, get) {\n return {\n refs: new Map(),\n async getRefs(ids: number[]): Promise<MacrostratRef[]> {\n const { refs, fetch } = get();\n const missing = ids.filter((id) => !refs.has(id));\n if (missing.length == 0) {\n return ids.map((id) => refs.get(id));\n }\n const data = await fetchRefs(missing, fetch);\n if (data == null) return [];\n for (const d of data) {\n refs.set(d.ref_id, d);\n }\n set({ refs });\n return ids.map((id) => refs.get(id));\n },\n };\n}\n\nfunction createColumnsSlice(set, get) {\n // Column footprints separated by project\n return {\n columnFootprints: new Map(),\n async getColumns(projectID: number | null, inProcess: boolean) {\n const { columnFootprints, baseURL, fetch } = get();\n const key = projectID ?? -1;\n let _inProcess = inProcess;\n\n let footprints = columnFootprints.get(key);\n if (footprints == null || footprints.inProcess != _inProcess) {\n // Fetch the columns\n const statusCode: ColumnStatusCode[] = [\"active\"];\n if (_inProcess) {\n statusCode.push(\"in process\");\n }\n const columns = await fetchAllColumns({\n projectID,\n statusCode,\n fetch,\n });\n if (columns == null) {\n return;\n }\n footprints = {\n project_id: projectID,\n inProcess,\n columns,\n };\n // We could break multi-project result sets into separate caches here...\n // Copy the original map\n const columnFootprints2 = new Map(columnFootprints);\n columnFootprints2.set(key, footprints);\n set({ columnFootprints: columnFootprints2 });\n }\n return footprints.columns;\n },\n };\n}\n\nfunction createLithologiesSlice(set, get) {\n return {\n lithologies: null,\n async getLithologies(ids: number[] | null) {\n const { lithologies, fetch } = get();\n let lithMap = lithologies;\n if (lithMap == null) {\n const data = await fetchLithologies(fetch);\n if (data == null) return;\n lithMap = new Map(data.map((d) => [d.lith_id, d]));\n set({ lithologies: lithMap });\n }\n // Now get the lithologies\n if (ids == null) return lithMap.values();\n return ids.map((id) => lithMap.get(id));\n },\n };\n}\n\nfunction createEnvironmentsSlice(set, get) {\n return {\n environments: null,\n async getEnvironments(ids: number[] | null): Promise<Environment[]> {\n const { environments, fetch } = get();\n let envMap = environments;\n if (envMap == null) {\n const data = await fetchEnvironments(fetch);\n if (data == null) return [];\n envMap = new Map(data.map((d) => [d.environ_id, d]));\n set({ environments: envMap });\n }\n // Now get the environments\n if (ids == null) return envMap.values();\n return ids.map((id) => envMap.get(id));\n },\n };\n}\n\nfunction createIntervalsSlice(set, get) {\n return {\n intervals: null,\n async getIntervals(ids: number[] | null, timescaleID: number | null) {\n const { intervals, fetch } = get();\n let _intervals = intervals;\n if (intervals == null || !includesTimescale(intervals, timescaleID)) {\n // Fetch the intervals\n const data = await fetchIntervals(timescaleID, fetch);\n if (data == null) {\n return [];\n }\n const intervalMap = intervals ?? new Map();\n for (const d of data) {\n intervalMap.set(d.int_id, d);\n }\n _intervals = intervalMap;\n set({ intervals: _intervals });\n }\n if (ids == null && timescaleID == null)\n return Array.from(_intervals.values());\n if (timescaleID != null) {\n return Array.from(_intervals.values() as any[]).filter(\n (d) => d.timescale_id == timescaleID,\n );\n }\n return ids.map((id) => intervals.get(id));\n },\n };\n}\n\nfunction createStratNamesSlice(set, get) {\n return {\n stratNames: null,\n async getStratNames(ids: number[] | null): Promise<StratName[]> {\n const { stratNames, fetch } = get();\n let nameMap = stratNames ?? new Map();\n let stratNamesAlreadyLoaded = [];\n let stratNamesToLoad = [];\n for (const id of ids) {\n if (nameMap.has(id)) {\n stratNamesAlreadyLoaded.push(nameMap.get(id));\n } else {\n stratNamesToLoad.push(id);\n }\n }\n if (stratNamesToLoad.length > 0) {\n const data = await fetchStratNames(stratNamesToLoad, fetch);\n if (data == null) return stratNamesAlreadyLoaded;\n for (const d of data) {\n nameMap.set(d.strat_name_id, d);\n }\n set({ stratNames: nameMap });\n }\n return ids.map((id) => nameMap.get(id));\n },\n };\n}\n\nfunction includesTimescale(intervals: Map<number, any>, timescaleID: number) {\n if (intervals == null) return false;\n if (timescaleID == null) return true;\n return Array.from(intervals.values()).some(\n (d) => d.timescale_id == timescaleID,\n );\n}\n\ntype MacrostratSelector = (store: MacrostratStore) => any;\n\nexport function useMacrostratStore(selector: MacrostratSelector | \"api\") {\n const ctx = useContext(MacrostratDataProviderContext);\n if (ctx == null) {\n throw new Error(\"Missing MacrostratDataProvider\");\n }\n if (selector === \"api\") {\n return ctx;\n }\n return useStore(ctx, selector);\n}\n\nexport function useMacrostratBaseURL(\n defaultURL = \"https://macrostrat.org/api/v2\",\n): string {\n /** Get the Macrostrat base URL from the store if set, otherwise return a default value */\n const ctx = useContext(MacrostratDataProviderContext);\n if (ctx == null) {\n // Return default URL if no provider is present\n return defaultURL;\n }\n return ctx.getState().baseURL;\n}\n\ntype DataTypeKey =\n | \"lithologies\"\n | \"intervals\"\n | \"columns\"\n | \"environments\"\n | \"refs\"\n | \"strat_names\";\n\nconst dataTypeMapping = {\n lithologies: (store) => store.getLithologies,\n intervals: (store) => store.getIntervals,\n columns: (store) => store.getColumns,\n environments: (store) => store.getEnvironments,\n refs: (store) => store.getRefs,\n strat_names: (store) => store.getStratNames,\n};\n\nexport function useMacrostratDefs(dataType: string): Map<number, any> | null {\n if (dataType == \"columns\") {\n throw new Error(\"Columns are not provided as a map\");\n }\n const operator = useMacrostratStore(dataTypeMapping[dataType]);\n useEffect(() => {\n operator();\n }, []);\n return useMacrostratStore((state) => state[dataType]);\n}\n\nexport function useMacrostratColumns(\n projectID: number | null,\n inProcess: boolean,\n) {\n const getColumns = useMacrostratStore((s) => s.getColumns);\n const columnsMap = useMacrostratStore((s) => s.columnFootprints);\n const key = projectID ?? -1;\n const colData = columnsMap?.get(key);\n useEffect(() => {\n // Refetch if the columns are not available, or if we have requested inProcess columns where we didn't before\n if (colData == null || (inProcess && !colData.inProcess)) {\n getColumns(projectID, inProcess);\n }\n // If we've already fetched the columns there's nothing to do...\n }, [colData, inProcess, getColumns]);\n\n return useMemo(() => {\n if (colData == null) return null;\n let columns = colData.columns;\n if (!inProcess && colData.inProcess) {\n // Our available set of columns includes 'in process' columns, but we don't want them\n columns.features = columns.features?.filter(\n (d) => d.properties.status != \"in process\",\n );\n }\n return columns;\n }, [colData, inProcess]);\n}\n\nexport function useMacrostratData(dataType: DataTypeKey, ...args: any[]) {\n const selector = dataTypeMapping[dataType];\n const operator = useMacrostratStore(selector);\n\n const [value, setValue] = useState(null);\n\n useEffect(() => {\n try {\n operator(...args).then(setValue);\n } catch (e) {\n console.error(e);\n }\n }, [operator, ...args]);\n\n return value;\n}\n\n/** By default, we provide a store linked to the production API */\nconst MacrostratDataProviderContext = createContext(createMacrostratStore());\n\nexport function MacrostratDataProvider(props: MacrostratDataProviderProps) {\n const { baseURL = \"https://dev.macrostrat.org/api/v2\", children } = props;\n\n const [store] = useState(() => createMacrostratStore(baseURL));\n\n return h(\n MacrostratAPIProvider,\n { baseURL },\n h(MacrostratDataProviderContext.Provider, { value: store }, children),\n );\n}\n\n/** Legacy API provider so useAPIResult can work */\n\ntype APIProviderProps = {\n children: ReactNode;\n useDev?: boolean;\n baseURL?: string;\n};\n\nexport function MacrostratAPIProvider({\n children,\n useDev = false,\n baseURL,\n}: APIProviderProps) {\n baseURL ??= useDev\n ? \"https://dev.macrostrat.org/api/v2\"\n : \"https://macrostrat.org/api/v2\";\n\n return h(\n APIProvider,\n {\n baseURL,\n unwrapResponse: (res) => res.success.data,\n },\n children,\n );\n}\n\nexport function MacrostratColumnProvider(props) {\n /** A column provider specialized the Macrostrat API. Maps more\n * generic concepts to Macrostrat-specific ones.\n */\n\n const { axisType } = useMacrostratColumnData();\n const { units, domain, pixelScale, scale, children } = props;\n return h(\n ColumnProvider,\n {\n axisType,\n divisions: units,\n range: domain,\n pixelsPerMeter: pixelScale,\n scale,\n },\n children,\n );\n}\n\n/** This is now a legacy provider */\nexport function LithologiesProvider({ children }) {\n useEffect(() => {\n console.warn(\n \"LithologiesProvider is deprecated. Replace with MacrostratDataProvider\",\n );\n }, []);\n return children;\n}\n\nexport function useLithologies() {\n const getLithologies = useMacrostratStore((s) => s.getLithologies);\n const lithologies = useMacrostratStore((s) => s.lithologies);\n useEffect(() => {\n if (lithologies == null) getLithologies();\n }, [lithologies, getLithologies]);\n return lithologies;\n}\n\nexport function useEnvironments() {\n const getEnvironments = useMacrostratStore((s) => s.getEnvironments);\n const environments = useMacrostratStore((s) => s.environments);\n useEffect(() => {\n if (environments == null) getEnvironments();\n }, [environments, getEnvironments]);\n return environments;\n}\n"],"names":[],"version":3,"file":"column-views.2eceafb5.js.map"}
|
|
@@ -50,4 +50,10 @@
|
|
|
50
50
|
padding: 4px 2px;
|
|
51
51
|
transform: rotate(180deg)translate(16px, 50%);
|
|
52
52
|
}
|
|
53
|
-
|
|
53
|
+
|
|
54
|
+
._FHjpa_composite-age-axis {
|
|
55
|
+
flex-direction: row;
|
|
56
|
+
display: flex;
|
|
57
|
+
position: relative;
|
|
58
|
+
}
|
|
59
|
+
/*# sourceMappingURL=column-views.321af3ae.css.map */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"
|
|
1
|
+
{"mappings":"AAAA;;;;AAII;;;;;;;AAOA;;;;AAGJ;;;;AAGA;;;;;;;;;;AAQA;;;;AAGA;;;;;;;AAKE;;;;;AAIA;;;;;;;;AAOF","sources":["packages/column-views/src/age-axis.module.sass"],"sourcesContent":[".age-axis\n transform: translateX(20px)\n\n :global(.tick)\n text\n text-anchor: middle\n // TODO: allow font size to vary without this..\n font-weight: 400 !important\n transform: rotate(-90deg) translate(8px, -12px)\n font-size: var(--column-axis-font-size, 0.8rem)\n\n line\n stroke-width: 1px !important\n\n.age-axis-column\n flex-shrink: 0\n\n.age-axis-label\n writing-mode: vertical-lr\n transform: rotate(180deg)\n font-size: var(--column-axis-font-size, 0.8rem)\n text-align: center\n position: sticky\n top: 0\n max-height: 100vh\n.age-axis-unit\n color: var(--text-subtle-color)\n\n.age-cursor\n position: absolute\n left: 30px\n right: 0\n pointer-events: none\n .line\n border-bottom: 2px solid var(--column-axis-cursor-color, var(--column-cursor-color, var(--column-stroke-color)))\n transform: translateY(-1px)\n\n .label\n writing-mode: vertical-lr\n padding: 4px 2px\n transform: rotate(180deg) translate(16px, 50%)\n background-color: var(--column-background-color)\n text-align: center\n\n.composite-age-axis\n position: relative\n display: flex\n flex-direction: row\n\n"],"names":[],"version":3,"file":"column-views.321af3ae.css.map"}
|