Replaces the bare <select> with a custom combobox that fits the properties panel's visual language: - Trigger looks like the other inputs (var(--bg)/var(--border)/ var(--radius-sm)) and shows the selected font's name rendered in that font itself, with a rotating caret. - Options live in a teleported popover anchored beneath the trigger. Each option renders its own label in its own typeface so the user sees what they're picking before applying it. Active row uses var(--accent-soft) to match the rest of the editor. - Click-outside closes via window pointerdown; Escape closes and returns focus to the trigger. - Storage shape simplified: textFontModel uses '' for system-sans instead of the literal 'system-sans' id, so the model field round- trips through JSON without a placeholder string ever leaking. Updated PropertiesPanel test to walk the new picker (click trigger, read options from .font-popover, click an option) instead of dispatching a select 'change' event. Picker label text doubles as the test selector — System Sans / Inter / Permanent Marker confirm the option list is wired up. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
30 lines
649 B
JSON
30 lines
649 B
JSON
{
|
|
"name": "ruwio",
|
|
"private": true,
|
|
"version": "1.2.6",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vue-tsc --noEmit && vite build",
|
|
"preview": "vite preview",
|
|
"type-check": "vue-tsc --noEmit",
|
|
"pack": "bash scripts/pack.sh"
|
|
},
|
|
"dependencies": {
|
|
"@phosphor-icons/vue": "^2.2.1",
|
|
"gifenc": "^1.0.3",
|
|
"konva": "^9.3.16",
|
|
"pinia": "^2.2.6",
|
|
"upng-js": "^2.1.0",
|
|
"vue": "^3.5.13",
|
|
"vue-konva": "^3.1.2"
|
|
},
|
|
"devDependencies": {
|
|
"@types/node": "^22.10.2",
|
|
"@vitejs/plugin-vue": "^5.2.1",
|
|
"typescript": "^5.6.3",
|
|
"vite": "^6.0.3",
|
|
"vue-tsc": "^2.1.10"
|
|
}
|
|
}
|