@revikornmann/muka-ui 0.28.1 → 0.29.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.
- package/dist/cjs/components/Alert/Alert.css +4 -3
- package/dist/cjs/components/Alert/Alert.js +1 -1
- package/dist/cjs/components/Alert/Alert.js.map +1 -1
- package/dist/cjs/components/Badge/Badge.css +27 -0
- package/dist/cjs/components/Badge/Badge.js +14 -5
- package/dist/cjs/components/Badge/Badge.js.map +1 -1
- package/dist/cjs/components/PhotoUploader/PhotoUploader.css +6 -18
- package/dist/cjs/components/PhotoUploader/PhotoUploader.js +15 -16
- package/dist/cjs/components/PhotoUploader/PhotoUploader.js.map +1 -1
- package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.css +26 -12
- package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js +49 -40
- package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -1
- package/dist/esm/components/Alert/Alert.css +4 -3
- package/dist/esm/components/Alert/Alert.js +1 -1
- package/dist/esm/components/Alert/Alert.js.map +1 -1
- package/dist/esm/components/Badge/Badge.css +27 -0
- package/dist/esm/components/Badge/Badge.js +14 -5
- package/dist/esm/components/Badge/Badge.js.map +1 -1
- package/dist/esm/components/PhotoUploader/PhotoUploader.css +6 -18
- package/dist/esm/components/PhotoUploader/PhotoUploader.js +15 -16
- package/dist/esm/components/PhotoUploader/PhotoUploader.js.map +1 -1
- package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.css +26 -12
- package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js +49 -40
- package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -1
- package/dist/styles/components/Alert.css +4 -3
- package/dist/styles/components/Badge.css +27 -0
- package/dist/styles/components/PhotoUploader.css +6 -18
- package/dist/styles/components/ProgressAccordeon.css +26 -12
- package/dist/styles/index.css +1947 -1917
- package/dist/styles/muka-dark.css +1947 -1917
- package/dist/styles/muka-light.css +1947 -1917
- package/dist/styles/wireframe-dark.css +1947 -1917
- package/dist/styles/wireframe-light.css +1947 -1917
- package/dist/types/components/Alert/Alert.d.ts +1 -1
- package/dist/types/components/Alert/Alert.d.ts.map +1 -1
- package/dist/types/components/Badge/Badge.d.ts +7 -5
- package/dist/types/components/Badge/Badge.d.ts.map +1 -1
- package/dist/types/components/PhotoUploader/PhotoUploader.d.ts +8 -8
- package/dist/types/components/PhotoUploader/PhotoUploader.d.ts.map +1 -1
- package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts +36 -29
- package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -2471,6 +2471,38 @@ body {
|
|
|
2471
2471
|
}
|
|
2472
2472
|
|
|
2473
2473
|
|
|
2474
|
+
/* VoiceMessage */
|
|
2475
|
+
/* VoiceMessage Component Styles */
|
|
2476
|
+
|
|
2477
|
+
.muka-voice-message {
|
|
2478
|
+
display: flex;
|
|
2479
|
+
align-items: center;
|
|
2480
|
+
gap: var(--spacing-3);
|
|
2481
|
+
width: 100%;
|
|
2482
|
+
min-width: min(16rem, 60vw);
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2485
|
+
.muka-voice-message__wave {
|
|
2486
|
+
flex: 1 1 auto;
|
|
2487
|
+
min-width: 0;
|
|
2488
|
+
}
|
|
2489
|
+
|
|
2490
|
+
.muka-voice-message__time {
|
|
2491
|
+
flex: 0 0 auto;
|
|
2492
|
+
white-space: nowrap;
|
|
2493
|
+
font-size: var(--text-label-sm-fontSize, 0.75rem);
|
|
2494
|
+
line-height: var(--text-label-sm-lineHeight, 1);
|
|
2495
|
+
font-variant-numeric: tabular-nums;
|
|
2496
|
+
color: var(--color-text-subtle-default);
|
|
2497
|
+
}
|
|
2498
|
+
|
|
2499
|
+
/* On the tinted own bubble the surface is the action color, so the timer flips
|
|
2500
|
+
* to the inverse text token for contrast. */
|
|
2501
|
+
.muka-voice-message--own .muka-voice-message__time {
|
|
2502
|
+
color: var(--color-text-default-inverse);
|
|
2503
|
+
}
|
|
2504
|
+
|
|
2505
|
+
|
|
2474
2506
|
/* View */
|
|
2475
2507
|
/* View Component Styles */
|
|
2476
2508
|
|
|
@@ -2581,38 +2613,6 @@ body {
|
|
|
2581
2613
|
}
|
|
2582
2614
|
|
|
2583
2615
|
|
|
2584
|
-
/* VoiceMessage */
|
|
2585
|
-
/* VoiceMessage Component Styles */
|
|
2586
|
-
|
|
2587
|
-
.muka-voice-message {
|
|
2588
|
-
display: flex;
|
|
2589
|
-
align-items: center;
|
|
2590
|
-
gap: var(--spacing-3);
|
|
2591
|
-
width: 100%;
|
|
2592
|
-
min-width: min(16rem, 60vw);
|
|
2593
|
-
}
|
|
2594
|
-
|
|
2595
|
-
.muka-voice-message__wave {
|
|
2596
|
-
flex: 1 1 auto;
|
|
2597
|
-
min-width: 0;
|
|
2598
|
-
}
|
|
2599
|
-
|
|
2600
|
-
.muka-voice-message__time {
|
|
2601
|
-
flex: 0 0 auto;
|
|
2602
|
-
white-space: nowrap;
|
|
2603
|
-
font-size: var(--text-label-sm-fontSize, 0.75rem);
|
|
2604
|
-
line-height: var(--text-label-sm-lineHeight, 1);
|
|
2605
|
-
font-variant-numeric: tabular-nums;
|
|
2606
|
-
color: var(--color-text-subtle-default);
|
|
2607
|
-
}
|
|
2608
|
-
|
|
2609
|
-
/* On the tinted own bubble the surface is the action color, so the timer flips
|
|
2610
|
-
* to the inverse text token for contrast. */
|
|
2611
|
-
.muka-voice-message--own .muka-voice-message__time {
|
|
2612
|
-
color: var(--color-text-default-inverse);
|
|
2613
|
-
}
|
|
2614
|
-
|
|
2615
|
-
|
|
2616
2616
|
/* Typography */
|
|
2617
2617
|
.muka-typography-catalog {
|
|
2618
2618
|
display: flex;
|
|
@@ -5263,81 +5263,6 @@ body {
|
|
|
5263
5263
|
}
|
|
5264
5264
|
|
|
5265
5265
|
|
|
5266
|
-
/* Skeleton */
|
|
5267
|
-
/* Skeleton Component Styles */
|
|
5268
|
-
|
|
5269
|
-
.muka-skeleton {
|
|
5270
|
-
background-color: var(--color-surface-level1);
|
|
5271
|
-
display: block;
|
|
5272
|
-
}
|
|
5273
|
-
|
|
5274
|
-
/* Variants */
|
|
5275
|
-
.muka-skeleton--text {
|
|
5276
|
-
height: 1em;
|
|
5277
|
-
border-radius: var(--radius-md);
|
|
5278
|
-
width: 100%;
|
|
5279
|
-
}
|
|
5280
|
-
|
|
5281
|
-
.muka-skeleton--circular {
|
|
5282
|
-
width: 2.5rem;
|
|
5283
|
-
height: 2.5rem;
|
|
5284
|
-
border-radius: var(--radius-full);
|
|
5285
|
-
}
|
|
5286
|
-
|
|
5287
|
-
.muka-skeleton--rectangular {
|
|
5288
|
-
height: 7.5rem;
|
|
5289
|
-
border-radius: var(--radius-md);
|
|
5290
|
-
width: 100%;
|
|
5291
|
-
}
|
|
5292
|
-
|
|
5293
|
-
/* Last line in multi-line text is shorter */
|
|
5294
|
-
.muka-skeleton--last-line {
|
|
5295
|
-
width: 80%;
|
|
5296
|
-
}
|
|
5297
|
-
|
|
5298
|
-
/* Lines container */
|
|
5299
|
-
.muka-skeleton__lines {
|
|
5300
|
-
display: flex;
|
|
5301
|
-
flex-direction: column;
|
|
5302
|
-
gap: var(--spacing-2);
|
|
5303
|
-
}
|
|
5304
|
-
|
|
5305
|
-
/* Shimmer animation */
|
|
5306
|
-
@keyframes muka-skeleton-shimmer {
|
|
5307
|
-
0% {
|
|
5308
|
-
background-position: -200% 0;
|
|
5309
|
-
}
|
|
5310
|
-
100% {
|
|
5311
|
-
background-position: 200% 0;
|
|
5312
|
-
}
|
|
5313
|
-
}
|
|
5314
|
-
|
|
5315
|
-
.muka-skeleton--shimmer {
|
|
5316
|
-
background: linear-gradient(
|
|
5317
|
-
90deg,
|
|
5318
|
-
var(--color-surface-level1) 25%,
|
|
5319
|
-
var(--color-surface-level2) 50%,
|
|
5320
|
-
var(--color-surface-level1) 75%
|
|
5321
|
-
);
|
|
5322
|
-
background-size: 200% 100%;
|
|
5323
|
-
animation: muka-skeleton-shimmer 1.5s ease-in-out infinite;
|
|
5324
|
-
}
|
|
5325
|
-
|
|
5326
|
-
/* Pulse animation */
|
|
5327
|
-
@keyframes muka-skeleton-pulse {
|
|
5328
|
-
0%, 100% {
|
|
5329
|
-
opacity: 1;
|
|
5330
|
-
}
|
|
5331
|
-
50% {
|
|
5332
|
-
opacity: 0.4;
|
|
5333
|
-
}
|
|
5334
|
-
}
|
|
5335
|
-
|
|
5336
|
-
.muka-skeleton--pulse {
|
|
5337
|
-
animation: muka-skeleton-pulse 1.5s ease-in-out infinite;
|
|
5338
|
-
}
|
|
5339
|
-
|
|
5340
|
-
|
|
5341
5266
|
/* Sheet */
|
|
5342
5267
|
/* Sheet Component Styles */
|
|
5343
5268
|
|
|
@@ -5418,6 +5343,81 @@ body {
|
|
|
5418
5343
|
}
|
|
5419
5344
|
|
|
5420
5345
|
|
|
5346
|
+
/* Skeleton */
|
|
5347
|
+
/* Skeleton Component Styles */
|
|
5348
|
+
|
|
5349
|
+
.muka-skeleton {
|
|
5350
|
+
background-color: var(--color-surface-level1);
|
|
5351
|
+
display: block;
|
|
5352
|
+
}
|
|
5353
|
+
|
|
5354
|
+
/* Variants */
|
|
5355
|
+
.muka-skeleton--text {
|
|
5356
|
+
height: 1em;
|
|
5357
|
+
border-radius: var(--radius-md);
|
|
5358
|
+
width: 100%;
|
|
5359
|
+
}
|
|
5360
|
+
|
|
5361
|
+
.muka-skeleton--circular {
|
|
5362
|
+
width: 2.5rem;
|
|
5363
|
+
height: 2.5rem;
|
|
5364
|
+
border-radius: var(--radius-full);
|
|
5365
|
+
}
|
|
5366
|
+
|
|
5367
|
+
.muka-skeleton--rectangular {
|
|
5368
|
+
height: 7.5rem;
|
|
5369
|
+
border-radius: var(--radius-md);
|
|
5370
|
+
width: 100%;
|
|
5371
|
+
}
|
|
5372
|
+
|
|
5373
|
+
/* Last line in multi-line text is shorter */
|
|
5374
|
+
.muka-skeleton--last-line {
|
|
5375
|
+
width: 80%;
|
|
5376
|
+
}
|
|
5377
|
+
|
|
5378
|
+
/* Lines container */
|
|
5379
|
+
.muka-skeleton__lines {
|
|
5380
|
+
display: flex;
|
|
5381
|
+
flex-direction: column;
|
|
5382
|
+
gap: var(--spacing-2);
|
|
5383
|
+
}
|
|
5384
|
+
|
|
5385
|
+
/* Shimmer animation */
|
|
5386
|
+
@keyframes muka-skeleton-shimmer {
|
|
5387
|
+
0% {
|
|
5388
|
+
background-position: -200% 0;
|
|
5389
|
+
}
|
|
5390
|
+
100% {
|
|
5391
|
+
background-position: 200% 0;
|
|
5392
|
+
}
|
|
5393
|
+
}
|
|
5394
|
+
|
|
5395
|
+
.muka-skeleton--shimmer {
|
|
5396
|
+
background: linear-gradient(
|
|
5397
|
+
90deg,
|
|
5398
|
+
var(--color-surface-level1) 25%,
|
|
5399
|
+
var(--color-surface-level2) 50%,
|
|
5400
|
+
var(--color-surface-level1) 75%
|
|
5401
|
+
);
|
|
5402
|
+
background-size: 200% 100%;
|
|
5403
|
+
animation: muka-skeleton-shimmer 1.5s ease-in-out infinite;
|
|
5404
|
+
}
|
|
5405
|
+
|
|
5406
|
+
/* Pulse animation */
|
|
5407
|
+
@keyframes muka-skeleton-pulse {
|
|
5408
|
+
0%, 100% {
|
|
5409
|
+
opacity: 1;
|
|
5410
|
+
}
|
|
5411
|
+
50% {
|
|
5412
|
+
opacity: 0.4;
|
|
5413
|
+
}
|
|
5414
|
+
}
|
|
5415
|
+
|
|
5416
|
+
.muka-skeleton--pulse {
|
|
5417
|
+
animation: muka-skeleton-pulse 1.5s ease-in-out infinite;
|
|
5418
|
+
}
|
|
5419
|
+
|
|
5420
|
+
|
|
5421
5421
|
/* Select */
|
|
5422
5422
|
/* Select Component Styles - Aligned with Input for consistency */
|
|
5423
5423
|
|
|
@@ -7152,6 +7152,7 @@ body {
|
|
|
7152
7152
|
|
|
7153
7153
|
/* Per-state gap: content-bearing steps are tighter, header-only steps looser */
|
|
7154
7154
|
.muka-progress-accordeon--current,
|
|
7155
|
+
.muka-progress-accordeon--current.muka-progress-accordeon--expanded,
|
|
7155
7156
|
.muka-progress-accordeon--past.muka-progress-accordeon--expanded,
|
|
7156
7157
|
.muka-progress-accordeon--upcoming.muka-progress-accordeon--expanded {
|
|
7157
7158
|
gap: var(--spacing-6);
|
|
@@ -7159,7 +7160,8 @@ body {
|
|
|
7159
7160
|
|
|
7160
7161
|
.muka-progress-accordeon--upcoming,
|
|
7161
7162
|
.muka-progress-accordeon--past.muka-progress-accordeon--collapsed,
|
|
7162
|
-
.muka-progress-accordeon--upcoming.muka-progress-accordeon--collapsed
|
|
7163
|
+
.muka-progress-accordeon--upcoming.muka-progress-accordeon--collapsed,
|
|
7164
|
+
.muka-progress-accordeon--current.muka-progress-accordeon--collapsed {
|
|
7163
7165
|
gap: var(--spacing-8);
|
|
7164
7166
|
}
|
|
7165
7167
|
|
|
@@ -7304,32 +7306,44 @@ body {
|
|
|
7304
7306
|
width: 100%;
|
|
7305
7307
|
}
|
|
7306
7308
|
|
|
7307
|
-
/* ─── Collapse/expand animation (
|
|
7308
|
-
|
|
7309
|
-
intrinsic
|
|
7310
|
-
--motion-duration-view
|
|
7311
|
-
.muka-progress-
|
|
7309
|
+
/* ─── Collapse/expand animation (any expandable step) ──────
|
|
7310
|
+
Animates grid-template-rows 1fr ↔ 0fr so the panel (slot + actions) grows and
|
|
7311
|
+
shrinks to its intrinsic height. Opacity fades with the same duration.
|
|
7312
|
+
Under prefers-reduced-motion, --motion-duration-view is 0ms. */
|
|
7313
|
+
.muka-progress-accordeon__panel-wrapper {
|
|
7312
7314
|
display: grid;
|
|
7313
7315
|
grid-template-rows: 1fr;
|
|
7314
|
-
|
|
7316
|
+
opacity: 1;
|
|
7317
|
+
transition:
|
|
7318
|
+
grid-template-rows var(--motion-duration-view) var(--motion-easing-enter),
|
|
7319
|
+
opacity var(--motion-duration-view) var(--motion-easing-enter);
|
|
7315
7320
|
}
|
|
7316
7321
|
|
|
7317
|
-
.muka-progress-
|
|
7322
|
+
.muka-progress-accordeon__panel-wrapper--collapsed {
|
|
7318
7323
|
grid-template-rows: 0fr;
|
|
7324
|
+
opacity: 0;
|
|
7325
|
+
transition:
|
|
7326
|
+
grid-template-rows var(--motion-duration-view) var(--motion-easing-exit),
|
|
7327
|
+
opacity calc(var(--motion-duration-view) * 0.6) var(--motion-easing-exit);
|
|
7319
7328
|
}
|
|
7320
7329
|
|
|
7321
7330
|
/* The direct grid child clips and must have NO padding/border of its own —
|
|
7322
7331
|
min-height:0 lets it shrink, and with no padding the 0fr track reaches a true
|
|
7323
7332
|
0 height (padding on the item would leave a residual gap when collapsed). */
|
|
7324
|
-
.muka-progress-
|
|
7333
|
+
.muka-progress-accordeon__panel-clip {
|
|
7325
7334
|
overflow: hidden;
|
|
7326
7335
|
min-height: 0;
|
|
7327
7336
|
}
|
|
7328
7337
|
|
|
7329
|
-
/*
|
|
7330
|
-
|
|
7331
|
-
.muka-progress-
|
|
7338
|
+
/* Header↔content spacing + slot/actions gap live inside the clip so they
|
|
7339
|
+
collapse together with the panel. */
|
|
7340
|
+
.muka-progress-accordeon__panel {
|
|
7341
|
+
display: flex;
|
|
7342
|
+
flex-direction: column;
|
|
7343
|
+
align-items: stretch;
|
|
7344
|
+
gap: var(--spacing-6);
|
|
7332
7345
|
padding-top: var(--spacing-4);
|
|
7346
|
+
width: 100%;
|
|
7333
7347
|
}
|
|
7334
7348
|
|
|
7335
7349
|
/* ─── Action buttons (current state) ─────────────────────── */
|
|
@@ -7623,34 +7637,100 @@ body {
|
|
|
7623
7637
|
}
|
|
7624
7638
|
|
|
7625
7639
|
|
|
7626
|
-
/*
|
|
7627
|
-
/*
|
|
7628
|
-
|
|
7629
|
-
.muka-popover__content {
|
|
7630
|
-
background-color: var(--color-surface-level3);
|
|
7631
|
-
border: var(--border-width-regular) solid var(--color-border-default);
|
|
7632
|
-
border-radius: var(--radius-md);
|
|
7633
|
-
padding: var(--spacing-4);
|
|
7634
|
-
box-shadow: var(--shadow-level3);
|
|
7635
|
-
max-width: 20rem;
|
|
7636
|
-
z-index: 50;
|
|
7637
|
-
animation: muka-popover-fade-in 150ms ease;
|
|
7638
|
-
}
|
|
7640
|
+
/* PriceTag */
|
|
7641
|
+
/* PriceTag Component Styles - Using Muka Design Tokens */
|
|
7639
7642
|
|
|
7640
|
-
|
|
7641
|
-
|
|
7642
|
-
|
|
7643
|
-
transform: scale(0.96);
|
|
7644
|
-
}
|
|
7645
|
-
to {
|
|
7646
|
-
opacity: 1;
|
|
7647
|
-
transform: scale(1);
|
|
7648
|
-
}
|
|
7643
|
+
.muka-price-tag {
|
|
7644
|
+
display: flex;
|
|
7645
|
+
flex-shrink: 0;
|
|
7649
7646
|
}
|
|
7650
7647
|
|
|
7651
|
-
/*
|
|
7652
|
-
.muka-
|
|
7653
|
-
|
|
7648
|
+
/* Medium: stacked layout (price on top, unit below) */
|
|
7649
|
+
.muka-price-tag--md {
|
|
7650
|
+
flex-direction: column;
|
|
7651
|
+
align-items: flex-end;
|
|
7652
|
+
justify-content: center;
|
|
7653
|
+
}
|
|
7654
|
+
|
|
7655
|
+
/* Small: inline layout */
|
|
7656
|
+
.muka-price-tag--sm {
|
|
7657
|
+
flex-direction: row;
|
|
7658
|
+
align-items: center;
|
|
7659
|
+
gap: 3px;
|
|
7660
|
+
}
|
|
7661
|
+
|
|
7662
|
+
/* Amount row: currency + numbers */
|
|
7663
|
+
.muka-price-tag__amount {
|
|
7664
|
+
display: flex;
|
|
7665
|
+
align-items: flex-start;
|
|
7666
|
+
gap: var(--spacing-1);
|
|
7667
|
+
}
|
|
7668
|
+
|
|
7669
|
+
.muka-price-tag--sm .muka-price-tag__amount {
|
|
7670
|
+
align-items: center;
|
|
7671
|
+
}
|
|
7672
|
+
|
|
7673
|
+
/* Numbers group: whole + decimal + cents */
|
|
7674
|
+
.muka-price-tag__numbers {
|
|
7675
|
+
display: flex;
|
|
7676
|
+
align-items: baseline;
|
|
7677
|
+
}
|
|
7678
|
+
|
|
7679
|
+
/* ─── Medium size typography ──────────────────────────── */
|
|
7680
|
+
|
|
7681
|
+
.muka-price-tag--md .muka-price-tag__currency {
|
|
7682
|
+
font-family: var(--text-subheading-md-fontFamily);
|
|
7683
|
+
font-weight: var(--text-subheading-md-fontWeight);
|
|
7684
|
+
font-size: var(--text-subheading-md-fontSize);
|
|
7685
|
+
line-height: var(--text-label-2xl-bold-lineHeight);
|
|
7686
|
+
color: var(--color-text-subtle-default);
|
|
7687
|
+
}
|
|
7688
|
+
|
|
7689
|
+
.muka-price-tag--md .muka-price-tag__whole {
|
|
7690
|
+
font-family: var(--text-label-2xl-bold-fontFamily);
|
|
7691
|
+
font-weight: var(--text-label-2xl-bold-fontWeight);
|
|
7692
|
+
font-size: var(--text-label-2xl-bold-fontSize);
|
|
7693
|
+
line-height: var(--text-label-2xl-bold-lineHeight);
|
|
7694
|
+
color: var(--color-text-default-default);
|
|
7695
|
+
}
|
|
7696
|
+
|
|
7697
|
+
.muka-price-tag--md .muka-price-tag__decimal,
|
|
7698
|
+
.muka-price-tag--md .muka-price-tag__cents {
|
|
7699
|
+
font-family: var(--text-label-md-bold-fontFamily);
|
|
7700
|
+
font-weight: var(--text-label-md-bold-fontWeight);
|
|
7701
|
+
font-size: var(--text-label-md-bold-fontSize);
|
|
7702
|
+
line-height: var(--text-label-md-bold-lineHeight);
|
|
7703
|
+
color: var(--color-text-default-default);
|
|
7704
|
+
}
|
|
7705
|
+
|
|
7706
|
+
/* ─── Small size typography ───────────────────────────── */
|
|
7707
|
+
|
|
7708
|
+
.muka-price-tag--sm .muka-price-tag__currency {
|
|
7709
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
7710
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
7711
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
7712
|
+
line-height: var(--text-label-md-bold-lineHeight);
|
|
7713
|
+
color: var(--color-text-subtle-default);
|
|
7714
|
+
}
|
|
7715
|
+
|
|
7716
|
+
.muka-price-tag--sm .muka-price-tag__whole,
|
|
7717
|
+
.muka-price-tag--sm .muka-price-tag__decimal,
|
|
7718
|
+
.muka-price-tag--sm .muka-price-tag__cents {
|
|
7719
|
+
font-family: var(--text-label-md-bold-fontFamily);
|
|
7720
|
+
font-weight: var(--text-label-md-bold-fontWeight);
|
|
7721
|
+
font-size: var(--text-label-md-bold-fontSize);
|
|
7722
|
+
line-height: var(--text-label-md-bold-lineHeight);
|
|
7723
|
+
color: var(--color-text-default-default);
|
|
7724
|
+
}
|
|
7725
|
+
|
|
7726
|
+
/* ─── Unit label (same for both sizes) ────────────────── */
|
|
7727
|
+
|
|
7728
|
+
.muka-price-tag__unit {
|
|
7729
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
7730
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
7731
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
7732
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
7733
|
+
color: var(--color-text-subtle-default);
|
|
7654
7734
|
}
|
|
7655
7735
|
|
|
7656
7736
|
|
|
@@ -7751,6 +7831,37 @@ body {
|
|
|
7751
7831
|
}
|
|
7752
7832
|
|
|
7753
7833
|
|
|
7834
|
+
/* Popover */
|
|
7835
|
+
/* Popover Component Styles */
|
|
7836
|
+
|
|
7837
|
+
.muka-popover__content {
|
|
7838
|
+
background-color: var(--color-surface-level3);
|
|
7839
|
+
border: var(--border-width-regular) solid var(--color-border-default);
|
|
7840
|
+
border-radius: var(--radius-md);
|
|
7841
|
+
padding: var(--spacing-4);
|
|
7842
|
+
box-shadow: var(--shadow-level3);
|
|
7843
|
+
max-width: 20rem;
|
|
7844
|
+
z-index: 50;
|
|
7845
|
+
animation: muka-popover-fade-in 150ms ease;
|
|
7846
|
+
}
|
|
7847
|
+
|
|
7848
|
+
@keyframes muka-popover-fade-in {
|
|
7849
|
+
from {
|
|
7850
|
+
opacity: 0;
|
|
7851
|
+
transform: scale(0.96);
|
|
7852
|
+
}
|
|
7853
|
+
to {
|
|
7854
|
+
opacity: 1;
|
|
7855
|
+
transform: scale(1);
|
|
7856
|
+
}
|
|
7857
|
+
}
|
|
7858
|
+
|
|
7859
|
+
/* Arrow */
|
|
7860
|
+
.muka-popover__arrow {
|
|
7861
|
+
fill: var(--color-surface-level3);
|
|
7862
|
+
}
|
|
7863
|
+
|
|
7864
|
+
|
|
7754
7865
|
/* PhotoUploader */
|
|
7755
7866
|
/* PhotoUploader Component Styles - Using Muka Design Tokens */
|
|
7756
7867
|
|
|
@@ -7796,7 +7907,7 @@ body {
|
|
|
7796
7907
|
padding: 0;
|
|
7797
7908
|
}
|
|
7798
7909
|
|
|
7799
|
-
/* ─── Drop zone card
|
|
7910
|
+
/* ─── Drop zone card (button + "or drop here") ────────── */
|
|
7800
7911
|
.muka-photo-uploader__dropzone {
|
|
7801
7912
|
display: flex;
|
|
7802
7913
|
flex-direction: column;
|
|
@@ -7820,24 +7931,12 @@ body {
|
|
|
7820
7931
|
background-color: var(--color-surface-level1);
|
|
7821
7932
|
}
|
|
7822
7933
|
|
|
7823
|
-
.muka-photo-uploader__dropzone:focus-visible {
|
|
7824
|
-
outline: 2px solid var(--color-border-focus);
|
|
7825
|
-
outline-offset: 2px;
|
|
7826
|
-
}
|
|
7827
|
-
|
|
7828
|
-
.muka-photo-uploader__dropzone-icon {
|
|
7829
|
-
display: flex;
|
|
7830
|
-
align-items: center;
|
|
7831
|
-
justify-content: center;
|
|
7832
|
-
color: var(--color-icon-subtle-default);
|
|
7833
|
-
}
|
|
7834
|
-
|
|
7835
7934
|
.muka-photo-uploader__dropzone-text {
|
|
7836
|
-
font-family: var(--text-
|
|
7837
|
-
font-size: var(--text-
|
|
7838
|
-
font-weight: var(--text-
|
|
7839
|
-
line-height: var(--text-
|
|
7840
|
-
color: var(--color-text-
|
|
7935
|
+
font-family: var(--text-subheading-sm-fontFamily);
|
|
7936
|
+
font-size: var(--text-subheading-sm-fontSize);
|
|
7937
|
+
font-weight: var(--text-subheading-sm-fontWeight);
|
|
7938
|
+
line-height: var(--text-subheading-sm-lineHeight);
|
|
7939
|
+
color: var(--color-text-default-default);
|
|
7841
7940
|
}
|
|
7842
7941
|
|
|
7843
7942
|
/* ─── Disabled ────────────────────────────────────────── */
|
|
@@ -7879,103 +7978,6 @@ body {
|
|
|
7879
7978
|
}
|
|
7880
7979
|
|
|
7881
7980
|
|
|
7882
|
-
/* PriceTag */
|
|
7883
|
-
/* PriceTag Component Styles - Using Muka Design Tokens */
|
|
7884
|
-
|
|
7885
|
-
.muka-price-tag {
|
|
7886
|
-
display: flex;
|
|
7887
|
-
flex-shrink: 0;
|
|
7888
|
-
}
|
|
7889
|
-
|
|
7890
|
-
/* Medium: stacked layout (price on top, unit below) */
|
|
7891
|
-
.muka-price-tag--md {
|
|
7892
|
-
flex-direction: column;
|
|
7893
|
-
align-items: flex-end;
|
|
7894
|
-
justify-content: center;
|
|
7895
|
-
}
|
|
7896
|
-
|
|
7897
|
-
/* Small: inline layout */
|
|
7898
|
-
.muka-price-tag--sm {
|
|
7899
|
-
flex-direction: row;
|
|
7900
|
-
align-items: center;
|
|
7901
|
-
gap: 3px;
|
|
7902
|
-
}
|
|
7903
|
-
|
|
7904
|
-
/* Amount row: currency + numbers */
|
|
7905
|
-
.muka-price-tag__amount {
|
|
7906
|
-
display: flex;
|
|
7907
|
-
align-items: flex-start;
|
|
7908
|
-
gap: var(--spacing-1);
|
|
7909
|
-
}
|
|
7910
|
-
|
|
7911
|
-
.muka-price-tag--sm .muka-price-tag__amount {
|
|
7912
|
-
align-items: center;
|
|
7913
|
-
}
|
|
7914
|
-
|
|
7915
|
-
/* Numbers group: whole + decimal + cents */
|
|
7916
|
-
.muka-price-tag__numbers {
|
|
7917
|
-
display: flex;
|
|
7918
|
-
align-items: baseline;
|
|
7919
|
-
}
|
|
7920
|
-
|
|
7921
|
-
/* ─── Medium size typography ──────────────────────────── */
|
|
7922
|
-
|
|
7923
|
-
.muka-price-tag--md .muka-price-tag__currency {
|
|
7924
|
-
font-family: var(--text-subheading-md-fontFamily);
|
|
7925
|
-
font-weight: var(--text-subheading-md-fontWeight);
|
|
7926
|
-
font-size: var(--text-subheading-md-fontSize);
|
|
7927
|
-
line-height: var(--text-label-2xl-bold-lineHeight);
|
|
7928
|
-
color: var(--color-text-subtle-default);
|
|
7929
|
-
}
|
|
7930
|
-
|
|
7931
|
-
.muka-price-tag--md .muka-price-tag__whole {
|
|
7932
|
-
font-family: var(--text-label-2xl-bold-fontFamily);
|
|
7933
|
-
font-weight: var(--text-label-2xl-bold-fontWeight);
|
|
7934
|
-
font-size: var(--text-label-2xl-bold-fontSize);
|
|
7935
|
-
line-height: var(--text-label-2xl-bold-lineHeight);
|
|
7936
|
-
color: var(--color-text-default-default);
|
|
7937
|
-
}
|
|
7938
|
-
|
|
7939
|
-
.muka-price-tag--md .muka-price-tag__decimal,
|
|
7940
|
-
.muka-price-tag--md .muka-price-tag__cents {
|
|
7941
|
-
font-family: var(--text-label-md-bold-fontFamily);
|
|
7942
|
-
font-weight: var(--text-label-md-bold-fontWeight);
|
|
7943
|
-
font-size: var(--text-label-md-bold-fontSize);
|
|
7944
|
-
line-height: var(--text-label-md-bold-lineHeight);
|
|
7945
|
-
color: var(--color-text-default-default);
|
|
7946
|
-
}
|
|
7947
|
-
|
|
7948
|
-
/* ─── Small size typography ───────────────────────────── */
|
|
7949
|
-
|
|
7950
|
-
.muka-price-tag--sm .muka-price-tag__currency {
|
|
7951
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
7952
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
7953
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
7954
|
-
line-height: var(--text-label-md-bold-lineHeight);
|
|
7955
|
-
color: var(--color-text-subtle-default);
|
|
7956
|
-
}
|
|
7957
|
-
|
|
7958
|
-
.muka-price-tag--sm .muka-price-tag__whole,
|
|
7959
|
-
.muka-price-tag--sm .muka-price-tag__decimal,
|
|
7960
|
-
.muka-price-tag--sm .muka-price-tag__cents {
|
|
7961
|
-
font-family: var(--text-label-md-bold-fontFamily);
|
|
7962
|
-
font-weight: var(--text-label-md-bold-fontWeight);
|
|
7963
|
-
font-size: var(--text-label-md-bold-fontSize);
|
|
7964
|
-
line-height: var(--text-label-md-bold-lineHeight);
|
|
7965
|
-
color: var(--color-text-default-default);
|
|
7966
|
-
}
|
|
7967
|
-
|
|
7968
|
-
/* ─── Unit label (same for both sizes) ────────────────── */
|
|
7969
|
-
|
|
7970
|
-
.muka-price-tag__unit {
|
|
7971
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
7972
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
7973
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
7974
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
7975
|
-
color: var(--color-text-subtle-default);
|
|
7976
|
-
}
|
|
7977
|
-
|
|
7978
|
-
|
|
7979
7981
|
/* PhotoDraftStrip */
|
|
7980
7982
|
/* PhotoDraftStrip Component Styles */
|
|
7981
7983
|
|
|
@@ -8138,27 +8140,55 @@ body {
|
|
|
8138
8140
|
}
|
|
8139
8141
|
|
|
8140
8142
|
|
|
8141
|
-
/*
|
|
8142
|
-
/*
|
|
8143
|
+
/* NavigationTransition */
|
|
8144
|
+
/* NavigationTransition Component Styles */
|
|
8143
8145
|
|
|
8144
|
-
/* ───
|
|
8146
|
+
/* ─── Wrapper ────────────────────────────────────────── */
|
|
8145
8147
|
|
|
8146
|
-
.muka-
|
|
8147
|
-
|
|
8148
|
-
|
|
8149
|
-
min-width: var(--menu-content-min-width);
|
|
8150
|
-
max-height: var(--menu-content-max-height);
|
|
8148
|
+
.muka-nav-transition {
|
|
8149
|
+
position: relative;
|
|
8150
|
+
height: 100vh;
|
|
8151
8151
|
overflow: hidden;
|
|
8152
|
-
|
|
8153
|
-
border: var(--menu-content-border-width) solid var(--menu-content-color-border);
|
|
8154
|
-
border-radius: var(--menu-content-border-radius);
|
|
8155
|
-
box-shadow: var(--menu-content-shadow);
|
|
8156
|
-
padding: 0;
|
|
8157
|
-
z-index: 50;
|
|
8152
|
+
}
|
|
8158
8153
|
|
|
8159
|
-
|
|
8160
|
-
|
|
8161
|
-
|
|
8154
|
+
/* Disable interaction during animation */
|
|
8155
|
+
.muka-nav-transition--active {
|
|
8156
|
+
pointer-events: none;
|
|
8157
|
+
}
|
|
8158
|
+
|
|
8159
|
+
/* ─── View slots ─────────────────────────────────────── */
|
|
8160
|
+
|
|
8161
|
+
.muka-nav-transition--active .muka-nav-transition__view {
|
|
8162
|
+
position: absolute;
|
|
8163
|
+
inset: 0;
|
|
8164
|
+
}
|
|
8165
|
+
|
|
8166
|
+
/* Z-index layering */
|
|
8167
|
+
.muka-nav-transition__view--bottom { z-index: 1; }
|
|
8168
|
+
.muka-nav-transition__view--top { z-index: 2; }
|
|
8169
|
+
|
|
8170
|
+
|
|
8171
|
+
/* Menu */
|
|
8172
|
+
/* Menu Component Styles */
|
|
8173
|
+
|
|
8174
|
+
/* ─── Content Container ──────────────────────────────────────────────────── */
|
|
8175
|
+
|
|
8176
|
+
.muka-menu__content {
|
|
8177
|
+
display: flex;
|
|
8178
|
+
flex-direction: column;
|
|
8179
|
+
min-width: var(--menu-content-min-width);
|
|
8180
|
+
max-height: var(--menu-content-max-height);
|
|
8181
|
+
overflow: hidden;
|
|
8182
|
+
background-color: var(--menu-content-color-background);
|
|
8183
|
+
border: var(--menu-content-border-width) solid var(--menu-content-color-border);
|
|
8184
|
+
border-radius: var(--menu-content-border-radius);
|
|
8185
|
+
box-shadow: var(--menu-content-shadow);
|
|
8186
|
+
padding: 0;
|
|
8187
|
+
z-index: 50;
|
|
8188
|
+
|
|
8189
|
+
/* Animation */
|
|
8190
|
+
animation-duration: 150ms;
|
|
8191
|
+
animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
|
|
8162
8192
|
}
|
|
8163
8193
|
|
|
8164
8194
|
.muka-menu__body {
|
|
@@ -8803,34 +8833,6 @@ body {
|
|
|
8803
8833
|
}
|
|
8804
8834
|
|
|
8805
8835
|
|
|
8806
|
-
/* NavigationTransition */
|
|
8807
|
-
/* NavigationTransition Component Styles */
|
|
8808
|
-
|
|
8809
|
-
/* ─── Wrapper ────────────────────────────────────────── */
|
|
8810
|
-
|
|
8811
|
-
.muka-nav-transition {
|
|
8812
|
-
position: relative;
|
|
8813
|
-
height: 100vh;
|
|
8814
|
-
overflow: hidden;
|
|
8815
|
-
}
|
|
8816
|
-
|
|
8817
|
-
/* Disable interaction during animation */
|
|
8818
|
-
.muka-nav-transition--active {
|
|
8819
|
-
pointer-events: none;
|
|
8820
|
-
}
|
|
8821
|
-
|
|
8822
|
-
/* ─── View slots ─────────────────────────────────────── */
|
|
8823
|
-
|
|
8824
|
-
.muka-nav-transition--active .muka-nav-transition__view {
|
|
8825
|
-
position: absolute;
|
|
8826
|
-
inset: 0;
|
|
8827
|
-
}
|
|
8828
|
-
|
|
8829
|
-
/* Z-index layering */
|
|
8830
|
-
.muka-nav-transition__view--bottom { z-index: 1; }
|
|
8831
|
-
.muka-nav-transition__view--top { z-index: 2; }
|
|
8832
|
-
|
|
8833
|
-
|
|
8834
8836
|
/* ListItem */
|
|
8835
8837
|
/* ListItem Component Styles - Using Muka Design Tokens */
|
|
8836
8838
|
|
|
@@ -9025,6 +9027,199 @@ li.muka-listitem {
|
|
|
9025
9027
|
}
|
|
9026
9028
|
|
|
9027
9029
|
|
|
9030
|
+
/* LicensePlateInput */
|
|
9031
|
+
/* LicensePlateInput — Dutch RDW-style plate input
|
|
9032
|
+
*
|
|
9033
|
+
* Plate body colors are regulatory (EU/NL) and intentionally fixed:
|
|
9034
|
+
* - Plate yellow: #F0CE3D
|
|
9035
|
+
* - EU strip blue: #003399
|
|
9036
|
+
* - EU stars yellow: #FFCC00
|
|
9037
|
+
* - Plate text: #1A1A1A
|
|
9038
|
+
*
|
|
9039
|
+
* All surrounding UI (label, helper, focus ring, error border) uses Muka tokens.
|
|
9040
|
+
*/
|
|
9041
|
+
|
|
9042
|
+
.muka-license-plate-input {
|
|
9043
|
+
--plate-yellow: #f0ce3d;
|
|
9044
|
+
--plate-blue: #003399;
|
|
9045
|
+
--plate-text: #1a1a1a;
|
|
9046
|
+
--plate-stars: #ffcc00;
|
|
9047
|
+
|
|
9048
|
+
display: inline-flex;
|
|
9049
|
+
flex-direction: column;
|
|
9050
|
+
gap: var(--spacing-2);
|
|
9051
|
+
}
|
|
9052
|
+
|
|
9053
|
+
/* Plate body */
|
|
9054
|
+
.muka-license-plate-input__plate {
|
|
9055
|
+
display: inline-flex;
|
|
9056
|
+
align-items: stretch;
|
|
9057
|
+
background-color: var(--plate-yellow);
|
|
9058
|
+
border-radius: var(--input-field-radius-md);
|
|
9059
|
+
cursor: text;
|
|
9060
|
+
position: relative;
|
|
9061
|
+
overflow: hidden;
|
|
9062
|
+
box-sizing: border-box;
|
|
9063
|
+
/* Subtle outline to lift the plate from light backgrounds */
|
|
9064
|
+
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
|
|
9065
|
+
/* Reserve space for the focus / error solid ring without shifting layout */
|
|
9066
|
+
outline: 3px solid transparent;
|
|
9067
|
+
outline-offset: 2px;
|
|
9068
|
+
transition: outline-color 0.15s ease, opacity 0.15s ease;
|
|
9069
|
+
}
|
|
9070
|
+
|
|
9071
|
+
/* Size variants — plate aspect echoes the real RDW plate (~5:1) */
|
|
9072
|
+
.muka-license-plate-input__plate--sm {
|
|
9073
|
+
height: 44px;
|
|
9074
|
+
min-width: 220px;
|
|
9075
|
+
border-radius: var(--input-field-radius-sm);
|
|
9076
|
+
}
|
|
9077
|
+
|
|
9078
|
+
.muka-license-plate-input__plate--md {
|
|
9079
|
+
height: 60px;
|
|
9080
|
+
min-width: 300px;
|
|
9081
|
+
border-radius: var(--input-field-radius-md);
|
|
9082
|
+
}
|
|
9083
|
+
|
|
9084
|
+
.muka-license-plate-input__plate--lg {
|
|
9085
|
+
height: 80px;
|
|
9086
|
+
min-width: 400px;
|
|
9087
|
+
border-radius: var(--input-field-radius-lg);
|
|
9088
|
+
}
|
|
9089
|
+
|
|
9090
|
+
/* Focus — solid outline ring */
|
|
9091
|
+
.muka-license-plate-input__plate--focused:not(.muka-license-plate-input__plate--disabled) {
|
|
9092
|
+
outline-color: var(--input-field-color-focus-border);
|
|
9093
|
+
}
|
|
9094
|
+
|
|
9095
|
+
/* Error — solid outline ring in error color */
|
|
9096
|
+
.muka-license-plate-input__plate--error:not(.muka-license-plate-input__plate--disabled) {
|
|
9097
|
+
outline-color: var(--input-field-color-error-border);
|
|
9098
|
+
}
|
|
9099
|
+
|
|
9100
|
+
/* Disabled */
|
|
9101
|
+
.muka-license-plate-input__plate--disabled {
|
|
9102
|
+
cursor: not-allowed;
|
|
9103
|
+
opacity: 0.55;
|
|
9104
|
+
}
|
|
9105
|
+
|
|
9106
|
+
/* EU strip */
|
|
9107
|
+
.muka-license-plate-input__eu-strip {
|
|
9108
|
+
display: inline-flex;
|
|
9109
|
+
flex-direction: column;
|
|
9110
|
+
align-items: center;
|
|
9111
|
+
justify-content: center;
|
|
9112
|
+
background-color: var(--plate-blue);
|
|
9113
|
+
color: #ffffff;
|
|
9114
|
+
flex-shrink: 0;
|
|
9115
|
+
padding: 0 0.4em;
|
|
9116
|
+
gap: 0.15em;
|
|
9117
|
+
/* Strip width scales with plate height for a consistent ratio */
|
|
9118
|
+
width: 14%;
|
|
9119
|
+
min-width: 36px;
|
|
9120
|
+
}
|
|
9121
|
+
|
|
9122
|
+
.muka-license-plate-input__eu-stars {
|
|
9123
|
+
width: 60%;
|
|
9124
|
+
max-width: 28px;
|
|
9125
|
+
aspect-ratio: 1 / 1;
|
|
9126
|
+
display: block;
|
|
9127
|
+
}
|
|
9128
|
+
|
|
9129
|
+
.muka-license-plate-input__plate--sm .muka-license-plate-input__eu-stars {
|
|
9130
|
+
max-width: 20px;
|
|
9131
|
+
}
|
|
9132
|
+
|
|
9133
|
+
.muka-license-plate-input__plate--lg .muka-license-plate-input__eu-stars {
|
|
9134
|
+
max-width: 36px;
|
|
9135
|
+
}
|
|
9136
|
+
|
|
9137
|
+
.muka-license-plate-input__country-code {
|
|
9138
|
+
font-family:
|
|
9139
|
+
'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
9140
|
+
font-weight: 700;
|
|
9141
|
+
letter-spacing: 0.04em;
|
|
9142
|
+
line-height: 1;
|
|
9143
|
+
color: #ffffff;
|
|
9144
|
+
}
|
|
9145
|
+
|
|
9146
|
+
.muka-license-plate-input__plate--sm .muka-license-plate-input__country-code {
|
|
9147
|
+
font-size: 10px;
|
|
9148
|
+
}
|
|
9149
|
+
|
|
9150
|
+
.muka-license-plate-input__plate--md .muka-license-plate-input__country-code {
|
|
9151
|
+
font-size: 13px;
|
|
9152
|
+
}
|
|
9153
|
+
|
|
9154
|
+
.muka-license-plate-input__plate--lg .muka-license-plate-input__country-code {
|
|
9155
|
+
font-size: 16px;
|
|
9156
|
+
}
|
|
9157
|
+
|
|
9158
|
+
/* Native input */
|
|
9159
|
+
.muka-license-plate-input__native {
|
|
9160
|
+
flex: 1;
|
|
9161
|
+
min-width: 0;
|
|
9162
|
+
border: none;
|
|
9163
|
+
outline: none;
|
|
9164
|
+
background: transparent;
|
|
9165
|
+
color: var(--plate-text);
|
|
9166
|
+
text-align: center;
|
|
9167
|
+
text-transform: uppercase;
|
|
9168
|
+
letter-spacing: 0.06em;
|
|
9169
|
+
/* Plate font — bold condensed sans is closest to the FE-Schrift look without
|
|
9170
|
+
shipping a custom font. JetBrains Mono is the system mono brand font. */
|
|
9171
|
+
font-family:
|
|
9172
|
+
'Arial Narrow', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
9173
|
+
font-weight: 800;
|
|
9174
|
+
padding: 0 0.5em;
|
|
9175
|
+
width: 100%;
|
|
9176
|
+
caret-color: var(--plate-text);
|
|
9177
|
+
}
|
|
9178
|
+
|
|
9179
|
+
.muka-license-plate-input__plate--sm .muka-license-plate-input__native {
|
|
9180
|
+
font-size: 22px;
|
|
9181
|
+
}
|
|
9182
|
+
|
|
9183
|
+
.muka-license-plate-input__plate--md .muka-license-plate-input__native {
|
|
9184
|
+
font-size: 30px;
|
|
9185
|
+
}
|
|
9186
|
+
|
|
9187
|
+
.muka-license-plate-input__plate--lg .muka-license-plate-input__native {
|
|
9188
|
+
font-size: 42px;
|
|
9189
|
+
}
|
|
9190
|
+
|
|
9191
|
+
.muka-license-plate-input__native::placeholder {
|
|
9192
|
+
color: var(--plate-text);
|
|
9193
|
+
opacity: 0.55;
|
|
9194
|
+
font-weight: 700;
|
|
9195
|
+
letter-spacing: 0.08em;
|
|
9196
|
+
}
|
|
9197
|
+
|
|
9198
|
+
.muka-license-plate-input__plate--disabled .muka-license-plate-input__native {
|
|
9199
|
+
cursor: not-allowed;
|
|
9200
|
+
}
|
|
9201
|
+
|
|
9202
|
+
/* Helper text */
|
|
9203
|
+
.muka-license-plate-input__helper {
|
|
9204
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
9205
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
9206
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
9207
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
9208
|
+
color: var(--color-text-subtle-default);
|
|
9209
|
+
margin: 0;
|
|
9210
|
+
}
|
|
9211
|
+
|
|
9212
|
+
/* Error message */
|
|
9213
|
+
.muka-license-plate-input__error {
|
|
9214
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
9215
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
9216
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
9217
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
9218
|
+
color: var(--color-state-error-default);
|
|
9219
|
+
margin: 0;
|
|
9220
|
+
}
|
|
9221
|
+
|
|
9222
|
+
|
|
9028
9223
|
/* Label */
|
|
9029
9224
|
/* Label Component Styles - Using Muka Design Tokens */
|
|
9030
9225
|
|
|
@@ -9244,199 +9439,6 @@ li.muka-listitem {
|
|
|
9244
9439
|
}
|
|
9245
9440
|
|
|
9246
9441
|
|
|
9247
|
-
/* LicensePlateInput */
|
|
9248
|
-
/* LicensePlateInput — Dutch RDW-style plate input
|
|
9249
|
-
*
|
|
9250
|
-
* Plate body colors are regulatory (EU/NL) and intentionally fixed:
|
|
9251
|
-
* - Plate yellow: #F0CE3D
|
|
9252
|
-
* - EU strip blue: #003399
|
|
9253
|
-
* - EU stars yellow: #FFCC00
|
|
9254
|
-
* - Plate text: #1A1A1A
|
|
9255
|
-
*
|
|
9256
|
-
* All surrounding UI (label, helper, focus ring, error border) uses Muka tokens.
|
|
9257
|
-
*/
|
|
9258
|
-
|
|
9259
|
-
.muka-license-plate-input {
|
|
9260
|
-
--plate-yellow: #f0ce3d;
|
|
9261
|
-
--plate-blue: #003399;
|
|
9262
|
-
--plate-text: #1a1a1a;
|
|
9263
|
-
--plate-stars: #ffcc00;
|
|
9264
|
-
|
|
9265
|
-
display: inline-flex;
|
|
9266
|
-
flex-direction: column;
|
|
9267
|
-
gap: var(--spacing-2);
|
|
9268
|
-
}
|
|
9269
|
-
|
|
9270
|
-
/* Plate body */
|
|
9271
|
-
.muka-license-plate-input__plate {
|
|
9272
|
-
display: inline-flex;
|
|
9273
|
-
align-items: stretch;
|
|
9274
|
-
background-color: var(--plate-yellow);
|
|
9275
|
-
border-radius: var(--input-field-radius-md);
|
|
9276
|
-
cursor: text;
|
|
9277
|
-
position: relative;
|
|
9278
|
-
overflow: hidden;
|
|
9279
|
-
box-sizing: border-box;
|
|
9280
|
-
/* Subtle outline to lift the plate from light backgrounds */
|
|
9281
|
-
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
|
|
9282
|
-
/* Reserve space for the focus / error solid ring without shifting layout */
|
|
9283
|
-
outline: 3px solid transparent;
|
|
9284
|
-
outline-offset: 2px;
|
|
9285
|
-
transition: outline-color 0.15s ease, opacity 0.15s ease;
|
|
9286
|
-
}
|
|
9287
|
-
|
|
9288
|
-
/* Size variants — plate aspect echoes the real RDW plate (~5:1) */
|
|
9289
|
-
.muka-license-plate-input__plate--sm {
|
|
9290
|
-
height: 44px;
|
|
9291
|
-
min-width: 220px;
|
|
9292
|
-
border-radius: var(--input-field-radius-sm);
|
|
9293
|
-
}
|
|
9294
|
-
|
|
9295
|
-
.muka-license-plate-input__plate--md {
|
|
9296
|
-
height: 60px;
|
|
9297
|
-
min-width: 300px;
|
|
9298
|
-
border-radius: var(--input-field-radius-md);
|
|
9299
|
-
}
|
|
9300
|
-
|
|
9301
|
-
.muka-license-plate-input__plate--lg {
|
|
9302
|
-
height: 80px;
|
|
9303
|
-
min-width: 400px;
|
|
9304
|
-
border-radius: var(--input-field-radius-lg);
|
|
9305
|
-
}
|
|
9306
|
-
|
|
9307
|
-
/* Focus — solid outline ring */
|
|
9308
|
-
.muka-license-plate-input__plate--focused:not(.muka-license-plate-input__plate--disabled) {
|
|
9309
|
-
outline-color: var(--input-field-color-focus-border);
|
|
9310
|
-
}
|
|
9311
|
-
|
|
9312
|
-
/* Error — solid outline ring in error color */
|
|
9313
|
-
.muka-license-plate-input__plate--error:not(.muka-license-plate-input__plate--disabled) {
|
|
9314
|
-
outline-color: var(--input-field-color-error-border);
|
|
9315
|
-
}
|
|
9316
|
-
|
|
9317
|
-
/* Disabled */
|
|
9318
|
-
.muka-license-plate-input__plate--disabled {
|
|
9319
|
-
cursor: not-allowed;
|
|
9320
|
-
opacity: 0.55;
|
|
9321
|
-
}
|
|
9322
|
-
|
|
9323
|
-
/* EU strip */
|
|
9324
|
-
.muka-license-plate-input__eu-strip {
|
|
9325
|
-
display: inline-flex;
|
|
9326
|
-
flex-direction: column;
|
|
9327
|
-
align-items: center;
|
|
9328
|
-
justify-content: center;
|
|
9329
|
-
background-color: var(--plate-blue);
|
|
9330
|
-
color: #ffffff;
|
|
9331
|
-
flex-shrink: 0;
|
|
9332
|
-
padding: 0 0.4em;
|
|
9333
|
-
gap: 0.15em;
|
|
9334
|
-
/* Strip width scales with plate height for a consistent ratio */
|
|
9335
|
-
width: 14%;
|
|
9336
|
-
min-width: 36px;
|
|
9337
|
-
}
|
|
9338
|
-
|
|
9339
|
-
.muka-license-plate-input__eu-stars {
|
|
9340
|
-
width: 60%;
|
|
9341
|
-
max-width: 28px;
|
|
9342
|
-
aspect-ratio: 1 / 1;
|
|
9343
|
-
display: block;
|
|
9344
|
-
}
|
|
9345
|
-
|
|
9346
|
-
.muka-license-plate-input__plate--sm .muka-license-plate-input__eu-stars {
|
|
9347
|
-
max-width: 20px;
|
|
9348
|
-
}
|
|
9349
|
-
|
|
9350
|
-
.muka-license-plate-input__plate--lg .muka-license-plate-input__eu-stars {
|
|
9351
|
-
max-width: 36px;
|
|
9352
|
-
}
|
|
9353
|
-
|
|
9354
|
-
.muka-license-plate-input__country-code {
|
|
9355
|
-
font-family:
|
|
9356
|
-
'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
9357
|
-
font-weight: 700;
|
|
9358
|
-
letter-spacing: 0.04em;
|
|
9359
|
-
line-height: 1;
|
|
9360
|
-
color: #ffffff;
|
|
9361
|
-
}
|
|
9362
|
-
|
|
9363
|
-
.muka-license-plate-input__plate--sm .muka-license-plate-input__country-code {
|
|
9364
|
-
font-size: 10px;
|
|
9365
|
-
}
|
|
9366
|
-
|
|
9367
|
-
.muka-license-plate-input__plate--md .muka-license-plate-input__country-code {
|
|
9368
|
-
font-size: 13px;
|
|
9369
|
-
}
|
|
9370
|
-
|
|
9371
|
-
.muka-license-plate-input__plate--lg .muka-license-plate-input__country-code {
|
|
9372
|
-
font-size: 16px;
|
|
9373
|
-
}
|
|
9374
|
-
|
|
9375
|
-
/* Native input */
|
|
9376
|
-
.muka-license-plate-input__native {
|
|
9377
|
-
flex: 1;
|
|
9378
|
-
min-width: 0;
|
|
9379
|
-
border: none;
|
|
9380
|
-
outline: none;
|
|
9381
|
-
background: transparent;
|
|
9382
|
-
color: var(--plate-text);
|
|
9383
|
-
text-align: center;
|
|
9384
|
-
text-transform: uppercase;
|
|
9385
|
-
letter-spacing: 0.06em;
|
|
9386
|
-
/* Plate font — bold condensed sans is closest to the FE-Schrift look without
|
|
9387
|
-
shipping a custom font. JetBrains Mono is the system mono brand font. */
|
|
9388
|
-
font-family:
|
|
9389
|
-
'Arial Narrow', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
9390
|
-
font-weight: 800;
|
|
9391
|
-
padding: 0 0.5em;
|
|
9392
|
-
width: 100%;
|
|
9393
|
-
caret-color: var(--plate-text);
|
|
9394
|
-
}
|
|
9395
|
-
|
|
9396
|
-
.muka-license-plate-input__plate--sm .muka-license-plate-input__native {
|
|
9397
|
-
font-size: 22px;
|
|
9398
|
-
}
|
|
9399
|
-
|
|
9400
|
-
.muka-license-plate-input__plate--md .muka-license-plate-input__native {
|
|
9401
|
-
font-size: 30px;
|
|
9402
|
-
}
|
|
9403
|
-
|
|
9404
|
-
.muka-license-plate-input__plate--lg .muka-license-plate-input__native {
|
|
9405
|
-
font-size: 42px;
|
|
9406
|
-
}
|
|
9407
|
-
|
|
9408
|
-
.muka-license-plate-input__native::placeholder {
|
|
9409
|
-
color: var(--plate-text);
|
|
9410
|
-
opacity: 0.55;
|
|
9411
|
-
font-weight: 700;
|
|
9412
|
-
letter-spacing: 0.08em;
|
|
9413
|
-
}
|
|
9414
|
-
|
|
9415
|
-
.muka-license-plate-input__plate--disabled .muka-license-plate-input__native {
|
|
9416
|
-
cursor: not-allowed;
|
|
9417
|
-
}
|
|
9418
|
-
|
|
9419
|
-
/* Helper text */
|
|
9420
|
-
.muka-license-plate-input__helper {
|
|
9421
|
-
font-family: var(--text-label-sm-regular-fontFamily);
|
|
9422
|
-
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
9423
|
-
font-size: var(--text-label-sm-regular-fontSize);
|
|
9424
|
-
line-height: var(--text-label-sm-regular-lineHeight);
|
|
9425
|
-
color: var(--color-text-subtle-default);
|
|
9426
|
-
margin: 0;
|
|
9427
|
-
}
|
|
9428
|
-
|
|
9429
|
-
/* Error message */
|
|
9430
|
-
.muka-license-plate-input__error {
|
|
9431
|
-
font-family: var(--text-label-sm-regular-fontFamily);
|
|
9432
|
-
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
9433
|
-
font-size: var(--text-label-sm-regular-fontSize);
|
|
9434
|
-
line-height: var(--text-label-sm-regular-lineHeight);
|
|
9435
|
-
color: var(--color-state-error-default);
|
|
9436
|
-
margin: 0;
|
|
9437
|
-
}
|
|
9438
|
-
|
|
9439
|
-
|
|
9440
9442
|
/* Input */
|
|
9441
9443
|
/* Input Component Styles - Using Muka Design Tokens */
|
|
9442
9444
|
|
|
@@ -9718,6 +9720,60 @@ li.muka-listitem {
|
|
|
9718
9720
|
}
|
|
9719
9721
|
|
|
9720
9722
|
|
|
9723
|
+
/* Icon */
|
|
9724
|
+
/* Icon Component Styles - Using Muka Design Tokens */
|
|
9725
|
+
|
|
9726
|
+
.muka-icon {
|
|
9727
|
+
display: inline-flex;
|
|
9728
|
+
align-items: center;
|
|
9729
|
+
justify-content: center;
|
|
9730
|
+
flex-shrink: 0;
|
|
9731
|
+
color: var(--color-icon-default-default, currentColor);
|
|
9732
|
+
}
|
|
9733
|
+
|
|
9734
|
+
/* Icons inside buttons should inherit from button's foreground color */
|
|
9735
|
+
.muka-button .muka-icon {
|
|
9736
|
+
color: inherit;
|
|
9737
|
+
}
|
|
9738
|
+
|
|
9739
|
+
.muka-icon--subtle {
|
|
9740
|
+
color: var(--color-icon-subtle-default);
|
|
9741
|
+
}
|
|
9742
|
+
|
|
9743
|
+
.muka-icon--muted {
|
|
9744
|
+
color: var(--color-icon-muted-default);
|
|
9745
|
+
}
|
|
9746
|
+
|
|
9747
|
+
.muka-icon--inverse {
|
|
9748
|
+
color: var(--color-icon-default-inverse);
|
|
9749
|
+
}
|
|
9750
|
+
|
|
9751
|
+
.muka-icon--xs {
|
|
9752
|
+
width: var(--icon-size-xs);
|
|
9753
|
+
height: var(--icon-size-xs);
|
|
9754
|
+
}
|
|
9755
|
+
|
|
9756
|
+
.muka-icon--sm {
|
|
9757
|
+
width: var(--icon-size-sm);
|
|
9758
|
+
height: var(--icon-size-sm);
|
|
9759
|
+
}
|
|
9760
|
+
|
|
9761
|
+
.muka-icon--md {
|
|
9762
|
+
width: var(--icon-size-default);
|
|
9763
|
+
height: var(--icon-size-default);
|
|
9764
|
+
}
|
|
9765
|
+
|
|
9766
|
+
.muka-icon--lg {
|
|
9767
|
+
width: var(--icon-size-lg);
|
|
9768
|
+
height: var(--icon-size-lg);
|
|
9769
|
+
}
|
|
9770
|
+
|
|
9771
|
+
.muka-icon svg {
|
|
9772
|
+
width: 100%;
|
|
9773
|
+
height: 100%;
|
|
9774
|
+
}
|
|
9775
|
+
|
|
9776
|
+
|
|
9721
9777
|
/* Form */
|
|
9722
9778
|
.muka-form {
|
|
9723
9779
|
display: flex;
|
|
@@ -10000,207 +10056,12 @@ li.muka-listitem {
|
|
|
10000
10056
|
}
|
|
10001
10057
|
|
|
10002
10058
|
|
|
10003
|
-
/*
|
|
10004
|
-
/*
|
|
10005
|
-
|
|
10006
|
-
.muka-
|
|
10007
|
-
|
|
10008
|
-
|
|
10009
|
-
justify-content: center;
|
|
10010
|
-
flex-shrink: 0;
|
|
10011
|
-
color: var(--color-icon-default-default, currentColor);
|
|
10012
|
-
}
|
|
10013
|
-
|
|
10014
|
-
/* Icons inside buttons should inherit from button's foreground color */
|
|
10015
|
-
.muka-button .muka-icon {
|
|
10016
|
-
color: inherit;
|
|
10017
|
-
}
|
|
10018
|
-
|
|
10019
|
-
.muka-icon--subtle {
|
|
10020
|
-
color: var(--color-icon-subtle-default);
|
|
10021
|
-
}
|
|
10022
|
-
|
|
10023
|
-
.muka-icon--muted {
|
|
10024
|
-
color: var(--color-icon-muted-default);
|
|
10025
|
-
}
|
|
10026
|
-
|
|
10027
|
-
.muka-icon--inverse {
|
|
10028
|
-
color: var(--color-icon-default-inverse);
|
|
10029
|
-
}
|
|
10030
|
-
|
|
10031
|
-
.muka-icon--xs {
|
|
10032
|
-
width: var(--icon-size-xs);
|
|
10033
|
-
height: var(--icon-size-xs);
|
|
10034
|
-
}
|
|
10035
|
-
|
|
10036
|
-
.muka-icon--sm {
|
|
10037
|
-
width: var(--icon-size-sm);
|
|
10038
|
-
height: var(--icon-size-sm);
|
|
10039
|
-
}
|
|
10040
|
-
|
|
10041
|
-
.muka-icon--md {
|
|
10042
|
-
width: var(--icon-size-default);
|
|
10043
|
-
height: var(--icon-size-default);
|
|
10044
|
-
}
|
|
10045
|
-
|
|
10046
|
-
.muka-icon--lg {
|
|
10047
|
-
width: var(--icon-size-lg);
|
|
10048
|
-
height: var(--icon-size-lg);
|
|
10049
|
-
}
|
|
10050
|
-
|
|
10051
|
-
.muka-icon svg {
|
|
10052
|
-
width: 100%;
|
|
10053
|
-
height: 100%;
|
|
10054
|
-
}
|
|
10055
|
-
|
|
10056
|
-
|
|
10057
|
-
/* EmptyState */
|
|
10058
|
-
/* EmptyState Component Styles - Using Muka Design Tokens */
|
|
10059
|
-
|
|
10060
|
-
.muka-emptystate {
|
|
10061
|
-
display: flex;
|
|
10062
|
-
flex-direction: column;
|
|
10063
|
-
align-items: center;
|
|
10064
|
-
justify-content: center;
|
|
10065
|
-
gap: var(--emptystate-container-gap);
|
|
10066
|
-
max-width: var(--emptystate-container-maxWidth);
|
|
10067
|
-
margin: 0 auto;
|
|
10068
|
-
text-align: center;
|
|
10069
|
-
}
|
|
10070
|
-
|
|
10071
|
-
/* Alignment variants */
|
|
10072
|
-
.muka-emptystate--left {
|
|
10073
|
-
align-items: flex-start;
|
|
10074
|
-
text-align: left;
|
|
10075
|
-
}
|
|
10076
|
-
|
|
10077
|
-
/* Size variants */
|
|
10078
|
-
.muka-emptystate--sm {
|
|
10079
|
-
padding: var(--emptystate-container-padding-sm);
|
|
10080
|
-
}
|
|
10081
|
-
|
|
10082
|
-
.muka-emptystate--md {
|
|
10083
|
-
padding: var(--emptystate-container-padding-md);
|
|
10084
|
-
}
|
|
10085
|
-
|
|
10086
|
-
.muka-emptystate--lg {
|
|
10087
|
-
padding: var(--emptystate-container-padding-lg);
|
|
10088
|
-
}
|
|
10089
|
-
|
|
10090
|
-
/* Visual (icon or illustration) */
|
|
10091
|
-
.muka-emptystate__visual {
|
|
10092
|
-
display: flex;
|
|
10093
|
-
align-items: center;
|
|
10094
|
-
justify-content: center;
|
|
10095
|
-
color: var(--emptystate-icon-color);
|
|
10096
|
-
flex-shrink: 0;
|
|
10097
|
-
}
|
|
10098
|
-
|
|
10099
|
-
.muka-emptystate--sm .muka-emptystate__visual {
|
|
10100
|
-
width: var(--emptystate-icon-size-sm);
|
|
10101
|
-
height: var(--emptystate-icon-size-sm);
|
|
10102
|
-
}
|
|
10103
|
-
|
|
10104
|
-
.muka-emptystate--md .muka-emptystate__visual {
|
|
10105
|
-
width: var(--emptystate-icon-size-md);
|
|
10106
|
-
height: var(--emptystate-icon-size-md);
|
|
10107
|
-
}
|
|
10108
|
-
|
|
10109
|
-
.muka-emptystate--lg .muka-emptystate__visual {
|
|
10110
|
-
width: var(--emptystate-icon-size-lg);
|
|
10111
|
-
height: var(--emptystate-icon-size-lg);
|
|
10112
|
-
}
|
|
10113
|
-
|
|
10114
|
-
.muka-emptystate__visual svg {
|
|
10115
|
-
width: 100%;
|
|
10116
|
-
height: 100%;
|
|
10117
|
-
}
|
|
10118
|
-
|
|
10119
|
-
.muka-emptystate__visual img {
|
|
10120
|
-
width: 100%;
|
|
10121
|
-
height: 100%;
|
|
10122
|
-
object-fit: contain;
|
|
10123
|
-
}
|
|
10124
|
-
|
|
10125
|
-
/* Content */
|
|
10126
|
-
.muka-emptystate__content {
|
|
10127
|
-
display: flex;
|
|
10128
|
-
flex-direction: column;
|
|
10129
|
-
gap: var(--spacing-2);
|
|
10130
|
-
}
|
|
10131
|
-
|
|
10132
|
-
.muka-emptystate--left .muka-emptystate__content {
|
|
10133
|
-
align-items: flex-start;
|
|
10134
|
-
}
|
|
10135
|
-
|
|
10136
|
-
/* Title */
|
|
10137
|
-
.muka-emptystate__title {
|
|
10138
|
-
color: var(--emptystate-title-color);
|
|
10139
|
-
margin: 0;
|
|
10140
|
-
font-family: var(--text-heading-sm-fontFamily);
|
|
10141
|
-
font-weight: var(--text-heading-sm-fontWeight);
|
|
10142
|
-
font-size: var(--text-heading-sm-fontSize);
|
|
10143
|
-
line-height: var(--text-heading-sm-lineHeight);
|
|
10144
|
-
}
|
|
10145
|
-
|
|
10146
|
-
.muka-emptystate--sm .muka-emptystate__title {
|
|
10147
|
-
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
10148
|
-
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
10149
|
-
font-size: var(--text-label-lg-semibold-fontSize);
|
|
10150
|
-
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
10151
|
-
}
|
|
10152
|
-
|
|
10153
|
-
.muka-emptystate--lg .muka-emptystate__title {
|
|
10154
|
-
font-family: var(--text-heading-md-fontFamily);
|
|
10155
|
-
font-weight: var(--text-heading-md-fontWeight);
|
|
10156
|
-
font-size: var(--text-heading-md-fontSize);
|
|
10157
|
-
line-height: var(--text-heading-md-lineHeight);
|
|
10158
|
-
}
|
|
10159
|
-
|
|
10160
|
-
/* Description */
|
|
10161
|
-
.muka-emptystate__description {
|
|
10162
|
-
color: var(--emptystate-description-color);
|
|
10163
|
-
margin: 0;
|
|
10164
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
10165
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
10166
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
10167
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
10168
|
-
}
|
|
10169
|
-
|
|
10170
|
-
.muka-emptystate--md .muka-emptystate__description {
|
|
10171
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
10172
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
10173
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
10174
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
10175
|
-
}
|
|
10176
|
-
|
|
10177
|
-
.muka-emptystate--lg .muka-emptystate__description {
|
|
10178
|
-
font-family: var(--text-body-lg-regular-fontFamily);
|
|
10179
|
-
font-weight: var(--text-body-lg-regular-fontWeight);
|
|
10180
|
-
font-size: var(--text-body-lg-regular-fontSize);
|
|
10181
|
-
line-height: var(--text-body-lg-regular-lineHeight);
|
|
10182
|
-
}
|
|
10183
|
-
|
|
10184
|
-
/* Actions */
|
|
10185
|
-
.muka-emptystate__actions {
|
|
10186
|
-
display: flex;
|
|
10187
|
-
gap: var(--emptystate-actions-gap);
|
|
10188
|
-
margin-top: var(--emptystate-actions-marginTop);
|
|
10189
|
-
flex-wrap: wrap;
|
|
10190
|
-
justify-content: center;
|
|
10191
|
-
}
|
|
10192
|
-
|
|
10193
|
-
.muka-emptystate--left .muka-emptystate__actions {
|
|
10194
|
-
justify-content: flex-start;
|
|
10195
|
-
}
|
|
10196
|
-
|
|
10197
|
-
|
|
10198
|
-
/* FAB */
|
|
10199
|
-
/* FAB (Floating Action Button) Component Styles */
|
|
10200
|
-
|
|
10201
|
-
.muka-fab {
|
|
10202
|
-
position: fixed;
|
|
10203
|
-
z-index: 40;
|
|
10059
|
+
/* FAB */
|
|
10060
|
+
/* FAB (Floating Action Button) Component Styles */
|
|
10061
|
+
|
|
10062
|
+
.muka-fab {
|
|
10063
|
+
position: fixed;
|
|
10064
|
+
z-index: 40;
|
|
10204
10065
|
|
|
10205
10066
|
display: inline-flex;
|
|
10206
10067
|
align-items: center;
|
|
@@ -10742,36 +10603,315 @@ li.muka-listitem {
|
|
|
10742
10603
|
}
|
|
10743
10604
|
|
|
10744
10605
|
|
|
10745
|
-
/*
|
|
10746
|
-
/*
|
|
10606
|
+
/* DocumentViewer */
|
|
10607
|
+
/* DocumentViewer Component Styles - Using Muka Design Tokens */
|
|
10747
10608
|
|
|
10748
|
-
.muka-
|
|
10749
|
-
|
|
10609
|
+
.muka-documentviewer {
|
|
10610
|
+
display: flex;
|
|
10611
|
+
flex-direction: column;
|
|
10612
|
+
background-color: var(--documentviewer-container-background);
|
|
10613
|
+
border-radius: var(--documentviewer-container-borderRadius);
|
|
10614
|
+
overflow: hidden;
|
|
10615
|
+
position: relative;
|
|
10750
10616
|
}
|
|
10751
10617
|
|
|
10752
|
-
.muka-
|
|
10753
|
-
|
|
10754
|
-
|
|
10618
|
+
.muka-documentviewer--fullscreen {
|
|
10619
|
+
position: fixed;
|
|
10620
|
+
top: 0;
|
|
10621
|
+
left: 0;
|
|
10622
|
+
right: 0;
|
|
10623
|
+
bottom: 0;
|
|
10624
|
+
width: 100vw;
|
|
10625
|
+
height: 100vh;
|
|
10626
|
+
z-index: 9999;
|
|
10627
|
+
border-radius: 0;
|
|
10755
10628
|
}
|
|
10756
10629
|
|
|
10757
|
-
|
|
10758
|
-
|
|
10759
|
-
|
|
10760
|
-
align-
|
|
10630
|
+
/* Toolbar */
|
|
10631
|
+
.muka-documentviewer__toolbar {
|
|
10632
|
+
display: flex;
|
|
10633
|
+
align-items: center;
|
|
10634
|
+
justify-content: space-between;
|
|
10635
|
+
height: var(--documentviewer-toolbar-height);
|
|
10636
|
+
padding: var(--documentviewer-toolbar-padding-y) var(--documentviewer-toolbar-padding-x);
|
|
10637
|
+
background-color: var(--documentviewer-toolbar-background);
|
|
10638
|
+
border-bottom: 1px solid var(--documentviewer-toolbar-border);
|
|
10639
|
+
gap: var(--documentviewer-toolbar-gap);
|
|
10640
|
+
flex-shrink: 0;
|
|
10761
10641
|
}
|
|
10762
10642
|
|
|
10763
|
-
.muka-
|
|
10764
|
-
|
|
10643
|
+
.muka-documentviewer__toolbar-section {
|
|
10644
|
+
display: flex;
|
|
10645
|
+
align-items: center;
|
|
10646
|
+
gap: var(--documentviewer-toolbar-gap);
|
|
10765
10647
|
}
|
|
10766
10648
|
|
|
10767
|
-
.muka-
|
|
10768
|
-
|
|
10649
|
+
.muka-documentviewer__toolbar-section--center {
|
|
10650
|
+
flex: 1;
|
|
10651
|
+
justify-content: center;
|
|
10769
10652
|
}
|
|
10770
10653
|
|
|
10654
|
+
.muka-documentviewer__toolbar-section--end {
|
|
10655
|
+
justify-content: flex-end;
|
|
10656
|
+
}
|
|
10657
|
+
|
|
10658
|
+
/* Page navigation */
|
|
10659
|
+
.muka-documentviewer__page-input {
|
|
10660
|
+
display: flex;
|
|
10661
|
+
align-items: center;
|
|
10662
|
+
gap: var(--spacing-1);
|
|
10663
|
+
}
|
|
10664
|
+
|
|
10665
|
+
.muka-documentviewer__page-number {
|
|
10666
|
+
width: 3rem;
|
|
10667
|
+
padding: var(--spacing-1) var(--spacing-2);
|
|
10668
|
+
text-align: center;
|
|
10669
|
+
font-family: var(--alias-font-brand-family);
|
|
10670
|
+
font-size: var(--text-label-sm-fontSize);
|
|
10671
|
+
line-height: var(--text-label-sm-lineHeight);
|
|
10672
|
+
border: 1px solid var(--color-border-default);
|
|
10673
|
+
border-radius: var(--border-radius-md);
|
|
10674
|
+
background-color: var(--color-surface-level0);
|
|
10675
|
+
color: var(--color-text-default-default);
|
|
10676
|
+
}
|
|
10677
|
+
|
|
10678
|
+
.muka-documentviewer__page-number:focus {
|
|
10679
|
+
outline: 2px solid var(--color-border-focus);
|
|
10680
|
+
outline-offset: 0;
|
|
10681
|
+
border-color: var(--color-border-focus);
|
|
10682
|
+
}
|
|
10683
|
+
|
|
10684
|
+
.muka-documentviewer__page-total {
|
|
10685
|
+
font-family: var(--alias-font-brand-family);
|
|
10686
|
+
font-size: var(--text-label-sm-fontSize);
|
|
10687
|
+
color: var(--color-text-subtle-default);
|
|
10688
|
+
}
|
|
10689
|
+
|
|
10690
|
+
/* Zoom controls */
|
|
10691
|
+
.muka-documentviewer__zoom-display {
|
|
10692
|
+
min-width: var(--documentviewer-zoom-button-width);
|
|
10693
|
+
padding: var(--spacing-1) var(--spacing-2);
|
|
10694
|
+
font-family: var(--alias-font-brand-family);
|
|
10695
|
+
font-size: var(--text-label-sm-fontSize);
|
|
10696
|
+
font-weight: var(--alias-font-brand-weight-semibold);
|
|
10697
|
+
color: var(--color-text-default-default);
|
|
10698
|
+
background: transparent;
|
|
10699
|
+
border: none;
|
|
10700
|
+
border-radius: var(--border-radius-md);
|
|
10701
|
+
cursor: pointer;
|
|
10702
|
+
transition: background-color 0.2s ease;
|
|
10703
|
+
}
|
|
10704
|
+
|
|
10705
|
+
.muka-documentviewer__zoom-display:hover {
|
|
10706
|
+
background-color: var(--color-surface-level2);
|
|
10707
|
+
}
|
|
10708
|
+
|
|
10709
|
+
.muka-documentviewer__zoom-display:focus {
|
|
10710
|
+
outline: 2px solid var(--color-border-focus);
|
|
10711
|
+
outline-offset: 0;
|
|
10712
|
+
}
|
|
10713
|
+
|
|
10714
|
+
/* Content area */
|
|
10715
|
+
.muka-documentviewer__content {
|
|
10716
|
+
display: flex;
|
|
10717
|
+
flex: 1;
|
|
10718
|
+
overflow: hidden;
|
|
10719
|
+
}
|
|
10720
|
+
|
|
10721
|
+
.muka-documentviewer__main {
|
|
10722
|
+
flex: 1;
|
|
10723
|
+
display: flex;
|
|
10724
|
+
flex-direction: column;
|
|
10725
|
+
overflow: hidden;
|
|
10726
|
+
position: relative;
|
|
10727
|
+
}
|
|
10728
|
+
|
|
10729
|
+
/* Canvas */
|
|
10730
|
+
.muka-documentviewer__canvas {
|
|
10731
|
+
flex: 1;
|
|
10732
|
+
background-color: var(--documentviewer-canvas-background);
|
|
10733
|
+
padding: var(--documentviewer-canvas-padding);
|
|
10734
|
+
overflow: auto;
|
|
10735
|
+
display: flex;
|
|
10736
|
+
align-items: flex-start;
|
|
10737
|
+
justify-content: center;
|
|
10738
|
+
}
|
|
10739
|
+
|
|
10740
|
+
.muka-documentviewer__page {
|
|
10741
|
+
background-color: var(--documentviewer-page-background);
|
|
10742
|
+
box-shadow: var(--documentviewer-page-shadow);
|
|
10743
|
+
border-radius: var(--documentviewer-page-borderRadius);
|
|
10744
|
+
overflow: hidden;
|
|
10745
|
+
}
|
|
10746
|
+
|
|
10747
|
+
.muka-documentviewer__page canvas {
|
|
10748
|
+
display: block;
|
|
10749
|
+
max-width: 100%;
|
|
10750
|
+
height: auto;
|
|
10751
|
+
}
|
|
10752
|
+
|
|
10753
|
+
.muka-documentviewer__page-number {
|
|
10754
|
+
text-align: center;
|
|
10755
|
+
padding: var(--spacing-2);
|
|
10756
|
+
font-family: var(--alias-font-brand-family);
|
|
10757
|
+
font-size: var(--text-label-sm-fontSize);
|
|
10758
|
+
color: var(--color-text-subtle-default);
|
|
10759
|
+
}
|
|
10760
|
+
|
|
10761
|
+
/* Thumbnails */
|
|
10762
|
+
.muka-documentviewer__thumbnails {
|
|
10763
|
+
width: var(--documentviewer-thumbnails-width);
|
|
10764
|
+
background-color: var(--documentviewer-thumbnails-background);
|
|
10765
|
+
border-right: 1px solid var(--documentviewer-thumbnails-border);
|
|
10766
|
+
overflow-y: auto;
|
|
10767
|
+
flex-shrink: 0;
|
|
10768
|
+
}
|
|
10769
|
+
|
|
10770
|
+
.muka-documentviewer__thumbnails-list {
|
|
10771
|
+
display: flex;
|
|
10772
|
+
flex-direction: column;
|
|
10773
|
+
gap: var(--documentviewer-thumbnails-item-gap);
|
|
10774
|
+
padding: var(--spacing-2);
|
|
10775
|
+
}
|
|
10776
|
+
|
|
10777
|
+
.muka-documentviewer__thumbnail-item {
|
|
10778
|
+
display: flex;
|
|
10779
|
+
flex-direction: column;
|
|
10780
|
+
align-items: center;
|
|
10781
|
+
gap: var(--spacing-1);
|
|
10782
|
+
padding: var(--documentviewer-thumbnails-item-padding);
|
|
10783
|
+
border-radius: var(--documentviewer-thumbnails-item-borderRadius);
|
|
10784
|
+
border: 2px solid var(--documentviewer-thumbnails-item-border-default);
|
|
10785
|
+
background-color: var(--documentviewer-thumbnails-item-background-default);
|
|
10786
|
+
cursor: pointer;
|
|
10787
|
+
transition: all 0.2s ease;
|
|
10788
|
+
width: 100%;
|
|
10789
|
+
}
|
|
10790
|
+
|
|
10791
|
+
.muka-documentviewer__thumbnail-item:hover {
|
|
10792
|
+
background-color: var(--documentviewer-thumbnails-item-background-hover);
|
|
10793
|
+
}
|
|
10794
|
+
|
|
10795
|
+
.muka-documentviewer__thumbnail-item--selected {
|
|
10796
|
+
background-color: var(--documentviewer-thumbnails-item-background-selected);
|
|
10797
|
+
border-color: var(--documentviewer-thumbnails-item-border-selected);
|
|
10798
|
+
}
|
|
10799
|
+
|
|
10800
|
+
.muka-documentviewer__thumbnail-item:focus {
|
|
10801
|
+
outline: 2px solid var(--color-border-focus);
|
|
10802
|
+
outline-offset: 2px;
|
|
10803
|
+
}
|
|
10804
|
+
|
|
10805
|
+
.muka-documentviewer__thumbnail-preview {
|
|
10806
|
+
width: 100%;
|
|
10807
|
+
overflow: hidden;
|
|
10808
|
+
border-radius: var(--border-radius-sm);
|
|
10809
|
+
}
|
|
10810
|
+
|
|
10811
|
+
.muka-documentviewer__thumbnail-preview canvas {
|
|
10812
|
+
display: block;
|
|
10813
|
+
width: 100%;
|
|
10814
|
+
height: auto;
|
|
10815
|
+
}
|
|
10816
|
+
|
|
10817
|
+
.muka-documentviewer__thumbnail-label {
|
|
10818
|
+
font-family: var(--alias-font-brand-family);
|
|
10819
|
+
font-size: var(--text-label-xs-regular-fontSize);
|
|
10820
|
+
color: var(--color-text-default-default);
|
|
10821
|
+
font-weight: var(--alias-font-brand-weight-medium);
|
|
10822
|
+
}
|
|
10823
|
+
|
|
10824
|
+
/* Loading state */
|
|
10825
|
+
.muka-documentviewer__loading {
|
|
10826
|
+
display: flex;
|
|
10827
|
+
align-items: center;
|
|
10828
|
+
justify-content: center;
|
|
10829
|
+
flex: 1;
|
|
10830
|
+
background-color: var(--documentviewer-loading-overlay-background);
|
|
10831
|
+
}
|
|
10832
|
+
|
|
10833
|
+
/* Error state */
|
|
10834
|
+
.muka-documentviewer__error {
|
|
10835
|
+
display: flex;
|
|
10836
|
+
align-items: center;
|
|
10837
|
+
justify-content: center;
|
|
10838
|
+
flex: 1;
|
|
10839
|
+
padding: var(--spacing-4);
|
|
10840
|
+
background-color: var(--documentviewer-error-background);
|
|
10841
|
+
}
|
|
10842
|
+
|
|
10843
|
+
/* Accessibility - visually hidden */
|
|
10844
|
+
.visually-hidden {
|
|
10845
|
+
position: absolute;
|
|
10846
|
+
width: 1px;
|
|
10847
|
+
height: 1px;
|
|
10848
|
+
margin: -1px;
|
|
10849
|
+
padding: 0;
|
|
10850
|
+
overflow: hidden;
|
|
10851
|
+
clip: rect(0, 0, 0, 0);
|
|
10852
|
+
white-space: nowrap;
|
|
10853
|
+
border-width: 0;
|
|
10854
|
+
}
|
|
10855
|
+
|
|
10856
|
+
/* React-PDF specific styles */
|
|
10857
|
+
.react-pdf__Document {
|
|
10858
|
+
display: flex;
|
|
10859
|
+
flex-direction: column;
|
|
10860
|
+
align-items: center;
|
|
10861
|
+
}
|
|
10862
|
+
|
|
10863
|
+
.react-pdf__Page {
|
|
10864
|
+
max-width: 100%;
|
|
10865
|
+
box-shadow: var(--documentviewer-page-shadow);
|
|
10866
|
+
border-radius: var(--documentviewer-page-borderRadius);
|
|
10867
|
+
overflow: hidden;
|
|
10868
|
+
}
|
|
10869
|
+
|
|
10870
|
+
.react-pdf__Page__canvas {
|
|
10871
|
+
max-width: 100%;
|
|
10872
|
+
height: auto !important;
|
|
10873
|
+
display: block;
|
|
10874
|
+
}
|
|
10875
|
+
|
|
10876
|
+
.react-pdf__Page__textContent {
|
|
10877
|
+
max-width: 100%;
|
|
10878
|
+
}
|
|
10879
|
+
|
|
10880
|
+
.react-pdf__Page__annotations {
|
|
10881
|
+
max-width: 100%;
|
|
10882
|
+
}
|
|
10883
|
+
|
|
10884
|
+
|
|
10885
|
+
/* Divider */
|
|
10886
|
+
/* Divider Component Styles - Using Muka Design Tokens */
|
|
10887
|
+
|
|
10888
|
+
.muka-divider {
|
|
10889
|
+
flex-shrink: 0;
|
|
10890
|
+
}
|
|
10891
|
+
|
|
10892
|
+
.muka-divider--horizontal {
|
|
10893
|
+
width: 100%;
|
|
10894
|
+
height: var(--separator-width);
|
|
10895
|
+
}
|
|
10896
|
+
|
|
10897
|
+
.muka-divider--vertical {
|
|
10898
|
+
height: 100%;
|
|
10899
|
+
width: var(--separator-width);
|
|
10900
|
+
align-self: stretch;
|
|
10901
|
+
}
|
|
10902
|
+
|
|
10903
|
+
.muka-divider--default {
|
|
10904
|
+
background-color: var(--separator-color-default);
|
|
10905
|
+
}
|
|
10906
|
+
|
|
10907
|
+
.muka-divider--contrast {
|
|
10908
|
+
background-color: var(--separator-color-contrast);
|
|
10909
|
+
}
|
|
10910
|
+
|
|
10911
|
+
|
|
10912
|
+
/* Dialog */
|
|
10913
|
+
/* Dialog Component Styles */
|
|
10771
10914
|
|
|
10772
|
-
/* Dialog */
|
|
10773
|
-
/* Dialog Component Styles */
|
|
10774
|
-
|
|
10775
10915
|
/* ─── Native dialog reset ─────────────────────────────── */
|
|
10776
10916
|
|
|
10777
10917
|
.muka-dialog {
|
|
@@ -11040,282 +11180,144 @@ li.muka-listitem {
|
|
|
11040
11180
|
}
|
|
11041
11181
|
|
|
11042
11182
|
|
|
11043
|
-
/*
|
|
11044
|
-
/*
|
|
11183
|
+
/* EmptyState */
|
|
11184
|
+
/* EmptyState Component Styles - Using Muka Design Tokens */
|
|
11045
11185
|
|
|
11046
|
-
.muka-
|
|
11186
|
+
.muka-emptystate {
|
|
11047
11187
|
display: flex;
|
|
11048
11188
|
flex-direction: column;
|
|
11049
|
-
background-color: var(--documentviewer-container-background);
|
|
11050
|
-
border-radius: var(--documentviewer-container-borderRadius);
|
|
11051
|
-
overflow: hidden;
|
|
11052
|
-
position: relative;
|
|
11053
|
-
}
|
|
11054
|
-
|
|
11055
|
-
.muka-documentviewer--fullscreen {
|
|
11056
|
-
position: fixed;
|
|
11057
|
-
top: 0;
|
|
11058
|
-
left: 0;
|
|
11059
|
-
right: 0;
|
|
11060
|
-
bottom: 0;
|
|
11061
|
-
width: 100vw;
|
|
11062
|
-
height: 100vh;
|
|
11063
|
-
z-index: 9999;
|
|
11064
|
-
border-radius: 0;
|
|
11065
|
-
}
|
|
11066
|
-
|
|
11067
|
-
/* Toolbar */
|
|
11068
|
-
.muka-documentviewer__toolbar {
|
|
11069
|
-
display: flex;
|
|
11070
|
-
align-items: center;
|
|
11071
|
-
justify-content: space-between;
|
|
11072
|
-
height: var(--documentviewer-toolbar-height);
|
|
11073
|
-
padding: var(--documentviewer-toolbar-padding-y) var(--documentviewer-toolbar-padding-x);
|
|
11074
|
-
background-color: var(--documentviewer-toolbar-background);
|
|
11075
|
-
border-bottom: 1px solid var(--documentviewer-toolbar-border);
|
|
11076
|
-
gap: var(--documentviewer-toolbar-gap);
|
|
11077
|
-
flex-shrink: 0;
|
|
11078
|
-
}
|
|
11079
|
-
|
|
11080
|
-
.muka-documentviewer__toolbar-section {
|
|
11081
|
-
display: flex;
|
|
11082
11189
|
align-items: center;
|
|
11083
|
-
gap: var(--documentviewer-toolbar-gap);
|
|
11084
|
-
}
|
|
11085
|
-
|
|
11086
|
-
.muka-documentviewer__toolbar-section--center {
|
|
11087
|
-
flex: 1;
|
|
11088
11190
|
justify-content: center;
|
|
11089
|
-
|
|
11090
|
-
|
|
11091
|
-
|
|
11092
|
-
justify-content: flex-end;
|
|
11093
|
-
}
|
|
11094
|
-
|
|
11095
|
-
/* Page navigation */
|
|
11096
|
-
.muka-documentviewer__page-input {
|
|
11097
|
-
display: flex;
|
|
11098
|
-
align-items: center;
|
|
11099
|
-
gap: var(--spacing-1);
|
|
11100
|
-
}
|
|
11101
|
-
|
|
11102
|
-
.muka-documentviewer__page-number {
|
|
11103
|
-
width: 3rem;
|
|
11104
|
-
padding: var(--spacing-1) var(--spacing-2);
|
|
11191
|
+
gap: var(--emptystate-container-gap);
|
|
11192
|
+
max-width: var(--emptystate-container-maxWidth);
|
|
11193
|
+
margin: 0 auto;
|
|
11105
11194
|
text-align: center;
|
|
11106
|
-
font-family: var(--alias-font-brand-family);
|
|
11107
|
-
font-size: var(--text-label-sm-fontSize);
|
|
11108
|
-
line-height: var(--text-label-sm-lineHeight);
|
|
11109
|
-
border: 1px solid var(--color-border-default);
|
|
11110
|
-
border-radius: var(--border-radius-md);
|
|
11111
|
-
background-color: var(--color-surface-level0);
|
|
11112
|
-
color: var(--color-text-default-default);
|
|
11113
11195
|
}
|
|
11114
11196
|
|
|
11115
|
-
|
|
11116
|
-
|
|
11117
|
-
outline-offset: 0;
|
|
11118
|
-
border-color: var(--color-border-focus);
|
|
11119
|
-
}
|
|
11120
|
-
|
|
11121
|
-
.muka-documentviewer__page-total {
|
|
11122
|
-
font-family: var(--alias-font-brand-family);
|
|
11123
|
-
font-size: var(--text-label-sm-fontSize);
|
|
11124
|
-
color: var(--color-text-subtle-default);
|
|
11125
|
-
}
|
|
11126
|
-
|
|
11127
|
-
/* Zoom controls */
|
|
11128
|
-
.muka-documentviewer__zoom-display {
|
|
11129
|
-
min-width: var(--documentviewer-zoom-button-width);
|
|
11130
|
-
padding: var(--spacing-1) var(--spacing-2);
|
|
11131
|
-
font-family: var(--alias-font-brand-family);
|
|
11132
|
-
font-size: var(--text-label-sm-fontSize);
|
|
11133
|
-
font-weight: var(--alias-font-brand-weight-semibold);
|
|
11134
|
-
color: var(--color-text-default-default);
|
|
11135
|
-
background: transparent;
|
|
11136
|
-
border: none;
|
|
11137
|
-
border-radius: var(--border-radius-md);
|
|
11138
|
-
cursor: pointer;
|
|
11139
|
-
transition: background-color 0.2s ease;
|
|
11140
|
-
}
|
|
11141
|
-
|
|
11142
|
-
.muka-documentviewer__zoom-display:hover {
|
|
11143
|
-
background-color: var(--color-surface-level2);
|
|
11144
|
-
}
|
|
11145
|
-
|
|
11146
|
-
.muka-documentviewer__zoom-display:focus {
|
|
11147
|
-
outline: 2px solid var(--color-border-focus);
|
|
11148
|
-
outline-offset: 0;
|
|
11149
|
-
}
|
|
11150
|
-
|
|
11151
|
-
/* Content area */
|
|
11152
|
-
.muka-documentviewer__content {
|
|
11153
|
-
display: flex;
|
|
11154
|
-
flex: 1;
|
|
11155
|
-
overflow: hidden;
|
|
11156
|
-
}
|
|
11157
|
-
|
|
11158
|
-
.muka-documentviewer__main {
|
|
11159
|
-
flex: 1;
|
|
11160
|
-
display: flex;
|
|
11161
|
-
flex-direction: column;
|
|
11162
|
-
overflow: hidden;
|
|
11163
|
-
position: relative;
|
|
11164
|
-
}
|
|
11165
|
-
|
|
11166
|
-
/* Canvas */
|
|
11167
|
-
.muka-documentviewer__canvas {
|
|
11168
|
-
flex: 1;
|
|
11169
|
-
background-color: var(--documentviewer-canvas-background);
|
|
11170
|
-
padding: var(--documentviewer-canvas-padding);
|
|
11171
|
-
overflow: auto;
|
|
11172
|
-
display: flex;
|
|
11197
|
+
/* Alignment variants */
|
|
11198
|
+
.muka-emptystate--left {
|
|
11173
11199
|
align-items: flex-start;
|
|
11174
|
-
|
|
11175
|
-
}
|
|
11176
|
-
|
|
11177
|
-
.muka-documentviewer__page {
|
|
11178
|
-
background-color: var(--documentviewer-page-background);
|
|
11179
|
-
box-shadow: var(--documentviewer-page-shadow);
|
|
11180
|
-
border-radius: var(--documentviewer-page-borderRadius);
|
|
11181
|
-
overflow: hidden;
|
|
11182
|
-
}
|
|
11183
|
-
|
|
11184
|
-
.muka-documentviewer__page canvas {
|
|
11185
|
-
display: block;
|
|
11186
|
-
max-width: 100%;
|
|
11187
|
-
height: auto;
|
|
11200
|
+
text-align: left;
|
|
11188
11201
|
}
|
|
11189
11202
|
|
|
11190
|
-
|
|
11191
|
-
|
|
11192
|
-
padding: var(--
|
|
11193
|
-
font-family: var(--alias-font-brand-family);
|
|
11194
|
-
font-size: var(--text-label-sm-fontSize);
|
|
11195
|
-
color: var(--color-text-subtle-default);
|
|
11203
|
+
/* Size variants */
|
|
11204
|
+
.muka-emptystate--sm {
|
|
11205
|
+
padding: var(--emptystate-container-padding-sm);
|
|
11196
11206
|
}
|
|
11197
11207
|
|
|
11198
|
-
|
|
11199
|
-
|
|
11200
|
-
width: var(--documentviewer-thumbnails-width);
|
|
11201
|
-
background-color: var(--documentviewer-thumbnails-background);
|
|
11202
|
-
border-right: 1px solid var(--documentviewer-thumbnails-border);
|
|
11203
|
-
overflow-y: auto;
|
|
11204
|
-
flex-shrink: 0;
|
|
11208
|
+
.muka-emptystate--md {
|
|
11209
|
+
padding: var(--emptystate-container-padding-md);
|
|
11205
11210
|
}
|
|
11206
11211
|
|
|
11207
|
-
.muka-
|
|
11208
|
-
|
|
11209
|
-
flex-direction: column;
|
|
11210
|
-
gap: var(--documentviewer-thumbnails-item-gap);
|
|
11211
|
-
padding: var(--spacing-2);
|
|
11212
|
+
.muka-emptystate--lg {
|
|
11213
|
+
padding: var(--emptystate-container-padding-lg);
|
|
11212
11214
|
}
|
|
11213
11215
|
|
|
11214
|
-
|
|
11216
|
+
/* Visual (icon or illustration) */
|
|
11217
|
+
.muka-emptystate__visual {
|
|
11215
11218
|
display: flex;
|
|
11216
|
-
flex-direction: column;
|
|
11217
11219
|
align-items: center;
|
|
11218
|
-
|
|
11219
|
-
|
|
11220
|
-
|
|
11221
|
-
border: 2px solid var(--documentviewer-thumbnails-item-border-default);
|
|
11222
|
-
background-color: var(--documentviewer-thumbnails-item-background-default);
|
|
11223
|
-
cursor: pointer;
|
|
11224
|
-
transition: all 0.2s ease;
|
|
11225
|
-
width: 100%;
|
|
11220
|
+
justify-content: center;
|
|
11221
|
+
color: var(--emptystate-icon-color);
|
|
11222
|
+
flex-shrink: 0;
|
|
11226
11223
|
}
|
|
11227
11224
|
|
|
11228
|
-
.muka-
|
|
11229
|
-
|
|
11225
|
+
.muka-emptystate--sm .muka-emptystate__visual {
|
|
11226
|
+
width: var(--emptystate-icon-size-sm);
|
|
11227
|
+
height: var(--emptystate-icon-size-sm);
|
|
11230
11228
|
}
|
|
11231
11229
|
|
|
11232
|
-
.muka-
|
|
11233
|
-
|
|
11234
|
-
|
|
11230
|
+
.muka-emptystate--md .muka-emptystate__visual {
|
|
11231
|
+
width: var(--emptystate-icon-size-md);
|
|
11232
|
+
height: var(--emptystate-icon-size-md);
|
|
11235
11233
|
}
|
|
11236
11234
|
|
|
11237
|
-
.muka-
|
|
11238
|
-
|
|
11239
|
-
|
|
11235
|
+
.muka-emptystate--lg .muka-emptystate__visual {
|
|
11236
|
+
width: var(--emptystate-icon-size-lg);
|
|
11237
|
+
height: var(--emptystate-icon-size-lg);
|
|
11240
11238
|
}
|
|
11241
11239
|
|
|
11242
|
-
.muka-
|
|
11240
|
+
.muka-emptystate__visual svg {
|
|
11243
11241
|
width: 100%;
|
|
11244
|
-
|
|
11245
|
-
border-radius: var(--border-radius-sm);
|
|
11242
|
+
height: 100%;
|
|
11246
11243
|
}
|
|
11247
11244
|
|
|
11248
|
-
.muka-
|
|
11249
|
-
display: block;
|
|
11245
|
+
.muka-emptystate__visual img {
|
|
11250
11246
|
width: 100%;
|
|
11251
|
-
height:
|
|
11247
|
+
height: 100%;
|
|
11248
|
+
object-fit: contain;
|
|
11252
11249
|
}
|
|
11253
11250
|
|
|
11254
|
-
|
|
11255
|
-
|
|
11256
|
-
|
|
11257
|
-
|
|
11258
|
-
|
|
11251
|
+
/* Content */
|
|
11252
|
+
.muka-emptystate__content {
|
|
11253
|
+
display: flex;
|
|
11254
|
+
flex-direction: column;
|
|
11255
|
+
gap: var(--spacing-2);
|
|
11259
11256
|
}
|
|
11260
11257
|
|
|
11261
|
-
|
|
11262
|
-
|
|
11263
|
-
display: flex;
|
|
11264
|
-
align-items: center;
|
|
11265
|
-
justify-content: center;
|
|
11266
|
-
flex: 1;
|
|
11267
|
-
background-color: var(--documentviewer-loading-overlay-background);
|
|
11258
|
+
.muka-emptystate--left .muka-emptystate__content {
|
|
11259
|
+
align-items: flex-start;
|
|
11268
11260
|
}
|
|
11269
11261
|
|
|
11270
|
-
/*
|
|
11271
|
-
.muka-
|
|
11272
|
-
|
|
11273
|
-
|
|
11274
|
-
|
|
11275
|
-
|
|
11276
|
-
|
|
11277
|
-
|
|
11262
|
+
/* Title */
|
|
11263
|
+
.muka-emptystate__title {
|
|
11264
|
+
color: var(--emptystate-title-color);
|
|
11265
|
+
margin: 0;
|
|
11266
|
+
font-family: var(--text-heading-sm-fontFamily);
|
|
11267
|
+
font-weight: var(--text-heading-sm-fontWeight);
|
|
11268
|
+
font-size: var(--text-heading-sm-fontSize);
|
|
11269
|
+
line-height: var(--text-heading-sm-lineHeight);
|
|
11278
11270
|
}
|
|
11279
11271
|
|
|
11280
|
-
|
|
11281
|
-
|
|
11282
|
-
|
|
11283
|
-
|
|
11284
|
-
height:
|
|
11285
|
-
margin: -1px;
|
|
11286
|
-
padding: 0;
|
|
11287
|
-
overflow: hidden;
|
|
11288
|
-
clip: rect(0, 0, 0, 0);
|
|
11289
|
-
white-space: nowrap;
|
|
11290
|
-
border-width: 0;
|
|
11272
|
+
.muka-emptystate--sm .muka-emptystate__title {
|
|
11273
|
+
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
11274
|
+
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
11275
|
+
font-size: var(--text-label-lg-semibold-fontSize);
|
|
11276
|
+
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
11291
11277
|
}
|
|
11292
11278
|
|
|
11293
|
-
|
|
11294
|
-
|
|
11295
|
-
|
|
11296
|
-
|
|
11297
|
-
|
|
11279
|
+
.muka-emptystate--lg .muka-emptystate__title {
|
|
11280
|
+
font-family: var(--text-heading-md-fontFamily);
|
|
11281
|
+
font-weight: var(--text-heading-md-fontWeight);
|
|
11282
|
+
font-size: var(--text-heading-md-fontSize);
|
|
11283
|
+
line-height: var(--text-heading-md-lineHeight);
|
|
11298
11284
|
}
|
|
11299
11285
|
|
|
11300
|
-
|
|
11301
|
-
|
|
11302
|
-
|
|
11303
|
-
|
|
11304
|
-
|
|
11286
|
+
/* Description */
|
|
11287
|
+
.muka-emptystate__description {
|
|
11288
|
+
color: var(--emptystate-description-color);
|
|
11289
|
+
margin: 0;
|
|
11290
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
11291
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
11292
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
11293
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
11305
11294
|
}
|
|
11306
11295
|
|
|
11307
|
-
.
|
|
11308
|
-
|
|
11309
|
-
|
|
11310
|
-
|
|
11296
|
+
.muka-emptystate--md .muka-emptystate__description {
|
|
11297
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
11298
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
11299
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
11300
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
11311
11301
|
}
|
|
11312
11302
|
|
|
11313
|
-
.
|
|
11314
|
-
|
|
11303
|
+
.muka-emptystate--lg .muka-emptystate__description {
|
|
11304
|
+
font-family: var(--text-body-lg-regular-fontFamily);
|
|
11305
|
+
font-weight: var(--text-body-lg-regular-fontWeight);
|
|
11306
|
+
font-size: var(--text-body-lg-regular-fontSize);
|
|
11307
|
+
line-height: var(--text-body-lg-regular-lineHeight);
|
|
11315
11308
|
}
|
|
11316
11309
|
|
|
11317
|
-
|
|
11318
|
-
|
|
11310
|
+
/* Actions */
|
|
11311
|
+
.muka-emptystate__actions {
|
|
11312
|
+
display: flex;
|
|
11313
|
+
gap: var(--emptystate-actions-gap);
|
|
11314
|
+
margin-top: var(--emptystate-actions-marginTop);
|
|
11315
|
+
flex-wrap: wrap;
|
|
11316
|
+
justify-content: center;
|
|
11317
|
+
}
|
|
11318
|
+
|
|
11319
|
+
.muka-emptystate--left .muka-emptystate__actions {
|
|
11320
|
+
justify-content: flex-start;
|
|
11319
11321
|
}
|
|
11320
11322
|
|
|
11321
11323
|
|
|
@@ -12605,235 +12607,68 @@ li.muka-listitem {
|
|
|
12605
12607
|
height: 40px;
|
|
12606
12608
|
}
|
|
12607
12609
|
|
|
12608
|
-
/* Vertical image sizing */
|
|
12609
|
-
.muka-checkbox-tile--vertical .muka-checkbox-tile__image {
|
|
12610
|
-
width: 100%;
|
|
12611
|
-
aspect-ratio: 4/3;
|
|
12612
|
-
}
|
|
12613
|
-
|
|
12614
|
-
/* Content container */
|
|
12615
|
-
.muka-checkbox-tile__content {
|
|
12616
|
-
display: flex;
|
|
12617
|
-
flex-direction: column;
|
|
12618
|
-
flex: 1;
|
|
12619
|
-
min-width: 0;
|
|
12620
|
-
gap: var(--spacing-2);
|
|
12621
|
-
}
|
|
12622
|
-
|
|
12623
|
-
.muka-checkbox-tile__content-inner {
|
|
12624
|
-
display: flex;
|
|
12625
|
-
flex-direction: column;
|
|
12626
|
-
gap: var(--spacing-1);
|
|
12627
|
-
}
|
|
12628
|
-
|
|
12629
|
-
/* Chip slot (replaces badge; use Chip component) */
|
|
12630
|
-
.muka-checkbox-tile__chip {
|
|
12631
|
-
flex-shrink: 0;
|
|
12632
|
-
}
|
|
12633
|
-
|
|
12634
|
-
.muka-checkbox-tile__chip--vertical {
|
|
12635
|
-
margin-top: var(--spacing-1);
|
|
12636
|
-
}
|
|
12637
|
-
|
|
12638
|
-
/* Label */
|
|
12639
|
-
.muka-checkbox-tile__label {
|
|
12640
|
-
font-family: var(--text-body-lg-regular-fontFamily);
|
|
12641
|
-
font-weight: var(--text-body-lg-regular-fontWeight);
|
|
12642
|
-
font-size: var(--text-body-lg-regular-fontSize);
|
|
12643
|
-
line-height: var(--text-body-lg-regular-lineHeight);
|
|
12644
|
-
color: var(--color-text-default-default);
|
|
12645
|
-
}
|
|
12646
|
-
|
|
12647
|
-
.muka-checkbox-tile__label--bold {
|
|
12648
|
-
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
12649
|
-
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
12650
|
-
font-size: var(--text-label-lg-semibold-fontSize);
|
|
12651
|
-
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
12652
|
-
}
|
|
12653
|
-
|
|
12654
|
-
.muka-checkbox-tile__label--center {
|
|
12655
|
-
text-align: center;
|
|
12656
|
-
}
|
|
12657
|
-
|
|
12658
|
-
/* Caption */
|
|
12659
|
-
.muka-checkbox-tile__caption {
|
|
12660
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
12661
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
12662
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
12663
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
12664
|
-
color: var(--color-text-subtle-default);
|
|
12665
|
-
}
|
|
12666
|
-
|
|
12667
|
-
/* Disabled states */
|
|
12668
|
-
.muka-checkbox-tile--disabled .muka-checkbox-tile__label,
|
|
12669
|
-
.muka-checkbox-tile--disabled .muka-checkbox-tile__icon {
|
|
12670
|
-
color: var(--color-text-subtle-default);
|
|
12671
|
-
}
|
|
12672
|
-
|
|
12673
|
-
|
|
12674
|
-
/* Checkbox */
|
|
12675
|
-
/* Checkbox Component Styles - Using Muka Design Tokens */
|
|
12676
|
-
|
|
12677
|
-
/* Wrapper - clickable label container */
|
|
12678
|
-
.muka-checkbox {
|
|
12679
|
-
display: inline-flex;
|
|
12680
|
-
align-items: center;
|
|
12681
|
-
gap: var(--spacing-4);
|
|
12682
|
-
cursor: pointer;
|
|
12683
|
-
user-select: none;
|
|
12684
|
-
}
|
|
12685
|
-
|
|
12686
|
-
.muka-checkbox--disabled {
|
|
12687
|
-
cursor: not-allowed;
|
|
12688
|
-
opacity: 0.6;
|
|
12689
|
-
}
|
|
12690
|
-
|
|
12691
|
-
/* Control container */
|
|
12692
|
-
.muka-checkbox__control {
|
|
12693
|
-
position: relative;
|
|
12694
|
-
display: inline-flex;
|
|
12695
|
-
align-items: center;
|
|
12696
|
-
justify-content: center;
|
|
12697
|
-
flex-shrink: 0;
|
|
12698
|
-
}
|
|
12699
|
-
|
|
12700
|
-
/* Hidden native input */
|
|
12701
|
-
.muka-checkbox__input {
|
|
12702
|
-
position: absolute;
|
|
12703
|
-
width: 1px;
|
|
12704
|
-
height: 1px;
|
|
12705
|
-
padding: 0;
|
|
12706
|
-
margin: -1px;
|
|
12707
|
-
overflow: hidden;
|
|
12708
|
-
clip: rect(0, 0, 0, 0);
|
|
12709
|
-
white-space: nowrap;
|
|
12710
|
-
border: 0;
|
|
12711
|
-
}
|
|
12712
|
-
|
|
12713
|
-
/* Visual indicator (square) */
|
|
12714
|
-
.muka-checkbox__indicator {
|
|
12715
|
-
display: flex;
|
|
12716
|
-
align-items: center;
|
|
12717
|
-
justify-content: center;
|
|
12718
|
-
width: var(--checkbox-size-default);
|
|
12719
|
-
height: var(--checkbox-size-default);
|
|
12720
|
-
border-radius: var(--checkbox-radius);
|
|
12721
|
-
background-color: var(--checkbox-color-default-background);
|
|
12722
|
-
border: var(--border-width-regular) solid var(--checkbox-color-default-border);
|
|
12723
|
-
transition: all 0.15s ease;
|
|
12724
|
-
box-shadow: inset 0 1px 2px 0 rgba(26, 26, 26, 0.15);
|
|
12725
|
-
}
|
|
12726
|
-
|
|
12727
|
-
/* Size variants */
|
|
12728
|
-
.muka-checkbox--sm .muka-checkbox__indicator {
|
|
12729
|
-
width: var(--checkbox-size-sm);
|
|
12730
|
-
height: var(--checkbox-size-sm);
|
|
12731
|
-
}
|
|
12732
|
-
|
|
12733
|
-
.muka-checkbox--lg .muka-checkbox__indicator {
|
|
12734
|
-
width: var(--checkbox-size-lg);
|
|
12735
|
-
height: var(--checkbox-size-lg);
|
|
12736
|
-
}
|
|
12737
|
-
|
|
12738
|
-
/* Icon inside checkbox */
|
|
12739
|
-
.muka-checkbox__icon {
|
|
12740
|
-
width: var(--checkbox-icon-size-default);
|
|
12741
|
-
height: var(--checkbox-icon-size-default);
|
|
12742
|
-
color: var(--checkbox-color-default-icon);
|
|
12743
|
-
opacity: 0;
|
|
12744
|
-
transform: scale(0.8);
|
|
12745
|
-
transition: opacity 0.15s ease, transform 0.15s ease;
|
|
12746
|
-
}
|
|
12747
|
-
|
|
12748
|
-
.muka-checkbox--sm .muka-checkbox__icon {
|
|
12749
|
-
width: var(--checkbox-icon-size-sm);
|
|
12750
|
-
height: var(--checkbox-icon-size-sm);
|
|
12751
|
-
}
|
|
12752
|
-
|
|
12753
|
-
.muka-checkbox--lg .muka-checkbox__icon {
|
|
12754
|
-
width: var(--checkbox-icon-size-lg);
|
|
12755
|
-
height: var(--checkbox-icon-size-lg);
|
|
12756
|
-
}
|
|
12757
|
-
|
|
12758
|
-
/* Hide indeterminate icon by default */
|
|
12759
|
-
.muka-checkbox__icon--indeterminate {
|
|
12760
|
-
position: absolute;
|
|
12761
|
-
}
|
|
12762
|
-
|
|
12763
|
-
/* Hover state - removed per design */
|
|
12764
|
-
|
|
12765
|
-
/* Focus state */
|
|
12766
|
-
.muka-checkbox__input:focus-visible + .muka-checkbox__indicator {
|
|
12767
|
-
outline: 2px solid var(--color-border-focus);
|
|
12768
|
-
outline-offset: 2px;
|
|
12769
|
-
}
|
|
12770
|
-
|
|
12771
|
-
/* Checked state */
|
|
12772
|
-
.muka-checkbox__input:checked + .muka-checkbox__indicator {
|
|
12773
|
-
background-color: var(--checkbox-color-checked-background);
|
|
12774
|
-
border-color: var(--checkbox-color-checked-border);
|
|
12775
|
-
box-shadow: none;
|
|
12776
|
-
}
|
|
12777
|
-
|
|
12778
|
-
.muka-checkbox__input:checked + .muka-checkbox__indicator .muka-checkbox__icon--check {
|
|
12779
|
-
color: var(--checkbox-color-checked-icon);
|
|
12780
|
-
opacity: 1;
|
|
12781
|
-
transform: scale(1);
|
|
12610
|
+
/* Vertical image sizing */
|
|
12611
|
+
.muka-checkbox-tile--vertical .muka-checkbox-tile__image {
|
|
12612
|
+
width: 100%;
|
|
12613
|
+
aspect-ratio: 4/3;
|
|
12782
12614
|
}
|
|
12783
12615
|
|
|
12784
|
-
/*
|
|
12785
|
-
.muka-
|
|
12786
|
-
|
|
12787
|
-
|
|
12788
|
-
|
|
12616
|
+
/* Content container */
|
|
12617
|
+
.muka-checkbox-tile__content {
|
|
12618
|
+
display: flex;
|
|
12619
|
+
flex-direction: column;
|
|
12620
|
+
flex: 1;
|
|
12621
|
+
min-width: 0;
|
|
12622
|
+
gap: var(--spacing-2);
|
|
12789
12623
|
}
|
|
12790
12624
|
|
|
12791
|
-
.muka-
|
|
12792
|
-
|
|
12625
|
+
.muka-checkbox-tile__content-inner {
|
|
12626
|
+
display: flex;
|
|
12627
|
+
flex-direction: column;
|
|
12628
|
+
gap: var(--spacing-1);
|
|
12793
12629
|
}
|
|
12794
12630
|
|
|
12795
|
-
|
|
12796
|
-
|
|
12797
|
-
|
|
12798
|
-
transform: scale(1);
|
|
12631
|
+
/* Chip slot (replaces badge; use Chip component) */
|
|
12632
|
+
.muka-checkbox-tile__chip {
|
|
12633
|
+
flex-shrink: 0;
|
|
12799
12634
|
}
|
|
12800
12635
|
|
|
12801
|
-
|
|
12802
|
-
|
|
12803
|
-
background-color: var(--checkbox-color-disabled-background);
|
|
12804
|
-
border-color: var(--checkbox-color-disabled-border);
|
|
12805
|
-
box-shadow: none;
|
|
12636
|
+
.muka-checkbox-tile__chip--vertical {
|
|
12637
|
+
margin-top: var(--spacing-1);
|
|
12806
12638
|
}
|
|
12807
12639
|
|
|
12808
|
-
|
|
12809
|
-
.muka-
|
|
12810
|
-
|
|
12640
|
+
/* Label */
|
|
12641
|
+
.muka-checkbox-tile__label {
|
|
12642
|
+
font-family: var(--text-body-lg-regular-fontFamily);
|
|
12643
|
+
font-weight: var(--text-body-lg-regular-fontWeight);
|
|
12644
|
+
font-size: var(--text-body-lg-regular-fontSize);
|
|
12645
|
+
line-height: var(--text-body-lg-regular-lineHeight);
|
|
12646
|
+
color: var(--color-text-default-default);
|
|
12811
12647
|
}
|
|
12812
12648
|
|
|
12813
|
-
|
|
12814
|
-
|
|
12815
|
-
font-
|
|
12816
|
-
font-
|
|
12817
|
-
|
|
12818
|
-
line-height: var(--text-label-lg-regular-lineHeight);
|
|
12819
|
-
color: var(--color-text-default-default);
|
|
12649
|
+
.muka-checkbox-tile__label--bold {
|
|
12650
|
+
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
12651
|
+
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
12652
|
+
font-size: var(--text-label-lg-semibold-fontSize);
|
|
12653
|
+
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
12820
12654
|
}
|
|
12821
12655
|
|
|
12822
|
-
.muka-checkbox--
|
|
12823
|
-
|
|
12824
|
-
font-weight: var(--text-label-md-regular-fontWeight);
|
|
12825
|
-
font-size: var(--text-label-md-regular-fontSize);
|
|
12826
|
-
line-height: var(--text-label-md-regular-lineHeight);
|
|
12656
|
+
.muka-checkbox-tile__label--center {
|
|
12657
|
+
text-align: center;
|
|
12827
12658
|
}
|
|
12828
12659
|
|
|
12829
|
-
|
|
12830
|
-
|
|
12831
|
-
font-
|
|
12832
|
-
font-
|
|
12833
|
-
|
|
12660
|
+
/* Caption */
|
|
12661
|
+
.muka-checkbox-tile__caption {
|
|
12662
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
12663
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
12664
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
12665
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
12666
|
+
color: var(--color-text-subtle-default);
|
|
12834
12667
|
}
|
|
12835
12668
|
|
|
12836
|
-
|
|
12669
|
+
/* Disabled states */
|
|
12670
|
+
.muka-checkbox-tile--disabled .muka-checkbox-tile__label,
|
|
12671
|
+
.muka-checkbox-tile--disabled .muka-checkbox-tile__icon {
|
|
12837
12672
|
color: var(--color-text-subtle-default);
|
|
12838
12673
|
}
|
|
12839
12674
|
|
|
@@ -13004,13 +12839,180 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
13004
12839
|
);
|
|
13005
12840
|
}
|
|
13006
12841
|
|
|
13007
|
-
.muka-chat-message-stack--own.muka-chat-message-stack--has-avatar
|
|
13008
|
-
.muka-chat-message-stack__reasoning {
|
|
13009
|
-
padding-left: 0;
|
|
13010
|
-
padding-right: calc(
|
|
13011
|
-
var(--chatbubble-avatar-size-compact) + var(--chatbubble-row-gap-compact)
|
|
13012
|
-
);
|
|
13013
|
-
}
|
|
12842
|
+
.muka-chat-message-stack--own.muka-chat-message-stack--has-avatar
|
|
12843
|
+
.muka-chat-message-stack__reasoning {
|
|
12844
|
+
padding-left: 0;
|
|
12845
|
+
padding-right: calc(
|
|
12846
|
+
var(--chatbubble-avatar-size-compact) + var(--chatbubble-row-gap-compact)
|
|
12847
|
+
);
|
|
12848
|
+
}
|
|
12849
|
+
}
|
|
12850
|
+
|
|
12851
|
+
|
|
12852
|
+
/* Checkbox */
|
|
12853
|
+
/* Checkbox Component Styles - Using Muka Design Tokens */
|
|
12854
|
+
|
|
12855
|
+
/* Wrapper - clickable label container */
|
|
12856
|
+
.muka-checkbox {
|
|
12857
|
+
display: inline-flex;
|
|
12858
|
+
align-items: center;
|
|
12859
|
+
gap: var(--spacing-4);
|
|
12860
|
+
cursor: pointer;
|
|
12861
|
+
user-select: none;
|
|
12862
|
+
}
|
|
12863
|
+
|
|
12864
|
+
.muka-checkbox--disabled {
|
|
12865
|
+
cursor: not-allowed;
|
|
12866
|
+
opacity: 0.6;
|
|
12867
|
+
}
|
|
12868
|
+
|
|
12869
|
+
/* Control container */
|
|
12870
|
+
.muka-checkbox__control {
|
|
12871
|
+
position: relative;
|
|
12872
|
+
display: inline-flex;
|
|
12873
|
+
align-items: center;
|
|
12874
|
+
justify-content: center;
|
|
12875
|
+
flex-shrink: 0;
|
|
12876
|
+
}
|
|
12877
|
+
|
|
12878
|
+
/* Hidden native input */
|
|
12879
|
+
.muka-checkbox__input {
|
|
12880
|
+
position: absolute;
|
|
12881
|
+
width: 1px;
|
|
12882
|
+
height: 1px;
|
|
12883
|
+
padding: 0;
|
|
12884
|
+
margin: -1px;
|
|
12885
|
+
overflow: hidden;
|
|
12886
|
+
clip: rect(0, 0, 0, 0);
|
|
12887
|
+
white-space: nowrap;
|
|
12888
|
+
border: 0;
|
|
12889
|
+
}
|
|
12890
|
+
|
|
12891
|
+
/* Visual indicator (square) */
|
|
12892
|
+
.muka-checkbox__indicator {
|
|
12893
|
+
display: flex;
|
|
12894
|
+
align-items: center;
|
|
12895
|
+
justify-content: center;
|
|
12896
|
+
width: var(--checkbox-size-default);
|
|
12897
|
+
height: var(--checkbox-size-default);
|
|
12898
|
+
border-radius: var(--checkbox-radius);
|
|
12899
|
+
background-color: var(--checkbox-color-default-background);
|
|
12900
|
+
border: var(--border-width-regular) solid var(--checkbox-color-default-border);
|
|
12901
|
+
transition: all 0.15s ease;
|
|
12902
|
+
box-shadow: inset 0 1px 2px 0 rgba(26, 26, 26, 0.15);
|
|
12903
|
+
}
|
|
12904
|
+
|
|
12905
|
+
/* Size variants */
|
|
12906
|
+
.muka-checkbox--sm .muka-checkbox__indicator {
|
|
12907
|
+
width: var(--checkbox-size-sm);
|
|
12908
|
+
height: var(--checkbox-size-sm);
|
|
12909
|
+
}
|
|
12910
|
+
|
|
12911
|
+
.muka-checkbox--lg .muka-checkbox__indicator {
|
|
12912
|
+
width: var(--checkbox-size-lg);
|
|
12913
|
+
height: var(--checkbox-size-lg);
|
|
12914
|
+
}
|
|
12915
|
+
|
|
12916
|
+
/* Icon inside checkbox */
|
|
12917
|
+
.muka-checkbox__icon {
|
|
12918
|
+
width: var(--checkbox-icon-size-default);
|
|
12919
|
+
height: var(--checkbox-icon-size-default);
|
|
12920
|
+
color: var(--checkbox-color-default-icon);
|
|
12921
|
+
opacity: 0;
|
|
12922
|
+
transform: scale(0.8);
|
|
12923
|
+
transition: opacity 0.15s ease, transform 0.15s ease;
|
|
12924
|
+
}
|
|
12925
|
+
|
|
12926
|
+
.muka-checkbox--sm .muka-checkbox__icon {
|
|
12927
|
+
width: var(--checkbox-icon-size-sm);
|
|
12928
|
+
height: var(--checkbox-icon-size-sm);
|
|
12929
|
+
}
|
|
12930
|
+
|
|
12931
|
+
.muka-checkbox--lg .muka-checkbox__icon {
|
|
12932
|
+
width: var(--checkbox-icon-size-lg);
|
|
12933
|
+
height: var(--checkbox-icon-size-lg);
|
|
12934
|
+
}
|
|
12935
|
+
|
|
12936
|
+
/* Hide indeterminate icon by default */
|
|
12937
|
+
.muka-checkbox__icon--indeterminate {
|
|
12938
|
+
position: absolute;
|
|
12939
|
+
}
|
|
12940
|
+
|
|
12941
|
+
/* Hover state - removed per design */
|
|
12942
|
+
|
|
12943
|
+
/* Focus state */
|
|
12944
|
+
.muka-checkbox__input:focus-visible + .muka-checkbox__indicator {
|
|
12945
|
+
outline: 2px solid var(--color-border-focus);
|
|
12946
|
+
outline-offset: 2px;
|
|
12947
|
+
}
|
|
12948
|
+
|
|
12949
|
+
/* Checked state */
|
|
12950
|
+
.muka-checkbox__input:checked + .muka-checkbox__indicator {
|
|
12951
|
+
background-color: var(--checkbox-color-checked-background);
|
|
12952
|
+
border-color: var(--checkbox-color-checked-border);
|
|
12953
|
+
box-shadow: none;
|
|
12954
|
+
}
|
|
12955
|
+
|
|
12956
|
+
.muka-checkbox__input:checked + .muka-checkbox__indicator .muka-checkbox__icon--check {
|
|
12957
|
+
color: var(--checkbox-color-checked-icon);
|
|
12958
|
+
opacity: 1;
|
|
12959
|
+
transform: scale(1);
|
|
12960
|
+
}
|
|
12961
|
+
|
|
12962
|
+
/* Indeterminate state */
|
|
12963
|
+
.muka-checkbox__input:indeterminate + .muka-checkbox__indicator {
|
|
12964
|
+
background-color: var(--checkbox-color-checked-background);
|
|
12965
|
+
border-color: var(--checkbox-color-checked-border);
|
|
12966
|
+
box-shadow: none;
|
|
12967
|
+
}
|
|
12968
|
+
|
|
12969
|
+
.muka-checkbox__input:indeterminate + .muka-checkbox__indicator .muka-checkbox__icon--check {
|
|
12970
|
+
opacity: 0;
|
|
12971
|
+
}
|
|
12972
|
+
|
|
12973
|
+
.muka-checkbox__input:indeterminate + .muka-checkbox__indicator .muka-checkbox__icon--indeterminate {
|
|
12974
|
+
color: var(--checkbox-color-checked-icon);
|
|
12975
|
+
opacity: 1;
|
|
12976
|
+
transform: scale(1);
|
|
12977
|
+
}
|
|
12978
|
+
|
|
12979
|
+
/* Disabled state */
|
|
12980
|
+
.muka-checkbox--disabled .muka-checkbox__indicator {
|
|
12981
|
+
background-color: var(--checkbox-color-disabled-background);
|
|
12982
|
+
border-color: var(--checkbox-color-disabled-border);
|
|
12983
|
+
box-shadow: none;
|
|
12984
|
+
}
|
|
12985
|
+
|
|
12986
|
+
.muka-checkbox__input:disabled:checked + .muka-checkbox__indicator .muka-checkbox__icon--check,
|
|
12987
|
+
.muka-checkbox__input:disabled:indeterminate + .muka-checkbox__indicator .muka-checkbox__icon--indeterminate {
|
|
12988
|
+
color: var(--checkbox-color-disabled-icon);
|
|
12989
|
+
}
|
|
12990
|
+
|
|
12991
|
+
/* Label text */
|
|
12992
|
+
.muka-checkbox__label {
|
|
12993
|
+
font-family: var(--text-label-lg-regular-fontFamily);
|
|
12994
|
+
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
12995
|
+
font-size: var(--text-label-lg-regular-fontSize);
|
|
12996
|
+
line-height: var(--text-label-lg-regular-lineHeight);
|
|
12997
|
+
color: var(--color-text-default-default);
|
|
12998
|
+
}
|
|
12999
|
+
|
|
13000
|
+
.muka-checkbox--sm .muka-checkbox__label {
|
|
13001
|
+
font-family: var(--text-label-md-regular-fontFamily);
|
|
13002
|
+
font-weight: var(--text-label-md-regular-fontWeight);
|
|
13003
|
+
font-size: var(--text-label-md-regular-fontSize);
|
|
13004
|
+
line-height: var(--text-label-md-regular-lineHeight);
|
|
13005
|
+
}
|
|
13006
|
+
|
|
13007
|
+
.muka-checkbox--lg .muka-checkbox__label {
|
|
13008
|
+
font-family: var(--text-label-xl-regular-fontFamily);
|
|
13009
|
+
font-weight: var(--text-label-xl-regular-fontWeight);
|
|
13010
|
+
font-size: var(--text-label-xl-regular-fontSize);
|
|
13011
|
+
line-height: var(--text-label-xl-regular-lineHeight);
|
|
13012
|
+
}
|
|
13013
|
+
|
|
13014
|
+
.muka-checkbox--disabled .muka-checkbox__label {
|
|
13015
|
+
color: var(--color-text-subtle-default);
|
|
13014
13016
|
}
|
|
13015
13017
|
|
|
13016
13018
|
|
|
@@ -13057,729 +13059,729 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
13057
13059
|
}
|
|
13058
13060
|
|
|
13059
13061
|
|
|
13060
|
-
/*
|
|
13061
|
-
/*
|
|
13062
|
+
/* ChatComposer */
|
|
13063
|
+
/* ChatComposer Component Styles */
|
|
13062
13064
|
|
|
13063
|
-
|
|
13065
|
+
/*
|
|
13066
|
+
* The composer is a bare, fill-width row: no padding, background, border or
|
|
13067
|
+
* max-width of its own (Figma 5243:14141). Whatever hosts it owns the
|
|
13068
|
+
* container — see BottomBar's `chat` variant.
|
|
13069
|
+
*/
|
|
13070
|
+
.muka-chat-composer {
|
|
13064
13071
|
display: flex;
|
|
13065
13072
|
flex-direction: column;
|
|
13073
|
+
gap: var(--spacing-3);
|
|
13066
13074
|
width: 100%;
|
|
13067
|
-
max-width: 100%;
|
|
13068
13075
|
}
|
|
13069
13076
|
|
|
13070
|
-
|
|
13077
|
+
.muka-chat-composer--disabled {
|
|
13078
|
+
opacity: 0.6;
|
|
13079
|
+
pointer-events: none;
|
|
13080
|
+
}
|
|
13071
13081
|
|
|
13072
|
-
|
|
13073
|
-
|
|
13074
|
-
|
|
13075
|
-
|
|
13076
|
-
column-gap: var(--chatbubble-row-gap);
|
|
13082
|
+
/* ─── Input row ────────────────────────────────────────── */
|
|
13083
|
+
|
|
13084
|
+
.muka-chat-composer__row {
|
|
13085
|
+
display: flex;
|
|
13077
13086
|
width: 100%;
|
|
13087
|
+
align-items: flex-end;
|
|
13088
|
+
gap: var(--spacing-3);
|
|
13078
13089
|
}
|
|
13079
13090
|
|
|
13080
|
-
|
|
13081
|
-
grid-template-columns: auto minmax(0, 1fr);
|
|
13082
|
-
grid-template-areas: 'rail bubble';
|
|
13083
|
-
}
|
|
13091
|
+
/* ─── Text field ───────────────────────────────────────── */
|
|
13084
13092
|
|
|
13085
|
-
.muka-chat-
|
|
13086
|
-
grid-area: rail;
|
|
13087
|
-
/* Sits on the bubble's baseline (Figma 5355:44091) */
|
|
13088
|
-
align-self: end;
|
|
13093
|
+
.muka-chat-composer__field {
|
|
13089
13094
|
display: flex;
|
|
13090
|
-
|
|
13091
|
-
min-width:
|
|
13095
|
+
flex: 1 1 auto;
|
|
13096
|
+
min-width: 0;
|
|
13097
|
+
box-sizing: border-box;
|
|
13098
|
+
align-items: center;
|
|
13099
|
+
gap: var(--spacing-1);
|
|
13100
|
+
min-height: var(--input-field-height-lg, 48px);
|
|
13101
|
+
padding: 0 var(--spacing-2);
|
|
13102
|
+
border: var(--border-width-regular) solid var(--input-field-color-default-border);
|
|
13103
|
+
border-radius: var(--input-field-radius-lg);
|
|
13104
|
+
background-color: var(--input-field-color-default-background);
|
|
13105
|
+
transition: border-color 0.12s ease;
|
|
13092
13106
|
}
|
|
13093
13107
|
|
|
13094
|
-
|
|
13095
|
-
|
|
13096
|
-
|
|
13097
|
-
* bubbles keep their alignment. The header row keeps its own gap.
|
|
13098
|
-
*/
|
|
13099
|
-
@media (max-width: 1023px) {
|
|
13100
|
-
.muka-chat-message__row {
|
|
13101
|
-
column-gap: var(--chatbubble-row-gap-compact);
|
|
13102
|
-
}
|
|
13108
|
+
.muka-chat-composer__field:focus-within {
|
|
13109
|
+
border-color: var(--input-field-color-focus-border, var(--color-action-default));
|
|
13110
|
+
}
|
|
13103
13111
|
|
|
13104
|
-
|
|
13105
|
-
|
|
13106
|
-
|
|
13112
|
+
.muka-chat-composer__input {
|
|
13113
|
+
flex: 1 1 auto;
|
|
13114
|
+
min-width: 0;
|
|
13115
|
+
width: 100%;
|
|
13116
|
+
box-sizing: border-box;
|
|
13117
|
+
resize: none;
|
|
13118
|
+
border: none;
|
|
13119
|
+
background: transparent;
|
|
13120
|
+
outline: none;
|
|
13121
|
+
padding: 0 var(--spacing-1);
|
|
13122
|
+
color: var(--color-text-default-default);
|
|
13123
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
13124
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
13125
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
13126
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
13127
|
+
appearance: none;
|
|
13128
|
+
-webkit-appearance: none;
|
|
13129
|
+
}
|
|
13107
13130
|
|
|
13108
|
-
|
|
13109
|
-
|
|
13110
|
-
width: var(--chatbubble-avatar-size-compact);
|
|
13111
|
-
height: var(--chatbubble-avatar-size-compact);
|
|
13112
|
-
}
|
|
13131
|
+
.muka-chat-composer__input::placeholder {
|
|
13132
|
+
color: var(--color-text-subtle-default);
|
|
13113
13133
|
}
|
|
13114
13134
|
|
|
13115
|
-
/*
|
|
13135
|
+
/* Keep the in-field emoji button flush to the bottom-right as the field grows */
|
|
13136
|
+
.muka-chat-composer__emoji {
|
|
13137
|
+
flex-shrink: 0;
|
|
13138
|
+
}
|
|
13116
13139
|
|
|
13117
|
-
|
|
13118
|
-
|
|
13119
|
-
|
|
13120
|
-
* Width follows the content: a single line hugs, and once the text wraps the
|
|
13121
|
-
* bubble fills to the shared max width. Robust to string or rich children —
|
|
13122
|
-
* no length measuring needed (Figma `Text length` on 5355:44091).
|
|
13123
|
-
*/
|
|
13124
|
-
width: fit-content;
|
|
13125
|
-
/*
|
|
13126
|
-
* Ceiling from design (Figma 5355:44091). Below it, wrapping text fills the
|
|
13127
|
-
* row; above it the fixed cap leaves room for own/peer alignment.
|
|
13128
|
-
*/
|
|
13129
|
-
max-width: var(--chatbubble-max-width);
|
|
13130
|
-
position: relative;
|
|
13140
|
+
/* ─── Recording bar ────────────────────────────────────── */
|
|
13141
|
+
|
|
13142
|
+
.muka-chat-composer__recording {
|
|
13131
13143
|
display: flex;
|
|
13132
|
-
flex
|
|
13133
|
-
|
|
13134
|
-
|
|
13135
|
-
|
|
13136
|
-
|
|
13137
|
-
|
|
13138
|
-
|
|
13144
|
+
flex: 1 1 auto;
|
|
13145
|
+
min-width: 0;
|
|
13146
|
+
box-sizing: border-box;
|
|
13147
|
+
align-items: center;
|
|
13148
|
+
min-height: var(--input-field-height-lg, 48px);
|
|
13149
|
+
padding: var(--card-padding-sm);
|
|
13150
|
+
border: var(--border-width-regular) solid var(--card-color-default-border);
|
|
13151
|
+
border-radius: var(--radius-lg);
|
|
13152
|
+
background-color: var(--card-color-default-background);
|
|
13139
13153
|
}
|
|
13140
13154
|
|
|
13141
|
-
/*
|
|
13142
|
-
|
|
13155
|
+
/* ─── Staged attachments strip ─────────────────────────── */
|
|
13156
|
+
|
|
13157
|
+
.muka-chat-composer__attachments-strip {
|
|
13158
|
+
position: relative;
|
|
13143
13159
|
width: 100%;
|
|
13144
13160
|
}
|
|
13145
13161
|
|
|
13146
|
-
.muka-chat-
|
|
13147
|
-
|
|
13162
|
+
.muka-chat-composer__attachments {
|
|
13163
|
+
display: flex;
|
|
13164
|
+
gap: var(--spacing-3);
|
|
13165
|
+
overflow-x: auto;
|
|
13166
|
+
scroll-behavior: smooth;
|
|
13167
|
+
scrollbar-width: none;
|
|
13148
13168
|
}
|
|
13149
13169
|
|
|
13150
|
-
.muka-chat-
|
|
13151
|
-
|
|
13152
|
-
border-color: var(--chatbubble-color-own-border);
|
|
13153
|
-
color: var(--chatbubble-color-own-foreground);
|
|
13170
|
+
.muka-chat-composer__attachments::-webkit-scrollbar {
|
|
13171
|
+
display: none;
|
|
13154
13172
|
}
|
|
13155
13173
|
|
|
13156
|
-
.muka-chat-
|
|
13157
|
-
|
|
13158
|
-
|
|
13159
|
-
|
|
13174
|
+
.muka-chat-composer__overflow {
|
|
13175
|
+
position: absolute;
|
|
13176
|
+
top: 50%;
|
|
13177
|
+
right: var(--spacing-2);
|
|
13178
|
+
transform: translateY(-50%);
|
|
13160
13179
|
}
|
|
13161
13180
|
|
|
13162
|
-
|
|
13163
|
-
|
|
13164
|
-
|
|
13165
|
-
|
|
13181
|
+
/* ─── Print ────────────────────────────────────────────── */
|
|
13182
|
+
|
|
13183
|
+
@media print {
|
|
13184
|
+
.muka-chat-composer {
|
|
13185
|
+
display: none;
|
|
13186
|
+
}
|
|
13166
13187
|
}
|
|
13167
13188
|
|
|
13168
|
-
/* ─── Header row (author · meta · time · badge) ────────── */
|
|
13169
13189
|
|
|
13170
|
-
|
|
13171
|
-
|
|
13172
|
-
|
|
13190
|
+
/* ChatAttachmentChip */
|
|
13191
|
+
/* ChatAttachmentChip Component Styles */
|
|
13192
|
+
|
|
13193
|
+
.muka-chat-attachment-chip {
|
|
13194
|
+
position: relative;
|
|
13195
|
+
display: inline-flex;
|
|
13173
13196
|
align-items: center;
|
|
13174
|
-
gap: var(--
|
|
13197
|
+
gap: var(--spacing-1);
|
|
13198
|
+
max-width: 240px;
|
|
13199
|
+
padding: var(--spacing-2) var(--spacing-3);
|
|
13200
|
+
background-color: var(--color-surface-level1);
|
|
13201
|
+
border: var(--border-width-regular) solid var(--color-border-default);
|
|
13202
|
+
border-radius: var(--radius-md);
|
|
13203
|
+
overflow: hidden;
|
|
13175
13204
|
}
|
|
13176
13205
|
|
|
13177
|
-
.muka-chat-
|
|
13178
|
-
|
|
13179
|
-
font-weight: var(--text-body-base-bold-fontWeight);
|
|
13180
|
-
font-size: var(--text-body-base-bold-fontSize);
|
|
13181
|
-
line-height: var(--text-body-base-bold-lineHeight);
|
|
13206
|
+
.muka-chat-attachment-chip--uploading {
|
|
13207
|
+
padding-bottom: calc(var(--spacing-2) + 2px);
|
|
13182
13208
|
}
|
|
13183
13209
|
|
|
13184
|
-
.muka-chat-
|
|
13185
|
-
|
|
13186
|
-
color: inherit;
|
|
13187
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
13188
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
13189
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
13190
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
13210
|
+
.muka-chat-attachment-chip--error {
|
|
13211
|
+
border-color: var(--color-state-error-default, var(--color-text-default-default));
|
|
13191
13212
|
}
|
|
13192
13213
|
|
|
13193
|
-
.muka-chat-
|
|
13214
|
+
.muka-chat-attachment-chip--disabled {
|
|
13215
|
+
opacity: 0.5;
|
|
13216
|
+
pointer-events: none;
|
|
13217
|
+
}
|
|
13218
|
+
|
|
13219
|
+
/* ─── Body (icon + text) ───────────────────────────────── */
|
|
13220
|
+
|
|
13221
|
+
.muka-chat-attachment-chip__body {
|
|
13194
13222
|
display: inline-flex;
|
|
13195
13223
|
align-items: center;
|
|
13224
|
+
gap: var(--spacing-2);
|
|
13225
|
+
min-width: 0;
|
|
13226
|
+
flex: 1 1 auto;
|
|
13227
|
+
background: none;
|
|
13228
|
+
border: none;
|
|
13229
|
+
padding: 0;
|
|
13230
|
+
margin: 0;
|
|
13231
|
+
text-align: left;
|
|
13232
|
+
color: inherit;
|
|
13233
|
+
font: inherit;
|
|
13234
|
+
cursor: default;
|
|
13235
|
+
-webkit-tap-highlight-color: transparent;
|
|
13196
13236
|
}
|
|
13197
13237
|
|
|
13198
|
-
|
|
13199
|
-
|
|
13200
|
-
* button in the bubble's top-right corner.
|
|
13201
|
-
*/
|
|
13202
|
-
.muka-chat-message--has-menu .muka-chat-message__header,
|
|
13203
|
-
.muka-chat-message--has-menu.muka-chat-message--no-header .muka-chat-message__message {
|
|
13204
|
-
padding-right: var(--spacing-10);
|
|
13238
|
+
.muka-chat-attachment-chip--interactive .muka-chat-attachment-chip__body {
|
|
13239
|
+
cursor: pointer;
|
|
13205
13240
|
}
|
|
13206
13241
|
|
|
13207
|
-
|
|
13208
|
-
|
|
13209
|
-
|
|
13242
|
+
.muka-chat-attachment-chip--interactive .muka-chat-attachment-chip__body:focus-visible {
|
|
13243
|
+
outline: 2px solid var(--color-action-default);
|
|
13244
|
+
outline-offset: 2px;
|
|
13245
|
+
border-radius: var(--radius-sm);
|
|
13246
|
+
}
|
|
13247
|
+
|
|
13248
|
+
.muka-chat-attachment-chip__icon {
|
|
13249
|
+
display: inline-flex;
|
|
13250
|
+
align-items: center;
|
|
13251
|
+
justify-content: center;
|
|
13252
|
+
flex-shrink: 0;
|
|
13253
|
+
color: var(--color-text-subtle-default);
|
|
13210
13254
|
}
|
|
13211
13255
|
|
|
13212
|
-
|
|
13213
|
-
|
|
13214
|
-
.muka-chat-message__body {
|
|
13256
|
+
.muka-chat-attachment-chip__text {
|
|
13215
13257
|
display: flex;
|
|
13216
13258
|
flex-direction: column;
|
|
13217
|
-
gap: var(--chatbubble-gap);
|
|
13218
13259
|
min-width: 0;
|
|
13260
|
+
flex: 1 1 auto;
|
|
13219
13261
|
}
|
|
13220
13262
|
|
|
13221
|
-
.muka-chat-
|
|
13222
|
-
|
|
13263
|
+
.muka-chat-attachment-chip__name {
|
|
13264
|
+
color: var(--color-text-default-default);
|
|
13265
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13266
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13267
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
13268
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13269
|
+
white-space: nowrap;
|
|
13270
|
+
overflow: hidden;
|
|
13271
|
+
text-overflow: ellipsis;
|
|
13223
13272
|
}
|
|
13224
13273
|
|
|
13225
|
-
.muka-chat-
|
|
13226
|
-
|
|
13227
|
-
font-
|
|
13228
|
-
font-
|
|
13229
|
-
|
|
13230
|
-
|
|
13231
|
-
|
|
13274
|
+
.muka-chat-attachment-chip__meta {
|
|
13275
|
+
color: var(--color-text-subtle-default);
|
|
13276
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13277
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13278
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
13279
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13280
|
+
white-space: nowrap;
|
|
13281
|
+
overflow: hidden;
|
|
13282
|
+
text-overflow: ellipsis;
|
|
13232
13283
|
}
|
|
13233
13284
|
|
|
13234
|
-
|
|
13235
|
-
|
|
13236
|
-
display: none;
|
|
13285
|
+
.muka-chat-attachment-chip--error .muka-chat-attachment-chip__meta {
|
|
13286
|
+
color: var(--color-state-error-default, var(--color-text-default-default));
|
|
13237
13287
|
}
|
|
13238
13288
|
|
|
13239
|
-
/* ───
|
|
13289
|
+
/* ─── Remove button ────────────────────────────────────── */
|
|
13240
13290
|
|
|
13241
|
-
.muka-chat-
|
|
13242
|
-
|
|
13243
|
-
|
|
13244
|
-
|
|
13245
|
-
|
|
13246
|
-
|
|
13247
|
-
|
|
13248
|
-
|
|
13249
|
-
|
|
13250
|
-
border: var(--
|
|
13291
|
+
.muka-chat-attachment-chip__remove {
|
|
13292
|
+
display: inline-flex;
|
|
13293
|
+
align-items: center;
|
|
13294
|
+
justify-content: center;
|
|
13295
|
+
width: 20px;
|
|
13296
|
+
height: 20px;
|
|
13297
|
+
border: none;
|
|
13298
|
+
background: none;
|
|
13299
|
+
padding: 0;
|
|
13300
|
+
border-radius: var(--radius-sm);
|
|
13301
|
+
cursor: pointer;
|
|
13302
|
+
color: var(--color-text-subtle-default);
|
|
13303
|
+
flex-shrink: 0;
|
|
13304
|
+
-webkit-tap-highlight-color: transparent;
|
|
13251
13305
|
}
|
|
13252
13306
|
|
|
13253
|
-
|
|
13254
|
-
|
|
13255
|
-
|
|
13256
|
-
*/
|
|
13257
|
-
.muka-chat-message--own .muka-chat-message__embed {
|
|
13258
|
-
background-color: var(--chatbubble-embed-color-own-background);
|
|
13259
|
-
border-color: var(--chatbubble-embed-color-own-border);
|
|
13260
|
-
color: var(--chatbubble-embed-color-own-foreground);
|
|
13307
|
+
.muka-chat-attachment-chip__remove:hover:not(:disabled) {
|
|
13308
|
+
color: var(--color-text-default-default);
|
|
13309
|
+
background-color: var(--color-surface-level2);
|
|
13261
13310
|
}
|
|
13262
13311
|
|
|
13263
|
-
.muka-chat-
|
|
13264
|
-
|
|
13265
|
-
|
|
13266
|
-
color: var(--chatbubble-embed-color-peer-foreground);
|
|
13312
|
+
.muka-chat-attachment-chip__remove:focus-visible {
|
|
13313
|
+
outline: 2px solid var(--color-action-default);
|
|
13314
|
+
outline-offset: 2px;
|
|
13267
13315
|
}
|
|
13268
13316
|
|
|
13269
|
-
.muka-chat-
|
|
13270
|
-
|
|
13271
|
-
|
|
13272
|
-
color: var(--chatbubble-embed-color-agent-foreground);
|
|
13317
|
+
.muka-chat-attachment-chip__remove:disabled {
|
|
13318
|
+
cursor: not-allowed;
|
|
13319
|
+
opacity: 0.5;
|
|
13273
13320
|
}
|
|
13274
13321
|
|
|
13275
|
-
|
|
13276
|
-
display: flex;
|
|
13277
|
-
flex-direction: column;
|
|
13278
|
-
gap: var(--chatbubble-embed-gap);
|
|
13279
|
-
min-width: 0;
|
|
13280
|
-
}
|
|
13322
|
+
/* ─── Progress bar ─────────────────────────────────────── */
|
|
13281
13323
|
|
|
13282
|
-
.muka-chat-
|
|
13324
|
+
.muka-chat-attachment-chip__progress {
|
|
13283
13325
|
position: absolute;
|
|
13284
|
-
|
|
13285
|
-
right:
|
|
13326
|
+
left: 0;
|
|
13327
|
+
right: 0;
|
|
13328
|
+
bottom: 0;
|
|
13329
|
+
height: 2px;
|
|
13330
|
+
background-color: var(--color-surface-level2);
|
|
13331
|
+
overflow: hidden;
|
|
13286
13332
|
}
|
|
13287
13333
|
|
|
13288
|
-
|
|
13334
|
+
.muka-chat-attachment-chip__progress-fill {
|
|
13335
|
+
display: block;
|
|
13336
|
+
height: 100%;
|
|
13337
|
+
background-color: var(--color-action-default);
|
|
13338
|
+
transition: width 0.16s ease;
|
|
13339
|
+
}
|
|
13289
13340
|
|
|
13290
|
-
.muka-chat-
|
|
13291
|
-
|
|
13292
|
-
flex-direction: column;
|
|
13293
|
-
gap: var(--chatbubble-action-stack-gap);
|
|
13341
|
+
.muka-chat-attachment-chip--error .muka-chat-attachment-chip__progress-fill {
|
|
13342
|
+
background-color: var(--color-state-error-default, var(--color-text-default-default));
|
|
13294
13343
|
}
|
|
13295
13344
|
|
|
13296
|
-
/* ─── Inset timestamp ──────────────────────────────────── */
|
|
13297
13345
|
|
|
13298
|
-
/*
|
|
13299
|
-
|
|
13300
|
-
* the message — never in the header row (Figma 5355:44091).
|
|
13301
|
-
*/
|
|
13346
|
+
/* Card */
|
|
13347
|
+
/* Card Component Styles - Using Muka Design Tokens */
|
|
13302
13348
|
|
|
13303
|
-
.muka-
|
|
13304
|
-
color: var(--
|
|
13305
|
-
|
|
13306
|
-
|
|
13307
|
-
|
|
13308
|
-
|
|
13309
|
-
|
|
13349
|
+
.muka-card {
|
|
13350
|
+
background-color: var(--card-color-default-background);
|
|
13351
|
+
color: var(--card-color-default-foreground);
|
|
13352
|
+
border: var(--border-width-regular) solid var(--card-color-default-border);
|
|
13353
|
+
box-shadow: var(--card-shadow-default);
|
|
13354
|
+
transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
|
|
13355
|
+
overflow: hidden;
|
|
13310
13356
|
}
|
|
13311
13357
|
|
|
13312
|
-
/*
|
|
13313
|
-
|
|
13314
|
-
|
|
13315
|
-
*/
|
|
13316
|
-
.muka-chat-message__timestamp--inset {
|
|
13317
|
-
position: absolute;
|
|
13318
|
-
right: var(--spacing-2);
|
|
13319
|
-
bottom: var(--spacing-1);
|
|
13358
|
+
/* Padding variants */
|
|
13359
|
+
.muka-card--padding-none {
|
|
13360
|
+
padding: 0;
|
|
13320
13361
|
}
|
|
13321
13362
|
|
|
13322
|
-
|
|
13323
|
-
|
|
13324
|
-
* trailing text), it runs the full width, so reserve a line below for the inset
|
|
13325
|
-
* timestamp. A message that ends in text clears the corner inline instead (see
|
|
13326
|
-
* `__message` padding-right above), so it needs no extra bottom space.
|
|
13327
|
-
*/
|
|
13328
|
-
.muka-chat-message--has-timestamp.muka-chat-message--trailing-block .muka-chat-message__body {
|
|
13329
|
-
padding-bottom: var(--text-body-xs-regular-lineHeight);
|
|
13363
|
+
.muka-card--padding-sm {
|
|
13364
|
+
padding: var(--card-padding-sm);
|
|
13330
13365
|
}
|
|
13331
13366
|
|
|
13332
|
-
|
|
13333
|
-
|
|
13334
|
-
/*
|
|
13335
|
-
* Hidden at rest. Revealed on hover on pointer devices, on keyboard focus
|
|
13336
|
-
* everywhere, and pinned while its menu is open. On touch the equivalent
|
|
13337
|
-
* affordance is a long-press on the bubble, which opens an ActionSheet.
|
|
13338
|
-
*/
|
|
13339
|
-
.muka-chat-message__menu {
|
|
13340
|
-
position: absolute;
|
|
13341
|
-
top: var(--spacing-1);
|
|
13342
|
-
right: var(--spacing-1);
|
|
13343
|
-
opacity: 0;
|
|
13344
|
-
pointer-events: none;
|
|
13367
|
+
.muka-card--padding-md {
|
|
13368
|
+
padding: var(--card-padding-md);
|
|
13345
13369
|
}
|
|
13346
13370
|
|
|
13347
|
-
.muka-
|
|
13348
|
-
|
|
13349
|
-
opacity: 1;
|
|
13350
|
-
pointer-events: auto;
|
|
13371
|
+
.muka-card--padding-lg {
|
|
13372
|
+
padding: var(--card-padding-lg);
|
|
13351
13373
|
}
|
|
13352
13374
|
|
|
13353
|
-
|
|
13354
|
-
|
|
13355
|
-
|
|
13356
|
-
pointer-events: auto;
|
|
13357
|
-
}
|
|
13375
|
+
/* Radius variants */
|
|
13376
|
+
.muka-card--radius-sm {
|
|
13377
|
+
border-radius: var(--card-radius-sm);
|
|
13358
13378
|
}
|
|
13359
13379
|
|
|
13360
|
-
|
|
13361
|
-
|
|
13362
|
-
.muka-chat-message--has-menu .muka-chat-message__bubble {
|
|
13363
|
-
-webkit-touch-callout: none;
|
|
13364
|
-
}
|
|
13380
|
+
.muka-card--radius-md {
|
|
13381
|
+
border-radius: var(--card-radius-md);
|
|
13365
13382
|
}
|
|
13366
13383
|
|
|
13367
|
-
|
|
13368
|
-
|
|
13369
|
-
@media print {
|
|
13370
|
-
.muka-chat-message__bubble {
|
|
13371
|
-
box-shadow: none;
|
|
13372
|
-
break-inside: avoid;
|
|
13373
|
-
print-color-adjust: exact;
|
|
13374
|
-
-webkit-print-color-adjust: exact;
|
|
13375
|
-
}
|
|
13376
|
-
|
|
13377
|
-
.muka-chat-message__embed {
|
|
13378
|
-
break-inside: avoid;
|
|
13379
|
-
print-color-adjust: exact;
|
|
13380
|
-
-webkit-print-color-adjust: exact;
|
|
13381
|
-
}
|
|
13382
|
-
|
|
13383
|
-
.muka-chat-message__menu,
|
|
13384
|
-
.muka-chat-message__embed-copy,
|
|
13385
|
-
.muka-chat-message__action-stack {
|
|
13386
|
-
display: none;
|
|
13387
|
-
}
|
|
13384
|
+
.muka-card--radius-lg {
|
|
13385
|
+
border-radius: var(--card-radius-lg);
|
|
13388
13386
|
}
|
|
13389
13387
|
|
|
13390
|
-
|
|
13391
|
-
|
|
13392
|
-
|
|
13393
|
-
|
|
13394
|
-
/*
|
|
13395
|
-
* The composer is a bare, fill-width row: no padding, background, border or
|
|
13396
|
-
* max-width of its own (Figma 5243:14141). Whatever hosts it owns the
|
|
13397
|
-
* container — see BottomBar's `chat` variant.
|
|
13398
|
-
*/
|
|
13399
|
-
.muka-chat-composer {
|
|
13400
|
-
display: flex;
|
|
13401
|
-
flex-direction: column;
|
|
13402
|
-
gap: var(--spacing-3);
|
|
13403
|
-
width: 100%;
|
|
13388
|
+
/* Interactive variant */
|
|
13389
|
+
.muka-card--interactive {
|
|
13390
|
+
cursor: pointer;
|
|
13391
|
+
user-select: none;
|
|
13404
13392
|
}
|
|
13405
13393
|
|
|
13406
|
-
.muka-
|
|
13407
|
-
|
|
13408
|
-
|
|
13394
|
+
.muka-card--interactive:hover {
|
|
13395
|
+
background-color: var(--card-color-hover-background);
|
|
13396
|
+
border-color: var(--card-color-hover-border);
|
|
13397
|
+
box-shadow: var(--card-shadow-hover);
|
|
13409
13398
|
}
|
|
13410
13399
|
|
|
13411
|
-
|
|
13412
|
-
|
|
13413
|
-
|
|
13414
|
-
|
|
13415
|
-
|
|
13416
|
-
align-items: flex-end;
|
|
13417
|
-
gap: var(--spacing-3);
|
|
13400
|
+
.muka-card--interactive:active,
|
|
13401
|
+
.muka-card--interactive.muka-card--pressed {
|
|
13402
|
+
background-color: var(--card-color-pressed-background);
|
|
13403
|
+
border-color: var(--card-color-pressed-border);
|
|
13404
|
+
box-shadow: var(--card-shadow-pressed);
|
|
13418
13405
|
}
|
|
13419
13406
|
|
|
13420
|
-
|
|
13407
|
+
.muka-card--interactive:focus-visible {
|
|
13408
|
+
outline: 2px solid var(--color-border-focus);
|
|
13409
|
+
outline-offset: 2px;
|
|
13410
|
+
}
|
|
13421
13411
|
|
|
13422
|
-
|
|
13423
|
-
|
|
13424
|
-
|
|
13425
|
-
|
|
13426
|
-
|
|
13427
|
-
|
|
13428
|
-
gap: var(--spacing-1);
|
|
13429
|
-
min-height: var(--input-field-height-lg, 48px);
|
|
13430
|
-
padding: 0 var(--spacing-2);
|
|
13431
|
-
border: var(--border-width-regular) solid var(--input-field-color-default-border);
|
|
13432
|
-
border-radius: var(--input-field-radius-lg);
|
|
13433
|
-
background-color: var(--input-field-color-default-background);
|
|
13434
|
-
transition: border-color 0.12s ease;
|
|
13412
|
+
/* Selected variant */
|
|
13413
|
+
.muka-card--selected {
|
|
13414
|
+
background-color: var(--card-color-selected-background);
|
|
13415
|
+
border-color: var(--card-color-selected-border);
|
|
13416
|
+
border-width: var(--border-width-bold);
|
|
13417
|
+
box-shadow: var(--card-shadow-selected);
|
|
13435
13418
|
}
|
|
13436
13419
|
|
|
13437
|
-
|
|
13438
|
-
|
|
13420
|
+
/* Optional header (title + description) */
|
|
13421
|
+
.muka-card__header {
|
|
13422
|
+
margin-bottom: var(--spacing-4);
|
|
13439
13423
|
}
|
|
13440
13424
|
|
|
13441
|
-
.muka-
|
|
13442
|
-
|
|
13443
|
-
min-width: 0;
|
|
13444
|
-
width: 100%;
|
|
13445
|
-
box-sizing: border-box;
|
|
13446
|
-
resize: none;
|
|
13447
|
-
border: none;
|
|
13448
|
-
background: transparent;
|
|
13449
|
-
outline: none;
|
|
13450
|
-
padding: 0 var(--spacing-1);
|
|
13425
|
+
.muka-card__title {
|
|
13426
|
+
margin: 0;
|
|
13451
13427
|
color: var(--color-text-default-default);
|
|
13452
|
-
font-family: var(--text-
|
|
13453
|
-
font-weight: var(--text-
|
|
13454
|
-
font-size: var(--text-
|
|
13455
|
-
line-height: var(--text-
|
|
13456
|
-
|
|
13457
|
-
-webkit-appearance: none;
|
|
13428
|
+
font-family: var(--text-heading-xs-fontFamily);
|
|
13429
|
+
font-weight: var(--text-heading-xs-fontWeight);
|
|
13430
|
+
font-size: var(--text-heading-xs-fontSize);
|
|
13431
|
+
line-height: var(--text-heading-xs-lineHeight);
|
|
13432
|
+
letter-spacing: var(--text-heading-xs-letterSpacing);
|
|
13458
13433
|
}
|
|
13459
13434
|
|
|
13460
|
-
.muka-
|
|
13435
|
+
.muka-card__description {
|
|
13436
|
+
margin: var(--spacing-1) 0 0;
|
|
13461
13437
|
color: var(--color-text-subtle-default);
|
|
13438
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13439
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13440
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
13441
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13462
13442
|
}
|
|
13463
13443
|
|
|
13464
|
-
/*
|
|
13465
|
-
.muka-
|
|
13466
|
-
|
|
13444
|
+
/* Hide divider on last list item inside card */
|
|
13445
|
+
.muka-card > .muka-listitem:last-child > .muka-listitem__divider {
|
|
13446
|
+
display: none;
|
|
13467
13447
|
}
|
|
13468
13448
|
|
|
13469
|
-
/*
|
|
13449
|
+
/* Disabled state */
|
|
13450
|
+
.muka-card--disabled {
|
|
13451
|
+
opacity: 0.5;
|
|
13452
|
+
cursor: not-allowed;
|
|
13453
|
+
pointer-events: none;
|
|
13454
|
+
}
|
|
13470
13455
|
|
|
13471
|
-
|
|
13456
|
+
|
|
13457
|
+
/* ChatMessage */
|
|
13458
|
+
/* ChatMessage Component Styles */
|
|
13459
|
+
|
|
13460
|
+
.muka-chat-message {
|
|
13472
13461
|
display: flex;
|
|
13473
|
-
flex:
|
|
13474
|
-
|
|
13475
|
-
|
|
13476
|
-
align-items: center;
|
|
13477
|
-
min-height: var(--input-field-height-lg, 48px);
|
|
13478
|
-
padding: var(--card-padding-sm);
|
|
13479
|
-
border: var(--border-width-regular) solid var(--card-color-default-border);
|
|
13480
|
-
border-radius: var(--radius-lg);
|
|
13481
|
-
background-color: var(--card-color-default-background);
|
|
13462
|
+
flex-direction: column;
|
|
13463
|
+
width: 100%;
|
|
13464
|
+
max-width: 100%;
|
|
13482
13465
|
}
|
|
13483
13466
|
|
|
13484
|
-
/* ───
|
|
13467
|
+
/* ─── Row: avatar rail + bubble ────────────────────────── */
|
|
13485
13468
|
|
|
13486
|
-
.muka-chat-
|
|
13487
|
-
|
|
13469
|
+
.muka-chat-message__row {
|
|
13470
|
+
display: grid;
|
|
13471
|
+
grid-template-columns: minmax(0, 1fr);
|
|
13472
|
+
grid-template-areas: 'bubble';
|
|
13473
|
+
column-gap: var(--chatbubble-row-gap);
|
|
13488
13474
|
width: 100%;
|
|
13489
13475
|
}
|
|
13490
13476
|
|
|
13491
|
-
.muka-chat-
|
|
13492
|
-
|
|
13493
|
-
|
|
13494
|
-
overflow-x: auto;
|
|
13495
|
-
scroll-behavior: smooth;
|
|
13496
|
-
scrollbar-width: none;
|
|
13477
|
+
.muka-chat-message--has-avatar .muka-chat-message__row {
|
|
13478
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
13479
|
+
grid-template-areas: 'rail bubble';
|
|
13497
13480
|
}
|
|
13498
13481
|
|
|
13499
|
-
.muka-chat-
|
|
13500
|
-
|
|
13482
|
+
.muka-chat-message__rail {
|
|
13483
|
+
grid-area: rail;
|
|
13484
|
+
/* Sits on the bubble's baseline (Figma 5355:44091) */
|
|
13485
|
+
align-self: end;
|
|
13486
|
+
display: flex;
|
|
13487
|
+
justify-content: center;
|
|
13488
|
+
min-width: var(--chatbubble-avatar-size);
|
|
13501
13489
|
}
|
|
13502
13490
|
|
|
13503
|
-
|
|
13504
|
-
|
|
13505
|
-
|
|
13506
|
-
|
|
13507
|
-
|
|
13508
|
-
|
|
13491
|
+
/*
|
|
13492
|
+
* The Small size in Figma (5373:44702) halves the avatar to 32px and tightens
|
|
13493
|
+
* the gap to the bubble. Size the avatar itself, not just the rail, so the
|
|
13494
|
+
* bubbles keep their alignment. The header row keeps its own gap.
|
|
13495
|
+
*/
|
|
13496
|
+
@media (max-width: 1023px) {
|
|
13497
|
+
.muka-chat-message__row {
|
|
13498
|
+
column-gap: var(--chatbubble-row-gap-compact);
|
|
13499
|
+
}
|
|
13509
13500
|
|
|
13510
|
-
|
|
13501
|
+
.muka-chat-message__rail {
|
|
13502
|
+
min-width: var(--chatbubble-avatar-size-compact);
|
|
13503
|
+
}
|
|
13511
13504
|
|
|
13512
|
-
|
|
13513
|
-
.muka-chat-
|
|
13514
|
-
|
|
13505
|
+
/* Outweighs the avatar's own size class, which sets width/height directly */
|
|
13506
|
+
.muka-chat-message .muka-chat-message__rail > * {
|
|
13507
|
+
width: var(--chatbubble-avatar-size-compact);
|
|
13508
|
+
height: var(--chatbubble-avatar-size-compact);
|
|
13515
13509
|
}
|
|
13516
13510
|
}
|
|
13517
13511
|
|
|
13512
|
+
/* ─── Bubble surface ───────────────────────────────────── */
|
|
13518
13513
|
|
|
13519
|
-
|
|
13520
|
-
|
|
13521
|
-
|
|
13522
|
-
|
|
13514
|
+
.muka-chat-message__bubble {
|
|
13515
|
+
grid-area: bubble;
|
|
13516
|
+
/*
|
|
13517
|
+
* Width follows the content: a single line hugs, and once the text wraps the
|
|
13518
|
+
* bubble fills to the shared max width. Robust to string or rich children —
|
|
13519
|
+
* no length measuring needed (Figma `Text length` on 5355:44091).
|
|
13520
|
+
*/
|
|
13521
|
+
width: fit-content;
|
|
13522
|
+
/*
|
|
13523
|
+
* Ceiling from design (Figma 5355:44091). Below it, wrapping text fills the
|
|
13524
|
+
* row; above it the fixed cap leaves room for own/peer alignment.
|
|
13525
|
+
*/
|
|
13526
|
+
max-width: var(--chatbubble-max-width);
|
|
13523
13527
|
position: relative;
|
|
13524
|
-
display:
|
|
13525
|
-
|
|
13526
|
-
gap: var(--
|
|
13527
|
-
|
|
13528
|
-
|
|
13529
|
-
|
|
13530
|
-
|
|
13531
|
-
|
|
13532
|
-
overflow: hidden;
|
|
13533
|
-
}
|
|
13534
|
-
|
|
13535
|
-
.muka-chat-attachment-chip--uploading {
|
|
13536
|
-
padding-bottom: calc(var(--spacing-2) + 2px);
|
|
13528
|
+
display: flex;
|
|
13529
|
+
flex-direction: column;
|
|
13530
|
+
gap: var(--chatbubble-gap);
|
|
13531
|
+
padding: var(--chatbubble-padding-block) var(--chatbubble-padding-inline);
|
|
13532
|
+
border-radius: var(--chatbubble-radius);
|
|
13533
|
+
border: var(--border-width-regular) solid transparent;
|
|
13534
|
+
box-shadow: var(--shadow-level2);
|
|
13535
|
+
word-break: break-word;
|
|
13537
13536
|
}
|
|
13538
13537
|
|
|
13539
|
-
.
|
|
13540
|
-
|
|
13538
|
+
/* Media, an embed or an action stack always run the full bubble width. */
|
|
13539
|
+
.muka-chat-message--has-blocks .muka-chat-message__bubble {
|
|
13540
|
+
width: 100%;
|
|
13541
13541
|
}
|
|
13542
13542
|
|
|
13543
|
-
.muka-chat-
|
|
13544
|
-
|
|
13545
|
-
pointer-events: none;
|
|
13543
|
+
.muka-chat-message--own .muka-chat-message__bubble {
|
|
13544
|
+
justify-self: end;
|
|
13546
13545
|
}
|
|
13547
13546
|
|
|
13548
|
-
|
|
13549
|
-
|
|
13550
|
-
|
|
13551
|
-
|
|
13552
|
-
align-items: center;
|
|
13553
|
-
gap: var(--spacing-2);
|
|
13554
|
-
min-width: 0;
|
|
13555
|
-
flex: 1 1 auto;
|
|
13556
|
-
background: none;
|
|
13557
|
-
border: none;
|
|
13558
|
-
padding: 0;
|
|
13559
|
-
margin: 0;
|
|
13560
|
-
text-align: left;
|
|
13561
|
-
color: inherit;
|
|
13562
|
-
font: inherit;
|
|
13563
|
-
cursor: default;
|
|
13564
|
-
-webkit-tap-highlight-color: transparent;
|
|
13547
|
+
.muka-chat-message--own .muka-chat-message__bubble {
|
|
13548
|
+
background-color: var(--chatbubble-color-own-background);
|
|
13549
|
+
border-color: var(--chatbubble-color-own-border);
|
|
13550
|
+
color: var(--chatbubble-color-own-foreground);
|
|
13565
13551
|
}
|
|
13566
13552
|
|
|
13567
|
-
.muka-chat-
|
|
13568
|
-
|
|
13553
|
+
.muka-chat-message--peer .muka-chat-message__bubble {
|
|
13554
|
+
background-color: var(--chatbubble-color-peer-background);
|
|
13555
|
+
border-color: var(--chatbubble-color-peer-border);
|
|
13556
|
+
color: var(--chatbubble-color-peer-foreground);
|
|
13569
13557
|
}
|
|
13570
13558
|
|
|
13571
|
-
.muka-chat-
|
|
13572
|
-
|
|
13573
|
-
|
|
13574
|
-
|
|
13559
|
+
.muka-chat-message--agent .muka-chat-message__bubble {
|
|
13560
|
+
background-color: var(--chatbubble-color-agent-background);
|
|
13561
|
+
border-color: var(--chatbubble-color-agent-border);
|
|
13562
|
+
color: var(--chatbubble-color-agent-foreground);
|
|
13575
13563
|
}
|
|
13576
13564
|
|
|
13577
|
-
|
|
13578
|
-
display: inline-flex;
|
|
13579
|
-
align-items: center;
|
|
13580
|
-
justify-content: center;
|
|
13581
|
-
flex-shrink: 0;
|
|
13582
|
-
color: var(--color-text-subtle-default);
|
|
13583
|
-
}
|
|
13565
|
+
/* ─── Header row (author · meta · time · badge) ────────── */
|
|
13584
13566
|
|
|
13585
|
-
.muka-chat-
|
|
13567
|
+
.muka-chat-message__header {
|
|
13586
13568
|
display: flex;
|
|
13587
|
-
flex-
|
|
13588
|
-
|
|
13589
|
-
|
|
13590
|
-
}
|
|
13591
|
-
|
|
13592
|
-
.muka-chat-attachment-chip__name {
|
|
13593
|
-
color: var(--color-text-default-default);
|
|
13594
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13595
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13596
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
13597
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13598
|
-
white-space: nowrap;
|
|
13599
|
-
overflow: hidden;
|
|
13600
|
-
text-overflow: ellipsis;
|
|
13569
|
+
flex-flow: row wrap;
|
|
13570
|
+
align-items: center;
|
|
13571
|
+
gap: var(--chatbubble-row-gap);
|
|
13601
13572
|
}
|
|
13602
13573
|
|
|
13603
|
-
.muka-chat-
|
|
13604
|
-
|
|
13605
|
-
font-
|
|
13606
|
-
font-
|
|
13607
|
-
|
|
13608
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13609
|
-
white-space: nowrap;
|
|
13610
|
-
overflow: hidden;
|
|
13611
|
-
text-overflow: ellipsis;
|
|
13574
|
+
.muka-chat-message__author {
|
|
13575
|
+
font-family: var(--text-body-base-bold-fontFamily);
|
|
13576
|
+
font-weight: var(--text-body-base-bold-fontWeight);
|
|
13577
|
+
font-size: var(--text-body-base-bold-fontSize);
|
|
13578
|
+
line-height: var(--text-body-base-bold-lineHeight);
|
|
13612
13579
|
}
|
|
13613
13580
|
|
|
13614
|
-
.muka-chat-
|
|
13615
|
-
|
|
13581
|
+
.muka-chat-message__author-meta {
|
|
13582
|
+
/* Inherits the variant's body colour from the bubble */
|
|
13583
|
+
color: inherit;
|
|
13584
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
13585
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
13586
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
13587
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
13616
13588
|
}
|
|
13617
13589
|
|
|
13618
|
-
|
|
13619
|
-
|
|
13620
|
-
.muka-chat-attachment-chip__remove {
|
|
13590
|
+
.muka-chat-message__badge {
|
|
13621
13591
|
display: inline-flex;
|
|
13622
13592
|
align-items: center;
|
|
13623
|
-
justify-content: center;
|
|
13624
|
-
width: 20px;
|
|
13625
|
-
height: 20px;
|
|
13626
|
-
border: none;
|
|
13627
|
-
background: none;
|
|
13628
|
-
padding: 0;
|
|
13629
|
-
border-radius: var(--radius-sm);
|
|
13630
|
-
cursor: pointer;
|
|
13631
|
-
color: var(--color-text-subtle-default);
|
|
13632
|
-
flex-shrink: 0;
|
|
13633
|
-
-webkit-tap-highlight-color: transparent;
|
|
13634
|
-
}
|
|
13635
|
-
|
|
13636
|
-
.muka-chat-attachment-chip__remove:hover:not(:disabled) {
|
|
13637
|
-
color: var(--color-text-default-default);
|
|
13638
|
-
background-color: var(--color-surface-level2);
|
|
13639
13593
|
}
|
|
13640
13594
|
|
|
13641
|
-
|
|
13642
|
-
|
|
13643
|
-
|
|
13595
|
+
/*
|
|
13596
|
+
* Keep the first line of content clear of the absolutely positioned menu
|
|
13597
|
+
* button in the bubble's top-right corner.
|
|
13598
|
+
*/
|
|
13599
|
+
.muka-chat-message--has-menu .muka-chat-message__header,
|
|
13600
|
+
.muka-chat-message--has-menu.muka-chat-message--no-header .muka-chat-message__message {
|
|
13601
|
+
padding-right: var(--spacing-10);
|
|
13644
13602
|
}
|
|
13645
13603
|
|
|
13646
|
-
|
|
13647
|
-
|
|
13648
|
-
|
|
13604
|
+
/* …and the last line clear of the inset timestamp in the bottom-right corner */
|
|
13605
|
+
.muka-chat-message--has-timestamp .muka-chat-message__message {
|
|
13606
|
+
padding-right: var(--spacing-10);
|
|
13649
13607
|
}
|
|
13650
13608
|
|
|
13651
|
-
/* ───
|
|
13609
|
+
/* ─── Body ─────────────────────────────────────────────── */
|
|
13652
13610
|
|
|
13653
|
-
.muka-chat-
|
|
13654
|
-
|
|
13655
|
-
|
|
13656
|
-
|
|
13657
|
-
|
|
13658
|
-
height: 2px;
|
|
13659
|
-
background-color: var(--color-surface-level2);
|
|
13660
|
-
overflow: hidden;
|
|
13611
|
+
.muka-chat-message__body {
|
|
13612
|
+
display: flex;
|
|
13613
|
+
flex-direction: column;
|
|
13614
|
+
gap: var(--chatbubble-gap);
|
|
13615
|
+
min-width: 0;
|
|
13661
13616
|
}
|
|
13662
13617
|
|
|
13663
|
-
.muka-chat-
|
|
13664
|
-
|
|
13665
|
-
height: 100%;
|
|
13666
|
-
background-color: var(--color-action-default);
|
|
13667
|
-
transition: width 0.16s ease;
|
|
13618
|
+
.muka-chat-message__media {
|
|
13619
|
+
min-width: 0;
|
|
13668
13620
|
}
|
|
13669
13621
|
|
|
13670
|
-
.muka-chat-
|
|
13671
|
-
|
|
13622
|
+
.muka-chat-message__message {
|
|
13623
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
13624
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
13625
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
13626
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
13627
|
+
white-space: pre-wrap;
|
|
13628
|
+
word-break: break-word;
|
|
13672
13629
|
}
|
|
13673
13630
|
|
|
13631
|
+
/* Empty message block should not add a gap of its own */
|
|
13632
|
+
.muka-chat-message__message:empty {
|
|
13633
|
+
display: none;
|
|
13634
|
+
}
|
|
13674
13635
|
|
|
13675
|
-
/*
|
|
13676
|
-
/* Card Component Styles - Using Muka Design Tokens */
|
|
13636
|
+
/* ─── Embedded card ────────────────────────────────────── */
|
|
13677
13637
|
|
|
13678
|
-
.muka-
|
|
13679
|
-
|
|
13680
|
-
|
|
13681
|
-
|
|
13682
|
-
|
|
13683
|
-
|
|
13684
|
-
|
|
13638
|
+
.muka-chat-message__embed {
|
|
13639
|
+
position: relative;
|
|
13640
|
+
display: flex;
|
|
13641
|
+
flex-direction: column;
|
|
13642
|
+
gap: var(--chatbubble-embed-gap);
|
|
13643
|
+
/* The card is inset from the blocks above and below it (Figma 5289:40562) */
|
|
13644
|
+
margin-block: var(--chatbubble-embed-margin-block);
|
|
13645
|
+
padding: var(--chatbubble-embed-padding-block) var(--chatbubble-embed-padding-inline);
|
|
13646
|
+
border-radius: var(--chatbubble-embed-radius);
|
|
13647
|
+
border: var(--border-width-regular) solid transparent;
|
|
13685
13648
|
}
|
|
13686
13649
|
|
|
13687
|
-
/*
|
|
13688
|
-
|
|
13689
|
-
|
|
13650
|
+
/*
|
|
13651
|
+
* The embed sits on the raised surface of its author's role, one step apart
|
|
13652
|
+
* from the bubble it is nested in, and reuses that role's border colour.
|
|
13653
|
+
*/
|
|
13654
|
+
.muka-chat-message--own .muka-chat-message__embed {
|
|
13655
|
+
background-color: var(--chatbubble-embed-color-own-background);
|
|
13656
|
+
border-color: var(--chatbubble-embed-color-own-border);
|
|
13657
|
+
color: var(--chatbubble-embed-color-own-foreground);
|
|
13690
13658
|
}
|
|
13691
13659
|
|
|
13692
|
-
.muka-
|
|
13693
|
-
|
|
13660
|
+
.muka-chat-message--peer .muka-chat-message__embed {
|
|
13661
|
+
background-color: var(--chatbubble-embed-color-peer-background);
|
|
13662
|
+
border-color: var(--chatbubble-embed-color-peer-border);
|
|
13663
|
+
color: var(--chatbubble-embed-color-peer-foreground);
|
|
13694
13664
|
}
|
|
13695
13665
|
|
|
13696
|
-
.muka-
|
|
13697
|
-
|
|
13666
|
+
.muka-chat-message--agent .muka-chat-message__embed {
|
|
13667
|
+
background-color: var(--chatbubble-embed-color-agent-background);
|
|
13668
|
+
border-color: var(--chatbubble-embed-color-agent-border);
|
|
13669
|
+
color: var(--chatbubble-embed-color-agent-foreground);
|
|
13698
13670
|
}
|
|
13699
13671
|
|
|
13700
|
-
.muka-
|
|
13701
|
-
|
|
13672
|
+
.muka-chat-message__embed-content {
|
|
13673
|
+
display: flex;
|
|
13674
|
+
flex-direction: column;
|
|
13675
|
+
gap: var(--chatbubble-embed-gap);
|
|
13676
|
+
min-width: 0;
|
|
13702
13677
|
}
|
|
13703
13678
|
|
|
13704
|
-
|
|
13705
|
-
|
|
13706
|
-
|
|
13679
|
+
.muka-chat-message__embed-copy {
|
|
13680
|
+
position: absolute;
|
|
13681
|
+
top: var(--chatbubble-embed-padding-block);
|
|
13682
|
+
right: var(--chatbubble-embed-padding-inline);
|
|
13707
13683
|
}
|
|
13708
13684
|
|
|
13709
|
-
|
|
13710
|
-
border-radius: var(--card-radius-md);
|
|
13711
|
-
}
|
|
13685
|
+
/* ─── Stacked full-width action buttons ────────────────── */
|
|
13712
13686
|
|
|
13713
|
-
.muka-
|
|
13714
|
-
|
|
13687
|
+
.muka-chat-message__action-stack {
|
|
13688
|
+
display: flex;
|
|
13689
|
+
flex-direction: column;
|
|
13690
|
+
gap: var(--chatbubble-action-stack-gap);
|
|
13715
13691
|
}
|
|
13716
13692
|
|
|
13717
|
-
/*
|
|
13718
|
-
.muka-card--interactive {
|
|
13719
|
-
cursor: pointer;
|
|
13720
|
-
user-select: none;
|
|
13721
|
-
}
|
|
13693
|
+
/* ─── Inset timestamp ──────────────────────────────────── */
|
|
13722
13694
|
|
|
13723
|
-
|
|
13724
|
-
|
|
13725
|
-
|
|
13726
|
-
|
|
13695
|
+
/*
|
|
13696
|
+
* Every author puts its timestamp in the bubble's bottom-right corner, below
|
|
13697
|
+
* the message — never in the header row (Figma 5355:44091).
|
|
13698
|
+
*/
|
|
13699
|
+
|
|
13700
|
+
.muka-chat-message__timestamp {
|
|
13701
|
+
color: var(--chatbubble-color-timestamp);
|
|
13702
|
+
font-family: var(--text-body-xs-regular-fontFamily);
|
|
13703
|
+
font-weight: var(--text-body-xs-regular-fontWeight);
|
|
13704
|
+
font-size: var(--text-body-xs-regular-fontSize);
|
|
13705
|
+
line-height: var(--text-body-xs-regular-lineHeight);
|
|
13706
|
+
white-space: nowrap;
|
|
13727
13707
|
}
|
|
13728
13708
|
|
|
13729
|
-
|
|
13730
|
-
|
|
13731
|
-
|
|
13732
|
-
|
|
13733
|
-
|
|
13709
|
+
/*
|
|
13710
|
+
* Pinned to the corner rather than stacked below the message, so a one-line
|
|
13711
|
+
* message stays one line tall. The message reserves the width it needs.
|
|
13712
|
+
*/
|
|
13713
|
+
.muka-chat-message__timestamp--inset {
|
|
13714
|
+
position: absolute;
|
|
13715
|
+
right: var(--spacing-2);
|
|
13716
|
+
bottom: var(--spacing-1);
|
|
13734
13717
|
}
|
|
13735
13718
|
|
|
13736
|
-
|
|
13737
|
-
|
|
13738
|
-
|
|
13719
|
+
/*
|
|
13720
|
+
* When the last block in the body is media, an embed or an action stack (not
|
|
13721
|
+
* trailing text), it runs the full width, so reserve a line below for the inset
|
|
13722
|
+
* timestamp. A message that ends in text clears the corner inline instead (see
|
|
13723
|
+
* `__message` padding-right above), so it needs no extra bottom space.
|
|
13724
|
+
*/
|
|
13725
|
+
.muka-chat-message--has-timestamp.muka-chat-message--trailing-block .muka-chat-message__body {
|
|
13726
|
+
padding-bottom: var(--text-body-xs-regular-lineHeight);
|
|
13739
13727
|
}
|
|
13740
13728
|
|
|
13741
|
-
/*
|
|
13742
|
-
|
|
13743
|
-
|
|
13744
|
-
|
|
13745
|
-
|
|
13746
|
-
|
|
13729
|
+
/* ─── Menu affordance ──────────────────────────────────── */
|
|
13730
|
+
|
|
13731
|
+
/*
|
|
13732
|
+
* Hidden at rest. Revealed on hover on pointer devices, on keyboard focus
|
|
13733
|
+
* everywhere, and pinned while its menu is open. On touch the equivalent
|
|
13734
|
+
* affordance is a long-press on the bubble, which opens an ActionSheet.
|
|
13735
|
+
*/
|
|
13736
|
+
.muka-chat-message__menu {
|
|
13737
|
+
position: absolute;
|
|
13738
|
+
top: var(--spacing-1);
|
|
13739
|
+
right: var(--spacing-1);
|
|
13740
|
+
opacity: 0;
|
|
13741
|
+
pointer-events: none;
|
|
13747
13742
|
}
|
|
13748
13743
|
|
|
13749
|
-
|
|
13750
|
-
.muka-
|
|
13751
|
-
|
|
13744
|
+
.muka-chat-message__menu:focus-within,
|
|
13745
|
+
.muka-chat-message--menu-open .muka-chat-message__menu {
|
|
13746
|
+
opacity: 1;
|
|
13747
|
+
pointer-events: auto;
|
|
13752
13748
|
}
|
|
13753
13749
|
|
|
13754
|
-
|
|
13755
|
-
|
|
13756
|
-
|
|
13757
|
-
|
|
13758
|
-
|
|
13759
|
-
font-size: var(--text-heading-xs-fontSize);
|
|
13760
|
-
line-height: var(--text-heading-xs-lineHeight);
|
|
13761
|
-
letter-spacing: var(--text-heading-xs-letterSpacing);
|
|
13750
|
+
@media (hover: hover) and (pointer: fine) and (min-width: 1024px) {
|
|
13751
|
+
.muka-chat-message__bubble:hover .muka-chat-message__menu {
|
|
13752
|
+
opacity: 1;
|
|
13753
|
+
pointer-events: auto;
|
|
13754
|
+
}
|
|
13762
13755
|
}
|
|
13763
13756
|
|
|
13764
|
-
|
|
13765
|
-
|
|
13766
|
-
|
|
13767
|
-
|
|
13768
|
-
|
|
13769
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
13770
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13757
|
+
/* Suppress iOS Safari's own callout so the long-press sheet can take over */
|
|
13758
|
+
@media (pointer: coarse) {
|
|
13759
|
+
.muka-chat-message--has-menu .muka-chat-message__bubble {
|
|
13760
|
+
-webkit-touch-callout: none;
|
|
13761
|
+
}
|
|
13771
13762
|
}
|
|
13772
13763
|
|
|
13773
|
-
/*
|
|
13774
|
-
.muka-card > .muka-listitem:last-child > .muka-listitem__divider {
|
|
13775
|
-
display: none;
|
|
13776
|
-
}
|
|
13764
|
+
/* ─── Print ────────────────────────────────────────────── */
|
|
13777
13765
|
|
|
13778
|
-
|
|
13779
|
-
.muka-
|
|
13780
|
-
|
|
13781
|
-
|
|
13782
|
-
|
|
13766
|
+
@media print {
|
|
13767
|
+
.muka-chat-message__bubble {
|
|
13768
|
+
box-shadow: none;
|
|
13769
|
+
break-inside: avoid;
|
|
13770
|
+
print-color-adjust: exact;
|
|
13771
|
+
-webkit-print-color-adjust: exact;
|
|
13772
|
+
}
|
|
13773
|
+
|
|
13774
|
+
.muka-chat-message__embed {
|
|
13775
|
+
break-inside: avoid;
|
|
13776
|
+
print-color-adjust: exact;
|
|
13777
|
+
-webkit-print-color-adjust: exact;
|
|
13778
|
+
}
|
|
13779
|
+
|
|
13780
|
+
.muka-chat-message__menu,
|
|
13781
|
+
.muka-chat-message__embed-copy,
|
|
13782
|
+
.muka-chat-message__action-stack {
|
|
13783
|
+
display: none;
|
|
13784
|
+
}
|
|
13783
13785
|
}
|
|
13784
13786
|
|
|
13785
13787
|
|
|
@@ -14131,120 +14133,6 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
14131
14133
|
}
|
|
14132
14134
|
|
|
14133
14135
|
|
|
14134
|
-
/* Breadcrumb */
|
|
14135
|
-
/* Breadcrumb Component Styles */
|
|
14136
|
-
|
|
14137
|
-
.muka-breadcrumb__list {
|
|
14138
|
-
display: flex;
|
|
14139
|
-
align-items: center;
|
|
14140
|
-
flex-wrap: wrap;
|
|
14141
|
-
list-style: none;
|
|
14142
|
-
margin: 0;
|
|
14143
|
-
padding: 0;
|
|
14144
|
-
gap: var(--spacing-1);
|
|
14145
|
-
}
|
|
14146
|
-
|
|
14147
|
-
.muka-breadcrumb__item {
|
|
14148
|
-
display: inline-flex;
|
|
14149
|
-
align-items: center;
|
|
14150
|
-
gap: var(--spacing-1);
|
|
14151
|
-
}
|
|
14152
|
-
|
|
14153
|
-
.muka-breadcrumb__item:has(.muka-breadcrumb__icon) {
|
|
14154
|
-
padding-left: var(--spacing-1);
|
|
14155
|
-
}
|
|
14156
|
-
|
|
14157
|
-
.muka-breadcrumb__icon {
|
|
14158
|
-
display: inline-flex;
|
|
14159
|
-
align-items: center;
|
|
14160
|
-
color: var(--color-text-subtle-default);
|
|
14161
|
-
}
|
|
14162
|
-
|
|
14163
|
-
.muka-breadcrumb__icon .muka-icon {
|
|
14164
|
-
color: inherit;
|
|
14165
|
-
}
|
|
14166
|
-
|
|
14167
|
-
.muka-breadcrumb__item:has(.muka-breadcrumb__current) .muka-breadcrumb__icon {
|
|
14168
|
-
color: var(--color-text-default-default);
|
|
14169
|
-
}
|
|
14170
|
-
|
|
14171
|
-
.muka-breadcrumb__item:has(.muka-breadcrumb__link:hover) .muka-breadcrumb__icon {
|
|
14172
|
-
color: var(--color-text-action-default);
|
|
14173
|
-
}
|
|
14174
|
-
|
|
14175
|
-
/* Link styles */
|
|
14176
|
-
.muka-breadcrumb__link {
|
|
14177
|
-
color: var(--color-text-subtle-default);
|
|
14178
|
-
text-decoration: none;
|
|
14179
|
-
border: none;
|
|
14180
|
-
background: none;
|
|
14181
|
-
padding-inline: var(--spacing-2);
|
|
14182
|
-
padding-block: 0;
|
|
14183
|
-
cursor: pointer;
|
|
14184
|
-
font: inherit;
|
|
14185
|
-
transition: color 0.15s ease;
|
|
14186
|
-
}
|
|
14187
|
-
|
|
14188
|
-
.muka-breadcrumb__link:hover {
|
|
14189
|
-
color: var(--color-text-action-default);
|
|
14190
|
-
text-decoration: underline;
|
|
14191
|
-
}
|
|
14192
|
-
|
|
14193
|
-
/* Tighter gap after leading icon */
|
|
14194
|
-
.muka-breadcrumb__item:has(.muka-breadcrumb__icon) .muka-breadcrumb__link,
|
|
14195
|
-
.muka-breadcrumb__item:has(.muka-breadcrumb__icon) .muka-breadcrumb__current {
|
|
14196
|
-
padding-left: var(--spacing-1);
|
|
14197
|
-
}
|
|
14198
|
-
|
|
14199
|
-
/* Current page (last item, no context switcher) */
|
|
14200
|
-
.muka-breadcrumb__current {
|
|
14201
|
-
color: var(--color-text-default-default);
|
|
14202
|
-
font-weight: 600;
|
|
14203
|
-
padding-inline: var(--spacing-2);
|
|
14204
|
-
}
|
|
14205
|
-
|
|
14206
|
-
/* Separator */
|
|
14207
|
-
.muka-breadcrumb__separator {
|
|
14208
|
-
color: var(--color-text-subtle-default);
|
|
14209
|
-
user-select: none;
|
|
14210
|
-
}
|
|
14211
|
-
|
|
14212
|
-
.muka-breadcrumb__item--context {
|
|
14213
|
-
gap: 0;
|
|
14214
|
-
}
|
|
14215
|
-
|
|
14216
|
-
.muka-breadcrumb__list:has(.muka-breadcrumb__item--context) {
|
|
14217
|
-
gap: 0;
|
|
14218
|
-
}
|
|
14219
|
-
|
|
14220
|
-
.muka-breadcrumb__item--context .muka-breadcrumb__separator {
|
|
14221
|
-
margin: 0;
|
|
14222
|
-
padding-inline: var(--spacing-1, 4px);
|
|
14223
|
-
}
|
|
14224
|
-
|
|
14225
|
-
/* Size variants */
|
|
14226
|
-
.muka-breadcrumb--sm {
|
|
14227
|
-
font-family: var(--text-label-sm-regular-fontFamily);
|
|
14228
|
-
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
14229
|
-
font-size: var(--text-label-sm-regular-fontSize);
|
|
14230
|
-
line-height: var(--text-label-sm-regular-lineHeight);
|
|
14231
|
-
}
|
|
14232
|
-
|
|
14233
|
-
.muka-breadcrumb--md {
|
|
14234
|
-
font-family: var(--text-label-md-regular-fontFamily);
|
|
14235
|
-
font-weight: var(--text-label-md-regular-fontWeight);
|
|
14236
|
-
font-size: var(--text-label-md-regular-fontSize);
|
|
14237
|
-
line-height: var(--text-label-md-regular-lineHeight);
|
|
14238
|
-
}
|
|
14239
|
-
|
|
14240
|
-
.muka-breadcrumb--lg {
|
|
14241
|
-
font-family: var(--text-label-lg-regular-fontFamily);
|
|
14242
|
-
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
14243
|
-
font-size: var(--text-label-lg-regular-fontSize);
|
|
14244
|
-
line-height: var(--text-label-lg-regular-lineHeight);
|
|
14245
|
-
}
|
|
14246
|
-
|
|
14247
|
-
|
|
14248
14136
|
/* BottomBar */
|
|
14249
14137
|
/* BottomBar Component Styles */
|
|
14250
14138
|
|
|
@@ -14638,34 +14526,148 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
14638
14526
|
line-height: normal;
|
|
14639
14527
|
}
|
|
14640
14528
|
|
|
14641
|
-
/* Neutral variant */
|
|
14642
|
-
.muka-badge-number--neutral {
|
|
14643
|
-
background-color: var(--color-surface-level1);
|
|
14644
|
-
color: var(--color-text-default-default);
|
|
14529
|
+
/* Neutral variant */
|
|
14530
|
+
.muka-badge-number--neutral {
|
|
14531
|
+
background-color: var(--color-surface-level1);
|
|
14532
|
+
color: var(--color-text-default-default);
|
|
14533
|
+
}
|
|
14534
|
+
|
|
14535
|
+
/* Info variant */
|
|
14536
|
+
.muka-badge-number--info {
|
|
14537
|
+
background-color: var(--color-state-info-contrast);
|
|
14538
|
+
color: var(--color-text-default-inverse);
|
|
14539
|
+
}
|
|
14540
|
+
|
|
14541
|
+
/* Success variant */
|
|
14542
|
+
.muka-badge-number--success {
|
|
14543
|
+
background-color: var(--color-state-success-contrast);
|
|
14544
|
+
color: var(--color-text-default-inverse);
|
|
14545
|
+
}
|
|
14546
|
+
|
|
14547
|
+
/* Warning variant */
|
|
14548
|
+
.muka-badge-number--warning {
|
|
14549
|
+
background-color: var(--color-state-warning-contrast);
|
|
14550
|
+
color: var(--color-text-default-inverse);
|
|
14551
|
+
}
|
|
14552
|
+
|
|
14553
|
+
/* Error variant */
|
|
14554
|
+
.muka-badge-number--error {
|
|
14555
|
+
background-color: var(--color-state-error-contrast);
|
|
14556
|
+
color: var(--color-text-default-inverse);
|
|
14557
|
+
}
|
|
14558
|
+
|
|
14559
|
+
|
|
14560
|
+
/* Breadcrumb */
|
|
14561
|
+
/* Breadcrumb Component Styles */
|
|
14562
|
+
|
|
14563
|
+
.muka-breadcrumb__list {
|
|
14564
|
+
display: flex;
|
|
14565
|
+
align-items: center;
|
|
14566
|
+
flex-wrap: wrap;
|
|
14567
|
+
list-style: none;
|
|
14568
|
+
margin: 0;
|
|
14569
|
+
padding: 0;
|
|
14570
|
+
gap: var(--spacing-1);
|
|
14571
|
+
}
|
|
14572
|
+
|
|
14573
|
+
.muka-breadcrumb__item {
|
|
14574
|
+
display: inline-flex;
|
|
14575
|
+
align-items: center;
|
|
14576
|
+
gap: var(--spacing-1);
|
|
14577
|
+
}
|
|
14578
|
+
|
|
14579
|
+
.muka-breadcrumb__item:has(.muka-breadcrumb__icon) {
|
|
14580
|
+
padding-left: var(--spacing-1);
|
|
14581
|
+
}
|
|
14582
|
+
|
|
14583
|
+
.muka-breadcrumb__icon {
|
|
14584
|
+
display: inline-flex;
|
|
14585
|
+
align-items: center;
|
|
14586
|
+
color: var(--color-text-subtle-default);
|
|
14587
|
+
}
|
|
14588
|
+
|
|
14589
|
+
.muka-breadcrumb__icon .muka-icon {
|
|
14590
|
+
color: inherit;
|
|
14591
|
+
}
|
|
14592
|
+
|
|
14593
|
+
.muka-breadcrumb__item:has(.muka-breadcrumb__current) .muka-breadcrumb__icon {
|
|
14594
|
+
color: var(--color-text-default-default);
|
|
14595
|
+
}
|
|
14596
|
+
|
|
14597
|
+
.muka-breadcrumb__item:has(.muka-breadcrumb__link:hover) .muka-breadcrumb__icon {
|
|
14598
|
+
color: var(--color-text-action-default);
|
|
14599
|
+
}
|
|
14600
|
+
|
|
14601
|
+
/* Link styles */
|
|
14602
|
+
.muka-breadcrumb__link {
|
|
14603
|
+
color: var(--color-text-subtle-default);
|
|
14604
|
+
text-decoration: none;
|
|
14605
|
+
border: none;
|
|
14606
|
+
background: none;
|
|
14607
|
+
padding-inline: var(--spacing-2);
|
|
14608
|
+
padding-block: 0;
|
|
14609
|
+
cursor: pointer;
|
|
14610
|
+
font: inherit;
|
|
14611
|
+
transition: color 0.15s ease;
|
|
14612
|
+
}
|
|
14613
|
+
|
|
14614
|
+
.muka-breadcrumb__link:hover {
|
|
14615
|
+
color: var(--color-text-action-default);
|
|
14616
|
+
text-decoration: underline;
|
|
14617
|
+
}
|
|
14618
|
+
|
|
14619
|
+
/* Tighter gap after leading icon */
|
|
14620
|
+
.muka-breadcrumb__item:has(.muka-breadcrumb__icon) .muka-breadcrumb__link,
|
|
14621
|
+
.muka-breadcrumb__item:has(.muka-breadcrumb__icon) .muka-breadcrumb__current {
|
|
14622
|
+
padding-left: var(--spacing-1);
|
|
14623
|
+
}
|
|
14624
|
+
|
|
14625
|
+
/* Current page (last item, no context switcher) */
|
|
14626
|
+
.muka-breadcrumb__current {
|
|
14627
|
+
color: var(--color-text-default-default);
|
|
14628
|
+
font-weight: 600;
|
|
14629
|
+
padding-inline: var(--spacing-2);
|
|
14630
|
+
}
|
|
14631
|
+
|
|
14632
|
+
/* Separator */
|
|
14633
|
+
.muka-breadcrumb__separator {
|
|
14634
|
+
color: var(--color-text-subtle-default);
|
|
14635
|
+
user-select: none;
|
|
14636
|
+
}
|
|
14637
|
+
|
|
14638
|
+
.muka-breadcrumb__item--context {
|
|
14639
|
+
gap: 0;
|
|
14640
|
+
}
|
|
14641
|
+
|
|
14642
|
+
.muka-breadcrumb__list:has(.muka-breadcrumb__item--context) {
|
|
14643
|
+
gap: 0;
|
|
14645
14644
|
}
|
|
14646
14645
|
|
|
14647
|
-
|
|
14648
|
-
|
|
14649
|
-
|
|
14650
|
-
color: var(--color-text-default-inverse);
|
|
14646
|
+
.muka-breadcrumb__item--context .muka-breadcrumb__separator {
|
|
14647
|
+
margin: 0;
|
|
14648
|
+
padding-inline: var(--spacing-1, 4px);
|
|
14651
14649
|
}
|
|
14652
14650
|
|
|
14653
|
-
/*
|
|
14654
|
-
.muka-
|
|
14655
|
-
|
|
14656
|
-
|
|
14651
|
+
/* Size variants */
|
|
14652
|
+
.muka-breadcrumb--sm {
|
|
14653
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
14654
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
14655
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
14656
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
14657
14657
|
}
|
|
14658
14658
|
|
|
14659
|
-
|
|
14660
|
-
|
|
14661
|
-
|
|
14662
|
-
|
|
14659
|
+
.muka-breadcrumb--md {
|
|
14660
|
+
font-family: var(--text-label-md-regular-fontFamily);
|
|
14661
|
+
font-weight: var(--text-label-md-regular-fontWeight);
|
|
14662
|
+
font-size: var(--text-label-md-regular-fontSize);
|
|
14663
|
+
line-height: var(--text-label-md-regular-lineHeight);
|
|
14663
14664
|
}
|
|
14664
14665
|
|
|
14665
|
-
|
|
14666
|
-
|
|
14667
|
-
|
|
14668
|
-
|
|
14666
|
+
.muka-breadcrumb--lg {
|
|
14667
|
+
font-family: var(--text-label-lg-regular-fontFamily);
|
|
14668
|
+
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
14669
|
+
font-size: var(--text-label-lg-regular-fontSize);
|
|
14670
|
+
line-height: var(--text-label-lg-regular-lineHeight);
|
|
14669
14671
|
}
|
|
14670
14672
|
|
|
14671
14673
|
|
|
@@ -14732,6 +14734,33 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
14732
14734
|
padding-left: var(--badge-padding-leading-lg);
|
|
14733
14735
|
}
|
|
14734
14736
|
|
|
14737
|
+
/* Icon-only — square, sized to the badge height (Figma: 24 / 32 / 40).
|
|
14738
|
+
* Padding resets at size+icon-only specificity so `--has-icon` leading padding
|
|
14739
|
+
* cannot win and shift the icon off-center. */
|
|
14740
|
+
.muka-badge--icon-only {
|
|
14741
|
+
justify-content: center;
|
|
14742
|
+
align-items: center;
|
|
14743
|
+
gap: 0;
|
|
14744
|
+
}
|
|
14745
|
+
|
|
14746
|
+
.muka-badge--sm.muka-badge--icon-only,
|
|
14747
|
+
.muka-badge--md.muka-badge--icon-only,
|
|
14748
|
+
.muka-badge--lg.muka-badge--icon-only {
|
|
14749
|
+
padding: 0;
|
|
14750
|
+
}
|
|
14751
|
+
|
|
14752
|
+
.muka-badge--sm.muka-badge--icon-only {
|
|
14753
|
+
width: var(--badge-size-height-sm);
|
|
14754
|
+
}
|
|
14755
|
+
|
|
14756
|
+
.muka-badge--md.muka-badge--icon-only {
|
|
14757
|
+
width: var(--badge-size-height-md);
|
|
14758
|
+
}
|
|
14759
|
+
|
|
14760
|
+
.muka-badge--lg.muka-badge--icon-only {
|
|
14761
|
+
width: var(--badge-size-height-lg);
|
|
14762
|
+
}
|
|
14763
|
+
|
|
14735
14764
|
/* Leading icon slot — Figma icon sizes: sm 16, md 20, lg 24 (matches Chip) */
|
|
14736
14765
|
.muka-badge__icon {
|
|
14737
14766
|
display: inline-flex;
|
|
@@ -15271,102 +15300,6 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
15271
15300
|
}
|
|
15272
15301
|
|
|
15273
15302
|
|
|
15274
|
-
/* AppShell */
|
|
15275
|
-
/* AppShell Component Styles */
|
|
15276
|
-
|
|
15277
|
-
/*
|
|
15278
|
-
* Layout wrapper for a persistent left navigation rail + main view area, with an
|
|
15279
|
-
* optional full-width top app bar. The rail itself is styled by the BottomBar
|
|
15280
|
-
* `desktopAs="sidebar"` rules (fixed 240px left rail at ≥1024px); AppShell shows/
|
|
15281
|
-
* hides the sidebar + app-bar slots and offsets the main area to match. Both
|
|
15282
|
-
* appear at the large tier — responsively (no `size`, scoped with
|
|
15283
|
-
* `:not([data-size])`) or forced via `[data-size="lg"]`.
|
|
15284
|
-
*/
|
|
15285
|
-
.muka-app-shell {
|
|
15286
|
-
position: relative;
|
|
15287
|
-
/* Reserved width for the rail; matches BottomBar's desktop-sidebar width. */
|
|
15288
|
-
--app-shell-sidebar-width: 240px;
|
|
15289
|
-
/* Height of the optional top app bar. */
|
|
15290
|
-
--app-shell-appbar-height: 64px;
|
|
15291
|
-
}
|
|
15292
|
-
|
|
15293
|
-
/* Sidebar slot: hidden below the large tier (per-view nav handles small/medium). */
|
|
15294
|
-
.muka-app-shell__sidebar {
|
|
15295
|
-
display: none;
|
|
15296
|
-
}
|
|
15297
|
-
|
|
15298
|
-
.muka-app-shell__main {
|
|
15299
|
-
min-height: 100dvh;
|
|
15300
|
-
}
|
|
15301
|
-
|
|
15302
|
-
/*
|
|
15303
|
-
* App bar: full-width top strip. Intrinsic styling lives here (harmless while
|
|
15304
|
-
* hidden); it is revealed only at the large tier. Sits above the sidebar rail.
|
|
15305
|
-
*/
|
|
15306
|
-
.muka-app-shell__appbar {
|
|
15307
|
-
display: none;
|
|
15308
|
-
align-items: center;
|
|
15309
|
-
justify-content: space-between;
|
|
15310
|
-
gap: var(--spacing-4);
|
|
15311
|
-
position: fixed;
|
|
15312
|
-
top: 0;
|
|
15313
|
-
left: 0;
|
|
15314
|
-
right: 0;
|
|
15315
|
-
height: var(--app-shell-appbar-height);
|
|
15316
|
-
padding-inline: var(--spacing-4);
|
|
15317
|
-
background-color: var(--color-surface-level3);
|
|
15318
|
-
border-bottom: var(--border-width-regular) solid var(--color-border-default);
|
|
15319
|
-
z-index: 11; /* above the sidebar rail (z-index 10) */
|
|
15320
|
-
}
|
|
15321
|
-
|
|
15322
|
-
/* ─── Large tier (responsive) ─── */
|
|
15323
|
-
@media (min-width: 1024px) {
|
|
15324
|
-
.muka-app-shell:not([data-size]) .muka-app-shell__sidebar {
|
|
15325
|
-
display: block;
|
|
15326
|
-
}
|
|
15327
|
-
.muka-app-shell:not([data-size]) .muka-app-shell__main {
|
|
15328
|
-
padding-left: var(--app-shell-sidebar-width);
|
|
15329
|
-
}
|
|
15330
|
-
.muka-app-shell:not([data-size]) .muka-app-shell__appbar {
|
|
15331
|
-
display: flex;
|
|
15332
|
-
}
|
|
15333
|
-
/* When an app bar is present, drop the rail + content below it so nothing overlaps. */
|
|
15334
|
-
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-app-shell__main {
|
|
15335
|
-
padding-top: var(--app-shell-appbar-height);
|
|
15336
|
-
}
|
|
15337
|
-
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-bottombar--desktop-sidebar {
|
|
15338
|
-
top: var(--app-shell-appbar-height);
|
|
15339
|
-
height: calc(100vh - var(--app-shell-appbar-height));
|
|
15340
|
-
}
|
|
15341
|
-
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-view,
|
|
15342
|
-
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-nav-transition {
|
|
15343
|
-
height: calc(100dvh - var(--app-shell-appbar-height));
|
|
15344
|
-
}
|
|
15345
|
-
}
|
|
15346
|
-
|
|
15347
|
-
/* ─── Large tier (forced via size="lg") ─── */
|
|
15348
|
-
.muka-app-shell[data-size='lg'] .muka-app-shell__sidebar {
|
|
15349
|
-
display: block;
|
|
15350
|
-
}
|
|
15351
|
-
.muka-app-shell[data-size='lg'] .muka-app-shell__main {
|
|
15352
|
-
padding-left: var(--app-shell-sidebar-width);
|
|
15353
|
-
}
|
|
15354
|
-
.muka-app-shell[data-size='lg'] .muka-app-shell__appbar {
|
|
15355
|
-
display: flex;
|
|
15356
|
-
}
|
|
15357
|
-
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-app-shell__main {
|
|
15358
|
-
padding-top: var(--app-shell-appbar-height);
|
|
15359
|
-
}
|
|
15360
|
-
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-bottombar--desktop-sidebar {
|
|
15361
|
-
top: var(--app-shell-appbar-height);
|
|
15362
|
-
height: calc(100vh - var(--app-shell-appbar-height));
|
|
15363
|
-
}
|
|
15364
|
-
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-view,
|
|
15365
|
-
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-nav-transition {
|
|
15366
|
-
height: calc(100dvh - var(--app-shell-appbar-height));
|
|
15367
|
-
}
|
|
15368
|
-
|
|
15369
|
-
|
|
15370
15303
|
/* Alert */
|
|
15371
15304
|
/* Alert Component Styles - Using Muka Design Tokens */
|
|
15372
15305
|
|
|
@@ -15528,11 +15461,12 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
15528
15461
|
line-height: var(--text-body-base-regular-lineHeight);
|
|
15529
15462
|
}
|
|
15530
15463
|
|
|
15531
|
-
/* Action slot */
|
|
15464
|
+
/* Action slot — TextLink (or similar) below the message, matching Figma */
|
|
15532
15465
|
.muka-alert__action {
|
|
15533
15466
|
display: flex;
|
|
15534
|
-
|
|
15535
|
-
|
|
15467
|
+
flex-direction: column;
|
|
15468
|
+
align-items: flex-start;
|
|
15469
|
+
padding-top: var(--spacing-1);
|
|
15536
15470
|
}
|
|
15537
15471
|
|
|
15538
15472
|
/* Dismiss button - uses accent color per variant, aligned with icon row */
|
|
@@ -15569,6 +15503,102 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
15569
15503
|
}
|
|
15570
15504
|
|
|
15571
15505
|
|
|
15506
|
+
/* AppShell */
|
|
15507
|
+
/* AppShell Component Styles */
|
|
15508
|
+
|
|
15509
|
+
/*
|
|
15510
|
+
* Layout wrapper for a persistent left navigation rail + main view area, with an
|
|
15511
|
+
* optional full-width top app bar. The rail itself is styled by the BottomBar
|
|
15512
|
+
* `desktopAs="sidebar"` rules (fixed 240px left rail at ≥1024px); AppShell shows/
|
|
15513
|
+
* hides the sidebar + app-bar slots and offsets the main area to match. Both
|
|
15514
|
+
* appear at the large tier — responsively (no `size`, scoped with
|
|
15515
|
+
* `:not([data-size])`) or forced via `[data-size="lg"]`.
|
|
15516
|
+
*/
|
|
15517
|
+
.muka-app-shell {
|
|
15518
|
+
position: relative;
|
|
15519
|
+
/* Reserved width for the rail; matches BottomBar's desktop-sidebar width. */
|
|
15520
|
+
--app-shell-sidebar-width: 240px;
|
|
15521
|
+
/* Height of the optional top app bar. */
|
|
15522
|
+
--app-shell-appbar-height: 64px;
|
|
15523
|
+
}
|
|
15524
|
+
|
|
15525
|
+
/* Sidebar slot: hidden below the large tier (per-view nav handles small/medium). */
|
|
15526
|
+
.muka-app-shell__sidebar {
|
|
15527
|
+
display: none;
|
|
15528
|
+
}
|
|
15529
|
+
|
|
15530
|
+
.muka-app-shell__main {
|
|
15531
|
+
min-height: 100dvh;
|
|
15532
|
+
}
|
|
15533
|
+
|
|
15534
|
+
/*
|
|
15535
|
+
* App bar: full-width top strip. Intrinsic styling lives here (harmless while
|
|
15536
|
+
* hidden); it is revealed only at the large tier. Sits above the sidebar rail.
|
|
15537
|
+
*/
|
|
15538
|
+
.muka-app-shell__appbar {
|
|
15539
|
+
display: none;
|
|
15540
|
+
align-items: center;
|
|
15541
|
+
justify-content: space-between;
|
|
15542
|
+
gap: var(--spacing-4);
|
|
15543
|
+
position: fixed;
|
|
15544
|
+
top: 0;
|
|
15545
|
+
left: 0;
|
|
15546
|
+
right: 0;
|
|
15547
|
+
height: var(--app-shell-appbar-height);
|
|
15548
|
+
padding-inline: var(--spacing-4);
|
|
15549
|
+
background-color: var(--color-surface-level3);
|
|
15550
|
+
border-bottom: var(--border-width-regular) solid var(--color-border-default);
|
|
15551
|
+
z-index: 11; /* above the sidebar rail (z-index 10) */
|
|
15552
|
+
}
|
|
15553
|
+
|
|
15554
|
+
/* ─── Large tier (responsive) ─── */
|
|
15555
|
+
@media (min-width: 1024px) {
|
|
15556
|
+
.muka-app-shell:not([data-size]) .muka-app-shell__sidebar {
|
|
15557
|
+
display: block;
|
|
15558
|
+
}
|
|
15559
|
+
.muka-app-shell:not([data-size]) .muka-app-shell__main {
|
|
15560
|
+
padding-left: var(--app-shell-sidebar-width);
|
|
15561
|
+
}
|
|
15562
|
+
.muka-app-shell:not([data-size]) .muka-app-shell__appbar {
|
|
15563
|
+
display: flex;
|
|
15564
|
+
}
|
|
15565
|
+
/* When an app bar is present, drop the rail + content below it so nothing overlaps. */
|
|
15566
|
+
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-app-shell__main {
|
|
15567
|
+
padding-top: var(--app-shell-appbar-height);
|
|
15568
|
+
}
|
|
15569
|
+
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-bottombar--desktop-sidebar {
|
|
15570
|
+
top: var(--app-shell-appbar-height);
|
|
15571
|
+
height: calc(100vh - var(--app-shell-appbar-height));
|
|
15572
|
+
}
|
|
15573
|
+
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-view,
|
|
15574
|
+
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-nav-transition {
|
|
15575
|
+
height: calc(100dvh - var(--app-shell-appbar-height));
|
|
15576
|
+
}
|
|
15577
|
+
}
|
|
15578
|
+
|
|
15579
|
+
/* ─── Large tier (forced via size="lg") ─── */
|
|
15580
|
+
.muka-app-shell[data-size='lg'] .muka-app-shell__sidebar {
|
|
15581
|
+
display: block;
|
|
15582
|
+
}
|
|
15583
|
+
.muka-app-shell[data-size='lg'] .muka-app-shell__main {
|
|
15584
|
+
padding-left: var(--app-shell-sidebar-width);
|
|
15585
|
+
}
|
|
15586
|
+
.muka-app-shell[data-size='lg'] .muka-app-shell__appbar {
|
|
15587
|
+
display: flex;
|
|
15588
|
+
}
|
|
15589
|
+
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-app-shell__main {
|
|
15590
|
+
padding-top: var(--app-shell-appbar-height);
|
|
15591
|
+
}
|
|
15592
|
+
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-bottombar--desktop-sidebar {
|
|
15593
|
+
top: var(--app-shell-appbar-height);
|
|
15594
|
+
height: calc(100vh - var(--app-shell-appbar-height));
|
|
15595
|
+
}
|
|
15596
|
+
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-view,
|
|
15597
|
+
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-nav-transition {
|
|
15598
|
+
height: calc(100dvh - var(--app-shell-appbar-height));
|
|
15599
|
+
}
|
|
15600
|
+
|
|
15601
|
+
|
|
15572
15602
|
/* AgentTaskList */
|
|
15573
15603
|
/* AgentTaskList Component Styles */
|
|
15574
15604
|
|