@deck.gl-community/basemap-layers 9.3.0-beta.2

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.
Files changed (62) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +14 -0
  3. package/dist/atmosphere-layer.d.ts +11 -0
  4. package/dist/atmosphere-layer.d.ts.map +1 -0
  5. package/dist/atmosphere-layer.js +15 -0
  6. package/dist/atmosphere-layer.js.map +1 -0
  7. package/dist/basemap-layer.d.ts +67 -0
  8. package/dist/basemap-layer.d.ts.map +1 -0
  9. package/dist/basemap-layer.js +115 -0
  10. package/dist/basemap-layer.js.map +1 -0
  11. package/dist/globe-layers.d.ts +22 -0
  12. package/dist/globe-layers.d.ts.map +1 -0
  13. package/dist/globe-layers.js +451 -0
  14. package/dist/globe-layers.js.map +1 -0
  15. package/dist/index.cjs +947 -0
  16. package/dist/index.cjs.map +7 -0
  17. package/dist/index.d.ts +4 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +4 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/map-style-loader.d.ts +49 -0
  22. package/dist/map-style-loader.d.ts.map +1 -0
  23. package/dist/map-style-loader.js +35 -0
  24. package/dist/map-style-loader.js.map +1 -0
  25. package/dist/map-style-schema.d.ts +71 -0
  26. package/dist/map-style-schema.d.ts.map +1 -0
  27. package/dist/map-style-schema.js +45 -0
  28. package/dist/map-style-schema.js.map +1 -0
  29. package/dist/map-style.cjs +250 -0
  30. package/dist/map-style.cjs.map +7 -0
  31. package/dist/map-style.d.ts +7 -0
  32. package/dist/map-style.d.ts.map +1 -0
  33. package/dist/map-style.js +6 -0
  34. package/dist/map-style.js.map +1 -0
  35. package/dist/mapbox-style.d.ts +41 -0
  36. package/dist/mapbox-style.d.ts.map +1 -0
  37. package/dist/mapbox-style.js +113 -0
  38. package/dist/mapbox-style.js.map +1 -0
  39. package/dist/mvt-label-layer.d.ts +8142 -0
  40. package/dist/mvt-label-layer.d.ts.map +1 -0
  41. package/dist/mvt-label-layer.js +175 -0
  42. package/dist/mvt-label-layer.js.map +1 -0
  43. package/dist/style-resolver.d.ts +88 -0
  44. package/dist/style-resolver.d.ts.map +1 -0
  45. package/dist/style-resolver.js +63 -0
  46. package/dist/style-resolver.js.map +1 -0
  47. package/dist/util.d.ts +21 -0
  48. package/dist/util.d.ts.map +1 -0
  49. package/dist/util.js +18 -0
  50. package/dist/util.js.map +1 -0
  51. package/package.json +60 -0
  52. package/src/atmosphere-layer.ts +15 -0
  53. package/src/basemap-layer.ts +183 -0
  54. package/src/globe-layers.ts +780 -0
  55. package/src/index.ts +3 -0
  56. package/src/map-style-loader.ts +52 -0
  57. package/src/map-style-schema.ts +54 -0
  58. package/src/map-style.ts +18 -0
  59. package/src/mapbox-style.ts +196 -0
  60. package/src/mvt-label-layer.ts +269 -0
  61. package/src/style-resolver.ts +173 -0
  62. package/src/util.ts +38 -0
package/LICENSE ADDED
@@ -0,0 +1,19 @@
1
+ Copyright (c) 2020 vis.gl a Series of LF Projects, LLC
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining a copy
4
+ of this software and associated documentation files (the "Software"), to deal
5
+ in the Software without restriction, including without limitation the rights
6
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
7
+ copies of the Software, and to permit persons to whom the Software is
8
+ furnished to do so, subject to the following conditions:
9
+
10
+ The above copyright notice and this permission notice shall be included in
11
+ all copies or substantial portions of the Software.
12
+
13
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
14
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
15
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
16
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
17
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
18
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
19
+ THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,14 @@
1
+ # basemap-layers
2
+
3
+ [![NPM Version](https://img.shields.io/npm/v/@deck.gl-community/basemap-layers.svg)](https://www.npmjs.com/package/@deck.gl-community/basemap-layers)
4
+ [![NPM Downloads](https://img.shields.io/npm/dw/@deck.gl-community/basemap-layers.svg)](https://www.npmjs.com/package/@deck.gl-community/basemap-layers)
5
+
6
+ > _This is a work in progress_.
7
+
8
+ An implementation of a subset of the [Mapbox Style
9
+ Specification][mapbox_style_spec] with the intention of visualizing it using deck.gl.
10
+
11
+ The runtime API is exported from `@deck.gl-community/basemap-layers`, and the map-style
12
+ helpers are exported from `@deck.gl-community/basemap-layers/map-style`.
13
+
14
+ For more information, see the online documentation.
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Returns the top-of-globe atmosphere overlay layer when atmosphere rendering
3
+ * is enabled.
4
+ */
5
+ export declare function getGlobeAtmosphereLayer(): any;
6
+ /**
7
+ * Returns the background sky layer rendered behind the globe when atmosphere
8
+ * rendering is enabled.
9
+ */
10
+ export declare function getGlobeAtmosphereSkyLayer(): any;
11
+ //# sourceMappingURL=atmosphere-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atmosphere-layer.d.ts","sourceRoot":"","sources":["../src/atmosphere-layer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,uBAAuB,QAEtC;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,QAEzC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Returns the top-of-globe atmosphere overlay layer when atmosphere rendering
3
+ * is enabled.
4
+ */
5
+ export function getGlobeAtmosphereLayer() {
6
+ return null;
7
+ }
8
+ /**
9
+ * Returns the background sky layer rendered behind the globe when atmosphere
10
+ * rendering is enabled.
11
+ */
12
+ export function getGlobeAtmosphereSkyLayer() {
13
+ return null;
14
+ }
15
+ //# sourceMappingURL=atmosphere-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"atmosphere-layer.js","sourceRoot":"","sources":["../src/atmosphere-layer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,UAAU,uBAAuB;IACrC,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B;IACxC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { CompositeLayer, type DefaultProps, type UpdateParameters } from '@deck.gl/core';
2
+ import type { BasemapStyle, ResolvedBasemapStyle } from "./style-resolver.js";
3
+ /**
4
+ * Globe-related runtime toggles used by {@link BasemapLayer}.
5
+ */
6
+ export type BasemapGlobeConfig = {
7
+ /** Renders the atmosphere overlays returned by the globe helpers when available. */
8
+ atmosphere?: boolean;
9
+ /** Renders the main globe basemap content when `true`. */
10
+ basemap?: boolean;
11
+ /** Enables symbol-label rendering on the globe path when `true`. */
12
+ labels?: boolean;
13
+ };
14
+ /**
15
+ * Props accepted by {@link BasemapLayer}.
16
+ */
17
+ export type BasemapLayerProps = {
18
+ /** Optional deck.gl layer identifier. */
19
+ id?: string;
20
+ /** MapLibre or Mapbox style JSON, or a URL that resolves to one. */
21
+ style: string | BasemapStyle | null;
22
+ /** Load options forwarded to {@link resolveBasemapStyle}. */
23
+ loadOptions?: Record<string, unknown> | null;
24
+ /** Selects whether deck layers are generated for a flat map or a globe. */
25
+ mode?: 'map' | 'globe';
26
+ /** Optional globe-specific configuration used when `mode` is `'globe'`. */
27
+ globe?: {
28
+ /** Rendering toggles for globe-specific basemap behavior. */
29
+ config?: BasemapGlobeConfig;
30
+ };
31
+ };
32
+ /**
33
+ * Internal state tracked by {@link BasemapLayer}.
34
+ */
35
+ type BasemapLayerState = {
36
+ /** The fully resolved style definition currently backing the generated sublayers. */
37
+ resolvedStyle: ResolvedBasemapStyle | null;
38
+ /** The most recent style-resolution error, if one occurred. */
39
+ loadError: Error | null;
40
+ /** Monotonic token used to discard stale async style loads. */
41
+ loadToken: number;
42
+ };
43
+ /**
44
+ * A deck.gl {@link CompositeLayer} that loads a style document and renders the
45
+ * corresponding basemap sublayers.
46
+ */
47
+ export declare class BasemapLayer extends CompositeLayer<Required<BasemapLayerProps>> {
48
+ /** Deck.gl layer name. */
49
+ static layerName: string;
50
+ /** Default props for {@link BasemapLayer}. */
51
+ static defaultProps: DefaultProps<BasemapLayerProps>;
52
+ /** Current layer state. */
53
+ state: BasemapLayerState;
54
+ /** Initializes the asynchronous style-loading state. */
55
+ initializeState(): void;
56
+ /** Reacts to changes in the input style definition. */
57
+ updateState({ props, oldProps, changeFlags }: UpdateParameters<this>): void;
58
+ /**
59
+ * Resolves the configured style input and stores the latest successful result
60
+ * in layer state.
61
+ */
62
+ loadStyle(style: BasemapLayerProps['style'], loadOptions: BasemapLayerProps['loadOptions']): void;
63
+ /** Renders the sublayers generated from the resolved style definition. */
64
+ renderLayers(): any[];
65
+ }
66
+ export {};
67
+ //# sourceMappingURL=basemap-layer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basemap-layer.d.ts","sourceRoot":"","sources":["../src/basemap-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAO,KAAK,YAAY,EAAE,KAAK,gBAAgB,EAAC,MAAM,eAAe,CAAC;AAI5F,OAAO,KAAK,EAAC,YAAY,EAAE,oBAAoB,EAAC,4BAAyB;AAwBzE;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,oFAAoF;IACpF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,oEAAoE;IACpE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,yCAAyC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,KAAK,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAAC;IACpC,6DAA6D;IAC7D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;IAC7C,2EAA2E;IAC3E,IAAI,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC;IACvB,2EAA2E;IAC3E,KAAK,CAAC,EAAE;QACN,6DAA6D;QAC7D,MAAM,CAAC,EAAE,kBAAkB,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF;;GAEG;AACH,KAAK,iBAAiB,GAAG;IACvB,qFAAqF;IACrF,aAAa,EAAE,oBAAoB,GAAG,IAAI,CAAC;IAC3C,+DAA+D;IAC/D,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC;IACxB,+DAA+D;IAC/D,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAa,SAAQ,cAAc,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAC3E,0BAA0B;IAC1B,MAAM,CAAC,SAAS,SAAkB;IAElC,8CAA8C;IAC9C,MAAM,CAAC,YAAY,EAAE,YAAY,CAAC,iBAAiB,CAAC,CAclD;IAEF,2BAA2B;IAC3B,KAAK,EAAE,iBAAiB,CAAc;IAEtC,wDAAwD;IACxD,eAAe,IAAI,IAAI;IAQvB,uDAAuD;IACvD,WAAW,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAC,EAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI;IAUzE;;;OAGG;IACH,SAAS,CACP,KAAK,EAAE,iBAAiB,CAAC,OAAO,CAAC,EACjC,WAAW,EAAE,iBAAiB,CAAC,aAAa,CAAC,GAC5C,IAAI;IAyCP,0EAA0E;IAC1E,YAAY;CAcb"}
@@ -0,0 +1,115 @@
1
+ import { CompositeLayer, log } from '@deck.gl/core';
2
+ import { load } from '@loaders.gl/core';
3
+ import { getBasemapLayers } from "./globe-layers.js";
4
+ import { MapStyleLoader } from "./map-style-loader.js";
5
+ /**
6
+ * Logs a non-error basemap-layer runtime event to deck.gl logging.
7
+ */
8
+ function logBasemapLayerEvent(message, details) {
9
+ log.info(message, details ?? '')();
10
+ }
11
+ /**
12
+ * Logs a basemap-layer runtime error to deck.gl logging.
13
+ */
14
+ function logBasemapLayerError(message, error) {
15
+ log.error(`${message}: ${error.message}`)();
16
+ }
17
+ function getMapStyleLoaderOptions(loadOptions) {
18
+ return {
19
+ mapStyle: (loadOptions || undefined)
20
+ };
21
+ }
22
+ /**
23
+ * A deck.gl {@link CompositeLayer} that loads a style document and renders the
24
+ * corresponding basemap sublayers.
25
+ */
26
+ export class BasemapLayer extends CompositeLayer {
27
+ /** Deck.gl layer name. */
28
+ static layerName = 'BasemapLayer';
29
+ /** Default props for {@link BasemapLayer}. */
30
+ static defaultProps = {
31
+ mode: 'map',
32
+ globe: {
33
+ type: 'object',
34
+ value: {
35
+ config: {
36
+ atmosphere: false,
37
+ basemap: true,
38
+ labels: true
39
+ }
40
+ }
41
+ },
42
+ style: null,
43
+ loadOptions: null
44
+ };
45
+ /** Current layer state. */
46
+ state = undefined;
47
+ /** Initializes the asynchronous style-loading state. */
48
+ initializeState() {
49
+ this.state = {
50
+ resolvedStyle: null,
51
+ loadError: null,
52
+ loadToken: 0
53
+ };
54
+ }
55
+ /** Reacts to changes in the input style definition. */
56
+ updateState({ props, oldProps, changeFlags }) {
57
+ if (changeFlags.dataChanged ||
58
+ props.style !== oldProps.style ||
59
+ props.loadOptions !== oldProps.loadOptions) {
60
+ this.loadStyle(props.style, props.loadOptions);
61
+ }
62
+ }
63
+ /**
64
+ * Resolves the configured style input and stores the latest successful result
65
+ * in layer state.
66
+ */
67
+ loadStyle(style, loadOptions) {
68
+ if (!style) {
69
+ const loadToken = this.state.loadToken + 1;
70
+ logBasemapLayerEvent('Clearing basemap style');
71
+ this.setState({ resolvedStyle: null, loadError: null, loadToken });
72
+ return;
73
+ }
74
+ const loadToken = this.state.loadToken + 1;
75
+ this.setState({ loadToken });
76
+ logBasemapLayerEvent('Resolving basemap style', {
77
+ style: typeof style === 'string' ? style : 'inline-style-object',
78
+ loadToken
79
+ });
80
+ Promise.resolve(typeof style === 'string'
81
+ ? load(style, MapStyleLoader, getMapStyleLoaderOptions(loadOptions))
82
+ : MapStyleLoader.parse(new TextEncoder().encode(JSON.stringify(style)).buffer, getMapStyleLoaderOptions(loadOptions)))
83
+ .then((resolvedStyle) => {
84
+ if (this.state.loadToken === loadToken) {
85
+ logBasemapLayerEvent('Resolved basemap style', {
86
+ loadToken,
87
+ sources: Object.keys(resolvedStyle.sources || {}),
88
+ layers: resolvedStyle.layers?.length || 0
89
+ });
90
+ this.setState({ resolvedStyle, loadError: null });
91
+ }
92
+ })
93
+ .catch((error) => {
94
+ if (this.state.loadToken === loadToken) {
95
+ logBasemapLayerError('Failed to resolve basemap style', error);
96
+ this.setState({ resolvedStyle: null, loadError: error });
97
+ }
98
+ });
99
+ }
100
+ /** Renders the sublayers generated from the resolved style definition. */
101
+ renderLayers() {
102
+ if (!this.state.resolvedStyle) {
103
+ return [];
104
+ }
105
+ return getBasemapLayers({
106
+ idPrefix: this.props.id,
107
+ mode: this.props.mode,
108
+ globe: this.props.globe,
109
+ styleDefinition: this.state.resolvedStyle,
110
+ zoom: this.context.viewport?.zoom || 0,
111
+ loadOptions: this.props.loadOptions
112
+ });
113
+ }
114
+ }
115
+ //# sourceMappingURL=basemap-layer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"basemap-layer.js","sourceRoot":"","sources":["../src/basemap-layer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAE,GAAG,EAA2C,MAAM,eAAe,CAAC;AAC5F,OAAO,EAAC,IAAI,EAAC,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAC,gBAAgB,EAAC,0BAAuB;AAChD,OAAO,EAAC,cAAc,EAA6B,8BAA2B;AAG9E;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,OAAiB;IAC9D,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,EAAE,CAAC,EAAE,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAAC,OAAe,EAAE,KAAY;IACzD,GAAG,CAAC,KAAK,CAAC,GAAG,OAAO,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,wBAAwB,CAC/B,WAA6C;IAE7C,OAAO;QACL,QAAQ,EAAE,CAAC,WAAW,IAAI,SAAS,CAAmD;KACvF,CAAC;AACJ,CAAC;AA6CD;;;GAGG;AACH,MAAM,OAAO,YAAa,SAAQ,cAA2C;IAC3E,0BAA0B;IAC1B,MAAM,CAAC,SAAS,GAAG,cAAc,CAAC;IAElC,8CAA8C;IAC9C,MAAM,CAAC,YAAY,GAAoC;QACrD,IAAI,EAAE,KAAK;QACX,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE;gBACL,MAAM,EAAE;oBACN,UAAU,EAAE,KAAK;oBACjB,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,IAAI;iBACb;aACF;SACF;QACD,KAAK,EAAE,IAAI;QACX,WAAW,EAAE,IAAI;KAClB,CAAC;IAEF,2BAA2B;IAC3B,KAAK,GAAsB,SAAU,CAAC;IAEtC,wDAAwD;IACxD,eAAe;QACb,IAAI,CAAC,KAAK,GAAG;YACX,aAAa,EAAE,IAAI;YACnB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,CAAC;SACb,CAAC;IACJ,CAAC;IAED,uDAAuD;IACvD,WAAW,CAAC,EAAC,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAyB;QAChE,IACE,WAAW,CAAC,WAAW;YACvB,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK;YAC9B,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,WAAW,EAC1C,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,CACP,KAAiC,EACjC,WAA6C;QAE7C,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;YAC3C,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;YAC/C,IAAI,CAAC,QAAQ,CAAC,EAAC,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAC,CAAC,CAAC;YACjE,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,EAAC,SAAS,EAAC,CAAC,CAAC;QAC3B,oBAAoB,CAAC,yBAAyB,EAAE;YAC9C,KAAK,EAAE,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,qBAAqB;YAChE,SAAS;SACV,CAAC,CAAC;QAEH,OAAO,CAAC,OAAO,CACb,OAAO,KAAK,KAAK,QAAQ;YACvB,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,cAAc,EAAE,wBAAwB,CAAC,WAAW,CAAC,CAAC;YACpE,CAAC,CAAC,cAAc,CAAC,KAAK,CAClB,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EACtD,wBAAwB,CAAC,WAAW,CAAC,CACtC,CACN;aACE,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE;YACtB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACvC,oBAAoB,CAAC,wBAAwB,EAAE;oBAC7C,SAAS;oBACT,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,IAAI,EAAE,CAAC;oBACjD,MAAM,EAAE,aAAa,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;iBAC1C,CAAC,CAAC;gBACH,IAAI,CAAC,QAAQ,CAAC,EAAC,aAAa,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,KAAY,EAAE,EAAE;YACtB,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBACvC,oBAAoB,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;gBAC/D,IAAI,CAAC,QAAQ,CAAC,EAAC,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAC,CAAC,CAAC;YACzD,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;IAED,0EAA0E;IAC1E,YAAY;QACV,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,gBAAgB,CAAC;YACtB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YACvB,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACrB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;YACzC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,IAAI,CAAC;YACtC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;SACpC,CAAC,CAAC;IACL,CAAC"}
@@ -0,0 +1,22 @@
1
+ import type { BasemapGlobeConfig, BasemapLayerProps } from "./basemap-layer.js";
2
+ import type { BasemapLoadOptions, ResolvedBasemapStyle } from "./style-resolver.js";
3
+ type BasemapMode = NonNullable<BasemapLayerProps['mode']>;
4
+ type BasemapLayerGroup = {
5
+ idPrefix?: string;
6
+ mode?: BasemapMode;
7
+ globe?: {
8
+ config?: BasemapGlobeConfig;
9
+ };
10
+ styleDefinition: ResolvedBasemapStyle;
11
+ zoom?: number;
12
+ loadOptions?: BasemapLoadOptions;
13
+ };
14
+ export declare function getBasemapLayers({ idPrefix, mode, globe, styleDefinition, zoom, loadOptions }: BasemapLayerGroup): any[];
15
+ export declare function getGlobeBaseLayers({ globe, styleDefinition, idPrefix, zoom, loadOptions }: Omit<BasemapLayerGroup, 'mode'>): any[];
16
+ export declare function getGlobeTopLayers({ globe }: {
17
+ globe: {
18
+ config: BasemapGlobeConfig;
19
+ };
20
+ }): any[];
21
+ export {};
22
+ //# sourceMappingURL=globe-layers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"globe-layers.d.ts","sourceRoot":"","sources":["../src/globe-layers.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAC,kBAAkB,EAAE,iBAAiB,EAAC,2BAAwB;AAC3E,OAAO,KAAK,EACV,kBAAkB,EAGlB,oBAAoB,EACrB,4BAAyB;AAE1B,KAAK,WAAW,GAAG,WAAW,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;AAQ1D,KAAK,iBAAiB,GAAG;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,KAAK,CAAC,EAAE;QAAC,MAAM,CAAC,EAAE,kBAAkB,CAAA;KAAC,CAAC;IACtC,eAAe,EAAE,oBAAoB,CAAC;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC,CAAC;AA0bF,wBAAgB,gBAAgB,CAAC,EAC/B,QAAoB,EACpB,IAAY,EACZ,KAAK,EACL,eAAe,EACf,IAAQ,EACR,WAAW,EACZ,EAAE,iBAAiB,SAyBnB;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,eAAe,EACf,QAA0B,EAC1B,IAAQ,EACR,WAAW,EACZ,EAAE,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,SAEjC;AAED,wBAAgB,iBAAiB,CAAC,EAAC,KAAK,EAAC,EAAE;IAAC,KAAK,EAAE;QAAC,MAAM,EAAE,kBAAkB,CAAA;KAAC,CAAA;CAAC,SAG/E"}