refactor: mark decorated slots with Slot, DefaultSlot types #12969
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Background
Creates unique symbols and marks all slots of all web components so they can be extracted in TS environment.
The specific benefit is for the suggestion and autocompletion of the slots in Vue templates, but same applies in general to other templates supporting Typescript.
Currently all classes have the system
_jsxPropsand it includes all class members, including slots, but it's not possible to get which members are exactly slots.Wrapping the current slot types with
SlotandDefaultSlotwill mark the slots, so that they can be extracted from_jsxPprops.Changes in Components
In the components we nee to make the following change:
SlottypeDefaultSlottypeWhat This Enables?
This makes slots discoverable,
for example the following code extracts an union of the component slot names: