ui-components

Catalogs reusable Vue components with exact props, events, and usage pitfalls for the toollab-front Nuxt application.

Updated May 5, 2025
One-click install
npx skills add https://github.com/sebauvray/toollab-api --skill ui-components-sebauvray
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ui-components
Source: https://github.com/sebauvray/toollab-api/tree/main/.claude/skills/ui-components
Command: npx skills add https://github.com/sebauvray/toollab-api --skill ui-components-sebauvray

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Developers waste time recreating components that already exist or hitting silent failures from wrong prop names, missing explicit imports, and clipped dropdown panels in the toollab-front Nuxt codebase. ## Core Features & Use Cases - Component Catalog: Documents every reusable Vue component (layout, navigation, tables, forms, modals, settings, icons) with exact props, emitted events, and code samples. - Pitfall Warnings: Flags silent failures like :items being ignored on BreadCrumb, UpdateClassModal emitting update instead of save, and InputSelect panels clipped inside scrollable modals. - Dead Code Identification: Marks unused components (UserDropdown, LoadingScreen, InputCross) so they are not reintroduced. - Use Case: Before building a new class-editing page, check the catalog to reuse DataTable, UpdateClassModal, and SelectGenre with the correct props instead of writing duplicates. ## Quick Start Ask the AI to check the ui-components catalog before creating any new Vue component or assembling a page in the toollab-front project.

Frequently Asked Questions about ui-components

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I reuse existing Vue components in a Nuxt project?▼

Check the component catalog before creating anything new. Root-level components are auto-imported by Nuxt, but components in subfolders like form/ or table/ require an explicit import statement, otherwise you get a Failed to resolve component warning.

Why is my Nuxt component not rendering in the page?▼

Components in subdirectories used by their short name need an explicit import such as import InputSelect from '~/components/form/InputSelect.vue'. Without it, Nuxt logs a Failed to resolve component warning and the component is absent from the render.

Why is my dropdown clipped inside a modal?▼

InputSelect and SelectDay render their list with absolute positioning and z-50, so a modal body with overflow-y-auto cuts the panel off. Give the modal body a sufficient min-height or use the drop-up prop when the select sits near the bottom.

What props does the BreadCrumb component accept?▼

BreadCrumb accepts customItems via :custom-items, an array of {name, path} objects. Passing :items is silently ignored and triggers automatic mode based on route.path, which can produce dead links.

Why does my modal form stay blocked after submit?▼

Seven of the twelve modals emit their payload with {resolve, reject} callbacks. The parent must call callbacks.resolve() after a successful save, otherwise the form remains in a blocked state.