feat(badges): per-slot fg/bg colors for punch-out hole markers

Adds left_fg/left_bg, right_fg/right_bg, center_fg/center_bg to punch_holes
cfg_json, plus shared fg/bg fallback. Template form shows color pickers per
slot (only when slot is enabled). Defaults: #777777 stroke, rgba white fill.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Scott Idem
2026-06-04 20:01:03 -04:00
parent 4831f4b81b
commit 04c2042060
3 changed files with 85 additions and 25 deletions

View File

@@ -56,10 +56,20 @@ export interface BadgeTemplateCfg {
// Slots are pre-perforated on the badge stock — markers guide attendees to push them out.
// Hole dimensions: 5/8in wide × 1/8in tall, 1/4in from top, 3/8in from left/right edges.
// Center hole: horizontally centered, same vertical position.
// Colors: per-slot _fg/_bg override the shared fg/bg fallback. Unset = component defaults.
// fg = stroke + line color (hex). bg = rectangle fill color (hex).
punch_holes?: {
left?: boolean;
right?: boolean;
center?: boolean;
fg?: string; // shared fallback stroke/line color
bg?: string; // shared fallback fill color
left_fg?: string;
left_bg?: string;
right_fg?: string;
right_bg?: string;
center_fg?: string;
center_bg?: string;
};
// Allow arbitrary extra keys to preserve forward-compatibility.