You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* fix a bug that a dependent project might crash on Android and add the Android target explicitly for all modules
6
+
* no longer publish the legacy module
7
+
* 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
8
+
9
+
### Common
10
+
11
+
* add `Arrangement.spacedBy`
12
+
* Move `LoadingState` here from [Compose HTML Material](https://github.com/huanshankeji/compose-html-material)
13
+
* add color parameters to the text composables
14
+
* rename `InlineText` to `TaglessText`
15
+
* add the `alpha` modifiers
16
+
* add a `hidden` modifier
17
+
* add the `clickable` modifier and replace `onClick` with it
18
+
* add the `PaddingValues` type
19
+
* add a `BoxWithConstraints` layout composable that's still buggy on JS DOM
20
+
* add `flex-basis: 0` to the weight modifiers on JS DOM to make them consistent with the `androidx.compose` behavior
21
+
* split the `padding` modifiers into `outerPadding` and `innerPadding`
22
+
* add the `VerticalScrollBox` and `HorizontalScrollBox` composables as (better) alternatives to the `*Scroll` modifiers
23
+
24
+
### Material 2
25
+
26
+
* 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
27
+
* fix bugs that the action buttons don't show and their `onClick` callbacks are not passed on JS DOM
28
+
* add the `SnackbarHost` (the Material 3 snackbar is not available in Material Web yet)
29
+
* add `RadioGroupColumn` and improve `RadioRow` on JS DOM
30
+
* 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"
31
+
32
+
### Material 3
33
+
34
+
* add the menu composables `DropdownMenu`, `DropdownMenuItem`, `ExposedDropdownMenuBox`, and `ExposedDropdownMenuWithTextField`
35
+
* add the progress indicator composables `LinearProgressIndicator` and `CircularProgressIndicator`
36
+
* 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
37
+
* make multiline text fields work on JS DOM
38
+
* add an `isInteractiveJsDom` parameter to ListItemComponents
39
+
40
+
### Navigation
41
+
42
+
* initially support navigation
43
+
44
+
### ViewModel
45
+
46
+
* initially support ViewModel which delegates to raw UI state on Compose HTML / JS DOM
47
+
48
+
### Demo
49
+
50
+
* make the demo UI friendly on mobile
51
+
52
+
## v0.3.0 / 2024-5-10
53
+
54
+
Support Material 3. See the Updated README.md for more details.
55
+
56
+
## v0.2.0 / 2024-4-17
57
+
58
+
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.
Copy file name to clipboardExpand all lines: README.md
+55-9Lines changed: 55 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Compose Multiplatform Material: unified Compose Multiplatform common extensions and Material wrappers for `androidx.compose` and Compose HTML
1
+
# Compose Multiplatform Material (better name pending): unified Compose Multiplatform common extensions and Material wrappers for `androidx.compose` and Compose HTML
@@ -89,8 +97,18 @@ This project is still in development and has not reached the stable state yet. S
89
97
90
98
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.
91
99
100
+
#### About parameter names
101
+
102
+
The parameter names with suffixes such as "JsDom" or "AndroidxCommon" are platform-specific, and only apply on their respective platform(s), Compose HTML / JS DOM or
103
+
`androidx.compose` platforms.
104
+
105
+
#### Material Icons
106
+
107
+
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).
108
+
92
109
### Modifiers
93
110
111
+
-`alpha`
94
112
- size modifiers
95
113
-`size`, `sizeIn`, `fillMaxSize`
96
114
-`width`, `widthIn`, `fillMaxWidth`
@@ -106,6 +124,26 @@ The components in the `ext` packages don't follow the `androidx.compose` APIs ex
106
124
-`outerBorder`
107
125
-`roundedCornerBackgroundAndOuterBorder`
108
126
127
+
### Other APIs
128
+
129
+
-`Alignment`
130
+
-`Arrangement`
131
+
-`KeyboardOptions`
132
+
-`KeyboardActions`
133
+
-`PaddingValues`
134
+
135
+
### ViewModel
136
+
137
+
The ViewModel module currently supports a small subset of the Compose ViewModel APIs, and delegates to raw UI state on
138
+
Compose HTML / JS DOM. These APIs are highly experimental now.
139
+
140
+
### Navigation
141
+
142
+
The navigation module currently supports a small subset of the Compose Navigation APIs, which does not support
143
+
transition or animation on Compose HTML / JS DOM. These APIs are also highly experimental now.
144
+
See [CMP-4966](https://youtrack.jetbrains.com/issue/CMP-4966) for a bug to avoid. Also, ViewModel-related functions
0 commit comments