refactor(color): unify color sanitizing and picking behind shared components
- Add AKSRT\Core\Color::sanitize($value, $allow_alpha) as the single PHP color sanitizer; replace sanitize_hex_color calls and per-class regexes (FloatButtons, FieldSchema, ThemeSearch, icon cards, TicketStatusService) - SchemaProvider / ControllerBase sanitize `color` fields as colors; alpha kept only when the schema sets showAlpha - Split SchemaProvider OAuth validation and option matching into sibling traits to stay under the 1000-line limit - Add AksColorPicker.vue + utils/color.js mirroring the PHP rules; AksField, FloatBtnCommonFields and TicketStatusPanel use it - Widget background color input now uses wpColorPicker - Remove dead AksCompositeField dimensions/spacing/background branches and the unused Gutenberg ColorPicker var - Add color-unification contract test; update harness requires and tests Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
74021d26bb
commit
57ff405691
32 files changed
+522
-456
No files matched your search
@@ -108,6 +108,12 @@ abstract class ControllerBase {
|
||||
$ids = is_array($val) ? array_filter(array_map('absint', $val)) : [];
|
||||
$out[$key] = array_values(array_unique($ids));
|
||||
break;
|
||||
case 'color':
|
||||
$out[$key] = \AKSRT\Core\Color::sanitize($val);
|
||||
break;
|
||||
case 'color_alpha':
|
||||
$out[$key] = \AKSRT\Core\Color::sanitize($val, true);
|
||||
break;
|
||||
default:
|
||||
$out[$key] = sanitize_text_field($val);
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user