@design-system-rte/angular 1.1.0 → 1.2.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/breadcrumbs/breadcrumbs.component.mjs +2 -2
- package/esm2022/lib/components/dropdown/dropdown-menu/dropdown-menu-footer.directive.mjs +17 -0
- package/esm2022/lib/components/dropdown/dropdown-menu/dropdown-menu-header.directive.mjs +17 -0
- package/esm2022/lib/components/dropdown/dropdown-menu/dropdown-menu.component.mjs +24 -5
- package/esm2022/lib/components/dropdown/dropdown.directive.mjs +33 -12
- package/esm2022/lib/components/dropdown/dropdown.module.mjs +32 -5
- package/esm2022/lib/components/select/select.component.mjs +2 -2
- package/esm2022/lib/components/split-button/split-button.component.mjs +2 -2
- package/esm2022/lib/components/tab/tab-item/tab-item.component.mjs +112 -0
- package/esm2022/lib/components/tab/tab.component.mjs +242 -0
- package/esm2022/lib/components/toast/toast.component.mjs +44 -5
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/design-system-rte-angular.mjs +491 -25
- package/fesm2022/design-system-rte-angular.mjs.map +1 -1
- package/lib/components/assistive-text/assistive-text.component.d.ts +1 -1
- package/lib/components/badge/badge.directive.d.ts +1 -1
- package/lib/components/dropdown/dropdown-menu/dropdown-menu-footer.directive.d.ts +7 -0
- package/lib/components/dropdown/dropdown-menu/dropdown-menu-header.directive.d.ts +7 -0
- package/lib/components/dropdown/dropdown-menu/dropdown-menu.component.d.ts +14 -1
- package/lib/components/dropdown/dropdown.directive.d.ts +7 -1
- package/lib/components/dropdown/dropdown.module.d.ts +3 -1
- package/lib/components/icon-button/icon-button.component.d.ts +2 -2
- package/lib/components/icon-button-toggle/icon-button-toggle.component.d.ts +1 -1
- package/lib/components/popover/popover.component.d.ts +1 -1
- package/lib/components/split-button/split-button.component.d.ts +2 -2
- package/lib/components/tab/tab-item/tab-item.component.d.ts +35 -0
- package/lib/components/tab/tab.component.d.ts +70 -0
- package/lib/components/tag/tag.component.d.ts +2 -2
- package/lib/components/text-input/base-text-input/base-text-input.component.d.ts +3 -3
- package/lib/components/toast/toast.component.d.ts +9 -1
- package/lib/components/tooltip/tooltip.component.d.ts +1 -1
- package/package.json +2 -2
- package/public-api.d.ts +1 -0
|
@@ -39,10 +39,10 @@ export class BreadcrumbsComponent {
|
|
|
39
39
|
});
|
|
40
40
|
}
|
|
41
41
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
42
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbsComponent, isStandalone: true, selector: "rte-breadcrumbs", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbItemMaxWidth: { classPropertyName: "breadcrumbItemMaxWidth", publicName: "breadcrumbItemMaxWidth", isSignal: true, isRequired: false, transformFunction: null }, badgeContent: { classPropertyName: "badgeContent", publicName: "badgeContent", isSignal: true, isRequired: false, transformFunction: null }, badgeCount: { classPropertyName: "badgeCount", publicName: "badgeCount", isSignal: true, isRequired: false, transformFunction: null }, badgeIcon: { classPropertyName: "badgeIcon", publicName: "badgeIcon", isSignal: true, isRequired: false, transformFunction: null }, badgeType: { classPropertyName: "badgeType", publicName: "badgeType", isSignal: true, isRequired: false, transformFunction: null }, showBadge: { classPropertyName: "showBadge", publicName: "showBadge", isSignal: true, isRequired: false, transformFunction: null }, badgeSize: { classPropertyName: "badgeSize", publicName: "badgeSize", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<nav\n class=\"breadcrumbs-container\"\n role=\"navigation\"\n [attr.aria-label]=\"ariaLabel()\"\n [ngClass]=\"{ truncated: truncatedItems()?.truncated?.length }\"\n>\n @if (truncatedItems()?.truncated?.length) {\n <rte-breadcrumb-item [item]=\"truncatedItems()!.root\" [breadcrumbItemMaxWidth]=\"breadcrumbItemMaxWidth()\" />\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n <span class=\"breadcrumb-item\" rteDropdown [rteDropdownOffset]=\"8\">\n <rte-icon-button\n rteDropdownTrigger\n name=\"more-horiz\"\n role=\"menu\"\n variant=\"neutral\"\n aria-label=\"More items\"\n data-testid=\"show-more\"\n tabindex=\"-1\"\n [compactSpacing]=\"true\"\n />\n <rte-badge\n *ngIf=\"shouldDisplayBadge()\"\n [count]=\"badgeCount()\"\n [simpleBadge]=\"true\"\n [badgeContent]=\"badgeContent()!\"\n [icon]=\"badgeIcon()!\"\n [badgeType]=\"badgeType()!\"\n [badgeSize]=\"badgeSize()!\"\n />\n <rte-dropdown-menu [items]=\"truncatedItems()?.truncated ?? []\" />\n </span>\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n @for (item of truncatedItems()!.remaining; track item.link; let i = $index) {\n <rte-breadcrumb-item\n [item]=\"item\"\n [breadcrumbItemMaxWidth]=\"breadcrumbItemMaxWidth()\"\n [isLast]=\"i === truncatedItems()!.remaining.length - 1\"\n />\n @if (i < truncatedItems()!.remaining.length - 1) {\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n }\n }\n } @else {\n @for (item of items(); track item.link; let i = $index) {\n <rte-breadcrumb-item\n [item]=\"item\"\n [breadcrumbItemMaxWidth]=\"breadcrumbItemMaxWidth()\"\n [isLast]=\"i === items().length - 1\"\n />\n @if (i < items().length - 1) {\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n }\n }\n }\n</nav>\n", styles: [".breadcrumbs-container{display:flex;align-items:center;gap:2px}.breadcrumbs-container .breadcrumb-item{display:inline-flex;align-items:center;opacity:0;animation:fadeIn .15s forwards;font-family:Arial;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px}.breadcrumbs-container .breadcrumb-item rte-link ::ng-deep a,.breadcrumbs-container .breadcrumb-item rte-link ::ng-deep a.subtle{color:var(--content-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs-container .breadcrumb-item a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs-container .breadcrumb-item:last-child{cursor:default;color:var(--content-primary)}.breadcrumbs-container .breadcrumb-item :focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.separator{color:var(--content-secondary);padding:0 8px;-webkit-user-select:none;user-select:none;opacity:0;animation:fadeIn .15s forwards}@keyframes fadeIn{to{opacity:1}}\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: "ngmodule", type: DropdownModule }, { kind: "directive", type: i2.DropdownDirective, selector: "[rteDropdown]", inputs: ["rteDropdownId", "rteDropdownPosition", "rteDropdownAlignment", "rteDropdownIsOpen", "rteDropdownOffset", "rteDropdownAutofocus", "rteDropdownAutoOpen", "rteDropdownWidth"], outputs: ["menuEvent", "clickedOutside", "closedDropdown"] }, { kind: "directive", type: i3.DropdownTriggerDirective, selector: "[rteDropdownTrigger]", inputs: ["rteDropdownTriggerActivateWithArrowDown"], outputs: ["dropdownKeyDown", "dropdownTriggered", "dropdownTriggerFocus", "dropdownTriggerClearContent", "dropdownTriggerOpenDropdown", "dropdownTriggerCloseDropdown"] }, { kind: "component", type: i4.DropdownMenuComponent, selector: "rte-dropdown-menu", inputs: ["items", "menuId", "isOpen", "width"], outputs: ["itemEvent", "closingMenu"] }, { kind: "component", type: IconButtonComponent, selector: "rte-icon-button", inputs: ["disabled", "name", "size", "variant", "type", "appearance", "compactSpacing", "ariaLabel", "ariaLabelledBy", "badgeCount", "badgeContent", "badgeType", "badgeIcon", "customStyle"], outputs: ["clickEvent"] }, { kind: "component", type: BreadcrumbItemComponent, selector: "rte-breadcrumb-item", inputs: ["item", "isLast", "breadcrumbItemMaxWidth"] }, { kind: "component", type: BadgeComponent, selector: "rte-badge", inputs: ["badgeType", "badgeSize", "badgeContent", "count", "icon", "simpleBadge"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: BreadcrumbsComponent, isStandalone: true, selector: "rte-breadcrumbs", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, ariaLabel: { classPropertyName: "ariaLabel", publicName: "ariaLabel", isSignal: true, isRequired: false, transformFunction: null }, breadcrumbItemMaxWidth: { classPropertyName: "breadcrumbItemMaxWidth", publicName: "breadcrumbItemMaxWidth", isSignal: true, isRequired: false, transformFunction: null }, badgeContent: { classPropertyName: "badgeContent", publicName: "badgeContent", isSignal: true, isRequired: false, transformFunction: null }, badgeCount: { classPropertyName: "badgeCount", publicName: "badgeCount", isSignal: true, isRequired: false, transformFunction: null }, badgeIcon: { classPropertyName: "badgeIcon", publicName: "badgeIcon", isSignal: true, isRequired: false, transformFunction: null }, badgeType: { classPropertyName: "badgeType", publicName: "badgeType", isSignal: true, isRequired: false, transformFunction: null }, showBadge: { classPropertyName: "showBadge", publicName: "showBadge", isSignal: true, isRequired: false, transformFunction: null }, badgeSize: { classPropertyName: "badgeSize", publicName: "badgeSize", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<nav\n class=\"breadcrumbs-container\"\n role=\"navigation\"\n [attr.aria-label]=\"ariaLabel()\"\n [ngClass]=\"{ truncated: truncatedItems()?.truncated?.length }\"\n>\n @if (truncatedItems()?.truncated?.length) {\n <rte-breadcrumb-item [item]=\"truncatedItems()!.root\" [breadcrumbItemMaxWidth]=\"breadcrumbItemMaxWidth()\" />\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n <span class=\"breadcrumb-item\" rteDropdown [rteDropdownOffset]=\"8\">\n <rte-icon-button\n rteDropdownTrigger\n name=\"more-horiz\"\n role=\"menu\"\n variant=\"neutral\"\n aria-label=\"More items\"\n data-testid=\"show-more\"\n tabindex=\"-1\"\n [compactSpacing]=\"true\"\n />\n <rte-badge\n *ngIf=\"shouldDisplayBadge()\"\n [count]=\"badgeCount()\"\n [simpleBadge]=\"true\"\n [badgeContent]=\"badgeContent()!\"\n [icon]=\"badgeIcon()!\"\n [badgeType]=\"badgeType()!\"\n [badgeSize]=\"badgeSize()!\"\n />\n <rte-dropdown-menu [items]=\"truncatedItems()?.truncated ?? []\" />\n </span>\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n @for (item of truncatedItems()!.remaining; track item.link; let i = $index) {\n <rte-breadcrumb-item\n [item]=\"item\"\n [breadcrumbItemMaxWidth]=\"breadcrumbItemMaxWidth()\"\n [isLast]=\"i === truncatedItems()!.remaining.length - 1\"\n />\n @if (i < truncatedItems()!.remaining.length - 1) {\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n }\n }\n } @else {\n @for (item of items(); track item.link; let i = $index) {\n <rte-breadcrumb-item\n [item]=\"item\"\n [breadcrumbItemMaxWidth]=\"breadcrumbItemMaxWidth()\"\n [isLast]=\"i === items().length - 1\"\n />\n @if (i < items().length - 1) {\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n }\n }\n }\n</nav>\n", styles: [".breadcrumbs-container{display:flex;align-items:center;gap:2px}.breadcrumbs-container .breadcrumb-item{display:inline-flex;align-items:center;opacity:0;animation:fadeIn .15s forwards;font-family:Arial;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px}.breadcrumbs-container .breadcrumb-item rte-link ::ng-deep a,.breadcrumbs-container .breadcrumb-item rte-link ::ng-deep a.subtle{color:var(--content-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs-container .breadcrumb-item a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs-container .breadcrumb-item:last-child{cursor:default;color:var(--content-primary)}.breadcrumbs-container .breadcrumb-item :focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.separator{color:var(--content-secondary);padding:0 8px;-webkit-user-select:none;user-select:none;opacity:0;animation:fadeIn .15s forwards}@keyframes fadeIn{to{opacity:1}}\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: "ngmodule", type: DropdownModule }, { kind: "directive", type: i2.DropdownDirective, selector: "[rteDropdown]", inputs: ["rteDropdownId", "rteDropdownPosition", "rteDropdownAlignment", "rteDropdownIsOpen", "rteDropdownOffset", "rteDropdownAutofocus", "rteDropdownAutoOpen", "rteDropdownWidth"], outputs: ["menuEvent", "clickedOutside", "closedDropdown"] }, { kind: "directive", type: i3.DropdownTriggerDirective, selector: "[rteDropdownTrigger]", inputs: ["rteDropdownTriggerActivateWithArrowDown"], outputs: ["dropdownKeyDown", "dropdownTriggered", "dropdownTriggerFocus", "dropdownTriggerClearContent", "dropdownTriggerOpenDropdown", "dropdownTriggerCloseDropdown"] }, { kind: "component", type: i4.DropdownMenuComponent, selector: "rte-dropdown-menu", inputs: ["items", "menuId", "isOpen", "width", "headerTemplate", "footerTemplate"], outputs: ["itemEvent", "closingMenu"] }, { kind: "component", type: IconButtonComponent, selector: "rte-icon-button", inputs: ["disabled", "name", "size", "variant", "type", "appearance", "compactSpacing", "ariaLabel", "ariaLabelledBy", "badgeCount", "badgeContent", "badgeType", "badgeIcon", "customStyle"], outputs: ["clickEvent"] }, { kind: "component", type: BreadcrumbItemComponent, selector: "rte-breadcrumb-item", inputs: ["item", "isLast", "breadcrumbItemMaxWidth"] }, { kind: "component", type: BadgeComponent, selector: "rte-badge", inputs: ["badgeType", "badgeSize", "badgeContent", "count", "icon", "simpleBadge"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
43
43
|
}
|
|
44
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BreadcrumbsComponent, decorators: [{
|
|
45
45
|
type: Component,
|
|
46
46
|
args: [{ selector: "rte-breadcrumbs", imports: [CommonModule, DropdownModule, IconButtonComponent, BreadcrumbItemComponent, BadgeComponent], standalone: true, changeDetection: ChangeDetectionStrategy.OnPush, template: "<nav\n class=\"breadcrumbs-container\"\n role=\"navigation\"\n [attr.aria-label]=\"ariaLabel()\"\n [ngClass]=\"{ truncated: truncatedItems()?.truncated?.length }\"\n>\n @if (truncatedItems()?.truncated?.length) {\n <rte-breadcrumb-item [item]=\"truncatedItems()!.root\" [breadcrumbItemMaxWidth]=\"breadcrumbItemMaxWidth()\" />\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n <span class=\"breadcrumb-item\" rteDropdown [rteDropdownOffset]=\"8\">\n <rte-icon-button\n rteDropdownTrigger\n name=\"more-horiz\"\n role=\"menu\"\n variant=\"neutral\"\n aria-label=\"More items\"\n data-testid=\"show-more\"\n tabindex=\"-1\"\n [compactSpacing]=\"true\"\n />\n <rte-badge\n *ngIf=\"shouldDisplayBadge()\"\n [count]=\"badgeCount()\"\n [simpleBadge]=\"true\"\n [badgeContent]=\"badgeContent()!\"\n [icon]=\"badgeIcon()!\"\n [badgeType]=\"badgeType()!\"\n [badgeSize]=\"badgeSize()!\"\n />\n <rte-dropdown-menu [items]=\"truncatedItems()?.truncated ?? []\" />\n </span>\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n @for (item of truncatedItems()!.remaining; track item.link; let i = $index) {\n <rte-breadcrumb-item\n [item]=\"item\"\n [breadcrumbItemMaxWidth]=\"breadcrumbItemMaxWidth()\"\n [isLast]=\"i === truncatedItems()!.remaining.length - 1\"\n />\n @if (i < truncatedItems()!.remaining.length - 1) {\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n }\n }\n } @else {\n @for (item of items(); track item.link; let i = $index) {\n <rte-breadcrumb-item\n [item]=\"item\"\n [breadcrumbItemMaxWidth]=\"breadcrumbItemMaxWidth()\"\n [isLast]=\"i === items().length - 1\"\n />\n @if (i < items().length - 1) {\n <span aria-hidden=\"true\" class=\"separator\">/</span>\n }\n }\n }\n</nav>\n", styles: [".breadcrumbs-container{display:flex;align-items:center;gap:2px}.breadcrumbs-container .breadcrumb-item{display:inline-flex;align-items:center;opacity:0;animation:fadeIn .15s forwards;font-family:Arial;font-size:14px;font-weight:400;line-height:20px;letter-spacing:0px}.breadcrumbs-container .breadcrumb-item rte-link ::ng-deep a,.breadcrumbs-container .breadcrumb-item rte-link ::ng-deep a.subtle{color:var(--content-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs-container .breadcrumb-item a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.breadcrumbs-container .breadcrumb-item:last-child{cursor:default;color:var(--content-primary)}.breadcrumbs-container .breadcrumb-item :focus-visible{outline:1px solid var(--border-brand-focused);outline-offset:4px;border-radius:4px}.separator{color:var(--content-secondary);padding:0 8px;-webkit-user-select:none;user-select:none;opacity:0;animation:fadeIn .15s forwards}@keyframes fadeIn{to{opacity:1}}\n"] }]
|
|
47
47
|
}] });
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsa0JBQWtCLElBQUksc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUNwSCxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzRUFBc0UsQ0FBQztBQUt0SCxPQUFPLEVBQ0wsNEJBQTRCLEVBQzVCLHlCQUF5QixHQUMxQixNQUFNLGtFQUFrRSxDQUFDO0FBRTFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzdDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBRTNFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDOzs7Ozs7QUFVdEYsTUFBTSxPQUFPLG9CQUFvQjtJQVJqQztRQVNXLFVBQUssR0FBRyxLQUFLLENBQXdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pDLGNBQVMsR0FBRyxLQUFLLENBQVMsOEJBQThCLENBQUMsQ0FBQztRQUMxRCwyQkFBc0IsR0FBRyxLQUFLLENBQVMsR0FBRyxDQUFDLENBQUM7UUFDNUMsaUJBQVksR0FBRyxLQUFLLEVBQXlCLENBQUM7UUFDOUMsZUFBVSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBQzdCLGNBQVMsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUM1QixjQUFTLEdBQUcsS0FBSyxFQUEyQixDQUFDO1FBQzdDLGNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFDbEMsY0FBUyxHQUFHLEtBQUssQ0FBcUIsR0FBRyxDQUFDLENBQUM7UUFFM0MsbUJBQWMsR0FBRyxRQUFRLENBQW1DLEdBQUcsRUFBRTtZQUN4RSxJQUFJLHlCQUF5QixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQzVDLE9BQU8sNEJBQTRCLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDcEQsQ0FBQztZQUNELE9BQU8sSUFBSSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7UUFFTSx1QkFBa0IsR0FBRyxRQUFRLENBQUMsR0FBWSxFQUFFO1lBQ25ELE9BQU8sc0JBQXNCLENBQUM7Z0JBQzVCLFNBQVMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRTtnQkFDN0IsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ2pDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUM3QixTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTthQUM1QixDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztLQUNKOytHQTFCWSxvQkFBb0I7bUdBQXBCLG9CQUFvQixreUNDNUJqQyw0N0RBdURBLHdoQ0RqQ1ksWUFBWSxnT0FBRSxjQUFjLDIyQkFBRSxtQkFBbUIsb1JBQUUsdUJBQXVCLHNIQUFFLGNBQWM7OzRGQU16RixvQkFBb0I7a0JBUmhDLFNBQVM7K0JBQ0UsaUJBQWlCLFdBQ2xCLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxtQkFBbUIsRUFBRSx1QkFBdUIsRUFBRSxjQUFjLENBQUMsY0FDekYsSUFBSSxtQkFHQyx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIGlucHV0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IEJhZGdlUHJvcHMgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9iYWRnZS9iYWRnZS5pbnRlcmZhY2VcIjtcbmltcG9ydCB7IHNob3VsZERpc3BsYXlCYWRnZSBhcyBjb3JlU2hvdWxkRGlzcGxheUJhZGdlIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvYmFkZ2UvYmFkZ2UudXRpbHNcIjtcbmltcG9ydCB7IEJSRUFEQ1JVTUJTX0RFRkFVTFRfQVJJQV9MQUJFTCB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL2JyZWFkY3J1bWJzL2JyZWFkY3J1bWJzLmNvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgQnJlYWRjcnVtYkl0ZW1Qcm9wcyxcbiAgQnJlYWRjcnVtYnNUcnVuY2F0ZWRJdGVtcyxcbn0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvYnJlYWRjcnVtYnMvYnJlYWRjcnVtYnMuaW50ZXJmYWNlXCI7XG5pbXBvcnQge1xuICBnZXRCcmVhZGNydW1ic1RydW5jYXRlZEl0ZW1zLFxuICBzaG91bGRUcnVuY2F0ZUJyZWFkY3J1bWJzLFxufSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9icmVhZGNydW1icy9icmVhZGNydW1icy51dGlsc1wiO1xuXG5pbXBvcnQgeyBCYWRnZUNvbXBvbmVudCB9IGZyb20gXCIuLi9iYWRnZS9iYWRnZS5jb21wb25lbnRcIjtcbmltcG9ydCB7IERyb3Bkb3duTW9kdWxlIH0gZnJvbSBcIi4uL2Ryb3Bkb3duXCI7XG5pbXBvcnQgeyBJY29uQnV0dG9uQ29tcG9uZW50IH0gZnJvbSBcIi4uL2ljb24tYnV0dG9uL2ljb24tYnV0dG9uLmNvbXBvbmVudFwiO1xuXG5pbXBvcnQgeyBCcmVhZGNydW1iSXRlbUNvbXBvbmVudCB9IGZyb20gXCIuL2JyZWFkY3J1bWItaXRlbS9icmVhZGNydW1iLWl0ZW0uY29tcG9uZW50XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJydGUtYnJlYWRjcnVtYnNcIixcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZSwgRHJvcGRvd25Nb2R1bGUsIEljb25CdXR0b25Db21wb25lbnQsIEJyZWFkY3J1bWJJdGVtQ29tcG9uZW50LCBCYWRnZUNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vYnJlYWRjcnVtYnMuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9icmVhZGNydW1icy5jb21wb25lbnQuc2Nzc1wiLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgQnJlYWRjcnVtYnNDb21wb25lbnQge1xuICByZWFkb25seSBpdGVtcyA9IGlucHV0PEJyZWFkY3J1bWJJdGVtUHJvcHNbXT4oW10pO1xuICByZWFkb25seSBhcmlhTGFiZWwgPSBpbnB1dDxzdHJpbmc+KEJSRUFEQ1JVTUJTX0RFRkFVTFRfQVJJQV9MQUJFTCk7XG4gIHJlYWRvbmx5IGJyZWFkY3J1bWJJdGVtTWF4V2lkdGggPSBpbnB1dDxudW1iZXI+KDE1MCk7XG4gIHJlYWRvbmx5IGJhZGdlQ29udGVudCA9IGlucHV0PEJhZGdlUHJvcHNbXCJjb250ZW50XCJdPigpO1xuICByZWFkb25seSBiYWRnZUNvdW50ID0gaW5wdXQ8bnVtYmVyPigpO1xuICByZWFkb25seSBiYWRnZUljb24gPSBpbnB1dDxzdHJpbmc+KCk7XG4gIHJlYWRvbmx5IGJhZGdlVHlwZSA9IGlucHV0PEJhZGdlUHJvcHNbXCJiYWRnZVR5cGVcIl0+KCk7XG4gIHJlYWRvbmx5IHNob3dCYWRnZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgYmFkZ2VTaXplID0gaW5wdXQ8QmFkZ2VQcm9wc1tcInNpemVcIl0+KFwic1wiKTtcblxuICByZWFkb25seSB0cnVuY2F0ZWRJdGVtcyA9IGNvbXB1dGVkPEJyZWFkY3J1bWJzVHJ1bmNhdGVkSXRlbXMgfCBudWxsPigoKSA9PiB7XG4gICAgaWYgKHNob3VsZFRydW5jYXRlQnJlYWRjcnVtYnModGhpcy5pdGVtcygpKSkge1xuICAgICAgcmV0dXJuIGdldEJyZWFkY3J1bWJzVHJ1bmNhdGVkSXRlbXModGhpcy5pdGVtcygpKTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHNob3VsZERpc3BsYXlCYWRnZSA9IGNvbXB1dGVkKCgpOiBib29sZWFuID0+IHtcbiAgICByZXR1cm4gY29yZVNob3VsZERpc3BsYXlCYWRnZSh7XG4gICAgICBzaG93QmFkZ2U6ICEhdGhpcy5zaG93QmFkZ2UoKSxcbiAgICAgIGJhZGdlQ29udGVudDogdGhpcy5iYWRnZUNvbnRlbnQoKSxcbiAgICAgIGJhZGdlQ291bnQ6IHRoaXMuYmFkZ2VDb3VudCgpLFxuICAgICAgYmFkZ2VJY29uOiB0aGlzLmJhZGdlSWNvbigpLFxuICAgIH0pO1xuICB9KTtcbn1cbiIsIjxuYXZcbiAgY2xhc3M9XCJicmVhZGNydW1icy1jb250YWluZXJcIlxuICByb2xlPVwibmF2aWdhdGlvblwiXG4gIFthdHRyLmFyaWEtbGFiZWxdPVwiYXJpYUxhYmVsKClcIlxuICBbbmdDbGFzc109XCJ7IHRydW5jYXRlZDogdHJ1bmNhdGVkSXRlbXMoKT8udHJ1bmNhdGVkPy5sZW5ndGggfVwiXG4+XG4gIEBpZiAodHJ1bmNhdGVkSXRlbXMoKT8udHJ1bmNhdGVkPy5sZW5ndGgpIHtcbiAgICA8cnRlLWJyZWFkY3J1bWItaXRlbSBbaXRlbV09XCJ0cnVuY2F0ZWRJdGVtcygpIS5yb290XCIgW2JyZWFkY3J1bWJJdGVtTWF4V2lkdGhdPVwiYnJlYWRjcnVtYkl0ZW1NYXhXaWR0aCgpXCIgLz5cbiAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cInNlcGFyYXRvclwiPi88L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJicmVhZGNydW1iLWl0ZW1cIiBydGVEcm9wZG93biBbcnRlRHJvcGRvd25PZmZzZXRdPVwiOFwiPlxuICAgICAgPHJ0ZS1pY29uLWJ1dHRvblxuICAgICAgICBydGVEcm9wZG93blRyaWdnZXJcbiAgICAgICAgbmFtZT1cIm1vcmUtaG9yaXpcIlxuICAgICAgICByb2xlPVwibWVudVwiXG4gICAgICAgIHZhcmlhbnQ9XCJuZXV0cmFsXCJcbiAgICAgICAgYXJpYS1sYWJlbD1cIk1vcmUgaXRlbXNcIlxuICAgICAgICBkYXRhLXRlc3RpZD1cInNob3ctbW9yZVwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICBbY29tcGFjdFNwYWNpbmddPVwidHJ1ZVwiXG4gICAgICAvPlxuICAgICAgPHJ0ZS1iYWRnZVxuICAgICAgICAqbmdJZj1cInNob3VsZERpc3BsYXlCYWRnZSgpXCJcbiAgICAgICAgW2NvdW50XT1cImJhZGdlQ291bnQoKVwiXG4gICAgICAgIFtzaW1wbGVCYWRnZV09XCJ0cnVlXCJcbiAgICAgICAgW2JhZGdlQ29udGVudF09XCJiYWRnZUNvbnRlbnQoKSFcIlxuICAgICAgICBbaWNvbl09XCJiYWRnZUljb24oKSFcIlxuICAgICAgICBbYmFkZ2VUeXBlXT1cImJhZGdlVHlwZSgpIVwiXG4gICAgICAgIFtiYWRnZVNpemVdPVwiYmFkZ2VTaXplKCkhXCJcbiAgICAgIC8+XG4gICAgICA8cnRlLWRyb3Bkb3duLW1lbnUgW2l0ZW1zXT1cInRydW5jYXRlZEl0ZW1zKCk/LnRydW5jYXRlZCA/PyBbXVwiIC8+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwic2VwYXJhdG9yXCI+Lzwvc3Bhbj5cbiAgICBAZm9yIChpdGVtIG9mIHRydW5jYXRlZEl0ZW1zKCkhLnJlbWFpbmluZzsgdHJhY2sgaXRlbS5saW5rOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgPHJ0ZS1icmVhZGNydW1iLWl0ZW1cbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgIFticmVhZGNydW1iSXRlbU1heFdpZHRoXT1cImJyZWFkY3J1bWJJdGVtTWF4V2lkdGgoKVwiXG4gICAgICAgIFtpc0xhc3RdPVwiaSA9PT0gdHJ1bmNhdGVkSXRlbXMoKSEucmVtYWluaW5nLmxlbmd0aCAtIDFcIlxuICAgICAgLz5cbiAgICAgIEBpZiAoaSA8IHRydW5jYXRlZEl0ZW1zKCkhLnJlbWFpbmluZy5sZW5ndGggLSAxKSB7XG4gICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwic2VwYXJhdG9yXCI+Lzwvc3Bhbj5cbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBmb3IgKGl0ZW0gb2YgaXRlbXMoKTsgdHJhY2sgaXRlbS5saW5rOyBsZXQgaSA9ICRpbmRleCkge1xuICAgICAgPHJ0ZS1icmVhZGNydW1iLWl0ZW1cbiAgICAgICAgW2l0ZW1dPVwiaXRlbVwiXG4gICAgICAgIFticmVhZGNydW1iSXRlbU1heFdpZHRoXT1cImJyZWFkY3J1bWJJdGVtTWF4V2lkdGgoKVwiXG4gICAgICAgIFtpc0xhc3RdPVwiaSA9PT0gaXRlbXMoKS5sZW5ndGggLSAxXCJcbiAgICAgIC8+XG4gICAgICBAaWYgKGkgPCBpdGVtcygpLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJzZXBhcmF0b3JcIj4vPC9zcGFuPlxuICAgICAgfVxuICAgIH1cbiAgfVxuPC9uYXY+XG4iXX0=
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Directive, TemplateRef, inject } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DropdownMenuFooterDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.templateRef = inject((TemplateRef), { optional: true });
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownMenuFooterDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DropdownMenuFooterDirective, isStandalone: true, selector: "[rteDropdownMenuFooter]", ngImport: i0 }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownMenuFooterDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: "[rteDropdownMenuFooter]",
|
|
14
|
+
standalone: true,
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1mb290ZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LWZvb3Rlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vRCxNQUFNLE9BQU8sMkJBQTJCO0lBSnhDO1FBS1csZ0JBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQSxXQUF3QixDQUFBLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUM3RTsrR0FGWSwyQkFBMkI7bUdBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW3J0ZURyb3Bkb3duTWVudUZvb3Rlcl1cIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25NZW51Rm9vdGVyRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+LCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xufVxuIl19
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Directive, TemplateRef, inject } from "@angular/core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DropdownMenuHeaderDirective {
|
|
4
|
+
constructor() {
|
|
5
|
+
this.templateRef = inject((TemplateRef), { optional: true });
|
|
6
|
+
}
|
|
7
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownMenuHeaderDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
8
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.14", type: DropdownMenuHeaderDirective, isStandalone: true, selector: "[rteDropdownMenuHeader]", ngImport: i0 }); }
|
|
9
|
+
}
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownMenuHeaderDirective, decorators: [{
|
|
11
|
+
type: Directive,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: "[rteDropdownMenuHeader]",
|
|
14
|
+
standalone: true,
|
|
15
|
+
}]
|
|
16
|
+
}] });
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS1oZWFkZXIuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQU0vRCxNQUFNLE9BQU8sMkJBQTJCO0lBSnhDO1FBS1csZ0JBQVcsR0FBRyxNQUFNLENBQUMsQ0FBQSxXQUF3QixDQUFBLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztLQUM3RTsrR0FGWSwyQkFBMkI7bUdBQTNCLDJCQUEyQjs7NEZBQTNCLDJCQUEyQjtrQkFKdkMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUseUJBQXlCO29CQUNuQyxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIFRlbXBsYXRlUmVmLCBpbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW3J0ZURyb3Bkb3duTWVudUhlYWRlcl1cIixcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25NZW51SGVhZGVyRGlyZWN0aXZlIHtcbiAgcmVhZG9ubHkgdGVtcGxhdGVSZWYgPSBpbmplY3QoVGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+LCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xufVxuIl19
|
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import { CommonModule } from "@angular/common";
|
|
2
|
-
import { Component, computed, ElementRef, HostListener, inject, input, output } from "@angular/core";
|
|
2
|
+
import { Component, computed, contentChild, ElementRef, HostListener, inject, input, output, viewChild, } from "@angular/core";
|
|
3
3
|
import { ARROW_DOWN_KEY, ARROW_LEFT_KEY, ARROW_RIGHT_KEY, ARROW_UP_KEY, ESCAPE_KEY, TAB_KEY, } from "@design-system-rte/core/constants/keyboard/keyboard.constants";
|
|
4
4
|
import { DropdownService } from "../../../services/dropdown.service";
|
|
5
|
+
import { DividerComponent } from "../../divider/divider.component";
|
|
5
6
|
import { DropdownItemComponent } from "../dropdown-item/dropdown-item.component";
|
|
7
|
+
import { DropdownMenuFooterDirective } from "./dropdown-menu-footer.directive";
|
|
8
|
+
import { DropdownMenuHeaderDirective } from "./dropdown-menu-header.directive";
|
|
6
9
|
import * as i0 from "@angular/core";
|
|
7
10
|
import * as i1 from "@angular/common";
|
|
8
11
|
export class DropdownMenuComponent {
|
|
@@ -17,7 +20,23 @@ export class DropdownMenuComponent {
|
|
|
17
20
|
this.width = input(null);
|
|
18
21
|
this.closingMenu = output();
|
|
19
22
|
this.menuStyle = computed(() => {
|
|
20
|
-
return this.width() ? { width: this.width() + "px" } : {};
|
|
23
|
+
return this.width() ? { width: this.width() + "px", "max-width": this.width() + "px" } : {};
|
|
24
|
+
});
|
|
25
|
+
this.headerDirective = contentChild(DropdownMenuHeaderDirective);
|
|
26
|
+
this.footerDirective = contentChild(DropdownMenuFooterDirective);
|
|
27
|
+
this.headerTemplate = input(undefined);
|
|
28
|
+
this.footerTemplate = input(undefined);
|
|
29
|
+
this.headerContentRef = viewChild("headerContent");
|
|
30
|
+
this.footerContentRef = viewChild("footerContent");
|
|
31
|
+
this.hasHeaderContent = computed(() => {
|
|
32
|
+
const hasTemplate = !!this.headerTemplate();
|
|
33
|
+
const hasProjectedContent = !!this.headerContentRef()?.nativeElement?.children.length;
|
|
34
|
+
return hasTemplate || hasProjectedContent;
|
|
35
|
+
});
|
|
36
|
+
this.hasFooterContent = computed(() => {
|
|
37
|
+
const hasTemplate = !!this.footerTemplate();
|
|
38
|
+
const hasProjectedContent = !!this.footerContentRef()?.nativeElement?.children.length;
|
|
39
|
+
return hasTemplate || hasProjectedContent;
|
|
21
40
|
});
|
|
22
41
|
}
|
|
23
42
|
getChildMenuId(itemIndex) {
|
|
@@ -43,13 +62,13 @@ export class DropdownMenuComponent {
|
|
|
43
62
|
});
|
|
44
63
|
}
|
|
45
64
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
46
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DropdownMenuComponent, isStandalone: true, selector: "rte-dropdown-menu", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, menuId: { classPropertyName: "menuId", publicName: "menuId", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemEvent: "itemEvent", closingMenu: "closingMenu" }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "attr.data-menu-id": "menuId()" } }, ngImport: i0, template: "<div class=\"rte-dropdown-menu {{ isOpen() ? 'open' : 'closed' }}\" [ngStyle]=\"menuStyle()\">\n <ul class=\"rte-dropdown-items\" role=\"menu\" [attr.aria-activedescendant]=\"menuId()\">\n
|
|
65
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.14", type: DropdownMenuComponent, isStandalone: true, selector: "rte-dropdown-menu", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, menuId: { classPropertyName: "menuId", publicName: "menuId", isSignal: true, isRequired: false, transformFunction: null }, isOpen: { classPropertyName: "isOpen", publicName: "isOpen", isSignal: true, isRequired: false, transformFunction: null }, width: { classPropertyName: "width", publicName: "width", isSignal: true, isRequired: false, transformFunction: null }, headerTemplate: { classPropertyName: "headerTemplate", publicName: "headerTemplate", isSignal: true, isRequired: false, transformFunction: null }, footerTemplate: { classPropertyName: "footerTemplate", publicName: "footerTemplate", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { itemEvent: "itemEvent", closingMenu: "closingMenu" }, host: { listeners: { "keydown": "onKeyDown($event)" }, properties: { "attr.data-menu-id": "menuId()" } }, queries: [{ propertyName: "headerDirective", first: true, predicate: DropdownMenuHeaderDirective, descendants: true, isSignal: true }, { propertyName: "footerDirective", first: true, predicate: DropdownMenuFooterDirective, descendants: true, isSignal: true }], viewQueries: [{ propertyName: "headerContentRef", first: true, predicate: ["headerContent"], descendants: true, isSignal: true }, { propertyName: "footerContentRef", first: true, predicate: ["footerContent"], descendants: true, isSignal: true }], ngImport: i0, template: "<div class=\"rte-dropdown-menu {{ isOpen() ? 'open' : 'closed' }}\" [ngStyle]=\"menuStyle()\">\n @if (hasHeaderContent()) {\n <div class=\"rte-dropdown-menu-header\">\n @if (headerTemplate() || headerDirective()?.templateRef) {\n <ng-container [ngTemplateOutlet]=\"(headerTemplate() || headerDirective()?.templateRef) ?? null\"></ng-container>\n } @else {\n <div #headerContent>\n <ng-content select=\"[dropdown-menu-header]\"></ng-content>\n </div>\n }\n <rte-divider />\n </div>\n }\n <div class=\"rte-dropdown-menu-content\">\n <ul class=\"rte-dropdown-items\" role=\"menu\" [attr.aria-activedescendant]=\"menuId()\">\n @for (item of items(); track item.label; let i = $index) {\n <rte-dropdown-item [item]=\"item\" (itemEvent)=\"handleItemEvent($event)\" />\n }\n </ul>\n </div>\n @if (hasFooterContent()) {\n <div class=\"rte-dropdown-menu-footer\">\n <rte-divider />\n @if (footerTemplate() || footerDirective()?.templateRef) {\n <ng-container [ngTemplateOutlet]=\"(footerTemplate() || footerDirective()?.templateRef) ?? null\"></ng-container>\n } @else {\n <div #footerContent>\n <ng-content select=\"[dropdown-menu-footer]\"></ng-content>\n </div>\n }\n </div>\n }\n</div>\n", styles: [":host{display:none;position:absolute}.rte-dropdown-menu{opacity:0;box-shadow:0 8px 16px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-4) 0%,var(--elevation-surface-shadow-4) 100%);background-color:var(--background-default);position:absolute;top:0;left:0;display:flex;min-width:112px;max-width:280px;padding:8px 0;flex-direction:column;align-items:flex-start;gap:0px;border-radius:4px;transition:opacity .1s ease-in-out;pointer-events:auto;overflow-x:hidden;overflow-y:auto}.rte-dropdown-menu-header,.rte-dropdown-menu-content,.rte-dropdown-menu-footer{width:100%}.rte-dropdown-menu.open{opacity:1}.rte-dropdown-menu .rte-dropdown-items{width:100%;padding:0;margin:0}.rte-dropdown-menu .rte-dropdown-items li{list-style:none}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: DropdownItemComponent, selector: "rte-dropdown-item", inputs: ["item", "menuId"], outputs: ["itemEvent"] }, { kind: "component", type: DividerComponent, selector: "rte-divider", inputs: ["orientation", "thickness", "appearance", "endPoint"] }] }); }
|
|
47
66
|
}
|
|
48
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownMenuComponent, decorators: [{
|
|
49
68
|
type: Component,
|
|
50
|
-
args: [{ selector: "rte-dropdown-menu", imports: [CommonModule, DropdownItemComponent], standalone: true, host: { "[attr.data-menu-id]": "menuId()" }, template: "<div class=\"rte-dropdown-menu {{ isOpen() ? 'open' : 'closed' }}\" [ngStyle]=\"menuStyle()\">\n <ul class=\"rte-dropdown-items\" role=\"menu\" [attr.aria-activedescendant]=\"menuId()\">\n
|
|
69
|
+
args: [{ selector: "rte-dropdown-menu", imports: [CommonModule, DropdownItemComponent, DividerComponent], standalone: true, host: { "[attr.data-menu-id]": "menuId()" }, template: "<div class=\"rte-dropdown-menu {{ isOpen() ? 'open' : 'closed' }}\" [ngStyle]=\"menuStyle()\">\n @if (hasHeaderContent()) {\n <div class=\"rte-dropdown-menu-header\">\n @if (headerTemplate() || headerDirective()?.templateRef) {\n <ng-container [ngTemplateOutlet]=\"(headerTemplate() || headerDirective()?.templateRef) ?? null\"></ng-container>\n } @else {\n <div #headerContent>\n <ng-content select=\"[dropdown-menu-header]\"></ng-content>\n </div>\n }\n <rte-divider />\n </div>\n }\n <div class=\"rte-dropdown-menu-content\">\n <ul class=\"rte-dropdown-items\" role=\"menu\" [attr.aria-activedescendant]=\"menuId()\">\n @for (item of items(); track item.label; let i = $index) {\n <rte-dropdown-item [item]=\"item\" (itemEvent)=\"handleItemEvent($event)\" />\n }\n </ul>\n </div>\n @if (hasFooterContent()) {\n <div class=\"rte-dropdown-menu-footer\">\n <rte-divider />\n @if (footerTemplate() || footerDirective()?.templateRef) {\n <ng-container [ngTemplateOutlet]=\"(footerTemplate() || footerDirective()?.templateRef) ?? null\"></ng-container>\n } @else {\n <div #footerContent>\n <ng-content select=\"[dropdown-menu-footer]\"></ng-content>\n </div>\n }\n </div>\n }\n</div>\n", styles: [":host{display:none;position:absolute}.rte-dropdown-menu{opacity:0;box-shadow:0 8px 16px 0 var(--elevation-shadow-key),0 0 2px 0 var(--elevation-shadow-ambient);background:linear-gradient(0deg,var(--elevation-surface-shadow-4) 0%,var(--elevation-surface-shadow-4) 100%);background-color:var(--background-default);position:absolute;top:0;left:0;display:flex;min-width:112px;max-width:280px;padding:8px 0;flex-direction:column;align-items:flex-start;gap:0px;border-radius:4px;transition:opacity .1s ease-in-out;pointer-events:auto;overflow-x:hidden;overflow-y:auto}.rte-dropdown-menu-header,.rte-dropdown-menu-content,.rte-dropdown-menu-footer{width:100%}.rte-dropdown-menu.open{opacity:1}.rte-dropdown-menu .rte-dropdown-items{width:100%;padding:0;margin:0}.rte-dropdown-menu .rte-dropdown-items li{list-style:none}\n"] }]
|
|
51
70
|
}], propDecorators: { onKeyDown: [{
|
|
52
71
|
type: HostListener,
|
|
53
72
|
args: ["keydown", ["$event"]]
|
|
54
73
|
}] } });
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JHLE9BQU8sRUFDTCxjQUFjLEVBQ2QsY0FBYyxFQUNkLGVBQWUsRUFDZixZQUFZLEVBQ1osVUFBVSxFQUNWLE9BQU8sR0FDUixNQUFNLCtEQUErRCxDQUFDO0FBRXZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQXNCLE1BQU0sMENBQTBDLENBQUM7OztBQVVyRyxNQUFNLE9BQU8scUJBQXFCO0lBUmxDO1FBU21CLGVBQVUsR0FBRyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDaEMsb0JBQWUsR0FBRyxNQUFNLENBQUMsZUFBZSxDQUFDLENBQUM7UUFFbEQsVUFBSyxHQUFHLEtBQUssQ0FBdUIsRUFBRSxDQUFDLENBQUM7UUFDeEMsV0FBTSxHQUFHLEtBQUssRUFBVSxDQUFDO1FBRXpCLGNBQVMsR0FBRyxNQUFNLEVBQWdDLENBQUM7UUFFbkQsZUFBVSxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7UUFDNUYsV0FBTSxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUMvQixVQUFLLEdBQUcsS0FBSyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUNuQyxnQkFBVyxHQUFHLE1BQU0sRUFBUSxDQUFDO1FBRTdCLGNBQVMsR0FBRyxRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ2pDLE9BQU8sSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLEdBQUcsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUM1RCxDQUFDLENBQUMsQ0FBQztLQThCSjtJQTVCQyxjQUFjLENBQUMsU0FBaUI7UUFDOUIsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUF1QztRQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0QsU0FBUyxDQUFDLEtBQW9CO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDcEMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqRyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ2xELFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUM1QixNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0E3Q1UscUJBQXFCO21HQUFyQixxQkFBcUIsMHVCQ3RCbEMsNFdBT0EsOHdCRFNZLFlBQVksb0hBQUUscUJBQXFCOzs0RkFNbEMscUJBQXFCO2tCQVJqQyxTQUFTOytCQUNFLG1CQUFtQixXQUNwQixDQUFDLFlBQVksRUFBRSxxQkFBcUIsQ0FBQyxjQUNsQyxJQUFJLFFBR1YsRUFBRSxxQkFBcUIsRUFBRSxVQUFVLEVBQUU7OEJBNkIzQyxTQUFTO3NCQURSLFlBQVk7dUJBQUMsU0FBUyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBjb21wdXRlZCwgRWxlbWVudFJlZiwgSG9zdExpc3RlbmVyLCBpbmplY3QsIGlucHV0LCBvdXRwdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHtcbiAgQVJST1dfRE9XTl9LRVksXG4gIEFSUk9XX0xFRlRfS0VZLFxuICBBUlJPV19SSUdIVF9LRVksXG4gIEFSUk9XX1VQX0tFWSxcbiAgRVNDQVBFX0tFWSxcbiAgVEFCX0tFWSxcbn0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbnN0YW50cy9rZXlib2FyZC9rZXlib2FyZC5jb25zdGFudHNcIjtcblxuaW1wb3J0IHsgRHJvcGRvd25TZXJ2aWNlIH0gZnJvbSBcIi4uLy4uLy4uL3NlcnZpY2VzL2Ryb3Bkb3duLnNlcnZpY2VcIjtcbmltcG9ydCB7IERyb3Bkb3duSXRlbUNvbXBvbmVudCwgRHJvcGRvd25JdGVtQ29uZmlnIH0gZnJvbSBcIi4uL2Ryb3Bkb3duLWl0ZW0vZHJvcGRvd24taXRlbS5jb21wb25lbnRcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcInJ0ZS1kcm9wZG93bi1tZW51XCIsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIERyb3Bkb3duSXRlbUNvbXBvbmVudF0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHRlbXBsYXRlVXJsOiBcIi4vZHJvcGRvd24tbWVudS5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybDogXCIuL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50LnNjc3NcIixcbiAgaG9zdDogeyBcIlthdHRyLmRhdGEtbWVudS1pZF1cIjogXCJtZW51SWQoKVwiIH0sXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duTWVudUNvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcHJpdmF0ZSByZWFkb25seSBkcm9wZG93blNlcnZpY2UgPSBpbmplY3QoRHJvcGRvd25TZXJ2aWNlKTtcblxuICByZWFkb25seSBpdGVtcyA9IGlucHV0PERyb3Bkb3duSXRlbUNvbmZpZ1tdPihbXSk7XG4gIHJlYWRvbmx5IG1lbnVJZCA9IGlucHV0PHN0cmluZz4oKTtcblxuICByZWFkb25seSBpdGVtRXZlbnQgPSBvdXRwdXQ8eyBldmVudDogRXZlbnQ7IGlkOiBzdHJpbmcgfT4oKTtcblxuICByZWFkb25seSB3aWR0aFN0eWxlID0gY29tcHV0ZWQoKCkgPT4gKHRoaXMud2lkdGgoKSAhPT0gdW5kZWZpbmVkID8gYCR7dGhpcy53aWR0aCgpfXB4YCA6IHVuZGVmaW5lZCkpO1xuICByZWFkb25seSBpc09wZW4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHdpZHRoID0gaW5wdXQ8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG4gIHJlYWRvbmx5IGNsb3NpbmdNZW51ID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgbWVudVN0eWxlID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLndpZHRoKCkgPyB7IHdpZHRoOiB0aGlzLndpZHRoKCkgKyBcInB4XCIgfSA6IHt9O1xuICB9KTtcblxuICBnZXRDaGlsZE1lbnVJZChpdGVtSW5kZXg6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIGAke3RoaXMubWVudUlkKCl9OiR7aXRlbUluZGV4ICsgMX1gO1xuICB9XG5cbiAgaGFuZGxlSXRlbUV2ZW50KGl0ZW1FdmVudDogeyBldmVudDogRXZlbnQ7IGlkOiBzdHJpbmcgfSk6IHZvaWQge1xuICAgIHRoaXMuaXRlbUV2ZW50LmVtaXQoaXRlbUV2ZW50KTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoXCJrZXlkb3duXCIsIFtcIiRldmVudFwiXSlcbiAgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKCFldmVudC50YXJnZXQgfHwgIXRoaXMubWVudUlkKCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoW0FSUk9XX1VQX0tFWSwgQVJST1dfRE9XTl9LRVksIEFSUk9XX0xFRlRfS0VZLCBBUlJPV19SSUdIVF9LRVksIFRBQl9LRVldLmluY2x1ZGVzKGV2ZW50LmtleSkpIHtcbiAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gRVNDQVBFX0tFWSkge1xuICAgICAgdGhpcy5jbG9zaW5nTWVudS5lbWl0KCk7XG4gICAgfVxuXG4gICAgY29uc3QgbWVudUlkID0gdGhpcy5tZW51SWQoKSBhcyBzdHJpbmc7XG4gICAgdGhpcy5kcm9wZG93blNlcnZpY2UuaGFuZGxlS2V5Ym9hcmRJbnB1dChldmVudC5rZXksIHtcbiAgICAgIG1lbnVFbGVtZW50OiB0aGlzLmVsZW1lbnRSZWYsXG4gICAgICBtZW51SWQsXG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJydGUtZHJvcGRvd24tbWVudSB7eyBpc09wZW4oKSA/ICdvcGVuJyA6ICdjbG9zZWQnIH19XCIgW25nU3R5bGVdPVwibWVudVN0eWxlKClcIj5cbiAgPHVsIGNsYXNzPVwicnRlLWRyb3Bkb3duLWl0ZW1zXCIgcm9sZT1cIm1lbnVcIiBbYXR0ci5hcmlhLWFjdGl2ZWRlc2NlbmRhbnRdPVwibWVudUlkKClcIj5cbiAgICBAZm9yIChpdGVtIG9mIGl0ZW1zKCk7IHRyYWNrIGl0ZW0ubGFiZWw7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICA8cnRlLWRyb3Bkb3duLWl0ZW0gW2l0ZW1dPVwiaXRlbVwiIChpdGVtRXZlbnQpPVwiaGFuZGxlSXRlbUV2ZW50KCRldmVudClcIiAvPlxuICAgIH1cbiAgPC91bD5cbjwvZGl2PlxuIl19
|
|
74
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24tbWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kcy1ydGUtbGliL3NyYy9saWIvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQ0wsU0FBUyxFQUNULFFBQVEsRUFDUixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFFTixTQUFTLEdBQ1YsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUNMLGNBQWMsRUFDZCxjQUFjLEVBQ2QsZUFBZSxFQUNmLFlBQVksRUFDWixVQUFVLEVBQ1YsT0FBTyxHQUNSLE1BQU0sK0RBQStELENBQUM7QUFFdkUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxxQkFBcUIsRUFBc0IsTUFBTSwwQ0FBMEMsQ0FBQztBQUVyRyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQzs7O0FBVS9FLE1BQU0sT0FBTyxxQkFBcUI7SUFSbEM7UUFTbUIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNoQyxvQkFBZSxHQUFHLE1BQU0sQ0FBQyxlQUFlLENBQUMsQ0FBQztRQUVsRCxVQUFLLEdBQUcsS0FBSyxDQUF1QixFQUFFLENBQUMsQ0FBQztRQUN4QyxXQUFNLEdBQUcsS0FBSyxFQUFVLENBQUM7UUFFekIsY0FBUyxHQUFHLE1BQU0sRUFBZ0MsQ0FBQztRQUVuRCxlQUFVLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUM1RixXQUFNLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQy9CLFVBQUssR0FBRyxLQUFLLENBQWdCLElBQUksQ0FBQyxDQUFDO1FBQ25DLGdCQUFXLEdBQUcsTUFBTSxFQUFRLENBQUM7UUFFN0IsY0FBUyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDakMsT0FBTyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsR0FBRyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQzlGLENBQUMsQ0FBQyxDQUFDO1FBRU0sb0JBQWUsR0FBRyxZQUFZLENBQUMsMkJBQTJCLENBQUMsQ0FBQztRQUM1RCxvQkFBZSxHQUFHLFlBQVksQ0FBQywyQkFBMkIsQ0FBQyxDQUFDO1FBRTVELG1CQUFjLEdBQUcsS0FBSyxDQUF1QyxTQUFTLENBQUMsQ0FBQztRQUN4RSxtQkFBYyxHQUFHLEtBQUssQ0FBdUMsU0FBUyxDQUFDLENBQUM7UUFFeEUscUJBQWdCLEdBQUcsU0FBUyxDQUEwQixlQUFlLENBQUMsQ0FBQztRQUN2RSxxQkFBZ0IsR0FBRyxTQUFTLENBQTBCLGVBQWUsQ0FBQyxDQUFDO1FBRXZFLHFCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDeEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUN0RixPQUFPLFdBQVcsSUFBSSxtQkFBbUIsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztRQUVNLHFCQUFnQixHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUU7WUFDeEMsTUFBTSxXQUFXLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUM1QyxNQUFNLG1CQUFtQixHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxhQUFhLEVBQUUsUUFBUSxDQUFDLE1BQU0sQ0FBQztZQUN0RixPQUFPLFdBQVcsSUFBSSxtQkFBbUIsQ0FBQztRQUM1QyxDQUFDLENBQUMsQ0FBQztLQThCSjtJQTVCQyxjQUFjLENBQUMsU0FBaUI7UUFDOUIsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxTQUF1QztRQUNyRCxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBR0QsU0FBUyxDQUFDLEtBQW9CO1FBQzVCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDcEMsT0FBTztRQUNULENBQUM7UUFFRCxJQUFJLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqRyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDekIsQ0FBQztRQUVELElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxVQUFVLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFCLENBQUM7UUFFRCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFZLENBQUM7UUFDdkMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQ2xELFdBQVcsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUM1QixNQUFNO1NBQ1AsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0FsRVUscUJBQXFCO21HQUFyQixxQkFBcUIsNmpDQWtCUSwyQkFBMkIsa0dBQzNCLDJCQUEyQix1VEN4RHJFLDZ5Q0FpQ0EsdzJCREZZLFlBQVksMlJBQUUscUJBQXFCLGtIQUFFLGdCQUFnQjs7NEZBTXBELHFCQUFxQjtrQkFSakMsU0FBUzsrQkFDRSxtQkFBbUIsV0FDcEIsQ0FBQyxZQUFZLEVBQUUscUJBQXFCLEVBQUUsZ0JBQWdCLENBQUMsY0FDcEQsSUFBSSxRQUdWLEVBQUUscUJBQXFCLEVBQUUsVUFBVSxFQUFFOzhCQWtEM0MsU0FBUztzQkFEUixZQUFZO3VCQUFDLFNBQVMsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgY29tcHV0ZWQsXG4gIGNvbnRlbnRDaGlsZCxcbiAgRWxlbWVudFJlZixcbiAgSG9zdExpc3RlbmVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICB2aWV3Q2hpbGQsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge1xuICBBUlJPV19ET1dOX0tFWSxcbiAgQVJST1dfTEVGVF9LRVksXG4gIEFSUk9XX1JJR0hUX0tFWSxcbiAgQVJST1dfVVBfS0VZLFxuICBFU0NBUEVfS0VZLFxuICBUQUJfS0VZLFxufSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29uc3RhbnRzL2tleWJvYXJkL2tleWJvYXJkLmNvbnN0YW50c1wiO1xuXG5pbXBvcnQgeyBEcm9wZG93blNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvZHJvcGRvd24uc2VydmljZVwiO1xuaW1wb3J0IHsgRGl2aWRlckNvbXBvbmVudCB9IGZyb20gXCIuLi8uLi9kaXZpZGVyL2RpdmlkZXIuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBEcm9wZG93bkl0ZW1Db21wb25lbnQsIERyb3Bkb3duSXRlbUNvbmZpZyB9IGZyb20gXCIuLi9kcm9wZG93bi1pdGVtL2Ryb3Bkb3duLWl0ZW0uY29tcG9uZW50XCI7XG5cbmltcG9ydCB7IERyb3Bkb3duTWVudUZvb3RlckRpcmVjdGl2ZSB9IGZyb20gXCIuL2Ryb3Bkb3duLW1lbnUtZm9vdGVyLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgRHJvcGRvd25NZW51SGVhZGVyRGlyZWN0aXZlIH0gZnJvbSBcIi4vZHJvcGRvd24tbWVudS1oZWFkZXIuZGlyZWN0aXZlXCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJydGUtZHJvcGRvd24tbWVudVwiLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBEcm9wZG93bkl0ZW1Db21wb25lbnQsIERpdmlkZXJDb21wb25lbnRdLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogXCIuL2Ryb3Bkb3duLW1lbnUuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmw6IFwiLi9kcm9wZG93bi1tZW51LmNvbXBvbmVudC5zY3NzXCIsXG4gIGhvc3Q6IHsgXCJbYXR0ci5kYXRhLW1lbnUtaWRdXCI6IFwibWVudUlkKClcIiB9LFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk1lbnVDb21wb25lbnQge1xuICBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHByaXZhdGUgcmVhZG9ubHkgZHJvcGRvd25TZXJ2aWNlID0gaW5qZWN0KERyb3Bkb3duU2VydmljZSk7XG5cbiAgcmVhZG9ubHkgaXRlbXMgPSBpbnB1dDxEcm9wZG93bkl0ZW1Db25maWdbXT4oW10pO1xuICByZWFkb25seSBtZW51SWQgPSBpbnB1dDxzdHJpbmc+KCk7XG5cbiAgcmVhZG9ubHkgaXRlbUV2ZW50ID0gb3V0cHV0PHsgZXZlbnQ6IEV2ZW50OyBpZDogc3RyaW5nIH0+KCk7XG5cbiAgcmVhZG9ubHkgd2lkdGhTdHlsZSA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLndpZHRoKCkgIT09IHVuZGVmaW5lZCA/IGAke3RoaXMud2lkdGgoKX1weGAgOiB1bmRlZmluZWQpKTtcbiAgcmVhZG9ubHkgaXNPcGVuID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xuICByZWFkb25seSB3aWR0aCA9IGlucHV0PHN0cmluZyB8IG51bGw+KG51bGwpO1xuICByZWFkb25seSBjbG9zaW5nTWVudSA9IG91dHB1dDx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IG1lbnVTdHlsZSA9IGNvbXB1dGVkKCgpID0+IHtcbiAgICByZXR1cm4gdGhpcy53aWR0aCgpID8geyB3aWR0aDogdGhpcy53aWR0aCgpICsgXCJweFwiLCBcIm1heC13aWR0aFwiOiB0aGlzLndpZHRoKCkgKyBcInB4XCIgfSA6IHt9O1xuICB9KTtcblxuICByZWFkb25seSBoZWFkZXJEaXJlY3RpdmUgPSBjb250ZW50Q2hpbGQoRHJvcGRvd25NZW51SGVhZGVyRGlyZWN0aXZlKTtcbiAgcmVhZG9ubHkgZm9vdGVyRGlyZWN0aXZlID0gY29udGVudENoaWxkKERyb3Bkb3duTWVudUZvb3RlckRpcmVjdGl2ZSk7XG5cbiAgcmVhZG9ubHkgaGVhZGVyVGVtcGxhdGUgPSBpbnB1dDxUZW1wbGF0ZVJlZjxIVE1MRWxlbWVudD4gfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGZvb3RlclRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8SFRNTEVsZW1lbnQ+IHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuXG4gIHJlYWRvbmx5IGhlYWRlckNvbnRlbnRSZWYgPSB2aWV3Q2hpbGQ8RWxlbWVudFJlZjxIVE1MRWxlbWVudD4+KFwiaGVhZGVyQ29udGVudFwiKTtcbiAgcmVhZG9ubHkgZm9vdGVyQ29udGVudFJlZiA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oXCJmb290ZXJDb250ZW50XCIpO1xuXG4gIHJlYWRvbmx5IGhhc0hlYWRlckNvbnRlbnQgPSBjb21wdXRlZCgoKSA9PiB7XG4gICAgY29uc3QgaGFzVGVtcGxhdGUgPSAhIXRoaXMuaGVhZGVyVGVtcGxhdGUoKTtcbiAgICBjb25zdCBoYXNQcm9qZWN0ZWRDb250ZW50ID0gISF0aGlzLmhlYWRlckNvbnRlbnRSZWYoKT8ubmF0aXZlRWxlbWVudD8uY2hpbGRyZW4ubGVuZ3RoO1xuICAgIHJldHVybiBoYXNUZW1wbGF0ZSB8fCBoYXNQcm9qZWN0ZWRDb250ZW50O1xuICB9KTtcblxuICByZWFkb25seSBoYXNGb290ZXJDb250ZW50ID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IGhhc1RlbXBsYXRlID0gISF0aGlzLmZvb3RlclRlbXBsYXRlKCk7XG4gICAgY29uc3QgaGFzUHJvamVjdGVkQ29udGVudCA9ICEhdGhpcy5mb290ZXJDb250ZW50UmVmKCk/Lm5hdGl2ZUVsZW1lbnQ/LmNoaWxkcmVuLmxlbmd0aDtcbiAgICByZXR1cm4gaGFzVGVtcGxhdGUgfHwgaGFzUHJvamVjdGVkQ29udGVudDtcbiAgfSk7XG5cbiAgZ2V0Q2hpbGRNZW51SWQoaXRlbUluZGV4OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIHJldHVybiBgJHt0aGlzLm1lbnVJZCgpfToke2l0ZW1JbmRleCArIDF9YDtcbiAgfVxuXG4gIGhhbmRsZUl0ZW1FdmVudChpdGVtRXZlbnQ6IHsgZXZlbnQ6IEV2ZW50OyBpZDogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICB0aGlzLml0ZW1FdmVudC5lbWl0KGl0ZW1FdmVudCk7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKFwia2V5ZG93blwiLCBbXCIkZXZlbnRcIl0pXG4gIG9uS2V5RG93bihldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmICghZXZlbnQudGFyZ2V0IHx8ICF0aGlzLm1lbnVJZCgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKFtBUlJPV19VUF9LRVksIEFSUk9XX0RPV05fS0VZLCBBUlJPV19MRUZUX0tFWSwgQVJST1dfUklHSFRfS0VZLCBUQUJfS0VZXS5pbmNsdWRlcyhldmVudC5rZXkpKSB7XG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIGlmIChldmVudC5rZXkgPT09IEVTQ0FQRV9LRVkpIHtcbiAgICAgIHRoaXMuY2xvc2luZ01lbnUuZW1pdCgpO1xuICAgIH1cblxuICAgIGNvbnN0IG1lbnVJZCA9IHRoaXMubWVudUlkKCkgYXMgc3RyaW5nO1xuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLmhhbmRsZUtleWJvYXJkSW5wdXQoZXZlbnQua2V5LCB7XG4gICAgICBtZW51RWxlbWVudDogdGhpcy5lbGVtZW50UmVmLFxuICAgICAgbWVudUlkLFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicnRlLWRyb3Bkb3duLW1lbnUge3sgaXNPcGVuKCkgPyAnb3BlbicgOiAnY2xvc2VkJyB9fVwiIFtuZ1N0eWxlXT1cIm1lbnVTdHlsZSgpXCI+XG4gIEBpZiAoaGFzSGVhZGVyQ29udGVudCgpKSB7XG4gICAgPGRpdiBjbGFzcz1cInJ0ZS1kcm9wZG93bi1tZW51LWhlYWRlclwiPlxuICAgICAgQGlmIChoZWFkZXJUZW1wbGF0ZSgpIHx8IGhlYWRlckRpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZikge1xuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIihoZWFkZXJUZW1wbGF0ZSgpIHx8IGhlYWRlckRpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZikgPz8gbnVsbFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIDxkaXYgI2hlYWRlckNvbnRlbnQ+XG4gICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2Ryb3Bkb3duLW1lbnUtaGVhZGVyXVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgICA8cnRlLWRpdmlkZXIgLz5cbiAgICA8L2Rpdj5cbiAgfVxuICA8ZGl2IGNsYXNzPVwicnRlLWRyb3Bkb3duLW1lbnUtY29udGVudFwiPlxuICAgIDx1bCBjbGFzcz1cInJ0ZS1kcm9wZG93bi1pdGVtc1wiIHJvbGU9XCJtZW51XCIgW2F0dHIuYXJpYS1hY3RpdmVkZXNjZW5kYW50XT1cIm1lbnVJZCgpXCI+XG4gICAgICBAZm9yIChpdGVtIG9mIGl0ZW1zKCk7IHRyYWNrIGl0ZW0ubGFiZWw7IGxldCBpID0gJGluZGV4KSB7XG4gICAgICAgIDxydGUtZHJvcGRvd24taXRlbSBbaXRlbV09XCJpdGVtXCIgKGl0ZW1FdmVudCk9XCJoYW5kbGVJdGVtRXZlbnQoJGV2ZW50KVwiIC8+XG4gICAgICB9XG4gICAgPC91bD5cbiAgPC9kaXY+XG4gIEBpZiAoaGFzRm9vdGVyQ29udGVudCgpKSB7XG4gICAgPGRpdiBjbGFzcz1cInJ0ZS1kcm9wZG93bi1tZW51LWZvb3RlclwiPlxuICAgICAgPHJ0ZS1kaXZpZGVyIC8+XG4gICAgICBAaWYgKGZvb3RlclRlbXBsYXRlKCkgfHwgZm9vdGVyRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmKSB7XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiKGZvb3RlclRlbXBsYXRlKCkgfHwgZm9vdGVyRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmKSA/PyBudWxsXCI+PC9uZy1jb250YWluZXI+XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgPGRpdiAjZm9vdGVyQ29udGVudD5cbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJbZHJvcGRvd24tbWVudS1mb290ZXJdXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8L2Rpdj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgfVxuPC9kaXY+XG4iXX0=
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectorRef, contentChild, DestroyRef, Directive, effect, ElementRef, inject, input, output, Renderer2, signal, ViewContainerRef, } from "@angular/core";
|
|
1
|
+
import { ChangeDetectorRef, computed, contentChild, DestroyRef, Directive, effect, ElementRef, inject, input, output, Renderer2, signal, ViewContainerRef, } from "@angular/core";
|
|
2
2
|
import { waitForNextFrame } from "@design-system-rte/core/common/animation";
|
|
3
3
|
import { DROPDOWN_ANIMATION_DURATION } from "@design-system-rte/core/components/dropdown/dropdown.constants";
|
|
4
4
|
import { getAutoAlignment, getAutoPlacementDropdown, getCoordinates, } from "@design-system-rte/core/components/utils/auto-placement";
|
|
@@ -34,6 +34,18 @@ export class DropdownDirective {
|
|
|
34
34
|
this.clickedOutside = output();
|
|
35
35
|
this.closedDropdown = output();
|
|
36
36
|
this.isActive = signal(false);
|
|
37
|
+
this.menuInputs = computed(() => {
|
|
38
|
+
const menu = this.menu();
|
|
39
|
+
if (!menu) {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
items: menu.items(),
|
|
44
|
+
headerTemplate: menu.headerDirective()?.templateRef,
|
|
45
|
+
footerTemplate: menu.footerDirective()?.templateRef,
|
|
46
|
+
width: menu.width(),
|
|
47
|
+
};
|
|
48
|
+
});
|
|
37
49
|
this.dropdownMenuRef = null;
|
|
38
50
|
this.handleClickOutside = (event) => {
|
|
39
51
|
const target = event.target;
|
|
@@ -42,7 +54,8 @@ export class DropdownDirective {
|
|
|
42
54
|
return;
|
|
43
55
|
}
|
|
44
56
|
const clickedInTrigger = this.hostElement.contains(target);
|
|
45
|
-
|
|
57
|
+
const clickedInMenu = this.dropdownMenuRef?.location.nativeElement.contains(target);
|
|
58
|
+
if (!clickedInTrigger && !clickedInMenu) {
|
|
46
59
|
this.closeDropdown();
|
|
47
60
|
this.clickedOutside.emit();
|
|
48
61
|
}
|
|
@@ -63,12 +76,11 @@ export class DropdownDirective {
|
|
|
63
76
|
}
|
|
64
77
|
});
|
|
65
78
|
effect(() => {
|
|
66
|
-
const
|
|
67
|
-
if (this.dropdownMenuRef &&
|
|
68
|
-
this.
|
|
79
|
+
const inputs = this.menuInputs();
|
|
80
|
+
if (this.dropdownMenuRef && inputs) {
|
|
81
|
+
this.assignInputs();
|
|
69
82
|
}
|
|
70
83
|
});
|
|
71
|
-
effect(() => this.assignWidth());
|
|
72
84
|
}
|
|
73
85
|
onTrigger() {
|
|
74
86
|
if (this.rteDropdownAutoOpen()) {
|
|
@@ -120,8 +132,7 @@ export class DropdownDirective {
|
|
|
120
132
|
const menuId = this.rteDropdownId() || this.dropdownId;
|
|
121
133
|
this.dropdownMenuRef.setInput("menuId", menuId);
|
|
122
134
|
this.dropdownService.openMenu(menuId);
|
|
123
|
-
this.
|
|
124
|
-
this.assignWidth();
|
|
135
|
+
this.assignInputs();
|
|
125
136
|
this.positionDropdownMenu(this.rteDropdownPosition());
|
|
126
137
|
this.addClickOutsideListener();
|
|
127
138
|
this.dropdownMenuRef.instance.itemEvent.subscribe((event) => {
|
|
@@ -139,17 +150,27 @@ export class DropdownDirective {
|
|
|
139
150
|
});
|
|
140
151
|
this.destroyRef.onDestroy(() => dropdownStateSubscription.unsubscribe());
|
|
141
152
|
}
|
|
142
|
-
|
|
153
|
+
assignInputs() {
|
|
143
154
|
if (this.dropdownMenuRef) {
|
|
144
155
|
const items = this.menu()?.items() ?? [];
|
|
145
156
|
this.dropdownMenuRef.setInput("items", items);
|
|
157
|
+
this.dropdownMenuRef.setInput("headerTemplate", this.menu()?.headerDirective()?.templateRef);
|
|
158
|
+
this.dropdownMenuRef.setInput("footerTemplate", this.menu()?.footerDirective()?.templateRef);
|
|
146
159
|
}
|
|
160
|
+
this.assignWidth();
|
|
147
161
|
}
|
|
148
162
|
assignWidth() {
|
|
149
|
-
if (this.dropdownMenuRef
|
|
150
|
-
|
|
163
|
+
if (!this.dropdownMenuRef) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
const width = this.menuInputs()?.width ?? this.rteDropdownWidth();
|
|
167
|
+
if (width !== undefined && width !== null) {
|
|
168
|
+
this.dropdownMenuRef.setInput("width", width);
|
|
151
169
|
waitForNextFrame(() => this.dropdownMenuRef?.setInput("isOpen", true));
|
|
152
170
|
}
|
|
171
|
+
else {
|
|
172
|
+
this.dropdownMenuRef.setInput("isOpen", true);
|
|
173
|
+
}
|
|
153
174
|
}
|
|
154
175
|
positionDropdownMenu(position = "bottom") {
|
|
155
176
|
if (this.dropdownMenuRef && this.trigger()) {
|
|
@@ -200,4 +221,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
200
221
|
standalone: true,
|
|
201
222
|
}]
|
|
202
223
|
}], ctorParameters: () => [] });
|
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFFakIsWUFBWSxFQUNaLFVBQVUsRUFDVixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixNQUFNLEVBQ04sS0FBSyxFQUVMLE1BQU0sRUFDTixTQUFTLEVBQ1QsTUFBTSxFQUNOLGdCQUFnQixHQUNqQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUc1RSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxnRUFBZ0UsQ0FBQztBQUM3RyxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4QixjQUFjLEdBQ2YsTUFBTSx5REFBeUQsQ0FBQztBQUNqRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSwrREFBK0QsQ0FBQztBQUVySCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBRWhFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQ2hGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBQ3pGLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQVU3RCxNQUFNLE9BQU8saUJBQWlCO2FBQ2IsY0FBUyxHQUFHLENBQUMsQUFBSixDQUFLO0lBK0I3QjtRQTdCUyxZQUFPLEdBQUcsWUFBWSxDQUFDLHdCQUF3QixDQUFDLENBQUM7UUFDakQsU0FBSSxH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QztJQUVPLDBCQUEwQjtRQUNoQyxRQUFRLENBQUMsbUJBQW1CLENBQUMsV0FBVyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFTyxhQUFhO1FBQ25CLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QyxDQUFDLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUNsQyxDQUFDOytHQXJPVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw2aURBR0ksd0JBQXdCLHVGQUMzQixxQkFBcUI7OzRGQUp2QyxpQkFBaUI7a0JBUjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLElBQUksRUFBRTt3QkFDSixrQkFBa0IsRUFBRSxNQUFNO3dCQUMxQix5QkFBeUIsRUFBRSxZQUFZO3FCQUN4QztvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50UmVmLFxuICBjb250ZW50Q2hpbGQsXG4gIERlc3Ryb3lSZWYsXG4gIERpcmVjdGl2ZSxcbiAgZWZmZWN0LFxuICBFbGVtZW50UmVmLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBPbkRlc3Ryb3ksXG4gIG91dHB1dCxcbiAgUmVuZGVyZXIyLFxuICBzaWduYWwsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyB3YWl0Rm9yTmV4dEZyYW1lIH0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbW1vbi9hbmltYXRpb25cIjtcbmltcG9ydCB7IEFsaWdubWVudCB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21tb24vY29tbW9uLXR5cGVzXCI7XG5pbXBvcnQgeyBQb3NpdGlvbiB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL2NvbW1vbi9jb21tb24tdHlwZXNcIjtcbmltcG9ydCB7IERST1BET1dOX0FOSU1BVElPTl9EVVJBVElPTiB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbnN0YW50c1wiO1xuaW1wb3J0IHtcbiAgZ2V0QXV0b0FsaWdubWVudCxcbiAgZ2V0QXV0b1BsYWNlbWVudERyb3Bkb3duLFxuICBnZXRDb29yZGluYXRlcyxcbn0gZnJvbSBcIkBkZXNpZ24tc3lzdGVtLXJ0ZS9jb3JlL2NvbXBvbmVudHMvdXRpbHMvYXV0by1wbGFjZW1lbnRcIjtcbmltcG9ydCB7IEFSUk9XX0RPV05fS0VZLCBFTlRFUl9LRVksIFNQQUNFX0tFWSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb25zdGFudHMva2V5Ym9hcmQva2V5Ym9hcmQuY29uc3RhbnRzXCI7XG5cbmltcG9ydCB7IERyb3Bkb3duU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9kcm9wZG93bi5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBPdmVybGF5U2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9vdmVybGF5LnNlcnZpY2VcIjtcblxuaW1wb3J0IHsgRHJvcGRvd25NZW51Q29tcG9uZW50IH0gZnJvbSBcIi4vZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRHJvcGRvd25UcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSBcIi4vZHJvcGRvd24tdHJpZ2dlci9kcm9wZG93bi10cmlnZ2VyLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgZm9jdXNEcm9wZG93bkZpcnN0RWxlbWVudCB9IGZyb20gXCIuL2Ryb3Bkb3duLnV0aWxzXCI7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogXCJbcnRlRHJvcGRvd25dXCIsXG4gIGhvc3Q6IHtcbiAgICBcIltjbGFzcy5kcm9wZG93bl1cIjogXCJ0cnVlXCIsXG4gICAgXCJbYXR0ci5kYXRhLWRyb3Bkb3duLWlkXVwiOiBcImRyb3Bkb3duSWRcIixcbiAgfSxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbn0pXG5leHBvcnQgY2xhc3MgRHJvcGRvd25EaXJlY3RpdmUgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIHN0YXRpYyBpZENvdW50ZXIgPSAwO1xuXG4gIHJlYWRvbmx5IHRyaWdnZXIgPSBjb250ZW50Q2hpbGQoRHJvcGRvd25UcmlnZ2VyRGlyZWN0aXZlKTtcbiAgcmVhZG9ubHkgbWVudSA9IGNvbnRlbnRDaGlsZChEcm9wZG93bk1lbnVDb21wb25lbnQpO1xuXG4gIHJlYWRvbmx5IHJ0ZURyb3Bkb3duSWQgPSBpbnB1dDxzdHJpbmcgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IHJ0ZURyb3Bkb3duUG9zaXRpb24gPSBpbnB1dDxQb3NpdGlvbj4oXCJib3R0b21cIik7XG4gIHJlYWRvbmx5IHJ0ZURyb3Bkb3duQWxpZ25tZW50ID0gaW5wdXQ8QWxpZ25tZW50PihcInN0YXJ0XCIpO1xuICByZWFkb25seSBydGVEcm9wZG93bklzT3BlbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcbiAgcmVhZG9ubHkgcnRlRHJvcGRvd25PZmZzZXQgPSBpbnB1dDxudW1iZXI+KDApO1xuICByZWFkb25seSBydGVEcm9wZG93bkF1dG9mb2N1cyA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICByZWFkb25seSBydGVEcm9wZG93bkF1dG9PcGVuID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XG4gIHJlYWRvbmx5IHJ0ZURyb3Bkb3duV2lkdGggPSBpbnB1dDxudW1iZXIgfCBudWxsPihudWxsKTtcblxuICByZWFkb25seSBtZW51RXZlbnQgPSBvdXRwdXQ8eyBldmVudDogRXZlbnQ7IGlkOiBzdHJpbmcgfT4oKTtcbiAgcmVhZG9ubHkgZHJvcGRvd25JZCA9IGBkcm9wZG93bl8keysrRHJvcGRvd25EaXJlY3RpdmUuaWRDb3VudGVyfWA7XG5cbiAgcmVhZG9ubHkgb3ZlcmxheVNlcnZpY2UgPSBpbmplY3QoT3ZlcmxheVNlcnZpY2UpO1xuICByZWFkb25seSBkcm9wZG93blNlcnZpY2UgPSBpbmplY3QoRHJvcGRvd25TZXJ2aWNlKTtcbiAgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcbiAgcmVhZG9ubHkgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcbiAgcmVhZG9ubHkgcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcbiAgcmVhZG9ubHkgaG9zdEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuICByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gIHJlYWRvbmx5IGNsaWNrZWRPdXRzaWRlID0gb3V0cHV0PHZvaWQ+KCk7XG4gIHJlYWRvbmx5IGNsb3NlZERyb3Bkb3duID0gb3V0cHV0PHZvaWQ+KCk7XG5cbiAgcmVhZG9ubHkgaXNBY3RpdmUgPSBzaWduYWwoZmFsc2UpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuaG9zdEVsZW1lbnQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBpc09wZW4gPSB0aGlzLnJ0ZURyb3Bkb3duSXNPcGVuKCk7XG4gICAgICBpZiAoaXNPcGVuKSB7XG4gICAgICAgIGlmICghdGhpcy5kcm9wZG93bk1lbnVSZWYpIHtcbiAgICAgICAgICB0aGlzLnNob3dEcm9wZG93bk1lbnUoKTtcbiAgICAgICAgICBpZiAodGhpcy5ydGVEcm9wZG93bkF1dG9mb2N1cygpKSB7XG4gICAgICAgICAgICB3YWl0Rm9yTmV4dEZyYW1lKCgpID0+IGZvY3VzRHJvcGRvd25GaXJzdEVsZW1lbnQodGhpcy5kcm9wZG93bklkKSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuZHJvcGRvd25NZW51UmVmKSB7XG4gICAgICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLmNsb3NlQWxsTWVudXMoKTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIGVmZmVjdCgoKSA9PiB7XG4gICAgICBjb25zdCBtZW51ID0gdGhpcy5tZW51KCk7XG4gICAgICBpZiAodGhpcy5kcm9wZG93bk1lbnVSZWYgJiYgbWVudSkge1xuICAgICAgICB0aGlzLmFzc2lnbkl0ZW1zKCk7XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBlZmZlY3QoKCkgPT4gdGhpcy5hc3NpZ25XaWR0aCgpKTtcbiAgfVxuXG4gIGRyb3Bkb3duTWVudVJlZjogQ29tcG9uZW50UmVmPERyb3Bkb3duTWVudUNvbXBvbmVudD4gfCBudWxsID0gbnVsbDtcblxuICBvblRyaWdnZXIoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMucnRlRHJvcGRvd25BdXRvT3BlbigpKSB7XG4gICAgICB0aGlzLnNob3dEcm9wZG93bk1lbnUoKTtcbiAgICB9XG4gICAgaWYgKHRoaXMucnRlRHJvcGRvd25BdXRvZm9jdXMoKSkge1xuICAgICAgd2FpdEZvck5leHRGcmFtZSgoKSA9PiBmb2N1c0Ryb3Bkb3duRmlyc3RFbGVtZW50KHRoaXMuZHJvcGRvd25JZCkpO1xuICAgIH1cbiAgfVxuXG4gIG9uVHJpZ2dlcktleUV2ZW50KGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgaWYgKFxuICAgICAgZXZlbnQua2V5ID09PSBTUEFDRV9LRVkgfHxcbiAgICAgIGV2ZW50LmtleSA9PT0gRU5URVJfS0VZIHx8XG4gICAgICAoZXZlbnQua2V5ID09PSBBUlJPV19ET1dOX0tFWSAmJiB0aGlzLnRyaWdnZXIoKT8ucnRlRHJvcGRvd25UcmlnZ2VyQWN0aXZhdGVXaXRoQXJyb3dEb3duKCkpXG4gICAgKSB7XG4gICAgICB0aGlzLnNob3dEcm9wZG93bk1lbnUoKTtcbiAgICAgIGlmICh0aGlzLnJ0ZURyb3Bkb3duQXV0b2ZvY3VzKCkpIHtcbiAgICAgICAgd2FpdEZvck5leHRGcmFtZSgoKSA9PiBmb2N1c0Ryb3Bkb3duRmlyc3RFbGVtZW50KHRoaXMuZHJvcGRvd25JZCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG9uTWVudUV2ZW50KGV2ZW50OiB7IGV2ZW50OiBFdmVudDsgaWQ6IHN0cmluZyB9KTogdm9pZCB7XG4gICAgdGhpcy5tZW51RXZlbnQuZW1pdChldmVudCk7XG4gICAgdGhpcy5pc0FjdGl2ZS5zZXQoZmFsc2UpO1xuICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLmNsb3NlQWxsTWVudXMoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy50cmlnZ2VyKCkpIHtcbiAgICAgIHRoaXMudHJpZ2dlcigpPy5kcm9wZG93blRyaWdnZXJlZC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLm9uVHJpZ2dlcigpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudHJpZ2dlcigpPy5kcm9wZG93bktleURvd24uc3Vic2NyaWJlKChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgICB0aGlzLm9uVHJpZ2dlcktleUV2ZW50KGV2ZW50KTtcbiAgICAgIH0pO1xuXG4gICAgICB0aGlzLnRyaWdnZXIoKT8uZHJvcGRvd25UcmlnZ2VyQ2xlYXJDb250ZW50LnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnRyaWdnZXIoKT8uZHJvcGRvd25UcmlnZ2VyT3BlbkRyb3Bkb3duLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duTWVudSgpO1xuICAgICAgfSk7XG4gICAgICB0aGlzLnRyaWdnZXIoKT8uZHJvcGRvd25UcmlnZ2VyQ2xvc2VEcm9wZG93bi5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLmNsb3NlRHJvcGRvd24oKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHNob3dEcm9wZG93bk1lbnUoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZHJvcGRvd25NZW51UmVmKSB7XG4gICAgICB0aGlzLmRyb3Bkb3duTWVudVJlZi5kZXN0cm95KCk7XG4gICAgfVxuXG4gICAgdGhpcy5kcm9wZG93bk1lbnVSZWYgPSB0aGlzLm92ZXJsYXlTZXJ2aWNlLmNyZWF0ZShEcm9wZG93bk1lbnVDb21wb25lbnQsIHRoaXMudmlld0NvbnRhaW5lclJlZik7XG5cbiAgICBjb25zdCBtZW51SWQgPSB0aGlzLnJ0ZURyb3Bkb3duSWQoKSB8fCB0aGlzLmRyb3Bkb3duSWQ7XG5cbiAgICB0aGlzLmRyb3Bkb3duTWVudVJlZi5zZXRJbnB1dChcIm1lbnVJZFwiLCBtZW51SWQpO1xuXG4gICAgdGhpcy5kcm9wZG93blNlcnZpY2Uub3Blbk1lbnUobWVudUlkKTtcblxuICAgIHRoaXMuYXNzaWduSXRlbXMoKTtcbiAgICB0aGlzLmFzc2lnbldpZHRoKCk7XG4gICAgdGhpcy5wb3NpdGlvbkRyb3Bkb3duTWVudSh0aGlzLnJ0ZURyb3Bkb3duUG9zaXRpb24oKSk7XG4gICAgdGhpcy5hZGRDbGlja091dHNpZGVMaXN0ZW5lcigpO1xuXG4gICAgdGhpcy5kcm9wZG93bk1lbnVSZWYuaW5zdGFuY2UuaXRlbUV2ZW50LnN1YnNjcmliZSgoZXZlbnQ6IHsgZXZlbnQ6IEV2ZW50OyBpZDogc3RyaW5nIH0pID0+IHtcbiAgICAgIHRoaXMub25NZW51RXZlbnQoZXZlbnQpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgZHJvcGRvd25TdGF0ZVN1YnNjcmlwdGlvbiA9IHRoaXMuZHJvcGRvd25TZXJ2aWNlLnN0YXRlJC5zdWJzY3JpYmUoKHN0YXRlKSA9PiB7XG4gICAgICBpZiAoc3RhdGUgPT09IG51bGwpIHtcbiAgICAgICAgaWYgKHRoaXMuZHJvcGRvd25NZW51UmVmKSB7XG4gICAgICAgICAgdGhpcy5kcm9wZG93bk1lbnVSZWYuZGVzdHJveSgpO1xuICAgICAgICAgIHRoaXMuZHJvcGRvd25NZW51UmVmID0gbnVsbDtcblxuICAgICAgICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcbiAgICAgICAgICBkcm9wZG93blN0YXRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuZGVzdHJveVJlZi5vbkRlc3Ryb3koKCkgPT4gZHJvcGRvd25TdGF0ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXNzaWduSXRlbXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZHJvcGRvd25NZW51UmVmKSB7XG4gICAgICBjb25zdCBpdGVtcyA9IHRoaXMubWVudSgpPy5pdGVtcygpID8/IFtdO1xuICAgICAgdGhpcy5kcm9wZG93bk1lbnVSZWYuc2V0SW5wdXQoXCJpdGVtc1wiLCBpdGVtcyk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3NpZ25XaWR0aCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcm9wZG93bk1lbnVSZWYgJiYgdGhpcy5ydGVEcm9wZG93bldpZHRoKCkgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5kcm9wZG93bk1lbnVSZWYuc2V0SW5wdXQoXCJ3aWR0aFwiLCB0aGlzLnJ0ZURyb3Bkb3duV2lkdGgoKSk7XG5cbiAgICAgIHdhaXRGb3JOZXh0RnJhbWUoKCkgPT4gdGhpcy5kcm9wZG93bk1lbnVSZWY/LnNldElucHV0KFwiaXNPcGVuXCIsIHRydWUpKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHBvc2l0aW9uRHJvcGRvd25NZW51KHBvc2l0aW9uOiBQb3NpdGlvbiA9IFwiYm90dG9tXCIpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcm9wZG93bk1lbnVSZWYgJiYgdGhpcy50cmlnZ2VyKCkpIHtcbiAgICAgIGNvbnN0IGRyb3Bkb3duTWVudUVsZW1lbnQgPSB0aGlzLmRyb3Bkb3duTWVudVJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50O1xuICAgICAgY29uc3QgdHJpZ2dlckVsZW1lbnQgPSB0aGlzLnRyaWdnZXIoKT8uZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgICBpZiAodHJpZ2dlckVsZW1lbnQpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCBcImRpc3BsYXlcIiwgXCJibG9ja1wiKTtcbiAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICBjb25zdCBjb21wdXRlZFBvc2l0aW9uOiBFeGNsdWRlPFBvc2l0aW9uLCBcImF1dG9cIj4gPVxuICAgICAgICAgIHBvc2l0aW9uID09PSBcImF1dG9cIiA/IGdldEF1dG9QbGFjZW1lbnREcm9wZG93bih0cmlnZ2VyRWxlbWVudCwgZHJvcGRvd25NZW51RWxlbWVudCwgXCJib3R0b21cIikgOiBwb3NpdGlvbjtcbiAgICAgICAgY29uc3QgYXV0b0FsaWdubWVudCA9XG4gICAgICAgICAgdGhpcy5ydGVEcm9wZG93bkFsaWdubWVudCgpID8/IGdldEF1dG9BbGlnbm1lbnQodHJpZ2dlckVsZW1lbnQsIGRyb3Bkb3duTWVudUVsZW1lbnQsIGNvbXB1dGVkUG9zaXRpb24pO1xuICAgICAgICBjb25zdCBjb21wdXRlZENvb3JkaW5hdGVzID0gZ2V0Q29vcmRpbmF0ZXMoXG4gICAgICAgICAgY29tcHV0ZWRQb3NpdGlvbixcbiAgICAgICAgICB0cmlnZ2VyRWxlbWVudCxcbiAgICAgICAgICBkcm9wZG93bk1lbnVFbGVtZW50LmNoaWxkcmVuWzBdLFxuICAgICAgICAgIHRoaXMucnRlRHJvcGRvd25PZmZzZXQoKSxcbiAgICAgICAgICBhdXRvQWxpZ25tZW50LFxuICAgICAgICApO1xuXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZHJvcGRvd25NZW51RWxlbWVudCwgXCJ0b3BcIiwgYCR7Y29tcHV0ZWRDb29yZGluYXRlcy50b3B9cHhgKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCBcImxlZnRcIiwgYCR7Y29tcHV0ZWRDb29yZGluYXRlcy5sZWZ0fXB4YCk7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCBcIm9wYWNpdHlcIiwgXCIxXCIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMucmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTtcbiAgICBpZiAodGhpcy5kcm9wZG93bk1lbnVSZWYpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25NZW51UmVmLmRlc3Ryb3koKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJlYWRvbmx5IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCk6IHZvaWQgPT4ge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBFbGVtZW50O1xuXG4gICAgY29uc3QgaXNNZW51SXRlbUNsaWNrID0gdGFyZ2V0LmNsb3Nlc3QoXCIucnRlLWRyb3Bkb3duLWl0ZW1cIikgIT09IG51bGw7XG4gICAgaWYgKGlzTWVudUl0ZW1DbGljaykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IGNsaWNrZWRJblRyaWdnZXIgPSB0aGlzLmhvc3RFbGVtZW50LmNvbnRhaW5zKHRhcmdldCk7XG5cbiAgICBpZiAoIWNsaWNrZWRJblRyaWdnZXIpIHtcbiAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgdGhpcy5jbGlja2VkT3V0c2lkZS5lbWl0KCk7XG4gICAgfVxuICB9O1xuXG4gIHByaXZhdGUgYWRkQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUNsaWNrT3V0c2lkZUxpc3RlbmVyKCk6IHZvaWQge1xuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJtb3VzZWRvd25cIiwgdGhpcy5oYW5kbGVDbGlja091dHNpZGUpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZURyb3Bkb3duKCk6IHZvaWQge1xuICAgIHRoaXMuZHJvcGRvd25NZW51UmVmPy5zZXRJbnB1dChcImlzT3BlblwiLCBmYWxzZSk7XG4gICAgdGhpcy5pc0FjdGl2ZS5zZXQoZmFsc2UpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmRyb3Bkb3duU2VydmljZS5jbG9zZUFsbE1lbnVzKCk7XG4gICAgfSwgRFJPUERPV05fQU5JTUFUSU9OX0RVUkFUSU9OKTtcbiAgfVxufVxuIl19
|
|
224
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxpQkFBaUIsRUFFakIsUUFBUSxFQUNSLFlBQVksRUFDWixVQUFVLEVBQ1YsU0FBUyxFQUNULE1BQU0sRUFDTixVQUFVLEVBQ1YsTUFBTSxFQUNOLEtBQUssRUFFTCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixnQkFBZ0IsR0FDakIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMENBQTBDLENBQUM7QUFHNUUsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDN0csT0FBTyxFQUNMLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIsY0FBYyxHQUNmLE1BQU0seURBQXlELENBQUM7QUFDakUsT0FBTyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0RBQStELENBQUM7QUFFckgsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUVoRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQ0FBK0MsQ0FBQztBQUN6RixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQzs7QUFVN0QsTUFBTSxPQUFPLGlCQUFpQjthQUNiLGNBQVMsR0FBRyxDQUFDLEFBQUosQ0FBSztJQTRDN0I7UUExQ1MsWUFBTyxHQUFHLFlBQVksQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FB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Q25CLElBQUksQ0FBQyxlQUFlLEVBQUUsUUFBUSxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNoRCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUV6QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUN2QyxDQUFDLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUNsQyxDQUFDOytHQTFQVSxpQkFBaUI7bUdBQWpCLGlCQUFpQiw2aURBR0ksd0JBQXdCLHVGQUMzQixxQkFBcUI7OzRGQUp2QyxpQkFBaUI7a0JBUjdCLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGVBQWU7b0JBQ3pCLElBQUksRUFBRTt3QkFDSixrQkFBa0IsRUFBRSxNQUFNO3dCQUMxQix5QkFBeUIsRUFBRSxZQUFZO3FCQUN4QztvQkFDRCxVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50UmVmLFxuICBjb21wdXRlZCxcbiAgY29udGVudENoaWxkLFxuICBEZXN0cm95UmVmLFxuICBEaXJlY3RpdmUsXG4gIGVmZmVjdCxcbiAgRWxlbWVudFJlZixcbiAgaW5qZWN0LFxuICBpbnB1dCxcbiAgT25EZXN0cm95LFxuICBvdXRwdXQsXG4gIFJlbmRlcmVyMixcbiAgc2lnbmFsLFxuICBWaWV3Q29udGFpbmVyUmVmLFxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgd2FpdEZvck5leHRGcmFtZSB9IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21tb24vYW5pbWF0aW9uXCI7XG5pbXBvcnQgeyBBbGlnbm1lbnQgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tbW9uL2NvbW1vbi10eXBlc1wiO1xuaW1wb3J0IHsgUG9zaXRpb24gfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9jb21tb24vY29tbW9uLXR5cGVzXCI7XG5pbXBvcnQgeyBEUk9QRE9XTl9BTklNQVRJT05fRFVSQVRJT04gfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29tcG9uZW50cy9kcm9wZG93bi9kcm9wZG93bi5jb25zdGFudHNcIjtcbmltcG9ydCB7XG4gIGdldEF1dG9BbGlnbm1lbnQsXG4gIGdldEF1dG9QbGFjZW1lbnREcm9wZG93bixcbiAgZ2V0Q29vcmRpbmF0ZXMsXG59IGZyb20gXCJAZGVzaWduLXN5c3RlbS1ydGUvY29yZS9jb21wb25lbnRzL3V0aWxzL2F1dG8tcGxhY2VtZW50XCI7XG5pbXBvcnQgeyBBUlJPV19ET1dOX0tFWSwgRU5URVJfS0VZLCBTUEFDRV9LRVkgfSBmcm9tIFwiQGRlc2lnbi1zeXN0ZW0tcnRlL2NvcmUvY29uc3RhbnRzL2tleWJvYXJkL2tleWJvYXJkLmNvbnN0YW50c1wiO1xuXG5pbXBvcnQgeyBEcm9wZG93blNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZHJvcGRvd24uc2VydmljZVwiO1xuaW1wb3J0IHsgT3ZlcmxheVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvb3ZlcmxheS5zZXJ2aWNlXCI7XG5cbmltcG9ydCB7IERyb3Bkb3duTWVudUNvbXBvbmVudCB9IGZyb20gXCIuL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS5jb21wb25lbnRcIjtcbmltcG9ydCB7IERyb3Bkb3duVHJpZ2dlckRpcmVjdGl2ZSB9IGZyb20gXCIuL2Ryb3Bkb3duLXRyaWdnZXIvZHJvcGRvd24tdHJpZ2dlci5kaXJlY3RpdmVcIjtcbmltcG9ydCB7IGZvY3VzRHJvcGRvd25GaXJzdEVsZW1lbnQgfSBmcm9tIFwiLi9kcm9wZG93bi51dGlsc1wiO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6IFwiW3J0ZURyb3Bkb3duXVwiLFxuICBob3N0OiB7XG4gICAgXCJbY2xhc3MuZHJvcGRvd25dXCI6IFwidHJ1ZVwiLFxuICAgIFwiW2F0dHIuZGF0YS1kcm9wZG93bi1pZF1cIjogXCJkcm9wZG93bklkXCIsXG4gIH0sXG4gIHN0YW5kYWxvbmU6IHRydWUsXG59KVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBzdGF0aWMgaWRDb3VudGVyID0gMDtcblxuICByZWFkb25seSB0cmlnZ2VyID0gY29udGVudENoaWxkKERyb3Bkb3duVHJpZ2dlckRpcmVjdGl2ZSk7XG4gIHJlYWRvbmx5IG1lbnUgPSBjb250ZW50Q2hpbGQoRHJvcGRvd25NZW51Q29tcG9uZW50KTtcblxuICByZWFkb25seSBydGVEcm9wZG93bklkID0gaW5wdXQ8c3RyaW5nIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBydGVEcm9wZG93blBvc2l0aW9uID0gaW5wdXQ8UG9zaXRpb24+KFwiYm90dG9tXCIpO1xuICByZWFkb25seSBydGVEcm9wZG93bkFsaWdubWVudCA9IGlucHV0PEFsaWdubWVudD4oXCJzdGFydFwiKTtcbiAgcmVhZG9ubHkgcnRlRHJvcGRvd25Jc09wZW4gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XG4gIHJlYWRvbmx5IHJ0ZURyb3Bkb3duT2Zmc2V0ID0gaW5wdXQ8bnVtYmVyPigwKTtcbiAgcmVhZG9ubHkgcnRlRHJvcGRvd25BdXRvZm9jdXMgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcbiAgcmVhZG9ubHkgcnRlRHJvcGRvd25BdXRvT3BlbiA9IGlucHV0PGJvb2xlYW4+KHRydWUpO1xuICByZWFkb25seSBydGVEcm9wZG93bldpZHRoID0gaW5wdXQ8bnVtYmVyIHwgbnVsbD4obnVsbCk7XG5cbiAgcmVhZG9ubHkgbWVudUV2ZW50ID0gb3V0cHV0PHsgZXZlbnQ6IEV2ZW50OyBpZDogc3RyaW5nIH0+KCk7XG4gIHJlYWRvbmx5IGRyb3Bkb3duSWQgPSBgZHJvcGRvd25fJHsrK0Ryb3Bkb3duRGlyZWN0aXZlLmlkQ291bnRlcn1gO1xuXG4gIHJlYWRvbmx5IG92ZXJsYXlTZXJ2aWNlID0gaW5qZWN0KE92ZXJsYXlTZXJ2aWNlKTtcbiAgcmVhZG9ubHkgZHJvcGRvd25TZXJ2aWNlID0gaW5qZWN0KERyb3Bkb3duU2VydmljZSk7XG4gIHJlYWRvbmx5IHZpZXdDb250YWluZXJSZWYgPSBpbmplY3QoVmlld0NvbnRhaW5lclJlZik7XG4gIHJlYWRvbmx5IGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG4gIHJlYWRvbmx5IHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XG4gIHJlYWRvbmx5IGhvc3RFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgcmVhZG9ubHkgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcbiAgcmVhZG9ubHkgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcblxuICByZWFkb25seSBjbGlja2VkT3V0c2lkZSA9IG91dHB1dDx2b2lkPigpO1xuICByZWFkb25seSBjbG9zZWREcm9wZG93biA9IG91dHB1dDx2b2lkPigpO1xuXG4gIHJlYWRvbmx5IGlzQWN0aXZlID0gc2lnbmFsKGZhbHNlKTtcblxuICByZWFkb25seSBtZW51SW5wdXRzID0gY29tcHV0ZWQoKCkgPT4ge1xuICAgIGNvbnN0IG1lbnUgPSB0aGlzLm1lbnUoKTtcbiAgICBpZiAoIW1lbnUpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICByZXR1cm4ge1xuICAgICAgaXRlbXM6IG1lbnUuaXRlbXMoKSxcbiAgICAgIGhlYWRlclRlbXBsYXRlOiBtZW51LmhlYWRlckRpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZixcbiAgICAgIGZvb3RlclRlbXBsYXRlOiBtZW51LmZvb3RlckRpcmVjdGl2ZSgpPy50ZW1wbGF0ZVJlZixcbiAgICAgIHdpZHRoOiBtZW51LndpZHRoKCksXG4gICAgfTtcbiAgfSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5ob3N0RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50O1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGlzT3BlbiA9IHRoaXMucnRlRHJvcGRvd25Jc09wZW4oKTtcbiAgICAgIGlmIChpc09wZW4pIHtcbiAgICAgICAgaWYgKCF0aGlzLmRyb3Bkb3duTWVudVJlZikge1xuICAgICAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duTWVudSgpO1xuICAgICAgICAgIGlmICh0aGlzLnJ0ZURyb3Bkb3duQXV0b2ZvY3VzKCkpIHtcbiAgICAgICAgICAgIHdhaXRGb3JOZXh0RnJhbWUoKCkgPT4gZm9jdXNEcm9wZG93bkZpcnN0RWxlbWVudCh0aGlzLmRyb3Bkb3duSWQpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAodGhpcy5kcm9wZG93bk1lbnVSZWYpIHtcbiAgICAgICAgdGhpcy5kcm9wZG93blNlcnZpY2UuY2xvc2VBbGxNZW51cygpO1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgZWZmZWN0KCgpID0+IHtcbiAgICAgIGNvbnN0IGlucHV0cyA9IHRoaXMubWVudUlucHV0cygpO1xuICAgICAgaWYgKHRoaXMuZHJvcGRvd25NZW51UmVmICYmIGlucHV0cykge1xuICAgICAgICB0aGlzLmFzc2lnbklucHV0cygpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgZHJvcGRvd25NZW51UmVmOiBDb21wb25lbnRSZWY8RHJvcGRvd25NZW51Q29tcG9uZW50PiB8IG51bGwgPSBudWxsO1xuXG4gIG9uVHJpZ2dlcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ydGVEcm9wZG93bkF1dG9PcGVuKCkpIHtcbiAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duTWVudSgpO1xuICAgIH1cbiAgICBpZiAodGhpcy5ydGVEcm9wZG93bkF1dG9mb2N1cygpKSB7XG4gICAgICB3YWl0Rm9yTmV4dEZyYW1lKCgpID0+IGZvY3VzRHJvcGRvd25GaXJzdEVsZW1lbnQodGhpcy5kcm9wZG93bklkKSk7XG4gICAgfVxuICB9XG5cbiAgb25UcmlnZ2VyS2V5RXZlbnQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBldmVudC5rZXkgPT09IFNQQUNFX0tFWSB8fFxuICAgICAgZXZlbnQua2V5ID09PSBFTlRFUl9LRVkgfHxcbiAgICAgIChldmVudC5rZXkgPT09IEFSUk9XX0RPV05fS0VZICYmIHRoaXMudHJpZ2dlcigpPy5ydGVEcm9wZG93blRyaWdnZXJBY3RpdmF0ZVdpdGhBcnJvd0Rvd24oKSlcbiAgICApIHtcbiAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duTWVudSgpO1xuICAgICAgaWYgKHRoaXMucnRlRHJvcGRvd25BdXRvZm9jdXMoKSkge1xuICAgICAgICB3YWl0Rm9yTmV4dEZyYW1lKCgpID0+IGZvY3VzRHJvcGRvd25GaXJzdEVsZW1lbnQodGhpcy5kcm9wZG93bklkKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgb25NZW51RXZlbnQoZXZlbnQ6IHsgZXZlbnQ6IEV2ZW50OyBpZDogc3RyaW5nIH0pOiB2b2lkIHtcbiAgICB0aGlzLm1lbnVFdmVudC5lbWl0KGV2ZW50KTtcbiAgICB0aGlzLmlzQWN0aXZlLnNldChmYWxzZSk7XG4gICAgdGhpcy5kcm9wZG93blNlcnZpY2UuY2xvc2VBbGxNZW51cygpO1xuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnRyaWdnZXIoKSkge1xuICAgICAgdGhpcy50cmlnZ2VyKCk/LmRyb3Bkb3duVHJpZ2dlcmVkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMub25UcmlnZ2VyKCk7XG4gICAgICB9KTtcblxuICAgICAgdGhpcy50cmlnZ2VyKCk/LmRyb3Bkb3duS2V5RG93bi5zdWJzY3JpYmUoKGV2ZW50OiBLZXlib2FyZEV2ZW50KSA9PiB7XG4gICAgICAgIHRoaXMub25UcmlnZ2VyS2V5RXZlbnQoZXZlbnQpO1xuICAgICAgfSk7XG5cbiAgICAgIHRoaXMudHJpZ2dlcigpPy5kcm9wZG93blRyaWdnZXJDbGVhckNvbnRlbnQuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMudHJpZ2dlcigpPy5kcm9wZG93blRyaWdnZXJPcGVuRHJvcGRvd24uc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgdGhpcy5zaG93RHJvcGRvd25NZW51KCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMudHJpZ2dlcigpPy5kcm9wZG93blRyaWdnZXJDbG9zZURyb3Bkb3duLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIHRoaXMuY2xvc2VEcm9wZG93bigpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgc2hvd0Ryb3Bkb3duTWVudSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kcm9wZG93bk1lbnVSZWYpIHtcbiAgICAgIHRoaXMuZHJvcGRvd25NZW51UmVmLmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICB0aGlzLmRyb3Bkb3duTWVudVJlZiA9IHRoaXMub3ZlcmxheVNlcnZpY2UuY3JlYXRlKERyb3Bkb3duTWVudUNvbXBvbmVudCwgdGhpcy52aWV3Q29udGFpbmVyUmVmKTtcblxuICAgIGNvbnN0IG1lbnVJZCA9IHRoaXMucnRlRHJvcGRvd25JZCgpIHx8IHRoaXMuZHJvcGRvd25JZDtcblxuICAgIHRoaXMuZHJvcGRvd25NZW51UmVmLnNldElucHV0KFwibWVudUlkXCIsIG1lbnVJZCk7XG5cbiAgICB0aGlzLmRyb3Bkb3duU2VydmljZS5vcGVuTWVudShtZW51SWQpO1xuXG4gICAgdGhpcy5hc3NpZ25JbnB1dHMoKTtcbiAgICB0aGlzLnBvc2l0aW9uRHJvcGRvd25NZW51KHRoaXMucnRlRHJvcGRvd25Qb3NpdGlvbigpKTtcbiAgICB0aGlzLmFkZENsaWNrT3V0c2lkZUxpc3RlbmVyKCk7XG5cbiAgICB0aGlzLmRyb3Bkb3duTWVudVJlZi5pbnN0YW5jZS5pdGVtRXZlbnQuc3Vic2NyaWJlKChldmVudDogeyBldmVudDogRXZlbnQ7IGlkOiBzdHJpbmcgfSkgPT4ge1xuICAgICAgdGhpcy5vbk1lbnVFdmVudChldmVudCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCBkcm9wZG93blN0YXRlU3Vic2NyaXB0aW9uID0gdGhpcy5kcm9wZG93blNlcnZpY2Uuc3RhdGUkLnN1YnNjcmliZSgoc3RhdGUpID0+IHtcbiAgICAgIGlmIChzdGF0ZSA9PT0gbnVsbCkge1xuICAgICAgICBpZiAodGhpcy5kcm9wZG93bk1lbnVSZWYpIHtcbiAgICAgICAgICB0aGlzLmRyb3Bkb3duTWVudVJlZi5kZXN0cm95KCk7XG4gICAgICAgICAgdGhpcy5kcm9wZG93bk1lbnVSZWYgPSBudWxsO1xuXG4gICAgICAgICAgdGhpcy5yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xuICAgICAgICAgIGRyb3Bkb3duU3RhdGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgdGhpcy5kZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiBkcm9wZG93blN0YXRlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3NpZ25JbnB1dHMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZHJvcGRvd25NZW51UmVmKSB7XG4gICAgICBjb25zdCBpdGVtcyA9IHRoaXMubWVudSgpPy5pdGVtcygpID8/IFtdO1xuICAgICAgdGhpcy5kcm9wZG93bk1lbnVSZWYuc2V0SW5wdXQoXCJpdGVtc1wiLCBpdGVtcyk7XG4gICAgICB0aGlzLmRyb3Bkb3duTWVudVJlZi5zZXRJbnB1dChcImhlYWRlclRlbXBsYXRlXCIsIHRoaXMubWVudSgpPy5oZWFkZXJEaXJlY3RpdmUoKT8udGVtcGxhdGVSZWYpO1xuICAgICAgdGhpcy5kcm9wZG93bk1lbnVSZWYuc2V0SW5wdXQoXCJmb290ZXJUZW1wbGF0ZVwiLCB0aGlzLm1lbnUoKT8uZm9vdGVyRGlyZWN0aXZlKCk/LnRlbXBsYXRlUmVmKTtcbiAgICB9XG5cbiAgICB0aGlzLmFzc2lnbldpZHRoKCk7XG4gIH1cblxuICBwcml2YXRlIGFzc2lnbldpZHRoKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kcm9wZG93bk1lbnVSZWYpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCB3aWR0aCA9IHRoaXMubWVudUlucHV0cygpPy53aWR0aCA/PyB0aGlzLnJ0ZURyb3Bkb3duV2lkdGgoKTtcbiAgICBpZiAod2lkdGggIT09IHVuZGVmaW5lZCAmJiB3aWR0aCAhPT0gbnVsbCkge1xuICAgICAgdGhpcy5kcm9wZG93bk1lbnVSZWYuc2V0SW5wdXQoXCJ3aWR0aFwiLCB3aWR0aCk7XG4gICAgICB3YWl0Rm9yTmV4dEZyYW1lKCgpID0+IHRoaXMuZHJvcGRvd25NZW51UmVmPy5zZXRJbnB1dChcImlzT3BlblwiLCB0cnVlKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZHJvcGRvd25NZW51UmVmLnNldElucHV0KFwiaXNPcGVuXCIsIHRydWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcG9zaXRpb25Ecm9wZG93bk1lbnUocG9zaXRpb246IFBvc2l0aW9uID0gXCJib3R0b21cIik6IHZvaWQge1xuICAgIGlmICh0aGlzLmRyb3Bkb3duTWVudVJlZiAmJiB0aGlzLnRyaWdnZXIoKSkge1xuICAgICAgY29uc3QgZHJvcGRvd25NZW51RWxlbWVudCA9IHRoaXMuZHJvcGRvd25NZW51UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICBjb25zdCB0cmlnZ2VyRWxlbWVudCA9IHRoaXMudHJpZ2dlcigpPy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgIGlmICh0cmlnZ2VyRWxlbWVudCkge1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsIFwiZGlzcGxheVwiLCBcImJsb2NrXCIpO1xuICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIGNvbnN0IGNvbXB1dGVkUG9zaXRpb246IEV4Y2x1ZGU8UG9zaXRpb24sIFwiYXV0b1wiPiA9XG4gICAgICAgICAgcG9zaXRpb24gPT09IFwiYXV0b1wiID8gZ2V0QXV0b1BsYWNlbWVudERyb3Bkb3duKHRyaWdnZXJFbGVtZW50LCBkcm9wZG93bk1lbnVFbGVtZW50LCBcImJvdHRvbVwiKSA6IHBvc2l0aW9uO1xuICAgICAgICBjb25zdCBhdXRvQWxpZ25tZW50ID1cbiAgICAgICAgICB0aGlzLnJ0ZURyb3Bkb3duQWxpZ25tZW50KCkgPz8gZ2V0QXV0b0FsaWdubWVudCh0cmlnZ2VyRWxlbWVudCwgZHJvcGRvd25NZW51RWxlbWVudCwgY29tcHV0ZWRQb3NpdGlvbik7XG4gICAgICAgIGNvbnN0IGNvbXB1dGVkQ29vcmRpbmF0ZXMgPSBnZXRDb29yZGluYXRlcyhcbiAgICAgICAgICBjb21wdXRlZFBvc2l0aW9uLFxuICAgICAgICAgIHRyaWdnZXJFbGVtZW50LFxuICAgICAgICAgIGRyb3Bkb3duTWVudUVsZW1lbnQuY2hpbGRyZW5bMF0sXG4gICAgICAgICAgdGhpcy5ydGVEcm9wZG93bk9mZnNldCgpLFxuICAgICAgICAgIGF1dG9BbGlnbm1lbnQsXG4gICAgICAgICk7XG5cbiAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShkcm9wZG93bk1lbnVFbGVtZW50LCBcInRvcFwiLCBgJHtjb21wdXRlZENvb3JkaW5hdGVzLnRvcH1weGApO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsIFwibGVmdFwiLCBgJHtjb21wdXRlZENvb3JkaW5hdGVzLmxlZnR9cHhgKTtcblxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKGRyb3Bkb3duTWVudUVsZW1lbnQsIFwib3BhY2l0eVwiLCBcIjFcIik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVDbGlja091dHNpZGVMaXN0ZW5lcigpO1xuICAgIGlmICh0aGlzLmRyb3Bkb3duTWVudVJlZikge1xuICAgICAgdGhpcy5kcm9wZG93bk1lbnVSZWYuZGVzdHJveSgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQ7XG5cbiAgICBjb25zdCBpc01lbnVJdGVtQ2xpY2sgPSB0YXJnZXQuY2xvc2VzdChcIi5ydGUtZHJvcGRvd24taXRlbVwiKSAhPT0gbnVsbDtcbiAgICBpZiAoaXNNZW51SXRlbUNsaWNrKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgY2xpY2tlZEluVHJpZ2dlciA9IHRoaXMuaG9zdEVsZW1lbnQuY29udGFpbnModGFyZ2V0KTtcbiAgICBjb25zdCBjbGlja2VkSW5NZW51ID0gdGhpcy5kcm9wZG93bk1lbnVSZWY/LmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQuY29udGFpbnModGFyZ2V0KTtcblxuICAgIGlmICghY2xpY2tlZEluVHJpZ2dlciAmJiAhY2xpY2tlZEluTWVudSkge1xuICAgICAgdGhpcy5jbG9zZURyb3Bkb3duKCk7XG4gICAgICB0aGlzLmNsaWNrZWRPdXRzaWRlLmVtaXQoKTtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBhZGRDbGlja091dHNpZGVMaXN0ZW5lcigpOiB2b2lkIHtcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFwibW91c2Vkb3duXCIsIHRoaXMuaGFuZGxlQ2xpY2tPdXRzaWRlKTtcbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQ2xpY2tPdXRzaWRlTGlzdGVuZXIoKTogdm9pZCB7XG4gICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcihcIm1vdXNlZG93blwiLCB0aGlzLmhhbmRsZUNsaWNrT3V0c2lkZSk7XG4gIH1cblxuICBwcml2YXRlIGNsb3NlRHJvcGRvd24oKTogdm9pZCB7XG4gICAgdGhpcy5kcm9wZG93bk1lbnVSZWY/LnNldElucHV0KFwiaXNPcGVuXCIsIGZhbHNlKTtcbiAgICB0aGlzLmlzQWN0aXZlLnNldChmYWxzZSk7XG5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuZHJvcGRvd25TZXJ2aWNlLmNsb3NlQWxsTWVudXMoKTtcbiAgICB9LCBEUk9QRE9XTl9BTklNQVRJT05fRFVSQVRJT04pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,19 +1,46 @@
|
|
|
1
1
|
import { NgModule } from "@angular/core";
|
|
2
2
|
import { DropdownItemComponent } from "./dropdown-item/dropdown-item.component";
|
|
3
|
+
import { DropdownMenuFooterDirective } from "./dropdown-menu/dropdown-menu-footer.directive";
|
|
4
|
+
import { DropdownMenuHeaderDirective } from "./dropdown-menu/dropdown-menu-header.directive";
|
|
3
5
|
import { DropdownMenuComponent } from "./dropdown-menu/dropdown-menu.component";
|
|
4
6
|
import { DropdownTriggerDirective } from "./dropdown-trigger/dropdown-trigger.directive";
|
|
5
7
|
import { DropdownDirective } from "./dropdown.directive";
|
|
6
8
|
import * as i0 from "@angular/core";
|
|
7
9
|
export class DropdownModule {
|
|
8
10
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
9
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DropdownModule, imports: [DropdownDirective,
|
|
10
|
-
|
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: DropdownModule, imports: [DropdownDirective,
|
|
12
|
+
DropdownTriggerDirective,
|
|
13
|
+
DropdownMenuComponent,
|
|
14
|
+
DropdownItemComponent,
|
|
15
|
+
DropdownMenuHeaderDirective,
|
|
16
|
+
DropdownMenuFooterDirective], exports: [DropdownDirective,
|
|
17
|
+
DropdownTriggerDirective,
|
|
18
|
+
DropdownMenuComponent,
|
|
19
|
+
DropdownItemComponent,
|
|
20
|
+
DropdownMenuHeaderDirective,
|
|
21
|
+
DropdownMenuFooterDirective] }); }
|
|
22
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownModule, imports: [DropdownMenuComponent,
|
|
23
|
+
DropdownItemComponent] }); }
|
|
11
24
|
}
|
|
12
25
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DropdownModule, decorators: [{
|
|
13
26
|
type: NgModule,
|
|
14
27
|
args: [{
|
|
15
|
-
imports: [
|
|
16
|
-
|
|
28
|
+
imports: [
|
|
29
|
+
DropdownDirective,
|
|
30
|
+
DropdownTriggerDirective,
|
|
31
|
+
DropdownMenuComponent,
|
|
32
|
+
DropdownItemComponent,
|
|
33
|
+
DropdownMenuHeaderDirective,
|
|
34
|
+
DropdownMenuFooterDirective,
|
|
35
|
+
],
|
|
36
|
+
exports: [
|
|
37
|
+
DropdownDirective,
|
|
38
|
+
DropdownTriggerDirective,
|
|
39
|
+
DropdownMenuComponent,
|
|
40
|
+
DropdownItemComponent,
|
|
41
|
+
DropdownMenuHeaderDirective,
|
|
42
|
+
DropdownMenuFooterDirective,
|
|
43
|
+
],
|
|
17
44
|
}]
|
|
18
45
|
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHJvcGRvd24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZHMtcnRlLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvZHJvcGRvd24vZHJvcGRvd24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDN0YsT0FBTyxFQUFFLDJCQUEyQixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDN0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDaEYsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sK0NBQStDLENBQUM7QUFDekYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7O0FBb0J6RCxNQUFNLE9BQU8sY0FBYzsrR0FBZCxjQUFjO2dIQUFkLGNBQWMsWUFoQnZCLGlCQUFpQjtZQUNqQix3QkFBd0I7WUFDeEIscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQiwyQkFBMkI7WUFDM0IsMkJBQTJCLGFBRzNCLGlCQUFpQjtZQUNqQix3QkFBd0I7WUFDeEIscUJBQXFCO1lBQ3JCLHFCQUFxQjtZQUNyQiwyQkFBMkI7WUFDM0IsMkJBQTJCO2dIQUdsQixjQUFjLFlBZHZCLHFCQUFxQjtZQUNyQixxQkFBcUI7OzRGQWFaLGNBQWM7a0JBbEIxQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxpQkFBaUI7d0JBQ2pCLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3dCQUNyQixxQkFBcUI7d0JBQ3JCLDJCQUEyQjt3QkFDM0IsMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsaUJBQWlCO3dCQUNqQix3QkFBd0I7d0JBQ3hCLHFCQUFxQjt3QkFDckIscUJBQXFCO3dCQUNyQiwyQkFBMkI7d0JBQzNCLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmltcG9ydCB7IERyb3Bkb3duSXRlbUNvbXBvbmVudCB9IGZyb20gXCIuL2Ryb3Bkb3duLWl0ZW0vZHJvcGRvd24taXRlbS5jb21wb25lbnRcIjtcbmltcG9ydCB7IERyb3Bkb3duTWVudUZvb3RlckRpcmVjdGl2ZSB9IGZyb20gXCIuL2Ryb3Bkb3duLW1lbnUvZHJvcGRvd24tbWVudS1mb290ZXIuZGlyZWN0aXZlXCI7XG5pbXBvcnQgeyBEcm9wZG93bk1lbnVIZWFkZXJEaXJlY3RpdmUgfSBmcm9tIFwiLi9kcm9wZG93bi1tZW51L2Ryb3Bkb3duLW1lbnUtaGVhZGVyLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgRHJvcGRvd25NZW51Q29tcG9uZW50IH0gZnJvbSBcIi4vZHJvcGRvd24tbWVudS9kcm9wZG93bi1tZW51LmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgRHJvcGRvd25UcmlnZ2VyRGlyZWN0aXZlIH0gZnJvbSBcIi4vZHJvcGRvd24tdHJpZ2dlci9kcm9wZG93bi10cmlnZ2VyLmRpcmVjdGl2ZVwiO1xuaW1wb3J0IHsgRHJvcGRvd25EaXJlY3RpdmUgfSBmcm9tIFwiLi9kcm9wZG93bi5kaXJlY3RpdmVcIjtcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIERyb3Bkb3duRGlyZWN0aXZlLFxuICAgIERyb3Bkb3duVHJpZ2dlckRpcmVjdGl2ZSxcbiAgICBEcm9wZG93bk1lbnVDb21wb25lbnQsXG4gICAgRHJvcGRvd25JdGVtQ29tcG9uZW50LFxuICAgIERyb3Bkb3duTWVudUhlYWRlckRpcmVjdGl2ZSxcbiAgICBEcm9wZG93bk1lbnVGb290ZXJEaXJlY3RpdmUsXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEcm9wZG93bkRpcmVjdGl2ZSxcbiAgICBEcm9wZG93blRyaWdnZXJEaXJlY3RpdmUsXG4gICAgRHJvcGRvd25NZW51Q29tcG9uZW50LFxuICAgIERyb3Bkb3duSXRlbUNvbXBvbmVudCxcbiAgICBEcm9wZG93bk1lbnVIZWFkZXJEaXJlY3RpdmUsXG4gICAgRHJvcGRvd25NZW51Rm9vdGVyRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEcm9wZG93bk1vZHVsZSB7fVxuIl19
|