I have been looking into the color picker for
this ticket on LibAddonMenu and noticed a few bugs.
COLOR_PICKER.colorSelect:SetColorAsRGB does not accept 3 identical values
e.g. COLOR_PICKER.colorSelect:SetColorAsRGB(1,1,1) does not set the color to white and GetFullValuedColorAsRGB will return the old color.
This causes the thumb texture and the vertical slider to show the wrong color when the dialog is opened, the selection was cancelled on an arbitrary color before and the current color is a shade of grey.
As described in the linked ticket, the ESC key does not trigger COLOR_PICKER:Cancel(). Setting a noChoiceCallback can potentially fix the issue.
Another small thing I noticed is that the colorSelectedCallback is never reset when the dialog is closed, which can cause issues if a script tries to set the color while the dialog is hidden. I suggest that it is set to nil in COLOR_PICKER:Confirm() to avoid this.
I am going to add fixes for these to Medic.