@nexus-cross/design-system 1.0.9 → 1.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (41) hide show
  1. package/cursor-rules/nexus-ui-api.mdc +27 -5
  2. package/dist/chunks/chunk-2XV3XP3Y.js +279 -0
  3. package/dist/chunks/{chunk-22O6YUYH.mjs → chunk-6J7TZ4GP.mjs} +1 -1
  4. package/dist/chunks/{chunk-OE5BAEBE.js → chunk-7B2CTQKB.js} +1 -1
  5. package/dist/chunks/chunk-FBC53TOS.mjs +99 -0
  6. package/dist/chunks/{chunk-2N2EPBO4.js → chunk-LTS674LF.js} +45 -43
  7. package/dist/chunks/{chunk-7G65JBTN.js → chunk-OX5MEJ7B.js} +2 -0
  8. package/dist/chunks/{chunk-DO6VK2QQ.mjs → chunk-QOREDNWO.mjs} +2 -0
  9. package/dist/chunks/chunk-XKJO5Y4J.mjs +256 -0
  10. package/dist/components/DatePicker.d.ts.map +1 -1
  11. package/dist/components/ImageUpload.d.ts +23 -0
  12. package/dist/components/ImageUpload.d.ts.map +1 -0
  13. package/dist/components/Select.d.ts.map +1 -1
  14. package/dist/date-picker.js +2 -2
  15. package/dist/date-picker.mjs +1 -1
  16. package/dist/image-upload.js +16 -0
  17. package/dist/image-upload.mjs +3 -0
  18. package/dist/index.d.ts +2 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +29 -20
  21. package/dist/index.mjs +4 -3
  22. package/dist/schemas/_all.json +83 -0
  23. package/dist/schemas/image-upload.d.ts +45 -0
  24. package/dist/schemas/image-upload.d.ts.map +1 -0
  25. package/dist/schemas/imageUpload.json +83 -0
  26. package/dist/schemas/index.d.ts +1 -0
  27. package/dist/schemas/index.d.ts.map +1 -1
  28. package/dist/schemas.js +18 -0
  29. package/dist/schemas.mjs +18 -1
  30. package/dist/select.js +5 -5
  31. package/dist/select.mjs +1 -1
  32. package/dist/styles/.generated/built.d.ts +1 -1
  33. package/dist/styles/.generated/built.d.ts.map +1 -1
  34. package/dist/styles/layer.js +2 -2
  35. package/dist/styles/layer.mjs +1 -1
  36. package/dist/styles.css +382 -44
  37. package/dist/styles.js +2 -2
  38. package/dist/styles.layered.css +382 -44
  39. package/dist/styles.mjs +1 -1
  40. package/package.json +2 -2
  41. package/dist/chunks/chunk-FUIBYZZ4.mjs +0 -98
@@ -1 +1 @@
1
- {"version":3,"file":"built.d.ts","sourceRoot":"","sources":["../../../src/styles/.generated/built.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,GAAG,650HAAuorG,CAAC;AACjprG,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"built.d.ts","sourceRoot":"","sources":["../../../src/styles/.generated/built.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,GAAG,q5nIAA6m9G,CAAC;AACvn9G,eAAe,GAAG,CAAC"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkOE5BAEBE_js = require('../chunks/chunk-OE5BAEBE.js');
3
+ var chunk7B2CTQKB_js = require('../chunks/chunk-7B2CTQKB.js');
4
4
  require('../chunks/chunk-JNMCYWGY.js');
5
5
 
6
6
  // src/styles/inject-layer.ts
@@ -9,7 +9,7 @@ var __nexus_styles_injected__ = typeof document !== "undefined" && !document.get
9
9
  const style = document.createElement("style");
10
10
  style.id = STYLE_ID;
11
11
  style.textContent = `@layer nexus {
12
- ${chunkOE5BAEBE_js.built_default}
12
+ ${chunk7B2CTQKB_js.built_default}
13
13
  }`;
14
14
  document.head.appendChild(style);
15
15
  return true;
@@ -1,4 +1,4 @@
1
- import { built_default } from '../chunks/chunk-22O6YUYH.mjs';
1
+ import { built_default } from '../chunks/chunk-6J7TZ4GP.mjs';
2
2
  import '../chunks/chunk-CVYXRSXT.mjs';
3
3
 
4
4
  // src/styles/inject-layer.ts
package/dist/styles.css CHANGED
@@ -1993,7 +1993,14 @@
1993
1993
  transition-duration: 200ms;
1994
1994
  }
1995
1995
  .nexus-select-trigger:hover {
1996
- border-color: var(--color-border-strong);
1996
+ border-color: var(--color-border-default-hover);
1997
+ box-shadow: 0 0 0 0.5px var(--color-border-default-hover);
1998
+ }
1999
+ .nexus-select-trigger--open,
2000
+ .nexus-select-trigger:focus-within {
2001
+ outline: none;
2002
+ border-color: var(--color-accent-primary);
2003
+ box-shadow: 0 0 0 0.5px var(--color-accent-primary);
1997
2004
  }
1998
2005
  .nexus-select-trigger:has(:disabled) {
1999
2006
  cursor: not-allowed;
@@ -3901,9 +3908,10 @@
3901
3908
  ═══════════════════════════════════════════ */
3902
3909
 
3903
3910
  .nexus-datepicker {
3904
- position: relative;
3905
3911
  display: inline-block;
3906
3912
  }
3913
+
3914
+ /* — Trigger — */
3907
3915
  .nexus-datepicker__trigger {
3908
3916
  display: inline-flex;
3909
3917
  align-items: center;
@@ -3917,11 +3925,20 @@
3917
3925
  font-size: var(--text-text-sm, 0.875rem);
3918
3926
  color: var(--color-text-primary);
3919
3927
  cursor: pointer;
3920
- transition: border-color 150ms;
3928
+ transition:
3929
+ border-color 150ms,
3930
+ box-shadow 150ms;
3921
3931
  min-width: 10rem;
3922
3932
  }
3923
3933
  .nexus-datepicker__trigger:hover {
3924
3934
  border-color: var(--color-border-default-hover);
3935
+ box-shadow: 0 0 0 0.5px var(--color-border-default-hover);
3936
+ }
3937
+ .nexus-datepicker__trigger:focus-visible,
3938
+ .nexus-datepicker__trigger[data-state='open'] {
3939
+ outline: none;
3940
+ border-color: var(--color-accent-primary);
3941
+ box-shadow: 0 0 0 0.5px var(--color-accent-primary);
3925
3942
  }
3926
3943
  .nexus-datepicker__trigger:disabled {
3927
3944
  opacity: var(--opacity-disabled-element, 0.4);
@@ -3930,126 +3947,229 @@
3930
3947
  .nexus-datepicker__trigger--placeholder span {
3931
3948
  color: var(--color-text-muted);
3932
3949
  }
3950
+ .nexus-datepicker__trigger--has-value {
3951
+ border-color: var(--color-border-default-hover);
3952
+ }
3933
3953
  .nexus-datepicker__icon {
3934
3954
  width: var(--size-icon-sm, 1rem);
3935
3955
  height: var(--size-icon-sm, 1rem);
3936
3956
  flex-shrink: 0;
3937
3957
  color: var(--color-icon-secondary);
3958
+ transition: color 150ms;
3938
3959
  }
3960
+
3961
+ /* — Popover (Radix Portal 기반 — position은 Radix가 인라인으로 처리) — */
3939
3962
  .nexus-datepicker__popover {
3940
- position: absolute;
3941
- top: calc(100% + 4px);
3942
- left: 0;
3943
3963
  z-index: var(--z-index-layer-popover, 30);
3944
3964
  background: var(--color-surface-default);
3945
3965
  border: var(--border-width-stroke-default, 1px) solid
3946
3966
  var(--color-border-default);
3947
3967
  border-radius: var(--radius-corner-lg, 0.75rem);
3948
- box-shadow: var(--shadow-lg, 0 2px 8px -1px rgb(0 0 0 / 0.12));
3949
- padding: var(--spacing-padding-sm, 0.75rem);
3950
- animation: nexus-fade-in 150ms ease;
3968
+ box-shadow: var(--shadow-xl, 0 4px 15px -3px rgb(0 0 0 / 0.12));
3969
+ padding: var(--spacing-padding-sm, 0.75rem) var(--spacing-padding-md, 1rem)
3970
+ var(--spacing-padding-md, 1rem);
3971
+ animation: nexus-datepicker-enter-bottom 200ms cubic-bezier(0, 0, 0.2, 1);
3951
3972
  }
3952
3973
 
3974
+ /* — Calendar — */
3953
3975
  .nexus-calendar {
3976
+ position: relative;
3954
3977
  font-size: var(--text-text-sm, 0.875rem);
3955
3978
  }
3956
3979
  .nexus-calendar__months {
3957
3980
  display: flex;
3958
3981
  flex-direction: column;
3959
- gap: var(--spacing-gap-sm, 0.5rem);
3960
3982
  }
3983
+
3984
+ /* — Caption (Month/Year) — 왼쪽 정렬, nav과 같은 줄 */
3961
3985
  .nexus-calendar__caption {
3962
3986
  display: flex;
3963
- justify-content: center;
3964
3987
  align-items: center;
3965
- padding: var(--spacing-padding-2xs, 0.25rem) 0;
3966
- font-weight: var(--font-weight-text-semibold-sm, 600);
3988
+ height: 2.5rem;
3989
+ font-weight: var(--font-weight-heading-h6, 600);
3990
+ font-size: var(--text-text-base, 1rem);
3967
3991
  color: var(--color-text-primary);
3992
+ letter-spacing: -0.01em;
3968
3993
  }
3994
+
3995
+ /* — Nav Buttons — 오른쪽, 캡션과 수직 중앙 정렬 */
3969
3996
  .nexus-calendar__nav {
3997
+ position: absolute;
3998
+ top: 0;
3999
+ right: 0;
4000
+ height: 2.5rem;
3970
4001
  display: flex;
4002
+ align-items: center;
3971
4003
  gap: var(--spacing-gap-xs, 0.25rem);
3972
4004
  }
3973
4005
  .nexus-calendar__nav-btn {
3974
4006
  display: inline-flex;
3975
4007
  align-items: center;
3976
4008
  justify-content: center;
3977
- width: var(--size-control-sm, 2rem);
3978
- height: var(--size-control-sm, 2rem);
4009
+ width: 2rem;
4010
+ height: 2rem;
3979
4011
  border: none;
3980
4012
  background: transparent;
3981
- border-radius: var(--radius-corner-sm, 0.25rem);
4013
+ border-radius: var(--radius-corner-full, 9999px);
3982
4014
  cursor: pointer;
3983
- color: var(--color-icon-secondary);
3984
- transition: background 150ms;
4015
+ color: var(--color-icon-tertiary);
4016
+ transition:
4017
+ background 150ms,
4018
+ color 150ms;
4019
+ }
4020
+ .nexus-calendar__nav-btn svg {
4021
+ width: 1.125rem;
4022
+ height: 1.125rem;
4023
+ stroke-width: 2;
3985
4024
  }
3986
4025
  .nexus-calendar__nav-btn:hover {
3987
- background: var(--color-surface-default-hover);
4026
+ background: color-mix(in srgb, var(--color-accent-primary) 12%, transparent);
4027
+ color: var(--color-accent-primary);
4028
+ }
4029
+ .nexus-calendar__nav-btn:active {
4030
+ background: color-mix(in srgb, var(--color-accent-primary) 20%, transparent);
3988
4031
  }
4032
+
4033
+ /* — Grid — table 고유 레이아웃 사용 (빈 셀도 너비 유지) */
3989
4034
  .nexus-calendar__grid {
3990
4035
  width: 100%;
3991
- border-collapse: collapse;
3992
- }
3993
- .nexus-calendar__head-row {
3994
- display: flex;
4036
+ border-collapse: separate;
4037
+ border-spacing: 0 2px;
3995
4038
  }
4039
+
4040
+ /* — Weekday Header — */
3996
4041
  .nexus-calendar__head-cell {
3997
- width: var(--size-control-sm, 2rem);
4042
+ width: 2.5rem;
4043
+ height: 2.25rem;
3998
4044
  text-align: center;
4045
+ vertical-align: middle;
3999
4046
  font-size: var(--text-text-xs, 0.75rem);
4000
- font-weight: var(--font-weight-text-medium-xs, 500);
4001
- color: var(--color-text-tertiary);
4002
- padding: var(--spacing-padding-2xs, 0.25rem) 0;
4003
- }
4004
- .nexus-calendar__row {
4005
- display: flex;
4047
+ font-weight: var(--font-weight-label-md, 500);
4048
+ color: var(--color-text-secondary);
4006
4049
  }
4050
+
4051
+ /* — Day Cell — */
4007
4052
  .nexus-calendar__cell {
4008
4053
  text-align: center;
4054
+ vertical-align: middle;
4055
+ padding: 0;
4009
4056
  }
4057
+
4058
+ /* — Day Button — */
4010
4059
  .nexus-calendar__day {
4011
4060
  display: inline-flex;
4012
4061
  align-items: center;
4013
4062
  justify-content: center;
4014
- width: var(--size-control-sm, 2rem);
4015
- height: var(--size-control-sm, 2rem);
4016
- border: none;
4063
+ width: 2.5rem;
4064
+ height: 2.5rem;
4065
+ border: 2px solid transparent;
4017
4066
  background: transparent;
4018
- border-radius: var(--radius-corner-sm, 0.25rem);
4067
+ border-radius: var(--radius-corner-full, 9999px);
4019
4068
  cursor: pointer;
4020
4069
  font: inherit;
4021
4070
  font-size: var(--text-text-sm, 0.875rem);
4022
4071
  color: var(--color-text-primary);
4072
+ position: relative;
4023
4073
  transition:
4024
4074
  background 150ms,
4025
- color 150ms;
4075
+ color 150ms,
4076
+ border-color 150ms,
4077
+ box-shadow 150ms;
4026
4078
  }
4027
4079
  .nexus-calendar__day:hover {
4028
- background: var(--color-surface-default-hover);
4080
+ background: color-mix(in srgb, var(--color-accent-primary) 10%, transparent);
4081
+ }
4082
+ .nexus-calendar__day:active {
4083
+ background: color-mix(in srgb, var(--color-accent-primary) 18%, transparent);
4029
4084
  }
4030
- .nexus-calendar__day--selected {
4085
+
4086
+ /* Selected — 진한 accent 채움 (selected 클래스는 <td>에 붙으므로 내부 button 대상) */
4087
+ .nexus-calendar__day--selected .nexus-calendar__day {
4031
4088
  background: var(--color-accent-primary);
4032
4089
  color: var(--color-accent-on-primary);
4090
+ font-weight: var(--font-weight-text-semibold-sm, 600);
4091
+ border-color: transparent;
4033
4092
  }
4034
- .nexus-calendar__day--selected:hover {
4093
+ .nexus-calendar__day--selected .nexus-calendar__day:hover {
4035
4094
  background: var(--color-accent-primary-hover);
4036
4095
  }
4037
- .nexus-calendar__day--today {
4096
+
4097
+ /* Today — 연한 accent 배경 */
4098
+ .nexus-calendar__day--today .nexus-calendar__day {
4099
+ background: color-mix(in srgb, var(--color-accent-primary) 14%, transparent);
4100
+ color: var(--color-accent-primary);
4038
4101
  font-weight: var(--font-weight-text-semibold-sm, 600);
4039
- border: var(--border-width-stroke-default, 1px) solid
4040
- var(--color-accent-primary);
4041
4102
  }
4042
- .nexus-calendar__day--outside {
4103
+ .nexus-calendar__day--today .nexus-calendar__day:hover {
4104
+ background: color-mix(in srgb, var(--color-accent-primary) 22%, transparent);
4105
+ }
4106
+ .nexus-calendar__day--today.nexus-calendar__day--selected .nexus-calendar__day {
4107
+ background: var(--color-accent-primary);
4108
+ color: var(--color-accent-on-primary);
4109
+ border-color: transparent;
4110
+ }
4111
+
4112
+ /* Outside month */
4113
+ .nexus-calendar__day--outside .nexus-calendar__day {
4043
4114
  color: var(--color-text-muted);
4044
- opacity: 0.5;
4115
+ opacity: 0.35;
4116
+ }
4117
+ .nexus-calendar__day--outside .nexus-calendar__day:hover {
4118
+ opacity: 0.55;
4045
4119
  }
4046
- .nexus-calendar__day--disabled {
4120
+
4121
+ /* Disabled */
4122
+ .nexus-calendar__day--disabled .nexus-calendar__day {
4047
4123
  color: var(--color-text-muted);
4048
4124
  opacity: var(--opacity-disabled-element, 0.4);
4049
4125
  cursor: not-allowed;
4050
4126
  pointer-events: none;
4051
4127
  }
4052
4128
 
4129
+ @keyframes nexus-datepicker-enter-bottom {
4130
+ from {
4131
+ opacity: 0;
4132
+ transform: translateY(-6px) scale(0.98);
4133
+ }
4134
+ to {
4135
+ opacity: 1;
4136
+ transform: translateY(0) scale(1);
4137
+ }
4138
+ }
4139
+ @keyframes nexus-datepicker-enter-top {
4140
+ from {
4141
+ opacity: 0;
4142
+ transform: translateY(6px) scale(0.98);
4143
+ }
4144
+ to {
4145
+ opacity: 1;
4146
+ transform: translateY(0) scale(1);
4147
+ }
4148
+ }
4149
+ .nexus-datepicker__popover[data-side='bottom'] {
4150
+ animation-name: nexus-datepicker-enter-bottom;
4151
+ }
4152
+ .nexus-datepicker__popover[data-side='top'] {
4153
+ animation-name: nexus-datepicker-enter-top;
4154
+ }
4155
+ @media (prefers-reduced-motion: reduce) {
4156
+ .nexus-datepicker__popover {
4157
+ animation: none;
4158
+ }
4159
+ .nexus-calendar__day {
4160
+ transition: none;
4161
+ }
4162
+ .nexus-datepicker__trigger {
4163
+ transition: none;
4164
+ }
4165
+ .nexus-calendar__nav-btn {
4166
+ transition: none;
4167
+ }
4168
+ .nexus-datepicker__icon {
4169
+ transition: none;
4170
+ }
4171
+ }
4172
+
4053
4173
  @keyframes nexus-fade-in {
4054
4174
  from {
4055
4175
  opacity: 0;
@@ -4060,3 +4180,221 @@
4060
4180
  transform: translateY(0);
4061
4181
  }
4062
4182
  }
4183
+
4184
+ /* ─── ImageUpload ─── */
4185
+ .nexus-image-upload__container {
4186
+ width: 100%;
4187
+ background: var(--color-bg-subtle);
4188
+ border-radius: var(--radius-corner-md, 8px);
4189
+ overflow: hidden;
4190
+ }
4191
+ .nexus-image-upload {
4192
+ position: relative;
4193
+ display: flex;
4194
+ flex-direction: column;
4195
+ align-items: center;
4196
+ justify-content: center;
4197
+ gap: var(--spacing-gap-sm, 0.5rem);
4198
+ width: 100%;
4199
+ border: 1px dashed var(--color-border-medium);
4200
+ border-radius: var(--radius-corner-md, 8px);
4201
+ background: transparent;
4202
+ cursor: pointer;
4203
+ overflow: hidden;
4204
+ transition:
4205
+ border-color 150ms ease,
4206
+ background-color 150ms ease,
4207
+ box-shadow 150ms ease;
4208
+ outline: none;
4209
+ }
4210
+ .nexus-image-upload:hover {
4211
+ border-color: var(--color-border-default-hover);
4212
+ box-shadow: 0 0 0 0.5px var(--color-border-default-hover);
4213
+ }
4214
+ .nexus-image-upload:focus-visible {
4215
+ outline: none;
4216
+ border-color: var(--color-accent-primary);
4217
+ box-shadow: 0 0 0 0.5px var(--color-accent-primary);
4218
+ }
4219
+ .nexus-image-upload--dragging {
4220
+ border-color: var(--color-accent-primary);
4221
+ border-style: solid;
4222
+ background: color-mix(
4223
+ in srgb,
4224
+ var(--color-accent-primary) 6%,
4225
+ var(--color-surface-default)
4226
+ );
4227
+ }
4228
+ .nexus-image-upload--disabled {
4229
+ opacity: var(--opacity-disabled-element, 0.4);
4230
+ cursor: not-allowed;
4231
+ pointer-events: none;
4232
+ }
4233
+
4234
+ .nexus-image-upload--sm {
4235
+ padding: var(--spacing-padding-xs, 0.5rem) var(--spacing-padding-sm, 0.75rem);
4236
+ min-height: 80px;
4237
+ }
4238
+ .nexus-image-upload--md {
4239
+ padding: var(--spacing-padding-md, 1rem) var(--spacing-padding-sm, 0.75rem);
4240
+ min-height: 120px;
4241
+ }
4242
+ .nexus-image-upload--lg {
4243
+ padding: var(--spacing-padding-xl, 2rem) var(--spacing-padding-md, 1rem);
4244
+ min-height: 180px;
4245
+ }
4246
+
4247
+ .nexus-image-upload__icon {
4248
+ width: var(--size-icon-xl, 32px);
4249
+ height: var(--size-icon-xl, 32px);
4250
+ color: var(--color-icon-muted);
4251
+ flex-shrink: 0;
4252
+ }
4253
+ .nexus-image-upload--sm .nexus-image-upload__icon {
4254
+ width: var(--size-icon-lg, 24px);
4255
+ height: var(--size-icon-lg, 24px);
4256
+ }
4257
+
4258
+ .nexus-image-upload__text-group {
4259
+ display: flex;
4260
+ flex-direction: column;
4261
+ align-items: center;
4262
+ gap: var(--spacing-gap-xs, 0.25rem);
4263
+ }
4264
+ .nexus-image-upload__text {
4265
+ font-size: var(--text-text-medium-xs);
4266
+ font-weight: var(--font-weight-text-medium-xs, 500);
4267
+ line-height: 1.5;
4268
+ letter-spacing: var(--letter-spacing-text-medium-xs, -0.01em);
4269
+ color: var(--color-text-tertiary);
4270
+ white-space: nowrap;
4271
+ }
4272
+ .nexus-image-upload__format {
4273
+ font-size: var(--text-text-xs);
4274
+ font-weight: var(--font-weight-text-xs, 400);
4275
+ line-height: 1.5;
4276
+ letter-spacing: var(--letter-spacing-text-xs, -0.01em);
4277
+ color: var(--color-text-tertiary);
4278
+ white-space: nowrap;
4279
+ }
4280
+ .nexus-image-upload__input {
4281
+ position: absolute;
4282
+ width: 1px;
4283
+ height: 1px;
4284
+ padding: 0;
4285
+ margin: -1px;
4286
+ overflow: hidden;
4287
+ clip: rect(0, 0, 0, 0);
4288
+ white-space: nowrap;
4289
+ border-width: 0;
4290
+ }
4291
+
4292
+ /* ─── ImageUpload: Preview State ─── */
4293
+ .nexus-image-upload--has-preview {
4294
+ display: flex;
4295
+ flex-direction: row;
4296
+ align-items: flex-start;
4297
+ gap: var(--spacing-gap-md, 1rem);
4298
+ padding: 6px 6px 0 0;
4299
+ overflow: visible;
4300
+ }
4301
+ .nexus-image-upload__preview-wrapper {
4302
+ position: relative;
4303
+ flex-shrink: 0;
4304
+ width: 116px;
4305
+ height: 116px;
4306
+ border-radius: var(--radius-corner-md, 8px);
4307
+ border: 1px solid var(--color-border-default);
4308
+ overflow: visible;
4309
+ }
4310
+ .nexus-image-upload--sm .nexus-image-upload__preview-wrapper {
4311
+ width: 80px;
4312
+ height: 80px;
4313
+ }
4314
+ .nexus-image-upload--lg .nexus-image-upload__preview-wrapper {
4315
+ width: 160px;
4316
+ height: 160px;
4317
+ }
4318
+ .nexus-image-upload__preview {
4319
+ width: 100%;
4320
+ height: 100%;
4321
+ object-fit: cover;
4322
+ pointer-events: none;
4323
+ border-radius: var(--radius-corner-md, 8px);
4324
+ }
4325
+ .nexus-image-upload__remove {
4326
+ position: absolute;
4327
+ top: -6px;
4328
+ right: -6px;
4329
+ display: flex;
4330
+ align-items: center;
4331
+ justify-content: center;
4332
+ width: 20px;
4333
+ height: 20px;
4334
+ border: none;
4335
+ border-radius: var(--radius-corner-full, 9999px);
4336
+ background: var(--color-surface-inverted);
4337
+ color: var(--color-icon-inverted);
4338
+ cursor: pointer;
4339
+ transition: opacity 150ms ease;
4340
+ z-index: 1;
4341
+ }
4342
+ .nexus-image-upload__remove:hover {
4343
+ opacity: 0.8;
4344
+ }
4345
+ .nexus-image-upload__remove-icon {
4346
+ width: 16px;
4347
+ height: 16px;
4348
+ }
4349
+
4350
+ .nexus-image-upload__info {
4351
+ display: flex;
4352
+ flex-direction: column;
4353
+ align-items: flex-start;
4354
+ gap: var(--spacing-gap-sm, 0.5rem);
4355
+ padding-top: 2px;
4356
+ }
4357
+ .nexus-image-upload__change-btn {
4358
+ display: inline-flex;
4359
+ align-items: center;
4360
+ justify-content: center;
4361
+ height: var(--size-control-xs, 24px);
4362
+ padding: var(--spacing-padding-2xs, 0.25rem) var(--spacing-padding-xs, 0.5rem);
4363
+ border: 1px solid var(--color-border-default);
4364
+ border-radius: var(--radius-corner-sm, 4px);
4365
+ background: var(--color-surface-default);
4366
+ font-size: var(--text-label-sm);
4367
+ font-weight: var(--font-weight-label-sm, 500);
4368
+ color: var(--color-text-primary);
4369
+ cursor: pointer;
4370
+ white-space: nowrap;
4371
+ transition:
4372
+ border-color 150ms ease,
4373
+ background-color 150ms ease;
4374
+ }
4375
+ .nexus-image-upload__change-btn:hover {
4376
+ border-color: var(--color-border-default-hover);
4377
+ background: var(--color-surface-default-hover);
4378
+ }
4379
+
4380
+ /* ─── ImageUpload: Field wrapper (label + description) ─── */
4381
+ .nexus-image-upload-field {
4382
+ display: flex;
4383
+ flex-direction: column;
4384
+ gap: var(--spacing-gap-xs, 0.25rem);
4385
+ }
4386
+ .nexus-image-upload-field__label {
4387
+ font-size: var(--text-label-semibold-md);
4388
+ font-weight: var(--font-weight-label-semibold-md, 600);
4389
+ line-height: 1;
4390
+ letter-spacing: var(--letter-spacing-label-semibold-md, 0);
4391
+ color: var(--color-text-tertiary);
4392
+ }
4393
+ .nexus-image-upload-field__description {
4394
+ font-size: var(--text-text-xs);
4395
+ font-weight: var(--font-weight-text-xs, 400);
4396
+ line-height: 1.5;
4397
+ letter-spacing: var(--letter-spacing-text-xs, -0.01em);
4398
+ color: var(--color-text-tertiary);
4399
+ margin: 0;
4400
+ }
package/dist/styles.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkOE5BAEBE_js = require('./chunks/chunk-OE5BAEBE.js');
3
+ var chunk7B2CTQKB_js = require('./chunks/chunk-7B2CTQKB.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 = chunkOE5BAEBE_js.built_default;
11
+ style.textContent = chunk7B2CTQKB_js.built_default;
12
12
  document.head.appendChild(style);
13
13
  return true;
14
14
  })() : false;