@revikornmann/muka-ui 0.13.0 → 0.15.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/ChatMessage/ChatMessage.css +13 -17
- package/dist/cjs/components/ChatMessage/ChatMessage.js +12 -15
- package/dist/cjs/components/ChatMessage/ChatMessage.js.map +1 -1
- package/dist/cjs/components/Input/Input.js +8 -6
- package/dist/cjs/components/Input/Input.js.map +1 -1
- package/dist/cjs/components/LicensePlateInput/LicensePlateInput.js +10 -5
- package/dist/cjs/components/LicensePlateInput/LicensePlateInput.js.map +1 -1
- package/dist/cjs/components/NumberInput/NumberInput.js +6 -4
- package/dist/cjs/components/NumberInput/NumberInput.js.map +1 -1
- package/dist/cjs/components/SearchInput/SearchInput.js +15 -5
- package/dist/cjs/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/cjs/components/Textarea/Textarea.js +5 -4
- package/dist/cjs/components/Textarea/Textarea.js.map +1 -1
- package/dist/cjs/utils/accessibility.js +14 -0
- package/dist/cjs/utils/accessibility.js.map +1 -1
- package/dist/esm/components/ChatMessage/ChatMessage.css +13 -17
- package/dist/esm/components/ChatMessage/ChatMessage.js +12 -15
- package/dist/esm/components/ChatMessage/ChatMessage.js.map +1 -1
- package/dist/esm/components/Input/Input.js +8 -6
- package/dist/esm/components/Input/Input.js.map +1 -1
- package/dist/esm/components/LicensePlateInput/LicensePlateInput.js +10 -5
- package/dist/esm/components/LicensePlateInput/LicensePlateInput.js.map +1 -1
- package/dist/esm/components/NumberInput/NumberInput.js +6 -4
- package/dist/esm/components/NumberInput/NumberInput.js.map +1 -1
- package/dist/esm/components/SearchInput/SearchInput.js +15 -5
- package/dist/esm/components/SearchInput/SearchInput.js.map +1 -1
- package/dist/esm/components/Textarea/Textarea.js +5 -4
- package/dist/esm/components/Textarea/Textarea.js.map +1 -1
- package/dist/esm/utils/accessibility.js +13 -0
- package/dist/esm/utils/accessibility.js.map +1 -1
- package/dist/styles/components/ChatMessage.css +13 -17
- package/dist/styles/index.css +1157 -1161
- package/dist/styles/muka-dark.css +1157 -1161
- package/dist/styles/muka-light.css +1157 -1161
- package/dist/styles/wireframe-dark.css +1157 -1161
- package/dist/styles/wireframe-light.css +1157 -1161
- package/dist/types/components/ChatMessage/ChatMessage.d.ts +7 -10
- package/dist/types/components/ChatMessage/ChatMessage.d.ts.map +1 -1
- package/dist/types/components/Input/Input.d.ts +4 -2
- package/dist/types/components/Input/Input.d.ts.map +1 -1
- package/dist/types/components/LicensePlateInput/LicensePlateInput.d.ts +2 -2
- package/dist/types/components/LicensePlateInput/LicensePlateInput.d.ts.map +1 -1
- package/dist/types/components/NumberInput/NumberInput.d.ts +2 -2
- package/dist/types/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/types/components/SearchInput/SearchInput.d.ts +2 -2
- package/dist/types/components/SearchInput/SearchInput.d.ts.map +1 -1
- package/dist/types/components/Textarea/Textarea.d.ts +2 -2
- package/dist/types/components/Textarea/Textarea.d.ts.map +1 -1
- package/dist/types/utils/accessibility.d.ts +10 -0
- package/dist/types/utils/accessibility.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -2919,6 +2919,196 @@ body {
|
|
|
2919
2919
|
}
|
|
2920
2920
|
|
|
2921
2921
|
|
|
2922
|
+
/* Toast */
|
|
2923
|
+
/* Toast Component Styles - Using Muka Design Tokens */
|
|
2924
|
+
|
|
2925
|
+
.muka-toast {
|
|
2926
|
+
display: flex;
|
|
2927
|
+
align-items: flex-start;
|
|
2928
|
+
gap: var(--toast-gap);
|
|
2929
|
+
padding: var(--toast-padding-y) var(--toast-padding-x);
|
|
2930
|
+
border-radius: var(--toast-radius);
|
|
2931
|
+
box-shadow: var(--toast-shadow);
|
|
2932
|
+
min-width: var(--toast-width-min);
|
|
2933
|
+
max-width: var(--toast-width-max);
|
|
2934
|
+
pointer-events: auto;
|
|
2935
|
+
animation: muka-toast-slide-in 0.2s ease-out;
|
|
2936
|
+
}
|
|
2937
|
+
|
|
2938
|
+
/* Entry animation */
|
|
2939
|
+
@keyframes muka-toast-slide-in {
|
|
2940
|
+
from {
|
|
2941
|
+
opacity: 0;
|
|
2942
|
+
transform: translateY(8px);
|
|
2943
|
+
}
|
|
2944
|
+
to {
|
|
2945
|
+
opacity: 1;
|
|
2946
|
+
transform: translateY(0);
|
|
2947
|
+
}
|
|
2948
|
+
}
|
|
2949
|
+
|
|
2950
|
+
/* Position variants (for standalone use - typically managed by ToastProvider) */
|
|
2951
|
+
.muka-toast--top-right,
|
|
2952
|
+
.muka-toast--top-left,
|
|
2953
|
+
.muka-toast--top-center,
|
|
2954
|
+
.muka-toast--bottom-right,
|
|
2955
|
+
.muka-toast--bottom-left,
|
|
2956
|
+
.muka-toast--bottom-center {
|
|
2957
|
+
position: fixed;
|
|
2958
|
+
z-index: 9999;
|
|
2959
|
+
}
|
|
2960
|
+
|
|
2961
|
+
.muka-toast--top-right {
|
|
2962
|
+
top: var(--spacing-4);
|
|
2963
|
+
right: var(--spacing-4);
|
|
2964
|
+
}
|
|
2965
|
+
|
|
2966
|
+
.muka-toast--top-left {
|
|
2967
|
+
top: var(--spacing-4);
|
|
2968
|
+
left: var(--spacing-4);
|
|
2969
|
+
}
|
|
2970
|
+
|
|
2971
|
+
.muka-toast--top-center {
|
|
2972
|
+
top: var(--spacing-4);
|
|
2973
|
+
left: 50%;
|
|
2974
|
+
transform: translateX(-50%);
|
|
2975
|
+
}
|
|
2976
|
+
|
|
2977
|
+
.muka-toast--bottom-right {
|
|
2978
|
+
bottom: var(--spacing-4);
|
|
2979
|
+
right: var(--spacing-4);
|
|
2980
|
+
}
|
|
2981
|
+
|
|
2982
|
+
.muka-toast--bottom-left {
|
|
2983
|
+
bottom: var(--spacing-4);
|
|
2984
|
+
left: var(--spacing-4);
|
|
2985
|
+
}
|
|
2986
|
+
|
|
2987
|
+
.muka-toast--bottom-center {
|
|
2988
|
+
bottom: var(--spacing-4);
|
|
2989
|
+
left: 50%;
|
|
2990
|
+
transform: translateX(-50%);
|
|
2991
|
+
}
|
|
2992
|
+
|
|
2993
|
+
/* Variant: Info */
|
|
2994
|
+
.muka-toast--info {
|
|
2995
|
+
background-color: var(--toast-color-info-background);
|
|
2996
|
+
color: var(--toast-color-info-foreground);
|
|
2997
|
+
}
|
|
2998
|
+
|
|
2999
|
+
.muka-toast--info .muka-toast__icon {
|
|
3000
|
+
color: var(--toast-color-info-accent);
|
|
3001
|
+
}
|
|
3002
|
+
|
|
3003
|
+
/* Variant: Success */
|
|
3004
|
+
.muka-toast--success {
|
|
3005
|
+
background-color: var(--toast-color-success-background);
|
|
3006
|
+
color: var(--toast-color-success-foreground);
|
|
3007
|
+
}
|
|
3008
|
+
|
|
3009
|
+
.muka-toast--success .muka-toast__icon {
|
|
3010
|
+
color: var(--toast-color-success-accent);
|
|
3011
|
+
}
|
|
3012
|
+
|
|
3013
|
+
/* Variant: Warning */
|
|
3014
|
+
.muka-toast--warning {
|
|
3015
|
+
background-color: var(--toast-color-warning-background);
|
|
3016
|
+
color: var(--toast-color-warning-foreground);
|
|
3017
|
+
}
|
|
3018
|
+
|
|
3019
|
+
.muka-toast--warning .muka-toast__icon {
|
|
3020
|
+
color: var(--toast-color-warning-accent);
|
|
3021
|
+
}
|
|
3022
|
+
|
|
3023
|
+
/* Variant: Error */
|
|
3024
|
+
.muka-toast--error {
|
|
3025
|
+
background-color: var(--toast-color-error-background);
|
|
3026
|
+
color: var(--toast-color-error-foreground);
|
|
3027
|
+
}
|
|
3028
|
+
|
|
3029
|
+
.muka-toast--error .muka-toast__icon {
|
|
3030
|
+
color: var(--toast-color-error-accent);
|
|
3031
|
+
}
|
|
3032
|
+
|
|
3033
|
+
/* Icon */
|
|
3034
|
+
.muka-toast__icon {
|
|
3035
|
+
display: flex;
|
|
3036
|
+
align-items: center;
|
|
3037
|
+
justify-content: center;
|
|
3038
|
+
flex-shrink: 0;
|
|
3039
|
+
width: var(--toast-icon-size);
|
|
3040
|
+
height: var(--toast-icon-size);
|
|
3041
|
+
}
|
|
3042
|
+
|
|
3043
|
+
.muka-toast__icon svg {
|
|
3044
|
+
width: 100%;
|
|
3045
|
+
height: 100%;
|
|
3046
|
+
}
|
|
3047
|
+
|
|
3048
|
+
/* Content */
|
|
3049
|
+
.muka-toast__content {
|
|
3050
|
+
flex: 1;
|
|
3051
|
+
min-width: 0;
|
|
3052
|
+
}
|
|
3053
|
+
|
|
3054
|
+
.muka-toast__title {
|
|
3055
|
+
font-family: var(--text-label-md-semibold-fontFamily);
|
|
3056
|
+
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
3057
|
+
font-size: var(--text-label-md-semibold-fontSize);
|
|
3058
|
+
line-height: var(--text-label-md-semibold-lineHeight);
|
|
3059
|
+
margin-bottom: var(--spacing-1);
|
|
3060
|
+
}
|
|
3061
|
+
|
|
3062
|
+
.muka-toast__message {
|
|
3063
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
3064
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
3065
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
3066
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
3067
|
+
}
|
|
3068
|
+
|
|
3069
|
+
/* Action slot */
|
|
3070
|
+
.muka-toast__action {
|
|
3071
|
+
display: flex;
|
|
3072
|
+
align-items: center;
|
|
3073
|
+
flex-shrink: 0;
|
|
3074
|
+
}
|
|
3075
|
+
|
|
3076
|
+
/* Dismiss button */
|
|
3077
|
+
.muka-toast__dismiss {
|
|
3078
|
+
display: flex;
|
|
3079
|
+
align-items: center;
|
|
3080
|
+
justify-content: center;
|
|
3081
|
+
flex-shrink: 0;
|
|
3082
|
+
width: 24px;
|
|
3083
|
+
height: 24px;
|
|
3084
|
+
padding: 0;
|
|
3085
|
+
margin: -2px -4px -2px 0;
|
|
3086
|
+
border: none;
|
|
3087
|
+
background: transparent;
|
|
3088
|
+
color: inherit;
|
|
3089
|
+
opacity: 0.7;
|
|
3090
|
+
cursor: pointer;
|
|
3091
|
+
border-radius: var(--border-radius-sm);
|
|
3092
|
+
transition: opacity 0.15s ease, background-color 0.15s ease;
|
|
3093
|
+
}
|
|
3094
|
+
|
|
3095
|
+
.muka-toast__dismiss:hover {
|
|
3096
|
+
opacity: 1;
|
|
3097
|
+
background-color: rgba(0, 0, 0, 0.05);
|
|
3098
|
+
}
|
|
3099
|
+
|
|
3100
|
+
.muka-toast__dismiss:focus-visible {
|
|
3101
|
+
outline: 2px solid var(--color-border-focus);
|
|
3102
|
+
outline-offset: 2px;
|
|
3103
|
+
opacity: 1;
|
|
3104
|
+
}
|
|
3105
|
+
|
|
3106
|
+
.muka-toast__dismiss svg {
|
|
3107
|
+
width: 16px;
|
|
3108
|
+
height: 16px;
|
|
3109
|
+
}
|
|
3110
|
+
|
|
3111
|
+
|
|
2922
3112
|
/* Tile */
|
|
2923
3113
|
/* Tile Component Styles - Using Muka Design Tokens */
|
|
2924
3114
|
|
|
@@ -3280,230 +3470,40 @@ body {
|
|
|
3280
3470
|
}
|
|
3281
3471
|
|
|
3282
3472
|
|
|
3283
|
-
/*
|
|
3284
|
-
/*
|
|
3473
|
+
/* Thumbnail */
|
|
3474
|
+
/* Thumbnail Component Styles - Using Muka Design Tokens */
|
|
3285
3475
|
|
|
3286
|
-
.muka-
|
|
3287
|
-
|
|
3288
|
-
|
|
3289
|
-
gap: var(--toast-gap);
|
|
3290
|
-
padding: var(--toast-padding-y) var(--toast-padding-x);
|
|
3291
|
-
border-radius: var(--toast-radius);
|
|
3292
|
-
box-shadow: var(--toast-shadow);
|
|
3293
|
-
min-width: var(--toast-width-min);
|
|
3294
|
-
max-width: var(--toast-width-max);
|
|
3295
|
-
pointer-events: auto;
|
|
3296
|
-
animation: muka-toast-slide-in 0.2s ease-out;
|
|
3476
|
+
.muka-thumbnail {
|
|
3477
|
+
position: relative;
|
|
3478
|
+
flex-shrink: 0;
|
|
3297
3479
|
}
|
|
3298
3480
|
|
|
3299
|
-
/*
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
|
|
3481
|
+
/* The frame carries the border, background and shape clip. Keeping it separate
|
|
3482
|
+
from the root lets the remove (×) button sit outside the clip (needed for the
|
|
3483
|
+
circular/ellipse shape, whose corners would otherwise clip the button). */
|
|
3484
|
+
.muka-thumbnail__frame {
|
|
3485
|
+
position: absolute;
|
|
3486
|
+
inset: 0;
|
|
3487
|
+
overflow: hidden;
|
|
3488
|
+
border: var(--border-width-regular, 1px) solid var(--color-black-alpha-3);
|
|
3489
|
+
border-radius: var(--border-radius-lg);
|
|
3490
|
+
background-color: var(--color-surface-level1);
|
|
3309
3491
|
}
|
|
3310
3492
|
|
|
3311
|
-
/*
|
|
3312
|
-
.muka-
|
|
3313
|
-
|
|
3314
|
-
|
|
3315
|
-
.muka-toast--bottom-right,
|
|
3316
|
-
.muka-toast--bottom-left,
|
|
3317
|
-
.muka-toast--bottom-center {
|
|
3318
|
-
position: fixed;
|
|
3319
|
-
z-index: 9999;
|
|
3493
|
+
/* ─── Shapes ──────────────────────────────────────────── */
|
|
3494
|
+
.muka-thumbnail--4-3 {
|
|
3495
|
+
width: 160px;
|
|
3496
|
+
height: 120px;
|
|
3320
3497
|
}
|
|
3321
3498
|
|
|
3322
|
-
.muka-
|
|
3323
|
-
|
|
3324
|
-
|
|
3499
|
+
.muka-thumbnail--1-1 {
|
|
3500
|
+
width: 120px;
|
|
3501
|
+
height: 120px;
|
|
3325
3502
|
}
|
|
3326
3503
|
|
|
3327
|
-
.muka-
|
|
3328
|
-
|
|
3329
|
-
|
|
3330
|
-
}
|
|
3331
|
-
|
|
3332
|
-
.muka-toast--top-center {
|
|
3333
|
-
top: var(--spacing-4);
|
|
3334
|
-
left: 50%;
|
|
3335
|
-
transform: translateX(-50%);
|
|
3336
|
-
}
|
|
3337
|
-
|
|
3338
|
-
.muka-toast--bottom-right {
|
|
3339
|
-
bottom: var(--spacing-4);
|
|
3340
|
-
right: var(--spacing-4);
|
|
3341
|
-
}
|
|
3342
|
-
|
|
3343
|
-
.muka-toast--bottom-left {
|
|
3344
|
-
bottom: var(--spacing-4);
|
|
3345
|
-
left: var(--spacing-4);
|
|
3346
|
-
}
|
|
3347
|
-
|
|
3348
|
-
.muka-toast--bottom-center {
|
|
3349
|
-
bottom: var(--spacing-4);
|
|
3350
|
-
left: 50%;
|
|
3351
|
-
transform: translateX(-50%);
|
|
3352
|
-
}
|
|
3353
|
-
|
|
3354
|
-
/* Variant: Info */
|
|
3355
|
-
.muka-toast--info {
|
|
3356
|
-
background-color: var(--toast-color-info-background);
|
|
3357
|
-
color: var(--toast-color-info-foreground);
|
|
3358
|
-
}
|
|
3359
|
-
|
|
3360
|
-
.muka-toast--info .muka-toast__icon {
|
|
3361
|
-
color: var(--toast-color-info-accent);
|
|
3362
|
-
}
|
|
3363
|
-
|
|
3364
|
-
/* Variant: Success */
|
|
3365
|
-
.muka-toast--success {
|
|
3366
|
-
background-color: var(--toast-color-success-background);
|
|
3367
|
-
color: var(--toast-color-success-foreground);
|
|
3368
|
-
}
|
|
3369
|
-
|
|
3370
|
-
.muka-toast--success .muka-toast__icon {
|
|
3371
|
-
color: var(--toast-color-success-accent);
|
|
3372
|
-
}
|
|
3373
|
-
|
|
3374
|
-
/* Variant: Warning */
|
|
3375
|
-
.muka-toast--warning {
|
|
3376
|
-
background-color: var(--toast-color-warning-background);
|
|
3377
|
-
color: var(--toast-color-warning-foreground);
|
|
3378
|
-
}
|
|
3379
|
-
|
|
3380
|
-
.muka-toast--warning .muka-toast__icon {
|
|
3381
|
-
color: var(--toast-color-warning-accent);
|
|
3382
|
-
}
|
|
3383
|
-
|
|
3384
|
-
/* Variant: Error */
|
|
3385
|
-
.muka-toast--error {
|
|
3386
|
-
background-color: var(--toast-color-error-background);
|
|
3387
|
-
color: var(--toast-color-error-foreground);
|
|
3388
|
-
}
|
|
3389
|
-
|
|
3390
|
-
.muka-toast--error .muka-toast__icon {
|
|
3391
|
-
color: var(--toast-color-error-accent);
|
|
3392
|
-
}
|
|
3393
|
-
|
|
3394
|
-
/* Icon */
|
|
3395
|
-
.muka-toast__icon {
|
|
3396
|
-
display: flex;
|
|
3397
|
-
align-items: center;
|
|
3398
|
-
justify-content: center;
|
|
3399
|
-
flex-shrink: 0;
|
|
3400
|
-
width: var(--toast-icon-size);
|
|
3401
|
-
height: var(--toast-icon-size);
|
|
3402
|
-
}
|
|
3403
|
-
|
|
3404
|
-
.muka-toast__icon svg {
|
|
3405
|
-
width: 100%;
|
|
3406
|
-
height: 100%;
|
|
3407
|
-
}
|
|
3408
|
-
|
|
3409
|
-
/* Content */
|
|
3410
|
-
.muka-toast__content {
|
|
3411
|
-
flex: 1;
|
|
3412
|
-
min-width: 0;
|
|
3413
|
-
}
|
|
3414
|
-
|
|
3415
|
-
.muka-toast__title {
|
|
3416
|
-
font-family: var(--text-label-md-semibold-fontFamily);
|
|
3417
|
-
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
3418
|
-
font-size: var(--text-label-md-semibold-fontSize);
|
|
3419
|
-
line-height: var(--text-label-md-semibold-lineHeight);
|
|
3420
|
-
margin-bottom: var(--spacing-1);
|
|
3421
|
-
}
|
|
3422
|
-
|
|
3423
|
-
.muka-toast__message {
|
|
3424
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
3425
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
3426
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
3427
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
3428
|
-
}
|
|
3429
|
-
|
|
3430
|
-
/* Action slot */
|
|
3431
|
-
.muka-toast__action {
|
|
3432
|
-
display: flex;
|
|
3433
|
-
align-items: center;
|
|
3434
|
-
flex-shrink: 0;
|
|
3435
|
-
}
|
|
3436
|
-
|
|
3437
|
-
/* Dismiss button */
|
|
3438
|
-
.muka-toast__dismiss {
|
|
3439
|
-
display: flex;
|
|
3440
|
-
align-items: center;
|
|
3441
|
-
justify-content: center;
|
|
3442
|
-
flex-shrink: 0;
|
|
3443
|
-
width: 24px;
|
|
3444
|
-
height: 24px;
|
|
3445
|
-
padding: 0;
|
|
3446
|
-
margin: -2px -4px -2px 0;
|
|
3447
|
-
border: none;
|
|
3448
|
-
background: transparent;
|
|
3449
|
-
color: inherit;
|
|
3450
|
-
opacity: 0.7;
|
|
3451
|
-
cursor: pointer;
|
|
3452
|
-
border-radius: var(--border-radius-sm);
|
|
3453
|
-
transition: opacity 0.15s ease, background-color 0.15s ease;
|
|
3454
|
-
}
|
|
3455
|
-
|
|
3456
|
-
.muka-toast__dismiss:hover {
|
|
3457
|
-
opacity: 1;
|
|
3458
|
-
background-color: rgba(0, 0, 0, 0.05);
|
|
3459
|
-
}
|
|
3460
|
-
|
|
3461
|
-
.muka-toast__dismiss:focus-visible {
|
|
3462
|
-
outline: 2px solid var(--color-border-focus);
|
|
3463
|
-
outline-offset: 2px;
|
|
3464
|
-
opacity: 1;
|
|
3465
|
-
}
|
|
3466
|
-
|
|
3467
|
-
.muka-toast__dismiss svg {
|
|
3468
|
-
width: 16px;
|
|
3469
|
-
height: 16px;
|
|
3470
|
-
}
|
|
3471
|
-
|
|
3472
|
-
|
|
3473
|
-
/* Thumbnail */
|
|
3474
|
-
/* Thumbnail Component Styles - Using Muka Design Tokens */
|
|
3475
|
-
|
|
3476
|
-
.muka-thumbnail {
|
|
3477
|
-
position: relative;
|
|
3478
|
-
flex-shrink: 0;
|
|
3479
|
-
}
|
|
3480
|
-
|
|
3481
|
-
/* The frame carries the border, background and shape clip. Keeping it separate
|
|
3482
|
-
from the root lets the remove (×) button sit outside the clip (needed for the
|
|
3483
|
-
circular/ellipse shape, whose corners would otherwise clip the button). */
|
|
3484
|
-
.muka-thumbnail__frame {
|
|
3485
|
-
position: absolute;
|
|
3486
|
-
inset: 0;
|
|
3487
|
-
overflow: hidden;
|
|
3488
|
-
border: var(--border-width-regular, 1px) solid var(--color-black-alpha-3);
|
|
3489
|
-
border-radius: var(--border-radius-lg);
|
|
3490
|
-
background-color: var(--color-surface-level1);
|
|
3491
|
-
}
|
|
3492
|
-
|
|
3493
|
-
/* ─── Shapes ──────────────────────────────────────────── */
|
|
3494
|
-
.muka-thumbnail--4-3 {
|
|
3495
|
-
width: 160px;
|
|
3496
|
-
height: 120px;
|
|
3497
|
-
}
|
|
3498
|
-
|
|
3499
|
-
.muka-thumbnail--1-1 {
|
|
3500
|
-
width: 120px;
|
|
3501
|
-
height: 120px;
|
|
3502
|
-
}
|
|
3503
|
-
|
|
3504
|
-
.muka-thumbnail--ellipse {
|
|
3505
|
-
width: 120px;
|
|
3506
|
-
height: 120px;
|
|
3504
|
+
.muka-thumbnail--ellipse {
|
|
3505
|
+
width: 120px;
|
|
3506
|
+
height: 120px;
|
|
3507
3507
|
}
|
|
3508
3508
|
|
|
3509
3509
|
.muka-thumbnail--ellipse .muka-thumbnail__frame {
|
|
@@ -7071,6 +7071,36 @@ body {
|
|
|
7071
7071
|
}
|
|
7072
7072
|
|
|
7073
7073
|
|
|
7074
|
+
/* NumberInput */
|
|
7075
|
+
/* NumberInput — reuses Input field styles (../Input/Input.css). */
|
|
7076
|
+
/* Only the prefix/suffix affixes are NumberInput-specific. */
|
|
7077
|
+
|
|
7078
|
+
.muka-numberinput__addon {
|
|
7079
|
+
display: inline-flex;
|
|
7080
|
+
align-items: center;
|
|
7081
|
+
flex: none;
|
|
7082
|
+
color: var(--color-text-subtle-default);
|
|
7083
|
+
font-family: var(--text-input-md-fontFamily);
|
|
7084
|
+
font-size: var(--text-input-md-fontSize);
|
|
7085
|
+
line-height: var(--text-input-md-lineHeight);
|
|
7086
|
+
user-select: none;
|
|
7087
|
+
pointer-events: none;
|
|
7088
|
+
white-space: nowrap;
|
|
7089
|
+
}
|
|
7090
|
+
|
|
7091
|
+
/* Hide the native number spinners — affixes/step API replace them. */
|
|
7092
|
+
.muka-numberinput__field .muka-input__native::-webkit-outer-spin-button,
|
|
7093
|
+
.muka-numberinput__field .muka-input__native::-webkit-inner-spin-button {
|
|
7094
|
+
-webkit-appearance: none;
|
|
7095
|
+
margin: 0;
|
|
7096
|
+
}
|
|
7097
|
+
|
|
7098
|
+
.muka-numberinput__field .muka-input__native {
|
|
7099
|
+
-moz-appearance: textfield;
|
|
7100
|
+
appearance: textfield;
|
|
7101
|
+
}
|
|
7102
|
+
|
|
7103
|
+
|
|
7074
7104
|
/* Pagination */
|
|
7075
7105
|
/* Pagination Component Styles */
|
|
7076
7106
|
|
|
@@ -7173,36 +7203,6 @@ body {
|
|
|
7173
7203
|
}
|
|
7174
7204
|
|
|
7175
7205
|
|
|
7176
|
-
/* NumberInput */
|
|
7177
|
-
/* NumberInput — reuses Input field styles (../Input/Input.css). */
|
|
7178
|
-
/* Only the prefix/suffix affixes are NumberInput-specific. */
|
|
7179
|
-
|
|
7180
|
-
.muka-numberinput__addon {
|
|
7181
|
-
display: inline-flex;
|
|
7182
|
-
align-items: center;
|
|
7183
|
-
flex: none;
|
|
7184
|
-
color: var(--color-text-subtle-default);
|
|
7185
|
-
font-family: var(--text-input-md-fontFamily);
|
|
7186
|
-
font-size: var(--text-input-md-fontSize);
|
|
7187
|
-
line-height: var(--text-input-md-lineHeight);
|
|
7188
|
-
user-select: none;
|
|
7189
|
-
pointer-events: none;
|
|
7190
|
-
white-space: nowrap;
|
|
7191
|
-
}
|
|
7192
|
-
|
|
7193
|
-
/* Hide the native number spinners — affixes/step API replace them. */
|
|
7194
|
-
.muka-numberinput__field .muka-input__native::-webkit-outer-spin-button,
|
|
7195
|
-
.muka-numberinput__field .muka-input__native::-webkit-inner-spin-button {
|
|
7196
|
-
-webkit-appearance: none;
|
|
7197
|
-
margin: 0;
|
|
7198
|
-
}
|
|
7199
|
-
|
|
7200
|
-
.muka-numberinput__field .muka-input__native {
|
|
7201
|
-
-moz-appearance: textfield;
|
|
7202
|
-
appearance: textfield;
|
|
7203
|
-
}
|
|
7204
|
-
|
|
7205
|
-
|
|
7206
7206
|
/* NavigationTransition */
|
|
7207
7207
|
/* NavigationTransition Component Styles */
|
|
7208
7208
|
|
|
@@ -8158,6 +8158,26 @@ li.muka-listitem {
|
|
|
8158
8158
|
}
|
|
8159
8159
|
|
|
8160
8160
|
|
|
8161
|
+
/* Form */
|
|
8162
|
+
.muka-form {
|
|
8163
|
+
display: flex;
|
|
8164
|
+
flex-direction: column;
|
|
8165
|
+
width: 100%;
|
|
8166
|
+
}
|
|
8167
|
+
|
|
8168
|
+
.muka-form--gap-sm {
|
|
8169
|
+
gap: var(--size-sm);
|
|
8170
|
+
}
|
|
8171
|
+
|
|
8172
|
+
.muka-form--gap-md {
|
|
8173
|
+
gap: var(--size-md);
|
|
8174
|
+
}
|
|
8175
|
+
|
|
8176
|
+
.muka-form--gap-lg {
|
|
8177
|
+
gap: var(--size-lg);
|
|
8178
|
+
}
|
|
8179
|
+
|
|
8180
|
+
|
|
8161
8181
|
/* Icon */
|
|
8162
8182
|
/* Icon Component Styles - Using Muka Design Tokens */
|
|
8163
8183
|
|
|
@@ -8212,26 +8232,6 @@ li.muka-listitem {
|
|
|
8212
8232
|
}
|
|
8213
8233
|
|
|
8214
8234
|
|
|
8215
|
-
/* Form */
|
|
8216
|
-
.muka-form {
|
|
8217
|
-
display: flex;
|
|
8218
|
-
flex-direction: column;
|
|
8219
|
-
width: 100%;
|
|
8220
|
-
}
|
|
8221
|
-
|
|
8222
|
-
.muka-form--gap-sm {
|
|
8223
|
-
gap: var(--size-sm);
|
|
8224
|
-
}
|
|
8225
|
-
|
|
8226
|
-
.muka-form--gap-md {
|
|
8227
|
-
gap: var(--size-md);
|
|
8228
|
-
}
|
|
8229
|
-
|
|
8230
|
-
.muka-form--gap-lg {
|
|
8231
|
-
gap: var(--size-lg);
|
|
8232
|
-
}
|
|
8233
|
-
|
|
8234
|
-
|
|
8235
8235
|
/* FileUpload */
|
|
8236
8236
|
/* FileUpload Component Styles */
|
|
8237
8237
|
|
|
@@ -11098,11 +11098,6 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
11098
11098
|
grid-template-areas: 'rail bubble';
|
|
11099
11099
|
}
|
|
11100
11100
|
|
|
11101
|
-
.muka-chat-message--own.muka-chat-message--has-avatar .muka-chat-message__row {
|
|
11102
|
-
grid-template-columns: minmax(0, 1fr) auto;
|
|
11103
|
-
grid-template-areas: 'bubble rail';
|
|
11104
|
-
}
|
|
11105
|
-
|
|
11106
11101
|
.muka-chat-message__rail {
|
|
11107
11102
|
grid-area: rail;
|
|
11108
11103
|
/* Sits on the bubble's baseline (Figma 5355:44091) */
|
|
@@ -11137,6 +11132,12 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
11137
11132
|
|
|
11138
11133
|
.muka-chat-message__bubble {
|
|
11139
11134
|
grid-area: bubble;
|
|
11135
|
+
/*
|
|
11136
|
+
* Width follows the content: a single line hugs, and once the text wraps the
|
|
11137
|
+
* bubble fills to the shared max width. Robust to string or rich children —
|
|
11138
|
+
* no length measuring needed (Figma `Text length` on 5355:44091).
|
|
11139
|
+
*/
|
|
11140
|
+
width: fit-content;
|
|
11140
11141
|
max-width: var(--chatbubble-max-width);
|
|
11141
11142
|
position: relative;
|
|
11142
11143
|
display: flex;
|
|
@@ -11149,18 +11150,11 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
11149
11150
|
word-break: break-word;
|
|
11150
11151
|
}
|
|
11151
11152
|
|
|
11152
|
-
/*
|
|
11153
|
-
|
|
11154
|
-
* content, long ones fill the row up to the shared max width.
|
|
11155
|
-
*/
|
|
11156
|
-
.muka-chat-message--long .muka-chat-message__bubble {
|
|
11153
|
+
/* Media, an embed or an action stack always run the full bubble width. */
|
|
11154
|
+
.muka-chat-message--has-blocks .muka-chat-message__bubble {
|
|
11157
11155
|
width: 100%;
|
|
11158
11156
|
}
|
|
11159
11157
|
|
|
11160
|
-
.muka-chat-message--short .muka-chat-message__bubble {
|
|
11161
|
-
width: fit-content;
|
|
11162
|
-
}
|
|
11163
|
-
|
|
11164
11158
|
.muka-chat-message--own .muka-chat-message__bubble {
|
|
11165
11159
|
justify-self: end;
|
|
11166
11160
|
}
|
|
@@ -11338,10 +11332,12 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
11338
11332
|
}
|
|
11339
11333
|
|
|
11340
11334
|
/*
|
|
11341
|
-
*
|
|
11342
|
-
*
|
|
11335
|
+
* When the last block in the body is media, an embed or an action stack (not
|
|
11336
|
+
* trailing text), it runs the full width, so reserve a line below for the inset
|
|
11337
|
+
* timestamp. A message that ends in text clears the corner inline instead (see
|
|
11338
|
+
* `__message` padding-right above), so it needs no extra bottom space.
|
|
11343
11339
|
*/
|
|
11344
|
-
.muka-chat-message--has-timestamp.muka-chat-message--
|
|
11340
|
+
.muka-chat-message--has-timestamp.muka-chat-message--trailing-block .muka-chat-message__body {
|
|
11345
11341
|
padding-bottom: var(--text-body-xs-regular-lineHeight);
|
|
11346
11342
|
}
|
|
11347
11343
|
|
|
@@ -11404,6 +11400,134 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
11404
11400
|
}
|
|
11405
11401
|
|
|
11406
11402
|
|
|
11403
|
+
/* ChatComposer */
|
|
11404
|
+
/* ChatComposer Component Styles */
|
|
11405
|
+
|
|
11406
|
+
/*
|
|
11407
|
+
* The composer is a bare, fill-width row: no padding, background, border or
|
|
11408
|
+
* max-width of its own (Figma 5243:14141). Whatever hosts it owns the
|
|
11409
|
+
* container — see BottomBar's `chat` variant.
|
|
11410
|
+
*/
|
|
11411
|
+
.muka-chat-composer {
|
|
11412
|
+
display: flex;
|
|
11413
|
+
flex-direction: column;
|
|
11414
|
+
gap: var(--spacing-3);
|
|
11415
|
+
width: 100%;
|
|
11416
|
+
}
|
|
11417
|
+
|
|
11418
|
+
.muka-chat-composer--disabled {
|
|
11419
|
+
opacity: 0.6;
|
|
11420
|
+
pointer-events: none;
|
|
11421
|
+
}
|
|
11422
|
+
|
|
11423
|
+
/* ─── Input row ────────────────────────────────────────── */
|
|
11424
|
+
|
|
11425
|
+
.muka-chat-composer__row {
|
|
11426
|
+
display: flex;
|
|
11427
|
+
width: 100%;
|
|
11428
|
+
align-items: flex-end;
|
|
11429
|
+
gap: var(--spacing-3);
|
|
11430
|
+
}
|
|
11431
|
+
|
|
11432
|
+
/* ─── Text field ───────────────────────────────────────── */
|
|
11433
|
+
|
|
11434
|
+
.muka-chat-composer__field {
|
|
11435
|
+
display: flex;
|
|
11436
|
+
flex: 1 1 auto;
|
|
11437
|
+
min-width: 0;
|
|
11438
|
+
box-sizing: border-box;
|
|
11439
|
+
align-items: center;
|
|
11440
|
+
gap: var(--spacing-1);
|
|
11441
|
+
min-height: var(--input-field-height-lg, 48px);
|
|
11442
|
+
padding: 0 var(--spacing-2);
|
|
11443
|
+
border: var(--border-width-regular) solid var(--input-field-color-default-border);
|
|
11444
|
+
border-radius: var(--input-field-radius-lg);
|
|
11445
|
+
background-color: var(--input-field-color-default-background);
|
|
11446
|
+
transition: border-color 0.12s ease;
|
|
11447
|
+
}
|
|
11448
|
+
|
|
11449
|
+
.muka-chat-composer__field:focus-within {
|
|
11450
|
+
border-color: var(--input-field-color-focus-border, var(--color-action-default));
|
|
11451
|
+
}
|
|
11452
|
+
|
|
11453
|
+
.muka-chat-composer__input {
|
|
11454
|
+
flex: 1 1 auto;
|
|
11455
|
+
min-width: 0;
|
|
11456
|
+
width: 100%;
|
|
11457
|
+
box-sizing: border-box;
|
|
11458
|
+
resize: none;
|
|
11459
|
+
border: none;
|
|
11460
|
+
background: transparent;
|
|
11461
|
+
outline: none;
|
|
11462
|
+
padding: 0 var(--spacing-1);
|
|
11463
|
+
color: var(--color-text-default-default);
|
|
11464
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
11465
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
11466
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
11467
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
11468
|
+
appearance: none;
|
|
11469
|
+
-webkit-appearance: none;
|
|
11470
|
+
}
|
|
11471
|
+
|
|
11472
|
+
.muka-chat-composer__input::placeholder {
|
|
11473
|
+
color: var(--color-text-subtle-default);
|
|
11474
|
+
}
|
|
11475
|
+
|
|
11476
|
+
/* Keep the in-field emoji button flush to the bottom-right as the field grows */
|
|
11477
|
+
.muka-chat-composer__emoji {
|
|
11478
|
+
flex-shrink: 0;
|
|
11479
|
+
}
|
|
11480
|
+
|
|
11481
|
+
/* ─── Recording bar ────────────────────────────────────── */
|
|
11482
|
+
|
|
11483
|
+
.muka-chat-composer__recording {
|
|
11484
|
+
display: flex;
|
|
11485
|
+
flex: 1 1 auto;
|
|
11486
|
+
min-width: 0;
|
|
11487
|
+
box-sizing: border-box;
|
|
11488
|
+
align-items: center;
|
|
11489
|
+
min-height: var(--input-field-height-lg, 48px);
|
|
11490
|
+
padding: var(--card-padding-sm);
|
|
11491
|
+
border: var(--border-width-regular) solid var(--card-color-default-border);
|
|
11492
|
+
border-radius: var(--radius-lg);
|
|
11493
|
+
background-color: var(--card-color-default-background);
|
|
11494
|
+
}
|
|
11495
|
+
|
|
11496
|
+
/* ─── Staged attachments strip ─────────────────────────── */
|
|
11497
|
+
|
|
11498
|
+
.muka-chat-composer__attachments-strip {
|
|
11499
|
+
position: relative;
|
|
11500
|
+
width: 100%;
|
|
11501
|
+
}
|
|
11502
|
+
|
|
11503
|
+
.muka-chat-composer__attachments {
|
|
11504
|
+
display: flex;
|
|
11505
|
+
gap: var(--spacing-3);
|
|
11506
|
+
overflow-x: auto;
|
|
11507
|
+
scroll-behavior: smooth;
|
|
11508
|
+
scrollbar-width: none;
|
|
11509
|
+
}
|
|
11510
|
+
|
|
11511
|
+
.muka-chat-composer__attachments::-webkit-scrollbar {
|
|
11512
|
+
display: none;
|
|
11513
|
+
}
|
|
11514
|
+
|
|
11515
|
+
.muka-chat-composer__overflow {
|
|
11516
|
+
position: absolute;
|
|
11517
|
+
top: 50%;
|
|
11518
|
+
right: var(--spacing-2);
|
|
11519
|
+
transform: translateY(-50%);
|
|
11520
|
+
}
|
|
11521
|
+
|
|
11522
|
+
/* ─── Print ────────────────────────────────────────────── */
|
|
11523
|
+
|
|
11524
|
+
@media print {
|
|
11525
|
+
.muka-chat-composer {
|
|
11526
|
+
display: none;
|
|
11527
|
+
}
|
|
11528
|
+
}
|
|
11529
|
+
|
|
11530
|
+
|
|
11407
11531
|
/* ChatAttachmentChip */
|
|
11408
11532
|
/* ChatAttachmentChip Component Styles */
|
|
11409
11533
|
|
|
@@ -11671,232 +11795,419 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
11671
11795
|
}
|
|
11672
11796
|
|
|
11673
11797
|
|
|
11674
|
-
/*
|
|
11675
|
-
/*
|
|
11798
|
+
/* Button */
|
|
11799
|
+
/* Button Component Styles - Using Muka Design Tokens */
|
|
11676
11800
|
|
|
11677
|
-
/*
|
|
11678
|
-
|
|
11679
|
-
|
|
11680
|
-
|
|
11681
|
-
|
|
11682
|
-
|
|
11683
|
-
|
|
11684
|
-
|
|
11685
|
-
|
|
11686
|
-
|
|
11801
|
+
/* Base button styles */
|
|
11802
|
+
.muka-button {
|
|
11803
|
+
/* Layout */
|
|
11804
|
+
display: inline-flex;
|
|
11805
|
+
align-items: center;
|
|
11806
|
+
justify-content: center;
|
|
11807
|
+
|
|
11808
|
+
/* Typography - using semantic tokens */
|
|
11809
|
+
font-family: var(--alias-font-brand-family);
|
|
11810
|
+
font-weight: var(--alias-font-brand-weight-semibold);
|
|
11811
|
+
text-decoration: none;
|
|
11812
|
+
|
|
11813
|
+
/* Interaction */
|
|
11814
|
+
border: none;
|
|
11815
|
+
cursor: pointer;
|
|
11816
|
+
user-select: none;
|
|
11817
|
+
transition: all 0.2s ease;
|
|
11818
|
+
|
|
11819
|
+
/* Accessibility */
|
|
11820
|
+
outline: none;
|
|
11821
|
+
position: relative;
|
|
11687
11822
|
}
|
|
11688
11823
|
|
|
11689
|
-
|
|
11690
|
-
|
|
11691
|
-
|
|
11824
|
+
/* Focus styles for accessibility */
|
|
11825
|
+
.muka-button:focus-visible {
|
|
11826
|
+
outline: 2px solid var(--color-border-focus);
|
|
11827
|
+
outline-offset: 2px;
|
|
11692
11828
|
}
|
|
11693
11829
|
|
|
11694
|
-
/*
|
|
11830
|
+
/* Size variants
|
|
11831
|
+
Height is driven by min-height; vertical padding is 0 and the label carries
|
|
11832
|
+
tight (Figma) line-height. Horizontal spacing matches Figma's nested model:
|
|
11833
|
+
the button's padding is the outer container inset, and the label's own
|
|
11834
|
+
padding is the icon-to-text gap (so text-only buttons keep both insets). */
|
|
11835
|
+
.muka-button--sm {
|
|
11836
|
+
padding: 0 var(--button-padding-sm-x);
|
|
11837
|
+
border-radius: var(--button-radius-sm);
|
|
11838
|
+
font-size: var(--text-label-sm-semibold-fontSize);
|
|
11839
|
+
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
11840
|
+
min-height: 32px;
|
|
11841
|
+
}
|
|
11695
11842
|
|
|
11696
|
-
.muka-
|
|
11697
|
-
|
|
11698
|
-
width: 100%;
|
|
11699
|
-
align-items: flex-end;
|
|
11700
|
-
gap: var(--spacing-3);
|
|
11843
|
+
.muka-button--sm .muka-button__label {
|
|
11844
|
+
padding: 0 var(--button-gap-sm);
|
|
11701
11845
|
}
|
|
11702
11846
|
|
|
11703
|
-
|
|
11847
|
+
.muka-button--md {
|
|
11848
|
+
padding: 0 var(--button-padding-md-x);
|
|
11849
|
+
border-radius: var(--button-radius-md);
|
|
11850
|
+
font-size: var(--text-label-sm-semibold-fontSize);
|
|
11851
|
+
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
11852
|
+
min-height: 40px;
|
|
11853
|
+
}
|
|
11704
11854
|
|
|
11705
|
-
.muka-
|
|
11706
|
-
|
|
11707
|
-
flex: 1 1 auto;
|
|
11708
|
-
min-width: 0;
|
|
11709
|
-
box-sizing: border-box;
|
|
11710
|
-
align-items: center;
|
|
11711
|
-
gap: var(--spacing-1);
|
|
11712
|
-
min-height: var(--input-field-height-lg, 48px);
|
|
11713
|
-
padding: 0 var(--spacing-2);
|
|
11714
|
-
border: var(--border-width-regular) solid var(--input-field-color-default-border);
|
|
11715
|
-
border-radius: var(--input-field-radius-lg);
|
|
11716
|
-
background-color: var(--input-field-color-default-background);
|
|
11717
|
-
transition: border-color 0.12s ease;
|
|
11855
|
+
.muka-button--md .muka-button__label {
|
|
11856
|
+
padding: 0 var(--button-gap-md);
|
|
11718
11857
|
}
|
|
11719
11858
|
|
|
11720
|
-
.muka-
|
|
11721
|
-
|
|
11859
|
+
.muka-button--lg {
|
|
11860
|
+
padding: 0 var(--button-padding-lg-x);
|
|
11861
|
+
border-radius: var(--button-radius-lg);
|
|
11862
|
+
font-size: var(--text-label-lg-semibold-fontSize);
|
|
11863
|
+
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
11864
|
+
min-height: 48px;
|
|
11722
11865
|
}
|
|
11723
11866
|
|
|
11724
|
-
.muka-
|
|
11725
|
-
|
|
11726
|
-
min-width: 0;
|
|
11727
|
-
width: 100%;
|
|
11728
|
-
box-sizing: border-box;
|
|
11729
|
-
resize: none;
|
|
11730
|
-
border: none;
|
|
11731
|
-
background: transparent;
|
|
11732
|
-
outline: none;
|
|
11733
|
-
padding: 0 var(--spacing-1);
|
|
11734
|
-
color: var(--color-text-default-default);
|
|
11735
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
11736
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
11737
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
11738
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
11739
|
-
appearance: none;
|
|
11740
|
-
-webkit-appearance: none;
|
|
11867
|
+
.muka-button--lg .muka-button__label {
|
|
11868
|
+
padding: 0 var(--button-gap-lg);
|
|
11741
11869
|
}
|
|
11742
11870
|
|
|
11743
|
-
.muka-
|
|
11744
|
-
|
|
11871
|
+
.muka-button--xl {
|
|
11872
|
+
padding: 0 var(--button-padding-xl-x);
|
|
11873
|
+
border-radius: var(--button-radius-xl);
|
|
11874
|
+
font-size: var(--text-label-2xl-semibold-fontSize);
|
|
11875
|
+
line-height: var(--text-label-2xl-semibold-lineHeight);
|
|
11876
|
+
min-height: 64px;
|
|
11745
11877
|
}
|
|
11746
11878
|
|
|
11747
|
-
|
|
11748
|
-
|
|
11749
|
-
flex-shrink: 0;
|
|
11879
|
+
.muka-button--xl .muka-button__label {
|
|
11880
|
+
padding: 0 var(--button-gap-xl);
|
|
11750
11881
|
}
|
|
11751
11882
|
|
|
11752
|
-
/*
|
|
11753
|
-
|
|
11754
|
-
|
|
11755
|
-
|
|
11756
|
-
|
|
11757
|
-
min-width: 0;
|
|
11758
|
-
box-sizing: border-box;
|
|
11759
|
-
align-items: center;
|
|
11760
|
-
min-height: var(--input-field-height-lg, 48px);
|
|
11761
|
-
padding: var(--card-padding-sm);
|
|
11762
|
-
border: var(--border-width-regular) solid var(--card-color-default-border);
|
|
11763
|
-
border-radius: var(--radius-lg);
|
|
11764
|
-
background-color: var(--card-color-default-background);
|
|
11883
|
+
/* Primary variant - your main CTA button */
|
|
11884
|
+
.muka-button--primary {
|
|
11885
|
+
background-color: var(--button-color-primary-background-default);
|
|
11886
|
+
color: var(--button-color-primary-foreground-default);
|
|
11887
|
+
box-shadow: var(--button-color-primary-shadow-default);
|
|
11765
11888
|
}
|
|
11766
11889
|
|
|
11767
|
-
|
|
11768
|
-
|
|
11769
|
-
|
|
11770
|
-
|
|
11771
|
-
width: 100%;
|
|
11890
|
+
.muka-button--primary:hover:not(:disabled) {
|
|
11891
|
+
background-color: var(--button-color-primary-background-hover);
|
|
11892
|
+
color: var(--button-color-primary-foreground-hover);
|
|
11893
|
+
box-shadow: var(--button-color-primary-shadow-hover);
|
|
11772
11894
|
}
|
|
11773
11895
|
|
|
11774
|
-
|
|
11775
|
-
|
|
11776
|
-
|
|
11777
|
-
|
|
11778
|
-
|
|
11779
|
-
|
|
11896
|
+
/* `[data-state="open"]` keeps a Button pressed while it's an open disclosure
|
|
11897
|
+
trigger (Radix Menu/Popover set this on the trigger). `[aria-pressed="true"]`
|
|
11898
|
+
gives toggle buttons a visible selected state, so the toggle is not conveyed
|
|
11899
|
+
to sighted users by the accessibility tree alone. */
|
|
11900
|
+
.muka-button--primary:active:not(:disabled),
|
|
11901
|
+
.muka-button--primary.muka-button--pressed:not(:disabled),
|
|
11902
|
+
.muka-button--primary[data-state="open"]:not(:disabled),
|
|
11903
|
+
.muka-button--primary[aria-pressed="true"]:not(:disabled) {
|
|
11904
|
+
background-color: var(--button-color-primary-background-pressed);
|
|
11905
|
+
color: var(--button-color-primary-foreground-pressed);
|
|
11906
|
+
box-shadow: var(--button-color-primary-shadow-pressed);
|
|
11780
11907
|
}
|
|
11781
11908
|
|
|
11782
|
-
.muka-
|
|
11783
|
-
|
|
11909
|
+
.muka-button--primary:disabled {
|
|
11910
|
+
background-color: var(--button-color-primary-background-disabled);
|
|
11911
|
+
color: var(--button-color-primary-foreground-disabled);
|
|
11912
|
+
box-shadow: var(--button-color-primary-shadow-disabled);
|
|
11913
|
+
cursor: not-allowed;
|
|
11914
|
+
opacity: 1; /* Remove opacity since we have proper disabled tokens */
|
|
11784
11915
|
}
|
|
11785
11916
|
|
|
11786
|
-
|
|
11787
|
-
|
|
11788
|
-
|
|
11789
|
-
|
|
11790
|
-
|
|
11917
|
+
/* Secondary variant - supporting actions, no border, only bottom inner shadow */
|
|
11918
|
+
.muka-button--secondary {
|
|
11919
|
+
background-color: var(--button-color-secondary-background-default);
|
|
11920
|
+
color: var(--button-color-secondary-foreground-default);
|
|
11921
|
+
box-shadow: var(--button-color-secondary-shadow-default);
|
|
11791
11922
|
}
|
|
11792
11923
|
|
|
11793
|
-
|
|
11794
|
-
|
|
11795
|
-
|
|
11796
|
-
|
|
11797
|
-
display: none;
|
|
11798
|
-
}
|
|
11924
|
+
.muka-button--secondary:hover:not(:disabled) {
|
|
11925
|
+
background-color: var(--button-color-secondary-background-hover);
|
|
11926
|
+
color: var(--button-color-secondary-foreground-hover);
|
|
11927
|
+
box-shadow: var(--button-color-secondary-shadow-hover);
|
|
11799
11928
|
}
|
|
11800
11929
|
|
|
11801
|
-
|
|
11802
|
-
|
|
11803
|
-
|
|
11804
|
-
|
|
11805
|
-
|
|
11806
|
-
|
|
11807
|
-
|
|
11808
|
-
flex-wrap: wrap;
|
|
11809
|
-
list-style: none;
|
|
11810
|
-
margin: 0;
|
|
11811
|
-
padding: 0;
|
|
11812
|
-
gap: var(--spacing-1);
|
|
11930
|
+
.muka-button--secondary:active:not(:disabled),
|
|
11931
|
+
.muka-button--secondary.muka-button--pressed:not(:disabled),
|
|
11932
|
+
.muka-button--secondary[data-state="open"]:not(:disabled),
|
|
11933
|
+
.muka-button--secondary[aria-pressed="true"]:not(:disabled) {
|
|
11934
|
+
background-color: var(--button-color-secondary-background-pressed);
|
|
11935
|
+
color: var(--button-color-secondary-foreground-pressed);
|
|
11936
|
+
box-shadow: var(--button-color-secondary-shadow-pressed);
|
|
11813
11937
|
}
|
|
11814
11938
|
|
|
11815
|
-
.muka-
|
|
11816
|
-
|
|
11817
|
-
|
|
11818
|
-
|
|
11939
|
+
.muka-button--secondary:disabled {
|
|
11940
|
+
background-color: var(--button-color-secondary-background-disabled);
|
|
11941
|
+
color: var(--button-color-secondary-foreground-disabled);
|
|
11942
|
+
box-shadow: var(--button-color-secondary-shadow-disabled);
|
|
11943
|
+
cursor: not-allowed;
|
|
11944
|
+
opacity: 1;
|
|
11819
11945
|
}
|
|
11820
11946
|
|
|
11821
|
-
|
|
11822
|
-
|
|
11823
|
-
|
|
11824
|
-
color: var(--color-
|
|
11947
|
+
/* Tertiary variant - tinted background with accent text and border */
|
|
11948
|
+
.muka-button--tertiary {
|
|
11949
|
+
background-color: var(--button-color-tertiary-background-default);
|
|
11950
|
+
color: var(--button-color-tertiary-foreground-default);
|
|
11951
|
+
border: 1px solid var(--button-color-tertiary-border-default);
|
|
11825
11952
|
}
|
|
11826
11953
|
|
|
11827
|
-
|
|
11828
|
-
|
|
11829
|
-
color: var(--color-
|
|
11830
|
-
|
|
11831
|
-
border: none;
|
|
11832
|
-
background: none;
|
|
11833
|
-
padding: 0;
|
|
11834
|
-
cursor: pointer;
|
|
11835
|
-
font: inherit;
|
|
11836
|
-
transition: color 0.15s ease;
|
|
11954
|
+
.muka-button--tertiary:hover:not(:disabled) {
|
|
11955
|
+
background-color: var(--button-color-tertiary-background-hover);
|
|
11956
|
+
color: var(--button-color-tertiary-foreground-hover);
|
|
11957
|
+
border-color: var(--button-color-tertiary-border-hover);
|
|
11837
11958
|
}
|
|
11838
11959
|
|
|
11839
|
-
.muka-
|
|
11840
|
-
|
|
11841
|
-
|
|
11960
|
+
.muka-button--tertiary:active:not(:disabled),
|
|
11961
|
+
.muka-button--tertiary.muka-button--pressed:not(:disabled),
|
|
11962
|
+
.muka-button--tertiary[data-state="open"]:not(:disabled),
|
|
11963
|
+
.muka-button--tertiary[aria-pressed="true"]:not(:disabled) {
|
|
11964
|
+
background-color: var(--button-color-tertiary-background-pressed);
|
|
11965
|
+
color: var(--button-color-tertiary-foreground-pressed);
|
|
11966
|
+
border-color: var(--button-color-tertiary-border-pressed);
|
|
11842
11967
|
}
|
|
11843
11968
|
|
|
11844
|
-
|
|
11845
|
-
|
|
11846
|
-
color: var(--color-
|
|
11847
|
-
|
|
11969
|
+
.muka-button--tertiary:disabled {
|
|
11970
|
+
background-color: var(--button-color-tertiary-background-disabled);
|
|
11971
|
+
color: var(--button-color-tertiary-foreground-disabled);
|
|
11972
|
+
border-color: var(--button-color-tertiary-border-disabled);
|
|
11973
|
+
cursor: not-allowed;
|
|
11974
|
+
opacity: 1;
|
|
11848
11975
|
}
|
|
11849
11976
|
|
|
11850
|
-
/*
|
|
11851
|
-
.muka-
|
|
11852
|
-
color: var(--color-
|
|
11853
|
-
|
|
11977
|
+
/* Ghost variant - minimal styling, border appears on hover */
|
|
11978
|
+
.muka-button--ghost {
|
|
11979
|
+
background-color: var(--button-color-ghost-background-default);
|
|
11980
|
+
color: var(--button-color-ghost-foreground-default);
|
|
11981
|
+
border: 1px solid var(--button-color-ghost-border-default);
|
|
11854
11982
|
}
|
|
11855
11983
|
|
|
11856
|
-
|
|
11857
|
-
|
|
11858
|
-
color: var(--color-
|
|
11984
|
+
.muka-button--ghost:hover:not(:disabled) {
|
|
11985
|
+
background-color: var(--button-color-ghost-background-hover);
|
|
11986
|
+
color: var(--button-color-ghost-foreground-hover);
|
|
11987
|
+
border-color: var(--button-color-ghost-border-hover);
|
|
11859
11988
|
}
|
|
11860
11989
|
|
|
11861
|
-
|
|
11862
|
-
.muka-
|
|
11863
|
-
|
|
11864
|
-
|
|
11865
|
-
|
|
11866
|
-
|
|
11990
|
+
.muka-button--ghost:active:not(:disabled),
|
|
11991
|
+
.muka-button--ghost.muka-button--pressed:not(:disabled),
|
|
11992
|
+
.muka-button--ghost[data-state="open"]:not(:disabled),
|
|
11993
|
+
.muka-button--ghost[aria-pressed="true"]:not(:disabled) {
|
|
11994
|
+
background-color: var(--button-color-ghost-background-pressed);
|
|
11995
|
+
color: var(--button-color-ghost-foreground-pressed);
|
|
11996
|
+
border-color: var(--button-color-ghost-border-pressed);
|
|
11867
11997
|
}
|
|
11868
11998
|
|
|
11869
|
-
.muka-
|
|
11870
|
-
|
|
11871
|
-
|
|
11872
|
-
|
|
11873
|
-
|
|
11999
|
+
.muka-button--ghost:disabled {
|
|
12000
|
+
background-color: var(--button-color-ghost-background-disabled);
|
|
12001
|
+
color: var(--button-color-ghost-foreground-disabled);
|
|
12002
|
+
border-color: var(--button-color-ghost-border-disabled);
|
|
12003
|
+
cursor: not-allowed;
|
|
12004
|
+
opacity: 1;
|
|
11874
12005
|
}
|
|
11875
12006
|
|
|
11876
|
-
|
|
11877
|
-
|
|
11878
|
-
|
|
11879
|
-
|
|
11880
|
-
|
|
12007
|
+
/* Muted variant - same as ghost but resting foreground is subtle, darkens on interaction */
|
|
12008
|
+
.muka-button--muted {
|
|
12009
|
+
background-color: var(--button-color-muted-background-default);
|
|
12010
|
+
color: var(--button-color-muted-foreground-default);
|
|
12011
|
+
border: 1px solid var(--button-color-muted-border-default);
|
|
11881
12012
|
}
|
|
11882
12013
|
|
|
12014
|
+
.muka-button--muted:hover:not(:disabled) {
|
|
12015
|
+
background-color: var(--button-color-muted-background-hover);
|
|
12016
|
+
color: var(--button-color-muted-foreground-hover);
|
|
12017
|
+
border-color: var(--button-color-muted-border-hover);
|
|
12018
|
+
}
|
|
11883
12019
|
|
|
11884
|
-
|
|
11885
|
-
|
|
12020
|
+
.muka-button--muted:active:not(:disabled),
|
|
12021
|
+
.muka-button--muted.muka-button--pressed:not(:disabled),
|
|
12022
|
+
.muka-button--muted[data-state="open"]:not(:disabled),
|
|
12023
|
+
.muka-button--muted[aria-pressed="true"]:not(:disabled) {
|
|
12024
|
+
background-color: var(--button-color-muted-background-pressed);
|
|
12025
|
+
color: var(--button-color-muted-foreground-pressed);
|
|
12026
|
+
border-color: var(--button-color-muted-border-pressed);
|
|
12027
|
+
}
|
|
11886
12028
|
|
|
11887
|
-
.muka-
|
|
11888
|
-
|
|
11889
|
-
|
|
12029
|
+
.muka-button--muted:disabled {
|
|
12030
|
+
background-color: var(--button-color-muted-background-disabled);
|
|
12031
|
+
color: var(--button-color-muted-foreground-disabled);
|
|
12032
|
+
border-color: var(--button-color-muted-border-disabled);
|
|
12033
|
+
cursor: not-allowed;
|
|
12034
|
+
opacity: 1;
|
|
11890
12035
|
}
|
|
11891
12036
|
|
|
11892
|
-
/*
|
|
11893
|
-
.muka-
|
|
11894
|
-
|
|
12037
|
+
/* General disabled state - fallback */
|
|
12038
|
+
.muka-button:disabled {
|
|
12039
|
+
cursor: not-allowed;
|
|
12040
|
+
pointer-events: none;
|
|
11895
12041
|
}
|
|
11896
12042
|
|
|
11897
|
-
/*
|
|
11898
|
-
.muka-
|
|
11899
|
-
|
|
12043
|
+
/* Full width modifier */
|
|
12044
|
+
.muka-button--full-width {
|
|
12045
|
+
width: 100%;
|
|
12046
|
+
}
|
|
12047
|
+
|
|
12048
|
+
/* Icons - forced to the Figma per-size dimension regardless of the icon passed */
|
|
12049
|
+
.muka-button__icon {
|
|
12050
|
+
display: inline-flex;
|
|
12051
|
+
align-items: center;
|
|
12052
|
+
justify-content: center;
|
|
12053
|
+
flex-shrink: 0;
|
|
12054
|
+
}
|
|
12055
|
+
|
|
12056
|
+
/* Make the icon content (raw <svg> or a nested Icon span) fill the wrapper.
|
|
12057
|
+
Scoped under .muka-button to outrank Icon.css's own `.muka-icon--{size}`
|
|
12058
|
+
rule, so the button's size wins even when the icon hardcodes its own size. */
|
|
12059
|
+
.muka-button .muka-button__icon > *,
|
|
12060
|
+
.muka-button .muka-button__icon svg {
|
|
12061
|
+
width: 100%;
|
|
12062
|
+
height: 100%;
|
|
12063
|
+
display: block;
|
|
12064
|
+
}
|
|
12065
|
+
|
|
12066
|
+
.muka-button--sm .muka-button__icon {
|
|
12067
|
+
width: var(--button-icon-sm);
|
|
12068
|
+
height: var(--button-icon-sm);
|
|
12069
|
+
}
|
|
12070
|
+
|
|
12071
|
+
.muka-button--md .muka-button__icon {
|
|
12072
|
+
width: var(--button-icon-md);
|
|
12073
|
+
height: var(--button-icon-md);
|
|
12074
|
+
}
|
|
12075
|
+
|
|
12076
|
+
.muka-button--lg .muka-button__icon {
|
|
12077
|
+
width: var(--button-icon-lg);
|
|
12078
|
+
height: var(--button-icon-lg);
|
|
12079
|
+
}
|
|
12080
|
+
|
|
12081
|
+
.muka-button--xl .muka-button__icon {
|
|
12082
|
+
width: var(--button-icon-xl);
|
|
12083
|
+
height: var(--button-icon-xl);
|
|
12084
|
+
}
|
|
12085
|
+
|
|
12086
|
+
.muka-button__label {
|
|
12087
|
+
display: inline-flex;
|
|
12088
|
+
align-items: center;
|
|
12089
|
+
}
|
|
12090
|
+
|
|
12091
|
+
/* Icon-only buttons - square, sized to the button height per size */
|
|
12092
|
+
.muka-button--icon-only {
|
|
12093
|
+
padding: 0;
|
|
12094
|
+
}
|
|
12095
|
+
|
|
12096
|
+
.muka-button--icon-only.muka-button--sm {
|
|
12097
|
+
width: 32px;
|
|
12098
|
+
}
|
|
12099
|
+
|
|
12100
|
+
.muka-button--icon-only.muka-button--md {
|
|
12101
|
+
width: 40px;
|
|
12102
|
+
}
|
|
12103
|
+
|
|
12104
|
+
.muka-button--icon-only.muka-button--lg {
|
|
12105
|
+
width: 48px;
|
|
12106
|
+
}
|
|
12107
|
+
|
|
12108
|
+
.muka-button--icon-only.muka-button--xl {
|
|
12109
|
+
width: 64px;
|
|
12110
|
+
}
|
|
12111
|
+
|
|
12112
|
+
|
|
12113
|
+
/* Breadcrumb */
|
|
12114
|
+
/* Breadcrumb Component Styles */
|
|
12115
|
+
|
|
12116
|
+
.muka-breadcrumb__list {
|
|
12117
|
+
display: flex;
|
|
12118
|
+
align-items: center;
|
|
12119
|
+
flex-wrap: wrap;
|
|
12120
|
+
list-style: none;
|
|
12121
|
+
margin: 0;
|
|
12122
|
+
padding: 0;
|
|
12123
|
+
gap: var(--spacing-1);
|
|
12124
|
+
}
|
|
12125
|
+
|
|
12126
|
+
.muka-breadcrumb__item {
|
|
12127
|
+
display: inline-flex;
|
|
12128
|
+
align-items: center;
|
|
12129
|
+
gap: var(--spacing-1);
|
|
12130
|
+
}
|
|
12131
|
+
|
|
12132
|
+
.muka-breadcrumb__icon {
|
|
12133
|
+
display: inline-flex;
|
|
12134
|
+
align-items: center;
|
|
12135
|
+
color: var(--color-text-subtle-default);
|
|
12136
|
+
}
|
|
12137
|
+
|
|
12138
|
+
/* Link styles */
|
|
12139
|
+
.muka-breadcrumb__link {
|
|
12140
|
+
color: var(--color-text-subtle-default);
|
|
12141
|
+
text-decoration: none;
|
|
12142
|
+
border: none;
|
|
12143
|
+
background: none;
|
|
12144
|
+
padding: 0;
|
|
12145
|
+
cursor: pointer;
|
|
12146
|
+
font: inherit;
|
|
12147
|
+
transition: color 0.15s ease;
|
|
12148
|
+
}
|
|
12149
|
+
|
|
12150
|
+
.muka-breadcrumb__link:hover {
|
|
12151
|
+
color: var(--color-text-action-default);
|
|
12152
|
+
text-decoration: underline;
|
|
12153
|
+
}
|
|
12154
|
+
|
|
12155
|
+
/* Current page (last item) */
|
|
12156
|
+
.muka-breadcrumb__current {
|
|
12157
|
+
color: var(--color-text-default-default);
|
|
12158
|
+
font-weight: 600;
|
|
12159
|
+
}
|
|
12160
|
+
|
|
12161
|
+
/* Separator */
|
|
12162
|
+
.muka-breadcrumb__separator {
|
|
12163
|
+
color: var(--color-text-subtle-default);
|
|
12164
|
+
user-select: none;
|
|
12165
|
+
}
|
|
12166
|
+
|
|
12167
|
+
/* Ellipsis */
|
|
12168
|
+
.muka-breadcrumb__ellipsis {
|
|
12169
|
+
color: var(--color-text-subtle-default);
|
|
12170
|
+
}
|
|
12171
|
+
|
|
12172
|
+
/* Size variants */
|
|
12173
|
+
.muka-breadcrumb--sm {
|
|
12174
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
12175
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
12176
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
12177
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
12178
|
+
}
|
|
12179
|
+
|
|
12180
|
+
.muka-breadcrumb--md {
|
|
12181
|
+
font-family: var(--text-label-md-regular-fontFamily);
|
|
12182
|
+
font-weight: var(--text-label-md-regular-fontWeight);
|
|
12183
|
+
font-size: var(--text-label-md-regular-fontSize);
|
|
12184
|
+
line-height: var(--text-label-md-regular-lineHeight);
|
|
12185
|
+
}
|
|
12186
|
+
|
|
12187
|
+
.muka-breadcrumb--lg {
|
|
12188
|
+
font-family: var(--text-label-lg-regular-fontFamily);
|
|
12189
|
+
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
12190
|
+
font-size: var(--text-label-lg-regular-fontSize);
|
|
12191
|
+
line-height: var(--text-label-lg-regular-lineHeight);
|
|
12192
|
+
}
|
|
12193
|
+
|
|
12194
|
+
|
|
12195
|
+
/* BottomBar */
|
|
12196
|
+
/* BottomBar Component Styles */
|
|
12197
|
+
|
|
12198
|
+
.muka-bottombar {
|
|
12199
|
+
width: 100%;
|
|
12200
|
+
background-color: var(--bottombar-color-background);
|
|
12201
|
+
}
|
|
12202
|
+
|
|
12203
|
+
/* Push content above the iPhone home indicator. Opt out via disableSafeArea. */
|
|
12204
|
+
.muka-bottombar:not(.muka-bottombar--floating):not(.muka-bottombar--no-safe-area) {
|
|
12205
|
+
padding-bottom: env(safe-area-inset-bottom);
|
|
12206
|
+
}
|
|
12207
|
+
|
|
12208
|
+
/* Floating variant: ensure margin-bottom is at least the safe-area inset. */
|
|
12209
|
+
.muka-bottombar--floating:not(.muka-bottombar--no-safe-area) {
|
|
12210
|
+
padding-bottom: max(var(--bottombar-floating-margin-bottom), env(safe-area-inset-bottom));
|
|
11900
12211
|
}
|
|
11901
12212
|
|
|
11902
12213
|
/* ─── Divider (non-floating) ──────────────────────────── */
|
|
@@ -12293,318 +12604,187 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
12293
12604
|
}
|
|
12294
12605
|
|
|
12295
12606
|
|
|
12296
|
-
/*
|
|
12297
|
-
/*
|
|
12607
|
+
/* Badge */
|
|
12608
|
+
/* Badge Component Styles - Using Muka Design Tokens */
|
|
12298
12609
|
|
|
12299
|
-
|
|
12300
|
-
.muka-button {
|
|
12301
|
-
/* Layout */
|
|
12610
|
+
.muka-badge {
|
|
12302
12611
|
display: inline-flex;
|
|
12303
12612
|
align-items: center;
|
|
12304
|
-
|
|
12305
|
-
|
|
12306
|
-
/* Typography - using semantic tokens */
|
|
12307
|
-
font-family: var(--alias-font-brand-family);
|
|
12308
|
-
font-weight: var(--alias-font-brand-weight-semibold);
|
|
12309
|
-
text-decoration: none;
|
|
12310
|
-
|
|
12311
|
-
/* Interaction */
|
|
12312
|
-
border: none;
|
|
12313
|
-
cursor: pointer;
|
|
12613
|
+
border-radius: var(--border-radius-full);
|
|
12614
|
+
white-space: nowrap;
|
|
12314
12615
|
user-select: none;
|
|
12315
|
-
|
|
12316
|
-
|
|
12317
|
-
/* Accessibility */
|
|
12318
|
-
outline: none;
|
|
12319
|
-
position: relative;
|
|
12320
|
-
}
|
|
12321
|
-
|
|
12322
|
-
/* Focus styles for accessibility */
|
|
12323
|
-
.muka-button:focus-visible {
|
|
12324
|
-
outline: 2px solid var(--color-border-focus);
|
|
12325
|
-
outline-offset: 2px;
|
|
12326
|
-
}
|
|
12327
|
-
|
|
12328
|
-
/* Size variants
|
|
12329
|
-
Height is driven by min-height; vertical padding is 0 and the label carries
|
|
12330
|
-
tight (Figma) line-height. Horizontal spacing matches Figma's nested model:
|
|
12331
|
-
the button's padding is the outer container inset, and the label's own
|
|
12332
|
-
padding is the icon-to-text gap (so text-only buttons keep both insets). */
|
|
12333
|
-
.muka-button--sm {
|
|
12334
|
-
padding: 0 var(--button-padding-sm-x);
|
|
12335
|
-
border-radius: var(--button-radius-sm);
|
|
12336
|
-
font-size: var(--text-label-sm-semibold-fontSize);
|
|
12337
|
-
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
12338
|
-
min-height: 32px;
|
|
12339
|
-
}
|
|
12340
|
-
|
|
12341
|
-
.muka-button--sm .muka-button__label {
|
|
12342
|
-
padding: 0 var(--button-gap-sm);
|
|
12343
|
-
}
|
|
12344
|
-
|
|
12345
|
-
.muka-button--md {
|
|
12346
|
-
padding: 0 var(--button-padding-md-x);
|
|
12347
|
-
border-radius: var(--button-radius-md);
|
|
12348
|
-
font-size: var(--text-label-sm-semibold-fontSize);
|
|
12349
|
-
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
12350
|
-
min-height: 40px;
|
|
12351
|
-
}
|
|
12352
|
-
|
|
12353
|
-
.muka-button--md .muka-button__label {
|
|
12354
|
-
padding: 0 var(--button-gap-md);
|
|
12355
|
-
}
|
|
12356
|
-
|
|
12357
|
-
.muka-button--lg {
|
|
12358
|
-
padding: 0 var(--button-padding-lg-x);
|
|
12359
|
-
border-radius: var(--button-radius-lg);
|
|
12360
|
-
font-size: var(--text-label-lg-semibold-fontSize);
|
|
12361
|
-
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
12362
|
-
min-height: 48px;
|
|
12363
|
-
}
|
|
12364
|
-
|
|
12365
|
-
.muka-button--lg .muka-button__label {
|
|
12366
|
-
padding: 0 var(--button-gap-lg);
|
|
12367
|
-
}
|
|
12368
|
-
|
|
12369
|
-
.muka-button--xl {
|
|
12370
|
-
padding: 0 var(--button-padding-xl-x);
|
|
12371
|
-
border-radius: var(--button-radius-xl);
|
|
12372
|
-
font-size: var(--text-label-2xl-semibold-fontSize);
|
|
12373
|
-
line-height: var(--text-label-2xl-semibold-lineHeight);
|
|
12374
|
-
min-height: 64px;
|
|
12375
|
-
}
|
|
12376
|
-
|
|
12377
|
-
.muka-button--xl .muka-button__label {
|
|
12378
|
-
padding: 0 var(--button-gap-xl);
|
|
12379
|
-
}
|
|
12380
|
-
|
|
12381
|
-
/* Primary variant - your main CTA button */
|
|
12382
|
-
.muka-button--primary {
|
|
12383
|
-
background-color: var(--button-color-primary-background-default);
|
|
12384
|
-
color: var(--button-color-primary-foreground-default);
|
|
12385
|
-
box-shadow: var(--button-color-primary-shadow-default);
|
|
12386
|
-
}
|
|
12387
|
-
|
|
12388
|
-
.muka-button--primary:hover:not(:disabled) {
|
|
12389
|
-
background-color: var(--button-color-primary-background-hover);
|
|
12390
|
-
color: var(--button-color-primary-foreground-hover);
|
|
12391
|
-
box-shadow: var(--button-color-primary-shadow-hover);
|
|
12392
|
-
}
|
|
12393
|
-
|
|
12394
|
-
/* `[data-state="open"]` keeps a Button pressed while it's an open disclosure
|
|
12395
|
-
trigger (Radix Menu/Popover set this on the trigger). `[aria-pressed="true"]`
|
|
12396
|
-
gives toggle buttons a visible selected state, so the toggle is not conveyed
|
|
12397
|
-
to sighted users by the accessibility tree alone. */
|
|
12398
|
-
.muka-button--primary:active:not(:disabled),
|
|
12399
|
-
.muka-button--primary.muka-button--pressed:not(:disabled),
|
|
12400
|
-
.muka-button--primary[data-state="open"]:not(:disabled),
|
|
12401
|
-
.muka-button--primary[aria-pressed="true"]:not(:disabled) {
|
|
12402
|
-
background-color: var(--button-color-primary-background-pressed);
|
|
12403
|
-
color: var(--button-color-primary-foreground-pressed);
|
|
12404
|
-
box-shadow: var(--button-color-primary-shadow-pressed);
|
|
12405
|
-
}
|
|
12406
|
-
|
|
12407
|
-
.muka-button--primary:disabled {
|
|
12408
|
-
background-color: var(--button-color-primary-background-disabled);
|
|
12409
|
-
color: var(--button-color-primary-foreground-disabled);
|
|
12410
|
-
box-shadow: var(--button-color-primary-shadow-disabled);
|
|
12411
|
-
cursor: not-allowed;
|
|
12412
|
-
opacity: 1; /* Remove opacity since we have proper disabled tokens */
|
|
12413
|
-
}
|
|
12414
|
-
|
|
12415
|
-
/* Secondary variant - supporting actions, no border, only bottom inner shadow */
|
|
12416
|
-
.muka-button--secondary {
|
|
12417
|
-
background-color: var(--button-color-secondary-background-default);
|
|
12418
|
-
color: var(--button-color-secondary-foreground-default);
|
|
12419
|
-
box-shadow: var(--button-color-secondary-shadow-default);
|
|
12420
|
-
}
|
|
12421
|
-
|
|
12422
|
-
.muka-button--secondary:hover:not(:disabled) {
|
|
12423
|
-
background-color: var(--button-color-secondary-background-hover);
|
|
12424
|
-
color: var(--button-color-secondary-foreground-hover);
|
|
12425
|
-
box-shadow: var(--button-color-secondary-shadow-hover);
|
|
12426
|
-
}
|
|
12427
|
-
|
|
12428
|
-
.muka-button--secondary:active:not(:disabled),
|
|
12429
|
-
.muka-button--secondary.muka-button--pressed:not(:disabled),
|
|
12430
|
-
.muka-button--secondary[data-state="open"]:not(:disabled),
|
|
12431
|
-
.muka-button--secondary[aria-pressed="true"]:not(:disabled) {
|
|
12432
|
-
background-color: var(--button-color-secondary-background-pressed);
|
|
12433
|
-
color: var(--button-color-secondary-foreground-pressed);
|
|
12434
|
-
box-shadow: var(--button-color-secondary-shadow-pressed);
|
|
12435
|
-
}
|
|
12436
|
-
|
|
12437
|
-
.muka-button--secondary:disabled {
|
|
12438
|
-
background-color: var(--button-color-secondary-background-disabled);
|
|
12439
|
-
color: var(--button-color-secondary-foreground-disabled);
|
|
12440
|
-
box-shadow: var(--button-color-secondary-shadow-disabled);
|
|
12441
|
-
cursor: not-allowed;
|
|
12442
|
-
opacity: 1;
|
|
12616
|
+
box-sizing: border-box;
|
|
12443
12617
|
}
|
|
12444
12618
|
|
|
12445
|
-
/*
|
|
12446
|
-
|
|
12447
|
-
|
|
12448
|
-
|
|
12449
|
-
|
|
12619
|
+
/*
|
|
12620
|
+
* Sizes — height, gap, type, and default (label-edge) horizontal padding.
|
|
12621
|
+
* Mirrors Chip so the two components share sizing, fonts, and spacing.
|
|
12622
|
+
* Vertical centering is handled by the fixed height + align-items: center.
|
|
12623
|
+
* The leading side gets a tighter padding when an icon/dot is present, via the
|
|
12624
|
+
* --has-icon / --has-dot modifiers below.
|
|
12625
|
+
*/
|
|
12626
|
+
.muka-badge--sm {
|
|
12627
|
+
height: var(--badge-size-height-sm);
|
|
12628
|
+
gap: var(--badge-gap-sm);
|
|
12629
|
+
padding: 0 var(--badge-padding-label-sm);
|
|
12630
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
12631
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
12632
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
12633
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
12450
12634
|
}
|
|
12451
12635
|
|
|
12452
|
-
.muka-
|
|
12453
|
-
|
|
12454
|
-
|
|
12455
|
-
|
|
12636
|
+
.muka-badge--md {
|
|
12637
|
+
height: var(--badge-size-height-md);
|
|
12638
|
+
gap: var(--badge-gap-md);
|
|
12639
|
+
padding: 0 var(--badge-padding-label-md);
|
|
12640
|
+
font-family: var(--text-label-md-regular-fontFamily);
|
|
12641
|
+
font-weight: var(--text-label-md-regular-fontWeight);
|
|
12642
|
+
font-size: var(--text-label-md-regular-fontSize);
|
|
12643
|
+
line-height: var(--text-label-md-regular-lineHeight);
|
|
12456
12644
|
}
|
|
12457
12645
|
|
|
12458
|
-
.muka-
|
|
12459
|
-
|
|
12460
|
-
|
|
12461
|
-
|
|
12462
|
-
|
|
12463
|
-
|
|
12464
|
-
|
|
12646
|
+
.muka-badge--lg {
|
|
12647
|
+
height: var(--badge-size-height-lg);
|
|
12648
|
+
gap: var(--badge-gap-lg);
|
|
12649
|
+
padding: 0 var(--badge-padding-label-lg);
|
|
12650
|
+
font-family: var(--text-label-lg-regular-fontFamily);
|
|
12651
|
+
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
12652
|
+
font-size: var(--text-label-lg-regular-fontSize);
|
|
12653
|
+
line-height: var(--text-label-lg-regular-lineHeight);
|
|
12465
12654
|
}
|
|
12466
12655
|
|
|
12467
|
-
|
|
12468
|
-
|
|
12469
|
-
|
|
12470
|
-
|
|
12471
|
-
cursor: not-allowed;
|
|
12472
|
-
opacity: 1;
|
|
12656
|
+
/* Tighter leading padding when a leading icon or dot is present */
|
|
12657
|
+
.muka-badge--sm.muka-badge--has-icon,
|
|
12658
|
+
.muka-badge--sm.muka-badge--has-dot {
|
|
12659
|
+
padding-left: var(--badge-padding-leading-sm);
|
|
12473
12660
|
}
|
|
12474
|
-
|
|
12475
|
-
|
|
12476
|
-
|
|
12477
|
-
background-color: var(--button-color-ghost-background-default);
|
|
12478
|
-
color: var(--button-color-ghost-foreground-default);
|
|
12479
|
-
border: 1px solid var(--button-color-ghost-border-default);
|
|
12661
|
+
.muka-badge--md.muka-badge--has-icon,
|
|
12662
|
+
.muka-badge--md.muka-badge--has-dot {
|
|
12663
|
+
padding-left: var(--badge-padding-leading-md);
|
|
12480
12664
|
}
|
|
12481
|
-
|
|
12482
|
-
.muka-
|
|
12483
|
-
|
|
12484
|
-
color: var(--button-color-ghost-foreground-hover);
|
|
12485
|
-
border-color: var(--button-color-ghost-border-hover);
|
|
12665
|
+
.muka-badge--lg.muka-badge--has-icon,
|
|
12666
|
+
.muka-badge--lg.muka-badge--has-dot {
|
|
12667
|
+
padding-left: var(--badge-padding-leading-lg);
|
|
12486
12668
|
}
|
|
12487
12669
|
|
|
12488
|
-
|
|
12489
|
-
.muka-
|
|
12490
|
-
|
|
12491
|
-
|
|
12492
|
-
|
|
12493
|
-
|
|
12494
|
-
border-color: var(--button-color-ghost-border-pressed);
|
|
12670
|
+
/* Leading icon slot — Figma icon sizes: sm 16, md 20, lg 24 (matches Chip) */
|
|
12671
|
+
.muka-badge__icon {
|
|
12672
|
+
display: inline-flex;
|
|
12673
|
+
align-items: center;
|
|
12674
|
+
justify-content: center;
|
|
12675
|
+
flex-shrink: 0;
|
|
12495
12676
|
}
|
|
12496
12677
|
|
|
12497
|
-
.muka-
|
|
12498
|
-
|
|
12499
|
-
|
|
12500
|
-
border-color: var(--button-color-ghost-border-disabled);
|
|
12501
|
-
cursor: not-allowed;
|
|
12502
|
-
opacity: 1;
|
|
12678
|
+
.muka-badge--sm .muka-badge__icon {
|
|
12679
|
+
width: var(--icon-size-xs);
|
|
12680
|
+
height: var(--icon-size-xs);
|
|
12503
12681
|
}
|
|
12504
|
-
|
|
12505
|
-
|
|
12506
|
-
|
|
12507
|
-
background-color: var(--button-color-muted-background-default);
|
|
12508
|
-
color: var(--button-color-muted-foreground-default);
|
|
12509
|
-
border: 1px solid var(--button-color-muted-border-default);
|
|
12682
|
+
.muka-badge--md .muka-badge__icon {
|
|
12683
|
+
width: var(--icon-size-sm);
|
|
12684
|
+
height: var(--icon-size-sm);
|
|
12510
12685
|
}
|
|
12511
|
-
|
|
12512
|
-
|
|
12513
|
-
|
|
12514
|
-
color: var(--button-color-muted-foreground-hover);
|
|
12515
|
-
border-color: var(--button-color-muted-border-hover);
|
|
12686
|
+
.muka-badge--lg .muka-badge__icon {
|
|
12687
|
+
width: var(--icon-size-default);
|
|
12688
|
+
height: var(--icon-size-default);
|
|
12516
12689
|
}
|
|
12517
12690
|
|
|
12518
|
-
|
|
12519
|
-
.
|
|
12520
|
-
.muka-
|
|
12521
|
-
.muka-
|
|
12522
|
-
|
|
12523
|
-
|
|
12524
|
-
|
|
12691
|
+
/* Force the passed content (raw <svg> or an <Icon> wrapper) to the slot size,
|
|
12692
|
+
so callers don't have to size the icon to match each badge size. The
|
|
12693
|
+
.muka-icon selector is intentionally 2 classes deep to override .muka-icon--md. */
|
|
12694
|
+
.muka-badge__icon .muka-icon,
|
|
12695
|
+
.muka-badge__icon svg {
|
|
12696
|
+
width: 100%;
|
|
12697
|
+
height: 100%;
|
|
12525
12698
|
}
|
|
12526
12699
|
|
|
12527
|
-
|
|
12528
|
-
|
|
12529
|
-
color:
|
|
12530
|
-
border-color: var(--button-color-muted-border-disabled);
|
|
12531
|
-
cursor: not-allowed;
|
|
12532
|
-
opacity: 1;
|
|
12700
|
+
/* Icons inherit the badge's per-variant foreground color */
|
|
12701
|
+
.muka-badge .muka-icon {
|
|
12702
|
+
color: inherit;
|
|
12533
12703
|
}
|
|
12534
12704
|
|
|
12535
|
-
/*
|
|
12536
|
-
.muka-
|
|
12537
|
-
|
|
12538
|
-
|
|
12705
|
+
/* Dot indicator */
|
|
12706
|
+
.muka-badge__dot {
|
|
12707
|
+
flex-shrink: 0;
|
|
12708
|
+
border-radius: var(--border-radius-full);
|
|
12539
12709
|
}
|
|
12540
12710
|
|
|
12541
|
-
|
|
12542
|
-
|
|
12543
|
-
|
|
12711
|
+
.muka-badge--sm .muka-badge__dot {
|
|
12712
|
+
width: var(--badge-size-dot-sm);
|
|
12713
|
+
height: var(--badge-size-dot-sm);
|
|
12544
12714
|
}
|
|
12545
12715
|
|
|
12546
|
-
|
|
12547
|
-
|
|
12548
|
-
|
|
12549
|
-
align-items: center;
|
|
12550
|
-
justify-content: center;
|
|
12551
|
-
flex-shrink: 0;
|
|
12716
|
+
.muka-badge--md .muka-badge__dot {
|
|
12717
|
+
width: var(--badge-size-dot-md);
|
|
12718
|
+
height: var(--badge-size-dot-md);
|
|
12552
12719
|
}
|
|
12553
12720
|
|
|
12554
|
-
|
|
12555
|
-
|
|
12556
|
-
|
|
12557
|
-
.muka-button .muka-button__icon > *,
|
|
12558
|
-
.muka-button .muka-button__icon svg {
|
|
12559
|
-
width: 100%;
|
|
12560
|
-
height: 100%;
|
|
12561
|
-
display: block;
|
|
12721
|
+
.muka-badge--lg .muka-badge__dot {
|
|
12722
|
+
width: var(--badge-size-dot-lg);
|
|
12723
|
+
height: var(--badge-size-dot-lg);
|
|
12562
12724
|
}
|
|
12563
12725
|
|
|
12564
|
-
.muka-
|
|
12565
|
-
|
|
12566
|
-
|
|
12726
|
+
.muka-badge__label {
|
|
12727
|
+
flex: 0 1 auto;
|
|
12728
|
+
min-width: 0;
|
|
12729
|
+
overflow: hidden;
|
|
12730
|
+
text-overflow: ellipsis;
|
|
12731
|
+
/*
|
|
12732
|
+
* The badge sets a tight line-height for compact sizing, but the label's
|
|
12733
|
+
* `overflow: hidden` (needed for ellipsis) then clips glyph descenders (g, y, p). Give the
|
|
12734
|
+
* label its own roomier line-height so descenders render; vertical centering is unaffected
|
|
12735
|
+
* because the badge height is fixed and content is centered via align-items: center.
|
|
12736
|
+
*/
|
|
12737
|
+
line-height: normal;
|
|
12567
12738
|
}
|
|
12568
12739
|
|
|
12569
|
-
|
|
12570
|
-
|
|
12571
|
-
|
|
12740
|
+
/* Neutral variant */
|
|
12741
|
+
.muka-badge--neutral {
|
|
12742
|
+
background-color: var(--color-surface-level1);
|
|
12743
|
+
color: var(--color-text-default-default);
|
|
12572
12744
|
}
|
|
12573
12745
|
|
|
12574
|
-
.muka-
|
|
12575
|
-
|
|
12576
|
-
height: var(--button-icon-lg);
|
|
12746
|
+
.muka-badge--neutral .muka-badge__dot {
|
|
12747
|
+
background-color: var(--color-text-subtle-default);
|
|
12577
12748
|
}
|
|
12578
12749
|
|
|
12579
|
-
|
|
12580
|
-
|
|
12581
|
-
|
|
12750
|
+
/* Info variant */
|
|
12751
|
+
.muka-badge--info {
|
|
12752
|
+
background-color: var(--color-state-info-background);
|
|
12753
|
+
color: var(--color-state-info-contrast);
|
|
12582
12754
|
}
|
|
12583
12755
|
|
|
12584
|
-
.muka-
|
|
12585
|
-
|
|
12586
|
-
align-items: center;
|
|
12756
|
+
.muka-badge--info .muka-badge__dot {
|
|
12757
|
+
background-color: var(--color-state-info-default);
|
|
12587
12758
|
}
|
|
12588
12759
|
|
|
12589
|
-
/*
|
|
12590
|
-
.muka-
|
|
12591
|
-
|
|
12760
|
+
/* Success variant */
|
|
12761
|
+
.muka-badge--success {
|
|
12762
|
+
background-color: var(--color-state-success-background);
|
|
12763
|
+
color: var(--color-state-success-contrast);
|
|
12592
12764
|
}
|
|
12593
12765
|
|
|
12594
|
-
.muka-
|
|
12595
|
-
|
|
12766
|
+
.muka-badge--success .muka-badge__dot {
|
|
12767
|
+
background-color: var(--color-state-success-default);
|
|
12596
12768
|
}
|
|
12597
12769
|
|
|
12598
|
-
|
|
12599
|
-
|
|
12770
|
+
/* Warning variant */
|
|
12771
|
+
.muka-badge--warning {
|
|
12772
|
+
background-color: var(--color-state-warning-background);
|
|
12773
|
+
color: var(--color-state-warning-contrast);
|
|
12600
12774
|
}
|
|
12601
12775
|
|
|
12602
|
-
.muka-
|
|
12603
|
-
|
|
12776
|
+
.muka-badge--warning .muka-badge__dot {
|
|
12777
|
+
background-color: var(--color-state-warning-default);
|
|
12604
12778
|
}
|
|
12605
12779
|
|
|
12606
|
-
|
|
12607
|
-
|
|
12780
|
+
/* Error variant */
|
|
12781
|
+
.muka-badge--error {
|
|
12782
|
+
background-color: var(--color-state-error-background);
|
|
12783
|
+
color: var(--color-state-error-contrast);
|
|
12784
|
+
}
|
|
12785
|
+
|
|
12786
|
+
.muka-badge--error .muka-badge__dot {
|
|
12787
|
+
background-color: var(--color-state-error-default);
|
|
12608
12788
|
}
|
|
12609
12789
|
|
|
12610
12790
|
|
|
@@ -13079,283 +13259,99 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
13079
13259
|
width: var(--alert-icon-size);
|
|
13080
13260
|
height: var(--alert-icon-size);
|
|
13081
13261
|
}
|
|
13082
|
-
|
|
13083
|
-
.muka-alert__icon svg {
|
|
13084
|
-
width: 100%;
|
|
13085
|
-
height: 100%;
|
|
13086
|
-
}
|
|
13087
|
-
|
|
13088
|
-
/* The leading icon and the dismiss (×) icon inherit the variant accent set on
|
|
13089
|
-
their container, overriding the Icon component's default color. */
|
|
13090
|
-
.muka-alert__icon .muka-icon,
|
|
13091
|
-
.muka-alert__dismiss .muka-icon {
|
|
13092
|
-
color: inherit;
|
|
13093
|
-
}
|
|
13094
|
-
|
|
13095
|
-
/* Content */
|
|
13096
|
-
.muka-alert__content {
|
|
13097
|
-
flex: 1;
|
|
13098
|
-
min-width: 0;
|
|
13099
|
-
}
|
|
13100
|
-
|
|
13101
|
-
.muka-alert__title {
|
|
13102
|
-
font-family: var(--text-label-md-semibold-fontFamily);
|
|
13103
|
-
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
13104
|
-
font-size: var(--text-label-md-semibold-fontSize);
|
|
13105
|
-
line-height: var(--text-label-md-semibold-lineHeight);
|
|
13106
|
-
margin-bottom: var(--spacing-1);
|
|
13107
|
-
}
|
|
13108
|
-
|
|
13109
|
-
.muka-alert--sm .muka-alert__title {
|
|
13110
|
-
font-family: var(--text-label-sm-semibold-fontFamily);
|
|
13111
|
-
font-weight: var(--text-label-sm-semibold-fontWeight);
|
|
13112
|
-
font-size: var(--text-label-sm-semibold-fontSize);
|
|
13113
|
-
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
13114
|
-
}
|
|
13115
|
-
|
|
13116
|
-
.muka-alert--lg .muka-alert__title {
|
|
13117
|
-
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
13118
|
-
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
13119
|
-
font-size: var(--text-label-lg-semibold-fontSize);
|
|
13120
|
-
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
13121
|
-
}
|
|
13122
|
-
|
|
13123
|
-
.muka-alert__message {
|
|
13124
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13125
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13126
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
13127
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13128
|
-
}
|
|
13129
|
-
|
|
13130
|
-
.muka-alert--lg .muka-alert__message {
|
|
13131
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
13132
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
13133
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
13134
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
13135
|
-
}
|
|
13136
|
-
|
|
13137
|
-
/* Action slot */
|
|
13138
|
-
.muka-alert__action {
|
|
13139
|
-
display: flex;
|
|
13140
|
-
align-items: center;
|
|
13141
|
-
flex-shrink: 0;
|
|
13142
|
-
}
|
|
13143
|
-
|
|
13144
|
-
/* Dismiss button - uses accent color per variant, aligned with icon row */
|
|
13145
|
-
.muka-alert__dismiss {
|
|
13146
|
-
display: flex;
|
|
13147
|
-
align-items: center;
|
|
13148
|
-
justify-content: center;
|
|
13149
|
-
flex-shrink: 0;
|
|
13150
|
-
align-self: flex-start;
|
|
13151
|
-
width: 24px;
|
|
13152
|
-
height: 24px;
|
|
13153
|
-
padding: 0;
|
|
13154
|
-
margin: 0 0 0 auto;
|
|
13155
|
-
border: none;
|
|
13156
|
-
background: transparent;
|
|
13157
|
-
cursor: pointer;
|
|
13158
|
-
border-radius: var(--border-radius-sm);
|
|
13159
|
-
transition: opacity 0.15s ease, background-color 0.15s ease;
|
|
13160
|
-
}
|
|
13161
|
-
|
|
13162
|
-
.muka-alert__dismiss:hover {
|
|
13163
|
-
opacity: 0.85;
|
|
13164
|
-
background-color: rgba(0, 0, 0, 0.05);
|
|
13165
|
-
}
|
|
13166
|
-
|
|
13167
|
-
.muka-alert__dismiss:focus-visible {
|
|
13168
|
-
outline: 2px solid var(--color-border-focus);
|
|
13169
|
-
outline-offset: 2px;
|
|
13170
|
-
}
|
|
13171
|
-
|
|
13172
|
-
.muka-alert__dismiss svg {
|
|
13173
|
-
width: 16px;
|
|
13174
|
-
height: 16px;
|
|
13175
|
-
}
|
|
13176
|
-
|
|
13177
|
-
|
|
13178
|
-
/* Badge */
|
|
13179
|
-
/* Badge Component Styles - Using Muka Design Tokens */
|
|
13180
|
-
|
|
13181
|
-
.muka-badge {
|
|
13182
|
-
display: inline-flex;
|
|
13183
|
-
align-items: center;
|
|
13184
|
-
border-radius: var(--border-radius-full);
|
|
13185
|
-
white-space: nowrap;
|
|
13186
|
-
user-select: none;
|
|
13187
|
-
box-sizing: border-box;
|
|
13188
|
-
}
|
|
13189
|
-
|
|
13190
|
-
/*
|
|
13191
|
-
* Sizes — height, gap, type, and default (label-edge) horizontal padding.
|
|
13192
|
-
* Mirrors Chip so the two components share sizing, fonts, and spacing.
|
|
13193
|
-
* Vertical centering is handled by the fixed height + align-items: center.
|
|
13194
|
-
* The leading side gets a tighter padding when an icon/dot is present, via the
|
|
13195
|
-
* --has-icon / --has-dot modifiers below.
|
|
13196
|
-
*/
|
|
13197
|
-
.muka-badge--sm {
|
|
13198
|
-
height: var(--badge-size-height-sm);
|
|
13199
|
-
gap: var(--badge-gap-sm);
|
|
13200
|
-
padding: 0 var(--badge-padding-label-sm);
|
|
13201
|
-
font-family: var(--text-label-sm-regular-fontFamily);
|
|
13202
|
-
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
13203
|
-
font-size: var(--text-label-sm-regular-fontSize);
|
|
13204
|
-
line-height: var(--text-label-sm-regular-lineHeight);
|
|
13205
|
-
}
|
|
13206
|
-
|
|
13207
|
-
.muka-badge--md {
|
|
13208
|
-
height: var(--badge-size-height-md);
|
|
13209
|
-
gap: var(--badge-gap-md);
|
|
13210
|
-
padding: 0 var(--badge-padding-label-md);
|
|
13211
|
-
font-family: var(--text-label-md-regular-fontFamily);
|
|
13212
|
-
font-weight: var(--text-label-md-regular-fontWeight);
|
|
13213
|
-
font-size: var(--text-label-md-regular-fontSize);
|
|
13214
|
-
line-height: var(--text-label-md-regular-lineHeight);
|
|
13215
|
-
}
|
|
13216
|
-
|
|
13217
|
-
.muka-badge--lg {
|
|
13218
|
-
height: var(--badge-size-height-lg);
|
|
13219
|
-
gap: var(--badge-gap-lg);
|
|
13220
|
-
padding: 0 var(--badge-padding-label-lg);
|
|
13221
|
-
font-family: var(--text-label-lg-regular-fontFamily);
|
|
13222
|
-
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
13223
|
-
font-size: var(--text-label-lg-regular-fontSize);
|
|
13224
|
-
line-height: var(--text-label-lg-regular-lineHeight);
|
|
13225
|
-
}
|
|
13226
|
-
|
|
13227
|
-
/* Tighter leading padding when a leading icon or dot is present */
|
|
13228
|
-
.muka-badge--sm.muka-badge--has-icon,
|
|
13229
|
-
.muka-badge--sm.muka-badge--has-dot {
|
|
13230
|
-
padding-left: var(--badge-padding-leading-sm);
|
|
13231
|
-
}
|
|
13232
|
-
.muka-badge--md.muka-badge--has-icon,
|
|
13233
|
-
.muka-badge--md.muka-badge--has-dot {
|
|
13234
|
-
padding-left: var(--badge-padding-leading-md);
|
|
13235
|
-
}
|
|
13236
|
-
.muka-badge--lg.muka-badge--has-icon,
|
|
13237
|
-
.muka-badge--lg.muka-badge--has-dot {
|
|
13238
|
-
padding-left: var(--badge-padding-leading-lg);
|
|
13239
|
-
}
|
|
13240
|
-
|
|
13241
|
-
/* Leading icon slot — Figma icon sizes: sm 16, md 20, lg 24 (matches Chip) */
|
|
13242
|
-
.muka-badge__icon {
|
|
13243
|
-
display: inline-flex;
|
|
13244
|
-
align-items: center;
|
|
13245
|
-
justify-content: center;
|
|
13246
|
-
flex-shrink: 0;
|
|
13247
|
-
}
|
|
13248
|
-
|
|
13249
|
-
.muka-badge--sm .muka-badge__icon {
|
|
13250
|
-
width: var(--icon-size-xs);
|
|
13251
|
-
height: var(--icon-size-xs);
|
|
13252
|
-
}
|
|
13253
|
-
.muka-badge--md .muka-badge__icon {
|
|
13254
|
-
width: var(--icon-size-sm);
|
|
13255
|
-
height: var(--icon-size-sm);
|
|
13256
|
-
}
|
|
13257
|
-
.muka-badge--lg .muka-badge__icon {
|
|
13258
|
-
width: var(--icon-size-default);
|
|
13259
|
-
height: var(--icon-size-default);
|
|
13260
|
-
}
|
|
13261
|
-
|
|
13262
|
-
/* Force the passed content (raw <svg> or an <Icon> wrapper) to the slot size,
|
|
13263
|
-
so callers don't have to size the icon to match each badge size. The
|
|
13264
|
-
.muka-icon selector is intentionally 2 classes deep to override .muka-icon--md. */
|
|
13265
|
-
.muka-badge__icon .muka-icon,
|
|
13266
|
-
.muka-badge__icon svg {
|
|
13267
|
-
width: 100%;
|
|
13268
|
-
height: 100%;
|
|
13269
|
-
}
|
|
13270
|
-
|
|
13271
|
-
/* Icons inherit the badge's per-variant foreground color */
|
|
13272
|
-
.muka-badge .muka-icon {
|
|
13273
|
-
color: inherit;
|
|
13274
|
-
}
|
|
13275
|
-
|
|
13276
|
-
/* Dot indicator */
|
|
13277
|
-
.muka-badge__dot {
|
|
13278
|
-
flex-shrink: 0;
|
|
13279
|
-
border-radius: var(--border-radius-full);
|
|
13280
|
-
}
|
|
13281
|
-
|
|
13282
|
-
.muka-badge--sm .muka-badge__dot {
|
|
13283
|
-
width: var(--badge-size-dot-sm);
|
|
13284
|
-
height: var(--badge-size-dot-sm);
|
|
13285
|
-
}
|
|
13286
|
-
|
|
13287
|
-
.muka-badge--md .muka-badge__dot {
|
|
13288
|
-
width: var(--badge-size-dot-md);
|
|
13289
|
-
height: var(--badge-size-dot-md);
|
|
13262
|
+
|
|
13263
|
+
.muka-alert__icon svg {
|
|
13264
|
+
width: 100%;
|
|
13265
|
+
height: 100%;
|
|
13290
13266
|
}
|
|
13291
13267
|
|
|
13292
|
-
|
|
13293
|
-
|
|
13294
|
-
|
|
13268
|
+
/* The leading icon and the dismiss (×) icon inherit the variant accent set on
|
|
13269
|
+
their container, overriding the Icon component's default color. */
|
|
13270
|
+
.muka-alert__icon .muka-icon,
|
|
13271
|
+
.muka-alert__dismiss .muka-icon {
|
|
13272
|
+
color: inherit;
|
|
13295
13273
|
}
|
|
13296
13274
|
|
|
13297
|
-
|
|
13298
|
-
|
|
13275
|
+
/* Content */
|
|
13276
|
+
.muka-alert__content {
|
|
13277
|
+
flex: 1;
|
|
13299
13278
|
min-width: 0;
|
|
13300
|
-
overflow: hidden;
|
|
13301
|
-
text-overflow: ellipsis;
|
|
13302
|
-
/*
|
|
13303
|
-
* The badge sets a tight line-height for compact sizing, but the label's
|
|
13304
|
-
* `overflow: hidden` (needed for ellipsis) then clips glyph descenders (g, y, p). Give the
|
|
13305
|
-
* label its own roomier line-height so descenders render; vertical centering is unaffected
|
|
13306
|
-
* because the badge height is fixed and content is centered via align-items: center.
|
|
13307
|
-
*/
|
|
13308
|
-
line-height: normal;
|
|
13309
13279
|
}
|
|
13310
13280
|
|
|
13311
|
-
|
|
13312
|
-
|
|
13313
|
-
|
|
13314
|
-
|
|
13281
|
+
.muka-alert__title {
|
|
13282
|
+
font-family: var(--text-label-md-semibold-fontFamily);
|
|
13283
|
+
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
13284
|
+
font-size: var(--text-label-md-semibold-fontSize);
|
|
13285
|
+
line-height: var(--text-label-md-semibold-lineHeight);
|
|
13286
|
+
margin-bottom: var(--spacing-1);
|
|
13315
13287
|
}
|
|
13316
13288
|
|
|
13317
|
-
.muka-
|
|
13318
|
-
|
|
13289
|
+
.muka-alert--sm .muka-alert__title {
|
|
13290
|
+
font-family: var(--text-label-sm-semibold-fontFamily);
|
|
13291
|
+
font-weight: var(--text-label-sm-semibold-fontWeight);
|
|
13292
|
+
font-size: var(--text-label-sm-semibold-fontSize);
|
|
13293
|
+
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
13319
13294
|
}
|
|
13320
13295
|
|
|
13321
|
-
|
|
13322
|
-
|
|
13323
|
-
|
|
13324
|
-
|
|
13296
|
+
.muka-alert--lg .muka-alert__title {
|
|
13297
|
+
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
13298
|
+
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
13299
|
+
font-size: var(--text-label-lg-semibold-fontSize);
|
|
13300
|
+
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
13325
13301
|
}
|
|
13326
13302
|
|
|
13327
|
-
.muka-
|
|
13328
|
-
|
|
13303
|
+
.muka-alert__message {
|
|
13304
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13305
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13306
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
13307
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13329
13308
|
}
|
|
13330
13309
|
|
|
13331
|
-
|
|
13332
|
-
|
|
13333
|
-
|
|
13334
|
-
|
|
13310
|
+
.muka-alert--lg .muka-alert__message {
|
|
13311
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
13312
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
13313
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
13314
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
13335
13315
|
}
|
|
13336
13316
|
|
|
13337
|
-
|
|
13338
|
-
|
|
13317
|
+
/* Action slot */
|
|
13318
|
+
.muka-alert__action {
|
|
13319
|
+
display: flex;
|
|
13320
|
+
align-items: center;
|
|
13321
|
+
flex-shrink: 0;
|
|
13339
13322
|
}
|
|
13340
13323
|
|
|
13341
|
-
/*
|
|
13342
|
-
.muka-
|
|
13343
|
-
|
|
13344
|
-
|
|
13324
|
+
/* Dismiss button - uses accent color per variant, aligned with icon row */
|
|
13325
|
+
.muka-alert__dismiss {
|
|
13326
|
+
display: flex;
|
|
13327
|
+
align-items: center;
|
|
13328
|
+
justify-content: center;
|
|
13329
|
+
flex-shrink: 0;
|
|
13330
|
+
align-self: flex-start;
|
|
13331
|
+
width: 24px;
|
|
13332
|
+
height: 24px;
|
|
13333
|
+
padding: 0;
|
|
13334
|
+
margin: 0 0 0 auto;
|
|
13335
|
+
border: none;
|
|
13336
|
+
background: transparent;
|
|
13337
|
+
cursor: pointer;
|
|
13338
|
+
border-radius: var(--border-radius-sm);
|
|
13339
|
+
transition: opacity 0.15s ease, background-color 0.15s ease;
|
|
13345
13340
|
}
|
|
13346
13341
|
|
|
13347
|
-
.muka-
|
|
13348
|
-
|
|
13342
|
+
.muka-alert__dismiss:hover {
|
|
13343
|
+
opacity: 0.85;
|
|
13344
|
+
background-color: rgba(0, 0, 0, 0.05);
|
|
13349
13345
|
}
|
|
13350
13346
|
|
|
13351
|
-
|
|
13352
|
-
|
|
13353
|
-
|
|
13354
|
-
color: var(--color-state-error-contrast);
|
|
13347
|
+
.muka-alert__dismiss:focus-visible {
|
|
13348
|
+
outline: 2px solid var(--color-border-focus);
|
|
13349
|
+
outline-offset: 2px;
|
|
13355
13350
|
}
|
|
13356
13351
|
|
|
13357
|
-
.muka-
|
|
13358
|
-
|
|
13352
|
+
.muka-alert__dismiss svg {
|
|
13353
|
+
width: 16px;
|
|
13354
|
+
height: 16px;
|
|
13359
13355
|
}
|
|
13360
13356
|
|
|
13361
13357
|
|
|
@@ -13429,233 +13425,102 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
13429
13425
|
flex-direction: column;
|
|
13430
13426
|
}
|
|
13431
13427
|
|
|
13432
|
-
/* ─── Single task row ──────────────────────────────────── */
|
|
13433
|
-
|
|
13434
|
-
.muka-agent-task-list__task {
|
|
13435
|
-
display: flex;
|
|
13436
|
-
align-items: stretch;
|
|
13437
|
-
gap: var(--spacing-4);
|
|
13438
|
-
min-height: 32px;
|
|
13439
|
-
padding: 0;
|
|
13440
|
-
}
|
|
13441
|
-
|
|
13442
|
-
/* ─── Bullet column (icon + timeline connector) ────────── */
|
|
13443
|
-
|
|
13444
|
-
.muka-agent-task-list__bullet {
|
|
13445
|
-
position: relative;
|
|
13446
|
-
flex-shrink: 0;
|
|
13447
|
-
width: 16px;
|
|
13448
|
-
align-self: stretch;
|
|
13449
|
-
}
|
|
13450
|
-
|
|
13451
|
-
.muka-agent-task-list__line {
|
|
13452
|
-
position: absolute;
|
|
13453
|
-
left: 7px;
|
|
13454
|
-
width: 1px;
|
|
13455
|
-
background-color: var(--color-border-default);
|
|
13456
|
-
}
|
|
13457
|
-
|
|
13458
|
-
.muka-agent-task-list__line--top {
|
|
13459
|
-
top: 0;
|
|
13460
|
-
height: 6px;
|
|
13461
|
-
}
|
|
13462
|
-
|
|
13463
|
-
.muka-agent-task-list__line--bottom {
|
|
13464
|
-
top: 32px;
|
|
13465
|
-
bottom: 0;
|
|
13466
|
-
}
|
|
13467
|
-
|
|
13468
|
-
.muka-agent-task-list__task:first-child .muka-agent-task-list__line--top {
|
|
13469
|
-
display: none;
|
|
13470
|
-
}
|
|
13471
|
-
|
|
13472
|
-
.muka-agent-task-list__task:last-child .muka-agent-task-list__line--bottom {
|
|
13473
|
-
display: none;
|
|
13474
|
-
}
|
|
13475
|
-
|
|
13476
|
-
.muka-agent-task-list__icon {
|
|
13477
|
-
position: absolute;
|
|
13478
|
-
top: 8px;
|
|
13479
|
-
left: 0;
|
|
13480
|
-
width: 16px;
|
|
13481
|
-
height: 16px;
|
|
13482
|
-
display: inline-flex;
|
|
13483
|
-
align-items: center;
|
|
13484
|
-
justify-content: center;
|
|
13485
|
-
color: var(--color-text-subtle-default);
|
|
13486
|
-
z-index: 1;
|
|
13487
|
-
}
|
|
13488
|
-
|
|
13489
|
-
/* ─── State color treatments ───────────────────────────── */
|
|
13490
|
-
|
|
13491
|
-
.muka-agent-task-list__task[data-state='active'] .muka-agent-task-list__icon {
|
|
13492
|
-
color: var(--color-action-default);
|
|
13493
|
-
}
|
|
13494
|
-
|
|
13495
|
-
.muka-agent-task-list__task[data-state='done'] .muka-agent-task-list__icon {
|
|
13496
|
-
color: var(--color-text-subtle-default);
|
|
13497
|
-
}
|
|
13498
|
-
|
|
13499
|
-
.muka-agent-task-list__task[data-state='pending'] .muka-agent-task-list__icon {
|
|
13500
|
-
color: var(--color-text-muted-default, var(--color-text-subtle-default));
|
|
13501
|
-
opacity: 0.6;
|
|
13502
|
-
}
|
|
13503
|
-
|
|
13504
|
-
/* ─── Label ────────────────────────────────────────────── */
|
|
13505
|
-
|
|
13506
|
-
.muka-agent-task-list__label {
|
|
13507
|
-
flex: 1 1 0;
|
|
13508
|
-
min-width: 0;
|
|
13509
|
-
padding: var(--spacing-2) 0;
|
|
13510
|
-
color: var(--color-text-subtle-default);
|
|
13511
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13512
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13513
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
13514
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13515
|
-
word-break: break-word;
|
|
13516
|
-
}
|
|
13517
|
-
|
|
13518
|
-
/* ─── Print ────────────────────────────────────────────── */
|
|
13519
|
-
|
|
13520
|
-
@media print {
|
|
13521
|
-
.muka-agent-task-list {
|
|
13522
|
-
break-inside: avoid;
|
|
13523
|
-
}
|
|
13524
|
-
|
|
13525
|
-
.muka-agent-task-list__chevron {
|
|
13526
|
-
display: none;
|
|
13527
|
-
}
|
|
13528
|
-
}
|
|
13529
|
-
|
|
13530
|
-
|
|
13531
|
-
/* Accordion */
|
|
13532
|
-
/* Accordion Component Styles */
|
|
13533
|
-
|
|
13534
|
-
.muka-accordion {
|
|
13535
|
-
width: 100%;
|
|
13536
|
-
}
|
|
13537
|
-
|
|
13538
|
-
/* Item */
|
|
13539
|
-
.muka-accordion__item {
|
|
13540
|
-
border-bottom: var(--border-width-regular) solid var(--color-border-default);
|
|
13541
|
-
}
|
|
13542
|
-
|
|
13543
|
-
.muka-accordion__item:last-child {
|
|
13544
|
-
border-bottom: none;
|
|
13545
|
-
}
|
|
13546
|
-
|
|
13547
|
-
/* Header reset */
|
|
13548
|
-
.muka-accordion__header {
|
|
13549
|
-
margin: 0;
|
|
13550
|
-
}
|
|
13551
|
-
|
|
13552
|
-
/* Trigger */
|
|
13553
|
-
.muka-accordion__trigger {
|
|
13554
|
-
display: flex;
|
|
13555
|
-
align-items: center;
|
|
13556
|
-
justify-content: space-between;
|
|
13557
|
-
width: 100%;
|
|
13558
|
-
padding: var(--spacing-4);
|
|
13559
|
-
background: none;
|
|
13560
|
-
border: none;
|
|
13561
|
-
cursor: pointer;
|
|
13562
|
-
font-family: var(--text-label-md-semibold-fontFamily);
|
|
13563
|
-
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
13564
|
-
font-size: var(--text-label-md-semibold-fontSize);
|
|
13565
|
-
line-height: var(--text-label-md-semibold-lineHeight);
|
|
13566
|
-
color: var(--color-text-default-default);
|
|
13567
|
-
text-align: left;
|
|
13568
|
-
gap: var(--spacing-3);
|
|
13569
|
-
transition: background-color 0.15s ease;
|
|
13570
|
-
}
|
|
13571
|
-
|
|
13572
|
-
.muka-accordion__trigger:hover {
|
|
13573
|
-
background-color: var(--color-surface-level1);
|
|
13574
|
-
}
|
|
13575
|
-
|
|
13576
|
-
.muka-accordion__trigger[data-disabled] {
|
|
13577
|
-
cursor: not-allowed;
|
|
13578
|
-
opacity: 0.4;
|
|
13579
|
-
}
|
|
13428
|
+
/* ─── Single task row ──────────────────────────────────── */
|
|
13580
13429
|
|
|
13581
|
-
.muka-
|
|
13582
|
-
|
|
13430
|
+
.muka-agent-task-list__task {
|
|
13431
|
+
display: flex;
|
|
13432
|
+
align-items: stretch;
|
|
13433
|
+
gap: var(--spacing-4);
|
|
13434
|
+
min-height: 32px;
|
|
13435
|
+
padding: 0;
|
|
13583
13436
|
}
|
|
13584
13437
|
|
|
13585
|
-
/*
|
|
13586
|
-
.muka-accordion__chevron {
|
|
13587
|
-
display: inline-flex;
|
|
13588
|
-
align-items: center;
|
|
13589
|
-
color: var(--color-text-subtle-default);
|
|
13590
|
-
transition: transform 200ms ease;
|
|
13591
|
-
}
|
|
13438
|
+
/* ─── Bullet column (icon + timeline connector) ────────── */
|
|
13592
13439
|
|
|
13593
|
-
.muka-
|
|
13594
|
-
|
|
13440
|
+
.muka-agent-task-list__bullet {
|
|
13441
|
+
position: relative;
|
|
13442
|
+
flex-shrink: 0;
|
|
13443
|
+
width: 16px;
|
|
13444
|
+
align-self: stretch;
|
|
13595
13445
|
}
|
|
13596
13446
|
|
|
13597
|
-
|
|
13598
|
-
|
|
13599
|
-
|
|
13447
|
+
.muka-agent-task-list__line {
|
|
13448
|
+
position: absolute;
|
|
13449
|
+
left: 7px;
|
|
13450
|
+
width: 1px;
|
|
13451
|
+
background-color: var(--color-border-default);
|
|
13600
13452
|
}
|
|
13601
13453
|
|
|
13602
|
-
.muka-
|
|
13603
|
-
|
|
13454
|
+
.muka-agent-task-list__line--top {
|
|
13455
|
+
top: 0;
|
|
13456
|
+
height: 6px;
|
|
13604
13457
|
}
|
|
13605
13458
|
|
|
13606
|
-
.muka-
|
|
13607
|
-
|
|
13459
|
+
.muka-agent-task-list__line--bottom {
|
|
13460
|
+
top: 32px;
|
|
13461
|
+
bottom: 0;
|
|
13608
13462
|
}
|
|
13609
13463
|
|
|
13610
|
-
|
|
13611
|
-
|
|
13612
|
-
height: 0;
|
|
13613
|
-
}
|
|
13614
|
-
to {
|
|
13615
|
-
height: var(--radix-accordion-content-height);
|
|
13616
|
-
}
|
|
13464
|
+
.muka-agent-task-list__task:first-child .muka-agent-task-list__line--top {
|
|
13465
|
+
display: none;
|
|
13617
13466
|
}
|
|
13618
13467
|
|
|
13619
|
-
|
|
13620
|
-
|
|
13621
|
-
height: var(--radix-accordion-content-height);
|
|
13622
|
-
}
|
|
13623
|
-
to {
|
|
13624
|
-
height: 0;
|
|
13625
|
-
}
|
|
13468
|
+
.muka-agent-task-list__task:last-child .muka-agent-task-list__line--bottom {
|
|
13469
|
+
display: none;
|
|
13626
13470
|
}
|
|
13627
13471
|
|
|
13628
|
-
.muka-
|
|
13629
|
-
|
|
13630
|
-
|
|
13472
|
+
.muka-agent-task-list__icon {
|
|
13473
|
+
position: absolute;
|
|
13474
|
+
top: 8px;
|
|
13475
|
+
left: 0;
|
|
13476
|
+
width: 16px;
|
|
13477
|
+
height: 16px;
|
|
13478
|
+
display: inline-flex;
|
|
13479
|
+
align-items: center;
|
|
13480
|
+
justify-content: center;
|
|
13481
|
+
color: var(--color-text-subtle-default);
|
|
13482
|
+
z-index: 1;
|
|
13631
13483
|
}
|
|
13632
13484
|
|
|
13633
|
-
/* ───
|
|
13485
|
+
/* ─── State color treatments ───────────────────────────── */
|
|
13634
13486
|
|
|
13635
|
-
.muka-
|
|
13636
|
-
|
|
13637
|
-
padding-right: 0;
|
|
13487
|
+
.muka-agent-task-list__task[data-state='active'] .muka-agent-task-list__icon {
|
|
13488
|
+
color: var(--color-action-default);
|
|
13638
13489
|
}
|
|
13639
13490
|
|
|
13640
|
-
.muka-
|
|
13641
|
-
|
|
13642
|
-
padding-right: 0;
|
|
13491
|
+
.muka-agent-task-list__task[data-state='done'] .muka-agent-task-list__icon {
|
|
13492
|
+
color: var(--color-text-subtle-default);
|
|
13643
13493
|
}
|
|
13644
13494
|
|
|
13645
|
-
|
|
13646
|
-
|
|
13647
|
-
.
|
|
13648
|
-
border: var(--border-width-regular) solid var(--color-border-default);
|
|
13649
|
-
border-radius: var(--radius-md);
|
|
13650
|
-
overflow: hidden;
|
|
13495
|
+
.muka-agent-task-list__task[data-state='pending'] .muka-agent-task-list__icon {
|
|
13496
|
+
color: var(--color-text-muted-default, var(--color-text-subtle-default));
|
|
13497
|
+
opacity: 0.6;
|
|
13651
13498
|
}
|
|
13652
13499
|
|
|
13653
|
-
|
|
13654
|
-
|
|
13500
|
+
/* ─── Label ────────────────────────────────────────────── */
|
|
13501
|
+
|
|
13502
|
+
.muka-agent-task-list__label {
|
|
13503
|
+
flex: 1 1 0;
|
|
13504
|
+
min-width: 0;
|
|
13505
|
+
padding: var(--spacing-2) 0;
|
|
13506
|
+
color: var(--color-text-subtle-default);
|
|
13507
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13508
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13509
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
13510
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13511
|
+
word-break: break-word;
|
|
13655
13512
|
}
|
|
13656
13513
|
|
|
13657
|
-
|
|
13658
|
-
|
|
13514
|
+
/* ─── Print ────────────────────────────────────────────── */
|
|
13515
|
+
|
|
13516
|
+
@media print {
|
|
13517
|
+
.muka-agent-task-list {
|
|
13518
|
+
break-inside: avoid;
|
|
13519
|
+
}
|
|
13520
|
+
|
|
13521
|
+
.muka-agent-task-list__chevron {
|
|
13522
|
+
display: none;
|
|
13523
|
+
}
|
|
13659
13524
|
}
|
|
13660
13525
|
|
|
13661
13526
|
|
|
@@ -13800,3 +13665,134 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
13800
13665
|
outline-offset: 2px;
|
|
13801
13666
|
}
|
|
13802
13667
|
|
|
13668
|
+
|
|
13669
|
+
/* Accordion */
|
|
13670
|
+
/* Accordion Component Styles */
|
|
13671
|
+
|
|
13672
|
+
.muka-accordion {
|
|
13673
|
+
width: 100%;
|
|
13674
|
+
}
|
|
13675
|
+
|
|
13676
|
+
/* Item */
|
|
13677
|
+
.muka-accordion__item {
|
|
13678
|
+
border-bottom: var(--border-width-regular) solid var(--color-border-default);
|
|
13679
|
+
}
|
|
13680
|
+
|
|
13681
|
+
.muka-accordion__item:last-child {
|
|
13682
|
+
border-bottom: none;
|
|
13683
|
+
}
|
|
13684
|
+
|
|
13685
|
+
/* Header reset */
|
|
13686
|
+
.muka-accordion__header {
|
|
13687
|
+
margin: 0;
|
|
13688
|
+
}
|
|
13689
|
+
|
|
13690
|
+
/* Trigger */
|
|
13691
|
+
.muka-accordion__trigger {
|
|
13692
|
+
display: flex;
|
|
13693
|
+
align-items: center;
|
|
13694
|
+
justify-content: space-between;
|
|
13695
|
+
width: 100%;
|
|
13696
|
+
padding: var(--spacing-4);
|
|
13697
|
+
background: none;
|
|
13698
|
+
border: none;
|
|
13699
|
+
cursor: pointer;
|
|
13700
|
+
font-family: var(--text-label-md-semibold-fontFamily);
|
|
13701
|
+
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
13702
|
+
font-size: var(--text-label-md-semibold-fontSize);
|
|
13703
|
+
line-height: var(--text-label-md-semibold-lineHeight);
|
|
13704
|
+
color: var(--color-text-default-default);
|
|
13705
|
+
text-align: left;
|
|
13706
|
+
gap: var(--spacing-3);
|
|
13707
|
+
transition: background-color 0.15s ease;
|
|
13708
|
+
}
|
|
13709
|
+
|
|
13710
|
+
.muka-accordion__trigger:hover {
|
|
13711
|
+
background-color: var(--color-surface-level1);
|
|
13712
|
+
}
|
|
13713
|
+
|
|
13714
|
+
.muka-accordion__trigger[data-disabled] {
|
|
13715
|
+
cursor: not-allowed;
|
|
13716
|
+
opacity: 0.4;
|
|
13717
|
+
}
|
|
13718
|
+
|
|
13719
|
+
.muka-accordion__trigger-text {
|
|
13720
|
+
flex: 1;
|
|
13721
|
+
}
|
|
13722
|
+
|
|
13723
|
+
/* Chevron rotation */
|
|
13724
|
+
.muka-accordion__chevron {
|
|
13725
|
+
display: inline-flex;
|
|
13726
|
+
align-items: center;
|
|
13727
|
+
color: var(--color-text-subtle-default);
|
|
13728
|
+
transition: transform 200ms ease;
|
|
13729
|
+
}
|
|
13730
|
+
|
|
13731
|
+
.muka-accordion__trigger[data-state='open'] .muka-accordion__chevron {
|
|
13732
|
+
transform: rotate(180deg);
|
|
13733
|
+
}
|
|
13734
|
+
|
|
13735
|
+
/* Content */
|
|
13736
|
+
.muka-accordion__content {
|
|
13737
|
+
overflow: hidden;
|
|
13738
|
+
}
|
|
13739
|
+
|
|
13740
|
+
.muka-accordion__content[data-state='open'] {
|
|
13741
|
+
animation: muka-accordion-slideDown 200ms ease;
|
|
13742
|
+
}
|
|
13743
|
+
|
|
13744
|
+
.muka-accordion__content[data-state='closed'] {
|
|
13745
|
+
animation: muka-accordion-slideUp 200ms ease;
|
|
13746
|
+
}
|
|
13747
|
+
|
|
13748
|
+
@keyframes muka-accordion-slideDown {
|
|
13749
|
+
from {
|
|
13750
|
+
height: 0;
|
|
13751
|
+
}
|
|
13752
|
+
to {
|
|
13753
|
+
height: var(--radix-accordion-content-height);
|
|
13754
|
+
}
|
|
13755
|
+
}
|
|
13756
|
+
|
|
13757
|
+
@keyframes muka-accordion-slideUp {
|
|
13758
|
+
from {
|
|
13759
|
+
height: var(--radix-accordion-content-height);
|
|
13760
|
+
}
|
|
13761
|
+
to {
|
|
13762
|
+
height: 0;
|
|
13763
|
+
}
|
|
13764
|
+
}
|
|
13765
|
+
|
|
13766
|
+
.muka-accordion__content-inner {
|
|
13767
|
+
padding: 0 var(--spacing-4) var(--spacing-5);
|
|
13768
|
+
color: var(--color-text-default-default);
|
|
13769
|
+
}
|
|
13770
|
+
|
|
13771
|
+
/* ─── Variant: flush ────────────────────────────────────────────────────── */
|
|
13772
|
+
|
|
13773
|
+
.muka-accordion--flush .muka-accordion__trigger {
|
|
13774
|
+
padding-left: 0;
|
|
13775
|
+
padding-right: 0;
|
|
13776
|
+
}
|
|
13777
|
+
|
|
13778
|
+
.muka-accordion--flush .muka-accordion__content-inner {
|
|
13779
|
+
padding-left: 0;
|
|
13780
|
+
padding-right: 0;
|
|
13781
|
+
}
|
|
13782
|
+
|
|
13783
|
+
/* ─── Variant: contained ────────────────────────────────────────────────── */
|
|
13784
|
+
|
|
13785
|
+
.muka-accordion--contained {
|
|
13786
|
+
border: var(--border-width-regular) solid var(--color-border-default);
|
|
13787
|
+
border-radius: var(--radius-md);
|
|
13788
|
+
overflow: hidden;
|
|
13789
|
+
}
|
|
13790
|
+
|
|
13791
|
+
.muka-accordion--contained .muka-accordion__item {
|
|
13792
|
+
background-color: var(--color-surface-level3);
|
|
13793
|
+
}
|
|
13794
|
+
|
|
13795
|
+
.muka-accordion--contained .muka-accordion__item:last-child {
|
|
13796
|
+
border-bottom: none;
|
|
13797
|
+
}
|
|
13798
|
+
|