Protected packages: CRUD protection rules in project setting ui
- This issue is part of the epic &5574+
- This issue focusses on the UX/UI for the project settings section related to protecting packages.
- We can use [the implemented GraphQL API](/gitlab-org/gitlab/-/issues/416381 "Protected packages: Provide CRUD operations PackageProtectionRules in GraphQL API")
### Proposal
We propose to use the same behavior UX and UI known from the features [Protected Branches](https://docs.gitlab.com/ee/user/project/protected_branches.html) and [Protected Tags](https://docs.gitlab.com/ee/user/project/protected_tags.html).

NOTE: To avoid additional complexity at the start, we propose to focus just on package names for the beginning and disregard package version.
### Checklist / Implementation plan
- [x] Discuss proposal and possible designs
- [x] Implement list of package protection rules, see !140008+
- [x] Implement pagination for the list of package protection rules, see !140738+
- [x] Implement possibility to create package protection rules in project settings, see !140473+
- [x] Implement possibility to update package protection rules in project settings, see !141792+
- [x] Implement possibility to delete package protection rules in project settings, see !140483+
- [x] Align letter casing across the table columns and form fields for the attributes `package type` and `push protected up to access level` => !144076+
- [x] Add help text for users regarding package name and wildcards => !152221
- [~] Optional: Enhance list of package protection rule, e.g. sortable table, paginatable table, etc.
- [~] Add label "protected" in [the overview list of package registries](https://docs.gitlab.com/ee/user/packages/package_registry/index.html#view-packages) as mentioned in https://gitlab.com/gitlab-org/gitlab/-/issues/413641#note_1708536668 .
- [~] Show label "protected" in package detail page as mentioned in https://gitlab.com/gitlab-org/gitlab/-/issues/413641#note_1721463314 .
- [x] Change form fields and table headers to “Name pattern”, “Type”, and “Allowed to push” (as suggested in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/140738#note_1750010075) => see !148704
- [ ] Refactor the naming of methods and variables in the file `app/assets/javascripts/packages_and_registries/settings/project/components/packages_protection_rules.vue` => see !146399+
- [x] Apply [the feedback and patch from `@annabeldunstone`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/146523#note_1838085406) regarding the package protection rule overview table => !148704+
- [ ] Add icon with number of protected packages based on [the feedback from `@annabeldunstone`](https://gitlab.com/gitlab-org/gitlab/-/merge_requests/146523#note_1838085406) => !148699+
### Checklist / Implementation plan for minimum access level for delete
- [ ] Add new field "Minimum Access Level For Delete" in project setting UI => !180416+
issue