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