### Godot version

v4.1.stable.official [970459615]

### System information

Godot v4.1.stable - Pop!_OS 22.04 LTS - Vulkan (Compatibility) - NVIDIA GeForce MX350 (nvidia; 525.116.04) - 11th Gen Intel(R) Core(TM) i7-1165G7 @ 2.80GHz (8 Threads)

### Issue description

When I use the color picker to change a color, I can paste an HTML color code or write it myself. I can also prefix my text with a `#`  &mdash; the color picker will accept it as a valid color and update the corresponding element with that color. This is especially useful when I copy an HTML color code from a color palette like the one on lospec.com, since they always have a hash in front of them.

However, I cannot paste HTML color codes with surrounding spaces into this text box, even though the color code (without the spaces) is valid.

I would definitely call this behaviour a bug, since other programs like Affinity Designer, Blender or Gimp are very permissive about the input of HTML color codes. Or according to Jon Postel, *Be conservative in what you send, be liberal in what you accept.*

### Steps to reproduce

Preparation: 

1. create a new Godot project
2. create a new 2d scene
3. add a ColorRect node.
4. open the color picker for the color attribute in the inspector tab.

Explore the bug:

1. enter a valid HTML color code like `000` (black) => color is updated.
2. enter a valid HTML color code like `#fff` (white) => color is updated.
3. enter a valid HTML color code with leading space, for example `   #000` => color is not updated.
4. enter a valid HTML color code like `#000`(black) => color is updated.
5. enter a valid HTML color code with surrounding spaces, e.g. `   fff   ` => color is not updated.
6. enter a valid HTML color code like `fff`=> color is updated.

### Minimal reproduction project

N/A
}
			add_recent_preset(color);
			changing_color = false;
			spinning = false;
		} else {
			changing_color = false;
			spinning = false;
		}
	}
	Ref<InputEventMouseMotion> mev = p_event;
	if (mev.is_valid()) {
		if (!changing_color) {
			return;
		}
		Vector2 center = c->get_size() / 2.0;
		if (actual_shape == SHAPE_VHS_CIRCLE || actual_shape == SHAPE_OKHSL_CIRCLE) {
			real_t dist = center.distance_to(mev->get_position());
			real_t rad = center.angle_to_point(mev->get_position());
			h = ((rad >= 0) ? rad : (Math_TAU + rad)) / Math_TAU;
			s = CLAMP(dist / center.x, 0, 1);
		} else {
			if (spinning) {
				real_t rad = center.angle_to_point(mev->get_position());
				h = ((rad >= 0) ? rad : (Math_TAU + rad)) / Math_TAU;
			} else {
				real_t corner_x = (c == wheel_uv) ? center.x - Math_SQRT12 * c->get_size().width * 0.42 : 0;
				real_t corner_y = (c == wheel_uv) ? center.y - Math_SQRT12 * c->get_size().height * 0.42 : 0;
				Size2 real_size(c->get_size().x - corner_x * 2, c->get_size().y - corner_y * 2);
				real_t x = CLAMP(mev->get_position().x - corner_x, 0, real_size.x);
				real_t y = CLAMP(mev->get_position().y - corner_y, 0, real_size.y);