Summary
This ports the components under pkg/rancher-components to TypeScript. Take note that this change also touches some areas outside of pkg/rancher-components, including
shell/mixins/labeled-form-element.ts
shell/mixins/compact-input.ts
shell/components/form/LabeledSelect.vue
shell/components/form/Select.vue
Making changes to these components was required to properly work with the mixins used for pkg/rancher-components/src/components/Form/LabeledInput/LabeledInput.vue. Perhaps these would be good candidates to port to Rancher Components next..
Fixes#5932
Areas or cases that should be tested
We'll need to review a good range of usages for the modified components to check for regressions. I'm mostly concerned about type errors or warnings that might be raised during runtime.