-
Notifications
You must be signed in to change notification settings - Fork 638
Description
Highest Priority
Rewrite Dialog
component
Issue: #930
Impact
Replacing our current Dialog which uses @reach/dialog
is the highest priority upcoming issue as it is blocking our ability to upgrade Primer React Components to use React 17, which other teams at GitHub are waiting on PRC to upgrade to React 17. Removing this dependency would also reduce our bundle size significantly (my estimates are by 15-20%) and give us more fine grained control over Dialog behaviors.
Scope
- 2 weeks for one engineer + heavy testing and review support for at least one other engineer
Upgrade to React 17
Issue:
Impact
As mentioned above, this work relies on the above Dialog
refactor. This would allow other teams at GitHub who are using PRC to upgrade to React 17 which includes improvements related to event bubbling
Scope
Fairly small, most of the work is done already in #942 but we need the Dialog work to be done in order to merge it.
Support color modes in PRC + theming audit
Issue: #639
Impact
This may be a significant amount of work and is paramount to enabling dark modes in projects at GitHub that are using Primer React Components. Refactoring our theme should also enable the ability to theme for other brands at GitHub using PRC and could open the door to building out developer tooling like intelligence for our system props in VSCode.
Scope
2-4 weeks for one engineer + heavy testing & review support from at least 2 other engineers
SelectMenu
improvements
Issues:
- [Perf] Don't render select menu content unless menu is open #946
- forwardRef on SelectMenu.Filter #949
- SelectMenu
onOutsideClick
& Portals #940 - Primer Component’s 'SelectMenu' should be usable as a controlled component #933
- Primer Component’s 'SelectMenu' should support 'onOpen' and 'onClose' callback functions #932
Impact
This would would significantly reduce complexity in our main internal "customer"'s codebase and would set us up to make broader menu changes in the future.
TypeScript Refactor
Issue:
Impact
Refactoring our codebase in TypeScript would make our library less bug prone by enforcing type safety in the implementation of our components, reduce the amount of issues we face with our manual maintenance of our index.d.ts file, and make upstreaming components from other projects at GitHub written in TS much much faster allowing us to greatly improve our contributor experience.
Stretch Goals
- Intellisense for system props
- Spike on https://github.com/github/design-systems/issues/1178
- Re-think availability of some system props on components