You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte-kit-vice/docs/audit/components/time-field.md

4.0 KiB

time-field — ficha de auditoría (RE-AUDITADA 2026-07-07, profundidad piloto)

  • Familia: fields (trío de segmentos) · Método: solo análisis; evidencia por dimensión · demos fuera
  • Capas leídas: morfo completo (1-100+teclado) · soma types completo · provider dirigido (commit wiring :436) · wrapper eidos completo · css/recipe (censo familia: focus o2/b1, alturas, marker compartido) · sema: sin pack, declarado (expression: "family-default", morfo :8)
  • Máquina: PASS limpio · tests ✓ · README ×2 ✓

Dimensiones (evidencia leída)

# Dimensión Estado Evidencia
1 Composición ✓ Partes compositivas (Provider/Input/Segment/Label/HiddenInput); snippet segments ordenado (types :20-22)
2 Naming ✓ conforme value/onValueChange + placeholder/onPlaceholderChange (types :30-36); validate/onInvalid, minValue/maxValue, readonlySegments, granularity, hideTimeZone, errorMessageId, locale/dir/hourCycle (:38-67) — fila conforme en _naming.md
3 Coherencia semántica hallazgo de trío Solo commit-set (morfo :14-25) — date-field además emite commit-reset al limpiar: vaciar un time-field no produce señal semántica → F-1. intent: neutral, sequence: post ✓ canon
4 API ✓ Espejo exacto de date-field (sin kind, correcto: no aplica a horas); bindables declarados; fallbacks reactivos documentados (types :59-67)
5 Tokens ✓ con dup Recipe canónico; height-{k} re-declara el bundle (SYS-6, evidencia matriz familia)
6 Sema declarado, cuestionado family-default EXPLÍCITO en morfo — el trío roto es elección declarada, no olvido; la pregunta SYS-3 pasa a ser: ¿debe el trío compartir UNA expression (los tres pack o los tres default)? El provider usa fallbackTarget en el trigger (:436 ✓ el fix de partes doble-registradas)
7 Animaciones ✓ Sin keyframes; transición solo-background heredada del patrón de familia
8 Contrato morfo ✓ más rico que su hermano APG spinbutton ✓; teclado 5 teclas (verificado — sin Home/End, F-2); su bloque ARIA del Input es MÁS completo que el de date-field: añade aria-readonly ariaBoolean + aria-invalid condicional (morfo :76-90) que date-field no tiene → F-3 (unificar el trío al bloque rico)
9 A11y ✓ con F-2 aria-value* por segmento, labelledby condicional; falta Home/End
10 Theming censo Focus outline (o2/b1) → SYS-5; segment marker compartido ✓ (state-layer llega)
11 Composición interna mandato Sin wrapper [data-field] (SYS-6/B.1 — fue LA sonda en vivo de esta familia); wrapper eidos espejo exacto de date-field (leído)
12 Estados ✓ invalid/disabled/readonly/required + readonlySegments granular; hidden-input forms ✓
13 Runtime ✓ Sin timers/listeners crudos en lo dirigido; fallbackTarget ✓
14 Docs+tests ✓ README ×2, suite ✓
15 i18n ✓ texts morfo; formatter por locale reactivo; $libs/days ✓

Hallazgos y propuestas

ID Hallazgo Propuesta
F-1 Falta commit-reset (date-field lo tiene; limpiar no suena) Añadir el evento al morfo + wiring en provider (espejo de date-field) — como parte del veredicto de trío SYS-3
F-2 Sin Home/End (APG spinbutton) Pass de familia de segmentos (con date/color)
F-3 ARIA del Input asimétrico en el trío (este es el RICO) Unificar: date-field adopta aria-readonly/aria-invalid de time-field
F-4 height-{k} duplicadas SYS-6

Escalan al sistema

SYS-3 matizado con evidencia nueva: el trío declara expressions distintas a propósito (pack vs family-default ×2) — el veredicto es de COHERENCIA declarada, no de olvido. · SYS-5 · SYS-6.

Veredictos

(pendiente — checkpoint post-barrido)

Powered by TurnKey Linux.