Replace PROP_TYPE_* constants with native JS constructors
## Summary Replace all `PROP_TYPE_*` constant usages (e.g. `PROP_TYPE_STRING`, `PROP_TYPE_NUMBER`) with their native JavaScript constructor equivalents (`String`, `Number`, `Boolean`, `Array`, `Object`, `Function`, etc.) across the vendored BootstrapVue codebase. This is a follow-up to https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/work_items/3391, which refactored `makeProp()` calls. Now that `makeProp()` is being removed, the `PROP_TYPE_*` constants it relied on can also be eliminated in favour of the native JS types that Vue 2 already accepts directly. For each batch, also check whether any `PROP_TYPE_*` imports become **entirely unused** after the replacement and remove those imports too. --- ## Batched rollout plan ### Batch 1: Mixins: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5914 - `mixins/dropdown.js` - `mixins/form-control.js` - `mixins/form-custom.js` - `mixins/form-options.js` - `mixins/form-size.js` - `mixins/form-state.js` - `mixins/form-text.js` - `mixins/id.js` ### Batch 2: Form: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5926 - `components/form/form.js` - `components/form/form-text.js` ### Batch 3: Table helper mixins used by components: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5915 - `components/table/helpers/**` ### Batch 4: Table: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5916 - `components/table/*.js` ### Batch 5: Button: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5917 - `components/button/*.js` ### Batch 6: Dropdown: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5918 - `components/dropdown/*.js` ### Batch 7: Tabs: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5919 - `components/tabs/*.js` ### Batch 8: Modal: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5920 - `components/modal/*.js` ### Batch 9: Tooltip: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5921 - `components/tooltip/*.js` ### Batch 10: Form-Group: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5922 - `components/form-group/*.js` ignoring the reducer which will be part of col.js and form-row.js refactoring ### Batch 11: Popover: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5924 - `components/popover/*.js` ### Batch 12: Form-Select: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5927 - `components/form-select/*.js` ### Batch 13: Form-Textarea: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5925 - `components/form-textarea/*.js` ### Batch 14: Transition and Transporter: https://gitlab.com/gitlab-org/gitlab-services/design.gitlab.com/-/merge_requests/5923 - `components/transition/*.js` - `components/transporter/*.js` ### Final batch: - Remove PROP_TYPE_X constants which can be removed now
issue