1 col-order-4
2 col-order-3
3 col-order-2
diff --git a/components/grid/style/index.less b/components/grid/style/index.less
index 32010e185..490d959b5 100644
--- a/components/grid/style/index.less
+++ b/components/grid/style/index.less
@@ -4,17 +4,6 @@
// Grid system
.@{ant-prefix}-row {
- .make-row();
-
- display: block;
- box-sizing: border-box;
-}
-
-.@{ant-prefix}-row + .@{ant-prefix}-row::before {
- clear: both;
-}
-
-.@{ant-prefix}-row-flex {
display: flex;
flex-flow: row wrap;
@@ -25,52 +14,52 @@
}
// x轴原点
-.@{ant-prefix}-row-flex-start {
+.@{ant-prefix}-row-start {
justify-content: flex-start;
}
// x轴居中
-.@{ant-prefix}-row-flex-center {
+.@{ant-prefix}-row-center {
justify-content: center;
}
// x轴反方向
-.@{ant-prefix}-row-flex-end {
+.@{ant-prefix}-row-end {
justify-content: flex-end;
}
// x轴平分
-.@{ant-prefix}-row-flex-space-between {
+.@{ant-prefix}-row-space-between {
justify-content: space-between;
}
// x轴有间隔地平分
-.@{ant-prefix}-row-flex-space-around {
+.@{ant-prefix}-row-space-around {
justify-content: space-around;
}
// 顶部对齐
-.@{ant-prefix}-row-flex-top {
+.@{ant-prefix}-row-top {
align-items: flex-start;
}
// 居中对齐
-.@{ant-prefix}-row-flex-middle {
+.@{ant-prefix}-row-middle {
align-items: center;
}
// 底部对齐
-.@{ant-prefix}-row-flex-bottom {
+.@{ant-prefix}-row-bottom {
align-items: flex-end;
}
.@{ant-prefix}-col {
position: relative;
+ max-width: 100%;
// Prevent columns from collapsing when empty
min-height: 1px;
}
-.make-grid-columns();
.make-grid();
// Extra small grid
@@ -120,3 +109,5 @@
@media (min-width: @screen-xxl-min) {
.make-grid(-xxl);
}
+
+@import './rtl';
diff --git a/components/grid/style/mixin.less b/components/grid/style/mixin.less
index cf3f68169..4d9de4706 100644
--- a/components/grid/style/mixin.less
+++ b/components/grid/style/mixin.less
@@ -2,59 +2,12 @@
// mixins for grid system
// ------------------------
-.make-row(@gutter: @grid-gutter-width) {
- position: relative;
- height: auto;
- margin-right: (@gutter / -2);
- margin-left: (@gutter / -2);
- .clearfix;
-}
-
-.make-grid-columns() {
- .col(@index) {
- @item: ~'.@{ant-prefix}-col-@{index}, .@{ant-prefix}-col-xs-@{index}, .@{ant-prefix}-col-sm-@{index}, .@{ant-prefix}-col-md-@{index}, .@{ant-prefix}-col-lg-@{index}';
- .col((@index + 1), @item);
- }
- .col(@index, @list) when (@index =< @grid-columns) {
- @item: ~'.@{ant-prefix}-col-@{index}, .@{ant-prefix}-col-xs-@{index}, .@{ant-prefix}-col-sm-@{index}, .@{ant-prefix}-col-md-@{index}, .@{ant-prefix}-col-lg-@{index}';
- .col((@index + 1), ~'@{list}, @{item}');
- }
- .col(@index, @list) when (@index > @grid-columns) {
- @{list} {
- position: relative;
- padding-right: (@grid-gutter-width / 2);
- padding-left: (@grid-gutter-width / 2);
- }
- }
- .col(1);
-}
-
-.float-grid-columns(@class) {
- .col(@index) {
- // initial
- @item: ~'.@{ant-prefix}-col@{class}-@{index}';
- .col((@index + 1), @item);
- }
- .col(@index, @list) when (@index =< @grid-columns) {
- // general
- @item: ~'.@{ant-prefix}-col@{class}-@{index}';
- .col((@index + 1), ~'@{list}, @{item}');
- }
- .col(@index, @list) when (@index > @grid-columns) {
- // terminal
- @{list} {
- flex: 0 0 auto;
- float: left;
- }
- }
- .col(1); // kickstart it
-}
.loop-grid-columns(@index, @class) when (@index > 0) {
.@{ant-prefix}-col@{class}-@{index} {
display: block;
- box-sizing: border-box;
- width: percentage((@index / @grid-columns));
+ flex: 0 0 percentage((@index / @grid-columns));
+ max-width: percentage((@index / @grid-columns));
}
.@{ant-prefix}-col@{class}-push-@{index} {
left: percentage((@index / @grid-columns));
@@ -96,6 +49,5 @@
}
.make-grid(@class: ~'') {
- .float-grid-columns(@class);
.loop-grid-columns(@grid-columns, @class);
}
diff --git a/components/grid/style/rtl.less b/components/grid/style/rtl.less
new file mode 100644
index 000000000..5a9e7256b
--- /dev/null
+++ b/components/grid/style/rtl.less
@@ -0,0 +1,68 @@
+@import '../../style/themes/index';
+@import '../../style/mixins/index';
+
+.@{ant-prefix}-row {
+ &-rtl {
+ direction: rtl;
+ }
+}
+
+// mixin
+.loop-grid-columns(@index, @class) when (@index > 0) {
+ .@{ant-prefix}-col@{class}-push-@{index} {
+ // reset property in RTL direction
+ &.@{ant-prefix}-col-rtl {
+ right: percentage((@index / @grid-columns));
+ left: auto;
+ }
+ }
+
+ .@{ant-prefix}-col@{class}-pull-@{index} {
+ // reset property in RTL direction
+ &.@{ant-prefix}-col-rtl {
+ right: auto;
+ left: percentage((@index / @grid-columns));
+ }
+ }
+
+ .@{ant-prefix}-col@{class}-offset-@{index} {
+ // reset property in RTL direction
+ &.@{ant-prefix}-col-rtl {
+ margin-right: percentage((@index / @grid-columns));
+ margin-left: 0;
+ }
+ }
+}
+
+.loop-grid-columns(@index, @class) when (@index = 0) {
+ .@{ant-prefix}-col-push-@{index} {
+ // reset property in RTL direction
+ &.@{ant-prefix}-col-rtl {
+ right: auto;
+ }
+ }
+
+ .@{ant-prefix}-col-pull-@{index} {
+ &.@{ant-prefix}-col-rtl {
+ left: auto;
+ }
+ }
+
+ .@{ant-prefix}-col@{class}-push-@{index} {
+ &.@{ant-prefix}-col-rtl {
+ right: auto;
+ }
+ }
+
+ .@{ant-prefix}-col@{class}-pull-@{index} {
+ &.@{ant-prefix}-col-rtl {
+ left: auto;
+ }
+ }
+
+ .@{ant-prefix}-col@{class}-offset-@{index} {
+ &.@{ant-prefix}-col-rtl {
+ margin-right: 0;
+ }
+ }
+}
diff --git a/components/vc-tree-select/src/SearchInput.jsx b/components/vc-tree-select/src/SearchInput.jsx
index 03b29715c..dcb36f355 100644
--- a/components/vc-tree-select/src/SearchInput.jsx
+++ b/components/vc-tree-select/src/SearchInput.jsx
@@ -22,6 +22,7 @@ const SearchInput = {
ariaId: PropTypes.string,
isMultiple: PropTypes.looseBool.def(true),
},
+ emits: ['mirrorSearchValueChange'],
setup(props, { emit }) {
const measureRef = ref();
const inputWidth = ref(0);