@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
|
@@ -3798,6 +3798,88 @@ body {
|
|
|
3798
3798
|
}
|
|
3799
3799
|
|
|
3800
3800
|
|
|
3801
|
+
/* TextLink */
|
|
3802
|
+
/* TextLink Component Styles - Using Muka Design Tokens */
|
|
3803
|
+
|
|
3804
|
+
.muka-text-link {
|
|
3805
|
+
display: inline;
|
|
3806
|
+
cursor: pointer;
|
|
3807
|
+
text-decoration: underline;
|
|
3808
|
+
/* Nudge the rule clear of descenders; the Figma underline sits off baseline. */
|
|
3809
|
+
text-underline-offset: 0.2em;
|
|
3810
|
+
text-decoration-thickness: from-font;
|
|
3811
|
+
/* Rounds the focus ring's corners; the link itself has no visible box. */
|
|
3812
|
+
border-radius: var(--border-radius-sm);
|
|
3813
|
+
transition: color var(--motion-duration-micro, 0.15s) var(--motion-easing-enter, ease);
|
|
3814
|
+
}
|
|
3815
|
+
|
|
3816
|
+
/* ─── Sizes ───────────────────────────────────────────────
|
|
3817
|
+
Mirrors the body text scale so a link matches the copy it sits in. */
|
|
3818
|
+
.muka-text-link--sm {
|
|
3819
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
3820
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
3821
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
3822
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
3823
|
+
}
|
|
3824
|
+
|
|
3825
|
+
.muka-text-link--base {
|
|
3826
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
3827
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
3828
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
3829
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
3830
|
+
}
|
|
3831
|
+
|
|
3832
|
+
.muka-text-link--lg {
|
|
3833
|
+
font-family: var(--text-body-lg-regular-fontFamily);
|
|
3834
|
+
font-weight: var(--text-body-lg-regular-fontWeight);
|
|
3835
|
+
font-size: var(--text-body-lg-regular-fontSize);
|
|
3836
|
+
line-height: var(--text-body-lg-regular-lineHeight);
|
|
3837
|
+
}
|
|
3838
|
+
|
|
3839
|
+
/* ─── Variant: default (accent) ───────────────────────────
|
|
3840
|
+
Visited repeats the default colour on purpose: the design treats visited and
|
|
3841
|
+
default the same, and pinning it stops the browser's purple from showing. */
|
|
3842
|
+
.muka-text-link--default,
|
|
3843
|
+
.muka-text-link--default:visited {
|
|
3844
|
+
color: var(--color-text-action-default);
|
|
3845
|
+
}
|
|
3846
|
+
|
|
3847
|
+
.muka-text-link--default:hover,
|
|
3848
|
+
.muka-text-link--default:focus-visible {
|
|
3849
|
+
color: var(--color-text-action-hover);
|
|
3850
|
+
}
|
|
3851
|
+
|
|
3852
|
+
.muka-text-link--default:active {
|
|
3853
|
+
color: var(--color-text-action-pressed);
|
|
3854
|
+
}
|
|
3855
|
+
|
|
3856
|
+
/* ─── Variant: subtle (neutral) ───────────────────────────
|
|
3857
|
+
Hover, focus and pressed all darken to the default text colour. */
|
|
3858
|
+
.muka-text-link--subtle,
|
|
3859
|
+
.muka-text-link--subtle:visited {
|
|
3860
|
+
color: var(--color-text-subtle-default);
|
|
3861
|
+
}
|
|
3862
|
+
|
|
3863
|
+
.muka-text-link--subtle:hover,
|
|
3864
|
+
.muka-text-link--subtle:focus-visible,
|
|
3865
|
+
.muka-text-link--subtle:active {
|
|
3866
|
+
color: var(--color-text-default-default);
|
|
3867
|
+
}
|
|
3868
|
+
|
|
3869
|
+
/* ─── Focus ───────────────────────────────────────────────
|
|
3870
|
+
Same ring as every other focusable Muka component. */
|
|
3871
|
+
.muka-text-link:focus-visible {
|
|
3872
|
+
outline: 2px solid var(--color-border-focus);
|
|
3873
|
+
outline-offset: 2px;
|
|
3874
|
+
}
|
|
3875
|
+
|
|
3876
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3877
|
+
.muka-text-link {
|
|
3878
|
+
transition: none;
|
|
3879
|
+
}
|
|
3880
|
+
}
|
|
3881
|
+
|
|
3882
|
+
|
|
3801
3883
|
/* Textarea */
|
|
3802
3884
|
/* Textarea Component Styles - Using Muka Design Tokens */
|
|
3803
3885
|
|
|
@@ -3962,88 +4044,6 @@ body {
|
|
|
3962
4044
|
}
|
|
3963
4045
|
|
|
3964
4046
|
|
|
3965
|
-
/* TextLink */
|
|
3966
|
-
/* TextLink Component Styles - Using Muka Design Tokens */
|
|
3967
|
-
|
|
3968
|
-
.muka-text-link {
|
|
3969
|
-
display: inline;
|
|
3970
|
-
cursor: pointer;
|
|
3971
|
-
text-decoration: underline;
|
|
3972
|
-
/* Nudge the rule clear of descenders; the Figma underline sits off baseline. */
|
|
3973
|
-
text-underline-offset: 0.2em;
|
|
3974
|
-
text-decoration-thickness: from-font;
|
|
3975
|
-
/* Rounds the focus ring's corners; the link itself has no visible box. */
|
|
3976
|
-
border-radius: var(--border-radius-sm);
|
|
3977
|
-
transition: color var(--motion-duration-micro, 0.15s) var(--motion-easing-enter, ease);
|
|
3978
|
-
}
|
|
3979
|
-
|
|
3980
|
-
/* ─── Sizes ───────────────────────────────────────────────
|
|
3981
|
-
Mirrors the body text scale so a link matches the copy it sits in. */
|
|
3982
|
-
.muka-text-link--sm {
|
|
3983
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
3984
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
3985
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
3986
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
3987
|
-
}
|
|
3988
|
-
|
|
3989
|
-
.muka-text-link--base {
|
|
3990
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
3991
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
3992
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
3993
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
3994
|
-
}
|
|
3995
|
-
|
|
3996
|
-
.muka-text-link--lg {
|
|
3997
|
-
font-family: var(--text-body-lg-regular-fontFamily);
|
|
3998
|
-
font-weight: var(--text-body-lg-regular-fontWeight);
|
|
3999
|
-
font-size: var(--text-body-lg-regular-fontSize);
|
|
4000
|
-
line-height: var(--text-body-lg-regular-lineHeight);
|
|
4001
|
-
}
|
|
4002
|
-
|
|
4003
|
-
/* ─── Variant: default (accent) ───────────────────────────
|
|
4004
|
-
Visited repeats the default colour on purpose: the design treats visited and
|
|
4005
|
-
default the same, and pinning it stops the browser's purple from showing. */
|
|
4006
|
-
.muka-text-link--default,
|
|
4007
|
-
.muka-text-link--default:visited {
|
|
4008
|
-
color: var(--color-text-action-default);
|
|
4009
|
-
}
|
|
4010
|
-
|
|
4011
|
-
.muka-text-link--default:hover,
|
|
4012
|
-
.muka-text-link--default:focus-visible {
|
|
4013
|
-
color: var(--color-text-action-hover);
|
|
4014
|
-
}
|
|
4015
|
-
|
|
4016
|
-
.muka-text-link--default:active {
|
|
4017
|
-
color: var(--color-text-action-pressed);
|
|
4018
|
-
}
|
|
4019
|
-
|
|
4020
|
-
/* ─── Variant: subtle (neutral) ───────────────────────────
|
|
4021
|
-
Hover, focus and pressed all darken to the default text colour. */
|
|
4022
|
-
.muka-text-link--subtle,
|
|
4023
|
-
.muka-text-link--subtle:visited {
|
|
4024
|
-
color: var(--color-text-subtle-default);
|
|
4025
|
-
}
|
|
4026
|
-
|
|
4027
|
-
.muka-text-link--subtle:hover,
|
|
4028
|
-
.muka-text-link--subtle:focus-visible,
|
|
4029
|
-
.muka-text-link--subtle:active {
|
|
4030
|
-
color: var(--color-text-default-default);
|
|
4031
|
-
}
|
|
4032
|
-
|
|
4033
|
-
/* ─── Focus ───────────────────────────────────────────────
|
|
4034
|
-
Same ring as every other focusable Muka component. */
|
|
4035
|
-
.muka-text-link:focus-visible {
|
|
4036
|
-
outline: 2px solid var(--color-border-focus);
|
|
4037
|
-
outline-offset: 2px;
|
|
4038
|
-
}
|
|
4039
|
-
|
|
4040
|
-
@media (prefers-reduced-motion: reduce) {
|
|
4041
|
-
.muka-text-link {
|
|
4042
|
-
transition: none;
|
|
4043
|
-
}
|
|
4044
|
-
}
|
|
4045
|
-
|
|
4046
|
-
|
|
4047
4047
|
/* Tabs */
|
|
4048
4048
|
/* Tabs Component Styles - Clean underline style tabs matching Figma */
|
|
4049
4049
|
|
|
@@ -7465,6 +7465,77 @@ body {
|
|
|
7465
7465
|
}
|
|
7466
7466
|
|
|
7467
7467
|
|
|
7468
|
+
/* ProfileBadge */
|
|
7469
|
+
/* ProfileBadge Component Styles - Using Muka Design Tokens */
|
|
7470
|
+
|
|
7471
|
+
.muka-profile-badge {
|
|
7472
|
+
display: inline-flex;
|
|
7473
|
+
align-items: center;
|
|
7474
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
7475
|
+
}
|
|
7476
|
+
|
|
7477
|
+
/* Size variants */
|
|
7478
|
+
.muka-profile-badge--lg {
|
|
7479
|
+
gap: var(--spacing-4); /* 16px */
|
|
7480
|
+
}
|
|
7481
|
+
|
|
7482
|
+
.muka-profile-badge--md {
|
|
7483
|
+
gap: var(--spacing-3); /* 12px */
|
|
7484
|
+
}
|
|
7485
|
+
|
|
7486
|
+
.muka-profile-badge__avatar {
|
|
7487
|
+
flex-shrink: 0;
|
|
7488
|
+
}
|
|
7489
|
+
|
|
7490
|
+
/* Text stack */
|
|
7491
|
+
.muka-profile-badge__text {
|
|
7492
|
+
display: flex;
|
|
7493
|
+
flex-direction: column;
|
|
7494
|
+
align-items: flex-start;
|
|
7495
|
+
min-width: 0;
|
|
7496
|
+
}
|
|
7497
|
+
|
|
7498
|
+
.muka-profile-badge__name {
|
|
7499
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
7500
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
7501
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
7502
|
+
line-height: var(--text-body-base-regular-lineHeight);
|
|
7503
|
+
color: var(--color-text-default-default);
|
|
7504
|
+
}
|
|
7505
|
+
|
|
7506
|
+
.muka-profile-badge__email {
|
|
7507
|
+
font-family: var(--text-body-xs-regular-fontFamily);
|
|
7508
|
+
font-size: var(--text-body-xs-regular-fontSize);
|
|
7509
|
+
font-weight: var(--text-body-xs-regular-fontWeight);
|
|
7510
|
+
line-height: var(--text-body-xs-regular-lineHeight);
|
|
7511
|
+
color: var(--color-text-subtle-default);
|
|
7512
|
+
}
|
|
7513
|
+
|
|
7514
|
+
/* Clickable state */
|
|
7515
|
+
.muka-profile-badge--clickable {
|
|
7516
|
+
cursor: pointer;
|
|
7517
|
+
border: none;
|
|
7518
|
+
background: none;
|
|
7519
|
+
padding: 0;
|
|
7520
|
+
text-align: left;
|
|
7521
|
+
border-radius: var(--radius-md);
|
|
7522
|
+
transition: opacity 0.2s ease;
|
|
7523
|
+
}
|
|
7524
|
+
|
|
7525
|
+
.muka-profile-badge--clickable:hover {
|
|
7526
|
+
opacity: 0.9;
|
|
7527
|
+
}
|
|
7528
|
+
|
|
7529
|
+
.muka-profile-badge--clickable:active {
|
|
7530
|
+
opacity: 0.8;
|
|
7531
|
+
}
|
|
7532
|
+
|
|
7533
|
+
.muka-profile-badge--clickable:focus-visible {
|
|
7534
|
+
outline: 2px solid var(--color-border-focus);
|
|
7535
|
+
outline-offset: 2px;
|
|
7536
|
+
}
|
|
7537
|
+
|
|
7538
|
+
|
|
7468
7539
|
/* PriceTag */
|
|
7469
7540
|
/* PriceTag Component Styles - Using Muka Design Tokens */
|
|
7470
7541
|
|
|
@@ -7531,105 +7602,34 @@ body {
|
|
|
7531
7602
|
color: var(--color-text-default-default);
|
|
7532
7603
|
}
|
|
7533
7604
|
|
|
7534
|
-
/* ─── Small size typography ───────────────────────────── */
|
|
7535
|
-
|
|
7536
|
-
.muka-price-tag--sm .muka-price-tag__currency {
|
|
7537
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
7538
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
7539
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
7540
|
-
line-height: var(--text-label-md-bold-lineHeight);
|
|
7541
|
-
color: var(--color-text-subtle-default);
|
|
7542
|
-
}
|
|
7543
|
-
|
|
7544
|
-
.muka-price-tag--sm .muka-price-tag__whole,
|
|
7545
|
-
.muka-price-tag--sm .muka-price-tag__decimal,
|
|
7546
|
-
.muka-price-tag--sm .muka-price-tag__cents {
|
|
7547
|
-
font-family: var(--text-label-md-bold-fontFamily);
|
|
7548
|
-
font-weight: var(--text-label-md-bold-fontWeight);
|
|
7549
|
-
font-size: var(--text-label-md-bold-fontSize);
|
|
7550
|
-
line-height: var(--text-label-md-bold-lineHeight);
|
|
7551
|
-
color: var(--color-text-default-default);
|
|
7552
|
-
}
|
|
7553
|
-
|
|
7554
|
-
/* ─── Unit label (same for both sizes) ────────────────── */
|
|
7555
|
-
|
|
7556
|
-
.muka-price-tag__unit {
|
|
7557
|
-
font-family: var(--text-body-sm-regular-fontFamily);
|
|
7558
|
-
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
7559
|
-
font-size: var(--text-body-sm-regular-fontSize);
|
|
7560
|
-
line-height: var(--text-body-sm-regular-lineHeight);
|
|
7561
|
-
color: var(--color-text-subtle-default);
|
|
7562
|
-
}
|
|
7563
|
-
|
|
7564
|
-
|
|
7565
|
-
/* ProfileBadge */
|
|
7566
|
-
/* ProfileBadge Component Styles - Using Muka Design Tokens */
|
|
7567
|
-
|
|
7568
|
-
.muka-profile-badge {
|
|
7569
|
-
display: inline-flex;
|
|
7570
|
-
align-items: center;
|
|
7571
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
7572
|
-
}
|
|
7573
|
-
|
|
7574
|
-
/* Size variants */
|
|
7575
|
-
.muka-profile-badge--lg {
|
|
7576
|
-
gap: var(--spacing-4); /* 16px */
|
|
7577
|
-
}
|
|
7578
|
-
|
|
7579
|
-
.muka-profile-badge--md {
|
|
7580
|
-
gap: var(--spacing-3); /* 12px */
|
|
7581
|
-
}
|
|
7582
|
-
|
|
7583
|
-
.muka-profile-badge__avatar {
|
|
7584
|
-
flex-shrink: 0;
|
|
7585
|
-
}
|
|
7586
|
-
|
|
7587
|
-
/* Text stack */
|
|
7588
|
-
.muka-profile-badge__text {
|
|
7589
|
-
display: flex;
|
|
7590
|
-
flex-direction: column;
|
|
7591
|
-
align-items: flex-start;
|
|
7592
|
-
min-width: 0;
|
|
7593
|
-
}
|
|
7594
|
-
|
|
7595
|
-
.muka-profile-badge__name {
|
|
7596
|
-
font-family: var(--text-body-base-regular-fontFamily);
|
|
7597
|
-
font-size: var(--text-body-base-regular-fontSize);
|
|
7598
|
-
font-weight: var(--text-body-base-regular-fontWeight);
|
|
7599
|
-
line-height: var(--text-body-base-regular-lineHeight);
|
|
7600
|
-
color: var(--color-text-default-default);
|
|
7601
|
-
}
|
|
7602
|
-
|
|
7603
|
-
.muka-profile-badge__email {
|
|
7604
|
-
font-family: var(--text-body-xs-regular-fontFamily);
|
|
7605
|
-
font-size: var(--text-body-xs-regular-fontSize);
|
|
7606
|
-
font-weight: var(--text-body-xs-regular-fontWeight);
|
|
7607
|
-
line-height: var(--text-body-xs-regular-lineHeight);
|
|
7608
|
-
color: var(--color-text-subtle-default);
|
|
7609
|
-
}
|
|
7610
|
-
|
|
7611
|
-
/* Clickable state */
|
|
7612
|
-
.muka-profile-badge--clickable {
|
|
7613
|
-
cursor: pointer;
|
|
7614
|
-
border: none;
|
|
7615
|
-
background: none;
|
|
7616
|
-
padding: 0;
|
|
7617
|
-
text-align: left;
|
|
7618
|
-
border-radius: var(--radius-md);
|
|
7619
|
-
transition: opacity 0.2s ease;
|
|
7620
|
-
}
|
|
7621
|
-
|
|
7622
|
-
.muka-profile-badge--clickable:hover {
|
|
7623
|
-
opacity: 0.9;
|
|
7605
|
+
/* ─── Small size typography ───────────────────────────── */
|
|
7606
|
+
|
|
7607
|
+
.muka-price-tag--sm .muka-price-tag__currency {
|
|
7608
|
+
font-family: var(--text-body-base-regular-fontFamily);
|
|
7609
|
+
font-weight: var(--text-body-base-regular-fontWeight);
|
|
7610
|
+
font-size: var(--text-body-base-regular-fontSize);
|
|
7611
|
+
line-height: var(--text-label-md-bold-lineHeight);
|
|
7612
|
+
color: var(--color-text-subtle-default);
|
|
7624
7613
|
}
|
|
7625
7614
|
|
|
7626
|
-
.muka-
|
|
7627
|
-
|
|
7615
|
+
.muka-price-tag--sm .muka-price-tag__whole,
|
|
7616
|
+
.muka-price-tag--sm .muka-price-tag__decimal,
|
|
7617
|
+
.muka-price-tag--sm .muka-price-tag__cents {
|
|
7618
|
+
font-family: var(--text-label-md-bold-fontFamily);
|
|
7619
|
+
font-weight: var(--text-label-md-bold-fontWeight);
|
|
7620
|
+
font-size: var(--text-label-md-bold-fontSize);
|
|
7621
|
+
line-height: var(--text-label-md-bold-lineHeight);
|
|
7622
|
+
color: var(--color-text-default-default);
|
|
7628
7623
|
}
|
|
7629
7624
|
|
|
7630
|
-
|
|
7631
|
-
|
|
7632
|
-
|
|
7625
|
+
/* ─── Unit label (same for both sizes) ────────────────── */
|
|
7626
|
+
|
|
7627
|
+
.muka-price-tag__unit {
|
|
7628
|
+
font-family: var(--text-body-sm-regular-fontFamily);
|
|
7629
|
+
font-weight: var(--text-body-sm-regular-fontWeight);
|
|
7630
|
+
font-size: var(--text-body-sm-regular-fontSize);
|
|
7631
|
+
line-height: var(--text-body-sm-regular-lineHeight);
|
|
7632
|
+
color: var(--color-text-subtle-default);
|
|
7633
7633
|
}
|
|
7634
7634
|
|
|
7635
7635
|
|
|
@@ -8051,6 +8051,34 @@ body {
|
|
|
8051
8051
|
}
|
|
8052
8052
|
|
|
8053
8053
|
|
|
8054
|
+
/* NavigationTransition */
|
|
8055
|
+
/* NavigationTransition Component Styles */
|
|
8056
|
+
|
|
8057
|
+
/* ─── Wrapper ────────────────────────────────────────── */
|
|
8058
|
+
|
|
8059
|
+
.muka-nav-transition {
|
|
8060
|
+
position: relative;
|
|
8061
|
+
height: 100vh;
|
|
8062
|
+
overflow: hidden;
|
|
8063
|
+
}
|
|
8064
|
+
|
|
8065
|
+
/* Disable interaction during animation */
|
|
8066
|
+
.muka-nav-transition--active {
|
|
8067
|
+
pointer-events: none;
|
|
8068
|
+
}
|
|
8069
|
+
|
|
8070
|
+
/* ─── View slots ─────────────────────────────────────── */
|
|
8071
|
+
|
|
8072
|
+
.muka-nav-transition--active .muka-nav-transition__view {
|
|
8073
|
+
position: absolute;
|
|
8074
|
+
inset: 0;
|
|
8075
|
+
}
|
|
8076
|
+
|
|
8077
|
+
/* Z-index layering */
|
|
8078
|
+
.muka-nav-transition__view--bottom { z-index: 1; }
|
|
8079
|
+
.muka-nav-transition__view--top { z-index: 2; }
|
|
8080
|
+
|
|
8081
|
+
|
|
8054
8082
|
/* Menu */
|
|
8055
8083
|
/* Menu Component Styles */
|
|
8056
8084
|
|
|
@@ -8530,34 +8558,6 @@ body {
|
|
|
8530
8558
|
}
|
|
8531
8559
|
|
|
8532
8560
|
|
|
8533
|
-
/* NavigationTransition */
|
|
8534
|
-
/* NavigationTransition Component Styles */
|
|
8535
|
-
|
|
8536
|
-
/* ─── Wrapper ────────────────────────────────────────── */
|
|
8537
|
-
|
|
8538
|
-
.muka-nav-transition {
|
|
8539
|
-
position: relative;
|
|
8540
|
-
height: 100vh;
|
|
8541
|
-
overflow: hidden;
|
|
8542
|
-
}
|
|
8543
|
-
|
|
8544
|
-
/* Disable interaction during animation */
|
|
8545
|
-
.muka-nav-transition--active {
|
|
8546
|
-
pointer-events: none;
|
|
8547
|
-
}
|
|
8548
|
-
|
|
8549
|
-
/* ─── View slots ─────────────────────────────────────── */
|
|
8550
|
-
|
|
8551
|
-
.muka-nav-transition--active .muka-nav-transition__view {
|
|
8552
|
-
position: absolute;
|
|
8553
|
-
inset: 0;
|
|
8554
|
-
}
|
|
8555
|
-
|
|
8556
|
-
/* Z-index layering */
|
|
8557
|
-
.muka-nav-transition__view--bottom { z-index: 1; }
|
|
8558
|
-
.muka-nav-transition__view--top { z-index: 2; }
|
|
8559
|
-
|
|
8560
|
-
|
|
8561
8561
|
/* ListItem */
|
|
8562
8562
|
/* ListItem Component Styles - Using Muka Design Tokens */
|
|
8563
8563
|
|
|
@@ -8986,6 +8986,184 @@ li.muka-listitem {
|
|
|
8986
8986
|
}
|
|
8987
8987
|
|
|
8988
8988
|
|
|
8989
|
+
/* InputCounter */
|
|
8990
|
+
/* InputCounter — numeric field + joined decrement/increment buttons.
|
|
8991
|
+
Label, helper and error text reuse Input.css (../Input/Input.css).
|
|
8992
|
+
Field and button group share one radius per size:
|
|
8993
|
+
sm/md → input.field.radius.md, lg → input.field.radius.lg. */
|
|
8994
|
+
|
|
8995
|
+
.muka-inputcounter {
|
|
8996
|
+
--muka-inputcounter-radius: var(--input-field-radius-md);
|
|
8997
|
+
--muka-inputcounter-height: var(--input-field-height-default);
|
|
8998
|
+
--muka-inputcounter-pad: calc(var(--spacing-2) + var(--spacing-1));
|
|
8999
|
+
--muka-inputcounter-min: var(--size-3xl);
|
|
9000
|
+
|
|
9001
|
+
display: inline-flex;
|
|
9002
|
+
flex-direction: column;
|
|
9003
|
+
gap: var(--spacing-2);
|
|
9004
|
+
}
|
|
9005
|
+
|
|
9006
|
+
.muka-inputcounter--sm {
|
|
9007
|
+
--muka-inputcounter-height: var(--input-field-height-sm);
|
|
9008
|
+
--muka-inputcounter-pad: calc(var(--spacing-1) + var(--spacing-1));
|
|
9009
|
+
--muka-inputcounter-min: var(--size-2xl);
|
|
9010
|
+
}
|
|
9011
|
+
|
|
9012
|
+
.muka-inputcounter--lg {
|
|
9013
|
+
--muka-inputcounter-radius: var(--input-field-radius-lg);
|
|
9014
|
+
--muka-inputcounter-height: var(--input-field-height-lg);
|
|
9015
|
+
}
|
|
9016
|
+
|
|
9017
|
+
/* Label row — label, info tooltip trigger, optional hint */
|
|
9018
|
+
.muka-inputcounter__label-row {
|
|
9019
|
+
display: flex;
|
|
9020
|
+
align-items: center;
|
|
9021
|
+
gap: var(--spacing-2);
|
|
9022
|
+
min-height: var(--size-xl);
|
|
9023
|
+
}
|
|
9024
|
+
|
|
9025
|
+
.muka-inputcounter__info {
|
|
9026
|
+
display: inline-flex;
|
|
9027
|
+
align-items: center;
|
|
9028
|
+
justify-content: center;
|
|
9029
|
+
padding: 0;
|
|
9030
|
+
border: none;
|
|
9031
|
+
border-radius: 50%;
|
|
9032
|
+
background: transparent;
|
|
9033
|
+
cursor: pointer;
|
|
9034
|
+
}
|
|
9035
|
+
|
|
9036
|
+
.muka-inputcounter__info .muka-icon {
|
|
9037
|
+
color: var(--color-action-default);
|
|
9038
|
+
}
|
|
9039
|
+
|
|
9040
|
+
.muka-inputcounter__info:focus-visible {
|
|
9041
|
+
outline: 2px solid var(--color-border-focus);
|
|
9042
|
+
outline-offset: 2px;
|
|
9043
|
+
}
|
|
9044
|
+
|
|
9045
|
+
.muka-inputcounter__optional {
|
|
9046
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
9047
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
9048
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
9049
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
9050
|
+
color: var(--color-text-subtle-default);
|
|
9051
|
+
}
|
|
9052
|
+
|
|
9053
|
+
/* Field + button group */
|
|
9054
|
+
.muka-inputcounter__row {
|
|
9055
|
+
display: flex;
|
|
9056
|
+
align-items: center;
|
|
9057
|
+
gap: var(--spacing-3);
|
|
9058
|
+
}
|
|
9059
|
+
|
|
9060
|
+
/* Field — grows with the value (in ch), never narrower than the Figma width.
|
|
9061
|
+
Padding sits on the native input so the 2px focus/error border doesn't
|
|
9062
|
+
need compensating: content is centred in a fixed box. */
|
|
9063
|
+
.muka-inputcounter__field {
|
|
9064
|
+
position: relative;
|
|
9065
|
+
display: flex;
|
|
9066
|
+
align-items: center;
|
|
9067
|
+
box-sizing: border-box;
|
|
9068
|
+
height: var(--muka-inputcounter-height);
|
|
9069
|
+
width: calc(
|
|
9070
|
+
max(var(--muka-inputcounter-min), calc(var(--muka-inputcounter-chars, 1) * 1ch)) +
|
|
9071
|
+
2 * var(--muka-inputcounter-pad) + 2 * var(--border-width-regular)
|
|
9072
|
+
);
|
|
9073
|
+
background-color: var(--input-field-color-default-background);
|
|
9074
|
+
border: var(--border-width-regular) solid var(--input-field-color-default-border);
|
|
9075
|
+
border-radius: var(--muka-inputcounter-radius);
|
|
9076
|
+
transition: border-color 0.2s ease, background-color 0.2s ease;
|
|
9077
|
+
}
|
|
9078
|
+
|
|
9079
|
+
.muka-inputcounter__field::after {
|
|
9080
|
+
content: '';
|
|
9081
|
+
position: absolute;
|
|
9082
|
+
inset: 0;
|
|
9083
|
+
border-radius: inherit;
|
|
9084
|
+
box-shadow: var(--shadow-sunken);
|
|
9085
|
+
pointer-events: none;
|
|
9086
|
+
}
|
|
9087
|
+
|
|
9088
|
+
.muka-inputcounter__field--focused:not(.muka-inputcounter__field--disabled) {
|
|
9089
|
+
border-width: var(--border-width-bold);
|
|
9090
|
+
border-color: var(--input-field-color-focus-border);
|
|
9091
|
+
background-color: var(--input-field-color-focus-background);
|
|
9092
|
+
}
|
|
9093
|
+
|
|
9094
|
+
.muka-inputcounter__field--error:not(.muka-inputcounter__field--disabled) {
|
|
9095
|
+
border-width: var(--border-width-bold);
|
|
9096
|
+
border-color: var(--input-field-color-error-border);
|
|
9097
|
+
background-color: var(--input-field-color-error-background);
|
|
9098
|
+
}
|
|
9099
|
+
|
|
9100
|
+
.muka-inputcounter__field--disabled {
|
|
9101
|
+
background-color: var(--input-field-color-disabled-background);
|
|
9102
|
+
border-color: var(--input-field-color-disabled-border);
|
|
9103
|
+
}
|
|
9104
|
+
|
|
9105
|
+
.muka-inputcounter__field--disabled::after {
|
|
9106
|
+
display: none;
|
|
9107
|
+
}
|
|
9108
|
+
|
|
9109
|
+
.muka-inputcounter__native {
|
|
9110
|
+
width: 100%;
|
|
9111
|
+
min-width: 0;
|
|
9112
|
+
height: 100%;
|
|
9113
|
+
box-sizing: border-box;
|
|
9114
|
+
padding: 0 calc(var(--muka-inputcounter-pad) - var(--border-width-regular));
|
|
9115
|
+
border: none;
|
|
9116
|
+
outline: none;
|
|
9117
|
+
background: transparent;
|
|
9118
|
+
text-align: center;
|
|
9119
|
+
font-variant-numeric: tabular-nums;
|
|
9120
|
+
color: var(--input-field-color-default-foreground);
|
|
9121
|
+
font-family: var(--text-input-md-fontFamily);
|
|
9122
|
+
font-weight: var(--text-input-md-fontWeight);
|
|
9123
|
+
font-size: var(--text-input-md-fontSize);
|
|
9124
|
+
line-height: var(--text-input-md-lineHeight);
|
|
9125
|
+
}
|
|
9126
|
+
|
|
9127
|
+
.muka-inputcounter--sm .muka-inputcounter__native {
|
|
9128
|
+
font-family: var(--text-input-sm-fontFamily);
|
|
9129
|
+
font-weight: var(--text-input-sm-fontWeight);
|
|
9130
|
+
font-size: var(--text-input-sm-fontSize);
|
|
9131
|
+
line-height: var(--text-input-sm-lineHeight);
|
|
9132
|
+
}
|
|
9133
|
+
|
|
9134
|
+
.muka-inputcounter__field--disabled .muka-inputcounter__native {
|
|
9135
|
+
color: var(--input-field-color-disabled-foreground);
|
|
9136
|
+
cursor: not-allowed;
|
|
9137
|
+
}
|
|
9138
|
+
|
|
9139
|
+
/* Button group — secondary icon-only Buttons joined by a divider.
|
|
9140
|
+
Only the outer corners are rounded. */
|
|
9141
|
+
.muka-inputcounter__group {
|
|
9142
|
+
display: inline-flex;
|
|
9143
|
+
align-items: stretch;
|
|
9144
|
+
}
|
|
9145
|
+
|
|
9146
|
+
.muka-inputcounter__group .muka-button {
|
|
9147
|
+
border-radius: 0;
|
|
9148
|
+
}
|
|
9149
|
+
|
|
9150
|
+
.muka-inputcounter__group .muka-button:first-child {
|
|
9151
|
+
border-start-start-radius: var(--muka-inputcounter-radius);
|
|
9152
|
+
border-end-start-radius: var(--muka-inputcounter-radius);
|
|
9153
|
+
}
|
|
9154
|
+
|
|
9155
|
+
.muka-inputcounter__group .muka-button:last-child {
|
|
9156
|
+
border-start-end-radius: var(--muka-inputcounter-radius);
|
|
9157
|
+
border-end-end-radius: var(--muka-inputcounter-radius);
|
|
9158
|
+
}
|
|
9159
|
+
|
|
9160
|
+
.muka-inputcounter__divider {
|
|
9161
|
+
flex: none;
|
|
9162
|
+
width: var(--border-width-regular);
|
|
9163
|
+
background-color: var(--color-border-default);
|
|
9164
|
+
}
|
|
9165
|
+
|
|
9166
|
+
|
|
8989
9167
|
/* Input */
|
|
8990
9168
|
/* Input Component Styles - Using Muka Design Tokens */
|
|
8991
9169
|
|
|
@@ -14611,6 +14789,72 @@ button.muka-chat-photo-grid__tile:focus-visible {
|
|
|
14611
14789
|
}
|
|
14612
14790
|
|
|
14613
14791
|
|
|
14792
|
+
/* Autocomplete */
|
|
14793
|
+
/* Autocomplete — Figma Input Autocomplete (Input field + single-line suggestion Menu).
|
|
14794
|
+
The field reuses the Input styles (.muka-input*); only the menu wiring lives here. */
|
|
14795
|
+
|
|
14796
|
+
.muka-autocomplete {
|
|
14797
|
+
min-width: 200px;
|
|
14798
|
+
}
|
|
14799
|
+
|
|
14800
|
+
/* Covers the field's outer edge so the menu matches its full width. The menu
|
|
14801
|
+
is only open while focused, when the field has the bold border. */
|
|
14802
|
+
.muka-autocomplete__menu-anchor {
|
|
14803
|
+
position: absolute;
|
|
14804
|
+
inset: calc(-1 * var(--border-width-bold));
|
|
14805
|
+
z-index: 0;
|
|
14806
|
+
margin: 0;
|
|
14807
|
+
padding: 0;
|
|
14808
|
+
border: none;
|
|
14809
|
+
background: transparent;
|
|
14810
|
+
pointer-events: none;
|
|
14811
|
+
opacity: 0;
|
|
14812
|
+
}
|
|
14813
|
+
|
|
14814
|
+
/* Keep the field content above the invisible anchor. */
|
|
14815
|
+
.muka-autocomplete__field > :not(.muka-autocomplete__menu-anchor) {
|
|
14816
|
+
position: relative;
|
|
14817
|
+
z-index: 1;
|
|
14818
|
+
}
|
|
14819
|
+
|
|
14820
|
+
/* Figma: the menu is as wide as the field (never below the menu min-width token). */
|
|
14821
|
+
.muka-autocomplete__menu {
|
|
14822
|
+
width: var(--radix-dropdown-menu-trigger-width);
|
|
14823
|
+
max-width: calc(100vw - 2rem);
|
|
14824
|
+
}
|
|
14825
|
+
|
|
14826
|
+
/* Suggestions are single-line; long labels truncate. */
|
|
14827
|
+
.muka-autocomplete__menu .muka-menu__item-label {
|
|
14828
|
+
overflow: hidden;
|
|
14829
|
+
text-overflow: ellipsis;
|
|
14830
|
+
}
|
|
14831
|
+
|
|
14832
|
+
/* Loading and empty rows: menu-row geometry, not selectable. */
|
|
14833
|
+
.muka-autocomplete__status {
|
|
14834
|
+
display: flex;
|
|
14835
|
+
align-items: center;
|
|
14836
|
+
gap: var(--menu-item-gap);
|
|
14837
|
+
min-height: var(--menu-item-height);
|
|
14838
|
+
padding: var(--menu-item-padding-y) var(--menu-item-padding-x);
|
|
14839
|
+
color: var(--color-text-subtle-default);
|
|
14840
|
+
font-family: var(--text-label-md-regular-fontFamily);
|
|
14841
|
+
font-size: var(--text-label-md-regular-fontSize);
|
|
14842
|
+
font-weight: var(--text-label-md-regular-fontWeight);
|
|
14843
|
+
line-height: var(--text-label-md-regular-lineHeight);
|
|
14844
|
+
}
|
|
14845
|
+
|
|
14846
|
+
.muka-autocomplete__footer {
|
|
14847
|
+
flex-shrink: 0;
|
|
14848
|
+
padding: var(--spacing-2) var(--spacing-3);
|
|
14849
|
+
border-top: var(--border-width-regular) solid var(--color-border-default);
|
|
14850
|
+
color: var(--color-text-subtle-default);
|
|
14851
|
+
font-family: var(--text-label-sm-regular-fontFamily);
|
|
14852
|
+
font-size: var(--text-label-sm-regular-fontSize);
|
|
14853
|
+
font-weight: var(--text-label-sm-regular-fontWeight);
|
|
14854
|
+
line-height: var(--text-label-sm-regular-lineHeight);
|
|
14855
|
+
}
|
|
14856
|
+
|
|
14857
|
+
|
|
14614
14858
|
/* AppShell */
|
|
14615
14859
|
/* AppShell Component Styles */
|
|
14616
14860
|
|