@qsxy/element-plus-react 1.0.2 → 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 (216) 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/Card/Card.js +5 -3
  8. package/dist/Cascader/useCascader.d.ts +0 -14
  9. package/dist/Cascader/useCascader.js +33 -32
  10. package/dist/Checkbox/Checkbox.js +3 -2
  11. package/dist/ConfigProvider/ConfigProvider.js +2 -24
  12. package/dist/ConfigProvider/ConfigProviderContext.js +1 -1
  13. package/dist/ConfigProvider/typings.d.ts +1 -1
  14. package/dist/Container/Main.d.ts +1 -1
  15. package/dist/Container/typings.d.ts +1 -1
  16. package/dist/Dialog/Dialog.js +5 -12
  17. package/dist/Input/Input.js +68 -43
  18. package/dist/Input/TextArea.js +1 -1
  19. package/dist/Input/typings.d.ts +42 -1
  20. package/dist/Input/utils.d.ts +1 -0
  21. package/dist/Input/utils.js +5 -1
  22. package/dist/InputNumber/InputNumber.js +351 -141
  23. package/dist/InputNumber/typings.d.ts +15 -1
  24. package/dist/Loading/Loading.js +5 -2
  25. package/dist/Menu/Menu.js +25 -1
  26. package/dist/Menu/MenuItem.js +4 -2
  27. package/dist/Menu/SubMenu.js +2 -2
  28. package/dist/Menu/SubMenuCollapseTransition.js +14 -9
  29. package/dist/Menu/typings.d.ts +2 -1
  30. package/dist/Message/Message.js +51 -23
  31. package/dist/Message/index.js +8 -10
  32. package/dist/Message/typings.d.ts +8 -5
  33. package/dist/MessageBox/MessageBox.js +52 -30
  34. package/dist/MessageBox/index.d.ts +2 -1
  35. package/dist/MessageBox/index.js +4 -2
  36. package/dist/MessageBox/typings.d.ts +3 -0
  37. package/dist/Notification/Notification.js +26 -19
  38. package/dist/Select/SelectContext.d.ts +2 -1
  39. package/dist/Select/SelectContext.js +2 -1
  40. package/dist/Select/SelectCore.js +13 -7
  41. package/dist/Select/SelectDropdown.js +23 -15
  42. package/dist/Select/index.d.ts +1 -1
  43. package/dist/Select/typings.d.ts +13 -9
  44. package/dist/Select/useSelect.d.ts +13 -10
  45. package/dist/Select/useSelect.js +34 -26
  46. package/dist/Space/Space.d.ts +4 -0
  47. package/dist/Space/Space.js +128 -0
  48. package/dist/Space/SpaceItem.d.ts +7 -0
  49. package/dist/Space/SpaceItem.js +14 -0
  50. package/dist/Space/index.d.ts +3 -0
  51. package/dist/Space/index.js +2 -0
  52. package/dist/Space/typings.d.ts +26 -0
  53. package/dist/Space/typings.js +1 -0
  54. package/dist/Space/useSpace.d.ts +7 -0
  55. package/dist/Space/useSpace.js +104 -0
  56. package/dist/Statistic/Statistic.d.ts +4 -0
  57. package/dist/Statistic/Statistic.js +92 -0
  58. package/dist/Statistic/index.d.ts +2 -0
  59. package/dist/Statistic/index.js +1 -0
  60. package/dist/Statistic/typings.d.ts +28 -0
  61. package/dist/Statistic/typings.js +1 -0
  62. package/dist/Switch/Switch.js +2 -2
  63. package/dist/Table/Table.js +3 -0
  64. package/dist/Table/typings.d.ts +2 -0
  65. package/dist/Tag/typings.d.ts +1 -1
  66. package/dist/Text/Text.d.ts +4 -0
  67. package/dist/Text/Text.js +84 -0
  68. package/dist/Text/index.d.ts +2 -0
  69. package/dist/Text/index.js +1 -0
  70. package/dist/Text/typings.d.ts +15 -0
  71. package/dist/Text/typings.js +1 -0
  72. package/dist/Tree/CollapseTransition.d.ts +7 -0
  73. package/dist/Tree/CollapseTransition.js +60 -0
  74. package/dist/Tree/Tree.d.ts +3 -140
  75. package/dist/Tree/Tree.js +350 -77
  76. package/dist/Tree/TreeContext.d.ts +9 -0
  77. package/dist/Tree/TreeContext.js +14 -0
  78. package/dist/Tree/TreeNode.d.ts +5 -3
  79. package/dist/Tree/TreeNode.js +321 -331
  80. package/dist/Tree/TreeNodeContent.d.ts +9 -0
  81. package/dist/Tree/TreeNodeContent.js +22 -0
  82. package/dist/Tree/index.d.ts +3 -8
  83. package/dist/Tree/index.js +1 -4
  84. package/dist/Tree/model/node.d.ts +62 -0
  85. package/dist/Tree/model/node.js +601 -0
  86. package/dist/Tree/model/tree-store.d.ts +52 -0
  87. package/dist/Tree/model/tree-store.js +510 -0
  88. package/dist/Tree/model/useDragNode.d.ts +30 -0
  89. package/dist/Tree/model/useDragNode.js +293 -0
  90. package/dist/Tree/model/useKeydown.d.ts +0 -0
  91. package/dist/Tree/model/useKeydown.js +104 -0
  92. package/dist/Tree/model/useNodeExpandEventBroadcast.d.ts +15 -0
  93. package/dist/Tree/model/useNodeExpandEventBroadcast.js +54 -0
  94. package/dist/Tree/model/util.d.ts +7 -0
  95. package/dist/Tree/model/util.js +24 -0
  96. package/dist/Tree/typings.d.ts +225 -114
  97. package/dist/TreeSelect/TreeSelect.d.ts +2 -10
  98. package/dist/TreeSelect/TreeSelect.js +90 -566
  99. package/dist/TreeSelect/TreeSelectOption.d.ts +6 -0
  100. package/dist/TreeSelect/TreeSelectOption.js +62 -0
  101. package/dist/TreeSelect/cacheOptions.d.ts +9 -0
  102. package/dist/TreeSelect/cacheOptions.js +22 -0
  103. package/dist/TreeSelect/index.d.ts +0 -1
  104. package/dist/TreeSelect/typings.d.ts +11 -63
  105. package/dist/TreeSelect/useSelect.d.ts +125 -0
  106. package/dist/TreeSelect/useSelect.js +104 -0
  107. package/dist/TreeSelect/useTree.d.ts +130 -0
  108. package/dist/TreeSelect/useTree.js +285 -0
  109. package/dist/TreeSelect/utils.d.ts +10 -0
  110. package/dist/TreeSelect/utils.js +38 -0
  111. package/dist/Upload/UploadContent.js +2 -0
  112. package/dist/Upload/ajax.js +3 -0
  113. package/dist/Upload/typings.d.ts +4 -0
  114. package/dist/Util/aria.js +12 -12
  115. package/dist/Util/base.d.ts +5 -0
  116. package/dist/Util/base.js +140 -1
  117. package/dist/config/Constants.d.ts +3 -0
  118. package/dist/config/Constants.js +8 -0
  119. package/dist/hooks/index.d.ts +1 -0
  120. package/dist/hooks/index.js +1 -0
  121. package/dist/hooks/popperPropsUtils.js +1 -1
  122. package/dist/hooks/treePropsUtils.d.ts +3 -3
  123. package/dist/hooks/treePropsUtils.js +2 -2
  124. package/dist/hooks/useConfigProvider.d.ts +27 -0
  125. package/dist/hooks/useConfigProvider.js +78 -0
  126. package/dist/hooks/useResizeObserver.js +6 -6
  127. package/dist/index.css +1 -1
  128. package/dist/index.d.ts +18 -11
  129. package/dist/index.js +11 -5
  130. package/package.json +1 -1
  131. package/theme-chalk/alert.scss +115 -0
  132. package/theme-chalk/aside.scss +8 -8
  133. package/theme-chalk/button-group.scss +80 -80
  134. package/theme-chalk/button.scss +304 -304
  135. package/theme-chalk/calendar/date-table.scss +164 -164
  136. package/theme-chalk/checkbox.scss +34 -0
  137. package/theme-chalk/color/index.scss +20 -20
  138. package/theme-chalk/common/transition.scss +142 -142
  139. package/theme-chalk/container.scss +14 -14
  140. package/theme-chalk/dark/css-vars.scss +39 -39
  141. package/theme-chalk/dark/var.scss +225 -225
  142. package/theme-chalk/date-picker.scss +12 -12
  143. package/theme-chalk/drawer.scss +1 -0
  144. package/theme-chalk/footer.scss +12 -12
  145. package/theme-chalk/header.scss +12 -12
  146. package/theme-chalk/index.scss +4 -0
  147. package/theme-chalk/input/input-range.scss +2 -1
  148. package/theme-chalk/input/input.scss +439 -424
  149. package/theme-chalk/input-number.bak +172 -0
  150. package/theme-chalk/input-number.scss +192 -172
  151. package/theme-chalk/link.scss +87 -87
  152. package/theme-chalk/main.scss +14 -14
  153. package/theme-chalk/menu.scss +353 -353
  154. package/theme-chalk/message.scss +104 -178
  155. package/theme-chalk/mixins/_button.scss +224 -224
  156. package/theme-chalk/mixins/_col.scss +33 -33
  157. package/theme-chalk/mixins/_var.scss +67 -67
  158. package/theme-chalk/mixins/config.scss +5 -5
  159. package/theme-chalk/mixins/function.scss +99 -99
  160. package/theme-chalk/mixins/mixins.scss +240 -240
  161. package/theme-chalk/mixins/utils.scss +39 -39
  162. package/theme-chalk/notification.bak +156 -0
  163. package/theme-chalk/notification.scss +109 -156
  164. package/theme-chalk/popper.scss +104 -104
  165. package/theme-chalk/radio-button.scss +169 -169
  166. package/theme-chalk/select/index.scss +278 -272
  167. package/theme-chalk/space.scss +20 -0
  168. package/theme-chalk/statistic.scss +35 -0
  169. package/theme-chalk/switch.scss +300 -300
  170. package/theme-chalk/tag.scss +181 -181
  171. package/theme-chalk/text.scss +48 -0
  172. package/theme-chalk/transition.scss +34 -4
  173. package/theme-chalk/tree-select.scss +41 -25
  174. package/theme-chalk/tree.scss +136 -0
  175. package/theme-chalk/var.scss +83 -83
  176. package/dist/Input/Input.1.d.ts +0 -16
  177. package/dist/Input/Input.1.js +0 -376
  178. package/dist/Tree/DirectoryTree.d.ts +0 -15
  179. package/dist/Tree/DirectoryTree.js +0 -183
  180. package/dist/Tree/DropIndicator.d.ts +0 -8
  181. package/dist/Tree/DropIndicator.js +0 -34
  182. package/dist/Tree/Indent.d.ts +0 -9
  183. package/dist/Tree/Indent.js +0 -25
  184. package/dist/Tree/MotionTreeNode.d.ts +0 -14
  185. package/dist/Tree/MotionTreeNode.js +0 -125
  186. package/dist/Tree/NodeList.d.ts +0 -50
  187. package/dist/Tree/NodeList.js +0 -301
  188. package/dist/Tree/RCTree.d.ts +0 -248
  189. package/dist/Tree/RCTree.js +0 -1216
  190. package/dist/Tree/contextTypes.d.ts +0 -69
  191. package/dist/Tree/contextTypes.js +0 -9
  192. package/dist/Tree/typings.tsx--bak +0 -245
  193. package/dist/Tree/useUnmount.d.ts +0 -5
  194. package/dist/Tree/useUnmount.js +0 -34
  195. package/dist/Tree/util.d.ts +0 -51
  196. package/dist/Tree/util.js +0 -303
  197. package/dist/Tree/utils/conductUtil.d.ts +0 -17
  198. package/dist/Tree/utils/conductUtil.js +0 -209
  199. package/dist/Tree/utils/dictUtil.d.ts +0 -13
  200. package/dist/Tree/utils/dictUtil.js +0 -75
  201. package/dist/Tree/utils/diffUtil.d.ts +0 -7
  202. package/dist/Tree/utils/diffUtil.js +0 -48
  203. package/dist/Tree/utils/dropIndicator.d.ts +0 -11
  204. package/dist/Tree/utils/dropIndicator.js +0 -36
  205. package/dist/Tree/utils/iconUtil.d.ts +0 -5
  206. package/dist/Tree/utils/iconUtil.js +0 -62
  207. package/dist/Tree/utils/keyUtil.d.ts +0 -2
  208. package/dist/Tree/utils/keyUtil.js +0 -3
  209. package/dist/Tree/utils/motion.d.ts +0 -10
  210. package/dist/Tree/utils/motion.js +0 -54
  211. package/dist/Tree/utils/pickAttrs.d.ts +0 -11
  212. package/dist/Tree/utils/pickAttrs.js +0 -51
  213. package/dist/Tree/utils/treeUtil.d.ts +0 -86
  214. package/dist/Tree/utils/treeUtil.js +0 -364
  215. package/dist/TreeSelect/Utils.d.ts +0 -3
  216. package/dist/TreeSelect/Utils.js +0 -20
@@ -1,104 +1,104 @@
1
- @use 'mixins/mixins' as *;
2
- @use 'mixins/var' as *;
3
- @use 'common/var' as *;
4
-
5
- @include b(popper) {
6
- @include set-component-css-var('popper', $popper);
7
- }
8
-
9
- @include b(popper) {
10
- position: absolute;
11
- border-radius: getCssVar('popper', 'border-radius');
12
- // padding: 5px 11px;
13
- z-index: 2000;
14
- font-size: 12px;
15
- line-height: 20px;
16
- min-width: 10px;
17
- overflow-wrap: break-word;
18
- word-break: break-all;
19
- visibility: visible;
20
-
21
- $arrow-selector: #{& + '__arrow'};
22
-
23
- @include when(dark) {
24
- color: getCssVar('bg-color');
25
- background: getCssVar('text-color', 'primary');
26
- border: 1px solid getCssVar('text-color', 'primary');
27
-
28
- > #{$arrow-selector}::before {
29
- border: 1px solid getCssVar('text-color', 'primary');
30
- background: getCssVar('text-color', 'primary');
31
- right: 0;
32
- }
33
- }
34
-
35
- @include when(light) {
36
- background: getCssVar('bg-color', 'overlay');
37
- border: 1px solid getCssVar('border-color', 'light');
38
-
39
- > #{$arrow-selector}::before {
40
- border: 1px solid getCssVar('border-color', 'light');
41
- background: getCssVar('bg-color', 'overlay');
42
- right: 0;
43
- }
44
- }
45
-
46
- @include when(pure) {
47
- padding: 0;
48
- }
49
-
50
- @include e(arrow) {
51
- position: absolute;
52
- width: 10px;
53
- height: 10px;
54
- z-index: -1;
55
-
56
- &::before {
57
- position: absolute;
58
- width: 10px;
59
- height: 10px;
60
- z-index: -1;
61
- content: ' ';
62
- transform: rotate(45deg);
63
- background: getCssVar('text-color', 'primary');
64
- box-sizing: border-box;
65
- }
66
- }
67
-
68
- $placements: (
69
- 'top': 'bottom',
70
- 'bottom': 'top',
71
- 'left': 'right',
72
- 'right': 'left',
73
- );
74
-
75
- @each $placement, $opposite in $placements {
76
- &[data-popper-placement^='#{$placement}'] > #{$arrow-selector} {
77
- #{$opposite}: -5px;
78
-
79
- &::before {
80
- @if $placement == top {
81
- border-bottom-right-radius: 2px;
82
- }
83
- @if $placement == bottom {
84
- border-top-left-radius: 2px;
85
- }
86
- @if $placement == left {
87
- border-top-right-radius: 2px;
88
- }
89
- @if $placement == right {
90
- border-bottom-left-radius: 2px;
91
- }
92
- }
93
- }
94
- }
95
-
96
- @each $placement, $adjacency in ('top': 'left', 'bottom': 'right', 'left': 'bottom', 'right': 'top') {
97
- &[data-popper-placement^='#{$placement}'] > {
98
- #{$arrow-selector}::before {
99
- border-#{$placement}-color: transparent !important;
100
- border-#{$adjacency}-color: transparent !important;
101
- }
102
- }
103
- }
104
- }
1
+ @use 'mixins/mixins' as *;
2
+ @use 'mixins/var' as *;
3
+ @use 'common/var' as *;
4
+
5
+ @include b(popper) {
6
+ @include set-component-css-var('popper', $popper);
7
+ }
8
+
9
+ @include b(popper) {
10
+ position: absolute;
11
+ border-radius: getCssVar('popper', 'border-radius');
12
+ // padding: 5px 11px;
13
+ z-index: 2000;
14
+ font-size: 12px;
15
+ line-height: 20px;
16
+ min-width: 10px;
17
+ overflow-wrap: break-word;
18
+ word-break: break-all;
19
+ visibility: visible;
20
+
21
+ $arrow-selector: #{& + '__arrow'};
22
+
23
+ @include when(dark) {
24
+ color: getCssVar('bg-color');
25
+ background: getCssVar('text-color', 'primary');
26
+ border: 1px solid getCssVar('text-color', 'primary');
27
+
28
+ > #{$arrow-selector}::before {
29
+ border: 1px solid getCssVar('text-color', 'primary');
30
+ background: getCssVar('text-color', 'primary');
31
+ right: 0;
32
+ }
33
+ }
34
+
35
+ @include when(light) {
36
+ background: getCssVar('bg-color', 'overlay');
37
+ border: 1px solid getCssVar('border-color', 'light');
38
+
39
+ > #{$arrow-selector}::before {
40
+ border: 1px solid getCssVar('border-color', 'light');
41
+ background: getCssVar('bg-color', 'overlay');
42
+ right: 0;
43
+ }
44
+ }
45
+
46
+ @include when(pure) {
47
+ padding: 0;
48
+ }
49
+
50
+ @include e(arrow) {
51
+ position: absolute;
52
+ width: 10px;
53
+ height: 10px;
54
+ z-index: -1;
55
+
56
+ &::before {
57
+ position: absolute;
58
+ width: 10px;
59
+ height: 10px;
60
+ z-index: -1;
61
+ content: ' ';
62
+ transform: rotate(45deg);
63
+ background: getCssVar('text-color', 'primary');
64
+ box-sizing: border-box;
65
+ }
66
+ }
67
+
68
+ $placements: (
69
+ 'top': 'bottom',
70
+ 'bottom': 'top',
71
+ 'left': 'right',
72
+ 'right': 'left',
73
+ );
74
+
75
+ @each $placement, $opposite in $placements {
76
+ &[data-popper-placement^='#{$placement}'] > #{$arrow-selector} {
77
+ #{$opposite}: -5px;
78
+
79
+ &::before {
80
+ @if $placement == top {
81
+ border-bottom-right-radius: 2px;
82
+ }
83
+ @if $placement == bottom {
84
+ border-top-left-radius: 2px;
85
+ }
86
+ @if $placement == left {
87
+ border-top-right-radius: 2px;
88
+ }
89
+ @if $placement == right {
90
+ border-bottom-left-radius: 2px;
91
+ }
92
+ }
93
+ }
94
+ }
95
+
96
+ @each $placement, $adjacency in ('top': 'left', 'bottom': 'right', 'left': 'bottom', 'right': 'top') {
97
+ &[data-popper-placement^='#{$placement}'] > {
98
+ #{$arrow-selector}::before {
99
+ border-#{$placement}-color: transparent !important;
100
+ border-#{$adjacency}-color: transparent !important;
101
+ }
102
+ }
103
+ }
104
+ }
@@ -1,169 +1,169 @@
1
- @use 'sass:map';
2
-
3
- @use 'mixins/mixins' as *;
4
- @use 'mixins/utils' as *;
5
- @use 'mixins/var' as *;
6
- @use 'mixins/button' as *;
7
- @use 'common/var' as *;
8
-
9
- @include b(radio-button) {
10
- @include set-component-css-var('radio-button', $radio-button);
11
- }
12
-
13
- @include b(radio-button) {
14
- position: relative;
15
- display: inline-block;
16
- outline: none;
17
-
18
- @include e(inner) {
19
- display: inline-block;
20
- line-height: 1;
21
- white-space: nowrap;
22
- vertical-align: middle;
23
- background: var(
24
- #{getCssVarName('button-bg-color')},
25
- map.get($button, 'bg-color')
26
- );
27
- border: getCssVar('border');
28
- font-weight: var(
29
- #{getCssVarName('button-font-weight')},
30
- map.get($button, 'font-weight')
31
- );
32
- border-left: 0;
33
- color: var(
34
- #{getCssVarName('button-text-color')},
35
- map.get($button, 'text-color')
36
- );
37
- -webkit-appearance: none;
38
- text-align: center;
39
- box-sizing: border-box;
40
- outline: none;
41
- margin: 0;
42
- position: relative;
43
- cursor: pointer;
44
- transition: getCssVar('transition-all');
45
- user-select: none;
46
-
47
- @include button-size(
48
- map.get($button-padding-vertical, 'default') - $button-border-width,
49
- map.get($button-padding-horizontal, 'default') - $button-border-width,
50
- map.get($button-font-size, 'default'),
51
- 0
52
- );
53
-
54
- &:hover {
55
- color: getCssVar('color-primary');
56
- }
57
-
58
- & [class*='#{$namespace}-icon-'] {
59
- line-height: 0.9;
60
-
61
- & + span {
62
- margin-left: 5px;
63
- }
64
- }
65
- }
66
-
67
- &:first-child {
68
- .#{$namespace}-radio-button__inner {
69
- border-left: getCssVar('border');
70
- border-radius: getCssVar('border-radius-base') 0 0
71
- getCssVar('border-radius-base');
72
- box-shadow: none !important;
73
- }
74
- }
75
-
76
- @include when(active) {
77
- @include e(original-radio) {
78
- &:not(:disabled) {
79
- & + .#{$namespace}-radio-button__inner {
80
- color: getCssVarWithDefault(
81
- ('radio-button', 'checked-text-color'),
82
- map.get($radio-button, 'checked-text-color')
83
- );
84
- background-color: getCssVarWithDefault(
85
- 'radio-button-checked-bg-color',
86
- map.get($radio-button, 'checked-bg-color')
87
- );
88
- border-color: getCssVarWithDefault(
89
- 'radio-button-checked-border-color',
90
- map.get($radio-button, 'checked-border-color')
91
- );
92
- box-shadow: -1px 0 0 0
93
- getCssVarWithDefault(
94
- 'radio-button-checked-border-color',
95
- map.get($radio-button, 'checked-border-color')
96
- );
97
- }
98
- }
99
- }
100
- }
101
-
102
- @include e(original-radio) {
103
- opacity: 0;
104
- outline: none;
105
- position: absolute;
106
- z-index: -1;
107
-
108
- &:focus-visible {
109
- & + .#{$namespace}-radio-button__inner {
110
- border-left: getCssVar('border');
111
- border-left-color: getCssVarWithDefault(
112
- 'radio-button-checked-border-color',
113
- map.get($radio-button, 'checked-border-color')
114
- );
115
- outline: 2px solid getCssVar('radio-button-checked-border-color');
116
- outline-offset: 1px;
117
- z-index: 2;
118
- border-radius: getCssVar('border-radius-base');
119
- box-shadow: none;
120
- }
121
- }
122
-
123
- &:disabled {
124
- & + .#{$namespace}-radio-button__inner {
125
- color: getCssVar('disabled-text-color');
126
- cursor: not-allowed;
127
- background-image: none;
128
- background-color: getCssVarWithDefault(
129
- 'button-disabled-bg-color',
130
- map.get($button, 'disabled-bg-color')
131
- );
132
- border-color: getCssVarWithDefault(
133
- 'button-disabled-border-color',
134
- map.get($button, 'disabled-border-color')
135
- );
136
- box-shadow: none;
137
- }
138
- &:checked + .#{$namespace}-radio-button__inner {
139
- background-color: getCssVar('radio-button-disabled-checked-fill');
140
- }
141
- }
142
- }
143
-
144
- &:last-child {
145
- .#{$namespace}-radio-button__inner {
146
- border-radius: 0 getCssVar('border-radius-base')
147
- getCssVar('border-radius-base') 0;
148
- }
149
- }
150
-
151
- &:first-child:last-child {
152
- .#{$namespace}-radio-button__inner {
153
- border-radius: getCssVar('border-radius-base');
154
- }
155
- }
156
-
157
- @each $size in (large, small) {
158
- @include m($size) {
159
- & .#{$namespace}-radio-button__inner {
160
- @include button-size(
161
- map.get($button-padding-vertical, $size) - $button-border-width,
162
- map.get($button-padding-horizontal, $size) - $button-border-width,
163
- map.get($button-font-size, $size),
164
- 0
165
- );
166
- }
167
- }
168
- }
169
- }
1
+ @use 'sass:map';
2
+
3
+ @use 'mixins/mixins' as *;
4
+ @use 'mixins/utils' as *;
5
+ @use 'mixins/var' as *;
6
+ @use 'mixins/button' as *;
7
+ @use 'common/var' as *;
8
+
9
+ @include b(radio-button) {
10
+ @include set-component-css-var('radio-button', $radio-button);
11
+ }
12
+
13
+ @include b(radio-button) {
14
+ position: relative;
15
+ display: inline-block;
16
+ outline: none;
17
+
18
+ @include e(inner) {
19
+ display: inline-block;
20
+ line-height: 1;
21
+ white-space: nowrap;
22
+ vertical-align: middle;
23
+ background: var(
24
+ #{getCssVarName('button-bg-color')},
25
+ map.get($button, 'bg-color')
26
+ );
27
+ border: getCssVar('border');
28
+ font-weight: var(
29
+ #{getCssVarName('button-font-weight')},
30
+ map.get($button, 'font-weight')
31
+ );
32
+ border-left: 0;
33
+ color: var(
34
+ #{getCssVarName('button-text-color')},
35
+ map.get($button, 'text-color')
36
+ );
37
+ -webkit-appearance: none;
38
+ text-align: center;
39
+ box-sizing: border-box;
40
+ outline: none;
41
+ margin: 0;
42
+ position: relative;
43
+ cursor: pointer;
44
+ transition: getCssVar('transition-all');
45
+ user-select: none;
46
+
47
+ @include button-size(
48
+ map.get($button-padding-vertical, 'default') - $button-border-width,
49
+ map.get($button-padding-horizontal, 'default') - $button-border-width,
50
+ map.get($button-font-size, 'default'),
51
+ 0
52
+ );
53
+
54
+ &:hover {
55
+ color: getCssVar('color-primary');
56
+ }
57
+
58
+ & [class*='#{$namespace}-icon-'] {
59
+ line-height: 0.9;
60
+
61
+ & + span {
62
+ margin-left: 5px;
63
+ }
64
+ }
65
+ }
66
+
67
+ &:first-child {
68
+ .#{$namespace}-radio-button__inner {
69
+ border-left: getCssVar('border');
70
+ border-radius: getCssVar('border-radius-base') 0 0
71
+ getCssVar('border-radius-base');
72
+ box-shadow: none !important;
73
+ }
74
+ }
75
+
76
+ @include when(active) {
77
+ @include e(original-radio) {
78
+ &:not(:disabled) {
79
+ & + .#{$namespace}-radio-button__inner {
80
+ color: getCssVarWithDefault(
81
+ ('radio-button', 'checked-text-color'),
82
+ map.get($radio-button, 'checked-text-color')
83
+ );
84
+ background-color: getCssVarWithDefault(
85
+ 'radio-button-checked-bg-color',
86
+ map.get($radio-button, 'checked-bg-color')
87
+ );
88
+ border-color: getCssVarWithDefault(
89
+ 'radio-button-checked-border-color',
90
+ map.get($radio-button, 'checked-border-color')
91
+ );
92
+ box-shadow: -1px 0 0 0
93
+ getCssVarWithDefault(
94
+ 'radio-button-checked-border-color',
95
+ map.get($radio-button, 'checked-border-color')
96
+ );
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ @include e(original-radio) {
103
+ opacity: 0;
104
+ outline: none;
105
+ position: absolute;
106
+ z-index: -1;
107
+
108
+ &:focus-visible {
109
+ & + .#{$namespace}-radio-button__inner {
110
+ border-left: getCssVar('border');
111
+ border-left-color: getCssVarWithDefault(
112
+ 'radio-button-checked-border-color',
113
+ map.get($radio-button, 'checked-border-color')
114
+ );
115
+ outline: 2px solid getCssVar('radio-button-checked-border-color');
116
+ outline-offset: 1px;
117
+ z-index: 2;
118
+ border-radius: getCssVar('border-radius-base');
119
+ box-shadow: none;
120
+ }
121
+ }
122
+
123
+ &:disabled {
124
+ & + .#{$namespace}-radio-button__inner {
125
+ color: getCssVar('disabled-text-color');
126
+ cursor: not-allowed;
127
+ background-image: none;
128
+ background-color: getCssVarWithDefault(
129
+ 'button-disabled-bg-color',
130
+ map.get($button, 'disabled-bg-color')
131
+ );
132
+ border-color: getCssVarWithDefault(
133
+ 'button-disabled-border-color',
134
+ map.get($button, 'disabled-border-color')
135
+ );
136
+ box-shadow: none;
137
+ }
138
+ &:checked + .#{$namespace}-radio-button__inner {
139
+ background-color: getCssVar('radio-button-disabled-checked-fill');
140
+ }
141
+ }
142
+ }
143
+
144
+ &:last-child {
145
+ .#{$namespace}-radio-button__inner {
146
+ border-radius: 0 getCssVar('border-radius-base')
147
+ getCssVar('border-radius-base') 0;
148
+ }
149
+ }
150
+
151
+ &:first-child:last-child {
152
+ .#{$namespace}-radio-button__inner {
153
+ border-radius: getCssVar('border-radius-base');
154
+ }
155
+ }
156
+
157
+ @each $size in (large, small) {
158
+ @include m($size) {
159
+ & .#{$namespace}-radio-button__inner {
160
+ @include button-size(
161
+ map.get($button-padding-vertical, $size) - $button-border-width,
162
+ map.get($button-padding-horizontal, $size) - $button-border-width,
163
+ map.get($button-font-size, $size),
164
+ 0
165
+ );
166
+ }
167
+ }
168
+ }
169
+ }