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