Skip to content

Commit 6b004ab

Browse files
committed
library: Organize MiuixIcons
1 parent 59561a1 commit 6b004ab

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

60 files changed

+3602
-566
lines changed

composeApp/src/commonMain/kotlin/MainPage.kt

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,13 +13,15 @@ import androidx.compose.foundation.layout.height
1313
import androidx.compose.foundation.layout.navigationBars
1414
import androidx.compose.foundation.layout.only
1515
import androidx.compose.foundation.layout.padding
16+
import androidx.compose.foundation.layout.size
1617
import androidx.compose.foundation.layout.windowInsetsPadding
1718
import androidx.compose.runtime.Composable
1819
import androidx.compose.runtime.getValue
1920
import androidx.compose.runtime.mutableStateOf
2021
import androidx.compose.runtime.remember
2122
import androidx.compose.runtime.setValue
2223
import androidx.compose.ui.Modifier
24+
import androidx.compose.ui.draw.alpha
2325
import androidx.compose.ui.unit.dp
2426
import component.OtherComponent
2527
import component.TextComponent
@@ -31,7 +33,7 @@ import top.yukonga.miuix.kmp.basic.ScrollBehavior
3133
import top.yukonga.miuix.kmp.basic.SearchBar
3234
import top.yukonga.miuix.kmp.basic.Text
3335
import top.yukonga.miuix.kmp.icon.MiuixIcons
34-
import top.yukonga.miuix.kmp.icon.icons.Search
36+
import top.yukonga.miuix.kmp.icon.icons.useful.Search
3537
import top.yukonga.miuix.kmp.theme.MiuixTheme
3638

3739
@Composable
@@ -96,8 +98,11 @@ fun MainPage(
9698
label = "Search",
9799
leadingIcon = {
98100
Icon(
99-
modifier = Modifier.padding(start = 12.dp, end = 8.dp),
100-
imageVector = MiuixIcons.Search,
101+
modifier = Modifier
102+
.padding(start = 12.dp, end = 8.dp)
103+
.size(20.dp)
104+
.alpha(0.4f),
105+
imageVector = MiuixIcons.Useful.Search,
101106
tint = MiuixTheme.colorScheme.onSurfaceContainer,
102107
contentDescription = "Search"
103108
)
@@ -181,7 +186,7 @@ fun MainPage(
181186
leadingIcon = {
182187
Icon(
183188
modifier = Modifier.padding(horizontal = 16.dp),
184-
imageVector = MiuixIcons.Search,
189+
imageVector = MiuixIcons.Useful.Search,
185190
tint = MiuixTheme.colorScheme.onSurfaceContainer,
186191
contentDescription = "Search"
187192
)

composeApp/src/commonMain/kotlin/UITest.kt

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -52,12 +52,12 @@ import top.yukonga.miuix.kmp.basic.TopAppBar
5252
import top.yukonga.miuix.kmp.basic.rememberTopAppBarState
5353
import top.yukonga.miuix.kmp.extra.DropdownImpl
5454
import top.yukonga.miuix.kmp.icon.MiuixIcons
55-
import top.yukonga.miuix.kmp.icon.icons.GitHub
56-
import top.yukonga.miuix.kmp.icon.icons.ImmersionMore
57-
import top.yukonga.miuix.kmp.icon.icons.Info
58-
import top.yukonga.miuix.kmp.icon.icons.More
59-
import top.yukonga.miuix.kmp.icon.icons.NavigatorSwitch
60-
import top.yukonga.miuix.kmp.icon.icons.Settings
55+
import top.yukonga.miuix.kmp.icon.icons.other.GitHub
56+
import top.yukonga.miuix.kmp.icon.icons.useful.ImmersionMore
57+
import top.yukonga.miuix.kmp.icon.icons.useful.More
58+
import top.yukonga.miuix.kmp.icon.icons.useful.NavigatorSwitch
59+
import top.yukonga.miuix.kmp.icon.icons.useful.Order
60+
import top.yukonga.miuix.kmp.icon.icons.useful.Settings
6161
import top.yukonga.miuix.kmp.utils.MiuixPopupUtil.Companion.dismissPopup
6262
import utils.FPSMonitor
6363

@@ -85,10 +85,10 @@ fun UITest(
8585
}
8686

8787
val items = listOf(
88-
NavigationItem("HomePage", MiuixIcons.NavigatorSwitch),
89-
NavigationItem("DropDown", MiuixIcons.Info),
90-
NavigationItem("Settings", MiuixIcons.Settings),
91-
NavigationItem("More", MiuixIcons.More)
88+
NavigationItem("HomePage", MiuixIcons.Useful.NavigatorSwitch),
89+
NavigationItem("DropDown", MiuixIcons.Useful.Order),
90+
NavigationItem("Settings", MiuixIcons.Useful.Settings),
91+
NavigationItem("More", MiuixIcons.Useful.More)
9292
)
9393

9494
LaunchedEffect(pagerState) {
@@ -163,7 +163,7 @@ fun UITest(
163163
}
164164
) {
165165
Icon(
166-
imageVector = MiuixIcons.ImmersionMore,
166+
imageVector = MiuixIcons.Useful.ImmersionMore,
167167
contentDescription = "Menu"
168168
)
169169
}
@@ -212,7 +212,7 @@ fun UITest(
212212
}
213213
) {
214214
Icon(
215-
imageVector = MiuixIcons.ImmersionMore,
215+
imageVector = MiuixIcons.Useful.ImmersionMore,
216216
contentDescription = "Menu"
217217
)
218218
}
@@ -283,7 +283,7 @@ fun UITest(
283283
}
284284
) {
285285
Icon(
286-
imageVector = MiuixIcons.GitHub,
286+
imageVector = MiuixIcons.Other.GitHub,
287287
tint = Color.White,
288288
contentDescription = "GitHub"
289289
)

composeApp/src/commonMain/kotlin/component/OtherComponent.kt

Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package component
22

33
import androidx.compose.foundation.layout.Arrangement
4+
import androidx.compose.foundation.layout.FlowRow
45
import androidx.compose.foundation.layout.PaddingValues
56
import androidx.compose.foundation.layout.Row
67
import androidx.compose.foundation.layout.Spacer
78
import androidx.compose.foundation.layout.fillMaxWidth
89
import androidx.compose.foundation.layout.padding
10+
import androidx.compose.foundation.layout.size
911
import androidx.compose.foundation.layout.width
1012
import androidx.compose.foundation.text.KeyboardActions
1113
import androidx.compose.foundation.text.KeyboardOptions
@@ -23,12 +25,54 @@ import androidx.compose.ui.unit.dp
2325
import androidx.compose.ui.unit.sp
2426
import top.yukonga.miuix.kmp.basic.ButtonDefaults
2527
import top.yukonga.miuix.kmp.basic.Card
28+
import top.yukonga.miuix.kmp.basic.Icon
2629
import top.yukonga.miuix.kmp.basic.Slider
2730
import top.yukonga.miuix.kmp.basic.SmallTitle
2831
import top.yukonga.miuix.kmp.basic.TabRow
2932
import top.yukonga.miuix.kmp.basic.Text
3033
import top.yukonga.miuix.kmp.basic.TextButton
3134
import top.yukonga.miuix.kmp.basic.TextField
35+
import top.yukonga.miuix.kmp.icon.MiuixIcons
36+
import top.yukonga.miuix.kmp.icon.icons.useful.AddSecret
37+
import top.yukonga.miuix.kmp.icon.icons.useful.Back
38+
import top.yukonga.miuix.kmp.icon.icons.useful.Blocklist
39+
import top.yukonga.miuix.kmp.icon.icons.useful.Cancel
40+
import top.yukonga.miuix.kmp.icon.icons.useful.Confirm
41+
import top.yukonga.miuix.kmp.icon.icons.useful.Copy
42+
import top.yukonga.miuix.kmp.icon.icons.useful.Cut
43+
import top.yukonga.miuix.kmp.icon.icons.useful.Delete
44+
import top.yukonga.miuix.kmp.icon.icons.useful.DeselectAll
45+
import top.yukonga.miuix.kmp.icon.icons.useful.Edit
46+
import top.yukonga.miuix.kmp.icon.icons.useful.ImmersionDelete
47+
import top.yukonga.miuix.kmp.icon.icons.useful.ImmersionMore
48+
import top.yukonga.miuix.kmp.icon.icons.useful.Info
49+
import top.yukonga.miuix.kmp.icon.icons.useful.More
50+
import top.yukonga.miuix.kmp.icon.icons.useful.Move
51+
import top.yukonga.miuix.kmp.icon.icons.useful.NavigatorSwitch
52+
import top.yukonga.miuix.kmp.icon.icons.useful.New
53+
import top.yukonga.miuix.kmp.icon.icons.useful.Order
54+
import top.yukonga.miuix.kmp.icon.icons.useful.Paste
55+
import top.yukonga.miuix.kmp.icon.icons.useful.Pause
56+
import top.yukonga.miuix.kmp.icon.icons.useful.Personal
57+
import top.yukonga.miuix.kmp.icon.icons.useful.Play
58+
import top.yukonga.miuix.kmp.icon.icons.useful.Reboot
59+
import top.yukonga.miuix.kmp.icon.icons.useful.Redo
60+
import top.yukonga.miuix.kmp.icon.icons.useful.Refresh
61+
import top.yukonga.miuix.kmp.icon.icons.useful.RemoveBlocklist
62+
import top.yukonga.miuix.kmp.icon.icons.useful.RemoveSecret
63+
import top.yukonga.miuix.kmp.icon.icons.useful.Rename
64+
import top.yukonga.miuix.kmp.icon.icons.useful.Restore
65+
import top.yukonga.miuix.kmp.icon.icons.useful.Save
66+
import top.yukonga.miuix.kmp.icon.icons.useful.Scan
67+
import top.yukonga.miuix.kmp.icon.icons.useful.Search
68+
import top.yukonga.miuix.kmp.icon.icons.useful.SelectAll
69+
import top.yukonga.miuix.kmp.icon.icons.useful.Send
70+
import top.yukonga.miuix.kmp.icon.icons.useful.Settings
71+
import top.yukonga.miuix.kmp.icon.icons.useful.Share
72+
import top.yukonga.miuix.kmp.icon.icons.useful.Stick
73+
import top.yukonga.miuix.kmp.icon.icons.useful.Undo
74+
import top.yukonga.miuix.kmp.icon.icons.useful.Unstick
75+
import top.yukonga.miuix.kmp.icon.icons.useful.Update
3276
import top.yukonga.miuix.kmp.theme.MiuixTheme
3377

3478
@Composable
@@ -45,6 +89,48 @@ fun OtherComponent(padding: PaddingValues) {
4589
val progressDisable by remember { mutableStateOf(0.5f) }
4690
val tabTexts = listOf("tab1", "tab2", "tab3", "tab4", "tab5", "tab6")
4791
var selectedTabIndex1 by remember { mutableStateOf(0) }
92+
val miuixIconsNormal = listOf(
93+
MiuixIcons.Useful.AddSecret,
94+
MiuixIcons.Useful.Back,
95+
MiuixIcons.Useful.Blocklist,
96+
MiuixIcons.Useful.Cancel,
97+
MiuixIcons.Useful.Confirm,
98+
MiuixIcons.Useful.Copy,
99+
MiuixIcons.Useful.Cut,
100+
MiuixIcons.Useful.Delete,
101+
MiuixIcons.Useful.DeselectAll,
102+
MiuixIcons.Useful.Edit,
103+
MiuixIcons.Useful.ImmersionDelete,
104+
MiuixIcons.Useful.ImmersionMore,
105+
MiuixIcons.Useful.Info,
106+
MiuixIcons.Useful.More,
107+
MiuixIcons.Useful.Move,
108+
MiuixIcons.Useful.NavigatorSwitch,
109+
MiuixIcons.Useful.New,
110+
MiuixIcons.Useful.Order,
111+
MiuixIcons.Useful.Paste,
112+
MiuixIcons.Useful.Pause,
113+
MiuixIcons.Useful.Personal,
114+
MiuixIcons.Useful.Play,
115+
MiuixIcons.Useful.Reboot,
116+
MiuixIcons.Useful.Redo,
117+
MiuixIcons.Useful.Refresh,
118+
MiuixIcons.Useful.RemoveBlocklist,
119+
MiuixIcons.Useful.RemoveSecret,
120+
MiuixIcons.Useful.Rename,
121+
MiuixIcons.Useful.Restore,
122+
MiuixIcons.Useful.Save,
123+
MiuixIcons.Useful.Scan,
124+
MiuixIcons.Useful.Search,
125+
MiuixIcons.Useful.SelectAll,
126+
MiuixIcons.Useful.Send,
127+
MiuixIcons.Useful.Settings,
128+
MiuixIcons.Useful.Share,
129+
MiuixIcons.Useful.Stick,
130+
MiuixIcons.Useful.Undo,
131+
MiuixIcons.Useful.Unstick,
132+
MiuixIcons.Useful.Update
133+
)
48134

49135
SmallTitle(text = "Button")
50136
Row(
@@ -162,6 +248,24 @@ fun OtherComponent(padding: PaddingValues) {
162248
selectedTabIndex1 = it
163249
}
164250

251+
SmallTitle(text = "Icon")
252+
Card(
253+
modifier = Modifier
254+
.fillMaxWidth()
255+
.padding(horizontal = 12.dp)
256+
.padding(bottom = 12.dp),
257+
insideMargin = PaddingValues(16.dp)
258+
) {
259+
FlowRow {
260+
miuixIconsNormal.forEach { icon ->
261+
Icon(
262+
imageVector = icon,
263+
contentDescription = null,
264+
modifier = Modifier.size(24.dp)
265+
)
266+
}
267+
}
268+
}
165269

166270
SmallTitle(text = "Card")
167271
Card(

composeApp/src/commonMain/kotlin/component/TextComponent.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ import top.yukonga.miuix.kmp.extra.SuperDropdown
4545
import top.yukonga.miuix.kmp.extra.SuperSpinner
4646
import top.yukonga.miuix.kmp.extra.SuperSwitch
4747
import top.yukonga.miuix.kmp.icon.MiuixIcons
48-
import top.yukonga.miuix.kmp.icon.icons.Info
48+
import top.yukonga.miuix.kmp.icon.icons.useful.Personal
4949
import top.yukonga.miuix.kmp.theme.MiuixTheme
5050
import top.yukonga.miuix.kmp.utils.MiuixPopupUtil.Companion.dismissDialog
5151

@@ -152,7 +152,7 @@ fun TextComponent(
152152
modifier = Modifier.padding(end = 16.dp)
153153
) {
154154
Icon(
155-
imageVector = MiuixIcons.Info,
155+
imageVector = MiuixIcons.Useful.Personal,
156156
contentDescription = "Account",
157157
)
158158
}

miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/extra/SuperArrow.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ import top.yukonga.miuix.kmp.basic.BasicComponentColors
2121
import top.yukonga.miuix.kmp.basic.BasicComponentDefaults
2222
import top.yukonga.miuix.kmp.basic.Text
2323
import top.yukonga.miuix.kmp.icon.MiuixIcons
24-
import top.yukonga.miuix.kmp.icon.icons.ArrowRight
24+
import top.yukonga.miuix.kmp.icon.icons.base.ArrowRight
2525
import top.yukonga.miuix.kmp.theme.MiuixTheme
2626

2727
/**
@@ -79,7 +79,7 @@ fun SuperArrow(
7979
modifier = Modifier
8080
.padding(start = 8.dp)
8181
.size(10.dp, 16.dp),
82-
imageVector = MiuixIcons.ArrowRight,
82+
imageVector = MiuixIcons.Base.ArrowRight,
8383
contentDescription = null,
8484
colorFilter = ColorFilter.tint(rightActionColor.color(enabled)),
8585
)

miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/extra/SuperDropdown.kt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ import top.yukonga.miuix.kmp.basic.ListPopupColumn
4343
import top.yukonga.miuix.kmp.basic.PopupPositionProvider
4444
import top.yukonga.miuix.kmp.basic.Text
4545
import top.yukonga.miuix.kmp.icon.MiuixIcons
46-
import top.yukonga.miuix.kmp.icon.icons.ArrowUpDownIntegrated
47-
import top.yukonga.miuix.kmp.icon.icons.Check
46+
import top.yukonga.miuix.kmp.icon.icons.base.ArrowUpDownIntegrated
47+
import top.yukonga.miuix.kmp.icon.icons.base.Check
4848
import top.yukonga.miuix.kmp.interfaces.HoldDownInteraction
4949
import top.yukonga.miuix.kmp.theme.MiuixTheme
5050
import top.yukonga.miuix.kmp.utils.MiuixPopupUtil.Companion.dismissPopup
@@ -184,7 +184,7 @@ fun SuperDropdown(
184184
.padding(start = 8.dp)
185185
.size(10.dp, 16.dp)
186186
.align(Alignment.CenterVertically),
187-
imageVector = MiuixIcons.ArrowUpDownIntegrated,
187+
imageVector = MiuixIcons.Base.ArrowUpDownIntegrated,
188188
colorFilter = ColorFilter.tint(actionColor),
189189
contentDescription = null
190190
)
@@ -282,7 +282,7 @@ fun DropdownImpl(
282282
if (isSelected) {
283283
Image(
284284
modifier = Modifier.padding(start = 12.dp).size(20.dp),
285-
imageVector = MiuixIcons.Check,
285+
imageVector = MiuixIcons.Base.Check,
286286
colorFilter = BlendModeColorFilter(
287287
dropdownColors.selectedContentColor,
288288
BlendMode.SrcIn

miuix/src/commonMain/kotlin/top/yukonga/miuix/kmp/extra/SuperSpinner.kt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ import top.yukonga.miuix.kmp.basic.PopupPositionProvider
5353
import top.yukonga.miuix.kmp.basic.Text
5454
import top.yukonga.miuix.kmp.basic.TextButton
5555
import top.yukonga.miuix.kmp.icon.MiuixIcons
56-
import top.yukonga.miuix.kmp.icon.icons.ArrowUpDownIntegrated
57-
import top.yukonga.miuix.kmp.icon.icons.Check
56+
import top.yukonga.miuix.kmp.icon.icons.base.ArrowUpDownIntegrated
57+
import top.yukonga.miuix.kmp.icon.icons.base.Check
5858
import top.yukonga.miuix.kmp.interfaces.HoldDownInteraction
5959
import top.yukonga.miuix.kmp.theme.MiuixTheme
6060
import top.yukonga.miuix.kmp.utils.MiuixPopupUtil.Companion.dismissDialog
@@ -195,7 +195,7 @@ fun SuperSpinner(
195195
.padding(start = 8.dp)
196196
.size(10.dp, 16.dp)
197197
.align(Alignment.CenterVertically),
198-
imageVector = MiuixIcons.ArrowUpDownIntegrated,
198+
imageVector = MiuixIcons.Base.ArrowUpDownIntegrated,
199199
colorFilter = ColorFilter.tint(actionColor),
200200
contentDescription = null
201201
)
@@ -326,7 +326,7 @@ fun SuperSpinner(
326326
.padding(start = 8.dp)
327327
.size(10.dp, 16.dp)
328328
.align(Alignment.CenterVertically),
329-
imageVector = MiuixIcons.ArrowUpDownIntegrated,
329+
imageVector = MiuixIcons.Base.ArrowUpDownIntegrated,
330330
colorFilter = ColorFilter.tint(actionColor),
331331
contentDescription = null
332332
)
@@ -481,7 +481,7 @@ fun SpinnerItemImpl(
481481
}
482482
Image(
483483
modifier = Modifier.padding(start = 12.dp).size(20.dp),
484-
imageVector = MiuixIcons.Check,
484+
imageVector = MiuixIcons.Base.Check,
485485
colorFilter = BlendModeColorFilter(selectColor, BlendMode.SrcIn),
486486
contentDescription = null,
487487
)
Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
11
package top.yukonga.miuix.kmp.icon
22

3-
object MiuixIcons
3+
object MiuixIcons {
4+
object Base
5+
object Useful
6+
object Other
7+
}

0 commit comments

Comments
 (0)