@macrostrat/map-interface 1.6.0 → 2.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 +8 -0
- package/dist/container.cjs +131 -0
- package/dist/container.cjs.map +1 -0
- package/dist/container.d.ts +17 -0
- package/dist/container.js +131 -0
- package/dist/container.js.map +1 -0
- package/dist/context-panel/index.cjs +79 -0
- package/dist/context-panel/index.cjs.map +1 -0
- package/dist/context-panel/index.d.ts +36 -0
- package/dist/context-panel/index.js +79 -0
- package/dist/context-panel/index.js.map +1 -0
- package/dist/context-panel/main.module.sass.cjs +16 -0
- package/dist/context-panel/main.module.sass.cjs.map +1 -0
- package/dist/context-panel/main.module.sass.js +16 -0
- package/dist/context-panel/main.module.sass.js.map +1 -0
- package/dist/controls.cjs +54 -0
- package/dist/controls.cjs.map +1 -0
- package/dist/controls.d.ts +3 -0
- package/dist/controls.js +54 -0
- package/dist/controls.js.map +1 -0
- package/dist/dev/index.d.ts +4 -0
- package/dist/dev/main.module.sass.cjs +30 -0
- package/dist/dev/main.module.sass.cjs.map +1 -0
- package/dist/dev/main.module.sass.js +30 -0
- package/dist/dev/main.module.sass.js.map +1 -0
- package/dist/dev/map-page.cjs +155 -0
- package/dist/dev/map-page.cjs.map +1 -0
- package/dist/dev/map-page.d.ts +26 -0
- package/dist/dev/map-page.js +155 -0
- package/dist/dev/map-page.js.map +1 -0
- package/dist/dev/tile-extent.cjs +39 -0
- package/dist/dev/tile-extent.cjs.map +1 -0
- package/dist/dev/tile-extent.d.ts +10 -0
- package/dist/dev/tile-extent.js +39 -0
- package/dist/dev/tile-extent.js.map +1 -0
- package/dist/dev/vector-tile-features.cjs +212 -0
- package/dist/dev/vector-tile-features.cjs.map +1 -0
- package/dist/dev/vector-tile-features.d.ts +29 -0
- package/dist/dev/vector-tile-features.js +212 -0
- package/dist/dev/vector-tile-features.js.map +1 -0
- package/dist/dev/xray.cjs +93 -0
- package/dist/dev/xray.cjs.map +1 -0
- package/dist/dev/xray.d.ts +41 -0
- package/dist/dev/xray.js +93 -0
- package/dist/dev/xray.js.map +1 -0
- package/dist/expansion-panel/headers.cjs +20 -0
- package/dist/expansion-panel/headers.cjs.map +1 -0
- package/dist/expansion-panel/headers.d.ts +1 -0
- package/dist/expansion-panel/headers.js +20 -0
- package/dist/expansion-panel/headers.js.map +1 -0
- package/dist/expansion-panel/index.cjs +125 -0
- package/dist/expansion-panel/index.cjs.map +1 -0
- package/dist/expansion-panel/index.d.ts +18 -0
- package/dist/expansion-panel/index.js +125 -0
- package/dist/expansion-panel/index.js.map +1 -0
- package/dist/expansion-panel/main.module.sass.cjs +27 -0
- package/dist/expansion-panel/main.module.sass.cjs.map +1 -0
- package/dist/expansion-panel/main.module.sass.js +27 -0
- package/dist/expansion-panel/main.module.sass.js.map +1 -0
- package/dist/hash-string.cjs +81 -0
- package/dist/hash-string.cjs.map +1 -0
- package/dist/hash-string.d.ts +12 -0
- package/dist/hash-string.js +81 -0
- package/dist/hash-string.js.map +1 -0
- package/dist/helpers.cjs +162 -0
- package/dist/helpers.cjs.map +1 -0
- package/dist/helpers.d.ts +34 -0
- package/dist/helpers.js +162 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.cjs +73 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +11 -0
- package/dist/index.js +73 -0
- package/dist/index.js.map +1 -0
- package/dist/location-details/fetch.d.ts +4 -0
- package/dist/location-details/fossil-collections/collections.cjs +68 -0
- package/dist/location-details/fossil-collections/collections.cjs.map +1 -0
- package/dist/location-details/fossil-collections/collections.d.ts +3 -0
- package/dist/location-details/fossil-collections/collections.js +68 -0
- package/dist/location-details/fossil-collections/collections.js.map +1 -0
- package/dist/location-details/fossil-collections/index.cjs +13 -0
- package/dist/location-details/fossil-collections/index.cjs.map +1 -0
- package/dist/location-details/fossil-collections/index.d.ts +3 -0
- package/dist/location-details/fossil-collections/index.js +13 -0
- package/dist/location-details/fossil-collections/index.js.map +1 -0
- package/dist/location-details/fossil-collections/main.module.sass.cjs +8 -0
- package/dist/location-details/fossil-collections/main.module.sass.cjs.map +1 -0
- package/dist/location-details/fossil-collections/main.module.sass.js +8 -0
- package/dist/location-details/fossil-collections/main.module.sass.js.map +1 -0
- package/dist/location-details/index.d.ts +5 -0
- package/dist/location-details/info-blocks.cjs +81 -0
- package/dist/location-details/info-blocks.cjs.map +1 -0
- package/dist/location-details/info-blocks.d.ts +9 -0
- package/dist/location-details/info-blocks.js +81 -0
- package/dist/location-details/info-blocks.js.map +1 -0
- package/dist/location-details/info-blocks.module.sass.cjs +18 -0
- package/dist/location-details/info-blocks.module.sass.cjs.map +1 -0
- package/dist/location-details/info-blocks.module.sass.js +18 -0
- package/dist/location-details/info-blocks.module.sass.js.map +1 -0
- package/dist/location-details/macrostrat-linked.cjs +355 -0
- package/dist/location-details/macrostrat-linked.cjs.map +1 -0
- package/dist/location-details/macrostrat-linked.d.ts +1 -0
- package/dist/location-details/macrostrat-linked.js +355 -0
- package/dist/location-details/macrostrat-linked.js.map +1 -0
- package/dist/location-details/main.module.sass.cjs +20 -0
- package/dist/location-details/main.module.sass.cjs.map +1 -0
- package/dist/location-details/main.module.sass.js +20 -0
- package/dist/location-details/main.module.sass.js.map +1 -0
- package/dist/location-details/physiography.cjs +30 -0
- package/dist/location-details/physiography.cjs.map +1 -0
- package/dist/location-details/physiography.d.ts +1 -0
- package/dist/location-details/physiography.js +30 -0
- package/dist/location-details/physiography.js.map +1 -0
- package/dist/location-details/reg-strat.cjs +90 -0
- package/dist/location-details/reg-strat.cjs.map +1 -0
- package/dist/location-details/reg-strat.d.ts +6 -0
- package/dist/location-details/reg-strat.js +90 -0
- package/dist/location-details/reg-strat.js.map +1 -0
- package/dist/location-details/utils/formatting.cjs +16 -0
- package/dist/location-details/utils/formatting.cjs.map +1 -0
- package/dist/location-details/utils/formatting.d.ts +16 -0
- package/dist/location-details/utils/formatting.js +16 -0
- package/dist/location-details/utils/formatting.js.map +1 -0
- package/dist/location-details/utils/fossils.cjs +149 -0
- package/dist/location-details/utils/fossils.cjs.map +1 -0
- package/dist/location-details/utils/fossils.d.ts +3 -0
- package/dist/location-details/utils/fossils.js +149 -0
- package/dist/location-details/utils/fossils.js.map +1 -0
- package/dist/location-details/utils/index.cjs +15 -0
- package/dist/location-details/utils/index.cjs.map +1 -0
- package/dist/location-details/utils/index.d.ts +12 -0
- package/dist/location-details/utils/index.js +15 -0
- package/dist/location-details/utils/index.js.map +1 -0
- package/dist/location-details/xdd-panel/article.cjs +62 -0
- package/dist/location-details/xdd-panel/article.cjs.map +1 -0
- package/dist/location-details/xdd-panel/article.d.ts +1 -0
- package/dist/location-details/xdd-panel/article.js +62 -0
- package/dist/location-details/xdd-panel/article.js.map +1 -0
- package/dist/location-details/xdd-panel/index.cjs +69 -0
- package/dist/location-details/xdd-panel/index.cjs.map +1 -0
- package/dist/location-details/xdd-panel/index.d.ts +18 -0
- package/dist/location-details/xdd-panel/index.js +69 -0
- package/dist/location-details/xdd-panel/index.js.map +1 -0
- package/dist/location-details/xdd-panel/journal.cjs +25 -0
- package/dist/{cjs/map-interface.3ca778c5.js.map → location-details/xdd-panel/journal.cjs.map} +1 -1
- package/dist/location-details/xdd-panel/journal.d.ts +20 -0
- package/dist/location-details/xdd-panel/journal.js +25 -0
- package/dist/location-details/xdd-panel/journal.js.map +1 -0
- package/dist/location-panel/header.cjs +109 -0
- package/dist/location-panel/header.cjs.map +1 -0
- package/dist/location-panel/header.d.ts +16 -0
- package/dist/location-panel/header.js +109 -0
- package/dist/location-panel/header.js.map +1 -0
- package/dist/location-panel/index.cjs +42 -0
- package/dist/location-panel/index.cjs.map +1 -0
- package/dist/location-panel/index.d.ts +15 -0
- package/dist/location-panel/index.js +42 -0
- package/dist/location-panel/index.js.map +1 -0
- package/dist/location-panel/main.module.sass.cjs +23 -0
- package/dist/location-panel/main.module.sass.cjs.map +1 -0
- package/dist/location-panel/main.module.sass.js +23 -0
- package/dist/location-panel/main.module.sass.js.map +1 -0
- package/dist/main.module.sass.cjs +70 -0
- package/dist/main.module.sass.cjs.map +1 -0
- package/dist/main.module.sass.js +70 -0
- package/dist/main.module.sass.js.map +1 -0
- package/dist/map-interface.css +1060 -0
- package/dist/map-view.cjs +200 -0
- package/dist/map-view.cjs.map +1 -0
- package/dist/map-view.d.ts +41 -0
- package/dist/map-view.js +200 -0
- package/dist/map-view.js.map +1 -0
- package/dist/utils.cjs +35 -0
- package/dist/utils.cjs.map +1 -0
- package/dist/utils.d.ts +7 -0
- package/dist/utils.js +35 -0
- package/dist/utils.js.map +1 -0
- package/package.json +51 -48
- package/src/context-panel/main.module.sass +3 -3
- package/src/dev/main.module.sass +1 -1
- package/src/expansion-panel/main.module.sass +4 -4
- package/src/location-details/fossil-collections/main.module.sass +1 -1
- package/src/location-details/info-blocks.module.sass +35 -0
- package/src/location-details/info-blocks.ts +1 -1
- package/src/location-details/macrostrat-linked.ts +1 -1
- package/src/location-details/{main.module.styl → main.module.sass} +21 -21
- package/src/location-panel/main.module.sass +3 -3
- package/src/main.module.sass +15 -15
- package/dist/cjs/index.js +0 -54
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/map-interface.0e252a74.js +0 -88
- package/dist/cjs/map-interface.0e252a74.js.map +0 -1
- package/dist/cjs/map-interface.11056b04.js +0 -390
- package/dist/cjs/map-interface.11056b04.js.map +0 -1
- package/dist/cjs/map-interface.12e5d744.js +0 -123
- package/dist/cjs/map-interface.12e5d744.js.map +0 -1
- package/dist/cjs/map-interface.1b386e07.css +0 -111
- package/dist/cjs/map-interface.1b386e07.css.map +0 -1
- package/dist/cjs/map-interface.1faa2839.js +0 -14
- package/dist/cjs/map-interface.1faa2839.js.map +0 -1
- package/dist/cjs/map-interface.225c9340.js +0 -71
- package/dist/cjs/map-interface.225c9340.js.map +0 -1
- package/dist/cjs/map-interface.23d5c62c.js +0 -135
- package/dist/cjs/map-interface.23d5c62c.js.map +0 -1
- package/dist/cjs/map-interface.24a1c14e.js +0 -46
- package/dist/cjs/map-interface.24a1c14e.js.map +0 -1
- package/dist/cjs/map-interface.26497065.css +0 -92
- package/dist/cjs/map-interface.26497065.css.map +0 -1
- package/dist/cjs/map-interface.31742bd3.js +0 -65
- package/dist/cjs/map-interface.31742bd3.js.map +0 -1
- package/dist/cjs/map-interface.354aaa39.js +0 -135
- package/dist/cjs/map-interface.354aaa39.js.map +0 -1
- package/dist/cjs/map-interface.368b346c.css +0 -45
- package/dist/cjs/map-interface.368b346c.css.map +0 -1
- package/dist/cjs/map-interface.3ca778c5.js +0 -57
- package/dist/cjs/map-interface.4267aa3a.js +0 -68
- package/dist/cjs/map-interface.4267aa3a.js.map +0 -1
- package/dist/cjs/map-interface.441d3b83.css +0 -69
- package/dist/cjs/map-interface.441d3b83.css.map +0 -1
- package/dist/cjs/map-interface.46d1c77b.js +0 -189
- package/dist/cjs/map-interface.46d1c77b.js.map +0 -1
- package/dist/cjs/map-interface.4a3d9662.js +0 -112
- package/dist/cjs/map-interface.4a3d9662.js.map +0 -1
- package/dist/cjs/map-interface.4a401c1f.css +0 -584
- package/dist/cjs/map-interface.4a401c1f.css.map +0 -1
- package/dist/cjs/map-interface.4c5addca.js +0 -89
- package/dist/cjs/map-interface.4c5addca.js.map +0 -1
- package/dist/cjs/map-interface.5a4f4529.js +0 -38
- package/dist/cjs/map-interface.5a4f4529.js.map +0 -1
- package/dist/cjs/map-interface.633d24e6.css +0 -22
- package/dist/cjs/map-interface.633d24e6.css.map +0 -1
- package/dist/cjs/map-interface.67001b26.js +0 -66
- package/dist/cjs/map-interface.67001b26.js.map +0 -1
- package/dist/cjs/map-interface.69b2e2a9.js +0 -25
- package/dist/cjs/map-interface.69b2e2a9.js.map +0 -1
- package/dist/cjs/map-interface.70458f75.js +0 -26
- package/dist/cjs/map-interface.70458f75.js.map +0 -1
- package/dist/cjs/map-interface.7170f35e.js +0 -65
- package/dist/cjs/map-interface.7170f35e.js.map +0 -1
- package/dist/cjs/map-interface.7509f2c1.js +0 -29
- package/dist/cjs/map-interface.7509f2c1.js.map +0 -1
- package/dist/cjs/map-interface.7bdbe4b6.js +0 -220
- package/dist/cjs/map-interface.7bdbe4b6.js.map +0 -1
- package/dist/cjs/map-interface.8d67cc21.js +0 -100
- package/dist/cjs/map-interface.8d67cc21.js.map +0 -1
- package/dist/cjs/map-interface.99a048dc.js +0 -79
- package/dist/cjs/map-interface.99a048dc.js.map +0 -1
- package/dist/cjs/map-interface.a3c2552f.js +0 -33
- package/dist/cjs/map-interface.a3c2552f.js.map +0 -1
- package/dist/cjs/map-interface.a960d638.js +0 -185
- package/dist/cjs/map-interface.a960d638.js.map +0 -1
- package/dist/cjs/map-interface.a9fe0f5d.js +0 -170
- package/dist/cjs/map-interface.a9fe0f5d.js.map +0 -1
- package/dist/cjs/map-interface.abe5fe65.js +0 -50
- package/dist/cjs/map-interface.abe5fe65.js.map +0 -1
- package/dist/cjs/map-interface.adb45df9.css +0 -191
- package/dist/cjs/map-interface.adb45df9.css.map +0 -1
- package/dist/cjs/map-interface.ae4c52a6.css +0 -52
- package/dist/cjs/map-interface.ae4c52a6.css.map +0 -1
- package/dist/cjs/map-interface.bda26b27.js +0 -134
- package/dist/cjs/map-interface.bda26b27.js.map +0 -1
- package/dist/cjs/map-interface.c5061c96.js +0 -36
- package/dist/cjs/map-interface.c5061c96.js.map +0 -1
- package/dist/cjs/map-interface.cd485bb4.js +0 -41
- package/dist/cjs/map-interface.cd485bb4.js.map +0 -1
- package/dist/cjs/map-interface.cf6c9a68.js +0 -208
- package/dist/cjs/map-interface.cf6c9a68.js.map +0 -1
- package/dist/cjs/map-interface.e74ded77.js +0 -135
- package/dist/cjs/map-interface.e74ded77.js.map +0 -1
- package/dist/cjs/map-interface.e975d65c.js +0 -23
- package/dist/cjs/map-interface.e975d65c.js.map +0 -1
- package/dist/cjs/map-interface.e9bcd5c0.js +0 -268
- package/dist/cjs/map-interface.e9bcd5c0.js.map +0 -1
- package/dist/cjs/map-interface.f8826069.js +0 -46
- package/dist/cjs/map-interface.f8826069.js.map +0 -1
- package/dist/cjs/map-interface.f9611285.js +0 -32
- package/dist/cjs/map-interface.f9611285.js.map +0 -1
- package/dist/cjs/map-interface.ffb109ef.js +0 -46
- package/dist/cjs/map-interface.ffb109ef.js.map +0 -1
- package/dist/esm/index.d.ts +0 -334
- 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/esm/map-interface.01826888.js +0 -67
- package/dist/esm/map-interface.01826888.js.map +0 -1
- package/dist/esm/map-interface.021cf79b.js +0 -18
- package/dist/esm/map-interface.021cf79b.js.map +0 -1
- package/dist/esm/map-interface.065737fe.js +0 -172
- package/dist/esm/map-interface.065737fe.js.map +0 -1
- package/dist/esm/map-interface.0b1aa8f2.js +0 -81
- package/dist/esm/map-interface.0b1aa8f2.js.map +0 -1
- package/dist/esm/map-interface.1843c708.js +0 -83
- package/dist/esm/map-interface.1843c708.js.map +0 -1
- package/dist/esm/map-interface.1d38872e.js +0 -385
- package/dist/esm/map-interface.1d38872e.js.map +0 -1
- package/dist/esm/map-interface.1db44824.js +0 -24
- package/dist/esm/map-interface.1db44824.js.map +0 -1
- package/dist/esm/map-interface.22ea3934.js +0 -41
- package/dist/esm/map-interface.22ea3934.js.map +0 -1
- package/dist/esm/map-interface.2350f590.js +0 -48
- package/dist/esm/map-interface.2350f590.js.map +0 -1
- package/dist/esm/map-interface.27587c50.js +0 -126
- package/dist/esm/map-interface.27587c50.js.map +0 -1
- package/dist/esm/map-interface.2892a5fb.js +0 -178
- package/dist/esm/map-interface.2892a5fb.js.map +0 -1
- package/dist/esm/map-interface.3033c825.js +0 -40
- package/dist/esm/map-interface.3033c825.js.map +0 -1
- package/dist/esm/map-interface.3f07937e.js +0 -124
- package/dist/esm/map-interface.3f07937e.js.map +0 -1
- package/dist/esm/map-interface.473f1f2b.js +0 -28
- package/dist/esm/map-interface.473f1f2b.js.map +0 -1
- package/dist/esm/map-interface.50edfdfd.js +0 -74
- package/dist/esm/map-interface.50edfdfd.js.map +0 -1
- package/dist/esm/map-interface.557de808.js +0 -13
- package/dist/esm/map-interface.557de808.js.map +0 -1
- package/dist/esm/map-interface.578a7505.js +0 -130
- package/dist/esm/map-interface.578a7505.js.map +0 -1
- package/dist/esm/map-interface.59896194.js +0 -37
- package/dist/esm/map-interface.59896194.js.map +0 -1
- package/dist/esm/map-interface.64c62ba1.js +0 -62
- package/dist/esm/map-interface.64c62ba1.js.map +0 -1
- package/dist/esm/map-interface.672c2e0b.js +0 -182
- package/dist/esm/map-interface.672c2e0b.js.map +0 -1
- package/dist/esm/map-interface.6e65dcaf.js +0 -58
- package/dist/esm/map-interface.6e65dcaf.js.map +0 -1
- package/dist/esm/map-interface.70d6a7ff.js +0 -16
- package/dist/esm/map-interface.70d6a7ff.js.map +0 -1
- package/dist/esm/map-interface.72b1bfba.js +0 -94
- package/dist/esm/map-interface.72b1bfba.js.map +0 -1
- package/dist/esm/map-interface.786d6e58.js +0 -258
- package/dist/esm/map-interface.786d6e58.js.map +0 -1
- package/dist/esm/map-interface.7ea8a1e0.js +0 -40
- package/dist/esm/map-interface.7ea8a1e0.js.map +0 -1
- package/dist/esm/map-interface.9152234b.js +0 -114
- package/dist/esm/map-interface.9152234b.js.map +0 -1
- package/dist/esm/map-interface.957e414c.js +0 -52
- package/dist/esm/map-interface.957e414c.js.map +0 -1
- package/dist/esm/map-interface.a03a7a23.js +0 -16
- package/dist/esm/map-interface.a03a7a23.js.map +0 -1
- package/dist/esm/map-interface.a8c94450.js +0 -55
- package/dist/esm/map-interface.a8c94450.js.map +0 -1
- package/dist/esm/map-interface.bdef07d2.js +0 -34
- package/dist/esm/map-interface.bdef07d2.js.map +0 -1
- package/dist/esm/map-interface.c2a61cbf.js +0 -62
- package/dist/esm/map-interface.c2a61cbf.js.map +0 -1
- package/dist/esm/map-interface.c52c2fec.js +0 -130
- package/dist/esm/map-interface.c52c2fec.js.map +0 -1
- package/dist/esm/map-interface.c99b53b6.js +0 -43
- package/dist/esm/map-interface.c99b53b6.js.map +0 -1
- package/dist/esm/map-interface.ca1ee406.js +0 -214
- package/dist/esm/map-interface.ca1ee406.js.map +0 -1
- package/dist/esm/map-interface.e418553b.js +0 -107
- package/dist/esm/map-interface.e418553b.js.map +0 -1
- package/dist/esm/map-interface.e63d862d.js +0 -15
- package/dist/esm/map-interface.e63d862d.js.map +0 -1
- package/dist/esm/map-interface.f7b8bdb7.js +0 -192
- package/dist/esm/map-interface.f7b8bdb7.js.map +0 -1
- package/dist/node/index.js +0 -2
- package/dist/node/index.js.map +0 -1
- package/dist/node/map-interface.07882229.css +0 -2
- package/dist/node/map-interface.07882229.css.map +0 -1
- package/dist/node/map-interface.0e71fd95.js +0 -2
- package/dist/node/map-interface.0e71fd95.js.map +0 -1
- package/dist/node/map-interface.10f5ef81.js +0 -2
- package/dist/node/map-interface.10f5ef81.js.map +0 -1
- package/dist/node/map-interface.1a5eecac.js +0 -2
- package/dist/node/map-interface.1a5eecac.js.map +0 -1
- package/dist/node/map-interface.1be49df8.css +0 -2
- package/dist/node/map-interface.1be49df8.css.map +0 -1
- package/dist/node/map-interface.254e457a.js +0 -2
- package/dist/node/map-interface.254e457a.js.map +0 -1
- package/dist/node/map-interface.2d12b35c.js +0 -2
- package/dist/node/map-interface.2d12b35c.js.map +0 -1
- package/dist/node/map-interface.33b7734a.js +0 -2
- package/dist/node/map-interface.33b7734a.js.map +0 -1
- package/dist/node/map-interface.3ea55e0c.js +0 -2
- package/dist/node/map-interface.3ea55e0c.js.map +0 -1
- package/dist/node/map-interface.41e916d1.js +0 -2
- package/dist/node/map-interface.41e916d1.js.map +0 -1
- package/dist/node/map-interface.42ef081d.css +0 -2
- package/dist/node/map-interface.42ef081d.css.map +0 -1
- package/dist/node/map-interface.47b81f95.js +0 -2
- package/dist/node/map-interface.47b81f95.js.map +0 -1
- package/dist/node/map-interface.4b4f8fdf.js +0 -2
- package/dist/node/map-interface.4b4f8fdf.js.map +0 -1
- package/dist/node/map-interface.4df6e2c7.js +0 -2
- package/dist/node/map-interface.4df6e2c7.js.map +0 -1
- package/dist/node/map-interface.5736d6f8.js +0 -2
- package/dist/node/map-interface.5736d6f8.js.map +0 -1
- package/dist/node/map-interface.593e09ed.js +0 -2
- package/dist/node/map-interface.593e09ed.js.map +0 -1
- package/dist/node/map-interface.62b147ce.js +0 -2
- package/dist/node/map-interface.62b147ce.js.map +0 -1
- package/dist/node/map-interface.6314eef1.js +0 -2
- package/dist/node/map-interface.6314eef1.js.map +0 -1
- package/dist/node/map-interface.713361a4.js +0 -2
- package/dist/node/map-interface.713361a4.js.map +0 -1
- package/dist/node/map-interface.722387fb.js +0 -2
- package/dist/node/map-interface.722387fb.js.map +0 -1
- package/dist/node/map-interface.78e05655.js +0 -2
- package/dist/node/map-interface.78e05655.js.map +0 -1
- package/dist/node/map-interface.7aaa58c9.js +0 -2
- package/dist/node/map-interface.7aaa58c9.js.map +0 -1
- package/dist/node/map-interface.83fa8028.js +0 -2
- package/dist/node/map-interface.83fa8028.js.map +0 -1
- package/dist/node/map-interface.9317d050.js +0 -2
- package/dist/node/map-interface.9317d050.js.map +0 -1
- package/dist/node/map-interface.971af4bc.js +0 -2
- package/dist/node/map-interface.971af4bc.js.map +0 -1
- package/dist/node/map-interface.9824c03a.js +0 -2
- package/dist/node/map-interface.9824c03a.js.map +0 -1
- package/dist/node/map-interface.992dea73.js +0 -2
- package/dist/node/map-interface.992dea73.js.map +0 -1
- package/dist/node/map-interface.a1252092.css +0 -2
- package/dist/node/map-interface.a1252092.css.map +0 -1
- package/dist/node/map-interface.a8a16138.js +0 -2
- package/dist/node/map-interface.a8a16138.js.map +0 -1
- package/dist/node/map-interface.ae3d2d83.js +0 -2
- package/dist/node/map-interface.ae3d2d83.js.map +0 -1
- package/dist/node/map-interface.b0e1ad1b.js +0 -2
- package/dist/node/map-interface.b0e1ad1b.js.map +0 -1
- package/dist/node/map-interface.b14f08e8.js +0 -2
- package/dist/node/map-interface.b14f08e8.js.map +0 -1
- package/dist/node/map-interface.b33fab5e.js +0 -2
- package/dist/node/map-interface.b33fab5e.js.map +0 -1
- package/dist/node/map-interface.bd78832e.css +0 -2
- package/dist/node/map-interface.bd78832e.css.map +0 -1
- package/dist/node/map-interface.bf86da7c.js +0 -2
- package/dist/node/map-interface.bf86da7c.js.map +0 -1
- package/dist/node/map-interface.c5c0ad06.js +0 -2
- package/dist/node/map-interface.c5c0ad06.js.map +0 -1
- package/dist/node/map-interface.d22d91e9.css +0 -2
- package/dist/node/map-interface.d22d91e9.css.map +0 -1
- package/dist/node/map-interface.d2fce135.css +0 -2
- package/dist/node/map-interface.d2fce135.css.map +0 -1
- package/dist/node/map-interface.d5eba479.css +0 -2
- package/dist/node/map-interface.d5eba479.css.map +0 -1
- package/dist/node/map-interface.e7598785.js +0 -2
- package/dist/node/map-interface.e7598785.js.map +0 -1
- package/dist/node/map-interface.ed6b5586.js +0 -2
- package/dist/node/map-interface.ed6b5586.js.map +0 -1
- package/dist/node/map-interface.f13f7aeb.js +0 -2
- package/dist/node/map-interface.f13f7aeb.js.map +0 -1
- package/dist/node/map-interface.f413c362.js +0 -2
- package/dist/node/map-interface.f413c362.js.map +0 -1
- package/dist/node/map-interface.f4d2a5eb.js +0 -2
- package/dist/node/map-interface.f4d2a5eb.js.map +0 -1
- package/dist/node/map-interface.fdd35e74.js +0 -2
- package/dist/node/map-interface.fdd35e74.js.map +0 -1
- package/src/location-details/info-blocks.module.styl +0 -39
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"article.cjs","sources":["../../../src/location-details/xdd-panel/article.ts"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Collapse, Button } from \"@blueprintjs/core\";\nimport { AuthorList } from \"@macrostrat/ui-components\";\nimport h from \"@macrostrat/hyper\";\n\nexport function Article(props) {\n const [expanded, setExpanded] = useState(false);\n const { data } = props;\n\n const toggleExpand = () => {\n setExpanded(!expanded);\n };\n\n // Attempt to pull out only the year and not the whole date\n let year;\n try {\n year = data.coverDate ? data.coverDate.match(/\\d{4}/)[0] : \"\";\n } catch (e) {\n year = \"\";\n }\n\n const authors = data?.authors?.split(\"; \") ?? [];\n\n const authorList =\n authors.length > 0 ? h(AuthorList, { names: authors }) : \"Unknown\";\n\n const iconName = expanded ? \"chevron-up\" : \"chevron-down\";\n\n return h(\"div.article\", [\n h(\"div.article-title\", [\n h(\"p.article-author\", [authorList, year.length ? ` ${year}. ` : \"\"]),\n h(\n \"a.title-link\",\n { href: data.URL, target: \"_blank\" },\n h(\"strong\", [data.title + \".\"]),\n ),\n h(\n \"span\",\n {},\n h(Button, {\n onClick: toggleExpand,\n minimal: true,\n rightIcon: iconName,\n className: \"flat-btn\",\n }),\n ),\n ]),\n h(\n Collapse,\n { isOpen: expanded },\n h(\n \"span\",\n { className: expanded ? \"\" : \"hidden\" },\n h(\n \"div.quotes\",\n {},\n data.highlight.map((snippet, si) =>\n h(\"p.gdd-snippet\", {\n key: si,\n dangerouslySetInnerHTML: { __html: `...${snippet}...` },\n }),\n ),\n ),\n ),\n ),\n ]);\n}\n"],"names":["useState","AuthorList","Button","Collapse"],"mappings":";;;;;;AAKO,SAAS,QAAQ,OAAO;AAC7B,QAAM,CAAC,UAAU,WAAW,IAAIA,MAAAA,SAAS,KAAK;AAC9C,QAAM,EAAE,SAAS;AAEjB,QAAM,eAAe,MAAM;AACzB,gBAAY,CAAC,QAAQ;AAAA,EACvB;AAGA,MAAI;AACJ,MAAI;AACF,WAAO,KAAK,YAAY,KAAK,UAAU,MAAM,OAAO,EAAE,CAAC,IAAI;AAAA,EAC7D,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,MAAM,SAAS,MAAM,IAAI,KAAK,CAAA;AAE9C,QAAM,aACJ,QAAQ,SAAS,IAAI,EAAEC,aAAAA,YAAY,EAAE,OAAO,QAAA,CAAS,IAAI;AAE3D,QAAM,WAAW,WAAW,eAAe;AAE3C,SAAO,EAAE,eAAe;AAAA,IACtB,EAAE,qBAAqB;AAAA,MACrB,EAAE,oBAAoB,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,OAAO,EAAE,CAAC;AAAA,MACnE;AAAA,QACE;AAAA,QACA,EAAE,MAAM,KAAK,KAAK,QAAQ,SAAA;AAAA,QAC1B,EAAE,UAAU,CAAC,KAAK,QAAQ,GAAG,CAAC;AAAA,MAAA;AAAA,MAEhC;AAAA,QACE;AAAA,QACA,CAAA;AAAA,QACA,EAAEC,KAAAA,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,SAAS;AAAA,UACT,WAAW;AAAA,UACX,WAAW;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAAA,IACD;AAAA,MACEC,KAAAA;AAAAA,MACA,EAAE,QAAQ,SAAA;AAAA,MACV;AAAA,QACE;AAAA,QACA,EAAE,WAAW,WAAW,KAAK,SAAA;AAAA,QAC7B;AAAA,UACE;AAAA,UACA,CAAA;AAAA,UACA,KAAK,UAAU;AAAA,YAAI,CAAC,SAAS,OAC3B,EAAE,iBAAiB;AAAA,cACjB,KAAK;AAAA,cACL,yBAAyB,EAAE,QAAQ,MAAM,OAAO,MAAA;AAAA,YAAM,CACvD;AAAA,UAAA;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF,CACD;AACH;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function Article(props: any): import('react').DOMElement<import('react').DOMAttributes<Element>, Element>;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { useState } from "react";
|
|
2
|
+
import { Button, Collapse } from "@blueprintjs/core";
|
|
3
|
+
import { AuthorList } from "@macrostrat/ui-components";
|
|
4
|
+
import h from "@macrostrat/hyper";
|
|
5
|
+
function Article(props) {
|
|
6
|
+
const [expanded, setExpanded] = useState(false);
|
|
7
|
+
const { data } = props;
|
|
8
|
+
const toggleExpand = () => {
|
|
9
|
+
setExpanded(!expanded);
|
|
10
|
+
};
|
|
11
|
+
let year;
|
|
12
|
+
try {
|
|
13
|
+
year = data.coverDate ? data.coverDate.match(/\d{4}/)[0] : "";
|
|
14
|
+
} catch (e) {
|
|
15
|
+
year = "";
|
|
16
|
+
}
|
|
17
|
+
const authors = data?.authors?.split("; ") ?? [];
|
|
18
|
+
const authorList = authors.length > 0 ? h(AuthorList, { names: authors }) : "Unknown";
|
|
19
|
+
const iconName = expanded ? "chevron-up" : "chevron-down";
|
|
20
|
+
return h("div.article", [
|
|
21
|
+
h("div.article-title", [
|
|
22
|
+
h("p.article-author", [authorList, year.length ? ` ${year}. ` : ""]),
|
|
23
|
+
h(
|
|
24
|
+
"a.title-link",
|
|
25
|
+
{ href: data.URL, target: "_blank" },
|
|
26
|
+
h("strong", [data.title + "."])
|
|
27
|
+
),
|
|
28
|
+
h(
|
|
29
|
+
"span",
|
|
30
|
+
{},
|
|
31
|
+
h(Button, {
|
|
32
|
+
onClick: toggleExpand,
|
|
33
|
+
minimal: true,
|
|
34
|
+
rightIcon: iconName,
|
|
35
|
+
className: "flat-btn"
|
|
36
|
+
})
|
|
37
|
+
)
|
|
38
|
+
]),
|
|
39
|
+
h(
|
|
40
|
+
Collapse,
|
|
41
|
+
{ isOpen: expanded },
|
|
42
|
+
h(
|
|
43
|
+
"span",
|
|
44
|
+
{ className: expanded ? "" : "hidden" },
|
|
45
|
+
h(
|
|
46
|
+
"div.quotes",
|
|
47
|
+
{},
|
|
48
|
+
data.highlight.map(
|
|
49
|
+
(snippet, si) => h("p.gdd-snippet", {
|
|
50
|
+
key: si,
|
|
51
|
+
dangerouslySetInnerHTML: { __html: `...${snippet}...` }
|
|
52
|
+
})
|
|
53
|
+
)
|
|
54
|
+
)
|
|
55
|
+
)
|
|
56
|
+
)
|
|
57
|
+
]);
|
|
58
|
+
}
|
|
59
|
+
export {
|
|
60
|
+
Article
|
|
61
|
+
};
|
|
62
|
+
//# sourceMappingURL=article.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"article.js","sources":["../../../src/location-details/xdd-panel/article.ts"],"sourcesContent":["import React, { useState } from \"react\";\nimport { Collapse, Button } from \"@blueprintjs/core\";\nimport { AuthorList } from \"@macrostrat/ui-components\";\nimport h from \"@macrostrat/hyper\";\n\nexport function Article(props) {\n const [expanded, setExpanded] = useState(false);\n const { data } = props;\n\n const toggleExpand = () => {\n setExpanded(!expanded);\n };\n\n // Attempt to pull out only the year and not the whole date\n let year;\n try {\n year = data.coverDate ? data.coverDate.match(/\\d{4}/)[0] : \"\";\n } catch (e) {\n year = \"\";\n }\n\n const authors = data?.authors?.split(\"; \") ?? [];\n\n const authorList =\n authors.length > 0 ? h(AuthorList, { names: authors }) : \"Unknown\";\n\n const iconName = expanded ? \"chevron-up\" : \"chevron-down\";\n\n return h(\"div.article\", [\n h(\"div.article-title\", [\n h(\"p.article-author\", [authorList, year.length ? ` ${year}. ` : \"\"]),\n h(\n \"a.title-link\",\n { href: data.URL, target: \"_blank\" },\n h(\"strong\", [data.title + \".\"]),\n ),\n h(\n \"span\",\n {},\n h(Button, {\n onClick: toggleExpand,\n minimal: true,\n rightIcon: iconName,\n className: \"flat-btn\",\n }),\n ),\n ]),\n h(\n Collapse,\n { isOpen: expanded },\n h(\n \"span\",\n { className: expanded ? \"\" : \"hidden\" },\n h(\n \"div.quotes\",\n {},\n data.highlight.map((snippet, si) =>\n h(\"p.gdd-snippet\", {\n key: si,\n dangerouslySetInnerHTML: { __html: `...${snippet}...` },\n }),\n ),\n ),\n ),\n ),\n ]);\n}\n"],"names":[],"mappings":";;;;AAKO,SAAS,QAAQ,OAAO;AAC7B,QAAM,CAAC,UAAU,WAAW,IAAI,SAAS,KAAK;AAC9C,QAAM,EAAE,SAAS;AAEjB,QAAM,eAAe,MAAM;AACzB,gBAAY,CAAC,QAAQ;AAAA,EACvB;AAGA,MAAI;AACJ,MAAI;AACF,WAAO,KAAK,YAAY,KAAK,UAAU,MAAM,OAAO,EAAE,CAAC,IAAI;AAAA,EAC7D,SAAS,GAAG;AACV,WAAO;AAAA,EACT;AAEA,QAAM,UAAU,MAAM,SAAS,MAAM,IAAI,KAAK,CAAA;AAE9C,QAAM,aACJ,QAAQ,SAAS,IAAI,EAAE,YAAY,EAAE,OAAO,QAAA,CAAS,IAAI;AAE3D,QAAM,WAAW,WAAW,eAAe;AAE3C,SAAO,EAAE,eAAe;AAAA,IACtB,EAAE,qBAAqB;AAAA,MACrB,EAAE,oBAAoB,CAAC,YAAY,KAAK,SAAS,IAAI,IAAI,OAAO,EAAE,CAAC;AAAA,MACnE;AAAA,QACE;AAAA,QACA,EAAE,MAAM,KAAK,KAAK,QAAQ,SAAA;AAAA,QAC1B,EAAE,UAAU,CAAC,KAAK,QAAQ,GAAG,CAAC;AAAA,MAAA;AAAA,MAEhC;AAAA,QACE;AAAA,QACA,CAAA;AAAA,QACA,EAAE,QAAQ;AAAA,UACR,SAAS;AAAA,UACT,SAAS;AAAA,UACT,WAAW;AAAA,UACX,WAAW;AAAA,QAAA,CACZ;AAAA,MAAA;AAAA,IACH,CACD;AAAA,IACD;AAAA,MACE;AAAA,MACA,EAAE,QAAQ,SAAA;AAAA,MACV;AAAA,QACE;AAAA,QACA,EAAE,WAAW,WAAW,KAAK,SAAA;AAAA,QAC7B;AAAA,UACE;AAAA,UACA,CAAA;AAAA,UACA,KAAK,UAAU;AAAA,YAAI,CAAC,SAAS,OAC3B,EAAE,iBAAiB;AAAA,cACjB,KAAK;AAAA,cACL,yBAAyB,EAAE,QAAQ,MAAM,OAAO,MAAA;AAAA,YAAM,CACvD;AAAA,UAAA;AAAA,QACH;AAAA,MACF;AAAA,IACF;AAAA,EACF,CACD;AACH;"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const core = require("@blueprintjs/core");
|
|
4
|
+
const h = require("@macrostrat/hyper");
|
|
5
|
+
const journal = require("./journal.cjs");
|
|
6
|
+
const mapInterface = require("@macrostrat/map-interface");
|
|
7
|
+
function XddExpansion({
|
|
8
|
+
xddInfo,
|
|
9
|
+
expanded = false,
|
|
10
|
+
nestedExpanded = true
|
|
11
|
+
}) {
|
|
12
|
+
return h(xDDPanelCore, {
|
|
13
|
+
className: "regional-panel",
|
|
14
|
+
data: xddInfo,
|
|
15
|
+
isFetching: xddInfo == void 0 || xddInfo.length === 0,
|
|
16
|
+
expanded,
|
|
17
|
+
nestedExpanded
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
function xDDPanelCore({
|
|
21
|
+
isFetching,
|
|
22
|
+
data: xddInfo,
|
|
23
|
+
expanded,
|
|
24
|
+
nestedExpanded,
|
|
25
|
+
...rest
|
|
26
|
+
}) {
|
|
27
|
+
const groupedData = groupSnippetsByJournal(xddInfo);
|
|
28
|
+
return h(
|
|
29
|
+
mapInterface.ExpansionPanel,
|
|
30
|
+
{
|
|
31
|
+
className: "regional-panel",
|
|
32
|
+
title: "Primary literature",
|
|
33
|
+
helpText: "via xDD",
|
|
34
|
+
...rest,
|
|
35
|
+
expanded
|
|
36
|
+
},
|
|
37
|
+
[
|
|
38
|
+
h.if(isFetching)(core.Spinner),
|
|
39
|
+
h.if(!isFetching && xddInfo.length > 0)([
|
|
40
|
+
Array.from(groupedData.entries())?.map(([journal$1, snippets]) => {
|
|
41
|
+
return h(journal.JournalLegacy, {
|
|
42
|
+
nestedExpanded,
|
|
43
|
+
name: journal$1,
|
|
44
|
+
articles: snippets,
|
|
45
|
+
publisher: snippets[0].publisher,
|
|
46
|
+
key: journal$1
|
|
47
|
+
});
|
|
48
|
+
})
|
|
49
|
+
])
|
|
50
|
+
]
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
function groupSnippetsByJournal(snippets) {
|
|
54
|
+
const journals = /* @__PURE__ */ new Map();
|
|
55
|
+
if (!snippets || snippets.length === 0) {
|
|
56
|
+
return journals;
|
|
57
|
+
}
|
|
58
|
+
for (let snippet of snippets) {
|
|
59
|
+
const { pubname: journal2 } = snippet;
|
|
60
|
+
if (!journals.has(journal2)) {
|
|
61
|
+
journals.set(journal2, []);
|
|
62
|
+
}
|
|
63
|
+
journals.get(journal2).push(snippet);
|
|
64
|
+
}
|
|
65
|
+
return journals;
|
|
66
|
+
}
|
|
67
|
+
exports.XddExpansion = XddExpansion;
|
|
68
|
+
exports.xDDPanelCore = xDDPanelCore;
|
|
69
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/location-details/xdd-panel/index.ts"],"sourcesContent":["import { Spinner } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport { XDDSnippet, JournalLegacy } from \"./journal\";\nimport { ExpansionPanel } from \"@macrostrat/map-interface\";\n\nexport function XddExpansion({\n xddInfo,\n expanded = false,\n nestedExpanded = true,\n}) {\n return h(xDDPanelCore, {\n className: \"regional-panel\",\n data: xddInfo,\n isFetching: xddInfo == undefined || xddInfo.length === 0,\n expanded,\n nestedExpanded,\n });\n}\n\nexport function xDDPanelCore({\n isFetching,\n data: xddInfo,\n expanded,\n nestedExpanded,\n ...rest\n}) {\n const groupedData = groupSnippetsByJournal(xddInfo);\n\n return h(\n ExpansionPanel,\n {\n className: \"regional-panel\",\n title: \"Primary literature\",\n helpText: \"via xDD\",\n ...rest,\n expanded,\n },\n [\n h.if(isFetching)(Spinner),\n h.if(!isFetching && xddInfo.length > 0)([\n Array.from(groupedData.entries())?.map(([journal, snippets]) => {\n return h(JournalLegacy, {\n nestedExpanded,\n name: journal,\n articles: snippets,\n publisher: snippets[0].publisher,\n key: journal,\n });\n }),\n ]),\n ],\n );\n}\n\nfunction groupSnippetsByJournal(\n snippets: XDDSnippet[],\n): Map<string, XDDSnippet[]> {\n const journals = new Map<string, XDDSnippet[]>();\n if (!snippets || snippets.length === 0) {\n return journals;\n }\n for (let snippet of snippets) {\n const { pubname: journal } = snippet;\n if (!journals.has(journal)) {\n journals.set(journal, []);\n }\n journals.get(journal).push(snippet);\n }\n return journals;\n}\n"],"names":["ExpansionPanel","Spinner","journal","JournalLegacy"],"mappings":";;;;;;AAKO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,WAAW;AAAA,EACX,iBAAiB;AACnB,GAAG;AACD,SAAO,EAAE,cAAc;AAAA,IACrB,WAAW;AAAA,IACX,MAAM;AAAA,IACN,YAAY,WAAW,UAAa,QAAQ,WAAW;AAAA,IACvD;AAAA,IACA;AAAA,EAAA,CACD;AACH;AAEO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAG;AACD,QAAM,cAAc,uBAAuB,OAAO;AAElD,SAAO;AAAA,IACLA,aAAAA;AAAAA,IACA;AAAA,MACE,WAAW;AAAA,MACX,OAAO;AAAA,MACP,UAAU;AAAA,MACV,GAAG;AAAA,MACH;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,EAAE,GAAG,UAAU,EAAEC,YAAO;AAAA,MACxB,EAAE,GAAG,CAAC,cAAc,QAAQ,SAAS,CAAC,EAAE;AAAA,QACtC,MAAM,KAAK,YAAY,QAAA,CAAS,GAAG,IAAI,CAAC,CAACC,WAAS,QAAQ,MAAM;AAC9D,iBAAO,EAAEC,QAAAA,eAAe;AAAA,YACtB;AAAA,YACA,MAAMD;AAAAA,YACN,UAAU;AAAA,YACV,WAAW,SAAS,CAAC,EAAE;AAAA,YACvB,KAAKA;AAAAA,UAAA,CACN;AAAA,QACH,CAAC;AAAA,MAAA,CACF;AAAA,IAAA;AAAA,EACH;AAEJ;AAEA,SAAS,uBACP,UAC2B;AAC3B,QAAM,+BAAe,IAAA;AACrB,MAAI,CAAC,YAAY,SAAS,WAAW,GAAG;AACtC,WAAO;AAAA,EACT;AACA,WAAS,WAAW,UAAU;AAC5B,UAAM,EAAE,SAASA,SAAA,IAAY;AAC7B,QAAI,CAAC,SAAS,IAAIA,QAAO,GAAG;AAC1B,eAAS,IAAIA,UAAS,EAAE;AAAA,IAC1B;AACA,aAAS,IAAIA,QAAO,EAAE,KAAK,OAAO;AAAA,EACpC;AACA,SAAO;AACT;;;"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare function XddExpansion({ xddInfo, expanded, nestedExpanded, }: {
|
|
2
|
+
xddInfo: any;
|
|
3
|
+
expanded?: boolean;
|
|
4
|
+
nestedExpanded?: boolean;
|
|
5
|
+
}): import('react').FunctionComponentElement<{
|
|
6
|
+
[x: string]: any;
|
|
7
|
+
isFetching: any;
|
|
8
|
+
data: any;
|
|
9
|
+
expanded: any;
|
|
10
|
+
nestedExpanded: any;
|
|
11
|
+
}>;
|
|
12
|
+
export declare function xDDPanelCore({ isFetching, data: xddInfo, expanded, nestedExpanded, ...rest }: {
|
|
13
|
+
[x: string]: any;
|
|
14
|
+
isFetching: any;
|
|
15
|
+
data: any;
|
|
16
|
+
expanded: any;
|
|
17
|
+
nestedExpanded: any;
|
|
18
|
+
}): import('react').FunctionComponentElement<any>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { Spinner } from "@blueprintjs/core";
|
|
2
|
+
import h from "@macrostrat/hyper";
|
|
3
|
+
import { JournalLegacy } from "./journal.js";
|
|
4
|
+
import { ExpansionPanel } from "@macrostrat/map-interface";
|
|
5
|
+
function XddExpansion({
|
|
6
|
+
xddInfo,
|
|
7
|
+
expanded = false,
|
|
8
|
+
nestedExpanded = true
|
|
9
|
+
}) {
|
|
10
|
+
return h(xDDPanelCore, {
|
|
11
|
+
className: "regional-panel",
|
|
12
|
+
data: xddInfo,
|
|
13
|
+
isFetching: xddInfo == void 0 || xddInfo.length === 0,
|
|
14
|
+
expanded,
|
|
15
|
+
nestedExpanded
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
function xDDPanelCore({
|
|
19
|
+
isFetching,
|
|
20
|
+
data: xddInfo,
|
|
21
|
+
expanded,
|
|
22
|
+
nestedExpanded,
|
|
23
|
+
...rest
|
|
24
|
+
}) {
|
|
25
|
+
const groupedData = groupSnippetsByJournal(xddInfo);
|
|
26
|
+
return h(
|
|
27
|
+
ExpansionPanel,
|
|
28
|
+
{
|
|
29
|
+
className: "regional-panel",
|
|
30
|
+
title: "Primary literature",
|
|
31
|
+
helpText: "via xDD",
|
|
32
|
+
...rest,
|
|
33
|
+
expanded
|
|
34
|
+
},
|
|
35
|
+
[
|
|
36
|
+
h.if(isFetching)(Spinner),
|
|
37
|
+
h.if(!isFetching && xddInfo.length > 0)([
|
|
38
|
+
Array.from(groupedData.entries())?.map(([journal, snippets]) => {
|
|
39
|
+
return h(JournalLegacy, {
|
|
40
|
+
nestedExpanded,
|
|
41
|
+
name: journal,
|
|
42
|
+
articles: snippets,
|
|
43
|
+
publisher: snippets[0].publisher,
|
|
44
|
+
key: journal
|
|
45
|
+
});
|
|
46
|
+
})
|
|
47
|
+
])
|
|
48
|
+
]
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
function groupSnippetsByJournal(snippets) {
|
|
52
|
+
const journals = /* @__PURE__ */ new Map();
|
|
53
|
+
if (!snippets || snippets.length === 0) {
|
|
54
|
+
return journals;
|
|
55
|
+
}
|
|
56
|
+
for (let snippet of snippets) {
|
|
57
|
+
const { pubname: journal } = snippet;
|
|
58
|
+
if (!journals.has(journal)) {
|
|
59
|
+
journals.set(journal, []);
|
|
60
|
+
}
|
|
61
|
+
journals.get(journal).push(snippet);
|
|
62
|
+
}
|
|
63
|
+
return journals;
|
|
64
|
+
}
|
|
65
|
+
export {
|
|
66
|
+
XddExpansion,
|
|
67
|
+
xDDPanelCore
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/location-details/xdd-panel/index.ts"],"sourcesContent":["import { Spinner } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport { XDDSnippet, JournalLegacy } from \"./journal\";\nimport { ExpansionPanel } from \"@macrostrat/map-interface\";\n\nexport function XddExpansion({\n xddInfo,\n expanded = false,\n nestedExpanded = true,\n}) {\n return h(xDDPanelCore, {\n className: \"regional-panel\",\n data: xddInfo,\n isFetching: xddInfo == undefined || xddInfo.length === 0,\n expanded,\n nestedExpanded,\n });\n}\n\nexport function xDDPanelCore({\n isFetching,\n data: xddInfo,\n expanded,\n nestedExpanded,\n ...rest\n}) {\n const groupedData = groupSnippetsByJournal(xddInfo);\n\n return h(\n ExpansionPanel,\n {\n className: \"regional-panel\",\n title: \"Primary literature\",\n helpText: \"via xDD\",\n ...rest,\n expanded,\n },\n [\n h.if(isFetching)(Spinner),\n h.if(!isFetching && xddInfo.length > 0)([\n Array.from(groupedData.entries())?.map(([journal, snippets]) => {\n return h(JournalLegacy, {\n nestedExpanded,\n name: journal,\n articles: snippets,\n publisher: snippets[0].publisher,\n key: journal,\n });\n }),\n ]),\n ],\n );\n}\n\nfunction groupSnippetsByJournal(\n snippets: XDDSnippet[],\n): Map<string, XDDSnippet[]> {\n const journals = new Map<string, XDDSnippet[]>();\n if (!snippets || snippets.length === 0) {\n return journals;\n }\n for (let snippet of snippets) {\n const { pubname: journal } = snippet;\n if (!journals.has(journal)) {\n journals.set(journal, []);\n }\n journals.get(journal).push(snippet);\n }\n return journals;\n}\n"],"names":[],"mappings":";;;;AAKO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,WAAW;AAAA,EACX,iBAAiB;AACnB,GAAG;AACD,SAAO,EAAE,cAAc;AAAA,IACrB,WAAW;AAAA,IACX,MAAM;AAAA,IACN,YAAY,WAAW,UAAa,QAAQ,WAAW;AAAA,IACvD;AAAA,IACA;AAAA,EAAA,CACD;AACH;AAEO,SAAS,aAAa;AAAA,EAC3B;AAAA,EACA,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA,GAAG;AACL,GAAG;AACD,QAAM,cAAc,uBAAuB,OAAO;AAElD,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,WAAW;AAAA,MACX,OAAO;AAAA,MACP,UAAU;AAAA,MACV,GAAG;AAAA,MACH;AAAA,IAAA;AAAA,IAEF;AAAA,MACE,EAAE,GAAG,UAAU,EAAE,OAAO;AAAA,MACxB,EAAE,GAAG,CAAC,cAAc,QAAQ,SAAS,CAAC,EAAE;AAAA,QACtC,MAAM,KAAK,YAAY,QAAA,CAAS,GAAG,IAAI,CAAC,CAAC,SAAS,QAAQ,MAAM;AAC9D,iBAAO,EAAE,eAAe;AAAA,YACtB;AAAA,YACA,MAAM;AAAA,YACN,UAAU;AAAA,YACV,WAAW,SAAS,CAAC,EAAE;AAAA,YACvB,KAAK;AAAA,UAAA,CACN;AAAA,QACH,CAAC;AAAA,MAAA,CACF;AAAA,IAAA;AAAA,EACH;AAEJ;AAEA,SAAS,uBACP,UAC2B;AAC3B,QAAM,+BAAe,IAAA;AACrB,MAAI,CAAC,YAAY,SAAS,WAAW,GAAG;AACtC,WAAO;AAAA,EACT;AACA,WAAS,WAAW,UAAU;AAC5B,UAAM,EAAE,SAAS,QAAA,IAAY;AAC7B,QAAI,CAAC,SAAS,IAAI,OAAO,GAAG;AAC1B,eAAS,IAAI,SAAS,EAAE;AAAA,IAC1B;AACA,aAAS,IAAI,OAAO,EAAE,KAAK,OAAO;AAAA,EACpC;AACA,SAAO;AACT;"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const article = require("./article.cjs");
|
|
4
|
+
require("@blueprintjs/core");
|
|
5
|
+
const h = require("@macrostrat/hyper");
|
|
6
|
+
const mapInterface = require("@macrostrat/map-interface");
|
|
7
|
+
function JournalLegacy(props) {
|
|
8
|
+
const { articles, name, publisher, nestedExpanded } = props;
|
|
9
|
+
articles[0].pubname;
|
|
10
|
+
return h(
|
|
11
|
+
mapInterface.SubExpansionPanel,
|
|
12
|
+
{
|
|
13
|
+
title: name,
|
|
14
|
+
helpText: publisher,
|
|
15
|
+
expanded: nestedExpanded
|
|
16
|
+
},
|
|
17
|
+
[
|
|
18
|
+
articles.map((article$1, i) => {
|
|
19
|
+
return h(article.Article, { key: i, data: article$1 });
|
|
20
|
+
})
|
|
21
|
+
]
|
|
22
|
+
);
|
|
23
|
+
}
|
|
24
|
+
exports.JournalLegacy = JournalLegacy;
|
|
25
|
+
//# sourceMappingURL=journal.cjs.map
|
package/dist/{cjs/map-interface.3ca778c5.js.map → location-details/xdd-panel/journal.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":3,"file":"journal.cjs","sources":["../../../src/location-details/xdd-panel/journal.ts"],"sourcesContent":["import { Article } from \"./article\";\nimport { Divider } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport { SubExpansionPanel } from \"@macrostrat/map-interface\";\n\nexport interface XDDSnippet {\n pubname: string;\n publisher: string;\n _gddid: string;\n title: string;\n doi: string;\n coverDate: string;\n URL: string;\n authors: string;\n hits: number;\n highlight: string[];\n}\n\nfunction Journal(props) {\n return h(\"div.journal\", [\n h(\"div.journal-title\", [\n h(\"h2.journal-title-text\", [\n props.data.name,\n h(\"small.journal-source\", [props.data]),\n ]),\n ]),\n h(Divider),\n props.data.articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ]);\n}\n\ntype JournalProps = {\n articles: XDDSnippet[];\n name: string;\n publisher: string;\n nestedExpanded?: boolean;\n};\n\n// Still up for review\nexport function JournalLegacy(props: JournalProps) {\n const { articles, name, publisher, nestedExpanded } = props;\n\n const helpText = articles[0].pubname;\n\n return h(\n SubExpansionPanel,\n {\n title: name,\n helpText: publisher,\n expanded: nestedExpanded,\n },\n [\n articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ],\n );\n}\n"],"names":["SubExpansionPanel","article","Article"],"mappings":";;;;;;AAyCO,SAAS,cAAc,OAAqB;AACjD,QAAM,EAAE,UAAU,MAAM,WAAW,mBAAmB;AAErC,WAAS,CAAC,EAAE;AAE7B,SAAO;AAAA,IACLA,aAAAA;AAAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,SAAS,IAAI,CAACC,WAAS,MAAM;AAC3B,eAAO,EAAEC,QAAAA,SAAS,EAAE,KAAK,GAAG,MAAMD,WAAS;AAAA,MAC7C,CAAC;AAAA,IAAA;AAAA,EACH;AAEJ;;"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export interface XDDSnippet {
|
|
2
|
+
pubname: string;
|
|
3
|
+
publisher: string;
|
|
4
|
+
_gddid: string;
|
|
5
|
+
title: string;
|
|
6
|
+
doi: string;
|
|
7
|
+
coverDate: string;
|
|
8
|
+
URL: string;
|
|
9
|
+
authors: string;
|
|
10
|
+
hits: number;
|
|
11
|
+
highlight: string[];
|
|
12
|
+
}
|
|
13
|
+
type JournalProps = {
|
|
14
|
+
articles: XDDSnippet[];
|
|
15
|
+
name: string;
|
|
16
|
+
publisher: string;
|
|
17
|
+
nestedExpanded?: boolean;
|
|
18
|
+
};
|
|
19
|
+
export declare function JournalLegacy(props: JournalProps): import('react').FunctionComponentElement<any>;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Article } from "./article.js";
|
|
2
|
+
import "@blueprintjs/core";
|
|
3
|
+
import h from "@macrostrat/hyper";
|
|
4
|
+
import { SubExpansionPanel } from "@macrostrat/map-interface";
|
|
5
|
+
function JournalLegacy(props) {
|
|
6
|
+
const { articles, name, publisher, nestedExpanded } = props;
|
|
7
|
+
articles[0].pubname;
|
|
8
|
+
return h(
|
|
9
|
+
SubExpansionPanel,
|
|
10
|
+
{
|
|
11
|
+
title: name,
|
|
12
|
+
helpText: publisher,
|
|
13
|
+
expanded: nestedExpanded
|
|
14
|
+
},
|
|
15
|
+
[
|
|
16
|
+
articles.map((article, i) => {
|
|
17
|
+
return h(Article, { key: i, data: article });
|
|
18
|
+
})
|
|
19
|
+
]
|
|
20
|
+
);
|
|
21
|
+
}
|
|
22
|
+
export {
|
|
23
|
+
JournalLegacy
|
|
24
|
+
};
|
|
25
|
+
//# sourceMappingURL=journal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"journal.js","sources":["../../../src/location-details/xdd-panel/journal.ts"],"sourcesContent":["import { Article } from \"./article\";\nimport { Divider } from \"@blueprintjs/core\";\nimport h from \"@macrostrat/hyper\";\nimport { SubExpansionPanel } from \"@macrostrat/map-interface\";\n\nexport interface XDDSnippet {\n pubname: string;\n publisher: string;\n _gddid: string;\n title: string;\n doi: string;\n coverDate: string;\n URL: string;\n authors: string;\n hits: number;\n highlight: string[];\n}\n\nfunction Journal(props) {\n return h(\"div.journal\", [\n h(\"div.journal-title\", [\n h(\"h2.journal-title-text\", [\n props.data.name,\n h(\"small.journal-source\", [props.data]),\n ]),\n ]),\n h(Divider),\n props.data.articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ]);\n}\n\ntype JournalProps = {\n articles: XDDSnippet[];\n name: string;\n publisher: string;\n nestedExpanded?: boolean;\n};\n\n// Still up for review\nexport function JournalLegacy(props: JournalProps) {\n const { articles, name, publisher, nestedExpanded } = props;\n\n const helpText = articles[0].pubname;\n\n return h(\n SubExpansionPanel,\n {\n title: name,\n helpText: publisher,\n expanded: nestedExpanded,\n },\n [\n articles.map((article, i) => {\n return h(Article, { key: i, data: article });\n }),\n ],\n );\n}\n"],"names":[],"mappings":";;;;AAyCO,SAAS,cAAc,OAAqB;AACjD,QAAM,EAAE,UAAU,MAAM,WAAW,mBAAmB;AAErC,WAAS,CAAC,EAAE;AAE7B,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,UAAU;AAAA,MACV,UAAU;AAAA,IAAA;AAAA,IAEZ;AAAA,MACE,SAAS,IAAI,CAAC,SAAS,MAAM;AAC3B,eAAO,EAAE,SAAS,EAAE,KAAK,GAAG,MAAM,SAAS;AAAA,MAC7C,CAAC;AAAA,IAAA;AAAA,EACH;AAEJ;"}
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const core = require("@blueprintjs/core");
|
|
4
|
+
const h$1 = require("@macrostrat/hyper");
|
|
5
|
+
const main_module = require("./main.module.sass.cjs");
|
|
6
|
+
const uiComponents = require("@macrostrat/ui-components");
|
|
7
|
+
const dataComponents = require("@macrostrat/data-components");
|
|
8
|
+
const mapboxReact = require("@macrostrat/mapbox-react");
|
|
9
|
+
const classNames = require("classnames");
|
|
10
|
+
const mapboxUtils = require("@macrostrat/mapbox-utils");
|
|
11
|
+
const h = h$1.styled(main_module.default);
|
|
12
|
+
function PositionButton({ position, bounds, showCopyLink = false }) {
|
|
13
|
+
const focusState = mapboxReact.useFocusState(position);
|
|
14
|
+
const copyLinkIsVisible = mapboxUtils.isCentered(focusState) && showCopyLink;
|
|
15
|
+
return h("div.position-controls", [
|
|
16
|
+
h(mapboxReact.LocationFocusButton, { location: position, bounds, focusState }, []),
|
|
17
|
+
h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {
|
|
18
|
+
itemName: "position"
|
|
19
|
+
})
|
|
20
|
+
]);
|
|
21
|
+
}
|
|
22
|
+
function CopyLinkButton({ itemName, children, onClick, ...rest }) {
|
|
23
|
+
const toaster = uiComponents.useToaster();
|
|
24
|
+
let message = `Copied link`;
|
|
25
|
+
if (itemName != null) {
|
|
26
|
+
message += ` to ${itemName}`;
|
|
27
|
+
}
|
|
28
|
+
message += "!";
|
|
29
|
+
return h(
|
|
30
|
+
core.Button,
|
|
31
|
+
{
|
|
32
|
+
className: "copy-link-button",
|
|
33
|
+
rightIcon: h(core.Icon, { icon: "link", size: 12 }),
|
|
34
|
+
minimal: true,
|
|
35
|
+
small: true,
|
|
36
|
+
onClick() {
|
|
37
|
+
navigator.clipboard.writeText(window.location.href).then(
|
|
38
|
+
() => {
|
|
39
|
+
toaster?.show({
|
|
40
|
+
message,
|
|
41
|
+
intent: "success",
|
|
42
|
+
icon: "clipboard",
|
|
43
|
+
timeout: 1e3
|
|
44
|
+
});
|
|
45
|
+
onClick?.();
|
|
46
|
+
},
|
|
47
|
+
() => {
|
|
48
|
+
toaster?.show({
|
|
49
|
+
message: "Failed to copy link",
|
|
50
|
+
intent: "danger",
|
|
51
|
+
icon: "error",
|
|
52
|
+
timeout: 1e3
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
},
|
|
57
|
+
...rest
|
|
58
|
+
},
|
|
59
|
+
children ?? "Copy link"
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
function InfoDrawerHeader(props) {
|
|
63
|
+
const {
|
|
64
|
+
onClose,
|
|
65
|
+
position,
|
|
66
|
+
bounds,
|
|
67
|
+
zoom = 7,
|
|
68
|
+
elevation,
|
|
69
|
+
showCopyPositionButton,
|
|
70
|
+
fixedHeight = false,
|
|
71
|
+
children,
|
|
72
|
+
className
|
|
73
|
+
} = props;
|
|
74
|
+
let leftButton = null;
|
|
75
|
+
if (bounds != null || position != null) {
|
|
76
|
+
leftButton = h(PositionButton, {
|
|
77
|
+
position,
|
|
78
|
+
bounds,
|
|
79
|
+
showCopyLink: showCopyPositionButton
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
return h(
|
|
83
|
+
"header.location-panel-header",
|
|
84
|
+
{
|
|
85
|
+
className: classNames(className, { "fixed-height": fixedHeight })
|
|
86
|
+
},
|
|
87
|
+
[
|
|
88
|
+
leftButton,
|
|
89
|
+
children,
|
|
90
|
+
h("div.spacer"),
|
|
91
|
+
h.if(position != null)(dataComponents.LngLatCoords, {
|
|
92
|
+
position,
|
|
93
|
+
zoom,
|
|
94
|
+
className: "infodrawer-header-item"
|
|
95
|
+
}),
|
|
96
|
+
h.if(elevation != null)(dataComponents.Elevation, {
|
|
97
|
+
elevation,
|
|
98
|
+
className: "infodrawer-header-item"
|
|
99
|
+
}),
|
|
100
|
+
h.if(onClose != null)(core.Button, {
|
|
101
|
+
minimal: true,
|
|
102
|
+
icon: "cross",
|
|
103
|
+
onClick: onClose
|
|
104
|
+
})
|
|
105
|
+
]
|
|
106
|
+
);
|
|
107
|
+
}
|
|
108
|
+
exports.InfoDrawerHeader = InfoDrawerHeader;
|
|
109
|
+
//# sourceMappingURL=header.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.cjs","sources":["../../src/location-panel/header.ts"],"sourcesContent":["import { Icon, Button } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useToaster } from \"@macrostrat/ui-components\";\nimport { LngLatCoords, Elevation } from \"@macrostrat/data-components\";\nimport { LocationFocusButton, useFocusState } from \"@macrostrat/mapbox-react\";\nimport classNames from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport type { LngLatBounds, LngLatLike } from \"mapbox-gl\";\nimport { isCentered } from \"@macrostrat/mapbox-utils\";\n\nconst h = hyper.styled(styles);\n\nfunction PositionButton({ position, bounds, showCopyLink = false }) {\n const focusState = useFocusState(position);\n\n const copyLinkIsVisible = isCentered(focusState) && showCopyLink;\n\n return h(\"div.position-controls\", [\n h(LocationFocusButton, { location: position, bounds, focusState }, []),\n h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {\n itemName: \"position\",\n }),\n ]);\n}\n\nfunction CopyLinkButton({ itemName, children, onClick, ...rest }) {\n const toaster = useToaster();\n\n let message = `Copied link`;\n if (itemName != null) {\n message += ` to ${itemName}`;\n }\n message += \"!\";\n\n return h(\n Button,\n {\n className: \"copy-link-button\",\n rightIcon: h(Icon, { icon: \"link\", size: 12 }),\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(window.location.href).then(\n () => {\n toaster?.show({\n message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000,\n });\n onClick?.();\n },\n () => {\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000,\n });\n },\n );\n },\n ...rest,\n },\n children ?? \"Copy link\",\n );\n}\n\nexport interface InfoDrawerHeaderProps {\n onClose?: () => void;\n position?: LngLatLike;\n zoom?: number;\n elevation?: number;\n showCopyPositionButton?: boolean;\n bounds?: LngLatBounds;\n fixedHeight?: boolean;\n children?: ReactNode;\n className?: string;\n}\n\nexport function InfoDrawerHeader(props: InfoDrawerHeaderProps) {\n const {\n onClose,\n position,\n bounds,\n zoom = 7,\n elevation,\n showCopyPositionButton,\n fixedHeight = false,\n children,\n className,\n } = props;\n\n let leftButton = null;\n if (bounds != null || position != null) {\n leftButton = h(PositionButton, {\n position,\n bounds,\n showCopyLink: showCopyPositionButton,\n });\n }\n\n return h(\n \"header.location-panel-header\",\n {\n className: classNames(className, { \"fixed-height\": fixedHeight }),\n },\n [\n leftButton,\n children,\n h(\"div.spacer\"),\n h.if(position != null)(LngLatCoords, {\n position,\n zoom,\n className: \"infodrawer-header-item\",\n }),\n h.if(elevation != null)(Elevation, {\n elevation,\n className: \"infodrawer-header-item\",\n }),\n h.if(onClose != null)(Button, {\n minimal: true,\n icon: \"cross\",\n onClick: onClose,\n }),\n ],\n );\n}\n"],"names":["hyper","styles","useFocusState","isCentered","LocationFocusButton","useToaster","Button","Icon","LngLatCoords","Elevation"],"mappings":";;;;;;;;;;AAWA,MAAM,IAAIA,IAAM,OAAOC,mBAAM;AAE7B,SAAS,eAAe,EAAE,UAAU,QAAQ,eAAe,SAAS;AAClE,QAAM,aAAaC,YAAAA,cAAc,QAAQ;AAEzC,QAAM,oBAAoBC,YAAAA,WAAW,UAAU,KAAK;AAEpD,SAAO,EAAE,yBAAyB;AAAA,IAChC,EAAEC,YAAAA,qBAAqB,EAAE,UAAU,UAAU,QAAQ,WAAA,GAAc,EAAE;AAAA,IACrE,EAAE,GAAG,qBAAqB,YAAY,IAAI,EAAE,gBAAgB;AAAA,MAC1D,UAAU;AAAA,IAAA,CACX;AAAA,EAAA,CACF;AACH;AAEA,SAAS,eAAe,EAAE,UAAU,UAAU,SAAS,GAAG,QAAQ;AAChE,QAAM,UAAUC,aAAAA,WAAA;AAEhB,MAAI,UAAU;AACd,MAAI,YAAY,MAAM;AACpB,eAAW,OAAO,QAAQ;AAAA,EAC5B;AACA,aAAW;AAEX,SAAO;AAAA,IACLC,KAAAA;AAAAA,IACA;AAAA,MACE,WAAW;AAAA,MACX,WAAW,EAAEC,WAAM,EAAE,MAAM,QAAQ,MAAM,IAAI;AAAA,MAC7C,SAAS;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AACR,kBAAU,UAAU,UAAU,OAAO,SAAS,IAAI,EAAE;AAAA,UAClD,MAAM;AACJ,qBAAS,KAAK;AAAA,cACZ;AAAA,cACA,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV;AACD,sBAAA;AAAA,UACF;AAAA,UACA,MAAM;AACJ,qBAAS,KAAK;AAAA,cACZ,SAAS;AAAA,cACT,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV;AAAA,UACH;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,GAAG;AAAA,IAAA;AAAA,IAEL,YAAY;AAAA,EAAA;AAEhB;AAcO,SAAS,iBAAiB,OAA8B;AAC7D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,MAAI,aAAa;AACjB,MAAI,UAAU,QAAQ,YAAY,MAAM;AACtC,iBAAa,EAAE,gBAAgB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA,cAAc;AAAA,IAAA,CACf;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,WAAW,WAAW,WAAW,EAAE,gBAAgB,aAAa;AAAA,IAAA;AAAA,IAElE;AAAA,MACE;AAAA,MACA;AAAA,MACA,EAAE,YAAY;AAAA,MACd,EAAE,GAAG,YAAY,IAAI,EAAEC,eAAAA,cAAc;AAAA,QACnC;AAAA,QACA;AAAA,QACA,WAAW;AAAA,MAAA,CACZ;AAAA,MACD,EAAE,GAAG,aAAa,IAAI,EAAEC,eAAAA,WAAW;AAAA,QACjC;AAAA,QACA,WAAW;AAAA,MAAA,CACZ;AAAA,MACD,EAAE,GAAG,WAAW,IAAI,EAAEH,KAAAA,QAAQ;AAAA,QAC5B,SAAS;AAAA,QACT,MAAM;AAAA,QACN,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAAA,EACH;AAEJ;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { LngLatBounds, LngLatLike } from 'mapbox-gl';
|
|
3
|
+
export interface InfoDrawerHeaderProps {
|
|
4
|
+
onClose?: () => void;
|
|
5
|
+
position?: LngLatLike;
|
|
6
|
+
zoom?: number;
|
|
7
|
+
elevation?: number;
|
|
8
|
+
showCopyPositionButton?: boolean;
|
|
9
|
+
bounds?: LngLatBounds;
|
|
10
|
+
fixedHeight?: boolean;
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function InfoDrawerHeader(props: InfoDrawerHeaderProps): import('react').ReactElement<{
|
|
15
|
+
className: string;
|
|
16
|
+
}, string | import('react').JSXElementConstructor<any>>;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { Button, Icon } from "@blueprintjs/core";
|
|
2
|
+
import h$1 from "@macrostrat/hyper";
|
|
3
|
+
import styles from "./main.module.sass.js";
|
|
4
|
+
import { useToaster } from "@macrostrat/ui-components";
|
|
5
|
+
import { LngLatCoords, Elevation } from "@macrostrat/data-components";
|
|
6
|
+
import { useFocusState, LocationFocusButton } from "@macrostrat/mapbox-react";
|
|
7
|
+
import classNames from "classnames";
|
|
8
|
+
import { isCentered } from "@macrostrat/mapbox-utils";
|
|
9
|
+
const h = h$1.styled(styles);
|
|
10
|
+
function PositionButton({ position, bounds, showCopyLink = false }) {
|
|
11
|
+
const focusState = useFocusState(position);
|
|
12
|
+
const copyLinkIsVisible = isCentered(focusState) && showCopyLink;
|
|
13
|
+
return h("div.position-controls", [
|
|
14
|
+
h(LocationFocusButton, { location: position, bounds, focusState }, []),
|
|
15
|
+
h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {
|
|
16
|
+
itemName: "position"
|
|
17
|
+
})
|
|
18
|
+
]);
|
|
19
|
+
}
|
|
20
|
+
function CopyLinkButton({ itemName, children, onClick, ...rest }) {
|
|
21
|
+
const toaster = useToaster();
|
|
22
|
+
let message = `Copied link`;
|
|
23
|
+
if (itemName != null) {
|
|
24
|
+
message += ` to ${itemName}`;
|
|
25
|
+
}
|
|
26
|
+
message += "!";
|
|
27
|
+
return h(
|
|
28
|
+
Button,
|
|
29
|
+
{
|
|
30
|
+
className: "copy-link-button",
|
|
31
|
+
rightIcon: h(Icon, { icon: "link", size: 12 }),
|
|
32
|
+
minimal: true,
|
|
33
|
+
small: true,
|
|
34
|
+
onClick() {
|
|
35
|
+
navigator.clipboard.writeText(window.location.href).then(
|
|
36
|
+
() => {
|
|
37
|
+
toaster?.show({
|
|
38
|
+
message,
|
|
39
|
+
intent: "success",
|
|
40
|
+
icon: "clipboard",
|
|
41
|
+
timeout: 1e3
|
|
42
|
+
});
|
|
43
|
+
onClick?.();
|
|
44
|
+
},
|
|
45
|
+
() => {
|
|
46
|
+
toaster?.show({
|
|
47
|
+
message: "Failed to copy link",
|
|
48
|
+
intent: "danger",
|
|
49
|
+
icon: "error",
|
|
50
|
+
timeout: 1e3
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
);
|
|
54
|
+
},
|
|
55
|
+
...rest
|
|
56
|
+
},
|
|
57
|
+
children ?? "Copy link"
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
function InfoDrawerHeader(props) {
|
|
61
|
+
const {
|
|
62
|
+
onClose,
|
|
63
|
+
position,
|
|
64
|
+
bounds,
|
|
65
|
+
zoom = 7,
|
|
66
|
+
elevation,
|
|
67
|
+
showCopyPositionButton,
|
|
68
|
+
fixedHeight = false,
|
|
69
|
+
children,
|
|
70
|
+
className
|
|
71
|
+
} = props;
|
|
72
|
+
let leftButton = null;
|
|
73
|
+
if (bounds != null || position != null) {
|
|
74
|
+
leftButton = h(PositionButton, {
|
|
75
|
+
position,
|
|
76
|
+
bounds,
|
|
77
|
+
showCopyLink: showCopyPositionButton
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
return h(
|
|
81
|
+
"header.location-panel-header",
|
|
82
|
+
{
|
|
83
|
+
className: classNames(className, { "fixed-height": fixedHeight })
|
|
84
|
+
},
|
|
85
|
+
[
|
|
86
|
+
leftButton,
|
|
87
|
+
children,
|
|
88
|
+
h("div.spacer"),
|
|
89
|
+
h.if(position != null)(LngLatCoords, {
|
|
90
|
+
position,
|
|
91
|
+
zoom,
|
|
92
|
+
className: "infodrawer-header-item"
|
|
93
|
+
}),
|
|
94
|
+
h.if(elevation != null)(Elevation, {
|
|
95
|
+
elevation,
|
|
96
|
+
className: "infodrawer-header-item"
|
|
97
|
+
}),
|
|
98
|
+
h.if(onClose != null)(Button, {
|
|
99
|
+
minimal: true,
|
|
100
|
+
icon: "cross",
|
|
101
|
+
onClick: onClose
|
|
102
|
+
})
|
|
103
|
+
]
|
|
104
|
+
);
|
|
105
|
+
}
|
|
106
|
+
export {
|
|
107
|
+
InfoDrawerHeader
|
|
108
|
+
};
|
|
109
|
+
//# sourceMappingURL=header.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"header.js","sources":["../../src/location-panel/header.ts"],"sourcesContent":["import { Icon, Button } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useToaster } from \"@macrostrat/ui-components\";\nimport { LngLatCoords, Elevation } from \"@macrostrat/data-components\";\nimport { LocationFocusButton, useFocusState } from \"@macrostrat/mapbox-react\";\nimport classNames from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport type { LngLatBounds, LngLatLike } from \"mapbox-gl\";\nimport { isCentered } from \"@macrostrat/mapbox-utils\";\n\nconst h = hyper.styled(styles);\n\nfunction PositionButton({ position, bounds, showCopyLink = false }) {\n const focusState = useFocusState(position);\n\n const copyLinkIsVisible = isCentered(focusState) && showCopyLink;\n\n return h(\"div.position-controls\", [\n h(LocationFocusButton, { location: position, bounds, focusState }, []),\n h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {\n itemName: \"position\",\n }),\n ]);\n}\n\nfunction CopyLinkButton({ itemName, children, onClick, ...rest }) {\n const toaster = useToaster();\n\n let message = `Copied link`;\n if (itemName != null) {\n message += ` to ${itemName}`;\n }\n message += \"!\";\n\n return h(\n Button,\n {\n className: \"copy-link-button\",\n rightIcon: h(Icon, { icon: \"link\", size: 12 }),\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(window.location.href).then(\n () => {\n toaster?.show({\n message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000,\n });\n onClick?.();\n },\n () => {\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000,\n });\n },\n );\n },\n ...rest,\n },\n children ?? \"Copy link\",\n );\n}\n\nexport interface InfoDrawerHeaderProps {\n onClose?: () => void;\n position?: LngLatLike;\n zoom?: number;\n elevation?: number;\n showCopyPositionButton?: boolean;\n bounds?: LngLatBounds;\n fixedHeight?: boolean;\n children?: ReactNode;\n className?: string;\n}\n\nexport function InfoDrawerHeader(props: InfoDrawerHeaderProps) {\n const {\n onClose,\n position,\n bounds,\n zoom = 7,\n elevation,\n showCopyPositionButton,\n fixedHeight = false,\n children,\n className,\n } = props;\n\n let leftButton = null;\n if (bounds != null || position != null) {\n leftButton = h(PositionButton, {\n position,\n bounds,\n showCopyLink: showCopyPositionButton,\n });\n }\n\n return h(\n \"header.location-panel-header\",\n {\n className: classNames(className, { \"fixed-height\": fixedHeight }),\n },\n [\n leftButton,\n children,\n h(\"div.spacer\"),\n h.if(position != null)(LngLatCoords, {\n position,\n zoom,\n className: \"infodrawer-header-item\",\n }),\n h.if(elevation != null)(Elevation, {\n elevation,\n className: \"infodrawer-header-item\",\n }),\n h.if(onClose != null)(Button, {\n minimal: true,\n icon: \"cross\",\n onClick: onClose,\n }),\n ],\n );\n}\n"],"names":["hyper"],"mappings":";;;;;;;;AAWA,MAAM,IAAIA,IAAM,OAAO,MAAM;AAE7B,SAAS,eAAe,EAAE,UAAU,QAAQ,eAAe,SAAS;AAClE,QAAM,aAAa,cAAc,QAAQ;AAEzC,QAAM,oBAAoB,WAAW,UAAU,KAAK;AAEpD,SAAO,EAAE,yBAAyB;AAAA,IAChC,EAAE,qBAAqB,EAAE,UAAU,UAAU,QAAQ,WAAA,GAAc,EAAE;AAAA,IACrE,EAAE,GAAG,qBAAqB,YAAY,IAAI,EAAE,gBAAgB;AAAA,MAC1D,UAAU;AAAA,IAAA,CACX;AAAA,EAAA,CACF;AACH;AAEA,SAAS,eAAe,EAAE,UAAU,UAAU,SAAS,GAAG,QAAQ;AAChE,QAAM,UAAU,WAAA;AAEhB,MAAI,UAAU;AACd,MAAI,YAAY,MAAM;AACpB,eAAW,OAAO,QAAQ;AAAA,EAC5B;AACA,aAAW;AAEX,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,WAAW;AAAA,MACX,WAAW,EAAE,MAAM,EAAE,MAAM,QAAQ,MAAM,IAAI;AAAA,MAC7C,SAAS;AAAA,MACT,OAAO;AAAA,MACP,UAAU;AACR,kBAAU,UAAU,UAAU,OAAO,SAAS,IAAI,EAAE;AAAA,UAClD,MAAM;AACJ,qBAAS,KAAK;AAAA,cACZ;AAAA,cACA,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV;AACD,sBAAA;AAAA,UACF;AAAA,UACA,MAAM;AACJ,qBAAS,KAAK;AAAA,cACZ,SAAS;AAAA,cACT,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,SAAS;AAAA,YAAA,CACV;AAAA,UACH;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,GAAG;AAAA,IAAA;AAAA,IAEL,YAAY;AAAA,EAAA;AAEhB;AAcO,SAAS,iBAAiB,OAA8B;AAC7D,QAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO;AAAA,IACP;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd;AAAA,IACA;AAAA,EAAA,IACE;AAEJ,MAAI,aAAa;AACjB,MAAI,UAAU,QAAQ,YAAY,MAAM;AACtC,iBAAa,EAAE,gBAAgB;AAAA,MAC7B;AAAA,MACA;AAAA,MACA,cAAc;AAAA,IAAA,CACf;AAAA,EACH;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,MACE,WAAW,WAAW,WAAW,EAAE,gBAAgB,aAAa;AAAA,IAAA;AAAA,IAElE;AAAA,MACE;AAAA,MACA;AAAA,MACA,EAAE,YAAY;AAAA,MACd,EAAE,GAAG,YAAY,IAAI,EAAE,cAAc;AAAA,QACnC;AAAA,QACA;AAAA,QACA,WAAW;AAAA,MAAA,CACZ;AAAA,MACD,EAAE,GAAG,aAAa,IAAI,EAAE,WAAW;AAAA,QACjC;AAAA,QACA,WAAW;AAAA,MAAA,CACZ;AAAA,MACD,EAAE,GAAG,WAAW,IAAI,EAAE,QAAQ;AAAA,QAC5B,SAAS;AAAA,QACT,MAAM;AAAA,QACN,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAAA,EACH;AAEJ;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
+
const h$1 = require("@macrostrat/hyper");
|
|
4
|
+
const header = require("./header.cjs");
|
|
5
|
+
const classNames = require("classnames");
|
|
6
|
+
const main_module = require("./main.module.sass.cjs");
|
|
7
|
+
const uiComponents = require("@macrostrat/ui-components");
|
|
8
|
+
const container = require("../container.cjs");
|
|
9
|
+
const h = h$1.styled(main_module.default);
|
|
10
|
+
function InfoDrawerContainer(props) {
|
|
11
|
+
const className = classNames("infodrawer", props.className);
|
|
12
|
+
return h(container.PanelCard, { ...props, className });
|
|
13
|
+
}
|
|
14
|
+
function BaseInfoDrawer(props) {
|
|
15
|
+
const {
|
|
16
|
+
className,
|
|
17
|
+
headerElement = null,
|
|
18
|
+
title,
|
|
19
|
+
onClose,
|
|
20
|
+
children,
|
|
21
|
+
contentContainer = "div.infodrawer-contents",
|
|
22
|
+
...rest
|
|
23
|
+
} = props;
|
|
24
|
+
const header$1 = headerElement ?? h(header.InfoDrawerHeader, { onClose, ...rest }, [
|
|
25
|
+
title == null ? null : h("h3", [title])
|
|
26
|
+
]);
|
|
27
|
+
return h(InfoDrawerContainer, { className }, [
|
|
28
|
+
header$1,
|
|
29
|
+
h("div.infodrawer-body", h(uiComponents.ErrorBoundary, h(contentContainer, children)))
|
|
30
|
+
]);
|
|
31
|
+
}
|
|
32
|
+
const DetailsPanel = BaseInfoDrawer;
|
|
33
|
+
function LocationPanel(props) {
|
|
34
|
+
const { children, className, loading = false, ...rest } = props;
|
|
35
|
+
const cls = classNames("location-panel", className, { loading });
|
|
36
|
+
return h(BaseInfoDrawer, { className: cls, ...rest }, children);
|
|
37
|
+
}
|
|
38
|
+
exports.BaseInfoDrawer = BaseInfoDrawer;
|
|
39
|
+
exports.DetailsPanel = DetailsPanel;
|
|
40
|
+
exports.InfoDrawerContainer = InfoDrawerContainer;
|
|
41
|
+
exports.LocationPanel = LocationPanel;
|
|
42
|
+
//# sourceMappingURL=index.cjs.map
|