adtec-core-package 0.2.4 → 0.2.5

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