@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
@@ -13,7 +13,7 @@
13
13
  }
14
14
 
15
15
  .spartan-accordion-trigger {
16
- @apply **:data-[slot=accordion-trigger-icon]:text-muted-foreground! gap-6 p-4 text-start text-sm font-medium hover:underline **:data-[slot=accordion-trigger-icon]:ms-auto **:data-[slot=accordion-trigger-icon]:text-[calc(var(--spacing)*4)];
16
+ @apply **:data-[slot=accordion-trigger-icon]:text-muted-foreground! gap-6 p-4 text-start text-sm font-medium hover:underline **:data-[slot=accordion-trigger-icon]:ms-auto **:data-[slot=accordion-trigger-icon]:text-[length:--spacing(4)];
17
17
  }
18
18
 
19
19
  .spartan-accordion-content {
@@ -38,7 +38,7 @@
38
38
  }
39
39
 
40
40
  .spartan-alert-dialog-media {
41
- @apply bg-muted mb-2 inline-flex size-16 items-center justify-center rounded-full sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*8)];
41
+ @apply bg-muted mb-2 inline-flex size-16 items-center justify-center rounded-full sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[ng-icon:not([class*='text-'])]:text-[length:--spacing(8)];
42
42
  }
43
43
 
44
44
  .spartan-alert-dialog-title {
@@ -51,7 +51,7 @@
51
51
 
52
52
  /* MARK: Alert */
53
53
  .spartan-alert {
54
- @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]:pe-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)];
54
+ @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]:pe-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)];
55
55
  }
56
56
 
57
57
  .spartan-alert-variant-default {
@@ -88,7 +88,7 @@
88
88
  }
89
89
 
90
90
  .spartan-autocomplete-item-indicator {
91
- @apply absolute end-2 flex items-center justify-center text-[calc(var(--spacing)*4)];
91
+ @apply absolute end-2 flex items-center justify-center text-[length:--spacing(4)];
92
92
  }
93
93
 
94
94
  .spartan-autocomplete-empty {
@@ -125,12 +125,12 @@
125
125
  }
126
126
 
127
127
  .spartan-avatar-group-count {
128
- @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)];
128
+ @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)];
129
129
  }
130
130
 
131
131
  /* MARK: Badge */
132
132
  .spartan-badge {
133
- @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)];
133
+ @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)];
134
134
  }
135
135
 
136
136
  .spartan-badge-variant-default {
@@ -175,16 +175,16 @@
175
175
  }
176
176
 
177
177
  .spartan-breadcrumb-separator {
178
- @apply [&>ng-icon]:text-[calc(var(--spacing)*3.5)];
178
+ @apply [&>ng-icon]:text-[length:--spacing(3.5)];
179
179
  }
180
180
 
181
181
  .spartan-breadcrumb-ellipsis {
182
- @apply size-5 [&>ng-icon]:text-[calc(var(--spacing)*4)];
182
+ @apply size-5 [&>ng-icon]:text-[length:--spacing(4)];
183
183
  }
184
184
 
185
185
  /* MARK: Button */
186
186
  .spartan-button {
187
- @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-4xl border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-[3px] active:not-aria-[haspopup]:translate-y-px data-[matches-spartan-invalid=true]:ring-[3px] [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
187
+ @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-4xl border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-[3px] active:not-aria-[haspopup]:translate-y-px data-[matches-spartan-invalid=true]:ring-[3px] [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
188
188
  }
189
189
 
190
190
  .spartan-button-variant-default {
@@ -212,7 +212,7 @@
212
212
  }
213
213
 
214
214
  .spartan-button-size-xs {
215
- @apply h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3)];
215
+ @apply h-6 gap-1 px-2.5 text-xs has-data-[icon=inline-end]:pe-2 has-data-[icon=inline-start]:ps-2 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(3)];
216
216
  }
217
217
 
218
218
  .spartan-button-size-sm {
@@ -228,7 +228,7 @@
228
228
  }
229
229
 
230
230
  .spartan-button-size-icon-xs {
231
- @apply size-6 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3)];
231
+ @apply size-6 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(3)];
232
232
  }
233
233
 
234
234
  .spartan-button-size-icon-sm {
@@ -257,7 +257,7 @@
257
257
  }
258
258
 
259
259
  .spartan-button-group-text {
260
- @apply bg-muted gap-2 rounded-4xl border px-2.5 text-sm font-medium [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
260
+ @apply bg-muted gap-2 rounded-4xl border px-2.5 text-sm font-medium [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
261
261
  }
262
262
 
263
263
  .spartan-button-group-separator {
@@ -269,10 +269,6 @@
269
269
  @apply p-3 [--cell-radius:var(--radius-4xl)] [--cell-size:--spacing(8)];
270
270
  }
271
271
 
272
- .spartan-calendar-dropdown-root {
273
- @apply has-focus:border-ring border-input has-focus:ring-ring/50 border has-focus:ring-[3px];
274
- }
275
-
276
272
  .spartan-calendar-caption-label {
277
273
  @apply h-8 ps-3 pe-2;
278
274
  }
@@ -322,7 +318,7 @@
322
318
  }
323
319
 
324
320
  .spartan-checkbox-indicator {
325
- @apply [&>ng-icon]:text-[calc(var(--spacing)*3.5)];
321
+ @apply [&>ng-icon]:text-[length:--spacing(3.5)];
326
322
  }
327
323
 
328
324
  /* MARK: Combobox */
@@ -339,7 +335,7 @@
339
335
  }
340
336
 
341
337
  .spartan-combobox-item-indicator {
342
- @apply pointer-events-none absolute end-2 flex items-center justify-center text-[calc(var(--spacing)*4)];
338
+ @apply pointer-events-none absolute end-2 flex items-center justify-center text-[length:--spacing(4)];
343
339
  }
344
340
 
345
341
  .spartan-combobox-empty {
@@ -359,7 +355,7 @@
359
355
  }
360
356
 
361
357
  .spartan-combobox-trigger-icon {
362
- @apply text-muted-foreground text-[calc(var(--spacing)*4)];
358
+ @apply text-muted-foreground text-[length:--spacing(4)];
363
359
  }
364
360
 
365
361
  .spartan-combobox-chips {
@@ -379,7 +375,7 @@
379
375
  }
380
376
 
381
377
  .spartan-combobox-placeholder {
382
- @apply gap-2 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
378
+ @apply gap-2 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
383
379
  }
384
380
 
385
381
  .spartan-combobox-status {
@@ -400,7 +396,7 @@
400
396
  }
401
397
 
402
398
  .spartan-command-input-icon {
403
- @apply shrink-0 text-[calc(var(--spacing)*4)] opacity-50;
399
+ @apply shrink-0 text-[length:--spacing(4)] opacity-50;
404
400
  }
405
401
 
406
402
  .spartan-command-input {
@@ -424,7 +420,7 @@
424
420
  }
425
421
 
426
422
  .spartan-command-item {
427
- @apply data-selected:bg-muted data-selected:text-foreground data-selected:*:[&>ng-icon]:text-foreground relative flex cursor-default items-center gap-2 rounded-lg px-3 py-2 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-2xl [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
423
+ @apply data-selected:bg-muted data-selected:text-foreground data-selected:*:[&>ng-icon]:text-foreground relative flex cursor-default items-center gap-2 rounded-lg px-3 py-2 text-sm outline-hidden select-none in-data-[slot=dialog-content]:rounded-2xl [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
428
424
  }
429
425
 
430
426
  .spartan-command-shortcut {
@@ -504,19 +500,19 @@
504
500
  }
505
501
 
506
502
  .spartan-dropdown-menu-item {
507
- @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.5 rounded-xl px-3 py-2 text-sm data-inset:ps-9.5 [&_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 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.5 rounded-xl px-3 py-2 text-sm data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
508
504
  }
509
505
 
510
506
  .spartan-dropdown-menu-checkbox-item {
511
- @apply hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground hover:**:text-accent-foreground focus:**:text-accent-foreground gap-2.5 rounded-xl py-2 ps-3 pe-8 text-sm data-inset:ps-9.5 [&_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 hover:**:text-accent-foreground focus:**:text-accent-foreground gap-2.5 rounded-xl py-2 ps-3 pe-8 text-sm data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
512
508
  }
513
509
 
514
510
  .spartan-dropdown-menu-radio-item {
515
- @apply hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground hover:**:text-accent-foreground focus:**:text-accent-foreground gap-2.5 rounded-xl py-2 ps-3 pe-8 text-sm data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
511
+ @apply hover:bg-accent focus:bg-accent hover:text-accent-foreground focus:text-accent-foreground hover:**:text-accent-foreground focus:**:text-accent-foreground gap-2.5 rounded-xl py-2 ps-3 pe-8 text-sm data-inset:ps-9.5 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
516
512
  }
517
513
 
518
514
  .spartan-dropdown-menu-item-indicator {
519
- @apply absolute end-2 flex items-center justify-center [&_ng-icon]:text-[calc(var(--spacing)*4)];
515
+ @apply absolute end-2 flex items-center justify-center [&_ng-icon]:text-[length:--spacing(4)];
520
516
  }
521
517
 
522
518
  .spartan-dropdown-menu-label {
@@ -553,7 +549,7 @@
553
549
  }
554
550
 
555
551
  .spartan-empty-media-icon {
556
- @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)];
552
+ @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)];
557
553
  }
558
554
 
559
555
  .spartan-empty-title {
@@ -641,7 +637,7 @@
641
637
  }
642
638
 
643
639
  .spartan-input-otp-separator {
644
- @apply [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
640
+ @apply [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
645
641
  }
646
642
 
647
643
  /* MARK: Item */
@@ -682,7 +678,7 @@
682
678
  }
683
679
 
684
680
  .spartan-item-media-variant-icon {
685
- @apply [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
681
+ @apply [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
686
682
  }
687
683
 
688
684
  .spartan-item-media-variant-image {
@@ -723,7 +719,7 @@
723
719
 
724
720
  /* MARK: Kbd */
725
721
  .spartan-kbd {
726
- @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)];
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-[length:--spacing(3)];
727
723
  }
728
724
 
729
725
  .spartan-kbd-group {
@@ -762,7 +758,7 @@
762
758
  }
763
759
 
764
760
  .spartan-navigation-menu-link {
765
- @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-xl p-3 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
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-xl p-3 text-sm transition-all outline-none focus-visible:ring-[3px] focus-visible:outline-1 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
766
762
  }
767
763
 
768
764
  .spartan-navigation-menu-popup {
@@ -775,7 +771,7 @@
775
771
  }
776
772
 
777
773
  .spartan-native-select-icon {
778
- @apply text-muted-foreground end-3.5 top-1/2 -translate-y-1/2 text-[calc(var(--spacing)*4)];
774
+ @apply text-muted-foreground end-3.5 top-1/2 -translate-y-1/2 text-[length:--spacing(4)];
779
775
  }
780
776
 
781
777
  /* MARK: Pagination */
@@ -784,7 +780,7 @@
784
780
  }
785
781
 
786
782
  .spartan-pagination-ellipsis {
787
- @apply size-9 items-center justify-center [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
783
+ @apply size-9 items-center justify-center [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
788
784
  }
789
785
 
790
786
  .spartan-pagination-previous {
@@ -866,7 +862,7 @@
866
862
  }
867
863
 
868
864
  .spartan-select-trigger-icon {
869
- @apply text-muted-foreground text-[calc(var(--spacing)*4)];
865
+ @apply text-muted-foreground text-[length:--spacing(4)];
870
866
  }
871
867
 
872
868
  .spartan-select-content {
@@ -882,7 +878,7 @@
882
878
  }
883
879
 
884
880
  .spartan-select-item-indicator {
885
- @apply absolute end-2 flex items-center justify-center text-[calc(var(--spacing)*4)];
881
+ @apply absolute end-2 flex items-center justify-center text-[length:--spacing(4)];
886
882
  }
887
883
 
888
884
  .spartan-select-group {
@@ -894,15 +890,15 @@
894
890
  }
895
891
 
896
892
  .spartan-select-scroll-up-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-scroll-down-button {
901
- @apply bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
897
+ @apply bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
902
898
  }
903
899
 
904
900
  .spartan-select-placeholder {
905
- @apply gap-2 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
901
+ @apply gap-2 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
906
902
  }
907
903
 
908
904
  .spartan-select-values-content {
@@ -1001,11 +997,11 @@
1001
997
  }
1002
998
 
1003
999
  .spartan-sidebar-group-label {
1004
- @apply text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-3 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)];
1000
+ @apply text-sidebar-foreground/70 ring-sidebar-ring h-8 rounded-md px-3 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)];
1005
1001
  }
1006
1002
 
1007
1003
  .spartan-sidebar-group-action {
1008
- @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)];
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-[length:--spacing(4)];
1009
1005
  }
1010
1006
 
1011
1007
  .spartan-sidebar-menu-button {
@@ -1033,7 +1029,7 @@
1033
1029
  }
1034
1030
 
1035
1031
  .spartan-sidebar-menu-action {
1036
- @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-2 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)];
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-2 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)];
1037
1033
  }
1038
1034
 
1039
1035
  .spartan-sidebar-menu-badge {
@@ -1057,7 +1053,7 @@
1057
1053
  }
1058
1054
 
1059
1055
  .spartan-sidebar-menu-sub-button {
1060
- @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)];
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-[length:--spacing(4)];
1061
1057
  }
1062
1058
 
1063
1059
  /* MARK: Skeleton */
@@ -1147,7 +1143,7 @@
1147
1143
  }
1148
1144
 
1149
1145
  .spartan-tabs-trigger {
1150
- @apply gap-1.5 rounded-xl border border-transparent px-2 py-1 text-sm font-medium group-data-vertical/tabs:px-2.5 group-data-vertical/tabs:py-1.5 [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
1146
+ @apply gap-1.5 rounded-xl border border-transparent px-2 py-1 text-sm font-medium group-data-vertical/tabs:px-2.5 group-data-vertical/tabs:py-1.5 [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
1151
1147
  }
1152
1148
 
1153
1149
  .spartan-tabs-content {
@@ -1161,7 +1157,7 @@
1161
1157
 
1162
1158
  /* MARK: Toggle */
1163
1159
  .spartan-toggle {
1164
- @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 gap-1 rounded-4xl text-sm font-medium transition-colors [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
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 gap-1 rounded-4xl text-sm font-medium transition-colors [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
1165
1161
  }
1166
1162
 
1167
1163
  .spartan-toggle-variant-default {
@@ -1204,7 +1200,7 @@
1204
1200
  }
1205
1201
 
1206
1202
  .spartan-input-group-addon {
1207
- @apply text-muted-foreground **:data-[slot=kbd]:bg-muted-foreground/10 h-auto gap-2 py-2 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-4xl **:data-[slot=kbd]:px-1.5 [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
1203
+ @apply text-muted-foreground **:data-[slot=kbd]:bg-muted-foreground/10 h-auto gap-2 py-2 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 **:data-[slot=kbd]:rounded-4xl **:data-[slot=kbd]:px-1.5 [&>ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
1208
1204
  }
1209
1205
 
1210
1206
  .spartan-input-group-addon-align-inline-start {
@@ -1228,7 +1224,7 @@
1228
1224
  }
1229
1225
 
1230
1226
  .spartan-input-group-button-size-xs {
1231
- @apply h-6 gap-1 px-1.5 [&>ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*3.5)];
1227
+ @apply h-6 gap-1 px-1.5 [&>ng-icon:not([class*='text-'])]:text-[length:--spacing(3.5)];
1232
1228
  }
1233
1229
 
1234
1230
  .spartan-input-group-button-size-icon-xs {
@@ -1240,7 +1236,7 @@
1240
1236
  }
1241
1237
 
1242
1238
  .spartan-input-group-text {
1243
- @apply text-muted-foreground gap-2 text-sm [&_ng-icon:not([class*='text-'])]:text-[calc(var(--spacing)*4)];
1239
+ @apply text-muted-foreground gap-2 text-sm [&_ng-icon:not([class*='text-'])]:text-[length:--spacing(4)];
1244
1240
  }
1245
1241
 
1246
1242
  .spartan-input-group-input {