feat: Prototype Flow Builder for the Care Design Library - #34
Draft
vinutv wants to merge 1 commit into
Draft
Conversation
Adds a native, client-only low-code prototyping environment for assembling realistic Care/HMIS workflows from existing Care Design System components — no backend, no persistence beyond sessionStorage, no code required. What's included: - Four-panel builder: Pages sidebar (CRUD + reorder + start page), a categorized Component Library (30+ Care components/blocks, click-to-add and drag via dnd-kit), a live device-aware Canvas, and an Interaction panel with a When → Do action/condition builder plus smart suggestions. - Flow View: node-graph of pages with connections auto-derived from Navigate interactions, pan/zoom/auto-arrange. - Prototype Player: runs prototypes with navigation + transitions, history, modals, toasts, show/hide/toggle, variable capture, live-filtered mock data, device switching, and keyboard shortcuts. - Temporary variables, mock healthcare data, and one-click workflow templates (OP journey, appointment booking, pharmacy, lab). Wiring: - New `prototype-builder` full-screen route in App.tsx and a Tools nav entry. - The route dismisses the pre-React splash via __removeLoadingScreen(), which is otherwise only called by DynamicMainContent. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Deploying careui with
|
| Latest commit: |
7e93204
|
| Status: | ✅ Deploy successful! |
| Preview URL: | https://f3050f21.careui.pages.dev |
| Branch Preview URL: | https://feat-prototype-flow-builder.careui.pages.dev |
vinutv
marked this pull request as draft
August 18, 2026 10:07
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Overview
Adds a native Prototype Builder to the Care Design Library — a client-only, zero-code environment for rapidly assembling realistic Care/HMIS workflows using existing Care Design System components. It behaves like an interactive HTML prototype: no backend, no database, no persistence beyond a per-session snapshot.
Open it from Tools → Prototype Builder in the sidebar (route
#prototype-builder).What's included
Four-panel builder
@dnd-kit.When → Doaction builder with optional variable conditions.Flow View — node-graph of pages; connections auto-derive from Navigate interactions, with pan / zoom / auto-arrange.
Prototype Player — runs the prototype end-to-end: navigation with slide/fade transitions, back/history, modals, toasts, show/hide/toggle, variable capture, live-filtered mock data, device switching, and keyboard shortcuts (Esc, Backspace).
Also: temporary prototype variables, mock healthcare data (patients, appointments, meds, labs, queue, vitals), and one-click workflow templates (OP journey, appointment booking, pharmacy dispensing, lab sample collection).
Wiring notes for reviewers
prototype-builderroute inApp.tsx+ a Tools nav entry inapp-sidebar.tsx.DynamicMainContent, which is the only place that dismisses the pre-React splash (__removeLoadingScreen()).PrototypeBuildernow calls it on mount so a fresh deep-link doesn't leave the loader stuck.store.tsx) with sessionStorage-only persistence — nothing is written to a backend.Scope / intentional limitations
Verification
tsc -b, ESLint, and Prettier all pass on the new module and touched files.🤖 Generated with Claude Code