evals
scenario-1
scenario-10
scenario-2
scenario-3
scenario-4
scenario-5
scenario-6
scenario-7
scenario-8
scenario-9
{
"context": "Evaluates whether the solution relies on PrimeVue's built-in theming hooks to swap presets, toggle unstyled mode, and merge pass-through section customizations into the preview button instead of hand-rolling styling.",
"type": "weighted_checklist",
"checklist": [
{
"name": "Plugin config",
"description": "Registers PrimeVue from @primevue/core/config with theme preset loaded and ptOptions (e.g., mergeSections/mergeProps) enabled so pass-through merges are handled by the library rather than manual class concatenation.",
"max_score": 20
},
{
"name": "Theme switching",
"description": "Switches between light and dark presets using the package API (PrimeVue.changeTheme or usePrimeVue().changeTheme) with a stable link id/callback, demonstrating runtime stylesheet swap instead of toggling custom CSS variables by hand.",
"max_score": 30
},
{
"name": "Unstyled toggle",
"description": "Toggles library styling through the official unstyled flag (global plugin option or component-level unstyled prop) so the preview button drops built-in skin while keeping layout, avoiding manual class removal.",
"max_score": 20
},
{
"name": "Pass-through merging",
"description": "Supplies component pt options for root/label/icon that carry custom data-* and aria-label attributes, relying on PrimeVue's pt merge behavior to preserve defaults across theme switches and unstyled state rather than directly mutating the DOM.",
"max_score": 30
}
]
}