or run

npx @tessl/cli init
Log in

Version

Files

docs

api-services.mdbase-classes.mdcomposables.mdconfiguration.mdindex.mdutilities.md
tile.json

rubric.jsonevals/scenario-7/

{
  "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
    }
  ]
}