@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
|
@@ -2887,6 +2887,196 @@ body {
|
|
|
2887
2887
|
}
|
|
2888
2888
|
|
|
2889
2889
|
|
|
2890
|
+
/* Toast */
|
|
2891
|
+
/* Toast Component Styles - Using Muka Design Tokens */
|
|
2892
|
+
|
|
2893
|
+
.muka-toast {
|
|
2894
|
+
display: flex;
|
|
2895
|
+
align-items: flex-start;
|
|
2896
|
+
gap: var(--toast-gap);
|
|
2897
|
+
padding: var(--toast-padding-y) var(--toast-padding-x);
|
|
2898
|
+
border-radius: var(--toast-radius);
|
|
2899
|
+
box-shadow: var(--toast-shadow);
|
|
2900
|
+
min-width: var(--toast-width-min);
|
|
2901
|
+
max-width: var(--toast-width-max);
|
|
2902
|
+
pointer-events: auto;
|
|
2903
|
+
animation: muka-toast-slide-in 0.2s ease-out;
|
|
2904
|
+
}
|
|
2905
|
+
|
|
2906
|
+
/* Entry animation */
|
|
2907
|
+
@keyframes muka-toast-slide-in {
|
|
2908
|
+
from {
|
|
2909
|
+
opacity: 0;
|
|
2910
|
+
transform: translateY(8px);
|
|
2911
|
+
}
|
|
2912
|
+
to {
|
|
2913
|
+
opacity: 1;
|
|
2914
|
+
transform: translateY(0);
|
|
2915
|
+
}
|
|
2916
|
+
}
|
|
2917
|
+
|
|
2918
|
+
/* Position variants (for standalone use - typically managed by ToastProvider) */
|
|
2919
|
+
.muka-toast--top-right,
|
|
2920
|
+
.muka-toast--top-left,
|
|
2921
|
+
.muka-toast--top-center,
|
|
2922
|
+
.muka-toast--bottom-right,
|
|
2923
|
+
.muka-toast--bottom-left,
|
|
2924
|
+
.muka-toast--bottom-center {
|
|
2925
|
+
position: fixed;
|
|
2926
|
+
z-index: 9999;
|
|
2927
|
+
}
|
|
2928
|
+
|
|
2929
|
+
.muka-toast--top-right {
|
|
2930
|
+
top: var(--spacing-4);
|
|
2931
|
+
right: var(--spacing-4);
|
|
2932
|
+
}
|
|
2933
|
+
|
|
2934
|
+
.muka-toast--top-left {
|
|
2935
|
+
top: var(--spacing-4);
|
|
2936
|
+
left: var(--spacing-4);
|
|
2937
|
+
}
|
|
2938
|
+
|
|
2939
|
+
.muka-toast--top-center {
|
|
2940
|
+
top: var(--spacing-4);
|
|
2941
|
+
left: 50%;
|
|
2942
|
+
transform: translateX(-50%);
|
|
2943
|
+
}
|
|
2944
|
+
|
|
2945
|
+
.muka-toast--bottom-right {
|
|
2946
|
+
bottom: var(--spacing-4);
|
|
2947
|
+
right: var(--spacing-4);
|
|
2948
|
+
}
|
|
2949
|
+
|
|
2950
|
+
.muka-toast--bottom-left {
|
|
2951
|
+
bottom: var(--spacing-4);
|
|
2952
|
+
left: var(--spacing-4);
|
|
2953
|
+
}
|
|
2954
|
+
|
|
2955
|
+
.muka-toast--bottom-center {
|
|
2956
|
+
bottom: var(--spacing-4);
|
|
2957
|
+
left: 50%;
|
|
2958
|
+
transform: translateX(-50%);
|
|
2959
|
+
}
|
|
2960
|
+
|
|
2961
|
+
/* Variant: Info */
|
|
2962
|
+
.muka-toast--info {
|
|
2963
|
+
background-color: var(--toast-color-info-background);
|
|
2964
|
+
color: var(--toast-color-info-foreground);
|
|
2965
|
+
}
|
|
2966
|
+
|
|
2967
|
+
.muka-toast--info .muka-toast__icon {
|
|
2968
|
+
color: var(--toast-color-info-accent);
|
|
2969
|
+
}
|
|
2970
|
+
|
|
2971
|
+
/* Variant: Success */
|
|
2972
|
+
.muka-toast--success {
|
|
2973
|
+
background-color: var(--toast-color-success-background);
|
|
2974
|
+
color: var(--toast-color-success-foreground);
|
|
2975
|
+
}
|
|
2976
|
+
|
|
2977
|
+
.muka-toast--success .muka-toast__icon {
|
|
2978
|
+
color: var(--toast-color-success-accent);
|
|
2979
|
+
}
|
|
2980
|
+
|
|
2981
|
+
/* Variant: Warning */
|
|
2982
|
+
.muka-toast--warning {
|
|
2983
|
+
background-color: var(--toast-color-warning-background);
|
|
2984
|
+
color: var(--toast-color-warning-foreground);
|
|
2985
|
+
}
|
|
2986
|
+
|
|
2987
|
+
.muka-toast--warning .muka-toast__icon {
|
|
2988
|
+
color: var(--toast-color-warning-accent);
|
|
2989
|
+
}
|
|
2990
|
+
|
|
2991
|
+
/* Variant: Error */
|
|
2992
|
+
.muka-toast--error {
|
|
2993
|
+
background-color: var(--toast-color-error-background);
|
|
2994
|
+
color: var(--toast-color-error-foreground);
|
|
2995
|
+
}
|
|
2996
|
+
|
|
2997
|
+
.muka-toast--error .muka-toast__icon {
|
|
2998
|
+
color: var(--toast-color-error-accent);
|
|
2999
|
+
}
|
|
3000
|
+
|
|
3001
|
+
/* Icon */
|
|
3002
|
+
.muka-toast__icon {
|
|
3003
|
+
display: flex;
|
|
3004
|
+
align-items: center;
|
|
3005
|
+
justify-content: center;
|
|
3006
|
+
flex-shrink: 0;
|
|
3007
|
+
width: var(--toast-icon-size);
|
|
3008
|
+
height: var(--toast-icon-size);
|
|
3009
|
+
}
|
|
3010
|
+
|
|
3011
|
+
.muka-toast__icon svg {
|
|
3012
|
+
width: 100%;
|
|
3013
|
+
height: 100%;
|
|
3014
|
+
}
|
|
3015
|
+
|
|
3016
|
+
/* Content */
|
|
3017
|
+
.muka-toast__content {
|
|
3018
|
+
flex: 1;
|
|
3019
|
+
min-width: 0;
|
|
3020
|
+
}
|
|
3021
|
+
|
|
3022
|
+
.muka-toast__title {
|
|
3023
|
+
font-family: var(--text-label-md-semibold-fontFamily);
|
|
3024
|
+
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
3025
|
+
font-size: var(--text-label-md-semibold-fontSize);
|
|
3026
|
+
line-height: var(--text-label-md-semibold-lineHeight);
|
|
3027
|
+
margin-bottom: var(--spacing-1);
|
|
3028
|
+
}
|
|
3029
|
+
|
|
3030
|
+
.muka-toast__message {
|
|
3031
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
3032
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
3033
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
3034
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
3035
|
+
}
|
|
3036
|
+
|
|
3037
|
+
/* Action slot */
|
|
3038
|
+
.muka-toast__action {
|
|
3039
|
+
display: flex;
|
|
3040
|
+
align-items: center;
|
|
3041
|
+
flex-shrink: 0;
|
|
3042
|
+
}
|
|
3043
|
+
|
|
3044
|
+
/* Dismiss button */
|
|
3045
|
+
.muka-toast__dismiss {
|
|
3046
|
+
display: flex;
|
|
3047
|
+
align-items: center;
|
|
3048
|
+
justify-content: center;
|
|
3049
|
+
flex-shrink: 0;
|
|
3050
|
+
width: 24px;
|
|
3051
|
+
height: 24px;
|
|
3052
|
+
padding: 0;
|
|
3053
|
+
margin: -2px -4px -2px 0;
|
|
3054
|
+
border: none;
|
|
3055
|
+
background: transparent;
|
|
3056
|
+
color: inherit;
|
|
3057
|
+
opacity: 0.7;
|
|
3058
|
+
cursor: pointer;
|
|
3059
|
+
border-radius: var(--border-radius-sm);
|
|
3060
|
+
transition: opacity 0.15s ease, background-color 0.15s ease;
|
|
3061
|
+
}
|
|
3062
|
+
|
|
3063
|
+
.muka-toast__dismiss:hover {
|
|
3064
|
+
opacity: 1;
|
|
3065
|
+
background-color: rgba(0, 0, 0, 0.05);
|
|
3066
|
+
}
|
|
3067
|
+
|
|
3068
|
+
.muka-toast__dismiss:focus-visible {
|
|
3069
|
+
outline: 2px solid var(--color-border-focus);
|
|
3070
|
+
outline-offset: 2px;
|
|
3071
|
+
opacity: 1;
|
|
3072
|
+
}
|
|
3073
|
+
|
|
3074
|
+
.muka-toast__dismiss svg {
|
|
3075
|
+
width: 16px;
|
|
3076
|
+
height: 16px;
|
|
3077
|
+
}
|
|
3078
|
+
|
|
3079
|
+
|
|
2890
3080
|
/* Tile */
|
|
2891
3081
|
/* Tile Component Styles - Using Muka Design Tokens */
|
|
2892
3082
|
|
|
@@ -3248,230 +3438,40 @@ body {
|
|
|
3248
3438
|
}
|
|
3249
3439
|
|
|
3250
3440
|
|
|
3251
|
-
/*
|
|
3252
|
-
/*
|
|
3441
|
+
/* Thumbnail */
|
|
3442
|
+
/* Thumbnail Component Styles - Using Muka Design Tokens */
|
|
3253
3443
|
|
|
3254
|
-
.muka-
|
|
3255
|
-
|
|
3256
|
-
|
|
3257
|
-
gap: var(--toast-gap);
|
|
3258
|
-
padding: var(--toast-padding-y) var(--toast-padding-x);
|
|
3259
|
-
border-radius: var(--toast-radius);
|
|
3260
|
-
box-shadow: var(--toast-shadow);
|
|
3261
|
-
min-width: var(--toast-width-min);
|
|
3262
|
-
max-width: var(--toast-width-max);
|
|
3263
|
-
pointer-events: auto;
|
|
3264
|
-
animation: muka-toast-slide-in 0.2s ease-out;
|
|
3444
|
+
.muka-thumbnail {
|
|
3445
|
+
position: relative;
|
|
3446
|
+
flex-shrink: 0;
|
|
3265
3447
|
}
|
|
3266
3448
|
|
|
3267
|
-
/*
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3273
|
-
|
|
3274
|
-
|
|
3275
|
-
|
|
3276
|
-
|
|
3449
|
+
/* The frame carries the border, background and shape clip. Keeping it separate
|
|
3450
|
+
from the root lets the remove (×) button sit outside the clip (needed for the
|
|
3451
|
+
circular/ellipse shape, whose corners would otherwise clip the button). */
|
|
3452
|
+
.muka-thumbnail__frame {
|
|
3453
|
+
position: absolute;
|
|
3454
|
+
inset: 0;
|
|
3455
|
+
overflow: hidden;
|
|
3456
|
+
border: var(--border-width-regular, 1px) solid var(--color-black-alpha-3);
|
|
3457
|
+
border-radius: var(--border-radius-lg);
|
|
3458
|
+
background-color: var(--color-surface-level1);
|
|
3277
3459
|
}
|
|
3278
3460
|
|
|
3279
|
-
/*
|
|
3280
|
-
.muka-
|
|
3281
|
-
|
|
3282
|
-
|
|
3283
|
-
.muka-toast--bottom-right,
|
|
3284
|
-
.muka-toast--bottom-left,
|
|
3285
|
-
.muka-toast--bottom-center {
|
|
3286
|
-
position: fixed;
|
|
3287
|
-
z-index: 9999;
|
|
3461
|
+
/* ─── Shapes ──────────────────────────────────────────── */
|
|
3462
|
+
.muka-thumbnail--4-3 {
|
|
3463
|
+
width: 160px;
|
|
3464
|
+
height: 120px;
|
|
3288
3465
|
}
|
|
3289
3466
|
|
|
3290
|
-
.muka-
|
|
3291
|
-
|
|
3292
|
-
|
|
3467
|
+
.muka-thumbnail--1-1 {
|
|
3468
|
+
width: 120px;
|
|
3469
|
+
height: 120px;
|
|
3293
3470
|
}
|
|
3294
3471
|
|
|
3295
|
-
.muka-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
}
|
|
3299
|
-
|
|
3300
|
-
.muka-toast--top-center {
|
|
3301
|
-
top: var(--spacing-4);
|
|
3302
|
-
left: 50%;
|
|
3303
|
-
transform: translateX(-50%);
|
|
3304
|
-
}
|
|
3305
|
-
|
|
3306
|
-
.muka-toast--bottom-right {
|
|
3307
|
-
bottom: var(--spacing-4);
|
|
3308
|
-
right: var(--spacing-4);
|
|
3309
|
-
}
|
|
3310
|
-
|
|
3311
|
-
.muka-toast--bottom-left {
|
|
3312
|
-
bottom: var(--spacing-4);
|
|
3313
|
-
left: var(--spacing-4);
|
|
3314
|
-
}
|
|
3315
|
-
|
|
3316
|
-
.muka-toast--bottom-center {
|
|
3317
|
-
bottom: var(--spacing-4);
|
|
3318
|
-
left: 50%;
|
|
3319
|
-
transform: translateX(-50%);
|
|
3320
|
-
}
|
|
3321
|
-
|
|
3322
|
-
/* Variant: Info */
|
|
3323
|
-
.muka-toast--info {
|
|
3324
|
-
background-color: var(--toast-color-info-background);
|
|
3325
|
-
color: var(--toast-color-info-foreground);
|
|
3326
|
-
}
|
|
3327
|
-
|
|
3328
|
-
.muka-toast--info .muka-toast__icon {
|
|
3329
|
-
color: var(--toast-color-info-accent);
|
|
3330
|
-
}
|
|
3331
|
-
|
|
3332
|
-
/* Variant: Success */
|
|
3333
|
-
.muka-toast--success {
|
|
3334
|
-
background-color: var(--toast-color-success-background);
|
|
3335
|
-
color: var(--toast-color-success-foreground);
|
|
3336
|
-
}
|
|
3337
|
-
|
|
3338
|
-
.muka-toast--success .muka-toast__icon {
|
|
3339
|
-
color: var(--toast-color-success-accent);
|
|
3340
|
-
}
|
|
3341
|
-
|
|
3342
|
-
/* Variant: Warning */
|
|
3343
|
-
.muka-toast--warning {
|
|
3344
|
-
background-color: var(--toast-color-warning-background);
|
|
3345
|
-
color: var(--toast-color-warning-foreground);
|
|
3346
|
-
}
|
|
3347
|
-
|
|
3348
|
-
.muka-toast--warning .muka-toast__icon {
|
|
3349
|
-
color: var(--toast-color-warning-accent);
|
|
3350
|
-
}
|
|
3351
|
-
|
|
3352
|
-
/* Variant: Error */
|
|
3353
|
-
.muka-toast--error {
|
|
3354
|
-
background-color: var(--toast-color-error-background);
|
|
3355
|
-
color: var(--toast-color-error-foreground);
|
|
3356
|
-
}
|
|
3357
|
-
|
|
3358
|
-
.muka-toast--error .muka-toast__icon {
|
|
3359
|
-
color: var(--toast-color-error-accent);
|
|
3360
|
-
}
|
|
3361
|
-
|
|
3362
|
-
/* Icon */
|
|
3363
|
-
.muka-toast__icon {
|
|
3364
|
-
display: flex;
|
|
3365
|
-
align-items: center;
|
|
3366
|
-
justify-content: center;
|
|
3367
|
-
flex-shrink: 0;
|
|
3368
|
-
width: var(--toast-icon-size);
|
|
3369
|
-
height: var(--toast-icon-size);
|
|
3370
|
-
}
|
|
3371
|
-
|
|
3372
|
-
.muka-toast__icon svg {
|
|
3373
|
-
width: 100%;
|
|
3374
|
-
height: 100%;
|
|
3375
|
-
}
|
|
3376
|
-
|
|
3377
|
-
/* Content */
|
|
3378
|
-
.muka-toast__content {
|
|
3379
|
-
flex: 1;
|
|
3380
|
-
min-width: 0;
|
|
3381
|
-
}
|
|
3382
|
-
|
|
3383
|
-
.muka-toast__title {
|
|
3384
|
-
font-family: var(--text-label-md-semibold-fontFamily);
|
|
3385
|
-
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
3386
|
-
font-size: var(--text-label-md-semibold-fontSize);
|
|
3387
|
-
line-height: var(--text-label-md-semibold-lineHeight);
|
|
3388
|
-
margin-bottom: var(--spacing-1);
|
|
3389
|
-
}
|
|
3390
|
-
|
|
3391
|
-
.muka-toast__message {
|
|
3392
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
3393
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
3394
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
3395
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
3396
|
-
}
|
|
3397
|
-
|
|
3398
|
-
/* Action slot */
|
|
3399
|
-
.muka-toast__action {
|
|
3400
|
-
display: flex;
|
|
3401
|
-
align-items: center;
|
|
3402
|
-
flex-shrink: 0;
|
|
3403
|
-
}
|
|
3404
|
-
|
|
3405
|
-
/* Dismiss button */
|
|
3406
|
-
.muka-toast__dismiss {
|
|
3407
|
-
display: flex;
|
|
3408
|
-
align-items: center;
|
|
3409
|
-
justify-content: center;
|
|
3410
|
-
flex-shrink: 0;
|
|
3411
|
-
width: 24px;
|
|
3412
|
-
height: 24px;
|
|
3413
|
-
padding: 0;
|
|
3414
|
-
margin: -2px -4px -2px 0;
|
|
3415
|
-
border: none;
|
|
3416
|
-
background: transparent;
|
|
3417
|
-
color: inherit;
|
|
3418
|
-
opacity: 0.7;
|
|
3419
|
-
cursor: pointer;
|
|
3420
|
-
border-radius: var(--border-radius-sm);
|
|
3421
|
-
transition: opacity 0.15s ease, background-color 0.15s ease;
|
|
3422
|
-
}
|
|
3423
|
-
|
|
3424
|
-
.muka-toast__dismiss:hover {
|
|
3425
|
-
opacity: 1;
|
|
3426
|
-
background-color: rgba(0, 0, 0, 0.05);
|
|
3427
|
-
}
|
|
3428
|
-
|
|
3429
|
-
.muka-toast__dismiss:focus-visible {
|
|
3430
|
-
outline: 2px solid var(--color-border-focus);
|
|
3431
|
-
outline-offset: 2px;
|
|
3432
|
-
opacity: 1;
|
|
3433
|
-
}
|
|
3434
|
-
|
|
3435
|
-
.muka-toast__dismiss svg {
|
|
3436
|
-
width: 16px;
|
|
3437
|
-
height: 16px;
|
|
3438
|
-
}
|
|
3439
|
-
|
|
3440
|
-
|
|
3441
|
-
/* Thumbnail */
|
|
3442
|
-
/* Thumbnail Component Styles - Using Muka Design Tokens */
|
|
3443
|
-
|
|
3444
|
-
.muka-thumbnail {
|
|
3445
|
-
position: relative;
|
|
3446
|
-
flex-shrink: 0;
|
|
3447
|
-
}
|
|
3448
|
-
|
|
3449
|
-
/* The frame carries the border, background and shape clip. Keeping it separate
|
|
3450
|
-
from the root lets the remove (×) button sit outside the clip (needed for the
|
|
3451
|
-
circular/ellipse shape, whose corners would otherwise clip the button). */
|
|
3452
|
-
.muka-thumbnail__frame {
|
|
3453
|
-
position: absolute;
|
|
3454
|
-
inset: 0;
|
|
3455
|
-
overflow: hidden;
|
|
3456
|
-
border: var(--border-width-regular, 1px) solid var(--color-black-alpha-3);
|
|
3457
|
-
border-radius: var(--border-radius-lg);
|
|
3458
|
-
background-color: var(--color-surface-level1);
|
|
3459
|
-
}
|
|
3460
|
-
|
|
3461
|
-
/* ─── Shapes ──────────────────────────────────────────── */
|
|
3462
|
-
.muka-thumbnail--4-3 {
|
|
3463
|
-
width: 160px;
|
|
3464
|
-
height: 120px;
|
|
3465
|
-
}
|
|
3466
|
-
|
|
3467
|
-
.muka-thumbnail--1-1 {
|
|
3468
|
-
width: 120px;
|
|
3469
|
-
height: 120px;
|
|
3470
|
-
}
|
|
3471
|
-
|
|
3472
|
-
.muka-thumbnail--ellipse {
|
|
3473
|
-
width: 120px;
|
|
3474
|
-
height: 120px;
|
|
3472
|
+
.muka-thumbnail--ellipse {
|
|
3473
|
+
width: 120px;
|
|
3474
|
+
height: 120px;
|
|
3475
3475
|
}
|
|
3476
3476
|
|
|
3477
3477
|
.muka-thumbnail--ellipse .muka-thumbnail__frame {
|
|
@@ -7039,6 +7039,36 @@ body {
|
|
|
7039
7039
|
}
|
|
7040
7040
|
|
|
7041
7041
|
|
|
7042
|
+
/* NumberInput */
|
|
7043
|
+
/* NumberInput — reuses Input field styles (../Input/Input.css). */
|
|
7044
|
+
/* Only the prefix/suffix affixes are NumberInput-specific. */
|
|
7045
|
+
|
|
7046
|
+
.muka-numberinput__addon {
|
|
7047
|
+
display: inline-flex;
|
|
7048
|
+
align-items: center;
|
|
7049
|
+
flex: none;
|
|
7050
|
+
color: var(--color-text-subtle-default);
|
|
7051
|
+
font-family: var(--text-input-md-fontFamily);
|
|
7052
|
+
font-size: var(--text-input-md-fontSize);
|
|
7053
|
+
line-height: var(--text-input-md-lineHeight);
|
|
7054
|
+
user-select: none;
|
|
7055
|
+
pointer-events: none;
|
|
7056
|
+
white-space: nowrap;
|
|
7057
|
+
}
|
|
7058
|
+
|
|
7059
|
+
/* Hide the native number spinners — affixes/step API replace them. */
|
|
7060
|
+
.muka-numberinput__field .muka-input__native::-webkit-outer-spin-button,
|
|
7061
|
+
.muka-numberinput__field .muka-input__native::-webkit-inner-spin-button {
|
|
7062
|
+
-webkit-appearance: none;
|
|
7063
|
+
margin: 0;
|
|
7064
|
+
}
|
|
7065
|
+
|
|
7066
|
+
.muka-numberinput__field .muka-input__native {
|
|
7067
|
+
-moz-appearance: textfield;
|
|
7068
|
+
appearance: textfield;
|
|
7069
|
+
}
|
|
7070
|
+
|
|
7071
|
+
|
|
7042
7072
|
/* Pagination */
|
|
7043
7073
|
/* Pagination Component Styles */
|
|
7044
7074
|
|
|
@@ -7141,36 +7171,6 @@ body {
|
|
|
7141
7171
|
}
|
|
7142
7172
|
|
|
7143
7173
|
|
|
7144
|
-
/* NumberInput */
|
|
7145
|
-
/* NumberInput — reuses Input field styles (../Input/Input.css). */
|
|
7146
|
-
/* Only the prefix/suffix affixes are NumberInput-specific. */
|
|
7147
|
-
|
|
7148
|
-
.muka-numberinput__addon {
|
|
7149
|
-
display: inline-flex;
|
|
7150
|
-
align-items: center;
|
|
7151
|
-
flex: none;
|
|
7152
|
-
color: var(--color-text-subtle-default);
|
|
7153
|
-
font-family: var(--text-input-md-fontFamily);
|
|
7154
|
-
font-size: var(--text-input-md-fontSize);
|
|
7155
|
-
line-height: var(--text-input-md-lineHeight);
|
|
7156
|
-
user-select: none;
|
|
7157
|
-
pointer-events: none;
|
|
7158
|
-
white-space: nowrap;
|
|
7159
|
-
}
|
|
7160
|
-
|
|
7161
|
-
/* Hide the native number spinners — affixes/step API replace them. */
|
|
7162
|
-
.muka-numberinput__field .muka-input__native::-webkit-outer-spin-button,
|
|
7163
|
-
.muka-numberinput__field .muka-input__native::-webkit-inner-spin-button {
|
|
7164
|
-
-webkit-appearance: none;
|
|
7165
|
-
margin: 0;
|
|
7166
|
-
}
|
|
7167
|
-
|
|
7168
|
-
.muka-numberinput__field .muka-input__native {
|
|
7169
|
-
-moz-appearance: textfield;
|
|
7170
|
-
appearance: textfield;
|
|
7171
|
-
}
|
|
7172
|
-
|
|
7173
|
-
|
|
7174
7174
|
/* NavigationTransition */
|
|
7175
7175
|
/* NavigationTransition Component Styles */
|
|
7176
7176
|
|
|
@@ -8126,6 +8126,26 @@ li.muka-listitem {
|
|
|
8126
8126
|
}
|
|
8127
8127
|
|
|
8128
8128
|
|
|
8129
|
+
/* Form */
|
|
8130
|
+
.muka-form {
|
|
8131
|
+
display: flex;
|
|
8132
|
+
flex-direction: column;
|
|
8133
|
+
width: 100%;
|
|
8134
|
+
}
|
|
8135
|
+
|
|
8136
|
+
.muka-form--gap-sm {
|
|
8137
|
+
gap: var(--size-sm);
|
|
8138
|
+
}
|
|
8139
|
+
|
|
8140
|
+
.muka-form--gap-md {
|
|
8141
|
+
gap: var(--size-md);
|
|
8142
|
+
}
|
|
8143
|
+
|
|
8144
|
+
.muka-form--gap-lg {
|
|
8145
|
+
gap: var(--size-lg);
|
|
8146
|
+
}
|
|
8147
|
+
|
|
8148
|
+
|
|
8129
8149
|
/* Icon */
|
|
8130
8150
|
/* Icon Component Styles - Using Muka Design Tokens */
|
|
8131
8151
|
|
|
@@ -8180,26 +8200,6 @@ li.muka-listitem {
|
|
|
8180
8200
|
}
|
|
8181
8201
|
|
|
8182
8202
|
|
|
8183
|
-
/* Form */
|
|
8184
|
-
.muka-form {
|
|
8185
|
-
display: flex;
|
|
8186
|
-
flex-direction: column;
|
|
8187
|
-
width: 100%;
|
|
8188
|
-
}
|
|
8189
|
-
|
|
8190
|
-
.muka-form--gap-sm {
|
|
8191
|
-
gap: var(--size-sm);
|
|
8192
|
-
}
|
|
8193
|
-
|
|
8194
|
-
.muka-form--gap-md {
|
|
8195
|
-
gap: var(--size-md);
|
|
8196
|
-
}
|
|
8197
|
-
|
|
8198
|
-
.muka-form--gap-lg {
|
|
8199
|
-
gap: var(--size-lg);
|
|
8200
|
-
}
|
|
8201
|
-
|
|
8202
|
-
|
|
8203
8203
|
/* FileUpload */
|
|
8204
8204
|
/* FileUpload Component Styles */
|
|
8205
8205
|
|
|
@@ -11066,11 +11066,6 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
11066
11066
|
grid-template-areas: 'rail bubble';
|
|
11067
11067
|
}
|
|
11068
11068
|
|
|
11069
|
-
.muka-chat-message--own.muka-chat-message--has-avatar .muka-chat-message__row {
|
|
11070
|
-
grid-template-columns: minmax(0, 1fr) auto;
|
|
11071
|
-
grid-template-areas: 'bubble rail';
|
|
11072
|
-
}
|
|
11073
|
-
|
|
11074
11069
|
.muka-chat-message__rail {
|
|
11075
11070
|
grid-area: rail;
|
|
11076
11071
|
/* Sits on the bubble's baseline (Figma 5355:44091) */
|
|
@@ -11105,6 +11100,12 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
11105
11100
|
|
|
11106
11101
|
.muka-chat-message__bubble {
|
|
11107
11102
|
grid-area: bubble;
|
|
11103
|
+
/*
|
|
11104
|
+
* Width follows the content: a single line hugs, and once the text wraps the
|
|
11105
|
+
* bubble fills to the shared max width. Robust to string or rich children —
|
|
11106
|
+
* no length measuring needed (Figma `Text length` on 5355:44091).
|
|
11107
|
+
*/
|
|
11108
|
+
width: fit-content;
|
|
11108
11109
|
max-width: var(--chatbubble-max-width);
|
|
11109
11110
|
position: relative;
|
|
11110
11111
|
display: flex;
|
|
@@ -11117,18 +11118,11 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
11117
11118
|
word-break: break-word;
|
|
11118
11119
|
}
|
|
11119
11120
|
|
|
11120
|
-
/*
|
|
11121
|
-
|
|
11122
|
-
* content, long ones fill the row up to the shared max width.
|
|
11123
|
-
*/
|
|
11124
|
-
.muka-chat-message--long .muka-chat-message__bubble {
|
|
11121
|
+
/* Media, an embed or an action stack always run the full bubble width. */
|
|
11122
|
+
.muka-chat-message--has-blocks .muka-chat-message__bubble {
|
|
11125
11123
|
width: 100%;
|
|
11126
11124
|
}
|
|
11127
11125
|
|
|
11128
|
-
.muka-chat-message--short .muka-chat-message__bubble {
|
|
11129
|
-
width: fit-content;
|
|
11130
|
-
}
|
|
11131
|
-
|
|
11132
11126
|
.muka-chat-message--own .muka-chat-message__bubble {
|
|
11133
11127
|
justify-self: end;
|
|
11134
11128
|
}
|
|
@@ -11306,10 +11300,12 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
11306
11300
|
}
|
|
11307
11301
|
|
|
11308
11302
|
/*
|
|
11309
|
-
*
|
|
11310
|
-
*
|
|
11303
|
+
* When the last block in the body is media, an embed or an action stack (not
|
|
11304
|
+
* trailing text), it runs the full width, so reserve a line below for the inset
|
|
11305
|
+
* timestamp. A message that ends in text clears the corner inline instead (see
|
|
11306
|
+
* `__message` padding-right above), so it needs no extra bottom space.
|
|
11311
11307
|
*/
|
|
11312
|
-
.muka-chat-message--has-timestamp.muka-chat-message--
|
|
11308
|
+
.muka-chat-message--has-timestamp.muka-chat-message--trailing-block .muka-chat-message__body {
|
|
11313
11309
|
padding-bottom: var(--text-body-xs-regular-lineHeight);
|
|
11314
11310
|
}
|
|
11315
11311
|
|
|
@@ -11372,6 +11368,134 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
11372
11368
|
}
|
|
11373
11369
|
|
|
11374
11370
|
|
|
11371
|
+
/* ChatComposer */
|
|
11372
|
+
/* ChatComposer Component Styles */
|
|
11373
|
+
|
|
11374
|
+
/*
|
|
11375
|
+
* The composer is a bare, fill-width row: no padding, background, border or
|
|
11376
|
+
* max-width of its own (Figma 5243:14141). Whatever hosts it owns the
|
|
11377
|
+
* container — see BottomBar's `chat` variant.
|
|
11378
|
+
*/
|
|
11379
|
+
.muka-chat-composer {
|
|
11380
|
+
display: flex;
|
|
11381
|
+
flex-direction: column;
|
|
11382
|
+
gap: var(--spacing-3);
|
|
11383
|
+
width: 100%;
|
|
11384
|
+
}
|
|
11385
|
+
|
|
11386
|
+
.muka-chat-composer--disabled {
|
|
11387
|
+
opacity: 0.6;
|
|
11388
|
+
pointer-events: none;
|
|
11389
|
+
}
|
|
11390
|
+
|
|
11391
|
+
/* ─── Input row ────────────────────────────────────────── */
|
|
11392
|
+
|
|
11393
|
+
.muka-chat-composer__row {
|
|
11394
|
+
display: flex;
|
|
11395
|
+
width: 100%;
|
|
11396
|
+
align-items: flex-end;
|
|
11397
|
+
gap: var(--spacing-3);
|
|
11398
|
+
}
|
|
11399
|
+
|
|
11400
|
+
/* ─── Text field ───────────────────────────────────────── */
|
|
11401
|
+
|
|
11402
|
+
.muka-chat-composer__field {
|
|
11403
|
+
display: flex;
|
|
11404
|
+
flex: 1 1 auto;
|
|
11405
|
+
min-width: 0;
|
|
11406
|
+
box-sizing: border-box;
|
|
11407
|
+
align-items: center;
|
|
11408
|
+
gap: var(--spacing-1);
|
|
11409
|
+
min-height: var(--input-field-height-lg, 48px);
|
|
11410
|
+
padding: 0 var(--spacing-2);
|
|
11411
|
+
border: var(--border-width-regular) solid var(--input-field-color-default-border);
|
|
11412
|
+
border-radius: var(--input-field-radius-lg);
|
|
11413
|
+
background-color: var(--input-field-color-default-background);
|
|
11414
|
+
transition: border-color 0.12s ease;
|
|
11415
|
+
}
|
|
11416
|
+
|
|
11417
|
+
.muka-chat-composer__field:focus-within {
|
|
11418
|
+
border-color: var(--input-field-color-focus-border, var(--color-action-default));
|
|
11419
|
+
}
|
|
11420
|
+
|
|
11421
|
+
.muka-chat-composer__input {
|
|
11422
|
+
flex: 1 1 auto;
|
|
11423
|
+
min-width: 0;
|
|
11424
|
+
width: 100%;
|
|
11425
|
+
box-sizing: border-box;
|
|
11426
|
+
resize: none;
|
|
11427
|
+
border: none;
|
|
11428
|
+
background: transparent;
|
|
11429
|
+
outline: none;
|
|
11430
|
+
padding: 0 var(--spacing-1);
|
|
11431
|
+
color: var(--color-text-default-default);
|
|
11432
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
11433
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
11434
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
11435
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
11436
|
+
appearance: none;
|
|
11437
|
+
-webkit-appearance: none;
|
|
11438
|
+
}
|
|
11439
|
+
|
|
11440
|
+
.muka-chat-composer__input::placeholder {
|
|
11441
|
+
color: var(--color-text-subtle-default);
|
|
11442
|
+
}
|
|
11443
|
+
|
|
11444
|
+
/* Keep the in-field emoji button flush to the bottom-right as the field grows */
|
|
11445
|
+
.muka-chat-composer__emoji {
|
|
11446
|
+
flex-shrink: 0;
|
|
11447
|
+
}
|
|
11448
|
+
|
|
11449
|
+
/* ─── Recording bar ────────────────────────────────────── */
|
|
11450
|
+
|
|
11451
|
+
.muka-chat-composer__recording {
|
|
11452
|
+
display: flex;
|
|
11453
|
+
flex: 1 1 auto;
|
|
11454
|
+
min-width: 0;
|
|
11455
|
+
box-sizing: border-box;
|
|
11456
|
+
align-items: center;
|
|
11457
|
+
min-height: var(--input-field-height-lg, 48px);
|
|
11458
|
+
padding: var(--card-padding-sm);
|
|
11459
|
+
border: var(--border-width-regular) solid var(--card-color-default-border);
|
|
11460
|
+
border-radius: var(--radius-lg);
|
|
11461
|
+
background-color: var(--card-color-default-background);
|
|
11462
|
+
}
|
|
11463
|
+
|
|
11464
|
+
/* ─── Staged attachments strip ─────────────────────────── */
|
|
11465
|
+
|
|
11466
|
+
.muka-chat-composer__attachments-strip {
|
|
11467
|
+
position: relative;
|
|
11468
|
+
width: 100%;
|
|
11469
|
+
}
|
|
11470
|
+
|
|
11471
|
+
.muka-chat-composer__attachments {
|
|
11472
|
+
display: flex;
|
|
11473
|
+
gap: var(--spacing-3);
|
|
11474
|
+
overflow-x: auto;
|
|
11475
|
+
scroll-behavior: smooth;
|
|
11476
|
+
scrollbar-width: none;
|
|
11477
|
+
}
|
|
11478
|
+
|
|
11479
|
+
.muka-chat-composer__attachments::-webkit-scrollbar {
|
|
11480
|
+
display: none;
|
|
11481
|
+
}
|
|
11482
|
+
|
|
11483
|
+
.muka-chat-composer__overflow {
|
|
11484
|
+
position: absolute;
|
|
11485
|
+
top: 50%;
|
|
11486
|
+
right: var(--spacing-2);
|
|
11487
|
+
transform: translateY(-50%);
|
|
11488
|
+
}
|
|
11489
|
+
|
|
11490
|
+
/* ─── Print ────────────────────────────────────────────── */
|
|
11491
|
+
|
|
11492
|
+
@media print {
|
|
11493
|
+
.muka-chat-composer {
|
|
11494
|
+
display: none;
|
|
11495
|
+
}
|
|
11496
|
+
}
|
|
11497
|
+
|
|
11498
|
+
|
|
11375
11499
|
/* ChatAttachmentChip */
|
|
11376
11500
|
/* ChatAttachmentChip Component Styles */
|
|
11377
11501
|
|
|
@@ -11639,232 +11763,419 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
11639
11763
|
}
|
|
11640
11764
|
|
|
11641
11765
|
|
|
11642
|
-
/*
|
|
11643
|
-
/*
|
|
11766
|
+
/* Button */
|
|
11767
|
+
/* Button Component Styles - Using Muka Design Tokens */
|
|
11644
11768
|
|
|
11645
|
-
/*
|
|
11646
|
-
|
|
11647
|
-
|
|
11648
|
-
|
|
11649
|
-
|
|
11650
|
-
|
|
11651
|
-
|
|
11652
|
-
|
|
11653
|
-
|
|
11654
|
-
|
|
11769
|
+
/* Base button styles */
|
|
11770
|
+
.muka-button {
|
|
11771
|
+
/* Layout */
|
|
11772
|
+
display: inline-flex;
|
|
11773
|
+
align-items: center;
|
|
11774
|
+
justify-content: center;
|
|
11775
|
+
|
|
11776
|
+
/* Typography - using semantic tokens */
|
|
11777
|
+
font-family: var(--alias-font-brand-family);
|
|
11778
|
+
font-weight: var(--alias-font-brand-weight-semibold);
|
|
11779
|
+
text-decoration: none;
|
|
11780
|
+
|
|
11781
|
+
/* Interaction */
|
|
11782
|
+
border: none;
|
|
11783
|
+
cursor: pointer;
|
|
11784
|
+
user-select: none;
|
|
11785
|
+
transition: all 0.2s ease;
|
|
11786
|
+
|
|
11787
|
+
/* Accessibility */
|
|
11788
|
+
outline: none;
|
|
11789
|
+
position: relative;
|
|
11655
11790
|
}
|
|
11656
11791
|
|
|
11657
|
-
|
|
11658
|
-
|
|
11659
|
-
|
|
11792
|
+
/* Focus styles for accessibility */
|
|
11793
|
+
.muka-button:focus-visible {
|
|
11794
|
+
outline: 2px solid var(--color-border-focus);
|
|
11795
|
+
outline-offset: 2px;
|
|
11660
11796
|
}
|
|
11661
11797
|
|
|
11662
|
-
/*
|
|
11798
|
+
/* Size variants
|
|
11799
|
+
Height is driven by min-height; vertical padding is 0 and the label carries
|
|
11800
|
+
tight (Figma) line-height. Horizontal spacing matches Figma's nested model:
|
|
11801
|
+
the button's padding is the outer container inset, and the label's own
|
|
11802
|
+
padding is the icon-to-text gap (so text-only buttons keep both insets). */
|
|
11803
|
+
.muka-button--sm {
|
|
11804
|
+
padding: 0 var(--button-padding-sm-x);
|
|
11805
|
+
border-radius: var(--button-radius-sm);
|
|
11806
|
+
font-size: var(--text-label-sm-semibold-fontSize);
|
|
11807
|
+
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
11808
|
+
min-height: 32px;
|
|
11809
|
+
}
|
|
11663
11810
|
|
|
11664
|
-
.muka-
|
|
11665
|
-
|
|
11666
|
-
width: 100%;
|
|
11667
|
-
align-items: flex-end;
|
|
11668
|
-
gap: var(--spacing-3);
|
|
11811
|
+
.muka-button--sm .muka-button__label {
|
|
11812
|
+
padding: 0 var(--button-gap-sm);
|
|
11669
11813
|
}
|
|
11670
11814
|
|
|
11671
|
-
|
|
11815
|
+
.muka-button--md {
|
|
11816
|
+
padding: 0 var(--button-padding-md-x);
|
|
11817
|
+
border-radius: var(--button-radius-md);
|
|
11818
|
+
font-size: var(--text-label-sm-semibold-fontSize);
|
|
11819
|
+
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
11820
|
+
min-height: 40px;
|
|
11821
|
+
}
|
|
11672
11822
|
|
|
11673
|
-
.muka-
|
|
11674
|
-
|
|
11675
|
-
flex: 1 1 auto;
|
|
11676
|
-
min-width: 0;
|
|
11677
|
-
box-sizing: border-box;
|
|
11678
|
-
align-items: center;
|
|
11679
|
-
gap: var(--spacing-1);
|
|
11680
|
-
min-height: var(--input-field-height-lg, 48px);
|
|
11681
|
-
padding: 0 var(--spacing-2);
|
|
11682
|
-
border: var(--border-width-regular) solid var(--input-field-color-default-border);
|
|
11683
|
-
border-radius: var(--input-field-radius-lg);
|
|
11684
|
-
background-color: var(--input-field-color-default-background);
|
|
11685
|
-
transition: border-color 0.12s ease;
|
|
11823
|
+
.muka-button--md .muka-button__label {
|
|
11824
|
+
padding: 0 var(--button-gap-md);
|
|
11686
11825
|
}
|
|
11687
11826
|
|
|
11688
|
-
.muka-
|
|
11689
|
-
|
|
11827
|
+
.muka-button--lg {
|
|
11828
|
+
padding: 0 var(--button-padding-lg-x);
|
|
11829
|
+
border-radius: var(--button-radius-lg);
|
|
11830
|
+
font-size: var(--text-label-lg-semibold-fontSize);
|
|
11831
|
+
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
11832
|
+
min-height: 48px;
|
|
11690
11833
|
}
|
|
11691
11834
|
|
|
11692
|
-
.muka-
|
|
11693
|
-
|
|
11694
|
-
min-width: 0;
|
|
11695
|
-
width: 100%;
|
|
11696
|
-
box-sizing: border-box;
|
|
11697
|
-
resize: none;
|
|
11698
|
-
border: none;
|
|
11699
|
-
background: transparent;
|
|
11700
|
-
outline: none;
|
|
11701
|
-
padding: 0 var(--spacing-1);
|
|
11702
|
-
color: var(--color-text-default-default);
|
|
11703
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
11704
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
11705
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
11706
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
11707
|
-
appearance: none;
|
|
11708
|
-
-webkit-appearance: none;
|
|
11835
|
+
.muka-button--lg .muka-button__label {
|
|
11836
|
+
padding: 0 var(--button-gap-lg);
|
|
11709
11837
|
}
|
|
11710
11838
|
|
|
11711
|
-
.muka-
|
|
11712
|
-
|
|
11839
|
+
.muka-button--xl {
|
|
11840
|
+
padding: 0 var(--button-padding-xl-x);
|
|
11841
|
+
border-radius: var(--button-radius-xl);
|
|
11842
|
+
font-size: var(--text-label-2xl-semibold-fontSize);
|
|
11843
|
+
line-height: var(--text-label-2xl-semibold-lineHeight);
|
|
11844
|
+
min-height: 64px;
|
|
11713
11845
|
}
|
|
11714
11846
|
|
|
11715
|
-
|
|
11716
|
-
|
|
11717
|
-
flex-shrink: 0;
|
|
11847
|
+
.muka-button--xl .muka-button__label {
|
|
11848
|
+
padding: 0 var(--button-gap-xl);
|
|
11718
11849
|
}
|
|
11719
11850
|
|
|
11720
|
-
/*
|
|
11721
|
-
|
|
11722
|
-
|
|
11723
|
-
|
|
11724
|
-
|
|
11725
|
-
min-width: 0;
|
|
11726
|
-
box-sizing: border-box;
|
|
11727
|
-
align-items: center;
|
|
11728
|
-
min-height: var(--input-field-height-lg, 48px);
|
|
11729
|
-
padding: var(--card-padding-sm);
|
|
11730
|
-
border: var(--border-width-regular) solid var(--card-color-default-border);
|
|
11731
|
-
border-radius: var(--radius-lg);
|
|
11732
|
-
background-color: var(--card-color-default-background);
|
|
11851
|
+
/* Primary variant - your main CTA button */
|
|
11852
|
+
.muka-button--primary {
|
|
11853
|
+
background-color: var(--button-color-primary-background-default);
|
|
11854
|
+
color: var(--button-color-primary-foreground-default);
|
|
11855
|
+
box-shadow: var(--button-color-primary-shadow-default);
|
|
11733
11856
|
}
|
|
11734
11857
|
|
|
11735
|
-
|
|
11736
|
-
|
|
11737
|
-
|
|
11738
|
-
|
|
11739
|
-
width: 100%;
|
|
11858
|
+
.muka-button--primary:hover:not(:disabled) {
|
|
11859
|
+
background-color: var(--button-color-primary-background-hover);
|
|
11860
|
+
color: var(--button-color-primary-foreground-hover);
|
|
11861
|
+
box-shadow: var(--button-color-primary-shadow-hover);
|
|
11740
11862
|
}
|
|
11741
11863
|
|
|
11742
|
-
|
|
11743
|
-
|
|
11744
|
-
|
|
11745
|
-
|
|
11746
|
-
|
|
11747
|
-
|
|
11864
|
+
/* `[data-state="open"]` keeps a Button pressed while it's an open disclosure
|
|
11865
|
+
trigger (Radix Menu/Popover set this on the trigger). `[aria-pressed="true"]`
|
|
11866
|
+
gives toggle buttons a visible selected state, so the toggle is not conveyed
|
|
11867
|
+
to sighted users by the accessibility tree alone. */
|
|
11868
|
+
.muka-button--primary:active:not(:disabled),
|
|
11869
|
+
.muka-button--primary.muka-button--pressed:not(:disabled),
|
|
11870
|
+
.muka-button--primary[data-state="open"]:not(:disabled),
|
|
11871
|
+
.muka-button--primary[aria-pressed="true"]:not(:disabled) {
|
|
11872
|
+
background-color: var(--button-color-primary-background-pressed);
|
|
11873
|
+
color: var(--button-color-primary-foreground-pressed);
|
|
11874
|
+
box-shadow: var(--button-color-primary-shadow-pressed);
|
|
11748
11875
|
}
|
|
11749
11876
|
|
|
11750
|
-
.muka-
|
|
11751
|
-
|
|
11877
|
+
.muka-button--primary:disabled {
|
|
11878
|
+
background-color: var(--button-color-primary-background-disabled);
|
|
11879
|
+
color: var(--button-color-primary-foreground-disabled);
|
|
11880
|
+
box-shadow: var(--button-color-primary-shadow-disabled);
|
|
11881
|
+
cursor: not-allowed;
|
|
11882
|
+
opacity: 1; /* Remove opacity since we have proper disabled tokens */
|
|
11752
11883
|
}
|
|
11753
11884
|
|
|
11754
|
-
|
|
11755
|
-
|
|
11756
|
-
|
|
11757
|
-
|
|
11758
|
-
|
|
11885
|
+
/* Secondary variant - supporting actions, no border, only bottom inner shadow */
|
|
11886
|
+
.muka-button--secondary {
|
|
11887
|
+
background-color: var(--button-color-secondary-background-default);
|
|
11888
|
+
color: var(--button-color-secondary-foreground-default);
|
|
11889
|
+
box-shadow: var(--button-color-secondary-shadow-default);
|
|
11759
11890
|
}
|
|
11760
11891
|
|
|
11761
|
-
|
|
11762
|
-
|
|
11763
|
-
|
|
11764
|
-
|
|
11765
|
-
display: none;
|
|
11766
|
-
}
|
|
11892
|
+
.muka-button--secondary:hover:not(:disabled) {
|
|
11893
|
+
background-color: var(--button-color-secondary-background-hover);
|
|
11894
|
+
color: var(--button-color-secondary-foreground-hover);
|
|
11895
|
+
box-shadow: var(--button-color-secondary-shadow-hover);
|
|
11767
11896
|
}
|
|
11768
11897
|
|
|
11769
|
-
|
|
11770
|
-
|
|
11771
|
-
|
|
11772
|
-
|
|
11773
|
-
|
|
11774
|
-
|
|
11775
|
-
|
|
11776
|
-
flex-wrap: wrap;
|
|
11777
|
-
list-style: none;
|
|
11778
|
-
margin: 0;
|
|
11779
|
-
padding: 0;
|
|
11780
|
-
gap: var(--spacing-1);
|
|
11898
|
+
.muka-button--secondary:active:not(:disabled),
|
|
11899
|
+
.muka-button--secondary.muka-button--pressed:not(:disabled),
|
|
11900
|
+
.muka-button--secondary[data-state="open"]:not(:disabled),
|
|
11901
|
+
.muka-button--secondary[aria-pressed="true"]:not(:disabled) {
|
|
11902
|
+
background-color: var(--button-color-secondary-background-pressed);
|
|
11903
|
+
color: var(--button-color-secondary-foreground-pressed);
|
|
11904
|
+
box-shadow: var(--button-color-secondary-shadow-pressed);
|
|
11781
11905
|
}
|
|
11782
11906
|
|
|
11783
|
-
.muka-
|
|
11784
|
-
|
|
11785
|
-
|
|
11786
|
-
|
|
11907
|
+
.muka-button--secondary:disabled {
|
|
11908
|
+
background-color: var(--button-color-secondary-background-disabled);
|
|
11909
|
+
color: var(--button-color-secondary-foreground-disabled);
|
|
11910
|
+
box-shadow: var(--button-color-secondary-shadow-disabled);
|
|
11911
|
+
cursor: not-allowed;
|
|
11912
|
+
opacity: 1;
|
|
11787
11913
|
}
|
|
11788
11914
|
|
|
11789
|
-
|
|
11790
|
-
|
|
11791
|
-
|
|
11792
|
-
color: var(--color-
|
|
11915
|
+
/* Tertiary variant - tinted background with accent text and border */
|
|
11916
|
+
.muka-button--tertiary {
|
|
11917
|
+
background-color: var(--button-color-tertiary-background-default);
|
|
11918
|
+
color: var(--button-color-tertiary-foreground-default);
|
|
11919
|
+
border: 1px solid var(--button-color-tertiary-border-default);
|
|
11793
11920
|
}
|
|
11794
11921
|
|
|
11795
|
-
|
|
11796
|
-
|
|
11797
|
-
color: var(--color-
|
|
11798
|
-
|
|
11799
|
-
border: none;
|
|
11800
|
-
background: none;
|
|
11801
|
-
padding: 0;
|
|
11802
|
-
cursor: pointer;
|
|
11803
|
-
font: inherit;
|
|
11804
|
-
transition: color 0.15s ease;
|
|
11922
|
+
.muka-button--tertiary:hover:not(:disabled) {
|
|
11923
|
+
background-color: var(--button-color-tertiary-background-hover);
|
|
11924
|
+
color: var(--button-color-tertiary-foreground-hover);
|
|
11925
|
+
border-color: var(--button-color-tertiary-border-hover);
|
|
11805
11926
|
}
|
|
11806
11927
|
|
|
11807
|
-
.muka-
|
|
11808
|
-
|
|
11809
|
-
|
|
11928
|
+
.muka-button--tertiary:active:not(:disabled),
|
|
11929
|
+
.muka-button--tertiary.muka-button--pressed:not(:disabled),
|
|
11930
|
+
.muka-button--tertiary[data-state="open"]:not(:disabled),
|
|
11931
|
+
.muka-button--tertiary[aria-pressed="true"]:not(:disabled) {
|
|
11932
|
+
background-color: var(--button-color-tertiary-background-pressed);
|
|
11933
|
+
color: var(--button-color-tertiary-foreground-pressed);
|
|
11934
|
+
border-color: var(--button-color-tertiary-border-pressed);
|
|
11810
11935
|
}
|
|
11811
11936
|
|
|
11812
|
-
|
|
11813
|
-
|
|
11814
|
-
color: var(--color-
|
|
11815
|
-
|
|
11937
|
+
.muka-button--tertiary:disabled {
|
|
11938
|
+
background-color: var(--button-color-tertiary-background-disabled);
|
|
11939
|
+
color: var(--button-color-tertiary-foreground-disabled);
|
|
11940
|
+
border-color: var(--button-color-tertiary-border-disabled);
|
|
11941
|
+
cursor: not-allowed;
|
|
11942
|
+
opacity: 1;
|
|
11816
11943
|
}
|
|
11817
11944
|
|
|
11818
|
-
/*
|
|
11819
|
-
.muka-
|
|
11820
|
-
color: var(--color-
|
|
11821
|
-
|
|
11945
|
+
/* Ghost variant - minimal styling, border appears on hover */
|
|
11946
|
+
.muka-button--ghost {
|
|
11947
|
+
background-color: var(--button-color-ghost-background-default);
|
|
11948
|
+
color: var(--button-color-ghost-foreground-default);
|
|
11949
|
+
border: 1px solid var(--button-color-ghost-border-default);
|
|
11822
11950
|
}
|
|
11823
11951
|
|
|
11824
|
-
|
|
11825
|
-
|
|
11826
|
-
color: var(--color-
|
|
11952
|
+
.muka-button--ghost:hover:not(:disabled) {
|
|
11953
|
+
background-color: var(--button-color-ghost-background-hover);
|
|
11954
|
+
color: var(--button-color-ghost-foreground-hover);
|
|
11955
|
+
border-color: var(--button-color-ghost-border-hover);
|
|
11827
11956
|
}
|
|
11828
11957
|
|
|
11829
|
-
|
|
11830
|
-
.muka-
|
|
11831
|
-
|
|
11832
|
-
|
|
11833
|
-
|
|
11834
|
-
|
|
11958
|
+
.muka-button--ghost:active:not(:disabled),
|
|
11959
|
+
.muka-button--ghost.muka-button--pressed:not(:disabled),
|
|
11960
|
+
.muka-button--ghost[data-state="open"]:not(:disabled),
|
|
11961
|
+
.muka-button--ghost[aria-pressed="true"]:not(:disabled) {
|
|
11962
|
+
background-color: var(--button-color-ghost-background-pressed);
|
|
11963
|
+
color: var(--button-color-ghost-foreground-pressed);
|
|
11964
|
+
border-color: var(--button-color-ghost-border-pressed);
|
|
11835
11965
|
}
|
|
11836
11966
|
|
|
11837
|
-
.muka-
|
|
11838
|
-
|
|
11839
|
-
|
|
11840
|
-
|
|
11841
|
-
|
|
11967
|
+
.muka-button--ghost:disabled {
|
|
11968
|
+
background-color: var(--button-color-ghost-background-disabled);
|
|
11969
|
+
color: var(--button-color-ghost-foreground-disabled);
|
|
11970
|
+
border-color: var(--button-color-ghost-border-disabled);
|
|
11971
|
+
cursor: not-allowed;
|
|
11972
|
+
opacity: 1;
|
|
11842
11973
|
}
|
|
11843
11974
|
|
|
11844
|
-
|
|
11845
|
-
|
|
11846
|
-
|
|
11847
|
-
|
|
11848
|
-
|
|
11975
|
+
/* Muted variant - same as ghost but resting foreground is subtle, darkens on interaction */
|
|
11976
|
+
.muka-button--muted {
|
|
11977
|
+
background-color: var(--button-color-muted-background-default);
|
|
11978
|
+
color: var(--button-color-muted-foreground-default);
|
|
11979
|
+
border: 1px solid var(--button-color-muted-border-default);
|
|
11849
11980
|
}
|
|
11850
11981
|
|
|
11982
|
+
.muka-button--muted:hover:not(:disabled) {
|
|
11983
|
+
background-color: var(--button-color-muted-background-hover);
|
|
11984
|
+
color: var(--button-color-muted-foreground-hover);
|
|
11985
|
+
border-color: var(--button-color-muted-border-hover);
|
|
11986
|
+
}
|
|
11851
11987
|
|
|
11852
|
-
|
|
11853
|
-
|
|
11988
|
+
.muka-button--muted:active:not(:disabled),
|
|
11989
|
+
.muka-button--muted.muka-button--pressed:not(:disabled),
|
|
11990
|
+
.muka-button--muted[data-state="open"]:not(:disabled),
|
|
11991
|
+
.muka-button--muted[aria-pressed="true"]:not(:disabled) {
|
|
11992
|
+
background-color: var(--button-color-muted-background-pressed);
|
|
11993
|
+
color: var(--button-color-muted-foreground-pressed);
|
|
11994
|
+
border-color: var(--button-color-muted-border-pressed);
|
|
11995
|
+
}
|
|
11854
11996
|
|
|
11855
|
-
.muka-
|
|
11856
|
-
|
|
11857
|
-
|
|
11997
|
+
.muka-button--muted:disabled {
|
|
11998
|
+
background-color: var(--button-color-muted-background-disabled);
|
|
11999
|
+
color: var(--button-color-muted-foreground-disabled);
|
|
12000
|
+
border-color: var(--button-color-muted-border-disabled);
|
|
12001
|
+
cursor: not-allowed;
|
|
12002
|
+
opacity: 1;
|
|
11858
12003
|
}
|
|
11859
12004
|
|
|
11860
|
-
/*
|
|
11861
|
-
.muka-
|
|
11862
|
-
|
|
12005
|
+
/* General disabled state - fallback */
|
|
12006
|
+
.muka-button:disabled {
|
|
12007
|
+
cursor: not-allowed;
|
|
12008
|
+
pointer-events: none;
|
|
11863
12009
|
}
|
|
11864
12010
|
|
|
11865
|
-
/*
|
|
11866
|
-
.muka-
|
|
11867
|
-
|
|
12011
|
+
/* Full width modifier */
|
|
12012
|
+
.muka-button--full-width {
|
|
12013
|
+
width: 100%;
|
|
12014
|
+
}
|
|
12015
|
+
|
|
12016
|
+
/* Icons - forced to the Figma per-size dimension regardless of the icon passed */
|
|
12017
|
+
.muka-button__icon {
|
|
12018
|
+
display: inline-flex;
|
|
12019
|
+
align-items: center;
|
|
12020
|
+
justify-content: center;
|
|
12021
|
+
flex-shrink: 0;
|
|
12022
|
+
}
|
|
12023
|
+
|
|
12024
|
+
/* Make the icon content (raw <svg> or a nested Icon span) fill the wrapper.
|
|
12025
|
+
Scoped under .muka-button to outrank Icon.css's own `.muka-icon--{size}`
|
|
12026
|
+
rule, so the button's size wins even when the icon hardcodes its own size. */
|
|
12027
|
+
.muka-button .muka-button__icon > *,
|
|
12028
|
+
.muka-button .muka-button__icon svg {
|
|
12029
|
+
width: 100%;
|
|
12030
|
+
height: 100%;
|
|
12031
|
+
display: block;
|
|
12032
|
+
}
|
|
12033
|
+
|
|
12034
|
+
.muka-button--sm .muka-button__icon {
|
|
12035
|
+
width: var(--button-icon-sm);
|
|
12036
|
+
height: var(--button-icon-sm);
|
|
12037
|
+
}
|
|
12038
|
+
|
|
12039
|
+
.muka-button--md .muka-button__icon {
|
|
12040
|
+
width: var(--button-icon-md);
|
|
12041
|
+
height: var(--button-icon-md);
|
|
12042
|
+
}
|
|
12043
|
+
|
|
12044
|
+
.muka-button--lg .muka-button__icon {
|
|
12045
|
+
width: var(--button-icon-lg);
|
|
12046
|
+
height: var(--button-icon-lg);
|
|
12047
|
+
}
|
|
12048
|
+
|
|
12049
|
+
.muka-button--xl .muka-button__icon {
|
|
12050
|
+
width: var(--button-icon-xl);
|
|
12051
|
+
height: var(--button-icon-xl);
|
|
12052
|
+
}
|
|
12053
|
+
|
|
12054
|
+
.muka-button__label {
|
|
12055
|
+
display: inline-flex;
|
|
12056
|
+
align-items: center;
|
|
12057
|
+
}
|
|
12058
|
+
|
|
12059
|
+
/* Icon-only buttons - square, sized to the button height per size */
|
|
12060
|
+
.muka-button--icon-only {
|
|
12061
|
+
padding: 0;
|
|
12062
|
+
}
|
|
12063
|
+
|
|
12064
|
+
.muka-button--icon-only.muka-button--sm {
|
|
12065
|
+
width: 32px;
|
|
12066
|
+
}
|
|
12067
|
+
|
|
12068
|
+
.muka-button--icon-only.muka-button--md {
|
|
12069
|
+
width: 40px;
|
|
12070
|
+
}
|
|
12071
|
+
|
|
12072
|
+
.muka-button--icon-only.muka-button--lg {
|
|
12073
|
+
width: 48px;
|
|
12074
|
+
}
|
|
12075
|
+
|
|
12076
|
+
.muka-button--icon-only.muka-button--xl {
|
|
12077
|
+
width: 64px;
|
|
12078
|
+
}
|
|
12079
|
+
|
|
12080
|
+
|
|
12081
|
+
/* Breadcrumb */
|
|
12082
|
+
/* Breadcrumb Component Styles */
|
|
12083
|
+
|
|
12084
|
+
.muka-breadcrumb__list {
|
|
12085
|
+
display: flex;
|
|
12086
|
+
align-items: center;
|
|
12087
|
+
flex-wrap: wrap;
|
|
12088
|
+
list-style: none;
|
|
12089
|
+
margin: 0;
|
|
12090
|
+
padding: 0;
|
|
12091
|
+
gap: var(--spacing-1);
|
|
12092
|
+
}
|
|
12093
|
+
|
|
12094
|
+
.muka-breadcrumb__item {
|
|
12095
|
+
display: inline-flex;
|
|
12096
|
+
align-items: center;
|
|
12097
|
+
gap: var(--spacing-1);
|
|
12098
|
+
}
|
|
12099
|
+
|
|
12100
|
+
.muka-breadcrumb__icon {
|
|
12101
|
+
display: inline-flex;
|
|
12102
|
+
align-items: center;
|
|
12103
|
+
color: var(--color-text-subtle-default);
|
|
12104
|
+
}
|
|
12105
|
+
|
|
12106
|
+
/* Link styles */
|
|
12107
|
+
.muka-breadcrumb__link {
|
|
12108
|
+
color: var(--color-text-subtle-default);
|
|
12109
|
+
text-decoration: none;
|
|
12110
|
+
border: none;
|
|
12111
|
+
background: none;
|
|
12112
|
+
padding: 0;
|
|
12113
|
+
cursor: pointer;
|
|
12114
|
+
font: inherit;
|
|
12115
|
+
transition: color 0.15s ease;
|
|
12116
|
+
}
|
|
12117
|
+
|
|
12118
|
+
.muka-breadcrumb__link:hover {
|
|
12119
|
+
color: var(--color-text-action-default);
|
|
12120
|
+
text-decoration: underline;
|
|
12121
|
+
}
|
|
12122
|
+
|
|
12123
|
+
/* Current page (last item) */
|
|
12124
|
+
.muka-breadcrumb__current {
|
|
12125
|
+
color: var(--color-text-default-default);
|
|
12126
|
+
font-weight: 600;
|
|
12127
|
+
}
|
|
12128
|
+
|
|
12129
|
+
/* Separator */
|
|
12130
|
+
.muka-breadcrumb__separator {
|
|
12131
|
+
color: var(--color-text-subtle-default);
|
|
12132
|
+
user-select: none;
|
|
12133
|
+
}
|
|
12134
|
+
|
|
12135
|
+
/* Ellipsis */
|
|
12136
|
+
.muka-breadcrumb__ellipsis {
|
|
12137
|
+
color: var(--color-text-subtle-default);
|
|
12138
|
+
}
|
|
12139
|
+
|
|
12140
|
+
/* Size variants */
|
|
12141
|
+
.muka-breadcrumb--sm {
|
|
12142
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
12143
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
12144
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
12145
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
12146
|
+
}
|
|
12147
|
+
|
|
12148
|
+
.muka-breadcrumb--md {
|
|
12149
|
+
font-family: var(--text-label-md-regular-fontFamily);
|
|
12150
|
+
font-weight: var(--text-label-md-regular-fontWeight);
|
|
12151
|
+
font-size: var(--text-label-md-regular-fontSize);
|
|
12152
|
+
line-height: var(--text-label-md-regular-lineHeight);
|
|
12153
|
+
}
|
|
12154
|
+
|
|
12155
|
+
.muka-breadcrumb--lg {
|
|
12156
|
+
font-family: var(--text-label-lg-regular-fontFamily);
|
|
12157
|
+
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
12158
|
+
font-size: var(--text-label-lg-regular-fontSize);
|
|
12159
|
+
line-height: var(--text-label-lg-regular-lineHeight);
|
|
12160
|
+
}
|
|
12161
|
+
|
|
12162
|
+
|
|
12163
|
+
/* BottomBar */
|
|
12164
|
+
/* BottomBar Component Styles */
|
|
12165
|
+
|
|
12166
|
+
.muka-bottombar {
|
|
12167
|
+
width: 100%;
|
|
12168
|
+
background-color: var(--bottombar-color-background);
|
|
12169
|
+
}
|
|
12170
|
+
|
|
12171
|
+
/* Push content above the iPhone home indicator. Opt out via disableSafeArea. */
|
|
12172
|
+
.muka-bottombar:not(.muka-bottombar--floating):not(.muka-bottombar--no-safe-area) {
|
|
12173
|
+
padding-bottom: env(safe-area-inset-bottom);
|
|
12174
|
+
}
|
|
12175
|
+
|
|
12176
|
+
/* Floating variant: ensure margin-bottom is at least the safe-area inset. */
|
|
12177
|
+
.muka-bottombar--floating:not(.muka-bottombar--no-safe-area) {
|
|
12178
|
+
padding-bottom: max(var(--bottombar-floating-margin-bottom), env(safe-area-inset-bottom));
|
|
11868
12179
|
}
|
|
11869
12180
|
|
|
11870
12181
|
/* ─── Divider (non-floating) ──────────────────────────── */
|
|
@@ -12261,318 +12572,187 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
12261
12572
|
}
|
|
12262
12573
|
|
|
12263
12574
|
|
|
12264
|
-
/*
|
|
12265
|
-
/*
|
|
12575
|
+
/* Badge */
|
|
12576
|
+
/* Badge Component Styles - Using Muka Design Tokens */
|
|
12266
12577
|
|
|
12267
|
-
|
|
12268
|
-
.muka-button {
|
|
12269
|
-
/* Layout */
|
|
12578
|
+
.muka-badge {
|
|
12270
12579
|
display: inline-flex;
|
|
12271
12580
|
align-items: center;
|
|
12272
|
-
|
|
12273
|
-
|
|
12274
|
-
/* Typography - using semantic tokens */
|
|
12275
|
-
font-family: var(--alias-font-brand-family);
|
|
12276
|
-
font-weight: var(--alias-font-brand-weight-semibold);
|
|
12277
|
-
text-decoration: none;
|
|
12278
|
-
|
|
12279
|
-
/* Interaction */
|
|
12280
|
-
border: none;
|
|
12281
|
-
cursor: pointer;
|
|
12581
|
+
border-radius: var(--border-radius-full);
|
|
12582
|
+
white-space: nowrap;
|
|
12282
12583
|
user-select: none;
|
|
12283
|
-
|
|
12284
|
-
|
|
12285
|
-
/* Accessibility */
|
|
12286
|
-
outline: none;
|
|
12287
|
-
position: relative;
|
|
12288
|
-
}
|
|
12289
|
-
|
|
12290
|
-
/* Focus styles for accessibility */
|
|
12291
|
-
.muka-button:focus-visible {
|
|
12292
|
-
outline: 2px solid var(--color-border-focus);
|
|
12293
|
-
outline-offset: 2px;
|
|
12294
|
-
}
|
|
12295
|
-
|
|
12296
|
-
/* Size variants
|
|
12297
|
-
Height is driven by min-height; vertical padding is 0 and the label carries
|
|
12298
|
-
tight (Figma) line-height. Horizontal spacing matches Figma's nested model:
|
|
12299
|
-
the button's padding is the outer container inset, and the label's own
|
|
12300
|
-
padding is the icon-to-text gap (so text-only buttons keep both insets). */
|
|
12301
|
-
.muka-button--sm {
|
|
12302
|
-
padding: 0 var(--button-padding-sm-x);
|
|
12303
|
-
border-radius: var(--button-radius-sm);
|
|
12304
|
-
font-size: var(--text-label-sm-semibold-fontSize);
|
|
12305
|
-
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
12306
|
-
min-height: 32px;
|
|
12307
|
-
}
|
|
12308
|
-
|
|
12309
|
-
.muka-button--sm .muka-button__label {
|
|
12310
|
-
padding: 0 var(--button-gap-sm);
|
|
12311
|
-
}
|
|
12312
|
-
|
|
12313
|
-
.muka-button--md {
|
|
12314
|
-
padding: 0 var(--button-padding-md-x);
|
|
12315
|
-
border-radius: var(--button-radius-md);
|
|
12316
|
-
font-size: var(--text-label-sm-semibold-fontSize);
|
|
12317
|
-
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
12318
|
-
min-height: 40px;
|
|
12319
|
-
}
|
|
12320
|
-
|
|
12321
|
-
.muka-button--md .muka-button__label {
|
|
12322
|
-
padding: 0 var(--button-gap-md);
|
|
12323
|
-
}
|
|
12324
|
-
|
|
12325
|
-
.muka-button--lg {
|
|
12326
|
-
padding: 0 var(--button-padding-lg-x);
|
|
12327
|
-
border-radius: var(--button-radius-lg);
|
|
12328
|
-
font-size: var(--text-label-lg-semibold-fontSize);
|
|
12329
|
-
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
12330
|
-
min-height: 48px;
|
|
12331
|
-
}
|
|
12332
|
-
|
|
12333
|
-
.muka-button--lg .muka-button__label {
|
|
12334
|
-
padding: 0 var(--button-gap-lg);
|
|
12335
|
-
}
|
|
12336
|
-
|
|
12337
|
-
.muka-button--xl {
|
|
12338
|
-
padding: 0 var(--button-padding-xl-x);
|
|
12339
|
-
border-radius: var(--button-radius-xl);
|
|
12340
|
-
font-size: var(--text-label-2xl-semibold-fontSize);
|
|
12341
|
-
line-height: var(--text-label-2xl-semibold-lineHeight);
|
|
12342
|
-
min-height: 64px;
|
|
12343
|
-
}
|
|
12344
|
-
|
|
12345
|
-
.muka-button--xl .muka-button__label {
|
|
12346
|
-
padding: 0 var(--button-gap-xl);
|
|
12347
|
-
}
|
|
12348
|
-
|
|
12349
|
-
/* Primary variant - your main CTA button */
|
|
12350
|
-
.muka-button--primary {
|
|
12351
|
-
background-color: var(--button-color-primary-background-default);
|
|
12352
|
-
color: var(--button-color-primary-foreground-default);
|
|
12353
|
-
box-shadow: var(--button-color-primary-shadow-default);
|
|
12354
|
-
}
|
|
12355
|
-
|
|
12356
|
-
.muka-button--primary:hover:not(:disabled) {
|
|
12357
|
-
background-color: var(--button-color-primary-background-hover);
|
|
12358
|
-
color: var(--button-color-primary-foreground-hover);
|
|
12359
|
-
box-shadow: var(--button-color-primary-shadow-hover);
|
|
12360
|
-
}
|
|
12361
|
-
|
|
12362
|
-
/* `[data-state="open"]` keeps a Button pressed while it's an open disclosure
|
|
12363
|
-
trigger (Radix Menu/Popover set this on the trigger). `[aria-pressed="true"]`
|
|
12364
|
-
gives toggle buttons a visible selected state, so the toggle is not conveyed
|
|
12365
|
-
to sighted users by the accessibility tree alone. */
|
|
12366
|
-
.muka-button--primary:active:not(:disabled),
|
|
12367
|
-
.muka-button--primary.muka-button--pressed:not(:disabled),
|
|
12368
|
-
.muka-button--primary[data-state="open"]:not(:disabled),
|
|
12369
|
-
.muka-button--primary[aria-pressed="true"]:not(:disabled) {
|
|
12370
|
-
background-color: var(--button-color-primary-background-pressed);
|
|
12371
|
-
color: var(--button-color-primary-foreground-pressed);
|
|
12372
|
-
box-shadow: var(--button-color-primary-shadow-pressed);
|
|
12373
|
-
}
|
|
12374
|
-
|
|
12375
|
-
.muka-button--primary:disabled {
|
|
12376
|
-
background-color: var(--button-color-primary-background-disabled);
|
|
12377
|
-
color: var(--button-color-primary-foreground-disabled);
|
|
12378
|
-
box-shadow: var(--button-color-primary-shadow-disabled);
|
|
12379
|
-
cursor: not-allowed;
|
|
12380
|
-
opacity: 1; /* Remove opacity since we have proper disabled tokens */
|
|
12381
|
-
}
|
|
12382
|
-
|
|
12383
|
-
/* Secondary variant - supporting actions, no border, only bottom inner shadow */
|
|
12384
|
-
.muka-button--secondary {
|
|
12385
|
-
background-color: var(--button-color-secondary-background-default);
|
|
12386
|
-
color: var(--button-color-secondary-foreground-default);
|
|
12387
|
-
box-shadow: var(--button-color-secondary-shadow-default);
|
|
12388
|
-
}
|
|
12389
|
-
|
|
12390
|
-
.muka-button--secondary:hover:not(:disabled) {
|
|
12391
|
-
background-color: var(--button-color-secondary-background-hover);
|
|
12392
|
-
color: var(--button-color-secondary-foreground-hover);
|
|
12393
|
-
box-shadow: var(--button-color-secondary-shadow-hover);
|
|
12394
|
-
}
|
|
12395
|
-
|
|
12396
|
-
.muka-button--secondary:active:not(:disabled),
|
|
12397
|
-
.muka-button--secondary.muka-button--pressed:not(:disabled),
|
|
12398
|
-
.muka-button--secondary[data-state="open"]:not(:disabled),
|
|
12399
|
-
.muka-button--secondary[aria-pressed="true"]:not(:disabled) {
|
|
12400
|
-
background-color: var(--button-color-secondary-background-pressed);
|
|
12401
|
-
color: var(--button-color-secondary-foreground-pressed);
|
|
12402
|
-
box-shadow: var(--button-color-secondary-shadow-pressed);
|
|
12403
|
-
}
|
|
12404
|
-
|
|
12405
|
-
.muka-button--secondary:disabled {
|
|
12406
|
-
background-color: var(--button-color-secondary-background-disabled);
|
|
12407
|
-
color: var(--button-color-secondary-foreground-disabled);
|
|
12408
|
-
box-shadow: var(--button-color-secondary-shadow-disabled);
|
|
12409
|
-
cursor: not-allowed;
|
|
12410
|
-
opacity: 1;
|
|
12584
|
+
box-sizing: border-box;
|
|
12411
12585
|
}
|
|
12412
12586
|
|
|
12413
|
-
/*
|
|
12414
|
-
|
|
12415
|
-
|
|
12416
|
-
|
|
12417
|
-
|
|
12587
|
+
/*
|
|
12588
|
+
* Sizes — height, gap, type, and default (label-edge) horizontal padding.
|
|
12589
|
+
* Mirrors Chip so the two components share sizing, fonts, and spacing.
|
|
12590
|
+
* Vertical centering is handled by the fixed height + align-items: center.
|
|
12591
|
+
* The leading side gets a tighter padding when an icon/dot is present, via the
|
|
12592
|
+
* --has-icon / --has-dot modifiers below.
|
|
12593
|
+
*/
|
|
12594
|
+
.muka-badge--sm {
|
|
12595
|
+
height: var(--badge-size-height-sm);
|
|
12596
|
+
gap: var(--badge-gap-sm);
|
|
12597
|
+
padding: 0 var(--badge-padding-label-sm);
|
|
12598
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
12599
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
12600
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
12601
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
12418
12602
|
}
|
|
12419
12603
|
|
|
12420
|
-
.muka-
|
|
12421
|
-
|
|
12422
|
-
|
|
12423
|
-
|
|
12604
|
+
.muka-badge--md {
|
|
12605
|
+
height: var(--badge-size-height-md);
|
|
12606
|
+
gap: var(--badge-gap-md);
|
|
12607
|
+
padding: 0 var(--badge-padding-label-md);
|
|
12608
|
+
font-family: var(--text-label-md-regular-fontFamily);
|
|
12609
|
+
font-weight: var(--text-label-md-regular-fontWeight);
|
|
12610
|
+
font-size: var(--text-label-md-regular-fontSize);
|
|
12611
|
+
line-height: var(--text-label-md-regular-lineHeight);
|
|
12424
12612
|
}
|
|
12425
12613
|
|
|
12426
|
-
.muka-
|
|
12427
|
-
|
|
12428
|
-
|
|
12429
|
-
|
|
12430
|
-
|
|
12431
|
-
|
|
12432
|
-
|
|
12614
|
+
.muka-badge--lg {
|
|
12615
|
+
height: var(--badge-size-height-lg);
|
|
12616
|
+
gap: var(--badge-gap-lg);
|
|
12617
|
+
padding: 0 var(--badge-padding-label-lg);
|
|
12618
|
+
font-family: var(--text-label-lg-regular-fontFamily);
|
|
12619
|
+
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
12620
|
+
font-size: var(--text-label-lg-regular-fontSize);
|
|
12621
|
+
line-height: var(--text-label-lg-regular-lineHeight);
|
|
12433
12622
|
}
|
|
12434
12623
|
|
|
12435
|
-
|
|
12436
|
-
|
|
12437
|
-
|
|
12438
|
-
|
|
12439
|
-
cursor: not-allowed;
|
|
12440
|
-
opacity: 1;
|
|
12624
|
+
/* Tighter leading padding when a leading icon or dot is present */
|
|
12625
|
+
.muka-badge--sm.muka-badge--has-icon,
|
|
12626
|
+
.muka-badge--sm.muka-badge--has-dot {
|
|
12627
|
+
padding-left: var(--badge-padding-leading-sm);
|
|
12441
12628
|
}
|
|
12442
|
-
|
|
12443
|
-
|
|
12444
|
-
|
|
12445
|
-
background-color: var(--button-color-ghost-background-default);
|
|
12446
|
-
color: var(--button-color-ghost-foreground-default);
|
|
12447
|
-
border: 1px solid var(--button-color-ghost-border-default);
|
|
12629
|
+
.muka-badge--md.muka-badge--has-icon,
|
|
12630
|
+
.muka-badge--md.muka-badge--has-dot {
|
|
12631
|
+
padding-left: var(--badge-padding-leading-md);
|
|
12448
12632
|
}
|
|
12449
|
-
|
|
12450
|
-
.muka-
|
|
12451
|
-
|
|
12452
|
-
color: var(--button-color-ghost-foreground-hover);
|
|
12453
|
-
border-color: var(--button-color-ghost-border-hover);
|
|
12633
|
+
.muka-badge--lg.muka-badge--has-icon,
|
|
12634
|
+
.muka-badge--lg.muka-badge--has-dot {
|
|
12635
|
+
padding-left: var(--badge-padding-leading-lg);
|
|
12454
12636
|
}
|
|
12455
12637
|
|
|
12456
|
-
|
|
12457
|
-
.muka-
|
|
12458
|
-
|
|
12459
|
-
|
|
12460
|
-
|
|
12461
|
-
|
|
12462
|
-
border-color: var(--button-color-ghost-border-pressed);
|
|
12638
|
+
/* Leading icon slot — Figma icon sizes: sm 16, md 20, lg 24 (matches Chip) */
|
|
12639
|
+
.muka-badge__icon {
|
|
12640
|
+
display: inline-flex;
|
|
12641
|
+
align-items: center;
|
|
12642
|
+
justify-content: center;
|
|
12643
|
+
flex-shrink: 0;
|
|
12463
12644
|
}
|
|
12464
12645
|
|
|
12465
|
-
.muka-
|
|
12466
|
-
|
|
12467
|
-
|
|
12468
|
-
border-color: var(--button-color-ghost-border-disabled);
|
|
12469
|
-
cursor: not-allowed;
|
|
12470
|
-
opacity: 1;
|
|
12646
|
+
.muka-badge--sm .muka-badge__icon {
|
|
12647
|
+
width: var(--icon-size-xs);
|
|
12648
|
+
height: var(--icon-size-xs);
|
|
12471
12649
|
}
|
|
12472
|
-
|
|
12473
|
-
|
|
12474
|
-
|
|
12475
|
-
background-color: var(--button-color-muted-background-default);
|
|
12476
|
-
color: var(--button-color-muted-foreground-default);
|
|
12477
|
-
border: 1px solid var(--button-color-muted-border-default);
|
|
12650
|
+
.muka-badge--md .muka-badge__icon {
|
|
12651
|
+
width: var(--icon-size-sm);
|
|
12652
|
+
height: var(--icon-size-sm);
|
|
12478
12653
|
}
|
|
12479
|
-
|
|
12480
|
-
|
|
12481
|
-
|
|
12482
|
-
color: var(--button-color-muted-foreground-hover);
|
|
12483
|
-
border-color: var(--button-color-muted-border-hover);
|
|
12654
|
+
.muka-badge--lg .muka-badge__icon {
|
|
12655
|
+
width: var(--icon-size-default);
|
|
12656
|
+
height: var(--icon-size-default);
|
|
12484
12657
|
}
|
|
12485
12658
|
|
|
12486
|
-
|
|
12487
|
-
.
|
|
12488
|
-
.muka-
|
|
12489
|
-
.muka-
|
|
12490
|
-
|
|
12491
|
-
|
|
12492
|
-
|
|
12659
|
+
/* Force the passed content (raw <svg> or an <Icon> wrapper) to the slot size,
|
|
12660
|
+
so callers don't have to size the icon to match each badge size. The
|
|
12661
|
+
.muka-icon selector is intentionally 2 classes deep to override .muka-icon--md. */
|
|
12662
|
+
.muka-badge__icon .muka-icon,
|
|
12663
|
+
.muka-badge__icon svg {
|
|
12664
|
+
width: 100%;
|
|
12665
|
+
height: 100%;
|
|
12493
12666
|
}
|
|
12494
12667
|
|
|
12495
|
-
|
|
12496
|
-
|
|
12497
|
-
color:
|
|
12498
|
-
border-color: var(--button-color-muted-border-disabled);
|
|
12499
|
-
cursor: not-allowed;
|
|
12500
|
-
opacity: 1;
|
|
12668
|
+
/* Icons inherit the badge's per-variant foreground color */
|
|
12669
|
+
.muka-badge .muka-icon {
|
|
12670
|
+
color: inherit;
|
|
12501
12671
|
}
|
|
12502
12672
|
|
|
12503
|
-
/*
|
|
12504
|
-
.muka-
|
|
12505
|
-
|
|
12506
|
-
|
|
12673
|
+
/* Dot indicator */
|
|
12674
|
+
.muka-badge__dot {
|
|
12675
|
+
flex-shrink: 0;
|
|
12676
|
+
border-radius: var(--border-radius-full);
|
|
12507
12677
|
}
|
|
12508
12678
|
|
|
12509
|
-
|
|
12510
|
-
|
|
12511
|
-
|
|
12679
|
+
.muka-badge--sm .muka-badge__dot {
|
|
12680
|
+
width: var(--badge-size-dot-sm);
|
|
12681
|
+
height: var(--badge-size-dot-sm);
|
|
12512
12682
|
}
|
|
12513
12683
|
|
|
12514
|
-
|
|
12515
|
-
|
|
12516
|
-
|
|
12517
|
-
align-items: center;
|
|
12518
|
-
justify-content: center;
|
|
12519
|
-
flex-shrink: 0;
|
|
12684
|
+
.muka-badge--md .muka-badge__dot {
|
|
12685
|
+
width: var(--badge-size-dot-md);
|
|
12686
|
+
height: var(--badge-size-dot-md);
|
|
12520
12687
|
}
|
|
12521
12688
|
|
|
12522
|
-
|
|
12523
|
-
|
|
12524
|
-
|
|
12525
|
-
.muka-button .muka-button__icon > *,
|
|
12526
|
-
.muka-button .muka-button__icon svg {
|
|
12527
|
-
width: 100%;
|
|
12528
|
-
height: 100%;
|
|
12529
|
-
display: block;
|
|
12689
|
+
.muka-badge--lg .muka-badge__dot {
|
|
12690
|
+
width: var(--badge-size-dot-lg);
|
|
12691
|
+
height: var(--badge-size-dot-lg);
|
|
12530
12692
|
}
|
|
12531
12693
|
|
|
12532
|
-
.muka-
|
|
12533
|
-
|
|
12534
|
-
|
|
12694
|
+
.muka-badge__label {
|
|
12695
|
+
flex: 0 1 auto;
|
|
12696
|
+
min-width: 0;
|
|
12697
|
+
overflow: hidden;
|
|
12698
|
+
text-overflow: ellipsis;
|
|
12699
|
+
/*
|
|
12700
|
+
* The badge sets a tight line-height for compact sizing, but the label's
|
|
12701
|
+
* `overflow: hidden` (needed for ellipsis) then clips glyph descenders (g, y, p). Give the
|
|
12702
|
+
* label its own roomier line-height so descenders render; vertical centering is unaffected
|
|
12703
|
+
* because the badge height is fixed and content is centered via align-items: center.
|
|
12704
|
+
*/
|
|
12705
|
+
line-height: normal;
|
|
12535
12706
|
}
|
|
12536
12707
|
|
|
12537
|
-
|
|
12538
|
-
|
|
12539
|
-
|
|
12708
|
+
/* Neutral variant */
|
|
12709
|
+
.muka-badge--neutral {
|
|
12710
|
+
background-color: var(--color-surface-level1);
|
|
12711
|
+
color: var(--color-text-default-default);
|
|
12540
12712
|
}
|
|
12541
12713
|
|
|
12542
|
-
.muka-
|
|
12543
|
-
|
|
12544
|
-
height: var(--button-icon-lg);
|
|
12714
|
+
.muka-badge--neutral .muka-badge__dot {
|
|
12715
|
+
background-color: var(--color-text-subtle-default);
|
|
12545
12716
|
}
|
|
12546
12717
|
|
|
12547
|
-
|
|
12548
|
-
|
|
12549
|
-
|
|
12718
|
+
/* Info variant */
|
|
12719
|
+
.muka-badge--info {
|
|
12720
|
+
background-color: var(--color-state-info-background);
|
|
12721
|
+
color: var(--color-state-info-contrast);
|
|
12550
12722
|
}
|
|
12551
12723
|
|
|
12552
|
-
.muka-
|
|
12553
|
-
|
|
12554
|
-
align-items: center;
|
|
12724
|
+
.muka-badge--info .muka-badge__dot {
|
|
12725
|
+
background-color: var(--color-state-info-default);
|
|
12555
12726
|
}
|
|
12556
12727
|
|
|
12557
|
-
/*
|
|
12558
|
-
.muka-
|
|
12559
|
-
|
|
12728
|
+
/* Success variant */
|
|
12729
|
+
.muka-badge--success {
|
|
12730
|
+
background-color: var(--color-state-success-background);
|
|
12731
|
+
color: var(--color-state-success-contrast);
|
|
12560
12732
|
}
|
|
12561
12733
|
|
|
12562
|
-
.muka-
|
|
12563
|
-
|
|
12734
|
+
.muka-badge--success .muka-badge__dot {
|
|
12735
|
+
background-color: var(--color-state-success-default);
|
|
12564
12736
|
}
|
|
12565
12737
|
|
|
12566
|
-
|
|
12567
|
-
|
|
12738
|
+
/* Warning variant */
|
|
12739
|
+
.muka-badge--warning {
|
|
12740
|
+
background-color: var(--color-state-warning-background);
|
|
12741
|
+
color: var(--color-state-warning-contrast);
|
|
12568
12742
|
}
|
|
12569
12743
|
|
|
12570
|
-
.muka-
|
|
12571
|
-
|
|
12744
|
+
.muka-badge--warning .muka-badge__dot {
|
|
12745
|
+
background-color: var(--color-state-warning-default);
|
|
12572
12746
|
}
|
|
12573
12747
|
|
|
12574
|
-
|
|
12575
|
-
|
|
12748
|
+
/* Error variant */
|
|
12749
|
+
.muka-badge--error {
|
|
12750
|
+
background-color: var(--color-state-error-background);
|
|
12751
|
+
color: var(--color-state-error-contrast);
|
|
12752
|
+
}
|
|
12753
|
+
|
|
12754
|
+
.muka-badge--error .muka-badge__dot {
|
|
12755
|
+
background-color: var(--color-state-error-default);
|
|
12576
12756
|
}
|
|
12577
12757
|
|
|
12578
12758
|
|
|
@@ -13047,283 +13227,99 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
13047
13227
|
width: var(--alert-icon-size);
|
|
13048
13228
|
height: var(--alert-icon-size);
|
|
13049
13229
|
}
|
|
13050
|
-
|
|
13051
|
-
.muka-alert__icon svg {
|
|
13052
|
-
width: 100%;
|
|
13053
|
-
height: 100%;
|
|
13054
|
-
}
|
|
13055
|
-
|
|
13056
|
-
/* The leading icon and the dismiss (×) icon inherit the variant accent set on
|
|
13057
|
-
their container, overriding the Icon component's default color. */
|
|
13058
|
-
.muka-alert__icon .muka-icon,
|
|
13059
|
-
.muka-alert__dismiss .muka-icon {
|
|
13060
|
-
color: inherit;
|
|
13061
|
-
}
|
|
13062
|
-
|
|
13063
|
-
/* Content */
|
|
13064
|
-
.muka-alert__content {
|
|
13065
|
-
flex: 1;
|
|
13066
|
-
min-width: 0;
|
|
13067
|
-
}
|
|
13068
|
-
|
|
13069
|
-
.muka-alert__title {
|
|
13070
|
-
font-family: var(--text-label-md-semibold-fontFamily);
|
|
13071
|
-
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
13072
|
-
font-size: var(--text-label-md-semibold-fontSize);
|
|
13073
|
-
line-height: var(--text-label-md-semibold-lineHeight);
|
|
13074
|
-
margin-bottom: var(--spacing-1);
|
|
13075
|
-
}
|
|
13076
|
-
|
|
13077
|
-
.muka-alert--sm .muka-alert__title {
|
|
13078
|
-
font-family: var(--text-label-sm-semibold-fontFamily);
|
|
13079
|
-
font-weight: var(--text-label-sm-semibold-fontWeight);
|
|
13080
|
-
font-size: var(--text-label-sm-semibold-fontSize);
|
|
13081
|
-
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
13082
|
-
}
|
|
13083
|
-
|
|
13084
|
-
.muka-alert--lg .muka-alert__title {
|
|
13085
|
-
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
13086
|
-
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
13087
|
-
font-size: var(--text-label-lg-semibold-fontSize);
|
|
13088
|
-
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
13089
|
-
}
|
|
13090
|
-
|
|
13091
|
-
.muka-alert__message {
|
|
13092
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13093
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13094
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
13095
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13096
|
-
}
|
|
13097
|
-
|
|
13098
|
-
.muka-alert--lg .muka-alert__message {
|
|
13099
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
13100
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
13101
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
13102
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
13103
|
-
}
|
|
13104
|
-
|
|
13105
|
-
/* Action slot */
|
|
13106
|
-
.muka-alert__action {
|
|
13107
|
-
display: flex;
|
|
13108
|
-
align-items: center;
|
|
13109
|
-
flex-shrink: 0;
|
|
13110
|
-
}
|
|
13111
|
-
|
|
13112
|
-
/* Dismiss button - uses accent color per variant, aligned with icon row */
|
|
13113
|
-
.muka-alert__dismiss {
|
|
13114
|
-
display: flex;
|
|
13115
|
-
align-items: center;
|
|
13116
|
-
justify-content: center;
|
|
13117
|
-
flex-shrink: 0;
|
|
13118
|
-
align-self: flex-start;
|
|
13119
|
-
width: 24px;
|
|
13120
|
-
height: 24px;
|
|
13121
|
-
padding: 0;
|
|
13122
|
-
margin: 0 0 0 auto;
|
|
13123
|
-
border: none;
|
|
13124
|
-
background: transparent;
|
|
13125
|
-
cursor: pointer;
|
|
13126
|
-
border-radius: var(--border-radius-sm);
|
|
13127
|
-
transition: opacity 0.15s ease, background-color 0.15s ease;
|
|
13128
|
-
}
|
|
13129
|
-
|
|
13130
|
-
.muka-alert__dismiss:hover {
|
|
13131
|
-
opacity: 0.85;
|
|
13132
|
-
background-color: rgba(0, 0, 0, 0.05);
|
|
13133
|
-
}
|
|
13134
|
-
|
|
13135
|
-
.muka-alert__dismiss:focus-visible {
|
|
13136
|
-
outline: 2px solid var(--color-border-focus);
|
|
13137
|
-
outline-offset: 2px;
|
|
13138
|
-
}
|
|
13139
|
-
|
|
13140
|
-
.muka-alert__dismiss svg {
|
|
13141
|
-
width: 16px;
|
|
13142
|
-
height: 16px;
|
|
13143
|
-
}
|
|
13144
|
-
|
|
13145
|
-
|
|
13146
|
-
/* Badge */
|
|
13147
|
-
/* Badge Component Styles - Using Muka Design Tokens */
|
|
13148
|
-
|
|
13149
|
-
.muka-badge {
|
|
13150
|
-
display: inline-flex;
|
|
13151
|
-
align-items: center;
|
|
13152
|
-
border-radius: var(--border-radius-full);
|
|
13153
|
-
white-space: nowrap;
|
|
13154
|
-
user-select: none;
|
|
13155
|
-
box-sizing: border-box;
|
|
13156
|
-
}
|
|
13157
|
-
|
|
13158
|
-
/*
|
|
13159
|
-
* Sizes — height, gap, type, and default (label-edge) horizontal padding.
|
|
13160
|
-
* Mirrors Chip so the two components share sizing, fonts, and spacing.
|
|
13161
|
-
* Vertical centering is handled by the fixed height + align-items: center.
|
|
13162
|
-
* The leading side gets a tighter padding when an icon/dot is present, via the
|
|
13163
|
-
* --has-icon / --has-dot modifiers below.
|
|
13164
|
-
*/
|
|
13165
|
-
.muka-badge--sm {
|
|
13166
|
-
height: var(--badge-size-height-sm);
|
|
13167
|
-
gap: var(--badge-gap-sm);
|
|
13168
|
-
padding: 0 var(--badge-padding-label-sm);
|
|
13169
|
-
font-family: var(--text-label-sm-regular-fontFamily);
|
|
13170
|
-
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
13171
|
-
font-size: var(--text-label-sm-regular-fontSize);
|
|
13172
|
-
line-height: var(--text-label-sm-regular-lineHeight);
|
|
13173
|
-
}
|
|
13174
|
-
|
|
13175
|
-
.muka-badge--md {
|
|
13176
|
-
height: var(--badge-size-height-md);
|
|
13177
|
-
gap: var(--badge-gap-md);
|
|
13178
|
-
padding: 0 var(--badge-padding-label-md);
|
|
13179
|
-
font-family: var(--text-label-md-regular-fontFamily);
|
|
13180
|
-
font-weight: var(--text-label-md-regular-fontWeight);
|
|
13181
|
-
font-size: var(--text-label-md-regular-fontSize);
|
|
13182
|
-
line-height: var(--text-label-md-regular-lineHeight);
|
|
13183
|
-
}
|
|
13184
|
-
|
|
13185
|
-
.muka-badge--lg {
|
|
13186
|
-
height: var(--badge-size-height-lg);
|
|
13187
|
-
gap: var(--badge-gap-lg);
|
|
13188
|
-
padding: 0 var(--badge-padding-label-lg);
|
|
13189
|
-
font-family: var(--text-label-lg-regular-fontFamily);
|
|
13190
|
-
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
13191
|
-
font-size: var(--text-label-lg-regular-fontSize);
|
|
13192
|
-
line-height: var(--text-label-lg-regular-lineHeight);
|
|
13193
|
-
}
|
|
13194
|
-
|
|
13195
|
-
/* Tighter leading padding when a leading icon or dot is present */
|
|
13196
|
-
.muka-badge--sm.muka-badge--has-icon,
|
|
13197
|
-
.muka-badge--sm.muka-badge--has-dot {
|
|
13198
|
-
padding-left: var(--badge-padding-leading-sm);
|
|
13199
|
-
}
|
|
13200
|
-
.muka-badge--md.muka-badge--has-icon,
|
|
13201
|
-
.muka-badge--md.muka-badge--has-dot {
|
|
13202
|
-
padding-left: var(--badge-padding-leading-md);
|
|
13203
|
-
}
|
|
13204
|
-
.muka-badge--lg.muka-badge--has-icon,
|
|
13205
|
-
.muka-badge--lg.muka-badge--has-dot {
|
|
13206
|
-
padding-left: var(--badge-padding-leading-lg);
|
|
13207
|
-
}
|
|
13208
|
-
|
|
13209
|
-
/* Leading icon slot — Figma icon sizes: sm 16, md 20, lg 24 (matches Chip) */
|
|
13210
|
-
.muka-badge__icon {
|
|
13211
|
-
display: inline-flex;
|
|
13212
|
-
align-items: center;
|
|
13213
|
-
justify-content: center;
|
|
13214
|
-
flex-shrink: 0;
|
|
13215
|
-
}
|
|
13216
|
-
|
|
13217
|
-
.muka-badge--sm .muka-badge__icon {
|
|
13218
|
-
width: var(--icon-size-xs);
|
|
13219
|
-
height: var(--icon-size-xs);
|
|
13220
|
-
}
|
|
13221
|
-
.muka-badge--md .muka-badge__icon {
|
|
13222
|
-
width: var(--icon-size-sm);
|
|
13223
|
-
height: var(--icon-size-sm);
|
|
13224
|
-
}
|
|
13225
|
-
.muka-badge--lg .muka-badge__icon {
|
|
13226
|
-
width: var(--icon-size-default);
|
|
13227
|
-
height: var(--icon-size-default);
|
|
13228
|
-
}
|
|
13229
|
-
|
|
13230
|
-
/* Force the passed content (raw <svg> or an <Icon> wrapper) to the slot size,
|
|
13231
|
-
so callers don't have to size the icon to match each badge size. The
|
|
13232
|
-
.muka-icon selector is intentionally 2 classes deep to override .muka-icon--md. */
|
|
13233
|
-
.muka-badge__icon .muka-icon,
|
|
13234
|
-
.muka-badge__icon svg {
|
|
13235
|
-
width: 100%;
|
|
13236
|
-
height: 100%;
|
|
13237
|
-
}
|
|
13238
|
-
|
|
13239
|
-
/* Icons inherit the badge's per-variant foreground color */
|
|
13240
|
-
.muka-badge .muka-icon {
|
|
13241
|
-
color: inherit;
|
|
13242
|
-
}
|
|
13243
|
-
|
|
13244
|
-
/* Dot indicator */
|
|
13245
|
-
.muka-badge__dot {
|
|
13246
|
-
flex-shrink: 0;
|
|
13247
|
-
border-radius: var(--border-radius-full);
|
|
13248
|
-
}
|
|
13249
|
-
|
|
13250
|
-
.muka-badge--sm .muka-badge__dot {
|
|
13251
|
-
width: var(--badge-size-dot-sm);
|
|
13252
|
-
height: var(--badge-size-dot-sm);
|
|
13253
|
-
}
|
|
13254
|
-
|
|
13255
|
-
.muka-badge--md .muka-badge__dot {
|
|
13256
|
-
width: var(--badge-size-dot-md);
|
|
13257
|
-
height: var(--badge-size-dot-md);
|
|
13230
|
+
|
|
13231
|
+
.muka-alert__icon svg {
|
|
13232
|
+
width: 100%;
|
|
13233
|
+
height: 100%;
|
|
13258
13234
|
}
|
|
13259
13235
|
|
|
13260
|
-
|
|
13261
|
-
|
|
13262
|
-
|
|
13236
|
+
/* The leading icon and the dismiss (×) icon inherit the variant accent set on
|
|
13237
|
+
their container, overriding the Icon component's default color. */
|
|
13238
|
+
.muka-alert__icon .muka-icon,
|
|
13239
|
+
.muka-alert__dismiss .muka-icon {
|
|
13240
|
+
color: inherit;
|
|
13263
13241
|
}
|
|
13264
13242
|
|
|
13265
|
-
|
|
13266
|
-
|
|
13243
|
+
/* Content */
|
|
13244
|
+
.muka-alert__content {
|
|
13245
|
+
flex: 1;
|
|
13267
13246
|
min-width: 0;
|
|
13268
|
-
overflow: hidden;
|
|
13269
|
-
text-overflow: ellipsis;
|
|
13270
|
-
/*
|
|
13271
|
-
* The badge sets a tight line-height for compact sizing, but the label's
|
|
13272
|
-
* `overflow: hidden` (needed for ellipsis) then clips glyph descenders (g, y, p). Give the
|
|
13273
|
-
* label its own roomier line-height so descenders render; vertical centering is unaffected
|
|
13274
|
-
* because the badge height is fixed and content is centered via align-items: center.
|
|
13275
|
-
*/
|
|
13276
|
-
line-height: normal;
|
|
13277
13247
|
}
|
|
13278
13248
|
|
|
13279
|
-
|
|
13280
|
-
|
|
13281
|
-
|
|
13282
|
-
|
|
13249
|
+
.muka-alert__title {
|
|
13250
|
+
font-family: var(--text-label-md-semibold-fontFamily);
|
|
13251
|
+
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
13252
|
+
font-size: var(--text-label-md-semibold-fontSize);
|
|
13253
|
+
line-height: var(--text-label-md-semibold-lineHeight);
|
|
13254
|
+
margin-bottom: var(--spacing-1);
|
|
13283
13255
|
}
|
|
13284
13256
|
|
|
13285
|
-
.muka-
|
|
13286
|
-
|
|
13257
|
+
.muka-alert--sm .muka-alert__title {
|
|
13258
|
+
font-family: var(--text-label-sm-semibold-fontFamily);
|
|
13259
|
+
font-weight: var(--text-label-sm-semibold-fontWeight);
|
|
13260
|
+
font-size: var(--text-label-sm-semibold-fontSize);
|
|
13261
|
+
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
13287
13262
|
}
|
|
13288
13263
|
|
|
13289
|
-
|
|
13290
|
-
|
|
13291
|
-
|
|
13292
|
-
|
|
13264
|
+
.muka-alert--lg .muka-alert__title {
|
|
13265
|
+
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
13266
|
+
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
13267
|
+
font-size: var(--text-label-lg-semibold-fontSize);
|
|
13268
|
+
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
13293
13269
|
}
|
|
13294
13270
|
|
|
13295
|
-
.muka-
|
|
13296
|
-
|
|
13271
|
+
.muka-alert__message {
|
|
13272
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13273
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13274
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
13275
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13297
13276
|
}
|
|
13298
13277
|
|
|
13299
|
-
|
|
13300
|
-
|
|
13301
|
-
|
|
13302
|
-
|
|
13278
|
+
.muka-alert--lg .muka-alert__message {
|
|
13279
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
13280
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
13281
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
13282
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
13303
13283
|
}
|
|
13304
13284
|
|
|
13305
|
-
|
|
13306
|
-
|
|
13285
|
+
/* Action slot */
|
|
13286
|
+
.muka-alert__action {
|
|
13287
|
+
display: flex;
|
|
13288
|
+
align-items: center;
|
|
13289
|
+
flex-shrink: 0;
|
|
13307
13290
|
}
|
|
13308
13291
|
|
|
13309
|
-
/*
|
|
13310
|
-
.muka-
|
|
13311
|
-
|
|
13312
|
-
|
|
13292
|
+
/* Dismiss button - uses accent color per variant, aligned with icon row */
|
|
13293
|
+
.muka-alert__dismiss {
|
|
13294
|
+
display: flex;
|
|
13295
|
+
align-items: center;
|
|
13296
|
+
justify-content: center;
|
|
13297
|
+
flex-shrink: 0;
|
|
13298
|
+
align-self: flex-start;
|
|
13299
|
+
width: 24px;
|
|
13300
|
+
height: 24px;
|
|
13301
|
+
padding: 0;
|
|
13302
|
+
margin: 0 0 0 auto;
|
|
13303
|
+
border: none;
|
|
13304
|
+
background: transparent;
|
|
13305
|
+
cursor: pointer;
|
|
13306
|
+
border-radius: var(--border-radius-sm);
|
|
13307
|
+
transition: opacity 0.15s ease, background-color 0.15s ease;
|
|
13313
13308
|
}
|
|
13314
13309
|
|
|
13315
|
-
.muka-
|
|
13316
|
-
|
|
13310
|
+
.muka-alert__dismiss:hover {
|
|
13311
|
+
opacity: 0.85;
|
|
13312
|
+
background-color: rgba(0, 0, 0, 0.05);
|
|
13317
13313
|
}
|
|
13318
13314
|
|
|
13319
|
-
|
|
13320
|
-
|
|
13321
|
-
|
|
13322
|
-
color: var(--color-state-error-contrast);
|
|
13315
|
+
.muka-alert__dismiss:focus-visible {
|
|
13316
|
+
outline: 2px solid var(--color-border-focus);
|
|
13317
|
+
outline-offset: 2px;
|
|
13323
13318
|
}
|
|
13324
13319
|
|
|
13325
|
-
.muka-
|
|
13326
|
-
|
|
13320
|
+
.muka-alert__dismiss svg {
|
|
13321
|
+
width: 16px;
|
|
13322
|
+
height: 16px;
|
|
13327
13323
|
}
|
|
13328
13324
|
|
|
13329
13325
|
|
|
@@ -13397,233 +13393,102 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
13397
13393
|
flex-direction: column;
|
|
13398
13394
|
}
|
|
13399
13395
|
|
|
13400
|
-
/* ─── Single task row ──────────────────────────────────── */
|
|
13401
|
-
|
|
13402
|
-
.muka-agent-task-list__task {
|
|
13403
|
-
display: flex;
|
|
13404
|
-
align-items: stretch;
|
|
13405
|
-
gap: var(--spacing-4);
|
|
13406
|
-
min-height: 32px;
|
|
13407
|
-
padding: 0;
|
|
13408
|
-
}
|
|
13409
|
-
|
|
13410
|
-
/* ─── Bullet column (icon + timeline connector) ────────── */
|
|
13411
|
-
|
|
13412
|
-
.muka-agent-task-list__bullet {
|
|
13413
|
-
position: relative;
|
|
13414
|
-
flex-shrink: 0;
|
|
13415
|
-
width: 16px;
|
|
13416
|
-
align-self: stretch;
|
|
13417
|
-
}
|
|
13418
|
-
|
|
13419
|
-
.muka-agent-task-list__line {
|
|
13420
|
-
position: absolute;
|
|
13421
|
-
left: 7px;
|
|
13422
|
-
width: 1px;
|
|
13423
|
-
background-color: var(--color-border-default);
|
|
13424
|
-
}
|
|
13425
|
-
|
|
13426
|
-
.muka-agent-task-list__line--top {
|
|
13427
|
-
top: 0;
|
|
13428
|
-
height: 6px;
|
|
13429
|
-
}
|
|
13430
|
-
|
|
13431
|
-
.muka-agent-task-list__line--bottom {
|
|
13432
|
-
top: 32px;
|
|
13433
|
-
bottom: 0;
|
|
13434
|
-
}
|
|
13435
|
-
|
|
13436
|
-
.muka-agent-task-list__task:first-child .muka-agent-task-list__line--top {
|
|
13437
|
-
display: none;
|
|
13438
|
-
}
|
|
13439
|
-
|
|
13440
|
-
.muka-agent-task-list__task:last-child .muka-agent-task-list__line--bottom {
|
|
13441
|
-
display: none;
|
|
13442
|
-
}
|
|
13443
|
-
|
|
13444
|
-
.muka-agent-task-list__icon {
|
|
13445
|
-
position: absolute;
|
|
13446
|
-
top: 8px;
|
|
13447
|
-
left: 0;
|
|
13448
|
-
width: 16px;
|
|
13449
|
-
height: 16px;
|
|
13450
|
-
display: inline-flex;
|
|
13451
|
-
align-items: center;
|
|
13452
|
-
justify-content: center;
|
|
13453
|
-
color: var(--color-text-subtle-default);
|
|
13454
|
-
z-index: 1;
|
|
13455
|
-
}
|
|
13456
|
-
|
|
13457
|
-
/* ─── State color treatments ───────────────────────────── */
|
|
13458
|
-
|
|
13459
|
-
.muka-agent-task-list__task[data-state='active'] .muka-agent-task-list__icon {
|
|
13460
|
-
color: var(--color-action-default);
|
|
13461
|
-
}
|
|
13462
|
-
|
|
13463
|
-
.muka-agent-task-list__task[data-state='done'] .muka-agent-task-list__icon {
|
|
13464
|
-
color: var(--color-text-subtle-default);
|
|
13465
|
-
}
|
|
13466
|
-
|
|
13467
|
-
.muka-agent-task-list__task[data-state='pending'] .muka-agent-task-list__icon {
|
|
13468
|
-
color: var(--color-text-muted-default, var(--color-text-subtle-default));
|
|
13469
|
-
opacity: 0.6;
|
|
13470
|
-
}
|
|
13471
|
-
|
|
13472
|
-
/* ─── Label ────────────────────────────────────────────── */
|
|
13473
|
-
|
|
13474
|
-
.muka-agent-task-list__label {
|
|
13475
|
-
flex: 1 1 0;
|
|
13476
|
-
min-width: 0;
|
|
13477
|
-
padding: var(--spacing-2) 0;
|
|
13478
|
-
color: var(--color-text-subtle-default);
|
|
13479
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13480
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13481
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
13482
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13483
|
-
word-break: break-word;
|
|
13484
|
-
}
|
|
13485
|
-
|
|
13486
|
-
/* ─── Print ────────────────────────────────────────────── */
|
|
13487
|
-
|
|
13488
|
-
@media print {
|
|
13489
|
-
.muka-agent-task-list {
|
|
13490
|
-
break-inside: avoid;
|
|
13491
|
-
}
|
|
13492
|
-
|
|
13493
|
-
.muka-agent-task-list__chevron {
|
|
13494
|
-
display: none;
|
|
13495
|
-
}
|
|
13496
|
-
}
|
|
13497
|
-
|
|
13498
|
-
|
|
13499
|
-
/* Accordion */
|
|
13500
|
-
/* Accordion Component Styles */
|
|
13501
|
-
|
|
13502
|
-
.muka-accordion {
|
|
13503
|
-
width: 100%;
|
|
13504
|
-
}
|
|
13505
|
-
|
|
13506
|
-
/* Item */
|
|
13507
|
-
.muka-accordion__item {
|
|
13508
|
-
border-bottom: var(--border-width-regular) solid var(--color-border-default);
|
|
13509
|
-
}
|
|
13510
|
-
|
|
13511
|
-
.muka-accordion__item:last-child {
|
|
13512
|
-
border-bottom: none;
|
|
13513
|
-
}
|
|
13514
|
-
|
|
13515
|
-
/* Header reset */
|
|
13516
|
-
.muka-accordion__header {
|
|
13517
|
-
margin: 0;
|
|
13518
|
-
}
|
|
13519
|
-
|
|
13520
|
-
/* Trigger */
|
|
13521
|
-
.muka-accordion__trigger {
|
|
13522
|
-
display: flex;
|
|
13523
|
-
align-items: center;
|
|
13524
|
-
justify-content: space-between;
|
|
13525
|
-
width: 100%;
|
|
13526
|
-
padding: var(--spacing-4);
|
|
13527
|
-
background: none;
|
|
13528
|
-
border: none;
|
|
13529
|
-
cursor: pointer;
|
|
13530
|
-
font-family: var(--text-label-md-semibold-fontFamily);
|
|
13531
|
-
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
13532
|
-
font-size: var(--text-label-md-semibold-fontSize);
|
|
13533
|
-
line-height: var(--text-label-md-semibold-lineHeight);
|
|
13534
|
-
color: var(--color-text-default-default);
|
|
13535
|
-
text-align: left;
|
|
13536
|
-
gap: var(--spacing-3);
|
|
13537
|
-
transition: background-color 0.15s ease;
|
|
13538
|
-
}
|
|
13539
|
-
|
|
13540
|
-
.muka-accordion__trigger:hover {
|
|
13541
|
-
background-color: var(--color-surface-level1);
|
|
13542
|
-
}
|
|
13543
|
-
|
|
13544
|
-
.muka-accordion__trigger[data-disabled] {
|
|
13545
|
-
cursor: not-allowed;
|
|
13546
|
-
opacity: 0.4;
|
|
13547
|
-
}
|
|
13396
|
+
/* ─── Single task row ──────────────────────────────────── */
|
|
13548
13397
|
|
|
13549
|
-
.muka-
|
|
13550
|
-
|
|
13398
|
+
.muka-agent-task-list__task {
|
|
13399
|
+
display: flex;
|
|
13400
|
+
align-items: stretch;
|
|
13401
|
+
gap: var(--spacing-4);
|
|
13402
|
+
min-height: 32px;
|
|
13403
|
+
padding: 0;
|
|
13551
13404
|
}
|
|
13552
13405
|
|
|
13553
|
-
/*
|
|
13554
|
-
.muka-accordion__chevron {
|
|
13555
|
-
display: inline-flex;
|
|
13556
|
-
align-items: center;
|
|
13557
|
-
color: var(--color-text-subtle-default);
|
|
13558
|
-
transition: transform 200ms ease;
|
|
13559
|
-
}
|
|
13406
|
+
/* ─── Bullet column (icon + timeline connector) ────────── */
|
|
13560
13407
|
|
|
13561
|
-
.muka-
|
|
13562
|
-
|
|
13408
|
+
.muka-agent-task-list__bullet {
|
|
13409
|
+
position: relative;
|
|
13410
|
+
flex-shrink: 0;
|
|
13411
|
+
width: 16px;
|
|
13412
|
+
align-self: stretch;
|
|
13563
13413
|
}
|
|
13564
13414
|
|
|
13565
|
-
|
|
13566
|
-
|
|
13567
|
-
|
|
13415
|
+
.muka-agent-task-list__line {
|
|
13416
|
+
position: absolute;
|
|
13417
|
+
left: 7px;
|
|
13418
|
+
width: 1px;
|
|
13419
|
+
background-color: var(--color-border-default);
|
|
13568
13420
|
}
|
|
13569
13421
|
|
|
13570
|
-
.muka-
|
|
13571
|
-
|
|
13422
|
+
.muka-agent-task-list__line--top {
|
|
13423
|
+
top: 0;
|
|
13424
|
+
height: 6px;
|
|
13572
13425
|
}
|
|
13573
13426
|
|
|
13574
|
-
.muka-
|
|
13575
|
-
|
|
13427
|
+
.muka-agent-task-list__line--bottom {
|
|
13428
|
+
top: 32px;
|
|
13429
|
+
bottom: 0;
|
|
13576
13430
|
}
|
|
13577
13431
|
|
|
13578
|
-
|
|
13579
|
-
|
|
13580
|
-
height: 0;
|
|
13581
|
-
}
|
|
13582
|
-
to {
|
|
13583
|
-
height: var(--radix-accordion-content-height);
|
|
13584
|
-
}
|
|
13432
|
+
.muka-agent-task-list__task:first-child .muka-agent-task-list__line--top {
|
|
13433
|
+
display: none;
|
|
13585
13434
|
}
|
|
13586
13435
|
|
|
13587
|
-
|
|
13588
|
-
|
|
13589
|
-
height: var(--radix-accordion-content-height);
|
|
13590
|
-
}
|
|
13591
|
-
to {
|
|
13592
|
-
height: 0;
|
|
13593
|
-
}
|
|
13436
|
+
.muka-agent-task-list__task:last-child .muka-agent-task-list__line--bottom {
|
|
13437
|
+
display: none;
|
|
13594
13438
|
}
|
|
13595
13439
|
|
|
13596
|
-
.muka-
|
|
13597
|
-
|
|
13598
|
-
|
|
13440
|
+
.muka-agent-task-list__icon {
|
|
13441
|
+
position: absolute;
|
|
13442
|
+
top: 8px;
|
|
13443
|
+
left: 0;
|
|
13444
|
+
width: 16px;
|
|
13445
|
+
height: 16px;
|
|
13446
|
+
display: inline-flex;
|
|
13447
|
+
align-items: center;
|
|
13448
|
+
justify-content: center;
|
|
13449
|
+
color: var(--color-text-subtle-default);
|
|
13450
|
+
z-index: 1;
|
|
13599
13451
|
}
|
|
13600
13452
|
|
|
13601
|
-
/* ───
|
|
13453
|
+
/* ─── State color treatments ───────────────────────────── */
|
|
13602
13454
|
|
|
13603
|
-
.muka-
|
|
13604
|
-
|
|
13605
|
-
padding-right: 0;
|
|
13455
|
+
.muka-agent-task-list__task[data-state='active'] .muka-agent-task-list__icon {
|
|
13456
|
+
color: var(--color-action-default);
|
|
13606
13457
|
}
|
|
13607
13458
|
|
|
13608
|
-
.muka-
|
|
13609
|
-
|
|
13610
|
-
padding-right: 0;
|
|
13459
|
+
.muka-agent-task-list__task[data-state='done'] .muka-agent-task-list__icon {
|
|
13460
|
+
color: var(--color-text-subtle-default);
|
|
13611
13461
|
}
|
|
13612
13462
|
|
|
13613
|
-
|
|
13614
|
-
|
|
13615
|
-
.
|
|
13616
|
-
border: var(--border-width-regular) solid var(--color-border-default);
|
|
13617
|
-
border-radius: var(--radius-md);
|
|
13618
|
-
overflow: hidden;
|
|
13463
|
+
.muka-agent-task-list__task[data-state='pending'] .muka-agent-task-list__icon {
|
|
13464
|
+
color: var(--color-text-muted-default, var(--color-text-subtle-default));
|
|
13465
|
+
opacity: 0.6;
|
|
13619
13466
|
}
|
|
13620
13467
|
|
|
13621
|
-
|
|
13622
|
-
|
|
13468
|
+
/* ─── Label ────────────────────────────────────────────── */
|
|
13469
|
+
|
|
13470
|
+
.muka-agent-task-list__label {
|
|
13471
|
+
flex: 1 1 0;
|
|
13472
|
+
min-width: 0;
|
|
13473
|
+
padding: var(--spacing-2) 0;
|
|
13474
|
+
color: var(--color-text-subtle-default);
|
|
13475
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
13476
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
13477
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
13478
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
13479
|
+
word-break: break-word;
|
|
13623
13480
|
}
|
|
13624
13481
|
|
|
13625
|
-
|
|
13626
|
-
|
|
13482
|
+
/* ─── Print ────────────────────────────────────────────── */
|
|
13483
|
+
|
|
13484
|
+
@media print {
|
|
13485
|
+
.muka-agent-task-list {
|
|
13486
|
+
break-inside: avoid;
|
|
13487
|
+
}
|
|
13488
|
+
|
|
13489
|
+
.muka-agent-task-list__chevron {
|
|
13490
|
+
display: none;
|
|
13491
|
+
}
|
|
13627
13492
|
}
|
|
13628
13493
|
|
|
13629
13494
|
|
|
@@ -13768,3 +13633,134 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
13768
13633
|
outline-offset: 2px;
|
|
13769
13634
|
}
|
|
13770
13635
|
|
|
13636
|
+
|
|
13637
|
+
/* Accordion */
|
|
13638
|
+
/* Accordion Component Styles */
|
|
13639
|
+
|
|
13640
|
+
.muka-accordion {
|
|
13641
|
+
width: 100%;
|
|
13642
|
+
}
|
|
13643
|
+
|
|
13644
|
+
/* Item */
|
|
13645
|
+
.muka-accordion__item {
|
|
13646
|
+
border-bottom: var(--border-width-regular) solid var(--color-border-default);
|
|
13647
|
+
}
|
|
13648
|
+
|
|
13649
|
+
.muka-accordion__item:last-child {
|
|
13650
|
+
border-bottom: none;
|
|
13651
|
+
}
|
|
13652
|
+
|
|
13653
|
+
/* Header reset */
|
|
13654
|
+
.muka-accordion__header {
|
|
13655
|
+
margin: 0;
|
|
13656
|
+
}
|
|
13657
|
+
|
|
13658
|
+
/* Trigger */
|
|
13659
|
+
.muka-accordion__trigger {
|
|
13660
|
+
display: flex;
|
|
13661
|
+
align-items: center;
|
|
13662
|
+
justify-content: space-between;
|
|
13663
|
+
width: 100%;
|
|
13664
|
+
padding: var(--spacing-4);
|
|
13665
|
+
background: none;
|
|
13666
|
+
border: none;
|
|
13667
|
+
cursor: pointer;
|
|
13668
|
+
font-family: var(--text-label-md-semibold-fontFamily);
|
|
13669
|
+
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
13670
|
+
font-size: var(--text-label-md-semibold-fontSize);
|
|
13671
|
+
line-height: var(--text-label-md-semibold-lineHeight);
|
|
13672
|
+
color: var(--color-text-default-default);
|
|
13673
|
+
text-align: left;
|
|
13674
|
+
gap: var(--spacing-3);
|
|
13675
|
+
transition: background-color 0.15s ease;
|
|
13676
|
+
}
|
|
13677
|
+
|
|
13678
|
+
.muka-accordion__trigger:hover {
|
|
13679
|
+
background-color: var(--color-surface-level1);
|
|
13680
|
+
}
|
|
13681
|
+
|
|
13682
|
+
.muka-accordion__trigger[data-disabled] {
|
|
13683
|
+
cursor: not-allowed;
|
|
13684
|
+
opacity: 0.4;
|
|
13685
|
+
}
|
|
13686
|
+
|
|
13687
|
+
.muka-accordion__trigger-text {
|
|
13688
|
+
flex: 1;
|
|
13689
|
+
}
|
|
13690
|
+
|
|
13691
|
+
/* Chevron rotation */
|
|
13692
|
+
.muka-accordion__chevron {
|
|
13693
|
+
display: inline-flex;
|
|
13694
|
+
align-items: center;
|
|
13695
|
+
color: var(--color-text-subtle-default);
|
|
13696
|
+
transition: transform 200ms ease;
|
|
13697
|
+
}
|
|
13698
|
+
|
|
13699
|
+
.muka-accordion__trigger[data-state='open'] .muka-accordion__chevron {
|
|
13700
|
+
transform: rotate(180deg);
|
|
13701
|
+
}
|
|
13702
|
+
|
|
13703
|
+
/* Content */
|
|
13704
|
+
.muka-accordion__content {
|
|
13705
|
+
overflow: hidden;
|
|
13706
|
+
}
|
|
13707
|
+
|
|
13708
|
+
.muka-accordion__content[data-state='open'] {
|
|
13709
|
+
animation: muka-accordion-slideDown 200ms ease;
|
|
13710
|
+
}
|
|
13711
|
+
|
|
13712
|
+
.muka-accordion__content[data-state='closed'] {
|
|
13713
|
+
animation: muka-accordion-slideUp 200ms ease;
|
|
13714
|
+
}
|
|
13715
|
+
|
|
13716
|
+
@keyframes muka-accordion-slideDown {
|
|
13717
|
+
from {
|
|
13718
|
+
height: 0;
|
|
13719
|
+
}
|
|
13720
|
+
to {
|
|
13721
|
+
height: var(--radix-accordion-content-height);
|
|
13722
|
+
}
|
|
13723
|
+
}
|
|
13724
|
+
|
|
13725
|
+
@keyframes muka-accordion-slideUp {
|
|
13726
|
+
from {
|
|
13727
|
+
height: var(--radix-accordion-content-height);
|
|
13728
|
+
}
|
|
13729
|
+
to {
|
|
13730
|
+
height: 0;
|
|
13731
|
+
}
|
|
13732
|
+
}
|
|
13733
|
+
|
|
13734
|
+
.muka-accordion__content-inner {
|
|
13735
|
+
padding: 0 var(--spacing-4) var(--spacing-5);
|
|
13736
|
+
color: var(--color-text-default-default);
|
|
13737
|
+
}
|
|
13738
|
+
|
|
13739
|
+
/* ─── Variant: flush ────────────────────────────────────────────────────── */
|
|
13740
|
+
|
|
13741
|
+
.muka-accordion--flush .muka-accordion__trigger {
|
|
13742
|
+
padding-left: 0;
|
|
13743
|
+
padding-right: 0;
|
|
13744
|
+
}
|
|
13745
|
+
|
|
13746
|
+
.muka-accordion--flush .muka-accordion__content-inner {
|
|
13747
|
+
padding-left: 0;
|
|
13748
|
+
padding-right: 0;
|
|
13749
|
+
}
|
|
13750
|
+
|
|
13751
|
+
/* ─── Variant: contained ────────────────────────────────────────────────── */
|
|
13752
|
+
|
|
13753
|
+
.muka-accordion--contained {
|
|
13754
|
+
border: var(--border-width-regular) solid var(--color-border-default);
|
|
13755
|
+
border-radius: var(--radius-md);
|
|
13756
|
+
overflow: hidden;
|
|
13757
|
+
}
|
|
13758
|
+
|
|
13759
|
+
.muka-accordion--contained .muka-accordion__item {
|
|
13760
|
+
background-color: var(--color-surface-level3);
|
|
13761
|
+
}
|
|
13762
|
+
|
|
13763
|
+
.muka-accordion--contained .muka-accordion__item:last-child {
|
|
13764
|
+
border-bottom: none;
|
|
13765
|
+
}
|
|
13766
|
+
|