@douyinfe/semi-foundation 2.5.1 → 2.7.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/button/button.scss +11 -0
  2. package/button/variables.scss +4 -0
  3. package/cascader/foundation.ts +19 -0
  4. package/datePicker/_utils/formatter.ts +2 -2
  5. package/datePicker/_utils/getInsetInputFormatToken.ts +42 -0
  6. package/datePicker/_utils/getInsetInputValueFromInsetInputStr.ts +60 -0
  7. package/datePicker/constants.ts +2 -0
  8. package/datePicker/datePicker.scss +136 -3
  9. package/datePicker/foundation.ts +96 -19
  10. package/datePicker/inputFoundation.ts +133 -5
  11. package/datePicker/monthFoundation.ts +1 -0
  12. package/datePicker/monthsGridFoundation.ts +4 -0
  13. package/datePicker/rtl.scss +8 -0
  14. package/datePicker/variables.scss +30 -0
  15. package/lib/cjs/button/button.css +9 -0
  16. package/lib/cjs/button/button.scss +11 -0
  17. package/lib/cjs/button/variables.scss +4 -0
  18. package/lib/cjs/cascader/foundation.d.ts +19 -0
  19. package/lib/cjs/cascader/foundation.js +22 -0
  20. package/lib/cjs/datePicker/_utils/formatter.d.ts +2 -2
  21. package/lib/cjs/datePicker/_utils/getInsetInputFormatToken.d.ts +20 -0
  22. package/lib/cjs/datePicker/_utils/getInsetInputFormatToken.js +61 -0
  23. package/lib/cjs/datePicker/_utils/getInsetInputValueFromInsetInputStr.d.ts +31 -0
  24. package/lib/cjs/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +76 -0
  25. package/lib/cjs/datePicker/constants.d.ts +2 -0
  26. package/lib/cjs/datePicker/constants.js +4 -3
  27. package/lib/cjs/datePicker/datePicker.css +104 -2
  28. package/lib/cjs/datePicker/datePicker.scss +136 -3
  29. package/lib/cjs/datePicker/foundation.d.ts +34 -11
  30. package/lib/cjs/datePicker/foundation.js +122 -9
  31. package/lib/cjs/datePicker/inputFoundation.d.ts +73 -4
  32. package/lib/cjs/datePicker/inputFoundation.js +196 -3
  33. package/lib/cjs/datePicker/monthFoundation.d.ts +1 -0
  34. package/lib/cjs/datePicker/monthsGridFoundation.d.ts +1 -0
  35. package/lib/cjs/datePicker/monthsGridFoundation.js +4 -2
  36. package/lib/cjs/datePicker/rtl.scss +8 -0
  37. package/lib/cjs/datePicker/variables.scss +30 -0
  38. package/lib/cjs/table/table.css +1 -1
  39. package/lib/cjs/table/table.scss +1 -1
  40. package/lib/cjs/table/variables.scss +1 -0
  41. package/lib/cjs/tag/tag.css +1 -0
  42. package/lib/cjs/tag/tag.scss +1 -0
  43. package/lib/cjs/tooltip/foundation.js +8 -8
  44. package/lib/cjs/treeSelect/foundation.d.ts +3 -2
  45. package/lib/cjs/treeSelect/foundation.js +28 -15
  46. package/lib/es/button/button.css +9 -0
  47. package/lib/es/button/button.scss +11 -0
  48. package/lib/es/button/variables.scss +4 -0
  49. package/lib/es/cascader/foundation.d.ts +19 -0
  50. package/lib/es/cascader/foundation.js +22 -1
  51. package/lib/es/datePicker/_utils/formatter.d.ts +2 -2
  52. package/lib/es/datePicker/_utils/getInsetInputFormatToken.d.ts +20 -0
  53. package/lib/es/datePicker/_utils/getInsetInputFormatToken.js +48 -0
  54. package/lib/es/datePicker/_utils/getInsetInputValueFromInsetInputStr.d.ts +31 -0
  55. package/lib/es/datePicker/_utils/getInsetInputValueFromInsetInputStr.js +66 -0
  56. package/lib/es/datePicker/constants.d.ts +2 -0
  57. package/lib/es/datePicker/constants.js +4 -3
  58. package/lib/es/datePicker/datePicker.css +104 -2
  59. package/lib/es/datePicker/datePicker.scss +136 -3
  60. package/lib/es/datePicker/foundation.d.ts +34 -11
  61. package/lib/es/datePicker/foundation.js +120 -9
  62. package/lib/es/datePicker/inputFoundation.d.ts +73 -4
  63. package/lib/es/datePicker/inputFoundation.js +192 -4
  64. package/lib/es/datePicker/monthFoundation.d.ts +1 -0
  65. package/lib/es/datePicker/monthsGridFoundation.d.ts +1 -0
  66. package/lib/es/datePicker/monthsGridFoundation.js +4 -2
  67. package/lib/es/datePicker/rtl.scss +8 -0
  68. package/lib/es/datePicker/variables.scss +30 -0
  69. package/lib/es/table/table.css +1 -1
  70. package/lib/es/table/table.scss +1 -1
  71. package/lib/es/table/variables.scss +1 -0
  72. package/lib/es/tag/tag.css +1 -0
  73. package/lib/es/tag/tag.scss +1 -0
  74. package/lib/es/tooltip/foundation.js +8 -8
  75. package/lib/es/treeSelect/foundation.d.ts +3 -2
  76. package/lib/es/treeSelect/foundation.js +27 -15
  77. package/package.json +3 -3
  78. package/table/table.scss +1 -1
  79. package/table/variables.scss +1 -0
  80. package/tag/tag.scss +1 -0
  81. package/tooltip/foundation.ts +8 -8
  82. package/treeSelect/foundation.ts +26 -19
@@ -23,6 +23,11 @@ $module: #{$prefix}-button;
23
23
  outline: none;
24
24
  vertical-align: middle;
25
25
  white-space: nowrap;
26
+
27
+ &:focus {
28
+ outline: $width-button-outline solid $color-button_primary-outline-focus;
29
+ }
30
+
26
31
  &-danger {
27
32
  background-color: $color-button_danger-bg-default;
28
33
  color: $color-button_danger-text-default;
@@ -36,6 +41,9 @@ $module: #{$prefix}-button;
36
41
  &.#{$module}-borderless {
37
42
  color: $color-button_danger-bg-default;
38
43
  }
44
+ &:not(.#{$module}-borderless):not(.#{$module}-light):focus {
45
+ outline-color: $color-button_danger-outline-focus;
46
+ }
39
47
  }
40
48
  &-warning {
41
49
  background-color: $color-button_warning-bg-default;
@@ -50,6 +58,9 @@ $module: #{$prefix}-button;
50
58
  &.#{$module}-borderless {
51
59
  color: $color-button_warning-bg-default;
52
60
  }
61
+ &:not(.#{$module}-borderless):not(.#{$module}-light):focus {
62
+ outline-color: $color-button_warning-outline-focus;
63
+ }
53
64
  }
54
65
  &-tertiary {
55
66
  background-color: $color-button_tertiary-bg-default;
@@ -10,6 +10,7 @@ $color-button_primary-text-hover: white; // 主要按钮文字颜色 - 悬浮
10
10
  $color-button_primary-bg-active: var(--semi-color-primary-active); // 主要按钮背景颜色 - 按下
11
11
  $color-button_primary-border-active: var(--semi-color-primary-active); // 主要按钮描边颜色 - 按下
12
12
  $color-button_primary-text-active: white; // 主要按钮文字颜色 - 按下
13
+ $color-button_primary-outline-focus: var(--semi-color-primary-light-active); // 主要按钮轮廓 - 聚焦
13
14
 
14
15
  // secondary
15
16
  $color-button_secondary-bg-default: var(--semi-color-secondary); // 次要按钮背景颜色
@@ -36,6 +37,7 @@ $color-button_danger-text-hover: white; // 危险按钮文字颜色 - 悬浮
36
37
  $color-button_danger-bg-active: var(--semi-color-danger-active); // 危险按钮背景颜色 - 按下
37
38
  $color-button_danger-border-active: var(--semi-color-danger-active); // 危险按钮描边颜色 - 按下
38
39
  $color-button_danger-text-active: white; // 危险按钮文字颜色 - 按下
40
+ $color-button_danger-outline-focus: var(--semi-color-danger-light-active); // 危险按钮轮廓 - 聚焦
39
41
 
40
42
  // warning
41
43
  $color-button_warning-bg-default: var(--semi-color-warning); // 警告按钮背景颜色
@@ -49,6 +51,7 @@ $color-button_warning-text-hover: white; // 警告按钮文字颜色 - 悬浮
49
51
  $color-button_warning-bg-active: var(--semi-color-warning-active); // 警告按钮背景颜色 - 按下
50
52
  $color-button_warning-border-active: var(--semi-color-warning-active); // 警告按钮描边颜色 - 按下
51
53
  $color-button_warning-text-active: white; // 警告按钮文字颜色 - 按下
54
+ $color-button_warning-outline-focus: var(--semi-color-warning-light-active); // 警告按钮轮廓 - 聚焦
52
55
 
53
56
  // tertiary
54
57
  $color-button_tertiary-bg-default: var(--semi-color-tertiary); // 第三按钮背景颜色
@@ -134,3 +137,4 @@ $height-button_default: $height-control-default; // 按钮高度 - 默认
134
137
  $width-button-border: $border-thickness; // 按钮描边宽度
135
138
  $radius-button: var(--semi-border-radius-small); // 按钮圆角大小
136
139
  $radius-button_group: $radius-button; // 按钮组圆角大小
140
+ $width-button-outline: 2px; // 按钮轮廓宽度
@@ -18,6 +18,7 @@ import {
18
18
  calcMergeType
19
19
  } from './util';
20
20
  import { strings } from './constants';
21
+ import isEnterPress from '../utils/isEnterPress';
21
22
 
22
23
  export interface BasicData {
23
24
  data: BasicCascaderData;
@@ -602,6 +603,15 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
602
603
  }
603
604
  }
604
605
 
606
+ /**
607
+ * A11y: simulate selection click
608
+ */
609
+ handleSelectionEnterPress(keyboardEvent: any) {
610
+ if (isEnterPress(keyboardEvent)) {
611
+ this.handleClick(keyboardEvent);
612
+ }
613
+ }
614
+
605
615
  toggleHoverState(bool: boolean) {
606
616
  this._adapter.toggleHovering(bool);
607
617
  }
@@ -911,6 +921,15 @@ export default class CascaderFoundation extends BaseFoundation<CascaderAdapter,
911
921
  this._adapter.rePositionDropdown();
912
922
  }
913
923
 
924
+ /**
925
+ * A11y: simulate clear button click
926
+ */
927
+ handleClearEnterPress(keyboardEvent: any) {
928
+ if (isEnterPress(keyboardEvent)) {
929
+ this.handleClear();
930
+ }
931
+ }
932
+
914
933
  getRenderData() {
915
934
  const { keyEntities, isSearching } = this.getStates();
916
935
  const isFilterable = this._isFilterable();
@@ -18,9 +18,9 @@ export function formatDateValues(
18
18
  values: BaseValueType[],
19
19
  formatToken: string,
20
20
  {
21
- groupInnerSeparator = strings.DEFAULT_SEPARATOR_RANGE,
21
+ groupInnerSeparator = strings.DEFAULT_SEPARATOR_RANGE as string,
22
22
  groupSize = 1,
23
- groupSeparator = strings.DEFAULT_SEPARATOR_MULTIPLE,
23
+ groupSeparator = strings.DEFAULT_SEPARATOR_MULTIPLE as string,
24
24
  } = {},
25
25
  locale: any
26
26
  ) {
@@ -0,0 +1,42 @@
1
+ import { strings } from '../constants';
2
+ import { getDefaultFormatTokenByType } from './getDefaultFormatToken';
3
+
4
+ /**
5
+ * 获取 insetInput 输入框的 placeholder
6
+ * Get the placeholder of the insetInput input
7
+ *
8
+ * If type is time related, we only recognize the format like `dateFormat timeFormat`
9
+ * - 'yyyy-MM-dd HH:mm:ss' // ok
10
+ * - 'yyyy-MM-dd HH:mm:ss' // bad format
11
+ *
12
+ * @example
13
+ * 'yyyy-MM-dd' => 'yyyy-MM-dd'
14
+ * 'yyyy-MM' => 'yyyy-MM'
15
+ * 'yyyy-MM-dd HH:mm:ss' => 'yyyy-MM-dd HH:mm:ss'
16
+ * 'yyyy-MM-dd HH:mm' => 'yyyy-MM-dd HH:mm'
17
+ * 'Pp' => 'yyyy-MM-dd'
18
+ */
19
+ export default function getInsetInputFormatToken(options: { format: string, type: typeof strings.TYPE_SET[number]; }) {
20
+ const { format, type } = options;
21
+ const dateReg = /([yMd]{0,4}[^a-z\s]*[yMd]{0,4}[^a-z\s]*[yMd]{0,4})/i;
22
+ const dateTimeReg = /([yMd]{0,4}[^a-z\s]*[yMd]{0,4}[^a-z\s]*[yMd]{0,4}) (H{0,2}[^a-z\s]*m{0,2}[^a-z\s]*s{0,2})/i;
23
+ const defaultToken = getDefaultFormatTokenByType(type);
24
+ let insetInputFormat: string;
25
+
26
+ switch (type) {
27
+ case 'dateTime':
28
+ case 'dateTimeRange':
29
+ const dateTimeResult = dateTimeReg.exec(format);
30
+ insetInputFormat = (dateTimeResult && dateTimeResult[1] && dateTimeResult[2]) ? `${dateTimeResult[1]} ${dateTimeResult[2]}` : defaultToken;
31
+ break;
32
+ case 'date':
33
+ case 'month':
34
+ case 'dateRange':
35
+ default:
36
+ const dateResult = dateReg.exec(format);
37
+ insetInputFormat = dateResult && dateResult[1] || defaultToken;
38
+ break;
39
+ }
40
+
41
+ return insetInputFormat;
42
+ }
@@ -0,0 +1,60 @@
1
+ import { strings } from '../constants';
2
+
3
+ /**
4
+ * 从 insetInputStr 字符串解析出 insetInputValue 对象
5
+ * Parse the insetInputValue object from the insetInputStr string
6
+ *
7
+ * @example
8
+ * ```
9
+ * '2022-02-01' => { monthLeft: { dateInput: '2022-02-01' } }
10
+ * '2022-02-01 00:00:00' => { monthLeft: { dateInput: '2022-02-01', timeInput: '00:00:00' } }
11
+ * '2022-02-01 00:00:00 ~ 2022-02-15 00:00:00' => { monthLeft: { dateInput: '2022-02-01', timeInput: '00:00:00'}, monthRight: { dateInput: '2022-02-15', timeInput: '00:00:00' } }
12
+ *
13
+ * '2022-0' => { monthLeft: { dateInput: '2022-0' } }
14
+ * '2022-02-01 00:00:' => { monthLeft: { dateInput: '2022-02-01', timeInput: '00:00:' } }
15
+ * '2022-02-01 00:00:00 ~ ' => { monthLeft: { dateInput: '2022-02-01', timeInput: '00:00:00'}, monthRight: { dateInput: '', timeInput: '' } }
16
+ * ' ~ 2022-02-15 00:00:00' => { monthLeft: { dateInput: '', timeInput: '' }, monthRight: { dateInput: '2022-02-15', timeInput: '00:00:00' } }
17
+ * ```
18
+ */
19
+ export default function getInsetInputValueFromInsetInputStr(options: { inputValue: string; rangeSeparator: string, type: typeof strings.TYPE_SET[number] }) {
20
+ const timeSeparator = ' ';
21
+ const { inputValue = '', rangeSeparator, type } = options;
22
+ let leftDateInput, leftTimeInput, rightDateInput, rightTimeInput;
23
+ const insetInputValue = {
24
+ monthLeft: {
25
+ dateInput: '',
26
+ timeInput: '',
27
+ },
28
+ monthRight: {
29
+ dateInput: '',
30
+ timeInput: '',
31
+ }
32
+ };
33
+
34
+ switch (type) {
35
+ case 'date':
36
+ case 'month':
37
+ insetInputValue.monthLeft.dateInput = inputValue;
38
+ break;
39
+ case 'dateRange':
40
+ [leftDateInput = '', rightDateInput = ''] = inputValue.split(rangeSeparator);
41
+ insetInputValue.monthLeft.dateInput = leftDateInput;
42
+ insetInputValue.monthRight.dateInput = rightDateInput;
43
+ break;
44
+ case 'dateTime':
45
+ [leftDateInput = '', leftTimeInput = ''] = inputValue.split(timeSeparator);
46
+ insetInputValue.monthLeft.dateInput = leftDateInput;
47
+ insetInputValue.monthLeft.timeInput = leftTimeInput;
48
+ break;
49
+ case 'dateTimeRange':
50
+ const [leftInput = '', rightInput = ''] = inputValue.split(rangeSeparator);
51
+ [leftDateInput = '', leftTimeInput = ''] = leftInput.split(timeSeparator);
52
+ [rightDateInput = '', rightTimeInput = ''] = rightInput.split(timeSeparator);
53
+ insetInputValue.monthLeft.dateInput = leftDateInput;
54
+ insetInputValue.monthLeft.timeInput = leftTimeInput;
55
+ insetInputValue.monthRight.dateInput = rightDateInput;
56
+ insetInputValue.monthRight.timeInput = rightTimeInput;
57
+ break;
58
+ }
59
+ return insetInputValue;
60
+ }
@@ -52,6 +52,7 @@ const strings = {
52
52
  PANEL_TYPE_RIGHT: 'right',
53
53
  STATUS: VALIDATE_STATUS,
54
54
  POSITION_SET: POPOVER_STRINGS.POSITION_SET,
55
+ POSITION_INLINE_INPUT: 'leftTopOver',
55
56
  ...formatToken,
56
57
  } as const;
57
58
 
@@ -59,6 +60,7 @@ const numbers = {
59
60
  WEEK_START_ON: 0, // Take the day of the week as the first day of the week, 0 for Sunday, 1 for Monday, and so on
60
61
  WEEK_HEIGHT: 36, // Date per line height 36px
61
62
  SPACING: popoverNumber.SPACING, // Floating distance trigger interval
63
+ SPACING_INSET_INPUT: 1,
62
64
  } as const;
63
65
 
64
66
  export { cssClasses, strings, numbers };
@@ -6,6 +6,7 @@ $module: #{$prefix}-datepicker;
6
6
  .#{$module} {
7
7
  box-sizing: border-box;
8
8
  display: inline-block;
9
+ vertical-align: top;
9
10
 
10
11
  // 双月网格
11
12
 
@@ -45,6 +46,34 @@ $module: #{$prefix}-datepicker;
45
46
  min-height: $height-datepicker_dateType_yamShowing_min;
46
47
  }
47
48
 
49
+ &[x-insetInput=true] {
50
+ .#{$module}-month-grid-left,
51
+ .#{$module}-month-grid-right {
52
+ &[x-open-type=year] {
53
+ min-height: $height-datepicker_month_grid_yearType_insetInput;
54
+ }
55
+ &[x-open-type=time] {
56
+ min-height: $height-datepicker_month_grid_timeType_insetInput;
57
+ }
58
+ }
59
+
60
+ .#{$module}-navigation {
61
+ padding-top: $spacing-datepicker_navigation_insetInput-paddingY;
62
+ padding-bottom: $spacing-datepicker_navigation_insetInput-paddingY;
63
+ }
64
+
65
+ .#{$module}-tpk {
66
+ min-height: $height-datepicker_timeType_insetInput_tpk;
67
+ }
68
+
69
+ &[x-type=dateTime],
70
+ &[x-type=dateTimeRange] {
71
+ .#{$module}-yam {
72
+ height: $height-datepicker_timeType_insetInput_yam;
73
+ }
74
+ }
75
+ }
76
+
48
77
  // 年月选择返回主面板
49
78
  .#{$module}-yearmonth-header {
50
79
  background: $color-datepicker_header-bg-default;
@@ -92,6 +121,7 @@ $module: #{$prefix}-datepicker;
92
121
 
93
122
  @include font-size-regular;
94
123
  min-height: $height-datepicker_timepicker_header_min;
124
+ line-height: $height-datepicker_timepicker_header_min;
95
125
  }
96
126
  }
97
127
 
@@ -581,6 +611,41 @@ $module: #{$prefix}-datepicker;
581
611
  cursor: pointer;
582
612
  }
583
613
 
614
+ &-inset-input {
615
+ &-wrapper {
616
+ display: flex;
617
+ flex-wrap: nowrap;
618
+ justify-content: space-between;
619
+ box-sizing: border-box;
620
+ column-gap: $spacing-datepicker_insetInput_wrapper-margin;
621
+ padding: $spacing-datepicker_insetInput_wrapper-paddingY $spacing-datepicker_insetInput_wrapper-paddingX;
622
+ padding-bottom: $spacing-datepicker_insetInput_wrapper-paddingBottom;
623
+
624
+ width: $width-datepicker_insetInput_date_type_wrapper;
625
+ &[x-type=dateRange],
626
+ &[x-type=dateTimeRange] {
627
+ width: $width-datepicker_insetInput_date_range_type_wrapper;
628
+ }
629
+ &[x-type=month] {
630
+ width: $width-datepicker_insetInput_month_type_wrapper;
631
+ }
632
+
633
+ .#{$prefix}-input-wrapper {
634
+ flex: 1;
635
+ flex-shrink: 0;
636
+ }
637
+ }
638
+
639
+ &-separator {
640
+ flex-grow: 0;
641
+ flex-shrink: 0;
642
+ height: $height-datepicker_insetInput_separator;
643
+ line-height: $height-datepicker_insetInput_separator;
644
+ padding: $spacing-datepicker_insetInput_separator-paddingY $spacing-datepicker_insetInput_separator-paddingX;
645
+ color: $color-datepicker_insetInput_separator;
646
+ }
647
+ }
648
+
584
649
  &-range {
585
650
 
586
651
  &-input {
@@ -862,6 +927,33 @@ $module: #{$prefix}-datepicker;
862
927
  min-height: 6 * $width-datepicker_day_compact;
863
928
  }
864
929
  }
930
+
931
+ &[x-insetInput=true] {
932
+ .#{$module}-month-grid-left,
933
+ .#{$module}-month-grid-right {
934
+ &[x-open-type=year] {
935
+ min-height: $height-datepicker_tpk_compact;
936
+ }
937
+ &[x-open-type=time] {
938
+ min-height: $height-datepicker_tpk_compact;
939
+ }
940
+ }
941
+
942
+ .#{$module}-yam-showing {
943
+ min-height: $height-datepicker_tpk_compact;
944
+ }
945
+
946
+ .#{$module}-tpk {
947
+ min-height: $height-datepicker_insetInput_tpk_compact;
948
+ }
949
+
950
+ &[x-type=dateTime],
951
+ &[x-type=dateTimeRange] {
952
+ .#{$module}-yam {
953
+ height: $height-datepicker_timeType_insetInput_yam_compact;
954
+ }
955
+ }
956
+ }
865
957
  }
866
958
 
867
959
  // 年月选择器
@@ -1039,6 +1131,46 @@ $module: #{$prefix}-datepicker;
1039
1131
  padding-right: $spacing-datepicker_footer_compact-paddintRight;
1040
1132
  padding-bottom: $spacing-datepicker_footer_compact-paddintBottom;
1041
1133
  }
1134
+
1135
+ .#{$module}-inset-input {
1136
+ &-wrapper {
1137
+ column-gap: $spacing-datepicker_insetInput_wrapper_compact-margin;
1138
+ padding: $spacing-datepicker_insetInput_wrapper_compact-paddingY $spacing-datepicker_insetInput_wrapper_compact-paddingX;
1139
+ padding-bottom: $spacing-datepicker_insetInput_wrapper_compact-paddingBottom;
1140
+
1141
+ width: $width-datepicker_insetInput_date_type_wrapper_compact;
1142
+ &[x-type=dateRange],
1143
+ &[x-type=dateTimeRange] {
1144
+ width: $width-datepicker_insetInput_date_range_type_wrapper_compact;
1145
+ padding-top: $spacing-datepicker_insetInput_wrapper_rangeType_compact-paddingTop;
1146
+
1147
+ .#{$prefix}-input-wrapper {
1148
+ margin-top: $spacing-datepicker_insetInput_wrapper_compact-paddingY;
1149
+ }
1150
+ }
1151
+ &[x-type=month] {
1152
+ width: $width-datepicker_insetInput_month_type_wrapper_compact;
1153
+ }
1154
+
1155
+ .#{$prefix}-input-wrapper {
1156
+ height: $height-datepicker_insetInput_wrapper_compact;
1157
+ box-sizing: border-box;
1158
+
1159
+ .#{$prefix}-input {
1160
+ font-size: $fontSize-datepicker_insetInput_compact-fontSize;
1161
+ line-height: $height-datepicker_insetInput_compact;
1162
+ height: $height-datepicker_insetInput_compact;
1163
+ vertical-align: top;
1164
+ }
1165
+ }
1166
+ }
1167
+
1168
+ &-separator {
1169
+ border-left: $width-datepicker-border solid $color-datepicker_border-bg-default;
1170
+ transform: translateX(50%);
1171
+ height: auto;
1172
+ }
1173
+ }
1042
1174
  }
1043
1175
 
1044
1176
  // 向上弹出时固定高度为6周 #1042
@@ -1046,8 +1178,10 @@ $module: #{$prefix}-datepicker;
1046
1178
 
1047
1179
  &-wrapper {
1048
1180
 
1049
- &[x-placement*="top"],
1050
- &[x-placement*="Top"] {
1181
+ &[x-placement^="top"],
1182
+ &[x-placement="leftTop"],
1183
+ &[x-placement="rightTop"],
1184
+ &[x-placement*="BottomOver"] {
1051
1185
  .#{$module} .#{$module}-weeks {
1052
1186
  min-height: 6 * $width-datepicker_day;
1053
1187
  }
@@ -1056,7 +1190,6 @@ $module: #{$prefix}-datepicker;
1056
1190
  min-height: 6 * $width-datepicker_day_compact;
1057
1191
  }
1058
1192
  }
1059
-
1060
1193
  }
1061
1194
  }
1062
1195