@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.
Files changed (33) hide show
  1. package/dist/cjs/components/Combobox/Combobox.js +46 -11
  2. package/dist/cjs/components/Combobox/Combobox.js.map +1 -1
  3. package/dist/cjs/components/Dialog/Dialog.css +3 -2
  4. package/dist/cjs/components/Dialog/Dialog.js +23 -11
  5. package/dist/cjs/components/Dialog/Dialog.js.map +1 -1
  6. package/dist/cjs/components/PhotoUploader/PhotoUploader.js +1 -1
  7. package/dist/cjs/components/PhotoUploader/PhotoUploader.js.map +1 -1
  8. package/dist/cjs/components/TopBar/TopBar.css +49 -20
  9. package/dist/cjs/components/View/View.js +33 -1
  10. package/dist/cjs/components/View/View.js.map +1 -1
  11. package/dist/esm/components/Combobox/Combobox.js +46 -11
  12. package/dist/esm/components/Combobox/Combobox.js.map +1 -1
  13. package/dist/esm/components/Dialog/Dialog.css +3 -2
  14. package/dist/esm/components/Dialog/Dialog.js +23 -11
  15. package/dist/esm/components/Dialog/Dialog.js.map +1 -1
  16. package/dist/esm/components/PhotoUploader/PhotoUploader.js +1 -1
  17. package/dist/esm/components/PhotoUploader/PhotoUploader.js.map +1 -1
  18. package/dist/esm/components/TopBar/TopBar.css +49 -20
  19. package/dist/esm/components/View/View.js +30 -1
  20. package/dist/esm/components/View/View.js.map +1 -1
  21. package/dist/styles/components/Dialog.css +3 -2
  22. package/dist/styles/index.css +252 -251
  23. package/dist/styles/muka-dark.css +252 -251
  24. package/dist/styles/muka-light.css +252 -251
  25. package/dist/styles/wireframe-dark.css +252 -251
  26. package/dist/styles/wireframe-light.css +252 -251
  27. package/dist/types/components/Combobox/Combobox.d.ts +6 -0
  28. package/dist/types/components/Combobox/Combobox.d.ts.map +1 -1
  29. package/dist/types/components/Dialog/Dialog.d.ts +25 -3
  30. package/dist/types/components/Dialog/Dialog.d.ts.map +1 -1
  31. package/dist/types/components/View/View.d.ts +3 -0
  32. package/dist/types/components/View/View.d.ts.map +1 -1
  33. package/package.json +1 -1
@@ -4835,6 +4835,156 @@ body {
4835
4835
  }
4836
4836
 
4837
4837
 
4838
+ /* SocialSignInButton */
4839
+ /*
4840
+ * SocialSignInButton lockup colors are provider-mandated (Apple HIG /
4841
+ * Google Identity branding) and intentionally fixed across Muka brands —
4842
+ * same exception pattern as LicensePlateInput regulatory colors.
4843
+ *
4844
+ * Apple: https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple
4845
+ * Google: https://developers.google.com/identity/branding-guidelines
4846
+ */
4847
+ .muka-social-sign-in-button {
4848
+ --ssi-white: #ffffff;
4849
+ --ssi-black: #000000;
4850
+ --ssi-google-text-light: #1f1f1f;
4851
+
4852
+ display: inline-flex;
4853
+ align-items: center;
4854
+ justify-content: center;
4855
+
4856
+ /* Provider lockup type — matches Figma / HIG, not brand font tokens.
4857
+ * SF Pro Text is OS-provided on Apple platforms (not redistributable).
4858
+ * Google Sans is not freely shippable; Roboto is the closest system fallback. */
4859
+ font-family: inherit;
4860
+ font-weight: 600;
4861
+ text-decoration: none;
4862
+ white-space: nowrap;
4863
+
4864
+ border: 1px solid transparent;
4865
+ cursor: pointer;
4866
+ user-select: none;
4867
+ transition: opacity 0.15s ease, filter 0.15s ease;
4868
+
4869
+ outline: none;
4870
+ position: relative;
4871
+ box-sizing: border-box;
4872
+ }
4873
+
4874
+ .muka-social-sign-in-button--apple {
4875
+ font-family: 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
4876
+ Helvetica, Arial, sans-serif;
4877
+ font-weight: 600;
4878
+ }
4879
+
4880
+ .muka-social-sign-in-button--google {
4881
+ font-family: 'Google Sans', Roboto, 'Helvetica Neue', Arial, sans-serif;
4882
+ font-weight: 500;
4883
+ }
4884
+
4885
+ .muka-social-sign-in-button:focus-visible {
4886
+ outline: 2px solid var(--color-border-focus);
4887
+ outline-offset: 2px;
4888
+ }
4889
+
4890
+ /* Sizes — heights align with Button md/lg */
4891
+ .muka-social-sign-in-button--md {
4892
+ padding: 0 var(--button-padding-md-x);
4893
+ border-radius: var(--button-radius-md);
4894
+ font-size: var(--text-label-sm-semibold-fontSize);
4895
+ line-height: var(--text-label-sm-semibold-lineHeight);
4896
+ min-height: 40px;
4897
+ min-width: 240px;
4898
+ }
4899
+
4900
+ .muka-social-sign-in-button--md .muka-social-sign-in-button__label {
4901
+ padding: 0 var(--button-gap-md);
4902
+ }
4903
+
4904
+ .muka-social-sign-in-button--md .muka-social-sign-in-button__icon {
4905
+ width: var(--button-icon-md);
4906
+ height: var(--button-icon-md);
4907
+ }
4908
+
4909
+ .muka-social-sign-in-button--lg {
4910
+ padding: 0 var(--button-padding-lg-x);
4911
+ border-radius: var(--button-radius-lg);
4912
+ font-size: var(--text-label-lg-semibold-fontSize);
4913
+ line-height: var(--text-label-lg-semibold-lineHeight);
4914
+ min-height: 48px;
4915
+ min-width: 280px;
4916
+ }
4917
+
4918
+ .muka-social-sign-in-button--lg .muka-social-sign-in-button__label {
4919
+ padding: 0 var(--button-gap-lg);
4920
+ }
4921
+
4922
+ .muka-social-sign-in-button--lg .muka-social-sign-in-button__icon {
4923
+ width: var(--button-icon-lg);
4924
+ height: var(--button-icon-lg);
4925
+ }
4926
+
4927
+ /* White lockup — for dark surfaces (Apple White with Outline) */
4928
+ .muka-social-sign-in-button--white {
4929
+ background-color: var(--ssi-white);
4930
+ color: var(--ssi-black);
4931
+ border-color: var(--ssi-black);
4932
+ }
4933
+
4934
+ .muka-social-sign-in-button--white.muka-social-sign-in-button--google {
4935
+ color: var(--ssi-google-text-light);
4936
+ }
4937
+
4938
+ /* Black lockup — for light surfaces */
4939
+ .muka-social-sign-in-button--black {
4940
+ background-color: var(--ssi-black);
4941
+ color: var(--ssi-white);
4942
+ border-color: transparent;
4943
+ }
4944
+
4945
+ /* Interaction — luminance/opacity only; no brand tint */
4946
+ .muka-social-sign-in-button:hover:not(:disabled) {
4947
+ filter: brightness(0.92);
4948
+ }
4949
+
4950
+ .muka-social-sign-in-button:active:not(:disabled) {
4951
+ filter: brightness(0.85);
4952
+ }
4953
+
4954
+ .muka-social-sign-in-button:disabled,
4955
+ .muka-social-sign-in-button--disabled {
4956
+ cursor: not-allowed;
4957
+ opacity: 0.4;
4958
+ pointer-events: none;
4959
+ filter: none;
4960
+ }
4961
+
4962
+ .muka-social-sign-in-button--full-width {
4963
+ width: 100%;
4964
+ min-width: 0;
4965
+ }
4966
+
4967
+ .muka-social-sign-in-button__icon {
4968
+ display: inline-flex;
4969
+ align-items: center;
4970
+ justify-content: center;
4971
+ flex-shrink: 0;
4972
+ }
4973
+
4974
+ .muka-social-sign-in-button__icon > *,
4975
+ .muka-social-sign-in-button__icon svg {
4976
+ width: auto;
4977
+ height: 100%;
4978
+ max-width: 100%;
4979
+ display: block;
4980
+ }
4981
+
4982
+ .muka-social-sign-in-button__label {
4983
+ display: inline-flex;
4984
+ align-items: center;
4985
+ }
4986
+
4987
+
4838
4988
  /* SmsOtpField */
4839
4989
  /* SmsOtpField Component Styles - Using Muka Design Tokens */
4840
4990
 
@@ -5027,156 +5177,6 @@ body {
5027
5177
  }
5028
5178
 
5029
5179
 
5030
- /* SocialSignInButton */
5031
- /*
5032
- * SocialSignInButton lockup colors are provider-mandated (Apple HIG /
5033
- * Google Identity branding) and intentionally fixed across Muka brands —
5034
- * same exception pattern as LicensePlateInput regulatory colors.
5035
- *
5036
- * Apple: https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple
5037
- * Google: https://developers.google.com/identity/branding-guidelines
5038
- */
5039
- .muka-social-sign-in-button {
5040
- --ssi-white: #ffffff;
5041
- --ssi-black: #000000;
5042
- --ssi-google-text-light: #1f1f1f;
5043
-
5044
- display: inline-flex;
5045
- align-items: center;
5046
- justify-content: center;
5047
-
5048
- /* Provider lockup type — matches Figma / HIG, not brand font tokens.
5049
- * SF Pro Text is OS-provided on Apple platforms (not redistributable).
5050
- * Google Sans is not freely shippable; Roboto is the closest system fallback. */
5051
- font-family: inherit;
5052
- font-weight: 600;
5053
- text-decoration: none;
5054
- white-space: nowrap;
5055
-
5056
- border: 1px solid transparent;
5057
- cursor: pointer;
5058
- user-select: none;
5059
- transition: opacity 0.15s ease, filter 0.15s ease;
5060
-
5061
- outline: none;
5062
- position: relative;
5063
- box-sizing: border-box;
5064
- }
5065
-
5066
- .muka-social-sign-in-button--apple {
5067
- font-family: 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
5068
- Helvetica, Arial, sans-serif;
5069
- font-weight: 600;
5070
- }
5071
-
5072
- .muka-social-sign-in-button--google {
5073
- font-family: 'Google Sans', Roboto, 'Helvetica Neue', Arial, sans-serif;
5074
- font-weight: 500;
5075
- }
5076
-
5077
- .muka-social-sign-in-button:focus-visible {
5078
- outline: 2px solid var(--color-border-focus);
5079
- outline-offset: 2px;
5080
- }
5081
-
5082
- /* Sizes — heights align with Button md/lg */
5083
- .muka-social-sign-in-button--md {
5084
- padding: 0 var(--button-padding-md-x);
5085
- border-radius: var(--button-radius-md);
5086
- font-size: var(--text-label-sm-semibold-fontSize);
5087
- line-height: var(--text-label-sm-semibold-lineHeight);
5088
- min-height: 40px;
5089
- min-width: 240px;
5090
- }
5091
-
5092
- .muka-social-sign-in-button--md .muka-social-sign-in-button__label {
5093
- padding: 0 var(--button-gap-md);
5094
- }
5095
-
5096
- .muka-social-sign-in-button--md .muka-social-sign-in-button__icon {
5097
- width: var(--button-icon-md);
5098
- height: var(--button-icon-md);
5099
- }
5100
-
5101
- .muka-social-sign-in-button--lg {
5102
- padding: 0 var(--button-padding-lg-x);
5103
- border-radius: var(--button-radius-lg);
5104
- font-size: var(--text-label-lg-semibold-fontSize);
5105
- line-height: var(--text-label-lg-semibold-lineHeight);
5106
- min-height: 48px;
5107
- min-width: 280px;
5108
- }
5109
-
5110
- .muka-social-sign-in-button--lg .muka-social-sign-in-button__label {
5111
- padding: 0 var(--button-gap-lg);
5112
- }
5113
-
5114
- .muka-social-sign-in-button--lg .muka-social-sign-in-button__icon {
5115
- width: var(--button-icon-lg);
5116
- height: var(--button-icon-lg);
5117
- }
5118
-
5119
- /* White lockup — for dark surfaces (Apple White with Outline) */
5120
- .muka-social-sign-in-button--white {
5121
- background-color: var(--ssi-white);
5122
- color: var(--ssi-black);
5123
- border-color: var(--ssi-black);
5124
- }
5125
-
5126
- .muka-social-sign-in-button--white.muka-social-sign-in-button--google {
5127
- color: var(--ssi-google-text-light);
5128
- }
5129
-
5130
- /* Black lockup — for light surfaces */
5131
- .muka-social-sign-in-button--black {
5132
- background-color: var(--ssi-black);
5133
- color: var(--ssi-white);
5134
- border-color: transparent;
5135
- }
5136
-
5137
- /* Interaction — luminance/opacity only; no brand tint */
5138
- .muka-social-sign-in-button:hover:not(:disabled) {
5139
- filter: brightness(0.92);
5140
- }
5141
-
5142
- .muka-social-sign-in-button:active:not(:disabled) {
5143
- filter: brightness(0.85);
5144
- }
5145
-
5146
- .muka-social-sign-in-button:disabled,
5147
- .muka-social-sign-in-button--disabled {
5148
- cursor: not-allowed;
5149
- opacity: 0.4;
5150
- pointer-events: none;
5151
- filter: none;
5152
- }
5153
-
5154
- .muka-social-sign-in-button--full-width {
5155
- width: 100%;
5156
- min-width: 0;
5157
- }
5158
-
5159
- .muka-social-sign-in-button__icon {
5160
- display: inline-flex;
5161
- align-items: center;
5162
- justify-content: center;
5163
- flex-shrink: 0;
5164
- }
5165
-
5166
- .muka-social-sign-in-button__icon > *,
5167
- .muka-social-sign-in-button__icon svg {
5168
- width: auto;
5169
- height: 100%;
5170
- max-width: 100%;
5171
- display: block;
5172
- }
5173
-
5174
- .muka-social-sign-in-button__label {
5175
- display: inline-flex;
5176
- align-items: center;
5177
- }
5178
-
5179
-
5180
5180
  /* Skeleton */
5181
5181
  /* Skeleton Component Styles */
5182
5182
 
@@ -7466,77 +7466,6 @@ body {
7466
7466
  }
7467
7467
 
7468
7468
 
7469
- /* ProfileBadge */
7470
- /* ProfileBadge Component Styles - Using Muka Design Tokens */
7471
-
7472
- .muka-profile-badge {
7473
- display: inline-flex;
7474
- align-items: center;
7475
- font-family: var(--text-body-base-regular-fontFamily);
7476
- }
7477
-
7478
- /* Size variants */
7479
- .muka-profile-badge--lg {
7480
- gap: var(--spacing-4); /* 16px */
7481
- }
7482
-
7483
- .muka-profile-badge--md {
7484
- gap: var(--spacing-3); /* 12px */
7485
- }
7486
-
7487
- .muka-profile-badge__avatar {
7488
- flex-shrink: 0;
7489
- }
7490
-
7491
- /* Text stack */
7492
- .muka-profile-badge__text {
7493
- display: flex;
7494
- flex-direction: column;
7495
- align-items: flex-start;
7496
- min-width: 0;
7497
- }
7498
-
7499
- .muka-profile-badge__name {
7500
- font-family: var(--text-body-base-regular-fontFamily);
7501
- font-size: var(--text-body-base-regular-fontSize);
7502
- font-weight: var(--text-body-base-regular-fontWeight);
7503
- line-height: var(--text-body-base-regular-lineHeight);
7504
- color: var(--color-text-default-default);
7505
- }
7506
-
7507
- .muka-profile-badge__email {
7508
- font-family: var(--text-body-xs-regular-fontFamily);
7509
- font-size: var(--text-body-xs-regular-fontSize);
7510
- font-weight: var(--text-body-xs-regular-fontWeight);
7511
- line-height: var(--text-body-xs-regular-lineHeight);
7512
- color: var(--color-text-subtle-default);
7513
- }
7514
-
7515
- /* Clickable state */
7516
- .muka-profile-badge--clickable {
7517
- cursor: pointer;
7518
- border: none;
7519
- background: none;
7520
- padding: 0;
7521
- text-align: left;
7522
- border-radius: var(--radius-md);
7523
- transition: opacity 0.2s ease;
7524
- }
7525
-
7526
- .muka-profile-badge--clickable:hover {
7527
- opacity: 0.9;
7528
- }
7529
-
7530
- .muka-profile-badge--clickable:active {
7531
- opacity: 0.8;
7532
- }
7533
-
7534
- .muka-profile-badge--clickable:focus-visible {
7535
- outline: 2px solid var(--color-border-focus);
7536
- outline-offset: 2px;
7537
- }
7538
-
7539
-
7540
7469
  /* PriceTag */
7541
7470
  /* PriceTag Component Styles - Using Muka Design Tokens */
7542
7471
 
@@ -7634,6 +7563,77 @@ body {
7634
7563
  }
7635
7564
 
7636
7565
 
7566
+ /* ProfileBadge */
7567
+ /* ProfileBadge Component Styles - Using Muka Design Tokens */
7568
+
7569
+ .muka-profile-badge {
7570
+ display: inline-flex;
7571
+ align-items: center;
7572
+ font-family: var(--text-body-base-regular-fontFamily);
7573
+ }
7574
+
7575
+ /* Size variants */
7576
+ .muka-profile-badge--lg {
7577
+ gap: var(--spacing-4); /* 16px */
7578
+ }
7579
+
7580
+ .muka-profile-badge--md {
7581
+ gap: var(--spacing-3); /* 12px */
7582
+ }
7583
+
7584
+ .muka-profile-badge__avatar {
7585
+ flex-shrink: 0;
7586
+ }
7587
+
7588
+ /* Text stack */
7589
+ .muka-profile-badge__text {
7590
+ display: flex;
7591
+ flex-direction: column;
7592
+ align-items: flex-start;
7593
+ min-width: 0;
7594
+ }
7595
+
7596
+ .muka-profile-badge__name {
7597
+ font-family: var(--text-body-base-regular-fontFamily);
7598
+ font-size: var(--text-body-base-regular-fontSize);
7599
+ font-weight: var(--text-body-base-regular-fontWeight);
7600
+ line-height: var(--text-body-base-regular-lineHeight);
7601
+ color: var(--color-text-default-default);
7602
+ }
7603
+
7604
+ .muka-profile-badge__email {
7605
+ font-family: var(--text-body-xs-regular-fontFamily);
7606
+ font-size: var(--text-body-xs-regular-fontSize);
7607
+ font-weight: var(--text-body-xs-regular-fontWeight);
7608
+ line-height: var(--text-body-xs-regular-lineHeight);
7609
+ color: var(--color-text-subtle-default);
7610
+ }
7611
+
7612
+ /* Clickable state */
7613
+ .muka-profile-badge--clickable {
7614
+ cursor: pointer;
7615
+ border: none;
7616
+ background: none;
7617
+ padding: 0;
7618
+ text-align: left;
7619
+ border-radius: var(--radius-md);
7620
+ transition: opacity 0.2s ease;
7621
+ }
7622
+
7623
+ .muka-profile-badge--clickable:hover {
7624
+ opacity: 0.9;
7625
+ }
7626
+
7627
+ .muka-profile-badge--clickable:active {
7628
+ opacity: 0.8;
7629
+ }
7630
+
7631
+ .muka-profile-badge--clickable:focus-visible {
7632
+ outline: 2px solid var(--color-border-focus);
7633
+ outline-offset: 2px;
7634
+ }
7635
+
7636
+
7637
7637
  /* Popover */
7638
7638
  /* Popover Component Styles */
7639
7639
 
@@ -8052,34 +8052,6 @@ body {
8052
8052
  }
8053
8053
 
8054
8054
 
8055
- /* NavigationTransition */
8056
- /* NavigationTransition Component Styles */
8057
-
8058
- /* ─── Wrapper ────────────────────────────────────────── */
8059
-
8060
- .muka-nav-transition {
8061
- position: relative;
8062
- height: 100vh;
8063
- overflow: hidden;
8064
- }
8065
-
8066
- /* Disable interaction during animation */
8067
- .muka-nav-transition--active {
8068
- pointer-events: none;
8069
- }
8070
-
8071
- /* ─── View slots ─────────────────────────────────────── */
8072
-
8073
- .muka-nav-transition--active .muka-nav-transition__view {
8074
- position: absolute;
8075
- inset: 0;
8076
- }
8077
-
8078
- /* Z-index layering */
8079
- .muka-nav-transition__view--bottom { z-index: 1; }
8080
- .muka-nav-transition__view--top { z-index: 2; }
8081
-
8082
-
8083
8055
  /* Menu */
8084
8056
  /* Menu Component Styles */
8085
8057
 
@@ -8559,6 +8531,34 @@ body {
8559
8531
  }
8560
8532
 
8561
8533
 
8534
+ /* NavigationTransition */
8535
+ /* NavigationTransition Component Styles */
8536
+
8537
+ /* ─── Wrapper ────────────────────────────────────────── */
8538
+
8539
+ .muka-nav-transition {
8540
+ position: relative;
8541
+ height: 100vh;
8542
+ overflow: hidden;
8543
+ }
8544
+
8545
+ /* Disable interaction during animation */
8546
+ .muka-nav-transition--active {
8547
+ pointer-events: none;
8548
+ }
8549
+
8550
+ /* ─── View slots ─────────────────────────────────────── */
8551
+
8552
+ .muka-nav-transition--active .muka-nav-transition__view {
8553
+ position: absolute;
8554
+ inset: 0;
8555
+ }
8556
+
8557
+ /* Z-index layering */
8558
+ .muka-nav-transition__view--bottom { z-index: 1; }
8559
+ .muka-nav-transition__view--top { z-index: 2; }
8560
+
8561
+
8562
8562
  /* ListItem */
8563
8563
  /* ListItem Component Styles - Using Muka Design Tokens */
8564
8564
 
@@ -10676,9 +10676,10 @@ li.muka-listitem {
10676
10676
  flex-shrink: 0;
10677
10677
  }
10678
10678
 
10679
- /* Hide footer on mobile for modal dialogs with inputs (actions move to TopBar) */
10679
+ /* Hide footer on mobile for modal dialogs with inputs (actions move to TopBar),
10680
+ unless the consumer keeps them in the BottomBar (mobileActions="footer") */
10680
10681
  @media (max-width: 1023px) {
10681
- .muka-dialog:not(.muka-dialog--non-modal):not(.muka-dialog--no-inputs) .muka-dialog__footer {
10682
+ .muka-dialog:not(.muka-dialog--non-modal):not(.muka-dialog--no-inputs):not(.muka-dialog--mobile-actions-footer) .muka-dialog__footer {
10682
10683
  display: none;
10683
10684
  }
10684
10685