@steroidsjs/bootstrap 3.0.0-beta.4 → 3.0.0-beta.40

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 (124) hide show
  1. package/README.md +1 -2
  2. package/content/Accordion/AccordionItemView.d.ts +2 -0
  3. package/content/{Collapse/CollapseItemView.js → Accordion/AccordionItemView.js} +46 -22
  4. package/content/Accordion/AccordionItemView.scss +209 -0
  5. package/content/Accordion/AccordionView.d.ts +2 -0
  6. package/content/{Collapse/CollapseView.js → Accordion/AccordionView.js} +3 -3
  7. package/content/{Collapse/CollapseView.scss → Accordion/AccordionView.scss} +3 -4
  8. package/content/Alert/AlertView.scss +19 -4
  9. package/content/Avatar/AvatarView.js +2 -3
  10. package/content/Avatar/AvatarView.scss +32 -39
  11. package/content/Badge/BadgeView.d.ts +3 -0
  12. package/content/Badge/BadgeView.js +25 -0
  13. package/content/Badge/BadgeView.scss +135 -0
  14. package/content/Calendar/CaptionElement.scss +5 -4
  15. package/content/Card/CardView.js +36 -14
  16. package/content/Card/CardView.scss +139 -107
  17. package/content/Detail/DetailView.scss +75 -52
  18. package/content/DropDown/DropDownView.js +6 -3
  19. package/content/DropDown/DropDownView.scss +196 -27
  20. package/content/Icon/IconView.js +2 -2
  21. package/form/Button/ButtonView.js +12 -8
  22. package/form/Button/ButtonView.scss +166 -68
  23. package/form/CheckboxField/CheckboxFieldView.js +6 -3
  24. package/form/CheckboxField/CheckboxFieldView.scss +183 -36
  25. package/form/CheckboxListField/CheckboxListFieldView.js +19 -15
  26. package/form/CheckboxListField/CheckboxListFieldView.scss +7 -41
  27. package/form/DropDownField/DropDownFieldView.js +31 -47
  28. package/form/DropDownField/DropDownFieldView.scss +390 -182
  29. package/form/DropDownField/utils.d.ts +2 -0
  30. package/form/DropDownField/utils.js +15 -0
  31. package/form/DropDownFieldItem/DropDownFieldItemView.d.ts +2 -0
  32. package/form/DropDownFieldItem/DropDownFieldItemView.js +78 -0
  33. package/form/DropDownFieldItem/DropDownFieldItemView.scss +216 -0
  34. package/form/FieldLayout/FieldLayoutView.js +13 -9
  35. package/form/FieldLayout/FieldLayoutView.scss +129 -24
  36. package/form/FieldList/FieldListView.js +1 -1
  37. package/form/FileField/FileFieldView.js +1 -1
  38. package/form/Form/FormView.js +1 -4
  39. package/form/Form/FormView.scss +1 -14
  40. package/form/InputField/InputFieldView.js +30 -13
  41. package/form/InputField/InputFieldView.scss +245 -99
  42. package/form/NumberField/NumberFieldView.js +19 -13
  43. package/form/NumberField/NumberFieldView.scss +195 -89
  44. package/form/PasswordField/PasswordFieldView.js +11 -9
  45. package/form/PasswordField/PasswordFieldView.scss +231 -63
  46. package/form/RadioField/RadioFieldView.d.ts +3 -0
  47. package/form/RadioField/RadioFieldView.js +57 -0
  48. package/form/RadioField/RadioFieldView.scss +226 -0
  49. package/form/RadioListField/RadioListFieldView.js +20 -16
  50. package/form/RadioListField/RadioListFieldView.scss +11 -1
  51. package/form/ReCaptchaField/ReCaptchaFieldView.js +2 -2
  52. package/form/SwitcherField/SwitcherFieldView.js +1 -1
  53. package/form/TextField/TextFieldView.js +10 -2
  54. package/form/TextField/TextFieldView.scss +143 -2
  55. package/icons/index.d.ts +2 -0
  56. package/{icon/fontawesome.js → icons/index.js} +40 -11
  57. package/icons/svgs/accordion-chevron.svg +4 -0
  58. package/icons/svgs/arrow-left.svg +3 -0
  59. package/icons/svgs/arrow.svg +3 -0
  60. package/icons/svgs/badge-close.svg +3 -0
  61. package/icons/svgs/close.svg +4 -0
  62. package/icons/svgs/crossed-out-eye.svg +5 -0
  63. package/icons/svgs/default.svg +11 -0
  64. package/icons/svgs/dots.svg +5 -0
  65. package/icons/svgs/double-arrow-left.svg +4 -0
  66. package/icons/svgs/error.svg +12 -0
  67. package/icons/svgs/field-close.svg +4 -0
  68. package/icons/svgs/home.svg +4 -0
  69. package/icons/svgs/info.svg +12 -0
  70. package/icons/svgs/loader.svg +3 -0
  71. package/icons/svgs/search.svg +4 -0
  72. package/icons/svgs/success.svg +4 -0
  73. package/icons/svgs/user.svg +4 -0
  74. package/icons/svgs/visible-eye.svg +4 -0
  75. package/icons/svgs/warning.svg +12 -0
  76. package/index.d.ts +11 -2
  77. package/index.js +13 -4
  78. package/index.scss +8 -3
  79. package/layout/Header/HeaderView.scss +3 -3
  80. package/layout/Tooltip/TooltipView.js +6 -6
  81. package/layout/Tooltip/TooltipView.scss +45 -37
  82. package/list/Grid/GridView.js +1 -1
  83. package/list/Grid/GridView.scss +28 -30
  84. package/list/List/ListView.d.ts +1 -0
  85. package/list/List/ListView.js +5 -5
  86. package/list/List/ListView.scss +9 -0
  87. package/list/Pagination/PaginationButtonView.js +34 -5
  88. package/list/Pagination/PaginationButtonView.scss +258 -1
  89. package/list/Pagination/PaginationMoreView.js +1 -1
  90. package/list/Pagination/PaginationMoreView.scss +4 -1
  91. package/nav/Breadcrubms/BreadcrumbsView.js +9 -1
  92. package/nav/Breadcrubms/BreadcrumbsView.scss +51 -0
  93. package/nav/Nav/NavIconView.js +1 -1
  94. package/nav/Nav/NavListView.js +1 -1
  95. package/nav/Nav/NavTabsView.js +1 -1
  96. package/nav/Tree/TreeView.scss +14 -11
  97. package/package.json +56 -56
  98. package/scss/fonts.scss +6 -0
  99. package/scss/mixins/button.scss +61 -24
  100. package/scss/mixins/index.scss +2 -1
  101. package/scss/mixins/scroll.scss +31 -0
  102. package/scss/mixins/typography.scss +26 -0
  103. package/scss/variables/common/colors.scss +95 -70
  104. package/scss/variables/common/media.scss +2 -0
  105. package/scss/variables/common/typography.scss +96 -28
  106. package/scss/variables/components/input.scss +7 -6
  107. package/scss/variables/index.scss +2 -2
  108. package/scss/variables/normalize.scss +25 -0
  109. package/typography/Text/TextView.d.ts +3 -0
  110. package/typography/Text/TextView.js +46 -0
  111. package/typography/Text/TextView.scss +16 -0
  112. package/typography/Title/TitleView.d.ts +3 -0
  113. package/typography/Title/TitleView.js +50 -0
  114. package/typography/Title/TitleView.scss +16 -0
  115. package/utils/renderIcon.d.ts +9 -0
  116. package/utils/renderIcon.js +27 -0
  117. package/content/Collapse/CollapseItemView.d.ts +0 -2
  118. package/content/Collapse/CollapseItemView.scss +0 -88
  119. package/content/Collapse/CollapseView.d.ts +0 -2
  120. package/content/Icon/IconView.scss +0 -25
  121. package/icon/fontawesome.d.ts +0 -2
  122. package/list/List/ListItemView.scss +0 -3
  123. package/scss/mixins/card.scss +0 -26
  124. package/scss/variables/components/card.scss +0 -20
@@ -1,225 +1,433 @@
1
- .DropDownFieldView {
2
- $root: &;
3
-
4
- position: relative;
5
- font-size: 1rem;
1
+ :root {
2
+ --basic-color: #eef1f2;
3
+ --basic-focus-color: #f5f8fa;
4
+ --basic-active-color: #e5e9eb;
5
+ --chevron-background-color: #ffffff;
6
+ --chevron-background-color-outline: #f5f8fa;
7
+ --chevron-background-color-basic: #ffffff;
8
+ --chevron-inner-color: #323232;
9
+ --drop-down-border-color: #e9e9e9;
10
+ --scroll-thumb-color: #e5e9eb;
11
+ --scroll-track-color: #f5f8fa;
12
+ --search-color: #626262;
13
+ --search-background-color: #f5f8fa;
14
+ --search-hover-background-color: #eef1f2;
15
+
16
+ --drop-down-item-hover-background-color: #f5f8fa;
17
+ --drop-down-item-select-background-color: #eef1f2;
18
+ }
6
19
 
7
- &_size_sm {
8
- font-size: 0.7875rem;
9
- }
20
+ html[data-theme="dark"] {
21
+ --basic-color: #5b5c6b;
22
+ --basic-focus-color: #adaab3;
23
+ --basic-active-color: #4e4f57;
24
+ --chevron-background-color: #323232;
25
+ --chevron-background-color-outline: #323232;
26
+ --chevron-background-color-basic: #6f6b76;
27
+ --chevron-inner-color: #ffffff;
28
+ --drop-down-border-color: #595959;
29
+ --scroll-thumb-color: #5b5c6b;
30
+ --scroll-track-color: #444147;
31
+ --search-color: #adacac;
32
+ --search-background-color: #4e4f57;
33
+ --search-hover-background-color: #5b5c6b;
34
+
35
+ --drop-down-item-select-background-color: #5b5c6b;
36
+ --drop-down-item-hover-background-color: #4e4f57;
37
+ }
10
38
 
11
- &_size_lg {
12
- font-size: 1.25rem;
13
- }
39
+ $basic-color: var(--basic-color);
40
+ $basic-focus-color: var(--basic-focus-color);
41
+ $basic-active-color: var(--basic-active-color);
42
+ $chevron-background-color: var(--chevron-background-color);
43
+ $chevron-background-color-outline: var(--chevron-background-color-outline);
44
+ $chevron-background-color-basic: var(--chevron-background-color-basic);
45
+ $chevron-inner-color: var(--chevron-inner-color);
46
+ $drop-down-border-color: var(--drop-down-border-color);
47
+ $scroll-thumb-color: var(--scroll-thumb-color);
48
+ $scroll-track-color: var(--scroll-track-color);
49
+ $search-color: var(--search-color);
50
+ $search-background-color: var(--search-background-color);
51
+ $search-hover-background-color: var(--search-hover-background-color);
52
+
53
+ $drop-down-item-select-background-color: var(--drop-down-item-select-background-color);
54
+ $drop-down-item-hover-background-color: var(--drop-down-item-hover-background-color);
55
+
56
+ $drop-down-color-themes: () !default;
57
+ $drop-down-color-themes: map-merge(
58
+ (
59
+ "basic": (
60
+ "background-color": $basic-color,
61
+ "hover-color": $border-color-hover,
62
+ "focus-color": $basic-focus-color,
63
+ "active-color": $basic-active-color,
64
+ ),
65
+ "primary": (
66
+ "background-color": $primary,
67
+ "hover-color": $primary-dark,
68
+ "focus-color": $primary-light,
69
+ "active-color": $primary-dark,
70
+ ),
71
+ "secondary": (
72
+ "background-color": $secondary,
73
+ "hover-color": $secondary-dark,
74
+ "focus-color": $secondary-light,
75
+ "active-color": $secondary-dark,
76
+ ),
77
+ "warning": (
78
+ "background-color": $warning,
79
+ "hover-color": $warning-dark,
80
+ "focus-color": $warning-light,
81
+ "active-color": $warning-dark,
82
+ ),
83
+ "danger": (
84
+ "background-color": $danger,
85
+ "hover-color": $danger-dark,
86
+ "focus-color": $danger-light,
87
+ "active-color": $danger-dark,
88
+ ),
89
+ "info": (
90
+ "background-color": $info,
91
+ "hover-color": $info-dark,
92
+ "focus-color": $info-light,
93
+ "active-color": $info-dark,
94
+ ),
95
+ "success": (
96
+ "background-color": $success,
97
+ "hover-color": $success-dark,
98
+ "focus-color": $success-light,
99
+ "active-color": $success-dark,
100
+ ),
101
+ ),
102
+ $drop-down-color-themes
103
+ );
104
+
105
+ @mixin dropDownTheme($colorMap, $root, $colorType) {
106
+ background-color: map-get($colorMap, background-color);
107
+ color: $text-color;
14
108
 
15
- &__selected-items {
16
- padding: 0.375rem 1.75rem 0.375rem 0.75rem;
17
- min-width: 100px;
18
- min-height: 38px;
19
- overflow: hidden;
20
- white-space: nowrap;
21
- text-overflow: ellipsis;
22
- background-clip: padding-box;
109
+ &::before {
110
+ border-color: map-get($colorMap, focus-color);
111
+ }
23
112
 
24
- background-color: #fff;
25
- border: 1px solid $border-default;
26
- border-radius: 0.25rem;
27
- color: $heading;
28
- line-height: 1.5;
113
+ &:not(:focus):hover {
114
+ background-color: map-get($colorMap, hover-color);
115
+ }
29
116
 
30
- display: flex;
31
- flex-flow: row wrap;
117
+ &:not(:active):focus-within {
118
+ &::before {
119
+ opacity: 1;
120
+ }
121
+ }
32
122
 
123
+ &:active {
124
+ background-color: map-get($colorMap, hover-color);
125
+ }
33
126
 
34
- &:focus {
35
- border: 1px solid $info-dark;
36
- box-shadow: 0 0 0 4px $info-light;
127
+ #{$root}__icon-chevron {
128
+ svg {
129
+ rect {
130
+ fill: $chevron-background-color;
131
+
132
+ @if ($colorType == "basic") {
133
+ fill: $chevron-background-color-basic;
134
+ }
135
+ }
136
+ path {
137
+ stroke: $chevron-inner-color;
138
+ }
139
+ }
37
140
  }
38
141
 
39
- &::after {
40
- content: '';
41
- position: absolute;
42
- top: 50%;
43
- right: 10px;
44
- transform: translateY(-50%);
45
- display: inline-block;
46
- width: 0;
47
- height: 0;
48
- border-top: 0.3em solid;
49
- border-right: 0.3em solid transparent;
50
- border-bottom: 0;
51
- border-left: 0.3em solid transparent;
142
+ #{$root}__selected-items {
143
+ color: #ffffff;
144
+
145
+ @if ($colorType == "basic") {
146
+ color: $text-color;
147
+ }
148
+
149
+ @if ($colorType == "warning" or $colorType == "info") {
150
+ color: #312c3a;
151
+ }
52
152
  }
153
+ }
154
+
155
+ @mixin dropDownOutlineTheme($colorMap, $root) {
156
+ background-color: $element-background-color;
157
+ border: 1px solid map-get($colorMap, background-color);
158
+ color: $text-color;
53
159
 
54
- &_reset {
55
- padding-right: 3rem;
160
+ &::before {
161
+ border-color: map-get($colorMap, focus-color);
56
162
  }
57
163
 
58
- &_no-border {
59
- padding-left: 0;
60
- border-color: transparent;
61
- box-shadow: unset;
164
+ &:not(:focus):hover {
165
+ border-color: map-get($colorMap, active-color);
166
+ }
62
167
 
63
- &#{$root}__selected-items_is-invalid {
168
+ &:not(:active):focus-within {
64
169
  border-color: transparent;
65
- }
170
+ &::before {
171
+ opacity: 1;
172
+ }
66
173
  }
67
174
 
68
- &_is-invalid {
69
- border-color: red;
175
+ &:active {
176
+ border-color: map-get($colorMap, active-color);
70
177
  }
71
178
 
72
- &_disabled {
73
- pointer-events: none;
74
- opacity: .5;
179
+ #{$root}__icon-chevron {
180
+ svg {
181
+ rect {
182
+ fill: $chevron-background-color-outline;
183
+ }
184
+ path {
185
+ stroke: $chevron-inner-color;
186
+ }
187
+ }
75
188
  }
76
- }
189
+ }
77
190
 
78
- &_size_sm &__selected-items {
79
- padding: 0.25rem 0.5rem;
80
- line-height: 1.5;
81
- border-radius: 0.2rem;
82
- height: 31px;
83
- }
191
+ .DropDownFieldView {
192
+ $root: &;
84
193
 
85
- &_size_lg &__selected-items {
86
- padding: 0.5rem 1rem;
87
- line-height: 1.5;
88
- border-radius: 0.3rem;
89
- height: 48px;
90
- }
194
+ position: relative;
195
+ min-width: 240px;
196
+ outline: none;
197
+ cursor: pointer;
198
+
199
+ //Pseudo element for focus statement
200
+ &::before {
201
+ content: "";
202
+ position: absolute;
203
+ top: 0;
204
+ left: 0;
205
+ width: 100%;
206
+ height: 100%;
207
+ pointer-events: none;
208
+ opacity: 0;
209
+ border: 4px solid transparent;
210
+ border-radius: inherit;
211
+ }
91
212
 
92
- &__selected-item-multiple {
93
- cursor: default;
94
- margin-right: 5px;
95
- padding: 0 4px 0 8px;
213
+ $sizes: () !default;
214
+ $sizes: map-merge(
215
+ (
216
+ "lg": (
217
+ "border-radius": $radius-large,
218
+ "height": $input-height-lg,
219
+ "beforeTransform": translateX(-4px) translateY(-4px),
220
+ "beforeRadius": 16px,
221
+ "selectedItemsPadding": 16px,
222
+ "font-size": $font-size-lg,
223
+ "line-height": 24px,
224
+ ),
225
+ "md": (
226
+ "border-radius": $radius-large,
227
+ "height": $input-height-md,
228
+ "beforeTransform": translateX(-4px) translateY(-4px),
229
+ "beforeRadius": 16px,
230
+ "selectedItemsPadding": 12px,
231
+ "font-size": $font-size-base,
232
+ "line-height": 22px,
233
+ ),
234
+ "sm": (
235
+ "border-radius": $radius-small,
236
+ "height": $input-height-sm,
237
+ "beforeTransform": translateX(-4px) translateY(-4px),
238
+ "beforeRadius": 12px,
239
+ "selectedItemsPadding": 8px,
240
+ "font-size": $font-size-sm,
241
+ "line-height": 18px,
242
+ ),
243
+ ),
244
+ $sizes
245
+ );
246
+
247
+ &_size {
248
+ @each $size, $sizeMap in $sizes {
249
+ &_#{$size} {
250
+ border-radius: map-get($sizeMap, border-radius);
251
+ height: map-get($sizeMap, height);
252
+
253
+ &::before {
254
+ transform: map-get($sizeMap, beforeTransform);
255
+ border-radius: map-get($sizeMap, beforeRadius);
256
+ }
257
+
258
+ #{$root}__selected-items {
259
+ padding-top: map-get($sizeMap, selectedItemsPadding);
260
+ padding-bottom: map-get($sizeMap, selectedItemsPadding);
261
+ }
262
+
263
+ #{$root}__icon-chevron {
264
+ height: map-get($sizeMap, height);
265
+ }
266
+
267
+ font-size: map-get($sizeMap, font-size);
268
+ line-height: map-get($sizeMap, line-height);
269
+ }
270
+ }
271
+ }
272
+
273
+ @each $colorType, $colorMap in $drop-down-color-themes {
274
+ &_#{$colorType} {
275
+ @include dropDownTheme($colorMap, $root, $colorType);
276
+ }
96
277
 
97
- display: flex;
278
+ &_outline_#{$colorType} {
279
+ @include dropDownOutlineTheme($colorMap, $root);
280
+ }
281
+ }
98
282
 
99
- border-radius: 2px;
100
- background: #f5f5f5;
101
- }
283
+ &__icon-chevron {
284
+ width: 40px;
285
+ position: absolute;
286
+ top: 50%;
287
+ right: 0px;
288
+ outline: none;
102
289
 
103
- &__selected-item-multiple-remove {
104
- cursor: pointer;
105
- margin-left: 6px;
290
+ transform: translateY(-50%);
106
291
 
107
- display: flex;
108
- align-items: center;
292
+ display: flex;
293
+ justify-content: center;
294
+ align-items: center;
109
295
 
110
- svg {
111
- width: 10px;
112
- opacity: .5;
113
- transition: opacity .1s ease-in;
296
+ svg {
297
+ transition: transform 125ms ease-in-out;
298
+ }
114
299
  }
115
300
 
116
- &:hover {
117
- svg {
118
- opacity: 1;
119
- }
301
+ &__selected-items {
302
+ position: absolute;
303
+ width: calc(100% - 29px);
304
+ height: 100%;
305
+ top: 0;
306
+ left: 0;
307
+ overflow: hidden;
308
+ padding-left: 8px;
309
+ outline: none;
310
+
311
+ text-overflow: ellipsis;
312
+ white-space: nowrap;
313
+ overflow: hidden;
120
314
  }
121
- }
122
315
 
123
- &__reset {
124
- display: block;
125
- position: absolute;
126
- top: 0;
127
- right: 20px;
128
- width: 30px;
129
- height: 100%;
130
- cursor: pointer;
316
+ &__drop-down {
317
+ position: absolute;
318
+ z-index: 2;
319
+ width: 100%;
320
+ height: fit-content;
321
+ top: calc(100% + 8px);
322
+ left: 0;
131
323
 
132
- &::before,
133
- &::after {
134
- display: block;
135
- position: absolute;
136
- top: 50%;
137
- margin-top: -5px;
138
- left: 50%;
139
- width: 1px;
140
- height: 10px;
141
- background-color: $text-muted;
142
- content: '';
143
- }
324
+ background-color: $element-background-color;
144
325
 
145
- &::before {
146
- transform: rotate(45deg);
147
- }
148
-
149
- &::after {
150
- transform: rotate(-45deg);
151
- }
152
- }
153
-
154
- &__drop-down {
155
- position: absolute;
156
- top: calc(100% + 8px);
157
- left: 0;
158
- padding: 0.375rem 0;
159
- width: 100%;
160
- z-index: 100;
161
- background-color: #fff;
162
- background-clip: padding-box;
163
- border: 1px solid #CCCCCC;
164
- border-radius: 10px;
165
- box-shadow: 0 0 30px rgba(0, 0, 0, 0.1);
166
- line-height: 1.5;
167
- color: #152536;
168
- }
169
-
170
- &__drop-down-list {
171
- max-height: 273px;
172
- overflow: auto;
173
- }
174
-
175
- &__search {
176
- padding: 0.25rem 0.5rem;
177
-
178
- > .form-control {
179
- width: 100%;
180
- }
181
- }
182
-
183
- &_size_sm &__search {
184
- padding: 0.1rem 0.2rem;
185
- }
186
-
187
- &__drop-down-item {
188
- width: 100%;
189
- text-align: left;
190
- padding: 0.375rem 0.75rem;
191
- cursor: pointer;
192
- transition: background-color .2s ease;
193
- background-color: transparent;
194
- border: unset;
326
+ border: 1px solid $drop-down-border-color;
327
+ overflow: hidden;
328
+ border-radius: 12px;
195
329
 
196
- &_group {
197
- font-weight: bold;
330
+ &-list {
331
+ @include scrollWrapper(240px, 0, $scroll-thumb-color, $scroll-track-color);
332
+ }
198
333
  }
199
334
 
200
- &_level_1 {
201
- padding-left: 1.25rem
335
+ &_opened {
336
+ #{$root}__icon-chevron {
337
+ svg {
338
+ transform: rotate(180deg);
339
+ }
340
+ }
202
341
  }
203
342
 
204
- &_hover {
205
- background-color: $dropdown-divider-bg;
343
+ &__search {
344
+ width: 100%;
345
+ padding: 9px;
346
+ position: relative;
347
+
348
+ $searchRoot: &;
349
+
350
+ &_size {
351
+ &_lg {
352
+ #{$searchRoot}-input {
353
+ padding: 8px 4px;
354
+ padding-left: 32px;
355
+ }
356
+ }
357
+ &_md {
358
+ #{$searchRoot}-input {
359
+ padding: 5px 4px;
360
+ padding-left: 32px;
361
+
362
+ }
363
+ }
364
+ &_sm {
365
+ #{$searchRoot}-input {
366
+ padding: 5px 8px;
367
+ padding-left: 32px;
368
+
369
+ }
370
+ }
371
+ }
372
+
373
+ &-input {
374
+ width: 220px;
375
+ border-radius: 6px;
376
+ outline: none;
377
+
378
+ font-size: $font-size-base;
379
+ font-weight: 400;
380
+ line-height: 22px;
381
+ border: 1px solid $border-color;
382
+
383
+ color: $text-color;
384
+ background-color: $search-background-color;
385
+
386
+ &:hover {
387
+ background-color: $search-hover-background-color;
388
+ }
389
+
390
+ &::-webkit-search-cancel-button {
391
+ display: none;
392
+ }
393
+ }
394
+
395
+ &-icon {
396
+ display: inline-block;
397
+ width: 24px;
398
+ height: 24px;
399
+ position: absolute;
400
+ top: 50%;
401
+ left: 10px;
402
+
403
+ transform: translateY(-50%);
404
+
405
+ svg {
406
+ circle,
407
+ path {
408
+ stroke: $search-color;
409
+ }
410
+ }
411
+ }
206
412
  }
207
413
 
208
- &_select {
209
- background-color: #D8CCF6;
210
- color: #152536;
414
+ &__placeholder {
415
+ text-overflow: ellipsis;
416
+ white-space: nowrap;
417
+ overflow: hidden;
211
418
  }
212
- }
213
419
 
214
- &_size_sm &__drop-down-item {
215
- padding: 0.25rem 0.5rem;
216
- }
217
-
218
- &_size_lg &__drop-down-item {
219
- padding: 0.5rem 1rem;
220
- }
221
-
222
- &__placeholder {
223
- color: #fff;
224
- }
225
- }
420
+ &__icon-close {
421
+ position: absolute;
422
+ z-index: 9;
423
+ width: 24px;
424
+ height: 24px;
425
+
426
+ display: flex;
427
+ justify-content: center;
428
+ align-items: center;
429
+ top: 50%;
430
+ right: 36px;
431
+ transform: translateY(-50%);
432
+ }
433
+ }
@@ -0,0 +1,2 @@
1
+ export declare const getSelectedItemsLabel: (selectedItems: Record<string, any>[]) => string;
2
+ export declare const getSelectedItemsCount: (selectedItems: Record<string, any>) => any;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ exports.__esModule = true;
3
+ exports.getSelectedItemsCount = exports.getSelectedItemsLabel = void 0;
4
+ var getSelectedItemsLabel = function (selectedItems) { return (selectedItems
5
+ .map(function (selectedItem) { return selectedItem.label; })
6
+ .join(', ')); };
7
+ exports.getSelectedItemsLabel = getSelectedItemsLabel;
8
+ var getSelectedItemsCount = function (selectedItems) {
9
+ var _a;
10
+ if (selectedItems.length <= 1) {
11
+ return (_a = selectedItems[0]) === null || _a === void 0 ? void 0 : _a.label;
12
+ }
13
+ return "".concat(__('Выбрано'), " (").concat(selectedItems.length, ")");
14
+ };
15
+ exports.getSelectedItemsCount = getSelectedItemsCount;
@@ -0,0 +1,2 @@
1
+ import { IDropDownFieldItemViewProps } from '@steroidsjs/core/ui/form/DropDownField/DropDownField';
2
+ export default function DropDownItemView(props: IDropDownFieldItemViewProps): JSX.Element;