@macrostrat/map-interface 1.3.2 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +19 -0
- package/dist/cjs/index.js +4 -4
- package/dist/cjs/{map-interface.3934d6d6.js → map-interface.10d442f4.js} +2 -2
- package/dist/cjs/{map-interface.3934d6d6.js.map → map-interface.10d442f4.js.map} +1 -1
- package/dist/cjs/{map-interface.f1eec151.js → map-interface.28d1a6b7.js} +7 -6
- package/dist/cjs/map-interface.28d1a6b7.js.map +1 -0
- package/dist/cjs/{map-interface.853e0edd.js → map-interface.3bc4f731.js} +2 -2
- package/dist/cjs/{map-interface.853e0edd.js.map → map-interface.3bc4f731.js.map} +1 -1
- package/dist/cjs/{map-interface.e7194f92.js → map-interface.7bdbe4b6.js} +59 -47
- package/dist/cjs/map-interface.7bdbe4b6.js.map +1 -0
- package/dist/cjs/{map-interface.5813e876.js → map-interface.cf6c9a68.js} +5 -5
- package/dist/cjs/{map-interface.5813e876.js.map → map-interface.cf6c9a68.js.map} +1 -1
- package/dist/cjs/{map-interface.1d19056e.js → map-interface.dcbd3874.js} +4 -2
- package/dist/cjs/map-interface.dcbd3874.js.map +1 -0
- package/dist/esm/index.d.ts +18 -38
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +4 -4
- package/dist/esm/{map-interface.e5349e97.js → map-interface.54ccd41f.js} +2 -2
- package/dist/esm/{map-interface.e5349e97.js.map → map-interface.54ccd41f.js.map} +1 -1
- package/dist/esm/{map-interface.25a708b1.js → map-interface.90d9023c.js} +2 -2
- package/dist/esm/{map-interface.25a708b1.js.map → map-interface.90d9023c.js.map} +1 -1
- package/dist/esm/{map-interface.9ce3d553.js → map-interface.ca1ee406.js} +61 -49
- package/dist/esm/map-interface.ca1ee406.js.map +1 -0
- package/dist/esm/{map-interface.e1493866.js → map-interface.e20a9bac.js} +4 -2
- package/dist/esm/map-interface.e20a9bac.js.map +1 -0
- package/dist/esm/{map-interface.f4e2f84e.js → map-interface.ec2278ab.js} +7 -6
- package/dist/esm/map-interface.ec2278ab.js.map +1 -0
- package/dist/esm/{map-interface.45814073.js → map-interface.f7b8bdb7.js} +5 -5
- package/dist/esm/{map-interface.45814073.js.map → map-interface.f7b8bdb7.js.map} +1 -1
- package/dist/node/index.js +1 -1
- package/dist/node/index.js.map +1 -1
- package/dist/node/{map-interface.eb663cae.js → map-interface.33b7734a.js} +2 -2
- package/dist/node/map-interface.33b7734a.js.map +1 -0
- package/dist/node/map-interface.56b5b2ee.js +2 -0
- package/dist/node/map-interface.56b5b2ee.js.map +1 -0
- package/dist/node/{map-interface.cf540298.js → map-interface.6184dc0f.js} +2 -2
- package/dist/node/{map-interface.cf540298.js.map → map-interface.6184dc0f.js.map} +1 -1
- package/dist/node/map-interface.7aaa58c9.js +2 -0
- package/dist/node/map-interface.7aaa58c9.js.map +1 -0
- package/dist/node/{map-interface.55fa679c.js → map-interface.7e13bea8.js} +2 -2
- package/dist/node/{map-interface.55fa679c.js.map → map-interface.7e13bea8.js.map} +1 -1
- package/dist/node/map-interface.ce86a010.js +2 -0
- package/dist/node/map-interface.ce86a010.js.map +1 -0
- package/package.json +4 -4
- package/src/dev/map-page.ts +25 -19
- package/src/helpers.ts +4 -4
- package/src/location-panel/header.ts +2 -5
- package/src/map-panel/components/buttons.module.styl +5 -0
- package/src/map-panel/components/buttons.ts +56 -0
- package/src/map-panel/components/card.module.styl +43 -0
- package/src/map-panel/components/closeable-card.ts +64 -0
- package/src/map-panel/components/docs.module.styl +93 -0
- package/src/map-panel/components/docs.ts +92 -0
- package/src/map-panel/components/info-blocks.module.styl +39 -0
- package/src/map-panel/components/info-blocks.ts +88 -0
- package/src/map-panel/components/info-drawer/fossil-collections/collections.tsx +156 -0
- package/src/map-panel/components/info-drawer/fossil-collections/index.ts +21 -0
- package/src/map-panel/components/info-drawer/fossil-collections/main.module.sass +16 -0
- package/src/map-panel/components/info-drawer/index.ts +117 -0
- package/src/map-panel/components/info-drawer/macrostrat-linked.ts +399 -0
- package/src/map-panel/components/info-drawer/main.module.styl +67 -0
- package/src/map-panel/components/info-drawer/physiography.ts +29 -0
- package/src/map-panel/components/info-drawer/reg-strat.ts +74 -0
- package/src/map-panel/components/info-drawer/xdd-panel/Article.tsx +69 -0
- package/src/map-panel/components/info-drawer/xdd-panel/Journal.tsx +48 -0
- package/src/map-panel/components/info-drawer/xdd-panel/index.ts +69 -0
- package/src/map-panel/components/transitions/index.ts +24 -0
- package/src/map-panel/components/transitions/main.module.styl +55 -0
- package/src/map-panel/utils/formatting.ts +14 -0
- package/src/map-panel/utils/fossils.ts +209 -0
- package/src/map-panel/utils/index.ts +157 -0
- package/src/map-view.ts +77 -52
- package/dist/cjs/map-interface.1d19056e.js.map +0 -1
- package/dist/cjs/map-interface.e7194f92.js.map +0 -1
- package/dist/cjs/map-interface.f1eec151.js.map +0 -1
- package/dist/esm/map-interface.9ce3d553.js.map +0 -1
- package/dist/esm/map-interface.e1493866.js.map +0 -1
- package/dist/esm/map-interface.f4e2f84e.js.map +0 -1
- package/dist/node/map-interface.20c346ba.js +0 -2
- package/dist/node/map-interface.20c346ba.js.map +0 -1
- package/dist/node/map-interface.bc0fb98b.js +0 -2
- package/dist/node/map-interface.bc0fb98b.js.map +0 -1
- package/dist/node/map-interface.d9814996.js +0 -2
- package/dist/node/map-interface.d9814996.js.map +0 -1
- package/dist/node/map-interface.eb663cae.js.map +0 -1
package/dist/node/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,S,uB,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,I,e,W,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,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,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C","sources":["<anon>","packages/map-interface/src/index.ts"],"sourcesContent":["require(\"./map-interface.ed6b5586.js\");\nrequire(\"./map-interface.
|
|
1
|
+
{"mappings":"A,S,uB,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,I,e,W,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,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,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C","sources":["<anon>","packages/map-interface/src/index.ts"],"sourcesContent":["require(\"./map-interface.ed6b5586.js\");\nrequire(\"./map-interface.6184dc0f.js\");\nrequire(\"./map-interface.7e13bea8.js\");\nrequire(\"./map-interface.b14f08e8.js\");\nrequire(\"./map-interface.7aaa58c9.js\");\nrequire(\"./map-interface.971af4bc.js\");\nrequire(\"./map-interface.33b7734a.js\");\nrequire(\"./map-interface.713361a4.js\");\nrequire(\"./map-interface.d92b296e.js\");\nrequire(\"./map-interface.10f5ef81.js\");\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\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;\n\nvar $d7LVS = parcelRequire(\"d7LVS\");\n\nvar $6t6Bb = parcelRequire(\"6t6Bb\");\n\nvar $jVPp0 = parcelRequire(\"jVPp0\");\n\nvar $lw3Ik = parcelRequire(\"lw3Ik\");\n\nvar $3wYIs = parcelRequire(\"3wYIs\");\n\nvar $cL8YF = parcelRequire(\"cL8YF\");\n\nvar $7CmOU = parcelRequire(\"7CmOU\");\n\nvar $R3my3 = parcelRequire(\"R3my3\");\n\nvar $66CcX = parcelRequire(\"66CcX\");\n\nvar $e9x7B = parcelRequire(\"e9x7B\");\n$parcel$exportWildcard(module.exports, $d7LVS);\n$parcel$exportWildcard(module.exports, $6t6Bb);\n$parcel$exportWildcard(module.exports, $jVPp0);\n$parcel$exportWildcard(module.exports, $lw3Ik);\n$parcel$exportWildcard(module.exports, $3wYIs);\n$parcel$exportWildcard(module.exports, $cL8YF);\n$parcel$exportWildcard(module.exports, $7CmOU);\n$parcel$exportWildcard(module.exports, $R3my3);\n$parcel$exportWildcard(module.exports, $66CcX);\n$parcel$exportWildcard(module.exports, $e9x7B);\n\n\n//# sourceMappingURL=index.js.map\n","export * from \"./context-panel\";\nexport * from \"./location-panel\";\nexport * from \"./dev\";\nexport * from \"./container\";\nexport * from \"./map-view\";\nexport * from \"./controls\";\nexport * from \"./helpers\";\nexport * from \"./utils\";\nexport * from \"./location-info\";\nexport * from \"./expansion-panel\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","require","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","parcelRegister","$d7LVS","$6t6Bb","$jVPp0","$lw3Ik","$3wYIs","$cL8YF","$7CmOU","$R3my3","$66CcX","$e9x7B"],"version":3,"file":"index.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require("./map-interface.713361a4.js");var $2crMj$macrostratmapboxreact=require("@macrostrat/mapbox-react"),$2crMj$react=require("react"),$2crMj$underscore=require("underscore"),$2crMj$useresizeobserver=require("use-resize-observer"),$2crMj$macrostratmapboxutils=require("@macrostrat/mapbox-utils"),$2crMj$macrostratuicomponents=require("@macrostrat/ui-components");function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}function $parcel$export(e,r,a,t){Object.defineProperty(e,r,{get:a,set:t,enumerable:!0,configurable:!0})}var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var r=$parcel$inits[e];delete $parcel$inits[e];var a={id:e,exports:{}};return $parcel$modules[e]=a,r.call(a.exports,a,a.exports),a.exports}var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}).register=function(e,r){$parcel$inits[e]=r},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register;$parcel$export(module.exports,"MapResizeManager",()=>$f6c715b8ad8cb91a$export$31b2e088aff2dc5d),$parcel$export(module.exports,"MapPaddingManager",()=>$f6c715b8ad8cb91a$export$2ab96428dea558d6),$parcel$export(module.exports,"MapMovedReporter",()=>$f6c715b8ad8cb91a$export$f6eeee399afc4e9a),$parcel$export(module.exports,"MapLoadingReporter",()=>$f6c715b8ad8cb91a$export$e57f9eaa51773f82),$parcel$export(module.exports,"MapMarker",()=>$f6c715b8ad8cb91a$export$5c90a91c7455938c),$parcel$export(module.exports,"useBasicMapStyle",()=>$f6c715b8ad8cb91a$export$6daf1520df36ae21),$parcel$export(module.exports,"getBasicMapStyle",()=>$f6c715b8ad8cb91a$export$3503bf0b3851527b),$parcel$export(module.exports,"useBasicStylePair",()=>$f6c715b8ad8cb91a$export$566518253d2584f8);var $R3my3=parcelRequire("R3my3");function $f6c715b8ad8cb91a$export$31b2e088aff2dc5d({containerRef:e}){let r=(0,$2crMj$macrostratmapboxreact.useMapRef)(),a=(0,$2crMj$react.useRef)((0,$2crMj$underscore.debounce)(()=>{r.current?.resize()},100));return $parcel$interopDefault($2crMj$useresizeobserver)({ref:e,onResize:a.current}),null}function $f6c715b8ad8cb91a$export$2ab96428dea558d6({containerRef:e,parentRef:r,infoMarkerPosition:a,debounceTime:t=200}){let c=(0,$2crMj$macrostratmapboxreact.useMapRef)(),[o,$]=(0,$2crMj$react.useState)((0,$R3my3.getMapPadding)(e,r)),l=(0,$2crMj$react.useCallback)(()=>{$((0,$R3my3.getMapPadding)(e,r))},[e.current,r.current]),u=(0,$2crMj$react.useMemo)(()=>(0,$2crMj$underscore.debounce)(l,t),[l,t]);return(0,$2crMj$react.useEffect)(()=>{null!=c.current&&u()},[c.current]),$parcel$interopDefault($2crMj$useresizeobserver)({ref:r,onResize(e){u()},round:e=>Math.round(e)}),(0,$2crMj$macrostratmapboxreact.useMapEaseTo)({center:a,padding:o}),null}function $f6c715b8ad8cb91a$export$f6eeee399afc4e9a({onMapMoved:e=null}){let r=(0,$2crMj$macrostratmapboxreact.useMapRef)(),a=(0,$2crMj$macrostratmapboxreact.useMapDispatch)(),t=(0,$2crMj$macrostratmapboxreact.useMapInitialized)(),c=(0,$2crMj$react.useCallback)(()=>{let t=r.current;if(null==t)return;let c=(0,$2crMj$macrostratmapboxutils.getMapPosition)(t);a({type:"map-moved",payload:c}),e?.(c,t)},[e,a,t]);return(0,$2crMj$react.useEffect)(()=>{let e=r.current;if(null==e)return;c();let a=(0,$2crMj$underscore.debounce)(c,100);return e.on("moveend",a),()=>{e?.off("moveend",a)}},[c]),null}function $f6c715b8ad8cb91a$export$e57f9eaa51773f82({ignoredSources:e,onMapLoading:r=null,onMapIdle:a=null,mapIsLoading:t}){let c=(0,$2crMj$macrostratmapboxreact.useMapRef)(),o=(0,$2crMj$react.useRef)(!1),$=(0,$2crMj$macrostratmapboxreact.useMapDispatch)(),l=(0,$2crMj$macrostratmapboxreact.useMapInitialized)();return(0,$2crMj$react.useEffect)(()=>{let t=c.current,l=o.current;if(null==t)return;let u
|
|
2
|
-
//# sourceMappingURL=map-interface.
|
|
1
|
+
require("./map-interface.713361a4.js");var $2crMj$macrostratmapboxreact=require("@macrostrat/mapbox-react"),$2crMj$react=require("react"),$2crMj$underscore=require("underscore"),$2crMj$useresizeobserver=require("use-resize-observer"),$2crMj$macrostratmapboxutils=require("@macrostrat/mapbox-utils"),$2crMj$macrostratuicomponents=require("@macrostrat/ui-components");function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}function $parcel$export(e,r,a,t){Object.defineProperty(e,r,{get:a,set:t,enumerable:!0,configurable:!0})}var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var r=$parcel$inits[e];delete $parcel$inits[e];var a={id:e,exports:{}};return $parcel$modules[e]=a,r.call(a.exports,a,a.exports),a.exports}var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}).register=function(e,r){$parcel$inits[e]=r},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register;$parcel$export(module.exports,"MapResizeManager",()=>$f6c715b8ad8cb91a$export$31b2e088aff2dc5d),$parcel$export(module.exports,"MapPaddingManager",()=>$f6c715b8ad8cb91a$export$2ab96428dea558d6),$parcel$export(module.exports,"MapMovedReporter",()=>$f6c715b8ad8cb91a$export$f6eeee399afc4e9a),$parcel$export(module.exports,"MapLoadingReporter",()=>$f6c715b8ad8cb91a$export$e57f9eaa51773f82),$parcel$export(module.exports,"MapMarker",()=>$f6c715b8ad8cb91a$export$5c90a91c7455938c),$parcel$export(module.exports,"useBasicMapStyle",()=>$f6c715b8ad8cb91a$export$6daf1520df36ae21),$parcel$export(module.exports,"getBasicMapStyle",()=>$f6c715b8ad8cb91a$export$3503bf0b3851527b),$parcel$export(module.exports,"useBasicStylePair",()=>$f6c715b8ad8cb91a$export$566518253d2584f8);var $R3my3=parcelRequire("R3my3");function $f6c715b8ad8cb91a$export$31b2e088aff2dc5d({containerRef:e}){let r=(0,$2crMj$macrostratmapboxreact.useMapRef)(),a=(0,$2crMj$react.useRef)((0,$2crMj$underscore.debounce)(()=>{r.current?.resize()},100));return $parcel$interopDefault($2crMj$useresizeobserver)({ref:e,onResize:a.current}),null}function $f6c715b8ad8cb91a$export$2ab96428dea558d6({containerRef:e,parentRef:r,infoMarkerPosition:a,debounceTime:t=200}){let c=(0,$2crMj$macrostratmapboxreact.useMapRef)(),[o,$]=(0,$2crMj$react.useState)((0,$R3my3.getMapPadding)(e,r)),l=(0,$2crMj$react.useCallback)(()=>{$((0,$R3my3.getMapPadding)(e,r))},[e.current,r.current]),u=(0,$2crMj$react.useMemo)(()=>(0,$2crMj$underscore.debounce)(l,t),[l,t]);return(0,$2crMj$react.useEffect)(()=>{null!=c.current&&u()},[c.current]),$parcel$interopDefault($2crMj$useresizeobserver)({ref:r,onResize(e){u()},round:e=>Math.round(e)}),(0,$2crMj$macrostratmapboxreact.useMapEaseTo)({center:a,padding:o}),null}function $f6c715b8ad8cb91a$export$f6eeee399afc4e9a({onMapMoved:e=null}){let r=(0,$2crMj$macrostratmapboxreact.useMapRef)(),a=(0,$2crMj$macrostratmapboxreact.useMapDispatch)(),t=(0,$2crMj$macrostratmapboxreact.useMapInitialized)(),c=(0,$2crMj$react.useCallback)(()=>{let t=r.current;if(null==t)return;let c=(0,$2crMj$macrostratmapboxutils.getMapPosition)(t);a({type:"map-moved",payload:c}),e?.(c,t)},[e,a,t]);return(0,$2crMj$react.useEffect)(()=>{let e=r.current;if(null==e)return;c();let a=(0,$2crMj$underscore.debounce)(c,100);return e.on("moveend",a),()=>{e?.off("moveend",a)}},[c]),null}function $f6c715b8ad8cb91a$export$e57f9eaa51773f82({ignoredSources:e,onMapLoading:r=null,onMapIdle:a=null,mapIsLoading:t}){let c=(0,$2crMj$macrostratmapboxreact.useMapRef)(),o=(0,$2crMj$react.useRef)(!1),$=(0,$2crMj$macrostratmapboxreact.useMapDispatch)(),l=(0,$2crMj$macrostratmapboxreact.useMapInitialized)();return(0,$2crMj$react.useEffect)(()=>{let t=c.current,l=o.current;if(null==t)return;let u=a=>{e.includes(a.sourceId)||l||(r?.(a),$({type:"set-loading",payload:!0}),o.current=!0)},n=e=>{t.loaded()&&($({type:"set-loading",payload:!1}),o.current=!1,a?.(e))};return t.on("sourcedataloading",u),t.on("idle",n),()=>{t?.off("sourcedataloading",u),t?.off("idle",n)}},[e,t,l]),null}function $f6c715b8ad8cb91a$export$5c90a91c7455938c({position:e,setPosition:r,centerMarker:a=!0}){let t=(0,$2crMj$macrostratmapboxreact.useMapRef)(),c=(0,$2crMj$react.useRef)(null),o=(0,$2crMj$macrostratmapboxreact.useMapInitialized)();return(0,$R3my3.useMapMarker)(t,c,e),(0,$2crMj$react.useEffect)(()=>{let e=t.current;if(null==e||null==r)return;let c=e=>{r(e.lngLat,e,t.current),a&&t.current?.flyTo({center:e.lngLat,duration:800})};return e.on("click",c),()=>{e?.off("click",c)}},[r,o]),null}function $f6c715b8ad8cb91a$export$6daf1520df36ae21(e={}){let{styleType:r}=e,a=(0,$2crMj$macrostratuicomponents.useInDarkMode)();return $f6c715b8ad8cb91a$export$3503bf0b3851527b((0,$2crMj$react.useMemo)(()=>({styleType:r,inDarkMode:a}),[r,a]))}function $f6c715b8ad8cb91a$export$3503bf0b3851527b(e){let{styleType:r="macrostrat",inDarkMode:a=!1}=e??{};return"macrostrat"==r?a?"mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true":"mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true":a?"mapbox://styles/mapbox/dark-v10":"mapbox://styles/mapbox/light-v10"}let $f6c715b8ad8cb91a$export$566518253d2584f8=$f6c715b8ad8cb91a$export$6daf1520df36ae21;
|
|
2
|
+
//# sourceMappingURL=map-interface.33b7734a.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,Q,gD,I,6B,Q,4B,a,Q,S,kB,Q,c,yB,Q,uB,6B,Q,4B,8B,Q,6B,S,uB,C,E,O,G,E,U,C,E,O,C,C,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,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,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,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,e,O,O,C,mB,I,2C,e,O,O,C,oB,I,2C,e,O,O,C,mB,I,2C,e,O,O,C,qB,I,2C,e,O,O,C,Y,I,2C,e,O,O,C,mB,I,2C,e,O,O,C,mB,I,2C,e,O,O,C,oB,I,2C,I,O,c,SCiBO,SAAS,0CAAiB,CAAA,aAAE,CAAY,CAAE,EAC/C,IAAM,EAAS,AAAA,CAAA,EAAA,6BAAA,SAAQ,AAAR,IAET,EAAkB,AAAA,CAAA,EAAA,aAAA,MAAK,AAAL,EACtB,AAAA,CAAA,EAAA,kBAAA,QAAO,AAAP,EAAS,KACP,EAAO,OAAO,EAAE,QAClB,EAAG,MAQL,OALA,AAAA,uBAAA,0BAAkB,CAChB,IAAK,EACL,SAAU,EAAgB,OAAO,AACnC,GAEO,IACT,CASO,SAAS,0CAAkB,CAAA,aAChC,CAAY,CAAA,UACZ,CAAS,CAAA,mBACT,CAAkB,CAAA,aAClB,EAAe,GAAA,CACQ,EACvB,IAAM,EAAS,AAAA,CAAA,EAAA,6BAAA,SAAQ,AAAR,IAET,CAAC,EAAS,EAAW,CAAG,AAAA,CAAA,EAAA,aAAA,QAAO,AAAP,EAC5B,AAAA,CAAA,EAAA,OAAA,aAAY,AAAZ,EAAc,EAAc,IAGxB,EAAoB,AAAA,CAAA,EAAA,aAAA,WAAU,AAAV,EAAY,KAEpC,EADmB,AAAA,CAAA,EAAA,OAAA,aAAY,AAAZ,EAAc,EAAc,GAEjD,EAAG,CAAC,EAAa,OAAO,CAAE,EAAU,OAAO,CAAC,EAEtC,EAAmB,AAAA,CAAA,EAAA,aAAA,OAAM,A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","sources":["<anon>","packages/map-interface/src/helpers.ts"],"sourcesContent":["require(\"./map-interface.713361a4.js\");\nvar $2crMj$macrostratmapboxreact = require(\"@macrostrat/mapbox-react\");\nvar $2crMj$react = require(\"react\");\nvar $2crMj$underscore = require(\"underscore\");\nvar $2crMj$useresizeobserver = require(\"use-resize-observer\");\nvar $2crMj$macrostratmapboxutils = require(\"@macrostrat/mapbox-utils\");\nvar $2crMj$macrostratuicomponents = require(\"@macrostrat/ui-components\");\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;\n\n$parcel$export(module.exports, \"MapResizeManager\", () => $f6c715b8ad8cb91a$export$31b2e088aff2dc5d);\n$parcel$export(module.exports, \"MapPaddingManager\", () => $f6c715b8ad8cb91a$export$2ab96428dea558d6);\n$parcel$export(module.exports, \"MapMovedReporter\", () => $f6c715b8ad8cb91a$export$f6eeee399afc4e9a);\n$parcel$export(module.exports, \"MapLoadingReporter\", () => $f6c715b8ad8cb91a$export$e57f9eaa51773f82);\n$parcel$export(module.exports, \"MapMarker\", () => $f6c715b8ad8cb91a$export$5c90a91c7455938c);\n$parcel$export(module.exports, \"useBasicMapStyle\", () => $f6c715b8ad8cb91a$export$6daf1520df36ae21);\n$parcel$export(module.exports, \"getBasicMapStyle\", () => $f6c715b8ad8cb91a$export$3503bf0b3851527b);\n$parcel$export(module.exports, \"useBasicStylePair\", () => $f6c715b8ad8cb91a$export$566518253d2584f8);\n\n\n\n\n\n\nvar $R3my3 = parcelRequire(\"R3my3\");\n\nfunction $f6c715b8ad8cb91a$export$31b2e088aff2dc5d({ containerRef: containerRef }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const debouncedResize = (0, $2crMj$react.useRef)((0, $2crMj$underscore.debounce)(()=>{\n mapRef.current?.resize();\n }, 100));\n (0, ($parcel$interopDefault($2crMj$useresizeobserver)))({\n ref: containerRef,\n onResize: debouncedResize.current\n });\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$2ab96428dea558d6({ containerRef: containerRef, parentRef: parentRef, infoMarkerPosition: infoMarkerPosition, debounceTime: debounceTime = 200 }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const [padding, setPadding] = (0, $2crMj$react.useState)((0, $R3my3.getMapPadding)(containerRef, parentRef));\n const _updateMapPadding = (0, $2crMj$react.useCallback)(()=>{\n const newPadding = (0, $R3my3.getMapPadding)(containerRef, parentRef);\n setPadding(newPadding);\n }, [\n containerRef.current,\n parentRef.current\n ]);\n const updateMapPadding = (0, $2crMj$react.useMemo)(()=>(0, $2crMj$underscore.debounce)(_updateMapPadding, debounceTime), [\n _updateMapPadding,\n debounceTime\n ]);\n (0, $2crMj$react.useEffect)(()=>{\n const map = mapRef.current;\n if (map == null) return;\n // Update map padding on load\n updateMapPadding();\n }, [\n mapRef.current\n ]);\n (0, ($parcel$interopDefault($2crMj$useresizeobserver)))({\n ref: parentRef,\n onResize (sz) {\n updateMapPadding();\n },\n round (n) {\n return Math.round(n);\n }\n });\n // Ideally, we would not have to do this when we know the infobox is loaded\n (0, $2crMj$macrostratmapboxreact.useMapEaseTo)({\n center: infoMarkerPosition,\n padding: padding\n });\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$f6eeee399afc4e9a({ onMapMoved: onMapMoved = null }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const dispatch = (0, $2crMj$macrostratmapboxreact.useMapDispatch)();\n const isInitialized = (0, $2crMj$macrostratmapboxreact.useMapInitialized)();\n const mapMovedCallback = (0, $2crMj$react.useCallback)(()=>{\n const map = mapRef.current;\n if (map == null) return;\n const mapPosition = (0, $2crMj$macrostratmapboxutils.getMapPosition)(map);\n dispatch({\n type: \"map-moved\",\n payload: mapPosition\n });\n onMapMoved?.(mapPosition, map);\n }, [\n onMapMoved,\n dispatch,\n isInitialized\n ]);\n (0, $2crMj$react.useEffect)(()=>{\n // Get the current value of the map. Useful for gradually moving away\n // from class component\n const map = mapRef.current;\n if (map == null) return;\n // Update the URI when the map moves\n mapMovedCallback();\n const cb = (0, $2crMj$underscore.debounce)(mapMovedCallback, 100);\n map.on(\"moveend\", cb);\n return ()=>{\n map?.off(\"moveend\", cb);\n };\n }, [\n mapMovedCallback\n ]);\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$e57f9eaa51773f82({ ignoredSources: ignoredSources, onMapLoading: onMapLoading = null, onMapIdle: onMapIdle = null, mapIsLoading: mapIsLoading }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const loadingRef = (0, $2crMj$react.useRef)(false);\n const dispatch = (0, $2crMj$macrostratmapboxreact.useMapDispatch)();\n const isInitialized = (0, $2crMj$macrostratmapboxreact.useMapInitialized)();\n (0, $2crMj$react.useEffect)(()=>{\n const map = mapRef.current;\n const mapIsLoading = loadingRef.current;\n if (map == null) return;\n //let didSendLoading = false;\n const loadingCallback = (evt)=>{\n if (ignoredSources.includes(evt.sourceId) || mapIsLoading) return;\n //if (didSendLoading) return;\n onMapLoading?.(evt);\n dispatch({\n type: \"set-loading\",\n payload: true\n });\n loadingRef.current = true;\n //didSendLoading = true;\n };\n const idleCallback = (evt)=>{\n if (!map.loaded()) return;\n dispatch({\n type: \"set-loading\",\n payload: false\n });\n loadingRef.current = false;\n onMapIdle?.(evt);\n };\n map.on(\"sourcedataloading\", loadingCallback);\n map.on(\"idle\", idleCallback);\n return ()=>{\n map?.off(\"sourcedataloading\", loadingCallback);\n map?.off(\"idle\", idleCallback);\n };\n }, [\n ignoredSources,\n mapIsLoading,\n isInitialized\n ]);\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$5c90a91c7455938c({ position: position, setPosition: setPosition, centerMarker: centerMarker = true }) {\n const mapRef = (0, $2crMj$macrostratmapboxreact.useMapRef)();\n const markerRef = (0, $2crMj$react.useRef)(null);\n const isInitialized = (0, $2crMj$macrostratmapboxreact.useMapInitialized)();\n (0, $R3my3.useMapMarker)(mapRef, markerRef, position);\n (0, $2crMj$react.useEffect)(()=>{\n const map = mapRef.current;\n if (map == null || setPosition == null) return;\n const handleMapClick = (event)=>{\n setPosition(event.lngLat, event, mapRef.current);\n // We should integrate this with the \"easeToCenter\" hook\n if (centerMarker) mapRef.current?.flyTo({\n center: event.lngLat,\n duration: 800\n });\n };\n map.on(\"click\", handleMapClick);\n return ()=>{\n map?.off(\"click\", handleMapClick);\n };\n }, [\n setPosition,\n isInitialized\n ]);\n return null;\n}\nfunction $f6c715b8ad8cb91a$export$6daf1520df36ae21(opts = {}) {\n const { styleType: styleType } = opts;\n const inDarkMode = (0, $2crMj$macrostratuicomponents.useInDarkMode)();\n const props = (0, $2crMj$react.useMemo)(()=>{\n return {\n styleType: styleType,\n inDarkMode: inDarkMode\n };\n }, [\n styleType,\n inDarkMode\n ]);\n return $f6c715b8ad8cb91a$export$3503bf0b3851527b(props);\n}\nfunction $f6c715b8ad8cb91a$export$3503bf0b3851527b(opts) {\n const { styleType: styleType = \"macrostrat\", inDarkMode: inDarkMode = false } = opts ?? {};\n if (styleType == \"macrostrat\") return inDarkMode ? \"mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true\" : \"mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true\";\n else return inDarkMode ? \"mapbox://styles/mapbox/dark-v10\" : \"mapbox://styles/mapbox/light-v10\";\n}\nconst $f6c715b8ad8cb91a$export$566518253d2584f8 = $f6c715b8ad8cb91a$export$6daf1520df36ae21;\n\n\n//# sourceMappingURL=map-interface.33b7734a.js.map\n","import {\n useMapRef,\n useMapEaseTo,\n useMapDispatch,\n useMapStatus,\n useMapInitialized,\n} from \"@macrostrat/mapbox-react\";\nimport { useMemo, useRef } from \"react\";\nimport { debounce } from \"underscore\";\nimport useResizeObserver from \"use-resize-observer\";\n\nimport { getMapPosition } from \"@macrostrat/mapbox-utils\";\nimport mapboxgl from \"mapbox-gl\";\nimport { useCallback, useEffect, useState } from \"react\";\nimport { getMapPadding, useMapMarker } from \"./utils\";\nimport { useInDarkMode } from \"@macrostrat/ui-components\";\n\nexport function MapResizeManager({ containerRef }) {\n const mapRef = useMapRef();\n\n const debouncedResize = useRef(\n debounce(() => {\n mapRef.current?.resize();\n }, 100),\n );\n\n useResizeObserver({\n ref: containerRef,\n onResize: debouncedResize.current,\n });\n\n return null;\n}\n\ninterface MapPaddingManagerProps {\n containerRef: React.RefObject<HTMLDivElement>;\n parentRef: React.RefObject<HTMLDivElement>;\n infoMarkerPosition: mapboxgl.LngLatLike;\n debounceTime?: number;\n}\n\nexport function MapPaddingManager({\n containerRef,\n parentRef,\n infoMarkerPosition,\n debounceTime = 200,\n}: MapPaddingManagerProps) {\n const mapRef = useMapRef();\n\n const [padding, setPadding] = useState(\n getMapPadding(containerRef, parentRef),\n );\n\n const _updateMapPadding = useCallback(() => {\n const newPadding = getMapPadding(containerRef, parentRef);\n setPadding(newPadding);\n }, [containerRef.current, parentRef.current]);\n\n const updateMapPadding = useMemo(\n () => debounce(_updateMapPadding, debounceTime),\n [_updateMapPadding, debounceTime],\n );\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null) return;\n // Update map padding on load\n updateMapPadding();\n }, [mapRef.current]);\n\n useResizeObserver({\n ref: parentRef,\n onResize(sz) {\n updateMapPadding();\n },\n round(n) {\n return Math.round(n);\n },\n });\n\n // Ideally, we would not have to do this when we know the infobox is loaded\n useMapEaseTo({ center: infoMarkerPosition, padding });\n\n return null;\n}\n\nexport function MapMovedReporter({ onMapMoved = null }) {\n const mapRef = useMapRef();\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n const mapMovedCallback = useCallback(() => {\n const map = mapRef.current;\n if (map == null) return;\n const mapPosition = getMapPosition(map);\n dispatch({ type: \"map-moved\", payload: mapPosition });\n onMapMoved?.(mapPosition, map);\n }, [onMapMoved, dispatch, isInitialized]);\n\n useEffect(() => {\n // Get the current value of the map. Useful for gradually moving away\n // from class component\n const map = mapRef.current;\n if (map == null) return;\n // Update the URI when the map moves\n mapMovedCallback();\n const cb = debounce(mapMovedCallback, 100);\n map.on(\"moveend\", cb);\n return () => {\n map?.off(\"moveend\", cb);\n };\n }, [mapMovedCallback]);\n return null;\n}\n\ninterface MapLoadingReporterProps {\n ignoredSources?: string[];\n onMapLoading?: (evt: mapboxgl.MapEvent) => void;\n onMapIdle?: (evt: mapboxgl.MapEvent) => void;\n mapIsLoading?: boolean;\n}\n\nexport function MapLoadingReporter({\n ignoredSources,\n onMapLoading = null,\n onMapIdle = null,\n mapIsLoading,\n}: MapLoadingReporterProps) {\n const mapRef = useMapRef();\n const loadingRef = useRef(false);\n const dispatch = useMapDispatch();\n const isInitialized = useMapInitialized();\n\n useEffect(() => {\n const map = mapRef.current;\n const mapIsLoading = loadingRef.current;\n if (map == null) return;\n\n //let didSendLoading = false;\n\n const loadingCallback = (evt) => {\n if (ignoredSources.includes(evt.sourceId) || mapIsLoading) return;\n //if (didSendLoading) return;\n onMapLoading?.(evt);\n dispatch({ type: \"set-loading\", payload: true });\n loadingRef.current = true;\n //didSendLoading = true;\n };\n const idleCallback = (evt) => {\n if (!map.loaded()) return;\n dispatch({ type: \"set-loading\", payload: false });\n loadingRef.current = false;\n onMapIdle?.(evt);\n };\n map.on(\"sourcedataloading\", loadingCallback);\n map.on(\"idle\", idleCallback);\n return () => {\n map?.off(\"sourcedataloading\", loadingCallback);\n map?.off(\"idle\", idleCallback);\n };\n }, [ignoredSources, mapIsLoading, isInitialized]);\n return null;\n}\n\nexport function MapMarker({ position, setPosition, centerMarker = true }) {\n const mapRef = useMapRef();\n const markerRef = useRef(null);\n const isInitialized = useMapInitialized();\n\n useMapMarker(mapRef, markerRef, position);\n\n useEffect(() => {\n const map = mapRef.current;\n if (map == null || setPosition == null) return;\n\n const handleMapClick = (event: mapboxgl.MapMouseEvent) => {\n setPosition(event.lngLat, event, mapRef.current);\n // We should integrate this with the \"easeToCenter\" hook\n if (centerMarker) {\n mapRef.current?.flyTo({ center: event.lngLat, duration: 800 });\n }\n };\n\n map.on(\"click\", handleMapClick);\n\n return () => {\n map?.off(\"click\", handleMapClick);\n };\n }, [setPosition, isInitialized]);\n\n return null;\n}\n\nexport function useBasicMapStyle(\n opts: {\n styleType?: \"macrostrat\" | \"standard\";\n } = {},\n) {\n const { styleType } = opts;\n const inDarkMode = useInDarkMode();\n\n const props = useMemo(() => {\n return { styleType, inDarkMode };\n }, [styleType, inDarkMode]);\n\n return getBasicMapStyle(props);\n}\n\nexport function getBasicMapStyle(opts: {\n styleType?: \"macrostrat\" | \"standard\";\n inDarkMode?: boolean;\n}) {\n const { styleType = \"macrostrat\", inDarkMode = false } = opts ?? {};\n\n if (styleType == \"macrostrat\") {\n return inDarkMode\n ? \"mapbox://styles/jczaplewski/cl5uoqzzq003614o6url9ou9z?optimize=true\"\n : \"mapbox://styles/jczaplewski/clatdbkw4002q14lov8zx0bm0?optimize=true\";\n } else {\n return inDarkMode\n ? \"mapbox://styles/mapbox/dark-v10\"\n : \"mapbox://styles/mapbox/light-v10\";\n }\n}\n\nexport const useBasicStylePair = useBasicMapStyle;\n"],"names":["require","$2crMj$macrostratmapboxreact","$2crMj$react","$2crMj$underscore","$2crMj$useresizeobserver","$2crMj$macrostratmapboxutils","$2crMj$macrostratuicomponents","$parcel$interopDefault","a","__esModule","default","$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","parcelRegister","$f6c715b8ad8cb91a$export$31b2e088aff2dc5d","$f6c715b8ad8cb91a$export$2ab96428dea558d6","$f6c715b8ad8cb91a$export$f6eeee399afc4e9a","$f6c715b8ad8cb91a$export$e57f9eaa51773f82","$f6c715b8ad8cb91a$export$5c90a91c7455938c","$f6c715b8ad8cb91a$export$6daf1520df36ae21","$f6c715b8ad8cb91a$export$3503bf0b3851527b","$f6c715b8ad8cb91a$export$566518253d2584f8","$R3my3","containerRef","mapRef","useMapRef","debouncedResize","useRef","debounce","current","resize","ref","onResize","parentRef","infoMarkerPosition","debounceTime","padding","setPadding","useState","getMapPadding","_updateMapPadding","useCallback","updateMapPadding","useMemo","useEffect","sz","round","Math","useMapEaseTo","center","onMapMoved","dispatch","useMapDispatch","isInitialized","useMapInitialized","mapMovedCallback","map","mapPosition","getMapPosition","type","payload","cb","on","off","ignoredSources","onMapLoading","onMapIdle","mapIsLoading","loadingRef","loadingCallback","evt","includes","sourceId","idleCallback","loaded","position","setPosition","centerMarker","markerRef","useMapMarker","handleMapClick","event","lngLat","flyTo","duration","opts","styleType","inDarkMode","useInDarkMode"],"version":3,"file":"map-interface.33b7734a.js.map","sourceRoot":"../../../../"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require("./map-interface.1a5eecac.js"),require("./map-interface.d92b296e.js");var $9HnAS$blueprintjscore=require("@blueprintjs/core"),$9HnAS$macrostrathyper=require("@macrostrat/hyper"),$9HnAS$macrostratuicomponents=require("@macrostrat/ui-components"),$9HnAS$macrostratmapboxreact=require("@macrostrat/mapbox-react"),$9HnAS$classnames=require("classnames"),$9HnAS$macrostratmapboxutils=require("@macrostrat/mapbox-utils");function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var a=$parcel$inits[e];delete $parcel$inits[e];var r={id:e,exports:{}};return $parcel$modules[e]=r,a.call(r.exports,r,r.exports),r.exports}var o=Error("Cannot find module '"+e+"'");throw o.code="MODULE_NOT_FOUND",o}).register=function(e,a){$parcel$inits[e]=a},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register,$2UJTP=parcelRequire("2UJTP"),$66CcX=parcelRequire("66CcX");let $1a913554a5c0869b$var$h=$parcel$interopDefault($9HnAS$macrostrathyper).styled($parcel$interopDefault($2UJTP));function $1a913554a5c0869b$var$PositionButton({position:e,bounds:a,showCopyLink:r=!1}){let o=(0,$9HnAS$macrostratmapboxreact.useFocusState)(e),t=(0,$9HnAS$macrostratmapboxutils.isCentered)(o)&&r;return $1a913554a5c0869b$var$h("div.position-controls",[$1a913554a5c0869b$var$h($9HnAS$macrostratmapboxreact.LocationFocusButton,{location:e,bounds:a,focusState:o},[]),$1a913554a5c0869b$var$h.if(t&&null!=e)($1a913554a5c0869b$var$CopyLinkButton,{itemName:"position"})])}function $1a913554a5c0869b$var$CopyLinkButton({itemName:e,children:a,onClick:r,...o}){let t=(0,$9HnAS$macrostratuicomponents.useToaster)(),n="Copied link";return null!=e&&(n+=` to ${e}`),n+="!",$1a913554a5c0869b$var$h($9HnAS$blueprintjscore.Button,{className:"copy-link-button",rightIcon:$1a913554a5c0869b$var$h($9HnAS$blueprintjscore.Icon,{icon:"link",size:12}),minimal:!0,small:!0,onClick(){navigator.clipboard.writeText(window.location.href).then(()=>{t?.show({message:n,intent:"success",icon:"clipboard",timeout:1e3}),r?.()},()=>{t?.show({message:"Failed to copy link",intent:"danger",icon:"error",timeout:1e3})})},...o},a??"Copy link")}function $1a913554a5c0869b$export$e9ff14c4822c2e8c(e){let{onClose:a,position:r,bounds:o,zoom:t=7,elevation:n,showCopyPositionButton:i,fixedHeight:c=!1,children:$,className:l}=e,s=null;return(null!=o||null!=r)&&(s=$1a913554a5c0869b$var$h($1a913554a5c0869b$var$PositionButton,{position:r,bounds:o,showCopyLink:i})),$1a913554a5c0869b$var$h("header.location-panel-header",{className:$parcel$interopDefault($9HnAS$classnames)(l,{"fixed-height":c})},[s,$,$1a913554a5c0869b$var$h("div.spacer"),$1a913554a5c0869b$var$h.if(null!=r)($66CcX.LngLatCoords,{position:r,zoom:t,className:"infodrawer-header-item"}),$1a913554a5c0869b$var$h.if(null!=n)($66CcX.Elevation,{elevation:n,className:"infodrawer-header-item"}),$1a913554a5c0869b$var$h.if(null!=a)($9HnAS$blueprintjscore.Button,{minimal:!0,icon:"cross",onClick:a})])}
|
|
2
|
+
//# sourceMappingURL=map-interface.56b5b2ee.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,Q,gD,Q,gD,I,uB,Q,qB,uB,Q,qB,8B,Q,6B,6B,Q,4B,kB,Q,c,6B,Q,4B,S,uB,C,E,O,G,E,U,C,E,O,C,C,C,I,e,W,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,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,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,O,c,S,O,c,SCWA,IAAM,wBAAI,AAAA,uBAAA,wBAAM,MAAM,CAAC,uBAAA,SAEvB,SAAS,qCAAe,CAAA,SAAE,CAAQ,CAAA,OAAE,CAAM,CAAA,aAAE,EAAe,CAAA,CAAA,CAAO,EAChE,IAAM,EAAa,AAAA,CAAA,EAAA,6BAAA,aAAY,AAAZ,EAAc,GAE3B,EAAoB,AAAA,CAAA,EAAA,6BAAA,UAAS,AAAT,EAAW,IAAe,EAEpD,OAAO,wBAAE,wBAAyB,CAChC,wBAAE,6BAAA,mBAAkB,CAAG,CAAE,SAAU,EAAU,OAAA,EAAQ,WAAA,CAAW,EAAG,EAAE,EACrE,wBAAE,EAAE,CAAC,GAAqB,AAAY,MAAZ,GAAkB,qCAAgB,CAC1D,SAAU,UACZ,GACD,CACH,CAEA,SAAS,qCAAe,CAAA,SAAE,CAAQ,CAAA,SAAE,CAAQ,CAAA,QAAE,CAAO,CAAE,GAAG,EAAM,EAC9D,IAAM,EAAU,AAAA,CAAA,EAAA,8BAAA,UAAS,AAAT,IAEZ,EAAU,cAMd,OALI,AAAY,MAAZ,GACF,CAAA,GAAW,CAAC,IAAI,EAAE,EAAA,CAAU,AAAV,EAEpB,GAAW,IAEJ,wBACL,uBAAA,MAAK,CACL,CACE,UAAW,mBACX,UAAW,wBAAE,uBAAA,IAAG,CAAG,CAAE,KAAM,OAAQ,KAAM,EAAG,GAC5C,QAAS,CAAA,EACT,MAAO,CAAA,EACP,UACE,UAAU,SAAS,CAAC,SAAS,CAAC,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CACtD,KACE,GAAS,KAAK,CACZ,QAAA,EACA,OAAQ,UACR,KAAM,YACN,QAAS,GACX,GACA,KACF,EACA,KACE,GAAS,KAAK,CACZ,QAAS,sBACT,OAAQ,SACR,KAAM,QACN,QAAS,GACX,EACF,EAEJ,EACA,GAAG,CAAI,AACT,EACA,GAAY,YAEhB,CAcO,SAAS,0CAAiB,CAA4B,EAC3D,GAAM,CAAA,QACJ,CAAO,CAAA,SACP,CAAQ,CAAA,OACR,CAAM,CAAA,KACN,EAAO,CAAA,CAAA,UACP,CAAS,CAAA,uBACT,CAAsB,CAAA,YACtB,EAAc,CAAA,CAAA,CAAA,SACd,CAAQ,CAAA,UACR,CAAS,CACV,CAAG,EAEA,EAAa,KASjB,MARI,CAAA,AAAU,MAAV,GAAkB,AAAY,MAAZ,CAAY,GAChC,CAAA,EAAa,wBAAE,qCAAgB,CAC7B,SAAA,EACA,OAAA,EACA,aAAc,CAChB,EAAA,EAGK,wBACL,+BACA,CACE,UAAW,AAAA,uBAAA,mBAAW,EAAW,CAAE,eAAgB,CAAY,EACjE,EACA,CACE,EACA,EACA,wBAAE,cACF,wBAAE,EAAE,CAAC,AAAY,MAAZ,GAAkB,OAAA,YAAW,CAAG,CACnC,SAAA,EACA,KAAA,EACA,UAAW,wBACb,GACA,wBAAE,EAAE,CAAC,AAAa,MAAb,GAAmB,OAAA,SAAQ,CAAG,CACjC,UAAA,EACA,UAAW,wBACb,GACA,wBAAE,EAAE,CAAC,AAAW,MAAX,GAAiB,uBAAA,MAAK,CAAG,CAC5B,QAAS,CAAA,EACT,KAAM,QACN,QAAS,CACX,GACD,CAEL","sources":["<anon>","packages/map-interface/src/location-panel/header.ts"],"sourcesContent":["require(\"./map-interface.1a5eecac.js\");\nrequire(\"./map-interface.d92b296e.js\");\nvar $9HnAS$blueprintjscore = require(\"@blueprintjs/core\");\nvar $9HnAS$macrostrathyper = require(\"@macrostrat/hyper\");\nvar $9HnAS$macrostratuicomponents = require(\"@macrostrat/ui-components\");\nvar $9HnAS$macrostratmapboxreact = require(\"@macrostrat/mapbox-react\");\nvar $9HnAS$classnames = require(\"classnames\");\nvar $9HnAS$macrostratmapboxutils = require(\"@macrostrat/mapbox-utils\");\n\n\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\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;\n\n\n\nvar $2UJTP = parcelRequire(\"2UJTP\");\n\n\nvar $66CcX = parcelRequire(\"66CcX\");\n\n\n\nconst $1a913554a5c0869b$var$h = (0, ($parcel$interopDefault($9HnAS$macrostrathyper))).styled((0, (/*@__PURE__*/$parcel$interopDefault($2UJTP))));\nfunction $1a913554a5c0869b$var$PositionButton({ position: position, bounds: bounds, showCopyLink: showCopyLink = false }) {\n const focusState = (0, $9HnAS$macrostratmapboxreact.useFocusState)(position);\n const copyLinkIsVisible = (0, $9HnAS$macrostratmapboxutils.isCentered)(focusState) && showCopyLink;\n return $1a913554a5c0869b$var$h(\"div.position-controls\", [\n $1a913554a5c0869b$var$h((0, $9HnAS$macrostratmapboxreact.LocationFocusButton), {\n location: position,\n bounds: bounds,\n focusState: focusState\n }, []),\n $1a913554a5c0869b$var$h.if(copyLinkIsVisible && position != null)($1a913554a5c0869b$var$CopyLinkButton, {\n itemName: \"position\"\n })\n ]);\n}\nfunction $1a913554a5c0869b$var$CopyLinkButton({ itemName: itemName, children: children, onClick: onClick, ...rest }) {\n const toaster = (0, $9HnAS$macrostratuicomponents.useToaster)();\n let message = `Copied link`;\n if (itemName != null) message += ` to ${itemName}`;\n message += \"!\";\n return $1a913554a5c0869b$var$h((0, $9HnAS$blueprintjscore.Button), {\n className: \"copy-link-button\",\n rightIcon: $1a913554a5c0869b$var$h((0, $9HnAS$blueprintjscore.Icon), {\n icon: \"link\",\n size: 12\n }),\n minimal: true,\n small: true,\n onClick () {\n navigator.clipboard.writeText(window.location.href).then(()=>{\n toaster?.show({\n message: message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000\n });\n onClick?.();\n }, ()=>{\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000\n });\n });\n },\n ...rest\n }, children ?? \"Copy link\");\n}\nfunction $1a913554a5c0869b$export$e9ff14c4822c2e8c(props) {\n const { onClose: onClose, position: position, bounds: bounds, zoom: zoom = 7, elevation: elevation, showCopyPositionButton: showCopyPositionButton, fixedHeight: fixedHeight = false, children: children, className: className } = props;\n let leftButton = null;\n if (bounds != null || position != null) leftButton = $1a913554a5c0869b$var$h($1a913554a5c0869b$var$PositionButton, {\n position: position,\n bounds: bounds,\n showCopyLink: showCopyPositionButton\n });\n return $1a913554a5c0869b$var$h(\"header.location-panel-header\", {\n className: (0, ($parcel$interopDefault($9HnAS$classnames)))(className, {\n \"fixed-height\": fixedHeight\n })\n }, [\n leftButton,\n children,\n $1a913554a5c0869b$var$h(\"div.spacer\"),\n $1a913554a5c0869b$var$h.if(position != null)((0, $66CcX.LngLatCoords), {\n position: position,\n zoom: zoom,\n className: \"infodrawer-header-item\"\n }),\n $1a913554a5c0869b$var$h.if(elevation != null)((0, $66CcX.Elevation), {\n elevation: elevation,\n className: \"infodrawer-header-item\"\n }),\n $1a913554a5c0869b$var$h.if(onClose != null)((0, $9HnAS$blueprintjscore.Button), {\n minimal: true,\n icon: \"cross\",\n onClick: onClose\n })\n ]);\n}\n\n\n//# sourceMappingURL=map-interface.56b5b2ee.js.map\n","import { Icon, Button } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport styles from \"./main.module.sass\";\nimport { useToaster } from \"@macrostrat/ui-components\";\nimport { LngLatCoords, Elevation } from \"../location-info\";\nimport { LocationFocusButton, useFocusState } from \"@macrostrat/mapbox-react\";\nimport classNames from \"classnames\";\nimport type { ReactNode } from \"react\";\nimport type { LngLatBounds, LngLatLike } from \"mapbox-gl\";\nimport { isCentered } from \"@macrostrat/mapbox-utils\";\n\nconst h = hyper.styled(styles);\n\nfunction PositionButton({ position, bounds, showCopyLink = false }) {\n const focusState = useFocusState(position);\n\n const copyLinkIsVisible = isCentered(focusState) && showCopyLink;\n\n return h(\"div.position-controls\", [\n h(LocationFocusButton, { location: position, bounds, focusState }, []),\n h.if(copyLinkIsVisible && position != null)(CopyLinkButton, {\n itemName: \"position\",\n }),\n ]);\n}\n\nfunction CopyLinkButton({ itemName, children, onClick, ...rest }) {\n const toaster = useToaster();\n\n let message = `Copied link`;\n if (itemName != null) {\n message += ` to ${itemName}`;\n }\n message += \"!\";\n\n return h(\n Button,\n {\n className: \"copy-link-button\",\n rightIcon: h(Icon, { icon: \"link\", size: 12 }),\n minimal: true,\n small: true,\n onClick() {\n navigator.clipboard.writeText(window.location.href).then(\n () => {\n toaster?.show({\n message,\n intent: \"success\",\n icon: \"clipboard\",\n timeout: 1000,\n });\n onClick?.();\n },\n () => {\n toaster?.show({\n message: \"Failed to copy link\",\n intent: \"danger\",\n icon: \"error\",\n timeout: 1000,\n });\n },\n );\n },\n ...rest,\n },\n children ?? \"Copy link\",\n );\n}\n\nexport interface InfoDrawerHeaderProps {\n onClose?: () => void;\n position?: LngLatLike;\n zoom?: number;\n elevation?: number;\n showCopyPositionButton?: boolean;\n bounds?: LngLatBounds;\n fixedHeight?: boolean;\n children?: ReactNode;\n className?: string;\n}\n\nexport function InfoDrawerHeader(props: InfoDrawerHeaderProps) {\n const {\n onClose,\n position,\n bounds,\n zoom = 7,\n elevation,\n showCopyPositionButton,\n fixedHeight = false,\n children,\n className,\n } = props;\n\n let leftButton = null;\n if (bounds != null || position != null) {\n leftButton = h(PositionButton, {\n position,\n bounds,\n showCopyLink: showCopyPositionButton,\n });\n }\n\n return h(\n \"header.location-panel-header\",\n {\n className: classNames(className, { \"fixed-height\": fixedHeight }),\n },\n [\n leftButton,\n children,\n h(\"div.spacer\"),\n h.if(position != null)(LngLatCoords, {\n position,\n zoom,\n className: \"infodrawer-header-item\",\n }),\n h.if(elevation != null)(Elevation, {\n elevation,\n className: \"infodrawer-header-item\",\n }),\n h.if(onClose != null)(Button, {\n minimal: true,\n icon: \"cross\",\n onClick: onClose,\n }),\n ],\n );\n}\n"],"names":["require","$9HnAS$blueprintjscore","$9HnAS$macrostrathyper","$9HnAS$macrostratuicomponents","$9HnAS$macrostratmapboxreact","$9HnAS$classnames","$9HnAS$macrostratmapboxutils","$parcel$interopDefault","a","__esModule","default","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","call","err","Error","code","register","parcelRegister","$2UJTP","$66CcX","$1a913554a5c0869b$var$h","styled","$1a913554a5c0869b$var$PositionButton","position","bounds","showCopyLink","focusState","useFocusState","copyLinkIsVisible","isCentered","LocationFocusButton","location","if","$1a913554a5c0869b$var$CopyLinkButton","itemName","children","onClick","rest","toaster","useToaster","message","Button","className","rightIcon","Icon","icon","size","minimal","small","navigator","clipboard","writeText","window","href","then","show","intent","timeout","$1a913554a5c0869b$export$e9ff14c4822c2e8c","props","onClose","zoom","elevation","showCopyPositionButton","fixedHeight","leftButton","LngLatCoords","Elevation"],"version":3,"file":"map-interface.56b5b2ee.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
require("./map-interface.
|
|
2
|
-
//# sourceMappingURL=map-interface.
|
|
1
|
+
require("./map-interface.56b5b2ee.js"),require("./map-interface.1a5eecac.js"),require("./map-interface.b14f08e8.js");var $eV7Yx$macrostrathyper=require("@macrostrat/hyper"),$eV7Yx$classnames=require("classnames"),$eV7Yx$macrostratuicomponents=require("@macrostrat/ui-components");function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}function $parcel$export(e,a,r,$){Object.defineProperty(e,a,{get:r,set:$,enumerable:!0,configurable:!0})}var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var a=$parcel$inits[e];delete $parcel$inits[e];var r={id:e,exports:{}};return $parcel$modules[e]=r,a.call(r.exports,r,r.exports),r.exports}var $=Error("Cannot find module '"+e+"'");throw $.code="MODULE_NOT_FOUND",$}).register=function(e,a){$parcel$inits[e]=a},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register;$parcel$export(module.exports,"InfoDrawerContainer",()=>$6b3ac418f085f13e$export$83f9a19cf91c2d06),$parcel$export(module.exports,"BaseInfoDrawer",()=>$6b3ac418f085f13e$export$a5ddcc2a88716895),$parcel$export(module.exports,"DetailsPanel",()=>$6b3ac418f085f13e$export$e54a7f2505304e20),$parcel$export(module.exports,"LocationPanel",()=>$6b3ac418f085f13e$export$aa4baff5242ea6e1);var $1FZG1=parcelRequire("1FZG1"),$2UJTP=parcelRequire("2UJTP"),$lw3Ik=parcelRequire("lw3Ik");let $6b3ac418f085f13e$var$h=$parcel$interopDefault($eV7Yx$macrostrathyper).styled($parcel$interopDefault($2UJTP));function $6b3ac418f085f13e$export$83f9a19cf91c2d06(e){let a=$parcel$interopDefault($eV7Yx$classnames)("infodrawer",e.className);return $6b3ac418f085f13e$var$h($lw3Ik.PanelCard,{...e,className:a})}function $6b3ac418f085f13e$export$a5ddcc2a88716895(e){let{className:a,headerElement:r=null,title:$,onClose:c,children:l,contentContainer:t="div.infodrawer-contents",...o}=e,f=r??$6b3ac418f085f13e$var$h($1FZG1.InfoDrawerHeader,{onClose:c,...o},[null==$?null:$6b3ac418f085f13e$var$h("h3",[$])]);return $6b3ac418f085f13e$var$h($6b3ac418f085f13e$export$83f9a19cf91c2d06,{className:a},[f,$6b3ac418f085f13e$var$h("div.infodrawer-body",$6b3ac418f085f13e$var$h($eV7Yx$macrostratuicomponents.ErrorBoundary,$6b3ac418f085f13e$var$h(t,l)))])}let $6b3ac418f085f13e$export$e54a7f2505304e20=$6b3ac418f085f13e$export$a5ddcc2a88716895;function $6b3ac418f085f13e$export$aa4baff5242ea6e1(e){let{children:a,className:r,loading:$=!1,...c}=e;return $6b3ac418f085f13e$var$h($6b3ac418f085f13e$export$a5ddcc2a88716895,{className:$parcel$interopDefault($eV7Yx$classnames)("location-panel",r,{loading:$}),...c},a)}
|
|
2
|
+
//# sourceMappingURL=map-interface.6184dc0f.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,Q,gD,Q,gD,Q,gD,I,uB,Q,qB,kB,Q,c,8B,Q,6B,S,uB,C,E,O,G,E,U,C,E,O,C,C,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,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,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,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,e,O,O,C,sB,I,2C,e,O,O,C,iB,I,2C,e,O,O,C,e,I,2C,e,O,O,C,gB,I,2C,I,O,c,S,O,c,S,O,c,SCQA,IAAM,wBAAI,AAAA,uBAAA,wBAAM,MAAM,CAAC,uBAAA,SAEhB,SAAS,0CAAoB,CAAK,EACvC,IAAM,EAAY,AAAA,uBAAA,mBAAW,aAAc,EAAM,SAAS,EAC1D,OAAO,wBAAE,OAAA,SAAQ,CAAG,CAAE,GAAG,CAAK,CAAE,UAAA,CAAU,EAC5C,CAYO,SAAS,0CAAe,CAA0B,EACvD,GAAM,CAAA,UACJ,CAAS,CAAA,cACT,EAAgB,IAAA,CAAA,MAChB,CAAK,CAAA,QACL,CAAO,CAAA,SACP,CAAQ,CAAA,iBACR,EAAmB,yBAAA,CACnB,GAAG,EACJ,CAAG,EACE,EACJ,GACA,wBAAE,OAAA,gBAAe,CAAG,CAAE,QAAA,EAAS,GAAG,CAAI,AAAC,EAAG,CACxC,AAAS,MAAT,EAAgB,KAAO,wBAAE,KAAM,CAAC,EAAM,EACvC,EACH,OAAO,wBAAE,0CAAqB,CAAE,UAAA,CAAU,EAAG,CAC3C,EACA,wBAAE,sBAAuB,wBAAE,8BAAA,aAAY,CAAG,wBAAE,EAAkB,KAC/D,CACH,CAEO,IAAM,0CAAe,0CAErB,SAAS,0CAAc,CAAK,EACjC,GAAM,CAAA,SAAE,CAAQ,CAAA,UAAE,CAAS,CAAA,QAAE,EAAU,CAAA,CAAA,CAAO,GAAG,EAAM,CAAG,EAE1D,OAAO,wBAAE,0CAAgB,CAAE,UADf,AAAA,uBAAA,mBAAW,iBAAkB,EAAW,CAAE,QAAA,CAAQ,GACnB,GAAG,CAAI,AAAC,EAAG,EACxD","sources":["<anon>","packages/map-interface/src/location-panel/index.ts"],"sourcesContent":["require(\"./map-interface.
|
|
1
|
+
{"mappings":"A,Q,gD,Q,gD,Q,gD,I,uB,Q,qB,kB,Q,c,8B,Q,6B,S,uB,C,E,O,G,E,U,C,E,O,C,C,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,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,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,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,e,O,O,C,sB,I,2C,e,O,O,C,iB,I,2C,e,O,O,C,e,I,2C,e,O,O,C,gB,I,2C,I,O,c,S,O,c,S,O,c,SCQA,IAAM,wBAAI,AAAA,uBAAA,wBAAM,MAAM,CAAC,uBAAA,SAEhB,SAAS,0CAAoB,CAAK,EACvC,IAAM,EAAY,AAAA,uBAAA,mBAAW,aAAc,EAAM,SAAS,EAC1D,OAAO,wBAAE,OAAA,SAAQ,CAAG,CAAE,GAAG,CAAK,CAAE,UAAA,CAAU,EAC5C,CAYO,SAAS,0CAAe,CAA0B,EACvD,GAAM,CAAA,UACJ,CAAS,CAAA,cACT,EAAgB,IAAA,CAAA,MAChB,CAAK,CAAA,QACL,CAAO,CAAA,SACP,CAAQ,CAAA,iBACR,EAAmB,yBAAA,CACnB,GAAG,EACJ,CAAG,EACE,EACJ,GACA,wBAAE,OAAA,gBAAe,CAAG,CAAE,QAAA,EAAS,GAAG,CAAI,AAAC,EAAG,CACxC,AAAS,MAAT,EAAgB,KAAO,wBAAE,KAAM,CAAC,EAAM,EACvC,EACH,OAAO,wBAAE,0CAAqB,CAAE,UAAA,CAAU,EAAG,CAC3C,EACA,wBAAE,sBAAuB,wBAAE,8BAAA,aAAY,CAAG,wBAAE,EAAkB,KAC/D,CACH,CAEO,IAAM,0CAAe,0CAErB,SAAS,0CAAc,CAAK,EACjC,GAAM,CAAA,SAAE,CAAQ,CAAA,UAAE,CAAS,CAAA,QAAE,EAAU,CAAA,CAAA,CAAO,GAAG,EAAM,CAAG,EAE1D,OAAO,wBAAE,0CAAgB,CAAE,UADf,AAAA,uBAAA,mBAAW,iBAAkB,EAAW,CAAE,QAAA,CAAQ,GACnB,GAAG,CAAI,AAAC,EAAG,EACxD","sources":["<anon>","packages/map-interface/src/location-panel/index.ts"],"sourcesContent":["require(\"./map-interface.56b5b2ee.js\");\nrequire(\"./map-interface.1a5eecac.js\");\nrequire(\"./map-interface.b14f08e8.js\");\nvar $eV7Yx$macrostrathyper = require(\"@macrostrat/hyper\");\nvar $eV7Yx$classnames = require(\"classnames\");\nvar $eV7Yx$macrostratuicomponents = require(\"@macrostrat/ui-components\");\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;\n\n$parcel$export(module.exports, \"InfoDrawerContainer\", () => $6b3ac418f085f13e$export$83f9a19cf91c2d06);\n$parcel$export(module.exports, \"BaseInfoDrawer\", () => $6b3ac418f085f13e$export$a5ddcc2a88716895);\n$parcel$export(module.exports, \"DetailsPanel\", () => $6b3ac418f085f13e$export$e54a7f2505304e20);\n$parcel$export(module.exports, \"LocationPanel\", () => $6b3ac418f085f13e$export$aa4baff5242ea6e1);\n\n\nvar $1FZG1 = parcelRequire(\"1FZG1\");\n\n\nvar $2UJTP = parcelRequire(\"2UJTP\");\n\n\nvar $lw3Ik = parcelRequire(\"lw3Ik\");\nconst $6b3ac418f085f13e$var$h = (0, ($parcel$interopDefault($eV7Yx$macrostrathyper))).styled((0, (/*@__PURE__*/$parcel$interopDefault($2UJTP))));\nfunction $6b3ac418f085f13e$export$83f9a19cf91c2d06(props) {\n const className = (0, ($parcel$interopDefault($eV7Yx$classnames)))(\"infodrawer\", props.className);\n return $6b3ac418f085f13e$var$h((0, $lw3Ik.PanelCard), {\n ...props,\n className: className\n });\n}\nfunction $6b3ac418f085f13e$export$a5ddcc2a88716895(props) {\n const { className: className, headerElement: headerElement = null, title: title, onClose: onClose, children: children, contentContainer: contentContainer = \"div.infodrawer-contents\", ...rest } = props;\n const header = headerElement ?? $6b3ac418f085f13e$var$h((0, $1FZG1.InfoDrawerHeader), {\n onClose: onClose,\n ...rest\n }, [\n title == null ? null : $6b3ac418f085f13e$var$h(\"h3\", [\n title\n ])\n ]);\n return $6b3ac418f085f13e$var$h($6b3ac418f085f13e$export$83f9a19cf91c2d06, {\n className: className\n }, [\n header,\n $6b3ac418f085f13e$var$h(\"div.infodrawer-body\", $6b3ac418f085f13e$var$h((0, $eV7Yx$macrostratuicomponents.ErrorBoundary), $6b3ac418f085f13e$var$h(contentContainer, children)))\n ]);\n}\nconst $6b3ac418f085f13e$export$e54a7f2505304e20 = $6b3ac418f085f13e$export$a5ddcc2a88716895;\nfunction $6b3ac418f085f13e$export$aa4baff5242ea6e1(props) {\n const { children: children, className: className, loading: loading = false, ...rest } = props;\n const cls = (0, ($parcel$interopDefault($eV7Yx$classnames)))(\"location-panel\", className, {\n loading: loading\n });\n return $6b3ac418f085f13e$var$h($6b3ac418f085f13e$export$a5ddcc2a88716895, {\n className: cls,\n ...rest\n }, children);\n}\n\n\n//# sourceMappingURL=map-interface.6184dc0f.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport { InfoDrawerHeader, InfoDrawerHeaderProps } from \"./header\";\nimport classNames from \"classnames\";\nimport styles from \"./main.module.sass\";\nimport { ErrorBoundary } from \"@macrostrat/ui-components\";\nimport { PanelCard } from \"../container\";\nimport { ComponentType } from \"react\";\n\nconst h = hyper.styled(styles);\n\nexport function InfoDrawerContainer(props) {\n const className = classNames(\"infodrawer\", props.className);\n return h(PanelCard, { ...props, className });\n}\n\ntype Component = string | ComponentType<any>;\n\ninterface BaseInfoDrawerProps extends InfoDrawerHeaderProps {\n className?: string;\n title?: string;\n headerElement?: JSX.Element;\n children?: React.ReactNode;\n contentContainer?: Component;\n}\n\nexport function BaseInfoDrawer(props: BaseInfoDrawerProps) {\n const {\n className,\n headerElement = null,\n title,\n onClose,\n children,\n contentContainer = \"div.infodrawer-contents\",\n ...rest\n } = props;\n const header =\n headerElement ??\n h(InfoDrawerHeader, { onClose, ...rest }, [\n title == null ? null : h(\"h3\", [title]),\n ]);\n return h(InfoDrawerContainer, { className }, [\n header,\n h(\"div.infodrawer-body\", h(ErrorBoundary, h(contentContainer, children))),\n ]);\n}\n\nexport const DetailsPanel = BaseInfoDrawer;\n\nexport function LocationPanel(props) {\n const { children, className, loading = false, ...rest } = props;\n const cls = classNames(\"location-panel\", className, { loading });\n return h(BaseInfoDrawer, { className: cls, ...rest }, children);\n}\n"],"names":["require","$eV7Yx$macrostrathyper","$eV7Yx$classnames","$eV7Yx$macrostratuicomponents","$parcel$interopDefault","a","__esModule","default","$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","parcelRegister","$6b3ac418f085f13e$export$83f9a19cf91c2d06","$6b3ac418f085f13e$export$a5ddcc2a88716895","$6b3ac418f085f13e$export$e54a7f2505304e20","$6b3ac418f085f13e$export$aa4baff5242ea6e1","$1FZG1","$2UJTP","$lw3Ik","$6b3ac418f085f13e$var$h","styled","props","className","PanelCard","headerElement","title","onClose","children","contentContainer","rest","header","InfoDrawerHeader","ErrorBoundary","loading"],"version":3,"file":"map-interface.6184dc0f.js.map","sourceRoot":"../../../../"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require("./map-interface.3ea55e0c.js"),require("./map-interface.33b7734a.js"),require("./map-interface.713361a4.js");var $iE1eH$macrostrathyper=require("@macrostrat/hyper"),$iE1eH$macrostratmapboxreact=require("@macrostrat/mapbox-react"),$iE1eH$macrostratmapboxutils=require("@macrostrat/mapbox-utils"),$iE1eH$classnames=require("classnames"),$iE1eH$mapboxgl=require("mapbox-gl"),$iE1eH$react=require("react");require("mapbox-gl/dist/mapbox-gl.css");var $iE1eH$macrostratuicomponents=require("@macrostrat/ui-components");function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}function $parcel$export(e,a,r,t){Object.defineProperty(e,a,{get:r,set:t,enumerable:!0,configurable:!0})}var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var a=$parcel$inits[e];delete $parcel$inits[e];var r={id:e,exports:{}};return $parcel$modules[e]=r,a.call(r.exports,r,r.exports),r.exports}var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}).register=function(e,a){$parcel$inits[e]=a},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register;$parcel$export(module.exports,"MapView",()=>$8c5236898eee97dc$export$ab1e7a67d6ec5ad8),$parcel$export(module.exports,"MapTerrainManager",()=>$8c5236898eee97dc$export$cee395a8a2a00b29);var $6ULxP=parcelRequire("6ULxP"),$7CmOU=parcelRequire("7CmOU"),$R3my3=parcelRequire("R3my3");let $8c5236898eee97dc$var$h=$parcel$interopDefault($iE1eH$macrostrathyper).styled($parcel$interopDefault($6ULxP));function $8c5236898eee97dc$var$defaultInitializeMap(e,a={}){let{mapPosition:r,...t}=a,o=new($parcel$interopDefault($iE1eH$mapboxgl)).Map({container:e,maxZoom:18,logoPosition:"bottom-left",trackResize:!1,antialias:!0,optimizeForTerrain:!0,...t}),i=r;return null==i&&null==t.center&&null==t.bounds&&(i=$8c5236898eee97dc$var$defaultMapPosition),null!=i&&(0,$iE1eH$macrostratmapboxutils.setMapPosition)(o,i),o}let $8c5236898eee97dc$var$defaultMapPosition={camera:{lat:34,lng:-120,altitude:3e5}};function $8c5236898eee97dc$export$ab1e7a67d6ec5ad8(e){let{terrainSourceID:a}=e,{enableTerrain:r=!0,style:t,mapPosition:o,initializeMap:i=$8c5236898eee97dc$var$defaultInitializeMap,children:l,mapboxToken:c,accessToken:$,infoMarkerPosition:n,transformRequest:s,projection:p,onMapLoaded:u=null,onStyleLoaded:m=null,onMapMoved:d=null,standalone:f=!1,overlayStyles:x,transformStyle:b,trackResize:E=!0,loadingIgnoredSources:y=["elevationMarker","crossSectionEndpoints"],id:H="map",className:g,...v}=e;r&&(a??(a="mapbox-3d-dem")),(0,$iE1eH$react.useEffect)(()=>{null!=H&&console.warn("Setting a specific element ID for the map is deprecated. Please use className instead.")},[H]);let M=c??$;null!=M&&($parcel$interopDefault($iE1eH$mapboxgl).accessToken=M);let R=(0,$iE1eH$macrostratmapboxreact.useMapDispatch)(),S=(0,$iE1eH$macrostratmapboxreact.useMapRef)(),q=(0,$iE1eH$react.useRef)(),D=(0,$iE1eH$react.useRef)(),[h,P]=(0,$iE1eH$react.useState)(null),L=null==S.current?o:(0,$iE1eH$macrostratmapboxutils.getMapPosition)(S.current),{mapUse3D:U,mapIsRotated:I}=(0,$iE1eH$macrostratmapboxutils.mapViewInfo)(L),T=(U??!1)&&r;(0,$iE1eH$react.useEffect)(()=>{if(null==h)return;let r=S.current,t=h,l=e.overlayStyles??[];if(l.length>0&&(t=(0,$iE1eH$macrostratmapboxutils.mergeStyles)(t,...l)),T){let e=(0,$iE1eH$macrostratmapboxreact.getTerrainLayerForStyle)(t,a);t=(0,$iE1eH$macrostratmapboxutils.mergeStyles)(t,e)}if(null!=b&&(t=b(t)),null!=r)R({type:"set-style-loaded",payload:!1}),r.setStyle(t);else{let e=i(q.current,{style:t,projection:p,mapPosition:o,transformRequest:s,...v});R({type:"set-map",payload:e}),e.setPadding((0,$R3my3.getMapPadding)(q,D),{animate:!1}),u?.(e)}},[h,x,b]),(0,$iE1eH$macrostratuicomponents.useAsyncEffect)(async()=>{P("string"==typeof t?await (0,$iE1eH$macrostratmapboxutils.getMapboxStyle)(t,{access_token:$parcel$interopDefault($iE1eH$mapboxgl).accessToken}):t)},[t]);let _=S.current?.getProjection()?.name??"mercator",k=$parcel$interopDefault($iE1eH$classnames)({"is-rotated":I??!1,"is-3d-available":T},`${_}-projection`);return $8c5236898eee97dc$var$h("div.map-view-container.main-view",{ref:D,className:$parcel$interopDefault($iE1eH$classnames)({standalone:f},g)},[$8c5236898eee97dc$var$h("div.mapbox-map.map-view",{ref:q,className:k,id:H}),$8c5236898eee97dc$var$h($7CmOU.MapLoadingReporter,{ignoredSources:y}),$8c5236898eee97dc$var$h($8c5236898eee97dc$var$StyleLoadedReporter,{onStyleLoaded:m}),$8c5236898eee97dc$var$h($7CmOU.MapMovedReporter,{onMapMoved:d}),$8c5236898eee97dc$var$h.if(E)($7CmOU.MapResizeManager,{containerRef:q}),$8c5236898eee97dc$var$h($7CmOU.MapPaddingManager,{containerRef:q,parentRef:D,infoMarkerPosition:n}),$8c5236898eee97dc$var$h($8c5236898eee97dc$export$cee395a8a2a00b29,{mapUse3D:T,terrainSourceID:a,style:t}),l])}function $8c5236898eee97dc$var$StyleLoadedReporter({onStyleLoaded:e=null}){let a=(0,$iE1eH$macrostratmapboxreact.useMapStatus)(e=>e.isStyleLoaded),r=(0,$iE1eH$macrostratmapboxreact.useMapRef)(),t=(0,$iE1eH$macrostratmapboxreact.useMapDispatch)();return(0,$iE1eH$react.useEffect)(()=>{if(a)return;let o=setInterval(()=>{let a=r.current;null!=a&&a.isStyleLoaded()&&(t({type:"set-style-loaded",payload:!0}),e?.(a),clearInterval(o))},50);return()=>clearInterval(o)},[a]),null}function $8c5236898eee97dc$export$cee395a8a2a00b29({mapUse3D:e,terrainSourceID:a,style:r}){return(0,$iE1eH$macrostratmapboxreact.use3DTerrain)(e,a),null}
|
|
2
|
+
//# sourceMappingURL=map-interface.7aaa58c9.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,Q,gD,Q,gD,Q,gD,I,uB,Q,qB,6B,Q,4B,6B,Q,4B,kB,Q,c,gB,Q,a,a,Q,S,Q,gC,I,8B,Q,6B,S,uB,C,E,O,G,E,U,C,E,O,C,C,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,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,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,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,e,O,O,C,U,I,2C,e,O,O,C,oB,I,2C,I,O,c,S,O,c,S,O,c,SC+BA,IAAM,wBAAI,AAAA,uBAAA,wBAAM,MAAM,CAAC,uBAAA,SAwCvB,SAAS,2CAAqB,CAAS,CAAE,EAAyB,CAAC,CAAC,EAClE,GAAM,CAAA,YAAE,CAAW,CAAE,GAAG,EAAM,CAAG,EAE3B,EAAM,GAAI,AAAA,CAAA,uBAAA,gBAAA,EAAS,GAAG,CAAC,CAC3B,UAAA,EACA,QAAS,GACT,aAAc,cACd,YAAa,CAAA,EACb,UAAW,CAAA,EAGX,mBAAoB,CAAA,EACpB,GAAG,CAAI,AACT,GAEI,EAAe,EAWnB,OAVI,AAAgB,MAAhB,GAAwB,AAAe,MAAf,EAAK,MAAM,EAAY,AAAe,MAAf,EAAK,MAAM,EAE5D,CAAA,EAAe,wCAAf,EAIE,AAAgB,MAAhB,GACF,AAAA,CAAA,EAAA,6BAAA,cAAa,AAAb,EAAe,EAAK,GAGf,CACT,CAEA,IAAM,yCAAkC,CACtC,OAAQ,CACN,IAAK,GACL,IAAK,KACL,SAAU,GACZ,CACF,EAEO,SAAS,0CAAQ,CAAmB,EACzC,GAAI,CAAA,gBAAE,CAAe,CAAE,CAAG,EACpB,CAAA,cACJ,EAAgB,CAAA,CAAA,CAAA,MAChB,CAAK,CAAA,YACL,CAAW,CAAA,cACX,EAAgB,0CAAA,CAAA,SAChB,CAAQ,CAAA,YACR,CAAW,CAAA,YAEX,CAAW,CAAA,mBACX,CAAkB,CAAA,iBACl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","sources":["<anon>","packages/map-interface/src/map-view.ts"],"sourcesContent":["require(\"./map-interface.3ea55e0c.js\");\nrequire(\"./map-interface.33b7734a.js\");\nrequire(\"./map-interface.713361a4.js\");\nvar $iE1eH$macrostrathyper = require(\"@macrostrat/hyper\");\nvar $iE1eH$macrostratmapboxreact = require(\"@macrostrat/mapbox-react\");\nvar $iE1eH$macrostratmapboxutils = require(\"@macrostrat/mapbox-utils\");\nvar $iE1eH$classnames = require(\"classnames\");\nvar $iE1eH$mapboxgl = require(\"mapbox-gl\");\nvar $iE1eH$react = require(\"react\");\nrequire(\"mapbox-gl/dist/mapbox-gl.css\");\nvar $iE1eH$macrostratuicomponents = require(\"@macrostrat/ui-components\");\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;\n\n$parcel$export(module.exports, \"MapView\", () => $8c5236898eee97dc$export$ab1e7a67d6ec5ad8);\n$parcel$export(module.exports, \"MapTerrainManager\", () => $8c5236898eee97dc$export$cee395a8a2a00b29);\n\n\n\n\n\n\n\nvar $6ULxP = parcelRequire(\"6ULxP\");\n\nvar $7CmOU = parcelRequire(\"7CmOU\");\n\n\nvar $R3my3 = parcelRequire(\"R3my3\");\n\nconst $8c5236898eee97dc$var$h = (0, ($parcel$interopDefault($iE1eH$macrostrathyper))).styled((0, (/*@__PURE__*/$parcel$interopDefault($6ULxP))));\nfunction $8c5236898eee97dc$var$defaultInitializeMap(container, args = {}) {\n const { mapPosition: mapPosition, ...rest } = args;\n const map = new (0, ($parcel$interopDefault($iE1eH$mapboxgl))).Map({\n container: container,\n maxZoom: 18,\n logoPosition: \"bottom-left\",\n trackResize: false,\n antialias: true,\n // This is a legacy option for Mapbox GL v2\n // @ts-ignore\n optimizeForTerrain: true,\n ...rest\n });\n let _mapPosition = mapPosition;\n if (_mapPosition == null && rest.center == null && rest.bounds == null) // If no map positioning information is provided, we use the default\n _mapPosition = $8c5236898eee97dc$var$defaultMapPosition;\n // set initial map position\n if (_mapPosition != null) (0, $iE1eH$macrostratmapboxutils.setMapPosition)(map, _mapPosition);\n return map;\n}\nconst $8c5236898eee97dc$var$defaultMapPosition = {\n camera: {\n lat: 34,\n lng: -120,\n altitude: 300000\n }\n};\nfunction $8c5236898eee97dc$export$ab1e7a67d6ec5ad8(props) {\n let { terrainSourceID: terrainSourceID } = props;\n const { enableTerrain: enableTerrain = true, style: style, mapPosition: mapPosition, initializeMap: initializeMap = $8c5236898eee97dc$var$defaultInitializeMap, children: children, mapboxToken: mapboxToken, accessToken: // Deprecated\n accessToken, infoMarkerPosition: infoMarkerPosition, transformRequest: transformRequest, projection: projection, onMapLoaded: onMapLoaded = null, onStyleLoaded: onStyleLoaded = null, onMapMoved: onMapMoved = null, standalone: standalone = false, overlayStyles: overlayStyles, transformStyle: transformStyle, trackResize: trackResize = true, loadingIgnoredSources: loadingIgnoredSources = [\n \"elevationMarker\",\n \"crossSectionEndpoints\"\n ], id: id = \"map\", className: className, ...rest } = props;\n if (enableTerrain) terrainSourceID ?? (terrainSourceID = \"mapbox-3d-dem\");\n (0, $iE1eH$react.useEffect)(()=>{\n if (id != null) console.warn(\"Setting a specific element ID for the map is deprecated. Please use className instead.\");\n }, [\n id\n ]);\n const _mapboxToken = mapboxToken ?? accessToken;\n if (_mapboxToken != null) (0, ($parcel$interopDefault($iE1eH$mapboxgl))).accessToken = _mapboxToken;\n const dispatch = (0, $iE1eH$macrostratmapboxreact.useMapDispatch)();\n let mapRef = (0, $iE1eH$macrostratmapboxreact.useMapRef)();\n const ref = (0, $iE1eH$react.useRef)();\n const parentRef = (0, $iE1eH$react.useRef)();\n const [baseStyle, setBaseStyle] = (0, $iE1eH$react.useState)(null);\n const estMapPosition = mapRef.current == null ? mapPosition : (0, $iE1eH$macrostratmapboxutils.getMapPosition)(mapRef.current);\n const { mapUse3D: mapUse3D, mapIsRotated: mapIsRotated } = (0, $iE1eH$macrostratmapboxutils.mapViewInfo)(estMapPosition);\n const is3DAvailable = (mapUse3D ?? false) && enableTerrain;\n (0, $iE1eH$react.useEffect)(()=>{\n /** Manager to update map style */ if (baseStyle == null) return;\n let map = mapRef.current;\n let newStyle = baseStyle;\n const overlayStyles = props.overlayStyles ?? [];\n if (overlayStyles.length > 0) newStyle = (0, $iE1eH$macrostratmapboxutils.mergeStyles)(newStyle, ...overlayStyles);\n /** If we can, we try to update the map style with terrain information\n * immediately, before the style is loaded. This allows us to avoid a\n * flash of the map without terrain.\n *\n * To do this, we need to estimate the map position before load, which\n * doesn't always work.\n */ if (is3DAvailable) {\n // We can update the style with terrain layers immediately\n const terrainStyle = (0, $iE1eH$macrostratmapboxreact.getTerrainLayerForStyle)(newStyle, terrainSourceID);\n newStyle = (0, $iE1eH$macrostratmapboxutils.mergeStyles)(newStyle, terrainStyle);\n }\n if (transformStyle != null) newStyle = transformStyle(newStyle);\n if (map != null) {\n dispatch({\n type: \"set-style-loaded\",\n payload: false\n });\n map.setStyle(newStyle);\n } else {\n const map = initializeMap(ref.current, {\n style: newStyle,\n projection: projection,\n mapPosition: mapPosition,\n transformRequest: transformRequest,\n ...rest\n });\n dispatch({\n type: \"set-map\",\n payload: map\n });\n map.setPadding((0, $R3my3.getMapPadding)(ref, parentRef), {\n animate: false\n });\n onMapLoaded?.(map);\n }\n }, [\n baseStyle,\n overlayStyles,\n transformStyle\n ]);\n (0, $iE1eH$macrostratuicomponents.useAsyncEffect)(async ()=>{\n /** Manager to update map style */ let newStyle;\n if (typeof style === \"string\") newStyle = await (0, $iE1eH$macrostratmapboxutils.getMapboxStyle)(style, {\n access_token: (0, ($parcel$interopDefault($iE1eH$mapboxgl))).accessToken\n });\n else newStyle = style;\n setBaseStyle(newStyle);\n }, [\n style\n ]);\n // Get map projection\n const _projection = mapRef.current?.getProjection()?.name ?? \"mercator\";\n const mapClassName = (0, ($parcel$interopDefault($iE1eH$classnames)))({\n \"is-rotated\": mapIsRotated ?? false,\n \"is-3d-available\": is3DAvailable\n }, `${_projection}-projection`);\n const parentClassName = (0, ($parcel$interopDefault($iE1eH$classnames)))({\n standalone: standalone\n }, className);\n return $8c5236898eee97dc$var$h(\"div.map-view-container.main-view\", {\n ref: parentRef,\n className: parentClassName\n }, [\n $8c5236898eee97dc$var$h(\"div.mapbox-map.map-view\", {\n ref: ref,\n className: mapClassName,\n id: id\n }),\n $8c5236898eee97dc$var$h((0, $7CmOU.MapLoadingReporter), {\n ignoredSources: loadingIgnoredSources\n }),\n $8c5236898eee97dc$var$h($8c5236898eee97dc$var$StyleLoadedReporter, {\n onStyleLoaded: onStyleLoaded\n }),\n $8c5236898eee97dc$var$h((0, $7CmOU.MapMovedReporter), {\n onMapMoved: onMapMoved\n }),\n // Subsitute for trackResize: true that allows map resizing to\n // be tied to a specific ref component\n $8c5236898eee97dc$var$h.if(trackResize)((0, $7CmOU.MapResizeManager), {\n containerRef: ref\n }),\n $8c5236898eee97dc$var$h((0, $7CmOU.MapPaddingManager), {\n containerRef: ref,\n parentRef: parentRef,\n infoMarkerPosition: infoMarkerPosition\n }),\n $8c5236898eee97dc$var$h($8c5236898eee97dc$export$cee395a8a2a00b29, {\n mapUse3D: is3DAvailable,\n terrainSourceID: terrainSourceID,\n style: style\n }),\n children\n ]);\n}\nfunction $8c5236898eee97dc$var$StyleLoadedReporter({ onStyleLoaded: onStyleLoaded = null }) {\n /** Check back every 0.1 seconds to see if the map has loaded.\n * We do it this way because mapboxgl loading events are unreliable */ const isStyleLoaded = (0, $iE1eH$macrostratmapboxreact.useMapStatus)((state)=>state.isStyleLoaded);\n const mapRef = (0, $iE1eH$macrostratmapboxreact.useMapRef)();\n const dispatch = (0, $iE1eH$macrostratmapboxreact.useMapDispatch)();\n (0, $iE1eH$react.useEffect)(()=>{\n if (isStyleLoaded) return;\n const interval = setInterval(()=>{\n const map = mapRef.current;\n if (map == null) return;\n if (map.isStyleLoaded()) {\n // Wait a tick before setting the style loaded state\n dispatch({\n type: \"set-style-loaded\",\n payload: true\n });\n onStyleLoaded?.(map);\n clearInterval(interval);\n }\n }, 50);\n return ()=>clearInterval(interval);\n }, [\n isStyleLoaded\n ]);\n return null;\n}\nfunction $8c5236898eee97dc$export$cee395a8a2a00b29({ mapUse3D: mapUse3D, terrainSourceID: terrainSourceID, style: style }) {\n (0, $iE1eH$macrostratmapboxreact.use3DTerrain)(mapUse3D, terrainSourceID);\n return null;\n}\n\n\n//# sourceMappingURL=map-interface.7aaa58c9.js.map\n","import hyper from \"@macrostrat/hyper\";\nimport {\n useMapRef,\n useMapDispatch,\n use3DTerrain,\n getTerrainLayerForStyle,\n useMapStatus,\n} from \"@macrostrat/mapbox-react\";\nimport React from \"react\";\nimport {\n mapViewInfo,\n MapPosition,\n setMapPosition,\n getMapPosition,\n getMapboxStyle,\n mergeStyles,\n} from \"@macrostrat/mapbox-utils\";\nimport classNames from \"classnames\";\nimport mapboxgl from \"mapbox-gl\";\nimport { useEffect, useRef, useState } from \"react\";\nimport styles from \"./main.module.sass\";\nimport {\n MapLoadingReporter,\n MapMovedReporter,\n MapPaddingManager,\n MapResizeManager,\n} from \"./helpers\";\nimport \"mapbox-gl/dist/mapbox-gl.css\";\nimport { getMapPadding } from \"./utils\";\nimport { useAsyncEffect } from \"@macrostrat/ui-components\";\n\nconst h = hyper.styled(styles);\n\ntype MapboxCoreOptions = Omit<mapboxgl.MapboxOptions, \"container\">;\n\nexport interface MapViewProps extends MapboxCoreOptions {\n showLineSymbols?: boolean;\n children?: React.ReactNode;\n mapboxToken?: string;\n // Deprecated\n accessToken?: string;\n terrainSourceID?: string;\n enableTerrain?: boolean;\n infoMarkerPosition?: mapboxgl.LngLatLike;\n mapPosition?: MapPosition;\n initializeMap?: (\n container: HTMLElement,\n args: MapboxOptionsExt,\n ) => mapboxgl.Map;\n onMapLoaded?: (map: mapboxgl.Map) => void;\n onStyleLoaded?: (map: mapboxgl.Map) => void;\n onMapMoved?: (mapPosition: MapPosition, map: mapboxgl.Map) => void;\n /** This map sets its own viewport, rather than being positioned by a parent.\n * This is a hack to ensure that the map can overflow its \"safe area\" when false */\n standalone?: boolean;\n /** Overlay styles to apply to the map: a list of mapbox style objects or fragments to\n * overlay on top of the main map style at runtime */\n overlayStyles?: Partial<mapboxgl.StyleSpecification>[];\n /** A function to transform the map style before it is loaded */\n transformStyle?: (\n style: mapboxgl.StyleSpecification,\n ) => mapboxgl.StyleSpecification;\n loadingIgnoredSources?: string[];\n id?: string;\n className?: string;\n}\n\nexport interface MapboxOptionsExt extends MapboxCoreOptions {\n mapPosition?: MapPosition;\n}\n\nfunction defaultInitializeMap(container, args: MapboxOptionsExt = {}) {\n const { mapPosition, ...rest } = args;\n\n const map = new mapboxgl.Map({\n container,\n maxZoom: 18,\n logoPosition: \"bottom-left\",\n trackResize: false,\n antialias: true,\n // This is a legacy option for Mapbox GL v2\n // @ts-ignore\n optimizeForTerrain: true,\n ...rest,\n });\n\n let _mapPosition = mapPosition;\n if (_mapPosition == null && rest.center == null && rest.bounds == null) {\n // If no map positioning information is provided, we use the default\n _mapPosition = defaultMapPosition;\n }\n\n // set initial map position\n if (_mapPosition != null) {\n setMapPosition(map, _mapPosition);\n }\n\n return map;\n}\n\nconst defaultMapPosition: MapPosition = {\n camera: {\n lat: 34,\n lng: -120,\n altitude: 300000,\n },\n};\n\nexport function MapView(props: MapViewProps) {\n let { terrainSourceID } = props;\n const {\n enableTerrain = true,\n style,\n mapPosition,\n initializeMap = defaultInitializeMap,\n children,\n mapboxToken,\n // Deprecated\n accessToken,\n infoMarkerPosition,\n transformRequest,\n projection,\n onMapLoaded = null,\n onStyleLoaded = null,\n onMapMoved = null,\n standalone = false,\n overlayStyles,\n transformStyle,\n trackResize = true,\n loadingIgnoredSources = [\"elevationMarker\", \"crossSectionEndpoints\"],\n id = \"map\",\n className,\n ...rest\n } = props;\n if (enableTerrain) {\n terrainSourceID ??= \"mapbox-3d-dem\";\n }\n\n useEffect(() => {\n if (id != null) {\n console.warn(\n \"Setting a specific element ID for the map is deprecated. Please use className instead.\",\n );\n }\n }, [id]);\n\n const _mapboxToken = mapboxToken ?? accessToken;\n\n if (_mapboxToken != null) {\n mapboxgl.accessToken = _mapboxToken;\n }\n\n const dispatch = useMapDispatch();\n let mapRef = useMapRef();\n const ref = useRef<HTMLDivElement>();\n const parentRef = useRef<HTMLDivElement>();\n\n const [baseStyle, setBaseStyle] = useState<mapboxgl.Style>(null);\n\n const estMapPosition: MapPosition | null =\n mapRef.current == null ? mapPosition : getMapPosition(mapRef.current);\n const { mapUse3D, mapIsRotated } = mapViewInfo(estMapPosition);\n const is3DAvailable = (mapUse3D ?? false) && enableTerrain;\n\n useEffect(() => {\n /** Manager to update map style */\n if (baseStyle == null) return;\n let map = mapRef.current;\n\n let newStyle: mapboxgl.StyleSpecification = baseStyle;\n\n const overlayStyles = props.overlayStyles ?? [];\n\n if (overlayStyles.length > 0) {\n newStyle = mergeStyles(newStyle, ...overlayStyles);\n }\n\n /** If we can, we try to update the map style with terrain information\n * immediately, before the style is loaded. This allows us to avoid a\n * flash of the map without terrain.\n *\n * To do this, we need to estimate the map position before load, which\n * doesn't always work.\n */\n if (is3DAvailable) {\n // We can update the style with terrain layers immediately\n const terrainStyle = getTerrainLayerForStyle(newStyle, terrainSourceID);\n newStyle = mergeStyles(newStyle, terrainStyle);\n }\n\n if (transformStyle != null) {\n newStyle = transformStyle(newStyle);\n }\n\n if (map != null) {\n dispatch({ type: \"set-style-loaded\", payload: false });\n map.setStyle(newStyle);\n } else {\n const map = initializeMap(ref.current, {\n style: newStyle,\n projection,\n mapPosition,\n transformRequest,\n ...rest,\n });\n dispatch({ type: \"set-map\", payload: map });\n map.setPadding(getMapPadding(ref, parentRef), { animate: false });\n onMapLoaded?.(map);\n }\n }, [baseStyle, overlayStyles, transformStyle]);\n\n useAsyncEffect(async () => {\n /** Manager to update map style */\n let newStyle: mapboxgl.StyleSpecification;\n if (typeof style === \"string\") {\n newStyle = await getMapboxStyle(style, {\n access_token: mapboxgl.accessToken,\n });\n } else {\n newStyle = style;\n }\n setBaseStyle(newStyle);\n }, [style]);\n\n // Get map projection\n const _projection = mapRef.current?.getProjection()?.name ?? \"mercator\";\n\n const mapClassName = classNames(\n {\n \"is-rotated\": mapIsRotated ?? false,\n \"is-3d-available\": is3DAvailable,\n },\n `${_projection}-projection`,\n );\n\n const parentClassName = classNames(\n {\n standalone,\n },\n className,\n );\n\n return h(\n \"div.map-view-container.main-view\",\n { ref: parentRef, className: parentClassName },\n [\n h(\"div.mapbox-map.map-view\", { ref, className: mapClassName, id }),\n h(MapLoadingReporter, {\n ignoredSources: loadingIgnoredSources,\n }),\n h(StyleLoadedReporter, { onStyleLoaded }),\n h(MapMovedReporter, { onMapMoved }),\n // Subsitute for trackResize: true that allows map resizing to\n // be tied to a specific ref component\n h.if(trackResize)(MapResizeManager, { containerRef: ref }),\n h(MapPaddingManager, {\n containerRef: ref,\n parentRef,\n infoMarkerPosition,\n }),\n h(MapTerrainManager, { mapUse3D: is3DAvailable, terrainSourceID, style }),\n children,\n ],\n );\n}\n\nfunction StyleLoadedReporter({ onStyleLoaded = null }) {\n /** Check back every 0.1 seconds to see if the map has loaded.\n * We do it this way because mapboxgl loading events are unreliable */\n const isStyleLoaded = useMapStatus((state) => state.isStyleLoaded);\n const mapRef = useMapRef();\n const dispatch = useMapDispatch();\n\n useEffect(() => {\n if (isStyleLoaded) return;\n const interval = setInterval(() => {\n const map = mapRef.current;\n if (map == null) return;\n if (map.isStyleLoaded()) {\n // Wait a tick before setting the style loaded state\n dispatch({ type: \"set-style-loaded\", payload: true });\n onStyleLoaded?.(map);\n clearInterval(interval);\n }\n }, 50);\n return () => clearInterval(interval);\n }, [isStyleLoaded]);\n\n return null;\n}\n\nexport function MapTerrainManager({\n mapUse3D,\n terrainSourceID,\n style,\n}: {\n mapUse3D?: boolean;\n terrainSourceID?: string;\n style?: mapboxgl.StyleSpecification | string;\n}) {\n use3DTerrain(mapUse3D, terrainSourceID);\n\n return null;\n}\n"],"names":["require","$iE1eH$macrostrathyper","$iE1eH$macrostratmapboxreact","$iE1eH$macrostratmapboxutils","$iE1eH$classnames","$iE1eH$mapboxgl","$iE1eH$react","$iE1eH$macrostratuicomponents","$parcel$interopDefault","a","__esModule","default","$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","parcelRegister","$8c5236898eee97dc$export$ab1e7a67d6ec5ad8","$8c5236898eee97dc$export$cee395a8a2a00b29","$6ULxP","$7CmOU","$R3my3","$8c5236898eee97dc$var$h","styled","$8c5236898eee97dc$var$defaultInitializeMap","container","args","mapPosition","rest","map","Map","maxZoom","logoPosition","trackResize","antialias","optimizeForTerrain","_mapPosition","center","bounds","$8c5236898eee97dc$var$defaultMapPosition","setMapPosition","camera","lat","lng","altitude","props","terrainSourceID","enableTerrain","style","initializeMap","children","mapboxToken","accessToken","infoMarkerPosition","transformRequest","projection","onMapLoaded","onStyleLoaded","onMapMoved","standalone","overlayStyles","transformStyle","loadingIgnoredSources","className","useEffect","console","warn","_mapboxToken","dispatch","useMapDispatch","mapRef","useMapRef","ref","useRef","parentRef","baseStyle","setBaseStyle","useState","estMapPosition","current","getMapPosition","mapUse3D","mapIsRotated","mapViewInfo","is3DAvailable","newStyle","length","mergeStyles","terrainStyle","getTerrainLayerForStyle","type","payload","setStyle","setPadding","getMapPadding","animate","useAsyncEffect","getMapboxStyle","access_token","_projection","getProjection","name","mapClassName","MapLoadingReporter","ignoredSources","$8c5236898eee97dc$var$StyleLoadedReporter","MapMovedReporter","if","MapResizeManager","containerRef","MapPaddingManager","isStyleLoaded","useMapStatus","state","interval","setInterval","clearInterval","use3DTerrain"],"version":3,"file":"map-interface.7aaa58c9.js.map","sourceRoot":"../../../../"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function $parcel$exportWildcard(e,r){return Object.keys(r).forEach(function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return r[a]}})}),e}require("./map-interface.
|
|
2
|
-
//# sourceMappingURL=map-interface.
|
|
1
|
+
function $parcel$exportWildcard(e,r){return Object.keys(r).forEach(function(a){"default"===a||"__esModule"===a||Object.prototype.hasOwnProperty.call(e,a)||Object.defineProperty(e,a,{enumerable:!0,get:function(){return r[a]}})}),e}require("./map-interface.ce86a010.js"),require("./map-interface.992dea73.js"),require("./map-interface.62b147ce.js"),require("./map-interface.2d12b35c.js");var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var r=$parcel$inits[e];delete $parcel$inits[e];var a={id:e,exports:{}};return $parcel$modules[e]=a,r.call(a.exports,a,a.exports),a.exports}var l=Error("Cannot find module '"+e+"'");throw l.code="MODULE_NOT_FOUND",l}).register=function(e,r){$parcel$inits[e]=r},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register,$c9InG=parcelRequire("c9InG"),$2DICz=parcelRequire("2DICz"),$gnyJS=parcelRequire("gnyJS"),$2mAQJ=parcelRequire("2mAQJ");$parcel$exportWildcard(module.exports,$c9InG),$parcel$exportWildcard(module.exports,$2DICz),$parcel$exportWildcard(module.exports,$gnyJS),$parcel$exportWildcard(module.exports,$2mAQJ);
|
|
2
|
+
//# sourceMappingURL=map-interface.7e13bea8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"A,S,uB,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,Q,gD,Q,gD,Q,gD,Q,gD,I,e,W,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,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,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,O,c,S,O,c,S,O,c,S,O,c,S,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C","sources":["<anon>","packages/map-interface/src/dev/index.ts"],"sourcesContent":["require(\"./map-interface.
|
|
1
|
+
{"mappings":"A,S,uB,C,C,C,E,O,O,I,C,G,O,C,S,C,E,Y,G,A,e,G,O,S,C,c,C,I,C,E,I,O,c,C,E,E,C,W,C,E,I,W,O,C,C,E,A,C,E,G,C,C,Q,gD,Q,gD,Q,gD,Q,gD,I,e,W,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,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,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,O,c,S,O,c,S,O,c,S,O,c,S,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C,Q,uB,O,O,C","sources":["<anon>","packages/map-interface/src/dev/index.ts"],"sourcesContent":["require(\"./map-interface.ce86a010.js\");\nrequire(\"./map-interface.992dea73.js\");\nrequire(\"./map-interface.62b147ce.js\");\nrequire(\"./map-interface.2d12b35c.js\");\n\n\nfunction $parcel$exportWildcard(dest, source) {\n Object.keys(source).forEach(function(key) {\n if (key === 'default' || key === '__esModule' || Object.prototype.hasOwnProperty.call(dest, key)) {\n return;\n }\n\n Object.defineProperty(dest, key, {\n enumerable: true,\n get: function get() {\n return source[key];\n }\n });\n });\n\n return dest;\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;\n\nvar $c9InG = parcelRequire(\"c9InG\");\n\nvar $2DICz = parcelRequire(\"2DICz\");\n\nvar $gnyJS = parcelRequire(\"gnyJS\");\n\nvar $2mAQJ = parcelRequire(\"2mAQJ\");\n$parcel$exportWildcard(module.exports, $c9InG);\n$parcel$exportWildcard(module.exports, $2DICz);\n$parcel$exportWildcard(module.exports, $gnyJS);\n$parcel$exportWildcard(module.exports, $2mAQJ);\n\n\n//# sourceMappingURL=map-interface.7e13bea8.js.map\n","export * from \"./map-page\";\nexport * from \"./tile-extent\";\nexport * from \"./vector-tile-features\";\nexport * from \"./xray\";\n"],"names":["$parcel$exportWildcard","dest","source","Object","keys","forEach","key","prototype","hasOwnProperty","call","defineProperty","enumerable","get","require","$parcel$global","globalThis","$parcel$modules","$parcel$inits","parcelRequire","id","exports","init","module","err","Error","code","register","parcelRegister","$c9InG","$2DICz","$gnyJS","$2mAQJ"],"version":3,"file":"map-interface.7e13bea8.js.map","sourceRoot":"../../../../"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
require("./map-interface.2d12b35c.js"),require("./map-interface.b14f08e8.js"),require("./map-interface.ed6b5586.js"),require("./map-interface.33b7734a.js"),require("./map-interface.6184dc0f.js"),require("./map-interface.7aaa58c9.js"),require("./map-interface.83fa8028.js"),require("./map-interface.992dea73.js"),require("./map-interface.62b147ce.js");var $8RvAA$blueprintjscore=require("@blueprintjs/core"),$8RvAA$macrostrathyper=require("@macrostrat/hyper"),$8RvAA$macrostratuicomponents=require("@macrostrat/ui-components"),$8RvAA$mapboxgl=require("mapbox-gl"),$8RvAA$react=require("react");function $parcel$interopDefault(e){return e&&e.__esModule?e.default:e}function $parcel$export(e,r,a,t){Object.defineProperty(e,r,{get:a,set:t,enumerable:!0,configurable:!0})}var $parcel$global=globalThis,$parcel$modules={},$parcel$inits={},parcelRequire=$parcel$global.parcelRequirea149;null==parcelRequire&&((parcelRequire=function(e){if(e in $parcel$modules)return $parcel$modules[e].exports;if(e in $parcel$inits){var r=$parcel$inits[e];delete $parcel$inits[e];var a={id:e,exports:{}};return $parcel$modules[e]=a,r.call(a.exports,a,a.exports),a.exports}var t=Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}).register=function(e,r){$parcel$inits[e]=r},$parcel$global.parcelRequirea149=parcelRequire);var parcelRegister=parcelRequire.register;$parcel$export(module.exports,"h",()=>$0bad82db04876d25$export$dda1d9f60106f0e9),$parcel$export(module.exports,"MapInspectorV2",()=>$0bad82db04876d25$export$eab3034e57b46e26),$parcel$export(module.exports,"DevMapPage",()=>$0bad82db04876d25$export$2391061fbdfb71ef);var $2mAQJ=parcelRequire("2mAQJ"),$lw3Ik=parcelRequire("lw3Ik"),$d7LVS=parcelRequire("d7LVS"),$7CmOU=parcelRequire("7CmOU"),$6t6Bb=parcelRequire("6t6Bb"),$3wYIs=parcelRequire("3wYIs"),$7gWgo=parcelRequire("7gWgo"),$2DICz=parcelRequire("2DICz"),$gnyJS=parcelRequire("gnyJS");let $0bad82db04876d25$export$dda1d9f60106f0e9=$parcel$interopDefault($8RvAA$macrostrathyper).styled($parcel$interopDefault($7gWgo));function $0bad82db04876d25$export$eab3034e57b46e26({title:e="Map inspector",headerElement:r=null,transformRequest:a=null,mapPosition:t=null,mapboxToken:l=null,overlayStyle:d=null,controls:o=null,children:$=null,style:n,bounds:c=null,focusedSource:p=null,focusedSourceTitle:i=null,fitViewport:u=!0,styleType:s="macrostrat",...f}){let b=(0,$8RvAA$macrostratuicomponents.useDarkMode)(),m=b?.isEnabled;null!=l&&($parcel$interopDefault($8RvAA$mapboxgl).accessToken=l);let x=(0,$7CmOU.useBasicMapStyle)({styleType:s});n??(n=x);let[R,A]=(0,$8RvAA$react.useState)(!1),[S,g]=(0,$8RvAA$macrostratuicomponents.useStoredState)("macrostrat:dev-map-page",{showTileExtent:!1,xRay:!1}),{showTileExtent:q,xRay:v}=S,[y,_]=(0,$8RvAA$react.useState)(null);(0,$8RvAA$react.useEffect)(()=>{(0,$2mAQJ.buildInspectorStyle)(n,d,{mapboxToken:l,inDarkMode:m,xRay:v}).then(_)},[n,v,l,m,d]);let[h,E]=(0,$8RvAA$react.useState)(null),[w,H]=(0,$8RvAA$react.useState)(null),I=(0,$8RvAA$react.useCallback)(e=>{E(e)},[]),M=null;null!=h&&(M=$0bad82db04876d25$export$dda1d9f60106f0e9($6t6Bb.LocationPanel,{onClose(){E(null)},position:h},[$0bad82db04876d25$export$dda1d9f60106f0e9($gnyJS.TileInfo,{feature:w?.[0]??null,showExtent:q,setShowExtent(){g({...S,showTileExtent:!q})}}),$0bad82db04876d25$export$dda1d9f60106f0e9($gnyJS.FeaturePanel,{features:w,focusedSource:p,focusedSourceTitle:i})]));let k=null;if(q&&w?.[0]!=null){let e=w[0];k={x:e._x,y:e._y,z:e._z}}return $0bad82db04876d25$export$dda1d9f60106f0e9($lw3Ik.MapAreaContainer,{navbar:$0bad82db04876d25$export$dda1d9f60106f0e9($d7LVS.FloatingNavbar,{rightElement:$0bad82db04876d25$export$dda1d9f60106f0e9($d7LVS.MapLoadingButton,{large:!0,active:R,onClick:()=>A(!R),style:{marginRight:"-5px"}}),headerElement:r,title:e}),contextPanel:$0bad82db04876d25$export$dda1d9f60106f0e9($lw3Ik.PanelCard,[o,$0bad82db04876d25$export$dda1d9f60106f0e9($8RvAA$blueprintjscore.Switch,{checked:v,label:"X-ray mode",onChange(){g({...S,xRay:!v})}})]),detailPanel:M,contextPanelOpen:R,fitViewport:u},$0bad82db04876d25$export$dda1d9f60106f0e9($3wYIs.MapView,{style:y,transformRequest:a,mapPosition:t,projection:{name:"globe"},mapboxToken:l,bounds:c,...f},[$0bad82db04876d25$export$dda1d9f60106f0e9($gnyJS.FeatureSelectionHandler,{selectedLocation:h,setFeatures:H}),$0bad82db04876d25$export$dda1d9f60106f0e9($7CmOU.MapMarker,{position:h,setPosition:I}),$0bad82db04876d25$export$dda1d9f60106f0e9($2DICz.TileExtentLayer,{tile:k,color:m?"white":"black"}),$]))}function $0bad82db04876d25$var$MapInspector(e){let{children:r,controls:a,...t}=e;return console.warn("MapInspector is deprecated. Use MapInspectorV2 instead"),$0bad82db04876d25$export$dda1d9f60106f0e9($0bad82db04876d25$export$eab3034e57b46e26,{...t,controls:[r,a]})}let $0bad82db04876d25$export$2391061fbdfb71ef=$0bad82db04876d25$var$MapInspector;
|
|
2
|
+
//# sourceMappingURL=map-interface.ce86a010.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"A,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,Q,gD,I,uB,Q,qB,uB,Q,qB,8B,Q,6B,gB,Q,a,a,Q,S,S,uB,C,E,O,G,E,U,C,E,O,C,C,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,gB,C,E,c,C,E,c,e,iB,A,O,gB,A,C,c,S,C,E,G,K,gB,O,e,C,E,C,O,C,G,K,c,C,I,E,a,C,E,A,Q,a,C,E,C,I,E,C,G,E,Q,C,C,E,O,e,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,a,C,E,C,C,E,e,iB,C,e,I,e,c,Q,C,e,O,O,C,I,I,2C,e,O,O,C,iB,I,2C,e,O,O,C,a,I,2C,I,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,S,O,c,SCsBO,IAAM,0CAAI,AAAA,uBAAA,wBAAM,MAAM,CAAC,uBAAA,SAqBvB,SAAS,0CAAe,CAAA,MAC7B,EAAQ,eAAA,CAAA,cACR,EAAgB,IAAA,CAAA,iBAChB,EAAmB,IAAA,CAAA,YACnB,EAAc,IAAA,CAAA,YACd,EAAc,IAAA,CAAA,aACd,EAAe,IAAA,CAAA,SACf,EAAW,IAAA,CAAA,SACX,EAAW,IAAA,CAAA,MACX,CAAK,CAAA,OACL,EAAS,IAAA,CAAA,cACT,EAAgB,IAAA,CAAA,mBAChB,EAAqB,IAAA,CAAA,YACrB,EAAc,CAAA,CAAA,CAAA,UACd,EAAY,YAAA,CACZ,GAAG,EACe,EAQlB,IAAM,EAAO,AAAA,CAAA,EAAA,8BAAA,WAAU,AAAV,IACP,EAAY,GAAM,SAEpB,AAAe,OAAf,GACF,CAAA,AAAA,uBAAA,iBAAS,WAAW,CAAG,CADzB,EAIA,IAAM,EAAa,AAAA,CAAA,EAAA,OAAA,gBAAe,AAAf,EAAiB,CAAE,UAAA,CAAU,EAChD,CAAA,GAAA,CAAA,EAAU,CAAV,EAEA,GAAM,CAAC,EAAQ,EAAQ,CAAG,AAAA,CAAA,EAAA,aAAA,QAAO,AAAP,EAAS,CAAA,GAE7B,CAAC,EAAO,EAAS,CAAG,AAAA,CAAA,EAAA,8BAAA,cAAa,AAAb,EAAe,0BAA2B,CAClE,eAAgB,CAAA,EAChB,KAAM,CAAA,CACR,GACM,CAAA,eAAE,CAAc,CAAA,KAAE,CAAI,CAAE,CAAG,EAE3B,CAAC,EAAa,EAAe,CAAG,AAAA,CAAA,EAAA,aAAA,QAAO,AAAP,EAAS,MAE/C,AAAA,CAAA,EAAA,aAAA,SAAQ,AAAR,EAAU,KACR,AAAA,CAAA,EAAA,OAAA,mBAAkB,AAAlB,EAAoB,EAAO,EAAc,CACvC,YAAA,EACA,WAAY,EACZ,KAAA,CACF,GAAG,IAAI,CAAC,EACV,EAAG,CAAC,EAAO,EAAM,EAAa,EAAW,EAAa,EAEtD,GAAM,CAAC,EAAiB,EAAmB,CACzC,AAAA,CAAA,EAAA,aAAA,QAAO,AAAP,EAAiC,MAE7B,CAAC,EAAM,EAAQ,CAAG,AAAA,CAAA,EAAA,aAAA,QAAO,AAAP,EAAS,MAE3B,EAAmB,AAAA,CAAA,EAAA,aAAA,WAAU,AAAV,EAAY,AAAC,IACpC,EAAmB,EACrB,EAAG,EAAE,EAED,EAAgB,IAChB,AAAmB,OAAnB,GACF,CAAA,EAAgB,0CACd,OAAA,aAAY,CACZ,CACE,UACE,EAAmB,KACrB,EACA,SAAU,CACZ,EACA,CACE,0CAAE,OAAA,QAAO,CAAG,CACV,QAAS,GAAM,CAAC,EAAE,EAAI,KACtB,WAAY,EACZ,gBACE,EAAS,CAAE,GAAG,CAAK,CAAE,eAAgB,CAAC,CAAe,EACvD,CACF,GACA,0CAAE,OAAA,YAAW,CAAG,CAAE,SAAU,EAAM,cAAA,EAAe,mBAAA,CAAmB,GACrE,CAAA,EAIL,IAAI,EAAO,KACX,GAAI,GAAkB,GAAM,CAAC,EAAE,EAAI,KAAM,CACvC,IAAI,EAAI,CAAI,CAAC,EAAE,CACf,EAAO,CAAE,EAAG,EAAE,EAAE,CAAE,EAAG,EAAE,EAAE,CAAE,EAAG,EAAE,EAAE,AAAC,CACrC,CAEA,OAAO,0CACL,OAAA,gBAAe,CACf,CACE,OAAQ,0CAAE,OAAA,cAAa,CAAG,CACxB,aAAc,0CAAE,OAAA,gBAAe,CAAG,CAChC,MAAO,CAAA,EACP,OAAQ,EACR,QAAS,IAAM,EAAQ,CAAC,GACxB,MAAO,CACL,YAAa,MACf,CACF,GACA,cAAA,EACA,MAAA,CACF,GACA,aAAc,0CAAE,OAAA,SAAQ,CAAG,CACzB,EACA,0CAAE,uBAAA,MAAK,CAAG,CACR,QAAS,EACT,MAAO,aACP,WACE,EAAS,CAAE,GAAG,CAAK,CAAE,KAAM,CAAC,CAAK,EACnC,CACF,GACD,EACD,YAAa,EACb,iBAAkB,EAClB,YAAA,CACF,EACA,0CACE,OAAA,OAAM,CACN,CACE,MAAO,EACP,iBAAA,EACA,YAAA,EACA,WAAY,CAAE,KAAM,OAAQ,EAC5B,YAAA,EACA,OAAA,EACA,GAAG,CAAI,AACT,EACA,CACE,0CAAE,OAAA,uBAAsB,CAAG,CACzB,iBAAkB,EAClB,YAAa,CACf,GACA,0CAAE,OAAA,SAAQ,CAAG,CACX,SAAU,EACV,YAAa,CACf,GACA,0CAAE,OAAA,eAAc,CAAG,CAAE,KAAA,EAAM,MAAO,EAAY,QAAU,OAAQ,GAChE,EACD,EAGP,CAEA,SAAS,mCAAa,CAAK,EACzB,GAAM,CAAA,SAAE,CAAQ,CAAA,SAAE,CAAQ,CAAE,GAAG,EAAM,CAAG,EAKxC,OAFA,QAAQ,IAAI,CAAC,0DAEN,0CAAE,0CAAgB,CACvB,GAAG,CAAI,CACP,SAAU,CAAC,EAAU,EAAS,AAChC,EACF,CAGO,IAAM,0CAAa","sources":["<anon>","packages/map-interface/src/dev/map-page.ts"],"sourcesContent":["require(\"./map-interface.2d12b35c.js\");\nrequire(\"./map-interface.b14f08e8.js\");\nrequire(\"./map-interface.ed6b5586.js\");\nrequire(\"./map-interface.33b7734a.js\");\nrequire(\"./map-interface.6184dc0f.js\");\nrequire(\"./map-interface.7aaa58c9.js\");\nrequire(\"./map-interface.83fa8028.js\");\nrequire(\"./map-interface.992dea73.js\");\nrequire(\"./map-interface.62b147ce.js\");\nvar $8RvAA$blueprintjscore = require(\"@blueprintjs/core\");\nvar $8RvAA$macrostrathyper = require(\"@macrostrat/hyper\");\nvar $8RvAA$macrostratuicomponents = require(\"@macrostrat/ui-components\");\nvar $8RvAA$mapboxgl = require(\"mapbox-gl\");\nvar $8RvAA$react = require(\"react\");\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;\n\n$parcel$export(module.exports, \"h\", () => $0bad82db04876d25$export$dda1d9f60106f0e9);\n$parcel$export(module.exports, \"MapInspectorV2\", () => $0bad82db04876d25$export$eab3034e57b46e26);\n$parcel$export(module.exports, \"DevMapPage\", () => $0bad82db04876d25$export$2391061fbdfb71ef);\n// Import other components\n\n\n\n\n\n\nvar $2mAQJ = parcelRequire(\"2mAQJ\");\n\nvar $lw3Ik = parcelRequire(\"lw3Ik\");\n\nvar $d7LVS = parcelRequire(\"d7LVS\");\n\nvar $7CmOU = parcelRequire(\"7CmOU\");\n\nvar $6t6Bb = parcelRequire(\"6t6Bb\");\n\nvar $3wYIs = parcelRequire(\"3wYIs\");\n\nvar $7gWgo = parcelRequire(\"7gWgo\");\n\nvar $2DICz = parcelRequire(\"2DICz\");\n\nvar $gnyJS = parcelRequire(\"gnyJS\");\nconst $0bad82db04876d25$export$dda1d9f60106f0e9 = (0, ($parcel$interopDefault($8RvAA$macrostrathyper))).styled((0, (/*@__PURE__*/$parcel$interopDefault($7gWgo))));\nfunction $0bad82db04876d25$export$eab3034e57b46e26({ title: title = \"Map inspector\", headerElement: headerElement = null, transformRequest: transformRequest = null, mapPosition: mapPosition = null, mapboxToken: mapboxToken = null, overlayStyle: overlayStyle = null, controls: controls = null, children: children = null, style: style, bounds: bounds = null, focusedSource: focusedSource = null, focusedSourceTitle: focusedSourceTitle = null, fitViewport: fitViewport = true, styleType: styleType = \"macrostrat\", ...rest }) {\n /* We apply a custom style to the panel container when we are interacting\n with the search bar, so that we can block map interactions until search\n bar focus is lost.\n We also apply a custom style when the infodrawer is open so we can hide\n the search bar on mobile platforms\n */ const dark = (0, $8RvAA$macrostratuicomponents.useDarkMode)();\n const isEnabled = dark?.isEnabled;\n if (mapboxToken != null) (0, ($parcel$interopDefault($8RvAA$mapboxgl))).accessToken = mapboxToken;\n const basicStyle = (0, $7CmOU.useBasicMapStyle)({\n styleType: styleType\n });\n style ?? (style = basicStyle);\n const [isOpen, setOpen] = (0, $8RvAA$react.useState)(false);\n const [state, setState] = (0, $8RvAA$macrostratuicomponents.useStoredState)(\"macrostrat:dev-map-page\", {\n showTileExtent: false,\n xRay: false\n });\n const { showTileExtent: showTileExtent, xRay: xRay } = state;\n const [actualStyle, setActualStyle] = (0, $8RvAA$react.useState)(null);\n (0, $8RvAA$react.useEffect)(()=>{\n (0, $2mAQJ.buildInspectorStyle)(style, overlayStyle, {\n mapboxToken: mapboxToken,\n inDarkMode: isEnabled,\n xRay: xRay\n }).then(setActualStyle);\n }, [\n style,\n xRay,\n mapboxToken,\n isEnabled,\n overlayStyle\n ]);\n const [inspectPosition, setInspectPosition] = (0, $8RvAA$react.useState)(null);\n const [data, setData] = (0, $8RvAA$react.useState)(null);\n const onSelectPosition = (0, $8RvAA$react.useCallback)((position)=>{\n setInspectPosition(position);\n }, []);\n let detailElement = null;\n if (inspectPosition != null) detailElement = $0bad82db04876d25$export$dda1d9f60106f0e9((0, $6t6Bb.LocationPanel), {\n onClose () {\n setInspectPosition(null);\n },\n position: inspectPosition\n }, [\n $0bad82db04876d25$export$dda1d9f60106f0e9((0, $gnyJS.TileInfo), {\n feature: data?.[0] ?? null,\n showExtent: showTileExtent,\n setShowExtent () {\n setState({\n ...state,\n showTileExtent: !showTileExtent\n });\n }\n }),\n $0bad82db04876d25$export$dda1d9f60106f0e9((0, $gnyJS.FeaturePanel), {\n features: data,\n focusedSource: focusedSource,\n focusedSourceTitle: focusedSourceTitle\n })\n ]);\n let tile = null;\n if (showTileExtent && data?.[0] != null) {\n let f = data[0];\n tile = {\n x: f._x,\n y: f._y,\n z: f._z\n };\n }\n return $0bad82db04876d25$export$dda1d9f60106f0e9((0, $lw3Ik.MapAreaContainer), {\n navbar: $0bad82db04876d25$export$dda1d9f60106f0e9((0, $d7LVS.FloatingNavbar), {\n rightElement: $0bad82db04876d25$export$dda1d9f60106f0e9((0, $d7LVS.MapLoadingButton), {\n large: true,\n active: isOpen,\n onClick: ()=>setOpen(!isOpen),\n style: {\n marginRight: \"-5px\"\n }\n }),\n headerElement: headerElement,\n title: title\n }),\n contextPanel: $0bad82db04876d25$export$dda1d9f60106f0e9((0, $lw3Ik.PanelCard), [\n controls,\n $0bad82db04876d25$export$dda1d9f60106f0e9((0, $8RvAA$blueprintjscore.Switch), {\n checked: xRay,\n label: \"X-ray mode\",\n onChange () {\n setState({\n ...state,\n xRay: !xRay\n });\n }\n })\n ]),\n detailPanel: detailElement,\n contextPanelOpen: isOpen,\n fitViewport: fitViewport\n }, $0bad82db04876d25$export$dda1d9f60106f0e9((0, $3wYIs.MapView), {\n style: actualStyle,\n transformRequest: transformRequest,\n mapPosition: mapPosition,\n projection: {\n name: \"globe\"\n },\n mapboxToken: mapboxToken,\n bounds: bounds,\n ...rest\n }, [\n $0bad82db04876d25$export$dda1d9f60106f0e9((0, $gnyJS.FeatureSelectionHandler), {\n selectedLocation: inspectPosition,\n setFeatures: setData\n }),\n $0bad82db04876d25$export$dda1d9f60106f0e9((0, $7CmOU.MapMarker), {\n position: inspectPosition,\n setPosition: onSelectPosition\n }),\n $0bad82db04876d25$export$dda1d9f60106f0e9((0, $2DICz.TileExtentLayer), {\n tile: tile,\n color: isEnabled ? \"white\" : \"black\"\n }),\n children\n ]));\n}\nfunction $0bad82db04876d25$var$MapInspector(props) {\n const { children: children, controls: controls, ...rest } = props;\n /** Compatibility wrapper for MapInspectorV2 */ // React warning about this legacy usage\n console.warn(\"MapInspector is deprecated. Use MapInspectorV2 instead\");\n return $0bad82db04876d25$export$dda1d9f60106f0e9($0bad82db04876d25$export$eab3034e57b46e26, {\n ...rest,\n controls: [\n children,\n controls\n ]\n });\n}\nconst $0bad82db04876d25$export$2391061fbdfb71ef = $0bad82db04876d25$var$MapInspector;\n\n\n//# sourceMappingURL=map-interface.ce86a010.js.map\n","// Import other components\nimport { Switch } from \"@blueprintjs/core\";\nimport hyper from \"@macrostrat/hyper\";\nimport { useDarkMode, useStoredState } from \"@macrostrat/ui-components\";\nimport mapboxgl from \"mapbox-gl\";\nimport React from \"react\";\nimport { useCallback, useState, useEffect } from \"react\";\nimport { buildInspectorStyle } from \"./xray\";\nimport { MapAreaContainer, PanelCard } from \"../container\";\nimport { FloatingNavbar, MapLoadingButton } from \"../context-panel\";\nimport { MapMarker, useBasicMapStyle } from \"../helpers\";\nimport { LocationPanel } from \"../location-panel\";\nimport { MapView, MapViewProps } from \"../map-view\";\nimport styles from \"./main.module.sass\";\nimport { TileExtentLayer } from \"./tile-extent\";\nimport {\n FeaturePanel,\n FeatureSelectionHandler,\n TileInfo,\n} from \"./vector-tile-features\";\nimport { MapPosition } from \"@macrostrat/mapbox-utils\";\n\nexport const h = hyper.styled(styles);\n\ninterface MapInspectorProps extends MapViewProps {\n headerElement?: React.ReactNode;\n transformRequest?: mapboxgl.RequestTransformFunction;\n title?: string;\n style?: mapboxgl.StyleSpecification | string;\n controls?: React.ReactNode;\n children?: React.ReactNode;\n mapboxToken?: string;\n overlayStyle?: mapboxgl.StyleSpecification | string;\n focusedSource?: string;\n focusedSourceTitle?: string;\n projection?: string;\n mapPosition?: MapPosition;\n bounds?: [number, number, number, number];\n fitViewport?: boolean;\n styleType?: \"standard\" | \"macrostrat\";\n enableTerrain?: boolean;\n}\n\nexport function MapInspectorV2({\n title = \"Map inspector\",\n headerElement = null,\n transformRequest = null,\n mapPosition = null,\n mapboxToken = null,\n overlayStyle = null,\n controls = null,\n children = null,\n style,\n bounds = null,\n focusedSource = null,\n focusedSourceTitle = null,\n fitViewport = true,\n styleType = \"macrostrat\",\n ...rest\n}: MapInspectorProps) {\n /* We apply a custom style to the panel container when we are interacting\n with the search bar, so that we can block map interactions until search\n bar focus is lost.\n We also apply a custom style when the infodrawer is open so we can hide\n the search bar on mobile platforms\n */\n\n const dark = useDarkMode();\n const isEnabled = dark?.isEnabled;\n\n if (mapboxToken != null) {\n mapboxgl.accessToken = mapboxToken;\n }\n\n const basicStyle = useBasicMapStyle({ styleType });\n style ??= basicStyle;\n\n const [isOpen, setOpen] = useState(false);\n\n const [state, setState] = useStoredState(\"macrostrat:dev-map-page\", {\n showTileExtent: false,\n xRay: false,\n });\n const { showTileExtent, xRay } = state;\n\n const [actualStyle, setActualStyle] = useState(null);\n\n useEffect(() => {\n buildInspectorStyle(style, overlayStyle, {\n mapboxToken,\n inDarkMode: isEnabled,\n xRay,\n }).then(setActualStyle);\n }, [style, xRay, mapboxToken, isEnabled, overlayStyle]);\n\n const [inspectPosition, setInspectPosition] =\n useState<mapboxgl.LngLat | null>(null);\n\n const [data, setData] = useState(null);\n\n const onSelectPosition = useCallback((position: mapboxgl.LngLat) => {\n setInspectPosition(position);\n }, []);\n\n let detailElement = null;\n if (inspectPosition != null) {\n detailElement = h(\n LocationPanel,\n {\n onClose() {\n setInspectPosition(null);\n },\n position: inspectPosition,\n },\n [\n h(TileInfo, {\n feature: data?.[0] ?? null,\n showExtent: showTileExtent,\n setShowExtent() {\n setState({ ...state, showTileExtent: !showTileExtent });\n },\n }),\n h(FeaturePanel, { features: data, focusedSource, focusedSourceTitle }),\n ],\n );\n }\n\n let tile = null;\n if (showTileExtent && data?.[0] != null) {\n let f = data[0];\n tile = { x: f._x, y: f._y, z: f._z };\n }\n\n return h(\n MapAreaContainer,\n {\n navbar: h(FloatingNavbar, {\n rightElement: h(MapLoadingButton, {\n large: true,\n active: isOpen,\n onClick: () => setOpen(!isOpen),\n style: {\n marginRight: \"-5px\",\n },\n }),\n headerElement,\n title,\n }),\n contextPanel: h(PanelCard, [\n controls,\n h(Switch, {\n checked: xRay,\n label: \"X-ray mode\",\n onChange() {\n setState({ ...state, xRay: !xRay });\n },\n }),\n ]),\n detailPanel: detailElement,\n contextPanelOpen: isOpen,\n fitViewport,\n },\n h(\n MapView,\n {\n style: actualStyle,\n transformRequest,\n mapPosition,\n projection: { name: \"globe\" },\n mapboxToken,\n bounds,\n ...rest,\n },\n [\n h(FeatureSelectionHandler, {\n selectedLocation: inspectPosition,\n setFeatures: setData,\n }),\n h(MapMarker, {\n position: inspectPosition,\n setPosition: onSelectPosition,\n }),\n h(TileExtentLayer, { tile, color: isEnabled ? \"white\" : \"black\" }),\n children,\n ],\n ),\n );\n}\n\nfunction MapInspector(props) {\n const { children, controls, ...rest } = props;\n /** Compatibility wrapper for MapInspectorV2 */\n // React warning about this legacy usage\n console.warn(\"MapInspector is deprecated. Use MapInspectorV2 instead\");\n\n return h(MapInspectorV2, {\n ...rest,\n controls: [children, controls],\n });\n}\n\n// Legacy export\nexport const DevMapPage = MapInspector;\n"],"names":["require","$8RvAA$blueprintjscore","$8RvAA$macrostrathyper","$8RvAA$macrostratuicomponents","$8RvAA$mapboxgl","$8RvAA$react","$parcel$interopDefault","a","__esModule","default","$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","parcelRegister","$0bad82db04876d25$export$dda1d9f60106f0e9","$0bad82db04876d25$export$eab3034e57b46e26","$0bad82db04876d25$export$2391061fbdfb71ef","$2mAQJ","$lw3Ik","$d7LVS","$7CmOU","$6t6Bb","$3wYIs","$7gWgo","$2DICz","$gnyJS","styled","title","headerElement","transformRequest","mapPosition","mapboxToken","overlayStyle","controls","children","style","bounds","focusedSource","focusedSourceTitle","fitViewport","styleType","rest","dark","useDarkMode","isEnabled","accessToken","basicStyle","useBasicMapStyle","isOpen","setOpen","useState","state","setState","useStoredState","showTileExtent","xRay","actualStyle","setActualStyle","useEffect","buildInspectorStyle","inDarkMode","then","inspectPosition","setInspectPosition","data","setData","onSelectPosition","useCallback","position","detailElement","LocationPanel","onClose","TileInfo","feature","showExtent","setShowExtent","FeaturePanel","features","tile","f","x","_x","y","_y","z","_z","MapAreaContainer","navbar","FloatingNavbar","rightElement","MapLoadingButton","large","active","onClick","marginRight","contextPanel","PanelCard","Switch","checked","label","onChange","detailPanel","contextPanelOpen","MapView","projection","name","FeatureSelectionHandler","selectedLocation","setFeatures","MapMarker","setPosition","TileExtentLayer","color","$0bad82db04876d25$var$MapInspector","props","console","warn"],"version":3,"file":"map-interface.ce86a010.js.map","sourceRoot":"../../../../"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@macrostrat/map-interface",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.4.1",
|
|
4
4
|
"description": "Map interface for Macrostrat",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
"@blueprintjs/core": "^5.0.0",
|
|
12
12
|
"@macrostrat/color-utils": "^1.1.1",
|
|
13
13
|
"@macrostrat/hyper": "^3.0.6",
|
|
14
|
-
"@macrostrat/mapbox-react": "^2.6.
|
|
15
|
-
"@macrostrat/mapbox-utils": "^1.
|
|
16
|
-
"@macrostrat/ui-components": "^4.
|
|
14
|
+
"@macrostrat/mapbox-react": "^2.6.2",
|
|
15
|
+
"@macrostrat/mapbox-utils": "^1.6.0",
|
|
16
|
+
"@macrostrat/ui-components": "^4.4.0",
|
|
17
17
|
"@mapbox/tilebelt": "^2.0.0",
|
|
18
18
|
"classnames": "^2.5.1",
|
|
19
19
|
"d3-array": "^3.2.4",
|
package/src/dev/map-page.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
// Import other components
|
|
2
2
|
import { Switch } from "@blueprintjs/core";
|
|
3
3
|
import hyper from "@macrostrat/hyper";
|
|
4
|
-
import {
|
|
4
|
+
import { useDarkMode, useStoredState } from "@macrostrat/ui-components";
|
|
5
5
|
import mapboxgl from "mapbox-gl";
|
|
6
|
+
import React from "react";
|
|
6
7
|
import { useCallback, useState, useEffect } from "react";
|
|
7
8
|
import { buildInspectorStyle } from "./xray";
|
|
8
9
|
import { MapAreaContainer, PanelCard } from "../container";
|
|
9
10
|
import { FloatingNavbar, MapLoadingButton } from "../context-panel";
|
|
10
11
|
import { MapMarker, useBasicMapStyle } from "../helpers";
|
|
11
12
|
import { LocationPanel } from "../location-panel";
|
|
12
|
-
import { MapView } from "../map-view";
|
|
13
|
+
import { MapView, MapViewProps } from "../map-view";
|
|
13
14
|
import styles from "./main.module.sass";
|
|
14
15
|
import { TileExtentLayer } from "./tile-extent";
|
|
15
16
|
import {
|
|
@@ -21,6 +22,25 @@ import { MapPosition } from "@macrostrat/mapbox-utils";
|
|
|
21
22
|
|
|
22
23
|
export const h = hyper.styled(styles);
|
|
23
24
|
|
|
25
|
+
interface MapInspectorProps extends MapViewProps {
|
|
26
|
+
headerElement?: React.ReactNode;
|
|
27
|
+
transformRequest?: mapboxgl.RequestTransformFunction;
|
|
28
|
+
title?: string;
|
|
29
|
+
style?: mapboxgl.StyleSpecification | string;
|
|
30
|
+
controls?: React.ReactNode;
|
|
31
|
+
children?: React.ReactNode;
|
|
32
|
+
mapboxToken?: string;
|
|
33
|
+
overlayStyle?: mapboxgl.StyleSpecification | string;
|
|
34
|
+
focusedSource?: string;
|
|
35
|
+
focusedSourceTitle?: string;
|
|
36
|
+
projection?: string;
|
|
37
|
+
mapPosition?: MapPosition;
|
|
38
|
+
bounds?: [number, number, number, number];
|
|
39
|
+
fitViewport?: boolean;
|
|
40
|
+
styleType?: "standard" | "macrostrat";
|
|
41
|
+
enableTerrain?: boolean;
|
|
42
|
+
}
|
|
43
|
+
|
|
24
44
|
export function MapInspectorV2({
|
|
25
45
|
title = "Map inspector",
|
|
26
46
|
headerElement = null,
|
|
@@ -36,23 +56,8 @@ export function MapInspectorV2({
|
|
|
36
56
|
focusedSourceTitle = null,
|
|
37
57
|
fitViewport = true,
|
|
38
58
|
styleType = "macrostrat",
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
transformRequest?: mapboxgl.TransformRequestFunction;
|
|
42
|
-
title?: string;
|
|
43
|
-
style?: mapboxgl.Style | string;
|
|
44
|
-
controls?: React.ReactNode;
|
|
45
|
-
children?: React.ReactNode;
|
|
46
|
-
mapboxToken?: string;
|
|
47
|
-
overlayStyle?: mapboxgl.Style | string;
|
|
48
|
-
focusedSource?: string;
|
|
49
|
-
focusedSourceTitle?: string;
|
|
50
|
-
projection?: string;
|
|
51
|
-
mapPosition?: MapPosition;
|
|
52
|
-
bounds?: [number, number, number, number];
|
|
53
|
-
fitViewport?: boolean;
|
|
54
|
-
styleType?: "standard" | "macrostrat";
|
|
55
|
-
}) {
|
|
59
|
+
...rest
|
|
60
|
+
}: MapInspectorProps) {
|
|
56
61
|
/* We apply a custom style to the panel container when we are interacting
|
|
57
62
|
with the search bar, so that we can block map interactions until search
|
|
58
63
|
bar focus is lost.
|
|
@@ -164,6 +169,7 @@ export function MapInspectorV2({
|
|
|
164
169
|
projection: { name: "globe" },
|
|
165
170
|
mapboxToken,
|
|
166
171
|
bounds,
|
|
172
|
+
...rest,
|
|
167
173
|
},
|
|
168
174
|
[
|
|
169
175
|
h(FeatureSelectionHandler, {
|
package/src/helpers.ts
CHANGED
|
@@ -136,18 +136,18 @@ export function MapLoadingReporter({
|
|
|
136
136
|
const mapIsLoading = loadingRef.current;
|
|
137
137
|
if (map == null) return;
|
|
138
138
|
|
|
139
|
-
let didSendLoading = false;
|
|
139
|
+
//let didSendLoading = false;
|
|
140
140
|
|
|
141
141
|
const loadingCallback = (evt) => {
|
|
142
142
|
if (ignoredSources.includes(evt.sourceId) || mapIsLoading) return;
|
|
143
|
-
if (didSendLoading) return;
|
|
143
|
+
//if (didSendLoading) return;
|
|
144
144
|
onMapLoading?.(evt);
|
|
145
145
|
dispatch({ type: "set-loading", payload: true });
|
|
146
146
|
loadingRef.current = true;
|
|
147
|
-
didSendLoading = true;
|
|
147
|
+
//didSendLoading = true;
|
|
148
148
|
};
|
|
149
149
|
const idleCallback = (evt) => {
|
|
150
|
-
if (!
|
|
150
|
+
if (!map.loaded()) return;
|
|
151
151
|
dispatch({ type: "set-loading", payload: false });
|
|
152
152
|
loadingRef.current = false;
|
|
153
153
|
onMapIdle?.(evt);
|
|
@@ -3,14 +3,11 @@ import hyper from "@macrostrat/hyper";
|
|
|
3
3
|
import styles from "./main.module.sass";
|
|
4
4
|
import { useToaster } from "@macrostrat/ui-components";
|
|
5
5
|
import { LngLatCoords, Elevation } from "../location-info";
|
|
6
|
-
import {
|
|
7
|
-
LocationFocusButton,
|
|
8
|
-
useFocusState,
|
|
9
|
-
isCentered,
|
|
10
|
-
} from "@macrostrat/mapbox-react";
|
|
6
|
+
import { LocationFocusButton, useFocusState } from "@macrostrat/mapbox-react";
|
|
11
7
|
import classNames from "classnames";
|
|
12
8
|
import type { ReactNode } from "react";
|
|
13
9
|
import type { LngLatBounds, LngLatLike } from "mapbox-gl";
|
|
10
|
+
import { isCentered } from "@macrostrat/mapbox-utils";
|
|
14
11
|
|
|
15
12
|
const h = hyper.styled(styles);
|
|
16
13
|
|