@chellaa/react 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.css CHANGED
@@ -2376,7 +2376,7 @@
2376
2376
  z-index: var(--cl-z-tooltip, 1400);
2377
2377
  max-width: var(--cl-size-tooltip-max, 320px);
2378
2378
  padding: var(--cl-space-1, 4px) var(--cl-space-2, 8px);
2379
- font-family: var(--cl-font-family-sans, system-ui, -apple-system, sans-serif);
2379
+ font-family: var( --cl-font-family-sans, system-ui, -apple-system, sans-serif );
2380
2380
  font-size: var(--cl-font-size-xs, 12px);
2381
2381
  line-height: var(--cl-line-height-tight, 1.4);
2382
2382
  font-weight: var(--cl-font-weight-medium, 500);
@@ -2384,7 +2384,7 @@
2384
2384
  background-color: var(--cl-color-bg-inverse, #0f172a);
2385
2385
  border: 1px solid var(--cl-color-border-subtle, rgba(255, 255, 255, 0.1));
2386
2386
  border-radius: var(--cl-radius-sm, 4px);
2387
- box-shadow: var(--cl-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1));
2387
+ box-shadow: var( --cl-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -2px rgba(0, 0, 0, 0.1) );
2388
2388
  pointer-events: auto;
2389
2389
  user-select: none;
2390
2390
  display: inline-flex;
@@ -2392,6 +2392,10 @@
2392
2392
  box-sizing: border-box;
2393
2393
  transition: opacity var(--cl-duration-fast, 150ms) var(--cl-easing-standard, cubic-bezier(0.4, 0, 0.2, 1)), transform var(--cl-duration-fast, 150ms) var(--cl-easing-standard, cubic-bezier(0.4, 0, 0.2, 1));
2394
2394
  }
2395
+ .cl-tooltip:not([data-positioned=true]) {
2396
+ opacity: 0;
2397
+ pointer-events: none;
2398
+ }
2395
2399
  .cl-tooltip[data-state=closed] {
2396
2400
  opacity: 0;
2397
2401
  transform: scale(0.96);
@@ -2457,23 +2461,29 @@
2457
2461
  max-width: var(--cl-size-popover-max, 400px);
2458
2462
  width: max-content;
2459
2463
  box-sizing: border-box;
2460
- font-family: var(--cl-font-family-sans, system-ui, -apple-system, sans-serif);
2464
+ font-family: var( --cl-font-family-sans, system-ui, -apple-system, sans-serif );
2461
2465
  background-color: var(--cl-popover-bg, var(--cl-color-bg-elev, #ffffff));
2462
2466
  color: var(--cl-color-fg-primary, #0f172a);
2463
2467
  border: 1px solid var(--cl-popover-border, var(--cl-color-border-subtle, #e2e8f0));
2464
2468
  border-radius: var(--cl-radius-lg, 8px);
2465
- box-shadow: var(--cl-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1));
2469
+ box-shadow: var( --cl-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) );
2466
2470
  outline: none;
2467
2471
  transition: opacity var(--cl-duration-fast, 150ms) var(--cl-easing-standard, cubic-bezier(0.4, 0, 0.2, 1)), transform var(--cl-duration-fast, 150ms) var(--cl-easing-standard, cubic-bezier(0.4, 0, 0.2, 1));
2468
2472
  }
2473
+ .cl-popover:not([data-positioned=true]) {
2474
+ opacity: 0 !important;
2475
+ pointer-events: none !important;
2476
+ visibility: hidden !important;
2477
+ }
2469
2478
  .cl-popover[data-state=closed] {
2470
2479
  opacity: 0;
2471
2480
  transform: scale(0.98);
2472
2481
  pointer-events: none;
2473
2482
  }
2474
- .cl-popover[data-state=open] {
2483
+ .cl-popover[data-state=open][data-positioned=true] {
2475
2484
  opacity: 1;
2476
2485
  transform: scale(1);
2486
+ visibility: visible;
2477
2487
  }
2478
2488
  .cl-popover__header {
2479
2489
  display: flex;
@@ -2554,12 +2564,12 @@
2554
2564
  }
2555
2565
  [data-theme=dark] .cl-popover {
2556
2566
  background-color: var(--cl-popover-bg, var(--cl-color-bg-elev, #1e293b));
2557
- border-color: var(--cl-popover-border, var(--cl-color-border-subtle, #334155));
2567
+ border-color: var( --cl-popover-border, var(--cl-color-border-subtle, #334155) );
2558
2568
  color: var(--cl-color-fg-primary, #f8fafc);
2559
2569
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.5), 0 4px 6px -4px rgba(0, 0, 0, 0.4);
2560
2570
  }
2561
2571
  [data-theme=dark] .cl-popover__header {
2562
- border-bottom-color: var(--cl-popover-border, var(--cl-color-border-subtle, #334155));
2572
+ border-bottom-color: var( --cl-popover-border, var(--cl-color-border-subtle, #334155) );
2563
2573
  }
2564
2574
  [data-theme=dark] .cl-popover__title {
2565
2575
  color: var(--cl-color-fg-primary, #f8fafc);
@@ -2572,7 +2582,7 @@
2572
2582
  color: var(--cl-color-fg-primary, #f8fafc);
2573
2583
  }
2574
2584
  [data-theme=dark] .cl-popover__footer {
2575
- border-top-color: var(--cl-popover-border, var(--cl-color-border-subtle, #334155));
2585
+ border-top-color: var( --cl-popover-border, var(--cl-color-border-subtle, #334155) );
2576
2586
  }
2577
2587
  @media (max-width: 480px) {
2578
2588
  .cl-popover {
@@ -3052,7 +3062,38 @@
3052
3062
  display: flex;
3053
3063
  flex-direction: column;
3054
3064
  box-sizing: border-box;
3055
- }
3065
+ --cl-accordion-trigger-padding-y: var(--cl-space-3-5, 14px);
3066
+ --cl-accordion-trigger-padding-x: var(--cl-space-4, 16px);
3067
+ --cl-accordion-title-size: var(--cl-font-base, 16px);
3068
+ --cl-accordion-description-size: var(--cl-font-sm, 14px);
3069
+ --cl-accordion-icon-size: 18px;
3070
+ --cl-accordion-content-padding: 0 var(--cl-space-4, 16px) var(--cl-space-4, 16px) var(--cl-space-4, 16px);
3071
+ }
3072
+ .cl-accordion--size-sm {
3073
+ --cl-accordion-trigger-padding-y: var(--cl-space-2, 8px);
3074
+ --cl-accordion-trigger-padding-x: var(--cl-space-3, 12px);
3075
+ --cl-accordion-title-size: var(--cl-font-sm, 14px);
3076
+ --cl-accordion-description-size: var(--cl-font-xs, 12px);
3077
+ --cl-accordion-icon-size: 14px;
3078
+ --cl-accordion-content-padding: 0 var(--cl-space-3, 12px) var(--cl-space-3, 12px) var(--cl-space-3, 12px);
3079
+ }
3080
+ .cl-accordion--size-md {
3081
+ --cl-accordion-trigger-padding-y: var(--cl-space-3-5, 14px);
3082
+ --cl-accordion-trigger-padding-x: var(--cl-space-4, 16px);
3083
+ --cl-accordion-title-size: var(--cl-font-base, 16px);
3084
+ --cl-accordion-description-size: var(--cl-font-sm, 14px);
3085
+ --cl-accordion-icon-size: 18px;
3086
+ --cl-accordion-content-padding: 0 var(--cl-space-4, 16px) var(--cl-space-4, 16px) var(--cl-space-4, 16px);
3087
+ }
3088
+ .cl-accordion--size-lg {
3089
+ --cl-accordion-trigger-padding-y: var(--cl-space-4, 16px);
3090
+ --cl-accordion-trigger-padding-x: var(--cl-space-5, 20px);
3091
+ --cl-accordion-title-size: var(--cl-font-lg, 18px);
3092
+ --cl-accordion-description-size: var(--cl-font-base, 16px);
3093
+ --cl-accordion-icon-size: 20px;
3094
+ --cl-accordion-content-padding: 0 var(--cl-space-5, 20px) var(--cl-space-5, 20px) var(--cl-space-5, 20px);
3095
+ }
3096
+ .cl-accordion--default,
3056
3097
  .cl-accordion--outline {
3057
3098
  background-color: var(--cl-color-bg-canvas, #ffffff);
3058
3099
  border: 1px solid var(--cl-color-border-subtle, #e2e8f0);
@@ -3060,21 +3101,19 @@
3060
3101
  box-shadow: var(--cl-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
3061
3102
  overflow: hidden;
3062
3103
  }
3104
+ .cl-accordion--default .cl-accordion__item:not(:last-child),
3105
+ .cl-accordion--outline .cl-accordion__item:not(:last-child) {
3106
+ border-bottom: 1px solid var(--cl-color-border-subtle, #e2e8f0);
3107
+ }
3108
+ .cl-accordion--default .cl-accordion__item[data-state=open],
3109
+ .cl-accordion--outline .cl-accordion__item[data-state=open] {
3110
+ background-color: var(--cl-color-bg-surface, rgba(0, 0, 0, 0.015));
3111
+ }
3063
3112
  .cl-accordion--separated {
3064
3113
  gap: var(--cl-space-3, 12px);
3065
- }
3066
- .cl-accordion--flush {
3067
3114
  border: none;
3068
3115
  background: transparent;
3069
- }
3070
- .cl-accordion__item {
3071
- box-sizing: border-box;
3072
- }
3073
- .cl-accordion--outline .cl-accordion__item {
3074
- border-bottom: 1px solid var(--cl-color-border-subtle, #e2e8f0);
3075
- }
3076
- .cl-accordion--outline .cl-accordion__item:last-child {
3077
- border-bottom: none;
3116
+ box-shadow: none;
3078
3117
  }
3079
3118
  .cl-accordion--separated .cl-accordion__item {
3080
3119
  background-color: var(--cl-color-bg-canvas, #ffffff);
@@ -3082,16 +3121,57 @@
3082
3121
  border-radius: var(--cl-rad-lg, 8px);
3083
3122
  box-shadow: var(--cl-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
3084
3123
  overflow: hidden;
3085
- transition: border-color var(--cl-duration-fast, 150ms) ease, box-shadow var(--cl-duration-fast, 150ms) ease;
3124
+ transition:
3125
+ border-color var(--cl-duration-fast, 150ms) ease,
3126
+ box-shadow var(--cl-duration-fast, 150ms) ease,
3127
+ background-color var(--cl-duration-fast, 150ms) ease;
3086
3128
  }
3087
3129
  .cl-accordion--separated .cl-accordion__item:hover:not([data-disabled]) {
3088
3130
  border-color: var(--cl-color-border-default, #cbd5e1);
3089
3131
  }
3090
- .cl-accordion--flush .cl-accordion__item {
3132
+ .cl-accordion--separated .cl-accordion__item[data-state=open] {
3133
+ border-color: var(--cl-color-primary-subtle, #c7d2fe);
3134
+ box-shadow: var(--cl-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -2px rgba(0, 0, 0, 0.05));
3135
+ }
3136
+ .cl-accordion--borderless,
3137
+ .cl-accordion--flush {
3138
+ border: none;
3139
+ background: transparent;
3140
+ box-shadow: none;
3141
+ }
3142
+ .cl-accordion--borderless .cl-accordion__item:not(:last-child),
3143
+ .cl-accordion--flush .cl-accordion__item:not(:last-child) {
3091
3144
  border-bottom: 1px solid var(--cl-color-border-subtle, #e2e8f0);
3092
3145
  }
3093
- .cl-accordion--flush .cl-accordion__item:last-child {
3094
- border-bottom: none;
3146
+ .cl-accordion--filled {
3147
+ gap: var(--cl-space-2, 8px);
3148
+ border: none;
3149
+ background: transparent;
3150
+ box-shadow: none;
3151
+ }
3152
+ .cl-accordion--filled .cl-accordion__item {
3153
+ background-color: var(--cl-color-bg-subtle, #f8fafc);
3154
+ border: 1px solid transparent;
3155
+ border-radius: var(--cl-rad-md, 6px);
3156
+ overflow: hidden;
3157
+ transition:
3158
+ background-color var(--cl-duration-fast, 150ms) ease,
3159
+ border-color var(--cl-duration-fast, 150ms) ease,
3160
+ box-shadow var(--cl-duration-fast, 150ms) ease;
3161
+ }
3162
+ .cl-accordion--filled .cl-accordion__item:hover:not([data-disabled]) {
3163
+ background-color: var(--cl-color-bg-surface, #f1f5f9);
3164
+ }
3165
+ .cl-accordion--filled .cl-accordion__item[data-state=open] {
3166
+ background-color: var(--cl-color-bg-canvas, #ffffff);
3167
+ border-color: var(--cl-color-border-subtle, #e2e8f0);
3168
+ box-shadow: var(--cl-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
3169
+ }
3170
+ .cl-accordion__item {
3171
+ box-sizing: border-box;
3172
+ }
3173
+ .cl-accordion__item--disabled {
3174
+ opacity: 0.5;
3095
3175
  }
3096
3176
  .cl-accordion__header {
3097
3177
  margin: 0;
@@ -3105,39 +3185,90 @@
3105
3185
  align-items: center;
3106
3186
  justify-content: space-between;
3107
3187
  width: 100%;
3108
- padding: var(--cl-space-4, 16px) var(--cl-space-5, 20px);
3188
+ min-height: 44px;
3189
+ padding: var(--cl-accordion-trigger-padding-y) var(--cl-accordion-trigger-padding-x);
3190
+ gap: var(--cl-space-3, 12px);
3109
3191
  background: transparent;
3110
3192
  border: none;
3111
3193
  cursor: pointer;
3112
3194
  font-family: var(--cl-font-sans, inherit);
3113
- font-size: var(--cl-font-base, 16px);
3114
- font-weight: var(--cl-font-weight-medium, 500);
3115
3195
  color: var(--cl-color-fg-primary, #0f172a);
3116
3196
  text-align: left;
3117
3197
  outline: none;
3118
3198
  box-sizing: border-box;
3119
3199
  transition: background-color var(--cl-duration-fast, 150ms) ease, color var(--cl-duration-fast, 150ms) ease;
3120
3200
  }
3121
- .cl-accordion__trigger:hover:not([disabled]):not([data-disabled]) {
3122
- background-color: var(--cl-color-bg-surface, rgba(0, 0, 0, 0.02));
3201
+ .cl-accordion--size-sm .cl-accordion__trigger {
3202
+ min-height: 36px;
3123
3203
  }
3124
- .cl-accordion__trigger[aria-expanded=true],
3125
- .cl-accordion__trigger[data-state=open] {
3126
- font-weight: var(--cl-font-weight-semibold, 600);
3204
+ .cl-accordion__trigger:hover:not([disabled]):not([data-disabled]) {
3205
+ background-color: var(--cl-color-bg-surface, rgba(0, 0, 0, 0.025));
3127
3206
  }
3128
3207
  .cl-accordion__trigger:focus-visible {
3129
3208
  outline: 2px solid var(--cl-color-primary-base, #4f46e5);
3130
3209
  outline-offset: -2px;
3210
+ z-index: 1;
3131
3211
  }
3132
3212
  .cl-accordion__trigger:disabled,
3133
3213
  .cl-accordion__trigger[data-disabled] {
3134
- opacity: 0.5;
3135
3214
  cursor: not-allowed;
3215
+ opacity: 0.6;
3216
+ }
3217
+ .cl-accordion__trigger--indicator-start {
3218
+ justify-content: flex-start;
3219
+ }
3220
+ .cl-accordion__leading-icon {
3221
+ display: inline-flex;
3222
+ align-items: center;
3223
+ justify-content: center;
3224
+ flex-shrink: 0;
3225
+ width: var(--cl-accordion-icon-size);
3226
+ height: var(--cl-accordion-icon-size);
3227
+ font-size: var(--cl-accordion-icon-size);
3228
+ color: var(--cl-color-fg-muted, #64748b);
3229
+ }
3230
+ .cl-accordion__trigger-text {
3231
+ display: flex;
3232
+ flex-direction: column;
3233
+ flex: 1;
3234
+ min-width: 0;
3235
+ gap: var(--cl-space-0-5, 2px);
3236
+ text-align: left;
3237
+ }
3238
+ .cl-accordion__title {
3239
+ font-size: var(--cl-accordion-title-size);
3240
+ font-weight: var(--cl-font-weight-medium, 500);
3241
+ line-height: 1.4;
3242
+ color: var(--cl-color-fg-primary, #0f172a);
3243
+ word-break: break-word;
3244
+ transition: color var(--cl-duration-fast, 150ms) ease;
3245
+ }
3246
+ .cl-accordion__trigger[aria-expanded=true] .cl-accordion__title,
3247
+ .cl-accordion__trigger[data-state=open] .cl-accordion__title {
3248
+ font-weight: var(--cl-font-weight-semibold, 600);
3249
+ color: var(--cl-color-fg-primary, #0f172a);
3250
+ }
3251
+ .cl-accordion__description {
3252
+ font-size: var(--cl-accordion-description-size);
3253
+ font-weight: var(--cl-font-weight-normal, 400);
3254
+ line-height: 1.4;
3255
+ color: var(--cl-color-fg-secondary, #64748b);
3256
+ word-break: break-word;
3257
+ }
3258
+ .cl-accordion__badge {
3259
+ display: inline-flex;
3260
+ align-items: center;
3261
+ flex-shrink: 0;
3262
+ margin-left: auto;
3263
+ }
3264
+ .cl-accordion__trigger--indicator-start .cl-accordion__badge {
3265
+ margin-left: auto;
3266
+ margin-right: var(--cl-space-2, 8px);
3136
3267
  }
3137
3268
  .cl-accordion__icon {
3138
3269
  flex-shrink: 0;
3139
- width: 18px;
3140
- height: 18px;
3270
+ width: var(--cl-accordion-icon-size);
3271
+ height: var(--cl-accordion-icon-size);
3141
3272
  color: var(--cl-color-fg-muted, #64748b);
3142
3273
  transition: transform var(--cl-duration-normal, 200ms) cubic-bezier(0.4, 0, 0.2, 1), color var(--cl-duration-fast, 150ms) ease;
3143
3274
  }
@@ -3166,17 +3297,49 @@
3166
3297
  .cl-accordion__inner {
3167
3298
  overflow: hidden;
3168
3299
  min-height: 0;
3169
- padding: 0 var(--cl-space-5, 20px) var(--cl-space-4, 16px) var(--cl-space-5, 20px);
3300
+ padding: var(--cl-accordion-content-padding);
3170
3301
  color: var(--cl-color-fg-secondary, #475569);
3171
3302
  font-size: var(--cl-font-sm, 14px);
3172
3303
  line-height: 1.6;
3173
3304
  box-sizing: border-box;
3174
3305
  }
3306
+ .cl-accordion__actions {
3307
+ display: flex;
3308
+ align-items: center;
3309
+ gap: var(--cl-space-2, 8px);
3310
+ margin-bottom: var(--cl-space-3, 12px);
3311
+ }
3312
+ .cl-accordion__action-btn {
3313
+ display: inline-flex;
3314
+ align-items: center;
3315
+ justify-content: center;
3316
+ padding: var(--cl-space-1-5, 6px) var(--cl-space-3, 12px);
3317
+ font-family: inherit;
3318
+ font-size: var(--cl-font-xs, 12px);
3319
+ font-weight: var(--cl-font-weight-medium, 500);
3320
+ color: var(--cl-color-fg-secondary, #475569);
3321
+ background-color: var(--cl-color-bg-canvas, #ffffff);
3322
+ border: 1px solid var(--cl-color-border-subtle, #e2e8f0);
3323
+ border-radius: var(--cl-rad-md, 6px);
3324
+ cursor: pointer;
3325
+ box-sizing: border-box;
3326
+ transition: all var(--cl-duration-fast, 150ms) ease;
3327
+ }
3328
+ .cl-accordion__action-btn:hover {
3329
+ background-color: var(--cl-color-bg-subtle, #f8fafc);
3330
+ border-color: var(--cl-color-border-default, #cbd5e1);
3331
+ color: var(--cl-color-fg-primary, #0f172a);
3332
+ }
3333
+ .cl-accordion__action-btn:focus-visible {
3334
+ outline: 2px solid var(--cl-color-primary-base, #4f46e5);
3335
+ outline-offset: 1px;
3336
+ }
3175
3337
  }
3176
3338
  @media (prefers-reduced-motion: reduce) {
3177
3339
  .cl-accordion__content,
3178
3340
  .cl-accordion__icon,
3179
- .cl-accordion__trigger {
3341
+ .cl-accordion__trigger,
3342
+ .cl-accordion__item {
3180
3343
  transition-duration: 0.01ms !important;
3181
3344
  }
3182
3345
  }
@@ -3889,8 +4052,8 @@
3889
4052
  padding: var(--cl-space-1-5, 6px) var(--cl-space-4, 16px);
3890
4053
  }
3891
4054
  .cl-combobox__input {
3892
- flex: 1 1 120px;
3893
- min-width: 80px;
4055
+ flex: 1 1 60px;
4056
+ min-width: 48px;
3894
4057
  border: none;
3895
4058
  background: transparent;
3896
4059
  padding: var(--cl-space-1, 4px) 0;
@@ -3902,12 +4065,19 @@
3902
4065
  line-height: var(--cl-leading-normal, 1.5);
3903
4066
  }
3904
4067
  .cl-combobox__input::placeholder {
3905
- color: var(--cl-color-text-muted, #94a3b8);
4068
+ color: var( --cl-combobox-placeholder, var(--cl-color-fg-muted, var(--cl-color-text-muted, #94a3b8)) );
3906
4069
  opacity: 1;
3907
4070
  }
3908
4071
  .cl-combobox__input:disabled {
3909
4072
  cursor: not-allowed;
3910
4073
  }
4074
+ .cl-combobox__actions {
4075
+ display: inline-flex;
4076
+ align-items: center;
4077
+ gap: var(--cl-space-1, 4px);
4078
+ margin-left: auto;
4079
+ flex-shrink: 0;
4080
+ }
3911
4081
  .cl-combobox__trigger {
3912
4082
  display: inline-flex;
3913
4083
  align-items: center;
@@ -3954,10 +4124,17 @@
3954
4124
  line-height: 1;
3955
4125
  transition: color var(--cl-motion-fast, 150ms) ease, background-color var(--cl-motion-fast, 150ms) ease;
3956
4126
  }
4127
+ .cl-combobox__control > .cl-combobox__clear {
4128
+ margin-left: auto;
4129
+ }
3957
4130
  .cl-combobox__clear:hover {
3958
4131
  color: var(--cl-color-text-primary, #0f172a);
3959
4132
  background-color: var(--cl-color-bg-muted, #f1f5f9);
3960
4133
  }
4134
+ .cl-combobox__clear:focus-visible {
4135
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
4136
+ outline-offset: 1px;
4137
+ }
3961
4138
  .cl-combobox__spinner {
3962
4139
  display: inline-block;
3963
4140
  width: 14px;
@@ -3978,6 +4155,8 @@
3978
4155
  flex-wrap: wrap;
3979
4156
  align-items: center;
3980
4157
  gap: 4px;
4158
+ flex: 0 1 auto;
4159
+ max-width: 100%;
3981
4160
  }
3982
4161
  .cl-combobox__tag {
3983
4162
  display: inline-flex;
@@ -3992,6 +4171,15 @@
3992
4171
  border: 1px solid var(--cl-color-border-default, #e2e8f0);
3993
4172
  line-height: 1.4;
3994
4173
  box-sizing: border-box;
4174
+ max-width: 100%;
4175
+ min-width: 0;
4176
+ }
4177
+ .cl-combobox__tag > span:first-of-type,
4178
+ .cl-combobox__tag-label {
4179
+ overflow: hidden;
4180
+ text-overflow: ellipsis;
4181
+ white-space: nowrap;
4182
+ min-width: 0;
3995
4183
  }
3996
4184
  .cl-combobox__tag-remove {
3997
4185
  display: inline-flex;
@@ -4008,12 +4196,17 @@
4008
4196
  height: 14px;
4009
4197
  line-height: 1;
4010
4198
  font-size: 14px;
4199
+ outline: none;
4011
4200
  transition: color var(--cl-motion-fast, 150ms) ease, background-color var(--cl-motion-fast, 150ms) ease;
4012
4201
  }
4013
4202
  .cl-combobox__tag-remove:hover {
4014
4203
  color: var(--cl-color-error-base, #ef4444);
4015
4204
  background-color: rgba(239, 68, 68, 0.1);
4016
4205
  }
4206
+ .cl-combobox__tag-remove:focus-visible {
4207
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
4208
+ outline-offset: 1px;
4209
+ }
4017
4210
  .cl-combobox__content {
4018
4211
  position: absolute;
4019
4212
  z-index: var(--cl-z-dropdown, 1000);
@@ -4024,13 +4217,16 @@
4024
4217
  background-color: var(--cl-color-bg-canvas, #ffffff);
4025
4218
  border: 1px solid var(--cl-color-border-default, #e2e8f0);
4026
4219
  border-radius: var(--cl-radius-md, 6px);
4027
- box-shadow: var(--cl-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1));
4220
+ box-shadow: var( --cl-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) );
4028
4221
  padding: var(--cl-space-1, 4px);
4029
- margin-top: 4px;
4030
4222
  box-sizing: border-box;
4031
4223
  outline: none;
4032
4224
  overscroll-behavior: contain;
4033
4225
  }
4226
+ .cl-combobox__content:not([data-positioned=true]) {
4227
+ opacity: 0;
4228
+ pointer-events: none;
4229
+ }
4034
4230
  .cl-combobox__group {
4035
4231
  margin: 0;
4036
4232
  padding: 0;
@@ -4251,17 +4447,21 @@
4251
4447
  z-index: var(--cl-z-dropdown, 1000);
4252
4448
  outline: none;
4253
4449
  user-select: none;
4254
- animation: cl-select-fade-in 0.15s cubic-bezier(0.16, 1, 0.3, 1);
4255
4450
  overscroll-behavior: contain;
4256
4451
  }
4452
+ .cl-select__content:not([data-positioned=true]) {
4453
+ opacity: 0;
4454
+ pointer-events: none;
4455
+ }
4456
+ .cl-select__content[data-positioned=true] {
4457
+ animation: cl-select-fade-in 0.15s cubic-bezier(0.16, 1, 0.3, 1);
4458
+ }
4257
4459
  @keyframes cl-select-fade-in {
4258
4460
  from {
4259
4461
  opacity: 0;
4260
- transform: translateY(-4px);
4261
4462
  }
4262
4463
  to {
4263
4464
  opacity: 1;
4264
- transform: translateY(0);
4265
4465
  }
4266
4466
  }
4267
4467
  .cl-select__group {
@@ -4309,12 +4509,12 @@
4309
4509
  .cl-select__item[aria-selected=true] {
4310
4510
  font-weight: var(--cl-font-weight-semibold, 600);
4311
4511
  color: var(--cl-select-item-selected-fg, var(--cl-color-primary-base, #4f46e5));
4312
- background-color: var(--cl-select-item-selected-bg, rgba(99, 102, 241, 0.12));
4512
+ background-color: var(--cl-select-item-selected-bg, var(--cl-color-primary-subtle, rgba(99, 102, 241, 0.08)));
4313
4513
  }
4314
4514
  .cl-select__item[aria-selected=true]:hover:not([aria-disabled=true]):not([data-disabled=true]),
4315
4515
  .cl-select__item[aria-selected=true][data-highlighted=true]:not([aria-disabled=true]):not([data-disabled=true]) {
4316
4516
  color: var(--cl-select-item-selected-fg, var(--cl-color-primary-hover, #4338ca));
4317
- background-color: var(--cl-select-item-hover-bg, rgba(99, 102, 241, 0.18));
4517
+ background-color: var(--cl-select-item-hover-bg, rgba(99, 102, 241, 0.14));
4318
4518
  }
4319
4519
  .cl-select__item[aria-disabled=true],
4320
4520
  .cl-select__item[data-disabled=true] {
@@ -4796,5 +4996,2738 @@
4796
4996
  }
4797
4997
  }
4798
4998
 
4999
+ /* src/components/Spinner/Spinner.styles.css */
5000
+ @layer cl-components {
5001
+ .cl-spinner {
5002
+ display: inline-block;
5003
+ vertical-align: middle;
5004
+ animation: cl-spin 0.75s linear infinite;
5005
+ flex-shrink: 0;
5006
+ }
5007
+ .cl-spinner__track {
5008
+ opacity: 0.25;
5009
+ }
5010
+ .cl-spinner__head {
5011
+ stroke-linecap: round;
5012
+ }
5013
+ .cl-spinner--xs {
5014
+ width: 12px;
5015
+ height: 12px;
5016
+ }
5017
+ .cl-spinner--sm {
5018
+ width: 16px;
5019
+ height: 16px;
5020
+ }
5021
+ .cl-spinner--md {
5022
+ width: 24px;
5023
+ height: 24px;
5024
+ }
5025
+ .cl-spinner--lg {
5026
+ width: 32px;
5027
+ height: 32px;
5028
+ }
5029
+ .cl-spinner--xl {
5030
+ width: 48px;
5031
+ height: 48px;
5032
+ }
5033
+ .cl-spinner--primary {
5034
+ color: var(--cl-color-primary-base, #4f46e5);
5035
+ }
5036
+ .cl-spinner--neutral {
5037
+ color: var(--cl-color-text-secondary, #64748b);
5038
+ }
5039
+ .cl-spinner--success {
5040
+ color: var(--cl-color-success-base, #16a34a);
5041
+ }
5042
+ .cl-spinner--danger {
5043
+ color: var(--cl-color-danger-base, #dc2626);
5044
+ }
5045
+ .cl-spinner--warning {
5046
+ color: var(--cl-color-warning-base, #ca8a04);
5047
+ }
5048
+ @keyframes cl-spin {
5049
+ from {
5050
+ transform: rotate(0deg);
5051
+ }
5052
+ to {
5053
+ transform: rotate(360deg);
5054
+ }
5055
+ }
5056
+ @media (prefers-reduced-motion: reduce) {
5057
+ .cl-spinner {
5058
+ animation-duration: 2.5s !important;
5059
+ }
5060
+ }
5061
+ }
5062
+
5063
+ /* src/components/Skeleton/Skeleton.styles.css */
5064
+ @layer cl-components {
5065
+ .cl-skeleton {
5066
+ display: block;
5067
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
5068
+ user-select: none;
5069
+ pointer-events: none;
5070
+ }
5071
+ .cl-skeleton--text {
5072
+ height: 1.2em;
5073
+ border-radius: var(--cl-radius-xs, 4px);
5074
+ margin-block: 0.2em;
5075
+ }
5076
+ .cl-skeleton--circular {
5077
+ border-radius: 50%;
5078
+ }
5079
+ .cl-skeleton--rectangular {
5080
+ border-radius: 0;
5081
+ }
5082
+ .cl-skeleton--rounded {
5083
+ border-radius: var(--cl-radius-md, 8px);
5084
+ }
5085
+ .cl-skeleton--pulse {
5086
+ animation: cl-skeleton-pulse 1.5s ease-in-out infinite;
5087
+ }
5088
+ .cl-skeleton--wave {
5089
+ position: relative;
5090
+ overflow: hidden;
5091
+ background:
5092
+ linear-gradient(
5093
+ 90deg,
5094
+ var(--cl-color-surface-hover, #f1f5f9) 0%,
5095
+ var(--cl-color-surface-elevated, #ffffff) 50%,
5096
+ var(--cl-color-surface-hover, #f1f5f9) 100%);
5097
+ background-size: 200% 100%;
5098
+ animation: cl-skeleton-wave 1.6s linear infinite;
5099
+ }
5100
+ .cl-skeleton--none {
5101
+ animation: none;
5102
+ }
5103
+ @keyframes cl-skeleton-pulse {
5104
+ 0%, 100% {
5105
+ opacity: 1;
5106
+ }
5107
+ 50% {
5108
+ opacity: 0.4;
5109
+ }
5110
+ }
5111
+ @keyframes cl-skeleton-wave {
5112
+ 0% {
5113
+ background-position: 200% 0;
5114
+ }
5115
+ 100% {
5116
+ background-position: -200% 0;
5117
+ }
5118
+ }
5119
+ @media (prefers-reduced-motion: reduce) {
5120
+ .cl-skeleton,
5121
+ .cl-skeleton--pulse,
5122
+ .cl-skeleton--wave {
5123
+ animation: none !important;
5124
+ }
5125
+ }
5126
+ }
5127
+
5128
+ /* src/components/Progress/Progress.styles.css */
5129
+ @layer cl-components {
5130
+ .cl-progress--linear {
5131
+ display: flex;
5132
+ align-items: center;
5133
+ width: 100%;
5134
+ gap: 0.75rem;
5135
+ }
5136
+ .cl-progress__track {
5137
+ position: relative;
5138
+ width: 100%;
5139
+ background-color: var(--cl-color-surface-hover, #e2e8f0);
5140
+ overflow: hidden;
5141
+ border-radius: var(--cl-radius-full, 9999px);
5142
+ flex: 1;
5143
+ }
5144
+ .cl-progress__bar {
5145
+ height: 100%;
5146
+ border-radius: inherit;
5147
+ transition: width 0.3s ease;
5148
+ }
5149
+ .cl-progress--linear.cl-progress--xs .cl-progress__track {
5150
+ height: 4px;
5151
+ }
5152
+ .cl-progress--linear.cl-progress--sm .cl-progress__track {
5153
+ height: 8px;
5154
+ }
5155
+ .cl-progress--linear.cl-progress--md .cl-progress__track {
5156
+ height: 12px;
5157
+ }
5158
+ .cl-progress--linear.cl-progress--lg .cl-progress__track {
5159
+ height: 16px;
5160
+ }
5161
+ .cl-progress--primary .cl-progress__bar,
5162
+ .cl-progress--primary .cl-progress__circle-head {
5163
+ background-color: var(--cl-color-primary-base, #4f46e5);
5164
+ stroke: var(--cl-color-primary-base, #4f46e5);
5165
+ }
5166
+ .cl-progress--success .cl-progress__bar,
5167
+ .cl-progress--success .cl-progress__circle-head {
5168
+ background-color: var(--cl-color-success-base, #16a34a);
5169
+ stroke: var(--cl-color-success-base, #16a34a);
5170
+ }
5171
+ .cl-progress--warning .cl-progress__bar,
5172
+ .cl-progress--warning .cl-progress__circle-head {
5173
+ background-color: var(--cl-color-warning-base, #ca8a04);
5174
+ stroke: var(--cl-color-warning-base, #ca8a04);
5175
+ }
5176
+ .cl-progress--danger .cl-progress__bar,
5177
+ .cl-progress--danger .cl-progress__circle-head {
5178
+ background-color: var(--cl-color-danger-base, #dc2626);
5179
+ stroke: var(--cl-color-danger-base, #dc2626);
5180
+ }
5181
+ .cl-progress__bar--striped {
5182
+ background-image:
5183
+ linear-gradient(
5184
+ 45deg,
5185
+ rgba(255, 255, 255, 0.2) 25%,
5186
+ transparent 25%,
5187
+ transparent 50%,
5188
+ rgba(255, 255, 255, 0.2) 50%,
5189
+ rgba(255, 255, 255, 0.2) 75%,
5190
+ transparent 75%,
5191
+ transparent);
5192
+ background-size: 1rem 1rem;
5193
+ }
5194
+ .cl-progress__bar--animated {
5195
+ animation: cl-progress-stripes 1s linear infinite;
5196
+ }
5197
+ @keyframes cl-progress-stripes {
5198
+ from {
5199
+ background-position: 1rem 0;
5200
+ }
5201
+ to {
5202
+ background-position: 0 0;
5203
+ }
5204
+ }
5205
+ .cl-progress__bar--indeterminate {
5206
+ width: 100% !important;
5207
+ position: absolute;
5208
+ left: 0;
5209
+ bottom: 0;
5210
+ top: 0;
5211
+ transform-origin: left;
5212
+ animation: cl-progress-linear-indeterminate 1.8s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;
5213
+ }
5214
+ @keyframes cl-progress-linear-indeterminate {
5215
+ 0% {
5216
+ left: -35%;
5217
+ right: 100%;
5218
+ }
5219
+ 60% {
5220
+ left: 100%;
5221
+ right: -90%;
5222
+ }
5223
+ 100% {
5224
+ left: 100%;
5225
+ right: -90%;
5226
+ }
5227
+ }
5228
+ .cl-progress--circular {
5229
+ display: inline-flex;
5230
+ align-items: center;
5231
+ justify-content: center;
5232
+ position: relative;
5233
+ vertical-align: middle;
5234
+ }
5235
+ .cl-progress__svg {
5236
+ transform: rotate(-90deg);
5237
+ }
5238
+ .cl-progress__circle-track {
5239
+ stroke: var(--cl-color-surface-hover, #e2e8f0);
5240
+ fill: none;
5241
+ }
5242
+ .cl-progress__circle-head {
5243
+ fill: none;
5244
+ stroke-linecap: round;
5245
+ transition: stroke-dashoffset 0.3s ease;
5246
+ }
5247
+ .cl-progress--circular.cl-progress--xs {
5248
+ width: 24px;
5249
+ height: 24px;
5250
+ }
5251
+ .cl-progress--circular.cl-progress--sm {
5252
+ width: 36px;
5253
+ height: 36px;
5254
+ }
5255
+ .cl-progress--circular.cl-progress--md {
5256
+ width: 48px;
5257
+ height: 48px;
5258
+ }
5259
+ .cl-progress--circular.cl-progress--lg {
5260
+ width: 64px;
5261
+ height: 64px;
5262
+ }
5263
+ .cl-progress--circular.cl-progress--indeterminate .cl-progress__svg {
5264
+ animation: cl-progress-circular-rotate 1.4s linear infinite;
5265
+ }
5266
+ .cl-progress--circular.cl-progress--indeterminate .cl-progress__circle-head {
5267
+ animation: cl-progress-circular-dash 1.4s ease-in-out infinite;
5268
+ }
5269
+ @keyframes cl-progress-circular-rotate {
5270
+ 0% {
5271
+ transform: rotate(0deg);
5272
+ }
5273
+ 100% {
5274
+ transform: rotate(360deg);
5275
+ }
5276
+ }
5277
+ @keyframes cl-progress-circular-dash {
5278
+ 0% {
5279
+ stroke-dasharray: 1, 200;
5280
+ stroke-dashoffset: 0;
5281
+ }
5282
+ 50% {
5283
+ stroke-dasharray: 89, 200;
5284
+ stroke-dashoffset: -35px;
5285
+ }
5286
+ 100% {
5287
+ stroke-dasharray: 89, 200;
5288
+ stroke-dashoffset: -124px;
5289
+ }
5290
+ }
5291
+ .cl-progress__label {
5292
+ font-size: 0.875rem;
5293
+ font-weight: 500;
5294
+ color: var(--cl-color-text-primary, #1e293b);
5295
+ min-width: 3ch;
5296
+ text-align: right;
5297
+ }
5298
+ .cl-progress__circular-label {
5299
+ position: absolute;
5300
+ font-size: 0.75rem;
5301
+ font-weight: 600;
5302
+ color: var(--cl-color-text-primary, #1e293b);
5303
+ }
5304
+ @media (prefers-reduced-motion: reduce) {
5305
+ .cl-progress__bar,
5306
+ .cl-progress__circle-head {
5307
+ transition: none !important;
5308
+ }
5309
+ .cl-progress__bar--animated,
5310
+ .cl-progress__bar--indeterminate,
5311
+ .cl-progress--circular.cl-progress--indeterminate .cl-progress__svg,
5312
+ .cl-progress--circular.cl-progress--indeterminate .cl-progress__circle-head {
5313
+ animation: none !important;
5314
+ }
5315
+ }
5316
+ }
5317
+
5318
+ /* src/components/Calendar/Calendar.styles.css */
5319
+ @layer cl-components {
5320
+ .cl-calendar {
5321
+ display: inline-block;
5322
+ background-color: var(--cl-color-surface-elevated, #ffffff);
5323
+ color: var(--cl-color-text-primary, #0f172a);
5324
+ border: 1px solid var(--cl-color-border-default, #e2e8f0);
5325
+ border-radius: var(--cl-radius-lg, 12px);
5326
+ padding: 1rem;
5327
+ box-shadow: var(--cl-shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
5328
+ user-select: none;
5329
+ font-family: inherit;
5330
+ box-sizing: border-box;
5331
+ width: 320px;
5332
+ }
5333
+ .cl-calendar__header {
5334
+ display: flex;
5335
+ align-items: center;
5336
+ justify-content: space-between;
5337
+ margin-bottom: 0.75rem;
5338
+ }
5339
+ .cl-calendar__title {
5340
+ font-size: 0.95rem;
5341
+ font-weight: 600;
5342
+ color: var(--cl-color-text-primary, #0f172a);
5343
+ margin: 0;
5344
+ }
5345
+ .cl-calendar__nav {
5346
+ display: flex;
5347
+ align-items: center;
5348
+ gap: 0.25rem;
5349
+ }
5350
+ .cl-calendar__nav-btn {
5351
+ display: inline-flex;
5352
+ align-items: center;
5353
+ justify-content: center;
5354
+ width: 28px;
5355
+ height: 28px;
5356
+ padding: 0;
5357
+ border-radius: var(--cl-radius-md, 6px);
5358
+ border: 1px solid var(--cl-color-border-default, #e2e8f0);
5359
+ background-color: transparent;
5360
+ color: var(--cl-color-text-secondary, #64748b);
5361
+ cursor: pointer;
5362
+ transition: background-color 0.15s ease, color 0.15s ease;
5363
+ }
5364
+ .cl-calendar__nav-btn:hover:not(:disabled) {
5365
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
5366
+ color: var(--cl-color-text-primary, #0f172a);
5367
+ }
5368
+ .cl-calendar__nav-btn:disabled {
5369
+ opacity: 0.35;
5370
+ cursor: not-allowed;
5371
+ }
5372
+ .cl-calendar__nav-btn:focus-visible {
5373
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
5374
+ outline-offset: 1px;
5375
+ }
5376
+ .cl-calendar__grid {
5377
+ width: 100%;
5378
+ border-collapse: collapse;
5379
+ table-layout: fixed;
5380
+ }
5381
+ .cl-calendar__weekdays tr {
5382
+ display: grid;
5383
+ grid-template-columns: repeat(7, 1fr);
5384
+ margin-bottom: 0.25rem;
5385
+ }
5386
+ .cl-calendar__weekday {
5387
+ text-align: center;
5388
+ font-size: 0.75rem;
5389
+ font-weight: 500;
5390
+ color: var(--cl-color-text-subtle, #94a3b8);
5391
+ padding: 0.25rem 0;
5392
+ text-transform: uppercase;
5393
+ }
5394
+ .cl-calendar__grid tbody {
5395
+ display: flex;
5396
+ flex-direction: column;
5397
+ gap: 2px;
5398
+ }
5399
+ .cl-calendar__row {
5400
+ display: grid;
5401
+ grid-template-columns: repeat(7, 1fr);
5402
+ gap: 2px;
5403
+ }
5404
+ .cl-calendar__cell {
5405
+ padding: 0;
5406
+ display: flex;
5407
+ align-items: center;
5408
+ justify-content: center;
5409
+ }
5410
+ .cl-calendar__day {
5411
+ display: inline-flex;
5412
+ align-items: center;
5413
+ justify-content: center;
5414
+ width: 36px;
5415
+ height: 36px;
5416
+ border-radius: var(--cl-radius-md, 8px);
5417
+ border: 1px solid transparent;
5418
+ background-color: transparent;
5419
+ color: var(--cl-color-text-primary, #0f172a);
5420
+ font-size: 0.875rem;
5421
+ font-weight: 400;
5422
+ cursor: pointer;
5423
+ box-sizing: border-box;
5424
+ transition: background-color 0.12s ease, color 0.12s ease;
5425
+ }
5426
+ .cl-calendar__day:hover:not(.cl-calendar__day--disabled):not(.cl-calendar__day--selected) {
5427
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
5428
+ }
5429
+ .cl-calendar__day:focus-visible {
5430
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
5431
+ outline-offset: 1px;
5432
+ z-index: 1;
5433
+ }
5434
+ .cl-calendar__day--today:not(.cl-calendar__day--selected) {
5435
+ font-weight: 600;
5436
+ color: var(--cl-color-primary-base, #4f46e5);
5437
+ border-color: var(--cl-color-primary-base, #4f46e5);
5438
+ }
5439
+ .cl-calendar__day--outside {
5440
+ color: var(--cl-color-text-subtle, #94a3b8);
5441
+ }
5442
+ .cl-calendar__day--selected {
5443
+ background-color: var(--cl-color-primary-base, #4f46e5) !important;
5444
+ color: #ffffff !important;
5445
+ font-weight: 600;
5446
+ }
5447
+ .cl-calendar__cell--in-range {
5448
+ background-color: var(--cl-color-primary-subtle, rgba(99, 102, 241, 0.12));
5449
+ }
5450
+ .cl-calendar__cell--range-start {
5451
+ background:
5452
+ linear-gradient(
5453
+ 90deg,
5454
+ transparent 50%,
5455
+ var(--cl-color-primary-subtle, rgba(99, 102, 241, 0.12)) 50%);
5456
+ border-top-left-radius: var(--cl-radius-md, 8px);
5457
+ border-bottom-left-radius: var(--cl-radius-md, 8px);
5458
+ }
5459
+ .cl-calendar__cell--range-end {
5460
+ background:
5461
+ linear-gradient(
5462
+ 90deg,
5463
+ var(--cl-color-primary-subtle, rgba(99, 102, 241, 0.12)) 50%,
5464
+ transparent 50%);
5465
+ border-top-right-radius: var(--cl-radius-md, 8px);
5466
+ border-bottom-right-radius: var(--cl-radius-md, 8px);
5467
+ }
5468
+ .cl-calendar__cell--range-start.cl-calendar__cell--range-end {
5469
+ background: transparent;
5470
+ }
5471
+ .cl-calendar__day--range-start,
5472
+ .cl-calendar__day--range-end {
5473
+ background-color: var(--cl-color-primary-base, #4f46e5) !important;
5474
+ color: #ffffff !important;
5475
+ font-weight: 600;
5476
+ }
5477
+ .cl-calendar__day--in-range {
5478
+ background-color: transparent;
5479
+ color: var(--cl-color-text-primary, #0f172a);
5480
+ border-radius: 0;
5481
+ }
5482
+ .cl-calendar__day--disabled {
5483
+ opacity: 0.35;
5484
+ cursor: not-allowed;
5485
+ background-color: transparent !important;
5486
+ }
5487
+ }
5488
+
5489
+ /* src/components/DatePicker/DatePicker.styles.css */
5490
+ @layer cl-components {
5491
+ .cl-datepicker {
5492
+ display: inline-block;
5493
+ position: relative;
5494
+ width: 260px;
5495
+ font-family: inherit;
5496
+ box-sizing: border-box;
5497
+ }
5498
+ .cl-datepicker__control {
5499
+ position: relative;
5500
+ display: flex;
5501
+ align-items: center;
5502
+ width: 100%;
5503
+ }
5504
+ .cl-datepicker__input {
5505
+ width: 100%;
5506
+ box-sizing: border-box;
5507
+ border: 1px solid var(--cl-color-border-default, #e2e8f0);
5508
+ border-radius: var(--cl-radius-md, 8px);
5509
+ background-color: var(--cl-color-surface-elevated, #ffffff);
5510
+ color: var(--cl-color-text-primary, #0f172a);
5511
+ font-family: inherit;
5512
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
5513
+ }
5514
+ .cl-datepicker--sm .cl-datepicker__input {
5515
+ height: 32px;
5516
+ padding: 0 2rem 0 2rem;
5517
+ font-size: 0.8125rem;
5518
+ }
5519
+ .cl-datepicker--md .cl-datepicker__input {
5520
+ height: 40px;
5521
+ padding: 0 2.25rem 0 2.25rem;
5522
+ font-size: 0.875rem;
5523
+ }
5524
+ .cl-datepicker--lg .cl-datepicker__input {
5525
+ height: 48px;
5526
+ padding: 0 2.5rem 0 2.5rem;
5527
+ font-size: 1rem;
5528
+ }
5529
+ .cl-datepicker__input:focus {
5530
+ outline: none;
5531
+ border-color: var(--cl-color-primary-base, #4f46e5);
5532
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
5533
+ }
5534
+ .cl-datepicker__input:disabled {
5535
+ opacity: 0.45;
5536
+ cursor: not-allowed;
5537
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
5538
+ }
5539
+ .cl-datepicker--invalid .cl-datepicker__input {
5540
+ border-color: var(--cl-color-danger-base, #dc2626);
5541
+ }
5542
+ .cl-datepicker--invalid .cl-datepicker__input:focus {
5543
+ box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
5544
+ }
5545
+ .cl-datepicker__icon-btn {
5546
+ position: absolute;
5547
+ left: 0.5rem;
5548
+ display: inline-flex;
5549
+ align-items: center;
5550
+ justify-content: center;
5551
+ background: transparent;
5552
+ border: none;
5553
+ padding: 0.25rem;
5554
+ border-radius: var(--cl-radius-sm, 4px);
5555
+ color: var(--cl-color-text-secondary, #64748b);
5556
+ cursor: pointer;
5557
+ transition: background-color 0.12s ease, color 0.12s ease;
5558
+ z-index: 1;
5559
+ }
5560
+ .cl-datepicker__icon-btn:hover:not(:disabled) {
5561
+ color: var(--cl-color-text-primary, #0f172a);
5562
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
5563
+ }
5564
+ .cl-datepicker__icon-btn:focus-visible {
5565
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
5566
+ outline-offset: 1px;
5567
+ }
5568
+ .cl-datepicker__actions {
5569
+ position: absolute;
5570
+ right: 0.5rem;
5571
+ display: flex;
5572
+ align-items: center;
5573
+ gap: 0.25rem;
5574
+ }
5575
+ .cl-datepicker__clear-btn,
5576
+ .cl-datepicker__toggle-btn {
5577
+ display: inline-flex;
5578
+ align-items: center;
5579
+ justify-content: center;
5580
+ background: transparent;
5581
+ border: none;
5582
+ padding: 0.25rem;
5583
+ border-radius: var(--cl-radius-sm, 4px);
5584
+ color: var(--cl-color-text-secondary, #64748b);
5585
+ cursor: pointer;
5586
+ transition: background-color 0.12s ease, color 0.12s ease;
5587
+ }
5588
+ .cl-datepicker__clear-btn:hover,
5589
+ .cl-datepicker__toggle-btn:hover {
5590
+ color: var(--cl-color-text-primary, #0f172a);
5591
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
5592
+ }
5593
+ .cl-datepicker__clear-btn:focus-visible,
5594
+ .cl-datepicker__toggle-btn:focus-visible {
5595
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
5596
+ outline-offset: 1px;
5597
+ }
5598
+ .cl-datepicker__popover {
5599
+ padding: 0 !important;
5600
+ background-color: var(--cl-color-surface-elevated, #ffffff);
5601
+ border: 1px solid var(--cl-color-border-default, #e2e8f0);
5602
+ border-radius: var(--cl-radius-lg, 12px);
5603
+ box-shadow: var(--cl-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1));
5604
+ z-index: 1000;
5605
+ }
5606
+ .cl-datepicker__popover:not([data-positioned=true]) {
5607
+ opacity: 0 !important;
5608
+ visibility: hidden !important;
5609
+ pointer-events: none !important;
5610
+ }
5611
+ .cl-datepicker__popover[data-positioned=true] {
5612
+ animation: cl-datepicker-fade-in 0.15s cubic-bezier(0.16, 1, 0.3, 1);
5613
+ visibility: visible;
5614
+ }
5615
+ @keyframes cl-datepicker-fade-in {
5616
+ from {
5617
+ opacity: 0;
5618
+ transform: translateY(-4px);
5619
+ }
5620
+ to {
5621
+ opacity: 1;
5622
+ transform: translateY(0);
5623
+ }
5624
+ }
5625
+ .cl-datepicker__popover .cl-calendar {
5626
+ border: none;
5627
+ box-shadow: none;
5628
+ }
5629
+ }
5630
+
5631
+ /* src/components/DropdownMenu/DropdownMenu.styles.css */
5632
+ @layer cl-components {
5633
+ .cl-dropdown-menu {
5634
+ position: relative;
5635
+ display: inline-block;
5636
+ box-sizing: border-box;
5637
+ }
5638
+ .cl-dropdown-menu__trigger {
5639
+ display: inline-flex;
5640
+ align-items: center;
5641
+ justify-content: center;
5642
+ gap: var(--cl-space-2, 8px);
5643
+ cursor: pointer;
5644
+ font-family: inherit;
5645
+ box-sizing: border-box;
5646
+ }
5647
+ .cl-dropdown-menu__content {
5648
+ position: absolute;
5649
+ top: 0;
5650
+ left: 0;
5651
+ z-index: var(--cl-z-index-dropdown, 1000);
5652
+ min-width: 180px;
5653
+ max-width: 320px;
5654
+ box-sizing: border-box;
5655
+ padding: var(--cl-space-1, 4px);
5656
+ background-color: var(--cl-dropdown-menu-bg, var(--cl-color-bg-surface, #ffffff));
5657
+ color: var(--cl-dropdown-menu-color, var(--cl-color-text-primary, #0f172a));
5658
+ border: 1px solid var(--cl-dropdown-menu-border, var(--cl-color-border, #e2e8f0));
5659
+ border-radius: var(--cl-radius-md, 6px);
5660
+ box-shadow: var( --cl-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) );
5661
+ outline: none;
5662
+ font-family: var( --cl-font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif );
5663
+ font-size: var(--cl-font-size-sm, 14px);
5664
+ line-height: var(--cl-line-height-normal, 1.5);
5665
+ user-select: none;
5666
+ transform-origin: var(--floating-transform-origin, top);
5667
+ animation: cl-dropdown-menu-enter var(--cl-motion-fast, 150ms) cubic-bezier(0.16, 1, 0.3, 1);
5668
+ }
5669
+ .cl-dropdown-menu__content:not([data-positioned=true]) {
5670
+ opacity: 0 !important;
5671
+ pointer-events: none !important;
5672
+ visibility: hidden !important;
5673
+ }
5674
+ @keyframes cl-dropdown-menu-enter {
5675
+ from {
5676
+ opacity: 0;
5677
+ transform: scale(0.96);
5678
+ }
5679
+ to {
5680
+ opacity: 1;
5681
+ transform: scale(1);
5682
+ }
5683
+ }
5684
+ .cl-dropdown-menu__item {
5685
+ position: relative;
5686
+ display: flex;
5687
+ align-items: center;
5688
+ gap: var(--cl-space-2, 8px);
5689
+ padding: var(--cl-space-1-5, 6px) var(--cl-space-2-5, 10px);
5690
+ border-radius: var(--cl-radius-sm, 4px);
5691
+ font-size: var(--cl-font-size-sm, 14px);
5692
+ color: var(--cl-dropdown-menu-item-color, var(--cl-color-text-primary, #0f172a));
5693
+ cursor: pointer;
5694
+ outline: none;
5695
+ transition: background-color var(--cl-motion-fast, 150ms) ease, color var(--cl-motion-fast, 150ms) ease;
5696
+ }
5697
+ .cl-dropdown-menu__item[data-highlighted=true],
5698
+ .cl-dropdown-menu__item:hover:not([aria-disabled=true]):not([data-disabled=true]) {
5699
+ background-color: var( --cl-dropdown-menu-item-hover-bg, var(--cl-color-primary-subtle, #f1f5f9) );
5700
+ color: var( --cl-dropdown-menu-item-hover-color, var(--cl-color-primary-base, #0f172a) );
5701
+ }
5702
+ .cl-dropdown-menu__item--disabled,
5703
+ .cl-dropdown-menu__item[aria-disabled=true],
5704
+ .cl-dropdown-menu__item[data-disabled=true] {
5705
+ opacity: 0.5;
5706
+ cursor: not-allowed;
5707
+ pointer-events: none;
5708
+ }
5709
+ .cl-dropdown-menu__item--inset {
5710
+ padding-left: var(--cl-space-7, 28px);
5711
+ }
5712
+ .cl-dropdown-menu__item-indicator {
5713
+ display: inline-flex;
5714
+ align-items: center;
5715
+ justify-content: center;
5716
+ width: 16px;
5717
+ height: 16px;
5718
+ font-size: 12px;
5719
+ line-height: 1;
5720
+ color: var(--cl-color-primary-base, #2563eb);
5721
+ flex-shrink: 0;
5722
+ }
5723
+ .cl-dropdown-menu__separator {
5724
+ height: 1px;
5725
+ margin: var(--cl-space-1, 4px) 0;
5726
+ background-color: var(--cl-color-border, #e2e8f0);
5727
+ }
5728
+ .cl-dropdown-menu__label {
5729
+ padding: var(--cl-space-1-5, 6px) var(--cl-space-2-5, 10px);
5730
+ font-size: var(--cl-font-size-xs, 12px);
5731
+ font-weight: var(--cl-font-weight-semibold, 600);
5732
+ color: var(--cl-color-text-secondary, #64748b);
5733
+ user-select: none;
5734
+ }
5735
+ .cl-dropdown-menu__label--inset {
5736
+ padding-left: var(--cl-space-7, 28px);
5737
+ }
5738
+ @media (prefers-reduced-motion: reduce) {
5739
+ .cl-dropdown-menu__content {
5740
+ animation-duration: 0.01ms !important;
5741
+ transition-duration: 0.01ms !important;
5742
+ }
5743
+ }
5744
+ }
5745
+
5746
+ /* src/components/ContextMenu/ContextMenu.styles.css */
5747
+ @layer cl-components {
5748
+ .cl-context-menu {
5749
+ display: contents;
5750
+ box-sizing: border-box;
5751
+ }
5752
+ .cl-context-menu__trigger {
5753
+ display: block;
5754
+ user-select: none;
5755
+ box-sizing: border-box;
5756
+ outline: none;
5757
+ }
5758
+ .cl-context-menu__trigger:focus-visible {
5759
+ outline: 2px solid var(--cl-color-primary-base, #2563eb);
5760
+ outline-offset: 2px;
5761
+ }
5762
+ .cl-context-menu__content {
5763
+ position: absolute;
5764
+ top: 0;
5765
+ left: 0;
5766
+ z-index: var(--cl-z-index-dropdown, 1000);
5767
+ min-width: 180px;
5768
+ max-width: 320px;
5769
+ box-sizing: border-box;
5770
+ padding: var(--cl-space-1, 4px);
5771
+ background-color: var(--cl-context-menu-bg, var(--cl-color-bg-surface, #ffffff));
5772
+ color: var(--cl-context-menu-color, var(--cl-color-text-primary, #0f172a));
5773
+ border: 1px solid var(--cl-context-menu-border, var(--cl-color-border, #e2e8f0));
5774
+ border-radius: var(--cl-radius-md, 6px);
5775
+ box-shadow: var( --cl-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1) );
5776
+ outline: none;
5777
+ font-family: var( --cl-font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif );
5778
+ font-size: var(--cl-font-size-sm, 14px);
5779
+ line-height: var(--cl-line-height-normal, 1.5);
5780
+ user-select: none;
5781
+ animation: cl-context-menu-enter var(--cl-motion-fast, 150ms) cubic-bezier(0.16, 1, 0.3, 1);
5782
+ }
5783
+ .cl-context-menu__content:not([data-positioned=true]) {
5784
+ opacity: 0 !important;
5785
+ pointer-events: none !important;
5786
+ visibility: hidden !important;
5787
+ }
5788
+ @keyframes cl-context-menu-enter {
5789
+ from {
5790
+ opacity: 0;
5791
+ transform: scale(0.96);
5792
+ }
5793
+ to {
5794
+ opacity: 1;
5795
+ transform: scale(1);
5796
+ }
5797
+ }
5798
+ @media (prefers-reduced-motion: reduce) {
5799
+ .cl-context-menu__content {
5800
+ animation-duration: 0.01ms !important;
5801
+ transition-duration: 0.01ms !important;
5802
+ }
5803
+ }
5804
+ }
5805
+
5806
+ /* src/components/Drawer/Drawer.styles.css */
5807
+ @layer cl-components {
5808
+ .cl-drawer {
5809
+ box-sizing: border-box;
5810
+ }
5811
+ .cl-drawer__overlay {
5812
+ position: fixed;
5813
+ inset: 0;
5814
+ z-index: var(--cl-z-index-modal, 1200);
5815
+ background-color: var(--cl-backdrop-bg, rgba(0, 0, 0, 0.48));
5816
+ animation: cl-drawer-fade-in var(--cl-motion-normal, 240ms) cubic-bezier(0.16, 1, 0.3, 1);
5817
+ }
5818
+ .cl-drawer__content {
5819
+ position: fixed;
5820
+ z-index: calc(var(--cl-z-index-modal, 1200) + 1);
5821
+ display: flex;
5822
+ flex-direction: column;
5823
+ box-sizing: border-box;
5824
+ background-color: var(--cl-drawer-bg, var(--cl-color-bg-surface, #ffffff));
5825
+ color: var(--cl-drawer-color, var(--cl-color-text-primary, #0f172a));
5826
+ box-shadow: var( --cl-shadow-xl, 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1) );
5827
+ font-family: var( --cl-font-sans, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif );
5828
+ outline: none;
5829
+ overflow: hidden;
5830
+ }
5831
+ .cl-drawer__content[data-placement=right],
5832
+ .cl-drawer__content--right {
5833
+ top: 0;
5834
+ right: 0;
5835
+ bottom: 0;
5836
+ height: 100vh;
5837
+ border-left: 1px solid var(--cl-color-border, #e2e8f0);
5838
+ animation: cl-drawer-slide-in-right var(--cl-motion-normal, 240ms) cubic-bezier(0.16, 1, 0.3, 1);
5839
+ }
5840
+ .cl-drawer__content[data-placement=left],
5841
+ .cl-drawer__content--left {
5842
+ top: 0;
5843
+ left: 0;
5844
+ bottom: 0;
5845
+ height: 100vh;
5846
+ border-right: 1px solid var(--cl-color-border, #e2e8f0);
5847
+ animation: cl-drawer-slide-in-left var(--cl-motion-normal, 240ms) cubic-bezier(0.16, 1, 0.3, 1);
5848
+ }
5849
+ .cl-drawer__content[data-placement=top],
5850
+ .cl-drawer__content--top {
5851
+ top: 0;
5852
+ left: 0;
5853
+ right: 0;
5854
+ width: 100vw;
5855
+ border-bottom: 1px solid var(--cl-color-border, #e2e8f0);
5856
+ animation: cl-drawer-slide-in-top var(--cl-motion-normal, 240ms) cubic-bezier(0.16, 1, 0.3, 1);
5857
+ }
5858
+ .cl-drawer__content[data-placement=bottom],
5859
+ .cl-drawer__content--bottom {
5860
+ bottom: 0;
5861
+ left: 0;
5862
+ right: 0;
5863
+ width: 100vw;
5864
+ border-top: 1px solid var(--cl-color-border, #e2e8f0);
5865
+ animation: cl-drawer-slide-in-bottom var(--cl-motion-normal, 240ms) cubic-bezier(0.16, 1, 0.3, 1);
5866
+ }
5867
+ .cl-drawer__content[data-placement=left][data-size=xs],
5868
+ .cl-drawer__content[data-placement=right][data-size=xs] {
5869
+ width: 280px;
5870
+ max-width: 100vw;
5871
+ }
5872
+ .cl-drawer__content[data-placement=left][data-size=sm],
5873
+ .cl-drawer__content[data-placement=right][data-size=sm] {
5874
+ width: 360px;
5875
+ max-width: 100vw;
5876
+ }
5877
+ .cl-drawer__content[data-placement=left][data-size=md],
5878
+ .cl-drawer__content[data-placement=right][data-size=md] {
5879
+ width: 440px;
5880
+ max-width: 100vw;
5881
+ }
5882
+ .cl-drawer__content[data-placement=left][data-size=lg],
5883
+ .cl-drawer__content[data-placement=right][data-size=lg] {
5884
+ width: 560px;
5885
+ max-width: 100vw;
5886
+ }
5887
+ .cl-drawer__content[data-placement=left][data-size=xl],
5888
+ .cl-drawer__content[data-placement=right][data-size=xl] {
5889
+ width: 720px;
5890
+ max-width: 100vw;
5891
+ }
5892
+ .cl-drawer__content[data-placement=left][data-size=full],
5893
+ .cl-drawer__content[data-placement=right][data-size=full] {
5894
+ width: 100vw;
5895
+ }
5896
+ .cl-drawer__content[data-placement=top][data-size=xs],
5897
+ .cl-drawer__content[data-placement=bottom][data-size=xs] {
5898
+ max-height: 200px;
5899
+ }
5900
+ .cl-drawer__content[data-placement=top][data-size=sm],
5901
+ .cl-drawer__content[data-placement=bottom][data-size=sm] {
5902
+ max-height: 280px;
5903
+ }
5904
+ .cl-drawer__content[data-placement=top][data-size=md],
5905
+ .cl-drawer__content[data-placement=bottom][data-size=md] {
5906
+ max-height: 360px;
5907
+ }
5908
+ .cl-drawer__content[data-placement=top][data-size=lg],
5909
+ .cl-drawer__content[data-placement=bottom][data-size=lg] {
5910
+ max-height: 480px;
5911
+ }
5912
+ .cl-drawer__content[data-placement=top][data-size=xl],
5913
+ .cl-drawer__content[data-placement=bottom][data-size=xl] {
5914
+ max-height: 600px;
5915
+ }
5916
+ .cl-drawer__content[data-placement=top][data-size=full],
5917
+ .cl-drawer__content[data-placement=bottom][data-size=full] {
5918
+ height: 100vh;
5919
+ max-height: 100vh;
5920
+ }
5921
+ .cl-drawer__header {
5922
+ display: flex;
5923
+ align-items: center;
5924
+ justify-content: space-between;
5925
+ padding: var(--cl-space-4, 16px) var(--cl-space-6, 24px);
5926
+ border-bottom: 1px solid var(--cl-color-border, #e2e8f0);
5927
+ flex-shrink: 0;
5928
+ }
5929
+ .cl-drawer__title {
5930
+ margin: 0;
5931
+ font-size: var(--cl-font-size-lg, 18px);
5932
+ font-weight: var(--cl-font-weight-semibold, 600);
5933
+ color: var(--cl-color-text-primary, #0f172a);
5934
+ line-height: var(--cl-line-height-tight, 1.25);
5935
+ }
5936
+ .cl-drawer__description {
5937
+ margin: var(--cl-space-1, 4px) 0 0;
5938
+ font-size: var(--cl-font-size-sm, 14px);
5939
+ color: var(--cl-color-text-secondary, #64748b);
5940
+ }
5941
+ .cl-drawer__body {
5942
+ flex: 1;
5943
+ overflow-y: auto;
5944
+ padding: var(--cl-space-6, 24px);
5945
+ box-sizing: border-box;
5946
+ }
5947
+ .cl-drawer__footer {
5948
+ display: flex;
5949
+ align-items: center;
5950
+ justify-content: flex-end;
5951
+ gap: var(--cl-space-3, 12px);
5952
+ padding: var(--cl-space-4, 16px) var(--cl-space-6, 24px);
5953
+ border-top: 1px solid var(--cl-color-border, #e2e8f0);
5954
+ flex-shrink: 0;
5955
+ }
5956
+ .cl-drawer__close {
5957
+ display: inline-flex;
5958
+ align-items: center;
5959
+ justify-content: center;
5960
+ width: 32px;
5961
+ height: 32px;
5962
+ padding: 0;
5963
+ border: none;
5964
+ border-radius: var(--cl-radius-sm, 4px);
5965
+ background: transparent;
5966
+ color: var(--cl-color-text-secondary, #64748b);
5967
+ font-size: var(--cl-font-size-md, 16px);
5968
+ cursor: pointer;
5969
+ transition: background-color var(--cl-motion-fast, 150ms) ease, color var(--cl-motion-fast, 150ms) ease;
5970
+ }
5971
+ .cl-drawer__close:hover {
5972
+ background-color: var(--cl-color-bg-muted, #f1f5f9);
5973
+ color: var(--cl-color-text-primary, #0f172a);
5974
+ }
5975
+ .cl-drawer__close:focus-visible {
5976
+ outline: 2px solid var(--cl-color-primary-base, #2563eb);
5977
+ outline-offset: 2px;
5978
+ }
5979
+ @keyframes cl-drawer-fade-in {
5980
+ from {
5981
+ opacity: 0;
5982
+ }
5983
+ to {
5984
+ opacity: 1;
5985
+ }
5986
+ }
5987
+ @keyframes cl-drawer-slide-in-right {
5988
+ from {
5989
+ transform: translateX(100%);
5990
+ }
5991
+ to {
5992
+ transform: translateX(0);
5993
+ }
5994
+ }
5995
+ @keyframes cl-drawer-slide-in-left {
5996
+ from {
5997
+ transform: translateX(-100%);
5998
+ }
5999
+ to {
6000
+ transform: translateX(0);
6001
+ }
6002
+ }
6003
+ @keyframes cl-drawer-slide-in-top {
6004
+ from {
6005
+ transform: translateY(-100%);
6006
+ }
6007
+ to {
6008
+ transform: translateY(0);
6009
+ }
6010
+ }
6011
+ @keyframes cl-drawer-slide-in-bottom {
6012
+ from {
6013
+ transform: translateY(100%);
6014
+ }
6015
+ to {
6016
+ transform: translateY(0);
6017
+ }
6018
+ }
6019
+ @media (prefers-reduced-motion: reduce) {
6020
+ .cl-drawer__overlay,
6021
+ .cl-drawer__content {
6022
+ animation-duration: 0.01ms !important;
6023
+ transition-duration: 0.01ms !important;
6024
+ }
6025
+ }
6026
+ }
6027
+
6028
+ /* src/components/Link/Link.styles.css */
6029
+ @layer cl-components {
6030
+ .cl-link {
6031
+ display: inline-flex;
6032
+ align-items: center;
6033
+ gap: var(--cl-space-1, 4px);
6034
+ font-family: inherit;
6035
+ font-size: inherit;
6036
+ font-weight: 500;
6037
+ line-height: inherit;
6038
+ cursor: pointer;
6039
+ transition: color 150ms ease, text-decoration-color 150ms ease;
6040
+ outline: none;
6041
+ border-radius: var(--cl-radius-xs, 2px);
6042
+ }
6043
+ .cl-link:focus-visible {
6044
+ outline: 2px solid var(--cl-color-primary-base, #2563eb);
6045
+ outline-offset: 2px;
6046
+ }
6047
+ .cl-link--color-primary {
6048
+ color: var(--cl-color-primary-base, #2563eb);
6049
+ }
6050
+ .cl-link--color-primary:hover {
6051
+ color: var(--cl-color-primary-hover, #1d4ed8);
6052
+ }
6053
+ .cl-link--color-neutral {
6054
+ color: var(--cl-color-text-primary, #0f172a);
6055
+ }
6056
+ .cl-link--color-neutral:hover {
6057
+ color: var(--cl-color-primary-base, #2563eb);
6058
+ }
6059
+ .cl-link--color-subtle {
6060
+ color: var(--cl-color-text-muted, #64748b);
6061
+ }
6062
+ .cl-link--color-subtle:hover {
6063
+ color: var(--cl-color-text-primary, #0f172a);
6064
+ }
6065
+ .cl-link--underline-always {
6066
+ text-decoration: underline;
6067
+ text-underline-offset: 3px;
6068
+ }
6069
+ .cl-link--underline-hover {
6070
+ text-decoration: none;
6071
+ text-underline-offset: 3px;
6072
+ }
6073
+ .cl-link--underline-hover:hover {
6074
+ text-decoration: underline;
6075
+ }
6076
+ .cl-link--underline-none {
6077
+ text-decoration: none;
6078
+ }
6079
+ .cl-link--disabled {
6080
+ opacity: 0.5;
6081
+ cursor: not-allowed;
6082
+ pointer-events: none;
6083
+ text-decoration: none;
6084
+ }
6085
+ .cl-link__external-icon {
6086
+ display: inline-block;
6087
+ flex-shrink: 0;
6088
+ margin-left: 2px;
6089
+ vertical-align: middle;
6090
+ }
6091
+ }
6092
+
6093
+ /* src/components/Breadcrumbs/Breadcrumbs.styles.css */
6094
+ @layer cl-components {
6095
+ .cl-breadcrumb {
6096
+ display: block;
6097
+ width: 100%;
6098
+ box-sizing: border-box;
6099
+ }
6100
+ .cl-breadcrumb__list {
6101
+ display: flex;
6102
+ flex-wrap: wrap;
6103
+ align-items: center;
6104
+ list-style: none;
6105
+ margin: 0;
6106
+ padding: 0;
6107
+ gap: var(--cl-space-2, 8px);
6108
+ font-size: var(--cl-font-size-sm, 14px);
6109
+ line-height: var(--cl-line-height-normal, 1.5);
6110
+ color: var(--cl-color-text-muted, #64748b);
6111
+ }
6112
+ .cl-breadcrumb__item {
6113
+ display: inline-flex;
6114
+ align-items: center;
6115
+ gap: var(--cl-space-2, 8px);
6116
+ }
6117
+ .cl-breadcrumb__link {
6118
+ color: var(--cl-color-text-muted, #64748b);
6119
+ font-weight: 500;
6120
+ transition: color 150ms ease;
6121
+ }
6122
+ .cl-breadcrumb__link:hover {
6123
+ color: var(--cl-color-text-primary, #0f172a);
6124
+ }
6125
+ .cl-breadcrumb__page {
6126
+ font-weight: 600;
6127
+ color: var(--cl-color-text-primary, #0f172a);
6128
+ cursor: default;
6129
+ user-select: text;
6130
+ }
6131
+ .cl-breadcrumb__separator {
6132
+ display: inline-flex;
6133
+ align-items: center;
6134
+ color: var(--cl-color-text-muted, #94a3b8);
6135
+ user-select: none;
6136
+ }
6137
+ .cl-breadcrumb__ellipsis {
6138
+ display: inline-flex;
6139
+ align-items: center;
6140
+ justify-content: center;
6141
+ width: 24px;
6142
+ height: 24px;
6143
+ color: var(--cl-color-text-muted, #64748b);
6144
+ user-select: none;
6145
+ }
6146
+ }
6147
+
6148
+ /* src/components/DateRangePicker/DateRangePicker.styles.css */
6149
+ @layer cl-components {
6150
+ .cl-daterangepicker {
6151
+ display: inline-block;
6152
+ position: relative;
6153
+ width: 320px;
6154
+ font-family: inherit;
6155
+ box-sizing: border-box;
6156
+ }
6157
+ .cl-daterangepicker__control {
6158
+ position: relative;
6159
+ display: flex;
6160
+ align-items: center;
6161
+ width: 100%;
6162
+ }
6163
+ .cl-daterangepicker__input {
6164
+ width: 100%;
6165
+ box-sizing: border-box;
6166
+ border: 1px solid var(--cl-color-border-default, #e2e8f0);
6167
+ border-radius: var(--cl-radius-md, 8px);
6168
+ background-color: var(--cl-color-surface-elevated, #ffffff);
6169
+ color: var(--cl-color-text-primary, #0f172a);
6170
+ font-family: inherit;
6171
+ cursor: pointer;
6172
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
6173
+ }
6174
+ .cl-daterangepicker--sm .cl-daterangepicker__input {
6175
+ height: 32px;
6176
+ padding: 0 3.25rem 0 2rem;
6177
+ font-size: 0.8125rem;
6178
+ }
6179
+ .cl-daterangepicker--md .cl-daterangepicker__input {
6180
+ height: 40px;
6181
+ padding: 0 3.5rem 0 2.25rem;
6182
+ font-size: 0.875rem;
6183
+ }
6184
+ .cl-daterangepicker--lg .cl-daterangepicker__input {
6185
+ height: 48px;
6186
+ padding: 0 4rem 0 2.5rem;
6187
+ font-size: 1rem;
6188
+ }
6189
+ .cl-daterangepicker__input:focus {
6190
+ outline: none;
6191
+ border-color: var(--cl-color-primary-base, #4f46e5);
6192
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
6193
+ }
6194
+ .cl-daterangepicker__input:disabled {
6195
+ opacity: 0.45;
6196
+ cursor: not-allowed;
6197
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
6198
+ }
6199
+ .cl-daterangepicker--error .cl-daterangepicker__input {
6200
+ border-color: var(--cl-color-danger-base, #dc2626);
6201
+ }
6202
+ .cl-daterangepicker--error .cl-daterangepicker__input:focus {
6203
+ box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
6204
+ }
6205
+ .cl-daterangepicker__icon-btn {
6206
+ position: absolute;
6207
+ left: 0.5rem;
6208
+ display: inline-flex;
6209
+ align-items: center;
6210
+ justify-content: center;
6211
+ background: transparent;
6212
+ border: none;
6213
+ padding: 0.25rem;
6214
+ border-radius: var(--cl-radius-sm, 4px);
6215
+ color: var(--cl-color-text-secondary, #64748b);
6216
+ cursor: pointer;
6217
+ transition: background-color 0.12s ease, color 0.12s ease;
6218
+ z-index: 1;
6219
+ }
6220
+ .cl-daterangepicker__icon-btn:hover:not(:disabled) {
6221
+ color: var(--cl-color-text-primary, #0f172a);
6222
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
6223
+ }
6224
+ .cl-daterangepicker__icon-btn:focus-visible {
6225
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
6226
+ outline-offset: 1px;
6227
+ }
6228
+ .cl-daterangepicker__actions {
6229
+ position: absolute;
6230
+ right: 0.5rem;
6231
+ display: flex;
6232
+ align-items: center;
6233
+ gap: 0.25rem;
6234
+ z-index: 1;
6235
+ }
6236
+ .cl-daterangepicker__clear-btn {
6237
+ display: inline-flex;
6238
+ align-items: center;
6239
+ justify-content: center;
6240
+ width: 20px;
6241
+ height: 20px;
6242
+ padding: 0;
6243
+ border: none;
6244
+ border-radius: var(--cl-radius-full, 9999px);
6245
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
6246
+ color: var(--cl-color-text-subtle, #94a3b8);
6247
+ cursor: pointer;
6248
+ transition: background-color 0.12s ease, color 0.12s ease;
6249
+ }
6250
+ .cl-daterangepicker__clear-btn:hover {
6251
+ background-color: var(--cl-color-border-default, #e2e8f0);
6252
+ color: var(--cl-color-text-primary, #0f172a);
6253
+ }
6254
+ .cl-daterangepicker__clear-btn:focus-visible {
6255
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
6256
+ outline-offset: 1px;
6257
+ }
6258
+ .cl-daterangepicker__toggle-btn {
6259
+ display: inline-flex;
6260
+ align-items: center;
6261
+ justify-content: center;
6262
+ padding: 0.25rem;
6263
+ border: none;
6264
+ border-radius: var(--cl-radius-sm, 4px);
6265
+ background: transparent;
6266
+ color: var(--cl-color-text-secondary, #64748b);
6267
+ cursor: pointer;
6268
+ transition: transform 0.15s ease, color 0.12s ease;
6269
+ }
6270
+ .cl-daterangepicker__toggle-btn:hover:not(:disabled) {
6271
+ color: var(--cl-color-text-primary, #0f172a);
6272
+ }
6273
+ .cl-daterangepicker__toggle-btn:focus-visible {
6274
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
6275
+ outline-offset: 1px;
6276
+ }
6277
+ .cl-daterangepicker--open .cl-daterangepicker__toggle-btn {
6278
+ transform: rotate(180deg);
6279
+ }
6280
+ .cl-daterangepicker__popover {
6281
+ padding: 0;
6282
+ border: none;
6283
+ background: transparent;
6284
+ box-shadow: var(--cl-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05));
6285
+ border-radius: var(--cl-radius-lg, 12px);
6286
+ overflow: hidden;
6287
+ }
6288
+ }
6289
+
6290
+ /* src/components/TimePicker/TimePicker.styles.css */
6291
+ @layer cl-components {
6292
+ .cl-timepicker {
6293
+ display: inline-block;
6294
+ position: relative;
6295
+ width: 200px;
6296
+ font-family: inherit;
6297
+ box-sizing: border-box;
6298
+ }
6299
+ .cl-timepicker__control {
6300
+ position: relative;
6301
+ display: flex;
6302
+ align-items: center;
6303
+ width: 100%;
6304
+ }
6305
+ .cl-timepicker__input {
6306
+ width: 100%;
6307
+ box-sizing: border-box;
6308
+ border: 1px solid var(--cl-color-border-default, #e2e8f0);
6309
+ border-radius: var(--cl-radius-md, 8px);
6310
+ background-color: var(--cl-color-surface-elevated, #ffffff);
6311
+ color: var(--cl-color-text-primary, #0f172a);
6312
+ font-family: inherit;
6313
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
6314
+ }
6315
+ .cl-timepicker--sm .cl-timepicker__input {
6316
+ height: 32px;
6317
+ padding: 0 3.25rem 0 2rem;
6318
+ font-size: 0.8125rem;
6319
+ }
6320
+ .cl-timepicker--md .cl-timepicker__input {
6321
+ height: 40px;
6322
+ padding: 0 3.5rem 0 2.25rem;
6323
+ font-size: 0.875rem;
6324
+ }
6325
+ .cl-timepicker--lg .cl-timepicker__input {
6326
+ height: 48px;
6327
+ padding: 0 4rem 0 2.5rem;
6328
+ font-size: 1rem;
6329
+ }
6330
+ .cl-timepicker__input:focus {
6331
+ outline: none;
6332
+ border-color: var(--cl-color-primary-base, #4f46e5);
6333
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
6334
+ }
6335
+ .cl-timepicker__input:disabled {
6336
+ opacity: 0.45;
6337
+ cursor: not-allowed;
6338
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
6339
+ }
6340
+ .cl-timepicker--error .cl-timepicker__input {
6341
+ border-color: var(--cl-color-danger-base, #dc2626);
6342
+ }
6343
+ .cl-timepicker--error .cl-timepicker__input:focus {
6344
+ box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
6345
+ }
6346
+ .cl-timepicker__icon-btn {
6347
+ position: absolute;
6348
+ left: 0.5rem;
6349
+ display: inline-flex;
6350
+ align-items: center;
6351
+ justify-content: center;
6352
+ background: transparent;
6353
+ border: none;
6354
+ padding: 0.25rem;
6355
+ border-radius: var(--cl-radius-sm, 4px);
6356
+ color: var(--cl-color-text-secondary, #64748b);
6357
+ cursor: pointer;
6358
+ transition: background-color 0.12s ease, color 0.12s ease;
6359
+ z-index: 1;
6360
+ }
6361
+ .cl-timepicker__icon-btn:hover:not(:disabled) {
6362
+ color: var(--cl-color-text-primary, #0f172a);
6363
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
6364
+ }
6365
+ .cl-timepicker__icon-btn:focus-visible {
6366
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
6367
+ outline-offset: 1px;
6368
+ }
6369
+ .cl-timepicker__actions {
6370
+ position: absolute;
6371
+ right: 0.5rem;
6372
+ display: flex;
6373
+ align-items: center;
6374
+ gap: 0.25rem;
6375
+ z-index: 1;
6376
+ }
6377
+ .cl-timepicker__clear-btn {
6378
+ display: inline-flex;
6379
+ align-items: center;
6380
+ justify-content: center;
6381
+ width: 20px;
6382
+ height: 20px;
6383
+ padding: 0;
6384
+ border: none;
6385
+ border-radius: var(--cl-radius-full, 9999px);
6386
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
6387
+ color: var(--cl-color-text-subtle, #94a3b8);
6388
+ cursor: pointer;
6389
+ transition: background-color 0.12s ease, color 0.12s ease;
6390
+ }
6391
+ .cl-timepicker__clear-btn:hover {
6392
+ background-color: var(--cl-color-border-default, #e2e8f0);
6393
+ color: var(--cl-color-text-primary, #0f172a);
6394
+ }
6395
+ .cl-timepicker__clear-btn:focus-visible {
6396
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
6397
+ outline-offset: 1px;
6398
+ }
6399
+ .cl-timepicker__toggle-btn {
6400
+ display: inline-flex;
6401
+ align-items: center;
6402
+ justify-content: center;
6403
+ padding: 0.25rem;
6404
+ border: none;
6405
+ border-radius: var(--cl-radius-sm, 4px);
6406
+ background: transparent;
6407
+ color: var(--cl-color-text-secondary, #64748b);
6408
+ cursor: pointer;
6409
+ transition: transform 0.15s ease, color 0.12s ease;
6410
+ }
6411
+ .cl-timepicker__toggle-btn:hover:not(:disabled) {
6412
+ color: var(--cl-color-text-primary, #0f172a);
6413
+ }
6414
+ .cl-timepicker__toggle-btn:focus-visible {
6415
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
6416
+ outline-offset: 1px;
6417
+ }
6418
+ .cl-timepicker--open .cl-timepicker__toggle-btn {
6419
+ transform: rotate(180deg);
6420
+ }
6421
+ .cl-timepicker__popover {
6422
+ padding: 0;
6423
+ border: 1px solid var(--cl-color-border-default, #e2e8f0);
6424
+ background-color: var(--cl-color-surface-elevated, #ffffff);
6425
+ box-shadow: var(--cl-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05));
6426
+ border-radius: var(--cl-radius-lg, 12px);
6427
+ overflow: hidden;
6428
+ }
6429
+ .cl-timepicker__columns {
6430
+ display: flex;
6431
+ flex-direction: row;
6432
+ max-height: 220px;
6433
+ }
6434
+ .cl-timepicker__column {
6435
+ display: flex;
6436
+ flex-direction: column;
6437
+ overflow-y: auto;
6438
+ width: 60px;
6439
+ padding: 4px;
6440
+ box-sizing: border-box;
6441
+ border-right: 1px solid var(--cl-color-border-subtle, #f1f5f9);
6442
+ scrollbar-width: thin;
6443
+ }
6444
+ .cl-timepicker__column:last-child {
6445
+ border-right: none;
6446
+ }
6447
+ .cl-timepicker__column-title {
6448
+ text-align: center;
6449
+ font-size: 11px;
6450
+ font-weight: 600;
6451
+ color: var(--cl-color-text-muted, #94a3b8);
6452
+ padding: 4px 0 6px 0;
6453
+ text-transform: uppercase;
6454
+ letter-spacing: 0.05em;
6455
+ user-select: none;
6456
+ }
6457
+ .cl-timepicker__option {
6458
+ display: block;
6459
+ width: 100%;
6460
+ padding: 6px 0;
6461
+ text-align: center;
6462
+ font-size: 0.8125rem;
6463
+ font-weight: 500;
6464
+ color: var(--cl-color-text-primary, #0f172a);
6465
+ background: transparent;
6466
+ border: none;
6467
+ border-radius: var(--cl-radius-sm, 4px);
6468
+ cursor: pointer;
6469
+ box-sizing: border-box;
6470
+ margin-bottom: 2px;
6471
+ transition: background-color 0.12s ease, color 0.12s ease;
6472
+ }
6473
+ .cl-timepicker__option:hover:not(:disabled):not(.cl-timepicker__option--selected) {
6474
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
6475
+ }
6476
+ .cl-timepicker__option--selected {
6477
+ background-color: var(--cl-color-primary-base, #4f46e5) !important;
6478
+ color: #ffffff !important;
6479
+ font-weight: 600;
6480
+ }
6481
+ .cl-timepicker__option:disabled {
6482
+ opacity: 0.3;
6483
+ cursor: not-allowed;
6484
+ }
6485
+ .cl-timepicker__option:focus-visible {
6486
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
6487
+ outline-offset: -1px;
6488
+ }
6489
+ }
6490
+
6491
+ /* src/components/MultiSelect/MultiSelect.styles.css */
6492
+ @layer cl-components {
6493
+ .cl-multiselect {
6494
+ display: inline-block;
6495
+ position: relative;
6496
+ width: 100%;
6497
+ box-sizing: border-box;
6498
+ font-family: inherit;
6499
+ }
6500
+ .cl-multiselect__control {
6501
+ display: flex;
6502
+ align-items: center;
6503
+ justify-content: space-between;
6504
+ width: 100%;
6505
+ min-height: 40px;
6506
+ padding: 4px 10px;
6507
+ box-sizing: border-box;
6508
+ border: 1px solid var(--cl-color-border-default, #e2e8f0);
6509
+ border-radius: var(--cl-radius-md, 8px);
6510
+ background-color: var(--cl-color-surface-elevated, #ffffff);
6511
+ color: var(--cl-color-text-primary, #0f172a);
6512
+ cursor: pointer;
6513
+ user-select: none;
6514
+ transition: border-color 0.15s ease, box-shadow 0.15s ease;
6515
+ }
6516
+ .cl-multiselect__control:focus,
6517
+ .cl-multiselect__control:focus-visible {
6518
+ outline: none;
6519
+ border-color: var(--cl-color-primary-base, #4f46e5);
6520
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
6521
+ }
6522
+ .cl-multiselect--open .cl-multiselect__control {
6523
+ border-color: var(--cl-color-primary-base, #4f46e5);
6524
+ }
6525
+ .cl-multiselect--open .cl-multiselect__arrow {
6526
+ transform: rotate(180deg);
6527
+ }
6528
+ .cl-multiselect--disabled .cl-multiselect__control {
6529
+ opacity: 0.5;
6530
+ cursor: not-allowed;
6531
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
6532
+ }
6533
+ .cl-multiselect--error .cl-multiselect__control {
6534
+ border-color: var(--cl-color-danger-base, #dc2626);
6535
+ }
6536
+ .cl-multiselect--error .cl-multiselect__control:focus {
6537
+ box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.15);
6538
+ }
6539
+ .cl-multiselect--sm .cl-multiselect__control {
6540
+ min-height: 32px;
6541
+ padding: 2px 8px;
6542
+ font-size: var(--cl-font-size-xs, 12px);
6543
+ }
6544
+ .cl-multiselect--md .cl-multiselect__control {
6545
+ min-height: 40px;
6546
+ padding: 4px 10px;
6547
+ font-size: var(--cl-font-size-sm, 14px);
6548
+ }
6549
+ .cl-multiselect--lg .cl-multiselect__control {
6550
+ min-height: 48px;
6551
+ padding: 6px 14px;
6552
+ font-size: var(--cl-font-size-base, 16px);
6553
+ }
6554
+ .cl-multiselect__tags {
6555
+ display: flex;
6556
+ flex-wrap: wrap;
6557
+ align-items: center;
6558
+ gap: 4px;
6559
+ flex: 1;
6560
+ overflow: hidden;
6561
+ }
6562
+ .cl-multiselect__placeholder {
6563
+ color: var(--cl-color-text-subtle, #94a3b8);
6564
+ font-size: inherit;
6565
+ }
6566
+ .cl-multiselect__tag {
6567
+ display: inline-flex;
6568
+ align-items: center;
6569
+ gap: 4px;
6570
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
6571
+ color: var(--cl-color-text-primary, #0f172a);
6572
+ border: 1px solid var(--cl-color-border-subtle, #e2e8f0);
6573
+ border-radius: var(--cl-radius-sm, 4px);
6574
+ padding: 2px 6px;
6575
+ font-size: 0.8125rem;
6576
+ line-height: 1.25;
6577
+ font-weight: 500;
6578
+ }
6579
+ .cl-multiselect__tag--excess {
6580
+ background-color: var(--cl-color-primary-subtle, #eef2ff);
6581
+ color: var(--cl-color-primary-base, #4f46e5);
6582
+ border-color: transparent;
6583
+ }
6584
+ .cl-multiselect__tag-remove {
6585
+ display: inline-flex;
6586
+ align-items: center;
6587
+ justify-content: center;
6588
+ padding: 0;
6589
+ margin-left: 2px;
6590
+ border: none;
6591
+ background: transparent;
6592
+ color: var(--cl-color-text-muted, #64748b);
6593
+ cursor: pointer;
6594
+ border-radius: var(--cl-radius-full, 9999px);
6595
+ transition: color 0.12s ease;
6596
+ }
6597
+ .cl-multiselect__tag-remove:hover {
6598
+ color: var(--cl-color-danger-base, #dc2626);
6599
+ }
6600
+ .cl-multiselect__actions {
6601
+ display: flex;
6602
+ align-items: center;
6603
+ gap: 4px;
6604
+ margin-left: 8px;
6605
+ }
6606
+ .cl-multiselect__clear {
6607
+ display: inline-flex;
6608
+ align-items: center;
6609
+ justify-content: center;
6610
+ background: transparent;
6611
+ border: none;
6612
+ padding: 2px;
6613
+ color: var(--cl-color-text-subtle, #94a3b8);
6614
+ cursor: pointer;
6615
+ border-radius: var(--cl-radius-full, 9999px);
6616
+ transition: color 0.12s ease;
6617
+ }
6618
+ .cl-multiselect__clear:hover {
6619
+ color: var(--cl-color-text-primary, #0f172a);
6620
+ }
6621
+ .cl-multiselect__arrow {
6622
+ display: inline-flex;
6623
+ align-items: center;
6624
+ color: var(--cl-color-text-secondary, #64748b);
6625
+ transition: transform 0.15s ease;
6626
+ }
6627
+ .cl-multiselect__popover {
6628
+ z-index: 1000;
6629
+ background-color: var(--cl-color-surface-elevated, #ffffff);
6630
+ border: 1px solid var(--cl-color-border-default, #e2e8f0);
6631
+ border-radius: var(--cl-radius-md, 8px);
6632
+ box-shadow: var(--cl-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1));
6633
+ overflow: hidden;
6634
+ box-sizing: border-box;
6635
+ }
6636
+ .cl-multiselect__search-wrapper {
6637
+ padding: 8px;
6638
+ border-bottom: 1px solid var(--cl-color-border-subtle, #f1f5f9);
6639
+ }
6640
+ .cl-multiselect__search-input {
6641
+ width: 100%;
6642
+ padding: 6px 10px;
6643
+ border: 1px solid var(--cl-color-border-default, #e2e8f0);
6644
+ border-radius: var(--cl-radius-sm, 4px);
6645
+ background-color: var(--cl-color-surface-base, #ffffff);
6646
+ color: var(--cl-color-text-primary, #0f172a);
6647
+ font-size: 0.875rem;
6648
+ outline: none;
6649
+ box-sizing: border-box;
6650
+ }
6651
+ .cl-multiselect__search-input:focus {
6652
+ border-color: var(--cl-color-primary-base, #4f46e5);
6653
+ }
6654
+ .cl-multiselect__list {
6655
+ max-height: 240px;
6656
+ overflow-y: auto;
6657
+ padding: 4px;
6658
+ box-sizing: border-box;
6659
+ }
6660
+ .cl-multiselect__option {
6661
+ display: flex;
6662
+ align-items: center;
6663
+ gap: 8px;
6664
+ padding: 6px 10px;
6665
+ border-radius: var(--cl-radius-sm, 4px);
6666
+ cursor: pointer;
6667
+ font-size: 0.875rem;
6668
+ color: var(--cl-color-text-primary, #0f172a);
6669
+ transition: background-color 0.1s ease;
6670
+ }
6671
+ .cl-multiselect__option:hover,
6672
+ .cl-multiselect__option--active {
6673
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
6674
+ }
6675
+ .cl-multiselect__option--selected {
6676
+ font-weight: 500;
6677
+ }
6678
+ .cl-multiselect__option--disabled {
6679
+ opacity: 0.45;
6680
+ cursor: not-allowed;
6681
+ }
6682
+ .cl-multiselect__checkbox {
6683
+ display: inline-flex;
6684
+ align-items: center;
6685
+ justify-content: center;
6686
+ width: 16px;
6687
+ height: 16px;
6688
+ border: 1px solid var(--cl-color-border-default, #cbd5e1);
6689
+ border-radius: 3px;
6690
+ background-color: var(--cl-color-surface-elevated, #ffffff);
6691
+ color: #ffffff;
6692
+ flex-shrink: 0;
6693
+ }
6694
+ .cl-multiselect__option--selected .cl-multiselect__checkbox {
6695
+ background-color: var(--cl-color-primary-base, #4f46e5);
6696
+ border-color: var(--cl-color-primary-base, #4f46e5);
6697
+ }
6698
+ .cl-multiselect__option-content {
6699
+ display: flex;
6700
+ flex-direction: column;
6701
+ }
6702
+ .cl-multiselect__option-label {
6703
+ line-height: 1.4;
6704
+ }
6705
+ .cl-multiselect__option-desc {
6706
+ font-size: 0.75rem;
6707
+ color: var(--cl-color-text-muted, #64748b);
6708
+ }
6709
+ .cl-multiselect__empty,
6710
+ .cl-multiselect__loading {
6711
+ padding: 16px;
6712
+ text-align: center;
6713
+ font-size: 0.875rem;
6714
+ color: var(--cl-color-text-muted, #64748b);
6715
+ }
6716
+ }
6717
+
6718
+ /* src/components/DataGrid/DataGrid.styles.css */
6719
+ @layer cl-components {
6720
+ .cl-datagrid {
6721
+ display: flex;
6722
+ flex-direction: column;
6723
+ width: 100%;
6724
+ box-sizing: border-box;
6725
+ font-family: inherit;
6726
+ border: 1px solid var(--cl-color-border-default, #e2e8f0);
6727
+ border-radius: var(--cl-radius-md, 8px);
6728
+ background-color: var(--cl-color-surface-elevated, #ffffff);
6729
+ overflow: hidden;
6730
+ }
6731
+ .cl-datagrid__container {
6732
+ width: 100%;
6733
+ overflow-x: auto;
6734
+ position: relative;
6735
+ box-sizing: border-box;
6736
+ }
6737
+ .cl-datagrid__container:focus-visible {
6738
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
6739
+ outline-offset: -2px;
6740
+ }
6741
+ .cl-datagrid__table {
6742
+ width: 100%;
6743
+ border-collapse: collapse;
6744
+ border-spacing: 0;
6745
+ text-align: left;
6746
+ font-size: var(--cl-font-size-sm, 14px);
6747
+ line-height: var(--cl-line-height-normal, 1.5);
6748
+ }
6749
+ .cl-datagrid__thead {
6750
+ background-color: var(--cl-color-surface-hover, #f8fafc);
6751
+ border-bottom: 1px solid var(--cl-color-border-default, #e2e8f0);
6752
+ }
6753
+ .cl-datagrid--sticky-header .cl-datagrid__thead {
6754
+ position: sticky;
6755
+ top: 0;
6756
+ z-index: 2;
6757
+ }
6758
+ .cl-datagrid__th {
6759
+ padding: 10px 16px;
6760
+ font-weight: 600;
6761
+ color: var(--cl-color-text-primary, #0f172a);
6762
+ box-sizing: border-box;
6763
+ white-space: nowrap;
6764
+ user-select: none;
6765
+ }
6766
+ .cl-datagrid__th--select,
6767
+ .cl-datagrid__td--select {
6768
+ width: 48px;
6769
+ text-align: center;
6770
+ padding: 10px 12px;
6771
+ }
6772
+ .cl-datagrid__sort-btn {
6773
+ display: inline-flex;
6774
+ align-items: center;
6775
+ gap: 6px;
6776
+ background: transparent;
6777
+ border: none;
6778
+ padding: 0;
6779
+ font: inherit;
6780
+ font-weight: 600;
6781
+ color: inherit;
6782
+ cursor: pointer;
6783
+ border-radius: var(--cl-radius-sm, 4px);
6784
+ transition: color 0.12s ease;
6785
+ }
6786
+ .cl-datagrid__sort-btn:hover {
6787
+ color: var(--cl-color-primary-base, #4f46e5);
6788
+ }
6789
+ .cl-datagrid__sort-btn:focus-visible {
6790
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
6791
+ outline-offset: 2px;
6792
+ }
6793
+ .cl-datagrid__sort-icon {
6794
+ display: inline-flex;
6795
+ align-items: center;
6796
+ justify-content: center;
6797
+ }
6798
+ .cl-datagrid__tr {
6799
+ border-bottom: 1px solid var(--cl-color-border-subtle, #f1f5f9);
6800
+ transition: background-color 0.1s ease;
6801
+ }
6802
+ .cl-datagrid__tr:hover {
6803
+ background-color: var(--cl-color-surface-hover, #f8fafc);
6804
+ }
6805
+ .cl-datagrid__tr--selected {
6806
+ background-color: var(--cl-color-primary-subtle, #eef2ff) !important;
6807
+ }
6808
+ .cl-datagrid__tr--clickable {
6809
+ cursor: pointer;
6810
+ }
6811
+ .cl-datagrid__td {
6812
+ padding: 12px 16px;
6813
+ color: var(--cl-color-text-secondary, #334155);
6814
+ box-sizing: border-box;
6815
+ }
6816
+ .cl-datagrid__th--align-center,
6817
+ .cl-datagrid__td--align-center {
6818
+ text-align: center;
6819
+ }
6820
+ .cl-datagrid__th--align-right,
6821
+ .cl-datagrid__td--align-right {
6822
+ text-align: right;
6823
+ }
6824
+ .cl-datagrid--striped .cl-datagrid__tbody .cl-datagrid__tr:nth-child(even) {
6825
+ background-color: var(--cl-color-surface-hover, #f8fafc);
6826
+ }
6827
+ .cl-datagrid--bordered .cl-datagrid__th,
6828
+ .cl-datagrid--bordered .cl-datagrid__td {
6829
+ border-right: 1px solid var(--cl-color-border-subtle, #f1f5f9);
6830
+ }
6831
+ .cl-datagrid--bordered .cl-datagrid__th:last-child,
6832
+ .cl-datagrid--bordered .cl-datagrid__td:last-child {
6833
+ border-right: none;
6834
+ }
6835
+ .cl-datagrid--sm .cl-datagrid__th {
6836
+ padding: 6px 10px;
6837
+ font-size: var(--cl-font-size-xs, 12px);
6838
+ }
6839
+ .cl-datagrid--sm .cl-datagrid__td {
6840
+ padding: 8px 10px;
6841
+ font-size: var(--cl-font-size-xs, 12px);
6842
+ }
6843
+ .cl-datagrid--md .cl-datagrid__th {
6844
+ padding: 10px 16px;
6845
+ font-size: var(--cl-font-size-sm, 14px);
6846
+ }
6847
+ .cl-datagrid--md .cl-datagrid__td {
6848
+ padding: 12px 16px;
6849
+ font-size: var(--cl-font-size-sm, 14px);
6850
+ }
6851
+ .cl-datagrid--lg .cl-datagrid__th {
6852
+ padding: 14px 20px;
6853
+ font-size: var(--cl-font-size-base, 16px);
6854
+ }
6855
+ .cl-datagrid--lg .cl-datagrid__td {
6856
+ padding: 16px 20px;
6857
+ font-size: var(--cl-font-size-base, 16px);
6858
+ }
6859
+ .cl-datagrid__loading-wrapper {
6860
+ display: flex;
6861
+ align-items: center;
6862
+ justify-content: center;
6863
+ gap: 12px;
6864
+ padding: 40px;
6865
+ color: var(--cl-color-text-muted, #64748b);
6866
+ }
6867
+ .cl-datagrid__empty-wrapper {
6868
+ display: flex;
6869
+ align-items: center;
6870
+ justify-content: center;
6871
+ padding: 48px;
6872
+ color: var(--cl-color-text-muted, #64748b);
6873
+ font-size: 0.875rem;
6874
+ }
6875
+ .cl-datagrid__footer {
6876
+ display: flex;
6877
+ align-items: center;
6878
+ justify-content: flex-end;
6879
+ padding: 10px 16px;
6880
+ border-top: 1px solid var(--cl-color-border-default, #e2e8f0);
6881
+ background-color: var(--cl-color-surface-elevated, #ffffff);
6882
+ }
6883
+ }
6884
+
6885
+ /* src/components/FileUpload/FileUpload.styles.css */
6886
+ @layer cl-components {
6887
+ .cl-fileupload {
6888
+ display: flex;
6889
+ flex-direction: column;
6890
+ width: 100%;
6891
+ box-sizing: border-box;
6892
+ font-family: inherit;
6893
+ }
6894
+ .cl-fileupload__dropzone {
6895
+ display: flex;
6896
+ flex-direction: column;
6897
+ align-items: center;
6898
+ justify-content: center;
6899
+ gap: 8px;
6900
+ padding: 32px 24px;
6901
+ border: 2px dashed var(--cl-color-border-default, #cbd5e1);
6902
+ border-radius: var(--cl-radius-lg, 12px);
6903
+ background-color: var(--cl-color-surface-base, #ffffff);
6904
+ color: var(--cl-color-text-secondary, #475569);
6905
+ text-align: center;
6906
+ cursor: pointer;
6907
+ box-sizing: border-box;
6908
+ transition:
6909
+ border-color 0.15s ease,
6910
+ background-color 0.15s ease,
6911
+ box-shadow 0.15s ease;
6912
+ }
6913
+ .cl-fileupload__dropzone:hover {
6914
+ border-color: var(--cl-color-primary-base, #4f46e5);
6915
+ background-color: var(--cl-color-surface-hover, #f8fafc);
6916
+ }
6917
+ .cl-fileupload__dropzone:focus,
6918
+ .cl-fileupload__dropzone:focus-visible {
6919
+ outline: none;
6920
+ border-color: var(--cl-color-primary-base, #4f46e5);
6921
+ box-shadow: 0 0 0 3px rgba(79, 70, 229, 0.15);
6922
+ }
6923
+ .cl-fileupload__dropzone--dragging {
6924
+ border-color: var(--cl-color-primary-base, #4f46e5);
6925
+ background-color: var(--cl-color-primary-subtle, #eef2ff);
6926
+ }
6927
+ .cl-fileupload--disabled .cl-fileupload__dropzone {
6928
+ opacity: 0.5;
6929
+ cursor: not-allowed;
6930
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
6931
+ border-color: var(--cl-color-border-subtle, #e2e8f0);
6932
+ }
6933
+ .cl-fileupload--error .cl-fileupload__dropzone {
6934
+ border-color: var(--cl-color-danger-base, #dc2626);
6935
+ }
6936
+ .cl-fileupload__icon {
6937
+ display: inline-flex;
6938
+ align-items: center;
6939
+ justify-content: center;
6940
+ color: var(--cl-color-primary-base, #4f46e5);
6941
+ margin-bottom: 4px;
6942
+ }
6943
+ .cl-fileupload__content {
6944
+ display: flex;
6945
+ flex-direction: column;
6946
+ gap: 4px;
6947
+ }
6948
+ .cl-fileupload__prompt {
6949
+ font-size: var(--cl-font-size-sm, 14px);
6950
+ font-weight: 500;
6951
+ color: var(--cl-color-text-primary, #0f172a);
6952
+ }
6953
+ .cl-fileupload__hint {
6954
+ font-size: var(--cl-font-size-xs, 12px);
6955
+ color: var(--cl-color-text-muted, #64748b);
6956
+ }
6957
+ .cl-fileupload__browse-btn {
6958
+ margin-top: 8px;
6959
+ padding: 6px 14px;
6960
+ font-size: var(--cl-font-size-xs, 12px);
6961
+ font-weight: 600;
6962
+ border-radius: var(--cl-radius-md, 6px);
6963
+ background-color: var(--cl-color-surface-elevated, #ffffff);
6964
+ border: 1px solid var(--cl-color-border-default, #cbd5e1);
6965
+ color: var(--cl-color-text-primary, #0f172a);
6966
+ cursor: pointer;
6967
+ box-shadow: var(--cl-shadow-xs, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
6968
+ transition: background-color 0.12s ease, border-color 0.12s ease;
6969
+ }
6970
+ .cl-fileupload__browse-btn:hover:not(:disabled) {
6971
+ background-color: var(--cl-color-surface-hover, #f1f5f9);
6972
+ border-color: var(--cl-color-border-hover, #94a3b8);
6973
+ }
6974
+ .cl-fileupload__errors {
6975
+ margin-top: 8px;
6976
+ display: flex;
6977
+ flex-direction: column;
6978
+ gap: 4px;
6979
+ }
6980
+ .cl-fileupload__error-item {
6981
+ font-size: var(--cl-font-size-xs, 12px);
6982
+ color: var(--cl-color-danger-base, #dc2626);
6983
+ line-height: 1.4;
6984
+ }
6985
+ .cl-fileupload__list {
6986
+ margin: 12px 0 0 0;
6987
+ padding: 0;
6988
+ list-style: none;
6989
+ display: flex;
6990
+ flex-direction: column;
6991
+ gap: 6px;
6992
+ }
6993
+ .cl-fileupload__item {
6994
+ display: flex;
6995
+ align-items: center;
6996
+ justify-content: space-between;
6997
+ padding: 8px 12px;
6998
+ background-color: var(--cl-color-surface-hover, #f8fafc);
6999
+ border: 1px solid var(--cl-color-border-subtle, #e2e8f0);
7000
+ border-radius: var(--cl-radius-md, 6px);
7001
+ font-size: var(--cl-font-size-sm, 14px);
7002
+ }
7003
+ .cl-fileupload__file-info {
7004
+ display: flex;
7005
+ align-items: center;
7006
+ gap: 8px;
7007
+ overflow: hidden;
7008
+ }
7009
+ .cl-fileupload__file-icon {
7010
+ display: inline-flex;
7011
+ align-items: center;
7012
+ color: var(--cl-color-text-muted, #64748b);
7013
+ flex-shrink: 0;
7014
+ }
7015
+ .cl-fileupload__file-name {
7016
+ font-weight: 500;
7017
+ color: var(--cl-color-text-primary, #0f172a);
7018
+ text-overflow: ellipsis;
7019
+ overflow: hidden;
7020
+ white-space: nowrap;
7021
+ }
7022
+ .cl-fileupload__file-size {
7023
+ color: var(--cl-color-text-muted, #64748b);
7024
+ font-size: var(--cl-font-size-xs, 12px);
7025
+ flex-shrink: 0;
7026
+ }
7027
+ .cl-fileupload__remove-btn {
7028
+ display: inline-flex;
7029
+ align-items: center;
7030
+ justify-content: center;
7031
+ padding: 4px;
7032
+ border: none;
7033
+ background: transparent;
7034
+ color: var(--cl-color-text-subtle, #94a3b8);
7035
+ cursor: pointer;
7036
+ border-radius: var(--cl-radius-sm, 4px);
7037
+ transition: color 0.12s ease, background-color 0.12s ease;
7038
+ }
7039
+ .cl-fileupload__remove-btn:hover {
7040
+ color: var(--cl-color-danger-base, #dc2626);
7041
+ background-color: rgba(220, 38, 38, 0.08);
7042
+ }
7043
+ .cl-fileupload__remove-btn:focus-visible {
7044
+ outline: 2px solid var(--cl-color-focus-ring, var(--cl-color-primary-base, #4f46e5));
7045
+ outline-offset: 1px;
7046
+ }
7047
+ }
7048
+
7049
+ /* src/components/Slider/Slider.styles.css */
7050
+ @layer cl-components {
7051
+ .cl-slider,
7052
+ .cl-range-slider {
7053
+ position: relative;
7054
+ display: flex;
7055
+ flex-direction: column;
7056
+ width: 100%;
7057
+ box-sizing: border-box;
7058
+ user-select: none;
7059
+ touch-action: none;
7060
+ }
7061
+ .cl-slider--disabled,
7062
+ .cl-range-slider--disabled {
7063
+ cursor: not-allowed;
7064
+ opacity: 0.5;
7065
+ }
7066
+ .cl-slider__track-wrapper,
7067
+ .cl-range-slider__track-wrapper {
7068
+ position: relative;
7069
+ display: flex;
7070
+ align-items: center;
7071
+ width: 100%;
7072
+ cursor: pointer;
7073
+ }
7074
+ .cl-slider--disabled .cl-slider__track-wrapper,
7075
+ .cl-range-slider--disabled .cl-range-slider__track-wrapper {
7076
+ cursor: not-allowed;
7077
+ }
7078
+ .cl-slider--sm .cl-slider__track-wrapper,
7079
+ .cl-range-slider--sm .cl-range-slider__track-wrapper {
7080
+ height: 20px;
7081
+ }
7082
+ .cl-slider--md .cl-slider__track-wrapper,
7083
+ .cl-range-slider--md .cl-range-slider__track-wrapper {
7084
+ height: 24px;
7085
+ }
7086
+ .cl-slider--lg .cl-slider__track-wrapper,
7087
+ .cl-range-slider--lg .cl-range-slider__track-wrapper {
7088
+ height: 32px;
7089
+ }
7090
+ .cl-slider__track,
7091
+ .cl-range-slider__track {
7092
+ position: relative;
7093
+ width: 100%;
7094
+ background-color: var(--cl-color-border-subtle, #e5e7eb);
7095
+ border-radius: var(--cl-rad-full, 9999px);
7096
+ overflow: hidden;
7097
+ }
7098
+ .cl-slider--sm .cl-slider__track,
7099
+ .cl-range-slider--sm .cl-range-slider__track {
7100
+ height: 4px;
7101
+ }
7102
+ .cl-slider--md .cl-slider__track,
7103
+ .cl-range-slider--md .cl-range-slider__track {
7104
+ height: 6px;
7105
+ }
7106
+ .cl-slider--lg .cl-slider__track,
7107
+ .cl-range-slider--lg .cl-range-slider__track {
7108
+ height: 8px;
7109
+ }
7110
+ .cl-slider__filled-track,
7111
+ .cl-range-slider__range {
7112
+ position: absolute;
7113
+ top: 0;
7114
+ bottom: 0;
7115
+ border-radius: var(--cl-rad-full, 9999px);
7116
+ background-color: var(--cl-slider-accent, var(--cl-color-primary-base, #6366f1));
7117
+ transition: background-color var(--cl-duration-fast, 150ms) ease;
7118
+ }
7119
+ .cl-slider--primary,
7120
+ .cl-range-slider--primary {
7121
+ --cl-slider-accent: var(--cl-color-primary-base, #6366f1);
7122
+ }
7123
+ .cl-slider--secondary,
7124
+ .cl-range-slider--secondary {
7125
+ --cl-slider-accent: var(--cl-color-secondary-base, #64748b);
7126
+ }
7127
+ .cl-slider--success,
7128
+ .cl-range-slider--success {
7129
+ --cl-slider-accent: var(--cl-color-success-base, #22c55e);
7130
+ }
7131
+ .cl-slider--warning,
7132
+ .cl-range-slider--warning {
7133
+ --cl-slider-accent: var(--cl-color-warning-base, #f59e0b);
7134
+ }
7135
+ .cl-slider--danger,
7136
+ .cl-range-slider--danger {
7137
+ --cl-slider-accent: var(--cl-color-danger-base, #ef4444);
7138
+ }
7139
+ .cl-slider--invalid,
7140
+ .cl-range-slider--invalid {
7141
+ --cl-slider-accent: var(--cl-color-danger-base, #ef4444);
7142
+ }
7143
+ .cl-slider__thumb,
7144
+ .cl-range-slider__thumb {
7145
+ position: absolute;
7146
+ top: 50%;
7147
+ transform: translate(-50%, -50%);
7148
+ box-sizing: border-box;
7149
+ border-radius: var(--cl-rad-full, 9999px);
7150
+ background-color: var(--cl-palette-white, #ffffff);
7151
+ border: 2px solid var(--cl-slider-accent, var(--cl-color-primary-base, #6366f1));
7152
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2), 0 1px 2px rgba(0, 0, 0, 0.1);
7153
+ cursor: grab;
7154
+ outline: none;
7155
+ transition:
7156
+ transform var(--cl-duration-fast, 150ms) ease,
7157
+ box-shadow var(--cl-duration-fast, 150ms) ease,
7158
+ border-color var(--cl-duration-fast, 150ms) ease;
7159
+ z-index: 1;
7160
+ }
7161
+ .cl-slider__thumb:active,
7162
+ .cl-range-slider__thumb:active {
7163
+ cursor: grabbing;
7164
+ transform: translate(-50%, -50%) scale(1.15);
7165
+ }
7166
+ .cl-slider--sm .cl-slider__thumb,
7167
+ .cl-range-slider--sm .cl-range-slider__thumb {
7168
+ width: 14px;
7169
+ height: 14px;
7170
+ }
7171
+ .cl-slider--md .cl-slider__thumb,
7172
+ .cl-range-slider--md .cl-range-slider__thumb {
7173
+ width: 18px;
7174
+ height: 18px;
7175
+ }
7176
+ .cl-slider--lg .cl-slider__thumb,
7177
+ .cl-range-slider--lg .cl-range-slider__thumb {
7178
+ width: 24px;
7179
+ height: 24px;
7180
+ }
7181
+ .cl-slider--disabled .cl-slider__thumb,
7182
+ .cl-range-slider--disabled .cl-range-slider__thumb {
7183
+ cursor: not-allowed;
7184
+ border-color: var(--cl-color-border-strong, #9ca3af);
7185
+ }
7186
+ .cl-slider__thumb:focus-visible,
7187
+ .cl-range-slider__thumb:focus-visible {
7188
+ outline: 2px solid var(--cl-slider-accent, var(--cl-color-primary-base, #6366f1));
7189
+ outline-offset: 2px;
7190
+ box-shadow: 0 0 0 4px var(--cl-color-focus-ring, rgba(99, 102, 241, 0.25));
7191
+ }
7192
+ .cl-slider__marks-container,
7193
+ .cl-range-slider__marks-container {
7194
+ position: relative;
7195
+ width: 100%;
7196
+ margin-top: var(--cl-space-1, 4px);
7197
+ height: 16px;
7198
+ pointer-events: none;
7199
+ }
7200
+ .cl-slider__mark-point,
7201
+ .cl-range-slider__mark-point {
7202
+ position: absolute;
7203
+ top: -12px;
7204
+ width: 4px;
7205
+ height: 4px;
7206
+ border-radius: var(--cl-rad-full, 9999px);
7207
+ background-color: var(--cl-color-border-strong, #9ca3af);
7208
+ transform: translateX(-50%);
7209
+ }
7210
+ .cl-slider__mark-label,
7211
+ .cl-range-slider__mark-label {
7212
+ position: absolute;
7213
+ top: 0;
7214
+ transform: translateX(-50%);
7215
+ font-size: var(--cl-font-size-xs, 0.75rem);
7216
+ color: var(--cl-color-fg-muted, #6b7280);
7217
+ white-space: nowrap;
7218
+ }
7219
+ }
7220
+
7221
+ /* src/components/TreeView/TreeView.styles.css */
7222
+ @layer cl-components {
7223
+ .cl-treeview {
7224
+ display: flex;
7225
+ flex-direction: column;
7226
+ width: 100%;
7227
+ user-select: none;
7228
+ font-family: var(--cl-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
7229
+ font-size: var(--cl-font-size-sm, 0.875rem);
7230
+ color: var(--cl-color-text, #111827);
7231
+ line-height: var(--cl-line-height-normal, 1.5);
7232
+ }
7233
+ .cl-treeview__group,
7234
+ .cl-treeview__root-group {
7235
+ list-style: none;
7236
+ margin: 0;
7237
+ padding: 0;
7238
+ }
7239
+ .cl-treeview__node {
7240
+ display: flex;
7241
+ flex-direction: column;
7242
+ outline: none;
7243
+ cursor: pointer;
7244
+ }
7245
+ .cl-treeview__node-content {
7246
+ display: flex;
7247
+ align-items: center;
7248
+ gap: var(--cl-spacing-2, 0.5rem);
7249
+ padding: var(--cl-spacing-1, 0.25rem) var(--cl-spacing-2, 0.5rem);
7250
+ border-radius: var(--cl-radius-sm, 0.25rem);
7251
+ transition: background-color var(--cl-transition-fast, 150ms ease), color var(--cl-transition-fast, 150ms ease);
7252
+ min-height: 2rem;
7253
+ }
7254
+ .cl-treeview__node-content:hover {
7255
+ background-color: var(--cl-color-surface-hover, rgba(0, 0, 0, 0.04));
7256
+ }
7257
+ .cl-treeview__node--selected > .cl-treeview__node-content {
7258
+ background-color: var(--cl-color-primary-light, #eff6ff);
7259
+ color: var(--cl-color-primary-dark, #1d4ed8);
7260
+ font-weight: var(--cl-font-weight-medium, 500);
7261
+ }
7262
+ .cl-treeview__node--focused > .cl-treeview__node-content {
7263
+ box-shadow: 0 0 0 2px var(--cl-color-focus-ring, #3b82f6);
7264
+ }
7265
+ .cl-treeview__node--disabled {
7266
+ cursor: not-allowed;
7267
+ opacity: 0.5;
7268
+ }
7269
+ .cl-treeview__node--disabled > .cl-treeview__node-content:hover {
7270
+ background-color: transparent;
7271
+ }
7272
+ .cl-treeview__toggle-btn {
7273
+ display: inline-flex;
7274
+ align-items: center;
7275
+ justify-content: center;
7276
+ width: 1.25rem;
7277
+ height: 1.25rem;
7278
+ padding: 0;
7279
+ border: none;
7280
+ background: transparent;
7281
+ color: var(--cl-color-text-muted, #6b7280);
7282
+ cursor: pointer;
7283
+ border-radius: var(--cl-radius-xs, 0.125rem);
7284
+ transition: transform var(--cl-transition-fast, 150ms ease), color var(--cl-transition-fast, 150ms ease);
7285
+ }
7286
+ .cl-treeview__toggle-btn:hover {
7287
+ color: var(--cl-color-text, #111827);
7288
+ }
7289
+ .cl-treeview__toggle-btn--expanded .cl-treeview__chevron-icon {
7290
+ transform: rotate(90deg);
7291
+ }
7292
+ .cl-treeview__chevron-icon {
7293
+ width: 0.875rem;
7294
+ height: 0.875rem;
7295
+ transition: transform var(--cl-transition-fast, 150ms ease);
7296
+ }
7297
+ .cl-treeview__toggle-placeholder {
7298
+ display: inline-block;
7299
+ width: 1.25rem;
7300
+ height: 1.25rem;
7301
+ flex-shrink: 0;
7302
+ }
7303
+ .cl-treeview__node-icon {
7304
+ display: inline-flex;
7305
+ align-items: center;
7306
+ justify-content: center;
7307
+ flex-shrink: 0;
7308
+ color: var(--cl-color-text-muted, #6b7280);
7309
+ }
7310
+ .cl-treeview__node-label {
7311
+ flex: 1;
7312
+ overflow: hidden;
7313
+ text-overflow: ellipsis;
7314
+ white-space: nowrap;
7315
+ }
7316
+ .cl-treeview__empty {
7317
+ padding: var(--cl-spacing-4, 1rem);
7318
+ text-align: center;
7319
+ color: var(--cl-color-text-muted, #6b7280);
7320
+ font-style: italic;
7321
+ }
7322
+ :root[data-theme=dark] .cl-treeview,
7323
+ .dark .cl-treeview {
7324
+ color: var(--cl-color-text-dark, #f9fafb);
7325
+ }
7326
+ :root[data-theme=dark] .cl-treeview__node-content:hover,
7327
+ .dark .cl-treeview__node-content:hover {
7328
+ background-color: var(--cl-color-surface-hover-dark, rgba(255, 255, 255, 0.08));
7329
+ }
7330
+ :root[data-theme=dark] .cl-treeview__node--selected > .cl-treeview__node-content,
7331
+ .dark .cl-treeview__node--selected > .cl-treeview__node-content {
7332
+ background-color: var(--cl-color-primary-dark-mode, #1e3a8a);
7333
+ color: var(--cl-color-primary-text-dark, #93c5fd);
7334
+ }
7335
+ @media (prefers-reduced-motion: reduce) {
7336
+ .cl-treeview__node-content,
7337
+ .cl-treeview__toggle-btn,
7338
+ .cl-treeview__chevron-icon {
7339
+ transition: none !important;
7340
+ }
7341
+ }
7342
+ }
7343
+
7344
+ /* src/components/Stepper/Stepper.styles.css */
7345
+ @layer cl-components {
7346
+ .cl-stepper {
7347
+ display: block;
7348
+ width: 100%;
7349
+ font-family: var(--cl-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
7350
+ color: var(--cl-color-text, #111827);
7351
+ }
7352
+ .cl-stepper__list {
7353
+ display: flex;
7354
+ list-style: none;
7355
+ margin: 0;
7356
+ padding: 0;
7357
+ width: 100%;
7358
+ }
7359
+ .cl-stepper--horizontal .cl-stepper__list {
7360
+ flex-direction: row;
7361
+ align-items: center;
7362
+ }
7363
+ .cl-stepper--horizontal .cl-stepper__item {
7364
+ display: flex;
7365
+ align-items: center;
7366
+ flex: 1;
7367
+ position: relative;
7368
+ }
7369
+ .cl-stepper--horizontal .cl-stepper__item:last-child {
7370
+ flex: none;
7371
+ }
7372
+ .cl-stepper--vertical .cl-stepper__list {
7373
+ flex-direction: column;
7374
+ align-items: flex-start;
7375
+ }
7376
+ .cl-stepper--vertical .cl-stepper__item {
7377
+ display: flex;
7378
+ flex-direction: column;
7379
+ width: 100%;
7380
+ position: relative;
7381
+ padding-bottom: var(--cl-spacing-6, 1.5rem);
7382
+ }
7383
+ .cl-stepper--vertical .cl-stepper__item:last-child {
7384
+ padding-bottom: 0;
7385
+ }
7386
+ .cl-stepper__trigger,
7387
+ .cl-stepper__trigger-static {
7388
+ display: inline-flex;
7389
+ align-items: center;
7390
+ gap: var(--cl-spacing-3, 0.75rem);
7391
+ background: transparent;
7392
+ border: none;
7393
+ padding: var(--cl-spacing-1, 0.25rem) var(--cl-spacing-2, 0.5rem);
7394
+ border-radius: var(--cl-radius-md, 0.375rem);
7395
+ text-align: left;
7396
+ color: inherit;
7397
+ font-size: inherit;
7398
+ font-family: inherit;
7399
+ }
7400
+ .cl-stepper__trigger {
7401
+ cursor: pointer;
7402
+ transition: background-color var(--cl-transition-fast, 150ms ease);
7403
+ }
7404
+ .cl-stepper__trigger:hover:not(:disabled) {
7405
+ background-color: var(--cl-color-surface-hover, rgba(0, 0, 0, 0.04));
7406
+ }
7407
+ .cl-stepper__trigger:focus-visible {
7408
+ outline: none;
7409
+ box-shadow: 0 0 0 2px var(--cl-color-focus-ring, #3b82f6);
7410
+ }
7411
+ .cl-stepper__trigger:disabled {
7412
+ cursor: not-allowed;
7413
+ opacity: 0.5;
7414
+ }
7415
+ .cl-stepper__indicator {
7416
+ display: inline-flex;
7417
+ align-items: center;
7418
+ justify-content: center;
7419
+ border-radius: var(--cl-radius-full, 9999px);
7420
+ font-weight: var(--cl-font-weight-semibold, 600);
7421
+ flex-shrink: 0;
7422
+ transition:
7423
+ background-color var(--cl-transition-fast, 150ms ease),
7424
+ border-color var(--cl-transition-fast, 150ms ease),
7425
+ color var(--cl-transition-fast, 150ms ease);
7426
+ }
7427
+ .cl-stepper--sm .cl-stepper__indicator {
7428
+ width: 1.5rem;
7429
+ height: 1.5rem;
7430
+ font-size: var(--cl-font-size-xs, 0.75rem);
7431
+ }
7432
+ .cl-stepper--sm .cl-stepper__label {
7433
+ font-size: var(--cl-font-size-xs, 0.75rem);
7434
+ }
7435
+ .cl-stepper--md .cl-stepper__indicator {
7436
+ width: 2rem;
7437
+ height: 2rem;
7438
+ font-size: var(--cl-font-size-sm, 0.875rem);
7439
+ }
7440
+ .cl-stepper--md .cl-stepper__label {
7441
+ font-size: var(--cl-font-size-sm, 0.875rem);
7442
+ }
7443
+ .cl-stepper--lg .cl-stepper__indicator {
7444
+ width: 2.5rem;
7445
+ height: 2.5rem;
7446
+ font-size: var(--cl-font-size-md, 1rem);
7447
+ }
7448
+ .cl-stepper--lg .cl-stepper__label {
7449
+ font-size: var(--cl-font-size-md, 1rem);
7450
+ }
7451
+ .cl-stepper__indicator--upcoming {
7452
+ background-color: var(--cl-color-surface, #ffffff);
7453
+ border: 2px solid var(--cl-color-border, #d1d5db);
7454
+ color: var(--cl-color-text-muted, #6b7280);
7455
+ }
7456
+ .cl-stepper__indicator--current {
7457
+ background-color: var(--cl-color-primary, #2563eb);
7458
+ border: 2px solid var(--cl-color-primary, #2563eb);
7459
+ color: #ffffff;
7460
+ box-shadow: 0 0 0 3px var(--cl-color-primary-light, #dbeafe);
7461
+ }
7462
+ .cl-stepper__indicator--completed {
7463
+ background-color: var(--cl-color-success, #10b981);
7464
+ border: 2px solid var(--cl-color-success, #10b981);
7465
+ color: #ffffff;
7466
+ }
7467
+ .cl-stepper__indicator--error {
7468
+ background-color: var(--cl-color-danger, #ef4444);
7469
+ border: 2px solid var(--cl-color-danger, #ef4444);
7470
+ color: #ffffff;
7471
+ }
7472
+ .cl-stepper__indicator--disabled {
7473
+ background-color: var(--cl-color-surface-disabled, #f3f4f6);
7474
+ border: 2px solid var(--cl-color-border-disabled, #e5e7eb);
7475
+ color: var(--cl-color-text-disabled, #9ca3af);
7476
+ }
7477
+ .cl-stepper__status-icon {
7478
+ width: 1rem;
7479
+ height: 1rem;
7480
+ }
7481
+ .cl-stepper__content {
7482
+ display: flex;
7483
+ flex-direction: column;
7484
+ min-width: 0;
7485
+ }
7486
+ .cl-stepper__label-row {
7487
+ display: flex;
7488
+ align-items: center;
7489
+ gap: var(--cl-spacing-1-5, 0.375rem);
7490
+ }
7491
+ .cl-stepper__label {
7492
+ font-weight: var(--cl-font-weight-medium, 500);
7493
+ line-height: var(--cl-line-height-tight, 1.25);
7494
+ white-space: nowrap;
7495
+ }
7496
+ .cl-stepper__item--current .cl-stepper__label {
7497
+ color: var(--cl-color-primary, #2563eb);
7498
+ font-weight: var(--cl-font-weight-semibold, 600);
7499
+ }
7500
+ .cl-stepper__item--error .cl-stepper__label {
7501
+ color: var(--cl-color-danger, #ef4444);
7502
+ }
7503
+ .cl-stepper__optional {
7504
+ font-size: var(--cl-font-size-xs, 0.75rem);
7505
+ color: var(--cl-color-text-muted, #6b7280);
7506
+ }
7507
+ .cl-stepper__description {
7508
+ font-size: var(--cl-font-size-xs, 0.75rem);
7509
+ color: var(--cl-color-text-muted, #6b7280);
7510
+ margin-top: 0.125rem;
7511
+ }
7512
+ .cl-stepper--horizontal .cl-stepper__connector {
7513
+ flex: 1;
7514
+ margin: 0 var(--cl-spacing-3, 0.75rem);
7515
+ min-width: 1.5rem;
7516
+ }
7517
+ .cl-stepper--horizontal .cl-stepper__connector-line {
7518
+ height: 2px;
7519
+ background-color: var(--cl-color-border, #e5e7eb);
7520
+ transition: background-color var(--cl-transition-fast, 150ms ease);
7521
+ }
7522
+ .cl-stepper--horizontal .cl-stepper__connector--completed .cl-stepper__connector-line {
7523
+ background-color: var(--cl-color-success, #10b981);
7524
+ }
7525
+ .cl-stepper--vertical .cl-stepper__connector {
7526
+ position: absolute;
7527
+ top: 2.25rem;
7528
+ left: 1.5rem;
7529
+ bottom: 0;
7530
+ width: 2px;
7531
+ transform: translateX(-50%);
7532
+ }
7533
+ .cl-stepper--vertical .cl-stepper__connector-line {
7534
+ width: 2px;
7535
+ height: 100%;
7536
+ background-color: var(--cl-color-border, #e5e7eb);
7537
+ transition: background-color var(--cl-transition-fast, 150ms ease);
7538
+ }
7539
+ .cl-stepper--vertical .cl-stepper__connector--completed .cl-stepper__connector-line {
7540
+ background-color: var(--cl-color-success, #10b981);
7541
+ }
7542
+ :root[data-theme=dark] .cl-stepper,
7543
+ .dark .cl-stepper {
7544
+ color: var(--cl-color-text-dark, #f9fafb);
7545
+ }
7546
+ :root[data-theme=dark] .cl-stepper__indicator--upcoming,
7547
+ .dark .cl-stepper__indicator--upcoming {
7548
+ background-color: var(--cl-color-surface-dark, #1f2937);
7549
+ border-color: var(--cl-color-border-dark, #374151);
7550
+ color: var(--cl-color-text-muted-dark, #9ca3af);
7551
+ }
7552
+ :root[data-theme=dark] .cl-stepper__trigger:hover:not(:disabled),
7553
+ .dark .cl-stepper__trigger:hover:not(:disabled) {
7554
+ background-color: var(--cl-color-surface-hover-dark, rgba(255, 255, 255, 0.08));
7555
+ }
7556
+ :root[data-theme=dark] .cl-stepper__connector-line,
7557
+ .dark .cl-stepper__connector-line {
7558
+ background-color: var(--cl-color-border-dark, #374151);
7559
+ }
7560
+ @media (prefers-reduced-motion: reduce) {
7561
+ .cl-stepper__trigger,
7562
+ .cl-stepper__indicator,
7563
+ .cl-stepper__connector-line {
7564
+ transition: none !important;
7565
+ }
7566
+ }
7567
+ }
7568
+
7569
+ /* src/components/Carousel/Carousel.styles.css */
7570
+ @layer cl-components {
7571
+ .cl-carousel {
7572
+ position: relative;
7573
+ width: 100%;
7574
+ outline: none;
7575
+ user-select: none;
7576
+ font-family: var(--cl-font-family, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);
7577
+ color: var(--cl-color-text, #111827);
7578
+ }
7579
+ .cl-carousel:focus-visible {
7580
+ box-shadow: 0 0 0 2px var(--cl-color-focus-ring, #3b82f6);
7581
+ border-radius: var(--cl-radius-lg, 0.5rem);
7582
+ }
7583
+ .cl-carousel--disabled {
7584
+ opacity: 0.6;
7585
+ pointer-events: none;
7586
+ }
7587
+ .cl-carousel__viewport {
7588
+ overflow: hidden;
7589
+ position: relative;
7590
+ width: 100%;
7591
+ border-radius: var(--cl-radius-lg, 0.5rem);
7592
+ }
7593
+ .cl-carousel__track {
7594
+ display: flex;
7595
+ width: 100%;
7596
+ transition: transform var(--cl-transition-normal, 300ms ease);
7597
+ will-change: transform;
7598
+ }
7599
+ .cl-carousel__slide {
7600
+ flex: 0 0 100%;
7601
+ width: 100%;
7602
+ min-width: 100%;
7603
+ box-sizing: border-box;
7604
+ }
7605
+ .cl-carousel__slide:not(.cl-carousel__slide--active) {
7606
+ visibility: hidden;
7607
+ pointer-events: none;
7608
+ }
7609
+ .cl-carousel__controls {
7610
+ position: absolute;
7611
+ inset: 0;
7612
+ pointer-events: none;
7613
+ display: flex;
7614
+ align-items: center;
7615
+ justify-content: space-between;
7616
+ padding: 0 var(--cl-spacing-3, 0.75rem);
7617
+ }
7618
+ .cl-carousel__arrow-btn,
7619
+ .cl-carousel__autoplay-btn {
7620
+ pointer-events: auto;
7621
+ display: inline-flex;
7622
+ align-items: center;
7623
+ justify-content: center;
7624
+ width: 2.25rem;
7625
+ height: 2.25rem;
7626
+ border-radius: var(--cl-radius-full, 9999px);
7627
+ background-color: var(--cl-color-surface, #ffffff);
7628
+ color: var(--cl-color-text, #111827);
7629
+ border: 1px solid var(--cl-color-border, #e5e7eb);
7630
+ box-shadow: var(--cl-shadow-md, 0 4px 6px -1px rgba(0, 0, 0, 0.1));
7631
+ cursor: pointer;
7632
+ transition:
7633
+ background-color var(--cl-transition-fast, 150ms ease),
7634
+ color var(--cl-transition-fast, 150ms ease),
7635
+ transform var(--cl-transition-fast, 150ms ease);
7636
+ padding: 0;
7637
+ }
7638
+ .cl-carousel__arrow-btn:hover:not(:disabled),
7639
+ .cl-carousel__autoplay-btn:hover:not(:disabled) {
7640
+ background-color: var(--cl-color-surface-hover, #f3f4f6);
7641
+ color: var(--cl-color-primary, #2563eb);
7642
+ transform: scale(1.05);
7643
+ }
7644
+ .cl-carousel__arrow-btn:focus-visible,
7645
+ .cl-carousel__autoplay-btn:focus-visible {
7646
+ outline: none;
7647
+ box-shadow: 0 0 0 2px var(--cl-color-focus-ring, #3b82f6);
7648
+ }
7649
+ .cl-carousel__arrow-btn:disabled,
7650
+ .cl-carousel__autoplay-btn:disabled {
7651
+ opacity: 0.35;
7652
+ cursor: not-allowed;
7653
+ transform: none;
7654
+ }
7655
+ .cl-carousel__arrow-btn svg,
7656
+ .cl-carousel__autoplay-btn svg {
7657
+ width: 1.125rem;
7658
+ height: 1.125rem;
7659
+ }
7660
+ .cl-carousel__autoplay-btn {
7661
+ position: absolute;
7662
+ bottom: var(--cl-spacing-3, 0.75rem);
7663
+ right: var(--cl-spacing-3, 0.75rem);
7664
+ width: 2rem;
7665
+ height: 2rem;
7666
+ }
7667
+ .cl-carousel__pagination {
7668
+ display: flex;
7669
+ align-items: center;
7670
+ justify-content: center;
7671
+ gap: var(--cl-spacing-2, 0.5rem);
7672
+ margin-top: var(--cl-spacing-3, 0.75rem);
7673
+ }
7674
+ .cl-carousel__dot-btn {
7675
+ display: inline-block;
7676
+ width: 0.625rem;
7677
+ height: 0.625rem;
7678
+ border-radius: var(--cl-radius-full, 9999px);
7679
+ background-color: var(--cl-color-border, #d1d5db);
7680
+ border: none;
7681
+ padding: 0;
7682
+ cursor: pointer;
7683
+ transition: width var(--cl-transition-fast, 150ms ease), background-color var(--cl-transition-fast, 150ms ease);
7684
+ }
7685
+ .cl-carousel__dot-btn:hover:not(:disabled) {
7686
+ background-color: var(--cl-color-text-muted, #9ca3af);
7687
+ }
7688
+ .cl-carousel__dot-btn:focus-visible {
7689
+ outline: none;
7690
+ box-shadow: 0 0 0 2px var(--cl-color-focus-ring, #3b82f6);
7691
+ }
7692
+ .cl-carousel__dot-btn--active {
7693
+ width: 1.5rem;
7694
+ background-color: var(--cl-color-primary, #2563eb);
7695
+ }
7696
+ :root[data-theme=dark] .cl-carousel,
7697
+ .dark .cl-carousel {
7698
+ color: var(--cl-color-text-dark, #f9fafb);
7699
+ }
7700
+ :root[data-theme=dark] .cl-carousel__arrow-btn,
7701
+ .dark .cl-carousel__arrow-btn,
7702
+ :root[data-theme=dark] .cl-carousel__autoplay-btn,
7703
+ .dark .cl-carousel__autoplay-btn {
7704
+ background-color: var(--cl-color-surface-dark, #1f2937);
7705
+ color: var(--cl-color-text-dark, #f9fafb);
7706
+ border-color: var(--cl-color-border-dark, #374151);
7707
+ }
7708
+ :root[data-theme=dark] .cl-carousel__arrow-btn:hover:not(:disabled),
7709
+ .dark .cl-carousel__arrow-btn:hover:not(:disabled),
7710
+ :root[data-theme=dark] .cl-carousel__autoplay-btn:hover:not(:disabled),
7711
+ .dark .cl-carousel__autoplay-btn:hover:not(:disabled) {
7712
+ background-color: var(--cl-color-surface-hover-dark, #374151);
7713
+ color: var(--cl-color-primary-light, #60a5fa);
7714
+ }
7715
+ :root[data-theme=dark] .cl-carousel__dot-btn,
7716
+ .dark .cl-carousel__dot-btn {
7717
+ background-color: var(--cl-color-border-dark, #4b5563);
7718
+ }
7719
+ :root[data-theme=dark] .cl-carousel__dot-btn--active,
7720
+ .dark .cl-carousel__dot-btn--active {
7721
+ background-color: var(--cl-color-primary-light, #60a5fa);
7722
+ }
7723
+ @media (prefers-reduced-motion: reduce) {
7724
+ .cl-carousel__track,
7725
+ .cl-carousel__arrow-btn,
7726
+ .cl-carousel__dot-btn {
7727
+ transition: none !important;
7728
+ }
7729
+ }
7730
+ }
7731
+
4799
7732
  /* src/styles/index.css */
4800
7733
  /*# sourceMappingURL=index.css.map */