Summary: Follow-up work item to extract private dialog helpers into a shared module (src/tui/components/dialog-helpers.ts) and reconcile with the modal dialog base (WL-0MNU782BD004HO2W).
Dependencies
- Parent modal abstraction: WL-0MNU782BD004HO2W (design must be considered prior to extraction)
Acceptance Criteria
- New module planned with public signatures documented and migration steps outlined.
- A mapping is produced showing which helpers in DialogsComponent map to exported functions/classes.
- A dependency link to WL-0MNU782BD004HO2W is included in the description.
Mapping: DialogsComponent Private Helpers → Extracted Public API
1. →
-
Current: Private method in DialogsComponent (line ~470)
-
Purpose: Creates a configured Blessed List with sensible defaults for dialogs
-
Proposed Public Signature:
-
Migration: Replace calls with
2. →
-
Current: Private method in DialogsComponent (line ~485)
-
Purpose: Creates a configured Blessed Textarea with sensible defaults
-
Proposed Public Signature:
-
Migration: Replace calls with
3. →
-
Current: Private method in DialogsComponent (line ~500)
-
Purpose: Creates a label box used as section headers inside dialogs
-
Proposed Public Signature:
-
Migration: Replace calls with
Migration Steps (to be executed in child work items)
-
Create shared dialog-helpers module (WL-0MO5SBA2C0011DXJ)
- Create
- Export type definitions for options interfaces
- Implement , ,
- Re-export common types (BlessedBox, BlessedList, BlessedTextarea)
-
Migrate DialogsComponent to use helpers (WL-0MO5SBPQW006ZZ3Q)
- Import helpers from dialog-helpers.ts
- Replace private method implementations with imports
- Ensure all existing functionality preserved
-
Integration & compatibility
- Modal base interop (WL-0MO5SBWCA0027QKV)
- Test verification (WL-0MO5SBZ3U0007M40)
Compatibility Notes
- All functions maintain backward-compatible parameter shapes
- No breaking changes to Widget lifecycle (create/destroy)
- Theme integration preserved via existing import
- Tests must pass after migration to verify behavioral parity
Summary: Follow-up work item to extract private dialog helpers into a shared module (src/tui/components/dialog-helpers.ts) and reconcile with the modal dialog base (WL-0MNU782BD004HO2W).
Dependencies
Acceptance Criteria
Mapping: DialogsComponent Private Helpers → Extracted Public API
1. →
Current: Private method in DialogsComponent (line ~470)
Purpose: Creates a configured Blessed List with sensible defaults for dialogs
Proposed Public Signature:
Migration: Replace calls with
2. →
Current: Private method in DialogsComponent (line ~485)
Purpose: Creates a configured Blessed Textarea with sensible defaults
Proposed Public Signature:
Migration: Replace calls with
3. →
Current: Private method in DialogsComponent (line ~500)
Purpose: Creates a label box used as section headers inside dialogs
Proposed Public Signature:
Migration: Replace calls with
Migration Steps (to be executed in child work items)
Create shared dialog-helpers module (WL-0MO5SBA2C0011DXJ)
Migrate DialogsComponent to use helpers (WL-0MO5SBPQW006ZZ3Q)
Integration & compatibility
Compatibility Notes