Work items list - bulk edit
### Release notes
You can now bulk edit more attributes for epics at the group level, expanding beyond just labels to include assignee, health status, subscription, confidentiality, and milestone changes. This enhancement streamlines your epic management workflow by allowing you to efficiently update multiple epics at once with the same attributes you're used to editing on individual epics.

## Summary
Bulk editing is available on Epic and Issues listing pages. We need to ensure the bulk edit experience is not interrupted by the migration to work items. Noting that post migration of epics and issues to work items, we will utilize the existing separate epic and issue listing page views until we create a [single agile planning listing page](https://gitlab.com/groups/gitlab-org/-/epics/5516#feature-iterations).
### Feature flags
Currently the main feature flag is `work_item_planning_view` - but this one enclose other features, we might create a specific one
### Bulk Edit widgets
- [x] Labels¹
- [x] Status
- [x] Assignee
- [x] Epic
- [x] Milestones
- [x] Iteration
- [x] Health status
- [x] Subscriptions
- [x] Confidentiality
- [x] Move
_¹Required for Epic listing page parity_
### Rollout Plan
Feature flag for new GraphQL powered bulk editing functionality (`work_items_bulk_edit`): https://gitlab.com/gitlab-org/gitlab/-/issues/551187+
Required for rollout to begin:
- [x] Parity with legacy for bulk editing attributes
- [x] Able to bulk move items between projects and groups
- [x] Only allow editing attributes that are compatible with the selected items
- [ ] Performance is acceptable (need to define _acceptable_)
- [x] Decide whether we want to make everything editable for Epics (currently only supports labels)
#### Rollout stages of availability
##### Stage 1 :white_check_mark: (done)
When gitlab-org/gitlab!200186 merges, GraphQL powered bulk editing expanded for Epics, work item issues list still uses REST:
| attribute | available for WI issues | available for epics |
| --------------- | ----------------------- | ------------------- |
| state | :white_check_mark: | :x: |
| assignee | :white_check_mark: | :white_check_mark: |
| labels | :white_check_mark: | :white_check_mark: |
| health | :white_check_mark: | :white_check_mark: |
| subscription | :white_check_mark: | :white_check_mark: |
| confidentiality | :white_check_mark: | :white_check_mark: |
| iteration | :x: | :x: |
| milestone | :x: | :white_check_mark: |
| parent | :x: | :x: |
| move | :x: | :x: |
##### Stage 2 :construction:
Enable `work_items_bulk_edit` to fully enable GraphQL powered bulk editing for epics and work item issues
This unblocks rollout of `work_items_project_issues_list`
| attribute | available for WI issues | available for epics |
| --------------- | ----------------------- | ------------------- |
| state | :white_check_mark: | :x: |
| assignee | :white_check_mark: | :white_check_mark: |
| labels | :white_check_mark: | :white_check_mark: |
| health | :white_check_mark: | :white_check_mark: |
| subscription | :white_check_mark: | :white_check_mark: |
| confidentiality | :white_check_mark: | :white_check_mark: |
| iteration | :white_check_mark: | :x: |
| milestone | :white_check_mark: | :white_check_mark: |
| parent | :white_check_mark: | :x: |
| move | :white_check_mark: | :x: |
##### Stage 3 (future)
Expand availability of editing for group level items (will tackle as part of https://gitlab.com/groups/gitlab-org/-/epics/17647+)
| attribute | available for WI issues | available for epics |
| --------------- | ----------------------- | ------------------- |
| state | :white_check_mark: | :white_check_mark: |
| assignee | :white_check_mark: | :white_check_mark: |
| labels | :white_check_mark: | :white_check_mark: |
| health | :white_check_mark: | :white_check_mark: |
| subscription | :white_check_mark: | :white_check_mark: |
| confidentiality | :white_check_mark: | :white_check_mark: |
| iteration | :white_check_mark: | :x: |
| milestone | :white_check_mark: | :white_check_mark: |
| parent | :white_check_mark: | :white_check_mark: |
| move | :white_check_mark: | :white_check_mark: |
epic