@nexus-cross/design-system 2.0.0 → 2.0.2
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/README.md +375 -0
- package/cursor-rules/nexus-ui-api.mdc +366 -7
- package/dist/chunks/{chunk-2T7RUYEK.js → chunk-2BINGHGR.js} +11 -3
- package/dist/chunks/chunk-3NSJMG3G.mjs +5 -0
- package/dist/chunks/{chunk-QOREDNWO.mjs → chunk-53BHDUID.mjs} +2 -1
- package/dist/chunks/{chunk-QZ4QR3XV.mjs → chunk-ATZE57ZO.mjs} +11 -3
- package/dist/chunks/{chunk-OX5MEJ7B.js → chunk-HU6E2R2T.js} +2 -1
- package/dist/chunks/chunk-JICW6KWH.js +7 -0
- package/dist/chunks/{chunk-5J63FUAS.mjs → chunk-LNC3TV6N.mjs} +53 -2
- package/dist/chunks/{chunk-BJM3NDT2.mjs → chunk-RL5UAEGQ.mjs} +11 -3
- package/dist/chunks/{chunk-LAGQ7J5A.js → chunk-VCN7DMCQ.js} +53 -2
- package/dist/chunks/{chunk-2ZXDXO4I.js → chunk-VDEB5BMT.js} +11 -3
- package/dist/components/ImageUpload.d.ts +14 -0
- package/dist/components/ImageUpload.d.ts.map +1 -1
- package/dist/components/NumberInput.d.ts +20 -1
- package/dist/components/NumberInput.d.ts.map +1 -1
- package/dist/components/Select.d.ts +5 -1
- package/dist/components/Select.d.ts.map +1 -1
- package/dist/components/Tab.d.ts +12 -1
- package/dist/components/Tab.d.ts.map +1 -1
- package/dist/image-upload.js +3 -3
- package/dist/image-upload.mjs +1 -1
- package/dist/index.js +16 -16
- package/dist/index.mjs +4 -4
- package/dist/number-input.js +4 -4
- package/dist/number-input.mjs +1 -1
- package/dist/schemas/_all.json +48 -10
- package/dist/schemas/image-upload.d.ts +6 -0
- package/dist/schemas/image-upload.d.ts.map +1 -1
- package/dist/schemas/imageUpload.json +19 -1
- package/dist/schemas/number-input.d.ts +9 -3
- package/dist/schemas/number-input.d.ts.map +1 -1
- package/dist/schemas/numberInput.json +10 -3
- package/dist/schemas/spinner.json +2 -2
- package/dist/schemas/tab.d.ts +11 -0
- package/dist/schemas/tab.d.ts.map +1 -1
- package/dist/schemas/tab.json +17 -4
- package/dist/schemas.js +48 -10
- package/dist/schemas.mjs +48 -10
- package/dist/select.js +5 -5
- package/dist/select.mjs +1 -1
- package/dist/styles/.generated/built.d.ts +1 -1
- package/dist/styles/.generated/built.d.ts.map +1 -1
- package/dist/styles/layer.js +2 -2
- package/dist/styles/layer.mjs +1 -1
- package/dist/styles.css +185 -44
- package/dist/styles.js +2 -2
- package/dist/styles.layered.css +185 -44
- package/dist/styles.mjs +1 -1
- package/dist/tab.js +4 -4
- package/dist/tab.mjs +1 -1
- package/dist/tokens/TOKENS.md +13 -0
- package/dist/tokens/company.css +21 -1
- package/dist/tokens/css.css +21 -1
- package/dist/tokens/data/color.json +32 -0
- package/dist/tokens/data/space.json +1 -1
- package/dist/tokens/data/typography.json +55 -1
- package/dist/tokens-domains/data/gamehub/domain.json +258 -0
- package/dist/tokens-domains/data/index.ts +3 -1
- package/dist/tokens-domains/data/prediction/domain.json +0 -12
- package/dist/tokens-domains/gamehub.md +62 -0
- package/dist/tokens-domains/prediction-vars.css +1 -5
- package/dist/tokens-domains/prediction.css +1 -5
- package/dist/tokens-domains/prediction.md +0 -1
- package/package.json +3 -3
- package/dist/chunks/chunk-3SCSND6S.js +0 -7
- package/dist/chunks/chunk-QWK4CLS2.mjs +0 -5
package/dist/styles.layered.css
CHANGED
|
@@ -342,10 +342,12 @@
|
|
|
342
342
|
gap: 0.25rem;
|
|
343
343
|
}
|
|
344
344
|
.nexus-text-input-field__label {
|
|
345
|
-
|
|
346
|
-
font-
|
|
347
|
-
|
|
345
|
+
/* label-semibold-sm 토큰 기준 (12px / 600). 다른 input 컴포넌트들과 sync된 라벨 사이즈/색상. */
|
|
346
|
+
font-size: var(--text-label-semibold-sm, 0.75rem);
|
|
347
|
+
font-weight: var(--font-weight-label-semibold-sm, 600);
|
|
348
|
+
letter-spacing: var(--letter-spacing-label-semibold-sm, 0);
|
|
348
349
|
line-height: 1;
|
|
350
|
+
color: var(--color-text-tertiary);
|
|
349
351
|
}
|
|
350
352
|
.nexus-text-input-field__footer {
|
|
351
353
|
display: flex;
|
|
@@ -354,7 +356,7 @@
|
|
|
354
356
|
}
|
|
355
357
|
.nexus-text-input-field__description {
|
|
356
358
|
font-size: var(--text-text-xs, 0.75rem);
|
|
357
|
-
color: var(--color-text-
|
|
359
|
+
color: var(--color-text-tertiary);
|
|
358
360
|
line-height: 1.5;
|
|
359
361
|
letter-spacing: -0.12px;
|
|
360
362
|
}
|
|
@@ -363,7 +365,7 @@
|
|
|
363
365
|
}
|
|
364
366
|
.nexus-text-input-field__count {
|
|
365
367
|
font-size: var(--text-text-xs, 0.75rem);
|
|
366
|
-
color: var(--color-text-
|
|
368
|
+
color: var(--color-text-tertiary);
|
|
367
369
|
margin-left: auto;
|
|
368
370
|
flex-shrink: 0;
|
|
369
371
|
}
|
|
@@ -487,8 +489,10 @@
|
|
|
487
489
|
gap: 0.5rem;
|
|
488
490
|
}
|
|
489
491
|
.nexus-price-input-field__label {
|
|
490
|
-
|
|
491
|
-
font-
|
|
492
|
+
/* label-semibold-sm 토큰 기준 (12px / 600). 다른 input 컴포넌트들과 sync된 라벨 사이즈. */
|
|
493
|
+
font-size: var(--text-label-semibold-sm, 0.75rem);
|
|
494
|
+
font-weight: var(--font-weight-label-semibold-sm, 600);
|
|
495
|
+
letter-spacing: var(--letter-spacing-label-semibold-sm, 0);
|
|
492
496
|
color: var(--color-text-tertiary);
|
|
493
497
|
line-height: 1;
|
|
494
498
|
}
|
|
@@ -645,8 +649,10 @@
|
|
|
645
649
|
gap: 0.25rem;
|
|
646
650
|
}
|
|
647
651
|
.nexus-textarea-field__label {
|
|
648
|
-
|
|
649
|
-
font-
|
|
652
|
+
/* label-semibold-sm 토큰 기준 (12px / 600). 다른 input 컴포넌트들과 sync된 라벨 사이즈. */
|
|
653
|
+
font-size: var(--text-label-semibold-sm, 0.75rem);
|
|
654
|
+
font-weight: var(--font-weight-label-semibold-sm, 600);
|
|
655
|
+
letter-spacing: var(--letter-spacing-label-semibold-sm, 0);
|
|
650
656
|
color: var(--color-text-tertiary);
|
|
651
657
|
line-height: 1;
|
|
652
658
|
}
|
|
@@ -792,8 +798,10 @@
|
|
|
792
798
|
margin-bottom: 4px;
|
|
793
799
|
}
|
|
794
800
|
.nexus-number-input__label {
|
|
795
|
-
|
|
796
|
-
font-
|
|
801
|
+
/* label-semibold-sm 토큰 기준 (12px / 600). TextInput과 동일한 라벨 사이즈로 sync. */
|
|
802
|
+
font-size: var(--text-label-semibold-sm, 0.75rem);
|
|
803
|
+
font-weight: var(--font-weight-label-semibold-sm, 600);
|
|
804
|
+
letter-spacing: var(--letter-spacing-label-semibold-sm, 0);
|
|
797
805
|
line-height: 1;
|
|
798
806
|
color: var(--color-text-tertiary);
|
|
799
807
|
}
|
|
@@ -896,7 +904,6 @@
|
|
|
896
904
|
border: none;
|
|
897
905
|
background: transparent;
|
|
898
906
|
outline: none;
|
|
899
|
-
font-size: var(--text-label-lg, 1rem);
|
|
900
907
|
font-weight: var(--font-weight-label-lg, 500);
|
|
901
908
|
line-height: 1;
|
|
902
909
|
color: var(--color-text-primary);
|
|
@@ -912,26 +919,82 @@
|
|
|
912
919
|
cursor: not-allowed;
|
|
913
920
|
}
|
|
914
921
|
|
|
915
|
-
/* ── Size: field padding
|
|
916
|
-
|
|
917
|
-
|
|
922
|
+
/* ── Size: field padding + font-size ──
|
|
923
|
+
* TextInput과 동일한 사이즈 체계 (md / lg / xl).
|
|
924
|
+
* basic, bind 변형 모두 동일 padding/font를 사용 (variant는 좌우 컨트롤만 다름).
|
|
925
|
+
*
|
|
926
|
+
* :where()로 명시도 0 — 외부 className의 height/padding/font utility(`h-12`, `py-3`, `text-base`)
|
|
927
|
+
* 가 항상 우선해서 사이즈 오버라이드가 자연스럽게 동작한다.
|
|
928
|
+
*/
|
|
929
|
+
:where(.nexus-number-input--md) .nexus-number-input__field {
|
|
930
|
+
padding: calc(var(--spacing-padding-xs, 0.5rem) - 1px) var(--spacing-padding-sm, 0.75rem);
|
|
931
|
+
font-size: var(--text-text-sm, 0.875rem);
|
|
918
932
|
}
|
|
919
|
-
.nexus-number-input--
|
|
920
|
-
padding: var(--spacing-padding-
|
|
933
|
+
:where(.nexus-number-input--lg) .nexus-number-input__field {
|
|
934
|
+
padding: calc(var(--spacing-padding-sm, 0.75rem) - 1px) var(--spacing-padding-sm, 0.75rem);
|
|
935
|
+
font-size: var(--text-text-base, 1rem);
|
|
936
|
+
}
|
|
937
|
+
:where(.nexus-number-input--xl) .nexus-number-input__field {
|
|
938
|
+
padding: calc(var(--spacing-padding-md, 1rem) - 1px) var(--spacing-padding-md, 1rem);
|
|
939
|
+
font-size: var(--text-text-base, 1rem);
|
|
940
|
+
}
|
|
941
|
+
|
|
942
|
+
/* ── Prefix / Suffix icon (text or ReactNode) ──
|
|
943
|
+
* basic / bind variant 모두 공통.
|
|
944
|
+
* field padding과 자연스럽게 이어지도록 padding-inline은 size별 :where() 규칙 참고.
|
|
945
|
+
* 좌측 prefix는 field 좌측 padding을 줄여서 visual gap 통일.
|
|
946
|
+
*/
|
|
947
|
+
.nexus-number-input__icon {
|
|
948
|
+
display: flex;
|
|
949
|
+
align-items: center;
|
|
950
|
+
flex-shrink: 0;
|
|
951
|
+
color: var(--color-text-muted);
|
|
952
|
+
font-size: inherit;
|
|
953
|
+
line-height: 1;
|
|
954
|
+
user-select: none;
|
|
955
|
+
pointer-events: none;
|
|
956
|
+
}
|
|
957
|
+
:where(.nexus-number-input--md) .nexus-number-input__icon {
|
|
958
|
+
padding-inline-start: var(--spacing-padding-sm, 0.75rem);
|
|
959
|
+
font-size: var(--text-text-sm, 0.875rem);
|
|
960
|
+
}
|
|
961
|
+
:where(.nexus-number-input--lg) .nexus-number-input__icon {
|
|
962
|
+
padding-inline-start: var(--spacing-padding-sm, 0.75rem);
|
|
963
|
+
font-size: var(--text-text-base, 1rem);
|
|
964
|
+
}
|
|
965
|
+
:where(.nexus-number-input--xl) .nexus-number-input__icon {
|
|
966
|
+
padding-inline-start: var(--spacing-padding-md, 1rem);
|
|
967
|
+
font-size: var(--text-text-base, 1rem);
|
|
968
|
+
}
|
|
969
|
+
:where(.nexus-number-input__icon--suffix) {
|
|
970
|
+
padding-inline-start: 0;
|
|
971
|
+
padding-inline-end: var(--spacing-padding-sm, 0.75rem);
|
|
972
|
+
}
|
|
973
|
+
:where(.nexus-number-input--xl .nexus-number-input__icon--suffix) {
|
|
974
|
+
padding-inline-end: var(--spacing-padding-md, 1rem);
|
|
975
|
+
}
|
|
976
|
+
/* prefix가 있으면 field 좌측 padding을 한번만 가지도록 (icon이 좌측 패딩 담당) */
|
|
977
|
+
:where(.nexus-number-input__icon--prefix) ~ .nexus-number-input__field {
|
|
978
|
+
padding-inline-start: var(--spacing-padding-xs, 0.5rem);
|
|
979
|
+
}
|
|
980
|
+
.nexus-number-input--disabled .nexus-number-input__icon {
|
|
981
|
+
color: var(--color-text-muted);
|
|
921
982
|
}
|
|
922
983
|
|
|
923
|
-
/* ──
|
|
984
|
+
/* ── Bind variant: 좌우 ± 버튼이 들어갈 자리 ── */
|
|
924
985
|
.nexus-number-input--bind .nexus-number-input__container {
|
|
925
986
|
padding-inline: var(--spacing-padding-xs, 0.5rem);
|
|
926
987
|
}
|
|
927
988
|
.nexus-number-input--bind .nexus-number-input__field {
|
|
928
989
|
text-align: center;
|
|
929
990
|
}
|
|
930
|
-
|
|
931
|
-
|
|
991
|
+
/* bind variant에서는 ± 버튼이 padding 역할이므로 icon padding 살짝만 */
|
|
992
|
+
.nexus-number-input--bind .nexus-number-input__icon {
|
|
993
|
+
padding-inline-start: var(--spacing-padding-2xs, 0.25rem);
|
|
932
994
|
}
|
|
933
|
-
.nexus-number-input--bind.nexus-number-
|
|
934
|
-
padding
|
|
995
|
+
.nexus-number-input--bind .nexus-number-input__icon--suffix {
|
|
996
|
+
padding-inline-start: 0;
|
|
997
|
+
padding-inline-end: var(--spacing-padding-2xs, 0.25rem);
|
|
935
998
|
}
|
|
936
999
|
|
|
937
1000
|
/* ── Basic variant: chevron buttons column ── */
|
|
@@ -1005,7 +1068,17 @@
|
|
|
1005
1068
|
color: var(--color-text-muted);
|
|
1006
1069
|
cursor: not-allowed;
|
|
1007
1070
|
}
|
|
1008
|
-
|
|
1071
|
+
/* bind ± 버튼: 사이즈별로 가시 영역이 자연스럽게 늘어나도록.
|
|
1072
|
+
* :where()로 명시도 0 — 외부 className으로 버튼 크기도 오버라이드 가능. */
|
|
1073
|
+
:where(.nexus-number-input--md) .nexus-number-input__bind-btn {
|
|
1074
|
+
width: 20px;
|
|
1075
|
+
height: 20px;
|
|
1076
|
+
}
|
|
1077
|
+
:where(.nexus-number-input--lg) .nexus-number-input__bind-btn {
|
|
1078
|
+
width: 24px;
|
|
1079
|
+
height: 24px;
|
|
1080
|
+
}
|
|
1081
|
+
:where(.nexus-number-input--xl) .nexus-number-input__bind-btn {
|
|
1009
1082
|
width: 30px;
|
|
1010
1083
|
height: 30px;
|
|
1011
1084
|
}
|
|
@@ -1829,6 +1902,15 @@
|
|
|
1829
1902
|
border-radius: var(--radius-corner-lg, 0.5rem);
|
|
1830
1903
|
padding: 0.25rem;
|
|
1831
1904
|
}
|
|
1905
|
+
/* fullWidth: 모든 트리거를 균등 분할해서 부모 너비를 채움. :where()로 specificity 0
|
|
1906
|
+
→ 사용처에서 className(w-*, flex-*)으로 자유롭게 오버라이드 가능. */
|
|
1907
|
+
:where(.nexus-tab-list--full-width) {
|
|
1908
|
+
width: 100%;
|
|
1909
|
+
}
|
|
1910
|
+
:where(.nexus-tab-list--full-width) .nexus-tab-trigger {
|
|
1911
|
+
flex: 1;
|
|
1912
|
+
justify-content: center;
|
|
1913
|
+
}
|
|
1832
1914
|
.nexus-tab-trigger {
|
|
1833
1915
|
position: relative;
|
|
1834
1916
|
display: inline-flex;
|
|
@@ -1916,7 +1998,10 @@
|
|
|
1916
1998
|
|
|
1917
1999
|
.nexus-spinner {
|
|
1918
2000
|
animation: nexus-spin 1s linear infinite;
|
|
1919
|
-
|
|
2001
|
+
}
|
|
2002
|
+
/* default color: brand primary (semantic). :where()로 specificity 0 → 외부 className(text-*, color)이 항상 우선 override 가능. */
|
|
2003
|
+
:where(.nexus-spinner) {
|
|
2004
|
+
color: var(--color-accent-primary);
|
|
1920
2005
|
}
|
|
1921
2006
|
|
|
1922
2007
|
/* ═══════════════════════════════════════════
|
|
@@ -2142,16 +2227,17 @@
|
|
|
2142
2227
|
.nexus-select-trigger--outline {
|
|
2143
2228
|
background: var(--color-surface-default);
|
|
2144
2229
|
}
|
|
2145
|
-
|
|
2230
|
+
/* size variant width: :where() 로 명시도 0 — 외부 className 의 w- / min-w- / max-w- 유틸이 항상 우선. */
|
|
2231
|
+
:where(.nexus-select-trigger--sm) {
|
|
2146
2232
|
width: 4rem;
|
|
2147
2233
|
}
|
|
2148
|
-
.nexus-select-trigger--md {
|
|
2234
|
+
:where(.nexus-select-trigger--md) {
|
|
2149
2235
|
width: 8rem;
|
|
2150
2236
|
}
|
|
2151
|
-
.nexus-select-trigger--lg {
|
|
2237
|
+
:where(.nexus-select-trigger--lg) {
|
|
2152
2238
|
width: 12rem;
|
|
2153
2239
|
}
|
|
2154
|
-
.nexus-select-trigger--full {
|
|
2240
|
+
:where(.nexus-select-trigger--full) {
|
|
2155
2241
|
width: 100%;
|
|
2156
2242
|
}
|
|
2157
2243
|
.nexus-select-trigger--justify-end {
|
|
@@ -2227,17 +2313,19 @@
|
|
|
2227
2313
|
transform: translateY(-4px) scaleY(0.96);
|
|
2228
2314
|
}
|
|
2229
2315
|
}
|
|
2230
|
-
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2234
|
-
|
|
2235
|
-
|
|
2236
|
-
.
|
|
2237
|
-
|
|
2238
|
-
|
|
2239
|
-
.nexus-select-content--
|
|
2316
|
+
/* Content는 size variant와 무관하게 항상 trigger 너비를 추종한다.
|
|
2317
|
+
* - size는 트리거 크기만 결정. content는 anchor-width로 자동 동기화 → 외부 className으로
|
|
2318
|
+
* Select 하나만 늘리면 드롭다운/Item도 자연스럽게 같이 늘어난다.
|
|
2319
|
+
* - SelectItem이 anchor-width보다 더 크면 min-width가 그대로라 content가 자식 너비만큼 자연
|
|
2320
|
+
* 확장된다.
|
|
2321
|
+
* - 별도 너비를 원하면 `contentClassName`으로 명시적으로 오버라이드 (외부 className은 :where()
|
|
2322
|
+
* 덕분에 항상 우선). */
|
|
2323
|
+
:where(.nexus-select-content--sm),
|
|
2324
|
+
:where(.nexus-select-content--md),
|
|
2325
|
+
:where(.nexus-select-content--lg),
|
|
2326
|
+
:where(.nexus-select-content--full) {
|
|
2240
2327
|
width: var(--radix-popper-anchor-width);
|
|
2328
|
+
min-width: var(--radix-popper-anchor-width);
|
|
2241
2329
|
}
|
|
2242
2330
|
.nexus-select-viewport {
|
|
2243
2331
|
padding: 0.25rem;
|
|
@@ -2246,7 +2334,6 @@
|
|
|
2246
2334
|
.nexus-select-item {
|
|
2247
2335
|
position: relative;
|
|
2248
2336
|
display: flex;
|
|
2249
|
-
width: 100%;
|
|
2250
2337
|
cursor: pointer;
|
|
2251
2338
|
align-items: center;
|
|
2252
2339
|
border-radius: var(--radius-corner-sm, 0.25rem);
|
|
@@ -2258,6 +2345,10 @@
|
|
|
2258
2345
|
outline: none;
|
|
2259
2346
|
user-select: none;
|
|
2260
2347
|
}
|
|
2348
|
+
/* width 만 :where()로 명시도 0 — 외부 className 의 w-* 가 항상 우선. */
|
|
2349
|
+
:where(.nexus-select-item) {
|
|
2350
|
+
width: 100%;
|
|
2351
|
+
}
|
|
2261
2352
|
.nexus-select-item:hover,
|
|
2262
2353
|
.nexus-select-item:focus,
|
|
2263
2354
|
.nexus-select-item[data-highlighted] {
|
|
@@ -4580,6 +4671,53 @@
|
|
|
4580
4671
|
height: 16px;
|
|
4581
4672
|
}
|
|
4582
4673
|
|
|
4674
|
+
/* ─── ImageUpload: previewMode="cover" — 박스 가득 채우는 풀 이미지 ─── */
|
|
4675
|
+
.nexus-image-upload--preview-cover {
|
|
4676
|
+
position: relative;
|
|
4677
|
+
display: block;
|
|
4678
|
+
padding: 0;
|
|
4679
|
+
border: 1px solid var(--color-border-default);
|
|
4680
|
+
border-style: solid;
|
|
4681
|
+
background: var(--color-surface-strong);
|
|
4682
|
+
cursor: pointer;
|
|
4683
|
+
/* X 버튼이 모서리 밖으로 살짝 튀어나올 수 있도록 visible. 이미지는 아래 clip wrapper가 라운드 처리. */
|
|
4684
|
+
overflow: visible;
|
|
4685
|
+
}
|
|
4686
|
+
.nexus-image-upload--preview-cover:hover {
|
|
4687
|
+
border-color: var(--color-border-default-hover);
|
|
4688
|
+
box-shadow: 0 0 0 0.5px var(--color-border-default-hover);
|
|
4689
|
+
}
|
|
4690
|
+
/* 이미지 클리핑 — 박스 border-radius와 동일하게 라운드. */
|
|
4691
|
+
.nexus-image-upload__preview-cover-clip {
|
|
4692
|
+
position: absolute;
|
|
4693
|
+
inset: 0;
|
|
4694
|
+
overflow: hidden;
|
|
4695
|
+
border-radius: var(--radius-corner-md, 8px);
|
|
4696
|
+
}
|
|
4697
|
+
.nexus-image-upload__preview-cover-img {
|
|
4698
|
+
position: absolute;
|
|
4699
|
+
inset: 0;
|
|
4700
|
+
width: 100%;
|
|
4701
|
+
height: 100%;
|
|
4702
|
+
object-fit: cover;
|
|
4703
|
+
display: block;
|
|
4704
|
+
pointer-events: none;
|
|
4705
|
+
}
|
|
4706
|
+
.nexus-image-upload__preview-cover-img--contain {
|
|
4707
|
+
object-fit: contain;
|
|
4708
|
+
}
|
|
4709
|
+
/* cover 모드의 X 버튼 — card preview와 동일하게 우측 상단 모서리에 걸치는 형태. */
|
|
4710
|
+
.nexus-image-upload__remove--cover {
|
|
4711
|
+
top: -6px;
|
|
4712
|
+
right: -6px;
|
|
4713
|
+
background: var(--color-surface-inverted);
|
|
4714
|
+
color: var(--color-icon-inverted);
|
|
4715
|
+
}
|
|
4716
|
+
.nexus-image-upload__remove--cover:hover {
|
|
4717
|
+
opacity: 0.85;
|
|
4718
|
+
background: var(--color-surface-inverted);
|
|
4719
|
+
}
|
|
4720
|
+
|
|
4583
4721
|
.nexus-image-upload__info {
|
|
4584
4722
|
display: flex;
|
|
4585
4723
|
flex-direction: column;
|
|
@@ -4617,10 +4755,11 @@
|
|
|
4617
4755
|
gap: var(--spacing-gap-xs, 0.25rem);
|
|
4618
4756
|
}
|
|
4619
4757
|
.nexus-image-upload-field__label {
|
|
4620
|
-
|
|
4621
|
-
font-
|
|
4758
|
+
/* label-semibold-sm 토큰 기준 (12px / 600). 다른 input 컴포넌트들과 sync된 라벨 사이즈. */
|
|
4759
|
+
font-size: var(--text-label-semibold-sm, 0.75rem);
|
|
4760
|
+
font-weight: var(--font-weight-label-semibold-sm, 600);
|
|
4622
4761
|
line-height: 1;
|
|
4623
|
-
letter-spacing: var(--letter-spacing-label-semibold-
|
|
4762
|
+
letter-spacing: var(--letter-spacing-label-semibold-sm, 0);
|
|
4624
4763
|
color: var(--color-text-tertiary);
|
|
4625
4764
|
}
|
|
4626
4765
|
.nexus-image-upload-field__description {
|
|
@@ -4831,8 +4970,10 @@
|
|
|
4831
4970
|
gap: var(--spacing-gap-xs, 0.25rem);
|
|
4832
4971
|
}
|
|
4833
4972
|
.nexus-combobox-field__label {
|
|
4834
|
-
|
|
4835
|
-
font-
|
|
4973
|
+
/* label-semibold-sm 토큰 기준 (12px / 600). 다른 input 컴포넌트들과 sync된 라벨 사이즈. */
|
|
4974
|
+
font-size: var(--text-label-semibold-sm, 0.75rem);
|
|
4975
|
+
font-weight: var(--font-weight-label-semibold-sm, 600);
|
|
4976
|
+
letter-spacing: var(--letter-spacing-label-semibold-sm, 0);
|
|
4836
4977
|
line-height: 1;
|
|
4837
4978
|
color: var(--color-text-tertiary);
|
|
4838
4979
|
}
|
package/dist/styles.mjs
CHANGED
package/dist/tab.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkVDEB5BMT_js = require('./chunks/chunk-VDEB5BMT.js');
|
|
4
4
|
require('./chunks/chunk-CZC76ZD5.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "Tab", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkVDEB5BMT_js.Tab; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "tabListVariants", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkVDEB5BMT_js.tabListVariants; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "tabTriggerVariants", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkVDEB5BMT_js.tabTriggerVariants; }
|
|
19
19
|
});
|
package/dist/tab.mjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { Tab, tabListVariants, tabTriggerVariants } from './chunks/chunk-
|
|
1
|
+
export { Tab, tabListVariants, tabTriggerVariants } from './chunks/chunk-ATZE57ZO.mjs';
|
|
2
2
|
import './chunks/chunk-MCKOWMLS.mjs';
|
package/dist/tokens/TOKENS.md
CHANGED
|
@@ -133,12 +133,14 @@ const { semantic } = getTheme("dark");
|
|
|
133
133
|
| `bg-status-success-disabled` | `--color-status-success-disabled` | Success - disabled | `#CDF4EA` | `#0D4431` |
|
|
134
134
|
| `bg-status-success-intense` | `--color-status-success-intense` | Success - intense | `#1B9674` | `#0BDFA5` |
|
|
135
135
|
| `bg-status-success-dim` | `--color-status-success-dim` | Success - dim | `#9FECD7` | `#1B9674` |
|
|
136
|
+
| `bg-status-success-bg` | `--color-status-success-bg` | | `#EAFAF6` | `#06261B` |
|
|
136
137
|
| `bg-status-warning` | `--color-status-warning` | Warning | `#FF9D00` | `#FFAA00` |
|
|
137
138
|
| `bg-status-warning-hover` | `--color-status-warning-hover` | Warning - hover | `#FFAA00` | `#FF9D00` |
|
|
138
139
|
| `bg-status-warning-pressed` | `--color-status-warning-pressed` | Warning - pressed | `#F9C127` | `#F9C127` |
|
|
139
140
|
| `bg-status-warning-disabled` | `--color-status-warning-disabled` | Warning - disabled | `#FFF2D2` | `#4A3F2B` |
|
|
140
141
|
| `bg-status-warning-intense` | `--color-status-warning-intense` | Warning - intense | `#D9840C` | `#FFAA00` |
|
|
141
142
|
| `bg-status-warning-dim` | `--color-status-warning-dim` | Warning - dim | `#FFDB6E` | `#9F701A` |
|
|
143
|
+
| `bg-status-warning-bg` | `--color-status-warning-bg` | | `#FBF7EC` | `#393421` |
|
|
142
144
|
| `bg-status-danger` | `--color-status-danger` | Danger | `#DB0A2D` | `#DB0A2D` |
|
|
143
145
|
| `bg-status-danger-hover` | `--color-status-danger-hover` | Danger - hover | `#E62848` | `#E62848` |
|
|
144
146
|
| `bg-status-danger-pressed` | `--color-status-danger-pressed` | Danger - pressed | `#AF2239` | `#D20625` |
|
|
@@ -146,12 +148,14 @@ const { semantic } = getTheme("dark");
|
|
|
146
148
|
| `bg-status-danger-intense` | `--color-status-danger-intense` | Danger - intense | `#D20625` | `#EC3C56` |
|
|
147
149
|
| `bg-status-danger-dim` | `--color-status-danger-dim` | Danger - dim | `#FFBBC4` | `#AF2239` |
|
|
148
150
|
| `bg-status-danger-focus` | `--color-status-danger-focus` | Danger - focus | `#E62848` | `#AF2239` |
|
|
151
|
+
| `bg-status-danger-bg` | `--color-status-danger-bg` | | `#FFF4F5` | `#530E1A` |
|
|
149
152
|
| `bg-status-info` | `--color-status-info` | Info | `#0095FF` | `#0095FF` |
|
|
150
153
|
| `bg-status-info-hover` | `--color-status-info-hover` | Info - hover | `#20B1FF` | `#20B1FF` |
|
|
151
154
|
| `bg-status-info-pressed` | `--color-status-info-pressed` | Info - pressed | `#1087FF` | `#1087FF` |
|
|
152
155
|
| `bg-status-info-disabled` | `--color-status-info-disabled` | Info - disabled | `#CCEFFF` | `#143A67` |
|
|
153
156
|
| `bg-status-info-intense` | `--color-status-info-intense` | Info - intense | `#1672D0` | `#20B1FF` |
|
|
154
157
|
| `bg-status-info-dim` | `--color-status-info-dim` | Info - dim | `#92DDFF` | `#1672D0` |
|
|
158
|
+
| `bg-status-info-bg` | `--color-status-info-bg` | | `#EAF8FF` | `#0E2F53` |
|
|
155
159
|
|
|
156
160
|
### Overlay
|
|
157
161
|
|
|
@@ -210,11 +214,13 @@ const { semantic } = getTheme("dark");
|
|
|
210
214
|
| `text-text-base` | `--text-text-base` | `1rem` |
|
|
211
215
|
| `text-text-lg` | `--text-text-lg` | `1.125rem` |
|
|
212
216
|
| `text-text-xl` | `--text-text-xl` | `1.25rem` |
|
|
217
|
+
| `text-text-2xs` | `--text-text-2xs` | `0.625rem` |
|
|
213
218
|
| `text-text-medium-xs` | `--text-text-medium-xs` | `0.75rem` |
|
|
214
219
|
| `text-text-medium-sm` | `--text-text-medium-sm` | `0.875rem` |
|
|
215
220
|
| `text-text-medium-base` | `--text-text-medium-base` | `1rem` |
|
|
216
221
|
| `text-text-medium-lg` | `--text-text-medium-lg` | `1.125rem` |
|
|
217
222
|
| `text-text-medium-xl` | `--text-text-medium-xl` | `1.25rem` |
|
|
223
|
+
| `text-text-medium-2xs` | `--text-text-medium-2xs` | `0.625rem` |
|
|
218
224
|
| `text-text-semibold-xs` | `--text-text-semibold-xs` | `0.75rem` |
|
|
219
225
|
| `text-text-semibold-sm` | `--text-text-semibold-sm` | `0.875rem` |
|
|
220
226
|
| `text-text-semibold-base` | `--text-text-semibold-base` | `1rem` |
|
|
@@ -233,6 +239,7 @@ const { semantic } = getTheme("dark");
|
|
|
233
239
|
| `text-label-sm` | `--text-label-sm` | `0.75rem` |
|
|
234
240
|
| `text-label-md` | `--text-label-md` | `0.875rem` |
|
|
235
241
|
| `text-label-lg` | `--text-label-lg` | `1rem` |
|
|
242
|
+
| `text-label-xs` | `--text-label-xs` | `0.625rem` |
|
|
236
243
|
| `text-label-semibold-sm` | `--text-label-semibold-sm` | `0.75rem` |
|
|
237
244
|
| `text-label-semibold-md` | `--text-label-semibold-md` | `0.875rem` |
|
|
238
245
|
| `text-label-semibold-lg` | `--text-label-semibold-lg` | `1rem` |
|
|
@@ -349,11 +356,13 @@ const { semantic } = getTheme("dark");
|
|
|
349
356
|
| `--font-weight-text-base` | `400` | `font-weight: var(--font-weight-text-base)` |
|
|
350
357
|
| `--font-weight-text-lg` | `400` | `font-weight: var(--font-weight-text-lg)` |
|
|
351
358
|
| `--font-weight-text-xl` | `400` | `font-weight: var(--font-weight-text-xl)` |
|
|
359
|
+
| `--font-weight-text-2xs` | `400` | `font-weight: var(--font-weight-text-2xs)` |
|
|
352
360
|
| `--font-weight-text-medium-xs` | `500` | `font-weight: var(--font-weight-text-medium-xs)` |
|
|
353
361
|
| `--font-weight-text-medium-sm` | `500` | `font-weight: var(--font-weight-text-medium-sm)` |
|
|
354
362
|
| `--font-weight-text-medium-base` | `500` | `font-weight: var(--font-weight-text-medium-base)` |
|
|
355
363
|
| `--font-weight-text-medium-lg` | `500` | `font-weight: var(--font-weight-text-medium-lg)` |
|
|
356
364
|
| `--font-weight-text-medium-xl` | `500` | `font-weight: var(--font-weight-text-medium-xl)` |
|
|
365
|
+
| `--font-weight-text-medium-2xs` | `500` | `font-weight: var(--font-weight-text-medium-2xs)` |
|
|
357
366
|
| `--font-weight-text-semibold-xs` | `600` | `font-weight: var(--font-weight-text-semibold-xs)` |
|
|
358
367
|
| `--font-weight-text-semibold-sm` | `600` | `font-weight: var(--font-weight-text-semibold-sm)` |
|
|
359
368
|
| `--font-weight-text-semibold-base` | `600` | `font-weight: var(--font-weight-text-semibold-base)` |
|
|
@@ -372,6 +381,7 @@ const { semantic } = getTheme("dark");
|
|
|
372
381
|
| `--font-weight-label-sm` | `500` | `font-weight: var(--font-weight-label-sm)` |
|
|
373
382
|
| `--font-weight-label-md` | `500` | `font-weight: var(--font-weight-label-md)` |
|
|
374
383
|
| `--font-weight-label-lg` | `500` | `font-weight: var(--font-weight-label-lg)` |
|
|
384
|
+
| `--font-weight-label-xs` | `500` | `font-weight: var(--font-weight-label-xs)` |
|
|
375
385
|
| `--font-weight-label-semibold-sm` | `600` | `font-weight: var(--font-weight-label-semibold-sm)` |
|
|
376
386
|
| `--font-weight-label-semibold-md` | `600` | `font-weight: var(--font-weight-label-semibold-md)` |
|
|
377
387
|
| `--font-weight-label-semibold-lg` | `600` | `font-weight: var(--font-weight-label-semibold-lg)` |
|
|
@@ -385,11 +395,13 @@ const { semantic } = getTheme("dark");
|
|
|
385
395
|
| `--letter-spacing-text-base` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-base)` |
|
|
386
396
|
| `--letter-spacing-text-lg` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-lg)` |
|
|
387
397
|
| `--letter-spacing-text-xl` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-xl)` |
|
|
398
|
+
| `--letter-spacing-text-2xs` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-2xs)` |
|
|
388
399
|
| `--letter-spacing-text-medium-xs` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-medium-xs)` |
|
|
389
400
|
| `--letter-spacing-text-medium-sm` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-medium-sm)` |
|
|
390
401
|
| `--letter-spacing-text-medium-base` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-medium-base)` |
|
|
391
402
|
| `--letter-spacing-text-medium-lg` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-medium-lg)` |
|
|
392
403
|
| `--letter-spacing-text-medium-xl` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-medium-xl)` |
|
|
404
|
+
| `--letter-spacing-text-medium-2xs` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-medium-2xs)` |
|
|
393
405
|
| `--letter-spacing-text-semibold-xs` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-semibold-xs)` |
|
|
394
406
|
| `--letter-spacing-text-semibold-sm` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-semibold-sm)` |
|
|
395
407
|
| `--letter-spacing-text-semibold-base` | `-0.01em` | `letter-spacing: var(--letter-spacing-text-semibold-base)` |
|
|
@@ -408,6 +420,7 @@ const { semantic } = getTheme("dark");
|
|
|
408
420
|
| `--letter-spacing-label-sm` | `0` | `letter-spacing: var(--letter-spacing-label-sm)` |
|
|
409
421
|
| `--letter-spacing-label-md` | `0` | `letter-spacing: var(--letter-spacing-label-md)` |
|
|
410
422
|
| `--letter-spacing-label-lg` | `0` | `letter-spacing: var(--letter-spacing-label-lg)` |
|
|
423
|
+
| `--letter-spacing-label-xs` | `0` | `letter-spacing: var(--letter-spacing-label-xs)` |
|
|
411
424
|
| `--letter-spacing-label-semibold-sm` | `0` | `letter-spacing: var(--letter-spacing-label-semibold-sm)` |
|
|
412
425
|
| `--letter-spacing-label-semibold-md` | `0` | `letter-spacing: var(--letter-spacing-label-semibold-md)` |
|
|
413
426
|
| `--letter-spacing-label-semibold-lg` | `0` | `letter-spacing: var(--letter-spacing-label-semibold-lg)` |
|
package/dist/tokens/company.css
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Company CSS — Tailwind v4 (@theme + .dark)
|
|
3
3
|
* 자동 생성: scripts/generate-css.js
|
|
4
|
-
* 생성일: 2026-05-
|
|
4
|
+
* 생성일: 2026-05-07T10:05:13.498Z
|
|
5
5
|
*
|
|
6
6
|
* @theme: Tailwind 유틸리티 클래스 자동 생성
|
|
7
7
|
* :root: 순수 CSS 변수 (var()로 직접 사용)
|
|
@@ -74,12 +74,14 @@
|
|
|
74
74
|
--color-status-success-disabled: #CDF4EA;
|
|
75
75
|
--color-status-success-intense: #1B9674;
|
|
76
76
|
--color-status-success-dim: #9FECD7;
|
|
77
|
+
--color-status-success-bg: #EAFAF6;
|
|
77
78
|
--color-status-warning: #FF9D00;
|
|
78
79
|
--color-status-warning-hover: #FFAA00;
|
|
79
80
|
--color-status-warning-pressed: #F9C127;
|
|
80
81
|
--color-status-warning-disabled: #FFF2D2;
|
|
81
82
|
--color-status-warning-intense: #D9840C;
|
|
82
83
|
--color-status-warning-dim: #FFDB6E;
|
|
84
|
+
--color-status-warning-bg: #FBF7EC;
|
|
83
85
|
--color-status-danger: #DB0A2D;
|
|
84
86
|
--color-status-danger-hover: #E62848;
|
|
85
87
|
--color-status-danger-pressed: #AF2239;
|
|
@@ -87,12 +89,14 @@
|
|
|
87
89
|
--color-status-danger-intense: #D20625;
|
|
88
90
|
--color-status-danger-dim: #FFBBC4;
|
|
89
91
|
--color-status-danger-focus: #E62848;
|
|
92
|
+
--color-status-danger-bg: #FFF4F5;
|
|
90
93
|
--color-status-info: #0095FF;
|
|
91
94
|
--color-status-info-hover: #20B1FF;
|
|
92
95
|
--color-status-info-pressed: #1087FF;
|
|
93
96
|
--color-status-info-disabled: #CCEFFF;
|
|
94
97
|
--color-status-info-intense: #1672D0;
|
|
95
98
|
--color-status-info-dim: #92DDFF;
|
|
99
|
+
--color-status-info-bg: #EAF8FF;
|
|
96
100
|
--color-overlay-dim: #000000;
|
|
97
101
|
--color-overlay-light: #000000;
|
|
98
102
|
--color-static-white: #FFFFFF;
|
|
@@ -126,6 +130,8 @@
|
|
|
126
130
|
--text-text-lg--line-height: 1.5;
|
|
127
131
|
--text-text-xl: 1.25rem;
|
|
128
132
|
--text-text-xl--line-height: 1.5;
|
|
133
|
+
--text-text-2xs: 0.625rem;
|
|
134
|
+
--text-text-2xs--line-height: 1.5;
|
|
129
135
|
--text-text-medium-xs: 0.75rem;
|
|
130
136
|
--text-text-medium-xs--line-height: 1.5;
|
|
131
137
|
--text-text-medium-sm: 0.875rem;
|
|
@@ -136,6 +142,8 @@
|
|
|
136
142
|
--text-text-medium-lg--line-height: 1.5;
|
|
137
143
|
--text-text-medium-xl: 1.25rem;
|
|
138
144
|
--text-text-medium-xl--line-height: 1.5;
|
|
145
|
+
--text-text-medium-2xs: 0.625rem;
|
|
146
|
+
--text-text-medium-2xs--line-height: 1.5;
|
|
139
147
|
--text-text-semibold-xs: 0.75rem;
|
|
140
148
|
--text-text-semibold-xs--line-height: 1.5;
|
|
141
149
|
--text-text-semibold-sm: 0.875rem;
|
|
@@ -172,6 +180,8 @@
|
|
|
172
180
|
--text-label-md--line-height: 1;
|
|
173
181
|
--text-label-lg: 1rem;
|
|
174
182
|
--text-label-lg--line-height: 1;
|
|
183
|
+
--text-label-xs: 0.625rem;
|
|
184
|
+
--text-label-xs--line-height: 1;
|
|
175
185
|
--text-label-semibold-sm: 0.75rem;
|
|
176
186
|
--text-label-semibold-sm--line-height: 1;
|
|
177
187
|
--text-label-semibold-md: 0.875rem;
|
|
@@ -257,6 +267,8 @@
|
|
|
257
267
|
--letter-spacing-text-lg: -0.01em;
|
|
258
268
|
--font-weight-text-xl: 400;
|
|
259
269
|
--letter-spacing-text-xl: -0.01em;
|
|
270
|
+
--font-weight-text-2xs: 400;
|
|
271
|
+
--letter-spacing-text-2xs: -0.01em;
|
|
260
272
|
--font-weight-text-medium-xs: 500;
|
|
261
273
|
--letter-spacing-text-medium-xs: -0.01em;
|
|
262
274
|
--font-weight-text-medium-sm: 500;
|
|
@@ -267,6 +279,8 @@
|
|
|
267
279
|
--letter-spacing-text-medium-lg: -0.01em;
|
|
268
280
|
--font-weight-text-medium-xl: 500;
|
|
269
281
|
--letter-spacing-text-medium-xl: -0.01em;
|
|
282
|
+
--font-weight-text-medium-2xs: 500;
|
|
283
|
+
--letter-spacing-text-medium-2xs: -0.01em;
|
|
270
284
|
--font-weight-text-semibold-xs: 600;
|
|
271
285
|
--letter-spacing-text-semibold-xs: -0.01em;
|
|
272
286
|
--font-weight-text-semibold-sm: 600;
|
|
@@ -303,6 +317,8 @@
|
|
|
303
317
|
--letter-spacing-label-md: 0;
|
|
304
318
|
--font-weight-label-lg: 500;
|
|
305
319
|
--letter-spacing-label-lg: 0;
|
|
320
|
+
--font-weight-label-xs: 500;
|
|
321
|
+
--letter-spacing-label-xs: 0;
|
|
306
322
|
--font-weight-label-semibold-sm: 600;
|
|
307
323
|
--letter-spacing-label-semibold-sm: 0;
|
|
308
324
|
--font-weight-label-semibold-md: 600;
|
|
@@ -378,12 +394,14 @@
|
|
|
378
394
|
--color-status-success-disabled: #0D4431;
|
|
379
395
|
--color-status-success-intense: #0BDFA5;
|
|
380
396
|
--color-status-success-dim: #1B9674;
|
|
397
|
+
--color-status-success-bg: #06261B;
|
|
381
398
|
--color-status-warning: #FFAA00;
|
|
382
399
|
--color-status-warning-hover: #FF9D00;
|
|
383
400
|
--color-status-warning-pressed: #F9C127;
|
|
384
401
|
--color-status-warning-disabled: #4A3F2B;
|
|
385
402
|
--color-status-warning-intense: #FFAA00;
|
|
386
403
|
--color-status-warning-dim: #9F701A;
|
|
404
|
+
--color-status-warning-bg: #393421;
|
|
387
405
|
--color-status-danger: #DB0A2D;
|
|
388
406
|
--color-status-danger-hover: #E62848;
|
|
389
407
|
--color-status-danger-pressed: #D20625;
|
|
@@ -391,12 +409,14 @@
|
|
|
391
409
|
--color-status-danger-intense: #EC3C56;
|
|
392
410
|
--color-status-danger-dim: #AF2239;
|
|
393
411
|
--color-status-danger-focus: #AF2239;
|
|
412
|
+
--color-status-danger-bg: #530E1A;
|
|
394
413
|
--color-status-info: #0095FF;
|
|
395
414
|
--color-status-info-hover: #20B1FF;
|
|
396
415
|
--color-status-info-pressed: #1087FF;
|
|
397
416
|
--color-status-info-disabled: #143A67;
|
|
398
417
|
--color-status-info-intense: #20B1FF;
|
|
399
418
|
--color-status-info-dim: #1672D0;
|
|
419
|
+
--color-status-info-bg: #0E2F53;
|
|
400
420
|
--color-overlay-dim: #000000;
|
|
401
421
|
--color-overlay-light: #000000;
|
|
402
422
|
--color-static-white: #FFFFFF;
|