@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
@@ -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