@lucca-front/ng 22.1.0-rc.1 → 22.1.0-rc.2
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/README.md +1 -0
- package/fesm2022/lucca-front-ng-a11y.mjs +1 -0
- package/fesm2022/lucca-front-ng-a11y.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-activity-feed.mjs +15 -12
- package/fesm2022/lucca-front-ng-activity-feed.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-approbation-inbox.mjs +3 -3
- package/fesm2022/lucca-front-ng-approbation-inbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-box.mjs +1 -1
- package/fesm2022/lucca-front-ng-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs +1 -1
- package/fesm2022/lucca-front-ng-breadcrumbs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-bubble-icon.mjs +2 -2
- package/fesm2022/lucca-front-ng-bubble-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +3 -3
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-chip.mjs +14 -7
- package/fesm2022/lucca-front-ng-chip.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs +1 -1
- package/fesm2022/lucca-front-ng-clear.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-api.mjs +42 -3
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-department.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs +32 -9
- package/fesm2022/lucca-front-ng-core-select-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs +11 -0
- package/fesm2022/lucca-front-ng-core-select-job-qualification.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-legal-units.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-occupation-category.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-user.mjs +32 -32
- package/fesm2022/lucca-front-ng-core-select-user.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select.mjs +309 -39
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-data-table.mjs +22 -14
- package/fesm2022/lucca-front-ng-data-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date.mjs +2 -4
- package/fesm2022/lucca-front-ng-date.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-date2.mjs +210 -107
- package/fesm2022/lucca-front-ng-date2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dialog.mjs +9 -4
- package/fesm2022/lucca-front-ng-dialog.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-dropdown.mjs +3 -0
- package/fesm2022/lucca-front-ng-dropdown.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-fancy-box.mjs +47 -24
- package/fesm2022/lucca-front-ng-fancy-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-file-upload.mjs +6 -6
- package/fesm2022/lucca-front-ng-file-upload.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-filter-pills-core.mjs +55 -0
- package/fesm2022/lucca-front-ng-filter-pills-core.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-filter-pills.mjs +119 -70
- package/fesm2022/lucca-front-ng-filter-pills.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +110 -28
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-label.mjs +2 -2
- package/fesm2022/lucca-front-ng-form-label.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form.mjs +42 -5
- package/fesm2022/lucca-front-ng-form.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs +15 -13
- package/fesm2022/lucca-front-ng-forms-phone-number-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs +5 -2
- package/fesm2022/lucca-front-ng-forms-rich-text-input-formatters-plain-text.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs +61 -29
- package/fesm2022/lucca-front-ng-forms-rich-text-input.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-forms.mjs +23 -16
- package/fesm2022/lucca-front-ng-forms.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-highlight-data.mjs +6 -7
- package/fesm2022/lucca-front-ng-highlight-data.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-impersonation.mjs +20 -5
- package/fesm2022/lucca-front-ng-impersonation.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-index-table.mjs +13 -8
- package/fesm2022/lucca-front-ng-index-table.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-link.mjs +9 -4
- package/fesm2022/lucca-front-ng-link.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-listbox.mjs +3 -2
- package/fesm2022/lucca-front-ng-listbox.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-markdown.mjs +51 -0
- package/fesm2022/lucca-front-ng-markdown.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-mobile-push.mjs +2 -2
- package/fesm2022/lucca-front-ng-mobile-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-modal.mjs +9 -4
- package/fesm2022/lucca-front-ng-modal.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +153 -48
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +6 -2
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs +1 -1
- package/fesm2022/lucca-front-ng-pagination.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-picker.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs +1 -1
- package/fesm2022/lucca-front-ng-plg-push.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-popover2.mjs +21 -12
- package/fesm2022/lucca-front-ng-popover2.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-priority-levels.mjs +128 -0
- package/fesm2022/lucca-front-ng-priority-levels.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-progress-stepper.mjs +2 -2
- package/fesm2022/lucca-front-ng-progress-stepper.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-read-more.mjs +3 -3
- package/fesm2022/lucca-front-ng-read-more.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-resource-card.mjs +2 -2
- package/fesm2022/lucca-front-ng-resource-card.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-safe-content.mjs +43 -3
- package/fesm2022/lucca-front-ng-safe-content.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-scroll-box.mjs +8 -4
- package/fesm2022/lucca-front-ng-scroll-box.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs +9 -4
- package/fesm2022/lucca-front-ng-segmented-control-tabs.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-segmented-control.mjs +10 -5
- package/fesm2022/lucca-front-ng-segmented-control.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-select.mjs +1 -1
- package/fesm2022/lucca-front-ng-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +71 -17
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs +1 -1
- package/fesm2022/lucca-front-ng-software-icon-wrapper.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-software-icon.mjs +1 -1
- package/fesm2022/lucca-front-ng-software-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-status-badge.mjs +1 -1
- package/fesm2022/lucca-front-ng-status-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-time.mjs +1 -1
- package/fesm2022/lucca-front-ng-time.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-user-popover.mjs +3 -2
- package/fesm2022/lucca-front-ng-user-popover.mjs.map +1 -1
- package/package.json +17 -4
- package/schematics/collection.json +5 -0
- package/schematics/deprecated-resolver/index.js +1 -4
- package/schematics/file-upload/index.js +22 -0
- package/schematics/file-upload/migration.js +230 -0
- package/schematics/file-upload/migration.spec.js +56 -0
- package/schematics/file-upload/schema.json +23 -0
- package/schematics/lib/angular-component-ast.js +3 -1
- package/schematics/lib/deprecated-mapper.js +2 -10
- package/schematics/lib/html-ast.js +26 -0
- package/src/components/_listbox.scss +12 -6
- package/src/components/cdk/_overlay.scss +3 -1
- package/types/lucca-front-ng-activity-feed.d.ts +16 -10
- package/types/lucca-front-ng-approbation-inbox.d.ts +32 -25
- package/types/lucca-front-ng-box.d.ts +12 -6
- package/types/lucca-front-ng-breadcrumbs.d.ts +12 -7
- package/types/lucca-front-ng-chip.d.ts +16 -9
- package/types/lucca-front-ng-clear.d.ts +12 -8
- package/types/lucca-front-ng-core-select-api.d.ts +30 -1
- package/types/lucca-front-ng-core-select-establishment.d.ts +7 -0
- package/types/lucca-front-ng-core-select-job-qualification.d.ts +8 -0
- package/types/lucca-front-ng-core-select-user.d.ts +6 -0
- package/types/lucca-front-ng-core-select.d.ts +115 -7
- package/types/lucca-front-ng-data-table.d.ts +16 -10
- package/types/lucca-front-ng-date.d.ts +12 -10
- package/types/lucca-front-ng-date2.d.ts +46 -21
- package/types/lucca-front-ng-fancy-box.d.ts +29 -12
- package/types/lucca-front-ng-file-upload.d.ts +41 -36
- package/types/lucca-front-ng-filter-pills-core.d.ts +69 -0
- package/types/lucca-front-ng-filter-pills.d.ts +53 -69
- package/types/lucca-front-ng-form-field.d.ts +34 -5
- package/types/lucca-front-ng-form-label.d.ts +13 -8
- package/types/lucca-front-ng-form.d.ts +7 -1
- package/types/lucca-front-ng-forms-rich-text-input.d.ts +40 -35
- package/types/lucca-front-ng-forms.d.ts +36 -44
- package/types/lucca-front-ng-highlight-data.d.ts +1 -2
- package/types/lucca-front-ng-impersonation.d.ts +28 -10
- package/types/lucca-front-ng-index-table.d.ts +3 -1
- package/types/lucca-front-ng-link.d.ts +16 -7
- package/types/lucca-front-ng-markdown.d.ts +24 -0
- package/types/lucca-front-ng-mobile-push.d.ts +18 -12
- package/types/lucca-front-ng-multi-select.d.ts +10 -1
- package/types/lucca-front-ng-option.d.ts +8 -8
- package/types/lucca-front-ng-pagination.d.ts +15 -10
- package/types/lucca-front-ng-picker.d.ts +2 -2
- package/types/lucca-front-ng-plg-push.d.ts +12 -6
- package/types/lucca-front-ng-popover2.d.ts +7 -1
- package/types/lucca-front-ng-priority-levels.d.ts +44 -0
- package/types/lucca-front-ng-read-more.d.ts +13 -9
- package/types/lucca-front-ng-safe-content.d.ts +8 -2
- package/types/lucca-front-ng-segmented-control-tabs.d.ts +5 -1
- package/types/lucca-front-ng-segmented-control.d.ts +5 -1
- package/types/lucca-front-ng-select.d.ts +6 -6
- package/types/lucca-front-ng-simple-select.d.ts +5 -1
|
@@ -1,28 +1,17 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import { OnInit, ElementRef, Signal } from '@angular/core';
|
|
3
|
-
import
|
|
2
|
+
import { OnInit, ElementRef, Signal, InjectionToken } from '@angular/core';
|
|
3
|
+
import * as _lucca_front_ng_date2 from '@lucca-front/ng/date2';
|
|
4
|
+
import { Palette, PortalContent, LuTranslation } from '@lucca-front/ng/core';
|
|
4
5
|
import { ConnectionPositionPair } from '@angular/cdk/overlay';
|
|
5
6
|
import { ControlValueAccessor, Validator, NgControl, AbstractControl, ValidationErrors } from '@angular/forms';
|
|
6
7
|
import { LuccaIcon } from '@lucca-front/icons';
|
|
7
|
-
import { FilterPillInputComponent } from '@lucca-front/ng/filter-pills';
|
|
8
|
+
import { FilterPillInputComponent } from '@lucca-front/ng/filter-pills/core';
|
|
8
9
|
import { PopoverDirective } from '@lucca-front/ng/popover2';
|
|
9
10
|
import { WeekOptions, FirstWeekContainsDateOptions } from 'date-fns';
|
|
10
11
|
|
|
11
12
|
declare const CALENDAR_MODE: readonly ["day", "week", "month", "year"];
|
|
12
13
|
type CalendarMode = (typeof CALENDAR_MODE)[number];
|
|
13
14
|
|
|
14
|
-
interface Date2Translate {
|
|
15
|
-
from: string;
|
|
16
|
-
to: string;
|
|
17
|
-
directionKeysTip: string;
|
|
18
|
-
pickDate: string;
|
|
19
|
-
previous: string;
|
|
20
|
-
next: string;
|
|
21
|
-
clear: string;
|
|
22
|
-
weekNumber: string;
|
|
23
|
-
weekPrefix: string;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
15
|
interface CellStatus {
|
|
27
16
|
classes: string[];
|
|
28
17
|
disabled?: boolean;
|
|
@@ -32,18 +21,32 @@ interface CellStatus {
|
|
|
32
21
|
|
|
33
22
|
interface DateRangeInput {
|
|
34
23
|
class?: `palette-${Palette}` | string;
|
|
35
|
-
|
|
24
|
+
/**
|
|
25
|
+
* Start bound of the range. Optional: a range can be open on its start, for instance when
|
|
26
|
+
* a filter only expresses an "until" date.
|
|
27
|
+
*/
|
|
28
|
+
start?: Date | string | null;
|
|
29
|
+
/**
|
|
30
|
+
* End bound of the range. Optional: a range can be open on its end, for instance when
|
|
31
|
+
* a filter only expresses a "from" date.
|
|
32
|
+
*/
|
|
36
33
|
end?: Date | string | null;
|
|
37
34
|
label?: string;
|
|
38
35
|
scope?: CalendarMode;
|
|
39
36
|
}
|
|
40
37
|
interface DateRange extends DateRangeInput {
|
|
41
|
-
start
|
|
38
|
+
start?: Date | null;
|
|
42
39
|
end?: Date | null;
|
|
43
40
|
}
|
|
44
41
|
|
|
45
42
|
interface RangeInfo {
|
|
46
43
|
range?: DateRange;
|
|
44
|
+
/**
|
|
45
|
+
* Bound the range is anchored on: its start when it has one, its end otherwise.
|
|
46
|
+
* A range without start date is rendered from its end, the same way an incomplete
|
|
47
|
+
* range is rendered from its start.
|
|
48
|
+
*/
|
|
49
|
+
anchor: Date;
|
|
47
50
|
isStart: boolean;
|
|
48
51
|
isEnd: boolean;
|
|
49
52
|
label?: string;
|
|
@@ -98,7 +101,7 @@ declare class Calendar2CellDirective {
|
|
|
98
101
|
declare class Calendar2Component implements OnInit {
|
|
99
102
|
#private;
|
|
100
103
|
readonly elementRef: ElementRef<HTMLElement>;
|
|
101
|
-
readonly intl: _angular_core.InputSignalWithTransform<Date2Translate, Partial<Date2Translate>>;
|
|
104
|
+
readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_date2.Date2Translate, Partial<_lucca_front_ng_date2.Date2Translate>>;
|
|
102
105
|
readonly showOverflow: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
|
|
103
106
|
readonly enableOverflow: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
|
|
104
107
|
readonly removeYearOverflow: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
|
|
@@ -147,6 +150,7 @@ declare class Calendar2Component implements OnInit {
|
|
|
147
150
|
getWeekDayCellClasses(day: CalendarCellInfo, isLastDay: boolean): Record<string, boolean>;
|
|
148
151
|
getRangeInfo(date: Date, scope: CalendarMode | null, isOverflow?: boolean): {
|
|
149
152
|
range: DateRange;
|
|
153
|
+
anchor: Date;
|
|
150
154
|
isStart: boolean;
|
|
151
155
|
isEnd: boolean;
|
|
152
156
|
label: string;
|
|
@@ -184,7 +188,7 @@ declare abstract class AbstractDateComponent {
|
|
|
184
188
|
intlDateTimeFormat: Intl.DateTimeFormat;
|
|
185
189
|
intlDateTimeFormatMonth: Intl.DateTimeFormat;
|
|
186
190
|
intlDateTimeFormatYear: Intl.DateTimeFormat;
|
|
187
|
-
readonly intl: _angular_core.InputSignalWithTransform<Date2Translate, Partial<Date2Translate>>;
|
|
191
|
+
readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_date2.Date2Translate, Partial<_lucca_front_ng_date2.Date2Translate>>;
|
|
188
192
|
onTouched?: () => void;
|
|
189
193
|
readonly disabled: _angular_core.WritableSignal<boolean>;
|
|
190
194
|
readonly format: _angular_core.InputSignal<DateFormat>;
|
|
@@ -322,6 +326,11 @@ declare class DateRangeInputComponent extends AbstractDateComponent implements O
|
|
|
322
326
|
isFilterPill: boolean;
|
|
323
327
|
get isWidthAuto(): boolean;
|
|
324
328
|
readonly isFilterPillEmpty: Signal<boolean>;
|
|
329
|
+
/**
|
|
330
|
+
* The field of the missing bound when a single date is selected, null otherwise.
|
|
331
|
+
* In filter pill mode, the popover initially focuses it, so the next picked date completes the range instead of replacing the selected one
|
|
332
|
+
*/
|
|
333
|
+
protected readonly missingBoundField: Signal<0 | 1>;
|
|
325
334
|
readonly isFilterPillClearable: Signal<boolean>;
|
|
326
335
|
filterPillPopoverCloseFn?: () => void;
|
|
327
336
|
readonly filterPillDisabled: _angular_core.WritableSignal<boolean>;
|
|
@@ -353,5 +362,21 @@ declare class DateRangeInputComponent extends AbstractDateComponent implements O
|
|
|
353
362
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateRangeInputComponent, "lu-date-range-input", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "widthAuto": { "alias": "widthAuto"; "required": false; "isSignal": true; }; "shortcuts": { "alias": "shortcuts"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
354
363
|
}
|
|
355
364
|
|
|
356
|
-
|
|
357
|
-
|
|
365
|
+
declare const LU_DATE2_TRANSLATIONS: InjectionToken<LuTranslation<Date2Translate>>;
|
|
366
|
+
interface Date2Translate {
|
|
367
|
+
from: string;
|
|
368
|
+
to: string;
|
|
369
|
+
fromDate: string;
|
|
370
|
+
untilDate: string;
|
|
371
|
+
directionKeysTip: string;
|
|
372
|
+
pickDate: string;
|
|
373
|
+
previous: string;
|
|
374
|
+
next: string;
|
|
375
|
+
clear: string;
|
|
376
|
+
weekNumber: string;
|
|
377
|
+
weekPrefix: string;
|
|
378
|
+
}
|
|
379
|
+
declare const luDate2Translations: LuTranslation<Date2Translate>;
|
|
380
|
+
|
|
381
|
+
export { CALENDAR_MODE, Calendar2Component, DATE2_CLEAR_BEHAVIOR, DATE_FORMAT, DATE_FORMAT_CONST, DATE_ISO_FORMAT, DateInputComponent, DateRangeInputComponent, LU_DATE2_TRANSLATIONS, PremadeShortcuts, getDateFormat, getLocalizedDateFormat, getSeparator, humanizeDate, luDate2Translations };
|
|
382
|
+
export type { CalendarMode, CalendarShortcut, CellStatus, Date2ClearBehavior, Date2Translate, DateFormat, DateInputValidatorErrorType, DateRange, DateRangeInput };
|
|
@@ -2,27 +2,36 @@ import * as _angular_core from '@angular/core';
|
|
|
2
2
|
|
|
3
3
|
declare class FancyBoxComponent {
|
|
4
4
|
#private;
|
|
5
|
+
readonly domain = "https://cdn.lucca.fr";
|
|
6
|
+
readonly path = "/transverse/prisme/visuals/fancy-box/";
|
|
7
|
+
readonly extension = ".svg";
|
|
5
8
|
/**
|
|
6
|
-
*
|
|
9
|
+
* @deprecated use `foregroundStartEnd` instead
|
|
7
10
|
*/
|
|
8
11
|
readonly foreground: _angular_core.InputSignal<string>;
|
|
9
12
|
/**
|
|
10
|
-
*
|
|
13
|
+
* @deprecated use `backgroundEndStart` instead
|
|
11
14
|
*/
|
|
12
15
|
readonly backgroundLeft: _angular_core.InputSignal<string>;
|
|
13
16
|
/**
|
|
14
|
-
*
|
|
17
|
+
* @deprecated use `backgroundStartEnd` instead
|
|
15
18
|
*/
|
|
16
19
|
readonly backgroundRight: _angular_core.InputSignal<string>;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
readonly foregroundStartEnd: _angular_core.InputSignal<string>;
|
|
21
|
+
readonly foregroundEndStart: _angular_core.InputSignal<string>;
|
|
22
|
+
readonly backgroundEndStart: _angular_core.InputSignal<string>;
|
|
23
|
+
readonly backgroundStartEnd: _angular_core.InputSignal<string>;
|
|
20
24
|
readonly size: _angular_core.InputSignal<"S">;
|
|
21
|
-
readonly
|
|
22
|
-
readonly
|
|
23
|
-
|
|
25
|
+
readonly palette: _angular_core.InputSignal<string>;
|
|
26
|
+
readonly paletteClass: _angular_core.Signal<{
|
|
27
|
+
[x: string]: boolean;
|
|
28
|
+
}>;
|
|
29
|
+
readonly backgroundEndStartUrl: _angular_core.Signal<string>;
|
|
30
|
+
readonly backgroundStartEndUrl: _angular_core.Signal<string>;
|
|
31
|
+
readonly foregroundStartEndUrl: _angular_core.Signal<string>;
|
|
32
|
+
readonly foregroundEndStartUrl: _angular_core.Signal<string>;
|
|
24
33
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FancyBoxComponent, never>;
|
|
25
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FancyBoxComponent, "lu-fancy-box", never, { "foreground": { "alias": "foreground"; "required": false; "isSignal": true; }; "backgroundLeft": { "alias": "backgroundLeft"; "required":
|
|
34
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FancyBoxComponent, "lu-fancy-box", never, { "foreground": { "alias": "foreground"; "required": false; "isSignal": true; }; "backgroundLeft": { "alias": "backgroundLeft"; "required": false; "isSignal": true; }; "backgroundRight": { "alias": "backgroundRight"; "required": false; "isSignal": true; }; "foregroundStartEnd": { "alias": "foregroundStartEnd"; "required": false; "isSignal": true; }; "foregroundEndStart": { "alias": "foregroundEndStart"; "required": false; "isSignal": true; }; "backgroundEndStart": { "alias": "backgroundEndStart"; "required": false; "isSignal": true; }; "backgroundStartEnd": { "alias": "backgroundStartEnd"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "palette": { "alias": "palette"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
|
|
26
35
|
}
|
|
27
36
|
|
|
28
37
|
/**
|
|
@@ -30,6 +39,14 @@ declare class FancyBoxComponent {
|
|
|
30
39
|
*/
|
|
31
40
|
declare const FANCY_BOX_SIZE: readonly ["S"];
|
|
32
41
|
type FancyBoxSize = (typeof FANCY_BOX_SIZE)[number];
|
|
42
|
+
declare const FANCY_BOX_BACKGROUND_END_START: readonly ["bubbles", "plant"];
|
|
43
|
+
type FancyBoxBackgroundEndStart = (typeof FANCY_BOX_BACKGROUND_END_START)[number];
|
|
44
|
+
declare const FANCY_BOX_BACKGROUND_START_END: readonly ["bubbles", "candies"];
|
|
45
|
+
type FancyBoxBackgroundStartEnd = (typeof FANCY_BOX_BACKGROUND_START_END)[number];
|
|
46
|
+
declare const FANCY_BOX_FOREGROUND_END_START: readonly ["clips"];
|
|
47
|
+
type FancyBoxForegroundEndStart = (typeof FANCY_BOX_FOREGROUND_END_START)[number];
|
|
48
|
+
declare const FANCY_BOX_FOREGROUND_START_END: readonly ["pizza"];
|
|
49
|
+
type FancyBoxForegroundStartEnd = (typeof FANCY_BOX_FOREGROUND_START_END)[number];
|
|
33
50
|
|
|
34
|
-
export { FANCY_BOX_SIZE, FancyBoxComponent };
|
|
35
|
-
export type { FancyBoxSize };
|
|
51
|
+
export { FANCY_BOX_BACKGROUND_END_START, FANCY_BOX_BACKGROUND_START_END, FANCY_BOX_FOREGROUND_END_START, FANCY_BOX_FOREGROUND_START_END, FANCY_BOX_SIZE, FancyBoxComponent };
|
|
52
|
+
export type { FancyBoxBackgroundEndStart, FancyBoxBackgroundStartEnd, FancyBoxForegroundEndStart, FancyBoxForegroundStartEnd, FancyBoxSize };
|
|
@@ -1,44 +1,15 @@
|
|
|
1
1
|
import * as _lucca_front_ng_form_field from '@lucca-front/ng/form-field';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
|
+
import { InjectionToken } from '@angular/core';
|
|
4
|
+
import * as _lucca_front_ng_file_upload from '@lucca-front/ng/file-upload';
|
|
3
5
|
import { Subject } from 'rxjs';
|
|
4
|
-
|
|
5
|
-
interface LuFileUploadLabel {
|
|
6
|
-
acceptedFormat: {
|
|
7
|
-
one: string;
|
|
8
|
-
other: string;
|
|
9
|
-
};
|
|
10
|
-
selectFile: {
|
|
11
|
-
one: string;
|
|
12
|
-
other: string;
|
|
13
|
-
};
|
|
14
|
-
dropOrClick: {
|
|
15
|
-
one: string;
|
|
16
|
-
other: string;
|
|
17
|
-
};
|
|
18
|
-
maxWeight: {
|
|
19
|
-
one: string;
|
|
20
|
-
other: string;
|
|
21
|
-
};
|
|
22
|
-
fileUploadedListed: {
|
|
23
|
-
one: string;
|
|
24
|
-
other: string;
|
|
25
|
-
};
|
|
26
|
-
all: string;
|
|
27
|
-
file: string;
|
|
28
|
-
download: string;
|
|
29
|
-
preview: string;
|
|
30
|
-
downloadFile: string;
|
|
31
|
-
delete: string;
|
|
32
|
-
deleteFile: string;
|
|
33
|
-
password: string;
|
|
34
|
-
confirmPassword: string;
|
|
35
|
-
}
|
|
6
|
+
import { LuTranslation } from '@lucca-front/ng/core';
|
|
36
7
|
|
|
37
8
|
declare abstract class BaseFileUploadComponent {
|
|
38
9
|
protected locale: string;
|
|
39
10
|
protected idSuffix: number;
|
|
40
11
|
protected droppable: boolean;
|
|
41
|
-
readonly intl: _angular_core.InputSignalWithTransform<LuFileUploadLabel, Partial<LuFileUploadLabel>>;
|
|
12
|
+
readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_file_upload.LuFileUploadLabel, Partial<_lucca_front_ng_file_upload.LuFileUploadLabel>>;
|
|
42
13
|
protected formFieldRef: _lucca_front_ng_form_field.FormFieldComponent;
|
|
43
14
|
filePicked: _angular_core.OutputEmitterRef<File>;
|
|
44
15
|
readonly accept: _angular_core.InputSignal<{
|
|
@@ -93,7 +64,7 @@ interface FileEntry {
|
|
|
93
64
|
|
|
94
65
|
declare class FileEntryComponent {
|
|
95
66
|
#private;
|
|
96
|
-
readonly intl: _angular_core.InputSignalWithTransform<LuFileUploadLabel, Partial<LuFileUploadLabel>>;
|
|
67
|
+
readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_file_upload.LuFileUploadLabel, Partial<_lucca_front_ng_file_upload.LuFileUploadLabel>>;
|
|
97
68
|
readonly state: _angular_core.InputSignal<"loading" | "success" | "error" | "default">;
|
|
98
69
|
readonly displayFileName: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
|
|
99
70
|
readonly structure: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
|
|
@@ -157,5 +128,39 @@ declare class SingleFileUploadComponent extends BaseFileUploadComponent {
|
|
|
157
128
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<SingleFileUploadComponent, "lu-single-file-upload", never, { "entry": { "alias": "entry"; "required": false; "isSignal": true; }; "state": { "alias": "state"; "required": false; "isSignal": true; }; "inlineMessageError": { "alias": "inlineMessageError"; "required": false; "isSignal": true; }; "previewUrl": { "alias": "previewUrl"; "required": false; "isSignal": true; }; "displayFileName": { "alias": "displayFileName"; "required": false; "isSignal": true; }; }, { "deleteFile": "deleteFile"; }, never, ["*"], true, never>;
|
|
158
129
|
}
|
|
159
130
|
|
|
160
|
-
|
|
161
|
-
|
|
131
|
+
declare const LU_FILE_UPLOAD_TRANSLATIONS: InjectionToken<LuTranslation<LuFileUploadLabel>>;
|
|
132
|
+
interface LuFileUploadLabel {
|
|
133
|
+
acceptedFormat: {
|
|
134
|
+
one: string;
|
|
135
|
+
other: string;
|
|
136
|
+
};
|
|
137
|
+
selectFile: {
|
|
138
|
+
one: string;
|
|
139
|
+
other: string;
|
|
140
|
+
};
|
|
141
|
+
dropOrClick: {
|
|
142
|
+
one: string;
|
|
143
|
+
other: string;
|
|
144
|
+
};
|
|
145
|
+
maxWeight: {
|
|
146
|
+
one: string;
|
|
147
|
+
other: string;
|
|
148
|
+
};
|
|
149
|
+
fileUploadedListed: {
|
|
150
|
+
one: string;
|
|
151
|
+
other: string;
|
|
152
|
+
};
|
|
153
|
+
all: string;
|
|
154
|
+
file: string;
|
|
155
|
+
download: string;
|
|
156
|
+
preview: string;
|
|
157
|
+
downloadFile: string;
|
|
158
|
+
delete: string;
|
|
159
|
+
deleteFile: string;
|
|
160
|
+
password: string;
|
|
161
|
+
confirmPassword: string;
|
|
162
|
+
}
|
|
163
|
+
declare const luFileUploadTranslations: LuTranslation<LuFileUploadLabel>;
|
|
164
|
+
|
|
165
|
+
export { FILE_ENTRY_SIZE, FILE_ENTRY_STATE, FILE_UPLOAD_SIZE, FILE_UPLOAD_STATE, FileDropzoneComponent, FileEntryComponent, FileEntryWrapperComponent, LU_FILE_UPLOAD_TRANSLATIONS, MultiFileUploadComponent, SingleFileUploadComponent, formatFileSize, luFileUploadTranslations };
|
|
166
|
+
export type { FileEntry, FileEntrySize, FileEntryState, FileUploadSize, FileUploadState, LuFileUploadLabel };
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { Signal, TemplateRef, WritableSignal, InjectionToken } from '@angular/core';
|
|
3
|
+
import { LuccaIcon } from '@lucca-front/icons';
|
|
4
|
+
|
|
5
|
+
type FilterPillLayout = 'checkable';
|
|
6
|
+
interface FilterPillInputComponent {
|
|
7
|
+
parentInput?: FilterPillInputComponent | null;
|
|
8
|
+
isFilterPillEmpty: Signal<boolean>;
|
|
9
|
+
isFilterPillClearable: Signal<boolean>;
|
|
10
|
+
filterPillLayout?: Signal<FilterPillLayout>;
|
|
11
|
+
hideCombobox?: Signal<boolean>;
|
|
12
|
+
showColon?: Signal<boolean>;
|
|
13
|
+
filterPillDisabled?: Signal<boolean>;
|
|
14
|
+
clearFilterPillValue(): void;
|
|
15
|
+
registerFilterPillClosePopover(closeFn: () => void): void;
|
|
16
|
+
registerFilterPillUpdatePosition?(updateFn: () => void): void;
|
|
17
|
+
enableFilterPillMode?(): void;
|
|
18
|
+
onFilterPillClosed?(): void;
|
|
19
|
+
onFilterPillOpened?(): void;
|
|
20
|
+
onFilterPillClick?(): void;
|
|
21
|
+
getDefaultFilterPillIcon?(): LuccaIcon;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Contract exposed by `lu-filter-pill` to the inputs and directives it hosts.
|
|
26
|
+
* Declared here rather than typing the token with `FilterPillComponent` so this entry point
|
|
27
|
+
* stays independent from the components one, which depends on inputs such as `lu-multi-select`.
|
|
28
|
+
*/
|
|
29
|
+
interface FilterPillHostComponent {
|
|
30
|
+
/** Template rendering the input's value inside the pill, set by `luFilterPillDisplayer`. */
|
|
31
|
+
pillTpl: TemplateRef<unknown>;
|
|
32
|
+
/** Template overriding the pill's label, set by `luFilterPillLabel`. */
|
|
33
|
+
readonly customLabelTpl: WritableSignal<TemplateRef<unknown> | null>;
|
|
34
|
+
/** Lets an input register itself when it's too deep to be picked up by content query. */
|
|
35
|
+
registerInput(input: FilterPillInputComponent): void;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
declare const FILTER_PILL_INPUT_COMPONENT: InjectionToken<FilterPillInputComponent>;
|
|
39
|
+
declare const FILTER_PILL_HOST_COMPONENT: InjectionToken<FilterPillHostComponent>;
|
|
40
|
+
|
|
41
|
+
interface FilterPillDisplayerContext {
|
|
42
|
+
label: string;
|
|
43
|
+
placeholder: string;
|
|
44
|
+
isEmpty: boolean;
|
|
45
|
+
}
|
|
46
|
+
declare class FilterPillDisplayerDirective {
|
|
47
|
+
#private;
|
|
48
|
+
constructor();
|
|
49
|
+
static ngTemplateContextGuard(_dir: FilterPillDisplayerDirective, _ctx: unknown): _ctx is FilterPillDisplayerContext;
|
|
50
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FilterPillDisplayerDirective, never>;
|
|
51
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FilterPillDisplayerDirective, "[luFilterPillDisplayer]", never, {}, {}, never, never, true, never>;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
interface FilterPillLabelContext {
|
|
55
|
+
label: string;
|
|
56
|
+
placeholder: string;
|
|
57
|
+
isEmpty: boolean;
|
|
58
|
+
colon: string;
|
|
59
|
+
}
|
|
60
|
+
declare class FilterPillLabelDirective {
|
|
61
|
+
#private;
|
|
62
|
+
constructor();
|
|
63
|
+
static ngTemplateContextGuard(_dir: FilterPillLabelDirective, _ctx: unknown): _ctx is FilterPillLabelContext;
|
|
64
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FilterPillLabelDirective, never>;
|
|
65
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<FilterPillLabelDirective, "[luFilterPillLabel]", never, {}, {}, never, never, true, never>;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export { FILTER_PILL_HOST_COMPONENT, FILTER_PILL_INPUT_COMPONENT, FilterPillDisplayerDirective, FilterPillLabelDirective };
|
|
69
|
+
export type { FilterPillHostComponent, FilterPillInputComponent, FilterPillLayout };
|
|
@@ -1,71 +1,17 @@
|
|
|
1
1
|
import * as _angular_core from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { ElementRef, TemplateRef, InjectionToken } from '@angular/core';
|
|
3
|
+
import * as _lucca_front_ng_filter_pills from '@lucca-front/ng/filter-pills';
|
|
3
4
|
import { ConnectionPositionPair } from '@angular/cdk/overlay';
|
|
4
5
|
import { LuccaIcon } from '@lucca-front/icons';
|
|
5
6
|
import { PopoverDirective } from '@lucca-front/ng/popover2';
|
|
7
|
+
import { FilterPillHostComponent, FilterPillInputComponent } from '@lucca-front/ng/filter-pills/core';
|
|
8
|
+
export * from '@lucca-front/ng/filter-pills/core';
|
|
9
|
+
import { LuOptionComparer as LuOptionComparer$1 } from '@lucca-front/ng/core-select';
|
|
10
|
+
import { LuTranslation } from '@lucca-front/ng/core';
|
|
6
11
|
|
|
7
|
-
|
|
8
|
-
clear: string;
|
|
9
|
-
placeholder: string;
|
|
10
|
-
additionalFilters: string;
|
|
11
|
-
selectView: string;
|
|
12
|
-
viewOptions: string;
|
|
13
|
-
renameView: string;
|
|
14
|
-
deleteView: string;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
type FilterPillLayout = 'checkable';
|
|
18
|
-
interface FilterPillInputComponent {
|
|
19
|
-
parentInput?: FilterPillInputComponent | null;
|
|
20
|
-
isFilterPillEmpty: Signal<boolean>;
|
|
21
|
-
isFilterPillClearable: Signal<boolean>;
|
|
22
|
-
filterPillLayout?: Signal<FilterPillLayout>;
|
|
23
|
-
hideCombobox?: Signal<boolean>;
|
|
24
|
-
showColon?: Signal<boolean>;
|
|
25
|
-
filterPillDisabled?: Signal<boolean>;
|
|
26
|
-
clearFilterPillValue(): void;
|
|
27
|
-
registerFilterPillClosePopover(closeFn: () => void): void;
|
|
28
|
-
registerFilterPillUpdatePosition?(updateFn: () => void): void;
|
|
29
|
-
enableFilterPillMode?(): void;
|
|
30
|
-
onFilterPillClosed?(): void;
|
|
31
|
-
onFilterPillOpened?(): void;
|
|
32
|
-
onFilterPillClick?(): void;
|
|
33
|
-
getDefaultFilterPillIcon?(): LuccaIcon;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
declare const FILTER_PILL_INPUT_COMPONENT: InjectionToken<FilterPillInputComponent>;
|
|
37
|
-
declare const FILTER_PILL_HOST_COMPONENT: InjectionToken<FilterPillComponent>;
|
|
38
|
-
|
|
39
|
-
interface FilterPillDisplayerContext {
|
|
40
|
-
label: string;
|
|
41
|
-
placeholder: string;
|
|
42
|
-
isEmpty: boolean;
|
|
43
|
-
}
|
|
44
|
-
declare class FilterPillDisplayerDirective {
|
|
12
|
+
declare class FilterPillComponent implements FilterPillHostComponent {
|
|
45
13
|
#private;
|
|
46
|
-
|
|
47
|
-
static ngTemplateContextGuard(_dir: FilterPillDisplayerDirective, _ctx: unknown): _ctx is FilterPillDisplayerContext;
|
|
48
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterPillDisplayerDirective, never>;
|
|
49
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FilterPillDisplayerDirective, "[luFilterPillDisplayer]", never, {}, {}, never, never, true, never>;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
interface FilterPillLabelContext {
|
|
53
|
-
label: string;
|
|
54
|
-
placeholder: string;
|
|
55
|
-
isEmpty: boolean;
|
|
56
|
-
colon: string;
|
|
57
|
-
}
|
|
58
|
-
declare class FilterPillLabelDirective {
|
|
59
|
-
#private;
|
|
60
|
-
constructor();
|
|
61
|
-
static ngTemplateContextGuard(_dir: FilterPillLabelDirective, _ctx: unknown): _ctx is FilterPillLabelContext;
|
|
62
|
-
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterPillLabelDirective, never>;
|
|
63
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FilterPillLabelDirective, "[luFilterPillLabel]", never, {}, {}, never, never, true, never>;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
declare class FilterPillComponent {
|
|
67
|
-
#private;
|
|
68
|
-
readonly intl: _angular_core.InputSignalWithTransform<LuFilterPillsLabel, Partial<LuFilterPillsLabel>>;
|
|
14
|
+
readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_filter_pills.LuFilterPillsLabel, Partial<_lucca_front_ng_filter_pills.LuFilterPillsLabel>>;
|
|
69
15
|
readonly elementRef: ElementRef<any>;
|
|
70
16
|
readonly layout: _angular_core.Signal<"checkable" | "default">;
|
|
71
17
|
readonly childInputComponentRef: _angular_core.Signal<FilterPillInputComponent>;
|
|
@@ -78,6 +24,12 @@ declare class FilterPillComponent {
|
|
|
78
24
|
readonly customLabelTpl: _angular_core.WritableSignal<TemplateRef<unknown>>;
|
|
79
25
|
readonly name: _angular_core.InputSignal<string>;
|
|
80
26
|
readonly optional: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
|
|
27
|
+
/** Groups the pill with the ones sharing the same value in the filter bar's optional filters list. Empty means no group. */
|
|
28
|
+
readonly grouping: _angular_core.InputSignal<string>;
|
|
29
|
+
/** Renders the pill as an icon-only button, its label being carried by a tooltip. */
|
|
30
|
+
readonly iconOnly: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
|
|
31
|
+
/** Catches the click that closes the popover instead of letting it through to the page. */
|
|
32
|
+
readonly backdrop: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
|
|
81
33
|
readonly disabled: _angular_core.Signal<boolean>;
|
|
82
34
|
get isHiddenClass(): boolean;
|
|
83
35
|
readonly displayed: _angular_core.ModelSignal<boolean>;
|
|
@@ -107,18 +59,37 @@ declare class FilterPillComponent {
|
|
|
107
59
|
clear(): void;
|
|
108
60
|
registerInput(input: FilterPillInputComponent): void;
|
|
109
61
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterPillComponent, never>;
|
|
110
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterPillComponent, "lu-filter-pill", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "optional": { "alias": "optional"; "required": false; "isSignal": true; }; "displayed": { "alias": "displayed"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "placeholderOverride": { "alias": "placeholder"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, { "displayed": "displayedChange"; }, ["childInputComponentRef"], ["*"], true, never>;
|
|
62
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterPillComponent, "lu-filter-pill", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "name": { "alias": "name"; "required": false; "isSignal": true; }; "optional": { "alias": "optional"; "required": false; "isSignal": true; }; "grouping": { "alias": "grouping"; "required": false; "isSignal": true; }; "iconOnly": { "alias": "iconOnly"; "required": false; "isSignal": true; }; "backdrop": { "alias": "backdrop"; "required": false; "isSignal": true; }; "displayed": { "alias": "displayed"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": true; "isSignal": true; }; "placeholderOverride": { "alias": "placeholder"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; }, { "displayed": "displayedChange"; }, ["childInputComponentRef"], ["*"], true, never>;
|
|
111
63
|
}
|
|
112
64
|
|
|
113
65
|
declare class FilterBarComponent {
|
|
114
|
-
readonly intl: _angular_core.InputSignalWithTransform<LuFilterPillsLabel, Partial<LuFilterPillsLabel>>;
|
|
66
|
+
readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_filter_pills.LuFilterPillsLabel, Partial<_lucca_front_ng_filter_pills.LuFilterPillsLabel>>;
|
|
67
|
+
/**
|
|
68
|
+
* Set when results only update after an explicit "Apply" action, to remove the hidden message
|
|
69
|
+
* telling assistive technology users that the results list updates automatically
|
|
70
|
+
*/
|
|
71
|
+
readonly manualApply: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
|
|
72
|
+
readonly autoApplyAnnouncementId: string;
|
|
115
73
|
readonly addonBefore: _angular_core.WritableSignal<TemplateRef<unknown>>;
|
|
116
74
|
readonly addonAfter: _angular_core.WritableSignal<TemplateRef<unknown>>;
|
|
117
|
-
popoverPositions: ConnectionPositionPair[];
|
|
118
75
|
readonly pills: _angular_core.Signal<readonly FilterPillComponent[]>;
|
|
119
76
|
readonly optionalPills: _angular_core.Signal<FilterPillComponent[]>;
|
|
77
|
+
protected readonly displayedOptionalPills: _angular_core.Signal<FilterPillComponent[]>;
|
|
78
|
+
/** Mirrors the search clue of the optional filters select, which filters its options on its own. */
|
|
79
|
+
protected readonly clue: _angular_core.WritableSignal<string>;
|
|
80
|
+
/**
|
|
81
|
+
* The panel builds a group out of each run of consecutive options, so the pills of a same group
|
|
82
|
+
* have to be listed together. Groups keep the order of their first pill, ungrouped pills come first.
|
|
83
|
+
*/
|
|
84
|
+
protected readonly optionalPillOptions: _angular_core.Signal<FilterPillComponent[]>;
|
|
85
|
+
/** Optional pills are identified by their instance, they have no serializable value to compare. */
|
|
86
|
+
protected readonly optionalPillComparer: LuOptionComparer$1<FilterPillComponent>;
|
|
87
|
+
private readonly optionalPillsSelect;
|
|
88
|
+
private readonly optionalPillsGroupTpl;
|
|
89
|
+
constructor();
|
|
90
|
+
protected displayOptionalPills(pills: FilterPillComponent[]): void;
|
|
120
91
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<FilterBarComponent, never>;
|
|
121
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterBarComponent, "lu-filter-bar", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; }, {}, ["pills"], ["*"], true, never>;
|
|
92
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<FilterBarComponent, "lu-filter-bar", never, { "intl": { "alias": "intl"; "required": false; "isSignal": true; }; "manualApply": { "alias": "manualApply"; "required": false; "isSignal": true; }; }, {}, ["pills"], ["*"], true, never>;
|
|
122
93
|
}
|
|
123
94
|
|
|
124
95
|
declare const LU_FILTER_BAR_INSTANCE: InjectionToken<FilterBarComponent>;
|
|
@@ -127,7 +98,7 @@ type LuOptionComparer<T> = (a: T, b: T) => boolean;
|
|
|
127
98
|
declare const filterViewDefaultOptionComparer: LuOptionComparer<unknown>;
|
|
128
99
|
declare const filterViewDefaultOptionKey: (option: unknown) => unknown;
|
|
129
100
|
declare class FilterViewSelectorComponent<T> {
|
|
130
|
-
readonly intl: _angular_core.InputSignalWithTransform<LuFilterPillsLabel, Partial<LuFilterPillsLabel>>;
|
|
101
|
+
readonly intl: _angular_core.InputSignalWithTransform<_lucca_front_ng_filter_pills.LuFilterPillsLabel, Partial<_lucca_front_ng_filter_pills.LuFilterPillsLabel>>;
|
|
131
102
|
readonly popoverRef: _angular_core.Signal<PopoverDirective>;
|
|
132
103
|
/** The list of saved views to pick from. */
|
|
133
104
|
readonly views: _angular_core.InputSignal<T[]>;
|
|
@@ -169,5 +140,18 @@ declare class FilterPillAddonAfterDirective {
|
|
|
169
140
|
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<FilterPillAddonAfterDirective, "[luFilterPillAddonAfter]", never, {}, {}, never, never, true, never>;
|
|
170
141
|
}
|
|
171
142
|
|
|
172
|
-
|
|
173
|
-
|
|
143
|
+
declare const LU_FILTER_PILLS_TRANSLATIONS: InjectionToken<LuTranslation<LuFilterPillsLabel>>;
|
|
144
|
+
interface LuFilterPillsLabel {
|
|
145
|
+
clear: string;
|
|
146
|
+
placeholder: string;
|
|
147
|
+
additionalFilters: string;
|
|
148
|
+
autoApplyAnnouncement: string;
|
|
149
|
+
selectView: string;
|
|
150
|
+
viewOptions: string;
|
|
151
|
+
renameView: string;
|
|
152
|
+
deleteView: string;
|
|
153
|
+
}
|
|
154
|
+
declare const luFilterPillsTranslations: LuTranslation<LuFilterPillsLabel>;
|
|
155
|
+
|
|
156
|
+
export { FilterBarComponent, FilterPillAddonAfterDirective, FilterPillAddonBeforeDirective, FilterPillComponent, FilterViewSelectorComponent, LU_FILTER_BAR_INSTANCE, LU_FILTER_PILLS_TRANSLATIONS, filterViewDefaultOptionComparer, filterViewDefaultOptionKey, luFilterPillsTranslations };
|
|
157
|
+
export type { LuFilterPillsLabel, LuOptionComparer };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as _lucca_front_ng_form from '@lucca-front/ng/form';
|
|
2
2
|
import * as _angular_core from '@angular/core';
|
|
3
|
-
import { OnInit,
|
|
3
|
+
import { OnInit, OnDestroy, ElementRef, DoCheck, TemplateRef, InjectionToken } from '@angular/core';
|
|
4
4
|
import * as _lucca_front_ng_form_field from '@lucca-front/ng/form-field';
|
|
5
5
|
import { RequiredValidator, NgControl, AbstractControl } from '@angular/forms';
|
|
6
6
|
import { FormField } from '@angular/forms/signals';
|
|
@@ -14,21 +14,34 @@ type FormFieldSize = (typeof FORM_FIELD_SIZE)[number];
|
|
|
14
14
|
/**
|
|
15
15
|
* Available FormFieldComponent types
|
|
16
16
|
*/
|
|
17
|
-
declare const FORM_FIELD_WIDTH: readonly [20, 30, 40, 50, 60];
|
|
17
|
+
declare const FORM_FIELD_WIDTH: readonly [10, 20, 30, 40, 50, 60];
|
|
18
18
|
type FormFieldWidth = (typeof FORM_FIELD_WIDTH)[number];
|
|
19
19
|
declare const FORM_FIELD_LAYOUT: readonly ["default", "checkable", "fieldset"];
|
|
20
20
|
type FormFieldLayout = (typeof FORM_FIELD_LAYOUT)[number];
|
|
21
21
|
|
|
22
|
-
declare class InputDirective implements OnInit {
|
|
22
|
+
declare class InputDirective implements OnInit, OnDestroy {
|
|
23
|
+
#private;
|
|
23
24
|
readonly host: ElementRef<HTMLElement>;
|
|
24
25
|
readonly formFieldRef: _lucca_front_ng_form_field.FormFieldComponent;
|
|
25
26
|
/**
|
|
26
27
|
* Prevents message and label ids from being propagated, useful if the input holds its own message and label (like for radios)
|
|
27
28
|
*/
|
|
28
29
|
readonly standalone: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
|
|
30
|
+
/**
|
|
31
|
+
* Space-separated ids labelling the input, appended to the ones provided by the parent form field.
|
|
32
|
+
* Use it instead of binding `aria-labelledby`, which the form field would override.
|
|
33
|
+
*/
|
|
34
|
+
readonly labelledBy: _angular_core.InputSignal<string>;
|
|
35
|
+
/**
|
|
36
|
+
* Space-separated ids describing the input, placed before the ones provided by the parent form field.
|
|
37
|
+
* Use it instead of binding `aria-describedby`, which the form field would override.
|
|
38
|
+
*/
|
|
39
|
+
readonly describedBy: _angular_core.InputSignal<string>;
|
|
40
|
+
constructor();
|
|
29
41
|
ngOnInit(): void;
|
|
42
|
+
ngOnDestroy(): void;
|
|
30
43
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputDirective, never>;
|
|
31
|
-
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<InputDirective, "[luInput]", never, { "standalone": { "alias": "luInputStandalone"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
44
|
+
static ɵdir: _angular_core.ɵɵDirectiveDeclaration<InputDirective, "[luInput]", never, { "standalone": { "alias": "luInputStandalone"; "required": false; "isSignal": true; }; "labelledBy": { "alias": "luInputLabelledBy"; "required": false; "isSignal": true; }; "describedBy": { "alias": "luInputDescribedBy"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
|
|
32
45
|
}
|
|
33
46
|
|
|
34
47
|
declare class FormFieldComponent implements OnDestroy, DoCheck {
|
|
@@ -62,7 +75,7 @@ declare class FormFieldComponent implements OnDestroy, DoCheck {
|
|
|
62
75
|
readonly AI: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
|
|
63
76
|
readonly iconAItooltip: _angular_core.InputSignal<string>;
|
|
64
77
|
readonly iconAIalt: _angular_core.InputSignal<string>;
|
|
65
|
-
readonly width: _angular_core.InputSignalWithTransform<20 | 30 | 40 | 50 | 60, 20 | 30 | 40 | 50 | 60 | "null" | "20" | "30" | "40" | "50" | "60">;
|
|
78
|
+
readonly width: _angular_core.InputSignalWithTransform<10 | 20 | 30 | 40 | 50 | 60, 10 | 20 | 30 | 40 | 50 | 60 | "null" | "10" | "20" | "30" | "40" | "50" | "60">;
|
|
66
79
|
invalidStatus: _angular_core.Signal<boolean>;
|
|
67
80
|
readonly invalid: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true" | "null">;
|
|
68
81
|
readonly inlineMessage: _angular_core.InputSignal<PortalContent>;
|
|
@@ -88,11 +101,27 @@ declare class FormFieldComponent implements OnDestroy, DoCheck {
|
|
|
88
101
|
readonly presentation: _angular_core.InputSignalWithTransform<boolean, boolean | "" | "false" | "true">;
|
|
89
102
|
readonly presentationMode: _angular_core.Signal<boolean>;
|
|
90
103
|
readonly presentationDisplayTpl: _angular_core.WritableSignal<TemplateRef<unknown>>;
|
|
104
|
+
readonly hasInlineMessage: _angular_core.Signal<boolean>;
|
|
91
105
|
addInput(input: InputDirective): void;
|
|
106
|
+
/**
|
|
107
|
+
* Unregisters an input that's being destroyed — e.g. one side of an `@if`/`@else` toggling which
|
|
108
|
+
* element carries `luInput` (a text field swapping for a button below a breakpoint, say). Without
|
|
109
|
+
* this, the detached element lingers in `#inputs` forever: `prepareInput` keeps reassigning it a
|
|
110
|
+
* fresh id on every future change, and each one gets added to `aria-labelledby` and never removed.
|
|
111
|
+
*/
|
|
112
|
+
removeInput(input: InputDirective): void;
|
|
92
113
|
get inputs(): InputDirective[];
|
|
93
114
|
readonly id: _angular_core.WritableSignal<string>;
|
|
94
115
|
readonly ready$: BehaviorSubject<boolean>;
|
|
95
116
|
get ready(): boolean;
|
|
117
|
+
/**
|
|
118
|
+
* Ids labelling the inputs of this field, applied by each non-standalone `luInput`
|
|
119
|
+
*/
|
|
120
|
+
readonly ariaLabelledBy: _angular_core.Signal<string[]>;
|
|
121
|
+
/**
|
|
122
|
+
* Ids describing the inputs of this field, applied by each non-standalone `luInput`
|
|
123
|
+
*/
|
|
124
|
+
readonly ariaDescribedBy: _angular_core.Signal<string[]>;
|
|
96
125
|
constructor();
|
|
97
126
|
addLabelledBy(id: string, prepend?: boolean): void;
|
|
98
127
|
removeLabelledBy(id: string): void;
|