@flywheel-io/vision 1.5.1 → 1.6.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/assets/fonts/Flywheel-Vision-Icons.svg +3 -1
- package/assets/fonts/Flywheel-Vision-Icons.ttf +0 -0
- package/assets/fonts/Flywheel-Vision-Icons.woff +0 -0
- package/assets/svg/crown-style-circle.svg +5 -0
- package/components/button/button.component.d.ts +2 -1
- package/components/button/button.module.d.ts +3 -3
- package/components/card/card-header/card-header.component.d.ts +2 -1
- package/components/icon/icon.component.d.ts +1 -1
- package/components/navbar/navbar-item/navbar-item.component.d.ts +2 -2
- package/components/progress/bar/bar.component.d.ts +30 -0
- package/components/progress/progress.module.d.ts +9 -0
- package/components/progress/spinner/spinner.component.d.ts +37 -0
- package/components/select-menu/select-menu.component.d.ts +3 -1
- package/esm2020/components/button/button.component.mjs +20 -3
- package/esm2020/components/button/button.module.mjs +7 -7
- package/esm2020/components/card/card-header/card-header.component.mjs +8 -3
- package/esm2020/components/icon/icon.component.mjs +7 -2
- package/esm2020/components/navbar/navbar-item/navbar-item.component.mjs +11 -4
- package/esm2020/components/navbar/navbar-sub-item/navbar-sub-item.component.mjs +3 -3
- package/esm2020/components/paginator/paginator-advanced/paginator-advanced.component.mjs +1 -1
- package/esm2020/components/progress/bar/bar.component.mjs +79 -0
- package/esm2020/components/progress/progress.module.mjs +29 -0
- package/esm2020/components/progress/spinner/spinner.component.mjs +101 -0
- package/esm2020/components/select-menu/select-menu.component.mjs +17 -9
- package/esm2020/public-api.mjs +4 -1
- package/fesm2015/flywheel-io-vision.mjs +267 -28
- package/fesm2015/flywheel-io-vision.mjs.map +1 -1
- package/fesm2020/flywheel-io-vision.mjs +267 -28
- package/fesm2020/flywheel-io-vision.mjs.map +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +3 -0
- package/scss/icons/_icon-glyphs.scss +3 -1
- package/styles.css +4 -0
|
@@ -22,6 +22,12 @@ export class FwNavbarItemComponent {
|
|
|
22
22
|
this.updateLayout();
|
|
23
23
|
}
|
|
24
24
|
updateLayout() {
|
|
25
|
+
if (this.selected) {
|
|
26
|
+
this.iconColor = 'primary';
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this.iconColor = 'muted';
|
|
30
|
+
}
|
|
25
31
|
if (this.subItems) {
|
|
26
32
|
this.subItems.forEach(subItem => {
|
|
27
33
|
subItem.hidden = !(this.subItemsOpen && !this.collapsed);
|
|
@@ -34,17 +40,18 @@ export class FwNavbarItemComponent {
|
|
|
34
40
|
});
|
|
35
41
|
}
|
|
36
42
|
}
|
|
37
|
-
toggleSubItemsView() {
|
|
43
|
+
toggleSubItemsView(event) {
|
|
44
|
+
event.stopPropagation();
|
|
38
45
|
this.subItemsOpen = !this.subItemsOpen;
|
|
39
46
|
this.updateLayout();
|
|
40
47
|
return false;
|
|
41
48
|
}
|
|
42
49
|
}
|
|
43
50
|
FwNavbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
44
|
-
FwNavbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwNavbarItemComponent, selector: "fw-navbar-item", inputs: { value: "value", title: "title", description: "description", icon: "icon", iconColor: "iconColor", disabled: "disabled", hidden: "hidden", showTooltip: "showTooltip", collapsed: "collapsed", href: "href", target: "target", subItemsOpen: "subItemsOpen", subItemsTooltipTitle: "subItemsTooltipTitle", selected: "selected" }, host: { properties: { "class.collapsed": "this.collapsed", "class.selected": "this.selected" } }, queries: [{ propertyName: "subItems", predicate: FwNavbarSubItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!hidden\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <div\n [ngClass]=\"['navbar-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <fw-tooltip [title]=\"showTooltip ? title : ''\" position=\"right\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"navbar-icon {{iconColor}}\">{{ icon }}</fw-icon>\n </fw-tooltip>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-tooltip\n *ngIf=\"subItems.length>0 && !collapsed\"\n [title]=\"subItemsTooltipTitle\"\n position=\"right\">\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </fw-tooltip>\n </div>\n </div>\n </a>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-navbar-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host a{text-decoration:none;color:var(--typography-base);outline:none;display:flex;flex:1;max-width:100%}:host h5{text-overflow:ellipsis}:host:hover:not(.selected) .navbar-item:not(.disabled),:host.focused:not(.selected) .navbar-item:not(.disabled){background-color:var(--
|
|
51
|
+
FwNavbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwNavbarItemComponent, selector: "fw-navbar-item", inputs: { value: "value", title: "title", description: "description", icon: "icon", iconColor: "iconColor", disabled: "disabled", hidden: "hidden", showTooltip: "showTooltip", collapsed: "collapsed", href: "href", target: "target", subItemsOpen: "subItemsOpen", subItemsTooltipTitle: "subItemsTooltipTitle", selected: "selected" }, host: { properties: { "class.collapsed": "this.collapsed", "class.selected": "this.selected" } }, queries: [{ propertyName: "subItems", predicate: FwNavbarSubItemComponent }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"!hidden\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <div\n [ngClass]=\"['navbar-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <fw-tooltip [title]=\"showTooltip ? title : ''\" position=\"right\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"navbar-icon {{iconColor}}\">{{ icon }}</fw-icon>\n </fw-tooltip>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-tooltip\n *ngIf=\"subItems.length>0 && !collapsed\"\n [title]=\"subItemsTooltipTitle\"\n position=\"right\">\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n (click)=\"toggleSubItemsView($event)\">\n </fw-icon-button>\n </fw-tooltip>\n </div>\n </div>\n </a>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-navbar-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host a{text-decoration:none;color:var(--typography-base);outline:none;display:flex;flex:1;max-width:100%}:host h5{text-overflow:ellipsis}:host:hover:not(.selected) .navbar-item:not(.disabled),:host.focused:not(.selected) .navbar-item:not(.disabled){background-color:var(--primary-hover);cursor:pointer}:host:hover:not(.selected) .navbar-item:not(.disabled) .navbar-text h5,:host.focused:not(.selected) .navbar-item:not(.disabled) .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .navbar-item .navbar-icon{color:var(--primary-base)}:host.selected .navbar-item .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-item:before{position:absolute;content:\" \";height:16px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.collapsed .navbar-item{container-name:navbaritem;container-type:size}:host .navbar-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 16px;border-radius:6px;margin:1px 4px;color:var(--typography-muted);height:34px;width:-webkit-fill-available;width:-moz-available;width:stretch;cursor:pointer}:host .navbar-item .navbar-icon{font-size:18px;white-space:nowrap}:host .navbar-item .navbar-text{flex:1;overflow:hidden;padding:2px 0}:host .navbar-item .navbar-text h5{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .navbar-item .navbar-text p{margin:0}:host .navbar-item .navbar-text p.description{color:var(--typography-light)}:host .navbar-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .navbar-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important;margin-top:2px;margin-right:-4px}:host .navbar-item.disabled{opacity:.4;cursor:not-allowed}:host .item-subitems{display:flex;flex-direction:column}@container navbaritem (max-width: 60px){.navbar-item{gap:0}.navbar-item .navbar-text{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FwIconButtonComponent, selector: "fw-icon-button", inputs: ["color", "icon", "size", "disabled", "selected"] }, { kind: "component", type: i3.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i4.FwTooltipComponent, selector: "fw-tooltip", inputs: ["title", "color", "position", "maxWidth", "isOpen", "trigger"] }] });
|
|
45
52
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarItemComponent, decorators: [{
|
|
46
53
|
type: Component,
|
|
47
|
-
args: [{ selector: 'fw-navbar-item', template: "<div *ngIf=\"!hidden\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <div\n [ngClass]=\"['navbar-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <fw-tooltip [title]=\"showTooltip ? title : ''\" position=\"right\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"navbar-icon {{iconColor}}\">{{ icon }}</fw-icon>\n </fw-tooltip>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-tooltip\n *ngIf=\"subItems.length>0 && !collapsed\"\n [title]=\"subItemsTooltipTitle\"\n position=\"right\">\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n (click)=\"toggleSubItemsView()\">\n </fw-icon-button>\n </fw-tooltip>\n </div>\n </div>\n </a>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-navbar-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host a{text-decoration:none;color:var(--typography-base);outline:none;display:flex;flex:1;max-width:100%}:host h5{text-overflow:ellipsis}:host:hover:not(.selected) .navbar-item:not(.disabled),:host.focused:not(.selected) .navbar-item:not(.disabled){background-color:var(--
|
|
54
|
+
args: [{ selector: 'fw-navbar-item', template: "<div *ngIf=\"!hidden\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <div\n [ngClass]=\"['navbar-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <fw-tooltip [title]=\"showTooltip ? title : ''\" position=\"right\">\n <fw-icon [color]=\"iconColor\" *ngIf=\"icon\" class=\"navbar-icon {{iconColor}}\">{{ icon }}</fw-icon>\n </fw-tooltip>\n <ng-content select=\"fw-avatar\"></ng-content>\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n <fw-tooltip\n *ngIf=\"subItems.length>0 && !collapsed\"\n [title]=\"subItemsTooltipTitle\"\n position=\"right\">\n <fw-icon-button\n [size]=\"'small'\"\n [icon]=\"subItemsOpen?'chevron-up':'chevron-down'\"\n (click)=\"toggleSubItemsView($event)\">\n </fw-icon-button>\n </fw-tooltip>\n </div>\n </div>\n </a>\n</div>\n<div class=\"item-subitems\">\n <ng-content select=\"fw-navbar-sub-item\"></ng-content>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host a{text-decoration:none;color:var(--typography-base);outline:none;display:flex;flex:1;max-width:100%}:host h5{text-overflow:ellipsis}:host:hover:not(.selected) .navbar-item:not(.disabled),:host.focused:not(.selected) .navbar-item:not(.disabled){background-color:var(--primary-hover);cursor:pointer}:host:hover:not(.selected) .navbar-item:not(.disabled) .navbar-text h5,:host.focused:not(.selected) .navbar-item:not(.disabled) .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .navbar-item .navbar-icon{color:var(--primary-base)}:host.selected .navbar-item .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-item:before{position:absolute;content:\" \";height:16px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.collapsed .navbar-item{container-name:navbaritem;container-type:size}:host .navbar-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 16px;border-radius:6px;margin:1px 4px;color:var(--typography-muted);height:34px;width:-webkit-fill-available;width:-moz-available;width:stretch;cursor:pointer}:host .navbar-item .navbar-icon{font-size:18px;white-space:nowrap}:host .navbar-item .navbar-text{flex:1;overflow:hidden;padding:2px 0}:host .navbar-item .navbar-text h5{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .navbar-item .navbar-text p{margin:0}:host .navbar-item .navbar-text p.description{color:var(--typography-light)}:host .navbar-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .navbar-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important;margin-top:2px;margin-right:-4px}:host .navbar-item.disabled{opacity:.4;cursor:not-allowed}:host .item-subitems{display:flex;flex-direction:column}@container navbaritem (max-width: 60px){.navbar-item{gap:0}.navbar-item .navbar-text{opacity:0}}\n"] }]
|
|
48
55
|
}], propDecorators: { value: [{
|
|
49
56
|
type: Input
|
|
50
57
|
}], title: [{
|
|
@@ -83,4 +90,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
83
90
|
type: ContentChildren,
|
|
84
91
|
args: [FwNavbarSubItemComponent]
|
|
85
92
|
}] } });
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbmF2YmFyL25hdmJhci1pdGVtL25hdmJhci1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL25hdmJhci9uYXZiYXItaXRlbS9uYXZiYXItaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUNULGVBQWUsRUFDZixXQUFXLEVBQ1gsS0FBSyxHQUlOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhDQUE4QyxDQUFDOzs7Ozs7QUFPeEYsTUFBTSxPQUFPLHFCQUFxQjtJQUxsQztRQVVXLGNBQVMsR0FBNkYsU0FBUyxDQUFDO1FBRWhILFdBQU0sR0FBYSxLQUFLLENBQUM7UUFDekIsZ0JBQVcsR0FBYSxLQUFLLENBQUM7UUFJOUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIseUJBQW9CLEdBQVksRUFBRSxDQUFDO1FBQ0osYUFBUSxHQUFhLEtBQUssQ0FBQztLQXNDcEU7SUFuQ0MsNkRBQTZEO0lBQzdELFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGVBQWU7UUFDYixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7U0FDNUI7YUFBTTtZQUNMLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO2dCQUM5QixPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUN6RCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxFQUFFO29CQUNoQyxPQUFPLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7aUJBQ3BDO2dCQUNELElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTLEVBQUU7b0JBQy9CLE9BQU8sQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztpQkFDbEM7WUFDSCxDQUFDLENBQUMsQ0FBQztTQUNKO0lBQ0gsQ0FBQztJQUVELGtCQUFrQixDQUFDLEtBQVk7UUFDN0IsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3ZDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7O2tIQWxEVSxxQkFBcUI7c0dBQXJCLHFCQUFxQiw2ZkFlZix3QkFBd0Isa0RDakMzQywrNUNBbUNBOzJGRGpCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsZ0JBQWdCOzhCQUtqQixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDbUMsU0FBUztzQkFBakQsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUFHLEtBQUs7Z0JBQzdCLElBQUk7c0JBQVosS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ2tDLFFBQVE7c0JBQS9DLFdBQVc7dUJBQUMsZ0JBQWdCOztzQkFBRyxLQUFLO2dCQUNNLFFBQVE7c0JBQWxELGVBQWU7dUJBQUMsd0JBQXdCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJWaWV3SW5pdCxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEhvc3RCaW5kaW5nLFxuICBJbnB1dCxcbiAgT25DaGFuZ2VzLFxuICBRdWVyeUxpc3QsXG4gIFNpbXBsZUNoYW5nZXMsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBGd05hdmJhclN1Ykl0ZW1Db21wb25lbnQgfSBmcm9tICcuLi9uYXZiYXItc3ViLWl0ZW0vbmF2YmFyLXN1Yi1pdGVtLmNvbXBvbmVudCc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LW5hdmJhci1pdGVtJyxcbiAgdGVtcGxhdGVVcmw6ICcuL25hdmJhci1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmF2YmFyLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgRndOYXZiYXJJdGVtQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcbiAgQElucHV0KCkgdmFsdWU/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRpdGxlOiBzdHJpbmc7XG4gIEBJbnB1dCgpIGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uQ29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdyZWQnIHwgJ29yYW5nZScgfCAnZ3JlZW4nIHwgJ3NsYXRlJyB8ICd0eXBvZ3JhcGh5JyB8ICdtdXRlZCcgPSAncHJpbWFyeSc7XG4gIEBJbnB1dCgpIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgQElucHV0KCkgaGlkZGVuPzogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzaG93VG9vbHRpcD86IGJvb2xlYW4gPSBmYWxzZTtcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb2xsYXBzZWQnKSBASW5wdXQoKSBjb2xsYXBzZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBocmVmPzogc3RyaW5nO1xuICBASW5wdXQoKSB0YXJnZXQ/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHN1Ykl0ZW1zT3BlbjogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzdWJJdGVtc1Rvb2x0aXBUaXRsZT86IHN0cmluZyA9ICcnO1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzLnNlbGVjdGVkJykgQElucHV0KCkgc2VsZWN0ZWQ/OiBib29sZWFuID0gZmFsc2U7XG4gIEBDb250ZW50Q2hpbGRyZW4oRndOYXZiYXJTdWJJdGVtQ29tcG9uZW50KSBzdWJJdGVtczogUXVlcnlMaXN0PEZ3TmF2YmFyU3ViSXRlbUNvbXBvbmVudD47XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVMYXlvdXQoKTtcbiAgfVxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnVwZGF0ZUxheW91dCgpO1xuICB9XG5cbiAgdXBkYXRlTGF5b3V0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnNlbGVjdGVkKSB7XG4gICAgICB0aGlzLmljb25Db2xvciA9ICdwcmltYXJ5JztcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pY29uQ29sb3IgPSAnbXV0ZWQnO1xuICAgIH1cbiAgICBpZiAodGhpcy5zdWJJdGVtcykge1xuICAgICAgdGhpcy5zdWJJdGVtcy5mb3JFYWNoKHN1Ykl0ZW0gPT4ge1xuICAgICAgICBzdWJJdGVtLmhpZGRlbiA9ICEodGhpcy5zdWJJdGVtc09wZW4gJiYgIXRoaXMuY29sbGFwc2VkKTtcbiAgICAgICAgaWYgKHRoaXMuY29sbGFwc2VkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzdWJJdGVtLmNvbGxhcHNlZCA9IHRoaXMuY29sbGFwc2VkO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBzdWJJdGVtLmRpc2FibGVkID0gdGhpcy5kaXNhYmxlZDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlU3ViSXRlbXNWaWV3KGV2ZW50OiBFdmVudCk6IGJvb2xlYW4ge1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIHRoaXMuc3ViSXRlbXNPcGVuID0gIXRoaXMuc3ViSXRlbXNPcGVuO1xuICAgIHRoaXMudXBkYXRlTGF5b3V0KCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbn1cbiIsIjxkaXYgKm5nSWY9XCIhaGlkZGVuXCI+XG4gIDxhIFtocmVmXT1cImhyZWY/aHJlZjonamF2YXNjcmlwdDp2b2lkKDApJ1wiIFt0YXJnZXRdPVwidGFyZ2V0P3RhcmdldDonJ1wiPlxuICAgIDxkaXZcbiAgICAgIFtuZ0NsYXNzXT1cIlsnbmF2YmFyLWl0ZW0nLCBkaXNhYmxlZD8nZGlzYWJsZWQnOicnXVwiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiZGlzYWJsZWRcIj5cbiAgICAgIDxmdy10b29sdGlwIFt0aXRsZV09XCJzaG93VG9vbHRpcCA/IHRpdGxlIDogJydcIiBwb3NpdGlvbj1cInJpZ2h0XCI+XG4gICAgICAgIDxmdy1pY29uIFtjb2xvcl09XCJpY29uQ29sb3JcIiAqbmdJZj1cImljb25cIiBjbGFzcz1cIm5hdmJhci1pY29uIHt7aWNvbkNvbG9yfX1cIj57eyBpY29uIH19PC9mdy1pY29uPlxuICAgICAgPC9mdy10b29sdGlwPlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctYXZhdGFyXCI+PC9uZy1jb250ZW50PlxuICAgICAgPGRpdiBjbGFzcz1cIm5hdmJhci10ZXh0XCIgKm5nSWY9XCJ0aXRsZVwiPlxuICAgICAgICA8aDU+e3sgdGl0bGUgfX08L2g1PlxuICAgICAgICA8cCAqbmdJZj1cImRlc2NyaXB0aW9uXCIgY2xhc3M9XCJ2aXNpb24tcDQgZGVzY3JpcHRpb25cIj57eyBkZXNjcmlwdGlvbiB9fTwvcD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImtleS10ZXh0IHZpc2lvbi1wMlwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJwXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1iYWRnZVwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctaWNvblwiPjwvbmctY29udGVudD5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZnctaWNvbi1idXR0b25cIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxmdy10b29sdGlwXG4gICAgICAgICAgKm5nSWY9XCJzdWJJdGVtcy5sZW5ndGg+MCAmJiAhY29sbGFwc2VkXCJcbiAgICAgICAgICBbdGl0bGVdPVwic3ViSXRlbXNUb29sdGlwVGl0bGVcIlxuICAgICAgICAgIHBvc2l0aW9uPVwicmlnaHRcIj5cbiAgICAgICAgICA8ZnctaWNvbi1idXR0b25cbiAgICAgICAgICAgIFtzaXplXT1cIidzbWFsbCdcIlxuICAgICAgICAgICAgW2ljb25dPVwic3ViSXRlbXNPcGVuPydjaGV2cm9uLXVwJzonY2hldnJvbi1kb3duJ1wiXG4gICAgICAgICAgICAoY2xpY2spPVwidG9nZ2xlU3ViSXRlbXNWaWV3KCRldmVudClcIj5cbiAgICAgICAgICA8L2Z3LWljb24tYnV0dG9uPlxuICAgICAgICA8L2Z3LXRvb2x0aXA+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9hPlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwiaXRlbS1zdWJpdGVtc1wiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1uYXZiYXItc3ViLWl0ZW1cIj48L25nLWNvbnRlbnQ+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -10,7 +10,7 @@ export class FwNavbarSubItemComponent {
|
|
|
10
10
|
}
|
|
11
11
|
}
|
|
12
12
|
FwNavbarSubItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwNavbarSubItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
13
|
-
FwNavbarSubItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwNavbarSubItemComponent, selector: "fw-navbar-sub-item", inputs: { value: "value", title: "title", description: "description", icon: "icon", disabled: "disabled", hidden: "hidden", href: "href", target: "target", collapsed: "collapsed", selected: "selected" }, host: { properties: { "class.collapsed": "this.collapsed", "class.selected": "this.selected" } }, ngImport: i0, template: "<div\n *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <div\n [ngClass]=\"['navbar-sub-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n </a>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host a{text-decoration:none;color:var(--typography-base);outline:none;display:flex;flex:1;max-width:100%}:host h5{text-overflow:ellipsis}:host:hover
|
|
13
|
+
FwNavbarSubItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwNavbarSubItemComponent, selector: "fw-navbar-sub-item", inputs: { value: "value", title: "title", description: "description", icon: "icon", disabled: "disabled", hidden: "hidden", href: "href", target: "target", collapsed: "collapsed", selected: "selected" }, host: { properties: { "class.collapsed": "this.collapsed", "class.selected": "this.selected" } }, ngImport: i0, template: "<div\n *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <div\n [ngClass]=\"['navbar-sub-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n </a>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host a{text-decoration:none;color:var(--typography-base);outline:none;display:flex;flex:1;max-width:100%}:host h5{text-overflow:ellipsis}:host:hover .navbar-sub-item:not(.disabled),:host.focused:not(.selected) .navbar-sub-item:not(.disabled){background-color:var(--primary-hover);cursor:pointer}:host:hover .navbar-sub-item:not(.disabled) .navbar-icon,:host.focused:not(.selected) .navbar-sub-item:not(.disabled) .navbar-icon{color:var(--primary-base)}:host:hover .navbar-sub-item:not(.disabled) .navbar-text h5,:host.focused:not(.selected) .navbar-sub-item:not(.disabled) .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-sub-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .navbar-sub-item .navbar-icon{color:var(--primary-base)}:host.selected .navbar-sub-item .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-sub-item:before{position:absolute;content:\" \";height:16px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.collapsed .navbar-sub-item{container-name:navbaritem;container-type:size}:host .navbar-sub-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 16px;border-radius:6px;margin:1px 4px;color:var(--typography-muted);height:30px;width:-webkit-fill-available;width:-moz-available;width:stretch;cursor:pointer}:host .navbar-sub-item .navbar-icon{font-size:18px;white-space:nowrap}:host .navbar-sub-item .navbar-text{flex:1;overflow:hidden;padding:2px 0 2px 26px}:host .navbar-sub-item .navbar-text h5{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .navbar-sub-item .navbar-text p{margin:0}:host .navbar-sub-item .navbar-text p.description{color:var(--typography-light)}:host .navbar-sub-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .navbar-sub-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important}:host .navbar-sub-item.disabled{opacity:.4;cursor:not-allowed}@container navbaritem (max-width: 60px){.navbar-sub-item{gap:0}.navbar-sub-item .navbar-text{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
|
|
14
14
|
trigger('openClose', [
|
|
15
15
|
// ...
|
|
16
16
|
state('open', style({
|
|
@@ -39,7 +39,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
39
39
|
animate('.33s ease-in-out'),
|
|
40
40
|
]),
|
|
41
41
|
]),
|
|
42
|
-
], template: "<div\n *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <div\n [ngClass]=\"['navbar-sub-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n </a>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host a{text-decoration:none;color:var(--typography-base);outline:none;display:flex;flex:1;max-width:100%}:host h5{text-overflow:ellipsis}:host:hover
|
|
42
|
+
], template: "<div\n *ngIf=\"!hidden\"\n [@openClose]=\"{value: collapsed?'closed':'open'}\">\n <a [href]=\"href?href:'javascript:void(0)'\" [target]=\"target?target:''\">\n <div\n [ngClass]=\"['navbar-sub-item', disabled?'disabled':'']\"\n [class.disabled]=\"disabled\">\n <div class=\"navbar-text\" *ngIf=\"title\">\n <h5>{{ title }}</h5>\n <p *ngIf=\"description\" class=\"vision-p4 description\">{{ description }}</p>\n </div>\n <div class=\"key-text vision-p2\">\n <ng-content select=\"p\"></ng-content>\n <ng-content select=\"fw-badge\"></ng-content>\n <ng-content select=\"fw-icon\"></ng-content>\n <ng-content select=\"fw-icon-button\"></ng-content>\n </div>\n </div>\n </a>\n</div>\n", styles: [":host{position:relative;display:flex;flex-direction:column}:host a{text-decoration:none;color:var(--typography-base);outline:none;display:flex;flex:1;max-width:100%}:host h5{text-overflow:ellipsis}:host:hover .navbar-sub-item:not(.disabled),:host.focused:not(.selected) .navbar-sub-item:not(.disabled){background-color:var(--primary-hover);cursor:pointer}:host:hover .navbar-sub-item:not(.disabled) .navbar-icon,:host.focused:not(.selected) .navbar-sub-item:not(.disabled) .navbar-icon{color:var(--primary-base)}:host:hover .navbar-sub-item:not(.disabled) .navbar-text h5,:host.focused:not(.selected) .navbar-sub-item:not(.disabled) .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-sub-item{background-color:var(--primary-hover);cursor:pointer}:host.selected .navbar-sub-item .navbar-icon{color:var(--primary-base)}:host.selected .navbar-sub-item .navbar-text h5{color:var(--typography-base)}:host.selected .navbar-sub-item:before{position:absolute;content:\" \";height:16px;border-left:3px solid var(--primary-base);margin-left:-16px}:host.collapsed .navbar-sub-item{container-name:navbaritem;container-type:size}:host .navbar-sub-item{box-sizing:border-box;display:flex;flex-direction:row;align-items:center;flex:1;gap:8px;padding:8px 16px;border-radius:6px;margin:1px 4px;color:var(--typography-muted);height:30px;width:-webkit-fill-available;width:-moz-available;width:stretch;cursor:pointer}:host .navbar-sub-item .navbar-icon{font-size:18px;white-space:nowrap}:host .navbar-sub-item .navbar-text{flex:1;overflow:hidden;padding:2px 0 2px 26px}:host .navbar-sub-item .navbar-text h5{margin:0;color:var(--typography-muted);white-space:nowrap;overflow:hidden}:host .navbar-sub-item .navbar-text p{margin:0}:host .navbar-sub-item .navbar-text p.description{color:var(--typography-light)}:host .navbar-sub-item .key-text{display:flex;align-items:center;gap:8px;color:var(--typography-light)}:host .navbar-sub-item .key-text fw-icon-button{min-height:22px!important;min-width:22px!important}:host .navbar-sub-item.disabled{opacity:.4;cursor:not-allowed}@container navbaritem (max-width: 60px){.navbar-sub-item{gap:0}.navbar-sub-item .navbar-text{opacity:0}}\n"] }]
|
|
43
43
|
}], propDecorators: { value: [{
|
|
44
44
|
type: Input
|
|
45
45
|
}], title: [{
|
|
@@ -67,4 +67,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImpor
|
|
|
67
67
|
}, {
|
|
68
68
|
type: Input
|
|
69
69
|
}] } });
|
|
70
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLXN1Yi1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL25hdmJhci9uYXZiYXItc3ViLWl0ZW0vbmF2YmFyLXN1Yi1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL25hdmJhci9uYXZiYXItc3ViLWl0ZW0vbmF2YmFyLXN1Yi1pdGVtLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDakYsT0FBTyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFxQjlELE1BQU0sT0FBTyx3QkFBd0I7SUFuQnJDO1FBeUJXLFdBQU0sR0FBYSxLQUFLLENBQUM7UUFJbEMsNERBQTREO1FBQ3BCLGFBQVEsR0FBYSxLQUFLLENBQUM7S0FDcEU7O3FIQVpZLHdCQUF3Qjt5R0FBeEIsd0JBQXdCLHdXQ3RCckMsMHZCQW9CQSwrMkVEYmM7UUFDVixPQUFPLENBQUMsV0FBVyxFQUFFO1lBQ25CLE1BQU07WUFDTixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQkFDbEIsTUFBTSxFQUFFLE1BQU07YUFDZixDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLENBQUM7WUFDbkIsS0FBSyxDQUFDLFFBQVEsRUFBRSxLQUFLLENBQUM7Z0JBQ3BCLE1BQU0sRUFBRSxHQUFHO2FBQ1osQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDO1lBQ25CLFVBQVUsQ0FBQyxpQkFBaUIsRUFBRTtnQkFDNUIsT0FBTyxDQUFDLGtCQUFrQixDQUFDO2FBQzVCLENBQUM7U0FDSCxDQUFDO0tBQ0g7MkZBRVUsd0JBQXdCO2tCQW5CcEMsU0FBUzsrQkFDRSxvQkFBb0IsY0FHbEI7d0JBQ1YsT0FBTyxDQUFDLFdBQVcsRUFBRTs0QkFDbkIsTUFBTTs0QkFDTixLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQztnQ0FDbEIsTUFBTSxFQUFFLE1BQU07NkJBQ2YsQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDOzRCQUNuQixLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQztnQ0FDcEIsTUFBTSxFQUFFLEdBQUc7NkJBQ1osQ0FBQyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDOzRCQUNuQixVQUFVLENBQUMsaUJBQWlCLEVBQUU7Z0NBQzVCLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQzs2QkFDNUIsQ0FBQzt5QkFDSCxDQUFDO3FCQUNIOzhCQUdRLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDbUMsU0FBUztzQkFBakQsV0FBVzt1QkFBQyxpQkFBaUI7O3NCQUFHLEtBQUs7Z0JBRUUsUUFBUTtzQkFBL0MsV0FBVzt1QkFBQyxnQkFBZ0I7O3NCQUFHLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdGF0ZSwgc3R5bGUsIHRyYW5zaXRpb24sIHRyaWdnZXIgfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IENvbXBvbmVudCwgSG9zdEJpbmRpbmcsIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2Z3LW5hdmJhci1zdWItaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZiYXItc3ViLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9uYXZiYXItc3ViLWl0ZW0uY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ29wZW5DbG9zZScsIFtcbiAgICAgIC8vIC4uLlxuICAgICAgc3RhdGUoJ29wZW4nLCBzdHlsZSh7XG4gICAgICAgIGhlaWdodDogJ2F1dG8nLFxuICAgICAgfSksIHsgcGFyYW1zOiB7fSB9KSxcbiAgICAgIHN0YXRlKCdjbG9zZWQnLCBzdHlsZSh7XG4gICAgICAgIGhlaWdodDogJzAnLFxuICAgICAgfSksIHsgcGFyYW1zOiB7fSB9KSxcbiAgICAgIHRyYW5zaXRpb24oJ29wZW4gPD0+IGNsb3NlZCcsIFtcbiAgICAgICAgYW5pbWF0ZSgnLjMzcyBlYXNlLWluLW91dCcpLFxuICAgICAgXSksXG4gICAgXSksXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIEZ3TmF2YmFyU3ViSXRlbUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHZhbHVlPzogc3RyaW5nO1xuICBASW5wdXQoKSB0aXRsZTogc3RyaW5nO1xuICBASW5wdXQoKSBkZXNjcmlwdGlvbj86IHN0cmluZztcbiAgQElucHV0KCkgaWNvbj86IHN0cmluZztcbiAgQElucHV0KCkgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBASW5wdXQoKSBoaWRkZW4/OiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGhyZWY/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIHRhcmdldD86IHN0cmluZztcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5jb2xsYXBzZWQnKSBASW5wdXQoKSBjb2xsYXBzZWQ/OiBib29sZWFuO1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5zZWxlY3RlZCcpIEBJbnB1dCgpIHNlbGVjdGVkPzogYm9vbGVhbiA9IGZhbHNlO1xufVxuIiwiPGRpdlxuICAqbmdJZj1cIiFoaWRkZW5cIlxuICBbQG9wZW5DbG9zZV09XCJ7dmFsdWU6IGNvbGxhcHNlZD8nY2xvc2VkJzonb3Blbid9XCI+XG4gIDxhIFtocmVmXT1cImhyZWY/aHJlZjonamF2YXNjcmlwdDp2b2lkKDApJ1wiIFt0YXJnZXRdPVwidGFyZ2V0P3RhcmdldDonJ1wiPlxuICAgIDxkaXZcbiAgICAgIFtuZ0NsYXNzXT1cIlsnbmF2YmFyLXN1Yi1pdGVtJywgZGlzYWJsZWQ/J2Rpc2FibGVkJzonJ11cIlxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwibmF2YmFyLXRleHRcIiAqbmdJZj1cInRpdGxlXCI+XG4gICAgICAgIDxoNT57eyB0aXRsZSB9fTwvaDU+XG4gICAgICAgIDxwICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cInZpc2lvbi1wNCBkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9wPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwia2V5LXRleHQgdmlzaW9uLXAyXCI+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cInBcIj48L25nLWNvbnRlbnQ+XG4gICAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImZ3LWJhZGdlXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1pY29uXCI+PC9uZy1jb250ZW50PlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJmdy1pY29uLWJ1dHRvblwiPjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2E+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -91,7 +91,7 @@ export class FwPaginatorAdvancedComponent {
|
|
|
91
91
|
}
|
|
92
92
|
}
|
|
93
93
|
FwPaginatorAdvancedComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwPaginatorAdvancedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
94
|
-
FwPaginatorAdvancedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwPaginatorAdvancedComponent, selector: "fw-paginator-advanced", inputs: { disabled: "disabled", showNext: "showNext", showPrevious: "showPrevious", showFirst: "showFirst", showLast: "showLast", pageIndex: "pageIndex", pageSizeOptions: "pageSizeOptions", length: "length", alignment: "alignment", selectorTitle: "selectorTitle", pageSize: "pageSize" }, outputs: { page: "page" }, ngImport: i0, template: "<div [ngClass]=\"['paginator', alignment]\">\n <div class=\"pages-selector\">\n <div>\n <p class=\"vision-p2\" [ngClass]=\"disabled?'disabled':''\">{{ selectorTitle }}</p>\n \n <fw-select\n [disabled]=\"disabled\" width=\"80px\" placeholder=\"Size\"\n [(ngModel)]=\"pageSize\">\n <fw-menu-item\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size.toString()\"\n [title]=\"size.toString()\"\n [selected]=\"pageSize.toString()===size.toString()\"\n [disabled]=\"disabled\"\n ></fw-menu-item>\n </fw-select>\n </div>\n <p class=\"vision-p2 record-count\" [ngClass]=\"disabled?'disabled':''\">\n {{ getRowIndexStart() + 1 }}-{{ getRowIndexEnd() + 1 }}\n of {{ length }}</p>\n <div>\n <button\n *ngIf=\"showFirst\"\n class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"firstPage()\">\n <fw-icon>arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"previousPage()\">\n <fw-icon>chevron-back</fw-icon>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon>chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon>arrow-forward-collapse</fw-icon>\n </button>\n </div>\n </div>\n</div>\n", styles: [":host .paginator{display:flex}:host .paginator button{border:none;background-color:transparent}:host .paginator .page-item{box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;align-items:center;border-radius:4px}:host .paginator .page-item:disabled{color:var(--typography-muted);cursor:not-allowed}:host .paginator .page-item:disabled h4{opacity:.4}:host .paginator .page-action fw-icon{font-size:22px}:host .paginator .page-action:disabled{opacity:.4}:host .paginator .pages-list{box-sizing:border-box;display:flex;gap:4px}:host .paginator .pages-list .page-number h4{margin:0;color:var(--typography-base)}:host .paginator .pages-list .page-number:disabled h4{color:var(--slate-base)!important}:host .paginator .pages-list .page-active{background-color:var(--slate-focus)}:host .paginator .pages-list .page-active:disabled{background-color:transparent}:host .paginator.start{justify-content:flex-start}:host .paginator.center{justify-content:center}:host .paginator.end{justify-content:flex-end}:host .paginator.large .page-item{width:40px;height:40px}:host .paginator.medium .page-item{width:32px;height:32px}:host .paginator.small .page-item{width:26px;height:26px}:host .paginator.primary .page-active:not(:disabled){background-color:var(--primary-base)!important}:host .paginator.primary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.secondary .page-active:not(:disabled){background-color:var(--secondary-base)!important}:host .paginator.secondary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.outline .page-item{border:1px solid var(--slate-border)}:host .paginator.outline .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.primary .page-active{background-color:var(--primary-hover)!important;border-color:var(--primary-border)!important}:host .paginator.outline.primary .page-active h4{color:var(--primary-base)!important}:host .paginator.outline.primary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.secondary .page-active{background-color:var(--secondary-hover)!important;border-color:var(--secondary-border)!important}:host .paginator.outline.secondary .page-active h4{color:var(--secondary-base)!important}:host .paginator.outline.secondary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.solid .page-item{border:1px solid var(--slate-border);background-color:var(--card-background)}:host .paginator.solid .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:var(--card-background)!important;opacity:.4}:host .paginator.solid .page-number:disabled h4{opacity:1}:host .paginator.circle .page-number{border-radius:999px!important}:host .paginator .pages-selector{display:flex;align-items:center;justify-content:flex-end;gap:16px}:host .paginator .pages-selector>div{display:flex;align-items:center}:host .paginator .pages-selector fw-icon{font-size:22px}:host .paginator .pages-selector .record-count{min-width:130px;text-align:center}:host .paginator .pages-selector p.disabled{color:var(--typography-light)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i4.FwMenuItemComponent, selector: "fw-menu-item", inputs: ["value", "size", "title", "description", "icon", "iconColor", "disabled", "showCheckbox", "multiSelect", "hidden", "showTooltip", "collapsed", "href", "target", "subItemsOpen", "focused", "selected", "variant"], outputs: ["click"] }, { kind: "component", type: i5.FwSelectMenuComponent, selector: "fw-select", inputs: ["options", "valueProperty", "titleProperty", "iconProperty", "descriptionProperty", "showFilter", "disabled", "width", "optionsWidth", "maxOptionsHeight", "placeholder", "value"], outputs: ["change"] }] });
|
|
94
|
+
FwPaginatorAdvancedComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwPaginatorAdvancedComponent, selector: "fw-paginator-advanced", inputs: { disabled: "disabled", showNext: "showNext", showPrevious: "showPrevious", showFirst: "showFirst", showLast: "showLast", pageIndex: "pageIndex", pageSizeOptions: "pageSizeOptions", length: "length", alignment: "alignment", selectorTitle: "selectorTitle", pageSize: "pageSize" }, outputs: { page: "page" }, ngImport: i0, template: "<div [ngClass]=\"['paginator', alignment]\">\n <div class=\"pages-selector\">\n <div>\n <p class=\"vision-p2\" [ngClass]=\"disabled?'disabled':''\">{{ selectorTitle }}</p>\n \n <fw-select\n [disabled]=\"disabled\" width=\"80px\" placeholder=\"Size\"\n [(ngModel)]=\"pageSize\">\n <fw-menu-item\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size.toString()\"\n [title]=\"size.toString()\"\n [selected]=\"pageSize.toString()===size.toString()\"\n [disabled]=\"disabled\"\n ></fw-menu-item>\n </fw-select>\n </div>\n <p class=\"vision-p2 record-count\" [ngClass]=\"disabled?'disabled':''\">\n {{ getRowIndexStart() + 1 }}-{{ getRowIndexEnd() + 1 }}\n of {{ length }}</p>\n <div>\n <button\n *ngIf=\"showFirst\"\n class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"firstPage()\">\n <fw-icon>arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"previousPage()\">\n <fw-icon>chevron-back</fw-icon>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon>chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon>arrow-forward-collapse</fw-icon>\n </button>\n </div>\n </div>\n</div>\n", styles: [":host .paginator{display:flex}:host .paginator button{border:none;background-color:transparent}:host .paginator .page-item{box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;align-items:center;border-radius:4px}:host .paginator .page-item:disabled{color:var(--typography-muted);cursor:not-allowed}:host .paginator .page-item:disabled h4{opacity:.4}:host .paginator .page-action fw-icon{font-size:22px}:host .paginator .page-action:disabled{opacity:.4}:host .paginator .pages-list{box-sizing:border-box;display:flex;gap:4px}:host .paginator .pages-list .page-number h4{margin:0;color:var(--typography-base)}:host .paginator .pages-list .page-number:disabled h4{color:var(--slate-base)!important}:host .paginator .pages-list .page-active{background-color:var(--slate-focus)}:host .paginator .pages-list .page-active:disabled{background-color:transparent}:host .paginator.start{justify-content:flex-start}:host .paginator.center{justify-content:center}:host .paginator.end{justify-content:flex-end}:host .paginator.large .page-item{width:40px;height:40px}:host .paginator.medium .page-item{width:32px;height:32px}:host .paginator.small .page-item{width:26px;height:26px}:host .paginator.primary .page-active:not(:disabled){background-color:var(--primary-base)!important}:host .paginator.primary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.secondary .page-active:not(:disabled){background-color:var(--secondary-base)!important}:host .paginator.secondary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.outline .page-item{border:1px solid var(--slate-border)}:host .paginator.outline .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.primary .page-active{background-color:var(--primary-hover)!important;border-color:var(--primary-border)!important}:host .paginator.outline.primary .page-active h4{color:var(--primary-base)!important}:host .paginator.outline.primary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.secondary .page-active{background-color:var(--secondary-hover)!important;border-color:var(--secondary-border)!important}:host .paginator.outline.secondary .page-active h4{color:var(--secondary-base)!important}:host .paginator.outline.secondary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.solid .page-item{border:1px solid var(--slate-border);background-color:var(--card-background)}:host .paginator.solid .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:var(--card-background)!important;opacity:.4}:host .paginator.solid .page-number:disabled h4{opacity:1}:host .paginator.circle .page-number{border-radius:999px!important}:host .paginator .pages-selector{display:flex;align-items:center;justify-content:flex-end;gap:16px}:host .paginator .pages-selector>div{display:flex;align-items:center}:host .paginator .pages-selector fw-icon{font-size:22px}:host .paginator .pages-selector .record-count{min-width:130px;text-align:center}:host .paginator .pages-selector p.disabled{color:var(--typography-light)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.FwIconComponent, selector: "fw-icon", inputs: ["size", "color"] }, { kind: "component", type: i4.FwMenuItemComponent, selector: "fw-menu-item", inputs: ["value", "size", "title", "description", "icon", "iconColor", "disabled", "showCheckbox", "multiSelect", "hidden", "showTooltip", "collapsed", "href", "target", "subItemsOpen", "focused", "selected", "variant"], outputs: ["click"] }, { kind: "component", type: i5.FwSelectMenuComponent, selector: "fw-select", inputs: ["options", "valueProperty", "titleProperty", "iconProperty", "descriptionProperty", "showFilter", "showReset", "disabled", "width", "optionsWidth", "maxOptionsHeight", "placeholder", "value"], outputs: ["change"] }] });
|
|
95
95
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwPaginatorAdvancedComponent, decorators: [{
|
|
96
96
|
type: Component,
|
|
97
97
|
args: [{ selector: 'fw-paginator-advanced', template: "<div [ngClass]=\"['paginator', alignment]\">\n <div class=\"pages-selector\">\n <div>\n <p class=\"vision-p2\" [ngClass]=\"disabled?'disabled':''\">{{ selectorTitle }}</p>\n \n <fw-select\n [disabled]=\"disabled\" width=\"80px\" placeholder=\"Size\"\n [(ngModel)]=\"pageSize\">\n <fw-menu-item\n *ngFor=\"let size of pageSizeOptions\"\n [value]=\"size.toString()\"\n [title]=\"size.toString()\"\n [selected]=\"pageSize.toString()===size.toString()\"\n [disabled]=\"disabled\"\n ></fw-menu-item>\n </fw-select>\n </div>\n <p class=\"vision-p2 record-count\" [ngClass]=\"disabled?'disabled':''\">\n {{ getRowIndexStart() + 1 }}-{{ getRowIndexEnd() + 1 }}\n of {{ length }}</p>\n <div>\n <button\n *ngIf=\"showFirst\"\n class=\"page-item page-action page-first\" [disabled]=\"!hasPreviousPage() || disabled\" (click)=\"firstPage()\">\n <fw-icon>arrow-back-collapse</fw-icon>\n </button>\n <button\n *ngIf=\"showPrevious\"\n class=\"page-item page-action page-previous\" [disabled]=\"!hasPreviousPage() || disabled\"\n (click)=\"previousPage()\">\n <fw-icon>chevron-back</fw-icon>\n </button>\n <button\n *ngIf=\"showNext\" class=\"page-item page-action page-next\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"nextPage()\">\n <fw-icon>chevron-forward</fw-icon>\n </button>\n <button\n *ngIf=\"showLast\" class=\"page-item page-action page-last\" [disabled]=\"!hasNextPage() || disabled\"\n (click)=\"lastPage()\">\n <fw-icon>arrow-forward-collapse</fw-icon>\n </button>\n </div>\n </div>\n</div>\n", styles: [":host .paginator{display:flex}:host .paginator button{border:none;background-color:transparent}:host .paginator .page-item{box-sizing:border-box;cursor:pointer;display:flex;justify-content:center;align-items:center;border-radius:4px}:host .paginator .page-item:disabled{color:var(--typography-muted);cursor:not-allowed}:host .paginator .page-item:disabled h4{opacity:.4}:host .paginator .page-action fw-icon{font-size:22px}:host .paginator .page-action:disabled{opacity:.4}:host .paginator .pages-list{box-sizing:border-box;display:flex;gap:4px}:host .paginator .pages-list .page-number h4{margin:0;color:var(--typography-base)}:host .paginator .pages-list .page-number:disabled h4{color:var(--slate-base)!important}:host .paginator .pages-list .page-active{background-color:var(--slate-focus)}:host .paginator .pages-list .page-active:disabled{background-color:transparent}:host .paginator.start{justify-content:flex-start}:host .paginator.center{justify-content:center}:host .paginator.end{justify-content:flex-end}:host .paginator.large .page-item{width:40px;height:40px}:host .paginator.medium .page-item{width:32px;height:32px}:host .paginator.small .page-item{width:26px;height:26px}:host .paginator.primary .page-active:not(:disabled){background-color:var(--primary-base)!important}:host .paginator.primary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.secondary .page-active:not(:disabled){background-color:var(--secondary-base)!important}:host .paginator.secondary .page-active:not(:disabled) h4{color:var(--typography-contrast)!important}:host .paginator.outline .page-item{border:1px solid var(--slate-border)}:host .paginator.outline .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.primary .page-active{background-color:var(--primary-hover)!important;border-color:var(--primary-border)!important}:host .paginator.outline.primary .page-active h4{color:var(--primary-base)!important}:host .paginator.outline.primary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.outline.secondary .page-active{background-color:var(--secondary-hover)!important;border-color:var(--secondary-border)!important}:host .paginator.outline.secondary .page-active h4{color:var(--secondary-base)!important}:host .paginator.outline.secondary .page-active:disabled{border:1px solid var(--slate-border)!important;background-color:transparent!important}:host .paginator.solid .page-item{border:1px solid var(--slate-border);background-color:var(--card-background)}:host .paginator.solid .page-number:disabled{border:1px solid var(--slate-border)!important;background-color:var(--card-background)!important;opacity:.4}:host .paginator.solid .page-number:disabled h4{opacity:1}:host .paginator.circle .page-number{border-radius:999px!important}:host .paginator .pages-selector{display:flex;align-items:center;justify-content:flex-end;gap:16px}:host .paginator .pages-selector>div{display:flex;align-items:center}:host .paginator .pages-selector fw-icon{font-size:22px}:host .paginator .pages-selector .record-count{min-width:130px;text-align:center}:host .paginator .pages-selector p.disabled{color:var(--typography-light)}\n"] }]
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
/** Based on [mat-progress-bar](https://material.angular.io/components/progress-bar/) */
|
|
5
|
+
export class FwProgressBarComponent {
|
|
6
|
+
constructor(_elementRef, _changeDetectorRef) {
|
|
7
|
+
this._elementRef = _elementRef;
|
|
8
|
+
this._changeDetectorRef = _changeDetectorRef;
|
|
9
|
+
/** Mode of the progress bar. **/
|
|
10
|
+
this.mode = 'indeterminate';
|
|
11
|
+
/** Whether to show the value percentage label on the progress bar. **/
|
|
12
|
+
this.showValue = false;
|
|
13
|
+
this._value = 0;
|
|
14
|
+
this._bufferValue = 0;
|
|
15
|
+
}
|
|
16
|
+
/** Value of the progress bar. Defaults to zero. Mirrored to aria-valuenow. **/
|
|
17
|
+
get value() {
|
|
18
|
+
// return this.mode === 'determinate' ? this._value : 0;
|
|
19
|
+
return this._value;
|
|
20
|
+
}
|
|
21
|
+
set value(v) {
|
|
22
|
+
this._value = clamp(v || 0);
|
|
23
|
+
// eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis
|
|
24
|
+
this._changeDetectorRef.markForCheck();
|
|
25
|
+
}
|
|
26
|
+
/** Buffer value of the progress bar. Defaults to zero. */
|
|
27
|
+
get bufferValue() {
|
|
28
|
+
return this._bufferValue || 0;
|
|
29
|
+
}
|
|
30
|
+
set bufferValue(v) {
|
|
31
|
+
this._bufferValue = clamp(v || 0);
|
|
32
|
+
// eslint-disable-next-line @rx-angular/no-explicit-change-detection-apis
|
|
33
|
+
this._changeDetectorRef.markForCheck();
|
|
34
|
+
}
|
|
35
|
+
/** Gets the transform style that should be applied to the primary bar. */
|
|
36
|
+
_getPrimaryBarTransform() {
|
|
37
|
+
return `scaleX(${this._isIndeterminate() ? 1 : this.value / 100})`;
|
|
38
|
+
}
|
|
39
|
+
/** Gets the `flex-basis` value that should be applied to the buffer bar. */
|
|
40
|
+
_getBufferBarFlexBasis() {
|
|
41
|
+
return `${this.mode === 'buffer' ? this.bufferValue : 100}%`;
|
|
42
|
+
}
|
|
43
|
+
/** Returns whether the progress bar is indeterminate. */
|
|
44
|
+
_isIndeterminate() {
|
|
45
|
+
return this.mode === 'indeterminate';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
FwProgressBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwProgressBarComponent, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
49
|
+
FwProgressBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwProgressBarComponent, selector: "fw-progress-bar", inputs: { mode: "mode", showValue: "showValue", value: "value", bufferValue: "bufferValue" }, host: { attributes: { "role": "progressbar", "tabindex": "-1" }, properties: { "class.progress-indeterminate": "mode === \"indeterminate\"", "class.progress-show-value": "this.showValue", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.aria-valuenow": "_isIndeterminate() ? null : value", "attr.mode": "mode" }, classAttribute: "fw-progress-bar progress progress-animation-ready" }, viewQueries: [{ propertyName: "_determinateCircle", first: true, predicate: ["determinateSpinner"], descendants: true }], ngImport: i0, template: "<div class=\"progress-wrapper\">\n <div class=\"progress-buffer\" aria-hidden=\"true\">\n <div\n class=\"progress-buffer-bar\"\n [style.flex-basis]=\"_getBufferBarFlexBasis()\"></div>\n <div class=\"progress-buffer-dots\" *ngIf=\"mode === 'buffer'\"></div>\n </div>\n <div\n class=\"progress-bar progress-primary-bar\"\n aria-hidden=\"true\"\n [style.transform]=\"_getPrimaryBarTransform()\">\n <span class=\"progress-bar-inner\"></span>\n </div>\n <div class=\"progress-bar progress-secondary-bar\" aria-hidden=\"true\">\n <span class=\"progress-bar-inner\"></span>\n </div>\n</div>\n<p [ngClass]=\"['progress-label', 'mode-'+mode]\" *ngIf=\"showValue\">{{ value }}%</p>\n", styles: [".fw-progress-bar{display:block;text-align:start}.fw-progress-bar[mode=query]{transform:scaleX(-1)}.progress{position:relative;width:100%}.progress.progress-show-value{display:flex;align-items:center;height:14px}.progress.progress-show-value .progress-label{font-size:12px;color:var(--typography-muted);margin:0 0 0 8px}.progress-wrapper{position:relative;width:100%;transform:translateZ(0);outline:1px solid transparent;overflow-x:hidden;transition:opacity .25s 0ms cubic-bezier(.4,0,.6,1);height:4px;border-radius:4px}.progress-bar{position:absolute;top:0;bottom:0;margin:auto 0;width:100%;animation:none;transform-origin:top left;transition:transform .25s 0ms cubic-bezier(.4,0,.6,1)}.progress-indeterminate .progress-bar{transition:none}[dir=rtl] .progress-bar{right:0;transform-origin:center right}.progress-bar-inner{display:inline-block;position:absolute;width:100%;animation:none;border-top-style:solid;border-color:var(--primary-base);border-top-width:4px;border-radius:4px}.progress-buffer{display:flex;position:absolute;top:0;bottom:0;margin:auto 0;width:100%;overflow:hidden;height:4px;border-radius:4px}.progress-buffer-dots{mask-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 10 4' xml:space='preserve' viewBox='0 0 10 4' preserveAspectRatio='xMinYMin slice'%3E%3Ccircle cx='2' cy='2' r='2'/%3E%3C/svg%3E\");background-repeat:repeat-x;flex:auto;transform:rotate(180deg);animation:progress-buffering .25s infinite linear;background-color:var(--separations-divider)}[dir=rtl] .progress-buffer-dots{animation:progress-buffering-reverse .25s infinite linear;transform:rotate(0)}.progress-buffer-bar{flex:0 1 100%;transition:flex-basis .25s 0ms cubic-bezier(.4,0,.6,1);background-color:var(--separations-divider);border-radius:4px}.progress-primary-bar{transform:scaleX(0)}.progress-indeterminate .progress-primary-bar{left:-145.1666%}.progress-indeterminate.progress-animation-ready .progress-primary-bar{animation:progress-primary-indeterminate-translate 2s infinite linear}.progress-indeterminate.progress-animation-ready .progress-primary-bar>.progress-bar-inner{animation:progress-primary-indeterminate-scale 2s infinite linear}[dir=rtl] .progress.progress-animation-ready .progress-primary-bar{animation-name:progress-primary-indeterminate-translate-reverse}[dir=rtl] .progress.progress-indeterminate .progress-primary-bar{right:-145.1666%;left:auto}.progress-secondary-bar{display:none}.progress-indeterminate .progress-secondary-bar{left:-54.8889%;display:block}.progress-indeterminate.progress-animation-ready .progress-secondary-bar{animation:progress-secondary-indeterminate-translate 2s infinite linear}.progress-indeterminate.progress-animation-ready .progress-secondary-bar>.progress-bar-inner{animation:progress-secondary-indeterminate-scale 2s infinite linear}[dir=rtl] .progress.progress-animation-ready .progress-secondary-bar{animation-name:progress-secondary-indeterminate-translate-reverse}[dir=rtl] .progress.progress-indeterminate .progress-secondary-bar{right:-54.8889%;left:auto}@keyframes progress-buffering{0%{transform:rotate(180deg) translate(-10px)}}@keyframes progress-primary-indeterminate-translate{0%{transform:translate(0)}20%{animation-timing-function:cubic-bezier(.5,0,.7017,.4958);transform:translate(0)}59.15%{animation-timing-function:cubic-bezier(.3024,.3813,.55,.9563);transform:translate(83.6714%)}to{transform:translate(200.611%)}}@keyframes progress-primary-indeterminate-scale{0%{transform:scaleX(.08)}36.65%{animation-timing-function:cubic-bezier(.3347,.1248,.7858,1);transform:scaleX(.08)}69.15%{animation-timing-function:cubic-bezier(.06,.11,.6,1);transform:scaleX(.6614)}to{transform:scaleX(.08)}}@keyframes progress-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(.15,0,.515,.4096);transform:translate(0)}25%{animation-timing-function:cubic-bezier(.31,.284,.8,.7337);transform:translate(37.6519%)}48.35%{animation-timing-function:cubic-bezier(.4,.627,.6,.902);transform:translate(84.3862%)}to{transform:translate(160.2778%)}}@keyframes progress-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(.205,.0571,.5766,.4539);transform:scaleX(.08)}19.15%{animation-timing-function:cubic-bezier(.1523,.1964,.6483,1.0043);transform:scaleX(.4571)}44.15%{animation-timing-function:cubic-bezier(.2578,-.0032,.2118,1.3818);transform:scaleX(.7279)}to{transform:scaleX(.08)}}@keyframes progress-primary-indeterminate-translate-reverse{0%{transform:translate(0)}20%{animation-timing-function:cubic-bezier(.5,0,.7017,.4958);transform:translate(0)}59.15%{animation-timing-function:cubic-bezier(.3024,.3814,.55,.9563);transform:translate(-83.6714%)}to{transform:translate(-200.611%)}}@keyframes progress-secondary-indeterminate-translate-reverse{0%{animation-timing-function:cubic-bezier(.15,0,.515,.4096);transform:translate(0)}25%{animation-timing-function:cubic-bezier(.3103,.284,.8,.7337);transform:translate(-37.6519%)}48.35%{animation-timing-function:cubic-bezier(.4,.627,.6,.902);transform:translate(-84.3861%)}to{transform:translate(-160.2778%)}}@keyframes progress-buffering-reverse{0%{transform:translate(-10px)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwProgressBarComponent, decorators: [{
|
|
51
|
+
type: Component,
|
|
52
|
+
args: [{ selector: 'fw-progress-bar', host: {
|
|
53
|
+
'role': 'progressbar',
|
|
54
|
+
'class': 'fw-progress-bar progress progress-animation-ready',
|
|
55
|
+
'tabindex': '-1',
|
|
56
|
+
'[class.progress-indeterminate]': 'mode === "indeterminate"',
|
|
57
|
+
'[class.progress-show-value]': 'this.showValue',
|
|
58
|
+
'[attr.aria-valuemin]': '0',
|
|
59
|
+
'[attr.aria-valuemax]': '100',
|
|
60
|
+
'[attr.aria-valuenow]': '_isIndeterminate() ? null : value',
|
|
61
|
+
'[attr.mode]': 'mode',
|
|
62
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"progress-wrapper\">\n <div class=\"progress-buffer\" aria-hidden=\"true\">\n <div\n class=\"progress-buffer-bar\"\n [style.flex-basis]=\"_getBufferBarFlexBasis()\"></div>\n <div class=\"progress-buffer-dots\" *ngIf=\"mode === 'buffer'\"></div>\n </div>\n <div\n class=\"progress-bar progress-primary-bar\"\n aria-hidden=\"true\"\n [style.transform]=\"_getPrimaryBarTransform()\">\n <span class=\"progress-bar-inner\"></span>\n </div>\n <div class=\"progress-bar progress-secondary-bar\" aria-hidden=\"true\">\n <span class=\"progress-bar-inner\"></span>\n </div>\n</div>\n<p [ngClass]=\"['progress-label', 'mode-'+mode]\" *ngIf=\"showValue\">{{ value }}%</p>\n", styles: [".fw-progress-bar{display:block;text-align:start}.fw-progress-bar[mode=query]{transform:scaleX(-1)}.progress{position:relative;width:100%}.progress.progress-show-value{display:flex;align-items:center;height:14px}.progress.progress-show-value .progress-label{font-size:12px;color:var(--typography-muted);margin:0 0 0 8px}.progress-wrapper{position:relative;width:100%;transform:translateZ(0);outline:1px solid transparent;overflow-x:hidden;transition:opacity .25s 0ms cubic-bezier(.4,0,.6,1);height:4px;border-radius:4px}.progress-bar{position:absolute;top:0;bottom:0;margin:auto 0;width:100%;animation:none;transform-origin:top left;transition:transform .25s 0ms cubic-bezier(.4,0,.6,1)}.progress-indeterminate .progress-bar{transition:none}[dir=rtl] .progress-bar{right:0;transform-origin:center right}.progress-bar-inner{display:inline-block;position:absolute;width:100%;animation:none;border-top-style:solid;border-color:var(--primary-base);border-top-width:4px;border-radius:4px}.progress-buffer{display:flex;position:absolute;top:0;bottom:0;margin:auto 0;width:100%;overflow:hidden;height:4px;border-radius:4px}.progress-buffer-dots{mask-image:url(\"data:image/svg+xml,%3Csvg version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink' x='0px' y='0px' enable-background='new 0 0 10 4' xml:space='preserve' viewBox='0 0 10 4' preserveAspectRatio='xMinYMin slice'%3E%3Ccircle cx='2' cy='2' r='2'/%3E%3C/svg%3E\");background-repeat:repeat-x;flex:auto;transform:rotate(180deg);animation:progress-buffering .25s infinite linear;background-color:var(--separations-divider)}[dir=rtl] .progress-buffer-dots{animation:progress-buffering-reverse .25s infinite linear;transform:rotate(0)}.progress-buffer-bar{flex:0 1 100%;transition:flex-basis .25s 0ms cubic-bezier(.4,0,.6,1);background-color:var(--separations-divider);border-radius:4px}.progress-primary-bar{transform:scaleX(0)}.progress-indeterminate .progress-primary-bar{left:-145.1666%}.progress-indeterminate.progress-animation-ready .progress-primary-bar{animation:progress-primary-indeterminate-translate 2s infinite linear}.progress-indeterminate.progress-animation-ready .progress-primary-bar>.progress-bar-inner{animation:progress-primary-indeterminate-scale 2s infinite linear}[dir=rtl] .progress.progress-animation-ready .progress-primary-bar{animation-name:progress-primary-indeterminate-translate-reverse}[dir=rtl] .progress.progress-indeterminate .progress-primary-bar{right:-145.1666%;left:auto}.progress-secondary-bar{display:none}.progress-indeterminate .progress-secondary-bar{left:-54.8889%;display:block}.progress-indeterminate.progress-animation-ready .progress-secondary-bar{animation:progress-secondary-indeterminate-translate 2s infinite linear}.progress-indeterminate.progress-animation-ready .progress-secondary-bar>.progress-bar-inner{animation:progress-secondary-indeterminate-scale 2s infinite linear}[dir=rtl] .progress.progress-animation-ready .progress-secondary-bar{animation-name:progress-secondary-indeterminate-translate-reverse}[dir=rtl] .progress.progress-indeterminate .progress-secondary-bar{right:-54.8889%;left:auto}@keyframes progress-buffering{0%{transform:rotate(180deg) translate(-10px)}}@keyframes progress-primary-indeterminate-translate{0%{transform:translate(0)}20%{animation-timing-function:cubic-bezier(.5,0,.7017,.4958);transform:translate(0)}59.15%{animation-timing-function:cubic-bezier(.3024,.3813,.55,.9563);transform:translate(83.6714%)}to{transform:translate(200.611%)}}@keyframes progress-primary-indeterminate-scale{0%{transform:scaleX(.08)}36.65%{animation-timing-function:cubic-bezier(.3347,.1248,.7858,1);transform:scaleX(.08)}69.15%{animation-timing-function:cubic-bezier(.06,.11,.6,1);transform:scaleX(.6614)}to{transform:scaleX(.08)}}@keyframes progress-secondary-indeterminate-translate{0%{animation-timing-function:cubic-bezier(.15,0,.515,.4096);transform:translate(0)}25%{animation-timing-function:cubic-bezier(.31,.284,.8,.7337);transform:translate(37.6519%)}48.35%{animation-timing-function:cubic-bezier(.4,.627,.6,.902);transform:translate(84.3862%)}to{transform:translate(160.2778%)}}@keyframes progress-secondary-indeterminate-scale{0%{animation-timing-function:cubic-bezier(.205,.0571,.5766,.4539);transform:scaleX(.08)}19.15%{animation-timing-function:cubic-bezier(.1523,.1964,.6483,1.0043);transform:scaleX(.4571)}44.15%{animation-timing-function:cubic-bezier(.2578,-.0032,.2118,1.3818);transform:scaleX(.7279)}to{transform:scaleX(.08)}}@keyframes progress-primary-indeterminate-translate-reverse{0%{transform:translate(0)}20%{animation-timing-function:cubic-bezier(.5,0,.7017,.4958);transform:translate(0)}59.15%{animation-timing-function:cubic-bezier(.3024,.3814,.55,.9563);transform:translate(-83.6714%)}to{transform:translate(-200.611%)}}@keyframes progress-secondary-indeterminate-translate-reverse{0%{animation-timing-function:cubic-bezier(.15,0,.515,.4096);transform:translate(0)}25%{animation-timing-function:cubic-bezier(.3103,.284,.8,.7337);transform:translate(-37.6519%)}48.35%{animation-timing-function:cubic-bezier(.4,.627,.6,.902);transform:translate(-84.3861%)}to{transform:translate(-160.2778%)}}@keyframes progress-buffering-reverse{0%{transform:translate(-10px)}}\n"] }]
|
|
63
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { _determinateCircle: [{
|
|
64
|
+
type: ViewChild,
|
|
65
|
+
args: ['determinateSpinner']
|
|
66
|
+
}], mode: [{
|
|
67
|
+
type: Input
|
|
68
|
+
}], showValue: [{
|
|
69
|
+
type: Input
|
|
70
|
+
}], value: [{
|
|
71
|
+
type: Input
|
|
72
|
+
}], bufferValue: [{
|
|
73
|
+
type: Input
|
|
74
|
+
}] } });
|
|
75
|
+
/** Clamps a value to be between two numbers, by default 0 and 100. */
|
|
76
|
+
function clamp(v, min = 0, max = 100) {
|
|
77
|
+
return Math.max(min, Math.min(max, v));
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL3Byb2dyZXNzL2Jhci9iYXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJvZ3Jlc3MvYmFyL2Jhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxLQUFLLEVBQ0wsU0FBUyxFQUNULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQzs7O0FBRXZCLHdGQUF3RjtBQW9CeEYsTUFBTSxPQUFPLHNCQUFzQjtJQUlqQyxZQUNXLFdBQW9DLEVBQ3JDLGtCQUFxQztRQURwQyxnQkFBVyxHQUFYLFdBQVcsQ0FBeUI7UUFDckMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFtQjtRQUkvQyxpQ0FBaUM7UUFDeEIsU0FBSSxHQUErQyxlQUFlLENBQUM7UUFFNUUsdUVBQXVFO1FBQzlELGNBQVMsR0FBWSxLQUFLLENBQUM7UUFlNUIsV0FBTSxHQUFXLENBQUMsQ0FBQztRQWNuQixpQkFBWSxHQUFHLENBQUMsQ0FBQztJQW5DekIsQ0FBQztJQVFELCtFQUErRTtJQUMvRSxJQUNJLEtBQUs7UUFDUCx3REFBd0Q7UUFDeEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxDQUFTO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM1Qix5RUFBeUU7UUFDekUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3pDLENBQUM7SUFJRCwwREFBMEQ7SUFDMUQsSUFDSSxXQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsWUFBWSxJQUFJLENBQUMsQ0FBQztJQUNoQyxDQUFDO0lBRUQsSUFBSSxXQUFXLENBQUMsQ0FBUztRQUN2QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDbEMseUVBQXlFO1FBQ3pFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBSUQsMEVBQTBFO0lBQzFFLHVCQUF1QjtRQUNyQixPQUFPLFVBQVUsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssR0FBRyxHQUFHLEdBQUcsQ0FBQztJQUNyRSxDQUFDO0lBRUQsNEVBQTRFO0lBQzVFLHNCQUFzQjtRQUNwQixPQUFPLEdBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDO0lBQy9ELENBQUM7SUFFRCx5REFBeUQ7SUFDekQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxLQUFLLGVBQWUsQ0FBQztJQUN2QyxDQUFDOzttSEExRFUsc0JBQXNCO3VHQUF0QixzQkFBc0IsNHBCQzlCbkMsd3NCQWtCQTsyRkRZYSxzQkFBc0I7a0JBbkJsQyxTQUFTOytCQUNFLGlCQUFpQixRQUVyQjt3QkFDSixNQUFNLEVBQUUsYUFBYTt3QkFDckIsT0FBTyxFQUFFLG1EQUFtRDt3QkFDNUQsVUFBVSxFQUFFLElBQUk7d0JBQ2hCLGdDQUFnQyxFQUFFLDBCQUEwQjt3QkFDNUQsNkJBQTZCLEVBQUUsZ0JBQWdCO3dCQUMvQyxzQkFBc0IsRUFBRSxHQUFHO3dCQUMzQixzQkFBc0IsRUFBRSxLQUFLO3dCQUM3QixzQkFBc0IsRUFBRSxtQ0FBbUM7d0JBQzNELGFBQWEsRUFBRSxNQUFNO3FCQUN0QixtQkFHZ0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSTtpSUFJSixrQkFBa0I7c0JBQWxELFNBQVM7dUJBQUMsb0JBQW9CO2dCQVN0QixJQUFJO3NCQUFaLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFJRixLQUFLO3NCQURSLEtBQUs7Z0JBZ0JGLFdBQVc7c0JBRGQsS0FBSzs7QUE2QlIsc0VBQXNFO0FBQ3RFLFNBQVMsS0FBSyxDQUFDLENBQVMsRUFBRSxHQUFHLEdBQUcsQ0FBQyxFQUFFLEdBQUcsR0FBRyxHQUFHO0lBQzFDLE9BQU8sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN6QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqIEJhc2VkIG9uIFttYXQtcHJvZ3Jlc3MtYmFyXShodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY29tcG9uZW50cy9wcm9ncmVzcy1iYXIvKSAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZnctcHJvZ3Jlc3MtYmFyJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICAncm9sZSc6ICdwcm9ncmVzc2JhcicsXG4gICAgJ2NsYXNzJzogJ2Z3LXByb2dyZXNzLWJhciBwcm9ncmVzcyBwcm9ncmVzcy1hbmltYXRpb24tcmVhZHknLFxuICAgICd0YWJpbmRleCc6ICctMScsXG4gICAgJ1tjbGFzcy5wcm9ncmVzcy1pbmRldGVybWluYXRlXSc6ICdtb2RlID09PSBcImluZGV0ZXJtaW5hdGVcIicsXG4gICAgJ1tjbGFzcy5wcm9ncmVzcy1zaG93LXZhbHVlXSc6ICd0aGlzLnNob3dWYWx1ZScsXG4gICAgJ1thdHRyLmFyaWEtdmFsdWVtaW5dJzogJzAnLFxuICAgICdbYXR0ci5hcmlhLXZhbHVlbWF4XSc6ICcxMDAnLFxuICAgICdbYXR0ci5hcmlhLXZhbHVlbm93XSc6ICdfaXNJbmRldGVybWluYXRlKCkgPyBudWxsIDogdmFsdWUnLFxuICAgICdbYXR0ci5tb2RlXSc6ICdtb2RlJyxcbiAgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL2Jhci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2Jhci5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBGd1Byb2dyZXNzQmFyQ29tcG9uZW50IHtcbiAgLyoqIFRoZSBlbGVtZW50IG9mIHRoZSBkZXRlcm1pbmF0ZSBzcGlubmVyLiAqL1xuICBAVmlld0NoaWxkKCdkZXRlcm1pbmF0ZVNwaW5uZXInKSBfZGV0ZXJtaW5hdGVDaXJjbGU6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHJlYWRvbmx5IF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICkge1xuICB9XG5cbiAgLyoqIE1vZGUgb2YgdGhlIHByb2dyZXNzIGJhci4gKiovXG4gIEBJbnB1dCgpIG1vZGU6ICdkZXRlcm1pbmF0ZScgfCAnaW5kZXRlcm1pbmF0ZScgfCAnYnVmZmVyJyA9ICdpbmRldGVybWluYXRlJztcblxuICAvKiogV2hldGhlciB0byBzaG93IHRoZSB2YWx1ZSBwZXJjZW50YWdlIGxhYmVsIG9uIHRoZSBwcm9ncmVzcyBiYXIuICoqL1xuICBASW5wdXQoKSBzaG93VmFsdWU6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvKiogVmFsdWUgb2YgdGhlIHByb2dyZXNzIGJhci4gRGVmYXVsdHMgdG8gemVyby4gTWlycm9yZWQgdG8gYXJpYS12YWx1ZW5vdy4gKiovXG4gIEBJbnB1dCgpXG4gIGdldCB2YWx1ZSgpOiBudW1iZXIge1xuICAgIC8vIHJldHVybiB0aGlzLm1vZGUgPT09ICdkZXRlcm1pbmF0ZScgPyB0aGlzLl92YWx1ZSA6IDA7XG4gICAgcmV0dXJuIHRoaXMuX3ZhbHVlO1xuICB9XG5cbiAgc2V0IHZhbHVlKHY6IG51bWJlcikge1xuICAgIHRoaXMuX3ZhbHVlID0gY2xhbXAodiB8fCAwKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvbm8tZXhwbGljaXQtY2hhbmdlLWRldGVjdGlvbi1hcGlzXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIF92YWx1ZTogbnVtYmVyID0gMDtcblxuICAvKiogQnVmZmVyIHZhbHVlIG9mIHRoZSBwcm9ncmVzcyBiYXIuIERlZmF1bHRzIHRvIHplcm8uICovXG4gIEBJbnB1dCgpXG4gIGdldCBidWZmZXJWYWx1ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9idWZmZXJWYWx1ZSB8fCAwO1xuICB9XG5cbiAgc2V0IGJ1ZmZlclZhbHVlKHY6IG51bWJlcikge1xuICAgIHRoaXMuX2J1ZmZlclZhbHVlID0gY2xhbXAodiB8fCAwKTtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHJ4LWFuZ3VsYXIvbm8tZXhwbGljaXQtY2hhbmdlLWRldGVjdGlvbi1hcGlzXG4gICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIF9idWZmZXJWYWx1ZSA9IDA7XG5cbiAgLyoqIEdldHMgdGhlIHRyYW5zZm9ybSBzdHlsZSB0aGF0IHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBwcmltYXJ5IGJhci4gKi9cbiAgX2dldFByaW1hcnlCYXJUcmFuc2Zvcm0oKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYHNjYWxlWCgke3RoaXMuX2lzSW5kZXRlcm1pbmF0ZSgpID8gMSA6IHRoaXMudmFsdWUgLyAxMDB9KWA7XG4gIH1cblxuICAvKiogR2V0cyB0aGUgYGZsZXgtYmFzaXNgIHZhbHVlIHRoYXQgc2hvdWxkIGJlIGFwcGxpZWQgdG8gdGhlIGJ1ZmZlciBiYXIuICovXG4gIF9nZXRCdWZmZXJCYXJGbGV4QmFzaXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gYCR7dGhpcy5tb2RlID09PSAnYnVmZmVyJyA/IHRoaXMuYnVmZmVyVmFsdWUgOiAxMDB9JWA7XG4gIH1cblxuICAvKiogUmV0dXJucyB3aGV0aGVyIHRoZSBwcm9ncmVzcyBiYXIgaXMgaW5kZXRlcm1pbmF0ZS4gKi9cbiAgX2lzSW5kZXRlcm1pbmF0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5tb2RlID09PSAnaW5kZXRlcm1pbmF0ZSc7XG4gIH1cbn1cblxuLyoqIENsYW1wcyBhIHZhbHVlIHRvIGJlIGJldHdlZW4gdHdvIG51bWJlcnMsIGJ5IGRlZmF1bHQgMCBhbmQgMTAwLiAqL1xuZnVuY3Rpb24gY2xhbXAodjogbnVtYmVyLCBtaW4gPSAwLCBtYXggPSAxMDApOiBudW1iZXIge1xuICByZXR1cm4gTWF0aC5tYXgobWluLCBNYXRoLm1pbihtYXgsIHYpKTtcbn1cbiIsIjxkaXYgY2xhc3M9XCJwcm9ncmVzcy13cmFwcGVyXCI+XG4gIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1idWZmZXJcIiBhcmlhLWhpZGRlbj1cInRydWVcIj5cbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInByb2dyZXNzLWJ1ZmZlci1iYXJcIlxuICAgICAgW3N0eWxlLmZsZXgtYmFzaXNdPVwiX2dldEJ1ZmZlckJhckZsZXhCYXNpcygpXCI+PC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWJ1ZmZlci1kb3RzXCIgKm5nSWY9XCJtb2RlID09PSAnYnVmZmVyJ1wiPjwvZGl2PlxuICA8L2Rpdj5cbiAgPGRpdlxuICAgIGNsYXNzPVwicHJvZ3Jlc3MtYmFyIHByb2dyZXNzLXByaW1hcnktYmFyXCJcbiAgICBhcmlhLWhpZGRlbj1cInRydWVcIlxuICAgIFtzdHlsZS50cmFuc2Zvcm1dPVwiX2dldFByaW1hcnlCYXJUcmFuc2Zvcm0oKVwiPlxuICAgIDxzcGFuIGNsYXNzPVwicHJvZ3Jlc3MtYmFyLWlubmVyXCI+PC9zcGFuPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWJhciBwcm9ncmVzcy1zZWNvbmRhcnktYmFyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJwcm9ncmVzcy1iYXItaW5uZXJcIj48L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG48cCBbbmdDbGFzc109XCJbJ3Byb2dyZXNzLWxhYmVsJywgJ21vZGUtJyttb2RlXVwiICpuZ0lmPVwic2hvd1ZhbHVlXCI+e3sgdmFsdWUgfX0lPC9wPlxuIl19
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { FwProgressBarComponent } from './bar/bar.component';
|
|
4
|
+
import { FwProgressSpinnerComponent } from './spinner/spinner.component';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class FwProgressModule {
|
|
7
|
+
}
|
|
8
|
+
FwProgressModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwProgressModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
FwProgressModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: FwProgressModule, declarations: [FwProgressBarComponent,
|
|
10
|
+
FwProgressSpinnerComponent], imports: [CommonModule], exports: [FwProgressBarComponent,
|
|
11
|
+
FwProgressSpinnerComponent] });
|
|
12
|
+
FwProgressModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwProgressModule, imports: [CommonModule] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwProgressModule, decorators: [{
|
|
14
|
+
type: NgModule,
|
|
15
|
+
args: [{
|
|
16
|
+
imports: [
|
|
17
|
+
CommonModule,
|
|
18
|
+
],
|
|
19
|
+
exports: [
|
|
20
|
+
FwProgressBarComponent,
|
|
21
|
+
FwProgressSpinnerComponent,
|
|
22
|
+
],
|
|
23
|
+
declarations: [
|
|
24
|
+
FwProgressBarComponent,
|
|
25
|
+
FwProgressSpinnerComponent,
|
|
26
|
+
],
|
|
27
|
+
}]
|
|
28
|
+
}] });
|
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvZ3Jlc3MubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJvZ3Jlc3MvcHJvZ3Jlc3MubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMvQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzdELE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLDZCQUE2QixDQUFDOztBQWV6RSxNQUFNLE9BQU8sZ0JBQWdCOzs2R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0IsaUJBSnpCLHNCQUFzQjtRQUN0QiwwQkFBMEIsYUFSMUIsWUFBWSxhQUdaLHNCQUFzQjtRQUN0QiwwQkFBMEI7OEdBT2pCLGdCQUFnQixZQVh6QixZQUFZOzJGQVdILGdCQUFnQjtrQkFiNUIsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asc0JBQXNCO3dCQUN0QiwwQkFBMEI7cUJBQzNCO29CQUNELFlBQVksRUFBRTt3QkFDWixzQkFBc0I7d0JBQ3RCLDBCQUEwQjtxQkFDM0I7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgRndQcm9ncmVzc0JhckNvbXBvbmVudCB9IGZyb20gJy4vYmFyL2Jhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgRndQcm9ncmVzc1NwaW5uZXJDb21wb25lbnQgfSBmcm9tICcuL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgRndQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgICBGd1Byb2dyZXNzU3Bpbm5lckNvbXBvbmVudCxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRndQcm9ncmVzc0JhckNvbXBvbmVudCxcbiAgICBGd1Byb2dyZXNzU3Bpbm5lckNvbXBvbmVudCxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRndQcm9ncmVzc01vZHVsZSB7XG59XG4iXX0=
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input, ViewChild, ViewEncapsulation } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@angular/common";
|
|
4
|
+
/** Based on [mat-progress-spinner](https://material.angular.io/components/progress-spinner/) */
|
|
5
|
+
export class FwProgressSpinnerComponent {
|
|
6
|
+
constructor(_elementRef) {
|
|
7
|
+
this._elementRef = _elementRef;
|
|
8
|
+
/** Mode of the progress spinner. **/
|
|
9
|
+
this.mode = 'indeterminate';
|
|
10
|
+
/** Size of the progress spinner. **/
|
|
11
|
+
this.size = 'medium';
|
|
12
|
+
/** Color of the progress spinner. **/
|
|
13
|
+
this.color = 'primary';
|
|
14
|
+
/** Whether to show the value percentage label on the progress spinner. **/
|
|
15
|
+
this.showValue = false;
|
|
16
|
+
this._value = 0;
|
|
17
|
+
this._diameter = 20;
|
|
18
|
+
this._strokeWidth = 3;
|
|
19
|
+
}
|
|
20
|
+
/** Value of the progress spinner. Defaults to zero. Mirrored to aria-valuenow. **/
|
|
21
|
+
get value() {
|
|
22
|
+
// return this.mode === 'determinate' ? this._value : 0;
|
|
23
|
+
return this._value;
|
|
24
|
+
}
|
|
25
|
+
set value(v) {
|
|
26
|
+
this._value = Math.max(0, Math.min(100, v || 0));
|
|
27
|
+
}
|
|
28
|
+
/** The diameter of the progress spinner (will set width and height of svg). */
|
|
29
|
+
get diameter() {
|
|
30
|
+
switch (this.size) {
|
|
31
|
+
case 'small':
|
|
32
|
+
this._diameter = 20;
|
|
33
|
+
this._strokeWidth = 3;
|
|
34
|
+
break;
|
|
35
|
+
case 'medium':
|
|
36
|
+
this._diameter = 36;
|
|
37
|
+
this._strokeWidth = 4;
|
|
38
|
+
break;
|
|
39
|
+
}
|
|
40
|
+
return this._diameter;
|
|
41
|
+
}
|
|
42
|
+
/** The radius of the spinner, adjusted for stroke width. */
|
|
43
|
+
_circleRadius() {
|
|
44
|
+
return (this.diameter - 10) / 2;
|
|
45
|
+
}
|
|
46
|
+
/** The view box of the spinner's svg element. */
|
|
47
|
+
_viewBox() {
|
|
48
|
+
const viewBox = this._circleRadius() * 2 + this._strokeWidth;
|
|
49
|
+
return `0 0 ${viewBox} ${viewBox}`;
|
|
50
|
+
}
|
|
51
|
+
/** The stroke circumference of the svg circle. */
|
|
52
|
+
_strokeCircumference() {
|
|
53
|
+
return 2 * Math.PI * this._circleRadius();
|
|
54
|
+
}
|
|
55
|
+
/** The dash offset of the svg circle. */
|
|
56
|
+
_strokeDashOffset() {
|
|
57
|
+
if (this.mode === 'determinate') {
|
|
58
|
+
return (this._strokeCircumference() * (100 - this._value)) / 100;
|
|
59
|
+
}
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
/** Stroke width of the circle in percent. */
|
|
63
|
+
_circleStrokeWidth() {
|
|
64
|
+
return (this._strokeWidth / this.diameter) * 100;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
FwProgressSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwProgressSpinnerComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
68
|
+
FwProgressSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: FwProgressSpinnerComponent, selector: "fw-progress-spinner", inputs: { mode: "mode", size: "size", color: "color", showValue: "showValue", value: "value" }, host: { attributes: { "role": "progressbar", "tabindex": "-1" }, properties: { "class.progress-indeterminate": "mode === \"indeterminate\"", "class.progress-small": "size === \"small\"", "class.progress-show-value": "this.showValue", "style.width.px": "diameter", "style.height.px": "diameter", "attr.aria-valuemin": "0", "attr.aria-valuemax": "100", "attr.aria-valuenow": "mode === \"determinate\" ? value : null", "attr.mode": "mode" }, classAttribute: "fw-progress-spinner" }, viewQueries: [{ propertyName: "_determinateCircle", first: true, predicate: ["determinateSpinner"], descendants: true }], ngImport: i0, template: "<ng-template #circle>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n [ngClass]=\"['progress-indeterminate-circle-graphic', color]\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-indeterminate-track\"\n cx=\"50%\" cy=\"50%\"/>\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeCircumference() / 2\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n cx=\"50%\" cy=\"50%\"/>\n </svg>\n</ng-template>\n\n<div class=\"progress-determinate-container\" aria-hidden=\"true\" #determinateSpinner>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n [ngClass]=\"['progress-determinate-circle-graphic', color]\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-determinate-track\"\n cx=\"50%\" cy=\"50%\"/>\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-determinate-circle\"\n cx=\"50%\" cy=\"50%\"/>\n </svg>\n</div>\n<div class=\"progress-indeterminate-container\" aria-hidden=\"true\">\n <div class=\"progress-spinner-layer\">\n <div class=\"progress-circle-clipper progress-circle-left\">\n <ng-container [ngTemplateOutlet]=\"circle\"></ng-container>\n </div>\n <div class=\"progress-circle-clipper progress-circle-right\">\n <ng-container [ngTemplateOutlet]=\"circle\"></ng-container>\n </div>\n </div>\n</div>\n<p [ngClass]=\"['progress-label','size-'+size, 'mode-'+mode]\" *ngIf=\"showValue\">{{ value }}%</p>\n", styles: [".fw-progress-spinner{display:block;overflow:hidden;line-height:0;position:relative;direction:ltr;transition:opacity .25s cubic-bezier(.4,0,.6,1)}.fw-progress-spinner.progress-small.progress-show-value{overflow:visible}.progress-determinate-container,.progress-indeterminate-circle-graphic,.progress-indeterminate-container,.progress-spinner-layer{position:absolute;width:100%;height:100%}.progress-determinate-container{transform:rotate(-90deg)}.progress-indeterminate .progress-determinate-container{opacity:0}.progress-indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.progress-indeterminate .progress-indeterminate-container{opacity:1;animation:progress-container-rotate 1.5682353s linear infinite}.progress-determinate-circle-graphic,.progress-indeterminate-circle-graphic{fill:transparent;stroke:var(--primary-base);stroke-linecap:round}.progress-determinate-circle-graphic.secondary,.progress-indeterminate-circle-graphic.secondary{stroke:var(--secondary-base)}.progress-determinate-circle-graphic.red,.progress-indeterminate-circle-graphic.red{stroke:var(--red-base)}.progress-determinate-circle-graphic.slate,.progress-indeterminate-circle-graphic.slate{stroke:var(--slate-base)}.progress-determinate-circle-graphic.orange,.progress-indeterminate-circle-graphic.orange{stroke:var(--orange-base)}.progress-determinate-circle-graphic.green,.progress-indeterminate-circle-graphic.green{stroke:var(--green-base)}.progress-determinate-circle{transition:stroke-dashoffset .5s cubic-bezier(0,0,.2,1)}.progress-determinate-track,.progress-indeterminate-track{fill:transparent;stroke:var(--separations-divider);stroke-dasharray:100px!important;stroke-dashoffset:0!important;transition:none}.progress-gap-patch .progress-indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.progress-circle-clipper .progress-indeterminate-circle-graphic{width:200%}.progress-circle-right .progress-indeterminate-circle-graphic{left:-100%}.progress-indeterminate .progress-circle-left .progress-indeterminate-circle-graphic{animation:progress-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.progress-indeterminate .progress-circle-right .progress-indeterminate-circle-graphic{animation:progress-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.progress-circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.progress-indeterminate .progress-spinner-layer{animation:progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}.progress-label{margin:0;font-size:8px;line-height:120%;font-weight:500;width:24px;color:var(--typography-muted);position:absolute;top:calc(50% - 4px);right:calc(50% - 12px);text-align:center}.progress-label.size-small{right:-24px}.progress-label.size-large{font-size:12px;top:calc(50% - 6px)}.progress-label.size-extra-large{font-size:16px;width:40px;top:calc(50% - 8px);right:calc(50% - 20px)}@keyframes progress-container-rotate{to{transform:rotate(360deg)}}@keyframes progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes progress-left-spin{0%{transform:rotate(260deg)}50%{transform:rotate(130deg)}to{transform:rotate(260deg)}}@keyframes progress-right-spin{0%{transform:rotate(-260deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-260deg)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: FwProgressSpinnerComponent, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{ selector: 'fw-progress-spinner', host: {
|
|
72
|
+
'role': 'progressbar',
|
|
73
|
+
'class': 'fw-progress-spinner',
|
|
74
|
+
'tabindex': '-1',
|
|
75
|
+
'[class.progress-indeterminate]': 'mode === "indeterminate"',
|
|
76
|
+
'[class.progress-small]': 'size === "small"',
|
|
77
|
+
'[class.progress-show-value]': 'this.showValue',
|
|
78
|
+
'[style.width.px]': 'diameter',
|
|
79
|
+
'[style.height.px]': 'diameter',
|
|
80
|
+
// '[style.--progress-size]': 'diameter + "px"',
|
|
81
|
+
// '[style.--progress-active-indicator-width]': 'diameter + "px"',
|
|
82
|
+
'[attr.aria-valuemin]': '0',
|
|
83
|
+
'[attr.aria-valuemax]': '100',
|
|
84
|
+
'[attr.aria-valuenow]': 'mode === "determinate" ? value : null',
|
|
85
|
+
'[attr.mode]': 'mode',
|
|
86
|
+
}, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ng-template #circle>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n [ngClass]=\"['progress-indeterminate-circle-graphic', color]\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-indeterminate-track\"\n cx=\"50%\" cy=\"50%\"/>\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeCircumference() / 2\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n cx=\"50%\" cy=\"50%\"/>\n </svg>\n</ng-template>\n\n<div class=\"progress-determinate-container\" aria-hidden=\"true\" #determinateSpinner>\n <svg\n [attr.viewBox]=\"_viewBox()\"\n [ngClass]=\"['progress-determinate-circle-graphic', color]\"\n xmlns=\"http://www.w3.org/2000/svg\" focusable=\"false\">\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-determinate-track\"\n cx=\"50%\" cy=\"50%\"/>\n <circle\n [attr.r]=\"_circleRadius()\"\n [style.stroke-dasharray.px]=\"_strokeCircumference()\"\n [style.stroke-dashoffset.px]=\"_strokeDashOffset()\"\n [style.stroke-width.%]=\"_circleStrokeWidth()\"\n class=\"progress-determinate-circle\"\n cx=\"50%\" cy=\"50%\"/>\n </svg>\n</div>\n<div class=\"progress-indeterminate-container\" aria-hidden=\"true\">\n <div class=\"progress-spinner-layer\">\n <div class=\"progress-circle-clipper progress-circle-left\">\n <ng-container [ngTemplateOutlet]=\"circle\"></ng-container>\n </div>\n <div class=\"progress-circle-clipper progress-circle-right\">\n <ng-container [ngTemplateOutlet]=\"circle\"></ng-container>\n </div>\n </div>\n</div>\n<p [ngClass]=\"['progress-label','size-'+size, 'mode-'+mode]\" *ngIf=\"showValue\">{{ value }}%</p>\n", styles: [".fw-progress-spinner{display:block;overflow:hidden;line-height:0;position:relative;direction:ltr;transition:opacity .25s cubic-bezier(.4,0,.6,1)}.fw-progress-spinner.progress-small.progress-show-value{overflow:visible}.progress-determinate-container,.progress-indeterminate-circle-graphic,.progress-indeterminate-container,.progress-spinner-layer{position:absolute;width:100%;height:100%}.progress-determinate-container{transform:rotate(-90deg)}.progress-indeterminate .progress-determinate-container{opacity:0}.progress-indeterminate-container{font-size:0;letter-spacing:0;white-space:nowrap;opacity:0}.progress-indeterminate .progress-indeterminate-container{opacity:1;animation:progress-container-rotate 1.5682353s linear infinite}.progress-determinate-circle-graphic,.progress-indeterminate-circle-graphic{fill:transparent;stroke:var(--primary-base);stroke-linecap:round}.progress-determinate-circle-graphic.secondary,.progress-indeterminate-circle-graphic.secondary{stroke:var(--secondary-base)}.progress-determinate-circle-graphic.red,.progress-indeterminate-circle-graphic.red{stroke:var(--red-base)}.progress-determinate-circle-graphic.slate,.progress-indeterminate-circle-graphic.slate{stroke:var(--slate-base)}.progress-determinate-circle-graphic.orange,.progress-indeterminate-circle-graphic.orange{stroke:var(--orange-base)}.progress-determinate-circle-graphic.green,.progress-indeterminate-circle-graphic.green{stroke:var(--green-base)}.progress-determinate-circle{transition:stroke-dashoffset .5s cubic-bezier(0,0,.2,1)}.progress-determinate-track,.progress-indeterminate-track{fill:transparent;stroke:var(--separations-divider);stroke-dasharray:100px!important;stroke-dashoffset:0!important;transition:none}.progress-gap-patch .progress-indeterminate-circle-graphic{left:-900%;width:2000%;transform:rotate(180deg)}.progress-circle-clipper .progress-indeterminate-circle-graphic{width:200%}.progress-circle-right .progress-indeterminate-circle-graphic{left:-100%}.progress-indeterminate .progress-circle-left .progress-indeterminate-circle-graphic{animation:progress-left-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.progress-indeterminate .progress-circle-right .progress-indeterminate-circle-graphic{animation:progress-right-spin 1333ms cubic-bezier(.4,0,.2,1) infinite both}.progress-circle-clipper{display:inline-flex;position:relative;width:50%;height:100%;overflow:hidden}.progress-indeterminate .progress-spinner-layer{animation:progress-spinner-layer-rotate 5332ms cubic-bezier(.4,0,.2,1) infinite both}.progress-label{margin:0;font-size:8px;line-height:120%;font-weight:500;width:24px;color:var(--typography-muted);position:absolute;top:calc(50% - 4px);right:calc(50% - 12px);text-align:center}.progress-label.size-small{right:-24px}.progress-label.size-large{font-size:12px;top:calc(50% - 6px)}.progress-label.size-extra-large{font-size:16px;width:40px;top:calc(50% - 8px);right:calc(50% - 20px)}@keyframes progress-container-rotate{to{transform:rotate(360deg)}}@keyframes progress-spinner-layer-rotate{12.5%{transform:rotate(135deg)}25%{transform:rotate(270deg)}37.5%{transform:rotate(405deg)}50%{transform:rotate(540deg)}62.5%{transform:rotate(675deg)}75%{transform:rotate(810deg)}87.5%{transform:rotate(945deg)}to{transform:rotate(1080deg)}}@keyframes progress-left-spin{0%{transform:rotate(260deg)}50%{transform:rotate(130deg)}to{transform:rotate(260deg)}}@keyframes progress-right-spin{0%{transform:rotate(-260deg)}50%{transform:rotate(-130deg)}to{transform:rotate(-260deg)}}\n"] }]
|
|
87
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { _determinateCircle: [{
|
|
88
|
+
type: ViewChild,
|
|
89
|
+
args: ['determinateSpinner']
|
|
90
|
+
}], mode: [{
|
|
91
|
+
type: Input
|
|
92
|
+
}], size: [{
|
|
93
|
+
type: Input
|
|
94
|
+
}], color: [{
|
|
95
|
+
type: Input
|
|
96
|
+
}], showValue: [{
|
|
97
|
+
type: Input
|
|
98
|
+
}], value: [{
|
|
99
|
+
type: Input
|
|
100
|
+
}] } });
|
|
101
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9wcm9ncmVzcy9zcGlubmVyL3NwaW5uZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvcHJvZ3Jlc3Mvc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQWMsS0FBSyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBRXBILGdHQUFnRztBQXlCaEcsTUFBTSxPQUFPLDBCQUEwQjtJQUlyQyxZQUNXLFdBQW9DO1FBQXBDLGdCQUFXLEdBQVgsV0FBVyxDQUF5QjtRQUkvQyxxQ0FBcUM7UUFDNUIsU0FBSSxHQUFvQyxlQUFlLENBQUM7UUFFakUscUNBQXFDO1FBQzVCLFNBQUksR0FBdUIsUUFBUSxDQUFDO1FBRTdDLHNDQUFzQztRQUM3QixVQUFLLEdBQW9FLFNBQVMsQ0FBQztRQUU1RiwyRUFBMkU7UUFDbEUsY0FBUyxHQUFZLEtBQUssQ0FBQztRQWE1QixXQUFNLEdBQVcsQ0FBQyxDQUFDO1FBQ25CLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixpQkFBWSxHQUFXLENBQUMsQ0FBQztJQTNCakMsQ0FBQztJQWNELG1GQUFtRjtJQUNuRixJQUNJLEtBQUs7UUFDUCx3REFBd0Q7UUFDeEQsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxJQUFJLEtBQUssQ0FBQyxDQUFTO1FBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQU1ELCtFQUErRTtJQUMvRSxJQUFJLFFBQVE7UUFDVixRQUFRLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDakIsS0FBSyxPQUFPO2dCQUNWLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO2dCQUNwQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztnQkFDdEIsTUFBTTtZQUNSLEtBQUssUUFBUTtnQkFDWCxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztnQkFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUM7Z0JBQ3RCLE1BQU07U0FDVDtRQUNELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBRUQsNERBQTREO0lBQzVELGFBQWE7UUFDWCxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGlEQUFpRDtJQUNqRCxRQUFRO1FBQ04sTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQzdELE9BQU8sT0FBTyxPQUFPLElBQUksT0FBTyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUVELGtEQUFrRDtJQUNsRCxvQkFBb0I7UUFDbEIsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELHlDQUF5QztJQUN6QyxpQkFBaUI7UUFDZixJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssYUFBYSxFQUFFO1lBQy9CLE9BQU8sQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUM7U0FDbEU7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCw2Q0FBNkM7SUFDN0Msa0JBQWtCO1FBQ2hCLE9BQU8sQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxHQUFHLENBQUM7SUFDbkQsQ0FBQzs7dUhBOUVVLDBCQUEwQjsyR0FBMUIsMEJBQTBCLHF2QkMzQnZDLHVwRUFxREE7MkZEMUJhLDBCQUEwQjtrQkF4QnRDLFNBQVM7K0JBQ0UscUJBQXFCLFFBRXpCO3dCQUNKLE1BQU0sRUFBRSxhQUFhO3dCQUNyQixPQUFPLEVBQUUscUJBQXFCO3dCQUM5QixVQUFVLEVBQUUsSUFBSTt3QkFDaEIsZ0NBQWdDLEVBQUUsMEJBQTBCO3dCQUM1RCx3QkFBd0IsRUFBRSxrQkFBa0I7d0JBQzVDLDZCQUE2QixFQUFFLGdCQUFnQjt3QkFDL0Msa0JBQWtCLEVBQUUsVUFBVTt3QkFDOUIsbUJBQW1CLEVBQUUsVUFBVTt3QkFDL0IsZ0RBQWdEO3dCQUNoRCxrRUFBa0U7d0JBQ2xFLHNCQUFzQixFQUFFLEdBQUc7d0JBQzNCLHNCQUFzQixFQUFFLEtBQUs7d0JBQzdCLHNCQUFzQixFQUFFLHVDQUF1Qzt3QkFDL0QsYUFBYSxFQUFFLE1BQU07cUJBQ3RCLG1CQUdnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJO2lHQUlKLGtCQUFrQjtzQkFBbEQsU0FBUzt1QkFBQyxvQkFBb0I7Z0JBUXRCLElBQUk7c0JBQVosS0FBSztnQkFHRyxJQUFJO3NCQUFaLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUYsS0FBSztzQkFEUixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRWxlbWVudFJlZiwgSW5wdXQsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqIEJhc2VkIG9uIFttYXQtcHJvZ3Jlc3Mtc3Bpbm5lcl0oaHR0cHM6Ly9tYXRlcmlhbC5hbmd1bGFyLmlvL2NvbXBvbmVudHMvcHJvZ3Jlc3Mtc3Bpbm5lci8pICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdmdy1wcm9ncmVzcy1zcGlubmVyJyxcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9uby1ob3N0LW1ldGFkYXRhLXByb3BlcnR5XG4gIGhvc3Q6IHtcbiAgICAncm9sZSc6ICdwcm9ncmVzc2JhcicsXG4gICAgJ2NsYXNzJzogJ2Z3LXByb2dyZXNzLXNwaW5uZXInLFxuICAgICd0YWJpbmRleCc6ICctMScsXG4gICAgJ1tjbGFzcy5wcm9ncmVzcy1pbmRldGVybWluYXRlXSc6ICdtb2RlID09PSBcImluZGV0ZXJtaW5hdGVcIicsXG4gICAgJ1tjbGFzcy5wcm9ncmVzcy1zbWFsbF0nOiAnc2l6ZSA9PT0gXCJzbWFsbFwiJyxcbiAgICAnW2NsYXNzLnByb2dyZXNzLXNob3ctdmFsdWVdJzogJ3RoaXMuc2hvd1ZhbHVlJyxcbiAgICAnW3N0eWxlLndpZHRoLnB4XSc6ICdkaWFtZXRlcicsXG4gICAgJ1tzdHlsZS5oZWlnaHQucHhdJzogJ2RpYW1ldGVyJyxcbiAgICAvLyAnW3N0eWxlLi0tcHJvZ3Jlc3Mtc2l6ZV0nOiAnZGlhbWV0ZXIgKyBcInB4XCInLFxuICAgIC8vICdbc3R5bGUuLS1wcm9ncmVzcy1hY3RpdmUtaW5kaWNhdG9yLXdpZHRoXSc6ICdkaWFtZXRlciArIFwicHhcIicsXG4gICAgJ1thdHRyLmFyaWEtdmFsdWVtaW5dJzogJzAnLFxuICAgICdbYXR0ci5hcmlhLXZhbHVlbWF4XSc6ICcxMDAnLFxuICAgICdbYXR0ci5hcmlhLXZhbHVlbm93XSc6ICdtb2RlID09PSBcImRldGVybWluYXRlXCIgPyB2YWx1ZSA6IG51bGwnLFxuICAgICdbYXR0ci5tb2RlXSc6ICdtb2RlJyxcbiAgfSxcbiAgdGVtcGxhdGVVcmw6ICcuL3NwaW5uZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcGlubmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBGd1Byb2dyZXNzU3Bpbm5lckNvbXBvbmVudCB7XG4gIC8qKiBUaGUgZWxlbWVudCBvZiB0aGUgZGV0ZXJtaW5hdGUgc3Bpbm5lci4gKi9cbiAgQFZpZXdDaGlsZCgnZGV0ZXJtaW5hdGVTcGlubmVyJykgX2RldGVybWluYXRlQ2lyY2xlOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSBfZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICkge1xuICB9XG5cbiAgLyoqIE1vZGUgb2YgdGhlIHByb2dyZXNzIHNwaW5uZXIuICoqL1xuICBASW5wdXQoKSBtb2RlOiAnZGV0ZXJtaW5hdGUnIHwgJ2luZGV0ZXJtaW5hdGUnID0gJ2luZGV0ZXJtaW5hdGUnO1xuXG4gIC8qKiBTaXplIG9mIHRoZSBwcm9ncmVzcyBzcGlubmVyLiAqKi9cbiAgQElucHV0KCkgc2l6ZTogJ3NtYWxsJyB8ICdtZWRpdW0nID0gJ21lZGl1bSc7XG5cbiAgLyoqIENvbG9yIG9mIHRoZSBwcm9ncmVzcyBzcGlubmVyLiAqKi9cbiAgQElucHV0KCkgY29sb3I/OiAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdyZWQnIHwgJ3NsYXRlJyB8ICdvcmFuZ2UnIHwgJ2dyZWVuJyA9ICdwcmltYXJ5JztcblxuICAvKiogV2hldGhlciB0byBzaG93IHRoZSB2YWx1ZSBwZXJjZW50YWdlIGxhYmVsIG9uIHRoZSBwcm9ncmVzcyBzcGlubmVyLiAqKi9cbiAgQElucHV0KCkgc2hvd1ZhbHVlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqIFZhbHVlIG9mIHRoZSBwcm9ncmVzcyBzcGlubmVyLiBEZWZhdWx0cyB0byB6ZXJvLiBNaXJyb3JlZCB0byBhcmlhLXZhbHVlbm93LiAqKi9cbiAgQElucHV0KClcbiAgZ2V0IHZhbHVlKCk6IG51bWJlciB7XG4gICAgLy8gcmV0dXJuIHRoaXMubW9kZSA9PT0gJ2RldGVybWluYXRlJyA/IHRoaXMuX3ZhbHVlIDogMDtcbiAgICByZXR1cm4gdGhpcy5fdmFsdWU7XG4gIH1cblxuICBzZXQgdmFsdWUodjogbnVtYmVyKSB7XG4gICAgdGhpcy5fdmFsdWUgPSBNYXRoLm1heCgwLCBNYXRoLm1pbigxMDAsIHYgfHwgMCkpO1xuICB9XG5cbiAgcHJpdmF0ZSBfdmFsdWU6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgX2RpYW1ldGVyID0gMjA7XG4gIHByaXZhdGUgX3N0cm9rZVdpZHRoOiBudW1iZXIgPSAzO1xuXG4gIC8qKiBUaGUgZGlhbWV0ZXIgb2YgdGhlIHByb2dyZXNzIHNwaW5uZXIgKHdpbGwgc2V0IHdpZHRoIGFuZCBoZWlnaHQgb2Ygc3ZnKS4gKi9cbiAgZ2V0IGRpYW1ldGVyKCk6IG51bWJlciB7XG4gICAgc3dpdGNoICh0aGlzLnNpemUpIHtcbiAgICAgIGNhc2UgJ3NtYWxsJzpcbiAgICAgICAgdGhpcy5fZGlhbWV0ZXIgPSAyMDtcbiAgICAgICAgdGhpcy5fc3Ryb2tlV2lkdGggPSAzO1xuICAgICAgICBicmVhaztcbiAgICAgIGNhc2UgJ21lZGl1bSc6XG4gICAgICAgIHRoaXMuX2RpYW1ldGVyID0gMzY7XG4gICAgICAgIHRoaXMuX3N0cm9rZVdpZHRoID0gNDtcbiAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9kaWFtZXRlcjtcbiAgfVxuXG4gIC8qKiBUaGUgcmFkaXVzIG9mIHRoZSBzcGlubmVyLCBhZGp1c3RlZCBmb3Igc3Ryb2tlIHdpZHRoLiAqL1xuICBfY2lyY2xlUmFkaXVzKCk6IG51bWJlciB7XG4gICAgcmV0dXJuICh0aGlzLmRpYW1ldGVyIC0gMTApIC8gMjtcbiAgfVxuXG4gIC8qKiBUaGUgdmlldyBib3ggb2YgdGhlIHNwaW5uZXIncyBzdmcgZWxlbWVudC4gKi9cbiAgX3ZpZXdCb3goKTogc3RyaW5nIHtcbiAgICBjb25zdCB2aWV3Qm94ID0gdGhpcy5fY2lyY2xlUmFkaXVzKCkgKiAyICsgdGhpcy5fc3Ryb2tlV2lkdGg7XG4gICAgcmV0dXJuIGAwIDAgJHt2aWV3Qm94fSAke3ZpZXdCb3h9YDtcbiAgfVxuXG4gIC8qKiBUaGUgc3Ryb2tlIGNpcmN1bWZlcmVuY2Ugb2YgdGhlIHN2ZyBjaXJjbGUuICovXG4gIF9zdHJva2VDaXJjdW1mZXJlbmNlKCk6IG51bWJlciB7XG4gICAgcmV0dXJuIDIgKiBNYXRoLlBJICogdGhpcy5fY2lyY2xlUmFkaXVzKCk7XG4gIH1cblxuICAvKiogVGhlIGRhc2ggb2Zmc2V0IG9mIHRoZSBzdmcgY2lyY2xlLiAqL1xuICBfc3Ryb2tlRGFzaE9mZnNldCgpOiBudW1iZXIge1xuICAgIGlmICh0aGlzLm1vZGUgPT09ICdkZXRlcm1pbmF0ZScpIHtcbiAgICAgIHJldHVybiAodGhpcy5fc3Ryb2tlQ2lyY3VtZmVyZW5jZSgpICogKDEwMCAtIHRoaXMuX3ZhbHVlKSkgLyAxMDA7XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqIFN0cm9rZSB3aWR0aCBvZiB0aGUgY2lyY2xlIGluIHBlcmNlbnQuICovXG4gIF9jaXJjbGVTdHJva2VXaWR0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiAodGhpcy5fc3Ryb2tlV2lkdGggLyB0aGlzLmRpYW1ldGVyKSAqIDEwMDtcbiAgfVxufVxuIiwiPG5nLXRlbXBsYXRlICNjaXJjbGU+XG4gIDxzdmdcbiAgICBbYXR0ci52aWV3Qm94XT1cIl92aWV3Qm94KClcIlxuICAgIFtuZ0NsYXNzXT1cIlsncHJvZ3Jlc3MtaW5kZXRlcm1pbmF0ZS1jaXJjbGUtZ3JhcGhpYycsIGNvbG9yXVwiXG4gICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIGZvY3VzYWJsZT1cImZhbHNlXCI+XG4gICAgPGNpcmNsZVxuICAgICAgW2F0dHIucl09XCJfY2lyY2xlUmFkaXVzKClcIlxuICAgICAgW3N0eWxlLnN0cm9rZS1kYXNoYXJyYXkucHhdPVwiX3N0cm9rZUNpcmN1bWZlcmVuY2UoKVwiXG4gICAgICBbc3R5bGUuc3Ryb2tlLWRhc2hvZmZzZXQucHhdPVwiX3N0cm9rZURhc2hPZmZzZXQoKVwiXG4gICAgICBbc3R5bGUuc3Ryb2tlLXdpZHRoLiVdPVwiX2NpcmNsZVN0cm9rZVdpZHRoKClcIlxuICAgICAgY2xhc3M9XCJwcm9ncmVzcy1pbmRldGVybWluYXRlLXRyYWNrXCJcbiAgICAgIGN4PVwiNTAlXCIgY3k9XCI1MCVcIi8+XG4gICAgPGNpcmNsZVxuICAgICAgW2F0dHIucl09XCJfY2lyY2xlUmFkaXVzKClcIlxuICAgICAgW3N0eWxlLnN0cm9rZS1kYXNoYXJyYXkucHhdPVwiX3N0cm9rZUNpcmN1bWZlcmVuY2UoKVwiXG4gICAgICBbc3R5bGUuc3Ryb2tlLWRhc2hvZmZzZXQucHhdPVwiX3N0cm9rZUNpcmN1bWZlcmVuY2UoKSAvIDJcIlxuICAgICAgW3N0eWxlLnN0cm9rZS13aWR0aC4lXT1cIl9jaXJjbGVTdHJva2VXaWR0aCgpXCJcbiAgICAgIGN4PVwiNTAlXCIgY3k9XCI1MCVcIi8+XG4gIDwvc3ZnPlxuPC9uZy10ZW1wbGF0ZT5cblxuPGRpdiBjbGFzcz1cInByb2dyZXNzLWRldGVybWluYXRlLWNvbnRhaW5lclwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiICNkZXRlcm1pbmF0ZVNwaW5uZXI+XG4gIDxzdmdcbiAgICBbYXR0ci52aWV3Qm94XT1cIl92aWV3Qm94KClcIlxuICAgIFtuZ0NsYXNzXT1cIlsncHJvZ3Jlc3MtZGV0ZXJtaW5hdGUtY2lyY2xlLWdyYXBoaWMnLCBjb2xvcl1cIlxuICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBmb2N1c2FibGU9XCJmYWxzZVwiPlxuICAgIDxjaXJjbGVcbiAgICAgIFthdHRyLnJdPVwiX2NpcmNsZVJhZGl1cygpXCJcbiAgICAgIFtzdHlsZS5zdHJva2UtZGFzaGFycmF5LnB4XT1cIl9zdHJva2VDaXJjdW1mZXJlbmNlKClcIlxuICAgICAgW3N0eWxlLnN0cm9rZS1kYXNob2Zmc2V0LnB4XT1cIl9zdHJva2VEYXNoT2Zmc2V0KClcIlxuICAgICAgW3N0eWxlLnN0cm9rZS13aWR0aC4lXT1cIl9jaXJjbGVTdHJva2VXaWR0aCgpXCJcbiAgICAgIGNsYXNzPVwicHJvZ3Jlc3MtZGV0ZXJtaW5hdGUtdHJhY2tcIlxuICAgICAgY3g9XCI1MCVcIiBjeT1cIjUwJVwiLz5cbiAgICA8Y2lyY2xlXG4gICAgICBbYXR0ci5yXT1cIl9jaXJjbGVSYWRpdXMoKVwiXG4gICAgICBbc3R5bGUuc3Ryb2tlLWRhc2hhcnJheS5weF09XCJfc3Ryb2tlQ2lyY3VtZmVyZW5jZSgpXCJcbiAgICAgIFtzdHlsZS5zdHJva2UtZGFzaG9mZnNldC5weF09XCJfc3Ryb2tlRGFzaE9mZnNldCgpXCJcbiAgICAgIFtzdHlsZS5zdHJva2Utd2lkdGguJV09XCJfY2lyY2xlU3Ryb2tlV2lkdGgoKVwiXG4gICAgICBjbGFzcz1cInByb2dyZXNzLWRldGVybWluYXRlLWNpcmNsZVwiXG4gICAgICBjeD1cIjUwJVwiIGN5PVwiNTAlXCIvPlxuICA8L3N2Zz5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInByb2dyZXNzLWluZGV0ZXJtaW5hdGUtY29udGFpbmVyXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1zcGlubmVyLWxheWVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWNpcmNsZS1jbGlwcGVyIHByb2dyZXNzLWNpcmNsZS1sZWZ0XCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNpcmNsZVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJwcm9ncmVzcy1jaXJjbGUtY2xpcHBlciBwcm9ncmVzcy1jaXJjbGUtcmlnaHRcIj5cbiAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2lyY2xlXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9kaXY+XG48cCBbbmdDbGFzc109XCJbJ3Byb2dyZXNzLWxhYmVsJywnc2l6ZS0nK3NpemUsICdtb2RlLScrbW9kZV1cIiAqbmdJZj1cInNob3dWYWx1ZVwiPnt7IHZhbHVlIH19JTwvcD5cbiJdfQ==
|