@nexus-cross/design-system 1.0.4 → 1.0.5

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/styles.css CHANGED
@@ -772,90 +772,168 @@
772
772
  ═══════════════════════════════════════════ */
773
773
 
774
774
  .nexus-number-input {
775
+ display: flex;
776
+ flex-direction: column;
777
+ align-items: stretch;
778
+ }
779
+ :where(.nexus-number-input) {
780
+ width: 100%;
781
+ }
782
+
783
+ /* ── Header (label + max) ── */
784
+ .nexus-number-input__header {
775
785
  display: flex;
776
786
  align-items: center;
777
- border-radius: var(--radius-corner-md, 0.375rem);
787
+ justify-content: space-between;
788
+ margin-bottom: 4px;
789
+ }
790
+ .nexus-number-input__label {
791
+ font-size: var(--text-label-semibold-md, 0.875rem);
792
+ font-weight: var(--font-weight-label-semibold-md, 600);
793
+ line-height: 1;
794
+ color: var(--color-text-tertiary);
795
+ }
796
+ .nexus-number-input__max {
797
+ display: flex;
798
+ align-items: center;
799
+ gap: 4px;
800
+ margin: 0;
801
+ margin-left: auto;
802
+ padding: 0;
803
+ border: none;
804
+ background: none;
805
+ font-size: var(--text-text-xs, 0.75rem);
806
+ font-weight: 400;
807
+ line-height: 1.5;
808
+ letter-spacing: -0.01em;
809
+ cursor: pointer;
810
+ }
811
+ .nexus-number-input__max:disabled {
812
+ cursor: default;
813
+ }
814
+ .nexus-number-input__max-text {
815
+ color: var(--color-text-tertiary);
816
+ }
817
+ .nexus-number-input__max-value {
818
+ color: var(--color-text-secondary);
819
+ text-decoration: underline;
820
+ }
821
+ .nexus-number-input__max-value--exceeded {
822
+ color: var(--color-status-danger-intense);
823
+ }
824
+
825
+ /* ── Container (the bordered input box) ── */
826
+ .nexus-number-input__container {
827
+ display: flex;
828
+ align-items: center;
829
+ border-radius: var(--radius-corner-md, 0.5rem);
778
830
  border: 1px solid var(--color-border-default);
779
831
  background: var(--color-surface-default);
780
- color: var(--color-text-primary);
832
+ outline: 0.5px solid transparent;
781
833
  transition:
782
- border-color 200ms,
783
- box-shadow 200ms;
834
+ border-color var(--duration-transition-fast, 150ms),
835
+ outline-color var(--duration-transition-fast, 150ms);
784
836
  }
785
- :where(.nexus-number-input) {
786
- width: 100%;
837
+ .nexus-number-input--basic .nexus-number-input__container {
838
+ overflow: clip;
787
839
  }
788
- .nexus-number-input:hover:not(.nexus-number-input--disabled):not(
789
- :focus-within
790
- ) {
791
- box-shadow: 0 0 0 0.5px var(--color-border-default);
840
+ .nexus-number-input:not(.nexus-number-input--disabled):not(
841
+ .nexus-number-input--error
842
+ )
843
+ .nexus-number-input__container:hover {
844
+ border-color: var(--color-border-default-hover);
845
+ outline-color: var(--color-border-default-hover);
792
846
  }
793
- .nexus-number-input--default:focus-within {
794
- border-color: var(--color-accent-primary);
795
- box-shadow: 0 0 0 0.5px var(--color-accent-primary);
847
+ .nexus-number-input:not(.nexus-number-input--disabled):not(
848
+ .nexus-number-input--error
849
+ )
850
+ .nexus-number-input__container:focus-within {
851
+ border-color: var(--color-accent-primary-focus);
852
+ outline-color: var(--color-accent-primary-focus);
796
853
  }
797
- .nexus-number-input--error {
798
- border-color: var(--color-status-danger);
854
+ .nexus-number-input--error .nexus-number-input__container {
855
+ border-color: var(--color-status-danger-focus);
856
+ outline-color: var(--color-status-danger-focus);
799
857
  }
800
- .nexus-number-input--error:focus-within {
801
- border-color: var(--color-status-danger);
802
- box-shadow: 0 0 0 0.5px var(--color-status-danger);
858
+ .nexus-number-input--disabled .nexus-number-input__container {
859
+ background: var(--color-surface-strong);
860
+ border-color: var(--color-border-medium);
861
+ pointer-events: none;
803
862
  }
804
- .nexus-number-input--xl {
805
- height: 3.5rem;
806
- font-size: var(--text-text-base, 1rem);
863
+ .nexus-number-input--disabled .nexus-number-input__label {
864
+ color: var(--color-text-muted);
807
865
  }
808
- .nexus-number-input--lg {
809
- height: 3rem;
810
- font-size: var(--text-text-base, 1rem);
866
+ .nexus-number-input--disabled .nexus-number-input__max {
867
+ cursor: default;
811
868
  }
812
- .nexus-number-input--md {
813
- height: 2.5rem;
814
- font-size: var(--text-text-sm, 0.875rem);
869
+ .nexus-number-input--disabled .nexus-number-input__max-text,
870
+ .nexus-number-input--disabled .nexus-number-input__max-value {
871
+ color: var(--color-text-muted);
872
+ text-decoration: none;
815
873
  }
816
- .nexus-number-input--sm {
817
- height: 2rem;
818
- font-size: var(--text-text-xs, 0.75rem);
874
+ .nexus-number-input--disabled .nexus-number-input__step {
875
+ color: var(--color-text-muted);
819
876
  }
820
- .nexus-number-input--disabled {
821
- opacity: 0.5;
822
- cursor: not-allowed;
877
+ .nexus-number-input--disabled .nexus-number-input__bind-btn {
878
+ background: var(--color-surface-strong);
879
+ color: var(--color-text-muted);
823
880
  }
881
+ .nexus-number-input--disabled .nexus-number-input__description {
882
+ color: var(--color-text-muted);
883
+ }
884
+
885
+ /* ── Input field ── */
824
886
  .nexus-number-input__field {
825
- height: 100%;
826
- width: 100%;
827
- min-width: 0;
828
887
  flex: 1;
829
- padding: 0;
888
+ min-width: 0;
830
889
  border: none;
831
890
  background: transparent;
832
891
  outline: none;
833
- font: inherit;
834
- color: inherit;
892
+ font-size: var(--text-label-lg, 1rem);
893
+ font-weight: var(--font-weight-label-lg, 500);
894
+ line-height: 1;
895
+ color: var(--color-text-primary);
835
896
  }
836
897
  .nexus-number-input__field::placeholder {
837
- color: var(--color-text-tertiary);
898
+ color: var(--color-text-muted);
838
899
  }
839
900
  .nexus-number-input__field:focus-visible {
840
901
  outline: none;
841
902
  }
842
- .nexus-number-input__field--xl {
843
- padding-inline: var(--spacing-padding-lg, 1.25rem);
903
+ .nexus-number-input--disabled .nexus-number-input__field {
904
+ color: var(--color-text-muted);
905
+ cursor: not-allowed;
844
906
  }
845
- .nexus-number-input__field--lg {
846
- padding-inline: var(--spacing-padding-md, 1rem);
907
+
908
+ /* ── Size: field padding (basic) ── */
909
+ .nexus-number-input--basic.nexus-number-input--lg .nexus-number-input__field {
910
+ padding: var(--spacing-padding-sm, 0.75rem);
847
911
  }
848
- .nexus-number-input__field--md {
849
- padding-inline: var(--spacing-padding-sm, 0.75rem);
912
+ .nexus-number-input--basic.nexus-number-input--xl .nexus-number-input__field {
913
+ padding: var(--spacing-padding-md, 1rem);
850
914
  }
851
- .nexus-number-input__field--sm {
852
- padding-inline: 0.625rem;
915
+
916
+ /* ── Size: field padding (bind) ── */
917
+ .nexus-number-input--bind .nexus-number-input__container {
918
+ padding-inline: var(--spacing-padding-xs, 0.5rem);
919
+ }
920
+ .nexus-number-input--bind .nexus-number-input__field {
921
+ text-align: center;
922
+ }
923
+ .nexus-number-input--bind.nexus-number-input--lg .nexus-number-input__field {
924
+ padding: var(--spacing-padding-sm, 0.75rem);
853
925
  }
926
+ .nexus-number-input--bind.nexus-number-input--xl .nexus-number-input__field {
927
+ padding: var(--spacing-padding-md, 1rem) var(--spacing-padding-sm, 0.75rem);
928
+ }
929
+
930
+ /* ── Basic variant: chevron buttons column ── */
854
931
  .nexus-number-input__buttons {
855
932
  display: flex;
856
933
  flex-direction: column;
934
+ align-self: stretch;
857
935
  border-left: 1px solid var(--color-border-default);
858
- height: 100%;
936
+ width: 24px;
859
937
  flex-shrink: 0;
860
938
  }
861
939
  .nexus-number-input__step {
@@ -864,34 +942,83 @@
864
942
  align-items: center;
865
943
  justify-content: center;
866
944
  padding: 0;
867
- padding-inline: 0.375rem;
868
945
  margin: 0;
869
946
  border: none;
870
- background: transparent;
947
+ background: var(--color-surface-subtle);
871
948
  cursor: pointer;
872
- font: inherit;
873
- color: var(--color-text-tertiary);
874
- transition-property: color, background-color;
875
- transition-duration: 150ms;
949
+ color: var(--color-icon-secondary);
950
+ transition:
951
+ color var(--duration-transition-fast, 150ms),
952
+ background-color var(--duration-transition-fast, 150ms);
876
953
  }
877
954
  .nexus-number-input__step:hover {
878
- color: var(--color-text-primary);
879
- background: var(--color-surface-hover);
955
+ background: var(--color-surface-subtle-hover);
956
+ color: var(--color-icon-primary);
880
957
  }
881
958
  .nexus-number-input__step:disabled {
882
- opacity: 0.4;
959
+ color: var(--color-text-muted);
883
960
  pointer-events: none;
884
961
  }
885
962
  .nexus-number-input__step--up {
886
- border-top-right-radius: var(--radius-corner-md, 0.375rem);
887
963
  border-bottom: 1px solid var(--color-border-default);
888
964
  }
889
- .nexus-number-input__step--down {
890
- border-bottom-right-radius: var(--radius-corner-md, 0.375rem);
965
+ .nexus-number-input__chevron-icon {
966
+ width: 8px;
967
+ height: 5px;
891
968
  }
892
- .nexus-number-input__step-icon {
893
- width: 0.75rem;
894
- height: 0.75rem;
969
+ .nexus-number-input__chevron-icon--down {
970
+ transform: scaleY(-1);
971
+ }
972
+
973
+ /* ── Bind variant: +/- buttons ── */
974
+ .nexus-number-input__bind-btn {
975
+ display: flex;
976
+ align-items: center;
977
+ justify-content: center;
978
+ flex-shrink: 0;
979
+ width: 24px;
980
+ height: 24px;
981
+ padding: 0;
982
+ margin: 0;
983
+ border: none;
984
+ border-radius: var(--radius-corner-sm, 0.25rem);
985
+ background: var(--color-surface-subtle);
986
+ color: var(--color-icon-secondary);
987
+ cursor: pointer;
988
+ overflow: clip;
989
+ transition:
990
+ color var(--duration-transition-fast, 150ms),
991
+ background-color var(--duration-transition-fast, 150ms);
992
+ }
993
+ .nexus-number-input__bind-btn:hover {
994
+ background: var(--color-surface-subtle-hover);
995
+ color: var(--color-icon-primary);
996
+ }
997
+ .nexus-number-input__bind-btn:disabled {
998
+ color: var(--color-text-muted);
999
+ pointer-events: none;
1000
+ }
1001
+ .nexus-number-input--xl .nexus-number-input__bind-btn {
1002
+ width: 30px;
1003
+ height: 30px;
1004
+ }
1005
+ .nexus-number-input__bind-icon {
1006
+ width: 16px;
1007
+ height: 16px;
1008
+ }
1009
+
1010
+ /* ── Description ── */
1011
+ .nexus-number-input__description {
1012
+ margin: 0;
1013
+ font-size: var(--text-text-xs, 0.75rem);
1014
+ font-weight: 400;
1015
+ line-height: 1.5;
1016
+ letter-spacing: -0.01em;
1017
+ color: var(--color-text-tertiary);
1018
+ height: 18px;
1019
+ }
1020
+ .nexus-number-input__description--error {
1021
+ color: var(--color-status-danger-intense);
895
1022
  }
896
1023
 
897
1024
  /* ═══════════════════════════════════════════
package/dist/styles.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkKZ7S5VN2_js = require('./chunks/chunk-KZ7S5VN2.js');
3
+ var chunkQRNHFOLG_js = require('./chunks/chunk-QRNHFOLG.js');
4
4
  require('./chunks/chunk-JNMCYWGY.js');
5
5
 
6
6
  // src/styles/inject.ts
@@ -8,7 +8,7 @@ var STYLE_ID = "__nexus-ds__";
8
8
  var __nexus_styles_injected__ = typeof document !== "undefined" && !document.getElementById(STYLE_ID) ? (() => {
9
9
  const style = document.createElement("style");
10
10
  style.id = STYLE_ID;
11
- style.textContent = chunkKZ7S5VN2_js.built_default;
11
+ style.textContent = chunkQRNHFOLG_js.built_default;
12
12
  document.head.appendChild(style);
13
13
  return true;
14
14
  })() : false;
@@ -773,90 +773,168 @@
773
773
  ═══════════════════════════════════════════ */
774
774
 
775
775
  .nexus-number-input {
776
+ display: flex;
777
+ flex-direction: column;
778
+ align-items: stretch;
779
+ }
780
+ :where(.nexus-number-input) {
781
+ width: 100%;
782
+ }
783
+
784
+ /* ── Header (label + max) ── */
785
+ .nexus-number-input__header {
776
786
  display: flex;
777
787
  align-items: center;
778
- border-radius: var(--radius-corner-md, 0.375rem);
788
+ justify-content: space-between;
789
+ margin-bottom: 4px;
790
+ }
791
+ .nexus-number-input__label {
792
+ font-size: var(--text-label-semibold-md, 0.875rem);
793
+ font-weight: var(--font-weight-label-semibold-md, 600);
794
+ line-height: 1;
795
+ color: var(--color-text-tertiary);
796
+ }
797
+ .nexus-number-input__max {
798
+ display: flex;
799
+ align-items: center;
800
+ gap: 4px;
801
+ margin: 0;
802
+ margin-left: auto;
803
+ padding: 0;
804
+ border: none;
805
+ background: none;
806
+ font-size: var(--text-text-xs, 0.75rem);
807
+ font-weight: 400;
808
+ line-height: 1.5;
809
+ letter-spacing: -0.01em;
810
+ cursor: pointer;
811
+ }
812
+ .nexus-number-input__max:disabled {
813
+ cursor: default;
814
+ }
815
+ .nexus-number-input__max-text {
816
+ color: var(--color-text-tertiary);
817
+ }
818
+ .nexus-number-input__max-value {
819
+ color: var(--color-text-secondary);
820
+ text-decoration: underline;
821
+ }
822
+ .nexus-number-input__max-value--exceeded {
823
+ color: var(--color-status-danger-intense);
824
+ }
825
+
826
+ /* ── Container (the bordered input box) ── */
827
+ .nexus-number-input__container {
828
+ display: flex;
829
+ align-items: center;
830
+ border-radius: var(--radius-corner-md, 0.5rem);
779
831
  border: 1px solid var(--color-border-default);
780
832
  background: var(--color-surface-default);
781
- color: var(--color-text-primary);
833
+ outline: 0.5px solid transparent;
782
834
  transition:
783
- border-color 200ms,
784
- box-shadow 200ms;
835
+ border-color var(--duration-transition-fast, 150ms),
836
+ outline-color var(--duration-transition-fast, 150ms);
785
837
  }
786
- :where(.nexus-number-input) {
787
- width: 100%;
838
+ .nexus-number-input--basic .nexus-number-input__container {
839
+ overflow: clip;
788
840
  }
789
- .nexus-number-input:hover:not(.nexus-number-input--disabled):not(
790
- :focus-within
791
- ) {
792
- box-shadow: 0 0 0 0.5px var(--color-border-default);
841
+ .nexus-number-input:not(.nexus-number-input--disabled):not(
842
+ .nexus-number-input--error
843
+ )
844
+ .nexus-number-input__container:hover {
845
+ border-color: var(--color-border-default-hover);
846
+ outline-color: var(--color-border-default-hover);
793
847
  }
794
- .nexus-number-input--default:focus-within {
795
- border-color: var(--color-accent-primary);
796
- box-shadow: 0 0 0 0.5px var(--color-accent-primary);
848
+ .nexus-number-input:not(.nexus-number-input--disabled):not(
849
+ .nexus-number-input--error
850
+ )
851
+ .nexus-number-input__container:focus-within {
852
+ border-color: var(--color-accent-primary-focus);
853
+ outline-color: var(--color-accent-primary-focus);
797
854
  }
798
- .nexus-number-input--error {
799
- border-color: var(--color-status-danger);
855
+ .nexus-number-input--error .nexus-number-input__container {
856
+ border-color: var(--color-status-danger-focus);
857
+ outline-color: var(--color-status-danger-focus);
800
858
  }
801
- .nexus-number-input--error:focus-within {
802
- border-color: var(--color-status-danger);
803
- box-shadow: 0 0 0 0.5px var(--color-status-danger);
859
+ .nexus-number-input--disabled .nexus-number-input__container {
860
+ background: var(--color-surface-strong);
861
+ border-color: var(--color-border-medium);
862
+ pointer-events: none;
804
863
  }
805
- .nexus-number-input--xl {
806
- height: 3.5rem;
807
- font-size: var(--text-text-base, 1rem);
864
+ .nexus-number-input--disabled .nexus-number-input__label {
865
+ color: var(--color-text-muted);
808
866
  }
809
- .nexus-number-input--lg {
810
- height: 3rem;
811
- font-size: var(--text-text-base, 1rem);
867
+ .nexus-number-input--disabled .nexus-number-input__max {
868
+ cursor: default;
812
869
  }
813
- .nexus-number-input--md {
814
- height: 2.5rem;
815
- font-size: var(--text-text-sm, 0.875rem);
870
+ .nexus-number-input--disabled .nexus-number-input__max-text,
871
+ .nexus-number-input--disabled .nexus-number-input__max-value {
872
+ color: var(--color-text-muted);
873
+ text-decoration: none;
816
874
  }
817
- .nexus-number-input--sm {
818
- height: 2rem;
819
- font-size: var(--text-text-xs, 0.75rem);
875
+ .nexus-number-input--disabled .nexus-number-input__step {
876
+ color: var(--color-text-muted);
820
877
  }
821
- .nexus-number-input--disabled {
822
- opacity: 0.5;
823
- cursor: not-allowed;
878
+ .nexus-number-input--disabled .nexus-number-input__bind-btn {
879
+ background: var(--color-surface-strong);
880
+ color: var(--color-text-muted);
824
881
  }
882
+ .nexus-number-input--disabled .nexus-number-input__description {
883
+ color: var(--color-text-muted);
884
+ }
885
+
886
+ /* ── Input field ── */
825
887
  .nexus-number-input__field {
826
- height: 100%;
827
- width: 100%;
828
- min-width: 0;
829
888
  flex: 1;
830
- padding: 0;
889
+ min-width: 0;
831
890
  border: none;
832
891
  background: transparent;
833
892
  outline: none;
834
- font: inherit;
835
- color: inherit;
893
+ font-size: var(--text-label-lg, 1rem);
894
+ font-weight: var(--font-weight-label-lg, 500);
895
+ line-height: 1;
896
+ color: var(--color-text-primary);
836
897
  }
837
898
  .nexus-number-input__field::placeholder {
838
- color: var(--color-text-tertiary);
899
+ color: var(--color-text-muted);
839
900
  }
840
901
  .nexus-number-input__field:focus-visible {
841
902
  outline: none;
842
903
  }
843
- .nexus-number-input__field--xl {
844
- padding-inline: var(--spacing-padding-lg, 1.25rem);
904
+ .nexus-number-input--disabled .nexus-number-input__field {
905
+ color: var(--color-text-muted);
906
+ cursor: not-allowed;
845
907
  }
846
- .nexus-number-input__field--lg {
847
- padding-inline: var(--spacing-padding-md, 1rem);
908
+
909
+ /* ── Size: field padding (basic) ── */
910
+ .nexus-number-input--basic.nexus-number-input--lg .nexus-number-input__field {
911
+ padding: var(--spacing-padding-sm, 0.75rem);
848
912
  }
849
- .nexus-number-input__field--md {
850
- padding-inline: var(--spacing-padding-sm, 0.75rem);
913
+ .nexus-number-input--basic.nexus-number-input--xl .nexus-number-input__field {
914
+ padding: var(--spacing-padding-md, 1rem);
851
915
  }
852
- .nexus-number-input__field--sm {
853
- padding-inline: 0.625rem;
916
+
917
+ /* ── Size: field padding (bind) ── */
918
+ .nexus-number-input--bind .nexus-number-input__container {
919
+ padding-inline: var(--spacing-padding-xs, 0.5rem);
920
+ }
921
+ .nexus-number-input--bind .nexus-number-input__field {
922
+ text-align: center;
923
+ }
924
+ .nexus-number-input--bind.nexus-number-input--lg .nexus-number-input__field {
925
+ padding: var(--spacing-padding-sm, 0.75rem);
854
926
  }
927
+ .nexus-number-input--bind.nexus-number-input--xl .nexus-number-input__field {
928
+ padding: var(--spacing-padding-md, 1rem) var(--spacing-padding-sm, 0.75rem);
929
+ }
930
+
931
+ /* ── Basic variant: chevron buttons column ── */
855
932
  .nexus-number-input__buttons {
856
933
  display: flex;
857
934
  flex-direction: column;
935
+ align-self: stretch;
858
936
  border-left: 1px solid var(--color-border-default);
859
- height: 100%;
937
+ width: 24px;
860
938
  flex-shrink: 0;
861
939
  }
862
940
  .nexus-number-input__step {
@@ -865,34 +943,83 @@
865
943
  align-items: center;
866
944
  justify-content: center;
867
945
  padding: 0;
868
- padding-inline: 0.375rem;
869
946
  margin: 0;
870
947
  border: none;
871
- background: transparent;
948
+ background: var(--color-surface-subtle);
872
949
  cursor: pointer;
873
- font: inherit;
874
- color: var(--color-text-tertiary);
875
- transition-property: color, background-color;
876
- transition-duration: 150ms;
950
+ color: var(--color-icon-secondary);
951
+ transition:
952
+ color var(--duration-transition-fast, 150ms),
953
+ background-color var(--duration-transition-fast, 150ms);
877
954
  }
878
955
  .nexus-number-input__step:hover {
879
- color: var(--color-text-primary);
880
- background: var(--color-surface-hover);
956
+ background: var(--color-surface-subtle-hover);
957
+ color: var(--color-icon-primary);
881
958
  }
882
959
  .nexus-number-input__step:disabled {
883
- opacity: 0.4;
960
+ color: var(--color-text-muted);
884
961
  pointer-events: none;
885
962
  }
886
963
  .nexus-number-input__step--up {
887
- border-top-right-radius: var(--radius-corner-md, 0.375rem);
888
964
  border-bottom: 1px solid var(--color-border-default);
889
965
  }
890
- .nexus-number-input__step--down {
891
- border-bottom-right-radius: var(--radius-corner-md, 0.375rem);
966
+ .nexus-number-input__chevron-icon {
967
+ width: 8px;
968
+ height: 5px;
892
969
  }
893
- .nexus-number-input__step-icon {
894
- width: 0.75rem;
895
- height: 0.75rem;
970
+ .nexus-number-input__chevron-icon--down {
971
+ transform: scaleY(-1);
972
+ }
973
+
974
+ /* ── Bind variant: +/- buttons ── */
975
+ .nexus-number-input__bind-btn {
976
+ display: flex;
977
+ align-items: center;
978
+ justify-content: center;
979
+ flex-shrink: 0;
980
+ width: 24px;
981
+ height: 24px;
982
+ padding: 0;
983
+ margin: 0;
984
+ border: none;
985
+ border-radius: var(--radius-corner-sm, 0.25rem);
986
+ background: var(--color-surface-subtle);
987
+ color: var(--color-icon-secondary);
988
+ cursor: pointer;
989
+ overflow: clip;
990
+ transition:
991
+ color var(--duration-transition-fast, 150ms),
992
+ background-color var(--duration-transition-fast, 150ms);
993
+ }
994
+ .nexus-number-input__bind-btn:hover {
995
+ background: var(--color-surface-subtle-hover);
996
+ color: var(--color-icon-primary);
997
+ }
998
+ .nexus-number-input__bind-btn:disabled {
999
+ color: var(--color-text-muted);
1000
+ pointer-events: none;
1001
+ }
1002
+ .nexus-number-input--xl .nexus-number-input__bind-btn {
1003
+ width: 30px;
1004
+ height: 30px;
1005
+ }
1006
+ .nexus-number-input__bind-icon {
1007
+ width: 16px;
1008
+ height: 16px;
1009
+ }
1010
+
1011
+ /* ── Description ── */
1012
+ .nexus-number-input__description {
1013
+ margin: 0;
1014
+ font-size: var(--text-text-xs, 0.75rem);
1015
+ font-weight: 400;
1016
+ line-height: 1.5;
1017
+ letter-spacing: -0.01em;
1018
+ color: var(--color-text-tertiary);
1019
+ height: 18px;
1020
+ }
1021
+ .nexus-number-input__description--error {
1022
+ color: var(--color-status-danger-intense);
896
1023
  }
897
1024
 
898
1025
  /* ═══════════════════════════════════════════
package/dist/styles.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { built_default } from './chunks/chunk-PI464222.mjs';
1
+ import { built_default } from './chunks/chunk-PXBZEAZQ.mjs';
2
2
  import './chunks/chunk-CVYXRSXT.mjs';
3
3
 
4
4
  // src/styles/inject.ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cross/design-system",
3
- "version": "1.0.4",
3
+ "version": "1.0.5",
4
4
  "description": "NEXUS Design System UI Components",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -292,7 +292,8 @@
292
292
  "files": [
293
293
  "dist",
294
294
  "cursor-rules",
295
- "scripts/setup-cursor-rules.cjs"
295
+ "scripts/setup-cursor-rules.cjs",
296
+ "DESIGN.md"
296
297
  ],
297
298
  "bin": {
298
299
  "nexus-ds-setup": "./scripts/setup-cursor-rules.cjs"
@@ -347,7 +348,7 @@
347
348
  "typescript": "^5.0.0",
348
349
  "vitest": "^1.6.1",
349
350
  "zod-to-json-schema": "^3.25.2",
350
- "@nexus-cross/tokens": "1.0.4"
351
+ "@nexus-cross/tokens": "1.0.5"
351
352
  },
352
353
  "scripts": {
353
354
  "postinstall": "node scripts/setup-cursor-rules.cjs",