@odx/ui 2.13.1 → 3.1.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 (31) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/charts-theme.css +1 -1
  3. package/core-theme.css +78 -59
  4. package/package.json +1 -1
  5. package/scss/abstract/_utils.scss +3 -3
  6. package/scss/cdk/connected-overlay.scss +10 -2
  7. package/scss/charts/theme.scss +1 -1
  8. package/scss/components/area-header.component.scss +1 -1
  9. package/scss/components/badge.component.scss +1 -1
  10. package/scss/components/bar.component.scss +7 -7
  11. package/scss/components/card.component.scss +1 -1
  12. package/scss/components/dropdown.component.scss +3 -3
  13. package/scss/components/form-field.component.scss +1 -1
  14. package/scss/components/header.component.scss +1 -1
  15. package/scss/components/link.component.scss +0 -8
  16. package/scss/components/list-item.component.scss +12 -8
  17. package/scss/components/loading-spinner.component.scss +7 -6
  18. package/scss/components/logo.component.scss +4 -4
  19. package/scss/components/main-menu-item.component.scss +5 -5
  20. package/scss/components/main-menu.component.scss +8 -8
  21. package/scss/components/mainfilter-group.component.scss +8 -10
  22. package/scss/components/modal.component.scss +1 -1
  23. package/scss/components/select.component.scss +1 -1
  24. package/scss/components/tooltip.component.scss +1 -1
  25. package/scss/layout/_base.scss +1 -5
  26. package/scss/variables/_color-palettes-dark.scss +50 -52
  27. package/scss/variables/_color-palettes.scss +1 -1
  28. package/scss/variables/_colors-dark.scss +31 -30
  29. package/scss/variables/_colors.scss +1 -1
  30. package/scss/variables/_controls.scss +1 -1
  31. package/scss/variables/_visuals.scss +2 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # @odx/ui
2
2
 
3
+ ## 3.1.0
4
+
5
+ ### Minor Changes
6
+
7
+ - e9ca1be: Added `muted` state to list item component
8
+
9
+ ### Patch Changes
10
+
11
+ - c618486: Fixed z-layer stacking issues
12
+
13
+ Fixed over position calculation by using CSS variables
14
+
15
+ WithTabIndex directive now applies tabindex correctly
16
+
17
+ Fixed various linting errors
18
+
19
+ - a62275c: Reduce buffer size of used `shareReplay` operators in order to reduce runtime memory consumption
20
+
21
+ ## 3.0.0
22
+
23
+ ### Major Changes
24
+
25
+ - 229c36c: Move variable definitions from body into :root to apply scrollbar styles correctly
26
+
27
+ ### Patch Changes
28
+
29
+ - 1666126: Move each connected overlay into it's own z-layer
30
+
3
31
  ## 2.13.1
4
32
 
5
33
  ### Patch Changes
package/charts-theme.css CHANGED
@@ -1,7 +1,7 @@
1
1
  /*!**************************************************************************************************************************************************************************************************!*\
2
2
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./src/charts/theme.scss ***!
3
3
  \**************************************************************************************************************************************************************************************************/
4
- body {
4
+ :root {
5
5
  --charts-series-aqua-300: #15dcc4;
6
6
  --charts-series-ocean-300: #1cb4d8;
7
7
  --charts-series-sky-300: #3d88e0;
package/core-theme.css CHANGED
@@ -2,7 +2,7 @@
2
2
  !*** css ../../node_modules/css-loader/dist/cjs.js!../../node_modules/postcss-loader/dist/cjs.js!../../node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[0].use[3]!./src/core.scss ***!
3
3
  \******************************************************************************************************************************************************************************************/
4
4
  @charset "UTF-8";
5
- body {
5
+ :root {
6
6
  --white: #ffffff;
7
7
  --black: #00060f;
8
8
  --black-20: rgba(0, 0, 0, 0.2);
@@ -88,7 +88,8 @@ body {
88
88
  --orange-900: #7a3d00;
89
89
  }
90
90
 
91
- body[odxTheme=dark], body.odx-theme-dark {
91
+ :root:has([odxTheme=dark]),
92
+ :root:has(.odx-theme-dark) {
92
93
  --white: #293642;
93
94
  --white-dark: #060a12;
94
95
  --black: #ffffff;
@@ -132,7 +133,7 @@ body[odxTheme=dark], body.odx-theme-dark {
132
133
  --green-00: #355e54;
133
134
  }
134
135
 
135
- body {
136
+ :root {
136
137
  --odx-c-headline: var(--blue-700);
137
138
  --odx-c-text: var(--blue-700);
138
139
  --odx-c-text-inverse: var(--white);
@@ -206,10 +207,14 @@ body {
206
207
  --odx-c-confirmation-text-disabled: var(--orange-800);
207
208
  }
208
209
 
209
- body[odxTheme=dark], body.odx-theme-dark {
210
+ :root:has([odxTheme=dark]),
211
+ :root:has(.odx-theme-dark) {
210
212
  --odx-c-headline: var(--blue-900);
211
213
  --odx-c-text: var(--blue-900);
212
214
  --odx-c-text-inverse: var(--black);
215
+ --odx-c-link: var(--cyan-700);
216
+ --odx-c-link-hover: var(--cyan-800);
217
+ --odx-c-link-active: var(--cyan-900);
213
218
  --odx-c-link-disabled: var(--gray-400);
214
219
  --odx-c-error: var(--red-00);
215
220
  --odx-c-error-outline: var(--red-50);
@@ -236,7 +241,7 @@ body[odxTheme=dark], body.odx-theme-dark {
236
241
  --odx-c-confirmation-text: var(--cyan-50);
237
242
  }
238
243
 
239
- body {
244
+ :root {
240
245
  --odx-control-color: var(--odx-c-text);
241
246
  --odx-control-background-color: var(--gray-200);
242
247
  --odx-control-outline-color: var(--gray-300);
@@ -306,7 +311,7 @@ body {
306
311
  --odx-vertical-rythm-base-size: calc(var(--odx-typography-base-line-height) * var(--odx-typography-base-size));
307
312
  }
308
313
 
309
- body {
314
+ :root {
310
315
  --odx-v-border-radius: calc(var(--odx-typography-base-size) * 0.375);
311
316
  --odx-v-border-radius-controls: calc(var(--odx-typography-base-size) * 0.19);
312
317
  --odx-v-backdrop-blur: 3px;
@@ -324,6 +329,7 @@ body {
324
329
  --odx-v-scrollbar-track-color: transparent;
325
330
  --odx-v-scrollbar-thumb-color: var(--gray-600);
326
331
  --odx-v-scrollbar-thumb-color-hover: var(--gray-700);
332
+ --odx-v-scrollbar-width: 12px;
327
333
  }
328
334
 
329
335
  /* http://meyerweb.com/eric/tools/css/reset/
@@ -500,14 +506,10 @@ body,
500
506
  background-color: var(--odx-c-background);
501
507
  }
502
508
 
503
- * {
504
- scrollbar-color: var(--odx-v-scrollbar-thumb-color) var(--odx-v-scrollbar-track-color);
505
- }
506
-
507
509
  ::-webkit-scrollbar {
508
510
  -webkit-appearance: none;
509
511
  appearance: none;
510
- width: 12px;
512
+ width: var(--odx-v-scrollbar-width);
511
513
  }
512
514
 
513
515
  ::-webkit-scrollbar-track,
@@ -2047,6 +2049,10 @@ html body .odx-fs-italic {
2047
2049
  opacity: 1;
2048
2050
  }
2049
2051
 
2052
+ :root {
2053
+ --odx-cdk-connected-overlay-current-z-layer: 0;
2054
+ }
2055
+
2050
2056
  .odx-cdk-connected-overlay {
2051
2057
  transition-delay: 0ms;
2052
2058
  transition-duration: var(--odx-v-transition-duration);
@@ -2054,7 +2060,7 @@ html body .odx-fs-italic {
2054
2060
  transition-timing-function: var(--odx-v-transition-easing-fn);
2055
2061
  display: block;
2056
2062
  position: fixed;
2057
- z-index: var(--odx-v-layer-4);
2063
+ z-index: calc(var(--odx-v-layer-4) + var(--odx-cdk-connected-overlay-current-z-layer, 0));
2058
2064
  }
2059
2065
  .odx-cdk-connected-overlay.is-hidden {
2060
2066
  opacity: 0;
@@ -2062,11 +2068,15 @@ html body .odx-fs-italic {
2062
2068
  }
2063
2069
  .odx-cdk-connected-overlay__content {
2064
2070
  left: 0 !important;
2071
+ max-height: var(--odx-cdk-connected-overlay-max-height-modified, var(--odx-cdk-connected-overlay-max-height, unset));
2072
+ max-width: var(--odx-cdk-connected-overlay-max-width-modified, var(--odx-cdk-connected-overlay-max-width, unset));
2073
+ min-height: var(--odx-cdk-connected-overlay-min-height-modified, var(--odx-cdk-connected-overlay-min-height, unset));
2074
+ min-width: var(--odx-cdk-connected-overlay-min-width-modified, var(--odx-cdk-connected-overlay-min-width, unset));
2065
2075
  position: relative !important;
2066
2076
  top: 0 !important;
2067
2077
  }
2068
2078
  .odx-cdk-connected-overlay__content > * {
2069
- max-height: inherit;
2079
+ max-height: var(--odx-cdk-connected-overlay-max-height, inherit);
2070
2080
  }
2071
2081
 
2072
2082
  .odx-cdk-connected-overlay-arrow {
@@ -2324,15 +2334,15 @@ html body .odx-fs-italic {
2324
2334
  border-radius: var(--odx-v-border-radius);
2325
2335
  box-shadow: var(--odx-v-box-shadow-layer-1);
2326
2336
  display: block;
2327
- min-height: inherit;
2337
+ min-height: var(--odx-cdk-connected-overlay-min-height, inherit);
2328
2338
  }
2329
2339
  .odx-dropdown__inner {
2330
2340
  padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.5);
2331
2341
  padding-left: calc(var(--odx-vertical-rythm-base-size) * 0.5);
2332
2342
  border-bottom: calc(var(--odx-vertical-rythm-base-size) * 0.5) solid transparent;
2333
2343
  border-top: calc(var(--odx-vertical-rythm-base-size) * 0.5) solid transparent;
2334
- max-height: inherit;
2335
- min-height: inherit;
2344
+ max-height: var(--odx-cdk-connected-overlay-max-height, inherit);
2345
+ min-height: var(--odx-cdk-connected-overlay-min-height, inherit);
2336
2346
  overflow: auto;
2337
2347
  overscroll-behavior: contain;
2338
2348
  }
@@ -2648,7 +2658,7 @@ html body .odx-fs-italic {
2648
2658
  outline-color: var(--odx-c-focus-outline);
2649
2659
  }
2650
2660
 
2651
- body {
2661
+ :root {
2652
2662
  --odx-area-header-title-color: var(--odx-c-headline);
2653
2663
  --odx-area-header-subtitle-color: var(--odx-c-headline);
2654
2664
  }
@@ -2771,7 +2781,7 @@ body {
2771
2781
  min-height: calc(var(--odx-vertical-rythm-base-size) * 1.5);
2772
2782
  }
2773
2783
 
2774
- body {
2784
+ :root {
2775
2785
  --odx-badge-contrast-color: var(--odx-c-background-content);
2776
2786
  }
2777
2787
 
@@ -2816,14 +2826,16 @@ body {
2816
2826
  margin: calc(calc(var(--odx-vertical-rythm-base-size) * 0.6667) / -2);
2817
2827
  }
2818
2828
 
2819
- body {
2829
+ :root {
2820
2830
  --odx-bar-background-color: var(--cyan-500);
2821
2831
  --odx-bar-background-color-hover: var(--cyan-600);
2822
2832
  --odx-bar-background-color-active: var(--cyan-700);
2823
2833
  --odx-bar-text-color: var(--white);
2824
2834
  --odx-bar-text-color-disabled: var(--cyan-700);
2825
2835
  }
2826
- body[odxTheme=dark], body.odx-theme-dark {
2836
+
2837
+ :root:has([odxTheme=dark]),
2838
+ :root:has(.odx-theme-dark) {
2827
2839
  --odx-bar-background-color-hover: var(--cyan-400);
2828
2840
  --odx-bar-background-color-active: var(--cyan-300);
2829
2841
  --odx-bar-text-color: var(--black);
@@ -3012,12 +3024,12 @@ body[odxTheme=dark], body.odx-theme-dark {
3012
3024
  border-radius: 0;
3013
3025
  }
3014
3026
 
3015
- body {
3027
+ :root {
3016
3028
  --odx-card-avatar-size: 64px;
3017
3029
  --odx-card-content-vertical-alignment: center;
3018
3030
  }
3019
3031
  @media (min-width: 480px) {
3020
- body {
3032
+ :root {
3021
3033
  --odx-card-avatar-size: 128px;
3022
3034
  --odx-card-content-vertical-alignment: top;
3023
3035
  }
@@ -3781,7 +3793,7 @@ body {
3781
3793
  transform: scaleY(-1);
3782
3794
  }
3783
3795
 
3784
- body {
3796
+ :root {
3785
3797
  --odx-form-field-hint-color: var(--gray-500);
3786
3798
  }
3787
3799
 
@@ -4079,12 +4091,12 @@ body {
4079
4091
  margin-right: calc(var(--odx-vertical-rythm-base-size) * 0.5);
4080
4092
  padding-right: calc(var(--odx-vertical-rythm-base-size) * 0.5);
4081
4093
  }
4082
- .odx-header:has(.odx-title, .odx-header__title) > .odx-logo {
4094
+ .odx-header:has(> .odx-title, > .odx-header__title) > .odx-logo {
4083
4095
  display: none;
4084
4096
  margin-right: calc(var(--odx-vertical-rythm-base-size) * 0.5);
4085
4097
  }
4086
4098
  @media (min-width: 768px) {
4087
- .odx-header:has(.odx-title, .odx-header__title) > .odx-logo {
4099
+ .odx-header:has(> .odx-title, > .odx-header__title) > .odx-logo {
4088
4100
  display: block;
4089
4101
  }
4090
4102
  }
@@ -4121,12 +4133,6 @@ body {
4121
4133
  overflow: hidden;
4122
4134
  }
4123
4135
 
4124
- body[odxTheme=dark], body.odx-theme-dark {
4125
- --odx-c-link: var(--cyan-700);
4126
- --odx-c-link-hover: var(--cyan-800);
4127
- --odx-c-link-active: var(--cyan-900);
4128
- }
4129
-
4130
4136
  .odx-link {
4131
4137
  transition-delay: 0ms;
4132
4138
  transition-duration: var(--odx-v-transition-duration);
@@ -4301,8 +4307,11 @@ body[odxTheme=dark], body.odx-theme-dark {
4301
4307
  .odx-list-item > [odxListItemSuffix] {
4302
4308
  margin-left: auto;
4303
4309
  }
4304
- .odx-list-item:not(.is-disabled) {
4305
- cursor: pointer;
4310
+ .odx-list-item.odx-list-item--muted {
4311
+ cursor: default;
4312
+ -webkit-user-select: text;
4313
+ -moz-user-select: text;
4314
+ user-select: text;
4306
4315
  }
4307
4316
  .odx-list-item::before {
4308
4317
  transition-delay: 0ms;
@@ -4317,16 +4326,16 @@ body[odxTheme=dark], body.odx-theme-dark {
4317
4326
  top: 0;
4318
4327
  width: calc(100% - calc(var(--odx-vertical-rythm-base-size) * 0.6667));
4319
4328
  }
4320
- .odx-list-item:focus-visible {
4329
+ .odx-list-item:focus-visible:not(.odx-list-item--muted) {
4321
4330
  --separator-color: transparent !important;
4322
4331
  }
4323
4332
  @media (hover: hover){
4324
- .odx-list-item:hover {
4333
+ .odx-list-item:hover:not(.odx-list-item--muted) {
4325
4334
  --separator-color: transparent !important;
4326
4335
  }
4327
4336
  }
4328
4337
  @media (hover: hover){
4329
- .odx-list-item:hover {
4338
+ .odx-list-item:hover:not(.odx-list-item--muted) {
4330
4339
  background-color: var(--odx-c-ghost-hover);
4331
4340
  }
4332
4341
  }
@@ -4334,7 +4343,7 @@ body[odxTheme=dark], body.odx-theme-dark {
4334
4343
  --separator-color: transparent !important;
4335
4344
  }
4336
4345
  @media (hover: hover){
4337
- .odx-list-item:hover+.odx-list-item {
4346
+ .odx-list-item:hover:not(.odx-list-item--muted)+.odx-list-item {
4338
4347
  --separator-color: transparent !important;
4339
4348
  }
4340
4349
  }
@@ -4349,7 +4358,7 @@ body[odxTheme=dark], body.odx-theme-dark {
4349
4358
  color: var(--odx-c-danger-text);
4350
4359
  }
4351
4360
  @media (hover: hover){
4352
- .odx-list-item--danger:hover {
4361
+ .odx-list-item--danger:hover:not(.odx-list-item--muted) {
4353
4362
  background-color: var(--odx-c-danger-hover);
4354
4363
  }
4355
4364
  }
@@ -4361,7 +4370,7 @@ body[odxTheme=dark], body.odx-theme-dark {
4361
4370
  background-color: var(--odx-c-selected);
4362
4371
  }
4363
4372
  @media (hover: hover){
4364
- .odx-list-item.is-selected:hover {
4373
+ .odx-list-item.is-selected:hover:not(.odx-list-item--muted) {
4365
4374
  background-color: var(--odx-c-selected-hover);
4366
4375
  }
4367
4376
  }
@@ -4369,7 +4378,7 @@ body[odxTheme=dark], body.odx-theme-dark {
4369
4378
  background-color: var(--odx-c-danger-active);
4370
4379
  }
4371
4380
  @media (hover: hover){
4372
- .odx-list-item.is-selected.odx-list-item--danger:hover {
4381
+ .odx-list-item.is-selected.odx-list-item--danger:hover:not(.odx-list-item--muted) {
4373
4382
  background-color: var(--red-800);
4374
4383
  }
4375
4384
  }
@@ -4377,13 +4386,16 @@ body[odxTheme=dark], body.odx-theme-dark {
4377
4386
  color: var(--odx-c-danger-text);
4378
4387
  }
4379
4388
 
4380
- body {
4389
+ :root {
4381
4390
  --odx-loading-spinner-track-stroke-color: var(--blue-700-15);
4382
4391
  }
4383
- body[odxTheme=dark], body.odx-theme-dark {
4392
+
4393
+ :root:has([odxTheme=dark]),
4394
+ :root:has(.odx-theme-dark) {
4384
4395
  --odx-loading-spinner-track-stroke-color: var(--gray-200);
4385
4396
  }
4386
- body[odxTheme=dark] .odx-button, body.odx-theme-dark .odx-button {
4397
+ :root:has([odxTheme=dark]) .odx-button,
4398
+ :root:has(.odx-theme-dark) .odx-button {
4387
4399
  --odx-loading-spinner-track-stroke-color: var(--blue-700-15);
4388
4400
  }
4389
4401
 
@@ -4433,11 +4445,13 @@ body[odxTheme=dark] .odx-button, body.odx-theme-dark .odx-button {
4433
4445
  user-select: none;
4434
4446
  }
4435
4447
 
4436
- body {
4448
+ :root {
4437
4449
  --odx-logo-color: var(--odx-c-primary);
4438
4450
  --odx-logo-color-inverse: var(--odx-c-text-inverse);
4439
4451
  }
4440
- body[odxTheme=dark], body.odx-theme-dark {
4452
+
4453
+ :root:has([odxTheme=dark]),
4454
+ :root:has(.odx-theme-dark) {
4441
4455
  --odx-logo-color: var(--odx-c-text-inverse);
4442
4456
  }
4443
4457
 
@@ -4467,7 +4481,8 @@ body[odxTheme=dark], body.odx-theme-dark {
4467
4481
  height: calc(var(--odx-vertical-rythm-base-size) * 2.5);
4468
4482
  }
4469
4483
 
4470
- body[odxTheme=dark] .odx-mainfilter-group, body.odx-theme-dark .odx-mainfilter-group {
4484
+ :root:has([odxTheme=dark]) .odx-mainfilter-group,
4485
+ :root:has(.odx-theme-dark) .odx-mainfilter-group {
4471
4486
  --odx-input-control-outline-color: var(--blue-900);
4472
4487
  --odx-input-control-outline-color-hover: var(--blue-900);
4473
4488
  --odx-c-highlight: var(--blue-900);
@@ -4592,14 +4607,16 @@ body[odxTheme=dark] .odx-mainfilter-group, body.odx-theme-dark .odx-mainfilter-g
4592
4607
  }
4593
4608
  }
4594
4609
 
4595
- body {
4610
+ :root {
4596
4611
  --odx-main-menu-item-background-color: transparent;
4597
4612
  --odx-main-menu-item-background-color-hover: var(--white-5);
4598
4613
  --odx-main-menu-item-background-color-active: var(--odx-c-focus);
4599
4614
  --odx-main-menu-item-text-color: inherit;
4600
4615
  --odx-main-menu-item-text-color-disabled: var(--odx-c-primary-text-disabled);
4601
4616
  }
4602
- body[odxTheme=dark], body.odx-theme-dark {
4617
+
4618
+ :root:has([odxTheme=dark]),
4619
+ :root:has(.odx-theme-dark) {
4603
4620
  --odx-main-menu-item-background-color-active: var(--cyan-500-15);
4604
4621
  --odx-main-menu-item-text-color-disabled: var(--blue-500);
4605
4622
  }
@@ -4658,27 +4675,29 @@ body[odxTheme=dark], body.odx-theme-dark {
4658
4675
  background-color: var(--odx-main-menu-item-background-color-active);
4659
4676
  }
4660
4677
 
4661
- body {
4678
+ :root {
4662
4679
  --odx-main-menu-max-width: 100dvw;
4663
4680
  --odx-main-menu-background-color: var(--odx-c-primary);
4664
4681
  --odx-main-menu-text-color: var(--odx-c-primary-text);
4665
4682
  --odx-main-menu-highlight-color: var(--odx-c-highlight);
4666
4683
  }
4667
- body[odxTheme=dark], body.odx-theme-dark {
4668
- --odx-main-menu-background-color: var(--blue-800);
4669
- --odx-main-menu-text-color: var(--black);
4670
- --odx-main-menu-highlight-color: var(--cyan-500);
4671
- }
4672
4684
  @media (min-width: 480px) {
4673
- body {
4685
+ :root {
4674
4686
  --odx-main-menu-max-width: min(100dvw, 384px);
4675
4687
  }
4676
4688
  }
4677
4689
 
4690
+ :root:has([odxTheme=dark]),
4691
+ :root:has(.odx-theme-dark) {
4692
+ --odx-main-menu-background-color: var(--blue-800);
4693
+ --odx-main-menu-text-color: var(--black);
4694
+ --odx-main-menu-highlight-color: var(--cyan-500);
4695
+ }
4696
+
4678
4697
  .odx-main-menu {
4679
4698
  --odx-area-header-title-color: var(--odx-main-menu-highlight-color);
4680
4699
  --odx-area-header-subtitle-color: var(--odx-c-text-inverse);
4681
- z-index: var(--odx-v-layer-5);
4700
+ z-index: var(--odx-v-layer-6);
4682
4701
  }
4683
4702
  .odx-main-menu__inner {
4684
4703
  background-color: var(--odx-main-menu-background-color);
@@ -4838,7 +4857,7 @@ body[odxTheme=dark], body.odx-theme-dark {
4838
4857
  position: fixed;
4839
4858
  top: 0;
4840
4859
  width: 100dvw;
4841
- z-index: var(--odx-v-layer-4);
4860
+ z-index: var(--odx-v-layer-5);
4842
4861
  }
4843
4862
  @media (min-width: 480px) {
4844
4863
  .odx-modal {
@@ -5459,7 +5478,7 @@ body[odxTheme=dark], body.odx-theme-dark {
5459
5478
  transform: scaleY(-1);
5460
5479
  }
5461
5480
 
5462
- body {
5481
+ :root {
5463
5482
  --odx-select-max-height: 220px;
5464
5483
  }
5465
5484
 
@@ -6424,7 +6443,7 @@ body {
6424
6443
  }
6425
6444
  }
6426
6445
 
6427
- body {
6446
+ :root {
6428
6447
  --odx-tooltip-background-color: var(--blue-800);
6429
6448
  --odx-tooltip-color: var(--odx-c-text-inverse);
6430
6449
  --odx-tooltip-size-small: calc(var(--odx-vertical-rythm-base-size) * 5);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@odx/ui",
3
- "version": "2.13.1",
3
+ "version": "3.1.0",
4
4
  "author": "Drägerwerk AG & Co.KGaA",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "peerDependencies": {
@@ -123,9 +123,9 @@
123
123
  pointer-events: none;
124
124
  }
125
125
 
126
- @mixin dark-theme-selector() {
127
- &[odxTheme='dark'],
128
- &.odx-theme-dark {
126
+ @mixin theme-selector($theme: dark) {
127
+ :root:has([odxTheme='#{$theme}']),
128
+ :root:has(.odx-theme-#{$theme}) {
129
129
  @content;
130
130
  }
131
131
  }
@@ -4,12 +4,16 @@
4
4
  @use '../abstract/typography';
5
5
  @use '../abstract/utils';
6
6
 
7
+ :root {
8
+ --odx-cdk-connected-overlay-current-z-layer: 0;
9
+ }
10
+
7
11
  .odx-cdk-connected-overlay {
8
12
  @include motion.transition(opacity visibility);
9
13
 
10
14
  display: block;
11
15
  position: fixed;
12
- z-index: var(--odx-v-layer-4);
16
+ z-index: calc(var(--odx-v-layer-4) + var(--odx-cdk-connected-overlay-current-z-layer, 0));
13
17
 
14
18
  &.is-hidden {
15
19
  opacity: 0;
@@ -18,11 +22,15 @@
18
22
 
19
23
  &__content {
20
24
  left: 0 !important;
25
+ max-height: var(--odx-cdk-connected-overlay-max-height-modified, var(--odx-cdk-connected-overlay-max-height, unset));
26
+ max-width: var(--odx-cdk-connected-overlay-max-width-modified, var(--odx-cdk-connected-overlay-max-width, unset));
27
+ min-height: var(--odx-cdk-connected-overlay-min-height-modified, var(--odx-cdk-connected-overlay-min-height, unset));
28
+ min-width: var(--odx-cdk-connected-overlay-min-width-modified, var(--odx-cdk-connected-overlay-min-width, unset));
21
29
  position: relative !important;
22
30
  top: 0 !important;
23
31
 
24
32
  > * {
25
- max-height: inherit;
33
+ max-height: var(--odx-cdk-connected-overlay-max-height, inherit);
26
34
  }
27
35
  }
28
36
  }
@@ -1,7 +1,7 @@
1
1
  @use '../abstract/dimensions';
2
2
  @use '../abstract/typography';
3
3
 
4
- body {
4
+ :root {
5
5
  --charts-series-aqua-300: #15dcc4;
6
6
  --charts-series-ocean-300: #1cb4d8;
7
7
  --charts-series-sky-300: #3d88e0;
@@ -6,7 +6,7 @@
6
6
  @use 'avatar.component';
7
7
  @use '../layout/typography' as *;
8
8
 
9
- body {
9
+ :root {
10
10
  --odx-area-header-title-color: var(--odx-c-headline);
11
11
  --odx-area-header-subtitle-color: var(--odx-c-headline);
12
12
  }
@@ -3,7 +3,7 @@
3
3
  @use '../abstract/utils';
4
4
  @use '../abstract/typography';
5
5
 
6
- body {
6
+ :root {
7
7
  --odx-badge-contrast-color: var(--odx-c-background-content);
8
8
  }
9
9
 
@@ -5,19 +5,19 @@
5
5
  @use '../abstract/motion';
6
6
  @use './dropdown.component' as dropdown;
7
7
 
8
- body {
8
+ :root {
9
9
  --odx-bar-background-color: var(--cyan-500);
10
10
  --odx-bar-background-color-hover: var(--cyan-600);
11
11
  --odx-bar-background-color-active: var(--cyan-700);
12
12
  --odx-bar-text-color: var(--white);
13
13
  --odx-bar-text-color-disabled: var(--cyan-700);
14
+ }
14
15
 
15
- @include utils.dark-theme-selector() {
16
- --odx-bar-background-color-hover: var(--cyan-400);
17
- --odx-bar-background-color-active: var(--cyan-300);
18
- --odx-bar-text-color: var(--black);
19
- --odx-bar-text-color-disabled: var(--cyan-200);
20
- }
16
+ @include utils.theme-selector(dark) {
17
+ --odx-bar-background-color-hover: var(--cyan-400);
18
+ --odx-bar-background-color-active: var(--cyan-300);
19
+ --odx-bar-text-color: var(--black);
20
+ --odx-bar-text-color-disabled: var(--cyan-200);
21
21
  }
22
22
 
23
23
  .odx-bar {
@@ -5,7 +5,7 @@
5
5
  @use '../abstract/typography';
6
6
  @use '../abstract/utils';
7
7
 
8
- body {
8
+ :root {
9
9
  --odx-card-avatar-size: 64px;
10
10
  --odx-card-content-vertical-alignment: center;
11
11
 
@@ -8,15 +8,15 @@ $dropdown-open-selector: '.odx-dropdown-host[aria-expanded="true"]';
8
8
  border-radius: var(--odx-v-border-radius);
9
9
  box-shadow: var(--odx-v-box-shadow-layer-1);
10
10
  display: block;
11
- min-height: inherit;
11
+ min-height: var(--odx-cdk-connected-overlay-min-height, inherit);
12
12
 
13
13
  &__inner {
14
14
  @include dimensions.padding-x(0.5);
15
15
 
16
16
  border-bottom: dimensions.get-size(0.5) solid transparent;
17
17
  border-top: dimensions.get-size(0.5) solid transparent;
18
- max-height: inherit;
19
- min-height: inherit;
18
+ max-height: var(--odx-cdk-connected-overlay-max-height, inherit);
19
+ min-height: var(--odx-cdk-connected-overlay-min-height, inherit);
20
20
  overflow: auto;
21
21
  overscroll-behavior: contain;
22
22
  }
@@ -8,7 +8,7 @@ $form-field-label-height: math.div(20, 24);
8
8
  $form-field-hint-height: math.div(16, 24);
9
9
  $form-field-inner-padding: math.div(8, 24);
10
10
 
11
- body {
11
+ :root {
12
12
  --odx-form-field-hint-color: var(--gray-500);
13
13
  }
14
14
 
@@ -35,7 +35,7 @@
35
35
  padding-right: dimensions.get-size(0.5);
36
36
  }
37
37
 
38
- &:has(.odx-title) > .odx-logo {
38
+ &:has(> .odx-title) > .odx-logo {
39
39
  display: none;
40
40
  margin-right: dimensions.get-size(0.5);
41
41
 
@@ -1,14 +1,6 @@
1
1
  @use '../abstract/motion';
2
2
  @use '../abstract/utils';
3
3
 
4
- body {
5
- @include utils.dark-theme-selector() {
6
- --odx-c-link: var(--cyan-700);
7
- --odx-c-link-hover: var(--cyan-800);
8
- --odx-c-link-active: var(--cyan-900);
9
- }
10
- }
11
-
12
4
  .odx-link {
13
5
  @include motion.transition(color background-color outline);
14
6
  @include utils.interactive();
@@ -6,6 +6,7 @@
6
6
 
7
7
  .odx-list-item {
8
8
  $root: &;
9
+ $muted-selector: #{$root}--muted;
9
10
 
10
11
  --separator-color: var(--odx-c-separator);
11
12
 
@@ -26,8 +27,9 @@
26
27
  margin-left: auto;
27
28
  }
28
29
 
29
- &:not(.is-disabled) {
30
- cursor: pointer;
30
+ &#{$muted-selector} {
31
+ cursor: default;
32
+ user-select: text;
31
33
  }
32
34
 
33
35
  &::before {
@@ -44,16 +46,18 @@
44
46
 
45
47
  &:hover,
46
48
  &:focus-visible {
47
- --separator-color: transparent !important;
49
+ &:not(#{$muted-selector}) {
50
+ --separator-color: transparent !important;
51
+ }
48
52
  }
49
53
 
50
- &:hover {
54
+ &:hover:not(#{$muted-selector}) {
51
55
  background-color: var(--odx-c-ghost-hover);
52
56
  }
53
57
 
54
58
  &--danger + &,
55
59
  &.is-selected + &,
56
- &:hover + & {
60
+ &:hover:not(#{$muted-selector}) + & {
57
61
  --separator-color: transparent !important;
58
62
  }
59
63
 
@@ -69,7 +73,7 @@
69
73
  background-color: var(--odx-c-danger);
70
74
  color: var(--odx-c-danger-text);
71
75
 
72
- &:hover {
76
+ &:hover:not(#{$muted-selector}) {
73
77
  background-color: var(--odx-c-danger-hover);
74
78
  }
75
79
 
@@ -83,14 +87,14 @@
83
87
 
84
88
  background-color: var(--odx-c-selected);
85
89
 
86
- &:hover {
90
+ &:hover:not(#{$muted-selector}) {
87
91
  background-color: var(--odx-c-selected-hover);
88
92
  }
89
93
 
90
94
  &#{$root}--danger {
91
95
  background-color: var(--odx-c-danger-active);
92
96
 
93
- &:hover {
97
+ &:hover:not(#{$muted-selector}) {
94
98
  background-color: var(--red-800);
95
99
  }
96
100
 
@@ -2,14 +2,15 @@
2
2
  @use '../abstract/motion';
3
3
  @use '../abstract/utils';
4
4
 
5
- body {
5
+ :root {
6
6
  --odx-loading-spinner-track-stroke-color: var(--blue-700-15);
7
+ }
7
8
 
8
- @include utils.dark-theme-selector() {
9
- .odx-button {
10
- --odx-loading-spinner-track-stroke-color: var(--blue-700-15);
11
- }
12
- --odx-loading-spinner-track-stroke-color: var(--gray-200);
9
+ @include utils.theme-selector(dark) {
10
+ --odx-loading-spinner-track-stroke-color: var(--gray-200);
11
+
12
+ .odx-button {
13
+ --odx-loading-spinner-track-stroke-color: var(--blue-700-15);
13
14
  }
14
15
  }
15
16
 
@@ -1,13 +1,13 @@
1
1
  @use '../abstract/dimensions';
2
2
  @use '../abstract/utils';
3
3
 
4
- body {
4
+ :root {
5
5
  --odx-logo-color: var(--odx-c-primary);
6
6
  --odx-logo-color-inverse: var(--odx-c-text-inverse);
7
+ }
7
8
 
8
- @include utils.dark-theme-selector() {
9
- --odx-logo-color: var(--odx-c-text-inverse);
10
- }
9
+ @include utils.theme-selector(dark) {
10
+ --odx-logo-color: var(--odx-c-text-inverse);
11
11
  }
12
12
 
13
13
  .odx-logo {
@@ -4,17 +4,17 @@
4
4
  @use '../abstract/utils';
5
5
  @use '../abstract/typography';
6
6
 
7
- body {
7
+ :root {
8
8
  --odx-main-menu-item-background-color: transparent;
9
9
  --odx-main-menu-item-background-color-hover: var(--white-5);
10
10
  --odx-main-menu-item-background-color-active: var(--odx-c-focus);
11
11
  --odx-main-menu-item-text-color: inherit;
12
12
  --odx-main-menu-item-text-color-disabled: var(--odx-c-primary-text-disabled);
13
+ }
13
14
 
14
- @include utils.dark-theme-selector() {
15
- --odx-main-menu-item-background-color-active: var(--cyan-500-15);
16
- --odx-main-menu-item-text-color-disabled: var(--blue-500);
17
- }
15
+ @include utils.theme-selector(dark) {
16
+ --odx-main-menu-item-background-color-active: var(--cyan-500-15);
17
+ --odx-main-menu-item-text-color-disabled: var(--blue-500);
18
18
  }
19
19
 
20
20
  .odx-main-menu-item {
@@ -7,28 +7,28 @@
7
7
  @use 'main-menu-button.component';
8
8
  @use 'main-menu-item.component';
9
9
 
10
- body {
10
+ :root {
11
11
  --odx-main-menu-max-width: 100dvw;
12
12
  --odx-main-menu-background-color: var(--odx-c-primary);
13
13
  --odx-main-menu-text-color: var(--odx-c-primary-text);
14
14
  --odx-main-menu-highlight-color: var(--odx-c-highlight);
15
15
 
16
- @include utils.dark-theme-selector() {
17
- --odx-main-menu-background-color: var(--blue-800);
18
- --odx-main-menu-text-color: var(--black);
19
- --odx-main-menu-highlight-color: var(--cyan-500);
20
- }
21
-
22
16
  @include breakpoints.up(phone) {
23
17
  --odx-main-menu-max-width: min(100dvw, 384px);
24
18
  }
25
19
  }
26
20
 
21
+ @include utils.theme-selector(dark) {
22
+ --odx-main-menu-background-color: var(--blue-800);
23
+ --odx-main-menu-text-color: var(--black);
24
+ --odx-main-menu-highlight-color: var(--cyan-500);
25
+ }
26
+
27
27
  .odx-main-menu {
28
28
  --odx-area-header-title-color: var(--odx-main-menu-highlight-color);
29
29
  --odx-area-header-subtitle-color: var(--odx-c-text-inverse);
30
30
 
31
- z-index: var(--odx-v-layer-5);
31
+ z-index: var(--odx-v-layer-6);
32
32
 
33
33
  &__inner {
34
34
  background-color: var(--odx-main-menu-background-color);
@@ -3,16 +3,14 @@
3
3
  @use '../abstract/typography';
4
4
  @use '../abstract/utils';
5
5
 
6
- body {
7
- @include utils.dark-theme-selector() {
8
- .odx-mainfilter-group {
9
- --odx-input-control-outline-color: var(--blue-900);
10
- --odx-input-control-outline-color-hover: var(--blue-900);
11
- --odx-c-highlight: var(--blue-900);
12
- --odx-c-highlight-text: var(--white);
13
- --odx-c-focus-outline: var(--cyan-800);
14
- --odx-c-focus: var(--focus-bg);
15
- }
6
+ @include utils.theme-selector(dark) {
7
+ .odx-mainfilter-group {
8
+ --odx-input-control-outline-color: var(--blue-900);
9
+ --odx-input-control-outline-color-hover: var(--blue-900);
10
+ --odx-c-highlight: var(--blue-900);
11
+ --odx-c-highlight-text: var(--white);
12
+ --odx-c-focus-outline: var(--cyan-800);
13
+ --odx-c-focus: var(--focus-bg);
16
14
  }
17
15
  }
18
16
 
@@ -23,7 +23,7 @@ $modal-padding: math.div(12, 24);
23
23
  position: fixed;
24
24
  top: 0;
25
25
  width: 100dvw;
26
- z-index: var(--odx-v-layer-4);
26
+ z-index: var(--odx-v-layer-5);
27
27
 
28
28
  @include breakpoints.up(phone) {
29
29
  --odx-modal-margin-y: #{dimensions.get-size(3)};
@@ -4,7 +4,7 @@
4
4
  @use '../abstract/typography';
5
5
  @use '../abstract/utils';
6
6
 
7
- body {
7
+ :root {
8
8
  --odx-select-max-height: 220px;
9
9
  }
10
10
 
@@ -1,7 +1,7 @@
1
1
  @use '../abstract/dimensions';
2
2
  @use '../abstract/utils';
3
3
 
4
- body {
4
+ :root {
5
5
  --odx-tooltip-background-color: var(--blue-800);
6
6
  --odx-tooltip-color: var(--odx-c-text-inverse);
7
7
  --odx-tooltip-size-small: #{dimensions.get-size(5)};
@@ -6,13 +6,9 @@ body,
6
6
  background-color: var(--odx-c-background);
7
7
  }
8
8
 
9
- * {
10
- scrollbar-color: var(--odx-v-scrollbar-thumb-color) var(--odx-v-scrollbar-track-color);
11
- }
12
-
13
9
  ::-webkit-scrollbar {
14
10
  appearance: none;
15
- width: 12px;
11
+ width: var(--odx-v-scrollbar-width);
16
12
  }
17
13
 
18
14
  ::-webkit-scrollbar-track,
@@ -1,55 +1,53 @@
1
1
  @use '../abstract/utils';
2
2
 
3
- body {
4
- @include utils.dark-theme-selector() {
5
- --white: #293642;
6
- --white-dark: #060a12;
7
- --black: #ffffff;
8
- --black-20: #{rgba(#000000, 60%)};
9
-
10
- --focus-bg: #284e68;
11
-
12
- --white-60: #{rgba(var(--white), 0.6)};
13
-
14
- --gray-50: #2e3d49;
15
- --gray-100: #344351;
16
- --gray-200: #3e5160;
17
- --gray-300: #495e6e;
18
- --gray-400: #556c7c;
19
- --gray-500: #607a8a;
20
- --gray-600: #6d8797;
21
- --gray-700: #7d94a1;
22
- --gray-800: #e9eef4;
23
- --gray-900: #9cacb4;
24
-
25
- --blue-50: #455e85;
26
- --blue-50-5: #{rgba(#455e85, 0.1)};
27
- --blue-100: #043c95;
28
- --blue-600: #a8c4f0;
29
- --blue-700: #cbe9ff;
30
- --blue-700-5: #{rgba(#cbe9ff, 0.1)};
31
- --blue-700-10: #{rgba(#cbe9ff, 0.2)};
32
- --blue-900: #d5e2f6;
33
-
34
- --cyan-50: #002766;
35
- --cyan-100: #003c66;
36
- --cyan-200: #00508a;
37
- --cyan-300: #0065ad;
38
- --cyan-400: #007ad1;
39
- --cyan-600: #1fa2ff;
40
- --cyan-700: #47b3ff;
41
- --cyan-800: #70c4ff;
42
- --cyan-900: #9dd7ff;
43
-
44
- --red-00: #4b3138;
45
- --red-50: #724956;
46
- --red-100: #bc0000;
47
- --red-700: #ff9898;
48
- --red-800: #ffb4b4;
49
- --red-900: #ffe0e3;
50
-
51
- --yellow-50: #5f5439;
52
-
53
- --green-00: #355e54;
54
- }
3
+ @include utils.theme-selector(dark) {
4
+ --white: #293642;
5
+ --white-dark: #060a12;
6
+ --black: #ffffff;
7
+ --black-20: #{rgba(#000000, 60%)};
8
+
9
+ --focus-bg: #284e68;
10
+
11
+ --white-60: #{rgba(var(--white), 0.6)};
12
+
13
+ --gray-50: #2e3d49;
14
+ --gray-100: #344351;
15
+ --gray-200: #3e5160;
16
+ --gray-300: #495e6e;
17
+ --gray-400: #556c7c;
18
+ --gray-500: #607a8a;
19
+ --gray-600: #6d8797;
20
+ --gray-700: #7d94a1;
21
+ --gray-800: #e9eef4;
22
+ --gray-900: #9cacb4;
23
+
24
+ --blue-50: #455e85;
25
+ --blue-50-5: #{rgba(#455e85, 0.1)};
26
+ --blue-100: #043c95;
27
+ --blue-600: #a8c4f0;
28
+ --blue-700: #cbe9ff;
29
+ --blue-700-5: #{rgba(#cbe9ff, 0.1)};
30
+ --blue-700-10: #{rgba(#cbe9ff, 0.2)};
31
+ --blue-900: #d5e2f6;
32
+
33
+ --cyan-50: #002766;
34
+ --cyan-100: #003c66;
35
+ --cyan-200: #00508a;
36
+ --cyan-300: #0065ad;
37
+ --cyan-400: #007ad1;
38
+ --cyan-600: #1fa2ff;
39
+ --cyan-700: #47b3ff;
40
+ --cyan-800: #70c4ff;
41
+ --cyan-900: #9dd7ff;
42
+
43
+ --red-00: #4b3138;
44
+ --red-50: #724956;
45
+ --red-100: #bc0000;
46
+ --red-700: #ff9898;
47
+ --red-800: #ffb4b4;
48
+ --red-900: #ffe0e3;
49
+
50
+ --yellow-50: #5f5439;
51
+
52
+ --green-00: #355e54;
55
53
  }
@@ -1,4 +1,4 @@
1
- body {
1
+ :root {
2
2
  --white: #ffffff;
3
3
  --black: #00060f;
4
4
  --black-20: #{rgba(#000000, 20%)};
@@ -1,45 +1,46 @@
1
1
  @use '../abstract/utils';
2
2
 
3
- body {
4
- @include utils.dark-theme-selector() {
5
- --odx-c-headline: var(--blue-900);
3
+ @include utils.theme-selector(dark) {
4
+ --odx-c-headline: var(--blue-900);
6
5
 
7
- --odx-c-text: var(--blue-900);
8
- --odx-c-text-inverse: var(--black);
6
+ --odx-c-text: var(--blue-900);
7
+ --odx-c-text-inverse: var(--black);
9
8
 
10
- --odx-c-link-disabled: var(--gray-400);
9
+ --odx-c-link: var(--cyan-700);
10
+ --odx-c-link-hover: var(--cyan-800);
11
+ --odx-c-link-active: var(--cyan-900);
12
+ --odx-c-link-disabled: var(--gray-400);
11
13
 
12
- --odx-c-error: var(--red-00);
13
- --odx-c-error-outline: var(--red-50);
14
- --odx-c-error-outline-hover: var(--red-100);
15
- --odx-c-error-text: var(--red-700);
14
+ --odx-c-error: var(--red-00);
15
+ --odx-c-error-outline: var(--red-50);
16
+ --odx-c-error-outline-hover: var(--red-100);
17
+ --odx-c-error-text: var(--red-700);
16
18
 
17
- --odx-c-focus: var(--focus-bg);
18
- --odx-c-focus-outline: var(--cyan-200);
19
- --odx-c-focus-outline-dark: var(--odx-c-focus-outline);
19
+ --odx-c-focus: var(--focus-bg);
20
+ --odx-c-focus-outline: var(--cyan-200);
21
+ --odx-c-focus-outline-dark: var(--odx-c-focus-outline);
20
22
 
21
- --odx-c-ghost-hover: var(--blue-50-5);
23
+ --odx-c-ghost-hover: var(--blue-50-5);
22
24
 
23
- --odx-c-highlight-text: var(--black);
25
+ --odx-c-highlight-text: var(--black);
24
26
 
25
- --odx-c-primary: var(--blue-900);
26
- --odx-c-primary-hover: var(--blue-600);
27
- --odx-c-primary-active: var(--blue-200);
28
- --odx-c-primary-disabled: var(--odx-c-primary);
29
- --odx-c-primary-text: var(--white);
30
- --odx-c-primary-text-disabled: var(--blue-300);
27
+ --odx-c-primary: var(--blue-900);
28
+ --odx-c-primary-hover: var(--blue-600);
29
+ --odx-c-primary-active: var(--blue-200);
30
+ --odx-c-primary-disabled: var(--odx-c-primary);
31
+ --odx-c-primary-text: var(--white);
32
+ --odx-c-primary-text-disabled: var(--blue-300);
31
33
 
32
- --odx-c-secondary-text-disabled: var(--gray-100);
34
+ --odx-c-secondary-text-disabled: var(--gray-100);
33
35
 
34
- --odx-c-highlight-hover: var(--cyan-400);
35
- --odx-c-highlight-active: var(--cyan-300);
36
- --odx-c-highlight-text-disabled: var(--cyan-200);
36
+ --odx-c-highlight-hover: var(--cyan-400);
37
+ --odx-c-highlight-active: var(--cyan-300);
38
+ --odx-c-highlight-text-disabled: var(--cyan-200);
37
39
 
38
- --odx-c-danger-active: var(--red-100);
39
- --odx-c-danger-text-disabled: var(--red-50);
40
+ --odx-c-danger-active: var(--red-100);
41
+ --odx-c-danger-text-disabled: var(--red-50);
40
42
 
41
- --odx-c-success-text: var(--cyan-50);
43
+ --odx-c-success-text: var(--cyan-50);
42
44
 
43
- --odx-c-confirmation-text: var(--cyan-50);
44
- }
45
+ --odx-c-confirmation-text: var(--cyan-50);
45
46
  }
@@ -1,4 +1,4 @@
1
- body {
1
+ :root {
2
2
  --odx-c-headline: var(--blue-700);
3
3
 
4
4
  --odx-c-text: var(--blue-700);
@@ -1,4 +1,4 @@
1
- body {
1
+ :root {
2
2
  --odx-control-color: var(--odx-c-text);
3
3
  --odx-control-background-color: var(--gray-200);
4
4
  --odx-control-outline-color: var(--gray-300);
@@ -1,4 +1,4 @@
1
- body {
1
+ :root {
2
2
  --odx-v-border-radius: calc(var(--odx-typography-base-size) * 0.375);
3
3
  --odx-v-border-radius-controls: calc(var(--odx-typography-base-size) * 0.19);
4
4
 
@@ -21,4 +21,5 @@ body {
21
21
  --odx-v-scrollbar-track-color: transparent;
22
22
  --odx-v-scrollbar-thumb-color: var(--gray-600);
23
23
  --odx-v-scrollbar-thumb-color-hover: var(--gray-700);
24
+ --odx-v-scrollbar-width: 12px;
24
25
  }