If component can be fully independent, then what to do with such simple situation?
You have component menu, where any menu link can have any svg icon from design system.
You have button component, where button can have any svg icon from design system.
Where to store icons? In both components? If your answer is "no, icons can be centralized in one place" -> that means your components already can not be fully independent. So when you will copy your component and put it in new theme on another project - you also have to take care about:
Assets affected by component (if it all exist on the new theme)
Third party libraries (if it's exist on new theme)
css variables
media breakpoints
build process (if your component will be broken on build or not, on new project).
https://github.com/skilld-labs/ui-patterns-kaizen/issues/20
If component can be fully independent, then what to do with such simple situation?
Where to store icons? In both components? If your answer is "no, icons can be centralized in one place" -> that means your components already can not be fully independent. So when you will copy your component and put it in new theme on another project - you also have to take care about: