I have saw patterns like that,but don’t quite understand.Basically I would like to aggregate methods of multiple objects into one,how to do that ?
object bundle
// Attrs
extends Attrs[Attr]
with AriaAttrs[Attr]
// Event Props
with ClipboardEventProps[EventProp]
with ErrorEventProps[EventProp]
with FormEventProps[EventProp]
with KeyboardEventProps[EventProp]
with MediaEventProps[EventProp]
with MiscellaneousEventProps[EventProp]
with MouseEventProps[EventProp]
with WindowOnlyEventProps[EventProp]
// Props
with Props[Prop]
// Reflected Attrs
with ReflectedAttrs[ReflectedAttr]
// Styles
with Styles[StyleSetter]
with Styles2[StyleSetter]
// Tags
with DocumentTags[ReactiveTag]
with EmbedTags[ReactiveTag]
with FormTags[ReactiveTag]
with GroupingTags[ReactiveTag]
with MiscTags[ReactiveTag]
with SectionTags[ReactiveTag]
with TableTags[ReactiveTag]
with TextTags[ReactiveTag]
// Builders
with CanonicalAttrBuilder
with CanonicalReflectedAttrBuilder
with CanonicalEventPropBuilder[dom.Event]
with CanonicalPropBuilder
with ReactiveTagBuilder
with SetterBuilders[ReactiveNode, dom.Element, dom.Node]
// Other things
with DomApi
with Implicits {
val focus: FocusReceiver.type = FocusReceiver
val child: ChildReceiver.type = ChildReceiver
val maybeChild: MaybeChildReceiver.type = MaybeChildReceiver
val children: ChildrenReceiver.type = ChildrenReceiver
}