diff --git a/compose-html-common/api/compose-html-common.klib.api b/compose-html-common/api/compose-html-common.klib.api
new file mode 100644
index 0000000..b5336e0
--- /dev/null
+++ b/compose-html-common/api/compose-html-common.klib.api
@@ -0,0 +1,145 @@
+// Klib ABI Dump
+// Targets: [js]
+// Rendering settings:
+// - Signature version: 2
+// - Show manifest properties: true
+// - Show declarations: true
+
+// Library unique name:
+open annotation class com.huanshankeji.compose.web/PreferringKobwebComposeLayoutApi : kotlin/Annotation { // com.huanshankeji.compose.web/PreferringKobwebComposeLayoutApi|null[0]
+ constructor () // com.huanshankeji.compose.web/PreferringKobwebComposeLayoutApi.|(){}[0]
+}
+
+final enum class com.huanshankeji.compose.web.attributes/AutoCapitalize : kotlin/Enum { // com.huanshankeji.compose.web.attributes/AutoCapitalize|null[0]
+ enum entry Characters // com.huanshankeji.compose.web.attributes/AutoCapitalize.Characters|null[0]
+ enum entry None // com.huanshankeji.compose.web.attributes/AutoCapitalize.None|null[0]
+ enum entry Sentences // com.huanshankeji.compose.web.attributes/AutoCapitalize.Sentences|null[0]
+ enum entry Words // com.huanshankeji.compose.web.attributes/AutoCapitalize.Words|null[0]
+
+ final val alternativeStrValue // com.huanshankeji.compose.web.attributes/AutoCapitalize.alternativeStrValue|{}alternativeStrValue[0]
+ final fun (): kotlin/String? // com.huanshankeji.compose.web.attributes/AutoCapitalize.alternativeStrValue.|(){}[0]
+ final val entries // com.huanshankeji.compose.web.attributes/AutoCapitalize.entries|#static{}entries[0]
+ final fun (): kotlin.enums/EnumEntries // com.huanshankeji.compose.web.attributes/AutoCapitalize.entries.|#static(){}[0]
+ final val strValue // com.huanshankeji.compose.web.attributes/AutoCapitalize.strValue|{}strValue[0]
+ final fun (): kotlin/String // com.huanshankeji.compose.web.attributes/AutoCapitalize.strValue.|(){}[0]
+
+ final fun valueOf(kotlin/String): com.huanshankeji.compose.web.attributes/AutoCapitalize // com.huanshankeji.compose.web.attributes/AutoCapitalize.valueOf|valueOf#static(kotlin.String){}[0]
+ final fun values(): kotlin/Array // com.huanshankeji.compose.web.attributes/AutoCapitalize.values|values#static(){}[0]
+
+ final object Companion { // com.huanshankeji.compose.web.attributes/AutoCapitalize.Companion|null[0]
+ final val valueSet // com.huanshankeji.compose.web.attributes/AutoCapitalize.Companion.valueSet|{}valueSet[0]
+ final fun (): kotlin.collections/Set // com.huanshankeji.compose.web.attributes/AutoCapitalize.Companion.valueSet.|(){}[0]
+ }
+}
+
+final enum class com.huanshankeji.compose.web.attributes/EnterKeyHint : kotlin/Enum { // com.huanshankeji.compose.web.attributes/EnterKeyHint|null[0]
+ enum entry Done // com.huanshankeji.compose.web.attributes/EnterKeyHint.Done|null[0]
+ enum entry Enter // com.huanshankeji.compose.web.attributes/EnterKeyHint.Enter|null[0]
+ enum entry Go // com.huanshankeji.compose.web.attributes/EnterKeyHint.Go|null[0]
+ enum entry Next // com.huanshankeji.compose.web.attributes/EnterKeyHint.Next|null[0]
+ enum entry Previous // com.huanshankeji.compose.web.attributes/EnterKeyHint.Previous|null[0]
+ enum entry Search // com.huanshankeji.compose.web.attributes/EnterKeyHint.Search|null[0]
+ enum entry Send // com.huanshankeji.compose.web.attributes/EnterKeyHint.Send|null[0]
+
+ final val entries // com.huanshankeji.compose.web.attributes/EnterKeyHint.entries|#static{}entries[0]
+ final fun (): kotlin.enums/EnumEntries // com.huanshankeji.compose.web.attributes/EnterKeyHint.entries.|#static(){}[0]
+ final val strValue // com.huanshankeji.compose.web.attributes/EnterKeyHint.strValue|{}strValue[0]
+ final fun (): kotlin/String // com.huanshankeji.compose.web.attributes/EnterKeyHint.strValue.|(){}[0]
+
+ final fun valueOf(kotlin/String): com.huanshankeji.compose.web.attributes/EnterKeyHint // com.huanshankeji.compose.web.attributes/EnterKeyHint.valueOf|valueOf#static(kotlin.String){}[0]
+ final fun values(): kotlin/Array // com.huanshankeji.compose.web.attributes/EnterKeyHint.values|values#static(){}[0]
+
+ final object Companion { // com.huanshankeji.compose.web.attributes/EnterKeyHint.Companion|null[0]
+ final val valueSet // com.huanshankeji.compose.web.attributes/EnterKeyHint.Companion.valueSet|{}valueSet[0]
+ final fun (): kotlin.collections/Set // com.huanshankeji.compose.web.attributes/EnterKeyHint.Companion.valueSet.|(){}[0]
+ }
+}
+
+abstract interface com.huanshankeji.compose.web.css/Visibility : org.jetbrains.compose.web.css/StylePropertyEnum { // com.huanshankeji.compose.web.css/Visibility|null[0]
+ final object Companion { // com.huanshankeji.compose.web.css/Visibility.Companion|null[0]
+ final val Collapse // com.huanshankeji.compose.web.css/Visibility.Companion.Collapse|{}Collapse[0]
+ final inline fun (): com.huanshankeji.compose.web.css/Visibility // com.huanshankeji.compose.web.css/Visibility.Companion.Collapse.|(){}[0]
+ final val Hidden // com.huanshankeji.compose.web.css/Visibility.Companion.Hidden|{}Hidden[0]
+ final inline fun (): com.huanshankeji.compose.web.css/Visibility // com.huanshankeji.compose.web.css/Visibility.Companion.Hidden.|(){}[0]
+ final val Visible // com.huanshankeji.compose.web.css/Visibility.Companion.Visible|{}Visible[0]
+ final inline fun (): com.huanshankeji.compose.web.css/Visibility // com.huanshankeji.compose.web.css/Visibility.Companion.Visible.|(){}[0]
+ }
+}
+
+final const val com.huanshankeji.compose.web.css/FIT_CONTENT // com.huanshankeji.compose.web.css/FIT_CONTENT|{}FIT_CONTENT[0]
+ final fun (): kotlin/String // com.huanshankeji.compose.web.css/FIT_CONTENT.|(){}[0]
+final const val com.huanshankeji.compose.web/WITH_STYLES_DEPRECATED_MESSAGE // com.huanshankeji.compose.web/WITH_STYLES_DEPRECATED_MESSAGE|{}WITH_STYLES_DEPRECATED_MESSAGE[0]
+ final fun (): kotlin/String // com.huanshankeji.compose.web/WITH_STYLES_DEPRECATED_MESSAGE.|(){}[0]
+
+final val com.huanshankeji.compose.web/DivComposable // com.huanshankeji.compose.web/DivComposable|{}DivComposable[0]
+ final fun (): kotlin/Function4, kotlin/Unit>?, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit> // com.huanshankeji.compose.web/DivComposable.|(){}[0]
+
+final var com.huanshankeji.compose.web.dom.ext/value // com.huanshankeji.compose.web.dom.ext/value|@org.w3c.dom.HTMLElement{}value[0]
+ final fun (org.w3c.dom/HTMLElement).(): kotlin/String // com.huanshankeji.compose.web.dom.ext/value.|@org.w3c.dom.HTMLElement(){}[0]
+ final fun (org.w3c.dom/HTMLElement).(kotlin/String) // com.huanshankeji.compose.web.dom.ext/value.|@org.w3c.dom.HTMLElement(kotlin.String){}[0]
+
+final fun (kotlin/Boolean).com.huanshankeji.compose.web.attributes/isFalseOrNull(): kotlin/Boolean? // com.huanshankeji.compose.web.attributes/isFalseOrNull|isFalseOrNull@kotlin.Boolean(){}[0]
+final fun (kotlin/Boolean).com.huanshankeji.compose.web.attributes/isTrueOrNull(): kotlin/Boolean? // com.huanshankeji.compose.web.attributes/isTrueOrNull|isTrueOrNull@kotlin.Boolean(){}[0]
+final fun (kotlin/Boolean).com.huanshankeji.compose.web.attributes/toOnOrOff(): kotlin/String // com.huanshankeji.compose.web.attributes/toOnOrOff|toOnOrOff@kotlin.Boolean(){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/ariaLabel(kotlin/String): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.attributes.ext/ariaLabel|ariaLabel@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/autoCapitalize(kotlin/String?): org.jetbrains.compose.web.attributes/AttrsScope? // com.huanshankeji.compose.web.attributes.ext/autoCapitalize|autoCapitalize@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/autoCapitalizeRequiringValid(kotlin/String) // com.huanshankeji.compose.web.attributes.ext/autoCapitalizeRequiringValid|autoCapitalizeRequiringValid@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/autoComplete(org.jetbrains.compose.web.attributes/AutoComplete?) // com.huanshankeji.compose.web.attributes.ext/autoComplete|autoComplete@org.jetbrains.compose.web.attributes.AttrsScope<*>(org.jetbrains.compose.web.attributes.AutoComplete?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/disabled(kotlin/Boolean?) // com.huanshankeji.compose.web.attributes.ext/disabled|disabled@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.Boolean?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/enterKeyHintIfValid(kotlin/String) // com.huanshankeji.compose.web.attributes.ext/enterKeyHintIfValid|enterKeyHintIfValid@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/form(kotlin/String?) // com.huanshankeji.compose.web.attributes.ext/form|form@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/href(kotlin/String?) // com.huanshankeji.compose.web.attributes.ext/href|href@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/label(kotlin/String?) // com.huanshankeji.compose.web.attributes.ext/label|label@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/max(kotlin/String?) // com.huanshankeji.compose.web.attributes.ext/max|max@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/maxLength(kotlin/Int?) // com.huanshankeji.compose.web.attributes.ext/maxLength|maxLength@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.Int?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/min(kotlin/String?) // com.huanshankeji.compose.web.attributes.ext/min|min@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/minLength(kotlin/Int?) // com.huanshankeji.compose.web.attributes.ext/minLength|minLength@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.Int?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/multiple(kotlin/Boolean?) // com.huanshankeji.compose.web.attributes.ext/multiple|multiple@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.Boolean?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/name(kotlin/String?) // com.huanshankeji.compose.web.attributes.ext/name|name@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/pattern(kotlin/String?) // com.huanshankeji.compose.web.attributes.ext/pattern|pattern@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/placeholder(kotlin/String?) // com.huanshankeji.compose.web.attributes.ext/placeholder|placeholder@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/readOnly(kotlin/Boolean?) // com.huanshankeji.compose.web.attributes.ext/readOnly|readOnly@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.Boolean?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/required(kotlin/Boolean?) // com.huanshankeji.compose.web.attributes.ext/required|required@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.Boolean?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/selected(kotlin/Boolean?) // com.huanshankeji.compose.web.attributes.ext/selected|selected@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.Boolean?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/step(kotlin/String?) // com.huanshankeji.compose.web.attributes.ext/step|step@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/target(kotlin/String?) // com.huanshankeji.compose.web.attributes.ext/target|target@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/type(kotlin/String?) // com.huanshankeji.compose.web.attributes.ext/type|type@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/type(org.jetbrains.compose.web.attributes/InputType<*>?) // com.huanshankeji.compose.web.attributes.ext/type|type@org.jetbrains.compose.web.attributes.AttrsScope<*>(org.jetbrains.compose.web.attributes.InputType<*>?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes.ext/value(kotlin/String?) // com.huanshankeji.compose.web.attributes.ext/value|value@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/attr(kotlin/String, kotlin/Boolean = ...): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.attributes/attr|attr@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String;kotlin.Boolean){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/attr(kotlin/String, kotlin/Int): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.attributes/attr|attr@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String;kotlin.Int){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/attr(kotlin/String, kotlin/Number): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.attributes/attr|attr@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String;kotlin.Number){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/attrIfNotNull(kotlin/String, kotlin/Boolean?) // com.huanshankeji.compose.web.attributes/attrIfNotNull|attrIfNotNull@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String;kotlin.Boolean?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/attrIfNotNull(kotlin/String, kotlin/Int?) // com.huanshankeji.compose.web.attributes/attrIfNotNull|attrIfNotNull@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String;kotlin.Int?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/attrIfNotNull(kotlin/String, kotlin/Number?) // com.huanshankeji.compose.web.attributes/attrIfNotNull|attrIfNotNull@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String;kotlin.Number?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/attrIfNotNull(kotlin/String, kotlin/String?) // com.huanshankeji.compose.web.attributes/attrIfNotNull|attrIfNotNull@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String;kotlin.String?){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/autoCapitalize(com.huanshankeji.compose.web.attributes/AutoCapitalize): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.attributes/autoCapitalize|autoCapitalize@org.jetbrains.compose.web.attributes.AttrsScope<*>(com.huanshankeji.compose.web.attributes.AutoCapitalize){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/autoCapitalize(kotlin/String): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.attributes/autoCapitalize|autoCapitalize@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/autocorrect(kotlin/Boolean): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.attributes/autocorrect|autocorrect@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.Boolean){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/autocorrect(kotlin/String): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.attributes/autocorrect|autocorrect@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/booleanAttr(kotlin/String, kotlin/Boolean): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.attributes/booleanAttr|booleanAttr@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String;kotlin.Boolean){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/enterKeyHint(com.huanshankeji.compose.web.attributes/EnterKeyHint): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.attributes/enterKeyHint|enterKeyHint@org.jetbrains.compose.web.attributes.AttrsScope<*>(com.huanshankeji.compose.web.attributes.EnterKeyHint){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/enterKeyHint(kotlin/String): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.attributes/enterKeyHint|enterKeyHint@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String){}[0]
+final fun (org.jetbrains.compose.web.attributes/AttrsScope<*>).com.huanshankeji.compose.web.attributes/slot(kotlin/String): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.attributes/slot|slot@org.jetbrains.compose.web.attributes.AttrsScope<*>(kotlin.String){}[0]
+final fun (org.jetbrains.compose.web.css/StyleScope).com.huanshankeji.compose.web.css/height(kotlin/String) // com.huanshankeji.compose.web.css/height|height@org.jetbrains.compose.web.css.StyleScope(kotlin.String){}[0]
+final fun (org.jetbrains.compose.web.css/StyleScope).com.huanshankeji.compose.web.css/visibility(com.huanshankeji.compose.web.css/Visibility) // com.huanshankeji.compose.web.css/visibility|visibility@org.jetbrains.compose.web.css.StyleScope(com.huanshankeji.compose.web.css.Visibility){}[0]
+final fun (org.jetbrains.compose.web.css/StyleScope).com.huanshankeji.compose.web.css/width(kotlin/String) // com.huanshankeji.compose.web.css/width|width@org.jetbrains.compose.web.css.StyleScope(kotlin.String){}[0]
+final fun <#A: org.w3c.dom/Element> (kotlin/Function1, kotlin/Unit>).com.huanshankeji.compose.web.attributes/plus(kotlin/Function1, kotlin/Unit>?): kotlin/Function1, kotlin/Unit> // com.huanshankeji.compose.web.attributes/plus|plus@kotlin.Function1,kotlin.Unit>(kotlin.Function1,kotlin.Unit>?){0§}[0]
+final fun <#A: org.w3c.dom/Element> (kotlin/Function1?).com.huanshankeji.compose.web.css/wrapInAttrs(): kotlin/Function1, kotlin/Unit>? // com.huanshankeji.compose.web.css/wrapInAttrs|wrapInAttrs@kotlin.Function1?(){0§}[0]
+final fun <#A: org.w3c.dom/HTMLElement> (org.jetbrains.compose.web.attributes/AttrsScope<#A>).com.huanshankeji.compose.web.attributes.ext/onInput(kotlin/Function1, kotlin/Unit>) // com.huanshankeji.compose.web.attributes.ext/onInput|onInput@org.jetbrains.compose.web.attributes.AttrsScope<0:0>(kotlin.Function1,kotlin.Unit>){0§}[0]
+final fun com.huanshankeji.compose.web/Centered(kotlin/Function1, kotlin/Unit>?, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.huanshankeji.compose.web/Centered|Centered(kotlin.Function1,kotlin.Unit>?;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/CenteredInViewport(kotlin/Function1, kotlin/Unit>?, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.huanshankeji.compose.web/CenteredInViewport|CenteredInViewport(kotlin.Function1,kotlin.Unit>?;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/Column(kotlin/Function1, kotlin/Unit>?, kotlin/Boolean, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.huanshankeji.compose.web/Column|Column(kotlin.Function1,kotlin.Unit>?;kotlin.Boolean;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/ColumnS(kotlin/Function1?, kotlin/Boolean, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.huanshankeji.compose.web/ColumnS|ColumnS(kotlin.Function1?;kotlin.Boolean;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/ColumnWithGaps(kotlin/Function1, kotlin/Unit>?, org.jetbrains.compose.web.css/CSSNumericValue, kotlin/Boolean, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.huanshankeji.compose.web/ColumnWithGaps|ColumnWithGaps(kotlin.Function1,kotlin.Unit>?;org.jetbrains.compose.web.css.CSSNumericValue;kotlin.Boolean;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/ColumnWithSpaceBetween(kotlin/Function1, kotlin/Unit>?, kotlin/Boolean, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.huanshankeji.compose.web/ColumnWithSpaceBetween|ColumnWithSpaceBetween(kotlin.Function1,kotlin.Unit>?;kotlin.Boolean;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/Flexbox(kotlin/Function1, kotlin/Unit>?, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.huanshankeji.compose.web/Flexbox|Flexbox(kotlin.Function1,kotlin.Unit>?;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/FlexboxS(kotlin/Function1?, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.huanshankeji.compose.web/FlexboxS|FlexboxS(kotlin.Function1?;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/FrGrid(kotlin/Int, org.jetbrains.compose.web.css/CSSNumericValue, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>?, androidx.compose.runtime/Composer?, kotlin/Int) // com.huanshankeji.compose.web/FrGrid|FrGrid(kotlin.Int;org.jetbrains.compose.web.css.CSSNumericValue;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>?;androidx.compose.runtime.Composer?;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/Row(kotlin/Function1, kotlin/Unit>?, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.huanshankeji.compose.web/Row|Row(kotlin.Function1,kotlin.Unit>?;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/RowS(kotlin/Function1?, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.huanshankeji.compose.web/RowS|RowS(kotlin.Function1?;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/RowWithGaps(kotlin/Function1, kotlin/Unit>?, org.jetbrains.compose.web.css/CSSNumericValue, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.huanshankeji.compose.web/RowWithGaps|RowWithGaps(kotlin.Function1,kotlin.Unit>?;org.jetbrains.compose.web.css.CSSNumericValue;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/RowWithSpaceBetween(kotlin/Function1, kotlin/Unit>?, kotlin/Function3, androidx.compose.runtime/Composer, kotlin/Int, kotlin/Unit>, androidx.compose.runtime/Composer?, kotlin/Int, kotlin/Int) // com.huanshankeji.compose.web/RowWithSpaceBetween|RowWithSpaceBetween(kotlin.Function1,kotlin.Unit>?;kotlin.Function3,androidx.compose.runtime.Composer,kotlin.Int,kotlin.Unit>;androidx.compose.runtime.Composer?;kotlin.Int;kotlin.Int){}[0]
+final fun com.huanshankeji.compose.web/Spacer(kotlin/Int, androidx.compose.runtime/Composer?, kotlin/Int) // com.huanshankeji.compose.web/Spacer|Spacer(kotlin.Int;androidx.compose.runtime.Composer?;kotlin.Int){}[0]
+final inline fun <#A: org.w3c.dom/Element> com.huanshankeji.compose.web.attributes/attrs(noinline kotlin/Function1, kotlin/Unit>): kotlin/Function1, kotlin/Unit> // com.huanshankeji.compose.web.attributes/attrs|attrs(kotlin.Function1,kotlin.Unit>){0§}[0]
+final inline fun com.huanshankeji.compose.web.css/Visibility(kotlin/String): com.huanshankeji.compose.web.css/Visibility // com.huanshankeji.compose.web.css/Visibility|Visibility(kotlin.String){}[0]
diff --git a/compose-html-material-legacy/api/compose-html-material-legacy.klib.api b/compose-html-material-legacy/api/compose-html-material-legacy.klib.api
new file mode 100644
index 0000000..b336dad
--- /dev/null
+++ b/compose-html-material-legacy/api/compose-html-material-legacy.klib.api
@@ -0,0 +1,190 @@
+// Klib ABI Dump
+// Targets: [js]
+// Rendering settings:
+// - Signature version: 2
+// - Show manifest properties: true
+// - Show declarations: true
+
+// Library unique name:
+final class com.huanshankeji.compose.web.material/MwcButtonAttrsScopeBuilder : com.huanshankeji.compose.web.material/MwcSimpleComponentAttrsScopeBuilder { // com.huanshankeji.compose.web.material/MwcButtonAttrsScopeBuilder|null[0]
+ constructor (org.jetbrains.compose.web.attributes/AttrsScope) // com.huanshankeji.compose.web.material/MwcButtonAttrsScopeBuilder.|(org.jetbrains.compose.web.attributes.AttrsScope){}[0]
+
+ final fun dense(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcButtonAttrsScopeBuilder.dense|dense(kotlin.Boolean){}[0]
+ final fun disabled(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcButtonAttrsScopeBuilder.disabled|disabled(kotlin.Boolean){}[0]
+ final fun outlined(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcButtonAttrsScopeBuilder.outlined|outlined(kotlin.Boolean){}[0]
+ final fun raised(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcButtonAttrsScopeBuilder.raised|raised(kotlin.Boolean){}[0]
+ final fun unelevated(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcButtonAttrsScopeBuilder.unelevated|unelevated(kotlin.Boolean){}[0]
+}
+
+final class com.huanshankeji.compose.web.material/MwcCircularProgressAttrsScopeBuilder : com.huanshankeji.compose.web.material/MwcAttrsScopeBuilder { // com.huanshankeji.compose.web.material/MwcCircularProgressAttrsScopeBuilder|null[0]
+ constructor (org.jetbrains.compose.web.attributes/AttrsScope) // com.huanshankeji.compose.web.material/MwcCircularProgressAttrsScopeBuilder.|(org.jetbrains.compose.web.attributes.AttrsScope){}[0]
+
+ final fun indeterminate(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcCircularProgressAttrsScopeBuilder.indeterminate|indeterminate(kotlin.Boolean){}[0]
+ final fun progress(org.jetbrains.compose.web.css/CSSNumericValue) // com.huanshankeji.compose.web.material/MwcCircularProgressAttrsScopeBuilder.progress|progress(org.jetbrains.compose.web.css.CSSNumericValue){}[0]
+}
+
+final class com.huanshankeji.compose.web.material/MwcIconButtonAttrsScopeBuilder : com.huanshankeji.compose.web.material/MwcAttrsScopeBuilder { // com.huanshankeji.compose.web.material/MwcIconButtonAttrsScopeBuilder|null[0]
+ constructor (org.jetbrains.compose.web.attributes/AttrsScope) // com.huanshankeji.compose.web.material/MwcIconButtonAttrsScopeBuilder.|(org.jetbrains.compose.web.attributes.AttrsScope){}[0]
+
+ final fun ariaLabel(kotlin/String) // com.huanshankeji.compose.web.material/MwcIconButtonAttrsScopeBuilder.ariaLabel|ariaLabel(kotlin.String){}[0]
+ final fun disabled(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcIconButtonAttrsScopeBuilder.disabled|disabled(kotlin.Boolean){}[0]
+ final fun icon(kotlin/String) // com.huanshankeji.compose.web.material/MwcIconButtonAttrsScopeBuilder.icon|icon(kotlin.String){}[0]
+}
+
+final class com.huanshankeji.compose.web.material/MwcListItemAttrsScopeBuilder : com.huanshankeji.compose.web.material/MwcSimpleComponentAttrsScopeBuilder { // com.huanshankeji.compose.web.material/MwcListItemAttrsScopeBuilder|null[0]
+ constructor (org.jetbrains.compose.web.attributes/AttrsScope) // com.huanshankeji.compose.web.material/MwcListItemAttrsScopeBuilder.|(org.jetbrains.compose.web.attributes.AttrsScope){}[0]
+
+ final fun graphicEqIcon() // com.huanshankeji.compose.web.material/MwcListItemAttrsScopeBuilder.graphicEqIcon|graphicEqIcon(){}[0]
+ final fun selected(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcListItemAttrsScopeBuilder.selected|selected(kotlin.Boolean){}[0]
+ final fun value(kotlin/String) // com.huanshankeji.compose.web.material/MwcListItemAttrsScopeBuilder.value|value(kotlin.String){}[0]
+}
+
+final class com.huanshankeji.compose.web.material/MwcSelectAttrsScopeBuilder : com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder { // com.huanshankeji.compose.web.material/MwcSelectAttrsScopeBuilder|null[0]
+ constructor (org.jetbrains.compose.web.attributes/AttrsScope) // com.huanshankeji.compose.web.material/MwcSelectAttrsScopeBuilder.|(org.jetbrains.compose.web.attributes.AttrsScope){}[0]
+
+ final fun onSelected(kotlin/Function1, kotlin/Unit>) // com.huanshankeji.compose.web.material/MwcSelectAttrsScopeBuilder.onSelected|onSelected(kotlin.Function1,kotlin.Unit>){}[0]
+ final fun onSelectedWithIndex(kotlin/Function1) // com.huanshankeji.compose.web.material/MwcSelectAttrsScopeBuilder.onSelectedWithIndex|onSelectedWithIndex(kotlin.Function1){}[0]
+}
+
+final class com.huanshankeji.compose.web.material/MwcSnackbarAttrsScopeBuilder : com.huanshankeji.compose.web.material/MwcAttrsScopeBuilder { // com.huanshankeji.compose.web.material/MwcSnackbarAttrsScopeBuilder|null[0]
+ constructor (org.jetbrains.compose.web.attributes/AttrsScope) // com.huanshankeji.compose.web.material/MwcSnackbarAttrsScopeBuilder.|(org.jetbrains.compose.web.attributes.AttrsScope){}[0]
+
+ final fun labelText(kotlin/String) // com.huanshankeji.compose.web.material/MwcSnackbarAttrsScopeBuilder.labelText|labelText(kotlin.String){}[0]
+ final fun open(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcSnackbarAttrsScopeBuilder.open|open(kotlin.Boolean){}[0]
+ final fun timeoutMs(kotlin/Number) // com.huanshankeji.compose.web.material/MwcSnackbarAttrsScopeBuilder.timeoutMs|timeoutMs(kotlin.Number){}[0]
+}
+
+final class com.huanshankeji.compose.web.material/MwcSnackbarElementScopeDelegate : org.jetbrains.compose.web.dom/ElementScope { // com.huanshankeji.compose.web.material/MwcSnackbarElementScopeDelegate|null[0]
+ constructor (org.jetbrains.compose.web.dom/ElementScope) // com.huanshankeji.compose.web.material/MwcSnackbarElementScopeDelegate.|(org.jetbrains.compose.web.dom.ElementScope){}[0]
+
+ final val scopeElement // com.huanshankeji.compose.web.material/MwcSnackbarElementScopeDelegate.scopeElement|@androidx.compose.runtime.DisposableEffectScope{}scopeElement[0]
+ final fun (androidx.compose.runtime/DisposableEffectScope).(): org.w3c.dom/HTMLElement // com.huanshankeji.compose.web.material/MwcSnackbarElementScopeDelegate.scopeElement.|@androidx.compose.runtime.DisposableEffectScope(){}[0]
+
+ final fun (com.huanshankeji.compose.web.material/MwcButtonAttrsScopeBuilder).slot(kotlin/String) // com.huanshankeji.compose.web.material/MwcSnackbarElementScopeDelegate.slot|slot@com.huanshankeji.compose.web.material.MwcButtonAttrsScopeBuilder(kotlin.String){}[0]
+ final fun (com.huanshankeji.compose.web.material/MwcIconButtonAttrsScopeBuilder).slot(kotlin/String) // com.huanshankeji.compose.web.material/MwcSnackbarElementScopeDelegate.slot|slot@com.huanshankeji.compose.web.material.MwcIconButtonAttrsScopeBuilder(kotlin.String){}[0]
+ final fun DisposableRefEffect(kotlin/Any?, kotlin/Function2, androidx.compose.runtime/Composer?, kotlin/Int) // com.huanshankeji.compose.web.material/MwcSnackbarElementScopeDelegate.DisposableRefEffect|DisposableRefEffect(kotlin.Any?;kotlin.Function2;androidx.compose.runtime.Composer?;kotlin.Int){}[0]
+ final fun DisposableRefEffect(kotlin/Function2, androidx.compose.runtime/Composer?, kotlin/Int) // com.huanshankeji.compose.web.material/MwcSnackbarElementScopeDelegate.DisposableRefEffect|DisposableRefEffect(kotlin.Function2;androidx.compose.runtime.Composer?;kotlin.Int){}[0]
+ final fun DomSideEffect(kotlin/Any?, kotlin/Function2, androidx.compose.runtime/Composer?, kotlin/Int) // com.huanshankeji.compose.web.material/MwcSnackbarElementScopeDelegate.DomSideEffect|DomSideEffect(kotlin.Any?;kotlin.Function2;androidx.compose.runtime.Composer?;kotlin.Int){}[0]
+ final fun DomSideEffect(kotlin/Function2, androidx.compose.runtime/Composer?, kotlin/Int) // com.huanshankeji.compose.web.material/MwcSnackbarElementScopeDelegate.DomSideEffect|DomSideEffect(kotlin.Function2;androidx.compose.runtime.Composer?;kotlin.Int){}[0]
+}
+
+final class com.huanshankeji.compose.web.material/MwcTextfieldAttrsScopeBuilder : com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder { // com.huanshankeji.compose.web.material/MwcTextfieldAttrsScopeBuilder|null[0]
+ constructor (org.jetbrains.compose.web.attributes/AttrsScope) // com.huanshankeji.compose.web.material/MwcTextfieldAttrsScopeBuilder.|(org.jetbrains.compose.web.attributes.AttrsScope){}[0]
+
+ final fun maxLength(kotlin/Int) // com.huanshankeji.compose.web.material/MwcTextfieldAttrsScopeBuilder.maxLength|maxLength(kotlin.Int){}[0]
+ final fun type(kotlin/String) // com.huanshankeji.compose.web.material/MwcTextfieldAttrsScopeBuilder.type|type(kotlin.String){}[0]
+}
+
+final class com.huanshankeji.compose.web.material/SnackbarData { // com.huanshankeji.compose.web.material/SnackbarData|null[0]
+ constructor (kotlin/String, kotlinx.coroutines/CancellableContinuation) // com.huanshankeji.compose.web.material/SnackbarData.|(kotlin.String;kotlinx.coroutines.CancellableContinuation){}[0]
+
+ final val continuation // com.huanshankeji.compose.web.material/SnackbarData.continuation|{}continuation[0]
+ final fun (): kotlinx.coroutines/CancellableContinuation // com.huanshankeji.compose.web.material/SnackbarData.continuation.|(){}[0]
+ final val message // com.huanshankeji.compose.web.material/SnackbarData.message|{}message[0]
+ final fun (): kotlin/String // com.huanshankeji.compose.web.material/SnackbarData.message.|(){}[0]
+
+ final fun component1(): kotlin/String // com.huanshankeji.compose.web.material/SnackbarData.component1|component1(){}[0]
+ final fun component2(): kotlinx.coroutines/CancellableContinuation // com.huanshankeji.compose.web.material/SnackbarData.component2|component2(){}[0]
+ final fun copy(kotlin/String = ..., kotlinx.coroutines/CancellableContinuation = ...): com.huanshankeji.compose.web.material/SnackbarData // com.huanshankeji.compose.web.material/SnackbarData.copy|copy(kotlin.String;kotlinx.coroutines.CancellableContinuation){}[0]
+ final fun equals(kotlin/Any?): kotlin/Boolean // com.huanshankeji.compose.web.material/SnackbarData.equals|equals(kotlin.Any?){}[0]
+ final fun hashCode(): kotlin/Int // com.huanshankeji.compose.web.material/SnackbarData.hashCode|hashCode(){}[0]
+ final fun toString(): kotlin/String // com.huanshankeji.compose.web.material/SnackbarData.toString|toString(){}[0]
+}
+
+final class com.huanshankeji.compose.web.material/SnackbarHostState { // com.huanshankeji.compose.web.material/SnackbarHostState|null[0]
+ constructor () // com.huanshankeji.compose.web.material/SnackbarHostState.|(){}[0]
+
+ final var currentSnackbarData // com.huanshankeji.compose.web.material/SnackbarHostState.currentSnackbarData|{}currentSnackbarData[0]
+ final fun (): com.huanshankeji.compose.web.material/SnackbarData? // com.huanshankeji.compose.web.material/SnackbarHostState.currentSnackbarData.|(){}[0]
+
+ final fun mainAsyncShowSnackbar(kotlin/String): kotlinx.coroutines/Deferred // com.huanshankeji.compose.web.material/SnackbarHostState.mainAsyncShowSnackbar|mainAsyncShowSnackbar(kotlin.String){}[0]
+ final fun mainLaunchShowSnackbar(kotlin/String): kotlinx.coroutines/Job // com.huanshankeji.compose.web.material/SnackbarHostState.mainLaunchShowSnackbar|mainLaunchShowSnackbar(kotlin.String){}[0]
+ final suspend fun showSnackbar(kotlin/String) // com.huanshankeji.compose.web.material/SnackbarHostState.showSnackbar|showSnackbar(kotlin.String){}[0]
+}
+
+open class com.huanshankeji.compose.web.material/MwcAttrsScopeBuilder { // com.huanshankeji.compose.web.material/MwcAttrsScopeBuilder|null[0]
+ constructor (org.jetbrains.compose.web.attributes/AttrsScope) // com.huanshankeji.compose.web.material/MwcAttrsScopeBuilder.|(org.jetbrains.compose.web.attributes.AttrsScope){}[0]
+
+ final val htmlAttrsScope // com.huanshankeji.compose.web.material/MwcAttrsScopeBuilder.htmlAttrsScope|{}htmlAttrsScope[0]
+ final fun (): org.jetbrains.compose.web.attributes/AttrsScope // com.huanshankeji.compose.web.material/MwcAttrsScopeBuilder.htmlAttrsScope.|(){}[0]
+
+ final fun <#A1: androidx.compose.web.events/SyntheticEvent> addEventListener(kotlin/String, kotlin/Function1<#A1, kotlin/Unit>) // com.huanshankeji.compose.web.material/MwcAttrsScopeBuilder.addEventListener|addEventListener(kotlin.String;kotlin.Function1<0:0,kotlin.Unit>){0§>}[0]
+ final fun attr(kotlin/String, kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcAttrsScopeBuilder.attr|attr(kotlin.String;kotlin.Boolean){}[0]
+ final fun attr(kotlin/String, kotlin/String) // com.huanshankeji.compose.web.material/MwcAttrsScopeBuilder.attr|attr(kotlin.String;kotlin.String){}[0]
+}
+
+open class com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder : com.huanshankeji.compose.web.material/MwcSimpleComponentAttrsScopeBuilder { // com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder|null[0]
+ constructor (org.jetbrains.compose.web.attributes/AttrsScope) // com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder.|(org.jetbrains.compose.web.attributes.AttrsScope){}[0]
+
+ final fun disabled(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder.disabled|disabled(kotlin.Boolean){}[0]
+ final fun helper(kotlin/String) // com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder.helper|helper(kotlin.String){}[0]
+ final fun onChange(kotlin/Function1, kotlin/Unit>) // com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder.onChange|onChange(kotlin.Function1,kotlin.Unit>){}[0]
+ final fun onChangeWithValue(kotlin/Function1) // com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder.onChangeWithValue|onChangeWithValue(kotlin.Function1){}[0]
+ final fun outlined(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder.outlined|outlined(kotlin.Boolean){}[0]
+ final fun required(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder.required|required(kotlin.Boolean){}[0]
+ final fun requiredWithValidationMessage(kotlin/String) // com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder.requiredWithValidationMessage|requiredWithValidationMessage(kotlin.String){}[0]
+ final fun validationMessage(kotlin/String) // com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder.validationMessage|validationMessage(kotlin.String){}[0]
+ final fun value(kotlin/String) // com.huanshankeji.compose.web.material/MwcInputComponentAttrsScopeBuilder.value|value(kotlin.String){}[0]
+}
+
+open class com.huanshankeji.compose.web.material/MwcSimpleComponentAttrsScopeBuilder : com.huanshankeji.compose.web.material/MwcAttrsScopeBuilder { // com.huanshankeji.compose.web.material/MwcSimpleComponentAttrsScopeBuilder|null[0]
+ constructor (org.jetbrains.compose.web.attributes/AttrsScope) // com.huanshankeji.compose.web.material/MwcSimpleComponentAttrsScopeBuilder.|(org.jetbrains.compose.web.attributes.AttrsScope){}[0]
+
+ final fun icon(kotlin/String) // com.huanshankeji.compose.web.material/MwcSimpleComponentAttrsScopeBuilder.icon|icon(kotlin.String){}[0]
+ final fun label(kotlin/String) // com.huanshankeji.compose.web.material/MwcSimpleComponentAttrsScopeBuilder.label|label(kotlin.String){}[0]
+ final fun trailingIcon(kotlin/Boolean = ...) // com.huanshankeji.compose.web.material/MwcSimpleComponentAttrsScopeBuilder.trailingIcon|trailingIcon(kotlin.Boolean){}[0]
+}
+
+final const val com.huanshankeji.material/GREEN_500 // com.huanshankeji.material/GREEN_500|{}GREEN_500[0]
+ final fun (): kotlin/String // com.huanshankeji.material/GREEN_500.|(){}[0]
+
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcAttrsScopeBuilder$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcAttrsScopeBuilder$stableprop|#static{}com_huanshankeji_compose_web_material_MwcAttrsScopeBuilder$stableprop[0]
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcButtonAttrsScopeBuilder$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcButtonAttrsScopeBuilder$stableprop|#static{}com_huanshankeji_compose_web_material_MwcButtonAttrsScopeBuilder$stableprop[0]
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcCircularProgressAttrsScopeBuilder$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcCircularProgressAttrsScopeBuilder$stableprop|#static{}com_huanshankeji_compose_web_material_MwcCircularProgressAttrsScopeBuilder$stableprop[0]
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcIconButtonAttrsScopeBuilder$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcIconButtonAttrsScopeBuilder$stableprop|#static{}com_huanshankeji_compose_web_material_MwcIconButtonAttrsScopeBuilder$stableprop[0]
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcInputComponentAttrsScopeBuilder$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcInputComponentAttrsScopeBuilder$stableprop|#static{}com_huanshankeji_compose_web_material_MwcInputComponentAttrsScopeBuilder$stableprop[0]
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcListItemAttrsScopeBuilder$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcListItemAttrsScopeBuilder$stableprop|#static{}com_huanshankeji_compose_web_material_MwcListItemAttrsScopeBuilder$stableprop[0]
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcSelectAttrsScopeBuilder$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcSelectAttrsScopeBuilder$stableprop|#static{}com_huanshankeji_compose_web_material_MwcSelectAttrsScopeBuilder$stableprop[0]
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcSimpleComponentAttrsScopeBuilder$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcSimpleComponentAttrsScopeBuilder$stableprop|#static{}com_huanshankeji_compose_web_material_MwcSimpleComponentAttrsScopeBuilder$stableprop[0]
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcSnackbarAttrsScopeBuilder$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcSnackbarAttrsScopeBuilder$stableprop|#static{}com_huanshankeji_compose_web_material_MwcSnackbarAttrsScopeBuilder$stableprop[0]
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcSnackbarElementScopeDelegate$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcSnackbarElementScopeDelegate$stableprop|#static{}com_huanshankeji_compose_web_material_MwcSnackbarElementScopeDelegate$stableprop[0]
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcTextfieldAttrsScopeBuilder$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_MwcTextfieldAttrsScopeBuilder$stableprop|#static{}com_huanshankeji_compose_web_material_MwcTextfieldAttrsScopeBuilder$stableprop[0]
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_SnackbarData$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_SnackbarData$stableprop|#static{}com_huanshankeji_compose_web_material_SnackbarData$stableprop[0]
+final val com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_SnackbarHostState$stableprop // com.huanshankeji.compose.web.material/com_huanshankeji_compose_web_material_SnackbarHostState$stableprop|#static{}com_huanshankeji_compose_web_material_SnackbarHostState$stableprop[0]
+final val com.huanshankeji.compose.web.material/defaultSpacing // com.huanshankeji.compose.web.material/defaultSpacing|{}defaultSpacing[0]
+ final fun