ES EN

Web Components y Vue

Componentes agnósticos al framework para máxima compatibilidad con cualquier arquitectura.

Web Component (Vanilla JS, PHP, Rails)

Si no utilizas React ni Vue, o estás integrando Cord en un sitio renderizado en el servidor (como Laravel, Django, o WordPress), puedes utilizar el Web Component estándar (<cord-cotizador>).

Este componente está compilado bajo los estándares de la plataforma web, lo que significa que el navegador lo entiende de forma nativa sin necesidad de un bundler.

{/* Importar el módulo ES */}
<script type="module" src="https://unpkg.com/@flouviahq/elements/dist/index.mjs"></script>

{/* Renderizar el componente nativo */}
<div style="height: 800px;">
  <cord-cotizador 
    token="tok_A1B2C3D4E5" 
    base-url="https://cordhq.app" 
    min-height="500">
  </cord-cotizador>
</div>

<script>
  // Escuchar eventos estándar del DOM
  const cotizador = document.querySelector('cord-cotizador');
  
  cotizador.addEventListener('approved', (e) => {
    console.log('¡Cotización aprobada!', e.detail.folio);
  });
</script>

Nota de Eventos: Al usar el Web Component nativo, los eventos llegan sin el prefijo cord:. Es decir, en lugar de escuchar cord:approved, escucharás simplemente approved como cualquier otro evento de la API del DOM.

Vue y Nuxt

El SDK de Cord provee un envoltorio nativo (wrapper) para Vue 3 que maneja la reactividad y los eventos utilizando el paradigma de Vue (@ o v-on).

Instalación

npm install @flouviahq/elements

Uso

Importa el componente <CordCotizador> desde el entrypoint /vue y pásalo a tu template.

<script setup>
import { CordCotizador } from '@flouviahq/elements/vue';
import { ref } from 'vue';

const miToken = ref('tok_A1B2C3D4E5');

function handleApproved(detail) {
  console.log('El cliente firmó:', detail.signed_by);
}

function handlePay(detail) {
  window.location.href = detail.url;
}
</script>

<template>
  <main class="cotizacion-container">
    <CordCotizador
      :token="miToken"
      @approved="handleApproved"
      @pay="handlePay"
    />
  </main>
</template>

Framer

Si estás construyendo tu sitio web en Framer, puedes agregar Cord Elements como un Code Component arrastrable y soltable.

Crea un nuevo componente de código en Framer y pega lo siguiente:

import { FramerCordCotizador } from '@flouviahq/elements/framer';
export default FramerCordCotizador;

Esto registrará los controles de propiedades en la interfaz visual de Framer (Property Controls), exponiendo el campo Token en el panel derecho para que tus diseñadores puedan modificarlo visualmente sin tocar código.