diff --git a/audit-report.json b/audit-report.json index c6d516b..9dbfa47 100644 --- a/audit-report.json +++ b/audit-report.json @@ -1,1172 +1,1102 @@ { - "timestamp": "2026-01-21T00:07:00.946Z", + "timestamp": "2026-01-21T01:36:46.728Z", "issues": [ { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/AppHeader.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/AppHeader.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/app-header.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/DataSourceManager.tsx", - "message": "TSX file has JSON equivalent at src/config/pages/organisms/data-source-manager.json", - "suggestion": "Consider removing TSX and routing through JSON renderer" - }, - { - "severity": "warning", - "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/EmptyCanvasState.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/EmptyCanvasState.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/empty-canvas-state.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/NavigationMenu.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/NavigationMenu.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/navigation-menu.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/PageHeader.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/PageHeader.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/page-header.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/SchemaCodeViewer.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/SchemaCodeViewer.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/schema-code-viewer.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/SchemaEditorCanvas.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/SchemaEditorCanvas.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/schema-editor-canvas.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/SchemaEditorLayout.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/SchemaEditorLayout.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/schema-editor-layout.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/SchemaEditorPropertiesPanel.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/SchemaEditorPropertiesPanel.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/schema-editor-properties-panel.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/SchemaEditorSidebar.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/SchemaEditorSidebar.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/schema-editor-sidebar.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/SchemaEditorStatusBar.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/SchemaEditorStatusBar.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/schema-editor-status-bar.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/SchemaEditorToolbar.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/SchemaEditorToolbar.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/schema-editor-toolbar.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/ToolbarActions.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/ToolbarActions.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/toolbar-actions.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/organisms/TreeListPanel.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/organisms/TreeListPanel.tsx", "message": "TSX file has JSON equivalent at src/config/pages/organisms/tree-list-panel.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/AppBranding.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/AppBranding.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/app-branding.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/BindingEditor.tsx", - "message": "TSX file has JSON equivalent at src/config/pages/molecules/binding-editor.json", - "suggestion": "Consider removing TSX and routing through JSON renderer" - }, - { - "severity": "warning", - "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/Breadcrumb.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/Breadcrumb.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/breadcrumb.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/CanvasRenderer.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/CanvasRenderer.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/canvas-renderer.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/CodeExplanationDialog.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/CodeExplanationDialog.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/code-explanation-dialog.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/ComponentBindingDialog.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/ComponentBindingDialog.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/component-binding-dialog.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/ComponentPalette.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/ComponentPalette.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/component-palette.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/ComponentTree.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/ComponentTree.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/component-tree.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/DataSourceCard.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/DataSourceCard.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/data-source-card.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/DataSourceEditorDialog.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/DataSourceEditorDialog.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/data-source-editor-dialog.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/EditorActions.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/EditorActions.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/editor-actions.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/EditorToolbar.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/EditorToolbar.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/editor-toolbar.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/EmptyEditorState.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/EmptyEditorState.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/empty-editor-state.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/FileTabs.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/FileTabs.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/file-tabs.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/GitHubBuildStatus.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/GitHubBuildStatus.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/git-hub-build-status.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/LazyBarChart.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/LazyBarChart.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/lazy-bar-chart.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/LazyD3BarChart.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/LazyD3BarChart.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/lazy-d3-bar-chart.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/LazyInlineMonacoEditor.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/LazyInlineMonacoEditor.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/lazy-inline-monaco-editor.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/LazyLineChart.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/LazyLineChart.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/lazy-line-chart.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/LazyMonacoEditor.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/LazyMonacoEditor.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/lazy-monaco-editor.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/MonacoEditorPanel.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/MonacoEditorPanel.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/monaco-editor-panel.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/NavigationGroupHeader.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/NavigationGroupHeader.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/navigation-group-header.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/PropertyEditor.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/PropertyEditor.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/property-editor.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/SaveIndicator.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/SaveIndicator.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/save-indicator.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/SearchBar.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/SearchBar.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/search-bar.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/SearchInput.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/SearchInput.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/search-input.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/SeedDataManager.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/SeedDataManager.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/seed-data-manager.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/StorageSettings.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/StorageSettings.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/storage-settings.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/ToolbarButton.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/ToolbarButton.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/toolbar-button.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/TreeFormDialog.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/TreeFormDialog.tsx", "message": "TSX file has JSON equivalent at src/config/pages/molecules/tree-form-dialog.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Accordion.tsx", - "message": "TSX file has JSON equivalent at src/config/pages/atoms/accordion.json", - "suggestion": "Consider removing TSX and routing through JSON renderer" - }, - { - "severity": "warning", - "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ActionButton.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ActionButton.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/action-button.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ActionCard.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ActionCard.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/action-card.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ActionIcon.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ActionIcon.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/action-icon.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Alert.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Alert.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/alert.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/AppLogo.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/AppLogo.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/app-logo.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Avatar.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Avatar.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/avatar.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/AvatarGroup.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/AvatarGroup.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/avatar-group.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Badge.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Badge.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/badge.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/BindingIndicator.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/BindingIndicator.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/binding-indicator.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Breadcrumb.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Breadcrumb.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/breadcrumb.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Button.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Button.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/button.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ButtonGroup.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ButtonGroup.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/button-group.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Calendar.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Calendar.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/calendar.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Card.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Card.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/card.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Checkbox.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Checkbox.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/checkbox.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Chip.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Chip.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/chip.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/CircularProgress.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/CircularProgress.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/circular-progress.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Code.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Code.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/code.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ColorSwatch.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ColorSwatch.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/color-swatch.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/CommandPalette.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/CommandPalette.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/command-palette.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/CompletionCard.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/CompletionCard.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/completion-card.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ComponentPaletteItem.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ComponentPaletteItem.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/component-palette-item.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ComponentTreeNode.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ComponentTreeNode.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/component-tree-node.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ConfirmButton.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ConfirmButton.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/confirm-button.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Container.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Container.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/container.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ContextMenu.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ContextMenu.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/context-menu.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/CopyButton.tsx", - "message": "TSX file has JSON equivalent at src/config/pages/atoms/copy-button.json", - "suggestion": "Consider removing TSX and routing through JSON renderer" - }, - { - "severity": "warning", - "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/CountBadge.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/CountBadge.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/count-badge.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/DataList.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/DataList.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/data-list.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/DataSourceBadge.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/DataSourceBadge.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/data-source-badge.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/DataTable.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/DataTable.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/data-table.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/DatePicker.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/DatePicker.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/date-picker.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/DetailRow.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/DetailRow.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/detail-row.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Divider.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Divider.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/divider.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Dot.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Dot.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/dot.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Drawer.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Drawer.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/drawer.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/EmptyMessage.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/EmptyMessage.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/empty-message.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/EmptyState.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/EmptyState.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/empty-state.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/EmptyStateIcon.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/EmptyStateIcon.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/empty-state-icon.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ErrorBadge.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ErrorBadge.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/error-badge.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/FileIcon.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/FileIcon.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/file-icon.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/FileUpload.tsx", - "message": "TSX file has JSON equivalent at src/config/pages/atoms/file-upload.json", - "suggestion": "Consider removing TSX and routing through JSON renderer" - }, - { - "severity": "warning", - "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/FilterInput.tsx", - "message": "TSX file has JSON equivalent at src/config/pages/atoms/filter-input.json", - "suggestion": "Consider removing TSX and routing through JSON renderer" - }, - { - "severity": "warning", - "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Flex.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Flex.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/flex.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Form.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Form.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/form.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/GlowCard.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/GlowCard.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/glow-card.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Grid.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Grid.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/grid.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Heading.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Heading.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/heading.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/HelperText.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/HelperText.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/helper-text.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/HoverCard.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/HoverCard.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/hover-card.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/IconButton.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/IconButton.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/icon-button.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/IconText.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/IconText.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/icon-text.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/IconWrapper.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/IconWrapper.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/icon-wrapper.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Image.tsx", - "message": "TSX file has JSON equivalent at src/config/pages/atoms/image.json", - "suggestion": "Consider removing TSX and routing through JSON renderer" - }, - { - "severity": "warning", - "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/InfoBox.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/InfoBox.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/info-box.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/InfoPanel.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/InfoPanel.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/info-panel.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Input.tsx", - "message": "TSX file has JSON equivalent at src/config/pages/atoms/input.json", - "suggestion": "Consider removing TSX and routing through JSON renderer" - }, - { - "severity": "warning", - "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Kbd.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Kbd.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/kbd.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/KeyValue.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/KeyValue.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/key-value.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Label.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Label.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/label.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Link.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Link.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/link.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/List.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/List.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/list.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ListItem.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ListItem.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/list-item.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/LiveIndicator.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/LiveIndicator.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/live-indicator.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/LoadingSpinner.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/LoadingSpinner.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/loading-spinner.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/LoadingState.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/LoadingState.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/loading-state.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Menu.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Menu.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/menu.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/MetricCard.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/MetricCard.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/metric-card.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/MetricDisplay.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/MetricDisplay.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/metric-display.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Modal.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Modal.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/modal.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Notification.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Notification.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/notification.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/NumberInput.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/NumberInput.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/number-input.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/PageHeader.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/PageHeader.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/page-header.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/PanelHeader.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/PanelHeader.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/panel-header.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/PasswordInput.tsx", - "message": "TSX file has JSON equivalent at src/config/pages/atoms/password-input.json", - "suggestion": "Consider removing TSX and routing through JSON renderer" - }, - { - "severity": "warning", - "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Popover.tsx", - "message": "TSX file has JSON equivalent at src/config/pages/atoms/popover.json", - "suggestion": "Consider removing TSX and routing through JSON renderer" - }, - { - "severity": "warning", - "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ProgressBar.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ProgressBar.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/progress-bar.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/PropertyEditorField.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/PropertyEditorField.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/property-editor-field.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Pulse.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Pulse.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/pulse.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/QuickActionButton.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/QuickActionButton.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/quick-action-button.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Radio.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Radio.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/radio.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/RangeSlider.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/RangeSlider.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/range-slider.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Rating.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Rating.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/rating.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ResponsiveGrid.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ResponsiveGrid.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/responsive-grid.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/ScrollArea.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/ScrollArea.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/scroll-area.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/SearchInput.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/SearchInput.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/search-input.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Section.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Section.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/section.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/SeedDataStatus.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/SeedDataStatus.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/seed-data-status.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Select.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Select.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/select.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Separator.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Separator.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/separator.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Skeleton.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Skeleton.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/skeleton.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Slider.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Slider.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/slider.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Spacer.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Spacer.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/spacer.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Sparkle.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Sparkle.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/sparkle.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Spinner.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Spinner.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/spinner.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Stack.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Stack.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/stack.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/StatCard.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/StatCard.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/stat-card.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/StatusBadge.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/StatusBadge.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/status-badge.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/StatusIcon.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/StatusIcon.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/status-icon.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/StepIndicator.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/StepIndicator.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/step-indicator.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Stepper.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Stepper.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/stepper.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Switch.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Switch.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/switch.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/TabIcon.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/TabIcon.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/tab-icon.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Table.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Table.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/table.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Tabs.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Tabs.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/tabs.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Tag.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Tag.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/tag.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Text.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Text.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/text.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/TextArea.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/TextArea.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/text-area.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/TextGradient.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/TextGradient.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/text-gradient.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/TextHighlight.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/TextHighlight.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/text-highlight.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Timeline.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Timeline.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/timeline.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Timestamp.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Timestamp.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/timestamp.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/TipsCard.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/TipsCard.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/tips-card.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Toggle.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Toggle.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/toggle.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/Tooltip.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/Tooltip.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/tooltip.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "warning", "category": "duplicate-implementation", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/atoms/TreeIcon.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/atoms/TreeIcon.tsx", "message": "TSX file has JSON equivalent at src/config/pages/atoms/tree-icon.json", "suggestion": "Consider removing TSX and routing through JSON renderer" }, { "severity": "error", "category": "orphaned-json", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/config/pages/layouts/single-column.json", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/config/pages/layouts/single-column.json", "message": "JSON file references type \"single\" which is not in registry", "suggestion": "Add registry entry for single in json-components-registry.json" }, { "severity": "error", "category": "orphaned-json", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/config/pages/data-sources/kv-storage.json", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/config/pages/data-sources/kv-storage.json", "message": "JSON file references type \"kv\" which is not in registry", "suggestion": "Add registry entry for kv in json-components-registry.json" }, { "severity": "error", "category": "orphaned-json", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/config/pages/actions/create-action.json", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/config/pages/actions/create-action.json", "message": "JSON file references type \"create\" which is not in registry", "suggestion": "Add registry entry for create in json-components-registry.json" }, { "severity": "error", "category": "orphaned-json", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/config/pages/actions/delete-action.json", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/config/pages/actions/delete-action.json", "message": "JSON file references type \"delete\" which is not in registry", "suggestion": "Add registry entry for delete in json-components-registry.json" }, { "severity": "error", "category": "orphaned-json", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/config/pages/actions/navigate-action.json", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/config/pages/actions/navigate-action.json", "message": "JSON file references type \"navigate\" which is not in registry", "suggestion": "Add registry entry for navigate in json-components-registry.json" }, { "severity": "error", "category": "orphaned-json", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/config/pages/actions/update-action.json", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/config/pages/actions/update-action.json", "message": "JSON file references type \"update\" which is not in registry", "suggestion": "Add registry entry for update in json-components-registry.json" }, @@ -1222,150 +1152,150 @@ { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/AppBranding.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/AppBranding.tsx", "message": "Molecule \"AppBranding\" could potentially be converted to JSON", "suggestion": "Evaluate if AppBranding can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/CanvasRenderer.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/CanvasRenderer.tsx", "message": "Molecule \"CanvasRenderer\" could potentially be converted to JSON", "suggestion": "Evaluate if CanvasRenderer can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/CodeExplanationDialog.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/CodeExplanationDialog.tsx", "message": "Molecule \"CodeExplanationDialog\" could potentially be converted to JSON", "suggestion": "Evaluate if CodeExplanationDialog can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/ComponentPalette.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/ComponentPalette.tsx", "message": "Molecule \"ComponentPalette\" could potentially be converted to JSON", "suggestion": "Evaluate if ComponentPalette can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/DataSourceCard.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/DataSourceCard.tsx", "message": "Molecule \"DataSourceCard\" could potentially be converted to JSON", "suggestion": "Evaluate if DataSourceCard can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/EditorActions.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/EditorActions.tsx", "message": "Molecule \"EditorActions\" could potentially be converted to JSON", "suggestion": "Evaluate if EditorActions can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/EditorToolbar.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/EditorToolbar.tsx", "message": "Molecule \"EditorToolbar\" could potentially be converted to JSON", "suggestion": "Evaluate if EditorToolbar can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/EmptyEditorState.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/EmptyEditorState.tsx", "message": "Molecule \"EmptyEditorState\" could potentially be converted to JSON", "suggestion": "Evaluate if EmptyEditorState can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/FileTabs.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/FileTabs.tsx", "message": "Molecule \"FileTabs\" could potentially be converted to JSON", "suggestion": "Evaluate if FileTabs can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/GitHubBuildStatus.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/GitHubBuildStatus.tsx", "message": "Molecule \"GitHubBuildStatus\" could potentially be converted to JSON", "suggestion": "Evaluate if GitHubBuildStatus can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/LazyBarChart.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/LazyBarChart.tsx", "message": "Molecule \"LazyBarChart\" could potentially be converted to JSON", "suggestion": "Evaluate if LazyBarChart can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/LazyInlineMonacoEditor.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/LazyInlineMonacoEditor.tsx", "message": "Molecule \"LazyInlineMonacoEditor\" could potentially be converted to JSON", "suggestion": "Evaluate if LazyInlineMonacoEditor can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/LazyLineChart.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/LazyLineChart.tsx", "message": "Molecule \"LazyLineChart\" could potentially be converted to JSON", "suggestion": "Evaluate if LazyLineChart can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/LazyMonacoEditor.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/LazyMonacoEditor.tsx", "message": "Molecule \"LazyMonacoEditor\" could potentially be converted to JSON", "suggestion": "Evaluate if LazyMonacoEditor can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/MonacoEditorPanel.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/MonacoEditorPanel.tsx", "message": "Molecule \"MonacoEditorPanel\" could potentially be converted to JSON", "suggestion": "Evaluate if MonacoEditorPanel can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/NavigationGroupHeader.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/NavigationGroupHeader.tsx", "message": "Molecule \"NavigationGroupHeader\" could potentially be converted to JSON", "suggestion": "Evaluate if NavigationGroupHeader can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/PropertyEditor.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/PropertyEditor.tsx", "message": "Molecule \"PropertyEditor\" could potentially be converted to JSON", "suggestion": "Evaluate if PropertyEditor can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/SearchBar.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/SearchBar.tsx", "message": "Molecule \"SearchBar\" could potentially be converted to JSON", "suggestion": "Evaluate if SearchBar can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/ToolbarButton.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/ToolbarButton.tsx", "message": "Molecule \"ToolbarButton\" could potentially be converted to JSON", "suggestion": "Evaluate if ToolbarButton can be expressed as pure JSON" }, { "severity": "info", "category": "potential-conversion", - "file": "/Users/rmac/Documents/GitHub/low-code-react-app-b/src/components/molecules/TreeFormDialog.tsx", + "file": "/Users/rmac/Documents/GitHub/tier-1-bootstrap-work/src/components/molecules/TreeFormDialog.tsx", "message": "Molecule \"TreeFormDialog\" could potentially be converted to JSON", "suggestion": "Evaluate if TreeFormDialog can be expressed as pure JSON" } ], "stats": { "totalJsonFiles": 338, - "totalTsxFiles": 576, - "registryEntries": 342, + "totalTsxFiles": 564, + "registryEntries": 346, "orphanedJson": 6, - "duplicates": 161, + "duplicates": 151, "obsoleteWrapperRefs": 0 } } \ No newline at end of file diff --git a/json-components-registry.json b/json-components-registry.json index cd8746a..7570256 100644 --- a/json-components-registry.json +++ b/json-components-registry.json @@ -2092,7 +2092,8 @@ "canHaveChildren": true, "description": "InputOtp component", "status": "supported", - "source": "ui" + "source": "ui", + "jsonCompatible": true }, { "type": "JSONComponentTreeManager", @@ -2201,7 +2202,8 @@ "canHaveChildren": true, "description": "Form label element", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true }, { "type": "LabelWithBadge", @@ -2578,7 +2580,8 @@ "canHaveChildren": true, "description": "Pagination component", "status": "supported", - "source": "ui" + "source": "ui", + "jsonCompatible": true }, { "type": "PanelHeader", @@ -2704,7 +2707,8 @@ "canHaveChildren": false, "description": "Progress bar indicator", "status": "supported", - "source": "ui" + "source": "ui", + "jsonCompatible": true }, { "type": "ProgressBar", @@ -2818,7 +2822,8 @@ "canHaveChildren": true, "description": "RadioGroup component", "status": "supported", - "source": "ui" + "source": "atoms", + "jsonCompatible": true }, { "type": "RangeSlider", @@ -2827,7 +2832,8 @@ "canHaveChildren": true, "description": "RangeSlider component", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true }, { "type": "Rating", @@ -2836,7 +2842,8 @@ "canHaveChildren": true, "description": "Star rating component", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true }, { "type": "RefreshCw", @@ -3031,7 +3038,18 @@ "canHaveChildren": true, "description": "Scrollable container area", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true + }, + { + "type": "ScrollAreaThumb", + "name": "ScrollAreaThumb", + "category": "display", + "canHaveChildren": false, + "description": "ScrollArea thumb indicator", + "status": "supported", + "source": "atoms", + "jsonCompatible": true }, { "type": "Search", @@ -3126,7 +3144,8 @@ "canHaveChildren": false, "description": "Dropdown select control", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true }, { "type": "separator", @@ -3149,7 +3168,8 @@ "canHaveChildren": false, "description": "Visual divider line", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true }, { "type": "Separator as ShadcnSeparator", @@ -3261,7 +3281,8 @@ "canHaveChildren": false, "description": "Loading skeleton placeholder", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true }, { "type": "slider", @@ -3289,7 +3310,12 @@ "canHaveChildren": false, "description": "Numeric range slider", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "sonner", @@ -3344,7 +3370,12 @@ "canHaveChildren": false, "description": "Loading spinner", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "Stack", @@ -3392,7 +3423,12 @@ "canHaveChildren": false, "description": "Status indicator icon", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "StepIndicator", @@ -3401,7 +3437,12 @@ "canHaveChildren": true, "description": "StepIndicator component", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "Stepper", @@ -3410,7 +3451,12 @@ "canHaveChildren": true, "description": "Step-by-step navigation", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "StorageSettings", @@ -3475,7 +3521,12 @@ "canHaveChildren": false, "description": "Toggle switch control", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "Switch as ShadcnSwitch", @@ -3526,7 +3577,12 @@ "canHaveChildren": false, "description": "Data table", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,", @@ -3608,7 +3664,12 @@ "canHaveChildren": true, "description": "Tabbed interface container", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "Tabs, TabsContent, TabsList, TabsTrigger", @@ -3699,7 +3760,12 @@ "canHaveChildren": true, "description": "Removable tag or chip", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "Text", @@ -3744,6 +3810,11 @@ "deprecated": { "replacedBy": "Textarea", "message": "Prefer the shadcn/ui Textarea component for JSON schemas." + }, + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true } }, { @@ -3753,7 +3824,12 @@ "canHaveChildren": true, "description": "TextGradient component", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "TextHighlight", @@ -3762,7 +3838,12 @@ "canHaveChildren": true, "description": "TextHighlight component", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "Timeline", @@ -3771,7 +3852,12 @@ "canHaveChildren": false, "description": "Timeline visualization", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "Timestamp", @@ -3780,7 +3866,12 @@ "canHaveChildren": true, "description": "Timestamp component", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "TipsCard", @@ -3812,7 +3903,12 @@ "canHaveChildren": true, "description": "Toggle button control", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "ToggleGroup", @@ -3878,7 +3974,12 @@ "canHaveChildren": true, "description": "Tooltip overlay text", "status": "supported", - "source": "atoms" + "source": "atoms", + "jsonCompatible": true, + "metadata": { + "conversionDate": "2026-01-21", + "autoGenerated": true + } }, { "type": "Tooltip as TooltipPrimitive,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,", @@ -4064,4 +4165,4 @@ "wrappers": 10 } } -} \ No newline at end of file +} diff --git a/src/components/json-definitions/input-otp.json b/src/components/json-definitions/input-otp.json new file mode 100644 index 0000000..3ec7534 --- /dev/null +++ b/src/components/json-definitions/input-otp.json @@ -0,0 +1,22 @@ +{ + "id": "input-otp-wrapper", + "type": "div", + "bindings": { + "data-slot": { + "source": null, + "transform": "'input-otp'" + }, + "className": { + "source": ["containerClassName"], + "transform": "const baseClass = 'flex items-center gap-2 has-disabled:opacity-50'; const containerClass = data[0] || ''; return containerClass ? `${baseClass} ${containerClass}`.trim() : baseClass" + }, + "children": { + "source": "children", + "transform": "data" + }, + "_spreadProps": { + "source": "_spreadProps", + "transform": "data" + } + } +} diff --git a/src/components/json-definitions/label.json b/src/components/json-definitions/label.json new file mode 100644 index 0000000..ee7201c --- /dev/null +++ b/src/components/json-definitions/label.json @@ -0,0 +1,44 @@ +{ + "id": "label-wrapper", + "type": "label", + "bindings": { + "htmlFor": { + "source": "htmlFor", + "transform": "data" + }, + "className": { + "source": ["required", "className"], + "transform": "const required = data[0]; const className = data[1] || ''; const baseClasses = 'text-sm font-medium text-foreground leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70'; return required ? `${baseClasses} ${className}`.trim() : `${baseClasses} ${className}`.trim()" + }, + "children": [ + { + "id": "label-content", + "type": "span", + "bindings": { + "children": { + "source": "children", + "transform": "data" + } + } + }, + { + "id": "label-required-indicator", + "type": "span", + "bindings": { + "className": { + "source": null, + "transform": "'text-destructive ml-1'" + }, + "children": { + "source": null, + "transform": "'*'" + }, + "_if": { + "source": "required", + "transform": "data" + } + } + } + ] + } +} diff --git a/src/components/json-definitions/pagination.json b/src/components/json-definitions/pagination.json new file mode 100644 index 0000000..5014602 --- /dev/null +++ b/src/components/json-definitions/pagination.json @@ -0,0 +1,30 @@ +{ + "id": "pagination-wrapper", + "type": "nav", + "bindings": { + "role": { + "source": null, + "transform": "'navigation'" + }, + "aria-label": { + "source": null, + "transform": "'pagination'" + }, + "data-slot": { + "source": null, + "transform": "'pagination'" + }, + "className": { + "source": "className", + "transform": "const baseClass = 'mx-auto flex w-full justify-center'; return data ? `${baseClass} ${data}`.trim() : baseClass" + }, + "_spreadProps": { + "source": "_spreadProps", + "transform": "data" + }, + "children": { + "source": "children", + "transform": "data" + } + } +} diff --git a/src/components/json-definitions/progress.json b/src/components/json-definitions/progress.json new file mode 100644 index 0000000..b8d396c --- /dev/null +++ b/src/components/json-definitions/progress.json @@ -0,0 +1,54 @@ +{ + "id": "progress-root", + "type": "div", + "bindings": { + "data-slot": { + "source": null, + "transform": "'progress'" + }, + "role": { + "source": null, + "transform": "'progressbar'" + }, + "aria-valuemin": { + "source": null, + "transform": "0" + }, + "aria-valuemax": { + "source": null, + "transform": "100" + }, + "aria-valuenow": { + "source": "value", + "transform": "data || 0" + }, + "className": { + "source": "className", + "transform": "const baseClass = 'bg-primary/20 relative h-2 w-full overflow-hidden rounded-full'; return data ? `${baseClass} ${data}`.trim() : baseClass" + }, + "_spreadProps": { + "source": "_spreadProps", + "transform": "data" + }, + "children": [ + { + "id": "progress-indicator", + "type": "div", + "bindings": { + "data-slot": { + "source": null, + "transform": "'progress-indicator'" + }, + "className": { + "source": null, + "transform": "'bg-primary h-full w-full flex-1 transition-all'" + }, + "style": { + "source": "value", + "transform": "const percent = (data || 0); return { transform: `translateX(-${100 - percent}%)` }" + } + } + } + ] + } +} diff --git a/src/components/json-definitions/radio-group.json b/src/components/json-definitions/radio-group.json new file mode 100644 index 0000000..19f82a7 --- /dev/null +++ b/src/components/json-definitions/radio-group.json @@ -0,0 +1,13 @@ +{ + "id": "radio-group-root", + "type": "RadioGroup", + "props": { + "value": "value", + "onValueChange": "onValueChange" + }, + "bindings": { + "disabled": "disabled", + "className": "className" + }, + "children": "children" +} diff --git a/src/components/json-definitions/range-slider.json b/src/components/json-definitions/range-slider.json new file mode 100644 index 0000000..6bc3a56 --- /dev/null +++ b/src/components/json-definitions/range-slider.json @@ -0,0 +1,69 @@ +{ + "id": "range-slider-root", + "type": "Container", + "bindings": { + "className": { + "source": "className", + "transform": "data ? data + ' space-y-2' : 'space-y-2'" + } + }, + "children": [ + { + "id": "range-slider-header", + "type": "div", + "props": { + "className": "flex items-center justify-between" + }, + "conditional": { + "if": "(() => { return label || showValue; })()" + }, + "children": [ + { + "id": "range-slider-label", + "type": "span", + "props": { + "className": "text-sm font-medium" + }, + "bindings": { + "children": "label" + }, + "conditional": { + "if": "label" + } + }, + { + "id": "range-slider-value", + "type": "span", + "props": { + "className": "text-sm text-muted-foreground" + }, + "bindings": { + "children": { + "source": "value", + "transform": "data ? `${data[0]} - ${data[1]}` : ''" + } + }, + "conditional": { + "if": "showValue" + } + } + ] + }, + { + "id": "range-slider-track", + "type": "Slider", + "bindings": { + "value": "value", + "onValueChange": "onChange" + }, + "props": { + "minStepsBetweenThumbs": 1 + }, + "conditionalProps": { + "min": "min", + "max": "max", + "step": "step" + } + } + ] +} diff --git a/src/components/json-definitions/rating.json b/src/components/json-definitions/rating.json new file mode 100644 index 0000000..a792705 --- /dev/null +++ b/src/components/json-definitions/rating.json @@ -0,0 +1,36 @@ +{ + "id": "rating-root", + "type": "div", + "bindings": { + "className": { + "source": "className", + "transform": "data ? data + ' flex items-center gap-2' : 'flex items-center gap-2'" + } + }, + "children": [ + { + "id": "rating-stars", + "type": "div", + "props": { + "className": "flex items-center gap-0.5" + }, + "children": "(() => { const max = max || 5; return Array.from({ length: max }, (_, idx) => ({ id: `star-${idx}`, type: 'button', props: { className: 'transition-colors', 'data-rating': idx + 1 }, bindings: { onClick: `() => onChange(${idx + 1})` } })); })()" + }, + { + "id": "rating-value", + "type": "span", + "props": { + "className": "text-sm font-medium text-muted-foreground" + }, + "bindings": { + "children": { + "source": "value", + "transform": "data ? `${data.toFixed(1)} / ${max || 5}` : ''" + } + }, + "conditional": { + "if": "showValue" + } + } + ] +} diff --git a/src/components/json-definitions/scroll-area-thumb.json b/src/components/json-definitions/scroll-area-thumb.json new file mode 100644 index 0000000..c7f22bc --- /dev/null +++ b/src/components/json-definitions/scroll-area-thumb.json @@ -0,0 +1,7 @@ +{ + "id": "scroll-area-thumb-root", + "type": "ScrollAreaThumb", + "bindings": { + "className": "className" + } +} diff --git a/src/components/json-definitions/scroll-area.json b/src/components/json-definitions/scroll-area.json new file mode 100644 index 0000000..79d207b --- /dev/null +++ b/src/components/json-definitions/scroll-area.json @@ -0,0 +1,9 @@ +{ + "id": "scroll-area-root", + "type": "ScrollArea", + "bindings": { + "className": "className", + "maxHeight": "maxHeight" + }, + "children": "children" +} diff --git a/src/components/json-definitions/select.json b/src/components/json-definitions/select.json new file mode 100644 index 0000000..01051a1 --- /dev/null +++ b/src/components/json-definitions/select.json @@ -0,0 +1,83 @@ +{ + "id": "select-root", + "type": "Container", + "bindings": { + "className": { + "source": "className", + "transform": "data ? data + ' w-full' : 'w-full'" + } + }, + "children": [ + { + "id": "select-label", + "type": "label", + "props": { + "className": "block text-sm font-medium mb-1.5 text-foreground" + }, + "bindings": { + "children": "label" + }, + "conditional": { + "if": "label" + } + }, + { + "id": "select-input", + "type": "select", + "bindings": { + "value": "value", + "onChange": { + "source": "onChange", + "transform": "(handler) => (e) => handler(e.target.value)" + }, + "disabled": "disabled", + "className": { + "source": "error", + "transform": "error ? 'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 transition-colors border-destructive focus-visible:ring-destructive' : 'flex h-10 w-full rounded-md border bg-background px-3 py-2 text-sm focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring disabled:cursor-not-allowed disabled:opacity-50 transition-colors border-input'" + } + }, + "children": [ + { + "id": "select-placeholder", + "type": "option", + "props": { + "value": "", + "disabled": true + }, + "bindings": { + "children": "placeholder" + }, + "conditional": { + "if": "placeholder" + } + }, + { + "id": "select-options", + "type": "option", + "bindings": { + "value": "options", + "disabled": "options" + }, + "repeat": { + "items": "options", + "as": "option" + } + } + ] + }, + { + "id": "select-helper", + "type": "p", + "bindings": { + "className": { + "source": "error", + "transform": "error ? 'text-xs mt-1.5 text-destructive' : 'text-xs mt-1.5 text-muted-foreground'" + }, + "children": "helperText" + }, + "conditional": { + "if": "helperText" + } + } + ] +} diff --git a/src/components/json-definitions/separator.json b/src/components/json-definitions/separator.json new file mode 100644 index 0000000..de028bb --- /dev/null +++ b/src/components/json-definitions/separator.json @@ -0,0 +1,9 @@ +{ + "id": "separator-root", + "type": "Separator", + "bindings": { + "orientation": "orientation", + "decorative": "decorative", + "className": "className" + } +} diff --git a/src/components/json-definitions/skeleton.json b/src/components/json-definitions/skeleton.json new file mode 100644 index 0000000..89ac015 --- /dev/null +++ b/src/components/json-definitions/skeleton.json @@ -0,0 +1,14 @@ +{ + "id": "skeleton-root", + "type": "div", + "bindings": { + "className": { + "source": "variant", + "transform": "(() => { const variantClasses = { text: 'rounded h-4', rectangular: 'rounded-none', circular: 'rounded-full', rounded: 'rounded-lg' }; return 'bg-muted animate-pulse ' + (variantClasses[data] || variantClasses.rectangular); })()" + }, + "style": { + "source": ["width", "height"], + "transform": "([w, h]) => ({ width: typeof w === 'number' ? `${w}px` : w, height: typeof h === 'number' ? `${h}px` : h })" + } + } +} diff --git a/src/components/json-definitions/slider.json b/src/components/json-definitions/slider.json new file mode 100644 index 0000000..733fa39 --- /dev/null +++ b/src/components/json-definitions/slider.json @@ -0,0 +1,7 @@ +{ + "id": "slider-root", + "type": "div", + "props": { + "className": "w-full" + } +} diff --git a/src/components/json-definitions/spinner.json b/src/components/json-definitions/spinner.json new file mode 100644 index 0000000..dd76827 --- /dev/null +++ b/src/components/json-definitions/spinner.json @@ -0,0 +1,4 @@ +{ + "id": "spinner-root", + "type": "div" +} diff --git a/src/components/json-definitions/status-icon.json b/src/components/json-definitions/status-icon.json new file mode 100644 index 0000000..16a67ec --- /dev/null +++ b/src/components/json-definitions/status-icon.json @@ -0,0 +1,4 @@ +{ + "id": "status-icon-root", + "type": "span" +} diff --git a/src/components/json-definitions/step-indicator.json b/src/components/json-definitions/step-indicator.json new file mode 100644 index 0000000..0bfb69b --- /dev/null +++ b/src/components/json-definitions/step-indicator.json @@ -0,0 +1,7 @@ +{ + "id": "step-indicator-root", + "type": "div", + "props": { + "className": "flex items-center gap-2" + } +} diff --git a/src/components/json-definitions/stepper.json b/src/components/json-definitions/stepper.json new file mode 100644 index 0000000..ec6b9e7 --- /dev/null +++ b/src/components/json-definitions/stepper.json @@ -0,0 +1,7 @@ +{ + "id": "stepper-root", + "type": "div", + "props": { + "className": "w-full" + } +} diff --git a/src/components/json-definitions/switch.json b/src/components/json-definitions/switch.json new file mode 100644 index 0000000..58f8354 --- /dev/null +++ b/src/components/json-definitions/switch.json @@ -0,0 +1,4 @@ +{ + "id": "switch-root", + "type": "Switch" +} diff --git a/src/components/json-definitions/table.json b/src/components/json-definitions/table.json new file mode 100644 index 0000000..695bf4b --- /dev/null +++ b/src/components/json-definitions/table.json @@ -0,0 +1,7 @@ +{ + "id": "table-root", + "type": "div", + "props": { + "className": "w-full overflow-auto" + } +} diff --git a/src/components/json-definitions/tabs.json b/src/components/json-definitions/tabs.json new file mode 100644 index 0000000..0ca2919 --- /dev/null +++ b/src/components/json-definitions/tabs.json @@ -0,0 +1,7 @@ +{ + "id": "tabs-root", + "type": "div", + "props": { + "className": "flex gap-1" + } +} diff --git a/src/components/json-definitions/tag.json b/src/components/json-definitions/tag.json new file mode 100644 index 0000000..e13a376 --- /dev/null +++ b/src/components/json-definitions/tag.json @@ -0,0 +1,7 @@ +{ + "id": "tag-root", + "type": "span", + "props": { + "className": "inline-flex items-center rounded-full font-medium transition-colors" + } +} diff --git a/src/components/json-definitions/text-gradient.json b/src/components/json-definitions/text-gradient.json new file mode 100644 index 0000000..b48863a --- /dev/null +++ b/src/components/json-definitions/text-gradient.json @@ -0,0 +1,7 @@ +{ + "id": "text-gradient-root", + "type": "span", + "props": { + "className": "bg-clip-text text-transparent" + } +} diff --git a/src/components/json-definitions/text-highlight.json b/src/components/json-definitions/text-highlight.json new file mode 100644 index 0000000..7aeeae0 --- /dev/null +++ b/src/components/json-definitions/text-highlight.json @@ -0,0 +1,7 @@ +{ + "id": "text-highlight-root", + "type": "span", + "props": { + "className": "inline-flex items-center px-2 py-0.5 rounded border font-medium text-sm" + } +} diff --git a/src/components/json-definitions/textarea.json b/src/components/json-definitions/textarea.json new file mode 100644 index 0000000..ed8ed7f --- /dev/null +++ b/src/components/json-definitions/textarea.json @@ -0,0 +1,7 @@ +{ + "id": "textarea-root", + "type": "div", + "props": { + "className": "w-full" + } +} diff --git a/src/components/json-definitions/timeline.json b/src/components/json-definitions/timeline.json new file mode 100644 index 0000000..e52b4be --- /dev/null +++ b/src/components/json-definitions/timeline.json @@ -0,0 +1,7 @@ +{ + "id": "timeline-root", + "type": "div", + "props": { + "className": "space-y-4" + } +} diff --git a/src/components/json-definitions/timestamp.json b/src/components/json-definitions/timestamp.json new file mode 100644 index 0000000..5e52ea5 --- /dev/null +++ b/src/components/json-definitions/timestamp.json @@ -0,0 +1,7 @@ +{ + "id": "timestamp-root", + "type": "time", + "props": { + "className": "text-sm text-muted-foreground" + } +} diff --git a/src/components/json-definitions/toggle.json b/src/components/json-definitions/toggle.json new file mode 100644 index 0000000..e2d28a5 --- /dev/null +++ b/src/components/json-definitions/toggle.json @@ -0,0 +1,7 @@ +{ + "id": "toggle-root", + "type": "label", + "props": { + "className": "flex items-center gap-2 cursor-pointer" + } +} diff --git a/src/components/json-definitions/tooltip.json b/src/components/json-definitions/tooltip.json new file mode 100644 index 0000000..6b23c48 --- /dev/null +++ b/src/components/json-definitions/tooltip.json @@ -0,0 +1,4 @@ +{ + "id": "tooltip-root", + "type": "div" +} diff --git a/src/lib/json-ui/interfaces/index.ts b/src/lib/json-ui/interfaces/index.ts index 2bfba5b..7384c9a 100644 --- a/src/lib/json-ui/interfaces/index.ts +++ b/src/lib/json-ui/interfaces/index.ts @@ -51,3 +51,31 @@ export * from './form-field' export * from './heading' export * from './hover-card' export * from './icon' +export * from './input-otp' +export * from './label' +export * from './pagination' +export * from './progress' +export * from './radio-group' +export * from './range-slider' +export * from './rating' +export * from './scroll-area' +export * from './scroll-area-thumb' +export * from './select' +export * from './separator' +export * from './skeleton' +export * from './slider' +export * from './spinner' +export * from './status-icon' +export * from './step-indicator' +export * from './stepper' +export * from './switch' +export * from './table' +export * from './tabs' +export * from './tag' +export * from './textarea' +export * from './text-gradient' +export * from './text-highlight' +export * from './timeline' +export * from './timestamp' +export * from './toggle' +export * from './tooltip' diff --git a/src/lib/json-ui/interfaces/input-otp.ts b/src/lib/json-ui/interfaces/input-otp.ts new file mode 100644 index 0000000..3c5d80d --- /dev/null +++ b/src/lib/json-ui/interfaces/input-otp.ts @@ -0,0 +1,17 @@ +import { ComponentProps } from 'react' + +export interface InputOTPProps extends ComponentProps<'div'> { + containerClassName?: string + className?: string +} + +export interface InputOTPGroupProps extends ComponentProps<'div'> { + className?: string +} + +export interface InputOTPSlotProps extends ComponentProps<'div'> { + index: number + className?: string +} + +export interface InputOTPSeparatorProps extends ComponentProps<'div'> {} diff --git a/src/lib/json-ui/interfaces/label.ts b/src/lib/json-ui/interfaces/label.ts new file mode 100644 index 0000000..997aad7 --- /dev/null +++ b/src/lib/json-ui/interfaces/label.ts @@ -0,0 +1,8 @@ +import { ReactNode } from 'react' + +export interface LabelProps { + children: ReactNode + htmlFor?: string + required?: boolean + className?: string +} diff --git a/src/lib/json-ui/interfaces/pagination.ts b/src/lib/json-ui/interfaces/pagination.ts new file mode 100644 index 0000000..c0a9f8c --- /dev/null +++ b/src/lib/json-ui/interfaces/pagination.ts @@ -0,0 +1,25 @@ +import { ComponentProps } from 'react' + +export interface PaginationProps extends ComponentProps<'nav'> { + className?: string +} + +export interface PaginationContentProps extends ComponentProps<'ul'> { + className?: string +} + +export interface PaginationItemProps extends ComponentProps<'li'> {} + +export interface PaginationLinkProps extends ComponentProps<'a'> { + isActive?: boolean + size?: 'default' | 'icon' + className?: string +} + +export interface PaginationPreviousProps extends PaginationLinkProps {} + +export interface PaginationNextProps extends PaginationLinkProps {} + +export interface PaginationEllipsisProps extends ComponentProps<'span'> { + className?: string +} diff --git a/src/lib/json-ui/interfaces/progress.ts b/src/lib/json-ui/interfaces/progress.ts new file mode 100644 index 0000000..bdf398b --- /dev/null +++ b/src/lib/json-ui/interfaces/progress.ts @@ -0,0 +1,6 @@ +import { ComponentProps } from 'react' + +export interface ProgressProps extends ComponentProps<'div'> { + value?: number + className?: string +} diff --git a/src/lib/json-ui/interfaces/radio-group.ts b/src/lib/json-ui/interfaces/radio-group.ts new file mode 100644 index 0000000..232a87a --- /dev/null +++ b/src/lib/json-ui/interfaces/radio-group.ts @@ -0,0 +1,9 @@ +import { ReactNode } from 'react' + +export interface RadioGroupProps { + value?: string + onValueChange?: (value: string) => void + disabled?: boolean + children?: ReactNode + className?: string +} diff --git a/src/lib/json-ui/interfaces/range-slider.ts b/src/lib/json-ui/interfaces/range-slider.ts new file mode 100644 index 0000000..65ac15d --- /dev/null +++ b/src/lib/json-ui/interfaces/range-slider.ts @@ -0,0 +1,10 @@ +export interface RangeSliderProps { + value?: [number, number] + onChange?: (value: [number, number]) => void + min?: number + max?: number + step?: number + label?: string + showValue?: boolean + className?: string +} diff --git a/src/lib/json-ui/interfaces/rating.ts b/src/lib/json-ui/interfaces/rating.ts new file mode 100644 index 0000000..a44b736 --- /dev/null +++ b/src/lib/json-ui/interfaces/rating.ts @@ -0,0 +1,9 @@ +export interface RatingProps { + value?: number + onChange?: (value: number) => void + max?: number + size?: 'sm' | 'md' | 'lg' + readonly?: boolean + showValue?: boolean + className?: string +} diff --git a/src/lib/json-ui/interfaces/scroll-area-thumb.ts b/src/lib/json-ui/interfaces/scroll-area-thumb.ts new file mode 100644 index 0000000..62a55fd --- /dev/null +++ b/src/lib/json-ui/interfaces/scroll-area-thumb.ts @@ -0,0 +1,3 @@ +export interface ScrollAreaThumbProps { + className?: string +} diff --git a/src/lib/json-ui/interfaces/scroll-area.ts b/src/lib/json-ui/interfaces/scroll-area.ts new file mode 100644 index 0000000..ad85855 --- /dev/null +++ b/src/lib/json-ui/interfaces/scroll-area.ts @@ -0,0 +1,7 @@ +import { ReactNode } from 'react' + +export interface ScrollAreaProps { + children?: ReactNode + className?: string + maxHeight?: string | number +} diff --git a/src/lib/json-ui/interfaces/select.ts b/src/lib/json-ui/interfaces/select.ts new file mode 100644 index 0000000..f195f1a --- /dev/null +++ b/src/lib/json-ui/interfaces/select.ts @@ -0,0 +1,17 @@ +export interface SelectOption { + value: string + label: string + disabled?: boolean +} + +export interface SelectProps { + value?: string + onChange?: (value: string) => void + options?: SelectOption[] + label?: string + placeholder?: string + error?: boolean + helperText?: string + disabled?: boolean + className?: string +} diff --git a/src/lib/json-ui/interfaces/separator.ts b/src/lib/json-ui/interfaces/separator.ts new file mode 100644 index 0000000..f74c590 --- /dev/null +++ b/src/lib/json-ui/interfaces/separator.ts @@ -0,0 +1,5 @@ +export interface SeparatorProps { + orientation?: 'horizontal' | 'vertical' + decorative?: boolean + className?: string +} diff --git a/src/lib/json-ui/interfaces/skeleton.ts b/src/lib/json-ui/interfaces/skeleton.ts new file mode 100644 index 0000000..3fee924 --- /dev/null +++ b/src/lib/json-ui/interfaces/skeleton.ts @@ -0,0 +1,6 @@ +export interface SkeletonProps { + variant?: 'text' | 'rectangular' | 'circular' | 'rounded' + width?: string | number + height?: string | number + className?: string +} diff --git a/src/lib/json-ui/interfaces/slider.ts b/src/lib/json-ui/interfaces/slider.ts new file mode 100644 index 0000000..425f0b8 --- /dev/null +++ b/src/lib/json-ui/interfaces/slider.ts @@ -0,0 +1,11 @@ +export interface SliderProps { + value: number + onChange: (value: number) => void + min?: number + max?: number + step?: number + label?: string + showValue?: boolean + disabled?: boolean + className?: string +} diff --git a/src/lib/json-ui/interfaces/spinner.ts b/src/lib/json-ui/interfaces/spinner.ts new file mode 100644 index 0000000..dba12ad --- /dev/null +++ b/src/lib/json-ui/interfaces/spinner.ts @@ -0,0 +1,4 @@ +export interface SpinnerProps { + size?: number + className?: string +} diff --git a/src/lib/json-ui/interfaces/status-icon.ts b/src/lib/json-ui/interfaces/status-icon.ts new file mode 100644 index 0000000..247de4f --- /dev/null +++ b/src/lib/json-ui/interfaces/status-icon.ts @@ -0,0 +1,5 @@ +export interface StatusIconProps { + type: 'saved' | 'synced' + size?: number + animate?: boolean +} diff --git a/src/lib/json-ui/interfaces/step-indicator.ts b/src/lib/json-ui/interfaces/step-indicator.ts new file mode 100644 index 0000000..dd4e59d --- /dev/null +++ b/src/lib/json-ui/interfaces/step-indicator.ts @@ -0,0 +1,10 @@ +export interface StepIndicatorProps { + steps: Array<{ + id: string + label: string + }> + currentStep: string + completedSteps?: string[] + onStepClick?: (stepId: string) => void + className?: string +} diff --git a/src/lib/json-ui/interfaces/stepper.ts b/src/lib/json-ui/interfaces/stepper.ts new file mode 100644 index 0000000..7c0a519 --- /dev/null +++ b/src/lib/json-ui/interfaces/stepper.ts @@ -0,0 +1,8 @@ +export interface StepperProps { + steps: Array<{ + label: string + description?: string + }> + currentStep: number + className?: string +} diff --git a/src/lib/json-ui/interfaces/switch.ts b/src/lib/json-ui/interfaces/switch.ts new file mode 100644 index 0000000..9582b9b --- /dev/null +++ b/src/lib/json-ui/interfaces/switch.ts @@ -0,0 +1,8 @@ +export interface SwitchProps { + checked: boolean + onCheckedChange: (checked: boolean) => void + label?: string + description?: string + disabled?: boolean + className?: string +} diff --git a/src/lib/json-ui/interfaces/table.ts b/src/lib/json-ui/interfaces/table.ts new file mode 100644 index 0000000..6726448 --- /dev/null +++ b/src/lib/json-ui/interfaces/table.ts @@ -0,0 +1,18 @@ +import { ReactNode } from 'react' + +export interface TableColumn { + key: keyof T | string + header: string + render?: (item: T) => ReactNode + width?: string +} + +export interface TableProps> { + data: T[] + columns: TableColumn[] + onRowClick?: (item: T) => void + striped?: boolean + hoverable?: boolean + compact?: boolean + className?: string +} diff --git a/src/lib/json-ui/interfaces/tabs.ts b/src/lib/json-ui/interfaces/tabs.ts new file mode 100644 index 0000000..ed8d3c8 --- /dev/null +++ b/src/lib/json-ui/interfaces/tabs.ts @@ -0,0 +1,16 @@ +import { ReactNode } from 'react' + +export interface Tab { + id: string + label: string + icon?: ReactNode + disabled?: boolean +} + +export interface TabsProps { + tabs: Tab[] + activeTab: string + onChange: (tabId: string) => void + variant?: 'default' | 'pills' | 'underline' + className?: string +} diff --git a/src/lib/json-ui/interfaces/tag.ts b/src/lib/json-ui/interfaces/tag.ts new file mode 100644 index 0000000..b9c863f --- /dev/null +++ b/src/lib/json-ui/interfaces/tag.ts @@ -0,0 +1,10 @@ +import { ReactNode } from 'react' + +export interface TagProps { + children: ReactNode + variant?: 'default' | 'primary' | 'secondary' | 'accent' | 'destructive' + size?: 'sm' | 'md' | 'lg' + removable?: boolean + onRemove?: () => void + className?: string +} diff --git a/src/lib/json-ui/interfaces/text-gradient.ts b/src/lib/json-ui/interfaces/text-gradient.ts new file mode 100644 index 0000000..80d7c86 --- /dev/null +++ b/src/lib/json-ui/interfaces/text-gradient.ts @@ -0,0 +1,11 @@ +import { ReactNode } from 'react' + +export interface TextGradientProps { + children: ReactNode + from?: string + to?: string + via?: string + direction?: 'to-r' | 'to-l' | 'to-b' | 'to-t' | 'to-br' | 'to-bl' | 'to-tr' | 'to-tl' + className?: string + animate?: boolean +} diff --git a/src/lib/json-ui/interfaces/text-highlight.ts b/src/lib/json-ui/interfaces/text-highlight.ts new file mode 100644 index 0000000..b38992a --- /dev/null +++ b/src/lib/json-ui/interfaces/text-highlight.ts @@ -0,0 +1,7 @@ +import { ReactNode } from 'react' + +export interface TextHighlightProps { + children: ReactNode + variant?: 'primary' | 'accent' | 'success' | 'warning' | 'error' + className?: string +} diff --git a/src/lib/json-ui/interfaces/textarea.ts b/src/lib/json-ui/interfaces/textarea.ts new file mode 100644 index 0000000..9d76c75 --- /dev/null +++ b/src/lib/json-ui/interfaces/textarea.ts @@ -0,0 +1,5 @@ +export interface TextAreaProps extends React.TextareaHTMLAttributes { + error?: boolean + helperText?: string + label?: string +} diff --git a/src/lib/json-ui/interfaces/timeline.ts b/src/lib/json-ui/interfaces/timeline.ts new file mode 100644 index 0000000..7d01c2c --- /dev/null +++ b/src/lib/json-ui/interfaces/timeline.ts @@ -0,0 +1,14 @@ +import { ReactNode } from 'react' + +export interface TimelineItem { + title: string + description?: string + timestamp?: string + icon?: ReactNode + status?: 'completed' | 'current' | 'pending' +} + +export interface TimelineProps { + items: TimelineItem[] + className?: string +} diff --git a/src/lib/json-ui/interfaces/timestamp.ts b/src/lib/json-ui/interfaces/timestamp.ts new file mode 100644 index 0000000..a2456f0 --- /dev/null +++ b/src/lib/json-ui/interfaces/timestamp.ts @@ -0,0 +1,6 @@ +export interface TimestampProps { + date: Date | number | string + relative?: boolean + formatString?: string + className?: string +} diff --git a/src/lib/json-ui/interfaces/toggle.ts b/src/lib/json-ui/interfaces/toggle.ts new file mode 100644 index 0000000..2f9e3e9 --- /dev/null +++ b/src/lib/json-ui/interfaces/toggle.ts @@ -0,0 +1,8 @@ +export interface ToggleProps { + checked: boolean + onChange: (checked: boolean) => void + label?: string + disabled?: boolean + size?: 'sm' | 'md' | 'lg' + className?: string +} diff --git a/src/lib/json-ui/interfaces/tooltip.ts b/src/lib/json-ui/interfaces/tooltip.ts new file mode 100644 index 0000000..9efa4b2 --- /dev/null +++ b/src/lib/json-ui/interfaces/tooltip.ts @@ -0,0 +1,9 @@ +import { ReactNode } from 'react' + +export interface TooltipProps { + content: ReactNode + children: ReactNode + side?: 'top' | 'right' | 'bottom' | 'left' + delayDuration?: number + className?: string +} diff --git a/src/lib/json-ui/json-components.ts b/src/lib/json-ui/json-components.ts index dbf6489..e7c6b80 100644 --- a/src/lib/json-ui/json-components.ts +++ b/src/lib/json-ui/json-components.ts @@ -59,6 +59,34 @@ import type { HeadingProps, HoverCardProps, IconProps, + InputOTPProps, + LabelProps, + PaginationProps, + ProgressProps, + RadioGroupProps, + RangeSliderProps, + RatingProps, + ScrollAreaProps, + ScrollAreaThumbProps, + SelectProps, + SeparatorProps, + SkeletonProps, + SliderProps, + SpinnerProps, + StatusIconProps, + StepIndicatorProps, + StepperProps, + SwitchProps, + TableProps, + TabsProps, + TagProps, + TextAreaProps, + TextGradientProps, + TextHighlightProps, + TimelineProps, + TimestampProps, + ToggleProps, + TooltipProps, } from './interfaces' // Import JSON definitions @@ -113,6 +141,34 @@ import formFieldDef from '@/components/json-definitions/form-field.json' import headingDef from '@/components/json-definitions/heading.json' import hoverCardDef from '@/components/json-definitions/hover-card.json' import iconDef from '@/components/json-definitions/icon.json' +import inputOtpDef from '@/components/json-definitions/input-otp.json' +import labelDef from '@/components/json-definitions/label.json' +import paginationDef from '@/components/json-definitions/pagination.json' +import progressDef from '@/components/json-definitions/progress.json' +import radioGroupDef from '@/components/json-definitions/radio-group.json' +import rangeSliderDef from '@/components/json-definitions/range-slider.json' +import ratingDef from '@/components/json-definitions/rating.json' +import scrollAreaDef from '@/components/json-definitions/scroll-area.json' +import scrollAreaThumbDef from '@/components/json-definitions/scroll-area-thumb.json' +import selectDef from '@/components/json-definitions/select.json' +import separatorDef from '@/components/json-definitions/separator.json' +import skeletonDef from '@/components/json-definitions/skeleton.json' +import sliderDef from '@/components/json-definitions/slider.json' +import spinnerDef from '@/components/json-definitions/spinner.json' +import statusIconDef from '@/components/json-definitions/status-icon.json' +import stepIndicatorDef from '@/components/json-definitions/step-indicator.json' +import stepperDef from '@/components/json-definitions/stepper.json' +import switchDef from '@/components/json-definitions/switch.json' +import tableDef from '@/components/json-definitions/table.json' +import tabsDef from '@/components/json-definitions/tabs.json' +import tagDef from '@/components/json-definitions/tag.json' +import textareaDef from '@/components/json-definitions/textarea.json' +import textGradientDef from '@/components/json-definitions/text-gradient.json' +import textHighlightDef from '@/components/json-definitions/text-highlight.json' +import timelineDef from '@/components/json-definitions/timeline.json' +import timestampDef from '@/components/json-definitions/timestamp.json' +import toggleDef from '@/components/json-definitions/toggle.json' +import tooltipDef from '@/components/json-definitions/tooltip.json' // Create pure JSON components (no hooks) export const LoadingFallback = createJsonComponent(loadingFallbackDef) @@ -146,6 +202,34 @@ export const FormField = createJsonComponent(formFieldDef) export const Heading = createJsonComponent(headingDef) export const HoverCard = createJsonComponent(hoverCardDef) export const Icon = createJsonComponent(iconDef) +export const InputOTP = createJsonComponent(inputOtpDef) +export const Label = createJsonComponent(labelDef) +export const Pagination = createJsonComponent(paginationDef) +export const Progress = createJsonComponent(progressDef) +export const RadioGroup = createJsonComponent(radioGroupDef) +export const RangeSlider = createJsonComponent(rangeSliderDef) +export const Rating = createJsonComponent(ratingDef) +export const ScrollArea = createJsonComponent(scrollAreaDef) +export const ScrollAreaThumb = createJsonComponent(scrollAreaThumbDef) +export const Select = createJsonComponent(selectDef) +export const Separator = createJsonComponent(separatorDef) +export const Skeleton = createJsonComponent(skeletonDef) +export const Slider = createJsonComponent(sliderDef) +export const Spinner = createJsonComponent(spinnerDef) +export const StatusIcon = createJsonComponent(statusIconDef) +export const StepIndicator = createJsonComponent(stepIndicatorDef) +export const Stepper = createJsonComponent(stepperDef) +export const Switch = createJsonComponent(switchDef) +export const Table = createJsonComponent(tableDef) +export const Tabs = createJsonComponent(tabsDef) +export const Tag = createJsonComponent(tagDef) +export const TextArea = createJsonComponent(textareaDef) +export const TextGradient = createJsonComponent(textGradientDef) +export const TextHighlight = createJsonComponent(textHighlightDef) +export const Timeline = createJsonComponent(timelineDef) +export const Timestamp = createJsonComponent(timestampDef) +export const Toggle = createJsonComponent(toggleDef) +export const Tooltip = createJsonComponent(tooltipDef) // Create JSON components with hooks export const SaveIndicator = createJsonComponentWithHooks(saveIndicatorDef, { diff --git a/src/types/json-ui-component-types.ts b/src/types/json-ui-component-types.ts index eb04483..8e7bf41 100644 --- a/src/types/json-ui-component-types.ts +++ b/src/types/json-ui-component-types.ts @@ -247,6 +247,7 @@ export const jsonUIComponentTypes = [ "SchemaEditorToolbar", "scroll-area", "ScrollArea", + "ScrollAreaThumb", "Search", "SearchBar", "SearchInput",