@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.
- package/package.json +1 -1
- package/src/generators/base/generator.d.ts +1 -0
- package/src/generators/base/generator.js +66 -0
- package/src/generators/base/generator.js.map +1 -1
- package/src/generators/healthcheck/healthchecks/version.js +5 -1
- package/src/generators/healthcheck/healthchecks/version.js.map +1 -1
- package/src/generators/migrate-helm-libraries/generator.js +26 -7
- package/src/generators/migrate-helm-libraries/generator.js.map +1 -1
- package/src/generators/migrate-icon/generator.js +1 -1
- package/src/generators/migrate-icon/generator.js.map +1 -1
- package/src/generators/migrate-scroll-area/generator.js +1 -1
- package/src/generators/migrate-scroll-area/generator.js.map +1 -1
- package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-multi.ts.template +134 -183
- package/src/generators/ui/libs/calendar/files/lib/hlm-calendar-range.ts.template +133 -176
- package/src/generators/ui/libs/calendar/files/lib/hlm-calendar.ts.template +121 -169
- package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker-multi.ts.template +1 -1
- package/src/generators/ui/libs/date-picker/files/lib/hlm-date-picker.ts.template +1 -1
- package/src/generators/ui/libs/date-picker/files/lib/hlm-date-range-picker.ts.template +1 -1
- package/src/generators/ui/libs/utils/files/index.ts.template +1 -0
- package/src/generators/ui/libs/utils/files/lib/provide-spartan-hlm.ts.template +34 -0
- package/src/generators/ui/style-luma.css +0 -4
- package/src/generators/ui/style-lyra.css +0 -4
- package/src/generators/ui/style-maia.css +0 -4
- package/src/generators/ui/style-mira.css +0 -4
- package/src/generators/ui/style-nova.css +0 -4
- package/src/generators/ui/style-vega.css +0 -4
- package/src/generators/ui/supported-ui-libraries.json +43 -44
- package/src/utils/string-change.d.ts +26 -0
- package/src/utils/string-change.js +84 -0
- 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
|
|
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,
|
|
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
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
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
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
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
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
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 =
|
|
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
|
|
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-
|
|
206
|
-
'data-[outside]:
|
|
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:
|
|
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]:
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
56
|
+
class="rounded-none border-0"
|
|
57
57
|
[startDate]="_start()"
|
|
58
58
|
[captionLayout]="captionLayout()"
|
|
59
59
|
[endDate]="_end()"
|
|
@@ -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
|
}
|