@viasat/beam-styles 2.0.0 → 2.1.1
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.
- package/README.md +137 -5
- package/components/accordion.module.scss +1 -1
- package/components/actionList.module.scss +4 -3
- package/components/alert.module.scss +1 -1
- package/components/avatar.module.scss +1 -1
- package/components/badge.module.scss +1 -1
- package/components/badgeDot.module.scss +1 -1
- package/components/breadcrumbs.module.scss +1 -1
- package/components/button.module.scss +1 -1
- package/components/checkbox.module.scss +1 -1
- package/components/chip.module.scss +1 -1
- package/components/chipsGroup.module.scss +1 -1
- package/components/closeButton.module.scss +1 -1
- package/components/combobox.module.scss +27 -9
- package/components/dialog.module.scss +1 -1
- package/components/divider.module.scss +1 -1
- package/components/emptyState.module.scss +1 -1
- package/components/fileUpload.module.scss +1 -1
- package/components/header.module.scss +1 -1
- package/components/helperText.module.scss +1 -1
- package/components/inputChoiceGroup.module.scss +1 -1
- package/components/label.module.scss +1 -1
- package/components/link.module.scss +1 -1
- package/components/list.module.scss +1 -1
- package/components/menu.module.scss +1 -1
- package/components/nativeSelect.module.scss +1 -1
- package/components/pagination.module.scss +1 -1
- package/components/popover.module.scss +1 -1
- package/components/progressBar.module.scss +1 -1
- package/components/radioButton.module.scss +1 -1
- package/components/segmentedControl.module.scss +2 -2
- package/components/sideNav.module.scss +1 -1
- package/components/slider.module.scss +25 -15
- package/components/spinner.vars.scss +1 -1
- package/components/stepper.module.scss +1 -1
- package/components/switch.module.scss +1 -1
- package/components/tabs.module.scss +1 -1
- package/components/text.module.scss +1 -1
- package/components/textArea.module.scss +1 -1
- package/components/textField.module.scss +1 -1
- package/components/toast.module.scss +1 -1
- package/components/toastContainer.module.scss +1 -1
- package/components/tooltip.module.scss +1 -1
- package/package.json +1 -1
- package/styles.css +1 -8
- package/styles.css.map +1 -1
- package/styles.min.css +1 -1
- package/styles.min.css.map +1 -1
- package/utils/tokens.scss +1 -7
package/README.md
CHANGED
|
@@ -95,11 +95,15 @@ All component styles use CSS Modules with local scope by default:
|
|
|
95
95
|
```scss
|
|
96
96
|
// button.module.scss
|
|
97
97
|
.bm-button {
|
|
98
|
-
//
|
|
98
|
+
// Base button styles
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
.bm-button--
|
|
102
|
-
//
|
|
101
|
+
.bm-button--accent-filled {
|
|
102
|
+
// Appearance/kind modifier styles
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
.bm-button--sm {
|
|
106
|
+
// Size modifier styles
|
|
103
107
|
}
|
|
104
108
|
```
|
|
105
109
|
|
|
@@ -108,7 +112,7 @@ When imported in JavaScript/TypeScript:
|
|
|
108
112
|
```tsx
|
|
109
113
|
import styles from '@viasat/beam-styles/components/button.module.scss';
|
|
110
114
|
|
|
111
|
-
<button className={styles
|
|
115
|
+
<button className={styles['bm-button']} />;
|
|
112
116
|
```
|
|
113
117
|
|
|
114
118
|
## Compiled CSS
|
|
@@ -140,10 +144,138 @@ This package is intended for:
|
|
|
140
144
|
|
|
141
145
|
This package is **not needed** if you're using `@viasat/beam-react` or `@viasat/beam-web-components` components directly (styles are already included).
|
|
142
146
|
|
|
147
|
+
## Bundler Configuration
|
|
148
|
+
|
|
149
|
+
When importing SCSS files directly from `@viasat/beam-styles`, you'll need to configure your bundler to resolve `@viasat/beam-*` path aliases. This is required because Beam's SCSS files use internal imports like `@viasat/beam-tokens/components/Alert`.
|
|
150
|
+
|
|
151
|
+
### Vite
|
|
152
|
+
|
|
153
|
+
Configure the Sass preprocessor in your `vite.config.ts`:
|
|
154
|
+
|
|
155
|
+
```ts
|
|
156
|
+
import { defineConfig } from 'vite';
|
|
157
|
+
import * as path from 'path';
|
|
158
|
+
import { pathToFileURL } from 'node:url';
|
|
159
|
+
|
|
160
|
+
export default defineConfig({
|
|
161
|
+
css: {
|
|
162
|
+
preprocessorOptions: {
|
|
163
|
+
scss: {
|
|
164
|
+
api: 'modern-compiler',
|
|
165
|
+
importers: [
|
|
166
|
+
{
|
|
167
|
+
findFileUrl(url: string): URL | null {
|
|
168
|
+
if (url.startsWith('@viasat/beam-tokens/')) {
|
|
169
|
+
const relativePath = url.replace('@viasat/beam-tokens/', '');
|
|
170
|
+
return pathToFileURL(
|
|
171
|
+
path.resolve(
|
|
172
|
+
'node_modules/@viasat/beam-tokens/src/lib',
|
|
173
|
+
relativePath,
|
|
174
|
+
),
|
|
175
|
+
) as URL;
|
|
176
|
+
}
|
|
177
|
+
return null;
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
],
|
|
181
|
+
},
|
|
182
|
+
},
|
|
183
|
+
},
|
|
184
|
+
});
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
### Webpack
|
|
188
|
+
|
|
189
|
+
Configure `sass-loader` in your Webpack config:
|
|
190
|
+
|
|
191
|
+
```js
|
|
192
|
+
// webpack.config.js
|
|
193
|
+
const path = require('path');
|
|
194
|
+
const { pathToFileURL } = require('node:url');
|
|
195
|
+
|
|
196
|
+
module.exports = {
|
|
197
|
+
module: {
|
|
198
|
+
rules: [
|
|
199
|
+
{
|
|
200
|
+
test: /\.scss$/,
|
|
201
|
+
use: [
|
|
202
|
+
'style-loader',
|
|
203
|
+
'css-loader',
|
|
204
|
+
{
|
|
205
|
+
loader: 'sass-loader',
|
|
206
|
+
options: {
|
|
207
|
+
api: 'modern-compiler',
|
|
208
|
+
sassOptions: {
|
|
209
|
+
importers: [
|
|
210
|
+
{
|
|
211
|
+
findFileUrl(url) {
|
|
212
|
+
if (url.startsWith('@viasat/beam-tokens/')) {
|
|
213
|
+
const relativePath = url.replace('@viasat/beam-tokens/', '');
|
|
214
|
+
return pathToFileURL(
|
|
215
|
+
path.resolve(
|
|
216
|
+
__dirname,
|
|
217
|
+
'node_modules/@viasat/beam-tokens/src/lib',
|
|
218
|
+
relativePath,
|
|
219
|
+
),
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
return null;
|
|
223
|
+
},
|
|
224
|
+
},
|
|
225
|
+
],
|
|
226
|
+
},
|
|
227
|
+
},
|
|
228
|
+
},
|
|
229
|
+
],
|
|
230
|
+
},
|
|
231
|
+
],
|
|
232
|
+
},
|
|
233
|
+
};
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Next.js
|
|
237
|
+
|
|
238
|
+
For Next.js projects, add the Sass configuration to `next.config.js`:
|
|
239
|
+
|
|
240
|
+
```js
|
|
241
|
+
// next.config.js
|
|
242
|
+
const path = require('path');
|
|
243
|
+
const { pathToFileURL } = require('node:url');
|
|
244
|
+
|
|
245
|
+
/** @type {import('next').NextConfig} */
|
|
246
|
+
const nextConfig = {
|
|
247
|
+
sassOptions: {
|
|
248
|
+
api: 'modern-compiler',
|
|
249
|
+
importers: [
|
|
250
|
+
{
|
|
251
|
+
findFileUrl(url) {
|
|
252
|
+
if (url.startsWith('@viasat/beam-tokens/')) {
|
|
253
|
+
const relativePath = url.replace('@viasat/beam-tokens/', '');
|
|
254
|
+
return pathToFileURL(
|
|
255
|
+
path.resolve(
|
|
256
|
+
process.cwd(),
|
|
257
|
+
'node_modules/@viasat/beam-tokens/src/lib',
|
|
258
|
+
relativePath,
|
|
259
|
+
),
|
|
260
|
+
);
|
|
261
|
+
}
|
|
262
|
+
return null;
|
|
263
|
+
},
|
|
264
|
+
},
|
|
265
|
+
],
|
|
266
|
+
},
|
|
267
|
+
};
|
|
268
|
+
|
|
269
|
+
module.exports = nextConfig;
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
> **Note**: If you're only using pre-compiled CSS (`@viasat/beam-styles/styles.css`) or the `@viasat/beam-react` components directly, no bundler configuration is needed.
|
|
273
|
+
|
|
143
274
|
## Dependencies
|
|
144
275
|
|
|
145
|
-
- Requires a SASS/SCSS compiler (e.g., `sass`, `
|
|
276
|
+
- Requires a SASS/SCSS compiler (e.g., `sass`, `dart-sass`)
|
|
146
277
|
- Works with any CSS Modules implementation
|
|
278
|
+
- Bundler configuration required for direct SCSS imports (see above)
|
|
147
279
|
|
|
148
280
|
## License
|
|
149
281
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
@use './../utils/tokens.scss' as tokens;
|
|
3
3
|
@use './accordion.vars.scss' as accordionVars;
|
|
4
4
|
|
|
5
|
-
@import '
|
|
5
|
+
@import '@viasat/beam-tokens/components/Accordion';
|
|
6
6
|
|
|
7
7
|
$accordionBaseClass: accordionVars.$accordionBaseClass;
|
|
8
8
|
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
@use '../components/button.vars.scss' as buttonVars;
|
|
7
7
|
@use '../components/actionList.vars.scss' as actionListVars;
|
|
8
8
|
|
|
9
|
-
@import '
|
|
9
|
+
@import '@viasat/beam-tokens/components/ActionList';
|
|
10
10
|
|
|
11
11
|
.#{actionListVars.$actionListBaseClass} {
|
|
12
12
|
display: flex;
|
|
@@ -76,13 +76,14 @@
|
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
&__choice,
|
|
79
|
+
&__choice,
|
|
80
|
+
&__switch {
|
|
80
81
|
align-items: center;
|
|
81
82
|
justify-content: center;
|
|
82
83
|
display: flex;
|
|
83
84
|
color: tokens.$bm-comp-actionlist-color-check;
|
|
84
85
|
}
|
|
85
|
-
|
|
86
|
+
|
|
86
87
|
&__choice {
|
|
87
88
|
width: tokens.$bm-comp-actionlist-size-icon;
|
|
88
89
|
height: tokens.$bm-comp-actionlist-size-icon;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
@use '../utils/constants.scss';
|
|
3
3
|
@use '../utils/tokens.scss' as tokens;
|
|
4
4
|
|
|
5
|
-
@import '
|
|
5
|
+
@import '@viasat/beam-tokens/components/Alert';
|
|
6
6
|
|
|
7
7
|
$alertBaseClass: '#{constants.$prefix}alert';
|
|
8
8
|
$alertIconClass: '#{$alertBaseClass}__icon';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
@use '../utils/tokens.scss';
|
|
3
3
|
@use '../utils/constants.scss';
|
|
4
4
|
|
|
5
|
-
@import '
|
|
5
|
+
@import '@viasat/beam-tokens/components/Breadcrumb';
|
|
6
6
|
|
|
7
7
|
$breadcrumbsBaseClass: '#{constants.$prefix}breadcrumbs';
|
|
8
8
|
$truncation-width: var(
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
@use '../utils/tokens.scss';
|
|
5
5
|
@use '../utils/stateLayerVars.scss' as state-layer;
|
|
6
6
|
|
|
7
|
-
@import '
|
|
7
|
+
@import '@viasat/beam-tokens/components/CloseButton';
|
|
8
8
|
|
|
9
9
|
$closeButtonBaseClass: '#{constants.$prefix}close-button';
|
|
10
10
|
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
@use '../utils/cursors.scss' as cursors;
|
|
6
6
|
@use './icon.vars.scss' as iconVars;
|
|
7
7
|
|
|
8
|
-
@import '
|
|
8
|
+
@import '@viasat/beam-tokens/components/Input';
|
|
9
9
|
|
|
10
10
|
$comboboxBaseClass: '#{constants.$prefix}combobox';
|
|
11
11
|
|
|
@@ -58,7 +58,8 @@ $stateStyleTokens: (
|
|
|
58
58
|
#{$comboboxInputCursor}: text;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
&--disabled,
|
|
61
|
+
&--disabled,
|
|
62
|
+
&--disabled &__field {
|
|
62
63
|
#{$comboboxCursor}: not-allowed;
|
|
63
64
|
#{$comboboxInputCursor}: not-allowed;
|
|
64
65
|
}
|
|
@@ -92,13 +93,20 @@ $stateStyleTokens: (
|
|
|
92
93
|
|
|
93
94
|
@include mixins.svg-icon($expandIcon, $expandIconWidth $expandIconHeight);
|
|
94
95
|
background-color: tokens.$bm-comp-input-color-icon;
|
|
95
|
-
inset-inline-end: calc(
|
|
96
|
-
|
|
96
|
+
inset-inline-end: calc(
|
|
97
|
+
tokens.$bm-comp-input-space-field-x -
|
|
98
|
+
(var(#{iconVars.$iconSize}) - $expandIconWidth) / 2
|
|
99
|
+
);
|
|
100
|
+
inset-block-start: calc(
|
|
101
|
+
tokens.$bm-comp-input-size-field-md-height / 2 - var(#{iconVars.$iconSize}) /
|
|
102
|
+
2
|
|
103
|
+
);
|
|
97
104
|
|
|
98
105
|
transition: transform 0.2s ease;
|
|
99
106
|
|
|
100
107
|
.#{$comboboxBaseClass}--dropdown-open & {
|
|
101
|
-
transform: rotate(180deg)
|
|
108
|
+
transform: rotate(180deg)
|
|
109
|
+
translateY(tokens.$bm-comp-input-border-width-field-default);
|
|
102
110
|
}
|
|
103
111
|
}
|
|
104
112
|
|
|
@@ -124,15 +132,22 @@ $stateStyleTokens: (
|
|
|
124
132
|
|
|
125
133
|
&__input {
|
|
126
134
|
background: transparent;
|
|
127
|
-
min-height: calc(
|
|
128
|
-
|
|
135
|
+
min-height: calc(
|
|
136
|
+
tokens.$bm-comp-input-size-field-md-height - 2 *
|
|
137
|
+
tokens.$bm-comp-input-space-field-y
|
|
138
|
+
);
|
|
139
|
+
line-height: calc(
|
|
140
|
+
tokens.$bm-comp-input-size-field-md-height - 2 *
|
|
141
|
+
tokens.$bm-comp-input-space-field-y
|
|
142
|
+
);
|
|
129
143
|
|
|
130
144
|
&::placeholder {
|
|
131
145
|
color: tokens.$bm-comp-input-color-text-placeholder;
|
|
132
146
|
}
|
|
133
147
|
}
|
|
134
148
|
|
|
135
|
-
&__content-before,
|
|
149
|
+
&__content-before,
|
|
150
|
+
&__content-after {
|
|
136
151
|
display: flex;
|
|
137
152
|
align-items: center;
|
|
138
153
|
justify-content: center;
|
|
@@ -237,7 +252,10 @@ $stateStyleTokens: (
|
|
|
237
252
|
&__dropdown {
|
|
238
253
|
padding: tokens.$bm-sem-space-50 tokens.$bm-sem-space-100 !important;
|
|
239
254
|
|
|
240
|
-
max-height: calc(
|
|
255
|
+
max-height: calc(
|
|
256
|
+
var(#{$comboboxDropdownMaxItemsVar}, 8) * #{tokens.$bm-comp-actionlist-size-height} +
|
|
257
|
+
2 * #{tokens.$bm-sem-space-50}
|
|
258
|
+
);
|
|
241
259
|
overflow-y: auto;
|
|
242
260
|
}
|
|
243
261
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
@use '../utils/mixins.scss' as mixins;
|
|
4
4
|
@use '../utils/tokens.scss' as tokens;
|
|
5
5
|
|
|
6
|
-
@import '
|
|
6
|
+
@import '@viasat/beam-tokens/components/Divider';
|
|
7
7
|
|
|
8
8
|
$dividerBaseClass: '#{constants.$prefix}divider';
|
|
9
9
|
$divider-length: var(--#{constants.$prefix}comp-divider-length, 100%);
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
@use '../utils/tokens.scss' as tokens;
|
|
5
5
|
@use '../utils/stateLayerVars.scss' as stateLayerVars;
|
|
6
6
|
|
|
7
|
-
@import '
|
|
7
|
+
@import '@viasat/beam-tokens/components/FileUpload';
|
|
8
8
|
|
|
9
9
|
$fileUploadBaseClass: '#{constants.$prefix}file-upload';
|
|
10
10
|
$fileUploadListBaseClass: '#{constants.$prefix}file-upload-list';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
@use '../utils/mixins.scss' as mixins;
|
|
3
3
|
@use '../utils/tokens.scss' as tokens;
|
|
4
4
|
|
|
5
|
-
@import '
|
|
5
|
+
@import '@viasat/beam-tokens/components/Header';
|
|
6
6
|
|
|
7
7
|
$headerBaseClass: '#{constants.$prefix}header';
|
|
8
8
|
$headerHeight: tokens.$bm-comp-header-size-height;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
@use '../utils/mixins.scss' as mixins;
|
|
4
4
|
@use '../utils/tokens.scss' as tokens;
|
|
5
5
|
|
|
6
|
-
@import '
|
|
6
|
+
@import '@viasat/beam-tokens/components/List';
|
|
7
7
|
|
|
8
8
|
$listBaseClass: '#{constants.$prefix}list';
|
|
9
9
|
$listItemBaseClass: '#{constants.$prefix}list__item';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
@use '../utils/mixins.scss' as mixins;
|
|
3
3
|
@use '../utils/tokens.scss' as tokens;
|
|
4
4
|
|
|
5
|
-
@import '
|
|
5
|
+
@import '@viasat/beam-tokens/components/Menu';
|
|
6
6
|
|
|
7
7
|
$menuBaseClass: '#{constants.$prefix}menu';
|
|
8
8
|
$menuPopoverContentClass: '#{constants.$prefix}menu__popover-content';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
@use '../utils/stateLayerVars.scss' as state-layer;
|
|
4
4
|
@use '../utils/mixins.scss';
|
|
5
5
|
|
|
6
|
-
@import '
|
|
6
|
+
@import '@viasat/beam-tokens/components/Pagination';
|
|
7
7
|
|
|
8
8
|
$paginationBaseClass: '#{constants.$prefix}pagination';
|
|
9
9
|
$buttonBaseClass: '#{constants.$prefix}button';
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
@use '../utils/constants.scss';
|
|
3
3
|
@use '../utils/tokens.scss' as tokens;
|
|
4
4
|
|
|
5
|
-
@import '
|
|
5
|
+
@import '@viasat/beam-tokens/components/ProgressBar';
|
|
6
6
|
|
|
7
7
|
$progressBarBaseClass: '#{constants.$prefix}progress-bar';
|
|
8
8
|
$progressBarLabelClass: '#{$progressBarBaseClass}__label';
|
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
@use '../utils/tokens.scss' as tokens;
|
|
4
4
|
@use '../utils/stateLayerVars.scss' as state-layer;
|
|
5
5
|
|
|
6
|
-
@import '
|
|
7
|
-
@import '
|
|
6
|
+
@import '@viasat/beam-tokens/components/SegmentedControl';
|
|
7
|
+
@import '@viasat/beam-tokens/components/Button';
|
|
8
8
|
|
|
9
9
|
$scBaseClass: '#{constants.$prefix}segmented-control';
|
|
10
10
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
@use '../utils/stateLayerVars.scss' as stateLayerVars;
|
|
8
8
|
@use './accordion.vars.scss' as accordionVars;
|
|
9
9
|
|
|
10
|
-
@import '
|
|
10
|
+
@import '@viasat/beam-tokens/components/SideNav';
|
|
11
11
|
|
|
12
12
|
$sideNavBaseClass: '#{constants.$prefix}side-nav';
|
|
13
13
|
$transitionDuration: 0.3s;
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
@use '../utils/tokens.scss' as tokens;
|
|
5
5
|
@use '../utils/cursors.scss' as cursors;
|
|
6
6
|
|
|
7
|
-
@import '
|
|
7
|
+
@import '@viasat/beam-tokens/components/Slider';
|
|
8
8
|
|
|
9
9
|
$sliderCursor: '--#{constants.$prefix}slider-cursor';
|
|
10
10
|
$sliderTrackCursor: '--#{constants.$prefix}slider-track-cursor';
|
|
@@ -18,7 +18,7 @@ $sliderThumbScale: '--#{constants.$prefix}comp-slider-thumb-scale';
|
|
|
18
18
|
|
|
19
19
|
$sliderBaseClass: '#{constants.$prefix}slider';
|
|
20
20
|
|
|
21
|
-
$sliderTransitionTimingFunction: cubic-bezier(0, .33, 0, .76);
|
|
21
|
+
$sliderTransitionTimingFunction: cubic-bezier(0, 0.33, 0, 0.76);
|
|
22
22
|
$sliderTransitionDuration: 0.05s;
|
|
23
23
|
|
|
24
24
|
.#{$sliderBaseClass} {
|
|
@@ -113,19 +113,27 @@ $sliderTransitionDuration: 0.05s;
|
|
|
113
113
|
height: tokens.$bm-comp-slider-size-track;
|
|
114
114
|
background-color: tokens.$bm-comp-slider-color-track-bg-filled;
|
|
115
115
|
border-radius: tokens.$bm-comp-slider-radius-track;
|
|
116
|
-
transition: transform
|
|
116
|
+
transition: transform $sliderTransitionTimingFunction;
|
|
117
117
|
left: 0;
|
|
118
118
|
width: 100%;
|
|
119
119
|
transform-origin: 0% 50%;
|
|
120
|
-
transform:
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
120
|
+
transform: translateX(var(#{$sliderMinPercentage}, 0cqw))
|
|
121
|
+
scaleX(
|
|
122
|
+
calc(
|
|
123
|
+
(var(#{$sliderMaxPercentage}, 0cqw) - var(#{$sliderMinPercentage}, 0cqw)) /
|
|
124
|
+
100cqw
|
|
125
|
+
)
|
|
126
|
+
);
|
|
127
|
+
transition: transform $sliderTransitionDuration $sliderTransitionTimingFunction;
|
|
128
|
+
|
|
129
|
+
[dir='rtl'] & {
|
|
130
|
+
transform: translateX(calc(100cqw - var(#{$sliderMaxPercentage}, 0cqw)))
|
|
131
|
+
scaleX(
|
|
132
|
+
calc(
|
|
133
|
+
(var(#{$sliderMaxPercentage}, 0cqw) - var(#{$sliderMinPercentage}, 0cqw)) /
|
|
134
|
+
100cqw
|
|
135
|
+
)
|
|
136
|
+
);
|
|
129
137
|
}
|
|
130
138
|
}
|
|
131
139
|
|
|
@@ -141,7 +149,7 @@ $sliderTransitionDuration: 0.05s;
|
|
|
141
149
|
transform-origin: 50% 50%;
|
|
142
150
|
transform: translateX(calc(var(#{$sliderThumbPercentage}, 0cqw) - 50%));
|
|
143
151
|
|
|
144
|
-
[dir=
|
|
152
|
+
[dir='rtl'] & {
|
|
145
153
|
transform: translateX(calc(50% - var(#{$sliderThumbPercentage}, 0cqw)));
|
|
146
154
|
}
|
|
147
155
|
}
|
|
@@ -156,7 +164,7 @@ $sliderTransitionDuration: 0.05s;
|
|
|
156
164
|
cursor: var(#{$sliderThumbCursor}, grab);
|
|
157
165
|
|
|
158
166
|
transform: scale(var(#{$sliderThumbScale}, 1));
|
|
159
|
-
transition: transform $sliderTransitionDuration $sliderTransitionTimingFunction
|
|
167
|
+
transition: transform $sliderTransitionDuration $sliderTransitionTimingFunction;
|
|
160
168
|
}
|
|
161
169
|
|
|
162
170
|
&__thumb:focus-visible {
|
|
@@ -169,7 +177,9 @@ $sliderTransitionDuration: 0.05s;
|
|
|
169
177
|
}
|
|
170
178
|
|
|
171
179
|
&__thumb-container:active {
|
|
172
|
-
#{$sliderThumbScale}: calc(
|
|
180
|
+
#{$sliderThumbScale}: calc(
|
|
181
|
+
tokens.$bm-comp-slider-size-handle-active / tokens.$bm-comp-slider-size-handle
|
|
182
|
+
);
|
|
173
183
|
}
|
|
174
184
|
|
|
175
185
|
&__tick {
|