@nexus-cross/design-system 1.0.12 → 1.0.14

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.
@@ -1 +1 @@
1
- {"version":3,"file":"built.d.ts","sourceRoot":"","sources":["../../../src/styles/.generated/built.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,GAAG,69nIAAqr9G,CAAC;AAC/r9G,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"built.d.ts","sourceRoot":"","sources":["../../../src/styles/.generated/built.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,GAAG,6vsIAAi8hH,CAAC;AAC38hH,eAAe,GAAG,CAAC"}
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkWXMMOQXZ_js = require('../chunks/chunk-WXMMOQXZ.js');
3
+ var chunkLAOQRXCE_js = require('../chunks/chunk-LAOQRXCE.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
- ${chunkWXMMOQXZ_js.built_default}
12
+ ${chunkLAOQRXCE_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-BQ6GJJB6.mjs';
1
+ import { built_default } from '../chunks/chunk-S6ODYMFP.mjs';
2
2
  import '../chunks/chunk-CVYXRSXT.mjs';
3
3
 
4
4
  // src/styles/inject-layer.ts
package/dist/styles.css CHANGED
@@ -2251,18 +2251,27 @@
2251
2251
  top: 0;
2252
2252
  left: 0;
2253
2253
  border-radius: var(--radius-corner-sm, 0.25rem);
2254
- background: var(--color-surface-default);
2255
- box-shadow: var(--shadow-sm);
2256
2254
  pointer-events: none;
2257
2255
  z-index: 0;
2258
2256
  will-change: transform, width;
2259
2257
  }
2258
+ .nexus-toggle-group--default .nexus-toggle-group__indicator {
2259
+ background: var(--color-surface-default);
2260
+ box-shadow: var(--shadow-sm);
2261
+ }
2262
+ .nexus-toggle-group--primary .nexus-toggle-group__indicator {
2263
+ background: var(--color-accent-primary);
2264
+ }
2265
+ .nexus-toggle-group--secondary .nexus-toggle-group__indicator {
2266
+ background: var(--color-accent-secondary);
2267
+ }
2260
2268
  .nexus-toggle-group__indicator--animated {
2261
2269
  transition:
2262
2270
  transform 200ms cubic-bezier(0, 0, 0.2, 1),
2263
2271
  width 200ms cubic-bezier(0, 0, 0.2, 1);
2264
2272
  }
2265
- .nexus-toggle-group--outline {
2273
+ .nexus-toggle-group--primary,
2274
+ .nexus-toggle-group--secondary {
2266
2275
  border: 1px solid var(--color-border-default);
2267
2276
  padding: var(--spacing-padding-2xs, 0.25rem);
2268
2277
  gap: 0;
@@ -2297,16 +2306,15 @@
2297
2306
  .nexus-toggle-group--default .nexus-toggle-group__item[data-state='on'] {
2298
2307
  color: var(--color-text-primary);
2299
2308
  }
2300
- .nexus-toggle-group--outline .nexus-toggle-group__item {
2301
- padding-inline: var(--spacing-padding-sm, 0.75rem);
2309
+ .nexus-toggle-group--primary .nexus-toggle-group__item[data-state='on'] {
2310
+ color: var(--color-accent-on-primary);
2302
2311
  }
2303
- .nexus-toggle-group--outline .nexus-toggle-group__item[data-state='on'] {
2304
- background: var(--color-accent-primary-dim);
2305
- color: var(--color-accent-primary-intense);
2312
+ .nexus-toggle-group--secondary .nexus-toggle-group__item[data-state='on'] {
2313
+ color: var(--color-accent-on-secondary);
2306
2314
  }
2307
- .nexus-toggle-group--outline
2308
- .nexus-toggle-group__item:not([data-state='on']):hover {
2309
- background: var(--color-surface-hover);
2315
+ .nexus-toggle-group--primary .nexus-toggle-group__item:not([data-state='on']):hover,
2316
+ .nexus-toggle-group--secondary .nexus-toggle-group__item:not([data-state='on']):hover {
2317
+ background: var(--color-surface-default-hover);
2310
2318
  color: var(--color-text-primary);
2311
2319
  }
2312
2320
  .nexus-toggle-group--sm .nexus-toggle-group__item {
@@ -2326,9 +2334,13 @@
2326
2334
  flex-shrink: 0;
2327
2335
  color: var(--color-icon-secondary);
2328
2336
  }
2329
- .nexus-toggle-group__item[data-state='on'] .nexus-toggle-group__icon {
2337
+ .nexus-toggle-group--default .nexus-toggle-group__item[data-state='on'] .nexus-toggle-group__icon {
2330
2338
  color: var(--color-icon-primary);
2331
2339
  }
2340
+ .nexus-toggle-group--primary .nexus-toggle-group__item[data-state='on'] .nexus-toggle-group__icon,
2341
+ .nexus-toggle-group--secondary .nexus-toggle-group__item[data-state='on'] .nexus-toggle-group__icon {
2342
+ color: currentColor;
2343
+ }
2332
2344
 
2333
2345
  /* ═══════════════════════════════════════════
2334
2346
  Slider
@@ -3612,17 +3624,14 @@
3612
3624
  }
3613
3625
  .nexus-stepper--horizontal .nexus-stepper__connector {
3614
3626
  flex: 1;
3615
- height: 2px;
3616
- background: var(--color-border-default);
3617
- transition: background var(--duration-transition-normal, 200ms)
3627
+ height: 0;
3628
+ border-top: 1px dashed var(--color-border-default);
3629
+ transition: border-color var(--duration-transition-normal, 200ms)
3618
3630
  var(--ease-transition-normal);
3619
3631
  }
3620
3632
  .nexus-stepper--horizontal .nexus-stepper__connector--hidden {
3621
3633
  visibility: hidden;
3622
3634
  }
3623
- .nexus-stepper--horizontal .nexus-stepper__connector--completed {
3624
- background: var(--color-accent-primary);
3625
- }
3626
3635
  .nexus-stepper--horizontal .nexus-stepper__content {
3627
3636
  margin-top: var(--spacing-gap-sm, 0.5rem);
3628
3637
  padding: 0 var(--spacing-padding-2xs, 0.25rem);
@@ -3647,16 +3656,13 @@
3647
3656
  flex-shrink: 0;
3648
3657
  }
3649
3658
  .nexus-stepper--vertical .nexus-stepper__connector {
3650
- width: 2px;
3659
+ width: 0;
3651
3660
  flex: 1;
3652
3661
  min-height: var(--spacing-padding-sm, 0.75rem);
3653
- background: var(--color-border-default);
3654
- transition: background var(--duration-transition-normal, 200ms)
3662
+ border-left: 1px dashed var(--color-border-default);
3663
+ transition: border-color var(--duration-transition-normal, 200ms)
3655
3664
  var(--ease-transition-normal);
3656
3665
  }
3657
- .nexus-stepper--vertical .nexus-stepper__connector--completed {
3658
- background: var(--color-accent-primary);
3659
- }
3660
3666
  .nexus-stepper--vertical .nexus-stepper__content {
3661
3667
  padding: var(--spacing-padding-xs, 0.5rem) 0;
3662
3668
  }
@@ -3667,25 +3673,27 @@
3667
3673
  align-items: center;
3668
3674
  justify-content: center;
3669
3675
  flex-shrink: 0;
3670
- width: var(--size-control-sm, 2rem);
3671
- height: var(--size-control-sm, 2rem);
3676
+ width: 30px;
3677
+ height: 30px;
3672
3678
  border-radius: var(--radius-corner-full, 9999px);
3673
- border: 2px solid var(--color-border-medium);
3674
- background: var(--color-surface-default);
3675
- font-size: var(--text-text-sm, 0.875rem);
3676
- font-weight: var(--font-weight-text-medium-sm, 500);
3677
- color: var(--color-text-secondary);
3678
- transition: all var(--duration-transition-normal, 200ms)
3679
- var(--ease-transition-normal);
3679
+ border: 1px solid var(--color-border-medium);
3680
+ background: transparent;
3681
+ font-size: var(--text-label-semibold-md, 0.875rem);
3682
+ font-weight: var(--font-weight-label-semibold-md, 600);
3683
+ color: var(--color-text-tertiary);
3684
+ transition:
3685
+ border-color var(--duration-transition-normal, 200ms) var(--ease-transition-normal),
3686
+ background-color var(--duration-transition-normal, 200ms) var(--ease-transition-normal),
3687
+ color var(--duration-transition-normal, 200ms) var(--ease-transition-normal);
3680
3688
  }
3681
3689
  .nexus-stepper--sm .nexus-stepper__indicator {
3682
- width: 1.75rem;
3683
- height: 1.75rem;
3690
+ width: 1.5rem;
3691
+ height: 1.5rem;
3684
3692
  font-size: var(--text-text-xs, 0.75rem);
3685
3693
  }
3686
3694
  .nexus-stepper__check {
3687
- width: var(--size-icon-sm, 1rem);
3688
- height: var(--size-icon-sm, 1rem);
3695
+ width: 13px;
3696
+ height: 13px;
3689
3697
  }
3690
3698
  .nexus-stepper--sm .nexus-stepper__check {
3691
3699
  width: var(--size-icon-xs, 0.75rem);
@@ -3695,33 +3703,31 @@
3695
3703
  /* ── State colors ── */
3696
3704
  .nexus-stepper__step--completed .nexus-stepper__indicator {
3697
3705
  border-color: var(--color-accent-primary);
3698
- background: var(--color-accent-primary);
3699
- color: var(--color-accent-on-primary);
3706
+ background: transparent;
3707
+ color: var(--color-accent-primary);
3700
3708
  }
3701
3709
  .nexus-stepper__step--active .nexus-stepper__indicator {
3702
3710
  border-color: var(--color-accent-primary);
3703
- color: var(--color-accent-primary);
3704
- background: var(--color-surface-default);
3705
- box-shadow: 0 0 0 3px
3706
- color-mix(in srgb, var(--color-accent-primary) 20%, transparent);
3711
+ background: var(--color-accent-primary);
3712
+ color: var(--color-accent-on-primary);
3707
3713
  }
3708
3714
  .nexus-stepper__step--error .nexus-stepper__indicator {
3709
3715
  border-color: var(--color-status-danger);
3710
3716
  color: var(--color-status-danger);
3711
- background: var(--color-surface-default);
3712
- box-shadow: 0 0 0 3px
3713
- color-mix(in srgb, var(--color-status-danger) 20%, transparent);
3717
+ background: transparent;
3714
3718
  }
3715
3719
  .nexus-stepper__step--pending .nexus-stepper__indicator {
3716
- border-color: var(--color-border-default);
3720
+ border-color: var(--color-border-medium);
3717
3721
  color: var(--color-text-tertiary);
3718
3722
  }
3719
3723
 
3720
3724
  /* ── Labels ── */
3721
3725
  .nexus-stepper__label {
3722
3726
  display: block;
3723
- font-size: var(--text-text-sm, 0.875rem);
3724
- font-weight: var(--font-weight-text-medium-sm, 500);
3727
+ font-size: var(--text-text-medium-xs, 0.75rem);
3728
+ font-weight: var(--font-weight-text-medium-xs, 500);
3729
+ line-height: 1.5;
3730
+ letter-spacing: var(--letter-spacing-text-medium-xs, -0.01em);
3725
3731
  color: var(--color-text-primary);
3726
3732
  }
3727
3733
  .nexus-stepper--sm .nexus-stepper__label {
@@ -3733,13 +3739,64 @@
3733
3739
  font-size: var(--text-text-xs, 0.75rem);
3734
3740
  color: var(--color-text-secondary);
3735
3741
  }
3736
- .nexus-stepper__step--pending .nexus-stepper__label {
3742
+ .nexus-stepper__step--completed .nexus-stepper__label {
3737
3743
  color: var(--color-text-secondary);
3738
3744
  }
3745
+ .nexus-stepper__step--completed .nexus-stepper__description {
3746
+ color: var(--color-text-muted);
3747
+ }
3748
+ .nexus-stepper__step--pending .nexus-stepper__label {
3749
+ color: var(--color-text-tertiary);
3750
+ }
3739
3751
  .nexus-stepper__step--pending .nexus-stepper__description {
3740
3752
  color: var(--color-text-muted);
3741
3753
  }
3742
3754
 
3755
+ /* ── Animations ── */
3756
+
3757
+ @keyframes nexus-stepper-pulse {
3758
+ 0%, 100% { box-shadow: 0 0 0 0 rgba(9, 180, 152, 0.25); }
3759
+ 50% { box-shadow: 0 0 0 3px rgba(9, 180, 152, 0.25); }
3760
+ }
3761
+ @keyframes nexus-stepper-pop {
3762
+ 0% { transform: scale(0.7); opacity: 0.5; }
3763
+ 60% { transform: scale(1.15); opacity: 1; }
3764
+ 100% { transform: scale(1); opacity: 1; }
3765
+ }
3766
+ @keyframes nexus-stepper-check-in {
3767
+ 0% { opacity: 0; transform: scale(0) rotate(-45deg); }
3768
+ 60% { opacity: 1; transform: scale(1.2) rotate(0deg); }
3769
+ 100% { opacity: 1; transform: scale(1) rotate(0deg); }
3770
+ }
3771
+ @keyframes nexus-stepper-label-slide {
3772
+ 0% { opacity: 0; transform: translateY(4px); }
3773
+ 100% { opacity: 1; transform: translateY(0); }
3774
+ }
3775
+
3776
+ .nexus-stepper__step--active .nexus-stepper__indicator {
3777
+ animation: nexus-stepper-pulse 2s ease-in-out infinite;
3778
+ }
3779
+
3780
+ .nexus-stepper__step--animating.nexus-stepper__step--active .nexus-stepper__indicator {
3781
+ animation:
3782
+ nexus-stepper-pop 500ms cubic-bezier(0.175, 0.885, 0.32, 1.275) both,
3783
+ nexus-stepper-pulse 2s ease-in-out 500ms infinite;
3784
+ }
3785
+ .nexus-stepper__step--animating.nexus-stepper__step--active .nexus-stepper__label {
3786
+ animation: nexus-stepper-label-slide 350ms ease-out both;
3787
+ }
3788
+ .nexus-stepper__step--animating.nexus-stepper__step--active .nexus-stepper__description {
3789
+ animation: nexus-stepper-label-slide 350ms ease-out 50ms both;
3790
+ }
3791
+
3792
+ @media (prefers-reduced-motion: reduce) {
3793
+ .nexus-stepper__step--active .nexus-stepper__indicator,
3794
+ .nexus-stepper__step--animating .nexus-stepper__indicator,
3795
+ .nexus-stepper__step--animating .nexus-stepper__label,
3796
+ .nexus-stepper__step--animating .nexus-stepper__description,
3797
+ .nexus-stepper__check { animation: none !important; }
3798
+ }
3799
+
3743
3800
  /* ═══════════════════════════════════════════
3744
3801
  TagInput
3745
3802
  ═══════════════════════════════════════════ */
package/dist/styles.js CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunkWXMMOQXZ_js = require('./chunks/chunk-WXMMOQXZ.js');
3
+ var chunkLAOQRXCE_js = require('./chunks/chunk-LAOQRXCE.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 = chunkWXMMOQXZ_js.built_default;
11
+ style.textContent = chunkLAOQRXCE_js.built_default;
12
12
  document.head.appendChild(style);
13
13
  return true;
14
14
  })() : false;
@@ -2252,18 +2252,27 @@
2252
2252
  top: 0;
2253
2253
  left: 0;
2254
2254
  border-radius: var(--radius-corner-sm, 0.25rem);
2255
- background: var(--color-surface-default);
2256
- box-shadow: var(--shadow-sm);
2257
2255
  pointer-events: none;
2258
2256
  z-index: 0;
2259
2257
  will-change: transform, width;
2260
2258
  }
2259
+ .nexus-toggle-group--default .nexus-toggle-group__indicator {
2260
+ background: var(--color-surface-default);
2261
+ box-shadow: var(--shadow-sm);
2262
+ }
2263
+ .nexus-toggle-group--primary .nexus-toggle-group__indicator {
2264
+ background: var(--color-accent-primary);
2265
+ }
2266
+ .nexus-toggle-group--secondary .nexus-toggle-group__indicator {
2267
+ background: var(--color-accent-secondary);
2268
+ }
2261
2269
  .nexus-toggle-group__indicator--animated {
2262
2270
  transition:
2263
2271
  transform 200ms cubic-bezier(0, 0, 0.2, 1),
2264
2272
  width 200ms cubic-bezier(0, 0, 0.2, 1);
2265
2273
  }
2266
- .nexus-toggle-group--outline {
2274
+ .nexus-toggle-group--primary,
2275
+ .nexus-toggle-group--secondary {
2267
2276
  border: 1px solid var(--color-border-default);
2268
2277
  padding: var(--spacing-padding-2xs, 0.25rem);
2269
2278
  gap: 0;
@@ -2298,16 +2307,15 @@
2298
2307
  .nexus-toggle-group--default .nexus-toggle-group__item[data-state='on'] {
2299
2308
  color: var(--color-text-primary);
2300
2309
  }
2301
- .nexus-toggle-group--outline .nexus-toggle-group__item {
2302
- padding-inline: var(--spacing-padding-sm, 0.75rem);
2310
+ .nexus-toggle-group--primary .nexus-toggle-group__item[data-state='on'] {
2311
+ color: var(--color-accent-on-primary);
2303
2312
  }
2304
- .nexus-toggle-group--outline .nexus-toggle-group__item[data-state='on'] {
2305
- background: var(--color-accent-primary-dim);
2306
- color: var(--color-accent-primary-intense);
2313
+ .nexus-toggle-group--secondary .nexus-toggle-group__item[data-state='on'] {
2314
+ color: var(--color-accent-on-secondary);
2307
2315
  }
2308
- .nexus-toggle-group--outline
2309
- .nexus-toggle-group__item:not([data-state='on']):hover {
2310
- background: var(--color-surface-hover);
2316
+ .nexus-toggle-group--primary .nexus-toggle-group__item:not([data-state='on']):hover,
2317
+ .nexus-toggle-group--secondary .nexus-toggle-group__item:not([data-state='on']):hover {
2318
+ background: var(--color-surface-default-hover);
2311
2319
  color: var(--color-text-primary);
2312
2320
  }
2313
2321
  .nexus-toggle-group--sm .nexus-toggle-group__item {
@@ -2327,9 +2335,13 @@
2327
2335
  flex-shrink: 0;
2328
2336
  color: var(--color-icon-secondary);
2329
2337
  }
2330
- .nexus-toggle-group__item[data-state='on'] .nexus-toggle-group__icon {
2338
+ .nexus-toggle-group--default .nexus-toggle-group__item[data-state='on'] .nexus-toggle-group__icon {
2331
2339
  color: var(--color-icon-primary);
2332
2340
  }
2341
+ .nexus-toggle-group--primary .nexus-toggle-group__item[data-state='on'] .nexus-toggle-group__icon,
2342
+ .nexus-toggle-group--secondary .nexus-toggle-group__item[data-state='on'] .nexus-toggle-group__icon {
2343
+ color: currentColor;
2344
+ }
2333
2345
 
2334
2346
  /* ═══════════════════════════════════════════
2335
2347
  Slider
@@ -3613,17 +3625,14 @@
3613
3625
  }
3614
3626
  .nexus-stepper--horizontal .nexus-stepper__connector {
3615
3627
  flex: 1;
3616
- height: 2px;
3617
- background: var(--color-border-default);
3618
- transition: background var(--duration-transition-normal, 200ms)
3628
+ height: 0;
3629
+ border-top: 1px dashed var(--color-border-default);
3630
+ transition: border-color var(--duration-transition-normal, 200ms)
3619
3631
  var(--ease-transition-normal);
3620
3632
  }
3621
3633
  .nexus-stepper--horizontal .nexus-stepper__connector--hidden {
3622
3634
  visibility: hidden;
3623
3635
  }
3624
- .nexus-stepper--horizontal .nexus-stepper__connector--completed {
3625
- background: var(--color-accent-primary);
3626
- }
3627
3636
  .nexus-stepper--horizontal .nexus-stepper__content {
3628
3637
  margin-top: var(--spacing-gap-sm, 0.5rem);
3629
3638
  padding: 0 var(--spacing-padding-2xs, 0.25rem);
@@ -3648,16 +3657,13 @@
3648
3657
  flex-shrink: 0;
3649
3658
  }
3650
3659
  .nexus-stepper--vertical .nexus-stepper__connector {
3651
- width: 2px;
3660
+ width: 0;
3652
3661
  flex: 1;
3653
3662
  min-height: var(--spacing-padding-sm, 0.75rem);
3654
- background: var(--color-border-default);
3655
- transition: background var(--duration-transition-normal, 200ms)
3663
+ border-left: 1px dashed var(--color-border-default);
3664
+ transition: border-color var(--duration-transition-normal, 200ms)
3656
3665
  var(--ease-transition-normal);
3657
3666
  }
3658
- .nexus-stepper--vertical .nexus-stepper__connector--completed {
3659
- background: var(--color-accent-primary);
3660
- }
3661
3667
  .nexus-stepper--vertical .nexus-stepper__content {
3662
3668
  padding: var(--spacing-padding-xs, 0.5rem) 0;
3663
3669
  }
@@ -3668,25 +3674,27 @@
3668
3674
  align-items: center;
3669
3675
  justify-content: center;
3670
3676
  flex-shrink: 0;
3671
- width: var(--size-control-sm, 2rem);
3672
- height: var(--size-control-sm, 2rem);
3677
+ width: 30px;
3678
+ height: 30px;
3673
3679
  border-radius: var(--radius-corner-full, 9999px);
3674
- border: 2px solid var(--color-border-medium);
3675
- background: var(--color-surface-default);
3676
- font-size: var(--text-text-sm, 0.875rem);
3677
- font-weight: var(--font-weight-text-medium-sm, 500);
3678
- color: var(--color-text-secondary);
3679
- transition: all var(--duration-transition-normal, 200ms)
3680
- var(--ease-transition-normal);
3680
+ border: 1px solid var(--color-border-medium);
3681
+ background: transparent;
3682
+ font-size: var(--text-label-semibold-md, 0.875rem);
3683
+ font-weight: var(--font-weight-label-semibold-md, 600);
3684
+ color: var(--color-text-tertiary);
3685
+ transition:
3686
+ border-color var(--duration-transition-normal, 200ms) var(--ease-transition-normal),
3687
+ background-color var(--duration-transition-normal, 200ms) var(--ease-transition-normal),
3688
+ color var(--duration-transition-normal, 200ms) var(--ease-transition-normal);
3681
3689
  }
3682
3690
  .nexus-stepper--sm .nexus-stepper__indicator {
3683
- width: 1.75rem;
3684
- height: 1.75rem;
3691
+ width: 1.5rem;
3692
+ height: 1.5rem;
3685
3693
  font-size: var(--text-text-xs, 0.75rem);
3686
3694
  }
3687
3695
  .nexus-stepper__check {
3688
- width: var(--size-icon-sm, 1rem);
3689
- height: var(--size-icon-sm, 1rem);
3696
+ width: 13px;
3697
+ height: 13px;
3690
3698
  }
3691
3699
  .nexus-stepper--sm .nexus-stepper__check {
3692
3700
  width: var(--size-icon-xs, 0.75rem);
@@ -3696,33 +3704,31 @@
3696
3704
  /* ── State colors ── */
3697
3705
  .nexus-stepper__step--completed .nexus-stepper__indicator {
3698
3706
  border-color: var(--color-accent-primary);
3699
- background: var(--color-accent-primary);
3700
- color: var(--color-accent-on-primary);
3707
+ background: transparent;
3708
+ color: var(--color-accent-primary);
3701
3709
  }
3702
3710
  .nexus-stepper__step--active .nexus-stepper__indicator {
3703
3711
  border-color: var(--color-accent-primary);
3704
- color: var(--color-accent-primary);
3705
- background: var(--color-surface-default);
3706
- box-shadow: 0 0 0 3px
3707
- color-mix(in srgb, var(--color-accent-primary) 20%, transparent);
3712
+ background: var(--color-accent-primary);
3713
+ color: var(--color-accent-on-primary);
3708
3714
  }
3709
3715
  .nexus-stepper__step--error .nexus-stepper__indicator {
3710
3716
  border-color: var(--color-status-danger);
3711
3717
  color: var(--color-status-danger);
3712
- background: var(--color-surface-default);
3713
- box-shadow: 0 0 0 3px
3714
- color-mix(in srgb, var(--color-status-danger) 20%, transparent);
3718
+ background: transparent;
3715
3719
  }
3716
3720
  .nexus-stepper__step--pending .nexus-stepper__indicator {
3717
- border-color: var(--color-border-default);
3721
+ border-color: var(--color-border-medium);
3718
3722
  color: var(--color-text-tertiary);
3719
3723
  }
3720
3724
 
3721
3725
  /* ── Labels ── */
3722
3726
  .nexus-stepper__label {
3723
3727
  display: block;
3724
- font-size: var(--text-text-sm, 0.875rem);
3725
- font-weight: var(--font-weight-text-medium-sm, 500);
3728
+ font-size: var(--text-text-medium-xs, 0.75rem);
3729
+ font-weight: var(--font-weight-text-medium-xs, 500);
3730
+ line-height: 1.5;
3731
+ letter-spacing: var(--letter-spacing-text-medium-xs, -0.01em);
3726
3732
  color: var(--color-text-primary);
3727
3733
  }
3728
3734
  .nexus-stepper--sm .nexus-stepper__label {
@@ -3734,13 +3740,64 @@
3734
3740
  font-size: var(--text-text-xs, 0.75rem);
3735
3741
  color: var(--color-text-secondary);
3736
3742
  }
3737
- .nexus-stepper__step--pending .nexus-stepper__label {
3743
+ .nexus-stepper__step--completed .nexus-stepper__label {
3738
3744
  color: var(--color-text-secondary);
3739
3745
  }
3746
+ .nexus-stepper__step--completed .nexus-stepper__description {
3747
+ color: var(--color-text-muted);
3748
+ }
3749
+ .nexus-stepper__step--pending .nexus-stepper__label {
3750
+ color: var(--color-text-tertiary);
3751
+ }
3740
3752
  .nexus-stepper__step--pending .nexus-stepper__description {
3741
3753
  color: var(--color-text-muted);
3742
3754
  }
3743
3755
 
3756
+ /* ── Animations ── */
3757
+
3758
+ @keyframes nexus-stepper-pulse {
3759
+ 0%, 100% { box-shadow: 0 0 0 0 rgba(9, 180, 152, 0.25); }
3760
+ 50% { box-shadow: 0 0 0 3px rgba(9, 180, 152, 0.25); }
3761
+ }
3762
+ @keyframes nexus-stepper-pop {
3763
+ 0% { transform: scale(0.7); opacity: 0.5; }
3764
+ 60% { transform: scale(1.15); opacity: 1; }
3765
+ 100% { transform: scale(1); opacity: 1; }
3766
+ }
3767
+ @keyframes nexus-stepper-check-in {
3768
+ 0% { opacity: 0; transform: scale(0) rotate(-45deg); }
3769
+ 60% { opacity: 1; transform: scale(1.2) rotate(0deg); }
3770
+ 100% { opacity: 1; transform: scale(1) rotate(0deg); }
3771
+ }
3772
+ @keyframes nexus-stepper-label-slide {
3773
+ 0% { opacity: 0; transform: translateY(4px); }
3774
+ 100% { opacity: 1; transform: translateY(0); }
3775
+ }
3776
+
3777
+ .nexus-stepper__step--active .nexus-stepper__indicator {
3778
+ animation: nexus-stepper-pulse 2s ease-in-out infinite;
3779
+ }
3780
+
3781
+ .nexus-stepper__step--animating.nexus-stepper__step--active .nexus-stepper__indicator {
3782
+ animation:
3783
+ nexus-stepper-pop 500ms cubic-bezier(0.175, 0.885, 0.32, 1.275) both,
3784
+ nexus-stepper-pulse 2s ease-in-out 500ms infinite;
3785
+ }
3786
+ .nexus-stepper__step--animating.nexus-stepper__step--active .nexus-stepper__label {
3787
+ animation: nexus-stepper-label-slide 350ms ease-out both;
3788
+ }
3789
+ .nexus-stepper__step--animating.nexus-stepper__step--active .nexus-stepper__description {
3790
+ animation: nexus-stepper-label-slide 350ms ease-out 50ms both;
3791
+ }
3792
+
3793
+ @media (prefers-reduced-motion: reduce) {
3794
+ .nexus-stepper__step--active .nexus-stepper__indicator,
3795
+ .nexus-stepper__step--animating .nexus-stepper__indicator,
3796
+ .nexus-stepper__step--animating .nexus-stepper__label,
3797
+ .nexus-stepper__step--animating .nexus-stepper__description,
3798
+ .nexus-stepper__check { animation: none !important; }
3799
+ }
3800
+
3744
3801
  /* ═══════════════════════════════════════════
3745
3802
  TagInput
3746
3803
  ═══════════════════════════════════════════ */
package/dist/styles.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { built_default } from './chunks/chunk-BQ6GJJB6.mjs';
1
+ import { built_default } from './chunks/chunk-S6ODYMFP.mjs';
2
2
  import './chunks/chunk-CVYXRSXT.mjs';
3
3
 
4
4
  // src/styles/inject.ts
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var chunk2WM23PO6_js = require('./chunks/chunk-2WM23PO6.js');
3
+ var chunkK574BYHQ_js = require('./chunks/chunk-K574BYHQ.js');
4
4
  require('./chunks/chunk-CZC76ZD5.js');
5
5
  require('./chunks/chunk-JNMCYWGY.js');
6
6
 
@@ -8,9 +8,9 @@ require('./chunks/chunk-JNMCYWGY.js');
8
8
 
9
9
  Object.defineProperty(exports, "ToggleGroup", {
10
10
  enumerable: true,
11
- get: function () { return chunk2WM23PO6_js.ToggleGroup; }
11
+ get: function () { return chunkK574BYHQ_js.ToggleGroup; }
12
12
  });
13
13
  Object.defineProperty(exports, "toggleGroupVariants", {
14
14
  enumerable: true,
15
- get: function () { return chunk2WM23PO6_js.toggleGroupVariants; }
15
+ get: function () { return chunkK574BYHQ_js.toggleGroupVariants; }
16
16
  });
@@ -1,3 +1,3 @@
1
- export { ToggleGroup, toggleGroupVariants } from './chunks/chunk-HI5XZ4PB.mjs';
1
+ export { ToggleGroup, toggleGroupVariants } from './chunks/chunk-Z4YM7LU3.mjs';
2
2
  import './chunks/chunk-MCKOWMLS.mjs';
3
3
  import './chunks/chunk-CVYXRSXT.mjs';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nexus-cross/design-system",
3
- "version": "1.0.12",
3
+ "version": "1.0.14",
4
4
  "description": "NEXUS Design System UI Components",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.mjs",
@@ -348,7 +348,7 @@
348
348
  "typescript": "^5.0.0",
349
349
  "vitest": "^1.6.1",
350
350
  "zod-to-json-schema": "^3.25.2",
351
- "@nexus-cross/tokens": "1.0.12"
351
+ "@nexus-cross/tokens": "1.0.14"
352
352
  },
353
353
  "scripts": {
354
354
  "postinstall": "node scripts/setup-cursor-rules.cjs",
@@ -96,6 +96,20 @@ function run() {
96
96
  }
97
97
  }
98
98
 
99
+ // CLAUDE.md → project root (Claude Code support)
100
+ const claudeMdSrc = path.join(rulesSourceDir, 'CLAUDE.md');
101
+ if (fs.existsSync(claudeMdSrc)) {
102
+ const dest = path.join(projectRoot, 'CLAUDE.md');
103
+ const srcContent = fs.readFileSync(claudeMdSrc, 'utf-8');
104
+ const destExists = fs.existsSync(dest);
105
+ const destContent = destExists ? fs.readFileSync(dest, 'utf-8') : '';
106
+ if (!destExists || srcContent !== destContent) {
107
+ fs.writeFileSync(dest, srcContent, 'utf-8');
108
+ installed++;
109
+ console.log(`[@nexus-cross/design-system] ${destExists ? 'updated' : 'installed'}: CLAUDE.md`);
110
+ }
111
+ }
112
+
99
113
  if (installed === 0) {
100
114
  console.log('[@nexus-cross] Cursor rules are already up to date.');
101
115
  } else {