@design-system-rte/angular 0.14.0 → 0.16.0
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/banner/banner.component.mjs +3 -3
- package/esm2022/lib/components/breadcrumbs/breadcrumb-item/breadcrumb-item.component.mjs +38 -0
- package/esm2022/lib/components/breadcrumbs/breadcrumbs.component.mjs +5 -4
- package/esm2022/lib/components/button/button.component.mjs +12 -17
- package/esm2022/lib/components/checkbox/checkbox.component.mjs +3 -3
- package/esm2022/lib/components/checkbox-group/checkbox-group.component.mjs +3 -3
- package/esm2022/lib/components/divider/divider.component.mjs +3 -3
- package/esm2022/lib/components/dropdown/dropdown-trigger/dropdown-trigger.directive.mjs +11 -3
- package/esm2022/lib/components/dropdown/dropdown.directive.mjs +12 -13
- package/esm2022/lib/components/dropdown/dropdown.utils.mjs +40 -0
- package/esm2022/lib/components/icon-button/icon-button.component.mjs +13 -3
- package/esm2022/lib/components/icon-button-toggle/icon-button-toggle.component.mjs +1 -1
- package/esm2022/lib/components/link/link.component.mjs +5 -3
- package/esm2022/lib/components/modal/modal-trigger/modal-trigger.directive.mjs +31 -0
- package/esm2022/lib/components/modal/modal.component.mjs +48 -0
- package/esm2022/lib/components/modal/modal.directive.mjs +118 -0
- package/esm2022/lib/components/modal/modal.module.mjs +17 -0
- package/esm2022/lib/components/popover/popover.component.mjs +11 -28
- package/esm2022/lib/components/radio-button/radio-button.component.mjs +3 -3
- package/esm2022/lib/components/radio-button-group/radio-button-group.component.mjs +3 -3
- package/esm2022/lib/components/split-button/split-button.component.mjs +31 -5
- package/esm2022/lib/components/text-input/text-input.component.mjs +3 -3
- package/esm2022/lib/components/textarea/textarea.component.mjs +3 -3
- package/esm2022/lib/components/tooltip/tooltip.directive.mjs +18 -3
- package/esm2022/lib/services/focus-trap.service.mjs +64 -0
- package/esm2022/lib/services/overlay.service.mjs +19 -4
- package/esm2022/public-api.mjs +4 -1
- package/fesm2022/design-system-rte-angular.mjs +1149 -774
- package/fesm2022/design-system-rte-angular.mjs.map +1 -1
- package/lib/components/breadcrumbs/breadcrumb-item/breadcrumb-item.component.d.ts +16 -0
- package/lib/components/breadcrumbs/breadcrumbs.component.d.ts +2 -1
- package/lib/components/button/button.component.d.ts +4 -12
- package/lib/components/chip/chip.component.d.ts +1 -1
- package/lib/components/dropdown/dropdown-trigger/dropdown-trigger.directive.d.ts +4 -1
- package/lib/components/dropdown/dropdown.directive.d.ts +3 -1
- package/lib/components/dropdown/dropdown.utils.d.ts +4 -0
- package/lib/components/icon-button/icon-button.component.d.ts +8 -2
- package/lib/components/icon-button-toggle/icon-button-toggle.component.d.ts +1 -1
- package/lib/components/link/link.component.d.ts +3 -1
- package/lib/components/modal/modal-trigger/modal-trigger.directive.d.ts +11 -0
- package/lib/components/modal/modal.component.d.ts +28 -0
- package/lib/components/modal/modal.directive.d.ts +40 -0
- package/lib/components/modal/modal.module.d.ts +8 -0
- package/lib/components/popover/popover.component.d.ts +5 -6
- package/lib/components/split-button/split-button.component.d.ts +11 -4
- package/lib/components/text-input/text-input.component.d.ts +1 -1
- package/lib/components/tooltip/tooltip.component.d.ts +1 -1
- package/lib/components/tooltip/tooltip.directive.d.ts +2 -1
- package/lib/services/focus-trap.service.d.ts +17 -0
- package/lib/services/overlay.service.d.ts +2 -1
- package/package.json +2 -2
- package/public-api.d.ts +3 -0
|
@@ -10,10 +10,10 @@ export class DividerComponent {
|
|
|
10
10
|
this.isHorizontal = computed(() => this.orientation() === "horizontal");
|
|
11
11
|
}
|
|
12
12
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DividerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
13
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DividerComponent, isStandalone: true, selector: "rte-divider", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, thickness: { classPropertyName: "thickness", publicName: "thickness", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, endPoint: { classPropertyName: "endPoint", publicName: "endPoint", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (isHorizontal()) {\n <hr class=\"horizontal {{thickness()}} {{appearance()}} {{endPoint()}}\" />\n} @else {\n <div class=\"vertical {{thickness()}} {{appearance()}} {{endPoint()}}\" role=\"separator\"></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\";.horizontal{border:none;padding:0;margin:0;width:100%}.horizontal.round{border-radius:999px}.horizontal.light{border-top:1px solid var(--border-divider)}.horizontal.medium{border-top:2px solid var(--border-divider)}.horizontal.bold{border-top:4px solid var(--border-divider)}.horizontal.inverse{border-top-color:var(--border-inverse)}.vertical{height:100%;background-color:var(--border-divider);margin:0;padding:0}.vertical.round{border-radius:999px}.vertical.light{width:1px}.vertical.medium{width:2px}.vertical.bold{width:4px}.vertical.inverse{background-color:var(--border-inverse)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
13
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DividerComponent, isStandalone: true, selector: "rte-divider", inputs: { orientation: { classPropertyName: "orientation", publicName: "orientation", isSignal: true, isRequired: false, transformFunction: null }, thickness: { classPropertyName: "thickness", publicName: "thickness", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, endPoint: { classPropertyName: "endPoint", publicName: "endPoint", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@if (isHorizontal()) {\n <hr class=\"horizontal {{thickness()}} {{appearance()}} {{endPoint()}}\" />\n} @else {\n <div class=\"vertical {{thickness()}} {{appearance()}} {{endPoint()}}\" role=\"separator\"></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\";.horizontal{border:none;padding:0;margin:0;width:100%}.horizontal.round{border-radius:999px}.horizontal.light{border-top:1px solid var(--border-divider)}.horizontal.medium{border-top:2px solid var(--border-divider)}.horizontal.bold{border-top:4px solid var(--border-divider)}.horizontal.inverse{border-top-color:var(--border-inverse)}.horizontal.brand{border-top-color:var(--border-brand-default)}.vertical{height:100%;background-color:var(--border-divider);margin:0;padding:0}.vertical.round{border-radius:999px}.vertical.light{width:1px}.vertical.medium{width:2px}.vertical.bold{width:4px}.vertical.inverse{background-color:var(--border-inverse)}.vertical.brand{background-color:var(--border-brand-default)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
14
14
|
}
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DividerComponent, decorators: [{
|
|
16
16
|
type: Component,
|
|
17
|
-
args: [{ selector: "rte-divider", imports: [CommonModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isHorizontal()) {\n <hr class=\"horizontal {{thickness()}} {{appearance()}} {{endPoint()}}\" />\n} @else {\n <div class=\"vertical {{thickness()}} {{appearance()}} {{endPoint()}}\" role=\"separator\"></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\";.horizontal{border:none;padding:0;margin:0;width:100%}.horizontal.round{border-radius:999px}.horizontal.light{border-top:1px solid var(--border-divider)}.horizontal.medium{border-top:2px solid var(--border-divider)}.horizontal.bold{border-top:4px solid var(--border-divider)}.horizontal.inverse{border-top-color:var(--border-inverse)}.vertical{height:100%;background-color:var(--border-divider);margin:0;padding:0}.vertical.round{border-radius:999px}.vertical.light{width:1px}.vertical.medium{width:2px}.vertical.bold{width:4px}.vertical.inverse{background-color:var(--border-inverse)}\n"] }]
|
|
17
|
+
args: [{ selector: "rte-divider", imports: [CommonModule], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isHorizontal()) {\n <hr class=\"horizontal {{thickness()}} {{appearance()}} {{endPoint()}}\" />\n} @else {\n <div class=\"vertical {{thickness()}} {{appearance()}} {{endPoint()}}\" role=\"separator\"></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\";.horizontal{border:none;padding:0;margin:0;width:100%}.horizontal.round{border-radius:999px}.horizontal.light{border-top:1px solid var(--border-divider)}.horizontal.medium{border-top:2px solid var(--border-divider)}.horizontal.bold{border-top:4px solid var(--border-divider)}.horizontal.inverse{border-top-color:var(--border-inverse)}.horizontal.brand{border-top-color:var(--border-brand-default)}.vertical{height:100%;background-color:var(--border-divider);margin:0;padding:0}.vertical.round{border-radius:999px}.vertical.light{width:1px}.vertical.medium{width:2px}.vertical.bold{width:4px}.vertical.inverse{background-color:var(--border-inverse)}.vertical.brand{background-color:var(--border-brand-default)}\n"] }]
|
|
18
18
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGl2aWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZGl2aWRlci9kaXZpZGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBV3BGLE1BQU0sT0FBTyxnQkFBZ0I7SUFSN0I7UUFTVyxnQkFBVyxHQUFHLEtBQUssQ0FBOEIsWUFBWSxDQUFDLENBQUM7UUFDL0QsY0FBUyxHQUFHLEtBQUssQ0FBNEIsT0FBTyxDQUFDLENBQUM7UUFDdEQsZUFBVSxHQUFHLEtBQUssQ0FBNkIsU0FBUyxDQUFDLENBQUM7UUFDMUQsYUFBUSxHQUFHLEtBQUssQ0FBMkIsT0FBTyxDQUFDLENBQUM7UUFFcEQsaUJBQVksR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxLQUFLLFlBQVksQ0FBQyxDQUFDO0tBQzdFOytHQVBZLGdCQUFnQjttR0FBaEIsZ0JBQWdCLHltQkNaN0IsME5BSUMsMjlCREVXLFlBQVk7OzRGQU1YLGdCQUFnQjtrQkFSNUIsU0FBUzsrQkFDRSxhQUFhLFdBQ2QsQ0FBQyxZQUFZLENBQUMsY0FDWCxJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgaW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgRGl2aWRlclByb3BzIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvZGl2aWRlci9kaXZpZGVyLmludGVyZmFjZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicnRlLWRpdmlkZXJcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZGl2aWRlci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybDogXCIuL2RpdmlkZXIuY29tcG9uZW50LnNjc3NcIixcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIERpdmlkZXJDb21wb25lbnQge1xuICByZWFkb25seSBvcmllbnRhdGlvbiA9IGlucHV0PERpdmlkZXJQcm9wc1tcIm9yaWVudGF0aW9uXCJdPihcImhvcml6b250YWxcIik7XG4gIHJlYWRvbmx5IHRoaWNrbmVzcyA9IGlucHV0PERpdmlkZXJQcm9wc1tcInRoaWNrbmVzc1wiXT4oXCJsaWdodFwiKTtcbiAgcmVhZG9ubHkgYXBwZWFyYW5jZSA9IGlucHV0PERpdmlkZXJQcm9wc1tcImFwcGVhcmFuY2VcIl0+KFwiZGVmYXVsdFwiKTtcbiAgcmVhZG9ubHkgZW5kUG9pbnQgPSBpbnB1dDxEaXZpZGVyUHJvcHNbXCJlbmRQb2ludFwiXT4oXCJyb3VuZFwiKTtcblxuICByZWFkb25seSBpc0hvcml6b250YWwgPSBjb21wdXRlZCgoKSA9PiB0aGlzLm9yaWVudGF0aW9uKCkgPT09IFwiaG9yaXpvbnRhbFwiKTtcbn1cbiIsIkBpZiAoaXNIb3Jpem9udGFsKCkpIHtcbiAgPGhyIGNsYXNzPVwiaG9yaXpvbnRhbCB7e3RoaWNrbmVzcygpfX0ge3thcHBlYXJhbmNlKCl9fSB7e2VuZFBvaW50KCl9fVwiIC8+XG59IEBlbHNlIHtcbiAgPGRpdiBjbGFzcz1cInZlcnRpY2FsIHt7dGhpY2tuZXNzKCl9fSB7e2FwcGVhcmFuY2UoKX19IHt7ZW5kUG9pbnQoKX19XCIgcm9sZT1cInNlcGFyYXRvclwiPjwvZGl2PlxufSJdfQ==
|
|
@@ -1,19 +1,24 @@
|
|
|
1
|
-
import { Directive, ElementRef, HostListener, inject, output } from "@angular/core";
|
|
1
|
+
import { Directive, ElementRef, HostListener, inject, input, output } from "@angular/core";
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
export class DropdownTriggerDirective {
|
|
4
4
|
constructor() {
|
|
5
5
|
this.elementRef = inject(ElementRef);
|
|
6
|
+
this.rteDropdownTriggerActivateWithArrowDown = input(false);
|
|
6
7
|
this.dropdownKeyDown = output();
|
|
7
8
|
this.dropdownTriggered = output();
|
|
9
|
+
this.dropdownTriggerFocus = output();
|
|
8
10
|
}
|
|
9
11
|
onDropdownTriggered(event) {
|
|
10
12
|
this.dropdownTriggered.emit(event);
|
|
11
13
|
}
|
|
14
|
+
onDropdownTriggerFocus(event) {
|
|
15
|
+
this.dropdownTriggerFocus.emit(event);
|
|
16
|
+
}
|
|
12
17
|
onKeyDown(event) {
|
|
13
18
|
this.dropdownKeyDown.emit(event);
|
|
14
19
|
}
|
|
15
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
16
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
21
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.14", type: DropdownTriggerDirective, isStandalone: true, selector: "[rteDropdownTrigger]", inputs: { rteDropdownTriggerActivateWithArrowDown: { classPropertyName: "rteDropdownTriggerActivateWithArrowDown", publicName: "rteDropdownTriggerActivateWithArrowDown", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { dropdownKeyDown: "dropdownKeyDown", dropdownTriggered: "dropdownTriggered", dropdownTriggerFocus: "dropdownTriggerFocus" }, host: { listeners: { "click": "onDropdownTriggered($event)", "focus": "onDropdownTriggerFocus($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
|
|
17
22
|
}
|
|
18
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownTriggerDirective, decorators: [{
|
|
19
24
|
type: Directive,
|
|
@@ -24,8 +29,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
24
29
|
}], propDecorators: { onDropdownTriggered: [{
|
|
25
30
|
type: HostListener,
|
|
26
31
|
args: ["click", ["$event"]]
|
|
32
|
+
}], onDropdownTriggerFocus: [{
|
|
33
|
+
type: HostListener,
|
|
34
|
+
args: ["focus", ["$event"]]
|
|
27
35
|
}], onKeyDown: [{
|
|
28
36
|
type: HostListener,
|
|
29
37
|
args: ["keydown", ["$event"]]
|
|
30
38
|
}] } });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi10cmlnZ2VyL2Ryb3Bkb3duLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFNM0YsTUFBTSxPQUFPLHdCQUF3QjtJQUpyQztRQUtXLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFFaEMsNENBQXVDLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBRWhFLG9CQUFlLEdBQUcsTUFBTSxFQUFpQixDQUFDO1FBRTFDLHNCQUFpQixHQUFHLE1BQU0sRUFBUyxDQUFDO1FBRXBDLHlCQUFvQixHQUFHLE1BQU0sRUFBUyxDQUFDO0tBZ0JqRDtJQWJDLG1CQUFtQixDQUFDLEtBQVk7UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBR0Qsc0JBQXNCLENBQUMsS0FBWTtRQUNqQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFHRCxTQUFTLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQzsrR0F4QlUsd0JBQXdCO21HQUF4Qix3QkFBd0I7OzRGQUF4Qix3QkFBd0I7a0JBSnBDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtvQkFDaEMsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQWFDLG1CQUFtQjtzQkFEbEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTWpDLHNCQUFzQjtzQkFEckIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTWpDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBpbnB1dCwgb3V0cHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiBcIltydGVEcm9wZG93blRyaWdnZXJdXCIsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duVHJpZ2dlckRpcmVjdGl2ZSB7XG4gIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgcmVhZG9ubHkgcnRlRHJvcGRvd25UcmlnZ2VyQWN0aXZhdGVXaXRoQXJyb3dEb3duID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGRyb3Bkb3duS2V5RG93biA9IG91dHB1dDxLZXlib2FyZEV2ZW50PigpO1xuXG4gIHJlYWRvbmx5IGRyb3Bkb3duVHJpZ2dlcmVkID0gb3V0cHV0PEV2ZW50PigpO1xuXG4gIHJlYWRvbmx5IGRyb3Bkb3duVHJpZ2dlckZvY3VzID0gb3V0cHV0PEV2ZW50PigpO1xuXG4gIEBIb3N0TGlzdGVuZXIoXCJjbGlja1wiLCBbXCIkZXZlbnRcIl0pXG4gIG9uRHJvcGRvd25UcmlnZ2VyZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kcm9wZG93blRyaWdnZXJlZC5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJmb2N1c1wiLCBbXCIkZXZlbnRcIl0pXG4gIG9uRHJvcGRvd25UcmlnZ2VyRm9jdXMoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kcm9wZG93blRyaWdnZXJGb2N1cy5lbWl0KGV2ZW50KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duXCIsIFtcIiRldmVudFwiXSlcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5kcm9wZG93bktleURvd24uZW1pdChldmVudCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { ChangeDetectorRef, contentChild, DestroyRef, Directive, ElementRef, inject, input, output, Renderer2, ViewContainerRef, } from "@angular/core";
|
|
2
2
|
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
|
|
3
3
|
import { getAutoAlignment, getAutoPlacementDropdown, getCoordinates, } from "@design-system-rte/core/components/utils/auto-placement";
|
|
4
|
-
import {
|
|
4
|
+
import { ARROW_DOWN_KEY, ENTER_KEY, SPACE_KEY } from "@design-system-rte/core/constants/keyboard/keyboard.constants";
|
|
5
5
|
import { DropdownService } from "../../services/dropdown.service";
|
|
6
6
|
import { OverlayService } from "../../services/overlay.service";
|
|
7
7
|
import { DropdownMenuComponent } from "./dropdown-menu/dropdown-menu.component";
|
|
8
8
|
import { DropdownTriggerDirective } from "./dropdown-trigger/dropdown-trigger.directive";
|
|
9
|
+
import { focusDropdownFirstElement } from "./dropdown.utils";
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
export class DropdownDirective {
|
|
11
12
|
static { this.idCounter = 0; }
|
|
@@ -13,6 +14,7 @@ export class DropdownDirective {
|
|
|
13
14
|
this.trigger = contentChild(DropdownTriggerDirective);
|
|
14
15
|
this.menu = contentChild(DropdownMenuComponent);
|
|
15
16
|
this.rteDropdownPosition = input("bottom");
|
|
17
|
+
this.rteDropdownAlignment = input("start");
|
|
16
18
|
this.rteDropdownIsOpen = input(false);
|
|
17
19
|
this.rteDropdownOffset = input(0);
|
|
18
20
|
this.dropdownId = `dropdown_${++DropdownDirective.idCounter}`;
|
|
@@ -42,16 +44,13 @@ export class DropdownDirective {
|
|
|
42
44
|
this.showDropdownMenu();
|
|
43
45
|
}
|
|
44
46
|
onTriggerKeyEvent(event) {
|
|
45
|
-
if (event.key === SPACE_KEY
|
|
47
|
+
if (event.key === SPACE_KEY ||
|
|
48
|
+
event.key === ENTER_KEY ||
|
|
49
|
+
(event.key === ARROW_DOWN_KEY && this.trigger()?.rteDropdownTriggerActivateWithArrowDown())) {
|
|
46
50
|
this.showDropdownMenu();
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
const menuElement = this.dropdownMenuRef.location.nativeElement;
|
|
51
|
-
const focusableElements = menuElement.querySelectorAll('button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]):not([disabled])');
|
|
52
|
-
if (focusableElements.length) {
|
|
53
|
-
focusableElements[0].focus();
|
|
54
|
-
}
|
|
51
|
+
requestAnimationFrame(() => {
|
|
52
|
+
requestAnimationFrame(() => focusDropdownFirstElement(this.dropdownId));
|
|
53
|
+
});
|
|
55
54
|
}
|
|
56
55
|
}
|
|
57
56
|
onMenuEvent(event) {
|
|
@@ -108,7 +107,7 @@ export class DropdownDirective {
|
|
|
108
107
|
this.renderer.setStyle(dropdownMenuElement, "display", "block");
|
|
109
108
|
this.cdr.detectChanges();
|
|
110
109
|
const computedPosition = position === "auto" ? getAutoPlacementDropdown(triggerElement, dropdownMenuElement, "bottom") : position;
|
|
111
|
-
const autoAlignment = getAutoAlignment(triggerElement, dropdownMenuElement, computedPosition);
|
|
110
|
+
const autoAlignment = this.rteDropdownAlignment() ?? getAutoAlignment(triggerElement, dropdownMenuElement, computedPosition);
|
|
112
111
|
const computedCoordinates = getCoordinates(computedPosition, triggerElement, dropdownMenuElement.children[0], this.rteDropdownOffset(), autoAlignment);
|
|
113
112
|
this.renderer.setStyle(dropdownMenuElement, "top", `${computedCoordinates.top}px`);
|
|
114
113
|
this.renderer.setStyle(dropdownMenuElement, "left", `${computedCoordinates.left}px`);
|
|
@@ -132,7 +131,7 @@ export class DropdownDirective {
|
|
|
132
131
|
this.dropdownService.closeAllMenus();
|
|
133
132
|
}
|
|
134
133
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
135
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.14", type: DropdownDirective, isStandalone: true, selector: "[rteDropdown]", inputs: { rteDropdownPosition: { classPropertyName: "rteDropdownPosition", publicName: "rteDropdownPosition", isSignal: true, isRequired: false, transformFunction: null }, rteDropdownIsOpen: { classPropertyName: "rteDropdownIsOpen", publicName: "rteDropdownIsOpen", isSignal: true, isRequired: false, transformFunction: null }, rteDropdownOffset: { classPropertyName: "rteDropdownOffset", publicName: "rteDropdownOffset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { menuEvent: "menuEvent" }, host: { properties: { "class.dropdown": "true", "attr.data-dropdown-id": "dropdownId" } }, queries: [{ propertyName: "trigger", first: true, predicate: DropdownTriggerDirective, descendants: true, isSignal: true }, { propertyName: "menu", first: true, predicate: DropdownMenuComponent, descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
134
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.14", type: DropdownDirective, isStandalone: true, selector: "[rteDropdown]", inputs: { rteDropdownPosition: { classPropertyName: "rteDropdownPosition", publicName: "rteDropdownPosition", isSignal: true, isRequired: false, transformFunction: null }, rteDropdownAlignment: { classPropertyName: "rteDropdownAlignment", publicName: "rteDropdownAlignment", isSignal: true, isRequired: false, transformFunction: null }, rteDropdownIsOpen: { classPropertyName: "rteDropdownIsOpen", publicName: "rteDropdownIsOpen", isSignal: true, isRequired: false, transformFunction: null }, rteDropdownOffset: { classPropertyName: "rteDropdownOffset", publicName: "rteDropdownOffset", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { menuEvent: "menuEvent" }, host: { properties: { "class.dropdown": "true", "attr.data-dropdown-id": "dropdownId" } }, queries: [{ propertyName: "trigger", first: true, predicate: DropdownTriggerDirective, descendants: true, isSignal: true }, { propertyName: "menu", first: true, predicate: DropdownMenuComponent, descendants: true, isSignal: true }], ngImport: i0 }); }
|
|
136
135
|
}
|
|
137
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownDirective, decorators: [{
|
|
138
137
|
type: Directive,
|
|
@@ -145,4 +144,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
145
144
|
standalone: true,
|
|
146
145
|
}]
|
|
147
146
|
}], ctorParameters: () => [] });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFFakIsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFaEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsY0FBYyxHQUNmLE1BQU0seURBQXlELENBQUM7QUFDakUsT0FBTyxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUVuRyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDOztBQVV6RixNQUFNLE9BQU8saUJBQWlCO2FBQ2IsY0FBUyxHQUFHLENBQUMsQUFBSixDQUFLO0lBcUI3QjtRQW5CUyxZQUFPLEdBQUcsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDakQsU0FBSSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBRTNDLHdCQUFtQixHQUFHLEtBQUssQ0FBVyxRQUFRLENBQUMsQ0FBQztRQUNoRCxzQkFBaUIsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFD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Q0osa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIseUJBQXlCLEVBQUUsWUFBWTtxQkFDeEM7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudFJlZixcbiAgY29udGVudENoaWxkLFxuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgb3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcbmltcG9ydCB7IFBvc2l0aW9uIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvY29tbW9uL2NvbW1vbi10eXBlc1wiO1xuaW1wb3J0IHtcbiAgZ2V0QXV0b0FsaWdubWVudCxcbiAgZ2V0QXV0b1BsYWNlbWVudERyb3Bkb3duLFxuICBnZXRDb29yZGluYXRlcyxcbn0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvdXRpbHMvYXV0by1wbGFjZW1lbnRcIjtcbmltcG9ydCB7IFNQQUNFX0tFWSwgVEFCX0tFWSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb25zdGFudHMva2V5Ym9hcmQva2V5Ym9hcmQuY29uc3RhbnRzXCI7XG5cbmltcG9ydCB7IERyb3Bkb3duU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9kcm9wZG93bi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBPdmVybGF5U2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9vdmVybGF5LnNlcnZpY2VcIjtcblxuaW1wb3J0IHsgRHJvcGRvd25NZW51Q29tcG9uZW50IH0gZnJvbSBcIi4vZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRHJvcGRvd25UcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSBcIi4vZHJvcGRvd24tdHJpZ2dlci9kcm9wZG93bi10cmlnZ2VyLmRpcmVjdGl2ZVwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW3J0ZURyb3Bkb3duXVwiLFxuICBob3N0OiB7XG4gICAgXCJbY2xhc3MuZHJvcGRvd25dXCI6IFwidHJ1ZVwiLFxuICAgIFwiW2F0dHIuZGF0YS1kcm9wZG93bi1pZF1cIjogXCJkcm9wZG93bklkXCIsXG4gIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgaWRDb3VudGVyID0gMDtcblxuICByZWFkb25seSB0cmlnZ2VyID0gY29udGVudENoaWxkKERyb3Bkb3duVHJpZ2dlckRpcmVjdGl2ZSk7XG4gIHJlYWRvbmx5IG1lbnUgPSBjb250ZW50Q2hpbGQoRHJvcGRvd25NZW51Q29tcG9uZW50KTtcblxuICByZWFkb25seSBydGVEcm9wZG93blBvc2l0aW9uID0gaW5wdXQ8UG9zaXRpb24+KFwiYm90dG9tXCIpO1xuICByZWFkb25seSBydGVEcm9wZG93bklzT3BlbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcnRlRHJvcGRvd25PZmZzZXQgPSBpbnB1dDxudW1iZXI+KDApO1xuXG4gIHJlYWRvbmx5IGRyb3Bkb3duSWQgPSBgZHJvcGRvd25fJHsrK0Ryb3Bkb3duRGlyZWN0aXZlLmlkQ291bnRlcn1gO1xuICByZWFkb25seSBtZW51RXZlbnQgPSBvdXRwdXQ8eyBldmVudDogRXZlbnQ7IGlkOiBzdHJpbmcgfT4oKTtcblxuICByZWFkb25seSBvdmVybGF5U2VydmljZSA9IGluamVjdChPdmVybGF5U2VydmljZSk7XG4gIHJlYWRvbmx5IGRyb3Bkb3duU2VydmljZSA9IGluamVjdChEcm9wZG93blNlcnZpY2UpO1xuICByZWFkb25seSB2aWV3Q29udGFpbmVyUmVmID0gaW5qZWN0KFZpZXdDb250YWluZXJSZWYpO1xuICByZWFkb25seSBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuICByZWFkb25seSByZW5kZXJlciA9IGluamVjdChSZW5kZXJlcjIpO1xuICByZWFkb25seSBob3N0RWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gIHJlYWRvbmx5IGRlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG4gIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5ob3N0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuICB9XG5cbiAgZHJvcGRvd25NZW51UmVmOiBDb21wb25lbnRSZWY8RHJvcGRvd25NZW51Q29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xuXG4gIG9uVHJpZ2dlcigpOiB2b2lkIHtcbiAgICB0aGlzLnNob3dEcm9wZG93bk1lbnUoKTtcbiAgfVxuXG4gIG9uVHJpZ2dlcktleUV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKGV2ZW50LmtleSA9PT0gU1BBQ0VfS0VZKSB7XG4gICAgICB0aGlzLnNob3dEcm9wZG93bk1lbnUoKTtcbiAgICB9XG5cbiAgICBpZiAoZXZlbnQua2V5ID09PSBUQUJfS0VZICYmIHRoaXMuZHJvcGRvd25NZW51UmVmKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgY29uc3QgbWVudUVsZW1lbnQgPSB0aGlzLmRyb3Bkb3duTWVudVJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICAgICAgY29uc3QgZm9jdXNhYmxlRWxlbWVudHMgPSBtZW51RWxlbWVudC5xdWVyeVNlbGVjdG9yQWxsKFxuICAgICAgICAnYnV0dG9uOm5vdChbZGlzYWJsZWRdKSwgW2hyZWZdLCBpbnB1dDpub3QoW2Rpc2FibGVkXSksIHNlbGVjdDpub3QoW2Rpc2FibGVkXSksIHRleHRhcmVhOm5vdChbZGlzYWJsZWRdKSwgW3RhYmluZGV4XTpub3QoW3RhYmluZGV4PVwiLTFcIl0pOm5vdChbZGlzYWJsZWRdKScsXG4gICAgICApO1xuICAgICAgaWYgKGZvY3VzYWJsZUVsZW1lbnRzLmxlbmd0aCkge1xuICAgICAgICBmb2N1c2FibGVFbGVtZW50c1swXS5mb2N1cygpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uTWVudUV2ZW50KGV2ZW50OiB7IGV2ZW50OiBFdmVudDsgaWQ6IHN0cmluZyB9KTogdm9pZCB7XG4gICAgdGhpcy5tZW51RXZlbnQuZW1pdChldmVudCk7XG4gICAgdGhpcy5kcm9wZG93blNlcnZpY2UuY2xvc2VBbGxNZW51cygpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIoKSkge1xuICAgICAgdGhpcy50cmlnZ2VyKCk/LmRyb3Bkb3duVHJpZ2dlcmVkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMub25UcmlnZ2VyKCk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy50cmlnZ2VyKCk/LmRyb3Bkb3duS2V5RG93bi5zdWJzY3JpYmUoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMub25UcmlnZ2VyS2V5RXZlbnQoZXZlbnQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2hvd0Ryb3Bkb3duTWVudSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcm9wZG93bk1lbnVSZWYpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25NZW51UmVmLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICB0aGlzLmRyb3Bkb3duTWVudVJlZiA9IHRoaXMub3ZlcmxheVNlcnZpY2UuY3JlYXRlKERyb3Bkb3duTWVudUNvbXBvbmVudCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcblxuICAgIGNvbnN0IG1lbnVJZCA9IHRoaXMuZHJvcGRvd25JZDtcblxuICAgIHRoaXMuZHJvcGRvd25NZW51UmVmLnNldElucHV0KFwibWVudUlkXCIsIG1lbnVJZCk7XG5cbiAgICB0aGlzLmRyb3Bkb3duU2VydmljZS5vcGVuTWVudShtZW51SWQpO1xuXG4gICAgdGhpcy5hc3NpZ25JdGVtcygpO1xuICAgIHRoaXMucG9zaXRpb25Ecm9wZG93bk1lbnUodGhpcy5ydGVEcm9wZG93blBvc2l0aW9uKCkpO1xuICAgIHRoaXMuYWRkQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcblxuICAgIHRoaXMuZHJvcGRvd25NZW51UmVmLmluc3RhbmNlLml0ZW1FdmVudC5zdWJzY3JpYmUoKGV2ZW50OiB7IGV2ZW50OiBFdmVudDsgaWQ6IHN0cmluZyB9KSA9PiB7XG4gICAgICB0aGlzLm9uTWVudUV2ZW50KGV2ZW50KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGRyb3Bkb3duU3RhdGVTdWJzY3JpcHRpb24gPSB0aGlzLmRyb3Bkb3duU2VydmljZS5zdGF0ZSRcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHN0YXRlID09PSBudWxsKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZHJvcGRvd25NZW51UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duTWVudVJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duTWVudVJlZiA9IG51bGw7XG5cbiAgICAgICAgICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIGRyb3Bkb3duU3RhdGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3NpZ25JdGVtcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcm9wZG93bk1lbnVSZWYpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25NZW51UmVmLnNldElucHV0KFwiaXRlbXNcIiwgdGhpcy5tZW51KCk/Lml0ZW1zKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9zaXRpb25Ecm9wZG93bk1lbnUocG9zaXRpb246IFBvc2l0aW9uID0gXCJib3R0b21cIik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRyb3Bkb3duTWVudVJlZiAmJiB0aGlzLnRyaWdnZXIoKSkge1xuICAgICAgY29uc3QgZHJvcGRvd25NZW51RWxlbWVudCA9IHRoaXMuZHJvcGRvd25NZW51UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCB0cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcigpPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIGlmICh0cmlnZ2VyRWxlbWVudCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsIFwiZGlzcGxheVwiLCBcImJsb2NrXCIpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIGNvbnN0IGNvbXB1dGVkUG9zaXRpb246IEV4Y2x1ZGU8UG9zaXRpb24sIFwiYXV0b1wiPiA9XG4gICAgICAgICAgcG9zaXRpb24gPT09IFwiYXV0b1wiID8gZ2V0QXV0b1BsYWNlbWVudERyb3Bkb3duKHRyaWdnZXJFbGVtZW50LCBkcm9wZG93bk1lbnVFbGVtZW50LCBcImJvdHRvbVwiKSA6IHBvc2l0aW9uO1xuICAgICAgICBjb25zdCBhdXRvQWxpZ25tZW50ID0gZ2V0QXV0b0FsaWdubWVudCh0cmlnZ2VyRWxlbWVudCwgZHJvcGRvd25NZW51RWxlbWVudCwgY29tcHV0ZWRQb3NpdGlvbik7XG4gICAgICAgIGNvbnN0IGNvbXB1dGVkQ29vcmRpbmF0ZXMgPSBnZXRDb29yZGluYXRlcyhcbiAgICAgICAgICBjb21wdXRlZFBvc2l0aW9uLFxuICAgICAgICAgIHRyaWdnZXJFbGVtZW50LFxuICAgICAgICAgIGRyb3Bkb3duTWVudUVsZW1lbnQuY2hpbGRyZW5bMF0sXG4gICAgICAgICAgdGhpcy5ydGVEcm9wZG93bk9mZnNldCgpLFxuICAgICAgICAgIGF1dG9BbGlnbm1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCBcInRvcFwiLCBgJHtjb21wdXRlZENvb3JkaW5hdGVzLnRvcH1weGApO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsIFwibGVmdFwiLCBgJHtjb21wdXRlZENvb3JkaW5hdGVzLmxlZnR9cHhgKTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsIFwib3BhY2l0eVwiLCBcIjFcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xuICAgIGlmICh0aGlzLmRyb3Bkb3duTWVudVJlZikge1xuICAgICAgdGhpcy5kcm9wZG93bk1lbnVSZWYuZGVzdHJveSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQ7XG5cbiAgICBjb25zdCBpc01lbnVJdGVtQ2xpY2sgPSB0YXJnZXQuY2xvc2VzdChcIi5ydGUtZHJvcGRvd24taXRlbVwiKSAhPT0gbnVsbDtcbiAgICBpZiAoaXNNZW51SXRlbUNsaWNrKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2xpY2tlZEluVHJpZ2dlciA9IHRoaXMuaG9zdEVsZW1lbnQuY29udGFpbnModGFyZ2V0KTtcblxuICAgIGlmICghY2xpY2tlZEluVHJpZ2dlcikge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgYWRkQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5oYW5kbGVDbGlja091dHNpZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZURyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLmNsb3NlQWxsTWVudXMoKTtcbiAgfVxufVxuIl19
|
|
147
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFFakIsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVCxnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFHaEUsT0FBTyxFQUNMLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsY0FBYyxHQUNmLE1BQU0seURBQXlELENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFckgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFVN0QsTUFBTSxPQUFPLGlCQUFpQjthQUNiLGNBQVMsR0FBRyxDQUFDLEFBQUosQ0FBSztJQXNCN0I7UUFwQlMsWUFBTyxHQUFHLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ2pELFNBQUksR0FBRyxZQUFZLENBQUMscUJBQXFCLENBQUMsQ0FBQztRQUUzQyx3QkFBbUIsR0FBRyxLQUFLLENBQVcsUUFBUSxD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LFFBQVEsRUFBRSxlQUFlO29CQUN6QixJQUFJLEVBQUU7d0JBQ0osa0JBQWtCLEVBQUUsTUFBTTt3QkFDMUIseUJBQXlCLEVBQUUsWUFBWTtxQkFDeEM7b0JBQ0QsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudFJlZixcbiAgY29udGVudENoaWxkLFxuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIE9uRGVzdHJveSxcbiAgb3V0cHV0LFxuICBSZW5kZXJlcjIsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcbmltcG9ydCB7IEFsaWdubWVudCB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21tb24vY29tbW9uLXR5cGVzXCI7XG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL2NvbW1vbi9jb21tb24tdHlwZXNcIjtcbmltcG9ydCB7XG4gIGdldEF1dG9BbGlnbm1lbnQsXG4gIGdldEF1dG9QbGFjZW1lbnREcm9wZG93bixcbiAgZ2V0Q29vcmRpbmF0ZXMsXG59IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL3V0aWxzL2F1dG8tcGxhY2VtZW50XCI7XG5pbXBvcnQgeyBBUlJPV19ET1dOX0tFWSwgRU5URVJfS0VZLCBTUEFDRV9LRVkgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29uc3RhbnRzL2tleWJvYXJkL2tleWJvYXJkLmNvbnN0YW50c1wiO1xuXG5pbXBvcnQgeyBEcm9wZG93blNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZHJvcGRvd24uc2VydmljZVwiO1xuaW1wb3J0IHsgT3ZlcmxheVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvb3ZlcmxheS5zZXJ2aWNlXCI7XG5cbmltcG9ydCB7IERyb3Bkb3duTWVudUNvbXBvbmVudCB9IGZyb20gXCIuL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5jb21wb25lbnRcIjtcbmltcG9ydCB7IERyb3Bkb3duVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gXCIuL2Ryb3Bkb3duLXRyaWdnZXIvZHJvcGRvd24tdHJpZ2dlci5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IGZvY3VzRHJvcGRvd25GaXJzdEVsZW1lbnQgfSBmcm9tIFwiLi9kcm9wZG93bi51dGlsc1wiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW3J0ZURyb3Bkb3duXVwiLFxuICBob3N0OiB7XG4gICAgXCJbY2xhc3MuZHJvcGRvd25dXCI6IFwidHJ1ZVwiLFxuICAgIFwiW2F0dHIuZGF0YS1kcm9wZG93bi1pZF1cIjogXCJkcm9wZG93bklkXCIsXG4gIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgaWRDb3VudGVyID0gMDtcblxuICByZWFkb25seSB0cmlnZ2VyID0gY29udGVudENoaWxkKERyb3Bkb3duVHJpZ2dlckRpcmVjdGl2ZSk7XG4gIHJlYWRvbmx5IG1lbnUgPSBjb250ZW50Q2hpbGQoRHJvcGRvd25NZW51Q29tcG9uZW50KTtcblxuICByZWFkb25seSBydGVEcm9wZG93blBvc2l0aW9uID0gaW5wdXQ8UG9zaXRpb24+KFwiYm90dG9tXCIpO1xuICByZWFkb25seSBydGVEcm9wZG93bkFsaWdubWVudCA9IGlucHV0PEFsaWdubWVudD4oXCJzdGFydFwiKTtcbiAgcmVhZG9ubHkgcnRlRHJvcGRvd25Jc09wZW4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHJ0ZURyb3Bkb3duT2Zmc2V0ID0gaW5wdXQ8bnVtYmVyPigwKTtcblxuICByZWFkb25seSBkcm9wZG93bklkID0gYGRyb3Bkb3duXyR7KytEcm9wZG93bkRpcmVjdGl2ZS5pZENvdW50ZXJ9YDtcbiAgcmVhZG9ubHkgbWVudUV2ZW50ID0gb3V0cHV0PHsgZXZlbnQ6IEV2ZW50OyBpZDogc3RyaW5nIH0+KCk7XG5cbiAgcmVhZG9ubHkgb3ZlcmxheVNlcnZpY2UgPSBpbmplY3QoT3ZlcmxheVNlcnZpY2UpO1xuICByZWFkb25seSBkcm9wZG93blNlcnZpY2UgPSBpbmplY3QoRHJvcGRvd25TZXJ2aWNlKTtcbiAgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcmVhZG9ubHkgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgfVxuXG4gIGRyb3Bkb3duTWVudVJlZjogQ29tcG9uZW50UmVmPERyb3Bkb3duTWVudUNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcblxuICBvblRyaWdnZXIoKTogdm9pZCB7XG4gICAgdGhpcy5zaG93RHJvcGRvd25NZW51KCk7XG4gIH1cblxuICBvblRyaWdnZXJLZXlFdmVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChcbiAgICAgIGV2ZW50LmtleSA9PT0gU1BBQ0VfS0VZIHx8XG4gICAgICBldmVudC5rZXkgPT09IEVOVEVSX0tFWSB8fFxuICAgICAgKGV2ZW50LmtleSA9PT0gQVJST1dfRE9XTl9LRVkgJiYgdGhpcy50cmlnZ2VyKCk/LnJ0ZURyb3Bkb3duVHJpZ2dlckFjdGl2YXRlV2l0aEFycm93RG93bigpKVxuICAgICkge1xuICAgICAgdGhpcy5zaG93RHJvcGRvd25NZW51KCk7XG4gICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4gZm9jdXNEcm9wZG93bkZpcnN0RWxlbWVudCh0aGlzLmRyb3Bkb3duSWQpKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG9uTWVudUV2ZW50KGV2ZW50OiB7IGV2ZW50OiBFdmVudDsgaWQ6IHN0cmluZyB9KTogdm9pZCB7XG4gICAgdGhpcy5tZW51RXZlbnQuZW1pdChldmVudCk7XG4gICAgdGhpcy5kcm9wZG93blNlcnZpY2UuY2xvc2VBbGxNZW51cygpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIoKSkge1xuICAgICAgdGhpcy50cmlnZ2VyKCk/LmRyb3Bkb3duVHJpZ2dlcmVkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMub25UcmlnZ2VyKCk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy50cmlnZ2VyKCk/LmRyb3Bkb3duS2V5RG93bi5zdWJzY3JpYmUoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMub25UcmlnZ2VyS2V5RXZlbnQoZXZlbnQpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2hvd0Ryb3Bkb3duTWVudSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcm9wZG93bk1lbnVSZWYpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25NZW51UmVmLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICB0aGlzLmRyb3Bkb3duTWVudVJlZiA9IHRoaXMub3ZlcmxheVNlcnZpY2UuY3JlYXRlKERyb3Bkb3duTWVudUNvbXBvbmVudCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcblxuICAgIGNvbnN0IG1lbnVJZCA9IHRoaXMuZHJvcGRvd25JZDtcblxuICAgIHRoaXMuZHJvcGRvd25NZW51UmVmLnNldElucHV0KFwibWVudUlkXCIsIG1lbnVJZCk7XG5cbiAgICB0aGlzLmRyb3Bkb3duU2VydmljZS5vcGVuTWVudShtZW51SWQpO1xuXG4gICAgdGhpcy5hc3NpZ25JdGVtcygpO1xuICAgIHRoaXMucG9zaXRpb25Ecm9wZG93bk1lbnUodGhpcy5ydGVEcm9wZG93blBvc2l0aW9uKCkpO1xuICAgIHRoaXMuYWRkQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcblxuICAgIHRoaXMuZHJvcGRvd25NZW51UmVmLmluc3RhbmNlLml0ZW1FdmVudC5zdWJzY3JpYmUoKGV2ZW50OiB7IGV2ZW50OiBFdmVudDsgaWQ6IHN0cmluZyB9KSA9PiB7XG4gICAgICB0aGlzLm9uTWVudUV2ZW50KGV2ZW50KTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGRyb3Bkb3duU3RhdGVTdWJzY3JpcHRpb24gPSB0aGlzLmRyb3Bkb3duU2VydmljZS5zdGF0ZSRcbiAgICAgIC5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLmRlc3Ryb3lSZWYpKVxuICAgICAgLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgICAgaWYgKHN0YXRlID09PSBudWxsKSB7XG4gICAgICAgICAgaWYgKHRoaXMuZHJvcGRvd25NZW51UmVmKSB7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duTWVudVJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgICB0aGlzLmRyb3Bkb3duTWVudVJlZiA9IG51bGw7XG5cbiAgICAgICAgICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIGRyb3Bkb3duU3RhdGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3NpZ25JdGVtcygpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcm9wZG93bk1lbnVSZWYpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25NZW51UmVmLnNldElucHV0KFwiaXRlbXNcIiwgdGhpcy5tZW51KCk/Lml0ZW1zKCkpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9zaXRpb25Ecm9wZG93bk1lbnUocG9zaXRpb246IFBvc2l0aW9uID0gXCJib3R0b21cIik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRyb3Bkb3duTWVudVJlZiAmJiB0aGlzLnRyaWdnZXIoKSkge1xuICAgICAgY29uc3QgZHJvcGRvd25NZW51RWxlbWVudCA9IHRoaXMuZHJvcGRvd25NZW51UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCB0cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcigpPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIGlmICh0cmlnZ2VyRWxlbWVudCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsIFwiZGlzcGxheVwiLCBcImJsb2NrXCIpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIGNvbnN0IGNvbXB1dGVkUG9zaXRpb246IEV4Y2x1ZGU8UG9zaXRpb24sIFwiYXV0b1wiPiA9XG4gICAgICAgICAgcG9zaXRpb24gPT09IFwiYXV0b1wiID8gZ2V0QXV0b1BsYWNlbWVudERyb3Bkb3duKHRyaWdnZXJFbGVtZW50LCBkcm9wZG93bk1lbnVFbGVtZW50LCBcImJvdHRvbVwiKSA6IHBvc2l0aW9uO1xuICAgICAgICBjb25zdCBhdXRvQWxpZ25tZW50ID1cbiAgICAgICAgICB0aGlzLnJ0ZURyb3Bkb3duQWxpZ25tZW50KCkgPz8gZ2V0QXV0b0FsaWdubWVudCh0cmlnZ2VyRWxlbWVudCwgZHJvcGRvd25NZW51RWxlbWVudCwgY29tcHV0ZWRQb3NpdGlvbik7XG4gICAgICAgIGNvbnN0IGNvbXB1dGVkQ29vcmRpbmF0ZXMgPSBnZXRDb29yZGluYXRlcyhcbiAgICAgICAgICBjb21wdXRlZFBvc2l0aW9uLFxuICAgICAgICAgIHRyaWdnZXJFbGVtZW50LFxuICAgICAgICAgIGRyb3Bkb3duTWVudUVsZW1lbnQuY2hpbGRyZW5bMF0sXG4gICAgICAgICAgdGhpcy5ydGVEcm9wZG93bk9mZnNldCgpLFxuICAgICAgICAgIGF1dG9BbGlnbm1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCBcInRvcFwiLCBgJHtjb21wdXRlZENvb3JkaW5hdGVzLnRvcH1weGApO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsIFwibGVmdFwiLCBgJHtjb21wdXRlZENvb3JkaW5hdGVzLmxlZnR9cHhgKTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsIFwib3BhY2l0eVwiLCBcIjFcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xuICAgIGlmICh0aGlzLmRyb3Bkb3duTWVudVJlZikge1xuICAgICAgdGhpcy5kcm9wZG93bk1lbnVSZWYuZGVzdHJveSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQ7XG5cbiAgICBjb25zdCBpc01lbnVJdGVtQ2xpY2sgPSB0YXJnZXQuY2xvc2VzdChcIi5ydGUtZHJvcGRvd24taXRlbVwiKSAhPT0gbnVsbDtcbiAgICBpZiAoaXNNZW51SXRlbUNsaWNrKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2xpY2tlZEluVHJpZ2dlciA9IHRoaXMuaG9zdEVsZW1lbnQuY29udGFpbnModGFyZ2V0KTtcblxuICAgIGlmICghY2xpY2tlZEluVHJpZ2dlcikge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgYWRkQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5oYW5kbGVDbGlja091dHNpZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZURyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLmNsb3NlQWxsTWVudXMoKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { DropdownManager } from "@design-system-rte/core/components/dropdown/DropdownManager";
|
|
2
|
+
export const focusNextElement = (dropdown) => {
|
|
3
|
+
const menuItems = getDropdownMenuItems(dropdown);
|
|
4
|
+
const activeElementIndex = menuItems.indexOf(document.activeElement);
|
|
5
|
+
if (activeElementIndex < menuItems.length - 1) {
|
|
6
|
+
const nextElement = menuItems[activeElementIndex + 1];
|
|
7
|
+
nextElement.focus();
|
|
8
|
+
}
|
|
9
|
+
else {
|
|
10
|
+
menuItems[0]?.focus();
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export const focusPreviousElement = (dropdown) => {
|
|
14
|
+
const menuItems = getDropdownMenuItems(dropdown);
|
|
15
|
+
const activeElementIndex = menuItems.indexOf(document.activeElement);
|
|
16
|
+
if (activeElementIndex > 0) {
|
|
17
|
+
const previousElement = menuItems[activeElementIndex - 1];
|
|
18
|
+
previousElement.focus();
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
menuItems.at(-1)?.focus();
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
export const focusDropdownFirstElement = (dropdownId) => {
|
|
25
|
+
const childDropdown = document.querySelector(`[data-menu-id='${dropdownId}']`);
|
|
26
|
+
if (childDropdown) {
|
|
27
|
+
const allChildDropdownElement = childDropdown?.querySelectorAll('li[role="menuitem"]');
|
|
28
|
+
allChildDropdownElement[0]?.focus();
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
export const focusParentDropdownFirstElement = (dropdownId) => {
|
|
32
|
+
const parentDropdownId = DropdownManager.getParentDropdownId(dropdownId);
|
|
33
|
+
const parentDropdown = document.querySelector(`[data-menu-id='${parentDropdownId}']`);
|
|
34
|
+
parentDropdown?.querySelector("[data-active=true]")?.focus();
|
|
35
|
+
};
|
|
36
|
+
const getDropdownMenuItems = (dropdown) => {
|
|
37
|
+
const allDropdownElement = dropdown?.querySelectorAll('li[role="menuitem"]');
|
|
38
|
+
return allDropdownElement ? Array.from(allDropdownElement) : [];
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24udXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi51dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFFOUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxRQUFxQixFQUFFLEVBQUU7SUFDeEQsTUFBTSxTQUFTLEdBQUcsb0JBQW9CLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDakQsTUFBTSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxhQUE0QixDQUFDLENBQUM7SUFFcEYsSUFBSSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQzlDLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUN0RCxXQUFXLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDdEIsQ0FBQztTQUFNLENBQUM7UUFDTixTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDeEIsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQUMsUUFBcUIsRUFBRSxFQUFFO0lBQzVELE1BQU0sU0FBUyxHQUFHLG9CQUFvQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pELE1BQU0sa0JBQWtCLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBNEIsQ0FBQyxDQUFDO0lBRXBGLElBQUksa0JBQWtCLEdBQUcsQ0FBQyxFQUFFLENBQUM7UUFDM0IsTUFBTSxlQUFlLEdBQUcsU0FBUyxDQUFDLGtCQUFrQixHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQzFELGVBQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMxQixDQUFDO1NBQU0sQ0FBQztRQUNOLFNBQVMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0seUJBQXlCLEdBQUcsQ0FBQyxVQUFrQixFQUFFLEVBQUU7SUFDOUQsTUFBTSxhQUFhLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxrQkFBa0IsVUFBVSxJQUFJLENBQUMsQ0FBQztJQUMvRSxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2xCLE1BQU0sdUJBQXVCLEdBQUcsYUFBYSxFQUFFLGdCQUFnQixDQUFjLHFCQUFxQixDQUFDLENBQUM7UUFDcEcsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDdEMsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLENBQUMsVUFBa0IsRUFBRSxFQUFFO0lBQ3BFLE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pFLE1BQU0sY0FBYyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLGdCQUFnQixJQUFJLENBQUMsQ0FBQztJQUN0RixjQUFjLEVBQUUsYUFBYSxDQUFjLG9CQUFvQixDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUM7QUFDNUUsQ0FBQyxDQUFDO0FBRUYsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLFFBQXFCLEVBQUUsRUFBRTtJQUNyRCxNQUFNLGtCQUFrQixHQUFHLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBYyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzFGLE9BQU8sa0JBQWtCLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO0FBQ2xFLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERyb3Bkb3duTWFuYWdlciB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL2Ryb3Bkb3duL0Ryb3Bkb3duTWFuYWdlclwiO1xuXG5leHBvcnQgY29uc3QgZm9jdXNOZXh0RWxlbWVudCA9IChkcm9wZG93bjogSFRNTEVsZW1lbnQpID0+IHtcbiAgY29uc3QgbWVudUl0ZW1zID0gZ2V0RHJvcGRvd25NZW51SXRlbXMoZHJvcGRvd24pO1xuICBjb25zdCBhY3RpdmVFbGVtZW50SW5kZXggPSBtZW51SXRlbXMuaW5kZXhPZihkb2N1bWVudC5hY3RpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50KTtcblxuICBpZiAoYWN0aXZlRWxlbWVudEluZGV4IDwgbWVudUl0ZW1zLmxlbmd0aCAtIDEpIHtcbiAgICBjb25zdCBuZXh0RWxlbWVudCA9IG1lbnVJdGVtc1thY3RpdmVFbGVtZW50SW5kZXggKyAxXTtcbiAgICBuZXh0RWxlbWVudC5mb2N1cygpO1xuICB9IGVsc2Uge1xuICAgIG1lbnVJdGVtc1swXT8uZm9jdXMoKTtcbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGZvY3VzUHJldmlvdXNFbGVtZW50ID0gKGRyb3Bkb3duOiBIVE1MRWxlbWVudCkgPT4ge1xuICBjb25zdCBtZW51SXRlbXMgPSBnZXREcm9wZG93bk1lbnVJdGVtcyhkcm9wZG93bik7XG4gIGNvbnN0IGFjdGl2ZUVsZW1lbnRJbmRleCA9IG1lbnVJdGVtcy5pbmRleE9mKGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgYXMgSFRNTEVsZW1lbnQpO1xuXG4gIGlmIChhY3RpdmVFbGVtZW50SW5kZXggPiAwKSB7XG4gICAgY29uc3QgcHJldmlvdXNFbGVtZW50ID0gbWVudUl0ZW1zW2FjdGl2ZUVsZW1lbnRJbmRleCAtIDFdO1xuICAgIHByZXZpb3VzRWxlbWVudC5mb2N1cygpO1xuICB9IGVsc2Uge1xuICAgIG1lbnVJdGVtcy5hdCgtMSk/LmZvY3VzKCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb2N1c0Ryb3Bkb3duRmlyc3RFbGVtZW50ID0gKGRyb3Bkb3duSWQ6IHN0cmluZykgPT4ge1xuICBjb25zdCBjaGlsZERyb3Bkb3duID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtbWVudS1pZD0nJHtkcm9wZG93bklkfSddYCk7XG4gIGlmIChjaGlsZERyb3Bkb3duKSB7XG4gICAgY29uc3QgYWxsQ2hpbGREcm9wZG93bkVsZW1lbnQgPSBjaGlsZERyb3Bkb3duPy5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PignbGlbcm9sZT1cIm1lbnVpdGVtXCJdJyk7XG4gICAgYWxsQ2hpbGREcm9wZG93bkVsZW1lbnRbMF0/LmZvY3VzKCk7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBmb2N1c1BhcmVudERyb3Bkb3duRmlyc3RFbGVtZW50ID0gKGRyb3Bkb3duSWQ6IHN0cmluZykgPT4ge1xuICBjb25zdCBwYXJlbnREcm9wZG93bklkID0gRHJvcGRvd25NYW5hZ2VyLmdldFBhcmVudERyb3Bkb3duSWQoZHJvcGRvd25JZCk7XG4gIGNvbnN0IHBhcmVudERyb3Bkb3duID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihgW2RhdGEtbWVudS1pZD0nJHtwYXJlbnREcm9wZG93bklkfSddYCk7XG4gIHBhcmVudERyb3Bkb3duPy5xdWVyeVNlbGVjdG9yPEhUTUxFbGVtZW50PihcIltkYXRhLWFjdGl2ZT10cnVlXVwiKT8uZm9jdXMoKTtcbn07XG5cbmNvbnN0IGdldERyb3Bkb3duTWVudUl0ZW1zID0gKGRyb3Bkb3duOiBIVE1MRWxlbWVudCkgPT4ge1xuICBjb25zdCBhbGxEcm9wZG93bkVsZW1lbnQgPSBkcm9wZG93bj8ucXVlcnlTZWxlY3RvckFsbDxIVE1MRWxlbWVudD4oJ2xpW3JvbGU9XCJtZW51aXRlbVwiXScpO1xuICByZXR1cm4gYWxsRHJvcGRvd25FbGVtZW50ID8gQXJyYXkuZnJvbShhbGxEcm9wZG93bkVsZW1lbnQpIDogW107XG59O1xuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { CommonModule } from "@angular/common";
|
|
2
2
|
import { ChangeDetectionStrategy, Component, computed, input, output } from "@angular/core";
|
|
3
3
|
import { buttonIconSize } from "@design-system-rte/core/components/button/common/common-button.constants";
|
|
4
|
+
import { BadgeDirective } from "../badge/badge.directive";
|
|
4
5
|
import { isValidIconName } from "../icon/icon-map";
|
|
5
6
|
import { IconComponent } from "../icon/icon.component";
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
@@ -16,19 +17,28 @@ export class IconButtonComponent {
|
|
|
16
17
|
this.compactSpacing = input(false);
|
|
17
18
|
this.ariaLabel = input(undefined);
|
|
18
19
|
this.ariaLabelledBy = input(undefined);
|
|
20
|
+
this.badgeCount = input();
|
|
21
|
+
this.badgeContent = input();
|
|
22
|
+
this.badgeType = input();
|
|
23
|
+
this.badgeIcon = input("settings");
|
|
19
24
|
this.buttonIconSize = computed(() => buttonIconSize[this.size()]);
|
|
20
25
|
this.isValidIconName = computed(() => isValidIconName(this.name()));
|
|
21
26
|
this.click = output();
|
|
27
|
+
this.shouldDisplayBadge = computed(() => {
|
|
28
|
+
const count = this.badgeCount();
|
|
29
|
+
const content = this.badgeContent();
|
|
30
|
+
return (count && count > 0 && content === "number") || content === "icon";
|
|
31
|
+
});
|
|
22
32
|
}
|
|
23
33
|
onClick(event) {
|
|
24
34
|
event.stopPropagation();
|
|
25
35
|
this.click.emit(event);
|
|
26
36
|
}
|
|
27
37
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
38
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: IconButtonComponent, isStandalone: true, selector: "rte-icon-button", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, compactSpacing: { classPropertyName: "compactSpacing", publicName: "compactSpacing", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, badgeCount: { classPropertyName: "badgeCount", publicName: "badgeCount", isSignal: true, isRequired: false, transformFunction: null }, badgeContent: { classPropertyName: "badgeContent", publicName: "badgeContent", isSignal: true, isRequired: false, transformFunction: null }, badgeType: { classPropertyName: "badgeType", publicName: "badgeType", isSignal: true, isRequired: false, transformFunction: null }, badgeIcon: { classPropertyName: "badgeIcon", publicName: "badgeIcon", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, ngImport: i0, template: "@if (shouldDisplayBadge()) {\n <button\n *ngIf=\"isValidIconName\"\n class=\"rte-icon-button {{ variant() }} size-{{ size() }}\"\n rteBadge\n [class.compact-spacing]=\"compactSpacing()\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [type]=\"type()\"\n [rteBadgeType]=\"badgeType()!\"\n [rteBadgeSize]=\"size()\"\n [rteBadgeContent]=\"size() === 's' ? 'empty' : badgeContent()!\"\n [rteBadgeCount]=\"badgeCount()!\"\n [rteBadgeIcon]=\"badgeIcon()!\"\n (click)=\"onClick($event)\"\n >\n <rte-icon\n [name]=\"name()\"\n [appearance]=\"appearance()\"\n [size]=\"buttonIconSize()\"\n />\n </button>\n} @else {\n <button\n *ngIf=\"isValidIconName\"\n class=\"rte-icon-button {{ variant() }} size-{{ size() }}\"\n [class.compact-spacing]=\"compactSpacing()\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [type]=\"type()\"\n (click)=\"onClick($event)\"\n >\n <rte-icon\n [name]=\"name()\"\n [appearance]=\"appearance()\"\n [size]=\"buttonIconSize()\"\n />\n </button>\n}\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\";.rte-icon-button{display:flex;cursor:pointer;height:24px;align-items:center;gap:0px;flex-shrink:0}.rte-icon-button:focus-visible{outline:none;position:relative;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-icon-button.size-s{border-radius:4px;height:24px;padding:2px 4px}.rte-icon-button.size-s.compact-spacing{height:16px}.rte-icon-button.size-m{border-radius:4px;height:32px;padding:4px 6px}.rte-icon-button.size-m.compact-spacing{height:20px}.rte-icon-button.size-l{border-radius:8px;height:40px;padding:6px 8px}.rte-icon-button.size-l.compact-spacing{height:24px}.rte-icon-button.primary{background:var(--background-brand-default);border:var(--border-brand-default)}.rte-icon-button.primary ::ng-deep .rte-icon-container{color:var(--content-primary-inverse)}.rte-icon-button.primary:hover{background:var(--background-brand-hover);border:var(--background-brand-hover)}.rte-icon-button.primary:active{background:var(--background-brand-pressed)}.rte-icon-button.primary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}.rte-icon-button.secondary{background:var(--background-default);border:solid 1px var(--border-brand-default);color:var(--content-brand-default)}.rte-icon-button.secondary:hover{background:var(--background-brand-inverse-hover);border:solid 1px var(--border-brand-default)}.rte-icon-button.secondary:active{background:var(--background-brand-inverse-pressed)}.rte-icon-button.secondary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);cursor:default}.rte-icon-button.text{background:transparent;border:none;color:var(--content-brand-default)}.rte-icon-button.text:hover{background:var(--background-brand-inverse-hover)}.rte-icon-button.text:active{background:var(--background-brand-inverse-pressed)}.rte-icon-button.text:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:default}.rte-icon-button.transparent{background:transparent;border:none;color:var(--content-brand-default)}.rte-icon-button.transparent:hover{color:var(--content-brand-hover)}.rte-icon-button.transparent:active{color:var(--content-brand-pressed)}.rte-icon-button.transparent:disabled{box-shadow:none;background-color:var(--background-disabled);color:var(--content-disabled);cursor:default}.rte-icon-button.danger{background:var(--background-danger-default);border:none}.rte-icon-button.danger ::ng-deep .rte-icon-container{color:var(--content-primary-inverse)}.rte-icon-button.danger:hover{background:var(--background-danger-hover)}.rte-icon-button.danger:active{background:var(--background-danger-pressed)}.rte-icon-button.danger:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);cursor:default}.rte-icon-button.neutral{background:none;border:none;color:var(--content-primary)}.rte-icon-button.neutral:hover{color:var(--content-secondary)}.rte-icon-button.neutral:active{color:var(--content-tertiary)}.rte-icon-button.neutral:disabled{background:var(--background-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}.rte-icon-button.reverse{background:none;border:none;color:var(--content-primary-inverse)}.rte-icon-button.reverse:hover{color:var(--background-hover)}.rte-icon-button.reverse:active{color:var(--content-primary-inverse)}.rte-icon-button.reverse:disabled{background:var(--background-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}.rte-icon-button.compact-spacing{padding:0}\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"] }, { kind: "directive", type: BadgeDirective, selector: "[rteBadge]", inputs: ["rteBadgeType", "rteBadgeSize", "rteBadgeContent", "rteBadgeCount", "rteBadgeIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
29
39
|
}
|
|
30
40
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconButtonComponent, decorators: [{
|
|
31
41
|
type: Component,
|
|
32
|
-
args: [{ selector: "rte-icon-button", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<button\n
|
|
42
|
+
args: [{ selector: "rte-icon-button", imports: [CommonModule, IconComponent, BadgeDirective], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (shouldDisplayBadge()) {\n <button\n *ngIf=\"isValidIconName\"\n class=\"rte-icon-button {{ variant() }} size-{{ size() }}\"\n rteBadge\n [class.compact-spacing]=\"compactSpacing()\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [type]=\"type()\"\n [rteBadgeType]=\"badgeType()!\"\n [rteBadgeSize]=\"size()\"\n [rteBadgeContent]=\"size() === 's' ? 'empty' : badgeContent()!\"\n [rteBadgeCount]=\"badgeCount()!\"\n [rteBadgeIcon]=\"badgeIcon()!\"\n (click)=\"onClick($event)\"\n >\n <rte-icon\n [name]=\"name()\"\n [appearance]=\"appearance()\"\n [size]=\"buttonIconSize()\"\n />\n </button>\n} @else {\n <button\n *ngIf=\"isValidIconName\"\n class=\"rte-icon-button {{ variant() }} size-{{ size() }}\"\n [class.compact-spacing]=\"compactSpacing()\"\n [disabled]=\"disabled()\"\n [attr.aria-label]=\"ariaLabel()\"\n [attr.aria-labelledby]=\"ariaLabelledBy()\"\n [type]=\"type()\"\n (click)=\"onClick($event)\"\n >\n <rte-icon\n [name]=\"name()\"\n [appearance]=\"appearance()\"\n [size]=\"buttonIconSize()\"\n />\n </button>\n}\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\";.rte-icon-button{display:flex;cursor:pointer;height:24px;align-items:center;gap:0px;flex-shrink:0}.rte-icon-button:focus-visible{outline:none;position:relative;outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.rte-icon-button.size-s{border-radius:4px;height:24px;padding:2px 4px}.rte-icon-button.size-s.compact-spacing{height:16px}.rte-icon-button.size-m{border-radius:4px;height:32px;padding:4px 6px}.rte-icon-button.size-m.compact-spacing{height:20px}.rte-icon-button.size-l{border-radius:8px;height:40px;padding:6px 8px}.rte-icon-button.size-l.compact-spacing{height:24px}.rte-icon-button.primary{background:var(--background-brand-default);border:var(--border-brand-default)}.rte-icon-button.primary ::ng-deep .rte-icon-container{color:var(--content-primary-inverse)}.rte-icon-button.primary:hover{background:var(--background-brand-hover);border:var(--background-brand-hover)}.rte-icon-button.primary:active{background:var(--background-brand-pressed)}.rte-icon-button.primary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}.rte-icon-button.secondary{background:var(--background-default);border:solid 1px var(--border-brand-default);color:var(--content-brand-default)}.rte-icon-button.secondary:hover{background:var(--background-brand-inverse-hover);border:solid 1px var(--border-brand-default)}.rte-icon-button.secondary:active{background:var(--background-brand-inverse-pressed)}.rte-icon-button.secondary:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);cursor:default}.rte-icon-button.text{background:transparent;border:none;color:var(--content-brand-default)}.rte-icon-button.text:hover{background:var(--background-brand-inverse-hover)}.rte-icon-button.text:active{background:var(--background-brand-inverse-pressed)}.rte-icon-button.text:disabled{background:var(--background-disabled);color:var(--content-disabled);cursor:default}.rte-icon-button.transparent{background:transparent;border:none;color:var(--content-brand-default)}.rte-icon-button.transparent:hover{color:var(--content-brand-hover)}.rte-icon-button.transparent:active{color:var(--content-brand-pressed)}.rte-icon-button.transparent:disabled{box-shadow:none;background-color:var(--background-disabled);color:var(--content-disabled);cursor:default}.rte-icon-button.danger{background:var(--background-danger-default);border:none}.rte-icon-button.danger ::ng-deep .rte-icon-container{color:var(--content-primary-inverse)}.rte-icon-button.danger:hover{background:var(--background-danger-hover)}.rte-icon-button.danger:active{background:var(--background-danger-pressed)}.rte-icon-button.danger:disabled{background:var(--background-disabled);border:solid 1px var(--border-disabled);color:var(--content-disabled);cursor:default}.rte-icon-button.neutral{background:none;border:none;color:var(--content-primary)}.rte-icon-button.neutral:hover{color:var(--content-secondary)}.rte-icon-button.neutral:active{color:var(--content-tertiary)}.rte-icon-button.neutral:disabled{background:var(--background-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}.rte-icon-button.reverse{background:none;border:none;color:var(--content-primary-inverse)}.rte-icon-button.reverse:hover{color:var(--background-hover)}.rte-icon-button.reverse:active{color:var(--content-primary-inverse)}.rte-icon-button.reverse:disabled{background:var(--background-disabled);box-shadow:none;color:var(--content-disabled);cursor:default}.rte-icon-button.compact-spacing{padding:0}\n"] }]
|
|
33
43
|
}] });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1idXR0b24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvaWNvbi1idXR0b24vaWNvbi1idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJNUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBFQUEwRSxDQUFDO0FBRTFHLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7QUFXdkQsTUFBTSxPQUFPLG1CQUFtQjtJQVJoQztRQVNXLGFBQVEsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDakMsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQXlDLENBQUM7UUFDL0QsU0FBSSxHQUFHLEtBQUssQ0FBYSxHQUFHLENBQUMsQ0FBQztRQUM5QixZQUFPLEdBQUcsS0FBSyxDQUFnQixTQUFTLENBQUMsQ0FBQztRQUMxQyxTQUFJLEdBQUcsS0FBSyxDQUFhLFFBQVEsQ0FBQyxDQUFDO1FBQ25DLGVBQVUsR0FBRyxLQUFLLENBQXdCLFVBQVUsQ0FBQyxDQUFDO1FBQ3RELG1CQUFjLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLGNBQVMsR0FBRyxLQUFLLENBQXFCLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELG1CQUFjLEdBQUcsS0FBSyxDQUFxQixTQUFTLENBQUMsQ0FBQztRQUN0RCxlQUFVLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFDN0IsaUJBQVksR0FBRyxLQUFLLEVBQWdCLENBQUM7UUFDckMsY0FBUyxHQUFHLEtBQUssRUFBYSxDQUFDO1FBQy9CLGNBQVMsR0FBRyxLQUFLLENBQXdDLFVBQVUsQ0FBQyxDQUFDO1FBRXJFLG1CQUFjLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRTdELG9CQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBRS9ELFVBQUssR0FBRyxNQUFNLEVBQThCLENBQUM7UUFFN0MsdUJBQWtCLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtZQUMxQyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDaEMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1lBRXBDLE9BQU8sQ0FBQyxLQUFLLElBQUksS0FBSyxHQUFHLENBQUMsSUFBSSxPQUFPLEtBQUssUUFBUSxDQUFDLElBQUksT0FBTyxLQUFLLE1BQU0sQ0FBQztRQUM1RSxDQUFDLENBQUMsQ0FBQztLQU1KO0lBSkMsT0FBTyxDQUFDLEtBQWlDO1FBQ3ZDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDOytHQS9CVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw4eERDcEJoQyw4ckNBeUNBLG0wSEQzQlksWUFBWSxtSUFBRSxhQUFhLGlIQUFFLGNBQWM7OzRGQU0xQyxtQkFBbUI7a0JBUi9CLFNBQVM7K0JBQ0UsaUJBQWlCLFdBQ2xCLENBQUMsWUFBWSxFQUFFLGFBQWEsRUFBRSxjQUFjLENBQUMsY0FDMUMsSUFBSSxtQkFHQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0LCBvdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQmFkZ2VDb250ZW50LCBCYWRnZVR5cGUgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9iYWRnZS9iYWRnZS5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IEJ1dHRvblR5cGUgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9idXR0b24vYnV0dG9uLmludGVyZmFjZVwiO1xuaW1wb3J0IHsgQnV0dG9uU2l6ZSwgQnV0dG9uVmFyaWFudCB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL2J1dHRvbi9jb21tb24vY29tbW9uLWJ1dHRvblwiO1xuaW1wb3J0IHsgYnV0dG9uSWNvblNpemUgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9idXR0b24vY29tbW9uL2NvbW1vbi1idXR0b24uY29uc3RhbnRzXCI7XG5cbmltcG9ydCB7IEJhZGdlRGlyZWN0aXZlIH0gZnJvbSBcIi4uL2JhZGdlL2JhZGdlLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgaXNWYWxpZEljb25OYW1lIH0gZnJvbSBcIi4uL2ljb24vaWNvbi1tYXBcIjtcbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgUmVndWxhckljb25JZEtleSwgVG9nZ2xhYmxlSWNvbklkS2V5IH0gZnJvbSBcIi4uL2ljb24vaWNvbi5zZXJ2aWNlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJydGUtaWNvbi1idXR0b25cIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbkNvbXBvbmVudCwgQmFkZ2VEaXJlY3RpdmVdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogXCIuL2ljb24tYnV0dG9uLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsOiBcIi4vaWNvbi1idXR0b24uY29tcG9uZW50LnNjc3NcIixcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEljb25CdXR0b25Db21wb25lbnQge1xuICByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgbmFtZSA9IGlucHV0LnJlcXVpcmVkPFJlZ3VsYXJJY29uSWRLZXkgfCBUb2dnbGFibGVJY29uSWRLZXk+KCk7XG4gIHJlYWRvbmx5IHNpemUgPSBpbnB1dDxCdXR0b25TaXplPihcIm1cIik7XG4gIHJlYWRvbmx5IHZhcmlhbnQgPSBpbnB1dDxCdXR0b25WYXJpYW50PihcInByaW1hcnlcIik7XG4gIHJlYWRvbmx5IHR5cGUgPSBpbnB1dDxCdXR0b25UeXBlPihcImJ1dHRvblwiKTtcbiAgcmVhZG9ubHkgYXBwZWFyYW5jZSA9IGlucHV0PFwib3V0bGluZWRcIiB8IFwiZmlsbGVkXCI+KFwib3V0bGluZWRcIik7XG4gIHJlYWRvbmx5IGNvbXBhY3RTcGFjaW5nID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBhcmlhTGFiZWwgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGFyaWFMYWJlbGxlZEJ5ID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBiYWRnZUNvdW50ID0gaW5wdXQ8bnVtYmVyPigpO1xuICByZWFkb25seSBiYWRnZUNvbnRlbnQgPSBpbnB1dDxCYWRnZUNvbnRlbnQ+KCk7XG4gIHJlYWRvbmx5IGJhZGdlVHlwZSA9IGlucHV0PEJhZGdlVHlwZT4oKTtcbiAgcmVhZG9ubHkgYmFkZ2VJY29uID0gaW5wdXQ8UmVndWxhckljb25JZEtleSB8IFRvZ2dsYWJsZUljb25JZEtleT4oXCJzZXR0aW5nc1wiKTtcblxuICByZWFkb25seSBidXR0b25JY29uU2l6ZSA9IGNvbXB1dGVkKCgpID0+IGJ1dHRvbkljb25TaXplW3RoaXMuc2l6ZSgpXSk7XG5cbiAgcmVhZG9ubHkgaXNWYWxpZEljb25OYW1lID0gY29tcHV0ZWQoKCkgPT4gaXNWYWxpZEljb25OYW1lKHRoaXMubmFtZSgpKSk7XG5cbiAgcmVhZG9ubHkgY2xpY2sgPSBvdXRwdXQ8TW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgcmVhZG9ubHkgc2hvdWxkRGlzcGxheUJhZGdlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5iYWRnZUNvdW50KCk7XG4gICAgY29uc3QgY29udGVudCA9IHRoaXMuYmFkZ2VDb250ZW50KCk7XG5cbiAgICByZXR1cm4gKGNvdW50ICYmIGNvdW50ID4gMCAmJiBjb250ZW50ID09PSBcIm51bWJlclwiKSB8fCBjb250ZW50ID09PSBcImljb25cIjtcbiAgfSk7XG5cbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB0aGlzLmNsaWNrLmVtaXQoZXZlbnQpO1xuICB9XG59XG4iLCJAaWYgKHNob3VsZERpc3BsYXlCYWRnZSgpKSB7XG4gIDxidXR0b25cbiAgICAqbmdJZj1cImlzVmFsaWRJY29uTmFtZVwiXG4gICAgY2xhc3M9XCJydGUtaWNvbi1idXR0b24ge3sgdmFyaWFudCgpIH19IHNpemUte3sgc2l6ZSgpIH19XCJcbiAgICBydGVCYWRnZVxuICAgIFtjbGFzcy5jb21wYWN0LXNwYWNpbmddPVwiY29tcGFjdFNwYWNpbmcoKVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKClcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsKClcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxsZWRieV09XCJhcmlhTGFiZWxsZWRCeSgpXCJcbiAgICBbdHlwZV09XCJ0eXBlKClcIlxuICAgIFtydGVCYWRnZVR5cGVdPVwiYmFkZ2VUeXBlKCkhXCJcbiAgICBbcnRlQmFkZ2VTaXplXT1cInNpemUoKVwiXG4gICAgW3J0ZUJhZGdlQ29udGVudF09XCJzaXplKCkgPT09ICdzJyA/ICdlbXB0eScgOiBiYWRnZUNvbnRlbnQoKSFcIlxuICAgIFtydGVCYWRnZUNvdW50XT1cImJhZGdlQ291bnQoKSFcIlxuICAgIFtydGVCYWRnZUljb25dPVwiYmFkZ2VJY29uKCkhXCJcbiAgICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbiAgPlxuICAgIDxydGUtaWNvblxuICAgICAgW25hbWVdPVwibmFtZSgpXCJcbiAgICAgIFthcHBlYXJhbmNlXT1cImFwcGVhcmFuY2UoKVwiXG4gICAgICBbc2l6ZV09XCJidXR0b25JY29uU2l6ZSgpXCJcbiAgICAvPlxuICA8L2J1dHRvbj5cbn0gQGVsc2Uge1xuICA8YnV0dG9uXG4gICAgKm5nSWY9XCJpc1ZhbGlkSWNvbk5hbWVcIlxuICAgIGNsYXNzPVwicnRlLWljb24tYnV0dG9uIHt7IHZhcmlhbnQoKSB9fSBzaXplLXt7IHNpemUoKSB9fVwiXG4gICAgW2NsYXNzLmNvbXBhY3Qtc3BhY2luZ109XCJjb21wYWN0U3BhY2luZygpXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWQoKVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCJhcmlhTGFiZWwoKVwiXG4gICAgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cImFyaWFMYWJlbGxlZEJ5KClcIlxuICAgIFt0eXBlXT1cInR5cGUoKVwiXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gID5cbiAgICA8cnRlLWljb25cbiAgICAgIFtuYW1lXT1cIm5hbWUoKVwiXG4gICAgICBbYXBwZWFyYW5jZV09XCJhcHBlYXJhbmNlKClcIlxuICAgICAgW3NpemVdPVwiYnV0dG9uSWNvblNpemUoKVwiXG4gICAgLz5cbiAgPC9idXR0b24+XG59XG4iXX0=
|
|
@@ -34,7 +34,7 @@ export class IconButtonToggleComponent {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconButtonToggleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
37
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: IconButtonToggleComponent, isStandalone: true, selector: "rte-icon-button-toggle", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", 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 }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, defaultSelected: { classPropertyName: "defaultSelected", publicName: "defaultSelected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, ngImport: i0, template: "<rte-icon-button \n [size]=\"size()\" \n [name]=\"name()\" \n [compactSpacing]=\"compactSpacing()\"\n [disabled]=\"disabled()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledBy]=\"ariaLabelledBy()\"\n [type]=\"type()\"\n [variant]=\"variant()\"\n [appearance]=\"isSelected() ? 'filled' : 'outlined'\"\n (click)=\"onClick($event)\"\n/>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconButtonComponent, selector: "rte-icon-button", inputs: ["disabled", "name", "size", "variant", "type", "appearance", "compactSpacing", "ariaLabel", "ariaLabelledBy"], outputs: ["click"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
37
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", type: IconButtonToggleComponent, isStandalone: true, selector: "rte-icon-button-toggle", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", 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 }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: true, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: true, isRequired: false, transformFunction: null }, defaultSelected: { classPropertyName: "defaultSelected", publicName: "defaultSelected", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { click: "click" }, ngImport: i0, template: "<rte-icon-button \n [size]=\"size()\" \n [name]=\"name()\" \n [compactSpacing]=\"compactSpacing()\"\n [disabled]=\"disabled()\"\n [ariaLabel]=\"ariaLabel()\"\n [ariaLabelledBy]=\"ariaLabelledBy()\"\n [type]=\"type()\"\n [variant]=\"variant()\"\n [appearance]=\"isSelected() ? 'filled' : 'outlined'\"\n (click)=\"onClick($event)\"\n/>", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "component", type: IconButtonComponent, selector: "rte-icon-button", inputs: ["disabled", "name", "size", "variant", "type", "appearance", "compactSpacing", "ariaLabel", "ariaLabelledBy", "badgeCount", "badgeContent", "badgeType", "badgeIcon"], outputs: ["click"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
38
38
|
}
|
|
39
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: IconButtonToggleComponent, decorators: [{
|
|
40
40
|
type: Component,
|
|
@@ -9,12 +9,14 @@ export class LinkComponent {
|
|
|
9
9
|
this.href = input("#");
|
|
10
10
|
this.subtle = input(false);
|
|
11
11
|
this.externalLink = input(false);
|
|
12
|
+
this.reverse = input(false);
|
|
13
|
+
this.maxWidth = input();
|
|
12
14
|
}
|
|
13
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
14
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", 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
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.14", 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 }, reverse: { classPropertyName: "reverse", publicName: "reverse", isSignal: true, isRequired: false, transformFunction: null }, maxWidth: { classPropertyName: "maxWidth", publicName: "maxWidth", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<a\n href=\"{{ href() }}\"\n class=\"rte-link\"\n role=\"link\"\n [ngClass]=\"{ subtle: subtle(), reverse: reverse() }\"\n [target]=\"externalLink() ? '_blank' : undefined\"\n [rel]=\"externalLink() ? 'noopener noreferrer' : null\"\n [style.max-width]=\"maxWidth() + 'px'\"\n>\n <span class=\"rte-link-label\" [style.max-width]=\"maxWidth() + 'px'\">\n {{ label() }}\n </span>\n <rte-icon\n *ngIf=\"externalLink()\"\n name=\"external-link\"\n style=\"align-self: start; margin-left: 2px\"\n [size]=\"12\"\n ></rte-icon>\n</a>\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\";.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-default);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-pressed);text-decoration:underline}.rte-link:visited:focus-visible{color:var(--content-link-visited-default);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-pressed);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}.rte-link.subtle.reverse{color:var(--content-primary-inverse);text-decoration:none}.rte-link.subtle.reverse:hover{color:var(--content-primary-inverse);text-decoration:underline}.rte-link.subtle.reverse:focus-visible{color:var(--content-primary-inverse);text-decoration:underline;outline:1px solid var(--border-inverse);outline-offset:4px;border-radius:4px}.rte-link.reverse{color:var(--content-primary-inverse);text-decoration:underline}.rte-link.reverse:hover{color:var(--content-primary-inverse);text-decoration:none}.rte-link.reverse:focus-visible{color:var(--content-primary-inverse);text-decoration:underline;outline:1px solid var(--border-inverse);outline-offset:4px;border-radius:4px}.rte-link .rte-link-external-icon{align-self:start;margin-left:2px}.rte-link .rte-link-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\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
17
|
}
|
|
16
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LinkComponent, decorators: [{
|
|
17
19
|
type: Component,
|
|
18
|
-
args: [{ selector: "rte-link", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<a
|
|
20
|
+
args: [{ selector: "rte-link", imports: [CommonModule, IconComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<a\n href=\"{{ href() }}\"\n class=\"rte-link\"\n role=\"link\"\n [ngClass]=\"{ subtle: subtle(), reverse: reverse() }\"\n [target]=\"externalLink() ? '_blank' : undefined\"\n [rel]=\"externalLink() ? 'noopener noreferrer' : null\"\n [style.max-width]=\"maxWidth() + 'px'\"\n>\n <span class=\"rte-link-label\" [style.max-width]=\"maxWidth() + 'px'\">\n {{ label() }}\n </span>\n <rte-icon\n *ngIf=\"externalLink()\"\n name=\"external-link\"\n style=\"align-self: start; margin-left: 2px\"\n [size]=\"12\"\n ></rte-icon>\n</a>\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\";.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-default);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-pressed);text-decoration:underline}.rte-link:visited:focus-visible{color:var(--content-link-visited-default);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-pressed);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}.rte-link.subtle.reverse{color:var(--content-primary-inverse);text-decoration:none}.rte-link.subtle.reverse:hover{color:var(--content-primary-inverse);text-decoration:underline}.rte-link.subtle.reverse:focus-visible{color:var(--content-primary-inverse);text-decoration:underline;outline:1px solid var(--border-inverse);outline-offset:4px;border-radius:4px}.rte-link.reverse{color:var(--content-primary-inverse);text-decoration:underline}.rte-link.reverse:hover{color:var(--content-primary-inverse);text-decoration:none}.rte-link.reverse:focus-visible{color:var(--content-primary-inverse);text-decoration:underline;outline:1px solid var(--border-inverse);outline-offset:4px;border-radius:4px}.rte-link .rte-link-external-icon{align-self:start;margin-left:2px}.rte-link .rte-link-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"] }]
|
|
19
21
|
}] });
|
|
20
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9saW5rL2xpbmsuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbGluay9saW5rLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQVV2RCxNQUFNLE9BQU8sYUFBYTtJQVIxQjtRQVNXLFVBQUssR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDbEIsU0FBSSxHQUFHLEtBQUssQ0FBUyxHQUFHLENBQUMsQ0FBQztRQUMxQixXQUFNLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQy9CLGlCQUFZLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3JDLFlBQU8sR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDaEMsYUFBUSxHQUFHLEtBQUssRUFBVSxDQUFDO0tBQ3JDOytHQVBZLGFBQWE7bUdBQWIsYUFBYSxvMEJDYjFCLDJpQkFtQkEsbWhHRFpZLFlBQVksaU9BQUUsYUFBYTs7NEZBTTFCLGFBQWE7a0JBUnpCLFNBQVM7K0JBQ0UsVUFBVSxXQUNYLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQyxjQUMxQixJQUFJLG1CQUdDLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IEljb25Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi9pY29uLmNvbXBvbmVudFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwicnRlLWxpbmtcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgSWNvbkNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vbGluay5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybDogXCIuL2xpbmsuY29tcG9uZW50LnNjc3NcIixcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIExpbmtDb21wb25lbnQge1xuICByZWFkb25seSBsYWJlbCA9IGlucHV0KFwiXCIpO1xuICByZWFkb25seSBocmVmID0gaW5wdXQ8c3RyaW5nPihcIiNcIik7XG4gIHJlYWRvbmx5IHN1YnRsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgZXh0ZXJuYWxMaW5rID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSByZXZlcnNlID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSBtYXhXaWR0aCA9IGlucHV0PG51bWJlcj4oKTtcbn1cbiIsIjxhXG4gIGhyZWY9XCJ7eyBocmVmKCkgfX1cIlxuICBjbGFzcz1cInJ0ZS1saW5rXCJcbiAgcm9sZT1cImxpbmtcIlxuICBbbmdDbGFzc109XCJ7IHN1YnRsZTogc3VidGxlKCksIHJldmVyc2U6IHJldmVyc2UoKSB9XCJcbiAgW3RhcmdldF09XCJleHRlcm5hbExpbmsoKSA/ICdfYmxhbmsnIDogdW5kZWZpbmVkXCJcbiAgW3JlbF09XCJleHRlcm5hbExpbmsoKSA/ICdub29wZW5lciBub3JlZmVycmVyJyA6IG51bGxcIlxuICBbc3R5bGUubWF4LXdpZHRoXT1cIm1heFdpZHRoKCkgKyAncHgnXCJcbj5cbiAgPHNwYW4gY2xhc3M9XCJydGUtbGluay1sYWJlbFwiIFtzdHlsZS5tYXgtd2lkdGhdPVwibWF4V2lkdGgoKSArICdweCdcIj5cbiAgICB7eyBsYWJlbCgpIH19XG4gIDwvc3Bhbj5cbiAgPHJ0ZS1pY29uXG4gICAgKm5nSWY9XCJleHRlcm5hbExpbmsoKVwiXG4gICAgbmFtZT1cImV4dGVybmFsLWxpbmtcIlxuICAgIHN0eWxlPVwiYWxpZ24tc2VsZjogc3RhcnQ7IG1hcmdpbi1sZWZ0OiAycHhcIlxuICAgIFtzaXplXT1cIjEyXCJcbiAgPjwvcnRlLWljb24+XG48L2E+XG4iXX0=
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Directive, ElementRef, HostListener, inject, output } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class ModalTriggerDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.elementRef = inject(ElementRef);
|
|
6
|
+
this.modalTriggerKeyDown = output();
|
|
7
|
+
this.modalTriggerClicked = output();
|
|
8
|
+
}
|
|
9
|
+
onModalTriggerClicked(event) {
|
|
10
|
+
this.modalTriggerClicked.emit(event);
|
|
11
|
+
}
|
|
12
|
+
onKeyDown(event) {
|
|
13
|
+
this.modalTriggerKeyDown.emit(event);
|
|
14
|
+
}
|
|
15
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalTriggerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
16
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: ModalTriggerDirective, isStandalone: true, selector: "[rteModalTrigger]", outputs: { modalTriggerKeyDown: "modalTriggerKeyDown", modalTriggerClicked: "modalTriggerClicked" }, host: { listeners: { "click": "onModalTriggerClicked($event)", "keydown": "onKeyDown($event)" } }, ngImport: i0 }); }
|
|
17
|
+
}
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ModalTriggerDirective, decorators: [{
|
|
19
|
+
type: Directive,
|
|
20
|
+
args: [{
|
|
21
|
+
selector: "[rteModalTrigger]",
|
|
22
|
+
standalone: true,
|
|
23
|
+
}]
|
|
24
|
+
}], propDecorators: { onModalTriggerClicked: [{
|
|
25
|
+
type: HostListener,
|
|
26
|
+
args: ["click", ["$event"]]
|
|
27
|
+
}], onKeyDown: [{
|
|
28
|
+
type: HostListener,
|
|
29
|
+
args: ["keydown", ["$event"]]
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kYWwtdHJpZ2dlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9tb2RhbC9tb2RhbC10cmlnZ2VyL21vZGFsLXRyaWdnZXIuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU1wRixNQUFNLE9BQU8scUJBQXFCO0lBSmxDO1FBS1csZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUVoQyx3QkFBbUIsR0FBRyxNQUFNLEVBQWlCLENBQUM7UUFFOUMsd0JBQW1CLEdBQUcsTUFBTSxFQUFTLENBQUM7S0FXaEQ7SUFSQyxxQkFBcUIsQ0FBQyxLQUFZO1FBQ2hDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkMsQ0FBQztJQUdELFNBQVMsQ0FBQyxLQUFvQjtRQUM1QixJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7K0dBZlUscUJBQXFCO21HQUFyQixxQkFBcUI7OzRGQUFyQixxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsVUFBVSxFQUFFLElBQUk7aUJBQ2pCOzhCQVNDLHFCQUFxQjtzQkFEcEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBTWpDLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgaW5qZWN0LCBvdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW3J0ZU1vZGFsVHJpZ2dlcl1cIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgTW9kYWxUcmlnZ2VyRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcblxuICByZWFkb25seSBtb2RhbFRyaWdnZXJLZXlEb3duID0gb3V0cHV0PEtleWJvYXJkRXZlbnQ+KCk7XG5cbiAgcmVhZG9ubHkgbW9kYWxUcmlnZ2VyQ2xpY2tlZCA9IG91dHB1dDxFdmVudD4oKTtcblxuICBASG9zdExpc3RlbmVyKFwiY2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxuICBvbk1vZGFsVHJpZ2dlckNsaWNrZWQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5tb2RhbFRyaWdnZXJDbGlja2VkLmVtaXQoZXZlbnQpO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcihcImtleWRvd25cIiwgW1wiJGV2ZW50XCJdKVxuICBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLm1vZGFsVHJpZ2dlcktleURvd24uZW1pdChldmVudCk7XG4gIH1cbn1cbiJdfQ==
|