@xweather/mapsgl 1.10.0-beta.1 → 1.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/mapsgl.css CHANGED
@@ -1,9 +1,9 @@
1
1
  /*!
2
2
  *
3
- * @xweather/mapsgl - 1.10.0-beta.1
3
+ * @xweather/mapsgl - 1.10.0
4
4
  * (c) 2026 Vaisala Xweather
5
5
  * License: BSD
6
6
  * https://www.xweather.com
7
7
  *
8
8
  */
9
- .awxgl-data-coord{color:#222;padding:4px 10px;border-top-left-radius:6px;border-top-right-radius:6px;font-size:11px;font-weight:600;letter-spacing:.02em}.awxgl-data-rows{display:none;box-sizing:border-box;width:-moz-max-content;width:max-content;max-width:100%;margin:0;padding:2px 10px 4px}.awxgl-data-rows .awxgl-data-row{border-bottom:1px solid #eee;padding:4px 2px;min-width:0}.awxgl-data-rows .awxgl-data-row:last-child{border-bottom:0}.awxgl-data-rows .awxgl-data-title{min-width:0;font-size:11px;font-weight:600;line-height:1.25;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.awxgl-data-rows .awxgl-data-value{display:flex;align-items:center;flex-wrap:wrap;gap:5px;box-sizing:border-box;min-width:0;color:#1a1a1a;line-height:1.3;overflow-wrap:normal;word-break:normal}.awxgl-data-rows .awxgl-data-row--stack{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding-top:6px;padding-bottom:6px}.awxgl-data-rows .awxgl-data-row--stack .awxgl-data-value{width:-moz-fit-content;width:fit-content;max-width:var(--awxgl-tooltip-content-max-width, 100%)}.awxgl-tooltip{display:inline-block;box-sizing:border-box;width:-moz-max-content;width:max-content;--awxgl-tooltip-max-width: min(440px, calc(100vw - 24px));--awxgl-tooltip-content-max-width: calc(var(--awxgl-tooltip-max-width) - 24px);max-width:var(--awxgl-tooltip-max-width);background:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:normal;font-size:12px;line-height:1.3;border-radius:6px;text-align:left;z-index:4000;box-shadow:0 4px 14px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.06);overflow:visible}.awxgl-tooltip .awxgl-tooltip-content{overflow:hidden;border-radius:6px;max-width:var(--awxgl-tooltip-max-width)}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-coord{background:#19a6e1;color:#fff}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-rows--stacked{display:flex;flex-direction:column}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-rows--auto{display:grid;grid-template-columns:minmax(0, max-content) max-content;-moz-column-gap:20px;column-gap:20px}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-rows--auto>.awxgl-data-row:not(.awxgl-data-row--stack){display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:baseline}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-rows--auto>.awxgl-data-row:not(.awxgl-data-row--stack) .awxgl-data-title{max-width:16em;color:#374151}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-rows--auto>.awxgl-data-row:not(.awxgl-data-row--stack) .awxgl-data-value{flex-wrap:nowrap;min-width:-moz-max-content;min-width:max-content}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-rows--auto>.awxgl-data-row--stack{grid-column:1/-1}.awxgl-tooltip .awxgl-inspector-stack{display:flex;flex-direction:column;gap:4px;align-items:flex-start;box-sizing:border-box;width:-moz-max-content;width:max-content;max-width:100%;min-width:0}.awxgl-tooltip .awxgl-inspector-value{display:inline;white-space:nowrap}.awxgl-tooltip .awxgl-inspector-name{color:#111827;font-weight:600;font-size:13px;line-height:1.25}.awxgl-tooltip .awxgl-inspector-sep{color:#d1d5db;font-weight:400;margin:0 1px}.awxgl-tooltip .awxgl-inspector-number{font-variant-numeric:tabular-nums;font-weight:500}.awxgl-tooltip .awxgl-inspector-unit{color:#6b7280;font-weight:400}.awxgl-tooltip .awxgl-inspector-meta,.awxgl-tooltip .awxgl-inspector-meta-inline{box-sizing:border-box;max-width:100%;color:#6b7280;font-size:11px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.awxgl-tooltip .awxgl-inspector-meta-inline{margin-right:2px;white-space:nowrap}.awxgl-tooltip .awxgl-inspector-badge{display:inline-flex;align-items:center;max-width:100%;padding:0 4px;border-radius:3px;font-size:11px;font-weight:600;line-height:1.45;background:#e5e7eb;color:#374151}.awxgl-tooltip .awxgl-inspector-badge+.awxgl-inspector-name,.awxgl-tooltip .awxgl-inspector-badge+.awxgl-inspector-number,.awxgl-tooltip .awxgl-inspector-name+.awxgl-inspector-badge{margin-left:6px}.awxgl-tooltip .awxgl-inspector-badge-aligned{margin:0 -4px}.awxgl-tooltip .awxgl-inspector-badge--invest,.awxgl-tooltip .awxgl-inspector-badge--other{background:#e5e7eb;color:#374151}.awxgl-tooltip .awxgl-inspector-badge--depression{background:#dbeafe;color:#1d4ed8}.awxgl-tooltip .awxgl-inspector-badge--storm{background:#fef3c7;color:#b45309}.awxgl-tooltip .awxgl-inspector-badge--typhoon,.awxgl-tooltip .awxgl-inspector-badge--hurricane{background:#fee2e2;color:#b91c1c}.awxgl-tooltip .awxgl-inspector-metrics{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}.awxgl-tooltip .awxgl-inspector-metric{display:inline-flex;align-items:baseline;gap:3px}.awxgl-tooltip .awxgl-inspector-stats{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 18px;box-sizing:border-box;width:-moz-fit-content;width:fit-content;max-width:var(--awxgl-tooltip-content-max-width);margin-top:2px}.awxgl-tooltip .awxgl-inspector-stat{display:flex;flex-direction:column;flex:0 0 auto;gap:1px;min-width:-moz-max-content;min-width:max-content}.awxgl-tooltip .awxgl-inspector-stat-label{color:#9ca3af;font-size:10px;font-weight:600;letter-spacing:.04em;line-height:1.2;text-transform:uppercase;white-space:nowrap}.awxgl-tooltip .awxgl-inspector-stat-label--empty{visibility:hidden}.awxgl-tooltip .awxgl-inspector-stat-value{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;line-height:1.25}.awxgl-tooltip .awxgl-inspector-stat-detail{color:#374151;font-weight:600}.awxgl-tooltip .awxgl-inspector-stat-detail+.awxgl-inspector-number::before{content:"·";margin-right:3px;color:#d1d5db;font-weight:400}.awxgl-tooltip .awxgl-inspector-items,.awxgl-tooltip .awxgl-inspector-meta{max-width:min(100%,28em);overflow-wrap:anywhere;word-break:break-word}.awxgl-tooltip .awxgl-inspector-progress{display:flex;flex-direction:column;gap:3px;width:100%;min-width:88px;max-width:160px;--awxgl-inspector-progress-color: #ea580c}.awxgl-tooltip .awxgl-inspector-progress-track{width:100%;height:6px;border-radius:999px;background:#e5e7eb;overflow:hidden}.awxgl-tooltip .awxgl-inspector-progress-fill{height:100%;border-radius:inherit;background:var(--awxgl-inspector-progress-color)}.awxgl-tooltip .awxgl-inspector-progress-caption{display:inline-flex;align-items:baseline;gap:4px;font-size:11px;line-height:1.25;color:#6b7280}.awxgl-tooltip .awxgl-inspector-items,.awxgl-tooltip .awxgl-tooltip-items{display:flex;flex-direction:column;gap:0;max-width:100%;min-width:0}.awxgl-tooltip .awxgl-inspector-item,.awxgl-tooltip .awxgl-tooltip-item{display:flex;align-items:flex-start;gap:5px;min-width:0;max-width:100%;padding:3px 0;border-bottom:1px solid #f3f4f6}.awxgl-tooltip .awxgl-inspector-item:last-child,.awxgl-tooltip .awxgl-tooltip-item:last-child{border-bottom:0;padding-bottom:0}.awxgl-tooltip .awxgl-inspector-item:first-child,.awxgl-tooltip .awxgl-tooltip-item:first-child{padding-top:0}.awxgl-tooltip .awxgl-inspector-item-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}.awxgl-tooltip .awxgl-inspector-item-name{min-width:0;overflow-wrap:anywhere;word-break:break-word}.awxgl-tooltip .awxgl-inspector-item-body .awxgl-inspector-meta{margin:0}.awxgl-tooltip .awxgl-inspector-item>span:last-child,.awxgl-tooltip .awxgl-tooltip-item>span:last-child{min-width:0;overflow-wrap:anywhere;word-break:break-word}.awxgl-tooltip .awxgl-inspector-swatch,.awxgl-tooltip .awxgl-inspector-item-color,.awxgl-tooltip .awxgl-tooltip-item-color{display:inline-block;flex:0 0 auto;width:10px;height:10px;border-radius:50%}.awxgl-tooltip .awxgl-inspector-item .awxgl-inspector-swatch,.awxgl-tooltip .awxgl-inspector-item-color,.awxgl-tooltip .awxgl-tooltip-item-color{margin-top:3px}.awxgl-tooltip-arrow,.awxgl-tooltip-arrow::before{position:absolute;width:8px;height:8px;background:inherit}.awxgl-tooltip-arrow{visibility:hidden}.awxgl-tooltip-arrow::before{visibility:visible;content:"";transform:rotate(45deg)}.awxgl-tooltip[data-popper-placement^=top] .awxgl-tooltip-arrow{bottom:-4px}.awxgl-tooltip[data-popper-placement^=bottom] .awxgl-tooltip-arrow{top:-4px}.awxgl-tooltip[data-popper-placement^=bottom].awxgl-tooltip-has-data .awxgl-tooltip-arrow{background:#19a6e1}.awxgl-tooltip[data-popper-placement^=left] .awxgl-tooltip-arrow{right:-4px}.awxgl-tooltip[data-popper-placement^=right] .awxgl-tooltip-arrow{left:-4px}.awxgl-control-legend{background:#fff;border-radius:4px;padding:4px;z-index:1000}.awxgl-legend-container{border-top:1px solid #ddd;font-family:sans-serif}.awxgl-legend-container:first-child{border-top:0}.awxgl-legend-title{padding:0 4px;font-weight:bold;font-size:11px;line-height:20px;margin-bottom:-2px;text-align:left;color:#000}.awxgl-legend-item-fade{height:20px}.awxgl-legend-item-fade-top{background:linear-gradient(rgb(255, 255, 255), rgba(255, 255, 255, 0))}.awxgl-legend-item-fade-bottom{background:linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255))}
9
+ .awxgl-data-coord{color:#222;padding:4px 10px;border-top-left-radius:6px;border-top-right-radius:6px;font-size:11px;font-weight:600;letter-spacing:.02em}.awxgl-data-rows{display:none;box-sizing:border-box;width:-moz-max-content;width:max-content;max-width:100%;margin:0;padding:2px 10px 4px}.awxgl-data-rows .awxgl-data-row{border-bottom:1px solid #eee;padding:4px 2px;min-width:0}.awxgl-data-rows .awxgl-data-row:last-child{border-bottom:0}.awxgl-data-rows .awxgl-data-title{min-width:0;font-size:11px;font-weight:600;line-height:1.25;color:#222;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.awxgl-data-rows .awxgl-data-value{display:flex;align-items:center;flex-wrap:wrap;gap:5px;box-sizing:border-box;min-width:0;color:#1a1a1a;line-height:1.3;overflow-wrap:normal;word-break:normal}.awxgl-data-rows .awxgl-data-row--stack{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding-top:6px;padding-bottom:6px}.awxgl-data-rows .awxgl-data-row--stack .awxgl-data-value{width:-moz-fit-content;width:fit-content;max-width:var(--awxgl-tooltip-content-max-width, 100%)}.awxgl-tooltip{display:inline-block;box-sizing:border-box;width:-moz-max-content;width:max-content;--awxgl-tooltip-max-width: min(440px, calc(100vw - 24px));--awxgl-tooltip-content-max-width: calc(var(--awxgl-tooltip-max-width) - 24px);max-width:var(--awxgl-tooltip-max-width);background:#fff;color:#333;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;font-weight:normal;font-size:12px;line-height:1.3;border-radius:6px;text-align:left;z-index:4000;box-shadow:0 4px 14px rgba(0,0,0,.12),0 1px 2px rgba(0,0,0,.06);overflow:visible}.awxgl-tooltip .awxgl-tooltip-content{overflow:hidden;border-radius:6px;max-width:var(--awxgl-tooltip-max-width)}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-coord{background:#19a6e1;color:#fff}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-rows--stacked{display:flex;flex-direction:column}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-rows--auto{display:grid;grid-template-columns:minmax(0, max-content) max-content;-moz-column-gap:20px;column-gap:20px}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-rows--auto>.awxgl-data-row:not(.awxgl-data-row--stack){display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:baseline}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-rows--auto>.awxgl-data-row:not(.awxgl-data-row--stack) .awxgl-data-title{max-width:16em;color:#374151}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-rows--auto>.awxgl-data-row:not(.awxgl-data-row--stack) .awxgl-data-value{flex-wrap:nowrap;min-width:-moz-max-content;min-width:max-content}.awxgl-tooltip.awxgl-tooltip-has-data .awxgl-data-rows--auto>.awxgl-data-row--stack{grid-column:1/-1}.awxgl-tooltip .awxgl-inspector-stack{display:flex;flex-direction:column;gap:4px;align-items:flex-start;box-sizing:border-box;width:-moz-max-content;width:max-content;max-width:100%;min-width:0}.awxgl-tooltip .awxgl-inspector-value{display:inline;white-space:nowrap}.awxgl-tooltip .awxgl-inspector-name{color:#111827;font-weight:600;font-size:13px;line-height:1.25}.awxgl-tooltip .awxgl-inspector-sep{color:#d1d5db;font-weight:400;margin:0 1px}.awxgl-tooltip .awxgl-inspector-number{font-variant-numeric:tabular-nums;font-weight:500}.awxgl-tooltip .awxgl-inspector-unit{color:#6b7280;font-weight:400}.awxgl-tooltip .awxgl-inspector-meta,.awxgl-tooltip .awxgl-inspector-meta-inline{box-sizing:border-box;max-width:100%;color:#6b7280;font-size:11px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.awxgl-tooltip .awxgl-inspector-meta-inline{margin-right:2px;white-space:nowrap}.awxgl-tooltip .awxgl-inspector-badge{display:inline-flex;align-items:center;max-width:100%;padding:0 4px;border-radius:3px;font-size:11px;font-weight:600;line-height:1.45;background:#e5e7eb;color:#374151}.awxgl-tooltip .awxgl-inspector-badge+.awxgl-inspector-name,.awxgl-tooltip .awxgl-inspector-badge+.awxgl-inspector-number,.awxgl-tooltip .awxgl-inspector-name+.awxgl-inspector-badge{margin-left:6px}.awxgl-tooltip .awxgl-inspector-badge-aligned{margin:0 -4px}.awxgl-tooltip .awxgl-inspector-badge--invest,.awxgl-tooltip .awxgl-inspector-badge--other{background:#e5e7eb;color:#374151}.awxgl-tooltip .awxgl-inspector-badge--depression{background:#dbeafe;color:#1d4ed8}.awxgl-tooltip .awxgl-inspector-badge--storm{background:#fef3c7;color:#b45309}.awxgl-tooltip .awxgl-inspector-badge--typhoon,.awxgl-tooltip .awxgl-inspector-badge--hurricane{background:#fee2e2;color:#b91c1c}.awxgl-tooltip .awxgl-inspector-metrics{display:flex;flex-wrap:wrap;gap:6px;max-width:100%}.awxgl-tooltip .awxgl-inspector-metric{display:inline-flex;align-items:baseline;gap:3px}.awxgl-tooltip .awxgl-inspector-stats{display:flex;flex-wrap:wrap;align-items:flex-start;gap:8px 18px;box-sizing:border-box;width:-moz-fit-content;width:fit-content;max-width:var(--awxgl-tooltip-content-max-width);margin-top:2px}.awxgl-tooltip .awxgl-inspector-stat{display:flex;flex-direction:column;flex:0 0 auto;gap:1px;min-width:-moz-max-content;min-width:max-content}.awxgl-tooltip .awxgl-inspector-stat-label{color:#9ca3af;font-size:10px;font-weight:600;letter-spacing:.04em;line-height:1.2;text-transform:uppercase;white-space:nowrap}.awxgl-tooltip .awxgl-inspector-stat-label--empty{visibility:hidden}.awxgl-tooltip .awxgl-inspector-stat-value{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;line-height:1.25}.awxgl-tooltip .awxgl-inspector-stat-detail{color:#374151;font-weight:600}.awxgl-tooltip .awxgl-inspector-stat-detail+.awxgl-inspector-number::before{content:"·";margin-right:3px;color:#d1d5db;font-weight:400}.awxgl-tooltip .awxgl-inspector-items,.awxgl-tooltip .awxgl-inspector-meta{max-width:min(100%,28em);overflow-wrap:anywhere;word-break:break-word}.awxgl-tooltip .awxgl-inspector-progress{display:flex;flex-direction:column;gap:3px;width:100%;min-width:88px;max-width:160px;--awxgl-inspector-progress-color: #ea580c}.awxgl-tooltip .awxgl-inspector-progress-track{width:100%;height:6px;border-radius:999px;background:#e5e7eb;overflow:hidden}.awxgl-tooltip .awxgl-inspector-progress-fill{height:100%;border-radius:inherit;background:var(--awxgl-inspector-progress-color)}.awxgl-tooltip .awxgl-inspector-progress-caption{display:inline-flex;align-items:baseline;gap:4px;font-size:11px;line-height:1.25;color:#6b7280}.awxgl-tooltip .awxgl-inspector-items,.awxgl-tooltip .awxgl-tooltip-items{display:flex;flex-direction:column;gap:0;max-width:100%;min-width:0}.awxgl-tooltip .awxgl-inspector-item,.awxgl-tooltip .awxgl-tooltip-item{display:flex;align-items:flex-start;gap:5px;min-width:0;max-width:100%;padding:3px 0;border-bottom:1px solid #f3f4f6}.awxgl-tooltip .awxgl-inspector-item:last-child,.awxgl-tooltip .awxgl-tooltip-item:last-child{border-bottom:0;padding-bottom:0}.awxgl-tooltip .awxgl-inspector-item:first-child,.awxgl-tooltip .awxgl-tooltip-item:first-child{padding-top:0}.awxgl-tooltip .awxgl-inspector-item-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1 1 auto}.awxgl-tooltip .awxgl-inspector-item-name{min-width:0;overflow-wrap:anywhere;word-break:break-word}.awxgl-tooltip .awxgl-inspector-item-body .awxgl-inspector-meta{margin:0}.awxgl-tooltip .awxgl-inspector-item>span:last-child,.awxgl-tooltip .awxgl-tooltip-item>span:last-child{min-width:0;overflow-wrap:anywhere;word-break:break-word}.awxgl-tooltip .awxgl-inspector-swatch,.awxgl-tooltip .awxgl-inspector-item-color,.awxgl-tooltip .awxgl-tooltip-item-color{display:inline-block;flex:0 0 auto;width:10px;height:10px;border-radius:50%}.awxgl-tooltip .awxgl-inspector-item .awxgl-inspector-swatch,.awxgl-tooltip .awxgl-inspector-item-color,.awxgl-tooltip .awxgl-tooltip-item-color{margin-top:3px}.awxgl-tooltip-arrow,.awxgl-tooltip-arrow::before{position:absolute;width:8px;height:8px;background:inherit}.awxgl-tooltip-arrow{visibility:hidden}.awxgl-tooltip-arrow::before{visibility:visible;content:"";transform:rotate(45deg)}.awxgl-tooltip[data-popper-placement^=top] .awxgl-tooltip-arrow{bottom:-4px}.awxgl-tooltip[data-popper-placement^=bottom] .awxgl-tooltip-arrow{top:-4px}.awxgl-tooltip[data-popper-placement^=bottom].awxgl-tooltip-has-data .awxgl-tooltip-arrow{background:#19a6e1}.awxgl-tooltip[data-popper-placement^=left] .awxgl-tooltip-arrow{right:-4px}.awxgl-tooltip[data-popper-placement^=right] .awxgl-tooltip-arrow{left:-4px}.awxgl-control-legend{background:#fff;border-radius:4px;padding:4px;z-index:1000}.awxgl-legend-container{border-top:1px solid #ddd;font-family:sans-serif}.awxgl-legend-container:first-child{border-top:0}.awxgl-legend-title{padding:0 4px;font-weight:bold;font-size:11px;line-height:20px;margin-bottom:-2px;text-align:left;color:#000}.awxgl-legend-item-fade{height:20px}.awxgl-legend-item-fade-top{background:linear-gradient(rgb(255, 255, 255), rgba(255, 255, 255, 0))}.awxgl-legend-item-fade-bottom{background:linear-gradient(rgba(255, 255, 255, 0), rgb(255, 255, 255))}
package/dist/mapsgl.d.ts CHANGED
@@ -3850,7 +3850,9 @@ export declare interface LayerSpecification {
3850
3850
  */
3851
3851
  preloadLowQuality?: boolean;
3852
3852
  /**
3853
- * MapsGL ordering slot id. When omitted, the slot is chosen from the layer type
3853
+ * MapsGL ordering slot id. Ignored unless layer slots are enabled on the
3854
+ * controller (`slots: true` or a slots configuration object). When omitted
3855
+ * and slots are enabled, the slot is chosen from the layer type
3854
3856
  * (e.g. raster/sample/fill → `underlay`, particle/line → `inlay`).
3855
3857
  * @see MapController.defineSlot
3856
3858
  */
@@ -4264,15 +4266,20 @@ export declare interface MapAdapterOptions {
4264
4266
  account: Account;
4265
4267
  units?: Partial<MapUnits>;
4266
4268
  /**
4267
- * Layer ordering slot configuration. Slots provide automatic type-based stacking
4268
- * (e.g. raster/sample below inlay) and optional pinning relative to host
4269
- * map style layers. By default the `underlay` slot is pinned below the bottom-most
4270
- * admin boundary layer in the loaded Mapbox/MapLibre style (resolved at runtime).
4269
+ * Layer ordering slots. Opt-in — omitted or `false` keeps insertion/`beforeId`
4270
+ * stacking from previous releases so existing integrations are unchanged.
4271
+ *
4272
+ * Pass `true` to enable built-in slots (underlay / inlay / text / overlay) with
4273
+ * type-based stacking and default host pinning (Mapbox/MapLibre `underlay` below
4274
+ * the bottom-most admin boundary). Pass a {@link SlotRegistryOptions} object to
4275
+ * enable slots and customize definitions, type mapping, or stack ranks.
4276
+ *
4271
4277
  * Within a slot, {@link SlotRegistryOptions.stackRanks} control relative order
4272
- * (e.g. radar above satellite above other underlays).
4273
- * See {@link SlotRegistry}.
4278
+ * (e.g. radar above satellite above other underlays). See {@link SlotRegistry}.
4279
+ *
4280
+ * @default undefined (disabled)
4274
4281
  */
4275
- slots?: SlotRegistryOptions;
4282
+ slots?: boolean | SlotRegistryOptions;
4276
4283
  /**
4277
4284
  * The {@link TimeAnimationOptions} containing configuration options for the map controller's timeline.
4278
4285
  */
@@ -4336,6 +4343,10 @@ get container(): HTMLElement;
4336
4343
  * Classic styles: prefer explicit slot.beforeId, else bottom-most admin boundary for `underlay`.
4337
4344
  */
4338
4345
  getSlotHostBeforeId(slotId: SlotId): string | undefined;
4346
+ /**
4347
+ * Host style layer id this MapsGL layer is pinned below.
4348
+ */
4349
+ getLayerHostBeforeId(layerId: string): string | undefined;
4339
4350
 
4340
4351
  getProjection(): ProjectionType;
4341
4352
  setProjection(projection: ProjectionType): void;
@@ -4419,6 +4430,11 @@ declare abstract class MapController<MapType> extends EventDispatcher {
4419
4430
  * The {@link WeatherLayerProvider} instance used for managing weather layer configurations and data.
4420
4431
  */
4421
4432
  readonly weatherProvider: WeatherLayerProvider;
4433
+ /**
4434
+ * Whether layer ordering slots are enabled for this controller.
4435
+ * `true` when constructed with `slots: true` or a {@link SlotRegistryOptions} object.
4436
+ */
4437
+ readonly useLayerSlots: boolean;
4422
4438
 
4423
4439
  get needsViewportUpdate(): boolean;
4424
4440
 
@@ -4648,6 +4664,11 @@ get needsViewportUpdate(): boolean;
4648
4664
  * Mapbox/MapLibre may return a runtime default (e.g. bottom-most admin boundary for `underlay`).
4649
4665
  */
4650
4666
  getSlotHostBeforeId(slotId: SlotId): string | undefined;
4667
+ /**
4668
+ * Host style layer id this MapsGL layer is pinned below (Mapbox/MapLibre `beforeId`).
4669
+ * Undefined when the layer sits at the top of the host stack, or the host has no style layers.
4670
+ */
4671
+ getLayerHostBeforeId(_layerId: string): string | undefined;
4651
4672
  /**
4652
4673
  * Returns the slot id currently assigned to a MapsGL layer, if any.
4653
4674
  * @param layerId - MapsGL layer identifier.
@@ -4704,12 +4725,13 @@ get needsViewportUpdate(): boolean;
4704
4725
  * Adds a new weather layer to the map.
4705
4726
  * @param idOrConfig - One of the supported weather layer identifiers or a weather layer configuration object.
4706
4727
  * @param overrides - An object containing data and render style overrides for the weather layer.
4707
- * May include `slot` to force a MapsGL ordering band (see {@link MapController.defineSlot}).
4708
- * @param beforeId - Optional host insert-before id (MapsGL layer or Mapbox/MapLibre style layer).
4709
- * When omitted, the layer is placed by its ordering slot (type defaults: raster/sample/fill → `underlay`
4710
- * under labels; particle/line/circle/symbol → `inlay`; text → `text`) and within-slot `stackRank`
4711
- * (radar above satellite above other underlays by default). Prefer `slot` / slots APIs for
4712
- * logical stacking; use `beforeId` as an escape hatch for absolute host placement.
4728
+ * When layer slots are enabled, may include `slot` to force a MapsGL ordering band
4729
+ * (see {@link MapController.defineSlot}).
4730
+ * @param beforeId - Optional insert-before id (MapsGL layer or Mapbox/MapLibre style layer).
4731
+ * When layer slots are disabled (the default), omitted `beforeId` appends the layer above all
4732
+ * other MapsGL layers. When slots are enabled (`slots: true` or a slots config object), omitted
4733
+ * `beforeId` places the layer by type (raster/sample/fill → `underlay`; particle/line/circle/symbol
4734
+ * → `inlay`; text → `text`) and within-slot `stackRank`.
4713
4735
  * @returns The newly added map layer or an array of layers if the weather layer identifier maps to multiple layers.
4714
4736
  */
4715
4737
  addWeatherLayer(idOrConfig: WeatherLayerConfiguration | string, overrides?: Partial<WeatherLayerOptions>, beforeId?: string): WebGLLayer | Array<WebGLLayer>;
@@ -4760,8 +4782,9 @@ get needsViewportUpdate(): boolean;
4760
4782
  * @param id - A unique identifier for the layer.
4761
4783
  * @param config - The configuration options for the layer.
4762
4784
  * @param beforeId - The identifier of an existing map layer to insert the new layer before, which will result in
4763
- * the new layer appearing below the target layer. If not provided, then the new layer is placed according to its
4764
- * ordering slot (from layer type or `config.slot`).
4785
+ * the new layer appearing below the target layer. If not provided, the new layer is added above all other
4786
+ * MapsGL layers — or, when layer slots are enabled, according to its ordering slot (from layer type or
4787
+ * `config.slot`).
4765
4788
  * @returns The newly added layer.
4766
4789
  */
4767
4790
  addLayer(id: string, config: Partial<LayerSpecification> | WebGLLayer, beforeId?: string): WebGLLayer;
@@ -6320,6 +6343,7 @@ export declare type SlotId = string;
6320
6343
 
6321
6344
  /**
6322
6345
  * Options for configuring the slot registry at controller construction.
6346
+ * Passed as {@link MapAdapterOptions.slots} to opt in to layer ordering slots.
6323
6347
  */
6324
6348
  export declare interface SlotRegistryOptions {
6325
6349
  /**
@@ -7859,14 +7883,6 @@ export declare interface TileSourceSpecification extends SourceSpecification {
7859
7883
  * Map projection of the source. Defaults to `EPSG:3857`.
7860
7884
  */
7861
7885
  projection: 'EPSG:3857' | 'EPSG:4326';
7862
- /**
7863
- * A function that requests a tile from the source.
7864
- * @param tile - The tile to load.
7865
- * @param url - The URL template string to use when requesting the tile.
7866
- * @param options - Additional options to use when requesting the tile.
7867
- * @returns A promise that resolves to the response from the tile request.
7868
- */
7869
- loadTile: (tile: TileCoord, url: string, options?: Partial<TileRequestOptions>) => Promise<Response>;
7870
7886
  }
7871
7887
 
7872
7888
  export declare const TileState: {
@@ -8889,8 +8905,10 @@ export declare type WeatherLayerOptions = {
8889
8905
  */
8890
8906
  timeline: TimeAnimation;
8891
8907
  /**
8892
- * MapsGL ordering slot for this weather layer. When omitted, the slot is chosen from the
8893
- * layer type. Use with {@link MapController.defineSlot} / {@link MapController.moveLayerToSlot}.
8908
+ * MapsGL ordering slot for this weather layer. Ignored unless layer slots are
8909
+ * enabled on the controller (`slots: true` or a slots configuration object).
8910
+ * When omitted and slots are enabled, the slot is chosen from the layer type.
8911
+ * Use with {@link MapController.defineSlot} / {@link MapController.moveLayerToSlot}.
8894
8912
  * Prefer this over a host `beforeId` when targeting a logical band; an explicit `beforeId`
8895
8913
  * argument to {@link MapController.addWeatherLayer} still wins for host placement.
8896
8914
  */