Skip to content

Commit cc66a2d

Browse files
feat(link): update link to version 2.4.0 (#1418)
* Update link to version 2.3.0 # Conflicts: # theme-orange/src/test/snapshots/images/com.orange.ouds.core.test_OudsTextInputTest$Default_takeDarkThemeSnapshot[2].png # theme-orange/src/test/snapshots/images/com.orange.ouds.core.test_OudsTextInputTest$Default_takeLightThemeSnapshot[2].png # theme-sosh/src/test/snapshots/images/com.orange.ouds.core.test_OudsTextInputTest$Default_takeDarkThemeSnapshot[2].png # theme-sosh/src/test/snapshots/images/com.orange.ouds.core.test_OudsTextInputTest$Default_takeLightThemeSnapshot[2].png # theme-wireframe/src/test/snapshots/images/com.orange.ouds.core.test_OudsTextInputTest$Default_takeDarkThemeSnapshot[2].png # theme-wireframe/src/test/snapshots/images/com.orange.ouds.core.test_OudsTextInputTest$Default_takeLightThemeSnapshot[2].png # Conflicts: # theme-orange/src/test/snapshots/images/com.orange.ouds.core.test_OudsTextAreaTest$Default_takeDarkThemeSnapshot[2].png # theme-orange/src/test/snapshots/images/com.orange.ouds.core.test_OudsTextAreaTest$Default_takeLightThemeSnapshot[2].png # theme-sosh/src/test/snapshots/images/com.orange.ouds.core.test_OudsTextAreaTest$Default_takeDarkThemeSnapshot[2].png # theme-sosh/src/test/snapshots/images/com.orange.ouds.core.test_OudsTextAreaTest$Default_takeLightThemeSnapshot[2].png # theme-wireframe/src/test/snapshots/images/com.orange.ouds.core.test_OudsTextAreaTest$Default_takeDarkThemeSnapshot[2].png # theme-wireframe/src/test/snapshots/images/com.orange.ouds.core.test_OudsTextAreaTest$Default_takeLightThemeSnapshot[2].png * Review: Use getTokenValue method from WindowWidthSizeClass instead of when statement * Review: Replace OudsLinkChevron with OudsLinkIndicator * Fix snapshots * Add density parameter * Add density to the demo app * Update external link drawable resource * Update deprecated message for hidden methods * Remove useless global variable
1 parent 776eb2d commit cc66a2d

184 files changed

Lines changed: 508 additions & 150 deletions

File tree

Some content is hidden

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

NOTICE.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,7 @@ theme-orange/src/main/res/drawable/ic_orange_component_button_previous.xml
122122
theme-orange/src/main/res/drawable/ic_orange_component_checkbox_selected.xml
123123
theme-orange/src/main/res/drawable/ic_orange_component_checkbox_undetermined.xml
124124
theme-orange/src/main/res/drawable/ic_orange_component_chip_tick.xml
125+
theme-orange/src/main/res/drawable/ic_orange_component_link_external_link.xml
125126
theme-orange/src/main/res/drawable/ic_orange_component_link_next.xml
126127
theme-orange/src/main/res/drawable/ic_orange_component_link_previous.xml
127128
theme-orange/src/main/res/drawable/ic_orange_component_radio_button_selected.xml
@@ -158,6 +159,7 @@ theme-sosh/src/main/res/drawable/ic_sosh_component_button_previous.xml
158159
theme-sosh/src/main/res/drawable/ic_sosh_component_checkbox_selected.xml
159160
theme-sosh/src/main/res/drawable/ic_sosh_component_checkbox_undetermined.xml
160161
theme-sosh/src/main/res/drawable/ic_sosh_component_chip_tick.xml
162+
theme-sosh/src/main/res/drawable/ic_sosh_component_link_external_link.xml
161163
theme-sosh/src/main/res/drawable/ic_sosh_component_link_next.xml
162164
theme-sosh/src/main/res/drawable/ic_sosh_component_link_previous.xml
163165
theme-sosh/src/main/res/drawable/ic_sosh_component_radio_button_selected.xml
@@ -196,6 +198,7 @@ theme-wireframe/src/main/res/drawable/ic_wireframe_component_button_previous.xml
196198
theme-wireframe/src/main/res/drawable/ic_wireframe_component_checkbox_selected.xml
197199
theme-wireframe/src/main/res/drawable/ic_wireframe_component_checkbox_undetermined.xml
198200
theme-wireframe/src/main/res/drawable/ic_wireframe_component_chip_tick.xml
201+
theme-wireframe/src/main/res/drawable/ic_wireframe_component_link_external_link.xml
199202
theme-wireframe/src/main/res/drawable/ic_wireframe_component_link_next.xml
200203
theme-wireframe/src/main/res/drawable/ic_wireframe_component_link_previous.xml
201204
theme-wireframe/src/main/res/drawable/ic_wireframe_component_radio_button_selected.xml

app/src/main/java/com/orange/ouds/app/ui/components/ComponentIllustrations.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ import com.orange.ouds.core.component.OudsFloatingActionButton
5757
import com.orange.ouds.core.component.OudsFloatingActionButtonIcon
5858
import com.orange.ouds.core.component.OudsHorizontalDivider
5959
import com.orange.ouds.core.component.OudsLink
60-
import com.orange.ouds.core.component.OudsLinkChevron
60+
import com.orange.ouds.core.component.OudsLinkIndicator
6161
import com.orange.ouds.core.component.OudsNavigationBar
6262
import com.orange.ouds.core.component.OudsNavigationBarItem
6363
import com.orange.ouds.core.component.OudsNavigationBarItemIcon
@@ -195,7 +195,7 @@ fun FloatingActionButtonIllustration() = ComponentIllustration {
195195
fun LinkIllustration() = ComponentIllustration {
196196
OudsLink(
197197
label = stringResource(id = R.string.app_components_common_label_label),
198-
chevron = OudsLinkChevron.Next,
198+
indicator = OudsLinkIndicator.Next,
199199
onClick = {}
200200
)
201201
}

app/src/main/java/com/orange/ouds/app/ui/components/coloredbackground/ColoredBackgroundDemoScreen.kt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ import com.orange.ouds.core.component.OudsButton
4040
import com.orange.ouds.core.component.OudsColoredBox
4141
import com.orange.ouds.core.component.OudsColoredBoxColor
4242
import com.orange.ouds.core.component.OudsLink
43-
import com.orange.ouds.core.component.OudsLinkChevron
43+
import com.orange.ouds.core.component.OudsLinkIndicator
4444
import com.orange.ouds.core.theme.OudsTheme
4545
import com.orange.ouds.foundation.extensions.toSentenceCase
4646

@@ -112,7 +112,7 @@ private fun ColoredBackgroundDemoContent(state: ColoredBackgroundDemoState) {
112112
)
113113
OudsLink(
114114
label = stringResource(id = R.string.app_components_coloredBackground_link_label),
115-
chevron = OudsLinkChevron.Next,
115+
indicator = OudsLinkIndicator.Next,
116116
onClick = {},
117117
)
118118
}
@@ -139,7 +139,7 @@ private fun Code.Builder.coloredBackgroundDemoCodeSnippet(state: ColoredBackgrou
139139
}
140140
functionCall("OudsLink") {
141141
labelArgument(R.string.app_components_coloredBackground_link_label)
142-
typedArgument("chevron", OudsLinkChevron.Next)
142+
typedArgument("indicator", OudsLinkIndicator.Next)
143143
onClickArgument {}
144144
}
145145
}

app/src/main/java/com/orange/ouds/app/ui/components/link/LinkDemoScreen.kt

Lines changed: 40 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,9 @@ import com.orange.ouds.app.ui.utilities.composable.CustomizationTextInput
3434
import com.orange.ouds.app.ui.utilities.composable.DemoScreen
3535
import com.orange.ouds.app.ui.utilities.rememberUntintedIconPainter
3636
import com.orange.ouds.core.component.OudsLink
37-
import com.orange.ouds.core.component.OudsLinkChevron
37+
import com.orange.ouds.core.component.OudsLinkDensity
3838
import com.orange.ouds.core.component.OudsLinkIcon
39+
import com.orange.ouds.core.component.OudsLinkIndicator
3940
import com.orange.ouds.core.component.OudsLinkSize
4041
import com.orange.ouds.theme.OudsVersion
4142

@@ -74,6 +75,13 @@ private fun LinkDemoBottomSheetContent(state: LinkDemoState) {
7475
selectedChipIndex = sizes.indexOf(size),
7576
onSelectionChange = { index -> size = sizes[index] }
7677
)
78+
CustomizationFilterChips(
79+
applyTopPadding = true,
80+
label = stringResource(R.string.app_components_link_density_tech),
81+
chipLabels = OudsLinkDensity.entries.map { it.name },
82+
selectedChipIndex = OudsLinkDensity.entries.indexOf(density),
83+
onSelectionChange = { index -> density = OudsLinkDensity.entries[index] }
84+
)
7785
CustomizationFilterChips(
7886
applyTopPadding = true,
7987
label = stringResource(R.string.app_components_common_layout_tech),
@@ -106,7 +114,8 @@ private fun LinkDemoContent(state: LinkDemoState) {
106114
label = label,
107115
onClick = {},
108116
enabled = enabled,
109-
size = size
117+
size = size,
118+
density = density
110119
)
111120
}
112121
LinkDemoState.Layout.TextAndIcon -> {
@@ -119,25 +128,25 @@ private fun LinkDemoContent(state: LinkDemoState) {
119128
icon = OudsLinkIcon(painter, tinted = icon == LinkDemoState.Icon.Tinted),
120129
onClick = {},
121130
enabled = enabled,
122-
size = size
123-
)
124-
}
125-
LinkDemoState.Layout.ChevronBack -> {
126-
OudsLink(
127-
label = label,
128-
chevron = OudsLinkChevron.Back,
129-
onClick = {},
130-
enabled = enabled,
131-
size = size
131+
size = size,
132+
density = density
132133
)
133134
}
134-
LinkDemoState.Layout.ChevronNext -> {
135+
LinkDemoState.Layout.IndicatorPrevious,
136+
LinkDemoState.Layout.IndicatorNext,
137+
LinkDemoState.Layout.IndicatorExternal -> {
138+
val indicator = when (layout) {
139+
LinkDemoState.Layout.IndicatorPrevious -> OudsLinkIndicator.Previous
140+
LinkDemoState.Layout.IndicatorNext -> OudsLinkIndicator.Next
141+
else -> OudsLinkIndicator.External
142+
}
135143
OudsLink(
136144
label = label,
137-
chevron = OudsLinkChevron.Next,
145+
indicator = indicator,
138146
onClick = {},
139147
enabled = enabled,
140-
size = size
148+
size = size,
149+
density = density
141150
)
142151
}
143152
}
@@ -151,13 +160,26 @@ private fun Code.Builder.linkDemoCodeSnippet(state: LinkDemoState, themeDrawable
151160
labelArgument(label)
152161
when (layout) {
153162
LinkDemoState.Layout.TextOnly -> {}
154-
LinkDemoState.Layout.TextAndIcon -> iconArgument<OudsLinkIcon>("icon", themeDrawableResources.tipsAndTricks, tinted = icon == LinkDemoState.Icon.Tinted)
155-
LinkDemoState.Layout.ChevronBack -> typedArgument("chevron", OudsLinkChevron.Back)
156-
LinkDemoState.Layout.ChevronNext -> typedArgument("chevron", OudsLinkChevron.Next)
163+
LinkDemoState.Layout.TextAndIcon -> iconArgument<OudsLinkIcon>(
164+
"icon",
165+
themeDrawableResources.tipsAndTricks,
166+
tinted = icon == LinkDemoState.Icon.Tinted
167+
)
168+
LinkDemoState.Layout.IndicatorPrevious,
169+
LinkDemoState.Layout.IndicatorNext,
170+
LinkDemoState.Layout.IndicatorExternal -> {
171+
val indicator = when (layout) {
172+
LinkDemoState.Layout.IndicatorPrevious -> OudsLinkIndicator.Previous
173+
LinkDemoState.Layout.IndicatorNext -> OudsLinkIndicator.Next
174+
else -> OudsLinkIndicator.External
175+
}
176+
typedArgument("indicator", indicator)
177+
}
157178
}
158179
onClickArgument()
159180
enabledArgument(enabled)
160181
typedArgument("size", size)
182+
typedArgument("density", density)
161183
}
162184
}
163185
}

app/src/main/java/com/orange/ouds/app/ui/components/link/LinkDemoState.kt

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ import androidx.compose.runtime.setValue
2222
import androidx.compose.ui.res.stringResource
2323
import com.orange.ouds.app.R
2424
import com.orange.ouds.core.component.OudsLinkDefaults
25+
import com.orange.ouds.core.component.OudsLinkDensity
2526
import com.orange.ouds.core.component.OudsLinkSize
2627

2728
@Composable
@@ -30,17 +31,19 @@ fun rememberLinkDemoState(
3031
enabled: Boolean = true,
3132
onColoredBox: Boolean = false,
3233
size: OudsLinkSize = OudsLinkDefaults.Size,
34+
density: OudsLinkDensity = OudsLinkDefaults.Density,
3335
layout: LinkDemoState.Layout = LinkDemoState.Layout.entries.first(),
3436
icon: LinkDemoState.Icon = LinkDemoState.Icon.Tinted
35-
) = rememberSaveable(label, enabled, onColoredBox, size, layout, icon, saver = LinkDemoState.Saver) {
36-
LinkDemoState(label, enabled, onColoredBox, size, layout, icon)
37+
) = rememberSaveable(label, enabled, onColoredBox, size, density, layout, icon, saver = LinkDemoState.Saver) {
38+
LinkDemoState(label, enabled, onColoredBox, size, density, layout, icon)
3739
}
3840

3941
class LinkDemoState(
4042
label: String,
4143
enabled: Boolean,
4244
onColoredBox: Boolean,
4345
size: OudsLinkSize,
46+
density: OudsLinkDensity,
4447
layout: Layout,
4548
icon: Icon
4649
) {
@@ -55,6 +58,7 @@ class LinkDemoState(
5558
enabled,
5659
onColoredBox,
5760
size,
61+
density,
5862
layout,
5963
icon
6064
)
@@ -66,8 +70,9 @@ class LinkDemoState(
6670
list[1] as Boolean,
6771
list[2] as Boolean,
6872
list[3] as OudsLinkSize,
69-
list[4] as Layout,
70-
list[5] as Icon
73+
list[4] as OudsLinkDensity,
74+
list[5] as Layout,
75+
list[6] as Icon
7176
)
7277
}
7378
)
@@ -81,6 +86,8 @@ class LinkDemoState(
8186

8287
var size: OudsLinkSize by mutableStateOf(size)
8388

89+
var density: OudsLinkDensity by mutableStateOf(density)
90+
8491
var layout: Layout by mutableStateOf(layout)
8592

8693
var icon: Icon by mutableStateOf(icon)
@@ -91,8 +98,9 @@ class LinkDemoState(
9198
enum class Layout(@StringRes val labelRes: Int) {
9299
TextOnly(R.string.app_components_common_textOnlyLayout_tech),
93100
TextAndIcon(R.string.app_components_common_textAndIconLayout_tech),
94-
ChevronBack(R.string.app_components_link_backLayout_tech),
95-
ChevronNext(R.string.app_components_link_nextLayout_tech)
101+
IndicatorPrevious(R.string.app_components_link_previousLayout_tech),
102+
IndicatorNext(R.string.app_components_link_nextInternalLayout_tech),
103+
IndicatorExternal(R.string.app_components_link_nextExternalLayout_tech)
96104
}
97105

98106
enum class Icon(@StringRes val labelRes: Int) {

app/src/main/res/values/strings.xml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -276,8 +276,10 @@
276276
<!-- Components: link -->
277277
<string name="app_components_link_tech" translatable="false">Link</string>
278278
<string name="app_components_link_description_text">Link is a UI element that allows to navigate from one location to another, either within the same page or across different pages in the same resource, or to an external resource.</string>
279-
<string name="app_components_link_backLayout_tech" translatable="false">Back</string>
280-
<string name="app_components_link_nextLayout_tech" translatable="false">Next</string>
279+
<string name="app_components_link_density_tech" translatable="false">Density</string>
280+
<string name="app_components_link_previousLayout_tech" translatable="false">Previous</string>
281+
<string name="app_components_link_nextInternalLayout_tech" translatable="false">Next</string>
282+
<string name="app_components_link_nextExternalLayout_tech" translatable="false">External</string>
281283

282284
<!-- Components: navigation bar -->
283285
<string name="app_components_navigationBar_tech" translatable="false">Navigation bar</string>

buildSrc/src/main/kotlin/icons.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ abstract class ImportIconsTask : DefaultTask() {
7070
"component/checkbox/checkbox-selected.svg",
7171
"component/checkbox/checkbox-undetermined.svg",
7272
"component/chip/tick.svg",
73+
"component/link/external-link.svg",
7374
"component/link/next.svg",
7475
"component/link/previous.svg",
7576
"component/radio-button/radio-button-selected.svg",

core-test/src/main/java/com/orange/ouds/core/test/OudsLinkTest.kt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,19 @@ internal class OudsLinkTest {
3333
}
3434
}
3535

36+
@RunWith(Parameterized::class)
37+
class CompactDensity(parameter: Any) : OudsComponentSnapshotTest(
38+
OudsPreviewableComponent.Link.CompactDensity,
39+
parameter,
40+
OudsComponentTestSuite.theme
41+
) {
42+
companion object {
43+
@JvmStatic
44+
@Parameterized.Parameters
45+
internal fun data() = OudsPreviewableComponent.Link.CompactDensity.parameters
46+
}
47+
}
48+
3649
class OnTwoLines : OudsComponentSnapshotTest(
3750
OudsPreviewableComponent.Link.OnTwoLines,
3851
parameter = null,

core/src/main/java/com/orange/ouds/core/component/OudsColoredBox.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -265,7 +265,7 @@ internal fun PreviewOudsColoredBox(
265265
OudsButton(label = "Button", onClick = {})
266266
OudsLink(
267267
label = "Link",
268-
chevron = OudsLinkChevron.Next,
268+
indicator = OudsLinkIndicator.Next,
269269
onClick = {},
270270
)
271271
OudsCircularProgressIndicator()

0 commit comments

Comments
 (0)