@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/DESIGN.md +185 -0
- package/cursor-rules/nexus-ui-api.mdc +10 -6
- package/dist/chunks/{chunk-AFSEYJZT.js → chunk-2T7RUYEK.js} +175 -50
- package/dist/chunks/chunk-BJM3NDT2.mjs +368 -0
- package/dist/chunks/chunk-PXBZEAZQ.mjs +5 -0
- package/dist/chunks/chunk-QRNHFOLG.js +7 -0
- package/dist/index.js +4 -4
- package/dist/index.mjs +1 -1
- package/dist/number-input.d.mts +5 -6
- package/dist/number-input.d.ts +5 -6
- package/dist/number-input.js +4 -4
- package/dist/number-input.mjs +1 -1
- package/dist/schemas/_all.json +27 -8
- package/dist/schemas/numberInput.json +27 -8
- package/dist/schemas.d.mts +15 -3
- package/dist/schemas.d.ts +15 -3
- package/dist/schemas.js +12 -6
- package/dist/schemas.mjs +12 -6
- package/dist/styles/layer.js +2 -2
- package/dist/styles/layer.mjs +1 -1
- package/dist/styles.css +191 -64
- package/dist/styles.js +2 -2
- package/dist/styles.layered.css +191 -64
- package/dist/styles.mjs +1 -1
- package/package.json +4 -3
- package/scripts/setup-cursor-rules.cjs +15 -1
- package/dist/chunks/chunk-ECVAVQUY.mjs +0 -243
- package/dist/chunks/chunk-KZ7S5VN2.js +0 -7
- package/dist/chunks/chunk-PI464222.mjs +0 -5
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
|
-
|
|
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
|
-
|
|
832
|
+
outline: 0.5px solid transparent;
|
|
781
833
|
transition:
|
|
782
|
-
border-color
|
|
783
|
-
|
|
834
|
+
border-color var(--duration-transition-fast, 150ms),
|
|
835
|
+
outline-color var(--duration-transition-fast, 150ms);
|
|
784
836
|
}
|
|
785
|
-
|
|
786
|
-
|
|
837
|
+
.nexus-number-input--basic .nexus-number-input__container {
|
|
838
|
+
overflow: clip;
|
|
787
839
|
}
|
|
788
|
-
.nexus-number-input:
|
|
789
|
-
|
|
790
|
-
)
|
|
791
|
-
|
|
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--
|
|
794
|
-
|
|
795
|
-
|
|
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--
|
|
801
|
-
|
|
802
|
-
|
|
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--
|
|
805
|
-
|
|
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--
|
|
809
|
-
|
|
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--
|
|
813
|
-
|
|
814
|
-
|
|
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--
|
|
817
|
-
|
|
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
|
-
|
|
822
|
-
|
|
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
|
-
|
|
888
|
+
min-width: 0;
|
|
830
889
|
border: none;
|
|
831
890
|
background: transparent;
|
|
832
891
|
outline: none;
|
|
833
|
-
font:
|
|
834
|
-
|
|
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-
|
|
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-
|
|
843
|
-
|
|
903
|
+
.nexus-number-input--disabled .nexus-number-input__field {
|
|
904
|
+
color: var(--color-text-muted);
|
|
905
|
+
cursor: not-allowed;
|
|
844
906
|
}
|
|
845
|
-
|
|
846
|
-
|
|
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-
|
|
849
|
-
padding
|
|
912
|
+
.nexus-number-input--basic.nexus-number-input--xl .nexus-number-input__field {
|
|
913
|
+
padding: var(--spacing-padding-md, 1rem);
|
|
850
914
|
}
|
|
851
|
-
|
|
852
|
-
|
|
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
|
-
|
|
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:
|
|
947
|
+
background: var(--color-surface-subtle);
|
|
871
948
|
cursor: pointer;
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
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
|
-
|
|
879
|
-
|
|
955
|
+
background: var(--color-surface-subtle-hover);
|
|
956
|
+
color: var(--color-icon-primary);
|
|
880
957
|
}
|
|
881
958
|
.nexus-number-input__step:disabled {
|
|
882
|
-
|
|
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-
|
|
890
|
-
|
|
965
|
+
.nexus-number-input__chevron-icon {
|
|
966
|
+
width: 8px;
|
|
967
|
+
height: 5px;
|
|
891
968
|
}
|
|
892
|
-
.nexus-number-
|
|
893
|
-
|
|
894
|
-
|
|
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
|
|
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 =
|
|
11
|
+
style.textContent = chunkQRNHFOLG_js.built_default;
|
|
12
12
|
document.head.appendChild(style);
|
|
13
13
|
return true;
|
|
14
14
|
})() : false;
|
package/dist/styles.layered.css
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
833
|
+
outline: 0.5px solid transparent;
|
|
782
834
|
transition:
|
|
783
|
-
border-color
|
|
784
|
-
|
|
835
|
+
border-color var(--duration-transition-fast, 150ms),
|
|
836
|
+
outline-color var(--duration-transition-fast, 150ms);
|
|
785
837
|
}
|
|
786
|
-
|
|
787
|
-
|
|
838
|
+
.nexus-number-input--basic .nexus-number-input__container {
|
|
839
|
+
overflow: clip;
|
|
788
840
|
}
|
|
789
|
-
.nexus-number-input:
|
|
790
|
-
|
|
791
|
-
)
|
|
792
|
-
|
|
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--
|
|
795
|
-
|
|
796
|
-
|
|
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--
|
|
802
|
-
|
|
803
|
-
|
|
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--
|
|
806
|
-
|
|
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--
|
|
810
|
-
|
|
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--
|
|
814
|
-
|
|
815
|
-
|
|
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--
|
|
818
|
-
|
|
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
|
-
|
|
823
|
-
|
|
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
|
-
|
|
889
|
+
min-width: 0;
|
|
831
890
|
border: none;
|
|
832
891
|
background: transparent;
|
|
833
892
|
outline: none;
|
|
834
|
-
font:
|
|
835
|
-
|
|
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-
|
|
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-
|
|
844
|
-
|
|
904
|
+
.nexus-number-input--disabled .nexus-number-input__field {
|
|
905
|
+
color: var(--color-text-muted);
|
|
906
|
+
cursor: not-allowed;
|
|
845
907
|
}
|
|
846
|
-
|
|
847
|
-
|
|
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-
|
|
850
|
-
padding
|
|
913
|
+
.nexus-number-input--basic.nexus-number-input--xl .nexus-number-input__field {
|
|
914
|
+
padding: var(--spacing-padding-md, 1rem);
|
|
851
915
|
}
|
|
852
|
-
|
|
853
|
-
|
|
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
|
-
|
|
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:
|
|
948
|
+
background: var(--color-surface-subtle);
|
|
872
949
|
cursor: pointer;
|
|
873
|
-
|
|
874
|
-
|
|
875
|
-
|
|
876
|
-
|
|
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
|
-
|
|
880
|
-
|
|
956
|
+
background: var(--color-surface-subtle-hover);
|
|
957
|
+
color: var(--color-icon-primary);
|
|
881
958
|
}
|
|
882
959
|
.nexus-number-input__step:disabled {
|
|
883
|
-
|
|
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-
|
|
891
|
-
|
|
966
|
+
.nexus-number-input__chevron-icon {
|
|
967
|
+
width: 8px;
|
|
968
|
+
height: 5px;
|
|
892
969
|
}
|
|
893
|
-
.nexus-number-
|
|
894
|
-
|
|
895
|
-
|
|
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
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nexus-cross/design-system",
|
|
3
|
-
"version": "1.0.
|
|
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.
|
|
351
|
+
"@nexus-cross/tokens": "1.0.5"
|
|
351
352
|
},
|
|
352
353
|
"scripts": {
|
|
353
354
|
"postinstall": "node scripts/setup-cursor-rules.cjs",
|