-
Notifications
You must be signed in to change notification settings - Fork 360
Description
Motivation
Stream offers a ton of entrypoints for customising small elements of the UI without having to replace entire components which is great. However, replacing icons often seems to require replacing an entire component.
As an example, the imports the svg <Plus /> and uses it. This means if you want to have a custom icon for the attach button, you have to duplicate the entire <AttachButton /> at the <Channel /> level just to replace the icon (which in the latest version on npm also means replicating NativeAttachmentPicker since it's not exported).
Proposed solution
Ideally, any SVG Icons can be easily replaced through theming like other components - probably either through <OverlayProvider /> or <Channel /> - without having to replicate the entire component.
Something like:
<OverlayProvider
value={{
icons: {
Attach: MyCustomAttachSvg,
SendRight: Envelope,
SendUp: Envelope,
// ...
}
}}
/>
Related: