Composants
Sélecteur d’heure
Choisir une heure au pouce, sans clavier natif capricieux : une roue pour l’heure, puis une pour les minutes. La valeur part dans le formulaire au format HH:MM.
Essayer
Début
Fin (facultative, pas de 15 min)
<input aub-time name="start_time" value="09:00">
<input aub-time name="end_time" value="" data-aub-time-empty data-aub-time-step="15">Installer
Inclus dans aubui.js en mode complet (pas en mode léger). Le style est dans aubui.full.css. Seul :
<link rel="stylesheet" href="https://ui.aubota.xyz/css/aubui/components/timepicker.css">
<script src="https://ui.aubota.xyz/js/timepicker.js" defer></script>Référence
| Attribut | Effet |
|---|---|
aub-time (ou data-aub-time) | Sur un <input> : il devient type="hidden" et un bouton .aub-time__btn affiche la valeur. |
value="HH:MM" | Valeur initiale (00:00 à 23:59). Invalide ou vide → « 09:00 » affiché. |
data-aub-time-empty | Autorise l’absence de valeur : affiche « —:— » et ajoute un bouton « Effacer ». |
data-aub-time-step="15" | Pas des minutes (défaut 1). |
| JS | Rôle |
|---|---|
AubuiTime.scan(root?) | Améliore tous les champs du conteneur (fait automatiquement au chargement et pour le contenu injecté). |
AubuiTime.enhance(input) | Un seul champ ; sans effet s’il est déjà amélioré. |
événements change + input | Émis sur le champ caché à la validation (« OK »). |
Déroulé : clic → roue des heures → « Suivant » → roue des minutes → « OK ». Les chiffres en haut de la boîte permettent de revenir à l’heure ou aux minutes. Échap ou clic à côté = annuler.
Accessibilité
- Le bouton porte
aria-haspopup="dialog"etaria-expanded; donne-lui un nom avecaria-labelledbysur le champ ou un libellé visible à côté. - Les roues se pilotent à la souris, au doigt ou à la molette ; au clavier, les boutons Annuler / Suivant / OK sont atteignables, mais il n’y a pas encore de flèches ↑ ↓ dans la roue.
- « Effacer » vide le champ sans émettre
change: si tu écoutes la valeur, relis-la à l’envoi du formulaire.