ngx-sfc-common 0.0.4 → 0.0.5
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/_ngx-sfc-common.styles.scss +25 -0
- package/esm2020/lib/components/button/button.component.mjs +7 -6
- package/esm2020/lib/components/checkmark/checkmark-type.enum.mjs +6 -0
- package/esm2020/lib/components/checkmark/checkmark.component.mjs +21 -8
- package/esm2020/lib/components/index.mjs +7 -2
- package/esm2020/lib/components/load-container/load-container.component.mjs +161 -0
- package/esm2020/lib/components/load-container/load-container.constants.mjs +5 -0
- package/esm2020/lib/components/load-container/load-container.enum.mjs +6 -0
- package/esm2020/lib/components/load-container/models/load-container.model.mjs +2 -0
- package/esm2020/lib/components/load-container/models/load-more-parameters.model.mjs +2 -0
- package/esm2020/lib/components/load-container/models/load-more.model.mjs +2 -0
- package/esm2020/lib/components/load-container/service/load-more.service.mjs +27 -0
- package/esm2020/lib/components/load-more-button/load-more-button.component.mjs +31 -0
- package/esm2020/lib/components/loader/service/loader.service.mjs +4 -4
- package/esm2020/lib/components/modal/directive/click/modal-open-on-click.directive.mjs +48 -0
- package/esm2020/lib/components/modal/directive/open/modal-open.directive.mjs +29 -0
- package/esm2020/lib/components/modal/footer/default/default-modal-footer.component.mjs +1 -1
- package/esm2020/lib/components/modal/modal.component.mjs +3 -3
- package/esm2020/lib/components/modal/service/modal.service.mjs +1 -1
- package/esm2020/lib/components/toggle-switcher/toggle-switcher.component.mjs +9 -3
- package/esm2020/lib/constants/common.constants.mjs +2 -1
- package/esm2020/lib/constants/date-time.constants.mjs +3 -1
- package/esm2020/lib/constants/file.constants.mjs +2 -0
- package/esm2020/lib/constants/index.mjs +1 -1
- package/esm2020/lib/directives/component-size/component-size.directive.mjs +23 -10
- package/esm2020/lib/directives/dom-changes/dom-changes.directive.mjs +32 -0
- package/esm2020/lib/directives/index.mjs +4 -1
- package/esm2020/lib/directives/scroll-into-view/scroll-into-view.directive.mjs +29 -0
- package/esm2020/lib/directives/scroll-tracker/scroll-tracker.directive.mjs +39 -0
- package/esm2020/lib/enums/index.mjs +2 -1
- package/esm2020/lib/enums/sequence.enum.mjs +9 -0
- package/esm2020/lib/enums/ui.enum.mjs +4 -1
- package/esm2020/lib/ngx-sfc-common.module.mjs +41 -8
- package/esm2020/lib/pipes/index.mjs +2 -0
- package/esm2020/lib/pipes/switch-multi-case/switch-multi-case.pipe.mjs +16 -0
- package/esm2020/lib/utils/collections.utils.mjs +30 -3
- package/esm2020/lib/utils/common.utils.mjs +9 -2
- package/esm2020/lib/utils/date-time.utils.mjs +57 -10
- package/esm2020/lib/utils/file.utils.mjs +4 -3
- package/esm2020/lib/utils/index.mjs +5 -5
- package/esm2020/lib/utils/ui.utils.mjs +9 -1
- package/esm2020/public-api.mjs +2 -1
- package/fesm2015/ngx-sfc-common.mjs +558 -52
- package/fesm2015/ngx-sfc-common.mjs.map +1 -1
- package/fesm2020/ngx-sfc-common.mjs +558 -52
- package/fesm2020/ngx-sfc-common.mjs.map +1 -1
- package/lib/components/checkmark/checkmark-type.enum.d.ts +4 -0
- package/lib/components/checkmark/checkmark.component.d.ts +5 -2
- package/lib/components/index.d.ts +11 -1
- package/lib/components/load-container/load-container.component.d.ts +49 -0
- package/lib/components/load-container/load-container.constants.d.ts +4 -0
- package/lib/components/load-container/load-container.enum.d.ts +4 -0
- package/lib/components/load-container/models/load-container.model.d.ts +11 -0
- package/lib/components/load-container/models/load-more-parameters.model.d.ts +4 -0
- package/lib/components/load-container/models/load-more.model.d.ts +4 -0
- package/lib/components/load-container/service/load-more.service.d.ts +12 -0
- package/lib/components/load-more-button/load-more-button.component.d.ts +12 -0
- package/lib/components/modal/directive/{modal-open-on-click.directive.d.ts → click/modal-open-on-click.directive.d.ts} +1 -1
- package/lib/components/modal/directive/open/modal-open.directive.d.ts +14 -0
- package/lib/components/modal/service/modal.service.d.ts +1 -1
- package/lib/components/toggle-switcher/toggle-switcher.component.d.ts +2 -1
- package/lib/constants/common.constants.d.ts +1 -0
- package/lib/constants/date-time.constants.d.ts +2 -0
- package/lib/constants/file.constants.d.ts +1 -0
- package/lib/constants/index.d.ts +1 -0
- package/lib/directives/component-size/component-size.directive.d.ts +7 -2
- package/lib/directives/dom-changes/dom-changes.directive.d.ts +12 -0
- package/lib/directives/index.d.ts +3 -0
- package/lib/directives/scroll-into-view/scroll-into-view.directive.d.ts +7 -0
- package/lib/directives/scroll-tracker/scroll-tracker.directive.d.ts +11 -0
- package/lib/enums/index.d.ts +1 -0
- package/lib/enums/sequence.enum.d.ts +7 -0
- package/lib/enums/ui.enum.d.ts +4 -1
- package/lib/ngx-sfc-common.module.d.ts +28 -21
- package/lib/pipes/index.d.ts +1 -0
- package/lib/pipes/switch-multi-case/switch-multi-case.pipe.d.ts +7 -0
- package/lib/utils/collections.utils.d.ts +16 -2
- package/lib/utils/common.utils.d.ts +5 -0
- package/lib/utils/date-time.utils.d.ts +26 -0
- package/lib/utils/index.d.ts +4 -4
- package/lib/utils/ui.utils.d.ts +6 -0
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
- package/esm2020/lib/components/modal/directive/modal-open-on-click.directive.mjs +0 -50
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { InjectionToken, Injectable, PLATFORM_ID, EventEmitter, Directive, Inject, Input, Output, HostListener, Component, HostBinding, ContentChildren, NgModule } from '@angular/core';
|
|
2
|
+
import { InjectionToken, Injectable, PLATFORM_ID, EventEmitter, Directive, Inject, Input, Output, HostListener, Pipe, Component, HostBinding, ContentChildren, ViewChild, NgModule } from '@angular/core';
|
|
3
3
|
import * as i1$2 from '@angular/common';
|
|
4
4
|
import { isPlatformBrowser, CommonModule } from '@angular/common';
|
|
5
5
|
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
|
|
6
|
-
import { Subject, fromEvent, Observable, startWith, BehaviorSubject, filter, distinctUntilChanged, map, EMPTY, combineLatest } from 'rxjs';
|
|
7
|
-
import * as i1 from '@angular/platform-browser';
|
|
8
6
|
import * as i1$1 from '@fortawesome/angular-fontawesome';
|
|
9
7
|
import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
|
|
8
|
+
import { Subject, fromEvent, Observable, startWith, BehaviorSubject, filter, distinctUntilChanged, map, EMPTY, combineLatest, tap, switchMap, withLatestFrom, of } from 'rxjs';
|
|
9
|
+
import * as i1 from '@angular/platform-browser';
|
|
10
10
|
import { trigger, state, style, transition, group, query, animate, animateChild } from '@angular/animations';
|
|
11
|
-
import { faTimes, faWindowRestore, faCheck, faChevronLeft, faChevronRight, faChevronUp, faChevronDown } from '@fortawesome/free-solid-svg-icons';
|
|
11
|
+
import { faTimes, faWindowRestore, faCheck, faChevronLeft, faChevronRight, faChevronUp, faChevronDown, faChevronCircleDown } from '@fortawesome/free-solid-svg-icons';
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* Component sizes
|
|
@@ -78,6 +78,7 @@ var UIClass;
|
|
|
78
78
|
UIClass["Active"] = "active";
|
|
79
79
|
UIClass["Valid"] = "valid";
|
|
80
80
|
UIClass["Invalid"] = "invalid";
|
|
81
|
+
UIClass["InnerInvalid"] = "inner-invalid";
|
|
81
82
|
UIClass["Enabled"] = "enabled";
|
|
82
83
|
UIClass["Disabled"] = "disabled";
|
|
83
84
|
UIClass["Selected"] = "selected";
|
|
@@ -94,9 +95,20 @@ var UIClass;
|
|
|
94
95
|
UIClass["Bordered"] = "bordered";
|
|
95
96
|
UIClass["Even"] = "even";
|
|
96
97
|
UIClass["Pointer"] = "pointer";
|
|
98
|
+
UIClass["Default"] = "default";
|
|
99
|
+
UIClass["Initialization"] = "initialization";
|
|
97
100
|
})(UIClass || (UIClass = {}));
|
|
98
101
|
;
|
|
99
102
|
|
|
103
|
+
/**
|
|
104
|
+
* Sequence types
|
|
105
|
+
*/
|
|
106
|
+
var Sequence;
|
|
107
|
+
(function (Sequence) {
|
|
108
|
+
Sequence["Previous"] = "previous";
|
|
109
|
+
Sequence["Next"] = "next";
|
|
110
|
+
})(Sequence || (Sequence = {}));
|
|
111
|
+
|
|
100
112
|
/**
|
|
101
113
|
* Create a new injection token for injecting the Document into a component.
|
|
102
114
|
*/
|
|
@@ -338,12 +350,15 @@ class CommonConstants {
|
|
|
338
350
|
CommonConstants.NOT_FOUND_INDEX = -1;
|
|
339
351
|
CommonConstants.EMPTY_STRING = '';
|
|
340
352
|
CommonConstants.MOUSE_BUTTON_LEFT = 0;
|
|
341
|
-
CommonConstants.FULL_PERCENTAGE = 100;
|
|
353
|
+
CommonConstants.FULL_PERCENTAGE = 100;
|
|
354
|
+
CommonConstants.COMMON_TEXT_DELIMETER = '/';
|
|
342
355
|
|
|
343
356
|
class DateTimeConstants {
|
|
344
357
|
}
|
|
345
358
|
DateTimeConstants.DAYS_IN_WEEK = 7;
|
|
346
359
|
DateTimeConstants.HOURS_IN_SHORT_TIME = 12;
|
|
360
|
+
DateTimeConstants.HOURS_IN_TIME = 24;
|
|
361
|
+
DateTimeConstants.MIDNIGHT_HOUR = 0;
|
|
347
362
|
DateTimeConstants.MINUTES_IN_HOUR = 60;
|
|
348
363
|
DateTimeConstants.DAYS_OF_WEEK = ["S", "M", "T", "W", "T", "F", "S"];
|
|
349
364
|
DateTimeConstants.DAYS_OF_WEEK_3 = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
|
|
@@ -438,7 +453,7 @@ function isAsyncData(data) {
|
|
|
438
453
|
* @returns Extended object with new property
|
|
439
454
|
*/
|
|
440
455
|
function addPropertyToObject(obj, property, value = null) {
|
|
441
|
-
if (
|
|
456
|
+
if (isDefined(property) && !obj.hasOwnProperty(property)) {
|
|
442
457
|
let newObj = {};
|
|
443
458
|
newObj[property] = value;
|
|
444
459
|
obj = Object.assign(Object.assign({}, obj), newObj);
|
|
@@ -497,6 +512,13 @@ const nameof = (name) => name;
|
|
|
497
512
|
*/
|
|
498
513
|
function isNumeric(number) {
|
|
499
514
|
return !isNaN(parseFloat(number));
|
|
515
|
+
}
|
|
516
|
+
/**
|
|
517
|
+
* Return true if current browser is Chrome
|
|
518
|
+
* @returns If current browser is Chrome
|
|
519
|
+
*/
|
|
520
|
+
function isChromeBrowser() {
|
|
521
|
+
return /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
|
|
500
522
|
}
|
|
501
523
|
|
|
502
524
|
/**
|
|
@@ -535,8 +557,9 @@ function trim(value) {
|
|
|
535
557
|
* @returns Date with minute value
|
|
536
558
|
*/
|
|
537
559
|
function setMinutes(date, minute) {
|
|
538
|
-
date
|
|
539
|
-
|
|
560
|
+
const result = new Date(date);
|
|
561
|
+
result.setMinutes(minute);
|
|
562
|
+
return result;
|
|
540
563
|
}
|
|
541
564
|
/**
|
|
542
565
|
* Set hours for date
|
|
@@ -545,8 +568,9 @@ function setMinutes(date, minute) {
|
|
|
545
568
|
* @returns Date with hour value
|
|
546
569
|
*/
|
|
547
570
|
function setHours(date, hour) {
|
|
548
|
-
date
|
|
549
|
-
|
|
571
|
+
const result = new Date(date);
|
|
572
|
+
result.setHours(hour);
|
|
573
|
+
return result;
|
|
550
574
|
}
|
|
551
575
|
/**
|
|
552
576
|
* Set day for date value
|
|
@@ -566,8 +590,52 @@ function setDay(date, dayNumber) {
|
|
|
566
590
|
* @returns Date with year value
|
|
567
591
|
*/
|
|
568
592
|
function setYear(date, year) {
|
|
569
|
-
date
|
|
570
|
-
|
|
593
|
+
const result = new Date(date);
|
|
594
|
+
result.setFullYear(year);
|
|
595
|
+
return result;
|
|
596
|
+
}
|
|
597
|
+
/**
|
|
598
|
+
* Set seconds for date
|
|
599
|
+
* @param date Date value
|
|
600
|
+
* @param value Seconds value
|
|
601
|
+
* @returns Date with minute value
|
|
602
|
+
*/
|
|
603
|
+
function setSeconds(date, value) {
|
|
604
|
+
const result = new Date(date);
|
|
605
|
+
result.setSeconds(value);
|
|
606
|
+
return result;
|
|
607
|
+
}
|
|
608
|
+
/**
|
|
609
|
+
* Set milliseconds for date
|
|
610
|
+
* @param date Date value
|
|
611
|
+
* @param value Milliseconds value
|
|
612
|
+
* @returns Date with minute value
|
|
613
|
+
*/
|
|
614
|
+
function setMilliseconds(date, value) {
|
|
615
|
+
const result = new Date(date);
|
|
616
|
+
result.setMilliseconds(value);
|
|
617
|
+
return result;
|
|
618
|
+
}
|
|
619
|
+
/**
|
|
620
|
+
* Set 0 for seconds and milliseconds of date
|
|
621
|
+
* @param date Date value
|
|
622
|
+
* @returns Date with minute value
|
|
623
|
+
*/
|
|
624
|
+
function setDefaultSecondsAndMiliseconds(date) {
|
|
625
|
+
const result = new Date(date);
|
|
626
|
+
result.setSeconds(0);
|
|
627
|
+
result.setMilliseconds(0);
|
|
628
|
+
return result;
|
|
629
|
+
}
|
|
630
|
+
/**
|
|
631
|
+
* Get next date
|
|
632
|
+
* @param date Date value
|
|
633
|
+
* @returns Next date
|
|
634
|
+
*/
|
|
635
|
+
function getNextDate(date) {
|
|
636
|
+
const nextDate = new Date(date);
|
|
637
|
+
nextDate.setDate(date.getDate() + 1);
|
|
638
|
+
return nextDate;
|
|
571
639
|
}
|
|
572
640
|
/**
|
|
573
641
|
* Get next month as date
|
|
@@ -689,9 +757,10 @@ function getWeeksNumberInMonth(date) {
|
|
|
689
757
|
* @returns True if first and second date are equal
|
|
690
758
|
*/
|
|
691
759
|
function isEqualDates(date1, date2) {
|
|
692
|
-
date1
|
|
693
|
-
|
|
694
|
-
|
|
760
|
+
const date1Value = new Date(date1), date2Value = new Date(date2);
|
|
761
|
+
date1Value.setHours(0, 0, 0, 0);
|
|
762
|
+
date2Value.setHours(0, 0, 0, 0);
|
|
763
|
+
return date1Value.getTime() === date2Value.getTime();
|
|
695
764
|
}
|
|
696
765
|
/**
|
|
697
766
|
* Return true if first date greater than second date
|
|
@@ -773,7 +842,8 @@ function readAsDataURL(file, onLoad) {
|
|
|
773
842
|
reader.onload = () => onLoad(reader.result);
|
|
774
843
|
reader.readAsDataURL(file);
|
|
775
844
|
}
|
|
776
|
-
|
|
845
|
+
else
|
|
846
|
+
throw new Error('File utils | Read as data URL function --> File is empty.');
|
|
777
847
|
}
|
|
778
848
|
/**
|
|
779
849
|
* Return true if file is image
|
|
@@ -781,7 +851,7 @@ function readAsDataURL(file, onLoad) {
|
|
|
781
851
|
* @returns True if file is image
|
|
782
852
|
*/
|
|
783
853
|
function isImage(file) {
|
|
784
|
-
return (/\.(gif|jpe?g|jpg|tiff|png|webp|bmp)$/i).test(file.name);
|
|
854
|
+
return isDefined(file) && (/\.(gif|jpe?g|jpg|tiff|png|webp|bmp)$/i).test(file.name);
|
|
785
855
|
}
|
|
786
856
|
|
|
787
857
|
/**
|
|
@@ -809,6 +879,14 @@ function getValueFromCssLikeValue(value, type = UIConstants.CSS_PIXELS) {
|
|
|
809
879
|
function getCalcValue(part, value = 100) {
|
|
810
880
|
return `calc(${value}${UIConstants.CSS_PERCENTAGE} / ${part} )`;
|
|
811
881
|
}
|
|
882
|
+
/**
|
|
883
|
+
* Return CCS like rotate value
|
|
884
|
+
* @param value value as degrees
|
|
885
|
+
* @returns Rotate value
|
|
886
|
+
*/
|
|
887
|
+
function getRotateValue(value) {
|
|
888
|
+
return `rotate(${value}deg)`;
|
|
889
|
+
}
|
|
812
890
|
/**
|
|
813
891
|
* Add classes to HTML element
|
|
814
892
|
* @param element HTML element
|
|
@@ -961,6 +1039,14 @@ function skip(collection, page, size) {
|
|
|
961
1039
|
}
|
|
962
1040
|
return collection;
|
|
963
1041
|
}
|
|
1042
|
+
function sort(collection, direction = SortingDirection.Ascending) {
|
|
1043
|
+
if (any(collection)) {
|
|
1044
|
+
return direction == SortingDirection.Ascending
|
|
1045
|
+
? collection.sort((a, b) => a - b)
|
|
1046
|
+
: collection.sort((a, b) => b - a);
|
|
1047
|
+
}
|
|
1048
|
+
return collection;
|
|
1049
|
+
}
|
|
964
1050
|
/**
|
|
965
1051
|
* Return sorted collection of objects by property
|
|
966
1052
|
* @param collection Array of items
|
|
@@ -1069,13 +1155,26 @@ function addItem(collection, item, predicate) {
|
|
|
1069
1155
|
collection.push(item);
|
|
1070
1156
|
return true;
|
|
1071
1157
|
}
|
|
1158
|
+
/**
|
|
1159
|
+
* Delete item from collection
|
|
1160
|
+
* @param collection Array of items
|
|
1161
|
+
* @param item Item to delete
|
|
1162
|
+
* @returns True if successfully removed
|
|
1163
|
+
*/
|
|
1164
|
+
function removeItem(collection, item) {
|
|
1165
|
+
if (isDefined(item) && hasItem(collection, item)) {
|
|
1166
|
+
collection.splice(collection.indexOf(item), 1);
|
|
1167
|
+
return true;
|
|
1168
|
+
}
|
|
1169
|
+
return false;
|
|
1170
|
+
}
|
|
1072
1171
|
/**
|
|
1073
1172
|
* Delete item from collection by predicate
|
|
1074
1173
|
* @param collection Array of items
|
|
1075
1174
|
* @param predicate Function to define remove logic
|
|
1076
1175
|
* @returns True if successfully removed
|
|
1077
1176
|
*/
|
|
1078
|
-
function
|
|
1177
|
+
function removeItemBy(collection, predicate) {
|
|
1079
1178
|
const foundItem = firstOrDefault(collection, predicate);
|
|
1080
1179
|
if (isDefined(foundItem)) {
|
|
1081
1180
|
collection.splice(collection.indexOf(foundItem), 1);
|
|
@@ -1083,7 +1182,13 @@ function removeItem(collection, predicate) {
|
|
|
1083
1182
|
}
|
|
1084
1183
|
return false;
|
|
1085
1184
|
}
|
|
1086
|
-
|
|
1185
|
+
/**
|
|
1186
|
+
* Update item in collection by predicate
|
|
1187
|
+
* @param collection Array of items
|
|
1188
|
+
* @param predicate Function to define item for deleting
|
|
1189
|
+
* @returns True if successfully removed
|
|
1190
|
+
*/
|
|
1191
|
+
function updateItemBy(collection, predicate, newItem) {
|
|
1087
1192
|
const itemIndex = collection.findIndex(predicate);
|
|
1088
1193
|
if (itemIndex !== CommonConstants.NOT_FOUND_INDEX) {
|
|
1089
1194
|
const result = collection.slice(0);
|
|
@@ -1193,27 +1298,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
1193
1298
|
class ComponentSizeDirective {
|
|
1194
1299
|
constructor(el) {
|
|
1195
1300
|
this.el = el;
|
|
1196
|
-
this.
|
|
1301
|
+
this._customSize = null;
|
|
1302
|
+
this.style.fontSize = getCssLikeValue(this.getSizeProportion(), UIConstants.CSS_EM);
|
|
1197
1303
|
}
|
|
1198
1304
|
set size(value) {
|
|
1199
|
-
this.
|
|
1305
|
+
this._size = value;
|
|
1306
|
+
this.style.fontSize = getCssLikeValue(this.getSizeProportion(), UIConstants.CSS_EM);
|
|
1307
|
+
}
|
|
1308
|
+
get size() {
|
|
1309
|
+
return this._size;
|
|
1200
1310
|
}
|
|
1201
1311
|
set customSize(value) {
|
|
1202
|
-
this.
|
|
1312
|
+
this._customSize = value;
|
|
1313
|
+
if (this._customSize)
|
|
1314
|
+
this.style.fontSize = getCssLikeValue(this._customSize, UIConstants.CSS_EM);
|
|
1315
|
+
}
|
|
1316
|
+
get customSize() {
|
|
1317
|
+
return this._customSize;
|
|
1318
|
+
}
|
|
1319
|
+
get proportion() {
|
|
1320
|
+
return this.customSize || this.getSizeProportion();
|
|
1203
1321
|
}
|
|
1204
1322
|
get style() {
|
|
1205
1323
|
return this.el.nativeElement.style;
|
|
1206
1324
|
}
|
|
1207
|
-
|
|
1208
|
-
switch (
|
|
1325
|
+
getSizeProportion() {
|
|
1326
|
+
switch (this.size) {
|
|
1209
1327
|
case ComponentSize.Small:
|
|
1210
|
-
return
|
|
1328
|
+
return 0.5;
|
|
1211
1329
|
case ComponentSize.Medium:
|
|
1212
|
-
return
|
|
1330
|
+
return 1;
|
|
1213
1331
|
case ComponentSize.Large:
|
|
1214
|
-
return
|
|
1332
|
+
return 2;
|
|
1215
1333
|
default:
|
|
1216
|
-
return
|
|
1334
|
+
return 1;
|
|
1217
1335
|
}
|
|
1218
1336
|
}
|
|
1219
1337
|
}
|
|
@@ -1256,6 +1374,111 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
1256
1374
|
type: Input
|
|
1257
1375
|
}] } });
|
|
1258
1376
|
|
|
1377
|
+
class DomChangesDirective {
|
|
1378
|
+
constructor(elementRef) {
|
|
1379
|
+
this.elementRef = elementRef;
|
|
1380
|
+
this.sfcDomChanges = new EventEmitter();
|
|
1381
|
+
this.options = {
|
|
1382
|
+
attributes: true,
|
|
1383
|
+
childList: true,
|
|
1384
|
+
characterData: true
|
|
1385
|
+
};
|
|
1386
|
+
const element = this.elementRef.nativeElement;
|
|
1387
|
+
this.changes = new MutationObserver((mutations) => mutations.forEach((mutation) => this.sfcDomChanges.emit(mutation)));
|
|
1388
|
+
this.changes.observe(element, this.options);
|
|
1389
|
+
}
|
|
1390
|
+
ngOnDestroy() {
|
|
1391
|
+
this.changes.disconnect();
|
|
1392
|
+
}
|
|
1393
|
+
}
|
|
1394
|
+
DomChangesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DomChangesDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1395
|
+
DomChangesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: DomChangesDirective, selector: "[sfcDomChanges]", inputs: { options: "options" }, outputs: { sfcDomChanges: "sfcDomChanges" }, ngImport: i0 });
|
|
1396
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DomChangesDirective, decorators: [{
|
|
1397
|
+
type: Directive,
|
|
1398
|
+
args: [{
|
|
1399
|
+
selector: '[sfcDomChanges]'
|
|
1400
|
+
}]
|
|
1401
|
+
}], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { sfcDomChanges: [{
|
|
1402
|
+
type: Output
|
|
1403
|
+
}], options: [{
|
|
1404
|
+
type: Input
|
|
1405
|
+
}] } });
|
|
1406
|
+
|
|
1407
|
+
class ScrollTrackerDirective {
|
|
1408
|
+
constructor() {
|
|
1409
|
+
this.positions = [];
|
|
1410
|
+
this.sfcScrollTracker = new EventEmitter();
|
|
1411
|
+
}
|
|
1412
|
+
onScroll(event) {
|
|
1413
|
+
const position = this.getPosition(event);
|
|
1414
|
+
if (position && hasItem(this.positions, position))
|
|
1415
|
+
this.sfcScrollTracker.emit(position);
|
|
1416
|
+
}
|
|
1417
|
+
getPosition(event) {
|
|
1418
|
+
const tracker = event.target, limit = tracker.scrollHeight - tracker.clientHeight, scrollTopFixed = tracker.scrollTop.toFixed();
|
|
1419
|
+
if (scrollTopFixed >= limit)
|
|
1420
|
+
return Position.Bottom;
|
|
1421
|
+
else if (scrollTopFixed <= 0)
|
|
1422
|
+
return Position.Top;
|
|
1423
|
+
return null;
|
|
1424
|
+
}
|
|
1425
|
+
}
|
|
1426
|
+
ScrollTrackerDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ScrollTrackerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1427
|
+
ScrollTrackerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: ScrollTrackerDirective, selector: "[sfcScrollTracker]", inputs: { positions: "positions" }, outputs: { sfcScrollTracker: "sfcScrollTracker" }, host: { listeners: { "scroll": "onScroll($event)" } }, ngImport: i0 });
|
|
1428
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ScrollTrackerDirective, decorators: [{
|
|
1429
|
+
type: Directive,
|
|
1430
|
+
args: [{
|
|
1431
|
+
selector: '[sfcScrollTracker]'
|
|
1432
|
+
}]
|
|
1433
|
+
}], propDecorators: { positions: [{
|
|
1434
|
+
type: Input
|
|
1435
|
+
}], sfcScrollTracker: [{
|
|
1436
|
+
type: Output
|
|
1437
|
+
}], onScroll: [{
|
|
1438
|
+
type: HostListener,
|
|
1439
|
+
args: ['scroll', ['$event']]
|
|
1440
|
+
}] } });
|
|
1441
|
+
|
|
1442
|
+
class ScrollIntoViewDirective {
|
|
1443
|
+
constructor() {
|
|
1444
|
+
this.options = { behavior: 'smooth', block: 'center', inline: 'start' };
|
|
1445
|
+
}
|
|
1446
|
+
set sfcScrollIntoView(value) {
|
|
1447
|
+
if (!isDefined(value))
|
|
1448
|
+
return;
|
|
1449
|
+
if (isChromeBrowser())
|
|
1450
|
+
value.scrollIntoViewIfNeeded();
|
|
1451
|
+
else
|
|
1452
|
+
value.scrollIntoView(this.options);
|
|
1453
|
+
}
|
|
1454
|
+
}
|
|
1455
|
+
ScrollIntoViewDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ScrollIntoViewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1456
|
+
ScrollIntoViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: ScrollIntoViewDirective, selector: "[sfcScrollIntoView]", inputs: { sfcScrollIntoView: "sfcScrollIntoView", options: "options" }, ngImport: i0 });
|
|
1457
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ScrollIntoViewDirective, decorators: [{
|
|
1458
|
+
type: Directive,
|
|
1459
|
+
args: [{
|
|
1460
|
+
selector: '[sfcScrollIntoView]'
|
|
1461
|
+
}]
|
|
1462
|
+
}], propDecorators: { sfcScrollIntoView: [{
|
|
1463
|
+
type: Input
|
|
1464
|
+
}], options: [{
|
|
1465
|
+
type: Input
|
|
1466
|
+
}] } });
|
|
1467
|
+
|
|
1468
|
+
class SwitchMultiCasePipe {
|
|
1469
|
+
transform(cases, switchOption) {
|
|
1470
|
+
return cases.includes(switchOption) ? switchOption : !switchOption;
|
|
1471
|
+
}
|
|
1472
|
+
}
|
|
1473
|
+
SwitchMultiCasePipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SwitchMultiCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
1474
|
+
SwitchMultiCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SwitchMultiCasePipe, name: "sfcSwitchMultiCase" });
|
|
1475
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SwitchMultiCasePipe, decorators: [{
|
|
1476
|
+
type: Pipe,
|
|
1477
|
+
args: [{
|
|
1478
|
+
name: 'sfcSwitchMultiCase'
|
|
1479
|
+
}]
|
|
1480
|
+
}] });
|
|
1481
|
+
|
|
1259
1482
|
var ButtonType;
|
|
1260
1483
|
(function (ButtonType) {
|
|
1261
1484
|
ButtonType["Bordered"] = "bordered";
|
|
@@ -1274,17 +1497,15 @@ class ButtonComponent {
|
|
|
1274
1497
|
}
|
|
1275
1498
|
get classes() {
|
|
1276
1499
|
const classes = {};
|
|
1277
|
-
if (this.disabled)
|
|
1278
|
-
classes[UIClass.Disabled] = true;
|
|
1279
1500
|
distinct(this.types).forEach(type => classes[type] = true);
|
|
1280
1501
|
return classes;
|
|
1281
1502
|
}
|
|
1282
1503
|
}
|
|
1283
1504
|
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1284
|
-
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ButtonComponent, selector: "sfc-button", inputs: { text: "text", iconBefore: "iconBefore", iconAfter: "iconAfter", disabled: "disabled", types: "types" }, ngImport: i0, template: "<a class=\"button\" [ngClass]=\"classes\">\r\n <fa-icon *ngIf=\"iconBefore\" class=\"icon before\" [icon]=\"iconBefore\"></fa-icon>\r\n <span class=\"text\">{{text}}</span>\r\n <fa-icon *ngIf=\"iconAfter\" class=\"icon after\" [icon]=\"iconAfter\"></fa-icon>\r\n</a>", styles: [".button.texted:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.texted:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.texted:not(:hover):not(.disabled){color:#ccd1d9}.button.bordered{border:solid 2px}.button.bordered:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.bordered:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.bordered:not(:hover):not(.disabled){color:#ccd1d9}.button.bordered:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.bordered:not(:hover):not(.disabled){border-color:#545e61}:host-context(.sfc-dark-theme) .button.bordered:not(:hover):not(.disabled){border-color:#ccd1d9}.button.filled{color:#fff!important;border-color:#545e61;background:#545e61}.button.filled:hover{color:#fff!important;border-color:#aab2bd;background:#aab2bd}.button.filled.disabled{color:#fff!important;border-color:#bdbdbd;background:#bdbdbd}.button.rounded{border:solid 2px;border-radius:20px;padding:.4em 1.2em}.button.rounded:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.rounded:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.rounded:not(:hover):not(.disabled){color:#ccd1d9}.button.rounded:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.rounded:not(:hover):not(.disabled){border-color:#545e61}:host-context(.sfc-dark-theme) .button.rounded:not(:hover):not(.disabled){border-color:#ccd1d9}.button.circled{border:solid 2px;width:5em;height:5em;border-radius:50%}.button.circled:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.circled:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.circled:not(:hover):not(.disabled){color:#ccd1d9}.button.circled:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.circled:not(:hover):not(.disabled){border-color:#545e61}:host-context(.sfc-dark-theme) .button.circled:not(:hover):not(.disabled){border-color:#ccd1d9}.button.circled .text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host{display:inline-block;font-size:1em}.button{box-sizing:border-box;display:inline-flex;justify-content:center;flex-wrap:wrap;align-items:center;overflow:hidden;text-align:center;text-decoration:none;white-space:nowrap;font-size:.9em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .5s ease,border-color .5s ease,background .5s ease}.button:hover{color:#2bbbad;border-color:#2bbbad}.button.disabled{pointer-events:none}.button
|
|
1505
|
+
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ButtonComponent, selector: "sfc-button", inputs: { text: "text", iconBefore: "iconBefore", iconAfter: "iconAfter", disabled: "disabled", types: "types" }, host: { properties: { "class.disabled": "this.disabled" } }, ngImport: i0, template: "<a class=\"button\" [ngClass]=\"classes\">\r\n <fa-icon *ngIf=\"iconBefore\" class=\"icon before\" [icon]=\"iconBefore\"></fa-icon>\r\n <span class=\"text\">{{text}}</span>\r\n <fa-icon *ngIf=\"iconAfter\" class=\"icon after\" [icon]=\"iconAfter\"></fa-icon>\r\n</a>", styles: [".button.texted:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.texted:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.texted:not(:hover):not(.disabled){color:#ccd1d9}.button.bordered{border:solid 2px}.button.bordered:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.bordered:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.bordered:not(:hover):not(.disabled){color:#ccd1d9}.button.bordered:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.bordered:not(:hover):not(.disabled){border-color:#545e61}:host-context(.sfc-dark-theme) .button.bordered:not(:hover):not(.disabled){border-color:#ccd1d9}.button.filled{color:#fff!important;border-color:#545e61;background:#545e61}.button.filled:hover{color:#fff!important;border-color:#aab2bd;background:#aab2bd}.button.filled.disabled{color:#fff!important;border-color:#bdbdbd;background:#bdbdbd}.button.rounded{border:solid 2px;border-radius:20px;padding:.4em 1.2em}.button.rounded:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.rounded:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.rounded:not(:hover):not(.disabled){color:#ccd1d9}.button.rounded:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.rounded:not(:hover):not(.disabled){border-color:#545e61}:host-context(.sfc-dark-theme) .button.rounded:not(:hover):not(.disabled){border-color:#ccd1d9}.button.circled{border:solid 2px;width:5em;height:5em;border-radius:50%}.button.circled:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.circled:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.circled:not(:hover):not(.disabled){color:#ccd1d9}.button.circled:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.circled:not(:hover):not(.disabled){border-color:#545e61}:host-context(.sfc-dark-theme) .button.circled:not(:hover):not(.disabled){border-color:#ccd1d9}.button.circled .text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host{display:inline-block;font-size:1em}:host .button{box-sizing:border-box;display:inline-flex;justify-content:center;flex-wrap:wrap;align-items:center;overflow:hidden;text-align:center;text-decoration:none;white-space:nowrap;font-size:.9em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .5s ease,border-color .5s ease,background .5s ease}:host .button:hover{color:#2bbbad;border-color:#2bbbad}:host .button .icon{padding:3px}:host .button .text{padding:3px;white-space:initial}:host .button .text:empty{display:none}:host.disabled{pointer-events:none}:host.disabled .button,:host-context(.sfc-default-theme) :host.disabled .button{color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled .button{color:#656d78}:host.disabled .button,:host-context(.sfc-default-theme) :host.disabled .button{border-color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled .button{border-color:#656d78}\n"], components: [{ type: i1$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1285
1506
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
1286
1507
|
type: Component,
|
|
1287
|
-
args: [{ selector: 'sfc-button', template: "<a class=\"button\" [ngClass]=\"classes\">\r\n <fa-icon *ngIf=\"iconBefore\" class=\"icon before\" [icon]=\"iconBefore\"></fa-icon>\r\n <span class=\"text\">{{text}}</span>\r\n <fa-icon *ngIf=\"iconAfter\" class=\"icon after\" [icon]=\"iconAfter\"></fa-icon>\r\n</a>", styles: [".button.texted:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.texted:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.texted:not(:hover):not(.disabled){color:#ccd1d9}.button.bordered{border:solid 2px}.button.bordered:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.bordered:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.bordered:not(:hover):not(.disabled){color:#ccd1d9}.button.bordered:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.bordered:not(:hover):not(.disabled){border-color:#545e61}:host-context(.sfc-dark-theme) .button.bordered:not(:hover):not(.disabled){border-color:#ccd1d9}.button.filled{color:#fff!important;border-color:#545e61;background:#545e61}.button.filled:hover{color:#fff!important;border-color:#aab2bd;background:#aab2bd}.button.filled.disabled{color:#fff!important;border-color:#bdbdbd;background:#bdbdbd}.button.rounded{border:solid 2px;border-radius:20px;padding:.4em 1.2em}.button.rounded:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.rounded:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.rounded:not(:hover):not(.disabled){color:#ccd1d9}.button.rounded:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.rounded:not(:hover):not(.disabled){border-color:#545e61}:host-context(.sfc-dark-theme) .button.rounded:not(:hover):not(.disabled){border-color:#ccd1d9}.button.circled{border:solid 2px;width:5em;height:5em;border-radius:50%}.button.circled:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.circled:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.circled:not(:hover):not(.disabled){color:#ccd1d9}.button.circled:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.circled:not(:hover):not(.disabled){border-color:#545e61}:host-context(.sfc-dark-theme) .button.circled:not(:hover):not(.disabled){border-color:#ccd1d9}.button.circled .text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host{display:inline-block;font-size:1em}.button{box-sizing:border-box;display:inline-flex;justify-content:center;flex-wrap:wrap;align-items:center;overflow:hidden;text-align:center;text-decoration:none;white-space:nowrap;font-size:.9em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .5s ease,border-color .5s ease,background .5s ease}.button:hover{color:#2bbbad;border-color:#2bbbad}.button.disabled{pointer-events:none}.button
|
|
1508
|
+
args: [{ selector: 'sfc-button', template: "<a class=\"button\" [ngClass]=\"classes\">\r\n <fa-icon *ngIf=\"iconBefore\" class=\"icon before\" [icon]=\"iconBefore\"></fa-icon>\r\n <span class=\"text\">{{text}}</span>\r\n <fa-icon *ngIf=\"iconAfter\" class=\"icon after\" [icon]=\"iconAfter\"></fa-icon>\r\n</a>", styles: [".button.texted:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.texted:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.texted:not(:hover):not(.disabled){color:#ccd1d9}.button.bordered{border:solid 2px}.button.bordered:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.bordered:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.bordered:not(:hover):not(.disabled){color:#ccd1d9}.button.bordered:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.bordered:not(:hover):not(.disabled){border-color:#545e61}:host-context(.sfc-dark-theme) .button.bordered:not(:hover):not(.disabled){border-color:#ccd1d9}.button.filled{color:#fff!important;border-color:#545e61;background:#545e61}.button.filled:hover{color:#fff!important;border-color:#aab2bd;background:#aab2bd}.button.filled.disabled{color:#fff!important;border-color:#bdbdbd;background:#bdbdbd}.button.rounded{border:solid 2px;border-radius:20px;padding:.4em 1.2em}.button.rounded:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.rounded:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.rounded:not(:hover):not(.disabled){color:#ccd1d9}.button.rounded:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.rounded:not(:hover):not(.disabled){border-color:#545e61}:host-context(.sfc-dark-theme) .button.rounded:not(:hover):not(.disabled){border-color:#ccd1d9}.button.circled{border:solid 2px;width:5em;height:5em;border-radius:50%}.button.circled:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.circled:not(:hover):not(.disabled){color:#545e61}:host-context(.sfc-dark-theme) .button.circled:not(:hover):not(.disabled){color:#ccd1d9}.button.circled:not(:hover):not(.disabled),:host-context(.sfc-default-theme) .button.circled:not(:hover):not(.disabled){border-color:#545e61}:host-context(.sfc-dark-theme) .button.circled:not(:hover):not(.disabled){border-color:#ccd1d9}.button.circled .text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host{display:inline-block;font-size:1em}:host .button{box-sizing:border-box;display:inline-flex;justify-content:center;flex-wrap:wrap;align-items:center;overflow:hidden;text-align:center;text-decoration:none;white-space:nowrap;font-size:.9em;cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .5s ease,border-color .5s ease,background .5s ease}:host .button:hover{color:#2bbbad;border-color:#2bbbad}:host .button .icon{padding:3px}:host .button .text{padding:3px;white-space:initial}:host .button .text:empty{display:none}:host.disabled{pointer-events:none}:host.disabled .button,:host-context(.sfc-default-theme) :host.disabled .button{color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled .button{color:#656d78}:host.disabled .button,:host-context(.sfc-default-theme) :host.disabled .button{border-color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled .button{border-color:#656d78}\n"] }]
|
|
1288
1509
|
}], propDecorators: { text: [{
|
|
1289
1510
|
type: Input
|
|
1290
1511
|
}], iconBefore: [{
|
|
@@ -1293,6 +1514,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
1293
1514
|
type: Input
|
|
1294
1515
|
}], disabled: [{
|
|
1295
1516
|
type: Input
|
|
1517
|
+
}, {
|
|
1518
|
+
type: HostBinding,
|
|
1519
|
+
args: [`class.${UIClass.Disabled}`]
|
|
1296
1520
|
}], types: [{
|
|
1297
1521
|
type: Input
|
|
1298
1522
|
}] } });
|
|
@@ -1423,7 +1647,7 @@ class LoaderService {
|
|
|
1423
1647
|
*/
|
|
1424
1648
|
remove(id = LoaderConstants.GLOBAL_LOADER_ID) {
|
|
1425
1649
|
const loaders = this.loaderSubject.getValue();
|
|
1426
|
-
if (
|
|
1650
|
+
if (removeItemBy(loaders, loader => loader.id == id)) {
|
|
1427
1651
|
this.loaderSubject.next(loaders);
|
|
1428
1652
|
}
|
|
1429
1653
|
}
|
|
@@ -1435,7 +1659,7 @@ class LoaderService {
|
|
|
1435
1659
|
const loaders = this.loaderSubject.getValue(), ILoaderEvent = { id, status }, loader = firstOrDefault(loaders, (loader) => loader.id == id);
|
|
1436
1660
|
if (isDefined(loader) && (loader === null || loader === void 0 ? void 0 : loader.status) == status)
|
|
1437
1661
|
return this.selectLoaderById(id);
|
|
1438
|
-
const updatedLoaders =
|
|
1662
|
+
const updatedLoaders = updateItemBy(loaders, (loader) => loader.id == id, ILoaderEvent);
|
|
1439
1663
|
if (isDefined(updatedLoaders)) {
|
|
1440
1664
|
this.loaderSubject.next(updatedLoaders);
|
|
1441
1665
|
}
|
|
@@ -1686,7 +1910,7 @@ class ModalComponent {
|
|
|
1686
1910
|
}
|
|
1687
1911
|
}
|
|
1688
1912
|
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1689
|
-
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ModalComponent, selector: "sfc-modal", inputs: { body: "body", header: "header", footer: "footer", defaultHeaderModel: "defaultHeaderModel", defaultFooterModel: "defaultFooterModel", hideOnEsc: "hideOnEsc", hideOnClickOutside: "hideOnClickOutside" }, host: { listeners: { "document:keydown.escape": "onEscapeKeyDownHandler()" } }, queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"overlay\" [@hideOverlay] (click)=\"hideOnClickOutside && close()\">\r\n <div class=\"content\" [@hideContent] (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"header\">\r\n\r\n <sfc-template-content [referenceContent]=\"header\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Header\" [defaultContent]=\"defaultHeader\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultHeader>\r\n <sfc-default-modal-header [model]=\"defaultHeaderModel\"> </sfc-default-modal-header>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <div class=\"body\">\r\n\r\n <sfc-template-content [referenceContent]=\"body\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Body\">\r\n </sfc-template-content>\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n\r\n <sfc-template-content [referenceContent]=\"footer\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Footer\" [defaultContent]=\"defaultFooter\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultFooter>\r\n <sfc-default-modal-footer [model]=\"defaultFooterModel\"></sfc-default-modal-footer>\r\n </ng-template>\r\n\r\n </div>\r\n </div>\r\n</div>", styles: [".overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background-color:#0009;-webkit-backface-visibility:visible;backface-visibility:visible;animation:expand-overlay .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-overlay{0%{visibility:hidden;opacity:0}}.overlay .content{display:flex;align-items:center;position:relative;padding:.7em;margin:auto;background-color:#f5f7fa;max-width:calc(100% - 3em);max-height:calc(100% - 3em);border-radius:3px;
|
|
1913
|
+
ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ModalComponent, selector: "sfc-modal", inputs: { body: "body", header: "header", footer: "footer", defaultHeaderModel: "defaultHeaderModel", defaultFooterModel: "defaultFooterModel", hideOnEsc: "hideOnEsc", hideOnClickOutside: "hideOnClickOutside" }, host: { listeners: { "document:keydown.escape": "onEscapeKeyDownHandler()" } }, queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"overlay\" [@hideOverlay] (click)=\"hideOnClickOutside && close()\">\r\n <div class=\"content\" [@hideContent] (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"header\">\r\n\r\n <sfc-template-content [referenceContent]=\"header\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Header\" [defaultContent]=\"defaultHeader\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultHeader>\r\n <sfc-default-modal-header [model]=\"defaultHeaderModel\"> </sfc-default-modal-header>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <div class=\"body\">\r\n\r\n <sfc-template-content [referenceContent]=\"body\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Body\">\r\n </sfc-template-content>\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n\r\n <sfc-template-content [referenceContent]=\"footer\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Footer\" [defaultContent]=\"defaultFooter\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultFooter>\r\n <sfc-default-modal-footer [model]=\"defaultFooterModel\"></sfc-default-modal-footer>\r\n </ng-template>\r\n\r\n </div>\r\n </div>\r\n</div>", styles: [".overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background-color:#0009;-webkit-backface-visibility:visible;backface-visibility:visible;animation:expand-overlay .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-overlay{0%{visibility:hidden;opacity:0}}.overlay .content{display:flex;align-items:center;position:relative;padding:.7em;margin:auto;background-color:#f5f7fa;max-width:calc(100% - 3em);max-height:calc(100% - 3em);border-radius:3px;box-shadow:0 .125em .625em #656d78;transform:scale(1);flex-direction:column;animation:expand-modal .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-modal{0%{visibility:hidden;opacity:0;transform:scale(1.2)}}.overlay .content>div{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#545e61;flex-direction:row;display:flex;flex:0 0 auto;justify-content:center}.overlay .content>div.body{overflow-y:auto;flex:0}\n"], components: [{ type: TemplateContentComponent, selector: "sfc-template-content", inputs: ["contextData", "referenceContent", "templateType", "templatesContent", "defaultContent"] }, { type: DefaultModalHeaderComponent, selector: "sfc-default-modal-header", inputs: ["model"] }, { type: DefaultModalFooterComponent, selector: "sfc-default-modal-footer", inputs: ["model"] }], animations: [
|
|
1690
1914
|
trigger('hideOverlay', [
|
|
1691
1915
|
state('initial', style({ opacity: 1, visibility: 'visible' })),
|
|
1692
1916
|
state('void', style({ opacity: 0, visibility: 'hidden' })),
|
|
@@ -1731,7 +1955,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
1731
1955
|
state('void', style({ opacity: 0, visibility: 'hidden', transform: 'scale(1.2)' })),
|
|
1732
1956
|
transition('* => void', animate('400ms cubic-bezier(.55, 0, .1, 1)'))
|
|
1733
1957
|
])
|
|
1734
|
-
], template: "<div class=\"overlay\" [@hideOverlay] (click)=\"hideOnClickOutside && close()\">\r\n <div class=\"content\" [@hideContent] (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"header\">\r\n\r\n <sfc-template-content [referenceContent]=\"header\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Header\" [defaultContent]=\"defaultHeader\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultHeader>\r\n <sfc-default-modal-header [model]=\"defaultHeaderModel\"> </sfc-default-modal-header>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <div class=\"body\">\r\n\r\n <sfc-template-content [referenceContent]=\"body\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Body\">\r\n </sfc-template-content>\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n\r\n <sfc-template-content [referenceContent]=\"footer\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Footer\" [defaultContent]=\"defaultFooter\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultFooter>\r\n <sfc-default-modal-footer [model]=\"defaultFooterModel\"></sfc-default-modal-footer>\r\n </ng-template>\r\n\r\n </div>\r\n </div>\r\n</div>", styles: [".overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background-color:#0009;-webkit-backface-visibility:visible;backface-visibility:visible;animation:expand-overlay .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-overlay{0%{visibility:hidden;opacity:0}}.overlay .content{display:flex;align-items:center;position:relative;padding:.7em;margin:auto;background-color:#f5f7fa;max-width:calc(100% - 3em);max-height:calc(100% - 3em);border-radius:3px;
|
|
1958
|
+
], template: "<div class=\"overlay\" [@hideOverlay] (click)=\"hideOnClickOutside && close()\">\r\n <div class=\"content\" [@hideContent] (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"header\">\r\n\r\n <sfc-template-content [referenceContent]=\"header\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Header\" [defaultContent]=\"defaultHeader\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultHeader>\r\n <sfc-default-modal-header [model]=\"defaultHeaderModel\"> </sfc-default-modal-header>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <div class=\"body\">\r\n\r\n <sfc-template-content [referenceContent]=\"body\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Body\">\r\n </sfc-template-content>\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n\r\n <sfc-template-content [referenceContent]=\"footer\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Footer\" [defaultContent]=\"defaultFooter\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultFooter>\r\n <sfc-default-modal-footer [model]=\"defaultFooterModel\"></sfc-default-modal-footer>\r\n </ng-template>\r\n\r\n </div>\r\n </div>\r\n</div>", styles: [".overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background-color:#0009;-webkit-backface-visibility:visible;backface-visibility:visible;animation:expand-overlay .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-overlay{0%{visibility:hidden;opacity:0}}.overlay .content{display:flex;align-items:center;position:relative;padding:.7em;margin:auto;background-color:#f5f7fa;max-width:calc(100% - 3em);max-height:calc(100% - 3em);border-radius:3px;box-shadow:0 .125em .625em #656d78;transform:scale(1);flex-direction:column;animation:expand-modal .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-modal{0%{visibility:hidden;opacity:0;transform:scale(1.2)}}.overlay .content>div{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#545e61;flex-direction:row;display:flex;flex:0 0 auto;justify-content:center}.overlay .content>div.body{overflow-y:auto;flex:0}\n"] }]
|
|
1735
1959
|
}], ctorParameters: function () { return [{ type: ModalService }]; }, propDecorators: { body: [{
|
|
1736
1960
|
type: Input
|
|
1737
1961
|
}], header: [{
|
|
@@ -1779,9 +2003,7 @@ class ModalOpenOnClickDirective {
|
|
|
1779
2003
|
}
|
|
1780
2004
|
ngOnInit() {
|
|
1781
2005
|
this._closeSubscription = this.modalService.close$
|
|
1782
|
-
.subscribe(() =>
|
|
1783
|
-
this.viewContainer.clear();
|
|
1784
|
-
});
|
|
2006
|
+
.subscribe(() => this.viewContainer.clear());
|
|
1785
2007
|
}
|
|
1786
2008
|
ngOnDestroy() {
|
|
1787
2009
|
var _a;
|
|
@@ -1801,6 +2023,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
1801
2023
|
args: ['sfcModalOpenOnClick']
|
|
1802
2024
|
}] } });
|
|
1803
2025
|
|
|
2026
|
+
class ModalOpenDirective {
|
|
2027
|
+
constructor(templateRef, viewContainer, modalService) {
|
|
2028
|
+
this.templateRef = templateRef;
|
|
2029
|
+
this.viewContainer = viewContainer;
|
|
2030
|
+
this.modalService = modalService;
|
|
2031
|
+
this._closeSubscription = this.modalService.close$.subscribe(() => this.viewContainer.clear());
|
|
2032
|
+
this._openSubscription = this.modalService.open$
|
|
2033
|
+
.subscribe(() => {
|
|
2034
|
+
this.viewContainer.clear();
|
|
2035
|
+
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
2036
|
+
});
|
|
2037
|
+
}
|
|
2038
|
+
ngOnDestroy() {
|
|
2039
|
+
this._closeSubscription.unsubscribe();
|
|
2040
|
+
this._openSubscription.unsubscribe();
|
|
2041
|
+
}
|
|
2042
|
+
}
|
|
2043
|
+
ModalOpenDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalOpenDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: ModalService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2044
|
+
ModalOpenDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: ModalOpenDirective, selector: "[sfcModalOpen]", ngImport: i0 });
|
|
2045
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalOpenDirective, decorators: [{
|
|
2046
|
+
type: Directive,
|
|
2047
|
+
args: [{
|
|
2048
|
+
selector: '[sfcModalOpen]'
|
|
2049
|
+
}]
|
|
2050
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: ModalService }]; } });
|
|
2051
|
+
|
|
1804
2052
|
class HamburgerComponent {
|
|
1805
2053
|
constructor() {
|
|
1806
2054
|
this.open = false;
|
|
@@ -1852,21 +2100,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
1852
2100
|
class ToggleSwitcherComponent {
|
|
1853
2101
|
constructor() {
|
|
1854
2102
|
this.active = false;
|
|
2103
|
+
this.disabled = false;
|
|
1855
2104
|
this.onClick = () => this.active = !this.active;
|
|
1856
2105
|
this.leftModel = { label: 'Left' };
|
|
1857
2106
|
this.rightModel = { label: 'Right' };
|
|
1858
2107
|
}
|
|
1859
2108
|
}
|
|
1860
2109
|
ToggleSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ToggleSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1861
|
-
ToggleSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ToggleSwitcherComponent, selector: "sfc-toggle-switcher", inputs: { active: "active", leftModel: "leftModel", rightModel: "rightModel" }, host: { listeners: { "click": "onClick()" }, properties: { "class.active": "this.active" } }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"toggle\"></div>\r\n <div class=\"names\">\r\n <p class=\"left\">\r\n <fa-icon *ngIf=\"leftModel.icon\" [icon]=\"leftModel.icon\"></fa-icon>\r\n <span>{{leftModel.label}}</span>\r\n </p>\r\n <p class=\"right\">\r\n <fa-icon *ngIf=\"rightModel.icon\" [icon]=\"rightModel.icon\"></fa-icon>\r\n <span>{{rightModel.label}}</span>\r\n </p>\r\n </div>\r\n</div>", styles: [":host .container,:host .toggle{height:100%;border-radius:100px}:host .container{width:100%;background-color:#e6e9ed;color:#545e61;border-radius:100px;position:relative;cursor:pointer}:host .container .toggle{position:absolute;width:50%;background-color:#fff;box-shadow:0 .125em .5em #656d78;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}:host .container .names{font-size:90%;font-weight:bolder;width:100%;height:100%;position:relative;display:flex;justify-content:space-around;align-items:center;-webkit-user-select:none;user-select:none;overflow:hidden}:host .container .names p{font-size:90%;text-align:center;margin:0;padding:.5em 1em}:host .container .names p.right{opacity:.5}:host .container .names p fa-icon{margin-right:.25em}:host.active .container{background-color:#e6e9ed}:host.active .container .toggle{transform:translate(100%);background-color:#fff}:host.active .container .names{color:#545e61}:host.active .container .names .left{opacity:.5}:host.active .container .names .right{opacity:1}\n"], components: [{ type: i1$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2110
|
+
ToggleSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ToggleSwitcherComponent, selector: "sfc-toggle-switcher", inputs: { active: "active", disabled: "disabled", leftModel: "leftModel", rightModel: "rightModel" }, host: { listeners: { "click": "onClick()" }, properties: { "class.active": "this.active", "class.disabled": "this.disabled" } }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"toggle\"></div>\r\n <div class=\"names\">\r\n <p class=\"left\">\r\n <fa-icon *ngIf=\"leftModel.icon\" [icon]=\"leftModel.icon\"></fa-icon>\r\n <span>{{leftModel.label}}</span>\r\n </p>\r\n <p class=\"right\">\r\n <fa-icon *ngIf=\"rightModel.icon\" [icon]=\"rightModel.icon\"></fa-icon>\r\n <span>{{rightModel.label}}</span>\r\n </p>\r\n </div>\r\n</div>", styles: [":host .container,:host .toggle{height:100%;border-radius:100px}:host .container{width:100%;background-color:#e6e9ed;color:#545e61;border-radius:100px;position:relative;cursor:pointer}:host .container .toggle{position:absolute;width:50%;background-color:#fff;box-shadow:0 .125em .5em #656d78;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}:host .container .names{font-size:90%;font-weight:bolder;width:100%;height:100%;position:relative;display:flex;justify-content:space-around;align-items:center;-webkit-user-select:none;user-select:none;overflow:hidden}:host .container .names p{font-size:90%;text-align:center;margin:0;padding:.5em 1em}:host .container .names p.right{opacity:.5}:host .container .names p fa-icon{margin-right:.25em}:host.active .container{background-color:#e6e9ed}:host.active .container .toggle{transform:translate(100%);background-color:#fff}:host.active .container .names{color:#545e61}:host.active .container .names .left{opacity:.5}:host.active .container .names .right{opacity:1}:host.disabled{pointer-events:none}:host.disabled .container,:host-context(.sfc-default-theme) :host.disabled .container{background-color:#f6f6f6}:host-context(.sfc-dark-theme) :host.disabled .container{background-color:#656d78}:host.disabled .container .toggle{box-shadow:none}:host.disabled .container .toggle,:host-context(.sfc-default-theme) :host.disabled .container .toggle{background-color:#e6e9ed}:host-context(.sfc-dark-theme) :host.disabled .container .toggle{background-color:#aab2bd}:host.disabled .container .names,:host-context(.sfc-default-theme) :host.disabled .container .names{color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled .container .names{color:#e9e9e9}\n"], components: [{ type: i1$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1862
2111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ToggleSwitcherComponent, decorators: [{
|
|
1863
2112
|
type: Component,
|
|
1864
|
-
args: [{ selector: 'sfc-toggle-switcher', template: "<div class=\"container\">\r\n <div class=\"toggle\"></div>\r\n <div class=\"names\">\r\n <p class=\"left\">\r\n <fa-icon *ngIf=\"leftModel.icon\" [icon]=\"leftModel.icon\"></fa-icon>\r\n <span>{{leftModel.label}}</span>\r\n </p>\r\n <p class=\"right\">\r\n <fa-icon *ngIf=\"rightModel.icon\" [icon]=\"rightModel.icon\"></fa-icon>\r\n <span>{{rightModel.label}}</span>\r\n </p>\r\n </div>\r\n</div>", styles: [":host .container,:host .toggle{height:100%;border-radius:100px}:host .container{width:100%;background-color:#e6e9ed;color:#545e61;border-radius:100px;position:relative;cursor:pointer}:host .container .toggle{position:absolute;width:50%;background-color:#fff;box-shadow:0 .125em .5em #656d78;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}:host .container .names{font-size:90%;font-weight:bolder;width:100%;height:100%;position:relative;display:flex;justify-content:space-around;align-items:center;-webkit-user-select:none;user-select:none;overflow:hidden}:host .container .names p{font-size:90%;text-align:center;margin:0;padding:.5em 1em}:host .container .names p.right{opacity:.5}:host .container .names p fa-icon{margin-right:.25em}:host.active .container{background-color:#e6e9ed}:host.active .container .toggle{transform:translate(100%);background-color:#fff}:host.active .container .names{color:#545e61}:host.active .container .names .left{opacity:.5}:host.active .container .names .right{opacity:1}\n"] }]
|
|
2113
|
+
args: [{ selector: 'sfc-toggle-switcher', template: "<div class=\"container\">\r\n <div class=\"toggle\"></div>\r\n <div class=\"names\">\r\n <p class=\"left\">\r\n <fa-icon *ngIf=\"leftModel.icon\" [icon]=\"leftModel.icon\"></fa-icon>\r\n <span>{{leftModel.label}}</span>\r\n </p>\r\n <p class=\"right\">\r\n <fa-icon *ngIf=\"rightModel.icon\" [icon]=\"rightModel.icon\"></fa-icon>\r\n <span>{{rightModel.label}}</span>\r\n </p>\r\n </div>\r\n</div>", styles: [":host .container,:host .toggle{height:100%;border-radius:100px}:host .container{width:100%;background-color:#e6e9ed;color:#545e61;border-radius:100px;position:relative;cursor:pointer}:host .container .toggle{position:absolute;width:50%;background-color:#fff;box-shadow:0 .125em .5em #656d78;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}:host .container .names{font-size:90%;font-weight:bolder;width:100%;height:100%;position:relative;display:flex;justify-content:space-around;align-items:center;-webkit-user-select:none;user-select:none;overflow:hidden}:host .container .names p{font-size:90%;text-align:center;margin:0;padding:.5em 1em}:host .container .names p.right{opacity:.5}:host .container .names p fa-icon{margin-right:.25em}:host.active .container{background-color:#e6e9ed}:host.active .container .toggle{transform:translate(100%);background-color:#fff}:host.active .container .names{color:#545e61}:host.active .container .names .left{opacity:.5}:host.active .container .names .right{opacity:1}:host.disabled{pointer-events:none}:host.disabled .container,:host-context(.sfc-default-theme) :host.disabled .container{background-color:#f6f6f6}:host-context(.sfc-dark-theme) :host.disabled .container{background-color:#656d78}:host.disabled .container .toggle{box-shadow:none}:host.disabled .container .toggle,:host-context(.sfc-default-theme) :host.disabled .container .toggle{background-color:#e6e9ed}:host-context(.sfc-dark-theme) :host.disabled .container .toggle{background-color:#aab2bd}:host.disabled .container .names,:host-context(.sfc-default-theme) :host.disabled .container .names{color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled .container .names{color:#e9e9e9}\n"] }]
|
|
1865
2114
|
}], ctorParameters: function () { return []; }, propDecorators: { active: [{
|
|
1866
2115
|
type: Input
|
|
1867
2116
|
}, {
|
|
1868
2117
|
type: HostBinding,
|
|
1869
2118
|
args: ['class.' + UIClass.Active]
|
|
2119
|
+
}], disabled: [{
|
|
2120
|
+
type: Input
|
|
2121
|
+
}, {
|
|
2122
|
+
type: HostBinding,
|
|
2123
|
+
args: ['class.' + UIClass.Disabled]
|
|
1870
2124
|
}], leftModel: [{
|
|
1871
2125
|
type: Input
|
|
1872
2126
|
}], rightModel: [{
|
|
@@ -1876,28 +2130,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
1876
2130
|
args: ['click']
|
|
1877
2131
|
}] } });
|
|
1878
2132
|
|
|
2133
|
+
var CheckmarkType;
|
|
2134
|
+
(function (CheckmarkType) {
|
|
2135
|
+
CheckmarkType["Square"] = "square";
|
|
2136
|
+
CheckmarkType["Rounded"] = "rounded";
|
|
2137
|
+
})(CheckmarkType || (CheckmarkType = {}));
|
|
2138
|
+
|
|
1879
2139
|
class CheckmarkComponent {
|
|
1880
2140
|
constructor() {
|
|
1881
2141
|
this.active = false;
|
|
2142
|
+
this.disabled = false;
|
|
1882
2143
|
this.icon = faCheck;
|
|
1883
|
-
this.
|
|
2144
|
+
this.type = CheckmarkType.Rounded;
|
|
2145
|
+
this.showNotActive = true;
|
|
1884
2146
|
}
|
|
1885
2147
|
}
|
|
1886
2148
|
CheckmarkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CheckmarkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1887
|
-
CheckmarkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: CheckmarkComponent, selector: "sfc-checkmark", inputs: { active: "active", icon: "icon" }, host: {
|
|
2149
|
+
CheckmarkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: CheckmarkComponent, selector: "sfc-checkmark", inputs: { active: "active", disabled: "disabled", icon: "icon", type: "type", showNotActive: "showNotActive" }, host: { properties: { "class.active": "this.active", "class.disabled": "this.disabled", "class": "this.type" } }, ngImport: i0, template: "<div class=\"container\">\r\n <span class=\"check\">\r\n <fa-icon *ngIf=\"showNotActive || active\" [icon]=\"icon\"></fa-icon>\r\n </span>\r\n</div>", styles: [":host{display:inline-block}:host,:host-context(.sfc-default-theme) :host{color:#545e61}:host-context(.sfc-dark-theme) :host{color:#ccd1d9}:host .check{border:.18em solid;background:#fff;border-color:#ccd1d9;width:1em;height:1em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .3s ease}:host .check,:host-context(.sfc-default-theme) :host .check{background:#fff}:host-context(.sfc-dark-theme) :host .check{background:transparent}:host .check fa-icon{font-size:.8em;transition:opacity .3s ease}:host .check fa-icon,:host-context(.sfc-default-theme) :host .check fa-icon{opacity:.5}:host-context(.sfc-dark-theme) :host .check fa-icon{opacity:.8}:host .check:hover{border-color:#2bbbad}:host .check:hover fa-icon{color:#2bbbad}:host .check:hover fa-icon,:host-context(.sfc-default-theme) :host .check:hover fa-icon{opacity:.8}:host-context(.sfc-dark-theme) :host .check:hover fa-icon{opacity:1}:host.active .check{border-color:#2bbbad;background:#2bbbad}:host.active .check fa-icon{opacity:1;transform:scale(0);color:#fff;-webkit-text-stroke:0;animation:icon .3s cubic-bezier(1,.008,.565,1.65) .1s 1 forwards}@keyframes icon{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}:host.rounded .check{border-radius:50%}:host.disabled{pointer-events:none}:host.disabled .check{color:#fff;border-style:dashed}:host.disabled .check,:host-context(.sfc-default-theme) :host.disabled .check{border-color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled .check{border-color:#656d78}:host.disabled.active .check,:host-context(.sfc-default-theme) :host.disabled.active .check{background:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled.active .check{background:#656d78}\n"], components: [{ type: i1$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1888
2150
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CheckmarkComponent, decorators: [{
|
|
1889
2151
|
type: Component,
|
|
1890
|
-
args: [{ selector: 'sfc-checkmark', template: "<div class=\"container\">\r\n <span class=\"check\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n </span>\r\n</div>", styles: [":host{display:inline-block}:host,:host-context(.sfc-default-theme) :host{color:#545e61}:host-context(.sfc-dark-theme) :host{color:#ccd1d9}:host .check{border
|
|
2152
|
+
args: [{ selector: 'sfc-checkmark', template: "<div class=\"container\">\r\n <span class=\"check\">\r\n <fa-icon *ngIf=\"showNotActive || active\" [icon]=\"icon\"></fa-icon>\r\n </span>\r\n</div>", styles: [":host{display:inline-block}:host,:host-context(.sfc-default-theme) :host{color:#545e61}:host-context(.sfc-dark-theme) :host{color:#ccd1d9}:host .check{border:.18em solid;background:#fff;border-color:#ccd1d9;width:1em;height:1em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .3s ease}:host .check,:host-context(.sfc-default-theme) :host .check{background:#fff}:host-context(.sfc-dark-theme) :host .check{background:transparent}:host .check fa-icon{font-size:.8em;transition:opacity .3s ease}:host .check fa-icon,:host-context(.sfc-default-theme) :host .check fa-icon{opacity:.5}:host-context(.sfc-dark-theme) :host .check fa-icon{opacity:.8}:host .check:hover{border-color:#2bbbad}:host .check:hover fa-icon{color:#2bbbad}:host .check:hover fa-icon,:host-context(.sfc-default-theme) :host .check:hover fa-icon{opacity:.8}:host-context(.sfc-dark-theme) :host .check:hover fa-icon{opacity:1}:host.active .check{border-color:#2bbbad;background:#2bbbad}:host.active .check fa-icon{opacity:1;transform:scale(0);color:#fff;-webkit-text-stroke:0;animation:icon .3s cubic-bezier(1,.008,.565,1.65) .1s 1 forwards}@keyframes icon{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}:host.rounded .check{border-radius:50%}:host.disabled{pointer-events:none}:host.disabled .check{color:#fff;border-style:dashed}:host.disabled .check,:host-context(.sfc-default-theme) :host.disabled .check{border-color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled .check{border-color:#656d78}:host.disabled.active .check,:host-context(.sfc-default-theme) :host.disabled.active .check{background:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled.active .check{background:#656d78}\n"] }]
|
|
1891
2153
|
}], propDecorators: { active: [{
|
|
1892
2154
|
type: Input
|
|
1893
2155
|
}, {
|
|
1894
2156
|
type: HostBinding,
|
|
1895
2157
|
args: ['class.' + UIClass.Active]
|
|
2158
|
+
}], disabled: [{
|
|
2159
|
+
type: Input
|
|
2160
|
+
}, {
|
|
2161
|
+
type: HostBinding,
|
|
2162
|
+
args: ['class.' + UIClass.Disabled]
|
|
1896
2163
|
}], icon: [{
|
|
1897
2164
|
type: Input
|
|
1898
|
-
}],
|
|
1899
|
-
type:
|
|
1900
|
-
|
|
2165
|
+
}], type: [{
|
|
2166
|
+
type: Input
|
|
2167
|
+
}, {
|
|
2168
|
+
type: HostBinding,
|
|
2169
|
+
args: ['class']
|
|
2170
|
+
}], showNotActive: [{
|
|
2171
|
+
type: Input
|
|
1901
2172
|
}] } });
|
|
1902
2173
|
|
|
1903
2174
|
class PaginationConstants {
|
|
@@ -2126,6 +2397,209 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2126
2397
|
args: ['click']
|
|
2127
2398
|
}] } });
|
|
2128
2399
|
|
|
2400
|
+
class LoadMoreService {
|
|
2401
|
+
constructor() {
|
|
2402
|
+
this.START_PAGE = 1;
|
|
2403
|
+
this._page = this.START_PAGE;
|
|
2404
|
+
this.moreSubject = new Subject();
|
|
2405
|
+
this.more$ = this.moreSubject.asObservable();
|
|
2406
|
+
}
|
|
2407
|
+
more() {
|
|
2408
|
+
this._page++;
|
|
2409
|
+
this.moreSubject.next(this._page);
|
|
2410
|
+
}
|
|
2411
|
+
reset() {
|
|
2412
|
+
this._page = this.START_PAGE;
|
|
2413
|
+
}
|
|
2414
|
+
}
|
|
2415
|
+
LoadMoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2416
|
+
LoadMoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreService, providedIn: 'root' });
|
|
2417
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreService, decorators: [{
|
|
2418
|
+
type: Injectable,
|
|
2419
|
+
args: [{
|
|
2420
|
+
providedIn: 'root'
|
|
2421
|
+
}]
|
|
2422
|
+
}] });
|
|
2423
|
+
|
|
2424
|
+
var LoadContainerType;
|
|
2425
|
+
(function (LoadContainerType) {
|
|
2426
|
+
LoadContainerType["Dropdown"] = "dropdown";
|
|
2427
|
+
LoadContainerType["Table"] = "table";
|
|
2428
|
+
})(LoadContainerType || (LoadContainerType = {}));
|
|
2429
|
+
|
|
2430
|
+
class LoadContainerConstants {
|
|
2431
|
+
}
|
|
2432
|
+
LoadContainerConstants.DEFAULT_PAGE_SIZE = 5;
|
|
2433
|
+
LoadContainerConstants.DEFAULT_NOT_FOUND_LABEL = 'Not found';
|
|
2434
|
+
|
|
2435
|
+
class LoadMoreButtonComponent {
|
|
2436
|
+
constructor() {
|
|
2437
|
+
this.DEFAULT_LABEL = 'Show more';
|
|
2438
|
+
this.icon = faChevronCircleDown;
|
|
2439
|
+
this.more = new EventEmitter();
|
|
2440
|
+
}
|
|
2441
|
+
ngOnInit() {
|
|
2442
|
+
if (isNullOrEmptyString(this.label))
|
|
2443
|
+
this.label = this.DEFAULT_LABEL;
|
|
2444
|
+
}
|
|
2445
|
+
}
|
|
2446
|
+
LoadMoreButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2447
|
+
LoadMoreButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: LoadMoreButtonComponent, selector: "sfc-load-more-button", inputs: { label: "label", icon: "icon" }, outputs: { more: "more" }, ngImport: i0, template: "<div class=\"container\">\r\n <sfc-delimeter></sfc-delimeter>\r\n <div class=\"button\" (sfcMouseDown)=\"more.emit($event)\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n <span>{{label}}</span>\r\n </div>\r\n</div>", styles: [":host{cursor:default}:host .container{text-align:center}:host .container .button{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;cursor:pointer;color:#545e61;transition:color .5s;padding:.5em 0 1em}:host .container .button fa-icon{font-size:.7em;margin-right:.31em}:host .container .button span{font-size:.6em;font-weight:700;text-transform:uppercase}:host .container .button:hover{color:#2bbbad}\n"], components: [{ type: DelimeterComponent, selector: "sfc-delimeter" }, { type: i1$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: MouseDownDirective, selector: "[sfcMouseDown]", inputs: ["button"], outputs: ["sfcMouseDown"] }] });
|
|
2448
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreButtonComponent, decorators: [{
|
|
2449
|
+
type: Component,
|
|
2450
|
+
args: [{ selector: 'sfc-load-more-button', template: "<div class=\"container\">\r\n <sfc-delimeter></sfc-delimeter>\r\n <div class=\"button\" (sfcMouseDown)=\"more.emit($event)\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n <span>{{label}}</span>\r\n </div>\r\n</div>", styles: [":host{cursor:default}:host .container{text-align:center}:host .container .button{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;cursor:pointer;color:#545e61;transition:color .5s;padding:.5em 0 1em}:host .container .button fa-icon{font-size:.7em;margin-right:.31em}:host .container .button span{font-size:.6em;font-weight:700;text-transform:uppercase}:host .container .button:hover{color:#2bbbad}\n"] }]
|
|
2451
|
+
}], propDecorators: { label: [{
|
|
2452
|
+
type: Input
|
|
2453
|
+
}], icon: [{
|
|
2454
|
+
type: Input
|
|
2455
|
+
}], more: [{
|
|
2456
|
+
type: Output
|
|
2457
|
+
}] } });
|
|
2458
|
+
|
|
2459
|
+
class LoadContainerComponent {
|
|
2460
|
+
constructor(loaderService, loadMoreService) {
|
|
2461
|
+
this.loaderService = loaderService;
|
|
2462
|
+
this.loadMoreService = loadMoreService;
|
|
2463
|
+
this.ComponentSize = ComponentSize;
|
|
2464
|
+
this.Position = Position;
|
|
2465
|
+
this.type = LoadContainerType.Dropdown;
|
|
2466
|
+
this.open = false;
|
|
2467
|
+
this.size = LoadContainerConstants.DEFAULT_PAGE_SIZE;
|
|
2468
|
+
this.loadMore = true;
|
|
2469
|
+
this.showEmpty = true;
|
|
2470
|
+
this.showLoadMoreButton = true;
|
|
2471
|
+
this.notFoundLabel = LoadContainerConstants.DEFAULT_NOT_FOUND_LABEL;
|
|
2472
|
+
this.handleError = new EventEmitter();
|
|
2473
|
+
this.handleSuccess = new EventEmitter();
|
|
2474
|
+
this.handleLoading = new EventEmitter();
|
|
2475
|
+
this.next = false;
|
|
2476
|
+
this.empty = false;
|
|
2477
|
+
this._loading = false;
|
|
2478
|
+
}
|
|
2479
|
+
set model(model) {
|
|
2480
|
+
if (isDefined(model)) {
|
|
2481
|
+
const parameters$ = this.buildParameters(model.predicate$), data$ = isDefined(model.loader) ?
|
|
2482
|
+
this.buildDynamic(parameters$, model.loader) : this.buildStatic(parameters$, model);
|
|
2483
|
+
if (isDefined(this._subscription))
|
|
2484
|
+
this._subscription.unsubscribe();
|
|
2485
|
+
this._subscription = data$.subscribe({
|
|
2486
|
+
next: (result) => this.success(result),
|
|
2487
|
+
error: (error) => this.error(error)
|
|
2488
|
+
});
|
|
2489
|
+
}
|
|
2490
|
+
}
|
|
2491
|
+
get scrollPosition() {
|
|
2492
|
+
return !this.allowLoadMore || this.showLoadMoreButton ? [] : [Position.Bottom];
|
|
2493
|
+
}
|
|
2494
|
+
get allowLoadMore() { return this.next && this.loadMore; }
|
|
2495
|
+
get hideLoadMoreButton() { return !(this.allowLoadMore && this.showLoadMoreButton); }
|
|
2496
|
+
get isEmpty() { return this.empty && this.showEmpty; }
|
|
2497
|
+
set loading(value) {
|
|
2498
|
+
this._loading = value;
|
|
2499
|
+
if (value)
|
|
2500
|
+
this.loaderService.show(this.id, true);
|
|
2501
|
+
else
|
|
2502
|
+
this.loaderService.hide(this.id);
|
|
2503
|
+
this.handleLoading.emit(value);
|
|
2504
|
+
}
|
|
2505
|
+
ngOnDestroy() {
|
|
2506
|
+
if (this._subscription)
|
|
2507
|
+
this._subscription.unsubscribe();
|
|
2508
|
+
}
|
|
2509
|
+
more(event) {
|
|
2510
|
+
event.preventDefault();
|
|
2511
|
+
this.loadMoreService.more();
|
|
2512
|
+
}
|
|
2513
|
+
onScroll() {
|
|
2514
|
+
if (this.allowLoadMore)
|
|
2515
|
+
this.loadMoreService.more();
|
|
2516
|
+
}
|
|
2517
|
+
success(result) {
|
|
2518
|
+
this.next = result.next;
|
|
2519
|
+
this.loading = false;
|
|
2520
|
+
this.empty = !any(result.items);
|
|
2521
|
+
this.handleSuccess.emit(result);
|
|
2522
|
+
}
|
|
2523
|
+
error(error) {
|
|
2524
|
+
this.loading = false;
|
|
2525
|
+
this.empty = false;
|
|
2526
|
+
this.handleError.emit(error);
|
|
2527
|
+
}
|
|
2528
|
+
buildParameters(predicate$) {
|
|
2529
|
+
const parameters$ = (predicate$ || EMPTY.pipe(startWith(null))).pipe(tap(() => {
|
|
2530
|
+
if (isDefined(this.contentEl))
|
|
2531
|
+
this.contentEl.nativeElement.scrollTop = 0;
|
|
2532
|
+
this.loadMoreService.reset();
|
|
2533
|
+
}), switchMap((value) => {
|
|
2534
|
+
return this.loadMoreService.more$.pipe(startWith(this.loadMoreService.START_PAGE), tap(() => this.loading = true), map((page) => {
|
|
2535
|
+
return { params: value, page: page };
|
|
2536
|
+
}));
|
|
2537
|
+
}));
|
|
2538
|
+
return parameters$;
|
|
2539
|
+
}
|
|
2540
|
+
buildDynamic(parameters$, loader) {
|
|
2541
|
+
return parameters$.pipe(switchMap((parameters) => loader(parameters)));
|
|
2542
|
+
}
|
|
2543
|
+
buildStatic(parameters$, model) {
|
|
2544
|
+
return parameters$.pipe(withLatestFrom(model.data$ || of([])), map(([parameters, items]) => {
|
|
2545
|
+
const filtered = model.filter ? model.filter(items, parameters) : items, data = filtered ? {
|
|
2546
|
+
items: skip(filtered, parameters.page, this.size),
|
|
2547
|
+
next: parameters.page < Math.ceil(filtered.length / this.size)
|
|
2548
|
+
} : { items: [], next: false };
|
|
2549
|
+
return data;
|
|
2550
|
+
}));
|
|
2551
|
+
}
|
|
2552
|
+
}
|
|
2553
|
+
LoadContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadContainerComponent, deps: [{ token: LoaderService }, { token: LoadMoreService }], target: i0.ɵɵFactoryTarget.Component });
|
|
2554
|
+
LoadContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: LoadContainerComponent, selector: "sfc-load-container", inputs: { id: "id", type: "type", open: "open", size: "size", loadMore: "loadMore", showEmpty: "showEmpty", showLoadMoreButton: "showLoadMoreButton", loadMoreLabel: "loadMoreLabel", notFoundLabel: "notFoundLabel", model: "model", scrollTarget: "scrollTarget" }, outputs: { handleError: "handleError", handleSuccess: "handleSuccess", handleLoading: "handleLoading" }, host: { properties: { "class": "this.type", "class.open": "this.open", "class.empty": "this.isEmpty", "class.loading": "this._loading" } }, providers: [LoadMoreService], viewQueries: [{ propertyName: "contentEl", first: true, predicate: ["content"], descendants: true }], ngImport: i0, template: "<div class=\"container\">\r\n <sfc-bounce-loader [id]=\"id\" [sfcComponentSize]=\"ComponentSize.Small\"></sfc-bounce-loader>\r\n <div #content class=\"content\" [sfcScrollIntoView]=\"scrollTarget\" (sfcScrollTracker)=\"onScroll()\" [positions]=\"scrollPosition\">\r\n <ng-content></ng-content>\r\n <div (sfcMouseDown)=\"$event.preventDefault()\">\r\n <sfc-load-more-button [hidden]=\"hideLoadMoreButton\" (more)=\"more($event)\" [label]=\"loadMoreLabel\">\r\n </sfc-load-more-button>\r\n <div *ngIf=\"isEmpty\" class=\"empty\">{{notFoundLabel}}</div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{width:100%;height:inherit;position:relative}:host .container{height:inherit;background:#fff}:host .container .content{cursor:initial;overflow-y:auto;height:inherit}:host .container .content sfc-load-more-button ::ng-deep sfc-delimeter{background:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 17%,rgba(0,0,0,.3) 83%,rgba(0,0,0,0) 100%)}:host .container .content .empty{display:flex;align-items:center;justify-content:center;color:#545e61;cursor:default;height:100%;font-size:.8em;-webkit-user-select:none;user-select:none;padding:.7em}:host.dropdown .container .content{display:none;opacity:0;max-height:12.5em;box-shadow:0 .125em .125em #00000024,0 .18em .06em -.125em #0000001f,0 .06em .31em #0003}:host.dropdown.open .container .content{display:block;opacity:1}:host ::ng-deep ::-webkit-scrollbar{width:.375em;height:.375em}:host ::ng-deep ::-webkit-scrollbar-track{border-radius:.625em;background:rgba(0,0,0,.1)}:host ::ng-deep ::-webkit-scrollbar-thumb{border-radius:.625em;background:rgba(0,0,0,.2)}:host ::ng-deep ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.4)}:host ::ng-deep ::-webkit-scrollbar-thumb:active{background:rgba(0,0,0,.6)}\n"], components: [{ type: BounceLoaderComponent, selector: "sfc-bounce-loader" }, { type: LoadMoreButtonComponent, selector: "sfc-load-more-button", inputs: ["label", "icon"], outputs: ["more"] }], directives: [{ type: ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: ["sfcComponentSize", "customSize"] }, { type: ScrollIntoViewDirective, selector: "[sfcScrollIntoView]", inputs: ["sfcScrollIntoView", "options"] }, { type: ScrollTrackerDirective, selector: "[sfcScrollTracker]", inputs: ["positions"], outputs: ["sfcScrollTracker"] }, { type: MouseDownDirective, selector: "[sfcMouseDown]", inputs: ["button"], outputs: ["sfcMouseDown"] }, { type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2555
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadContainerComponent, decorators: [{
|
|
2556
|
+
type: Component,
|
|
2557
|
+
args: [{ selector: 'sfc-load-container', providers: [LoadMoreService], template: "<div class=\"container\">\r\n <sfc-bounce-loader [id]=\"id\" [sfcComponentSize]=\"ComponentSize.Small\"></sfc-bounce-loader>\r\n <div #content class=\"content\" [sfcScrollIntoView]=\"scrollTarget\" (sfcScrollTracker)=\"onScroll()\" [positions]=\"scrollPosition\">\r\n <ng-content></ng-content>\r\n <div (sfcMouseDown)=\"$event.preventDefault()\">\r\n <sfc-load-more-button [hidden]=\"hideLoadMoreButton\" (more)=\"more($event)\" [label]=\"loadMoreLabel\">\r\n </sfc-load-more-button>\r\n <div *ngIf=\"isEmpty\" class=\"empty\">{{notFoundLabel}}</div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{width:100%;height:inherit;position:relative}:host .container{height:inherit;background:#fff}:host .container .content{cursor:initial;overflow-y:auto;height:inherit}:host .container .content sfc-load-more-button ::ng-deep sfc-delimeter{background:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 17%,rgba(0,0,0,.3) 83%,rgba(0,0,0,0) 100%)}:host .container .content .empty{display:flex;align-items:center;justify-content:center;color:#545e61;cursor:default;height:100%;font-size:.8em;-webkit-user-select:none;user-select:none;padding:.7em}:host.dropdown .container .content{display:none;opacity:0;max-height:12.5em;box-shadow:0 .125em .125em #00000024,0 .18em .06em -.125em #0000001f,0 .06em .31em #0003}:host.dropdown.open .container .content{display:block;opacity:1}:host ::ng-deep ::-webkit-scrollbar{width:.375em;height:.375em}:host ::ng-deep ::-webkit-scrollbar-track{border-radius:.625em;background:rgba(0,0,0,.1)}:host ::ng-deep ::-webkit-scrollbar-thumb{border-radius:.625em;background:rgba(0,0,0,.2)}:host ::ng-deep ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.4)}:host ::ng-deep ::-webkit-scrollbar-thumb:active{background:rgba(0,0,0,.6)}\n"] }]
|
|
2558
|
+
}], ctorParameters: function () { return [{ type: LoaderService }, { type: LoadMoreService }]; }, propDecorators: { id: [{
|
|
2559
|
+
type: Input
|
|
2560
|
+
}], type: [{
|
|
2561
|
+
type: Input
|
|
2562
|
+
}, {
|
|
2563
|
+
type: HostBinding,
|
|
2564
|
+
args: ['class']
|
|
2565
|
+
}], open: [{
|
|
2566
|
+
type: Input
|
|
2567
|
+
}, {
|
|
2568
|
+
type: HostBinding,
|
|
2569
|
+
args: [`class.${UIClass.Open}`]
|
|
2570
|
+
}], size: [{
|
|
2571
|
+
type: Input
|
|
2572
|
+
}], loadMore: [{
|
|
2573
|
+
type: Input
|
|
2574
|
+
}], showEmpty: [{
|
|
2575
|
+
type: Input
|
|
2576
|
+
}], showLoadMoreButton: [{
|
|
2577
|
+
type: Input
|
|
2578
|
+
}], loadMoreLabel: [{
|
|
2579
|
+
type: Input
|
|
2580
|
+
}], notFoundLabel: [{
|
|
2581
|
+
type: Input
|
|
2582
|
+
}], model: [{
|
|
2583
|
+
type: Input
|
|
2584
|
+
}], scrollTarget: [{
|
|
2585
|
+
type: Input
|
|
2586
|
+
}], handleError: [{
|
|
2587
|
+
type: Output
|
|
2588
|
+
}], handleSuccess: [{
|
|
2589
|
+
type: Output
|
|
2590
|
+
}], handleLoading: [{
|
|
2591
|
+
type: Output
|
|
2592
|
+
}], contentEl: [{
|
|
2593
|
+
type: ViewChild,
|
|
2594
|
+
args: ['content']
|
|
2595
|
+
}], isEmpty: [{
|
|
2596
|
+
type: HostBinding,
|
|
2597
|
+
args: [`class.${UIClass.Empty}`]
|
|
2598
|
+
}], _loading: [{
|
|
2599
|
+
type: HostBinding,
|
|
2600
|
+
args: [`class.${UIClass.Loading}`]
|
|
2601
|
+
}] } });
|
|
2602
|
+
|
|
2129
2603
|
class NgxSfcCommonModule {
|
|
2130
2604
|
}
|
|
2131
2605
|
NgxSfcCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSfcCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -2138,6 +2612,9 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
2138
2612
|
MouseDownDirective,
|
|
2139
2613
|
ComponentSizeDirective,
|
|
2140
2614
|
DestroyParentDirective,
|
|
2615
|
+
DomChangesDirective,
|
|
2616
|
+
ScrollTrackerDirective,
|
|
2617
|
+
ScrollIntoViewDirective,
|
|
2141
2618
|
// components
|
|
2142
2619
|
ButtonComponent,
|
|
2143
2620
|
TooltipComponent,
|
|
@@ -2150,14 +2627,19 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
2150
2627
|
DotsComponent,
|
|
2151
2628
|
PaginationComponent,
|
|
2152
2629
|
SortingComponent,
|
|
2630
|
+
LoadMoreButtonComponent,
|
|
2631
|
+
LoadContainerComponent,
|
|
2153
2632
|
// loaders
|
|
2154
2633
|
BounceLoaderComponent,
|
|
2155
2634
|
CircleLoaderComponent,
|
|
2156
2635
|
// modal
|
|
2157
2636
|
ModalComponent,
|
|
2637
|
+
ModalOpenDirective,
|
|
2158
2638
|
ModalOpenOnClickDirective,
|
|
2159
2639
|
DefaultModalHeaderComponent,
|
|
2160
|
-
DefaultModalFooterComponent
|
|
2640
|
+
DefaultModalFooterComponent,
|
|
2641
|
+
// pipes
|
|
2642
|
+
SwitchMultiCasePipe
|
|
2161
2643
|
], imports: [CommonModule,
|
|
2162
2644
|
BrowserAnimationsModule,
|
|
2163
2645
|
FontAwesomeModule], exports: [
|
|
@@ -2169,6 +2651,9 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
2169
2651
|
MouseDownDirective,
|
|
2170
2652
|
ComponentSizeDirective,
|
|
2171
2653
|
DestroyParentDirective,
|
|
2654
|
+
DomChangesDirective,
|
|
2655
|
+
ScrollTrackerDirective,
|
|
2656
|
+
ScrollIntoViewDirective,
|
|
2172
2657
|
// components
|
|
2173
2658
|
ButtonComponent,
|
|
2174
2659
|
TooltipComponent,
|
|
@@ -2181,14 +2666,19 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
2181
2666
|
HamburgerComponent,
|
|
2182
2667
|
PaginationComponent,
|
|
2183
2668
|
SortingComponent,
|
|
2669
|
+
LoadMoreButtonComponent,
|
|
2670
|
+
LoadContainerComponent,
|
|
2184
2671
|
// loaders
|
|
2185
2672
|
BounceLoaderComponent,
|
|
2186
2673
|
CircleLoaderComponent,
|
|
2187
2674
|
// modal
|
|
2188
2675
|
ModalComponent,
|
|
2676
|
+
ModalOpenDirective,
|
|
2189
2677
|
ModalOpenOnClickDirective,
|
|
2190
2678
|
DefaultModalHeaderComponent,
|
|
2191
|
-
DefaultModalFooterComponent
|
|
2679
|
+
DefaultModalFooterComponent,
|
|
2680
|
+
// pipes
|
|
2681
|
+
SwitchMultiCasePipe
|
|
2192
2682
|
] });
|
|
2193
2683
|
NgxSfcCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSfcCommonModule, providers: [DOCUMENT_PROVIDERS, WINDOW_PROVIDERS], imports: [[
|
|
2194
2684
|
CommonModule,
|
|
@@ -2207,6 +2697,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2207
2697
|
MouseDownDirective,
|
|
2208
2698
|
ComponentSizeDirective,
|
|
2209
2699
|
DestroyParentDirective,
|
|
2700
|
+
DomChangesDirective,
|
|
2701
|
+
ScrollTrackerDirective,
|
|
2702
|
+
ScrollIntoViewDirective,
|
|
2210
2703
|
// components
|
|
2211
2704
|
ButtonComponent,
|
|
2212
2705
|
TooltipComponent,
|
|
@@ -2219,14 +2712,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2219
2712
|
DotsComponent,
|
|
2220
2713
|
PaginationComponent,
|
|
2221
2714
|
SortingComponent,
|
|
2715
|
+
LoadMoreButtonComponent,
|
|
2716
|
+
LoadContainerComponent,
|
|
2222
2717
|
// loaders
|
|
2223
2718
|
BounceLoaderComponent,
|
|
2224
2719
|
CircleLoaderComponent,
|
|
2225
2720
|
// modal
|
|
2226
2721
|
ModalComponent,
|
|
2722
|
+
ModalOpenDirective,
|
|
2227
2723
|
ModalOpenOnClickDirective,
|
|
2228
2724
|
DefaultModalHeaderComponent,
|
|
2229
|
-
DefaultModalFooterComponent
|
|
2725
|
+
DefaultModalFooterComponent,
|
|
2726
|
+
// pipes
|
|
2727
|
+
SwitchMultiCasePipe
|
|
2230
2728
|
],
|
|
2231
2729
|
imports: [
|
|
2232
2730
|
CommonModule,
|
|
@@ -2242,6 +2740,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2242
2740
|
MouseDownDirective,
|
|
2243
2741
|
ComponentSizeDirective,
|
|
2244
2742
|
DestroyParentDirective,
|
|
2743
|
+
DomChangesDirective,
|
|
2744
|
+
ScrollTrackerDirective,
|
|
2745
|
+
ScrollIntoViewDirective,
|
|
2245
2746
|
// components
|
|
2246
2747
|
ButtonComponent,
|
|
2247
2748
|
TooltipComponent,
|
|
@@ -2254,14 +2755,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2254
2755
|
HamburgerComponent,
|
|
2255
2756
|
PaginationComponent,
|
|
2256
2757
|
SortingComponent,
|
|
2758
|
+
LoadMoreButtonComponent,
|
|
2759
|
+
LoadContainerComponent,
|
|
2257
2760
|
// loaders
|
|
2258
2761
|
BounceLoaderComponent,
|
|
2259
2762
|
CircleLoaderComponent,
|
|
2260
2763
|
// modal
|
|
2261
2764
|
ModalComponent,
|
|
2765
|
+
ModalOpenDirective,
|
|
2262
2766
|
ModalOpenOnClickDirective,
|
|
2263
2767
|
DefaultModalHeaderComponent,
|
|
2264
|
-
DefaultModalFooterComponent
|
|
2768
|
+
DefaultModalFooterComponent,
|
|
2769
|
+
// pipes
|
|
2770
|
+
SwitchMultiCasePipe
|
|
2265
2771
|
],
|
|
2266
2772
|
providers: [DOCUMENT_PROVIDERS, WINDOW_PROVIDERS]
|
|
2267
2773
|
}]
|
|
@@ -2275,5 +2781,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2275
2781
|
* Generated bundle index. Do not edit.
|
|
2276
2782
|
*/
|
|
2277
2783
|
|
|
2278
|
-
export { BounceLoaderComponent, BrowserDocumentRef, BrowserWindowRef, ButtonComponent, ButtonType, CheckmarkComponent, CircleLoaderComponent, CircleLoaderType, ClickOutsideDirective, CloseComponent, CommonConstants, ComponentSize, ComponentSizeDirective, DOCUMENT, DOCUMENT_PROVIDERS, DateTimeConstants, DefaultModalFooterComponent, DefaultModalHeaderComponent, DelimeterComponent, DestroyParentDirective, Direction, DocumentRef, DotsComponent, HamburgerComponent, LoaderService, MediaLimits, ModalComponent, ModalOpenOnClickDirective, ModalService, ModalTemplate, MouseDownDirective, NgxSfcCommonModule, PaginationComponent, PaginationService, Position, ResizeService, ShowHideElementDirective, SortingComponent, SortingDirection, SortingService, TemplateContentComponent, TemplateReferenceDirective, Theme, ThrowElementOnHoverDirective, ToggleSwitcherComponent, TooltipComponent, TooltipType, UIClass, UIConstants, WINDOW, WINDOW_PROVIDERS, WindowRef, addClasses, addItem, addPropertyToObject, all, any, browserDocumentProvider, browserWindowProvider, contains, distinct, documentFactory, documentProvider, firstItem, firstOrDefault, getCalcValue, getCollectionOrEmpty, getCssLikeValue, getFileExtension, getFirstDayOfMonth, getFirstDayOfMonthByYearAndMonth, getFirstDayOfYear, getLastDayOfMonth, getLastDayOfMonthByYearAndMonth, getLastDayOfYear, getNextMonth, getNextYear, getPreviousMonth, getPreviousYear, getValueFromCssLikeValue, getWeeksNumberInMonth, hasItem, hasItemBy, hasObjectItem, hexToRgb, isAsyncData, isDateGreat, isDateGreatOrEqual, isDateTimeGreat, isDateTimeGreatOrEqual, isDefined, isEqualDates, isImage, isNullOrEmptyString, isNumeric, isObject, lastItem, max, mergeDeep, nameof, parseFileSize, readAsDataURL, remove, removeClasses, removeItem, removePropertyFromObject, replaceRgbOpacity, rgbToHex, setDay, setHours, setMinutes, setYear, skip, sortBy, sortByPath, sum, trim,
|
|
2784
|
+
export { BounceLoaderComponent, BrowserDocumentRef, BrowserWindowRef, ButtonComponent, ButtonType, CheckmarkComponent, CheckmarkType, CircleLoaderComponent, CircleLoaderType, ClickOutsideDirective, CloseComponent, CommonConstants, ComponentSize, ComponentSizeDirective, DOCUMENT, DOCUMENT_PROVIDERS, DateTimeConstants, DefaultModalFooterComponent, DefaultModalHeaderComponent, DelimeterComponent, DestroyParentDirective, Direction, DocumentRef, DomChangesDirective, DotsComponent, HamburgerComponent, LoadContainerComponent, LoadContainerType, LoadMoreButtonComponent, LoaderService, MediaLimits, ModalComponent, ModalOpenDirective, ModalOpenOnClickDirective, ModalService, ModalTemplate, MouseDownDirective, NgxSfcCommonModule, PaginationComponent, PaginationService, Position, ResizeService, ScrollIntoViewDirective, ScrollTrackerDirective, Sequence, ShowHideElementDirective, SortingComponent, SortingDirection, SortingService, SwitchMultiCasePipe, TemplateContentComponent, TemplateReferenceDirective, Theme, ThrowElementOnHoverDirective, ToggleSwitcherComponent, TooltipComponent, TooltipType, UIClass, UIConstants, WINDOW, WINDOW_PROVIDERS, WindowRef, addClasses, addItem, addPropertyToObject, all, any, browserDocumentProvider, browserWindowProvider, contains, distinct, documentFactory, documentProvider, firstItem, firstOrDefault, getCalcValue, getCollectionOrEmpty, getCssLikeValue, getFileExtension, getFirstDayOfMonth, getFirstDayOfMonthByYearAndMonth, getFirstDayOfYear, getLastDayOfMonth, getLastDayOfMonthByYearAndMonth, getLastDayOfYear, getNextDate, getNextMonth, getNextYear, getPreviousMonth, getPreviousYear, getRotateValue, getValueFromCssLikeValue, getWeeksNumberInMonth, hasItem, hasItemBy, hasObjectItem, hexToRgb, isAsyncData, isChromeBrowser, isDateGreat, isDateGreatOrEqual, isDateTimeGreat, isDateTimeGreatOrEqual, isDefined, isEqualDates, isImage, isNullOrEmptyString, isNumeric, isObject, lastItem, max, mergeDeep, nameof, parseFileSize, readAsDataURL, remove, removeClasses, removeItem, removeItemBy, removePropertyFromObject, replaceRgbOpacity, rgbToHex, setDay, setDefaultSecondsAndMiliseconds, setHours, setMilliseconds, setMinutes, setSeconds, setYear, skip, sort, sortBy, sortByPath, sum, trim, updateItemBy, where, windowFactory, windowProvider };
|
|
2279
2785
|
//# sourceMappingURL=ngx-sfc-common.mjs.map
|