@design-factory/design-factory 17.0.0 → 17.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/design-factory-initial-branding.css +1 -1
- package/design-factory.css +1 -1
- package/esm2022/lib/angular/sidenav/sidenavlist.component.mjs +12 -3
- package/esm2022/lib/angular/tooltip/truncate/tooltipTruncate.directive.mjs +3 -5
- package/esm2022/lib/angular/utils/html-element-helper.mjs +8 -0
- package/esm2022/lib/angular/utils/titleTruncate.directive.mjs +39 -0
- package/esm2022/lib/index.mjs +3 -1
- package/fesm2022/design-factory.mjs +56 -7
- package/fesm2022/design-factory.mjs.map +1 -1
- package/lib/angular/tooltip/truncate/tooltipTruncate.directive.d.ts +0 -1
- package/lib/angular/utils/html-element-helper.d.ts +5 -0
- package/lib/angular/utils/titleTruncate.directive.d.ts +16 -0
- package/lib/index.d.ts +1 -0
- package/package.json +8 -5
- package/styles/scss/_common.root.scss +9 -0
- package/styles/scss/bootstrap/_variables.scss +176 -169
- package/styles/scss/components/button/_button.scss +13 -0
- package/styles/scss/components/form/_form.scss +21 -11
- package/styles/scss/components/form/_form.variables.scss +3 -12
- package/styles/scss/components/inputs/_inputs.mixin.scss +1 -1
- package/styles/scss/components/popover/_popover_container.scss +47 -38
- package/styles/scss/components/stepper/_stepper.mixins.scss +62 -55
- package/styles/scss/themes/brand2023/_variables.scss +9 -9
|
@@ -6,6 +6,7 @@ import { RouterModule } from '@angular/router';
|
|
|
6
6
|
import { DfMediaModule } from '../mediaqueries/media.module';
|
|
7
7
|
import { DfSideNavCollapseModule } from './dfSideNavCollapse.module';
|
|
8
8
|
import { DfManageSideNavDirective } from './manage-sidenav.directive';
|
|
9
|
+
import { DfTitleTruncateDirective } from '../utils/titleTruncate.directive';
|
|
9
10
|
import * as i0 from "@angular/core";
|
|
10
11
|
import * as i1 from "@angular/common";
|
|
11
12
|
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
@@ -31,11 +32,19 @@ export class DfSideNavListComponent {
|
|
|
31
32
|
return `df-sidenav-id-${uniqueId};`;
|
|
32
33
|
}
|
|
33
34
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DfSideNavListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
34
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: DfSideNavListComponent, isStandalone: true, selector: "df-sidenavlist", inputs: { items: "items", tplIcon: "tplIcon", tplItem: "tplItem", currentItem: "currentItem", id: "id" }, ngImport: i0, template: "<ul class=\"df-sidenav-list\" [ngbCollapse]=\"currentItem?.isCollapsed ?? false\" [attr.id]=\"id\">\n @for (item of items; track item; let i = $index) {\n <li dfManageSideNav>\n <ng-template #dfSideNavItemContent>\n @if (tplIcon && item.icon) {\n <ng-template\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n } @else if (item.icon) {\n <span aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon me-5\"></span>\n }\n <span class=\"flex-grow-1 text-nowrap
|
|
35
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: DfSideNavListComponent, isStandalone: true, selector: "df-sidenavlist", inputs: { items: "items", tplIcon: "tplIcon", tplItem: "tplItem", currentItem: "currentItem", id: "id" }, ngImport: i0, template: "<ul class=\"df-sidenav-list\" [ngbCollapse]=\"currentItem?.isCollapsed ?? false\" [attr.id]=\"id\">\n @for (item of items; track item; let i = $index) {\n <li dfManageSideNav>\n <ng-template #dfSideNavItemContent>\n @if (tplIcon && item.icon) {\n <ng-template\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n } @else if (item.icon) {\n <span aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon me-5\"></span>\n }\n <span class=\"flex-grow-1 text-nowrap\" dfTitleTruncate>{{ item.title }}</span>\n </ng-template>\n @switch (item.type) {\n @case (sideNavService.type.subMenus) {\n <ng-template #subMenus>\n <button\n class=\"df-sidenav-item d-flex align-items-center\"\n (click)=\"sideNavService.toggle(item)\"\n type=\"button\"\n [attr.aria-expanded]=\"!item.isCollapsed\"\n [attr.aria-controls]=\"'sidenavControl' + controlledUniqueId.toString() + '-' + i\"\n [class.df-sidenav-item-withicon]=\"item.icon\"\n >\n @if (tplIcon && item.icon) {\n <ng-template\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n } @else if (item.icon) {\n <span aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon me-5\"></span>\n }\n <span class=\"flex-grow-1 text-nowrap\" dfTitleTruncate>{{ item.title }}</span>\n <span\n class=\"ms-3\"\n [class.icon-chevron-down]=\"item.isCollapsed\"\n [class.icon-chevron-up]=\"!item.isCollapsed\"\n ></span>\n <!-- put the chevron as icon directly in the menu -->\n <!-- todo the icon and the minimized -->\n </button>\n <!-- we don't pass the icons as they are not suppose to have ones ??-->\n <df-sidenavlist\n [items]=\"item.subMenus ?? []\"\n [tplItem]=\"tplItem\"\n [currentItem]=\"item\"\n [id]=\"'sidenavControl' + controlledUniqueId.toString() + '-' + i\"\n ></df-sidenavlist>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"subMenus\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"subMenus\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.actionButton) {\n <ng-template #dfSideNavItemButton>\n <button\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n (click)=\"sideNavService.activeItem(item)\"\n [class.active]=\"item.isActive\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </button>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfSideNavItemButton\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfSideNavItemButton\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.routerLink) {\n <ng-template #dfRouterTemplate>\n <a\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n routerLinkActive=\"active\"\n routerLink=\"{{ item.value }}\"\n ariaCurrentWhenActive=\"page\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </a>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfRouterTemplate\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfRouterTemplate\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.separator) {\n <ng-template #dfSeparatorTmp>\n <hr class=\"spacing-01\" />\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfSeparatorTmp\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfSeparatorTmp\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.template) {\n @if (tplItem) {\n <ng-template\n [ngTemplateOutlet]=\"tplItem.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n }\n }\n @case (sideNavService.type.title) {\n <ng-template #dfTitleTmp>\n <div class=\"df-sidenav-item df-sidenav-title d-flex align-items-center flex-grow-1\">\n <span class=\"text-nowrap text-uppercase text-muted\" dfTitleTruncate>{{ item.title }}</span>\n </div>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfTitleTmp\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfTitleTmp\"></ng-container>\n </ng-container>\n }\n }\n @default {\n <ng-template #dfLinkDefaultTmp>\n <a\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n href=\"{{ item.value }}\"\n [class.active]=\"item.isActive && item.type === sideNavService.type.link\"\n [attr.target]=\"item.type === sideNavService.type.externalLink ? '_blank' : ''\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </a>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfLinkDefaultTmp\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfLinkDefaultTmp\"></ng-container>\n </ng-container>\n }\n }\n }\n </li>\n }\n</ul>\n", dependencies: [{ kind: "component", type: DfSideNavListComponent, selector: "df-sidenavlist", inputs: ["items", "tplIcon", "tplItem", "currentItem", "id"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NgbCollapseModule }, { kind: "directive", type: i2.NgbCollapse, selector: "[ngbCollapse]", inputs: ["animation", "ngbCollapse", "horizontal"], outputs: ["ngbCollapseChange", "shown", "hidden"], exportAs: ["ngbCollapse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: DfMediaModule }, { kind: "directive", type: i4.DfIfMediaDirective, selector: "[dfIfMedia]", inputs: ["dfIfMedia"] }, { kind: "ngmodule", type: DfSideNavCollapseModule }, { kind: "directive", type: DfManageSideNavDirective, selector: "[dfManageSideNav]" }, { kind: "directive", type: DfTitleTruncateDirective, selector: "[dfTitleTruncate]", exportAs: ["dfTitleTruncate"] }] }); }
|
|
35
36
|
}
|
|
36
37
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DfSideNavListComponent, decorators: [{
|
|
37
38
|
type: Component,
|
|
38
|
-
args: [{ selector: 'df-sidenavlist', standalone: true, imports: [
|
|
39
|
+
args: [{ selector: 'df-sidenavlist', standalone: true, imports: [
|
|
40
|
+
CommonModule,
|
|
41
|
+
NgbCollapseModule,
|
|
42
|
+
RouterModule,
|
|
43
|
+
DfMediaModule,
|
|
44
|
+
DfSideNavCollapseModule,
|
|
45
|
+
DfManageSideNavDirective,
|
|
46
|
+
DfTitleTruncateDirective
|
|
47
|
+
], template: "<ul class=\"df-sidenav-list\" [ngbCollapse]=\"currentItem?.isCollapsed ?? false\" [attr.id]=\"id\">\n @for (item of items; track item; let i = $index) {\n <li dfManageSideNav>\n <ng-template #dfSideNavItemContent>\n @if (tplIcon && item.icon) {\n <ng-template\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n } @else if (item.icon) {\n <span aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon me-5\"></span>\n }\n <span class=\"flex-grow-1 text-nowrap\" dfTitleTruncate>{{ item.title }}</span>\n </ng-template>\n @switch (item.type) {\n @case (sideNavService.type.subMenus) {\n <ng-template #subMenus>\n <button\n class=\"df-sidenav-item d-flex align-items-center\"\n (click)=\"sideNavService.toggle(item)\"\n type=\"button\"\n [attr.aria-expanded]=\"!item.isCollapsed\"\n [attr.aria-controls]=\"'sidenavControl' + controlledUniqueId.toString() + '-' + i\"\n [class.df-sidenav-item-withicon]=\"item.icon\"\n >\n @if (tplIcon && item.icon) {\n <ng-template\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n } @else if (item.icon) {\n <span aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon me-5\"></span>\n }\n <span class=\"flex-grow-1 text-nowrap\" dfTitleTruncate>{{ item.title }}</span>\n <span\n class=\"ms-3\"\n [class.icon-chevron-down]=\"item.isCollapsed\"\n [class.icon-chevron-up]=\"!item.isCollapsed\"\n ></span>\n <!-- put the chevron as icon directly in the menu -->\n <!-- todo the icon and the minimized -->\n </button>\n <!-- we don't pass the icons as they are not suppose to have ones ??-->\n <df-sidenavlist\n [items]=\"item.subMenus ?? []\"\n [tplItem]=\"tplItem\"\n [currentItem]=\"item\"\n [id]=\"'sidenavControl' + controlledUniqueId.toString() + '-' + i\"\n ></df-sidenavlist>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"subMenus\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"subMenus\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.actionButton) {\n <ng-template #dfSideNavItemButton>\n <button\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n (click)=\"sideNavService.activeItem(item)\"\n [class.active]=\"item.isActive\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </button>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfSideNavItemButton\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfSideNavItemButton\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.routerLink) {\n <ng-template #dfRouterTemplate>\n <a\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n routerLinkActive=\"active\"\n routerLink=\"{{ item.value }}\"\n ariaCurrentWhenActive=\"page\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </a>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfRouterTemplate\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfRouterTemplate\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.separator) {\n <ng-template #dfSeparatorTmp>\n <hr class=\"spacing-01\" />\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfSeparatorTmp\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfSeparatorTmp\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.template) {\n @if (tplItem) {\n <ng-template\n [ngTemplateOutlet]=\"tplItem.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n }\n }\n @case (sideNavService.type.title) {\n <ng-template #dfTitleTmp>\n <div class=\"df-sidenav-item df-sidenav-title d-flex align-items-center flex-grow-1\">\n <span class=\"text-nowrap text-uppercase text-muted\" dfTitleTruncate>{{ item.title }}</span>\n </div>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfTitleTmp\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfTitleTmp\"></ng-container>\n </ng-container>\n }\n }\n @default {\n <ng-template #dfLinkDefaultTmp>\n <a\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n href=\"{{ item.value }}\"\n [class.active]=\"item.isActive && item.type === sideNavService.type.link\"\n [attr.target]=\"item.type === sideNavService.type.externalLink ? '_blank' : ''\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </a>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfLinkDefaultTmp\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfLinkDefaultTmp\"></ng-container>\n </ng-container>\n }\n }\n }\n </li>\n }\n</ul>\n" }]
|
|
39
48
|
}], propDecorators: { items: [{
|
|
40
49
|
type: Input
|
|
41
50
|
}], tplIcon: [{
|
|
@@ -47,4 +56,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
47
56
|
}], id: [{
|
|
48
57
|
type: Input
|
|
49
58
|
}] } });
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdmxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWZhY3Rvcnkvc3JjL2xpYi9hbmd1bGFyL3NpZGVuYXYvc2lkZW5hdmxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWZhY3Rvcnkvc3JjL2xpYi9hbmd1bGFyL3NpZGVuYXYvc2lkZW5hdmxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOzs7Ozs7QUFFdEUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRWpCOzs7Ozs7OztHQVFHO0FBT0gsTUFBTSxPQUFPLHNCQUFzQjtJQU5uQztRQVlFLHVCQUFrQixHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1FBQ2xELG1CQUFjLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7S0FNM0M7SUFKQyxxQkFBcUI7UUFDbkIsUUFBUSxFQUFFLENBQUE7UUFDVixPQUFPLGlCQUFpQixRQUFRLEdBQUcsQ0FBQTtJQUNyQyxDQUFDOzhHQVpVLHNCQUFzQjtrR0FBdEIsc0JBQXNCLG9MQzVCbkMsd2hOQXdKQSw0Q0Q1SGEsc0JBQXNCLHdIQUZ2QixZQUFZLHFNQUFFLGlCQUFpQix3T0FBRSxZQUFZLGdmQUFFLGFBQWEsa0lBQUUsdUJBQXVCLCtCQUFFLHdCQUF3Qjs7MkZBRTlHLHNCQUFzQjtrQkFObEMsU0FBUzsrQkFDRSxnQkFBZ0IsY0FFZCxJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSx3QkFBd0IsQ0FBQzs4QkFHakgsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBpbmplY3R9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGZTaWRlTmF2U2VydmljZSB9IGZyb20gJy4vc2lkZW5hdi5zZXJ2aWNlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ2JDb2xsYXBzZU1vZHVsZSB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBEZk1lZGlhTW9kdWxlIH0gZnJvbSAnLi4vbWVkaWFxdWVyaWVzL21lZGlhLm1vZHVsZSc7XG5pbXBvcnQgeyBEZlNpZGVOYXZDb2xsYXBzZU1vZHVsZSB9IGZyb20gJy4vZGZTaWRlTmF2Q29sbGFwc2UubW9kdWxlJztcbmltcG9ydCB0eXBlIHsgRGZTaWRlTmF2SXRlbSB9IGZyb20gJy4vc2lkZW5hdi5zZXJ2aWNlJztcbmltcG9ydCB7IERmU2lkZU5hdkljb25EaXJlY3RpdmUsIERmU2lkZU5hdkl0ZW1EaXJlY3RpdmUgfSBmcm9tICcuL3NpZGVuYXYuY29tcG9uZW50JztcbmltcG9ydCB7IERmTWFuYWdlU2lkZU5hdkRpcmVjdGl2ZSB9IGZyb20gJy4vbWFuYWdlLXNpZGVuYXYuZGlyZWN0aXZlJztcblxubGV0IHVuaXF1ZUlkID0gMDtcblxuLyoqXG4gKiBTaWRlTmF2IGlzIGEgY29tcG9uZW50IHRvIHByb3ZpZGUgbmF2aWdhdGlvbiBmZWF0dXJlIHdpdGggYSBwYW5lbCBvbiB0aGUgc2lkZSBvZiB5b3VyIHBhZ2VcbiAqXG4gKiBJdCBzdXBwb3J0cyBzZXZlcmFsIG9wdGlvbnMgYXM6XG4gKiAgLSBCZWluZyBpbiBhbiBvdmVybGF5IG1lbnUgb3Igbm90XG4gKiAgLSBCZWluZyBjb2xsYXBzZWQgb3Igbm90XG4gKiAgLSBDYW4gYmUgdXNlZCB3aXRoIG9yIHdpdGhvdXQgQW5ndWxhciBSb3V0ZXJcbiAqICAtIENhbiBiZSB1c2VkIHdpdGggbWVkaWEgcXVlcmllcyB0byBhZGp1c3QgYmVoYXZpb3IgdG8gZGlmZmVyZW50IGJyZWFrcG9pbnRzIChzZWUgbWVkaWEgc2VjdGlvbilcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGYtc2lkZW5hdmxpc3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vc2lkZW5hdmxpc3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBOZ2JDb2xsYXBzZU1vZHVsZSwgUm91dGVyTW9kdWxlLCBEZk1lZGlhTW9kdWxlLCBEZlNpZGVOYXZDb2xsYXBzZU1vZHVsZSwgRGZNYW5hZ2VTaWRlTmF2RGlyZWN0aXZlXVxufSlcbmV4cG9ydCBjbGFzcyBEZlNpZGVOYXZMaXN0Q29tcG9uZW50IHtcbiAgQElucHV0KCkgaXRlbXMgITogRGZTaWRlTmF2SXRlbVtdO1xuICBASW5wdXQoKSB0cGxJY29uICE6IERmU2lkZU5hdkljb25EaXJlY3RpdmU7XG4gIEBJbnB1dCgpIHRwbEl0ZW0gITogRGZTaWRlTmF2SXRlbURpcmVjdGl2ZTtcbiAgQElucHV0KCkgY3VycmVudEl0ZW0gOiBEZlNpZGVOYXZJdGVtIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBpZCA6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgY29udHJvbGxlZFVuaXF1ZUlkID0gdGhpcy5nZXRDb250cm9sbGVkVW5pcXVlSWQoKTtcbiAgc2lkZU5hdlNlcnZpY2UgPSBpbmplY3QoRGZTaWRlTmF2U2VydmljZSk7XG5cbiAgZ2V0Q29udHJvbGxlZFVuaXF1ZUlkKCkgOiBzdHJpbmcgeyBcbiAgICB1bmlxdWVJZCsrXG4gICAgcmV0dXJuIGBkZi1zaWRlbmF2LWlkLSR7dW5pcXVlSWR9O2BcbiAgfVxufVxuIiwiPHVsIGNsYXNzPVwiZGYtc2lkZW5hdi1saXN0XCIgW25nYkNvbGxhcHNlXT1cImN1cnJlbnRJdGVtPy5pc0NvbGxhcHNlZCA/PyBmYWxzZVwiIFthdHRyLmlkXT1cImlkXCI+XG4gIEBmb3IgKGl0ZW0gb2YgaXRlbXM7IHRyYWNrIGl0ZW07IGxldCBpID0gJGluZGV4KSB7XG4gICAgPGxpIGRmTWFuYWdlU2lkZU5hdj5cbiAgICAgIDxuZy10ZW1wbGF0ZSAjZGZTaWRlTmF2SXRlbUNvbnRlbnQ+XG4gICAgICAgIEBpZiAodHBsSWNvbiAmJiBpdGVtLmljb24pIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRwbEljb24udGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIlxuICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICB9IEBlbHNlIGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fSBkZi1zaWRlbmF2LWljb24gbWUtNVwiPjwvc3Bhbj5cbiAgICAgICAgfVxuICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXgtZ3Jvdy0xIHRleHQtbm93cmFwIHRleHQtdHJ1bmNhdGVcIj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxuICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIEBzd2l0Y2ggKGl0ZW0udHlwZSkge1xuICAgICAgICBAY2FzZSAoc2lkZU5hdlNlcnZpY2UudHlwZS5zdWJNZW51cykge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjc3ViTWVudXM+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgIGNsYXNzPVwiZGYtc2lkZW5hdi1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIlxuICAgICAgICAgICAgICAoY2xpY2spPVwic2lkZU5hdlNlcnZpY2UudG9nZ2xlKGl0ZW0pXCJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgIFthdHRyLmFyaWEtZXhwYW5kZWRdPVwiIWl0ZW0uaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWNvbnRyb2xzXT1cIidzaWRlbmF2Q29udHJvbCcgKyBjb250cm9sbGVkVW5pcXVlSWQudG9TdHJpbmcoKSArICctJyArIGlcIlxuICAgICAgICAgICAgICBbY2xhc3MuZGYtc2lkZW5hdi1pdGVtLXdpdGhpY29uXT1cIml0ZW0uaWNvblwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIEBpZiAodHBsSWNvbiAmJiBpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRwbEljb24udGVtcGxhdGVSZWZcIlxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiBpdGVtIH1cIlxuICAgICAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgICAgICB9IEBlbHNlIGlmIChpdGVtLmljb24pIHtcbiAgICAgICAgICAgICAgICA8c3BhbiBhcmlhLWhpZGRlbj1cInRydWVcIiBjbGFzcz1cInt7IGl0ZW0uaWNvbiB9fSBkZi1zaWRlbmF2LWljb24gbWUtNVwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZsZXgtZ3Jvdy0xIHRleHQtbm93cmFwIHRleHQtdHJ1bmNhdGVcIj57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtM1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmljb24tY2hldnJvbi1kb3duXT1cIml0ZW0uaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pY29uLWNoZXZyb24tdXBdPVwiIWl0ZW0uaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICA8IS0tIHB1dCB0aGUgY2hldnJvbiBhcyBpY29uIGRpcmVjdGx5IGluIHRoZSBtZW51IC0tPlxuICAgICAgICAgICAgICA8IS0tIHRvZG8gdGhlIGljb24gYW5kIHRoZSBtaW5pbWl6ZWQgLS0+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwhLS0gd2UgZG9uJ3QgcGFzcyB0aGUgaWNvbnMgYXMgdGhleSBhcmUgbm90IHN1cHBvc2UgdG8gaGF2ZSBvbmVzID8/LS0+XG4gICAgICAgICAgICA8ZGYtc2lkZW5hdmxpc3RcbiAgICAgICAgICAgICAgW2l0ZW1zXT1cIml0ZW0uc3ViTWVudXMgPz8gW11cIlxuICAgICAgICAgICAgICBbdHBsSXRlbV09XCJ0cGxJdGVtXCJcbiAgICAgICAgICAgICAgW2N1cnJlbnRJdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICBbaWRdPVwiJ3NpZGVuYXZDb250cm9sJyArIGNvbnRyb2xsZWRVbmlxdWVJZC50b1N0cmluZygpICsgJy0nICsgaVwiXG4gICAgICAgICAgICA+PC9kZi1zaWRlbmF2bGlzdD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIEBpZiAoIWl0ZW0uYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdWJNZW51c1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGZJZk1lZGlhPVwiaXRlbS5icmVha3BvaW50cyFcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1Yk1lbnVzXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKHNpZGVOYXZTZXJ2aWNlLnR5cGUuYWN0aW9uQnV0dG9uKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNkZlNpZGVOYXZJdGVtQnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImRmLXNpZGVuYXYtaXRlbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtbm93cmFwXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNpZGVOYXZTZXJ2aWNlLmFjdGl2ZUl0ZW0oaXRlbSlcIlxuICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uaXNBY3RpdmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZTaWRlTmF2SXRlbUNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgQGlmICghaXRlbS5icmVha3BvaW50cykge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmU2lkZU5hdkl0ZW1CdXR0b25cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRmSWZNZWRpYT1cIml0ZW0uYnJlYWtwb2ludHMhXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZlNpZGVOYXZJdGVtQnV0dG9uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKHNpZGVOYXZTZXJ2aWNlLnR5cGUucm91dGVyTGluaykge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGZSb3V0ZXJUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzPVwiZGYtc2lkZW5hdi1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ub3dyYXBcIlxuICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICAgICAgICAgICAgcm91dGVyTGluaz1cInt7IGl0ZW0udmFsdWUgfX1cIlxuICAgICAgICAgICAgICBhcmlhQ3VycmVudFdoZW5BY3RpdmU9XCJwYWdlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmU2lkZU5hdkl0ZW1Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICBAaWYgKCFpdGVtLmJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZSb3V0ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGZJZk1lZGlhPVwiaXRlbS5icmVha3BvaW50cyFcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmUm91dGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoc2lkZU5hdlNlcnZpY2UudHlwZS5zZXBhcmF0b3IpIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2RmU2VwYXJhdG9yVG1wPlxuICAgICAgICAgICAgPGhyIGNsYXNzPVwic3BhY2luZy0wMVwiIC8+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICBAaWYgKCFpdGVtLmJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZTZXBhcmF0b3JUbXBcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRmSWZNZWRpYT1cIml0ZW0uYnJlYWtwb2ludHMhXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZlNlcGFyYXRvclRtcFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBjYXNlIChzaWRlTmF2U2VydmljZS50eXBlLnRlbXBsYXRlKSB7XG4gICAgICAgICAgQGlmICh0cGxJdGVtKSB7XG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidHBsSXRlbS50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoc2lkZU5hdlNlcnZpY2UudHlwZS50aXRsZSkge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGZUaXRsZVRtcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZi1zaWRlbmF2LWl0ZW0gZGYtc2lkZW5hdi10aXRsZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ub3dyYXAgdGV4dC10cnVuY2F0ZSB0ZXh0LXVwcGVyY2FzZSB0ZXh0LW11dGVkXCI+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgQGlmICghaXRlbS5icmVha3BvaW50cykge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmVGl0bGVUbXBcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRmSWZNZWRpYT1cIml0ZW0uYnJlYWtwb2ludHMhXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZlRpdGxlVG1wXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGRlZmF1bHQge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGZMaW5rRGVmYXVsdFRtcD5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzPVwiZGYtc2lkZW5hdi1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ub3dyYXBcIlxuICAgICAgICAgICAgICBocmVmPVwie3sgaXRlbS52YWx1ZSB9fVwiXG4gICAgICAgICAgICAgIFtjbGFzcy5hY3RpdmVdPVwiaXRlbS5pc0FjdGl2ZSAmJiBpdGVtLnR5cGUgPT09IHNpZGVOYXZTZXJ2aWNlLnR5cGUubGlua1wiXG4gICAgICAgICAgICAgIFthdHRyLnRhcmdldF09XCJpdGVtLnR5cGUgPT09IHNpZGVOYXZTZXJ2aWNlLnR5cGUuZXh0ZXJuYWxMaW5rID8gJ19ibGFuaycgOiAnJ1wiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZlNpZGVOYXZJdGVtQ29udGVudFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9hPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgQGlmICghaXRlbS5icmVha3BvaW50cykge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmTGlua0RlZmF1bHRUbXBcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRmSWZNZWRpYT1cIml0ZW0uYnJlYWtwb2ludHMhXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZkxpbmtEZWZhdWx0VG1wXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICA8L2xpPlxuICB9XG48L3VsPlxuIl19
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lkZW5hdmxpc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWZhY3Rvcnkvc3JjL2xpYi9hbmd1bGFyL3NpZGVuYXYvc2lkZW5hdmxpc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGVzaWduLWZhY3Rvcnkvc3JjL2xpYi9hbmd1bGFyL3NpZGVuYXYvc2lkZW5hdmxpc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQzdELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR3JFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7QUFFNUUsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO0FBRWpCOzs7Ozs7OztHQVFHO0FBZUgsTUFBTSxPQUFPLHNCQUFzQjtJQWRuQztRQW9CRSx1QkFBa0IsR0FBRyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNsRCxtQkFBYyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBTTNDO0lBSkMscUJBQXFCO1FBQ25CLFFBQVEsRUFBRSxDQUFDO1FBQ1gsT0FBTyxpQkFBaUIsUUFBUSxHQUFHLENBQUM7SUFDdEMsQ0FBQzs4R0FaVSxzQkFBc0I7a0dBQXRCLHNCQUFzQixvTENyQ25DLDhoTkF3SkEsNENEbkhhLHNCQUFzQix3SEFUL0IsWUFBWSxxTUFDWixpQkFBaUIsd09BQ2pCLFlBQVksZ2ZBQ1osYUFBYSxrSUFDYix1QkFBdUIsK0JBQ3ZCLHdCQUF3Qiw4REFDeEIsd0JBQXdCOzsyRkFHZixzQkFBc0I7a0JBZGxDLFNBQVM7K0JBQ0UsZ0JBQWdCLGNBRWQsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osaUJBQWlCO3dCQUNqQixZQUFZO3dCQUNaLGFBQWE7d0JBQ2IsdUJBQXVCO3dCQUN2Qix3QkFBd0I7d0JBQ3hCLHdCQUF3QjtxQkFDekI7OEJBR1EsS0FBSztzQkFBYixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxFQUFFO3NCQUFWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERmU2lkZU5hdlNlcnZpY2UgfSBmcm9tICcuL3NpZGVuYXYuc2VydmljZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdiQ29sbGFwc2VNb2R1bGUgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRGZNZWRpYU1vZHVsZSB9IGZyb20gJy4uL21lZGlhcXVlcmllcy9tZWRpYS5tb2R1bGUnO1xuaW1wb3J0IHsgRGZTaWRlTmF2Q29sbGFwc2VNb2R1bGUgfSBmcm9tICcuL2RmU2lkZU5hdkNvbGxhcHNlLm1vZHVsZSc7XG5pbXBvcnQgdHlwZSB7IERmU2lkZU5hdkl0ZW0gfSBmcm9tICcuL3NpZGVuYXYuc2VydmljZSc7XG5pbXBvcnQgeyBEZlNpZGVOYXZJY29uRGlyZWN0aXZlLCBEZlNpZGVOYXZJdGVtRGlyZWN0aXZlIH0gZnJvbSAnLi9zaWRlbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEZk1hbmFnZVNpZGVOYXZEaXJlY3RpdmUgfSBmcm9tICcuL21hbmFnZS1zaWRlbmF2LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEZlRpdGxlVHJ1bmNhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi91dGlscy90aXRsZVRydW5jYXRlLmRpcmVjdGl2ZSc7XG5cbmxldCB1bmlxdWVJZCA9IDA7XG5cbi8qKlxuICogU2lkZU5hdiBpcyBhIGNvbXBvbmVudCB0byBwcm92aWRlIG5hdmlnYXRpb24gZmVhdHVyZSB3aXRoIGEgcGFuZWwgb24gdGhlIHNpZGUgb2YgeW91ciBwYWdlXG4gKlxuICogSXQgc3VwcG9ydHMgc2V2ZXJhbCBvcHRpb25zIGFzOlxuICogIC0gQmVpbmcgaW4gYW4gb3ZlcmxheSBtZW51IG9yIG5vdFxuICogIC0gQmVpbmcgY29sbGFwc2VkIG9yIG5vdFxuICogIC0gQ2FuIGJlIHVzZWQgd2l0aCBvciB3aXRob3V0IEFuZ3VsYXIgUm91dGVyXG4gKiAgLSBDYW4gYmUgdXNlZCB3aXRoIG1lZGlhIHF1ZXJpZXMgdG8gYWRqdXN0IGJlaGF2aW9yIHRvIGRpZmZlcmVudCBicmVha3BvaW50cyAoc2VlIG1lZGlhIHNlY3Rpb24pXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RmLXNpZGVuYXZsaXN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NpZGVuYXZsaXN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBOZ2JDb2xsYXBzZU1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRGZNZWRpYU1vZHVsZSxcbiAgICBEZlNpZGVOYXZDb2xsYXBzZU1vZHVsZSxcbiAgICBEZk1hbmFnZVNpZGVOYXZEaXJlY3RpdmUsXG4gICAgRGZUaXRsZVRydW5jYXRlRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGZTaWRlTmF2TGlzdENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGl0ZW1zITogRGZTaWRlTmF2SXRlbVtdO1xuICBASW5wdXQoKSB0cGxJY29uITogRGZTaWRlTmF2SWNvbkRpcmVjdGl2ZTtcbiAgQElucHV0KCkgdHBsSXRlbSE6IERmU2lkZU5hdkl0ZW1EaXJlY3RpdmU7XG4gIEBJbnB1dCgpIGN1cnJlbnRJdGVtOiBEZlNpZGVOYXZJdGVtIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSBpZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBjb250cm9sbGVkVW5pcXVlSWQgPSB0aGlzLmdldENvbnRyb2xsZWRVbmlxdWVJZCgpO1xuICBzaWRlTmF2U2VydmljZSA9IGluamVjdChEZlNpZGVOYXZTZXJ2aWNlKTtcblxuICBnZXRDb250cm9sbGVkVW5pcXVlSWQoKTogc3RyaW5nIHtcbiAgICB1bmlxdWVJZCsrO1xuICAgIHJldHVybiBgZGYtc2lkZW5hdi1pZC0ke3VuaXF1ZUlkfTtgO1xuICB9XG59XG4iLCI8dWwgY2xhc3M9XCJkZi1zaWRlbmF2LWxpc3RcIiBbbmdiQ29sbGFwc2VdPVwiY3VycmVudEl0ZW0/LmlzQ29sbGFwc2VkID8/IGZhbHNlXCIgW2F0dHIuaWRdPVwiaWRcIj5cbiAgQGZvciAoaXRlbSBvZiBpdGVtczsgdHJhY2sgaXRlbTsgbGV0IGkgPSAkaW5kZXgpIHtcbiAgICA8bGkgZGZNYW5hZ2VTaWRlTmF2PlxuICAgICAgPG5nLXRlbXBsYXRlICNkZlNpZGVOYXZJdGVtQ29udGVudD5cbiAgICAgICAgQGlmICh0cGxJY29uICYmIGl0ZW0uaWNvbikge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZVxuICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidHBsSWNvbi50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyAkaW1wbGljaXQ6IGl0ZW0gfVwiXG4gICAgICAgICAgPjwvbmctdGVtcGxhdGU+XG4gICAgICAgIH0gQGVsc2UgaWYgKGl0ZW0uaWNvbikge1xuICAgICAgICAgIDxzcGFuIGFyaWEtaGlkZGVuPVwidHJ1ZVwiIGNsYXNzPVwie3sgaXRlbS5pY29uIH19IGRmLXNpZGVuYXYtaWNvbiBtZS01XCI+PC9zcGFuPlxuICAgICAgICB9XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiZmxleC1ncm93LTEgdGV4dC1ub3dyYXBcIiBkZlRpdGxlVHJ1bmNhdGU+e3sgaXRlbS50aXRsZSB9fTwvc3Bhbj5cbiAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICBAc3dpdGNoIChpdGVtLnR5cGUpIHtcbiAgICAgICAgQGNhc2UgKHNpZGVOYXZTZXJ2aWNlLnR5cGUuc3ViTWVudXMpIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI3N1Yk1lbnVzPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImRmLXNpZGVuYXYtaXRlbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNpZGVOYXZTZXJ2aWNlLnRvZ2dsZShpdGVtKVwiXG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBbYXR0ci5hcmlhLWV4cGFuZGVkXT1cIiFpdGVtLmlzQ29sbGFwc2VkXCJcbiAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCInc2lkZW5hdkNvbnRyb2wnICsgY29udHJvbGxlZFVuaXF1ZUlkLnRvU3RyaW5nKCkgKyAnLScgKyBpXCJcbiAgICAgICAgICAgICAgW2NsYXNzLmRmLXNpZGVuYXYtaXRlbS13aXRoaWNvbl09XCJpdGVtLmljb25cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICBAaWYgKHRwbEljb24gJiYgaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlXG4gICAgICAgICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJ0cGxJY29uLnRlbXBsYXRlUmVmXCJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgICAgfSBAZWxzZSBpZiAoaXRlbS5pY29uKSB7XG4gICAgICAgICAgICAgICAgPHNwYW4gYXJpYS1oaWRkZW49XCJ0cnVlXCIgY2xhc3M9XCJ7eyBpdGVtLmljb24gfX0gZGYtc2lkZW5hdi1pY29uIG1lLTVcIj48L3NwYW4+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmbGV4LWdyb3ctMSB0ZXh0LW5vd3JhcFwiIGRmVGl0bGVUcnVuY2F0ZT57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIGNsYXNzPVwibXMtM1wiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmljb24tY2hldnJvbi1kb3duXT1cIml0ZW0uaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5pY29uLWNoZXZyb24tdXBdPVwiIWl0ZW0uaXNDb2xsYXBzZWRcIlxuICAgICAgICAgICAgICA+PC9zcGFuPlxuICAgICAgICAgICAgICA8IS0tIHB1dCB0aGUgY2hldnJvbiBhcyBpY29uIGRpcmVjdGx5IGluIHRoZSBtZW51IC0tPlxuICAgICAgICAgICAgICA8IS0tIHRvZG8gdGhlIGljb24gYW5kIHRoZSBtaW5pbWl6ZWQgLS0+XG4gICAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgICAgIDwhLS0gd2UgZG9uJ3QgcGFzcyB0aGUgaWNvbnMgYXMgdGhleSBhcmUgbm90IHN1cHBvc2UgdG8gaGF2ZSBvbmVzID8/LS0+XG4gICAgICAgICAgICA8ZGYtc2lkZW5hdmxpc3RcbiAgICAgICAgICAgICAgW2l0ZW1zXT1cIml0ZW0uc3ViTWVudXMgPz8gW11cIlxuICAgICAgICAgICAgICBbdHBsSXRlbV09XCJ0cGxJdGVtXCJcbiAgICAgICAgICAgICAgW2N1cnJlbnRJdGVtXT1cIml0ZW1cIlxuICAgICAgICAgICAgICBbaWRdPVwiJ3NpZGVuYXZDb250cm9sJyArIGNvbnRyb2xsZWRVbmlxdWVJZC50b1N0cmluZygpICsgJy0nICsgaVwiXG4gICAgICAgICAgICA+PC9kZi1zaWRlbmF2bGlzdD5cbiAgICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgICAgICAgIEBpZiAoIWl0ZW0uYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJzdWJNZW51c1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGZJZk1lZGlhPVwiaXRlbS5icmVha3BvaW50cyFcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInN1Yk1lbnVzXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKHNpZGVOYXZTZXJ2aWNlLnR5cGUuYWN0aW9uQnV0dG9uKSB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNkZlNpZGVOYXZJdGVtQnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICBjbGFzcz1cImRmLXNpZGVuYXYtaXRlbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtbm93cmFwXCJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cInNpZGVOYXZTZXJ2aWNlLmFjdGl2ZUl0ZW0oaXRlbSlcIlxuICAgICAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cIml0ZW0uaXNBY3RpdmVcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZTaWRlTmF2SXRlbUNvbnRlbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDwvbmctdGVtcGxhdGU+XG4gICAgICAgICAgQGlmICghaXRlbS5icmVha3BvaW50cykge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmU2lkZU5hdkl0ZW1CdXR0b25cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRmSWZNZWRpYT1cIml0ZW0uYnJlYWtwb2ludHMhXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZlNpZGVOYXZJdGVtQnV0dG9uXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGNhc2UgKHNpZGVOYXZTZXJ2aWNlLnR5cGUucm91dGVyTGluaykge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGZSb3V0ZXJUZW1wbGF0ZT5cbiAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgIGNsYXNzPVwiZGYtc2lkZW5hdi1pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1ub3dyYXBcIlxuICAgICAgICAgICAgICByb3V0ZXJMaW5rQWN0aXZlPVwiYWN0aXZlXCJcbiAgICAgICAgICAgICAgcm91dGVyTGluaz1cInt7IGl0ZW0udmFsdWUgfX1cIlxuICAgICAgICAgICAgICBhcmlhQ3VycmVudFdoZW5BY3RpdmU9XCJwYWdlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmU2lkZU5hdkl0ZW1Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICBAaWYgKCFpdGVtLmJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZSb3V0ZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGZJZk1lZGlhPVwiaXRlbS5icmVha3BvaW50cyFcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmUm91dGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoc2lkZU5hdlNlcnZpY2UudHlwZS5zZXBhcmF0b3IpIHtcbiAgICAgICAgICA8bmctdGVtcGxhdGUgI2RmU2VwYXJhdG9yVG1wPlxuICAgICAgICAgICAgPGhyIGNsYXNzPVwic3BhY2luZy0wMVwiIC8+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICBAaWYgKCFpdGVtLmJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZTZXBhcmF0b3JUbXBcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKmRmSWZNZWRpYT1cIml0ZW0uYnJlYWtwb2ludHMhXCI+XG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJkZlNlcGFyYXRvclRtcFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBjYXNlIChzaWRlTmF2U2VydmljZS50eXBlLnRlbXBsYXRlKSB7XG4gICAgICAgICAgQGlmICh0cGxJdGVtKSB7XG4gICAgICAgICAgICA8bmctdGVtcGxhdGVcbiAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRdPVwidHBsSXRlbS50ZW1wbGF0ZVJlZlwiXG4gICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7ICRpbXBsaWNpdDogaXRlbSB9XCJcbiAgICAgICAgICAgID48L25nLXRlbXBsYXRlPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAY2FzZSAoc2lkZU5hdlNlcnZpY2UudHlwZS50aXRsZSkge1xuICAgICAgICAgIDxuZy10ZW1wbGF0ZSAjZGZUaXRsZVRtcD5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkZi1zaWRlbmF2LWl0ZW0gZGYtc2lkZW5hdi10aXRsZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtZ3Jvdy0xXCI+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dC1ub3dyYXAgdGV4dC11cHBlcmNhc2UgdGV4dC1tdXRlZFwiIGRmVGl0bGVUcnVuY2F0ZT57eyBpdGVtLnRpdGxlIH19PC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICBAaWYgKCFpdGVtLmJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZUaXRsZVRtcFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGZJZk1lZGlhPVwiaXRlbS5icmVha3BvaW50cyFcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmVGl0bGVUbXBcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgPG5nLXRlbXBsYXRlICNkZkxpbmtEZWZhdWx0VG1wPlxuICAgICAgICAgICAgPGFcbiAgICAgICAgICAgICAgY2xhc3M9XCJkZi1zaWRlbmF2LWl0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LW5vd3JhcFwiXG4gICAgICAgICAgICAgIGhyZWY9XCJ7eyBpdGVtLnZhbHVlIH19XCJcbiAgICAgICAgICAgICAgW2NsYXNzLmFjdGl2ZV09XCJpdGVtLmlzQWN0aXZlICYmIGl0ZW0udHlwZSA9PT0gc2lkZU5hdlNlcnZpY2UudHlwZS5saW5rXCJcbiAgICAgICAgICAgICAgW2F0dHIudGFyZ2V0XT1cIml0ZW0udHlwZSA9PT0gc2lkZU5hdlNlcnZpY2UudHlwZS5leHRlcm5hbExpbmsgPyAnX2JsYW5rJyA6ICcnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmU2lkZU5hdkl0ZW1Db250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgICAgICA8L2E+XG4gICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICBAaWYgKCFpdGVtLmJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZGZMaW5rRGVmYXVsdFRtcFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqZGZJZk1lZGlhPVwiaXRlbS5icmVha3BvaW50cyFcIj5cbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRmTGlua0RlZmF1bHRUbXBcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIDwvbGk+XG4gIH1cbjwvdWw+XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Directive } from '@angular/core';
|
|
2
|
+
import { hasOverflow } from '../../utils/html-element-helper';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
4
5
|
/**
|
|
@@ -14,10 +15,7 @@ export class DfTooltipTruncateDirective {
|
|
|
14
15
|
this.renderer.addClass(this.elementRef.nativeElement, 'text-truncate');
|
|
15
16
|
}
|
|
16
17
|
ngDoCheck() {
|
|
17
|
-
this.tooltip.disableTooltip = !
|
|
18
|
-
}
|
|
19
|
-
hasOverflow(element) {
|
|
20
|
-
return element?.offsetHeight < element?.scrollHeight || element?.offsetWidth < element?.scrollWidth;
|
|
18
|
+
this.tooltip.disableTooltip = !hasOverflow(this.elementRef.nativeElement);
|
|
21
19
|
}
|
|
22
20
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DfTooltipTruncateDirective, deps: [{ token: i1.NgbTooltip }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
23
21
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0", type: DfTooltipTruncateDirective, isStandalone: true, selector: "[dfTooltipTruncate]", exportAs: ["dfTooltipTruncate"], ngImport: i0 }); }
|
|
@@ -30,4 +28,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
30
28
|
standalone: true
|
|
31
29
|
}]
|
|
32
30
|
}], ctorParameters: () => [{ type: i1.NgbTooltip }, { type: i0.ElementRef }, { type: i0.Renderer2 }] });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcFRydW5jYXRlLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1mYWN0b3J5L3NyYy9saWIvYW5ndWxhci90b29sdGlwL3RydW5jYXRlL3Rvb2x0aXBUcnVuY2F0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMEMsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFFOUQ7O0dBRUc7QUFNSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLFlBQ21CLE9BQW1CLEVBQ25CLFVBQW1DLEVBQ25DLFFBQW1CO1FBRm5CLFlBQU8sR0FBUCxPQUFPLENBQVk7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsYUFBUSxHQUFSLFFBQVEsQ0FBVztJQUNuQyxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO0lBQ3pFLENBQUM7SUFFRCxTQUFTO1FBQ1AsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUM1RSxDQUFDOzhHQWJVLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUx0QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFFBQVEsRUFBRSxxQkFBcUI7b0JBQy9CLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRG9DaGVjaywgRWxlbWVudFJlZiwgT25Jbml0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5nYlRvb2x0aXAgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBoYXNPdmVyZmxvdyB9IGZyb20gJy4uLy4uL3V0aWxzL2h0bWwtZWxlbWVudC1oZWxwZXInO1xuXG4vKipcbiAqIE15IGRmVG9vbHRpcFRydW5jYXRlIGRpcmVjdGl2ZVxuICovXG5ARGlyZWN0aXZlKHtcbiAgZXhwb3J0QXM6ICdkZlRvb2x0aXBUcnVuY2F0ZScsXG4gIHNlbGVjdG9yOiAnW2RmVG9vbHRpcFRydW5jYXRlXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGZUb29sdGlwVHJ1bmNhdGVEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIERvQ2hlY2sge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRvb2x0aXA6IE5nYlRvb2x0aXAsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0ZXh0LXRydW5jYXRlJyk7XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgdGhpcy50b29sdGlwLmRpc2FibGVUb29sdGlwID0gIWhhc092ZXJmbG93KHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @param element the HTML element
|
|
3
|
+
* @returns whether the element is overflowing
|
|
4
|
+
*/
|
|
5
|
+
export function hasOverflow(element) {
|
|
6
|
+
return element?.offsetHeight < element?.scrollHeight || element?.offsetWidth < element?.scrollWidth;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHRtbC1lbGVtZW50LWhlbHBlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Rlc2lnbi1mYWN0b3J5L3NyYy9saWIvYW5ndWxhci91dGlscy9odG1sLWVsZW1lbnQtaGVscGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQUMsT0FBb0I7SUFDOUMsT0FBTyxPQUFPLEVBQUUsWUFBWSxHQUFHLE9BQU8sRUFBRSxZQUFZLElBQUksT0FBTyxFQUFFLFdBQVcsR0FBRyxPQUFPLEVBQUUsV0FBVyxDQUFDO0FBQ3RHLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBwYXJhbSBlbGVtZW50IHRoZSBIVE1MIGVsZW1lbnRcbiAqIEByZXR1cm5zIHdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgb3ZlcmZsb3dpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGhhc092ZXJmbG93KGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogYm9vbGVhbiB7XG4gIHJldHVybiBlbGVtZW50Py5vZmZzZXRIZWlnaHQgPCBlbGVtZW50Py5zY3JvbGxIZWlnaHQgfHwgZWxlbWVudD8ub2Zmc2V0V2lkdGggPCBlbGVtZW50Py5zY3JvbGxXaWR0aDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Directive } from '@angular/core';
|
|
2
|
+
import { hasOverflow } from './html-element-helper';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* DfTitleTruncate directive
|
|
6
|
+
* It adds the title attribute with the element's inner text as value
|
|
7
|
+
* when the element is truncated.
|
|
8
|
+
*/
|
|
9
|
+
export class DfTitleTruncateDirective {
|
|
10
|
+
constructor(elementRef, renderer) {
|
|
11
|
+
this.elementRef = elementRef;
|
|
12
|
+
this.renderer = renderer;
|
|
13
|
+
}
|
|
14
|
+
ngOnInit() {
|
|
15
|
+
this.renderer.addClass(this.elementRef.nativeElement, 'text-truncate');
|
|
16
|
+
}
|
|
17
|
+
ngDoCheck() {
|
|
18
|
+
const { nativeElement } = this.elementRef;
|
|
19
|
+
const titleAttributeName = 'title';
|
|
20
|
+
if (hasOverflow(nativeElement)) {
|
|
21
|
+
const value = nativeElement.innerText;
|
|
22
|
+
nativeElement.setAttribute(titleAttributeName, value);
|
|
23
|
+
}
|
|
24
|
+
else if (nativeElement.getAttribute(titleAttributeName)) {
|
|
25
|
+
nativeElement.removeAttribute(titleAttributeName);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DfTitleTruncateDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
29
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0", type: DfTitleTruncateDirective, isStandalone: true, selector: "[dfTitleTruncate]", exportAs: ["dfTitleTruncate"], ngImport: i0 }); }
|
|
30
|
+
}
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DfTitleTruncateDirective, decorators: [{
|
|
32
|
+
type: Directive,
|
|
33
|
+
args: [{
|
|
34
|
+
exportAs: 'dfTitleTruncate',
|
|
35
|
+
selector: '[dfTitleTruncate]',
|
|
36
|
+
standalone: true
|
|
37
|
+
}]
|
|
38
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGl0bGVUcnVuY2F0ZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tZmFjdG9yeS9zcmMvbGliL2FuZ3VsYXIvdXRpbHMvdGl0bGVUcnVuY2F0ZS5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBMEMsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHVCQUF1QixDQUFDOztBQUVwRDs7OztHQUlHO0FBTUgsTUFBTSxPQUFPLHdCQUF3QjtJQUNuQyxZQUNtQixVQUFtQyxFQUNuQyxRQUFtQjtRQURuQixlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUNuQyxhQUFRLEdBQVIsUUFBUSxDQUFXO0lBQ25DLENBQUM7SUFFSixRQUFRO1FBQ04sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDekUsQ0FBQztJQUVELFNBQVM7UUFDUCxNQUFNLEVBQUUsYUFBYSxFQUFFLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUMxQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztRQUNuQyxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUM5QixNQUFNLEtBQUssR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDO1lBQ3RDLGFBQWEsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLEVBQUUsS0FBSyxDQUFDLENBQUM7U0FDdkQ7YUFBTSxJQUFJLGFBQWEsQ0FBQyxZQUFZLENBQUMsa0JBQWtCLENBQUMsRUFBRTtZQUN6RCxhQUFhLENBQUMsZUFBZSxDQUFDLGtCQUFrQixDQUFDLENBQUM7U0FDbkQ7SUFDSCxDQUFDOzhHQW5CVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFMcEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO29CQUMzQixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIERvQ2hlY2ssIEVsZW1lbnRSZWYsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBoYXNPdmVyZmxvdyB9IGZyb20gJy4vaHRtbC1lbGVtZW50LWhlbHBlcic7XG5cbi8qKlxuICogRGZUaXRsZVRydW5jYXRlIGRpcmVjdGl2ZVxuICogSXQgYWRkcyB0aGUgdGl0bGUgYXR0cmlidXRlIHdpdGggdGhlIGVsZW1lbnQncyBpbm5lciB0ZXh0IGFzIHZhbHVlXG4gKiB3aGVuIHRoZSBlbGVtZW50IGlzIHRydW5jYXRlZC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIGV4cG9ydEFzOiAnZGZUaXRsZVRydW5jYXRlJyxcbiAgc2VsZWN0b3I6ICdbZGZUaXRsZVRydW5jYXRlXScsXG4gIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgRGZUaXRsZVRydW5jYXRlRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBEb0NoZWNrIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICd0ZXh0LXRydW5jYXRlJyk7XG4gIH1cblxuICBuZ0RvQ2hlY2soKSB7XG4gICAgY29uc3QgeyBuYXRpdmVFbGVtZW50IH0gPSB0aGlzLmVsZW1lbnRSZWY7XG4gICAgY29uc3QgdGl0bGVBdHRyaWJ1dGVOYW1lID0gJ3RpdGxlJztcbiAgICBpZiAoaGFzT3ZlcmZsb3cobmF0aXZlRWxlbWVudCkpIHtcbiAgICAgIGNvbnN0IHZhbHVlID0gbmF0aXZlRWxlbWVudC5pbm5lclRleHQ7XG4gICAgICBuYXRpdmVFbGVtZW50LnNldEF0dHJpYnV0ZSh0aXRsZUF0dHJpYnV0ZU5hbWUsIHZhbHVlKTtcbiAgICB9IGVsc2UgaWYgKG5hdGl2ZUVsZW1lbnQuZ2V0QXR0cmlidXRlKHRpdGxlQXR0cmlidXRlTmFtZSkpIHtcbiAgICAgIG5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKHRpdGxlQXR0cmlidXRlTmFtZSk7XG4gICAgfVxuICB9XG59XG4iXX0=
|
package/esm2022/lib/index.mjs
CHANGED
|
@@ -84,4 +84,6 @@ export { DfManageCardSelectionDirective } from './angular/card/manage-card-selec
|
|
|
84
84
|
export { DfAdvancedCardModule } from './angular/card/card-advanced.module';
|
|
85
85
|
// Global
|
|
86
86
|
export { DfModule } from './angular/df.module';
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tZmFjdG9yeS9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUNoQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUVySSxRQUFRO0FBQ1IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTdELFFBQVE7QUFDUixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFN0QsYUFBYTtBQUNiLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRXpGLFNBQVM7QUFDVCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFaEUsT0FBTztBQUNQLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVwRixTQUFTO0FBQ1QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLG9CQUFvQixF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RSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbEUsa0JBQWtCO0FBQ2xCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXZGLGNBQWM7QUFDZCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLDBCQUEwQixFQUMxQixhQUFhLEVBQ2IsWUFBWSxFQUNaLGVBQWUsRUFDaEIsTUFBTSwyQ0FBMkMsQ0FBQztBQUVuRCxnQkFBZ0I7QUFDaEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVwRSxPQUFPO0FBQ1AsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFM0UsU0FBUztBQUNULE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIEFjY2Vzc2liaWxpdHlcbmV4cG9ydCB7IERmQWNjZXNzaWJpbGl0eU1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9hY2Nlc3NpYmlsaXR5L2FjY2Vzc2liaWxpdHkubW9kdWxlJztcbmV4cG9ydCB7IFNraXBMaW5rRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL2FjY2Vzc2liaWxpdHkvZGlyZWN0aXZlcy9za2lwLWxpbmsuZGlyZWN0aXZlJztcbmV4cG9ydCB7IFNraXBMaW5rc0NvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci9hY2Nlc3NpYmlsaXR5L2NvbXBvbmVudHMvc2tpcC1saW5rcy1jb250YWluZXIvc2tpcC1saW5rcy1jb250YWluZXIuY29tcG9uZW50JztcblxuLy8gVG9hc3RcbmV4cG9ydCB7IERmVG9hc3RNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvdG9hc3QvdG9hc3QubW9kdWxlJztcblxuLy8gQWxlcnRcbmV4cG9ydCB7IERmQWxlcnRNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvYWxlcnQvYWxlcnQubW9kdWxlJztcblxuLy8gRGF0ZXBpY2tlclxuZXhwb3J0IHsgQ2xvc2VJbnB1dERhdGVQaWNrZXJEaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvZGF0ZXBpY2tlci9jbG9zZWRhdGVwaWNrZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB7IERmRGF0ZVBpY2tlck1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9kYXRlcGlja2VyL2RhdGVwaWNrZXIubW9kdWxlJztcbmV4cG9ydCB7IERmRGF0ZXBpY2tlclJhbmdlRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1yYW5nZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRGZEYXRlcGlja2VyUmFuZ2VTZXJ2aWNlIH0gZnJvbSAnLi9hbmd1bGFyL2RhdGVwaWNrZXIvZGF0ZXBpY2tlci1yYW5nZS5zZXJ2aWNlJztcblxuLy8gRm9vdGVyXG5leHBvcnQgeyBEZkZvb3Rlck1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9mb290ZXIvZm9vdGVyLm1vZHVsZSc7XG5cbi8vIEljb25cbmV4cG9ydCB7IERmSWNvbk1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9pY29uL2ljb24ubW9kdWxlJztcbmV4cG9ydCB7IERmSW5zZXJ0SWNvbk1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9pY29uL2luc2VydC9pbnNlcnQtaWNvbi5tb2R1bGUnO1xuZXhwb3J0IHsgRGZBbWFkZXVzSWNvbkNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci9pY29uL2FtYWRldXMtaWNvbic7XG5leHBvcnQgeyBEZkluc2VydEljb25EaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvaWNvbi9pbnNlcnQvaW5zZXJ0LWljb24uZGlyZWN0aXZlJztcblxuLy8gSW5wdXRzXG5leHBvcnQgeyBEZlRyaWdnZXJDbGlja0RpcmVjdGl2ZSB9IGZyb20gJy4vYW5ndWxhci9pbnB1dHMvY2xpY2svdHJpZ2dlci1jbGljay5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRGZJbnB1dEljb25EaXJlY3RpdmUsIERmRGlyZWN0aW9uIH0gZnJvbSAnLi9hbmd1bGFyL2lucHV0cy9pY29uL2lucHV0aWNvbi5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRGZBZHZhbmNlZElucHV0TW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyL2lucHV0cy9pbnB1dC1hZHZhbmNlZC5tb2R1bGUnO1xuXG4vLyBNb2RhbFxuZXhwb3J0IHsgRGZNb2RhbFNlcnZpY2UgfSBmcm9tICcuL2FuZ3VsYXIvbW9kYWwvbW9kYWwuc2VydmljZSc7XG5cbi8vIFBvcG92ZXJcbmV4cG9ydCB7IERmUG9wb3Zlck1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9wb3BvdmVyL3BvcG92ZXIubW9kdWxlJztcbmV4cG9ydCB7IERmUG9wb3ZlckNvbmZpZyB9IGZyb20gJy4vYW5ndWxhci9wb3BvdmVyL2NvbmZpZy9wb3BvdmVyLmNvbmZpZyc7XG5cbi8vIFByb2dyZXNzYmFyXG5leHBvcnQgeyBEZlByb2dyZXNzYmFyTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyL3Byb2dyZXNzYmFyL3Byb2dyZXNzYmFyLm1vZHVsZSc7XG5leHBvcnQgeyBEZlByb2dyZXNzYmFyQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyL3Byb2dyZXNzYmFyL3Byb2dyZXNzYmFyLmNvbXBvbmVudCc7XG5cbi8vIFByb2dyZXNzIGluZGljYXRvclxuZXhwb3J0IHsgRGZQcm9ncmVzc0luZGljYXRvck1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9wcm9ncmVzc2luZGljYXRvci9wcm9ncmVzc2luZGljYXRvci5tb2R1bGUnO1xuZXhwb3J0IHtcbiAgRGZQcm9ncmVzc0luZGljYXRvclNlcnZpY2UsXG4gIERmUHJvZ3Jlc3NJbmRpY2F0b3JDb250ZW50XG59IGZyb20gJy4vYW5ndWxhci9wcm9ncmVzc2luZGljYXRvci9wcm9ncmVzc2luZGljYXRvci5zZXJ2aWNlJztcbmV4cG9ydCB7IERmUHJvZ3Jlc3NJbmRpY2F0b3JEaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvcHJvZ3Jlc3NpbmRpY2F0b3IvcHJvZ3Jlc3NpbmRpY2F0b3IuZGlyZWN0aXZlJztcbmV4cG9ydCB7XG4gIERmUHJvZ3Jlc3NJbmRpY2F0b3JPcHRpb25zLFxuICBEZlByb2dyZXNzSW5kaWNhdG9yQ29udGVudFR5cGUsXG4gIERmUHJvZ3Jlc3NJbmRpY2F0b3JDb250ZW50U3Bpbm5lcixcbiAgRGZQcm9ncmVzc0luZGljYXRvckNvbnRlbnRQcm9ncmVzc0JhcixcbiAgRGZQcm9ncmVzc0luZGljYXRvckNvbnRlbnRQb3NpdGlvblxufSBmcm9tICcuL2FuZ3VsYXIvcHJvZ3Jlc3NpbmRpY2F0b3IvcHJvZ3Jlc3NpbmRpY2F0b3ItY29uZmlnJztcbmV4cG9ydCB7IERmUHJvZ3Jlc3NJbmRpY2F0b3JSZWYgfSBmcm9tICcuL2FuZ3VsYXIvcHJvZ3Jlc3NpbmRpY2F0b3IvcHJvZ3Jlc3NpbmRpY2F0b3ItcmVmJztcbmV4cG9ydCB7IERmUHJvZ3Jlc3NJbmRpY2F0b3JDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXIvcHJvZ3Jlc3NpbmRpY2F0b3IvcHJvZ3Jlc3NpbmRpY2F0b3ItY29udGFpbmVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBEZlByb2dyZXNzSW5kaWNhdG9yQmFja2Ryb3BDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXIvcHJvZ3Jlc3NpbmRpY2F0b3IvcHJvZ3Jlc3NpbmRpY2F0b3ItYmFja2Ryb3AuY29tcG9uZW50JztcbmV4cG9ydCB7IERmRGVmYXVsdFNwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXIvcHJvZ3Jlc3NpbmRpY2F0b3IvZGVmYXVsdC9kZWZhdWx0LXNwaW5uZXIuY29tcG9uZW50JztcblxuLy8gUlRMXG5leHBvcnQge1xuICBEZkRpcmVjdGlvbkRldGVjdGlvblNlcnZpY2UsXG4gIFJpZ2h0VG9MZWZ0RGlyZWN0aW9uRW51bVxufSBmcm9tICcuL2FuZ3VsYXIvcmlnaHQtdG8tbGVmdC9kaXJlY3Rpb25EZXRlY3Rpb24uc2VydmljZSc7XG5cbi8vIFNsaWRlclxuZXhwb3J0IHsgRGZTbGlkZXJNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvc2xpZGVyL3NsaWRlci5tb2R1bGUnO1xuZXhwb3J0IHsgRGZTbGlkZXJEaXJlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvc2xpZGVyL2RpcmVjdGlvbi9zbGlkZXJkaXJlY3Rpb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7XG4gIERmU2lkZU5hdkhlYWRlckRpcmVjdGl2ZSxcbiAgRGZTaWRlTmF2SXRlbURpcmVjdGl2ZSxcbiAgRGZTaWRlTmF2SWNvbkRpcmVjdGl2ZVxufSBmcm9tICcuL2FuZ3VsYXIvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudCc7XG5leHBvcnQgeyBEZk1hbmFnZVNpZGVOYXZEaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvc2lkZW5hdi9tYW5hZ2Utc2lkZW5hdi5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRGZFeGNsdWRlVHJhcERpcmVjdGl2ZSB9IGZyb20gJy4vYW5ndWxhci9zaWRlbmF2L2V4Y2x1ZGVUcmFwLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBDaGFuZ2VDb250ZXh0IH0gZnJvbSAnLi9hbmd1bGFyL3NsaWRlci9saWIvY2hhbmdlLWNvbnRleHQnO1xuZXhwb3J0IHsgUG9pbnRlclR5cGUgfSBmcm9tICcuL2FuZ3VsYXIvc2xpZGVyL2xpYi9wb2ludGVyLXR5cGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hbmd1bGFyL3NsaWRlci9saWIvb3B0aW9ucyc7XG5leHBvcnQgeyBTbGlkZXJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXIvc2xpZGVyL2xpYi9zbGlkZXIuY29tcG9uZW50JztcblxuLy8gU2VsZWN0c1xuZXhwb3J0IHsgRGZNYW5hZ2VOYXZTZWxlY3REaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvc2VsZWN0cy9uYXYvbWFuYWdlLW5hdi1zZWxlY3QuZGlyZWN0aXZlJztcbmV4cG9ydCB7IERmT3B0aW9uSGlnaGxpZ2h0RGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL3NlbGVjdHMvb3B0aW9uLWhpZ2hsaWdodC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRGZNYW5hZ2VCYWRnZUV2ZW50c0RpcmVjdGl2ZSB9IGZyb20gJy4vYW5ndWxhci9zZWxlY3RzL2V2ZW50cy9tYW5hZ2UtYmFkZ2UtZXZlbnRzLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBEZlNlbGVjdE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9zZWxlY3RzL3NlbGVjdC5tb2R1bGUnO1xuXG4vLyBTdGVwcGVyXG5leHBvcnQgeyBEZlN0ZXBwZXJEaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvc3RlcHBlci9zdGVwcGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBEZlN0ZXBwZXJTdGVwQ29udGVudERpcmVjdGl2ZSwgRGZTdGVwcGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyL3N0ZXBwZXIvc3RlcHBlci5jb21wb25lbnQnO1xuZXhwb3J0IHsgRGZTdGVwcGVyU3RlcERpcmVjdGl2ZSB9IGZyb20gJy4vYW5ndWxhci9zdGVwcGVyL3N0ZXBwZXIuZGlyZWN0aXZlJztcbmV4cG9ydCB0eXBlIHtcbiAgRGZTdGVwcGVyU3RlcCxcbiAgRGZTdGVwcGVyU3RhdGUsXG4gIERmU3RlcHBlck5vcm1hbGl6ZWRTdGF0ZSxcbiAgRGZTdGVwcGVyTm9ybWFsaXplZFN0ZXBcbn0gZnJvbSAnLi9hbmd1bGFyL3N0ZXBwZXIvc3RlcHBlci5zZXJ2aWNlJztcbmV4cG9ydCB7IERmU3RlcHBlck1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9zdGVwcGVyL3N0ZXBwZXIubW9kdWxlJztcbmV4cG9ydCB7IERmU3RlcHBlclNlcnZpY2UsIERmU3RlcFR5cGUgfSBmcm9tICcuL2FuZ3VsYXIvc3RlcHBlci9zdGVwcGVyLnNlcnZpY2UnO1xuXG4vLyBUb29sdGlwXG5leHBvcnQgeyBEZlRvb2x0aXBUcnVuY2F0ZURpcmVjdGl2ZSB9IGZyb20gJy4vYW5ndWxhci90b29sdGlwL3RydW5jYXRlL3Rvb2x0aXBUcnVuY2F0ZS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRGZUb29sdGlwTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyL3Rvb2x0aXAvdG9vbHRpcC5tb2R1bGUnO1xuXG4vLyBTaWRlbmF2XG5leHBvcnQgeyBEZlNpZGVOYXZJdGVtIH0gZnJvbSAnLi9hbmd1bGFyL3NpZGVuYXYvc2lkZW5hdi5zZXJ2aWNlJztcbmV4cG9ydCB7IERmU2lkZU5hdlNlcnZpY2UgfSBmcm9tICcuL2FuZ3VsYXIvc2lkZW5hdi9zaWRlbmF2LnNlcnZpY2UnO1xuZXhwb3J0IHsgRGZJZk1lZGlhRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL21lZGlhcXVlcmllcy9pZk1lZGlhLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBEZlNpZGVOYXZNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvc2lkZW5hdi9zaWRlbmF2Lm1vZHVsZSc7XG5leHBvcnQgeyBEZlNpZGVOYXZDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXIvc2lkZW5hdi9zaWRlbmF2LmNvbXBvbmVudCc7XG5leHBvcnQgeyBEZk5hdkl0ZW1UeXBlIH0gZnJvbSAnLi9hbmd1bGFyL3NpZGVuYXYvc2lkZW5hdi5zZXJ2aWNlJztcblxuLy8gU2lkZU5hdkNvbGxhcHNlXG5leHBvcnQgeyBEZlNpZGVOYXZDb2xsYXBzZU1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9zaWRlbmF2L2RmU2lkZU5hdkNvbGxhcHNlLm1vZHVsZSc7XG5leHBvcnQgeyBEZlNpZGVOYXZDb2xsYXBzZURpcmVjdGl2ZSB9IGZyb20gJy4vYW5ndWxhci9zaWRlbmF2L2RmU2lkZU5hdkNvbGxhcHNlJztcbmV4cG9ydCB7IERmU2lkZU5hdkNvbGxhcHNlU2VydmljZSB9IGZyb20gJy4vYW5ndWxhci9zaWRlbmF2L2RmU2lkZU5hdkNvbGxhcHNlLnNlcnZpY2UnO1xuXG4vLyBNZWRpYSBVdGlsc1xuZXhwb3J0IHtcbiAgQlJFQUtQT0lOVFNfVkFSUyxcbiAgREZfQlJFQUtQT0lOVFNfVkFSX0RFRkFVTFQsXG4gIERmQnJlYWtwb2ludHMsXG4gIERmTWVkaWFRdWVyeSxcbiAgRGZNZWRpYU9ic2VydmVyXG59IGZyb20gJy4vYW5ndWxhci9tZWRpYXF1ZXJpZXMvbWVkaWFVdGlscy5zZXJ2aWNlJztcblxuLy8gTWVkaWEgc2VydmljZVxuZXhwb3J0IHsgRGZNZWRpYSB9IGZyb20gJy4vYW5ndWxhci9tZWRpYXF1ZXJpZXMvbWVkaWEuc2VydmljZSc7XG5leHBvcnQgeyBEZk1lZGlhTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyL21lZGlhcXVlcmllcy9tZWRpYS5tb2R1bGUnO1xuXG4vLyBDYXJkXG5leHBvcnQgeyBEZk1hbmFnZUNhcmRTZWxlY3Rpb25EaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvY2FyZC9tYW5hZ2UtY2FyZC1zZWxlY3Rpb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7IERmQWR2YW5jZWRDYXJkTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyL2NhcmQvY2FyZC1hZHZhbmNlZC5tb2R1bGUnO1xuXG4vLyBHbG9iYWxcbmV4cG9ydCB7IERmTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyL2RmLm1vZHVsZSc7XG4iXX0=
|
|
87
|
+
// Title truncate
|
|
88
|
+
export { DfTitleTruncateDirective } from './angular/utils/titleTruncate.directive';
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9kZXNpZ24tZmFjdG9yeS9zcmMvbGliL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGdCQUFnQjtBQUNoQixPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4Q0FBOEMsQ0FBQztBQUNyRixPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMzRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx3RkFBd0YsQ0FBQztBQUVySSxRQUFRO0FBQ1IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRTdELFFBQVE7QUFDUixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFN0QsYUFBYTtBQUNiLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGdEQUFnRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHdDQUF3QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtDQUErQyxDQUFDO0FBRXpGLFNBQVM7QUFDVCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFaEUsT0FBTztBQUNQLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUNyRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUVwRixTQUFTO0FBQ1QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDekYsT0FBTyxFQUFFLG9CQUFvQixF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RSxrQkFBa0IsRUFBRSxNQUFNLDBDQUEwQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUN6RSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFFbEUsa0JBQWtCO0FBQ2xCLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ2pGLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBRXZGLGNBQWM7QUFDZCxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLDBCQUEwQixFQUMxQixhQUFhLEVBQ2IsWUFBWSxFQUNaLGVBQWUsRUFDaEIsTUFBTSwyQ0FBMkMsQ0FBQztBQUVuRCxnQkFBZ0I7QUFDaEIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUVwRSxPQUFPO0FBQ1AsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0sZ0RBQWdELENBQUM7QUFDaEcsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUNBQXFDLENBQUM7QUFFM0UsU0FBUztBQUNULE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUUvQyxpQkFBaUI7QUFDakIsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUNBQXlDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBBY2Nlc3NpYmlsaXR5XG5leHBvcnQgeyBEZkFjY2Vzc2liaWxpdHlNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvYWNjZXNzaWJpbGl0eS9hY2Nlc3NpYmlsaXR5Lm1vZHVsZSc7XG5leHBvcnQgeyBTa2lwTGlua0RpcmVjdGl2ZSB9IGZyb20gJy4vYW5ndWxhci9hY2Nlc3NpYmlsaXR5L2RpcmVjdGl2ZXMvc2tpcC1saW5rLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBTa2lwTGlua3NDb250YWluZXJDb21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXIvYWNjZXNzaWJpbGl0eS9jb21wb25lbnRzL3NraXAtbGlua3MtY29udGFpbmVyL3NraXAtbGlua3MtY29udGFpbmVyLmNvbXBvbmVudCc7XG5cbi8vIFRvYXN0XG5leHBvcnQgeyBEZlRvYXN0TW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyL3RvYXN0L3RvYXN0Lm1vZHVsZSc7XG5cbi8vIEFsZXJ0XG5leHBvcnQgeyBEZkFsZXJ0TW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyL2FsZXJ0L2FsZXJ0Lm1vZHVsZSc7XG5cbi8vIERhdGVwaWNrZXJcbmV4cG9ydCB7IENsb3NlSW5wdXREYXRlUGlja2VyRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL2RhdGVwaWNrZXIvY2xvc2VkYXRlcGlja2VyLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBEZkRhdGVQaWNrZXJNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvZGF0ZXBpY2tlci9kYXRlcGlja2VyLm1vZHVsZSc7XG5leHBvcnQgeyBEZkRhdGVwaWNrZXJSYW5nZURpcmVjdGl2ZSB9IGZyb20gJy4vYW5ndWxhci9kYXRlcGlja2VyL2RhdGVwaWNrZXItcmFuZ2UuZGlyZWN0aXZlJztcbmV4cG9ydCB7IERmRGF0ZXBpY2tlclJhbmdlU2VydmljZSB9IGZyb20gJy4vYW5ndWxhci9kYXRlcGlja2VyL2RhdGVwaWNrZXItcmFuZ2Uuc2VydmljZSc7XG5cbi8vIEZvb3RlclxuZXhwb3J0IHsgRGZGb290ZXJNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvZm9vdGVyL2Zvb3Rlci5tb2R1bGUnO1xuXG4vLyBJY29uXG5leHBvcnQgeyBEZkljb25Nb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvaWNvbi9pY29uLm1vZHVsZSc7XG5leHBvcnQgeyBEZkluc2VydEljb25Nb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvaWNvbi9pbnNlcnQvaW5zZXJ0LWljb24ubW9kdWxlJztcbmV4cG9ydCB7IERmQW1hZGV1c0ljb25Db21wb25lbnQgfSBmcm9tICcuL2FuZ3VsYXIvaWNvbi9hbWFkZXVzLWljb24nO1xuZXhwb3J0IHsgRGZJbnNlcnRJY29uRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL2ljb24vaW5zZXJ0L2luc2VydC1pY29uLmRpcmVjdGl2ZSc7XG5cbi8vIElucHV0c1xuZXhwb3J0IHsgRGZUcmlnZ2VyQ2xpY2tEaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvaW5wdXRzL2NsaWNrL3RyaWdnZXItY2xpY2suZGlyZWN0aXZlJztcbmV4cG9ydCB7IERmSW5wdXRJY29uRGlyZWN0aXZlLCBEZkRpcmVjdGlvbiB9IGZyb20gJy4vYW5ndWxhci9pbnB1dHMvaWNvbi9pbnB1dGljb24uZGlyZWN0aXZlJztcbmV4cG9ydCB7IERmQWR2YW5jZWRJbnB1dE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9pbnB1dHMvaW5wdXQtYWR2YW5jZWQubW9kdWxlJztcblxuLy8gTW9kYWxcbmV4cG9ydCB7IERmTW9kYWxTZXJ2aWNlIH0gZnJvbSAnLi9hbmd1bGFyL21vZGFsL21vZGFsLnNlcnZpY2UnO1xuXG4vLyBQb3BvdmVyXG5leHBvcnQgeyBEZlBvcG92ZXJNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvcG9wb3Zlci9wb3BvdmVyLm1vZHVsZSc7XG5leHBvcnQgeyBEZlBvcG92ZXJDb25maWcgfSBmcm9tICcuL2FuZ3VsYXIvcG9wb3Zlci9jb25maWcvcG9wb3Zlci5jb25maWcnO1xuXG4vLyBQcm9ncmVzc2JhclxuZXhwb3J0IHsgRGZQcm9ncmVzc2Jhck1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9wcm9ncmVzc2Jhci9wcm9ncmVzc2Jhci5tb2R1bGUnO1xuZXhwb3J0IHsgRGZQcm9ncmVzc2JhckNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci9wcm9ncmVzc2Jhci9wcm9ncmVzc2Jhci5jb21wb25lbnQnO1xuXG4vLyBQcm9ncmVzcyBpbmRpY2F0b3JcbmV4cG9ydCB7IERmUHJvZ3Jlc3NJbmRpY2F0b3JNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvcHJvZ3Jlc3NpbmRpY2F0b3IvcHJvZ3Jlc3NpbmRpY2F0b3IubW9kdWxlJztcbmV4cG9ydCB7XG4gIERmUHJvZ3Jlc3NJbmRpY2F0b3JTZXJ2aWNlLFxuICBEZlByb2dyZXNzSW5kaWNhdG9yQ29udGVudFxufSBmcm9tICcuL2FuZ3VsYXIvcHJvZ3Jlc3NpbmRpY2F0b3IvcHJvZ3Jlc3NpbmRpY2F0b3Iuc2VydmljZSc7XG5leHBvcnQgeyBEZlByb2dyZXNzSW5kaWNhdG9yRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL3Byb2dyZXNzaW5kaWNhdG9yL3Byb2dyZXNzaW5kaWNhdG9yLmRpcmVjdGl2ZSc7XG5leHBvcnQge1xuICBEZlByb2dyZXNzSW5kaWNhdG9yT3B0aW9ucyxcbiAgRGZQcm9ncmVzc0luZGljYXRvckNvbnRlbnRUeXBlLFxuICBEZlByb2dyZXNzSW5kaWNhdG9yQ29udGVudFNwaW5uZXIsXG4gIERmUHJvZ3Jlc3NJbmRpY2F0b3JDb250ZW50UHJvZ3Jlc3NCYXIsXG4gIERmUHJvZ3Jlc3NJbmRpY2F0b3JDb250ZW50UG9zaXRpb25cbn0gZnJvbSAnLi9hbmd1bGFyL3Byb2dyZXNzaW5kaWNhdG9yL3Byb2dyZXNzaW5kaWNhdG9yLWNvbmZpZyc7XG5leHBvcnQgeyBEZlByb2dyZXNzSW5kaWNhdG9yUmVmIH0gZnJvbSAnLi9hbmd1bGFyL3Byb2dyZXNzaW5kaWNhdG9yL3Byb2dyZXNzaW5kaWNhdG9yLXJlZic7XG5leHBvcnQgeyBEZlByb2dyZXNzSW5kaWNhdG9yQ29udGFpbmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyL3Byb2dyZXNzaW5kaWNhdG9yL3Byb2dyZXNzaW5kaWNhdG9yLWNvbnRhaW5lci5jb21wb25lbnQnO1xuZXhwb3J0IHsgRGZQcm9ncmVzc0luZGljYXRvckJhY2tkcm9wQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyL3Byb2dyZXNzaW5kaWNhdG9yL3Byb2dyZXNzaW5kaWNhdG9yLWJhY2tkcm9wLmNvbXBvbmVudCc7XG5leHBvcnQgeyBEZkRlZmF1bHRTcGlubmVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyL3Byb2dyZXNzaW5kaWNhdG9yL2RlZmF1bHQvZGVmYXVsdC1zcGlubmVyLmNvbXBvbmVudCc7XG5cbi8vIFJUTFxuZXhwb3J0IHtcbiAgRGZEaXJlY3Rpb25EZXRlY3Rpb25TZXJ2aWNlLFxuICBSaWdodFRvTGVmdERpcmVjdGlvbkVudW1cbn0gZnJvbSAnLi9hbmd1bGFyL3JpZ2h0LXRvLWxlZnQvZGlyZWN0aW9uRGV0ZWN0aW9uLnNlcnZpY2UnO1xuXG4vLyBTbGlkZXJcbmV4cG9ydCB7IERmU2xpZGVyTW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyL3NsaWRlci9zbGlkZXIubW9kdWxlJztcbmV4cG9ydCB7IERmU2xpZGVyRGlyZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL3NsaWRlci9kaXJlY3Rpb24vc2xpZGVyZGlyZWN0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQge1xuICBEZlNpZGVOYXZIZWFkZXJEaXJlY3RpdmUsXG4gIERmU2lkZU5hdkl0ZW1EaXJlY3RpdmUsXG4gIERmU2lkZU5hdkljb25EaXJlY3RpdmVcbn0gZnJvbSAnLi9hbmd1bGFyL3NpZGVuYXYvc2lkZW5hdi5jb21wb25lbnQnO1xuZXhwb3J0IHsgRGZNYW5hZ2VTaWRlTmF2RGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL3NpZGVuYXYvbWFuYWdlLXNpZGVuYXYuZGlyZWN0aXZlJztcbmV4cG9ydCB7IERmRXhjbHVkZVRyYXBEaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvc2lkZW5hdi9leGNsdWRlVHJhcC5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgQ2hhbmdlQ29udGV4dCB9IGZyb20gJy4vYW5ndWxhci9zbGlkZXIvbGliL2NoYW5nZS1jb250ZXh0JztcbmV4cG9ydCB7IFBvaW50ZXJUeXBlIH0gZnJvbSAnLi9hbmd1bGFyL3NsaWRlci9saWIvcG9pbnRlci10eXBlJztcbmV4cG9ydCAqIGZyb20gJy4vYW5ndWxhci9zbGlkZXIvbGliL29wdGlvbnMnO1xuZXhwb3J0IHsgU2xpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyL3NsaWRlci9saWIvc2xpZGVyLmNvbXBvbmVudCc7XG5cbi8vIFNlbGVjdHNcbmV4cG9ydCB7IERmTWFuYWdlTmF2U2VsZWN0RGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL3NlbGVjdHMvbmF2L21hbmFnZS1uYXYtc2VsZWN0LmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBEZk9wdGlvbkhpZ2hsaWdodERpcmVjdGl2ZSB9IGZyb20gJy4vYW5ndWxhci9zZWxlY3RzL29wdGlvbi1oaWdobGlnaHQuZGlyZWN0aXZlJztcbmV4cG9ydCB7IERmTWFuYWdlQmFkZ2VFdmVudHNEaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvc2VsZWN0cy9ldmVudHMvbWFuYWdlLWJhZGdlLWV2ZW50cy5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRGZTZWxlY3RNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvc2VsZWN0cy9zZWxlY3QubW9kdWxlJztcblxuLy8gU3RlcHBlclxuZXhwb3J0IHsgRGZTdGVwcGVyRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL3N0ZXBwZXIvc3RlcHBlci5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRGZTdGVwcGVyU3RlcENvbnRlbnREaXJlY3RpdmUsIERmU3RlcHBlckNvbXBvbmVudCB9IGZyb20gJy4vYW5ndWxhci9zdGVwcGVyL3N0ZXBwZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IERmU3RlcHBlclN0ZXBEaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvc3RlcHBlci9zdGVwcGVyLmRpcmVjdGl2ZSc7XG5leHBvcnQgdHlwZSB7XG4gIERmU3RlcHBlclN0ZXAsXG4gIERmU3RlcHBlclN0YXRlLFxuICBEZlN0ZXBwZXJOb3JtYWxpemVkU3RhdGUsXG4gIERmU3RlcHBlck5vcm1hbGl6ZWRTdGVwXG59IGZyb20gJy4vYW5ndWxhci9zdGVwcGVyL3N0ZXBwZXIuc2VydmljZSc7XG5leHBvcnQgeyBEZlN0ZXBwZXJNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvc3RlcHBlci9zdGVwcGVyLm1vZHVsZSc7XG5leHBvcnQgeyBEZlN0ZXBwZXJTZXJ2aWNlLCBEZlN0ZXBUeXBlIH0gZnJvbSAnLi9hbmd1bGFyL3N0ZXBwZXIvc3RlcHBlci5zZXJ2aWNlJztcblxuLy8gVG9vbHRpcFxuZXhwb3J0IHsgRGZUb29sdGlwVHJ1bmNhdGVEaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvdG9vbHRpcC90cnVuY2F0ZS90b29sdGlwVHJ1bmNhdGUuZGlyZWN0aXZlJztcbmV4cG9ydCB7IERmVG9vbHRpcE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci90b29sdGlwL3Rvb2x0aXAubW9kdWxlJztcblxuLy8gU2lkZW5hdlxuZXhwb3J0IHsgRGZTaWRlTmF2SXRlbSB9IGZyb20gJy4vYW5ndWxhci9zaWRlbmF2L3NpZGVuYXYuc2VydmljZSc7XG5leHBvcnQgeyBEZlNpZGVOYXZTZXJ2aWNlIH0gZnJvbSAnLi9hbmd1bGFyL3NpZGVuYXYvc2lkZW5hdi5zZXJ2aWNlJztcbmV4cG9ydCB7IERmSWZNZWRpYURpcmVjdGl2ZSB9IGZyb20gJy4vYW5ndWxhci9tZWRpYXF1ZXJpZXMvaWZNZWRpYS5kaXJlY3RpdmUnO1xuZXhwb3J0IHsgRGZTaWRlTmF2TW9kdWxlIH0gZnJvbSAnLi9hbmd1bGFyL3NpZGVuYXYvc2lkZW5hdi5tb2R1bGUnO1xuZXhwb3J0IHsgRGZTaWRlTmF2Q29tcG9uZW50IH0gZnJvbSAnLi9hbmd1bGFyL3NpZGVuYXYvc2lkZW5hdi5jb21wb25lbnQnO1xuZXhwb3J0IHsgRGZOYXZJdGVtVHlwZSB9IGZyb20gJy4vYW5ndWxhci9zaWRlbmF2L3NpZGVuYXYuc2VydmljZSc7XG5cbi8vIFNpZGVOYXZDb2xsYXBzZVxuZXhwb3J0IHsgRGZTaWRlTmF2Q29sbGFwc2VNb2R1bGUgfSBmcm9tICcuL2FuZ3VsYXIvc2lkZW5hdi9kZlNpZGVOYXZDb2xsYXBzZS5tb2R1bGUnO1xuZXhwb3J0IHsgRGZTaWRlTmF2Q29sbGFwc2VEaXJlY3RpdmUgfSBmcm9tICcuL2FuZ3VsYXIvc2lkZW5hdi9kZlNpZGVOYXZDb2xsYXBzZSc7XG5leHBvcnQgeyBEZlNpZGVOYXZDb2xsYXBzZVNlcnZpY2UgfSBmcm9tICcuL2FuZ3VsYXIvc2lkZW5hdi9kZlNpZGVOYXZDb2xsYXBzZS5zZXJ2aWNlJztcblxuLy8gTWVkaWEgVXRpbHNcbmV4cG9ydCB7XG4gIEJSRUFLUE9JTlRTX1ZBUlMsXG4gIERGX0JSRUFLUE9JTlRTX1ZBUl9ERUZBVUxULFxuICBEZkJyZWFrcG9pbnRzLFxuICBEZk1lZGlhUXVlcnksXG4gIERmTWVkaWFPYnNlcnZlclxufSBmcm9tICcuL2FuZ3VsYXIvbWVkaWFxdWVyaWVzL21lZGlhVXRpbHMuc2VydmljZSc7XG5cbi8vIE1lZGlhIHNlcnZpY2VcbmV4cG9ydCB7IERmTWVkaWEgfSBmcm9tICcuL2FuZ3VsYXIvbWVkaWFxdWVyaWVzL21lZGlhLnNlcnZpY2UnO1xuZXhwb3J0IHsgRGZNZWRpYU1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9tZWRpYXF1ZXJpZXMvbWVkaWEubW9kdWxlJztcblxuLy8gQ2FyZFxuZXhwb3J0IHsgRGZNYW5hZ2VDYXJkU2VsZWN0aW9uRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL2NhcmQvbWFuYWdlLWNhcmQtc2VsZWN0aW9uLmRpcmVjdGl2ZSc7XG5leHBvcnQgeyBEZkFkdmFuY2VkQ2FyZE1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9jYXJkL2NhcmQtYWR2YW5jZWQubW9kdWxlJztcblxuLy8gR2xvYmFsXG5leHBvcnQgeyBEZk1vZHVsZSB9IGZyb20gJy4vYW5ndWxhci9kZi5tb2R1bGUnO1xuXG4vLyBUaXRsZSB0cnVuY2F0ZVxuZXhwb3J0IHsgRGZUaXRsZVRydW5jYXRlRGlyZWN0aXZlIH0gZnJvbSAnLi9hbmd1bGFyL3V0aWxzL3RpdGxlVHJ1bmNhdGUuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -5029,6 +5029,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
5029
5029
|
}]
|
|
5030
5030
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
|
|
5031
5031
|
|
|
5032
|
+
/**
|
|
5033
|
+
* @param element the HTML element
|
|
5034
|
+
* @returns whether the element is overflowing
|
|
5035
|
+
*/
|
|
5036
|
+
function hasOverflow(element) {
|
|
5037
|
+
return element?.offsetHeight < element?.scrollHeight || element?.offsetWidth < element?.scrollWidth;
|
|
5038
|
+
}
|
|
5039
|
+
|
|
5040
|
+
/**
|
|
5041
|
+
* DfTitleTruncate directive
|
|
5042
|
+
* It adds the title attribute with the element's inner text as value
|
|
5043
|
+
* when the element is truncated.
|
|
5044
|
+
*/
|
|
5045
|
+
class DfTitleTruncateDirective {
|
|
5046
|
+
constructor(elementRef, renderer) {
|
|
5047
|
+
this.elementRef = elementRef;
|
|
5048
|
+
this.renderer = renderer;
|
|
5049
|
+
}
|
|
5050
|
+
ngOnInit() {
|
|
5051
|
+
this.renderer.addClass(this.elementRef.nativeElement, 'text-truncate');
|
|
5052
|
+
}
|
|
5053
|
+
ngDoCheck() {
|
|
5054
|
+
const { nativeElement } = this.elementRef;
|
|
5055
|
+
const titleAttributeName = 'title';
|
|
5056
|
+
if (hasOverflow(nativeElement)) {
|
|
5057
|
+
const value = nativeElement.innerText;
|
|
5058
|
+
nativeElement.setAttribute(titleAttributeName, value);
|
|
5059
|
+
}
|
|
5060
|
+
else if (nativeElement.getAttribute(titleAttributeName)) {
|
|
5061
|
+
nativeElement.removeAttribute(titleAttributeName);
|
|
5062
|
+
}
|
|
5063
|
+
}
|
|
5064
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DfTitleTruncateDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5065
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0", type: DfTitleTruncateDirective, isStandalone: true, selector: "[dfTitleTruncate]", exportAs: ["dfTitleTruncate"], ngImport: i0 }); }
|
|
5066
|
+
}
|
|
5067
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DfTitleTruncateDirective, decorators: [{
|
|
5068
|
+
type: Directive,
|
|
5069
|
+
args: [{
|
|
5070
|
+
exportAs: 'dfTitleTruncate',
|
|
5071
|
+
selector: '[dfTitleTruncate]',
|
|
5072
|
+
standalone: true
|
|
5073
|
+
}]
|
|
5074
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
|
|
5075
|
+
|
|
5032
5076
|
let uniqueId = 0;
|
|
5033
5077
|
/**
|
|
5034
5078
|
* SideNav is a component to provide navigation feature with a panel on the side of your page
|
|
@@ -5049,11 +5093,19 @@ class DfSideNavListComponent {
|
|
|
5049
5093
|
return `df-sidenav-id-${uniqueId};`;
|
|
5050
5094
|
}
|
|
5051
5095
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DfSideNavListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5052
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: DfSideNavListComponent, isStandalone: true, selector: "df-sidenavlist", inputs: { items: "items", tplIcon: "tplIcon", tplItem: "tplItem", currentItem: "currentItem", id: "id" }, ngImport: i0, template: "<ul class=\"df-sidenav-list\" [ngbCollapse]=\"currentItem?.isCollapsed ?? false\" [attr.id]=\"id\">\n @for (item of items; track item; let i = $index) {\n <li dfManageSideNav>\n <ng-template #dfSideNavItemContent>\n @if (tplIcon && item.icon) {\n <ng-template\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n } @else if (item.icon) {\n <span aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon me-5\"></span>\n }\n <span class=\"flex-grow-1 text-nowrap
|
|
5096
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.0", type: DfSideNavListComponent, isStandalone: true, selector: "df-sidenavlist", inputs: { items: "items", tplIcon: "tplIcon", tplItem: "tplItem", currentItem: "currentItem", id: "id" }, ngImport: i0, template: "<ul class=\"df-sidenav-list\" [ngbCollapse]=\"currentItem?.isCollapsed ?? false\" [attr.id]=\"id\">\n @for (item of items; track item; let i = $index) {\n <li dfManageSideNav>\n <ng-template #dfSideNavItemContent>\n @if (tplIcon && item.icon) {\n <ng-template\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n } @else if (item.icon) {\n <span aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon me-5\"></span>\n }\n <span class=\"flex-grow-1 text-nowrap\" dfTitleTruncate>{{ item.title }}</span>\n </ng-template>\n @switch (item.type) {\n @case (sideNavService.type.subMenus) {\n <ng-template #subMenus>\n <button\n class=\"df-sidenav-item d-flex align-items-center\"\n (click)=\"sideNavService.toggle(item)\"\n type=\"button\"\n [attr.aria-expanded]=\"!item.isCollapsed\"\n [attr.aria-controls]=\"'sidenavControl' + controlledUniqueId.toString() + '-' + i\"\n [class.df-sidenav-item-withicon]=\"item.icon\"\n >\n @if (tplIcon && item.icon) {\n <ng-template\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n } @else if (item.icon) {\n <span aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon me-5\"></span>\n }\n <span class=\"flex-grow-1 text-nowrap\" dfTitleTruncate>{{ item.title }}</span>\n <span\n class=\"ms-3\"\n [class.icon-chevron-down]=\"item.isCollapsed\"\n [class.icon-chevron-up]=\"!item.isCollapsed\"\n ></span>\n <!-- put the chevron as icon directly in the menu -->\n <!-- todo the icon and the minimized -->\n </button>\n <!-- we don't pass the icons as they are not suppose to have ones ??-->\n <df-sidenavlist\n [items]=\"item.subMenus ?? []\"\n [tplItem]=\"tplItem\"\n [currentItem]=\"item\"\n [id]=\"'sidenavControl' + controlledUniqueId.toString() + '-' + i\"\n ></df-sidenavlist>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"subMenus\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"subMenus\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.actionButton) {\n <ng-template #dfSideNavItemButton>\n <button\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n (click)=\"sideNavService.activeItem(item)\"\n [class.active]=\"item.isActive\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </button>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfSideNavItemButton\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfSideNavItemButton\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.routerLink) {\n <ng-template #dfRouterTemplate>\n <a\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n routerLinkActive=\"active\"\n routerLink=\"{{ item.value }}\"\n ariaCurrentWhenActive=\"page\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </a>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfRouterTemplate\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfRouterTemplate\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.separator) {\n <ng-template #dfSeparatorTmp>\n <hr class=\"spacing-01\" />\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfSeparatorTmp\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfSeparatorTmp\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.template) {\n @if (tplItem) {\n <ng-template\n [ngTemplateOutlet]=\"tplItem.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n }\n }\n @case (sideNavService.type.title) {\n <ng-template #dfTitleTmp>\n <div class=\"df-sidenav-item df-sidenav-title d-flex align-items-center flex-grow-1\">\n <span class=\"text-nowrap text-uppercase text-muted\" dfTitleTruncate>{{ item.title }}</span>\n </div>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfTitleTmp\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfTitleTmp\"></ng-container>\n </ng-container>\n }\n }\n @default {\n <ng-template #dfLinkDefaultTmp>\n <a\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n href=\"{{ item.value }}\"\n [class.active]=\"item.isActive && item.type === sideNavService.type.link\"\n [attr.target]=\"item.type === sideNavService.type.externalLink ? '_blank' : ''\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </a>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfLinkDefaultTmp\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfLinkDefaultTmp\"></ng-container>\n </ng-container>\n }\n }\n }\n </li>\n }\n</ul>\n", dependencies: [{ kind: "component", type: DfSideNavListComponent, selector: "df-sidenavlist", inputs: ["items", "tplIcon", "tplItem", "currentItem", "id"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: NgbCollapseModule }, { kind: "directive", type: i1.NgbCollapse, selector: "[ngbCollapse]", inputs: ["animation", "ngbCollapse", "horizontal"], outputs: ["ngbCollapseChange", "shown", "hidden"], exportAs: ["ngbCollapse"] }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i3.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: i3.RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "ngmodule", type: DfMediaModule }, { kind: "directive", type: DfIfMediaDirective, selector: "[dfIfMedia]", inputs: ["dfIfMedia"] }, { kind: "ngmodule", type: DfSideNavCollapseModule }, { kind: "directive", type: DfManageSideNavDirective, selector: "[dfManageSideNav]" }, { kind: "directive", type: DfTitleTruncateDirective, selector: "[dfTitleTruncate]", exportAs: ["dfTitleTruncate"] }] }); }
|
|
5053
5097
|
}
|
|
5054
5098
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DfSideNavListComponent, decorators: [{
|
|
5055
5099
|
type: Component,
|
|
5056
|
-
args: [{ selector: 'df-sidenavlist', standalone: true, imports: [
|
|
5100
|
+
args: [{ selector: 'df-sidenavlist', standalone: true, imports: [
|
|
5101
|
+
CommonModule,
|
|
5102
|
+
NgbCollapseModule,
|
|
5103
|
+
RouterModule,
|
|
5104
|
+
DfMediaModule,
|
|
5105
|
+
DfSideNavCollapseModule,
|
|
5106
|
+
DfManageSideNavDirective,
|
|
5107
|
+
DfTitleTruncateDirective
|
|
5108
|
+
], template: "<ul class=\"df-sidenav-list\" [ngbCollapse]=\"currentItem?.isCollapsed ?? false\" [attr.id]=\"id\">\n @for (item of items; track item; let i = $index) {\n <li dfManageSideNav>\n <ng-template #dfSideNavItemContent>\n @if (tplIcon && item.icon) {\n <ng-template\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n } @else if (item.icon) {\n <span aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon me-5\"></span>\n }\n <span class=\"flex-grow-1 text-nowrap\" dfTitleTruncate>{{ item.title }}</span>\n </ng-template>\n @switch (item.type) {\n @case (sideNavService.type.subMenus) {\n <ng-template #subMenus>\n <button\n class=\"df-sidenav-item d-flex align-items-center\"\n (click)=\"sideNavService.toggle(item)\"\n type=\"button\"\n [attr.aria-expanded]=\"!item.isCollapsed\"\n [attr.aria-controls]=\"'sidenavControl' + controlledUniqueId.toString() + '-' + i\"\n [class.df-sidenav-item-withicon]=\"item.icon\"\n >\n @if (tplIcon && item.icon) {\n <ng-template\n [ngTemplateOutlet]=\"tplIcon.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n } @else if (item.icon) {\n <span aria-hidden=\"true\" class=\"{{ item.icon }} df-sidenav-icon me-5\"></span>\n }\n <span class=\"flex-grow-1 text-nowrap\" dfTitleTruncate>{{ item.title }}</span>\n <span\n class=\"ms-3\"\n [class.icon-chevron-down]=\"item.isCollapsed\"\n [class.icon-chevron-up]=\"!item.isCollapsed\"\n ></span>\n <!-- put the chevron as icon directly in the menu -->\n <!-- todo the icon and the minimized -->\n </button>\n <!-- we don't pass the icons as they are not suppose to have ones ??-->\n <df-sidenavlist\n [items]=\"item.subMenus ?? []\"\n [tplItem]=\"tplItem\"\n [currentItem]=\"item\"\n [id]=\"'sidenavControl' + controlledUniqueId.toString() + '-' + i\"\n ></df-sidenavlist>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"subMenus\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"subMenus\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.actionButton) {\n <ng-template #dfSideNavItemButton>\n <button\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n (click)=\"sideNavService.activeItem(item)\"\n [class.active]=\"item.isActive\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </button>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfSideNavItemButton\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfSideNavItemButton\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.routerLink) {\n <ng-template #dfRouterTemplate>\n <a\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n routerLinkActive=\"active\"\n routerLink=\"{{ item.value }}\"\n ariaCurrentWhenActive=\"page\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </a>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfRouterTemplate\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfRouterTemplate\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.separator) {\n <ng-template #dfSeparatorTmp>\n <hr class=\"spacing-01\" />\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfSeparatorTmp\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfSeparatorTmp\"></ng-container>\n </ng-container>\n }\n }\n @case (sideNavService.type.template) {\n @if (tplItem) {\n <ng-template\n [ngTemplateOutlet]=\"tplItem.templateRef\"\n [ngTemplateOutletContext]=\"{ $implicit: item }\"\n ></ng-template>\n }\n }\n @case (sideNavService.type.title) {\n <ng-template #dfTitleTmp>\n <div class=\"df-sidenav-item df-sidenav-title d-flex align-items-center flex-grow-1\">\n <span class=\"text-nowrap text-uppercase text-muted\" dfTitleTruncate>{{ item.title }}</span>\n </div>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfTitleTmp\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfTitleTmp\"></ng-container>\n </ng-container>\n }\n }\n @default {\n <ng-template #dfLinkDefaultTmp>\n <a\n class=\"df-sidenav-item d-flex align-items-center flex-nowrap\"\n href=\"{{ item.value }}\"\n [class.active]=\"item.isActive && item.type === sideNavService.type.link\"\n [attr.target]=\"item.type === sideNavService.type.externalLink ? '_blank' : ''\"\n >\n <ng-container *ngTemplateOutlet=\"dfSideNavItemContent\"></ng-container>\n </a>\n </ng-template>\n @if (!item.breakpoints) {\n <ng-container *ngTemplateOutlet=\"dfLinkDefaultTmp\"></ng-container>\n } @else {\n <ng-container *dfIfMedia=\"item.breakpoints!\">\n <ng-container *ngTemplateOutlet=\"dfLinkDefaultTmp\"></ng-container>\n </ng-container>\n }\n }\n }\n </li>\n }\n</ul>\n" }]
|
|
5057
5109
|
}], propDecorators: { items: [{
|
|
5058
5110
|
type: Input
|
|
5059
5111
|
}], tplIcon: [{
|
|
@@ -5897,10 +5949,7 @@ class DfTooltipTruncateDirective {
|
|
|
5897
5949
|
this.renderer.addClass(this.elementRef.nativeElement, 'text-truncate');
|
|
5898
5950
|
}
|
|
5899
5951
|
ngDoCheck() {
|
|
5900
|
-
this.tooltip.disableTooltip = !
|
|
5901
|
-
}
|
|
5902
|
-
hasOverflow(element) {
|
|
5903
|
-
return element?.offsetHeight < element?.scrollHeight || element?.offsetWidth < element?.scrollWidth;
|
|
5952
|
+
this.tooltip.disableTooltip = !hasOverflow(this.elementRef.nativeElement);
|
|
5904
5953
|
}
|
|
5905
5954
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.0", ngImport: i0, type: DfTooltipTruncateDirective, deps: [{ token: i1.NgbTooltip }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5906
5955
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.1.0", type: DfTooltipTruncateDirective, isStandalone: true, selector: "[dfTooltipTruncate]", exportAs: ["dfTooltipTruncate"], ngImport: i0 }); }
|
|
@@ -6120,5 +6169,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.0", ngImpor
|
|
|
6120
6169
|
* Generated bundle index. Do not edit.
|
|
6121
6170
|
*/
|
|
6122
6171
|
|
|
6123
|
-
export { BREAKPOINTS_VARS, ChangeContext, CloseInputDatePickerDirective, DF_BREAKPOINTS_VAR_DEFAULT, DfAccessibilityModule, DfAdvancedCardModule, DfAdvancedInputModule, DfAlertModule, DfAmadeusIconComponent, DfBreakpoints, DfDatePickerModule, DfDatepickerRangeDirective, DfDatepickerRangeService, DfDefaultSpinnerComponent, DfDirectionDetectionService, DfExcludeTrapDirective, DfFooterModule, DfIconModule, DfIfMediaDirective, DfInputIconDirective, DfInsertIconDirective, DfInsertIconModule, DfManageBadgeEventsDirective, DfManageCardSelectionDirective, DfManageNavSelectDirective, DfManageSideNavDirective, DfMedia, DfMediaModule, DfMediaObserver, DfMediaQuery, DfModalService, DfModule, DfNavItemType, DfOptionHighlightDirective, DfPopoverConfig, DfPopoverModule, DfProgressIndicatorBackdropComponent, DfProgressIndicatorContainerComponent, DfProgressIndicatorContentPosition, DfProgressIndicatorContentProgressBar, DfProgressIndicatorContentSpinner, DfProgressIndicatorContentType, DfProgressIndicatorDirective, DfProgressIndicatorModule, DfProgressIndicatorRef, DfProgressIndicatorService, DfProgressbarComponent, DfProgressbarModule, DfSelectModule, DfSideNavCollapseDirective, DfSideNavCollapseModule, DfSideNavCollapseService, DfSideNavComponent, DfSideNavHeaderDirective, DfSideNavIconDirective, DfSideNavItemDirective, DfSideNavModule, DfSideNavService, DfSliderDirectionDirective, DfSliderModule, DfStepperComponent, DfStepperDirective, DfStepperModule, DfStepperService, DfStepperStepContentDirective, DfStepperStepDirective, DfToastModule, DfTooltipModule, DfTooltipTruncateDirective, DfTriggerClickDirective, LabelType, Options, PointerType, RightToLeftDirectionEnum, SkipLinkDirective, SkipLinksContainerComponent, SliderComponent };
|
|
6172
|
+
export { BREAKPOINTS_VARS, ChangeContext, CloseInputDatePickerDirective, DF_BREAKPOINTS_VAR_DEFAULT, DfAccessibilityModule, DfAdvancedCardModule, DfAdvancedInputModule, DfAlertModule, DfAmadeusIconComponent, DfBreakpoints, DfDatePickerModule, DfDatepickerRangeDirective, DfDatepickerRangeService, DfDefaultSpinnerComponent, DfDirectionDetectionService, DfExcludeTrapDirective, DfFooterModule, DfIconModule, DfIfMediaDirective, DfInputIconDirective, DfInsertIconDirective, DfInsertIconModule, DfManageBadgeEventsDirective, DfManageCardSelectionDirective, DfManageNavSelectDirective, DfManageSideNavDirective, DfMedia, DfMediaModule, DfMediaObserver, DfMediaQuery, DfModalService, DfModule, DfNavItemType, DfOptionHighlightDirective, DfPopoverConfig, DfPopoverModule, DfProgressIndicatorBackdropComponent, DfProgressIndicatorContainerComponent, DfProgressIndicatorContentPosition, DfProgressIndicatorContentProgressBar, DfProgressIndicatorContentSpinner, DfProgressIndicatorContentType, DfProgressIndicatorDirective, DfProgressIndicatorModule, DfProgressIndicatorRef, DfProgressIndicatorService, DfProgressbarComponent, DfProgressbarModule, DfSelectModule, DfSideNavCollapseDirective, DfSideNavCollapseModule, DfSideNavCollapseService, DfSideNavComponent, DfSideNavHeaderDirective, DfSideNavIconDirective, DfSideNavItemDirective, DfSideNavModule, DfSideNavService, DfSliderDirectionDirective, DfSliderModule, DfStepperComponent, DfStepperDirective, DfStepperModule, DfStepperService, DfStepperStepContentDirective, DfStepperStepDirective, DfTitleTruncateDirective, DfToastModule, DfTooltipModule, DfTooltipTruncateDirective, DfTriggerClickDirective, LabelType, Options, PointerType, RightToLeftDirectionEnum, SkipLinkDirective, SkipLinksContainerComponent, SliderComponent };
|
|
6124
6173
|
//# sourceMappingURL=design-factory.mjs.map
|