laif-ds
Version:
Design System di Laif con componenti React basati su principi di Atomic Design
619 lines (618 loc) • 16.6 kB
JSON
{
"schemaVersion": "1.0.0",
"generatedAt": "2026-05-05T15:26:14.216Z",
"package": {
"name": "laif-ds",
"version": "0.2.80"
},
"summary": {
"scannedFiles": 394,
"deprecatedComponentsCount": 2,
"deprecatedComponentsUsedCount": 0,
"componentsWithoutExamplesCount": 5,
"componentsWithoutPropsTableCount": 30,
"repeatedClassPatternsCount": 25,
"lowAiReadinessComponentsCount": 42,
"componentsWithoutAccessibilityCoverageCount": 46,
"componentsWithWeakStateCoverageCount": 73,
"averageAiReadinessScore": 54.73
},
"deprecatedUsage": [],
"documentationGaps": {
"componentsWithoutExamples": [
"AppMultipleSelectDropdown",
"MarkdownRenderer",
"ResizePrompt",
"Sonner",
"Toaster"
],
"componentsWithoutPropsTable": [
"AppMultipleSelectDropdown",
"Breadcrumb",
"Chart",
"Confirmer",
"DropdownMenu",
"FilePreviewer",
"Form",
"GanttChart",
"HoverCard",
"InputOtp",
"MarkdownRenderer",
"Menubar",
"NavigationMenu",
"Pagination",
"Popover",
"RadioGroup",
"Resizable",
"ResizePrompt",
"ScrollArea",
"Select",
"Sheet",
"Sidebar",
"Sonner",
"Stepper",
"Table",
"Tabs",
"Toaster",
"ToggleGroup",
"Tooltip",
"TypingIndicator"
],
"componentsWithoutAccessibilityCoverage": [
"AppForm",
"AspectRatio",
"AudioVisualizer",
"Badge",
"Breadcrumb",
"Card",
"Chart",
"Chat",
"ChatMessage",
"CircularProgress",
"CodeHighlighter",
"Confirmer",
"CopyButton",
"DataCrossTable",
"DropdownMenu",
"FilePreviewer",
"GanttChart",
"HoverCard",
"Icon",
"InputOtp",
"InterruptPrompt",
"Label",
"MarkdownRenderer",
"NavigationMenu",
"Pagination",
"Progress",
"PromptSuggestions",
"Resizable",
"ResizePrompt",
"ScrollArea",
"SecurePdfViewer",
"Separator",
"Sheet",
"ShikiHighlighter",
"Skeleton",
"Slider",
"Sonner",
"Switch",
"Table",
"TableSkeleton",
"ThemeSwitcher",
"Toaster",
"ToggleGroup",
"Tooltip",
"TypingIndicator",
"WeeklyCalendar"
],
"componentsWithWeakStateCoverage": [
"Accordion",
"Alert",
"AlertDialog",
"AppDialog",
"AppEditor",
"AppMultipleSelectDropdown",
"AppSidebar",
"AspectRatio",
"AudioVisualizer",
"Avatar",
"Badge",
"Breadcrumb",
"Card",
"Carousel",
"Chart",
"Chat",
"ChatMessage",
"CircularProgress",
"CodeHighlighter",
"Collapsible",
"Command",
"Confirmer",
"ContextMenu",
"CopyButton",
"DatePicker",
"Dialog",
"Drawer",
"DropdownMenu",
"FilePreview",
"FilePreviewer",
"Form",
"GanttChart",
"HoverCard",
"Icon",
"Input",
"InputOtp",
"InputSelector",
"InterruptPrompt",
"Label",
"MarkdownRenderer",
"Menubar",
"MessageInput",
"MessageList",
"NavigationMenu",
"Pagination",
"Popover",
"Progress",
"PromptSuggestions",
"Resizable",
"ResizePrompt",
"ScrollArea",
"SecurePdfViewer",
"Select",
"Separator",
"Sheet",
"ShikiHighlighter",
"Sidebar",
"Skeleton",
"Slider",
"Sonner",
"Spinner",
"Switch",
"Table",
"TableSkeleton",
"Tabs",
"ThemeSwitcher",
"Toaster",
"Toggle",
"ToggleGroup",
"Tooltip",
"TypingIndicator",
"Typo",
"WeeklyCalendar"
]
},
"aiReadinessGaps": {
"lowAiReadinessComponents": [
{
"name": "Chart",
"score": 0
},
{
"name": "DropdownMenu",
"score": 0
},
{
"name": "HoverCard",
"score": 0
},
{
"name": "InputOtp",
"score": 0
},
{
"name": "MarkdownRenderer",
"score": 0
},
{
"name": "NavigationMenu",
"score": 0
},
{
"name": "Pagination",
"score": 0
},
{
"name": "Resizable",
"score": 0
},
{
"name": "ResizePrompt",
"score": 0
},
{
"name": "Sheet",
"score": 0
},
{
"name": "Sonner",
"score": 0
},
{
"name": "Toaster",
"score": 0
},
{
"name": "ToggleGroup",
"score": 0
},
{
"name": "TypingIndicator",
"score": 0
},
{
"name": "AppMultipleSelectDropdown",
"score": 15
},
{
"name": "Form",
"score": 15
},
{
"name": "Sidebar",
"score": 15
},
{
"name": "ScrollArea",
"score": 20
},
{
"name": "Table",
"score": 20
},
{
"name": "AudioVisualizer",
"score": 25
},
{
"name": "CodeHighlighter",
"score": 25
},
{
"name": "CopyButton",
"score": 25
},
{
"name": "InterruptPrompt",
"score": 25
},
{
"name": "Label",
"score": 25
},
{
"name": "PromptSuggestions",
"score": 25
},
{
"name": "Separator",
"score": 25
},
{
"name": "ShikiHighlighter",
"score": 25
},
{
"name": "Skeleton",
"score": 25
},
{
"name": "Switch",
"score": 25
},
{
"name": "Breadcrumb",
"score": 30
},
{
"name": "Confirmer",
"score": 30
},
{
"name": "Stepper",
"score": 30
},
{
"name": "Tooltip",
"score": 30
},
{
"name": "SecurePdfViewer",
"score": 40
},
{
"name": "Toggle",
"score": 40
},
{
"name": "FilePreviewer",
"score": 45
},
{
"name": "GanttChart",
"score": 45
},
{
"name": "Menubar",
"score": 45
},
{
"name": "Popover",
"score": 45
},
{
"name": "Select",
"score": 45
},
{
"name": "Tabs",
"score": 45
},
{
"name": "TableSkeleton",
"score": 50
}
]
},
"duplicationSignals": {
"repeatedClassNames": [
{
"className": "flex items-center gap-2",
"occurrences": 36,
"files": [
"src/components/stories/app-checkbox.stories.tsx",
"src/components/stories/app-dialog.stories.tsx",
"src/components/stories/app-radio-group.stories.tsx",
"src/components/stories/app-select.stories.tsx",
"src/components/stories/app-tooltip.stories.tsx",
"src/components/stories/badge.stories.tsx",
"src/components/stories/button.stories.tsx",
"src/components/stories/data-table-docs.stories.tsx",
"src/components/stories/data-table-no-utils-example.stories.tsx",
"src/components/stories/data-table-utils-example.stories.tsx",
"src/components/stories/playground.stories.tsx",
"src/components/stories/truncated-cell.stories.tsx",
"src/components/ui/app-form.tsx",
"src/components/ui/app-kanban.tsx",
"src/components/ui/app-sidebar.tsx",
"src/components/ui/file-previewer.tsx",
"src/components/ui/weekly-calendar/calendar-header.tsx"
]
},
{
"className": "text-muted-foreground text-sm",
"occurrences": 28,
"files": [
"src/components/stories/app-form.stories.tsx",
"src/components/stories/app-stepper.stories.tsx",
"src/components/stories/app-time-picker.stories.tsx",
"src/components/stories/dialog.stories.tsx",
"src/components/stories/drawer.stories.tsx",
"src/components/stories/input-selector.stories.tsx",
"src/components/stories/input.stories.tsx",
"src/components/stories/playground.stories.tsx",
"src/components/stories/popover.stories.tsx",
"src/components/stories/radio-group.stories.tsx",
"src/components/stories/select.stories.tsx",
"src/components/ui/tables/data-table/components/data-table-filter-inputs.tsx"
]
},
{
"className": "text-d-muted-foreground text-sm",
"occurrences": 26,
"files": [
"src/components/stories/app-card.stories.tsx",
"src/components/stories/app-dialog.stories.tsx",
"src/components/stories/app-kanban.stories.tsx",
"src/components/stories/changelog.stories.tsx",
"src/components/stories/date-picker.stories.tsx",
"src/components/stories/input.stories.tsx",
"src/components/stories/toaster.stories.tsx",
"src/components/ui/secure-pdf-viewer.tsx"
]
},
{
"className": "bg-muted rounded-md p-4",
"occurrences": 20,
"files": [
"src/components/stories/card.stories.tsx",
"src/components/stories/data-table-no-utils-example.stories.tsx",
"src/components/stories/data-table-utils-example.stories.tsx"
]
},
{
"className": "flex items-center justify-between",
"occurrences": 19,
"files": [
"src/components/stories/app-card.stories.tsx",
"src/components/stories/data-table-utils-example.stories.tsx",
"src/components/stories/sidebar.stories.tsx",
"src/components/stories/switch.stories.tsx",
"src/components/ui/app-form.tsx",
"src/components/ui/tables/data-cross-table/cell-editor-dialog.tsx",
"src/components/ui/tables/data-cross-table/data-cross-table.tsx",
"src/components/ui/tables/data-cross-table/editable-input.tsx"
]
},
{
"className": "mb-2 text-lg font-medium",
"occurrences": 19,
"files": [
"src/components/stories/data-table-no-utils-example.stories.tsx",
"src/components/stories/data-table-utils-example.stories.tsx"
]
},
{
"className": "flex items-center space-x-2",
"occurrences": 18,
"files": [
"src/components/stories/app-stepper.stories.tsx",
"src/components/stories/checkbox.stories.tsx",
"src/components/stories/radio-group.stories.tsx",
"src/components/stories/switch.stories.tsx"
]
},
{
"className": "border-d-border bg-d-muted rounded-lg border p-4",
"occurrences": 14,
"files": [
"src/components/stories/app-form.stories.tsx"
]
},
{
"className": "text-muted-foreground mt-2 text-sm",
"occurrences": 13,
"files": [
"src/components/stories/tabs.stories.tsx"
]
},
{
"className": "flex w-[550px] flex-col gap-6",
"occurrences": 10,
"files": [
"src/components/stories/app-checkbox.stories.tsx",
"src/components/stories/app-radio-group.stories.tsx"
]
},
{
"className": "border-d-border mt-2 rounded-md border p-4",
"occurrences": 9,
"files": [
"src/components/stories/tabs.stories.tsx"
]
},
{
"className": "flex flex-col items-center gap-4",
"occurrences": 8,
"files": [
"src/components/stories/app-card.stories.tsx",
"src/components/stories/confirmer.stories.tsx",
"src/components/stories/input-selector.stories.tsx",
"src/components/stories/theme-switcher.stories.tsx"
]
},
{
"className": "text-d-muted-foreground",
"occurrences": 8,
"files": [
"src/components/stories/app-dialog.stories.tsx",
"src/components/stories/app-time-picker.stories.tsx",
"src/components/ui/app-form.tsx",
"src/components/ui/app-multiple-select-dropdown.tsx",
"src/components/ui/app-select.tsx",
"src/components/ui/app-sidebar.tsx",
"src/components/ui/date-picker.tsx",
"src/components/ui/weekly-calendar/calendar-header.tsx"
]
},
{
"className": "text-muted-foreground text-xs",
"occurrences": 8,
"files": [
"src/components/stories/app-form.stories.tsx",
"src/components/stories/app-multiple-select-dropdown.stories.tsx",
"src/components/stories/async-select-dialog-test.stories.tsx",
"src/components/stories/async-select-react-hook-form.stories.tsx",
"src/components/stories/async-select.stories.tsx"
]
},
{
"className": "!text-d-foreground opacity-50",
"occurrences": 8,
"files": [
"src/components/ui/app-multiple-select-dropdown.tsx",
"src/components/ui/app-select.tsx",
"src/components/ui/app-time-picker.tsx",
"src/components/ui/async-select.tsx",
"src/components/ui/date-picker.tsx",
"src/components/ui/multiple-selector.tsx"
]
},
{
"className": "bg-muted/50 rounded p-4 text-sm",
"occurrences": 7,
"files": [
"src/components/stories/app-select.stories.tsx"
]
},
{
"className": "border-d-border border px-3 py-1 text-center text-sm font-light",
"occurrences": 7,
"files": [
"src/components/stories/badge.stories.tsx",
"src/components/stories/button.stories.tsx"
]
},
{
"className": "flex flex-col items-center gap-2",
"occurrences": 7,
"files": [
"src/components/stories/icon.stories.tsx",
"src/components/stories/spinner.stories.tsx"
]
},
{
"className": "flex items-center gap-1 font-normal",
"occurrences": 6,
"files": [
"src/components/editor/plugins/toolbar/block-format/format-bulleted-list.tsx",
"src/components/editor/plugins/toolbar/block-format/format-check-list.tsx",
"src/components/editor/plugins/toolbar/block-format/format-heading.tsx",
"src/components/editor/plugins/toolbar/block-format/format-numbered-list.tsx",
"src/components/editor/plugins/toolbar/block-format/format-paragraph.tsx",
"src/components/editor/plugins/toolbar/block-format/format-quote.tsx"
]
},
{
"className": "text-lg font-semibold",
"occurrences": 6,
"files": [
"src/components/stories/app-kanban.stories.tsx",
"src/components/stories/changelog.stories.tsx",
"src/components/stories/playground.stories.tsx"
]
},
{
"className": "mb-2 text-sm font-medium",
"occurrences": 6,
"files": [
"src/components/stories/chat-message.stories.tsx",
"src/components/stories/data-table-utils-example.stories.tsx",
"src/components/stories/dialog.stories.tsx"
]
},
{
"className": "border-d-border border px-1 capitalize",
"occurrences": 6,
"files": [
"src/components/stories/data-table-docs.stories.tsx",
"src/components/stories/data-table-no-utils-example.stories.tsx",
"src/components/stories/data-table-utils-example.stories.tsx"
]
},
{
"className": "list-disc space-y-1 pl-5 text-sm",
"occurrences": 6,
"files": [
"src/components/stories/data-table-no-utils-example.stories.tsx",
"src/components/stories/data-table-utils-example.stories.tsx"
]
},
{
"className": "flex min-h-0 min-w-0 flex-1",
"occurrences": 6,
"files": [
"src/components/stories/data-table-no-utils-example.stories.tsx",
"src/components/stories/data-table-utils-example.stories.tsx"
]
},
{
"className": "mx-1 rounded bg-gray-200 px-1",
"occurrences": 6,
"files": [
"src/components/stories/data-table-utils-example.stories.tsx"
]
}
]
}
}