@@ -15,11 +15,12 @@ import {getApplicationConfig} from '@kepler.gl/utils';
1515import { default as useFetchJson } from '../../hooks/use-fetch-raster-tile-metadata' ;
1616import { DatasetCreationAttributes , MetaResponse } from './common' ;
1717import { InputLight } from '../../common' ;
18+ import { Help } from '../../common/icons' ;
1819
1920const TilesetInputContainer = styled . div `
2021 display: grid;
2122 grid-template-rows: repeat(3, 1fr);
22- row-gap: 18px ;
23+ row-gap: 0px ;
2324 font-size: 12px;
2425` ;
2526
@@ -29,6 +30,11 @@ const TilesetInputDescription = styled.div`
2930 font-size: 11px;
3031` ;
3132
33+ const LabelRow = styled . div `
34+ display: flex;
35+ align-items: center;
36+ ` ;
37+
3238export type RasterTilesetMeta = {
3339 name : string ;
3440 metadataUrl : string ;
@@ -62,6 +68,28 @@ type RasterTileFormProps = {
6268 setResponse : ( response : MetaResponse ) => void ;
6369} ;
6470
71+ const InfoIconLink = styled . a `
72+ margin-left: 4px;
73+ color: ${ props => props . theme . labelColor } ;
74+ text-decoration: none;
75+ display: inline-flex;
76+ align-items: center;
77+ line-height: 0;
78+ vertical-align: middle;
79+ opacity: 0.7;
80+
81+ &:hover {
82+ opacity: 1;
83+ }
84+
85+ svg {
86+ display: block;
87+ }
88+ ` ;
89+
90+ const RASTER_TILE_DOCUMENTATION_URL =
91+ 'https://docs.kepler.gl/docs/user-guides/c-types-of-layers/n-raster-tile-layer' ;
92+
6593const parseMetadataAllowCollections = (
6694 metadata : JsonObjectOrArray | PMTilesMetadata ,
6795 { metadataUrl, rasterTileType} : { metadataUrl : string ; rasterTileType : RasterTileType }
@@ -209,7 +237,17 @@ const RasterTileForm: React.FC<RasterTileFormProps> = ({setResponse}) => {
209237 />
210238 </ div >
211239 < div >
212- < label htmlFor = "tile-metadata" > Tileset metadata URL</ label >
240+ < LabelRow >
241+ < label htmlFor = "tile-metadata" > Tileset metadata URL</ label >
242+ < InfoIconLink
243+ href = { RASTER_TILE_DOCUMENTATION_URL }
244+ target = "_blank"
245+ rel = "noopener noreferrer"
246+ aria-label = "Open Raster Tile Layer documentation"
247+ >
248+ < Help height = "16px" />
249+ </ InfoIconLink >
250+ </ LabelRow >
213251 < InputLight
214252 id = "tile-metadata"
215253 placeholder = "Tileset metadata URL"
@@ -222,7 +260,17 @@ const RasterTileForm: React.FC<RasterTileFormProps> = ({setResponse}) => {
222260 </ div >
223261 { showServerInput && (
224262 < div >
225- < label htmlFor = "tileset-raster-servers" > Raster tile servers</ label >
263+ < LabelRow >
264+ < label htmlFor = "tileset-raster-servers" > Raster tile servers</ label >
265+ < InfoIconLink
266+ href = { RASTER_TILE_DOCUMENTATION_URL }
267+ target = "_blank"
268+ rel = "noopener noreferrer"
269+ aria-label = "Open Raster Tile Layer documentation"
270+ >
271+ < Help height = "16px" />
272+ </ InfoIconLink >
273+ </ LabelRow >
226274 < InputLight
227275 id = "tileset-raster-servers"
228276 placeholder = "Raster tile servers (separated by commas)"
0 commit comments