Formulaires avances

Composants de formulaire specialises : selects recherchables, combobox, date/heure, telephone, IBAN, mot de passe et OTP.

BcSelectSearchable

Select avec recherche integree dans le dropdown.

Tapez pour filtrer les options

vue
<BcSelectSearchable
  v-model="selectVal"
  label="Fruit prefere"
  placeholder="Rechercher un fruit..."
  :options="fruits"
  hint="Tapez pour filtrer les options"
/>

Props

PropTypeDefaultDescription
modelValuestring | number | nullnullValeur selectionnee (v-model)
labelstringLabel du champ
placeholderstring"Selectionner..."Placeholder
hintstringTexte d'aide
errorstringMessage d'erreur
optionsSelectOption[]Options { value, label, disabled?, keywords? }
disabledbooleanfalseDesactive
requiredbooleanfalseRequis
emptyLabelstring"Aucun resultat"Texte si aucun resultat

BcCombobox

Champ avec libre saisie et suggestions.

vue
<BcCombobox
  v-model="comboVal"
  label="Fruit"
  placeholder="Rechercher ou saisir..."
  :options="fruits"
/>

Props

PropTypeDefaultDescription
modelValuestring""Valeur saisie (v-model)
labelstringLabel
placeholderstring"Rechercher..."Placeholder
hintstringTexte d'aide
errorstringMessage d'erreur
optionsComboboxOption[]Suggestions { value, label, keywords?, disabled? }
requiredbooleanfalseRequis
disabledbooleanfalseDesactive
emptyLabelstring"Aucun resultat"Texte si aucun resultat

BcDatePicker

Format : JJ/MM/AAAA

vue
<BcDatePicker v-model="dateVal" label="Date de naissance" hint="Format : JJ/MM/AAAA" />

Props

PropTypeDefaultDescription
modelValuestring""Date au format ISO (v-model)
labelstringLabel
hintstringTexte d'aide
errorstringMessage d'erreur
minstringDate minimale
maxstringDate maximale
requiredbooleanfalseRequis
disabledbooleanfalseDesactive
readonlybooleanfalseLecture seule

BcTimePicker

Format 24h

vue
<BcTimePicker v-model="timeVal" label="Heure de rendez-vous" hint="Format 24h" />

Props

PropTypeDefaultDescription
modelValuestring""Heure au format HH:MM (v-model)
labelstringLabel
hintstringTexte d'aide
errorstringMessage d'erreur
minstringHeure minimale
maxstringHeure maximale
stepnumber60Pas en secondes
requiredbooleanfalseRequis
disabledbooleanfalseDesactive

BcPhoneInput

Champ telephone avec selecteur de pays et indicatif.

vue
<BcPhoneInput
  v-model="phoneVal"
  v-model:country-code="phoneCode"
  label="Telephone"
  :countries="countries"
  placeholder="6 12 34 56 78"
/>

Props

PropTypeDefaultDescription
modelValuestring""Numero de telephone (v-model)
countryCodestring""Indicatif pays (v-model:country-code)
countriesPhoneCountry[]Liste { code, label, flag?, disabled? }
labelstringLabel
placeholderstring"6 12 34 56 78"Placeholder
hintstringTexte d'aide
requiredbooleanfalseRequis
disabledbooleanfalseDesactive

BcIbanInput

Champ IBAN avec formatage automatique et validation en temps reel.

Entrez votre IBAN

Format a verifier

vue
<BcIbanInput v-model="ibanVal" label="IBAN" hint="Entrez votre IBAN" />

Props

PropTypeDefaultDescription
modelValuestring""Valeur IBAN formatee (v-model)
labelstringLabel
hintstringTexte d'aide
placeholderstring"FR76 3000 ..."Placeholder
requiredbooleanfalseRequis
disabledbooleanfalseDesactive
countryWhiteliststring[][]Codes pays autorises
liveValidationbooleantrueValidation en temps reel

BcPasswordInput

Champ mot de passe avec toggle de visibilite et indicateur de force.

Solidite: Vide
vue
<BcPasswordInput v-model="passVal" label="Mot de passe"
  placeholder="Entrez votre mot de passe" show-strength />

Props

PropTypeDefaultDescription
modelValuestring""Mot de passe (v-model)
labelstringLabel
placeholderstringPlaceholder
hintstringTexte d'aide
errorstringMessage d'erreur
state"default" | "success" | "error""default"Etat visuel
requiredbooleanfalseRequis
disabledbooleanfalseDesactive
autocompletestring"current-password"Attribut autocomplete
showStrengthbooleantrueAfficher l'indicateur de force

BcOtpInput

Champ OTP (One-Time Password) avec auto-focus.

Code de verification

Entrez le code recu par SMS

vue
<BcOtpInput v-model="otpVal" label="Code de verification"
  :length="6" hint="Entrez le code recu par SMS" />

Props

PropTypeDefaultDescription
modelValuestring""Code OTP (v-model)
lengthnumber6Nombre de cellules
labelstringLabel
hintstringTexte d'aide
errorstringMessage d'erreur
disabledbooleanfalseDesactive
inputMode"numeric" | "text""numeric"Mode de saisie
separatorbooleantrueSeparateur entre les cellules

BcInputGroup

Champ avec prefixe et/ou suffixe (symbole monetaire, URL, etc.).

Démo interactive

https://

Endpoint de reception des evenements b.connect

@bconnect.fr

Montant en euros — separateur de milliers recommande

GET

Prefixe texte — URL

vue
<BcInputGroup
  v-model="groupUrl"
  label="Webhook URL"
  prefix="https://"
  hint="Endpoint de reception des evenements b.connect"
/>

Prefixe icone + suffixe texte — Email

vue
<BcInputGroup v-model="groupEmail" label="Email de contact">
  <template #prepend>
    <span class="prefix"><i class="bi bi-envelope" /></span>
  </template>
  <template #append>
    <span class="suffix">@bconnect.fr</span>
  </template>
</BcInputGroup>

Suffixe texte + alignement droite — Montant

vue
<BcInputGroup
  v-model="groupAmount"
  label="Montant"
  suffix="€"
  align="right"
  mono
  hint="Montant en euros — separateur de milliers recommande"
/>

Prefixe badge — Endpoint API

vue
<BcInputGroup v-model="groupEndpoint" label="Endpoint API" mono readonly>
  <template #prepend>
    <span class="prefix"><bc-badge variant="success" class="bc-mono">GET</bc-badge></span>
  </template>
</BcInputGroup>

Props

PropTypeDefaultDescription
modelValuestring""Valeur (v-model)
labelstringLabel
typestring"text"Type HTML
placeholderstringPlaceholder
hintstringTexte d'aide
errorstringMessage d'erreur
prefixstringTexte prefixe
suffixstringTexte suffixe
align"left" | "right""left"Alignement du texte
monobooleanfalsePolice monospace
requiredbooleanfalseRequis
disabledbooleanfalseDesactive

Slots

SlotDescription
prependContenu avant le champ (remplace prefix)
appendContenu apres le champ (remplace suffix)

Modificateurs et attributs utiles

PropDescription
prependTexte ou slot a gauche
appendTexte ou slot a droite
.bc-monoClasse utilitaire pour police monospace
.text-rightAlignement droite (montants)
readonlyChamp non editable (endpoints, tokens)

BcPasswordStrength

Indicateur visuel de robustesse de mot de passe. 4 barres colorées + label textuel. Connecter en live sur le champ BcPasswordInput.

Démo

Empty
vue
<script setup>
import { ref } from 'vue'
const pwd = ref('')
</script>

<BcInput v-model="pwd" type="password" label="Mot de passe" />
<BcPasswordStrength :value="pwd" />

Niveaux de score

ScoreLabelConditions
0EmptyChamp vide
1WeakAu moins 1 caractère
2MediumLongueur ≥ minLength
3GoodMajuscule + minuscule + chiffre
4Strong+ caractère spécial

Props

PropTypeDefaultDescription
valuestring""Valeur du mot de passe (lier au v-model du champ)
minLengthnumber8Longueur minimale pour le score 2
showLabelbooleantrueAffiche le label textuel (Weak / Medium / Good / Strong)

BcPhoneSelect

Sélecteur de préfixe téléphonique (indicatif pays) avec drapeau. S'utilise en combinaison avec BcPhoneInput ou un champ texte.

Démo

vue
<BcPhoneSelect
  v-model="country"
  label="Pays"
  :countries="[
    { code: '+33', label: 'France', flag: '🇫🇷' },
    { code: '+32', label: 'Belgique', flag: '🇧🇪' },
    { code: '+41', label: 'Suisse', flag: '🇨🇭' },
  ]"
/>

Type PhoneCountry

ts
interface PhoneCountry {
  code: string      // indicatif ex. "+33"
  label: string     // nom du pays
  flag?: string     // emoji drapeau (optionnel)
  disabled?: boolean
}

Props

PropTypeDefaultDescription
modelValuestring""Code sélectionné (v-model)
countriesPhoneCountry[]— (requis)Liste des pays
labelstring"Country"Label du champ
disabledbooleanfalseDésactive le select
showFlagbooleantrueAffiche le drapeau dans les options
hideFlagbooleanfalseForce le masquage du drapeau (prioritaire sur showFlag)

Events

EventPayloadDescription
update:modelValuestringChangement de code (v-model)
changestringChangement de code