compose-multiplatform
compose-multiplatform copied to clipboard
Simplify CSS API Builder hierarchy
Currently we have:
- interface CSSBuilder : CSSStyleRuleBuilder, GenericStyleSheetBuilder<CSSBuilder>
- class CSSBuilderImpl : CSSRuleBuilderImpl(), CSSBuilder, CSSRulesHolder by rulesHolder
- interface CSSStyleRuleBuilder : StyleBuilder
- open class CSSRuleBuilderImpl : CSSStyleRuleBuilder, StyleBuilderImpl()
- interface StyleBuilder
- interface CSSRulesHolder
- interface GenericStyleSheetBuilder<TBuilder> : CSSRulesHolder
We need to revisit all this entities and do following:
- Remove all entities that make sense to remove
- Make sure only entities that are intended to be public are public
- If the final set of entities is still big and confusing - document the hierarchy and explicitly justify it.
Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.