kell_creations/kell_creations_apps/packages
Mike Kell ffc643739c feat: add bulk move-to-draft action (Stage 7A)
Add bulk status-change capability to the product publishing workspace,
starting with 'Move to Draft' as the first controlled bulk action.

Controller:
- Add BulkActionResult value class (successCount, failureCount,
  targetStatus, failedProductNames, totalCount, allSucceeded)
- Add bulkUpdateStatus() method: processes selected products
  sequentially with per-row updating state, single reload after
  completion, auto-clears multi-selection
- Add lastBulkActionResult / consumeBulkActionResult() pattern

Presentation:
- Add showBulkActionSnackBar() with three variants: all-success
  (green), total-failure (red), partial-failure (amber with up to
  3 failed product names)
- Update _MultiSelectBar with 'Move to Draft' OutlinedButton.icon
  and onBulkMoveToDraft callback
- Add _confirmBulkMoveToDraft() confirmation dialog
- Wire bulk result listener into _onControllerChanged

Tests:
- 11 new bulkUpdateStatus tests: no-op on empty selection, moves
  all to draft, sets result on all-success, clears multi-selection,
  clears updatingIds, handles mixed statuses, consume clears result,
  starts null, preserves preview selection, persists filter/sort,
  disposal safety
- Total: 311/311 feature_wordpress, 24/24 kell_web

Tracking:
- Update master_development_brief.md: Stage 7A marked complete,
  entry criteria marked as all met, test count updated to 311
- Update build_execution_tracker.md: new slice entry added
2026-05-30 10:36:00 -04:00
..
auth feat(mobile): Stage 5A — Android app shell and bootstrap 2026-05-28 19:10:14 -04:00
core feat(mobile): Stage 5A — Android app shell and bootstrap 2026-05-28 19:10:14 -04:00
data feat(mobile): Stage 5A — Android app shell and bootstrap 2026-05-28 19:10:14 -04:00
design_system feat(mobile): Stage 5A — Android app shell and bootstrap 2026-05-28 19:10:14 -04:00
feature_finance feat(mobile): Stage 5A — Android app shell and bootstrap 2026-05-28 19:10:14 -04:00
feature_inventory feat(mobile): Stage 5A — Android app shell and bootstrap 2026-05-28 19:10:14 -04:00
feature_mrp feat(mobile): Stage 5A — Android app shell and bootstrap 2026-05-28 19:10:14 -04:00
feature_orders chore(feature_orders): add .gitignore, untrack .dart_tool and pubspec.lock 2026-05-30 10:09:40 -04:00
feature_policy feat(mobile): Stage 5A — Android app shell and bootstrap 2026-05-28 19:10:14 -04:00
feature_social feat(mobile): Stage 5A — Android app shell and bootstrap 2026-05-28 19:10:14 -04:00
feature_wordpress feat: add bulk move-to-draft action (Stage 7A) 2026-05-30 10:36:00 -04:00
integrations feat(mobile): Stage 5A — Android app shell and bootstrap 2026-05-28 19:10:14 -04:00