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

Lijst toevoegen en verwijderen New

Add and remove quote lines: a new line slides in, a removed one fades and the rest moves up smoothly while the total updates. View Transitions with view-transition-class for all rows at once; instant without support. Shows filled, empty and full (button disabled). Same-page pattern, see the other vt items for multi-page.

Offerte O-2026-0418Badkamer, Delft
    Totaal excl. btw

    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.
    <!-- Lijst toevoegen en verwijderen · NedDev · eigen werk. -->
    <div class="jouw-container">
    <!-- Dit is een same-document overgang (geen paginawissel). Elke rij krijgt tijdens de overgang een unieke
      view-transition-name (vtl-r1, vtl-r2 ...) en dezelfde view-transition-class: vtl-row, zodat één CSS-regel alle rijen stuurt.
      Op een multi-page site werkt hetzelfde over pagina's heen met @view-transition { navigation: auto; } en dezelfde namen op beide pagina's.
      Reduced motion: @media (prefers-reduced-motion: reduce) { ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none !important; } } -->
    <div class="vtl">
      <div class="vtl__top"><span class="vtl__kick">Offerte O-2026-0418</span><span class="vtl__sub">Badkamer, Delft</span></div>
      <ul class="vtl__list" aria-label="Offerteregels"></ul>
      <p class="vtl__leeg" hidden>Nog geen regels. Voeg een werkzaamheid toe.</p>
      <div class="vtl__foot">
        <button class="vtl__add" type="button"><svg viewBox="0 0 16 16" aria-hidden="true"><path d="M8 3v10M3 8h10"/></svg>Regel toevoegen</button>
        <span class="vtl__tot"><small>Totaal excl. btw</small><b></b></span>
      </div>
      <span class="vtl__sr" aria-live="polite"></span>
    </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 →