@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
@@ -4834,6 +4834,156 @@ body {
4834
4834
  }
4835
4835
 
4836
4836
 
4837
+ /* SocialSignInButton */
4838
+ /*
4839
+ * SocialSignInButton lockup colors are provider-mandated (Apple HIG /
4840
+ * Google Identity branding) and intentionally fixed across Muka brands —
4841
+ * same exception pattern as LicensePlateInput regulatory colors.
4842
+ *
4843
+ * Apple: https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple
4844
+ * Google: https://developers.google.com/identity/branding-guidelines
4845
+ */
4846
+ .muka-social-sign-in-button {
4847
+ --ssi-white: #ffffff;
4848
+ --ssi-black: #000000;
4849
+ --ssi-google-text-light: #1f1f1f;
4850
+
4851
+ display: inline-flex;
4852
+ align-items: center;
4853
+ justify-content: center;
4854
+
4855
+ /* Provider lockup type — matches Figma / HIG, not brand font tokens.
4856
+ * SF Pro Text is OS-provided on Apple platforms (not redistributable).
4857
+ * Google Sans is not freely shippable; Roboto is the closest system fallback. */
4858
+ font-family: inherit;
4859
+ font-weight: 600;
4860
+ text-decoration: none;
4861
+ white-space: nowrap;
4862
+
4863
+ border: 1px solid transparent;
4864
+ cursor: pointer;
4865
+ user-select: none;
4866
+ transition: opacity 0.15s ease, filter 0.15s ease;
4867
+
4868
+ outline: none;
4869
+ position: relative;
4870
+ box-sizing: border-box;
4871
+ }
4872
+
4873
+ .muka-social-sign-in-button--apple {
4874
+ font-family: 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
4875
+ Helvetica, Arial, sans-serif;
4876
+ font-weight: 600;
4877
+ }
4878
+
4879
+ .muka-social-sign-in-button--google {
4880
+ font-family: 'Google Sans', Roboto, 'Helvetica Neue', Arial, sans-serif;
4881
+ font-weight: 500;
4882
+ }
4883
+
4884
+ .muka-social-sign-in-button:focus-visible {
4885
+ outline: 2px solid var(--color-border-focus);
4886
+ outline-offset: 2px;
4887
+ }
4888
+
4889
+ /* Sizes — heights align with Button md/lg */
4890
+ .muka-social-sign-in-button--md {
4891
+ padding: 0 var(--button-padding-md-x);
4892
+ border-radius: var(--button-radius-md);
4893
+ font-size: var(--text-label-sm-semibold-fontSize);
4894
+ line-height: var(--text-label-sm-semibold-lineHeight);
4895
+ min-height: 40px;
4896
+ min-width: 240px;
4897
+ }
4898
+
4899
+ .muka-social-sign-in-button--md .muka-social-sign-in-button__label {
4900
+ padding: 0 var(--button-gap-md);
4901
+ }
4902
+
4903
+ .muka-social-sign-in-button--md .muka-social-sign-in-button__icon {
4904
+ width: var(--button-icon-md);
4905
+ height: var(--button-icon-md);
4906
+ }
4907
+
4908
+ .muka-social-sign-in-button--lg {
4909
+ padding: 0 var(--button-padding-lg-x);
4910
+ border-radius: var(--button-radius-lg);
4911
+ font-size: var(--text-label-lg-semibold-fontSize);
4912
+ line-height: var(--text-label-lg-semibold-lineHeight);
4913
+ min-height: 48px;
4914
+ min-width: 280px;
4915
+ }
4916
+
4917
+ .muka-social-sign-in-button--lg .muka-social-sign-in-button__label {
4918
+ padding: 0 var(--button-gap-lg);
4919
+ }
4920
+
4921
+ .muka-social-sign-in-button--lg .muka-social-sign-in-button__icon {
4922
+ width: var(--button-icon-lg);
4923
+ height: var(--button-icon-lg);
4924
+ }
4925
+
4926
+ /* White lockup — for dark surfaces (Apple White with Outline) */
4927
+ .muka-social-sign-in-button--white {
4928
+ background-color: var(--ssi-white);
4929
+ color: var(--ssi-black);
4930
+ border-color: var(--ssi-black);
4931
+ }
4932
+
4933
+ .muka-social-sign-in-button--white.muka-social-sign-in-button--google {
4934
+ color: var(--ssi-google-text-light);
4935
+ }
4936
+
4937
+ /* Black lockup — for light surfaces */
4938
+ .muka-social-sign-in-button--black {
4939
+ background-color: var(--ssi-black);
4940
+ color: var(--ssi-white);
4941
+ border-color: transparent;
4942
+ }
4943
+
4944
+ /* Interaction — luminance/opacity only; no brand tint */
4945
+ .muka-social-sign-in-button:hover:not(:disabled) {
4946
+ filter: brightness(0.92);
4947
+ }
4948
+
4949
+ .muka-social-sign-in-button:active:not(:disabled) {
4950
+ filter: brightness(0.85);
4951
+ }
4952
+
4953
+ .muka-social-sign-in-button:disabled,
4954
+ .muka-social-sign-in-button--disabled {
4955
+ cursor: not-allowed;
4956
+ opacity: 0.4;
4957
+ pointer-events: none;
4958
+ filter: none;
4959
+ }
4960
+
4961
+ .muka-social-sign-in-button--full-width {
4962
+ width: 100%;
4963
+ min-width: 0;
4964
+ }
4965
+
4966
+ .muka-social-sign-in-button__icon {
4967
+ display: inline-flex;
4968
+ align-items: center;
4969
+ justify-content: center;
4970
+ flex-shrink: 0;
4971
+ }
4972
+
4973
+ .muka-social-sign-in-button__icon > *,
4974
+ .muka-social-sign-in-button__icon svg {
4975
+ width: auto;
4976
+ height: 100%;
4977
+ max-width: 100%;
4978
+ display: block;
4979
+ }
4980
+
4981
+ .muka-social-sign-in-button__label {
4982
+ display: inline-flex;
4983
+ align-items: center;
4984
+ }
4985
+
4986
+
4837
4987
  /* SmsOtpField */
4838
4988
  /* SmsOtpField Component Styles - Using Muka Design Tokens */
4839
4989
 
@@ -5026,156 +5176,6 @@ body {
5026
5176
  }
5027
5177
 
5028
5178
 
5029
- /* SocialSignInButton */
5030
- /*
5031
- * SocialSignInButton lockup colors are provider-mandated (Apple HIG /
5032
- * Google Identity branding) and intentionally fixed across Muka brands —
5033
- * same exception pattern as LicensePlateInput regulatory colors.
5034
- *
5035
- * Apple: https://developer.apple.com/design/human-interface-guidelines/sign-in-with-apple
5036
- * Google: https://developers.google.com/identity/branding-guidelines
5037
- */
5038
- .muka-social-sign-in-button {
5039
- --ssi-white: #ffffff;
5040
- --ssi-black: #000000;
5041
- --ssi-google-text-light: #1f1f1f;
5042
-
5043
- display: inline-flex;
5044
- align-items: center;
5045
- justify-content: center;
5046
-
5047
- /* Provider lockup type — matches Figma / HIG, not brand font tokens.
5048
- * SF Pro Text is OS-provided on Apple platforms (not redistributable).
5049
- * Google Sans is not freely shippable; Roboto is the closest system fallback. */
5050
- font-family: inherit;
5051
- font-weight: 600;
5052
- text-decoration: none;
5053
- white-space: nowrap;
5054
-
5055
- border: 1px solid transparent;
5056
- cursor: pointer;
5057
- user-select: none;
5058
- transition: opacity 0.15s ease, filter 0.15s ease;
5059
-
5060
- outline: none;
5061
- position: relative;
5062
- box-sizing: border-box;
5063
- }
5064
-
5065
- .muka-social-sign-in-button--apple {
5066
- font-family: 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto,
5067
- Helvetica, Arial, sans-serif;
5068
- font-weight: 600;
5069
- }
5070
-
5071
- .muka-social-sign-in-button--google {
5072
- font-family: 'Google Sans', Roboto, 'Helvetica Neue', Arial, sans-serif;
5073
- font-weight: 500;
5074
- }
5075
-
5076
- .muka-social-sign-in-button:focus-visible {
5077
- outline: 2px solid var(--color-border-focus);
5078
- outline-offset: 2px;
5079
- }
5080
-
5081
- /* Sizes — heights align with Button md/lg */
5082
- .muka-social-sign-in-button--md {
5083
- padding: 0 var(--button-padding-md-x);
5084
- border-radius: var(--button-radius-md);
5085
- font-size: var(--text-label-sm-semibold-fontSize);
5086
- line-height: var(--text-label-sm-semibold-lineHeight);
5087
- min-height: 40px;
5088
- min-width: 240px;
5089
- }
5090
-
5091
- .muka-social-sign-in-button--md .muka-social-sign-in-button__label {
5092
- padding: 0 var(--button-gap-md);
5093
- }
5094
-
5095
- .muka-social-sign-in-button--md .muka-social-sign-in-button__icon {
5096
- width: var(--button-icon-md);
5097
- height: var(--button-icon-md);
5098
- }
5099
-
5100
- .muka-social-sign-in-button--lg {
5101
- padding: 0 var(--button-padding-lg-x);
5102
- border-radius: var(--button-radius-lg);
5103
- font-size: var(--text-label-lg-semibold-fontSize);
5104
- line-height: var(--text-label-lg-semibold-lineHeight);
5105
- min-height: 48px;
5106
- min-width: 280px;
5107
- }
5108
-
5109
- .muka-social-sign-in-button--lg .muka-social-sign-in-button__label {
5110
- padding: 0 var(--button-gap-lg);
5111
- }
5112
-
5113
- .muka-social-sign-in-button--lg .muka-social-sign-in-button__icon {
5114
- width: var(--button-icon-lg);
5115
- height: var(--button-icon-lg);
5116
- }
5117
-
5118
- /* White lockup — for dark surfaces (Apple White with Outline) */
5119
- .muka-social-sign-in-button--white {
5120
- background-color: var(--ssi-white);
5121
- color: var(--ssi-black);
5122
- border-color: var(--ssi-black);
5123
- }
5124
-
5125
- .muka-social-sign-in-button--white.muka-social-sign-in-button--google {
5126
- color: var(--ssi-google-text-light);
5127
- }
5128
-
5129
- /* Black lockup — for light surfaces */
5130
- .muka-social-sign-in-button--black {
5131
- background-color: var(--ssi-black);
5132
- color: var(--ssi-white);
5133
- border-color: transparent;
5134
- }
5135
-
5136
- /* Interaction — luminance/opacity only; no brand tint */
5137
- .muka-social-sign-in-button:hover:not(:disabled) {
5138
- filter: brightness(0.92);
5139
- }
5140
-
5141
- .muka-social-sign-in-button:active:not(:disabled) {
5142
- filter: brightness(0.85);
5143
- }
5144
-
5145
- .muka-social-sign-in-button:disabled,
5146
- .muka-social-sign-in-button--disabled {
5147
- cursor: not-allowed;
5148
- opacity: 0.4;
5149
- pointer-events: none;
5150
- filter: none;
5151
- }
5152
-
5153
- .muka-social-sign-in-button--full-width {
5154
- width: 100%;
5155
- min-width: 0;
5156
- }
5157
-
5158
- .muka-social-sign-in-button__icon {
5159
- display: inline-flex;
5160
- align-items: center;
5161
- justify-content: center;
5162
- flex-shrink: 0;
5163
- }
5164
-
5165
- .muka-social-sign-in-button__icon > *,
5166
- .muka-social-sign-in-button__icon svg {
5167
- width: auto;
5168
- height: 100%;
5169
- max-width: 100%;
5170
- display: block;
5171
- }
5172
-
5173
- .muka-social-sign-in-button__label {
5174
- display: inline-flex;
5175
- align-items: center;
5176
- }
5177
-
5178
-
5179
5179
  /* Skeleton */
5180
5180
  /* Skeleton Component Styles */
5181
5181
 
@@ -7465,77 +7465,6 @@ 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
-
7539
7468
  /* PriceTag */
7540
7469
  /* PriceTag Component Styles - Using Muka Design Tokens */
7541
7470
 
@@ -7633,6 +7562,77 @@ body {
7633
7562
  }
7634
7563
 
7635
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;
7624
+ }
7625
+
7626
+ .muka-profile-badge--clickable:active {
7627
+ opacity: 0.8;
7628
+ }
7629
+
7630
+ .muka-profile-badge--clickable:focus-visible {
7631
+ outline: 2px solid var(--color-border-focus);
7632
+ outline-offset: 2px;
7633
+ }
7634
+
7635
+
7636
7636
  /* Popover */
7637
7637
  /* Popover Component Styles */
7638
7638
 
@@ -8051,34 +8051,6 @@ 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
-
8082
8054
  /* Menu */
8083
8055
  /* Menu Component Styles */
8084
8056
 
@@ -8558,6 +8530,34 @@ body {
8558
8530
  }
8559
8531
 
8560
8532
 
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
 
@@ -10675,9 +10675,10 @@ li.muka-listitem {
10675
10675
  flex-shrink: 0;
10676
10676
  }
10677
10677
 
10678
- /* Hide footer on mobile for modal dialogs with inputs (actions move to TopBar) */
10678
+ /* Hide footer on mobile for modal dialogs with inputs (actions move to TopBar),
10679
+ unless the consumer keeps them in the BottomBar (mobileActions="footer") */
10679
10680
  @media (max-width: 1023px) {
10680
- .muka-dialog:not(.muka-dialog--non-modal):not(.muka-dialog--no-inputs) .muka-dialog__footer {
10681
+ .muka-dialog:not(.muka-dialog--non-modal):not(.muka-dialog--no-inputs):not(.muka-dialog--mobile-actions-footer) .muka-dialog__footer {
10681
10682
  display: none;
10682
10683
  }
10683
10684