@revikornmann/muka-ui 0.23.1 → 0.25.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/Combobox/Combobox.js +46 -11
- package/dist/cjs/components/Combobox/Combobox.js.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.css +3 -2
- package/dist/cjs/components/Dialog/Dialog.js +23 -11
- package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
- package/dist/cjs/components/PhotoUploader/PhotoUploader.js +1 -1
- package/dist/cjs/components/PhotoUploader/PhotoUploader.js.map +1 -1
- package/dist/cjs/components/TopBar/TopBar.css +49 -20
- package/dist/cjs/components/View/View.js +33 -1
- package/dist/cjs/components/View/View.js.map +1 -1
- package/dist/esm/components/Combobox/Combobox.js +46 -11
- package/dist/esm/components/Combobox/Combobox.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.css +3 -2
- package/dist/esm/components/Dialog/Dialog.js +23 -11
- package/dist/esm/components/Dialog/Dialog.js.map +1 -1
- package/dist/esm/components/PhotoUploader/PhotoUploader.js +1 -1
- package/dist/esm/components/PhotoUploader/PhotoUploader.js.map +1 -1
- package/dist/esm/components/TopBar/TopBar.css +49 -20
- package/dist/esm/components/View/View.js +30 -1
- package/dist/esm/components/View/View.js.map +1 -1
- package/dist/styles/components/Dialog.css +3 -2
- package/dist/styles/index.css +252 -251
- package/dist/styles/muka-dark.css +252 -251
- package/dist/styles/muka-light.css +252 -251
- package/dist/styles/wireframe-dark.css +252 -251
- package/dist/styles/wireframe-light.css +252 -251
- package/dist/types/components/Combobox/Combobox.d.ts +6 -0
- package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
- package/dist/types/components/Dialog/Dialog.d.ts +25 -3
- package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/types/components/View/View.d.ts +3 -0
- package/dist/types/components/View/View.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -4802,6 +4802,156 @@ body {
|
|
|
4802
4802
|
}
|
|
4803
4803
|
|
|
4804
4804
|
|
|
4805
|
+
/* SocialSignInButton */
|
|
4806
|
+
/*
|
|
4807
|
+
* SocialSignInButton lockup colors are provider-mandated (Apple HIG /
|
|
4808
|
+
* Google Identity branding) and intentionally fixed across Muka brands —
|
|
4809
|
+
* same exception pattern as LicensePlateInput regulatory colors.
|
|
4810
|
+
*
|
|
4811
|
+
* Apple: https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple
|
|
4812
|
+
* Google: https://developers.google.com/identity/branding-guidelines
|
|
4813
|
+
*/
|
|
4814
|
+
.muka-social-sign-in-button {
|
|
4815
|
+
--ssi-white: #ffffff;
|
|
4816
|
+
--ssi-black: #000000;
|
|
4817
|
+
--ssi-google-text-light: #1f1f1f;
|
|
4818
|
+
|
|
4819
|
+
display: inline-flex;
|
|
4820
|
+
align-items: center;
|
|
4821
|
+
justify-content: center;
|
|
4822
|
+
|
|
4823
|
+
/* Provider lockup type — matches Figma / HIG, not brand font tokens.
|
|
4824
|
+
* SF Pro Text is OS-provided on Apple platforms (not redistributable).
|
|
4825
|
+
* Google Sans is not freely shippable; Roboto is the closest system fallback. */
|
|
4826
|
+
font-family: inherit;
|
|
4827
|
+
font-weight: 600;
|
|
4828
|
+
text-decoration: none;
|
|
4829
|
+
white-space: nowrap;
|
|
4830
|
+
|
|
4831
|
+
border: 1px solid transparent;
|
|
4832
|
+
cursor: pointer;
|
|
4833
|
+
user-select: none;
|
|
4834
|
+
transition: opacity 0.15s ease, filter 0.15s ease;
|
|
4835
|
+
|
|
4836
|
+
outline: none;
|
|
4837
|
+
position: relative;
|
|
4838
|
+
box-sizing: border-box;
|
|
4839
|
+
}
|
|
4840
|
+
|
|
4841
|
+
.muka-social-sign-in-button--apple {
|
|
4842
|
+
font-family: 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
|
|
4843
|
+
Helvetica, Arial, sans-serif;
|
|
4844
|
+
font-weight: 600;
|
|
4845
|
+
}
|
|
4846
|
+
|
|
4847
|
+
.muka-social-sign-in-button--google {
|
|
4848
|
+
font-family: 'Google Sans', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
4849
|
+
font-weight: 500;
|
|
4850
|
+
}
|
|
4851
|
+
|
|
4852
|
+
.muka-social-sign-in-button:focus-visible {
|
|
4853
|
+
outline: 2px solid var(--color-border-focus);
|
|
4854
|
+
outline-offset: 2px;
|
|
4855
|
+
}
|
|
4856
|
+
|
|
4857
|
+
/* Sizes — heights align with Button md/lg */
|
|
4858
|
+
.muka-social-sign-in-button--md {
|
|
4859
|
+
padding: 0 var(--button-padding-md-x);
|
|
4860
|
+
border-radius: var(--button-radius-md);
|
|
4861
|
+
font-size: var(--text-label-sm-semibold-fontSize);
|
|
4862
|
+
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
4863
|
+
min-height: 40px;
|
|
4864
|
+
min-width: 240px;
|
|
4865
|
+
}
|
|
4866
|
+
|
|
4867
|
+
.muka-social-sign-in-button--md .muka-social-sign-in-button__label {
|
|
4868
|
+
padding: 0 var(--button-gap-md);
|
|
4869
|
+
}
|
|
4870
|
+
|
|
4871
|
+
.muka-social-sign-in-button--md .muka-social-sign-in-button__icon {
|
|
4872
|
+
width: var(--button-icon-md);
|
|
4873
|
+
height: var(--button-icon-md);
|
|
4874
|
+
}
|
|
4875
|
+
|
|
4876
|
+
.muka-social-sign-in-button--lg {
|
|
4877
|
+
padding: 0 var(--button-padding-lg-x);
|
|
4878
|
+
border-radius: var(--button-radius-lg);
|
|
4879
|
+
font-size: var(--text-label-lg-semibold-fontSize);
|
|
4880
|
+
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
4881
|
+
min-height: 48px;
|
|
4882
|
+
min-width: 280px;
|
|
4883
|
+
}
|
|
4884
|
+
|
|
4885
|
+
.muka-social-sign-in-button--lg .muka-social-sign-in-button__label {
|
|
4886
|
+
padding: 0 var(--button-gap-lg);
|
|
4887
|
+
}
|
|
4888
|
+
|
|
4889
|
+
.muka-social-sign-in-button--lg .muka-social-sign-in-button__icon {
|
|
4890
|
+
width: var(--button-icon-lg);
|
|
4891
|
+
height: var(--button-icon-lg);
|
|
4892
|
+
}
|
|
4893
|
+
|
|
4894
|
+
/* White lockup — for dark surfaces (Apple White with Outline) */
|
|
4895
|
+
.muka-social-sign-in-button--white {
|
|
4896
|
+
background-color: var(--ssi-white);
|
|
4897
|
+
color: var(--ssi-black);
|
|
4898
|
+
border-color: var(--ssi-black);
|
|
4899
|
+
}
|
|
4900
|
+
|
|
4901
|
+
.muka-social-sign-in-button--white.muka-social-sign-in-button--google {
|
|
4902
|
+
color: var(--ssi-google-text-light);
|
|
4903
|
+
}
|
|
4904
|
+
|
|
4905
|
+
/* Black lockup — for light surfaces */
|
|
4906
|
+
.muka-social-sign-in-button--black {
|
|
4907
|
+
background-color: var(--ssi-black);
|
|
4908
|
+
color: var(--ssi-white);
|
|
4909
|
+
border-color: transparent;
|
|
4910
|
+
}
|
|
4911
|
+
|
|
4912
|
+
/* Interaction — luminance/opacity only; no brand tint */
|
|
4913
|
+
.muka-social-sign-in-button:hover:not(:disabled) {
|
|
4914
|
+
filter: brightness(0.92);
|
|
4915
|
+
}
|
|
4916
|
+
|
|
4917
|
+
.muka-social-sign-in-button:active:not(:disabled) {
|
|
4918
|
+
filter: brightness(0.85);
|
|
4919
|
+
}
|
|
4920
|
+
|
|
4921
|
+
.muka-social-sign-in-button:disabled,
|
|
4922
|
+
.muka-social-sign-in-button--disabled {
|
|
4923
|
+
cursor: not-allowed;
|
|
4924
|
+
opacity: 0.4;
|
|
4925
|
+
pointer-events: none;
|
|
4926
|
+
filter: none;
|
|
4927
|
+
}
|
|
4928
|
+
|
|
4929
|
+
.muka-social-sign-in-button--full-width {
|
|
4930
|
+
width: 100%;
|
|
4931
|
+
min-width: 0;
|
|
4932
|
+
}
|
|
4933
|
+
|
|
4934
|
+
.muka-social-sign-in-button__icon {
|
|
4935
|
+
display: inline-flex;
|
|
4936
|
+
align-items: center;
|
|
4937
|
+
justify-content: center;
|
|
4938
|
+
flex-shrink: 0;
|
|
4939
|
+
}
|
|
4940
|
+
|
|
4941
|
+
.muka-social-sign-in-button__icon > *,
|
|
4942
|
+
.muka-social-sign-in-button__icon svg {
|
|
4943
|
+
width: auto;
|
|
4944
|
+
height: 100%;
|
|
4945
|
+
max-width: 100%;
|
|
4946
|
+
display: block;
|
|
4947
|
+
}
|
|
4948
|
+
|
|
4949
|
+
.muka-social-sign-in-button__label {
|
|
4950
|
+
display: inline-flex;
|
|
4951
|
+
align-items: center;
|
|
4952
|
+
}
|
|
4953
|
+
|
|
4954
|
+
|
|
4805
4955
|
/* SmsOtpField */
|
|
4806
4956
|
/* SmsOtpField Component Styles - Using Muka Design Tokens */
|
|
4807
4957
|
|
|
@@ -4994,156 +5144,6 @@ body {
|
|
|
4994
5144
|
}
|
|
4995
5145
|
|
|
4996
5146
|
|
|
4997
|
-
/* SocialSignInButton */
|
|
4998
|
-
/*
|
|
4999
|
-
* SocialSignInButton lockup colors are provider-mandated (Apple HIG /
|
|
5000
|
-
* Google Identity branding) and intentionally fixed across Muka brands —
|
|
5001
|
-
* same exception pattern as LicensePlateInput regulatory colors.
|
|
5002
|
-
*
|
|
5003
|
-
* Apple: https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple
|
|
5004
|
-
* Google: https://developers.google.com/identity/branding-guidelines
|
|
5005
|
-
*/
|
|
5006
|
-
.muka-social-sign-in-button {
|
|
5007
|
-
--ssi-white: #ffffff;
|
|
5008
|
-
--ssi-black: #000000;
|
|
5009
|
-
--ssi-google-text-light: #1f1f1f;
|
|
5010
|
-
|
|
5011
|
-
display: inline-flex;
|
|
5012
|
-
align-items: center;
|
|
5013
|
-
justify-content: center;
|
|
5014
|
-
|
|
5015
|
-
/* Provider lockup type — matches Figma / HIG, not brand font tokens.
|
|
5016
|
-
* SF Pro Text is OS-provided on Apple platforms (not redistributable).
|
|
5017
|
-
* Google Sans is not freely shippable; Roboto is the closest system fallback. */
|
|
5018
|
-
font-family: inherit;
|
|
5019
|
-
font-weight: 600;
|
|
5020
|
-
text-decoration: none;
|
|
5021
|
-
white-space: nowrap;
|
|
5022
|
-
|
|
5023
|
-
border: 1px solid transparent;
|
|
5024
|
-
cursor: pointer;
|
|
5025
|
-
user-select: none;
|
|
5026
|
-
transition: opacity 0.15s ease, filter 0.15s ease;
|
|
5027
|
-
|
|
5028
|
-
outline: none;
|
|
5029
|
-
position: relative;
|
|
5030
|
-
box-sizing: border-box;
|
|
5031
|
-
}
|
|
5032
|
-
|
|
5033
|
-
.muka-social-sign-in-button--apple {
|
|
5034
|
-
font-family: 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
|
|
5035
|
-
Helvetica, Arial, sans-serif;
|
|
5036
|
-
font-weight: 600;
|
|
5037
|
-
}
|
|
5038
|
-
|
|
5039
|
-
.muka-social-sign-in-button--google {
|
|
5040
|
-
font-family: 'Google Sans', Roboto, 'Helvetica Neue', Arial, sans-serif;
|
|
5041
|
-
font-weight: 500;
|
|
5042
|
-
}
|
|
5043
|
-
|
|
5044
|
-
.muka-social-sign-in-button:focus-visible {
|
|
5045
|
-
outline: 2px solid var(--color-border-focus);
|
|
5046
|
-
outline-offset: 2px;
|
|
5047
|
-
}
|
|
5048
|
-
|
|
5049
|
-
/* Sizes — heights align with Button md/lg */
|
|
5050
|
-
.muka-social-sign-in-button--md {
|
|
5051
|
-
padding: 0 var(--button-padding-md-x);
|
|
5052
|
-
border-radius: var(--button-radius-md);
|
|
5053
|
-
font-size: var(--text-label-sm-semibold-fontSize);
|
|
5054
|
-
line-height: var(--text-label-sm-semibold-lineHeight);
|
|
5055
|
-
min-height: 40px;
|
|
5056
|
-
min-width: 240px;
|
|
5057
|
-
}
|
|
5058
|
-
|
|
5059
|
-
.muka-social-sign-in-button--md .muka-social-sign-in-button__label {
|
|
5060
|
-
padding: 0 var(--button-gap-md);
|
|
5061
|
-
}
|
|
5062
|
-
|
|
5063
|
-
.muka-social-sign-in-button--md .muka-social-sign-in-button__icon {
|
|
5064
|
-
width: var(--button-icon-md);
|
|
5065
|
-
height: var(--button-icon-md);
|
|
5066
|
-
}
|
|
5067
|
-
|
|
5068
|
-
.muka-social-sign-in-button--lg {
|
|
5069
|
-
padding: 0 var(--button-padding-lg-x);
|
|
5070
|
-
border-radius: var(--button-radius-lg);
|
|
5071
|
-
font-size: var(--text-label-lg-semibold-fontSize);
|
|
5072
|
-
line-height: var(--text-label-lg-semibold-lineHeight);
|
|
5073
|
-
min-height: 48px;
|
|
5074
|
-
min-width: 280px;
|
|
5075
|
-
}
|
|
5076
|
-
|
|
5077
|
-
.muka-social-sign-in-button--lg .muka-social-sign-in-button__label {
|
|
5078
|
-
padding: 0 var(--button-gap-lg);
|
|
5079
|
-
}
|
|
5080
|
-
|
|
5081
|
-
.muka-social-sign-in-button--lg .muka-social-sign-in-button__icon {
|
|
5082
|
-
width: var(--button-icon-lg);
|
|
5083
|
-
height: var(--button-icon-lg);
|
|
5084
|
-
}
|
|
5085
|
-
|
|
5086
|
-
/* White lockup — for dark surfaces (Apple White with Outline) */
|
|
5087
|
-
.muka-social-sign-in-button--white {
|
|
5088
|
-
background-color: var(--ssi-white);
|
|
5089
|
-
color: var(--ssi-black);
|
|
5090
|
-
border-color: var(--ssi-black);
|
|
5091
|
-
}
|
|
5092
|
-
|
|
5093
|
-
.muka-social-sign-in-button--white.muka-social-sign-in-button--google {
|
|
5094
|
-
color: var(--ssi-google-text-light);
|
|
5095
|
-
}
|
|
5096
|
-
|
|
5097
|
-
/* Black lockup — for light surfaces */
|
|
5098
|
-
.muka-social-sign-in-button--black {
|
|
5099
|
-
background-color: var(--ssi-black);
|
|
5100
|
-
color: var(--ssi-white);
|
|
5101
|
-
border-color: transparent;
|
|
5102
|
-
}
|
|
5103
|
-
|
|
5104
|
-
/* Interaction — luminance/opacity only; no brand tint */
|
|
5105
|
-
.muka-social-sign-in-button:hover:not(:disabled) {
|
|
5106
|
-
filter: brightness(0.92);
|
|
5107
|
-
}
|
|
5108
|
-
|
|
5109
|
-
.muka-social-sign-in-button:active:not(:disabled) {
|
|
5110
|
-
filter: brightness(0.85);
|
|
5111
|
-
}
|
|
5112
|
-
|
|
5113
|
-
.muka-social-sign-in-button:disabled,
|
|
5114
|
-
.muka-social-sign-in-button--disabled {
|
|
5115
|
-
cursor: not-allowed;
|
|
5116
|
-
opacity: 0.4;
|
|
5117
|
-
pointer-events: none;
|
|
5118
|
-
filter: none;
|
|
5119
|
-
}
|
|
5120
|
-
|
|
5121
|
-
.muka-social-sign-in-button--full-width {
|
|
5122
|
-
width: 100%;
|
|
5123
|
-
min-width: 0;
|
|
5124
|
-
}
|
|
5125
|
-
|
|
5126
|
-
.muka-social-sign-in-button__icon {
|
|
5127
|
-
display: inline-flex;
|
|
5128
|
-
align-items: center;
|
|
5129
|
-
justify-content: center;
|
|
5130
|
-
flex-shrink: 0;
|
|
5131
|
-
}
|
|
5132
|
-
|
|
5133
|
-
.muka-social-sign-in-button__icon > *,
|
|
5134
|
-
.muka-social-sign-in-button__icon svg {
|
|
5135
|
-
width: auto;
|
|
5136
|
-
height: 100%;
|
|
5137
|
-
max-width: 100%;
|
|
5138
|
-
display: block;
|
|
5139
|
-
}
|
|
5140
|
-
|
|
5141
|
-
.muka-social-sign-in-button__label {
|
|
5142
|
-
display: inline-flex;
|
|
5143
|
-
align-items: center;
|
|
5144
|
-
}
|
|
5145
|
-
|
|
5146
|
-
|
|
5147
5147
|
/* Skeleton */
|
|
5148
5148
|
/* Skeleton Component Styles */
|
|
5149
5149
|
|
|
@@ -7433,77 +7433,6 @@ 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
|
-
|
|
7507
7436
|
/* PriceTag */
|
|
7508
7437
|
/* PriceTag Component Styles - Using Muka Design Tokens */
|
|
7509
7438
|
|
|
@@ -7601,6 +7530,77 @@ body {
|
|
|
7601
7530
|
}
|
|
7602
7531
|
|
|
7603
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;
|
|
7592
|
+
}
|
|
7593
|
+
|
|
7594
|
+
.muka-profile-badge--clickable:active {
|
|
7595
|
+
opacity: 0.8;
|
|
7596
|
+
}
|
|
7597
|
+
|
|
7598
|
+
.muka-profile-badge--clickable:focus-visible {
|
|
7599
|
+
outline: 2px solid var(--color-border-focus);
|
|
7600
|
+
outline-offset: 2px;
|
|
7601
|
+
}
|
|
7602
|
+
|
|
7603
|
+
|
|
7604
7604
|
/* Popover */
|
|
7605
7605
|
/* Popover Component Styles */
|
|
7606
7606
|
|
|
@@ -8019,34 +8019,6 @@ 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
|
-
|
|
8050
8022
|
/* Menu */
|
|
8051
8023
|
/* Menu Component Styles */
|
|
8052
8024
|
|
|
@@ -8526,6 +8498,34 @@ body {
|
|
|
8526
8498
|
}
|
|
8527
8499
|
|
|
8528
8500
|
|
|
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
|
|
|
@@ -10643,9 +10643,10 @@ li.muka-listitem {
|
|
|
10643
10643
|
flex-shrink: 0;
|
|
10644
10644
|
}
|
|
10645
10645
|
|
|
10646
|
-
/* Hide footer on mobile for modal dialogs with inputs (actions move to TopBar)
|
|
10646
|
+
/* Hide footer on mobile for modal dialogs with inputs (actions move to TopBar),
|
|
10647
|
+
unless the consumer keeps them in the BottomBar (mobileActions="footer") */
|
|
10647
10648
|
@media (max-width: 1023px) {
|
|
10648
|
-
.muka-dialog:not(.muka-dialog--non-modal):not(.muka-dialog--no-inputs) .muka-dialog__footer {
|
|
10649
|
+
.muka-dialog:not(.muka-dialog--non-modal):not(.muka-dialog--no-inputs):not(.muka-dialog--mobile-actions-footer) .muka-dialog__footer {
|
|
10649
10650
|
display: none;
|
|
10650
10651
|
}
|
|
10651
10652
|
|
|
@@ -41,6 +41,12 @@ export interface ComboboxProps {
|
|
|
41
41
|
* Default: true (Figma Input Combobox free-input).
|
|
42
42
|
*/
|
|
43
43
|
creatable?: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* When `creatable`, commit the text still in the field as a chip when focus
|
|
46
|
+
* leaves the field, so typed-but-unconfirmed input isn't silently dropped
|
|
47
|
+
* (an exact option label commits that option). Default: true.
|
|
48
|
+
*/
|
|
49
|
+
commitOnBlur?: boolean;
|
|
44
50
|
/**
|
|
45
51
|
* Custom filter. Receives the option and the lowercased query.
|
|
46
52
|
* Defaults to substring match against `label` and `caption`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../../components/Combobox/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuE,MAAM,OAAO,CAAC;AAQ5F,OAAO,gBAAgB,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAEpC;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAE3B,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAE5D,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AA+BD;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../../components/Combobox/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAuE,MAAM,OAAO,CAAC;AAQ5F,OAAO,gBAAgB,CAAC;AAExB,MAAM,WAAW,cAAc;IAC7B,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,0CAA0C;IAC1C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,KAAK,EAAE,MAAM,EAAE,CAAC;IAEhB,8CAA8C;IAC9C,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IAEpC;;;OAGG;IACH,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;IAE3B,wEAAwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,kCAAkC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,kBAAkB;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,qBAAqB;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,kCAAkC;IAClC,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,iBAAiB;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;OAGG;IACH,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IAE5D,sDAAsD;IACtD,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,cAAc;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,WAAW,GAAG,IAAI,CAAC;CACtC;AA+BD;;;;;;;;;GASG;AACH,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAkX5C,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -23,11 +23,33 @@ export interface DialogProps {
|
|
|
23
23
|
footerActions?: React.ReactNode;
|
|
24
24
|
/** Footer layout variant (default: 'actions') */
|
|
25
25
|
footerVariant?: 'actions' | 'actions-vertical';
|
|
26
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* Where a modal dialog with inputs shows its actions on mobile (< 1024px).
|
|
28
|
+
* - `topbar` (default): `footerActions` are hidden and the TopBar shows
|
|
29
|
+
* icon-only actions — a secondary close button (leading) and a primary
|
|
30
|
+
* checkmark button (trailing) — so the on-screen keyboard never covers
|
|
31
|
+
* them and they never crowd the title. Enable them with
|
|
32
|
+
* `mobileLeadingLabel` / `mobileTrailingLabel`, which become their
|
|
33
|
+
* accessible names.
|
|
34
|
+
* - `footer`: keep the `footerActions` BottomBar under the content, with a
|
|
35
|
+
* title-only TopBar. Use this when the button labels are indispensable.
|
|
36
|
+
*
|
|
37
|
+
* Desktop always shows `footerActions` in the BottomBar. Has no effect on
|
|
38
|
+
* non-modal dialogs or dialogs without inputs, which always use the
|
|
39
|
+
* BottomBar.
|
|
40
|
+
*/
|
|
41
|
+
mobileActions?: 'topbar' | 'footer';
|
|
42
|
+
/**
|
|
43
|
+
* Mobile-only: accessible name of the leading icon-only close button
|
|
44
|
+
* (e.g. "Cancel"). Setting it shows the button.
|
|
45
|
+
*/
|
|
27
46
|
mobileLeadingLabel?: string;
|
|
28
|
-
/**
|
|
47
|
+
/**
|
|
48
|
+
* Mobile-only: accessible name of the trailing icon-only checkmark button
|
|
49
|
+
* (e.g. "Save"). Setting it shows the button.
|
|
50
|
+
*/
|
|
29
51
|
mobileTrailingLabel?: string;
|
|
30
|
-
/** Callback for mobile leading action */
|
|
52
|
+
/** Callback for mobile leading action (defaults to onClose) */
|
|
31
53
|
onMobileLeadingClick?: () => void;
|
|
32
54
|
/** Callback for mobile trailing action (defaults to onClose) */
|
|
33
55
|
onMobileTrailingClick?: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Dialog.d.ts","sourceRoot":"","sources":["../../../../components/Dialog/Dialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAoE,MAAM,OAAO,CAAC;AAKzF,OAAO,cAAc,CAAC;AAEtB,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,IAAI,EAAE,OAAO,CAAC;IAEd,yFAAyF;IACzF,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IAErB,iCAAiC;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,iFAAiF;IACjF,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,0DAA0D;IAC1D,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAE/B,gFAAgF;IAChF,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,0DAA0D;IAC1D,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,wDAAwD;IACxD,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,kEAAkE;IAClE,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEhC,iDAAiD;IACjD,aAAa,CAAC,EAAE,SAAS,GAAG,kBAAkB,CAAC;IAE/C;;;;;;;;;;;;;;OAcG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAEpC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAE7B,+DAA+D;IAC/D,oBAAoB,CAAC,EAAE,MAAM,IAAI,CAAC;IAElC,gEAAgE;IAChE,qBAAqB,CAAC,EAAE,MAAM,IAAI,CAAC;IAEnC,uBAAuB;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,0CAA0C;IAC1C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAE5B,sEAAsE;IACtE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAErB,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAyDD,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAkSxC,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -44,6 +44,9 @@ export interface ViewProps {
|
|
|
44
44
|
* - `level="top"`: App home screen. No back button, footer slot for BottomBar navigation.
|
|
45
45
|
* - `level="sub"`: Deeper view. Leading slot for back button, no footer by default.
|
|
46
46
|
*
|
|
47
|
+
* TopBar action Buttons are always `ghost`; icon-only ones are `lg` on large
|
|
48
|
+
* screens and `md` below 1024px.
|
|
49
|
+
*
|
|
47
50
|
* @accessibility
|
|
48
51
|
* - Uses `<main>` landmark for the scrollable body
|
|
49
52
|
* - TopBar provides semantic `<header>` structure
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../components/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"View.d.ts","sourceRoot":"","sources":["../../../../components/View/View.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,YAAY,CAAC;AAEpB,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,KAAK,EAAE,KAAK,GAAG,KAAK,CAAC;IAErB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,8DAA8D;IAC9D,OAAO,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,wCAAwC;IACxC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE3B,0CAA0C;IAC1C,iBAAiB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEpC,mDAAmD;IACnD,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE7B;;;;OAIG;IACH,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAE7B,qDAAqD;IACrD,MAAM,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAEzB,qCAAqC;IACrC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAE1B,sEAAsE;IACtE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IAErB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAE1B,6BAA6B;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgCD;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CA8CpC,CAAC;AAEF,eAAe,IAAI,CAAC"}
|
package/package.json
CHANGED