Make the ui_icon field/widget editable as a Drupal Canvas component input
The `ui_icon` field type and its `icon_widget` are not usable as Drupal Canvas component inputs. Canvas only renders widgets that carry client-side transform metadata (it throws a `LogicException` otherwise), and it only offers a widget once an SDC prop shape is mapped to a field type. Neither is wired up for UI Icons, so an SDC string prop intended for an icon cannot be edited in the Canvas builder.
**Proposed resolution**
1. Register a custom Canvas transform via `hook_field_widget_info_alter()`
Declare a client-side uiIcon transform for the icon_widget, following the same pattern Canvas uses for its core widgets.
The widget stores its value under `value[icon_id]`, which is nested too deeply for Canvas's default `mainProperty` transform. A dedicated uiIcon transform is therefore required to extract and return the canonical `pack_id:icon_id` string expected by Canvas.
2. Map ui-icon SDC props via `hook_canvas_storable_prop_shape_alter()`
Route any SDC string property annotated with x-canvas-prop: ui-icon to the `target_id` property of a ui_icon field, using the native icon_widget editor.
This allows Canvas to automatically recognise and edit icon-backed component properties through the existing UI Icons field widget.
This would enables UI Icons to participate in Canvas property editing and serialisation with behavior consistent with Canvas's built-in field integrations.
issue