@macrostrat/map-interface 0.0.9 → 0.0.10

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.
@@ -0,0 +1,223 @@
1
+ import mapboxgl from "mapbox-gl";
2
+ import { ReactNode } from "react";
3
+ type LatLng = {
4
+ lng: number;
5
+ lat: number;
6
+ };
7
+ type TargetPosition = LatLng & {
8
+ zoom: number;
9
+ };
10
+ type CameraPosition = LatLng & {
11
+ bearing?: number;
12
+ pitch?: number;
13
+ altitude: number;
14
+ };
15
+ type MapPosition = {
16
+ camera: CameraPosition;
17
+ target?: TargetPosition;
18
+ };
19
+ export function LoadingButton({ isLoading, onClick, active, icon, }: {
20
+ isLoading?: boolean;
21
+ onClick: any;
22
+ active?: boolean;
23
+ icon?: string;
24
+ }): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
25
+ export function MapLoadingButton(props: any): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
26
+ type AnyChildren = React.ReactNode | React.ReactFragment;
27
+ export function FloatingNavbar({ className, children, statusElement, }: {
28
+ className?: string;
29
+ children?: AnyChildren;
30
+ statusElement?: AnyChildren;
31
+ }): import("react").ReactElement<{
32
+ className: string;
33
+ }, string | import("react").JSXElementConstructor<any>>;
34
+ declare namespace InfiniteScrollView {
35
+ var defaultProps: {
36
+ hasMore(a: any, b: any): boolean;
37
+ getItems(d: any): any;
38
+ getCount(d: any): any;
39
+ getNextParams(response: any, params: any): any;
40
+ placeholder: React.ReactElement<any, string | React.JSXElementConstructor<any>>;
41
+ };
42
+ }
43
+ declare namespace ThreeColumnLayout {
44
+ var Panels: typeof SidePanel;
45
+ }
46
+ export function ValueWithUnit(props: any): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
47
+ export function DegreeCoord(props: any): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
48
+ export interface LngLatProps {
49
+ /** Map position */
50
+ position: [number, number] | {
51
+ lat: number;
52
+ lng: number;
53
+ };
54
+ className?: string;
55
+ /** Zoom level (used to infer coordinate rounding if provided) */
56
+ zoom?: number | null;
57
+ /** Number of decimal places to round coordinates to */
58
+ precision: number | null;
59
+ /** Function to format coordinates */
60
+ format?: (val: number, precision: number) => string;
61
+ }
62
+ export function LngLatCoords(props: LngLatProps): import("react").ReactElement<{
63
+ className: string;
64
+ }, string | import("react").JSXElementConstructor<any>>;
65
+ export function Elevation(props: any): import("react").ReactElement<{
66
+ className: any;
67
+ }, string | import("react").JSXElementConstructor<any>>;
68
+ export function InfoDrawerContainer(props: any): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
69
+ export function LocationPanel(props: any): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
70
+ interface XRayOptions {
71
+ color?: string;
72
+ inDarkMode?: boolean;
73
+ mapboxToken?: string;
74
+ xRaySources?: string[];
75
+ }
76
+ export function buildXRayStyle(baseStyle: string | object, params?: XRayOptions): Promise<{
77
+ layers: any[];
78
+ sources: mapboxgl.Sources;
79
+ bearing?: number;
80
+ center?: number[];
81
+ fog?: mapboxgl.Fog;
82
+ glyphs?: string;
83
+ metadata?: any;
84
+ name?: string;
85
+ pitch?: number;
86
+ light?: mapboxgl.Light;
87
+ sprite?: string;
88
+ terrain?: mapboxgl.TerrainSpecification;
89
+ transition?: mapboxgl.Transition;
90
+ version: number;
91
+ zoom?: number;
92
+ }>;
93
+ type InspectorStyleOptions = XRayOptions & {
94
+ xRay?: boolean;
95
+ };
96
+ export function buildInspectorStyle(baseStyle: mapboxgl.Style | string, overlayStyle?: mapboxgl.Style | string | null, params?: InspectorStyleOptions): Promise<mapboxgl.Style>;
97
+ export function MapBottomControls(): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
98
+ export function MapInterface(): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
99
+ export const PanelCard: (props: any) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
100
+ export const MapAreaContainer: (props: any) => import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
101
+ interface MapContainerProps {
102
+ className?: string;
103
+ mapPosition?: MapPosition;
104
+ children?: ReactNode;
105
+ }
106
+ export function MapStyledContainer({ className, children }: MapContainerProps): import("react").ReactElement<{
107
+ className: string;
108
+ }, string | import("react").JSXElementConstructor<any>>;
109
+ export function getMapPadding(ref: any, parentRef: any): {
110
+ left: number;
111
+ top: number;
112
+ right: number;
113
+ bottom: number;
114
+ };
115
+ export function useMapMarker(mapRef: any, markerRef: any, markerPosition: any): void;
116
+ export function MapResizeManager({ containerRef }: {
117
+ containerRef: any;
118
+ }): any;
119
+ interface MapPaddingManagerProps {
120
+ containerRef: React.RefObject<HTMLDivElement>;
121
+ parentRef: React.RefObject<HTMLDivElement>;
122
+ infoMarkerPosition: mapboxgl.LngLatLike;
123
+ }
124
+ export function MapPaddingManager({ containerRef, parentRef, infoMarkerPosition, }: MapPaddingManagerProps): any;
125
+ export function MapMovedReporter({ onMapMoved }: {
126
+ onMapMoved?: any;
127
+ }): any;
128
+ export function MapLoadingReporter({ ignoredSources, onMapLoading, onMapIdle, mapIsLoading, }: {
129
+ ignoredSources: any;
130
+ onMapLoading?: any;
131
+ onMapIdle?: any;
132
+ mapIsLoading: any;
133
+ }): any;
134
+ export function MapMarker({ position, setPosition, centerMarker }: {
135
+ position: any;
136
+ setPosition: any;
137
+ centerMarker?: boolean;
138
+ }): any;
139
+ type MapboxCoreOptions = Omit<mapboxgl.MapboxOptions, "container">;
140
+ export interface MapViewProps extends MapboxCoreOptions {
141
+ showLineSymbols?: boolean;
142
+ children?: React.ReactNode;
143
+ accessToken?: string;
144
+ terrainSourceID?: string;
145
+ enableTerrain?: boolean;
146
+ infoMarkerPosition?: mapboxgl.LngLatLike;
147
+ mapPosition?: MapPosition;
148
+ }
149
+ export function MapView(props: MapViewProps): import("react").ReactElement<{
150
+ ref: import("react").MutableRefObject<HTMLDivElement>;
151
+ }, string | import("react").JSXElementConstructor<any>>;
152
+ export function MapTerrainManager({ mapUse3D, terrainSourceID, }: {
153
+ mapUse3D?: boolean;
154
+ terrainSourceID?: string;
155
+ }): any;
156
+ type TileIndex = {
157
+ x: number;
158
+ y: number;
159
+ z: number;
160
+ };
161
+ export function TileExtentLayer({ tile, color, }: {
162
+ tile: TileIndex | null;
163
+ color?: string;
164
+ }): any;
165
+ export function ExpansionPanelSummary(props: any): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
166
+ export function InfoPanelSection(props: any): import("react").ReactElement<{
167
+ className: any;
168
+ }, string | import("react").JSXElementConstructor<any>>;
169
+ export function ExpansionPanel(props: any): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
170
+ export function SubExpansionPanel(props: any): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
171
+ export function ExpandableDetailsPanel(props: any): import("react").ReactElement<{
172
+ className: any;
173
+ }, string | import("react").JSXElementConstructor<any>>;
174
+ export function ExpansionBody({ title, className, children }: {
175
+ title: any;
176
+ className: any;
177
+ children: any;
178
+ }): import("react").ReactElement<{
179
+ className: any;
180
+ }, string | import("react").JSXElementConstructor<any>>;
181
+ export function FeatureRecord({ feature }: {
182
+ feature: any;
183
+ }): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
184
+ export function FeatureSelectionHandler({ selectedLocation, setFeatures, radius, }: {
185
+ selectedLocation: mapboxgl.LngLat;
186
+ setFeatures: (features: mapboxgl.MapboxGeoJSONFeature[]) => void;
187
+ radius?: number;
188
+ }): any;
189
+ export function TileInfo({ feature, showExtent, setShowExtent }: {
190
+ feature: any;
191
+ showExtent: any;
192
+ setShowExtent: any;
193
+ }): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
194
+ export function FeaturePanel({ features, focusedSource, focusedSourceTitle, }: {
195
+ features: any;
196
+ focusedSource?: any;
197
+ focusedSourceTitle?: any;
198
+ }): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
199
+ export enum MacrostratVectorTileset {
200
+ Carto = "carto",
201
+ CartoSlim = "carto-slim",
202
+ IGCPOrogens = "igcp-orogens"
203
+ }
204
+ export enum MacrostratRasterTileset {
205
+ Carto = "carto",
206
+ Emphasized = "emphasized"
207
+ }
208
+ export const h: import("@macrostrat/hyper").Hyper;
209
+ export function DevMapPage({ title, headerElement, transformRequest, mapPosition, mapboxToken, overlayStyle, children, style, focusedSource, focusedSourceTitle, projection, }: {
210
+ headerElement?: React.ReactElement;
211
+ transformRequest?: mapboxgl.TransformRequestFunction;
212
+ title?: string;
213
+ style: mapboxgl.Style | string;
214
+ children?: React.ReactNode;
215
+ mapboxToken?: string;
216
+ overlayStyle?: mapboxgl.Style | string;
217
+ focusedSource?: string;
218
+ focusedSourceTitle?: string;
219
+ projection?: string;
220
+ mapPosition?: MapPosition;
221
+ }): import("react").ReactElement<any, string | import("react").JSXElementConstructor<any>>;
222
+
223
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"mappings":"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","sources":["packages/map-interface/mapbox-utils/src/preprocess-styles.ts","packages/map-interface/mapbox-utils/src/position.ts","packages/map-interface/mapbox-utils/src/view-info.ts","packages/map-interface/mapbox-utils/src/labels.ts","packages/map-interface/mapbox-utils/src/index.ts","packages/map-interface/mapbox-react/src/context.ts","packages/map-interface/mapbox-react/src/hooks.ts","packages/map-interface/mapbox-react/src/controls.ts","packages/map-interface/mapbox-react/src/terrain.ts","packages/map-interface/mapbox-react/src/debugger.ts","packages/map-interface/mapbox-react/src/focus-state.ts","packages/map-interface/mapbox-react/src/index.ts","packages/map-interface/src/src/context-panel/index.ts","packages/map-interface/ui-components/src/api/types.ts","packages/map-interface/ui-components/src/util/query-string.ts","packages/map-interface/ui-components/src/util/state-hooks.ts","packages/map-interface/ui-components/src/util/layout-hooks.ts","packages/map-interface/ui-components/src/util/local-storage.ts","packages/map-interface/ui-components/src/dark-mode.ts","packages/map-interface/ui-components/src/util/json-view.ts","packages/map-interface/ui-components/src/util/scroll-helpers.ts","packages/map-interface/ui-components/src/util/migration-helpers.ts","packages/map-interface/ui-components/src/util/box-model.ts","packages/map-interface/ui-components/src/util/event-hooks.ts","packages/map-interface/ui-components/src/util/flexbox.ts","packages/map-interface/ui-components/src/util/index.ts","packages/map-interface/ui-components/src/api/provider.ts","packages/map-interface/ui-components/src/api/data-provider.ts","packages/map-interface/ui-components/src/api/indexing.ts","packages/map-interface/ui-components/src/api/frontend.ts","packages/map-interface/ui-components/src/api/paged.ts","packages/map-interface/ui-components/src/api/index.ts","packages/map-interface/ui-components/src/infinite-scroll.ts","packages/map-interface/ui-components/src/buttons/delete-button.ts","packages/map-interface/ui-components/src/buttons/index.ts","packages/map-interface/ui-components/src/collapse-panel/index.ts","packages/map-interface/ui-components/src/link-card.ts","packages/map-interface/ui-components/src/file-upload/index.ts","packages/map-interface/ui-components/src/image.ts","packages/map-interface/ui-components/src/model-editor.ts","packages/map-interface/ui-components/src/toaster.ts","packages/map-interface/ui-components/src/citations/author-list.ts","packages/map-interface/ui-components/src/citations/index.ts","packages/map-interface/ui-components/src/geodeepdive/reference-card.ts","packages/map-interface/ui-components/src/geodeepdive/index.ts","packages/map-interface/ui-components/src/text.ts","packages/map-interface/ui-components/src/form-controls/slider.ts","packages/map-interface/ui-components/src/form-controls/index.ts","packages/map-interface/ui-components/src/settings/index.ts","packages/map-interface/ui-components/src/error-boundary.ts","packages/map-interface/ui-components/src/patterns/composite-image.ts","packages/map-interface/ui-components/src/patterns/index.ts","packages/map-interface/ui-components/src/collapse-card.ts","packages/map-interface/ui-components/src/modal-panel/draggable-overlay.ts","packages/map-interface/ui-components/src/modal-panel/index.ts","packages/map-interface/ui-components/src/page-layouts/index.ts","packages/map-interface/ui-components/src/index.ts","packages/map-interface/src/src/location-info/utils.ts","packages/map-interface/src/src/location-info/index.ts","packages/map-interface/src/src/location-panel/header.ts","packages/map-interface/src/src/location-panel/index.ts","packages/map-interface/src/src/dev/xray.ts","packages/map-interface/src/src/controls.ts","packages/map-interface/src/src/container.ts","packages/map-interface/src/src/utils.ts","packages/map-interface/src/src/helpers.ts","packages/map-interface/src/src/map-view/terrain.ts","packages/map-interface/src/src/map-view/index.ts","packages/map-interface/src/src/dev/tile-extent.ts","packages/map-interface/src/src/expansion-panel/headers.ts","packages/map-interface/src/src/expansion-panel/index.ts","packages/map-interface/src/src/dev/vector-tile-features.ts","packages/map-interface/src/src/dev/map-page.ts","packages/map-interface/src/src/dev/index.ts","packages/map-interface/src/src/index.ts","packages/map-interface/src/index.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"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":[],"version":3,"file":"types.d.ts.map"}
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@macrostrat/map-interface",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "description": "Map interface for Macrostrat",
5
- "type": "module",
6
5
  "source": "src/index.ts",
7
- "main": "dist/index.js",
6
+ "types": "dist/types.d.ts",
7
+ "module": "dist/module.js",
8
8
  "dependencies": {
9
9
  "@macrostrat/hyper": "^2.2.1",
10
- "@macrostrat/mapbox-react": "^2.0.1",
11
- "@macrostrat/mapbox-utils": "^1.2.0",
12
- "@macrostrat/ui-components": "^3.0.0-b9",
10
+ "@macrostrat/mapbox-react": "^2.0.2",
11
+ "@macrostrat/mapbox-utils": "^1.2.1",
12
+ "@macrostrat/ui-components": "^3.0.0-b10",
13
13
  "@mapbox/tilebelt": "^1.0.2",
14
14
  "@turf/bbox": "^6.5.0",
15
15
  "chroma-js": "^2.4.2",
@@ -23,7 +23,8 @@
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@blueprintjs/core": "^3.43.0 || ^4.3.0",
26
- "react": "^16.8.6||^17.0.0||^18.0.0"
26
+ "react": "^16.8.6||^17.0.0||^18.0.0",
27
+ "react-dom": "^16.8.6||^17.0.0||^18.0.0"
27
28
  },
28
29
  "scripts": {
29
30
  "dev": "parcel watch",
@@ -1 +0,0 @@
1
- {"mappings":"AAAA;;;;;;;AAKE;;;;;AAGA;;;;;;;;;;AAQE;;;;;AAGA;;;;AAEE;;;;AAGN;;;;;;AAOA;EACE;;;;;;;AChCF;;;;;AAKE;;;;AAIF;;;;AAGA;;;;;;;ACZA;;;;AAEE;;;;AAGF;;;;;;;;;AAOE;;;;AAEA;;;;AAGA;;;;AAGF;;;;AAEE;;;;;AAIF;;;;;;;;;;AAQE;;;;AAIE;;;;;AAIJ;;;;;;;;AAQA;EACE;;;;;ACnDF;;;;AAIA;;;;;AAKA;;;;;AAKA;;;;ACbE;;;;AAGF;;;;;;AAIE;;;;;;AAIA;;;;ACTF;;;;;;;;;;AASE;;;;;;AAIE;;;;;;AASF;;;;AAIF;;;;AAGA;;;;;AAIA;;;;;;;;;AAQA;;;;AAGA;;;;;;AAKE;;;;AAGE;;;;;AAIJ;;;;;;AAIE;;;;AAGF;;;;;;;AAMA;;;;;;;AAQE;;;;AAGF;;;;AAGA;;;;;;;;ACtFA;;;;;;;;;;AASA;;;;AAGA;;;;;;;;;AAOE;;;;;;;;AAOE;;;;;AAGA;;;;;AC7BJ;;;;;A;;;;;A;;;;;A;;;;A;;;;A;;;;AAgBE;;;;;;;AAKE;;;;;AAGF;;;;;;;;AAMA;;;;A;;;;;;;AAOA;;;;AAGA;;;;AAEE;;;;;AAGF;;;;;;A;;;;;AASE;;;;ACrDJ;;;;;;;;;;;;;;AAYE;;;;;;AAIA;;;;AAEA;;;;A;;;;;;A;;;;;AAgBA;;;;AAGI;;;;;AAGF;;;;;AAIA;;;;AAEE;;;;;;;;;AAOA;;;;AAIJ;;;;A;;;;A;;;;A;;;;A;;;;;A;;;;AAcE;;;;;A;;;;AAKF;;;;;AAIA;;;;AAGA;;;;;;;;A;;;;;;;AAaA;;;;AAEF;;;;AAGE;;;;A;;;;A;;;;AAQE;;;;;;;;;;;AASE;;;;;;;;AAOJ;;;;AAGA;;;;ACjIF;;;;;;;;AAME;;;;;;AAOA;;;;AAGE;;;;AAGF;;;;AAEA;;;;AAEA;;;;AAKE;;;;AAEF;;;;A;;;;;;;;;;A;;;;;AAcA;;;;AAGE;;;;AAEJ;;;;;;AAIE;;;;A;;;;A;;;;A;;;;;A;;;;AAeA;;;;AAGA;;;;;AAGF;;;;;;AAIE;;;;A;;;;AAKA;;;;;;;A;;;;;;;AASF;;;;AAIE;;;;;;AAIA;;;;;AAIA;;;;A;;;;;;;AASA;;;;;;AAIF;;;;;AAGA;;;;AAIE;;;;;;AAIA;;;;A;;;;AAKA;;;;;A;;;;AAQA;;;;AAGA;;;;;AAIE;;;;;AAGF;;;;AAGA;;;;A;;;;AAKA;;;;AAEF;;;;A;;;;AAKE;;;;AAEF;;;;A;;;;AAKE;;;;AAEF;;;;A;;;;A;;;;AAOE;;;;AAEF;;;;;AAGA;;;;;;;;A;;;;A;;;;;;;AAYA;;;;A;;;;;;;;AASA;;;;;;;;;AAQE;;;;AAIA;;;;;;A;;;;;;AAUA;EACA;;;;;;E;;;;;;EASA;;;;EAGA;;;;E;;;;EAGF;;;;;;EAOE;;;;;AAGF;EAGE;;;;;;EAIA;;;;EAGA;;;;EAGE;;;;EAEJ;;;;;;;;E;;;;;EAWI;;;;;EAKF;;;;EAGA;;;;;;;EAME;;;;;E;;;;;EASA;;;;EAGA;;;;EAGI;;;;;A;;;;AAOJ;;;;AAGA;;;;AAGE;;;;AAGJ;;;;AAGE;;;;AAGA;;;;AAGA;;;;AAGA;E;;;;EAIA;;;;;EAGF;;;;;EAKA;;;;E;;;;;E;;;;;;AAWF;EACE;;;;EAEF;;;;E;;;;;AC7WA;;;;;;AAOA;EAIE","sources":["packages/map-interface/src/context-panel/main.module.sass","packages/mapbox-react/src/main.module.scss","packages/map-interface/src/location-panel/main.module.sass","packages/ui-components/src/util/main.module.scss","packages/ui-components/src/form-controls/main.module.sass","packages/ui-components/src/modal-panel/main.module.sass","packages/ui-components/src/page-layouts/main.module.sass","packages/map-interface/src/dev/main.module.sass","packages/map-interface/src/expansion-panel/main.module.sass","packages/map-interface/src/main.module.sass","packages/map-interface/src/map-view/main.module.sass"],"sourcesContent":[".searchbar-holder\n transition: margin 300ms\n display: flex\n flex-direction: column\n margin: 0\n .navbar-holder\n display: flex\n flex-direction: row\n .searchbar\n width: 100%\n background-color: var(--panel-background-color)\n border-radius: 3px\n padding: 0 5px\n display: flex\n flex-direction: row\n align-items: center\n :global(.bp4-input-group)\n flex-grow: 1\n cursor: text\n &>*\n margin-right: 5px\n &:last-child\n margin-right: 0\n\n.status-tongue\n background-color: var(--panel-background-color)\n margin: 5px\n margin-top: -12px\n padding: 0\n padding-top: 12px\n\n@media screen and (max-width: 768px)\n .status-tongue\n max-width: 100vw\n margin: 0\n border-radius: 0\n margin-top: -3px\n",".recenter-button :global(.bp4-icon):first-child {\n margin-left: -3px;\n margin-right: -3px;\n}\n.recenter-button.off-center {\n .recenter-label {\n display: none;\n }\n}\n.recenter-button.out-of-padding .recenter-label {\n opacity: 0.5;\n}\n.recenter-label {\n display: inline-block;\n padding-left: 1em;\n font-style: italic;\n font-size: 12px;\n}\n",".copy-link-button:global(.bp4-minimal.bp4-button)\n color: var(--text-subtle-color)\n svg\n fill: var(--text-subtle-color)\n\n.location-panel-header\n padding: 5px\n display: flex\n flex-direction: row\n align-items: center\n gap: 1em\n border-bottom: 1px solid var(--panel-rule-color)\n .spacer\n flex-grow: 1\n .left-icon\n padding: 7px\n\n .position-controls :global(.bp4-button)\n font-size: 12px !important\n\n.infodrawer-header-item\n font-size: 12px\n :global(.secondary)\n font-size: 0.9em\n color: var(--text-subtle-color)\n\n.infodrawer\n pointer-events: all\n max-height: 100%\n max-width: 100%\n height: fit-content\n display: flex\n flex-direction: column\n overflow: hidden\n &:global(.bp4-card)\n padding: 0\n\n &.loading\n .infodrawer-body\n overflow-y: hidden\n min-height: 70px\n\n.infodrawer-body\n flex-shrink: 1\n min-height: 0\n transition: min-height 0.5s ease\n overflow-y: scroll\n position: relative\n\n// TODO: remove this when we have a better way to handle card media queries\n@media screen and (max-width: 768px)\n .infodrawer\n border-radius: var(--panel-border-radius, 0px)\n",".json-view-container.root-hidden {\n padding-left: 0.8em;\n}\n\n.flex-row {\n display: flex;\n flex-direction: row;\n}\n\n.flex-col {\n display: flex;\n flex-direction: column;\n}\n\n.flex-spacer {\n flex: 1;\n}\n",".mui-slider-disabled\n .bp4-slider-handle\n display: none\n\n.nullable-slider\n display: flex\n flex-direction: row\n align-items: center\n .bp4-slider\n flex-grow: 1\n margin-right: 1em\n margin-left: 1em\n .controls\n margin-top: -22px\n","\n$c1: rgb(16, 22, 26)\n\n.panel-header\n background-color: var(--panel-secondary-background-color, #eee)\n display: flex\n flex-direction: row\n justify-content: space-between\n align-items: center\n padding: 0.2em 0.6em\n border-bottom: 1px solid var(--panel-rule-color, #ddd)\n\n h1\n margin-bottom: 0.2em\n margin-top: 0.2em\n font-size: var(--panel-header-font-size, 1.2em)\n &.overflow-hidden\n white-space: nowrap\n overflow: hidden\n text-overflow: ellipsis\n\n // \\:global(.bp4-button)\n // align-self: center\n\n:global(.bp4-dark)\n .panel, .content-panel\n $c2: rgb(255, 255, 255)\n box-shadow: 0 0 0 1px rgba($c2, 0.2), 0 0 0 rgba($c2, 0), 0 1px 1px rgba($c2, 0.4)\n\n.expander\n flex-grow: 1\n\n.panel-column\n flex-grow: 1\n position: relative\n\n.panel,.content-panel\n overflow: hidden\n box-shadow: 0 0 0 1px rgba($c1, 0.2), 0 0 0 rgba($c1, 0), 0 1px 1px rgba($c1, 0.4)\n border-radius: 6px\n background-color: var(--panel-background-color, #fff)\n display: flex\n flex-direction: column\n\n.content-panel\n padding: 0.5em\n\n.panel\n flex-shrink: 1\n height: 100%\n max-height: 100vh\n\n &.minimal\n border-radius: 0\n //box-shadow: none\n .panel-content\n padding: 0\n border-radius: 0\n\n.panel-content\n overflow-y: scroll\n padding: 1em\n flex: 1\n &>:last-child\n margin-bottom: 1em\n\n.panel-outer\n display: flex\n flex-direction: column\n position: relative\n max-height: 100%\n\n.panel-container-inner\n position: absolute\n top: 2em\n bottom: 2em\n left: 1em\n right: 1em\n display: flex\n flex-direction: column\n .expander\n flex: 1\n\n.extra-space\n width: 1em\n\n.panel-container\n position: sticky\n height: 100vh\n top: 0\n display: flex\n flex-direction: column\n",".user-interface\n position: absolute\n width: 100%\n height: 100%\n top: 0\n display: flex\n flex-direction: column\n overflow: hidden\n\n.spacer\n width: 1em\n\n.three-column\n display: flex\n flex: 1\n flex-direction: row\n position: relative\n height: 100%\n overflow: hidden\n &>div\n min-width: 50px\n height: 100%\n //max-width: 50%\n position: relative\n overflow-y: scroll\n flex-shrink: 1\n &.main-column\n flex-grow: 1\n max-width: 100%\n &.context-column.expanded\n flex-grow: 2\n max-width: 100%",".feature-panel\n position: relative\n overflow-x: hidden\n\n.key-value\n display: inline-block\n margin-right: 1em\n .key\n font-weight: bold\n font-size: 0.9em\n &:after\n content: ': '\n .value\n font-size: 0.9em\n\n.feature-properties\n position: relative\n &:before\n content: \"–\"\n position: absolute\n top: 4px\n left: 0\n\n.feature-header h3\n margin-bottom: 0\n margin-top: 0.5em\n\n.feature-group\n border-bottom: 1px solid var(--panel-rule-inner)\n padding: 0 1em\n margin-left: -1em\n margin-right: -1em\n margin-bottom: 0.5em\n &:last-child\n border-bottom: none\n\n.tile-info\n display: flex\n flex-direction: row\n align-items: baseline\n padding: 0 1em\n h3\n margin-right: 0.5em\n\n.opacity-slider\n margin: 0 1em 0.5em\n :global\n .bp4-slider-handle .bp4-slider-label\n background-color: var(--secondary-color)\n color: var(--text-color)\n\n.unit-number\n .unit\n font-size: 0.9em\n margin-left: 0.2em\n font-weight: bold\n\n.page\n margin: 2em auto\n max-width: 50em\n\n.dev-index-page\n overflow-y: scroll\n","\n.panel-subhead\n padding: 0.2em var(--box-horizontal-padding)\n border-top: 1px solid var(--accent-border-color)\n border-bottom: 1px solid var(--accent-border-color)\n background-color: var(--accent-color)\n display: flex\n flex-direction: row\n align-items: center\n z-index: 1\n gap: var(--box-horizontal-padding)\n top: 0px\n position: sticky\n h1, h2, h3, h4\n font-family: Montserrat,sans-serif\n font-weight: 700\n margin: 0.2em 0\n h4\n font-weight: 600\n .title\n flex-grow: 1\n\n// :global(.bp4-dark) .panel-subhead\n// margin 0 1px\n\n.expansion-panel\n padding: 0\n flex-wrap: wrap\n margin-top: -1px\n // &.collapsed\n // .expansion-panel-header\n // border-bottom-width: 0;\n\n.sub-expansion-panel\n margin: -1px calc(var(--panel-padding-h) * -0.5) 0\n overflow: hidden\n &:first-child\n .expansion-panel-header\n border-top-width: 0\n .panel-subhead\n border-top: none\n border-bottom: none\n\n .expansion-panel-header\n background-color: var(--accent-secondary-color)\n cursor: pointer\n &:hover\n background-color: var(--accent-secondary-hover-color)\n h2, h3, h4\n font-weight: 500\n border-bottom: 1px solid var(--tertiary-border-color)\n border-top: 1px solid var(--tertiary-border-color)\n margin-top: -1px\n padding: 5px 1em 5px\n align-items: center\n\n.expansion-summary-title-help\n margin-left: 5px\n :global(.bp4-icon)\n margin-left: 5px\n\n.expansion-panel-header\n cursor: pointer\n &:hover\n background-color: var(--accent-hover-color)\n :global(.bp4-icon)\n transform: translate(0,3px)\n\n.expansion-children\n padding: 5px 1em 10px\n .expansion-panel\n margin-left: -1em\n margin-right: -1em\n &:first-child\n margin-top: -5px\n\n.expansion-panel-subtext\n font-size: 85%\n font-weight: 400\n\n:global\n .expansion-panel-root\n padding-left: 15px !important\n\n .expansion-panel-detail\n display: block !important\n padding: 0 !important\n\n .expansion-panel-detail-sub\n display: block !important\n\n// New expandable panel for details\n.expandable-details-main\n display: flex\n flex-direction: row\n align-items: center\n justify-content: space-between\n margin: 3px 0\n\n.expandable-details-header\n display: inline-flex\n flex-direction: row\n align-items: baseline\n flex-grow: 1\n\n.expandable-details-children\n position: relative\n\n.expandable-details-toggle\n :global(.bp4-button)\n font-size: 10px\n\n.expandable-details\n &.macrostrat-unit\n .title:after\n content: none\n .title\n margin-right: 1em\n &:after\n content: \":\"\n\n.expansion-body\n display: inline-block\n //flex-direction row\n align-items: baseline\n background-color: var(--tertiary-background)\n padding: 2px 6px\n border-radius: 4px\n width: 100%\n box-shadow: 0px 1px 2px 1px rgba(0,0,0,0.2)\n margin-bottom: 6px\n\n.expansion-panel-detail-header\n font-size: 90%\n font-style: italic\n margin-right: 1em\n display: inline\n color: var(--secondary-color)\n &:after\n content: \":\"\n\n.expansion-panel-detail-body\n display: inline\n",".map-page\n display: flex\n flex-direction: column\n position: relative\n width: 100%\n height: 100%\n &.fit-viewport\n height: 100vh\n width: 100vw\n /* mobile viewport bug fix */\n max-height: -webkit-fill-available\n\n // Compass display\n .compass-control\n display: none\n &.map-is-rotated\n .compass-control\n display: block\n\n .map-3d-control\n display: none\n &.map-3d-available .map-3d-control\n display: block\n &.map-is-rotated.map-3d-available .map-3d-control\n display: none\n\n .globe-control\n display: none\n svg\n color: var(--secondary-color)\n &.map-is-global .globe-control\n display: block\n\n.main-ui\n flex: 1\n position: relative\n display: flex\n flex-direction: column\n max-height: 100%\n height: 100%\n box-shadow: 0 0 10px 4px var(--card-shadow-color)\n\n.panel-card\n padding: 10px\n background-color: var(--panel-background-color)\n\n & >:last-child\n margin-bottom: 0\n\n:global(.bp4-dark) .panel-card\n background-color: var(--panel-background-color)\n\n.context-stack\n display: flex\n flex-direction: column\n max-height: 100%\n\n &>div\n flex-shrink: 1\n\n &>.searchbar\n flex: 0\n\n.context-stack,\n.detail-stack\n z-index: 100\n\n.panel-container\n display: flex\n flex-direction: column\n\n &>div\n pointer-events: all\n\n.panel-title\n font-size: 16px\n\n.spacer\n flex-grow: 1\n pointer-events: none\n\n.map-view-container\n flex-grow: 1\n position: relative\n overflow: hidden\n\n.searchbar-holder\n margin-bottom: 0.5em\n\n.right-panel\n width: 24em\n\n.buttons\n display: flex\n flex-direction: row\n flex: 1\n min-width: 0\n\n.tab-button\n flex-shrink: 1\n min-width: 40px\n overflow: hidden\n text-align: right\n\n & :global(.bp4-button-text)\n transition: all 0.2s\n transition-delay: 0.1s\n\n .menu-card.narrow-card .panel-header:not(.minimal) &:global(.bp4-active) ~ & :global(.bp4-button-text)\n width: 0\n opacity: 0\n margin-left: -7px\n\n .context-panel-leave .menu-card .panel-header & :global(.bp4-button-text)\n opacity: 0\n width: 0\n\n.narrow-card.narrow-enter .panel-header .buttons\n margin-right: -500px\n\n.panel-header.minimal .tab-button:not(:hover):not(:global(.bp4-active))\n padding-left: 0\n padding-right: 0\n min-width: 30px\n width: 30px\n\n.panel-header.minimal .tab-button:not(:hover) :global(.bp4-button-text)\n width: 0\n opacity: 0\n margin-left: -7px\n\n.menu-group\n margin-bottom: 0.5em\n margin-top: 0.2em\n\n.menu-card :global .bp4-text ul,\n.menu-card :global .text-panel ul\n padding-left: 1em\n\n.menu-content\n display: flex\n flex-direction: column\n margin-bottom: -8px\n\n & .bp4-button-group\n margin-bottom: 4px\n\n & hr\n width: 100%\n\n:global #map\n position: absolute\n top: 0\n bottom: 0\n left: 0\n right: 0\n\n:global #map .mapbox-compass,\n:global #map .mapbox-3d\n display: none\n\n:global .mapboxgl-ctrl.mapbox-3d.mapbox-control\n width: unset\n\n:global .mapboxgl-ctrl.mapbox-3d.mapbox-control button\n width: unset\n padding-inline: 4px\n\n:global .mapboxgl-canvas-container\n width: 100%\n height: 100%\n\n:global .mapboxgl-ctrl.mapboxgl-ctrl-attrib\n background-color: var(--translucent-panel-background-color) !important\n\n:global .mapboxgl-ctrl.mapboxgl-ctrl-attrib a\n color: var(--text-color)\n\n:global .mapboxgl-marker svg path\n fill: var(--panel-background-color) !important\n\n:global .mapboxgl-marker svg circle\n fill: var(--secondary-color) !important\n\n:global .mapbox-control.mapbox-zoom\n background: var(--translucent-panel-background-inner)\n\n:global .mapbox-control.mapbox-zoom svg\n fill: var(--text-color) !important\n\n:global .mapboxgl-ctrl-logo\n transform: scale(0.9) translate(-8px, 2px)\n\n:global .bp4-dark .mapboxgl-ctrl-logo\n filter: invert(100%)\n\n:global .mapboxgl-ctrl-group button + button\n border-top: 1px solid var(--panel-rule-color) !important\n\n:global .bp4-dark .mapboxgl-ctrl-group .mapboxgl-ctrl-icon\n filter: invert(40%)\n\n:global .bp4-dark .mapboxgl-ctrl-group .mapboxgl-ctrl-icon:hover\n filter: invert(50%)\n\n:global .mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon\n filter: invert(40%)\n\n:global .mapboxgl-ctrl-geolocate .mapboxgl-ctrl-icon:hover\n filter: invert(50%)\n\n.detail-stack\n position: relative\n\n.main-ui.detail-panel-open .zoom-control\n opacity: 0\n display: none\n\n.zoom-control\n transition: opacity 1s ease-in-out\n width: 30px\n position: absolute\n top: 0\n right: 0\n\n.main-ui.searching .map-view-container\n pointer-events: none\n\n.map-controls\n display: flex\n flex-direction: row\n justify-content: right\n margin-bottom: 0\n\n &>*\n margin-left: 0.5em\n\n.map-controls :global(.mapbox-control),\n.map-controls :global(.map-control-wrapper),\n.map-controls .map-control\n min-width: 22px\n min-height: 22px\n border-radius: 4px\n background-color: var(--panel-background-color)\n box-shadow: 0 0 0 1px var(--card-shadow-color)\n\n.map-controls :global(.mapbox-control) button,\n.map-controls :global(.map-control-wrapper) button,\n.map-controls .map-control button\n width: 22px\n height: 22px\n background-position: center center\n padding: 0\n background-color: var(--panel-background-color)\n color: var(--text-color)\n\n.map-controls :global(.mapbox-control) button:hover,\n.map-controls :global(.map-control-wrapper) button:hover,\n.map-controls .map-control button:hover\n background-color: var(--panel-background-color) !important\n\n.map-controls .map-scale-control\n background: none\n box-shadow: none\n padding-top: 8px\n\n :global(.mapboxgl-ctrl-scale)\n background-color: var(--translucent-panel-background-color)\n border-color: var(--secondary-text-color)\n color: var(--secondary-text-color)\n\n/* For mobile phones, we want to make the most of screen space,\n which in some cases means adding complications to the basic page. */\n@media only screen and (max-width: 768px)\n .main-ui.detail-panel-enter .context-stack\n height: 0\n visibility: hidden\n transition: height 0.5s ease-in-out\n\n .detail-stack\n height: fit-content\n position: inherit\n max-height: 70%\n\n .infodrawer-stack\n max-height: 70%\n\n :global(.exit-active)\n max-height: 0\n\n :global(.mapbox-control.mapbox-zoom)\n display: none\n\n .map-controls\n position: absolute\n top: -60px\n right: 10px\n\n .detail-panel\n border-radius: 0px\n\n/* Desktop styling is necessarily much more complicated than mobile\n to handle a two-column layout. */\n@media screen and (min-width: 768px)\n .main-ui\n flex-direction: row\n padding: 1em 1em 2em\n min-height: 80px\n &>*\n margin-right: 0.5em\n &>*:last-child\n margin-right: 0\n\n &.searching .context-stack\n width: 24em\n\n .context-stack\n max-width: 34em\n min-width: 14em\n width: 16em\n transition: width 300ms ease\n padding-bottom: 0.5em\n\n &.panel-open\n width: 34em\n margin-right: 0.5em\n\n .context-stack.layers,\n .context-stack.settings\n width: 18em\n margin-right: 0.5em\n\n .main-ui.detail-panel-open .detail-stack\n width: 30em\n\n .detail-stack\n width: 30em\n pointer-events: none\n display: flex\n flex-direction: column\n\n .context-stack,\n .detail-stack\n pointer-events: none\n z-index: 100\n\n .context-stack>div,\n .detail-stack>div\n pointer-events: all\n margin-bottom: 0.5em\n\n .context-stack>div:last-child,\n .detail-stack>div:last-child\n margin-bottom: 0\n\n .context-stack>div.spacer,\n .detail-stack>div.spacer\n pointer-events: none\n\n .map-view-container\n position: unset\n\n.main-ui .detail-panel\n transition: opacity 0.8s ease, height 0.8s ease, max-height 0.8s ease\n\n.main-ui.detail-panel-from .detail-panel\n opacity: 0\n\n.main-ui.detail-panel-enter .detail-panel\n opacity: 1\n\n.main-ui.detail-panel-leave .detail-panel\n opacity: 0\n\n.main-ui .context-panel\n transition: opacity 0.8s ease, height 0.8s ease, max-height 0.8s ease\n\n.main-ui.context-panel-from .context-panel\n opacity: 0\n\n.main-ui.context-panel-enter .context-panel\n opacity: 1\n\n.main-ui.context-panel-leave .context-panel\n opacity: 0\n\n@media only screen and (max-width: 768px)\n .main-ui .detail-stack\n transition: opacity 0.8s ease, height 0.8s ease, max-height 0.8s ease\n\n .main-ui.detail-panel-from .detail-stack\n max-height: 0\n height: 0\n\n .main-ui.detail-panel-leave .detail-stack\n max-height: 0\n max-height: 0\n\n .main-ui .context-panel\n transition: opacity 0.8s ease, height 0.8s ease, max-height 0.8s ease\n\n .main-ui.context-panel-from .context-panel\n max-height: 0\n height: 0\n\n .main-ui.context-panel-leave .context-panel\n max-height: 0\n max-height: 0\n\n// Shift UI around to center elements if we're in the global view \n@media only screen and (min-width: 768px)\n .map-page .main-ui.detail-panel-leave .map-view-container\n margin-right: -14em\n\n .map-page.map-is-global .main-ui.detail-panel-leave .map-view-container\n margin-right: -30em\n\n .map-page.map-is-global .main-ui.context-panel-leave .map-view-container\n margin-left: -16em\n",".map-view-container\n flex-grow: 1\n position: relative\n overflow: hidden\n\n/* Desktop styling is necessarily much more complicated than mobile\n to handle a two-column layout. */\n@media screen and (min-width: 768px)\n /* Make map fill page rather than containing div,\n by unsetting map position */\n // We should move this to another file.\n .map-view-container\n position: unset\n"],"names":[],"version":3,"file":"index.css.map"}