this is a bit of a newbie managed package question. We've built a custom LWC that is composed of a number of child components, and everything is going to be added into a managed package. What we would like is to have the parent component visible in Lightning App Builder and the children not visible because they are private internal components and not intended for general public use. I understand that setting isExposed=true is necessary for for the components to be useable within a managed package. However, this exposes everything in App Builder. If I set isExposed=false on the children, which has the effect of hiding the components in App Builder, I get the error "The Lightning Web Component Bundle 'component-name' in this managed package must be marked 'isExposed=true'." when trying to create the package.
Is there really no way to add private components to a managed package without them being visible in App Builder? This is completely confusing to me. I mean, I guess I do understand the point of isExposed, but we have children, such as an augmented combobox and the like, that are really meant to only be used within our component and not intended to be dropped standalone on a page. I don't like the idea of having to tell clients "just ignore those extra components, they're not important to you". Are we really expected to develop all publicly available components, whether we want people to use them or not? How have you all gotten around this, or have you?
I apologize if this has been answered somewhere else but I'm not able to find much of anything save for this post which was never resolved, Is there a way to use a private custom lwc Component (isExposed=false) in a flexipage that will be deployed in a managed package?.
Thanks!
IsExposed=true
. By root i mean those that you reference in the flexipage xml. Those you can't hide altogether, but you can constrain them to just one sObject (so e.g. if you're doing a custom one, then users can only add those to the flexipages for the custom component).