Keep connection to non-exported library components

A common use case for prefixing a component with a period (which causes it to not be exported with the library) is to use it as a nested component. However, if the parent component is detached by a consuming file, that nested component is no longer connected to the library and won’t receive further updates.

The main goal is to keep the insert menu simple, but allowing library maintainers more flexibility without having variants get out of control.

The Fix: Simply, allow prefixed components like .ButtonStyles to be hidden from export, but maintain reference to original component.

It seems this is even more of a concern when publishing components that contain hidden components.

For example, we use hidden components as nested internal-only components to manage the complexity of variants. We obviously only want users to use the top-level published component but never the internal one. However, we’ve notice that if we make an update to the .internal component, when we publish the top level Component , existing usages of Component don’t get the .internal update, only newly inserted instances will have the updates to .internal .

This has causes a lot of designers to ask why new variants toggles are not showing up and I have to ask them to manually replace their instance with a new one which is a huge headache.

1 Like

Thanks for the additional feedback!

We’ll pass this onto our team for consideration.

By the way, trying this myself, I’ve noticed that inserting new component instances works as expected. It only break if you already have a component inserted. Pressing “Reset all changes” also applies the changes from the internal component updates