@macrostrat/column-views 2.4.4 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +5 -0
- package/dist/age-axis.cjs +123 -0
- package/dist/age-axis.cjs.map +1 -0
- package/dist/age-axis.d.ts +33 -0
- package/dist/age-axis.js +123 -0
- package/dist/age-axis.js.map +1 -0
- package/dist/age-axis.module.sass.cjs +18 -0
- package/dist/age-axis.module.sass.cjs.map +1 -0
- package/dist/age-axis.module.sass.js +18 -0
- package/dist/age-axis.module.sass.js.map +1 -0
- package/dist/age-model-overlay.cjs +48 -0
- package/dist/age-model-overlay.cjs.map +1 -0
- package/dist/age-model-overlay.d.ts +24 -0
- package/dist/age-model-overlay.js +48 -0
- package/dist/age-model-overlay.js.map +1 -0
- package/dist/age-model-overlay.module.sass.cjs +8 -0
- package/dist/age-model-overlay.module.sass.cjs.map +1 -0
- package/dist/age-model-overlay.module.sass.js +8 -0
- package/dist/age-model-overlay.module.sass.js.map +1 -0
- package/dist/column-views.css +685 -0
- package/dist/column.cjs +247 -0
- package/dist/column.cjs.map +1 -0
- package/dist/column.d.ts +44 -0
- package/dist/column.js +247 -0
- package/dist/column.js.map +1 -0
- package/dist/column.module.sass.cjs +33 -0
- package/dist/column.module.sass.cjs.map +1 -0
- package/dist/column.module.sass.js +33 -0
- package/dist/column.module.sass.js.map +1 -0
- package/dist/correlation-chart/hash-string.cjs +46 -0
- package/dist/correlation-chart/hash-string.cjs.map +1 -0
- package/dist/correlation-chart/hash-string.d.ts +3 -0
- package/dist/correlation-chart/hash-string.js +46 -0
- package/dist/correlation-chart/hash-string.js.map +1 -0
- package/dist/correlation-chart/index.d.ts +2 -0
- package/dist/correlation-chart/main.cjs +202 -0
- package/dist/correlation-chart/main.cjs.map +1 -0
- package/dist/correlation-chart/main.d.ts +15 -0
- package/dist/correlation-chart/main.js +202 -0
- package/dist/correlation-chart/main.js.map +1 -0
- package/dist/correlation-chart/main.module.sass.cjs +28 -0
- package/dist/correlation-chart/main.module.sass.cjs.map +1 -0
- package/dist/correlation-chart/main.module.sass.js +28 -0
- package/dist/correlation-chart/main.module.sass.js.map +1 -0
- package/dist/correlation-chart/prepare-data.cjs +62 -0
- package/dist/correlation-chart/prepare-data.cjs.map +1 -0
- package/dist/correlation-chart/prepare-data.d.ts +52 -0
- package/dist/correlation-chart/prepare-data.js +62 -0
- package/dist/correlation-chart/prepare-data.js.map +1 -0
- package/dist/correlation-chart/stories/utils.d.ts +6 -0
- package/dist/correlation-chart/unconformity-line.d.ts +3 -0
- package/dist/data-provider/base.cjs +349 -0
- package/dist/data-provider/base.cjs.map +1 -0
- package/dist/data-provider/base.d.ts +65 -0
- package/dist/data-provider/base.js +349 -0
- package/dist/data-provider/base.js.map +1 -0
- package/dist/data-provider/column-nav.cjs +36 -0
- package/dist/data-provider/column-nav.cjs.map +1 -0
- package/dist/data-provider/column-nav.d.ts +13 -0
- package/dist/data-provider/column-nav.js +36 -0
- package/dist/data-provider/column-nav.js.map +1 -0
- package/dist/data-provider/core.cjs +56 -0
- package/dist/data-provider/core.cjs.map +1 -0
- package/dist/data-provider/core.d.ts +31 -0
- package/dist/data-provider/core.js +56 -0
- package/dist/{esm/column-views.67804ce5.js.map → data-provider/core.js.map} +1 -1
- package/dist/data-provider/fetch.cjs +210 -0
- package/dist/data-provider/fetch.cjs.map +1 -0
- package/dist/data-provider/fetch.d.ts +27 -0
- package/dist/data-provider/fetch.js +210 -0
- package/dist/data-provider/fetch.js.map +1 -0
- package/dist/data-provider/index.d.ts +5 -0
- package/dist/data-provider/store.cjs +107 -0
- package/dist/data-provider/store.cjs.map +1 -0
- package/dist/data-provider/store.d.ts +34 -0
- package/dist/data-provider/store.js +107 -0
- package/dist/data-provider/store.js.map +1 -0
- package/dist/data-provider/unit-selection.cjs +225 -0
- package/dist/data-provider/unit-selection.cjs.map +1 -0
- package/dist/data-provider/unit-selection.d.ts +49 -0
- package/dist/data-provider/unit-selection.js +225 -0
- package/dist/data-provider/unit-selection.js.map +1 -0
- package/dist/facets/carbon-isotopes/data-area.cjs +64 -0
- package/dist/facets/carbon-isotopes/data-area.cjs.map +1 -0
- package/dist/facets/carbon-isotopes/data-area.d.ts +13 -0
- package/dist/facets/carbon-isotopes/data-area.js +64 -0
- package/dist/facets/carbon-isotopes/data-area.js.map +1 -0
- package/dist/facets/carbon-isotopes/data-provider.cjs +20 -0
- package/dist/facets/carbon-isotopes/data-provider.cjs.map +1 -0
- package/dist/facets/carbon-isotopes/data-provider.d.ts +4 -0
- package/dist/facets/carbon-isotopes/data-provider.js +20 -0
- package/dist/facets/carbon-isotopes/data-provider.js.map +1 -0
- package/dist/facets/carbon-isotopes/index.d.ts +2 -0
- package/dist/facets/carbon-isotopes/isotopes-column.cjs +174 -0
- package/dist/facets/carbon-isotopes/isotopes-column.cjs.map +1 -0
- package/dist/facets/carbon-isotopes/isotopes-column.d.ts +19 -0
- package/dist/facets/carbon-isotopes/isotopes-column.js +174 -0
- package/dist/facets/carbon-isotopes/isotopes-column.js.map +1 -0
- package/dist/facets/carbon-isotopes/isotopes-column.module.sass.cjs +15 -0
- package/dist/facets/carbon-isotopes/isotopes-column.module.sass.cjs.map +1 -0
- package/dist/facets/carbon-isotopes/isotopes-column.module.sass.js +15 -0
- package/dist/facets/carbon-isotopes/isotopes-column.module.sass.js.map +1 -0
- package/dist/facets/detrital-zircon/index.cjs +108 -0
- package/dist/facets/detrital-zircon/index.cjs.map +1 -0
- package/dist/facets/detrital-zircon/index.d.ts +24 -0
- package/dist/facets/detrital-zircon/index.js +108 -0
- package/dist/facets/detrital-zircon/index.js.map +1 -0
- package/dist/facets/detrital-zircon/index.module.sass.cjs +11 -0
- package/dist/facets/detrital-zircon/index.module.sass.cjs.map +1 -0
- package/dist/facets/detrital-zircon/index.module.sass.js +11 -0
- package/dist/facets/detrital-zircon/index.module.sass.js.map +1 -0
- package/dist/facets/detrital-zircon/provider.cjs +22 -0
- package/dist/facets/detrital-zircon/provider.cjs.map +1 -0
- package/dist/facets/detrital-zircon/provider.d.ts +31 -0
- package/dist/facets/detrital-zircon/provider.js +22 -0
- package/dist/facets/detrital-zircon/provider.js.map +1 -0
- package/dist/facets/fossils/index.cjs +120 -0
- package/dist/facets/fossils/index.cjs.map +1 -0
- package/dist/facets/fossils/index.d.ts +7 -0
- package/dist/facets/fossils/index.js +120 -0
- package/dist/facets/fossils/index.js.map +1 -0
- package/dist/facets/fossils/provider.cjs +99 -0
- package/dist/facets/fossils/provider.cjs.map +1 -0
- package/dist/facets/fossils/provider.d.ts +29 -0
- package/dist/facets/fossils/provider.js +99 -0
- package/dist/facets/fossils/provider.js.map +1 -0
- package/dist/facets/fossils/taxon-ranges.cjs +145 -0
- package/dist/facets/fossils/taxon-ranges.cjs.map +1 -0
- package/dist/facets/fossils/taxon-ranges.d.ts +3 -0
- package/dist/facets/fossils/taxon-ranges.js +145 -0
- package/dist/facets/fossils/taxon-ranges.js.map +1 -0
- package/dist/facets/fossils/taxon-ranges.module.sass.cjs +13 -0
- package/dist/facets/fossils/taxon-ranges.module.sass.cjs.map +1 -0
- package/dist/facets/fossils/taxon-ranges.module.sass.js +13 -0
- package/dist/facets/fossils/taxon-ranges.module.sass.js.map +1 -0
- package/dist/facets/index.d.ts +4 -0
- package/dist/facets/measurements/base.cjs +128 -0
- package/dist/facets/measurements/base.cjs.map +1 -0
- package/dist/facets/measurements/base.d.ts +46 -0
- package/dist/facets/measurements/base.js +128 -0
- package/dist/facets/measurements/base.js.map +1 -0
- package/dist/facets/measurements/base.module.sass.cjs +8 -0
- package/dist/facets/measurements/base.module.sass.cjs.map +1 -0
- package/dist/facets/measurements/base.module.sass.js +8 -0
- package/dist/facets/measurements/base.module.sass.js.map +1 -0
- package/dist/facets/measurements/index.d.ts +2 -0
- package/dist/facets/measurements/sgp.cjs +62 -0
- package/dist/facets/measurements/sgp.cjs.map +1 -0
- package/dist/facets/measurements/sgp.d.ts +3 -0
- package/dist/facets/measurements/sgp.js +62 -0
- package/dist/facets/measurements/sgp.js.map +1 -0
- package/dist/index.cjs +164 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +164 -0
- package/dist/index.js.map +1 -0
- package/dist/maps/_shared/index.d.ts +2 -0
- package/dist/maps/_shared/inset-map.cjs +69 -0
- package/dist/maps/_shared/inset-map.cjs.map +1 -0
- package/dist/maps/_shared/inset-map.d.ts +16 -0
- package/dist/maps/_shared/inset-map.js +69 -0
- package/dist/maps/_shared/inset-map.js.map +1 -0
- package/dist/maps/_shared/styles.cjs +68 -0
- package/dist/maps/_shared/styles.cjs.map +1 -0
- package/dist/maps/_shared/styles.d.ts +2 -0
- package/dist/maps/_shared/styles.js +68 -0
- package/dist/maps/_shared/styles.js.map +1 -0
- package/dist/maps/column-correlation/core.cjs +185 -0
- package/dist/maps/column-correlation/core.cjs.map +1 -0
- package/dist/maps/column-correlation/core.d.ts +9 -0
- package/dist/maps/column-correlation/core.js +185 -0
- package/dist/maps/column-correlation/core.js.map +1 -0
- package/dist/maps/column-correlation/index.d.ts +2 -0
- package/dist/maps/column-correlation/state.cjs +129 -0
- package/dist/maps/column-correlation/state.cjs.map +1 -0
- package/dist/maps/column-correlation/state.d.ts +31 -0
- package/dist/maps/column-correlation/state.js +129 -0
- package/dist/maps/column-correlation/state.js.map +1 -0
- package/dist/maps/column-navigation/index.d.ts +2 -0
- package/dist/maps/column-navigation/mapbox/index.cjs +175 -0
- package/dist/maps/column-navigation/mapbox/index.cjs.map +1 -0
- package/dist/maps/column-navigation/mapbox/index.d.ts +17 -0
- package/dist/maps/column-navigation/mapbox/index.js +175 -0
- package/dist/maps/column-navigation/mapbox/index.js.map +1 -0
- package/dist/maps/column-navigation/mapbox/keyboard-navigation.cjs +99 -0
- package/dist/maps/column-navigation/mapbox/keyboard-navigation.cjs.map +1 -0
- package/dist/maps/column-navigation/mapbox/keyboard-navigation.d.ts +31 -0
- package/dist/maps/column-navigation/mapbox/keyboard-navigation.js +99 -0
- package/dist/maps/column-navigation/mapbox/keyboard-navigation.js.map +1 -0
- package/dist/maps/column-navigation/mapbox/state.cjs +71 -0
- package/dist/maps/column-navigation/mapbox/state.cjs.map +1 -0
- package/dist/maps/column-navigation/mapbox/state.d.ts +23 -0
- package/dist/maps/column-navigation/mapbox/state.js +71 -0
- package/dist/maps/column-navigation/mapbox/state.js.map +1 -0
- package/dist/maps/column-navigation/svg/animated.d.ts +1 -0
- package/dist/maps/column-navigation/svg/index.cjs +92 -0
- package/dist/maps/column-navigation/svg/index.cjs.map +1 -0
- package/dist/maps/column-navigation/svg/index.d.ts +9 -0
- package/dist/maps/column-navigation/svg/index.js +93 -0
- package/dist/maps/column-navigation/svg/index.js.map +1 -0
- package/dist/maps/column-navigation/svg/layers.cjs +175 -0
- package/dist/maps/column-navigation/svg/layers.cjs.map +1 -0
- package/dist/maps/column-navigation/svg/layers.d.ts +54 -0
- package/dist/maps/column-navigation/svg/layers.js +175 -0
- package/dist/maps/column-navigation/svg/layers.js.map +1 -0
- package/dist/maps/column-navigation/utils/keyboard-navigation.cjs +50 -0
- package/dist/maps/column-navigation/utils/keyboard-navigation.cjs.map +1 -0
- package/dist/maps/column-navigation/utils/keyboard-navigation.d.ts +10 -0
- package/dist/maps/column-navigation/utils/keyboard-navigation.js +50 -0
- package/dist/maps/column-navigation/utils/keyboard-navigation.js.map +1 -0
- package/dist/maps/index.d.ts +3 -0
- package/dist/notes.cjs +41 -0
- package/dist/notes.cjs.map +1 -0
- package/dist/notes.d.ts +12 -0
- package/dist/notes.js +41 -0
- package/dist/notes.js.map +1 -0
- package/dist/prepare-units/composite-scale.cjs +284 -0
- package/dist/prepare-units/composite-scale.cjs.map +1 -0
- package/dist/prepare-units/composite-scale.d.ts +19 -0
- package/dist/prepare-units/composite-scale.js +284 -0
- package/dist/prepare-units/composite-scale.js.map +1 -0
- package/dist/prepare-units/dynamic-scales.cjs +190 -0
- package/dist/prepare-units/dynamic-scales.cjs.map +1 -0
- package/dist/prepare-units/dynamic-scales.d.ts +13 -0
- package/dist/prepare-units/dynamic-scales.js +190 -0
- package/dist/prepare-units/dynamic-scales.js.map +1 -0
- package/dist/prepare-units/helpers.cjs +198 -0
- package/dist/prepare-units/helpers.cjs.map +1 -0
- package/dist/prepare-units/helpers.d.ts +10 -0
- package/dist/prepare-units/helpers.js +198 -0
- package/dist/prepare-units/helpers.js.map +1 -0
- package/dist/prepare-units/index.cjs +130 -0
- package/dist/prepare-units/index.cjs.map +1 -0
- package/dist/prepare-units/index.d.ts +10 -0
- package/dist/prepare-units/index.js +131 -0
- package/dist/prepare-units/index.js.map +1 -0
- package/dist/prepare-units/types.cjs +16 -0
- package/dist/prepare-units/types.cjs.map +1 -0
- package/dist/prepare-units/types.d.ts +99 -0
- package/dist/prepare-units/types.js +16 -0
- package/dist/prepare-units/types.js.map +1 -0
- package/dist/prepare-units/utils.cjs +99 -0
- package/dist/prepare-units/utils.cjs.map +1 -0
- package/dist/prepare-units/utils.d.ts +39 -0
- package/dist/prepare-units/utils.js +99 -0
- package/dist/prepare-units/utils.js.map +1 -0
- package/dist/section.cjs +269 -0
- package/dist/section.cjs.map +1 -0
- package/dist/section.d.ts +45 -0
- package/dist/section.js +269 -0
- package/dist/section.js.map +1 -0
- package/dist/unit-details/index.d.ts +3 -0
- package/dist/unit-details/modal-panel.cjs +57 -0
- package/dist/unit-details/modal-panel.cjs.map +1 -0
- package/dist/unit-details/modal-panel.d.ts +1 -0
- package/dist/unit-details/modal-panel.js +57 -0
- package/dist/unit-details/modal-panel.js.map +1 -0
- package/dist/unit-details/panel.cjs +627 -0
- package/dist/unit-details/panel.cjs.map +1 -0
- package/dist/unit-details/panel.d.ts +87 -0
- package/dist/unit-details/panel.js +627 -0
- package/dist/unit-details/panel.js.map +1 -0
- package/dist/unit-details/panel.module.sass.cjs +42 -0
- package/dist/unit-details/panel.module.sass.cjs.map +1 -0
- package/dist/unit-details/panel.module.sass.js +42 -0
- package/dist/unit-details/panel.module.sass.js.map +1 -0
- package/dist/unit-details/popover.cjs +81 -0
- package/dist/unit-details/popover.cjs.map +1 -0
- package/dist/unit-details/popover.d.ts +9 -0
- package/dist/unit-details/popover.js +81 -0
- package/dist/unit-details/popover.js.map +1 -0
- package/dist/unit-details/popover.module.sass.cjs +10 -0
- package/dist/unit-details/popover.module.sass.cjs.map +1 -0
- package/dist/unit-details/popover.module.sass.js +10 -0
- package/dist/unit-details/popover.module.sass.js.map +1 -0
- package/dist/units/boxes.cjs +187 -0
- package/dist/units/boxes.cjs.map +1 -0
- package/dist/units/boxes.d.ts +54 -0
- package/dist/units/boxes.js +187 -0
- package/dist/units/boxes.js.map +1 -0
- package/dist/units/boxes.module.sass.cjs +11 -0
- package/dist/units/boxes.module.sass.cjs.map +1 -0
- package/dist/units/boxes.module.sass.js +11 -0
- package/dist/units/boxes.module.sass.js.map +1 -0
- package/dist/units/colors.cjs +52 -0
- package/dist/units/colors.cjs.map +1 -0
- package/dist/units/colors.d.ts +7 -0
- package/dist/units/colors.js +52 -0
- package/dist/units/colors.js.map +1 -0
- package/dist/units/composite.cjs +157 -0
- package/dist/units/composite.cjs.map +1 -0
- package/dist/units/composite.d.ts +39 -0
- package/dist/units/composite.js +157 -0
- package/dist/units/composite.js.map +1 -0
- package/dist/units/composite.module.sass.cjs +7 -0
- package/dist/units/composite.module.sass.cjs.map +1 -0
- package/dist/units/composite.module.sass.js +7 -0
- package/dist/units/composite.module.sass.js.map +1 -0
- package/dist/units/index.cjs +117 -0
- package/dist/units/index.cjs.map +1 -0
- package/dist/units/index.d.ts +40 -0
- package/dist/units/index.js +118 -0
- package/dist/units/index.js.map +1 -0
- package/dist/units/names.cjs +72 -0
- package/dist/units/names.cjs.map +1 -0
- package/dist/units/names.d.ts +33 -0
- package/dist/units/names.js +72 -0
- package/dist/units/names.js.map +1 -0
- package/dist/units/resolvers.cjs +114 -0
- package/dist/units/resolvers.cjs.map +1 -0
- package/dist/units/resolvers.d.ts +3 -0
- package/dist/units/resolvers.js +114 -0
- package/dist/units/resolvers.js.map +1 -0
- package/dist/units/types.d.ts +16 -0
- package/package.json +52 -55
- package/src/unit-details/popover.module.sass +3 -3
- package/dist/esm/column-views.006d5180.js +0 -97
- package/dist/esm/column-views.006d5180.js.map +0 -1
- package/dist/esm/column-views.052498a6.js +0 -93
- package/dist/esm/column-views.052498a6.js.map +0 -1
- package/dist/esm/column-views.079119f4.js +0 -17
- package/dist/esm/column-views.079119f4.js.map +0 -1
- package/dist/esm/column-views.0abf7e10.js +0 -67
- package/dist/esm/column-views.0abf7e10.js.map +0 -1
- package/dist/esm/column-views.0b3c0d18.js +0 -322
- package/dist/esm/column-views.0b3c0d18.js.map +0 -1
- package/dist/esm/column-views.0ed9da35.js +0 -141
- package/dist/esm/column-views.0ed9da35.js.map +0 -1
- package/dist/esm/column-views.0faf79a9.js +0 -142
- package/dist/esm/column-views.0faf79a9.js.map +0 -1
- package/dist/esm/column-views.16cc7a58.css +0 -37
- package/dist/esm/column-views.16cc7a58.css.map +0 -1
- package/dist/esm/column-views.17a70358.js +0 -16
- package/dist/esm/column-views.17a70358.js.map +0 -1
- package/dist/esm/column-views.19539293.js +0 -86
- package/dist/esm/column-views.19539293.js.map +0 -1
- package/dist/esm/column-views.1af3ec1f.js +0 -139
- package/dist/esm/column-views.1af3ec1f.js.map +0 -1
- package/dist/esm/column-views.1cd55918.js +0 -206
- package/dist/esm/column-views.1cd55918.js.map +0 -1
- package/dist/esm/column-views.22ec902b.js +0 -34
- package/dist/esm/column-views.22ec902b.js.map +0 -1
- package/dist/esm/column-views.2a0010a3.js +0 -15
- package/dist/esm/column-views.2a0010a3.js.map +0 -1
- package/dist/esm/column-views.2c45a7b5.js +0 -25
- package/dist/esm/column-views.2c45a7b5.js.map +0 -1
- package/dist/esm/column-views.321af3ae.css +0 -59
- package/dist/esm/column-views.321af3ae.css.map +0 -1
- package/dist/esm/column-views.334c3947.js +0 -75
- package/dist/esm/column-views.334c3947.js.map +0 -1
- package/dist/esm/column-views.33796541.js +0 -88
- package/dist/esm/column-views.33796541.js.map +0 -1
- package/dist/esm/column-views.337b40a2.js +0 -199
- package/dist/esm/column-views.337b40a2.js.map +0 -1
- package/dist/esm/column-views.338a7a83.css +0 -134
- package/dist/esm/column-views.338a7a83.css.map +0 -1
- package/dist/esm/column-views.33d35a44.js +0 -118
- package/dist/esm/column-views.33d35a44.js.map +0 -1
- package/dist/esm/column-views.3465c8ad.js +0 -16
- package/dist/esm/column-views.3465c8ad.js.map +0 -1
- package/dist/esm/column-views.362aae9a.js +0 -113
- package/dist/esm/column-views.362aae9a.js.map +0 -1
- package/dist/esm/column-views.3b972a9b.css +0 -4
- package/dist/esm/column-views.3b972a9b.css.map +0 -1
- package/dist/esm/column-views.3de4dc43.js +0 -66
- package/dist/esm/column-views.3de4dc43.js.map +0 -1
- package/dist/esm/column-views.40cd59b5.js +0 -13
- package/dist/esm/column-views.40cd59b5.js.map +0 -1
- package/dist/esm/column-views.4252a555.js +0 -248
- package/dist/esm/column-views.4252a555.js.map +0 -1
- package/dist/esm/column-views.45c70ba4.js +0 -38
- package/dist/esm/column-views.45c70ba4.js.map +0 -1
- package/dist/esm/column-views.47b7d9ca.js +0 -206
- package/dist/esm/column-views.47b7d9ca.js.map +0 -1
- package/dist/esm/column-views.47ca059d.js +0 -225
- package/dist/esm/column-views.47ca059d.js.map +0 -1
- package/dist/esm/column-views.4d374a35.js +0 -19
- package/dist/esm/column-views.4d374a35.js.map +0 -1
- package/dist/esm/column-views.54c1f382.css +0 -23
- package/dist/esm/column-views.54c1f382.css.map +0 -1
- package/dist/esm/column-views.562db43a.css +0 -148
- package/dist/esm/column-views.562db43a.css.map +0 -1
- package/dist/esm/column-views.5e1c216f.js +0 -180
- package/dist/esm/column-views.5e1c216f.js.map +0 -1
- package/dist/esm/column-views.60e97132.js +0 -20
- package/dist/esm/column-views.60e97132.js.map +0 -1
- package/dist/esm/column-views.636d6553.js +0 -343
- package/dist/esm/column-views.636d6553.js.map +0 -1
- package/dist/esm/column-views.64f6ddd3.js +0 -9
- package/dist/esm/column-views.64f6ddd3.js.map +0 -1
- package/dist/esm/column-views.6519a353.js +0 -9
- package/dist/esm/column-views.6519a353.js.map +0 -1
- package/dist/esm/column-views.67804ce5.js +0 -68
- package/dist/esm/column-views.6992ca88.js +0 -25
- package/dist/esm/column-views.6992ca88.js.map +0 -1
- package/dist/esm/column-views.6a954628.js +0 -70
- package/dist/esm/column-views.6a954628.js.map +0 -1
- package/dist/esm/column-views.6c670c13.css +0 -26
- package/dist/esm/column-views.6c670c13.css.map +0 -1
- package/dist/esm/column-views.6cff6659.js +0 -11
- package/dist/esm/column-views.6cff6659.js.map +0 -1
- package/dist/esm/column-views.6d6b73b4.js +0 -55
- package/dist/esm/column-views.6d6b73b4.js.map +0 -1
- package/dist/esm/column-views.6f9511d1.css +0 -25
- package/dist/esm/column-views.6f9511d1.css.map +0 -1
- package/dist/esm/column-views.6fff7602.js +0 -94
- package/dist/esm/column-views.6fff7602.js.map +0 -1
- package/dist/esm/column-views.70387120.js +0 -9
- package/dist/esm/column-views.70387120.js.map +0 -1
- package/dist/esm/column-views.708140ab.css +0 -36
- package/dist/esm/column-views.708140ab.css.map +0 -1
- package/dist/esm/column-views.74837922.js +0 -112
- package/dist/esm/column-views.74837922.js.map +0 -1
- package/dist/esm/column-views.76fb9948.js +0 -169
- package/dist/esm/column-views.76fb9948.js.map +0 -1
- package/dist/esm/column-views.7bfb4318.js +0 -161
- package/dist/esm/column-views.7bfb4318.js.map +0 -1
- package/dist/esm/column-views.7dc53f1b.js +0 -168
- package/dist/esm/column-views.7dc53f1b.js.map +0 -1
- package/dist/esm/column-views.85df21ec.js +0 -567
- package/dist/esm/column-views.85df21ec.js.map +0 -1
- package/dist/esm/column-views.87c589b7.js +0 -72
- package/dist/esm/column-views.87c589b7.js.map +0 -1
- package/dist/esm/column-views.8da2b857.js +0 -81
- package/dist/esm/column-views.8da2b857.js.map +0 -1
- package/dist/esm/column-views.8fb37de7.js +0 -9
- package/dist/esm/column-views.8fb37de7.js.map +0 -1
- package/dist/esm/column-views.9512c5d5.js +0 -240
- package/dist/esm/column-views.9512c5d5.js.map +0 -1
- package/dist/esm/column-views.9905b91c.js +0 -11
- package/dist/esm/column-views.9905b91c.js.map +0 -1
- package/dist/esm/column-views.9b77388d.js +0 -41
- package/dist/esm/column-views.9b77388d.js.map +0 -1
- package/dist/esm/column-views.a4f394fe.js +0 -127
- package/dist/esm/column-views.a4f394fe.js.map +0 -1
- package/dist/esm/column-views.a7c5ae16.js +0 -25
- package/dist/esm/column-views.a7c5ae16.js.map +0 -1
- package/dist/esm/column-views.aa9ede4d.js +0 -206
- package/dist/esm/column-views.aa9ede4d.js.map +0 -1
- package/dist/esm/column-views.b7cf0da2.js +0 -60
- package/dist/esm/column-views.b7cf0da2.js.map +0 -1
- package/dist/esm/column-views.beb54e95.js +0 -39
- package/dist/esm/column-views.beb54e95.js.map +0 -1
- package/dist/esm/column-views.c47dba5f.js +0 -9
- package/dist/esm/column-views.c47dba5f.js.map +0 -1
- package/dist/esm/column-views.c750a6df.js +0 -9
- package/dist/esm/column-views.c750a6df.js.map +0 -1
- package/dist/esm/column-views.cb1cc9f2.js +0 -134
- package/dist/esm/column-views.cb1cc9f2.js.map +0 -1
- package/dist/esm/column-views.cb6fc808.css +0 -54
- package/dist/esm/column-views.cb6fc808.css.map +0 -1
- package/dist/esm/column-views.cc733361.js +0 -55
- package/dist/esm/column-views.cc733361.js.map +0 -1
- package/dist/esm/column-views.ce000969.js +0 -187
- package/dist/esm/column-views.ce000969.js.map +0 -1
- package/dist/esm/column-views.d5e788e8.js +0 -31
- package/dist/esm/column-views.d5e788e8.js.map +0 -1
- package/dist/esm/column-views.d7740949.js +0 -152
- package/dist/esm/column-views.d7740949.js.map +0 -1
- package/dist/esm/column-views.d7e6bf67.js +0 -70
- package/dist/esm/column-views.d7e6bf67.js.map +0 -1
- package/dist/esm/column-views.dac0a3bb.js +0 -149
- package/dist/esm/column-views.dac0a3bb.js.map +0 -1
- package/dist/esm/column-views.dc42f5d0.js +0 -48
- package/dist/esm/column-views.dc42f5d0.js.map +0 -1
- package/dist/esm/column-views.e13a0a76.js +0 -138
- package/dist/esm/column-views.e13a0a76.js.map +0 -1
- package/dist/esm/column-views.e40b8bfb.css +0 -14
- package/dist/esm/column-views.e40b8bfb.css.map +0 -1
- package/dist/esm/column-views.e93478c3.css +0 -194
- package/dist/esm/column-views.e93478c3.css.map +0 -1
- package/dist/esm/column-views.ea08f667.js +0 -218
- package/dist/esm/column-views.ea08f667.js.map +0 -1
- package/dist/esm/column-views.ebb5f280.js +0 -13
- package/dist/esm/column-views.ebb5f280.js.map +0 -1
- package/dist/esm/column-views.edf77621.js +0 -22
- package/dist/esm/column-views.edf77621.js.map +0 -1
- package/dist/esm/column-views.f9dab157.js +0 -3
- package/dist/esm/column-views.f9dab157.js.map +0 -1
- package/dist/esm/column-views.fcf25ec6.js +0 -76
- package/dist/esm/column-views.fcf25ec6.js.map +0 -1
- package/dist/esm/column-views.fe42d2fc.js +0 -134
- package/dist/esm/column-views.fe42d2fc.js.map +0 -1
- package/dist/esm/index.d.ts +0 -1008
- package/dist/esm/index.d.ts.map +0 -1
- package/dist/esm/index.js +0 -27
- package/dist/esm/index.js.map +0 -1
- package/dist/node/column-views.012fa10c.js +0 -2
- package/dist/node/column-views.012fa10c.js.map +0 -1
- package/dist/node/column-views.048fdcaf.js +0 -2
- package/dist/node/column-views.048fdcaf.js.map +0 -1
- package/dist/node/column-views.04a72b35.js +0 -2
- package/dist/node/column-views.04a72b35.js.map +0 -1
- package/dist/node/column-views.0840b115.css +0 -2
- package/dist/node/column-views.0840b115.css.map +0 -1
- package/dist/node/column-views.0af5912d.js +0 -2
- package/dist/node/column-views.0af5912d.js.map +0 -1
- package/dist/node/column-views.0bd15ee4.js +0 -2
- package/dist/node/column-views.0bd15ee4.js.map +0 -1
- package/dist/node/column-views.0d254fd3.js +0 -2
- package/dist/node/column-views.0d254fd3.js.map +0 -1
- package/dist/node/column-views.109cb0c8.js +0 -2
- package/dist/node/column-views.109cb0c8.js.map +0 -1
- package/dist/node/column-views.1261be59.js +0 -2
- package/dist/node/column-views.1261be59.js.map +0 -1
- package/dist/node/column-views.133855e6.js +0 -2
- package/dist/node/column-views.133855e6.js.map +0 -1
- package/dist/node/column-views.15b5cecc.js +0 -2
- package/dist/node/column-views.15b5cecc.js.map +0 -1
- package/dist/node/column-views.183745c0.js +0 -2
- package/dist/node/column-views.183745c0.js.map +0 -1
- package/dist/node/column-views.2e2158f5.js +0 -2
- package/dist/node/column-views.2e2158f5.js.map +0 -1
- package/dist/node/column-views.306acd3f.js +0 -2
- package/dist/node/column-views.306acd3f.js.map +0 -1
- package/dist/node/column-views.31153f29.js +0 -2
- package/dist/node/column-views.31153f29.js.map +0 -1
- package/dist/node/column-views.31da008b.js +0 -2
- package/dist/node/column-views.31da008b.js.map +0 -1
- package/dist/node/column-views.3a079e34.css +0 -2
- package/dist/node/column-views.3a079e34.css.map +0 -1
- package/dist/node/column-views.40e758b3.js +0 -2
- package/dist/node/column-views.40e758b3.js.map +0 -1
- package/dist/node/column-views.41876859.js +0 -2
- package/dist/node/column-views.41876859.js.map +0 -1
- package/dist/node/column-views.4a28d695.js +0 -2
- package/dist/node/column-views.4a28d695.js.map +0 -1
- package/dist/node/column-views.4ec769a6.js +0 -2
- package/dist/node/column-views.4ec769a6.js.map +0 -1
- package/dist/node/column-views.50a992d3.css +0 -2
- package/dist/node/column-views.50a992d3.css.map +0 -1
- package/dist/node/column-views.51fbed89.js +0 -2
- package/dist/node/column-views.51fbed89.js.map +0 -1
- package/dist/node/column-views.5950c8eb.js +0 -2
- package/dist/node/column-views.5950c8eb.js.map +0 -1
- package/dist/node/column-views.5987bc26.js +0 -2
- package/dist/node/column-views.5987bc26.js.map +0 -1
- package/dist/node/column-views.5a9331a9.js +0 -2
- package/dist/node/column-views.5a9331a9.js.map +0 -1
- package/dist/node/column-views.5bb858c9.js +0 -2
- package/dist/node/column-views.5bb858c9.js.map +0 -1
- package/dist/node/column-views.5c1b0eeb.css +0 -2
- package/dist/node/column-views.5c1b0eeb.css.map +0 -1
- package/dist/node/column-views.5cbada24.js +0 -2
- package/dist/node/column-views.5cbada24.js.map +0 -1
- package/dist/node/column-views.5fcd2be6.js +0 -2
- package/dist/node/column-views.5fcd2be6.js.map +0 -1
- package/dist/node/column-views.672b683c.js +0 -2
- package/dist/node/column-views.672b683c.js.map +0 -1
- package/dist/node/column-views.6a0a35e7.js +0 -2
- package/dist/node/column-views.6a0a35e7.js.map +0 -1
- package/dist/node/column-views.6a4c2100.css +0 -2
- package/dist/node/column-views.6a4c2100.css.map +0 -1
- package/dist/node/column-views.6a9da051.js +0 -2
- package/dist/node/column-views.6a9da051.js.map +0 -1
- package/dist/node/column-views.6bba8c57.js +0 -2
- package/dist/node/column-views.6bba8c57.js.map +0 -1
- package/dist/node/column-views.75ba0464.css +0 -2
- package/dist/node/column-views.75ba0464.css.map +0 -1
- package/dist/node/column-views.78b2d234.js +0 -2
- package/dist/node/column-views.78b2d234.js.map +0 -1
- package/dist/node/column-views.7b6e7d82.js +0 -2
- package/dist/node/column-views.7b6e7d82.js.map +0 -1
- package/dist/node/column-views.7b9bd06e.css +0 -2
- package/dist/node/column-views.7b9bd06e.css.map +0 -1
- package/dist/node/column-views.7d45bbeb.js +0 -2
- package/dist/node/column-views.7d45bbeb.js.map +0 -1
- package/dist/node/column-views.7f9c7448.js +0 -2
- package/dist/node/column-views.7f9c7448.js.map +0 -1
- package/dist/node/column-views.82cf7c0d.js +0 -2
- package/dist/node/column-views.82cf7c0d.js.map +0 -1
- package/dist/node/column-views.869c7199.js +0 -2
- package/dist/node/column-views.869c7199.js.map +0 -1
- package/dist/node/column-views.8bee789c.js +0 -2
- package/dist/node/column-views.8bee789c.js.map +0 -1
- package/dist/node/column-views.90c36c0b.js +0 -2
- package/dist/node/column-views.90c36c0b.js.map +0 -1
- package/dist/node/column-views.951e3e9a.js +0 -2
- package/dist/node/column-views.951e3e9a.js.map +0 -1
- package/dist/node/column-views.95411f1b.js +0 -2
- package/dist/node/column-views.95411f1b.js.map +0 -1
- package/dist/node/column-views.9cb13e51.css +0 -2
- package/dist/node/column-views.9cb13e51.css.map +0 -1
- package/dist/node/column-views.a0969fc8.js +0 -2
- package/dist/node/column-views.a0969fc8.js.map +0 -1
- package/dist/node/column-views.a2476e39.js +0 -2
- package/dist/node/column-views.a2476e39.js.map +0 -1
- package/dist/node/column-views.a8f5ee28.js +0 -2
- package/dist/node/column-views.a8f5ee28.js.map +0 -1
- package/dist/node/column-views.ad60c02f.js +0 -2
- package/dist/node/column-views.ad60c02f.js.map +0 -1
- package/dist/node/column-views.add5e42b.js +0 -2
- package/dist/node/column-views.add5e42b.js.map +0 -1
- package/dist/node/column-views.b169b4b5.css +0 -2
- package/dist/node/column-views.b169b4b5.css.map +0 -1
- package/dist/node/column-views.b2e5f823.js +0 -2
- package/dist/node/column-views.b2e5f823.js.map +0 -1
- package/dist/node/column-views.b57e5e6e.js +0 -2
- package/dist/node/column-views.b57e5e6e.js.map +0 -1
- package/dist/node/column-views.b762c9a8.js +0 -2
- package/dist/node/column-views.b762c9a8.js.map +0 -1
- package/dist/node/column-views.ba9108fe.js +0 -2
- package/dist/node/column-views.ba9108fe.js.map +0 -1
- package/dist/node/column-views.c16a19fb.js +0 -2
- package/dist/node/column-views.c16a19fb.js.map +0 -1
- package/dist/node/column-views.c3097d9a.js +0 -2
- package/dist/node/column-views.c3097d9a.js.map +0 -1
- package/dist/node/column-views.c4c15e2b.js +0 -2
- package/dist/node/column-views.c4c15e2b.js.map +0 -1
- package/dist/node/column-views.c651b684.js +0 -2
- package/dist/node/column-views.c651b684.js.map +0 -1
- package/dist/node/column-views.c968a185.css +0 -2
- package/dist/node/column-views.c968a185.css.map +0 -1
- package/dist/node/column-views.ccfb9afb.css +0 -2
- package/dist/node/column-views.ccfb9afb.css.map +0 -1
- package/dist/node/column-views.cdcce702.js +0 -2
- package/dist/node/column-views.cdcce702.js.map +0 -1
- package/dist/node/column-views.cf41a6d7.js +0 -2
- package/dist/node/column-views.cf41a6d7.js.map +0 -1
- package/dist/node/column-views.d22bf15c.js +0 -2
- package/dist/node/column-views.d22bf15c.js.map +0 -1
- package/dist/node/column-views.d737de1e.js +0 -2
- package/dist/node/column-views.d737de1e.js.map +0 -1
- package/dist/node/column-views.da902c44.js +0 -2
- package/dist/node/column-views.da902c44.js.map +0 -1
- package/dist/node/column-views.db3377d8.js +0 -2
- package/dist/node/column-views.db3377d8.js.map +0 -1
- package/dist/node/column-views.dbb4a46b.js +0 -2
- package/dist/node/column-views.dbb4a46b.js.map +0 -1
- package/dist/node/column-views.ddc6184e.css +0 -2
- package/dist/node/column-views.ddc6184e.css.map +0 -1
- package/dist/node/column-views.e0e20136.js +0 -2
- package/dist/node/column-views.e0e20136.js.map +0 -1
- package/dist/node/column-views.e2562224.js +0 -2
- package/dist/node/column-views.e2562224.js.map +0 -1
- package/dist/node/column-views.e6720522.js +0 -2
- package/dist/node/column-views.e6720522.js.map +0 -1
- package/dist/node/column-views.e7e26765.js +0 -2
- package/dist/node/column-views.e7e26765.js.map +0 -1
- package/dist/node/column-views.e93b3bdb.js +0 -2
- package/dist/node/column-views.e93b3bdb.js.map +0 -1
- package/dist/node/column-views.ebb44b7d.js +0 -2
- package/dist/node/column-views.ebb44b7d.js.map +0 -1
- package/dist/node/column-views.ec0087a2.js +0 -2
- package/dist/node/column-views.ec0087a2.js.map +0 -1
- package/dist/node/column-views.eea80478.js +0 -2
- package/dist/node/column-views.eea80478.js.map +0 -1
- package/dist/node/column-views.fb3ed7cc.js +0 -2
- package/dist/node/column-views.fb3ed7cc.js.map +0 -1
- package/dist/node/column-views.fc4c2c61.js +0 -2
- package/dist/node/column-views.fc4c2c61.js.map +0 -1
- package/dist/node/column-views.fcb243a2.js +0 -2
- package/dist/node/column-views.fcb243a2.js.map +0 -1
- package/dist/node/column-views.fea32686.js +0 -2
- package/dist/node/column-views.fea32686.js.map +0 -1
- package/dist/node/index.js +0 -2
- package/dist/node/index.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isotopes-column.cjs","sources":["../../../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":["hyper","styles","useMacrostratColumnData","useColumnLayout","useMacrostratUnits","useMeasurementData","useMemo","referenceMeasuresToColumn","IsotopesDataArea","IsotopeDataPoint","scaleLinear","SVG","ColumnLayoutProvider","AxisBottom"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
interface IsotopesDatasetProps {
|
|
2
|
+
color?: string;
|
|
3
|
+
parameter: string;
|
|
4
|
+
}
|
|
5
|
+
interface IsotopeColumnProps extends IsotopesDatasetProps {
|
|
6
|
+
width: number;
|
|
7
|
+
tickValues?: number[];
|
|
8
|
+
label: string;
|
|
9
|
+
domain?: [number, number];
|
|
10
|
+
transform?: string;
|
|
11
|
+
getHeight?: Function;
|
|
12
|
+
nTicks?: number;
|
|
13
|
+
showAxis?: boolean;
|
|
14
|
+
}
|
|
15
|
+
declare function IsotopesDataset(props: any): import('react').FunctionComponentElement<import('./data-area').DataAreaProps>;
|
|
16
|
+
declare function IsotopesColumn(props: IsotopeColumnProps & {
|
|
17
|
+
children?: React.ReactNode;
|
|
18
|
+
}): import('react').DOMElement<import('react').DOMAttributes<Element>, Element>;
|
|
19
|
+
export { IsotopesColumn, IsotopesDataset };
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { useMemo } from "react";
|
|
2
|
+
import h$1 from "@macrostrat/hyper";
|
|
3
|
+
import classNames from "classnames";
|
|
4
|
+
import { AxisBottom } from "@visx/axis";
|
|
5
|
+
import { useMeasurementData } from "./data-provider.js";
|
|
6
|
+
import { IsotopesDataArea, IsotopeDataPoint } from "./data-area.js";
|
|
7
|
+
import { referenceMeasuresToColumn } from "@macrostrat/stratigraphy-utils";
|
|
8
|
+
import { SVG, ColumnLayoutProvider, useColumnLayout } from "@macrostrat/column-components";
|
|
9
|
+
import styles from "./isotopes-column.module.sass.js";
|
|
10
|
+
import { scaleLinear } from "d3-scale";
|
|
11
|
+
import { useMacrostratColumnData, useMacrostratUnits } from "../../data-provider/store.js";
|
|
12
|
+
const h = h$1.styled(styles);
|
|
13
|
+
function ScaleLine(props) {
|
|
14
|
+
let { value, className, labelBottom, labelOffset, ...rest } = props;
|
|
15
|
+
const { sections } = useMacrostratColumnData();
|
|
16
|
+
const { xScale } = useColumnLayout();
|
|
17
|
+
const x = xScale(value);
|
|
18
|
+
const transform = `translate(${x})`;
|
|
19
|
+
className = classNames(className, { zero: value === 0 });
|
|
20
|
+
return h("g.tick", { transform, className, key: value }, [
|
|
21
|
+
h(
|
|
22
|
+
"g.tick-lines",
|
|
23
|
+
sections.map((d) => {
|
|
24
|
+
const { scaleInfo } = d;
|
|
25
|
+
const y1 = scaleInfo.offset;
|
|
26
|
+
const y2 = y1 + scaleInfo.pixelHeight;
|
|
27
|
+
return h("line", {
|
|
28
|
+
y1,
|
|
29
|
+
y2,
|
|
30
|
+
strokeDasharray: props.strokeDasharray,
|
|
31
|
+
strokeWidth: 1
|
|
32
|
+
});
|
|
33
|
+
})
|
|
34
|
+
)
|
|
35
|
+
]);
|
|
36
|
+
}
|
|
37
|
+
function unnestPoints(measures) {
|
|
38
|
+
let points = [];
|
|
39
|
+
for (const meas of measures) {
|
|
40
|
+
const vals = meas.measure_value.map((d, i) => {
|
|
41
|
+
return {
|
|
42
|
+
value: d,
|
|
43
|
+
age: meas.measure_age[i],
|
|
44
|
+
position: meas.measure_position[i],
|
|
45
|
+
unit_id: meas.unit_id,
|
|
46
|
+
sample_id: meas.sample_no[i],
|
|
47
|
+
measurement: meas.measurement
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
Array.prototype.push.apply(points, vals);
|
|
51
|
+
}
|
|
52
|
+
return points;
|
|
53
|
+
}
|
|
54
|
+
function IsotopesDataset(props) {
|
|
55
|
+
const { parameter, color = "dodgerblue" } = props;
|
|
56
|
+
const units = useMacrostratUnits();
|
|
57
|
+
const measures = useMeasurementData() ?? [];
|
|
58
|
+
const points = useMemo(() => {
|
|
59
|
+
const data = measures.filter((d) => d.measurement === parameter);
|
|
60
|
+
const refMeasures = referenceMeasuresToColumn(units, data);
|
|
61
|
+
return unnestPoints(refMeasures);
|
|
62
|
+
}, [measures, parameter, units]);
|
|
63
|
+
return h(
|
|
64
|
+
IsotopesDataArea,
|
|
65
|
+
{
|
|
66
|
+
getHeight(d) {
|
|
67
|
+
return d.age;
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
h(
|
|
71
|
+
"g.data-points",
|
|
72
|
+
points.map((d) => {
|
|
73
|
+
return h(IsotopeDataPoint, {
|
|
74
|
+
datum: d,
|
|
75
|
+
fill: color
|
|
76
|
+
});
|
|
77
|
+
})
|
|
78
|
+
)
|
|
79
|
+
);
|
|
80
|
+
}
|
|
81
|
+
function IsotopesColumn(props) {
|
|
82
|
+
const {
|
|
83
|
+
width = 120,
|
|
84
|
+
domain = [-14, 6],
|
|
85
|
+
parameter,
|
|
86
|
+
label,
|
|
87
|
+
color = "dodgerblue",
|
|
88
|
+
children = null,
|
|
89
|
+
transform,
|
|
90
|
+
getHeight,
|
|
91
|
+
showAxis = true,
|
|
92
|
+
tickValues: _tickVals,
|
|
93
|
+
nTicks = 6,
|
|
94
|
+
...rest
|
|
95
|
+
} = props;
|
|
96
|
+
const { totalHeight } = useMacrostratColumnData();
|
|
97
|
+
let _children = children;
|
|
98
|
+
if (children == null && parameter != null) {
|
|
99
|
+
_children = h(IsotopesDataset, { parameter, color, getHeight });
|
|
100
|
+
}
|
|
101
|
+
const xScale = useMemo(
|
|
102
|
+
() => scaleLinear().domain(domain).range([0, width]),
|
|
103
|
+
[domain, width]
|
|
104
|
+
);
|
|
105
|
+
const tickValues = _tickVals ?? xScale.ticks(nTicks);
|
|
106
|
+
return h("div.isotopes-column", [
|
|
107
|
+
h(
|
|
108
|
+
SVG,
|
|
109
|
+
{
|
|
110
|
+
height: totalHeight,
|
|
111
|
+
innerWidth: width,
|
|
112
|
+
paddingH: 15
|
|
113
|
+
},
|
|
114
|
+
h(
|
|
115
|
+
ColumnLayoutProvider,
|
|
116
|
+
{ width, xScale },
|
|
117
|
+
h("g.isotopes-column", { className: parameter, transform }, [
|
|
118
|
+
h(ColumnScaleLines, {
|
|
119
|
+
xScale,
|
|
120
|
+
tickValues,
|
|
121
|
+
width,
|
|
122
|
+
...rest
|
|
123
|
+
}),
|
|
124
|
+
_children
|
|
125
|
+
])
|
|
126
|
+
)
|
|
127
|
+
),
|
|
128
|
+
h.if(showAxis)(ColumnScaleAxis, {
|
|
129
|
+
width,
|
|
130
|
+
label: label ?? parameter,
|
|
131
|
+
xScale,
|
|
132
|
+
tickValues,
|
|
133
|
+
...rest
|
|
134
|
+
})
|
|
135
|
+
]);
|
|
136
|
+
}
|
|
137
|
+
function ColumnScaleAxis(props) {
|
|
138
|
+
const { label, xScale, width, showAxis = true, tickValues, ...rest } = props;
|
|
139
|
+
return h("div.isotopes-scale-axis", [
|
|
140
|
+
h(
|
|
141
|
+
SVG,
|
|
142
|
+
{
|
|
143
|
+
innerWidth: width,
|
|
144
|
+
height: 45,
|
|
145
|
+
paddingH: 15
|
|
146
|
+
},
|
|
147
|
+
[
|
|
148
|
+
h(AxisBottom, {
|
|
149
|
+
scale: xScale,
|
|
150
|
+
tickLength: 5,
|
|
151
|
+
tickValues,
|
|
152
|
+
stroke: "var(--column-stroke-color)",
|
|
153
|
+
tickStroke: "var(--column-stroke-color)",
|
|
154
|
+
...rest,
|
|
155
|
+
label
|
|
156
|
+
})
|
|
157
|
+
]
|
|
158
|
+
)
|
|
159
|
+
]);
|
|
160
|
+
}
|
|
161
|
+
function ColumnScaleLines(props) {
|
|
162
|
+
const { tickValues, xScale } = props;
|
|
163
|
+
return h(
|
|
164
|
+
"g.scale-lines",
|
|
165
|
+
tickValues.map((value) => {
|
|
166
|
+
return h(ScaleLine, { value });
|
|
167
|
+
})
|
|
168
|
+
);
|
|
169
|
+
}
|
|
170
|
+
export {
|
|
171
|
+
IsotopesColumn,
|
|
172
|
+
IsotopesDataset
|
|
173
|
+
};
|
|
174
|
+
//# sourceMappingURL=isotopes-column.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isotopes-column.js","sources":["../../../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":["hyper"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const tick = "_tick_y4y1w_24";
|
|
4
|
+
const zero = "_zero_y4y1w_24";
|
|
5
|
+
const styles = {
|
|
6
|
+
"isotopes-column": "_isotopes-column_y4y1w_1",
|
|
7
|
+
"isotopes-scale-axis": "_isotopes-scale-axis_y4y1w_5",
|
|
8
|
+
"scale-lines": "_scale-lines_y4y1w_24",
|
|
9
|
+
tick,
|
|
10
|
+
zero
|
|
11
|
+
};
|
|
12
|
+
exports.default = styles;
|
|
13
|
+
exports.tick = tick;
|
|
14
|
+
exports.zero = zero;
|
|
15
|
+
//# sourceMappingURL=isotopes-column.module.sass.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isotopes-column.module.sass.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const tick = "_tick_y4y1w_24";
|
|
2
|
+
const zero = "_zero_y4y1w_24";
|
|
3
|
+
const styles = {
|
|
4
|
+
"isotopes-column": "_isotopes-column_y4y1w_1",
|
|
5
|
+
"isotopes-scale-axis": "_isotopes-scale-axis_y4y1w_5",
|
|
6
|
+
"scale-lines": "_scale-lines_y4y1w_24",
|
|
7
|
+
tick,
|
|
8
|
+
zero
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
styles as default,
|
|
12
|
+
tick,
|
|
13
|
+
zero
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=isotopes-column.module.sass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isotopes-column.module.sass.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const dataComponents = require("@macrostrat/data-components");
|
|
4
|
+
const h$1 = require("@macrostrat/hyper");
|
|
5
|
+
const provider = require("./provider.cjs");
|
|
6
|
+
const React = require("react");
|
|
7
|
+
const index_module = require("./index.module.sass.cjs");
|
|
8
|
+
const classNames = require("classnames");
|
|
9
|
+
const d3Array = require("d3-array");
|
|
10
|
+
const core = require("@blueprintjs/core");
|
|
11
|
+
const base = require("../measurements/base.cjs");
|
|
12
|
+
const store = require("../../data-provider/store.cjs");
|
|
13
|
+
const utils = require("../../prepare-units/utils.cjs");
|
|
14
|
+
const h = h$1.styled(index_module.default);
|
|
15
|
+
function prepareDetritalData(data, units, axisType) {
|
|
16
|
+
const measurementsGrouped = d3Array.group(data, (d) => d.measuremeta_id);
|
|
17
|
+
const resMap = /* @__PURE__ */ new Map();
|
|
18
|
+
for (const measurements of measurementsGrouped.values()) {
|
|
19
|
+
const unitIDs = new Set(measurements.map((m) => m.unit_id));
|
|
20
|
+
const ids = Array.from(unitIDs);
|
|
21
|
+
ids.sort();
|
|
22
|
+
const key = ids.join("-");
|
|
23
|
+
if (!resMap.has(key)) {
|
|
24
|
+
const unitData = ids.map((id) => {
|
|
25
|
+
return units.find((u) => u.unit_id === id);
|
|
26
|
+
}).filter(Boolean);
|
|
27
|
+
const positions = unitData.map((unit) => {
|
|
28
|
+
const [height, top_height] = utils.getUnitHeightRange(unit, axisType);
|
|
29
|
+
return { height, top_height };
|
|
30
|
+
});
|
|
31
|
+
const pos = base.mergeHeightRanges(positions, axisType);
|
|
32
|
+
resMap.set(key, {
|
|
33
|
+
id: key,
|
|
34
|
+
data: [],
|
|
35
|
+
units: unitData,
|
|
36
|
+
...pos
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
resMap.get(key).data.push(measurements[0]);
|
|
40
|
+
}
|
|
41
|
+
return Array.from(resMap.values());
|
|
42
|
+
}
|
|
43
|
+
function DetritalColumn({ columnID, color = "magenta" }) {
|
|
44
|
+
const data = provider.useDetritalMeasurements({ col_id: columnID });
|
|
45
|
+
const width = 400;
|
|
46
|
+
const paddingLeft = 40;
|
|
47
|
+
const spectrumWidth = width - paddingLeft;
|
|
48
|
+
const noteComponent = React.useMemo(() => {
|
|
49
|
+
return (props) => {
|
|
50
|
+
return h(DetritalGroup, {
|
|
51
|
+
width: spectrumWidth,
|
|
52
|
+
height: 40,
|
|
53
|
+
color,
|
|
54
|
+
...props
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
}, [width, color]);
|
|
58
|
+
const { axisType, units } = store.useMacrostratColumnData();
|
|
59
|
+
const data1 = React.useMemo(() => {
|
|
60
|
+
if (data == null || units == null) return null;
|
|
61
|
+
return prepareDetritalData(data, units, axisType);
|
|
62
|
+
}, [data, units, axisType]);
|
|
63
|
+
if (data1 == null) return h(core.NonIdealState, h(core.Spinner));
|
|
64
|
+
return h(base.BaseMeasurementsColumn, {
|
|
65
|
+
data: data1,
|
|
66
|
+
noteComponent,
|
|
67
|
+
deltaConnectorAttachment: 20
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
function DepositionalAge({ unit }) {
|
|
71
|
+
const { xScale, height } = dataComponents.usePlotArea();
|
|
72
|
+
const { t_age, b_age } = unit;
|
|
73
|
+
const x = xScale(t_age);
|
|
74
|
+
const x1 = xScale(b_age);
|
|
75
|
+
return h("rect.depositional-age", { x, width: x1 - x, y: 0, height });
|
|
76
|
+
}
|
|
77
|
+
function DetritalGroup(props) {
|
|
78
|
+
const { note, width, height, color, spacing } = props;
|
|
79
|
+
const { data, units } = note;
|
|
80
|
+
const _color = color;
|
|
81
|
+
const spaceBelow = spacing?.below ?? 100;
|
|
82
|
+
const hideAxisLabels = spaceBelow < 60;
|
|
83
|
+
return h(
|
|
84
|
+
"div.detrital-group",
|
|
85
|
+
{ className: classNames({ "hide-axis": hideAxisLabels }) },
|
|
86
|
+
[
|
|
87
|
+
h(
|
|
88
|
+
dataComponents.DetritalSpectrumPlot,
|
|
89
|
+
{ width, innerHeight: height, showAxisLabels: true, paddingBottom: 40 },
|
|
90
|
+
[
|
|
91
|
+
units.map((unit) => {
|
|
92
|
+
return h(DepositionalAge, { unit });
|
|
93
|
+
}),
|
|
94
|
+
data.map((d) => {
|
|
95
|
+
return h(dataComponents.DetritalSeries, {
|
|
96
|
+
bandwidth: 20,
|
|
97
|
+
data: d.measure_value,
|
|
98
|
+
color: _color
|
|
99
|
+
});
|
|
100
|
+
})
|
|
101
|
+
]
|
|
102
|
+
)
|
|
103
|
+
]
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
exports.DetritalColumn = DetritalColumn;
|
|
107
|
+
exports.DetritalGroup = DetritalGroup;
|
|
108
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/facets/detrital-zircon/index.ts"],"sourcesContent":["import {\n DetritalSpectrumPlot,\n DetritalSeries,\n usePlotArea,\n} from \"@macrostrat/data-components\";\nimport type { IUnit } from \"../../units/types\";\nimport hyper from \"@macrostrat/hyper\";\nimport { useDetritalMeasurements, MeasurementInfo } from \"./provider\";\nimport { useMemo } from \"react\";\nimport styles from \"./index.module.sass\";\nimport classNames from \"classnames\";\nimport {\n BaseMeasurementsColumn,\n mergeHeightRanges,\n ColumnMeasurementData,\n} from \"../measurements\";\nimport { group } from \"d3-array\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { useMacrostratColumnData } from \"../../data-provider\";\nimport { getUnitHeightRange } from \"../../prepare-units\";\nimport { NonIdealState, Spinner } from \"@blueprintjs/core\";\n\nconst h = hyper.styled(styles);\n\ninterface DetritalItemProps {\n note: DZMeasurementInfo;\n spacing?: {\n below?: number;\n above?: number;\n };\n width?: number;\n height?: number;\n color?: string;\n}\n\ninterface DZMeasurementInfo extends ColumnMeasurementData<MeasurementInfo[]> {\n units: IUnit[];\n}\n\nfunction prepareDetritalData(\n data: MeasurementInfo[],\n units: IUnit[],\n axisType: ColumnAxisType,\n) {\n /** Right now measurement data could be duplicated if there are multiple units linked to the same\n * measuremeta_id. THis happens because matches to units might be at a lower rank (e.g, if the column\n * contains Formations but the measurements are linked to a Group). To handle this, we group by measuremeta_id\n * and then create unique keys based on the set of units linked to each measurement.\n */\n\n // Group data by measuremeta_id\n const measurementsGrouped = group(data, (d) => d.measuremeta_id);\n\n const resMap = new Map<string, DZMeasurementInfo>();\n\n for (const measurements of measurementsGrouped.values()) {\n // Get a list of unique unit_ids for this measurement\n const unitIDs = new Set(measurements.map((m) => m.unit_id));\n const ids = Array.from(unitIDs);\n ids.sort();\n // Key is unique to the set of units\n const key = ids.join(\"-\");\n\n if (!resMap.has(key)) {\n const unitData = ids\n .map((id) => {\n return units.find((u) => u.unit_id === id);\n })\n .filter(Boolean);\n\n const positions = unitData.map((unit) => {\n const [height, top_height] = getUnitHeightRange(unit, axisType);\n return { height, top_height };\n });\n\n // merge positions (note: we could also have multiple separate notes per measurement)\n const pos = mergeHeightRanges(positions, axisType);\n\n resMap.set(key, {\n id: key,\n data: [],\n units: unitData as IUnit[],\n ...pos,\n });\n }\n resMap.get(key)!.data.push(measurements[0]);\n }\n\n return Array.from(resMap.values());\n}\n\nfunction DetritalColumn({ columnID, color = \"magenta\" }) {\n const data = useDetritalMeasurements({ col_id: columnID });\n\n const width = 400;\n const paddingLeft = 40;\n\n const spectrumWidth = width - paddingLeft;\n\n const noteComponent = useMemo(() => {\n return (props) => {\n return h(DetritalGroup, {\n width: spectrumWidth,\n height: 40,\n color,\n ...props,\n });\n };\n }, [width, color]);\n\n const { axisType, units } = useMacrostratColumnData();\n\n const data1 = useMemo(() => {\n if (data == null || units == null) return null;\n return prepareDetritalData(data, units, axisType);\n }, [data, units, axisType]);\n\n if (data1 == null) return h(NonIdealState, h(Spinner));\n\n return h(BaseMeasurementsColumn, {\n data: data1,\n noteComponent,\n deltaConnectorAttachment: 20,\n });\n}\n\nfunction DepositionalAge({ unit }) {\n const { xScale, height } = usePlotArea();\n\n const { t_age, b_age } = unit;\n const x = xScale(t_age);\n const x1 = xScale(b_age);\n\n return h(\"rect.depositional-age\", { x, width: x1 - x, y: 0, height });\n}\n\nfunction DetritalGroup(props: DetritalItemProps) {\n const { note, width, height, color, spacing } = props;\n const { data, units } = note;\n\n const _color = color;\n\n const spaceBelow = spacing?.below ?? 100;\n const hideAxisLabels = spaceBelow < 60;\n\n return h(\n \"div.detrital-group\",\n { className: classNames({ \"hide-axis\": hideAxisLabels }) },\n [\n h(\n DetritalSpectrumPlot,\n { width, innerHeight: height, showAxisLabels: true, paddingBottom: 40 },\n [\n units.map((unit) => {\n return h(DepositionalAge, { unit });\n }),\n data.map((d) => {\n return h(DetritalSeries, {\n bandwidth: 20,\n data: d.measure_value,\n color: _color,\n });\n }),\n ],\n ),\n ],\n );\n}\n\nexport { DetritalColumn, DetritalGroup };\n"],"names":["hyper","styles","group","getUnitHeightRange","mergeHeightRanges","useDetritalMeasurements","useMemo","useMacrostratColumnData","NonIdealState","Spinner","BaseMeasurementsColumn","usePlotArea","DetritalSpectrumPlot","DetritalSeries"],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { IUnit } from '../../units/types';
|
|
2
|
+
import { MeasurementInfo } from './provider';
|
|
3
|
+
import { ColumnMeasurementData } from '../measurements';
|
|
4
|
+
interface DetritalItemProps {
|
|
5
|
+
note: DZMeasurementInfo;
|
|
6
|
+
spacing?: {
|
|
7
|
+
below?: number;
|
|
8
|
+
above?: number;
|
|
9
|
+
};
|
|
10
|
+
width?: number;
|
|
11
|
+
height?: number;
|
|
12
|
+
color?: string;
|
|
13
|
+
}
|
|
14
|
+
interface DZMeasurementInfo extends ColumnMeasurementData<MeasurementInfo[]> {
|
|
15
|
+
units: IUnit[];
|
|
16
|
+
}
|
|
17
|
+
declare function DetritalColumn({ columnID, color }: {
|
|
18
|
+
columnID: any;
|
|
19
|
+
color?: string;
|
|
20
|
+
}): import('react').FunctionComponentElement<import('@blueprintjs/core').NonIdealStateProps> | import('react').FunctionComponentElement<import('..').BaseMeasurementsColumnProps<any>>;
|
|
21
|
+
declare function DetritalGroup(props: DetritalItemProps): import('react').ReactElement<{
|
|
22
|
+
className: string;
|
|
23
|
+
}, string | import('react').JSXElementConstructor<any>>;
|
|
24
|
+
export { DetritalColumn, DetritalGroup };
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { DetritalSpectrumPlot, DetritalSeries, usePlotArea } from "@macrostrat/data-components";
|
|
2
|
+
import h$1 from "@macrostrat/hyper";
|
|
3
|
+
import { useDetritalMeasurements } from "./provider.js";
|
|
4
|
+
import { useMemo } from "react";
|
|
5
|
+
import styles from "./index.module.sass.js";
|
|
6
|
+
import classNames from "classnames";
|
|
7
|
+
import { group } from "d3-array";
|
|
8
|
+
import { NonIdealState, Spinner } from "@blueprintjs/core";
|
|
9
|
+
import { BaseMeasurementsColumn, mergeHeightRanges } from "../measurements/base.js";
|
|
10
|
+
import { useMacrostratColumnData } from "../../data-provider/store.js";
|
|
11
|
+
import { getUnitHeightRange } from "../../prepare-units/utils.js";
|
|
12
|
+
const h = h$1.styled(styles);
|
|
13
|
+
function prepareDetritalData(data, units, axisType) {
|
|
14
|
+
const measurementsGrouped = group(data, (d) => d.measuremeta_id);
|
|
15
|
+
const resMap = /* @__PURE__ */ new Map();
|
|
16
|
+
for (const measurements of measurementsGrouped.values()) {
|
|
17
|
+
const unitIDs = new Set(measurements.map((m) => m.unit_id));
|
|
18
|
+
const ids = Array.from(unitIDs);
|
|
19
|
+
ids.sort();
|
|
20
|
+
const key = ids.join("-");
|
|
21
|
+
if (!resMap.has(key)) {
|
|
22
|
+
const unitData = ids.map((id) => {
|
|
23
|
+
return units.find((u) => u.unit_id === id);
|
|
24
|
+
}).filter(Boolean);
|
|
25
|
+
const positions = unitData.map((unit) => {
|
|
26
|
+
const [height, top_height] = getUnitHeightRange(unit, axisType);
|
|
27
|
+
return { height, top_height };
|
|
28
|
+
});
|
|
29
|
+
const pos = mergeHeightRanges(positions, axisType);
|
|
30
|
+
resMap.set(key, {
|
|
31
|
+
id: key,
|
|
32
|
+
data: [],
|
|
33
|
+
units: unitData,
|
|
34
|
+
...pos
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
resMap.get(key).data.push(measurements[0]);
|
|
38
|
+
}
|
|
39
|
+
return Array.from(resMap.values());
|
|
40
|
+
}
|
|
41
|
+
function DetritalColumn({ columnID, color = "magenta" }) {
|
|
42
|
+
const data = useDetritalMeasurements({ col_id: columnID });
|
|
43
|
+
const width = 400;
|
|
44
|
+
const paddingLeft = 40;
|
|
45
|
+
const spectrumWidth = width - paddingLeft;
|
|
46
|
+
const noteComponent = useMemo(() => {
|
|
47
|
+
return (props) => {
|
|
48
|
+
return h(DetritalGroup, {
|
|
49
|
+
width: spectrumWidth,
|
|
50
|
+
height: 40,
|
|
51
|
+
color,
|
|
52
|
+
...props
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
}, [width, color]);
|
|
56
|
+
const { axisType, units } = useMacrostratColumnData();
|
|
57
|
+
const data1 = useMemo(() => {
|
|
58
|
+
if (data == null || units == null) return null;
|
|
59
|
+
return prepareDetritalData(data, units, axisType);
|
|
60
|
+
}, [data, units, axisType]);
|
|
61
|
+
if (data1 == null) return h(NonIdealState, h(Spinner));
|
|
62
|
+
return h(BaseMeasurementsColumn, {
|
|
63
|
+
data: data1,
|
|
64
|
+
noteComponent,
|
|
65
|
+
deltaConnectorAttachment: 20
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function DepositionalAge({ unit }) {
|
|
69
|
+
const { xScale, height } = usePlotArea();
|
|
70
|
+
const { t_age, b_age } = unit;
|
|
71
|
+
const x = xScale(t_age);
|
|
72
|
+
const x1 = xScale(b_age);
|
|
73
|
+
return h("rect.depositional-age", { x, width: x1 - x, y: 0, height });
|
|
74
|
+
}
|
|
75
|
+
function DetritalGroup(props) {
|
|
76
|
+
const { note, width, height, color, spacing } = props;
|
|
77
|
+
const { data, units } = note;
|
|
78
|
+
const _color = color;
|
|
79
|
+
const spaceBelow = spacing?.below ?? 100;
|
|
80
|
+
const hideAxisLabels = spaceBelow < 60;
|
|
81
|
+
return h(
|
|
82
|
+
"div.detrital-group",
|
|
83
|
+
{ className: classNames({ "hide-axis": hideAxisLabels }) },
|
|
84
|
+
[
|
|
85
|
+
h(
|
|
86
|
+
DetritalSpectrumPlot,
|
|
87
|
+
{ width, innerHeight: height, showAxisLabels: true, paddingBottom: 40 },
|
|
88
|
+
[
|
|
89
|
+
units.map((unit) => {
|
|
90
|
+
return h(DepositionalAge, { unit });
|
|
91
|
+
}),
|
|
92
|
+
data.map((d) => {
|
|
93
|
+
return h(DetritalSeries, {
|
|
94
|
+
bandwidth: 20,
|
|
95
|
+
data: d.measure_value,
|
|
96
|
+
color: _color
|
|
97
|
+
});
|
|
98
|
+
})
|
|
99
|
+
]
|
|
100
|
+
)
|
|
101
|
+
]
|
|
102
|
+
);
|
|
103
|
+
}
|
|
104
|
+
export {
|
|
105
|
+
DetritalColumn,
|
|
106
|
+
DetritalGroup
|
|
107
|
+
};
|
|
108
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/facets/detrital-zircon/index.ts"],"sourcesContent":["import {\n DetritalSpectrumPlot,\n DetritalSeries,\n usePlotArea,\n} from \"@macrostrat/data-components\";\nimport type { IUnit } from \"../../units/types\";\nimport hyper from \"@macrostrat/hyper\";\nimport { useDetritalMeasurements, MeasurementInfo } from \"./provider\";\nimport { useMemo } from \"react\";\nimport styles from \"./index.module.sass\";\nimport classNames from \"classnames\";\nimport {\n BaseMeasurementsColumn,\n mergeHeightRanges,\n ColumnMeasurementData,\n} from \"../measurements\";\nimport { group } from \"d3-array\";\nimport { ColumnAxisType } from \"@macrostrat/column-components\";\nimport { useMacrostratColumnData } from \"../../data-provider\";\nimport { getUnitHeightRange } from \"../../prepare-units\";\nimport { NonIdealState, Spinner } from \"@blueprintjs/core\";\n\nconst h = hyper.styled(styles);\n\ninterface DetritalItemProps {\n note: DZMeasurementInfo;\n spacing?: {\n below?: number;\n above?: number;\n };\n width?: number;\n height?: number;\n color?: string;\n}\n\ninterface DZMeasurementInfo extends ColumnMeasurementData<MeasurementInfo[]> {\n units: IUnit[];\n}\n\nfunction prepareDetritalData(\n data: MeasurementInfo[],\n units: IUnit[],\n axisType: ColumnAxisType,\n) {\n /** Right now measurement data could be duplicated if there are multiple units linked to the same\n * measuremeta_id. THis happens because matches to units might be at a lower rank (e.g, if the column\n * contains Formations but the measurements are linked to a Group). To handle this, we group by measuremeta_id\n * and then create unique keys based on the set of units linked to each measurement.\n */\n\n // Group data by measuremeta_id\n const measurementsGrouped = group(data, (d) => d.measuremeta_id);\n\n const resMap = new Map<string, DZMeasurementInfo>();\n\n for (const measurements of measurementsGrouped.values()) {\n // Get a list of unique unit_ids for this measurement\n const unitIDs = new Set(measurements.map((m) => m.unit_id));\n const ids = Array.from(unitIDs);\n ids.sort();\n // Key is unique to the set of units\n const key = ids.join(\"-\");\n\n if (!resMap.has(key)) {\n const unitData = ids\n .map((id) => {\n return units.find((u) => u.unit_id === id);\n })\n .filter(Boolean);\n\n const positions = unitData.map((unit) => {\n const [height, top_height] = getUnitHeightRange(unit, axisType);\n return { height, top_height };\n });\n\n // merge positions (note: we could also have multiple separate notes per measurement)\n const pos = mergeHeightRanges(positions, axisType);\n\n resMap.set(key, {\n id: key,\n data: [],\n units: unitData as IUnit[],\n ...pos,\n });\n }\n resMap.get(key)!.data.push(measurements[0]);\n }\n\n return Array.from(resMap.values());\n}\n\nfunction DetritalColumn({ columnID, color = \"magenta\" }) {\n const data = useDetritalMeasurements({ col_id: columnID });\n\n const width = 400;\n const paddingLeft = 40;\n\n const spectrumWidth = width - paddingLeft;\n\n const noteComponent = useMemo(() => {\n return (props) => {\n return h(DetritalGroup, {\n width: spectrumWidth,\n height: 40,\n color,\n ...props,\n });\n };\n }, [width, color]);\n\n const { axisType, units } = useMacrostratColumnData();\n\n const data1 = useMemo(() => {\n if (data == null || units == null) return null;\n return prepareDetritalData(data, units, axisType);\n }, [data, units, axisType]);\n\n if (data1 == null) return h(NonIdealState, h(Spinner));\n\n return h(BaseMeasurementsColumn, {\n data: data1,\n noteComponent,\n deltaConnectorAttachment: 20,\n });\n}\n\nfunction DepositionalAge({ unit }) {\n const { xScale, height } = usePlotArea();\n\n const { t_age, b_age } = unit;\n const x = xScale(t_age);\n const x1 = xScale(b_age);\n\n return h(\"rect.depositional-age\", { x, width: x1 - x, y: 0, height });\n}\n\nfunction DetritalGroup(props: DetritalItemProps) {\n const { note, width, height, color, spacing } = props;\n const { data, units } = note;\n\n const _color = color;\n\n const spaceBelow = spacing?.below ?? 100;\n const hideAxisLabels = spaceBelow < 60;\n\n return h(\n \"div.detrital-group\",\n { className: classNames({ \"hide-axis\": hideAxisLabels }) },\n [\n h(\n DetritalSpectrumPlot,\n { width, innerHeight: height, showAxisLabels: true, paddingBottom: 40 },\n [\n units.map((unit) => {\n return h(DepositionalAge, { unit });\n }),\n data.map((d) => {\n return h(DetritalSeries, {\n bandwidth: 20,\n data: d.measure_value,\n color: _color,\n });\n }),\n ],\n ),\n ],\n );\n}\n\nexport { DetritalColumn, DetritalGroup };\n"],"names":["hyper"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
|
|
3
|
+
const styles = {
|
|
4
|
+
"depositional-age": "_depositional-age_ngsgr_1",
|
|
5
|
+
"detrital-group": "_detrital-group_ngsgr_8",
|
|
6
|
+
"hide-axis": "_hide-axis_ngsgr_12",
|
|
7
|
+
"dz-spectra": "_dz-spectra_ngsgr_16",
|
|
8
|
+
"floating-axis": "_floating-axis_ngsgr_20"
|
|
9
|
+
};
|
|
10
|
+
exports.default = styles;
|
|
11
|
+
//# sourceMappingURL=index.module.sass.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.module.sass.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
const styles = {
|
|
2
|
+
"depositional-age": "_depositional-age_ngsgr_1",
|
|
3
|
+
"detrital-group": "_detrital-group_ngsgr_8",
|
|
4
|
+
"hide-axis": "_hide-axis_ngsgr_12",
|
|
5
|
+
"dz-spectra": "_dz-spectra_ngsgr_16",
|
|
6
|
+
"floating-axis": "_floating-axis_ngsgr_20"
|
|
7
|
+
};
|
|
8
|
+
export {
|
|
9
|
+
styles as default
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=index.module.sass.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.module.sass.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const uiComponents = require("@macrostrat/ui-components");
|
|
4
|
+
function useDetritalMeasurements(columnArgs) {
|
|
5
|
+
const params = {
|
|
6
|
+
...columnArgs,
|
|
7
|
+
measure_phase: "zircon",
|
|
8
|
+
response: "long",
|
|
9
|
+
show_values: true,
|
|
10
|
+
// Other isotope systems are organized separately
|
|
11
|
+
measurement: "207Pb-206Pb"
|
|
12
|
+
};
|
|
13
|
+
const res = uiComponents.useAPIResult(
|
|
14
|
+
"/measurements",
|
|
15
|
+
params,
|
|
16
|
+
columnArgs
|
|
17
|
+
);
|
|
18
|
+
if (res == null) return null;
|
|
19
|
+
return res;
|
|
20
|
+
}
|
|
21
|
+
exports.useDetritalMeasurements = useDetritalMeasurements;
|
|
22
|
+
//# sourceMappingURL=provider.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.cjs","sources":["../../../src/facets/detrital-zircon/provider.ts"],"sourcesContent":["import { group } from \"d3-array\";\nimport { useAPIResult } from \"@macrostrat/ui-components\";\n\nexport interface MeasurementInfo {\n measurement_id: number;\n measuremeta_id: number;\n measurement: string;\n measure_units: string;\n measure_phase: string;\n method: string;\n n: number;\n ref_id: number;\n sample_name: string;\n geo_unit: string;\n samp_lith: string;\n samp_lith_id: number;\n samp_desc: string;\n samp_age: string;\n lat: number;\n lng: number;\n unit_id: number;\n unit_rel_pos?: any;\n col_id: number;\n strat_name_id: number;\n match_basis: string;\n ref: string;\n measure_value: number[];\n measure_error: number[];\n measure_position: any[];\n measure_n: number[];\n sample_no: string[];\n error_units: string;\n}\n\nexport function useDetritalMeasurements(columnArgs) {\n const params = {\n ...columnArgs,\n measure_phase: \"zircon\",\n response: \"long\",\n show_values: true,\n // Other isotope systems are organized separately\n measurement: \"207Pb-206Pb\",\n };\n const res: MeasurementInfo[] = useAPIResult(\n \"/measurements\",\n params,\n columnArgs,\n );\n if (res == null) return null;\n return res;\n}\n"],"names":["useAPIResult"],"mappings":";;;AAkCO,SAAS,wBAAwB,YAAY;AAClD,QAAM,SAAS;AAAA,IACb,GAAG;AAAA,IACH,eAAe;AAAA,IACf,UAAU;AAAA,IACV,aAAa;AAAA;AAAA,IAEb,aAAa;AAAA,EAAA;AAEf,QAAM,MAAyBA,aAAAA;AAAAA,IAC7B;AAAA,IACA;AAAA,IACA;AAAA,EAAA;AAEF,MAAI,OAAO,KAAM,QAAO;AACxB,SAAO;AACT;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface MeasurementInfo {
|
|
2
|
+
measurement_id: number;
|
|
3
|
+
measuremeta_id: number;
|
|
4
|
+
measurement: string;
|
|
5
|
+
measure_units: string;
|
|
6
|
+
measure_phase: string;
|
|
7
|
+
method: string;
|
|
8
|
+
n: number;
|
|
9
|
+
ref_id: number;
|
|
10
|
+
sample_name: string;
|
|
11
|
+
geo_unit: string;
|
|
12
|
+
samp_lith: string;
|
|
13
|
+
samp_lith_id: number;
|
|
14
|
+
samp_desc: string;
|
|
15
|
+
samp_age: string;
|
|
16
|
+
lat: number;
|
|
17
|
+
lng: number;
|
|
18
|
+
unit_id: number;
|
|
19
|
+
unit_rel_pos?: any;
|
|
20
|
+
col_id: number;
|
|
21
|
+
strat_name_id: number;
|
|
22
|
+
match_basis: string;
|
|
23
|
+
ref: string;
|
|
24
|
+
measure_value: number[];
|
|
25
|
+
measure_error: number[];
|
|
26
|
+
measure_position: any[];
|
|
27
|
+
measure_n: number[];
|
|
28
|
+
sample_no: string[];
|
|
29
|
+
error_units: string;
|
|
30
|
+
}
|
|
31
|
+
export declare function useDetritalMeasurements(columnArgs: any): MeasurementInfo[];
|