ngx-sfc-components 0.0.22 → 0.0.24
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/esm2020/lib/components/avatar/avatar.component.mjs +12 -5
- package/esm2020/lib/components/avatar/models/avatar-progress.model.mjs +1 -1
- package/esm2020/lib/components/avatar/parts/badge/avatar-badge.component.mjs +1 -1
- package/esm2020/lib/components/carousel/carousel.component.mjs +14 -6
- package/esm2020/lib/components/carousel/models/navigation-context.model.mjs +2 -0
- package/esm2020/lib/components/carousel/models/navigation.model.mjs +1 -1
- package/esm2020/lib/components/carousel/models/options.model.mjs +1 -1
- package/esm2020/lib/components/carousel/parts/stage/carousel-stage.component.mjs +3 -3
- package/esm2020/lib/components/carousel/service/carousel/carousel-service.constants.mjs +5 -2
- package/esm2020/lib/components/carousel/service/navigation/carousel-navigation.service.mjs +10 -1
- package/esm2020/lib/components/index.mjs +4 -2
- package/esm2020/lib/components/menu/dropdown/dropdown-menu.component.mjs +3 -3
- package/esm2020/lib/components/menu/dropdown/parts/item/dropdown-menu-item.component.mjs +8 -3
- package/esm2020/lib/components/menu/router/parts/item/router-menu-item.component.mjs +31 -0
- package/esm2020/lib/components/menu/router/parts/item/router-menu-item.model.mjs +2 -0
- package/esm2020/lib/components/menu/router/router-menu.component.mjs +32 -0
- package/esm2020/lib/components/menu/side/parts/header/side-menu-header.component.mjs +10 -6
- package/esm2020/lib/components/menu/side/parts/item/content/side-menu-item-content.component.mjs +7 -4
- package/esm2020/lib/components/menu/side/parts/item/side-menu-item.component.mjs +6 -5
- package/esm2020/lib/components/menu/side/side-menu.component.mjs +12 -5
- package/esm2020/lib/components/menu/side/side-menu.constants.mjs +4 -0
- package/esm2020/lib/components/menu/side/side-menu.model.mjs +1 -1
- package/esm2020/lib/components/no-export-index.mjs +2 -2
- package/esm2020/lib/components/notification/notification.component.mjs +1 -1
- package/esm2020/lib/components/progress/circle/progress-circle.component.mjs +6 -3
- package/esm2020/lib/components/progress/progress.utils.mjs +2 -2
- package/esm2020/lib/components/table/parts/content/rows/expanded/expanded-table-row.component.mjs +2 -2
- package/esm2020/lib/components/table/service/select/table-select.event.mjs +1 -1
- package/esm2020/lib/components/table/service/select/table-select.service.mjs +17 -7
- package/esm2020/lib/components/table/table.component.mjs +35 -11
- package/esm2020/lib/components/tabs/tabs.component.mjs +9 -4
- package/esm2020/lib/components/tags/parts/tag/tag.component.mjs +4 -4
- package/esm2020/lib/components/tags/parts/tag/tag.model.mjs +1 -1
- package/esm2020/lib/components/tags/tags.component.mjs +2 -2
- package/esm2020/lib/ngx-sfc-components.module.mjs +9 -3
- package/fesm2015/ngx-sfc-components.mjs +207 -55
- package/fesm2015/ngx-sfc-components.mjs.map +1 -1
- package/fesm2020/ngx-sfc-components.mjs +205 -55
- package/fesm2020/ngx-sfc-components.mjs.map +1 -1
- package/lib/components/avatar/avatar.component.d.ts +4 -2
- package/lib/components/avatar/models/avatar-progress.model.d.ts +3 -2
- package/lib/components/avatar/parts/badge/avatar-badge.component.d.ts +2 -1
- package/lib/components/carousel/carousel.component.d.ts +6 -1
- package/lib/components/carousel/models/navigation-context.model.d.ts +9 -0
- package/lib/components/carousel/models/navigation.model.d.ts +4 -1
- package/lib/components/carousel/models/options.model.d.ts +3 -0
- package/lib/components/carousel/service/carousel/carousel-service.constants.d.ts +1 -0
- package/lib/components/index.d.ts +5 -2
- package/lib/components/menu/router/parts/item/router-menu-item.component.d.ts +9 -0
- package/lib/components/menu/router/parts/item/router-menu-item.model.d.ts +9 -0
- package/lib/components/menu/router/router-menu.component.d.ts +11 -0
- package/lib/components/menu/side/parts/header/side-menu-header.component.d.ts +4 -2
- package/lib/components/menu/side/side-menu.component.d.ts +1 -0
- package/lib/components/menu/side/side-menu.constants.d.ts +3 -0
- package/lib/components/menu/side/side-menu.model.d.ts +10 -4
- package/lib/components/no-export-index.d.ts +1 -1
- package/lib/components/notification/notification.component.d.ts +1 -1
- package/lib/components/progress/circle/progress-circle.component.d.ts +2 -1
- package/lib/components/table/service/select/table-select.event.d.ts +1 -0
- package/lib/components/table/service/select/table-select.service.d.ts +3 -2
- package/lib/components/table/table.component.d.ts +4 -3
- package/lib/components/tabs/tabs.component.d.ts +3 -2
- package/lib/components/tags/parts/tag/tag.model.d.ts +1 -0
- package/lib/ngx-sfc-components.module.d.ts +34 -32
- package/package.json +2 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import * as i1 from '@angular/common';
|
|
2
2
|
import { CommonModule } from '@angular/common';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
|
-
import { Component, Input, ContentChildren, Directive, HostBinding,
|
|
4
|
+
import { EventEmitter, Component, Input, Output, ContentChildren, Directive, HostBinding, HostListener, Inject, ViewChild, Injectable, ViewChildren, NgModule } from '@angular/core';
|
|
5
5
|
import { Chart, Title, Tooltip, Filler, Legend, LineController, LineElement, PointElement, LinearScale, CategoryScale, BarController, BarElement, DoughnutController, ArcElement, RadarController, RadialLinearScale, PieController, PolarAreaController, BubbleController, ScatterController, TimeSeriesScale } from 'chart.js';
|
|
6
6
|
import * as i3 from 'ngx-sfc-common';
|
|
7
|
-
import { isDefined, firstOrDefault, CommonConstants, TemplateReferenceDirective, UIClass, isNullOrEmptyString, getCalcValue, UIConstants, any, Position, MediaLimits, WINDOW, getCssLikeValue, ButtonType, replaceRgbOpacity, Theme, mergeDeep, removeItem, addItem, CheckmarkType, SortingDirection, LoadContainerType, PaginationConstants, LoadContainerLoadType, generateGuid,
|
|
7
|
+
import { isDefined, firstOrDefault, CommonConstants, TemplateReferenceDirective, UIClass, isNullOrEmptyString, getCalcValue, UIConstants, any, Position, MediaLimits, WINDOW, all, getCssLikeValue, ButtonType, replaceRgbOpacity, Theme, mergeDeep, ObservableModel, removeItem, addItem, CheckmarkType, SortingDirection, LoadContainerType, PaginationConstants, LoadContainerLoadType, generateGuid, hasItem, SortingService, ResizeService, isNumeric, DOCUMENT, NgxSfcCommonModule } from 'ngx-sfc-common';
|
|
8
8
|
import { Subject, BehaviorSubject, startWith, combineLatest, map, filter, distinctUntilChanged, fromEvent, tap, merge, of, switchMap, first, from, skip, take, toArray, delay } from 'rxjs';
|
|
9
9
|
import { faCircle, faAngleUp, faAngleDown, faArrowRight, faArrowLeft, faPauseCircle, faPlayCircle, faEye, faEyeSlash, faChevronUp, faChevronDown, faTableList, faBorderAll } from '@fortawesome/free-solid-svg-icons';
|
|
10
10
|
import * as i2 from '@fortawesome/angular-fontawesome';
|
|
@@ -33,6 +33,8 @@ class TabsComponent {
|
|
|
33
33
|
this.tabService = tabService;
|
|
34
34
|
this.TabsTemplate = TabsTemplate;
|
|
35
35
|
this.tabs = [];
|
|
36
|
+
// End Template references
|
|
37
|
+
this.selected = new EventEmitter();
|
|
36
38
|
}
|
|
37
39
|
ngOnInit() {
|
|
38
40
|
this.tabsSubject = new BehaviorSubject(this.tabs);
|
|
@@ -54,6 +56,7 @@ class TabsComponent {
|
|
|
54
56
|
selectTab(tab, index) {
|
|
55
57
|
if (!tab.disabled && !tab.selected) {
|
|
56
58
|
this.tabService.select(index);
|
|
59
|
+
this.selected.emit(tab);
|
|
57
60
|
}
|
|
58
61
|
}
|
|
59
62
|
getSelectedIndex(tabs) {
|
|
@@ -71,10 +74,10 @@ class TabsComponent {
|
|
|
71
74
|
}
|
|
72
75
|
}
|
|
73
76
|
TabsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabsComponent, deps: [{ token: TabService }], target: i0.ɵɵFactoryTarget.Component });
|
|
74
|
-
TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TabsComponent, selector: "sfc-tabs", inputs: { tabs: "tabs", label: "label", slider: "slider", body: "body" }, providers: [TabService], queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"container\" *ngIf=\"vm$ | async as vm\">\r\n <div class=\"tabs-container\">\r\n <div class=\"tabs\">\r\n <div class=\"tab\" [style.width.%]=\"vm.tabWidth\" *ngFor=\"let tab of vm.tabs; index as index\"\r\n (click)=\"selectTab(tab, index)\">\r\n\r\n <sfc-template-content [referenceContent]=\"label\" [templatesContent]=\"templates\"\r\n [templateType]=\"TabsTemplate.Label\" [defaultContent]=\"defaultLabel\" [contextData]=\"tab\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultLabel>{{ tab.label }}</ng-template>\r\n </div>\r\n </div>\r\n\r\n <sfc-template-content [referenceContent]=\"slider\" [templatesContent]=\"templates\"\r\n [templateType]=\"TabsTemplate.Slider\" [contextData]=\"vm.sliderContextData\"
|
|
77
|
+
TabsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TabsComponent, selector: "sfc-tabs", inputs: { tabs: "tabs", label: "label", slider: "slider", body: "body" }, outputs: { selected: "selected" }, providers: [TabService], queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"container\" *ngIf=\"vm$ | async as vm\">\r\n <div class=\"tabs-container\">\r\n <div class=\"tabs\">\r\n <div class=\"tab\" [style.width.%]=\"vm.tabWidth\" *ngFor=\"let tab of vm.tabs; index as index\"\r\n (click)=\"selectTab(tab, index)\">\r\n\r\n <sfc-template-content [referenceContent]=\"label\" [templatesContent]=\"templates\"\r\n [templateType]=\"TabsTemplate.Label\" [defaultContent]=\"defaultLabel\" [contextData]=\"tab\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultLabel>{{ tab.label }}</ng-template>\r\n </div>\r\n </div>\r\n\r\n <sfc-template-content [referenceContent]=\"slider\" [templatesContent]=\"templates\"\r\n [templateType]=\"TabsTemplate.Slider\" [contextData]=\"vm.sliderContextData\">\r\n </sfc-template-content>\r\n\r\n </div>\r\n\r\n <div class=\"body-container\">\r\n <ng-container *ngIf=\"vm.selectedTab\">\r\n\r\n <sfc-template-content [referenceContent]=\"body\" [templatesContent]=\"templates\"\r\n [templateType]=\"TabsTemplate.Body\" [contextData]=\"vm.selectedTab.data\">\r\n </sfc-template-content>\r\n\r\n </ng-container>\r\n </div>\r\n</div>", styles: [":host{width:100%}:host .container .tabs{display:flex;flex-wrap:wrap}:host .container .tabs .tab{transition:color .5s ease;text-align:center}:host .container .tabs .tab,:host-context(.sfc-default-theme) :host .container .tabs .tab{color:#545e61}:host-context(.sfc-dark-theme) :host .container .tabs .tab{color:#fff}:host .container .body-container{transition:color .5s ease;margin-top:.6em}:host .container .body-container,:host-context(.sfc-default-theme) :host .container .body-container{color:#545e61}:host-context(.sfc-dark-theme) :host .container .body-container{color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.TemplateContentComponent, selector: "sfc-template-content", inputs: ["contextData", "referenceContent", "templateType", "templatesContent", "defaultContent"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
75
78
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TabsComponent, decorators: [{
|
|
76
79
|
type: Component,
|
|
77
|
-
args: [{ selector: 'sfc-tabs', providers: [TabService], template: "<div class=\"container\" *ngIf=\"vm$ | async as vm\">\r\n <div class=\"tabs-container\">\r\n <div class=\"tabs\">\r\n <div class=\"tab\" [style.width.%]=\"vm.tabWidth\" *ngFor=\"let tab of vm.tabs; index as index\"\r\n (click)=\"selectTab(tab, index)\">\r\n\r\n <sfc-template-content [referenceContent]=\"label\" [templatesContent]=\"templates\"\r\n [templateType]=\"TabsTemplate.Label\" [defaultContent]=\"defaultLabel\" [contextData]=\"tab\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultLabel>{{ tab.label }}</ng-template>\r\n </div>\r\n </div>\r\n\r\n <sfc-template-content [referenceContent]=\"slider\" [templatesContent]=\"templates\"\r\n [templateType]=\"TabsTemplate.Slider\" [contextData]=\"vm.sliderContextData\"
|
|
80
|
+
args: [{ selector: 'sfc-tabs', providers: [TabService], template: "<div class=\"container\" *ngIf=\"vm$ | async as vm\">\r\n <div class=\"tabs-container\">\r\n <div class=\"tabs\">\r\n <div class=\"tab\" [style.width.%]=\"vm.tabWidth\" *ngFor=\"let tab of vm.tabs; index as index\"\r\n (click)=\"selectTab(tab, index)\">\r\n\r\n <sfc-template-content [referenceContent]=\"label\" [templatesContent]=\"templates\"\r\n [templateType]=\"TabsTemplate.Label\" [defaultContent]=\"defaultLabel\" [contextData]=\"tab\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultLabel>{{ tab.label }}</ng-template>\r\n </div>\r\n </div>\r\n\r\n <sfc-template-content [referenceContent]=\"slider\" [templatesContent]=\"templates\"\r\n [templateType]=\"TabsTemplate.Slider\" [contextData]=\"vm.sliderContextData\">\r\n </sfc-template-content>\r\n\r\n </div>\r\n\r\n <div class=\"body-container\">\r\n <ng-container *ngIf=\"vm.selectedTab\">\r\n\r\n <sfc-template-content [referenceContent]=\"body\" [templatesContent]=\"templates\"\r\n [templateType]=\"TabsTemplate.Body\" [contextData]=\"vm.selectedTab.data\">\r\n </sfc-template-content>\r\n\r\n </ng-container>\r\n </div>\r\n</div>", styles: [":host{width:100%}:host .container .tabs{display:flex;flex-wrap:wrap}:host .container .tabs .tab{transition:color .5s ease;text-align:center}:host .container .tabs .tab,:host-context(.sfc-default-theme) :host .container .tabs .tab{color:#545e61}:host-context(.sfc-dark-theme) :host .container .tabs .tab{color:#fff}:host .container .body-container{transition:color .5s ease;margin-top:.6em}:host .container .body-container,:host-context(.sfc-default-theme) :host .container .body-container{color:#545e61}:host-context(.sfc-dark-theme) :host .container .body-container{color:#fff}\n"] }]
|
|
78
81
|
}], ctorParameters: function () { return [{ type: TabService }]; }, propDecorators: { tabs: [{
|
|
79
82
|
type: Input
|
|
80
83
|
}], label: [{
|
|
@@ -83,6 +86,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
83
86
|
type: Input
|
|
84
87
|
}], body: [{
|
|
85
88
|
type: Input
|
|
89
|
+
}], selected: [{
|
|
90
|
+
type: Output
|
|
86
91
|
}], templates: [{
|
|
87
92
|
type: ContentChildren,
|
|
88
93
|
args: [TemplateReferenceDirective, { read: TemplateReferenceDirective }]
|
|
@@ -190,6 +195,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
190
195
|
args: [{ selector: 'sfc-tab-label-line-slider', template: "<div class=\"slider\" [ngStyle]=\"style\"></div>", styles: [":host{position:relative;display:flex}:host .slider{background:#ffce54;height:.125em;position:absolute;left:0;top:calc(100% - .1em);transition:left .3s ease-out}\n"] }]
|
|
191
196
|
}] });
|
|
192
197
|
|
|
198
|
+
class SideMenuConstants {
|
|
199
|
+
}
|
|
200
|
+
SideMenuConstants.CSS_SWITCH_CLASS = 'switch';
|
|
201
|
+
|
|
193
202
|
var SideMenuItemType;
|
|
194
203
|
(function (SideMenuItemType) {
|
|
195
204
|
SideMenuItemType["Item"] = "item";
|
|
@@ -200,20 +209,23 @@ class SideMenuHeaderComponent {
|
|
|
200
209
|
constructor() {
|
|
201
210
|
this.DEFAULT_MENU_HEADER_TEXT = 'Menu';
|
|
202
211
|
this.label = CommonConstants.EMPTY_STRING;
|
|
212
|
+
this.switch = true;
|
|
203
213
|
this.open = false;
|
|
204
214
|
this.toggle = new EventEmitter();
|
|
205
215
|
}
|
|
206
216
|
ngOnInit() {
|
|
207
|
-
this.label = this.label
|
|
217
|
+
this.label = isDefined(this.label) ? this.label : this.DEFAULT_MENU_HEADER_TEXT;
|
|
208
218
|
}
|
|
209
219
|
}
|
|
210
220
|
SideMenuHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SideMenuHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
211
|
-
SideMenuHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SideMenuHeaderComponent, selector: "sfc-side-menu-header", inputs: { label: "label", open: "open" }, outputs: { toggle: "toggle" }, host: { properties: { "class.open": "this.open" } }, ngImport: i0, template: "<li>\r\n <span>{{label}}</span>\r\n <sfc-hamburger [open]=\"open\" (click)=\"toggle.emit()\"></sfc-hamburger>\r\n</li>", styles: [":host li{display:flex;align-items:center;justify-content:center;padding:1.25em}:host li span{display:none;transition:color .5s ease;
|
|
221
|
+
SideMenuHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SideMenuHeaderComponent, selector: "sfc-side-menu-header", inputs: { label: "label", switch: "switch", open: "open" }, outputs: { toggle: "toggle" }, host: { properties: { "class.open": "this.open" } }, ngImport: i0, template: "<li>\r\n <span>{{label}}</span>\r\n <sfc-hamburger *ngIf=\"switch\" [open]=\"open\" (click)=\"toggle.emit()\"></sfc-hamburger>\r\n</li>", styles: [":host li{display:flex;align-items:center;justify-content:center;padding:1.25em}:host li span{display:none;transition:color .5s ease;font-weight:700;font-size:.9em;-webkit-user-select:none;user-select:none}:host li span,:host-context(.sfc-default-theme) :host li span{color:#545e61}:host-context(.sfc-dark-theme) :host li span{color:#fff}:host.open li{justify-content:space-between}:host.open li span{display:block}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.HamburgerComponent, selector: "sfc-hamburger" }] });
|
|
212
222
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SideMenuHeaderComponent, decorators: [{
|
|
213
223
|
type: Component,
|
|
214
|
-
args: [{ selector: 'sfc-side-menu-header', template: "<li>\r\n <span>{{label}}</span>\r\n <sfc-hamburger [open]=\"open\" (click)=\"toggle.emit()\"></sfc-hamburger>\r\n</li>", styles: [":host li{display:flex;align-items:center;justify-content:center;padding:1.25em}:host li span{display:none;transition:color .5s ease;
|
|
224
|
+
args: [{ selector: 'sfc-side-menu-header', template: "<li>\r\n <span>{{label}}</span>\r\n <sfc-hamburger *ngIf=\"switch\" [open]=\"open\" (click)=\"toggle.emit()\"></sfc-hamburger>\r\n</li>", styles: [":host li{display:flex;align-items:center;justify-content:center;padding:1.25em}:host li span{display:none;transition:color .5s ease;font-weight:700;font-size:.9em;-webkit-user-select:none;user-select:none}:host li span,:host-context(.sfc-default-theme) :host li span{color:#545e61}:host-context(.sfc-dark-theme) :host li span{color:#fff}:host.open li{justify-content:space-between}:host.open li span{display:block}\n"] }]
|
|
215
225
|
}], propDecorators: { label: [{
|
|
216
226
|
type: Input
|
|
227
|
+
}], switch: [{
|
|
228
|
+
type: Input
|
|
217
229
|
}], open: [{
|
|
218
230
|
type: Input
|
|
219
231
|
}, {
|
|
@@ -228,8 +240,9 @@ class SideMenuItemContentComponent {
|
|
|
228
240
|
this.ANGLE_UP_ICON = faAngleUp;
|
|
229
241
|
this.ANGLE_DOWM_ICON = faAngleDown;
|
|
230
242
|
this.item = {
|
|
231
|
-
|
|
243
|
+
id: CommonConstants.EMPTY_STRING,
|
|
232
244
|
label: CommonConstants.EMPTY_STRING,
|
|
245
|
+
icon: null,
|
|
233
246
|
type: SideMenuItemType.Item,
|
|
234
247
|
active: false
|
|
235
248
|
};
|
|
@@ -241,16 +254,18 @@ class SideMenuItemContentComponent {
|
|
|
241
254
|
}
|
|
242
255
|
onClick() {
|
|
243
256
|
this.selectItem.emit(this.item);
|
|
257
|
+
if (this.item.click)
|
|
258
|
+
this.item.click(this.item);
|
|
244
259
|
}
|
|
245
260
|
get expandIcon() {
|
|
246
261
|
return this.openParent ? this.ANGLE_UP_ICON : this.ANGLE_DOWM_ICON;
|
|
247
262
|
}
|
|
248
263
|
}
|
|
249
264
|
SideMenuItemContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SideMenuItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
250
|
-
SideMenuItemContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SideMenuItemContentComponent, selector: "sfc-side-menu-item-content", inputs: { item: "item", active: "active", open: "open", openParent: "openParent", hasChildren: "hasChildren" }, outputs: { selectItem: "selectItem" }, host: { listeners: { "click": "onClick()" }, properties: { "class.active": "this.active", "class.open": "this.open" } }, ngImport: i0, template: "<li>\r\n <div class=\"item-container\">\r\n <div class=\"item\">\r\n <a>\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\"></fa-icon>\r\n </a>\r\n </div>\r\n <span class=\"label\">{{item.label}}</span>\r\n </div>\r\n\r\n <div *ngIf=\"hasChildren\" class=\"expand-container\">\r\n <fa-icon [icon]=\"expandIcon\"></fa-icon>\r\n </div>\r\n</li>", styles: [":host li{display:inline-flex;align-items:center;padding:0 1.25em 0 1.5em;cursor:pointer;width:calc(100% - 2.75em);justify-content:space-between;transition:color .5s ease}:host li,:host-context(.sfc-default-theme) :host li{color:#545e61}:host-context(.sfc-dark-theme) :host li{color:#fff}:host li .expand-container{visibility:hidden;opacity:0;transition:color .5s ease;width:0}:host li .expand-container>fa-icon{font-weight:700}:host li .item-container{display:inline-flex;align-items:center}:host li .item-container .item{width:2em;height:1.9em;display:flex;justify-content:center;border-radius:.7em;align-items:center}:host li .item-container .item a{border-radius:.45em;display:flex;align-items:center;justify-content:center;font-size:1.3em;padding:.3em;transition:background-color .5s ease,color .5s ease,margin-right .3s ease-in-out}:host li .item-container .item a>fa-icon{font-size:1em}:host li .item-container .label{font-weight:700;font-size:.9em;visibility:hidden;opacity:0;transition:color .5s,visibility .3s,opacity .5s ease-in-out;-webkit-user-select:none;user-select:none;width:0}:host.active li
|
|
265
|
+
SideMenuItemContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SideMenuItemContentComponent, selector: "sfc-side-menu-item-content", inputs: { item: "item", active: "active", open: "open", openParent: "openParent", hasChildren: "hasChildren" }, outputs: { selectItem: "selectItem" }, host: { listeners: { "click": "onClick()" }, properties: { "class.active": "this.active", "class.open": "this.open" } }, ngImport: i0, template: "<li>\r\n <div class=\"item-container\">\r\n <div class=\"item\">\r\n <a>\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\"></fa-icon>\r\n </a>\r\n </div>\r\n <span class=\"label\">{{item.label}}</span>\r\n </div>\r\n\r\n <div *ngIf=\"hasChildren\" class=\"expand-container\">\r\n <fa-icon [icon]=\"expandIcon\"></fa-icon>\r\n </div>\r\n</li>", styles: [":host li{display:inline-flex;align-items:center;padding:0 1.25em 0 1.5em;cursor:pointer;width:calc(100% - 2.75em);justify-content:space-between;transition:color .5s ease}:host li,:host-context(.sfc-default-theme) :host li{color:#545e61}:host-context(.sfc-dark-theme) :host li{color:#fff}:host li .expand-container{visibility:hidden;opacity:0;transition:color .5s ease;width:0;font-size:.8em;margin-left:1em}:host li .expand-container>fa-icon{font-weight:700}:host li .item-container{display:inline-flex;align-items:center}:host li .item-container .item{width:2em;height:1.9em;display:flex;justify-content:center;border-radius:.7em;align-items:center}:host li .item-container .item a{border-radius:.45em;display:flex;align-items:center;justify-content:center;font-size:1.3em;padding:.3em;transition:background-color .5s ease,color .5s ease,margin-right .3s ease-in-out}:host li .item-container .item a>fa-icon{font-size:1em}:host li .item-container .label{font-weight:700;font-size:.9em;visibility:hidden;opacity:0;transition:color .5s,visibility .3s,opacity .5s ease-in-out;-webkit-user-select:none;user-select:none;width:0}:host.active li{color:#fff}:host.active li .item-container .item a{background-color:#ffce54;box-shadow:0 .3em 1em #2bbbad1a}:host.active li .item-container .label{color:#ffce54}:host.active li .expand-container{color:#ffce54}:host.open li .item-container .item a{margin-right:1em}:host.open li .item-container .label{visibility:visible;opacity:1;width:auto}:host.open li .expand-container{width:auto;visibility:visible;opacity:1}:host :host-context(.children) li{margin:.2em 0}:host :host-context(.children) li .item-container .item a{padding:.3em;border-radius:.35em}:host :host-context(.children) li .item-container .item a>fa-icon{font-size:.5em}:host :host-context(.children) li .item-container .label{font-size:.8em}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
|
|
251
266
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SideMenuItemContentComponent, decorators: [{
|
|
252
267
|
type: Component,
|
|
253
|
-
args: [{ selector: 'sfc-side-menu-item-content', template: "<li>\r\n <div class=\"item-container\">\r\n <div class=\"item\">\r\n <a>\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\"></fa-icon>\r\n </a>\r\n </div>\r\n <span class=\"label\">{{item.label}}</span>\r\n </div>\r\n\r\n <div *ngIf=\"hasChildren\" class=\"expand-container\">\r\n <fa-icon [icon]=\"expandIcon\"></fa-icon>\r\n </div>\r\n</li>", styles: [":host li{display:inline-flex;align-items:center;padding:0 1.25em 0 1.5em;cursor:pointer;width:calc(100% - 2.75em);justify-content:space-between;transition:color .5s ease}:host li,:host-context(.sfc-default-theme) :host li{color:#545e61}:host-context(.sfc-dark-theme) :host li{color:#fff}:host li .expand-container{visibility:hidden;opacity:0;transition:color .5s ease;width:0}:host li .expand-container>fa-icon{font-weight:700}:host li .item-container{display:inline-flex;align-items:center}:host li .item-container .item{width:2em;height:1.9em;display:flex;justify-content:center;border-radius:.7em;align-items:center}:host li .item-container .item a{border-radius:.45em;display:flex;align-items:center;justify-content:center;font-size:1.3em;padding:.3em;transition:background-color .5s ease,color .5s ease,margin-right .3s ease-in-out}:host li .item-container .item a>fa-icon{font-size:1em}:host li .item-container .label{font-weight:700;font-size:.9em;visibility:hidden;opacity:0;transition:color .5s,visibility .3s,opacity .5s ease-in-out;-webkit-user-select:none;user-select:none;width:0}:host.active li
|
|
268
|
+
args: [{ selector: 'sfc-side-menu-item-content', template: "<li>\r\n <div class=\"item-container\">\r\n <div class=\"item\">\r\n <a>\r\n <fa-icon *ngIf=\"item.icon\" [icon]=\"item.icon\"></fa-icon>\r\n </a>\r\n </div>\r\n <span class=\"label\">{{item.label}}</span>\r\n </div>\r\n\r\n <div *ngIf=\"hasChildren\" class=\"expand-container\">\r\n <fa-icon [icon]=\"expandIcon\"></fa-icon>\r\n </div>\r\n</li>", styles: [":host li{display:inline-flex;align-items:center;padding:0 1.25em 0 1.5em;cursor:pointer;width:calc(100% - 2.75em);justify-content:space-between;transition:color .5s ease}:host li,:host-context(.sfc-default-theme) :host li{color:#545e61}:host-context(.sfc-dark-theme) :host li{color:#fff}:host li .expand-container{visibility:hidden;opacity:0;transition:color .5s ease;width:0;font-size:.8em;margin-left:1em}:host li .expand-container>fa-icon{font-weight:700}:host li .item-container{display:inline-flex;align-items:center}:host li .item-container .item{width:2em;height:1.9em;display:flex;justify-content:center;border-radius:.7em;align-items:center}:host li .item-container .item a{border-radius:.45em;display:flex;align-items:center;justify-content:center;font-size:1.3em;padding:.3em;transition:background-color .5s ease,color .5s ease,margin-right .3s ease-in-out}:host li .item-container .item a>fa-icon{font-size:1em}:host li .item-container .label{font-weight:700;font-size:.9em;visibility:hidden;opacity:0;transition:color .5s,visibility .3s,opacity .5s ease-in-out;-webkit-user-select:none;user-select:none;width:0}:host.active li{color:#fff}:host.active li .item-container .item a{background-color:#ffce54;box-shadow:0 .3em 1em #2bbbad1a}:host.active li .item-container .label{color:#ffce54}:host.active li .expand-container{color:#ffce54}:host.open li .item-container .item a{margin-right:1em}:host.open li .item-container .label{visibility:visible;opacity:1;width:auto}:host.open li .expand-container{width:auto;visibility:visible;opacity:1}:host :host-context(.children) li{margin:.2em 0}:host :host-context(.children) li .item-container .item a{padding:.3em;border-radius:.35em}:host :host-context(.children) li .item-container .item a>fa-icon{font-size:.5em}:host :host-context(.children) li .item-container .label{font-size:.8em}\n"] }]
|
|
254
269
|
}], propDecorators: { item: [{
|
|
255
270
|
type: Input
|
|
256
271
|
}], active: [{
|
|
@@ -277,8 +292,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
277
292
|
class SideMenuItemComponent {
|
|
278
293
|
constructor() {
|
|
279
294
|
this.item = {
|
|
280
|
-
|
|
295
|
+
id: CommonConstants.EMPTY_STRING,
|
|
281
296
|
label: CommonConstants.EMPTY_STRING,
|
|
297
|
+
icon: null,
|
|
282
298
|
type: SideMenuItemType.Item,
|
|
283
299
|
items: [],
|
|
284
300
|
active: false
|
|
@@ -288,7 +304,7 @@ class SideMenuItemComponent {
|
|
|
288
304
|
this.openParent = false;
|
|
289
305
|
}
|
|
290
306
|
get hasActiveChild() {
|
|
291
|
-
return isDefined(firstOrDefault(this.item.items, (item) => item.active));
|
|
307
|
+
return isDefined(firstOrDefault(this.item.items, (item) => item.active || false));
|
|
292
308
|
}
|
|
293
309
|
hasChildren(item) {
|
|
294
310
|
return any(item.items);
|
|
@@ -296,10 +312,10 @@ class SideMenuItemComponent {
|
|
|
296
312
|
isActive(item) {
|
|
297
313
|
return this.hasChildren(item)
|
|
298
314
|
? this.hasActiveChild && !this.openParent
|
|
299
|
-
: item.active;
|
|
315
|
+
: item.active || false;
|
|
300
316
|
}
|
|
301
317
|
ngOnInit() {
|
|
302
|
-
this.openParent = this.hasActiveChild;
|
|
318
|
+
this.openParent = this.hasActiveChild || (this.item.open || false);
|
|
303
319
|
}
|
|
304
320
|
onParentClick(item) {
|
|
305
321
|
this.openParent = !this.openParent;
|
|
@@ -376,11 +392,14 @@ class SideMenuComponent {
|
|
|
376
392
|
this.selected = new EventEmitter();
|
|
377
393
|
}
|
|
378
394
|
get open() {
|
|
379
|
-
return this.model.open;
|
|
395
|
+
return this.model.open || !this.switch;
|
|
380
396
|
}
|
|
381
397
|
set open(value) {
|
|
382
398
|
this.model.open = value;
|
|
383
399
|
}
|
|
400
|
+
get switch() {
|
|
401
|
+
return isDefined(this.model.switch) ? this.model.switch : true;
|
|
402
|
+
}
|
|
384
403
|
onItemSelect(item) {
|
|
385
404
|
// handle only items without childrens
|
|
386
405
|
if (!any(item.items)) {
|
|
@@ -396,10 +415,10 @@ class SideMenuComponent {
|
|
|
396
415
|
}
|
|
397
416
|
}
|
|
398
417
|
SideMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SideMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
399
|
-
SideMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SideMenuComponent, selector: "sfc-side-menu", inputs: { model: "model" }, outputs: { selected: "selected" }, host: { properties: { "class.open": "this.open" } }, ngImport: i0, template: "<div class=\"container\">\r\n <ul>\r\n <sfc-side-menu-header [open]=\"open\" (toggle)=\"open =!open\"
|
|
418
|
+
SideMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SideMenuComponent, selector: "sfc-side-menu", inputs: { model: "model" }, outputs: { selected: "selected" }, host: { properties: { "class.open": "this.open", "class.switch": "this.switch" } }, ngImport: i0, template: "<div class=\"container\">\r\n <ul>\r\n <sfc-side-menu-header [label]=\"model.label\" [open]=\"open\" [switch]=\"switch\" (toggle)=\"open =!open\">\r\n </sfc-side-menu-header>\r\n\r\n <ng-container *ngFor=\"let item of model.items\" [ngSwitch]=\"item.type\">\r\n <sfc-side-menu-item *ngSwitchCase=\"SideMenuItemType.Item\" [item]=\"item\" [open]=\"open\"\r\n (selectItem)=\"onItemSelect($event)\">\r\n </sfc-side-menu-item>\r\n\r\n <sfc-side-menu-title *ngSwitchCase=\"SideMenuItemType.Title\" [label]=\"item.label\" [open]=\"open\">\r\n </sfc-side-menu-title>\r\n </ng-container>\r\n </ul>\r\n</div>", styles: [":host .container{width:5em;height:inherit;overflow:hidden}:host .container ul{margin:0;padding:0;list-style:none;overflow:hidden;display:flex;flex-direction:column}:host.open .container{width:11.25em}:host.switch .container{transition:background .5s ease,width .5s ease-in-out}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: SideMenuHeaderComponent, selector: "sfc-side-menu-header", inputs: ["label", "switch", "open"], outputs: ["toggle"] }, { kind: "component", type: SideMenuItemComponent, selector: "sfc-side-menu-item", inputs: ["item", "open"], outputs: ["selectItem"] }, { kind: "component", type: SideMenuTitleComponent, selector: "sfc-side-menu-title", inputs: ["label", "open"] }] });
|
|
400
419
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SideMenuComponent, decorators: [{
|
|
401
420
|
type: Component,
|
|
402
|
-
args: [{ selector: 'sfc-side-menu', template: "<div class=\"container\">\r\n <ul>\r\n <sfc-side-menu-header [open]=\"open\" (toggle)=\"open =!open\"
|
|
421
|
+
args: [{ selector: 'sfc-side-menu', template: "<div class=\"container\">\r\n <ul>\r\n <sfc-side-menu-header [label]=\"model.label\" [open]=\"open\" [switch]=\"switch\" (toggle)=\"open =!open\">\r\n </sfc-side-menu-header>\r\n\r\n <ng-container *ngFor=\"let item of model.items\" [ngSwitch]=\"item.type\">\r\n <sfc-side-menu-item *ngSwitchCase=\"SideMenuItemType.Item\" [item]=\"item\" [open]=\"open\"\r\n (selectItem)=\"onItemSelect($event)\">\r\n </sfc-side-menu-item>\r\n\r\n <sfc-side-menu-title *ngSwitchCase=\"SideMenuItemType.Title\" [label]=\"item.label\" [open]=\"open\">\r\n </sfc-side-menu-title>\r\n </ng-container>\r\n </ul>\r\n</div>", styles: [":host .container{width:5em;height:inherit;overflow:hidden}:host .container ul{margin:0;padding:0;list-style:none;overflow:hidden;display:flex;flex-direction:column}:host.open .container{width:11.25em}:host.switch .container{transition:background .5s ease,width .5s ease-in-out}\n"] }]
|
|
403
422
|
}], propDecorators: { model: [{
|
|
404
423
|
type: Input
|
|
405
424
|
}], selected: [{
|
|
@@ -407,23 +426,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
407
426
|
}], open: [{
|
|
408
427
|
type: HostBinding,
|
|
409
428
|
args: ['class.' + UIClass.Open]
|
|
429
|
+
}], switch: [{
|
|
430
|
+
type: HostBinding,
|
|
431
|
+
args: [`class.${SideMenuConstants.CSS_SWITCH_CLASS}`]
|
|
410
432
|
}] } });
|
|
411
433
|
|
|
412
434
|
class DropdownMenuItemComponent {
|
|
413
435
|
constructor() {
|
|
436
|
+
/* Inputs */
|
|
414
437
|
this.item = { label: CommonConstants.EMPTY_STRING };
|
|
415
438
|
}
|
|
439
|
+
/* End Inputs */
|
|
440
|
+
/* Host bindings */
|
|
416
441
|
get _active() { return this.item.active || false; }
|
|
442
|
+
/* End Host bindings */
|
|
443
|
+
/* Host listeners */
|
|
417
444
|
click() {
|
|
418
445
|
if (this.item.click)
|
|
419
446
|
this.item.click(this.item);
|
|
420
447
|
}
|
|
421
448
|
}
|
|
422
449
|
DropdownMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
423
|
-
DropdownMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownMenuItemComponent, selector: "sfc-dropdown-menu-item", inputs: { item: "item" }, host: { listeners: { "click": "click()" }, properties: { "class.active": "this._active" } }, ngImport: i0, template: "<li>\r\n <sfc-icon [icon]=\"item.icon\" [imageSrc]=\"item.image\"></sfc-icon>\r\n <a>{{item.label}}</a>\r\n</li>\r\n\r\n<sfc-delimeter *ngIf=\"item.delimeter\"></sfc-delimeter>", styles: [":host{display:flex;flex-direction:column;padding:.1em 0}:host li{color:#545e61;display:flex;align-items:center;
|
|
450
|
+
DropdownMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownMenuItemComponent, selector: "sfc-dropdown-menu-item", inputs: { item: "item" }, host: { listeners: { "click": "click()" }, properties: { "class.active": "this._active" } }, ngImport: i0, template: "<li>\r\n <sfc-icon [icon]=\"item.icon\" [imageSrc]=\"item.image\"></sfc-icon>\r\n <a>{{item.label}}</a>\r\n</li>\r\n\r\n<sfc-delimeter *ngIf=\"item.delimeter\"></sfc-delimeter>", styles: [":host{display:flex;flex-direction:column;padding:.1em 0}:host li{color:#545e61;display:flex;align-items:center;padding:.4em;border:.0063em solid transparent;border-radius:.31em;font-weight:700;font-size:.8em;-webkit-user-select:none;user-select:none;transition:color .5s ease,border-color .5s ease,background .5s ease}:host li:hover,:host li:focus-within{background:#f5f7fa;border-color:#f5f7fa;color:#2bbbad;cursor:pointer;outline:none}:host li sfc-icon{padding-right:.625em;width:10%}:host.active li{background:#e6e9ed;border-color:#e6e9ed;color:#2bbbad}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.DelimeterComponent, selector: "sfc-delimeter", inputs: ["label", "direction"] }, { kind: "component", type: i3.IconComponent, selector: "sfc-icon", inputs: ["icon", "imageSrc"] }] });
|
|
424
451
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownMenuItemComponent, decorators: [{
|
|
425
452
|
type: Component,
|
|
426
|
-
args: [{ selector: 'sfc-dropdown-menu-item', template: "<li>\r\n <sfc-icon [icon]=\"item.icon\" [imageSrc]=\"item.image\"></sfc-icon>\r\n <a>{{item.label}}</a>\r\n</li>\r\n\r\n<sfc-delimeter *ngIf=\"item.delimeter\"></sfc-delimeter>", styles: [":host{display:flex;flex-direction:column;padding:.1em 0}:host li{color:#545e61;display:flex;align-items:center;
|
|
453
|
+
args: [{ selector: 'sfc-dropdown-menu-item', template: "<li>\r\n <sfc-icon [icon]=\"item.icon\" [imageSrc]=\"item.image\"></sfc-icon>\r\n <a>{{item.label}}</a>\r\n</li>\r\n\r\n<sfc-delimeter *ngIf=\"item.delimeter\"></sfc-delimeter>", styles: [":host{display:flex;flex-direction:column;padding:.1em 0}:host li{color:#545e61;display:flex;align-items:center;padding:.4em;border:.0063em solid transparent;border-radius:.31em;font-weight:700;font-size:.8em;-webkit-user-select:none;user-select:none;transition:color .5s ease,border-color .5s ease,background .5s ease}:host li:hover,:host li:focus-within{background:#f5f7fa;border-color:#f5f7fa;color:#2bbbad;cursor:pointer;outline:none}:host li sfc-icon{padding-right:.625em;width:10%}:host.active li{background:#e6e9ed;border-color:#e6e9ed;color:#2bbbad}\n"] }]
|
|
427
454
|
}], propDecorators: { item: [{
|
|
428
455
|
type: Input
|
|
429
456
|
}], _active: [{
|
|
@@ -492,7 +519,7 @@ class DropdownMenuComponent {
|
|
|
492
519
|
}
|
|
493
520
|
}
|
|
494
521
|
DropdownMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DropdownMenuComponent, deps: [{ token: i3.ResizeService }, { token: WINDOW }], target: i0.ɵɵFactoryTarget.Component });
|
|
495
|
-
DropdownMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownMenuComponent, selector: "sfc-dropdown-menu", inputs: { items: "items", icon: "icon", defaultDots: "defaultDots", label: "label", hideOnClick: "hideOnClick", hideOnClickOutside: "hideOnClickOutside", bordered: "bordered", filled: "filled", position: "position", open: "open", autoResize: "autoResize" }, outputs: { selected: "selected" }, host: { properties: { "class.bordered": "this.bordered", "class.filled": "this.filled", "class": "this.position", "class.open": "this.open" } }, ngImport: i0, template: "<ul [sfcClickOutside]=\"hideOnClickOutside\" (action)=\"onClickOutside($event)\">\r\n <li>\r\n <div class=\"container\" (click)=\"toggle($event)\">\r\n <span *ngIf=\"label\">{{label}}</span>\r\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\"></fa-icon>\r\n <sfc-dots *ngIf=\"showDots\" [open]=\"open\"></sfc-dots>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <ul *ngIf=\"items.length\" [@openClose]=\"open\" class=\"dropdown-container\">\r\n <sfc-dropdown-menu-item *ngFor=\"let item of items\" [item]=\"item\" (click)=\"onClick(item, $event)\">\r\n </sfc-dropdown-menu-item>\r\n </ul>\r\n </li>\r\n</ul>", styles: [":host{display:inline-flex}:host ul{list-style:none;margin:0;padding-left:0}:host ul li{position:relative}:host ul li .container{display:flex;justify-content:center;align-items:center;cursor:pointer;transition:color .5s ease,background .5s ease;transition:color .5s ease;padding:.3em}:host ul li .container,:host-context(.sfc-default-theme) :host ul li .container{color:#545e61}:host-context(.sfc-dark-theme) :host ul li .container{color:#fff}:host ul li .container span,:host ul li .container fa-icon{font-size:.8em;font-weight:700}:host ul li .container span~fa-icon{margin-left:.3em}:host ul li .container:hover{color:#ffce54}:host ul li .dropdown-container{flex-direction:column;width:max-content;background:#fff;transition:color .5s ease;position:absolute;right:0;transition:opacity .5s ease;margin-top:1em;display:none;padding:.6em;border:.0063em solid #f5f7fa;border-radius:.1875em;box-shadow:0 .125em .625em;z-index:9999}:host ul li .dropdown-container,:host-context(.sfc-default-theme) :host ul li .dropdown-container{color:#e6e9ed}:host-context(.sfc-dark-theme) :host ul li .dropdown-container{color:#656d78}:host.open ul li .dropdown-container{display:flex}:host.bordered ul li .container{width:1.3em;height:1.3em;border:.1em solid;transition:border-color .5s ease;border-radius:.3em;padding:0}:host.bordered ul li .container,:host-context(.sfc-default-theme) :host.bordered ul li .container{border-color:#545e61}:host-context(.sfc-dark-theme) :host.bordered ul li .container{border-color:#fff}:host.bordered ul li .container:hover{border-color:#ffce54}:host.bordered ul li .container:hover ::ng-deep sfc-dots .dot{background:#ffce54}:host.filled ul li .container{width:1.3em;height:1.3em;border:.1em solid transparent;border-radius:1.3em;padding:0}:host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container
|
|
522
|
+
DropdownMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DropdownMenuComponent, selector: "sfc-dropdown-menu", inputs: { items: "items", icon: "icon", defaultDots: "defaultDots", label: "label", hideOnClick: "hideOnClick", hideOnClickOutside: "hideOnClickOutside", bordered: "bordered", filled: "filled", position: "position", open: "open", autoResize: "autoResize" }, outputs: { selected: "selected" }, host: { properties: { "class.bordered": "this.bordered", "class.filled": "this.filled", "class": "this.position", "class.open": "this.open" } }, ngImport: i0, template: "<ul [sfcClickOutside]=\"hideOnClickOutside\" (action)=\"onClickOutside($event)\">\r\n <li>\r\n <div class=\"container\" (click)=\"toggle($event)\">\r\n <span *ngIf=\"label\">{{label}}</span>\r\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\"></fa-icon>\r\n <sfc-dots *ngIf=\"showDots\" [open]=\"open\"></sfc-dots>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <ul *ngIf=\"items.length\" [@openClose]=\"open\" class=\"dropdown-container\">\r\n <sfc-dropdown-menu-item *ngFor=\"let item of items\" [item]=\"item\" (click)=\"onClick(item, $event)\">\r\n </sfc-dropdown-menu-item>\r\n </ul>\r\n </li>\r\n</ul>", styles: [":host{display:inline-flex}:host ul{list-style:none;margin:0;padding-left:0}:host ul li{position:relative}:host ul li .container{display:flex;justify-content:center;align-items:center;cursor:pointer;transition:color .5s ease,background .5s ease;transition:color .5s ease;padding:.3em}:host ul li .container,:host-context(.sfc-default-theme) :host ul li .container{color:#545e61}:host-context(.sfc-dark-theme) :host ul li .container{color:#fff}:host ul li .container span,:host ul li .container fa-icon{font-size:.8em;font-weight:700}:host ul li .container span~fa-icon{margin-left:.3em}:host ul li .container:hover{color:#ffce54}:host ul li .dropdown-container{flex-direction:column;width:max-content;background:#fff;transition:color .5s ease;position:absolute;right:0;transition:opacity .5s ease;margin-top:1em;display:none;padding:.6em;border:.0063em solid #f5f7fa;border-radius:.1875em;box-shadow:0 .125em .625em;z-index:9999}:host ul li .dropdown-container,:host-context(.sfc-default-theme) :host ul li .dropdown-container{color:#e6e9ed}:host-context(.sfc-dark-theme) :host ul li .dropdown-container{color:#656d78}:host.open ul li .dropdown-container{display:flex}:host.bordered ul li .container{width:1.3em;height:1.3em;border:.1em solid;transition:border-color .5s ease;border-radius:.3em;padding:0}:host.bordered ul li .container,:host-context(.sfc-default-theme) :host.bordered ul li .container{border-color:#545e61}:host-context(.sfc-dark-theme) :host.bordered ul li .container{border-color:#fff}:host.bordered ul li .container:hover{border-color:#ffce54}:host.bordered ul li .container:hover ::ng-deep sfc-dots .dot{background:#ffce54}:host.filled ul li .container{width:1.3em;height:1.3em;border:.1em solid transparent;border-radius:1.3em;padding:0}:host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>sfc-dot{transition:background .5s ease}:host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>sfc-dot,:host-context(.sfc-default-theme) :host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>sfc-dot{background:#545e61}:host-context(.sfc-dark-theme) :host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>sfc-dot{background:#fff}:host.filled ul li .container:hover{background:#ffce54}:host.filled ul li .container:hover sfc-dots ::ng-deep>.container>.dots-container>sfc-dot{transition:background .5s ease}:host.filled ul li .container:hover sfc-dots ::ng-deep>.container>.dots-container>sfc-dot,:host-context(.sfc-default-theme) :host.filled ul li .container:hover sfc-dots ::ng-deep>.container>.dots-container>sfc-dot{background:#fff}:host-context(.sfc-dark-theme) :host.filled ul li .container:hover sfc-dots ::ng-deep>.container>.dots-container>sfc-dot{background:#fff}:host.top ul li .dropdown-container{bottom:0;margin-bottom:2.18em;margin-top:0}:host.center ul li .dropdown-container{left:50%;transform:translate(-50%)}:host.left ul li .dropdown-container{right:0}:host.right ul li .dropdown-container{left:0}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: i3.ClickOutsideDirective, selector: "[sfcClickOutside]", inputs: ["sfcClickOutside"], outputs: ["action"] }, { kind: "component", type: i3.DotsComponent, selector: "sfc-dots", inputs: ["open", "direction"] }, { kind: "component", type: DropdownMenuItemComponent, selector: "sfc-dropdown-menu-item", inputs: ["item"] }], animations: [
|
|
496
523
|
trigger('openClose', [
|
|
497
524
|
state('true', style({
|
|
498
525
|
opacity: 1
|
|
@@ -519,7 +546,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
519
546
|
animate('0.1s')
|
|
520
547
|
])
|
|
521
548
|
])
|
|
522
|
-
], template: "<ul [sfcClickOutside]=\"hideOnClickOutside\" (action)=\"onClickOutside($event)\">\r\n <li>\r\n <div class=\"container\" (click)=\"toggle($event)\">\r\n <span *ngIf=\"label\">{{label}}</span>\r\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\"></fa-icon>\r\n <sfc-dots *ngIf=\"showDots\" [open]=\"open\"></sfc-dots>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <ul *ngIf=\"items.length\" [@openClose]=\"open\" class=\"dropdown-container\">\r\n <sfc-dropdown-menu-item *ngFor=\"let item of items\" [item]=\"item\" (click)=\"onClick(item, $event)\">\r\n </sfc-dropdown-menu-item>\r\n </ul>\r\n </li>\r\n</ul>", styles: [":host{display:inline-flex}:host ul{list-style:none;margin:0;padding-left:0}:host ul li{position:relative}:host ul li .container{display:flex;justify-content:center;align-items:center;cursor:pointer;transition:color .5s ease,background .5s ease;transition:color .5s ease;padding:.3em}:host ul li .container,:host-context(.sfc-default-theme) :host ul li .container{color:#545e61}:host-context(.sfc-dark-theme) :host ul li .container{color:#fff}:host ul li .container span,:host ul li .container fa-icon{font-size:.8em;font-weight:700}:host ul li .container span~fa-icon{margin-left:.3em}:host ul li .container:hover{color:#ffce54}:host ul li .dropdown-container{flex-direction:column;width:max-content;background:#fff;transition:color .5s ease;position:absolute;right:0;transition:opacity .5s ease;margin-top:1em;display:none;padding:.6em;border:.0063em solid #f5f7fa;border-radius:.1875em;box-shadow:0 .125em .625em;z-index:9999}:host ul li .dropdown-container,:host-context(.sfc-default-theme) :host ul li .dropdown-container{color:#e6e9ed}:host-context(.sfc-dark-theme) :host ul li .dropdown-container{color:#656d78}:host.open ul li .dropdown-container{display:flex}:host.bordered ul li .container{width:1.3em;height:1.3em;border:.1em solid;transition:border-color .5s ease;border-radius:.3em;padding:0}:host.bordered ul li .container,:host-context(.sfc-default-theme) :host.bordered ul li .container{border-color:#545e61}:host-context(.sfc-dark-theme) :host.bordered ul li .container{border-color:#fff}:host.bordered ul li .container:hover{border-color:#ffce54}:host.bordered ul li .container:hover ::ng-deep sfc-dots .dot{background:#ffce54}:host.filled ul li .container{width:1.3em;height:1.3em;border:.1em solid transparent;border-radius:1.3em;padding:0}:host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container
|
|
549
|
+
], template: "<ul [sfcClickOutside]=\"hideOnClickOutside\" (action)=\"onClickOutside($event)\">\r\n <li>\r\n <div class=\"container\" (click)=\"toggle($event)\">\r\n <span *ngIf=\"label\">{{label}}</span>\r\n <fa-icon *ngIf=\"icon\" [icon]=\"icon\"></fa-icon>\r\n <sfc-dots *ngIf=\"showDots\" [open]=\"open\"></sfc-dots>\r\n <ng-content></ng-content>\r\n </div>\r\n\r\n <ul *ngIf=\"items.length\" [@openClose]=\"open\" class=\"dropdown-container\">\r\n <sfc-dropdown-menu-item *ngFor=\"let item of items\" [item]=\"item\" (click)=\"onClick(item, $event)\">\r\n </sfc-dropdown-menu-item>\r\n </ul>\r\n </li>\r\n</ul>", styles: [":host{display:inline-flex}:host ul{list-style:none;margin:0;padding-left:0}:host ul li{position:relative}:host ul li .container{display:flex;justify-content:center;align-items:center;cursor:pointer;transition:color .5s ease,background .5s ease;transition:color .5s ease;padding:.3em}:host ul li .container,:host-context(.sfc-default-theme) :host ul li .container{color:#545e61}:host-context(.sfc-dark-theme) :host ul li .container{color:#fff}:host ul li .container span,:host ul li .container fa-icon{font-size:.8em;font-weight:700}:host ul li .container span~fa-icon{margin-left:.3em}:host ul li .container:hover{color:#ffce54}:host ul li .dropdown-container{flex-direction:column;width:max-content;background:#fff;transition:color .5s ease;position:absolute;right:0;transition:opacity .5s ease;margin-top:1em;display:none;padding:.6em;border:.0063em solid #f5f7fa;border-radius:.1875em;box-shadow:0 .125em .625em;z-index:9999}:host ul li .dropdown-container,:host-context(.sfc-default-theme) :host ul li .dropdown-container{color:#e6e9ed}:host-context(.sfc-dark-theme) :host ul li .dropdown-container{color:#656d78}:host.open ul li .dropdown-container{display:flex}:host.bordered ul li .container{width:1.3em;height:1.3em;border:.1em solid;transition:border-color .5s ease;border-radius:.3em;padding:0}:host.bordered ul li .container,:host-context(.sfc-default-theme) :host.bordered ul li .container{border-color:#545e61}:host-context(.sfc-dark-theme) :host.bordered ul li .container{border-color:#fff}:host.bordered ul li .container:hover{border-color:#ffce54}:host.bordered ul li .container:hover ::ng-deep sfc-dots .dot{background:#ffce54}:host.filled ul li .container{width:1.3em;height:1.3em;border:.1em solid transparent;border-radius:1.3em;padding:0}:host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>sfc-dot{transition:background .5s ease}:host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>sfc-dot,:host-context(.sfc-default-theme) :host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>sfc-dot{background:#545e61}:host-context(.sfc-dark-theme) :host.filled ul li .container sfc-dots ::ng-deep>.container>.dots-container>sfc-dot{background:#fff}:host.filled ul li .container:hover{background:#ffce54}:host.filled ul li .container:hover sfc-dots ::ng-deep>.container>.dots-container>sfc-dot{transition:background .5s ease}:host.filled ul li .container:hover sfc-dots ::ng-deep>.container>.dots-container>sfc-dot,:host-context(.sfc-default-theme) :host.filled ul li .container:hover sfc-dots ::ng-deep>.container>.dots-container>sfc-dot{background:#fff}:host-context(.sfc-dark-theme) :host.filled ul li .container:hover sfc-dots ::ng-deep>.container>.dots-container>sfc-dot{background:#fff}:host.top ul li .dropdown-container{bottom:0;margin-bottom:2.18em;margin-top:0}:host.center ul li .dropdown-container{left:50%;transform:translate(-50%)}:host.left ul li .dropdown-container{right:0}:host.right ul li .dropdown-container{left:0}\n"] }]
|
|
523
550
|
}], ctorParameters: function () {
|
|
524
551
|
return [{ type: i3.ResizeService }, { type: Window, decorators: [{
|
|
525
552
|
type: Inject,
|
|
@@ -612,6 +639,61 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
612
639
|
type: Output
|
|
613
640
|
}] } });
|
|
614
641
|
|
|
642
|
+
class RouterMenuItemComponent {
|
|
643
|
+
constructor() {
|
|
644
|
+
this.item = { id: CommonConstants.EMPTY_STRING, label: CommonConstants.EMPTY_STRING, selected: false };
|
|
645
|
+
}
|
|
646
|
+
get _selected() {
|
|
647
|
+
var _a;
|
|
648
|
+
return (_a = this.item.selected) !== null && _a !== void 0 ? _a : false;
|
|
649
|
+
}
|
|
650
|
+
click() {
|
|
651
|
+
if (this.item.click)
|
|
652
|
+
this.item.click(this.item);
|
|
653
|
+
}
|
|
654
|
+
}
|
|
655
|
+
RouterMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RouterMenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
656
|
+
RouterMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: RouterMenuItemComponent, selector: "sfc-router-menu-item", inputs: { item: "item" }, host: { listeners: { "click": "click()" }, properties: { "class.selected": "this._selected" } }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <sfc-icon [icon]=\"item.icon\" [imageSrc]=\"item.image\"></sfc-icon>\r\n <span>{{item.label}}</span>\r\n </div>\r\n</div>", styles: [":host{cursor:pointer;-webkit-user-select:none;user-select:none}:host .container{display:flex;align-items:center;justify-content:center;height:100%}:host .container .content{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;transition:color .5s ease;padding:.5em .8em;width:100%}:host .container .content,:host-context(.sfc-default-theme) :host .container .content{color:#545e61}:host-context(.sfc-dark-theme) :host .container .content{color:#fff}:host .container .content span{font-size:.7em;font-weight:700}:host .container .content sfc-icon{margin-right:.5em}:host.selected .container .content,:host:hover .container .content{color:#ffce54}:host.selected .container .content{border:1px solid #ffce54;border-radius:3em;background:#ffce54;color:#fff}\n"], dependencies: [{ kind: "component", type: i3.IconComponent, selector: "sfc-icon", inputs: ["icon", "imageSrc"] }] });
|
|
657
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RouterMenuItemComponent, decorators: [{
|
|
658
|
+
type: Component,
|
|
659
|
+
args: [{ selector: 'sfc-router-menu-item', template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <sfc-icon [icon]=\"item.icon\" [imageSrc]=\"item.image\"></sfc-icon>\r\n <span>{{item.label}}</span>\r\n </div>\r\n</div>", styles: [":host{cursor:pointer;-webkit-user-select:none;user-select:none}:host .container{display:flex;align-items:center;justify-content:center;height:100%}:host .container .content{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;transition:color .5s ease;padding:.5em .8em;width:100%}:host .container .content,:host-context(.sfc-default-theme) :host .container .content{color:#545e61}:host-context(.sfc-dark-theme) :host .container .content{color:#fff}:host .container .content span{font-size:.7em;font-weight:700}:host .container .content sfc-icon{margin-right:.5em}:host.selected .container .content,:host:hover .container .content{color:#ffce54}:host.selected .container .content{border:1px solid #ffce54;border-radius:3em;background:#ffce54;color:#fff}\n"] }]
|
|
660
|
+
}], propDecorators: { item: [{
|
|
661
|
+
type: Input
|
|
662
|
+
}], _selected: [{
|
|
663
|
+
type: HostBinding,
|
|
664
|
+
args: ['class.' + UIClass.Selected]
|
|
665
|
+
}], click: [{
|
|
666
|
+
type: HostListener,
|
|
667
|
+
args: ['click']
|
|
668
|
+
}] } });
|
|
669
|
+
|
|
670
|
+
class RouterMenuComponent {
|
|
671
|
+
constructor() {
|
|
672
|
+
this.items = [];
|
|
673
|
+
this.selected = new EventEmitter();
|
|
674
|
+
}
|
|
675
|
+
ngOnInit() {
|
|
676
|
+
if (all(this.items, (item) => { var _a; return !((_a = item.selected) !== null && _a !== void 0 ? _a : false); })) {
|
|
677
|
+
this.items[0].selected = true;
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
onClick(item) {
|
|
681
|
+
this.items.forEach((item) => item.selected = false);
|
|
682
|
+
item.selected = true;
|
|
683
|
+
this.selected.emit(item);
|
|
684
|
+
}
|
|
685
|
+
}
|
|
686
|
+
RouterMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RouterMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
687
|
+
RouterMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: RouterMenuComponent, selector: "sfc-router-menu", inputs: { items: "items" }, outputs: { selected: "selected" }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <div class=\"items\">\r\n <sfc-router-menu-item *ngFor=\"let item of items\" [item]=\"item\" (click)=\"onClick(item)\">\r\n </sfc-router-menu-item>\r\n </div>\r\n </div> \r\n</div>", styles: [":host{width:100%}:host .container .content .items{display:flex;flex-wrap:wrap;justify-content:space-evenly;padding:.625em}:host .container .content .items sfc-router-menu-item{flex:50%}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: RouterMenuItemComponent, selector: "sfc-router-menu-item", inputs: ["item"] }] });
|
|
688
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: RouterMenuComponent, decorators: [{
|
|
689
|
+
type: Component,
|
|
690
|
+
args: [{ selector: 'sfc-router-menu', template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <div class=\"items\">\r\n <sfc-router-menu-item *ngFor=\"let item of items\" [item]=\"item\" (click)=\"onClick(item)\">\r\n </sfc-router-menu-item>\r\n </div>\r\n </div> \r\n</div>", styles: [":host{width:100%}:host .container .content .items{display:flex;flex-wrap:wrap;justify-content:space-evenly;padding:.625em}:host .container .content .items sfc-router-menu-item{flex:50%}\n"] }]
|
|
691
|
+
}], propDecorators: { items: [{
|
|
692
|
+
type: Input
|
|
693
|
+
}], selected: [{
|
|
694
|
+
type: Output
|
|
695
|
+
}] } });
|
|
696
|
+
|
|
615
697
|
var StarType;
|
|
616
698
|
(function (StarType) {
|
|
617
699
|
StarType["None"] = "none";
|
|
@@ -813,7 +895,7 @@ class AvatarComponent {
|
|
|
813
895
|
* Progress colors model
|
|
814
896
|
*/
|
|
815
897
|
this._progressModel = this.PROGRESS_MODEL_DEFAULT;
|
|
816
|
-
this.
|
|
898
|
+
this._data = this.DATA_MODEL_DEFAULT;
|
|
817
899
|
this.stars = false;
|
|
818
900
|
this.starsValue = 0;
|
|
819
901
|
this.badges = [];
|
|
@@ -824,19 +906,25 @@ class AvatarComponent {
|
|
|
824
906
|
set progressModel(value) {
|
|
825
907
|
this._progressModel = Object.assign(Object.assign({}, this.PROGRESS_MODEL_DEFAULT), value);
|
|
826
908
|
}
|
|
909
|
+
set data(value) {
|
|
910
|
+
this._data = Object.assign(Object.assign({}, this.DATA_MODEL_DEFAULT), value);
|
|
911
|
+
if (!isDefined(this._data.image)) {
|
|
912
|
+
this._data.image = AvatarConstants.DATA_DEFAULT_IMAGE;
|
|
913
|
+
}
|
|
914
|
+
}
|
|
915
|
+
get data() { return this._data; }
|
|
827
916
|
ngOnInit() {
|
|
828
917
|
this.imageModel = new AvatarImageModel(this.radius, this.stroke, this.data.image);
|
|
829
|
-
this.data = Object.assign(Object.assign({}, this.DATA_MODEL_DEFAULT), this.data);
|
|
830
918
|
}
|
|
831
919
|
get strokeDashOffset() {
|
|
832
920
|
return Math.round(this.imageModel.Circumference - (this.progress / 100 * this.imageModel.Circumference));
|
|
833
921
|
}
|
|
834
922
|
}
|
|
835
923
|
AvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
836
|
-
AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AvatarComponent, selector: "sfc-avatar", inputs: { radius: "radius", stroke: "stroke", progress: "progress", progressModel: "progressModel", data: "data", stars: "stars", starsValue: "starsValue", badges: "badges" }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"avatar-image-container\">\r\n <div class=\"avatar\" (mouseenter)=\"stroke = imageModel.Stroke * STROKE_HOVER_VALUE\"\r\n (mouseleave)=\"stroke = imageModel.Stroke\">\r\n\r\n <div class=\"avatar-image\">\r\n <svg [attr.height]=\"imageModel.Height\" [attr.width]=\"imageModel.Width\">\r\n <defs>\r\n <pattern id=\"{{imageModel.ImageId}}\" patternUnits=\"userSpaceOnUse\"\r\n [attr.height]=\"imageModel.Height\" [attr.width]=\"imageModel.Width\">\r\n <image [attr.height]=\"imageModel.Height\" [attr.width]=\"imageModel.Width\"\r\n [attr.xlink:href]=\"data.image\" preserveAspectRatio=\"xMidYMid slice\"></image>\r\n </pattern>\r\n </defs>\r\n <circle class=\"progress\" [attr.stroke]=\"progressModel.color\" [attr.stroke-width]=\"stroke\"\r\n fill=\"transparent\" [attr.r]=\"imageModel.NormalizedRadius\" [attr.cx]=\"radius\"\r\n [attr.cy]=\"radius\" />\r\n <circle class=\"progress\" [attr.stroke]=\"progressModel.filledColor\"\r\n [attr.stroke-dasharray]=\"imageModel.Circumference + ' ' + imageModel.Circumference\"\r\n [ngStyle]=\"{'stroke-dashoffset':strokeDashOffset}\" [attr.stroke-width]=\"stroke\"\r\n fill=\"transparent\" [attr.r]=\"imageModel.NormalizedRadius\" [attr.cx]=\"radius\"\r\n [attr.cy]=\"radius\" />\r\n\r\n <circle [attr.cx]=\"radius\" [attr.cy]=\"radius\" [attr.r]=\"imageModel.ImageRadius\"\r\n attr.fill=\"url('#{{imageModel.ImageId}}')\" />\r\n </svg>\r\n </div
|
|
924
|
+
AvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: AvatarComponent, selector: "sfc-avatar", inputs: { radius: "radius", stroke: "stroke", progress: "progress", progressModel: "progressModel", data: "data", stars: "stars", starsValue: "starsValue", badges: "badges" }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"avatar-image-container\">\r\n <div class=\"avatar\" (mouseenter)=\"stroke = imageModel.Stroke * STROKE_HOVER_VALUE\"\r\n (mouseleave)=\"stroke = imageModel.Stroke\">\r\n\r\n <div class=\"avatar-image\">\r\n <svg [attr.height]=\"imageModel.Height\" [attr.width]=\"imageModel.Width\">\r\n <defs>\r\n <pattern id=\"{{imageModel.ImageId}}\" patternUnits=\"userSpaceOnUse\"\r\n [attr.height]=\"imageModel.Height\" [attr.width]=\"imageModel.Width\">\r\n <image [attr.height]=\"imageModel.Height\" [attr.width]=\"imageModel.Width\"\r\n [attr.xlink:href]=\"data.image\" preserveAspectRatio=\"xMidYMid slice\"></image>\r\n </pattern>\r\n </defs>\r\n <circle class=\"progress\" [attr.stroke]=\"progressModel.color\" [attr.stroke-width]=\"stroke\"\r\n fill=\"transparent\" [attr.r]=\"imageModel.NormalizedRadius\" [attr.cx]=\"radius\"\r\n [attr.cy]=\"radius\" />\r\n <circle class=\"progress\" [attr.stroke]=\"progressModel.filledColor\"\r\n [attr.stroke-dasharray]=\"imageModel.Circumference + ' ' + imageModel.Circumference\"\r\n [ngStyle]=\"{'stroke-dashoffset':strokeDashOffset}\" [attr.stroke-width]=\"stroke\"\r\n fill=\"transparent\" [attr.r]=\"imageModel.NormalizedRadius\" [attr.cx]=\"radius\"\r\n [attr.cy]=\"radius\" />\r\n\r\n <circle [attr.cx]=\"radius\" [attr.cy]=\"radius\" [attr.r]=\"imageModel.ImageRadius\"\r\n attr.fill=\"url('#{{imageModel.ImageId}}')\" />\r\n </svg>\r\n\r\n <ng-content></ng-content>\r\n </div> \r\n\r\n <sfc-avatar-badge *ngFor=\"let badge of badges\" [model]=\"badge\" [radius]=\"radius\"\r\n [stroke]=\"imageModel.Stroke\" [normalizedRadius]=\"imageModel.NormalizedRadius\"\r\n [background]=\"progressModel.filledColor\">\r\n </sfc-avatar-badge>\r\n </div>\r\n\r\n <sfc-stars *ngIf=\"stars\" [value]=\"starsValue\"></sfc-stars>\r\n </div>\r\n\r\n <div class=\"avatar-data-container\">\r\n <div class=\"fullname\" [style.fontSize.px]=\"radius / FULLNAME_PART_VALUE\">\r\n <span>{{data.firstName}} {{data.lastName}}</span>\r\n </div>\r\n <div class=\"title\" [style.fontSize.px]=\"radius / TITLE_PART_VALUE\">\r\n <span>{{data.title}}</span>\r\n </div>\r\n </div>\r\n</div>", styles: [":host .container .avatar-image-container{display:flex;align-items:center;justify-content:center;flex-direction:column}:host .container .avatar-image-container .avatar{position:relative}:host .container .avatar-image-container .avatar .avatar-image{display:flex;align-items:center;justify-content:center;overflow:hidden}:host .container .avatar-image-container .avatar .avatar-image circle{transform-origin:50% 50%;transition:stroke-dashoffset .35s,stroke-width .3s}:host .container .avatar-image-container .avatar .avatar-image circle.progress{transform:rotate(-90deg)}:host .container .avatar-data-container{display:flex;flex-direction:column;align-items:center;font-size:1em;font-weight:700;-webkit-user-select:none;user-select:none}:host .container .avatar-data-container .fullname{transition:color .5s ease}:host .container .avatar-data-container .fullname,:host-context(.sfc-default-theme) :host .container .avatar-data-container .fullname{color:#545e61}:host-context(.sfc-dark-theme) :host .container .avatar-data-container .fullname{color:#f5f7fa}:host .container .avatar-data-container .title{color:#aab2bd}:host .container .avatar-data-container .fullname,:host .container .avatar-data-container .title{transition:color .5s ease}\n"], dependencies: [{ 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: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: StarsComponent, selector: "sfc-stars", inputs: ["value", "count"] }, { kind: "component", type: AvatarBadgeComponent, selector: "sfc-avatar-badge", inputs: ["background", "model", "radius", "normalizedRadius", "stroke"] }] });
|
|
837
925
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: AvatarComponent, decorators: [{
|
|
838
926
|
type: Component,
|
|
839
|
-
args: [{ selector: 'sfc-avatar', template: "<div class=\"container\">\r\n <div class=\"avatar-image-container\">\r\n <div class=\"avatar\" (mouseenter)=\"stroke = imageModel.Stroke * STROKE_HOVER_VALUE\"\r\n (mouseleave)=\"stroke = imageModel.Stroke\">\r\n\r\n <div class=\"avatar-image\">\r\n <svg [attr.height]=\"imageModel.Height\" [attr.width]=\"imageModel.Width\">\r\n <defs>\r\n <pattern id=\"{{imageModel.ImageId}}\" patternUnits=\"userSpaceOnUse\"\r\n [attr.height]=\"imageModel.Height\" [attr.width]=\"imageModel.Width\">\r\n <image [attr.height]=\"imageModel.Height\" [attr.width]=\"imageModel.Width\"\r\n [attr.xlink:href]=\"data.image\" preserveAspectRatio=\"xMidYMid slice\"></image>\r\n </pattern>\r\n </defs>\r\n <circle class=\"progress\" [attr.stroke]=\"progressModel.color\" [attr.stroke-width]=\"stroke\"\r\n fill=\"transparent\" [attr.r]=\"imageModel.NormalizedRadius\" [attr.cx]=\"radius\"\r\n [attr.cy]=\"radius\" />\r\n <circle class=\"progress\" [attr.stroke]=\"progressModel.filledColor\"\r\n [attr.stroke-dasharray]=\"imageModel.Circumference + ' ' + imageModel.Circumference\"\r\n [ngStyle]=\"{'stroke-dashoffset':strokeDashOffset}\" [attr.stroke-width]=\"stroke\"\r\n fill=\"transparent\" [attr.r]=\"imageModel.NormalizedRadius\" [attr.cx]=\"radius\"\r\n [attr.cy]=\"radius\" />\r\n\r\n <circle [attr.cx]=\"radius\" [attr.cy]=\"radius\" [attr.r]=\"imageModel.ImageRadius\"\r\n attr.fill=\"url('#{{imageModel.ImageId}}')\" />\r\n </svg>\r\n </div
|
|
927
|
+
args: [{ selector: 'sfc-avatar', template: "<div class=\"container\">\r\n <div class=\"avatar-image-container\">\r\n <div class=\"avatar\" (mouseenter)=\"stroke = imageModel.Stroke * STROKE_HOVER_VALUE\"\r\n (mouseleave)=\"stroke = imageModel.Stroke\">\r\n\r\n <div class=\"avatar-image\">\r\n <svg [attr.height]=\"imageModel.Height\" [attr.width]=\"imageModel.Width\">\r\n <defs>\r\n <pattern id=\"{{imageModel.ImageId}}\" patternUnits=\"userSpaceOnUse\"\r\n [attr.height]=\"imageModel.Height\" [attr.width]=\"imageModel.Width\">\r\n <image [attr.height]=\"imageModel.Height\" [attr.width]=\"imageModel.Width\"\r\n [attr.xlink:href]=\"data.image\" preserveAspectRatio=\"xMidYMid slice\"></image>\r\n </pattern>\r\n </defs>\r\n <circle class=\"progress\" [attr.stroke]=\"progressModel.color\" [attr.stroke-width]=\"stroke\"\r\n fill=\"transparent\" [attr.r]=\"imageModel.NormalizedRadius\" [attr.cx]=\"radius\"\r\n [attr.cy]=\"radius\" />\r\n <circle class=\"progress\" [attr.stroke]=\"progressModel.filledColor\"\r\n [attr.stroke-dasharray]=\"imageModel.Circumference + ' ' + imageModel.Circumference\"\r\n [ngStyle]=\"{'stroke-dashoffset':strokeDashOffset}\" [attr.stroke-width]=\"stroke\"\r\n fill=\"transparent\" [attr.r]=\"imageModel.NormalizedRadius\" [attr.cx]=\"radius\"\r\n [attr.cy]=\"radius\" />\r\n\r\n <circle [attr.cx]=\"radius\" [attr.cy]=\"radius\" [attr.r]=\"imageModel.ImageRadius\"\r\n attr.fill=\"url('#{{imageModel.ImageId}}')\" />\r\n </svg>\r\n\r\n <ng-content></ng-content>\r\n </div> \r\n\r\n <sfc-avatar-badge *ngFor=\"let badge of badges\" [model]=\"badge\" [radius]=\"radius\"\r\n [stroke]=\"imageModel.Stroke\" [normalizedRadius]=\"imageModel.NormalizedRadius\"\r\n [background]=\"progressModel.filledColor\">\r\n </sfc-avatar-badge>\r\n </div>\r\n\r\n <sfc-stars *ngIf=\"stars\" [value]=\"starsValue\"></sfc-stars>\r\n </div>\r\n\r\n <div class=\"avatar-data-container\">\r\n <div class=\"fullname\" [style.fontSize.px]=\"radius / FULLNAME_PART_VALUE\">\r\n <span>{{data.firstName}} {{data.lastName}}</span>\r\n </div>\r\n <div class=\"title\" [style.fontSize.px]=\"radius / TITLE_PART_VALUE\">\r\n <span>{{data.title}}</span>\r\n </div>\r\n </div>\r\n</div>", styles: [":host .container .avatar-image-container{display:flex;align-items:center;justify-content:center;flex-direction:column}:host .container .avatar-image-container .avatar{position:relative}:host .container .avatar-image-container .avatar .avatar-image{display:flex;align-items:center;justify-content:center;overflow:hidden}:host .container .avatar-image-container .avatar .avatar-image circle{transform-origin:50% 50%;transition:stroke-dashoffset .35s,stroke-width .3s}:host .container .avatar-image-container .avatar .avatar-image circle.progress{transform:rotate(-90deg)}:host .container .avatar-data-container{display:flex;flex-direction:column;align-items:center;font-size:1em;font-weight:700;-webkit-user-select:none;user-select:none}:host .container .avatar-data-container .fullname{transition:color .5s ease}:host .container .avatar-data-container .fullname,:host-context(.sfc-default-theme) :host .container .avatar-data-container .fullname{color:#545e61}:host-context(.sfc-dark-theme) :host .container .avatar-data-container .fullname{color:#f5f7fa}:host .container .avatar-data-container .title{color:#aab2bd}:host .container .avatar-data-container .fullname,:host .container .avatar-data-container .title{transition:color .5s ease}\n"] }]
|
|
840
928
|
}], propDecorators: { radius: [{
|
|
841
929
|
type: Input
|
|
842
930
|
}], stroke: [{
|
|
@@ -898,7 +986,7 @@ function getProgressColorDefaultFunc(value) {
|
|
|
898
986
|
}
|
|
899
987
|
}
|
|
900
988
|
function getProgressColorDynamicallyFunc(value, total) {
|
|
901
|
-
const colorsCount = Object.keys(ProgressColor).length, part =
|
|
989
|
+
const colorsCount = Object.keys(ProgressColor).length, part = (total || CommonConstants.FULL_PERCENTAGE) / colorsCount;
|
|
902
990
|
if (value < part) {
|
|
903
991
|
return ProgressColor.MIN_LOW;
|
|
904
992
|
}
|
|
@@ -1027,6 +1115,7 @@ class ProgressCircleComponent extends ProgressBaseComponent {
|
|
|
1027
1115
|
constructor() {
|
|
1028
1116
|
super(...arguments);
|
|
1029
1117
|
this.total = CommonConstants.FULL_PERCENTAGE;
|
|
1118
|
+
this.partition = false;
|
|
1030
1119
|
}
|
|
1031
1120
|
get reversed() {
|
|
1032
1121
|
return (this.progress / this.total) * CommonConstants.FULL_PERCENTAGE > 50;
|
|
@@ -1036,12 +1125,14 @@ class ProgressCircleComponent extends ProgressBaseComponent {
|
|
|
1036
1125
|
}
|
|
1037
1126
|
}
|
|
1038
1127
|
ProgressCircleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressCircleComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1039
|
-
ProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ProgressCircleComponent, selector: "sfc-progress-circle", inputs: { total: "total" }, host: { properties: { "class.reversed": "this.reversed" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"container\" [style.background]=\"background\">\r\n <span>{{progress}}</span>\r\n <div class=\"circle\">\r\n <div class=\"bar\" [ngStyle]=\"{'transform': transformRotate, \r\n 'border-color': getColor(progress, total)}\"></div>\r\n <div class=\"fill\" [ngStyle]=\"{'border-color': getColor(progress, total)}\"></div>\r\n </div>\r\n</div>", styles: [":host.reversed .container .circle .fill,:host .container .circle .bar{position:absolute;border:.09em solid;clip:rect(0,.5em,1em,0);border-radius:50%;width:.82em;height:.82em}:host{display:inline-block}:host .container{position:relative;border-radius:50%;background:#e6e9ed;font-size:5em;text-align:initial;width:1em;height:1em}:host .container:after{position:absolute;top:.082em;left:.09em;content:\" \";border-radius:50%;background:#fff;transition-property:all;transition-duration:.2s;transition-timing-function:ease-in;width:.83em;height:.83em}:host .container span{position:absolute;z-index:1;width:5em;line-height:5em;font-size:.2em;color:#545e61;font-weight:700;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;transition-property:all;transition-duration:.2s;transition-timing-function:ease-out}:host .container:hover:after{top:.07em;left:.07em;width:.86em;height:.86em}:host .container:hover span{width:3.33em;line-height:3.33em;font-size:.3em}:host .container .circle{position:absolute;clip:rect(0,1em,1em,.5em);width:1em;height:1em}:host .container .circle .bar{transition:transform .2s ease-out,border-color .2s ease-out}:host.reversed .container .circle{clip:rect(auto,auto,auto,auto)}:host.reversed .container .circle .fill{transform:rotate(180deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
1128
|
+
ProgressCircleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ProgressCircleComponent, selector: "sfc-progress-circle", inputs: { total: "total", partition: "partition" }, host: { properties: { "class.reversed": "this.reversed" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"container\" [style.background]=\"background\">\r\n <span>{{progress}}<ng-container *ngIf=\"partition\">/{{total}}</ng-container></span>\r\n <div class=\"circle\">\r\n <div class=\"bar\" [ngStyle]=\"{'transform': transformRotate, \r\n 'border-color': getColor(progress, total)}\"></div>\r\n <div class=\"fill\" [ngStyle]=\"{'border-color': getColor(progress, total)}\"></div>\r\n </div>\r\n</div>", styles: [":host.reversed .container .circle .fill,:host .container .circle .bar{position:absolute;border:.09em solid;clip:rect(0,.5em,1em,0);border-radius:50%;width:.82em;height:.82em}:host{display:inline-block}:host .container{position:relative;border-radius:50%;background:#e6e9ed;font-size:5em;text-align:initial;width:1em;height:1em}:host .container:after{position:absolute;top:.082em;left:.09em;content:\" \";border-radius:50%;background:#fff;transition-property:all;transition-duration:.2s;transition-timing-function:ease-in;width:.83em;height:.83em}:host .container span{position:absolute;z-index:1;width:5em;line-height:5em;font-size:.2em;color:#545e61;font-weight:700;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;transition-property:all;transition-duration:.2s;transition-timing-function:ease-out}:host .container:hover:after{top:.07em;left:.07em;width:.86em;height:.86em}:host .container:hover span{width:3.33em;line-height:3.33em;font-size:.3em}:host .container .circle{position:absolute;clip:rect(0,1em,1em,.5em);width:1em;height:1em}:host .container .circle .bar{transition:transform .2s ease-out,border-color .2s ease-out}:host.reversed .container .circle{clip:rect(auto,auto,auto,auto)}:host.reversed .container .circle .fill{transform:rotate(180deg)}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] });
|
|
1040
1129
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ProgressCircleComponent, decorators: [{
|
|
1041
1130
|
type: Component,
|
|
1042
|
-
args: [{ selector: 'sfc-progress-circle', template: "<div class=\"container\" [style.background]=\"background\">\r\n <span>{{progress}}</span>\r\n <div class=\"circle\">\r\n <div class=\"bar\" [ngStyle]=\"{'transform': transformRotate, \r\n 'border-color': getColor(progress, total)}\"></div>\r\n <div class=\"fill\" [ngStyle]=\"{'border-color': getColor(progress, total)}\"></div>\r\n </div>\r\n</div>", styles: [":host.reversed .container .circle .fill,:host .container .circle .bar{position:absolute;border:.09em solid;clip:rect(0,.5em,1em,0);border-radius:50%;width:.82em;height:.82em}:host{display:inline-block}:host .container{position:relative;border-radius:50%;background:#e6e9ed;font-size:5em;text-align:initial;width:1em;height:1em}:host .container:after{position:absolute;top:.082em;left:.09em;content:\" \";border-radius:50%;background:#fff;transition-property:all;transition-duration:.2s;transition-timing-function:ease-in;width:.83em;height:.83em}:host .container span{position:absolute;z-index:1;width:5em;line-height:5em;font-size:.2em;color:#545e61;font-weight:700;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;transition-property:all;transition-duration:.2s;transition-timing-function:ease-out}:host .container:hover:after{top:.07em;left:.07em;width:.86em;height:.86em}:host .container:hover span{width:3.33em;line-height:3.33em;font-size:.3em}:host .container .circle{position:absolute;clip:rect(0,1em,1em,.5em);width:1em;height:1em}:host .container .circle .bar{transition:transform .2s ease-out,border-color .2s ease-out}:host.reversed .container .circle{clip:rect(auto,auto,auto,auto)}:host.reversed .container .circle .fill{transform:rotate(180deg)}\n"] }]
|
|
1131
|
+
args: [{ selector: 'sfc-progress-circle', template: "<div class=\"container\" [style.background]=\"background\">\r\n <span>{{progress}}<ng-container *ngIf=\"partition\">/{{total}}</ng-container></span>\r\n <div class=\"circle\">\r\n <div class=\"bar\" [ngStyle]=\"{'transform': transformRotate, \r\n 'border-color': getColor(progress, total)}\"></div>\r\n <div class=\"fill\" [ngStyle]=\"{'border-color': getColor(progress, total)}\"></div>\r\n </div>\r\n</div>", styles: [":host.reversed .container .circle .fill,:host .container .circle .bar{position:absolute;border:.09em solid;clip:rect(0,.5em,1em,0);border-radius:50%;width:.82em;height:.82em}:host{display:inline-block}:host .container{position:relative;border-radius:50%;background:#e6e9ed;font-size:5em;text-align:initial;width:1em;height:1em}:host .container:after{position:absolute;top:.082em;left:.09em;content:\" \";border-radius:50%;background:#fff;transition-property:all;transition-duration:.2s;transition-timing-function:ease-in;width:.83em;height:.83em}:host .container span{position:absolute;z-index:1;width:5em;line-height:5em;font-size:.2em;color:#545e61;font-weight:700;text-align:center;white-space:nowrap;-webkit-user-select:none;user-select:none;transition-property:all;transition-duration:.2s;transition-timing-function:ease-out}:host .container:hover:after{top:.07em;left:.07em;width:.86em;height:.86em}:host .container:hover span{width:3.33em;line-height:3.33em;font-size:.3em}:host .container .circle{position:absolute;clip:rect(0,1em,1em,.5em);width:1em;height:1em}:host .container .circle .bar{transition:transform .2s ease-out,border-color .2s ease-out}:host.reversed .container .circle{clip:rect(auto,auto,auto,auto)}:host.reversed .container .circle .fill{transform:rotate(180deg)}\n"] }]
|
|
1043
1132
|
}], propDecorators: { total: [{
|
|
1044
1133
|
type: Input
|
|
1134
|
+
}], partition: [{
|
|
1135
|
+
type: Input
|
|
1045
1136
|
}], reversed: [{
|
|
1046
1137
|
type: HostBinding,
|
|
1047
1138
|
args: ['class.reversed']
|
|
@@ -1053,10 +1144,10 @@ class TagComponent {
|
|
|
1053
1144
|
}
|
|
1054
1145
|
}
|
|
1055
1146
|
TagComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TagComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1056
|
-
TagComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TagComponent, selector: "sfc-tag", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"container\">\r\n <a class=\"tag\">\r\n <div class=\"content\">\r\n <
|
|
1147
|
+
TagComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TagComponent, selector: "sfc-tag", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"container\">\r\n <a class=\"tag\">\r\n <div class=\"content\">\r\n <sfc-icon *ngIf=\"model.icon || model.imageSrc\" [icon]=\"model.icon\" [imageSrc]=\"model.imageSrc\"></sfc-icon>\r\n <span>{{model.label}}</span>\r\n </div>\r\n </a>\r\n</div>", styles: [":host{display:inline-flex;margin:0 .18em}:host .container{margin-top:.3em;font-size:.8em;-webkit-user-select:none;user-select:none}:host .container .tag{display:inline-flex;border-radius:1em;font-weight:700;color:#545e61;transition:color .5s ease;transition:background-color .5s ease;transition:color .5s ease,background-color .5s ease;border:.125em solid transparent;padding:.3em}:host .container .tag,:host-context(.sfc-default-theme) :host .container .tag{color:#fff}:host-context(.sfc-dark-theme) :host .container .tag{color:#545e61}:host .container .tag,:host-context(.sfc-default-theme) :host .container .tag{background-color:#545e61}:host-context(.sfc-dark-theme) :host .container .tag{background-color:#fff}:host .container .tag .content{display:flex;align-items:center;text-align:center;padding:0 .8em}:host .container .tag .content fa-icon{margin-right:.18em}:host .container:hover .tag{background-color:#ffce54;color:#fff}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.IconComponent, selector: "sfc-icon", inputs: ["icon", "imageSrc"] }] });
|
|
1057
1148
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TagComponent, decorators: [{
|
|
1058
1149
|
type: Component,
|
|
1059
|
-
args: [{ selector: 'sfc-tag', template: "<div class=\"container\">\r\n <a class=\"tag\">\r\n <div class=\"content\">\r\n <
|
|
1150
|
+
args: [{ selector: 'sfc-tag', template: "<div class=\"container\">\r\n <a class=\"tag\">\r\n <div class=\"content\">\r\n <sfc-icon *ngIf=\"model.icon || model.imageSrc\" [icon]=\"model.icon\" [imageSrc]=\"model.imageSrc\"></sfc-icon>\r\n <span>{{model.label}}</span>\r\n </div>\r\n </a>\r\n</div>", styles: [":host{display:inline-flex;margin:0 .18em}:host .container{margin-top:.3em;font-size:.8em;-webkit-user-select:none;user-select:none}:host .container .tag{display:inline-flex;border-radius:1em;font-weight:700;color:#545e61;transition:color .5s ease;transition:background-color .5s ease;transition:color .5s ease,background-color .5s ease;border:.125em solid transparent;padding:.3em}:host .container .tag,:host-context(.sfc-default-theme) :host .container .tag{color:#fff}:host-context(.sfc-dark-theme) :host .container .tag{color:#545e61}:host .container .tag,:host-context(.sfc-default-theme) :host .container .tag{background-color:#545e61}:host-context(.sfc-dark-theme) :host .container .tag{background-color:#fff}:host .container .tag .content{display:flex;align-items:center;text-align:center;padding:0 .8em}:host .container .tag .content fa-icon{margin-right:.18em}:host .container:hover .tag{background-color:#ffce54;color:#fff}\n"] }]
|
|
1060
1151
|
}], propDecorators: { model: [{
|
|
1061
1152
|
type: Input
|
|
1062
1153
|
}] } });
|
|
@@ -1067,10 +1158,10 @@ class TagsComponent {
|
|
|
1067
1158
|
}
|
|
1068
1159
|
}
|
|
1069
1160
|
TagsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1070
|
-
TagsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TagsComponent, selector: "sfc-tags", inputs: { tags: "tags" }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"tags\">\r\n <sfc-tag *ngFor=\"let tag of tags\" [model]=\"tag\"></sfc-tag>\r\n </div>\r\n</div>", styles: [":host .container .tags{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TagComponent, selector: "sfc-tag", inputs: ["model"] }] });
|
|
1161
|
+
TagsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TagsComponent, selector: "sfc-tags", inputs: { tags: "tags" }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"tags\">\r\n <sfc-tag *ngFor=\"let tag of tags\" [model]=\"tag\"></sfc-tag>\r\n </div>\r\n</div>", styles: [":host{display:inline-block}:host .container .tags{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: TagComponent, selector: "sfc-tag", inputs: ["model"] }] });
|
|
1071
1162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TagsComponent, decorators: [{
|
|
1072
1163
|
type: Component,
|
|
1073
|
-
args: [{ selector: 'sfc-tags', template: "<div class=\"container\">\r\n <div class=\"tags\">\r\n <sfc-tag *ngFor=\"let tag of tags\" [model]=\"tag\"></sfc-tag>\r\n </div>\r\n</div>", styles: [":host .container .tags{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}\n"] }]
|
|
1164
|
+
args: [{ selector: 'sfc-tags', template: "<div class=\"container\">\r\n <div class=\"tags\">\r\n <sfc-tag *ngFor=\"let tag of tags\" [model]=\"tag\"></sfc-tag>\r\n </div>\r\n</div>", styles: [":host{display:inline-block}:host .container .tags{display:flex;align-items:center;justify-content:center;flex-wrap:wrap}\n"] }]
|
|
1074
1165
|
}], propDecorators: { tags: [{
|
|
1075
1166
|
type: Input
|
|
1076
1167
|
}] } });
|
|
@@ -1854,15 +1945,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
1854
1945
|
|
|
1855
1946
|
class TableSelectService {
|
|
1856
1947
|
constructor() {
|
|
1857
|
-
this.
|
|
1858
|
-
this.select$ = this.selectSubject.asObservable();
|
|
1948
|
+
this.model = new ObservableModel();
|
|
1859
1949
|
this.selectedItems = [];
|
|
1860
1950
|
this.unselectedItems = [];
|
|
1861
1951
|
}
|
|
1952
|
+
get select$() { return this.model.value$; }
|
|
1862
1953
|
selectAll(selected) {
|
|
1863
1954
|
this.unselectedItems = [];
|
|
1864
1955
|
this.selectedItems = [];
|
|
1865
|
-
this.
|
|
1956
|
+
this.model.subject.next({ index: null, selected: selected });
|
|
1866
1957
|
}
|
|
1867
1958
|
select(index, selected) {
|
|
1868
1959
|
if (selected) {
|
|
@@ -1873,7 +1964,18 @@ class TableSelectService {
|
|
|
1873
1964
|
addItem(this.unselectedItems, index);
|
|
1874
1965
|
removeItem(this.selectedItems, index);
|
|
1875
1966
|
}
|
|
1876
|
-
this.
|
|
1967
|
+
this.model.subject.next({ index, selected });
|
|
1968
|
+
}
|
|
1969
|
+
selectSingle(event) {
|
|
1970
|
+
if (event.selected) {
|
|
1971
|
+
this.unselectedItems = [];
|
|
1972
|
+
this.selectedItems = [event.index];
|
|
1973
|
+
}
|
|
1974
|
+
else {
|
|
1975
|
+
this.selectedItems = [];
|
|
1976
|
+
this.unselectedItems = [event.index];
|
|
1977
|
+
}
|
|
1978
|
+
this.model.subject.next(event);
|
|
1877
1979
|
}
|
|
1878
1980
|
}
|
|
1879
1981
|
TableSelectService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TableSelectService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
@@ -2212,6 +2314,7 @@ class TableComponent {
|
|
|
2212
2314
|
// Selection
|
|
2213
2315
|
this.selectable = false;
|
|
2214
2316
|
this.selectOnClick = false;
|
|
2317
|
+
this.selectMultiple = true;
|
|
2215
2318
|
this.selected = new EventEmitter();
|
|
2216
2319
|
this.allSelected = false;
|
|
2217
2320
|
// End Selection
|
|
@@ -2294,21 +2397,42 @@ class TableComponent {
|
|
|
2294
2397
|
return {
|
|
2295
2398
|
index: index,
|
|
2296
2399
|
sequence: sequence,
|
|
2297
|
-
selected: this.getItemSelected(sequence),
|
|
2400
|
+
selected: result.reset ? false : this.getItemSelected(sequence),
|
|
2298
2401
|
data: item
|
|
2299
2402
|
};
|
|
2300
2403
|
});
|
|
2301
|
-
if (result.reset)
|
|
2404
|
+
if (result.reset) {
|
|
2302
2405
|
this.items = items;
|
|
2303
|
-
|
|
2406
|
+
if (this.selectable) {
|
|
2407
|
+
this.selectedService.selectAll(false);
|
|
2408
|
+
}
|
|
2409
|
+
}
|
|
2410
|
+
else {
|
|
2304
2411
|
this.items = this.items.concat(items);
|
|
2412
|
+
}
|
|
2305
2413
|
}
|
|
2306
2414
|
selectionSubscribe() {
|
|
2307
2415
|
this._allSelectionSubscription = this.selectedService.select$
|
|
2308
2416
|
.subscribe((event) => {
|
|
2309
|
-
if (
|
|
2310
|
-
|
|
2311
|
-
|
|
2417
|
+
if (this.selectMultiple) {
|
|
2418
|
+
if (event.index == null) {
|
|
2419
|
+
this.allSelected = event.selected;
|
|
2420
|
+
this.items.forEach((item) => item.selected = event.selected);
|
|
2421
|
+
}
|
|
2422
|
+
else {
|
|
2423
|
+
this.items.forEach((item) => {
|
|
2424
|
+
if (item.sequence === event.index)
|
|
2425
|
+
item.selected = event.selected;
|
|
2426
|
+
});
|
|
2427
|
+
}
|
|
2428
|
+
}
|
|
2429
|
+
else {
|
|
2430
|
+
this.items.forEach((item) => {
|
|
2431
|
+
if (item.sequence === event.index)
|
|
2432
|
+
item.selected = event.selected;
|
|
2433
|
+
else
|
|
2434
|
+
item.selected = false;
|
|
2435
|
+
});
|
|
2312
2436
|
}
|
|
2313
2437
|
this.selected.emit(event);
|
|
2314
2438
|
});
|
|
@@ -2322,7 +2446,7 @@ class TableComponent {
|
|
|
2322
2446
|
let tableColumns = JSON.parse(JSON.stringify(columns));
|
|
2323
2447
|
if (this.sequence)
|
|
2324
2448
|
tableColumns.unshift(TableConstants.SEQUENCE_COLUMN);
|
|
2325
|
-
if (this.selectable)
|
|
2449
|
+
if (this.selectable && this.selectMultiple)
|
|
2326
2450
|
tableColumns.unshift(TableConstants.SELECTABLE_COLUMN);
|
|
2327
2451
|
if (this.expanded)
|
|
2328
2452
|
tableColumns.push(TableConstants.EXPANDED_COLUMN);
|
|
@@ -2368,10 +2492,10 @@ class TableComponent {
|
|
|
2368
2492
|
}
|
|
2369
2493
|
}
|
|
2370
2494
|
TableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TableComponent, deps: [{ token: ColumnsToggleService }, { token: WINDOW }, { token: TableSelectService }, { token: i3.SortingService }, { token: i0.ChangeDetectorRef }, { token: i3.ResizeService }, { token: i0.IterableDiffers }], target: i0.ɵɵFactoryTarget.Component });
|
|
2371
|
-
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TableComponent, selector: "sfc-table", inputs: { position: "position", delimeter: "delimeter", dataType: "dataType", dataToggle: "dataToggle", showColumns: "showColumns", columnsToggle: "columnsToggle", pagination: "pagination", sequence: "sequence", expanded: "expanded", notFoundLabel: "notFoundLabel", loadMoreLabel: "loadMoreLabel", showTotal: "showTotal", totalLabel: "totalLabel", paginationCount: "paginationCount", paginationLimits: "paginationLimits", showLoading: "showLoading", columnContent: "columnContent", rowContent: "rowContent", cardContent: "cardContent", data: "data", data$: "data$", columns: "columns", showColumnsLabel: "showColumnsLabel", hideColumnsLabel: "hideColumnsLabel", resize: "resize", loadType: "loadType", loader: "loader", filter: "filter", predicate$: "predicate$", selectable: "selectable", selectOnClick: "selectOnClick", dataListLabel: "dataListLabel", dataCardsLabel: "dataCardsLabel" }, outputs: { selected: "selected" }, host: { properties: { "class": "this.dataType", "class.loading": "this.loading" } }, providers: [SortingService, TableSelectService, ColumnsToggleService, ResizeService], queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"container\">\r\n <div *ngIf=\"showLoading\" class=\"table-loader\"></div>\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <div class=\"left\">\r\n <sfc-columns-toggle *ngIf=\"columnsToggle\" [showLabel]=\"showColumnsLabel\" [hideLabel]=\"hideColumnsLabel\">\r\n </sfc-columns-toggle>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <p *ngIf=\"showTotal\">{{totalLabel}}: <span>{{total}}</span></p>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"toggleSwitcherLeftModel\" [rightModel]=\"toggleSwitcherRightModel\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showColumns && columnsToggleService.show\" class=\"columns\">\r\n <div class=\"column\" [style.justifyContent]=\"position\" [style.minWidth]=\"column.calculatedWidth\"\r\n *ngFor=\"let column of tableColumns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n\r\n <sfc-sorting-column *ngSwitchDefault [model]=\"column.sorting!\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting-column>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\" class=\"table-delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <sfc-load-container [id]=\"loadContainerId\" [type]=\"LoadContainerType.Table\" [model]=\"loadModel\"\r\n [paginationCount]=\"paginationCount\" [paginationLimits]=\"paginationLimits\" [showLoading]=\"showLoading\"\r\n (handleSuccess)=\"handleSuccess($event)\" (handleLoading)=\"loading = $event\" [emptyLabel]=\"notFoundLabel\" [loadMoreLabel]=\"loadMoreLabel\">\r\n <div class=\"row\" *ngFor=\"let item of items; index as i;\">\r\n <ng-container [ngSwitch]=\"dataType\">\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Rows\" [referenceContent]=\"rowContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Row\" [defaultContent]=\"defaultRow\"\r\n [contextData]=\"{model: item, columns: tableColumns, position: position}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultRow>\r\n <sfc-default-table-row [columns]=\"tableColumns\" [model]=\"item\" [position]=\"position\"\r\n [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-row>\r\n </ng-template>\r\n\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Cards\" [referenceContent]=\"cardContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Card\"\r\n [defaultContent]=\"defaultCard\" [contextData]=\"{model: item, columns: tableColumns}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultCard>\r\n <sfc-default-table-card [columns]=\"tableColumns\" [model]=\"item\" [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-card>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n </sfc-load-container>\r\n </div>\r\n</div>", styles: [":host .container{display:block;margin:2em auto;width:90%;position:relative}:host .container .columns-container{display:flex;flex-flow:row wrap;transition:.5s;justify-content:space-between}:host .container .columns-container .columns-actions{display:flex;align-items:center;width:100%}:host .container .columns-container .columns-actions .right{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;margin-left:auto}:host .container .columns-container .columns-actions .right>p{transition:color .5s ease;margin:0;font-size:.8em;padding-right:1em;font-weight:700;-webkit-user-select:none;user-select:none;text-align:center}:host .container .columns-container .columns-actions .right>p,:host-context(.sfc-default-theme) :host .container .columns-container .columns-actions .right>p{color:#545e61}:host-context(.sfc-dark-theme) :host .container .columns-container .columns-actions .right>p{color:#fff}:host .container .columns-container .columns-actions .right>p span{font-size:1.1em;color:#ffce54}:host .container .columns-container .columns{text-align:center;padding:.5em;width:100%;display:flex;flex-flow:row wrap}:host .container .columns-container .columns .column{text-align:center;padding:.5em;display:flex;align-items:center;justify-content:center;box-sizing:border-box}:host .container .rows-container{display:flex;flex-wrap:wrap;justify-content:center;transition:.5s;gap:1em;margin-block:1em 2em}:host .container .rows-container sfc-load-container ::ng-deep>.content{background:transparent}:host .container .rows-container sfc-load-container.loading{cursor:initial;z-index:9999}:host .container .rows-container sfc-load-container.loading .preloader{transition:background .5s ease}:host .container .rows-container sfc-load-container.loading .preloader,:host-context(.sfc-default-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:#fff}:host-context(.sfc-dark-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:transparent}:host .container .rows-container .row{display:contents}:host.loading .container .table-loader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:9998;position:absolute;transition:background-color .5s ease;opacity:.7}:host.loading .container .table-loader,:host-context(.sfc-default-theme) :host.loading .container .table-loader{background-color:#fff}:host-context(.sfc-dark-theme) :host.loading .container .table-loader{background-color:transparent}\n"], dependencies: [{ 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: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.DelimeterComponent, selector: "sfc-delimeter", inputs: ["label", "direction"] }, { kind: "component", type: i3.TemplateContentComponent, selector: "sfc-template-content", inputs: ["contextData", "referenceContent", "templateType", "templatesContent", "defaultContent"] }, { kind: "component", type: i3.ToggleSwitcherComponent, selector: "sfc-toggle-switcher", inputs: ["active", "disabled", "leftModel", "rightModel"] }, { kind: "component", type: i3.LoadContainerComponent, selector: "sfc-load-container", inputs: ["id", "type", "open", "loadMore", "loadMoreLabel", "showEmpty", "emptyLabel", "model", "scrollTarget", "paginationCount", "paginationLimits", "showLoading"], outputs: ["handleError", "handleSuccess", "handleLoading"] }, { kind: "component", type: DefaultTableColumnComponent, selector: "sfc-default-table-column", inputs: ["model"] }, { kind: "component", type: SelectableTableColumnComponent, selector: "sfc-selectable-table-column", inputs: ["selected"] }, { kind: "component", type: ColumnsToggleComponent, selector: "sfc-columns-toggle", inputs: ["showLabel", "hideLabel"] }, { kind: "component", type: SortingColumnComponent, selector: "sfc-sorting-column", inputs: ["id", "model"] }, { kind: "component", type: DefaultTableRowComponent, selector: "sfc-default-table-row" }, { kind: "component", type: DefaultTableCardComponent, selector: "sfc-default-table-card" }] });
|
|
2495
|
+
TableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TableComponent, selector: "sfc-table", inputs: { position: "position", delimeter: "delimeter", dataType: "dataType", dataToggle: "dataToggle", showColumns: "showColumns", columnsToggle: "columnsToggle", pagination: "pagination", sequence: "sequence", expanded: "expanded", notFoundLabel: "notFoundLabel", loadMoreLabel: "loadMoreLabel", showTotal: "showTotal", totalLabel: "totalLabel", paginationCount: "paginationCount", paginationLimits: "paginationLimits", showLoading: "showLoading", columnContent: "columnContent", rowContent: "rowContent", cardContent: "cardContent", data: "data", data$: "data$", columns: "columns", showColumnsLabel: "showColumnsLabel", hideColumnsLabel: "hideColumnsLabel", resize: "resize", loadType: "loadType", loader: "loader", filter: "filter", predicate$: "predicate$", selectable: "selectable", selectOnClick: "selectOnClick", selectMultiple: "selectMultiple", dataListLabel: "dataListLabel", dataCardsLabel: "dataCardsLabel" }, outputs: { selected: "selected" }, host: { properties: { "class": "this.dataType", "class.loading": "this.loading" } }, providers: [SortingService, TableSelectService, ColumnsToggleService, ResizeService], queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"container\">\r\n <div *ngIf=\"showLoading\" class=\"table-loader\"></div>\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <div class=\"left\">\r\n <sfc-columns-toggle *ngIf=\"columnsToggle\" [showLabel]=\"showColumnsLabel\" [hideLabel]=\"hideColumnsLabel\">\r\n </sfc-columns-toggle>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <p *ngIf=\"showTotal\">{{totalLabel}}: <span>{{total}}</span></p>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"toggleSwitcherLeftModel\" [rightModel]=\"toggleSwitcherRightModel\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showColumns && columnsToggleService.show\" class=\"columns\">\r\n <div class=\"column\" [style.justifyContent]=\"position\" [style.minWidth]=\"column.calculatedWidth\"\r\n *ngFor=\"let column of tableColumns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n\r\n <sfc-sorting-column *ngSwitchDefault [model]=\"column.sorting!\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting-column>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\" class=\"table-delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <sfc-load-container [id]=\"loadContainerId\" [type]=\"LoadContainerType.Table\" [model]=\"loadModel\"\r\n [paginationCount]=\"paginationCount\" [paginationLimits]=\"paginationLimits\" [showLoading]=\"showLoading\"\r\n (handleSuccess)=\"handleSuccess($event)\" (handleLoading)=\"loading = $event\" [emptyLabel]=\"notFoundLabel\"\r\n [loadMoreLabel]=\"loadMoreLabel\">\r\n <div class=\"row\" *ngFor=\"let item of items; index as i;\">\r\n <ng-container [ngSwitch]=\"dataType\">\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Rows\" [referenceContent]=\"rowContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Row\" [defaultContent]=\"defaultRow\"\r\n [contextData]=\"{model: item, columns: tableColumns, position: position}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultRow>\r\n <sfc-default-table-row [columns]=\"tableColumns\" [model]=\"item\" [position]=\"position\"\r\n [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-row>\r\n </ng-template>\r\n\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Cards\" [referenceContent]=\"cardContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Card\"\r\n [defaultContent]=\"defaultCard\" [contextData]=\"{model: item, columns: tableColumns}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultCard>\r\n <sfc-default-table-card [columns]=\"tableColumns\" [model]=\"item\" [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-card>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n </sfc-load-container>\r\n </div>\r\n</div>", styles: [":host .container{display:block;margin:2em auto;width:90%;position:relative}:host .container .columns-container{display:flex;flex-flow:row wrap;transition:.5s;justify-content:space-between}:host .container .columns-container .columns-actions{display:flex;align-items:center;width:100%}:host .container .columns-container .columns-actions .right{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;margin-left:auto}:host .container .columns-container .columns-actions .right>p{transition:color .5s ease;margin:0;font-size:.8em;padding-right:1em;font-weight:700;-webkit-user-select:none;user-select:none;text-align:center}:host .container .columns-container .columns-actions .right>p,:host-context(.sfc-default-theme) :host .container .columns-container .columns-actions .right>p{color:#545e61}:host-context(.sfc-dark-theme) :host .container .columns-container .columns-actions .right>p{color:#fff}:host .container .columns-container .columns-actions .right>p span{font-size:1.1em;color:#ffce54}:host .container .columns-container .columns{text-align:center;padding:.5em;width:100%;display:flex;flex-flow:row wrap}:host .container .columns-container .columns .column{text-align:center;padding:.5em;display:flex;align-items:center;justify-content:center;box-sizing:border-box}:host .container .rows-container{display:flex;flex-wrap:wrap;justify-content:center;transition:.5s;gap:1em;margin-block:1em 2em}:host .container .rows-container sfc-load-container ::ng-deep>.content{background:transparent}:host .container .rows-container sfc-load-container.loading{cursor:initial;z-index:9999}:host .container .rows-container sfc-load-container.loading .preloader{transition:background .5s ease}:host .container .rows-container sfc-load-container.loading .preloader,:host-context(.sfc-default-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:#fff}:host-context(.sfc-dark-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:transparent}:host .container .rows-container .row{display:contents}:host.loading .container .table-loader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:9998;position:absolute;transition:background-color .5s ease;opacity:.7}:host.loading .container .table-loader,:host-context(.sfc-default-theme) :host.loading .container .table-loader{background-color:#fff}:host-context(.sfc-dark-theme) :host.loading .container .table-loader{background-color:transparent}:host.rows .container .rows-container .row{display:block;width:100%;margin:.5em 0}\n"], dependencies: [{ 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: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i3.DelimeterComponent, selector: "sfc-delimeter", inputs: ["label", "direction"] }, { kind: "component", type: i3.TemplateContentComponent, selector: "sfc-template-content", inputs: ["contextData", "referenceContent", "templateType", "templatesContent", "defaultContent"] }, { kind: "component", type: i3.ToggleSwitcherComponent, selector: "sfc-toggle-switcher", inputs: ["active", "disabled", "leftModel", "rightModel"], outputs: ["toggle"] }, { kind: "component", type: i3.LoadContainerComponent, selector: "sfc-load-container", inputs: ["id", "type", "open", "loadMore", "loadMoreLabel", "showEmpty", "emptyLabel", "model", "scrollTarget", "paginationCount", "paginationLimits", "showLoading"], outputs: ["handleError", "handleSuccess", "handleLoading"] }, { kind: "component", type: DefaultTableColumnComponent, selector: "sfc-default-table-column", inputs: ["model"] }, { kind: "component", type: SelectableTableColumnComponent, selector: "sfc-selectable-table-column", inputs: ["selected"] }, { kind: "component", type: ColumnsToggleComponent, selector: "sfc-columns-toggle", inputs: ["showLabel", "hideLabel"] }, { kind: "component", type: SortingColumnComponent, selector: "sfc-sorting-column", inputs: ["id", "model"] }, { kind: "component", type: DefaultTableRowComponent, selector: "sfc-default-table-row" }, { kind: "component", type: DefaultTableCardComponent, selector: "sfc-default-table-card" }] });
|
|
2372
2496
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TableComponent, decorators: [{
|
|
2373
2497
|
type: Component,
|
|
2374
|
-
args: [{ selector: 'sfc-table', providers: [SortingService, TableSelectService, ColumnsToggleService, ResizeService], template: "<div class=\"container\">\r\n <div *ngIf=\"showLoading\" class=\"table-loader\"></div>\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <div class=\"left\">\r\n <sfc-columns-toggle *ngIf=\"columnsToggle\" [showLabel]=\"showColumnsLabel\" [hideLabel]=\"hideColumnsLabel\">\r\n </sfc-columns-toggle>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <p *ngIf=\"showTotal\">{{totalLabel}}: <span>{{total}}</span></p>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"toggleSwitcherLeftModel\" [rightModel]=\"toggleSwitcherRightModel\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showColumns && columnsToggleService.show\" class=\"columns\">\r\n <div class=\"column\" [style.justifyContent]=\"position\" [style.minWidth]=\"column.calculatedWidth\"\r\n *ngFor=\"let column of tableColumns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n\r\n <sfc-sorting-column *ngSwitchDefault [model]=\"column.sorting!\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting-column>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\" class=\"table-delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <sfc-load-container [id]=\"loadContainerId\" [type]=\"LoadContainerType.Table\" [model]=\"loadModel\"\r\n [paginationCount]=\"paginationCount\" [paginationLimits]=\"paginationLimits\" [showLoading]=\"showLoading\"\r\n (handleSuccess)=\"handleSuccess($event)\" (handleLoading)=\"loading = $event\" [emptyLabel]=\"notFoundLabel\"
|
|
2498
|
+
args: [{ selector: 'sfc-table', providers: [SortingService, TableSelectService, ColumnsToggleService, ResizeService], template: "<div class=\"container\">\r\n <div *ngIf=\"showLoading\" class=\"table-loader\"></div>\r\n <div class=\"columns-container\">\r\n <div class=\"columns-actions\">\r\n <div class=\"left\">\r\n <sfc-columns-toggle *ngIf=\"columnsToggle\" [showLabel]=\"showColumnsLabel\" [hideLabel]=\"hideColumnsLabel\">\r\n </sfc-columns-toggle>\r\n </div>\r\n\r\n <div class=\"right\">\r\n <p *ngIf=\"showTotal\">{{totalLabel}}: <span>{{total}}</span></p>\r\n <sfc-toggle-switcher *ngIf=\"dataToggle\" [active]=\"dataType === TableDataType.Cards\"\r\n [leftModel]=\"toggleSwitcherLeftModel\" [rightModel]=\"toggleSwitcherRightModel\"\r\n (click)=\"onDataTypeToggle()\">\r\n </sfc-toggle-switcher>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"showColumns && columnsToggleService.show\" class=\"columns\">\r\n <div class=\"column\" [style.justifyContent]=\"position\" [style.minWidth]=\"column.calculatedWidth\"\r\n *ngFor=\"let column of tableColumns\">\r\n <ng-container [ngSwitch]=\"column.type\">\r\n <sfc-selectable-table-column *ngSwitchCase=\"TableColumnType.Selectable\"\r\n [selected]=\"allRowsSelected\">\r\n </sfc-selectable-table-column>\r\n\r\n <sfc-sorting-column *ngSwitchDefault [model]=\"column.sorting!\" [id]=\"column.field\">\r\n\r\n <sfc-template-content [referenceContent]=\"columnContent\" [templatesContent]=\"templates\"\r\n [templateType]=\"TableTemplate.Column\" [defaultContent]=\"defaultColumn\"\r\n [contextData]=\"column\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultColumn>\r\n <sfc-default-table-column [model]=\"column\"></sfc-default-table-column>\r\n </ng-template>\r\n\r\n </sfc-sorting-column>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <sfc-delimeter *ngIf=\"delimeter\" class=\"table-delimeter\"></sfc-delimeter>\r\n\r\n <div class=\"rows-container\">\r\n <sfc-load-container [id]=\"loadContainerId\" [type]=\"LoadContainerType.Table\" [model]=\"loadModel\"\r\n [paginationCount]=\"paginationCount\" [paginationLimits]=\"paginationLimits\" [showLoading]=\"showLoading\"\r\n (handleSuccess)=\"handleSuccess($event)\" (handleLoading)=\"loading = $event\" [emptyLabel]=\"notFoundLabel\"\r\n [loadMoreLabel]=\"loadMoreLabel\">\r\n <div class=\"row\" *ngFor=\"let item of items; index as i;\">\r\n <ng-container [ngSwitch]=\"dataType\">\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Rows\" [referenceContent]=\"rowContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Row\" [defaultContent]=\"defaultRow\"\r\n [contextData]=\"{model: item, columns: tableColumns, position: position}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultRow>\r\n <sfc-default-table-row [columns]=\"tableColumns\" [model]=\"item\" [position]=\"position\"\r\n [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-row>\r\n </ng-template>\r\n\r\n <sfc-template-content *ngSwitchCase=\"TableDataType.Cards\" [referenceContent]=\"cardContent\"\r\n [templatesContent]=\"templates\" [templateType]=\"TableTemplate.Card\"\r\n [defaultContent]=\"defaultCard\" [contextData]=\"{model: item, columns: tableColumns}\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultCard>\r\n <sfc-default-table-card [columns]=\"tableColumns\" [model]=\"item\" [selectOnClick]=\"selectOnClick\">\r\n </sfc-default-table-card>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n\r\n </sfc-load-container>\r\n </div>\r\n</div>", styles: [":host .container{display:block;margin:2em auto;width:90%;position:relative}:host .container .columns-container{display:flex;flex-flow:row wrap;transition:.5s;justify-content:space-between}:host .container .columns-container .columns-actions{display:flex;align-items:center;width:100%}:host .container .columns-container .columns-actions .right{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;margin-left:auto}:host .container .columns-container .columns-actions .right>p{transition:color .5s ease;margin:0;font-size:.8em;padding-right:1em;font-weight:700;-webkit-user-select:none;user-select:none;text-align:center}:host .container .columns-container .columns-actions .right>p,:host-context(.sfc-default-theme) :host .container .columns-container .columns-actions .right>p{color:#545e61}:host-context(.sfc-dark-theme) :host .container .columns-container .columns-actions .right>p{color:#fff}:host .container .columns-container .columns-actions .right>p span{font-size:1.1em;color:#ffce54}:host .container .columns-container .columns{text-align:center;padding:.5em;width:100%;display:flex;flex-flow:row wrap}:host .container .columns-container .columns .column{text-align:center;padding:.5em;display:flex;align-items:center;justify-content:center;box-sizing:border-box}:host .container .rows-container{display:flex;flex-wrap:wrap;justify-content:center;transition:.5s;gap:1em;margin-block:1em 2em}:host .container .rows-container sfc-load-container ::ng-deep>.content{background:transparent}:host .container .rows-container sfc-load-container.loading{cursor:initial;z-index:9999}:host .container .rows-container sfc-load-container.loading .preloader{transition:background .5s ease}:host .container .rows-container sfc-load-container.loading .preloader,:host-context(.sfc-default-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:#fff}:host-context(.sfc-dark-theme) :host .container .rows-container sfc-load-container.loading .preloader{background:transparent}:host .container .rows-container .row{display:contents}:host.loading .container .table-loader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center;z-index:9998;position:absolute;transition:background-color .5s ease;opacity:.7}:host.loading .container .table-loader,:host-context(.sfc-default-theme) :host.loading .container .table-loader{background-color:#fff}:host-context(.sfc-dark-theme) :host.loading .container .table-loader{background-color:transparent}:host.rows .container .rows-container .row{display:block;width:100%;margin:.5em 0}\n"] }]
|
|
2375
2499
|
}], ctorParameters: function () {
|
|
2376
2500
|
return [{ type: ColumnsToggleService }, { type: Window, decorators: [{
|
|
2377
2501
|
type: Inject,
|
|
@@ -2445,6 +2569,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
2445
2569
|
type: Input
|
|
2446
2570
|
}], selectOnClick: [{
|
|
2447
2571
|
type: Input
|
|
2572
|
+
}], selectMultiple: [{
|
|
2573
|
+
type: Input
|
|
2448
2574
|
}], selected: [{
|
|
2449
2575
|
type: Output
|
|
2450
2576
|
}], dataListLabel: [{
|
|
@@ -2479,10 +2605,10 @@ class ExpandedTableRowComponent extends BaseDefaultTableContentComponent {
|
|
|
2479
2605
|
}
|
|
2480
2606
|
}
|
|
2481
2607
|
ExpandedTableRowComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ExpandedTableRowComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2482
|
-
ExpandedTableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ExpandedTableRowComponent, selector: "sfc-expanded-table-row", inputs: { expanded: "expanded", row: "row", content: "content" }, host: { properties: { "class.expanded": "this.expanded" } }, queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], usesInheritance: true, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"content\" (click)=\"expanded = !expanded\">\r\n <sfc-template-content [referenceContent]=\"row\" [templatesContent]=\"templates\"\r\n [templateType]=\"ExpandedTemplate.Row\" [contextData]=\"contextData\">\r\n </sfc-template-content>\r\n </div>\r\n <div class=\"expanded\">\r\n <sfc-template-content [referenceContent]=\"content\" [templatesContent]=\"templates\"\r\n [templateType]=\"ExpandedTemplate.Content\" [contextData]=\"contextData\">\r\n </sfc-template-content>\r\n </div>\r\n</div>", styles: [":host{display:block;width:100%;cursor:pointer;-webkit-user-select:none;user-select:none
|
|
2608
|
+
ExpandedTableRowComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: ExpandedTableRowComponent, selector: "sfc-expanded-table-row", inputs: { expanded: "expanded", row: "row", content: "content" }, host: { properties: { "class.expanded": "this.expanded" } }, queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], usesInheritance: true, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"content\" (click)=\"expanded = !expanded\">\r\n <sfc-template-content [referenceContent]=\"row\" [templatesContent]=\"templates\"\r\n [templateType]=\"ExpandedTemplate.Row\" [contextData]=\"contextData\">\r\n </sfc-template-content>\r\n </div>\r\n <div class=\"expanded\">\r\n <sfc-template-content [referenceContent]=\"content\" [templatesContent]=\"templates\"\r\n [templateType]=\"ExpandedTemplate.Content\" [contextData]=\"contextData\">\r\n </sfc-template-content>\r\n </div>\r\n</div>", styles: [":host{display:block;width:100%;cursor:pointer;-webkit-user-select:none;user-select:none}:host .expanded{max-height:0;overflow:hidden}:host.expanded .expanded{max-height:3000px}\n"], dependencies: [{ kind: "component", type: i3.TemplateContentComponent, selector: "sfc-template-content", inputs: ["contextData", "referenceContent", "templateType", "templatesContent", "defaultContent"] }] });
|
|
2483
2609
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ExpandedTableRowComponent, decorators: [{
|
|
2484
2610
|
type: Component,
|
|
2485
|
-
args: [{ selector: 'sfc-expanded-table-row', template: "<div class=\"container\">\r\n <div class=\"content\" (click)=\"expanded = !expanded\">\r\n <sfc-template-content [referenceContent]=\"row\" [templatesContent]=\"templates\"\r\n [templateType]=\"ExpandedTemplate.Row\" [contextData]=\"contextData\">\r\n </sfc-template-content>\r\n </div>\r\n <div class=\"expanded\">\r\n <sfc-template-content [referenceContent]=\"content\" [templatesContent]=\"templates\"\r\n [templateType]=\"ExpandedTemplate.Content\" [contextData]=\"contextData\">\r\n </sfc-template-content>\r\n </div>\r\n</div>", styles: [":host{display:block;width:100%;cursor:pointer;-webkit-user-select:none;user-select:none
|
|
2611
|
+
args: [{ selector: 'sfc-expanded-table-row', template: "<div class=\"container\">\r\n <div class=\"content\" (click)=\"expanded = !expanded\">\r\n <sfc-template-content [referenceContent]=\"row\" [templatesContent]=\"templates\"\r\n [templateType]=\"ExpandedTemplate.Row\" [contextData]=\"contextData\">\r\n </sfc-template-content>\r\n </div>\r\n <div class=\"expanded\">\r\n <sfc-template-content [referenceContent]=\"content\" [templatesContent]=\"templates\"\r\n [templateType]=\"ExpandedTemplate.Content\" [contextData]=\"contextData\">\r\n </sfc-template-content>\r\n </div>\r\n</div>", styles: [":host{display:block;width:100%;cursor:pointer;-webkit-user-select:none;user-select:none}:host .expanded{max-height:0;overflow:hidden}:host.expanded .expanded{max-height:3000px}\n"] }]
|
|
2486
2612
|
}], propDecorators: { expanded: [{
|
|
2487
2613
|
type: Input
|
|
2488
2614
|
}, {
|
|
@@ -2561,6 +2687,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
2561
2687
|
class CarouselServiceConstants {
|
|
2562
2688
|
}
|
|
2563
2689
|
CarouselServiceConstants.CLONE_ID_PREFIX = 'cloned-';
|
|
2690
|
+
CarouselServiceConstants.DEFAULT_NAV_TEXT = ['prev', 'next'];
|
|
2564
2691
|
CarouselServiceConstants.DEFAULT_OPTIONS = {
|
|
2565
2692
|
items: 3,
|
|
2566
2693
|
skip_validateItems: false,
|
|
@@ -2578,8 +2705,10 @@ CarouselServiceConstants.DEFAULT_OPTIONS = {
|
|
|
2578
2705
|
responsiveRefreshRate: 200,
|
|
2579
2706
|
// defaults to Navigation
|
|
2580
2707
|
nav: false,
|
|
2581
|
-
navText: [
|
|
2708
|
+
navText: [],
|
|
2709
|
+
navIcons: [],
|
|
2582
2710
|
navSpeed: false,
|
|
2711
|
+
navBottom: true,
|
|
2583
2712
|
slideBy: 1,
|
|
2584
2713
|
dots: true,
|
|
2585
2714
|
dotsEach: false,
|
|
@@ -3640,6 +3769,14 @@ class CarouselNavigationService {
|
|
|
3640
3769
|
this.navigationModel.previous.label = this.carouselService.settings.navText[0];
|
|
3641
3770
|
this.navigationModel.next.label = this.carouselService.settings.navText[1];
|
|
3642
3771
|
}
|
|
3772
|
+
if (this.carouselService.settings.navIcons) {
|
|
3773
|
+
this.navigationModel.previous.icon = this.carouselService.settings.navIcons[0];
|
|
3774
|
+
this.navigationModel.next.icon = this.carouselService.settings.navIcons[1];
|
|
3775
|
+
}
|
|
3776
|
+
if (!this.carouselService.settings.navText && !this.carouselService.settings.navIcons) {
|
|
3777
|
+
this.navigationModel.previous.label = CarouselServiceConstants.DEFAULT_NAV_TEXT[0];
|
|
3778
|
+
this.navigationModel.next.label = CarouselServiceConstants.DEFAULT_NAV_TEXT[1];
|
|
3779
|
+
}
|
|
3643
3780
|
this.navigationDotsModel.disabled = true;
|
|
3644
3781
|
this.carouselService.navigationModel = this.navigationModel;
|
|
3645
3782
|
this.carouselService.navigationDotsModel = this.navigationDotsModel;
|
|
@@ -3812,7 +3949,7 @@ class CarouselStageComponent {
|
|
|
3812
3949
|
}
|
|
3813
3950
|
}
|
|
3814
3951
|
CarouselStageComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CarouselStageComponent, deps: [{ token: CarouselService }, { token: CarouselAnimateService }], target: i0.ɵɵFactoryTarget.Component });
|
|
3815
|
-
CarouselStageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CarouselStageComponent, selector: "sfc-carousel-stage", inputs: { stageModel: "stageModel", slidesModel: "slidesModel" }, ngImport: i0, template: "<div class=\"container\" [ngStyle]=\"styles\" (transitionend)=\"onTransitionEnd()\">\r\n <ng-container *ngFor=\"let slide of slidesModel; let i = index\">\r\n <div class=\"item\" [ngClass]=\"slide.classes\" [ngStyle]=\"getItemStyles(slide)\" (animationend)=\"clear(slide.id)\"\r\n [@autoHeight]=\"slide.heightState\">\r\n <ng-template *ngIf=\"slide.load\" [ngTemplateOutlet]=\"slide.tplRef\"\r\n [ngTemplateOutletContext]=\"{ $implicit: preparePublicSlide(slide), index: i }\">\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n</div>", styles: [":host .container{position:relative;touch-action:pan-y;touch-action:manipulation;-webkit-backface-visibility:hidden;backface-visibility:hidden}:host .container:after{content:\".\";display:block;clear:both;visibility:hidden;line-height:0;height:0}:host .container .item{
|
|
3952
|
+
CarouselStageComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CarouselStageComponent, selector: "sfc-carousel-stage", inputs: { stageModel: "stageModel", slidesModel: "slidesModel" }, ngImport: i0, template: "<div class=\"container\" [ngStyle]=\"styles\" (transitionend)=\"onTransitionEnd()\">\r\n <ng-container *ngFor=\"let slide of slidesModel; let i = index\">\r\n <div class=\"item\" [ngClass]=\"slide.classes\" [ngStyle]=\"getItemStyles(slide)\" (animationend)=\"clear(slide.id)\"\r\n [@autoHeight]=\"slide.heightState\">\r\n <ng-template *ngIf=\"slide.load\" [ngTemplateOutlet]=\"slide.tplRef\"\r\n [ngTemplateOutletContext]=\"{ $implicit: preparePublicSlide(slide), index: i }\">\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n</div>", styles: [":host .container{position:relative;touch-action:pan-y;touch-action:manipulation;-webkit-backface-visibility:hidden;backface-visibility:hidden}:host .container:after{content:\".\";display:block;clear:both;visibility:hidden;line-height:0;height:0}:host .container .item{display:grid;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);position:relative;min-height:1px;float:left;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}:host .container .item.center{z-index:5}:host .container .item img{display:block;width:100%}\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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], animations: [
|
|
3816
3953
|
trigger('autoHeight', [
|
|
3817
3954
|
state('nulled', style({ height: 0 })),
|
|
3818
3955
|
state('full', style({ height: '*' })),
|
|
@@ -3837,7 +3974,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
3837
3974
|
animate(350)
|
|
3838
3975
|
]),
|
|
3839
3976
|
])
|
|
3840
|
-
], template: "<div class=\"container\" [ngStyle]=\"styles\" (transitionend)=\"onTransitionEnd()\">\r\n <ng-container *ngFor=\"let slide of slidesModel; let i = index\">\r\n <div class=\"item\" [ngClass]=\"slide.classes\" [ngStyle]=\"getItemStyles(slide)\" (animationend)=\"clear(slide.id)\"\r\n [@autoHeight]=\"slide.heightState\">\r\n <ng-template *ngIf=\"slide.load\" [ngTemplateOutlet]=\"slide.tplRef\"\r\n [ngTemplateOutletContext]=\"{ $implicit: preparePublicSlide(slide), index: i }\">\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n</div>", styles: [":host .container{position:relative;touch-action:pan-y;touch-action:manipulation;-webkit-backface-visibility:hidden;backface-visibility:hidden}:host .container:after{content:\".\";display:block;clear:both;visibility:hidden;line-height:0;height:0}:host .container .item{
|
|
3977
|
+
], template: "<div class=\"container\" [ngStyle]=\"styles\" (transitionend)=\"onTransitionEnd()\">\r\n <ng-container *ngFor=\"let slide of slidesModel; let i = index\">\r\n <div class=\"item\" [ngClass]=\"slide.classes\" [ngStyle]=\"getItemStyles(slide)\" (animationend)=\"clear(slide.id)\"\r\n [@autoHeight]=\"slide.heightState\">\r\n <ng-template *ngIf=\"slide.load\" [ngTemplateOutlet]=\"slide.tplRef\"\r\n [ngTemplateOutletContext]=\"{ $implicit: preparePublicSlide(slide), index: i }\">\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n</div>", styles: [":host .container{position:relative;touch-action:pan-y;touch-action:manipulation;-webkit-backface-visibility:hidden;backface-visibility:hidden}:host .container:after{content:\".\";display:block;clear:both;visibility:hidden;line-height:0;height:0}:host .container .item{display:grid;-webkit-backface-visibility:hidden;backface-visibility:hidden;transform:translateZ(0);position:relative;min-height:1px;float:left;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}:host .container .item.center{z-index:5}:host .container .item img{display:block;width:100%}\n"] }]
|
|
3841
3978
|
}], ctorParameters: function () { return [{ type: CarouselService }, { type: CarouselAnimateService }]; }, propDecorators: { stageModel: [{
|
|
3842
3979
|
type: Input
|
|
3843
3980
|
}], slidesModel: [{
|
|
@@ -3854,6 +3991,8 @@ class CarouselComponent {
|
|
|
3854
3991
|
this.lazyLoadService = lazyLoadService;
|
|
3855
3992
|
this.animateService = animateService;
|
|
3856
3993
|
this.changeDetectorRef = changeDetectorRef;
|
|
3994
|
+
this.ButtonType = ButtonType;
|
|
3995
|
+
this.disabled = false;
|
|
3857
3996
|
this.translated = new EventEmitter();
|
|
3858
3997
|
this.initialized = new EventEmitter();
|
|
3859
3998
|
this.changing = new EventEmitter();
|
|
@@ -3914,6 +4053,7 @@ class CarouselComponent {
|
|
|
3914
4053
|
}
|
|
3915
4054
|
initDataStreams() {
|
|
3916
4055
|
const _viewCurSettings$ = this.carouselService.viewCurrrentSettings.pipe(tap(data => {
|
|
4056
|
+
var _a, _b;
|
|
3917
4057
|
this.carouselDOMModel = data.carouselDOMModel;
|
|
3918
4058
|
this.stageModel = data.stageModel;
|
|
3919
4059
|
this.slidesModel = data.slidesModel;
|
|
@@ -3922,6 +4062,10 @@ class CarouselComponent {
|
|
|
3922
4062
|
}
|
|
3923
4063
|
this.navigationModel = data.navigationModel;
|
|
3924
4064
|
this.navigationDotsModel = data.navigationDotsModel;
|
|
4065
|
+
this.navigationContext = {
|
|
4066
|
+
previous: { model: (_a = this.navigationModel) === null || _a === void 0 ? void 0 : _a.previous, action: this.previous.bind(this) },
|
|
4067
|
+
next: { model: (_b = this.navigationModel) === null || _b === void 0 ? void 0 : _b.next, action: this.next.bind(this) }
|
|
4068
|
+
};
|
|
3925
4069
|
this.changeDetectorRef.markForCheck();
|
|
3926
4070
|
}));
|
|
3927
4071
|
const _initializedCarousel$ = this.carouselService.initializedState.pipe(tap(() => {
|
|
@@ -4015,13 +4159,13 @@ class CarouselComponent {
|
|
|
4015
4159
|
}
|
|
4016
4160
|
}
|
|
4017
4161
|
CarouselComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CarouselComponent, deps: [{ token: i0.ElementRef }, { token: i3.ResizeService }, { token: CarouselService }, { token: CarouselNavigationService }, { token: CarouselAutoplayService }, { token: CarouselLazyLoadService }, { token: CarouselAnimateService }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
4018
|
-
CarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CarouselComponent, selector: "sfc-carousel", inputs: { options: "options" }, outputs: { translated: "translated", initialized: "initialized", changing: "changing", changed: "changed" }, host: { listeners: { "document:visibilitychange": "onVisibilityChange()" }, properties: { "class.rtl": "this.rtl" } }, providers: [
|
|
4162
|
+
CarouselComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CarouselComponent, selector: "sfc-carousel", inputs: { options: "options", disabled: "disabled" }, outputs: { translated: "translated", initialized: "initialized", changing: "changing", changed: "changed" }, host: { listeners: { "document:visibilitychange": "onVisibilityChange()" }, properties: { "class.rtl": "this.rtl" } }, providers: [
|
|
4019
4163
|
CarouselNavigationService,
|
|
4020
4164
|
CarouselAutoplayService,
|
|
4021
4165
|
CarouselService,
|
|
4022
4166
|
CarouselAnimateService,
|
|
4023
4167
|
CarouselLazyLoadService
|
|
4024
|
-
], queries: [{ propertyName: "slides", predicate: CarouselSlideDirective }], ngImport: i0, template: "<div class=\"container\" (mouseover)=\"pause()\" (mouseleave)=\"play()\">\r\n <div *ngIf=\"carouselLoaded\" class=\"stage\">\r\n
|
|
4168
|
+
], queries: [{ propertyName: "slides", predicate: CarouselSlideDirective, descendants: true }], ngImport: i0, template: "<div class=\"container\" (mouseover)=\"pause()\" (mouseleave)=\"play()\">\r\n <div class=\"upside\">\r\n <ng-container *ngIf=\"slides.toArray().length && !options.navBottom\">\r\n <div class=\"navigation\" [class.disabled]=\"navigationModel.disabled\">\r\n <ng-container *ngTemplateOutlet=\"navigationAction;context:{$implicit: navigationContext.previous}\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <div *ngIf=\"carouselLoaded\" class=\"stage\">\r\n <sfc-carousel-stage [stageModel]=\"stageModel\" [slidesModel]=\"slidesModel\"></sfc-carousel-stage>\r\n </div>\r\n\r\n <ng-container *ngIf=\"slides.toArray().length && !options.navBottom\">\r\n <div class=\"navigation\" [class.disabled]=\"navigationModel.disabled\">\r\n <ng-container *ngTemplateOutlet=\"navigationAction;context:{$implicit: navigationContext.next}\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"downside\">\r\n <ng-container *ngIf=\"slides.toArray().length\">\r\n <div class=\"navigation\" *ngIf=\"options.navBottom\" [class.disabled]=\"navigationModel.disabled\">\r\n <ng-container *ngTemplateOutlet=\"navigationAction;context:{$implicit: navigationContext.previous}\">\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"navigationAction;context:{$implicit: navigationContext.next}\">\r\n </ng-container>\r\n </div>\r\n <div class=\"dots\" *ngIf=\"!navigationDotsModel.disabled\">\r\n <sfc-dot *ngFor=\"let dot of navigationDotsModel?.dots\" [disabled]=\"disabled\" [active]=\"dot.active\"\r\n (click)=\"moveByDot(dot.id)\">\r\n </sfc-dot>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-template #navigationAction let-context>\r\n <sfc-button [disabled]=\"disabled\" [text]=\"context.model?.label\" [iconBefore]=\"context.model?.icon\"\r\n [types]=\"[ButtonType.Rounded]\" (click)=\"context.action()\">\r\n </sfc-button>\r\n </ng-template>\r\n</div>", styles: [":host .container .navigation{text-align:center;align-self:stretch;-webkit-tap-highlight-color:transparent}:host .container .navigation sfc-button{font-size:.6em;height:-webkit-fill-available;height:-moz-available;height:stretch}:host .container .navigation sfc-button ::ng-deep>.button{height:inherit}:host .container .navigation.disabled{display:none}:host .container .upside{display:flex;align-items:center;width:100%;-webkit-tap-highlight-color:transparent;position:relative;z-index:1}:host .container .upside .stage{position:relative;overflow:hidden;transform:translateZ(0)}:host .container .downside .dots{text-align:center;-webkit-tap-highlight-color:transparent}:host .container .downside .dots sfc-dot{cursor:pointer;zoom:1;-webkit-user-select:none;user-select:none;margin:5px 7px;transition:background .5s ease}:host .container .downside .dots sfc-dot,:host-context(.sfc-default-theme) :host .container .downside .dots sfc-dot{background:#d8d7d7}:host-context(.sfc-dark-theme) :host .container .downside .dots sfc-dot{background:#656d78}:host .container .downside .dots sfc-dot.active,:host .container .downside .dots sfc-dot:hover{transition:background .5s ease}:host .container .downside .dots sfc-dot.active,:host-context(.sfc-default-theme) :host .container .downside .dots sfc-dot.active,:host .container .downside .dots sfc-dot:hover,:host-context(.sfc-default-theme) :host .container .downside .dots sfc-dot:hover{background:#656d78}:host-context(.sfc-dark-theme) :host .container .downside .dots sfc-dot.active,:host-context(.sfc-dark-theme) :host .container .downside .dots sfc-dot:hover{background:#f6f6f6}:host .container .downside .navigation{margin:.5em 0}:host .container .downside .navigation sfc-button{margin:0 .5em}:host .container .downside .navigation.disabled+.dots{margin-top:10px}:host .container .downside:not(:empty){margin-top:1em}:host.rtl .container{direction:rtl}\n"], dependencies: [{ 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: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "sfc-button", inputs: ["text", "iconBefore", "iconAfter", "disabled", "types"] }, { kind: "component", type: i3.DotComponent, selector: "sfc-dot", inputs: ["active", "disabled"] }, { kind: "component", type: CarouselStageComponent, selector: "sfc-carousel-stage", inputs: ["stageModel", "slidesModel"] }] });
|
|
4025
4169
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CarouselComponent, decorators: [{
|
|
4026
4170
|
type: Component,
|
|
4027
4171
|
args: [{ selector: 'sfc-carousel', providers: [
|
|
@@ -4030,7 +4174,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
4030
4174
|
CarouselService,
|
|
4031
4175
|
CarouselAnimateService,
|
|
4032
4176
|
CarouselLazyLoadService
|
|
4033
|
-
], template: "<div class=\"container\" (mouseover)=\"pause()\" (mouseleave)=\"play()\">\r\n <div *ngIf=\"carouselLoaded\" class=\"stage\">\r\n
|
|
4177
|
+
], template: "<div class=\"container\" (mouseover)=\"pause()\" (mouseleave)=\"play()\">\r\n <div class=\"upside\">\r\n <ng-container *ngIf=\"slides.toArray().length && !options.navBottom\">\r\n <div class=\"navigation\" [class.disabled]=\"navigationModel.disabled\">\r\n <ng-container *ngTemplateOutlet=\"navigationAction;context:{$implicit: navigationContext.previous}\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n\r\n <div *ngIf=\"carouselLoaded\" class=\"stage\">\r\n <sfc-carousel-stage [stageModel]=\"stageModel\" [slidesModel]=\"slidesModel\"></sfc-carousel-stage>\r\n </div>\r\n\r\n <ng-container *ngIf=\"slides.toArray().length && !options.navBottom\">\r\n <div class=\"navigation\" [class.disabled]=\"navigationModel.disabled\">\r\n <ng-container *ngTemplateOutlet=\"navigationAction;context:{$implicit: navigationContext.next}\">\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"downside\">\r\n <ng-container *ngIf=\"slides.toArray().length\">\r\n <div class=\"navigation\" *ngIf=\"options.navBottom\" [class.disabled]=\"navigationModel.disabled\">\r\n <ng-container *ngTemplateOutlet=\"navigationAction;context:{$implicit: navigationContext.previous}\">\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"navigationAction;context:{$implicit: navigationContext.next}\">\r\n </ng-container>\r\n </div>\r\n <div class=\"dots\" *ngIf=\"!navigationDotsModel.disabled\">\r\n <sfc-dot *ngFor=\"let dot of navigationDotsModel?.dots\" [disabled]=\"disabled\" [active]=\"dot.active\"\r\n (click)=\"moveByDot(dot.id)\">\r\n </sfc-dot>\r\n </div>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-template #navigationAction let-context>\r\n <sfc-button [disabled]=\"disabled\" [text]=\"context.model?.label\" [iconBefore]=\"context.model?.icon\"\r\n [types]=\"[ButtonType.Rounded]\" (click)=\"context.action()\">\r\n </sfc-button>\r\n </ng-template>\r\n</div>", styles: [":host .container .navigation{text-align:center;align-self:stretch;-webkit-tap-highlight-color:transparent}:host .container .navigation sfc-button{font-size:.6em;height:-webkit-fill-available;height:-moz-available;height:stretch}:host .container .navigation sfc-button ::ng-deep>.button{height:inherit}:host .container .navigation.disabled{display:none}:host .container .upside{display:flex;align-items:center;width:100%;-webkit-tap-highlight-color:transparent;position:relative;z-index:1}:host .container .upside .stage{position:relative;overflow:hidden;transform:translateZ(0)}:host .container .downside .dots{text-align:center;-webkit-tap-highlight-color:transparent}:host .container .downside .dots sfc-dot{cursor:pointer;zoom:1;-webkit-user-select:none;user-select:none;margin:5px 7px;transition:background .5s ease}:host .container .downside .dots sfc-dot,:host-context(.sfc-default-theme) :host .container .downside .dots sfc-dot{background:#d8d7d7}:host-context(.sfc-dark-theme) :host .container .downside .dots sfc-dot{background:#656d78}:host .container .downside .dots sfc-dot.active,:host .container .downside .dots sfc-dot:hover{transition:background .5s ease}:host .container .downside .dots sfc-dot.active,:host-context(.sfc-default-theme) :host .container .downside .dots sfc-dot.active,:host .container .downside .dots sfc-dot:hover,:host-context(.sfc-default-theme) :host .container .downside .dots sfc-dot:hover{background:#656d78}:host-context(.sfc-dark-theme) :host .container .downside .dots sfc-dot.active,:host-context(.sfc-dark-theme) :host .container .downside .dots sfc-dot:hover{background:#f6f6f6}:host .container .downside .navigation{margin:.5em 0}:host .container .downside .navigation sfc-button{margin:0 .5em}:host .container .downside .navigation.disabled+.dots{margin-top:10px}:host .container .downside:not(:empty){margin-top:1em}:host.rtl .container{direction:rtl}\n"] }]
|
|
4034
4178
|
}], ctorParameters: function () {
|
|
4035
4179
|
return [{ type: i0.ElementRef }, { type: i3.ResizeService }, { type: CarouselService }, { type: CarouselNavigationService }, { type: CarouselAutoplayService }, { type: CarouselLazyLoadService }, { type: CarouselAnimateService }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
|
|
4036
4180
|
type: Inject,
|
|
@@ -4038,6 +4182,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
4038
4182
|
}] }];
|
|
4039
4183
|
}, propDecorators: { options: [{
|
|
4040
4184
|
type: Input
|
|
4185
|
+
}], disabled: [{
|
|
4186
|
+
type: Input
|
|
4041
4187
|
}], translated: [{
|
|
4042
4188
|
type: Output
|
|
4043
4189
|
}], initialized: [{
|
|
@@ -4048,7 +4194,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
4048
4194
|
type: Output
|
|
4049
4195
|
}], slides: [{
|
|
4050
4196
|
type: ContentChildren,
|
|
4051
|
-
args: [CarouselSlideDirective]
|
|
4197
|
+
args: [CarouselSlideDirective, { descendants: true }]
|
|
4052
4198
|
}], rtl: [{
|
|
4053
4199
|
type: HostBinding,
|
|
4054
4200
|
args: ['class.rtl']
|
|
@@ -4078,6 +4224,8 @@ NgxSfcComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
|
|
|
4078
4224
|
DropdownMenuItemComponent,
|
|
4079
4225
|
NavigationMenuComponent,
|
|
4080
4226
|
NavigationMenuItemComponent,
|
|
4227
|
+
RouterMenuComponent,
|
|
4228
|
+
RouterMenuItemComponent,
|
|
4081
4229
|
// Stars
|
|
4082
4230
|
StarsComponent,
|
|
4083
4231
|
// Avatar
|
|
@@ -4129,6 +4277,7 @@ NgxSfcComponentsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0",
|
|
|
4129
4277
|
SideMenuComponent,
|
|
4130
4278
|
DropdownMenuComponent,
|
|
4131
4279
|
NavigationMenuComponent,
|
|
4280
|
+
RouterMenuComponent,
|
|
4132
4281
|
// Stars
|
|
4133
4282
|
StarsComponent,
|
|
4134
4283
|
// Avatar
|
|
@@ -4177,6 +4326,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
4177
4326
|
DropdownMenuItemComponent,
|
|
4178
4327
|
NavigationMenuComponent,
|
|
4179
4328
|
NavigationMenuItemComponent,
|
|
4329
|
+
RouterMenuComponent,
|
|
4330
|
+
RouterMenuItemComponent,
|
|
4180
4331
|
// Stars
|
|
4181
4332
|
StarsComponent,
|
|
4182
4333
|
// Avatar
|
|
@@ -4232,6 +4383,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
4232
4383
|
SideMenuComponent,
|
|
4233
4384
|
DropdownMenuComponent,
|
|
4234
4385
|
NavigationMenuComponent,
|
|
4386
|
+
RouterMenuComponent,
|
|
4235
4387
|
// Stars
|
|
4236
4388
|
StarsComponent,
|
|
4237
4389
|
// Avatar
|
|
@@ -4268,5 +4420,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImpor
|
|
|
4268
4420
|
* Generated bundle index. Do not edit.
|
|
4269
4421
|
*/
|
|
4270
4422
|
|
|
4271
|
-
export { AvatarBadgePosition, AvatarComponent, CarouselComponent, CarouselSlideDirective, ChartComponent, ChartThemeService, ColumnsToggleComponent, DefaultTableCardComponent, DefaultTableColumnComponent, DefaultTableRowComponent, DropdownMenuComponent, ExpandedTableRowComponent, ExpandedTableRowTemplate, NavigationMenuComponent, NgxSfcComponentsModule, NotificationComponent, NotificationTemplate, NotificationType, ProgressCircleComponent, ProgressLineComponent, ProgressSemiCircleComponent, SelectableTableColumnComponent, SideMenuComponent, SideMenuItemType, SliderComponent, SliderType, StarsComponent, TabLabelIconComponent, TabLabelIconSliderComponent, TabLabelLineComponent, TabLabelLineSliderComponent, TableColumnType, TableComponent, TableDataType, TableSelectService, TableTemplate, TabsComponent, TabsTemplate, TagsComponent, TimelineComponent, TimelineItemPosition, getProgressColorDefaultFunc, getProgressColorDynamicallyFunc };
|
|
4423
|
+
export { AvatarBadgePosition, AvatarComponent, CarouselComponent, CarouselSlideDirective, ChartComponent, ChartThemeService, ColumnsToggleComponent, DefaultTableCardComponent, DefaultTableColumnComponent, DefaultTableRowComponent, DropdownMenuComponent, ExpandedTableRowComponent, ExpandedTableRowTemplate, NavigationMenuComponent, NgxSfcComponentsModule, NotificationComponent, NotificationTemplate, NotificationType, ProgressCircleComponent, ProgressColor, ProgressLineComponent, ProgressSemiCircleComponent, RouterMenuComponent, SelectableTableColumnComponent, SideMenuComponent, SideMenuItemType, SliderComponent, SliderType, StarsComponent, TabLabelIconComponent, TabLabelIconSliderComponent, TabLabelLineComponent, TabLabelLineSliderComponent, TableColumnType, TableComponent, TableDataType, TableSelectService, TableTemplate, TabsComponent, TabsTemplate, TagsComponent, TimelineComponent, TimelineItemPosition, getProgressColorDefaultFunc, getProgressColorDynamicallyFunc };
|
|
4272
4424
|
//# sourceMappingURL=ngx-sfc-components.mjs.map
|