File tree Expand file tree Collapse file tree 3 files changed +10
-0
lines changed
compose-multiplatform-common/src
commonMain/kotlin/com/huanshankeji/compose/ui
jsMain/kotlin/com/huanshankeji/compose/ui
jvmMain/kotlin/com/huanshankeji/compose/ui Expand file tree Collapse file tree 3 files changed +10
-0
lines changed Original file line number Diff line number Diff line change @@ -6,6 +6,8 @@ import com.huanshankeji.compose.ui.unit.SizeValue
66typealias ModifierOrAttrs <TElement > = (ModifierOrAttrsScope <TElement >.() -> Unit )?
77
88expect abstract class Element
9+
10+ // TODO: add `out` to `TElement`
911expect class ModifierOrAttrsScope <TElement : Element > {
1012 fun style (builder : StyleScope .() -> Unit )
1113}
Original file line number Diff line number Diff line change @@ -9,6 +9,9 @@ import org.w3c.dom.HTMLElement
99fun <TElement : Element > ModifierOrAttrs<TElement>.toAttrs (): AttrBuilderContext <TElement >? =
1010 this ?.let { { ModifierOrAttrsScope (this ).it() } }
1111
12+ fun <TElement : Element > AttrBuilderContext<TElement>?.toModifierOrAttrs (): ModifierOrAttrs <TElement > =
13+ this ?.let { { attrsScope.it() } }
14+
1215actual typealias Element = HTMLElement
1316
1417actual class ModifierOrAttrsScope <TElement : Element >(val attrsScope : AttrsScope <TElement >) {
Original file line number Diff line number Diff line change @@ -9,6 +9,11 @@ fun <TElement : Element> ModifierOrAttrs<TElement>.toModifier(): Modifier =
99 ModifierOrAttrsScope <TElement >(Modifier ).apply (it).modifier
1010 } ? : Modifier
1111
12+ fun <TElement : Element > Modifier.toModifierOrAttrs (): ModifierOrAttrs <TElement > =
13+ if (this != = Modifier ) {
14+ { modify { this then this @toModifierOrAttrs } }
15+ } else null
16+
1217actual abstract class Element
1318
1419actual class ModifierOrAttrsScope <TElement : Element >(modifier : Modifier ) {
You can’t perform that action at this time.
0 commit comments