@qsxy/element-plus-react 1.0.1 → 1.0.3

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 (256) hide show
  1. package/dist/Alert/Alert.d.ts +7 -0
  2. package/dist/Alert/Alert.js +98 -0
  3. package/dist/Alert/index.d.ts +2 -0
  4. package/dist/Alert/index.js +1 -0
  5. package/dist/Alert/typings.d.ts +45 -0
  6. package/dist/Alert/typings.js +1 -0
  7. package/dist/Calendar/Calendar.js +12 -3
  8. package/dist/Calendar/Footer.js +4 -2
  9. package/dist/Calendar/QuarterPanel.d.ts +4 -0
  10. package/dist/Calendar/QuarterPanel.js +109 -0
  11. package/dist/Calendar/WeekPanel.js +1 -1
  12. package/dist/Calendar/typings.d.ts +1 -1
  13. package/dist/Card/Card.js +13 -6
  14. package/dist/Card/typings.d.ts +1 -1
  15. package/dist/Cascader/Cascader.js +1 -1
  16. package/dist/Cascader/useCascader.d.ts +0 -14
  17. package/dist/Cascader/useCascader.js +33 -32
  18. package/dist/Checkbox/Checkbox.js +3 -2
  19. package/dist/ConfigProvider/ConfigProvider.js +2 -24
  20. package/dist/ConfigProvider/ConfigProviderContext.js +1 -1
  21. package/dist/ConfigProvider/typings.d.ts +1 -1
  22. package/dist/Container/Main.d.ts +1 -1
  23. package/dist/Container/typings.d.ts +1 -1
  24. package/dist/DatePicker/DatePicker.js +38 -12
  25. package/dist/DatePicker/DateRangePicker.js +27 -9
  26. package/dist/DatePicker/main.js +1 -1
  27. package/dist/DatePicker/typings.d.ts +1 -1
  28. package/dist/DateTimePicker/DateTimePicker.js +2 -2
  29. package/dist/Dialog/Dialog.js +5 -12
  30. package/dist/Input/Input.js +190 -149
  31. package/dist/Input/InputRange.js +1 -1
  32. package/dist/Input/TextArea.js +87 -12
  33. package/dist/Input/typings.d.ts +56 -5
  34. package/dist/Input/useComposition.d.ts +23 -0
  35. package/dist/Input/useComposition.js +63 -0
  36. package/dist/Input/utils.d.ts +7 -0
  37. package/dist/Input/utils.js +95 -0
  38. package/dist/InputNumber/InputNumber.js +351 -141
  39. package/dist/InputNumber/typings.d.ts +16 -2
  40. package/dist/Loading/Loading.js +5 -2
  41. package/dist/Menu/Menu.js +25 -1
  42. package/dist/Menu/MenuItem.js +4 -2
  43. package/dist/Menu/SubMenu.js +2 -2
  44. package/dist/Menu/SubMenuCollapseTransition.js +14 -9
  45. package/dist/Menu/typings.d.ts +2 -1
  46. package/dist/Message/Message.js +51 -23
  47. package/dist/Message/index.js +8 -10
  48. package/dist/Message/typings.d.ts +8 -5
  49. package/dist/MessageBox/MessageBox.js +52 -30
  50. package/dist/MessageBox/index.d.ts +2 -1
  51. package/dist/MessageBox/index.js +4 -2
  52. package/dist/MessageBox/typings.d.ts +3 -0
  53. package/dist/Notification/Notification.js +26 -19
  54. package/dist/Select/Option.js +30 -14
  55. package/dist/Select/SelectContext.d.ts +5 -5
  56. package/dist/Select/SelectContext.js +2 -1
  57. package/dist/Select/SelectCore.d.ts +2 -2
  58. package/dist/Select/SelectCore.js +172 -449
  59. package/dist/Select/SelectDropdown.js +85 -155
  60. package/dist/Select/index.d.ts +1 -1
  61. package/dist/Select/typings.d.ts +52 -22
  62. package/dist/Select/useSelect.d.ts +128 -0
  63. package/dist/Select/useSelect.js +524 -0
  64. package/dist/Space/Space.d.ts +4 -0
  65. package/dist/Space/Space.js +128 -0
  66. package/dist/Space/SpaceItem.d.ts +7 -0
  67. package/dist/Space/SpaceItem.js +14 -0
  68. package/dist/Space/index.d.ts +3 -0
  69. package/dist/Space/index.js +2 -0
  70. package/dist/Space/typings.d.ts +26 -0
  71. package/dist/Space/typings.js +1 -0
  72. package/dist/Space/useSpace.d.ts +7 -0
  73. package/dist/Space/useSpace.js +104 -0
  74. package/dist/Statistic/Statistic.d.ts +4 -0
  75. package/dist/Statistic/Statistic.js +92 -0
  76. package/dist/Statistic/index.d.ts +2 -0
  77. package/dist/Statistic/index.js +1 -0
  78. package/dist/Statistic/typings.d.ts +28 -0
  79. package/dist/Statistic/typings.js +1 -0
  80. package/dist/Switch/Switch.js +2 -2
  81. package/dist/Table/Table.js +3 -0
  82. package/dist/Table/typings.d.ts +2 -0
  83. package/dist/Table/util.js +6 -5
  84. package/dist/Tag/Tag.js +22 -17
  85. package/dist/Tag/typings.d.ts +1 -1
  86. package/dist/Text/Text.d.ts +4 -0
  87. package/dist/Text/Text.js +84 -0
  88. package/dist/Text/index.d.ts +2 -0
  89. package/dist/Text/index.js +1 -0
  90. package/dist/Text/typings.d.ts +15 -0
  91. package/dist/Text/typings.js +1 -0
  92. package/dist/TimePicker/TimePicker.js +2 -2
  93. package/dist/Tree/CollapseTransition.d.ts +7 -0
  94. package/dist/Tree/CollapseTransition.js +60 -0
  95. package/dist/Tree/Tree.d.ts +3 -140
  96. package/dist/Tree/Tree.js +350 -77
  97. package/dist/Tree/TreeContext.d.ts +9 -0
  98. package/dist/Tree/TreeContext.js +14 -0
  99. package/dist/Tree/TreeNode.d.ts +5 -3
  100. package/dist/Tree/TreeNode.js +321 -331
  101. package/dist/Tree/TreeNodeContent.d.ts +9 -0
  102. package/dist/Tree/TreeNodeContent.js +22 -0
  103. package/dist/Tree/index.d.ts +3 -8
  104. package/dist/Tree/index.js +1 -4
  105. package/dist/Tree/model/node.d.ts +62 -0
  106. package/dist/Tree/model/node.js +601 -0
  107. package/dist/Tree/model/tree-store.d.ts +52 -0
  108. package/dist/Tree/model/tree-store.js +510 -0
  109. package/dist/Tree/model/useDragNode.d.ts +30 -0
  110. package/dist/Tree/model/useDragNode.js +293 -0
  111. package/dist/Tree/model/useKeydown.d.ts +0 -0
  112. package/dist/Tree/model/useKeydown.js +104 -0
  113. package/dist/Tree/model/useNodeExpandEventBroadcast.d.ts +15 -0
  114. package/dist/Tree/model/useNodeExpandEventBroadcast.js +54 -0
  115. package/dist/Tree/model/util.d.ts +7 -0
  116. package/dist/Tree/model/util.js +24 -0
  117. package/dist/Tree/typings.d.ts +225 -114
  118. package/dist/TreeSelect/TreeSelect.d.ts +2 -10
  119. package/dist/TreeSelect/TreeSelect.js +90 -566
  120. package/dist/TreeSelect/TreeSelectOption.d.ts +6 -0
  121. package/dist/TreeSelect/TreeSelectOption.js +62 -0
  122. package/dist/TreeSelect/cacheOptions.d.ts +9 -0
  123. package/dist/TreeSelect/cacheOptions.js +22 -0
  124. package/dist/TreeSelect/index.d.ts +0 -1
  125. package/dist/TreeSelect/typings.d.ts +11 -63
  126. package/dist/TreeSelect/useSelect.d.ts +125 -0
  127. package/dist/TreeSelect/useSelect.js +104 -0
  128. package/dist/TreeSelect/useTree.d.ts +130 -0
  129. package/dist/TreeSelect/useTree.js +285 -0
  130. package/dist/TreeSelect/utils.d.ts +10 -0
  131. package/dist/TreeSelect/utils.js +38 -0
  132. package/dist/Upload/UploadContent.js +2 -0
  133. package/dist/Upload/ajax.js +3 -0
  134. package/dist/Upload/typings.d.ts +4 -0
  135. package/dist/Util/aria.d.ts +25 -0
  136. package/dist/Util/aria.js +118 -0
  137. package/dist/Util/base.d.ts +5 -0
  138. package/dist/Util/base.js +140 -1
  139. package/dist/config/Constants.d.ts +3 -0
  140. package/dist/config/Constants.js +8 -0
  141. package/dist/hooks/index.d.ts +1 -0
  142. package/dist/hooks/index.js +1 -0
  143. package/dist/hooks/popperPropsUtils.js +1 -1
  144. package/dist/hooks/treePropsUtils.d.ts +3 -3
  145. package/dist/hooks/treePropsUtils.js +2 -2
  146. package/dist/hooks/useCalcInputWidth.d.ts +8 -0
  147. package/dist/{Tree/useUnmount.js → hooks/useCalcInputWidth.js} +23 -27
  148. package/dist/hooks/useComposition.d.ts +16 -0
  149. package/dist/hooks/useComposition.js +39 -0
  150. package/dist/hooks/useConfigProvider.d.ts +27 -0
  151. package/dist/hooks/useConfigProvider.js +78 -0
  152. package/dist/hooks/useCursor.d.ts +2 -0
  153. package/dist/hooks/useCursor.js +52 -0
  154. package/dist/hooks/useFocusController.d.ts +27 -0
  155. package/dist/hooks/useFocusController.js +72 -0
  156. package/dist/hooks/useResizeObserver.js +6 -6
  157. package/dist/index.css +1 -1
  158. package/dist/index.d.ts +18 -11
  159. package/dist/index.js +11 -5
  160. package/dist/locale/en.d.ts +15 -0
  161. package/dist/locale/en.js +15 -0
  162. package/dist/locale/zhCn.d.ts +15 -0
  163. package/dist/locale/zhCn.js +15 -0
  164. package/package.json +1 -1
  165. package/theme-chalk/alert.scss +115 -0
  166. package/theme-chalk/aside.scss +8 -8
  167. package/theme-chalk/button-group.scss +80 -80
  168. package/theme-chalk/button.scss +304 -304
  169. package/theme-chalk/calendar/date-table.scss +164 -164
  170. package/theme-chalk/calendar/index.scss +1 -0
  171. package/theme-chalk/calendar/quarter-table.scss +78 -0
  172. package/theme-chalk/checkbox.scss +34 -0
  173. package/theme-chalk/color/index.scss +20 -20
  174. package/theme-chalk/common/transition.scss +142 -142
  175. package/theme-chalk/common/var.scss +1 -1
  176. package/theme-chalk/container.scss +14 -14
  177. package/theme-chalk/dark/css-vars.scss +39 -39
  178. package/theme-chalk/dark/var.scss +225 -225
  179. package/theme-chalk/date-picker.scss +12 -12
  180. package/theme-chalk/drawer.scss +1 -0
  181. package/theme-chalk/footer.scss +12 -12
  182. package/theme-chalk/header.scss +12 -12
  183. package/theme-chalk/index.scss +4 -0
  184. package/theme-chalk/input/input-range.scss +2 -1
  185. package/theme-chalk/input/input.scss +298 -437
  186. package/theme-chalk/input/input.scss--bak +578 -0
  187. package/theme-chalk/input-number.bak +172 -0
  188. package/theme-chalk/input-number.scss +192 -172
  189. package/theme-chalk/link.scss +87 -87
  190. package/theme-chalk/main.scss +14 -14
  191. package/theme-chalk/menu.scss +353 -353
  192. package/theme-chalk/message.scss +104 -178
  193. package/theme-chalk/mixins/_button.scss +224 -224
  194. package/theme-chalk/mixins/_col.scss +33 -33
  195. package/theme-chalk/mixins/_var.scss +67 -67
  196. package/theme-chalk/mixins/config.scss +5 -5
  197. package/theme-chalk/mixins/function.scss +99 -99
  198. package/theme-chalk/mixins/mixins.scss +240 -240
  199. package/theme-chalk/mixins/utils.scss +39 -39
  200. package/theme-chalk/notification.bak +156 -0
  201. package/theme-chalk/notification.scss +109 -156
  202. package/theme-chalk/popper.scss +104 -104
  203. package/theme-chalk/radio-button.scss +169 -169
  204. package/theme-chalk/select/index.scss +222 -191
  205. package/theme-chalk/select/index.scss--bak +247 -0
  206. package/theme-chalk/select/option-group.scss +2 -2
  207. package/theme-chalk/select/option.scss +2 -2
  208. package/theme-chalk/select/select-dropdown.scss +2 -2
  209. package/theme-chalk/space.scss +20 -0
  210. package/theme-chalk/statistic.scss +35 -0
  211. package/theme-chalk/switch.scss +300 -300
  212. package/theme-chalk/tag.scss +150 -172
  213. package/theme-chalk/tag.scss--bak +203 -0
  214. package/theme-chalk/text.scss +48 -0
  215. package/theme-chalk/transition.scss +34 -4
  216. package/theme-chalk/tree-select.scss +41 -25
  217. package/theme-chalk/tree.scss +136 -0
  218. package/theme-chalk/var.scss +83 -83
  219. package/dist/Tree/DirectoryTree.d.ts +0 -15
  220. package/dist/Tree/DirectoryTree.js +0 -183
  221. package/dist/Tree/DropIndicator.d.ts +0 -8
  222. package/dist/Tree/DropIndicator.js +0 -34
  223. package/dist/Tree/Indent.d.ts +0 -9
  224. package/dist/Tree/Indent.js +0 -25
  225. package/dist/Tree/MotionTreeNode.d.ts +0 -14
  226. package/dist/Tree/MotionTreeNode.js +0 -125
  227. package/dist/Tree/NodeList.d.ts +0 -50
  228. package/dist/Tree/NodeList.js +0 -301
  229. package/dist/Tree/RCTree.d.ts +0 -248
  230. package/dist/Tree/RCTree.js +0 -1216
  231. package/dist/Tree/contextTypes.d.ts +0 -69
  232. package/dist/Tree/contextTypes.js +0 -9
  233. package/dist/Tree/typings.tsx--bak +0 -245
  234. package/dist/Tree/useUnmount.d.ts +0 -5
  235. package/dist/Tree/util.d.ts +0 -51
  236. package/dist/Tree/util.js +0 -303
  237. package/dist/Tree/utils/conductUtil.d.ts +0 -17
  238. package/dist/Tree/utils/conductUtil.js +0 -209
  239. package/dist/Tree/utils/dictUtil.d.ts +0 -13
  240. package/dist/Tree/utils/dictUtil.js +0 -75
  241. package/dist/Tree/utils/diffUtil.d.ts +0 -7
  242. package/dist/Tree/utils/diffUtil.js +0 -48
  243. package/dist/Tree/utils/dropIndicator.d.ts +0 -11
  244. package/dist/Tree/utils/dropIndicator.js +0 -36
  245. package/dist/Tree/utils/iconUtil.d.ts +0 -5
  246. package/dist/Tree/utils/iconUtil.js +0 -62
  247. package/dist/Tree/utils/keyUtil.d.ts +0 -2
  248. package/dist/Tree/utils/keyUtil.js +0 -3
  249. package/dist/Tree/utils/motion.d.ts +0 -10
  250. package/dist/Tree/utils/motion.js +0 -54
  251. package/dist/Tree/utils/pickAttrs.d.ts +0 -11
  252. package/dist/Tree/utils/pickAttrs.js +0 -51
  253. package/dist/Tree/utils/treeUtil.d.ts +0 -86
  254. package/dist/Tree/utils/treeUtil.js +0 -364
  255. package/dist/TreeSelect/Utils.d.ts +0 -3
  256. package/dist/TreeSelect/Utils.js +0 -20
@@ -0,0 +1,172 @@
1
+ @use './mixins/config' as *;
2
+
3
+ @use 'sass:map';
4
+ @use 'sass:math';
5
+
6
+ $input-height: () !default;
7
+ $input-height: map.merge(
8
+ (
9
+ 'large': var(--#{$namespace}-component-size-large),
10
+ 'default': 32px,
11
+ 'small': var(--#{$namespace}-component-size-small),
12
+ ),
13
+ $input-height
14
+ );
15
+
16
+ .#{$namespace}-input-number {
17
+ --#{$namespace}-input-number-controls-height: 16px;
18
+ --el-input-inner-height: calc(var(--el-input-height, 32px) - 2px);
19
+
20
+ position: relative;
21
+ display: inline-flex;
22
+ width: 150px;
23
+ line-height: #{map.get($input-height, 'default')};
24
+ vertical-align: middle;
25
+
26
+ .#{$namespace}-input__wrapper {
27
+ padding-left: 42px;
28
+ padding-right: 42px;
29
+ }
30
+
31
+ .#{$namespace}-input__inner {
32
+ -webkit-appearance: none;
33
+ -moz-appearance: textfield;
34
+ text-align: center;
35
+ line-height: 1;
36
+ }
37
+
38
+ .#{$namespace}-input-number__increase,
39
+ .#{$namespace}-input-number__decrease {
40
+ display: flex;
41
+ justify-content: center;
42
+ align-items: center;
43
+ height: auto;
44
+
45
+ position: absolute;
46
+ z-index: 1;
47
+ top: 1px;
48
+ bottom: 1px;
49
+
50
+ width: 32px;
51
+ background: var(--#{$namespace}-fill-color-light);
52
+ color: var(--#{$namespace}-text-color-regular);
53
+ cursor: pointer;
54
+ font-size: 13px;
55
+ user-select: none;
56
+
57
+ &:hover {
58
+ color: var(--#{$namespace}-color-primary);
59
+
60
+ & ~ .#{$namespace}-input:not(.is-disabled) .#{$namespace}-input__wrapper {
61
+ box-shadow: 0 0 0 1px var(--#{$namespace}-input-focus-border-color) inset;
62
+ }
63
+ }
64
+
65
+ &.is-disabled {
66
+ color: var(--#{$namespace}-disabled-text-color);
67
+ cursor: not-allowed;
68
+ background-color: var(--#{$namespace}-disabled-bg-color);
69
+ border-color: var(--#{$namespace}-border-color-light);
70
+ }
71
+ }
72
+
73
+ .#{$namespace}-input-number__increase {
74
+ right: 1px;
75
+ border-radius: 0 4px 4px 0;
76
+ border-left: 1px solid var(--#{$namespace}-border-color);
77
+ }
78
+
79
+ .#{$namespace}-input-number__decrease {
80
+ left: 1px;
81
+ border-radius: 4px 0 0 4px;
82
+ border-right: 1px solid var(--#{$namespace}-border-color);
83
+ }
84
+
85
+ .is-disabled {
86
+ .#{$namespace}-input-number__increase,
87
+ .#{$namespace}-input-number__decrease {
88
+ border-color: var(--#{$namespace}-border-color-light);
89
+ color: var(--#{$namespace}-disabled-text-color);
90
+
91
+ &:hover {
92
+ color: var(--#{$namespace}-disabled-text-color);
93
+ cursor: not-allowed;
94
+ }
95
+ }
96
+ }
97
+
98
+ @each $size in (large, small) {
99
+ &.#{$namespace}-input-number--#{$size} {
100
+ line-height: calc(#{map.get($input-height, $size)} - 2px);
101
+
102
+ .#{$namespace}-input-number__increase,
103
+ .#{$namespace}-input-number__decrease {
104
+ width: map.get($input-height, $size);
105
+ font-size: 14px;
106
+ }
107
+
108
+ .#{$namespace}-input__wrapper {
109
+ padding-left: calc(#{map.get($input-height, $size)} + 7px);
110
+ padding-right: calc(#{map.get($input-height, $size)} + 7px);
111
+ }
112
+ }
113
+ }
114
+
115
+ .#{$namespace}-input-number--small {
116
+ .#{$namespace}-input-number__increase,
117
+ .#{$namespace}-input-number__decrease {
118
+ [class*='#{$namespace}-icon'] {
119
+ transform: scale(0.9);
120
+ }
121
+ }
122
+ }
123
+
124
+ .is-without-controls {
125
+ .#{$namespace}-input__wrapper {
126
+ padding-left: 15px;
127
+ padding-right: 15px;
128
+ }
129
+ }
130
+
131
+ &.is-controls-right {
132
+ .#{$namespace}-input__wrapper {
133
+ padding-left: 15px;
134
+ padding-right: 42px;
135
+ }
136
+
137
+ .#{$namespace}-input-number__increase,
138
+ .#{$namespace}-input-number__decrease {
139
+ height: var(--#{$namespace}-input-number-controls-height);
140
+ line-height: var(--#{$namespace}-input-number-controls-height);
141
+
142
+ [class*='#{$namespace}-icon'] {
143
+ transform: scale(0.8);
144
+ }
145
+ }
146
+
147
+ .#{$namespace}-input-number__increase {
148
+ bottom: auto;
149
+ left: auto;
150
+ border-radius: 0 4px 0 0;
151
+ border-bottom: 1px solid var(--#{$namespace}-border-color);
152
+ }
153
+
154
+ .#{$namespace}-input-number__decrease {
155
+ right: 1px;
156
+ top: auto;
157
+ left: auto;
158
+ border-right: none;
159
+ border-left: 1px solid var(--#{$namespace}-border-color);
160
+ border-radius: 0 0 4px 0;
161
+ }
162
+
163
+ @each $size in (large, small) {
164
+ &[class*='#{$size}'] {
165
+ [class*='increase'],
166
+ [class*='decrease'] {
167
+ --#{$namespace}-input-number-controls-height: #{calc(map.get($input-height, $size) / 2)};
168
+ }
169
+ }
170
+ }
171
+ }
172
+ }
@@ -1,172 +1,192 @@
1
- @use './mixins/config' as *;
2
-
3
- @use 'sass:map';
4
- @use 'sass:math';
5
-
6
- $input-height: () !default;
7
- $input-height: map.merge(
8
- (
9
- 'large': var(--#{$namespace}-component-size-large),
10
- 'default': 32px,
11
- 'small': var(--#{$namespace}-component-size-small),
12
- ),
13
- $input-height
14
- );
15
-
16
- .#{$namespace}-input-number {
17
- --#{$namespace}-input-number-controls-height: 16px;
18
- --el-input-inner-height: calc(var(--el-input-height, 32px) - 2px);
19
-
20
- position: relative;
21
- display: inline-flex;
22
- width: 150px;
23
- line-height: #{map.get($input-height, 'default')};
24
- vertical-align: middle;
25
-
26
- .#{$namespace}-input__wrapper {
27
- padding-left: 42px;
28
- padding-right: 42px;
29
- }
30
-
31
- .#{$namespace}-input__inner {
32
- -webkit-appearance: none;
33
- -moz-appearance: textfield;
34
- text-align: center;
35
- line-height: 1;
36
- }
37
-
38
- .#{$namespace}-input-number__increase,
39
- .#{$namespace}-input-number__decrease {
40
- display: flex;
41
- justify-content: center;
42
- align-items: center;
43
- height: auto;
44
-
45
- position: absolute;
46
- z-index: 1;
47
- top: 1px;
48
- bottom: 1px;
49
-
50
- width: 32px;
51
- background: var(--#{$namespace}-fill-color-light);
52
- color: var(--#{$namespace}-text-color-regular);
53
- cursor: pointer;
54
- font-size: 13px;
55
- user-select: none;
56
-
57
- &:hover {
58
- color: var(--#{$namespace}-color-primary);
59
-
60
- & ~ .#{$namespace}-input:not(.is-disabled) .#{$namespace}-input__wrapper {
61
- box-shadow: 0 0 0 1px var(--#{$namespace}-input-focus-border-color) inset;
62
- }
63
- }
64
-
65
- &.is-disabled {
66
- color: var(--#{$namespace}-disabled-text-color);
67
- cursor: not-allowed;
68
- background-color: var(--#{$namespace}-disabled-bg-color);
69
- border-color: var(--#{$namespace}-border-color-light);
70
- }
71
- }
72
-
73
- .#{$namespace}-input-number__increase {
74
- right: 1px;
75
- border-radius: 0 4px 4px 0;
76
- border-left: 1px solid var(--#{$namespace}-border-color);
77
- }
78
-
79
- .#{$namespace}-input-number__decrease {
80
- left: 1px;
81
- border-radius: 4px 0 0 4px;
82
- border-right: 1px solid var(--#{$namespace}-border-color);
83
- }
84
-
85
- .is-disabled {
86
- .#{$namespace}-input-number__increase,
87
- .#{$namespace}-input-number__decrease {
88
- border-color: var(--#{$namespace}-border-color-light);
89
- color: var(--#{$namespace}-disabled-text-color);
90
-
91
- &:hover {
92
- color: var(--#{$namespace}-disabled-text-color);
93
- cursor: not-allowed;
94
- }
95
- }
96
- }
97
-
98
- @each $size in (large, small) {
99
- &.#{$namespace}-input-number--#{$size} {
100
- line-height: calc(#{map.get($input-height, $size)} - 2px);
101
-
102
- .#{$namespace}-input-number__increase,
103
- .#{$namespace}-input-number__decrease {
104
- width: map.get($input-height, $size);
105
- font-size: 14px;
106
- }
107
-
108
- .#{$namespace}-input__wrapper {
109
- padding-left: calc(#{map.get($input-height, $size)} + 7px);
110
- padding-right: calc(#{map.get($input-height, $size)} + 7px);
111
- }
112
- }
113
- }
114
-
115
- .#{$namespace}-input-number--small {
116
- .#{$namespace}-input-number__increase,
117
- .#{$namespace}-input-number__decrease {
118
- [class*='#{$namespace}-icon'] {
119
- transform: scale(0.9);
120
- }
121
- }
122
- }
123
-
124
- .is-without-controls {
125
- .#{$namespace}-input__wrapper {
126
- padding-left: 15px;
127
- padding-right: 15px;
128
- }
129
- }
130
-
131
- &.is-controls-right {
132
- .#{$namespace}-input__wrapper {
133
- padding-left: 15px;
134
- padding-right: 42px;
135
- }
136
-
137
- .#{$namespace}-input-number__increase,
138
- .#{$namespace}-input-number__decrease {
139
- height: var(--#{$namespace}-input-number-controls-height);
140
- line-height: var(--#{$namespace}-input-number-controls-height);
141
-
142
- [class*='#{$namespace}-icon'] {
143
- transform: scale(0.8);
144
- }
145
- }
146
-
147
- .#{$namespace}-input-number__increase {
148
- bottom: auto;
149
- left: auto;
150
- border-radius: 0 4px 0 0;
151
- border-bottom: 1px solid var(--#{$namespace}-border-color);
152
- }
153
-
154
- .#{$namespace}-input-number__decrease {
155
- right: 1px;
156
- top: auto;
157
- left: auto;
158
- border-right: none;
159
- border-left: 1px solid var(--#{$namespace}-border-color);
160
- border-radius: 0 0 4px 0;
161
- }
162
-
163
- @each $size in (large, small) {
164
- &[class*='#{$size}'] {
165
- [class*='increase'],
166
- [class*='decrease'] {
167
- --#{$namespace}-input-number-controls-height: #{calc(map.get($input-height, $size) / 2)};
168
- }
169
- }
170
- }
171
- }
172
- }
1
+ @use 'sass:math';
2
+ @use 'sass:map';
3
+
4
+ @use 'mixins/mixins' as *;
5
+ @use 'common/var' as *;
6
+
7
+ @include b(input-number) {
8
+ position: relative;
9
+ display: inline-flex;
10
+ width: map.get($input-number-width, 'default');
11
+ line-height: #{map.get($input-height, 'default') - 2};
12
+ vertical-align: middle;
13
+
14
+ .#{$namespace}-input {
15
+ &__wrapper {
16
+ padding-left: #{map.get($input-height, 'default') + 10};
17
+ padding-right: #{map.get($input-height, 'default') + 10};
18
+ }
19
+
20
+ &__inner {
21
+ -webkit-appearance: none;
22
+ -moz-appearance: textfield;
23
+ text-align: center;
24
+ line-height: 1;
25
+ &::-webkit-inner-spin-button,
26
+ &::-webkit-outer-spin-button {
27
+ margin: 0;
28
+ -webkit-appearance: none;
29
+ }
30
+ }
31
+ }
32
+ @each $align in (left, right, center) {
33
+ @include when($align) {
34
+ .#{$namespace}-input__inner {
35
+ text-align: $align;
36
+ }
37
+ }
38
+ }
39
+ @include e((increase, decrease)) {
40
+ display: flex;
41
+ justify-content: center;
42
+ align-items: center;
43
+ height: auto;
44
+
45
+ position: absolute;
46
+ z-index: 1;
47
+ top: 1px;
48
+ bottom: 1px;
49
+
50
+ width: map.get($input-height, 'default');
51
+ background: getCssVar('fill-color', 'light');
52
+ color: getCssVar('text-color', 'regular');
53
+ cursor: pointer;
54
+ font-size: 13px;
55
+ user-select: none;
56
+
57
+ &:hover {
58
+ color: getCssVar('color-primary');
59
+
60
+ & ~ .#{$namespace}-input:not(.is-disabled) .#{$namespace}-input__wrapper {
61
+ box-shadow: 0 0 0 1px
62
+ var(
63
+ #{getCssVarName('input', 'focus-border-color')},
64
+ map.get($input, 'focus-border-color')
65
+ )
66
+ inset;
67
+ }
68
+ }
69
+
70
+ &.is-disabled {
71
+ color: getCssVar('disabled-text-color');
72
+ cursor: not-allowed;
73
+ }
74
+ }
75
+
76
+ @include e(increase) {
77
+ right: 1px;
78
+ border-radius: 0 getCssVar('border-radius-base')
79
+ getCssVar('border-radius-base') 0;
80
+ border-left: getCssVar('border');
81
+ }
82
+
83
+ @include e(decrease) {
84
+ left: 1px;
85
+ border-radius: getCssVar('border-radius-base') 0 0
86
+ getCssVar('border-radius-base');
87
+ border-right: getCssVar('border');
88
+ }
89
+
90
+ @include when(disabled) {
91
+ @include e((increase, decrease)) {
92
+ border-color: getCssVar('disabled-border-color');
93
+ color: getCssVar('disabled-border-color');
94
+
95
+ &:hover {
96
+ color: getCssVar('disabled-border-color');
97
+ cursor: not-allowed;
98
+ }
99
+ }
100
+ }
101
+
102
+ @each $size in (large, small) {
103
+ @include m($size) {
104
+ width: map.get($input-number-width, $size);
105
+ line-height: #{map.get($input-height, $size) - 2};
106
+
107
+ @include e((increase, decrease)) {
108
+ width: map.get($input-height, $size);
109
+ font-size: map.get($input-font-size, $size);
110
+ }
111
+
112
+ @include when(controls-right) {
113
+ .#{$namespace}-input--#{$size} {
114
+ .#{$namespace}-input__wrapper {
115
+ padding-right: #{map.get($input-height, $size) + 7};
116
+ }
117
+ }
118
+ }
119
+
120
+ .#{$namespace}-input--#{$size} {
121
+ .#{$namespace}-input__wrapper {
122
+ padding-left: #{map.get($input-height, $size) + 7};
123
+ padding-right: #{map.get($input-height, $size) + 7};
124
+ }
125
+ }
126
+ }
127
+ }
128
+
129
+ @include m(small) {
130
+ @include e((increase, decrease)) {
131
+ [class*='#{$namespace}-icon'] {
132
+ transform: scale(0.9);
133
+ }
134
+ }
135
+ }
136
+
137
+ @include when(without-controls) {
138
+ .#{$namespace}-input__wrapper {
139
+ padding-left: 15px;
140
+ padding-right: 15px;
141
+ }
142
+ }
143
+
144
+ @include when(controls-right) {
145
+ .#{$namespace}-input__wrapper {
146
+ padding-left: 15px;
147
+ padding-right: #{map.get($input-height, 'default') + 10};
148
+ }
149
+
150
+ @include e((increase, decrease)) {
151
+ @include set-css-var-value(
152
+ ('input', 'number-controls-height'),
153
+ math.div(map.get($input-height, 'default') - 2, 2)
154
+ );
155
+
156
+ height: getCssVar('input-number-controls-height');
157
+ line-height: getCssVar('input-number-controls-height');
158
+
159
+ [class*='#{$namespace}-icon'] {
160
+ transform: scale(0.8);
161
+ }
162
+ }
163
+
164
+ @include e(increase) {
165
+ bottom: auto;
166
+ left: auto;
167
+ border-radius: 0 getCssVar('border-radius-base') 0 0;
168
+ border-bottom: getCssVar('border');
169
+ }
170
+
171
+ @include e(decrease) {
172
+ right: 1px;
173
+ top: auto;
174
+ left: auto;
175
+ border-right: none;
176
+ border-left: getCssVar('border');
177
+ border-radius: 0 0 getCssVar('border-radius-base') 0;
178
+ }
179
+
180
+ @each $size in (large, small) {
181
+ &[class*='#{$size}'] {
182
+ [class*='increase'],
183
+ [class*='decrease'] {
184
+ @include set-css-var-value(
185
+ ('input', 'number-controls-height'),
186
+ math.div(map.get($input-height, $size) - 2, 2)
187
+ );
188
+ }
189
+ }
190
+ }
191
+ }
192
+ }