diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 00000000..88a1917b
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,56 @@
+name: CI
+
+on:
+ push:
+ branches: [ "*" ]
+# pull_request:
+# branches: [ "*" ]
+
+jobs:
+ check:
+
+ strategy:
+ matrix:
+ os: [ ubuntu-latest, macos-latest, windows-latest ]
+ runs-on: ${{ matrix.os }}
+ permissions:
+ contents: read
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up JDK 8
+ uses: actions/setup-java@v4
+ with:
+ java-version: '8'
+ distribution: 'zulu'
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+
+ - name: Setup Gradle
+ uses: gradle/actions/setup-gradle@v4
+
+ - name: Check with Gradle Wrapper
+ run: ./gradlew check
+
+ dependency-submission:
+
+ strategy:
+ matrix:
+ os: [ ubuntu-latest, macos-latest, windows-latest ]
+ runs-on: ${{ matrix.os }}
+ permissions:
+ contents: write
+
+ steps:
+ - uses: actions/checkout@v4
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ java-version: '17'
+ distribution: 'temurin'
+
+ - name: Generate and submit dependency graph
+ uses: gradle/actions/dependency-submission@v4
diff --git a/.github/workflows/demo-gh-pages.yml b/.github/workflows/demo-gh-pages.yml
new file mode 100644
index 00000000..5d7e2b77
--- /dev/null
+++ b/.github/workflows/demo-gh-pages.yml
@@ -0,0 +1,61 @@
+name: Deploy the demo to GitHub Pages
+
+on:
+ push:
+ branches: [ "release" ]
+ pull_request:
+ branches: [ "release" ]
+
+ # Allows you to run this workflow manually from the Actions tab
+ workflow_dispatch:
+
+# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
+permissions:
+ contents: read
+ pages: write
+ id-token: write
+
+# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
+# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
+concurrency:
+ group: "pages"
+ cancel-in-progress: false
+
+jobs:
+ # Build job
+ build:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v4
+ - name: Setup Pages
+ uses: actions/configure-pages@v5
+
+ - name: Set up JDK 17
+ uses: actions/setup-java@v4
+ with:
+ java-version: "17"
+ distribution: "temurin"
+
+ - name: Setup Gradle
+ uses: gradle/actions/setup-gradle@v4
+
+ - name: Build the distribution with Gradle Wrapper
+ run: ./gradlew :compose-multiplatform-html-unified-demo:sideBySideBrowserDistribution
+
+ - name: Upload artifact
+ uses: actions/upload-pages-artifact@v3
+ with:
+ path: demo/build/dist/sideBySide/productionExecutable/
+
+ # Deployment job
+ deploy:
+ environment:
+ name: github-pages
+ url: ${{ steps.deployment.outputs.page_url }}
+ runs-on: ubuntu-latest
+ needs: build
+ steps:
+ - name: Deploy to GitHub Pages
+ id: deployment
+ uses: actions/deploy-pages@v4
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 00000000..c9044b34
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,79 @@
+# Change log
+
+## v0.5.0 / 2024-12-05
+
+Important changes:
+
+* This library is renamed from **Compose Multiplatform Material** to **Compose Multiplatform HTML Unified** which better describes its purpose since this release. The **Maven coordinates** have changed accordingly. Please adapt to these changes following the updated README.md.
+* replace the terms "Androidx"/"androidx"/"AndroidxCommon"/"androidxCommon" with Compose UI / "ComposeUi" / "composeUi" at appropriate places, both in docs and in code
+
+ This introduces some breaking changes. Please adapt accordingly. We are sorry for the inconvenience.
+
+Functional change:
+
+* delegate `Spacer` just to `DivBox` on JS DOM because the Kobweb `Spacer` has a different semantic from the Compose UI one
+
+Miscellaneous changes:
+
+* bump Kotlin to 2.1.0, Compose Multiplatform to 1.7.1, and Kobweb to 0.20.0
+* add a "side by side" demo hosted at
+* add CODE_OF_CONDUCT.md and CONTRIBUTING.md
+* use the Kotlin binary compatibility validator
+* run IntelliJ IDEA Code Cleanup and Reformat Code for the whole project
+
+## v0.4.0 / 2024-10-24
+
+* fix a bug that a dependent project might crash on Android and add the Android target explicitly for all modules
+* no longer publish the legacy module
+* bump Kotlin to 2.0.10, Compose Multiplatform to 1.7.0, Kobweb to 0.19.2, and our Compose HTML Material to 0.4.0
+
+### Common
+
+* add `Arrangement.spacedBy`
+* Move `LoadingState` here from [Compose HTML Material](https://github.com/huanshankeji/compose-html-material)
+* add color parameters to the text composables
+* rename `InlineText` to `TaglessText`
+* add the `alpha` modifiers
+* add a `hidden` modifier
+* add the `clickable` modifier and replace `onClick` with it
+* add the `PaddingValues` type
+* add a `BoxWithConstraints` layout composable that's still buggy on JS DOM
+* add `flex-basis: 0` to the weight modifiers on JS DOM to make them consistent with the `androidx.compose` behavior
+* split the `padding` modifiers into `outerPadding` and `innerPadding`
+* add the `VerticalScrollBox` and `HorizontalScrollBox` composables as (better) alternatives to the `*Scroll` modifiers
+
+### Material 2
+
+* revamp `TopAppBarScaffold` to take a bottom bar, a floating action bottom, and a snackbar host, and fix some of its display issues on JS DOM
+ * fix bugs that the action buttons don't show and their `onClick` callbacks are not passed on JS DOM
+* add the `SnackbarHost` (the Material 3 snackbar is not available in Material Web yet)
+* add `RadioGroupColumn` and improve `RadioRow` on JS DOM
+* add a platform-specific implementation for `com.huanshankeji.compose.material2.ext.IconButton` on JS DOM that's more idiomatic, and fix a bug that in some scenarios icons are not shown, by always importing "material-icons/iconfont/material-icons.css"
+
+### Material 3
+
+* add the menu composables `DropdownMenu`, `DropdownMenuItem`, `ExposedDropdownMenuBox`, and `ExposedDropdownMenuWithTextField`
+* add the progress indicator composables `LinearProgressIndicator` and `CircularProgressIndicator`
+* fix a bug in the text fields on JS DOM that causes the caret to be reset to the start whenever the value changes if the `type` attribute is set
+* make multiline text fields work on JS DOM
+* add an `isInteractiveJsDom` parameter to ListItemComponents
+
+### Navigation
+
+* initially support navigation
+
+### ViewModel
+
+* initially support ViewModel which delegates to raw UI state on Compose HTML / JS DOM
+
+### Demo
+
+* make the demo UI friendly on mobile
+
+## v0.3.0 / 2024-5-10
+
+Support Material 3. See the Updated README.md for more details.
+
+## v0.2.0 / 2024-4-17
+
+The project now depends on Kobweb Silk on Kotlin/JS (Compose HTML) and there is a universal multiplatform interface for `Modifier`, scopes, etc. akin to those in `androidx.compose`. Obsolete code including `ModifierOrAttrsScope` is moved to a legacy module.
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000..da809872
--- /dev/null
+++ b/CODE_OF_CONDUCT.md
@@ -0,0 +1,128 @@
+# Contributor Covenant Code of Conduct
+
+## Our Pledge
+
+We as members, contributors, and leaders pledge to make participation in our
+community a harassment-free experience for everyone, regardless of age, body
+size, visible or invisible disability, ethnicity, sex characteristics, gender
+identity and expression, level of experience, education, socio-economic status,
+nationality, personal appearance, race, religion, or sexual identity
+and orientation.
+
+We pledge to act and interact in ways that contribute to an open, welcoming,
+diverse, inclusive, and healthy community.
+
+## Our Standards
+
+Examples of behavior that contributes to a positive environment for our
+community include:
+
+* Demonstrating empathy and kindness toward other people
+* Being respectful of differing opinions, viewpoints, and experiences
+* Giving and gracefully accepting constructive feedback
+* Accepting responsibility and apologizing to those affected by our mistakes,
+ and learning from the experience
+* Focusing on what is best not just for us as individuals, but for the
+ overall community
+
+Examples of unacceptable behavior include:
+
+* The use of sexualized language or imagery, and sexual attention or
+ advances of any kind
+* Trolling, insulting or derogatory comments, and personal or political attacks
+* Public or private harassment
+* Publishing others' private information, such as a physical or email
+ address, without their explicit permission
+* Other conduct which could reasonably be considered inappropriate in a
+ professional setting
+
+## Enforcement Responsibilities
+
+Community leaders are responsible for clarifying and enforcing our standards of
+acceptable behavior and will take appropriate and fair corrective action in
+response to any behavior that they deem inappropriate, threatening, offensive,
+or harmful.
+
+Community leaders have the right and responsibility to remove, edit, or reject
+comments, commits, code, wiki edits, issues, and other contributions that are
+not aligned to this Code of Conduct, and will communicate reasons for moderation
+decisions when appropriate.
+
+## Scope
+
+This Code of Conduct applies within all community spaces, and also applies when
+an individual is officially representing the community in public spaces.
+Examples of representing our community include using an official e-mail address,
+posting via an official social media account, or acting as an appointed
+representative at an online or offline event.
+
+## Enforcement
+
+Instances of abusive, harassing, or otherwise unacceptable behavior may be
+reported to the community leaders responsible for enforcement at
+shreckye@gmail.com.
+All complaints will be reviewed and investigated promptly and fairly.
+
+All community leaders are obligated to respect the privacy and security of the
+reporter of any incident.
+
+## Enforcement Guidelines
+
+Community leaders will follow these Community Impact Guidelines in determining
+the consequences for any action they deem in violation of this Code of Conduct:
+
+### 1. Correction
+
+**Community Impact**: Use of inappropriate language or other behavior deemed
+unprofessional or unwelcome in the community.
+
+**Consequence**: A private, written warning from community leaders, providing
+clarity around the nature of the violation and an explanation of why the
+behavior was inappropriate. A public apology may be requested.
+
+### 2. Warning
+
+**Community Impact**: A violation through a single incident or series
+of actions.
+
+**Consequence**: A warning with consequences for continued behavior. No
+interaction with the people involved, including unsolicited interaction with
+those enforcing the Code of Conduct, for a specified period of time. This
+includes avoiding interactions in community spaces as well as external channels
+like social media. Violating these terms may lead to a temporary or
+permanent ban.
+
+### 3. Temporary Ban
+
+**Community Impact**: A serious violation of community standards, including
+sustained inappropriate behavior.
+
+**Consequence**: A temporary ban from any sort of interaction or public
+communication with the community for a specified period of time. No public or
+private interaction with the people involved, including unsolicited interaction
+with those enforcing the Code of Conduct, is allowed during this period.
+Violating these terms may lead to a permanent ban.
+
+### 4. Permanent Ban
+
+**Community Impact**: Demonstrating a pattern of violation of community
+standards, including sustained inappropriate behavior, harassment of an
+individual, or aggression toward or disparagement of classes of individuals.
+
+**Consequence**: A permanent ban from any sort of public interaction within
+the community.
+
+## Attribution
+
+This Code of Conduct is adapted from the [Contributor Covenant][homepage],
+version 2.0, available at
+https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
+
+Community Impact Guidelines were inspired by [Mozilla's code of conduct
+enforcement ladder](https://github.com/mozilla/diversity).
+
+[homepage]: https://www.contributor-covenant.org
+
+For answers to common questions about this code of conduct, see the FAQ at
+https://www.contributor-covenant.org/faq. Translations are available at
+https://www.contributor-covenant.org/translations.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 00000000..ca714dfe
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,23 @@
+# Contributing guidelines
+
+Hello, thank you for your interest in contributing to our project.
+
+## Issues and Discussions
+
+You are welcome to submit issues on bugs or feature requests. If you have questions, please ask them in GitHub Discussions.
+
+## Pull requests
+
+If you want to contribute to the code of our project, you are welcome to open pull requests. However, it's always a good idea to open a related issue or talk with us in Discussions first.
+
+## Development
+
+Please make sure you have a valid JDK installed. Some projects may require multiple JDKs of different versions. The JDK version we use can be found in the [GitHub Actions workflow files](.github/workflows).
+
+We recommend developing with IntelliJ IDEA. In IntelliJ IDEA, select the correct [Project SDK in Project Structure](https://www.jetbrains.com/help/idea/project-settings-and-structure.html#project-sdk) and it's recommended to set [Gradle JVM](https://www.jetbrains.com/help/idea/gradle-jvm-selection.html#jvm_settings) to "Project SDK".
+
+Run the `publishToMavenLocal` Gradle task to publish the libraries to your machine's Maven Local Repository so your projects can depend on the changes you have made, run `check` to ensure our limited number of tests pass.
+
+## Furthur notice
+
+We are currently a small team with limited effort. While we may not always implement your requested features, merge your pull requests, or do such things in time, you are always welcome to create your own fork and make any changes you like.
diff --git a/README.md b/README.md
index 4e8cff9e..4858815a 100644
--- a/README.md
+++ b/README.md
@@ -1,17 +1,27 @@
-# Compose Multiplatform Material: unified Compose Multiplatform common extensions and Material wrappers for `androidx.compose` and Compose HTML
+# Compose Multiplatform HTML Unified
-[![Maven Central](https://img.shields.io/maven-central/v/com.huanshankeji/compose-multiplatform-material3)](https://search.maven.org/search?q=g:com.huanshankeji%20AND%20a:compose-multiplatform-*)
-![Kotlin version](https://kotlin-version.aws.icerock.dev/kotlin-version?group=com.huanshankeji&name=compose-multiplatform-material3)
+[![Maven Central](https://img.shields.io/maven-central/v/com.huanshankeji/compose-multiplatform-html-unified-common)](https://search.maven.org/search?q=g:com.huanshankeji%20AND%20a:compose-multiplatform-html-unified-*)
+![Kotlin version](https://kotlin-version.aws.icerock.dev/kotlin-version?group=com.huanshankeji&name=compose-multiplatform-html-unified-common)
-Unified Compose Multiplatform wrappers of common components, layouts, and Material Design components for `androidx.compose` (officially supported on Android, desktop (JVM), iOS, and web (Kotlin/Wasm)) and Compose HTML (mainly based on [Kobweb Silk](https://github.com/varabyte/kobweb?tab=readme-ov-file#silk) [Compose](https://github.com/varabyte/kobweb/tree/main/frontend/kobweb-compose), [KMDC](https://github.com/mpetuska/kmdc), and [Compose HTML Material](https://github.com/huanshankeji/compose-html-material) (which is then based on [Material Web](https://github.com/material-components/material-web)))
+Unified Compose Multiplatform wrappers of common and **Material Design** APIs for **rendering-based Compose UI** (officially supported on Android, desktop (JVM), iOS, and web (Kotlin/Wasm)) and **DOM-based Compose HTML**
-We try to provide a set of common extensions and composable component APIs akin to those in `androidx.compose` (`androidx.compose.foundation`, `androidx.compose.material`, and `androidx.compose.material3`), meanwhile making them compatible with the Compose HTML APIs. However, only subsets of the composables and composable parameters are supported due to the API differences, limitations of the JS (web) platform and the Compose HTML composables this project depends on, and our limited effort.
+This library was previously named "Compose Multiplatform Material".
-Complete visual consistency across different platforms is not guaranteed.
+## The scope and implementations of the APIs provided
-This project is still in development and has not reached the stable state yet. Some APIs are likely to be changed and there is no detailed documentation yet. Check out [the demo project](demo) on how to use the components in addition to the information below.
+We try to provide a set of common APIs including composable component APIs akin to those in `androidx.compose` (`androidx.compose.foundation`, `androidx.compose.material`, and `androidx.compose.material3`), meanwhile making them compatible with the Compose HTML APIs. However, only subsets of the composables and composable parameters are supported due to the underlying API differences, limitations of the JS platform and the available Compose HTML composables this project depends on, and our limited effort.
-## Supported features
+The modules of this library correspond to the Compose Multiplatform modules (or Compose modules in AndroidX) that are not available for Compose HTML, aka those that depend on [the UI module](https://github.com/JetBrains/compose-multiplatform-core/tree/jb-main/compose/ui), more specifically [`ui-graphics`](https://github.com/JetBrains/compose-multiplatform-core/tree/jb-main/compose/ui/ui-graphics). The `common` module of this library corresponds to the `ui` and `foundation` modules, offering UI components (including layouts), modifiers, UI configuration classes, etc.
+
+The Compose HTML / JS DOM source is mainly based on [Kobweb Silk](https://github.com/varabyte/kobweb?tab=readme-ov-file#silk) [Compose](https://github.com/varabyte/kobweb/tree/main/frontend/kobweb-compose), [KMDC](https://github.com/mpetuska/kmdc), and [Compose HTML Material](https://github.com/huanshankeji/compose-html-material) (which is then based on [Material Web](https://github.com/material-components/material-web)).
+
+## References and limitations
+
+Complete visual consistency across different platforms is not guaranteed. See [the side-by-side demo site](https://huanshankeji.github.io/compose-multiplatform-html-unified/) for the visual effects and their differences.
+
+This project is still in development and has not reached a stable state. Some APIs are subject to change and there is no detailed documentation yet. Check out [the demo project source](demo) on how to use the components in addition to the sections below.
+
+## Supported API catalog
### Components
@@ -32,7 +42,7 @@ This project is still in development and has not reached the stable state yet. S
###### `ext` layouts
- - `BoxWithConstraints`
+- `BoxWithConstraints`
##### Lazy
@@ -82,7 +92,7 @@ This project is still in development and has not reached the stable state yet. S
- `Button` (`FilledButton`), `ElevatedButton`, `FilledTonalButton`, `OutlinedButton`, `TextButton`
- `Card` (`FilledCard`), `ElevatedCard`, `OutlinedCard`
- `DropdownMenu`, `DropdownMenuItem`
- - `ExposedDropdownMenuBox`, `ExposedDropdownMenuBoxScope.ExposedDropdownMenuBoxTextField`, `ExposedDropdownMenuBoxScope.ExposedDropdownMenu`, `ExposedDropdownMenuWithTextField`
+ - `ExposedDropdownMenuBox`, `ExposedDropdownMenuBoxScope.ExposedDropdownMenuBoxTextField`, `ExposedDropdownMenuBoxScope.ExposedDropdownMenu`, `ExposedDropdownMenuWithTextField`
- `FloatingActionButton`, `SmallFloatingActionButton`, `LargeFloatingActionButton`, `ExtendedFloatingActionButton`
- `IconButton`, `IconToggleButton`, `FilledIconButton`, `FilledIconToggleButton`, `FilledTonalIconButton`, `FilledTonalIconToggleButton`, `OutlinedIconButton`, `OutlinedIconToggleButton`
- `NavigationBar`, `NavigationBarItem`
@@ -95,7 +105,15 @@ This project is still in development and has not reached the stable state yet. S
#### About `ext` components (components in the `ext` packages)
-The components in the `ext` packages don't follow the `androidx.compose` APIs exactly, but rather provide wrappers are more idiomatic and conventional on both kinds of targets, wrapping different APIs which can't be unified following the `androidx.compose` APIs.
+The components in the `ext` packages don't follow the `androidx.compose` APIs exactly, but rather provide wrappers that are more idiomatic and conventional on both kinds of targets, wrapping different APIs that can't be unified following the `androidx.compose` APIs.
+
+#### About parameter names
+
+The parameter names with suffixes such as "JsDom" or "ComposeUi" are platform-specific, and only apply on their respective platform(s), Compose HTML / JS DOM or Compose UI platforms.
+
+#### Material Icons
+
+The `com.huanshankeji.compose.material.icons.Icon` class delegates to both kinds of targets, but only a few Material Icons are added as PoC. You need to add your concrete icon implementations following the style of the existing ones in `com.huanshankeji.compose.material.icons` to use the icons you need. Track the progress of full icon support in [#4](/../../issues/4).
### Modifiers
@@ -115,8 +133,12 @@ The components in the `ext` packages don't follow the `androidx.compose` APIs ex
- `outerBorder`
- `roundedCornerBackgroundAndOuterBorder`
-#### Other APIs
+### Other APIs
+- `Alignment`
+- `Arrangement`
+- `KeyboardOptions`
+- `KeyboardActions`
- `PaddingValues`
### ViewModel
@@ -128,18 +150,27 @@ Compose HTML / JS DOM. These APIs are highly experimental now.
The navigation module currently supports a small subset of the Compose Navigation APIs, which does not support
transition or animation on Compose HTML / JS DOM. These APIs are also highly experimental now.
-See https://github.com/JetBrains/compose-multiplatform/issues/4966 for a bug to avoid. Also, ViewModel-related functions
+See [CMP-4966](https://youtrack.jetbrains.com/issue/CMP-4966) for a bug to avoid. Also, ViewModel-related functions
are not implemented yet on Compose HTML / JS DOM.
-## Add the libraries to your dependency
+## Add to your dependencies
Maven coordinate:
```kotlin
-"com.huanshankeji:compose-multiplatform-$module:$version"
+"com.huanshankeji:compose-multiplatform-html-unified-$module:$version"
+```
+
+More specifically:
+
+```kotlin
+"com.huanshankeji:compose-multiplatform-html-unified-common:$version"
+"com.huanshankeji:compose-multiplatform-html-unified-material-icons-core:$version"
+"com.huanshankeji:compose-multiplatform-html-unified-material2:$version"
+"com.huanshankeji:compose-multiplatform-html-unified-material3:$version"
```
-For example, depend on the Material 3 module with Gradle:
+For example, to depend on the Material 3 module with Gradle:
```kotlin
kotlin {
@@ -147,7 +178,7 @@ kotlin {
commonMain {
dependencies {
// ...
- implementation("com.huanshankeji:compose-multiplatform-material3:$version")
+ implementation("com.huanshankeji:compose-multiplatform-html-unified-material3:$version")
}
}
}
diff --git a/build.gradle.kts b/build.gradle.kts
index 1241019e..bbd56293 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -1,3 +1,18 @@
tasks.wrapper {
distributionType = Wrapper.DistributionType.ALL
}
+
+plugins {
+ id("org.jetbrains.kotlinx.binary-compatibility-validator") version "0.16.3"
+}
+
+apiValidation {
+ @OptIn(kotlinx.validation.ExperimentalBCVApi::class)
+ klib {
+ enabled = true
+ }
+
+ ignoredProjects += "compose-multiplatform-html-unified".let {
+ listOf("$it-demo", "$it-common-legacy")
+ }
+}
diff --git a/buildSrc/build.gradle.kts b/buildSrc/build.gradle.kts
index 6b1e1611..20dc3e2c 100644
--- a/buildSrc/build.gradle.kts
+++ b/buildSrc/build.gradle.kts
@@ -3,19 +3,18 @@ plugins {
}
repositories {
- //mavenLocal()
+ //mavenLocal() // comment out when not needed
gradlePluginPortal()
google()
mavenCentral()
}
dependencies {
- // With Kotlin 2.0.20, a "Could not parse POM" build error occurs in the JVM projects of some dependent projects.
- val kotlinVersion = "2.0.10"
+ val kotlinVersion = "2.1.0"
implementation(kotlin("gradle-plugin", kotlinVersion))
implementation("org.jetbrains.kotlin:compose-compiler-gradle-plugin:$kotlinVersion")
- implementation("org.jetbrains.compose:compose-gradle-plugin:1.6.11")
- implementation("com.huanshankeji.team:gradle-plugins:0.5.1")
+ implementation("org.jetbrains.compose:compose-gradle-plugin:1.7.1")
+ implementation("com.huanshankeji.team:gradle-plugins:0.9.0") // don't use a snapshot version in a main branch
implementation("com.android.tools.build:gradle:8.5.2")
- implementation("com.huanshankeji:common-gradle-dependencies:0.7.1-20240516")
+ implementation("com.huanshankeji:common-gradle-dependencies:0.9.0-20241203") // don't use a snapshot version in a main branch
}
diff --git a/buildSrc/src/main/kotlin/Android.kt b/buildSrc/src/main/kotlin/Android.kt
index 9d82f00a..9d79de1d 100644
--- a/buildSrc/src/main/kotlin/Android.kt
+++ b/buildSrc/src/main/kotlin/Android.kt
@@ -1 +1 @@
-val androidSdkVersion = 34
+val androidSdkVersion = 34 // bump to 35 when AGP and Kotlin are bumped
diff --git a/buildSrc/src/main/kotlin/Constants.kt b/buildSrc/src/main/kotlin/Constants.kt
index cfcdfdb0..caad779e 100644
--- a/buildSrc/src/main/kotlin/Constants.kt
+++ b/buildSrc/src/main/kotlin/Constants.kt
@@ -1,3 +1,3 @@
-const val FOR_COMPOSE_TARGETS_IN_TITLE = "for `androidx.compose` and Compose HTML"
+const val FOR_COMPOSE_TARGETS_IN_TITLE = "for Compose UI and Compose HTML"
const val FOR_COMPOSE_TARGETS_IN_DESCRIPTION =
- "for `androidx.compose` (Android, desktop (JVM), iOS, and web (Kotlin/Wasm)) and Compose HTML"
+ "for Compose UI (Android, desktop (JVM), iOS, and web (Kotlin/Wasm)) and Compose HTML"
diff --git a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt
index 7c73e089..7720bc25 100644
--- a/buildSrc/src/main/kotlin/VersionsAndDependencies.kt
+++ b/buildSrc/src/main/kotlin/VersionsAndDependencies.kt
@@ -1,21 +1,14 @@
import com.huanshankeji.CommonDependencies
import org.jetbrains.compose.ComposeBuildConfig
-val projectVersion = "0.4.0-SNAPSHOT"
+val projectVersion = "0.5.1-SNAPSHOT"
val commonDependencies = CommonDependencies()
object DependencyVersions {
const val composeMultiplatform = ComposeBuildConfig.composeVersion // for "ui-unit"
- val kobweb = "0.18.0"
- val huanshankejiComposeHtml = "0.4.0-SNAPSHOT" // TODO don't use a snapshot version in a main branch
+ val kobweb = "0.19.2"
+ val huanshankejiComposeHtml = "0.4.0" // don't use a snapshot version in a main branch
val kmdc = "0.1.2"
- val materialSymbols = "0.19.0"
- val composeMultiplatformNavigation = "2.7.0-alpha07"
- val composeMultiplatformLifecycleViewmodel = "2.8.0"
-
- object Androidx {
- val activityCompose = "1.9.0"
- val compose = "1.6.7"
- }
+ val materialSymbols = "0.25.1"
}
diff --git a/buildSrc/src/main/kotlin/common-conventions.gradle.kts b/buildSrc/src/main/kotlin/common-conventions.gradle.kts
index e525ae45..2df0e731 100644
--- a/buildSrc/src/main/kotlin/common-conventions.gradle.kts
+++ b/buildSrc/src/main/kotlin/common-conventions.gradle.kts
@@ -1,5 +1,5 @@
import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
-import org.jetbrains.kotlin.gradle.targets.js.dsl.ExperimentalWasmDsl
+import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
plugins {
kotlin("multiplatform")
@@ -8,7 +8,7 @@ plugins {
}
repositories {
- mavenLocal()
+ //mavenLocal() // commented out so the build is always reproducible by others // put back if needed when depending on a snapshot
mavenCentral()
google()
maven("https://us-central1-maven.pkg.dev/varabyte-repos/public") // for Kobweb
@@ -18,7 +18,7 @@ group = "com.huanshankeji"
version = projectVersion
kotlin {
- // for `androidx.compose`
+ // for Compose UI
jvm() // TODO: `jvm("desktop")`?
jvmToolchain(8)
@@ -38,7 +38,21 @@ kotlin {
js()
+
@OptIn(ExperimentalKotlinGradlePluginApi::class)
+ applyDefaultHierarchyTemplate {
+ common {
+ group("composeUi") {
+ withJvm()
+ withAndroidTarget()
+ group("ios")
+ withWasmJs()
+ }
+ }
+ }
+
+
+
compilerOptions {
freeCompilerArgs.add("-Xexpect-actual-classes")
}
diff --git a/buildSrc/src/main/kotlin/lib-conventions-without-publishing.gradle.kts b/buildSrc/src/main/kotlin/lib-conventions-without-publishing.gradle.kts
index bc1ce6e1..052a2868 100644
--- a/buildSrc/src/main/kotlin/lib-conventions-without-publishing.gradle.kts
+++ b/buildSrc/src/main/kotlin/lib-conventions-without-publishing.gradle.kts
@@ -1,8 +1,6 @@
-import org.jetbrains.kotlin.gradle.ExperimentalKotlinGradlePluginApi
-
plugins {
id("common-conventions")
- id("com.huanshankeji.kotlin-multiplatform-jvm-and-js-browser-conventions")
+ id("com.huanshankeji.kotlin-multiplatform-conventional-targets")
id("com.android.library")
}
@@ -11,26 +9,12 @@ kotlin {
publishLibraryVariants("release", "debug")
}
- // move to `common-conventions` if necessary
-
- @OptIn(ExperimentalKotlinGradlePluginApi::class)
- applyDefaultHierarchyTemplate {
- common {
- group("androidxCommon") {
- withJvm()
- withAndroidTarget()
- group("ios")
- withWasmJs()
- }
- }
- }
-
/*
sourceSets {
- val androidxCommonMain by creating { dependsOn(commonMain.get()) }
- jvmMain { dependsOn(androidxCommonMain) }
- iosMain { dependsOn(androidxCommonMain) }
- named("wasmJsMain") { dependsOn(androidxCommonMain) }
+ val composeUiMain by creating { dependsOn(commonMain.get()) }
+ jvmMain { dependsOn(composeUiMain) }
+ iosMain { dependsOn(composeUiMain) }
+ named("wasmJsMain") { dependsOn(composeUiMain) }
}
*/
}
diff --git a/common/api/android/compose-multiplatform-html-unified-common.api b/common/api/android/compose-multiplatform-html-unified-common.api
new file mode 100644
index 00000000..27528923
--- /dev/null
+++ b/common/api/android/compose-multiplatform-html-unified-common.api
@@ -0,0 +1,807 @@
+public final class com/huanshankeji/compose/Content_composeUiKt {
+ public static final fun toContentWithoutModifier (Lkotlin/jvm/functions/Function3;)Lkotlin/jvm/functions/Function2;
+ public static final fun toNullableContentWithoutModifier (Lkotlin/jvm/functions/Function3;)Lkotlin/jvm/functions/Function2;
+}
+
+public abstract interface annotation class com/huanshankeji/compose/ExtRecommendedApi : java/lang/annotation/Annotation {
+}
+
+public abstract class com/huanshankeji/compose/ext/LoadingState {
+ public static final field $stable I
+}
+
+public final class com/huanshankeji/compose/ext/LoadingState$Error : com/huanshankeji/compose/ext/LoadingState {
+ public static final field $stable I
+ public fun (Ljava/lang/Object;)V
+ public final fun getError ()Ljava/lang/Object;
+}
+
+public final class com/huanshankeji/compose/ext/LoadingState$Loaded : com/huanshankeji/compose/ext/LoadingState {
+ public static final field $stable I
+ public fun (Ljava/lang/Object;)V
+ public final fun getValue ()Ljava/lang/Object;
+}
+
+public final class com/huanshankeji/compose/ext/LoadingState$Loading : com/huanshankeji/compose/ext/LoadingState {
+ public static final field $stable I
+ public static final field INSTANCE Lcom/huanshankeji/compose/ext/LoadingState$Loading;
+}
+
+public final class com/huanshankeji/compose/foundation/Background_composeUiKt {
+ public static final fun background (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/graphics/Color;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/BorderStroke {
+ public static final field $stable I
+ public synthetic fun (FLcom/huanshankeji/compose/ui/graphics/Brush;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun component1-D9Ej5fM ()F
+ public final fun component2 ()Lcom/huanshankeji/compose/ui/graphics/Brush;
+ public final fun copy-D5KLDUw (FLcom/huanshankeji/compose/ui/graphics/Brush;)Lcom/huanshankeji/compose/foundation/BorderStroke;
+ public static synthetic fun copy-D5KLDUw$default (Lcom/huanshankeji/compose/foundation/BorderStroke;FLcom/huanshankeji/compose/ui/graphics/Brush;ILjava/lang/Object;)Lcom/huanshankeji/compose/foundation/BorderStroke;
+ public fun equals (Ljava/lang/Object;)Z
+ public final fun getBrush ()Lcom/huanshankeji/compose/ui/graphics/Brush;
+ public final fun getWidth-D9Ej5fM ()F
+ public fun hashCode ()I
+ public fun toString ()Ljava/lang/String;
+}
+
+public final class com/huanshankeji/compose/foundation/BorderStroke_composeUiKt {
+ public static final fun toPlatformValue (Lcom/huanshankeji/compose/foundation/BorderStroke;)Landroidx/compose/foundation/BorderStroke;
+}
+
+public final class com/huanshankeji/compose/foundation/Border_composeUiKt {
+ public static final fun border (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/BorderStroke;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun border-lG28NQ4 (Lcom/huanshankeji/compose/ui/Modifier;FLcom/huanshankeji/compose/ui/graphics/Color;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public abstract interface annotation class com/huanshankeji/compose/foundation/ExperimentalFoundationApi : java/lang/annotation/Annotation {
+}
+
+public final class com/huanshankeji/compose/foundation/OnClick_androidKt {
+ public static final fun onClick (Lcom/huanshankeji/compose/ui/Modifier;Lkotlin/jvm/functions/Function0;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/OnClick_composeUiKt {
+ public static final fun clickable (Lcom/huanshankeji/compose/ui/Modifier;Lkotlin/jvm/functions/Function0;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/Scroll_composeUiKt {
+ public static final fun HorizontalScrollBox (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V
+ public static final fun VerticalScrollBox (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V
+ public static final fun horizontalScroll (Lcom/huanshankeji/compose/ui/Modifier;Landroidx/compose/foundation/ScrollState;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun rememberScrollState (ILandroidx/compose/runtime/Composer;II)Landroidx/compose/foundation/ScrollState;
+ public static final fun verticalScroll (Lcom/huanshankeji/compose/ui/Modifier;Landroidx/compose/foundation/ScrollState;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/ext/BackgroundAndBorder_composeUiKt {
+ public static final fun roundedCornerBackgroundAndOuterBorder (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/BorderStroke;ILcom/huanshankeji/compose/ui/graphics/Color;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun roundedCornerBackgroundAndOuterBorder-SW5qh9g (Lcom/huanshankeji/compose/ui/Modifier;FLcom/huanshankeji/compose/ui/graphics/Color;FLcom/huanshankeji/compose/ui/graphics/Color;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun roundedCornerBackgroundAndOuterBorder-d8LSEHM (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/BorderStroke;FLcom/huanshankeji/compose/ui/graphics/Color;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun roundedCornerBackgroundAndOuterBorder-rAjV9yQ (Lcom/huanshankeji/compose/ui/Modifier;FLcom/huanshankeji/compose/ui/graphics/Color;ILcom/huanshankeji/compose/ui/graphics/Color;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/ext/Border_composeUiKt {
+ public static final fun outerBorder (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/BorderStroke;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun outerBorder-lG28NQ4 (Lcom/huanshankeji/compose/ui/Modifier;FLcom/huanshankeji/compose/ui/graphics/Color;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun roundedCornerOuterBorder (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/BorderStroke;I)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun roundedCornerOuterBorder-vfC735M (Lcom/huanshankeji/compose/ui/Modifier;FLcom/huanshankeji/compose/ui/graphics/Color;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun roundedCornerOuterBorder-wH6b6FI (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/BorderStroke;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun roundedCornerOuterBorder-ziNgDLE (Lcom/huanshankeji/compose/ui/Modifier;FLcom/huanshankeji/compose/ui/graphics/Color;I)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/ext/MatchPositionRelativeParentJsOnly_composeUiKt {
+ public static final fun matchPositionRelativeParentJsDom (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/Arrangement {
+ public static final field $stable I
+ public static final field INSTANCE Lcom/huanshankeji/compose/foundation/layout/Arrangement;
+ public final fun getBottom ()Lcom/huanshankeji/compose/foundation/layout/Arrangement$Vertical;
+ public final fun getCenter ()Lcom/huanshankeji/compose/foundation/layout/Arrangement$HorizontalOrVertical;
+ public final fun getEnd ()Lcom/huanshankeji/compose/foundation/layout/Arrangement$Horizontal;
+ public final fun getSpaceAround ()Lcom/huanshankeji/compose/foundation/layout/Arrangement$HorizontalOrVertical;
+ public final fun getSpaceBetween ()Lcom/huanshankeji/compose/foundation/layout/Arrangement$HorizontalOrVertical;
+ public final fun getSpaceEvenly ()Lcom/huanshankeji/compose/foundation/layout/Arrangement$HorizontalOrVertical;
+ public final fun getStart ()Lcom/huanshankeji/compose/foundation/layout/Arrangement$Horizontal;
+ public final fun getTop ()Lcom/huanshankeji/compose/foundation/layout/Arrangement$Vertical;
+ public final fun spacedBy-0680j_4 (F)Lcom/huanshankeji/compose/foundation/layout/Arrangement$HorizontalOrVertical;
+}
+
+public abstract interface class com/huanshankeji/compose/foundation/layout/Arrangement$Horizontal {
+ public abstract fun getPlatformValue ()Landroidx/compose/foundation/layout/Arrangement$Horizontal;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/Arrangement$Horizontal$Impl : com/huanshankeji/compose/foundation/layout/Arrangement$Horizontal {
+ public static final field $stable I
+ public fun (Landroidx/compose/foundation/layout/Arrangement$Horizontal;)V
+ public fun getPlatformValue ()Landroidx/compose/foundation/layout/Arrangement$Horizontal;
+}
+
+public abstract interface class com/huanshankeji/compose/foundation/layout/Arrangement$HorizontalOrVertical : com/huanshankeji/compose/foundation/layout/Arrangement$Horizontal, com/huanshankeji/compose/foundation/layout/Arrangement$Vertical {
+ public abstract fun getPlatformValue ()Landroidx/compose/foundation/layout/Arrangement$HorizontalOrVertical;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/Arrangement$HorizontalOrVertical$Impl : com/huanshankeji/compose/foundation/layout/Arrangement$HorizontalOrVertical {
+ public static final field $stable I
+ public fun (Landroidx/compose/foundation/layout/Arrangement$HorizontalOrVertical;)V
+ public synthetic fun getPlatformValue ()Landroidx/compose/foundation/layout/Arrangement$Horizontal;
+ public fun getPlatformValue ()Landroidx/compose/foundation/layout/Arrangement$HorizontalOrVertical;
+ public synthetic fun getPlatformValue ()Landroidx/compose/foundation/layout/Arrangement$Vertical;
+}
+
+public abstract interface class com/huanshankeji/compose/foundation/layout/Arrangement$Vertical {
+ public abstract fun getPlatformValue ()Landroidx/compose/foundation/layout/Arrangement$Vertical;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/Arrangement$Vertical$Impl : com/huanshankeji/compose/foundation/layout/Arrangement$Vertical {
+ public static final field $stable I
+ public fun (Landroidx/compose/foundation/layout/Arrangement$Vertical;)V
+ public fun getPlatformValue ()Landroidx/compose/foundation/layout/Arrangement$Vertical;
+}
+
+public abstract interface class com/huanshankeji/compose/foundation/layout/BoxScope {
+ public abstract fun align (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment;)Lcom/huanshankeji/compose/ui/Modifier;
+ public abstract fun getPlatformBoxScope ()Landroidx/compose/foundation/layout/BoxScope;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/BoxScope$DefaultImpls {
+ public static fun align (Lcom/huanshankeji/compose/foundation/layout/BoxScope;Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/BoxScope$Impl : com/huanshankeji/compose/foundation/layout/BoxScope {
+ public fun align (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun align-impl (Landroidx/compose/foundation/layout/BoxScope;Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final synthetic fun box-impl (Landroidx/compose/foundation/layout/BoxScope;)Lcom/huanshankeji/compose/foundation/layout/BoxScope$Impl;
+ public static fun constructor-impl (Landroidx/compose/foundation/layout/BoxScope;)Landroidx/compose/foundation/layout/BoxScope;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (Landroidx/compose/foundation/layout/BoxScope;Ljava/lang/Object;)Z
+ public static final fun equals-impl0 (Landroidx/compose/foundation/layout/BoxScope;Landroidx/compose/foundation/layout/BoxScope;)Z
+ public fun getPlatformBoxScope ()Landroidx/compose/foundation/layout/BoxScope;
+ public fun hashCode ()I
+ public static fun hashCode-impl (Landroidx/compose/foundation/layout/BoxScope;)I
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (Landroidx/compose/foundation/layout/BoxScope;)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()Landroidx/compose/foundation/layout/BoxScope;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/Box_composeUiKt {
+ public static final fun Box (Lcom/huanshankeji/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V
+ public static final fun Box (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V
+}
+
+public final class com/huanshankeji/compose/foundation/layout/ColumnKt {
+ public static final fun toCommonColumnScopeContent (Lkotlin/jvm/functions/Function3;)Lkotlin/jvm/functions/Function3;
+}
+
+public abstract interface class com/huanshankeji/compose/foundation/layout/ColumnScope {
+ public abstract fun align (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment$Horizontal;)Lcom/huanshankeji/compose/ui/Modifier;
+ public abstract fun getPlatformValue ()Landroidx/compose/foundation/layout/ColumnScope;
+ public abstract fun weight (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/ColumnScope$DefaultImpls {
+ public static fun align (Lcom/huanshankeji/compose/foundation/layout/ColumnScope;Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment$Horizontal;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun weight (Lcom/huanshankeji/compose/foundation/layout/ColumnScope;Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/ColumnScope$Impl : com/huanshankeji/compose/foundation/layout/ColumnScope {
+ public fun align (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment$Horizontal;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun align-impl (Landroidx/compose/foundation/layout/ColumnScope;Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment$Horizontal;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final synthetic fun box-impl (Landroidx/compose/foundation/layout/ColumnScope;)Lcom/huanshankeji/compose/foundation/layout/ColumnScope$Impl;
+ public static fun constructor-impl (Landroidx/compose/foundation/layout/ColumnScope;)Landroidx/compose/foundation/layout/ColumnScope;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (Landroidx/compose/foundation/layout/ColumnScope;Ljava/lang/Object;)Z
+ public static final fun equals-impl0 (Landroidx/compose/foundation/layout/ColumnScope;Landroidx/compose/foundation/layout/ColumnScope;)Z
+ public fun getPlatformValue ()Landroidx/compose/foundation/layout/ColumnScope;
+ public fun hashCode ()I
+ public static fun hashCode-impl (Landroidx/compose/foundation/layout/ColumnScope;)I
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (Landroidx/compose/foundation/layout/ColumnScope;)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()Landroidx/compose/foundation/layout/ColumnScope;
+ public fun weight (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun weight-impl (Landroidx/compose/foundation/layout/ColumnScope;Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/Column_composeUiKt {
+ public static final fun Column (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/layout/Arrangement$Vertical;Lcom/huanshankeji/compose/ui/Alignment$Horizontal;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V
+}
+
+public final class com/huanshankeji/compose/foundation/layout/IntrinsicSize : java/lang/Enum {
+ public static final field Max Lcom/huanshankeji/compose/foundation/layout/IntrinsicSize;
+ public static final field Min Lcom/huanshankeji/compose/foundation/layout/IntrinsicSize;
+ public static fun getEntries ()Lkotlin/enums/EnumEntries;
+ public static fun valueOf (Ljava/lang/String;)Lcom/huanshankeji/compose/foundation/layout/IntrinsicSize;
+ public static fun values ()[Lcom/huanshankeji/compose/foundation/layout/IntrinsicSize;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/Intrinsic_composeUiKt {
+ public static final fun height (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/layout/IntrinsicSize;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun toPlatformValue (Lcom/huanshankeji/compose/foundation/layout/IntrinsicSize;)Landroidx/compose/foundation/layout/IntrinsicSize;
+ public static final fun width (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/layout/IntrinsicSize;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public abstract class com/huanshankeji/compose/foundation/layout/PaddingValues {
+ public static final field $stable I
+ public fun (Landroidx/compose/foundation/layout/PaddingValues;)V
+ public final fun getPlatformValue ()Landroidx/compose/foundation/layout/PaddingValues;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/PaddingValues$Absolute : com/huanshankeji/compose/foundation/layout/PaddingValues {
+ public static final field $stable I
+ public synthetic fun (FFFFILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public synthetic fun (FFFFLkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Landroidx/compose/foundation/layout/PaddingValues$Absolute;)V
+}
+
+public final class com/huanshankeji/compose/foundation/layout/Padding_composeUiKt {
+ public static final fun PaddingValues-0680j_4 (F)Lcom/huanshankeji/compose/foundation/layout/PaddingValues;
+ public static final fun PaddingValues-YgX7TsA (FF)Lcom/huanshankeji/compose/foundation/layout/PaddingValues;
+ public static synthetic fun PaddingValues-YgX7TsA$default (FFILjava/lang/Object;)Lcom/huanshankeji/compose/foundation/layout/PaddingValues;
+ public static final fun PaddingValues-a9UjIt4 (FFFF)Lcom/huanshankeji/compose/foundation/layout/PaddingValues;
+ public static synthetic fun PaddingValues-a9UjIt4$default (FFFFILjava/lang/Object;)Lcom/huanshankeji/compose/foundation/layout/PaddingValues;
+ public static final fun absolutePadding-qDBjuR0 (Lcom/huanshankeji/compose/ui/Modifier;FFFF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun absolutePadding-qDBjuR0$default (Lcom/huanshankeji/compose/ui/Modifier;FFFFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun padding (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/layout/PaddingValues;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun padding-3ABfNKs (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun padding-VpY3zN4 (Lcom/huanshankeji/compose/ui/Modifier;FF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun padding-VpY3zN4$default (Lcom/huanshankeji/compose/ui/Modifier;FFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun padding-qDBjuR0 (Lcom/huanshankeji/compose/ui/Modifier;FFFF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun padding-qDBjuR0$default (Lcom/huanshankeji/compose/ui/Modifier;FFFFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun toCommonValue (Landroidx/compose/foundation/layout/PaddingValues;)Lcom/huanshankeji/compose/foundation/layout/PaddingValues;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/RowKt {
+ public static final fun toPlatformRowScopeContent (Lkotlin/jvm/functions/Function3;)Lkotlin/jvm/functions/Function3;
+}
+
+public abstract interface class com/huanshankeji/compose/foundation/layout/RowScope {
+ public abstract fun align (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment$Vertical;)Lcom/huanshankeji/compose/ui/Modifier;
+ public abstract fun getPlatformValue ()Landroidx/compose/foundation/layout/RowScope;
+ public abstract fun weight (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/RowScope$DefaultImpls {
+ public static fun align (Lcom/huanshankeji/compose/foundation/layout/RowScope;Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment$Vertical;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun weight (Lcom/huanshankeji/compose/foundation/layout/RowScope;Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/RowScope$Impl : com/huanshankeji/compose/foundation/layout/RowScope {
+ public fun align (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment$Vertical;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun align-impl (Landroidx/compose/foundation/layout/RowScope;Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment$Vertical;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final synthetic fun box-impl (Landroidx/compose/foundation/layout/RowScope;)Lcom/huanshankeji/compose/foundation/layout/RowScope$Impl;
+ public static fun constructor-impl (Landroidx/compose/foundation/layout/RowScope;)Landroidx/compose/foundation/layout/RowScope;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (Landroidx/compose/foundation/layout/RowScope;Ljava/lang/Object;)Z
+ public static final fun equals-impl0 (Landroidx/compose/foundation/layout/RowScope;Landroidx/compose/foundation/layout/RowScope;)Z
+ public fun getPlatformValue ()Landroidx/compose/foundation/layout/RowScope;
+ public fun hashCode ()I
+ public static fun hashCode-impl (Landroidx/compose/foundation/layout/RowScope;)I
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (Landroidx/compose/foundation/layout/RowScope;)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()Landroidx/compose/foundation/layout/RowScope;
+ public fun weight (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun weight-impl (Landroidx/compose/foundation/layout/RowScope;Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/Row_composeUiKt {
+ public static final fun Row (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/layout/Arrangement$Horizontal;Lcom/huanshankeji/compose/ui/Alignment$Vertical;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V
+}
+
+public final class com/huanshankeji/compose/foundation/layout/SizeKt {
+ public static final fun size-6HolHcs (Lcom/huanshankeji/compose/ui/Modifier;J)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/Size_composeUiKt {
+ public static final fun fillMaxHeight (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun fillMaxHeight$default (Lcom/huanshankeji/compose/ui/Modifier;FILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun fillMaxSize (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun fillMaxSize$default (Lcom/huanshankeji/compose/ui/Modifier;FILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun fillMaxWidth (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun fillMaxWidth$default (Lcom/huanshankeji/compose/ui/Modifier;FILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun height-3ABfNKs (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun heightIn-VpY3zN4 (Lcom/huanshankeji/compose/ui/Modifier;FF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun heightIn-VpY3zN4$default (Lcom/huanshankeji/compose/ui/Modifier;FFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun size-3ABfNKs (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun size-VpY3zN4 (Lcom/huanshankeji/compose/ui/Modifier;FF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun sizeIn-qDBjuR0 (Lcom/huanshankeji/compose/ui/Modifier;FFFF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun sizeIn-qDBjuR0$default (Lcom/huanshankeji/compose/ui/Modifier;FFFFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun width-3ABfNKs (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun widthIn-VpY3zN4 (Lcom/huanshankeji/compose/ui/Modifier;FF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun widthIn-VpY3zN4$default (Lcom/huanshankeji/compose/ui/Modifier;FFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun wrapContentHeight (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun wrapContentSize (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun wrapContentWidth (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/Spacer_composeUiKt {
+ public static final fun Spacer (Lcom/huanshankeji/compose/ui/Modifier;Landroidx/compose/runtime/Composer;I)V
+}
+
+public abstract interface class com/huanshankeji/compose/foundation/layout/ext/BoxWithConstraintsScope : com/huanshankeji/compose/foundation/layout/BoxScope {
+ public abstract fun getMaxHeight-D9Ej5fM ()F
+ public abstract fun getMaxWidth-D9Ej5fM ()F
+}
+
+public final class com/huanshankeji/compose/foundation/layout/ext/BoxWithConstraintsScope$DefaultImpls {
+ public static fun align (Lcom/huanshankeji/compose/foundation/layout/ext/BoxWithConstraintsScope;Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/ext/BoxWithConstraintsScopeImpl : com/huanshankeji/compose/foundation/layout/ext/BoxWithConstraintsScope {
+ public static final field $stable I
+ public synthetic fun (Landroidx/compose/foundation/layout/BoxScope;FFLkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun align (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment;)Lcom/huanshankeji/compose/ui/Modifier;
+ public fun getMaxHeight-D9Ej5fM ()F
+ public fun getMaxWidth-D9Ej5fM ()F
+ public fun getPlatformBoxScope ()Landroidx/compose/foundation/layout/BoxScope;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/ext/BoxWithConstraints_composeUiKt {
+ public static final fun BoxWithConstraints (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Alignment;Lkotlin/jvm/functions/Function3;Landroidx/compose/runtime/Composer;II)V
+}
+
+public final class com/huanshankeji/compose/foundation/layout/ext/InnerPadding_composeUiKt {
+ public static final fun absoluteInnerPadding-qDBjuR0 (Lcom/huanshankeji/compose/ui/Modifier;FFFF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun absoluteInnerPadding-qDBjuR0$default (Lcom/huanshankeji/compose/ui/Modifier;FFFFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun innerPadding (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/layout/PaddingValues;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun innerPadding-3ABfNKs (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun innerPadding-VpY3zN4 (Lcom/huanshankeji/compose/ui/Modifier;FF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun innerPadding-VpY3zN4$default (Lcom/huanshankeji/compose/ui/Modifier;FFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun innerPadding-qDBjuR0 (Lcom/huanshankeji/compose/ui/Modifier;FFFF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun innerPadding-qDBjuR0$default (Lcom/huanshankeji/compose/ui/Modifier;FFFFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/ext/OuterPadding_composeUiKt {
+ public static final fun absoluteOuterPadding-qDBjuR0 (Lcom/huanshankeji/compose/ui/Modifier;FFFF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun absoluteOuterPadding-qDBjuR0$default (Lcom/huanshankeji/compose/ui/Modifier;FFFFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun outerPadding (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/layout/PaddingValues;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun outerPadding-3ABfNKs (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun outerPadding-VpY3zN4 (Lcom/huanshankeji/compose/ui/Modifier;FF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun outerPadding-VpY3zN4$default (Lcom/huanshankeji/compose/ui/Modifier;FFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun outerPadding-qDBjuR0 (Lcom/huanshankeji/compose/ui/Modifier;FFFF)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun outerPadding-qDBjuR0$default (Lcom/huanshankeji/compose/ui/Modifier;FFFFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/layout/ext/Size_composeUiKt {
+ public static final fun fillMaxHeightStretch (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun fillMaxSizeStretch (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun fillMaxWidthStretch (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/foundation/lazy/LazyDslKt {
+ public static final fun items (Lcom/huanshankeji/compose/foundation/lazy/LazyListScope;Ljava/util/List;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function4;)V
+ public static final fun items (Lcom/huanshankeji/compose/foundation/lazy/LazyListScope;[Ljava/lang/Object;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function4;)V
+ public static synthetic fun items$default (Lcom/huanshankeji/compose/foundation/lazy/LazyListScope;Ljava/util/List;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function4;ILjava/lang/Object;)V
+ public static synthetic fun items$default (Lcom/huanshankeji/compose/foundation/lazy/LazyListScope;[Ljava/lang/Object;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function4;ILjava/lang/Object;)V
+ public static final fun itemsIndexed (Lcom/huanshankeji/compose/foundation/lazy/LazyListScope;Ljava/util/List;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function5;)V
+ public static final fun itemsIndexed (Lcom/huanshankeji/compose/foundation/lazy/LazyListScope;[Ljava/lang/Object;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function5;)V
+ public static synthetic fun itemsIndexed$default (Lcom/huanshankeji/compose/foundation/lazy/LazyListScope;Ljava/util/List;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function5;ILjava/lang/Object;)V
+ public static synthetic fun itemsIndexed$default (Lcom/huanshankeji/compose/foundation/lazy/LazyListScope;[Ljava/lang/Object;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function2;Lkotlin/jvm/functions/Function5;ILjava/lang/Object;)V
+}
+
+public final class com/huanshankeji/compose/foundation/lazy/LazyDsl_composeUiKt {
+ public static final fun LazyColumn (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/layout/PaddingValues;ZLcom/huanshankeji/compose/foundation/layout/Arrangement$Vertical;Lcom/huanshankeji/compose/ui/Alignment$Horizontal;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;II)V
+ public static final fun LazyRow (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/foundation/layout/PaddingValues;ZLcom/huanshankeji/compose/foundation/layout/Arrangement$Horizontal;Lcom/huanshankeji/compose/ui/Alignment$Vertical;Lkotlin/jvm/functions/Function1;Landroidx/compose/runtime/Composer;II)V
+}
+
+public final class com/huanshankeji/compose/foundation/lazy/LazyItemScope {
+ public static final field $stable I
+ public fun (Landroidx/compose/foundation/lazy/LazyItemScope;)V
+ public final fun fillParentMaxHeight (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun fillParentMaxHeight$default (Lcom/huanshankeji/compose/foundation/lazy/LazyItemScope;Lcom/huanshankeji/compose/ui/Modifier;FILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public final fun fillParentMaxSize (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun fillParentMaxSize$default (Lcom/huanshankeji/compose/foundation/lazy/LazyItemScope;Lcom/huanshankeji/compose/ui/Modifier;FILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public final fun fillParentMaxWidth (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+ public static synthetic fun fillParentMaxWidth$default (Lcom/huanshankeji/compose/foundation/lazy/LazyItemScope;Lcom/huanshankeji/compose/ui/Modifier;FILjava/lang/Object;)Lcom/huanshankeji/compose/ui/Modifier;
+ public final fun getPlatformValue ()Landroidx/compose/foundation/lazy/LazyItemScope;
+}
+
+public final class com/huanshankeji/compose/foundation/lazy/LazyListScope {
+ public static final field $stable I
+ public fun (Landroidx/compose/foundation/lazy/LazyListScope;)V
+ public final fun getPlatformValue ()Landroidx/compose/foundation/lazy/LazyListScope;
+ public final fun item (Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function3;)V
+ public static synthetic fun item$default (Lcom/huanshankeji/compose/foundation/lazy/LazyListScope;Ljava/lang/Object;Ljava/lang/Object;Lkotlin/jvm/functions/Function3;ILjava/lang/Object;)V
+ public final fun items (ILkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function4;)V
+ public static synthetic fun items$default (Lcom/huanshankeji/compose/foundation/lazy/LazyListScope;ILkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function4;ILjava/lang/Object;)V
+}
+
+public final class com/huanshankeji/compose/foundation/text/BasicTextKt {
+ public static final synthetic fun BasicText (Ljava/lang/String;Landroidx/compose/runtime/Composer;I)V
+}
+
+public final class com/huanshankeji/compose/foundation/text/BasicText_composeUiKt {
+ public static final fun BasicText (Ljava/lang/String;Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/graphics/ColorProducer;Landroidx/compose/runtime/Composer;II)V
+}
+
+public abstract interface class com/huanshankeji/compose/foundation/text/KeyboardActionScope {
+ public abstract fun defaultKeyboardAction-BY5W8_o (I)V
+}
+
+public final class com/huanshankeji/compose/foundation/text/KeyboardActionScope$DoNothingInstance : com/huanshankeji/compose/foundation/text/KeyboardActionScope {
+ public static final field $stable I
+ public static final field INSTANCE Lcom/huanshankeji/compose/foundation/text/KeyboardActionScope$DoNothingInstance;
+ public fun defaultKeyboardAction-BY5W8_o (I)V
+}
+
+public final class com/huanshankeji/compose/foundation/text/KeyboardActions {
+ public static final field Companion Lcom/huanshankeji/compose/foundation/text/KeyboardActions$Companion;
+ public static final synthetic fun box-impl (Lkotlin/jvm/functions/Function1;)Lcom/huanshankeji/compose/foundation/text/KeyboardActions;
+ public static fun constructor-impl (Lkotlin/jvm/functions/Function1;)Lkotlin/jvm/functions/Function1;
+ public static synthetic fun constructor-impl$default (Lkotlin/jvm/functions/Function1;ILkotlin/jvm/internal/DefaultConstructorMarker;)Lkotlin/jvm/functions/Function1;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (Lkotlin/jvm/functions/Function1;Ljava/lang/Object;)Z
+ public static final fun equals-impl0 (Lkotlin/jvm/functions/Function1;Lkotlin/jvm/functions/Function1;)Z
+ public final fun getOnAny ()Lkotlin/jvm/functions/Function1;
+ public fun hashCode ()I
+ public static fun hashCode-impl (Lkotlin/jvm/functions/Function1;)I
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (Lkotlin/jvm/functions/Function1;)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()Lkotlin/jvm/functions/Function1;
+}
+
+public final class com/huanshankeji/compose/foundation/text/KeyboardActions$Companion {
+ public final fun getDefault-eR24s0A ()Lkotlin/jvm/functions/Function1;
+}
+
+public final class com/huanshankeji/compose/foundation/text/KeyboardActions_composeUiKt {
+ public static final fun toCommonValue (Landroidx/compose/foundation/text/KeyboardActionScope;)Lcom/huanshankeji/compose/foundation/text/KeyboardActionScope;
+ public static final fun toPlatformValue-XYNfWhM (Lkotlin/jvm/functions/Function1;)Landroidx/compose/foundation/text/KeyboardActions;
+}
+
+public final class com/huanshankeji/compose/foundation/text/KeyboardOptions {
+ public static final field $stable I
+ public static final field Companion Lcom/huanshankeji/compose/foundation/text/KeyboardOptions$Companion;
+ public synthetic fun (Lcom/huanshankeji/compose/foundation/text/input/KeyboardCapitalization;Ljava/lang/Boolean;Lcom/huanshankeji/compose/foundation/text/input/KeyboardType;Lcom/huanshankeji/compose/foundation/text/input/ImeAction;Lcom/huanshankeji/compose/foundation/text/input/PlatformImeOptions;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public synthetic fun (Lcom/huanshankeji/compose/foundation/text/input/KeyboardCapitalization;Ljava/lang/Boolean;Lcom/huanshankeji/compose/foundation/text/input/KeyboardType;Lcom/huanshankeji/compose/foundation/text/input/ImeAction;Lcom/huanshankeji/compose/foundation/text/input/PlatformImeOptions;Lkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun getAutoCorrect ()Ljava/lang/Boolean;
+ public final fun getCapitalization-sV_096Q ()Lcom/huanshankeji/compose/foundation/text/input/KeyboardCapitalization;
+ public final fun getImeAction-YTjJnxY ()Lcom/huanshankeji/compose/foundation/text/input/ImeAction;
+ public final fun getKeyboardType-vTtPjw8 ()Lcom/huanshankeji/compose/foundation/text/input/KeyboardType;
+ public final fun getPlatformImeOptions ()Lcom/huanshankeji/compose/foundation/text/input/PlatformImeOptions;
+}
+
+public final class com/huanshankeji/compose/foundation/text/KeyboardOptions$Companion {
+ public final fun getDefault ()Lcom/huanshankeji/compose/foundation/text/KeyboardOptions;
+}
+
+public final class com/huanshankeji/compose/foundation/text/KeyboardOptions_composeUiKt {
+ public static final fun toPlatformValue (Lcom/huanshankeji/compose/foundation/text/KeyboardOptions;)Landroidx/compose/foundation/text/KeyboardOptions;
+}
+
+public final class com/huanshankeji/compose/foundation/text/ext/TextKt {
+ public static final field INLINE_TEXT_DEPRECATED_MESSAGE Ljava/lang/String;
+ public static final fun InlineBasicText (Ljava/lang/String;Landroidx/compose/runtime/Composer;I)V
+ public static final fun SpanBasicText (Ljava/lang/String;Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/graphics/ColorProducer;Landroidx/compose/runtime/Composer;II)V
+}
+
+public final class com/huanshankeji/compose/foundation/text/ext/Text_composeUiKt {
+ public static final fun TaglessBasicText (Ljava/lang/String;Landroidx/compose/runtime/Composer;I)V
+}
+
+public final class com/huanshankeji/compose/foundation/text/input/ImeAction {
+ public static final field Companion Lcom/huanshankeji/compose/foundation/text/input/ImeAction$Companion;
+ public static final synthetic fun box-impl (I)Lcom/huanshankeji/compose/foundation/text/input/ImeAction;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (ILjava/lang/Object;)Z
+ public static final fun equals-impl0 (II)Z
+ public fun hashCode ()I
+ public static fun hashCode-impl (I)I
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (I)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()I
+}
+
+public final class com/huanshankeji/compose/foundation/text/input/ImeAction$Companion {
+ public final fun getDefault-wMdBJBk ()I
+ public final fun getDone-wMdBJBk ()I
+ public final fun getGo-wMdBJBk ()I
+ public final fun getNext-wMdBJBk ()I
+ public final fun getNone-wMdBJBk ()I
+ public final fun getPrevious-wMdBJBk ()I
+ public final fun getSearch-wMdBJBk ()I
+ public final fun getSend-wMdBJBk ()I
+}
+
+public final class com/huanshankeji/compose/foundation/text/input/ImeAction_composeUiKt {
+ public static final fun toPlatformValue-BY5W8_o (I)I
+ public static final fun toPlatformValue-Ya8g6bQ (Lcom/huanshankeji/compose/foundation/text/input/ImeAction;)I
+}
+
+public final class com/huanshankeji/compose/foundation/text/input/KeyboardCapitalization {
+ public static final field Companion Lcom/huanshankeji/compose/foundation/text/input/KeyboardCapitalization$Companion;
+ public static final synthetic fun box-impl (I)Lcom/huanshankeji/compose/foundation/text/input/KeyboardCapitalization;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (ILjava/lang/Object;)Z
+ public static final fun equals-impl0 (II)Z
+ public fun hashCode ()I
+ public static fun hashCode-impl (I)I
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (I)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()I
+}
+
+public final class com/huanshankeji/compose/foundation/text/input/KeyboardCapitalization$Companion {
+ public final fun getCharacters-yuZ006c ()I
+ public final fun getNone-yuZ006c ()I
+ public final fun getSentences-yuZ006c ()I
+ public final fun getWords-yuZ006c ()I
+}
+
+public final class com/huanshankeji/compose/foundation/text/input/KeyboardCapitalization_composeUiKt {
+ public static final fun toPlatformValue-7c3A3NA (I)I
+ public static final fun toPlatformValue-M0wbBxY (Lcom/huanshankeji/compose/foundation/text/input/KeyboardCapitalization;)I
+}
+
+public final class com/huanshankeji/compose/foundation/text/input/KeyboardType {
+ public static final field Companion Lcom/huanshankeji/compose/foundation/text/input/KeyboardType$Companion;
+ public static final synthetic fun box-impl (I)Lcom/huanshankeji/compose/foundation/text/input/KeyboardType;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (ILjava/lang/Object;)Z
+ public static final fun equals-impl0 (II)Z
+ public fun hashCode ()I
+ public static fun hashCode-impl (I)I
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (I)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()I
+}
+
+public final class com/huanshankeji/compose/foundation/text/input/KeyboardType$Companion {
+ public final fun getAscii-BGL2Dk4 ()I
+ public final fun getDecimal-BGL2Dk4 ()I
+ public final fun getEmail-BGL2Dk4 ()I
+ public final fun getNumber-BGL2Dk4 ()I
+ public final fun getNumberPassword-BGL2Dk4 ()I
+ public final fun getPassword-BGL2Dk4 ()I
+ public final fun getPhone-BGL2Dk4 ()I
+ public final fun getText-BGL2Dk4 ()I
+ public final fun getUri-BGL2Dk4 ()I
+}
+
+public final class com/huanshankeji/compose/foundation/text/input/KeyboardType_composeUiKt {
+ public static final fun toPlatformValue-6FDry6U (Lcom/huanshankeji/compose/foundation/text/input/KeyboardType;)I
+ public static final fun toPlatformValue-awQKiIc (I)I
+}
+
+public final class com/huanshankeji/compose/foundation/text/input/PlatformImeOptions {
+ public static final field $stable I
+ public fun (Landroidx/compose/ui/text/input/PlatformImeOptions;)V
+ public final fun getPlatformValue ()Landroidx/compose/ui/text/input/PlatformImeOptions;
+}
+
+public final class com/huanshankeji/compose/layout/ext/HiddenKt {
+ public static final fun invisible (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static final fun reserveSpace (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/layout/ext/Hidden_composeUiKt {
+ public static final fun hidden (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/runtime/DeferredComposableRunner {
+ public static final field $stable I
+ public fun ()V
+ public final fun ComposableRun (Lkotlin/jvm/functions/Function0;Landroidx/compose/runtime/Composer;I)V
+ public final fun addComposable (Lkotlin/jvm/functions/Function2;)V
+}
+
+public abstract interface class com/huanshankeji/compose/ui/Alignment {
+ public static final field Companion Lcom/huanshankeji/compose/ui/Alignment$Companion;
+ public abstract fun getPlatformAlignment ()Landroidx/compose/ui/Alignment;
+}
+
+public final class com/huanshankeji/compose/ui/Alignment$Companion {
+ public final fun getBottom ()Lcom/huanshankeji/compose/ui/Alignment$Vertical;
+ public final fun getBottomCenter ()Lcom/huanshankeji/compose/ui/Alignment;
+ public final fun getBottomEnd ()Lcom/huanshankeji/compose/ui/Alignment;
+ public final fun getBottomStart ()Lcom/huanshankeji/compose/ui/Alignment;
+ public final fun getCenter ()Lcom/huanshankeji/compose/ui/Alignment;
+ public final fun getCenterEnd ()Lcom/huanshankeji/compose/ui/Alignment;
+ public final fun getCenterHorizontally ()Lcom/huanshankeji/compose/ui/Alignment$Horizontal;
+ public final fun getCenterStart ()Lcom/huanshankeji/compose/ui/Alignment;
+ public final fun getCenterVertically ()Lcom/huanshankeji/compose/ui/Alignment$Vertical;
+ public final fun getEnd ()Lcom/huanshankeji/compose/ui/Alignment$Horizontal;
+ public final fun getStart ()Lcom/huanshankeji/compose/ui/Alignment$Horizontal;
+ public final fun getTop ()Lcom/huanshankeji/compose/ui/Alignment$Vertical;
+ public final fun getTopCenter ()Lcom/huanshankeji/compose/ui/Alignment;
+ public final fun getTopEnd ()Lcom/huanshankeji/compose/ui/Alignment;
+ public final fun getTopStart ()Lcom/huanshankeji/compose/ui/Alignment;
+}
+
+public abstract interface class com/huanshankeji/compose/ui/Alignment$Horizontal {
+ public abstract fun getPlatformHorizontal ()Landroidx/compose/ui/Alignment$Horizontal;
+}
+
+public final class com/huanshankeji/compose/ui/Alignment$Horizontal$Impl : com/huanshankeji/compose/ui/Alignment$Horizontal {
+ public static final synthetic fun box-impl (Landroidx/compose/ui/Alignment$Horizontal;)Lcom/huanshankeji/compose/ui/Alignment$Horizontal$Impl;
+ public static fun constructor-impl (Landroidx/compose/ui/Alignment$Horizontal;)Landroidx/compose/ui/Alignment$Horizontal;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (Landroidx/compose/ui/Alignment$Horizontal;Ljava/lang/Object;)Z
+ public static final fun equals-impl0 (Landroidx/compose/ui/Alignment$Horizontal;Landroidx/compose/ui/Alignment$Horizontal;)Z
+ public fun getPlatformHorizontal ()Landroidx/compose/ui/Alignment$Horizontal;
+ public fun hashCode ()I
+ public static fun hashCode-impl (Landroidx/compose/ui/Alignment$Horizontal;)I
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (Landroidx/compose/ui/Alignment$Horizontal;)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()Landroidx/compose/ui/Alignment$Horizontal;
+}
+
+public final class com/huanshankeji/compose/ui/Alignment$Impl : com/huanshankeji/compose/ui/Alignment {
+ public static final synthetic fun box-impl (Landroidx/compose/ui/Alignment;)Lcom/huanshankeji/compose/ui/Alignment$Impl;
+ public static fun constructor-impl (Landroidx/compose/ui/Alignment;)Landroidx/compose/ui/Alignment;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (Landroidx/compose/ui/Alignment;Ljava/lang/Object;)Z
+ public static final fun equals-impl0 (Landroidx/compose/ui/Alignment;Landroidx/compose/ui/Alignment;)Z
+ public fun getPlatformAlignment ()Landroidx/compose/ui/Alignment;
+ public fun hashCode ()I
+ public static fun hashCode-impl (Landroidx/compose/ui/Alignment;)I
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (Landroidx/compose/ui/Alignment;)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()Landroidx/compose/ui/Alignment;
+}
+
+public abstract interface class com/huanshankeji/compose/ui/Alignment$Vertical {
+ public abstract fun getPlatformHorizontal ()Landroidx/compose/ui/Alignment$Vertical;
+}
+
+public final class com/huanshankeji/compose/ui/Alignment$Vertical$Impl : com/huanshankeji/compose/ui/Alignment$Vertical {
+ public static final synthetic fun box-impl (Landroidx/compose/ui/Alignment$Vertical;)Lcom/huanshankeji/compose/ui/Alignment$Vertical$Impl;
+ public static fun constructor-impl (Landroidx/compose/ui/Alignment$Vertical;)Landroidx/compose/ui/Alignment$Vertical;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (Landroidx/compose/ui/Alignment$Vertical;Ljava/lang/Object;)Z
+ public static final fun equals-impl0 (Landroidx/compose/ui/Alignment$Vertical;Landroidx/compose/ui/Alignment$Vertical;)Z
+ public fun getPlatformHorizontal ()Landroidx/compose/ui/Alignment$Vertical;
+ public fun hashCode ()I
+ public static fun hashCode-impl (Landroidx/compose/ui/Alignment$Vertical;)I
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (Landroidx/compose/ui/Alignment$Vertical;)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()Landroidx/compose/ui/Alignment$Vertical;
+}
+
+public abstract interface class com/huanshankeji/compose/ui/Modifier {
+ public static final field Companion Lcom/huanshankeji/compose/ui/Modifier$Companion;
+ public abstract fun foldIn (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
+ public abstract fun getPlatformModifier ()Landroidx/compose/ui/Modifier;
+ public abstract fun platformModify (Lkotlin/jvm/functions/Function1;)Lcom/huanshankeji/compose/ui/Modifier;
+ public abstract fun then (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/ui/Modifier$Companion : com/huanshankeji/compose/ui/Modifier {
+ public fun foldIn (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
+ public fun getPlatformModifier ()Landroidx/compose/ui/Modifier$Companion;
+ public synthetic fun getPlatformModifier ()Landroidx/compose/ui/Modifier;
+ public fun platformModify (Lkotlin/jvm/functions/Function1;)Lcom/huanshankeji/compose/ui/Modifier;
+ public fun then (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/ui/Modifier$DefaultImpls {
+ public static fun foldIn (Lcom/huanshankeji/compose/ui/Modifier;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
+ public static fun platformModify (Lcom/huanshankeji/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun then (Lcom/huanshankeji/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public abstract interface class com/huanshankeji/compose/ui/Modifier$Element : com/huanshankeji/compose/ui/Modifier {
+ public abstract fun getPlatformElement ()Landroidx/compose/ui/Modifier$Element;
+}
+
+public final class com/huanshankeji/compose/ui/Modifier$Element$DefaultImpls {
+ public static fun foldIn (Lcom/huanshankeji/compose/ui/Modifier$Element;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
+ public static fun platformModify (Lcom/huanshankeji/compose/ui/Modifier$Element;Lkotlin/jvm/functions/Function1;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun then (Lcom/huanshankeji/compose/ui/Modifier$Element;Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/ui/Modifier$Element$Impl : com/huanshankeji/compose/ui/Modifier$Element {
+ public static final synthetic fun box-impl (Landroidx/compose/ui/Modifier$Element;)Lcom/huanshankeji/compose/ui/Modifier$Element$Impl;
+ public static fun constructor-impl (Landroidx/compose/ui/Modifier$Element;)Landroidx/compose/ui/Modifier$Element;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (Landroidx/compose/ui/Modifier$Element;Ljava/lang/Object;)Z
+ public static final fun equals-impl0 (Landroidx/compose/ui/Modifier$Element;Landroidx/compose/ui/Modifier$Element;)Z
+ public fun foldIn (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
+ public static fun foldIn-impl (Landroidx/compose/ui/Modifier$Element;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
+ public fun getPlatformElement ()Landroidx/compose/ui/Modifier$Element;
+ public fun getPlatformModifier ()Landroidx/compose/ui/Modifier$Element;
+ public synthetic fun getPlatformModifier ()Landroidx/compose/ui/Modifier;
+ public static fun getPlatformModifier-impl (Landroidx/compose/ui/Modifier$Element;)Landroidx/compose/ui/Modifier$Element;
+ public fun hashCode ()I
+ public static fun hashCode-impl (Landroidx/compose/ui/Modifier$Element;)I
+ public fun platformModify (Lkotlin/jvm/functions/Function1;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun platformModify-impl (Landroidx/compose/ui/Modifier$Element;Lkotlin/jvm/functions/Function1;)Lcom/huanshankeji/compose/ui/Modifier;
+ public fun then (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun then-impl (Landroidx/compose/ui/Modifier$Element;Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (Landroidx/compose/ui/Modifier$Element;)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()Landroidx/compose/ui/Modifier$Element;
+}
+
+public final class com/huanshankeji/compose/ui/Modifier$Impl : com/huanshankeji/compose/ui/Modifier {
+ public static final synthetic fun box-impl (Landroidx/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier$Impl;
+ public static fun constructor-impl (Landroidx/compose/ui/Modifier;)Landroidx/compose/ui/Modifier;
+ public fun equals (Ljava/lang/Object;)Z
+ public static fun equals-impl (Landroidx/compose/ui/Modifier;Ljava/lang/Object;)Z
+ public static final fun equals-impl0 (Landroidx/compose/ui/Modifier;Landroidx/compose/ui/Modifier;)Z
+ public fun foldIn (Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
+ public static fun foldIn-impl (Landroidx/compose/ui/Modifier;Ljava/lang/Object;Lkotlin/jvm/functions/Function2;)Ljava/lang/Object;
+ public fun getPlatformModifier ()Landroidx/compose/ui/Modifier;
+ public fun hashCode ()I
+ public static fun hashCode-impl (Landroidx/compose/ui/Modifier;)I
+ public fun platformModify (Lkotlin/jvm/functions/Function1;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun platformModify-impl (Landroidx/compose/ui/Modifier;Lkotlin/jvm/functions/Function1;)Lcom/huanshankeji/compose/ui/Modifier;
+ public fun then (Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+ public static fun then-impl (Landroidx/compose/ui/Modifier;Lcom/huanshankeji/compose/ui/Modifier;)Lcom/huanshankeji/compose/ui/Modifier;
+ public fun toString ()Ljava/lang/String;
+ public static fun toString-impl (Landroidx/compose/ui/Modifier;)Ljava/lang/String;
+ public final synthetic fun unbox-impl ()Landroidx/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/ui/draw/Alpha_composeUiKt {
+ public static final fun alpha (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/ui/draw/Rotate_composeUiKt {
+ public static final fun rotate (Lcom/huanshankeji/compose/ui/Modifier;F)Lcom/huanshankeji/compose/ui/Modifier;
+}
+
+public final class com/huanshankeji/compose/ui/graphics/Brush {
+ public static final field $stable I
+ public fun (Landroidx/compose/ui/graphics/Brush;)V
+ public final fun getPlatformValue ()Landroidx/compose/ui/graphics/Brush;
+}
+
+public final class com/huanshankeji/compose/ui/graphics/Color {
+ public static final field $stable I
+ public static final field Companion Lcom/huanshankeji/compose/ui/graphics/Color$Companion;
+ public synthetic fun (JLkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun getPlatformValue-0d7_KjU ()J
+ public fun toString ()Ljava/lang/String;
+}
+
+public final class com/huanshankeji/compose/ui/graphics/Color$Companion {
+ public final fun getBlack ()Lcom/huanshankeji/compose/ui/graphics/Color;
+ public final fun getBlue ()Lcom/huanshankeji/compose/ui/graphics/Color;
+ public final fun getCyan ()Lcom/huanshankeji/compose/ui/graphics/Color;
+ public final fun getDarkGray ()Lcom/huanshankeji/compose/ui/graphics/Color;
+ public final fun getGray ()Lcom/huanshankeji/compose/ui/graphics/Color;
+ public final fun getGreen ()Lcom/huanshankeji/compose/ui/graphics/Color;
+ public final fun getLightGray ()Lcom/huanshankeji/compose/ui/graphics/Color;
+ public final fun getMagenta ()Lcom/huanshankeji/compose/ui/graphics/Color;
+ public final fun getRed ()Lcom/huanshankeji/compose/ui/graphics/Color;
+ public final fun getTransparent ()Lcom/huanshankeji/compose/ui/graphics/Color;
+ public final fun getWhite ()Lcom/huanshankeji/compose/ui/graphics/Color;
+ public final fun getYellow ()Lcom/huanshankeji/compose/ui/graphics/Color;
+ public final fun hsl (FFFF)Lcom/huanshankeji/compose/ui/graphics/Color;
+ public static synthetic fun hsl$default (Lcom/huanshankeji/compose/ui/graphics/Color$Companion;FFFFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/graphics/Color;
+}
+
+public abstract interface class com/huanshankeji/compose/ui/graphics/ColorProducer {
+ public abstract fun invoke ()Lcom/huanshankeji/compose/ui/graphics/Color;
+}
+
+public final class com/huanshankeji/compose/ui/graphics/Color_composeUiKt {
+ public static final fun Color (FFFF)Lcom/huanshankeji/compose/ui/graphics/Color;
+ public static final fun Color (I)Lcom/huanshankeji/compose/ui/graphics/Color;
+ public static final fun Color (IIII)Lcom/huanshankeji/compose/ui/graphics/Color;
+ public static final fun Color (J)Lcom/huanshankeji/compose/ui/graphics/Color;
+ public static synthetic fun Color$default (FFFFILjava/lang/Object;)Lcom/huanshankeji/compose/ui/graphics/Color;
+ public static synthetic fun Color$default (IIIIILjava/lang/Object;)Lcom/huanshankeji/compose/ui/graphics/Color;
+ public static final fun luminance (Lcom/huanshankeji/compose/ui/graphics/Color;)F
+ public static final fun toArgb (Lcom/huanshankeji/compose/ui/graphics/Color;)I
+ public static final fun toNullablePlatformValue (Lcom/huanshankeji/compose/ui/graphics/ColorProducer;)Landroidx/compose/ui/graphics/ColorProducer;
+ public static final fun toPlatformValue (Lcom/huanshankeji/compose/ui/graphics/Color;)J
+ public static final fun toPlatformValue (Lcom/huanshankeji/compose/ui/graphics/ColorProducer;)Landroidx/compose/ui/graphics/ColorProducer;
+}
+
+public abstract class com/huanshankeji/compose/ui/unit/ext/DpOrPercentage {
+ public static final field $stable I
+}
+
+public final class com/huanshankeji/compose/ui/unit/ext/DpOrPercentage$Dp : com/huanshankeji/compose/ui/unit/ext/DpOrPercentage {
+ public static final field $stable I
+ public synthetic fun (FLkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun getDp-D9Ej5fM ()F
+}
+
+public final class com/huanshankeji/compose/ui/unit/ext/DpOrPercentage$Percentage : com/huanshankeji/compose/ui/unit/ext/DpOrPercentage {
+ public static final field $stable I
+ public fun (I)V
+ public final fun getPercentage ()I
+}
+
diff --git a/common/api/compose-multiplatform-html-unified-common.klib.api b/common/api/compose-multiplatform-html-unified-common.klib.api
new file mode 100644
index 00000000..aed6de2c
--- /dev/null
+++ b/common/api/compose-multiplatform-html-unified-common.klib.api
@@ -0,0 +1,1132 @@
+// Klib ABI Dump
+// Targets: [iosArm64, iosSimulatorArm64, iosX64, js, wasmJs]
+// Alias: ios => [iosArm64, iosSimulatorArm64, iosX64]
+// Rendering settings:
+// - Signature version: 2
+// - Show manifest properties: true
+// - Show declarations: true
+
+// Library unique name:
+open annotation class com.huanshankeji.compose.foundation/ExperimentalFoundationApi : kotlin/Annotation { // com.huanshankeji.compose.foundation/ExperimentalFoundationApi|null[0]
+ constructor () // com.huanshankeji.compose.foundation/ExperimentalFoundationApi.|(){}[0]
+}
+
+open annotation class com.huanshankeji.compose/ExtRecommendedApi : kotlin/Annotation { // com.huanshankeji.compose/ExtRecommendedApi|null[0]
+ constructor () // com.huanshankeji.compose/ExtRecommendedApi.|(){}[0]
+}
+
+final enum class com.huanshankeji.compose.foundation.layout/IntrinsicSize : kotlin/Enum { // com.huanshankeji.compose.foundation.layout/IntrinsicSize|null[0]
+ enum entry Max // com.huanshankeji.compose.foundation.layout/IntrinsicSize.Max|null[0]
+ enum entry Min // com.huanshankeji.compose.foundation.layout/IntrinsicSize.Min|null[0]
+
+ final val entries // com.huanshankeji.compose.foundation.layout/IntrinsicSize.entries|#static{}entries[0]
+ final fun (): kotlin.enums/EnumEntries // com.huanshankeji.compose.foundation.layout/IntrinsicSize.entries.|#static(){}[0]
+
+ final fun valueOf(kotlin/String): com.huanshankeji.compose.foundation.layout/IntrinsicSize // com.huanshankeji.compose.foundation.layout/IntrinsicSize.valueOf|valueOf#static(kotlin.String){}[0]
+ final fun values(): kotlin/Array // com.huanshankeji.compose.foundation.layout/IntrinsicSize.values|values#static(){}[0]
+}
+
+abstract fun interface com.huanshankeji.compose.ui.graphics/ColorProducer { // com.huanshankeji.compose.ui.graphics/ColorProducer|null[0]
+ abstract fun invoke(): com.huanshankeji.compose.ui.graphics/Color // com.huanshankeji.compose.ui.graphics/ColorProducer.invoke|invoke(){}[0]
+}
+
+abstract interface com.huanshankeji.compose.foundation.layout.ext/BoxWithConstraintsScope : com.huanshankeji.compose.foundation.layout/BoxScope { // com.huanshankeji.compose.foundation.layout.ext/BoxWithConstraintsScope|null[0]
+ abstract val maxHeight // com.huanshankeji.compose.foundation.layout.ext/BoxWithConstraintsScope.maxHeight|{}maxHeight[0]
+ abstract fun (): androidx.compose.ui.unit/Dp // com.huanshankeji.compose.foundation.layout.ext/BoxWithConstraintsScope.maxHeight.|(){}[0]
+ abstract val maxWidth // com.huanshankeji.compose.foundation.layout.ext/BoxWithConstraintsScope.maxWidth|{}maxWidth[0]
+ abstract fun (): androidx.compose.ui.unit/Dp // com.huanshankeji.compose.foundation.layout.ext/BoxWithConstraintsScope.maxWidth.|(){}[0]
+}
+
+abstract interface com.huanshankeji.compose.foundation.layout/BoxScope { // com.huanshankeji.compose.foundation.layout/BoxScope|null[0]
+ abstract val platformBoxScope // com.huanshankeji.compose.foundation.layout/BoxScope.platformBoxScope|{}platformBoxScope[0]
+ // Targets: [ios, wasmJs]
+ abstract fun (): androidx.compose.foundation.layout/BoxScope // com.huanshankeji.compose.foundation.layout/BoxScope.platformBoxScope.|(){}[0]
+
+ // Targets: [js]
+ abstract fun (): com.varabyte.kobweb.compose.foundation.layout/BoxScope // com.huanshankeji.compose.foundation.layout/BoxScope.platformBoxScope.|(){}[0]
+
+ open fun (com.huanshankeji.compose.ui/Modifier).align(com.huanshankeji.compose.ui/Alignment): com.huanshankeji.compose.ui/Modifier // com.huanshankeji.compose.foundation.layout/BoxScope.align|align@com.huanshankeji.compose.ui.Modifier(com.huanshankeji.compose.ui.Alignment){}[0]
+
+ final value class Impl : com.huanshankeji.compose.foundation.layout/BoxScope { // com.huanshankeji.compose.foundation.layout/BoxScope.Impl|null[0]
+ final val platformBoxScope // com.huanshankeji.compose.foundation.layout/BoxScope.Impl.platformBoxScope|{}platformBoxScope[0]
+ // Targets: [ios, wasmJs]
+ final fun (): androidx.compose.foundation.layout/BoxScope // com.huanshankeji.compose.foundation.layout/BoxScope.Impl.platformBoxScope.|(){}[0]
+
+ // Targets: [js]
+ final fun (): com.varabyte.kobweb.compose.foundation.layout/BoxScope // com.huanshankeji.compose.foundation.layout/BoxScope.Impl.platformBoxScope.|(){}[0]
+
+ final fun equals(kotlin/Any?): kotlin/Boolean // com.huanshankeji.compose.foundation.layout/BoxScope.Impl.equals|equals(kotlin.Any?){}[0]
+ final fun hashCode(): kotlin/Int // com.huanshankeji.compose.foundation.layout/BoxScope.Impl.hashCode|hashCode(){}[0]
+ final fun toString(): kotlin/String // com.huanshankeji.compose.foundation.layout/BoxScope.Impl.toString|toString(){}[0]
+
+ // Targets: [ios, wasmJs]
+ constructor (androidx.compose.foundation.layout/BoxScope) // com.huanshankeji.compose.foundation.layout/BoxScope.Impl.|(androidx.compose.foundation.layout.BoxScope){}[0]
+
+ // Targets: [js]
+ constructor (com.varabyte.kobweb.compose.foundation.layout/BoxScope) // com.huanshankeji.compose.foundation.layout/BoxScope.Impl.|(com.varabyte.kobweb.compose.foundation.layout.BoxScope){}[0]
+ }
+}
+
+abstract interface com.huanshankeji.compose.foundation.layout/ColumnScope { // com.huanshankeji.compose.foundation.layout/ColumnScope|null[0]
+ abstract val platformValue // com.huanshankeji.compose.foundation.layout/ColumnScope.platformValue|{}platformValue[0]
+ // Targets: [ios, wasmJs]
+ abstract fun (): androidx.compose.foundation.layout/ColumnScope // com.huanshankeji.compose.foundation.layout/ColumnScope.platformValue.|(){}[0]
+
+ // Targets: [js]
+ abstract fun (): com.varabyte.kobweb.compose.foundation.layout/ColumnScope // com.huanshankeji.compose.foundation.layout/ColumnScope.platformValue.|(){}[0]
+
+ open fun (com.huanshankeji.compose.ui/Modifier).align(com.huanshankeji.compose.ui/Alignment.Horizontal): com.huanshankeji.compose.ui/Modifier // com.huanshankeji.compose.foundation.layout/ColumnScope.align|align@com.huanshankeji.compose.ui.Modifier(com.huanshankeji.compose.ui.Alignment.Horizontal){}[0]
+ open fun (com.huanshankeji.compose.ui/Modifier).weight(kotlin/Float): com.huanshankeji.compose.ui/Modifier // com.huanshankeji.compose.foundation.layout/ColumnScope.weight|weight@com.huanshankeji.compose.ui.Modifier(kotlin.Float){}[0]
+
+ final value class Impl : com.huanshankeji.compose.foundation.layout/ColumnScope { // com.huanshankeji.compose.foundation.layout/ColumnScope.Impl|null[0]
+ final val platformValue // com.huanshankeji.compose.foundation.layout/ColumnScope.Impl.platformValue|{}platformValue[0]
+ // Targets: [ios, wasmJs]
+ final fun (): androidx.compose.foundation.layout/ColumnScope // com.huanshankeji.compose.foundation.layout/ColumnScope.Impl.platformValue.|(){}[0]
+
+ // Targets: [js]
+ final fun (): com.varabyte.kobweb.compose.foundation.layout/ColumnScope // com.huanshankeji.compose.foundation.layout/ColumnScope.Impl.platformValue.|(){}[0]
+
+ final fun equals(kotlin/Any?): kotlin/Boolean // com.huanshankeji.compose.foundation.layout/ColumnScope.Impl.equals|equals(kotlin.Any?){}[0]
+ final fun hashCode(): kotlin/Int // com.huanshankeji.compose.foundation.layout/ColumnScope.Impl.hashCode|hashCode(){}[0]
+ final fun toString(): kotlin/String // com.huanshankeji.compose.foundation.layout/ColumnScope.Impl.toString|toString(){}[0]
+
+ // Targets: [ios, wasmJs]
+ constructor (androidx.compose.foundation.layout/ColumnScope) // com.huanshankeji.compose.foundation.layout/ColumnScope.Impl.|(androidx.compose.foundation.layout.ColumnScope){}[0]
+
+ // Targets: [js]
+ constructor (com.varabyte.kobweb.compose.foundation.layout/ColumnScope) // com.huanshankeji.compose.foundation.layout/ColumnScope.Impl.|(com.varabyte.kobweb.compose.foundation.layout.ColumnScope){}[0]
+ }
+}
+
+abstract interface com.huanshankeji.compose.foundation.layout/RowScope { // com.huanshankeji.compose.foundation.layout/RowScope|null[0]
+ abstract val platformValue // com.huanshankeji.compose.foundation.layout/RowScope.platformValue|{}platformValue[0]
+ // Targets: [ios, wasmJs]
+ abstract fun (): androidx.compose.foundation.layout/RowScope // com.huanshankeji.compose.foundation.layout/RowScope.platformValue.|(){}[0]
+
+ // Targets: [js]
+ abstract fun (): com.varabyte.kobweb.compose.foundation.layout/RowScope // com.huanshankeji.compose.foundation.layout/RowScope.platformValue.|(){}[0]
+
+ open fun (com.huanshankeji.compose.ui/Modifier).align(com.huanshankeji.compose.ui/Alignment.Vertical): com.huanshankeji.compose.ui/Modifier // com.huanshankeji.compose.foundation.layout/RowScope.align|align@com.huanshankeji.compose.ui.Modifier(com.huanshankeji.compose.ui.Alignment.Vertical){}[0]
+ open fun (com.huanshankeji.compose.ui/Modifier).weight(kotlin/Float): com.huanshankeji.compose.ui/Modifier // com.huanshankeji.compose.foundation.layout/RowScope.weight|weight@com.huanshankeji.compose.ui.Modifier(kotlin.Float){}[0]
+
+ final value class Impl : com.huanshankeji.compose.foundation.layout/RowScope { // com.huanshankeji.compose.foundation.layout/RowScope.Impl|null[0]
+ final val platformValue // com.huanshankeji.compose.foundation.layout/RowScope.Impl.platformValue|{}platformValue[0]
+ // Targets: [ios, wasmJs]
+ final fun (): androidx.compose.foundation.layout/RowScope // com.huanshankeji.compose.foundation.layout/RowScope.Impl.platformValue.|(){}[0]
+
+ // Targets: [js]
+ final fun (): com.varabyte.kobweb.compose.foundation.layout/RowScope // com.huanshankeji.compose.foundation.layout/RowScope.Impl.platformValue.|(){}[0]
+
+ final fun equals(kotlin/Any?): kotlin/Boolean // com.huanshankeji.compose.foundation.layout/RowScope.Impl.equals|equals(kotlin.Any?){}[0]
+ final fun hashCode(): kotlin/Int // com.huanshankeji.compose.foundation.layout/RowScope.Impl.hashCode|hashCode(){}[0]
+ final fun toString(): kotlin/String // com.huanshankeji.compose.foundation.layout/RowScope.Impl.toString|toString(){}[0]
+
+ // Targets: [ios, wasmJs]
+ constructor (androidx.compose.foundation.layout/RowScope) // com.huanshankeji.compose.foundation.layout/RowScope.Impl.|(androidx.compose.foundation.layout.RowScope){}[0]
+
+ // Targets: [js]
+ constructor (com.varabyte.kobweb.compose.foundation.layout/RowScope) // com.huanshankeji.compose.foundation.layout/RowScope.Impl.|(com.varabyte.kobweb.compose.foundation.layout.RowScope){}[0]
+ }
+}
+
+abstract interface com.huanshankeji.compose.foundation.text/KeyboardActionScope { // com.huanshankeji.compose.foundation.text/KeyboardActionScope|null[0]
+ abstract fun defaultKeyboardAction(com.huanshankeji.compose.foundation.text.input/ImeAction) // com.huanshankeji.compose.foundation.text/KeyboardActionScope.defaultKeyboardAction|defaultKeyboardAction(com.huanshankeji.compose.foundation.text.input.ImeAction){}[0]
+
+ final object DoNothingInstance : com.huanshankeji.compose.foundation.text/KeyboardActionScope { // com.huanshankeji.compose.foundation.text/KeyboardActionScope.DoNothingInstance|null[0]
+ final fun defaultKeyboardAction(com.huanshankeji.compose.foundation.text.input/ImeAction) // com.huanshankeji.compose.foundation.text/KeyboardActionScope.DoNothingInstance.defaultKeyboardAction|defaultKeyboardAction(com.huanshankeji.compose.foundation.text.input.ImeAction){}[0]
+ }
+}
+
+abstract interface com.huanshankeji.compose.ui/Alignment { // com.huanshankeji.compose.ui/Alignment|null[0]
+ abstract interface Horizontal { // com.huanshankeji.compose.ui/Alignment.Horizontal|null[0]
+ final value class Impl : com.huanshankeji.compose.ui/Alignment.Horizontal { // com.huanshankeji.compose.ui/Alignment.Horizontal.Impl|null[0]
+ final fun equals(kotlin/Any?): kotlin/Boolean // com.huanshankeji.compose.ui/Alignment.Horizontal.Impl.equals|equals(kotlin.Any?){}[0]
+ final fun hashCode(): kotlin/Int // com.huanshankeji.compose.ui/Alignment.Horizontal.Impl.hashCode|hashCode(){}[0]
+ final fun toString(): kotlin/String // com.huanshankeji.compose.ui/Alignment.Horizontal.Impl.toString|toString(){}[0]
+
+ // Targets: [ios, wasmJs]
+ constructor (androidx.compose.ui/Alignment.Horizontal) // com.huanshankeji.compose.ui/Alignment.Horizontal.Impl.|(androidx.compose.ui.Alignment.Horizontal){}[0]
+
+ // Targets: [ios, wasmJs]
+ final val platformHorizontal // com.huanshankeji.compose.ui/Alignment.Horizontal.Impl.platformHorizontal|{}platformHorizontal[0]
+ final fun (): androidx.compose.ui/Alignment.Horizontal // com.huanshankeji.compose.ui/Alignment.Horizontal.Impl.platformHorizontal.|(){}[0]
+
+ // Targets: [js]
+ constructor (com.varabyte.kobweb.compose.ui/Alignment.Horizontal) // com.huanshankeji.compose.ui/Alignment.Horizontal.Impl.|(com.varabyte.kobweb.compose.ui.Alignment.Horizontal){}[0]
+
+ // Targets: [js]
+ final val platformValue // com.huanshankeji.compose.ui/Alignment.Horizontal.Impl.platformValue|{}platformValue[0]
+ final fun (): com.varabyte.kobweb.compose.ui/Alignment.Horizontal // com.huanshankeji.compose.ui/Alignment.Horizontal.Impl.platformValue.|(){}[0]
+ }
+
+ // Targets: [ios, wasmJs]
+ abstract val platformHorizontal // com.huanshankeji.compose.ui/Alignment.Horizontal.platformHorizontal|{}platformHorizontal[0]
+ abstract fun (): androidx.compose.ui/Alignment.Horizontal // com.huanshankeji.compose.ui/Alignment.Horizontal.platformHorizontal.|(){}[0]
+
+ // Targets: [js]
+ abstract val platformValue // com.huanshankeji.compose.ui/Alignment.Horizontal.platformValue|{}platformValue[0]
+ abstract fun (): com.varabyte.kobweb.compose.ui/Alignment.Horizontal // com.huanshankeji.compose.ui/Alignment.Horizontal.platformValue.|(){}[0]
+ }
+
+ abstract interface Vertical { // com.huanshankeji.compose.ui/Alignment.Vertical|null[0]
+ final value class Impl : com.huanshankeji.compose.ui/Alignment.Vertical { // com.huanshankeji.compose.ui/Alignment.Vertical.Impl|null[0]
+ final fun equals(kotlin/Any?): kotlin/Boolean // com.huanshankeji.compose.ui/Alignment.Vertical.Impl.equals|equals(kotlin.Any?){}[0]
+ final fun hashCode(): kotlin/Int // com.huanshankeji.compose.ui/Alignment.Vertical.Impl.hashCode|hashCode(){}[0]
+ final fun toString(): kotlin/String // com.huanshankeji.compose.ui/Alignment.Vertical.Impl.toString|toString(){}[0]
+
+ // Targets: [ios, wasmJs]
+ constructor (androidx.compose.ui/Alignment.Vertical) // com.huanshankeji.compose.ui/Alignment.Vertical.Impl.|(androidx.compose.ui.Alignment.Vertical){}[0]
+
+ // Targets: [ios, wasmJs]
+ final val platformHorizontal // com.huanshankeji.compose.ui/Alignment.Vertical.Impl.platformHorizontal|{}platformHorizontal[0]
+ final fun (): androidx.compose.ui/Alignment.Vertical // com.huanshankeji.compose.ui/Alignment.Vertical.Impl.platformHorizontal.|(){}[0]
+
+ // Targets: [js]
+ constructor (com.varabyte.kobweb.compose.ui/Alignment.Vertical) // com.huanshankeji.compose.ui/Alignment.Vertical.Impl.|(com.varabyte.kobweb.compose.ui.Alignment.Vertical){}[0]
+
+ // Targets: [js]
+ final val platformValue // com.huanshankeji.compose.ui/Alignment.Vertical.Impl.platformValue|{}platformValue[0]
+ final fun (): com.varabyte.kobweb.compose.ui/Alignment.Vertical // com.huanshankeji.compose.ui/Alignment.Vertical.Impl.platformValue.|(){}[0]
+ }
+
+ // Targets: [ios, wasmJs]
+ abstract val platformHorizontal // com.huanshankeji.compose.ui/Alignment.Vertical.platformHorizontal|{}platformHorizontal[0]
+ abstract fun (): androidx.compose.ui/Alignment.Vertical // com.huanshankeji.compose.ui/Alignment.Vertical.platformHorizontal.|(){}[0]
+
+ // Targets: [js]
+ abstract val platformValue // com.huanshankeji.compose.ui/Alignment.Vertical.platformValue|{}platformValue[0]
+ abstract fun (): com.varabyte.kobweb.compose.ui/Alignment.Vertical // com.huanshankeji.compose.ui/Alignment.Vertical.platformValue.|(){}[0]
+ }
+
+ final value class Impl : com.huanshankeji.compose.ui/Alignment { // com.huanshankeji.compose.ui/Alignment.Impl|null[0]
+ final fun equals(kotlin/Any?): kotlin/Boolean // com.huanshankeji.compose.ui/Alignment.Impl.equals|equals(kotlin.Any?){}[0]
+ final fun hashCode(): kotlin/Int // com.huanshankeji.compose.ui/Alignment.Impl.hashCode|hashCode(){}[0]
+ final fun toString(): kotlin/String // com.huanshankeji.compose.ui/Alignment.Impl.toString|toString(){}[0]
+
+ // Targets: [ios, wasmJs]
+ constructor (androidx.compose.ui/Alignment) // com.huanshankeji.compose.ui/Alignment.Impl.|(androidx.compose.ui.Alignment){}[0]
+
+ // Targets: [ios, wasmJs]
+ final val platformAlignment // com.huanshankeji.compose.ui/Alignment.Impl.platformAlignment|{}platformAlignment[0]
+ final fun (): androidx.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.Impl.platformAlignment.|(){}[0]
+
+ // Targets: [js]
+ constructor (com.varabyte.kobweb.compose.ui/Alignment) // com.huanshankeji.compose.ui/Alignment.Impl.|(com.varabyte.kobweb.compose.ui.Alignment){}[0]
+
+ // Targets: [js]
+ final val platformValue // com.huanshankeji.compose.ui/Alignment.Impl.platformValue|{}platformValue[0]
+ final fun (): com.varabyte.kobweb.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.Impl.platformValue.|(){}[0]
+ }
+
+ final object Companion { // com.huanshankeji.compose.ui/Alignment.Companion|null[0]
+ final val Bottom // com.huanshankeji.compose.ui/Alignment.Companion.Bottom|{}Bottom[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment.Vertical // com.huanshankeji.compose.ui/Alignment.Companion.Bottom.|(){}[0]
+ final val BottomCenter // com.huanshankeji.compose.ui/Alignment.Companion.BottomCenter|{}BottomCenter[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.Companion.BottomCenter.|(){}[0]
+ final val BottomEnd // com.huanshankeji.compose.ui/Alignment.Companion.BottomEnd|{}BottomEnd[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.Companion.BottomEnd.|(){}[0]
+ final val BottomStart // com.huanshankeji.compose.ui/Alignment.Companion.BottomStart|{}BottomStart[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.Companion.BottomStart.|(){}[0]
+ final val Center // com.huanshankeji.compose.ui/Alignment.Companion.Center|{}Center[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.Companion.Center.|(){}[0]
+ final val CenterEnd // com.huanshankeji.compose.ui/Alignment.Companion.CenterEnd|{}CenterEnd[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.Companion.CenterEnd.|(){}[0]
+ final val CenterHorizontally // com.huanshankeji.compose.ui/Alignment.Companion.CenterHorizontally|{}CenterHorizontally[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment.Horizontal // com.huanshankeji.compose.ui/Alignment.Companion.CenterHorizontally.|(){}[0]
+ final val CenterStart // com.huanshankeji.compose.ui/Alignment.Companion.CenterStart|{}CenterStart[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.Companion.CenterStart.|(){}[0]
+ final val CenterVertically // com.huanshankeji.compose.ui/Alignment.Companion.CenterVertically|{}CenterVertically[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment.Vertical // com.huanshankeji.compose.ui/Alignment.Companion.CenterVertically.|(){}[0]
+ final val End // com.huanshankeji.compose.ui/Alignment.Companion.End|{}End[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment.Horizontal // com.huanshankeji.compose.ui/Alignment.Companion.End.|(){}[0]
+ final val Start // com.huanshankeji.compose.ui/Alignment.Companion.Start|{}Start[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment.Horizontal // com.huanshankeji.compose.ui/Alignment.Companion.Start.|(){}[0]
+ final val Top // com.huanshankeji.compose.ui/Alignment.Companion.Top|{}Top[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment.Vertical // com.huanshankeji.compose.ui/Alignment.Companion.Top.|(){}[0]
+ final val TopCenter // com.huanshankeji.compose.ui/Alignment.Companion.TopCenter|{}TopCenter[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.Companion.TopCenter.|(){}[0]
+ final val TopEnd // com.huanshankeji.compose.ui/Alignment.Companion.TopEnd|{}TopEnd[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.Companion.TopEnd.|(){}[0]
+ final val TopStart // com.huanshankeji.compose.ui/Alignment.Companion.TopStart|{}TopStart[0]
+ final fun (): com.huanshankeji.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.Companion.TopStart.|(){}[0]
+ }
+
+ // Targets: [ios, wasmJs]
+ abstract val platformAlignment // com.huanshankeji.compose.ui/Alignment.platformAlignment|{}platformAlignment[0]
+ abstract fun (): androidx.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.platformAlignment.|(){}[0]
+
+ // Targets: [js]
+ abstract val platformValue // com.huanshankeji.compose.ui/Alignment.platformValue|{}platformValue[0]
+ abstract fun (): com.varabyte.kobweb.compose.ui/Alignment // com.huanshankeji.compose.ui/Alignment.platformValue.|(){}[0]
+}
+
+abstract interface com.huanshankeji.compose.ui/Modifier { // com.huanshankeji.compose.ui/Modifier|null[0]
+ abstract val platformModifier // com.huanshankeji.compose.ui/Modifier.platformModifier|{}platformModifier[0]
+ // Targets: [ios, wasmJs]
+ abstract fun (): androidx.compose.ui/Modifier // com.huanshankeji.compose.ui/Modifier.platformModifier.|(){}[0]
+
+ // Targets: [js]
+ abstract fun (): com.varabyte.kobweb.compose.ui/Modifier // com.huanshankeji.compose.ui/Modifier.platformModifier.|(){}[0]
+
+ open fun <#A1: kotlin/Any?> foldIn(#A1, kotlin/Function2<#A1, com.huanshankeji.compose.ui/Modifier.Element, #A1>): #A1 // com.huanshankeji.compose.ui/Modifier.foldIn|foldIn(0:0;kotlin.Function2<0:0,com.huanshankeji.compose.ui.Modifier.Element,0:0>){0§}[0]
+ open fun then(com.huanshankeji.compose.ui/Modifier): com.huanshankeji.compose.ui/Modifier // com.huanshankeji.compose.ui/Modifier.then|then(com.huanshankeji.compose.ui.Modifier){}[0]
+
+ abstract interface Element : com.huanshankeji.compose.ui/Modifier { // com.huanshankeji.compose.ui/Modifier.Element|null[0]
+ abstract val platformElement // com.huanshankeji.compose.ui/Modifier.Element.platformElement|{}platformElement[0]
+ // Targets: [ios, wasmJs]
+ abstract fun (): androidx.compose.ui/Modifier.Element // com.huanshankeji.compose.ui/Modifier.Element.platformElement.|(){}[0]
+
+ // Targets: [js]
+ abstract fun (): com.varabyte.kobweb.compose.ui/Modifier.Element // com.huanshankeji.compose.ui/Modifier.Element.platformElement.|(){}[0]
+
+ final value class Impl : com.huanshankeji.compose.ui/Modifier.Element { // com.huanshankeji.compose.ui/Modifier.Element.Impl|null[0]
+ final val platformElement // com.huanshankeji.compose.ui/Modifier.Element.Impl.platformElement|{}platformElement[0]
+ // Targets: [ios, wasmJs]
+ final fun (): androidx.compose.ui/Modifier.Element // com.huanshankeji.compose.ui/Modifier.Element.Impl.platformElement.|(){}[0]
+
+ // Targets: [js]
+ final fun (): com.varabyte.kobweb.compose.ui/Modifier.Element // com.huanshankeji.compose.ui/Modifier.Element.Impl.platformElement.|(){}[0]
+ final val platformModifier // com.huanshankeji.compose.ui/Modifier.Element.Impl.platformModifier|{}platformModifier[0]
+ // Targets: [ios, wasmJs]
+ final fun (): androidx.compose.ui/Modifier.Element // com.huanshankeji.compose.ui/Modifier.Element.Impl.platformModifier.|(){}[0]
+
+ // Targets: [js]
+ final fun (): com.varabyte.kobweb.compose.ui/Modifier.Element // com.huanshankeji.compose.ui/Modifier.Element.Impl.platformModifier.|(){}[0]
+
+ final fun equals(kotlin/Any?): kotlin/Boolean // com.huanshankeji.compose.ui/Modifier.Element.Impl.equals|equals(kotlin.Any?){}[0]
+ final fun hashCode(): kotlin/Int // com.huanshankeji.compose.ui/Modifier.Element.Impl.hashCode|hashCode(){}[0]
+ final fun toString(): kotlin/String // com.huanshankeji.compose.ui/Modifier.Element.Impl.toString|toString(){}[0]
+
+ // Targets: [ios, wasmJs]
+ constructor (androidx.compose.ui/Modifier.Element) // com.huanshankeji.compose.ui/Modifier.Element.Impl.|(androidx.compose.ui.Modifier.Element){}[0]
+
+ // Targets: [js]
+ constructor (com.varabyte.kobweb.compose.ui/Modifier.Element) // com.huanshankeji.compose.ui/Modifier.Element.Impl.|(com.varabyte.kobweb.compose.ui.Modifier.Element){}[0]
+ }
+ }
+
+ final value class Impl : com.huanshankeji.compose.ui/Modifier { // com.huanshankeji.compose.ui/Modifier.Impl|null[0]
+ final val platformModifier // com.huanshankeji.compose.ui/Modifier.Impl.platformModifier|{}platformModifier[0]
+ // Targets: [ios, wasmJs]
+ final fun (): androidx.compose.ui/Modifier // com.huanshankeji.compose.ui/Modifier.Impl.platformModifier.|(){}[0]
+
+ // Targets: [js]
+ final fun (): com.varabyte.kobweb.compose.ui/Modifier // com.huanshankeji.compose.ui/Modifier.Impl.platformModifier.|(){}[0]
+
+ final fun equals(kotlin/Any?): kotlin/Boolean // com.huanshankeji.compose.ui/Modifier.Impl.equals|equals(kotlin.Any?){}[0]
+ final fun hashCode(): kotlin/Int // com.huanshankeji.compose.ui/Modifier.Impl.hashCode|hashCode(){}[0]
+ final fun toString(): kotlin/String // com.huanshankeji.compose.ui/Modifier.Impl.toString|toString(){}[0]
+
+ // Targets: [ios, wasmJs]
+ constructor (androidx.compose.ui/Modifier) // com.huanshankeji.compose.ui/Modifier.Impl.|(androidx.compose.ui.Modifier){}[0]
+
+ // Targets: [js]
+ constructor (com.varabyte.kobweb.compose.ui/Modifier) // com.huanshankeji.compose.ui/Modifier.Impl.|(com.varabyte.kobweb.compose.ui.Modifier){}[0]
+ }
+
+ final object Companion : com.huanshankeji.compose.ui/Modifier { // com.huanshankeji.compose.ui/Modifier.Companion|null[0]
+ final val platformModifier // com.huanshankeji.compose.ui/Modifier.Companion.platformModifier|{}platformModifier[0]
+ // Targets: [ios, wasmJs]
+ final fun (): androidx.compose.ui/Modifier.Companion // com.huanshankeji.compose.ui/Modifier.Companion.platformModifier.|(){}[0]
+
+ // Targets: [js]
+ final fun (): com.varabyte.kobweb.compose.ui/Modifier.Companion // com.huanshankeji.compose.ui/Modifier.Companion.platformModifier.|(){}[0]
+ }
+
+ // Targets: [ios, wasmJs]
+ open fun platformModify(kotlin/Function1): com.huanshankeji.compose.ui/Modifier // com.huanshankeji.compose.ui/Modifier.platformModify|platformModify(kotlin.Function1){}[0]
+
+ // Targets: [js]
+ open fun platformModify(kotlin/Function1): com.huanshankeji.compose.ui/Modifier // com.huanshankeji.compose.ui/Modifier.platformModify|platformModify(kotlin.Function1){}[0]
+}
+
+abstract class com.huanshankeji.compose.foundation.layout/PaddingValues { // com.huanshankeji.compose.foundation.layout/PaddingValues|null[0]
+ final class Absolute : com.huanshankeji.compose.foundation.layout/PaddingValues { // com.huanshankeji.compose.foundation.layout/PaddingValues.Absolute|null[0]
+ constructor (androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ..., androidx.compose.ui.unit/Dp = ...) // com.huanshankeji.compose.foundation.layout/PaddingValues.Absolute.|(androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp;androidx.compose.ui.unit.Dp){}[0]
+
+ // Targets: [ios, wasmJs]
+ constructor (androidx.compose.foundation.layout/PaddingValues.Absolute) // com.huanshankeji.compose.foundation.layout/PaddingValues.Absolute.|(androidx.compose.foundation.layout.PaddingValues.Absolute){}[0]
+
+ // Targets: [js]
+ final val bottom // com.huanshankeji.compose.foundation.layout/PaddingValues.Absolute.bottom|{}bottom[0]
+ final fun (): androidx.compose.ui.unit/Dp // com.huanshankeji.compose.foundation.layout/PaddingValues.Absolute.bottom.|