@lucca-front/ng 17.2.0 → 17.2.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/button/button.component.d.ts +1 -2
- package/callout/callout-feedback-list/callout-feedback-list.component.d.ts +1 -2
- package/core/public-api.d.ts +1 -1
- package/core/tools/class.d.ts +11 -0
- package/core-select/api/api-v3.directive.d.ts +25 -0
- package/core-select/api/api-v4.directive.d.ts +22 -0
- package/core-select/api/api.directive.d.ts +31 -0
- package/core-select/api/index.d.ts +5 -0
- package/core-select/api/public-api.d.ts +3 -0
- package/core-select/input/select-input.component.d.ts +3 -3
- package/core-select/option/option.component.d.ts +1 -0
- package/esm2022/button/button.component.mjs +7 -8
- package/esm2022/callout/callout-feedback-list/callout-feedback-list.component.mjs +6 -7
- package/esm2022/core/public-api.mjs +2 -2
- package/esm2022/core/tools/class.mjs +75 -0
- package/esm2022/core-select/api/api-v3.directive.mjs +62 -0
- package/esm2022/core-select/api/api-v4.directive.mjs +56 -0
- package/esm2022/core-select/api/api.directive.mjs +46 -0
- package/esm2022/core-select/api/lucca-front-ng-core-select-api.mjs +5 -0
- package/esm2022/core-select/api/public-api.mjs +4 -0
- package/esm2022/core-select/input/select-input.component.mjs +13 -12
- package/esm2022/core-select/option/option.component.mjs +5 -4
- package/esm2022/empty-state/empty-state-page/empty-state-page.component.mjs +3 -3
- package/esm2022/empty-state/empty-state-section/empty-state-section.component.mjs +3 -3
- package/esm2022/establishment/select/establishment-select.token.mjs +4 -0
- package/esm2022/establishment/select/input/establishment-select-input.component.mjs +13 -16
- package/esm2022/establishment/select/legal-unit-selector/legal-unit-selector.directive.mjs +9 -10
- package/esm2022/establishment/select/searcher/establishment-searcher.component.mjs +9 -10
- package/esm2022/establishment/select/select-all/establishment-select-all.component.mjs +9 -10
- package/esm2022/form-field/form-field.component.mjs +11 -10
- package/esm2022/icon/icon.component.mjs +3 -3
- package/esm2022/inline-message/inline-message.component.mjs +7 -8
- package/esm2022/multi-select/displayer/default-displayer.component.mjs +4 -2
- package/esm2022/multi-select/input/panel-ref.factory.mjs +6 -6
- package/esm2022/multi-select/input/select-input.component.mjs +3 -10
- package/esm2022/multi-select/panel/panel.component.mjs +18 -18
- package/esm2022/multi-select/select.model.mjs +2 -2
- package/esm2022/numeric-badge/numeric-badge.component.mjs +7 -8
- package/esm2022/option/item/option-item.component.mjs +3 -3
- package/esm2022/option/item/tree-option-item.component.mjs +3 -3
- package/esm2022/simple-select/api/api-v3.directive.mjs +6 -62
- package/esm2022/simple-select/api/api-v4.directive.mjs +6 -56
- package/esm2022/simple-select/api/api.directive.mjs +6 -40
- package/esm2022/simple-select/input/panel-ref.factory.mjs +7 -7
- package/esm2022/simple-select/input/select-input.component.mjs +2 -9
- package/esm2022/simple-select/panel/option-selected.pipe.mjs +17 -0
- package/esm2022/simple-select/panel/panel.component.mjs +21 -20
- package/esm2022/simple-select/select.model.mjs +2 -2
- package/establishment/select/establishment-select.token.d.ts +4 -0
- package/establishment/select/input/establishment-select-input.component.d.ts +2 -2
- package/establishment/select/legal-unit-selector/legal-unit-selector.directive.d.ts +2 -2
- package/establishment/select/searcher/establishment-searcher.component.d.ts +2 -2
- package/establishment/select/select-all/establishment-select-all.component.d.ts +2 -2
- package/fesm2022/lucca-front-ng-button.mjs +6 -7
- package/fesm2022/lucca-front-ng-button.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-callout.mjs +5 -6
- package/fesm2022/lucca-front-ng-callout.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core-select-api.mjs +162 -0
- package/fesm2022/lucca-front-ng-core-select-api.mjs.map +1 -0
- package/fesm2022/lucca-front-ng-core-select.mjs +16 -14
- package/fesm2022/lucca-front-ng-core-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-core.mjs +72 -22
- package/fesm2022/lucca-front-ng-core.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-empty-state.mjs +4 -4
- package/fesm2022/lucca-front-ng-empty-state.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-establishment.mjs +32 -39
- package/fesm2022/lucca-front-ng-establishment.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-form-field.mjs +10 -9
- package/fesm2022/lucca-front-ng-form-field.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-icon.mjs +2 -2
- package/fesm2022/lucca-front-ng-icon.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-inline-message.mjs +6 -7
- package/fesm2022/lucca-front-ng-inline-message.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-multi-select.mjs +26 -31
- package/fesm2022/lucca-front-ng-multi-select.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-numeric-badge.mjs +6 -7
- package/fesm2022/lucca-front-ng-numeric-badge.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-option.mjs +4 -4
- package/fesm2022/lucca-front-ng-option.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select-api.mjs +13 -146
- package/fesm2022/lucca-front-ng-simple-select-api.mjs.map +1 -1
- package/fesm2022/lucca-front-ng-simple-select.mjs +40 -32
- package/fesm2022/lucca-front-ng-simple-select.mjs.map +1 -1
- package/form-field/form-field.component.d.ts +1 -2
- package/inline-message/inline-message.component.d.ts +1 -2
- package/multi-select/input/panel-ref.factory.d.ts +2 -2
- package/multi-select/panel/panel.component.d.ts +5 -5
- package/multi-select/select.model.d.ts +3 -12
- package/numeric-badge/numeric-badge.component.d.ts +1 -2
- package/package.json +26 -20
- package/simple-select/api/api-v3.directive.d.ts +5 -25
- package/simple-select/api/api-v4.directive.d.ts +5 -22
- package/simple-select/api/api.directive.d.ts +5 -32
- package/simple-select/input/panel-ref.factory.d.ts +2 -2
- package/simple-select/panel/option-selected.pipe.d.ts +7 -0
- package/simple-select/panel/panel.component.d.ts +5 -5
- package/simple-select/select.model.d.ts +3 -12
- package/src/definitions/option/_option-item.scss +1 -0
- package/core/tools/ng-clazz.directive.d.ts +0 -9
- package/esm2022/core/tools/ng-clazz.directive.mjs +0 -26
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { OnChanges } from '@angular/core';
|
|
2
2
|
import { Palette } from '@lucca-front/ng/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@lucca-front/ng/core";
|
|
5
4
|
export declare class ButtonComponent implements OnChanges {
|
|
6
5
|
#private;
|
|
7
6
|
size: 'M' | 'S' | 'XS';
|
|
@@ -15,6 +14,6 @@ export declare class ButtonComponent implements OnChanges {
|
|
|
15
14
|
luButton: '' | 'outlined' | 'text' | 'text-invert';
|
|
16
15
|
ngOnChanges(): void;
|
|
17
16
|
static ɵfac: i0.ɵɵFactoryDeclaration<ButtonComponent, never>;
|
|
18
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "button[luButton],a[luButton]", never, { "size": { "alias": "size"; "required": false; }; "block": { "alias": "block"; "required": false; }; "palette": { "alias": "palette"; "required": false; }; "state": { "alias": "state"; "required": false; }; "luButton": { "alias": "luButton"; "required": false; }; }, {}, never, ["*"], true,
|
|
17
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<ButtonComponent, "button[luButton],a[luButton]", never, { "size": { "alias": "size"; "required": false; }; "block": { "alias": "block"; "required": false; }; "palette": { "alias": "palette"; "required": false; }; "state": { "alias": "state"; "required": false; }; "luButton": { "alias": "luButton"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
19
18
|
static ngAcceptInputType_block: unknown;
|
|
20
19
|
}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
import { OnChanges } from '@angular/core';
|
|
2
2
|
import { Palette } from '@lucca-front/ng/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@lucca-front/ng/core";
|
|
5
4
|
export declare class CalloutFeedbackListComponent implements OnChanges {
|
|
6
5
|
#private;
|
|
7
6
|
palette: Palette;
|
|
8
7
|
size: 'M' | 'S';
|
|
9
8
|
ngOnChanges(): void;
|
|
10
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<CalloutFeedbackListComponent, never>;
|
|
11
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<CalloutFeedbackListComponent, "ul[lu-callout-feedback-list]", never, { "palette": { "alias": "palette"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, ["*"], true,
|
|
10
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<CalloutFeedbackListComponent, "ul[lu-callout-feedback-list]", never, { "palette": { "alias": "palette"; "required": false; }; "size": { "alias": "size"; "required": false; }; }, {}, never, ["*"], true, never>;
|
|
12
11
|
}
|
package/core/public-api.d.ts
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
type LuClassSupportedTypes = string | string[] | Set<string> | {
|
|
3
|
+
[klass: string]: boolean;
|
|
4
|
+
};
|
|
5
|
+
export declare class LuClass {
|
|
6
|
+
#private;
|
|
7
|
+
setState(value: LuClassSupportedTypes): void;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LuClass, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<LuClass>;
|
|
10
|
+
}
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { ILuApiItem } from '@lucca-front/ng/api';
|
|
3
|
+
import { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';
|
|
4
|
+
import { ALuCoreSelectApiDirective } from './api.directive';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class LuCoreSelectApiV3Directive<T extends ILuApiItem> extends ALuCoreSelectApiDirective<T> {
|
|
7
|
+
set apiV3(value: string);
|
|
8
|
+
set fields(value: string);
|
|
9
|
+
set orderBy(value: string | null);
|
|
10
|
+
set filters(value: Record<string, string | number | boolean>);
|
|
11
|
+
protected url$: ReplaySubject<string>;
|
|
12
|
+
protected fields$: BehaviorSubject<string>;
|
|
13
|
+
protected orderBy$: BehaviorSubject<string>;
|
|
14
|
+
protected filters$: BehaviorSubject<Record<string, string | number | boolean>>;
|
|
15
|
+
protected httpClient: HttpClient;
|
|
16
|
+
protected params$: Observable<{
|
|
17
|
+
name?: string;
|
|
18
|
+
orderBy?: string;
|
|
19
|
+
fields: string;
|
|
20
|
+
}>;
|
|
21
|
+
protected getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]>;
|
|
22
|
+
protected optionComparer: (a: T, b: T) => boolean;
|
|
23
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LuCoreSelectApiV3Directive<any>, never>;
|
|
24
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<LuCoreSelectApiV3Directive<any>, "lu-simple-select[apiV3],lu-multi-select[apiV3]", never, { "apiV3": { "alias": "apiV3"; "required": false; }; "fields": { "alias": "fields"; "required": false; }; "orderBy": { "alias": "orderBy"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; }, {}, never, never, true, never>;
|
|
25
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { ILuApiItem } from '@lucca-front/ng/api';
|
|
3
|
+
import { BehaviorSubject, Observable, ReplaySubject } from 'rxjs';
|
|
4
|
+
import { ALuCoreSelectApiDirective } from './api.directive';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export declare class LuCoreSelectApiV4Directive<T extends ILuApiItem> extends ALuCoreSelectApiDirective<T> {
|
|
7
|
+
set apiV4(value: string);
|
|
8
|
+
set sort(value: string | null);
|
|
9
|
+
set filters(value: Record<string, string | number | boolean>);
|
|
10
|
+
protected url$: ReplaySubject<string>;
|
|
11
|
+
protected sort$: BehaviorSubject<string>;
|
|
12
|
+
protected filters$: BehaviorSubject<Record<string, string | number | boolean>>;
|
|
13
|
+
protected httpClient: HttpClient;
|
|
14
|
+
protected params$: Observable<{
|
|
15
|
+
search?: string;
|
|
16
|
+
sort?: string;
|
|
17
|
+
}>;
|
|
18
|
+
protected getOptions(params: Record<string, string | number | boolean>, page: number): Observable<T[]>;
|
|
19
|
+
protected optionComparer: (a: T, b: T) => boolean;
|
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LuCoreSelectApiV4Directive<any>, never>;
|
|
21
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<LuCoreSelectApiV4Directive<any>, "lu-simple-select[apiV4],lu-multi-select[apiV4]", never, { "apiV4": { "alias": "apiV4"; "required": false; }; "sort": { "alias": "sort"; "required": false; }; "filters": { "alias": "filters"; "required": false; }; }, {}, never, never, true, never>;
|
|
22
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { OnDestroy, OnInit } from '@angular/core';
|
|
2
|
+
import { ALuSelectInputComponent } from '@lucca-front/ng/core-select';
|
|
3
|
+
import { Observable, Subject } from 'rxjs';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare const MAGIC_PAGE_SIZE = 20;
|
|
6
|
+
export declare const MAGIC_DEBOUNCE_DURATION = 250;
|
|
7
|
+
export declare abstract class ALuCoreSelectApiDirective<TOption, TParams = Record<string, string | number | boolean>> implements OnDestroy, OnInit {
|
|
8
|
+
protected destroy$: Subject<void>;
|
|
9
|
+
protected pageSize: number;
|
|
10
|
+
protected debounceDuration: number;
|
|
11
|
+
protected select: ALuSelectInputComponent<TOption, unknown>;
|
|
12
|
+
protected page$: Observable<number>;
|
|
13
|
+
protected clue$: Observable<string>;
|
|
14
|
+
/**
|
|
15
|
+
* Create an object that will be used as params for the api call
|
|
16
|
+
*/
|
|
17
|
+
protected abstract params$: Observable<TParams>;
|
|
18
|
+
/**
|
|
19
|
+
* Compare two options to know if they are the same. For example, compare by id or by JSON
|
|
20
|
+
*/
|
|
21
|
+
protected abstract optionComparer: (a: TOption, b: TOption) => boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Return the options for the given params and page
|
|
24
|
+
*/
|
|
25
|
+
protected abstract getOptions(params: TParams, page: number): Observable<TOption[]>;
|
|
26
|
+
ngOnInit(): void;
|
|
27
|
+
protected buildOptions(): Observable<TOption[]>;
|
|
28
|
+
ngOnDestroy(): void;
|
|
29
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ALuCoreSelectApiDirective<any, any>, never>;
|
|
30
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ALuCoreSelectApiDirective<any, any>, never, never, {}, {}, never, never, false, never>;
|
|
31
|
+
}
|
|
@@ -34,9 +34,9 @@ export declare abstract class ALuSelectInputComponent<TOption, TValue> implement
|
|
|
34
34
|
clueChanged(clue: string): void;
|
|
35
35
|
protected _value?: TValue;
|
|
36
36
|
options$: ReplaySubject<TOption[]>;
|
|
37
|
-
loading$:
|
|
37
|
+
loading$: BehaviorSubject<boolean>;
|
|
38
38
|
clue: string | null;
|
|
39
|
-
|
|
39
|
+
lastEmittedClue: string;
|
|
40
40
|
protected onChange?: (value: TValue | null) => void;
|
|
41
41
|
protected onTouched?: () => void;
|
|
42
42
|
get panelRef(): LuSelectPanelRef<TOption, TValue> | undefined;
|
|
@@ -54,7 +54,7 @@ export declare abstract class ALuSelectInputComponent<TOption, TValue> implement
|
|
|
54
54
|
ngOnDestroy(): void;
|
|
55
55
|
ngOnInit(): void;
|
|
56
56
|
clearValue(event: Event): void;
|
|
57
|
-
openPanel(): void;
|
|
57
|
+
openPanel(clue?: string): void;
|
|
58
58
|
protected abstract buildPanelRef(): this['panelRef'];
|
|
59
59
|
protected bindInputToPanelRefEvents(): void;
|
|
60
60
|
protected focusInput(): void;
|
|
@@ -3,6 +3,7 @@ import { AfterViewInit, ElementRef, OnDestroy, TemplateRef, Type } from '@angula
|
|
|
3
3
|
import { BehaviorSubject } from 'rxjs';
|
|
4
4
|
import { LuOptionContext } from '../select.model';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
|
+
export declare const MAGIC_OPTION_SCROLL_DELAY = 15;
|
|
6
7
|
export declare class LuOptionComponent<T> implements Highlightable, AfterViewInit, OnDestroy {
|
|
7
8
|
hasOptionItemClass: boolean;
|
|
8
9
|
optionTpl: TemplateRef<LuOptionContext<T>> | Type<unknown> | undefined;
|
|
@@ -1,16 +1,15 @@
|
|
|
1
1
|
import { booleanAttribute, ChangeDetectionStrategy, Component, inject, Input } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { LuClass } from '@lucca-front/ng/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@lucca-front/ng/core";
|
|
5
4
|
export class ButtonComponent {
|
|
6
5
|
constructor() {
|
|
7
|
-
this.#
|
|
6
|
+
this.#luClass = inject(LuClass);
|
|
8
7
|
this.block = false;
|
|
9
8
|
this.palette = 'none';
|
|
10
9
|
this.state = 'default';
|
|
11
10
|
this.luButton = '';
|
|
12
11
|
}
|
|
13
|
-
#
|
|
12
|
+
#luClass;
|
|
14
13
|
ngOnChanges() {
|
|
15
14
|
const ngClassConfig = {
|
|
16
15
|
[`mod-${this.size}`]: true,
|
|
@@ -27,14 +26,14 @@ export class ButtonComponent {
|
|
|
27
26
|
ngClassConfig[`mod-${this.luButton}`] = true;
|
|
28
27
|
}
|
|
29
28
|
}
|
|
30
|
-
this.#
|
|
29
|
+
this.#luClass.setState(ngClassConfig);
|
|
31
30
|
}
|
|
32
31
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
33
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.2", type: ButtonComponent, isStandalone: true, selector: "button[luButton],a[luButton]", inputs: { size: "size", block: ["block", "block", booleanAttribute], palette: "palette", state: "state", luButton: "luButton" }, host: { classAttribute: "button" }, usesOnChanges: true, hostDirectives: [{ directive: i1.NgClazz }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".button{--components-button-margin: 0 var(--spacings-XS) 0 0;--components-button-font-size: var(--sizes-M-fontSize);--components-button-line-height: var(--sizes-M-lineHeight);--components-button-padding: var(--spacings-XS) var(--spacings-S);--components-button-gap: var(--spacings-XS);border-radius:var(--commons-borderRadius-M);font-family:inherit;font-size:var(--components-button-font-size);font-weight:600;line-height:var(--components-button-line-height);margin:var(--components-button-margin);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);transition-timing-function:ease;border:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--components-button-gap);position:relative;text-decoration:none;vertical-align:middle;white-space:nowrap;text-align:center;background-color:var(--palettes-700, var(--palettes-primary-700));color:var(--palettes-text, var(--palettes-primary-text));cursor:pointer;--icon-size: 1.5rem}.button:last-of-type{margin-right:0}.button:not([disabled],.is-disabled):hover{background-color:var(--palettes-600, var(--palettes-primary-600));color:var(--palettes-text, var(--palettes-primary-text))}.button:not([disabled],.is-disabled):focus-visible{outline:2px solid var(--palettes-primary-700);outline-offset:2px}.button:not([disabled],.is-disabled):active{background-color:var(--palettes-800, var(--palettes-primary-800))}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined) .numericBadge{--components-numericBadge-background: var(--palettes-primary-200);--components-numericBadge-color: var(--palettes-primary-800)}.button.mod-outline:not([disabled],.is-disabled),.button.mod-outlined:not([disabled],.is-disabled){color:var(--palettes-700, var(--palettes-grey-700));box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-400, var(--palettes-grey-400));background-color:var(--colors-white-color)}.button.mod-outline:not([disabled],.is-disabled):hover,.button.mod-outlined:not([disabled],.is-disabled):hover{background-color:var(--palettes-100, var(--palettes-grey-100))}.button.mod-outline:not([disabled],.is-disabled):active,.button.mod-outlined:not([disabled],.is-disabled):active{background-color:var(--palettes-200, var(--palettes-grey-200))}.button.mod-outline:not([disabled],.is-disabled):focus-visible,.button.mod-outlined:not([disabled],.is-disabled):focus-visible{outline:2px solid var(--palettes-primary-700);outline-offset:3px}.button.mod-outline .button-counter,.button.mod-outlined .button-counter{background-color:var(--palettes-300, var(--palettes-grey-300));color:var(--palettes-800, var(--palettes-grey-800))}.button.mod-text,.button.mod-link{background-color:transparent;color:var(--palettes-700, var(--palettes-grey-700))}.button.mod-text:not([disabled],.is-disabled):hover,.button.mod-link:not([disabled],.is-disabled):hover{background-color:var(--palettes-100, var(--palettes-grey-100));color:var(--palettes-700, var(--palettes-grey-700))}.button.mod-text:not([disabled],.is-disabled):active,.button.mod-link:not([disabled],.is-disabled):active{background-color:var(--palettes-200, var(--palettes-grey-200))}.button.mod-text:focus-visible,.button.mod-link:focus-visible{background-color:var(--palettes-100, var(--palettes-grey-100))}.button.mod-block{width:100%}.button.mod-S{--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: .375rem .75rem;--components-button-gap: .375rem;--icon-size: 1.25rem}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.button.mod-XS{--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--spacings-XXS) var(--spacings-XS);--components-button-gap: var(--spacings-XXS);--icon-size: 1rem}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.button.mod-counter{--components-button-padding: var(--spacings-XS) calc(var(--spacings-XS) + var(--spacings-XXS)) var(--spacings-XS) var(--spacings-S)}.button-counter{background-color:var(--palettes-600, var(--palettes-primary-600));border-radius:1rem;display:flex;font-size:var(--sizes-XS-fontSize);height:1.5rem;min-width:1.5rem;align-items:center;justify-content:center;transition:background-color var(--commons-animations-durations-fast) ease}.button.mod-counter:hover .button-counter{background-color:var(--palettes-500, var(--palettes-primary-500))}.button.mod-counter.mod-S{--components-button-padding: .375rem calc(var(--spacings-XS) + var(--spacings-XXS)) .375rem var(--spacings-S)}.button.mod-counter.mod-S .button-counter{height:1.25rem;min-width:1.25rem}.button.mod-counter.mod-XS{--components-button-padding: var(--spacings-XXS) var(--spacings-XS) var(--spacings-XXS) calc(var(--spacings-XS) + var(--spacings-XXS))}.button.mod-counter.mod-XS .button-counter{height:1rem;min-width:1rem}.button.mod-icon,.button.mod-withIcon{--components-button-padding: var(--spacings-XS) calc(var(--spacings-XS) + var(--spacings-XXS))}.button.mod-icon.mod-S,.button.mod-withIcon.mod-S{--components-button-padding: calc(var(--spacings-XXS) + var(--spacings-XXS) / 2) calc(var(--spacings-XS) + var(--spacings-XXS))}.button.mod-icon.mod-XS,.button.mod-withIcon.mod-XS{--components-button-padding: var(--spacings-XXS) var(--spacings-XS)}.button.mod-onlyIcon{--components-button-padding: var(--spacings-XS)}.button.mod-onlyIcon.mod-S{--components-button-padding: .375rem}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--spacings-XXS)}.button.mod-delete:not([disabled],.is-disabled):hover{background-color:var(--palettes-error-100);color:var(--palettes-error-700)}.button.mod-delete:not([disabled],.is-disabled):active{background-color:var(--palettes-error-200);color:var(--palettes-error-700)}.button.mod-delete:not([disabled],.is-disabled).mod-outlined:hover{box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-error-400),var(--commons-boxShadow-XS)}.button.mod-delete:not([disabled],.is-disabled).mod-outlined:focus-visible{background-color:var(--palettes-error-100);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-error-400),var(--commons-boxShadow-XS);color:var(--palettes-error-700)}.button.mod-delete:not([disabled],.is-disabled).mod-outlined:active{background-color:var(--palettes-error-200);color:var(--palettes-error-700)}.button.mod-invert{color:var(--colors-white-color)}.button.mod-invert:not([disabled],.is-disabled):hover{background-color:#fff3}.button.mod-invert:not([disabled],.is-disabled):focus-visible{background-color:#fff3;color:var(--colors-white-color)}.button.mod-more{padding:0!important;text-align:center;min-width:2rem;border-top-right-radius:var(--commons-borderRadius-M);border-bottom-right-radius:var(--commons-borderRadius-M)}.button.mod-more:before{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;height:0;vertical-align:text-top}@supports (content: \"*\"/\"\"){.button.mod-more:before{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){.button.mod-more:before{content:\"\\e97c\"}}.button.mod-more.mod-S{min-width:1.75rem}.button:is(.loading,.is-loading){opacity:var(--commons-disabled-opacity)}.button:is(.loading,.is-loading):not(.mod-more){color:transparent!important;pointer-events:none;-webkit-user-select:none;user-select:none}.button:is(.loading,.is-loading):not(.mod-more):after{content:\"\";width:var(--components-button-font-size);height:var(--components-button-font-size);border-radius:var(--commons-borderRadius-full);line-height:.8rem;border-width:3px;inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-top-color:transparent}.button:is(.loading,.is-loading).mod-S:not(.mod-more):after{content:\"\";width:var(--sizes-S-fontSize);height:var(--sizes-S-fontSize);border-radius:var(--commons-borderRadius-full);line-height:.8rem;border-width:3px;inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-top-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button:is(.is-error,.error){--palettes-text: #ffffff;--palettes-50: #ffebec;--palettes-100: #ffd6d8;--palettes-200: #fdbebe;--palettes-300: #faa3a3;--palettes-400: #fa8989;--palettes-500: #f76e6e;--palettes-600: #f15050;--palettes-700: #da2f2f;--palettes-800: #aa0e0e;--palettes-900: #630303}.button:is(.is-error,.error):not(.mod-more){background-color:var(--palettes-700)!important;color:transparent!important;pointer-events:none;-webkit-user-select:none;user-select:none}.button:is(.is-error,.error):not(.mod-more):after{color:var(--colors-white-color);font-size:calc(1.5 * var(--components-button-font-size));height:var(--components-button-line-height);inset:0;margin:auto;position:absolute}.button:is(.is-error,.error):not(.mod-more):not([disabled],.is-disabled):hover{background-color:var(--palettes-600)}.button:is(.is-error,.error):not(.mod-more):not([disabled],.is-disabled):active{background-color:var(--palettes-800)}.button:is(.is-error,.error):not(.mod-more):after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons}@supports (content: \"*\"/\"\"){.button:is(.is-error,.error):not(.mod-more):after{content:\"\\e9bf\"/\"\"}}@supports not (content: \"*\"/\"\"){.button:is(.is-error,.error):not(.mod-more):after{content:\"\\e9bf\"}}.button:is(.is-success,.success){--palettes-text: #ffffff;--palettes-50: #dbfae0;--palettes-100: #bef3c7;--palettes-200: #a2ebaf;--palettes-300: #84e695;--palettes-400: #68d97b;--palettes-500: #57c769;--palettes-600: #39b155;--palettes-700: #279b42;--palettes-800: #0a762e;--palettes-900: #004d20}.button:is(.is-success,.success):not(.mod-more){background-color:var(--palettes-700)!important;color:transparent!important;pointer-events:none;-webkit-user-select:none;user-select:none}.button:is(.is-success,.success):not(.mod-more):after{color:var(--colors-white-color);font-size:calc(1.5 * var(--components-button-font-size));height:var(--components-button-line-height);inset:0;margin:auto;position:absolute}.button:is(.is-success,.success):not(.mod-more):not([disabled],.is-disabled):hover{background-color:var(--palettes-600)}.button:is(.is-success,.success):not(.mod-more):not([disabled],.is-disabled):active{background-color:var(--palettes-800)}.button:is(.is-success,.success):not(.mod-more):after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons}@supports (content: \"*\"/\"\"){.button:is(.is-success,.success):not(.mod-more):after{content:\"\\e97d\"/\"\"}}@supports not (content: \"*\"/\"\"){.button:is(.is-success,.success):not(.mod-more):after{content:\"\\e97d\"}}.button:is(.is-disabled,.disabled,[disabled]){background-color:var(--commons-disabled-background);color:var(--palettes-grey-500);cursor:default}.button:is(.is-disabled,.disabled,[disabled]) .numericBadge{background-color:var(--palettes-grey-200);color:var(--palettes-grey-500)}.button:is(.is-disabled,.disabled,[disabled]).mod-outlined,.button:is(.is-disabled,.disabled,[disabled]).mod-outline{background-color:var(--colors-white-color);box-shadow:0 0 0 1px var(--palettes-grey-400);color:var(--palettes-grey-500);cursor:default}.button:is(.is-disabled,.disabled,[disabled]).mod-text,.button:is(.is-disabled,.disabled,[disabled]).mod-link{color:var(--palettes-grey-500);background-color:transparent;cursor:default}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
32
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "17.0.2", type: ButtonComponent, isStandalone: true, selector: "button[luButton],a[luButton]", inputs: { size: "size", block: ["block", "block", booleanAttribute], palette: "palette", state: "state", luButton: "luButton" }, host: { classAttribute: "button" }, providers: [LuClass], usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".button{--components-button-margin: 0 var(--spacings-XS) 0 0;--components-button-font-size: var(--sizes-M-fontSize);--components-button-line-height: var(--sizes-M-lineHeight);--components-button-padding: var(--spacings-XS) var(--spacings-S);--components-button-gap: var(--spacings-XS);border-radius:var(--commons-borderRadius-M);font-family:inherit;font-size:var(--components-button-font-size);font-weight:600;line-height:var(--components-button-line-height);margin:var(--components-button-margin);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);transition-timing-function:ease;border:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--components-button-gap);position:relative;text-decoration:none;vertical-align:middle;white-space:nowrap;text-align:center;background-color:var(--palettes-700, var(--palettes-primary-700));color:var(--palettes-text, var(--palettes-primary-text));cursor:pointer;--icon-size: 1.5rem}.button:last-of-type{margin-right:0}.button:not([disabled],.is-disabled):hover{background-color:var(--palettes-600, var(--palettes-primary-600));color:var(--palettes-text, var(--palettes-primary-text))}.button:not([disabled],.is-disabled):focus-visible{outline:2px solid var(--palettes-primary-700);outline-offset:2px}.button:not([disabled],.is-disabled):active{background-color:var(--palettes-800, var(--palettes-primary-800))}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined) .numericBadge{--components-numericBadge-background: var(--palettes-primary-200);--components-numericBadge-color: var(--palettes-primary-800)}.button.mod-outline:not([disabled],.is-disabled),.button.mod-outlined:not([disabled],.is-disabled){color:var(--palettes-700, var(--palettes-grey-700));box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-400, var(--palettes-grey-400));background-color:var(--colors-white-color)}.button.mod-outline:not([disabled],.is-disabled):hover,.button.mod-outlined:not([disabled],.is-disabled):hover{background-color:var(--palettes-100, var(--palettes-grey-100))}.button.mod-outline:not([disabled],.is-disabled):active,.button.mod-outlined:not([disabled],.is-disabled):active{background-color:var(--palettes-200, var(--palettes-grey-200))}.button.mod-outline:not([disabled],.is-disabled):focus-visible,.button.mod-outlined:not([disabled],.is-disabled):focus-visible{outline:2px solid var(--palettes-primary-700);outline-offset:3px}.button.mod-outline .button-counter,.button.mod-outlined .button-counter{background-color:var(--palettes-300, var(--palettes-grey-300));color:var(--palettes-800, var(--palettes-grey-800))}.button.mod-text,.button.mod-link{background-color:transparent;color:var(--palettes-700, var(--palettes-grey-700))}.button.mod-text:not([disabled],.is-disabled):hover,.button.mod-link:not([disabled],.is-disabled):hover{background-color:var(--palettes-100, var(--palettes-grey-100));color:var(--palettes-700, var(--palettes-grey-700))}.button.mod-text:not([disabled],.is-disabled):active,.button.mod-link:not([disabled],.is-disabled):active{background-color:var(--palettes-200, var(--palettes-grey-200))}.button.mod-text:focus-visible,.button.mod-link:focus-visible{background-color:var(--palettes-100, var(--palettes-grey-100))}.button.mod-block{width:100%}.button.mod-S{--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: .375rem .75rem;--components-button-gap: .375rem;--icon-size: 1.25rem}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.button.mod-XS{--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--spacings-XXS) var(--spacings-XS);--components-button-gap: var(--spacings-XXS);--icon-size: 1rem}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.button.mod-counter{--components-button-padding: var(--spacings-XS) calc(var(--spacings-XS) + var(--spacings-XXS)) var(--spacings-XS) var(--spacings-S)}.button-counter{background-color:var(--palettes-600, var(--palettes-primary-600));border-radius:1rem;display:flex;font-size:var(--sizes-XS-fontSize);height:1.5rem;min-width:1.5rem;align-items:center;justify-content:center;transition:background-color var(--commons-animations-durations-fast) ease}.button.mod-counter:hover .button-counter{background-color:var(--palettes-500, var(--palettes-primary-500))}.button.mod-counter.mod-S{--components-button-padding: .375rem calc(var(--spacings-XS) + var(--spacings-XXS)) .375rem var(--spacings-S)}.button.mod-counter.mod-S .button-counter{height:1.25rem;min-width:1.25rem}.button.mod-counter.mod-XS{--components-button-padding: var(--spacings-XXS) var(--spacings-XS) var(--spacings-XXS) calc(var(--spacings-XS) + var(--spacings-XXS))}.button.mod-counter.mod-XS .button-counter{height:1rem;min-width:1rem}.button.mod-icon,.button.mod-withIcon{--components-button-padding: var(--spacings-XS) calc(var(--spacings-XS) + var(--spacings-XXS))}.button.mod-icon.mod-S,.button.mod-withIcon.mod-S{--components-button-padding: calc(var(--spacings-XXS) + var(--spacings-XXS) / 2) calc(var(--spacings-XS) + var(--spacings-XXS))}.button.mod-icon.mod-XS,.button.mod-withIcon.mod-XS{--components-button-padding: var(--spacings-XXS) var(--spacings-XS)}.button.mod-onlyIcon{--components-button-padding: var(--spacings-XS)}.button.mod-onlyIcon.mod-S{--components-button-padding: .375rem}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--spacings-XXS)}.button.mod-delete:not([disabled],.is-disabled):hover{background-color:var(--palettes-error-100);color:var(--palettes-error-700)}.button.mod-delete:not([disabled],.is-disabled):active{background-color:var(--palettes-error-200);color:var(--palettes-error-700)}.button.mod-delete:not([disabled],.is-disabled).mod-outlined:hover{box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-error-400),var(--commons-boxShadow-XS)}.button.mod-delete:not([disabled],.is-disabled).mod-outlined:focus-visible{background-color:var(--palettes-error-100);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-error-400),var(--commons-boxShadow-XS);color:var(--palettes-error-700)}.button.mod-delete:not([disabled],.is-disabled).mod-outlined:active{background-color:var(--palettes-error-200);color:var(--palettes-error-700)}.button.mod-invert{color:var(--colors-white-color)}.button.mod-invert:not([disabled],.is-disabled):hover{background-color:#fff3}.button.mod-invert:not([disabled],.is-disabled):focus-visible{background-color:#fff3;color:var(--colors-white-color)}.button.mod-more{padding:0!important;text-align:center;min-width:2rem;border-top-right-radius:var(--commons-borderRadius-M);border-bottom-right-radius:var(--commons-borderRadius-M)}.button.mod-more:before{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;height:0;vertical-align:text-top}@supports (content: \"*\"/\"\"){.button.mod-more:before{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){.button.mod-more:before{content:\"\\e97c\"}}.button.mod-more.mod-S{min-width:1.75rem}.button:is(.loading,.is-loading){opacity:var(--commons-disabled-opacity)}.button:is(.loading,.is-loading):not(.mod-more){color:transparent!important;pointer-events:none;-webkit-user-select:none;user-select:none}.button:is(.loading,.is-loading):not(.mod-more):after{content:\"\";width:var(--components-button-font-size);height:var(--components-button-font-size);border-radius:var(--commons-borderRadius-full);line-height:.8rem;border-width:3px;inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-top-color:transparent}.button:is(.loading,.is-loading).mod-S:not(.mod-more):after{content:\"\";width:var(--sizes-S-fontSize);height:var(--sizes-S-fontSize);border-radius:var(--commons-borderRadius-full);line-height:.8rem;border-width:3px;inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-top-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button:is(.is-error,.error){--palettes-text: #ffffff;--palettes-50: #ffebec;--palettes-100: #ffd6d8;--palettes-200: #fdbebe;--palettes-300: #faa3a3;--palettes-400: #fa8989;--palettes-500: #f76e6e;--palettes-600: #f15050;--palettes-700: #da2f2f;--palettes-800: #aa0e0e;--palettes-900: #630303}.button:is(.is-error,.error):not(.mod-more){background-color:var(--palettes-700)!important;color:transparent!important;pointer-events:none;-webkit-user-select:none;user-select:none}.button:is(.is-error,.error):not(.mod-more):after{color:var(--colors-white-color);font-size:calc(1.5 * var(--components-button-font-size));height:var(--components-button-line-height);inset:0;margin:auto;position:absolute}.button:is(.is-error,.error):not(.mod-more):not([disabled],.is-disabled):hover{background-color:var(--palettes-600)}.button:is(.is-error,.error):not(.mod-more):not([disabled],.is-disabled):active{background-color:var(--palettes-800)}.button:is(.is-error,.error):not(.mod-more):after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons}@supports (content: \"*\"/\"\"){.button:is(.is-error,.error):not(.mod-more):after{content:\"\\e9bf\"/\"\"}}@supports not (content: \"*\"/\"\"){.button:is(.is-error,.error):not(.mod-more):after{content:\"\\e9bf\"}}.button:is(.is-success,.success){--palettes-text: #ffffff;--palettes-50: #dbfae0;--palettes-100: #bef3c7;--palettes-200: #a2ebaf;--palettes-300: #84e695;--palettes-400: #68d97b;--palettes-500: #57c769;--palettes-600: #39b155;--palettes-700: #279b42;--palettes-800: #0a762e;--palettes-900: #004d20}.button:is(.is-success,.success):not(.mod-more){background-color:var(--palettes-700)!important;color:transparent!important;pointer-events:none;-webkit-user-select:none;user-select:none}.button:is(.is-success,.success):not(.mod-more):after{color:var(--colors-white-color);font-size:calc(1.5 * var(--components-button-font-size));height:var(--components-button-line-height);inset:0;margin:auto;position:absolute}.button:is(.is-success,.success):not(.mod-more):not([disabled],.is-disabled):hover{background-color:var(--palettes-600)}.button:is(.is-success,.success):not(.mod-more):not([disabled],.is-disabled):active{background-color:var(--palettes-800)}.button:is(.is-success,.success):not(.mod-more):after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons}@supports (content: \"*\"/\"\"){.button:is(.is-success,.success):not(.mod-more):after{content:\"\\e97d\"/\"\"}}@supports not (content: \"*\"/\"\"){.button:is(.is-success,.success):not(.mod-more):after{content:\"\\e97d\"}}.button:is(.is-disabled,.disabled,[disabled]){background-color:var(--commons-disabled-background);color:var(--palettes-grey-500);cursor:default}.button:is(.is-disabled,.disabled,[disabled]) .numericBadge{background-color:var(--palettes-grey-200);color:var(--palettes-grey-500)}.button:is(.is-disabled,.disabled,[disabled]).mod-outlined,.button:is(.is-disabled,.disabled,[disabled]).mod-outline{background-color:var(--colors-white-color);box-shadow:0 0 0 1px var(--palettes-grey-400);color:var(--palettes-grey-500);cursor:default}.button:is(.is-disabled,.disabled,[disabled]).mod-text,.button:is(.is-disabled,.disabled,[disabled]).mod-link{color:var(--palettes-grey-500);background-color:transparent;cursor:default}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
34
33
|
}
|
|
35
34
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
36
35
|
type: Component,
|
|
37
|
-
args: [{ selector: 'button[luButton],a[luButton]', standalone: true,
|
|
36
|
+
args: [{ selector: 'button[luButton],a[luButton]', standalone: true, providers: [LuClass], template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
38
37
|
class: 'button',
|
|
39
38
|
}, styles: [".button{--components-button-margin: 0 var(--spacings-XS) 0 0;--components-button-font-size: var(--sizes-M-fontSize);--components-button-line-height: var(--sizes-M-lineHeight);--components-button-padding: var(--spacings-XS) var(--spacings-S);--components-button-gap: var(--spacings-XS);border-radius:var(--commons-borderRadius-M);font-family:inherit;font-size:var(--components-button-font-size);font-weight:600;line-height:var(--components-button-line-height);margin:var(--components-button-margin);padding:var(--components-button-padding);transition-property:background-color,color,border-color,box-shadow;transition-duration:var(--commons-animations-durations-fast);transition-timing-function:ease;border:0;display:inline-flex;align-items:center;justify-content:center;gap:var(--components-button-gap);position:relative;text-decoration:none;vertical-align:middle;white-space:nowrap;text-align:center;background-color:var(--palettes-700, var(--palettes-primary-700));color:var(--palettes-text, var(--palettes-primary-text));cursor:pointer;--icon-size: 1.5rem}.button:last-of-type{margin-right:0}.button:not([disabled],.is-disabled):hover{background-color:var(--palettes-600, var(--palettes-primary-600));color:var(--palettes-text, var(--palettes-primary-text))}.button:not([disabled],.is-disabled):focus-visible{outline:2px solid var(--palettes-primary-700);outline-offset:2px}.button:not([disabled],.is-disabled):active{background-color:var(--palettes-800, var(--palettes-primary-800))}.button .button-icon{--icon-size: 1.5rem}.button:not(.mod-outlined) .numericBadge{--components-numericBadge-background: var(--palettes-primary-200);--components-numericBadge-color: var(--palettes-primary-800)}.button.mod-outline:not([disabled],.is-disabled),.button.mod-outlined:not([disabled],.is-disabled){color:var(--palettes-700, var(--palettes-grey-700));box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-400, var(--palettes-grey-400));background-color:var(--colors-white-color)}.button.mod-outline:not([disabled],.is-disabled):hover,.button.mod-outlined:not([disabled],.is-disabled):hover{background-color:var(--palettes-100, var(--palettes-grey-100))}.button.mod-outline:not([disabled],.is-disabled):active,.button.mod-outlined:not([disabled],.is-disabled):active{background-color:var(--palettes-200, var(--palettes-grey-200))}.button.mod-outline:not([disabled],.is-disabled):focus-visible,.button.mod-outlined:not([disabled],.is-disabled):focus-visible{outline:2px solid var(--palettes-primary-700);outline-offset:3px}.button.mod-outline .button-counter,.button.mod-outlined .button-counter{background-color:var(--palettes-300, var(--palettes-grey-300));color:var(--palettes-800, var(--palettes-grey-800))}.button.mod-text,.button.mod-link{background-color:transparent;color:var(--palettes-700, var(--palettes-grey-700))}.button.mod-text:not([disabled],.is-disabled):hover,.button.mod-link:not([disabled],.is-disabled):hover{background-color:var(--palettes-100, var(--palettes-grey-100));color:var(--palettes-700, var(--palettes-grey-700))}.button.mod-text:not([disabled],.is-disabled):active,.button.mod-link:not([disabled],.is-disabled):active{background-color:var(--palettes-200, var(--palettes-grey-200))}.button.mod-text:focus-visible,.button.mod-link:focus-visible{background-color:var(--palettes-100, var(--palettes-grey-100))}.button.mod-block{width:100%}.button.mod-S{--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: .375rem .75rem;--components-button-gap: .375rem;--icon-size: 1.25rem}.button.mod-S .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.button.mod-XS{--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--spacings-XXS) var(--spacings-XS);--components-button-gap: var(--spacings-XXS);--icon-size: 1rem}.button.mod-XS .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.button.mod-counter{--components-button-padding: var(--spacings-XS) calc(var(--spacings-XS) + var(--spacings-XXS)) var(--spacings-XS) var(--spacings-S)}.button-counter{background-color:var(--palettes-600, var(--palettes-primary-600));border-radius:1rem;display:flex;font-size:var(--sizes-XS-fontSize);height:1.5rem;min-width:1.5rem;align-items:center;justify-content:center;transition:background-color var(--commons-animations-durations-fast) ease}.button.mod-counter:hover .button-counter{background-color:var(--palettes-500, var(--palettes-primary-500))}.button.mod-counter.mod-S{--components-button-padding: .375rem calc(var(--spacings-XS) + var(--spacings-XXS)) .375rem var(--spacings-S)}.button.mod-counter.mod-S .button-counter{height:1.25rem;min-width:1.25rem}.button.mod-counter.mod-XS{--components-button-padding: var(--spacings-XXS) var(--spacings-XS) var(--spacings-XXS) calc(var(--spacings-XS) + var(--spacings-XXS))}.button.mod-counter.mod-XS .button-counter{height:1rem;min-width:1rem}.button.mod-icon,.button.mod-withIcon{--components-button-padding: var(--spacings-XS) calc(var(--spacings-XS) + var(--spacings-XXS))}.button.mod-icon.mod-S,.button.mod-withIcon.mod-S{--components-button-padding: calc(var(--spacings-XXS) + var(--spacings-XXS) / 2) calc(var(--spacings-XS) + var(--spacings-XXS))}.button.mod-icon.mod-XS,.button.mod-withIcon.mod-XS{--components-button-padding: var(--spacings-XXS) var(--spacings-XS)}.button.mod-onlyIcon{--components-button-padding: var(--spacings-XS)}.button.mod-onlyIcon.mod-S{--components-button-padding: .375rem}.button.mod-onlyIcon.mod-XS{--components-button-padding: var(--spacings-XXS)}.button.mod-delete:not([disabled],.is-disabled):hover{background-color:var(--palettes-error-100);color:var(--palettes-error-700)}.button.mod-delete:not([disabled],.is-disabled):active{background-color:var(--palettes-error-200);color:var(--palettes-error-700)}.button.mod-delete:not([disabled],.is-disabled).mod-outlined:hover{box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-error-400),var(--commons-boxShadow-XS)}.button.mod-delete:not([disabled],.is-disabled).mod-outlined:focus-visible{background-color:var(--palettes-error-100);box-shadow:0 0 0 var(--commons-divider-width) var(--palettes-error-400),var(--commons-boxShadow-XS);color:var(--palettes-error-700)}.button.mod-delete:not([disabled],.is-disabled).mod-outlined:active{background-color:var(--palettes-error-200);color:var(--palettes-error-700)}.button.mod-invert{color:var(--colors-white-color)}.button.mod-invert:not([disabled],.is-disabled):hover{background-color:#fff3}.button.mod-invert:not([disabled],.is-disabled):focus-visible{background-color:#fff3;color:var(--colors-white-color)}.button.mod-more{padding:0!important;text-align:center;min-width:2rem;border-top-right-radius:var(--commons-borderRadius-M);border-bottom-right-radius:var(--commons-borderRadius-M)}.button.mod-more:before{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons;height:0;vertical-align:text-top}@supports (content: \"*\"/\"\"){.button.mod-more:before{content:\"\\e97c\"/\"\"}}@supports not (content: \"*\"/\"\"){.button.mod-more:before{content:\"\\e97c\"}}.button.mod-more.mod-S{min-width:1.75rem}.button:is(.loading,.is-loading){opacity:var(--commons-disabled-opacity)}.button:is(.loading,.is-loading):not(.mod-more){color:transparent!important;pointer-events:none;-webkit-user-select:none;user-select:none}.button:is(.loading,.is-loading):not(.mod-more):after{content:\"\";width:var(--components-button-font-size);height:var(--components-button-font-size);border-radius:var(--commons-borderRadius-full);line-height:.8rem;border-width:3px;inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-top-color:transparent}.button:is(.loading,.is-loading).mod-S:not(.mod-more):after{content:\"\";width:var(--sizes-S-fontSize);height:var(--sizes-S-fontSize);border-radius:var(--commons-borderRadius-full);line-height:.8rem;border-width:3px;inset:0;margin:auto;position:absolute;border-style:solid;animation-name:rotate;animation-duration:var(--commons-loading-speed);animation-timing-function:linear;animation-iteration-count:infinite;border-color:var(--commons-loading-frontground);border-top-color:transparent}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button:is(.is-error,.error){--palettes-text: #ffffff;--palettes-50: #ffebec;--palettes-100: #ffd6d8;--palettes-200: #fdbebe;--palettes-300: #faa3a3;--palettes-400: #fa8989;--palettes-500: #f76e6e;--palettes-600: #f15050;--palettes-700: #da2f2f;--palettes-800: #aa0e0e;--palettes-900: #630303}.button:is(.is-error,.error):not(.mod-more){background-color:var(--palettes-700)!important;color:transparent!important;pointer-events:none;-webkit-user-select:none;user-select:none}.button:is(.is-error,.error):not(.mod-more):after{color:var(--colors-white-color);font-size:calc(1.5 * var(--components-button-font-size));height:var(--components-button-line-height);inset:0;margin:auto;position:absolute}.button:is(.is-error,.error):not(.mod-more):not([disabled],.is-disabled):hover{background-color:var(--palettes-600)}.button:is(.is-error,.error):not(.mod-more):not([disabled],.is-disabled):active{background-color:var(--palettes-800)}.button:is(.is-error,.error):not(.mod-more):after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons}@supports (content: \"*\"/\"\"){.button:is(.is-error,.error):not(.mod-more):after{content:\"\\e9bf\"/\"\"}}@supports not (content: \"*\"/\"\"){.button:is(.is-error,.error):not(.mod-more):after{content:\"\\e9bf\"}}.button:is(.is-success,.success){--palettes-text: #ffffff;--palettes-50: #dbfae0;--palettes-100: #bef3c7;--palettes-200: #a2ebaf;--palettes-300: #84e695;--palettes-400: #68d97b;--palettes-500: #57c769;--palettes-600: #39b155;--palettes-700: #279b42;--palettes-800: #0a762e;--palettes-900: #004d20}.button:is(.is-success,.success):not(.mod-more){background-color:var(--palettes-700)!important;color:transparent!important;pointer-events:none;-webkit-user-select:none;user-select:none}.button:is(.is-success,.success):not(.mod-more):after{color:var(--colors-white-color);font-size:calc(1.5 * var(--components-button-font-size));height:var(--components-button-line-height);inset:0;margin:auto;position:absolute}.button:is(.is-success,.success):not(.mod-more):not([disabled],.is-disabled):hover{background-color:var(--palettes-600)}.button:is(.is-success,.success):not(.mod-more):not([disabled],.is-disabled):active{background-color:var(--palettes-800)}.button:is(.is-success,.success):not(.mod-more):after{display:inline-block;vertical-align:text-bottom;font-style:normal;font-family:Lucca icons}@supports (content: \"*\"/\"\"){.button:is(.is-success,.success):not(.mod-more):after{content:\"\\e97d\"/\"\"}}@supports not (content: \"*\"/\"\"){.button:is(.is-success,.success):not(.mod-more):after{content:\"\\e97d\"}}.button:is(.is-disabled,.disabled,[disabled]){background-color:var(--commons-disabled-background);color:var(--palettes-grey-500);cursor:default}.button:is(.is-disabled,.disabled,[disabled]) .numericBadge{background-color:var(--palettes-grey-200);color:var(--palettes-grey-500)}.button:is(.is-disabled,.disabled,[disabled]).mod-outlined,.button:is(.is-disabled,.disabled,[disabled]).mod-outline{background-color:var(--colors-white-color);box-shadow:0 0 0 1px var(--palettes-grey-400);color:var(--palettes-grey-500);cursor:default}.button:is(.is-disabled,.disabled,[disabled]).mod-text,.button:is(.is-disabled,.disabled,[disabled]).mod-link{color:var(--palettes-grey-500);background-color:transparent;cursor:default}\n"] }]
|
|
40
39
|
}], propDecorators: { size: [{
|
|
@@ -56,4 +55,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImpor
|
|
|
56
55
|
luButton: [{
|
|
57
56
|
type: Input
|
|
58
57
|
}] } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUMvRyxPQUFPLEVBQUUsT0FBTyxFQUFXLE1BQU0sc0JBQXNCLENBQUM7O0FBY3hELE1BQU0sT0FBTyxlQUFlO0lBWjVCO1FBYUMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQVEzQixVQUFLLEdBQUcsS0FBSyxDQUFDO1FBR2QsWUFBTyxHQUFZLE1BQU0sQ0FBQztRQUcxQixVQUFLLEdBQWdELFNBQVMsQ0FBQztRQU8vRCxhQUFRLEdBQTZDLEVBQUUsQ0FBQztLQW1CeEQ7SUF4Q0EsUUFBUSxDQUFtQjtJQXVCM0IsV0FBVztRQUNWLE1BQU0sYUFBYSxHQUFHO1lBQ3JCLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsRUFBRSxJQUFJO1lBQzFCLENBQUMsV0FBVyxDQUFDLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDekIsQ0FBQyxXQUFXLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLElBQUk7WUFDakMsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLElBQUk7U0FDMUIsQ0FBQztRQUNGLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxFQUFFLEVBQUU7WUFDekIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLGFBQWEsRUFBRTtnQkFDcEMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQUksQ0FBQztnQkFDakMsYUFBYSxDQUFDLFlBQVksQ0FBQyxHQUFHLElBQUksQ0FBQzthQUNuQztpQkFBTTtnQkFDTixhQUFhLENBQUMsT0FBTyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7YUFDN0M7U0FDRDtRQUNELElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7OEdBeENXLGVBQWU7a0dBQWYsZUFBZSxrSEFPZixnQkFBZ0IsOEdBZmpCLENBQUMsT0FBTyxDQUFDLCtDQUNWLDJCQUEyQjs7MkZBT3pCLGVBQWU7a0JBWjNCLFNBQVM7K0JBRUMsOEJBQThCLGNBQzVCLElBQUksYUFDTCxDQUFDLE9BQU8sQ0FBQyxZQUNWLDJCQUEyQixtQkFFcEIsdUJBQXVCLENBQUMsTUFBTSxRQUN6Qzt3QkFDTCxLQUFLLEVBQUUsUUFBUTtxQkFDZjs4QkFNRCxJQUFJO3NCQURILEtBQUs7Z0JBTU4sS0FBSztzQkFISixLQUFLO3VCQUFDO3dCQUNOLFNBQVMsRUFBRSxnQkFBZ0I7cUJBQzNCO2dCQUlELE9BQU87c0JBRE4sS0FBSztnQkFJTixLQUFLO3NCQURKLEtBQUs7O1FBSU47OztXQUdHO1FBQ0gsUUFBUTtzQkFMUCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBMdUNsYXNzLCBQYWxldHRlIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2NvcmUnO1xuXG5AQ29tcG9uZW50KHtcblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3Jcblx0c2VsZWN0b3I6ICdidXR0b25bbHVCdXR0b25dLGFbbHVCdXR0b25dJyxcblx0c3RhbmRhbG9uZTogdHJ1ZSxcblx0cHJvdmlkZXJzOiBbTHVDbGFzc10sXG5cdHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG5cdHN0eWxlVXJsczogWycuL2J1dHRvbi5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aG9zdDoge1xuXHRcdGNsYXNzOiAnYnV0dG9uJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblx0I2x1Q2xhc3MgPSBpbmplY3QoTHVDbGFzcyk7XG5cblx0QElucHV0KClcblx0c2l6ZTogJ00nIHwgJ1MnIHwgJ1hTJztcblxuXHRASW5wdXQoe1xuXHRcdHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcblx0fSlcblx0YmxvY2sgPSBmYWxzZTtcblxuXHRASW5wdXQoKVxuXHRwYWxldHRlOiBQYWxldHRlID0gJ25vbmUnO1xuXG5cdEBJbnB1dCgpXG5cdHN0YXRlOiAnZGVmYXVsdCcgfCAnbG9hZGluZycgfCAnZXJyb3InIHwgJ3N1Y2Nlc3MnID0gJ2RlZmF1bHQnO1xuXG5cdEBJbnB1dCgpXG5cdC8qKlxuXHQgKiAnJyBpcyB0aGUgZGVmYXVsdCB2YWx1ZSB3aGVuIHlvdSBqdXN0IHNldCB0aGUgYGx1QnV0dG9uYCBkaXJlY3RpdmUgd2l0aG91dCBhIHZhbHVlIGF0dGFjaGVkIHRvIGl0LlxuXHQgKiBXZSBqdXN0IG1ha2UgdGhpcyBleHBsaWNpdCBoZXJlLlxuXHQgKi9cblx0bHVCdXR0b246ICcnIHwgJ291dGxpbmVkJyB8ICd0ZXh0JyB8ICd0ZXh0LWludmVydCcgPSAnJztcblxuXHRuZ09uQ2hhbmdlcygpOiB2b2lkIHtcblx0XHRjb25zdCBuZ0NsYXNzQ29uZmlnID0ge1xuXHRcdFx0W2Btb2QtJHt0aGlzLnNpemV9YF06IHRydWUsXG5cdFx0XHRbYG1vZC1ibG9ja2BdOiB0aGlzLmJsb2NrLFxuXHRcdFx0W2BwYWxldHRlLSR7dGhpcy5wYWxldHRlfWBdOiB0cnVlLFxuXHRcdFx0W2Bpcy0ke3RoaXMuc3RhdGV9YF06IHRydWUsXG5cdFx0fTtcblx0XHRpZiAodGhpcy5sdUJ1dHRvbiAhPT0gJycpIHtcblx0XHRcdGlmICh0aGlzLmx1QnV0dG9uID09PSAndGV4dC1pbnZlcnQnKSB7XG5cdFx0XHRcdG5nQ2xhc3NDb25maWdbJ21vZC10ZXh0J10gPSB0cnVlO1xuXHRcdFx0XHRuZ0NsYXNzQ29uZmlnWydtb2QtaW52ZXJ0J10gPSB0cnVlO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0bmdDbGFzc0NvbmZpZ1tgbW9kLSR7dGhpcy5sdUJ1dHRvbn1gXSA9IHRydWU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHRoaXMuI2x1Q2xhc3Muc2V0U3RhdGUobmdDbGFzc0NvbmZpZyk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
import { ChangeDetectionStrategy, Component, inject, Input, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { LuClass } from '@lucca-front/ng/core';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@lucca-front/ng/core";
|
|
5
4
|
export class CalloutFeedbackListComponent {
|
|
6
|
-
#
|
|
5
|
+
#luClass = inject(LuClass);
|
|
7
6
|
ngOnChanges() {
|
|
8
|
-
this.#
|
|
7
|
+
this.#luClass.setState([`palette-${this.palette}`, `mod-${this.size}`]);
|
|
9
8
|
}
|
|
10
9
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: CalloutFeedbackListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
11
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: CalloutFeedbackListComponent, isStandalone: true, selector: "ul[lu-callout-feedback-list]", inputs: { palette: "palette", size: "size" }, host: { classAttribute: "calloutFeedbackList" },
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.0.2", type: CalloutFeedbackListComponent, isStandalone: true, selector: "ul[lu-callout-feedback-list]", inputs: { palette: "palette", size: "size" }, host: { classAttribute: "calloutFeedbackList" }, providers: [LuClass], usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".calloutFeedbackList{margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;gap:var(--spacings-S)}.calloutFeedbackList-item{display:flex;flex-direction:column;gap:var(--spacings-XS)}.calloutFeedbackList-item-actions{display:inline-flex;gap:var(--spacings-XS)}.calloutFeedbackList-item-actions .button{--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: .375rem .75rem;--components-button-gap: .375rem;--icon-size: 1.25rem;margin:0}.calloutFeedbackList-item-actions .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.calloutFeedbackList.mod-S{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.calloutFeedbackList.mod-S .button{--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--spacings-XXS) var(--spacings-XS);--components-button-gap: var(--spacings-XXS);--icon-size: 1rem}.calloutFeedbackList.mod-S .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
12
11
|
}
|
|
13
12
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: CalloutFeedbackListComponent, decorators: [{
|
|
14
13
|
type: Component,
|
|
15
14
|
args: [{ selector: 'ul[lu-callout-feedback-list]', standalone: true, template: '<ng-content></ng-content>', changeDetection: ChangeDetectionStrategy.OnPush, host: {
|
|
16
15
|
class: 'calloutFeedbackList',
|
|
17
|
-
},
|
|
16
|
+
}, providers: [LuClass], encapsulation: ViewEncapsulation.None, styles: [".calloutFeedbackList{margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;gap:var(--spacings-S)}.calloutFeedbackList-item{display:flex;flex-direction:column;gap:var(--spacings-XS)}.calloutFeedbackList-item-actions{display:inline-flex;gap:var(--spacings-XS)}.calloutFeedbackList-item-actions .button{--components-button-font-size: var(--sizes-S-fontSize);--components-button-line-height: var(--sizes-S-lineHeight);--components-button-padding: .375rem .75rem;--components-button-gap: .375rem;--icon-size: 1.25rem;margin:0}.calloutFeedbackList-item-actions .button .numericBadge{--components-numericBadge-size: 1.25rem;--components-numericBadge-borderRadius: 6px;--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}.calloutFeedbackList.mod-S{font-size:var(--sizes-S-fontSize);line-height:var(--sizes-S-lineHeight)}.calloutFeedbackList.mod-S .button{--components-button-font-size: var(--sizes-XS-fontSize);--components-button-line-height: var(--sizes-XS-lineHeight);--components-button-padding: var(--spacings-XXS) var(--spacings-XS);--components-button-gap: var(--spacings-XXS);--icon-size: 1rem}.calloutFeedbackList.mod-S .button .numericBadge{--components-numericBadge-size: 1rem;--components-numericBadge-borderRadius: var(--commons-borderRadius-M);--components-numericBadge-fontSize: var(--sizes-XS-fontSize);--components-numericBadge-lineHeight: var(--sizes-XS-lineHeight)}\n"] }]
|
|
18
17
|
}], propDecorators: { palette: [{
|
|
19
18
|
type: Input
|
|
20
19
|
}], size: [{
|
|
21
20
|
type: Input
|
|
22
21
|
}] } });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FsbG91dC1mZWVkYmFjay1saXN0LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NhbGxvdXQvY2FsbG91dC1mZWVkYmFjay1saXN0L2NhbGxvdXQtZmVlZGJhY2stbGlzdC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHVCQUF1QixFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFhLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hILE9BQU8sRUFBRSxPQUFPLEVBQVcsTUFBTSxzQkFBc0IsQ0FBQzs7QUFleEQsTUFBTSxPQUFPLDRCQUE0QjtJQUN4QyxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBUTNCLFdBQVc7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztJQUN6RSxDQUFDOzhHQVhXLDRCQUE0QjtrR0FBNUIsNEJBQTRCLDBLQUg3QixDQUFDLE9BQU8sQ0FBQywrQ0FOViwyQkFBMkI7OzJGQVN6Qiw0QkFBNEI7a0JBYnhDLFNBQVM7K0JBRUMsOEJBQThCLGNBQzVCLElBQUksWUFDTiwyQkFBMkIsbUJBRXBCLHVCQUF1QixDQUFDLE1BQU0sUUFDekM7d0JBQ0wsS0FBSyxFQUFFLHFCQUFxQjtxQkFDNUIsYUFDVSxDQUFDLE9BQU8sQ0FBQyxpQkFDTCxpQkFBaUIsQ0FBQyxJQUFJOzhCQU1yQyxPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5qZWN0LCBJbnB1dCwgT25DaGFuZ2VzLCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTHVDbGFzcywgUGFsZXR0ZSB9IGZyb20gJ0BsdWNjYS1mcm9udC9uZy9jb3JlJztcblxuQENvbXBvbmVudCh7XG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvY29tcG9uZW50LXNlbGVjdG9yXG5cdHNlbGVjdG9yOiAndWxbbHUtY2FsbG91dC1mZWVkYmFjay1saXN0XScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG5cdHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG5cdHN0eWxlVXJsczogWycuL2NhbGxvdXQtZmVlZGJhY2stbGlzdC5jb21wb25lbnQuc2NzcyddLFxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcblx0aG9zdDoge1xuXHRcdGNsYXNzOiAnY2FsbG91dEZlZWRiYWNrTGlzdCcsXG5cdH0sXG5cdHByb3ZpZGVyczogW0x1Q2xhc3NdLFxuXHRlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBDYWxsb3V0RmVlZGJhY2tMaXN0Q29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcblx0I2x1Q2xhc3MgPSBpbmplY3QoTHVDbGFzcyk7XG5cblx0QElucHV0KClcblx0cGFsZXR0ZTogUGFsZXR0ZTtcblxuXHRASW5wdXQoKVxuXHRzaXplOiAnTScgfCAnUyc7XG5cblx0bmdPbkNoYW5nZXMoKTogdm9pZCB7XG5cdFx0dGhpcy4jbHVDbGFzcy5zZXRTdGF0ZShbYHBhbGV0dGUtJHt0aGlzLnBhbGV0dGV9YCwgYG1vZC0ke3RoaXMuc2l6ZX1gXSk7XG5cdH1cbn1cbiJdfQ==
|
|
@@ -6,5 +6,5 @@ export * from './group/index';
|
|
|
6
6
|
export * from './id/index';
|
|
7
7
|
export * from './portal/index';
|
|
8
8
|
export * from './type/index';
|
|
9
|
-
export * from './tools/
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
export * from './tools/class';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxjQUFjLENBQUM7QUFDN0IsY0FBYyxlQUFlLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2RhdGUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9ldmVudC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3RyYW5zbGF0ZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3RyZWUvaW5kZXgnO1xuZXhwb3J0ICogZnJvbSAnLi9ncm91cC9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL2lkL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vcG9ydGFsL2luZGV4JztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZS9pbmRleCc7XG5leHBvcnQgKiBmcm9tICcuL3Rvb2xzL2NsYXNzJztcbiJdfQ==
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ElementRef, inject, Injectable, Renderer2 } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class LuClass {
|
|
4
|
+
#elementRef = inject(ElementRef);
|
|
5
|
+
#renderer = inject(Renderer2);
|
|
6
|
+
#state = {};
|
|
7
|
+
#stateMap = new Map();
|
|
8
|
+
setState(value) {
|
|
9
|
+
this.#state = normalizeToRecord(value);
|
|
10
|
+
for (const [klass, enabled] of Object.entries(this.#state)) {
|
|
11
|
+
this.#updateState(klass, enabled);
|
|
12
|
+
}
|
|
13
|
+
this.#applyStateDiff();
|
|
14
|
+
}
|
|
15
|
+
#updateState(klass, nextEnabled) {
|
|
16
|
+
const state = this.#stateMap.get(klass);
|
|
17
|
+
if (state !== undefined) {
|
|
18
|
+
if (state.enabled !== nextEnabled) {
|
|
19
|
+
state.changed = true;
|
|
20
|
+
state.enabled = nextEnabled;
|
|
21
|
+
}
|
|
22
|
+
state.touched = true;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
this.#stateMap.set(klass, { enabled: nextEnabled, changed: true, touched: true });
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
#applyStateDiff() {
|
|
29
|
+
for (const stateEntry of this.#stateMap) {
|
|
30
|
+
const klass = stateEntry[0];
|
|
31
|
+
const state = stateEntry[1];
|
|
32
|
+
if (state.changed) {
|
|
33
|
+
this.#toggleClass(klass, state.enabled);
|
|
34
|
+
state.changed = false;
|
|
35
|
+
}
|
|
36
|
+
else if (!state.touched) {
|
|
37
|
+
// A class that was previously active got removed from the new collection of classes -
|
|
38
|
+
// remove from the DOM as well.
|
|
39
|
+
if (state.enabled) {
|
|
40
|
+
this.#toggleClass(klass, false);
|
|
41
|
+
}
|
|
42
|
+
this.#stateMap.delete(klass);
|
|
43
|
+
}
|
|
44
|
+
state.touched = false;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
#toggleClass(klass, enabled) {
|
|
48
|
+
if (enabled) {
|
|
49
|
+
this.#renderer.addClass(this.#elementRef.nativeElement, klass);
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.#renderer.removeClass(this.#elementRef.nativeElement, klass);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuClass, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
56
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuClass }); }
|
|
57
|
+
}
|
|
58
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuClass, decorators: [{
|
|
59
|
+
type: Injectable
|
|
60
|
+
}] });
|
|
61
|
+
function normalizeToRecord(obj) {
|
|
62
|
+
if (Array.isArray(obj) || obj instanceof Set) {
|
|
63
|
+
const result = {};
|
|
64
|
+
for (const item of obj) {
|
|
65
|
+
result[item] = true;
|
|
66
|
+
}
|
|
67
|
+
return result;
|
|
68
|
+
}
|
|
69
|
+
if (typeof obj === 'string') {
|
|
70
|
+
obj = obj.trim();
|
|
71
|
+
return obj ? { [obj]: true } : {};
|
|
72
|
+
}
|
|
73
|
+
return obj;
|
|
74
|
+
}
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9uZy9jb3JlL3Rvb2xzL2NsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVzFFLE1BQU0sT0FBTyxPQUFPO0lBQ25CLFdBQVcsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0lBQzFELFNBQVMsR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFOUIsTUFBTSxHQUE0QixFQUFFLENBQUM7SUFDckMsU0FBUyxHQUFHLElBQUksR0FBRyxFQUF5QixDQUFDO0lBRXRDLFFBQVEsQ0FBQyxLQUE0QjtRQUMzQyxJQUFJLENBQUMsTUFBTSxHQUFHLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRXZDLEtBQUssTUFBTSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNsQztRQUVELElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQWEsRUFBRSxXQUFvQjtRQUMvQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDeEIsSUFBSSxLQUFLLENBQUMsT0FBTyxLQUFLLFdBQVcsRUFBRTtnQkFDbEMsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLEtBQUssQ0FBQyxPQUFPLEdBQUcsV0FBVyxDQUFDO2FBQzVCO1lBQ0QsS0FBSyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7U0FDckI7YUFBTTtZQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUNsRjtJQUNGLENBQUM7SUFFRCxlQUFlO1FBQ2QsS0FBSyxNQUFNLFVBQVUsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3hDLE1BQU0sS0FBSyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM1QixNQUFNLEtBQUssR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFNUIsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ3hDLEtBQUssQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2FBQ3RCO2lCQUFNLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFO2dCQUMxQixzRkFBc0Y7Z0JBQ3RGLCtCQUErQjtnQkFDL0IsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFO29CQUNsQixJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDaEM7Z0JBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDN0I7WUFFRCxLQUFLLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztTQUN0QjtJQUNGLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBYSxFQUFFLE9BQWdCO1FBQzNDLElBQUksT0FBTyxFQUFFO1lBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDL0Q7YUFBTTtZQUNOLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1NBQ2xFO0lBQ0YsQ0FBQzs4R0F6RFcsT0FBTztrSEFBUCxPQUFPOzsyRkFBUCxPQUFPO2tCQURuQixVQUFVOztBQTZEWCxTQUFTLGlCQUFpQixDQUFDLEdBQTBCO0lBQ3BELElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxHQUFHLFlBQVksR0FBRyxFQUFFO1FBQzdDLE1BQU0sTUFBTSxHQUE0QixFQUFFLENBQUM7UUFFM0MsS0FBSyxNQUFNLElBQUksSUFBSSxHQUFHLEVBQUU7WUFDdkIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQztTQUNwQjtRQUVELE9BQU8sTUFBTSxDQUFDO0tBQ2Q7SUFFRCxJQUFJLE9BQU8sR0FBRyxLQUFLLFFBQVEsRUFBRTtRQUM1QixHQUFHLEdBQUcsR0FBRyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pCLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztLQUNsQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ1osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0YWJsZSwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbnR5cGUgTHVDbGFzc1N1cHBvcnRlZFR5cGVzID0gc3RyaW5nIHwgc3RyaW5nW10gfCBTZXQ8c3RyaW5nPiB8IHsgW2tsYXNzOiBzdHJpbmddOiBib29sZWFuIH07XG5cbmludGVyZmFjZSBDc3NDbGFzc1N0YXRlIHtcblx0ZW5hYmxlZDogYm9vbGVhbjtcblx0Y2hhbmdlZDogYm9vbGVhbjtcblx0dG91Y2hlZDogYm9vbGVhbjtcbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIEx1Q2xhc3Mge1xuXHQjZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cdCNyZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuXG5cdCNzdGF0ZTogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcblx0I3N0YXRlTWFwID0gbmV3IE1hcDxzdHJpbmcsIENzc0NsYXNzU3RhdGU+KCk7XG5cblx0cHVibGljIHNldFN0YXRlKHZhbHVlOiBMdUNsYXNzU3VwcG9ydGVkVHlwZXMpIHtcblx0XHR0aGlzLiNzdGF0ZSA9IG5vcm1hbGl6ZVRvUmVjb3JkKHZhbHVlKTtcblxuXHRcdGZvciAoY29uc3QgW2tsYXNzLCBlbmFibGVkXSBvZiBPYmplY3QuZW50cmllcyh0aGlzLiNzdGF0ZSkpIHtcblx0XHRcdHRoaXMuI3VwZGF0ZVN0YXRlKGtsYXNzLCBlbmFibGVkKTtcblx0XHR9XG5cblx0XHR0aGlzLiNhcHBseVN0YXRlRGlmZigpO1xuXHR9XG5cblx0I3VwZGF0ZVN0YXRlKGtsYXNzOiBzdHJpbmcsIG5leHRFbmFibGVkOiBib29sZWFuKSB7XG5cdFx0Y29uc3Qgc3RhdGUgPSB0aGlzLiNzdGF0ZU1hcC5nZXQoa2xhc3MpO1xuXHRcdGlmIChzdGF0ZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRpZiAoc3RhdGUuZW5hYmxlZCAhPT0gbmV4dEVuYWJsZWQpIHtcblx0XHRcdFx0c3RhdGUuY2hhbmdlZCA9IHRydWU7XG5cdFx0XHRcdHN0YXRlLmVuYWJsZWQgPSBuZXh0RW5hYmxlZDtcblx0XHRcdH1cblx0XHRcdHN0YXRlLnRvdWNoZWQgPSB0cnVlO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLiNzdGF0ZU1hcC5zZXQoa2xhc3MsIHsgZW5hYmxlZDogbmV4dEVuYWJsZWQsIGNoYW5nZWQ6IHRydWUsIHRvdWNoZWQ6IHRydWUgfSk7XG5cdFx0fVxuXHR9XG5cblx0I2FwcGx5U3RhdGVEaWZmKCkge1xuXHRcdGZvciAoY29uc3Qgc3RhdGVFbnRyeSBvZiB0aGlzLiNzdGF0ZU1hcCkge1xuXHRcdFx0Y29uc3Qga2xhc3MgPSBzdGF0ZUVudHJ5WzBdO1xuXHRcdFx0Y29uc3Qgc3RhdGUgPSBzdGF0ZUVudHJ5WzFdO1xuXG5cdFx0XHRpZiAoc3RhdGUuY2hhbmdlZCkge1xuXHRcdFx0XHR0aGlzLiN0b2dnbGVDbGFzcyhrbGFzcywgc3RhdGUuZW5hYmxlZCk7XG5cdFx0XHRcdHN0YXRlLmNoYW5nZWQgPSBmYWxzZTtcblx0XHRcdH0gZWxzZSBpZiAoIXN0YXRlLnRvdWNoZWQpIHtcblx0XHRcdFx0Ly8gQSBjbGFzcyB0aGF0IHdhcyBwcmV2aW91c2x5IGFjdGl2ZSBnb3QgcmVtb3ZlZCBmcm9tIHRoZSBuZXcgY29sbGVjdGlvbiBvZiBjbGFzc2VzIC1cblx0XHRcdFx0Ly8gcmVtb3ZlIGZyb20gdGhlIERPTSBhcyB3ZWxsLlxuXHRcdFx0XHRpZiAoc3RhdGUuZW5hYmxlZCkge1xuXHRcdFx0XHRcdHRoaXMuI3RvZ2dsZUNsYXNzKGtsYXNzLCBmYWxzZSk7XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy4jc3RhdGVNYXAuZGVsZXRlKGtsYXNzKTtcblx0XHRcdH1cblxuXHRcdFx0c3RhdGUudG91Y2hlZCA9IGZhbHNlO1xuXHRcdH1cblx0fVxuXG5cdCN0b2dnbGVDbGFzcyhrbGFzczogc3RyaW5nLCBlbmFibGVkOiBib29sZWFuKTogdm9pZCB7XG5cdFx0aWYgKGVuYWJsZWQpIHtcblx0XHRcdHRoaXMuI3JlbmRlcmVyLmFkZENsYXNzKHRoaXMuI2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwga2xhc3MpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLiNyZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLiNlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGtsYXNzKTtcblx0XHR9XG5cdH1cbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplVG9SZWNvcmQob2JqOiBMdUNsYXNzU3VwcG9ydGVkVHlwZXMpOiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiB7XG5cdGlmIChBcnJheS5pc0FycmF5KG9iaikgfHwgb2JqIGluc3RhbmNlb2YgU2V0KSB7XG5cdFx0Y29uc3QgcmVzdWx0OiBSZWNvcmQ8c3RyaW5nLCBib29sZWFuPiA9IHt9O1xuXG5cdFx0Zm9yIChjb25zdCBpdGVtIG9mIG9iaikge1xuXHRcdFx0cmVzdWx0W2l0ZW1dID0gdHJ1ZTtcblx0XHR9XG5cblx0XHRyZXR1cm4gcmVzdWx0O1xuXHR9XG5cblx0aWYgKHR5cGVvZiBvYmogPT09ICdzdHJpbmcnKSB7XG5cdFx0b2JqID0gb2JqLnRyaW0oKTtcblx0XHRyZXR1cm4gb2JqID8geyBbb2JqXTogdHJ1ZSB9IDoge307XG5cdH1cblxuXHRyZXR1cm4gb2JqO1xufVxuIl19
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { HttpClient } from '@angular/common/http';
|
|
2
|
+
import { Directive, inject, Input } from '@angular/core';
|
|
3
|
+
import { BehaviorSubject, combineLatest, map, ReplaySubject, switchMap, take } from 'rxjs';
|
|
4
|
+
import { ALuCoreSelectApiDirective } from './api.directive';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class LuCoreSelectApiV3Directive extends ALuCoreSelectApiDirective {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.url$ = new ReplaySubject(1);
|
|
10
|
+
this.fields$ = new BehaviorSubject('id,name');
|
|
11
|
+
this.orderBy$ = new BehaviorSubject('name,asc');
|
|
12
|
+
this.filters$ = new BehaviorSubject({});
|
|
13
|
+
this.httpClient = inject(HttpClient);
|
|
14
|
+
this.params$ = combineLatest([this.fields$, this.filters$, this.orderBy$, this.clue$]).pipe(map(([fields, filters, orderBy, clue]) => ({
|
|
15
|
+
...filters,
|
|
16
|
+
fields,
|
|
17
|
+
...(orderBy ? { orderBy } : {}),
|
|
18
|
+
...(clue ? { name: `like,${clue}` } : {}),
|
|
19
|
+
})));
|
|
20
|
+
this.optionComparer = (a, b) => a.id === b.id;
|
|
21
|
+
}
|
|
22
|
+
set apiV3(value) {
|
|
23
|
+
this.url$.next(value);
|
|
24
|
+
}
|
|
25
|
+
set fields(value) {
|
|
26
|
+
this.fields$.next(value);
|
|
27
|
+
}
|
|
28
|
+
set orderBy(value) {
|
|
29
|
+
this.orderBy$.next(value);
|
|
30
|
+
}
|
|
31
|
+
set filters(value) {
|
|
32
|
+
this.filters$.next(value);
|
|
33
|
+
}
|
|
34
|
+
getOptions(params, page) {
|
|
35
|
+
return this.url$.pipe(take(1), switchMap((url) => this.httpClient.get(url, {
|
|
36
|
+
params: {
|
|
37
|
+
...params,
|
|
38
|
+
paging: `${page * this.pageSize},${this.pageSize}`,
|
|
39
|
+
},
|
|
40
|
+
})), map((res) => res.data.items));
|
|
41
|
+
}
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuCoreSelectApiV3Directive, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
43
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.2", type: LuCoreSelectApiV3Directive, isStandalone: true, selector: "lu-simple-select[apiV3],lu-multi-select[apiV3]", inputs: { apiV3: "apiV3", fields: "fields", orderBy: "orderBy", filters: "filters" }, usesInheritance: true, ngImport: i0 }); }
|
|
44
|
+
}
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.2", ngImport: i0, type: LuCoreSelectApiV3Directive, decorators: [{
|
|
46
|
+
type: Directive,
|
|
47
|
+
args: [{
|
|
48
|
+
// The attribute is already prefixed with "lu-simple-select"
|
|
49
|
+
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
50
|
+
selector: 'lu-simple-select[apiV3],lu-multi-select[apiV3]',
|
|
51
|
+
standalone: true,
|
|
52
|
+
}]
|
|
53
|
+
}], propDecorators: { apiV3: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], fields: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], orderBy: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], filters: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}] } });
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLXYzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL25nL2NvcmUtc2VsZWN0L2FwaS9hcGktdjMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFjLGFBQWEsRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZHLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDOztBQVE1RCxNQUFNLE9BQU8sMEJBQWlELFNBQVEseUJBQTRCO0lBTmxHOztRQTJCVyxTQUFJLEdBQUcsSUFBSSxhQUFhLENBQVMsQ0FBQyxDQUFDLENBQUM7UUFDcEMsWUFBTyxHQUFHLElBQUksZUFBZSxDQUFTLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELGFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBZ0IsVUFBVSxDQUFDLENBQUM7UUFDMUQsYUFBUSxHQUFHLElBQUksZUFBZSxDQUE0QyxFQUFFLENBQUMsQ0FBQztRQUU5RSxlQUFVLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZCLFlBQU8sR0FBRyxhQUFhLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQ3hHLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDMUMsR0FBRyxPQUFPO1lBQ1YsTUFBTTtZQUNOLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMvQixHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxRQUFRLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztTQUN6QyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBaUJpQixtQkFBYyxHQUFHLENBQUMsQ0FBSSxFQUFFLENBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO0tBQ2xFO0lBcERBLElBQ1csS0FBSyxDQUFDLEtBQWE7UUFDN0IsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQ1csTUFBTSxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVELElBQ1csT0FBTyxDQUFDLEtBQW9CO1FBQ3RDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRCxJQUNXLE9BQU8sQ0FBQyxLQUFnRDtRQUNsRSxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQixDQUFDO0lBa0JrQixVQUFVLENBQUMsTUFBaUQsRUFBRSxJQUFZO1FBQzVGLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ3BCLElBQUksQ0FBQyxDQUFDLENBQUMsRUFDUCxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUNqQixJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBOEIsR0FBRyxFQUFFO1lBQ3JELE1BQU0sRUFBRTtnQkFDUCxHQUFHLE1BQU07Z0JBQ1QsTUFBTSxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTthQUNsRDtTQUNELENBQUMsQ0FDRixFQUNELEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDNUIsQ0FBQztJQUNILENBQUM7OEdBbERXLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQU50QyxTQUFTO21CQUFDO29CQUNWLDREQUE0RDtvQkFDNUQsOERBQThEO29CQUM5RCxRQUFRLEVBQUUsZ0RBQWdEO29CQUMxRCxVQUFVLEVBQUUsSUFBSTtpQkFDaEI7OEJBR1csS0FBSztzQkFEZixLQUFLO2dCQU1LLE1BQU07c0JBRGhCLEtBQUs7Z0JBTUssT0FBTztzQkFEakIsS0FBSztnQkFNSyxPQUFPO3NCQURqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSUx1QXBpQ29sbGVjdGlvblJlc3BvbnNlLCBJTHVBcGlJdGVtIH0gZnJvbSAnQGx1Y2NhLWZyb250L25nL2FwaSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIG1hcCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgc3dpdGNoTWFwLCB0YWtlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBTHVDb3JlU2VsZWN0QXBpRGlyZWN0aXZlIH0gZnJvbSAnLi9hcGkuZGlyZWN0aXZlJztcblxuQERpcmVjdGl2ZSh7XG5cdC8vIFRoZSBhdHRyaWJ1dGUgaXMgYWxyZWFkeSBwcmVmaXhlZCB3aXRoIFwibHUtc2ltcGxlLXNlbGVjdFwiXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAYW5ndWxhci1lc2xpbnQvZGlyZWN0aXZlLXNlbGVjdG9yXG5cdHNlbGVjdG9yOiAnbHUtc2ltcGxlLXNlbGVjdFthcGlWM10sbHUtbXVsdGktc2VsZWN0W2FwaVYzXScsXG5cdHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEx1Q29yZVNlbGVjdEFwaVYzRGlyZWN0aXZlPFQgZXh0ZW5kcyBJTHVBcGlJdGVtPiBleHRlbmRzIEFMdUNvcmVTZWxlY3RBcGlEaXJlY3RpdmU8VD4ge1xuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IGFwaVYzKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnVybCQubmV4dCh2YWx1ZSk7XG5cdH1cblxuXHRASW5wdXQoKVxuXHRwdWJsaWMgc2V0IGZpZWxkcyh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5maWVsZHMkLm5leHQodmFsdWUpO1xuXHR9XG5cblx0QElucHV0KClcblx0cHVibGljIHNldCBvcmRlckJ5KHZhbHVlOiBzdHJpbmcgfCBudWxsKSB7XG5cdFx0dGhpcy5vcmRlckJ5JC5uZXh0KHZhbHVlKTtcblx0fVxuXG5cdEBJbnB1dCgpXG5cdHB1YmxpYyBzZXQgZmlsdGVycyh2YWx1ZTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbj4pIHtcblx0XHR0aGlzLmZpbHRlcnMkLm5leHQodmFsdWUpO1xuXHR9XG5cblx0cHJvdGVjdGVkIHVybCQgPSBuZXcgUmVwbGF5U3ViamVjdDxzdHJpbmc+KDEpO1xuXHRwcm90ZWN0ZWQgZmllbGRzJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignaWQsbmFtZScpO1xuXHRwcm90ZWN0ZWQgb3JkZXJCeSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZyB8IG51bGw+KCduYW1lLGFzYycpO1xuXHRwcm90ZWN0ZWQgZmlsdGVycyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+Pih7fSk7XG5cblx0cHJvdGVjdGVkIGh0dHBDbGllbnQgPSBpbmplY3QoSHR0cENsaWVudCk7XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIHBhcmFtcyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmZpZWxkcyQsIHRoaXMuZmlsdGVycyQsIHRoaXMub3JkZXJCeSQsIHRoaXMuY2x1ZSRdKS5waXBlKFxuXHRcdG1hcCgoW2ZpZWxkcywgZmlsdGVycywgb3JkZXJCeSwgY2x1ZV0pID0+ICh7XG5cdFx0XHQuLi5maWx0ZXJzLFxuXHRcdFx0ZmllbGRzLFxuXHRcdFx0Li4uKG9yZGVyQnkgPyB7IG9yZGVyQnkgfSA6IHt9KSxcblx0XHRcdC4uLihjbHVlID8geyBuYW1lOiBgbGlrZSwke2NsdWV9YCB9IDoge30pLFxuXHRcdH0pKSxcblx0KTtcblxuXHRwcm90ZWN0ZWQgb3ZlcnJpZGUgZ2V0T3B0aW9ucyhwYXJhbXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4+LCBwYWdlOiBudW1iZXIpOiBPYnNlcnZhYmxlPFRbXT4ge1xuXHRcdHJldHVybiB0aGlzLnVybCQucGlwZShcblx0XHRcdHRha2UoMSksXG5cdFx0XHRzd2l0Y2hNYXAoKHVybCkgPT5cblx0XHRcdFx0dGhpcy5odHRwQ2xpZW50LmdldDxJTHVBcGlDb2xsZWN0aW9uUmVzcG9uc2U8VD4+KHVybCwge1xuXHRcdFx0XHRcdHBhcmFtczoge1xuXHRcdFx0XHRcdFx0Li4ucGFyYW1zLFxuXHRcdFx0XHRcdFx0cGFnaW5nOiBgJHtwYWdlICogdGhpcy5wYWdlU2l6ZX0sJHt0aGlzLnBhZ2VTaXplfWAsXG5cdFx0XHRcdFx0fSxcblx0XHRcdFx0fSksXG5cdFx0XHQpLFxuXHRcdFx0bWFwKChyZXMpID0+IHJlcy5kYXRhLml0ZW1zKSxcblx0XHQpO1xuXHR9XG5cblx0cHJvdGVjdGVkIG92ZXJyaWRlIG9wdGlvbkNvbXBhcmVyID0gKGE6IFQsIGI6IFQpID0+IGEuaWQgPT09IGIuaWQ7XG59XG4iXX0=
|