compose-multiplatform icon indicating copy to clipboard operation
compose-multiplatform copied to clipboard

Simplify CSS API Builder hierarchy

Open Schahen opened this issue 4 years ago • 1 comments

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:

  1. Remove all entities that make sense to remove
  2. Make sure only entities that are intended to be public are public
  3. If the final set of entities is still big and confusing - document the hierarchy and explicitly justify it.

Schahen avatar Nov 17 '21 14:11 Schahen

Please check the following ticket on YouTrack for follow-ups to this issue. GitHub issues will be closed in the coming weeks.

okushnikov avatar Aug 26 '24 16:08 okushnikov