@revikornmann/muka-ui 0.25.0 → 0.26.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/Autocomplete/Autocomplete.css +63 -0
- package/dist/cjs/components/Autocomplete/Autocomplete.js +190 -0
- package/dist/cjs/components/Autocomplete/Autocomplete.js.map +1 -0
- package/dist/cjs/components/Autocomplete/index.js +6 -0
- package/dist/cjs/components/Autocomplete/index.js.map +1 -0
- package/dist/cjs/components/Combobox/Combobox.js +7 -23
- package/dist/cjs/components/Combobox/Combobox.js.map +1 -1
- package/dist/cjs/components/ContextSelect/ContextSelect.js +2 -2
- package/dist/cjs/components/ContextSelect/ContextSelect.js.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.js +9 -1
- package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
- package/dist/cjs/components/DropdownSelect/DropdownSelect.js +2 -2
- package/dist/cjs/components/DropdownSelect/DropdownSelect.js.map +1 -1
- package/dist/cjs/components/InputCounter/InputCounter.css +175 -0
- package/dist/cjs/components/InputCounter/InputCounter.js +196 -0
- package/dist/cjs/components/InputCounter/InputCounter.js.map +1 -0
- package/dist/cjs/components/InputCounter/index.js +11 -0
- package/dist/cjs/components/InputCounter/index.js.map +1 -0
- package/dist/cjs/components/Menu/Menu.js +26 -11
- package/dist/cjs/components/Menu/Menu.js.map +1 -1
- package/dist/cjs/components/Popover/Popover.js +10 -8
- package/dist/cjs/components/Popover/Popover.js.map +1 -1
- package/dist/cjs/components/Tooltip/Tooltip.js +7 -2
- package/dist/cjs/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/cjs/components/index.js +7 -3
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/utils/suggestionList.js +27 -0
- package/dist/cjs/utils/suggestionList.js.map +1 -0
- package/dist/cjs/utils/usePortalContainer.js +33 -0
- package/dist/cjs/utils/usePortalContainer.js.map +1 -0
- package/dist/esm/components/Autocomplete/Autocomplete.css +63 -0
- package/dist/esm/components/Autocomplete/Autocomplete.js +187 -0
- package/dist/esm/components/Autocomplete/Autocomplete.js.map +1 -0
- package/dist/esm/components/Autocomplete/index.js +2 -0
- package/dist/esm/components/Autocomplete/index.js.map +1 -0
- package/dist/esm/components/Combobox/Combobox.js +5 -21
- package/dist/esm/components/Combobox/Combobox.js.map +1 -1
- package/dist/esm/components/ContextSelect/ContextSelect.js +2 -2
- package/dist/esm/components/ContextSelect/ContextSelect.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.js +9 -1
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/DropdownSelect/DropdownSelect.js +2 -2
- package/dist/esm/components/DropdownSelect/DropdownSelect.js.map +1 -1
- package/dist/esm/components/InputCounter/InputCounter.css +175 -0
- package/dist/esm/components/InputCounter/InputCounter.js +160 -0
- package/dist/esm/components/InputCounter/InputCounter.js.map +1 -0
- package/dist/esm/components/InputCounter/index.js +3 -0
- package/dist/esm/components/InputCounter/index.js.map +1 -0
- package/dist/esm/components/Menu/Menu.js +26 -11
- package/dist/esm/components/Menu/Menu.js.map +1 -1
- package/dist/esm/components/Popover/Popover.js +10 -5
- package/dist/esm/components/Popover/Popover.js.map +1 -1
- package/dist/esm/components/Tooltip/Tooltip.js +7 -2
- package/dist/esm/components/Tooltip/Tooltip.js.map +1 -1
- package/dist/esm/components/index.js +2 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/utils/suggestionList.js +22 -0
- package/dist/esm/utils/suggestionList.js.map +1 -0
- package/dist/esm/utils/usePortalContainer.js +29 -0
- package/dist/esm/utils/usePortalContainer.js.map +1 -0
- package/dist/styles/components/Autocomplete.css +63 -0
- package/dist/styles/components/InputCounter.css +175 -0
- package/dist/styles/index.css +449 -205
- package/dist/styles/muka-dark.css +449 -205
- package/dist/styles/muka-light.css +449 -205
- package/dist/styles/wireframe-dark.css +449 -205
- package/dist/styles/wireframe-light.css +449 -205
- package/dist/types/components/Autocomplete/Autocomplete.d.ts +105 -0
- package/dist/types/components/Autocomplete/Autocomplete.d.ts.map +1 -0
- package/dist/types/components/Autocomplete/index.d.ts +2 -0
- package/dist/types/components/Autocomplete/index.d.ts.map +1 -0
- package/dist/types/components/Combobox/Combobox.d.ts +2 -2
- package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
- package/dist/types/components/ContextSelect/ContextSelect.d.ts +6 -0
- package/dist/types/components/ContextSelect/ContextSelect.d.ts.map +1 -1
- package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/components/DropdownSelect/DropdownSelect.d.ts +6 -0
- package/dist/types/components/DropdownSelect/DropdownSelect.d.ts.map +1 -1
- package/dist/types/components/InputCounter/InputCounter.d.ts +79 -0
- package/dist/types/components/InputCounter/InputCounter.d.ts.map +1 -0
- package/dist/types/components/InputCounter/index.d.ts +3 -0
- package/dist/types/components/InputCounter/index.d.ts.map +1 -0
- package/dist/types/components/Menu/Menu.d.ts +4 -4
- package/dist/types/components/Menu/Menu.d.ts.map +1 -1
- package/dist/types/components/Popover/Popover.d.ts +12 -0
- package/dist/types/components/Popover/Popover.d.ts.map +1 -1
- package/dist/types/components/Tooltip/Tooltip.d.ts +6 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +2 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/utils/suggestionList.d.ts +13 -0
- package/dist/types/utils/suggestionList.d.ts.map +1 -0
- package/dist/types/utils/usePortalContainer.d.ts +19 -0
- package/dist/types/utils/usePortalContainer.d.ts.map +1 -0
- package/docs/consumers/README.md +2 -2
- package/package.json +1 -1
|
@@ -3766,6 +3766,88 @@ body {
|
|
|
3766
3766
|
}
|
|
3767
3767
|
|
|
3768
3768
|
|
|
3769
|
+
/* TextLink */
|
|
3770
|
+
/* TextLink Component Styles - Using Muka Design Tokens */
|
|
3771
|
+
|
|
3772
|
+
.muka-text-link {
|
|
3773
|
+
display: inline;
|
|
3774
|
+
cursor: pointer;
|
|
3775
|
+
text-decoration: underline;
|
|
3776
|
+
/* Nudge the rule clear of descenders; the Figma underline sits off baseline. */
|
|
3777
|
+
text-underline-offset: 0.2em;
|
|
3778
|
+
text-decoration-thickness: from-font;
|
|
3779
|
+
/* Rounds the focus ring's corners; the link itself has no visible box. */
|
|
3780
|
+
border-radius: var(--border-radius-sm);
|
|
3781
|
+
transition: color var(--motion-duration-micro, 0.15s) var(--motion-easing-enter, ease);
|
|
3782
|
+
}
|
|
3783
|
+
|
|
3784
|
+
/* ─── Sizes ───────────────────────────────────────────────
|
|
3785
|
+
Mirrors the body text scale so a link matches the copy it sits in. */
|
|
3786
|
+
.muka-text-link--sm {
|
|
3787
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
3788
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
3789
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
3790
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
3791
|
+
}
|
|
3792
|
+
|
|
3793
|
+
.muka-text-link--base {
|
|
3794
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
3795
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
3796
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
3797
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
3798
|
+
}
|
|
3799
|
+
|
|
3800
|
+
.muka-text-link--lg {
|
|
3801
|
+
font-family: var(--text-body-lg-regular-fontFamily);
|
|
3802
|
+
font-weight: var(--text-body-lg-regular-fontWeight);
|
|
3803
|
+
font-size: var(--text-body-lg-regular-fontSize);
|
|
3804
|
+
line-height: var(--text-body-lg-regular-lineHeight);
|
|
3805
|
+
}
|
|
3806
|
+
|
|
3807
|
+
/* ─── Variant: default (accent) ───────────────────────────
|
|
3808
|
+
Visited repeats the default colour on purpose: the design treats visited and
|
|
3809
|
+
default the same, and pinning it stops the browser's purple from showing. */
|
|
3810
|
+
.muka-text-link--default,
|
|
3811
|
+
.muka-text-link--default:visited {
|
|
3812
|
+
color: var(--color-text-action-default);
|
|
3813
|
+
}
|
|
3814
|
+
|
|
3815
|
+
.muka-text-link--default:hover,
|
|
3816
|
+
.muka-text-link--default:focus-visible {
|
|
3817
|
+
color: var(--color-text-action-hover);
|
|
3818
|
+
}
|
|
3819
|
+
|
|
3820
|
+
.muka-text-link--default:active {
|
|
3821
|
+
color: var(--color-text-action-pressed);
|
|
3822
|
+
}
|
|
3823
|
+
|
|
3824
|
+
/* ─── Variant: subtle (neutral) ───────────────────────────
|
|
3825
|
+
Hover, focus and pressed all darken to the default text colour. */
|
|
3826
|
+
.muka-text-link--subtle,
|
|
3827
|
+
.muka-text-link--subtle:visited {
|
|
3828
|
+
color: var(--color-text-subtle-default);
|
|
3829
|
+
}
|
|
3830
|
+
|
|
3831
|
+
.muka-text-link--subtle:hover,
|
|
3832
|
+
.muka-text-link--subtle:focus-visible,
|
|
3833
|
+
.muka-text-link--subtle:active {
|
|
3834
|
+
color: var(--color-text-default-default);
|
|
3835
|
+
}
|
|
3836
|
+
|
|
3837
|
+
/* ─── Focus ───────────────────────────────────────────────
|
|
3838
|
+
Same ring as every other focusable Muka component. */
|
|
3839
|
+
.muka-text-link:focus-visible {
|
|
3840
|
+
outline: 2px solid var(--color-border-focus);
|
|
3841
|
+
outline-offset: 2px;
|
|
3842
|
+
}
|
|
3843
|
+
|
|
3844
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3845
|
+
.muka-text-link {
|
|
3846
|
+
transition: none;
|
|
3847
|
+
}
|
|
3848
|
+
}
|
|
3849
|
+
|
|
3850
|
+
|
|
3769
3851
|
/* Textarea */
|
|
3770
3852
|
/* Textarea Component Styles - Using Muka Design Tokens */
|
|
3771
3853
|
|
|
@@ -3930,88 +4012,6 @@ body {
|
|
|
3930
4012
|
}
|
|
3931
4013
|
|
|
3932
4014
|
|
|
3933
|
-
/* TextLink */
|
|
3934
|
-
/* TextLink Component Styles - Using Muka Design Tokens */
|
|
3935
|
-
|
|
3936
|
-
.muka-text-link {
|
|
3937
|
-
display: inline;
|
|
3938
|
-
cursor: pointer;
|
|
3939
|
-
text-decoration: underline;
|
|
3940
|
-
/* Nudge the rule clear of descenders; the Figma underline sits off baseline. */
|
|
3941
|
-
text-underline-offset: 0.2em;
|
|
3942
|
-
text-decoration-thickness: from-font;
|
|
3943
|
-
/* Rounds the focus ring's corners; the link itself has no visible box. */
|
|
3944
|
-
border-radius: var(--border-radius-sm);
|
|
3945
|
-
transition: color var(--motion-duration-micro, 0.15s) var(--motion-easing-enter, ease);
|
|
3946
|
-
}
|
|
3947
|
-
|
|
3948
|
-
/* ─── Sizes ───────────────────────────────────────────────
|
|
3949
|
-
Mirrors the body text scale so a link matches the copy it sits in. */
|
|
3950
|
-
.muka-text-link--sm {
|
|
3951
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
3952
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
3953
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
3954
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
3955
|
-
}
|
|
3956
|
-
|
|
3957
|
-
.muka-text-link--base {
|
|
3958
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
3959
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
3960
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
3961
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
3962
|
-
}
|
|
3963
|
-
|
|
3964
|
-
.muka-text-link--lg {
|
|
3965
|
-
font-family: var(--text-body-lg-regular-fontFamily);
|
|
3966
|
-
font-weight: var(--text-body-lg-regular-fontWeight);
|
|
3967
|
-
font-size: var(--text-body-lg-regular-fontSize);
|
|
3968
|
-
line-height: var(--text-body-lg-regular-lineHeight);
|
|
3969
|
-
}
|
|
3970
|
-
|
|
3971
|
-
/* ─── Variant: default (accent) ───────────────────────────
|
|
3972
|
-
Visited repeats the default colour on purpose: the design treats visited and
|
|
3973
|
-
default the same, and pinning it stops the browser's purple from showing. */
|
|
3974
|
-
.muka-text-link--default,
|
|
3975
|
-
.muka-text-link--default:visited {
|
|
3976
|
-
color: var(--color-text-action-default);
|
|
3977
|
-
}
|
|
3978
|
-
|
|
3979
|
-
.muka-text-link--default:hover,
|
|
3980
|
-
.muka-text-link--default:focus-visible {
|
|
3981
|
-
color: var(--color-text-action-hover);
|
|
3982
|
-
}
|
|
3983
|
-
|
|
3984
|
-
.muka-text-link--default:active {
|
|
3985
|
-
color: var(--color-text-action-pressed);
|
|
3986
|
-
}
|
|
3987
|
-
|
|
3988
|
-
/* ─── Variant: subtle (neutral) ───────────────────────────
|
|
3989
|
-
Hover, focus and pressed all darken to the default text colour. */
|
|
3990
|
-
.muka-text-link--subtle,
|
|
3991
|
-
.muka-text-link--subtle:visited {
|
|
3992
|
-
color: var(--color-text-subtle-default);
|
|
3993
|
-
}
|
|
3994
|
-
|
|
3995
|
-
.muka-text-link--subtle:hover,
|
|
3996
|
-
.muka-text-link--subtle:focus-visible,
|
|
3997
|
-
.muka-text-link--subtle:active {
|
|
3998
|
-
color: var(--color-text-default-default);
|
|
3999
|
-
}
|
|
4000
|
-
|
|
4001
|
-
/* ─── Focus ───────────────────────────────────────────────
|
|
4002
|
-
Same ring as every other focusable Muka component. */
|
|
4003
|
-
.muka-text-link:focus-visible {
|
|
4004
|
-
outline: 2px solid var(--color-border-focus);
|
|
4005
|
-
outline-offset: 2px;
|
|
4006
|
-
}
|
|
4007
|
-
|
|
4008
|
-
@media (prefers-reduced-motion: reduce) {
|
|
4009
|
-
.muka-text-link {
|
|
4010
|
-
transition: none;
|
|
4011
|
-
}
|
|
4012
|
-
}
|
|
4013
|
-
|
|
4014
|
-
|
|
4015
4015
|
/* Tabs */
|
|
4016
4016
|
/* Tabs Component Styles - Clean underline style tabs matching Figma */
|
|
4017
4017
|
|
|
@@ -7433,6 +7433,77 @@ body {
|
|
|
7433
7433
|
}
|
|
7434
7434
|
|
|
7435
7435
|
|
|
7436
|
+
/* ProfileBadge */
|
|
7437
|
+
/* ProfileBadge Component Styles - Using Muka Design Tokens */
|
|
7438
|
+
|
|
7439
|
+
.muka-profile-badge {
|
|
7440
|
+
display: inline-flex;
|
|
7441
|
+
align-items: center;
|
|
7442
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
7443
|
+
}
|
|
7444
|
+
|
|
7445
|
+
/* Size variants */
|
|
7446
|
+
.muka-profile-badge--lg {
|
|
7447
|
+
gap: var(--spacing-4); /* 16px */
|
|
7448
|
+
}
|
|
7449
|
+
|
|
7450
|
+
.muka-profile-badge--md {
|
|
7451
|
+
gap: var(--spacing-3); /* 12px */
|
|
7452
|
+
}
|
|
7453
|
+
|
|
7454
|
+
.muka-profile-badge__avatar {
|
|
7455
|
+
flex-shrink: 0;
|
|
7456
|
+
}
|
|
7457
|
+
|
|
7458
|
+
/* Text stack */
|
|
7459
|
+
.muka-profile-badge__text {
|
|
7460
|
+
display: flex;
|
|
7461
|
+
flex-direction: column;
|
|
7462
|
+
align-items: flex-start;
|
|
7463
|
+
min-width: 0;
|
|
7464
|
+
}
|
|
7465
|
+
|
|
7466
|
+
.muka-profile-badge__name {
|
|
7467
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
7468
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
7469
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
7470
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
7471
|
+
color: var(--color-text-default-default);
|
|
7472
|
+
}
|
|
7473
|
+
|
|
7474
|
+
.muka-profile-badge__email {
|
|
7475
|
+
font-family: var(--text-body-xs-regular-fontFamily);
|
|
7476
|
+
font-size: var(--text-body-xs-regular-fontSize);
|
|
7477
|
+
font-weight: var(--text-body-xs-regular-fontWeight);
|
|
7478
|
+
line-height: var(--text-body-xs-regular-lineHeight);
|
|
7479
|
+
color: var(--color-text-subtle-default);
|
|
7480
|
+
}
|
|
7481
|
+
|
|
7482
|
+
/* Clickable state */
|
|
7483
|
+
.muka-profile-badge--clickable {
|
|
7484
|
+
cursor: pointer;
|
|
7485
|
+
border: none;
|
|
7486
|
+
background: none;
|
|
7487
|
+
padding: 0;
|
|
7488
|
+
text-align: left;
|
|
7489
|
+
border-radius: var(--radius-md);
|
|
7490
|
+
transition: opacity 0.2s ease;
|
|
7491
|
+
}
|
|
7492
|
+
|
|
7493
|
+
.muka-profile-badge--clickable:hover {
|
|
7494
|
+
opacity: 0.9;
|
|
7495
|
+
}
|
|
7496
|
+
|
|
7497
|
+
.muka-profile-badge--clickable:active {
|
|
7498
|
+
opacity: 0.8;
|
|
7499
|
+
}
|
|
7500
|
+
|
|
7501
|
+
.muka-profile-badge--clickable:focus-visible {
|
|
7502
|
+
outline: 2px solid var(--color-border-focus);
|
|
7503
|
+
outline-offset: 2px;
|
|
7504
|
+
}
|
|
7505
|
+
|
|
7506
|
+
|
|
7436
7507
|
/* PriceTag */
|
|
7437
7508
|
/* PriceTag Component Styles - Using Muka Design Tokens */
|
|
7438
7509
|
|
|
@@ -7499,105 +7570,34 @@ body {
|
|
|
7499
7570
|
color: var(--color-text-default-default);
|
|
7500
7571
|
}
|
|
7501
7572
|
|
|
7502
|
-
/* ─── Small size typography ───────────────────────────── */
|
|
7503
|
-
|
|
7504
|
-
.muka-price-tag--sm .muka-price-tag__currency {
|
|
7505
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
7506
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
7507
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
7508
|
-
line-height: var(--text-label-md-bold-lineHeight);
|
|
7509
|
-
color: var(--color-text-subtle-default);
|
|
7510
|
-
}
|
|
7511
|
-
|
|
7512
|
-
.muka-price-tag--sm .muka-price-tag__whole,
|
|
7513
|
-
.muka-price-tag--sm .muka-price-tag__decimal,
|
|
7514
|
-
.muka-price-tag--sm .muka-price-tag__cents {
|
|
7515
|
-
font-family: var(--text-label-md-bold-fontFamily);
|
|
7516
|
-
font-weight: var(--text-label-md-bold-fontWeight);
|
|
7517
|
-
font-size: var(--text-label-md-bold-fontSize);
|
|
7518
|
-
line-height: var(--text-label-md-bold-lineHeight);
|
|
7519
|
-
color: var(--color-text-default-default);
|
|
7520
|
-
}
|
|
7521
|
-
|
|
7522
|
-
/* ─── Unit label (same for both sizes) ────────────────── */
|
|
7523
|
-
|
|
7524
|
-
.muka-price-tag__unit {
|
|
7525
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
7526
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
7527
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
7528
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
7529
|
-
color: var(--color-text-subtle-default);
|
|
7530
|
-
}
|
|
7531
|
-
|
|
7532
|
-
|
|
7533
|
-
/* ProfileBadge */
|
|
7534
|
-
/* ProfileBadge Component Styles - Using Muka Design Tokens */
|
|
7535
|
-
|
|
7536
|
-
.muka-profile-badge {
|
|
7537
|
-
display: inline-flex;
|
|
7538
|
-
align-items: center;
|
|
7539
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
7540
|
-
}
|
|
7541
|
-
|
|
7542
|
-
/* Size variants */
|
|
7543
|
-
.muka-profile-badge--lg {
|
|
7544
|
-
gap: var(--spacing-4); /* 16px */
|
|
7545
|
-
}
|
|
7546
|
-
|
|
7547
|
-
.muka-profile-badge--md {
|
|
7548
|
-
gap: var(--spacing-3); /* 12px */
|
|
7549
|
-
}
|
|
7550
|
-
|
|
7551
|
-
.muka-profile-badge__avatar {
|
|
7552
|
-
flex-shrink: 0;
|
|
7553
|
-
}
|
|
7554
|
-
|
|
7555
|
-
/* Text stack */
|
|
7556
|
-
.muka-profile-badge__text {
|
|
7557
|
-
display: flex;
|
|
7558
|
-
flex-direction: column;
|
|
7559
|
-
align-items: flex-start;
|
|
7560
|
-
min-width: 0;
|
|
7561
|
-
}
|
|
7562
|
-
|
|
7563
|
-
.muka-profile-badge__name {
|
|
7564
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
7565
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
7566
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
7567
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
7568
|
-
color: var(--color-text-default-default);
|
|
7569
|
-
}
|
|
7570
|
-
|
|
7571
|
-
.muka-profile-badge__email {
|
|
7572
|
-
font-family: var(--text-body-xs-regular-fontFamily);
|
|
7573
|
-
font-size: var(--text-body-xs-regular-fontSize);
|
|
7574
|
-
font-weight: var(--text-body-xs-regular-fontWeight);
|
|
7575
|
-
line-height: var(--text-body-xs-regular-lineHeight);
|
|
7576
|
-
color: var(--color-text-subtle-default);
|
|
7577
|
-
}
|
|
7578
|
-
|
|
7579
|
-
/* Clickable state */
|
|
7580
|
-
.muka-profile-badge--clickable {
|
|
7581
|
-
cursor: pointer;
|
|
7582
|
-
border: none;
|
|
7583
|
-
background: none;
|
|
7584
|
-
padding: 0;
|
|
7585
|
-
text-align: left;
|
|
7586
|
-
border-radius: var(--radius-md);
|
|
7587
|
-
transition: opacity 0.2s ease;
|
|
7588
|
-
}
|
|
7589
|
-
|
|
7590
|
-
.muka-profile-badge--clickable:hover {
|
|
7591
|
-
opacity: 0.9;
|
|
7573
|
+
/* ─── Small size typography ───────────────────────────── */
|
|
7574
|
+
|
|
7575
|
+
.muka-price-tag--sm .muka-price-tag__currency {
|
|
7576
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
7577
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
7578
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
7579
|
+
line-height: var(--text-label-md-bold-lineHeight);
|
|
7580
|
+
color: var(--color-text-subtle-default);
|
|
7592
7581
|
}
|
|
7593
7582
|
|
|
7594
|
-
.muka-
|
|
7595
|
-
|
|
7583
|
+
.muka-price-tag--sm .muka-price-tag__whole,
|
|
7584
|
+
.muka-price-tag--sm .muka-price-tag__decimal,
|
|
7585
|
+
.muka-price-tag--sm .muka-price-tag__cents {
|
|
7586
|
+
font-family: var(--text-label-md-bold-fontFamily);
|
|
7587
|
+
font-weight: var(--text-label-md-bold-fontWeight);
|
|
7588
|
+
font-size: var(--text-label-md-bold-fontSize);
|
|
7589
|
+
line-height: var(--text-label-md-bold-lineHeight);
|
|
7590
|
+
color: var(--color-text-default-default);
|
|
7596
7591
|
}
|
|
7597
7592
|
|
|
7598
|
-
|
|
7599
|
-
|
|
7600
|
-
|
|
7593
|
+
/* ─── Unit label (same for both sizes) ────────────────── */
|
|
7594
|
+
|
|
7595
|
+
.muka-price-tag__unit {
|
|
7596
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
7597
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
7598
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
7599
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
7600
|
+
color: var(--color-text-subtle-default);
|
|
7601
7601
|
}
|
|
7602
7602
|
|
|
7603
7603
|
|
|
@@ -8019,6 +8019,34 @@ body {
|
|
|
8019
8019
|
}
|
|
8020
8020
|
|
|
8021
8021
|
|
|
8022
|
+
/* NavigationTransition */
|
|
8023
|
+
/* NavigationTransition Component Styles */
|
|
8024
|
+
|
|
8025
|
+
/* ─── Wrapper ────────────────────────────────────────── */
|
|
8026
|
+
|
|
8027
|
+
.muka-nav-transition {
|
|
8028
|
+
position: relative;
|
|
8029
|
+
height: 100vh;
|
|
8030
|
+
overflow: hidden;
|
|
8031
|
+
}
|
|
8032
|
+
|
|
8033
|
+
/* Disable interaction during animation */
|
|
8034
|
+
.muka-nav-transition--active {
|
|
8035
|
+
pointer-events: none;
|
|
8036
|
+
}
|
|
8037
|
+
|
|
8038
|
+
/* ─── View slots ─────────────────────────────────────── */
|
|
8039
|
+
|
|
8040
|
+
.muka-nav-transition--active .muka-nav-transition__view {
|
|
8041
|
+
position: absolute;
|
|
8042
|
+
inset: 0;
|
|
8043
|
+
}
|
|
8044
|
+
|
|
8045
|
+
/* Z-index layering */
|
|
8046
|
+
.muka-nav-transition__view--bottom { z-index: 1; }
|
|
8047
|
+
.muka-nav-transition__view--top { z-index: 2; }
|
|
8048
|
+
|
|
8049
|
+
|
|
8022
8050
|
/* Menu */
|
|
8023
8051
|
/* Menu Component Styles */
|
|
8024
8052
|
|
|
@@ -8498,34 +8526,6 @@ body {
|
|
|
8498
8526
|
}
|
|
8499
8527
|
|
|
8500
8528
|
|
|
8501
|
-
/* NavigationTransition */
|
|
8502
|
-
/* NavigationTransition Component Styles */
|
|
8503
|
-
|
|
8504
|
-
/* ─── Wrapper ────────────────────────────────────────── */
|
|
8505
|
-
|
|
8506
|
-
.muka-nav-transition {
|
|
8507
|
-
position: relative;
|
|
8508
|
-
height: 100vh;
|
|
8509
|
-
overflow: hidden;
|
|
8510
|
-
}
|
|
8511
|
-
|
|
8512
|
-
/* Disable interaction during animation */
|
|
8513
|
-
.muka-nav-transition--active {
|
|
8514
|
-
pointer-events: none;
|
|
8515
|
-
}
|
|
8516
|
-
|
|
8517
|
-
/* ─── View slots ─────────────────────────────────────── */
|
|
8518
|
-
|
|
8519
|
-
.muka-nav-transition--active .muka-nav-transition__view {
|
|
8520
|
-
position: absolute;
|
|
8521
|
-
inset: 0;
|
|
8522
|
-
}
|
|
8523
|
-
|
|
8524
|
-
/* Z-index layering */
|
|
8525
|
-
.muka-nav-transition__view--bottom { z-index: 1; }
|
|
8526
|
-
.muka-nav-transition__view--top { z-index: 2; }
|
|
8527
|
-
|
|
8528
|
-
|
|
8529
8529
|
/* ListItem */
|
|
8530
8530
|
/* ListItem Component Styles - Using Muka Design Tokens */
|
|
8531
8531
|
|
|
@@ -8954,6 +8954,184 @@ li.muka-listitem {
|
|
|
8954
8954
|
}
|
|
8955
8955
|
|
|
8956
8956
|
|
|
8957
|
+
/* InputCounter */
|
|
8958
|
+
/* InputCounter — numeric field + joined decrement/increment buttons.
|
|
8959
|
+
Label, helper and error text reuse Input.css (../Input/Input.css).
|
|
8960
|
+
Field and button group share one radius per size:
|
|
8961
|
+
sm/md → input.field.radius.md, lg → input.field.radius.lg. */
|
|
8962
|
+
|
|
8963
|
+
.muka-inputcounter {
|
|
8964
|
+
--muka-inputcounter-radius: var(--input-field-radius-md);
|
|
8965
|
+
--muka-inputcounter-height: var(--input-field-height-default);
|
|
8966
|
+
--muka-inputcounter-pad: calc(var(--spacing-2) + var(--spacing-1));
|
|
8967
|
+
--muka-inputcounter-min: var(--size-3xl);
|
|
8968
|
+
|
|
8969
|
+
display: inline-flex;
|
|
8970
|
+
flex-direction: column;
|
|
8971
|
+
gap: var(--spacing-2);
|
|
8972
|
+
}
|
|
8973
|
+
|
|
8974
|
+
.muka-inputcounter--sm {
|
|
8975
|
+
--muka-inputcounter-height: var(--input-field-height-sm);
|
|
8976
|
+
--muka-inputcounter-pad: calc(var(--spacing-1) + var(--spacing-1));
|
|
8977
|
+
--muka-inputcounter-min: var(--size-2xl);
|
|
8978
|
+
}
|
|
8979
|
+
|
|
8980
|
+
.muka-inputcounter--lg {
|
|
8981
|
+
--muka-inputcounter-radius: var(--input-field-radius-lg);
|
|
8982
|
+
--muka-inputcounter-height: var(--input-field-height-lg);
|
|
8983
|
+
}
|
|
8984
|
+
|
|
8985
|
+
/* Label row — label, info tooltip trigger, optional hint */
|
|
8986
|
+
.muka-inputcounter__label-row {
|
|
8987
|
+
display: flex;
|
|
8988
|
+
align-items: center;
|
|
8989
|
+
gap: var(--spacing-2);
|
|
8990
|
+
min-height: var(--size-xl);
|
|
8991
|
+
}
|
|
8992
|
+
|
|
8993
|
+
.muka-inputcounter__info {
|
|
8994
|
+
display: inline-flex;
|
|
8995
|
+
align-items: center;
|
|
8996
|
+
justify-content: center;
|
|
8997
|
+
padding: 0;
|
|
8998
|
+
border: none;
|
|
8999
|
+
border-radius: 50%;
|
|
9000
|
+
background: transparent;
|
|
9001
|
+
cursor: pointer;
|
|
9002
|
+
}
|
|
9003
|
+
|
|
9004
|
+
.muka-inputcounter__info .muka-icon {
|
|
9005
|
+
color: var(--color-action-default);
|
|
9006
|
+
}
|
|
9007
|
+
|
|
9008
|
+
.muka-inputcounter__info:focus-visible {
|
|
9009
|
+
outline: 2px solid var(--color-border-focus);
|
|
9010
|
+
outline-offset: 2px;
|
|
9011
|
+
}
|
|
9012
|
+
|
|
9013
|
+
.muka-inputcounter__optional {
|
|
9014
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
9015
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
9016
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
9017
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
9018
|
+
color: var(--color-text-subtle-default);
|
|
9019
|
+
}
|
|
9020
|
+
|
|
9021
|
+
/* Field + button group */
|
|
9022
|
+
.muka-inputcounter__row {
|
|
9023
|
+
display: flex;
|
|
9024
|
+
align-items: center;
|
|
9025
|
+
gap: var(--spacing-3);
|
|
9026
|
+
}
|
|
9027
|
+
|
|
9028
|
+
/* Field — grows with the value (in ch), never narrower than the Figma width.
|
|
9029
|
+
Padding sits on the native input so the 2px focus/error border doesn't
|
|
9030
|
+
need compensating: content is centred in a fixed box. */
|
|
9031
|
+
.muka-inputcounter__field {
|
|
9032
|
+
position: relative;
|
|
9033
|
+
display: flex;
|
|
9034
|
+
align-items: center;
|
|
9035
|
+
box-sizing: border-box;
|
|
9036
|
+
height: var(--muka-inputcounter-height);
|
|
9037
|
+
width: calc(
|
|
9038
|
+
max(var(--muka-inputcounter-min), calc(var(--muka-inputcounter-chars, 1) * 1ch)) +
|
|
9039
|
+
2 * var(--muka-inputcounter-pad) + 2 * var(--border-width-regular)
|
|
9040
|
+
);
|
|
9041
|
+
background-color: var(--input-field-color-default-background);
|
|
9042
|
+
border: var(--border-width-regular) solid var(--input-field-color-default-border);
|
|
9043
|
+
border-radius: var(--muka-inputcounter-radius);
|
|
9044
|
+
transition: border-color 0.2s ease, background-color 0.2s ease;
|
|
9045
|
+
}
|
|
9046
|
+
|
|
9047
|
+
.muka-inputcounter__field::after {
|
|
9048
|
+
content: '';
|
|
9049
|
+
position: absolute;
|
|
9050
|
+
inset: 0;
|
|
9051
|
+
border-radius: inherit;
|
|
9052
|
+
box-shadow: var(--shadow-sunken);
|
|
9053
|
+
pointer-events: none;
|
|
9054
|
+
}
|
|
9055
|
+
|
|
9056
|
+
.muka-inputcounter__field--focused:not(.muka-inputcounter__field--disabled) {
|
|
9057
|
+
border-width: var(--border-width-bold);
|
|
9058
|
+
border-color: var(--input-field-color-focus-border);
|
|
9059
|
+
background-color: var(--input-field-color-focus-background);
|
|
9060
|
+
}
|
|
9061
|
+
|
|
9062
|
+
.muka-inputcounter__field--error:not(.muka-inputcounter__field--disabled) {
|
|
9063
|
+
border-width: var(--border-width-bold);
|
|
9064
|
+
border-color: var(--input-field-color-error-border);
|
|
9065
|
+
background-color: var(--input-field-color-error-background);
|
|
9066
|
+
}
|
|
9067
|
+
|
|
9068
|
+
.muka-inputcounter__field--disabled {
|
|
9069
|
+
background-color: var(--input-field-color-disabled-background);
|
|
9070
|
+
border-color: var(--input-field-color-disabled-border);
|
|
9071
|
+
}
|
|
9072
|
+
|
|
9073
|
+
.muka-inputcounter__field--disabled::after {
|
|
9074
|
+
display: none;
|
|
9075
|
+
}
|
|
9076
|
+
|
|
9077
|
+
.muka-inputcounter__native {
|
|
9078
|
+
width: 100%;
|
|
9079
|
+
min-width: 0;
|
|
9080
|
+
height: 100%;
|
|
9081
|
+
box-sizing: border-box;
|
|
9082
|
+
padding: 0 calc(var(--muka-inputcounter-pad) - var(--border-width-regular));
|
|
9083
|
+
border: none;
|
|
9084
|
+
outline: none;
|
|
9085
|
+
background: transparent;
|
|
9086
|
+
text-align: center;
|
|
9087
|
+
font-variant-numeric: tabular-nums;
|
|
9088
|
+
color: var(--input-field-color-default-foreground);
|
|
9089
|
+
font-family: var(--text-input-md-fontFamily);
|
|
9090
|
+
font-weight: var(--text-input-md-fontWeight);
|
|
9091
|
+
font-size: var(--text-input-md-fontSize);
|
|
9092
|
+
line-height: var(--text-input-md-lineHeight);
|
|
9093
|
+
}
|
|
9094
|
+
|
|
9095
|
+
.muka-inputcounter--sm .muka-inputcounter__native {
|
|
9096
|
+
font-family: var(--text-input-sm-fontFamily);
|
|
9097
|
+
font-weight: var(--text-input-sm-fontWeight);
|
|
9098
|
+
font-size: var(--text-input-sm-fontSize);
|
|
9099
|
+
line-height: var(--text-input-sm-lineHeight);
|
|
9100
|
+
}
|
|
9101
|
+
|
|
9102
|
+
.muka-inputcounter__field--disabled .muka-inputcounter__native {
|
|
9103
|
+
color: var(--input-field-color-disabled-foreground);
|
|
9104
|
+
cursor: not-allowed;
|
|
9105
|
+
}
|
|
9106
|
+
|
|
9107
|
+
/* Button group — secondary icon-only Buttons joined by a divider.
|
|
9108
|
+
Only the outer corners are rounded. */
|
|
9109
|
+
.muka-inputcounter__group {
|
|
9110
|
+
display: inline-flex;
|
|
9111
|
+
align-items: stretch;
|
|
9112
|
+
}
|
|
9113
|
+
|
|
9114
|
+
.muka-inputcounter__group .muka-button {
|
|
9115
|
+
border-radius: 0;
|
|
9116
|
+
}
|
|
9117
|
+
|
|
9118
|
+
.muka-inputcounter__group .muka-button:first-child {
|
|
9119
|
+
border-start-start-radius: var(--muka-inputcounter-radius);
|
|
9120
|
+
border-end-start-radius: var(--muka-inputcounter-radius);
|
|
9121
|
+
}
|
|
9122
|
+
|
|
9123
|
+
.muka-inputcounter__group .muka-button:last-child {
|
|
9124
|
+
border-start-end-radius: var(--muka-inputcounter-radius);
|
|
9125
|
+
border-end-end-radius: var(--muka-inputcounter-radius);
|
|
9126
|
+
}
|
|
9127
|
+
|
|
9128
|
+
.muka-inputcounter__divider {
|
|
9129
|
+
flex: none;
|
|
9130
|
+
width: var(--border-width-regular);
|
|
9131
|
+
background-color: var(--color-border-default);
|
|
9132
|
+
}
|
|
9133
|
+
|
|
9134
|
+
|
|
8957
9135
|
/* Input */
|
|
8958
9136
|
/* Input Component Styles - Using Muka Design Tokens */
|
|
8959
9137
|
|
|
@@ -14579,6 +14757,72 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
14579
14757
|
}
|
|
14580
14758
|
|
|
14581
14759
|
|
|
14760
|
+
/* Autocomplete */
|
|
14761
|
+
/* Autocomplete — Figma Input Autocomplete (Input field + single-line suggestion Menu).
|
|
14762
|
+
The field reuses the Input styles (.muka-input*); only the menu wiring lives here. */
|
|
14763
|
+
|
|
14764
|
+
.muka-autocomplete {
|
|
14765
|
+
min-width: 200px;
|
|
14766
|
+
}
|
|
14767
|
+
|
|
14768
|
+
/* Covers the field's outer edge so the menu matches its full width. The menu
|
|
14769
|
+
is only open while focused, when the field has the bold border. */
|
|
14770
|
+
.muka-autocomplete__menu-anchor {
|
|
14771
|
+
position: absolute;
|
|
14772
|
+
inset: calc(-1 * var(--border-width-bold));
|
|
14773
|
+
z-index: 0;
|
|
14774
|
+
margin: 0;
|
|
14775
|
+
padding: 0;
|
|
14776
|
+
border: none;
|
|
14777
|
+
background: transparent;
|
|
14778
|
+
pointer-events: none;
|
|
14779
|
+
opacity: 0;
|
|
14780
|
+
}
|
|
14781
|
+
|
|
14782
|
+
/* Keep the field content above the invisible anchor. */
|
|
14783
|
+
.muka-autocomplete__field > :not(.muka-autocomplete__menu-anchor) {
|
|
14784
|
+
position: relative;
|
|
14785
|
+
z-index: 1;
|
|
14786
|
+
}
|
|
14787
|
+
|
|
14788
|
+
/* Figma: the menu is as wide as the field (never below the menu min-width token). */
|
|
14789
|
+
.muka-autocomplete__menu {
|
|
14790
|
+
width: var(--radix-dropdown-menu-trigger-width);
|
|
14791
|
+
max-width: calc(100vw - 2rem);
|
|
14792
|
+
}
|
|
14793
|
+
|
|
14794
|
+
/* Suggestions are single-line; long labels truncate. */
|
|
14795
|
+
.muka-autocomplete__menu .muka-menu__item-label {
|
|
14796
|
+
overflow: hidden;
|
|
14797
|
+
text-overflow: ellipsis;
|
|
14798
|
+
}
|
|
14799
|
+
|
|
14800
|
+
/* Loading and empty rows: menu-row geometry, not selectable. */
|
|
14801
|
+
.muka-autocomplete__status {
|
|
14802
|
+
display: flex;
|
|
14803
|
+
align-items: center;
|
|
14804
|
+
gap: var(--menu-item-gap);
|
|
14805
|
+
min-height: var(--menu-item-height);
|
|
14806
|
+
padding: var(--menu-item-padding-y) var(--menu-item-padding-x);
|
|
14807
|
+
color: var(--color-text-subtle-default);
|
|
14808
|
+
font-family: var(--text-label-md-regular-fontFamily);
|
|
14809
|
+
font-size: var(--text-label-md-regular-fontSize);
|
|
14810
|
+
font-weight: var(--text-label-md-regular-fontWeight);
|
|
14811
|
+
line-height: var(--text-label-md-regular-lineHeight);
|
|
14812
|
+
}
|
|
14813
|
+
|
|
14814
|
+
.muka-autocomplete__footer {
|
|
14815
|
+
flex-shrink: 0;
|
|
14816
|
+
padding: var(--spacing-2) var(--spacing-3);
|
|
14817
|
+
border-top: var(--border-width-regular) solid var(--color-border-default);
|
|
14818
|
+
color: var(--color-text-subtle-default);
|
|
14819
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
14820
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
14821
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
14822
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
14823
|
+
}
|
|
14824
|
+
|
|
14825
|
+
|
|
14582
14826
|
/* AppShell */
|
|
14583
14827
|
/* AppShell Component Styles */
|
|
14584
14828
|
|