open-index/open-npm huggingface dataset:
npm package: @hemocione/sdk
Description: SDK for Hemocione
Latest version: 0.0.5

# @hemocione/sdk

SDK oficial da Hemocione para integração com aplicações web.  
Este SDK detecta automaticamente se está rodando **dentro de um iframe** ou **fora dele** e se adapta para expor a mesma interface, utilizando comunicação com o pai via `postMessage` quando necessário.

## ✨ Principais funcionalidades

- API consistente para apps integrados via iframe ou standalone
- Comunicação entre iframe e pai baseada em `postMessage`
- Tipagem total com TypeScript
- Suporte a compartilhamento de conteúdo (`navigator.share` ou proxy via pai)

## 📦 Instalação

```bash
yarn add @hemocione/sdk
# ou
npm install @hemocione/sdk
```

## Uso

A SDK deve ser instanciada apenas do lado do cliente client. Tenha cautela com isso caso esteja utilizando tecnologias ou frameworks que permitam SSR, como Nuxt e Next.

As chamadas da SDK estão todas tipadas - utilize sua IDE para descobrir os métodos existentes.

### Uso básico - dentro do iframe

```ts
import { createHemocioneSdk } from '@hemocione/sdk'

const sdk = createHemocioneSdk()

const result = await sdk.share({
  text: 'pipipopo',
  url: 'https://hemocione.com.br',
})
```

### Uso básico - fora do iframe

```ts
import { createIframeReceiver } from '@hemocione/sdk'

const iframeListener = createIframeReceiver() // inicia o listener padrão

iframeListener.on('hemocione:share', async (data) => {
  console.log('Recebido o share')
  return {
    success: true,
  }
})
```

Você pode configurar origens permitidas:

```ts
createIframeReceiver(['https://meuapp.com'])
```