-
Robert Knight authored
Previously all components that used injected services did not have their usage type-checked because `withServices` returned `any`. This commit refactors the API of `withServices` to make it easier to typecheck and adds types. The major API change is that the list of injected services is now passed as a second argument to `withServices` rather than by setting an `injectedProps` property on the component. This makes it easy to infer that the component returned by `withServices(Widget, ['serviceA', 'serviceB'])` has the same props as `Widget` but without `serviceA` or `serviceB`. Making these changes also turned up a handful of mistakes in existing types which are fixed here: - Correct `auth` type used by `HelpPanel` - Correct type of `thread` prop used by `ThreadCard` - Correct optionality of boolean arguments in callbacks to `Excerpt` - Change `showActions` logic in `Annotation` to make it more obvious to TS that the actions are only shown when there is an annotation - Remove unused props passed to `GroupList` Additionally there was a type error with TopBar's `auth` prop which is less trivial to fix, so I have punted it to a future commit.
4be722ea