@viasat/beam-styles 2.0.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.
Files changed (76) hide show
  1. package/README.md +150 -0
  2. package/all.scss +3 -0
  3. package/components/accordion.module.scss +166 -0
  4. package/components/accordion.vars.scss +3 -0
  5. package/components/actionList.module.scss +211 -0
  6. package/components/actionList.vars.scss +6 -0
  7. package/components/alert.module.scss +158 -0
  8. package/components/aspectRatio.module.scss +21 -0
  9. package/components/avatar.module.scss +204 -0
  10. package/components/badge.module.scss +166 -0
  11. package/components/badgeDot.module.scss +90 -0
  12. package/components/box.module.scss +127 -0
  13. package/components/breadcrumbs.module.scss +149 -0
  14. package/components/button.module.scss +179 -0
  15. package/components/button.vars.scss +129 -0
  16. package/components/card.module.scss +232 -0
  17. package/components/checkbox.module.scss +123 -0
  18. package/components/chip.module.scss +173 -0
  19. package/components/chipsGroup.module.scss +13 -0
  20. package/components/closeButton.module.scss +52 -0
  21. package/components/combobox.module.scss +243 -0
  22. package/components/dialog.module.scss +199 -0
  23. package/components/divider.module.scss +255 -0
  24. package/components/emptyState.module.scss +61 -0
  25. package/components/fileUpload.module.scss +282 -0
  26. package/components/flag.module.scss +11 -0
  27. package/components/floatingui.module.scss +40 -0
  28. package/components/header.module.scss +123 -0
  29. package/components/helperText.module.scss +86 -0
  30. package/components/icon.module.scss +46 -0
  31. package/components/icon.vars.scss +31 -0
  32. package/components/index.scss +40 -0
  33. package/components/inputChoiceGroup.module.scss +46 -0
  34. package/components/label.module.scss +67 -0
  35. package/components/link.module.scss +118 -0
  36. package/components/list.module.scss +204 -0
  37. package/components/logo.module.scss +11 -0
  38. package/components/menu.module.scss +13 -0
  39. package/components/nativeSelect.module.scss +139 -0
  40. package/components/navigation.module.scss +156 -0
  41. package/components/pageHeader.module.scss +93 -0
  42. package/components/pageLayout.module.scss +38 -0
  43. package/components/pagination.module.scss +71 -0
  44. package/components/popover.module.scss +71 -0
  45. package/components/progressBar.module.scss +107 -0
  46. package/components/radioButton.module.scss +115 -0
  47. package/components/segmentedControl.module.scss +212 -0
  48. package/components/sideNav.module.scss +355 -0
  49. package/components/slider.module.scss +240 -0
  50. package/components/spinner.module.scss +261 -0
  51. package/components/spinner.vars.scss +85 -0
  52. package/components/stepper.module.scss +255 -0
  53. package/components/switch.module.scss +194 -0
  54. package/components/tabs.module.scss +412 -0
  55. package/components/text.module.scss +112 -0
  56. package/components/textArea.module.scss +183 -0
  57. package/components/textField.module.scss +162 -0
  58. package/components/toast.module.scss +235 -0
  59. package/components/toastContainer.module.scss +68 -0
  60. package/components/tooltip.module.scss +112 -0
  61. package/package.json +47 -0
  62. package/styles.css +11719 -0
  63. package/styles.css.map +1 -0
  64. package/styles.min.css +20 -0
  65. package/styles.min.css.map +1 -0
  66. package/utils/animation.scss +13 -0
  67. package/utils/constants.scss +1 -0
  68. package/utils/cursors.scss +35 -0
  69. package/utils/globals.scss +17 -0
  70. package/utils/helpers.scss +14 -0
  71. package/utils/index.scss +10 -0
  72. package/utils/mixins.scss +93 -0
  73. package/utils/spacing.scss +82 -0
  74. package/utils/stateLayer.module.scss +55 -0
  75. package/utils/stateLayerVars.scss +75 -0
  76. package/utils/tokens.scss +14 -0
@@ -0,0 +1,355 @@
1
+ @use '../utils/constants.scss';
2
+ @use '../utils/tokens.scss' as tokens;
3
+ @use '../utils/mixins.scss' as mixins;
4
+ @use './actionList.vars.scss' as actionListVars;
5
+ @use './icon.vars.scss' as iconVars;
6
+ @use '../utils/stateLayer.module.scss' as stateLayer;
7
+ @use '../utils/stateLayerVars.scss' as stateLayerVars;
8
+ @use './accordion.vars.scss' as accordionVars;
9
+
10
+ @import '../../../../tokens/src/lib/components/SideNav';
11
+
12
+ $sideNavBaseClass: '#{constants.$prefix}side-nav';
13
+ $transitionDuration: 0.3s;
14
+ $sideNavItemBaseClass: '#{$sideNavBaseClass}__action';
15
+ $desktopBreakpoint: 1200px;
16
+
17
+ @keyframes post-transition-effect {
18
+ 100% {
19
+ overflow-x: unset;
20
+ }
21
+ }
22
+
23
+ .#{$sideNavBaseClass}__wrapper {
24
+ position: relative;
25
+ }
26
+
27
+ .#{$sideNavBaseClass} {
28
+ display: flex;
29
+ flex: 1;
30
+ flex-direction: column;
31
+ user-select: none;
32
+ inset-block: 0;
33
+ inset-inline-start: 0;
34
+ align-items: center;
35
+ z-index: 2;
36
+ transition: inline-size $transitionDuration;
37
+ background: tokens.$bm-comp-side-nav-color-bg;
38
+ inline-size: 0px;
39
+ position: relative;
40
+ overflow-x: clip;
41
+ height: 100%;
42
+
43
+ .#{actionListVars.$actionListBaseClass} {
44
+ width: 100%;
45
+ }
46
+
47
+ &--mobile-enabled {
48
+ @media screen and (max-width: calc(#{$desktopBreakpoint} - 1px)) {
49
+ display: none;
50
+
51
+ &.#{$sideNavBaseClass}--interacted {
52
+ display: flex;
53
+ }
54
+ }
55
+ }
56
+
57
+ &--floating {
58
+ position: absolute;
59
+ }
60
+
61
+ &--rail {
62
+ inline-size: tokens.$bm-comp-side-nav-size-rail;
63
+ border-inline-end: tokens.$bm-sem-border-width-md solid
64
+ tokens.$bm-comp-side-nav-color-border;
65
+ box-sizing: content-box;
66
+
67
+ @media screen and (max-width: calc(#{$desktopBreakpoint} - 1px)) {
68
+ &.#{$sideNavBaseClass}--mobile-enabled {
69
+ display: none;
70
+ }
71
+ }
72
+
73
+ .#{$sideNavItemBaseClass} {
74
+ .#{actionListVars.$actionListItemBaseClass} {
75
+ &__content,
76
+ &__content-after,
77
+ &__content-flyout {
78
+ width: 0;
79
+ overflow: hidden;
80
+ min-width: 0;
81
+ }
82
+ }
83
+ }
84
+
85
+ .#{$sideNavBaseClass}__header,
86
+ .#{$sideNavBaseClass}__heading,
87
+ .#{$sideNavBaseClass}__resize-handler,
88
+ .#{$sideNavBaseClass}__body__nav-container,
89
+ .#{$sideNavBaseClass}__footer__slot {
90
+ display: none;
91
+ }
92
+ }
93
+
94
+ &--drawer {
95
+ border-inline-end: tokens.$bm-sem-border-width-md solid
96
+ tokens.$bm-comp-side-nav-color-border;
97
+ animation: post-transition-effect $transitionDuration both;
98
+
99
+ .#{$sideNavBaseClass}__body__nav-container {
100
+ @media screen and (min-width: $desktopBreakpoint) {
101
+ display: none;
102
+ }
103
+ }
104
+ }
105
+
106
+ &__action {
107
+ width: 100%;
108
+
109
+ &.#{actionListVars.$actionListItemBaseClass} {
110
+ padding-inline-start: tokens.$bm-comp-side-nav-space-item-start;
111
+ text-decoration: none;
112
+ }
113
+
114
+ &--selected {
115
+ .#{actionListVars.$actionListItemBaseClass}__content-before,
116
+ .#{actionListVars.$actionListItemBaseClass}__content-after {
117
+ #{iconVars.$iconColor}: tokens.$bm-comp-actionlist-color-icon-selected;
118
+ }
119
+
120
+ .#{actionListVars.$actionListItemBaseClass}__text {
121
+ color: tokens.$bm-comp-actionlist-color-text-selected;
122
+ font: tokens.$bm-comp-actionlist-typo-text-selected;
123
+ }
124
+
125
+ &::after {
126
+ #{stateLayerVars.$right}: calc(
127
+ -1 * #{tokens.$bm-comp-actionlist-size-state-offset}
128
+ );
129
+ #{stateLayerVars.$left}: calc(
130
+ -1 * #{tokens.$bm-comp-actionlist-size-state-offset}
131
+ );
132
+ @extend %state-layer-base; // TODO: figure out an alternative to this to avoid bringing in the whole stateLayer module
133
+ content: '';
134
+ border-radius: tokens.$bm-comp-actionlist-radius;
135
+ z-index: -2;
136
+ background-color: #{tokens.$bm-sem-color-surface-selected};
137
+ opacity: 1;
138
+ }
139
+
140
+ &::before {
141
+ display: block;
142
+ position: absolute;
143
+ background: tokens.$bm-comp-actionlist-color-indicator;
144
+ content: '';
145
+ inset-inline-start: 0;
146
+ transform: translateX(-50%);
147
+ border-radius: tokens.$bm-comp-actionlist-radius-indicator;
148
+ width: tokens.$bm-comp-actionlist-size-indicator-width;
149
+ height: calc(100% - 2 * #{tokens.$bm-sem-space-75});
150
+ }
151
+ }
152
+
153
+ &--expandable {
154
+ &.#{$sideNavBaseClass}__action--selected {
155
+ &::before {
156
+ display: none;
157
+ }
158
+ }
159
+ }
160
+ }
161
+
162
+ &__resize-handler {
163
+ position: absolute;
164
+ opacity: 0;
165
+ transition: opacity 0.2s ease-in-out;
166
+ z-index: 100;
167
+ width: calc(1.5rem / 2);
168
+ height: 100%;
169
+ inset-block-start: 0px;
170
+ inset-inline-end: calc(-1.5rem / 2);
171
+ display: flex;
172
+ justify-content: start;
173
+
174
+ &:hover,
175
+ &:active {
176
+ opacity: 1;
177
+ cursor: col-resize;
178
+ border-inline-start: solid tokens.$bm-sem-color-border-selected
179
+ tokens.$bm-sem-border-width-lg;
180
+ }
181
+
182
+ &--hidden {
183
+ display: none;
184
+ }
185
+ }
186
+
187
+ &__backdrop {
188
+ position: absolute;
189
+ top: 0;
190
+ right: 0;
191
+ bottom: 0;
192
+ left: 0;
193
+ z-index: 1;
194
+ transition: all $transitionDuration;
195
+ background: transparent;
196
+
197
+ &--opaque {
198
+ background: tokens.$bm-sem-color-overlay-black-40;
199
+ }
200
+ }
201
+
202
+ &__heading {
203
+ display: flex;
204
+ align-items: center;
205
+ justify-content: space-between;
206
+ padding-block: tokens.$bm-comp-side-nav-space-heading-y;
207
+ padding-inline-start: tokens.$bm-comp-side-nav-space-item-start;
208
+ color: tokens.$bm-comp-actionlist-color-group-heading;
209
+ white-space: nowrap;
210
+
211
+ &__content {
212
+ overflow: hidden;
213
+ text-overflow: ellipsis;
214
+
215
+ font-family: tokens.$bm-sem-font-family-label;
216
+ font-size: 0.75rem;
217
+ font-style: normal;
218
+ font-weight: 600;
219
+ line-height: 1.25rem;
220
+ }
221
+ }
222
+
223
+ &__group {
224
+ width: 100%;
225
+ }
226
+
227
+ &__header {
228
+ display: flex;
229
+ padding: tokens.$bm-sem-space-50 tokens.$bm-comp-side-nav-space-x;
230
+ flex-direction: column;
231
+ justify-content: center;
232
+ align-items: flex-start;
233
+ align-self: stretch;
234
+ gap: tokens.$bm-sem-space-50;
235
+ overflow-x: clip;
236
+ }
237
+
238
+ &__footer {
239
+ display: flex;
240
+ padding: tokens.$bm-sem-space-50 tokens.$bm-comp-side-nav-space-x;
241
+ flex-direction: column;
242
+ justify-content: center;
243
+ align-items: flex-start;
244
+ gap: tokens.$bm-sem-space-50;
245
+ align-self: stretch;
246
+ > div {
247
+ width: 100%;
248
+ }
249
+ }
250
+
251
+ &__body--scrolled-bottom + &__footer {
252
+ border-block-start: 1px solid tokens.$bm-sem-color-border-01;
253
+ }
254
+
255
+ &__header:has(+ .#{$sideNavBaseClass}__body--scrolled-top) {
256
+ border-block-end: 1px solid tokens.$bm-sem-color-border-01;
257
+ }
258
+
259
+ &__body {
260
+ display: flex;
261
+ padding-block: tokens.$bm-sem-space-50;
262
+ padding-inline: tokens.$bm-comp-side-nav-space-x;
263
+ flex-direction: column;
264
+ align-items: flex-start;
265
+ flex: 1 0 0;
266
+ align-self: stretch;
267
+ overflow-y: auto;
268
+ overflow-x: hidden;
269
+ > div {
270
+ width: 100%;
271
+ }
272
+
273
+ &__divider {
274
+ margin: #{tokens.$bm-comp-actionlist-space-y} 0;
275
+ }
276
+
277
+ &__nav-container {
278
+ padding-block-end: tokens.$bm-sem-space-150;
279
+ }
280
+ }
281
+
282
+ .#{accordionVars.$accordionBaseClass} {
283
+ position: relative;
284
+
285
+ .#{actionListVars.$actionListItemBaseClass} {
286
+ width: 100%;
287
+ }
288
+
289
+ &__chevron {
290
+ display: none;
291
+ }
292
+
293
+ .#{accordionVars.$accordionBaseClass}__container {
294
+ padding: 0;
295
+ min-height: unset;
296
+ flex-direction: row-reverse;
297
+ gap: 0;
298
+
299
+ &--expanded {
300
+ .#{$sideNavItemBaseClass}__expandable-icon svg {
301
+ will-change: transform;
302
+ transition: transform 0.2s ease;
303
+ transform: rotate(90deg);
304
+ }
305
+ }
306
+ }
307
+
308
+ section[class*='#{accordionVars.$accordionBaseClass}__panel'] {
309
+ padding: 0;
310
+
311
+ > div {
312
+ padding-inline: 0.5rem;
313
+ margin-inline: -0.5rem;
314
+ overflow: unset;
315
+ overflow-x: visible;
316
+ overflow-y: hidden;
317
+ gap: 0;
318
+ }
319
+ }
320
+
321
+ .#{accordionVars.$accordionBaseClass}__heading {
322
+ gap: 0;
323
+ position: relative;
324
+
325
+ .#{$sideNavItemBaseClass}__expandable-icon {
326
+ #{stateLayerVars.getStateLayerSelector('&', 'focus-within')},
327
+ #{stateLayerVars.getStateLayerSelector('&', 'focus-visible')},
328
+ #{stateLayerVars.getStateLayerSelector('&', 'focus')},
329
+ #{stateLayerVars.getStateLayerSelector('&', 'hover')},
330
+ #{stateLayerVars.getStateLayerSelector('&', 'active')} {
331
+ #{stateLayerVars.$background}: transparent;
332
+ }
333
+
334
+ & .#{stateLayerVars.$stateLayerBaseClass} {
335
+ #{stateLayerVars.$top}: 0.125rem;
336
+ #{stateLayerVars.$bottom}: 0.125rem;
337
+ #{stateLayerVars.$left}: 0.125rem;
338
+ #{stateLayerVars.$right}: 0.125rem;
339
+ border-radius: tokens.$bm-sem-radius-sm;
340
+ }
341
+
342
+ z-index: 2;
343
+ position: absolute;
344
+ inset-inline-start: 0;
345
+ transform: translateX(-50%);
346
+ width: tokens.$bm-comp-btn-size-sm-icon;
347
+ height: tokens.$bm-comp-btn-size-sm-icon;
348
+
349
+ &:has(+ .#{$sideNavBaseClass}__action--selected) {
350
+ color: tokens.$bm-comp-actionlist-color-indicator;
351
+ }
352
+ }
353
+ }
354
+ }
355
+ }
@@ -0,0 +1,240 @@
1
+ @use 'sass:map';
2
+ @use '../utils/constants.scss';
3
+ @use '../utils/mixins.scss' as mixins;
4
+ @use '../utils/tokens.scss' as tokens;
5
+ @use '../utils/cursors.scss' as cursors;
6
+
7
+ @import '../../../../tokens/src/lib/components/Slider';
8
+
9
+ $sliderCursor: '--#{constants.$prefix}slider-cursor';
10
+ $sliderTrackCursor: '--#{constants.$prefix}slider-track-cursor';
11
+ $sliderThumbCursor: '--#{constants.$prefix}slider-thumb-cursor';
12
+
13
+ $sliderMinPercentage: '--#{constants.$prefix}comp-slider-min-percentage';
14
+ $sliderMaxPercentage: '--#{constants.$prefix}comp-slider-max-percentage';
15
+
16
+ $sliderThumbPercentage: '--#{constants.$prefix}comp-slider-thumb-percentage';
17
+ $sliderThumbScale: '--#{constants.$prefix}comp-slider-thumb-scale';
18
+
19
+ $sliderBaseClass: '#{constants.$prefix}slider';
20
+
21
+ $sliderTransitionTimingFunction: cubic-bezier(0, .33, 0, .76);
22
+ $sliderTransitionDuration: 0.05s;
23
+
24
+ .#{$sliderBaseClass} {
25
+ width: 100%;
26
+ @include cursors.applyTextCursors();
27
+
28
+ #{$sliderCursor}: pointer;
29
+ #{$sliderTrackCursor}: pointer;
30
+ #{$sliderThumbCursor}: pointer;
31
+
32
+ #{$sliderMinPercentage}: 0cqw;
33
+ #{$sliderMaxPercentage}: 0cqw;
34
+
35
+ font: tokens.$bm-comp-input-typo-default;
36
+
37
+ &--disabled {
38
+ #{$sliderCursor}: not-allowed;
39
+ #{$sliderTrackCursor}: not-allowed;
40
+ #{$sliderThumbCursor}: not-allowed;
41
+
42
+ .#{$sliderBaseClass}__thumb {
43
+ background-color: tokens.$bm-comp-input-color-icon;
44
+ border: unset;
45
+ }
46
+
47
+ .#{$sliderBaseClass}__track::before {
48
+ background-color: tokens.$bm-comp-input-color-border-disabled;
49
+ }
50
+
51
+ .#{$sliderBaseClass}__fill {
52
+ background-color: tokens.$bm-comp-input-color-icon;
53
+ }
54
+
55
+ .#{$sliderBaseClass}__value-axis-label {
56
+ cursor: not-allowed;
57
+ pointer-events: none;
58
+ color: tokens.$bm-comp-input-color-icon;
59
+ }
60
+ }
61
+
62
+ &--readonly {
63
+ #{$sliderCursor}: default;
64
+ #{$sliderTrackCursor}: not-allowed;
65
+ #{$sliderThumbCursor}: default;
66
+
67
+ .#{$sliderBaseClass}__thumb {
68
+ background-color: tokens.$bm-comp-input-color-icon;
69
+ border: unset;
70
+ }
71
+
72
+ .#{$sliderBaseClass}__track::before {
73
+ background-color: tokens.$bm-comp-input-color-border-disabled;
74
+ }
75
+
76
+ .#{$sliderBaseClass}__fill {
77
+ background-color: tokens.$bm-comp-input-color-border-disabled;
78
+ }
79
+
80
+ .#{$sliderBaseClass}__value-axis-label {
81
+ cursor: not-allowed;
82
+ pointer-events: none;
83
+ color: tokens.$bm-comp-input-color-icon;
84
+ }
85
+ }
86
+
87
+ &--with-value-axis {
88
+ .#{$sliderBaseClass}__content-container {
89
+ align-items: flex-start;
90
+ }
91
+ }
92
+
93
+ &__track {
94
+ position: relative;
95
+ height: tokens.$bm-comp-slider-size-handle;
96
+ display: flex;
97
+ align-items: center;
98
+ cursor: var(#{$sliderTrackCursor}, pointer);
99
+ container: slider-track / size;
100
+
101
+ &::before {
102
+ content: '';
103
+ position: absolute;
104
+ width: 100%;
105
+ height: tokens.$bm-comp-slider-size-track;
106
+ background-color: tokens.$bm-comp-slider-color-track-bg;
107
+ border-radius: tokens.$bm-comp-slider-radius-track;
108
+ }
109
+ }
110
+
111
+ &__fill {
112
+ position: absolute;
113
+ height: tokens.$bm-comp-slider-size-track;
114
+ background-color: tokens.$bm-comp-slider-color-track-bg-filled;
115
+ border-radius: tokens.$bm-comp-slider-radius-track;
116
+ transition: transform $sliderTransitionTimingFunction;
117
+ left: 0;
118
+ width: 100%;
119
+ transform-origin: 0% 50%;
120
+ transform:
121
+ translateX(var(#{$sliderMinPercentage}, 0cqw))
122
+ scaleX(calc((var(#{$sliderMaxPercentage}, 0cqw) - var(#{$sliderMinPercentage}, 0cqw)) / 100cqw));
123
+ transition: transform $sliderTransitionDuration $sliderTransitionTimingFunction;
124
+
125
+ [dir="rtl"] & {
126
+ transform:
127
+ translateX(calc(100cqw - var(#{$sliderMaxPercentage}, 0cqw)))
128
+ scaleX(calc((var(#{$sliderMaxPercentage}, 0cqw) - var(#{$sliderMinPercentage}, 0cqw)) / 100cqw));
129
+ }
130
+ }
131
+
132
+ &__thumb-container {
133
+ #{$sliderThumbPercentage}: 0cqw;
134
+ #{$sliderThumbScale}: 1;
135
+
136
+ position: absolute;
137
+ left: calc(0 - tokens.$bm-comp-slider-size-handle / 2);
138
+ width: tokens.$bm-comp-slider-size-handle;
139
+ height: tokens.$bm-comp-slider-size-handle;
140
+ transition: transform $sliderTransitionDuration $sliderTransitionTimingFunction;
141
+ transform-origin: 50% 50%;
142
+ transform: translateX(calc(var(#{$sliderThumbPercentage}, 0cqw) - 50%));
143
+
144
+ [dir="rtl"] & {
145
+ transform: translateX(calc(50% - var(#{$sliderThumbPercentage}, 0cqw)));
146
+ }
147
+ }
148
+
149
+ &__thumb {
150
+ width: 100%;
151
+ height: 100%;
152
+ background-color: tokens.$bm-comp-slider-color-handle-bg;
153
+ border-radius: tokens.$bm-comp-slider-radius-handle;
154
+ border: tokens.$bm-comp-slider-border-width-handle solid
155
+ tokens.$bm-comp-slider-color-handle-border;
156
+ cursor: var(#{$sliderThumbCursor}, grab);
157
+
158
+ transform: scale(var(#{$sliderThumbScale}, 1));
159
+ transition: transform $sliderTransitionDuration $sliderTransitionTimingFunction,
160
+ }
161
+
162
+ &__thumb:focus-visible {
163
+ outline-color: tokens.$bm-utility-color-accent-default;
164
+ box-shadow: 0 0 0 tokens.$bm-sem-border-width-focus
165
+ tokens.$bm-sem-color-surface-01,
166
+ 0 0 0
167
+ calc(tokens.$bm-sem-border-width-focus + tokens.$bm-sem-border-width-focus)
168
+ tokens.$bm-sem-color-border-focus;
169
+ }
170
+
171
+ &__thumb-container:active {
172
+ #{$sliderThumbScale}: calc(tokens.$bm-comp-slider-size-handle-active / tokens.$bm-comp-slider-size-handle);
173
+ }
174
+
175
+ &__tick {
176
+ position: absolute;
177
+ top: 50%;
178
+ width: tokens.$bm-comp-slider-size-step-x;
179
+ height: tokens.$bm-comp-slider-size-track;
180
+ background: tokens.$bm-comp-slider-color-step;
181
+ transform: translateY(-50%);
182
+ pointer-events: none;
183
+ }
184
+
185
+ &__value-axis-label {
186
+ font: tokens.$bm-comp-slider-typo-values;
187
+ color: tokens.$bm-comp-slider-color-values;
188
+ position: absolute;
189
+ background: none;
190
+ border: none;
191
+ padding: 0;
192
+ z-index: 1;
193
+ white-space: nowrap;
194
+ cursor: pointer;
195
+ pointer-events: auto;
196
+ font-weight: inherit;
197
+ }
198
+
199
+ &__value-axis-helper {
200
+ visibility: hidden;
201
+ position: relative;
202
+ }
203
+
204
+ &__value-axis {
205
+ position: relative;
206
+ width: 100%;
207
+ margin-top: tokens.$bm-comp-slider-space-gap-y;
208
+ }
209
+
210
+ &__content-container {
211
+ display: flex;
212
+ flex-direction: row;
213
+ align-items: center;
214
+ gap: tokens.$bm-comp-slider-space-gap-outside-x;
215
+ }
216
+
217
+ &__textfield {
218
+ width: 100%;
219
+
220
+ /* Chromium-based */
221
+ ::-webkit-outer-spin-button,
222
+ ::-webkit-inner-spin-button {
223
+ -webkit-appearance: none;
224
+ margin: 0;
225
+ }
226
+
227
+ /* Firefox */
228
+ [type='number'] {
229
+ -moz-appearance: textfield;
230
+ appearance: textfield;
231
+ }
232
+ }
233
+
234
+ &__content-before,
235
+ &__content-after {
236
+ display: flex;
237
+ align-items: center;
238
+ justify-content: center;
239
+ }
240
+ }