Commit Graph

59 Commits

Author SHA1 Message Date
bef28e8c91 feat: add Timestamp and Toggle components; implement TreeIcon and EditorActions components
- Introduced Timestamp component for displaying formatted dates and relative time.
- Added Toggle component for switch-like functionality with customizable sizes.
- Implemented TreeIcon component for rendering tree icons using Phosphor icons.
- Created EditorActions component for explain and improve actions with icons.
- Developed FileTabs component for managing open files with close functionality.
- Added LazyInlineMonacoEditor and LazyMonacoEditor for lazy loading Monaco editor.
- Implemented NavigationItem for navigation with badges and icons.
- Created PageHeaderContent for displaying page headers with icons and descriptions.
- Added JSON configuration files for various UI components and layouts.
- Enhanced data binding with new computed data source hook.
- Updated component registry and types for new components.
- Configured Vite for improved hot module replacement experience.
2026-01-18 21:42:51 +00:00
043eb427d3 Fix all validation errors - add missing component definitions
Fixed all "Unknown component type" validation errors by:

1. Restored Card sub-components (CardHeader, CardTitle, CardDescription, CardContent, CardFooter)
   - Restored src/components/ui/card.tsx with all sub-components
   - Created JSON definitions for all 5 Card sub-components

2. Restored Tabs sub-components (TabsList, TabsTrigger, TabsContent)
   - Restored src/components/ui/tabs.tsx with all sub-components
   - Created JSON definitions for all 3 Tabs sub-components

3. Added 20 missing custom page components
   - Created JSON wrappers for all custom page components
   - AtomicLibraryShowcase, CodeEditor, ComponentTreeBuilder, etc.
   - All components properly reference their TypeScript implementations

4. Updated registry system
   - Enhanced update-registry-from-json.ts to support 'custom' source
   - Added components directory scanning
   - Registry now includes all 342 components

Results:
-  All "Unknown component type" errors resolved
-  Registry updated: 322 → 342 components (+20)
-  28 new JSON files created (8 UI sub-components + 20 custom components)
- ⚠️ Remaining validation errors are pre-existing schema format issues in page definitions (unrelated to component conversion)

Registry Statistics:
- Total components: 342
- JSON compatible: 119
- By source: atoms (142), ui (65), molecules (45), icons (38), custom (20), organisms (16), wrappers (10), primitive (6)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-18 19:59:10 +00:00
cf74c35e0a Add JSON component definitions for all 375 components
- Created automated conversion script (convert-tsx-to-json.ts)
- Generated 234 JSON component definitions across atoms, molecules, organisms, UI
- Updated json-components-registry.json with 72 new components (317 total)
- Registry now tracks: 142 atoms, 45 molecules, 16 organisms, 60 UI components

Conversion breakdown:
- 124 simple presentational components (ready for TypeScript deletion)
- 61 components wrapping UI libraries (TypeScript kept)
- 19 components needing wrappers (TypeScript kept for hook logic)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-01-18 19:37:00 +00:00
32dd4d0eac Update showcase config metadata and loading 2026-01-18 18:44:07 +00:00
03cc955d20 Update data source editor copy 2026-01-18 18:32:55 +00:00
a6a44f026f Use shared component registry in orchestration 2026-01-18 17:49:07 +00:00
9a8e159177 Merge pull request #167 from johndoe6345789/codex/define-json-page-prop-contract
Add JSON page data/functions prop mapping
2026-01-18 17:29:35 +00:00
174f03edd2 Add JSON page data/function prop mapping 2026-01-18 17:29:18 +00:00
f6673e1b77 Add JSON page support to page configs 2026-01-18 17:25:22 +00:00
7be52ffc1e Add JSON page routing support 2026-01-18 17:15:39 +00:00
1b01492891 Merge pull request #158 from johndoe6345789/codex/update-legacy-action-types-in-json-configs
Migrate JSON pages to json-ui action/conditional syntax and improve event/expression handling
2026-01-18 16:19:55 +00:00
bbcc91dc80 Update JSON UI actions and conditionals 2026-01-18 16:19:42 +00:00
83864189a5 Replace legacy schema renderer usage 2026-01-18 16:08:03 +00:00
f547d38539 things 2026-01-18 15:48:29 +00:00
3f190f7e5a Merge pull request #151 from johndoe6345789/codex/add-component-types-and-registration
Add ListItem and table subcomponents + List/Table/Timeline bindings example
2026-01-18 13:14:43 +00:00
7d04abb7d9 Add list/table/timeline bindings example 2026-01-18 13:14:31 +00:00
9fb7765c51 Merge branch 'main' into codex/update-json-ui-components-and-registry-u03e4j 2026-01-18 13:13:48 +00:00
968efc7701 Add DatePicker and FileUpload defaults 2026-01-18 13:12:25 +00:00
31d6334a65 Remove visual regression snapshot 2026-01-18 13:11:20 +00:00
0d13710c09 Add DatePicker and FileUpload to JSON UI 2026-01-18 11:59:51 +00:00
ae965726ec Merge pull request #59 from johndoe6345789/codex/refactor-templateexplorer-and-templateselector
Make TemplateSelector/Explorer UI JSON-driven and componentized
2026-01-18 00:44:43 +00:00
e46f01fd2c Refactor template UI text and sections 2026-01-18 00:44:31 +00:00
e427fc326f Merge pull request #58 from johndoe6345789/codex/refactor-jsondemopage-to-improve-structure
Refactor JSON demo and showcase into configs and smaller components
2026-01-18 00:44:13 +00:00
8b0cc856da Refactor JSON demo and showcase configs 2026-01-18 00:44:03 +00:00
dc96dc2498 Refactor feature toggle settings data 2026-01-18 00:42:29 +00:00
copilot-swe-agent[bot]
d4512a3e98 Remove duplicate components, prefer JSON versions
Co-authored-by: johndoe6345789 <224850594+johndoe6345789@users.noreply.github.com>
2026-01-17 21:31:38 +00:00
98f4b49edf Generated by Spark: Create Redux persistence middleware to sync state with database automatically 2026-01-17 21:14:31 +00:00
45454ac34b Generated by Spark: Add conflict resolution UI for handling sync conflicts between local and remote data 2026-01-17 21:08:10 +00:00
4dfded3533 Generated by Spark: @johndoe6345789 ➜ /workspaces/low-code-react-app-b (main) $ npm run build
> spark-template@0.0.0 prebuild
> mkdir -p /tmp/dist || true

> spark-template@0.0.0 build
> tsc -b --noCheck && vite build

vite v7.3.1 building client environment for production...
<script src="/runtime-config.js"> in "/index.html" can't be bundled without type="module" attribute
✓ 37 modules transformed.
✗ Build failed in 1.07s
error during build:
[vite]: Rollup failed to resolve import "@github/spark/hooks" from "/workspaces/low-code-react-app-b/src/hooks/use-project-state.ts".
This is most likely unintended because it can break your application at runtime.
If you do want to externalize this module explicitly add it to
`build.rollupOptions.external`
    at viteLog (file:///workspaces/low-code-react-app-b/node_modules/vite/dist/node/chunks/config.js:33635:57)
    at file:///workspaces/low-code-react-app-b/node_modules/vite/dist/node/chunks/config.js:33669:73
    at onwarn (file:///workspaces/low-code-react-app-b/node_modules/@vitejs/plugin-react-swc/index.js:76:7)
    at file:///workspaces/low-code-react-app-b/node_modules/vite/dist/node/chunks/config.js:33669:28
    at onRollupLog (file:///workspaces/low-code-react-app-b/node_modules/vite/dist/node/chunks/config.js:33664:63)
    at onLog (file:///workspaces/low-code-react-app-b/node_modules/vite/dist/node/chunks/config.js:33467:4)
    at file:///workspaces/low-code-react-app-b/node_modules/rollup/dist/es/shared/node-entry.js:20961:32
    at Object.logger [as onLog] (file:///workspaces/low-code-react-app-b/node_modules/rollup/dist/es/shared/node-entry.js:22848:9)
    at ModuleLoader.handleInvalidResolvedId (file:///workspaces/low-code-react-app-b/node_modules/rollup/dist/es/shared/node-entry.js:21592:26)
    at file:///workspaces/low-code-react-app-b/node_modules/rollup/dist/es/shared/node-entry.js:21550:26
@johndoe6345789 ➜ /workspaces/low-code-react-app-b (main) $
2026-01-17 19:39:46 +00:00
bad1e7b0f7 Generated by Spark: View ROADMAP.md - work on Near-Term (Next 2-3 Iterations) 2026-01-17 17:18:02 +00:00
640c861ac2 Generated by Spark: Load molecule and organism component trees from json 2026-01-17 16:54:00 +00:00
b240fb0b9b Generated by Spark: Make atomic component library until done. If done, just wire them into other components. 2026-01-17 16:13:03 +00:00
8e677175fc Generated by Spark: half the app is gone, it was a code gen 2026-01-17 15:08:28 +00:00
fcdb50557a Generated by Spark: Error: src/components/JSONFlaskDesigner.tsx(5,28): error TS2322: Type '{ config: { id: string; name: string; layout: { type: string; }; dataSources: ({ id: string; type: string; key: string; defaultValue: { appName: string; version: string; port: number; debug: boolean; cors: boolean; blueprints: never[]; }; compute?: undefined; dependencies?: undefined; } | { ...; } | { ...; } | { ......' is not assignable to type 'IntrinsicAttributes & ComponentRendererProps'.
Property 'config' does not exist on type 'IntrinsicAttributes & ComponentRendererProps'.
Error: src/components/JSONLambdaDesigner.tsx(5,28): error TS2322: Type '{ config: { name: string; layout: { type: string; }; dataSources: ({ id: string; key: string; type: string; defaultValue?: undefined; compute?: undefined; dependencies?: undefined; } | { id: string; type: string; defaultValue: null; key?: undefined; compute?: undefined; dependencies?: undefined; } | { ...; } | { ......' is not assignable to type 'IntrinsicAttributes & ComponentRendererProps'.
  Property 'config' does not exist on type 'IntrinsicAttributes & ComponentRendererProps'.
Error: src/components/JSONStyleDesigner.tsx(5,28): error TS2322: Type '{ config: { id: string; name: string; layout: { type: string; }; dataSources: ({ id: string; type: string; key: string; defaultValue: { activeVariantId: string; variants: { id: string; name: string; colors: { ...; }; }[]; typography: { ...; }; }; compute?: undefined; dependencies?: undefined; } | { ...; } | { ...; }...' is not assignable to type 'IntrinsicAttributes & ComponentRendererProps'.
  Property 'config' does not exist on type 'IntrinsicAttributes & ComponentRendererProps'.
Error: src/components/JSONWorkflowDesigner.tsx(11,18): error TS2352: Conversion of type '{ name: string; layout: { type: string; }; dataSources: ({ id: string; key: string; type: string; defaultValue?: undefined; compute?: undefined; dependencies?: undefined; } | { id: string; type: string; defaultValue: null; key?: undefined; compute?: undefined; dependencies?: undefined; } | { ...; } | { ...; } | { .....' to type 'PageSchema' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
  Property 'id' is missing in type '{ name: string; layout: { type: string; }; dataSources: ({ id: string; key: string; type: string; defaultValue?: undefined; compute?: undefined; dependencies?: undefined; } | { id: string; type: string; defaultValue: null; key?: undefined; compute?: undefined; dependencies?: undefined; } | { ...; } | { ...; } | { .....' but required in type 'PageSchema'.
Error: src/components/ProjectDashboard.tsx(81,11): error TS2322: Type '{ icon: Element; title: string; value: number; description: string; color: string; }' is not assignable to type 'IntrinsicAttributes & StatCardProps'.
  Property 'title' does not exist on type 'IntrinsicAttributes & StatCardProps'.
Error: src/components/ProjectDashboard.tsx(89,11): error TS2322: Type '{ icon: Element; title: string; value: number; description: string; color: string; }' is not assignable to type 'IntrinsicAttributes & StatCardProps'.
  Property 'title' does not exist on type 'IntrinsicAttributes & StatCardProps'.
Error: src/components/ProjectDashboard.tsx(97,11): error TS2322: Type '{ icon: Element; title: string; value: number; description: string; color: string; }' is not assignable to type 'IntrinsicAttributes & StatCardProps'.
  Property 'title' does not exist on type 'IntrinsicAttributes & StatCardProps'.
Error: src/components/ProjectDashboard.tsx(105,11): error TS2322: Type '{ icon: Element; title: string; value: number; description: string; color: string; }' is not assignable to type 'IntrinsicAttributes & StatCardProps'.
  Property 'title' does not exist on type 'IntrinsicAttributes & StatCardProps'.
Error: src/components/ProjectDashboard.tsx(113,11): error TS2322: Type '{ icon: Element; title: string; value: number; description: string; color: string; }' is not assignable to type 'IntrinsicAttributes & StatCardProps'.
  Property 'title' does not exist on type 'IntrinsicAttributes & StatCardProps'.
Error: src/components/ProjectDashboard.tsx(121,11): error TS2322: Type '{ icon: Element; title: string; value: number; description: string; color: string; }' is not assignable to type 'IntrinsicAttributes & StatCardProps'.
  Property 'title' does not exist on type 'IntrinsicAttributes & StatCardProps'.
Error: src/components/index.ts(2,1): error TS2308: Module './atoms' has already exported a member named 'EmptyState'. Consider explicitly re-exporting to resolve the ambiguity.
Error: src/components/index.ts(2,1): error TS2308: Module './atoms' has already exported a member named 'LoadingState'. Consider explicitly re-exporting to resolve the ambiguity.
Error: src/components/index.ts(2,1): error TS2308: Module './atoms' has already exported a member named 'StatCard'. Consider explicitly re-exporting to resolve the ambiguity.
Error: Process completed with exit code 2.
2026-01-17 13:13:39 +00:00
b8168ded76 Generated by Spark: Ensure / route is wired up with some JSON config. 2026-01-17 12:54:05 +00:00
afe2bf1724 Generated by Spark: Fix all reported errors. 2026-01-17 12:45:11 +00:00
944e164deb Generated by Spark: Load more of UI from JSON declarations and break up large components into atomic and create hooks as needed 2026-01-17 12:01:34 +00:00
165c8d3847 Edited Spark 2026-01-17 11:57:11 +00:00
1819e3d598 Generated by Spark: Convert remaining pages (Lambdas, Styling, Flask API) to JSON-driven configuration 2026-01-17 11:55:55 +00:00
c1653ac226 Edited Spark 2026-01-17 11:49:01 +00:00
83dd57f259 Generated by Spark: Convert more pages to JSON-driven configuration (Models, Components, Workflows) 2026-01-17 11:46:36 +00:00
3ae07db657 Generated by Spark: Load more of UI from JSON declarations and break up large components into atomic and create hooks as needed 2026-01-17 11:38:28 +00:00
d84c221e6e Generated by Spark: Add data source binding UI to connect components to KV storage and computed values 2026-01-17 11:10:54 +00:00
9b9f0da541 Generated by Spark: Build a visual schema editor to create JSON UI configs through drag-and-drop 2026-01-17 11:03:10 +00:00
1176959d4a Generated by Spark: Load more of UI from JSON declarations 2026-01-17 10:22:57 +00:00
eb895f70f5 Generated by Spark: Add workflow filtering by status (success, failed, running) 2026-01-17 10:06:37 +00:00
d159c5e8c7 Generated by Spark: Github build status information on dashboard - https://github.com/johndoe6345789/low-code-react-app-b/actions 2026-01-17 09:56:58 +00:00
017d0c9b31 Generated by Spark: Add route-based code splitting with React Router for even better performance 2026-01-17 09:23:25 +00:00
da8532dd11 Generated by Spark: I see loading screen, which is fine but we need really good console.log trace logging so i can trace the initialisation flow 2026-01-17 02:03:46 +00:00
128d2ae6f4 Generated by Spark: Got weird problem - Publish to https://low-code-react-app-b--johndoe6345789.github.app/ works fine but preview just shows Purple dot and loading.. + white page 2026-01-17 00:07:35 +00:00