@design-system-rte/angular 0.7.1 → 0.10.1
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/esm2022/lib/components/badge/badge.component.mjs +43 -0
- package/esm2022/lib/components/badge/badge.directive.mjs +55 -0
- package/esm2022/lib/components/chip/chip.component.mjs +63 -0
- package/esm2022/lib/components/link/link.component.mjs +3 -3
- package/esm2022/lib/components/text-input/text-input.component.mjs +4 -3
- package/esm2022/lib/components/textarea/textarea.component.mjs +73 -0
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/design-system-rte-angular.mjs +221 -6
- package/fesm2022/design-system-rte-angular.mjs.map +1 -1
- package/lib/components/badge/badge.component.d.ts +18 -0
- package/lib/components/badge/badge.directive.d.ts +23 -0
- package/lib/components/chip/chip.component.d.ts +20 -0
- package/lib/components/text-input/text-input.component.d.ts +3 -2
- package/lib/components/textarea/textarea.component.d.ts +36 -0
- package/package.json +2 -2
- package/public-api.d.ts +3 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { CommonModule } from "@angular/common";
|
|
2
|
+
import { Component, input, computed, ChangeDetectionStrategy } from "@angular/core";
|
|
3
|
+
import { getBadgeIconSize, getDisplayCount, getShowBadge, getShowIcon, getShowText, } from "@design-system-rte/core/components/badge/badge.utils";
|
|
4
|
+
import { isValidIconName } from "../icon/icon-map";
|
|
5
|
+
import { IconComponent } from "../icon/icon.component";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
export class BadgeComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.badgeType = input("brand");
|
|
11
|
+
this.badgeSize = input("m");
|
|
12
|
+
this.badgeAppearance = input("text");
|
|
13
|
+
this.count = input();
|
|
14
|
+
this.icon = input("notification");
|
|
15
|
+
this.isValidIconName = computed(() => isValidIconName(this.icon()));
|
|
16
|
+
this.showIcon = computed(() => getShowIcon({
|
|
17
|
+
size: this.badgeSize(),
|
|
18
|
+
appearance: this.badgeAppearance(),
|
|
19
|
+
iconSize: this.iconSize(),
|
|
20
|
+
}));
|
|
21
|
+
this.showText = computed(() => getShowText({
|
|
22
|
+
size: this.badgeSize(),
|
|
23
|
+
appearance: this.badgeAppearance(),
|
|
24
|
+
count: this.count(),
|
|
25
|
+
}));
|
|
26
|
+
this.displayCount = computed(() => getDisplayCount(this.count()));
|
|
27
|
+
this.countOverflow = computed(() => this.showText() && this.displayCount().length > 2);
|
|
28
|
+
this.iconSize = computed(() => getBadgeIconSize(this.badgeSize()));
|
|
29
|
+
this.showBadge = computed(() => getShowBadge({
|
|
30
|
+
size: this.badgeSize(),
|
|
31
|
+
appearance: this.badgeAppearance(),
|
|
32
|
+
count: this.count(),
|
|
33
|
+
iconSize: this.iconSize(),
|
|
34
|
+
}));
|
|
35
|
+
}
|
|
36
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BadgeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: BadgeComponent, isStandalone: true, selector: "rte-badge", inputs: { badgeType: { classPropertyName: "badgeType", publicName: "badgeType", isSignal: true, isRequired: false, transformFunction: null }, badgeSize: { classPropertyName: "badgeSize", publicName: "badgeSize", isSignal: true, isRequired: false, transformFunction: null }, badgeAppearance: { classPropertyName: "badgeAppearance", publicName: "badgeAppearance", isSignal: true, isRequired: false, transformFunction: null }, count: { classPropertyName: "count", publicName: "count", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<div\n class=\"badge size-{{ badgeSize() }} type-{{ badgeType() }}\"\n data-testid=\"badge\"\n [ngClass]=\"{'hidden': !showBadge(), 'count-overflow': countOverflow()}\"\n>\n <rte-icon\n *ngIf=\"showIcon()\"\n class=\"badge-icon\"\n [name]=\"icon()\"\n [size]=\"iconSize()!\"\n />\n <p *ngIf=\"showText()\" class=\"badge-text\">\n {{displayCount()}}\n </p>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.badge{position:absolute;border-radius:999px;display:flex;align-items:center;justify-content:center;transition:opacity .15s ease-in-out;box-sizing:border-box}.badge.hidden{opacity:0}.badge.type-brand{box-shadow:0 2px 4px 0 var(--elevation-shadow-key-brand),0 0 2px 0 var(--elevation-shadow-ambient-brand);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);background-color:var(--background-brand-default);color:var(--content-primary-inverse)}.badge.type-neutral{box-shadow:0 2px 4px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);background-color:var(--background-neutral-regular-default);color:var(--content-secondary)}.badge.type-indicator{box-shadow:0 2px 4px 0 var(--elevation-shadow-key-brand),0 0 2px 0 var(--elevation-shadow-ambient-brand);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);background-color:var(--background-danger-default);color:var(--content-primary-inverse)}.badge.size-xs{width:6px;height:6px;box-shadow:none;top:0;right:0}.badge.size-s{width:12px;height:12px;top:-3px;right:-3px}.badge.size-m{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:12px;line-height:16px;letter-spacing:0px;min-width:16px;width:fit-content;height:16px;top:-4px;right:-4px;padding:0 2px}.badge.size-m.count-overflow{padding:0 4px}.badge.size-l{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:16px;line-height:24px;letter-spacing:0px;min-width:24px;width:fit-content;height:24px;top:-8px;right:-8px;padding:0 4px}.badge.size-l.count-overflow{padding:0 6px}.badge .badge-text{margin:0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
|
+
}
|
|
39
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BadgeComponent, decorators: [{
|
|
40
|
+
type: Component,
|
|
41
|
+
args: [{ selector: "rte-badge", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"badge size-{{ badgeSize() }} type-{{ badgeType() }}\"\n data-testid=\"badge\"\n [ngClass]=\"{'hidden': !showBadge(), 'count-overflow': countOverflow()}\"\n>\n <rte-icon\n *ngIf=\"showIcon()\"\n class=\"badge-icon\"\n [name]=\"icon()\"\n [size]=\"iconSize()!\"\n />\n <p *ngIf=\"showText()\" class=\"badge-text\">\n {{displayCount()}}\n </p>\n</div>\n", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.badge{position:absolute;border-radius:999px;display:flex;align-items:center;justify-content:center;transition:opacity .15s ease-in-out;box-sizing:border-box}.badge.hidden{opacity:0}.badge.type-brand{box-shadow:0 2px 4px 0 var(--elevation-shadow-key-brand),0 0 2px 0 var(--elevation-shadow-ambient-brand);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);background-color:var(--background-brand-default);color:var(--content-primary-inverse)}.badge.type-neutral{box-shadow:0 2px 4px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);background-color:var(--background-neutral-regular-default);color:var(--content-secondary)}.badge.type-indicator{box-shadow:0 2px 4px 0 var(--elevation-shadow-key-brand),0 0 2px 0 var(--elevation-shadow-ambient-brand);background:linear-gradient(0deg,var(--elevation-surface-shadow-2) 0%,var(--elevation-surface-shadow-2) 100%);background-color:var(--background-danger-default);color:var(--content-primary-inverse)}.badge.size-xs{width:6px;height:6px;box-shadow:none;top:0;right:0}.badge.size-s{width:12px;height:12px;top:-3px;right:-3px}.badge.size-m{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:12px;line-height:16px;letter-spacing:0px;min-width:16px;width:fit-content;height:16px;top:-4px;right:-4px;padding:0 2px}.badge.size-m.count-overflow{padding:0 4px}.badge.size-l{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:16px;line-height:24px;letter-spacing:0px;min-width:24px;width:fit-content;height:24px;top:-8px;right:-8px;padding:0 4px}.badge.size-l.count-overflow{padding:0 6px}.badge .badge-text{margin:0}\n"] }]
|
|
42
|
+
}] });
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSx1QkFBdUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGVBQWUsRUFDZixZQUFZLEVBQ1osV0FBVyxFQUNYLFdBQVcsR0FDWixNQUFNLHNEQUFzRCxDQUFDO0FBRTlELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQVd2RCxNQUFNLE9BQU8sY0FBYztJQVIzQjtRQVNXLGNBQVMsR0FBRyxLQUFLLENBQVksT0FBTyxDQUFDLENBQUM7UUFDdEMsY0FBUyxHQUFHLEtBQUssQ0FBWSxHQUFHLENBQUMsQ0FBQztRQUNsQyxvQkFBZSxHQUFHLEtBQUssQ0FBa0IsTUFBTSxDQUFDLENBQUM7UUFDakQsVUFBSyxHQUFHLEtBQUssRUFBc0IsQ0FBQztRQUNwQyxTQUFJLEdBQUcsS0FBSyxDQUF3QyxjQUFjLENBQUMsQ0FBQztRQUVwRSxvQkFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQztRQUUvRCxhQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUNoQyxXQUFXLENBQUM7WUFDVixJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUN0QixVQUFVLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUNsQyxRQUFRLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtTQUMxQixDQUFDLENBQ0gsQ0FBQztRQUVPLGFBQVEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ2hDLFdBQVcsQ0FBQztZQUNWLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3RCLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO1NBQ3BCLENBQUMsQ0FDSCxDQUFDO1FBRU8saUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0Qsa0JBQWEsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbEYsYUFBUSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTlELGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQ2pDLFlBQVksQ0FBQztZQUNYLElBQUksRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO1lBQ3RCLFVBQVUsRUFBRSxJQUFJLENBQUMsZUFBZSxFQUFFO1lBQ2xDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ25CLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1NBQzFCLENBQUMsQ0FDSCxDQUFDO0tBQ0g7K0dBckNZLGNBQWM7bUdBQWQsY0FBYyw0dEJDdkIzQix1YUFlQSwwbEVERVksWUFBWSxpT0FBRSxhQUFhOzs0RkFNMUIsY0FBYztrQkFSMUIsU0FBUzsrQkFDRSxXQUFXLFdBQ1osQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLGNBQzFCLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENvbXBvbmVudCwgaW5wdXQsIGNvbXB1dGVkLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBCYWRnZUFwcGVhcmFuY2UsIEJhZGdlU2l6ZSwgQmFkZ2VUeXBlIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuaW50ZXJmYWNlXCI7XG5pbXBvcnQge1xuICBnZXRCYWRnZUljb25TaXplLFxuICBnZXREaXNwbGF5Q291bnQsXG4gIGdldFNob3dCYWRnZSxcbiAgZ2V0U2hvd0ljb24sXG4gIGdldFNob3dUZXh0LFxufSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9iYWRnZS9iYWRnZS51dGlsc1wiO1xuXG5pbXBvcnQgeyBpc1ZhbGlkSWNvbk5hbWUgfSBmcm9tIFwiLi4vaWNvbi9pY29uLW1hcFwiO1xuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9pY29uL2ljb24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWd1bGFySWNvbklkS2V5LCBUb2dnbGFibGVJY29uSWRLZXkgfSBmcm9tIFwiLi4vaWNvbi9pY29uLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS1iYWRnZVwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBJY29uQ29tcG9uZW50XSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6IFwiLi9iYWRnZS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybDogXCIuL2JhZGdlLmNvbXBvbmVudC5zY3NzXCIsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBCYWRnZUNvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGJhZGdlVHlwZSA9IGlucHV0PEJhZGdlVHlwZT4oXCJicmFuZFwiKTtcbiAgcmVhZG9ubHkgYmFkZ2VTaXplID0gaW5wdXQ8QmFkZ2VTaXplPihcIm1cIik7XG4gIHJlYWRvbmx5IGJhZGdlQXBwZWFyYW5jZSA9IGlucHV0PEJhZGdlQXBwZWFyYW5jZT4oXCJ0ZXh0XCIpO1xuICByZWFkb25seSBjb3VudCA9IGlucHV0PG51bWJlciB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgaWNvbiA9IGlucHV0PFJlZ3VsYXJJY29uSWRLZXkgfCBUb2dnbGFibGVJY29uSWRLZXk+KFwibm90aWZpY2F0aW9uXCIpO1xuXG4gIHJlYWRvbmx5IGlzVmFsaWRJY29uTmFtZSA9IGNvbXB1dGVkKCgpID0+IGlzVmFsaWRJY29uTmFtZSh0aGlzLmljb24oKSkpO1xuXG4gIHJlYWRvbmx5IHNob3dJY29uID0gY29tcHV0ZWQoKCkgPT5cbiAgICBnZXRTaG93SWNvbih7XG4gICAgICBzaXplOiB0aGlzLmJhZGdlU2l6ZSgpLFxuICAgICAgYXBwZWFyYW5jZTogdGhpcy5iYWRnZUFwcGVhcmFuY2UoKSxcbiAgICAgIGljb25TaXplOiB0aGlzLmljb25TaXplKCksXG4gICAgfSksXG4gICk7XG5cbiAgcmVhZG9ubHkgc2hvd1RleHQgPSBjb21wdXRlZCgoKSA9PlxuICAgIGdldFNob3dUZXh0KHtcbiAgICAgIHNpemU6IHRoaXMuYmFkZ2VTaXplKCksXG4gICAgICBhcHBlYXJhbmNlOiB0aGlzLmJhZGdlQXBwZWFyYW5jZSgpLFxuICAgICAgY291bnQ6IHRoaXMuY291bnQoKSxcbiAgICB9KSxcbiAgKTtcblxuICByZWFkb25seSBkaXNwbGF5Q291bnQgPSBjb21wdXRlZCgoKSA9PiBnZXREaXNwbGF5Q291bnQodGhpcy5jb3VudCgpKSk7XG4gIHJlYWRvbmx5IGNvdW50T3ZlcmZsb3cgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNob3dUZXh0KCkgJiYgdGhpcy5kaXNwbGF5Q291bnQoKS5sZW5ndGggPiAyKTtcbiAgcmVhZG9ubHkgaWNvblNpemUgPSBjb21wdXRlZCgoKSA9PiBnZXRCYWRnZUljb25TaXplKHRoaXMuYmFkZ2VTaXplKCkpKTtcblxuICByZWFkb25seSBzaG93QmFkZ2UgPSBjb21wdXRlZCgoKSA9PlxuICAgIGdldFNob3dCYWRnZSh7XG4gICAgICBzaXplOiB0aGlzLmJhZGdlU2l6ZSgpLFxuICAgICAgYXBwZWFyYW5jZTogdGhpcy5iYWRnZUFwcGVhcmFuY2UoKSxcbiAgICAgIGNvdW50OiB0aGlzLmNvdW50KCksXG4gICAgICBpY29uU2l6ZTogdGhpcy5pY29uU2l6ZSgpLFxuICAgIH0pLFxuICApO1xufVxuIiwiPGRpdlxuICAgIGNsYXNzPVwiYmFkZ2Ugc2l6ZS17eyBiYWRnZVNpemUoKSB9fSB0eXBlLXt7IGJhZGdlVHlwZSgpIH19XCJcbiAgICBkYXRhLXRlc3RpZD1cImJhZGdlXCJcbiAgICBbbmdDbGFzc109XCJ7J2hpZGRlbic6ICFzaG93QmFkZ2UoKSwgJ2NvdW50LW92ZXJmbG93JzogY291bnRPdmVyZmxvdygpfVwiXG4+XG4gICAgPHJ0ZS1pY29uXG4gICAgICAgICpuZ0lmPVwic2hvd0ljb24oKVwiXG4gICAgICAgIGNsYXNzPVwiYmFkZ2UtaWNvblwiXG4gICAgICAgIFtuYW1lXT1cImljb24oKVwiXG4gICAgICAgIFtzaXplXT1cImljb25TaXplKCkhXCJcbiAgICAvPlxuICAgIDxwICpuZ0lmPVwic2hvd1RleHQoKVwiIGNsYXNzPVwiYmFkZ2UtdGV4dFwiPlxuICAgICAgICB7e2Rpc3BsYXlDb3VudCgpfX1cbiAgICA8L3A+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { Directive, input, ViewContainerRef, inject, ElementRef, Renderer2, } from "@angular/core";
|
|
2
|
+
import { BadgeComponent } from "./badge.component";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class BadgeDirective {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.rteBadgeType = input("brand");
|
|
7
|
+
this.rteBadgeSize = input("m");
|
|
8
|
+
this.rteBadgeAppearance = input("text");
|
|
9
|
+
this.rteBadgeCount = input();
|
|
10
|
+
this.rteBadgeIcon = input("settings");
|
|
11
|
+
this.badgeComponentRef = null;
|
|
12
|
+
this.viewContainer = inject(ViewContainerRef);
|
|
13
|
+
this.elementRef = inject(ElementRef);
|
|
14
|
+
this.renderer = inject(Renderer2);
|
|
15
|
+
this.hostElement = this.elementRef.nativeElement;
|
|
16
|
+
}
|
|
17
|
+
ngOnInit() {
|
|
18
|
+
this.badgeComponentRef = this.viewContainer.createComponent(BadgeComponent);
|
|
19
|
+
this.assignDirectiveToComponent();
|
|
20
|
+
this.appendComponentToHost();
|
|
21
|
+
this.renderer.setStyle(this.hostElement, "position", "relative");
|
|
22
|
+
}
|
|
23
|
+
ngOnChanges() {
|
|
24
|
+
this.assignDirectiveToComponent();
|
|
25
|
+
}
|
|
26
|
+
ngOnDestroy() {
|
|
27
|
+
if (this.badgeComponentRef) {
|
|
28
|
+
this.badgeComponentRef.destroy();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
assignDirectiveToComponent() {
|
|
32
|
+
if (this.badgeComponentRef) {
|
|
33
|
+
this.badgeComponentRef.setInput("badgeType", this.rteBadgeType());
|
|
34
|
+
this.badgeComponentRef.setInput("badgeSize", this.rteBadgeSize());
|
|
35
|
+
this.badgeComponentRef.setInput("badgeAppearance", this.rteBadgeAppearance());
|
|
36
|
+
this.badgeComponentRef.setInput("count", this.rteBadgeCount());
|
|
37
|
+
this.badgeComponentRef.setInput("icon", this.rteBadgeIcon());
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
appendComponentToHost() {
|
|
41
|
+
if (this.badgeComponentRef) {
|
|
42
|
+
this.renderer.appendChild(this.elementRef.nativeElement, this.badgeComponentRef.location.nativeElement);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BadgeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
46
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "17.3.12", type: BadgeDirective, isStandalone: true, selector: "[rteBadge]", inputs: { rteBadgeType: { classPropertyName: "rteBadgeType", publicName: "rteBadgeType", isSignal: true, isRequired: false, transformFunction: null }, rteBadgeSize: { classPropertyName: "rteBadgeSize", publicName: "rteBadgeSize", isSignal: true, isRequired: false, transformFunction: null }, rteBadgeAppearance: { classPropertyName: "rteBadgeAppearance", publicName: "rteBadgeAppearance", isSignal: true, isRequired: false, transformFunction: null }, rteBadgeCount: { classPropertyName: "rteBadgeCount", publicName: "rteBadgeCount", isSignal: true, isRequired: false, transformFunction: null }, rteBadgeIcon: { classPropertyName: "rteBadgeIcon", publicName: "rteBadgeIcon", isSignal: true, isRequired: false, transformFunction: null } }, usesOnChanges: true, ngImport: i0 }); }
|
|
47
|
+
}
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: BadgeDirective, decorators: [{
|
|
49
|
+
type: Directive,
|
|
50
|
+
args: [{
|
|
51
|
+
selector: "[rteBadge]",
|
|
52
|
+
standalone: true,
|
|
53
|
+
}]
|
|
54
|
+
}], ctorParameters: () => [] });
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsS0FBSyxFQUdMLGdCQUFnQixFQUVoQixNQUFNLEVBQ04sVUFBVSxFQUNWLFNBQVMsR0FFVixNQUFNLGVBQWUsQ0FBQztBQUt2QixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7O0FBTW5ELE1BQU0sT0FBTyxjQUFjO0lBY3pCO1FBYlMsaUJBQVksR0FBRyxLQUFLLENBQVksT0FBTyxDQUFDLENBQUM7UUFDekMsaUJBQVksR0FBRyxLQUFLLENBQVksR0FBRyxDQUFDLENBQUM7UUFDckMsdUJBQWtCLEdBQUcsS0FBSyxDQUFrQixNQUFNLENBQUMsQ0FBQztRQUNwRCxrQkFBYSxHQUFHLEtBQUssRUFBc0IsQ0FBQztRQUM1QyxpQkFBWSxHQUFHLEtBQUssQ0FBd0MsVUFBVSxDQUFDLENBQUM7UUFFekUsc0JBQWlCLEdBQXdDLElBQUksQ0FBQztRQUdyRCxrQkFBYSxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3pDLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsYUFBUSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUc1QyxJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO0lBQ25ELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQywwQkFBMEIsRUFBRSxDQUFDO1FBQ2xDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQzdCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBQ25FLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7SUFDcEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQ2xFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQztZQUM5RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQztZQUMvRCxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztRQUMvRCxDQUFDO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDMUcsQ0FBQztJQUNILENBQUM7K0dBakRVLGNBQWM7bUdBQWQsY0FBYzs7NEZBQWQsY0FBYztrQkFKMUIsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGlyZWN0aXZlLFxuICBpbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBPbkRlc3Ryb3ksXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIENvbXBvbmVudFJlZixcbiAgaW5qZWN0LFxuICBFbGVtZW50UmVmLFxuICBSZW5kZXJlcjIsXG4gIE9uSW5pdCxcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhZGdlVHlwZSwgQmFkZ2VTaXplLCBCYWRnZUFwcGVhcmFuY2UgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9iYWRnZS9iYWRnZS5pbnRlcmZhY2VcIjtcblxuaW1wb3J0IHsgUmVndWxhckljb25JZEtleSwgVG9nZ2xhYmxlSWNvbklkS2V5IH0gZnJvbSBcIi4uL2ljb24vaWNvbi5zZXJ2aWNlXCI7XG5cbmltcG9ydCB7IEJhZGdlQ29tcG9uZW50IH0gZnJvbSBcIi4vYmFkZ2UuY29tcG9uZW50XCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbcnRlQmFkZ2VdXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIEJhZGdlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIHJlYWRvbmx5IHJ0ZUJhZGdlVHlwZSA9IGlucHV0PEJhZGdlVHlwZT4oXCJicmFuZFwiKTtcbiAgcmVhZG9ubHkgcnRlQmFkZ2VTaXplID0gaW5wdXQ8QmFkZ2VTaXplPihcIm1cIik7XG4gIHJlYWRvbmx5IHJ0ZUJhZGdlQXBwZWFyYW5jZSA9IGlucHV0PEJhZGdlQXBwZWFyYW5jZT4oXCJ0ZXh0XCIpO1xuICByZWFkb25seSBydGVCYWRnZUNvdW50ID0gaW5wdXQ8bnVtYmVyIHwgdW5kZWZpbmVkPigpO1xuICByZWFkb25seSBydGVCYWRnZUljb24gPSBpbnB1dDxSZWd1bGFySWNvbklkS2V5IHwgVG9nZ2xhYmxlSWNvbklkS2V5PihcInNldHRpbmdzXCIpO1xuXG4gIHByaXZhdGUgYmFkZ2VDb21wb25lbnRSZWY6IENvbXBvbmVudFJlZjxCYWRnZUNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgcHJpdmF0ZSByZWFkb25seSB2aWV3Q29udGFpbmVyID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICB0aGlzLmhvc3RFbGVtZW50ID0gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmJhZGdlQ29tcG9uZW50UmVmID0gdGhpcy52aWV3Q29udGFpbmVyLmNyZWF0ZUNvbXBvbmVudChCYWRnZUNvbXBvbmVudCk7XG4gICAgdGhpcy5hc3NpZ25EaXJlY3RpdmVUb0NvbXBvbmVudCgpO1xuICAgIHRoaXMuYXBwZW5kQ29tcG9uZW50VG9Ib3N0KCk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmhvc3RFbGVtZW50LCBcInBvc2l0aW9uXCIsIFwicmVsYXRpdmVcIik7XG4gIH1cblxuICBuZ09uQ2hhbmdlcygpOiB2b2lkIHtcbiAgICB0aGlzLmFzc2lnbkRpcmVjdGl2ZVRvQ29tcG9uZW50KCk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5iYWRnZUNvbXBvbmVudFJlZikge1xuICAgICAgdGhpcy5iYWRnZUNvbXBvbmVudFJlZi5kZXN0cm95KCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3NpZ25EaXJlY3RpdmVUb0NvbXBvbmVudCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5iYWRnZUNvbXBvbmVudFJlZikge1xuICAgICAgdGhpcy5iYWRnZUNvbXBvbmVudFJlZi5zZXRJbnB1dChcImJhZGdlVHlwZVwiLCB0aGlzLnJ0ZUJhZGdlVHlwZSgpKTtcbiAgICAgIHRoaXMuYmFkZ2VDb21wb25lbnRSZWYuc2V0SW5wdXQoXCJiYWRnZVNpemVcIiwgdGhpcy5ydGVCYWRnZVNpemUoKSk7XG4gICAgICB0aGlzLmJhZGdlQ29tcG9uZW50UmVmLnNldElucHV0KFwiYmFkZ2VBcHBlYXJhbmNlXCIsIHRoaXMucnRlQmFkZ2VBcHBlYXJhbmNlKCkpO1xuICAgICAgdGhpcy5iYWRnZUNvbXBvbmVudFJlZi5zZXRJbnB1dChcImNvdW50XCIsIHRoaXMucnRlQmFkZ2VDb3VudCgpKTtcbiAgICAgIHRoaXMuYmFkZ2VDb21wb25lbnRSZWYuc2V0SW5wdXQoXCJpY29uXCIsIHRoaXMucnRlQmFkZ2VJY29uKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXBwZW5kQ29tcG9uZW50VG9Ib3N0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmJhZGdlQ29tcG9uZW50UmVmKSB7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmJhZGdlQ29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { CommonModule } from "@angular/common";
|
|
2
|
+
import { ChangeDetectionStrategy, Component, computed, input, output } from "@angular/core";
|
|
3
|
+
import { CHIP_TYPE_TO_ARIA_ROLE_MAP } from "@design-system-rte/core/components/chip/chip.constants";
|
|
4
|
+
import { BACKSPACE_KEY, DELETE_KEY, ENTER_KEY, SPACE_KEY, } from "@design-system-rte/core/constants/keyboard/keyboard.constants";
|
|
5
|
+
import { IconComponent } from "../icon/icon.component";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
export class ChipComponent {
|
|
9
|
+
constructor() {
|
|
10
|
+
this.id = input();
|
|
11
|
+
this.label = input("");
|
|
12
|
+
this.selected = input(false);
|
|
13
|
+
this.disabled = input(false);
|
|
14
|
+
this.type = input("single");
|
|
15
|
+
this.compactSpacing = input(false);
|
|
16
|
+
this.click = output();
|
|
17
|
+
this.close = output();
|
|
18
|
+
this.isCheckable = computed(() => this.type() === "single" || this.type() === "multi");
|
|
19
|
+
this.role = computed(() => CHIP_TYPE_TO_ARIA_ROLE_MAP[this.type()] || null);
|
|
20
|
+
}
|
|
21
|
+
onClick(event) {
|
|
22
|
+
event.stopPropagation();
|
|
23
|
+
if (!this.disabled()) {
|
|
24
|
+
this.click.emit(event);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
onKeyDown(event) {
|
|
28
|
+
event.stopPropagation();
|
|
29
|
+
}
|
|
30
|
+
onKeyUp(event) {
|
|
31
|
+
event.stopPropagation();
|
|
32
|
+
if (!this.disabled()) {
|
|
33
|
+
if (event.key === SPACE_KEY || event.key === ENTER_KEY) {
|
|
34
|
+
const target = event.target;
|
|
35
|
+
if (!target.classList.contains("chip-close-button")) {
|
|
36
|
+
this.onClick(event);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else if ((event.key === BACKSPACE_KEY || event.key === DELETE_KEY) && this.type() === "input") {
|
|
40
|
+
const closeButton = event.target.querySelector(".chip-close-button");
|
|
41
|
+
if (closeButton) {
|
|
42
|
+
closeButton.click();
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
onBlur(event) {
|
|
48
|
+
event.stopPropagation();
|
|
49
|
+
}
|
|
50
|
+
onCloseClick(event) {
|
|
51
|
+
event.stopPropagation();
|
|
52
|
+
if (!this.disabled()) {
|
|
53
|
+
this.close.emit(event);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
57
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: ChipComponent, isStandalone: true, selector: "rte-chip", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, compactSpacing: { classPropertyName: "compactSpacing", publicName: "compactSpacing", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click", close: "close" }, ngImport: i0, template: "<span\n class=\"chip\"\n tabindex=\"0\"\n [attr.role]=\"role()\"\n [attr.data-selected]=\"isCheckable() ? selected() : null\"\n [attr.data-disabled]=\"disabled()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n [attr.data-type]=\"type()\"\n [attr.aria-checked]=\"isCheckable() ? selected() : null\"\n [attr.aria-disabled]=\"disabled()\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeyDown($event)\"\n (keyup)=\"onKeyUp($event)\"\n (blur)=\"onBlur($event)\"\n>\n <ng-container *ngIf=\"type() === 'multi'\">\n <span class=\"chip-icon-container\">\n <span\n class=\"chip-icon\"\n [class.chip-icon--visible]=\"selected()\"\n [attr.aria-hidden]=\"!selected()\"\n >\n <rte-icon name=\"check-circle\" appearance=\"filled\" [size]=\"16\"></rte-icon>\n </span>\n <span\n class=\"chip-icon\"\n [class.chip-icon--visible]=\"!selected()\"\n [attr.aria-hidden]=\"selected()\"\n >\n <rte-icon name=\"radio-button-empty\" [size]=\"16\"></rte-icon>\n </span>\n </span>\n </ng-container>\n <span class=\"chip-label\" [attr.data-type]=\"type()\">{{ label() }}</span>\n <button\n *ngIf=\"type() === 'input'\"\n type=\"button\"\n class=\"chip-close-button\"\n [attr.aria-label]=\"'Supprimer ' + label()\"\n [disabled]=\"disabled()\"\n [value]=\"label()\"\n (click)=\"onCloseClick($event)\"\n >\n <rte-icon class=\"chip-close-button--icon\" name=\"close\" [size]=\"16\"></rte-icon>\n </button>\n</span>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.chip{overflow:hidden;color:var(--content-brand-default);text-overflow:ellipsis;display:inline-flex;padding:4px 12px;justify-content:center;align-items:center;gap:0px;border-radius:999px;background:var(--background-brand-unselected-default);transition:background-color .2s ease-in-out,color .2s ease-in-out}.chip:hover{cursor:pointer;color:var(--content-brand-hover);background:var(--background-brand-unselected-hover)}.chip:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}.chip[data-disabled=true]{cursor:default;color:var(--content-disabled);background:var(--background-disabled);outline:none}.chip[data-selected=true]{color:var(--content-primary-inverse);background:var(--background-brand-selected-default)}.chip[data-selected=true]:hover{background:var(--background-brand-selected-hover)}.chip[data-selected=true][data-disabled=true]{cursor:default;color:var(--content-disabled);background:var(--background-disabled)}.chip[data-compact-spacing=true]{padding:0 12px}.chip[data-type=input]{padding:0 4px;pointer-events:none}.chip-label{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px;padding:0 6px}.chip-label[data-type=input]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;padding:0 8px}.chip-icon-container{position:relative;width:16px;height:16px}.chip-icon{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease-in-out,transform .2s ease-in-out;pointer-events:none}.chip-icon--visible{opacity:1;pointer-events:auto}.chip-close-button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--content-brand-default);border-radius:999px;width:16px;height:16px;pointer-events:auto;transition:background-color .2s ease-in-out}.chip-close-button:disabled{cursor:default;color:var(--content-disabled);background:var(--background-disabled);outline:none}.chip-close-button:hover:not(:disabled){background:var(--background-brand-hover);color:var(--background-brand-unselected-hover)}.chip-close-button:focus-visible{outline:1px solid var(--border-brand-focused)}.chip-close-button--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
58
|
+
}
|
|
59
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ChipComponent, decorators: [{
|
|
60
|
+
type: Component,
|
|
61
|
+
args: [{ selector: "rte-chip", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<span\n class=\"chip\"\n tabindex=\"0\"\n [attr.role]=\"role()\"\n [attr.data-selected]=\"isCheckable() ? selected() : null\"\n [attr.data-disabled]=\"disabled()\"\n [attr.data-compact-spacing]=\"compactSpacing()\"\n [attr.data-type]=\"type()\"\n [attr.aria-checked]=\"isCheckable() ? selected() : null\"\n [attr.aria-disabled]=\"disabled()\"\n (click)=\"onClick($event)\"\n (keydown)=\"onKeyDown($event)\"\n (keyup)=\"onKeyUp($event)\"\n (blur)=\"onBlur($event)\"\n>\n <ng-container *ngIf=\"type() === 'multi'\">\n <span class=\"chip-icon-container\">\n <span\n class=\"chip-icon\"\n [class.chip-icon--visible]=\"selected()\"\n [attr.aria-hidden]=\"!selected()\"\n >\n <rte-icon name=\"check-circle\" appearance=\"filled\" [size]=\"16\"></rte-icon>\n </span>\n <span\n class=\"chip-icon\"\n [class.chip-icon--visible]=\"!selected()\"\n [attr.aria-hidden]=\"selected()\"\n >\n <rte-icon name=\"radio-button-empty\" [size]=\"16\"></rte-icon>\n </span>\n </span>\n </ng-container>\n <span class=\"chip-label\" [attr.data-type]=\"type()\">{{ label() }}</span>\n <button\n *ngIf=\"type() === 'input'\"\n type=\"button\"\n class=\"chip-close-button\"\n [attr.aria-label]=\"'Supprimer ' + label()\"\n [disabled]=\"disabled()\"\n [value]=\"label()\"\n (click)=\"onCloseClick($event)\"\n >\n <rte-icon class=\"chip-close-button--icon\" name=\"close\" [size]=\"16\"></rte-icon>\n </button>\n</span>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.chip{overflow:hidden;color:var(--content-brand-default);text-overflow:ellipsis;display:inline-flex;padding:4px 12px;justify-content:center;align-items:center;gap:0px;border-radius:999px;background:var(--background-brand-unselected-default);transition:background-color .2s ease-in-out,color .2s ease-in-out}.chip:hover{cursor:pointer;color:var(--content-brand-hover);background:var(--background-brand-unselected-hover)}.chip:focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px}.chip[data-disabled=true]{cursor:default;color:var(--content-disabled);background:var(--background-disabled);outline:none}.chip[data-selected=true]{color:var(--content-primary-inverse);background:var(--background-brand-selected-default)}.chip[data-selected=true]:hover{background:var(--background-brand-selected-hover)}.chip[data-selected=true][data-disabled=true]{cursor:default;color:var(--content-disabled);background:var(--background-disabled)}.chip[data-compact-spacing=true]{padding:0 12px}.chip[data-type=input]{padding:0 4px;pointer-events:none}.chip-label{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Nunito;font-weight:600;font-size:16px;line-height:24px;letter-spacing:-.5px;padding:0 6px}.chip-label[data-type=input]{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;padding:0 8px}.chip-icon-container{position:relative;width:16px;height:16px}.chip-icon{position:absolute;left:0;top:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease-in-out,transform .2s ease-in-out;pointer-events:none}.chip-icon--visible{opacity:1;pointer-events:auto}.chip-close-button{background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--content-brand-default);border-radius:999px;width:16px;height:16px;pointer-events:auto;transition:background-color .2s ease-in-out}.chip-close-button:disabled{cursor:default;color:var(--content-disabled);background:var(--background-disabled);outline:none}.chip-close-button:hover:not(:disabled){background:var(--background-brand-hover);color:var(--background-brand-unselected-hover)}.chip-close-button:focus-visible{outline:1px solid var(--border-brand-focused)}.chip-close-button--icon{width:16px;height:16px;display:flex;align-items:center;justify-content:center}\n"] }]
|
|
62
|
+
}] });
|
|
63
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9jaGlwL2NoaXAuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvY2hpcC9jaGlwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQ3BHLE9BQU8sRUFDTCxhQUFhLEVBQ2IsVUFBVSxFQUNWLFNBQVMsRUFDVCxTQUFTLEdBQ1YsTUFBTSwrREFBK0QsQ0FBQztBQUV2RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQVV2RCxNQUFNLE9BQU8sYUFBYTtJQVIxQjtRQVNXLE9BQUUsR0FBRyxLQUFLLEVBQXNCLENBQUM7UUFDakMsVUFBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxQixhQUFRLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDakMsU0FBSSxHQUFHLEtBQUssQ0FBK0IsUUFBUSxDQUFDLENBQUM7UUFDckQsbUJBQWMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDdkMsVUFBSyxHQUFHLE1BQU0sRUFBUyxDQUFDO1FBQ3hCLFVBQUssR0FBRyxNQUFNLEVBQVMsQ0FBQztRQUV4QixnQkFBVyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxPQUFPLENBQUMsQ0FBQztRQUNsRixTQUFJLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLDBCQUEwQixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO0tBc0NqRjtJQXBDQyxPQUFPLENBQUMsS0FBWTtRQUNsQixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDO1lBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3pCLENBQUM7SUFDSCxDQUFDO0lBQ0QsU0FBUyxDQUFDLEtBQW9CO1FBQzVCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsT0FBTyxDQUFDLEtBQW9CO1FBQzFCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDckIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUN2RCxNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztnQkFDM0MsSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsUUFBUSxDQUFDLG1CQUFtQixDQUFDLEVBQUUsQ0FBQztvQkFDcEQsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDdEIsQ0FBQztZQUNILENBQUM7aUJBQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLEtBQUssYUFBYSxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssVUFBVSxDQUFDLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUNoRyxNQUFNLFdBQVcsR0FBSSxLQUFLLENBQUMsTUFBc0IsQ0FBQyxhQUFhLENBQzdELG9CQUFvQixDQUNPLENBQUM7Z0JBQzlCLElBQUksV0FBVyxFQUFFLENBQUM7b0JBQ2hCLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztnQkFDdEIsQ0FBQztZQUNILENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUNELE1BQU0sQ0FBQyxLQUFpQjtRQUN0QixLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUNELFlBQVksQ0FBQyxLQUFZO1FBQ3ZCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDckIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsQ0FBQztJQUNILENBQUM7K0dBaERVLGFBQWE7bUdBQWIsYUFBYSw4MkJDcEIxQixzL0NBNkNPLGlzRkQvQkssWUFBWSxtSUFBRSxhQUFhOzs0RkFNMUIsYUFBYTtrQkFSekIsU0FBUzsrQkFDRSxVQUFVLFdBQ1gsQ0FBQyxZQUFZLEVBQUUsYUFBYSxDQUFDLGNBQzFCLElBQUksbUJBR0MsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGNvbXB1dGVkLCBpbnB1dCwgb3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IENISVBfVFlQRV9UT19BUklBX1JPTEVfTUFQIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvY2hpcC9jaGlwLmNvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgQkFDS1NQQUNFX0tFWSxcbiAgREVMRVRFX0tFWSxcbiAgRU5URVJfS0VZLFxuICBTUEFDRV9LRVksXG59IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb25zdGFudHMva2V5Ym9hcmQva2V5Ym9hcmQuY29uc3RhbnRzXCI7XG5cbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicnRlLWNoaXBcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbkNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vY2hpcC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybDogXCIuL2NoaXAuY29tcG9uZW50LnNjc3NcIixcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIENoaXBDb21wb25lbnQge1xuICByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZyB8IHVuZGVmaW5lZD4oKTtcbiAgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KFwiXCIpO1xuICByZWFkb25seSBzZWxlY3RlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHR5cGUgPSBpbnB1dDxcInNpbmdsZVwiIHwgXCJtdWx0aVwiIHwgXCJpbnB1dFwiPihcInNpbmdsZVwiKTtcbiAgcmVhZG9ubHkgY29tcGFjdFNwYWNpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGNsaWNrID0gb3V0cHV0PEV2ZW50PigpO1xuICByZWFkb25seSBjbG9zZSA9IG91dHB1dDxFdmVudD4oKTtcblxuICByZWFkb25seSBpc0NoZWNrYWJsZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMudHlwZSgpID09PSBcInNpbmdsZVwiIHx8IHRoaXMudHlwZSgpID09PSBcIm11bHRpXCIpO1xuICByZWFkb25seSByb2xlID0gY29tcHV0ZWQoKCkgPT4gQ0hJUF9UWVBFX1RPX0FSSUFfUk9MRV9NQVBbdGhpcy50eXBlKCldIHx8IG51bGwpO1xuXG4gIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIHRoaXMuY2xpY2suZW1pdChldmVudCk7XG4gICAgfVxuICB9XG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICB9XG4gIG9uS2V5VXAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gU1BBQ0VfS0VZIHx8IGV2ZW50LmtleSA9PT0gRU5URVJfS0VZKSB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgaWYgKCF0YXJnZXQuY2xhc3NMaXN0LmNvbnRhaW5zKFwiY2hpcC1jbG9zZS1idXR0b25cIikpIHtcbiAgICAgICAgICB0aGlzLm9uQ2xpY2soZXZlbnQpO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKChldmVudC5rZXkgPT09IEJBQ0tTUEFDRV9LRVkgfHwgZXZlbnQua2V5ID09PSBERUxFVEVfS0VZKSAmJiB0aGlzLnR5cGUoKSA9PT0gXCJpbnB1dFwiKSB7XG4gICAgICAgIGNvbnN0IGNsb3NlQnV0dG9uID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudCkucXVlcnlTZWxlY3RvcihcbiAgICAgICAgICBcIi5jaGlwLWNsb3NlLWJ1dHRvblwiLFxuICAgICAgICApIGFzIEhUTUxCdXR0b25FbGVtZW50IHwgbnVsbDtcbiAgICAgICAgaWYgKGNsb3NlQnV0dG9uKSB7XG4gICAgICAgICAgY2xvc2VCdXR0b24uY2xpY2soKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBvbkJsdXIoZXZlbnQ6IEZvY3VzRXZlbnQpIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgfVxuICBvbkNsb3NlQ2xpY2soZXZlbnQ6IEV2ZW50KSB7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKCkpIHtcbiAgICAgIHRoaXMuY2xvc2UuZW1pdChldmVudCk7XG4gICAgfVxuICB9XG59XG4iLCI8c3BhblxuICBjbGFzcz1cImNoaXBcIlxuICB0YWJpbmRleD1cIjBcIlxuICBbYXR0ci5yb2xlXT1cInJvbGUoKVwiXG4gIFthdHRyLmRhdGEtc2VsZWN0ZWRdPVwiaXNDaGVja2FibGUoKSA/IHNlbGVjdGVkKCkgOiBudWxsXCJcbiAgW2F0dHIuZGF0YS1kaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgW2F0dHIuZGF0YS1jb21wYWN0LXNwYWNpbmddPVwiY29tcGFjdFNwYWNpbmcoKVwiXG4gIFthdHRyLmRhdGEtdHlwZV09XCJ0eXBlKClcIlxuICBbYXR0ci5hcmlhLWNoZWNrZWRdPVwiaXNDaGVja2FibGUoKSA/IHNlbGVjdGVkKCkgOiBudWxsXCJcbiAgW2F0dHIuYXJpYS1kaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gIChrZXlkb3duKT1cIm9uS2V5RG93bigkZXZlbnQpXCJcbiAgKGtleXVwKT1cIm9uS2V5VXAoJGV2ZW50KVwiXG4gIChibHVyKT1cIm9uQmx1cigkZXZlbnQpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInR5cGUoKSA9PT0gJ211bHRpJ1wiPlxuICAgIDxzcGFuIGNsYXNzPVwiY2hpcC1pY29uLWNvbnRhaW5lclwiPlxuICAgICAgPHNwYW5cbiAgICAgICAgY2xhc3M9XCJjaGlwLWljb25cIlxuICAgICAgICBbY2xhc3MuY2hpcC1pY29uLS12aXNpYmxlXT1cInNlbGVjdGVkKClcIlxuICAgICAgICBbYXR0ci5hcmlhLWhpZGRlbl09XCIhc2VsZWN0ZWQoKVwiXG4gICAgICA+XG4gICAgICAgIDxydGUtaWNvbiBuYW1lPVwiY2hlY2stY2lyY2xlXCIgYXBwZWFyYW5jZT1cImZpbGxlZFwiIFtzaXplXT1cIjE2XCI+PC9ydGUtaWNvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuXG4gICAgICAgIGNsYXNzPVwiY2hpcC1pY29uXCJcbiAgICAgICAgW2NsYXNzLmNoaXAtaWNvbi0tdmlzaWJsZV09XCIhc2VsZWN0ZWQoKVwiXG4gICAgICAgIFthdHRyLmFyaWEtaGlkZGVuXT1cInNlbGVjdGVkKClcIlxuICAgICAgPlxuICAgICAgICA8cnRlLWljb24gbmFtZT1cInJhZGlvLWJ1dHRvbi1lbXB0eVwiIFtzaXplXT1cIjE2XCI+PC9ydGUtaWNvbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L3NwYW4+XG4gIDwvbmctY29udGFpbmVyPlxuICA8c3BhbiBjbGFzcz1cImNoaXAtbGFiZWxcIiBbYXR0ci5kYXRhLXR5cGVdPVwidHlwZSgpXCI+e3sgbGFiZWwoKSB9fTwvc3Bhbj5cbiAgPGJ1dHRvblxuICAgICpuZ0lmPVwidHlwZSgpID09PSAnaW5wdXQnXCJcbiAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICBjbGFzcz1cImNoaXAtY2xvc2UtYnV0dG9uXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidTdXBwcmltZXIgJyArIGxhYmVsKClcIlxuICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICBbdmFsdWVdPVwibGFiZWwoKVwiXG4gICAgKGNsaWNrKT1cIm9uQ2xvc2VDbGljaygkZXZlbnQpXCJcbiAgPlxuICAgIDxydGUtaWNvbiBjbGFzcz1cImNoaXAtY2xvc2UtYnV0dG9uLS1pY29uXCIgbmFtZT1cImNsb3NlXCIgW3NpemVdPVwiMTZcIj48L3J0ZS1pY29uPlxuICA8L2J1dHRvbj5cbjwvc3Bhbj4iXX0=
|
|
@@ -11,10 +11,10 @@ export class LinkComponent {
|
|
|
11
11
|
this.externalLink = input(false);
|
|
12
12
|
}
|
|
13
13
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: LinkComponent, isStandalone: true, selector: "rte-link", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, subtle: { classPropertyName: "subtle", publicName: "subtle", isSignal: true, isRequired: false, transformFunction: null }, externalLink: { classPropertyName: "externalLink", publicName: "externalLink", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<a href=\"{{ href() }}\" class=\"rte-link\" role=\"link\" [ngClass]=\"{'subtle': subtle()}\">\n <span class=\"rte-link-label\">\n {{ label() }}\n </span>\n <rte-icon *ngIf=\"externalLink()\" name=\"external-link\" [size]=\"12\"></rte-icon>\n</a>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.rte-link{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;align-items:center;cursor:pointer;display:inline-flex;justify-content:center}.rte-link:visited{color:var(--content-link-visited);text-decoration:underline}.rte-link:visited:hover{color:var(--content-link-visited-hover);text-decoration:none}.rte-link:visited:active{color:var(--content-link-visited-press);text-decoration:underline}.rte-link:visited:focus-visible{color:var(--content-link-visited);text-decoration:underline;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-link:not(:visited){color:var(--content-link-default)}.rte-link:not(:visited):hover{color:var(--content-link-hover);text-decoration:none}.rte-link:not(:visited):active{color:var(--content-link-press);text-decoration:underline}.rte-link:not(:visited):focus-visible{color:var(--content-link-default);text-decoration:underline;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-link.subtle:visited{color:var(--content-primary);text-decoration:none}.rte-link.subtle:visited:hover{color:var(--content-link-secondary);text-decoration:underline}.rte-link.subtle:visited:active{color:var(--content-link-primary);text-decoration:none}.rte-link.subtle:visited:focus-visible{color:var(--content-link-primary);text-decoration:none;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-link.subtle:not(:visited){color:var(--content-primary);text-decoration:none}.rte-link.subtle:not(:visited):hover{color:var(--content-secondary);text-decoration:underline}.rte-link.subtle:not(:visited):active{color:var(--content-primary);text-decoration:none}.rte-link.subtle:not(:visited):focus-visible{color:var(--content-primary);text-decoration:none;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: LinkComponent, isStandalone: true, selector: "rte-link", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, href: { classPropertyName: "href", publicName: "href", isSignal: true, isRequired: false, transformFunction: null }, subtle: { classPropertyName: "subtle", publicName: "subtle", isSignal: true, isRequired: false, transformFunction: null }, externalLink: { classPropertyName: "externalLink", publicName: "externalLink", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<a href=\"{{ href() }}\" class=\"rte-link\" role=\"link\" [ngClass]=\"{'subtle': subtle()}\" [target]=\"externalLink() ? '_blank' : undefined\" [rel]=\"externalLink() ? 'noopener noreferrer' : null\">\n <span class=\"rte-link-label\">\n {{ label() }}\n </span>\n <rte-icon *ngIf=\"externalLink()\" name=\"external-link\" [size]=\"12\"></rte-icon>\n</a>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.rte-link{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;align-items:center;cursor:pointer;display:inline-flex;justify-content:center}.rte-link:visited{color:var(--content-link-visited);text-decoration:underline}.rte-link:visited:hover{color:var(--content-link-visited-hover);text-decoration:none}.rte-link:visited:active{color:var(--content-link-visited-press);text-decoration:underline}.rte-link:visited:focus-visible{color:var(--content-link-visited);text-decoration:underline;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-link:not(:visited){color:var(--content-link-default)}.rte-link:not(:visited):hover{color:var(--content-link-hover);text-decoration:none}.rte-link:not(:visited):active{color:var(--content-link-press);text-decoration:underline}.rte-link:not(:visited):focus-visible{color:var(--content-link-default);text-decoration:underline;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-link.subtle:visited{color:var(--content-primary);text-decoration:none}.rte-link.subtle:visited:hover{color:var(--content-link-secondary);text-decoration:underline}.rte-link.subtle:visited:active{color:var(--content-link-primary);text-decoration:none}.rte-link.subtle:visited:focus-visible{color:var(--content-link-primary);text-decoration:none;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-link.subtle:not(:visited){color:var(--content-primary);text-decoration:none}.rte-link.subtle:not(:visited):hover{color:var(--content-secondary);text-decoration:underline}.rte-link.subtle:not(:visited):active{color:var(--content-primary);text-decoration:none}.rte-link.subtle:not(:visited):focus-visible{color:var(--content-primary);text-decoration:none;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
15
15
|
}
|
|
16
16
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: LinkComponent, decorators: [{
|
|
17
17
|
type: Component,
|
|
18
|
-
args: [{ selector: "rte-link", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<a href=\"{{ href() }}\" class=\"rte-link\" role=\"link\" [ngClass]=\"{'subtle': subtle()}\">\n <span class=\"rte-link-label\">\n {{ label() }}\n </span>\n <rte-icon *ngIf=\"externalLink()\" name=\"external-link\" [size]=\"12\"></rte-icon>\n</a>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.rte-link{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;align-items:center;cursor:pointer;display:inline-flex;justify-content:center}.rte-link:visited{color:var(--content-link-visited);text-decoration:underline}.rte-link:visited:hover{color:var(--content-link-visited-hover);text-decoration:none}.rte-link:visited:active{color:var(--content-link-visited-press);text-decoration:underline}.rte-link:visited:focus-visible{color:var(--content-link-visited);text-decoration:underline;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-link:not(:visited){color:var(--content-link-default)}.rte-link:not(:visited):hover{color:var(--content-link-hover);text-decoration:none}.rte-link:not(:visited):active{color:var(--content-link-press);text-decoration:underline}.rte-link:not(:visited):focus-visible{color:var(--content-link-default);text-decoration:underline;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-link.subtle:visited{color:var(--content-primary);text-decoration:none}.rte-link.subtle:visited:hover{color:var(--content-link-secondary);text-decoration:underline}.rte-link.subtle:visited:active{color:var(--content-link-primary);text-decoration:none}.rte-link.subtle:visited:focus-visible{color:var(--content-link-primary);text-decoration:none;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-link.subtle:not(:visited){color:var(--content-primary);text-decoration:none}.rte-link.subtle:not(:visited):hover{color:var(--content-secondary);text-decoration:underline}.rte-link.subtle:not(:visited):active{color:var(--content-primary);text-decoration:none}.rte-link.subtle:not(:visited):focus-visible{color:var(--content-primary);text-decoration:none;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}\n"] }]
|
|
18
|
+
args: [{ selector: "rte-link", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<a href=\"{{ href() }}\" class=\"rte-link\" role=\"link\" [ngClass]=\"{'subtle': subtle()}\" [target]=\"externalLink() ? '_blank' : undefined\" [rel]=\"externalLink() ? 'noopener noreferrer' : null\">\n <span class=\"rte-link-label\">\n {{ label() }}\n </span>\n <rte-icon *ngIf=\"externalLink()\" name=\"external-link\" [size]=\"12\"></rte-icon>\n</a>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.rte-link{font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:14px;line-height:20px;letter-spacing:0px;align-items:center;cursor:pointer;display:inline-flex;justify-content:center}.rte-link:visited{color:var(--content-link-visited);text-decoration:underline}.rte-link:visited:hover{color:var(--content-link-visited-hover);text-decoration:none}.rte-link:visited:active{color:var(--content-link-visited-press);text-decoration:underline}.rte-link:visited:focus-visible{color:var(--content-link-visited);text-decoration:underline;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-link:not(:visited){color:var(--content-link-default)}.rte-link:not(:visited):hover{color:var(--content-link-hover);text-decoration:none}.rte-link:not(:visited):active{color:var(--content-link-press);text-decoration:underline}.rte-link:not(:visited):focus-visible{color:var(--content-link-default);text-decoration:underline;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-link.subtle:visited{color:var(--content-primary);text-decoration:none}.rte-link.subtle:visited:hover{color:var(--content-link-secondary);text-decoration:underline}.rte-link.subtle:visited:active{color:var(--content-link-primary);text-decoration:none}.rte-link.subtle:visited:focus-visible{color:var(--content-link-primary);text-decoration:none;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-link.subtle:not(:visited){color:var(--content-primary);text-decoration:none}.rte-link.subtle:not(:visited):hover{color:var(--content-secondary);text-decoration:underline}.rte-link.subtle:not(:visited):active{color:var(--content-primary);text-decoration:none}.rte-link.subtle:not(:visited):focus-visible{color:var(--content-primary);text-decoration:none;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}\n"] }]
|
|
19
19
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9saW5rL2xpbmsuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbGluay9saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQVV2RCxNQUFNLE9BQU8sYUFBYTtJQVIxQjtRQVNXLFVBQUssR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsU0FBSSxHQUFHLEtBQUssQ0FBUyxHQUFHLENBQUMsQ0FBQztRQUMxQixXQUFNLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQy9CLGlCQUFZLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0tBQy9DOytHQUxZLGFBQWE7bUdBQWIsYUFBYSxxa0JDYjFCLGtYQUtJLHFyRURFUSxZQUFZLGlPQUFFLGFBQWE7OzRGQU0xQixhQUFhO2tCQVJ6QixTQUFTOytCQUNFLFVBQVUsV0FDWCxDQUFDLFlBQVksRUFBRSxhQUFhLENBQUMsY0FDMUIsSUFBSSxtQkFHQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljb24vaWNvbi5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS1saW5rXCIsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Db21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogXCIuL2xpbmsuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9saW5rLmNvbXBvbmVudC5zY3NzXCIsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBMaW5rQ29tcG9uZW50IHtcbiAgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dChcIlwiKTtcbiAgcmVhZG9ubHkgaHJlZiA9IGlucHV0PHN0cmluZz4oXCIjXCIpO1xuICByZWFkb25seSBzdWJ0bGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGV4dGVybmFsTGluayA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbn1cbiIsIjxhIGhyZWY9XCJ7eyBocmVmKCkgfX1cIiBjbGFzcz1cInJ0ZS1saW5rXCIgcm9sZT1cImxpbmtcIiBbbmdDbGFzc109XCJ7J3N1YnRsZSc6IHN1YnRsZSgpfVwiIFt0YXJnZXRdPVwiZXh0ZXJuYWxMaW5rKCkgPyAnX2JsYW5rJyA6IHVuZGVmaW5lZFwiIFtyZWxdPVwiZXh0ZXJuYWxMaW5rKCkgPyAnbm9vcGVuZXIgbm9yZWZlcnJlcicgOiBudWxsXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJydGUtbGluay1sYWJlbFwiPlxuICAgICAgICB7eyBsYWJlbCgpIH19XG4gICAgPC9zcGFuPlxuICAgIDxydGUtaWNvbiAqbmdJZj1cImV4dGVybmFsTGluaygpXCIgbmFtZT1cImV4dGVybmFsLWxpbmtcIiBbc2l6ZV09XCIxMlwiPjwvcnRlLWljb24+XG48L2E+Il19
|
|
@@ -7,6 +7,7 @@ import * as i0 from "@angular/core";
|
|
|
7
7
|
import * as i1 from "@angular/common";
|
|
8
8
|
export class TextInputComponent {
|
|
9
9
|
constructor() {
|
|
10
|
+
this.id = input();
|
|
10
11
|
this.label = input("");
|
|
11
12
|
this.labelPosition = input("top");
|
|
12
13
|
this.required = input(false);
|
|
@@ -97,10 +98,10 @@ export class TextInputComponent {
|
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
100
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: TextInputComponent, isStandalone: true, selector: "rte-text-input", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, showCounter: { classPropertyName: "showCounter", publicName: "showCounter", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, leftIcon: { classPropertyName: "leftIcon", publicName: "leftIcon", isSignal: true, isRequired: false, transformFunction: null }, showRightIcon: { classPropertyName: "showRightIcon", publicName: "showRightIcon", isSignal: true, isRequired: false, transformFunction: null }, rightIconAction: { classPropertyName: "rightIconAction", publicName: "rightIconAction", isSignal: true, isRequired: false, transformFunction: null }, showLabelRequirement: { classPropertyName: "showLabelRequirement", publicName: "showLabelRequirement", isSignal: true, isRequired: false, transformFunction: null }, assistiveAppearance: { classPropertyName: "assistiveAppearance", publicName: "assistiveAppearance", isSignal: true, isRequired: false, transformFunction: null }, showAssistiveIcon: { classPropertyName: "showAssistiveIcon", publicName: "showAssistiveIcon", isSignal: true, isRequired: false, transformFunction: null }, assistiveTextLabel: { classPropertyName: "assistiveTextLabel", publicName: "assistiveTextLabel", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaRequired: { classPropertyName: "ariaRequired", publicName: "ariaRequired", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "ariaLabelledby", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", rightIconClick: "rightIconClick" }, ngImport: i0, template: "<div\n class=\"container {{labelPosition()}}\"\n [ngClass]=\"{'error': error()}\"\n [style.width]=\"width()\"\n>\n <ng-container *ngIf=\"label()\">\n <div class=\"text\">\n <div class=\"label-container\">\n <label class=\"input-label\" id=\"inputLabel\">\n {{ label() }}\n </label>\n <ng-container *ngIf=\"required()\">\n <ng-container *ngIf=\"showLabelRequirement(); else requiredIcon\">\n <span class=\"required-text\">(obligatoire)</span>\n </ng-container>\n <ng-template #requiredIcon>\n <span class=\"required-icon-container\">\n <rte-icon name=\"asterisk\" [size]=\"8\" />\n </span>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!required() && showLabelRequirement()\">\n <span class=\"required-text\">(optionnel)</span>\n </ng-container>\n </div>\n <ng-container *ngIf=\"displayCounter() && labelPosition() === 'top'\">\n <p class=\"input-counter\" data-testid=\"input-counter\">\n {{ characterCount() }}/{{ maxLength() }}\n </p>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"input-container\">\n <div\n class=\"input {{labelPosition()}}\"\n [ngClass]=\"{'disabled': disabled(), 'read-only': readOnly()}\"\n >\n <div class=\"input-bar\" [ngClass]=\"{'with-left-icon': displayedLeftIcon(), 'with-right-icon': rightIconAction()}\">\n <ng-container *ngIf=\"displayedLeftIcon()\">\n <rte-icon\n appearance=\"outlined\"\n class=\"left-icon\"\n aria-hidden=\"true\"\n [name]=\"displayedLeftIcon()!\"\n />\n </ng-container>\n\n <input\n #inputRef\n class=\"input-field\"\n [ngClass]=\"{'error': error()}\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-required]=\"ariaRequired()\"\n [type]=\"isHiddenInput() ? 'password' : 'text'\"\n [maxLength]=\"maxLength()\"\n [disabled]=\"disabled()\"\n [readOnly]=\"readOnly()\"\n [value]=\"internalValue()\"\n (input)=\"handleChange($event)\"\n />\n\n <ng-container *ngIf=\"shouldShowRightIcon()\">\n <rte-icon-button\n appearance=\"outlined\"\n variant=\"transparent\"\n class=\"right-icon\"\n data-testid=\"right-icon\"\n [name]=\"rightIconName() || 'close'\"\n [ariaLabel]=\"rightIconAriaLabel()\"\n (click)=\"onRightIconClickHandler()\"\n />\n </ng-container>\n </div>\n </div>\n\n <ng-container *ngIf=\"assistiveTextLabel()\">\n <div class=\"assistive-text\">\n <ng-container *ngIf=\"showAssistiveIcon() && assistiveAppearance() === 'error'\">\n <rte-icon name=\"error\" appearance=\"outlined\" class=\"assistive-icon-error\" [size]=\"12\" />\n </ng-container>\n <ng-container *ngIf=\"showAssistiveIcon() && assistiveAppearance() === 'success'\">\n <rte-icon name=\"check\" appearance=\"outlined\" class=\"assistive-icon-success\" [size]=\"12\" />\n </ng-container>\n <ng-container *ngIf=\"assistiveAppearance() === 'link'; else assistiveLabel\">\n <rte-link [label]=\"assistiveTextLabel()\" />\n </ng-container>\n <ng-template #assistiveLabel>\n <p class=\"assistive-label\" [ngClass]=\"assistiveAppearance()\">\n {{ assistiveTextLabel() }}\n </p>\n </ng-template>\n </div>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"displayCounter() && labelPosition() === 'side'\">\n <p class=\"input-counter\" data-testid=\"input-counter\">\n {{ characterCount() }}/{{ maxLength() }}\n </p>\n </ng-container>\n</div>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.container{display:flex;width:300px;padding:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:0px}.container.side{align-items:center;flex-direction:row}.container.side .text{width:auto;align-items:center}.container.side .input-counter{padding:0 8px}.container.error .input-container .input .input-bar .left-icon{color:var(--content-danger)}.container .text{width:100%;display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;padding:2px 8px;box-sizing:border-box}.container .text .label-container{display:flex;align-items:flex-start}.container .text .label-container .input-label{color:var(--content-secondary);font-family:Arial;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px}.container .text .label-container .required-text{color:var(--content-tertiary);align-self:center;font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px;margin-block:0px;margin-inline:4px}.container .text .label-container .required-icon-container{color:var(--content-danger);display:flex;align-items:center;justify-content:center;margin-inline:4px}.container .input-container{display:flex;flex-direction:column;height:32px;width:100%;min-width:48px;min-height:32px;max-height:32px;align-self:stretch}.container .input-container .input .input-bar{position:relative;display:flex;align-items:center}.container .input-container .input .input-bar.with-left-icon .input-field{padding-left:32px}.container .input-container .input .input-bar.with-right-icon .input-field{padding-right:32px}.container .input-container .input .input-bar .left-icon{position:absolute;left:8px;color:var(--content-secondary)}.container .input-container .input .input-bar .right-icon{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;color:var(--content-secondary)}.container .input-container .input .input-bar .right-icon ::ng-deep .rte-icon-button{color:var(--content-secondary);height:24px;width:24px;padding:0 2px}.container .input-container .input .input-bar .right-icon ::ng-deep .rte-icon-button:focus{outline:none}.container .input-container .input .input-bar .right-icon ::ng-deep .rte-icon-button:focus-visible{outline:1px solid var(--border-brand-focused);border-radius:8px}.container .input-container .input .input-bar .right-icon ::ng-deep .rte-icon-button:focus-visible:after{display:none}.container .input-container .input .input-bar .input-field{box-sizing:border-box;appearance:none;width:100%;height:32px;min-width:48px;max-height:32px;border-radius:4px;border:1px solid var(--border-secondary);padding:4px 16px;background:linear-gradient(0deg,var(--elevation-surface-inner-shadow) 0%,var(--elevation-surface-inner-shadow) 100%),var(--background-default);transition:border .2s,outline .2s;color:var(--content-primary);box-shadow:inset 0 1px 4px 0 var(--elevation-shadow-key)}.container .input-container .input .input-bar .input-field:hover{outline:1px solid var(--border-primary);border-color:var(--border-primary)}.container .input-container .input .input-bar .input-field:focus{outline:1px solid var(--border-brand-default);border-color:var(--border-brand-default)}.container .input-container .input .input-bar .input-field:active{outline:1px solid var(--border-brand-default);border-color:var(--border-brand-default)}.container .input-container .input .input-bar .input-field:disabled,.container .input-container .input .input-bar .input-field:read-only{outline:1px solid var(--border-brand-disabled);border-color:var(--border-disabled);background:linear-gradient(0deg,var(--elevation-surface-inner-shadow) 0%,var(--elevation-surface-inner-shadow) 100%),var(--background-disabled);cursor:not-allowed}.container .input-container .input .input-bar .input-field.error{outline:1px solid var(--border-danger);border-color:var(--border-danger)}.container .input-container .assistive-text{display:flex;align-items:center;gap:4px;padding:4px 8px}.container .input-container .assistive-text .assistive-icon-error{color:var(--content-danger)}.container .input-container .assistive-text .assistive-icon-success{color:var(--content-success)}.container .input-container .assistive-text .assistive-label{transition:color .2s}.container .input-container .assistive-text .assistive-label.error{color:var(--content-danger);font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:12px;line-height:16px;letter-spacing:0px;margin:0}.container .input-container .assistive-text .assistive-label.success{color:var(--content-success);font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:12px;line-height:16px;letter-spacing:0px;margin:0}.container .input-container .assistive-text .assistive-label.description{color:var(--content-tertiary);font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px;margin:0}.input-counter{color:var(--content-tertiary);font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px;margin-block:0px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: IconButtonComponent, selector: "rte-icon-button", inputs: ["disabled", "name", "size", "variant", "type", "appearance", "compactSpacing", "ariaLabel", "ariaLabelledBy"], outputs: ["click"] }, { kind: "component", type: LinkComponent, selector: "rte-link", inputs: ["label", "href", "subtle", "externalLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
101
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.12", type: TextInputComponent, isStandalone: true, selector: "rte-text-input", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelPosition: { classPropertyName: "labelPosition", publicName: "labelPosition", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, showCounter: { classPropertyName: "showCounter", publicName: "showCounter", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, leftIcon: { classPropertyName: "leftIcon", publicName: "leftIcon", isSignal: true, isRequired: false, transformFunction: null }, showRightIcon: { classPropertyName: "showRightIcon", publicName: "showRightIcon", isSignal: true, isRequired: false, transformFunction: null }, rightIconAction: { classPropertyName: "rightIconAction", publicName: "rightIconAction", isSignal: true, isRequired: false, transformFunction: null }, showLabelRequirement: { classPropertyName: "showLabelRequirement", publicName: "showLabelRequirement", isSignal: true, isRequired: false, transformFunction: null }, assistiveAppearance: { classPropertyName: "assistiveAppearance", publicName: "assistiveAppearance", isSignal: true, isRequired: false, transformFunction: null }, showAssistiveIcon: { classPropertyName: "showAssistiveIcon", publicName: "showAssistiveIcon", isSignal: true, isRequired: false, transformFunction: null }, assistiveTextLabel: { classPropertyName: "assistiveTextLabel", publicName: "assistiveTextLabel", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readOnly: { classPropertyName: "readOnly", publicName: "readOnly", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaRequired: { classPropertyName: "ariaRequired", publicName: "ariaRequired", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledby: { classPropertyName: "ariaLabelledby", publicName: "ariaLabelledby", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", rightIconClick: "rightIconClick" }, ngImport: i0, template: "<div\n class=\"container {{labelPosition()}}\"\n [ngClass]=\"{'error': error()}\"\n [style.width]=\"width()\"\n>\n <ng-container *ngIf=\"label()\">\n <div class=\"text\">\n <div class=\"label-container\">\n <label class=\"input-label\" [id]=\"'input-label-' + id\" [for]=\"id()\">\n {{ label() }}\n </label>\n <ng-container *ngIf=\"required()\">\n <ng-container *ngIf=\"showLabelRequirement(); else requiredIcon\">\n <span class=\"required-text\">(obligatoire)</span>\n </ng-container>\n <ng-template #requiredIcon>\n <span class=\"required-icon-container\">\n <rte-icon name=\"asterisk\" [size]=\"8\" />\n </span>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!required() && showLabelRequirement()\">\n <span class=\"required-text\">(optionnel)</span>\n </ng-container>\n </div>\n <ng-container *ngIf=\"displayCounter() && labelPosition() === 'top'\">\n <p class=\"input-counter\" data-testid=\"input-counter\">\n {{ characterCount() }}/{{ maxLength() }}\n </p>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"input-container\">\n <div\n class=\"input {{labelPosition()}}\"\n [ngClass]=\"{'disabled': disabled(), 'read-only': readOnly()}\"\n >\n <div class=\"input-bar\" [ngClass]=\"{'with-left-icon': displayedLeftIcon(), 'with-right-icon': rightIconAction()}\">\n <ng-container *ngIf=\"displayedLeftIcon()\">\n <rte-icon\n appearance=\"outlined\"\n class=\"left-icon\"\n aria-hidden=\"true\"\n [name]=\"displayedLeftIcon()!\"\n />\n </ng-container>\n\n <input\n #inputRef\n class=\"input-field\"\n [id]=\"id()\"\n [ngClass]=\"{'error': error()}\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-required]=\"ariaRequired()\"\n [type]=\"isHiddenInput() ? 'password' : 'text'\"\n [maxLength]=\"maxLength()\"\n [disabled]=\"disabled()\"\n [readOnly]=\"readOnly()\"\n [value]=\"internalValue()\"\n (input)=\"handleChange($event)\"\n />\n\n <ng-container *ngIf=\"shouldShowRightIcon()\">\n <rte-icon-button\n appearance=\"outlined\"\n variant=\"transparent\"\n class=\"right-icon\"\n data-testid=\"right-icon\"\n [name]=\"rightIconName() || 'close'\"\n [ariaLabel]=\"rightIconAriaLabel()\"\n (click)=\"onRightIconClickHandler()\"\n />\n </ng-container>\n </div>\n </div>\n\n <ng-container *ngIf=\"assistiveTextLabel()\">\n <div class=\"assistive-text\">\n <ng-container *ngIf=\"showAssistiveIcon() && assistiveAppearance() === 'error'\">\n <rte-icon name=\"error\" appearance=\"outlined\" class=\"assistive-icon-error\" [size]=\"12\" />\n </ng-container>\n <ng-container *ngIf=\"showAssistiveIcon() && assistiveAppearance() === 'success'\">\n <rte-icon name=\"check\" appearance=\"outlined\" class=\"assistive-icon-success\" [size]=\"12\" />\n </ng-container>\n <ng-container *ngIf=\"assistiveAppearance() === 'link'; else assistiveLabel\">\n <rte-link [label]=\"assistiveTextLabel()\" />\n </ng-container>\n <ng-template #assistiveLabel>\n <p class=\"assistive-label\" [ngClass]=\"assistiveAppearance()\">\n {{ assistiveTextLabel() }}\n </p>\n </ng-template>\n </div>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"displayCounter() && labelPosition() === 'side'\">\n <p class=\"input-counter\" data-testid=\"input-counter\">\n {{ characterCount() }}/{{ maxLength() }}\n </p>\n </ng-container>\n</div>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.container{display:flex;width:300px;padding:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:0px}.container.side{align-items:center;flex-direction:row}.container.side .text{width:auto;align-items:center}.container.side .input-counter{padding:0 8px}.container.error .input-container .input .input-bar .left-icon{color:var(--content-danger)}.container .text{width:100%;display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;padding:2px 8px;box-sizing:border-box}.container .text .label-container{display:flex;align-items:flex-start}.container .text .label-container .input-label{color:var(--content-secondary);font-family:Arial;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px}.container .text .label-container .required-text{color:var(--content-tertiary);align-self:center;font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px;margin-block:0px;margin-inline:4px}.container .text .label-container .required-icon-container{color:var(--content-danger);display:flex;align-items:center;justify-content:center;margin-inline:4px}.container .input-container{display:flex;flex-direction:column;height:32px;width:100%;min-width:48px;min-height:32px;max-height:32px;align-self:stretch}.container .input-container .input .input-bar{position:relative;display:flex;align-items:center}.container .input-container .input .input-bar.with-left-icon .input-field{padding-left:32px}.container .input-container .input .input-bar.with-right-icon .input-field{padding-right:32px}.container .input-container .input .input-bar .left-icon{position:absolute;left:8px;color:var(--content-secondary)}.container .input-container .input .input-bar .right-icon{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;color:var(--content-secondary)}.container .input-container .input .input-bar .right-icon ::ng-deep .rte-icon-button{color:var(--content-secondary);height:24px;width:24px;padding:0 2px}.container .input-container .input .input-bar .right-icon ::ng-deep .rte-icon-button:focus{outline:none}.container .input-container .input .input-bar .right-icon ::ng-deep .rte-icon-button:focus-visible{outline:1px solid var(--border-brand-focused);border-radius:8px}.container .input-container .input .input-bar .right-icon ::ng-deep .rte-icon-button:focus-visible:after{display:none}.container .input-container .input .input-bar .input-field{box-sizing:border-box;appearance:none;width:100%;height:32px;min-width:48px;max-height:32px;border-radius:4px;border:1px solid var(--border-secondary);padding:4px 16px;background:linear-gradient(0deg,var(--elevation-surface-inner-shadow) 0%,var(--elevation-surface-inner-shadow) 100%),var(--background-default);transition:border .2s,outline .2s;color:var(--content-primary);box-shadow:inset 0 1px 4px 0 var(--elevation-shadow-key)}.container .input-container .input .input-bar .input-field:hover{outline:1px solid var(--border-primary);border-color:var(--border-primary)}.container .input-container .input .input-bar .input-field:focus{outline:1px solid var(--border-brand-default);border-color:var(--border-brand-default)}.container .input-container .input .input-bar .input-field:active{outline:1px solid var(--border-brand-default);border-color:var(--border-brand-default)}.container .input-container .input .input-bar .input-field:disabled,.container .input-container .input .input-bar .input-field:read-only{outline:1px solid var(--border-brand-disabled);border-color:var(--border-disabled);background:linear-gradient(0deg,var(--elevation-surface-inner-shadow) 0%,var(--elevation-surface-inner-shadow) 100%),var(--background-disabled);cursor:not-allowed}.container .input-container .input .input-bar .input-field.error{outline:1px solid var(--border-danger);border-color:var(--border-danger)}.container .input-container .assistive-text{display:flex;align-items:center;gap:4px;padding:4px 8px}.container .input-container .assistive-text .assistive-icon-error{color:var(--content-danger)}.container .input-container .assistive-text .assistive-icon-success{color:var(--content-success)}.container .input-container .assistive-text .assistive-label{transition:color .2s}.container .input-container .assistive-text .assistive-label.error{color:var(--content-danger);font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:12px;line-height:16px;letter-spacing:0px;margin:0}.container .input-container .assistive-text .assistive-label.success{color:var(--content-success);font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:12px;line-height:16px;letter-spacing:0px;margin:0}.container .input-container .assistive-text .assistive-label.description{color:var(--content-tertiary);font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px;margin:0}.input-counter{color:var(--content-tertiary);font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px;margin-block:0px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconComponent, selector: "rte-icon", inputs: ["name", "size", "color", "classes", "appearance"] }, { kind: "component", type: IconButtonComponent, selector: "rte-icon-button", inputs: ["disabled", "name", "size", "variant", "type", "appearance", "compactSpacing", "ariaLabel", "ariaLabelledBy"], outputs: ["click"] }, { kind: "component", type: LinkComponent, selector: "rte-link", inputs: ["label", "href", "subtle", "externalLink"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
101
102
|
}
|
|
102
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TextInputComponent, decorators: [{
|
|
103
104
|
type: Component,
|
|
104
|
-
args: [{ selector: "rte-text-input", imports: [CommonModule, IconComponent, IconButtonComponent, LinkComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"container {{labelPosition()}}\"\n [ngClass]=\"{'error': error()}\"\n [style.width]=\"width()\"\n>\n <ng-container *ngIf=\"label()\">\n <div class=\"text\">\n <div class=\"label-container\">\n <label class=\"input-label\" id=\"
|
|
105
|
+
args: [{ selector: "rte-text-input", imports: [CommonModule, IconComponent, IconButtonComponent, LinkComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"container {{labelPosition()}}\"\n [ngClass]=\"{'error': error()}\"\n [style.width]=\"width()\"\n>\n <ng-container *ngIf=\"label()\">\n <div class=\"text\">\n <div class=\"label-container\">\n <label class=\"input-label\" [id]=\"'input-label-' + id\" [for]=\"id()\">\n {{ label() }}\n </label>\n <ng-container *ngIf=\"required()\">\n <ng-container *ngIf=\"showLabelRequirement(); else requiredIcon\">\n <span class=\"required-text\">(obligatoire)</span>\n </ng-container>\n <ng-template #requiredIcon>\n <span class=\"required-icon-container\">\n <rte-icon name=\"asterisk\" [size]=\"8\" />\n </span>\n </ng-template>\n </ng-container>\n <ng-container *ngIf=\"!required() && showLabelRequirement()\">\n <span class=\"required-text\">(optionnel)</span>\n </ng-container>\n </div>\n <ng-container *ngIf=\"displayCounter() && labelPosition() === 'top'\">\n <p class=\"input-counter\" data-testid=\"input-counter\">\n {{ characterCount() }}/{{ maxLength() }}\n </p>\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"input-container\">\n <div\n class=\"input {{labelPosition()}}\"\n [ngClass]=\"{'disabled': disabled(), 'read-only': readOnly()}\"\n >\n <div class=\"input-bar\" [ngClass]=\"{'with-left-icon': displayedLeftIcon(), 'with-right-icon': rightIconAction()}\">\n <ng-container *ngIf=\"displayedLeftIcon()\">\n <rte-icon\n appearance=\"outlined\"\n class=\"left-icon\"\n aria-hidden=\"true\"\n [name]=\"displayedLeftIcon()!\"\n />\n </ng-container>\n\n <input\n #inputRef\n class=\"input-field\"\n [id]=\"id()\"\n [ngClass]=\"{'error': error()}\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledby()\"\n [attr.aria-required]=\"ariaRequired()\"\n [type]=\"isHiddenInput() ? 'password' : 'text'\"\n [maxLength]=\"maxLength()\"\n [disabled]=\"disabled()\"\n [readOnly]=\"readOnly()\"\n [value]=\"internalValue()\"\n (input)=\"handleChange($event)\"\n />\n\n <ng-container *ngIf=\"shouldShowRightIcon()\">\n <rte-icon-button\n appearance=\"outlined\"\n variant=\"transparent\"\n class=\"right-icon\"\n data-testid=\"right-icon\"\n [name]=\"rightIconName() || 'close'\"\n [ariaLabel]=\"rightIconAriaLabel()\"\n (click)=\"onRightIconClickHandler()\"\n />\n </ng-container>\n </div>\n </div>\n\n <ng-container *ngIf=\"assistiveTextLabel()\">\n <div class=\"assistive-text\">\n <ng-container *ngIf=\"showAssistiveIcon() && assistiveAppearance() === 'error'\">\n <rte-icon name=\"error\" appearance=\"outlined\" class=\"assistive-icon-error\" [size]=\"12\" />\n </ng-container>\n <ng-container *ngIf=\"showAssistiveIcon() && assistiveAppearance() === 'success'\">\n <rte-icon name=\"check\" appearance=\"outlined\" class=\"assistive-icon-success\" [size]=\"12\" />\n </ng-container>\n <ng-container *ngIf=\"assistiveAppearance() === 'link'; else assistiveLabel\">\n <rte-link [label]=\"assistiveTextLabel()\" />\n </ng-container>\n <ng-template #assistiveLabel>\n <p class=\"assistive-label\" [ngClass]=\"assistiveAppearance()\">\n {{ assistiveTextLabel() }}\n </p>\n </ng-template>\n </div>\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"displayCounter() && labelPosition() === 'side'\">\n <p class=\"input-counter\" data-testid=\"input-counter\">\n {{ characterCount() }}/{{ maxLength() }}\n </p>\n </ng-container>\n</div>", styles: ["@import\"https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:wght,FILL,GRAD@400,0,0&display=swap\";@import\"https://fonts.googleapis.com/css2?family=Nunito:ital,wght@0,200..1000;1,200..1000&display=swap\";.container{display:flex;width:300px;padding:0;flex-direction:column;justify-content:center;align-items:flex-start;gap:0px}.container.side{align-items:center;flex-direction:row}.container.side .text{width:auto;align-items:center}.container.side .input-counter{padding:0 8px}.container.error .input-container .input .input-bar .left-icon{color:var(--content-danger)}.container .text{width:100%;display:flex;flex-direction:row;align-items:flex-end;justify-content:space-between;padding:2px 8px;box-sizing:border-box}.container .text .label-container{display:flex;align-items:flex-start}.container .text .label-container .input-label{color:var(--content-secondary);font-family:Arial;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px}.container .text .label-container .required-text{color:var(--content-tertiary);align-self:center;font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px;margin-block:0px;margin-inline:4px}.container .text .label-container .required-icon-container{color:var(--content-danger);display:flex;align-items:center;justify-content:center;margin-inline:4px}.container .input-container{display:flex;flex-direction:column;height:32px;width:100%;min-width:48px;min-height:32px;max-height:32px;align-self:stretch}.container .input-container .input .input-bar{position:relative;display:flex;align-items:center}.container .input-container .input .input-bar.with-left-icon .input-field{padding-left:32px}.container .input-container .input .input-bar.with-right-icon .input-field{padding-right:32px}.container .input-container .input .input-bar .left-icon{position:absolute;left:8px;color:var(--content-secondary)}.container .input-container .input .input-bar .right-icon{position:absolute;right:8px;display:flex;align-items:center;justify-content:center;color:var(--content-secondary)}.container .input-container .input .input-bar .right-icon ::ng-deep .rte-icon-button{color:var(--content-secondary);height:24px;width:24px;padding:0 2px}.container .input-container .input .input-bar .right-icon ::ng-deep .rte-icon-button:focus{outline:none}.container .input-container .input .input-bar .right-icon ::ng-deep .rte-icon-button:focus-visible{outline:1px solid var(--border-brand-focused);border-radius:8px}.container .input-container .input .input-bar .right-icon ::ng-deep .rte-icon-button:focus-visible:after{display:none}.container .input-container .input .input-bar .input-field{box-sizing:border-box;appearance:none;width:100%;height:32px;min-width:48px;max-height:32px;border-radius:4px;border:1px solid var(--border-secondary);padding:4px 16px;background:linear-gradient(0deg,var(--elevation-surface-inner-shadow) 0%,var(--elevation-surface-inner-shadow) 100%),var(--background-default);transition:border .2s,outline .2s;color:var(--content-primary);box-shadow:inset 0 1px 4px 0 var(--elevation-shadow-key)}.container .input-container .input .input-bar .input-field:hover{outline:1px solid var(--border-primary);border-color:var(--border-primary)}.container .input-container .input .input-bar .input-field:focus{outline:1px solid var(--border-brand-default);border-color:var(--border-brand-default)}.container .input-container .input .input-bar .input-field:active{outline:1px solid var(--border-brand-default);border-color:var(--border-brand-default)}.container .input-container .input .input-bar .input-field:disabled,.container .input-container .input .input-bar .input-field:read-only{outline:1px solid var(--border-brand-disabled);border-color:var(--border-disabled);background:linear-gradient(0deg,var(--elevation-surface-inner-shadow) 0%,var(--elevation-surface-inner-shadow) 100%),var(--background-disabled);cursor:not-allowed}.container .input-container .input .input-bar .input-field.error{outline:1px solid var(--border-danger);border-color:var(--border-danger)}.container .input-container .assistive-text{display:flex;align-items:center;gap:4px;padding:4px 8px}.container .input-container .assistive-text .assistive-icon-error{color:var(--content-danger)}.container .input-container .assistive-text .assistive-icon-success{color:var(--content-success)}.container .input-container .assistive-text .assistive-label{transition:color .2s}.container .input-container .assistive-text .assistive-label.error{color:var(--content-danger);font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:12px;line-height:16px;letter-spacing:0px;margin:0}.container .input-container .assistive-text .assistive-label.success{color:var(--content-success);font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:700;font-size:12px;line-height:16px;letter-spacing:0px;margin:0}.container .input-container .assistive-text .assistive-label.description{color:var(--content-tertiary);font-feature-settings:\"liga\" off,\"clig\" off;font-style:normal;font-family:Arial;font-weight:400;font-size:12px;line-height:16px;letter-spacing:0px;margin:0}.input-counter{color:var(--content-tertiary);font-family:Arial;font-size:12px;font-weight:400;line-height:16px;letter-spacing:0px;margin-block:0px}\n"] }]
|
|
105
106
|
}], ctorParameters: () => [] });
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBVXZELE1BQU0sT0FBTyxrQkFBa0I7SUE4RDdCO1FBN0RTLFVBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxLQUFLLENBQWlCLEtBQUssQ0FBQyxDQUFDO1FBQzdDLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDakMsZ0JBQVcsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDcEMsVUFBSyxHQUFHLEtBQUssQ0FBUyxFQUFFLENBQUMsQ0FBQztRQUMxQixrQkFBYSxHQUFHLE1BQU0sQ0FBUyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUM3QyxhQUFRLEdBQUcsS0FBSyxDQUErQyxJQUFJLENBQUMsQ0FB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WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCwgb3V0cHV0LCBzaWduYWwsIGNvbXB1dGVkLCBlZmZlY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5pbXBvcnQgeyBJY29uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljb24vaWNvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7IFJlZ3VsYXJJY29uSWRLZXksIFRvZ2dsYWJsZUljb25JZEtleSB9IGZyb20gXCIuLi9pY29uL2ljb24uc2VydmljZVwiO1xuaW1wb3J0IHsgSWNvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9pY29uLWJ1dHRvbi9pY29uLWJ1dHRvbi5jb21wb25lbnRcIjtcbmltcG9ydCB7IExpbmtDb21wb25lbnQgfSBmcm9tIFwiLi4vbGluay9saW5rLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicnRlLXRleHQtaW5wdXRcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbkNvbXBvbmVudCwgSWNvbkJ1dHRvbkNvbXBvbmVudCwgTGlua0NvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vdGV4dC1pbnB1dC5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybDogXCIuL3RleHQtaW5wdXQuY29tcG9uZW50LnNjc3NcIixcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIFRleHRJbnB1dENvbXBvbmVudCB7XG4gIHJlYWRvbmx5IGxhYmVsID0gaW5wdXQ8c3RyaW5nPihcIlwiKTtcbiAgcmVhZG9ubHkgbGFiZWxQb3NpdGlvbiA9IGlucHV0PFwidG9wXCIgfCBcInNpZGVcIj4oXCJ0b3BcIik7XG4gIHJlYWRvbmx5IHJlcXVpcmVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBzaG93Q291bnRlciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgdmFsdWUgPSBpbnB1dDxzdHJpbmc+KFwiXCIpO1xuICByZWFkb25seSBpbnRlcm5hbFZhbHVlID0gc2lnbmFsPHN0cmluZz4odGhpcy52YWx1ZSgpKTtcbiAgcmVhZG9ubHkgbGVmdEljb24gPSBpbnB1dDxSZWd1bGFySWNvbklkS2V5IHwgVG9nZ2xhYmxlSWNvbklkS2V5IHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IHNob3dSaWdodEljb24gPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgcmVhZG9ubHkgcmlnaHRJY29uQWN0aW9uID0gaW5wdXQ8XCJjbGVhblwiIHwgXCJ2aXNpYmlsaXR5T25cIiB8IFwidmlzaWJpbGl0eU9mZlwiPihcImNsZWFuXCIpO1xuICByZWFkb25seSBzaG93TGFiZWxSZXF1aXJlbWVudCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgYXNzaXN0aXZlQXBwZWFyYW5jZSA9IGlucHV0PFwiZGVzY3JpcHRpb25cIiB8IFwiZXJyb3JcIiB8IFwic3VjY2Vzc1wiIHwgXCJsaW5rXCI+KFwiZGVzY3JpcHRpb25cIik7XG4gIHJlYWRvbmx5IHNob3dBc3Npc3RpdmVJY29uID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBhc3Npc3RpdmVUZXh0TGFiZWwgPSBpbnB1dDxzdHJpbmc+KFwiXCIpO1xuICByZWFkb25seSBlcnJvciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgbWF4TGVuZ3RoID0gaW5wdXQ8bnVtYmVyPigxNTApO1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcmVhZE9ubHkgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQ8c3RyaW5nPihcIjMwMHB4XCIpO1xuICByZWFkb25seSBhcmlhTGFiZWwgPSBpbnB1dDxzdHJpbmc+KFwiXCIpO1xuICByZWFkb25seSBhcmlhUmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGFyaWFMYWJlbGxlZGJ5ID0gaW5wdXQ8c3RyaW5nPihcIlwiKTtcblxuICByZWFkb25seSB2YWx1ZUNoYW5nZSA9IG91dHB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IHJpZ2h0SWNvbkNsaWNrID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgY2hhcmFjdGVyQ291bnQgPSBzaWduYWw8bnVtYmVyPih0aGlzLmludGVybmFsVmFsdWUoKS5sZW5ndGgpO1xuICByZWFkb25seSBpc0hpZGRlbklucHV0ID0gc2lnbmFsPGJvb2xlYW4+KHRoaXMuc2hvd1JpZ2h0SWNvbigpICYmIHRoaXMucmlnaHRJY29uQWN0aW9uKCkgPT09IFwidmlzaWJpbGl0eU9uXCIpO1xuICByZWFkb25seSBkaXNwbGF5ZWRMZWZ0SWNvbiA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmVycm9yKCkgPyBcImVycm9yXCIgOiB0aGlzLmxlZnRJY29uKCkpKTtcblxuICByZWFkb25seSBkaXNwbGF5Q291bnRlciA9IGNvbXB1dGVkKCgpID0+IHRoaXMuc2hvd0NvdW50ZXIoKSAmJiB0eXBlb2YgdGhpcy5tYXhMZW5ndGgoKSA9PT0gXCJudW1iZXJcIik7XG5cbiAgcmVhZG9ubHkgcmlnaHRJY29uTmFtZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAoW1widmlzaWJpbGl0eU9uXCIsIFwidmlzaWJpbGl0eU9mZlwiXS5pbmNsdWRlcyh0aGlzLnJpZ2h0SWNvbkFjdGlvbigpKSkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNIaWRkZW5JbnB1dCgpID8gXCJ2aXNpYmlsaXR5LXNob3dcIiA6IFwidmlzaWJpbGl0eS1oaWRlXCI7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJpZ2h0SWNvbkFjdGlvbigpID09PSBcImNsZWFuXCIpIHtcbiAgICAgIHJldHVybiBcImNsb3NlXCI7XG4gICAgfVxuICAgIHJldHVybiBcIlwiO1xuICB9KTtcblxuICByZWFkb25seSByaWdodEljb25BcmlhTGFiZWwgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgaWYgKFtcInZpc2liaWxpdHlPblwiLCBcInZpc2liaWxpdHlPZmZcIl0uaW5jbHVkZXModGhpcy5yaWdodEljb25BY3Rpb24oKSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmlzSGlkZGVuSW5wdXQoKSA/IFwic2hvdyB0ZXh0XCIgOiBcImhpZGUgdGV4dFwiO1xuICAgIH0gZWxzZSBpZiAodGhpcy5yaWdodEljb25BY3Rpb24oKSA9PT0gXCJjbGVhblwiKSB7XG4gICAgICByZXR1cm4gXCJjbGVhclwiO1xuICAgIH1cbiAgICByZXR1cm4gXCJcIjtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2hvdWxkU2hvd1JpZ2h0SWNvbiA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAodGhpcy5yZWFkT25seSgpIHx8IHRoaXMuZGlzYWJsZWQoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAodGhpcy5yaWdodEljb25BY3Rpb24oKSA9PT0gXCJjbGVhblwiKSB7XG4gICAgICByZXR1cm4gISF0aGlzLmludGVybmFsVmFsdWUoKT8ubGVuZ3RoICYmIHRoaXMuc2hvd1JpZ2h0SWNvbigpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zaG93UmlnaHRJY29uKCkgJiYgISF0aGlzLnJpZ2h0SWNvbkFjdGlvbigpO1xuICB9KTtcblxuICBwcml2YXRlIGxhc3RQYXJlbnRWYWx1ZSA9IHRoaXMudmFsdWUoKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBlZmZlY3QoXG4gICAgICAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHBhcmVudFZhbHVlID0gdGhpcy52YWx1ZSgpO1xuICAgICAgICBpZiAocGFyZW50VmFsdWUgIT09IHRoaXMubGFzdFBhcmVudFZhbHVlKSB7XG4gICAgICAgICAgdGhpcy5sYXN0UGFyZW50VmFsdWUgPSBwYXJlbnRWYWx1ZTtcbiAgICAgICAgICB0aGlzLmludGVybmFsVmFsdWUuc2V0KHBhcmVudFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWxsb3dTaWduYWxXcml0ZXM6IHRydWUgfSxcbiAgICApO1xuICB9XG5cbiAgaGFuZGxlQ2hhbmdlKGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IGlucHV0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQ7XG4gICAgdGhpcy5pbnRlcm5hbFZhbHVlLnNldChpbnB1dC52YWx1ZSk7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGlucHV0LnZhbHVlKTtcbiAgICBpZiAodGhpcy5tYXhMZW5ndGgoKSkge1xuICAgICAgdGhpcy5jaGFyYWN0ZXJDb3VudC5zZXQoaW5wdXQudmFsdWUubGVuZ3RoKTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KGlucHV0LnZhbHVlKTtcbiAgfVxuXG4gIG9uUmlnaHRJY29uQ2xpY2tIYW5kbGVyKCk6IHZvaWQge1xuICAgIHRoaXMucmlnaHRJY29uQ2xpY2suZW1pdCgpO1xuICAgIHRoaXMudHJpZ2dlclJpZ2h0SWNvbkFjdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSB0b2dnbGVJbnB1dFZpc2liaWxpdHkoKTogdm9pZCB7XG4gICAgdGhpcy5pc0hpZGRlbklucHV0LnNldCghdGhpcy5pc0hpZGRlbklucHV0KCkpO1xuICB9XG5cbiAgcHJpdmF0ZSB0cmlnZ2VyUmlnaHRJY29uQWN0aW9uKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnJpZ2h0SWNvbkFjdGlvbigpID09PSBcImNsZWFuXCIpIHtcbiAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZS5zZXQoXCJcIik7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoXCJcIik7XG4gICAgICB0aGlzLmNoYXJhY3RlckNvdW50LnNldCgwKTtcbiAgICB9XG4gICAgaWYgKFtcInZpc2liaWxpdHlPblwiLCBcInZpc2liaWxpdHlPZmZcIl0uaW5jbHVkZXModGhpcy5yaWdodEljb25BY3Rpb24oKSkpIHtcbiAgICAgIHRoaXMudG9nZ2xlSW5wdXRWaXNpYmlsaXR5KCk7XG4gICAgfVxuICB9XG59XG4iLCI8ZGl2XG4gIGNsYXNzPVwiY29udGFpbmVyIHt7bGFiZWxQb3NpdGlvbigpfX1cIlxuICBbbmdDbGFzc109XCJ7J2Vycm9yJzogZXJyb3IoKX1cIlxuICBbc3R5bGUud2lkdGhdPVwid2lkdGgoKVwiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJsYWJlbCgpXCI+XG4gICAgPGRpdiBjbGFzcz1cInRleHRcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJsYWJlbC1jb250YWluZXJcIj5cbiAgICAgICAgPGxhYmVsIGNsYXNzPVwiaW5wdXQtbGFiZWxcIiBpZD1cImlucHV0TGFiZWxcIj5cbiAgICAgICAgICB7eyBsYWJlbCgpIH19XG4gICAgICAgIDwvbGFiZWw+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZXF1aXJlZCgpXCI+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dMYWJlbFJlcXVpcmVtZW50KCk7IGVsc2UgcmVxdWlyZWRJY29uXCI+XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cInJlcXVpcmVkLXRleHRcIj4ob2JsaWdhdG9pcmUpPC9zcGFuPlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjcmVxdWlyZWRJY29uPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZC1pY29uLWNvbnRhaW5lclwiPlxuICAgICAgICAgICAgICA8cnRlLWljb24gbmFtZT1cImFzdGVyaXNrXCIgW3NpemVdPVwiOFwiIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhcmVxdWlyZWQoKSAmJiBzaG93TGFiZWxSZXF1aXJlbWVudCgpXCI+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZC10ZXh0XCI+KG9wdGlvbm5lbCk8L3NwYW4+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUNvdW50ZXIoKSAmJiBsYWJlbFBvc2l0aW9uKCkgPT09ICd0b3AnXCI+XG4gICAgICAgIDxwIGNsYXNzPVwiaW5wdXQtY291bnRlclwiIGRhdGEtdGVzdGlkPVwiaW5wdXQtY291bnRlclwiPlxuICAgICAgICAgIHt7IGNoYXJhY3RlckNvdW50KCkgfX0ve3sgbWF4TGVuZ3RoKCkgfX1cbiAgICAgICAgPC9wPlxuICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXJcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cImlucHV0IHt7bGFiZWxQb3NpdGlvbigpfX1cIlxuICAgICAgW25nQ2xhc3NdPVwieydkaXNhYmxlZCc6IGRpc2FibGVkKCksICdyZWFkLW9ubHknOiByZWFkT25seSgpfVwiXG4gICAgPlxuICAgICAgPGRpdiBjbGFzcz1cImlucHV0LWJhclwiIFtuZ0NsYXNzXT1cInsnd2l0aC1sZWZ0LWljb24nOiBkaXNwbGF5ZWRMZWZ0SWNvbigpLCAnd2l0aC1yaWdodC1pY29uJzogcmlnaHRJY29uQWN0aW9uKCl9XCI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5ZWRMZWZ0SWNvbigpXCI+XG4gICAgICAgICAgPHJ0ZS1pY29uXG4gICAgICAgICAgICBhcHBlYXJhbmNlPVwib3V0bGluZWRcIlxuICAgICAgICAgICAgY2xhc3M9XCJsZWZ0LWljb25cIlxuICAgICAgICAgICAgYXJpYS1oaWRkZW49XCJ0cnVlXCJcbiAgICAgICAgICAgIFtuYW1lXT1cImRpc3BsYXllZExlZnRJY29uKCkhXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cblxuICAgICAgICA8aW5wdXRcbiAgICAgICAgICAjaW5wdXRSZWZcbiAgICAgICAgICBjbGFzcz1cImlucHV0LWZpZWxkXCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J2Vycm9yJzogZXJyb3IoKX1cIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsKClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRieSgpXCJcbiAgICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cImFyaWFSZXF1aXJlZCgpXCJcbiAgICAgICAgICBbdHlwZV09XCJpc0hpZGRlbklucHV0KCkgPyAncGFzc3dvcmQnIDogJ3RleHQnXCJcbiAgICAgICAgICBbbWF4TGVuZ3RoXT1cIm1heExlbmd0aCgpXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRPbmx5KClcIlxuICAgICAgICAgIFt2YWx1ZV09XCJpbnRlcm5hbFZhbHVlKClcIlxuICAgICAgICAgIChpbnB1dCk9XCJoYW5kbGVDaGFuZ2UoJGV2ZW50KVwiXG4gICAgICAgIC8+XG5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3VsZFNob3dSaWdodEljb24oKVwiPlxuICAgICAgICAgIDxydGUtaWNvbi1idXR0b25cbiAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiXG4gICAgICAgICAgICB2YXJpYW50PVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgY2xhc3M9XCJyaWdodC1pY29uXCJcbiAgICAgICAgICAgIGRhdGEtdGVzdGlkPVwicmlnaHQtaWNvblwiXG4gICAgICAgICAgICBbbmFtZV09XCJyaWdodEljb25OYW1lKCkgfHwgJ2Nsb3NlJ1wiXG4gICAgICAgICAgICBbYXJpYUxhYmVsXT1cInJpZ2h0SWNvbkFyaWFMYWJlbCgpXCJcbiAgICAgICAgICAgIChjbGljayk9XCJvblJpZ2h0SWNvbkNsaWNrSGFuZGxlcigpXCJcbiAgICAgICAgICAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuXG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFzc2lzdGl2ZVRleHRMYWJlbCgpXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXNzaXN0aXZlLXRleHRcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dBc3Npc3RpdmVJY29uKCkgJiYgYXNzaXN0aXZlQXBwZWFyYW5jZSgpID09PSAnZXJyb3InXCI+XG4gICAgICAgICAgPHJ0ZS1pY29uIG5hbWU9XCJlcnJvclwiIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIGNsYXNzPVwiYXNzaXN0aXZlLWljb24tZXJyb3JcIiBbc2l6ZV09XCIxMlwiIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0Fzc2lzdGl2ZUljb24oKSAmJiBhc3Npc3RpdmVBcHBlYXJhbmNlKCkgPT09ICdzdWNjZXNzJ1wiPlxuICAgICAgICAgIDxydGUtaWNvbiBuYW1lPVwiY2hlY2tcIiBhcHBlYXJhbmNlPVwib3V0bGluZWRcIiBjbGFzcz1cImFzc2lzdGl2ZS1pY29uLXN1Y2Nlc3NcIiBbc2l6ZV09XCIxMlwiIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXNzaXN0aXZlQXBwZWFyYW5jZSgpID09PSAnbGluayc7IGVsc2UgYXNzaXN0aXZlTGFiZWxcIj5cbiAgICAgICAgICA8cnRlLWxpbmsgW2xhYmVsXT1cImFzc2lzdGl2ZVRleHRMYWJlbCgpXCIgLz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjYXNzaXN0aXZlTGFiZWw+XG4gICAgICAgICAgPHAgY2xhc3M9XCJhc3Npc3RpdmUtbGFiZWxcIiBbbmdDbGFzc109XCJhc3Npc3RpdmVBcHBlYXJhbmNlKClcIj5cbiAgICAgICAgICAgIHt7IGFzc2lzdGl2ZVRleHRMYWJlbCgpIH19XG4gICAgICAgICAgPC9wPlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJkaXNwbGF5Q291bnRlcigpICYmIGxhYmVsUG9zaXRpb24oKSA9PT0gJ3NpZGUnXCI+XG4gICAgPHAgY2xhc3M9XCJpbnB1dC1jb3VudGVyXCIgZGF0YS10ZXN0aWQ9XCJpbnB1dC1jb3VudGVyXCI+XG4gICAgICB7eyBjaGFyYWN0ZXJDb3VudCgpIH19L3t7IG1heExlbmd0aCgpIH19XG4gICAgPC9wPlxuICA8L25nLWNvbnRhaW5lcj5cbjwvZGl2PiJdfQ==
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy90ZXh0LWlucHV0L3RleHQtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvdGV4dC1pbnB1dC90ZXh0LWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRXZELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7O0FBVXZELE1BQU0sT0FBTyxrQkFBa0I7SUErRDdCO1FBOURTLE9BQUUsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUNyQixVQUFLLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQzFCLGtCQUFhLEdBQUcsS0FBSyxDQUFpQixLQUFLLENBQUMsQ0FBQztRQUM3QyxhQUFRLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2pDLGdCQUFXLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3BDLFVBQUssR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDMUIsa0JBQWEsR0FBRyxNQUFNLENBQVMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDN0MsYUFB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dUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgaW5wdXQsIG91dHB1dCwgc2lnbmFsLCBjb21wdXRlZCwgZWZmZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuaW1wb3J0IHsgSWNvbkNvbXBvbmVudCB9IGZyb20gXCIuLi9pY29uL2ljb24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBSZWd1bGFySWNvbklkS2V5LCBUb2dnbGFibGVJY29uSWRLZXkgfSBmcm9tIFwiLi4vaWNvbi9pY29uLnNlcnZpY2VcIjtcbmltcG9ydCB7IEljb25CdXR0b25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50XCI7XG5pbXBvcnQgeyBMaW5rQ29tcG9uZW50IH0gZnJvbSBcIi4uL2xpbmsvbGluay5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS10ZXh0LWlucHV0XCIsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEljb25Db21wb25lbnQsIEljb25CdXR0b25Db21wb25lbnQsIExpbmtDb21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogXCIuL3RleHQtaW5wdXQuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi90ZXh0LWlucHV0LmNvbXBvbmVudC5zY3NzXCIsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBUZXh0SW5wdXRDb21wb25lbnQge1xuICByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgbGFiZWwgPSBpbnB1dDxzdHJpbmc+KFwiXCIpO1xuICByZWFkb25seSBsYWJlbFBvc2l0aW9uID0gaW5wdXQ8XCJ0b3BcIiB8IFwic2lkZVwiPihcInRvcFwiKTtcbiAgcmVhZG9ubHkgcmVxdWlyZWQgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHNob3dDb3VudGVyID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSB2YWx1ZSA9IGlucHV0PHN0cmluZz4oXCJcIik7XG4gIHJlYWRvbmx5IGludGVybmFsVmFsdWUgPSBzaWduYWw8c3RyaW5nPih0aGlzLnZhbHVlKCkpO1xuICByZWFkb25seSBsZWZ0SWNvbiA9IGlucHV0PFJlZ3VsYXJJY29uSWRLZXkgfCBUb2dnbGFibGVJY29uSWRLZXkgfCBudWxsPihudWxsKTtcbiAgcmVhZG9ubHkgc2hvd1JpZ2h0SWNvbiA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICByZWFkb25seSByaWdodEljb25BY3Rpb24gPSBpbnB1dDxcImNsZWFuXCIgfCBcInZpc2liaWxpdHlPblwiIHwgXCJ2aXNpYmlsaXR5T2ZmXCI+KFwiY2xlYW5cIik7XG4gIHJlYWRvbmx5IHNob3dMYWJlbFJlcXVpcmVtZW50ID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBhc3Npc3RpdmVBcHBlYXJhbmNlID0gaW5wdXQ8XCJkZXNjcmlwdGlvblwiIHwgXCJlcnJvclwiIHwgXCJzdWNjZXNzXCIgfCBcImxpbmtcIj4oXCJkZXNjcmlwdGlvblwiKTtcbiAgcmVhZG9ubHkgc2hvd0Fzc2lzdGl2ZUljb24gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IGFzc2lzdGl2ZVRleHRMYWJlbCA9IGlucHV0PHN0cmluZz4oXCJcIik7XG4gIHJlYWRvbmx5IGVycm9yID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBtYXhMZW5ndGggPSBpbnB1dDxudW1iZXI+KDE1MCk7XG4gIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSByZWFkT25seSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgd2lkdGggPSBpbnB1dDxzdHJpbmc+KFwiMzAwcHhcIik7XG4gIHJlYWRvbmx5IGFyaWFMYWJlbCA9IGlucHV0PHN0cmluZz4oXCJcIik7XG4gIHJlYWRvbmx5IGFyaWFSZXF1aXJlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgYXJpYUxhYmVsbGVkYnkgPSBpbnB1dDxzdHJpbmc+KFwiXCIpO1xuXG4gIHJlYWRvbmx5IHZhbHVlQ2hhbmdlID0gb3V0cHV0PHN0cmluZz4oKTtcbiAgcmVhZG9ubHkgcmlnaHRJY29uQ2xpY2sgPSBvdXRwdXQ8dm9pZD4oKTtcblxuICByZWFkb25seSBjaGFyYWN0ZXJDb3VudCA9IHNpZ25hbDxudW1iZXI+KHRoaXMuaW50ZXJuYWxWYWx1ZSgpLmxlbmd0aCk7XG4gIHJlYWRvbmx5IGlzSGlkZGVuSW5wdXQgPSBzaWduYWw8Ym9vbGVhbj4odGhpcy5zaG93UmlnaHRJY29uKCkgJiYgdGhpcy5yaWdodEljb25BY3Rpb24oKSA9PT0gXCJ2aXNpYmlsaXR5T25cIik7XG4gIHJlYWRvbmx5IGRpc3BsYXllZExlZnRJY29uID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMuZXJyb3IoKSA/IFwiZXJyb3JcIiA6IHRoaXMubGVmdEljb24oKSkpO1xuXG4gIHJlYWRvbmx5IGRpc3BsYXlDb3VudGVyID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5zaG93Q291bnRlcigpICYmIHR5cGVvZiB0aGlzLm1heExlbmd0aCgpID09PSBcIm51bWJlclwiKTtcblxuICByZWFkb25seSByaWdodEljb25OYW1lID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmIChbXCJ2aXNpYmlsaXR5T25cIiwgXCJ2aXNpYmlsaXR5T2ZmXCJdLmluY2x1ZGVzKHRoaXMucmlnaHRJY29uQWN0aW9uKCkpKSB7XG4gICAgICByZXR1cm4gdGhpcy5pc0hpZGRlbklucHV0KCkgPyBcInZpc2liaWxpdHktc2hvd1wiIDogXCJ2aXNpYmlsaXR5LWhpZGVcIjtcbiAgICB9IGVsc2UgaWYgKHRoaXMucmlnaHRJY29uQWN0aW9uKCkgPT09IFwiY2xlYW5cIikge1xuICAgICAgcmV0dXJuIFwiY2xvc2VcIjtcbiAgICB9XG4gICAgcmV0dXJuIFwiXCI7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHJpZ2h0SWNvbkFyaWFMYWJlbCA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICBpZiAoW1widmlzaWJpbGl0eU9uXCIsIFwidmlzaWJpbGl0eU9mZlwiXS5pbmNsdWRlcyh0aGlzLnJpZ2h0SWNvbkFjdGlvbigpKSkge1xuICAgICAgcmV0dXJuIHRoaXMuaXNIaWRkZW5JbnB1dCgpID8gXCJzaG93IHRleHRcIiA6IFwiaGlkZSB0ZXh0XCI7XG4gICAgfSBlbHNlIGlmICh0aGlzLnJpZ2h0SWNvbkFjdGlvbigpID09PSBcImNsZWFuXCIpIHtcbiAgICAgIHJldHVybiBcImNsZWFyXCI7XG4gICAgfVxuICAgIHJldHVybiBcIlwiO1xuICB9KTtcblxuICByZWFkb25seSBzaG91bGRTaG93UmlnaHRJY29uID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGlmICh0aGlzLnJlYWRPbmx5KCkgfHwgdGhpcy5kaXNhYmxlZCgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmICh0aGlzLnJpZ2h0SWNvbkFjdGlvbigpID09PSBcImNsZWFuXCIpIHtcbiAgICAgIHJldHVybiAhIXRoaXMuaW50ZXJuYWxWYWx1ZSgpPy5sZW5ndGggJiYgdGhpcy5zaG93UmlnaHRJY29uKCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNob3dSaWdodEljb24oKSAmJiAhIXRoaXMucmlnaHRJY29uQWN0aW9uKCk7XG4gIH0pO1xuXG4gIHByaXZhdGUgbGFzdFBhcmVudFZhbHVlID0gdGhpcy52YWx1ZSgpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIGVmZmVjdChcbiAgICAgICgpID0+IHtcbiAgICAgICAgY29uc3QgcGFyZW50VmFsdWUgPSB0aGlzLnZhbHVlKCk7XG4gICAgICAgIGlmIChwYXJlbnRWYWx1ZSAhPT0gdGhpcy5sYXN0UGFyZW50VmFsdWUpIHtcbiAgICAgICAgICB0aGlzLmxhc3RQYXJlbnRWYWx1ZSA9IHBhcmVudFZhbHVlO1xuICAgICAgICAgIHRoaXMuaW50ZXJuYWxWYWx1ZS5zZXQocGFyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhbGxvd1NpZ25hbFdyaXRlczogdHJ1ZSB9LFxuICAgICk7XG4gIH1cblxuICBoYW5kbGVDaGFuZ2UoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaW5wdXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcbiAgICB0aGlzLmludGVybmFsVmFsdWUuc2V0KGlucHV0LnZhbHVlKTtcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoaW5wdXQudmFsdWUpO1xuICAgIGlmICh0aGlzLm1heExlbmd0aCgpKSB7XG4gICAgICB0aGlzLmNoYXJhY3RlckNvdW50LnNldChpbnB1dC52YWx1ZS5sZW5ndGgpO1xuICAgIH1cbiAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoaW5wdXQudmFsdWUpO1xuICB9XG5cbiAgb25SaWdodEljb25DbGlja0hhbmRsZXIoKTogdm9pZCB7XG4gICAgdGhpcy5yaWdodEljb25DbGljay5lbWl0KCk7XG4gICAgdGhpcy50cmlnZ2VyUmlnaHRJY29uQWN0aW9uKCk7XG4gIH1cblxuICBwcml2YXRlIHRvZ2dsZUlucHV0VmlzaWJpbGl0eSgpOiB2b2lkIHtcbiAgICB0aGlzLmlzSGlkZGVuSW5wdXQuc2V0KCF0aGlzLmlzSGlkZGVuSW5wdXQoKSk7XG4gIH1cblxuICBwcml2YXRlIHRyaWdnZXJSaWdodEljb25BY3Rpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucmlnaHRJY29uQWN0aW9uKCkgPT09IFwiY2xlYW5cIikge1xuICAgICAgdGhpcy5pbnRlcm5hbFZhbHVlLnNldChcIlwiKTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChcIlwiKTtcbiAgICAgIHRoaXMuY2hhcmFjdGVyQ291bnQuc2V0KDApO1xuICAgIH1cbiAgICBpZiAoW1widmlzaWJpbGl0eU9uXCIsIFwidmlzaWJpbGl0eU9mZlwiXS5pbmNsdWRlcyh0aGlzLnJpZ2h0SWNvbkFjdGlvbigpKSkge1xuICAgICAgdGhpcy50b2dnbGVJbnB1dFZpc2liaWxpdHkoKTtcbiAgICB9XG4gIH1cbn1cbiIsIjxkaXZcbiAgY2xhc3M9XCJjb250YWluZXIge3tsYWJlbFBvc2l0aW9uKCl9fVwiXG4gIFtuZ0NsYXNzXT1cInsnZXJyb3InOiBlcnJvcigpfVwiXG4gIFtzdHlsZS53aWR0aF09XCJ3aWR0aCgpXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxhYmVsKClcIj5cbiAgICA8ZGl2IGNsYXNzPVwidGV4dFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLWNvbnRhaW5lclwiPlxuICAgICAgICA8bGFiZWwgY2xhc3M9XCJpbnB1dC1sYWJlbFwiIFtpZF09XCInaW5wdXQtbGFiZWwtJyArIGlkXCIgW2Zvcl09XCJpZCgpXCI+XG4gICAgICAgICAge3sgbGFiZWwoKSB9fVxuICAgICAgICA8L2xhYmVsPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwicmVxdWlyZWQoKVwiPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93TGFiZWxSZXF1aXJlbWVudCgpOyBlbHNlIHJlcXVpcmVkSWNvblwiPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJyZXF1aXJlZC10ZXh0XCI+KG9ibGlnYXRvaXJlKTwvc3Bhbj5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3JlcXVpcmVkSWNvbj5cbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtaWNvbi1jb250YWluZXJcIj5cbiAgICAgICAgICAgICAgPHJ0ZS1pY29uIG5hbWU9XCJhc3Rlcmlza1wiIFtzaXplXT1cIjhcIiAvPlxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXJlcXVpcmVkKCkgJiYgc2hvd0xhYmVsUmVxdWlyZW1lbnQoKVwiPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwicmVxdWlyZWQtdGV4dFwiPihvcHRpb25uZWwpPC9zcGFuPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlDb3VudGVyKCkgJiYgbGFiZWxQb3NpdGlvbigpID09PSAndG9wJ1wiPlxuICAgICAgICA8cCBjbGFzcz1cImlucHV0LWNvdW50ZXJcIiBkYXRhLXRlc3RpZD1cImlucHV0LWNvdW50ZXJcIj5cbiAgICAgICAgICB7eyBjaGFyYWN0ZXJDb3VudCgpIH19L3t7IG1heExlbmd0aCgpIH19XG4gICAgICAgIDwvcD5cbiAgICAgIDwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cblxuICA8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyXCI+XG4gICAgPGRpdlxuICAgICAgY2xhc3M9XCJpbnB1dCB7e2xhYmVsUG9zaXRpb24oKX19XCJcbiAgICAgIFtuZ0NsYXNzXT1cInsnZGlzYWJsZWQnOiBkaXNhYmxlZCgpLCAncmVhZC1vbmx5JzogcmVhZE9ubHkoKX1cIlxuICAgID5cbiAgICAgIDxkaXYgY2xhc3M9XCJpbnB1dC1iYXJcIiBbbmdDbGFzc109XCJ7J3dpdGgtbGVmdC1pY29uJzogZGlzcGxheWVkTGVmdEljb24oKSwgJ3dpdGgtcmlnaHQtaWNvbic6IHJpZ2h0SWNvbkFjdGlvbigpfVwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheWVkTGVmdEljb24oKVwiPlxuICAgICAgICAgIDxydGUtaWNvblxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCJcbiAgICAgICAgICAgIGNsYXNzPVwibGVmdC1pY29uXCJcbiAgICAgICAgICAgIGFyaWEtaGlkZGVuPVwidHJ1ZVwiXG4gICAgICAgICAgICBbbmFtZV09XCJkaXNwbGF5ZWRMZWZ0SWNvbigpIVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgPGlucHV0XG4gICAgICAgICAgI2lucHV0UmVmXG4gICAgICAgICAgY2xhc3M9XCJpbnB1dC1maWVsZFwiXG4gICAgICAgICAgW2lkXT1cImlkKClcIlxuICAgICAgICAgIFtuZ0NsYXNzXT1cInsnZXJyb3InOiBlcnJvcigpfVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwoKVwiXG4gICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZGJ5KClcIlxuICAgICAgICAgIFthdHRyLmFyaWEtcmVxdWlyZWRdPVwiYXJpYVJlcXVpcmVkKClcIlxuICAgICAgICAgIFt0eXBlXT1cImlzSGlkZGVuSW5wdXQoKSA/ICdwYXNzd29yZCcgOiAndGV4dCdcIlxuICAgICAgICAgIFttYXhMZW5ndGhdPVwibWF4TGVuZ3RoKClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZCgpXCJcbiAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZE9ubHkoKVwiXG4gICAgICAgICAgW3ZhbHVlXT1cImludGVybmFsVmFsdWUoKVwiXG4gICAgICAgICAgKGlucHV0KT1cImhhbmRsZUNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgLz5cblxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvdWxkU2hvd1JpZ2h0SWNvbigpXCI+XG4gICAgICAgICAgPHJ0ZS1pY29uLWJ1dHRvblxuICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCJcbiAgICAgICAgICAgIHZhcmlhbnQ9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICBjbGFzcz1cInJpZ2h0LWljb25cIlxuICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJyaWdodC1pY29uXCJcbiAgICAgICAgICAgIFtuYW1lXT1cInJpZ2h0SWNvbk5hbWUoKSB8fCAnY2xvc2UnXCJcbiAgICAgICAgICAgIFthcmlhTGFiZWxdPVwicmlnaHRJY29uQXJpYUxhYmVsKClcIlxuICAgICAgICAgICAgKGNsaWNrKT1cIm9uUmlnaHRJY29uQ2xpY2tIYW5kbGVyKClcIlxuICAgICAgICAgIC8+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXNzaXN0aXZlVGV4dExhYmVsKClcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhc3Npc3RpdmUtdGV4dFwiPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0Fzc2lzdGl2ZUljb24oKSAmJiBhc3Npc3RpdmVBcHBlYXJhbmNlKCkgPT09ICdlcnJvcidcIj5cbiAgICAgICAgICA8cnRlLWljb24gbmFtZT1cImVycm9yXCIgYXBwZWFyYW5jZT1cIm91dGxpbmVkXCIgY2xhc3M9XCJhc3Npc3RpdmUtaWNvbi1lcnJvclwiIFtzaXplXT1cIjEyXCIgLz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG93QXNzaXN0aXZlSWNvbigpICYmIGFzc2lzdGl2ZUFwcGVhcmFuY2UoKSA9PT0gJ3N1Y2Nlc3MnXCI+XG4gICAgICAgICAgPHJ0ZS1pY29uIG5hbWU9XCJjaGVja1wiIGFwcGVhcmFuY2U9XCJvdXRsaW5lZFwiIGNsYXNzPVwiYXNzaXN0aXZlLWljb24tc3VjY2Vzc1wiIFtzaXplXT1cIjEyXCIgLz5cbiAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhc3Npc3RpdmVBcHBlYXJhbmNlKCkgPT09ICdsaW5rJzsgZWxzZSBhc3Npc3RpdmVMYWJlbFwiPlxuICAgICAgICAgIDxydGUtbGluayBbbGFiZWxdPVwiYXNzaXN0aXZlVGV4dExhYmVsKClcIiAvPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNhc3Npc3RpdmVMYWJlbD5cbiAgICAgICAgICA8cCBjbGFzcz1cImFzc2lzdGl2ZS1sYWJlbFwiIFtuZ0NsYXNzXT1cImFzc2lzdGl2ZUFwcGVhcmFuY2UoKVwiPlxuICAgICAgICAgICAge3sgYXNzaXN0aXZlVGV4dExhYmVsKCkgfX1cbiAgICAgICAgICA8L3A+XG4gICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgPC9kaXY+XG5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlDb3VudGVyKCkgJiYgbGFiZWxQb3NpdGlvbigpID09PSAnc2lkZSdcIj5cbiAgICA8cCBjbGFzcz1cImlucHV0LWNvdW50ZXJcIiBkYXRhLXRlc3RpZD1cImlucHV0LWNvdW50ZXJcIj5cbiAgICAgIHt7IGNoYXJhY3RlckNvdW50KCkgfX0ve3sgbWF4TGVuZ3RoKCkgfX1cbiAgICA8L3A+XG4gIDwvbmctY29udGFpbmVyPlxuPC9kaXY+Il19
|