Skip to content

Commit 6c0cfd9

Browse files
Stepper: use padding instead of margin on root container (#29540)
1 parent 9e47007 commit 6c0cfd9

File tree

13 files changed

+107
-51
lines changed

13 files changed

+107
-51
lines changed
Lines changed: 25 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,38 @@
11
.dx-stepper-connector {
22
display: flex;
33
position: absolute;
4+
align-items: center;
5+
pointer-events: none;
6+
}
7+
8+
.dx-stepper-connector-horizontal {
9+
width: 100%;
410

511
.dx-stepper-connector-value {
6-
transition: flex-grow 0.5s ease-in-out;
12+
width: 0;
13+
height: 100%;
714
}
15+
}
816

9-
&.dx-stepper-connector-horizontal {
10-
width: 100%;
11-
12-
.dx-stepper-connector-value {
13-
width: 0;
14-
height: 100%;
15-
}
16-
}
17+
.dx-stepper-connector-vertical {
18+
flex-direction: column;
19+
height: 100%;
1720

18-
&.dx-stepper-connector-vertical {
19-
height: 100%;
21+
.dx-stepper-connector-container {
2022
flex-direction: column;
23+
}
2124

22-
.dx-stepper-connector-value {
23-
height: 0;
24-
width: 100%;
25-
}
25+
.dx-stepper-connector-value {
26+
height: 0;
27+
width: 100%;
2628
}
2729
}
2830

31+
.dx-stepper-connector-container {
32+
display: flex;
33+
flex: 1;
34+
}
35+
36+
.dx-stepper-connector-value {
37+
transition: flex-grow 0.5s ease-in-out;
38+
}
Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
@mixin connector(
22
$connector-background-color,
33
$background-color,
4-
$margin-start,
4+
$size,
5+
$padding,
56
$thickness,
67
) {
7-
.dx-stepper-connector {
8+
.dx-stepper-connector-container {
89
background-color: $connector-background-color;
910
}
1011

@@ -13,12 +14,20 @@
1314
}
1415

1516
.dx-stepper-connector-horizontal {
16-
margin-block-start: $margin-start;
17-
height: $thickness;
17+
padding-inline: $padding;
18+
height: $size;
19+
20+
.dx-stepper-connector-container {
21+
height: $thickness;
22+
}
1823
}
1924

2025
.dx-stepper-connector-vertical {
21-
margin-inline-start: $margin-start;
22-
width: $thickness;
26+
padding-block: $padding;
27+
width: $size;
28+
29+
.dx-stepper-connector-container {
30+
width: $thickness;
31+
}
2332
}
2433
}
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
@mixin stepper(
2-
$margin,
2+
$padding,
33
) {
44
.dx-stepper {
5-
margin: $margin;
5+
padding: $padding;
66
}
77
}

packages/devextreme-scss/scss/widgets/fluent/stepper/_index.scss

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@
88
// adduse
99

1010
@include stepper(
11-
$stepper-margin,
11+
$stepper-padding,
1212
);
1313
@include connector(
1414
$stepper-connector-bg,
1515
$stepper-connector-value-bg,
16-
$stepper-connector-margin-start,
16+
$stepper-connector-size,
17+
$stepper-connector-padding,
1718
$stepper-connector-thickness,
1819
);
1920
@include step(
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
@use "sass:math";
21
@use "colors" as *;
32
@use "../colors" as *;
43
@use "../sizes" as *;
54
@use "../typography/sizes" as *;
65

76
// adduse
87

9-
$stepper-margin: null !default;
8+
$stepper-padding: null !default;
109
$stepper-step-min-size: null !default;
1110
$stepper-step-indicator-size: null !default;
1211
$stepper-step-content-row-gap: null !default;
@@ -18,20 +17,21 @@ $stepper-step-selected-font-weight: 600 !default;
1817
$stepper-step-transition-duration: .4s !default;
1918

2019
@if $size == "default" {
21-
$stepper-margin: 12px !default;
20+
$stepper-padding: 12px !default;
2221
$stepper-step-min-size: 48px !default;
2322
$stepper-step-indicator-size: 32px !default;
2423
$stepper-step-content-row-gap: 8px !default;
2524
$stepper-step-content-column-gap: 12px !default;
2625
}
2726

2827
@else if $size == "compact" {
29-
$stepper-margin: 8px !default;
28+
$stepper-padding: 8px !default;
3029
$stepper-step-min-size: 40px !default;
3130
$stepper-step-indicator-size: 24px !default;
3231
$stepper-step-content-row-gap: 6px !default;
3332
$stepper-step-content-column-gap: 8px !default;
3433
}
3534

36-
$stepper-connector-margin-start: math.div($stepper-step-indicator-size - $fluent-base-border-width * 2, 2) !default;
3735
$stepper-connector-thickness: 2px !default;
36+
$stepper-connector-size: $stepper-step-indicator-size !default;
37+
$stepper-connector-padding: $stepper-padding !default;

packages/devextreme-scss/scss/widgets/generic/stepper/_index.scss

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@
88
// adduse
99

1010
@include stepper(
11-
$stepper-margin,
11+
$stepper-padding,
1212
);
1313
@include connector(
1414
$stepper-connector-bg,
1515
$stepper-connector-value-bg,
16-
$stepper-connector-margin-start,
16+
$stepper-connector-size,
17+
$stepper-connector-padding,
1718
$stepper-connector-thickness,
1819
);
1920
@include step(
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
@use "sass:math";
21
@use "colors" as *;
32
@use "../colors" as *;
43
@use "../sizes" as *;
54
@use "../typography/sizes" as *;
65

76
// adduse
87

9-
$stepper-margin: null !default;
8+
$stepper-padding: null !default;
109
$stepper-step-min-size: null !default;
1110
$stepper-step-indicator-size: null !default;
1211
$stepper-step-content-row-gap: null !default;
@@ -18,20 +17,21 @@ $stepper-step-selected-font-weight: 400 !default;
1817
$stepper-step-transition-duration: .2s !default;
1918

2019
@if $size == "default" {
21-
$stepper-margin: 12px !default;
20+
$stepper-padding: 12px !default;
2221
$stepper-step-min-size: 52px !default;
2322
$stepper-step-indicator-size: 36px !default;
2423
$stepper-step-content-row-gap: 8px !default;
2524
$stepper-step-content-column-gap: 12px !default;
2625
}
2726

2827
@else if $size == "compact" {
29-
$stepper-margin: 8px !default;
28+
$stepper-padding: 8px !default;
3029
$stepper-step-min-size: 42px !default;
3130
$stepper-step-indicator-size: 26px !default;
3231
$stepper-step-content-row-gap: 6px !default;
3332
$stepper-step-content-column-gap: 8px !default;
3433
}
3534

36-
$stepper-connector-margin-start: math.div($stepper-step-indicator-size - $generic-base-border-width * 2, 2) !default;
3735
$stepper-connector-thickness: 1px !default;
36+
$stepper-connector-size: $stepper-step-indicator-size !default;
37+
$stepper-connector-padding: $stepper-padding !default;

packages/devextreme-scss/scss/widgets/material/stepper/_index.scss

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@
88
// adduse
99

1010
@include stepper(
11-
$stepper-margin,
11+
$stepper-padding,
1212
);
1313
@include connector(
1414
$stepper-connector-bg,
1515
$stepper-connector-value-bg,
16-
$stepper-connector-margin-start,
16+
$stepper-connector-size,
17+
$stepper-connector-padding,
1718
$stepper-connector-thickness,
1819
);
1920
@include step(
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,11 @@
1-
@use "sass:math";
21
@use "colors" as *;
32
@use "../colors" as *;
43
@use "../sizes" as *;
54
@use "../typography/sizes" as *;
65

76
// adduse
87

9-
$stepper-margin: null !default;
8+
$stepper-padding: null !default;
109
$stepper-step-min-size: null !default;
1110
$stepper-step-indicator-size: null !default;
1211
$stepper-step-content-row-gap: null !default;
@@ -18,20 +17,21 @@ $stepper-step-selected-font-weight: 500 !default;
1817
$stepper-step-transition-duration: .2s !default;
1918

2019
@if $size == "default" {
21-
$stepper-margin: 12px !default;
20+
$stepper-padding: 12px !default;
2221
$stepper-step-min-size: 46px !default;
2322
$stepper-step-indicator-size: 30px !default;
2423
$stepper-step-content-row-gap: 8px !default;
2524
$stepper-step-content-column-gap: 12px !default;
2625
}
2726

2827
@else if $size == "compact" {
29-
$stepper-margin: 8px !default;
28+
$stepper-padding: 8px !default;
3029
$stepper-step-min-size: 40px !default;
3130
$stepper-step-indicator-size: 24px !default;
3231
$stepper-step-content-row-gap: 6px !default;
3332
$stepper-step-content-column-gap: 8px !default;
3433
}
3534

36-
$stepper-connector-margin-start: math.div($stepper-step-indicator-size - $material-base-border-width * 2, 2) !default;
3735
$stepper-connector-thickness: 1px !default;
36+
$stepper-connector-size: $stepper-step-indicator-size !default;
37+
$stepper-connector-padding: $stepper-padding !default;

packages/devextreme/js/__internal/ui/stepper/connector.ts

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ import { ORIENTATION } from './stepper';
1111
export const STEPPER_CONNECTOR_CLASS = 'dx-stepper-connector';
1212
export const STEPPER_CONNECTOR_HORIZONTAL_ORIENTATION_CLASS = 'dx-stepper-connector-horizontal';
1313
export const STEPPER_CONNECTOR_VERTICAL_ORIENTATION_CLASS = 'dx-stepper-connector-vertical';
14+
export const STEPPER_CONNECTOR_CONTAINER_CLASS = 'dx-stepper-connector-container';
1415
export const STEPPER_CONNECTOR_VALUE_CLASS = 'dx-stepper-connector-value';
1516

1617
const PERCENT_UNIT = '%';
@@ -91,9 +92,19 @@ class Connector extends DOMComponent<Connector, ConnectorProperties> {
9192
}
9293

9394
_renderContent(): void {
95+
const $container = $('<div>')
96+
.addClass(STEPPER_CONNECTOR_CONTAINER_CLASS)
97+
.appendTo(this.element());
98+
9499
$('<div>')
95100
.addClass(STEPPER_CONNECTOR_VALUE_CLASS)
96-
.appendTo(this.element());
101+
.appendTo($container);
102+
}
103+
104+
_clean(): void {
105+
super._clean();
106+
107+
this.$element().empty();
97108
}
98109

99110
_optionChanged(args: OptionChanged<ConnectorProperties>): void {

0 commit comments

Comments
 (0)