@photonix/basic 3.0.0 → 3.2.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/index.css CHANGED
@@ -14,6 +14,15 @@
14
14
  --surface-brand-subtle: var(--color-primary-100);
15
15
  --surface-brand-primary-subtle: var(--color-primary-100);
16
16
  }
17
+ :root,
18
+ [data-theme] {
19
+ --shadow-xs: var(--shadow-down-xs);
20
+ --shadow-sm: var(--shadow-down-sm);
21
+ --shadow-md: var(--shadow-down-md);
22
+ --shadow-lg: var(--shadow-down-lg);
23
+ --shadow-xl: var(--shadow-down-xl);
24
+ --shadow-2xl: var(--shadow-down-2xl);
25
+ }
17
26
 
18
27
  /* ../ultimate/src/styles/global.css */
19
28
  :root {
@@ -5980,6 +5989,12 @@
5980
5989
  border: var(--border-sm) solid transparent;
5981
5990
  color: var(--badge-text-subtle);
5982
5991
  }
5992
+ .brand {
5993
+ --badge-color: var(--surface-brand-primary);
5994
+ --badge-on-color: var(--text-neutral-primary-inverse);
5995
+ --badge-bg-subtle: var(--surface-brand-subtle);
5996
+ --badge-text-subtle: var(--text-brand-primary);
5997
+ }
5983
5998
  .gray {
5984
5999
  --badge-color: var(--surface-neutral-on-surface);
5985
6000
  --badge-on-color: var(--text-neutral-secondary);
@@ -6653,8 +6668,11 @@
6653
6668
  gap: var(--space-xs);
6654
6669
  vertical-align: middle;
6655
6670
  }
6656
- .checkboxContainer .checkboxRoot {
6657
- margin: calc((var(--dimensions-20) - var(--dimensions-40)) / 2);
6671
+ .checkboxContainer .checkboxRoot.medium {
6672
+ margin: calc((var(--dimensions-24) - var(--dimensions-40)) / 2);
6673
+ }
6674
+ .checkboxContainer .checkboxRoot.small {
6675
+ margin: calc((var(--dimensions-20) - var(--dimensions-32)) / 2);
6658
6676
  }
6659
6677
  .checkboxContainer.disabled {
6660
6678
  cursor: not-allowed;
@@ -6750,7 +6768,7 @@
6750
6768
  position: relative;
6751
6769
  z-index: var(--z-local-below);
6752
6770
  }
6753
- .small {
6771
+ .radioRoot.small {
6754
6772
  block-size: var(--dimensions-32);
6755
6773
  inline-size: var(--dimensions-32);
6756
6774
  }
@@ -6758,7 +6776,7 @@
6758
6776
  block-size: var(--dimensions-20);
6759
6777
  inline-size: var(--dimensions-20);
6760
6778
  }
6761
- .medium {
6779
+ .radioRoot.medium {
6762
6780
  block-size: var(--dimensions-40);
6763
6781
  inline-size: var(--dimensions-40);
6764
6782
  }
@@ -6775,8 +6793,11 @@
6775
6793
  min-inline-size: max-content;
6776
6794
  vertical-align: middle;
6777
6795
  }
6778
- .radioContainer .radioRoot {
6779
- margin: calc((var(--dimensions-20) - var(--dimensions-40)) / 2);
6796
+ .radioContainer .radioRoot.medium {
6797
+ margin: calc((var(--dimensions-24) - var(--dimensions-40)) / 2);
6798
+ }
6799
+ .radioContainer .radioRoot.small {
6800
+ margin: calc((var(--dimensions-20) - var(--dimensions-32)) / 2);
6780
6801
  }
6781
6802
  .radioContainer.disabled {
6782
6803
  cursor: not-allowed;
@@ -7359,6 +7380,7 @@
7359
7380
  line-height: var(--title-md-line-height);
7360
7381
  }
7361
7382
  .textFieldContainer {
7383
+ --text-field-content-gap: var(--space-xs);
7362
7384
  align-items: center;
7363
7385
  border: var(--border-sm) solid var(--border-neutral-tertiary);
7364
7386
  border-radius: var(--radius-2xs);
@@ -7401,6 +7423,7 @@
7401
7423
  min-block-size: var(--dimensions-44);
7402
7424
  }
7403
7425
  .medium {
7426
+ --text-field-content-gap: var(--space-xs);
7404
7427
  font-size: var(--body-md-size);
7405
7428
  line-height: var(--body-md-line-height);
7406
7429
  min-block-size: var(--dimensions-44);
@@ -7410,6 +7433,7 @@
7410
7433
  min-block-size: var(--dimensions-36);
7411
7434
  }
7412
7435
  .small {
7436
+ --text-field-content-gap: var(--space-2xs);
7413
7437
  font-size: var(--body-sm-size);
7414
7438
  line-height: var(--body-sm-line-height);
7415
7439
  min-block-size: var(--dimensions-36);
@@ -7444,7 +7468,7 @@
7444
7468
  color: var(--foreground-neutral-primary);
7445
7469
  display: flex;
7446
7470
  justify-content: center;
7447
- margin-inline-end: var(--space-xs);
7471
+ margin-inline-end: var(--text-field-content-gap);
7448
7472
  }
7449
7473
  .textFieldLeadingText {
7450
7474
  align-items: center;
@@ -7456,7 +7480,7 @@
7456
7480
  font-size: var(--body-lg-size);
7457
7481
  font-weight: var(--body-lg-weight);
7458
7482
  justify-content: center;
7459
- margin-inline-end: var(--space-xs);
7483
+ margin-inline-end: var(--text-field-content-gap);
7460
7484
  padding: var(--space-4xs) var(--space-2xs);
7461
7485
  white-space: nowrap;
7462
7486
  }
@@ -7465,7 +7489,7 @@
7465
7489
  display: flex;
7466
7490
  flex: 1;
7467
7491
  flex-direction: column;
7468
- padding-inline-end: var(--space-xs);
7492
+ padding-inline-end: var(--text-field-content-gap);
7469
7493
  position: relative;
7470
7494
  }
7471
7495
  .textFieldInlineLabel {
@@ -7538,7 +7562,7 @@
7538
7562
  .textFieldTrailingGroup {
7539
7563
  align-items: center;
7540
7564
  display: flex;
7541
- gap: var(--space-xs);
7565
+ gap: var(--text-field-content-gap);
7542
7566
  }
7543
7567
  .textFieldClearButton {
7544
7568
  block-size: var(--dimensions-20) !important;
@@ -7585,7 +7609,7 @@
7585
7609
  font-family: var(--body-lg-family);
7586
7610
  font-size: var(--body-lg-size);
7587
7611
  font-weight: var(--body-lg-weight);
7588
- gap: var(--space-xs);
7612
+ gap: var(--text-field-content-gap);
7589
7613
  line-height: var(--body-lg-line-height);
7590
7614
  transition: color var(--motion-duration-normal) var(--motion-ease-standard);
7591
7615
  }
@@ -7593,9 +7617,6 @@
7593
7617
  .activeDropdown {
7594
7618
  color: var(--text-neutral-primary);
7595
7619
  }
7596
- .textFieldTrailingDropdown span {
7597
- margin-inline-end: calc(var(--dimensions-4) * -1);
7598
- }
7599
7620
  .textFieldChevronIcon {
7600
7621
  align-items: center;
7601
7622
  color: var(--foreground-neutral-primary);
@@ -7613,7 +7634,7 @@
7613
7634
  color: var(--foreground-neutral-primary);
7614
7635
  cursor: pointer;
7615
7636
  display: flex;
7616
- gap: var(--space-xs);
7637
+ gap: var(--text-field-content-gap);
7617
7638
  z-index: var(--z-local-below);
7618
7639
  }
7619
7640
  .textFieldPasswordToggleButton {
@@ -7754,17 +7775,12 @@
7754
7775
  font-size: var(--body-sm-size);
7755
7776
  font-weight: var(--body-sm-weight);
7756
7777
  line-height: var(--body-sm-line-height);
7757
- margin-inline-end: var(--space-2xs);
7758
7778
  padding: 0 var(--space-3xs);
7759
7779
  }
7760
- .small .textFieldInputWrapper {
7761
- padding-inline-end: var(--space-2xs);
7762
- }
7763
7780
  .small .textFieldTrailingDropdown {
7764
7781
  font-family: var(--body-sm-family);
7765
7782
  font-size: var(--body-sm-size);
7766
7783
  font-weight: var(--body-sm-weight);
7767
- gap: var(--space-3xs);
7768
7784
  line-height: var(--body-sm-line-height);
7769
7785
  }
7770
7786
  .small .textFieldChevronIcon svg {
@@ -8384,6 +8400,9 @@
8384
8400
  user-select: none;
8385
8401
  vertical-align: middle;
8386
8402
  }
8403
+ .chipRoot.rounded {
8404
+ border-radius: var(--radius-2xs);
8405
+ }
8387
8406
  .chipRoot::after {
8388
8407
  background-color: transparent;
8389
8408
  content: "";
@@ -8567,6 +8586,42 @@
8567
8586
  block-size: var(--dimensions-16);
8568
8587
  inline-size: var(--dimensions-16);
8569
8588
  }
8589
+ .small {
8590
+ block-size: var(--dimensions-32);
8591
+ font-size: var(--title-sm-size);
8592
+ font-weight: var(--title-sm-weight-emphasize);
8593
+ letter-spacing: var(--title-sm-letter-spacing);
8594
+ line-height: var(--title-sm-line-height);
8595
+ padding: 0 var(--dimensions-6);
8596
+ }
8597
+ .small.hasAvatar {
8598
+ padding: var(--dimensions-4);
8599
+ }
8600
+ .small .chipIcon,
8601
+ .small .chipIcon :global(svg) {
8602
+ block-size: var(--dimensions-16);
8603
+ inline-size: var(--dimensions-16);
8604
+ }
8605
+ .small .chipAvatar {
8606
+ block-size: var(--dimensions-24);
8607
+ flex-shrink: 0;
8608
+ inline-size: var(--dimensions-24);
8609
+ }
8610
+ .small .chipContent {
8611
+ padding: 0 var(--dimensions-4);
8612
+ }
8613
+ .small .chipTrailingIcon,
8614
+ .small .chipDelete,
8615
+ .small .chipAction,
8616
+ .small .chipTrailingIcon :global(svg),
8617
+ .small .chipDelete :global(svg),
8618
+ .small .chipAction :global(svg) {
8619
+ block-size: var(--dimensions-16);
8620
+ inline-size: var(--dimensions-16);
8621
+ }
8622
+ .outline .chipDelete {
8623
+ color: var(--foreground-neutral-primary);
8624
+ }
8570
8625
  .clickable {
8571
8626
  cursor: pointer;
8572
8627
  }
@@ -8843,3 +8898,216 @@
8843
8898
  background: var(--surface-neutral-elevator);
8844
8899
  }
8845
8900
  }
8901
+
8902
+ /* ../ultimate/src/components/star/Star.module.css */
8903
+ .starRoot {
8904
+ align-items: center;
8905
+ background: transparent;
8906
+ block-size: var(--dimensions-40);
8907
+ border: none;
8908
+ border-radius: 50%;
8909
+ color: var(--foreground-neutral-primary);
8910
+ cursor: pointer;
8911
+ display: inline-flex;
8912
+ flex-shrink: 0;
8913
+ inline-size: var(--dimensions-40);
8914
+ isolation: isolate;
8915
+ justify-content: center;
8916
+ outline: none;
8917
+ padding: 0;
8918
+ position: relative;
8919
+ -webkit-tap-highlight-color: transparent;
8920
+ transition: background-color var(--motion-duration-fast) var(--motion-ease-out);
8921
+ }
8922
+ .starRoot:focus-visible {
8923
+ outline: var(--border-md) solid var(--border-state-focus);
8924
+ outline-offset: var(--dimensions-2);
8925
+ }
8926
+ .starRoot:disabled {
8927
+ color: var(--foreground-state-disabled);
8928
+ cursor: not-allowed;
8929
+ }
8930
+ .starRoot::before {
8931
+ background-color: transparent;
8932
+ border-radius: 50%;
8933
+ content: "";
8934
+ inset: 0;
8935
+ opacity: var(--opacity-visible);
8936
+ pointer-events: none;
8937
+ position: absolute;
8938
+ transform: scale(1);
8939
+ transition:
8940
+ background-color var(--motion-duration-fast) ease-out,
8941
+ transform var(--motion-duration-fast) ease-out,
8942
+ opacity var(--motion-duration-fast) ease-out;
8943
+ }
8944
+ .starRoot:hover:not(:disabled)::before {
8945
+ background-color: var(--surface-neutral-on-surface);
8946
+ }
8947
+ .starRoot:active:not(:disabled)::before {
8948
+ background-color: var(--surface-state-press);
8949
+ }
8950
+ .starStatePressed::before {
8951
+ animation: star-pressed-expand var(--motion-duration-medium) var(--motion-ease-out) forwards;
8952
+ }
8953
+ @keyframes star-pressed-expand {
8954
+ 0% {
8955
+ opacity: 1;
8956
+ transform: scale(1);
8957
+ }
8958
+ 40% {
8959
+ opacity: 1;
8960
+ transform: scale(1.2);
8961
+ }
8962
+ 100% {
8963
+ opacity: 0;
8964
+ transform: scale(1);
8965
+ }
8966
+ }
8967
+ .starIconWrapper {
8968
+ align-items: center;
8969
+ block-size: var(--dimensions-24);
8970
+ display: flex;
8971
+ inline-size: var(--dimensions-24);
8972
+ justify-content: center;
8973
+ position: relative;
8974
+ transition: color 150ms ease-out;
8975
+ z-index: var(--z-local-content);
8976
+ }
8977
+ .starStateChecked.starVariantDefault {
8978
+ color: var(--surface-accent-yellow);
8979
+ }
8980
+ .starStateChecked.starVariantNeutral {
8981
+ color: var(--foreground-neutral-primary);
8982
+ }
8983
+ .starSizeSmall {
8984
+ block-size: var(--dimensions-32);
8985
+ inline-size: var(--dimensions-32);
8986
+ }
8987
+ .starSizeSmall .starIconWrapper {
8988
+ block-size: var(--dimensions-20);
8989
+ inline-size: var(--dimensions-20);
8990
+ }
8991
+ .starSizeMedium {
8992
+ block-size: var(--dimensions-40);
8993
+ inline-size: var(--dimensions-40);
8994
+ }
8995
+ .starSizeMedium .starIconWrapper {
8996
+ block-size: var(--dimensions-24);
8997
+ inline-size: var(--dimensions-24);
8998
+ }
8999
+
9000
+ /* ../ultimate/src/components/otp/OTP.module.css */
9001
+ .separator {
9002
+ align-self: center;
9003
+ color: var(--text-neutral-secondary);
9004
+ text-align: center;
9005
+ user-select: none;
9006
+ }
9007
+ .cellSlot {
9008
+ display: flex;
9009
+ min-inline-size: 0;
9010
+ position: relative;
9011
+ }
9012
+ .dot {
9013
+ background-color: var(--text-neutral-primary);
9014
+ block-size: var(--dimensions-8);
9015
+ border-radius: 50%;
9016
+ inline-size: var(--dimensions-8);
9017
+ inset: 0;
9018
+ margin: auto;
9019
+ pointer-events: none;
9020
+ position: absolute;
9021
+ }
9022
+ .cell {
9023
+ appearance: none;
9024
+ background: transparent;
9025
+ block-size: 100%;
9026
+ border: var(--border-sm) solid var(--border-neutral-tertiary);
9027
+ border-radius: var(--radius-2xs);
9028
+ box-sizing: border-box;
9029
+ caret-color: var(--text-neutral-primary);
9030
+ color: var(--text-neutral-primary);
9031
+ display: block;
9032
+ font: inherit;
9033
+ inline-size: 100%;
9034
+ letter-spacing: inherit;
9035
+ margin: 0;
9036
+ min-inline-size: 0;
9037
+ outline: none;
9038
+ padding: var(--space-5xs) var(--space-4xs);
9039
+ text-align: center;
9040
+ transition: background-color var(--motion-duration-normal) var(--motion-ease-standard), border-color var(--motion-duration-normal) var(--motion-ease-standard);
9041
+ }
9042
+ .masked {
9043
+ caret-color: transparent;
9044
+ color: transparent;
9045
+ }
9046
+ .masked::selection {
9047
+ background-color: transparent;
9048
+ color: transparent;
9049
+ }
9050
+ .large {
9051
+ block-size: var(--dimensions-44);
9052
+ }
9053
+ .medium {
9054
+ block-size: var(--dimensions-36);
9055
+ }
9056
+ .small {
9057
+ block-size: var(--dimensions-28);
9058
+ }
9059
+ .small .cell {
9060
+ padding-block: 0;
9061
+ }
9062
+ .cell:focus {
9063
+ border-color: var(--border-state-focus);
9064
+ box-shadow: inset 0 0 0 var(--border-sm) var(--border-state-focus);
9065
+ }
9066
+ .cell[aria-invalid=true] {
9067
+ background-color: var(--surface-state-error);
9068
+ border-color: var(--border-state-error);
9069
+ }
9070
+ .cell[aria-invalid=true]:focus {
9071
+ box-shadow: inset 0 0 0 var(--border-sm) var(--border-state-error);
9072
+ }
9073
+ .cell:disabled {
9074
+ background-color: var(--surface-state-disabled);
9075
+ cursor: not-allowed;
9076
+ opacity: var(--opacity-disabled);
9077
+ }
9078
+ .cell:disabled + .dot {
9079
+ opacity: var(--opacity-disabled);
9080
+ }
9081
+ .cell:read-only:not(:disabled, [aria-invalid=true]) {
9082
+ background-color: var(--surface-neutral-secondary);
9083
+ cursor: text;
9084
+ }
9085
+ .cell:hover:not(:focus, :disabled, :read-only, [aria-invalid=true]) {
9086
+ background-color: var(--surface-state-hover);
9087
+ border-color: var(--border-state-hover);
9088
+ }
9089
+ .dotField.large,
9090
+ .dotField.medium,
9091
+ .dotField.small {
9092
+ block-size: var(--dimensions-16);
9093
+ }
9094
+ .cell.dotFieldInput {
9095
+ border-radius: 50%;
9096
+ padding: 0;
9097
+ }
9098
+ .cell.dotFieldInput[data-filled=true] {
9099
+ background-color: var(--text-neutral-primary);
9100
+ border-color: var(--text-neutral-primary);
9101
+ }
9102
+ .cell.dotFieldInput[aria-invalid=true][data-filled=true] {
9103
+ background-color: var(--border-state-error);
9104
+ border-color: var(--border-state-error);
9105
+ }
9106
+ .cell.dotFieldInput:focus {
9107
+ outline: none;
9108
+ }
9109
+ @media (prefers-reduced-motion: reduce) {
9110
+ .cell {
9111
+ transition: none;
9112
+ }
9113
+ }