Zoeken...  ⌘K GitHub

InputField UI Elements

InputField component.

/input-field
src/components/ui/InputField.astro
---
// InputField, recovered from blurr-components.pages.dev
---

<div class="preview-wrapper--centered"> <div style="display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:400px"> <div class="if if--md" data-component="input-field"> <label class="if__label" for="input-htwgm"> E-mailadres <span class="if__required" aria-hidden="true">*</span> </label> <div class="if__wrap">  <input id="input-htwgm" type="email" class="if__input" placeholder="naam@bedrijf.nl" required aria-describedby="input-htwgm-helper">   </div>  <p class="if__message" id="input-htwgm-helper">We sturen alleen relevante updates.</p> </div>   <div class="if if--md" data-component="input-field"> <label class="if__label" for="input-6vdyu"> Wachtwoord  </label> <div class="if__wrap">  <input id="input-6vdyu" type="password" class="if__input" placeholder="Minimaal 8 tekens">  <button type="button" class="if__toggle-pw" aria-label="Toon/verberg wachtwoord"> <svg class="if__pw-show" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"> <path d="M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"></path> <circle cx="12" cy="12" r="3"></circle> </svg> </button> </div>   </div> <script>
    document.querySelectorAll('[data-component="input-field"]').forEach(field => {
      const btn = field.querySelector<HTMLButtonElement>('.if__toggle-pw');
      const input = field.querySelector<HTMLInputElement>('.if__input');
      if (btn && input) {
        btn.addEventListener('click', () => {
          input.type = input.type === 'password' ? 'text' : 'password';
        });
      }
    });
  </script>  <div class="if if--md" data-component="input-field"> <label class="if__label" for="input-wknct"> Opmerkingen  </label> <div class="if__wrap">  <textarea id="input-wknct" class="if__input if__textarea" placeholder="Vertel ons meer..." rows="3"></textarea>   </div>   </div>   <div class="if if--md if--error" data-component="input-field"> <label class="if__label" for="input-cibwr"> Fout voorbeeld  </label> <div class="if__wrap">  <input id="input-cibwr" type="text" class="if__input" placeholder="Vul in..." value="fout" aria-invalid="true" aria-describedby="input-cibwr-error">   </div> <p class="if__message if__message--error" id="input-cibwr-error" role="alert">Dit veld is verplicht.</p>  </div>   </div> </div>

<style>
,:before,:after{box-sizing:border-box;margin:0;padding:0}
.preview-wrapper--centered{display:flex;align-items:center;justify-content:center;min-height:200px;padding:2rem;background:#f9f9fb}
</style>