Guides
Comment installer Add to Calendar Button avec React
Depuis React 19, les Web Components sont entièrement pris en charge sans wrapper ni contournement. Utilisez directement le Web Component Add to Calendar Button dans votre JSX.
Nous détaillons toutes les options ci-dessous.
Étape 1: Installation npm
Installez le paquet depuis le registre npm.
npm install add-to-calendar-buttonÉtape 2: Importation
Importez le module dans le composant où vous souhaitez utiliser le bouton.
import 'add-to-calendar-button';Étape 3: Utilisation
Commencez par ajouter une balise <add-to-calendar-button> à votre code HTML, avec les options sous forme d’attributs.
Avec React 19, les propriétés des custom elements peuvent être typées grâce au support TypeScript. Enregistrez le type une fois, par exemple dans global.d.ts, pour bénéficier du typage complet :
import type { AddToCalendarButtonType,} from 'add-to-calendar-button';import type { DetailedHTMLProps, HTMLAttributes,} from 'react';
declare module 'react' { namespace JSX { interface IntrinsicElements { 'add-to-calendar-button': DetailedHTMLProps< Omit<HTMLAttributes<HTMLElement>, keyof AddToCalendarButtonType>, HTMLElement > & AddToCalendarButtonType; } }}
export {};Si compilerOptions.types est défini dans votre tsconfig, ajoutez react et react-dom aux entrées existantes :
{ "compilerOptions": { "types": ["vite/client", "react", "react-dom"] }}Votre bloc de code pourrait ressembler à ceci.
<add-to-calendar-button name="Titre" options="'apple','google'" location="World Wide Web" start-date="2026-10-18" end-date="2026-10-18" start-time="10:15" end-time="23:30" time-zone="Europe/Paris" language="fr"></add-to-calendar-button>Notez que le bouton ne fonctionne que côté client ! Ajoutez 'use client'; lorsque nécessaire.
Styles et langues
Le script inclut le style de bouton « default » et le pack anglais : le bouton est donc immédiatement fonctionnel et agréable sans configuration supplémentaire.
Lorsque vous chargez directement le script navigateur, les autres styles et langues sont chargés automatiquement à la demande (quelques Ko chacun). Les intégrations groupées doivent enregistrer explicitement les modules requis comme ci-dessous.
Bundling via npm (recommandé pour les frameworks)
Lors du bundling, importez les modules de style et de langue requis avant le module principal. Ils sont ainsi enregistrés sans requête avant la mise à niveau du custom element, y compris pendant l’hydratation SSR :
import 'add-to-calendar-button/styles/3d'; // any style besides "default"import 'add-to-calendar-button/i18n/de'; // any language besides Englishimport 'add-to-calendar-button'; // load the component lastPour charger tous les styles ou toutes les langues en une seule instruction, utilisez les modules agrégés : import 'add-to-calendar-button/styles/all' et import 'add-to-calendar-button/i18n/all'.
Consultez les options « button-style » et « language » sur la page Configuration pour tous les détails.