@spartan-ng/cli 0.0.1-alpha.717 → 0.0.1-alpha.719

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/package.json +1 -1
  2. package/src/generators/base/generator.d.ts +1 -0
  3. package/src/generators/base/generator.js +96 -0
  4. package/src/generators/base/generator.js.map +1 -1
  5. package/src/generators/base/lib/build-dependency-array.js +13 -0
  6. package/src/generators/base/lib/build-dependency-array.js.map +1 -1
  7. package/src/generators/base/versions.d.ts +1 -1
  8. package/src/generators/base/versions.js +1 -1
  9. package/src/generators/healthcheck/healthchecks/version.js +5 -1
  10. package/src/generators/healthcheck/healthchecks/version.js.map +1 -1
  11. package/src/generators/migrate-helm-libraries/generator.js +26 -7
  12. package/src/generators/migrate-helm-libraries/generator.js.map +1 -1
  13. package/src/generators/migrate-icon/generator.js +1 -1
  14. package/src/generators/migrate-icon/generator.js.map +1 -1
  15. package/src/generators/migrate-naming-convention/__snapshots__/generator.spec.ts.snap +1 -1
  16. package/src/generators/migrate-scroll-area/generator.js +1 -1
  17. package/src/generators/migrate-scroll-area/generator.js.map +1 -1
  18. package/src/generators/ui/libs/avatar/files/lib/hlm-avatar-badge.ts.template +2 -2
  19. package/src/generators/ui/libs/breadcrumb/files/lib/hlm-breadcrumb-ellipsis.ts.template +9 -4
  20. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-multi.ts.template +134 -183
  21. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-range.ts.template +133 -176
  22. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar.ts.template +121 -169
  23. package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-next.ts.template +3 -4
  24. package/src/generators/ui/libs/carousel/files/lib/hlm-carousel-previous.ts.template +3 -4
  25. package/src/generators/ui/libs/checkbox/files/lib/hlm-checkbox.ts.template +3 -4
  26. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker-multi.ts.template +1 -1
  27. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker.ts.template +1 -1
  28. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-range-picker.ts.template +1 -1
  29. package/src/generators/ui/libs/dialog/files/lib/hlm-dialog-content.ts.template +4 -4
  30. package/src/generators/ui/libs/dropdown-menu/files/lib/hlm-dropdown-menu-item-sub-indicator.ts.template +1 -1
  31. package/src/generators/ui/libs/input-otp/files/lib/hlm-input-otp-separator.ts.template +2 -3
  32. package/src/generators/ui/libs/sheet/files/lib/hlm-sheet-content.ts.template +4 -4
  33. package/src/generators/ui/libs/sidebar/files/lib/hlm-sidebar-menu-button.ts.template +1 -1
  34. package/src/generators/ui/libs/spinner/files/lib/hlm-spinner.ts.template +1 -1
  35. package/src/generators/ui/libs/tabs/files/lib/hlm-tabs-paginated-list.ts.template +7 -8
  36. package/src/generators/ui/libs/utils/files/index.ts.template +1 -0
  37. package/src/generators/ui/libs/utils/files/lib/provide-spartan-hlm.ts.template +34 -0
  38. package/src/generators/ui/primitive-deps.js +19 -20
  39. package/src/generators/ui/primitive-deps.js.map +1 -1
  40. package/src/generators/ui/primitives.d.ts +1 -1
  41. package/src/generators/ui/style-luma.css +43 -47
  42. package/src/generators/ui/style-lyra.css +44 -48
  43. package/src/generators/ui/style-maia.css +43 -47
  44. package/src/generators/ui/style-mira.css +48 -52
  45. package/src/generators/ui/style-nova.css +45 -49
  46. package/src/generators/ui/style-vega.css +43 -47
  47. package/src/generators/ui/supported-ui-libraries.json +43 -52
  48. package/src/utils/string-change.d.ts +26 -0
  49. package/src/utils/string-change.js +84 -0
  50. package/src/utils/string-change.js.map +1 -0
  51. package/src/generators/ui/libs/icon/files/index.ts.template +0 -7
  52. package/src/generators/ui/libs/icon/files/lib/hlm-icon.token.ts.template +0 -20
  53. package/src/generators/ui/libs/icon/files/lib/hlm-icon.ts.template +0 -35
  54. package/src/generators/ui/libs/icon/generator.d.ts +0 -3
  55. package/src/generators/ui/libs/icon/generator.js +0 -9
  56. package/src/generators/ui/libs/icon/generator.js.map +0 -1
@@ -9,7 +9,7 @@
9
9
  }
10
10
 
11
11
  &.spartan-accordion-trigger {
12
- @apply focus-visible:ring-ring/50 focus-visible:border-ring focus-visible:after:border-ring **:data-[slot=accordion-trigger-icon]:text-muted-foreground! rounded-md py-4 text-start text-sm font-medium hover:underline focus-visible:ring-3 **:data-[slot=accordion-trigger-icon]:ms-auto **:data-[slot=accordion-trigger-icon]:text-[calc(var(--spacing)*4)];
12
+ @apply focus-visible:ring-ring/50 focus-visible:border-ring focus-visible:after:border-ring **:data-[slot=accordion-trigger-icon]:text-muted-foreground! rounded-md py-4 text-start text-sm font-medium hover:underline focus-visible:ring-3 **:data-[slot=accordion-trigger-icon]:ms-auto **:data-[slot=accordion-trigger-icon]:text-[length:--spacing(4)];
13
13
  }
14
14
 
15
15
  &.spartan-accordion-content {
@@ -34,7 +34,7 @@
34
34
  }
35
35
 
36
36
  &.spartan-alert-dialog-media {
37
- @apply bg-muted mb-2 inline-flex size-16 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*8)];
37
+ @apply bg-muted mb-2 inline-flex size-16 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[ng-icon:not([class*='text-'])]:text-[length:--spacing(8)];
38
38
  }
39
39
 
40
40
  &.spartan-alert-dialog-title {
@@ -47,7 +47,7 @@
47
47
 
48
48
  /* MARK: Alert */
49
49
  &.spartan-alert {
50
- @apply grid gap-0.5 rounded-lg border px-4 py-3 text-start text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>ng-icon]:grid-cols-[auto_1fr] has-[>ng-icon]:gap-x-2.5 *:[ng-icon]:row-span-2 *:[ng-icon]:translate-y-0.5 *:[ng-icon]:text-current *:[ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
50
+ @apply grid gap-0.5 rounded-lg border px-4 py-3 text-start text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>ng-icon]:grid-cols-[auto_1fr] has-[>ng-icon]:gap-x-2.5 *:[ng-icon]:row-span-2 *:[ng-icon]:translate-y-0.5 *:[ng-icon]:text-current *:[ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
51
51
  }
52
52
 
53
53
  &.spartan-alert-variant-default {
@@ -84,7 +84,7 @@
84
84
  }
85
85
 
86
86
  &.spartan-autocomplete-item-indicator {
87
- @apply absolute end-2 flex items-center justify-center text-[calc(var(--spacing)*4)];
87
+ @apply absolute end-2 flex items-center justify-center text-[length:--spacing(4)];
88
88
  }
89
89
 
90
90
  &.spartan-autocomplete-empty {
@@ -121,12 +121,12 @@
121
121
  }
122
122
 
123
123
  &.spartan-avatar-group-count {
124
- @apply bg-muted text-muted-foreground size-8 rounded-full text-sm group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>ng-icon]:text-[calc(var(--spacing)*4)] group-has-data-[size=lg]/avatar-group:[&>ng-icon]:text-[calc(var(--spacing)*5)] group-has-data-[size=sm]/avatar-group:[&>ng-icon]:text-[calc(var(--spacing)*3)];
124
+ @apply bg-muted text-muted-foreground size-8 rounded-full text-sm group-has-data-[size=lg]/avatar-group:size-10 group-has-data-[size=sm]/avatar-group:size-6 [&>ng-icon]:text-[length:--spacing(4)] group-has-data-[size=lg]/avatar-group:[&>ng-icon]:text-[length:--spacing(5)] group-has-data-[size=sm]/avatar-group:[&>ng-icon]:text-[length:--spacing(3)];
125
125
  }
126
126
 
127
127
  /* MARK: Badge */
128
128
  &.spartan-badge {
129
- @apply h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&>ng-icon]:text-[calc(var(--spacing)*3)];
129
+ @apply h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pe-1.5 has-data-[icon=inline-start]:ps-1.5 [&>ng-icon]:text-[length:--spacing(3)];
130
130
  }
131
131
 
132
132
  &.spartan-badge-variant-default {
@@ -171,16 +171,16 @@
171
171
  }
172
172
 
173
173
  &.spartan-breadcrumb-separator {
174
- @apply [&>ng-icon]:text-[calc(var(--spacing)*3.5)];
174
+ @apply [&>ng-icon]:text-[length:--spacing(3.5)];
175
175
  }
176
176
 
177
177
  &.spartan-breadcrumb-ellipsis {
178
- @apply size-5 [&>ng-icon]:text-[calc(var(--spacing)*4)];
178
+ @apply size-5 [&>ng-icon]:text-[length:--spacing(4)];
179
179
  }
180
180
 
181
181
  /* MARK: Button */
182
182
  &.spartan-button {
183
- @apply focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px data-[matches-spartan-invalid=true]:ring-3 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
183
+ @apply focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-3 active:not-aria-[haspopup]:translate-y-px data-[matches-spartan-invalid=true]:ring-3 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
184
184
  }
185
185
 
186
186
  &.spartan-button-variant-default {
@@ -208,7 +208,7 @@
208
208
  }
209
209
 
210
210
  &.spartan-button-size-xs {
211
- @apply h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3)];
211
+ @apply h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(3)];
212
212
  }
213
213
 
214
214
  &.spartan-button-size-sm {
@@ -224,7 +224,7 @@
224
224
  }
225
225
 
226
226
  &.spartan-button-size-icon-xs {
227
- @apply size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3)];
227
+ @apply size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(3)];
228
228
  }
229
229
 
230
230
  &.spartan-button-size-icon-sm {
@@ -253,7 +253,7 @@
253
253
  }
254
254
 
255
255
  &.spartan-button-group-text {
256
- @apply bg-muted gap-2 rounded-md border px-2.5 text-sm font-medium shadow-xs [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
256
+ @apply bg-muted gap-2 rounded-md border px-2.5 text-sm font-medium shadow-xs [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
257
257
  }
258
258
 
259
259
  &.spartan-button-group-separator {
@@ -265,10 +265,6 @@
265
265
  @apply p-3 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(8)];
266
266
  }
267
267
 
268
- &.spartan-calendar-dropdown-root {
269
- @apply has-focus:border-ring border-input has-focus:ring-ring/50 border shadow-xs has-focus:ring-3;
270
- }
271
-
272
268
  &.spartan-calendar-caption-label {
273
269
  @apply h-8 pr-1 pl-2;
274
270
  }
@@ -318,7 +314,7 @@
318
314
  }
319
315
 
320
316
  &.spartan-checkbox-indicator {
321
- @apply [&>ng-icon]:text-[calc(var(--spacing)*3.5)];
317
+ @apply [&>ng-icon]:text-[length:--spacing(3.5)];
322
318
  }
323
319
 
324
320
  /* MARK: Combobox */
@@ -335,7 +331,7 @@
335
331
  }
336
332
 
337
333
  &.spartan-combobox-item-indicator {
338
- @apply absolute end-2 flex items-center justify-center text-[calc(var(--spacing)*4)];
334
+ @apply absolute end-2 flex items-center justify-center text-[length:--spacing(4)];
339
335
  }
340
336
 
341
337
  &.spartan-combobox-empty {
@@ -355,7 +351,7 @@
355
351
  }
356
352
 
357
353
  &.spartan-combobox-trigger-icon {
358
- @apply text-muted-foreground text-[calc(var(--spacing)*4)];
354
+ @apply text-muted-foreground text-[length:--spacing(4)];
359
355
  }
360
356
 
361
357
  &.spartan-combobox-chips {
@@ -375,7 +371,7 @@
375
371
  }
376
372
 
377
373
  &.spartan-combobox-placeholder {
378
- @apply gap-2 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
374
+ @apply gap-2 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
379
375
  }
380
376
 
381
377
  &.spartan-combobox-status {
@@ -396,7 +392,7 @@
396
392
  }
397
393
 
398
394
  &.spartan-command-input-icon {
399
- @apply shrink-0 text-[calc(var(--spacing)*4)] opacity-50;
395
+ @apply shrink-0 text-[length:--spacing(4)] opacity-50;
400
396
  }
401
397
 
402
398
  &.spartan-command-input {
@@ -420,7 +416,7 @@
420
416
  }
421
417
 
422
418
  &.spartan-command-item {
423
- @apply data-selected:bg-muted data-selected:text-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
419
+ @apply data-selected:bg-muted data-selected:text-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-lg! [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
424
420
  }
425
421
 
426
422
  &.spartan-command-shortcut {
@@ -500,19 +496,19 @@
500
496
  }
501
497
 
502
498
  &.spartan-dropdown-menu-item {
503
- @apply hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:hover:bg-destructive/10 data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:hover:bg-destructive/20 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:hover:text-destructive data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[ng-icon]:text-destructive not-data-[variant=destructive]:hover:**:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm data-inset:ps-8 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
499
+ @apply hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:hover:bg-destructive/10 data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:hover:bg-destructive/20 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:hover:text-destructive data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[ng-icon]:text-destructive not-data-[variant=destructive]:hover:**:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm data-inset:ps-8 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
504
500
  }
505
501
 
506
502
  &.spartan-dropdown-menu-checkbox-item {
507
- @apply hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm data-inset:ps-8 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
503
+ @apply hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm data-inset:ps-8 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
508
504
  }
509
505
 
510
506
  &.spartan-dropdown-menu-radio-item {
511
- @apply hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm data-inset:ps-8 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
507
+ @apply hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground gap-2 rounded-sm py-1.5 ps-2 pe-8 text-sm data-inset:ps-8 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
512
508
  }
513
509
 
514
510
  &.spartan-dropdown-menu-item-indicator {
515
- @apply absolute end-2 flex items-center justify-center [&_ng-icon]:text-[calc(var(--spacing)*4)];
511
+ @apply absolute end-2 flex items-center justify-center [&_ng-icon]:text-[length:--spacing(4)];
516
512
  }
517
513
 
518
514
  &.spartan-dropdown-menu-label {
@@ -549,7 +545,7 @@
549
545
  }
550
546
 
551
547
  &.spartan-empty-media-icon {
552
- @apply bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*6)];
548
+ @apply bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(6)];
553
549
  }
554
550
 
555
551
  &.spartan-empty-title {
@@ -637,7 +633,7 @@
637
633
  }
638
634
 
639
635
  &.spartan-input-otp-separator {
640
- @apply [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
636
+ @apply [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
641
637
  }
642
638
 
643
639
  /* MARK: Item */
@@ -678,7 +674,7 @@
678
674
  }
679
675
 
680
676
  &.spartan-item-media-variant-icon {
681
- @apply [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
677
+ @apply [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
682
678
  }
683
679
 
684
680
  &.spartan-item-media-variant-image {
@@ -719,7 +715,7 @@
719
715
 
720
716
  /* MARK: Kbd */
721
717
  &.spartan-kbd {
722
- @apply bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3)];
718
+ @apply bg-muted text-muted-foreground in-data-[slot=tooltip-content]:bg-background/20 in-data-[slot=tooltip-content]:text-background dark:in-data-[slot=tooltip-content]:bg-background/10 h-5 w-fit min-w-5 gap-1 rounded-sm px-1 font-sans text-xs font-medium [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(3)];
723
719
  }
724
720
 
725
721
  &.spartan-kbd-group {
@@ -758,7 +754,7 @@
758
754
  }
759
755
 
760
756
  &.spartan-navigation-menu-link {
761
- @apply data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 focus-visible:ring-ring/50 hover:bg-muted focus:bg-muted flex items-center gap-1.5 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-3 focus-visible:outline-1 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
757
+ @apply data-[active=true]:focus:bg-muted data-[active=true]:hover:bg-muted data-[active=true]:bg-muted/50 focus-visible:ring-ring/50 hover:bg-muted focus:bg-muted flex items-center gap-1.5 rounded-sm p-2 text-sm transition-all outline-none focus-visible:ring-3 focus-visible:outline-1 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
762
758
  }
763
759
 
764
760
  &.spartan-navigation-menu-popup {
@@ -771,7 +767,7 @@
771
767
  }
772
768
 
773
769
  &.spartan-native-select-icon {
774
- @apply text-muted-foreground end-2.5 top-1/2 -translate-y-1/2 text-[calc(var(--spacing)*4)];
770
+ @apply text-muted-foreground end-2.5 top-1/2 -translate-y-1/2 text-[length:--spacing(4)];
775
771
  }
776
772
 
777
773
  /* MARK: Pagination */
@@ -780,7 +776,7 @@
780
776
  }
781
777
 
782
778
  &.spartan-pagination-ellipsis {
783
- @apply size-9 items-center justify-center [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
779
+ @apply size-9 items-center justify-center [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
784
780
  }
785
781
 
786
782
  &.spartan-pagination-previous {
@@ -862,7 +858,7 @@
862
858
  }
863
859
 
864
860
  &.spartan-select-trigger-icon {
865
- @apply text-muted-foreground text-[calc(var(--spacing)*4)];
861
+ @apply text-muted-foreground text-[length:--spacing(4)];
866
862
  }
867
863
 
868
864
  &.spartan-select-content {
@@ -878,7 +874,7 @@
878
874
  }
879
875
 
880
876
  &.spartan-select-item-indicator {
881
- @apply absolute end-2 flex items-center justify-center text-[calc(var(--spacing)*4)];
877
+ @apply absolute end-2 flex items-center justify-center text-[length:--spacing(4)];
882
878
  }
883
879
 
884
880
  &.spartan-select-group {
@@ -890,15 +886,15 @@
890
886
  }
891
887
 
892
888
  &.spartan-select-scroll-up-button {
893
- @apply bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
889
+ @apply bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
894
890
  }
895
891
 
896
892
  &.spartan-select-scroll-down-button {
897
- @apply bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
893
+ @apply bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
898
894
  }
899
895
 
900
896
  &.spartan-select-placeholder {
901
- @apply gap-2 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
897
+ @apply gap-2 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
902
898
  }
903
899
 
904
900
  &.spartan-select-values-content {
@@ -997,11 +993,11 @@
997
993
  }
998
994
 
999
995
  &.spartan-sidebar-group-label {
1000
- @apply text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>ng-icon]:text-[calc(var(--spacing)*4)];
996
+ @apply text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-2 text-xs font-medium transition-[margin,opacity] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 focus-visible:ring-2 [&>ng-icon]:text-[length:--spacing(4)];
1001
997
  }
1002
998
 
1003
999
  &.spartan-sidebar-group-action {
1004
- @apply text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute end-3 top-3.5 w-5 rounded-md p-0 focus-visible:ring-2 [&>ng-icon]:text-[calc(var(--spacing)*4)];
1000
+ @apply text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute end-3 top-3.5 w-5 rounded-md p-0 focus-visible:ring-2 [&>ng-icon]:text-[length:--spacing(4)];
1005
1001
  }
1006
1002
 
1007
1003
  &.spartan-sidebar-menu-button {
@@ -1029,7 +1025,7 @@
1029
1025
  }
1030
1026
 
1031
1027
  &.spartan-sidebar-menu-action {
1032
- @apply text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute end-1 top-1.5 aspect-square w-5 rounded-md p-0 peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 focus-visible:ring-2 [&>ng-icon]:text-[calc(var(--spacing)*4)];
1028
+ @apply text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute end-1 top-1.5 aspect-square w-5 rounded-md p-0 peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 focus-visible:ring-2 [&>ng-icon]:text-[length:--spacing(4)];
1033
1029
  }
1034
1030
 
1035
1031
  &.spartan-sidebar-menu-badge {
@@ -1053,7 +1049,7 @@
1053
1049
  }
1054
1050
 
1055
1051
  &.spartan-sidebar-menu-sub-button {
1056
- @apply text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground h-7 gap-2 rounded-md px-2 focus-visible:ring-2 data-[size=md]:text-sm data-[size=sm]:text-xs [&>ng-icon]:text-[calc(var(--spacing)*4)];
1052
+ @apply text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground data-active:bg-sidebar-accent data-active:text-sidebar-accent-foreground h-7 gap-2 rounded-md px-2 focus-visible:ring-2 data-[size=md]:text-sm data-[size=sm]:text-xs [&>ng-icon]:text-[length:--spacing(4)];
1057
1053
  }
1058
1054
 
1059
1055
  /* MARK: Skeleton */
@@ -1143,7 +1139,7 @@
1143
1139
  }
1144
1140
 
1145
1141
  &.spartan-tabs-trigger {
1146
- @apply gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
1142
+ @apply gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium group-data-[variant=default]/tabs-list:data-active:shadow-sm group-data-[variant=line]/tabs-list:data-active:shadow-none [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
1147
1143
  }
1148
1144
 
1149
1145
  &.spartan-tabs-content {
@@ -1157,7 +1153,7 @@
1157
1153
 
1158
1154
  /* MARK: Toggle */
1159
1155
  &.spartan-toggle {
1160
- @apply hover:text-foreground aria-pressed:bg-muted focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 gap-1 rounded-md text-sm font-medium transition-[color,box-shadow] [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
1156
+ @apply hover:text-foreground aria-pressed:bg-muted focus-visible:border-ring focus-visible:ring-ring/50 data-[matches-spartan-invalid=true]:ring-destructive/20 dark:data-[matches-spartan-invalid=true]:ring-destructive/40 data-[matches-spartan-invalid=true]:border-destructive dark:data-[matches-spartan-invalid=true]:border-destructive/50 gap-1 rounded-md text-sm font-medium transition-[color,box-shadow] [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
1161
1157
  }
1162
1158
 
1163
1159
  &.spartan-toggle-variant-default {
@@ -1200,7 +1196,7 @@
1200
1196
  }
1201
1197
 
1202
1198
  &.spartan-input-group-addon {
1203
- @apply text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
1199
+ @apply text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
1204
1200
  }
1205
1201
 
1206
1202
  &.spartan-input-group-addon-align-inline-start {
@@ -1224,7 +1220,7 @@
1224
1220
  }
1225
1221
 
1226
1222
  &.spartan-input-group-button-size-xs {
1227
- @apply h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3.5)];
1223
+ @apply h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>ng-icon:not([class*='text-'])]:text-[length:--spacing(3.5)];
1228
1224
  }
1229
1225
 
1230
1226
  &.spartan-input-group-button-size-icon-xs {
@@ -1236,7 +1232,7 @@
1236
1232
  }
1237
1233
 
1238
1234
  &.spartan-input-group-text {
1239
- @apply text-muted-foreground gap-2 text-sm [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
1235
+ @apply text-muted-foreground gap-2 text-sm [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
1240
1236
  }
1241
1237
 
1242
1238
  &.spartan-input-group-input {