+ {Array.from({length}, (_, i) => (
+
= length))
+ ? '0 0 0 2px var(--focus-ring-color)'
+ : 'none',
+ color: 'var(--field-text-color)',
+ transition: 'box-shadow 150ms'
+ }}>
+ {value[i] ?? ''}
+
+ ))}
+
+ );
+ }
+
+
+ {Array.from({length}, (_, i) => {
+ let isAtCaret = value.length === i;
+ let isLastFilled = i === length - 1 && value.length >= length;
+ return (
+
+ {value[i] ?? ''}
+
+ );
+ })}
+
+ );
+ }
+
+