@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
|
@@ -2439,6 +2439,38 @@ body {
|
|
|
2439
2439
|
}
|
|
2440
2440
|
|
|
2441
2441
|
|
|
2442
|
+
/* VoiceMessage */
|
|
2443
|
+
/* VoiceMessage Component Styles */
|
|
2444
|
+
|
|
2445
|
+
.muka-voice-message {
|
|
2446
|
+
display: flex;
|
|
2447
|
+
align-items: center;
|
|
2448
|
+
gap: var(--spacing-3);
|
|
2449
|
+
width: 100%;
|
|
2450
|
+
min-width: min(16rem, 60vw);
|
|
2451
|
+
}
|
|
2452
|
+
|
|
2453
|
+
.muka-voice-message__wave {
|
|
2454
|
+
flex: 1 1 auto;
|
|
2455
|
+
min-width: 0;
|
|
2456
|
+
}
|
|
2457
|
+
|
|
2458
|
+
.muka-voice-message__time {
|
|
2459
|
+
flex: 0 0 auto;
|
|
2460
|
+
white-space: nowrap;
|
|
2461
|
+
font-size: var(--text-label-sm-fontSize, 0.75rem);
|
|
2462
|
+
line-height: var(--text-label-sm-lineHeight, 1);
|
|
2463
|
+
font-variant-numeric: tabular-nums;
|
|
2464
|
+
color: var(--color-text-subtle-default);
|
|
2465
|
+
}
|
|
2466
|
+
|
|
2467
|
+
/* On the tinted own bubble the surface is the action color, so the timer flips
|
|
2468
|
+
* to the inverse text token for contrast. */
|
|
2469
|
+
.muka-voice-message--own .muka-voice-message__time {
|
|
2470
|
+
color: var(--color-text-default-inverse);
|
|
2471
|
+
}
|
|
2472
|
+
|
|
2473
|
+
|
|
2442
2474
|
/* View */
|
|
2443
2475
|
/* View Component Styles */
|
|
2444
2476
|
|
|
@@ -2549,38 +2581,6 @@ body {
|
|
|
2549
2581
|
}
|
|
2550
2582
|
|
|
2551
2583
|
|
|
2552
|
-
/* VoiceMessage */
|
|
2553
|
-
/* VoiceMessage Component Styles */
|
|
2554
|
-
|
|
2555
|
-
.muka-voice-message {
|
|
2556
|
-
display: flex;
|
|
2557
|
-
align-items: center;
|
|
2558
|
-
gap: var(--spacing-3);
|
|
2559
|
-
width: 100%;
|
|
2560
|
-
min-width: min(16rem, 60vw);
|
|
2561
|
-
}
|
|
2562
|
-
|
|
2563
|
-
.muka-voice-message__wave {
|
|
2564
|
-
flex: 1 1 auto;
|
|
2565
|
-
min-width: 0;
|
|
2566
|
-
}
|
|
2567
|
-
|
|
2568
|
-
.muka-voice-message__time {
|
|
2569
|
-
flex: 0 0 auto;
|
|
2570
|
-
white-space: nowrap;
|
|
2571
|
-
font-size: var(--text-label-sm-fontSize, 0.75rem);
|
|
2572
|
-
line-height: var(--text-label-sm-lineHeight, 1);
|
|
2573
|
-
font-variant-numeric: tabular-nums;
|
|
2574
|
-
color: var(--color-text-subtle-default);
|
|
2575
|
-
}
|
|
2576
|
-
|
|
2577
|
-
/* On the tinted own bubble the surface is the action color, so the timer flips
|
|
2578
|
-
* to the inverse text token for contrast. */
|
|
2579
|
-
.muka-voice-message--own .muka-voice-message__time {
|
|
2580
|
-
color: var(--color-text-default-inverse);
|
|
2581
|
-
}
|
|
2582
|
-
|
|
2583
|
-
|
|
2584
2584
|
/* Typography */
|
|
2585
2585
|
.muka-typography-catalog {
|
|
2586
2586
|
display: flex;
|
|
@@ -5231,81 +5231,6 @@ body {
|
|
|
5231
5231
|
}
|
|
5232
5232
|
|
|
5233
5233
|
|
|
5234
|
-
/* Skeleton */
|
|
5235
|
-
/* Skeleton Component Styles */
|
|
5236
|
-
|
|
5237
|
-
.muka-skeleton {
|
|
5238
|
-
background-color: var(--color-surface-level1);
|
|
5239
|
-
display: block;
|
|
5240
|
-
}
|
|
5241
|
-
|
|
5242
|
-
/* Variants */
|
|
5243
|
-
.muka-skeleton--text {
|
|
5244
|
-
height: 1em;
|
|
5245
|
-
border-radius: var(--radius-md);
|
|
5246
|
-
width: 100%;
|
|
5247
|
-
}
|
|
5248
|
-
|
|
5249
|
-
.muka-skeleton--circular {
|
|
5250
|
-
width: 2.5rem;
|
|
5251
|
-
height: 2.5rem;
|
|
5252
|
-
border-radius: var(--radius-full);
|
|
5253
|
-
}
|
|
5254
|
-
|
|
5255
|
-
.muka-skeleton--rectangular {
|
|
5256
|
-
height: 7.5rem;
|
|
5257
|
-
border-radius: var(--radius-md);
|
|
5258
|
-
width: 100%;
|
|
5259
|
-
}
|
|
5260
|
-
|
|
5261
|
-
/* Last line in multi-line text is shorter */
|
|
5262
|
-
.muka-skeleton--last-line {
|
|
5263
|
-
width: 80%;
|
|
5264
|
-
}
|
|
5265
|
-
|
|
5266
|
-
/* Lines container */
|
|
5267
|
-
.muka-skeleton__lines {
|
|
5268
|
-
display: flex;
|
|
5269
|
-
flex-direction: column;
|
|
5270
|
-
gap: var(--spacing-2);
|
|
5271
|
-
}
|
|
5272
|
-
|
|
5273
|
-
/* Shimmer animation */
|
|
5274
|
-
@keyframes muka-skeleton-shimmer {
|
|
5275
|
-
0% {
|
|
5276
|
-
background-position: -200% 0;
|
|
5277
|
-
}
|
|
5278
|
-
100% {
|
|
5279
|
-
background-position: 200% 0;
|
|
5280
|
-
}
|
|
5281
|
-
}
|
|
5282
|
-
|
|
5283
|
-
.muka-skeleton--shimmer {
|
|
5284
|
-
background: linear-gradient(
|
|
5285
|
-
90deg,
|
|
5286
|
-
var(--color-surface-level1) 25%,
|
|
5287
|
-
var(--color-surface-level2) 50%,
|
|
5288
|
-
var(--color-surface-level1) 75%
|
|
5289
|
-
);
|
|
5290
|
-
background-size: 200% 100%;
|
|
5291
|
-
animation: muka-skeleton-shimmer 1.5s ease-in-out infinite;
|
|
5292
|
-
}
|
|
5293
|
-
|
|
5294
|
-
/* Pulse animation */
|
|
5295
|
-
@keyframes muka-skeleton-pulse {
|
|
5296
|
-
0%, 100% {
|
|
5297
|
-
opacity: 1;
|
|
5298
|
-
}
|
|
5299
|
-
50% {
|
|
5300
|
-
opacity: 0.4;
|
|
5301
|
-
}
|
|
5302
|
-
}
|
|
5303
|
-
|
|
5304
|
-
.muka-skeleton--pulse {
|
|
5305
|
-
animation: muka-skeleton-pulse 1.5s ease-in-out infinite;
|
|
5306
|
-
}
|
|
5307
|
-
|
|
5308
|
-
|
|
5309
5234
|
/* Sheet */
|
|
5310
5235
|
/* Sheet Component Styles */
|
|
5311
5236
|
|
|
@@ -5386,6 +5311,81 @@ body {
|
|
|
5386
5311
|
}
|
|
5387
5312
|
|
|
5388
5313
|
|
|
5314
|
+
/* Skeleton */
|
|
5315
|
+
/* Skeleton Component Styles */
|
|
5316
|
+
|
|
5317
|
+
.muka-skeleton {
|
|
5318
|
+
background-color: var(--color-surface-level1);
|
|
5319
|
+
display: block;
|
|
5320
|
+
}
|
|
5321
|
+
|
|
5322
|
+
/* Variants */
|
|
5323
|
+
.muka-skeleton--text {
|
|
5324
|
+
height: 1em;
|
|
5325
|
+
border-radius: var(--radius-md);
|
|
5326
|
+
width: 100%;
|
|
5327
|
+
}
|
|
5328
|
+
|
|
5329
|
+
.muka-skeleton--circular {
|
|
5330
|
+
width: 2.5rem;
|
|
5331
|
+
height: 2.5rem;
|
|
5332
|
+
border-radius: var(--radius-full);
|
|
5333
|
+
}
|
|
5334
|
+
|
|
5335
|
+
.muka-skeleton--rectangular {
|
|
5336
|
+
height: 7.5rem;
|
|
5337
|
+
border-radius: var(--radius-md);
|
|
5338
|
+
width: 100%;
|
|
5339
|
+
}
|
|
5340
|
+
|
|
5341
|
+
/* Last line in multi-line text is shorter */
|
|
5342
|
+
.muka-skeleton--last-line {
|
|
5343
|
+
width: 80%;
|
|
5344
|
+
}
|
|
5345
|
+
|
|
5346
|
+
/* Lines container */
|
|
5347
|
+
.muka-skeleton__lines {
|
|
5348
|
+
display: flex;
|
|
5349
|
+
flex-direction: column;
|
|
5350
|
+
gap: var(--spacing-2);
|
|
5351
|
+
}
|
|
5352
|
+
|
|
5353
|
+
/* Shimmer animation */
|
|
5354
|
+
@keyframes muka-skeleton-shimmer {
|
|
5355
|
+
0% {
|
|
5356
|
+
background-position: -200% 0;
|
|
5357
|
+
}
|
|
5358
|
+
100% {
|
|
5359
|
+
background-position: 200% 0;
|
|
5360
|
+
}
|
|
5361
|
+
}
|
|
5362
|
+
|
|
5363
|
+
.muka-skeleton--shimmer {
|
|
5364
|
+
background: linear-gradient(
|
|
5365
|
+
90deg,
|
|
5366
|
+
var(--color-surface-level1) 25%,
|
|
5367
|
+
var(--color-surface-level2) 50%,
|
|
5368
|
+
var(--color-surface-level1) 75%
|
|
5369
|
+
);
|
|
5370
|
+
background-size: 200% 100%;
|
|
5371
|
+
animation: muka-skeleton-shimmer 1.5s ease-in-out infinite;
|
|
5372
|
+
}
|
|
5373
|
+
|
|
5374
|
+
/* Pulse animation */
|
|
5375
|
+
@keyframes muka-skeleton-pulse {
|
|
5376
|
+
0%, 100% {
|
|
5377
|
+
opacity: 1;
|
|
5378
|
+
}
|
|
5379
|
+
50% {
|
|
5380
|
+
opacity: 0.4;
|
|
5381
|
+
}
|
|
5382
|
+
}
|
|
5383
|
+
|
|
5384
|
+
.muka-skeleton--pulse {
|
|
5385
|
+
animation: muka-skeleton-pulse 1.5s ease-in-out infinite;
|
|
5386
|
+
}
|
|
5387
|
+
|
|
5388
|
+
|
|
5389
5389
|
/* Select */
|
|
5390
5390
|
/* Select Component Styles - Aligned with Input for consistency */
|
|
5391
5391
|
|
|
@@ -7120,6 +7120,7 @@ body {
|
|
|
7120
7120
|
|
|
7121
7121
|
/* Per-state gap: content-bearing steps are tighter, header-only steps looser */
|
|
7122
7122
|
.muka-progress-accordeon--current,
|
|
7123
|
+
.muka-progress-accordeon--current.muka-progress-accordeon--expanded,
|
|
7123
7124
|
.muka-progress-accordeon--past.muka-progress-accordeon--expanded,
|
|
7124
7125
|
.muka-progress-accordeon--upcoming.muka-progress-accordeon--expanded {
|
|
7125
7126
|
gap: var(--spacing-6);
|
|
@@ -7127,7 +7128,8 @@ body {
|
|
|
7127
7128
|
|
|
7128
7129
|
.muka-progress-accordeon--upcoming,
|
|
7129
7130
|
.muka-progress-accordeon--past.muka-progress-accordeon--collapsed,
|
|
7130
|
-
.muka-progress-accordeon--upcoming.muka-progress-accordeon--collapsed
|
|
7131
|
+
.muka-progress-accordeon--upcoming.muka-progress-accordeon--collapsed,
|
|
7132
|
+
.muka-progress-accordeon--current.muka-progress-accordeon--collapsed {
|
|
7131
7133
|
gap: var(--spacing-8);
|
|
7132
7134
|
}
|
|
7133
7135
|
|
|
@@ -7272,32 +7274,44 @@ body {
|
|
|
7272
7274
|
width: 100%;
|
|
7273
7275
|
}
|
|
7274
7276
|
|
|
7275
|
-
/* ─── Collapse/expand animation (
|
|
7276
|
-
|
|
7277
|
-
intrinsic
|
|
7278
|
-
--motion-duration-view
|
|
7279
|
-
.muka-progress-
|
|
7277
|
+
/* ─── Collapse/expand animation (any expandable step) ──────
|
|
7278
|
+
Animates grid-template-rows 1fr ↔ 0fr so the panel (slot + actions) grows and
|
|
7279
|
+
shrinks to its intrinsic height. Opacity fades with the same duration.
|
|
7280
|
+
Under prefers-reduced-motion, --motion-duration-view is 0ms. */
|
|
7281
|
+
.muka-progress-accordeon__panel-wrapper {
|
|
7280
7282
|
display: grid;
|
|
7281
7283
|
grid-template-rows: 1fr;
|
|
7282
|
-
|
|
7284
|
+
opacity: 1;
|
|
7285
|
+
transition:
|
|
7286
|
+
grid-template-rows var(--motion-duration-view) var(--motion-easing-enter),
|
|
7287
|
+
opacity var(--motion-duration-view) var(--motion-easing-enter);
|
|
7283
7288
|
}
|
|
7284
7289
|
|
|
7285
|
-
.muka-progress-
|
|
7290
|
+
.muka-progress-accordeon__panel-wrapper--collapsed {
|
|
7286
7291
|
grid-template-rows: 0fr;
|
|
7292
|
+
opacity: 0;
|
|
7293
|
+
transition:
|
|
7294
|
+
grid-template-rows var(--motion-duration-view) var(--motion-easing-exit),
|
|
7295
|
+
opacity calc(var(--motion-duration-view) * 0.6) var(--motion-easing-exit);
|
|
7287
7296
|
}
|
|
7288
7297
|
|
|
7289
7298
|
/* The direct grid child clips and must have NO padding/border of its own —
|
|
7290
7299
|
min-height:0 lets it shrink, and with no padding the 0fr track reaches a true
|
|
7291
7300
|
0 height (padding on the item would leave a residual gap when collapsed). */
|
|
7292
|
-
.muka-progress-
|
|
7301
|
+
.muka-progress-accordeon__panel-clip {
|
|
7293
7302
|
overflow: hidden;
|
|
7294
7303
|
min-height: 0;
|
|
7295
7304
|
}
|
|
7296
7305
|
|
|
7297
|
-
/*
|
|
7298
|
-
|
|
7299
|
-
.muka-progress-
|
|
7306
|
+
/* Header↔content spacing + slot/actions gap live inside the clip so they
|
|
7307
|
+
collapse together with the panel. */
|
|
7308
|
+
.muka-progress-accordeon__panel {
|
|
7309
|
+
display: flex;
|
|
7310
|
+
flex-direction: column;
|
|
7311
|
+
align-items: stretch;
|
|
7312
|
+
gap: var(--spacing-6);
|
|
7300
7313
|
padding-top: var(--spacing-4);
|
|
7314
|
+
width: 100%;
|
|
7301
7315
|
}
|
|
7302
7316
|
|
|
7303
7317
|
/* ─── Action buttons (current state) ─────────────────────── */
|
|
@@ -7591,34 +7605,100 @@ body {
|
|
|
7591
7605
|
}
|
|
7592
7606
|
|
|
7593
7607
|
|
|
7594
|
-
/*
|
|
7595
|
-
/*
|
|
7596
|
-
|
|
7597
|
-
.muka-popover__content {
|
|
7598
|
-
background-color: var(--color-surface-level3);
|
|
7599
|
-
border: var(--border-width-regular) solid var(--color-border-default);
|
|
7600
|
-
border-radius: var(--radius-md);
|
|
7601
|
-
padding: var(--spacing-4);
|
|
7602
|
-
box-shadow: var(--shadow-level3);
|
|
7603
|
-
max-width: 20rem;
|
|
7604
|
-
z-index: 50;
|
|
7605
|
-
animation: muka-popover-fade-in 150ms ease;
|
|
7606
|
-
}
|
|
7608
|
+
/* PriceTag */
|
|
7609
|
+
/* PriceTag Component Styles - Using Muka Design Tokens */
|
|
7607
7610
|
|
|
7608
|
-
|
|
7609
|
-
|
|
7610
|
-
|
|
7611
|
-
transform: scale(0.96);
|
|
7612
|
-
}
|
|
7613
|
-
to {
|
|
7614
|
-
opacity: 1;
|
|
7615
|
-
transform: scale(1);
|
|
7616
|
-
}
|
|
7611
|
+
.muka-price-tag {
|
|
7612
|
+
display: flex;
|
|
7613
|
+
flex-shrink: 0;
|
|
7617
7614
|
}
|
|
7618
7615
|
|
|
7619
|
-
/*
|
|
7620
|
-
.muka-
|
|
7621
|
-
|
|
7616
|
+
/* Medium: stacked layout (price on top, unit below) */
|
|
7617
|
+
.muka-price-tag--md {
|
|
7618
|
+
flex-direction: column;
|
|
7619
|
+
align-items: flex-end;
|
|
7620
|
+
justify-content: center;
|
|
7621
|
+
}
|
|
7622
|
+
|
|
7623
|
+
/* Small: inline layout */
|
|
7624
|
+
.muka-price-tag--sm {
|
|
7625
|
+
flex-direction: row;
|
|
7626
|
+
align-items: center;
|
|
7627
|
+
gap: 3px;
|
|
7628
|
+
}
|
|
7629
|
+
|
|
7630
|
+
/* Amount row: currency + numbers */
|
|
7631
|
+
.muka-price-tag__amount {
|
|
7632
|
+
display: flex;
|
|
7633
|
+
align-items: flex-start;
|
|
7634
|
+
gap: var(--spacing-1);
|
|
7635
|
+
}
|
|
7636
|
+
|
|
7637
|
+
.muka-price-tag--sm .muka-price-tag__amount {
|
|
7638
|
+
align-items: center;
|
|
7639
|
+
}
|
|
7640
|
+
|
|
7641
|
+
/* Numbers group: whole + decimal + cents */
|
|
7642
|
+
.muka-price-tag__numbers {
|
|
7643
|
+
display: flex;
|
|
7644
|
+
align-items: baseline;
|
|
7645
|
+
}
|
|
7646
|
+
|
|
7647
|
+
/* ─── Medium size typography ──────────────────────────── */
|
|
7648
|
+
|
|
7649
|
+
.muka-price-tag--md .muka-price-tag__currency {
|
|
7650
|
+
font-family: var(--text-subheading-md-fontFamily);
|
|
7651
|
+
font-weight: var(--text-subheading-md-fontWeight);
|
|
7652
|
+
font-size: var(--text-subheading-md-fontSize);
|
|
7653
|
+
line-height: var(--text-label-2xl-bold-lineHeight);
|
|
7654
|
+
color: var(--color-text-subtle-default);
|
|
7655
|
+
}
|
|
7656
|
+
|
|
7657
|
+
.muka-price-tag--md .muka-price-tag__whole {
|
|
7658
|
+
font-family: var(--text-label-2xl-bold-fontFamily);
|
|
7659
|
+
font-weight: var(--text-label-2xl-bold-fontWeight);
|
|
7660
|
+
font-size: var(--text-label-2xl-bold-fontSize);
|
|
7661
|
+
line-height: var(--text-label-2xl-bold-lineHeight);
|
|
7662
|
+
color: var(--color-text-default-default);
|
|
7663
|
+
}
|
|
7664
|
+
|
|
7665
|
+
.muka-price-tag--md .muka-price-tag__decimal,
|
|
7666
|
+
.muka-price-tag--md .muka-price-tag__cents {
|
|
7667
|
+
font-family: var(--text-label-md-bold-fontFamily);
|
|
7668
|
+
font-weight: var(--text-label-md-bold-fontWeight);
|
|
7669
|
+
font-size: var(--text-label-md-bold-fontSize);
|
|
7670
|
+
line-height: var(--text-label-md-bold-lineHeight);
|
|
7671
|
+
color: var(--color-text-default-default);
|
|
7672
|
+
}
|
|
7673
|
+
|
|
7674
|
+
/* ─── Small size typography ───────────────────────────── */
|
|
7675
|
+
|
|
7676
|
+
.muka-price-tag--sm .muka-price-tag__currency {
|
|
7677
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
7678
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
7679
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
7680
|
+
line-height: var(--text-label-md-bold-lineHeight);
|
|
7681
|
+
color: var(--color-text-subtle-default);
|
|
7682
|
+
}
|
|
7683
|
+
|
|
7684
|
+
.muka-price-tag--sm .muka-price-tag__whole,
|
|
7685
|
+
.muka-price-tag--sm .muka-price-tag__decimal,
|
|
7686
|
+
.muka-price-tag--sm .muka-price-tag__cents {
|
|
7687
|
+
font-family: var(--text-label-md-bold-fontFamily);
|
|
7688
|
+
font-weight: var(--text-label-md-bold-fontWeight);
|
|
7689
|
+
font-size: var(--text-label-md-bold-fontSize);
|
|
7690
|
+
line-height: var(--text-label-md-bold-lineHeight);
|
|
7691
|
+
color: var(--color-text-default-default);
|
|
7692
|
+
}
|
|
7693
|
+
|
|
7694
|
+
/* ─── Unit label (same for both sizes) ────────────────── */
|
|
7695
|
+
|
|
7696
|
+
.muka-price-tag__unit {
|
|
7697
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
7698
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
7699
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
7700
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
7701
|
+
color: var(--color-text-subtle-default);
|
|
7622
7702
|
}
|
|
7623
7703
|
|
|
7624
7704
|
|
|
@@ -7719,6 +7799,37 @@ body {
|
|
|
7719
7799
|
}
|
|
7720
7800
|
|
|
7721
7801
|
|
|
7802
|
+
/* Popover */
|
|
7803
|
+
/* Popover Component Styles */
|
|
7804
|
+
|
|
7805
|
+
.muka-popover__content {
|
|
7806
|
+
background-color: var(--color-surface-level3);
|
|
7807
|
+
border: var(--border-width-regular) solid var(--color-border-default);
|
|
7808
|
+
border-radius: var(--radius-md);
|
|
7809
|
+
padding: var(--spacing-4);
|
|
7810
|
+
box-shadow: var(--shadow-level3);
|
|
7811
|
+
max-width: 20rem;
|
|
7812
|
+
z-index: 50;
|
|
7813
|
+
animation: muka-popover-fade-in 150ms ease;
|
|
7814
|
+
}
|
|
7815
|
+
|
|
7816
|
+
@keyframes muka-popover-fade-in {
|
|
7817
|
+
from {
|
|
7818
|
+
opacity: 0;
|
|
7819
|
+
transform: scale(0.96);
|
|
7820
|
+
}
|
|
7821
|
+
to {
|
|
7822
|
+
opacity: 1;
|
|
7823
|
+
transform: scale(1);
|
|
7824
|
+
}
|
|
7825
|
+
}
|
|
7826
|
+
|
|
7827
|
+
/* Arrow */
|
|
7828
|
+
.muka-popover__arrow {
|
|
7829
|
+
fill: var(--color-surface-level3);
|
|
7830
|
+
}
|
|
7831
|
+
|
|
7832
|
+
|
|
7722
7833
|
/* PhotoUploader */
|
|
7723
7834
|
/* PhotoUploader Component Styles - Using Muka Design Tokens */
|
|
7724
7835
|
|
|
@@ -7764,7 +7875,7 @@ body {
|
|
|
7764
7875
|
padding: 0;
|
|
7765
7876
|
}
|
|
7766
7877
|
|
|
7767
|
-
/* ─── Drop zone card
|
|
7878
|
+
/* ─── Drop zone card (button + "or drop here") ────────── */
|
|
7768
7879
|
.muka-photo-uploader__dropzone {
|
|
7769
7880
|
display: flex;
|
|
7770
7881
|
flex-direction: column;
|
|
@@ -7788,24 +7899,12 @@ body {
|
|
|
7788
7899
|
background-color: var(--color-surface-level1);
|
|
7789
7900
|
}
|
|
7790
7901
|
|
|
7791
|
-
.muka-photo-uploader__dropzone:focus-visible {
|
|
7792
|
-
outline: 2px solid var(--color-border-focus);
|
|
7793
|
-
outline-offset: 2px;
|
|
7794
|
-
}
|
|
7795
|
-
|
|
7796
|
-
.muka-photo-uploader__dropzone-icon {
|
|
7797
|
-
display: flex;
|
|
7798
|
-
align-items: center;
|
|
7799
|
-
justify-content: center;
|
|
7800
|
-
color: var(--color-icon-subtle-default);
|
|
7801
|
-
}
|
|
7802
|
-
|
|
7803
7902
|
.muka-photo-uploader__dropzone-text {
|
|
7804
|
-
font-family: var(--text-
|
|
7805
|
-
font-size: var(--text-
|
|
7806
|
-
font-weight: var(--text-
|
|
7807
|
-
line-height: var(--text-
|
|
7808
|
-
color: var(--color-text-
|
|
7903
|
+
font-family: var(--text-subheading-sm-fontFamily);
|
|
7904
|
+
font-size: var(--text-subheading-sm-fontSize);
|
|
7905
|
+
font-weight: var(--text-subheading-sm-fontWeight);
|
|
7906
|
+
line-height: var(--text-subheading-sm-lineHeight);
|
|
7907
|
+
color: var(--color-text-default-default);
|
|
7809
7908
|
}
|
|
7810
7909
|
|
|
7811
7910
|
/* ─── Disabled ────────────────────────────────────────── */
|
|
@@ -7847,103 +7946,6 @@ body {
|
|
|
7847
7946
|
}
|
|
7848
7947
|
|
|
7849
7948
|
|
|
7850
|
-
/* PriceTag */
|
|
7851
|
-
/* PriceTag Component Styles - Using Muka Design Tokens */
|
|
7852
|
-
|
|
7853
|
-
.muka-price-tag {
|
|
7854
|
-
display: flex;
|
|
7855
|
-
flex-shrink: 0;
|
|
7856
|
-
}
|
|
7857
|
-
|
|
7858
|
-
/* Medium: stacked layout (price on top, unit below) */
|
|
7859
|
-
.muka-price-tag--md {
|
|
7860
|
-
flex-direction: column;
|
|
7861
|
-
align-items: flex-end;
|
|
7862
|
-
justify-content: center;
|
|
7863
|
-
}
|
|
7864
|
-
|
|
7865
|
-
/* Small: inline layout */
|
|
7866
|
-
.muka-price-tag--sm {
|
|
7867
|
-
flex-direction: row;
|
|
7868
|
-
align-items: center;
|
|
7869
|
-
gap: 3px;
|
|
7870
|
-
}
|
|
7871
|
-
|
|
7872
|
-
/* Amount row: currency + numbers */
|
|
7873
|
-
.muka-price-tag__amount {
|
|
7874
|
-
display: flex;
|
|
7875
|
-
align-items: flex-start;
|
|
7876
|
-
gap: var(--spacing-1);
|
|
7877
|
-
}
|
|
7878
|
-
|
|
7879
|
-
.muka-price-tag--sm .muka-price-tag__amount {
|
|
7880
|
-
align-items: center;
|
|
7881
|
-
}
|
|
7882
|
-
|
|
7883
|
-
/* Numbers group: whole + decimal + cents */
|
|
7884
|
-
.muka-price-tag__numbers {
|
|
7885
|
-
display: flex;
|
|
7886
|
-
align-items: baseline;
|
|
7887
|
-
}
|
|
7888
|
-
|
|
7889
|
-
/* ─── Medium size typography ──────────────────────────── */
|
|
7890
|
-
|
|
7891
|
-
.muka-price-tag--md .muka-price-tag__currency {
|
|
7892
|
-
font-family: var(--text-subheading-md-fontFamily);
|
|
7893
|
-
font-weight: var(--text-subheading-md-fontWeight);
|
|
7894
|
-
font-size: var(--text-subheading-md-fontSize);
|
|
7895
|
-
line-height: var(--text-label-2xl-bold-lineHeight);
|
|
7896
|
-
color: var(--color-text-subtle-default);
|
|
7897
|
-
}
|
|
7898
|
-
|
|
7899
|
-
.muka-price-tag--md .muka-price-tag__whole {
|
|
7900
|
-
font-family: var(--text-label-2xl-bold-fontFamily);
|
|
7901
|
-
font-weight: var(--text-label-2xl-bold-fontWeight);
|
|
7902
|
-
font-size: var(--text-label-2xl-bold-fontSize);
|
|
7903
|
-
line-height: var(--text-label-2xl-bold-lineHeight);
|
|
7904
|
-
color: var(--color-text-default-default);
|
|
7905
|
-
}
|
|
7906
|
-
|
|
7907
|
-
.muka-price-tag--md .muka-price-tag__decimal,
|
|
7908
|
-
.muka-price-tag--md .muka-price-tag__cents {
|
|
7909
|
-
font-family: var(--text-label-md-bold-fontFamily);
|
|
7910
|
-
font-weight: var(--text-label-md-bold-fontWeight);
|
|
7911
|
-
font-size: var(--text-label-md-bold-fontSize);
|
|
7912
|
-
line-height: var(--text-label-md-bold-lineHeight);
|
|
7913
|
-
color: var(--color-text-default-default);
|
|
7914
|
-
}
|
|
7915
|
-
|
|
7916
|
-
/* ─── Small size typography ───────────────────────────── */
|
|
7917
|
-
|
|
7918
|
-
.muka-price-tag--sm .muka-price-tag__currency {
|
|
7919
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
7920
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
7921
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
7922
|
-
line-height: var(--text-label-md-bold-lineHeight);
|
|
7923
|
-
color: var(--color-text-subtle-default);
|
|
7924
|
-
}
|
|
7925
|
-
|
|
7926
|
-
.muka-price-tag--sm .muka-price-tag__whole,
|
|
7927
|
-
.muka-price-tag--sm .muka-price-tag__decimal,
|
|
7928
|
-
.muka-price-tag--sm .muka-price-tag__cents {
|
|
7929
|
-
font-family: var(--text-label-md-bold-fontFamily);
|
|
7930
|
-
font-weight: var(--text-label-md-bold-fontWeight);
|
|
7931
|
-
font-size: var(--text-label-md-bold-fontSize);
|
|
7932
|
-
line-height: var(--text-label-md-bold-lineHeight);
|
|
7933
|
-
color: var(--color-text-default-default);
|
|
7934
|
-
}
|
|
7935
|
-
|
|
7936
|
-
/* ─── Unit label (same for both sizes) ────────────────── */
|
|
7937
|
-
|
|
7938
|
-
.muka-price-tag__unit {
|
|
7939
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
7940
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
7941
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
7942
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
7943
|
-
color: var(--color-text-subtle-default);
|
|
7944
|
-
}
|
|
7945
|
-
|
|
7946
|
-
|
|
7947
7949
|
/* PhotoDraftStrip */
|
|
7948
7950
|
/* PhotoDraftStrip Component Styles */
|
|
7949
7951
|
|
|
@@ -8106,27 +8108,55 @@ body {
|
|
|
8106
8108
|
}
|
|
8107
8109
|
|
|
8108
8110
|
|
|
8109
|
-
/*
|
|
8110
|
-
/*
|
|
8111
|
+
/* NavigationTransition */
|
|
8112
|
+
/* NavigationTransition Component Styles */
|
|
8111
8113
|
|
|
8112
|
-
/* ───
|
|
8114
|
+
/* ─── Wrapper ────────────────────────────────────────── */
|
|
8113
8115
|
|
|
8114
|
-
.muka-
|
|
8115
|
-
|
|
8116
|
-
|
|
8117
|
-
min-width: var(--menu-content-min-width);
|
|
8118
|
-
max-height: var(--menu-content-max-height);
|
|
8116
|
+
.muka-nav-transition {
|
|
8117
|
+
position: relative;
|
|
8118
|
+
height: 100vh;
|
|
8119
8119
|
overflow: hidden;
|
|
8120
|
-
|
|
8121
|
-
border: var(--menu-content-border-width) solid var(--menu-content-color-border);
|
|
8122
|
-
border-radius: var(--menu-content-border-radius);
|
|
8123
|
-
box-shadow: var(--menu-content-shadow);
|
|
8124
|
-
padding: 0;
|
|
8125
|
-
z-index: 50;
|
|
8120
|
+
}
|
|
8126
8121
|
|
|
8127
|
-
|
|
8128
|
-
|
|
8129
|
-
|
|
8122
|
+
/* Disable interaction during animation */
|
|
8123
|
+
.muka-nav-transition--active {
|
|
8124
|
+
pointer-events: none;
|
|
8125
|
+
}
|
|
8126
|
+
|
|
8127
|
+
/* ─── View slots ─────────────────────────────────────── */
|
|
8128
|
+
|
|
8129
|
+
.muka-nav-transition--active .muka-nav-transition__view {
|
|
8130
|
+
position: absolute;
|
|
8131
|
+
inset: 0;
|
|
8132
|
+
}
|
|
8133
|
+
|
|
8134
|
+
/* Z-index layering */
|
|
8135
|
+
.muka-nav-transition__view--bottom { z-index: 1; }
|
|
8136
|
+
.muka-nav-transition__view--top { z-index: 2; }
|
|
8137
|
+
|
|
8138
|
+
|
|
8139
|
+
/* Menu */
|
|
8140
|
+
/* Menu Component Styles */
|
|
8141
|
+
|
|
8142
|
+
/* ─── Content Container ──────────────────────────────────────────────────── */
|
|
8143
|
+
|
|
8144
|
+
.muka-menu__content {
|
|
8145
|
+
display: flex;
|
|
8146
|
+
flex-direction: column;
|
|
8147
|
+
min-width: var(--menu-content-min-width);
|
|
8148
|
+
max-height: var(--menu-content-max-height);
|
|
8149
|
+
overflow: hidden;
|
|
8150
|
+
background-color: var(--menu-content-color-background);
|
|
8151
|
+
border: var(--menu-content-border-width) solid var(--menu-content-color-border);
|
|
8152
|
+
border-radius: var(--menu-content-border-radius);
|
|
8153
|
+
box-shadow: var(--menu-content-shadow);
|
|
8154
|
+
padding: 0;
|
|
8155
|
+
z-index: 50;
|
|
8156
|
+
|
|
8157
|
+
/* Animation */
|
|
8158
|
+
animation-duration: 150ms;
|
|
8159
|
+
animation-timing-function: cubic-bezier(0.16, 1, 0.3, 1);
|
|
8130
8160
|
}
|
|
8131
8161
|
|
|
8132
8162
|
.muka-menu__body {
|
|
@@ -8771,34 +8801,6 @@ body {
|
|
|
8771
8801
|
}
|
|
8772
8802
|
|
|
8773
8803
|
|
|
8774
|
-
/* NavigationTransition */
|
|
8775
|
-
/* NavigationTransition Component Styles */
|
|
8776
|
-
|
|
8777
|
-
/* ─── Wrapper ────────────────────────────────────────── */
|
|
8778
|
-
|
|
8779
|
-
.muka-nav-transition {
|
|
8780
|
-
position: relative;
|
|
8781
|
-
height: 100vh;
|
|
8782
|
-
overflow: hidden;
|
|
8783
|
-
}
|
|
8784
|
-
|
|
8785
|
-
/* Disable interaction during animation */
|
|
8786
|
-
.muka-nav-transition--active {
|
|
8787
|
-
pointer-events: none;
|
|
8788
|
-
}
|
|
8789
|
-
|
|
8790
|
-
/* ─── View slots ─────────────────────────────────────── */
|
|
8791
|
-
|
|
8792
|
-
.muka-nav-transition--active .muka-nav-transition__view {
|
|
8793
|
-
position: absolute;
|
|
8794
|
-
inset: 0;
|
|
8795
|
-
}
|
|
8796
|
-
|
|
8797
|
-
/* Z-index layering */
|
|
8798
|
-
.muka-nav-transition__view--bottom { z-index: 1; }
|
|
8799
|
-
.muka-nav-transition__view--top { z-index: 2; }
|
|
8800
|
-
|
|
8801
|
-
|
|
8802
8804
|
/* ListItem */
|
|
8803
8805
|
/* ListItem Component Styles - Using Muka Design Tokens */
|
|
8804
8806
|
|
|
@@ -8993,6 +8995,199 @@ li.muka-listitem {
|
|
|
8993
8995
|
}
|
|
8994
8996
|
|
|
8995
8997
|
|
|
8998
|
+
/* LicensePlateInput */
|
|
8999
|
+
/* LicensePlateInput — Dutch RDW-style plate input
|
|
9000
|
+
*
|
|
9001
|
+
* Plate body colors are regulatory (EU/NL) and intentionally fixed:
|
|
9002
|
+
* - Plate yellow: #F0CE3D
|
|
9003
|
+
* - EU strip blue: #003399
|
|
9004
|
+
* - EU stars yellow: #FFCC00
|
|
9005
|
+
* - Plate text: #1A1A1A
|
|
9006
|
+
*
|
|
9007
|
+
* All surrounding UI (label, helper, focus ring, error border) uses Muka tokens.
|
|
9008
|
+
*/
|
|
9009
|
+
|
|
9010
|
+
.muka-license-plate-input {
|
|
9011
|
+
--plate-yellow: #f0ce3d;
|
|
9012
|
+
--plate-blue: #003399;
|
|
9013
|
+
--plate-text: #1a1a1a;
|
|
9014
|
+
--plate-stars: #ffcc00;
|
|
9015
|
+
|
|
9016
|
+
display: inline-flex;
|
|
9017
|
+
flex-direction: column;
|
|
9018
|
+
gap: var(--spacing-2);
|
|
9019
|
+
}
|
|
9020
|
+
|
|
9021
|
+
/* Plate body */
|
|
9022
|
+
.muka-license-plate-input__plate {
|
|
9023
|
+
display: inline-flex;
|
|
9024
|
+
align-items: stretch;
|
|
9025
|
+
background-color: var(--plate-yellow);
|
|
9026
|
+
border-radius: var(--input-field-radius-md);
|
|
9027
|
+
cursor: text;
|
|
9028
|
+
position: relative;
|
|
9029
|
+
overflow: hidden;
|
|
9030
|
+
box-sizing: border-box;
|
|
9031
|
+
/* Subtle outline to lift the plate from light backgrounds */
|
|
9032
|
+
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
|
|
9033
|
+
/* Reserve space for the focus / error solid ring without shifting layout */
|
|
9034
|
+
outline: 3px solid transparent;
|
|
9035
|
+
outline-offset: 2px;
|
|
9036
|
+
transition: outline-color 0.15s ease, opacity 0.15s ease;
|
|
9037
|
+
}
|
|
9038
|
+
|
|
9039
|
+
/* Size variants — plate aspect echoes the real RDW plate (~5:1) */
|
|
9040
|
+
.muka-license-plate-input__plate--sm {
|
|
9041
|
+
height: 44px;
|
|
9042
|
+
min-width: 220px;
|
|
9043
|
+
border-radius: var(--input-field-radius-sm);
|
|
9044
|
+
}
|
|
9045
|
+
|
|
9046
|
+
.muka-license-plate-input__plate--md {
|
|
9047
|
+
height: 60px;
|
|
9048
|
+
min-width: 300px;
|
|
9049
|
+
border-radius: var(--input-field-radius-md);
|
|
9050
|
+
}
|
|
9051
|
+
|
|
9052
|
+
.muka-license-plate-input__plate--lg {
|
|
9053
|
+
height: 80px;
|
|
9054
|
+
min-width: 400px;
|
|
9055
|
+
border-radius: var(--input-field-radius-lg);
|
|
9056
|
+
}
|
|
9057
|
+
|
|
9058
|
+
/* Focus — solid outline ring */
|
|
9059
|
+
.muka-license-plate-input__plate--focused:not(.muka-license-plate-input__plate--disabled) {
|
|
9060
|
+
outline-color: var(--input-field-color-focus-border);
|
|
9061
|
+
}
|
|
9062
|
+
|
|
9063
|
+
/* Error — solid outline ring in error color */
|
|
9064
|
+
.muka-license-plate-input__plate--error:not(.muka-license-plate-input__plate--disabled) {
|
|
9065
|
+
outline-color: var(--input-field-color-error-border);
|
|
9066
|
+
}
|
|
9067
|
+
|
|
9068
|
+
/* Disabled */
|
|
9069
|
+
.muka-license-plate-input__plate--disabled {
|
|
9070
|
+
cursor: not-allowed;
|
|
9071
|
+
opacity: 0.55;
|
|
9072
|
+
}
|
|
9073
|
+
|
|
9074
|
+
/* EU strip */
|
|
9075
|
+
.muka-license-plate-input__eu-strip {
|
|
9076
|
+
display: inline-flex;
|
|
9077
|
+
flex-direction: column;
|
|
9078
|
+
align-items: center;
|
|
9079
|
+
justify-content: center;
|
|
9080
|
+
background-color: var(--plate-blue);
|
|
9081
|
+
color: #ffffff;
|
|
9082
|
+
flex-shrink: 0;
|
|
9083
|
+
padding: 0 0.4em;
|
|
9084
|
+
gap: 0.15em;
|
|
9085
|
+
/* Strip width scales with plate height for a consistent ratio */
|
|
9086
|
+
width: 14%;
|
|
9087
|
+
min-width: 36px;
|
|
9088
|
+
}
|
|
9089
|
+
|
|
9090
|
+
.muka-license-plate-input__eu-stars {
|
|
9091
|
+
width: 60%;
|
|
9092
|
+
max-width: 28px;
|
|
9093
|
+
aspect-ratio: 1 / 1;
|
|
9094
|
+
display: block;
|
|
9095
|
+
}
|
|
9096
|
+
|
|
9097
|
+
.muka-license-plate-input__plate--sm .muka-license-plate-input__eu-stars {
|
|
9098
|
+
max-width: 20px;
|
|
9099
|
+
}
|
|
9100
|
+
|
|
9101
|
+
.muka-license-plate-input__plate--lg .muka-license-plate-input__eu-stars {
|
|
9102
|
+
max-width: 36px;
|
|
9103
|
+
}
|
|
9104
|
+
|
|
9105
|
+
.muka-license-plate-input__country-code {
|
|
9106
|
+
font-family:
|
|
9107
|
+
'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
9108
|
+
font-weight: 700;
|
|
9109
|
+
letter-spacing: 0.04em;
|
|
9110
|
+
line-height: 1;
|
|
9111
|
+
color: #ffffff;
|
|
9112
|
+
}
|
|
9113
|
+
|
|
9114
|
+
.muka-license-plate-input__plate--sm .muka-license-plate-input__country-code {
|
|
9115
|
+
font-size: 10px;
|
|
9116
|
+
}
|
|
9117
|
+
|
|
9118
|
+
.muka-license-plate-input__plate--md .muka-license-plate-input__country-code {
|
|
9119
|
+
font-size: 13px;
|
|
9120
|
+
}
|
|
9121
|
+
|
|
9122
|
+
.muka-license-plate-input__plate--lg .muka-license-plate-input__country-code {
|
|
9123
|
+
font-size: 16px;
|
|
9124
|
+
}
|
|
9125
|
+
|
|
9126
|
+
/* Native input */
|
|
9127
|
+
.muka-license-plate-input__native {
|
|
9128
|
+
flex: 1;
|
|
9129
|
+
min-width: 0;
|
|
9130
|
+
border: none;
|
|
9131
|
+
outline: none;
|
|
9132
|
+
background: transparent;
|
|
9133
|
+
color: var(--plate-text);
|
|
9134
|
+
text-align: center;
|
|
9135
|
+
text-transform: uppercase;
|
|
9136
|
+
letter-spacing: 0.06em;
|
|
9137
|
+
/* Plate font — bold condensed sans is closest to the FE-Schrift look without
|
|
9138
|
+
shipping a custom font. JetBrains Mono is the system mono brand font. */
|
|
9139
|
+
font-family:
|
|
9140
|
+
'Arial Narrow', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
9141
|
+
font-weight: 800;
|
|
9142
|
+
padding: 0 0.5em;
|
|
9143
|
+
width: 100%;
|
|
9144
|
+
caret-color: var(--plate-text);
|
|
9145
|
+
}
|
|
9146
|
+
|
|
9147
|
+
.muka-license-plate-input__plate--sm .muka-license-plate-input__native {
|
|
9148
|
+
font-size: 22px;
|
|
9149
|
+
}
|
|
9150
|
+
|
|
9151
|
+
.muka-license-plate-input__plate--md .muka-license-plate-input__native {
|
|
9152
|
+
font-size: 30px;
|
|
9153
|
+
}
|
|
9154
|
+
|
|
9155
|
+
.muka-license-plate-input__plate--lg .muka-license-plate-input__native {
|
|
9156
|
+
font-size: 42px;
|
|
9157
|
+
}
|
|
9158
|
+
|
|
9159
|
+
.muka-license-plate-input__native::placeholder {
|
|
9160
|
+
color: var(--plate-text);
|
|
9161
|
+
opacity: 0.55;
|
|
9162
|
+
font-weight: 700;
|
|
9163
|
+
letter-spacing: 0.08em;
|
|
9164
|
+
}
|
|
9165
|
+
|
|
9166
|
+
.muka-license-plate-input__plate--disabled .muka-license-plate-input__native {
|
|
9167
|
+
cursor: not-allowed;
|
|
9168
|
+
}
|
|
9169
|
+
|
|
9170
|
+
/* Helper text */
|
|
9171
|
+
.muka-license-plate-input__helper {
|
|
9172
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
9173
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
9174
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
9175
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
9176
|
+
color: var(--color-text-subtle-default);
|
|
9177
|
+
margin: 0;
|
|
9178
|
+
}
|
|
9179
|
+
|
|
9180
|
+
/* Error message */
|
|
9181
|
+
.muka-license-plate-input__error {
|
|
9182
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
9183
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
9184
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
9185
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
9186
|
+
color: var(--color-state-error-default);
|
|
9187
|
+
margin: 0;
|
|
9188
|
+
}
|
|
9189
|
+
|
|
9190
|
+
|
|
8996
9191
|
/* Label */
|
|
8997
9192
|
/* Label Component Styles - Using Muka Design Tokens */
|
|
8998
9193
|
|
|
@@ -9212,199 +9407,6 @@ li.muka-listitem {
|
|
|
9212
9407
|
}
|
|
9213
9408
|
|
|
9214
9409
|
|
|
9215
|
-
/* LicensePlateInput */
|
|
9216
|
-
/* LicensePlateInput — Dutch RDW-style plate input
|
|
9217
|
-
*
|
|
9218
|
-
* Plate body colors are regulatory (EU/NL) and intentionally fixed:
|
|
9219
|
-
* - Plate yellow: #F0CE3D
|
|
9220
|
-
* - EU strip blue: #003399
|
|
9221
|
-
* - EU stars yellow: #FFCC00
|
|
9222
|
-
* - Plate text: #1A1A1A
|
|
9223
|
-
*
|
|
9224
|
-
* All surrounding UI (label, helper, focus ring, error border) uses Muka tokens.
|
|
9225
|
-
*/
|
|
9226
|
-
|
|
9227
|
-
.muka-license-plate-input {
|
|
9228
|
-
--plate-yellow: #f0ce3d;
|
|
9229
|
-
--plate-blue: #003399;
|
|
9230
|
-
--plate-text: #1a1a1a;
|
|
9231
|
-
--plate-stars: #ffcc00;
|
|
9232
|
-
|
|
9233
|
-
display: inline-flex;
|
|
9234
|
-
flex-direction: column;
|
|
9235
|
-
gap: var(--spacing-2);
|
|
9236
|
-
}
|
|
9237
|
-
|
|
9238
|
-
/* Plate body */
|
|
9239
|
-
.muka-license-plate-input__plate {
|
|
9240
|
-
display: inline-flex;
|
|
9241
|
-
align-items: stretch;
|
|
9242
|
-
background-color: var(--plate-yellow);
|
|
9243
|
-
border-radius: var(--input-field-radius-md);
|
|
9244
|
-
cursor: text;
|
|
9245
|
-
position: relative;
|
|
9246
|
-
overflow: hidden;
|
|
9247
|
-
box-sizing: border-box;
|
|
9248
|
-
/* Subtle outline to lift the plate from light backgrounds */
|
|
9249
|
-
box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.08);
|
|
9250
|
-
/* Reserve space for the focus / error solid ring without shifting layout */
|
|
9251
|
-
outline: 3px solid transparent;
|
|
9252
|
-
outline-offset: 2px;
|
|
9253
|
-
transition: outline-color 0.15s ease, opacity 0.15s ease;
|
|
9254
|
-
}
|
|
9255
|
-
|
|
9256
|
-
/* Size variants — plate aspect echoes the real RDW plate (~5:1) */
|
|
9257
|
-
.muka-license-plate-input__plate--sm {
|
|
9258
|
-
height: 44px;
|
|
9259
|
-
min-width: 220px;
|
|
9260
|
-
border-radius: var(--input-field-radius-sm);
|
|
9261
|
-
}
|
|
9262
|
-
|
|
9263
|
-
.muka-license-plate-input__plate--md {
|
|
9264
|
-
height: 60px;
|
|
9265
|
-
min-width: 300px;
|
|
9266
|
-
border-radius: var(--input-field-radius-md);
|
|
9267
|
-
}
|
|
9268
|
-
|
|
9269
|
-
.muka-license-plate-input__plate--lg {
|
|
9270
|
-
height: 80px;
|
|
9271
|
-
min-width: 400px;
|
|
9272
|
-
border-radius: var(--input-field-radius-lg);
|
|
9273
|
-
}
|
|
9274
|
-
|
|
9275
|
-
/* Focus — solid outline ring */
|
|
9276
|
-
.muka-license-plate-input__plate--focused:not(.muka-license-plate-input__plate--disabled) {
|
|
9277
|
-
outline-color: var(--input-field-color-focus-border);
|
|
9278
|
-
}
|
|
9279
|
-
|
|
9280
|
-
/* Error — solid outline ring in error color */
|
|
9281
|
-
.muka-license-plate-input__plate--error:not(.muka-license-plate-input__plate--disabled) {
|
|
9282
|
-
outline-color: var(--input-field-color-error-border);
|
|
9283
|
-
}
|
|
9284
|
-
|
|
9285
|
-
/* Disabled */
|
|
9286
|
-
.muka-license-plate-input__plate--disabled {
|
|
9287
|
-
cursor: not-allowed;
|
|
9288
|
-
opacity: 0.55;
|
|
9289
|
-
}
|
|
9290
|
-
|
|
9291
|
-
/* EU strip */
|
|
9292
|
-
.muka-license-plate-input__eu-strip {
|
|
9293
|
-
display: inline-flex;
|
|
9294
|
-
flex-direction: column;
|
|
9295
|
-
align-items: center;
|
|
9296
|
-
justify-content: center;
|
|
9297
|
-
background-color: var(--plate-blue);
|
|
9298
|
-
color: #ffffff;
|
|
9299
|
-
flex-shrink: 0;
|
|
9300
|
-
padding: 0 0.4em;
|
|
9301
|
-
gap: 0.15em;
|
|
9302
|
-
/* Strip width scales with plate height for a consistent ratio */
|
|
9303
|
-
width: 14%;
|
|
9304
|
-
min-width: 36px;
|
|
9305
|
-
}
|
|
9306
|
-
|
|
9307
|
-
.muka-license-plate-input__eu-stars {
|
|
9308
|
-
width: 60%;
|
|
9309
|
-
max-width: 28px;
|
|
9310
|
-
aspect-ratio: 1 / 1;
|
|
9311
|
-
display: block;
|
|
9312
|
-
}
|
|
9313
|
-
|
|
9314
|
-
.muka-license-plate-input__plate--sm .muka-license-plate-input__eu-stars {
|
|
9315
|
-
max-width: 20px;
|
|
9316
|
-
}
|
|
9317
|
-
|
|
9318
|
-
.muka-license-plate-input__plate--lg .muka-license-plate-input__eu-stars {
|
|
9319
|
-
max-width: 36px;
|
|
9320
|
-
}
|
|
9321
|
-
|
|
9322
|
-
.muka-license-plate-input__country-code {
|
|
9323
|
-
font-family:
|
|
9324
|
-
'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
|
|
9325
|
-
font-weight: 700;
|
|
9326
|
-
letter-spacing: 0.04em;
|
|
9327
|
-
line-height: 1;
|
|
9328
|
-
color: #ffffff;
|
|
9329
|
-
}
|
|
9330
|
-
|
|
9331
|
-
.muka-license-plate-input__plate--sm .muka-license-plate-input__country-code {
|
|
9332
|
-
font-size: 10px;
|
|
9333
|
-
}
|
|
9334
|
-
|
|
9335
|
-
.muka-license-plate-input__plate--md .muka-license-plate-input__country-code {
|
|
9336
|
-
font-size: 13px;
|
|
9337
|
-
}
|
|
9338
|
-
|
|
9339
|
-
.muka-license-plate-input__plate--lg .muka-license-plate-input__country-code {
|
|
9340
|
-
font-size: 16px;
|
|
9341
|
-
}
|
|
9342
|
-
|
|
9343
|
-
/* Native input */
|
|
9344
|
-
.muka-license-plate-input__native {
|
|
9345
|
-
flex: 1;
|
|
9346
|
-
min-width: 0;
|
|
9347
|
-
border: none;
|
|
9348
|
-
outline: none;
|
|
9349
|
-
background: transparent;
|
|
9350
|
-
color: var(--plate-text);
|
|
9351
|
-
text-align: center;
|
|
9352
|
-
text-transform: uppercase;
|
|
9353
|
-
letter-spacing: 0.06em;
|
|
9354
|
-
/* Plate font — bold condensed sans is closest to the FE-Schrift look without
|
|
9355
|
-
shipping a custom font. JetBrains Mono is the system mono brand font. */
|
|
9356
|
-
font-family:
|
|
9357
|
-
'Arial Narrow', 'Helvetica Neue', Helvetica, Arial, sans-serif;
|
|
9358
|
-
font-weight: 800;
|
|
9359
|
-
padding: 0 0.5em;
|
|
9360
|
-
width: 100%;
|
|
9361
|
-
caret-color: var(--plate-text);
|
|
9362
|
-
}
|
|
9363
|
-
|
|
9364
|
-
.muka-license-plate-input__plate--sm .muka-license-plate-input__native {
|
|
9365
|
-
font-size: 22px;
|
|
9366
|
-
}
|
|
9367
|
-
|
|
9368
|
-
.muka-license-plate-input__plate--md .muka-license-plate-input__native {
|
|
9369
|
-
font-size: 30px;
|
|
9370
|
-
}
|
|
9371
|
-
|
|
9372
|
-
.muka-license-plate-input__plate--lg .muka-license-plate-input__native {
|
|
9373
|
-
font-size: 42px;
|
|
9374
|
-
}
|
|
9375
|
-
|
|
9376
|
-
.muka-license-plate-input__native::placeholder {
|
|
9377
|
-
color: var(--plate-text);
|
|
9378
|
-
opacity: 0.55;
|
|
9379
|
-
font-weight: 700;
|
|
9380
|
-
letter-spacing: 0.08em;
|
|
9381
|
-
}
|
|
9382
|
-
|
|
9383
|
-
.muka-license-plate-input__plate--disabled .muka-license-plate-input__native {
|
|
9384
|
-
cursor: not-allowed;
|
|
9385
|
-
}
|
|
9386
|
-
|
|
9387
|
-
/* Helper text */
|
|
9388
|
-
.muka-license-plate-input__helper {
|
|
9389
|
-
font-family: var(--text-label-sm-regular-fontFamily);
|
|
9390
|
-
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
9391
|
-
font-size: var(--text-label-sm-regular-fontSize);
|
|
9392
|
-
line-height: var(--text-label-sm-regular-lineHeight);
|
|
9393
|
-
color: var(--color-text-subtle-default);
|
|
9394
|
-
margin: 0;
|
|
9395
|
-
}
|
|
9396
|
-
|
|
9397
|
-
/* Error message */
|
|
9398
|
-
.muka-license-plate-input__error {
|
|
9399
|
-
font-family: var(--text-label-sm-regular-fontFamily);
|
|
9400
|
-
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
9401
|
-
font-size: var(--text-label-sm-regular-fontSize);
|
|
9402
|
-
line-height: var(--text-label-sm-regular-lineHeight);
|
|
9403
|
-
color: var(--color-state-error-default);
|
|
9404
|
-
margin: 0;
|
|
9405
|
-
}
|
|
9406
|
-
|
|
9407
|
-
|
|
9408
9410
|
/* Input */
|
|
9409
9411
|
/* Input Component Styles - Using Muka Design Tokens */
|
|
9410
9412
|
|
|
@@ -9686,6 +9688,60 @@ li.muka-listitem {
|
|
|
9686
9688
|
}
|
|
9687
9689
|
|
|
9688
9690
|
|
|
9691
|
+
/* Icon */
|
|
9692
|
+
/* Icon Component Styles - Using Muka Design Tokens */
|
|
9693
|
+
|
|
9694
|
+
.muka-icon {
|
|
9695
|
+
display: inline-flex;
|
|
9696
|
+
align-items: center;
|
|
9697
|
+
justify-content: center;
|
|
9698
|
+
flex-shrink: 0;
|
|
9699
|
+
color: var(--color-icon-default-default, currentColor);
|
|
9700
|
+
}
|
|
9701
|
+
|
|
9702
|
+
/* Icons inside buttons should inherit from button's foreground color */
|
|
9703
|
+
.muka-button .muka-icon {
|
|
9704
|
+
color: inherit;
|
|
9705
|
+
}
|
|
9706
|
+
|
|
9707
|
+
.muka-icon--subtle {
|
|
9708
|
+
color: var(--color-icon-subtle-default);
|
|
9709
|
+
}
|
|
9710
|
+
|
|
9711
|
+
.muka-icon--muted {
|
|
9712
|
+
color: var(--color-icon-muted-default);
|
|
9713
|
+
}
|
|
9714
|
+
|
|
9715
|
+
.muka-icon--inverse {
|
|
9716
|
+
color: var(--color-icon-default-inverse);
|
|
9717
|
+
}
|
|
9718
|
+
|
|
9719
|
+
.muka-icon--xs {
|
|
9720
|
+
width: var(--icon-size-xs);
|
|
9721
|
+
height: var(--icon-size-xs);
|
|
9722
|
+
}
|
|
9723
|
+
|
|
9724
|
+
.muka-icon--sm {
|
|
9725
|
+
width: var(--icon-size-sm);
|
|
9726
|
+
height: var(--icon-size-sm);
|
|
9727
|
+
}
|
|
9728
|
+
|
|
9729
|
+
.muka-icon--md {
|
|
9730
|
+
width: var(--icon-size-default);
|
|
9731
|
+
height: var(--icon-size-default);
|
|
9732
|
+
}
|
|
9733
|
+
|
|
9734
|
+
.muka-icon--lg {
|
|
9735
|
+
width: var(--icon-size-lg);
|
|
9736
|
+
height: var(--icon-size-lg);
|
|
9737
|
+
}
|
|
9738
|
+
|
|
9739
|
+
.muka-icon svg {
|
|
9740
|
+
width: 100%;
|
|
9741
|
+
height: 100%;
|
|
9742
|
+
}
|
|
9743
|
+
|
|
9744
|
+
|
|
9689
9745
|
/* Form */
|
|
9690
9746
|
.muka-form {
|
|
9691
9747
|
display: flex;
|
|
@@ -9968,207 +10024,12 @@ li.muka-listitem {
|
|
|
9968
10024
|
}
|
|
9969
10025
|
|
|
9970
10026
|
|
|
9971
|
-
/*
|
|
9972
|
-
/*
|
|
9973
|
-
|
|
9974
|
-
.muka-
|
|
9975
|
-
|
|
9976
|
-
|
|
9977
|
-
justify-content: center;
|
|
9978
|
-
flex-shrink: 0;
|
|
9979
|
-
color: var(--color-icon-default-default, currentColor);
|
|
9980
|
-
}
|
|
9981
|
-
|
|
9982
|
-
/* Icons inside buttons should inherit from button's foreground color */
|
|
9983
|
-
.muka-button .muka-icon {
|
|
9984
|
-
color: inherit;
|
|
9985
|
-
}
|
|
9986
|
-
|
|
9987
|
-
.muka-icon--subtle {
|
|
9988
|
-
color: var(--color-icon-subtle-default);
|
|
9989
|
-
}
|
|
9990
|
-
|
|
9991
|
-
.muka-icon--muted {
|
|
9992
|
-
color: var(--color-icon-muted-default);
|
|
9993
|
-
}
|
|
9994
|
-
|
|
9995
|
-
.muka-icon--inverse {
|
|
9996
|
-
color: var(--color-icon-default-inverse);
|
|
9997
|
-
}
|
|
9998
|
-
|
|
9999
|
-
.muka-icon--xs {
|
|
10000
|
-
width: var(--icon-size-xs);
|
|
10001
|
-
height: var(--icon-size-xs);
|
|
10002
|
-
}
|
|
10003
|
-
|
|
10004
|
-
.muka-icon--sm {
|
|
10005
|
-
width: var(--icon-size-sm);
|
|
10006
|
-
height: var(--icon-size-sm);
|
|
10007
|
-
}
|
|
10008
|
-
|
|
10009
|
-
.muka-icon--md {
|
|
10010
|
-
width: var(--icon-size-default);
|
|
10011
|
-
height: var(--icon-size-default);
|
|
10012
|
-
}
|
|
10013
|
-
|
|
10014
|
-
.muka-icon--lg {
|
|
10015
|
-
width: var(--icon-size-lg);
|
|
10016
|
-
height: var(--icon-size-lg);
|
|
10017
|
-
}
|
|
10018
|
-
|
|
10019
|
-
.muka-icon svg {
|
|
10020
|
-
width: 100%;
|
|
10021
|
-
height: 100%;
|
|
10022
|
-
}
|
|
10023
|
-
|
|
10024
|
-
|
|
10025
|
-
/* EmptyState */
|
|
10026
|
-
/* EmptyState Component Styles - Using Muka Design Tokens */
|
|
10027
|
-
|
|
10028
|
-
.muka-emptystate {
|
|
10029
|
-
display: flex;
|
|
10030
|
-
flex-direction: column;
|
|
10031
|
-
align-items: center;
|
|
10032
|
-
justify-content: center;
|
|
10033
|
-
gap: var(--emptystate-container-gap);
|
|
10034
|
-
max-width: var(--emptystate-container-maxWidth);
|
|
10035
|
-
margin: 0 auto;
|
|
10036
|
-
text-align: center;
|
|
10037
|
-
}
|
|
10038
|
-
|
|
10039
|
-
/* Alignment variants */
|
|
10040
|
-
.muka-emptystate--left {
|
|
10041
|
-
align-items: flex-start;
|
|
10042
|
-
text-align: left;
|
|
10043
|
-
}
|
|
10044
|
-
|
|
10045
|
-
/* Size variants */
|
|
10046
|
-
.muka-emptystate--sm {
|
|
10047
|
-
padding: var(--emptystate-container-padding-sm);
|
|
10048
|
-
}
|
|
10049
|
-
|
|
10050
|
-
.muka-emptystate--md {
|
|
10051
|
-
padding: var(--emptystate-container-padding-md);
|
|
10052
|
-
}
|
|
10053
|
-
|
|
10054
|
-
.muka-emptystate--lg {
|
|
10055
|
-
padding: var(--emptystate-container-padding-lg);
|
|
10056
|
-
}
|
|
10057
|
-
|
|
10058
|
-
/* Visual (icon or illustration) */
|
|
10059
|
-
.muka-emptystate__visual {
|
|
10060
|
-
display: flex;
|
|
10061
|
-
align-items: center;
|
|
10062
|
-
justify-content: center;
|
|
10063
|
-
color: var(--emptystate-icon-color);
|
|
10064
|
-
flex-shrink: 0;
|
|
10065
|
-
}
|
|
10066
|
-
|
|
10067
|
-
.muka-emptystate--sm .muka-emptystate__visual {
|
|
10068
|
-
width: var(--emptystate-icon-size-sm);
|
|
10069
|
-
height: var(--emptystate-icon-size-sm);
|
|
10070
|
-
}
|
|
10071
|
-
|
|
10072
|
-
.muka-emptystate--md .muka-emptystate__visual {
|
|
10073
|
-
width: var(--emptystate-icon-size-md);
|
|
10074
|
-
height: var(--emptystate-icon-size-md);
|
|
10075
|
-
}
|
|
10076
|
-
|
|
10077
|
-
.muka-emptystate--lg .muka-emptystate__visual {
|
|
10078
|
-
width: var(--emptystate-icon-size-lg);
|
|
10079
|
-
height: var(--emptystate-icon-size-lg);
|
|
10080
|
-
}
|
|
10081
|
-
|
|
10082
|
-
.muka-emptystate__visual svg {
|
|
10083
|
-
width: 100%;
|
|
10084
|
-
height: 100%;
|
|
10085
|
-
}
|
|
10086
|
-
|
|
10087
|
-
.muka-emptystate__visual img {
|
|
10088
|
-
width: 100%;
|
|
10089
|
-
height: 100%;
|
|
10090
|
-
object-fit: contain;
|
|
10091
|
-
}
|
|
10092
|
-
|
|
10093
|
-
/* Content */
|
|
10094
|
-
.muka-emptystate__content {
|
|
10095
|
-
display: flex;
|
|
10096
|
-
flex-direction: column;
|
|
10097
|
-
gap: var(--spacing-2);
|
|
10098
|
-
}
|
|
10099
|
-
|
|
10100
|
-
.muka-emptystate--left .muka-emptystate__content {
|
|
10101
|
-
align-items: flex-start;
|
|
10102
|
-
}
|
|
10103
|
-
|
|
10104
|
-
/* Title */
|
|
10105
|
-
.muka-emptystate__title {
|
|
10106
|
-
color: var(--emptystate-title-color);
|
|
10107
|
-
margin: 0;
|
|
10108
|
-
font-family: var(--text-heading-sm-fontFamily);
|
|
10109
|
-
font-weight: var(--text-heading-sm-fontWeight);
|
|
10110
|
-
font-size: var(--text-heading-sm-fontSize);
|
|
10111
|
-
line-height: var(--text-heading-sm-lineHeight);
|
|
10112
|
-
}
|
|
10113
|
-
|
|
10114
|
-
.muka-emptystate--sm .muka-emptystate__title {
|
|
10115
|
-
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
10116
|
-
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
10117
|
-
font-size: var(--text-label-lg-semibold-fontSize);
|
|
10118
|
-
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
10119
|
-
}
|
|
10120
|
-
|
|
10121
|
-
.muka-emptystate--lg .muka-emptystate__title {
|
|
10122
|
-
font-family: var(--text-heading-md-fontFamily);
|
|
10123
|
-
font-weight: var(--text-heading-md-fontWeight);
|
|
10124
|
-
font-size: var(--text-heading-md-fontSize);
|
|
10125
|
-
line-height: var(--text-heading-md-lineHeight);
|
|
10126
|
-
}
|
|
10127
|
-
|
|
10128
|
-
/* Description */
|
|
10129
|
-
.muka-emptystate__description {
|
|
10130
|
-
color: var(--emptystate-description-color);
|
|
10131
|
-
margin: 0;
|
|
10132
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
10133
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
10134
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
10135
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
10136
|
-
}
|
|
10137
|
-
|
|
10138
|
-
.muka-emptystate--md .muka-emptystate__description {
|
|
10139
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
10140
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
10141
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
10142
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
10143
|
-
}
|
|
10144
|
-
|
|
10145
|
-
.muka-emptystate--lg .muka-emptystate__description {
|
|
10146
|
-
font-family: var(--text-body-lg-regular-fontFamily);
|
|
10147
|
-
font-weight: var(--text-body-lg-regular-fontWeight);
|
|
10148
|
-
font-size: var(--text-body-lg-regular-fontSize);
|
|
10149
|
-
line-height: var(--text-body-lg-regular-lineHeight);
|
|
10150
|
-
}
|
|
10151
|
-
|
|
10152
|
-
/* Actions */
|
|
10153
|
-
.muka-emptystate__actions {
|
|
10154
|
-
display: flex;
|
|
10155
|
-
gap: var(--emptystate-actions-gap);
|
|
10156
|
-
margin-top: var(--emptystate-actions-marginTop);
|
|
10157
|
-
flex-wrap: wrap;
|
|
10158
|
-
justify-content: center;
|
|
10159
|
-
}
|
|
10160
|
-
|
|
10161
|
-
.muka-emptystate--left .muka-emptystate__actions {
|
|
10162
|
-
justify-content: flex-start;
|
|
10163
|
-
}
|
|
10164
|
-
|
|
10165
|
-
|
|
10166
|
-
/* FAB */
|
|
10167
|
-
/* FAB (Floating Action Button) Component Styles */
|
|
10168
|
-
|
|
10169
|
-
.muka-fab {
|
|
10170
|
-
position: fixed;
|
|
10171
|
-
z-index: 40;
|
|
10027
|
+
/* FAB */
|
|
10028
|
+
/* FAB (Floating Action Button) Component Styles */
|
|
10029
|
+
|
|
10030
|
+
.muka-fab {
|
|
10031
|
+
position: fixed;
|
|
10032
|
+
z-index: 40;
|
|
10172
10033
|
|
|
10173
10034
|
display: inline-flex;
|
|
10174
10035
|
align-items: center;
|
|
@@ -10710,36 +10571,315 @@ li.muka-listitem {
|
|
|
10710
10571
|
}
|
|
10711
10572
|
|
|
10712
10573
|
|
|
10713
|
-
/*
|
|
10714
|
-
/*
|
|
10574
|
+
/* DocumentViewer */
|
|
10575
|
+
/* DocumentViewer Component Styles - Using Muka Design Tokens */
|
|
10715
10576
|
|
|
10716
|
-
.muka-
|
|
10717
|
-
|
|
10577
|
+
.muka-documentviewer {
|
|
10578
|
+
display: flex;
|
|
10579
|
+
flex-direction: column;
|
|
10580
|
+
background-color: var(--documentviewer-container-background);
|
|
10581
|
+
border-radius: var(--documentviewer-container-borderRadius);
|
|
10582
|
+
overflow: hidden;
|
|
10583
|
+
position: relative;
|
|
10718
10584
|
}
|
|
10719
10585
|
|
|
10720
|
-
.muka-
|
|
10721
|
-
|
|
10722
|
-
|
|
10586
|
+
.muka-documentviewer--fullscreen {
|
|
10587
|
+
position: fixed;
|
|
10588
|
+
top: 0;
|
|
10589
|
+
left: 0;
|
|
10590
|
+
right: 0;
|
|
10591
|
+
bottom: 0;
|
|
10592
|
+
width: 100vw;
|
|
10593
|
+
height: 100vh;
|
|
10594
|
+
z-index: 9999;
|
|
10595
|
+
border-radius: 0;
|
|
10723
10596
|
}
|
|
10724
10597
|
|
|
10725
|
-
|
|
10726
|
-
|
|
10727
|
-
|
|
10728
|
-
align-
|
|
10598
|
+
/* Toolbar */
|
|
10599
|
+
.muka-documentviewer__toolbar {
|
|
10600
|
+
display: flex;
|
|
10601
|
+
align-items: center;
|
|
10602
|
+
justify-content: space-between;
|
|
10603
|
+
height: var(--documentviewer-toolbar-height);
|
|
10604
|
+
padding: var(--documentviewer-toolbar-padding-y) var(--documentviewer-toolbar-padding-x);
|
|
10605
|
+
background-color: var(--documentviewer-toolbar-background);
|
|
10606
|
+
border-bottom: 1px solid var(--documentviewer-toolbar-border);
|
|
10607
|
+
gap: var(--documentviewer-toolbar-gap);
|
|
10608
|
+
flex-shrink: 0;
|
|
10729
10609
|
}
|
|
10730
10610
|
|
|
10731
|
-
.muka-
|
|
10732
|
-
|
|
10611
|
+
.muka-documentviewer__toolbar-section {
|
|
10612
|
+
display: flex;
|
|
10613
|
+
align-items: center;
|
|
10614
|
+
gap: var(--documentviewer-toolbar-gap);
|
|
10733
10615
|
}
|
|
10734
10616
|
|
|
10735
|
-
.muka-
|
|
10736
|
-
|
|
10617
|
+
.muka-documentviewer__toolbar-section--center {
|
|
10618
|
+
flex: 1;
|
|
10619
|
+
justify-content: center;
|
|
10737
10620
|
}
|
|
10738
10621
|
|
|
10622
|
+
.muka-documentviewer__toolbar-section--end {
|
|
10623
|
+
justify-content: flex-end;
|
|
10624
|
+
}
|
|
10625
|
+
|
|
10626
|
+
/* Page navigation */
|
|
10627
|
+
.muka-documentviewer__page-input {
|
|
10628
|
+
display: flex;
|
|
10629
|
+
align-items: center;
|
|
10630
|
+
gap: var(--spacing-1);
|
|
10631
|
+
}
|
|
10632
|
+
|
|
10633
|
+
.muka-documentviewer__page-number {
|
|
10634
|
+
width: 3rem;
|
|
10635
|
+
padding: var(--spacing-1) var(--spacing-2);
|
|
10636
|
+
text-align: center;
|
|
10637
|
+
font-family: var(--alias-font-brand-family);
|
|
10638
|
+
font-size: var(--text-label-sm-fontSize);
|
|
10639
|
+
line-height: var(--text-label-sm-lineHeight);
|
|
10640
|
+
border: 1px solid var(--color-border-default);
|
|
10641
|
+
border-radius: var(--border-radius-md);
|
|
10642
|
+
background-color: var(--color-surface-level0);
|
|
10643
|
+
color: var(--color-text-default-default);
|
|
10644
|
+
}
|
|
10645
|
+
|
|
10646
|
+
.muka-documentviewer__page-number:focus {
|
|
10647
|
+
outline: 2px solid var(--color-border-focus);
|
|
10648
|
+
outline-offset: 0;
|
|
10649
|
+
border-color: var(--color-border-focus);
|
|
10650
|
+
}
|
|
10651
|
+
|
|
10652
|
+
.muka-documentviewer__page-total {
|
|
10653
|
+
font-family: var(--alias-font-brand-family);
|
|
10654
|
+
font-size: var(--text-label-sm-fontSize);
|
|
10655
|
+
color: var(--color-text-subtle-default);
|
|
10656
|
+
}
|
|
10657
|
+
|
|
10658
|
+
/* Zoom controls */
|
|
10659
|
+
.muka-documentviewer__zoom-display {
|
|
10660
|
+
min-width: var(--documentviewer-zoom-button-width);
|
|
10661
|
+
padding: var(--spacing-1) var(--spacing-2);
|
|
10662
|
+
font-family: var(--alias-font-brand-family);
|
|
10663
|
+
font-size: var(--text-label-sm-fontSize);
|
|
10664
|
+
font-weight: var(--alias-font-brand-weight-semibold);
|
|
10665
|
+
color: var(--color-text-default-default);
|
|
10666
|
+
background: transparent;
|
|
10667
|
+
border: none;
|
|
10668
|
+
border-radius: var(--border-radius-md);
|
|
10669
|
+
cursor: pointer;
|
|
10670
|
+
transition: background-color 0.2s ease;
|
|
10671
|
+
}
|
|
10672
|
+
|
|
10673
|
+
.muka-documentviewer__zoom-display:hover {
|
|
10674
|
+
background-color: var(--color-surface-level2);
|
|
10675
|
+
}
|
|
10676
|
+
|
|
10677
|
+
.muka-documentviewer__zoom-display:focus {
|
|
10678
|
+
outline: 2px solid var(--color-border-focus);
|
|
10679
|
+
outline-offset: 0;
|
|
10680
|
+
}
|
|
10681
|
+
|
|
10682
|
+
/* Content area */
|
|
10683
|
+
.muka-documentviewer__content {
|
|
10684
|
+
display: flex;
|
|
10685
|
+
flex: 1;
|
|
10686
|
+
overflow: hidden;
|
|
10687
|
+
}
|
|
10688
|
+
|
|
10689
|
+
.muka-documentviewer__main {
|
|
10690
|
+
flex: 1;
|
|
10691
|
+
display: flex;
|
|
10692
|
+
flex-direction: column;
|
|
10693
|
+
overflow: hidden;
|
|
10694
|
+
position: relative;
|
|
10695
|
+
}
|
|
10696
|
+
|
|
10697
|
+
/* Canvas */
|
|
10698
|
+
.muka-documentviewer__canvas {
|
|
10699
|
+
flex: 1;
|
|
10700
|
+
background-color: var(--documentviewer-canvas-background);
|
|
10701
|
+
padding: var(--documentviewer-canvas-padding);
|
|
10702
|
+
overflow: auto;
|
|
10703
|
+
display: flex;
|
|
10704
|
+
align-items: flex-start;
|
|
10705
|
+
justify-content: center;
|
|
10706
|
+
}
|
|
10707
|
+
|
|
10708
|
+
.muka-documentviewer__page {
|
|
10709
|
+
background-color: var(--documentviewer-page-background);
|
|
10710
|
+
box-shadow: var(--documentviewer-page-shadow);
|
|
10711
|
+
border-radius: var(--documentviewer-page-borderRadius);
|
|
10712
|
+
overflow: hidden;
|
|
10713
|
+
}
|
|
10714
|
+
|
|
10715
|
+
.muka-documentviewer__page canvas {
|
|
10716
|
+
display: block;
|
|
10717
|
+
max-width: 100%;
|
|
10718
|
+
height: auto;
|
|
10719
|
+
}
|
|
10720
|
+
|
|
10721
|
+
.muka-documentviewer__page-number {
|
|
10722
|
+
text-align: center;
|
|
10723
|
+
padding: var(--spacing-2);
|
|
10724
|
+
font-family: var(--alias-font-brand-family);
|
|
10725
|
+
font-size: var(--text-label-sm-fontSize);
|
|
10726
|
+
color: var(--color-text-subtle-default);
|
|
10727
|
+
}
|
|
10728
|
+
|
|
10729
|
+
/* Thumbnails */
|
|
10730
|
+
.muka-documentviewer__thumbnails {
|
|
10731
|
+
width: var(--documentviewer-thumbnails-width);
|
|
10732
|
+
background-color: var(--documentviewer-thumbnails-background);
|
|
10733
|
+
border-right: 1px solid var(--documentviewer-thumbnails-border);
|
|
10734
|
+
overflow-y: auto;
|
|
10735
|
+
flex-shrink: 0;
|
|
10736
|
+
}
|
|
10737
|
+
|
|
10738
|
+
.muka-documentviewer__thumbnails-list {
|
|
10739
|
+
display: flex;
|
|
10740
|
+
flex-direction: column;
|
|
10741
|
+
gap: var(--documentviewer-thumbnails-item-gap);
|
|
10742
|
+
padding: var(--spacing-2);
|
|
10743
|
+
}
|
|
10744
|
+
|
|
10745
|
+
.muka-documentviewer__thumbnail-item {
|
|
10746
|
+
display: flex;
|
|
10747
|
+
flex-direction: column;
|
|
10748
|
+
align-items: center;
|
|
10749
|
+
gap: var(--spacing-1);
|
|
10750
|
+
padding: var(--documentviewer-thumbnails-item-padding);
|
|
10751
|
+
border-radius: var(--documentviewer-thumbnails-item-borderRadius);
|
|
10752
|
+
border: 2px solid var(--documentviewer-thumbnails-item-border-default);
|
|
10753
|
+
background-color: var(--documentviewer-thumbnails-item-background-default);
|
|
10754
|
+
cursor: pointer;
|
|
10755
|
+
transition: all 0.2s ease;
|
|
10756
|
+
width: 100%;
|
|
10757
|
+
}
|
|
10758
|
+
|
|
10759
|
+
.muka-documentviewer__thumbnail-item:hover {
|
|
10760
|
+
background-color: var(--documentviewer-thumbnails-item-background-hover);
|
|
10761
|
+
}
|
|
10762
|
+
|
|
10763
|
+
.muka-documentviewer__thumbnail-item--selected {
|
|
10764
|
+
background-color: var(--documentviewer-thumbnails-item-background-selected);
|
|
10765
|
+
border-color: var(--documentviewer-thumbnails-item-border-selected);
|
|
10766
|
+
}
|
|
10767
|
+
|
|
10768
|
+
.muka-documentviewer__thumbnail-item:focus {
|
|
10769
|
+
outline: 2px solid var(--color-border-focus);
|
|
10770
|
+
outline-offset: 2px;
|
|
10771
|
+
}
|
|
10772
|
+
|
|
10773
|
+
.muka-documentviewer__thumbnail-preview {
|
|
10774
|
+
width: 100%;
|
|
10775
|
+
overflow: hidden;
|
|
10776
|
+
border-radius: var(--border-radius-sm);
|
|
10777
|
+
}
|
|
10778
|
+
|
|
10779
|
+
.muka-documentviewer__thumbnail-preview canvas {
|
|
10780
|
+
display: block;
|
|
10781
|
+
width: 100%;
|
|
10782
|
+
height: auto;
|
|
10783
|
+
}
|
|
10784
|
+
|
|
10785
|
+
.muka-documentviewer__thumbnail-label {
|
|
10786
|
+
font-family: var(--alias-font-brand-family);
|
|
10787
|
+
font-size: var(--text-label-xs-regular-fontSize);
|
|
10788
|
+
color: var(--color-text-default-default);
|
|
10789
|
+
font-weight: var(--alias-font-brand-weight-medium);
|
|
10790
|
+
}
|
|
10791
|
+
|
|
10792
|
+
/* Loading state */
|
|
10793
|
+
.muka-documentviewer__loading {
|
|
10794
|
+
display: flex;
|
|
10795
|
+
align-items: center;
|
|
10796
|
+
justify-content: center;
|
|
10797
|
+
flex: 1;
|
|
10798
|
+
background-color: var(--documentviewer-loading-overlay-background);
|
|
10799
|
+
}
|
|
10800
|
+
|
|
10801
|
+
/* Error state */
|
|
10802
|
+
.muka-documentviewer__error {
|
|
10803
|
+
display: flex;
|
|
10804
|
+
align-items: center;
|
|
10805
|
+
justify-content: center;
|
|
10806
|
+
flex: 1;
|
|
10807
|
+
padding: var(--spacing-4);
|
|
10808
|
+
background-color: var(--documentviewer-error-background);
|
|
10809
|
+
}
|
|
10810
|
+
|
|
10811
|
+
/* Accessibility - visually hidden */
|
|
10812
|
+
.visually-hidden {
|
|
10813
|
+
position: absolute;
|
|
10814
|
+
width: 1px;
|
|
10815
|
+
height: 1px;
|
|
10816
|
+
margin: -1px;
|
|
10817
|
+
padding: 0;
|
|
10818
|
+
overflow: hidden;
|
|
10819
|
+
clip: rect(0, 0, 0, 0);
|
|
10820
|
+
white-space: nowrap;
|
|
10821
|
+
border-width: 0;
|
|
10822
|
+
}
|
|
10823
|
+
|
|
10824
|
+
/* React-PDF specific styles */
|
|
10825
|
+
.react-pdf__Document {
|
|
10826
|
+
display: flex;
|
|
10827
|
+
flex-direction: column;
|
|
10828
|
+
align-items: center;
|
|
10829
|
+
}
|
|
10830
|
+
|
|
10831
|
+
.react-pdf__Page {
|
|
10832
|
+
max-width: 100%;
|
|
10833
|
+
box-shadow: var(--documentviewer-page-shadow);
|
|
10834
|
+
border-radius: var(--documentviewer-page-borderRadius);
|
|
10835
|
+
overflow: hidden;
|
|
10836
|
+
}
|
|
10837
|
+
|
|
10838
|
+
.react-pdf__Page__canvas {
|
|
10839
|
+
max-width: 100%;
|
|
10840
|
+
height: auto !important;
|
|
10841
|
+
display: block;
|
|
10842
|
+
}
|
|
10843
|
+
|
|
10844
|
+
.react-pdf__Page__textContent {
|
|
10845
|
+
max-width: 100%;
|
|
10846
|
+
}
|
|
10847
|
+
|
|
10848
|
+
.react-pdf__Page__annotations {
|
|
10849
|
+
max-width: 100%;
|
|
10850
|
+
}
|
|
10851
|
+
|
|
10852
|
+
|
|
10853
|
+
/* Divider */
|
|
10854
|
+
/* Divider Component Styles - Using Muka Design Tokens */
|
|
10855
|
+
|
|
10856
|
+
.muka-divider {
|
|
10857
|
+
flex-shrink: 0;
|
|
10858
|
+
}
|
|
10859
|
+
|
|
10860
|
+
.muka-divider--horizontal {
|
|
10861
|
+
width: 100%;
|
|
10862
|
+
height: var(--separator-width);
|
|
10863
|
+
}
|
|
10864
|
+
|
|
10865
|
+
.muka-divider--vertical {
|
|
10866
|
+
height: 100%;
|
|
10867
|
+
width: var(--separator-width);
|
|
10868
|
+
align-self: stretch;
|
|
10869
|
+
}
|
|
10870
|
+
|
|
10871
|
+
.muka-divider--default {
|
|
10872
|
+
background-color: var(--separator-color-default);
|
|
10873
|
+
}
|
|
10874
|
+
|
|
10875
|
+
.muka-divider--contrast {
|
|
10876
|
+
background-color: var(--separator-color-contrast);
|
|
10877
|
+
}
|
|
10878
|
+
|
|
10879
|
+
|
|
10880
|
+
/* Dialog */
|
|
10881
|
+
/* Dialog Component Styles */
|
|
10739
10882
|
|
|
10740
|
-
/* Dialog */
|
|
10741
|
-
/* Dialog Component Styles */
|
|
10742
|
-
|
|
10743
10883
|
/* ─── Native dialog reset ─────────────────────────────── */
|
|
10744
10884
|
|
|
10745
10885
|
.muka-dialog {
|
|
@@ -11008,282 +11148,144 @@ li.muka-listitem {
|
|
|
11008
11148
|
}
|
|
11009
11149
|
|
|
11010
11150
|
|
|
11011
|
-
/*
|
|
11012
|
-
/*
|
|
11151
|
+
/* EmptyState */
|
|
11152
|
+
/* EmptyState Component Styles - Using Muka Design Tokens */
|
|
11013
11153
|
|
|
11014
|
-
.muka-
|
|
11154
|
+
.muka-emptystate {
|
|
11015
11155
|
display: flex;
|
|
11016
11156
|
flex-direction: column;
|
|
11017
|
-
background-color: var(--documentviewer-container-background);
|
|
11018
|
-
border-radius: var(--documentviewer-container-borderRadius);
|
|
11019
|
-
overflow: hidden;
|
|
11020
|
-
position: relative;
|
|
11021
|
-
}
|
|
11022
|
-
|
|
11023
|
-
.muka-documentviewer--fullscreen {
|
|
11024
|
-
position: fixed;
|
|
11025
|
-
top: 0;
|
|
11026
|
-
left: 0;
|
|
11027
|
-
right: 0;
|
|
11028
|
-
bottom: 0;
|
|
11029
|
-
width: 100vw;
|
|
11030
|
-
height: 100vh;
|
|
11031
|
-
z-index: 9999;
|
|
11032
|
-
border-radius: 0;
|
|
11033
|
-
}
|
|
11034
|
-
|
|
11035
|
-
/* Toolbar */
|
|
11036
|
-
.muka-documentviewer__toolbar {
|
|
11037
|
-
display: flex;
|
|
11038
|
-
align-items: center;
|
|
11039
|
-
justify-content: space-between;
|
|
11040
|
-
height: var(--documentviewer-toolbar-height);
|
|
11041
|
-
padding: var(--documentviewer-toolbar-padding-y) var(--documentviewer-toolbar-padding-x);
|
|
11042
|
-
background-color: var(--documentviewer-toolbar-background);
|
|
11043
|
-
border-bottom: 1px solid var(--documentviewer-toolbar-border);
|
|
11044
|
-
gap: var(--documentviewer-toolbar-gap);
|
|
11045
|
-
flex-shrink: 0;
|
|
11046
|
-
}
|
|
11047
|
-
|
|
11048
|
-
.muka-documentviewer__toolbar-section {
|
|
11049
|
-
display: flex;
|
|
11050
11157
|
align-items: center;
|
|
11051
|
-
gap: var(--documentviewer-toolbar-gap);
|
|
11052
|
-
}
|
|
11053
|
-
|
|
11054
|
-
.muka-documentviewer__toolbar-section--center {
|
|
11055
|
-
flex: 1;
|
|
11056
11158
|
justify-content: center;
|
|
11057
|
-
|
|
11058
|
-
|
|
11059
|
-
|
|
11060
|
-
justify-content: flex-end;
|
|
11061
|
-
}
|
|
11062
|
-
|
|
11063
|
-
/* Page navigation */
|
|
11064
|
-
.muka-documentviewer__page-input {
|
|
11065
|
-
display: flex;
|
|
11066
|
-
align-items: center;
|
|
11067
|
-
gap: var(--spacing-1);
|
|
11068
|
-
}
|
|
11069
|
-
|
|
11070
|
-
.muka-documentviewer__page-number {
|
|
11071
|
-
width: 3rem;
|
|
11072
|
-
padding: var(--spacing-1) var(--spacing-2);
|
|
11159
|
+
gap: var(--emptystate-container-gap);
|
|
11160
|
+
max-width: var(--emptystate-container-maxWidth);
|
|
11161
|
+
margin: 0 auto;
|
|
11073
11162
|
text-align: center;
|
|
11074
|
-
font-family: var(--alias-font-brand-family);
|
|
11075
|
-
font-size: var(--text-label-sm-fontSize);
|
|
11076
|
-
line-height: var(--text-label-sm-lineHeight);
|
|
11077
|
-
border: 1px solid var(--color-border-default);
|
|
11078
|
-
border-radius: var(--border-radius-md);
|
|
11079
|
-
background-color: var(--color-surface-level0);
|
|
11080
|
-
color: var(--color-text-default-default);
|
|
11081
11163
|
}
|
|
11082
11164
|
|
|
11083
|
-
|
|
11084
|
-
|
|
11085
|
-
outline-offset: 0;
|
|
11086
|
-
border-color: var(--color-border-focus);
|
|
11087
|
-
}
|
|
11088
|
-
|
|
11089
|
-
.muka-documentviewer__page-total {
|
|
11090
|
-
font-family: var(--alias-font-brand-family);
|
|
11091
|
-
font-size: var(--text-label-sm-fontSize);
|
|
11092
|
-
color: var(--color-text-subtle-default);
|
|
11093
|
-
}
|
|
11094
|
-
|
|
11095
|
-
/* Zoom controls */
|
|
11096
|
-
.muka-documentviewer__zoom-display {
|
|
11097
|
-
min-width: var(--documentviewer-zoom-button-width);
|
|
11098
|
-
padding: var(--spacing-1) var(--spacing-2);
|
|
11099
|
-
font-family: var(--alias-font-brand-family);
|
|
11100
|
-
font-size: var(--text-label-sm-fontSize);
|
|
11101
|
-
font-weight: var(--alias-font-brand-weight-semibold);
|
|
11102
|
-
color: var(--color-text-default-default);
|
|
11103
|
-
background: transparent;
|
|
11104
|
-
border: none;
|
|
11105
|
-
border-radius: var(--border-radius-md);
|
|
11106
|
-
cursor: pointer;
|
|
11107
|
-
transition: background-color 0.2s ease;
|
|
11108
|
-
}
|
|
11109
|
-
|
|
11110
|
-
.muka-documentviewer__zoom-display:hover {
|
|
11111
|
-
background-color: var(--color-surface-level2);
|
|
11112
|
-
}
|
|
11113
|
-
|
|
11114
|
-
.muka-documentviewer__zoom-display:focus {
|
|
11115
|
-
outline: 2px solid var(--color-border-focus);
|
|
11116
|
-
outline-offset: 0;
|
|
11117
|
-
}
|
|
11118
|
-
|
|
11119
|
-
/* Content area */
|
|
11120
|
-
.muka-documentviewer__content {
|
|
11121
|
-
display: flex;
|
|
11122
|
-
flex: 1;
|
|
11123
|
-
overflow: hidden;
|
|
11124
|
-
}
|
|
11125
|
-
|
|
11126
|
-
.muka-documentviewer__main {
|
|
11127
|
-
flex: 1;
|
|
11128
|
-
display: flex;
|
|
11129
|
-
flex-direction: column;
|
|
11130
|
-
overflow: hidden;
|
|
11131
|
-
position: relative;
|
|
11132
|
-
}
|
|
11133
|
-
|
|
11134
|
-
/* Canvas */
|
|
11135
|
-
.muka-documentviewer__canvas {
|
|
11136
|
-
flex: 1;
|
|
11137
|
-
background-color: var(--documentviewer-canvas-background);
|
|
11138
|
-
padding: var(--documentviewer-canvas-padding);
|
|
11139
|
-
overflow: auto;
|
|
11140
|
-
display: flex;
|
|
11165
|
+
/* Alignment variants */
|
|
11166
|
+
.muka-emptystate--left {
|
|
11141
11167
|
align-items: flex-start;
|
|
11142
|
-
|
|
11143
|
-
}
|
|
11144
|
-
|
|
11145
|
-
.muka-documentviewer__page {
|
|
11146
|
-
background-color: var(--documentviewer-page-background);
|
|
11147
|
-
box-shadow: var(--documentviewer-page-shadow);
|
|
11148
|
-
border-radius: var(--documentviewer-page-borderRadius);
|
|
11149
|
-
overflow: hidden;
|
|
11150
|
-
}
|
|
11151
|
-
|
|
11152
|
-
.muka-documentviewer__page canvas {
|
|
11153
|
-
display: block;
|
|
11154
|
-
max-width: 100%;
|
|
11155
|
-
height: auto;
|
|
11168
|
+
text-align: left;
|
|
11156
11169
|
}
|
|
11157
11170
|
|
|
11158
|
-
|
|
11159
|
-
|
|
11160
|
-
padding: var(--
|
|
11161
|
-
font-family: var(--alias-font-brand-family);
|
|
11162
|
-
font-size: var(--text-label-sm-fontSize);
|
|
11163
|
-
color: var(--color-text-subtle-default);
|
|
11171
|
+
/* Size variants */
|
|
11172
|
+
.muka-emptystate--sm {
|
|
11173
|
+
padding: var(--emptystate-container-padding-sm);
|
|
11164
11174
|
}
|
|
11165
11175
|
|
|
11166
|
-
|
|
11167
|
-
|
|
11168
|
-
width: var(--documentviewer-thumbnails-width);
|
|
11169
|
-
background-color: var(--documentviewer-thumbnails-background);
|
|
11170
|
-
border-right: 1px solid var(--documentviewer-thumbnails-border);
|
|
11171
|
-
overflow-y: auto;
|
|
11172
|
-
flex-shrink: 0;
|
|
11176
|
+
.muka-emptystate--md {
|
|
11177
|
+
padding: var(--emptystate-container-padding-md);
|
|
11173
11178
|
}
|
|
11174
11179
|
|
|
11175
|
-
.muka-
|
|
11176
|
-
|
|
11177
|
-
flex-direction: column;
|
|
11178
|
-
gap: var(--documentviewer-thumbnails-item-gap);
|
|
11179
|
-
padding: var(--spacing-2);
|
|
11180
|
+
.muka-emptystate--lg {
|
|
11181
|
+
padding: var(--emptystate-container-padding-lg);
|
|
11180
11182
|
}
|
|
11181
11183
|
|
|
11182
|
-
|
|
11184
|
+
/* Visual (icon or illustration) */
|
|
11185
|
+
.muka-emptystate__visual {
|
|
11183
11186
|
display: flex;
|
|
11184
|
-
flex-direction: column;
|
|
11185
11187
|
align-items: center;
|
|
11186
|
-
|
|
11187
|
-
|
|
11188
|
-
|
|
11189
|
-
border: 2px solid var(--documentviewer-thumbnails-item-border-default);
|
|
11190
|
-
background-color: var(--documentviewer-thumbnails-item-background-default);
|
|
11191
|
-
cursor: pointer;
|
|
11192
|
-
transition: all 0.2s ease;
|
|
11193
|
-
width: 100%;
|
|
11188
|
+
justify-content: center;
|
|
11189
|
+
color: var(--emptystate-icon-color);
|
|
11190
|
+
flex-shrink: 0;
|
|
11194
11191
|
}
|
|
11195
11192
|
|
|
11196
|
-
.muka-
|
|
11197
|
-
|
|
11193
|
+
.muka-emptystate--sm .muka-emptystate__visual {
|
|
11194
|
+
width: var(--emptystate-icon-size-sm);
|
|
11195
|
+
height: var(--emptystate-icon-size-sm);
|
|
11198
11196
|
}
|
|
11199
11197
|
|
|
11200
|
-
.muka-
|
|
11201
|
-
|
|
11202
|
-
|
|
11198
|
+
.muka-emptystate--md .muka-emptystate__visual {
|
|
11199
|
+
width: var(--emptystate-icon-size-md);
|
|
11200
|
+
height: var(--emptystate-icon-size-md);
|
|
11203
11201
|
}
|
|
11204
11202
|
|
|
11205
|
-
.muka-
|
|
11206
|
-
|
|
11207
|
-
|
|
11203
|
+
.muka-emptystate--lg .muka-emptystate__visual {
|
|
11204
|
+
width: var(--emptystate-icon-size-lg);
|
|
11205
|
+
height: var(--emptystate-icon-size-lg);
|
|
11208
11206
|
}
|
|
11209
11207
|
|
|
11210
|
-
.muka-
|
|
11208
|
+
.muka-emptystate__visual svg {
|
|
11211
11209
|
width: 100%;
|
|
11212
|
-
|
|
11213
|
-
border-radius: var(--border-radius-sm);
|
|
11210
|
+
height: 100%;
|
|
11214
11211
|
}
|
|
11215
11212
|
|
|
11216
|
-
.muka-
|
|
11217
|
-
display: block;
|
|
11213
|
+
.muka-emptystate__visual img {
|
|
11218
11214
|
width: 100%;
|
|
11219
|
-
height:
|
|
11215
|
+
height: 100%;
|
|
11216
|
+
object-fit: contain;
|
|
11220
11217
|
}
|
|
11221
11218
|
|
|
11222
|
-
|
|
11223
|
-
|
|
11224
|
-
|
|
11225
|
-
|
|
11226
|
-
|
|
11219
|
+
/* Content */
|
|
11220
|
+
.muka-emptystate__content {
|
|
11221
|
+
display: flex;
|
|
11222
|
+
flex-direction: column;
|
|
11223
|
+
gap: var(--spacing-2);
|
|
11227
11224
|
}
|
|
11228
11225
|
|
|
11229
|
-
|
|
11230
|
-
|
|
11231
|
-
display: flex;
|
|
11232
|
-
align-items: center;
|
|
11233
|
-
justify-content: center;
|
|
11234
|
-
flex: 1;
|
|
11235
|
-
background-color: var(--documentviewer-loading-overlay-background);
|
|
11226
|
+
.muka-emptystate--left .muka-emptystate__content {
|
|
11227
|
+
align-items: flex-start;
|
|
11236
11228
|
}
|
|
11237
11229
|
|
|
11238
|
-
/*
|
|
11239
|
-
.muka-
|
|
11240
|
-
|
|
11241
|
-
|
|
11242
|
-
|
|
11243
|
-
|
|
11244
|
-
|
|
11245
|
-
|
|
11230
|
+
/* Title */
|
|
11231
|
+
.muka-emptystate__title {
|
|
11232
|
+
color: var(--emptystate-title-color);
|
|
11233
|
+
margin: 0;
|
|
11234
|
+
font-family: var(--text-heading-sm-fontFamily);
|
|
11235
|
+
font-weight: var(--text-heading-sm-fontWeight);
|
|
11236
|
+
font-size: var(--text-heading-sm-fontSize);
|
|
11237
|
+
line-height: var(--text-heading-sm-lineHeight);
|
|
11246
11238
|
}
|
|
11247
11239
|
|
|
11248
|
-
|
|
11249
|
-
|
|
11250
|
-
|
|
11251
|
-
|
|
11252
|
-
height:
|
|
11253
|
-
margin: -1px;
|
|
11254
|
-
padding: 0;
|
|
11255
|
-
overflow: hidden;
|
|
11256
|
-
clip: rect(0, 0, 0, 0);
|
|
11257
|
-
white-space: nowrap;
|
|
11258
|
-
border-width: 0;
|
|
11240
|
+
.muka-emptystate--sm .muka-emptystate__title {
|
|
11241
|
+
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
11242
|
+
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
11243
|
+
font-size: var(--text-label-lg-semibold-fontSize);
|
|
11244
|
+
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
11259
11245
|
}
|
|
11260
11246
|
|
|
11261
|
-
|
|
11262
|
-
|
|
11263
|
-
|
|
11264
|
-
|
|
11265
|
-
|
|
11247
|
+
.muka-emptystate--lg .muka-emptystate__title {
|
|
11248
|
+
font-family: var(--text-heading-md-fontFamily);
|
|
11249
|
+
font-weight: var(--text-heading-md-fontWeight);
|
|
11250
|
+
font-size: var(--text-heading-md-fontSize);
|
|
11251
|
+
line-height: var(--text-heading-md-lineHeight);
|
|
11266
11252
|
}
|
|
11267
11253
|
|
|
11268
|
-
|
|
11269
|
-
|
|
11270
|
-
|
|
11271
|
-
|
|
11272
|
-
|
|
11254
|
+
/* Description */
|
|
11255
|
+
.muka-emptystate__description {
|
|
11256
|
+
color: var(--emptystate-description-color);
|
|
11257
|
+
margin: 0;
|
|
11258
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
11259
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
11260
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
11261
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
11273
11262
|
}
|
|
11274
11263
|
|
|
11275
|
-
.
|
|
11276
|
-
|
|
11277
|
-
|
|
11278
|
-
|
|
11264
|
+
.muka-emptystate--md .muka-emptystate__description {
|
|
11265
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
11266
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
11267
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
11268
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
11279
11269
|
}
|
|
11280
11270
|
|
|
11281
|
-
.
|
|
11282
|
-
|
|
11271
|
+
.muka-emptystate--lg .muka-emptystate__description {
|
|
11272
|
+
font-family: var(--text-body-lg-regular-fontFamily);
|
|
11273
|
+
font-weight: var(--text-body-lg-regular-fontWeight);
|
|
11274
|
+
font-size: var(--text-body-lg-regular-fontSize);
|
|
11275
|
+
line-height: var(--text-body-lg-regular-lineHeight);
|
|
11283
11276
|
}
|
|
11284
11277
|
|
|
11285
|
-
|
|
11286
|
-
|
|
11278
|
+
/* Actions */
|
|
11279
|
+
.muka-emptystate__actions {
|
|
11280
|
+
display: flex;
|
|
11281
|
+
gap: var(--emptystate-actions-gap);
|
|
11282
|
+
margin-top: var(--emptystate-actions-marginTop);
|
|
11283
|
+
flex-wrap: wrap;
|
|
11284
|
+
justify-content: center;
|
|
11285
|
+
}
|
|
11286
|
+
|
|
11287
|
+
.muka-emptystate--left .muka-emptystate__actions {
|
|
11288
|
+
justify-content: flex-start;
|
|
11287
11289
|
}
|
|
11288
11290
|
|
|
11289
11291
|
|
|
@@ -12573,235 +12575,68 @@ li.muka-listitem {
|
|
|
12573
12575
|
height: 40px;
|
|
12574
12576
|
}
|
|
12575
12577
|
|
|
12576
|
-
/* Vertical image sizing */
|
|
12577
|
-
.muka-checkbox-tile--vertical .muka-checkbox-tile__image {
|
|
12578
|
-
width: 100%;
|
|
12579
|
-
aspect-ratio: 4/3;
|
|
12580
|
-
}
|
|
12581
|
-
|
|
12582
|
-
/* Content container */
|
|
12583
|
-
.muka-checkbox-tile__content {
|
|
12584
|
-
display: flex;
|
|
12585
|
-
flex-direction: column;
|
|
12586
|
-
flex: 1;
|
|
12587
|
-
min-width: 0;
|
|
12588
|
-
gap: var(--spacing-2);
|
|
12589
|
-
}
|
|
12590
|
-
|
|
12591
|
-
.muka-checkbox-tile__content-inner {
|
|
12592
|
-
display: flex;
|
|
12593
|
-
flex-direction: column;
|
|
12594
|
-
gap: var(--spacing-1);
|
|
12595
|
-
}
|
|
12596
|
-
|
|
12597
|
-
/* Chip slot (replaces badge; use Chip component) */
|
|
12598
|
-
.muka-checkbox-tile__chip {
|
|
12599
|
-
flex-shrink: 0;
|
|
12600
|
-
}
|
|
12601
|
-
|
|
12602
|
-
.muka-checkbox-tile__chip--vertical {
|
|
12603
|
-
margin-top: var(--spacing-1);
|
|
12604
|
-
}
|
|
12605
|
-
|
|
12606
|
-
/* Label */
|
|
12607
|
-
.muka-checkbox-tile__label {
|
|
12608
|
-
font-family: var(--text-body-lg-regular-fontFamily);
|
|
12609
|
-
font-weight: var(--text-body-lg-regular-fontWeight);
|
|
12610
|
-
font-size: var(--text-body-lg-regular-fontSize);
|
|
12611
|
-
line-height: var(--text-body-lg-regular-lineHeight);
|
|
12612
|
-
color: var(--color-text-default-default);
|
|
12613
|
-
}
|
|
12614
|
-
|
|
12615
|
-
.muka-checkbox-tile__label--bold {
|
|
12616
|
-
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
12617
|
-
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
12618
|
-
font-size: var(--text-label-lg-semibold-fontSize);
|
|
12619
|
-
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
12620
|
-
}
|
|
12621
|
-
|
|
12622
|
-
.muka-checkbox-tile__label--center {
|
|
12623
|
-
text-align: center;
|
|
12624
|
-
}
|
|
12625
|
-
|
|
12626
|
-
/* Caption */
|
|
12627
|
-
.muka-checkbox-tile__caption {
|
|
12628
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
12629
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
12630
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
12631
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
12632
|
-
color: var(--color-text-subtle-default);
|
|
12633
|
-
}
|
|
12634
|
-
|
|
12635
|
-
/* Disabled states */
|
|
12636
|
-
.muka-checkbox-tile--disabled .muka-checkbox-tile__label,
|
|
12637
|
-
.muka-checkbox-tile--disabled .muka-checkbox-tile__icon {
|
|
12638
|
-
color: var(--color-text-subtle-default);
|
|
12639
|
-
}
|
|
12640
|
-
|
|
12641
|
-
|
|
12642
|
-
/* Checkbox */
|
|
12643
|
-
/* Checkbox Component Styles - Using Muka Design Tokens */
|
|
12644
|
-
|
|
12645
|
-
/* Wrapper - clickable label container */
|
|
12646
|
-
.muka-checkbox {
|
|
12647
|
-
display: inline-flex;
|
|
12648
|
-
align-items: center;
|
|
12649
|
-
gap: var(--spacing-4);
|
|
12650
|
-
cursor: pointer;
|
|
12651
|
-
user-select: none;
|
|
12652
|
-
}
|
|
12653
|
-
|
|
12654
|
-
.muka-checkbox--disabled {
|
|
12655
|
-
cursor: not-allowed;
|
|
12656
|
-
opacity: 0.6;
|
|
12657
|
-
}
|
|
12658
|
-
|
|
12659
|
-
/* Control container */
|
|
12660
|
-
.muka-checkbox__control {
|
|
12661
|
-
position: relative;
|
|
12662
|
-
display: inline-flex;
|
|
12663
|
-
align-items: center;
|
|
12664
|
-
justify-content: center;
|
|
12665
|
-
flex-shrink: 0;
|
|
12666
|
-
}
|
|
12667
|
-
|
|
12668
|
-
/* Hidden native input */
|
|
12669
|
-
.muka-checkbox__input {
|
|
12670
|
-
position: absolute;
|
|
12671
|
-
width: 1px;
|
|
12672
|
-
height: 1px;
|
|
12673
|
-
padding: 0;
|
|
12674
|
-
margin: -1px;
|
|
12675
|
-
overflow: hidden;
|
|
12676
|
-
clip: rect(0, 0, 0, 0);
|
|
12677
|
-
white-space: nowrap;
|
|
12678
|
-
border: 0;
|
|
12679
|
-
}
|
|
12680
|
-
|
|
12681
|
-
/* Visual indicator (square) */
|
|
12682
|
-
.muka-checkbox__indicator {
|
|
12683
|
-
display: flex;
|
|
12684
|
-
align-items: center;
|
|
12685
|
-
justify-content: center;
|
|
12686
|
-
width: var(--checkbox-size-default);
|
|
12687
|
-
height: var(--checkbox-size-default);
|
|
12688
|
-
border-radius: var(--checkbox-radius);
|
|
12689
|
-
background-color: var(--checkbox-color-default-background);
|
|
12690
|
-
border: var(--border-width-regular) solid var(--checkbox-color-default-border);
|
|
12691
|
-
transition: all 0.15s ease;
|
|
12692
|
-
box-shadow: inset 0 1px 2px 0 rgba(26, 26, 26, 0.15);
|
|
12693
|
-
}
|
|
12694
|
-
|
|
12695
|
-
/* Size variants */
|
|
12696
|
-
.muka-checkbox--sm .muka-checkbox__indicator {
|
|
12697
|
-
width: var(--checkbox-size-sm);
|
|
12698
|
-
height: var(--checkbox-size-sm);
|
|
12699
|
-
}
|
|
12700
|
-
|
|
12701
|
-
.muka-checkbox--lg .muka-checkbox__indicator {
|
|
12702
|
-
width: var(--checkbox-size-lg);
|
|
12703
|
-
height: var(--checkbox-size-lg);
|
|
12704
|
-
}
|
|
12705
|
-
|
|
12706
|
-
/* Icon inside checkbox */
|
|
12707
|
-
.muka-checkbox__icon {
|
|
12708
|
-
width: var(--checkbox-icon-size-default);
|
|
12709
|
-
height: var(--checkbox-icon-size-default);
|
|
12710
|
-
color: var(--checkbox-color-default-icon);
|
|
12711
|
-
opacity: 0;
|
|
12712
|
-
transform: scale(0.8);
|
|
12713
|
-
transition: opacity 0.15s ease, transform 0.15s ease;
|
|
12714
|
-
}
|
|
12715
|
-
|
|
12716
|
-
.muka-checkbox--sm .muka-checkbox__icon {
|
|
12717
|
-
width: var(--checkbox-icon-size-sm);
|
|
12718
|
-
height: var(--checkbox-icon-size-sm);
|
|
12719
|
-
}
|
|
12720
|
-
|
|
12721
|
-
.muka-checkbox--lg .muka-checkbox__icon {
|
|
12722
|
-
width: var(--checkbox-icon-size-lg);
|
|
12723
|
-
height: var(--checkbox-icon-size-lg);
|
|
12724
|
-
}
|
|
12725
|
-
|
|
12726
|
-
/* Hide indeterminate icon by default */
|
|
12727
|
-
.muka-checkbox__icon--indeterminate {
|
|
12728
|
-
position: absolute;
|
|
12729
|
-
}
|
|
12730
|
-
|
|
12731
|
-
/* Hover state - removed per design */
|
|
12732
|
-
|
|
12733
|
-
/* Focus state */
|
|
12734
|
-
.muka-checkbox__input:focus-visible + .muka-checkbox__indicator {
|
|
12735
|
-
outline: 2px solid var(--color-border-focus);
|
|
12736
|
-
outline-offset: 2px;
|
|
12737
|
-
}
|
|
12738
|
-
|
|
12739
|
-
/* Checked state */
|
|
12740
|
-
.muka-checkbox__input:checked + .muka-checkbox__indicator {
|
|
12741
|
-
background-color: var(--checkbox-color-checked-background);
|
|
12742
|
-
border-color: var(--checkbox-color-checked-border);
|
|
12743
|
-
box-shadow: none;
|
|
12744
|
-
}
|
|
12745
|
-
|
|
12746
|
-
.muka-checkbox__input:checked + .muka-checkbox__indicator .muka-checkbox__icon--check {
|
|
12747
|
-
color: var(--checkbox-color-checked-icon);
|
|
12748
|
-
opacity: 1;
|
|
12749
|
-
transform: scale(1);
|
|
12578
|
+
/* Vertical image sizing */
|
|
12579
|
+
.muka-checkbox-tile--vertical .muka-checkbox-tile__image {
|
|
12580
|
+
width: 100%;
|
|
12581
|
+
aspect-ratio: 4/3;
|
|
12750
12582
|
}
|
|
12751
12583
|
|
|
12752
|
-
/*
|
|
12753
|
-
.muka-
|
|
12754
|
-
|
|
12755
|
-
|
|
12756
|
-
|
|
12584
|
+
/* Content container */
|
|
12585
|
+
.muka-checkbox-tile__content {
|
|
12586
|
+
display: flex;
|
|
12587
|
+
flex-direction: column;
|
|
12588
|
+
flex: 1;
|
|
12589
|
+
min-width: 0;
|
|
12590
|
+
gap: var(--spacing-2);
|
|
12757
12591
|
}
|
|
12758
12592
|
|
|
12759
|
-
.muka-
|
|
12760
|
-
|
|
12593
|
+
.muka-checkbox-tile__content-inner {
|
|
12594
|
+
display: flex;
|
|
12595
|
+
flex-direction: column;
|
|
12596
|
+
gap: var(--spacing-1);
|
|
12761
12597
|
}
|
|
12762
12598
|
|
|
12763
|
-
|
|
12764
|
-
|
|
12765
|
-
|
|
12766
|
-
transform: scale(1);
|
|
12599
|
+
/* Chip slot (replaces badge; use Chip component) */
|
|
12600
|
+
.muka-checkbox-tile__chip {
|
|
12601
|
+
flex-shrink: 0;
|
|
12767
12602
|
}
|
|
12768
12603
|
|
|
12769
|
-
|
|
12770
|
-
|
|
12771
|
-
background-color: var(--checkbox-color-disabled-background);
|
|
12772
|
-
border-color: var(--checkbox-color-disabled-border);
|
|
12773
|
-
box-shadow: none;
|
|
12604
|
+
.muka-checkbox-tile__chip--vertical {
|
|
12605
|
+
margin-top: var(--spacing-1);
|
|
12774
12606
|
}
|
|
12775
12607
|
|
|
12776
|
-
|
|
12777
|
-
.muka-
|
|
12778
|
-
|
|
12608
|
+
/* Label */
|
|
12609
|
+
.muka-checkbox-tile__label {
|
|
12610
|
+
font-family: var(--text-body-lg-regular-fontFamily);
|
|
12611
|
+
font-weight: var(--text-body-lg-regular-fontWeight);
|
|
12612
|
+
font-size: var(--text-body-lg-regular-fontSize);
|
|
12613
|
+
line-height: var(--text-body-lg-regular-lineHeight);
|
|
12614
|
+
color: var(--color-text-default-default);
|
|
12779
12615
|
}
|
|
12780
12616
|
|
|
12781
|
-
|
|
12782
|
-
|
|
12783
|
-
font-
|
|
12784
|
-
font-
|
|
12785
|
-
|
|
12786
|
-
line-height: var(--text-label-lg-regular-lineHeight);
|
|
12787
|
-
color: var(--color-text-default-default);
|
|
12617
|
+
.muka-checkbox-tile__label--bold {
|
|
12618
|
+
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
12619
|
+
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
12620
|
+
font-size: var(--text-label-lg-semibold-fontSize);
|
|
12621
|
+
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
12788
12622
|
}
|
|
12789
12623
|
|
|
12790
|
-
.muka-checkbox--
|
|
12791
|
-
|
|
12792
|
-
font-weight: var(--text-label-md-regular-fontWeight);
|
|
12793
|
-
font-size: var(--text-label-md-regular-fontSize);
|
|
12794
|
-
line-height: var(--text-label-md-regular-lineHeight);
|
|
12624
|
+
.muka-checkbox-tile__label--center {
|
|
12625
|
+
text-align: center;
|
|
12795
12626
|
}
|
|
12796
12627
|
|
|
12797
|
-
|
|
12798
|
-
|
|
12799
|
-
font-
|
|
12800
|
-
font-
|
|
12801
|
-
|
|
12628
|
+
/* Caption */
|
|
12629
|
+
.muka-checkbox-tile__caption {
|
|
12630
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
12631
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
12632
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
12633
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
12634
|
+
color: var(--color-text-subtle-default);
|
|
12802
12635
|
}
|
|
12803
12636
|
|
|
12804
|
-
|
|
12637
|
+
/* Disabled states */
|
|
12638
|
+
.muka-checkbox-tile--disabled .muka-checkbox-tile__label,
|
|
12639
|
+
.muka-checkbox-tile--disabled .muka-checkbox-tile__icon {
|
|
12805
12640
|
color: var(--color-text-subtle-default);
|
|
12806
12641
|
}
|
|
12807
12642
|
|
|
@@ -12972,13 +12807,180 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
12972
12807
|
);
|
|
12973
12808
|
}
|
|
12974
12809
|
|
|
12975
|
-
.muka-chat-message-stack--own.muka-chat-message-stack--has-avatar
|
|
12976
|
-
.muka-chat-message-stack__reasoning {
|
|
12977
|
-
padding-left: 0;
|
|
12978
|
-
padding-right: calc(
|
|
12979
|
-
var(--chatbubble-avatar-size-compact) + var(--chatbubble-row-gap-compact)
|
|
12980
|
-
);
|
|
12981
|
-
}
|
|
12810
|
+
.muka-chat-message-stack--own.muka-chat-message-stack--has-avatar
|
|
12811
|
+
.muka-chat-message-stack__reasoning {
|
|
12812
|
+
padding-left: 0;
|
|
12813
|
+
padding-right: calc(
|
|
12814
|
+
var(--chatbubble-avatar-size-compact) + var(--chatbubble-row-gap-compact)
|
|
12815
|
+
);
|
|
12816
|
+
}
|
|
12817
|
+
}
|
|
12818
|
+
|
|
12819
|
+
|
|
12820
|
+
/* Checkbox */
|
|
12821
|
+
/* Checkbox Component Styles - Using Muka Design Tokens */
|
|
12822
|
+
|
|
12823
|
+
/* Wrapper - clickable label container */
|
|
12824
|
+
.muka-checkbox {
|
|
12825
|
+
display: inline-flex;
|
|
12826
|
+
align-items: center;
|
|
12827
|
+
gap: var(--spacing-4);
|
|
12828
|
+
cursor: pointer;
|
|
12829
|
+
user-select: none;
|
|
12830
|
+
}
|
|
12831
|
+
|
|
12832
|
+
.muka-checkbox--disabled {
|
|
12833
|
+
cursor: not-allowed;
|
|
12834
|
+
opacity: 0.6;
|
|
12835
|
+
}
|
|
12836
|
+
|
|
12837
|
+
/* Control container */
|
|
12838
|
+
.muka-checkbox__control {
|
|
12839
|
+
position: relative;
|
|
12840
|
+
display: inline-flex;
|
|
12841
|
+
align-items: center;
|
|
12842
|
+
justify-content: center;
|
|
12843
|
+
flex-shrink: 0;
|
|
12844
|
+
}
|
|
12845
|
+
|
|
12846
|
+
/* Hidden native input */
|
|
12847
|
+
.muka-checkbox__input {
|
|
12848
|
+
position: absolute;
|
|
12849
|
+
width: 1px;
|
|
12850
|
+
height: 1px;
|
|
12851
|
+
padding: 0;
|
|
12852
|
+
margin: -1px;
|
|
12853
|
+
overflow: hidden;
|
|
12854
|
+
clip: rect(0, 0, 0, 0);
|
|
12855
|
+
white-space: nowrap;
|
|
12856
|
+
border: 0;
|
|
12857
|
+
}
|
|
12858
|
+
|
|
12859
|
+
/* Visual indicator (square) */
|
|
12860
|
+
.muka-checkbox__indicator {
|
|
12861
|
+
display: flex;
|
|
12862
|
+
align-items: center;
|
|
12863
|
+
justify-content: center;
|
|
12864
|
+
width: var(--checkbox-size-default);
|
|
12865
|
+
height: var(--checkbox-size-default);
|
|
12866
|
+
border-radius: var(--checkbox-radius);
|
|
12867
|
+
background-color: var(--checkbox-color-default-background);
|
|
12868
|
+
border: var(--border-width-regular) solid var(--checkbox-color-default-border);
|
|
12869
|
+
transition: all 0.15s ease;
|
|
12870
|
+
box-shadow: inset 0 1px 2px 0 rgba(26, 26, 26, 0.15);
|
|
12871
|
+
}
|
|
12872
|
+
|
|
12873
|
+
/* Size variants */
|
|
12874
|
+
.muka-checkbox--sm .muka-checkbox__indicator {
|
|
12875
|
+
width: var(--checkbox-size-sm);
|
|
12876
|
+
height: var(--checkbox-size-sm);
|
|
12877
|
+
}
|
|
12878
|
+
|
|
12879
|
+
.muka-checkbox--lg .muka-checkbox__indicator {
|
|
12880
|
+
width: var(--checkbox-size-lg);
|
|
12881
|
+
height: var(--checkbox-size-lg);
|
|
12882
|
+
}
|
|
12883
|
+
|
|
12884
|
+
/* Icon inside checkbox */
|
|
12885
|
+
.muka-checkbox__icon {
|
|
12886
|
+
width: var(--checkbox-icon-size-default);
|
|
12887
|
+
height: var(--checkbox-icon-size-default);
|
|
12888
|
+
color: var(--checkbox-color-default-icon);
|
|
12889
|
+
opacity: 0;
|
|
12890
|
+
transform: scale(0.8);
|
|
12891
|
+
transition: opacity 0.15s ease, transform 0.15s ease;
|
|
12892
|
+
}
|
|
12893
|
+
|
|
12894
|
+
.muka-checkbox--sm .muka-checkbox__icon {
|
|
12895
|
+
width: var(--checkbox-icon-size-sm);
|
|
12896
|
+
height: var(--checkbox-icon-size-sm);
|
|
12897
|
+
}
|
|
12898
|
+
|
|
12899
|
+
.muka-checkbox--lg .muka-checkbox__icon {
|
|
12900
|
+
width: var(--checkbox-icon-size-lg);
|
|
12901
|
+
height: var(--checkbox-icon-size-lg);
|
|
12902
|
+
}
|
|
12903
|
+
|
|
12904
|
+
/* Hide indeterminate icon by default */
|
|
12905
|
+
.muka-checkbox__icon--indeterminate {
|
|
12906
|
+
position: absolute;
|
|
12907
|
+
}
|
|
12908
|
+
|
|
12909
|
+
/* Hover state - removed per design */
|
|
12910
|
+
|
|
12911
|
+
/* Focus state */
|
|
12912
|
+
.muka-checkbox__input:focus-visible + .muka-checkbox__indicator {
|
|
12913
|
+
outline: 2px solid var(--color-border-focus);
|
|
12914
|
+
outline-offset: 2px;
|
|
12915
|
+
}
|
|
12916
|
+
|
|
12917
|
+
/* Checked state */
|
|
12918
|
+
.muka-checkbox__input:checked + .muka-checkbox__indicator {
|
|
12919
|
+
background-color: var(--checkbox-color-checked-background);
|
|
12920
|
+
border-color: var(--checkbox-color-checked-border);
|
|
12921
|
+
box-shadow: none;
|
|
12922
|
+
}
|
|
12923
|
+
|
|
12924
|
+
.muka-checkbox__input:checked + .muka-checkbox__indicator .muka-checkbox__icon--check {
|
|
12925
|
+
color: var(--checkbox-color-checked-icon);
|
|
12926
|
+
opacity: 1;
|
|
12927
|
+
transform: scale(1);
|
|
12928
|
+
}
|
|
12929
|
+
|
|
12930
|
+
/* Indeterminate state */
|
|
12931
|
+
.muka-checkbox__input:indeterminate + .muka-checkbox__indicator {
|
|
12932
|
+
background-color: var(--checkbox-color-checked-background);
|
|
12933
|
+
border-color: var(--checkbox-color-checked-border);
|
|
12934
|
+
box-shadow: none;
|
|
12935
|
+
}
|
|
12936
|
+
|
|
12937
|
+
.muka-checkbox__input:indeterminate + .muka-checkbox__indicator .muka-checkbox__icon--check {
|
|
12938
|
+
opacity: 0;
|
|
12939
|
+
}
|
|
12940
|
+
|
|
12941
|
+
.muka-checkbox__input:indeterminate + .muka-checkbox__indicator .muka-checkbox__icon--indeterminate {
|
|
12942
|
+
color: var(--checkbox-color-checked-icon);
|
|
12943
|
+
opacity: 1;
|
|
12944
|
+
transform: scale(1);
|
|
12945
|
+
}
|
|
12946
|
+
|
|
12947
|
+
/* Disabled state */
|
|
12948
|
+
.muka-checkbox--disabled .muka-checkbox__indicator {
|
|
12949
|
+
background-color: var(--checkbox-color-disabled-background);
|
|
12950
|
+
border-color: var(--checkbox-color-disabled-border);
|
|
12951
|
+
box-shadow: none;
|
|
12952
|
+
}
|
|
12953
|
+
|
|
12954
|
+
.muka-checkbox__input:disabled:checked + .muka-checkbox__indicator .muka-checkbox__icon--check,
|
|
12955
|
+
.muka-checkbox__input:disabled:indeterminate + .muka-checkbox__indicator .muka-checkbox__icon--indeterminate {
|
|
12956
|
+
color: var(--checkbox-color-disabled-icon);
|
|
12957
|
+
}
|
|
12958
|
+
|
|
12959
|
+
/* Label text */
|
|
12960
|
+
.muka-checkbox__label {
|
|
12961
|
+
font-family: var(--text-label-lg-regular-fontFamily);
|
|
12962
|
+
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
12963
|
+
font-size: var(--text-label-lg-regular-fontSize);
|
|
12964
|
+
line-height: var(--text-label-lg-regular-lineHeight);
|
|
12965
|
+
color: var(--color-text-default-default);
|
|
12966
|
+
}
|
|
12967
|
+
|
|
12968
|
+
.muka-checkbox--sm .muka-checkbox__label {
|
|
12969
|
+
font-family: var(--text-label-md-regular-fontFamily);
|
|
12970
|
+
font-weight: var(--text-label-md-regular-fontWeight);
|
|
12971
|
+
font-size: var(--text-label-md-regular-fontSize);
|
|
12972
|
+
line-height: var(--text-label-md-regular-lineHeight);
|
|
12973
|
+
}
|
|
12974
|
+
|
|
12975
|
+
.muka-checkbox--lg .muka-checkbox__label {
|
|
12976
|
+
font-family: var(--text-label-xl-regular-fontFamily);
|
|
12977
|
+
font-weight: var(--text-label-xl-regular-fontWeight);
|
|
12978
|
+
font-size: var(--text-label-xl-regular-fontSize);
|
|
12979
|
+
line-height: var(--text-label-xl-regular-lineHeight);
|
|
12980
|
+
}
|
|
12981
|
+
|
|
12982
|
+
.muka-checkbox--disabled .muka-checkbox__label {
|
|
12983
|
+
color: var(--color-text-subtle-default);
|
|
12982
12984
|
}
|
|
12983
12985
|
|
|
12984
12986
|
|
|
@@ -13025,729 +13027,729 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
13025
13027
|
}
|
|
13026
13028
|
|
|
13027
13029
|
|
|
13028
|
-
/*
|
|
13029
|
-
/*
|
|
13030
|
+
/* ChatComposer */
|
|
13031
|
+
/* ChatComposer Component Styles */
|
|
13030
13032
|
|
|
13031
|
-
|
|
13033
|
+
/*
|
|
13034
|
+
* The composer is a bare, fill-width row: no padding, background, border or
|
|
13035
|
+
* max-width of its own (Figma 5243:14141). Whatever hosts it owns the
|
|
13036
|
+
* container — see BottomBar's `chat` variant.
|
|
13037
|
+
*/
|
|
13038
|
+
.muka-chat-composer {
|
|
13032
13039
|
display: flex;
|
|
13033
13040
|
flex-direction: column;
|
|
13041
|
+
gap: var(--spacing-3);
|
|
13034
13042
|
width: 100%;
|
|
13035
|
-
max-width: 100%;
|
|
13036
13043
|
}
|
|
13037
13044
|
|
|
13038
|
-
|
|
13045
|
+
.muka-chat-composer--disabled {
|
|
13046
|
+
opacity: 0.6;
|
|
13047
|
+
pointer-events: none;
|
|
13048
|
+
}
|
|
13039
13049
|
|
|
13040
|
-
|
|
13041
|
-
|
|
13042
|
-
|
|
13043
|
-
|
|
13044
|
-
column-gap: var(--chatbubble-row-gap);
|
|
13050
|
+
/* ─── Input row ────────────────────────────────────────── */
|
|
13051
|
+
|
|
13052
|
+
.muka-chat-composer__row {
|
|
13053
|
+
display: flex;
|
|
13045
13054
|
width: 100%;
|
|
13055
|
+
align-items: flex-end;
|
|
13056
|
+
gap: var(--spacing-3);
|
|
13046
13057
|
}
|
|
13047
13058
|
|
|
13048
|
-
|
|
13049
|
-
grid-template-columns: auto minmax(0, 1fr);
|
|
13050
|
-
grid-template-areas: 'rail bubble';
|
|
13051
|
-
}
|
|
13059
|
+
/* ─── Text field ───────────────────────────────────────── */
|
|
13052
13060
|
|
|
13053
|
-
.muka-chat-
|
|
13054
|
-
grid-area: rail;
|
|
13055
|
-
/* Sits on the bubble's baseline (Figma 5355:44091) */
|
|
13056
|
-
align-self: end;
|
|
13061
|
+
.muka-chat-composer__field {
|
|
13057
13062
|
display: flex;
|
|
13058
|
-
|
|
13059
|
-
min-width:
|
|
13063
|
+
flex: 1 1 auto;
|
|
13064
|
+
min-width: 0;
|
|
13065
|
+
box-sizing: border-box;
|
|
13066
|
+
align-items: center;
|
|
13067
|
+
gap: var(--spacing-1);
|
|
13068
|
+
min-height: var(--input-field-height-lg, 48px);
|
|
13069
|
+
padding: 0 var(--spacing-2);
|
|
13070
|
+
border: var(--border-width-regular) solid var(--input-field-color-default-border);
|
|
13071
|
+
border-radius: var(--input-field-radius-lg);
|
|
13072
|
+
background-color: var(--input-field-color-default-background);
|
|
13073
|
+
transition: border-color 0.12s ease;
|
|
13060
13074
|
}
|
|
13061
13075
|
|
|
13062
|
-
|
|
13063
|
-
|
|
13064
|
-
|
|
13065
|
-
* bubbles keep their alignment. The header row keeps its own gap.
|
|
13066
|
-
*/
|
|
13067
|
-
@media (max-width: 1023px) {
|
|
13068
|
-
.muka-chat-message__row {
|
|
13069
|
-
column-gap: var(--chatbubble-row-gap-compact);
|
|
13070
|
-
}
|
|
13076
|
+
.muka-chat-composer__field:focus-within {
|
|
13077
|
+
border-color: var(--input-field-color-focus-border, var(--color-action-default));
|
|
13078
|
+
}
|
|
13071
13079
|
|
|
13072
|
-
|
|
13073
|
-
|
|
13074
|
-
|
|
13080
|
+
.muka-chat-composer__input {
|
|
13081
|
+
flex: 1 1 auto;
|
|
13082
|
+
min-width: 0;
|
|
13083
|
+
width: 100%;
|
|
13084
|
+
box-sizing: border-box;
|
|
13085
|
+
resize: none;
|
|
13086
|
+
border: none;
|
|
13087
|
+
background: transparent;
|
|
13088
|
+
outline: none;
|
|
13089
|
+
padding: 0 var(--spacing-1);
|
|
13090
|
+
color: var(--color-text-default-default);
|
|
13091
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
13092
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
13093
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
13094
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
13095
|
+
appearance: none;
|
|
13096
|
+
-webkit-appearance: none;
|
|
13097
|
+
}
|
|
13075
13098
|
|
|
13076
|
-
|
|
13077
|
-
|
|
13078
|
-
width: var(--chatbubble-avatar-size-compact);
|
|
13079
|
-
height: var(--chatbubble-avatar-size-compact);
|
|
13080
|
-
}
|
|
13099
|
+
.muka-chat-composer__input::placeholder {
|
|
13100
|
+
color: var(--color-text-subtle-default);
|
|
13081
13101
|
}
|
|
13082
13102
|
|
|
13083
|
-
/*
|
|
13103
|
+
/* Keep the in-field emoji button flush to the bottom-right as the field grows */
|
|
13104
|
+
.muka-chat-composer__emoji {
|
|
13105
|
+
flex-shrink: 0;
|
|
13106
|
+
}
|
|
13084
13107
|
|
|
13085
|
-
|
|
13086
|
-
|
|
13087
|
-
|
|
13088
|
-
* Width follows the content: a single line hugs, and once the text wraps the
|
|
13089
|
-
* bubble fills to the shared max width. Robust to string or rich children —
|
|
13090
|
-
* no length measuring needed (Figma `Text length` on 5355:44091).
|
|
13091
|
-
*/
|
|
13092
|
-
width: fit-content;
|
|
13093
|
-
/*
|
|
13094
|
-
* Ceiling from design (Figma 5355:44091). Below it, wrapping text fills the
|
|
13095
|
-
* row; above it the fixed cap leaves room for own/peer alignment.
|
|
13096
|
-
*/
|
|
13097
|
-
max-width: var(--chatbubble-max-width);
|
|
13098
|
-
position: relative;
|
|
13108
|
+
/* ─── Recording bar ────────────────────────────────────── */
|
|
13109
|
+
|
|
13110
|
+
.muka-chat-composer__recording {
|
|
13099
13111
|
display: flex;
|
|
13100
|
-
flex
|
|
13101
|
-
|
|
13102
|
-
|
|
13103
|
-
|
|
13104
|
-
|
|
13105
|
-
|
|
13106
|
-
|
|
13112
|
+
flex: 1 1 auto;
|
|
13113
|
+
min-width: 0;
|
|
13114
|
+
box-sizing: border-box;
|
|
13115
|
+
align-items: center;
|
|
13116
|
+
min-height: var(--input-field-height-lg, 48px);
|
|
13117
|
+
padding: var(--card-padding-sm);
|
|
13118
|
+
border: var(--border-width-regular) solid var(--card-color-default-border);
|
|
13119
|
+
border-radius: var(--radius-lg);
|
|
13120
|
+
background-color: var(--card-color-default-background);
|
|
13107
13121
|
}
|
|
13108
13122
|
|
|
13109
|
-
/*
|
|
13110
|
-
|
|
13123
|
+
/* ─── Staged attachments strip ─────────────────────────── */
|
|
13124
|
+
|
|
13125
|
+
.muka-chat-composer__attachments-strip {
|
|
13126
|
+
position: relative;
|
|
13111
13127
|
width: 100%;
|
|
13112
13128
|
}
|
|
13113
13129
|
|
|
13114
|
-
.muka-chat-
|
|
13115
|
-
|
|
13130
|
+
.muka-chat-composer__attachments {
|
|
13131
|
+
display: flex;
|
|
13132
|
+
gap: var(--spacing-3);
|
|
13133
|
+
overflow-x: auto;
|
|
13134
|
+
scroll-behavior: smooth;
|
|
13135
|
+
scrollbar-width: none;
|
|
13116
13136
|
}
|
|
13117
13137
|
|
|
13118
|
-
.muka-chat-
|
|
13119
|
-
|
|
13120
|
-
border-color: var(--chatbubble-color-own-border);
|
|
13121
|
-
color: var(--chatbubble-color-own-foreground);
|
|
13138
|
+
.muka-chat-composer__attachments::-webkit-scrollbar {
|
|
13139
|
+
display: none;
|
|
13122
13140
|
}
|
|
13123
13141
|
|
|
13124
|
-
.muka-chat-
|
|
13125
|
-
|
|
13126
|
-
|
|
13127
|
-
|
|
13142
|
+
.muka-chat-composer__overflow {
|
|
13143
|
+
position: absolute;
|
|
13144
|
+
top: 50%;
|
|
13145
|
+
right: var(--spacing-2);
|
|
13146
|
+
transform: translateY(-50%);
|
|
13128
13147
|
}
|
|
13129
13148
|
|
|
13130
|
-
|
|
13131
|
-
|
|
13132
|
-
|
|
13133
|
-
|
|
13149
|
+
/* ─── Print ────────────────────────────────────────────── */
|
|
13150
|
+
|
|
13151
|
+
@media print {
|
|
13152
|
+
.muka-chat-composer {
|
|
13153
|
+
display: none;
|
|
13154
|
+
}
|
|
13134
13155
|
}
|
|
13135
13156
|
|
|
13136
|
-
/* ─── Header row (author · meta · time · badge) ────────── */
|
|
13137
13157
|
|
|
13138
|
-
|
|
13139
|
-
|
|
13140
|
-
|
|
13158
|
+
/* ChatAttachmentChip */
|
|
13159
|
+
/* ChatAttachmentChip Component Styles */
|
|
13160
|
+
|
|
13161
|
+
.muka-chat-attachment-chip {
|
|
13162
|
+
position: relative;
|
|
13163
|
+
display: inline-flex;
|
|
13141
13164
|
align-items: center;
|
|
13142
|
-
gap: var(--
|
|
13165
|
+
gap: var(--spacing-1);
|
|
13166
|
+
max-width: 240px;
|
|
13167
|
+
padding: var(--spacing-2) var(--spacing-3);
|
|
13168
|
+
background-color: var(--color-surface-level1);
|
|
13169
|
+
border: var(--border-width-regular) solid var(--color-border-default);
|
|
13170
|
+
border-radius: var(--radius-md);
|
|
13171
|
+
overflow: hidden;
|
|
13143
13172
|
}
|
|
13144
13173
|
|
|
13145
|
-
.muka-chat-
|
|
13146
|
-
|
|
13147
|
-
font-weight: var(--text-body-base-bold-fontWeight);
|
|
13148
|
-
font-size: var(--text-body-base-bold-fontSize);
|
|
13149
|
-
line-height: var(--text-body-base-bold-lineHeight);
|
|
13174
|
+
.muka-chat-attachment-chip--uploading {
|
|
13175
|
+
padding-bottom: calc(var(--spacing-2) + 2px);
|
|
13150
13176
|
}
|
|
13151
13177
|
|
|
13152
|
-
.muka-chat-
|
|
13153
|
-
|
|
13154
|
-
color: inherit;
|
|
13155
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
13156
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
13157
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
13158
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
13178
|
+
.muka-chat-attachment-chip--error {
|
|
13179
|
+
border-color: var(--color-state-error-default, var(--color-text-default-default));
|
|
13159
13180
|
}
|
|
13160
13181
|
|
|
13161
|
-
.muka-chat-
|
|
13182
|
+
.muka-chat-attachment-chip--disabled {
|
|
13183
|
+
opacity: 0.5;
|
|
13184
|
+
pointer-events: none;
|
|
13185
|
+
}
|
|
13186
|
+
|
|
13187
|
+
/* ─── Body (icon + text) ───────────────────────────────── */
|
|
13188
|
+
|
|
13189
|
+
.muka-chat-attachment-chip__body {
|
|
13162
13190
|
display: inline-flex;
|
|
13163
13191
|
align-items: center;
|
|
13192
|
+
gap: var(--spacing-2);
|
|
13193
|
+
min-width: 0;
|
|
13194
|
+
flex: 1 1 auto;
|
|
13195
|
+
background: none;
|
|
13196
|
+
border: none;
|
|
13197
|
+
padding: 0;
|
|
13198
|
+
margin: 0;
|
|
13199
|
+
text-align: left;
|
|
13200
|
+
color: inherit;
|
|
13201
|
+
font: inherit;
|
|
13202
|
+
cursor: default;
|
|
13203
|
+
-webkit-tap-highlight-color: transparent;
|
|
13164
13204
|
}
|
|
13165
13205
|
|
|
13166
|
-
|
|
13167
|
-
|
|
13168
|
-
* button in the bubble's top-right corner.
|
|
13169
|
-
*/
|
|
13170
|
-
.muka-chat-message--has-menu .muka-chat-message__header,
|
|
13171
|
-
.muka-chat-message--has-menu.muka-chat-message--no-header .muka-chat-message__message {
|
|
13172
|
-
padding-right: var(--spacing-10);
|
|
13206
|
+
.muka-chat-attachment-chip--interactive .muka-chat-attachment-chip__body {
|
|
13207
|
+
cursor: pointer;
|
|
13173
13208
|
}
|
|
13174
13209
|
|
|
13175
|
-
|
|
13176
|
-
|
|
13177
|
-
|
|
13210
|
+
.muka-chat-attachment-chip--interactive .muka-chat-attachment-chip__body:focus-visible {
|
|
13211
|
+
outline: 2px solid var(--color-action-default);
|
|
13212
|
+
outline-offset: 2px;
|
|
13213
|
+
border-radius: var(--radius-sm);
|
|
13214
|
+
}
|
|
13215
|
+
|
|
13216
|
+
.muka-chat-attachment-chip__icon {
|
|
13217
|
+
display: inline-flex;
|
|
13218
|
+
align-items: center;
|
|
13219
|
+
justify-content: center;
|
|
13220
|
+
flex-shrink: 0;
|
|
13221
|
+
color: var(--color-text-subtle-default);
|
|
13178
13222
|
}
|
|
13179
13223
|
|
|
13180
|
-
|
|
13181
|
-
|
|
13182
|
-
.muka-chat-message__body {
|
|
13224
|
+
.muka-chat-attachment-chip__text {
|
|
13183
13225
|
display: flex;
|
|
13184
13226
|
flex-direction: column;
|
|
13185
|
-
gap: var(--chatbubble-gap);
|
|
13186
13227
|
min-width: 0;
|
|
13228
|
+
flex: 1 1 auto;
|
|
13187
13229
|
}
|
|
13188
13230
|
|
|
13189
|
-
.muka-chat-
|
|
13190
|
-
|
|
13231
|
+
.muka-chat-attachment-chip__name {
|
|
13232
|
+
color: var(--color-text-default-default);
|
|
13233
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13234
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13235
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
13236
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13237
|
+
white-space: nowrap;
|
|
13238
|
+
overflow: hidden;
|
|
13239
|
+
text-overflow: ellipsis;
|
|
13191
13240
|
}
|
|
13192
13241
|
|
|
13193
|
-
.muka-chat-
|
|
13194
|
-
|
|
13195
|
-
font-
|
|
13196
|
-
font-
|
|
13197
|
-
|
|
13198
|
-
|
|
13199
|
-
|
|
13242
|
+
.muka-chat-attachment-chip__meta {
|
|
13243
|
+
color: var(--color-text-subtle-default);
|
|
13244
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13245
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13246
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
13247
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13248
|
+
white-space: nowrap;
|
|
13249
|
+
overflow: hidden;
|
|
13250
|
+
text-overflow: ellipsis;
|
|
13200
13251
|
}
|
|
13201
13252
|
|
|
13202
|
-
|
|
13203
|
-
|
|
13204
|
-
display: none;
|
|
13253
|
+
.muka-chat-attachment-chip--error .muka-chat-attachment-chip__meta {
|
|
13254
|
+
color: var(--color-state-error-default, var(--color-text-default-default));
|
|
13205
13255
|
}
|
|
13206
13256
|
|
|
13207
|
-
/* ───
|
|
13257
|
+
/* ─── Remove button ────────────────────────────────────── */
|
|
13208
13258
|
|
|
13209
|
-
.muka-chat-
|
|
13210
|
-
|
|
13211
|
-
|
|
13212
|
-
|
|
13213
|
-
|
|
13214
|
-
|
|
13215
|
-
|
|
13216
|
-
|
|
13217
|
-
|
|
13218
|
-
border: var(--
|
|
13259
|
+
.muka-chat-attachment-chip__remove {
|
|
13260
|
+
display: inline-flex;
|
|
13261
|
+
align-items: center;
|
|
13262
|
+
justify-content: center;
|
|
13263
|
+
width: 20px;
|
|
13264
|
+
height: 20px;
|
|
13265
|
+
border: none;
|
|
13266
|
+
background: none;
|
|
13267
|
+
padding: 0;
|
|
13268
|
+
border-radius: var(--radius-sm);
|
|
13269
|
+
cursor: pointer;
|
|
13270
|
+
color: var(--color-text-subtle-default);
|
|
13271
|
+
flex-shrink: 0;
|
|
13272
|
+
-webkit-tap-highlight-color: transparent;
|
|
13219
13273
|
}
|
|
13220
13274
|
|
|
13221
|
-
|
|
13222
|
-
|
|
13223
|
-
|
|
13224
|
-
*/
|
|
13225
|
-
.muka-chat-message--own .muka-chat-message__embed {
|
|
13226
|
-
background-color: var(--chatbubble-embed-color-own-background);
|
|
13227
|
-
border-color: var(--chatbubble-embed-color-own-border);
|
|
13228
|
-
color: var(--chatbubble-embed-color-own-foreground);
|
|
13275
|
+
.muka-chat-attachment-chip__remove:hover:not(:disabled) {
|
|
13276
|
+
color: var(--color-text-default-default);
|
|
13277
|
+
background-color: var(--color-surface-level2);
|
|
13229
13278
|
}
|
|
13230
13279
|
|
|
13231
|
-
.muka-chat-
|
|
13232
|
-
|
|
13233
|
-
|
|
13234
|
-
color: var(--chatbubble-embed-color-peer-foreground);
|
|
13280
|
+
.muka-chat-attachment-chip__remove:focus-visible {
|
|
13281
|
+
outline: 2px solid var(--color-action-default);
|
|
13282
|
+
outline-offset: 2px;
|
|
13235
13283
|
}
|
|
13236
13284
|
|
|
13237
|
-
.muka-chat-
|
|
13238
|
-
|
|
13239
|
-
|
|
13240
|
-
color: var(--chatbubble-embed-color-agent-foreground);
|
|
13285
|
+
.muka-chat-attachment-chip__remove:disabled {
|
|
13286
|
+
cursor: not-allowed;
|
|
13287
|
+
opacity: 0.5;
|
|
13241
13288
|
}
|
|
13242
13289
|
|
|
13243
|
-
|
|
13244
|
-
display: flex;
|
|
13245
|
-
flex-direction: column;
|
|
13246
|
-
gap: var(--chatbubble-embed-gap);
|
|
13247
|
-
min-width: 0;
|
|
13248
|
-
}
|
|
13290
|
+
/* ─── Progress bar ─────────────────────────────────────── */
|
|
13249
13291
|
|
|
13250
|
-
.muka-chat-
|
|
13292
|
+
.muka-chat-attachment-chip__progress {
|
|
13251
13293
|
position: absolute;
|
|
13252
|
-
|
|
13253
|
-
right:
|
|
13294
|
+
left: 0;
|
|
13295
|
+
right: 0;
|
|
13296
|
+
bottom: 0;
|
|
13297
|
+
height: 2px;
|
|
13298
|
+
background-color: var(--color-surface-level2);
|
|
13299
|
+
overflow: hidden;
|
|
13254
13300
|
}
|
|
13255
13301
|
|
|
13256
|
-
|
|
13302
|
+
.muka-chat-attachment-chip__progress-fill {
|
|
13303
|
+
display: block;
|
|
13304
|
+
height: 100%;
|
|
13305
|
+
background-color: var(--color-action-default);
|
|
13306
|
+
transition: width 0.16s ease;
|
|
13307
|
+
}
|
|
13257
13308
|
|
|
13258
|
-
.muka-chat-
|
|
13259
|
-
|
|
13260
|
-
flex-direction: column;
|
|
13261
|
-
gap: var(--chatbubble-action-stack-gap);
|
|
13309
|
+
.muka-chat-attachment-chip--error .muka-chat-attachment-chip__progress-fill {
|
|
13310
|
+
background-color: var(--color-state-error-default, var(--color-text-default-default));
|
|
13262
13311
|
}
|
|
13263
13312
|
|
|
13264
|
-
/* ─── Inset timestamp ──────────────────────────────────── */
|
|
13265
13313
|
|
|
13266
|
-
/*
|
|
13267
|
-
|
|
13268
|
-
* the message — never in the header row (Figma 5355:44091).
|
|
13269
|
-
*/
|
|
13314
|
+
/* Card */
|
|
13315
|
+
/* Card Component Styles - Using Muka Design Tokens */
|
|
13270
13316
|
|
|
13271
|
-
.muka-
|
|
13272
|
-
color: var(--
|
|
13273
|
-
|
|
13274
|
-
|
|
13275
|
-
|
|
13276
|
-
|
|
13277
|
-
|
|
13317
|
+
.muka-card {
|
|
13318
|
+
background-color: var(--card-color-default-background);
|
|
13319
|
+
color: var(--card-color-default-foreground);
|
|
13320
|
+
border: var(--border-width-regular) solid var(--card-color-default-border);
|
|
13321
|
+
box-shadow: var(--card-shadow-default);
|
|
13322
|
+
transition: background-color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
|
|
13323
|
+
overflow: hidden;
|
|
13278
13324
|
}
|
|
13279
13325
|
|
|
13280
|
-
/*
|
|
13281
|
-
|
|
13282
|
-
|
|
13283
|
-
*/
|
|
13284
|
-
.muka-chat-message__timestamp--inset {
|
|
13285
|
-
position: absolute;
|
|
13286
|
-
right: var(--spacing-2);
|
|
13287
|
-
bottom: var(--spacing-1);
|
|
13326
|
+
/* Padding variants */
|
|
13327
|
+
.muka-card--padding-none {
|
|
13328
|
+
padding: 0;
|
|
13288
13329
|
}
|
|
13289
13330
|
|
|
13290
|
-
|
|
13291
|
-
|
|
13292
|
-
* trailing text), it runs the full width, so reserve a line below for the inset
|
|
13293
|
-
* timestamp. A message that ends in text clears the corner inline instead (see
|
|
13294
|
-
* `__message` padding-right above), so it needs no extra bottom space.
|
|
13295
|
-
*/
|
|
13296
|
-
.muka-chat-message--has-timestamp.muka-chat-message--trailing-block .muka-chat-message__body {
|
|
13297
|
-
padding-bottom: var(--text-body-xs-regular-lineHeight);
|
|
13331
|
+
.muka-card--padding-sm {
|
|
13332
|
+
padding: var(--card-padding-sm);
|
|
13298
13333
|
}
|
|
13299
13334
|
|
|
13300
|
-
|
|
13301
|
-
|
|
13302
|
-
/*
|
|
13303
|
-
* Hidden at rest. Revealed on hover on pointer devices, on keyboard focus
|
|
13304
|
-
* everywhere, and pinned while its menu is open. On touch the equivalent
|
|
13305
|
-
* affordance is a long-press on the bubble, which opens an ActionSheet.
|
|
13306
|
-
*/
|
|
13307
|
-
.muka-chat-message__menu {
|
|
13308
|
-
position: absolute;
|
|
13309
|
-
top: var(--spacing-1);
|
|
13310
|
-
right: var(--spacing-1);
|
|
13311
|
-
opacity: 0;
|
|
13312
|
-
pointer-events: none;
|
|
13335
|
+
.muka-card--padding-md {
|
|
13336
|
+
padding: var(--card-padding-md);
|
|
13313
13337
|
}
|
|
13314
13338
|
|
|
13315
|
-
.muka-
|
|
13316
|
-
|
|
13317
|
-
opacity: 1;
|
|
13318
|
-
pointer-events: auto;
|
|
13339
|
+
.muka-card--padding-lg {
|
|
13340
|
+
padding: var(--card-padding-lg);
|
|
13319
13341
|
}
|
|
13320
13342
|
|
|
13321
|
-
|
|
13322
|
-
|
|
13323
|
-
|
|
13324
|
-
pointer-events: auto;
|
|
13325
|
-
}
|
|
13343
|
+
/* Radius variants */
|
|
13344
|
+
.muka-card--radius-sm {
|
|
13345
|
+
border-radius: var(--card-radius-sm);
|
|
13326
13346
|
}
|
|
13327
13347
|
|
|
13328
|
-
|
|
13329
|
-
|
|
13330
|
-
.muka-chat-message--has-menu .muka-chat-message__bubble {
|
|
13331
|
-
-webkit-touch-callout: none;
|
|
13332
|
-
}
|
|
13348
|
+
.muka-card--radius-md {
|
|
13349
|
+
border-radius: var(--card-radius-md);
|
|
13333
13350
|
}
|
|
13334
13351
|
|
|
13335
|
-
|
|
13336
|
-
|
|
13337
|
-
@media print {
|
|
13338
|
-
.muka-chat-message__bubble {
|
|
13339
|
-
box-shadow: none;
|
|
13340
|
-
break-inside: avoid;
|
|
13341
|
-
print-color-adjust: exact;
|
|
13342
|
-
-webkit-print-color-adjust: exact;
|
|
13343
|
-
}
|
|
13344
|
-
|
|
13345
|
-
.muka-chat-message__embed {
|
|
13346
|
-
break-inside: avoid;
|
|
13347
|
-
print-color-adjust: exact;
|
|
13348
|
-
-webkit-print-color-adjust: exact;
|
|
13349
|
-
}
|
|
13350
|
-
|
|
13351
|
-
.muka-chat-message__menu,
|
|
13352
|
-
.muka-chat-message__embed-copy,
|
|
13353
|
-
.muka-chat-message__action-stack {
|
|
13354
|
-
display: none;
|
|
13355
|
-
}
|
|
13352
|
+
.muka-card--radius-lg {
|
|
13353
|
+
border-radius: var(--card-radius-lg);
|
|
13356
13354
|
}
|
|
13357
13355
|
|
|
13358
|
-
|
|
13359
|
-
|
|
13360
|
-
|
|
13361
|
-
|
|
13362
|
-
/*
|
|
13363
|
-
* The composer is a bare, fill-width row: no padding, background, border or
|
|
13364
|
-
* max-width of its own (Figma 5243:14141). Whatever hosts it owns the
|
|
13365
|
-
* container — see BottomBar's `chat` variant.
|
|
13366
|
-
*/
|
|
13367
|
-
.muka-chat-composer {
|
|
13368
|
-
display: flex;
|
|
13369
|
-
flex-direction: column;
|
|
13370
|
-
gap: var(--spacing-3);
|
|
13371
|
-
width: 100%;
|
|
13356
|
+
/* Interactive variant */
|
|
13357
|
+
.muka-card--interactive {
|
|
13358
|
+
cursor: pointer;
|
|
13359
|
+
user-select: none;
|
|
13372
13360
|
}
|
|
13373
13361
|
|
|
13374
|
-
.muka-
|
|
13375
|
-
|
|
13376
|
-
|
|
13362
|
+
.muka-card--interactive:hover {
|
|
13363
|
+
background-color: var(--card-color-hover-background);
|
|
13364
|
+
border-color: var(--card-color-hover-border);
|
|
13365
|
+
box-shadow: var(--card-shadow-hover);
|
|
13377
13366
|
}
|
|
13378
13367
|
|
|
13379
|
-
|
|
13380
|
-
|
|
13381
|
-
|
|
13382
|
-
|
|
13383
|
-
|
|
13384
|
-
align-items: flex-end;
|
|
13385
|
-
gap: var(--spacing-3);
|
|
13368
|
+
.muka-card--interactive:active,
|
|
13369
|
+
.muka-card--interactive.muka-card--pressed {
|
|
13370
|
+
background-color: var(--card-color-pressed-background);
|
|
13371
|
+
border-color: var(--card-color-pressed-border);
|
|
13372
|
+
box-shadow: var(--card-shadow-pressed);
|
|
13386
13373
|
}
|
|
13387
13374
|
|
|
13388
|
-
|
|
13375
|
+
.muka-card--interactive:focus-visible {
|
|
13376
|
+
outline: 2px solid var(--color-border-focus);
|
|
13377
|
+
outline-offset: 2px;
|
|
13378
|
+
}
|
|
13389
13379
|
|
|
13390
|
-
|
|
13391
|
-
|
|
13392
|
-
|
|
13393
|
-
|
|
13394
|
-
|
|
13395
|
-
|
|
13396
|
-
gap: var(--spacing-1);
|
|
13397
|
-
min-height: var(--input-field-height-lg, 48px);
|
|
13398
|
-
padding: 0 var(--spacing-2);
|
|
13399
|
-
border: var(--border-width-regular) solid var(--input-field-color-default-border);
|
|
13400
|
-
border-radius: var(--input-field-radius-lg);
|
|
13401
|
-
background-color: var(--input-field-color-default-background);
|
|
13402
|
-
transition: border-color 0.12s ease;
|
|
13380
|
+
/* Selected variant */
|
|
13381
|
+
.muka-card--selected {
|
|
13382
|
+
background-color: var(--card-color-selected-background);
|
|
13383
|
+
border-color: var(--card-color-selected-border);
|
|
13384
|
+
border-width: var(--border-width-bold);
|
|
13385
|
+
box-shadow: var(--card-shadow-selected);
|
|
13403
13386
|
}
|
|
13404
13387
|
|
|
13405
|
-
|
|
13406
|
-
|
|
13388
|
+
/* Optional header (title + description) */
|
|
13389
|
+
.muka-card__header {
|
|
13390
|
+
margin-bottom: var(--spacing-4);
|
|
13407
13391
|
}
|
|
13408
13392
|
|
|
13409
|
-
.muka-
|
|
13410
|
-
|
|
13411
|
-
min-width: 0;
|
|
13412
|
-
width: 100%;
|
|
13413
|
-
box-sizing: border-box;
|
|
13414
|
-
resize: none;
|
|
13415
|
-
border: none;
|
|
13416
|
-
background: transparent;
|
|
13417
|
-
outline: none;
|
|
13418
|
-
padding: 0 var(--spacing-1);
|
|
13393
|
+
.muka-card__title {
|
|
13394
|
+
margin: 0;
|
|
13419
13395
|
color: var(--color-text-default-default);
|
|
13420
|
-
font-family: var(--text-
|
|
13421
|
-
font-weight: var(--text-
|
|
13422
|
-
font-size: var(--text-
|
|
13423
|
-
line-height: var(--text-
|
|
13424
|
-
|
|
13425
|
-
-webkit-appearance: none;
|
|
13396
|
+
font-family: var(--text-heading-xs-fontFamily);
|
|
13397
|
+
font-weight: var(--text-heading-xs-fontWeight);
|
|
13398
|
+
font-size: var(--text-heading-xs-fontSize);
|
|
13399
|
+
line-height: var(--text-heading-xs-lineHeight);
|
|
13400
|
+
letter-spacing: var(--text-heading-xs-letterSpacing);
|
|
13426
13401
|
}
|
|
13427
13402
|
|
|
13428
|
-
.muka-
|
|
13403
|
+
.muka-card__description {
|
|
13404
|
+
margin: var(--spacing-1) 0 0;
|
|
13429
13405
|
color: var(--color-text-subtle-default);
|
|
13406
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13407
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13408
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
13409
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13430
13410
|
}
|
|
13431
13411
|
|
|
13432
|
-
/*
|
|
13433
|
-
.muka-
|
|
13434
|
-
|
|
13412
|
+
/* Hide divider on last list item inside card */
|
|
13413
|
+
.muka-card > .muka-listitem:last-child > .muka-listitem__divider {
|
|
13414
|
+
display: none;
|
|
13435
13415
|
}
|
|
13436
13416
|
|
|
13437
|
-
/*
|
|
13417
|
+
/* Disabled state */
|
|
13418
|
+
.muka-card--disabled {
|
|
13419
|
+
opacity: 0.5;
|
|
13420
|
+
cursor: not-allowed;
|
|
13421
|
+
pointer-events: none;
|
|
13422
|
+
}
|
|
13438
13423
|
|
|
13439
|
-
|
|
13424
|
+
|
|
13425
|
+
/* ChatMessage */
|
|
13426
|
+
/* ChatMessage Component Styles */
|
|
13427
|
+
|
|
13428
|
+
.muka-chat-message {
|
|
13440
13429
|
display: flex;
|
|
13441
|
-
flex:
|
|
13442
|
-
|
|
13443
|
-
|
|
13444
|
-
align-items: center;
|
|
13445
|
-
min-height: var(--input-field-height-lg, 48px);
|
|
13446
|
-
padding: var(--card-padding-sm);
|
|
13447
|
-
border: var(--border-width-regular) solid var(--card-color-default-border);
|
|
13448
|
-
border-radius: var(--radius-lg);
|
|
13449
|
-
background-color: var(--card-color-default-background);
|
|
13430
|
+
flex-direction: column;
|
|
13431
|
+
width: 100%;
|
|
13432
|
+
max-width: 100%;
|
|
13450
13433
|
}
|
|
13451
13434
|
|
|
13452
|
-
/* ───
|
|
13435
|
+
/* ─── Row: avatar rail + bubble ────────────────────────── */
|
|
13453
13436
|
|
|
13454
|
-
.muka-chat-
|
|
13455
|
-
|
|
13437
|
+
.muka-chat-message__row {
|
|
13438
|
+
display: grid;
|
|
13439
|
+
grid-template-columns: minmax(0, 1fr);
|
|
13440
|
+
grid-template-areas: 'bubble';
|
|
13441
|
+
column-gap: var(--chatbubble-row-gap);
|
|
13456
13442
|
width: 100%;
|
|
13457
13443
|
}
|
|
13458
13444
|
|
|
13459
|
-
.muka-chat-
|
|
13460
|
-
|
|
13461
|
-
|
|
13462
|
-
overflow-x: auto;
|
|
13463
|
-
scroll-behavior: smooth;
|
|
13464
|
-
scrollbar-width: none;
|
|
13445
|
+
.muka-chat-message--has-avatar .muka-chat-message__row {
|
|
13446
|
+
grid-template-columns: auto minmax(0, 1fr);
|
|
13447
|
+
grid-template-areas: 'rail bubble';
|
|
13465
13448
|
}
|
|
13466
13449
|
|
|
13467
|
-
.muka-chat-
|
|
13468
|
-
|
|
13450
|
+
.muka-chat-message__rail {
|
|
13451
|
+
grid-area: rail;
|
|
13452
|
+
/* Sits on the bubble's baseline (Figma 5355:44091) */
|
|
13453
|
+
align-self: end;
|
|
13454
|
+
display: flex;
|
|
13455
|
+
justify-content: center;
|
|
13456
|
+
min-width: var(--chatbubble-avatar-size);
|
|
13469
13457
|
}
|
|
13470
13458
|
|
|
13471
|
-
|
|
13472
|
-
|
|
13473
|
-
|
|
13474
|
-
|
|
13475
|
-
|
|
13476
|
-
|
|
13459
|
+
/*
|
|
13460
|
+
* The Small size in Figma (5373:44702) halves the avatar to 32px and tightens
|
|
13461
|
+
* the gap to the bubble. Size the avatar itself, not just the rail, so the
|
|
13462
|
+
* bubbles keep their alignment. The header row keeps its own gap.
|
|
13463
|
+
*/
|
|
13464
|
+
@media (max-width: 1023px) {
|
|
13465
|
+
.muka-chat-message__row {
|
|
13466
|
+
column-gap: var(--chatbubble-row-gap-compact);
|
|
13467
|
+
}
|
|
13477
13468
|
|
|
13478
|
-
|
|
13469
|
+
.muka-chat-message__rail {
|
|
13470
|
+
min-width: var(--chatbubble-avatar-size-compact);
|
|
13471
|
+
}
|
|
13479
13472
|
|
|
13480
|
-
|
|
13481
|
-
.muka-chat-
|
|
13482
|
-
|
|
13473
|
+
/* Outweighs the avatar's own size class, which sets width/height directly */
|
|
13474
|
+
.muka-chat-message .muka-chat-message__rail > * {
|
|
13475
|
+
width: var(--chatbubble-avatar-size-compact);
|
|
13476
|
+
height: var(--chatbubble-avatar-size-compact);
|
|
13483
13477
|
}
|
|
13484
13478
|
}
|
|
13485
13479
|
|
|
13480
|
+
/* ─── Bubble surface ───────────────────────────────────── */
|
|
13486
13481
|
|
|
13487
|
-
|
|
13488
|
-
|
|
13489
|
-
|
|
13490
|
-
|
|
13482
|
+
.muka-chat-message__bubble {
|
|
13483
|
+
grid-area: bubble;
|
|
13484
|
+
/*
|
|
13485
|
+
* Width follows the content: a single line hugs, and once the text wraps the
|
|
13486
|
+
* bubble fills to the shared max width. Robust to string or rich children —
|
|
13487
|
+
* no length measuring needed (Figma `Text length` on 5355:44091).
|
|
13488
|
+
*/
|
|
13489
|
+
width: fit-content;
|
|
13490
|
+
/*
|
|
13491
|
+
* Ceiling from design (Figma 5355:44091). Below it, wrapping text fills the
|
|
13492
|
+
* row; above it the fixed cap leaves room for own/peer alignment.
|
|
13493
|
+
*/
|
|
13494
|
+
max-width: var(--chatbubble-max-width);
|
|
13491
13495
|
position: relative;
|
|
13492
|
-
display:
|
|
13493
|
-
|
|
13494
|
-
gap: var(--
|
|
13495
|
-
|
|
13496
|
-
|
|
13497
|
-
|
|
13498
|
-
|
|
13499
|
-
|
|
13500
|
-
overflow: hidden;
|
|
13501
|
-
}
|
|
13502
|
-
|
|
13503
|
-
.muka-chat-attachment-chip--uploading {
|
|
13504
|
-
padding-bottom: calc(var(--spacing-2) + 2px);
|
|
13496
|
+
display: flex;
|
|
13497
|
+
flex-direction: column;
|
|
13498
|
+
gap: var(--chatbubble-gap);
|
|
13499
|
+
padding: var(--chatbubble-padding-block) var(--chatbubble-padding-inline);
|
|
13500
|
+
border-radius: var(--chatbubble-radius);
|
|
13501
|
+
border: var(--border-width-regular) solid transparent;
|
|
13502
|
+
box-shadow: var(--shadow-level2);
|
|
13503
|
+
word-break: break-word;
|
|
13505
13504
|
}
|
|
13506
13505
|
|
|
13507
|
-
.
|
|
13508
|
-
|
|
13506
|
+
/* Media, an embed or an action stack always run the full bubble width. */
|
|
13507
|
+
.muka-chat-message--has-blocks .muka-chat-message__bubble {
|
|
13508
|
+
width: 100%;
|
|
13509
13509
|
}
|
|
13510
13510
|
|
|
13511
|
-
.muka-chat-
|
|
13512
|
-
|
|
13513
|
-
pointer-events: none;
|
|
13511
|
+
.muka-chat-message--own .muka-chat-message__bubble {
|
|
13512
|
+
justify-self: end;
|
|
13514
13513
|
}
|
|
13515
13514
|
|
|
13516
|
-
|
|
13517
|
-
|
|
13518
|
-
|
|
13519
|
-
|
|
13520
|
-
align-items: center;
|
|
13521
|
-
gap: var(--spacing-2);
|
|
13522
|
-
min-width: 0;
|
|
13523
|
-
flex: 1 1 auto;
|
|
13524
|
-
background: none;
|
|
13525
|
-
border: none;
|
|
13526
|
-
padding: 0;
|
|
13527
|
-
margin: 0;
|
|
13528
|
-
text-align: left;
|
|
13529
|
-
color: inherit;
|
|
13530
|
-
font: inherit;
|
|
13531
|
-
cursor: default;
|
|
13532
|
-
-webkit-tap-highlight-color: transparent;
|
|
13515
|
+
.muka-chat-message--own .muka-chat-message__bubble {
|
|
13516
|
+
background-color: var(--chatbubble-color-own-background);
|
|
13517
|
+
border-color: var(--chatbubble-color-own-border);
|
|
13518
|
+
color: var(--chatbubble-color-own-foreground);
|
|
13533
13519
|
}
|
|
13534
13520
|
|
|
13535
|
-
.muka-chat-
|
|
13536
|
-
|
|
13521
|
+
.muka-chat-message--peer .muka-chat-message__bubble {
|
|
13522
|
+
background-color: var(--chatbubble-color-peer-background);
|
|
13523
|
+
border-color: var(--chatbubble-color-peer-border);
|
|
13524
|
+
color: var(--chatbubble-color-peer-foreground);
|
|
13537
13525
|
}
|
|
13538
13526
|
|
|
13539
|
-
.muka-chat-
|
|
13540
|
-
|
|
13541
|
-
|
|
13542
|
-
|
|
13527
|
+
.muka-chat-message--agent .muka-chat-message__bubble {
|
|
13528
|
+
background-color: var(--chatbubble-color-agent-background);
|
|
13529
|
+
border-color: var(--chatbubble-color-agent-border);
|
|
13530
|
+
color: var(--chatbubble-color-agent-foreground);
|
|
13543
13531
|
}
|
|
13544
13532
|
|
|
13545
|
-
|
|
13546
|
-
display: inline-flex;
|
|
13547
|
-
align-items: center;
|
|
13548
|
-
justify-content: center;
|
|
13549
|
-
flex-shrink: 0;
|
|
13550
|
-
color: var(--color-text-subtle-default);
|
|
13551
|
-
}
|
|
13533
|
+
/* ─── Header row (author · meta · time · badge) ────────── */
|
|
13552
13534
|
|
|
13553
|
-
.muka-chat-
|
|
13535
|
+
.muka-chat-message__header {
|
|
13554
13536
|
display: flex;
|
|
13555
|
-
flex-
|
|
13556
|
-
|
|
13557
|
-
|
|
13558
|
-
}
|
|
13559
|
-
|
|
13560
|
-
.muka-chat-attachment-chip__name {
|
|
13561
|
-
color: var(--color-text-default-default);
|
|
13562
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13563
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13564
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
13565
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13566
|
-
white-space: nowrap;
|
|
13567
|
-
overflow: hidden;
|
|
13568
|
-
text-overflow: ellipsis;
|
|
13537
|
+
flex-flow: row wrap;
|
|
13538
|
+
align-items: center;
|
|
13539
|
+
gap: var(--chatbubble-row-gap);
|
|
13569
13540
|
}
|
|
13570
13541
|
|
|
13571
|
-
.muka-chat-
|
|
13572
|
-
|
|
13573
|
-
font-
|
|
13574
|
-
font-
|
|
13575
|
-
|
|
13576
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13577
|
-
white-space: nowrap;
|
|
13578
|
-
overflow: hidden;
|
|
13579
|
-
text-overflow: ellipsis;
|
|
13542
|
+
.muka-chat-message__author {
|
|
13543
|
+
font-family: var(--text-body-base-bold-fontFamily);
|
|
13544
|
+
font-weight: var(--text-body-base-bold-fontWeight);
|
|
13545
|
+
font-size: var(--text-body-base-bold-fontSize);
|
|
13546
|
+
line-height: var(--text-body-base-bold-lineHeight);
|
|
13580
13547
|
}
|
|
13581
13548
|
|
|
13582
|
-
.muka-chat-
|
|
13583
|
-
|
|
13549
|
+
.muka-chat-message__author-meta {
|
|
13550
|
+
/* Inherits the variant's body colour from the bubble */
|
|
13551
|
+
color: inherit;
|
|
13552
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
13553
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
13554
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
13555
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
13584
13556
|
}
|
|
13585
13557
|
|
|
13586
|
-
|
|
13587
|
-
|
|
13588
|
-
.muka-chat-attachment-chip__remove {
|
|
13558
|
+
.muka-chat-message__badge {
|
|
13589
13559
|
display: inline-flex;
|
|
13590
13560
|
align-items: center;
|
|
13591
|
-
justify-content: center;
|
|
13592
|
-
width: 20px;
|
|
13593
|
-
height: 20px;
|
|
13594
|
-
border: none;
|
|
13595
|
-
background: none;
|
|
13596
|
-
padding: 0;
|
|
13597
|
-
border-radius: var(--radius-sm);
|
|
13598
|
-
cursor: pointer;
|
|
13599
|
-
color: var(--color-text-subtle-default);
|
|
13600
|
-
flex-shrink: 0;
|
|
13601
|
-
-webkit-tap-highlight-color: transparent;
|
|
13602
|
-
}
|
|
13603
|
-
|
|
13604
|
-
.muka-chat-attachment-chip__remove:hover:not(:disabled) {
|
|
13605
|
-
color: var(--color-text-default-default);
|
|
13606
|
-
background-color: var(--color-surface-level2);
|
|
13607
13561
|
}
|
|
13608
13562
|
|
|
13609
|
-
|
|
13610
|
-
|
|
13611
|
-
|
|
13563
|
+
/*
|
|
13564
|
+
* Keep the first line of content clear of the absolutely positioned menu
|
|
13565
|
+
* button in the bubble's top-right corner.
|
|
13566
|
+
*/
|
|
13567
|
+
.muka-chat-message--has-menu .muka-chat-message__header,
|
|
13568
|
+
.muka-chat-message--has-menu.muka-chat-message--no-header .muka-chat-message__message {
|
|
13569
|
+
padding-right: var(--spacing-10);
|
|
13612
13570
|
}
|
|
13613
13571
|
|
|
13614
|
-
|
|
13615
|
-
|
|
13616
|
-
|
|
13572
|
+
/* …and the last line clear of the inset timestamp in the bottom-right corner */
|
|
13573
|
+
.muka-chat-message--has-timestamp .muka-chat-message__message {
|
|
13574
|
+
padding-right: var(--spacing-10);
|
|
13617
13575
|
}
|
|
13618
13576
|
|
|
13619
|
-
/* ───
|
|
13577
|
+
/* ─── Body ─────────────────────────────────────────────── */
|
|
13620
13578
|
|
|
13621
|
-
.muka-chat-
|
|
13622
|
-
|
|
13623
|
-
|
|
13624
|
-
|
|
13625
|
-
|
|
13626
|
-
height: 2px;
|
|
13627
|
-
background-color: var(--color-surface-level2);
|
|
13628
|
-
overflow: hidden;
|
|
13579
|
+
.muka-chat-message__body {
|
|
13580
|
+
display: flex;
|
|
13581
|
+
flex-direction: column;
|
|
13582
|
+
gap: var(--chatbubble-gap);
|
|
13583
|
+
min-width: 0;
|
|
13629
13584
|
}
|
|
13630
13585
|
|
|
13631
|
-
.muka-chat-
|
|
13632
|
-
|
|
13633
|
-
height: 100%;
|
|
13634
|
-
background-color: var(--color-action-default);
|
|
13635
|
-
transition: width 0.16s ease;
|
|
13586
|
+
.muka-chat-message__media {
|
|
13587
|
+
min-width: 0;
|
|
13636
13588
|
}
|
|
13637
13589
|
|
|
13638
|
-
.muka-chat-
|
|
13639
|
-
|
|
13590
|
+
.muka-chat-message__message {
|
|
13591
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
13592
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
13593
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
13594
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
13595
|
+
white-space: pre-wrap;
|
|
13596
|
+
word-break: break-word;
|
|
13640
13597
|
}
|
|
13641
13598
|
|
|
13599
|
+
/* Empty message block should not add a gap of its own */
|
|
13600
|
+
.muka-chat-message__message:empty {
|
|
13601
|
+
display: none;
|
|
13602
|
+
}
|
|
13642
13603
|
|
|
13643
|
-
/*
|
|
13644
|
-
/* Card Component Styles - Using Muka Design Tokens */
|
|
13604
|
+
/* ─── Embedded card ────────────────────────────────────── */
|
|
13645
13605
|
|
|
13646
|
-
.muka-
|
|
13647
|
-
|
|
13648
|
-
|
|
13649
|
-
|
|
13650
|
-
|
|
13651
|
-
|
|
13652
|
-
|
|
13606
|
+
.muka-chat-message__embed {
|
|
13607
|
+
position: relative;
|
|
13608
|
+
display: flex;
|
|
13609
|
+
flex-direction: column;
|
|
13610
|
+
gap: var(--chatbubble-embed-gap);
|
|
13611
|
+
/* The card is inset from the blocks above and below it (Figma 5289:40562) */
|
|
13612
|
+
margin-block: var(--chatbubble-embed-margin-block);
|
|
13613
|
+
padding: var(--chatbubble-embed-padding-block) var(--chatbubble-embed-padding-inline);
|
|
13614
|
+
border-radius: var(--chatbubble-embed-radius);
|
|
13615
|
+
border: var(--border-width-regular) solid transparent;
|
|
13653
13616
|
}
|
|
13654
13617
|
|
|
13655
|
-
/*
|
|
13656
|
-
|
|
13657
|
-
|
|
13618
|
+
/*
|
|
13619
|
+
* The embed sits on the raised surface of its author's role, one step apart
|
|
13620
|
+
* from the bubble it is nested in, and reuses that role's border colour.
|
|
13621
|
+
*/
|
|
13622
|
+
.muka-chat-message--own .muka-chat-message__embed {
|
|
13623
|
+
background-color: var(--chatbubble-embed-color-own-background);
|
|
13624
|
+
border-color: var(--chatbubble-embed-color-own-border);
|
|
13625
|
+
color: var(--chatbubble-embed-color-own-foreground);
|
|
13658
13626
|
}
|
|
13659
13627
|
|
|
13660
|
-
.muka-
|
|
13661
|
-
|
|
13628
|
+
.muka-chat-message--peer .muka-chat-message__embed {
|
|
13629
|
+
background-color: var(--chatbubble-embed-color-peer-background);
|
|
13630
|
+
border-color: var(--chatbubble-embed-color-peer-border);
|
|
13631
|
+
color: var(--chatbubble-embed-color-peer-foreground);
|
|
13662
13632
|
}
|
|
13663
13633
|
|
|
13664
|
-
.muka-
|
|
13665
|
-
|
|
13634
|
+
.muka-chat-message--agent .muka-chat-message__embed {
|
|
13635
|
+
background-color: var(--chatbubble-embed-color-agent-background);
|
|
13636
|
+
border-color: var(--chatbubble-embed-color-agent-border);
|
|
13637
|
+
color: var(--chatbubble-embed-color-agent-foreground);
|
|
13666
13638
|
}
|
|
13667
13639
|
|
|
13668
|
-
.muka-
|
|
13669
|
-
|
|
13640
|
+
.muka-chat-message__embed-content {
|
|
13641
|
+
display: flex;
|
|
13642
|
+
flex-direction: column;
|
|
13643
|
+
gap: var(--chatbubble-embed-gap);
|
|
13644
|
+
min-width: 0;
|
|
13670
13645
|
}
|
|
13671
13646
|
|
|
13672
|
-
|
|
13673
|
-
|
|
13674
|
-
|
|
13647
|
+
.muka-chat-message__embed-copy {
|
|
13648
|
+
position: absolute;
|
|
13649
|
+
top: var(--chatbubble-embed-padding-block);
|
|
13650
|
+
right: var(--chatbubble-embed-padding-inline);
|
|
13675
13651
|
}
|
|
13676
13652
|
|
|
13677
|
-
|
|
13678
|
-
border-radius: var(--card-radius-md);
|
|
13679
|
-
}
|
|
13653
|
+
/* ─── Stacked full-width action buttons ────────────────── */
|
|
13680
13654
|
|
|
13681
|
-
.muka-
|
|
13682
|
-
|
|
13655
|
+
.muka-chat-message__action-stack {
|
|
13656
|
+
display: flex;
|
|
13657
|
+
flex-direction: column;
|
|
13658
|
+
gap: var(--chatbubble-action-stack-gap);
|
|
13683
13659
|
}
|
|
13684
13660
|
|
|
13685
|
-
/*
|
|
13686
|
-
.muka-card--interactive {
|
|
13687
|
-
cursor: pointer;
|
|
13688
|
-
user-select: none;
|
|
13689
|
-
}
|
|
13661
|
+
/* ─── Inset timestamp ──────────────────────────────────── */
|
|
13690
13662
|
|
|
13691
|
-
|
|
13692
|
-
|
|
13693
|
-
|
|
13694
|
-
|
|
13663
|
+
/*
|
|
13664
|
+
* Every author puts its timestamp in the bubble's bottom-right corner, below
|
|
13665
|
+
* the message — never in the header row (Figma 5355:44091).
|
|
13666
|
+
*/
|
|
13667
|
+
|
|
13668
|
+
.muka-chat-message__timestamp {
|
|
13669
|
+
color: var(--chatbubble-color-timestamp);
|
|
13670
|
+
font-family: var(--text-body-xs-regular-fontFamily);
|
|
13671
|
+
font-weight: var(--text-body-xs-regular-fontWeight);
|
|
13672
|
+
font-size: var(--text-body-xs-regular-fontSize);
|
|
13673
|
+
line-height: var(--text-body-xs-regular-lineHeight);
|
|
13674
|
+
white-space: nowrap;
|
|
13695
13675
|
}
|
|
13696
13676
|
|
|
13697
|
-
|
|
13698
|
-
|
|
13699
|
-
|
|
13700
|
-
|
|
13701
|
-
|
|
13677
|
+
/*
|
|
13678
|
+
* Pinned to the corner rather than stacked below the message, so a one-line
|
|
13679
|
+
* message stays one line tall. The message reserves the width it needs.
|
|
13680
|
+
*/
|
|
13681
|
+
.muka-chat-message__timestamp--inset {
|
|
13682
|
+
position: absolute;
|
|
13683
|
+
right: var(--spacing-2);
|
|
13684
|
+
bottom: var(--spacing-1);
|
|
13702
13685
|
}
|
|
13703
13686
|
|
|
13704
|
-
|
|
13705
|
-
|
|
13706
|
-
|
|
13687
|
+
/*
|
|
13688
|
+
* When the last block in the body is media, an embed or an action stack (not
|
|
13689
|
+
* trailing text), it runs the full width, so reserve a line below for the inset
|
|
13690
|
+
* timestamp. A message that ends in text clears the corner inline instead (see
|
|
13691
|
+
* `__message` padding-right above), so it needs no extra bottom space.
|
|
13692
|
+
*/
|
|
13693
|
+
.muka-chat-message--has-timestamp.muka-chat-message--trailing-block .muka-chat-message__body {
|
|
13694
|
+
padding-bottom: var(--text-body-xs-regular-lineHeight);
|
|
13707
13695
|
}
|
|
13708
13696
|
|
|
13709
|
-
/*
|
|
13710
|
-
|
|
13711
|
-
|
|
13712
|
-
|
|
13713
|
-
|
|
13714
|
-
|
|
13697
|
+
/* ─── Menu affordance ──────────────────────────────────── */
|
|
13698
|
+
|
|
13699
|
+
/*
|
|
13700
|
+
* Hidden at rest. Revealed on hover on pointer devices, on keyboard focus
|
|
13701
|
+
* everywhere, and pinned while its menu is open. On touch the equivalent
|
|
13702
|
+
* affordance is a long-press on the bubble, which opens an ActionSheet.
|
|
13703
|
+
*/
|
|
13704
|
+
.muka-chat-message__menu {
|
|
13705
|
+
position: absolute;
|
|
13706
|
+
top: var(--spacing-1);
|
|
13707
|
+
right: var(--spacing-1);
|
|
13708
|
+
opacity: 0;
|
|
13709
|
+
pointer-events: none;
|
|
13715
13710
|
}
|
|
13716
13711
|
|
|
13717
|
-
|
|
13718
|
-
.muka-
|
|
13719
|
-
|
|
13712
|
+
.muka-chat-message__menu:focus-within,
|
|
13713
|
+
.muka-chat-message--menu-open .muka-chat-message__menu {
|
|
13714
|
+
opacity: 1;
|
|
13715
|
+
pointer-events: auto;
|
|
13720
13716
|
}
|
|
13721
13717
|
|
|
13722
|
-
|
|
13723
|
-
|
|
13724
|
-
|
|
13725
|
-
|
|
13726
|
-
|
|
13727
|
-
font-size: var(--text-heading-xs-fontSize);
|
|
13728
|
-
line-height: var(--text-heading-xs-lineHeight);
|
|
13729
|
-
letter-spacing: var(--text-heading-xs-letterSpacing);
|
|
13718
|
+
@media (hover: hover) and (pointer: fine) and (min-width: 1024px) {
|
|
13719
|
+
.muka-chat-message__bubble:hover .muka-chat-message__menu {
|
|
13720
|
+
opacity: 1;
|
|
13721
|
+
pointer-events: auto;
|
|
13722
|
+
}
|
|
13730
13723
|
}
|
|
13731
13724
|
|
|
13732
|
-
|
|
13733
|
-
|
|
13734
|
-
|
|
13735
|
-
|
|
13736
|
-
|
|
13737
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
13738
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13725
|
+
/* Suppress iOS Safari's own callout so the long-press sheet can take over */
|
|
13726
|
+
@media (pointer: coarse) {
|
|
13727
|
+
.muka-chat-message--has-menu .muka-chat-message__bubble {
|
|
13728
|
+
-webkit-touch-callout: none;
|
|
13729
|
+
}
|
|
13739
13730
|
}
|
|
13740
13731
|
|
|
13741
|
-
/*
|
|
13742
|
-
.muka-card > .muka-listitem:last-child > .muka-listitem__divider {
|
|
13743
|
-
display: none;
|
|
13744
|
-
}
|
|
13732
|
+
/* ─── Print ────────────────────────────────────────────── */
|
|
13745
13733
|
|
|
13746
|
-
|
|
13747
|
-
.muka-
|
|
13748
|
-
|
|
13749
|
-
|
|
13750
|
-
|
|
13734
|
+
@media print {
|
|
13735
|
+
.muka-chat-message__bubble {
|
|
13736
|
+
box-shadow: none;
|
|
13737
|
+
break-inside: avoid;
|
|
13738
|
+
print-color-adjust: exact;
|
|
13739
|
+
-webkit-print-color-adjust: exact;
|
|
13740
|
+
}
|
|
13741
|
+
|
|
13742
|
+
.muka-chat-message__embed {
|
|
13743
|
+
break-inside: avoid;
|
|
13744
|
+
print-color-adjust: exact;
|
|
13745
|
+
-webkit-print-color-adjust: exact;
|
|
13746
|
+
}
|
|
13747
|
+
|
|
13748
|
+
.muka-chat-message__menu,
|
|
13749
|
+
.muka-chat-message__embed-copy,
|
|
13750
|
+
.muka-chat-message__action-stack {
|
|
13751
|
+
display: none;
|
|
13752
|
+
}
|
|
13751
13753
|
}
|
|
13752
13754
|
|
|
13753
13755
|
|
|
@@ -14099,120 +14101,6 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
14099
14101
|
}
|
|
14100
14102
|
|
|
14101
14103
|
|
|
14102
|
-
/* Breadcrumb */
|
|
14103
|
-
/* Breadcrumb Component Styles */
|
|
14104
|
-
|
|
14105
|
-
.muka-breadcrumb__list {
|
|
14106
|
-
display: flex;
|
|
14107
|
-
align-items: center;
|
|
14108
|
-
flex-wrap: wrap;
|
|
14109
|
-
list-style: none;
|
|
14110
|
-
margin: 0;
|
|
14111
|
-
padding: 0;
|
|
14112
|
-
gap: var(--spacing-1);
|
|
14113
|
-
}
|
|
14114
|
-
|
|
14115
|
-
.muka-breadcrumb__item {
|
|
14116
|
-
display: inline-flex;
|
|
14117
|
-
align-items: center;
|
|
14118
|
-
gap: var(--spacing-1);
|
|
14119
|
-
}
|
|
14120
|
-
|
|
14121
|
-
.muka-breadcrumb__item:has(.muka-breadcrumb__icon) {
|
|
14122
|
-
padding-left: var(--spacing-1);
|
|
14123
|
-
}
|
|
14124
|
-
|
|
14125
|
-
.muka-breadcrumb__icon {
|
|
14126
|
-
display: inline-flex;
|
|
14127
|
-
align-items: center;
|
|
14128
|
-
color: var(--color-text-subtle-default);
|
|
14129
|
-
}
|
|
14130
|
-
|
|
14131
|
-
.muka-breadcrumb__icon .muka-icon {
|
|
14132
|
-
color: inherit;
|
|
14133
|
-
}
|
|
14134
|
-
|
|
14135
|
-
.muka-breadcrumb__item:has(.muka-breadcrumb__current) .muka-breadcrumb__icon {
|
|
14136
|
-
color: var(--color-text-default-default);
|
|
14137
|
-
}
|
|
14138
|
-
|
|
14139
|
-
.muka-breadcrumb__item:has(.muka-breadcrumb__link:hover) .muka-breadcrumb__icon {
|
|
14140
|
-
color: var(--color-text-action-default);
|
|
14141
|
-
}
|
|
14142
|
-
|
|
14143
|
-
/* Link styles */
|
|
14144
|
-
.muka-breadcrumb__link {
|
|
14145
|
-
color: var(--color-text-subtle-default);
|
|
14146
|
-
text-decoration: none;
|
|
14147
|
-
border: none;
|
|
14148
|
-
background: none;
|
|
14149
|
-
padding-inline: var(--spacing-2);
|
|
14150
|
-
padding-block: 0;
|
|
14151
|
-
cursor: pointer;
|
|
14152
|
-
font: inherit;
|
|
14153
|
-
transition: color 0.15s ease;
|
|
14154
|
-
}
|
|
14155
|
-
|
|
14156
|
-
.muka-breadcrumb__link:hover {
|
|
14157
|
-
color: var(--color-text-action-default);
|
|
14158
|
-
text-decoration: underline;
|
|
14159
|
-
}
|
|
14160
|
-
|
|
14161
|
-
/* Tighter gap after leading icon */
|
|
14162
|
-
.muka-breadcrumb__item:has(.muka-breadcrumb__icon) .muka-breadcrumb__link,
|
|
14163
|
-
.muka-breadcrumb__item:has(.muka-breadcrumb__icon) .muka-breadcrumb__current {
|
|
14164
|
-
padding-left: var(--spacing-1);
|
|
14165
|
-
}
|
|
14166
|
-
|
|
14167
|
-
/* Current page (last item, no context switcher) */
|
|
14168
|
-
.muka-breadcrumb__current {
|
|
14169
|
-
color: var(--color-text-default-default);
|
|
14170
|
-
font-weight: 600;
|
|
14171
|
-
padding-inline: var(--spacing-2);
|
|
14172
|
-
}
|
|
14173
|
-
|
|
14174
|
-
/* Separator */
|
|
14175
|
-
.muka-breadcrumb__separator {
|
|
14176
|
-
color: var(--color-text-subtle-default);
|
|
14177
|
-
user-select: none;
|
|
14178
|
-
}
|
|
14179
|
-
|
|
14180
|
-
.muka-breadcrumb__item--context {
|
|
14181
|
-
gap: 0;
|
|
14182
|
-
}
|
|
14183
|
-
|
|
14184
|
-
.muka-breadcrumb__list:has(.muka-breadcrumb__item--context) {
|
|
14185
|
-
gap: 0;
|
|
14186
|
-
}
|
|
14187
|
-
|
|
14188
|
-
.muka-breadcrumb__item--context .muka-breadcrumb__separator {
|
|
14189
|
-
margin: 0;
|
|
14190
|
-
padding-inline: var(--spacing-1, 4px);
|
|
14191
|
-
}
|
|
14192
|
-
|
|
14193
|
-
/* Size variants */
|
|
14194
|
-
.muka-breadcrumb--sm {
|
|
14195
|
-
font-family: var(--text-label-sm-regular-fontFamily);
|
|
14196
|
-
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
14197
|
-
font-size: var(--text-label-sm-regular-fontSize);
|
|
14198
|
-
line-height: var(--text-label-sm-regular-lineHeight);
|
|
14199
|
-
}
|
|
14200
|
-
|
|
14201
|
-
.muka-breadcrumb--md {
|
|
14202
|
-
font-family: var(--text-label-md-regular-fontFamily);
|
|
14203
|
-
font-weight: var(--text-label-md-regular-fontWeight);
|
|
14204
|
-
font-size: var(--text-label-md-regular-fontSize);
|
|
14205
|
-
line-height: var(--text-label-md-regular-lineHeight);
|
|
14206
|
-
}
|
|
14207
|
-
|
|
14208
|
-
.muka-breadcrumb--lg {
|
|
14209
|
-
font-family: var(--text-label-lg-regular-fontFamily);
|
|
14210
|
-
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
14211
|
-
font-size: var(--text-label-lg-regular-fontSize);
|
|
14212
|
-
line-height: var(--text-label-lg-regular-lineHeight);
|
|
14213
|
-
}
|
|
14214
|
-
|
|
14215
|
-
|
|
14216
14104
|
/* BottomBar */
|
|
14217
14105
|
/* BottomBar Component Styles */
|
|
14218
14106
|
|
|
@@ -14606,34 +14494,148 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
14606
14494
|
line-height: normal;
|
|
14607
14495
|
}
|
|
14608
14496
|
|
|
14609
|
-
/* Neutral variant */
|
|
14610
|
-
.muka-badge-number--neutral {
|
|
14611
|
-
background-color: var(--color-surface-level1);
|
|
14612
|
-
color: var(--color-text-default-default);
|
|
14497
|
+
/* Neutral variant */
|
|
14498
|
+
.muka-badge-number--neutral {
|
|
14499
|
+
background-color: var(--color-surface-level1);
|
|
14500
|
+
color: var(--color-text-default-default);
|
|
14501
|
+
}
|
|
14502
|
+
|
|
14503
|
+
/* Info variant */
|
|
14504
|
+
.muka-badge-number--info {
|
|
14505
|
+
background-color: var(--color-state-info-contrast);
|
|
14506
|
+
color: var(--color-text-default-inverse);
|
|
14507
|
+
}
|
|
14508
|
+
|
|
14509
|
+
/* Success variant */
|
|
14510
|
+
.muka-badge-number--success {
|
|
14511
|
+
background-color: var(--color-state-success-contrast);
|
|
14512
|
+
color: var(--color-text-default-inverse);
|
|
14513
|
+
}
|
|
14514
|
+
|
|
14515
|
+
/* Warning variant */
|
|
14516
|
+
.muka-badge-number--warning {
|
|
14517
|
+
background-color: var(--color-state-warning-contrast);
|
|
14518
|
+
color: var(--color-text-default-inverse);
|
|
14519
|
+
}
|
|
14520
|
+
|
|
14521
|
+
/* Error variant */
|
|
14522
|
+
.muka-badge-number--error {
|
|
14523
|
+
background-color: var(--color-state-error-contrast);
|
|
14524
|
+
color: var(--color-text-default-inverse);
|
|
14525
|
+
}
|
|
14526
|
+
|
|
14527
|
+
|
|
14528
|
+
/* Breadcrumb */
|
|
14529
|
+
/* Breadcrumb Component Styles */
|
|
14530
|
+
|
|
14531
|
+
.muka-breadcrumb__list {
|
|
14532
|
+
display: flex;
|
|
14533
|
+
align-items: center;
|
|
14534
|
+
flex-wrap: wrap;
|
|
14535
|
+
list-style: none;
|
|
14536
|
+
margin: 0;
|
|
14537
|
+
padding: 0;
|
|
14538
|
+
gap: var(--spacing-1);
|
|
14539
|
+
}
|
|
14540
|
+
|
|
14541
|
+
.muka-breadcrumb__item {
|
|
14542
|
+
display: inline-flex;
|
|
14543
|
+
align-items: center;
|
|
14544
|
+
gap: var(--spacing-1);
|
|
14545
|
+
}
|
|
14546
|
+
|
|
14547
|
+
.muka-breadcrumb__item:has(.muka-breadcrumb__icon) {
|
|
14548
|
+
padding-left: var(--spacing-1);
|
|
14549
|
+
}
|
|
14550
|
+
|
|
14551
|
+
.muka-breadcrumb__icon {
|
|
14552
|
+
display: inline-flex;
|
|
14553
|
+
align-items: center;
|
|
14554
|
+
color: var(--color-text-subtle-default);
|
|
14555
|
+
}
|
|
14556
|
+
|
|
14557
|
+
.muka-breadcrumb__icon .muka-icon {
|
|
14558
|
+
color: inherit;
|
|
14559
|
+
}
|
|
14560
|
+
|
|
14561
|
+
.muka-breadcrumb__item:has(.muka-breadcrumb__current) .muka-breadcrumb__icon {
|
|
14562
|
+
color: var(--color-text-default-default);
|
|
14563
|
+
}
|
|
14564
|
+
|
|
14565
|
+
.muka-breadcrumb__item:has(.muka-breadcrumb__link:hover) .muka-breadcrumb__icon {
|
|
14566
|
+
color: var(--color-text-action-default);
|
|
14567
|
+
}
|
|
14568
|
+
|
|
14569
|
+
/* Link styles */
|
|
14570
|
+
.muka-breadcrumb__link {
|
|
14571
|
+
color: var(--color-text-subtle-default);
|
|
14572
|
+
text-decoration: none;
|
|
14573
|
+
border: none;
|
|
14574
|
+
background: none;
|
|
14575
|
+
padding-inline: var(--spacing-2);
|
|
14576
|
+
padding-block: 0;
|
|
14577
|
+
cursor: pointer;
|
|
14578
|
+
font: inherit;
|
|
14579
|
+
transition: color 0.15s ease;
|
|
14580
|
+
}
|
|
14581
|
+
|
|
14582
|
+
.muka-breadcrumb__link:hover {
|
|
14583
|
+
color: var(--color-text-action-default);
|
|
14584
|
+
text-decoration: underline;
|
|
14585
|
+
}
|
|
14586
|
+
|
|
14587
|
+
/* Tighter gap after leading icon */
|
|
14588
|
+
.muka-breadcrumb__item:has(.muka-breadcrumb__icon) .muka-breadcrumb__link,
|
|
14589
|
+
.muka-breadcrumb__item:has(.muka-breadcrumb__icon) .muka-breadcrumb__current {
|
|
14590
|
+
padding-left: var(--spacing-1);
|
|
14591
|
+
}
|
|
14592
|
+
|
|
14593
|
+
/* Current page (last item, no context switcher) */
|
|
14594
|
+
.muka-breadcrumb__current {
|
|
14595
|
+
color: var(--color-text-default-default);
|
|
14596
|
+
font-weight: 600;
|
|
14597
|
+
padding-inline: var(--spacing-2);
|
|
14598
|
+
}
|
|
14599
|
+
|
|
14600
|
+
/* Separator */
|
|
14601
|
+
.muka-breadcrumb__separator {
|
|
14602
|
+
color: var(--color-text-subtle-default);
|
|
14603
|
+
user-select: none;
|
|
14604
|
+
}
|
|
14605
|
+
|
|
14606
|
+
.muka-breadcrumb__item--context {
|
|
14607
|
+
gap: 0;
|
|
14608
|
+
}
|
|
14609
|
+
|
|
14610
|
+
.muka-breadcrumb__list:has(.muka-breadcrumb__item--context) {
|
|
14611
|
+
gap: 0;
|
|
14613
14612
|
}
|
|
14614
14613
|
|
|
14615
|
-
|
|
14616
|
-
|
|
14617
|
-
|
|
14618
|
-
color: var(--color-text-default-inverse);
|
|
14614
|
+
.muka-breadcrumb__item--context .muka-breadcrumb__separator {
|
|
14615
|
+
margin: 0;
|
|
14616
|
+
padding-inline: var(--spacing-1, 4px);
|
|
14619
14617
|
}
|
|
14620
14618
|
|
|
14621
|
-
/*
|
|
14622
|
-
.muka-
|
|
14623
|
-
|
|
14624
|
-
|
|
14619
|
+
/* Size variants */
|
|
14620
|
+
.muka-breadcrumb--sm {
|
|
14621
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
14622
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
14623
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
14624
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
14625
14625
|
}
|
|
14626
14626
|
|
|
14627
|
-
|
|
14628
|
-
|
|
14629
|
-
|
|
14630
|
-
|
|
14627
|
+
.muka-breadcrumb--md {
|
|
14628
|
+
font-family: var(--text-label-md-regular-fontFamily);
|
|
14629
|
+
font-weight: var(--text-label-md-regular-fontWeight);
|
|
14630
|
+
font-size: var(--text-label-md-regular-fontSize);
|
|
14631
|
+
line-height: var(--text-label-md-regular-lineHeight);
|
|
14631
14632
|
}
|
|
14632
14633
|
|
|
14633
|
-
|
|
14634
|
-
|
|
14635
|
-
|
|
14636
|
-
|
|
14634
|
+
.muka-breadcrumb--lg {
|
|
14635
|
+
font-family: var(--text-label-lg-regular-fontFamily);
|
|
14636
|
+
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
14637
|
+
font-size: var(--text-label-lg-regular-fontSize);
|
|
14638
|
+
line-height: var(--text-label-lg-regular-lineHeight);
|
|
14637
14639
|
}
|
|
14638
14640
|
|
|
14639
14641
|
|
|
@@ -14700,6 +14702,33 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
14700
14702
|
padding-left: var(--badge-padding-leading-lg);
|
|
14701
14703
|
}
|
|
14702
14704
|
|
|
14705
|
+
/* Icon-only — square, sized to the badge height (Figma: 24 / 32 / 40).
|
|
14706
|
+
* Padding resets at size+icon-only specificity so `--has-icon` leading padding
|
|
14707
|
+
* cannot win and shift the icon off-center. */
|
|
14708
|
+
.muka-badge--icon-only {
|
|
14709
|
+
justify-content: center;
|
|
14710
|
+
align-items: center;
|
|
14711
|
+
gap: 0;
|
|
14712
|
+
}
|
|
14713
|
+
|
|
14714
|
+
.muka-badge--sm.muka-badge--icon-only,
|
|
14715
|
+
.muka-badge--md.muka-badge--icon-only,
|
|
14716
|
+
.muka-badge--lg.muka-badge--icon-only {
|
|
14717
|
+
padding: 0;
|
|
14718
|
+
}
|
|
14719
|
+
|
|
14720
|
+
.muka-badge--sm.muka-badge--icon-only {
|
|
14721
|
+
width: var(--badge-size-height-sm);
|
|
14722
|
+
}
|
|
14723
|
+
|
|
14724
|
+
.muka-badge--md.muka-badge--icon-only {
|
|
14725
|
+
width: var(--badge-size-height-md);
|
|
14726
|
+
}
|
|
14727
|
+
|
|
14728
|
+
.muka-badge--lg.muka-badge--icon-only {
|
|
14729
|
+
width: var(--badge-size-height-lg);
|
|
14730
|
+
}
|
|
14731
|
+
|
|
14703
14732
|
/* Leading icon slot — Figma icon sizes: sm 16, md 20, lg 24 (matches Chip) */
|
|
14704
14733
|
.muka-badge__icon {
|
|
14705
14734
|
display: inline-flex;
|
|
@@ -15239,102 +15268,6 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
15239
15268
|
}
|
|
15240
15269
|
|
|
15241
15270
|
|
|
15242
|
-
/* AppShell */
|
|
15243
|
-
/* AppShell Component Styles */
|
|
15244
|
-
|
|
15245
|
-
/*
|
|
15246
|
-
* Layout wrapper for a persistent left navigation rail + main view area, with an
|
|
15247
|
-
* optional full-width top app bar. The rail itself is styled by the BottomBar
|
|
15248
|
-
* `desktopAs="sidebar"` rules (fixed 240px left rail at ≥1024px); AppShell shows/
|
|
15249
|
-
* hides the sidebar + app-bar slots and offsets the main area to match. Both
|
|
15250
|
-
* appear at the large tier — responsively (no `size`, scoped with
|
|
15251
|
-
* `:not([data-size])`) or forced via `[data-size="lg"]`.
|
|
15252
|
-
*/
|
|
15253
|
-
.muka-app-shell {
|
|
15254
|
-
position: relative;
|
|
15255
|
-
/* Reserved width for the rail; matches BottomBar's desktop-sidebar width. */
|
|
15256
|
-
--app-shell-sidebar-width: 240px;
|
|
15257
|
-
/* Height of the optional top app bar. */
|
|
15258
|
-
--app-shell-appbar-height: 64px;
|
|
15259
|
-
}
|
|
15260
|
-
|
|
15261
|
-
/* Sidebar slot: hidden below the large tier (per-view nav handles small/medium). */
|
|
15262
|
-
.muka-app-shell__sidebar {
|
|
15263
|
-
display: none;
|
|
15264
|
-
}
|
|
15265
|
-
|
|
15266
|
-
.muka-app-shell__main {
|
|
15267
|
-
min-height: 100dvh;
|
|
15268
|
-
}
|
|
15269
|
-
|
|
15270
|
-
/*
|
|
15271
|
-
* App bar: full-width top strip. Intrinsic styling lives here (harmless while
|
|
15272
|
-
* hidden); it is revealed only at the large tier. Sits above the sidebar rail.
|
|
15273
|
-
*/
|
|
15274
|
-
.muka-app-shell__appbar {
|
|
15275
|
-
display: none;
|
|
15276
|
-
align-items: center;
|
|
15277
|
-
justify-content: space-between;
|
|
15278
|
-
gap: var(--spacing-4);
|
|
15279
|
-
position: fixed;
|
|
15280
|
-
top: 0;
|
|
15281
|
-
left: 0;
|
|
15282
|
-
right: 0;
|
|
15283
|
-
height: var(--app-shell-appbar-height);
|
|
15284
|
-
padding-inline: var(--spacing-4);
|
|
15285
|
-
background-color: var(--color-surface-level3);
|
|
15286
|
-
border-bottom: var(--border-width-regular) solid var(--color-border-default);
|
|
15287
|
-
z-index: 11; /* above the sidebar rail (z-index 10) */
|
|
15288
|
-
}
|
|
15289
|
-
|
|
15290
|
-
/* ─── Large tier (responsive) ─── */
|
|
15291
|
-
@media (min-width: 1024px) {
|
|
15292
|
-
.muka-app-shell:not([data-size]) .muka-app-shell__sidebar {
|
|
15293
|
-
display: block;
|
|
15294
|
-
}
|
|
15295
|
-
.muka-app-shell:not([data-size]) .muka-app-shell__main {
|
|
15296
|
-
padding-left: var(--app-shell-sidebar-width);
|
|
15297
|
-
}
|
|
15298
|
-
.muka-app-shell:not([data-size]) .muka-app-shell__appbar {
|
|
15299
|
-
display: flex;
|
|
15300
|
-
}
|
|
15301
|
-
/* When an app bar is present, drop the rail + content below it so nothing overlaps. */
|
|
15302
|
-
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-app-shell__main {
|
|
15303
|
-
padding-top: var(--app-shell-appbar-height);
|
|
15304
|
-
}
|
|
15305
|
-
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-bottombar--desktop-sidebar {
|
|
15306
|
-
top: var(--app-shell-appbar-height);
|
|
15307
|
-
height: calc(100vh - var(--app-shell-appbar-height));
|
|
15308
|
-
}
|
|
15309
|
-
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-view,
|
|
15310
|
-
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-nav-transition {
|
|
15311
|
-
height: calc(100dvh - var(--app-shell-appbar-height));
|
|
15312
|
-
}
|
|
15313
|
-
}
|
|
15314
|
-
|
|
15315
|
-
/* ─── Large tier (forced via size="lg") ─── */
|
|
15316
|
-
.muka-app-shell[data-size='lg'] .muka-app-shell__sidebar {
|
|
15317
|
-
display: block;
|
|
15318
|
-
}
|
|
15319
|
-
.muka-app-shell[data-size='lg'] .muka-app-shell__main {
|
|
15320
|
-
padding-left: var(--app-shell-sidebar-width);
|
|
15321
|
-
}
|
|
15322
|
-
.muka-app-shell[data-size='lg'] .muka-app-shell__appbar {
|
|
15323
|
-
display: flex;
|
|
15324
|
-
}
|
|
15325
|
-
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-app-shell__main {
|
|
15326
|
-
padding-top: var(--app-shell-appbar-height);
|
|
15327
|
-
}
|
|
15328
|
-
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-bottombar--desktop-sidebar {
|
|
15329
|
-
top: var(--app-shell-appbar-height);
|
|
15330
|
-
height: calc(100vh - var(--app-shell-appbar-height));
|
|
15331
|
-
}
|
|
15332
|
-
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-view,
|
|
15333
|
-
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-nav-transition {
|
|
15334
|
-
height: calc(100dvh - var(--app-shell-appbar-height));
|
|
15335
|
-
}
|
|
15336
|
-
|
|
15337
|
-
|
|
15338
15271
|
/* Alert */
|
|
15339
15272
|
/* Alert Component Styles - Using Muka Design Tokens */
|
|
15340
15273
|
|
|
@@ -15496,11 +15429,12 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
15496
15429
|
line-height: var(--text-body-base-regular-lineHeight);
|
|
15497
15430
|
}
|
|
15498
15431
|
|
|
15499
|
-
/* Action slot */
|
|
15432
|
+
/* Action slot — TextLink (or similar) below the message, matching Figma */
|
|
15500
15433
|
.muka-alert__action {
|
|
15501
15434
|
display: flex;
|
|
15502
|
-
|
|
15503
|
-
|
|
15435
|
+
flex-direction: column;
|
|
15436
|
+
align-items: flex-start;
|
|
15437
|
+
padding-top: var(--spacing-1);
|
|
15504
15438
|
}
|
|
15505
15439
|
|
|
15506
15440
|
/* Dismiss button - uses accent color per variant, aligned with icon row */
|
|
@@ -15537,6 +15471,102 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
15537
15471
|
}
|
|
15538
15472
|
|
|
15539
15473
|
|
|
15474
|
+
/* AppShell */
|
|
15475
|
+
/* AppShell Component Styles */
|
|
15476
|
+
|
|
15477
|
+
/*
|
|
15478
|
+
* Layout wrapper for a persistent left navigation rail + main view area, with an
|
|
15479
|
+
* optional full-width top app bar. The rail itself is styled by the BottomBar
|
|
15480
|
+
* `desktopAs="sidebar"` rules (fixed 240px left rail at ≥1024px); AppShell shows/
|
|
15481
|
+
* hides the sidebar + app-bar slots and offsets the main area to match. Both
|
|
15482
|
+
* appear at the large tier — responsively (no `size`, scoped with
|
|
15483
|
+
* `:not([data-size])`) or forced via `[data-size="lg"]`.
|
|
15484
|
+
*/
|
|
15485
|
+
.muka-app-shell {
|
|
15486
|
+
position: relative;
|
|
15487
|
+
/* Reserved width for the rail; matches BottomBar's desktop-sidebar width. */
|
|
15488
|
+
--app-shell-sidebar-width: 240px;
|
|
15489
|
+
/* Height of the optional top app bar. */
|
|
15490
|
+
--app-shell-appbar-height: 64px;
|
|
15491
|
+
}
|
|
15492
|
+
|
|
15493
|
+
/* Sidebar slot: hidden below the large tier (per-view nav handles small/medium). */
|
|
15494
|
+
.muka-app-shell__sidebar {
|
|
15495
|
+
display: none;
|
|
15496
|
+
}
|
|
15497
|
+
|
|
15498
|
+
.muka-app-shell__main {
|
|
15499
|
+
min-height: 100dvh;
|
|
15500
|
+
}
|
|
15501
|
+
|
|
15502
|
+
/*
|
|
15503
|
+
* App bar: full-width top strip. Intrinsic styling lives here (harmless while
|
|
15504
|
+
* hidden); it is revealed only at the large tier. Sits above the sidebar rail.
|
|
15505
|
+
*/
|
|
15506
|
+
.muka-app-shell__appbar {
|
|
15507
|
+
display: none;
|
|
15508
|
+
align-items: center;
|
|
15509
|
+
justify-content: space-between;
|
|
15510
|
+
gap: var(--spacing-4);
|
|
15511
|
+
position: fixed;
|
|
15512
|
+
top: 0;
|
|
15513
|
+
left: 0;
|
|
15514
|
+
right: 0;
|
|
15515
|
+
height: var(--app-shell-appbar-height);
|
|
15516
|
+
padding-inline: var(--spacing-4);
|
|
15517
|
+
background-color: var(--color-surface-level3);
|
|
15518
|
+
border-bottom: var(--border-width-regular) solid var(--color-border-default);
|
|
15519
|
+
z-index: 11; /* above the sidebar rail (z-index 10) */
|
|
15520
|
+
}
|
|
15521
|
+
|
|
15522
|
+
/* ─── Large tier (responsive) ─── */
|
|
15523
|
+
@media (min-width: 1024px) {
|
|
15524
|
+
.muka-app-shell:not([data-size]) .muka-app-shell__sidebar {
|
|
15525
|
+
display: block;
|
|
15526
|
+
}
|
|
15527
|
+
.muka-app-shell:not([data-size]) .muka-app-shell__main {
|
|
15528
|
+
padding-left: var(--app-shell-sidebar-width);
|
|
15529
|
+
}
|
|
15530
|
+
.muka-app-shell:not([data-size]) .muka-app-shell__appbar {
|
|
15531
|
+
display: flex;
|
|
15532
|
+
}
|
|
15533
|
+
/* When an app bar is present, drop the rail + content below it so nothing overlaps. */
|
|
15534
|
+
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-app-shell__main {
|
|
15535
|
+
padding-top: var(--app-shell-appbar-height);
|
|
15536
|
+
}
|
|
15537
|
+
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-bottombar--desktop-sidebar {
|
|
15538
|
+
top: var(--app-shell-appbar-height);
|
|
15539
|
+
height: calc(100vh - var(--app-shell-appbar-height));
|
|
15540
|
+
}
|
|
15541
|
+
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-view,
|
|
15542
|
+
.muka-app-shell:not([data-size]):has(.muka-app-shell__appbar) .muka-nav-transition {
|
|
15543
|
+
height: calc(100dvh - var(--app-shell-appbar-height));
|
|
15544
|
+
}
|
|
15545
|
+
}
|
|
15546
|
+
|
|
15547
|
+
/* ─── Large tier (forced via size="lg") ─── */
|
|
15548
|
+
.muka-app-shell[data-size='lg'] .muka-app-shell__sidebar {
|
|
15549
|
+
display: block;
|
|
15550
|
+
}
|
|
15551
|
+
.muka-app-shell[data-size='lg'] .muka-app-shell__main {
|
|
15552
|
+
padding-left: var(--app-shell-sidebar-width);
|
|
15553
|
+
}
|
|
15554
|
+
.muka-app-shell[data-size='lg'] .muka-app-shell__appbar {
|
|
15555
|
+
display: flex;
|
|
15556
|
+
}
|
|
15557
|
+
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-app-shell__main {
|
|
15558
|
+
padding-top: var(--app-shell-appbar-height);
|
|
15559
|
+
}
|
|
15560
|
+
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-bottombar--desktop-sidebar {
|
|
15561
|
+
top: var(--app-shell-appbar-height);
|
|
15562
|
+
height: calc(100vh - var(--app-shell-appbar-height));
|
|
15563
|
+
}
|
|
15564
|
+
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-view,
|
|
15565
|
+
.muka-app-shell[data-size='lg']:has(.muka-app-shell__appbar) .muka-nav-transition {
|
|
15566
|
+
height: calc(100dvh - var(--app-shell-appbar-height));
|
|
15567
|
+
}
|
|
15568
|
+
|
|
15569
|
+
|
|
15540
15570
|
/* AgentTaskList */
|
|
15541
15571
|
/* AgentTaskList Component Styles */
|
|
15542
15572
|
|