@globalbrain/sefirot 4.38.0 → 4.39.0

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.
@@ -55,7 +55,7 @@ const tooltipPosition = computed(() => {
55
55
  display: flex;
56
56
  justify-content: center;
57
57
  align-items: center;
58
- background-color: var(--c-bg-elv-1);
58
+ background-color: var(--c-bg-1);
59
59
  border-radius: 50%;
60
60
  overflow: hidden;
61
61
  }
@@ -115,6 +115,11 @@ const tooltipPosition = computed(() => {
115
115
  }
116
116
 
117
117
  .SAvatar.no-image {
118
- border: 1px solid var(--c-border-mute-1);
118
+ border: 1px solid var(--c-border);
119
+ background-color: var(--c-bg-3);
120
+
121
+ .dark & {
122
+ border-color: transparent;
123
+ }
119
124
  }
120
125
  </style>
@@ -42,11 +42,12 @@ const count = computed(() => {
42
42
  .SAvatarStack {
43
43
  display: flex;
44
44
 
45
- :slotted(.SAvatar), :deep(.SAvatar), .more {
45
+ :slotted(.SAvatar),
46
+ :deep(.SAvatar),
47
+ .more {
46
48
  flex-shrink: 0;
47
- border: 2px solid var(--c-bg-elv-2);
48
- border-radius: 50%;
49
49
  overflow: hidden;
50
+ box-shadow: 0 0 0 2px var(--c-bg-1);
50
51
  }
51
52
 
52
53
  &.mini > :deep(*):not(:last-child) { margin-right: -6px; }
@@ -62,7 +63,7 @@ const count = computed(() => {
62
63
  display: flex;
63
64
  justify-content: center;
64
65
  align-items: center;
65
- background-color: var(--c-bg-mute-1);
66
+ background-color: var(--c-bg-3);
66
67
  border-radius: 50%;
67
68
  line-height: 1;
68
69
  color: var(--c-text-2);
@@ -152,11 +152,12 @@ function onClick(): void {
152
152
  letter-spacing: 0;
153
153
  text-align: center;
154
154
  border: 1px solid var(--button-border-color);
155
- border-radius: 6px;
155
+ border-radius: 8px;
156
156
  color: var(--button-text-color);
157
157
  background-color: var(--button-bg-color);
158
158
  overflow: hidden;
159
159
  white-space: nowrap;
160
+ box-shadow: var(--button-box-shadow, none);
160
161
  transition: color 0.25s, border-color 0.25s, background-color 0.25s;
161
162
 
162
163
  &:hover {
@@ -356,6 +357,7 @@ function onClick(): void {
356
357
  --button-text-color: var(--button-fill-default-text-color);
357
358
  --button-bg-color: var(--button-fill-default-bg-color);
358
359
  --button-count-bg-color: var(--button-fill-default-count-bg-color);
360
+ --button-box-shadow: var(--button-fill-default-box-shadow);
359
361
  --button-hover-border-color: var(--button-fill-default-hover-border-color);
360
362
  --button-hover-text-color: var(--button-fill-default-hover-text-color);
361
363
  --button-hover-bg-color: var(--button-fill-default-hover-bg-color);
@@ -2,19 +2,26 @@
2
2
  import { computed } from 'vue'
3
3
  import { provideCardState } from '../composables/Card'
4
4
 
5
+ export interface Props {
6
+ size?: Size
7
+ mode?: Mode
8
+ muted?: boolean
9
+ }
10
+
5
11
  export type Size = 'small' | 'medium' | 'large' | 'xlarge' | 'xxlarge'
6
12
  export type Mode = 'neutral' | 'info' | 'success' | 'warning' | 'danger'
7
13
 
8
- const props = defineProps<{
9
- size?: Size
10
- mode?: Mode
11
- }>()
14
+ const props = withDefaults(defineProps<Props>(), {
15
+ size: 'medium',
16
+ mode: 'neutral'
17
+ })
12
18
 
13
19
  const { isCollapsed } = provideCardState()
14
20
 
15
21
  const classes = computed(() => [
16
22
  props.size,
17
- props.mode ?? 'neutral',
23
+ props.mode,
24
+ { muted: props.muted },
18
25
  { collapsed: isCollapsed.value }
19
26
  ])
20
27
  </script>
@@ -25,17 +32,18 @@ const classes = computed(() => [
25
32
  </div>
26
33
  </template>
27
34
 
28
- <style scoped lang="postcss">
35
+ <style scoped>
29
36
  .SCard {
30
- display: grid;
31
- grid-template-columns: minmax(0, 1fr);
37
+ position: relative;
38
+ display: flex;
39
+ flex-direction: column;
32
40
  gap: 1px;
33
41
  border: 1px solid transparent;
34
- border-radius: 6px;
35
- background-color: var(--c-gutter);
42
+ border-radius: 12px;
43
+ background-color: var(--c-divider);
36
44
  }
37
45
 
38
- .SCard.neutral { border-color: var(--c-divider); }
46
+ .SCard.neutral { border-color: var(--c-border); }
39
47
  .SCard.info { border-color: var(--c-border-info-1); }
40
48
  .SCard.success { border-color: var(--c-border-success-1); }
41
49
  .SCard.warning { border-color: var(--c-border-warning-1); }
@@ -46,62 +54,25 @@ const classes = computed(() => [
46
54
  overflow: hidden;
47
55
  }
48
56
 
49
- .SModal > .SCard {
50
- margin: 12px 12px 128px;
51
- box-shadow: var(--shadow-depth-3);
52
- transition: opacity 0.25s, transform 0.25s;
53
-
54
- @media (min-width: 512px) {
55
- margin: 24px 24px 128px;
56
- }
57
-
58
- @media (min-width: 768px) {
59
- margin: 48px 48px 128px;
60
- }
61
-
62
- &.small {
63
- @media (min-width: 560px) {
64
- margin: 24px auto 128px;
65
- max-width: 512px;
66
- }
67
-
68
- @media (min-width: 768px) {
69
- margin: 48px auto 128px;
70
- }
71
- }
72
-
73
- &.medium {
74
- @media (min-width: 736px) {
75
- margin: 48px auto 128px;
76
- max-width: 640px;
77
- }
78
- }
79
-
80
- &.large {
81
- @media (min-width: 864px) {
82
- margin: 48px auto 128px;
83
- max-width: 768px;
84
- }
85
- }
57
+ .SCard :deep(> .SCardBlock:first-child),
58
+ .SCard :deep(> .SCardClose + .SCardBlock) {
59
+ border-top-left-radius: 11px;
60
+ border-top-right-radius: 11px;
61
+ }
86
62
 
87
- &.xlarge {
88
- @media (min-width: 1056px) {
89
- margin: 48px auto 128px;
90
- max-width: 960px;
91
- }
92
- }
63
+ .SCard :deep(> .SCardBlock:last-child) {
64
+ border-bottom-right-radius: 11px;
65
+ border-bottom-left-radius: 11px;
66
+ }
93
67
 
94
- &.xxlarge {
95
- @media (min-width: 1248px) {
96
- margin: 48px auto 128px;
97
- max-width: 1152px;
98
- }
99
- }
68
+ .SCard.muted :deep(> .SCardBlock) {
69
+ background-color: var(--c-bg-2);
100
70
  }
101
71
 
102
- .SModal.fade-enter-from > .SCard,
103
- .SModal.fade-leave-to > .SCard {
104
- opacity: 0;
105
- transform: translateY(8px);
72
+ .SCard :deep(> .SCardClose) {
73
+ position: absolute;
74
+ top: 8px;
75
+ right: 8px;
76
+ z-index: 10;
106
77
  }
107
78
  </style>
@@ -5,6 +5,9 @@ import { type CardBlockSize, provideCardBlockSize } from '../composables/Card'
5
5
  export type { CardBlockSize as Size }
6
6
 
7
7
  export type Bg =
8
+ | '1'
9
+ | '2'
10
+ | '3'
8
11
  | 'elv-1'
9
12
  | 'elv-2'
10
13
  | 'elv-3'
@@ -15,7 +18,7 @@ const props = withDefaults(defineProps<{
15
18
  size?: CardBlockSize
16
19
  bg?: Bg
17
20
  }>(), {
18
- bg: 'elv-3'
21
+ bg: '1'
19
22
  })
20
23
 
21
24
  const _bg = computed(() => {
@@ -31,23 +34,13 @@ provideCardBlockSize(computed(() => props.size ?? null))
31
34
  </div>
32
35
  </template>
33
36
 
34
- <style scoped lang="postcss">
37
+ <style scoped>
35
38
  .SCardBlock {
36
39
  &.compact { padding: 12px; }
37
40
  &.wide { padding: 16px; }
38
41
  &.xwide { padding: 24px; }
39
42
  }
40
43
 
41
- .SCard > .SCardBlock:first-child {
42
- border-top-left-radius: 5px;
43
- border-top-right-radius: 5px;
44
- }
45
-
46
- .SCard > .SCardBlock:last-child {
47
- border-bottom-right-radius: 5px;
48
- border-bottom-left-radius: 5px;
49
- }
50
-
51
44
  .SCardBlock.xsmall,
52
45
  .SCardBlock.small,
53
46
  .SCardBlock.medium,
@@ -0,0 +1,20 @@
1
+ <script setup lang="ts">
2
+ import IconX from '~icons/ph/x'
3
+ import SButton from './SButton.vue'
4
+
5
+ defineEmits<{
6
+ click: []
7
+ }>()
8
+ </script>
9
+
10
+ <template>
11
+ <div class="SCardClose">
12
+ <SButton
13
+ size="sm"
14
+ type="text"
15
+ mode="mute"
16
+ :icon="IconX"
17
+ @click="$emit('click')"
18
+ />
19
+ </div>
20
+ </template>
@@ -0,0 +1,15 @@
1
+ <template>
2
+ <div class="SCardFooter">
3
+ <slot />
4
+ </div>
5
+ </template>
6
+
7
+ <style scoped>
8
+ .SCardFooter {
9
+ display: flex;
10
+ justify-content: flex-end;
11
+ gap: 12px;
12
+ border-radius: 0 0 11px 11px;
13
+ background-color: var(--c-bg-2);
14
+ }
15
+ </style>
@@ -4,7 +4,7 @@
4
4
  </div>
5
5
  </template>
6
6
 
7
- <style scoped lang="postcss">
7
+ <style scoped>
8
8
  .SContent {
9
9
  display: flex;
10
10
  flex-direction: column;
@@ -18,7 +18,7 @@
18
18
  max-width: 720px;
19
19
  line-height: 36px;
20
20
  font-size: 24px;
21
- font-weight: 500;
21
+ font-weight: 600;
22
22
  color: var(--c-text-1);
23
23
  }
24
24
 
@@ -27,9 +27,9 @@
27
27
  margin: 16px 0 0;
28
28
  padding: 0;
29
29
  max-width: 720px;
30
- line-height: 32px;
30
+ line-height: 28px;
31
31
  font-size: 20px;
32
- font-weight: 500;
32
+ font-weight: 600;
33
33
  color: var(--c-text-1);
34
34
  }
35
35
 
@@ -38,9 +38,20 @@
38
38
  margin: 16px 0 0;
39
39
  padding: 0;
40
40
  max-width: 720px;
41
- line-height: 28px;
41
+ line-height: 30px;
42
42
  font-size: 18px;
43
- font-weight: 500;
43
+ font-weight: 600;
44
+ color: var(--c-text-1);
45
+ }
46
+
47
+ .SContent :deep(h4),
48
+ .SContent :deep(.h4) {
49
+ margin: 16px 0 0;
50
+ padding: 0;
51
+ max-width: 720px;
52
+ line-height: 28px;
53
+ font-size: 16px;
54
+ font-weight: 600;
44
55
  color: var(--c-text-1);
45
56
  }
46
57
 
@@ -49,7 +60,9 @@
49
60
  .SContent :deep(h2:first-child),
50
61
  .SContent :deep(.h2:first-child),
51
62
  .SContent :deep(h3:first-child),
52
- .SContent :deep(.h3:first-child) {
63
+ .SContent :deep(.h3:first-child),
64
+ .SContent :deep(h4:first-child),
65
+ .SContent :deep(.h4:first-child) {
53
66
  margin-top: 0;
54
67
  }
55
68
 
@@ -124,16 +137,16 @@
124
137
  .SContent :deep(table) {
125
138
  margin: 8px 0;
126
139
  border-style: hidden;
127
- border-radius: 6px;
140
+ border-radius: 8px;
128
141
  text-align: left;
129
142
  font-size: 14px;
130
143
  color: var(--c-text-1);
131
144
  overflow: clip;
132
- box-shadow: 0 0 0 1px var(--c-divider);
145
+ box-shadow: 0 0 0 1px var(--c-border);
133
146
  }
134
147
 
135
148
  .SContent :deep(table tr:hover td) {
136
- background-color: var(--c-bg-elv-4);
149
+ background-color: var(--c-bg-2);
137
150
  }
138
151
 
139
152
  .SContent :deep(table thead > tr > th) {
@@ -142,18 +155,17 @@
142
155
 
143
156
  .SContent :deep(table th),
144
157
  .SContent :deep(table td) {
145
- border: 1px solid var(--c-gutter);
158
+ border: 1px solid var(--c-divider);
146
159
  padding: 8px 16px;
147
160
  height: 40px;
148
161
  vertical-align: top;
149
162
  text-wrap: pretty;
150
- background-color: var(--c-bg-elv-3);
151
163
  overflow-wrap: break-word;
152
164
  }
153
165
 
154
166
  .SContent :deep(table th) {
155
167
  font-size: 12px;
156
- font-weight: 600;
168
+ font-weight: 500;
157
169
  color: var(--c-text-2);
158
170
  text-wrap: balance;
159
171
  }
@@ -132,6 +132,7 @@ function onClick() {
132
132
  width: 16px;
133
133
  height: 16px;
134
134
  background-color: var(--input-bg-color);
135
+ box-shadow: var(--input-box-shadow);
135
136
  transition: border-color 0.25s, background-color 0.25s;
136
137
  }
137
138
 
@@ -113,7 +113,7 @@ function onBlur() {
113
113
  .SInputDate.md {
114
114
  .input {
115
115
  padding: 6px 10px;
116
- max-width: 120px;
116
+ max-width: 128px;
117
117
  height: 36px;
118
118
  line-height: 24px;
119
119
  font-size: var(--input-font-size, var(--input-small-font-size));
@@ -165,11 +165,12 @@ function onBlur() {
165
165
  .input {
166
166
  display: block;
167
167
  border: 1px solid var(--input-border-color);
168
- border-radius: 6px;
168
+ border-radius: 8px;
169
169
  width: 100%;
170
170
  font-weight: 400;
171
171
  font-feature-settings: 'tnum';
172
172
  background-color: var(--input-bg-color);
173
+ box-shadow: var(--input-box-shadow);
173
174
  transition: border-color 0.25s, background-color 0.25s;
174
175
 
175
176
  &::placeholder {
@@ -192,10 +192,11 @@ function onSelect(value: OptionValue) {
192
192
  display: flex;
193
193
  align-items: center;
194
194
  border: 1px solid var(--input-border-color);
195
- border-radius: 6px;
195
+ border-radius: 8px;
196
196
  width: 100%;
197
197
  color: var(--input-text);
198
198
  background-color: var(--input-bg-color);
199
+ box-shadow: var(--input-box-shadow);
199
200
  cursor: pointer;
200
201
  transition: border-color 0.25s, background-color 0.25s;
201
202
 
@@ -203,6 +203,7 @@ function onChange(e: Event) {
203
203
  border: 1px solid var(--input-border-color);
204
204
  border-radius: 6px;
205
205
  background-color: var(--input-bg-color);
206
+ box-shadow: var(--input-box-shadow);
206
207
  cursor: pointer;
207
208
  transition: border-color 0.25s;
208
209
 
@@ -211,8 +212,7 @@ function onChange(e: Event) {
211
212
  }
212
213
 
213
214
  &:hover .button {
214
- border-color: var(--c-border-mute-2);
215
- background-color: var(--c-bg-mute-2);
215
+ background-color: var(--button-fill-default-hover-bg-color);
216
216
  }
217
217
  }
218
218
 
@@ -221,10 +221,11 @@ function onChange(e: Event) {
221
221
  }
222
222
 
223
223
  .button {
224
- border: 1px solid var(--c-border-mute-1);
224
+ border: 1px solid var(--button-fill-default-border-color);
225
225
  border-radius: 3px;
226
226
  color: var(--c-text-1);
227
- background-color: var(--c-bg-mute-1);
227
+ background-color: var(--button-fill-default-bg-color);
228
+ box-shadow: var(--button-fill-default-box-shadow);
228
229
  transition: border-color 0.25s, background-color 0.25s;
229
230
  }
230
231
 
@@ -265,7 +265,7 @@ function toFileObjects(files: File[]) {
265
265
  align-items: center;
266
266
  gap: 16px;
267
267
  border: 1px dashed var(--c-border-mute-1);
268
- border-radius: 3px;
268
+ border-radius: 8px;
269
269
  padding: 24px 0;
270
270
  min-height: 192px;
271
271
  text-align: center;
@@ -308,8 +308,9 @@ function createRequiredTouched(): boolean[] {
308
308
  .container {
309
309
  display: inline-flex;
310
310
  border: 1px solid var(--input-border-color);
311
- border-radius: 6px;
311
+ border-radius: 8px;
312
312
  background-color: var(--input-bg-color);
313
+ box-shadow: var(--input-box-shadow);
313
314
  transition: border-color 0.25s;
314
315
 
315
316
  &:hover { border-color: var(--input-hover-border-color); }
@@ -112,6 +112,7 @@ function onClick() {
112
112
  width: 16px;
113
113
  height: 16px;
114
114
  background-color: var(--input-bg-color);
115
+ box-shadow: var(--input-box-shadow);
115
116
  transition: border-color 0.25s;
116
117
  }
117
118
 
@@ -186,10 +186,11 @@ function emitChange(e: any): void {
186
186
  .box {
187
187
  position: relative;
188
188
  border: 1px solid var(--input-border-color);
189
- border-radius: 6px;
189
+ border-radius: 8px;
190
190
  width: 100%;
191
191
  color: var(--input-value-color);
192
192
  background-color: var(--input-bg-color);
193
+ box-shadow: var(--input-box-shadow);
193
194
  cursor: pointer;
194
195
  transition: border-color 0.25s, background-color 0.25s;
195
196
 
@@ -404,9 +404,10 @@ function getValue(e: Event | FocusEvent | KeyboardEvent): string | null {
404
404
  flex-grow: 1;
405
405
  max-width: 100%;
406
406
  border: 1px solid var(--input-border-color);
407
- border-radius: 6px;
407
+ border-radius: 8px;
408
408
  background-color: var(--input-bg-color);
409
- transition: border-color 0.25s;
409
+ box-shadow: var(--input-box-shadow);
410
+ transition: border-color 0.25s, background-color 0.25s;
410
411
 
411
412
  &:hover {
412
413
  border-color: var(--input-hover-border-color);
@@ -151,9 +151,10 @@ const isPreview = ref(false)
151
151
  gap: 1px;
152
152
  flex-grow: 1;
153
153
  border: 1px solid var(--input-border-color);
154
- border-radius: 6px;
154
+ border-radius: 8px;
155
155
  width: 100%;
156
156
  background-color: var(--c-gutter);
157
+ box-shadow: var(--input-box-shadow);
157
158
  overflow: hidden;
158
159
  transition: border-color 0.25s;
159
160
 
@@ -307,8 +307,9 @@ function createRequiredTouched(): boolean[] {
307
307
  .container {
308
308
  display: inline-flex;
309
309
  border: 1px solid var(--input-border-color);
310
- border-radius: 6px;
310
+ border-radius: 8px;
311
311
  background-color: var(--input-bg-color);
312
+ box-shadow: var(--input-box-shadow);
312
313
  transition: border-color 0.25s, background-color 0.25s;
313
314
 
314
315
  &:hover { border-color: var(--input-hover-border-color); }
@@ -37,7 +37,7 @@ function onClick(e: MouseEvent) {
37
37
  </Teleport>
38
38
  </template>
39
39
 
40
- <style scoped lang="postcss">
40
+ <style scoped>
41
41
  .SModal {
42
42
  position: fixed;
43
43
  top: 0;
@@ -55,4 +55,63 @@ function onClick(e: MouseEvent) {
55
55
  .SModal.fade-leave-to {
56
56
  opacity: 0;
57
57
  }
58
+
59
+ .SModal :deep(> .SCard) {
60
+ margin: 12px 12px 128px;
61
+ box-shadow: var(--shadow-depth-3);
62
+ transition: opacity 0.25s, transform 0.25s;
63
+
64
+ @media (min-width: 512px) {
65
+ margin: 24px 24px 128px;
66
+ }
67
+
68
+ @media (min-width: 768px) {
69
+ margin: 48px 48px 128px;
70
+ }
71
+
72
+ &.small {
73
+ @media (min-width: 560px) {
74
+ margin: 24px auto 128px;
75
+ max-width: 512px;
76
+ }
77
+
78
+ @media (min-width: 768px) {
79
+ margin: 48px auto 128px;
80
+ }
81
+ }
82
+
83
+ &.medium {
84
+ @media (min-width: 736px) {
85
+ margin: 48px auto 128px;
86
+ max-width: 640px;
87
+ }
88
+ }
89
+
90
+ &.large {
91
+ @media (min-width: 864px) {
92
+ margin: 48px auto 128px;
93
+ max-width: 768px;
94
+ }
95
+ }
96
+
97
+ &.xlarge {
98
+ @media (min-width: 1056px) {
99
+ margin: 48px auto 128px;
100
+ max-width: 960px;
101
+ }
102
+ }
103
+
104
+ &.xxlarge {
105
+ @media (min-width: 1248px) {
106
+ margin: 48px auto 128px;
107
+ max-width: 1152px;
108
+ }
109
+ }
110
+ }
111
+
112
+ .SModal.fade-enter-from :deep(> .SCard),
113
+ .SModal.fade-leave-to :deep(> .SCard) {
114
+ opacity: 0;
115
+ transform: translateY(8px);
116
+ }
58
117
  </style>
@@ -55,8 +55,6 @@ const hasNext = computed(() => {
55
55
  <div class="SPagination" :class="[size, align]">
56
56
  <div class="button prev">
57
57
  <SButton
58
- type="outline"
59
- mode="mute"
60
58
  :size
61
59
  :lead-icon="IconCaretLeft"
62
60
  :label="t.prev"
@@ -69,8 +67,6 @@ const hasNext = computed(() => {
69
67
  </div>
70
68
  <div class="button next">
71
69
  <SButton
72
- type="outline"
73
- mode="mute"
74
70
  :size
75
71
  :trail-icon="IconCaretRight"
76
72
  :label="t.next"
@@ -711,7 +711,7 @@ function onResizeEnd(data: { columnName: string; finalWidth: string }) {
711
711
  top: var(--table-head-top, auto);
712
712
  z-index: 100;
713
713
  border-radius: calc(var(--table-border-radius) - 1px) calc(var(--table-border-radius) - 1px) 0 0;
714
- background-color: var(--bg-elv-2);
714
+ background-color: var(--c-bg-1);
715
715
  scrollbar-width: none;
716
716
  line-height: 0;
717
717
 
@@ -764,7 +764,7 @@ function onResizeEnd(data: { columnName: string; finalWidth: string }) {
764
764
 
765
765
  :deep(.row) {
766
766
  display: flex;
767
- border-bottom: 1px solid var(--c-gutter);
767
+ border-bottom: 1px solid var(--c-divider);
768
768
  }
769
769
 
770
770
  :deep(.row.last),
@@ -783,7 +783,7 @@ function onResizeEnd(data: { columnName: string; finalWidth: string }) {
783
783
  border-radius: 0 0 calc(var(--table-border-radius) - 1px) calc(var(--table-border-radius) - 1px);
784
784
  padding: 48px 32px;
785
785
  text-align: center;
786
- background-color: var(--c-bg-elv-3);
786
+ background-color: var(--c-bg-1);
787
787
  line-height: 24px;
788
788
  font-size: 14px;
789
789
  font-weight: 500;
@@ -796,7 +796,7 @@ function onResizeEnd(data: { columnName: string; finalWidth: string }) {
796
796
 
797
797
  .loading {
798
798
  border-radius: 0 0 calc(var(--table-border-radius) - 1px) calc(var(--table-border-radius) - 1px);
799
- background-color: var(--c-bg-elv-3);
799
+ background-color: var(--c-bg-1);
800
800
  overflow: hidden;
801
801
 
802
802
  .has-footer & {
@@ -863,7 +863,7 @@ function onResizeEnd(data: { columnName: string; finalWidth: string }) {
863
863
 
864
864
  :deep(.input) {
865
865
  align-items: center;
866
- padding: 0 16px;
866
+ padding: 0 16px 0 15px;
867
867
  min-height: 40px;
868
868
  user-select: none;
869
869
  }