@revikornmann/muka-ui 0.6.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/components/Alert/Alert.css +7 -0
- package/dist/cjs/components/DataPieChart/DataPieChart.css +29 -0
- package/dist/cjs/components/DataPieChart/DataPieChart.js +20 -3
- package/dist/cjs/components/DataPieChart/DataPieChart.js.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.js +64 -7
- package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
- package/dist/cjs/components/NavigationTransition/NavigationTransition.js +25 -8
- package/dist/cjs/components/NavigationTransition/NavigationTransition.js.map +1 -1
- package/dist/cjs/components/PhotoUploader/PhotoUploader.css +125 -0
- package/dist/cjs/components/PhotoUploader/PhotoUploader.js +257 -0
- package/dist/cjs/components/PhotoUploader/PhotoUploader.js.map +1 -0
- package/dist/cjs/components/PhotoUploader/index.js +6 -0
- package/dist/cjs/components/PhotoUploader/index.js.map +1 -0
- package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.css +32 -2
- package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js +13 -2
- package/dist/cjs/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -1
- package/dist/cjs/components/SpecList/SpecList.css +34 -21
- package/dist/cjs/components/SpecList/SpecList.js +9 -3
- package/dist/cjs/components/SpecList/SpecList.js.map +1 -1
- package/dist/cjs/components/Thumbnail/Thumbnail.css +171 -0
- package/dist/cjs/components/Thumbnail/Thumbnail.js +55 -0
- package/dist/cjs/components/Thumbnail/Thumbnail.js.map +1 -0
- package/dist/cjs/components/Thumbnail/index.js +6 -0
- package/dist/cjs/components/Thumbnail/index.js.map +1 -0
- package/dist/cjs/components/index.js +5 -1
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/esm/components/Alert/Alert.css +7 -0
- package/dist/esm/components/DataPieChart/DataPieChart.css +29 -0
- package/dist/esm/components/DataPieChart/DataPieChart.js +20 -3
- package/dist/esm/components/DataPieChart/DataPieChart.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +31 -7
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/NavigationTransition/NavigationTransition.js +25 -8
- package/dist/esm/components/NavigationTransition/NavigationTransition.js.map +1 -1
- package/dist/esm/components/PhotoUploader/PhotoUploader.css +125 -0
- package/dist/esm/components/PhotoUploader/PhotoUploader.js +254 -0
- package/dist/esm/components/PhotoUploader/PhotoUploader.js.map +1 -0
- package/dist/esm/components/PhotoUploader/index.js +2 -0
- package/dist/esm/components/PhotoUploader/index.js.map +1 -0
- package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.css +32 -2
- package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js +13 -2
- package/dist/esm/components/ProgressAccordeon/ProgressAccordeon.js.map +1 -1
- package/dist/esm/components/SpecList/SpecList.css +34 -21
- package/dist/esm/components/SpecList/SpecList.js +9 -3
- package/dist/esm/components/SpecList/SpecList.js.map +1 -1
- package/dist/esm/components/Thumbnail/Thumbnail.css +171 -0
- package/dist/esm/components/Thumbnail/Thumbnail.js +52 -0
- package/dist/esm/components/Thumbnail/Thumbnail.js.map +1 -0
- package/dist/esm/components/Thumbnail/index.js +2 -0
- package/dist/esm/components/Thumbnail/index.js.map +1 -0
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/styles/components/Alert.css +7 -0
- package/dist/styles/components/DataPieChart.css +29 -0
- package/dist/styles/components/PhotoUploader.css +125 -0
- package/dist/styles/components/ProgressAccordeon.css +32 -2
- package/dist/styles/components/SpecList.css +34 -21
- package/dist/styles/components/Thumbnail.css +171 -0
- package/dist/styles/index.css +867 -449
- package/dist/styles/muka-dark.css +867 -449
- package/dist/styles/muka-light.css +867 -449
- package/dist/styles/tokens-bouwplan-dark.css +37 -0
- package/dist/styles/tokens-bouwplan-light.css +37 -0
- package/dist/styles/tokens-fscl-dark.css +37 -0
- package/dist/styles/tokens-fscl-light.css +37 -0
- package/dist/styles/tokens-grip-dark.css +37 -0
- package/dist/styles/tokens-grip-light.css +37 -0
- package/dist/styles/tokens-muka-dark.css +37 -0
- package/dist/styles/tokens-muka-light.css +37 -0
- package/dist/styles/tokens-wireframe-dark.css +37 -0
- package/dist/styles/tokens-wireframe-light.css +37 -0
- package/dist/styles/wireframe-dark.css +867 -449
- package/dist/styles/wireframe-light.css +867 -449
- package/dist/types/components/DataPieChart/DataPieChart.d.ts +7 -0
- package/dist/types/components/DataPieChart/DataPieChart.d.ts.map +1 -1
- package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/components/FileUpload/FileUpload.d.ts +1 -1
- package/dist/types/components/FileUpload/FileUpload.d.ts.map +1 -1
- package/dist/types/components/FileUpload/FileUploadItem.d.ts +1 -1
- package/dist/types/components/FileUpload/FileUploadItem.d.ts.map +1 -1
- package/dist/types/components/NavigationTransition/NavigationTransition.d.ts +3 -1
- package/dist/types/components/NavigationTransition/NavigationTransition.d.ts.map +1 -1
- package/dist/types/components/PhotoUploader/PhotoUploader.d.ts +71 -0
- package/dist/types/components/PhotoUploader/PhotoUploader.d.ts.map +1 -0
- package/dist/types/components/PhotoUploader/index.d.ts +2 -0
- package/dist/types/components/PhotoUploader/index.d.ts.map +1 -0
- package/dist/types/components/ProgressAccordeon/ProgressAccordeon.d.ts.map +1 -1
- package/dist/types/components/SpecList/SpecList.d.ts +13 -5
- package/dist/types/components/SpecList/SpecList.d.ts.map +1 -1
- package/dist/types/components/Thumbnail/Thumbnail.d.ts +77 -0
- package/dist/types/components/Thumbnail/Thumbnail.d.ts.map +1 -0
- package/dist/types/components/Thumbnail/index.d.ts +2 -0
- package/dist/types/components/Thumbnail/index.d.ts.map +1 -0
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/scripts/build-tokens.js +12 -1
- package/tokens/t1-primitives/motion.json +21 -0
- package/tokens/t2-alias/base.json +17 -0
- package/tokens/t3-semantics/ui.json +12 -0
|
@@ -268,6 +268,17 @@ body {
|
|
|
268
268
|
--container-gap-default: 2rem;
|
|
269
269
|
--container-gap-compact: 1.5rem;
|
|
270
270
|
--container-gap-spacious: 2.5rem;
|
|
271
|
+
--duration-none: 0ms;
|
|
272
|
+
--duration-instant: 100ms;
|
|
273
|
+
--duration-fast: 150ms;
|
|
274
|
+
--duration-normal: 200ms;
|
|
275
|
+
--duration-slow: 300ms;
|
|
276
|
+
--duration-slower: 500ms;
|
|
277
|
+
--easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
|
|
278
|
+
--easing-enter: cubic-bezier(0, 0, 0.2, 1);
|
|
279
|
+
--easing-exit: cubic-bezier(0.4, 0, 1, 1);
|
|
280
|
+
--easing-spring: cubic-bezier(0.16, 1, 0.3, 1);
|
|
281
|
+
--easing-linear: linear;
|
|
271
282
|
--color-white: #ffffff;
|
|
272
283
|
--color-black: #000000;
|
|
273
284
|
--color-gray-1: #fcfcfc;
|
|
@@ -1289,6 +1300,17 @@ body {
|
|
|
1289
1300
|
--alias-radius-xl: 1.5rem;
|
|
1290
1301
|
--alias-radius-2xl: 3rem;
|
|
1291
1302
|
--alias-radius-full: 999rem;
|
|
1303
|
+
--alias-motion-duration-none: 0ms;
|
|
1304
|
+
--alias-motion-duration-instant: 100ms;
|
|
1305
|
+
--alias-motion-duration-fast: 150ms;
|
|
1306
|
+
--alias-motion-duration-normal: 200ms;
|
|
1307
|
+
--alias-motion-duration-slow: 300ms;
|
|
1308
|
+
--alias-motion-duration-slower: 500ms;
|
|
1309
|
+
--alias-motion-easing-standard: cubic-bezier(0.4, 0, 0.2, 1);
|
|
1310
|
+
--alias-motion-easing-enter: cubic-bezier(0, 0, 0.2, 1);
|
|
1311
|
+
--alias-motion-easing-exit: cubic-bezier(0.4, 0, 1, 1);
|
|
1312
|
+
--alias-motion-easing-spring: cubic-bezier(0.16, 1, 0.3, 1);
|
|
1313
|
+
--alias-motion-easing-linear: linear;
|
|
1292
1314
|
--section-padding-vertical-default: 2rem;
|
|
1293
1315
|
--section-padding-vertical-compact: 1.5rem;
|
|
1294
1316
|
--section-padding-vertical-spacious: 2.5rem;
|
|
@@ -1496,6 +1518,12 @@ body {
|
|
|
1496
1518
|
--shadow-level6: 0 48px 96px 0 rgba(0, 0, 0, 0.220), inset 0 0 1px 0 rgba(0, 0, 0, 0.220);
|
|
1497
1519
|
--shadow-bevel: inset 0px -2px 0px 0px rgba(0, 0, 0, 0.090);
|
|
1498
1520
|
--shadow-sunken: inset 0px 0px 1px 0px rgba(0, 0, 0, 0.090), inset 0px 2px 4px 0px rgba(0, 0, 0, 0.090);
|
|
1521
|
+
--motion-duration-micro: 150ms;
|
|
1522
|
+
--motion-duration-component: 200ms;
|
|
1523
|
+
--motion-duration-view: 300ms;
|
|
1524
|
+
--motion-easing-default: cubic-bezier(0.4, 0, 0.2, 1);
|
|
1525
|
+
--motion-easing-enter: cubic-bezier(0.16, 1, 0.3, 1);
|
|
1526
|
+
--motion-easing-exit: cubic-bezier(0.4, 0, 1, 1);
|
|
1499
1527
|
--button-color-primary-background-default: #113264;
|
|
1500
1528
|
--button-color-primary-background-hover: #0d74ce;
|
|
1501
1529
|
--button-color-primary-background-pressed: #0d74ce;
|
|
@@ -2191,6 +2219,15 @@ body {
|
|
|
2191
2219
|
--container-gap-spacious: 3rem;
|
|
2192
2220
|
}
|
|
2193
2221
|
|
|
2222
|
+
/* Accessibility: disable motion for users who prefer reduced motion */
|
|
2223
|
+
@media (prefers-reduced-motion: reduce) {
|
|
2224
|
+
:root {
|
|
2225
|
+
--motion-duration-micro: 0ms;
|
|
2226
|
+
--motion-duration-component: 0ms;
|
|
2227
|
+
--motion-duration-view: 0ms;
|
|
2228
|
+
}
|
|
2229
|
+
}
|
|
2230
|
+
|
|
2194
2231
|
|
|
2195
2232
|
/* ========== Component Styles ========== */
|
|
2196
2233
|
/* View */
|
|
@@ -3275,6 +3312,180 @@ body {
|
|
|
3275
3312
|
}
|
|
3276
3313
|
|
|
3277
3314
|
|
|
3315
|
+
/* Thumbnail */
|
|
3316
|
+
/* Thumbnail Component Styles - Using Muka Design Tokens */
|
|
3317
|
+
|
|
3318
|
+
.muka-thumbnail {
|
|
3319
|
+
position: relative;
|
|
3320
|
+
flex-shrink: 0;
|
|
3321
|
+
}
|
|
3322
|
+
|
|
3323
|
+
/* The frame carries the border, background and shape clip. Keeping it separate
|
|
3324
|
+
from the root lets the remove (×) button sit outside the clip (needed for the
|
|
3325
|
+
circular/ellipse shape, whose corners would otherwise clip the button). */
|
|
3326
|
+
.muka-thumbnail__frame {
|
|
3327
|
+
position: absolute;
|
|
3328
|
+
inset: 0;
|
|
3329
|
+
overflow: hidden;
|
|
3330
|
+
border: var(--border-width-regular, 1px) solid var(--color-black-alpha-3);
|
|
3331
|
+
border-radius: var(--border-radius-lg);
|
|
3332
|
+
background-color: var(--color-surface-level1);
|
|
3333
|
+
}
|
|
3334
|
+
|
|
3335
|
+
/* ─── Shapes ──────────────────────────────────────────── */
|
|
3336
|
+
.muka-thumbnail--4-3 {
|
|
3337
|
+
width: 160px;
|
|
3338
|
+
height: 120px;
|
|
3339
|
+
}
|
|
3340
|
+
|
|
3341
|
+
.muka-thumbnail--1-1 {
|
|
3342
|
+
width: 120px;
|
|
3343
|
+
height: 120px;
|
|
3344
|
+
}
|
|
3345
|
+
|
|
3346
|
+
.muka-thumbnail--ellipse {
|
|
3347
|
+
width: 120px;
|
|
3348
|
+
height: 120px;
|
|
3349
|
+
}
|
|
3350
|
+
|
|
3351
|
+
.muka-thumbnail--ellipse .muka-thumbnail__frame {
|
|
3352
|
+
border-radius: var(--border-radius-full);
|
|
3353
|
+
}
|
|
3354
|
+
|
|
3355
|
+
/* Image fills the frame, cropped to cover. Sits at scale(1) by default so the
|
|
3356
|
+
interactive hover zoom has a clean origin. */
|
|
3357
|
+
.muka-thumbnail__image {
|
|
3358
|
+
position: absolute;
|
|
3359
|
+
inset: 0;
|
|
3360
|
+
width: 100%;
|
|
3361
|
+
height: 100%;
|
|
3362
|
+
object-fit: cover;
|
|
3363
|
+
display: block;
|
|
3364
|
+
transform-origin: center;
|
|
3365
|
+
/* Micro-interaction: hover zoom eases out over the "micro" duration. */
|
|
3366
|
+
transition: transform var(--motion-duration-micro) var(--motion-easing-enter);
|
|
3367
|
+
}
|
|
3368
|
+
|
|
3369
|
+
/* ─── Interactive (click-to-enlarge) ──────────────────── */
|
|
3370
|
+
.muka-thumbnail__trigger {
|
|
3371
|
+
position: absolute;
|
|
3372
|
+
inset: 0;
|
|
3373
|
+
padding: 0;
|
|
3374
|
+
border: 0;
|
|
3375
|
+
background: none;
|
|
3376
|
+
cursor: pointer;
|
|
3377
|
+
overflow: hidden;
|
|
3378
|
+
}
|
|
3379
|
+
|
|
3380
|
+
.muka-thumbnail__trigger:focus-visible {
|
|
3381
|
+
outline: 2px solid var(--color-border-focus);
|
|
3382
|
+
outline-offset: -2px;
|
|
3383
|
+
}
|
|
3384
|
+
|
|
3385
|
+
/* On hover the image scales up ~8px (160px → 168px) with an ease-out feel. */
|
|
3386
|
+
.muka-thumbnail--interactive:hover .muka-thumbnail__image {
|
|
3387
|
+
transform: scale(1.05);
|
|
3388
|
+
}
|
|
3389
|
+
|
|
3390
|
+
/* ─── Loading overlay + progress donut ────────────────── */
|
|
3391
|
+
.muka-thumbnail__overlay {
|
|
3392
|
+
position: absolute;
|
|
3393
|
+
inset: 0;
|
|
3394
|
+
display: flex;
|
|
3395
|
+
align-items: center;
|
|
3396
|
+
justify-content: center;
|
|
3397
|
+
background-color: var(--dialog-color-backdrop);
|
|
3398
|
+
}
|
|
3399
|
+
|
|
3400
|
+
.muka-thumbnail__progress {
|
|
3401
|
+
width: 40px;
|
|
3402
|
+
height: 40px;
|
|
3403
|
+
}
|
|
3404
|
+
|
|
3405
|
+
/* ─── Error / corrupt state ───────────────────────────── */
|
|
3406
|
+
.muka-thumbnail--error .muka-thumbnail__frame {
|
|
3407
|
+
background-color: var(--alias-color-state-error-muted);
|
|
3408
|
+
border-color: var(--alias-color-state-error-default);
|
|
3409
|
+
}
|
|
3410
|
+
|
|
3411
|
+
.muka-thumbnail__error {
|
|
3412
|
+
position: absolute;
|
|
3413
|
+
inset: 0;
|
|
3414
|
+
display: flex;
|
|
3415
|
+
flex-direction: column;
|
|
3416
|
+
align-items: center;
|
|
3417
|
+
justify-content: center;
|
|
3418
|
+
gap: var(--spacing-2);
|
|
3419
|
+
padding: var(--spacing-3);
|
|
3420
|
+
text-align: center;
|
|
3421
|
+
}
|
|
3422
|
+
|
|
3423
|
+
.muka-thumbnail__error-icon {
|
|
3424
|
+
color: var(--alert-color-error-accent);
|
|
3425
|
+
}
|
|
3426
|
+
|
|
3427
|
+
.muka-thumbnail__caption {
|
|
3428
|
+
max-width: 100%;
|
|
3429
|
+
overflow: hidden;
|
|
3430
|
+
text-overflow: ellipsis;
|
|
3431
|
+
white-space: nowrap;
|
|
3432
|
+
color: var(--alert-color-error-accent);
|
|
3433
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
3434
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
3435
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
3436
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
3437
|
+
}
|
|
3438
|
+
|
|
3439
|
+
/* ─── Remove (×) button ───────────────────────────────── */
|
|
3440
|
+
.muka-thumbnail__remove {
|
|
3441
|
+
position: absolute;
|
|
3442
|
+
top: var(--spacing-2);
|
|
3443
|
+
right: var(--spacing-2);
|
|
3444
|
+
display: flex;
|
|
3445
|
+
align-items: center;
|
|
3446
|
+
justify-content: center;
|
|
3447
|
+
width: var(--size-2xl);
|
|
3448
|
+
height: var(--size-2xl);
|
|
3449
|
+
padding: 0;
|
|
3450
|
+
color: var(--button-color-tertiary-foreground-default);
|
|
3451
|
+
background-color: var(--button-color-tertiary-background-default);
|
|
3452
|
+
border: var(--border-width-regular, 1px) solid var(--button-color-tertiary-border-default);
|
|
3453
|
+
border-radius: var(--border-radius-lg);
|
|
3454
|
+
cursor: pointer;
|
|
3455
|
+
transition: background-color var(--motion-duration-micro) var(--motion-easing-enter),
|
|
3456
|
+
border-color var(--motion-duration-micro) var(--motion-easing-enter);
|
|
3457
|
+
}
|
|
3458
|
+
|
|
3459
|
+
.muka-thumbnail__remove:hover {
|
|
3460
|
+
color: var(--button-color-tertiary-foreground-hover);
|
|
3461
|
+
background-color: var(--button-color-tertiary-background-hover);
|
|
3462
|
+
border-color: var(--button-color-tertiary-border-hover);
|
|
3463
|
+
}
|
|
3464
|
+
|
|
3465
|
+
.muka-thumbnail__remove:active {
|
|
3466
|
+
color: var(--button-color-tertiary-foreground-pressed);
|
|
3467
|
+
background-color: var(--button-color-tertiary-background-pressed);
|
|
3468
|
+
border-color: var(--button-color-tertiary-border-pressed);
|
|
3469
|
+
}
|
|
3470
|
+
|
|
3471
|
+
.muka-thumbnail__remove:focus-visible {
|
|
3472
|
+
outline: 2px solid var(--color-border-focus);
|
|
3473
|
+
outline-offset: 2px;
|
|
3474
|
+
}
|
|
3475
|
+
|
|
3476
|
+
/* ─── Reduced motion ──────────────────────────────────── */
|
|
3477
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3478
|
+
.muka-thumbnail__image,
|
|
3479
|
+
.muka-thumbnail__remove {
|
|
3480
|
+
transition: none;
|
|
3481
|
+
}
|
|
3482
|
+
|
|
3483
|
+
.muka-thumbnail--interactive:hover .muka-thumbnail__image {
|
|
3484
|
+
transform: none;
|
|
3485
|
+
}
|
|
3486
|
+
}
|
|
3487
|
+
|
|
3488
|
+
|
|
3278
3489
|
/* Textarea */
|
|
3279
3490
|
/* Textarea Component Styles - Using Muka Design Tokens */
|
|
3280
3491
|
|
|
@@ -4150,55 +4361,48 @@ body {
|
|
|
4150
4361
|
.muka-spec-list {
|
|
4151
4362
|
margin: 0;
|
|
4152
4363
|
padding: 0;
|
|
4153
|
-
background-color: var(--color-surface-level1);
|
|
4154
|
-
border-radius: var(--radius-md);
|
|
4155
|
-
overflow: hidden;
|
|
4156
4364
|
}
|
|
4157
4365
|
|
|
4158
4366
|
/* ─── Row ─────────────────────────────────────────────── */
|
|
4159
4367
|
|
|
4160
4368
|
.muka-spec-row {
|
|
4161
4369
|
display: flex;
|
|
4162
|
-
align-items:
|
|
4370
|
+
align-items: flex-start;
|
|
4163
4371
|
gap: var(--spacing-3);
|
|
4164
|
-
padding: var(--spacing-3)
|
|
4165
|
-
border-top: var(--border-width-regular) solid var(--color-border-default);
|
|
4166
|
-
}
|
|
4167
|
-
|
|
4168
|
-
.muka-spec-row:first-child {
|
|
4169
|
-
border-top: none;
|
|
4372
|
+
padding-bottom: var(--spacing-3);
|
|
4170
4373
|
}
|
|
4171
4374
|
|
|
4172
4375
|
/* ─── Label ───────────────────────────────────────────── */
|
|
4173
4376
|
|
|
4174
4377
|
.muka-spec-row__label {
|
|
4175
4378
|
flex: 0 0 auto;
|
|
4176
|
-
min-width: 40%;
|
|
4177
4379
|
margin: 0;
|
|
4178
4380
|
color: var(--color-text-subtle-default);
|
|
4179
4381
|
font-family: var(--text-body-md-regular-fontFamily);
|
|
4180
4382
|
font-weight: var(--text-body-md-regular-fontWeight);
|
|
4181
4383
|
font-size: var(--text-body-md-regular-fontSize);
|
|
4182
4384
|
line-height: var(--text-body-md-regular-lineHeight);
|
|
4385
|
+
overflow: hidden;
|
|
4386
|
+
text-overflow: ellipsis;
|
|
4387
|
+
white-space: nowrap;
|
|
4183
4388
|
}
|
|
4184
4389
|
|
|
4185
4390
|
/* ─── Value ───────────────────────────────────────────── */
|
|
4186
4391
|
|
|
4187
4392
|
.muka-spec-row__value {
|
|
4188
|
-
flex: 1 1
|
|
4393
|
+
flex: 1 1 0;
|
|
4394
|
+
min-width: 0;
|
|
4189
4395
|
margin: 0;
|
|
4190
4396
|
display: flex;
|
|
4191
4397
|
flex-direction: column;
|
|
4192
|
-
align-items: flex-end;
|
|
4193
|
-
text-align: right;
|
|
4194
4398
|
color: var(--color-text-default-default);
|
|
4195
4399
|
}
|
|
4196
4400
|
|
|
4197
4401
|
.muka-spec-row__value-text {
|
|
4198
|
-
font-family: var(--text-body-md-
|
|
4199
|
-
font-weight: var(--text-body-md-
|
|
4200
|
-
font-size: var(--text-body-md-
|
|
4201
|
-
line-height: var(--text-body-md-
|
|
4402
|
+
font-family: var(--text-body-md-regular-fontFamily);
|
|
4403
|
+
font-weight: var(--text-body-md-regular-fontWeight);
|
|
4404
|
+
font-size: var(--text-body-md-regular-fontSize);
|
|
4405
|
+
line-height: var(--text-body-md-regular-lineHeight);
|
|
4202
4406
|
}
|
|
4203
4407
|
|
|
4204
4408
|
.muka-spec-row__hint {
|
|
@@ -4209,10 +4413,30 @@ body {
|
|
|
4209
4413
|
line-height: var(--text-body-sm-regular-lineHeight);
|
|
4210
4414
|
}
|
|
4211
4415
|
|
|
4212
|
-
/* ───
|
|
4416
|
+
/* ─── Label width (horizontal stacking) ───────────────── */
|
|
4417
|
+
|
|
4418
|
+
.muka-spec-list--label-small .muka-spec-row__label {
|
|
4419
|
+
width: 80px;
|
|
4420
|
+
}
|
|
4421
|
+
|
|
4422
|
+
.muka-spec-list--label-medium .muka-spec-row__label {
|
|
4423
|
+
width: 120px;
|
|
4424
|
+
}
|
|
4425
|
+
|
|
4426
|
+
.muka-spec-list--label-large .muka-spec-row__label {
|
|
4427
|
+
width: 160px;
|
|
4428
|
+
}
|
|
4429
|
+
|
|
4430
|
+
/* ─── Vertical stacking ───────────────────────────────── */
|
|
4431
|
+
|
|
4432
|
+
.muka-spec-list--vertical .muka-spec-row {
|
|
4433
|
+
flex-direction: column;
|
|
4434
|
+
gap: var(--spacing-1);
|
|
4435
|
+
}
|
|
4213
4436
|
|
|
4214
|
-
.muka-spec-list--
|
|
4215
|
-
|
|
4437
|
+
.muka-spec-list--vertical .muka-spec-row__label {
|
|
4438
|
+
width: 100%;
|
|
4439
|
+
white-space: normal;
|
|
4216
4440
|
}
|
|
4217
4441
|
|
|
4218
4442
|
|
|
@@ -4563,232 +4787,38 @@ body {
|
|
|
4563
4787
|
}
|
|
4564
4788
|
|
|
4565
4789
|
|
|
4566
|
-
/*
|
|
4567
|
-
/*
|
|
4790
|
+
/* SegmentGroup */
|
|
4791
|
+
/* SegmentGroup Component Styles - Using Muka Design Tokens */
|
|
4568
4792
|
|
|
4569
|
-
|
|
4793
|
+
/* Container */
|
|
4794
|
+
.muka-segmentgroup {
|
|
4570
4795
|
display: inline-flex;
|
|
4571
|
-
flex-direction: column;
|
|
4572
|
-
gap: var(--spacing-2);
|
|
4573
|
-
}
|
|
4574
|
-
|
|
4575
|
-
.muka-select--full-width {
|
|
4576
|
-
width: 100%;
|
|
4577
|
-
}
|
|
4578
|
-
|
|
4579
|
-
/* Label */
|
|
4580
|
-
.muka-select__label {
|
|
4581
|
-
color: var(--color-text-default-default);
|
|
4582
|
-
cursor: pointer;
|
|
4583
|
-
}
|
|
4584
|
-
|
|
4585
|
-
.muka-select__label--sm {
|
|
4586
|
-
font-family: var(--text-label-sm-semibold-fontFamily);
|
|
4587
|
-
font-weight: var(--text-label-sm-semibold-fontWeight);
|
|
4588
|
-
font-size: var(--text-label-sm-semibold-fontSize);
|
|
4589
|
-
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
4590
|
-
}
|
|
4591
|
-
|
|
4592
|
-
.muka-select__label--md {
|
|
4593
|
-
font-family: var(--text-label-md-semibold-fontFamily);
|
|
4594
|
-
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
4595
|
-
font-size: var(--text-label-md-semibold-fontSize);
|
|
4596
|
-
line-height: var(--text-label-md-semibold-lineHeight);
|
|
4597
|
-
}
|
|
4598
|
-
|
|
4599
|
-
.muka-select__label--lg {
|
|
4600
|
-
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
4601
|
-
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
4602
|
-
font-size: var(--text-label-lg-semibold-fontSize);
|
|
4603
|
-
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
4604
|
-
}
|
|
4605
|
-
|
|
4606
|
-
.muka-select__required {
|
|
4607
|
-
color: var(--color-state-error-foreground);
|
|
4608
|
-
}
|
|
4609
|
-
|
|
4610
|
-
.muka-select__label--sm + .muka-select__field--disabled,
|
|
4611
|
-
.muka-select__label--md + .muka-select__field--disabled,
|
|
4612
|
-
.muka-select__label--lg + .muka-select__field--disabled {
|
|
4613
|
-
cursor: not-allowed;
|
|
4614
|
-
}
|
|
4615
|
-
|
|
4616
|
-
/* Field container — same as Input: 1px border, radius, padding, inset shadow */
|
|
4617
|
-
.muka-select__field {
|
|
4618
|
-
display: flex;
|
|
4619
4796
|
align-items: center;
|
|
4620
|
-
gap:
|
|
4797
|
+
gap: 0;
|
|
4798
|
+
padding: var(--segmentgroup-container-padding);
|
|
4799
|
+
background-color: var(--segmentgroup-container-background);
|
|
4800
|
+
border-radius: var(--segmentgroup-container-radius);
|
|
4621
4801
|
position: relative;
|
|
4622
|
-
|
|
4623
|
-
border: var(--border-width-regular) solid var(--input-field-color-default-border);
|
|
4624
|
-
border-radius: var(--input-field-radius-md);
|
|
4625
|
-
padding: var(--input-field-padding-y) var(--input-field-padding-x);
|
|
4626
|
-
transition: border-color 0.2s ease, background-color 0.2s ease;
|
|
4627
|
-
cursor: pointer;
|
|
4628
|
-
box-sizing: border-box;
|
|
4802
|
+
transition: all 0.2s ease;
|
|
4629
4803
|
}
|
|
4630
4804
|
|
|
4631
|
-
/* Inset shadow
|
|
4632
|
-
.muka-
|
|
4805
|
+
/* Inset shadow on container */
|
|
4806
|
+
.muka-segmentgroup::after {
|
|
4633
4807
|
content: '';
|
|
4634
4808
|
position: absolute;
|
|
4635
4809
|
inset: 0;
|
|
4636
4810
|
border-radius: inherit;
|
|
4637
|
-
box-shadow:
|
|
4811
|
+
box-shadow: var(--segmentgroup-container-shadow);
|
|
4638
4812
|
pointer-events: none;
|
|
4639
4813
|
}
|
|
4640
4814
|
|
|
4641
|
-
/*
|
|
4642
|
-
.muka-
|
|
4643
|
-
|
|
4644
|
-
border-radius: var(--input-field-radius-sm);
|
|
4645
|
-
}
|
|
4646
|
-
|
|
4647
|
-
.muka-select__field--md {
|
|
4648
|
-
min-height: var(--input-field-height-default);
|
|
4649
|
-
border-radius: var(--input-field-radius-md);
|
|
4815
|
+
/* Full width variant */
|
|
4816
|
+
.muka-segmentgroup--full-width {
|
|
4817
|
+
width: 100%;
|
|
4650
4818
|
}
|
|
4651
4819
|
|
|
4652
|
-
.muka-
|
|
4653
|
-
|
|
4654
|
-
border-radius: var(--input-field-radius-lg);
|
|
4655
|
-
}
|
|
4656
|
-
|
|
4657
|
-
/* Hover — no visual change (same as Input) */
|
|
4658
|
-
|
|
4659
|
-
/* Focus (active) — same as Input: 2px border, padding compensation */
|
|
4660
|
-
.muka-select__field--focused:not(.muka-select__field--disabled) {
|
|
4661
|
-
border-width: var(--border-width-bold);
|
|
4662
|
-
border-color: var(--input-field-color-focus-border);
|
|
4663
|
-
background-color: var(--input-field-color-focus-background);
|
|
4664
|
-
padding: calc(var(--input-field-padding-y) - 1px) calc(var(--input-field-padding-x) - 1px);
|
|
4665
|
-
}
|
|
4666
|
-
|
|
4667
|
-
/* Error — same as Input: 2px border, padding compensation */
|
|
4668
|
-
.muka-select__field--error:not(.muka-select__field--disabled) {
|
|
4669
|
-
border-width: var(--border-width-bold);
|
|
4670
|
-
border-color: var(--input-field-color-error-border);
|
|
4671
|
-
background-color: var(--input-field-color-error-background);
|
|
4672
|
-
padding: calc(var(--input-field-padding-y) - 1px) calc(var(--input-field-padding-x) - 1px);
|
|
4673
|
-
}
|
|
4674
|
-
|
|
4675
|
-
/* Disabled — same as Input */
|
|
4676
|
-
.muka-select__field--disabled {
|
|
4677
|
-
background-color: var(--input-field-color-disabled-background);
|
|
4678
|
-
border-color: var(--input-field-color-disabled-border);
|
|
4679
|
-
cursor: not-allowed;
|
|
4680
|
-
}
|
|
4681
|
-
|
|
4682
|
-
.muka-select__field--disabled::after {
|
|
4683
|
-
display: none;
|
|
4684
|
-
}
|
|
4685
|
-
|
|
4686
|
-
/* Native select — padding on field so native has 0 + right space for chevron */
|
|
4687
|
-
.muka-select__native {
|
|
4688
|
-
appearance: none;
|
|
4689
|
-
-webkit-appearance: none;
|
|
4690
|
-
flex: 1;
|
|
4691
|
-
border: none;
|
|
4692
|
-
outline: none;
|
|
4693
|
-
background: transparent;
|
|
4694
|
-
color: var(--input-field-color-default-foreground);
|
|
4695
|
-
font-family: var(--text-input-md-fontFamily);
|
|
4696
|
-
font-weight: var(--text-input-md-fontWeight);
|
|
4697
|
-
font-size: var(--text-input-md-fontSize);
|
|
4698
|
-
line-height: var(--text-input-md-lineHeight);
|
|
4699
|
-
padding: 0;
|
|
4700
|
-
padding-right: calc(var(--input-field-padding-x) + 1.5rem);
|
|
4701
|
-
cursor: pointer;
|
|
4702
|
-
min-width: 0;
|
|
4703
|
-
width: 100%;
|
|
4704
|
-
}
|
|
4705
|
-
|
|
4706
|
-
.muka-select__field--sm .muka-select__native {
|
|
4707
|
-
font-family: var(--text-input-sm-fontFamily);
|
|
4708
|
-
font-weight: var(--text-input-sm-fontWeight);
|
|
4709
|
-
font-size: var(--text-input-sm-fontSize);
|
|
4710
|
-
line-height: var(--text-input-sm-lineHeight);
|
|
4711
|
-
}
|
|
4712
|
-
|
|
4713
|
-
.muka-select__field--lg .muka-select__native {
|
|
4714
|
-
font-family: var(--text-input-lg-fontFamily);
|
|
4715
|
-
font-weight: var(--text-input-lg-fontWeight);
|
|
4716
|
-
font-size: var(--text-input-lg-fontSize);
|
|
4717
|
-
line-height: var(--text-input-lg-lineHeight);
|
|
4718
|
-
}
|
|
4719
|
-
|
|
4720
|
-
.muka-select__field--disabled .muka-select__native {
|
|
4721
|
-
color: var(--input-field-color-disabled-foreground);
|
|
4722
|
-
cursor: not-allowed;
|
|
4723
|
-
}
|
|
4724
|
-
|
|
4725
|
-
/* Chevron — aligned with field padding */
|
|
4726
|
-
.muka-select__chevron {
|
|
4727
|
-
display: inline-flex;
|
|
4728
|
-
align-items: center;
|
|
4729
|
-
position: absolute;
|
|
4730
|
-
right: var(--input-field-padding-x);
|
|
4731
|
-
pointer-events: none;
|
|
4732
|
-
color: var(--color-text-subtle-default);
|
|
4733
|
-
}
|
|
4734
|
-
|
|
4735
|
-
.muka-select__field--disabled .muka-select__chevron {
|
|
4736
|
-
color: var(--input-field-color-disabled-foreground);
|
|
4737
|
-
}
|
|
4738
|
-
|
|
4739
|
-
/* Helper text — same as Input */
|
|
4740
|
-
.muka-select__helper {
|
|
4741
|
-
font-family: var(--text-label-sm-regular-fontFamily);
|
|
4742
|
-
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
4743
|
-
font-size: var(--text-label-sm-regular-fontSize);
|
|
4744
|
-
line-height: var(--text-label-sm-regular-lineHeight);
|
|
4745
|
-
color: var(--color-text-subtle-default);
|
|
4746
|
-
margin: 0;
|
|
4747
|
-
}
|
|
4748
|
-
|
|
4749
|
-
/* Error message — same as Input */
|
|
4750
|
-
.muka-select__error {
|
|
4751
|
-
font-family: var(--text-label-sm-regular-fontFamily);
|
|
4752
|
-
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
4753
|
-
font-size: var(--text-label-sm-regular-fontSize);
|
|
4754
|
-
line-height: var(--text-label-sm-regular-lineHeight);
|
|
4755
|
-
color: var(--color-state-error-foreground);
|
|
4756
|
-
margin: 0;
|
|
4757
|
-
}
|
|
4758
|
-
|
|
4759
|
-
|
|
4760
|
-
/* SegmentGroup */
|
|
4761
|
-
/* SegmentGroup Component Styles - Using Muka Design Tokens */
|
|
4762
|
-
|
|
4763
|
-
/* Container */
|
|
4764
|
-
.muka-segmentgroup {
|
|
4765
|
-
display: inline-flex;
|
|
4766
|
-
align-items: center;
|
|
4767
|
-
gap: 0;
|
|
4768
|
-
padding: var(--segmentgroup-container-padding);
|
|
4769
|
-
background-color: var(--segmentgroup-container-background);
|
|
4770
|
-
border-radius: var(--segmentgroup-container-radius);
|
|
4771
|
-
position: relative;
|
|
4772
|
-
transition: all 0.2s ease;
|
|
4773
|
-
}
|
|
4774
|
-
|
|
4775
|
-
/* Inset shadow on container */
|
|
4776
|
-
.muka-segmentgroup::after {
|
|
4777
|
-
content: '';
|
|
4778
|
-
position: absolute;
|
|
4779
|
-
inset: 0;
|
|
4780
|
-
border-radius: inherit;
|
|
4781
|
-
box-shadow: var(--segmentgroup-container-shadow);
|
|
4782
|
-
pointer-events: none;
|
|
4783
|
-
}
|
|
4784
|
-
|
|
4785
|
-
/* Full width variant */
|
|
4786
|
-
.muka-segmentgroup--full-width {
|
|
4787
|
-
width: 100%;
|
|
4788
|
-
}
|
|
4789
|
-
|
|
4790
|
-
.muka-segmentgroup--full-width .muka-segmentgroup__segment {
|
|
4791
|
-
flex: 1;
|
|
4820
|
+
.muka-segmentgroup--full-width .muka-segmentgroup__segment {
|
|
4821
|
+
flex: 1;
|
|
4792
4822
|
}
|
|
4793
4823
|
|
|
4794
4824
|
/* Pill */
|
|
@@ -5496,80 +5526,271 @@ body {
|
|
|
5496
5526
|
}
|
|
5497
5527
|
|
|
5498
5528
|
|
|
5499
|
-
/*
|
|
5500
|
-
/*
|
|
5529
|
+
/* Radio */
|
|
5530
|
+
/* Radio Component Styles - Using Muka Design Tokens */
|
|
5501
5531
|
|
|
5502
|
-
/*
|
|
5503
|
-
.muka-
|
|
5504
|
-
|
|
5505
|
-
|
|
5532
|
+
/* Wrapper - clickable label container */
|
|
5533
|
+
.muka-radio {
|
|
5534
|
+
display: inline-flex;
|
|
5535
|
+
align-items: center;
|
|
5536
|
+
gap: var(--spacing-4);
|
|
5537
|
+
cursor: pointer;
|
|
5538
|
+
user-select: none;
|
|
5506
5539
|
}
|
|
5507
5540
|
|
|
5508
|
-
|
|
5509
|
-
|
|
5541
|
+
.muka-radio--disabled {
|
|
5542
|
+
cursor: not-allowed;
|
|
5543
|
+
opacity: 0.6;
|
|
5544
|
+
}
|
|
5545
|
+
|
|
5546
|
+
/* Control container */
|
|
5547
|
+
.muka-radio__control {
|
|
5510
5548
|
position: relative;
|
|
5511
|
-
|
|
5512
|
-
|
|
5513
|
-
|
|
5549
|
+
display: inline-flex;
|
|
5550
|
+
align-items: center;
|
|
5551
|
+
justify-content: center;
|
|
5552
|
+
flex-shrink: 0;
|
|
5514
5553
|
}
|
|
5515
5554
|
|
|
5516
|
-
/*
|
|
5517
|
-
.muka-
|
|
5555
|
+
/* Hidden native input */
|
|
5556
|
+
.muka-radio__input {
|
|
5518
5557
|
position: absolute;
|
|
5519
|
-
|
|
5520
|
-
|
|
5521
|
-
|
|
5522
|
-
|
|
5523
|
-
|
|
5558
|
+
width: 1px;
|
|
5559
|
+
height: 1px;
|
|
5560
|
+
padding: 0;
|
|
5561
|
+
margin: -1px;
|
|
5562
|
+
overflow: hidden;
|
|
5563
|
+
clip: rect(0, 0, 0, 0);
|
|
5564
|
+
white-space: nowrap;
|
|
5565
|
+
border: 0;
|
|
5524
5566
|
}
|
|
5525
5567
|
|
|
5526
|
-
/*
|
|
5527
|
-
.muka-
|
|
5568
|
+
/* Visual indicator (circle) */
|
|
5569
|
+
.muka-radio__indicator {
|
|
5528
5570
|
display: flex;
|
|
5529
|
-
flex-direction: column;
|
|
5530
5571
|
align-items: center;
|
|
5531
|
-
|
|
5532
|
-
|
|
5572
|
+
justify-content: center;
|
|
5573
|
+
width: var(--radio-size-default);
|
|
5574
|
+
height: var(--radio-size-default);
|
|
5575
|
+
border-radius: var(--border-radius-full);
|
|
5576
|
+
background-color: var(--radio-color-default-background);
|
|
5577
|
+
border: var(--border-width-regular) solid var(--radio-color-default-border);
|
|
5578
|
+
transition: all 0.15s ease;
|
|
5579
|
+
box-shadow: inset 0 1px 2px 0 rgba(26, 26, 26, 0.15);
|
|
5533
5580
|
}
|
|
5534
5581
|
|
|
5535
|
-
/*
|
|
5536
|
-
.muka-
|
|
5537
|
-
width:
|
|
5538
|
-
height:
|
|
5582
|
+
/* Size variants */
|
|
5583
|
+
.muka-radio--sm .muka-radio__indicator {
|
|
5584
|
+
width: var(--radio-size-sm);
|
|
5585
|
+
height: var(--radio-size-sm);
|
|
5586
|
+
}
|
|
5587
|
+
|
|
5588
|
+
.muka-radio--lg .muka-radio__indicator {
|
|
5589
|
+
width: var(--radio-size-lg);
|
|
5590
|
+
height: var(--radio-size-lg);
|
|
5591
|
+
}
|
|
5592
|
+
|
|
5593
|
+
/* Inner dot (shown when checked) */
|
|
5594
|
+
.muka-radio__dot {
|
|
5595
|
+
width: var(--radio-dot-size-default);
|
|
5596
|
+
height: var(--radio-dot-size-default);
|
|
5539
5597
|
border-radius: var(--border-radius-full);
|
|
5540
|
-
|
|
5541
|
-
|
|
5542
|
-
|
|
5543
|
-
flex-shrink: 0;
|
|
5544
|
-
position: relative;
|
|
5598
|
+
background-color: var(--radio-color-default-dot);
|
|
5599
|
+
transform: scale(0);
|
|
5600
|
+
transition: transform 0.15s ease;
|
|
5545
5601
|
}
|
|
5546
5602
|
|
|
5547
|
-
|
|
5548
|
-
|
|
5549
|
-
|
|
5550
|
-
color: var(--color-text-default-inverse);
|
|
5551
|
-
cursor: pointer;
|
|
5603
|
+
.muka-radio--sm .muka-radio__dot {
|
|
5604
|
+
width: var(--radio-dot-size-sm);
|
|
5605
|
+
height: var(--radio-dot-size-sm);
|
|
5552
5606
|
}
|
|
5553
5607
|
|
|
5554
|
-
.muka-
|
|
5555
|
-
|
|
5608
|
+
.muka-radio--lg .muka-radio__dot {
|
|
5609
|
+
width: var(--radio-dot-size-lg);
|
|
5610
|
+
height: var(--radio-dot-size-lg);
|
|
5556
5611
|
}
|
|
5557
5612
|
|
|
5558
|
-
|
|
5613
|
+
/* Hover state - removed per design */
|
|
5614
|
+
|
|
5615
|
+
/* Focus state */
|
|
5616
|
+
.muka-radio__input:focus-visible + .muka-radio__indicator {
|
|
5559
5617
|
outline: 2px solid var(--color-border-focus);
|
|
5560
5618
|
outline-offset: 2px;
|
|
5561
5619
|
}
|
|
5562
5620
|
|
|
5563
|
-
/*
|
|
5564
|
-
.muka-
|
|
5565
|
-
background-color: var(--
|
|
5566
|
-
|
|
5567
|
-
|
|
5568
|
-
|
|
5569
|
-
|
|
5570
|
-
|
|
5571
|
-
|
|
5572
|
-
color: var(--color-
|
|
5621
|
+
/* Checked state */
|
|
5622
|
+
.muka-radio__input:checked + .muka-radio__indicator {
|
|
5623
|
+
background-color: var(--radio-color-checked-background);
|
|
5624
|
+
border-width: var(--border-width-bold);
|
|
5625
|
+
border-color: var(--radio-color-checked-border);
|
|
5626
|
+
box-shadow: none;
|
|
5627
|
+
}
|
|
5628
|
+
|
|
5629
|
+
.muka-radio__input:checked + .muka-radio__indicator .muka-radio__dot {
|
|
5630
|
+
background-color: var(--radio-color-checked-dot);
|
|
5631
|
+
transform: scale(1);
|
|
5632
|
+
}
|
|
5633
|
+
|
|
5634
|
+
/* Disabled state */
|
|
5635
|
+
.muka-radio--disabled .muka-radio__indicator {
|
|
5636
|
+
background-color: var(--radio-color-disabled-background);
|
|
5637
|
+
border-color: var(--radio-color-disabled-border);
|
|
5638
|
+
box-shadow: none;
|
|
5639
|
+
}
|
|
5640
|
+
|
|
5641
|
+
.muka-radio__input:disabled:checked + .muka-radio__indicator .muka-radio__dot {
|
|
5642
|
+
background-color: var(--radio-color-disabled-dot);
|
|
5643
|
+
}
|
|
5644
|
+
|
|
5645
|
+
/* Label text */
|
|
5646
|
+
.muka-radio__label {
|
|
5647
|
+
font-family: var(--text-label-lg-regular-fontFamily);
|
|
5648
|
+
font-weight: var(--text-label-lg-regular-fontWeight);
|
|
5649
|
+
font-size: var(--text-label-lg-regular-fontSize);
|
|
5650
|
+
line-height: var(--text-label-lg-regular-lineHeight);
|
|
5651
|
+
color: var(--color-text-default-default);
|
|
5652
|
+
}
|
|
5653
|
+
|
|
5654
|
+
.muka-radio--sm .muka-radio__label {
|
|
5655
|
+
font-family: var(--text-label-md-regular-fontFamily);
|
|
5656
|
+
font-weight: var(--text-label-md-regular-fontWeight);
|
|
5657
|
+
font-size: var(--text-label-md-regular-fontSize);
|
|
5658
|
+
line-height: var(--text-label-md-regular-lineHeight);
|
|
5659
|
+
}
|
|
5660
|
+
|
|
5661
|
+
.muka-radio--lg .muka-radio__label {
|
|
5662
|
+
font-family: var(--text-label-xl-regular-fontFamily);
|
|
5663
|
+
font-weight: var(--text-label-xl-regular-fontWeight);
|
|
5664
|
+
font-size: var(--text-label-xl-regular-fontSize);
|
|
5665
|
+
line-height: var(--text-label-xl-regular-lineHeight);
|
|
5666
|
+
}
|
|
5667
|
+
|
|
5668
|
+
.muka-radio--disabled .muka-radio__label {
|
|
5669
|
+
color: var(--color-text-subtle-default);
|
|
5670
|
+
}
|
|
5671
|
+
|
|
5672
|
+
|
|
5673
|
+
/* PullToRefresh */
|
|
5674
|
+
/* PullToRefresh Component Styles */
|
|
5675
|
+
|
|
5676
|
+
.muka-pull-to-refresh {
|
|
5677
|
+
position: relative;
|
|
5678
|
+
display: flex;
|
|
5679
|
+
flex-direction: column;
|
|
5680
|
+
width: 100%;
|
|
5681
|
+
height: 100%;
|
|
5682
|
+
overflow: hidden;
|
|
5683
|
+
}
|
|
5684
|
+
|
|
5685
|
+
.muka-pull-to-refresh__indicator {
|
|
5686
|
+
position: absolute;
|
|
5687
|
+
top: 0;
|
|
5688
|
+
left: 0;
|
|
5689
|
+
right: 0;
|
|
5690
|
+
display: flex;
|
|
5691
|
+
align-items: flex-end;
|
|
5692
|
+
justify-content: center;
|
|
5693
|
+
padding-bottom: var(--spacing-2);
|
|
5694
|
+
color: var(--color-text-subtle-default);
|
|
5695
|
+
overflow: hidden;
|
|
5696
|
+
pointer-events: none;
|
|
5697
|
+
z-index: 1;
|
|
5698
|
+
}
|
|
5699
|
+
|
|
5700
|
+
.muka-pull-to-refresh__chevron {
|
|
5701
|
+
display: inline-flex;
|
|
5702
|
+
align-items: center;
|
|
5703
|
+
justify-content: center;
|
|
5704
|
+
transition: transform 0.16s ease;
|
|
5705
|
+
}
|
|
5706
|
+
|
|
5707
|
+
.muka-pull-to-refresh__scroller {
|
|
5708
|
+
flex: 1 1 auto;
|
|
5709
|
+
min-height: 0;
|
|
5710
|
+
width: 100%;
|
|
5711
|
+
overflow-x: clip;
|
|
5712
|
+
overflow-y: auto;
|
|
5713
|
+
-webkit-overflow-scrolling: touch;
|
|
5714
|
+
overscroll-behavior-y: contain;
|
|
5715
|
+
touch-action: pan-y;
|
|
5716
|
+
will-change: transform;
|
|
5717
|
+
}
|
|
5718
|
+
|
|
5719
|
+
|
|
5720
|
+
/* ProgressTracker */
|
|
5721
|
+
/* ProgressTracker Component Styles — Using Muka Design Tokens */
|
|
5722
|
+
|
|
5723
|
+
/* ─── Root ──────────────────────────────────────────────── */
|
|
5724
|
+
.muka-progress-tracker {
|
|
5725
|
+
width: 100%;
|
|
5726
|
+
padding-bottom: var(--spacing-7);
|
|
5727
|
+
}
|
|
5728
|
+
|
|
5729
|
+
/* ─── Track (layered container) ─────────────────────────── */
|
|
5730
|
+
.muka-progress-tracker__track {
|
|
5731
|
+
position: relative;
|
|
5732
|
+
/* Vertical padding = (indicator size - connector height) / 2 = (32 - 4) / 2 = 14px */
|
|
5733
|
+
padding-top: 14px;
|
|
5734
|
+
padding-bottom: 14px;
|
|
5735
|
+
}
|
|
5736
|
+
|
|
5737
|
+
/* ─── Steps layer (on top) ──────────────────────────────── */
|
|
5738
|
+
.muka-progress-tracker__steps {
|
|
5739
|
+
position: absolute;
|
|
5740
|
+
inset: 0;
|
|
5741
|
+
display: flex;
|
|
5742
|
+
align-items: flex-start;
|
|
5743
|
+
justify-content: space-between;
|
|
5744
|
+
z-index: 2;
|
|
5745
|
+
}
|
|
5746
|
+
|
|
5747
|
+
/* ─── Individual step ───────────────────────────────────── */
|
|
5748
|
+
.muka-progress-tracker__step {
|
|
5749
|
+
display: flex;
|
|
5750
|
+
flex-direction: column;
|
|
5751
|
+
align-items: center;
|
|
5752
|
+
gap: 7px;
|
|
5753
|
+
position: relative;
|
|
5754
|
+
}
|
|
5755
|
+
|
|
5756
|
+
/* ─── Step indicator (circle) ───────────────────────────── */
|
|
5757
|
+
.muka-progress-tracker__indicator {
|
|
5758
|
+
width: 32px;
|
|
5759
|
+
height: 32px;
|
|
5760
|
+
border-radius: var(--border-radius-full);
|
|
5761
|
+
display: flex;
|
|
5762
|
+
align-items: center;
|
|
5763
|
+
justify-content: center;
|
|
5764
|
+
flex-shrink: 0;
|
|
5765
|
+
position: relative;
|
|
5766
|
+
}
|
|
5767
|
+
|
|
5768
|
+
/* Past: dark accent contrast circle with white checkmark */
|
|
5769
|
+
.muka-progress-tracker__indicator--past {
|
|
5770
|
+
background-color: var(--alias-color-accent-contrast);
|
|
5771
|
+
color: var(--color-text-default-inverse);
|
|
5772
|
+
cursor: pointer;
|
|
5773
|
+
}
|
|
5774
|
+
|
|
5775
|
+
.muka-progress-tracker__indicator--past:hover {
|
|
5776
|
+
background-color: var(--alias-color-accent-pressed);
|
|
5777
|
+
}
|
|
5778
|
+
|
|
5779
|
+
.muka-progress-tracker__indicator--past:focus-visible {
|
|
5780
|
+
outline: 2px solid var(--color-border-focus);
|
|
5781
|
+
outline-offset: 2px;
|
|
5782
|
+
}
|
|
5783
|
+
|
|
5784
|
+
/* Current: accent default circle with white number */
|
|
5785
|
+
.muka-progress-tracker__indicator--current {
|
|
5786
|
+
background-color: var(--alias-color-accent-default);
|
|
5787
|
+
color: var(--color-text-default-inverse);
|
|
5788
|
+
}
|
|
5789
|
+
|
|
5790
|
+
/* Upcoming: sunken/gray circle with dark number */
|
|
5791
|
+
.muka-progress-tracker__indicator--upcoming {
|
|
5792
|
+
background-color: var(--color-surface-sunken);
|
|
5793
|
+
color: var(--color-text-default-default);
|
|
5573
5794
|
}
|
|
5574
5795
|
|
|
5575
5796
|
/* ─── Step number text ──────────────────────────────────── */
|
|
@@ -5687,11 +5908,13 @@ body {
|
|
|
5687
5908
|
gap: var(--spacing-8);
|
|
5688
5909
|
}
|
|
5689
5910
|
|
|
5690
|
-
/* Past
|
|
5911
|
+
/* Past steps group header + slot. The header↔content gap lives inside the
|
|
5912
|
+
collapsing slot (as padding-top) so it collapses with the content, so the
|
|
5913
|
+
body gap itself is 0. */
|
|
5691
5914
|
.muka-progress-accordeon__body {
|
|
5692
5915
|
display: flex;
|
|
5693
5916
|
flex-direction: column;
|
|
5694
|
-
gap:
|
|
5917
|
+
gap: 0;
|
|
5695
5918
|
width: 100%;
|
|
5696
5919
|
}
|
|
5697
5920
|
|
|
@@ -5824,6 +6047,34 @@ body {
|
|
|
5824
6047
|
width: 100%;
|
|
5825
6048
|
}
|
|
5826
6049
|
|
|
6050
|
+
/* ─── Collapse/expand animation (past steps) ─────────────────
|
|
6051
|
+
The grid-template-rows 1fr → 0fr technique animates the content to/from its
|
|
6052
|
+
intrinsic (auto) height with no magic max-height. Under prefers-reduced-motion
|
|
6053
|
+
--motion-duration-view resolves to 0ms, so the toggle stays instant. */
|
|
6054
|
+
.muka-progress-accordeon__slot-wrapper {
|
|
6055
|
+
display: grid;
|
|
6056
|
+
grid-template-rows: 1fr;
|
|
6057
|
+
transition: grid-template-rows var(--motion-duration-view) var(--motion-easing-enter);
|
|
6058
|
+
}
|
|
6059
|
+
|
|
6060
|
+
.muka-progress-accordeon__slot-wrapper--collapsed {
|
|
6061
|
+
grid-template-rows: 0fr;
|
|
6062
|
+
}
|
|
6063
|
+
|
|
6064
|
+
/* The direct grid child clips and must have NO padding/border of its own —
|
|
6065
|
+
min-height:0 lets it shrink, and with no padding the 0fr track reaches a true
|
|
6066
|
+
0 height (padding on the item would leave a residual gap when collapsed). */
|
|
6067
|
+
.muka-progress-accordeon__slot-clip {
|
|
6068
|
+
overflow: hidden;
|
|
6069
|
+
min-height: 0;
|
|
6070
|
+
}
|
|
6071
|
+
|
|
6072
|
+
/* The header↔content spacing lives on the inner slot (inside the clip region)
|
|
6073
|
+
so it collapses together with the content. */
|
|
6074
|
+
.muka-progress-accordeon__slot-wrapper .muka-progress-accordeon__slot {
|
|
6075
|
+
padding-top: var(--spacing-4);
|
|
6076
|
+
}
|
|
6077
|
+
|
|
5827
6078
|
/* ─── Action buttons (current state) ─────────────────────── */
|
|
5828
6079
|
.muka-progress-accordeon__actions {
|
|
5829
6080
|
display: flex;
|
|
@@ -6340,52 +6591,180 @@ body {
|
|
|
6340
6591
|
}
|
|
6341
6592
|
|
|
6342
6593
|
|
|
6343
|
-
/*
|
|
6344
|
-
/*
|
|
6594
|
+
/* PhotoUploader */
|
|
6595
|
+
/* PhotoUploader Component Styles - Using Muka Design Tokens */
|
|
6345
6596
|
|
|
6346
|
-
.muka-
|
|
6597
|
+
.muka-photo-uploader {
|
|
6347
6598
|
display: flex;
|
|
6348
|
-
|
|
6349
|
-
|
|
6599
|
+
flex-direction: column;
|
|
6600
|
+
align-items: flex-start;
|
|
6601
|
+
gap: var(--spacing-4);
|
|
6602
|
+
width: 100%;
|
|
6603
|
+
}
|
|
6604
|
+
|
|
6605
|
+
/* Visually-hidden native file input */
|
|
6606
|
+
.muka-photo-uploader__input {
|
|
6607
|
+
position: absolute;
|
|
6608
|
+
width: 1px;
|
|
6609
|
+
height: 1px;
|
|
6610
|
+
padding: 0;
|
|
6611
|
+
margin: -1px;
|
|
6612
|
+
overflow: hidden;
|
|
6613
|
+
clip: rect(0, 0, 0, 0);
|
|
6614
|
+
white-space: nowrap;
|
|
6615
|
+
border: 0;
|
|
6616
|
+
}
|
|
6617
|
+
|
|
6618
|
+
/* ─── Error feedback alert ────────────────────────────── */
|
|
6619
|
+
.muka-photo-uploader__alert {
|
|
6620
|
+
width: 100%;
|
|
6621
|
+
}
|
|
6622
|
+
|
|
6623
|
+
/* ─── Thumbnail grid ──────────────────────────────────── */
|
|
6624
|
+
.muka-photo-uploader__grid {
|
|
6625
|
+
display: flex;
|
|
6626
|
+
flex-wrap: wrap;
|
|
6627
|
+
gap: var(--spacing-3);
|
|
6628
|
+
width: 100%;
|
|
6629
|
+
margin: 0;
|
|
6630
|
+
padding: 0;
|
|
6350
6631
|
list-style: none;
|
|
6632
|
+
}
|
|
6633
|
+
|
|
6634
|
+
.muka-photo-uploader__grid-item {
|
|
6351
6635
|
margin: 0;
|
|
6352
6636
|
padding: 0;
|
|
6353
6637
|
}
|
|
6354
6638
|
|
|
6355
|
-
/*
|
|
6356
|
-
.muka-
|
|
6357
|
-
display:
|
|
6639
|
+
/* ─── Drop zone card ──────────────────────────────────── */
|
|
6640
|
+
.muka-photo-uploader__dropzone {
|
|
6641
|
+
display: flex;
|
|
6642
|
+
flex-direction: column;
|
|
6358
6643
|
align-items: center;
|
|
6359
6644
|
justify-content: center;
|
|
6360
|
-
|
|
6361
|
-
|
|
6362
|
-
|
|
6363
|
-
color: var(--color-
|
|
6645
|
+
gap: var(--spacing-4);
|
|
6646
|
+
width: 100%;
|
|
6647
|
+
padding: var(--card-padding-lg);
|
|
6648
|
+
background-color: var(--card-color-default-background);
|
|
6649
|
+
border: var(--border-width-regular, 1px) solid var(--card-color-default-border);
|
|
6650
|
+
border-radius: var(--border-radius-lg);
|
|
6364
6651
|
cursor: pointer;
|
|
6365
|
-
|
|
6366
|
-
transition: background-color
|
|
6367
|
-
|
|
6652
|
+
text-align: center;
|
|
6653
|
+
transition: background-color var(--motion-duration-micro) var(--motion-easing-enter),
|
|
6654
|
+
border-color var(--motion-duration-micro) var(--motion-easing-enter);
|
|
6368
6655
|
}
|
|
6369
6656
|
|
|
6370
|
-
.muka-
|
|
6657
|
+
.muka-photo-uploader__dropzone:hover,
|
|
6658
|
+
.muka-photo-uploader__dropzone--active {
|
|
6659
|
+
border-color: var(--color-border-focus);
|
|
6371
6660
|
background-color: var(--color-surface-level1);
|
|
6372
6661
|
}
|
|
6373
6662
|
|
|
6374
|
-
|
|
6375
|
-
|
|
6376
|
-
|
|
6377
|
-
color: var(--button-color-primary-default-foreground);
|
|
6378
|
-
border-color: var(--button-color-primary-default-background);
|
|
6379
|
-
font-weight: 600;
|
|
6663
|
+
.muka-photo-uploader__dropzone:focus-visible {
|
|
6664
|
+
outline: 2px solid var(--color-border-focus);
|
|
6665
|
+
outline-offset: 2px;
|
|
6380
6666
|
}
|
|
6381
6667
|
|
|
6382
|
-
|
|
6383
|
-
|
|
6668
|
+
.muka-photo-uploader__dropzone-icon {
|
|
6669
|
+
display: flex;
|
|
6670
|
+
align-items: center;
|
|
6671
|
+
justify-content: center;
|
|
6672
|
+
color: var(--color-icon-subtle-default);
|
|
6673
|
+
}
|
|
6674
|
+
|
|
6675
|
+
.muka-photo-uploader__dropzone-text {
|
|
6676
|
+
font-family: var(--text-body-md-regular-fontFamily);
|
|
6677
|
+
font-size: var(--text-body-md-regular-fontSize);
|
|
6678
|
+
font-weight: var(--text-body-md-regular-fontWeight);
|
|
6679
|
+
line-height: var(--text-body-md-regular-lineHeight);
|
|
6384
6680
|
color: var(--color-text-subtle-default);
|
|
6385
6681
|
}
|
|
6386
6682
|
|
|
6387
|
-
|
|
6388
|
-
|
|
6683
|
+
/* ─── Disabled ────────────────────────────────────────── */
|
|
6684
|
+
.muka-photo-uploader--disabled .muka-photo-uploader__dropzone {
|
|
6685
|
+
cursor: not-allowed;
|
|
6686
|
+
opacity: 0.6;
|
|
6687
|
+
}
|
|
6688
|
+
|
|
6689
|
+
.muka-photo-uploader--disabled .muka-photo-uploader__dropzone:hover {
|
|
6690
|
+
border-color: var(--card-color-default-border);
|
|
6691
|
+
background-color: var(--card-color-default-background);
|
|
6692
|
+
}
|
|
6693
|
+
|
|
6694
|
+
/* ─── Enlarged photo dialog ───────────────────────────── */
|
|
6695
|
+
.muka-photo-uploader__preview {
|
|
6696
|
+
display: flex;
|
|
6697
|
+
align-items: center;
|
|
6698
|
+
justify-content: center;
|
|
6699
|
+
width: 100%;
|
|
6700
|
+
height: 100%;
|
|
6701
|
+
}
|
|
6702
|
+
|
|
6703
|
+
/* Fits the dialog while preserving the photo's original aspect ratio. */
|
|
6704
|
+
.muka-photo-uploader__preview-image {
|
|
6705
|
+
display: block;
|
|
6706
|
+
max-width: 100%;
|
|
6707
|
+
max-height: 100%;
|
|
6708
|
+
width: auto;
|
|
6709
|
+
height: auto;
|
|
6710
|
+
object-fit: contain;
|
|
6711
|
+
border-radius: var(--border-radius-lg);
|
|
6712
|
+
}
|
|
6713
|
+
|
|
6714
|
+
/* ─── Reduced motion ──────────────────────────────────── */
|
|
6715
|
+
@media (prefers-reduced-motion: reduce) {
|
|
6716
|
+
.muka-photo-uploader__dropzone {
|
|
6717
|
+
transition: none;
|
|
6718
|
+
}
|
|
6719
|
+
}
|
|
6720
|
+
|
|
6721
|
+
|
|
6722
|
+
/* Pagination */
|
|
6723
|
+
/* Pagination Component Styles */
|
|
6724
|
+
|
|
6725
|
+
.muka-pagination__list {
|
|
6726
|
+
display: flex;
|
|
6727
|
+
align-items: center;
|
|
6728
|
+
gap: var(--spacing-1);
|
|
6729
|
+
list-style: none;
|
|
6730
|
+
margin: 0;
|
|
6731
|
+
padding: 0;
|
|
6732
|
+
}
|
|
6733
|
+
|
|
6734
|
+
/* Base button */
|
|
6735
|
+
.muka-pagination__button {
|
|
6736
|
+
display: inline-flex;
|
|
6737
|
+
align-items: center;
|
|
6738
|
+
justify-content: center;
|
|
6739
|
+
border: var(--border-width-regular) solid transparent;
|
|
6740
|
+
border-radius: var(--radius-md);
|
|
6741
|
+
background: transparent;
|
|
6742
|
+
color: var(--color-text-default-default);
|
|
6743
|
+
cursor: pointer;
|
|
6744
|
+
font: inherit;
|
|
6745
|
+
transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
|
|
6746
|
+
padding: 0;
|
|
6747
|
+
}
|
|
6748
|
+
|
|
6749
|
+
.muka-pagination__button:hover:not(:disabled):not(.muka-pagination__button--active) {
|
|
6750
|
+
background-color: var(--color-surface-level1);
|
|
6751
|
+
}
|
|
6752
|
+
|
|
6753
|
+
/* Active page */
|
|
6754
|
+
.muka-pagination__button--active {
|
|
6755
|
+
background-color: var(--button-color-primary-default-background);
|
|
6756
|
+
color: var(--button-color-primary-default-foreground);
|
|
6757
|
+
border-color: var(--button-color-primary-default-background);
|
|
6758
|
+
font-weight: 600;
|
|
6759
|
+
}
|
|
6760
|
+
|
|
6761
|
+
/* Nav buttons (prev/next/first/last) */
|
|
6762
|
+
.muka-pagination__button--nav {
|
|
6763
|
+
color: var(--color-text-subtle-default);
|
|
6764
|
+
}
|
|
6765
|
+
|
|
6766
|
+
.muka-pagination__button:disabled {
|
|
6767
|
+
opacity: 0.4;
|
|
6389
6768
|
cursor: not-allowed;
|
|
6390
6769
|
}
|
|
6391
6770
|
|
|
@@ -9304,6 +9683,35 @@ li.muka-listitem {
|
|
|
9304
9683
|
transition: stroke-dasharray 0.3s ease;
|
|
9305
9684
|
}
|
|
9306
9685
|
|
|
9686
|
+
/* ─── Indeterminate (spinner) ─────────────────────────── */
|
|
9687
|
+
/* A masked ring filled with an angular (conic) gradient that rotates. The mask
|
|
9688
|
+
band matches the donut geometry (r=40, strokeWidth=16 → 64%–96% of radius) so
|
|
9689
|
+
it swaps seamlessly with the value-based progress donut. */
|
|
9690
|
+
.muka-data-pie-chart__spinner-track,
|
|
9691
|
+
.muka-data-pie-chart__spinner {
|
|
9692
|
+
position: absolute;
|
|
9693
|
+
inset: 0;
|
|
9694
|
+
border-radius: 50%;
|
|
9695
|
+
-webkit-mask: radial-gradient(farthest-side, transparent 63%, #000 65%, #000 95%, transparent 97%);
|
|
9696
|
+
mask: radial-gradient(farthest-side, transparent 63%, #000 65%, #000 95%, transparent 97%);
|
|
9697
|
+
}
|
|
9698
|
+
|
|
9699
|
+
.muka-data-pie-chart__spinner {
|
|
9700
|
+
animation: muka-data-pie-chart-spin 0.9s linear infinite;
|
|
9701
|
+
}
|
|
9702
|
+
|
|
9703
|
+
@keyframes muka-data-pie-chart-spin {
|
|
9704
|
+
to {
|
|
9705
|
+
transform: rotate(360deg);
|
|
9706
|
+
}
|
|
9707
|
+
}
|
|
9708
|
+
|
|
9709
|
+
@media (prefers-reduced-motion: reduce) {
|
|
9710
|
+
.muka-data-pie-chart__spinner {
|
|
9711
|
+
animation-duration: 2.5s;
|
|
9712
|
+
}
|
|
9713
|
+
}
|
|
9714
|
+
|
|
9307
9715
|
.muka-data-pie-chart__value {
|
|
9308
9716
|
position: absolute;
|
|
9309
9717
|
inset: 0;
|
|
@@ -11877,6 +12285,13 @@ li.muka-listitem {
|
|
|
11877
12285
|
height: 100%;
|
|
11878
12286
|
}
|
|
11879
12287
|
|
|
12288
|
+
/* The leading icon and the dismiss (×) icon inherit the variant accent set on
|
|
12289
|
+
their container, overriding the Icon component's default color. */
|
|
12290
|
+
.muka-alert__icon .muka-icon,
|
|
12291
|
+
.muka-alert__dismiss .muka-icon {
|
|
12292
|
+
color: inherit;
|
|
12293
|
+
}
|
|
12294
|
+
|
|
11880
12295
|
/* Content */
|
|
11881
12296
|
.muka-alert__content {
|
|
11882
12297
|
flex: 1;
|
|
@@ -12383,193 +12798,196 @@ li.muka-listitem {
|
|
|
12383
12798
|
}
|
|
12384
12799
|
|
|
12385
12800
|
|
|
12386
|
-
/*
|
|
12387
|
-
/*
|
|
12801
|
+
/* Select */
|
|
12802
|
+
/* Select Component Styles - Aligned with Input for consistency */
|
|
12388
12803
|
|
|
12389
|
-
|
|
12390
|
-
.muka-radio {
|
|
12804
|
+
.muka-select {
|
|
12391
12805
|
display: inline-flex;
|
|
12392
|
-
|
|
12393
|
-
gap: var(--spacing-
|
|
12394
|
-
cursor: pointer;
|
|
12395
|
-
user-select: none;
|
|
12806
|
+
flex-direction: column;
|
|
12807
|
+
gap: var(--spacing-2);
|
|
12396
12808
|
}
|
|
12397
12809
|
|
|
12398
|
-
.muka-
|
|
12399
|
-
|
|
12400
|
-
opacity: 0.6;
|
|
12810
|
+
.muka-select--full-width {
|
|
12811
|
+
width: 100%;
|
|
12401
12812
|
}
|
|
12402
12813
|
|
|
12403
|
-
/*
|
|
12404
|
-
.muka-
|
|
12405
|
-
|
|
12406
|
-
|
|
12407
|
-
align-items: center;
|
|
12408
|
-
justify-content: center;
|
|
12409
|
-
flex-shrink: 0;
|
|
12814
|
+
/* Label */
|
|
12815
|
+
.muka-select__label {
|
|
12816
|
+
color: var(--color-text-default-default);
|
|
12817
|
+
cursor: pointer;
|
|
12410
12818
|
}
|
|
12411
12819
|
|
|
12412
|
-
|
|
12413
|
-
|
|
12414
|
-
|
|
12415
|
-
|
|
12416
|
-
height:
|
|
12417
|
-
padding: 0;
|
|
12418
|
-
margin: -1px;
|
|
12419
|
-
overflow: hidden;
|
|
12420
|
-
clip: rect(0, 0, 0, 0);
|
|
12421
|
-
white-space: nowrap;
|
|
12422
|
-
border: 0;
|
|
12820
|
+
.muka-select__label--sm {
|
|
12821
|
+
font-family: var(--text-label-sm-semibold-fontFamily);
|
|
12822
|
+
font-weight: var(--text-label-sm-semibold-fontWeight);
|
|
12823
|
+
font-size: var(--text-label-sm-semibold-fontSize);
|
|
12824
|
+
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
12423
12825
|
}
|
|
12424
12826
|
|
|
12425
|
-
|
|
12426
|
-
|
|
12427
|
-
|
|
12428
|
-
|
|
12429
|
-
|
|
12430
|
-
width: var(--radio-size-default);
|
|
12431
|
-
height: var(--radio-size-default);
|
|
12432
|
-
border-radius: var(--border-radius-full);
|
|
12433
|
-
background-color: var(--radio-color-default-background);
|
|
12434
|
-
border: var(--border-width-regular) solid var(--radio-color-default-border);
|
|
12435
|
-
transition: all 0.15s ease;
|
|
12436
|
-
box-shadow: inset 0 1px 2px 0 rgba(26, 26, 26, 0.15);
|
|
12827
|
+
.muka-select__label--md {
|
|
12828
|
+
font-family: var(--text-label-md-semibold-fontFamily);
|
|
12829
|
+
font-weight: var(--text-label-md-semibold-fontWeight);
|
|
12830
|
+
font-size: var(--text-label-md-semibold-fontSize);
|
|
12831
|
+
line-height: var(--text-label-md-semibold-lineHeight);
|
|
12437
12832
|
}
|
|
12438
12833
|
|
|
12439
|
-
|
|
12440
|
-
|
|
12441
|
-
|
|
12442
|
-
|
|
12834
|
+
.muka-select__label--lg {
|
|
12835
|
+
font-family: var(--text-label-lg-semibold-fontFamily);
|
|
12836
|
+
font-weight: var(--text-label-lg-semibold-fontWeight);
|
|
12837
|
+
font-size: var(--text-label-lg-semibold-fontSize);
|
|
12838
|
+
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
12443
12839
|
}
|
|
12444
12840
|
|
|
12445
|
-
.muka-
|
|
12446
|
-
|
|
12447
|
-
height: var(--radio-size-lg);
|
|
12841
|
+
.muka-select__required {
|
|
12842
|
+
color: var(--color-state-error-foreground);
|
|
12448
12843
|
}
|
|
12449
12844
|
|
|
12450
|
-
|
|
12451
|
-
.muka-
|
|
12452
|
-
|
|
12453
|
-
|
|
12454
|
-
border-radius: var(--border-radius-full);
|
|
12455
|
-
background-color: var(--radio-color-default-dot);
|
|
12456
|
-
transform: scale(0);
|
|
12457
|
-
transition: transform 0.15s ease;
|
|
12845
|
+
.muka-select__label--sm + .muka-select__field--disabled,
|
|
12846
|
+
.muka-select__label--md + .muka-select__field--disabled,
|
|
12847
|
+
.muka-select__label--lg + .muka-select__field--disabled {
|
|
12848
|
+
cursor: not-allowed;
|
|
12458
12849
|
}
|
|
12459
12850
|
|
|
12460
|
-
|
|
12461
|
-
|
|
12462
|
-
|
|
12851
|
+
/* Field container — same as Input: 1px border, radius, padding, inset shadow */
|
|
12852
|
+
.muka-select__field {
|
|
12853
|
+
display: flex;
|
|
12854
|
+
align-items: center;
|
|
12855
|
+
gap: var(--spacing-2);
|
|
12856
|
+
position: relative;
|
|
12857
|
+
background-color: var(--input-field-color-default-background);
|
|
12858
|
+
border: var(--border-width-regular) solid var(--input-field-color-default-border);
|
|
12859
|
+
border-radius: var(--input-field-radius-md);
|
|
12860
|
+
padding: var(--input-field-padding-y) var(--input-field-padding-x);
|
|
12861
|
+
transition: border-color 0.2s ease, background-color 0.2s ease;
|
|
12862
|
+
cursor: pointer;
|
|
12863
|
+
box-sizing: border-box;
|
|
12463
12864
|
}
|
|
12464
12865
|
|
|
12465
|
-
|
|
12466
|
-
|
|
12467
|
-
|
|
12866
|
+
/* Inset shadow — same as Input (single subtle line) */
|
|
12867
|
+
.muka-select__field::after {
|
|
12868
|
+
content: '';
|
|
12869
|
+
position: absolute;
|
|
12870
|
+
inset: 0;
|
|
12871
|
+
border-radius: inherit;
|
|
12872
|
+
box-shadow: inset 0 1px 2px 0 rgba(26, 26, 26, 0.08);
|
|
12873
|
+
pointer-events: none;
|
|
12468
12874
|
}
|
|
12469
12875
|
|
|
12470
|
-
/*
|
|
12471
|
-
|
|
12472
|
-
|
|
12473
|
-
|
|
12474
|
-
outline: 2px solid var(--color-border-focus);
|
|
12475
|
-
outline-offset: 2px;
|
|
12876
|
+
/* Size variants — same radius/height as Input */
|
|
12877
|
+
.muka-select__field--sm {
|
|
12878
|
+
min-height: var(--input-field-height-sm);
|
|
12879
|
+
border-radius: var(--input-field-radius-sm);
|
|
12476
12880
|
}
|
|
12477
12881
|
|
|
12478
|
-
|
|
12479
|
-
|
|
12480
|
-
|
|
12481
|
-
border-width: var(--border-width-bold);
|
|
12482
|
-
border-color: var(--radio-color-checked-border);
|
|
12483
|
-
box-shadow: none;
|
|
12882
|
+
.muka-select__field--md {
|
|
12883
|
+
min-height: var(--input-field-height-default);
|
|
12884
|
+
border-radius: var(--input-field-radius-md);
|
|
12484
12885
|
}
|
|
12485
12886
|
|
|
12486
|
-
.muka-
|
|
12487
|
-
|
|
12488
|
-
|
|
12887
|
+
.muka-select__field--lg {
|
|
12888
|
+
min-height: var(--input-field-height-lg);
|
|
12889
|
+
border-radius: var(--input-field-radius-lg);
|
|
12489
12890
|
}
|
|
12490
12891
|
|
|
12491
|
-
/*
|
|
12492
|
-
.muka-radio--disabled .muka-radio__indicator {
|
|
12493
|
-
background-color: var(--radio-color-disabled-background);
|
|
12494
|
-
border-color: var(--radio-color-disabled-border);
|
|
12495
|
-
box-shadow: none;
|
|
12496
|
-
}
|
|
12892
|
+
/* Hover — no visual change (same as Input) */
|
|
12497
12893
|
|
|
12498
|
-
|
|
12499
|
-
|
|
12894
|
+
/* Focus (active) — same as Input: 2px border, padding compensation */
|
|
12895
|
+
.muka-select__field--focused:not(.muka-select__field--disabled) {
|
|
12896
|
+
border-width: var(--border-width-bold);
|
|
12897
|
+
border-color: var(--input-field-color-focus-border);
|
|
12898
|
+
background-color: var(--input-field-color-focus-background);
|
|
12899
|
+
padding: calc(var(--input-field-padding-y) - 1px) calc(var(--input-field-padding-x) - 1px);
|
|
12500
12900
|
}
|
|
12501
12901
|
|
|
12502
|
-
/*
|
|
12503
|
-
.muka-
|
|
12504
|
-
|
|
12505
|
-
|
|
12506
|
-
|
|
12507
|
-
|
|
12508
|
-
color: var(--color-text-default-default);
|
|
12902
|
+
/* Error — same as Input: 2px border, padding compensation */
|
|
12903
|
+
.muka-select__field--error:not(.muka-select__field--disabled) {
|
|
12904
|
+
border-width: var(--border-width-bold);
|
|
12905
|
+
border-color: var(--input-field-color-error-border);
|
|
12906
|
+
background-color: var(--input-field-color-error-background);
|
|
12907
|
+
padding: calc(var(--input-field-padding-y) - 1px) calc(var(--input-field-padding-x) - 1px);
|
|
12509
12908
|
}
|
|
12510
12909
|
|
|
12511
|
-
|
|
12512
|
-
|
|
12513
|
-
|
|
12514
|
-
|
|
12515
|
-
|
|
12910
|
+
/* Disabled — same as Input */
|
|
12911
|
+
.muka-select__field--disabled {
|
|
12912
|
+
background-color: var(--input-field-color-disabled-background);
|
|
12913
|
+
border-color: var(--input-field-color-disabled-border);
|
|
12914
|
+
cursor: not-allowed;
|
|
12516
12915
|
}
|
|
12517
12916
|
|
|
12518
|
-
.muka-
|
|
12519
|
-
|
|
12520
|
-
font-weight: var(--text-label-xl-regular-fontWeight);
|
|
12521
|
-
font-size: var(--text-label-xl-regular-fontSize);
|
|
12522
|
-
line-height: var(--text-label-xl-regular-lineHeight);
|
|
12917
|
+
.muka-select__field--disabled::after {
|
|
12918
|
+
display: none;
|
|
12523
12919
|
}
|
|
12524
12920
|
|
|
12525
|
-
|
|
12526
|
-
|
|
12921
|
+
/* Native select — padding on field so native has 0 + right space for chevron */
|
|
12922
|
+
.muka-select__native {
|
|
12923
|
+
appearance: none;
|
|
12924
|
+
-webkit-appearance: none;
|
|
12925
|
+
flex: 1;
|
|
12926
|
+
border: none;
|
|
12927
|
+
outline: none;
|
|
12928
|
+
background: transparent;
|
|
12929
|
+
color: var(--input-field-color-default-foreground);
|
|
12930
|
+
font-family: var(--text-input-md-fontFamily);
|
|
12931
|
+
font-weight: var(--text-input-md-fontWeight);
|
|
12932
|
+
font-size: var(--text-input-md-fontSize);
|
|
12933
|
+
line-height: var(--text-input-md-lineHeight);
|
|
12934
|
+
padding: 0;
|
|
12935
|
+
padding-right: calc(var(--input-field-padding-x) + 1.5rem);
|
|
12936
|
+
cursor: pointer;
|
|
12937
|
+
min-width: 0;
|
|
12938
|
+
width: 100%;
|
|
12527
12939
|
}
|
|
12528
12940
|
|
|
12941
|
+
.muka-select__field--sm .muka-select__native {
|
|
12942
|
+
font-family: var(--text-input-sm-fontFamily);
|
|
12943
|
+
font-weight: var(--text-input-sm-fontWeight);
|
|
12944
|
+
font-size: var(--text-input-sm-fontSize);
|
|
12945
|
+
line-height: var(--text-input-sm-lineHeight);
|
|
12946
|
+
}
|
|
12529
12947
|
|
|
12530
|
-
|
|
12531
|
-
|
|
12948
|
+
.muka-select__field--lg .muka-select__native {
|
|
12949
|
+
font-family: var(--text-input-lg-fontFamily);
|
|
12950
|
+
font-weight: var(--text-input-lg-fontWeight);
|
|
12951
|
+
font-size: var(--text-input-lg-fontSize);
|
|
12952
|
+
line-height: var(--text-input-lg-lineHeight);
|
|
12953
|
+
}
|
|
12532
12954
|
|
|
12533
|
-
.muka-
|
|
12534
|
-
|
|
12535
|
-
|
|
12536
|
-
flex-direction: column;
|
|
12537
|
-
width: 100%;
|
|
12538
|
-
height: 100%;
|
|
12539
|
-
overflow: hidden;
|
|
12955
|
+
.muka-select__field--disabled .muka-select__native {
|
|
12956
|
+
color: var(--input-field-color-disabled-foreground);
|
|
12957
|
+
cursor: not-allowed;
|
|
12540
12958
|
}
|
|
12541
12959
|
|
|
12542
|
-
|
|
12960
|
+
/* Chevron — aligned with field padding */
|
|
12961
|
+
.muka-select__chevron {
|
|
12962
|
+
display: inline-flex;
|
|
12963
|
+
align-items: center;
|
|
12543
12964
|
position: absolute;
|
|
12544
|
-
|
|
12545
|
-
left: 0;
|
|
12546
|
-
right: 0;
|
|
12547
|
-
display: flex;
|
|
12548
|
-
align-items: flex-end;
|
|
12549
|
-
justify-content: center;
|
|
12550
|
-
padding-bottom: var(--spacing-2);
|
|
12551
|
-
color: var(--color-text-subtle-default);
|
|
12552
|
-
overflow: hidden;
|
|
12965
|
+
right: var(--input-field-padding-x);
|
|
12553
12966
|
pointer-events: none;
|
|
12554
|
-
|
|
12967
|
+
color: var(--color-text-subtle-default);
|
|
12555
12968
|
}
|
|
12556
12969
|
|
|
12557
|
-
.muka-
|
|
12558
|
-
|
|
12559
|
-
align-items: center;
|
|
12560
|
-
justify-content: center;
|
|
12561
|
-
transition: transform 0.16s ease;
|
|
12970
|
+
.muka-select__field--disabled .muka-select__chevron {
|
|
12971
|
+
color: var(--input-field-color-disabled-foreground);
|
|
12562
12972
|
}
|
|
12563
12973
|
|
|
12564
|
-
|
|
12565
|
-
|
|
12566
|
-
|
|
12567
|
-
|
|
12568
|
-
|
|
12569
|
-
|
|
12570
|
-
-
|
|
12571
|
-
|
|
12572
|
-
|
|
12573
|
-
|
|
12974
|
+
/* Helper text — same as Input */
|
|
12975
|
+
.muka-select__helper {
|
|
12976
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
12977
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
12978
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
12979
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
12980
|
+
color: var(--color-text-subtle-default);
|
|
12981
|
+
margin: 0;
|
|
12982
|
+
}
|
|
12983
|
+
|
|
12984
|
+
/* Error message — same as Input */
|
|
12985
|
+
.muka-select__error {
|
|
12986
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
12987
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
12988
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
12989
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
12990
|
+
color: var(--color-state-error-foreground);
|
|
12991
|
+
margin: 0;
|
|
12574
12992
|
}
|
|
12575
12993
|
|