@type-dom/ui 0.1.2 → 0.1.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 (132) hide show
  1. package/README.md +134 -134
  2. package/package.json +3 -1
  3. package/src/components/data/td-progress/td-progress.class.js +5 -5
  4. package/src/hooks/use-deprecated/index.js +2 -2
  5. package/src/hooks/use-id/index.js +4 -4
  6. package/src/hooks/use-z-index/index.js +1 -1
  7. package/src/theme-chalk/affix.scss +7 -7
  8. package/src/theme-chalk/alert.scss +115 -115
  9. package/src/theme-chalk/anchor-link.scss +41 -41
  10. package/src/theme-chalk/anchor.scss +88 -88
  11. package/src/theme-chalk/aside.scss +8 -8
  12. package/src/theme-chalk/autocomplete.scss +89 -89
  13. package/src/theme-chalk/avatar.scss +55 -55
  14. package/src/theme-chalk/backtop.scss +29 -29
  15. package/src/theme-chalk/badge.scss +58 -58
  16. package/src/theme-chalk/base.scss +3 -3
  17. package/src/theme-chalk/breadcrumb.scss +62 -62
  18. package/src/theme-chalk/button-group.scss +80 -80
  19. package/src/theme-chalk/button.scss +304 -304
  20. package/src/theme-chalk/calendar.scss +80 -80
  21. package/src/theme-chalk/card.scss +45 -45
  22. package/src/theme-chalk/carousel-item.scss +58 -58
  23. package/src/theme-chalk/carousel.scss +188 -188
  24. package/src/theme-chalk/cascader-panel.scss +138 -138
  25. package/src/theme-chalk/cascader.scss +247 -247
  26. package/src/theme-chalk/check-tag.scss +60 -60
  27. package/src/theme-chalk/checkbox-button.scss +140 -140
  28. package/src/theme-chalk/checkbox-group.scss +7 -7
  29. package/src/theme-chalk/checkbox.scss +298 -298
  30. package/src/theme-chalk/col.scss +48 -48
  31. package/src/theme-chalk/collapse.scss +70 -70
  32. package/src/theme-chalk/color/index.scss +20 -20
  33. package/src/theme-chalk/color-picker.scss +393 -393
  34. package/src/theme-chalk/common/popup.scss +47 -47
  35. package/src/theme-chalk/common/transition.scss +122 -122
  36. package/src/theme-chalk/common/var.scss +1655 -1655
  37. package/src/theme-chalk/container.scss +14 -14
  38. package/src/theme-chalk/dark/css-vars.scss +39 -39
  39. package/src/theme-chalk/dark/var.scss +222 -222
  40. package/src/theme-chalk/date-picker/date-picker.scss +110 -110
  41. package/src/theme-chalk/date-picker/date-range-picker.scss +113 -113
  42. package/src/theme-chalk/date-picker/date-table.scss +158 -158
  43. package/src/theme-chalk/date-picker/month-table.scss +112 -112
  44. package/src/theme-chalk/date-picker/picker-panel.scss +131 -131
  45. package/src/theme-chalk/date-picker/picker.scss +212 -212
  46. package/src/theme-chalk/date-picker/time-picker.scss +90 -90
  47. package/src/theme-chalk/date-picker/time-range-picker.scss +33 -33
  48. package/src/theme-chalk/date-picker/time-spinner.scss +111 -111
  49. package/src/theme-chalk/date-picker/year-table.scss +108 -108
  50. package/src/theme-chalk/date-picker.scss +9 -9
  51. package/src/theme-chalk/descriptions-item.scss +73 -73
  52. package/src/theme-chalk/descriptions.scss +152 -152
  53. package/src/theme-chalk/dialog.scss +192 -192
  54. package/src/theme-chalk/display.scss +12 -12
  55. package/src/theme-chalk/divider.scss +48 -48
  56. package/src/theme-chalk/drawer.scss +155 -155
  57. package/src/theme-chalk/dropdown.scss +208 -208
  58. package/src/theme-chalk/empty.scss +49 -49
  59. package/src/theme-chalk/footer.scss +12 -12
  60. package/src/theme-chalk/form.scss +244 -244
  61. package/src/theme-chalk/header.scss +12 -12
  62. package/src/theme-chalk/icon.scss +45 -45
  63. package/src/theme-chalk/image-viewer.scss +155 -155
  64. package/src/theme-chalk/image.scss +49 -49
  65. package/src/theme-chalk/index.scss +111 -111
  66. package/src/theme-chalk/input-number.scss +186 -186
  67. package/src/theme-chalk/input-tag.scss +220 -220
  68. package/src/theme-chalk/input.scss +474 -474
  69. package/src/theme-chalk/link.scss +90 -90
  70. package/src/theme-chalk/loading.scss +104 -104
  71. package/src/theme-chalk/main.scss +14 -14
  72. package/src/theme-chalk/mention.scss +92 -92
  73. package/src/theme-chalk/menu.scss +339 -339
  74. package/src/theme-chalk/message-box.scss +213 -213
  75. package/src/theme-chalk/message.scss +98 -98
  76. package/src/theme-chalk/mixins/_button.scss +165 -165
  77. package/src/theme-chalk/mixins/_col.scss +33 -33
  78. package/src/theme-chalk/mixins/_var.scss +67 -67
  79. package/src/theme-chalk/mixins/config.scss +5 -5
  80. package/src/theme-chalk/mixins/function.scss +88 -88
  81. package/src/theme-chalk/mixins/mixins.scss +240 -240
  82. package/src/theme-chalk/mixins/utils.scss +39 -39
  83. package/src/theme-chalk/notification.scss +107 -107
  84. package/src/theme-chalk/option-group.scss +33 -33
  85. package/src/theme-chalk/option.scss +71 -71
  86. package/src/theme-chalk/overlay.scss +17 -17
  87. package/src/theme-chalk/page-header.scss +60 -60
  88. package/src/theme-chalk/pagination.scss +238 -238
  89. package/src/theme-chalk/popconfirm.scss +16 -16
  90. package/src/theme-chalk/popover.scss +61 -61
  91. package/src/theme-chalk/popper.scss +106 -106
  92. package/src/theme-chalk/progress.scss +179 -179
  93. package/src/theme-chalk/radio-button.scss +169 -169
  94. package/src/theme-chalk/radio-group.scss +9 -9
  95. package/src/theme-chalk/radio.scss +215 -215
  96. package/src/theme-chalk/rate.scss +108 -108
  97. package/src/theme-chalk/reset.scss +98 -98
  98. package/src/theme-chalk/result.scss +57 -57
  99. package/src/theme-chalk/row.scss +35 -35
  100. package/src/theme-chalk/scrollbar.scss +97 -97
  101. package/src/theme-chalk/segmented.scss +183 -183
  102. package/src/theme-chalk/select-dropdown-v2.scss +1 -1
  103. package/src/theme-chalk/select-dropdown.scss +57 -57
  104. package/src/theme-chalk/select-v2.scss +4 -4
  105. package/src/theme-chalk/select.scss +264 -264
  106. package/src/theme-chalk/skeleton-item.scss +83 -83
  107. package/src/theme-chalk/skeleton.scss +44 -44
  108. package/src/theme-chalk/slider.scss +212 -212
  109. package/src/theme-chalk/space.scss +20 -20
  110. package/src/theme-chalk/spinner.scss +43 -43
  111. package/src/theme-chalk/statistic.scss +35 -35
  112. package/src/theme-chalk/step.scss +316 -316
  113. package/src/theme-chalk/steps.scss +21 -21
  114. package/src/theme-chalk/switch.scss +300 -300
  115. package/src/theme-chalk/table-column.scss +98 -98
  116. package/src/theme-chalk/table-v2.scss +236 -236
  117. package/src/theme-chalk/table.scss +694 -694
  118. package/src/theme-chalk/tabs.scss +660 -660
  119. package/src/theme-chalk/tag.scss +181 -181
  120. package/src/theme-chalk/text.scss +51 -51
  121. package/src/theme-chalk/time-picker.scss +5 -5
  122. package/src/theme-chalk/time-select.scss +37 -37
  123. package/src/theme-chalk/timeline-item.scss +84 -84
  124. package/src/theme-chalk/timeline.scss +46 -46
  125. package/src/theme-chalk/tooltip-v2.scss +95 -95
  126. package/src/theme-chalk/tour.scss +187 -187
  127. package/src/theme-chalk/transfer.scss +203 -203
  128. package/src/theme-chalk/tree-select.scss +41 -41
  129. package/src/theme-chalk/tree.scss +134 -134
  130. package/src/theme-chalk/upload.scss +654 -654
  131. package/src/theme-chalk/var.scss +87 -87
  132. package/src/theme-chalk/virtual-list.scss +40 -40
@@ -1,88 +1,88 @@
1
- @use 'config';
2
- @use 'sass:meta';
3
- @use 'sass:string';
4
-
5
- // BEM support Func
6
- @function selectorToString($selector) {
7
- $selector: meta.inspect($selector);
8
- $selector: string.slice($selector, 2, -2);
9
- @return $selector;
10
- }
11
-
12
- @function containsModifier($selector) {
13
- $selector: selectorToString($selector);
14
-
15
- @if string.index($selector, config.$modifier-separator) {
16
- @return true;
17
- } @else {
18
- @return false;
19
- }
20
- }
21
-
22
- @function containWhenFlag($selector) {
23
- $selector: selectorToString($selector);
24
-
25
- @if string.index($selector, '.' + config.$state-prefix) {
26
- @return true;
27
- } @else {
28
- @return false;
29
- }
30
- }
31
-
32
- @function containPseudoClass($selector) {
33
- $selector: selectorToString($selector);
34
-
35
- @if string.index($selector, ':') {
36
- @return true;
37
- } @else {
38
- @return false;
39
- }
40
- }
41
-
42
- @function hitAllSpecialNestRule($selector) {
43
- @return containsModifier($selector) or containWhenFlag($selector) or
44
- containPseudoClass($selector);
45
- }
46
-
47
- // join var name
48
- // joinVarName(('button', 'text-color')) => '--el-button-text-color'
49
- @function joinVarName($list) {
50
- $name: '--' + config.$namespace;
51
- @each $item in $list {
52
- @if $item != '' {
53
- $name: $name + '-' + $item;
54
- }
55
- }
56
- @return $name;
57
- }
58
-
59
- // getCssVarName('button', 'text-color') => '--el-button-text-color'
60
- @function getCssVarName($args...) {
61
- @return joinVarName($args);
62
- }
63
-
64
- // getCssVar('button', 'text-color') => var(--el-button-text-color)
65
- @function getCssVar($args...) {
66
- @return var(#{joinVarName($args)});
67
- }
68
-
69
- // getCssVarWithDefault(('button', 'text-color'), red) => var(--el-button-text-color, red)
70
- @function getCssVarWithDefault($args, $default) {
71
- @return var(#{joinVarName($args)}, #{$default});
72
- }
73
-
74
- // bem('block', 'element', 'modifier') => 'el-block__element--modifier'
75
- @function bem($block, $element: '', $modifier: '') {
76
- $name: config.$namespace + config.$common-separator + $block;
77
-
78
- @if $element != '' {
79
- $name: $name + config.$element-separator + $element;
80
- }
81
-
82
- @if $modifier != '' {
83
- $name: $name + config.$modifier-separator + $modifier;
84
- }
85
-
86
- // @debug $name;
87
- @return $name;
88
- }
1
+ @use 'config';
2
+ @use 'sass:meta';
3
+ @use 'sass:string';
4
+
5
+ // BEM support Func
6
+ @function selectorToString($selector) {
7
+ $selector: meta.inspect($selector);
8
+ $selector: string.slice($selector, 2, -2);
9
+ @return $selector;
10
+ }
11
+
12
+ @function containsModifier($selector) {
13
+ $selector: selectorToString($selector);
14
+
15
+ @if string.index($selector, config.$modifier-separator) {
16
+ @return true;
17
+ } @else {
18
+ @return false;
19
+ }
20
+ }
21
+
22
+ @function containWhenFlag($selector) {
23
+ $selector: selectorToString($selector);
24
+
25
+ @if string.index($selector, '.' + config.$state-prefix) {
26
+ @return true;
27
+ } @else {
28
+ @return false;
29
+ }
30
+ }
31
+
32
+ @function containPseudoClass($selector) {
33
+ $selector: selectorToString($selector);
34
+
35
+ @if string.index($selector, ':') {
36
+ @return true;
37
+ } @else {
38
+ @return false;
39
+ }
40
+ }
41
+
42
+ @function hitAllSpecialNestRule($selector) {
43
+ @return containsModifier($selector) or containWhenFlag($selector) or
44
+ containPseudoClass($selector);
45
+ }
46
+
47
+ // join var name
48
+ // joinVarName(('button', 'text-color')) => '--el-button-text-color'
49
+ @function joinVarName($list) {
50
+ $name: '--' + config.$namespace;
51
+ @each $item in $list {
52
+ @if $item != '' {
53
+ $name: $name + '-' + $item;
54
+ }
55
+ }
56
+ @return $name;
57
+ }
58
+
59
+ // getCssVarName('button', 'text-color') => '--el-button-text-color'
60
+ @function getCssVarName($args...) {
61
+ @return joinVarName($args);
62
+ }
63
+
64
+ // getCssVar('button', 'text-color') => var(--el-button-text-color)
65
+ @function getCssVar($args...) {
66
+ @return var(#{joinVarName($args)});
67
+ }
68
+
69
+ // getCssVarWithDefault(('button', 'text-color'), red) => var(--el-button-text-color, red)
70
+ @function getCssVarWithDefault($args, $default) {
71
+ @return var(#{joinVarName($args)}, #{$default});
72
+ }
73
+
74
+ // bem('block', 'element', 'modifier') => 'el-block__element--modifier'
75
+ @function bem($block, $element: '', $modifier: '') {
76
+ $name: config.$namespace + config.$common-separator + $block;
77
+
78
+ @if $element != '' {
79
+ $name: $name + config.$element-separator + $element;
80
+ }
81
+
82
+ @if $modifier != '' {
83
+ $name: $name + config.$modifier-separator + $modifier;
84
+ }
85
+
86
+ // @debug $name;
87
+ @return $name;
88
+ }
@@ -1,240 +1,240 @@
1
- @use 'function' as *;
2
- @use '../common/var' as *;
3
- // forward mixins
4
- @forward 'config';
5
- @forward 'function';
6
- @forward 'var';
7
- @use 'config' as *;
8
- @use 'sass:string';
9
- @use 'sass:map';
10
-
11
- $B: null;
12
- $E: null;
13
-
14
- // Break-points
15
- @mixin res($key, $map: $breakpoints) {
16
- // loop breakpoint Map, return if present
17
- @if map.has-key($map, $key) {
18
- @media only screen and #{string.unquote(map.get($map, $key))} {
19
- @content;
20
- }
21
- } @else {
22
- @warn "Undefined points: `#{$map}`";
23
- }
24
- }
25
-
26
- // Scrollbar
27
- @mixin scroll-bar {
28
- $scrollbar-thumb-background: getCssVar('text-color', 'disabled');
29
- $scrollbar-track-background: getCssVar('fill-color', 'blank');
30
-
31
- &::-webkit-scrollbar {
32
- z-index: 11;
33
- width: 6px;
34
-
35
- &:horizontal {
36
- height: 6px;
37
- }
38
-
39
- &-thumb {
40
- border-radius: 5px;
41
- width: 6px;
42
- background: $scrollbar-thumb-background;
43
- }
44
-
45
- &-corner {
46
- background: $scrollbar-track-background;
47
- }
48
-
49
- &-track {
50
- background: $scrollbar-track-background;
51
-
52
- &-piece {
53
- background: $scrollbar-track-background;
54
- width: 6px;
55
- }
56
- }
57
- }
58
- }
59
-
60
- // BEM
61
- @mixin b($block) {
62
- $B: $namespace + $common-separator + $block !global;
63
-
64
- .#{$B} {
65
- @content;
66
- }
67
- }
68
-
69
- @mixin e($element) {
70
- $E: $element !global;
71
- $selector: &;
72
- $currentSelector: '';
73
- @each $unit in $element {
74
- $currentSelector: #{$currentSelector +
75
- '.' +
76
- $B +
77
- $element-separator +
78
- $unit +
79
- ','};
80
- }
81
-
82
- @if hitAllSpecialNestRule($selector) {
83
- @at-root {
84
- #{$selector} {
85
- #{$currentSelector} {
86
- @content;
87
- }
88
- }
89
- }
90
- } @else {
91
- @at-root {
92
- #{$currentSelector} {
93
- @content;
94
- }
95
- }
96
- }
97
- }
98
-
99
- @mixin m($modifier) {
100
- $selector: &;
101
- $currentSelector: '';
102
- @each $unit in $modifier {
103
- $currentSelector: #{$currentSelector +
104
- $selector +
105
- $modifier-separator +
106
- $unit +
107
- ','};
108
- }
109
-
110
- @at-root {
111
- #{$currentSelector} {
112
- @content;
113
- }
114
- }
115
- }
116
-
117
- @mixin configurable-m($modifier, $E-flag: false) {
118
- $selector: &;
119
- $interpolation: '';
120
-
121
- @if $E-flag {
122
- $interpolation: $element-separator + $E-flag;
123
- }
124
-
125
- @at-root {
126
- #{$selector} {
127
- .#{$B + $interpolation + $modifier-separator + $modifier} {
128
- @content;
129
- }
130
- }
131
- }
132
- }
133
-
134
- @mixin spec-selector(
135
- $specSelector: '',
136
- $element: $E,
137
- $modifier: false,
138
- $block: $B
139
- ) {
140
- $modifierCombo: '';
141
-
142
- @if $modifier {
143
- $modifierCombo: $modifier-separator + $modifier;
144
- }
145
-
146
- @at-root {
147
- #{&}#{$specSelector}.#{$block
148
- + $element-separator
149
- + $element
150
- + $modifierCombo} {
151
- @content;
152
- }
153
- }
154
- }
155
-
156
- @mixin meb($modifier: false, $element: $E, $block: $B) {
157
- $selector: &;
158
- $modifierCombo: '';
159
-
160
- @if $modifier {
161
- $modifierCombo: $modifier-separator + $modifier;
162
- }
163
-
164
- @at-root {
165
- #{$selector} {
166
- .#{$block + $element-separator + $element + $modifierCombo} {
167
- @content;
168
- }
169
- }
170
- }
171
- }
172
-
173
- @mixin when($state) {
174
- @at-root {
175
- &.#{$state-prefix + $state} {
176
- @content;
177
- }
178
- }
179
- }
180
-
181
- @mixin extend-rule($name) {
182
- @extend #{'%shared-' + $name} !optional;
183
- }
184
-
185
- @mixin share-rule($name) {
186
- $rule-name: '%shared-' + $name;
187
-
188
- @at-root #{$rule-name} {
189
- @content;
190
- }
191
- }
192
-
193
- @mixin pseudo($pseudo) {
194
- @at-root #{&}#{':#{$pseudo}'} {
195
- @content;
196
- }
197
- }
198
-
199
- @mixin picker-popper($background, $border, $box-shadow) {
200
- &.#{$namespace}-popper {
201
- background: $background;
202
- border: $border;
203
- box-shadow: $box-shadow;
204
-
205
- .#{$namespace}-popper__arrow {
206
- &::before {
207
- border: $border;
208
- }
209
- }
210
-
211
- @each $placement,
212
- $adjacency
213
- in ('top': 'left', 'bottom': 'right', 'left': 'bottom', 'right': 'top')
214
- {
215
- &[data-popper-placement^='#{$placement}'] {
216
- .#{$namespace}-popper__arrow::before {
217
- border-#{$placement}-color: transparent;
218
- border-#{$adjacency}-color: transparent;
219
- }
220
- }
221
- }
222
- }
223
- }
224
-
225
- // dark
226
- @mixin dark($block) {
227
- html.dark {
228
- @include b($block) {
229
- @content;
230
- }
231
- }
232
- }
233
-
234
- @mixin inset-input-border($color, $important: false) {
235
- @if $important == true {
236
- box-shadow: 0 0 0 1px $color inset !important;
237
- } @else {
238
- box-shadow: 0 0 0 1px $color inset;
239
- }
240
- }
1
+ @use 'function' as *;
2
+ @use '../common/var' as *;
3
+ // forward mixins
4
+ @forward 'config';
5
+ @forward 'function';
6
+ @forward 'var';
7
+ @use 'config' as *;
8
+ @use 'sass:string';
9
+ @use 'sass:map';
10
+
11
+ $B: null;
12
+ $E: null;
13
+
14
+ // Break-points
15
+ @mixin res($key, $map: $breakpoints) {
16
+ // loop breakpoint Map, return if present
17
+ @if map.has-key($map, $key) {
18
+ @media only screen and #{string.unquote(map.get($map, $key))} {
19
+ @content;
20
+ }
21
+ } @else {
22
+ @warn "Undefined points: `#{$map}`";
23
+ }
24
+ }
25
+
26
+ // Scrollbar
27
+ @mixin scroll-bar {
28
+ $scrollbar-thumb-background: getCssVar('text-color', 'disabled');
29
+ $scrollbar-track-background: getCssVar('fill-color', 'blank');
30
+
31
+ &::-webkit-scrollbar {
32
+ z-index: 11;
33
+ width: 6px;
34
+
35
+ &:horizontal {
36
+ height: 6px;
37
+ }
38
+
39
+ &-thumb {
40
+ border-radius: 5px;
41
+ width: 6px;
42
+ background: $scrollbar-thumb-background;
43
+ }
44
+
45
+ &-corner {
46
+ background: $scrollbar-track-background;
47
+ }
48
+
49
+ &-track {
50
+ background: $scrollbar-track-background;
51
+
52
+ &-piece {
53
+ background: $scrollbar-track-background;
54
+ width: 6px;
55
+ }
56
+ }
57
+ }
58
+ }
59
+
60
+ // BEM
61
+ @mixin b($block) {
62
+ $B: $namespace + $common-separator + $block !global;
63
+
64
+ .#{$B} {
65
+ @content;
66
+ }
67
+ }
68
+
69
+ @mixin e($element) {
70
+ $E: $element !global;
71
+ $selector: &;
72
+ $currentSelector: '';
73
+ @each $unit in $element {
74
+ $currentSelector: #{$currentSelector +
75
+ '.' +
76
+ $B +
77
+ $element-separator +
78
+ $unit +
79
+ ','};
80
+ }
81
+
82
+ @if hitAllSpecialNestRule($selector) {
83
+ @at-root {
84
+ #{$selector} {
85
+ #{$currentSelector} {
86
+ @content;
87
+ }
88
+ }
89
+ }
90
+ } @else {
91
+ @at-root {
92
+ #{$currentSelector} {
93
+ @content;
94
+ }
95
+ }
96
+ }
97
+ }
98
+
99
+ @mixin m($modifier) {
100
+ $selector: &;
101
+ $currentSelector: '';
102
+ @each $unit in $modifier {
103
+ $currentSelector: #{$currentSelector +
104
+ $selector +
105
+ $modifier-separator +
106
+ $unit +
107
+ ','};
108
+ }
109
+
110
+ @at-root {
111
+ #{$currentSelector} {
112
+ @content;
113
+ }
114
+ }
115
+ }
116
+
117
+ @mixin configurable-m($modifier, $E-flag: false) {
118
+ $selector: &;
119
+ $interpolation: '';
120
+
121
+ @if $E-flag {
122
+ $interpolation: $element-separator + $E-flag;
123
+ }
124
+
125
+ @at-root {
126
+ #{$selector} {
127
+ .#{$B + $interpolation + $modifier-separator + $modifier} {
128
+ @content;
129
+ }
130
+ }
131
+ }
132
+ }
133
+
134
+ @mixin spec-selector(
135
+ $specSelector: '',
136
+ $element: $E,
137
+ $modifier: false,
138
+ $block: $B
139
+ ) {
140
+ $modifierCombo: '';
141
+
142
+ @if $modifier {
143
+ $modifierCombo: $modifier-separator + $modifier;
144
+ }
145
+
146
+ @at-root {
147
+ #{&}#{$specSelector}.#{$block
148
+ + $element-separator
149
+ + $element
150
+ + $modifierCombo} {
151
+ @content;
152
+ }
153
+ }
154
+ }
155
+
156
+ @mixin meb($modifier: false, $element: $E, $block: $B) {
157
+ $selector: &;
158
+ $modifierCombo: '';
159
+
160
+ @if $modifier {
161
+ $modifierCombo: $modifier-separator + $modifier;
162
+ }
163
+
164
+ @at-root {
165
+ #{$selector} {
166
+ .#{$block + $element-separator + $element + $modifierCombo} {
167
+ @content;
168
+ }
169
+ }
170
+ }
171
+ }
172
+
173
+ @mixin when($state) {
174
+ @at-root {
175
+ &.#{$state-prefix + $state} {
176
+ @content;
177
+ }
178
+ }
179
+ }
180
+
181
+ @mixin extend-rule($name) {
182
+ @extend #{'%shared-' + $name} !optional;
183
+ }
184
+
185
+ @mixin share-rule($name) {
186
+ $rule-name: '%shared-' + $name;
187
+
188
+ @at-root #{$rule-name} {
189
+ @content;
190
+ }
191
+ }
192
+
193
+ @mixin pseudo($pseudo) {
194
+ @at-root #{&}#{':#{$pseudo}'} {
195
+ @content;
196
+ }
197
+ }
198
+
199
+ @mixin picker-popper($background, $border, $box-shadow) {
200
+ &.#{$namespace}-popper {
201
+ background: $background;
202
+ border: $border;
203
+ box-shadow: $box-shadow;
204
+
205
+ .#{$namespace}-popper__arrow {
206
+ &::before {
207
+ border: $border;
208
+ }
209
+ }
210
+
211
+ @each $placement,
212
+ $adjacency
213
+ in ('top': 'left', 'bottom': 'right', 'left': 'bottom', 'right': 'top')
214
+ {
215
+ &[data-popper-placement^='#{$placement}'] {
216
+ .#{$namespace}-popper__arrow::before {
217
+ border-#{$placement}-color: transparent;
218
+ border-#{$adjacency}-color: transparent;
219
+ }
220
+ }
221
+ }
222
+ }
223
+ }
224
+
225
+ // dark
226
+ @mixin dark($block) {
227
+ html.dark {
228
+ @include b($block) {
229
+ @content;
230
+ }
231
+ }
232
+ }
233
+
234
+ @mixin inset-input-border($color, $important: false) {
235
+ @if $important == true {
236
+ box-shadow: 0 0 0 1px $color inset !important;
237
+ } @else {
238
+ box-shadow: 0 0 0 1px $color inset;
239
+ }
240
+ }