task_id: task_create_component_app_gallery entity_id: component_app_gallery generated_at: '2025-12-19T06:08:12.198727' workflow_version: v001 target: type: component definition: id: component_app_gallery name: AppGallery props: - name: apps type: GeneratedApp[] required: true description: Array of generated apps to display - name: isLoading type: boolean required: false default: false description: Whether apps are being loaded events: - name: onSelectApp payload: string description: Fired when app is clicked, payload is app ID uses_apis: [] uses_components: - component_app_card internal_state: [] variants: - grid - list related: models: [] apis: [] components: - id: component_app_card definition: &id001 id: component_app_card name: AppCard props: - name: app type: GeneratedApp required: true description: Generated app to display - name: showActions type: boolean required: false default: true description: Show delete button events: - name: onClick payload: string description: Fired when card clicked, payload is app ID - name: onDelete payload: string description: Fired when delete confirmed, payload is app ID uses_apis: [] uses_components: [] internal_state: - isDeleting variants: - default - compact external: false dependencies: entity_ids: - component_app_card definitions: - id: component_app_card type: component definition: *id001 external: false files: to_create: - app/components/AppGallery.tsx reference: [] acceptance: - criterion: Component renders without errors verification: Import and render in test - criterion: Props are typed correctly verification: TypeScript compilation - criterion: Events fire correctly verification: Test event handlers