Home Work
SaaS developmentAI developmentAPI developmentMobile app developmentGoogle Ads managementHeadless ShopifyLaravel developmentNext.js developmentReact developmentTypeScript engineeringUI/UX designSEO & AEOEcommerce development
AI solutionsB2B platformsE-commerceHospitalityLead generationLogisticsEducationProcess automationSaaS platformsStartup MVPReal estateHealthcare
LegalHealthcareReal estateFinanceHospitality
The HagueRotterdamAmsterdamUtrechtEindhovenAlmereBredaArnhemNijmegenTilburgEnschedeGroningenLeidenDelftZoetermeerDen Bosch
Studio
AboutProcessLabBlogContact

Chatvenster in WhatsApp-stijl New

Chat window styled like a messaging app (no brand logo or colour): tailed bubbles with time and ticks (sent, delivered, read), a typing indicator, quick replies and a composer whose send button only activates with text. "Continue in WhatsApp" builds a wa.me link with the conversation. The message list is role="log" with aria-live; replies are demo texts.

Hendriks InstallatieReageert meestal binnen 10 min

Vandaag

Goedemiddag, je spreekt met Ruben van Hendriks Installatie. Waarmee kan ik helpen?

Mijn cv-ketel geeft code F28 en de radiatoren blijven koud.

Vervelend. F28 betekent meestal dat de ketel niet ontsteekt. Staat de gaskraan open?

How to use it

  1. Paste the HTML where the components should appear.
  2. Add the CSS to your stylesheet. All classes are prefixed, so nothing clashes with your own styles.
  3. Add the JavaScript and call init() with the element that contains the HTML.
<!-- Chatvenster in WhatsApp-stijl · NedDev · eigen werk. -->
<div class="jouw-container">
<div class="cwa"><div class="cwa__win">
<div class="cwa__head"><span class="cwa__av" aria-hidden="true">RH</span><div class="cwa__who"><b>Hendriks Installatie</b><span class="cwa__stat">Reageert meestal binnen 10 min</span></div><a class="cwa__wa" href="https://wa.me/31101234567" target="_blank" rel="noopener"><svg viewBox="0 0 16 16" aria-hidden="true"><path d="M8 1.5a6.5 6.5 0 0 0-5.6 9.8L1.5 14.5l3.3-.9A6.5 6.5 0 1 0 8 1.5z"/></svg><span class="cwa__wa-l">Ga verder in WhatsApp</span><span class="cwa__wa-s">WhatsApp</span></a></div>
<div class="cwa__log" role="log" aria-live="polite" aria-label="Gesprek met Hendriks Installatie" tabindex="0">
<p class="cwa__day">Vandaag</p>
<div class="cwa__m cwa__m--them"><p>Goedemiddag, je spreekt met Ruben van Hendriks Installatie. Waarmee kan ik helpen?</p><span class="cwa__meta"><time>14:02</time></span></div>
<div class="cwa__m cwa__m--me"><p>Mijn cv-ketel geeft code F28 en de radiatoren blijven koud.</p><span class="cwa__meta"><time>14:03</time><span class="cwa__tick" data-s="read" role="img" aria-label="Gelezen"><svg viewBox="0 0 18 10" aria-hidden="true"><path class="cwa__t1" d="M1 5.5l3 3 6-7"/><path class="cwa__t2" d="M7 8.5l1 0.2 6-7.2"/></svg></span></span></div>
<div class="cwa__m cwa__m--them"><p>Vervelend. F28 betekent meestal dat de ketel niet ontsteekt. Staat de gaskraan open?</p><span class="cwa__meta"><time>14:04</time></span></div>
<div class="cwa__typing" aria-hidden="true" hidden><i></i><i></i><i></i></div>
</div>
<div class="cwa__quick" role="group" aria-label="Snelle antwoorden"><button type="button">Ja, die staat open</button><button type="button">Kan er vandaag iemand komen?</button><button type="button">Wat kost een monteur?</button></div>
<form class="cwa__comp"><label class="cwa__sr" for="cwa-in">Bericht aan Hendriks Installatie</label><textarea class="cwa__in" id="cwa-in" rows="1" placeholder="Typ een bericht"></textarea><button class="cwa__send" type="submit" disabled aria-label="Verstuur bericht"><svg viewBox="0 0 16 16" aria-hidden="true"><path d="M2 8l12-6-4.5 12-2-5z"/></svg></button></form>
</div></div>
</div>

More components

Seen something you like?

Add it to your selection and send it over. We build your site around it, in your brand.

Get in touch →