rl-core-front 0.16.1 → 0.16.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -54,6 +54,11 @@ export interface DatePickerProps {
|
|
|
54
54
|
* O campo é **digitável**: `1108` já é 11 de agosto, e quem sabe a data não
|
|
55
55
|
* precisa navegar meses no calendário para dizê-la. O calendário continua ali,
|
|
56
56
|
* no ícone — é o caminho de quem procura o dia, não de quem já o conhece.
|
|
57
|
+
*
|
|
58
|
+
* Focar o campo marca a data inteira, e por isso a digitação sempre começa
|
|
59
|
+
* pelo dia. Com o cursor solto no fim do ano — onde o navegador o deixa —
|
|
60
|
+
* escrever outra data exigia apagar dez caracteres primeiro, e um dígito
|
|
61
|
+
* digitado ali entrava no meio do ano.
|
|
57
62
|
*/
|
|
58
63
|
export function DatePicker({
|
|
59
64
|
value,
|
|
@@ -145,6 +150,20 @@ export function DatePicker({
|
|
|
145
150
|
inputMode="numeric"
|
|
146
151
|
placeholder={placeholder ?? dayPlaceholder(locale)}
|
|
147
152
|
onChange={(event) => digitar(event.target.value)}
|
|
153
|
+
// Chegou o foco, a data inteira fica marcada: o próximo dígito
|
|
154
|
+
// reescreve a data do dia em diante, em vez de se enfiar no meio
|
|
155
|
+
// do ano.
|
|
156
|
+
onFocus={(event) => event.currentTarget.select()}
|
|
157
|
+
// O clique é o nosso, e não o do navegador: o dele põe o cursor
|
|
158
|
+
// onde se clicou e desfaz, no `mouseup`, a seleção que o foco
|
|
159
|
+
// acabou de fazer. Só no primeiro clique — dentro do campo já
|
|
160
|
+
// focado, clicar e arrastar volta a valer.
|
|
161
|
+
onMouseDown={(event) => {
|
|
162
|
+
if (document.activeElement !== event.currentTarget) {
|
|
163
|
+
event.preventDefault();
|
|
164
|
+
event.currentTarget.focus();
|
|
165
|
+
}
|
|
166
|
+
}}
|
|
148
167
|
// Sai do campo e o rascunho some: `11/0` não é data, e deixá-lo
|
|
149
168
|
// escrito faria o campo mostrar uma coisa e o formulário guardar
|
|
150
169
|
// outra.
|