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

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 (30) 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 +66 -0
  4. package/src/generators/base/generator.js.map +1 -1
  5. package/src/generators/healthcheck/healthchecks/version.js +5 -1
  6. package/src/generators/healthcheck/healthchecks/version.js.map +1 -1
  7. package/src/generators/migrate-helm-libraries/generator.js +26 -7
  8. package/src/generators/migrate-helm-libraries/generator.js.map +1 -1
  9. package/src/generators/migrate-icon/generator.js +1 -1
  10. package/src/generators/migrate-icon/generator.js.map +1 -1
  11. package/src/generators/migrate-scroll-area/generator.js +1 -1
  12. package/src/generators/migrate-scroll-area/generator.js.map +1 -1
  13. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-multi.ts.template +134 -183
  14. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-range.ts.template +133 -176
  15. package/src/generators/ui/libs/calendar/files/lib/hlm-calendar.ts.template +121 -169
  16. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker-multi.ts.template +1 -1
  17. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker.ts.template +1 -1
  18. package/src/generators/ui/libs/date-picker/files/lib/hlm-date-range-picker.ts.template +1 -1
  19. package/src/generators/ui/libs/utils/files/index.ts.template +1 -0
  20. package/src/generators/ui/libs/utils/files/lib/provide-spartan-hlm.ts.template +34 -0
  21. package/src/generators/ui/style-luma.css +0 -4
  22. package/src/generators/ui/style-lyra.css +0 -4
  23. package/src/generators/ui/style-maia.css +0 -4
  24. package/src/generators/ui/style-mira.css +0 -4
  25. package/src/generators/ui/style-nova.css +0 -4
  26. package/src/generators/ui/style-vega.css +0 -4
  27. package/src/generators/ui/supported-ui-libraries.json +43 -44
  28. package/src/utils/string-change.d.ts +26 -0
  29. package/src/utils/string-change.js +84 -0
  30. package/src/utils/string-change.js.map +1 -0
@@ -1,197 +1,146 @@
1
- import type { BooleanInput, NumberInput } from '@angular/cdk/coercion';
2
1
  import { NgTemplateOutlet } from '@angular/common';
3
- import {
4
- booleanAttribute,
5
- ChangeDetectionStrategy,
6
- Component,
7
- computed,
8
- input,
9
- model,
10
- numberAttribute,
11
- viewChild,
12
- } from '@angular/core';
2
+ import { ChangeDetectionStrategy, Component, computed, inject, input } from '@angular/core';
13
3
  import { NgIcon, provideIcons } from '@ng-icons/core';
14
4
  import { lucideChevronLeft, lucideChevronRight } from '@ng-icons/lucide';
15
- import { BrnCalendar, BrnCalendarImports, injectBrnCalendarI18n, type Weekday } from '@spartan-ng/brain/calendar';
5
+ import { BrnCalendar, BrnCalendarImports, injectBrnCalendarI18n } from '@spartan-ng/brain/calendar';
16
6
  import { injectDateAdapter } from '@spartan-ng/brain/date-time';
17
- import { buttonVariants } from '<%- importAlias %>/button';
18
- import { HlmIcon } from '<%- importAlias %>/icon';
7
+ import { buttonVariants, HlmButtonImports } from '<%- importAlias %>/button';
19
8
  import { HlmSelectImports } from '<%- importAlias %>/select';
20
- import { hlm } from '<%- importAlias %>/utils';
21
- import type { ClassValue } from 'clsx';
9
+ import { classes, hlm } from '<%- importAlias %>/utils';
22
10
 
23
11
  @Component({
24
12
  selector: 'hlm-calendar',
25
- imports: [BrnCalendarImports, NgIcon, HlmIcon, HlmSelectImports, NgTemplateOutlet],
13
+ imports: [BrnCalendarImports, NgIcon, HlmSelectImports, NgTemplateOutlet, HlmButtonImports],
26
14
  viewProviders: [provideIcons({ lucideChevronLeft, lucideChevronRight })],
27
15
  changeDetection: ChangeDetectionStrategy.OnPush,
16
+ hostDirectives: [
17
+ {
18
+ directive: BrnCalendar,
19
+ inputs: ['min', 'max', 'disabled', 'date', 'dateDisabled', 'weekStartsOn', 'highlightDays', 'defaultFocusedDate'],
20
+ outputs: ['dateChange'],
21
+ },
22
+ ],
28
23
  host: { 'data-slot': 'calendar' },
29
24
  template: `
30
- <div
31
- brnCalendar
32
- [min]="min()"
33
- [max]="max()"
34
- [disabled]="disabled()"
35
- [(date)]="date"
36
- [dateDisabled]="dateDisabled()"
37
- [weekStartsOn]="weekStartsOn()"
38
- [highlightDays]="highlightDays()"
39
- [defaultFocusedDate]="defaultFocusedDate()"
40
- [class]="_computedCalenderClass()"
41
- >
42
- <div class="inline-flex flex-col space-y-4">
43
- <!-- Header -->
44
- <div class="space-y-4">
45
- <div class="relative flex items-center justify-center pt-1">
46
- <div class="flex w-full items-center justify-center gap-1.5">
47
- <ng-template #month>
48
- <hlm-select brnCalendarMonthSelect>
49
- <hlm-select-trigger size="sm" [class]="_selectClass">
50
- <hlm-select-value />
51
- </hlm-select-trigger>
52
- <hlm-select-content *hlmSelectPortal class="max-h-80">
53
- <hlm-select-group>
54
- @for (month of _i18n.config().months(); track month) {
55
- <hlm-select-item [value]="month">{{ month }}</hlm-select-item>
56
- }
57
- </hlm-select-group>
58
- </hlm-select-content>
59
- </hlm-select>
60
- </ng-template>
61
- <ng-template #year>
62
- <hlm-select brnCalendarYearSelect>
63
- <hlm-select-trigger size="sm" [class]="_selectClass">
64
- <hlm-select-value />
65
- </hlm-select-trigger>
66
- <hlm-select-content *hlmSelectPortal class="max-h-80">
67
- <hlm-select-group>
68
- @for (year of _i18n.config().years(); track year) {
69
- <hlm-select-item [value]="year">{{ year }}</hlm-select-item>
70
- }
71
- </hlm-select-group>
72
- </hlm-select-content>
73
- </hlm-select>
74
- </ng-template>
75
- @let heading = _heading();
76
- @switch (captionLayout()) {
77
- @case ('dropdown') {
78
- <ng-container [ngTemplateOutlet]="month" />
79
- <ng-container [ngTemplateOutlet]="year" />
25
+ <div class="inline-flex flex-col gap-4">
26
+ <!-- Header -->
27
+ <div class="flex w-full items-center justify-between gap-1.5">
28
+ <ng-template #month>
29
+ <hlm-select brnCalendarMonthSelect class="order-1">
30
+ <hlm-select-trigger size="sm" [class]="_selectClass">
31
+ <hlm-select-value />
32
+ </hlm-select-trigger>
33
+ <hlm-select-content *hlmSelectPortal class="max-h-80">
34
+ <hlm-select-group>
35
+ @for (month of _i18n.config().months(); track month) {
36
+ <hlm-select-item [value]="month">{{ month }}</hlm-select-item>
80
37
  }
81
- @case ('dropdown-months') {
82
- <ng-container [ngTemplateOutlet]="month" />
83
- <div brnCalendarHeader class="text-sm font-medium">{{ heading.year }}</div>
38
+ </hlm-select-group>
39
+ </hlm-select-content>
40
+ </hlm-select>
41
+ </ng-template>
42
+ <ng-template #year>
43
+ <hlm-select brnCalendarYearSelect class="order-3">
44
+ <hlm-select-trigger size="sm" [class]="_selectClass">
45
+ <hlm-select-value />
46
+ </hlm-select-trigger>
47
+ <hlm-select-content *hlmSelectPortal class="max-h-80">
48
+ <hlm-select-group>
49
+ @for (year of _i18n.config().years(); track year) {
50
+ <hlm-select-item [value]="year">{{ year }}</hlm-select-item>
84
51
  }
85
- @case ('dropdown-years') {
86
- <div brnCalendarHeader class="text-sm font-medium">{{ heading.month }}</div>
87
- <ng-container [ngTemplateOutlet]="year" />
88
- }
89
- @case ('label') {
90
- <div brnCalendarHeader class="text-sm font-medium">{{ heading.header }}</div>
91
- }
92
- }
93
- </div>
94
-
95
- <div class="flex items-center space-x-1">
96
- <button
97
- brnCalendarPreviousButton
98
- class="focus-visible:ring-ring hover:bg-accent hover:text-accent-foreground text-popover-foreground absolute left-1 inline-flex size-8 items-center justify-center rounded-md bg-transparent p-0 text-sm font-medium whitespace-nowrap transition-colors hover:opacity-100 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50"
99
- >
100
- <ng-icon hlm name="lucideChevronLeft" size="sm" />
101
- </button>
102
-
103
- <button
104
- brnCalendarNextButton
105
- class="focus-visible:ring-ring hover:bg-accent hover:text-accent-foreground text-popover-foreground absolute right-1 inline-flex size-8 items-center justify-center rounded-md bg-transparent p-0 text-sm font-medium whitespace-nowrap transition-colors hover:opacity-100 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:pointer-events-none disabled:opacity-50"
106
- >
107
- <ng-icon hlm name="lucideChevronRight" size="sm" />
108
- </button>
109
- </div>
110
- </div>
111
- </div>
52
+ </hlm-select-group>
53
+ </hlm-select-content>
54
+ </hlm-select>
55
+ </ng-template>
56
+ @let heading = _heading();
57
+
58
+ <button
59
+ brnCalendarPreviousButton
60
+ variant="ghost"
61
+ hlmBtn
62
+ class="order-first size-(--cell-size) p-0 select-none aria-disabled:opacity-50"
63
+ >
64
+ <ng-icon name="lucideChevronLeft" class="rtl:rotate-180" />
65
+ </button>
66
+
67
+ @switch (captionLayout()) {
68
+ @case ('dropdown') {
69
+ <ng-container [ngTemplateOutlet]="month" />
70
+ <ng-container [ngTemplateOutlet]="year" />
71
+ }
72
+ @case ('dropdown-months') {
73
+ <ng-container [ngTemplateOutlet]="month" />
74
+ <div brnCalendarHeader class="order-4 text-sm font-medium">{{ heading.year }}</div>
75
+ }
76
+ @case ('dropdown-years') {
77
+ <div brnCalendarHeader class="order-2 text-sm font-medium">{{ heading.month }}</div>
78
+ <ng-container [ngTemplateOutlet]="year" />
79
+ }
80
+ @case ('label') {
81
+ <div brnCalendarHeader class="order-5 text-sm font-medium">{{ heading.header }}</div>
82
+ }
83
+ }
84
+
85
+ <button
86
+ brnCalendarNextButton
87
+ hlmBtn
88
+ variant="ghost"
89
+ class="order-last size-(--cell-size) p-0 select-none aria-disabled:opacity-50"
90
+ >
91
+ <ng-icon name="lucideChevronRight" class="rtl:rotate-180" />
92
+ </button>
93
+ </div>
112
94
 
113
- <table class="w-full border-collapse space-y-1" brnCalendarGrid>
114
- <thead>
115
- <tr class="flex">
116
- <th
117
- *brnCalendarWeekday="let weekday"
118
- scope="col"
119
- class="text-muted-foreground w-8 rounded-md text-[0.8rem] font-normal"
120
- [attr.aria-label]="_i18n.config().labelWeekday(weekday)"
95
+ <table class="w-full border-collapse space-y-1" brnCalendarGrid>
96
+ <thead aria-hidden="true">
97
+ <tr class="flex">
98
+ <th
99
+ *brnCalendarWeekday="let weekday"
100
+ scope="col"
101
+ class="text-muted-foreground flex-1 rounded-(--cell-radius) text-[0.8rem] font-normal select-none"
102
+ [attr.aria-label]="_i18n.config().labelWeekday(weekday)"
103
+ >
104
+ {{ _i18n.config().formatWeekdayName(weekday) }}
105
+ </th>
106
+ </tr>
107
+ </thead>
108
+
109
+ <tbody role="rowgroup">
110
+ <tr *brnCalendarWeek="let week" class="mt-2 flex w-full">
111
+ @for (date of week; track _dateAdapter.getTime(date)) {
112
+ <td
113
+ brnCalendarCell
114
+ class="group/day relative aspect-square h-full w-full rounded-(--cell-radius) p-0 text-center select-none [&:first-child[data-selected=true]_button]:rounded-s-(--cell-radius) [&:last-child[data-selected=true]_button]:rounded-e-(--cell-radius)"
121
115
  >
122
- {{ _i18n.config().formatWeekdayName(weekday) }}
123
- </th>
124
- </tr>
125
- </thead>
126
-
127
- <tbody role="rowgroup">
128
- <tr *brnCalendarWeek="let week" class="mt-2 flex w-full">
129
- @for (date of week; track _dateAdapter.getTime(date)) {
130
- <td
131
- brnCalendarCell
132
- class="data-[selected]:data-[outside]:bg-accent/50 data-[selected]:bg-accent relative size-8 p-0 text-center text-sm focus-within:relative focus-within:z-20 first:data-[selected]:rounded-l-md last:data-[selected]:rounded-r-md [&:has([aria-selected].day-range-end)]:rounded-r-md"
133
- >
134
- <button brnCalendarCellButton [date]="date" [class]="_btnClass">
135
- {{ _dateAdapter.getDate(date) }}
136
- </button>
137
- </td>
138
- }
139
- </tr>
140
- </tbody>
141
- </table>
142
- </div>
116
+ <button brnCalendarCellButton [date]="date" [class]="_btnClass">
117
+ {{ _dateAdapter.getDate(date) }}
118
+ </button>
119
+ </td>
120
+ }
121
+ </tr>
122
+ </tbody>
123
+ </table>
143
124
  </div>
144
125
  `,
145
126
  })
146
127
  export class HlmCalendar<T> {
147
- public readonly calendarClass = input<ClassValue>('');
148
-
149
- protected readonly _computedCalenderClass = computed(() => hlm('rounded-md border p-3', this.calendarClass()));
150
-
151
128
  /** Access the calendar i18n */
152
129
  protected readonly _i18n = injectBrnCalendarI18n();
153
130
 
154
131
  /** Access the date time adapter */
155
132
  protected readonly _dateAdapter = injectDateAdapter<T>();
156
133
 
157
- /** The days to highlight. */
158
- public readonly highlightDays = input<T[]>([]);
159
-
160
- /** The minimum date that can be selected.*/
161
- public readonly min = input<T>();
162
-
163
- /** The maximum date that can be selected. */
164
- public readonly max = input<T>();
165
-
166
134
  /** Show dropdowns to navigate between months or years. */
167
135
  public readonly captionLayout = input<'dropdown' | 'label' | 'dropdown-months' | 'dropdown-years'>('label');
168
136
 
169
- /** Determine if the date picker is disabled. */
170
- public readonly disabled = input<boolean, BooleanInput>(false, {
171
- transform: booleanAttribute,
172
- });
173
-
174
- /** The selected value. */
175
- public readonly date = model<T>();
176
-
177
- /** Whether a specific date is disabled. */
178
- public readonly dateDisabled = input<(date: T) => boolean>(() => false);
179
-
180
- /** The day the week starts on */
181
- public readonly weekStartsOn = input<Weekday, NumberInput>(undefined, {
182
- transform: (v: unknown) => numberAttribute(v) as Weekday,
183
- });
184
-
185
- /** The default focused date. */
186
- public readonly defaultFocusedDate = input<T>();
187
-
188
137
  /** Access the calendar directive */
189
- private readonly _calendar = viewChild.required(BrnCalendar);
138
+ private readonly _calendar = inject(BrnCalendar);
190
139
 
191
140
  /** Get the heading for the current month and year */
192
141
  protected readonly _heading = computed(() => {
193
142
  const config = this._i18n.config();
194
- const date = this._calendar().focusedDate();
143
+ const date = this._calendar.focusedDate();
195
144
 
196
145
  return {
197
146
  header: config.formatHeader(this._dateAdapter.getMonth(date), this._dateAdapter.getYear(date)),
@@ -201,17 +150,13 @@ export class HlmCalendar<T> {
201
150
  });
202
151
 
203
152
  protected readonly _btnClass = hlm(
204
- buttonVariants({ variant: 'ghost' }),
205
- 'size-8 p-0 font-normal aria-selected:opacity-100',
206
- 'data-[outside]:text-muted-foreground data-[outside]:aria-selected:bg-accent/50 data-[outside]:aria-selected:text-muted-foreground data-[outside]:opacity-50 data-[outside]:aria-selected:opacity-30',
207
- 'data-[today]:bg-accent data-[today]:text-accent-foreground',
208
- 'data-[selected]:bg-primary data-[selected]:text-primary-foreground data-[selected]:hover:bg-primary dark:hover:text-accent-foreground data-[selected]:focus:bg-primary data-[selected]:focus:text-primary-foreground',
209
- 'data-[disabled]:text-muted-foreground data-[disabled]:opacity-50',
210
- 'dark:hover:text-accent-foreground',
153
+ buttonVariants({ variant: 'ghost', size: 'icon' }),
154
+ 'data-[today=true]:bg-muted group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground data-[range-middle=true]:bg-muted data-[range-middle=true]:text-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground dark:hover:text-foreground relative isolate z-10 flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 border-0 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-(--cell-radius) data-[range-end=true]:rounded-e-(--cell-radius) data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-(--cell-radius) data-[range-start=true]:rounded-s-(--cell-radius) [&>span]:text-xs [&>span]:opacity-70',
155
+ 'data-[outside=true]:opacity-50',
211
156
  "data-[highlighted]:before:content-['']",
212
157
  'data-[highlighted]:before:absolute',
213
158
  'data-[highlighted]:before:bottom-1',
214
- 'data-[highlighted]:before:left-1/2',
159
+ 'data-[highlighted]:before:start-1/2',
215
160
  'data-[highlighted]:before:h-1',
216
161
  'data-[highlighted]:before:w-1',
217
162
  'data-[highlighted]:before:-translate-x-1/2',
@@ -219,5 +164,12 @@ export class HlmCalendar<T> {
219
164
  'data-[highlighted]:before:bg-destructive',
220
165
  );
221
166
 
222
- protected readonly _selectClass = 'gap-0 px-1.5 py-2 [&>ng-icon]:ml-1';
167
+ protected readonly _selectClass = 'gap-0 px-1.5 py-2 [&>ng-icon]:ms-1';
168
+
169
+ constructor() {
170
+ classes(
171
+ () =>
172
+ 'spartan-calendar group/calendar bg-background block in-data-[slot=card-content]:bg-transparent in-data-[slot=popover-content]:bg-transparent',
173
+ );
174
+ }
223
175
  }
@@ -53,7 +53,7 @@ export const HLM_DATE_PICKER_MUTLI_VALUE_ACCESSOR = {
53
53
  <hlm-popover-content class="w-fit p-0" *hlmPopoverPortal="let ctx">
54
54
  <ng-content select="[hlmDatePickerHeader]" />
55
55
  <hlm-calendar-multi
56
- calendarClass="border-0 rounded-none"
56
+ class="rounded-none border-0"
57
57
  [date]="_mutableDate()"
58
58
  [captionLayout]="captionLayout()"
59
59
  [min]="min()"
@@ -47,7 +47,7 @@ export const HLM_DATE_PICKER_VALUE_ACCESSOR = {
47
47
  <hlm-popover-content class="w-fit p-0" *hlmPopoverPortal="let ctx">
48
48
  <ng-content select="[hlmDatePickerHeader]" />
49
49
  <hlm-calendar
50
- calendarClass="rounded-none border-0"
50
+ class="rounded-none border-0"
51
51
  [captionLayout]="captionLayout()"
52
52
  [date]="_mutableDate()"
53
53
  [defaultFocusedDate]="_mutableDate() ?? defaultFocusedDate()"
@@ -53,7 +53,7 @@ export const HLM_DATE_RANGE_PICKER_VALUE_ACCESSOR = {
53
53
  <hlm-popover-content class="w-fit p-0" *hlmPopoverPortal="let ctx">
54
54
  <ng-content select="[hlmDatePickerHeader]" />
55
55
  <hlm-calendar-range
56
- calendarClass="border-0 rounded-none"
56
+ class="rounded-none border-0"
57
57
  [startDate]="_start()"
58
58
  [captionLayout]="captionLayout()"
59
59
  [endDate]="_end()"
@@ -1 +1,2 @@
1
1
  export * from './lib/hlm';
2
+ export * from './lib/provide-spartan-hlm';
@@ -0,0 +1,34 @@
1
+ import { OVERLAY_DEFAULT_CONFIG } from '@angular/cdk/overlay';
2
+ import { type EnvironmentProviders, makeEnvironmentProviders } from '@angular/core';
3
+
4
+ /**
5
+ * Provides default configuration for Spartan Helm components.
6
+ *
7
+ * This utility configures the Angular CDK overlay to disable the `usePopover`
8
+ * behavior introduced in Angular 21, which causes CDK overlay-based components
9
+ * (sheets, dialogs, tooltips, etc.) to render above `position: fixed` elements
10
+ * like `<hlm-toaster>`.
11
+ *
12
+ * @returns {EnvironmentProviders} Environment providers to be added to the application config.
13
+ *
14
+ * @example
15
+ * ```ts
16
+ * // app.config.ts
17
+ * import { provideSpartanHlm } from '@spartan-ng/helm/utils';
18
+ *
19
+ * export const appConfig: ApplicationConfig = {
20
+ * providers: [
21
+ * provideSpartanHlm(),
22
+ * // ... other providers
23
+ * ],
24
+ * };
25
+ * ```
26
+ */
27
+ export function provideSpartanHlm(): EnvironmentProviders {
28
+ return makeEnvironmentProviders([
29
+ {
30
+ provide: OVERLAY_DEFAULT_CONFIG,
31
+ useValue: { usePopover: false },
32
+ },
33
+ ]);
34
+ }
@@ -1224,10 +1224,6 @@
1224
1224
  @apply p-3 [--cell-radius:var(--radius-4xl)] [--cell-size:--spacing(8)];
1225
1225
  }
1226
1226
 
1227
- .spartan-calendar-dropdown-root {
1228
- @apply has-focus:border-ring border-input has-focus:ring-ring/30 border has-focus:ring-3;
1229
- }
1230
-
1231
1227
  .spartan-calendar-caption-label {
1232
1228
  @apply h-8 ps-3 pe-2;
1233
1229
  }
@@ -260,10 +260,6 @@
260
260
  @apply p-2 [--cell-size:--spacing(7)];
261
261
  }
262
262
 
263
- .spartan-calendar-dropdown-root {
264
- @apply has-focus:border-ring border-input has-focus:ring-ring/50 rounded-none border has-focus:ring-1;
265
- }
266
-
267
263
  .spartan-calendar-caption-label {
268
264
  @apply h-6 rounded-none ps-1.5 pe-1;
269
265
  }
@@ -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
  }
@@ -269,10 +269,6 @@
269
269
  @apply p-3 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(6)];
270
270
  }
271
271
 
272
- .spartan-calendar-dropdown-root {
273
- @apply has-focus:border-ring border-input has-focus:ring-ring/30 border has-focus:ring-2;
274
- }
275
-
276
272
  .spartan-calendar-caption-label {
277
273
  @apply bg-input/20 dark:bg-input/30 h-7 ps-2 pe-1.5;
278
274
  }
@@ -269,10 +269,6 @@
269
269
  @apply p-2 [--cell-radius:var(--radius-md)] [--cell-size:--spacing(7)];
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-3;
274
- }
275
-
276
272
  .spartan-calendar-caption-label {
277
273
  @apply h-6 ps-1.5 pe-1;
278
274
  }
@@ -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
  }