docs: clarify color picker invalid confirmation

Issue: #476
User-Visible: no
This commit is contained in:
Sergey Matyunin
2026-09-06 12:37:50 +00:00
committed by claude[bot]
parent 98ac71b902
commit b306dedb92
+11 -2
View File
@@ -133,6 +133,10 @@ theme tokens House Plan для primary action. В `forced-colors` использ
повторное «ОК» без нового валидного пользовательского ввода не имеет права
снять состояние ошибки только потому, что commit уже вернул в поле последнее
валидное значение: поверхность остаётся открытой до реального исправления.
Компонент обязан отдельно запоминать, что после неуспешного commit не было
нового `input`-события HEX-поля. Этот признак не сбрасывается нормализацией
draft внутри commit helper, повторным нажатием «ОК», blur или переводом фокуса;
он снимается только новым пользовательским `input` с валидным HEX.
### 7.4 Остальные способы закрытия
@@ -330,8 +334,13 @@ interaction contract, а не скрытая правка обработчика
- рабочее имя нового поля — `ColorPickerLabels.confirm`, ключ —
`color_picker.confirm`;
- confirm вызывает существующий HEX commit helper и использует результат
валидации, после чего вызывает единый `_closePicker(true, ...)`;
- confirm может переиспользовать существующий HEX commit helper, но решение о
закрытии не выводится только из нормализованного `_hexDraft`: компонент хранит
отдельный признак неуспешного commit без последующего валидного
пользовательского `input`. Невалидный commit устанавливает признак, а снять
его может только новое `input`-событие HEX-поля с валидным значением; blur,
нормализация draft и повторный confirm его не снимают. `_closePicker(true,
...)` вызывается только когда текущий draft валиден и этот признак снят;
- отдельный custom event `confirm` не нужен: родители уже получили live value;
- кнопка стилизуется внутри shadow DOM `hp-color-opacity` theme tokens без
зависимости от HA-private web components;