@macrostrat/column-views 2.1.2 → 2.1.3
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/esm/{column-views.afb48e8c.js → column-views.07db2ab1.js} +8 -8
- package/dist/esm/{column-views.afb48e8c.js.map → column-views.07db2ab1.js.map} +1 -1
- package/dist/esm/{column-views.32a83292.js → column-views.0e06c069.js} +7 -7
- package/dist/esm/{column-views.32a83292.js.map → column-views.0e06c069.js.map} +1 -1
- package/dist/esm/{column-views.52a6eb47.js → column-views.103b1cb0.js} +2 -2
- package/dist/esm/{column-views.52a6eb47.js.map → column-views.103b1cb0.js.map} +1 -1
- package/dist/esm/{column-views.a91dde4a.js → column-views.2e0ff311.js} +3 -3
- package/dist/esm/{column-views.a91dde4a.js.map → column-views.2e0ff311.js.map} +1 -1
- package/dist/esm/column-views.323cad41.js +11 -0
- package/dist/esm/{column-views.c322a5e7.js.map → column-views.323cad41.js.map} +1 -1
- package/dist/esm/{column-views.3ba9213d.js → column-views.34a1ac4f.js} +33 -5
- package/dist/esm/column-views.34a1ac4f.js.map +1 -0
- package/dist/esm/{column-views.c8e2983a.js → column-views.3729c372.js} +4 -4
- package/dist/esm/{column-views.c8e2983a.js.map → column-views.3729c372.js.map} +1 -1
- package/dist/esm/{column-views.813d5bba.js → column-views.3b637517.js} +9 -5
- package/dist/esm/column-views.3b637517.js.map +1 -0
- package/dist/esm/{column-views.2ca34210.js → column-views.3d001ab8.js} +5 -5
- package/dist/esm/{column-views.2ca34210.js.map → column-views.3d001ab8.js.map} +1 -1
- package/dist/esm/{column-views.5cc09c1d.js → column-views.3f246167.js} +9 -2
- package/dist/esm/column-views.3f246167.js.map +1 -0
- package/dist/esm/{column-views.bcffe6e5.js → column-views.43fb819d.js} +3 -3
- package/dist/esm/{column-views.bcffe6e5.js.map → column-views.43fb819d.js.map} +1 -1
- package/dist/esm/{column-views.89b9e542.js → column-views.49adc09e.js} +2 -2
- package/dist/esm/{column-views.89b9e542.js.map → column-views.49adc09e.js.map} +1 -1
- package/dist/esm/{column-views.7e350ae2.js → column-views.53f4160e.js} +3 -3
- package/dist/esm/{column-views.7e350ae2.js.map → column-views.53f4160e.js.map} +1 -1
- package/dist/esm/{column-views.f13a1d6e.js → column-views.572b70fd.js} +2 -2
- package/dist/esm/{column-views.f13a1d6e.js.map → column-views.572b70fd.js.map} +1 -1
- package/dist/esm/{column-views.fa19cea0.js → column-views.60dc6bfc.js} +2 -2
- package/dist/esm/{column-views.fa19cea0.js.map → column-views.60dc6bfc.js.map} +1 -1
- package/dist/esm/{column-views.1af9761e.js → column-views.64a84c43.js} +1 -2
- package/dist/esm/column-views.64a84c43.js.map +1 -0
- package/dist/esm/{column-views.b40b2bf6.js → column-views.6ca980ae.js} +2 -2
- package/dist/esm/{column-views.b40b2bf6.js.map → column-views.6ca980ae.js.map} +1 -1
- package/dist/esm/{column-views.10eba967.js → column-views.6d5e3098.js} +3 -3
- package/dist/esm/{column-views.10eba967.js.map → column-views.6d5e3098.js.map} +1 -1
- package/dist/esm/{column-views.85c6a716.js → column-views.6dc251d3.js} +2 -2
- package/dist/esm/{column-views.85c6a716.js.map → column-views.6dc251d3.js.map} +1 -1
- package/dist/esm/{column-views.2d8e0e0f.js → column-views.7d47a72a.js} +3 -3
- package/dist/esm/{column-views.2d8e0e0f.js.map → column-views.7d47a72a.js.map} +1 -1
- package/dist/esm/{column-views.0f2121e4.js → column-views.9771145a.js} +75 -29
- package/dist/esm/column-views.9771145a.js.map +1 -0
- package/dist/esm/{column-views.6549388a.js → column-views.9e1c82fe.js} +2 -2
- package/dist/esm/{column-views.6549388a.js.map → column-views.9e1c82fe.js.map} +1 -1
- package/dist/esm/{column-views.892ce22f.js → column-views.a23b2c92.js} +35 -10
- package/dist/esm/column-views.a23b2c92.js.map +1 -0
- package/dist/esm/{column-views.d2037465.js → column-views.a2cf8f33.js} +3 -3
- package/dist/esm/{column-views.d2037465.js.map → column-views.a2cf8f33.js.map} +1 -1
- package/dist/esm/column-views.a5c1bbf0.js +60 -0
- package/dist/esm/column-views.a5c1bbf0.js.map +1 -0
- package/dist/esm/{column-views.b9fe5176.js → column-views.a8926321.js} +2 -2
- package/dist/esm/{column-views.b9fe5176.js.map → column-views.a8926321.js.map} +1 -1
- package/dist/esm/{column-views.e20f6a4b.js → column-views.abe90091.js} +2 -2
- package/dist/esm/{column-views.e20f6a4b.js.map → column-views.abe90091.js.map} +1 -1
- package/dist/esm/{column-views.217078ab.css → column-views.b12a6374.css} +9 -1
- package/dist/esm/column-views.b12a6374.css.map +1 -0
- package/dist/esm/{column-views.439a26db.css → column-views.b72918ce.css} +45 -20
- package/dist/esm/column-views.b72918ce.css.map +1 -0
- package/dist/esm/{column-views.4637f4ce.js → column-views.cdadc5c2.js} +4 -1
- package/dist/esm/column-views.cdadc5c2.js.map +1 -0
- package/dist/esm/{column-views.c25e8b32.js → column-views.d099eaf9.js} +3 -3
- package/dist/esm/{column-views.c25e8b32.js.map → column-views.d099eaf9.js.map} +1 -1
- package/dist/esm/{column-views.fef7389f.js → column-views.d48cb0d8.js} +10 -1
- package/dist/esm/column-views.d48cb0d8.js.map +1 -0
- package/dist/esm/{column-views.59bb0cba.js → column-views.f7523c1d.js} +2 -2
- package/dist/esm/{column-views.59bb0cba.js.map → column-views.f7523c1d.js.map} +1 -1
- package/dist/esm/{column-views.28b3eaa0.js → column-views.ff031876.js} +3 -3
- package/dist/esm/{column-views.28b3eaa0.js.map → column-views.ff031876.js.map} +1 -1
- package/dist/esm/index.d.ts +50 -13
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +10 -10
- package/dist/node/{column-views.6f0c1134.js → column-views.0bb1ec93.js} +2 -2
- package/dist/node/{column-views.6f0c1134.js.map → column-views.0bb1ec93.js.map} +1 -1
- package/dist/node/{column-views.2877f398.js → column-views.0cbd4a3f.js} +2 -2
- package/dist/node/{column-views.2877f398.js.map → column-views.0cbd4a3f.js.map} +1 -1
- package/dist/node/{column-views.770d2c95.js → column-views.13c4ea85.js} +2 -2
- package/dist/node/{column-views.770d2c95.js.map → column-views.13c4ea85.js.map} +1 -1
- package/dist/node/{column-views.3cb3345e.js → column-views.226d0bdb.js} +2 -2
- package/dist/node/{column-views.3cb3345e.js.map → column-views.226d0bdb.js.map} +1 -1
- package/dist/node/column-views.2926f656.css +2 -0
- package/dist/node/column-views.2926f656.css.map +1 -0
- package/dist/node/{column-views.45defa84.js → column-views.2ab1c2f8.js} +2 -2
- package/dist/node/{column-views.45defa84.js.map → column-views.2ab1c2f8.js.map} +1 -1
- package/dist/node/{column-views.3bd09ad6.js → column-views.31f57130.js} +2 -2
- package/dist/node/{column-views.3bd09ad6.js.map → column-views.31f57130.js.map} +1 -1
- package/dist/node/{column-views.ce6808fe.js → column-views.36094762.js} +2 -2
- package/dist/node/{column-views.ce6808fe.js.map → column-views.36094762.js.map} +1 -1
- package/dist/node/{column-views.39c07f5f.js → column-views.372bbee2.js} +2 -2
- package/dist/node/{column-views.39c07f5f.js.map → column-views.372bbee2.js.map} +1 -1
- package/dist/node/column-views.38357d4a.js +2 -0
- package/dist/node/column-views.38357d4a.js.map +1 -0
- package/dist/node/{column-views.39d3a0be.js → column-views.3d220e0c.js} +2 -2
- package/dist/node/{column-views.39d3a0be.js.map → column-views.3d220e0c.js.map} +1 -1
- package/dist/node/column-views.3eeac38d.js +2 -0
- package/dist/node/column-views.3eeac38d.js.map +1 -0
- package/dist/node/column-views.3f032518.js +2 -0
- package/dist/node/column-views.3f032518.js.map +1 -0
- package/dist/node/{column-views.7350ac73.js → column-views.42db0bb8.js} +2 -2
- package/dist/node/{column-views.7350ac73.js.map → column-views.42db0bb8.js.map} +1 -1
- package/dist/node/{column-views.6b6b756b.js → column-views.4381c411.js} +2 -2
- package/dist/node/{column-views.6b6b756b.js.map → column-views.4381c411.js.map} +1 -1
- package/dist/node/{column-views.6b441349.js → column-views.50034105.js} +2 -2
- package/dist/node/{column-views.6b441349.js.map → column-views.50034105.js.map} +1 -1
- package/dist/node/{column-views.f76ba19f.js → column-views.507635e2.js} +2 -2
- package/dist/node/{column-views.f76ba19f.js.map → column-views.507635e2.js.map} +1 -1
- package/dist/node/column-views.556e8f69.js +2 -0
- package/dist/node/column-views.556e8f69.js.map +1 -0
- package/dist/node/{column-views.6da49480.js → column-views.5f05b73f.js} +2 -2
- package/dist/node/column-views.5f05b73f.js.map +1 -0
- package/dist/node/column-views.6ae7bb69.js +2 -0
- package/dist/node/column-views.6ae7bb69.js.map +1 -0
- package/dist/node/{column-views.2a70b9a2.js → column-views.6c7a40e0.js} +2 -2
- package/dist/node/{column-views.2a70b9a2.js.map → column-views.6c7a40e0.js.map} +1 -1
- package/dist/node/{column-views.664dc6c9.js → column-views.7010a03b.js} +2 -2
- package/dist/node/{column-views.664dc6c9.js.map → column-views.7010a03b.js.map} +1 -1
- package/dist/node/column-views.75b0a8f8.js +2 -0
- package/dist/node/column-views.75b0a8f8.js.map +1 -0
- package/dist/node/column-views.99fb74c0.js +2 -0
- package/dist/node/column-views.99fb74c0.js.map +1 -0
- package/dist/node/column-views.a2274834.js +2 -0
- package/dist/node/column-views.a2274834.js.map +1 -0
- package/dist/node/column-views.adf9e5b3.js +2 -0
- package/dist/node/column-views.adf9e5b3.js.map +1 -0
- package/dist/node/column-views.af275c48.js +2 -0
- package/dist/node/column-views.af275c48.js.map +1 -0
- package/dist/node/column-views.afbf351c.js +2 -0
- package/dist/node/column-views.afbf351c.js.map +1 -0
- package/dist/node/{column-views.b773edb8.js → column-views.b180e8c9.js} +2 -2
- package/dist/node/{column-views.b773edb8.js.map → column-views.b180e8c9.js.map} +1 -1
- package/dist/node/{column-views.cf90f63d.js → column-views.c18d5bf5.js} +2 -2
- package/dist/node/{column-views.cf90f63d.js.map → column-views.c18d5bf5.js.map} +1 -1
- package/dist/node/{column-views.0859f5d2.js → column-views.c7f6fc0a.js} +2 -2
- package/dist/node/{column-views.0859f5d2.js.map → column-views.c7f6fc0a.js.map} +1 -1
- package/dist/node/{column-views.4e2bdf9b.js → column-views.db5d74bd.js} +2 -2
- package/dist/node/{column-views.4e2bdf9b.js.map → column-views.db5d74bd.js.map} +1 -1
- package/dist/node/{column-views.d9bbd6fb.css → column-views.e1a43131.css} +2 -2
- package/dist/node/column-views.e1a43131.css.map +1 -0
- package/dist/node/{column-views.0220026c.js → column-views.e4f18ff7.js} +2 -2
- package/dist/node/{column-views.0220026c.js.map → column-views.e4f18ff7.js.map} +1 -1
- package/dist/node/{column-views.12a70e9d.js → column-views.f15a6ed4.js} +2 -2
- package/dist/node/{column-views.12a70e9d.js.map → column-views.f15a6ed4.js.map} +1 -1
- package/dist/node/{column-views.5b6833f0.js → column-views.f17b6142.js} +2 -2
- package/dist/node/{column-views.5b6833f0.js.map → column-views.f17b6142.js.map} +1 -1
- package/dist/node/column-views.fc05616e.js +2 -0
- package/dist/node/column-views.fc05616e.js.map +1 -0
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/package.json +6 -6
- package/src/age-axis.ts +11 -6
- package/src/column.module.sass +6 -0
- package/src/column.ts +23 -1
- package/src/data-provider/base.ts +49 -2
- package/src/data-provider/fetch.ts +15 -0
- package/src/unit-details/index.ts +1 -0
- package/src/unit-details/modal-panel.ts +61 -0
- package/src/unit-details/panel.module.sass +41 -17
- package/src/unit-details/panel.ts +114 -36
- package/src/units/selection.ts +0 -1
- package/dist/esm/column-views.0f2121e4.js.map +0 -1
- package/dist/esm/column-views.1af9761e.js.map +0 -1
- package/dist/esm/column-views.217078ab.css.map +0 -1
- package/dist/esm/column-views.3ba9213d.js.map +0 -1
- package/dist/esm/column-views.439a26db.css.map +0 -1
- package/dist/esm/column-views.4637f4ce.js.map +0 -1
- package/dist/esm/column-views.5cc09c1d.js.map +0 -1
- package/dist/esm/column-views.813d5bba.js.map +0 -1
- package/dist/esm/column-views.892ce22f.js.map +0 -1
- package/dist/esm/column-views.c322a5e7.js +0 -9
- package/dist/esm/column-views.fef7389f.js.map +0 -1
- package/dist/node/column-views.04407342.js +0 -2
- package/dist/node/column-views.04407342.js.map +0 -1
- package/dist/node/column-views.059a41c1.js +0 -2
- package/dist/node/column-views.059a41c1.js.map +0 -1
- package/dist/node/column-views.10a2bad6.js +0 -2
- package/dist/node/column-views.10a2bad6.js.map +0 -1
- package/dist/node/column-views.12414005.js +0 -2
- package/dist/node/column-views.12414005.js.map +0 -1
- package/dist/node/column-views.1de87649.js +0 -2
- package/dist/node/column-views.1de87649.js.map +0 -1
- package/dist/node/column-views.6da49480.js.map +0 -1
- package/dist/node/column-views.7f951eeb.js +0 -2
- package/dist/node/column-views.7f951eeb.js.map +0 -1
- package/dist/node/column-views.9771eb09.css +0 -2
- package/dist/node/column-views.9771eb09.css.map +0 -1
- package/dist/node/column-views.9f796135.js +0 -2
- package/dist/node/column-views.9f796135.js.map +0 -1
- package/dist/node/column-views.a0aac838.js +0 -2
- package/dist/node/column-views.a0aac838.js.map +0 -1
- package/dist/node/column-views.a8ffe072.js +0 -2
- package/dist/node/column-views.a8ffe072.js.map +0 -1
- package/dist/node/column-views.aa50c532.js +0 -2
- package/dist/node/column-views.aa50c532.js.map +0 -1
- package/dist/node/column-views.cd3c430b.js +0 -2
- package/dist/node/column-views.cd3c430b.js.map +0 -1
- package/dist/node/column-views.d9bbd6fb.css.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,O,6C,A,Q,M,mB,A,Q,Y,C,K,2B,A,Q,U,C,C,e,C,K,mB,A,Q,Y,C,C,W,C,K,O,A,Q,uB,C,C,a,C,C,iB,C,C,S,C,C,iB,C,C,oB,C,C,Y,C,C,e,C,K,6B,A,Q,M,Y,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,ICmIY,E,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,mB,I,G,E,E,oB,I,G,E,E,qB,I,G,E,E,W,I,G,E,E,W,I,G,I,E,E,S,E,E,S,E,E,SAxGZ,IAAM,EAAI,AAAA,EAAM,MAAM,C,AAAC,G,AAAA,E,U,C,AAAA,E,O,CAAA,GAEhB,SAAS,EAAiB,CAAA,KAC/B,CAAI,CAAA,QACJ,CAAO,CAAA,UACP,CAAS,CAAA,SACT,EAAW,IAAI,IAAwB,C,iB,e,c,cAKtC,CAAA,CAAA,kBACD,CAAiB,CAAA,QACjB,CAAO,CAAA,WACP,CAAU,CAAA,YACV,CAAW,CAAA,YACX,CAAW,CAYZ,EACC,GAAM,CAAC,EAAU,EAAY,CAAG,AAAA,EAAS,CAAA,GAErC,EAAU,KAEZ,EADE,EACQ,EAAE,EAAU,CAAE,KAAM,EAAM,SAAU,CAAA,CAAM,GAE1C,EAAE,EAAoB,CAC9B,KAAA,EACA,SAAA,EACA,kBAAA,EACA,YAAA,CACF,GAGF,IAAI,EAAQ,AAAA,CAAA,EAAA,EAAA,mBAAkB,AAAlB,EAAoB,GAE5B,EAAgB,KAepB,OAdI,EAAS,GAAG,CAAA,gBACd,CAAA,EAAgB,EAAE,EAAQ,CACxB,KAAM,OACN,MAAO,CAAA,EACP,QAAS,CAAA,EACT,IAAK,mBACL,UAAW,AAAA,EAAW,mBAAoB,CAAE,QAAS,CAAY,GACjE,QAAQ,CAAG,EACT,EAAY,CAAC,GACb,EAAI,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","sources":["<anon>","packages/column-views/src/unit-details/panel.ts"],"sourcesContent":["import \"./column-views.aa50c532.js\";\nimport \"./column-views.a0aac838.js\";\nimport \"./column-views.2e4e357d.js\";\nimport $c0aFQ$macrostrathyper from \"@macrostrat/hyper\";\nimport {JSONView as $c0aFQ$JSONView} from \"@macrostrat/ui-components\";\nimport {Button as $c0aFQ$Button, ButtonGroup as $c0aFQ$ButtonGroup} from \"@blueprintjs/core\";\nimport {useState as $c0aFQ$useState, useMemo as $c0aFQ$useMemo} from \"react\";\nimport {LithologyTagFeature as $c0aFQ$LithologyTagFeature, DataField as $c0aFQ$DataField, Parenthetical as $c0aFQ$Parenthetical, Value as $c0aFQ$Value, LithologyList as $c0aFQ$LithologyList, EnvironmentsList as $c0aFQ$EnvironmentsList, ItemList as $c0aFQ$ItemList, IntervalTag as $c0aFQ$IntervalTag} from \"@macrostrat/data-components\";\nimport $c0aFQ$classnames from \"classnames\";\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $4a89f93cd5289383$exports = {};\n\n$parcel$export($4a89f93cd5289383$exports, \"UnitDetailsPanel\", () => $4a89f93cd5289383$export$fbd245232df17557);\n$parcel$export($4a89f93cd5289383$exports, \"LegendPanelHeader\", () => $4a89f93cd5289383$export$fc503c39cc5cff43);\n$parcel$export($4a89f93cd5289383$exports, \"UnitDetailsFeature\", () => $4a89f93cd5289383$export$ec297f6f9a6ccad0);\n$parcel$export($4a89f93cd5289383$exports, \"Duration\", () => $4a89f93cd5289383$export$3b11bc38611c5941);\n$parcel$export($4a89f93cd5289383$exports, \"AgeLabel\", () => $4a89f93cd5289383$export$37ebfd237811b1eb);\n\n\nvar $lMX1H = parcelRequire(\"lMX1H\");\n\n\n\n\n\nvar $lgTAP = parcelRequire(\"lgTAP\");\n\nvar $jiUaC = parcelRequire(\"jiUaC\");\n\nconst $4a89f93cd5289383$var$h = (0, $c0aFQ$macrostrathyper).styled((0, (/*@__PURE__*/$parcel$interopDefault($lMX1H))));\nfunction $4a89f93cd5289383$export$fbd245232df17557({ unit: unit, onClose: onClose, className: className, features: features = new Set([\n \"adjacent-units\",\n \"outcrop-type\",\n \"json-toggle\",\n \"depth-range\"\n]), lithologyFeatures: lithologyFeatures, actions: actions, selectUnit: selectUnit, columnUnits: columnUnits, onClickItem: onClickItem }) {\n const [showJSON, setShowJSON] = (0, $c0aFQ$useState)(false);\n let content = null;\n if (showJSON) content = $4a89f93cd5289383$var$h((0, $c0aFQ$JSONView), {\n data: unit,\n showRoot: false\n });\n else content = $4a89f93cd5289383$var$h($4a89f93cd5289383$var$UnitDetailsContent, {\n unit: unit,\n features: features,\n lithologyFeatures: lithologyFeatures,\n onClickItem: onClickItem\n });\n let title = (0, $jiUaC.defaultNameFunction)(unit);\n let hiddenActions = null;\n if (features.has(\"json-toggle\")) hiddenActions = $4a89f93cd5289383$var$h((0, $c0aFQ$Button), {\n icon: \"code\",\n small: true,\n minimal: true,\n key: \"json-view-toggle\",\n className: (0, $c0aFQ$classnames)(\"json-view-toggle\", {\n enabled: setShowJSON\n }),\n onClick (evt) {\n setShowJSON(!showJSON);\n evt.stopPropagation();\n }\n });\n return $4a89f93cd5289383$var$h(\"div.unit-details-panel\", {\n className: className\n }, [\n $4a89f93cd5289383$var$h($4a89f93cd5289383$export$fc503c39cc5cff43, {\n onClose: onClose,\n title: title,\n id: unit.unit_id,\n actions: actions,\n hiddenActions: hiddenActions\n }),\n $4a89f93cd5289383$var$h(\"div.unit-details-content-holder\", content)\n ]);\n}\nfunction $4a89f93cd5289383$export$fc503c39cc5cff43({ title: title, id: id, onClose: onClose, actions: actions = null, hiddenActions: hiddenActions }) {\n return $4a89f93cd5289383$var$h(\"header.legend-panel-header\", [\n $4a89f93cd5289383$var$h(\"div.title-container\", [\n $4a89f93cd5289383$var$h.if(title != null)(\"h3\", title),\n $4a89f93cd5289383$var$h.if(hiddenActions != null)(\"div.hidden-actions\", hiddenActions)\n ]),\n $4a89f93cd5289383$var$h(\"div.spacer\"),\n $4a89f93cd5289383$var$h.if(id != null)(\"code\", id),\n $4a89f93cd5289383$var$h.if(actions != null)((0, $c0aFQ$ButtonGroup), {\n minimal: true\n }, actions),\n $4a89f93cd5289383$var$h.if(onClose != null)((0, $c0aFQ$Button), {\n icon: \"cross\",\n minimal: true,\n small: true,\n onClick () {\n onClose();\n }\n })\n ]);\n}\nvar $4a89f93cd5289383$export$ec297f6f9a6ccad0 = /*#__PURE__*/ function(UnitDetailsFeature) {\n UnitDetailsFeature[\"AdjacentUnits\"] = \"adjacent-units\";\n UnitDetailsFeature[\"Color\"] = \"color\";\n UnitDetailsFeature[\"OutcropType\"] = \"outcrop-type\";\n UnitDetailsFeature[\"JSONToggle\"] = \"json-toggle\";\n UnitDetailsFeature[\"DepthRange\"] = \"depth-range\";\n return UnitDetailsFeature;\n}({});\nfunction $4a89f93cd5289383$var$UnitDetailsContent({ unit: unit, selectUnit: selectUnit, columnUnits: columnUnits, lithologyFeatures: lithologyFeatures = new Set([\n (0, $c0aFQ$LithologyTagFeature).Proportion,\n (0, $c0aFQ$LithologyTagFeature).Attributes\n]), features: features = new Set([\n \"adjacent-units\",\n \"outcrop-type\"\n]), onClickItem: onClickItem, getItemHref: getItemHref }) {\n const lithMap = (0, $lgTAP.useMacrostratDefs)(\"lithologies\");\n const envMap = (0, $lgTAP.useMacrostratDefs)(\"environments\");\n const environments = $4a89f93cd5289383$var$enhanceEnvironments(unit.environ, envMap);\n const lithologies = $4a89f93cd5289383$var$enhanceLithologies(unit.lith ?? [], lithMap);\n // Create a lookup table of units if provided\n const columnUnitsMap = (0, $c0aFQ$useMemo)(()=>{\n const map = new Map();\n for (const colUnit of columnUnits ?? [])map.set(colUnit.unit_id, colUnit);\n return map;\n }, [\n columnUnits\n ]);\n let outcropField = null;\n if (features.has(\"outcrop-type\")) {\n // Determine outcrop type\n let outcrop = unit.outcrop;\n if (outcrop == \"both\") outcrop = \"surface and subsurface\";\n outcropField = $4a89f93cd5289383$var$h((0, $c0aFQ$DataField), {\n label: \"Outcrop\",\n value: outcrop\n });\n }\n let thicknessOrHeightRange = null;\n const [thickness, thicknessUnit] = $4a89f93cd5289383$var$getThickness(unit);\n // Proxy for actual heights in t_pos and b_pos\n if (features.has(\"depth-range\") && unit.t_pos != null && unit.b_pos != null && unit.min_thick == unit.max_thick && // We have an actual fixed height\n unit.min_thick != 0 // Not a zero thickness\n ) {\n const label = unit.t_pos < unit.b_pos ? \"Depth\" : \"Height\";\n const u1 = \"m\";\n thicknessOrHeightRange = $4a89f93cd5289383$var$h((0, $c0aFQ$DataField), {\n unit: u1,\n label: label,\n value: $4a89f93cd5289383$var$formatRange(unit.b_pos, unit.t_pos),\n children: $4a89f93cd5289383$var$h((0, $c0aFQ$Parenthetical), $4a89f93cd5289383$var$h((0, $c0aFQ$Value), {\n value: thickness,\n unit: thicknessUnit\n }))\n });\n }\n thicknessOrHeightRange ?? (thicknessOrHeightRange = $4a89f93cd5289383$var$h((0, $c0aFQ$DataField), {\n label: \"Thickness\",\n value: thickness,\n unit: thicknessUnit\n }));\n /** We are trying to move away from passing the \"color\" parameter in the API */ let colorSwatch = null;\n if (\"color\" in unit) {\n const unit1 = unit;\n colorSwatch = $4a89f93cd5289383$var$h(\"div.color-swatch\", {\n style: {\n backgroundColor: unit1.color\n }\n });\n }\n return $4a89f93cd5289383$var$h(\"div.unit-details-content\", [\n thicknessOrHeightRange,\n $4a89f93cd5289383$var$h((0, $c0aFQ$LithologyList), {\n label: \"Lithology\",\n lithologies: lithologies,\n features: lithologyFeatures,\n getItemHref: getItemHref,\n onClickItem: onClickItem\n }),\n $4a89f93cd5289383$var$h($4a89f93cd5289383$var$AgeField, {\n unit: unit\n }, [\n $4a89f93cd5289383$var$h((0, $c0aFQ$Parenthetical), $4a89f93cd5289383$var$h($4a89f93cd5289383$export$3b11bc38611c5941, {\n value: unit.b_age - unit.t_age\n })),\n $4a89f93cd5289383$var$h($4a89f93cd5289383$var$IntervalProportions, {\n unit: unit,\n onClickItem: onClickItem\n })\n ]),\n $4a89f93cd5289383$var$h((0, $c0aFQ$EnvironmentsList), {\n environments: environments,\n onClickItem: onClickItem,\n getItemHref: getItemHref\n }),\n $4a89f93cd5289383$var$h.if(unit.strat_name_id != null)((0, $c0aFQ$DataField), {\n label: \"Stratigraphic name\"\n }, $4a89f93cd5289383$var$h(\"span\", {\n className: \"strat-name-id\" + (onClickItem ? \" clickable\" : \"\"),\n onClick: (e)=>onClickItem(e, {\n strat_name_id: unit.strat_name_id\n })\n }, unit.strat_name_id)),\n outcropField,\n $4a89f93cd5289383$var$h.if(features.has(\"adjacent-units\"))([\n $4a89f93cd5289383$var$h((0, $c0aFQ$DataField), {\n label: \"Above\"\n }, $4a89f93cd5289383$var$h($4a89f93cd5289383$var$UnitIDList, {\n units: unit.units_above,\n selectUnit: selectUnit\n })),\n $4a89f93cd5289383$var$h((0, $c0aFQ$DataField), {\n label: \"Below\"\n }, $4a89f93cd5289383$var$h($4a89f93cd5289383$var$UnitIDList, {\n units: unit.units_below,\n selectUnit: selectUnit\n }))\n ]),\n colorSwatch,\n $4a89f93cd5289383$var$h((0, $c0aFQ$DataField), {\n label: \"Source\",\n inline: true\n }, $4a89f93cd5289383$var$h($4a89f93cd5289383$var$BibInfo, {\n refs: unit.refs\n }))\n ]);\n}\nfunction $4a89f93cd5289383$var$getThickness(unit) {\n let minThickness = unit.min_thick ?? 0;\n let maxThickness = unit.max_thick ?? unit.min_thick ?? 0;\n let _unit = \"m\";\n if (minThickness == 0 && maxThickness == 0) return [\n \"Unknown\",\n null\n ];\n if (minThickness < 0.8 && maxThickness < 1.2) {\n // Convert to cm\n minThickness = minThickness * 100;\n maxThickness = maxThickness * 100;\n _unit = \"cm\";\n } else if (minThickness > 800 && maxThickness > 1200) {\n // Convert to km\n minThickness = minThickness / 1000;\n maxThickness = maxThickness / 1000;\n _unit = \"km\";\n }\n if (minThickness == maxThickness) return [\n $4a89f93cd5289383$var$formatSignificance(minThickness),\n _unit\n ];\n return [\n $4a89f93cd5289383$var$formatRange(minThickness, maxThickness),\n _unit\n ];\n}\nfunction $4a89f93cd5289383$var$ThicknessField({ unit: unit, label: label = \"Thickness\" }) {\n const [value, thicknessUnit] = $4a89f93cd5289383$var$getThickness(unit);\n return $4a89f93cd5289383$var$h((0, $c0aFQ$DataField), {\n label: label,\n value: value,\n unit: thicknessUnit\n });\n}\nfunction $4a89f93cd5289383$var$BibInfo({ refs: refs }) {\n const refData = (0, $lgTAP.useMacrostratData)(\"refs\", refs);\n if (refData == null || refData.length === 0) return null;\n if (refData.length == 1) return $4a89f93cd5289383$var$h($4a89f93cd5289383$var$Citation, {\n data: refData[0],\n tag: \"span\"\n });\n return $4a89f93cd5289383$var$h(\"ul.refs\", refData.map((data, i)=>$4a89f93cd5289383$var$h($4a89f93cd5289383$var$Citation, {\n data: data,\n tag: \"li\",\n key: i\n })));\n}\nfunction $4a89f93cd5289383$var$Citation({ data: data, tag: tag = \"p\" }) {\n return $4a89f93cd5289383$var$h(tag, {\n className: \"citation\"\n }, [\n $4a89f93cd5289383$var$h(\"span.authors\", data.author),\n \", \",\n $4a89f93cd5289383$var$h(\"span.year\", data.pub_year),\n \", \",\n $4a89f93cd5289383$var$h(\"span.title\", data.ref)\n ]);\n}\nfunction $4a89f93cd5289383$var$AgeField({ unit: unit, children: children }) {\n const [b_age, t_age, _unit] = $4a89f93cd5289383$var$getAgeRange(unit);\n return $4a89f93cd5289383$var$h((0, $c0aFQ$DataField), {\n label: \"Age\",\n value: $4a89f93cd5289383$var$formatRange(b_age, t_age),\n unit: _unit\n }, children);\n}\nfunction $4a89f93cd5289383$var$getAgeRange(_unit) {\n let b_age = _unit.b_age;\n let t_age = _unit.t_age;\n let unit = \"Ma\";\n if (b_age < 0.8 && t_age < 1.2) {\n b_age *= 1000;\n t_age *= 1000;\n unit = \"ka\";\n } else if (b_age > 800 && t_age > 1200) {\n b_age /= 1000;\n t_age /= 1000;\n unit = \"Ga\";\n }\n return [\n b_age,\n t_age,\n unit\n ];\n}\nfunction $4a89f93cd5289383$var$getAge(value) {\n /** Get the age value in Ma, ka, or Ga as appropriate */ let unit = \"Ma\";\n if (value < 0.8) {\n unit = \"ka\";\n value *= 1000;\n if (value < 5) {\n unit = \"yr\";\n value *= 1000;\n }\n } else if (value > 1000) {\n unit = \"Ga\";\n value /= 1000;\n }\n return [\n value,\n unit\n ];\n}\nfunction $4a89f93cd5289383$export$37ebfd237811b1eb({ age: age, maximumFractionDigits: maximumFractionDigits = 2, minimumFractionDigits: minimumFractionDigits = 0, className: className }) {\n /** Component to display a single age value with unit conversion from\n * Ma to ka or Ga as appropriate.\n */ const [value, unit] = $4a89f93cd5289383$var$getAge(age);\n const _value = value.toLocaleString(\"en-US\", {\n maximumFractionDigits: maximumFractionDigits,\n minimumFractionDigits: minimumFractionDigits\n });\n return $4a89f93cd5289383$var$h((0, $c0aFQ$Value), {\n value: _value,\n unit: unit,\n className: className\n });\n}\nfunction $4a89f93cd5289383$export$3b11bc38611c5941({ value: value, maximumFractionDigits: maximumFractionDigits = 2, minimumFractionDigits: minimumFractionDigits = 0 }) {\n let unit = \"Myr\";\n if (value < 0.8) {\n unit = \"kyr\";\n value *= 1000;\n if (value < 5) {\n unit = \"yr\";\n value *= 1000;\n }\n } else if (value > 1000) {\n unit = \"Gyr\";\n value /= 1000;\n }\n let _value = value.toLocaleString(\"en-US\", {\n maximumFractionDigits: maximumFractionDigits,\n minimumFractionDigits: minimumFractionDigits\n });\n return $4a89f93cd5289383$var$h((0, $c0aFQ$Value), {\n value: _value,\n unit: unit\n });\n}\nfunction $4a89f93cd5289383$var$enhanceEnvironments(environments, envMap) {\n return environments.map((env)=>{\n return {\n ...envMap?.get(env.environ_id) ?? {},\n ...env\n };\n });\n}\nfunction $4a89f93cd5289383$var$enhanceLithologies(lithologies, lithMap) {\n return lithologies.map((lith)=>{\n return {\n ...lithMap?.get(lith.lith_id) ?? {},\n ...lith\n };\n });\n}\nfunction $4a89f93cd5289383$var$UnitIDList({ units: units, selectUnit: selectUnit }) {\n const u1 = units.filter((d)=>d != 0);\n if (u1.length === 0) return $4a89f93cd5289383$var$h(\"span.no-units\", \"None\");\n let tag = \"span\";\n if (selectUnit != null) tag = \"a\";\n return $4a89f93cd5289383$var$h((0, $c0aFQ$ItemList), {\n className: \"unit-id-list\"\n }, u1.map((unit)=>{\n return $4a89f93cd5289383$var$h(tag, {\n className: \"unit-id\",\n onClick () {\n selectUnit?.(unit.id);\n },\n key: unit.id\n }, unit);\n }));\n}\nfunction $4a89f93cd5289383$var$IntervalProportions({ unit: unit, onClickItem: onClickItem }) {\n const i0 = unit.b_int_id;\n const i1 = unit.t_int_id;\n let b_prop = unit.b_prop ?? 0;\n let t_prop = unit.t_prop ?? 1;\n const intervalMap = (0, $lgTAP.useMacrostratDefs)(\"intervals\");\n const int0 = intervalMap?.get(i0) ?? {};\n const interval0 = {\n ...int0,\n id: i0,\n name: unit.b_int_name\n };\n let p0 = null;\n const int1 = intervalMap?.get(i1) ?? {};\n const p1 = $4a89f93cd5289383$var$h($4a89f93cd5289383$var$Proportion, {\n value: t_prop\n });\n if (i0 !== i1 || b_prop !== 0 || t_prop !== 1) // We have a single interval with undefined proportions\n p0 = $4a89f93cd5289383$var$h($4a89f93cd5289383$var$Proportion, {\n value: b_prop\n });\n if (i0 === i1 && (b_prop !== 0 || t_prop !== 1)) p0 = $4a89f93cd5289383$var$h(\"span.joint-proportion\", [\n p0,\n $4a89f93cd5289383$var$h(\"span.sep\", \"to\"),\n p1\n ]);\n const clickable = onClickItem != null;\n const handleClick = (event)=>{\n if (onClickItem) onClickItem(event, interval0);\n };\n return $4a89f93cd5289383$var$h(\"div.interval-proportions\", [\n $4a89f93cd5289383$var$h((0, $c0aFQ$IntervalTag), {\n className: clickable ? \"clickable\" : \"\",\n onClick: clickable ? handleClick : undefined,\n interval: interval0,\n prefix: p0\n }),\n $4a89f93cd5289383$var$h.if(i0 != i1)(\"span.discourage-break\", [\n $4a89f93cd5289383$var$h(\"span.sep\", \"to\"),\n $4a89f93cd5289383$var$h((0, $c0aFQ$IntervalTag), {\n className: clickable ? \"clickable\" : \"\",\n onClick: clickable ? handleClick : undefined,\n interval: {\n ...int1,\n id: i1,\n name: unit.t_int_name\n },\n prefix: p1\n })\n ])\n ]);\n}\nconst $4a89f93cd5289383$var$formatProportion = (d)=>{\n if (d == null) return null;\n return d.toFixed(1);\n};\nfunction $4a89f93cd5289383$var$Proportion({ value: value }) {\n let content = null;\n if (value == 0) content = \"base\";\n else if (value == 1) content = \"top\";\n else content = $4a89f93cd5289383$var$formatProportion(value * 100) + \"%\";\n return $4a89f93cd5289383$var$h(\"span.proportion\", content);\n}\nfunction $4a89f93cd5289383$var$formatRange(min, max, precision = null) {\n if (min == null || max == null) return null;\n if (min === max) return min.toFixed(precision);\n return `${$4a89f93cd5289383$var$formatSignificance(min, precision)}\\u{2013}${$4a89f93cd5289383$var$formatSignificance(max, precision)}`;\n}\nfunction $4a89f93cd5289383$var$formatSignificance(value, precision = null) {\n // Format to preserve a reasonable number of significant figures\n // this could be done with an easier algorithm, probably:\n if (precision == null) return value.toLocaleString();\n if (precision >= 0) return value.toFixed(precision);\n if (precision < 0) return (value / Math.pow(10, -precision)).toFixed(0) + \"0\".repeat(-precision);\n}\n\n\nexport {$4a89f93cd5289383$export$fbd245232df17557 as UnitDetailsPanel, $4a89f93cd5289383$export$fc503c39cc5cff43 as LegendPanelHeader, $4a89f93cd5289383$export$ec297f6f9a6ccad0 as UnitDetailsFeature, $4a89f93cd5289383$export$3b11bc38611c5941 as Duration, $4a89f93cd5289383$export$37ebfd237811b1eb as AgeLabel};\n//# sourceMappingURL=column-views.9f796135.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport styles from \"./panel.module.sass\";\nimport { JSONView } from \"@macrostrat/ui-components\";\nimport { Button, ButtonGroup } from \"@blueprintjs/core\";\nimport { ReactNode, useMemo, useState } from \"react\";\nimport {\n DataField,\n EnvironmentsList,\n IntervalShort,\n IntervalTag,\n ItemList,\n LithologyList,\n LithologyTagFeature,\n Parenthetical,\n Value,\n} from \"@macrostrat/data-components\";\nimport { useMacrostratData, useMacrostratDefs } from \"../data-provider\";\nimport {\n Environment,\n UnitLong,\n UnitLongFull,\n Lithology,\n Interval,\n} from \"@macrostrat/api-types\";\nimport { defaultNameFunction } from \"../units/names\";\nimport classNames from \"classnames\";\n\nconst h = hyper.styled(styles);\n\nexport function UnitDetailsPanel({\n unit,\n onClose,\n className,\n features = new Set<UnitDetailsFeature>([\n UnitDetailsFeature.AdjacentUnits,\n UnitDetailsFeature.OutcropType,\n UnitDetailsFeature.JSONToggle,\n UnitDetailsFeature.DepthRange,\n ]),\n lithologyFeatures,\n actions,\n selectUnit,\n columnUnits,\n onClickItem,\n}: {\n unit: any;\n onClose?: any;\n showLithologyProportions?: boolean;\n className?: string;\n actions?: ReactNode;\n features?: Set<UnitDetailsFeature>;\n lithologyFeatures?: Set<LithologyTagFeature>;\n columnUnits?: UnitLong[];\n selectUnit?: (unitID: number) => void;\n onClickItem?: (item: any) => void;\n}) {\n const [showJSON, setShowJSON] = useState(false);\n\n let content = null;\n if (showJSON) {\n content = h(JSONView, { data: unit, showRoot: false });\n } else {\n content = h(UnitDetailsContent, {\n unit,\n features,\n lithologyFeatures,\n onClickItem,\n });\n }\n\n let title = defaultNameFunction(unit);\n\n let hiddenActions = null;\n if (features.has(UnitDetailsFeature.JSONToggle)) {\n hiddenActions = h(Button, {\n icon: \"code\",\n small: true,\n minimal: true,\n key: \"json-view-toggle\",\n className: classNames(\"json-view-toggle\", { enabled: setShowJSON }),\n onClick(evt) {\n setShowJSON(!showJSON);\n evt.stopPropagation();\n },\n });\n }\n\n return h(\"div.unit-details-panel\", { className }, [\n h(LegendPanelHeader, {\n onClose,\n title,\n id: unit.unit_id,\n actions,\n hiddenActions,\n }),\n h(\"div.unit-details-content-holder\", content),\n ]);\n}\n\nexport function LegendPanelHeader({\n title,\n id,\n onClose,\n actions = null,\n hiddenActions,\n}: {\n title?: string | null;\n id?: number | null;\n onClose?: () => void;\n actions?: ReactNode | null;\n hiddenActions?: ReactNode | null;\n}) {\n return h(\"header.legend-panel-header\", [\n h(\"div.title-container\", [\n h.if(title != null)(\"h3\", title),\n h.if(hiddenActions != null)(\"div.hidden-actions\", hiddenActions),\n ]),\n h(\"div.spacer\"),\n h.if(id != null)(\"code\", id),\n h.if(actions != null)(ButtonGroup, { minimal: true }, actions),\n h.if(onClose != null)(Button, {\n icon: \"cross\",\n minimal: true,\n small: true,\n onClick() {\n onClose();\n },\n }),\n ]);\n}\n\nexport enum UnitDetailsFeature {\n AdjacentUnits = \"adjacent-units\",\n Color = \"color\",\n OutcropType = \"outcrop-type\",\n JSONToggle = \"json-toggle\",\n DepthRange = \"depth-range\",\n}\n\nfunction UnitDetailsContent({\n unit,\n selectUnit,\n columnUnits,\n lithologyFeatures = new Set([\n LithologyTagFeature.Proportion,\n LithologyTagFeature.Attributes,\n ]),\n features = new Set<UnitDetailsFeature>([\n UnitDetailsFeature.AdjacentUnits,\n UnitDetailsFeature.OutcropType,\n ]),\n onClickItem,\n getItemHref,\n}: {\n unit: UnitLong;\n selectUnit?: (unitID: number) => void;\n columnUnits?: UnitLong[];\n lithologyFeatures?: Set<LithologyTagFeature>;\n features?: Set<UnitDetailsFeature>;\n onClickItem?: (\n event: MouseEvent,\n item: Lithology | Environment | UnitLong | Interval,\n ) => void;\n getItemHref?: (item: Lithology | Environment | UnitLong) => string | null;\n}) {\n const lithMap = useMacrostratDefs(\"lithologies\");\n const envMap = useMacrostratDefs(\"environments\");\n\n const environments = enhanceEnvironments(unit.environ, envMap);\n const lithologies = enhanceLithologies(unit.lith ?? [], lithMap);\n\n // Create a lookup table of units if provided\n const columnUnitsMap = useMemo(() => {\n const map = new Map<number, UnitLong>();\n for (const colUnit of columnUnits ?? []) {\n map.set(colUnit.unit_id, colUnit);\n }\n return map;\n }, [columnUnits]);\n\n let outcropField = null;\n if (features.has(UnitDetailsFeature.OutcropType)) {\n // Determine outcrop type\n let outcrop = unit.outcrop;\n if (outcrop == \"both\") {\n outcrop = \"surface and subsurface\";\n }\n outcropField = h(DataField, {\n label: \"Outcrop\",\n value: outcrop,\n });\n }\n\n let thicknessOrHeightRange = null;\n const [thickness, thicknessUnit] = getThickness(unit);\n // Proxy for actual heights in t_pos and b_pos\n if (\n features.has(UnitDetailsFeature.DepthRange) &&\n unit.t_pos != null &&\n unit.b_pos != null &&\n unit.min_thick == unit.max_thick && // We have an actual fixed height\n unit.min_thick != 0 // Not a zero thickness\n ) {\n const label = unit.t_pos < unit.b_pos ? \"Depth\" : \"Height\";\n const u1 = \"m\";\n\n thicknessOrHeightRange = h(DataField, {\n unit: u1,\n label,\n value: formatRange(unit.b_pos, unit.t_pos),\n children: h(\n Parenthetical,\n h(Value, { value: thickness, unit: thicknessUnit }),\n ),\n });\n }\n thicknessOrHeightRange ??= h(DataField, {\n label: \"Thickness\",\n value: thickness,\n unit: thicknessUnit,\n });\n\n /** We are trying to move away from passing the \"color\" parameter in the API */\n let colorSwatch: ReactNode = null;\n if (\"color\" in unit) {\n const unit1 = unit as UnitLongFull;\n colorSwatch = h(\"div.color-swatch\", {\n style: { backgroundColor: unit1.color },\n });\n }\n\n return h(\"div.unit-details-content\", [\n thicknessOrHeightRange,\n h(LithologyList, {\n label: \"Lithology\",\n lithologies,\n features: lithologyFeatures,\n getItemHref,\n onClickItem,\n }),\n h(AgeField, { unit }, [\n h(Parenthetical, h(Duration, { value: unit.b_age - unit.t_age })),\n h(IntervalProportions, {\n unit,\n onClickItem,\n }),\n ]),\n h(EnvironmentsList, {\n environments,\n onClickItem,\n getItemHref,\n }),\n h.if(unit.strat_name_id != null)(\n DataField,\n {\n label: \"Stratigraphic name\",\n },\n h(\n \"span\",\n {\n className: \"strat-name-id\" + (onClickItem ? \" clickable\" : \"\"),\n onClick: (e) => onClickItem(e, { strat_name_id: unit.strat_name_id }),\n },\n unit.strat_name_id,\n ),\n ),\n outcropField,\n h.if(features.has(UnitDetailsFeature.AdjacentUnits))([\n h(\n DataField,\n { label: \"Above\" },\n h(UnitIDList, { units: unit.units_above, selectUnit }),\n ),\n h(\n DataField,\n { label: \"Below\" },\n h(UnitIDList, { units: unit.units_below, selectUnit }),\n ),\n ]),\n colorSwatch,\n h(\n DataField,\n { label: \"Source\", inline: true },\n h(BibInfo, { refs: unit.refs }),\n ),\n ]);\n}\n\nfunction getThickness(unit): [string, string] {\n let minThickness = unit.min_thick ?? 0;\n let maxThickness = unit.max_thick ?? unit.min_thick ?? 0;\n let _unit = \"m\";\n\n if (minThickness == 0 && maxThickness == 0) {\n return [\"Unknown\", null];\n }\n\n if (minThickness < 0.8 && maxThickness < 1.2) {\n // Convert to cm\n minThickness = minThickness * 100;\n maxThickness = maxThickness * 100;\n _unit = \"cm\";\n } else if (minThickness > 800 && maxThickness > 1200) {\n // Convert to km\n minThickness = minThickness / 1000;\n maxThickness = maxThickness / 1000;\n _unit = \"km\";\n }\n\n if (minThickness == maxThickness) {\n return [formatSignificance(minThickness), _unit];\n }\n\n return [formatRange(minThickness, maxThickness), _unit];\n}\n\nfunction ThicknessField({ unit, label = \"Thickness\" }) {\n const [value, thicknessUnit] = getThickness(unit);\n return h(DataField, {\n label,\n value,\n unit: thicknessUnit,\n });\n}\n\nfunction BibInfo({ refs }) {\n const refData = useMacrostratData(\"refs\", refs);\n\n if (refData == null || refData.length === 0) {\n return null;\n }\n\n if (refData.length == 1) {\n return h(Citation, { data: refData[0], tag: \"span\" });\n }\n\n return h(\n \"ul.refs\",\n refData.map((data, i) => h(Citation, { data, tag: \"li\", key: i })),\n );\n}\n\nfunction Citation({ data, tag = \"p\" }) {\n return h(tag, { className: \"citation\" }, [\n h(\"span.authors\", data.author),\n \", \",\n h(\"span.year\", data.pub_year),\n \", \",\n h(\"span.title\", data.ref),\n ]);\n}\n\nfunction AgeField({ unit, children }) {\n const [b_age, t_age, _unit] = getAgeRange(unit);\n\n return h(\n DataField,\n {\n label: \"Age\",\n value: formatRange(b_age, t_age),\n unit: _unit,\n },\n children,\n );\n}\n\nfunction getAgeRange(_unit) {\n let b_age = _unit.b_age;\n let t_age = _unit.t_age;\n let unit = \"Ma\";\n\n if (b_age < 0.8 && t_age < 1.2) {\n b_age *= 1000;\n t_age *= 1000;\n unit = \"ka\";\n } else if (b_age > 800 && t_age > 1200) {\n b_age /= 1000;\n t_age /= 1000;\n unit = \"Ga\";\n }\n\n return [b_age, t_age, unit];\n}\n\nfunction getAge(value) {\n /** Get the age value in Ma, ka, or Ga as appropriate */\n let unit = \"Ma\";\n if (value < 0.8) {\n unit = \"ka\";\n value *= 1000;\n if (value < 5) {\n unit = \"yr\";\n value *= 1000;\n }\n } else if (value > 1000) {\n unit = \"Ga\";\n value /= 1000;\n }\n\n return [value, unit];\n}\n\nexport function AgeLabel({\n age,\n maximumFractionDigits = 2,\n minimumFractionDigits = 0,\n className,\n}: {\n age: number;\n className?: string;\n maximumFractionDigits?: number;\n minimumFractionDigits?: number;\n}) {\n /** Component to display a single age value with unit conversion from\n * Ma to ka or Ga as appropriate.\n */\n const [value, unit] = getAge(age);\n\n const _value = value.toLocaleString(\"en-US\", {\n maximumFractionDigits,\n minimumFractionDigits,\n });\n\n return h(Value, { value: _value, unit, className });\n}\n\nexport function Duration({\n value,\n maximumFractionDigits = 2,\n minimumFractionDigits = 0,\n}) {\n let unit = \"Myr\";\n if (value < 0.8) {\n unit = \"kyr\";\n value *= 1000;\n if (value < 5) {\n unit = \"yr\";\n value *= 1000;\n }\n } else if (value > 1000) {\n unit = \"Gyr\";\n value /= 1000;\n }\n\n let _value = value.toLocaleString(\"en-US\", {\n maximumFractionDigits,\n minimumFractionDigits,\n });\n\n return h(Value, { value: _value, unit });\n}\n\nfunction enhanceEnvironments(\n environments: Partial<Environment>[],\n envMap: Map<number, Environment>,\n) {\n return environments.map((env) => {\n return {\n ...(envMap?.get(env.environ_id) ?? {}),\n ...env,\n };\n });\n}\n\nfunction enhanceLithologies(\n lithologies: Partial<UnitLong[\"lith\"]>,\n lithMap: Map<number, any>,\n) {\n return lithologies.map((lith) => {\n return {\n ...(lithMap?.get(lith.lith_id) ?? {}), // get lithology details\n ...lith, // override with the unit's specific lithology data\n };\n });\n}\n\nfunction UnitIDList({ units, selectUnit }) {\n const u1 = units.filter((d) => d != 0);\n\n if (u1.length === 0) {\n return h(\"span.no-units\", \"None\");\n }\n\n let tag = \"span\";\n if (selectUnit != null) {\n tag = \"a\";\n }\n\n return h(\n ItemList,\n { className: \"unit-id-list\" },\n u1.map((unit) => {\n return h(\n tag,\n\n {\n className: \"unit-id\",\n onClick() {\n selectUnit?.(unit.id);\n },\n key: unit.id,\n },\n unit,\n );\n }),\n );\n}\n\nfunction IntervalProportions({ unit, onClickItem }) {\n const i0 = unit.b_int_id;\n const i1 = unit.t_int_id;\n let b_prop = unit.b_prop ?? 0;\n let t_prop = unit.t_prop ?? 1;\n\n const intervalMap = useMacrostratDefs(\"intervals\");\n const int0 = intervalMap?.get(i0) ?? {};\n\n const interval0: IntervalShort = {\n ...int0,\n id: i0,\n name: unit.b_int_name,\n };\n\n let p0: ReactNode = null;\n const int1 = intervalMap?.get(i1) ?? {};\n const p1: ReactNode = h(Proportion, { value: t_prop });\n\n if (i0 !== i1 || b_prop !== 0 || t_prop !== 1) {\n // We have a single interval with undefined proportions\n p0 = h(Proportion, { value: b_prop });\n }\n\n if (i0 === i1 && (b_prop !== 0 || t_prop !== 1)) {\n p0 = h(\"span.joint-proportion\", [p0, h(\"span.sep\", \"to\"), p1]);\n }\n\n const clickable = onClickItem != null;\n\n const handleClick = (event: MouseEvent) => {\n if (onClickItem) {\n onClickItem(event, interval0);\n }\n };\n\n return h(\"div.interval-proportions\", [\n h(IntervalTag, {\n className: clickable ? \"clickable\" : \"\",\n onClick: clickable ? handleClick : undefined,\n interval: interval0,\n prefix: p0,\n }),\n h.if(i0 != i1)(\"span.discourage-break\", [\n h(\"span.sep\", \"to\"),\n h(IntervalTag, {\n className: clickable ? \"clickable\" : \"\",\n onClick: clickable ? handleClick : undefined,\n interval: {\n ...int1,\n id: i1,\n name: unit.t_int_name,\n },\n prefix: p1,\n }),\n ]),\n ]);\n}\n\nconst formatProportion = (d) => {\n if (d == null) return null;\n return d.toFixed(1);\n};\n\nfunction Proportion({ value }) {\n let content = null;\n if (value == 0) {\n content = \"base\";\n } else if (value == 1) {\n content = \"top\";\n } else {\n content = formatProportion(value * 100) + \"%\";\n }\n\n return h(\"span.proportion\", content);\n}\n\nfunction formatRange(min, max, precision = null) {\n if (min == null || max == null) return null;\n if (min === max) {\n return min.toFixed(precision);\n }\n\n return `${formatSignificance(min, precision)}–${formatSignificance(\n max,\n precision,\n )}`;\n}\n\nfunction formatSignificance(value, precision = null) {\n // Format to preserve a reasonable number of significant figures\n // this could be done with an easier algorithm, probably:\n\n if (precision == null) {\n return value.toLocaleString();\n }\n if (precision >= 0) {\n return value.toFixed(precision);\n }\n if (precision < 0) {\n return (\n (value / Math.pow(10, -precision)).toFixed(0) + \"0\".repeat(-precision)\n );\n }\n}\n"],"names":["$c0aFQ$macrostrathyper","JSONView","$c0aFQ$JSONView","Button","$c0aFQ$Button","ButtonGroup","$c0aFQ$ButtonGroup","useState","$c0aFQ$useState","useMemo","$c0aFQ$useMemo","LithologyTagFeature","$c0aFQ$LithologyTagFeature","DataField","$c0aFQ$DataField","Parenthetical","$c0aFQ$Parenthetical","Value","$c0aFQ$Value","LithologyList","$c0aFQ$LithologyList","EnvironmentsList","$c0aFQ$EnvironmentsList","ItemList","$c0aFQ$ItemList","IntervalTag","$c0aFQ$IntervalTag","$c0aFQ$classnames","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","UnitDetailsFeature","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$4a89f93cd5289383$exports","$4a89f93cd5289383$export$fbd245232df17557","$4a89f93cd5289383$export$fc503c39cc5cff43","$4a89f93cd5289383$export$ec297f6f9a6ccad0","$4a89f93cd5289383$export$3b11bc38611c5941","$4a89f93cd5289383$export$37ebfd237811b1eb","$lMX1H","$lgTAP","$jiUaC","$4a89f93cd5289383$var$h","styled","a","__esModule","default","unit","onClose","className","features","Set","lithologyFeatures","actions","selectUnit","columnUnits","onClickItem","showJSON","setShowJSON","content","data","showRoot","$4a89f93cd5289383$var$UnitDetailsContent","title","defaultNameFunction","hiddenActions","has","icon","small","minimal","key","enabled","onClick","evt","stopPropagation","unit_id","if","Proportion","Attributes","getItemHref","environments","envMap","lithologies","lithMap","minThickness","maxThickness","_unit","useMacrostratDefs","environ","map","env","environ_id","lith","lith_id","Map","colUnit","outcropField","outcrop","label","value","thicknessOrHeightRange","thickness","thicknessUnit","min_thick","max_thick","$4a89f93cd5289383$var$formatSignificance","$4a89f93cd5289383$var$formatRange","t_pos","b_pos","children","colorSwatch","style","backgroundColor","unit1","color","$4a89f93cd5289383$var$AgeField","b_age","t_age","$4a89f93cd5289383$var$IntervalProportions","strat_name_id","$4a89f93cd5289383$var$UnitIDList","units","units_above","units_below","inline","$4a89f93cd5289383$var$BibInfo","refs","refData","useMacrostratData","length","$4a89f93cd5289383$var$Citation","tag","i","author","pub_year","ref","age","maximumFractionDigits","minimumFractionDigits","toLocaleString","u1","filter","d","i0","b_int_id","i1","t_int_id","b_prop","t_prop","intervalMap","interval0","name","b_int_name","p0","int1","p1","$4a89f93cd5289383$var$Proportion","clickable","handleClick","event","undefined","interval","prefix","t_int_name","$4a89f93cd5289383$var$formatProportion","toFixed","min","max","precision","Math","pow","repeat","UnitDetailsPanel","LegendPanelHeader","Duration","AgeLabel"],"version":3,"file":"column-views.9f796135.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import"./column-views.a8ffe072.js";import"./column-views.78d3f3c5.js";import e from"cross-fetch";import{useContext as t,useEffect as r,useMemo as n,useState as o,createContext as s}from"react";import a from"@macrostrat/hyper";import{create as l,useStore as i}from"zustand";import{APIProvider as u}from"@macrostrat/ui-components";import{ColumnProvider as c}from"@macrostrat/column-components";function f(e,t,r,n){Object.defineProperty(e,t,{get:r,set:n,enumerable:!0,configurable:!0})}var m=globalThis,p={},d={},v=m.parcelRequirea149;null==v&&((v=function(e){if(e in p)return p[e].exports;if(e in d){var t=d[e];delete d[e];var r={id:e,exports:{}};return p[e]=r,t.call(r.exports,r,r.exports),r.exports}var n=Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}).register=function(e,t){d[e]=t},m.parcelRequirea149=v),v.register;var h={};f(h,"useMacrostratStore",()=>M),f(h,"useMacrostratDefs",()=>w),f(h,"useMacrostratColumns",()=>x),f(h,"useMacrostratData",()=>C),f(h,"MacrostratDataProvider",()=>L),f(h,"MacrostratAPIProvider",()=>D),f(h,"MacrostratColumnProvider",()=>y),f(h,"LithologiesProvider",()=>E),f(h,"useLithologies",()=>_),f(h,"useEnvironments",()=>A);var g=v("Piirt"),b=v("wtIgl");function $(t="https://macrostrat.org/api/v2"){return l((r,n)=>{var o,s,a,l,i,u,c,f,m,p;return{baseURL:t,inFlightRequests:new Set,async fetch(r,o){let s=t+r,{inFlightRequests:a}=n();if(a.has(s))return null;a.add(s);let l=await e(s,o);return a.delete(s),l},...(o=r,s=n,{lithologies:null,async getLithologies(e){let{lithologies:t,fetch:r}=s(),n=t;if(null==n){let e=await (0,g.fetchLithologies)(r);if(null==e)return;o({lithologies:n=new Map(e.map(e=>[e.lith_id,e]))})}return null==e?n.values():e.map(e=>n.get(e))}}),...(a=r,l=n,{intervals:null,async getIntervals(e,t){var r,n;let{intervals:o,fetch:s}=l(),i=o;if(null==o||(r=o,n=t,!(null!=r&&(null==n||Array.from(r.values()).some(e=>e.timescale_id==n))))){let e=await (0,g.fetchIntervals)(t,s);if(null==e)return[];let r=o??new Map;for(let t of e)r.set(t.int_id,t);a({intervals:i=r})}return null==e&&null==t?Array.from(i.values()):null!=t?Array.from(i.values()).filter(e=>e.timescale_id==t):e.map(e=>o.get(e))}}),...(i=r,u=n,{environments:null,async getEnvironments(e){let{environments:t,fetch:r}=u(),n=t;if(null==n){let e=await (0,g.fetchEnvironments)(r);if(null==e)return[];i({environments:n=new Map(e.map(e=>[e.environ_id,e]))})}return null==e?n.values():e.map(e=>n.get(e))}}),...(c=r,f=n,{columnFootprints:new Map,async getColumns(e,t){let{columnFootprints:r,baseURL:n,fetch:o}=f(),s=e??-1,a=t;null==e&&(a=!1);let l=r.get(s);if(null==l||l.inProcess!=a){let n=await (0,g.fetchAllColumns)({projectID:e,statusCode:null,fetch:o});if(null==n)return;if(a){let t=await (0,g.fetchAllColumns)({projectID:e,statusCode:"in process",fetch:o});if(null==t)return;n=n.concat(t)}l={project_id:e,inProcess:t,columns:n};let i=new Map(r);i.set(s,l),c({columnFootprints:i})}return l.columns}}),...(m=r,p=n,{refs:new Map,async getRefs(e){let{refs:t,fetch:r}=p(),n=e.filter(e=>!t.has(e));if(0==n.length)return e.map(e=>t.get(e));let o=await (0,g.fetchRefs)(n,r);if(null==o)return[];for(let e of o)t.set(e.ref_id,e);return m({refs:t}),e.map(e=>t.get(e))}})}})}function M(e){let r=t(R);if(null==r)throw Error("Missing MacrostratDataProvider");return"api"===e?r:i(r,e)}let P={lithologies:e=>e.getLithologies,intervals:e=>e.getIntervals,columns:e=>e.getColumns,environments:e=>e.getEnvironments,refs:e=>e.getRefs};function w(e){if("columns"==e)throw Error("Columns are not provided as a map");let t=M(P[e]);return r(()=>{t()},[]),M(t=>t[e])}function x(e,t){let o=M(e=>e.getColumns),s=M(e=>e.columnFootprints),a=s?.get(e??-1);return r(()=>{(null==a||t&&!a.inProcess)&&o(e,t)},[a,t,o]),n(()=>{if(null==a)return null;let e=a.columns;return!t&&a.inProcess&&(e.features=e.features?.filter(e=>"in process"!=e.properties.status)),e},[a,t])}function C(e,...t){let n=M(P[e]),[s,a]=o(null);return r(()=>{n(...t).then(a)},[n,...t]),s}let R=s($());function L(e){let{baseURL:t="https://macrostrat.org/api/v2",children:r}=e,[n]=o(()=>$(t));return a(D,{baseURL:t},a(R.Provider,{value:n},r))}function D({children:e,useDev:t=!1,baseURL:r}){return r??(r=t?"https://dev.macrostrat.org/api/v2":"https://macrostrat.org/api/v2"),a(u,{baseURL:r,unwrapResponse:e=>e.success.data},e)}function y(e){let{axisType:t}=(0,b.useMacrostratColumnData)(),{units:r,domain:n,pixelScale:o,children:s}=e;return a(c,{axisType:t,divisions:r,range:n,pixelsPerMeter:o},s)}function E({children:e}){return r(()=>{console.warn("LithologiesProvider is deprecated. Replace with MacrostratDataProvider")},[]),e}function _(){let e=M(e=>e.getLithologies),t=M(e=>e.lithologies);return r(()=>{null==t&&e()},[t,e]),t}function A(){let e=M(e=>e.getEnvironments),t=M(e=>e.environments);return r(()=>{null==t&&e()},[t,e]),t}export{M as useMacrostratStore,w as useMacrostratDefs,x as useMacrostratColumns,C as useMacrostratData,L as MacrostratDataProvider,D as MacrostratAPIProvider,y as MacrostratColumnProvider,E as LithologiesProvider,_ as useLithologies,A as useEnvironments};
|
|
2
|
-
//# sourceMappingURL=column-views.a0aac838.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,M,6C,A,O,6C,A,Q,M,a,A,Q,c,C,C,a,C,C,W,C,C,Y,C,C,iB,C,K,O,A,Q,M,mB,A,Q,U,C,C,Y,C,K,S,A,Q,e,C,K,2B,A,Q,kB,C,K,+B,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,W,E,C,E,E,C,E,E,E,iB,A,O,I,A,C,E,S,C,E,G,K,E,O,C,C,E,C,O,C,G,K,E,C,I,E,C,C,E,A,Q,C,C,E,C,I,E,C,G,E,Q,C,C,E,O,C,C,E,C,E,E,I,C,E,O,C,E,E,O,E,E,O,A,C,I,E,A,M,uB,E,I,O,E,I,C,mB,C,C,E,Q,C,S,C,C,C,E,C,C,E,C,C,E,E,iB,C,G,E,Q,C,I,E,C,E,E,E,qB,I,G,E,E,oB,I,G,E,E,uB,I,G,E,E,oB,I,G,E,E,yB,I,G,E,E,wB,I,G,E,E,2B,I,G,E,E,sB,I,G,E,E,iB,I,G,E,E,kB,I,G,I,E,E,S,E,E,SC2DA,SAAS,EACP,EAAkB,+BAA+B,EAEjD,OAAO,AAAA,EAAwB,CAAC,EAAK,SAoGP,EAAK,EAsCP,EAAK,EAnBF,EAAK,EAxEV,EAAK,EApBR,EAAK,QA1BnB,CACL,QAAA,EACA,iBAAkB,IAAI,IACtB,MAAM,MAAM,CAAW,CAAE,CAAqB,EAC5C,IAAM,EAAO,EAAU,EAEjB,CAAA,iBAAE,CAAgB,CAAE,CAAG,IAC7B,GAAI,EAAiB,GAAG,CAAC,GACvB,OAAO,KAET,EAAiB,GAAG,CAAC,GAErB,IAAM,EAAM,MAAM,AAAA,EAAU,EAAM,GAGlC,OAFA,EAAiB,MAAM,CAAC,GAEjB,CACT,MAmF0B,EAlFA,EAkFK,EAlFA,EAmF5B,CACL,YAAa,KACb,MAAM,eAAe,CAAoB,EACvC,GAAM,CAAA,YAAE,CAAW,CAAA,MAAE,CAAK,CAAE,CAAG,IAC3B,EAAU,EACd,GAAI,AAAW,MAAX,EAAiB,CACnB,IAAM,EAAO,MAAM,AAAA,CAAA,EAAA,EAAA,gBAAe,AAAf,EAAiB,GACpC,GAAI,AAAQ,MAAR,EAAc,OAElB,EAAI,CAAE,YADN,EAAU,IAAI,IAAI,EAAK,GAAG,CAAC,AAAC,GAAM,CAAC,EAAE,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","sources":["<anon>","packages/column-views/src/data-provider/base.ts"],"sourcesContent":["import \"./column-views.a8ffe072.js\";\nimport \"./column-views.78d3f3c5.js\";\nimport $fUENy$crossfetch from \"cross-fetch\";\nimport {useContext as $fUENy$useContext, useEffect as $fUENy$useEffect, useMemo as $fUENy$useMemo, useState as $fUENy$useState, createContext as $fUENy$createContext} from \"react\";\nimport $fUENy$macrostrathyper from \"@macrostrat/hyper\";\nimport {create as $fUENy$create, useStore as $fUENy$useStore} from \"zustand\";\nimport {APIProvider as $fUENy$APIProvider} from \"@macrostrat/ui-components\";\nimport {ColumnProvider as $fUENy$ColumnProvider} from \"@macrostrat/column-components\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global = globalThis;\n \nvar $parcel$modules = {};\nvar $parcel$inits = {};\n\nvar parcelRequire = $parcel$global[\"parcelRequirea149\"];\n\nif (parcelRequire == null) {\n parcelRequire = function(id) {\n if (id in $parcel$modules) {\n return $parcel$modules[id].exports;\n }\n if (id in $parcel$inits) {\n var init = $parcel$inits[id];\n delete $parcel$inits[id];\n var module = {id: id, exports: {}};\n $parcel$modules[id] = module;\n init.call(module.exports, module, module.exports);\n return module.exports;\n }\n var err = new Error(\"Cannot find module '\" + id + \"'\");\n err.code = 'MODULE_NOT_FOUND';\n throw err;\n };\n\n parcelRequire.register = function register(id, init) {\n $parcel$inits[id] = init;\n };\n\n $parcel$global[\"parcelRequirea149\"] = parcelRequire;\n}\n\nvar parcelRegister = parcelRequire.register;\nvar $8750144f23b92eb9$exports = {};\n\n$parcel$export($8750144f23b92eb9$exports, \"useMacrostratStore\", () => $8750144f23b92eb9$export$fb98d5bae3a6800);\n$parcel$export($8750144f23b92eb9$exports, \"useMacrostratDefs\", () => $8750144f23b92eb9$export$89dd4e5ae4a82373);\n$parcel$export($8750144f23b92eb9$exports, \"useMacrostratColumns\", () => $8750144f23b92eb9$export$81eaae0b474404fd);\n$parcel$export($8750144f23b92eb9$exports, \"useMacrostratData\", () => $8750144f23b92eb9$export$b9c9fc603d74a555);\n$parcel$export($8750144f23b92eb9$exports, \"MacrostratDataProvider\", () => $8750144f23b92eb9$export$690613f93cdc5576);\n$parcel$export($8750144f23b92eb9$exports, \"MacrostratAPIProvider\", () => $8750144f23b92eb9$export$3098013bc6cc316d);\n$parcel$export($8750144f23b92eb9$exports, \"MacrostratColumnProvider\", () => $8750144f23b92eb9$export$9e42f9b6e0d67c7d);\n$parcel$export($8750144f23b92eb9$exports, \"LithologiesProvider\", () => $8750144f23b92eb9$export$8492a5cae82b6a70);\n$parcel$export($8750144f23b92eb9$exports, \"useLithologies\", () => $8750144f23b92eb9$export$4d18a90c945d129f);\n$parcel$export($8750144f23b92eb9$exports, \"useEnvironments\", () => $8750144f23b92eb9$export$c6b216bf4c71b61f);\n/** Data provider for information that needs to be loaded in bulk for frontend views */ \n\n\n\n\nvar $Piirt = parcelRequire(\"Piirt\");\n\n\n\nvar $wtIgl = parcelRequire(\"wtIgl\");\nfunction $8750144f23b92eb9$var$createMacrostratStore(baseURL = \"https://macrostrat.org/api/v2\") {\n return (0, $fUENy$create)((set, get)=>{\n return {\n baseURL: baseURL,\n inFlightRequests: new Set(),\n async fetch (url, options) {\n const url1 = baseURL + url;\n // Avoid duplicate requests\n const { inFlightRequests: inFlightRequests } = get();\n if (inFlightRequests.has(url1)) return null; // Return null if already in flight\n inFlightRequests.add(url1);\n //set({ inFlightRequests });\n const res = await (0, $fUENy$crossfetch)(url1, options);\n inFlightRequests.delete(url1);\n //set({in})\n return res;\n },\n ...$8750144f23b92eb9$var$createLithologiesSlice(set, get),\n ...$8750144f23b92eb9$var$createIntervalsSlice(set, get),\n ...$8750144f23b92eb9$var$createEnvironmentsSlice(set, get),\n ...$8750144f23b92eb9$var$createColumnsSlice(set, get),\n ...$8750144f23b92eb9$var$createRefsSlice(set, get)\n };\n });\n}\nfunction $8750144f23b92eb9$var$createRefsSlice(set, get) {\n return {\n refs: new Map(),\n async getRefs (ids) {\n const { refs: refs, fetch: fetch } = get();\n const missing = ids.filter((id)=>!refs.has(id));\n if (missing.length == 0) return ids.map((id)=>refs.get(id));\n const data = await (0, $Piirt.fetchRefs)(missing, fetch);\n if (data == null) return [];\n for (const d of data)refs.set(d.ref_id, d);\n set({\n refs: refs\n });\n return ids.map((id)=>refs.get(id));\n }\n };\n}\nfunction $8750144f23b92eb9$var$createColumnsSlice(set, get) {\n // Column footprints separated by project\n return {\n columnFootprints: new Map(),\n async getColumns (projectID, inProcess) {\n const { columnFootprints: columnFootprints, baseURL: baseURL, fetch: fetch } = get();\n const key = projectID ?? -1;\n let _inProcess = inProcess;\n if (projectID == null) // If no project is specified, in process columns cannot be included\n _inProcess = false;\n let footprints = columnFootprints.get(key);\n if (footprints == null || footprints.inProcess != _inProcess) {\n // Fetch the columns\n const statusCode = inProcess ? \"in process\" : null;\n let columns = await (0, $Piirt.fetchAllColumns)({\n projectID: projectID,\n statusCode: null,\n fetch: fetch\n });\n if (columns == null) return;\n if (_inProcess) {\n const inProcessColumns = await (0, $Piirt.fetchAllColumns)({\n projectID: projectID,\n statusCode: \"in process\",\n fetch: fetch\n });\n if (inProcessColumns == null) return;\n // Combine active and in-process columns\n columns = columns.concat(inProcessColumns);\n }\n footprints = {\n project_id: projectID,\n inProcess: inProcess,\n columns: columns\n };\n // We could break multi-project result sets into separate caches here...\n // Copy the original map\n const columnFootprints2 = new Map(columnFootprints);\n columnFootprints2.set(key, footprints);\n set({\n columnFootprints: columnFootprints2\n });\n }\n return footprints.columns;\n }\n };\n}\nfunction $8750144f23b92eb9$var$createLithologiesSlice(set, get) {\n return {\n lithologies: null,\n async getLithologies (ids) {\n const { lithologies: lithologies, fetch: fetch } = get();\n let lithMap = lithologies;\n if (lithMap == null) {\n const data = await (0, $Piirt.fetchLithologies)(fetch);\n if (data == null) return;\n lithMap = new Map(data.map((d)=>[\n d.lith_id,\n d\n ]));\n set({\n lithologies: lithMap\n });\n }\n // Now get the lithologies\n if (ids == null) return lithMap.values();\n return ids.map((id)=>lithMap.get(id));\n }\n };\n}\nfunction $8750144f23b92eb9$var$createEnvironmentsSlice(set, get) {\n return {\n environments: null,\n async getEnvironments (ids) {\n const { environments: environments, fetch: fetch } = get();\n let envMap = environments;\n if (envMap == null) {\n const data = await (0, $Piirt.fetchEnvironments)(fetch);\n if (data == null) return [];\n envMap = new Map(data.map((d)=>[\n d.environ_id,\n d\n ]));\n set({\n environments: envMap\n });\n }\n // Now get the environments\n if (ids == null) return envMap.values();\n return ids.map((id)=>envMap.get(id));\n }\n };\n}\nfunction $8750144f23b92eb9$var$createIntervalsSlice(set, get) {\n return {\n intervals: null,\n async getIntervals (ids, timescaleID) {\n const { intervals: intervals, fetch: fetch } = get();\n let _intervals = intervals;\n if (intervals == null || !$8750144f23b92eb9$var$includesTimescale(intervals, timescaleID)) {\n // Fetch the intervals\n const data = await (0, $Piirt.fetchIntervals)(timescaleID, fetch);\n if (data == null) return [];\n const intervalMap = intervals ?? new Map();\n for (const d of data)intervalMap.set(d.int_id, d);\n _intervals = intervalMap;\n set({\n intervals: _intervals\n });\n }\n if (ids == null && timescaleID == null) return Array.from(_intervals.values());\n if (timescaleID != null) return Array.from(_intervals.values()).filter((d)=>d.timescale_id == timescaleID);\n return ids.map((id)=>intervals.get(id));\n }\n };\n}\nfunction $8750144f23b92eb9$var$includesTimescale(intervals, timescaleID) {\n if (intervals == null) return false;\n if (timescaleID == null) return true;\n return Array.from(intervals.values()).some((d)=>d.timescale_id == timescaleID);\n}\nfunction $8750144f23b92eb9$export$fb98d5bae3a6800(selector) {\n const ctx = (0, $fUENy$useContext)($8750144f23b92eb9$var$MacrostratDataProviderContext);\n if (ctx == null) throw new Error(\"Missing MacrostratDataProvider\");\n if (selector === \"api\") return ctx;\n return (0, $fUENy$useStore)(ctx, selector);\n}\nconst $8750144f23b92eb9$var$dataTypeMapping = {\n lithologies: (store)=>store.getLithologies,\n intervals: (store)=>store.getIntervals,\n columns: (store)=>store.getColumns,\n environments: (store)=>store.getEnvironments,\n refs: (store)=>store.getRefs\n};\nfunction $8750144f23b92eb9$export$89dd4e5ae4a82373(dataType) {\n if (dataType == \"columns\") throw new Error(\"Columns are not provided as a map\");\n const operator = $8750144f23b92eb9$export$fb98d5bae3a6800($8750144f23b92eb9$var$dataTypeMapping[dataType]);\n (0, $fUENy$useEffect)(()=>{\n operator();\n }, []);\n return $8750144f23b92eb9$export$fb98d5bae3a6800((state)=>state[dataType]);\n}\nfunction $8750144f23b92eb9$export$81eaae0b474404fd(projectID, inProcess) {\n const getColumns = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.getColumns);\n const columnsMap = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.columnFootprints);\n const key = projectID ?? -1;\n const colData = columnsMap?.get(key);\n (0, $fUENy$useEffect)(()=>{\n // Refetch if the columns are not available, or if we have requested inProcess columns where we didn't before\n if (colData == null || inProcess && !colData.inProcess) getColumns(projectID, inProcess);\n // If we've already fetched the columns there's nothing to do...\n }, [\n colData,\n inProcess,\n getColumns\n ]);\n return (0, $fUENy$useMemo)(()=>{\n if (colData == null) return null;\n let columns = colData.columns;\n if (!inProcess && colData.inProcess) // Our available set of columns includes 'in process' columns, but we don't want them\n columns.features = columns.features?.filter((d)=>d.properties.status != \"in process\");\n return columns;\n }, [\n colData,\n inProcess\n ]);\n}\nfunction $8750144f23b92eb9$export$b9c9fc603d74a555(dataType, ...args) {\n const selector = $8750144f23b92eb9$var$dataTypeMapping[dataType];\n const operator = $8750144f23b92eb9$export$fb98d5bae3a6800(selector);\n const [value, setValue] = (0, $fUENy$useState)(null);\n (0, $fUENy$useEffect)(()=>{\n operator(...args).then(setValue);\n }, [\n operator,\n ...args\n ]);\n return value;\n}\n/** By default, we provide a store linked to the production API */ const $8750144f23b92eb9$var$MacrostratDataProviderContext = (0, $fUENy$createContext)($8750144f23b92eb9$var$createMacrostratStore());\nfunction $8750144f23b92eb9$export$690613f93cdc5576(props) {\n const { baseURL: baseURL = \"https://macrostrat.org/api/v2\", children: children } = props;\n const [store] = (0, $fUENy$useState)(()=>$8750144f23b92eb9$var$createMacrostratStore(baseURL));\n return (0, $fUENy$macrostrathyper)($8750144f23b92eb9$export$3098013bc6cc316d, {\n baseURL: baseURL\n }, (0, $fUENy$macrostrathyper)($8750144f23b92eb9$var$MacrostratDataProviderContext.Provider, {\n value: store\n }, children));\n}\nfunction $8750144f23b92eb9$export$3098013bc6cc316d({ children: children, useDev: useDev = false, baseURL: baseURL }) {\n baseURL ?? (baseURL = useDev ? \"https://dev.macrostrat.org/api/v2\" : \"https://macrostrat.org/api/v2\");\n return (0, $fUENy$macrostrathyper)((0, $fUENy$APIProvider), {\n baseURL: baseURL,\n unwrapResponse: (res)=>res.success.data\n }, children);\n}\nfunction $8750144f23b92eb9$export$9e42f9b6e0d67c7d(props) {\n /** A column provider specialized the Macrostrat API. Maps more\n * generic concepts to Macrostrat-specific ones.\n */ const { axisType: axisType } = (0, $wtIgl.useMacrostratColumnData)();\n const { units: units, domain: domain, pixelScale: pixelScale, children: children } = props;\n return (0, $fUENy$macrostrathyper)((0, $fUENy$ColumnProvider), {\n axisType: axisType,\n divisions: units,\n range: domain,\n pixelsPerMeter: pixelScale\n }, children);\n}\nfunction $8750144f23b92eb9$export$8492a5cae82b6a70({ children: children }) {\n (0, $fUENy$useEffect)(()=>{\n console.warn(\"LithologiesProvider is deprecated. Replace with MacrostratDataProvider\");\n }, []);\n return children;\n}\nfunction $8750144f23b92eb9$export$4d18a90c945d129f() {\n const getLithologies = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.getLithologies);\n const lithologies = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.lithologies);\n (0, $fUENy$useEffect)(()=>{\n if (lithologies == null) getLithologies();\n }, [\n lithologies,\n getLithologies\n ]);\n return lithologies;\n}\nfunction $8750144f23b92eb9$export$c6b216bf4c71b61f() {\n const getEnvironments = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.getEnvironments);\n const environments = $8750144f23b92eb9$export$fb98d5bae3a6800((s)=>s.environments);\n (0, $fUENy$useEffect)(()=>{\n if (environments == null) getEnvironments();\n }, [\n environments,\n getEnvironments\n ]);\n return environments;\n}\n\n\nexport {$8750144f23b92eb9$export$fb98d5bae3a6800 as useMacrostratStore, $8750144f23b92eb9$export$89dd4e5ae4a82373 as useMacrostratDefs, $8750144f23b92eb9$export$81eaae0b474404fd as useMacrostratColumns, $8750144f23b92eb9$export$b9c9fc603d74a555 as useMacrostratData, $8750144f23b92eb9$export$690613f93cdc5576 as MacrostratDataProvider, $8750144f23b92eb9$export$3098013bc6cc316d as MacrostratAPIProvider, $8750144f23b92eb9$export$9e42f9b6e0d67c7d as MacrostratColumnProvider, $8750144f23b92eb9$export$8492a5cae82b6a70 as LithologiesProvider, $8750144f23b92eb9$export$4d18a90c945d129f as useLithologies, $8750144f23b92eb9$export$c6b216bf4c71b61f as useEnvironments};\n//# sourceMappingURL=column-views.a0aac838.js.map\n","/** Data provider for information that needs to be loaded in bulk for frontend views */\nimport baseFetch from \"cross-fetch\";\nimport { createContext, useContext, useEffect, useMemo, useState } from \"react\";\nimport h from \"@macrostrat/hyper\";\nimport { create, useStore } from \"zustand\";\nimport {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n Environment,\n MacrostratRef,\n} from \"@macrostrat/api-types\";\nimport {\n fetchAllColumns,\n fetchEnvironments,\n fetchIntervals,\n fetchLithologies,\n fetchRefs,\n} from \"./fetch\";\nimport { APIProvider } from \"@macrostrat/ui-components\";\nimport { ColumnProvider } from \"@macrostrat/column-components\";\n\nimport { ReactNode } from \"react\";\nimport { useMacrostratColumnData } from \"./store\";\n\nexport interface MacrostratDataProviderProps {\n baseURL: string;\n children: React.ReactNode;\n}\n\ninterface ColumnFootprintsStorage {\n project_id: number;\n // Whether the \"in process\" flag was used\n inProcess: boolean;\n // The column footprints\n columns: ColumnGeoJSONRecordWithID[];\n}\n\ninterface RefsSlice {\n refs: Map<number, MacrostratRef>;\n inFlightRequests: Set<string>; // Track requests to avoid duplicates\n getRefs(ids: number[]): Promise<MacrostratRef[]>;\n}\n\ninterface MacrostratStore extends RefsSlice {\n baseURL: string;\n fetch: any;\n lithologies: Map<number, any> | null;\n getLithologies(ids: number[] | null): Promise<any>;\n intervals: Map<number, any> | null;\n getIntervals(ids: number[] | null, timescaleID: number | null): Promise<any>;\n environments: Map<number, Environment> | null;\n getEnvironments(ids: number[] | null): Promise<Environment[]>;\n columnFootprints: Map<number, ColumnFootprintsStorage>;\n getColumns(\n projectID: number | null,\n inProcess: boolean,\n ): Promise<ColumnGeoJSONRecord[]>;\n}\n\nfunction createMacrostratStore(\n baseURL: string = \"https://macrostrat.org/api/v2\",\n) {\n return create<MacrostratStore>((set, get): MacrostratStore => {\n return {\n baseURL,\n inFlightRequests: new Set(),\n async fetch(url: string, options?: RequestInit) {\n const url1 = baseURL + url;\n // Avoid duplicate requests\n const { inFlightRequests } = get();\n if (inFlightRequests.has(url1)) {\n return null; // Return null if already in flight\n }\n inFlightRequests.add(url1);\n //set({ inFlightRequests });\n const res = await baseFetch(url1, options);\n inFlightRequests.delete(url1);\n //set({in})\n return res;\n },\n ...createLithologiesSlice(set, get),\n ...createIntervalsSlice(set, get),\n ...createEnvironmentsSlice(set, get),\n ...createColumnsSlice(set, get),\n ...createRefsSlice(set, get),\n };\n });\n}\n\nfunction createRefsSlice(set, get) {\n return {\n refs: new Map(),\n async getRefs(ids: number[]): Promise<MacrostratRef[]> {\n const { refs, fetch } = get();\n const missing = ids.filter((id) => !refs.has(id));\n if (missing.length == 0) {\n return ids.map((id) => refs.get(id));\n }\n const data = await fetchRefs(missing, fetch);\n if (data == null) return [];\n for (const d of data) {\n refs.set(d.ref_id, d);\n }\n set({ refs });\n return ids.map((id) => refs.get(id));\n },\n };\n}\n\nfunction createColumnsSlice(set, get) {\n // Column footprints separated by project\n return {\n columnFootprints: new Map(),\n async getColumns(projectID: number | null, inProcess: boolean) {\n const { columnFootprints, baseURL, fetch } = get();\n const key = projectID ?? -1;\n let _inProcess = inProcess;\n if (projectID == null) {\n // If no project is specified, in process columns cannot be included\n _inProcess = false;\n }\n let footprints = columnFootprints.get(key);\n if (footprints == null || footprints.inProcess != _inProcess) {\n // Fetch the columns\n const statusCode = inProcess ? \"in process\" : null;\n let columns = await fetchAllColumns({\n projectID,\n statusCode: null,\n fetch,\n });\n if (columns == null) {\n return;\n }\n if (_inProcess) {\n const inProcessColumns = await fetchAllColumns({\n projectID,\n statusCode: \"in process\",\n fetch,\n });\n if (inProcessColumns == null) {\n return;\n }\n // Combine active and in-process columns\n columns = columns.concat(inProcessColumns);\n }\n\n footprints = {\n project_id: projectID,\n inProcess,\n columns,\n };\n // We could break multi-project result sets into separate caches here...\n // Copy the original map\n const columnFootprints2 = new Map(columnFootprints);\n columnFootprints2.set(key, footprints);\n set({ columnFootprints: columnFootprints2 });\n }\n return footprints.columns;\n },\n };\n}\n\nfunction createLithologiesSlice(set, get) {\n return {\n lithologies: null,\n async getLithologies(ids: number[] | null) {\n const { lithologies, fetch } = get();\n let lithMap = lithologies;\n if (lithMap == null) {\n const data = await fetchLithologies(fetch);\n if (data == null) return;\n lithMap = new Map(data.map((d) => [d.lith_id, d]));\n set({ lithologies: lithMap });\n }\n // Now get the lithologies\n if (ids == null) return lithMap.values();\n return ids.map((id) => lithMap.get(id));\n },\n };\n}\n\nfunction createEnvironmentsSlice(set, get) {\n return {\n environments: null,\n async getEnvironments(ids: number[] | null): Promise<Environment[]> {\n const { environments, fetch } = get();\n let envMap = environments;\n if (envMap == null) {\n const data = await fetchEnvironments(fetch);\n if (data == null) return [];\n envMap = new Map(data.map((d) => [d.environ_id, d]));\n set({ environments: envMap });\n }\n // Now get the environments\n if (ids == null) return envMap.values();\n return ids.map((id) => envMap.get(id));\n },\n };\n}\n\nfunction createIntervalsSlice(set, get) {\n return {\n intervals: null,\n async getIntervals(ids: number[] | null, timescaleID: number | null) {\n const { intervals, fetch } = get();\n let _intervals = intervals;\n if (intervals == null || !includesTimescale(intervals, timescaleID)) {\n // Fetch the intervals\n const data = await fetchIntervals(timescaleID, fetch);\n if (data == null) {\n return [];\n }\n const intervalMap = intervals ?? new Map();\n for (const d of data) {\n intervalMap.set(d.int_id, d);\n }\n _intervals = intervalMap;\n set({ intervals: _intervals });\n }\n if (ids == null && timescaleID == null)\n return Array.from(_intervals.values());\n if (timescaleID != null) {\n return Array.from(_intervals.values() as any[]).filter(\n (d) => d.timescale_id == timescaleID,\n );\n }\n return ids.map((id) => intervals.get(id));\n },\n };\n}\n\nfunction includesTimescale(intervals: Map<number, any>, timescaleID: number) {\n if (intervals == null) return false;\n if (timescaleID == null) return true;\n return Array.from(intervals.values()).some(\n (d) => d.timescale_id == timescaleID,\n );\n}\n\ntype MacrostratSelector = (store: MacrostratStore) => any;\n\nexport function useMacrostratStore(selector: MacrostratSelector | \"api\") {\n const ctx = useContext(MacrostratDataProviderContext);\n if (ctx == null) {\n throw new Error(\"Missing MacrostratDataProvider\");\n }\n if (selector === \"api\") {\n return ctx;\n }\n\n return useStore(ctx, selector);\n}\n\nconst dataTypeMapping = {\n lithologies: (store) => store.getLithologies,\n intervals: (store) => store.getIntervals,\n columns: (store) => store.getColumns,\n environments: (store) => store.getEnvironments,\n refs: (store) => store.getRefs,\n};\n\nexport function useMacrostratDefs(dataType: string): Map<number, any> | null {\n if (dataType == \"columns\") {\n throw new Error(\"Columns are not provided as a map\");\n }\n const operator = useMacrostratStore(dataTypeMapping[dataType]);\n useEffect(() => {\n operator();\n }, []);\n return useMacrostratStore((state) => state[dataType]);\n}\n\nexport function useMacrostratColumns(\n projectID: number | null,\n inProcess: boolean,\n) {\n const getColumns = useMacrostratStore((s) => s.getColumns);\n const columnsMap = useMacrostratStore((s) => s.columnFootprints);\n const key = projectID ?? -1;\n const colData = columnsMap?.get(key);\n useEffect(() => {\n // Refetch if the columns are not available, or if we have requested inProcess columns where we didn't before\n if (colData == null || (inProcess && !colData.inProcess)) {\n getColumns(projectID, inProcess);\n }\n // If we've already fetched the columns there's nothing to do...\n }, [colData, inProcess, getColumns]);\n\n return useMemo(() => {\n if (colData == null) return null;\n let columns = colData.columns;\n if (!inProcess && colData.inProcess) {\n // Our available set of columns includes 'in process' columns, but we don't want them\n columns.features = columns.features?.filter(\n (d) => d.properties.status != \"in process\",\n );\n }\n return columns;\n }, [colData, inProcess]);\n}\n\nexport function useMacrostratData(dataType: string, ...args: any[]) {\n const selector = dataTypeMapping[dataType];\n const operator = useMacrostratStore(selector);\n\n const [value, setValue] = useState(null);\n\n useEffect(() => {\n operator(...args).then(setValue);\n }, [operator, ...args]);\n\n return value;\n}\n\n/** By default, we provide a store linked to the production API */\nconst MacrostratDataProviderContext = createContext(createMacrostratStore());\n\nexport function MacrostratDataProvider(props: MacrostratDataProviderProps) {\n const { baseURL = \"https://macrostrat.org/api/v2\", children } = props;\n\n const [store] = useState(() => createMacrostratStore(baseURL));\n\n return h(\n MacrostratAPIProvider,\n { baseURL },\n h(MacrostratDataProviderContext.Provider, { value: store }, children),\n );\n}\n\n/** Legacy API provider so useAPIResult can work */\n\ntype APIProviderProps = {\n children: ReactNode;\n useDev?: boolean;\n baseURL?: string;\n};\n\nexport function MacrostratAPIProvider({\n children,\n useDev = false,\n baseURL,\n}: APIProviderProps) {\n baseURL ??= useDev\n ? \"https://dev.macrostrat.org/api/v2\"\n : \"https://macrostrat.org/api/v2\";\n\n return h(\n APIProvider,\n {\n baseURL,\n unwrapResponse: (res) => res.success.data,\n },\n children,\n );\n}\n\nexport function MacrostratColumnProvider(props) {\n /** A column provider specialized the Macrostrat API. Maps more\n * generic concepts to Macrostrat-specific ones.\n */\n\n const { axisType } = useMacrostratColumnData();\n const { units, domain, pixelScale, children } = props;\n return h(\n ColumnProvider,\n { axisType, divisions: units, range: domain, pixelsPerMeter: pixelScale },\n children,\n );\n}\n\n/** This is now a legacy provider */\nexport function LithologiesProvider({ children }) {\n useEffect(() => {\n console.warn(\n \"LithologiesProvider is deprecated. Replace with MacrostratDataProvider\",\n );\n }, []);\n return children;\n}\n\nexport function useLithologies() {\n const getLithologies = useMacrostratStore((s) => s.getLithologies);\n const lithologies = useMacrostratStore((s) => s.lithologies);\n useEffect(() => {\n if (lithologies == null) getLithologies();\n }, [lithologies, getLithologies]);\n return lithologies;\n}\n\nexport function useEnvironments() {\n const getEnvironments = useMacrostratStore((s) => s.getEnvironments);\n const environments = useMacrostratStore((s) => s.environments);\n useEffect(() => {\n if (environments == null) getEnvironments();\n }, [environments, getEnvironments]);\n return environments;\n}\n"],"names":["$fUENy$crossfetch","useContext","$fUENy$useContext","useEffect","$fUENy$useEffect","useMemo","$fUENy$useMemo","useState","$fUENy$useState","createContext","$fUENy$createContext","$fUENy$macrostrathyper","create","$fUENy$create","useStore","$fUENy$useStore","APIProvider","$fUENy$APIProvider","ColumnProvider","$fUENy$ColumnProvider","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","$8750144f23b92eb9$exports","$8750144f23b92eb9$export$fb98d5bae3a6800","$8750144f23b92eb9$export$89dd4e5ae4a82373","$8750144f23b92eb9$export$81eaae0b474404fd","$8750144f23b92eb9$export$b9c9fc603d74a555","$8750144f23b92eb9$export$690613f93cdc5576","$8750144f23b92eb9$export$3098013bc6cc316d","$8750144f23b92eb9$export$9e42f9b6e0d67c7d","$8750144f23b92eb9$export$8492a5cae82b6a70","$8750144f23b92eb9$export$4d18a90c945d129f","$8750144f23b92eb9$export$c6b216bf4c71b61f","$Piirt","$wtIgl","$8750144f23b92eb9$var$createMacrostratStore","baseURL","inFlightRequests","Set","fetch","url","options","url1","has","add","res","delete","lithologies","getLithologies","ids","lithMap","data","fetchLithologies","Map","map","d","lith_id","values","intervals","getIntervals","timescaleID","_intervals","Array","from","some","timescale_id","fetchIntervals","intervalMap","int_id","filter","environments","getEnvironments","envMap","fetchEnvironments","environ_id","columnFootprints","getColumns","projectID","inProcess","key","_inProcess","footprints","columns","fetchAllColumns","statusCode","inProcessColumns","concat","project_id","columnFootprints2","refs","getRefs","missing","length","fetchRefs","ref_id","selector","ctx","$8750144f23b92eb9$var$MacrostratDataProviderContext","$8750144f23b92eb9$var$dataTypeMapping","store","dataType","operator","state","columnsMap","colData","features","properties","status","args","value","setValue","then","props","children","Provider","useDev","unwrapResponse","success","axisType","useMacrostratColumnData","units","domain","pixelScale","divisions","range","pixelsPerMeter","console","warn","useMacrostratStore","useMacrostratDefs","useMacrostratColumns","useMacrostratData","MacrostratDataProvider","MacrostratAPIProvider","MacrostratColumnProvider","LithologiesProvider","useLithologies","useEnvironments"],"version":3,"file":"column-views.a0aac838.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{joinURL as t,addQueryString as e,useAPIResult as n}from"@macrostrat/ui-components";import a from"cross-fetch";import{feature as o}from"topojson-client";import{geoArea as r}from"d3-geo";function s(t,e,n,a){Object.defineProperty(t,e,{get:n,set:a,enumerable:!0,configurable:!0})}var l={};function c(t,e){return a("https://macrostrat.org/api/v2"+t,e)}async function i(n={}){let{apiBaseURL:o,projectID:s,format:l="topojson",statusCode:c,fetch:u=a}=n,f={format:l};null!=s&&(f={...f,project_id:s}),null!=c&&(f={...f,status_code:c}),null==s&&(f={...f,all:!0});let p="/columns";null!=o&&(p=t(o,p)),p=e(p,f);let m=await u(p,{method:"GET",headers:{"Content-Type":"application/json"}});if(null==m)return null;let h=await m.json();return d[l](h).filter(t=>null!=t.geometry).map(t=>{if(1e-8>r(t.geometry)){let e=t.geometry.coordinates[0][0];t.geometry={type:"Point",coordinates:e}}return t}).map((t,e)=>({id:t.properties?.col_id,...t}))}function u({apiRoute:t="/columns",status_code:e,project_id:a,format:o="geojson"}){let r;null==e&&null==a&&(r=!0);let s=d[o];return n(t,{format:o,all:r,status_code:e,project_id:a},s)}function f(t){return t?.features}s(l,"fetchAllColumns",()=>i),s(l,"useColumnFeatures",()=>u),s(l,"fetchLithologies",()=>m),s(l,"fetchIntervals",()=>h),s(l,"fetchEnvironments",()=>$),s(l,"fetchRefs",()=>g),s(l,"fetchUnits",()=>j),s(l,"fetchColumnUnits",()=>y);let d={topojson:function(t){try{let{data:e}=t.success,{features:n}=o(e,e.objects.output);return n}catch(t){return console.error(t),[]}},geojson:function(t){return f(t?.success?.data)},geojson_bare:f};async function p(t){return null==t?null:(await t.json()).success.data}async function m(t=c){let e=await t("/defs/lithologies?all");return await p(e)}async function h(t,e=c){let n="/defs/intervals";null!=t?n+=`?timescale_id=${t}`:n+="?all";let a=await e(n);return await p(a)}async function $(t=c){let e=await t("/defs/environments?all");return await p(e)}async function g(t,e=c){let n="/defs/refs";if(0==t.length)return[];n+="?ref_id="+t.join(",");let a=await e(n);return await p(a)}async function j(t,e=c){let n=t.map(t=>y(t,e));return await Promise.all(n)}async function y(t,e=c){let n=new URLSearchParams;n.append("response","long"),n.append("col_id",t.toString());let a=await e("/units?"+n.toString()),o=await a.json();if(!o.success)throw Error("Failed to fetch column units");return{columnID:t,units:o.success.data}}export{i as fetchAllColumns,u as useColumnFeatures,m as fetchLithologies,h as fetchIntervals,$ as fetchEnvironments,g as fetchRefs,j as fetchUnits,y as fetchColumnUnits};
|
|
2
|
-
//# sourceMappingURL=column-views.a8ffe072.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"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","sources":["<anon>","packages/column-views/src/data-provider/fetch.ts"],"sourcesContent":["import {joinURL as $iGnPX$joinURL, addQueryString as $iGnPX$addQueryString, useAPIResult as $iGnPX$useAPIResult} from \"@macrostrat/ui-components\";\nimport $iGnPX$crossfetch from \"cross-fetch\";\nimport {feature as $iGnPX$feature} from \"topojson-client\";\nimport {geoArea as $iGnPX$geoArea} from \"d3-geo\";\n\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $482a09479937d1e2$exports = {};\n\n$parcel$export($482a09479937d1e2$exports, \"fetchAllColumns\", () => $482a09479937d1e2$export$45bd78cd093090fa);\n$parcel$export($482a09479937d1e2$exports, \"useColumnFeatures\", () => $482a09479937d1e2$export$e3270a4e30e40ff9);\n$parcel$export($482a09479937d1e2$exports, \"fetchLithologies\", () => $482a09479937d1e2$export$1aa679bd5e605f82);\n$parcel$export($482a09479937d1e2$exports, \"fetchIntervals\", () => $482a09479937d1e2$export$5d2ec2e733dfe6c7);\n$parcel$export($482a09479937d1e2$exports, \"fetchEnvironments\", () => $482a09479937d1e2$export$780b4b253712916c);\n$parcel$export($482a09479937d1e2$exports, \"fetchRefs\", () => $482a09479937d1e2$export$cd7bfa0860f58b96);\n$parcel$export($482a09479937d1e2$exports, \"fetchUnits\", () => $482a09479937d1e2$export$b97b9bdd6a521298);\n$parcel$export($482a09479937d1e2$exports, \"fetchColumnUnits\", () => $482a09479937d1e2$export$d3d8b0fabcc76c5d);\n\n\n\n\nfunction $482a09479937d1e2$var$defaultFetch(url, options) {\n const baseURL = \"https://macrostrat.org/api/v2\";\n return (0, $iGnPX$crossfetch)(baseURL + url, options);\n}\nasync function $482a09479937d1e2$export$45bd78cd093090fa(options = {}) {\n const { apiBaseURL: apiBaseURL, projectID: projectID, format: format = \"topojson\", statusCode: statusCode, fetch: fetch = (0, $iGnPX$crossfetch) } = options;\n let args = {\n format: format\n };\n if (projectID != null) args = {\n ...args,\n project_id: projectID\n };\n if (statusCode != null) args = {\n ...args,\n status_code: statusCode\n };\n if (projectID == null) args = {\n ...args,\n all: true\n };\n let url = \"/columns\";\n if (apiBaseURL != null) url = (0, $iGnPX$joinURL)(apiBaseURL, url);\n // Try with fetch\n url = (0, $iGnPX$addQueryString)(url, args);\n const res = await fetch(url, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\"\n }\n });\n if (res == null) return null;\n // Get JSON\n const data = await res.json();\n return $482a09479937d1e2$var$postProcessColumns($482a09479937d1e2$var$columnProcessors[format](data));\n}\nfunction $482a09479937d1e2$export$e3270a4e30e40ff9({ apiRoute: apiRoute = \"/columns\", status_code: status_code, project_id: project_id, format: format = \"geojson\" }) {\n let all = undefined;\n if (status_code == null && project_id == null) all = true;\n const processor = $482a09479937d1e2$var$columnProcessors[format];\n return (0, $iGnPX$useAPIResult)(apiRoute, {\n format: format,\n all: all,\n status_code: status_code,\n project_id: project_id\n }, processor);\n}\nfunction $482a09479937d1e2$var$processGeoJSON(res) {\n return $482a09479937d1e2$var$processGeoJSONBare(res?.success?.data);\n}\nfunction $482a09479937d1e2$var$processGeoJSONBare(res) {\n return res?.features;\n}\nfunction $482a09479937d1e2$var$processTopoJSON(res) {\n try {\n const { data: data } = res.success;\n const { features: f } = (0, $iGnPX$feature)(data, data.objects.output);\n return f;\n } catch (err) {\n console.error(err);\n return [];\n }\n}\nfunction $482a09479937d1e2$var$postProcessColumns(columns) {\n return $482a09479937d1e2$var$promoteColumnIDs($482a09479937d1e2$var$convertSmallAreasToPoints($482a09479937d1e2$var$removeFeaturesWithoutGeometry(columns)));\n}\nfunction $482a09479937d1e2$var$promoteColumnIDs(features) {\n return features.map((f, i)=>{\n return {\n id: f.properties?.col_id,\n ...f\n };\n });\n}\nfunction $482a09479937d1e2$var$removeFeaturesWithoutGeometry(features) {\n return features.filter((f)=>f.geometry != null);\n}\nfunction $482a09479937d1e2$var$convertSmallAreasToPoints(features) {\n return features.map((f)=>{\n // GeoArea takes a long time to run. We are really more worried about points that are zero-area\n if ((0, $iGnPX$geoArea)(f.geometry) < 1e-8) {\n const centroid = f.geometry.coordinates[0][0];\n f.geometry = {\n type: \"Point\",\n coordinates: centroid\n };\n }\n return f;\n });\n}\nconst $482a09479937d1e2$var$columnProcessors = {\n topojson: $482a09479937d1e2$var$processTopoJSON,\n geojson: $482a09479937d1e2$var$processGeoJSON,\n geojson_bare: $482a09479937d1e2$var$processGeoJSONBare\n};\nasync function $482a09479937d1e2$var$unwrapResponse(res) {\n if (res == null) return null;\n const resData = await res.json();\n return resData[\"success\"][\"data\"];\n}\nasync function $482a09479937d1e2$export$1aa679bd5e605f82(fetch = $482a09479937d1e2$var$defaultFetch) {\n const res = await fetch(\"/defs/lithologies?all\");\n return await $482a09479937d1e2$var$unwrapResponse(res);\n}\nasync function $482a09479937d1e2$export$5d2ec2e733dfe6c7(timescaleID, fetch = $482a09479937d1e2$var$defaultFetch) {\n let url = `/defs/intervals`;\n if (timescaleID != null) url += `?timescale_id=${timescaleID}`;\n else url += \"?all\";\n const res = await fetch(url);\n return await $482a09479937d1e2$var$unwrapResponse(res);\n}\nasync function $482a09479937d1e2$export$780b4b253712916c(fetch = $482a09479937d1e2$var$defaultFetch) {\n const res = await fetch(\"/defs/environments?all\");\n return await $482a09479937d1e2$var$unwrapResponse(res);\n}\nasync function $482a09479937d1e2$export$cd7bfa0860f58b96(refs, fetch = $482a09479937d1e2$var$defaultFetch) {\n let url = `/defs/refs`;\n if (refs.length == 0) return [];\n url += \"?ref_id=\" + refs.join(\",\");\n const res = await fetch(url);\n return await $482a09479937d1e2$var$unwrapResponse(res);\n}\nasync function $482a09479937d1e2$export$b97b9bdd6a521298(columns, fetch = $482a09479937d1e2$var$defaultFetch) {\n const promises = columns.map((col_id)=>$482a09479937d1e2$export$d3d8b0fabcc76c5d(col_id, fetch));\n return await Promise.all(promises);\n}\nasync function $482a09479937d1e2$export$d3d8b0fabcc76c5d(col_id, fetch = $482a09479937d1e2$var$defaultFetch) {\n const params = new URLSearchParams();\n params.append(\"response\", \"long\");\n params.append(\"col_id\", col_id.toString());\n const res = await fetch(\"/units?\" + params.toString());\n const data = await res.json();\n if (!data.success) throw new Error(\"Failed to fetch column units\");\n const units = data.success.data;\n return {\n columnID: col_id,\n units: units\n };\n}\n\n\nexport {$482a09479937d1e2$export$45bd78cd093090fa as fetchAllColumns, $482a09479937d1e2$export$e3270a4e30e40ff9 as useColumnFeatures, $482a09479937d1e2$export$1aa679bd5e605f82 as fetchLithologies, $482a09479937d1e2$export$5d2ec2e733dfe6c7 as fetchIntervals, $482a09479937d1e2$export$780b4b253712916c as fetchEnvironments, $482a09479937d1e2$export$cd7bfa0860f58b96 as fetchRefs, $482a09479937d1e2$export$b97b9bdd6a521298 as fetchUnits, $482a09479937d1e2$export$d3d8b0fabcc76c5d as fetchColumnUnits};\n//# sourceMappingURL=column-views.a8ffe072.js.map\n","import {\n ColumnGeoJSONRecord,\n ColumnGeoJSONRecordWithID,\n MacrostratRef,\n UnitLong,\n} from \"@macrostrat/api-types\";\nimport {\n addQueryString,\n joinURL,\n useAPIResult,\n} from \"@macrostrat/ui-components\";\nimport crossFetch from \"cross-fetch\";\nimport { feature } from \"topojson-client\";\nimport { geoArea } from \"d3-geo\";\n\nfunction defaultFetch(\n url: string,\n options: RequestInit | undefined = undefined,\n) {\n const baseURL = \"https://macrostrat.org/api/v2\";\n return crossFetch(baseURL + url, options);\n}\n\nexport interface ColumnFetchOptions {\n apiBaseURL?: string;\n projectID?: number;\n statusCode?: \"in process\";\n format?: \"geojson\" | \"topojson\" | \"geojson_bare\";\n fetch?: any;\n}\n\nexport async function fetchAllColumns(\n options: ColumnFetchOptions = {},\n): Promise<ColumnGeoJSONRecord[]> {\n const {\n apiBaseURL,\n projectID,\n format = \"topojson\",\n statusCode,\n fetch = crossFetch,\n } = options;\n\n let args: any = { format };\n if (projectID != null) {\n args = { ...args, project_id: projectID };\n }\n if (statusCode != null) {\n args = { ...args, status_code: statusCode };\n }\n\n if (projectID == null) {\n args = { ...args, all: true };\n }\n\n let url = \"/columns\";\n if (apiBaseURL != null) {\n url = joinURL(apiBaseURL, url);\n }\n\n // Try with fetch\n url = addQueryString(url, args);\n\n const res = await fetch(url, {\n method: \"GET\",\n headers: {\n \"Content-Type\": \"application/json\",\n },\n });\n\n if (res == null) {\n return null;\n }\n\n // Get JSON\n const data = await res.json();\n return postProcessColumns(columnProcessors[format](data));\n}\n\nexport function useColumnFeatures({\n apiRoute = \"/columns\",\n status_code,\n project_id,\n format = \"geojson\",\n}) {\n let all: boolean = undefined;\n if (status_code == null && project_id == null) {\n all = true;\n }\n\n const processor = columnProcessors[format];\n\n return useAPIResult(\n apiRoute,\n { format, all, status_code, project_id },\n processor,\n );\n}\n\nfunction processGeoJSON(res) {\n return processGeoJSONBare(res?.success?.data);\n}\n\nfunction processGeoJSONBare(res) {\n return res?.features;\n}\n\nfunction processTopoJSON(res) {\n try {\n const { data } = res.success;\n const { features: f } = feature(data, data.objects.output) as any;\n return f;\n } catch (err) {\n console.error(err);\n return [];\n }\n}\n\nfunction postProcessColumns(columns) {\n return promoteColumnIDs(\n convertSmallAreasToPoints(removeFeaturesWithoutGeometry(columns)),\n );\n}\n\nfunction promoteColumnIDs(\n features: ColumnGeoJSONRecord[],\n): ColumnGeoJSONRecordWithID[] {\n return features.map((f, i) => {\n return {\n id: f.properties?.col_id,\n ...f,\n };\n });\n}\n\nfunction removeFeaturesWithoutGeometry(features) {\n return features.filter((f) => f.geometry != null);\n}\n\nfunction convertSmallAreasToPoints(features) {\n return features.map((f) => {\n // GeoArea takes a long time to run. We are really more worried about points that are zero-area\n if (geoArea(f.geometry) < 1e-8) {\n const centroid = f.geometry.coordinates[0][0];\n f.geometry = {\n type: \"Point\",\n coordinates: centroid,\n };\n }\n return f;\n });\n}\n\nconst columnProcessors = {\n topojson: processTopoJSON,\n geojson: processGeoJSON,\n geojson_bare: processGeoJSONBare,\n};\n\nasync function unwrapResponse(res) {\n if (res == null) {\n return null;\n }\n const resData = await res.json();\n return resData[\"success\"][\"data\"];\n}\n\nexport async function fetchLithologies(fetch = defaultFetch) {\n const res = await fetch(\"/defs/lithologies?all\");\n return await unwrapResponse(res);\n}\n\nexport async function fetchIntervals(\n timescaleID: number | null,\n fetch = defaultFetch,\n) {\n let url = `/defs/intervals`;\n if (timescaleID != null) {\n url += `?timescale_id=${timescaleID}`;\n } else {\n url += \"?all\";\n }\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport async function fetchEnvironments(fetch = defaultFetch) {\n const res = await fetch(\"/defs/environments?all\");\n return await unwrapResponse(res);\n}\n\nexport async function fetchRefs(\n refs: number[],\n fetch = defaultFetch,\n): Promise<MacrostratRef[]> {\n let url = `/defs/refs`;\n if (refs.length == 0) {\n return [];\n }\n url += \"?ref_id=\" + refs.join(\",\");\n const res = await fetch(url);\n return await unwrapResponse(res);\n}\n\nexport type ColumnData = {\n units: UnitLong[];\n columnID: number;\n};\n\nexport async function fetchUnits(\n columns: number[],\n fetch = defaultFetch,\n): Promise<ColumnData[]> {\n const promises = columns.map((col_id) => fetchColumnUnits(col_id, fetch));\n return await Promise.all(promises);\n}\n\nexport async function fetchColumnUnits(\n col_id: number,\n fetch = defaultFetch,\n): Promise<ColumnData> {\n const params = new URLSearchParams();\n params.append(\"response\", \"long\");\n params.append(\"col_id\", col_id.toString());\n const res = await fetch(\"/units\" + \"?\" + params.toString());\n const data = await res.json();\n if (!data.success) {\n throw new Error(\"Failed to fetch column units\");\n }\n const units = data.success.data;\n return { columnID: col_id, units };\n}\n"],"names":["joinURL","$iGnPX$joinURL","addQueryString","$iGnPX$addQueryString","useAPIResult","$iGnPX$useAPIResult","$iGnPX$crossfetch","feature","$iGnPX$feature","geoArea","$iGnPX$geoArea","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$482a09479937d1e2$exports","$482a09479937d1e2$var$defaultFetch","url","options","baseURL","$482a09479937d1e2$export$45bd78cd093090fa","apiBaseURL","projectID","format","statusCode","fetch","args","project_id","status_code","all","res","method","headers","data","json","features","$482a09479937d1e2$var$columnProcessors","filter","f","geometry","map","centroid","coordinates","type","i","id","properties","col_id","$482a09479937d1e2$export$e3270a4e30e40ff9","apiRoute","processor","$482a09479937d1e2$var$processGeoJSONBare","$482a09479937d1e2$export$1aa679bd5e605f82","$482a09479937d1e2$export$5d2ec2e733dfe6c7","$482a09479937d1e2$export$780b4b253712916c","$482a09479937d1e2$export$cd7bfa0860f58b96","$482a09479937d1e2$export$b97b9bdd6a521298","$482a09479937d1e2$export$d3d8b0fabcc76c5d","topojson","success","objects","output","err","console","error","geojson","geojson_bare","$482a09479937d1e2$var$unwrapResponse","resData","timescaleID","refs","length","join","columns","promises","Promise","params","URLSearchParams","append","toString","Error","columnID","units","fetchAllColumns","useColumnFeatures","fetchLithologies","fetchIntervals","fetchEnvironments","fetchRefs","fetchUnits","fetchColumnUnits"],"version":3,"file":"column-views.a8ffe072.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
function e(e,t,n,i){Object.defineProperty(e,t,{get:n,set:i,enumerable:!0,configurable:!0})}var t,n,i,a,o,r,U,l,s,d,c,p,D,G,X,_,u,b={};e(b,"clickable",()=>t,e=>t=e),e(b,"color-swatch",()=>n,e=>n=e),e(b,"discourage-break",()=>i,e=>i=e),e(b,"hidden-actions",()=>a,e=>a=e),e(b,"interval-proportions",()=>o,e=>o=e),e(b,"legend-panel-header",()=>r,e=>r=e),e(b,"no-units",()=>U,e=>U=e),e(b,"proportion",()=>l,e=>l=e),e(b,"refs",()=>s,e=>s=e),e(b,"sep",()=>d,e=>d=e),e(b,"spacer",()=>c,e=>c=e),e(b,"strat-name-id",()=>p,e=>p=e),e(b,"title-container",()=>D,e=>D=e),e(b,"unit-details-content",()=>G,e=>G=e),e(b,"unit-details-content-holder",()=>X,e=>X=e),e(b,"unit-details-panel",()=>_,e=>_=e),e(b,"unit-id",()=>u,e=>u=e),t="XUD4UG_clickable",n="XUD4UG_color-swatch",i="XUD4UG_discourage-break",a="XUD4UG_hidden-actions",o="XUD4UG_interval-proportions",r="XUD4UG_legend-panel-header",U="XUD4UG_no-units",l="XUD4UG_proportion",s="XUD4UG_refs",d="XUD4UG_sep",c="XUD4UG_spacer",p="XUD4UG_strat-name-id",D="XUD4UG_title-container",G="XUD4UG_unit-details-content",X="XUD4UG_unit-details-content-holder",_="XUD4UG_unit-details-panel",u="XUD4UG_unit-id";export{b as default};
|
|
2
|
-
//# sourceMappingURL=column-views.aa50c532.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,ICAA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,E,E,C,E,E,E,Y,I,E,A,G,E,G,E,E,e,I,E,A,G,E,G,E,E,mB,I,E,A,G,E,G,E,E,iB,I,E,A,G,E,G,E,E,uB,I,E,A,G,E,G,E,E,sB,I,E,A,G,E,G,E,E,W,I,E,A,G,E,G,E,E,a,I,E,A,G,E,G,E,E,O,I,E,A,G,E,G,E,E,M,I,E,A,G,E,G,E,E,S,I,E,A,G,E,G,E,E,gB,I,E,A,G,E,G,E,E,kB,I,E,A,G,E,G,E,E,uB,I,E,A,G,E,G,E,E,8B,I,E,A,G,E,G,E,E,qB,I,E,A,G,E,G,E,E,U,I,E,A,G,E,GAhBA,EAA8B,mBAC9B,EAAiC,sBACjC,EAAqC,0BACrC,EAAmC,wBACnC,EAAyC,8BACzC,EAAwC,6BACxC,EAA6B,kBAC7B,EAA+B,oBAC/B,EAAyB,cACzB,EAAwB,aACxB,EAA2B,gBAC3B,EAAkC,uBAClC,EAAoC,yBACpC,EAAyC,8BACzC,EAAgD,qCAChD,EAAuC,4BACvC,EAA4B,wB,K,O","sources":["<anon>","packages/column-views/src/unit-details/panel.module.sass"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $fdcbde10b14fc2b9$exports = {};\n\n$parcel$export($fdcbde10b14fc2b9$exports, \"clickable\", () => $fdcbde10b14fc2b9$export$60d5655c6babb2a0, (v) => $fdcbde10b14fc2b9$export$60d5655c6babb2a0 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"color-swatch\", () => $fdcbde10b14fc2b9$export$def51519e6441a17, (v) => $fdcbde10b14fc2b9$export$def51519e6441a17 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"discourage-break\", () => $fdcbde10b14fc2b9$export$46755bac45eea0a4, (v) => $fdcbde10b14fc2b9$export$46755bac45eea0a4 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"hidden-actions\", () => $fdcbde10b14fc2b9$export$b36b9e25cc36a950, (v) => $fdcbde10b14fc2b9$export$b36b9e25cc36a950 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"interval-proportions\", () => $fdcbde10b14fc2b9$export$ff33e8e065b5d268, (v) => $fdcbde10b14fc2b9$export$ff33e8e065b5d268 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"legend-panel-header\", () => $fdcbde10b14fc2b9$export$ce652ed9af8e3365, (v) => $fdcbde10b14fc2b9$export$ce652ed9af8e3365 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"no-units\", () => $fdcbde10b14fc2b9$export$aff88130074c0d5f, (v) => $fdcbde10b14fc2b9$export$aff88130074c0d5f = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"proportion\", () => $fdcbde10b14fc2b9$export$5a14da41381fe262, (v) => $fdcbde10b14fc2b9$export$5a14da41381fe262 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"refs\", () => $fdcbde10b14fc2b9$export$21666b427502ea6d, (v) => $fdcbde10b14fc2b9$export$21666b427502ea6d = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"sep\", () => $fdcbde10b14fc2b9$export$5aee1a5bd9743d8f, (v) => $fdcbde10b14fc2b9$export$5aee1a5bd9743d8f = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"spacer\", () => $fdcbde10b14fc2b9$export$8cc075c801fd6817, (v) => $fdcbde10b14fc2b9$export$8cc075c801fd6817 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"strat-name-id\", () => $fdcbde10b14fc2b9$export$3ab27000c02e6186, (v) => $fdcbde10b14fc2b9$export$3ab27000c02e6186 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"title-container\", () => $fdcbde10b14fc2b9$export$8a49b8d8484a58d8, (v) => $fdcbde10b14fc2b9$export$8a49b8d8484a58d8 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"unit-details-content\", () => $fdcbde10b14fc2b9$export$1c30616b5f94c6bc, (v) => $fdcbde10b14fc2b9$export$1c30616b5f94c6bc = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"unit-details-content-holder\", () => $fdcbde10b14fc2b9$export$1dcba08cee5317f8, (v) => $fdcbde10b14fc2b9$export$1dcba08cee5317f8 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"unit-details-panel\", () => $fdcbde10b14fc2b9$export$f94e3d1eb82ee550, (v) => $fdcbde10b14fc2b9$export$f94e3d1eb82ee550 = v);\n$parcel$export($fdcbde10b14fc2b9$exports, \"unit-id\", () => $fdcbde10b14fc2b9$export$e22f189945dfce76, (v) => $fdcbde10b14fc2b9$export$e22f189945dfce76 = v);\nvar $fdcbde10b14fc2b9$export$60d5655c6babb2a0;\nvar $fdcbde10b14fc2b9$export$def51519e6441a17;\nvar $fdcbde10b14fc2b9$export$46755bac45eea0a4;\nvar $fdcbde10b14fc2b9$export$b36b9e25cc36a950;\nvar $fdcbde10b14fc2b9$export$ff33e8e065b5d268;\nvar $fdcbde10b14fc2b9$export$ce652ed9af8e3365;\nvar $fdcbde10b14fc2b9$export$aff88130074c0d5f;\nvar $fdcbde10b14fc2b9$export$5a14da41381fe262;\nvar $fdcbde10b14fc2b9$export$21666b427502ea6d;\nvar $fdcbde10b14fc2b9$export$5aee1a5bd9743d8f;\nvar $fdcbde10b14fc2b9$export$8cc075c801fd6817;\nvar $fdcbde10b14fc2b9$export$3ab27000c02e6186;\nvar $fdcbde10b14fc2b9$export$8a49b8d8484a58d8;\nvar $fdcbde10b14fc2b9$export$1c30616b5f94c6bc;\nvar $fdcbde10b14fc2b9$export$1dcba08cee5317f8;\nvar $fdcbde10b14fc2b9$export$f94e3d1eb82ee550;\nvar $fdcbde10b14fc2b9$export$e22f189945dfce76;\n$fdcbde10b14fc2b9$export$60d5655c6babb2a0 = `XUD4UG_clickable`;\n$fdcbde10b14fc2b9$export$def51519e6441a17 = `XUD4UG_color-swatch`;\n$fdcbde10b14fc2b9$export$46755bac45eea0a4 = `XUD4UG_discourage-break`;\n$fdcbde10b14fc2b9$export$b36b9e25cc36a950 = `XUD4UG_hidden-actions`;\n$fdcbde10b14fc2b9$export$ff33e8e065b5d268 = `XUD4UG_interval-proportions`;\n$fdcbde10b14fc2b9$export$ce652ed9af8e3365 = `XUD4UG_legend-panel-header`;\n$fdcbde10b14fc2b9$export$aff88130074c0d5f = `XUD4UG_no-units`;\n$fdcbde10b14fc2b9$export$5a14da41381fe262 = `XUD4UG_proportion`;\n$fdcbde10b14fc2b9$export$21666b427502ea6d = `XUD4UG_refs`;\n$fdcbde10b14fc2b9$export$5aee1a5bd9743d8f = `XUD4UG_sep`;\n$fdcbde10b14fc2b9$export$8cc075c801fd6817 = `XUD4UG_spacer`;\n$fdcbde10b14fc2b9$export$3ab27000c02e6186 = `XUD4UG_strat-name-id`;\n$fdcbde10b14fc2b9$export$8a49b8d8484a58d8 = `XUD4UG_title-container`;\n$fdcbde10b14fc2b9$export$1c30616b5f94c6bc = `XUD4UG_unit-details-content`;\n$fdcbde10b14fc2b9$export$1dcba08cee5317f8 = `XUD4UG_unit-details-content-holder`;\n$fdcbde10b14fc2b9$export$f94e3d1eb82ee550 = `XUD4UG_unit-details-panel`;\n$fdcbde10b14fc2b9$export$e22f189945dfce76 = `XUD4UG_unit-id`;\n\n\nexport {$fdcbde10b14fc2b9$exports as default};\n//# sourceMappingURL=column-views.aa50c532.js.map\n",null],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$fdcbde10b14fc2b9$export$60d5655c6babb2a0","$fdcbde10b14fc2b9$export$def51519e6441a17","$fdcbde10b14fc2b9$export$46755bac45eea0a4","$fdcbde10b14fc2b9$export$b36b9e25cc36a950","$fdcbde10b14fc2b9$export$ff33e8e065b5d268","$fdcbde10b14fc2b9$export$ce652ed9af8e3365","$fdcbde10b14fc2b9$export$aff88130074c0d5f","$fdcbde10b14fc2b9$export$5a14da41381fe262","$fdcbde10b14fc2b9$export$21666b427502ea6d","$fdcbde10b14fc2b9$export$5aee1a5bd9743d8f","$fdcbde10b14fc2b9$export$8cc075c801fd6817","$fdcbde10b14fc2b9$export$3ab27000c02e6186","$fdcbde10b14fc2b9$export$8a49b8d8484a58d8","$fdcbde10b14fc2b9$export$1c30616b5f94c6bc","$fdcbde10b14fc2b9$export$1dcba08cee5317f8","$fdcbde10b14fc2b9$export$f94e3d1eb82ee550","$fdcbde10b14fc2b9$export$e22f189945dfce76","$fdcbde10b14fc2b9$exports","default"],"version":3,"file":"column-views.aa50c532.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
function n(n,c,a,e){Object.defineProperty(n,c,{get:a,set:e,enumerable:!0,configurable:!0})}var c,a,e,o,t,i,f,m,l,r,u,s,_={};n(_,"column-container",()=>c,n=>c=n),n(_,"timescale-column",()=>a,n=>a=n),n(_,"section-main",()=>e,n=>e=n),n(_,"section-units-container",()=>o,n=>o=n),n(_,"main-column",()=>t,n=>t=n),n(_,"unconformity-labels",()=>i,n=>i=n),n(_,"unconformity",()=>f,n=>f=n),n(_,"giga",()=>m,n=>m=n),n(_,"mega",()=>l,n=>l=n),n(_,"large",()=>r,n=>r=n),n(_,"small",()=>u,n=>u=n),n(_,"unconformity-text",()=>s,n=>s=n),c="column-container_afc440",a="timescale-column_afc440",e="section-main_afc440",o="section-units-container_afc440",t="main-column_afc440",i="unconformity-labels_afc440",f="unconformity_afc440",m="giga_afc440",l="mega_afc440",r="large_afc440",u="small_afc440",s="unconformity-text_afc440";export{_ as default};
|
|
2
|
-
//# sourceMappingURL=column-views.cd3c430b.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"A,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,ICAA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,EACA,E,E,C,E,E,E,mB,I,E,A,G,E,G,E,E,mB,I,E,A,G,E,G,E,E,e,I,E,A,G,E,G,E,E,0B,I,E,A,G,E,G,E,E,c,I,E,A,G,E,G,E,E,sB,I,E,A,G,E,G,E,E,e,I,E,A,G,E,G,E,E,O,I,E,A,G,E,G,E,E,O,I,E,A,G,E,G,E,E,Q,I,E,A,G,E,G,E,E,Q,I,E,A,G,E,G,E,E,oB,I,E,A,G,E,GAXA,EAAqC,0BACrC,EAAqC,0BACrC,EAAiC,sBACjC,EAA4C,iCAC5C,EAAgC,qBAChC,EAAwC,6BACxC,EAAiC,sBACjC,EAAyB,cACzB,EAAyB,cACzB,EAA0B,eAC1B,EAA0B,eAC1B,EAAsC,kC,K,O","sources":["<anon>","packages/column-views/src/column.module.sass"],"sourcesContent":["\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\nvar $5cefe1c5058d37da$exports = {};\n\n$parcel$export($5cefe1c5058d37da$exports, \"column-container\", () => $5cefe1c5058d37da$export$e908cef0cccb98df, (v) => $5cefe1c5058d37da$export$e908cef0cccb98df = v);\n$parcel$export($5cefe1c5058d37da$exports, \"timescale-column\", () => $5cefe1c5058d37da$export$82c2e1a892d790ab, (v) => $5cefe1c5058d37da$export$82c2e1a892d790ab = v);\n$parcel$export($5cefe1c5058d37da$exports, \"section-main\", () => $5cefe1c5058d37da$export$add6075ee40659c8, (v) => $5cefe1c5058d37da$export$add6075ee40659c8 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"section-units-container\", () => $5cefe1c5058d37da$export$37c0a390e37eb2da, (v) => $5cefe1c5058d37da$export$37c0a390e37eb2da = v);\n$parcel$export($5cefe1c5058d37da$exports, \"main-column\", () => $5cefe1c5058d37da$export$9c88f9a435c40ccb, (v) => $5cefe1c5058d37da$export$9c88f9a435c40ccb = v);\n$parcel$export($5cefe1c5058d37da$exports, \"unconformity-labels\", () => $5cefe1c5058d37da$export$d726faed2da21993, (v) => $5cefe1c5058d37da$export$d726faed2da21993 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"unconformity\", () => $5cefe1c5058d37da$export$7b4a6d978979c0fa, (v) => $5cefe1c5058d37da$export$7b4a6d978979c0fa = v);\n$parcel$export($5cefe1c5058d37da$exports, \"giga\", () => $5cefe1c5058d37da$export$197e40aa3a484017, (v) => $5cefe1c5058d37da$export$197e40aa3a484017 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"mega\", () => $5cefe1c5058d37da$export$580f1e8cf64f2815, (v) => $5cefe1c5058d37da$export$580f1e8cf64f2815 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"large\", () => $5cefe1c5058d37da$export$f09585a853dddd32, (v) => $5cefe1c5058d37da$export$f09585a853dddd32 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"small\", () => $5cefe1c5058d37da$export$3c17b0e969a90510, (v) => $5cefe1c5058d37da$export$3c17b0e969a90510 = v);\n$parcel$export($5cefe1c5058d37da$exports, \"unconformity-text\", () => $5cefe1c5058d37da$export$925235908943319a, (v) => $5cefe1c5058d37da$export$925235908943319a = v);\nvar $5cefe1c5058d37da$export$e908cef0cccb98df;\nvar $5cefe1c5058d37da$export$82c2e1a892d790ab;\nvar $5cefe1c5058d37da$export$add6075ee40659c8;\nvar $5cefe1c5058d37da$export$37c0a390e37eb2da;\nvar $5cefe1c5058d37da$export$9c88f9a435c40ccb;\nvar $5cefe1c5058d37da$export$d726faed2da21993;\nvar $5cefe1c5058d37da$export$7b4a6d978979c0fa;\nvar $5cefe1c5058d37da$export$197e40aa3a484017;\nvar $5cefe1c5058d37da$export$580f1e8cf64f2815;\nvar $5cefe1c5058d37da$export$f09585a853dddd32;\nvar $5cefe1c5058d37da$export$3c17b0e969a90510;\nvar $5cefe1c5058d37da$export$925235908943319a;\n$5cefe1c5058d37da$export$e908cef0cccb98df = \"column-container_afc440\";\n$5cefe1c5058d37da$export$82c2e1a892d790ab = \"timescale-column_afc440\";\n$5cefe1c5058d37da$export$add6075ee40659c8 = \"section-main_afc440\";\n$5cefe1c5058d37da$export$37c0a390e37eb2da = \"section-units-container_afc440\";\n$5cefe1c5058d37da$export$9c88f9a435c40ccb = \"main-column_afc440\";\n$5cefe1c5058d37da$export$d726faed2da21993 = \"unconformity-labels_afc440\";\n$5cefe1c5058d37da$export$7b4a6d978979c0fa = \"unconformity_afc440\";\n$5cefe1c5058d37da$export$197e40aa3a484017 = \"giga_afc440\";\n$5cefe1c5058d37da$export$580f1e8cf64f2815 = \"mega_afc440\";\n$5cefe1c5058d37da$export$f09585a853dddd32 = \"large_afc440\";\n$5cefe1c5058d37da$export$3c17b0e969a90510 = \"small_afc440\";\n$5cefe1c5058d37da$export$925235908943319a = \"unconformity-text_afc440\";\n\n\nexport {$5cefe1c5058d37da$exports as default};\n//# sourceMappingURL=column-views.cd3c430b.js.map\n",null],"names":["$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","$5cefe1c5058d37da$export$e908cef0cccb98df","$5cefe1c5058d37da$export$82c2e1a892d790ab","$5cefe1c5058d37da$export$add6075ee40659c8","$5cefe1c5058d37da$export$37c0a390e37eb2da","$5cefe1c5058d37da$export$9c88f9a435c40ccb","$5cefe1c5058d37da$export$d726faed2da21993","$5cefe1c5058d37da$export$7b4a6d978979c0fa","$5cefe1c5058d37da$export$197e40aa3a484017","$5cefe1c5058d37da$export$580f1e8cf64f2815","$5cefe1c5058d37da$export$f09585a853dddd32","$5cefe1c5058d37da$export$3c17b0e969a90510","$5cefe1c5058d37da$export$925235908943319a","$5cefe1c5058d37da$exports","default"],"version":3,"file":"column-views.cd3c430b.js.map","sourceRoot":"../../../../"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"ACAA,uOAWE,mCACE,qQAOI,qEAEA,kFAIN,8PAOE,8DAIF,0EAIE,sGAOA,kFAKA,qIAIF,yIAKA,uDAGF,gH,qD,6D,gDAgBE,oE,qE,kE,4H,2C,0D,sEA6BF,+EAOE,qI,+DAWE,gEAMF,kD,kD","sources":["column-views.d9bbd6fb.css","packages/column-views/src/column.module.sass"],"sourcesContent":[".column-container_afc440, body.light-mode .column-container_afc440 {\n --column-background-color: var(--background-color, #fff);\n --column-stroke-color: var(--text-emphasized-color, #000);\n --column-text-color: var(--text-emphasized-color, #000);\n}\n\n@media (prefers-color-scheme: dark) {\n body:not(.light-mode) .column-container_afc440 {\n --column-background-color: var(--background-color, #000);\n --column-stroke-color: var(--text-emphasized-color, #fff);\n --column-text-color: var(--text-emphasized-color, #fff);\n color-scheme: dark;\n color: var(--column-text-color);\n }\n\n body:not(.light-mode) .column-container_afc440 .timescale {\n color: #000;\n }\n\n body:not(.light-mode) .column-container_afc440 svg pattern image {\n filter: invert();\n }\n}\n\nbody.dark-mode .column-container_afc440 {\n --column-background-color: var(--background-color, #000);\n --column-stroke-color: var(--text-emphasized-color, #fff);\n --column-text-color: var(--text-emphasized-color, #fff);\n color-scheme: dark;\n color: var(--column-text-color);\n}\n\nbody.dark-mode .column-container_afc440 .timescale {\n color: #000;\n}\n\nbody.dark-mode .column-container_afc440 svg pattern image {\n filter: invert();\n}\n\n.column-container_afc440 .column {\n flex-direction: row;\n height: fit-content;\n display: flex;\n position: relative;\n}\n\n.column-container_afc440 .unit {\n stroke: var(--column-stroke-color);\n stroke-width: 1px;\n}\n\n.column-container_afc440 .selection-overlay {\n fill: var(--selection-overlay-color, red);\n fill-opacity: var(--selection-overlay-opacity, .5);\n}\n\n.column-container_afc440 g.lithology-column use.frame {\n stroke: var(--column-stroke-color);\n pointer-events: none;\n stroke-width: 1.5px !important;\n}\n\n.column-container_afc440 .unit-label {\n text-align: center;\n}\n\n.column-container_afc440 .col-note-label {\n margin: 1px 0;\n font-size: 10px;\n line-height: 9px;\n border-left: none !important;\n}\n\n.column-container_afc440 g.height-range {\n display: none;\n}\n\n.column-container_afc440 .note-inner {\n border: none;\n padding: 1px;\n}\n\n.column-container_afc440 .frame rect {\n fill: #0000;\n}\n\n.column-container_afc440 .default-buttons {\n width: 100%;\n margin: 0 -10px;\n}\n\n.column-container_afc440 div.section {\n flex-direction: row;\n display: flex;\n}\n\n.column-container_afc440 .section .divisions .unit {\n cursor: pointer;\n}\n\n.column-container_afc440 .timescale {\n width: calc((1.5em + 1.5px) * var(--timescale-level-count, 4));\n --timescale-level-size: 1.5em;\n}\n\n.timescale-column_afc440 {\n position: relative;\n}\n\n.section-main_afc440 {\n margin-bottom: -4px;\n position: relative;\n}\n\n.section-units-container_afc440, .main-column_afc440 {\n position: relative;\n}\n\n.unconformity-labels_afc440 {\n pointer-events: none;\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.unconformity_afc440 {\n text-align: center;\n justify-content: center;\n align-items: center;\n font-size: .8em;\n display: flex;\n position: absolute;\n top: 0;\n}\n\n.unconformity_afc440.giga_afc440 {\n font-size: 1em;\n font-weight: 800;\n}\n\n.unconformity_afc440.mega_afc440 {\n font-size: .9em;\n font-weight: 700;\n}\n\n.unconformity_afc440.large_afc440 {\n font-weight: 600;\n}\n\n.unconformity_afc440.small_afc440 {\n font-weight: 300;\n}\n\n.unconformity-text_afc440 {\n width: var(--column-width);\n color: var(--column-stroke-color);\n --unit-font-style: normal;\n}\n/*# sourceMappingURL=column-views.d9bbd6fb.css.map */\n",".column-container, body:global(.light-mode) .column-container\n --column-background-color: var(--background-color, #fff)\n --column-stroke-color: var(--text-emphasized-color, #000)\n --column-text-color: var(--text-emphasized-color, #000)\n\n/* We have to duplicate the dark mode styles here\n because we want to set them either if the preferred\n color scheme is dark OR if dark mode is explicitly enabled.\n If dark mode is explicitly enabled, we want to override\n the media query. */\n@media (prefers-color-scheme: dark)\n body:not(:global(.light-mode)) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-emphasized-color, #fff)\n --column-text-color: var(--text-emphasized-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n svg pattern image\n filter: invert(100%)\n\nbody:global(.dark-mode) .column-container\n --column-background-color: var(--background-color, #000)\n --column-stroke-color: var(--text-emphasized-color, #fff)\n --column-text-color: var(--text-emphasized-color, #fff)\n color-scheme: dark\n color: var(--column-text-color)\n :global\n .timescale\n color: #000\n svg pattern image\n filter: invert(100%)\n\n.column-container :global\n .column\n display: flex\n flex-direction: row\n position: relative\n height: fit-content\n\n .unit\n stroke: var(--column-stroke-color)\n stroke-width: 1px\n\n .selection-overlay\n fill: var(--selection-overlay-color, red)\n fill-opacity: var(--selection-overlay-opacity, 0.5)\n\n g.lithology-column use.frame\n stroke: var(--column-stroke-color)\n stroke-width: 1.5px !important\n pointer-events: none\n\n.column-container :global .unit-label\n text-align: center\n\n.column-container :global .col-note-label\n font-size: 10px\n line-height: 9px\n border-left: none !important\n margin: 1px 0\n\n.column-container :global g.height-range\n display: none\n\n.column-container :global .note-inner\n border: none\n padding: 1px\n\n.column-container :global .frame rect\n fill: transparent\n\n.column-container :global .default-buttons\n width: 100%\n margin: 0 -10px\n\n.column-container :global div.section\n display: flex\n flex-direction: row\n\n.column-container :global .section .divisions .unit\n cursor: pointer\n\n.column-container :global(.timescale)\n width: calc(calc(1.5em + 1.5px) * var(--timescale-level-count, 4))\n --timescale-level-size: 1.5em\n\n.timescale-column\n position: relative\n\n.section-main\n position: relative\n margin-bottom: -4px\n\n.section-units-container\n position: relative\n\n.main-column\n position: relative\n\n.unconformity-labels\n position: absolute\n top: 0\n left: 0\n pointer-events: none\n\n\n.unconformity\n text-align: center\n position: absolute\n top: 0px\n display: flex\n justify-content: center\n align-items: center\n font-size: 0.8em\n &.giga\n font-weight: 800\n font-size: 1em\n &.mega\n font-weight: 600\n font-weight: 700\n font-size: 0.9em\n &.large\n font-weight: 600\n &.small\n font-weight: 300\n\n\n.unconformity-text\n width: var(--column-width)\n color: var(--column-stroke-color)\n --unit-font-style: normal\n\n\n"],"names":[],"version":3,"file":"column-views.d9bbd6fb.css.map","sourceRoot":"../../../../"}
|