@med-o/ui 0.0.0-stage → 0.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 (46) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +38 -2
  3. package/dist/index.d.ts +2021 -0
  4. package/dist/index.js +4721 -0
  5. package/dist/index.js.map +1 -0
  6. package/package.json +78 -4
  7. package/src/accordion/accordion.css +184 -0
  8. package/src/alert/alert.css +147 -0
  9. package/src/avatar/avatar.css +221 -0
  10. package/src/badge/badge.css +153 -0
  11. package/src/bottom-sheet/bottom-sheet.css +202 -0
  12. package/src/breadcrumbs/breadcrumbs.css +147 -0
  13. package/src/bulk-action-bar/bulk-action-bar.css +98 -0
  14. package/src/button/button.css +319 -0
  15. package/src/card/card.css +217 -0
  16. package/src/checkbox/choice.css +196 -0
  17. package/src/combobox/combobox.css +125 -0
  18. package/src/date-time/date-time.css +474 -0
  19. package/src/dialog/dialog.css +319 -0
  20. package/src/drawer/drawer.css +156 -0
  21. package/src/empty-state/empty-state.css +161 -0
  22. package/src/field/field.css +115 -0
  23. package/src/link/link.css +103 -0
  24. package/src/list/list.css +172 -0
  25. package/src/list-view/list-view.css +473 -0
  26. package/src/listbox/listbox.css +203 -0
  27. package/src/media/media.css +298 -0
  28. package/src/menu/menu.css +183 -0
  29. package/src/navigation/navigation.css +626 -0
  30. package/src/pagination/pagination.css +132 -0
  31. package/src/popover/popover.css +166 -0
  32. package/src/progress/progress.css +225 -0
  33. package/src/search/search.css +309 -0
  34. package/src/select/select.css +229 -0
  35. package/src/slider/slider.css +212 -0
  36. package/src/styles.css +40 -0
  37. package/src/switch/switch.css +160 -0
  38. package/src/table/table.css +276 -0
  39. package/src/tabs/tabs.css +211 -0
  40. package/src/tag/tag.css +225 -0
  41. package/src/text-field/input.css +206 -0
  42. package/src/toast/toast.css +184 -0
  43. package/src/toggle-button/toggle-button.css +143 -0
  44. package/src/tooltip/tooltip.css +66 -0
  45. package/src/upload/upload.css +380 -0
  46. package/src/utils/utilities.css +14 -0
@@ -0,0 +1,626 @@
1
+ /**
2
+ * Navigation – med.o Design System
3
+ *
4
+ * Always links in a named <nav>; the current page has aria-current="page".
5
+ * .medo-nav-item.medo-nav-item--{header|sidebar|rail|sheet} one item, four forms (36 · 36 · 40×40 · 48)
6
+ * .medo-nav-group (disclosure button + list) · .medo-nav-section (overline + list)
7
+ * .medo-site-header · .medo-nav-fullscreen · .medo-app-header · .medo-sidenav · .medo-tab-bar · .medo-skip-link
8
+ * Current: action/selected + label strong in text/primary. Default: text/secondary; hover and pressed use the state layers.
9
+ * State contract: [aria-current="page"] / [data-current] · [data-hovered] [data-pressed] [data-focus-visible] (React Aria),
10
+ * [aria-expanded] on group buttons, [data-scrolled] on headers.
11
+ */
12
+
13
+ .medo-nav__list {
14
+ display: flex;
15
+ flex-direction: column;
16
+ gap: var(--medo-space-0-5);
17
+ margin: 0;
18
+ padding: 0;
19
+ list-style: none;
20
+ }
21
+
22
+ .medo-nav__list--row {
23
+ flex-direction: row;
24
+ align-items: center;
25
+ gap: var(--medo-space-1);
26
+ }
27
+
28
+ .medo-nav__list--rail {
29
+ align-items: center;
30
+ }
31
+
32
+ .medo-nav__entry {
33
+ display: block;
34
+ }
35
+
36
+ /* ---------- Nav item ---------- */
37
+
38
+ .medo-nav-item {
39
+ --_h: 2.25rem; /* 36 */
40
+ --_label: var(--medo-typography-label-md);
41
+ --_label-current: var(--medo-typography-label-md-strong);
42
+ --_icon: var(--medo-size-icon-sm);
43
+
44
+ position: relative;
45
+ box-sizing: border-box;
46
+ display: flex;
47
+ align-items: center;
48
+ gap: var(--medo-space-3);
49
+ inline-size: 100%;
50
+ min-block-size: var(--_h);
51
+ padding-inline: var(--medo-space-3);
52
+ border: 0;
53
+ border-radius: var(--medo-radius-sm);
54
+ background: none;
55
+ font: var(--_label);
56
+ color: var(--medo-color-text-secondary);
57
+ text-align: start;
58
+ text-decoration: none;
59
+ cursor: pointer;
60
+ outline: none;
61
+ -webkit-tap-highlight-color: transparent;
62
+ }
63
+
64
+ .medo-nav-item--header {
65
+ inline-size: auto;
66
+ white-space: nowrap;
67
+ }
68
+
69
+ .medo-nav-item--sheet {
70
+ --_h: var(--medo-size-control-lg); /* 48 */
71
+ --_label: var(--medo-typography-label-lg);
72
+ --_label-current: var(--medo-typography-label-lg-strong);
73
+ --_icon: var(--medo-size-icon-md);
74
+ }
75
+
76
+ .medo-nav-item--rail {
77
+ --_icon: var(--medo-size-icon-md);
78
+ justify-content: center;
79
+ inline-size: var(--medo-size-control-md); /* 40 */
80
+ block-size: var(--medo-size-control-md);
81
+ padding: 0;
82
+ }
83
+
84
+ .medo-nav-item[data-hovered] {
85
+ background-color: var(--medo-color-state-hover);
86
+ color: var(--medo-color-text-primary);
87
+ }
88
+
89
+ .medo-nav-item[data-pressed] {
90
+ background-color: var(--medo-color-state-pressed);
91
+ color: var(--medo-color-text-primary);
92
+ }
93
+
94
+ .medo-nav-item:is([aria-current='page'], [data-current]) {
95
+ background-color: var(--medo-color-action-selected);
96
+ font: var(--_label-current);
97
+ color: var(--medo-color-text-primary);
98
+ }
99
+
100
+ .medo-nav-item:is([aria-current='page'], [data-current])[data-hovered] {
101
+ background-color: var(--medo-color-action-selected-hover);
102
+ }
103
+
104
+ .medo-nav-item[data-focus-visible] {
105
+ box-shadow: var(--medo-shadow-focus-ring-inset);
106
+ }
107
+
108
+ .medo-nav-item__icon {
109
+ display: inline-flex;
110
+ flex: none;
111
+ inline-size: var(--_icon);
112
+ block-size: var(--_icon);
113
+ }
114
+
115
+ .medo-nav-item__icon > svg {
116
+ inline-size: 100%;
117
+ block-size: 100%;
118
+ }
119
+
120
+ .medo-nav-item__label {
121
+ flex: 1;
122
+ min-inline-size: 0;
123
+ overflow: hidden;
124
+ text-overflow: ellipsis;
125
+ white-space: nowrap;
126
+ }
127
+
128
+ .medo-nav-item--header .medo-nav-item__label {
129
+ flex: none;
130
+ }
131
+
132
+ .medo-nav-item__dot {
133
+ position: absolute;
134
+ inset-block-start: var(--medo-space-2);
135
+ inset-inline-end: var(--medo-space-2);
136
+ }
137
+
138
+ /* ---------- Group ---------- */
139
+
140
+ .medo-nav-group {
141
+ position: relative;
142
+ }
143
+
144
+ .medo-nav-group__chevron {
145
+ flex: none;
146
+ inline-size: var(--medo-size-icon-sm);
147
+ block-size: var(--medo-size-icon-sm);
148
+ transition: rotate var(--medo-motion-spring-snappy-duration) var(--medo-motion-spring-snappy);
149
+ }
150
+
151
+ .medo-nav-group__button[aria-expanded='true'] .medo-nav-group__chevron {
152
+ rotate: 180deg;
153
+ }
154
+
155
+ /* Header: the open group button looks pressed. */
156
+ .medo-nav-group--floating > .medo-nav-group__button[aria-expanded='true'] {
157
+ background-color: var(--medo-color-state-hover);
158
+ color: var(--medo-color-text-primary);
159
+ }
160
+
161
+ /* Sidebar and sheet: children indented, one level. */
162
+ .medo-nav-group__list {
163
+ margin-block-start: var(--medo-space-0-5);
164
+ padding-inline-start: var(--medo-space-4);
165
+ }
166
+
167
+ .medo-nav-item--sidebar + .medo-nav-group__list {
168
+ /* Child labels line up with the parent label (icon + gap). */
169
+ padding-inline-start: calc(var(--medo-size-icon-sm) + var(--medo-space-3));
170
+ }
171
+
172
+ /* Header: dropdown panel on the popover surface, 280 wide, 8 below the item. */
173
+ .medo-nav-group__panel {
174
+ position: absolute;
175
+ inset-block-start: calc(100% + var(--medo-space-2));
176
+ inset-inline-start: 0;
177
+ z-index: var(--medo-layer-dropdown);
178
+ box-sizing: border-box;
179
+ inline-size: 17.5rem; /* 280 */
180
+ padding: var(--medo-space-2);
181
+ border: var(--medo-border-width-thin) solid var(--medo-color-border-default);
182
+ border-radius: var(--medo-radius-md);
183
+ background-color: var(--medo-color-surface-raised);
184
+ box-shadow: var(--medo-shadow-elevation-2);
185
+ }
186
+
187
+ .medo-nav-group__panel[hidden],
188
+ .medo-nav-group__list[hidden] {
189
+ display: none;
190
+ }
191
+
192
+ /* ---------- Section (sidebar) ---------- */
193
+
194
+ .medo-nav-section__title {
195
+ display: block;
196
+ padding: var(--medo-space-2) var(--medo-space-2) var(--medo-space-1);
197
+ font: var(--medo-typography-overline);
198
+ color: var(--medo-color-text-secondary);
199
+ text-transform: uppercase;
200
+ }
201
+
202
+ .medo-nav-section__divider {
203
+ display: block;
204
+ margin: var(--medo-space-1) var(--medo-space-1);
205
+ border-block-start: var(--medo-border-width-thin) solid var(--medo-color-border-default);
206
+ }
207
+
208
+ /* ---------- Skip link ---------- */
209
+
210
+ .medo-skip-link {
211
+ position: fixed;
212
+ inset-block-start: var(--medo-space-2);
213
+ inset-inline-start: var(--medo-space-2);
214
+ z-index: var(--medo-layer-tooltip);
215
+ padding: var(--medo-space-2) var(--medo-space-4);
216
+ border-radius: var(--medo-radius-md);
217
+ background-color: var(--medo-color-surface-raised);
218
+ box-shadow: var(--medo-shadow-elevation-2);
219
+ font: var(--medo-typography-label-md);
220
+ color: var(--medo-color-text-primary);
221
+ text-decoration: none;
222
+ translate: 0 calc(-100% - var(--medo-space-4));
223
+ }
224
+
225
+ .medo-skip-link:focus-visible {
226
+ translate: 0 0;
227
+ outline: none;
228
+ box-shadow: var(--medo-shadow-focus-ring), var(--medo-shadow-elevation-2);
229
+ }
230
+
231
+ /* ---------- Headers ---------- */
232
+
233
+ .medo-site-header,
234
+ .medo-app-header {
235
+ position: sticky;
236
+ inset-block-start: 0;
237
+ z-index: var(--medo-layer-sticky);
238
+ box-sizing: border-box;
239
+ display: flex;
240
+ align-items: center;
241
+ gap: var(--medo-space-8);
242
+ block-size: var(--medo-space-16); /* 64 */
243
+ padding-inline: var(--medo-space-8);
244
+ border-block-end: var(--medo-border-width-thin) solid transparent;
245
+ background-color: var(--medo-color-surface-default);
246
+ }
247
+
248
+ .medo-app-header {
249
+ padding-inline: var(--medo-space-6);
250
+ }
251
+
252
+ /* Divider once the page scrolls. */
253
+ .medo-site-header[data-scrolled],
254
+ .medo-app-header[data-scrolled] {
255
+ border-block-end-color: var(--medo-color-border-default);
256
+ }
257
+
258
+ .medo-site-header__logo,
259
+ .medo-app-header__logo {
260
+ display: flex;
261
+ flex: none;
262
+ align-items: center;
263
+ }
264
+
265
+ .medo-site-header__nav {
266
+ flex: 1;
267
+ min-inline-size: 0;
268
+ }
269
+
270
+ .medo-site-header__actions,
271
+ .medo-app-header__actions {
272
+ display: flex;
273
+ flex: none;
274
+ align-items: center;
275
+ gap: var(--medo-space-2);
276
+ margin-inline-start: auto;
277
+ }
278
+
279
+ .medo-app-header__actions {
280
+ margin-inline-start: 0;
281
+ }
282
+
283
+ .medo-app-header__title {
284
+ flex: 1;
285
+ min-inline-size: 0;
286
+ margin: 0;
287
+ overflow: hidden;
288
+ font: var(--medo-typography-heading-md);
289
+ color: var(--medo-color-text-primary);
290
+ text-overflow: ellipsis;
291
+ white-space: nowrap;
292
+ }
293
+
294
+ .medo-app-header__search {
295
+ flex: 0 1 17.5rem; /* 280 */
296
+ min-inline-size: 0;
297
+ }
298
+
299
+ /* ---------- Fullscreen menu (website, mobile) ---------- */
300
+
301
+ .medo-nav-fullscreen-overlay {
302
+ position: fixed;
303
+ inset: 0;
304
+ z-index: var(--medo-layer-modal);
305
+ }
306
+
307
+ .medo-nav-fullscreen {
308
+ box-sizing: border-box;
309
+ display: flex;
310
+ block-size: 100dvh;
311
+ padding-block: env(safe-area-inset-top) env(safe-area-inset-bottom);
312
+ background-color: var(--medo-color-surface-default);
313
+ color: var(--medo-color-text-primary);
314
+ outline: none;
315
+ }
316
+
317
+ /* Full-screen menu: fades in while its content settles 8 px with a smooth spring; out: a quick fade. */
318
+ .medo-nav-fullscreen-overlay {
319
+ transition: opacity var(--medo-motion-duration-normal) var(--medo-motion-easing-enter);
320
+ }
321
+ .medo-nav-fullscreen-overlay[data-entering] {
322
+ opacity: 0;
323
+ }
324
+ .medo-nav-fullscreen-overlay[data-exiting] {
325
+ opacity: 0;
326
+ transition: opacity var(--medo-motion-duration-fast) var(--medo-motion-easing-exit);
327
+ }
328
+ .medo-nav-fullscreen {
329
+ transition: translate var(--medo-motion-spring-smooth-duration) var(--medo-motion-spring-smooth);
330
+ }
331
+ .medo-nav-fullscreen-overlay[data-entering] .medo-nav-fullscreen {
332
+ translate: 0 calc(-1 * var(--medo-space-2));
333
+ }
334
+
335
+ .medo-nav-fullscreen__dialog {
336
+ display: flex;
337
+ flex: 1;
338
+ flex-direction: column;
339
+ min-block-size: 0;
340
+ outline: none;
341
+ }
342
+
343
+ .medo-nav-fullscreen__header {
344
+ display: flex;
345
+ flex: none;
346
+ align-items: center;
347
+ justify-content: space-between;
348
+ block-size: calc(var(--medo-size-control-md) + 2 * var(--medo-space-2)); /* 56 */
349
+ padding-inline: var(--medo-space-4) var(--medo-space-2);
350
+ }
351
+
352
+ .medo-nav-fullscreen__nav {
353
+ flex: 1;
354
+ min-block-size: 0;
355
+ overflow: auto;
356
+ padding: var(--medo-space-4);
357
+ }
358
+
359
+ .medo-nav-fullscreen__nav .medo-nav__list {
360
+ gap: var(--medo-space-1);
361
+ }
362
+
363
+ /* Actions pinned at the bottom – primary on top, in thumb reach. */
364
+ .medo-nav-fullscreen__actions {
365
+ display: grid;
366
+ flex: none;
367
+ gap: var(--medo-space-2);
368
+ padding: var(--medo-space-4);
369
+ border-block-start: var(--medo-border-width-thin) solid var(--medo-color-border-default);
370
+ }
371
+
372
+ .medo-nav-fullscreen__actions .medo-button {
373
+ inline-size: 100%;
374
+ }
375
+
376
+ /* ---------- Side navigation ---------- */
377
+
378
+ .medo-sidenav {
379
+ position: relative;
380
+ flex: none;
381
+ box-sizing: border-box;
382
+ inline-size: 16rem; /* 256 */
383
+ block-size: 100%;
384
+ transition: inline-size var(--medo-motion-spring-smooth-duration) var(--medo-motion-spring-smooth);
385
+ }
386
+
387
+ .medo-sidenav--collapsed {
388
+ inline-size: var(--medo-space-16); /* 64 */
389
+ }
390
+
391
+ .medo-sidenav__panel {
392
+ box-sizing: border-box;
393
+ display: flex;
394
+ flex-direction: column;
395
+ inline-size: 100%;
396
+ block-size: 100%;
397
+ border-inline-end: var(--medo-border-width-thin) solid var(--medo-color-border-default);
398
+ background-color: var(--medo-color-surface-default);
399
+ }
400
+
401
+ .medo-sidenav__top {
402
+ display: flex;
403
+ flex: none;
404
+ align-items: center;
405
+ justify-content: space-between;
406
+ gap: var(--medo-space-2);
407
+ block-size: var(--medo-space-16); /* 64 */
408
+ padding-inline: var(--medo-space-4) var(--medo-space-3);
409
+ }
410
+
411
+ .medo-sidenav--collapsed .medo-sidenav__top {
412
+ justify-content: center;
413
+ padding-inline: 0;
414
+ }
415
+
416
+ .medo-sidenav__nav {
417
+ flex: 1;
418
+ min-block-size: 0;
419
+ overflow-y: auto;
420
+ overflow-x: hidden;
421
+ padding: var(--medo-space-2) var(--medo-space-3);
422
+ }
423
+
424
+ .medo-sidenav--collapsed .medo-nav__list {
425
+ align-items: center;
426
+ }
427
+
428
+ .medo-sidenav__bottom {
429
+ display: flex;
430
+ flex: none;
431
+ flex-direction: column;
432
+ align-items: center;
433
+ gap: var(--medo-space-2);
434
+ padding: var(--medo-space-3) var(--medo-space-4) var(--medo-space-4);
435
+ border-block-start: var(--medo-border-width-thin) solid var(--medo-color-border-default);
436
+ }
437
+
438
+ .medo-sidenav__bottom:empty {
439
+ display: none;
440
+ }
441
+
442
+ .medo-sidenav__user {
443
+ display: flex;
444
+ align-items: center;
445
+ gap: var(--medo-space-3);
446
+ align-self: stretch;
447
+ min-inline-size: 0;
448
+ }
449
+
450
+ .medo-sidenav--collapsed .medo-sidenav__user {
451
+ justify-content: center;
452
+ }
453
+
454
+ .medo-sidenav__user-text {
455
+ display: grid;
456
+ min-inline-size: 0;
457
+ }
458
+
459
+ .medo-sidenav__user-name,
460
+ .medo-sidenav__user-email {
461
+ overflow: hidden;
462
+ text-overflow: ellipsis;
463
+ white-space: nowrap;
464
+ }
465
+
466
+ .medo-sidenav__user-name {
467
+ font: var(--medo-typography-label-md);
468
+ color: var(--medo-color-text-primary);
469
+ }
470
+
471
+ .medo-sidenav__user-email {
472
+ font: var(--medo-typography-caption);
473
+ color: var(--medo-color-text-secondary);
474
+ }
475
+
476
+ /* ---------- Bottom tab bar ---------- */
477
+
478
+ .medo-tab-bar {
479
+ position: fixed;
480
+ inset-inline: 0;
481
+ inset-block-end: 0;
482
+ z-index: var(--medo-layer-sticky);
483
+ padding-block-end: env(safe-area-inset-bottom);
484
+ border-block-start: var(--medo-border-width-thin) solid var(--medo-color-border-default);
485
+ background-color: var(--medo-color-surface-default);
486
+ }
487
+
488
+ .medo-tab-bar__list {
489
+ display: flex;
490
+ margin: 0;
491
+ padding: var(--medo-space-1) var(--medo-space-2);
492
+ list-style: none;
493
+ }
494
+
495
+ .medo-tab-bar__entry {
496
+ display: flex;
497
+ flex: 1;
498
+ }
499
+
500
+ .medo-tab-bar-item {
501
+ display: flex;
502
+ flex: 1;
503
+ flex-direction: column;
504
+ align-items: center;
505
+ gap: var(--medo-space-1);
506
+ min-block-size: 3.5rem; /* 56 */
507
+ padding: var(--medo-space-1) 0;
508
+ border: 0;
509
+ border-radius: var(--medo-radius-sm);
510
+ background: none;
511
+ font: var(--medo-typography-caption);
512
+ color: var(--medo-color-text-secondary);
513
+ text-decoration: none;
514
+ cursor: pointer;
515
+ outline: none;
516
+ -webkit-tap-highlight-color: transparent;
517
+ }
518
+
519
+ .medo-tab-bar-item__indicator {
520
+ position: relative;
521
+ display: grid;
522
+ place-items: center;
523
+ inline-size: 3.5rem; /* 56 */
524
+ block-size: 1.75rem; /* 28 */
525
+ border-radius: var(--medo-radius-full);
526
+ }
527
+
528
+ .medo-tab-bar-item__icon {
529
+ display: inline-flex;
530
+ inline-size: var(--medo-size-icon-md);
531
+ block-size: var(--medo-size-icon-md);
532
+ }
533
+
534
+ .medo-tab-bar-item__icon > svg {
535
+ inline-size: 100%;
536
+ block-size: 100%;
537
+ }
538
+
539
+ .medo-tab-bar-item__dot {
540
+ position: absolute;
541
+ inset-block-start: var(--medo-space-0-5);
542
+ inset-inline-start: calc(50% + var(--medo-space-1));
543
+ }
544
+
545
+ .medo-tab-bar-item[data-pressed] .medo-tab-bar-item__indicator {
546
+ background-color: var(--medo-color-state-pressed);
547
+ }
548
+
549
+ .medo-tab-bar-item:is([aria-current='page'], [data-current]) {
550
+ font: var(--medo-typography-label-sm-strong);
551
+ color: var(--medo-color-text-primary);
552
+ }
553
+
554
+ .medo-tab-bar-item:is([aria-current='page'], [data-current]) .medo-tab-bar-item__indicator {
555
+ background-color: var(--medo-color-action-selected);
556
+ }
557
+
558
+ .medo-tab-bar-item[data-focus-visible] {
559
+ box-shadow: var(--medo-shadow-focus-ring-inset);
560
+ }
561
+
562
+ /* Only on phones by default – the side navigation takes over from 640 px. */
563
+ @media (min-width: 640px) {
564
+ .medo-tab-bar:not(.medo-tab-bar--always) {
565
+ display: none;
566
+ }
567
+ }
568
+
569
+ /* Compact website header (menu button) and phones: 56 high. */
570
+ .medo-site-header--compact {
571
+ gap: var(--medo-space-2);
572
+ block-size: calc(var(--medo-size-control-md) + 2 * var(--medo-space-2)); /* 56 */
573
+ padding-inline: var(--medo-space-4) var(--medo-space-2);
574
+ }
575
+
576
+ @media (max-width: 639.98px) {
577
+ .medo-sidenav {
578
+ display: none;
579
+ }
580
+ .medo-app-header {
581
+ gap: var(--medo-space-2);
582
+ block-size: calc(var(--medo-size-control-md) + 2 * var(--medo-space-2)); /* 56 */
583
+ padding-inline: var(--medo-space-4) var(--medo-space-2);
584
+ }
585
+ .medo-app-header__title {
586
+ font: var(--medo-typography-label-lg);
587
+ }
588
+ .medo-app-header__search {
589
+ display: none;
590
+ }
591
+ }
592
+
593
+ /* Nav sheet (apps): items inside the Bottom Sheet. */
594
+ .medo-nav-sheet {
595
+ padding: 0 var(--medo-space-2) var(--medo-space-4);
596
+ }
597
+
598
+ @media (min-width: 640px) {
599
+ .medo-app-header__logo {
600
+ display: none;
601
+ }
602
+ }
603
+
604
+ @media (forced-colors: active) {
605
+ .medo-nav-item:is([aria-current='page'], [data-current]),
606
+ .medo-tab-bar-item:is([aria-current='page'], [data-current]) .medo-tab-bar-item__indicator {
607
+ outline: 2px solid Highlight;
608
+ outline-offset: -2px;
609
+ }
610
+ .medo-nav-group__panel {
611
+ border-color: CanvasText;
612
+ }
613
+ }
614
+
615
+ @media (prefers-reduced-motion: reduce) {
616
+ .medo-sidenav {
617
+ transition: none;
618
+ }
619
+ .medo-nav-group__chevron {
620
+ transition: rotate var(--medo-motion-duration-fast) var(--medo-motion-easing-standard);
621
+ }
622
+ .medo-nav-fullscreen {
623
+ transition: none;
624
+ translate: none !important;
625
+ }
626
+ }