<kaleidr-map> — o elemento
A façade declarativa. Insira o elemento e defina os atributos; ele é montado ao conectar e desmontado quando removido.
<kaleidr-map product="viewer" share-id="abcd1234" style="height:480px"></kaleidr-map>
Tabela de atributos
Verificado em relação a kaleidr-sdk/packages/embed/src/element.ts. Os nomes dos atributos
usam kebab-case; os nomes das opções correspondentes de Kaleidr.mount(...) em
kaleidr.js usam camelCase.
| Atributo | Produtos | Obrigatório | Padrão | Significado |
|---|---|---|---|---|
product | todos | sim | — | chat | viewer | editor | tile |
publishable-key | chat, editor, tile | sim* | — | kld_pk_live_…; trocado por um token de sessão em tempo de execução |
api-key | chat, editor, tile | — | — | Alias obsoleto; também aceita kld_live_… legado |
share-id | viewer | sim | — | Mapa publicado / share id; omiti-lo causa erro no carregamento do bundle |
map-id | viewer | — | — | Alias de share-id |
style-id | tile, editor | opcional | tile: padrão do viewer; editor: padrão da org → kaleidr-morning | ID de estilo do mapa-base ou (editor) URL completa de estilo |
map-target | chat | opcional | — | Seletor CSS do elemento de mapa host |
contained | chat | opcional | false | Fixa o painel dentro do elemento de montagem em vez de deixá-lo flutuar em document.body |
center | viewer, tile, editor | opcional | — | lon,lat |
zoom | viewer, tile, editor | opcional | editor: 2 | Zoom inicial |
pitch | viewer, tile, editor | opcional | 0 | Inclinação inicial |
bearing | viewer, tile, editor | opcional | 0 | Orientação inicial |
theme | chat, editor | opcional | — | String de objeto JSON de tokens CSS |
doorway | todos | opcional | padrão do produto | Substituição iframe | attach |
base | todos | opcional | https://cdn.kaleidr.com | Origem CDN para bundles carregados sob demanda (/embed/v1/*.js) |
viewer-base | viewer, tile | opcional | https://map-embed.kaleidr.com | Origem carregada pelo iframe — diferente do CDN do bundle |
api-base | chat, editor, tile | opcional | https://api.kaleidr.com/inference-api | Deve incluir /inference-api. Uma origem simples como https://api.kaleidr.com retorna 404 na troca de sessão. Aplica-se a qualquer produto que execute uma troca de sessão (chat, editor, tile). |
tile-base | editor | opcional | https://tile.kaleidr.com | CDN de tiles usado para resolver valores style-id do catálogo |
flag | todos | opcional | — | Substituição de dormancy por elemento |
* Obrigatório para uso autorizado/faturado. Viewer não precisa de chave; passar uma chave para um
Viewer embed é rejeitado com product_not_allowed.
Defina uma altura para o elemento (style inline ou CSS). Cada produto preenche seu
contêiner; um produto iframe dentro de um contêiner sem dimensões usa como alternativa
uma altura fixa de 500px para continuar visível.
Handle matrix
Comportamento conforme distribuído em /embed/v1/. Combinações não suportadas não lançam erros —
o SDK registra um aviso [kaleidr] e retorna. Isso faz parte do contrato do alias principal v1;
remover métodos chamáveis seria uma alteração incompatível de comportamento.
| Método | chat | viewer | editor | tile |
|---|---|---|---|---|
destroy() | sim | sim | sim | sim |
setCamera(camera) | no-op | sim | sim | sim |
setTheme(theme) | sim (live) | n/a | somente na montagem | n/a |
setStyle(styleId) | n/a | n/a | n/a | exposto apenas em tile |
Chat não controla a câmera do mapa — use a API de câmera da sua instância
após Kaleidr.mount(...). O live-setTheme do Editor chegará em uma versão posterior do SDK;
o theme na montagem já funciona.
Atualizações em tempo real
center, zoom, pitch e bearing são observados e reenquadram viewer,
editor e tile sem remontagem. Alterações de theme atualizam chat em tempo real;
o tema do editor continua limitado ao momento da montagem.
Chat + map-target
Chat se conecta ao seu mapa ativo, algo que um atributo string não consegue transportar. Há duas formas de fornecê-lo:
- Imperativa (recomendada):
Kaleidr.mount(el, { product: 'chat', publishableKey, map, contained: true }). - Declarativa: armazene sua instância do mapa no elemento host como
hostEl.__kaleidrMap__ = mape depois usemap-target="#host".
Sem um mapa, chat funciona em modo headless (sem interações com o mapa).