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
|
*/
|
|
@@ -335,12 +347,15 @@ class CommonConstants {
|
|
|
335
347
|
CommonConstants.NOT_FOUND_INDEX = -1;
|
|
336
348
|
CommonConstants.EMPTY_STRING = '';
|
|
337
349
|
CommonConstants.MOUSE_BUTTON_LEFT = 0;
|
|
338
|
-
CommonConstants.FULL_PERCENTAGE = 100;
|
|
350
|
+
CommonConstants.FULL_PERCENTAGE = 100;
|
|
351
|
+
CommonConstants.COMMON_TEXT_DELIMETER = '/';
|
|
339
352
|
|
|
340
353
|
class DateTimeConstants {
|
|
341
354
|
}
|
|
342
355
|
DateTimeConstants.DAYS_IN_WEEK = 7;
|
|
343
356
|
DateTimeConstants.HOURS_IN_SHORT_TIME = 12;
|
|
357
|
+
DateTimeConstants.HOURS_IN_TIME = 24;
|
|
358
|
+
DateTimeConstants.MIDNIGHT_HOUR = 0;
|
|
344
359
|
DateTimeConstants.MINUTES_IN_HOUR = 60;
|
|
345
360
|
DateTimeConstants.DAYS_OF_WEEK = ["S", "M", "T", "W", "T", "F", "S"];
|
|
346
361
|
DateTimeConstants.DAYS_OF_WEEK_3 = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
|
|
@@ -435,7 +450,7 @@ function isAsyncData(data) {
|
|
|
435
450
|
* @returns Extended object with new property
|
|
436
451
|
*/
|
|
437
452
|
function addPropertyToObject(obj, property, value = null) {
|
|
438
|
-
if (
|
|
453
|
+
if (isDefined(property) && !obj.hasOwnProperty(property)) {
|
|
439
454
|
let newObj = {};
|
|
440
455
|
newObj[property] = value;
|
|
441
456
|
obj = { ...obj, ...newObj };
|
|
@@ -494,6 +509,13 @@ const nameof = (name) => name;
|
|
|
494
509
|
*/
|
|
495
510
|
function isNumeric(number) {
|
|
496
511
|
return !isNaN(parseFloat(number));
|
|
512
|
+
}
|
|
513
|
+
/**
|
|
514
|
+
* Return true if current browser is Chrome
|
|
515
|
+
* @returns If current browser is Chrome
|
|
516
|
+
*/
|
|
517
|
+
function isChromeBrowser() {
|
|
518
|
+
return /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
|
|
497
519
|
}
|
|
498
520
|
|
|
499
521
|
/**
|
|
@@ -532,8 +554,9 @@ function trim(value) {
|
|
|
532
554
|
* @returns Date with minute value
|
|
533
555
|
*/
|
|
534
556
|
function setMinutes(date, minute) {
|
|
535
|
-
date
|
|
536
|
-
|
|
557
|
+
const result = new Date(date);
|
|
558
|
+
result.setMinutes(minute);
|
|
559
|
+
return result;
|
|
537
560
|
}
|
|
538
561
|
/**
|
|
539
562
|
* Set hours for date
|
|
@@ -542,8 +565,9 @@ function setMinutes(date, minute) {
|
|
|
542
565
|
* @returns Date with hour value
|
|
543
566
|
*/
|
|
544
567
|
function setHours(date, hour) {
|
|
545
|
-
date
|
|
546
|
-
|
|
568
|
+
const result = new Date(date);
|
|
569
|
+
result.setHours(hour);
|
|
570
|
+
return result;
|
|
547
571
|
}
|
|
548
572
|
/**
|
|
549
573
|
* Set day for date value
|
|
@@ -563,8 +587,52 @@ function setDay(date, dayNumber) {
|
|
|
563
587
|
* @returns Date with year value
|
|
564
588
|
*/
|
|
565
589
|
function setYear(date, year) {
|
|
566
|
-
date
|
|
567
|
-
|
|
590
|
+
const result = new Date(date);
|
|
591
|
+
result.setFullYear(year);
|
|
592
|
+
return result;
|
|
593
|
+
}
|
|
594
|
+
/**
|
|
595
|
+
* Set seconds for date
|
|
596
|
+
* @param date Date value
|
|
597
|
+
* @param value Seconds value
|
|
598
|
+
* @returns Date with minute value
|
|
599
|
+
*/
|
|
600
|
+
function setSeconds(date, value) {
|
|
601
|
+
const result = new Date(date);
|
|
602
|
+
result.setSeconds(value);
|
|
603
|
+
return result;
|
|
604
|
+
}
|
|
605
|
+
/**
|
|
606
|
+
* Set milliseconds for date
|
|
607
|
+
* @param date Date value
|
|
608
|
+
* @param value Milliseconds value
|
|
609
|
+
* @returns Date with minute value
|
|
610
|
+
*/
|
|
611
|
+
function setMilliseconds(date, value) {
|
|
612
|
+
const result = new Date(date);
|
|
613
|
+
result.setMilliseconds(value);
|
|
614
|
+
return result;
|
|
615
|
+
}
|
|
616
|
+
/**
|
|
617
|
+
* Set 0 for seconds and milliseconds of date
|
|
618
|
+
* @param date Date value
|
|
619
|
+
* @returns Date with minute value
|
|
620
|
+
*/
|
|
621
|
+
function setDefaultSecondsAndMiliseconds(date) {
|
|
622
|
+
const result = new Date(date);
|
|
623
|
+
result.setSeconds(0);
|
|
624
|
+
result.setMilliseconds(0);
|
|
625
|
+
return result;
|
|
626
|
+
}
|
|
627
|
+
/**
|
|
628
|
+
* Get next date
|
|
629
|
+
* @param date Date value
|
|
630
|
+
* @returns Next date
|
|
631
|
+
*/
|
|
632
|
+
function getNextDate(date) {
|
|
633
|
+
const nextDate = new Date(date);
|
|
634
|
+
nextDate.setDate(date.getDate() + 1);
|
|
635
|
+
return nextDate;
|
|
568
636
|
}
|
|
569
637
|
/**
|
|
570
638
|
* Get next month as date
|
|
@@ -686,9 +754,10 @@ function getWeeksNumberInMonth(date) {
|
|
|
686
754
|
* @returns True if first and second date are equal
|
|
687
755
|
*/
|
|
688
756
|
function isEqualDates(date1, date2) {
|
|
689
|
-
date1
|
|
690
|
-
|
|
691
|
-
|
|
757
|
+
const date1Value = new Date(date1), date2Value = new Date(date2);
|
|
758
|
+
date1Value.setHours(0, 0, 0, 0);
|
|
759
|
+
date2Value.setHours(0, 0, 0, 0);
|
|
760
|
+
return date1Value.getTime() === date2Value.getTime();
|
|
692
761
|
}
|
|
693
762
|
/**
|
|
694
763
|
* Return true if first date greater than second date
|
|
@@ -770,7 +839,8 @@ function readAsDataURL(file, onLoad) {
|
|
|
770
839
|
reader.onload = () => onLoad(reader.result);
|
|
771
840
|
reader.readAsDataURL(file);
|
|
772
841
|
}
|
|
773
|
-
|
|
842
|
+
else
|
|
843
|
+
throw new Error('File utils | Read as data URL function --> File is empty.');
|
|
774
844
|
}
|
|
775
845
|
/**
|
|
776
846
|
* Return true if file is image
|
|
@@ -778,7 +848,7 @@ function readAsDataURL(file, onLoad) {
|
|
|
778
848
|
* @returns True if file is image
|
|
779
849
|
*/
|
|
780
850
|
function isImage(file) {
|
|
781
|
-
return (/\.(gif|jpe?g|jpg|tiff|png|webp|bmp)$/i).test(file.name);
|
|
851
|
+
return isDefined(file) && (/\.(gif|jpe?g|jpg|tiff|png|webp|bmp)$/i).test(file.name);
|
|
782
852
|
}
|
|
783
853
|
|
|
784
854
|
/**
|
|
@@ -806,6 +876,14 @@ function getValueFromCssLikeValue(value, type = UIConstants.CSS_PIXELS) {
|
|
|
806
876
|
function getCalcValue(part, value = 100) {
|
|
807
877
|
return `calc(${value}${UIConstants.CSS_PERCENTAGE} / ${part} )`;
|
|
808
878
|
}
|
|
879
|
+
/**
|
|
880
|
+
* Return CCS like rotate value
|
|
881
|
+
* @param value value as degrees
|
|
882
|
+
* @returns Rotate value
|
|
883
|
+
*/
|
|
884
|
+
function getRotateValue(value) {
|
|
885
|
+
return `rotate(${value}deg)`;
|
|
886
|
+
}
|
|
809
887
|
/**
|
|
810
888
|
* Add classes to HTML element
|
|
811
889
|
* @param element HTML element
|
|
@@ -958,6 +1036,14 @@ function skip(collection, page, size) {
|
|
|
958
1036
|
}
|
|
959
1037
|
return collection;
|
|
960
1038
|
}
|
|
1039
|
+
function sort(collection, direction = SortingDirection.Ascending) {
|
|
1040
|
+
if (any(collection)) {
|
|
1041
|
+
return direction == SortingDirection.Ascending
|
|
1042
|
+
? collection.sort((a, b) => a - b)
|
|
1043
|
+
: collection.sort((a, b) => b - a);
|
|
1044
|
+
}
|
|
1045
|
+
return collection;
|
|
1046
|
+
}
|
|
961
1047
|
/**
|
|
962
1048
|
* Return sorted collection of objects by property
|
|
963
1049
|
* @param collection Array of items
|
|
@@ -1066,13 +1152,26 @@ function addItem(collection, item, predicate) {
|
|
|
1066
1152
|
collection.push(item);
|
|
1067
1153
|
return true;
|
|
1068
1154
|
}
|
|
1155
|
+
/**
|
|
1156
|
+
* Delete item from collection
|
|
1157
|
+
* @param collection Array of items
|
|
1158
|
+
* @param item Item to delete
|
|
1159
|
+
* @returns True if successfully removed
|
|
1160
|
+
*/
|
|
1161
|
+
function removeItem(collection, item) {
|
|
1162
|
+
if (isDefined(item) && hasItem(collection, item)) {
|
|
1163
|
+
collection.splice(collection.indexOf(item), 1);
|
|
1164
|
+
return true;
|
|
1165
|
+
}
|
|
1166
|
+
return false;
|
|
1167
|
+
}
|
|
1069
1168
|
/**
|
|
1070
1169
|
* Delete item from collection by predicate
|
|
1071
1170
|
* @param collection Array of items
|
|
1072
1171
|
* @param predicate Function to define remove logic
|
|
1073
1172
|
* @returns True if successfully removed
|
|
1074
1173
|
*/
|
|
1075
|
-
function
|
|
1174
|
+
function removeItemBy(collection, predicate) {
|
|
1076
1175
|
const foundItem = firstOrDefault(collection, predicate);
|
|
1077
1176
|
if (isDefined(foundItem)) {
|
|
1078
1177
|
collection.splice(collection.indexOf(foundItem), 1);
|
|
@@ -1080,7 +1179,13 @@ function removeItem(collection, predicate) {
|
|
|
1080
1179
|
}
|
|
1081
1180
|
return false;
|
|
1082
1181
|
}
|
|
1083
|
-
|
|
1182
|
+
/**
|
|
1183
|
+
* Update item in collection by predicate
|
|
1184
|
+
* @param collection Array of items
|
|
1185
|
+
* @param predicate Function to define item for deleting
|
|
1186
|
+
* @returns True if successfully removed
|
|
1187
|
+
*/
|
|
1188
|
+
function updateItemBy(collection, predicate, newItem) {
|
|
1084
1189
|
const itemIndex = collection.findIndex(predicate);
|
|
1085
1190
|
if (itemIndex !== CommonConstants.NOT_FOUND_INDEX) {
|
|
1086
1191
|
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
|
}] } });
|
|
@@ -1420,7 +1644,7 @@ class LoaderService {
|
|
|
1420
1644
|
*/
|
|
1421
1645
|
remove(id = LoaderConstants.GLOBAL_LOADER_ID) {
|
|
1422
1646
|
const loaders = this.loaderSubject.getValue();
|
|
1423
|
-
if (
|
|
1647
|
+
if (removeItemBy(loaders, loader => loader.id == id)) {
|
|
1424
1648
|
this.loaderSubject.next(loaders);
|
|
1425
1649
|
}
|
|
1426
1650
|
}
|
|
@@ -1432,7 +1656,7 @@ class LoaderService {
|
|
|
1432
1656
|
const loaders = this.loaderSubject.getValue(), ILoaderEvent = { id, status }, loader = firstOrDefault(loaders, (loader) => loader.id == id);
|
|
1433
1657
|
if (isDefined(loader) && loader?.status == status)
|
|
1434
1658
|
return this.selectLoaderById(id);
|
|
1435
|
-
const updatedLoaders =
|
|
1659
|
+
const updatedLoaders = updateItemBy(loaders, (loader) => loader.id == id, ILoaderEvent);
|
|
1436
1660
|
if (isDefined(updatedLoaders)) {
|
|
1437
1661
|
this.loaderSubject.next(updatedLoaders);
|
|
1438
1662
|
}
|
|
@@ -1680,7 +1904,7 @@ class ModalComponent {
|
|
|
1680
1904
|
}
|
|
1681
1905
|
}
|
|
1682
1906
|
ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1683
|
-
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;
|
|
1907
|
+
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: [
|
|
1684
1908
|
trigger('hideOverlay', [
|
|
1685
1909
|
state('initial', style({ opacity: 1, visibility: 'visible' })),
|
|
1686
1910
|
state('void', style({ opacity: 0, visibility: 'hidden' })),
|
|
@@ -1725,7 +1949,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
1725
1949
|
state('void', style({ opacity: 0, visibility: 'hidden', transform: 'scale(1.2)' })),
|
|
1726
1950
|
transition('* => void', animate('400ms cubic-bezier(.55, 0, .1, 1)'))
|
|
1727
1951
|
])
|
|
1728
|
-
], 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;
|
|
1952
|
+
], 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"] }]
|
|
1729
1953
|
}], ctorParameters: function () { return [{ type: ModalService }]; }, propDecorators: { body: [{
|
|
1730
1954
|
type: Input
|
|
1731
1955
|
}], header: [{
|
|
@@ -1773,9 +1997,7 @@ class ModalOpenOnClickDirective {
|
|
|
1773
1997
|
}
|
|
1774
1998
|
ngOnInit() {
|
|
1775
1999
|
this._closeSubscription = this.modalService.close$
|
|
1776
|
-
.subscribe(() =>
|
|
1777
|
-
this.viewContainer.clear();
|
|
1778
|
-
});
|
|
2000
|
+
.subscribe(() => this.viewContainer.clear());
|
|
1779
2001
|
}
|
|
1780
2002
|
ngOnDestroy() {
|
|
1781
2003
|
this._closeSubscription?.unsubscribe();
|
|
@@ -1794,6 +2016,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
1794
2016
|
args: ['sfcModalOpenOnClick']
|
|
1795
2017
|
}] } });
|
|
1796
2018
|
|
|
2019
|
+
class ModalOpenDirective {
|
|
2020
|
+
constructor(templateRef, viewContainer, modalService) {
|
|
2021
|
+
this.templateRef = templateRef;
|
|
2022
|
+
this.viewContainer = viewContainer;
|
|
2023
|
+
this.modalService = modalService;
|
|
2024
|
+
this._closeSubscription = this.modalService.close$.subscribe(() => this.viewContainer.clear());
|
|
2025
|
+
this._openSubscription = this.modalService.open$
|
|
2026
|
+
.subscribe(() => {
|
|
2027
|
+
this.viewContainer.clear();
|
|
2028
|
+
this.viewContainer.createEmbeddedView(this.templateRef);
|
|
2029
|
+
});
|
|
2030
|
+
}
|
|
2031
|
+
ngOnDestroy() {
|
|
2032
|
+
this._closeSubscription.unsubscribe();
|
|
2033
|
+
this._openSubscription.unsubscribe();
|
|
2034
|
+
}
|
|
2035
|
+
}
|
|
2036
|
+
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 });
|
|
2037
|
+
ModalOpenDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: ModalOpenDirective, selector: "[sfcModalOpen]", ngImport: i0 });
|
|
2038
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalOpenDirective, decorators: [{
|
|
2039
|
+
type: Directive,
|
|
2040
|
+
args: [{
|
|
2041
|
+
selector: '[sfcModalOpen]'
|
|
2042
|
+
}]
|
|
2043
|
+
}], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: ModalService }]; } });
|
|
2044
|
+
|
|
1797
2045
|
class HamburgerComponent {
|
|
1798
2046
|
constructor() {
|
|
1799
2047
|
this.open = false;
|
|
@@ -1845,21 +2093,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
1845
2093
|
class ToggleSwitcherComponent {
|
|
1846
2094
|
constructor() {
|
|
1847
2095
|
this.active = false;
|
|
2096
|
+
this.disabled = false;
|
|
1848
2097
|
this.onClick = () => this.active = !this.active;
|
|
1849
2098
|
this.leftModel = { label: 'Left' };
|
|
1850
2099
|
this.rightModel = { label: 'Right' };
|
|
1851
2100
|
}
|
|
1852
2101
|
}
|
|
1853
2102
|
ToggleSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ToggleSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1854
|
-
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"] }] });
|
|
2103
|
+
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"] }] });
|
|
1855
2104
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ToggleSwitcherComponent, decorators: [{
|
|
1856
2105
|
type: Component,
|
|
1857
|
-
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"] }]
|
|
2106
|
+
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"] }]
|
|
1858
2107
|
}], ctorParameters: function () { return []; }, propDecorators: { active: [{
|
|
1859
2108
|
type: Input
|
|
1860
2109
|
}, {
|
|
1861
2110
|
type: HostBinding,
|
|
1862
2111
|
args: ['class.' + UIClass.Active]
|
|
2112
|
+
}], disabled: [{
|
|
2113
|
+
type: Input
|
|
2114
|
+
}, {
|
|
2115
|
+
type: HostBinding,
|
|
2116
|
+
args: ['class.' + UIClass.Disabled]
|
|
1863
2117
|
}], leftModel: [{
|
|
1864
2118
|
type: Input
|
|
1865
2119
|
}], rightModel: [{
|
|
@@ -1869,28 +2123,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
1869
2123
|
args: ['click']
|
|
1870
2124
|
}] } });
|
|
1871
2125
|
|
|
2126
|
+
var CheckmarkType;
|
|
2127
|
+
(function (CheckmarkType) {
|
|
2128
|
+
CheckmarkType["Square"] = "square";
|
|
2129
|
+
CheckmarkType["Rounded"] = "rounded";
|
|
2130
|
+
})(CheckmarkType || (CheckmarkType = {}));
|
|
2131
|
+
|
|
1872
2132
|
class CheckmarkComponent {
|
|
1873
2133
|
constructor() {
|
|
1874
2134
|
this.active = false;
|
|
2135
|
+
this.disabled = false;
|
|
1875
2136
|
this.icon = faCheck;
|
|
1876
|
-
this.
|
|
2137
|
+
this.type = CheckmarkType.Rounded;
|
|
2138
|
+
this.showNotActive = true;
|
|
1877
2139
|
}
|
|
1878
2140
|
}
|
|
1879
2141
|
CheckmarkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CheckmarkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1880
|
-
CheckmarkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: CheckmarkComponent, selector: "sfc-checkmark", inputs: { active: "active", icon: "icon" }, host: {
|
|
2142
|
+
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"] }] });
|
|
1881
2143
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CheckmarkComponent, decorators: [{
|
|
1882
2144
|
type: Component,
|
|
1883
|
-
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
|
|
2145
|
+
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"] }]
|
|
1884
2146
|
}], propDecorators: { active: [{
|
|
1885
2147
|
type: Input
|
|
1886
2148
|
}, {
|
|
1887
2149
|
type: HostBinding,
|
|
1888
2150
|
args: ['class.' + UIClass.Active]
|
|
2151
|
+
}], disabled: [{
|
|
2152
|
+
type: Input
|
|
2153
|
+
}, {
|
|
2154
|
+
type: HostBinding,
|
|
2155
|
+
args: ['class.' + UIClass.Disabled]
|
|
1889
2156
|
}], icon: [{
|
|
1890
2157
|
type: Input
|
|
1891
|
-
}],
|
|
1892
|
-
type:
|
|
1893
|
-
|
|
2158
|
+
}], type: [{
|
|
2159
|
+
type: Input
|
|
2160
|
+
}, {
|
|
2161
|
+
type: HostBinding,
|
|
2162
|
+
args: ['class']
|
|
2163
|
+
}], showNotActive: [{
|
|
2164
|
+
type: Input
|
|
1894
2165
|
}] } });
|
|
1895
2166
|
|
|
1896
2167
|
class PaginationConstants {
|
|
@@ -2119,6 +2390,209 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2119
2390
|
args: ['click']
|
|
2120
2391
|
}] } });
|
|
2121
2392
|
|
|
2393
|
+
class LoadMoreService {
|
|
2394
|
+
constructor() {
|
|
2395
|
+
this.START_PAGE = 1;
|
|
2396
|
+
this._page = this.START_PAGE;
|
|
2397
|
+
this.moreSubject = new Subject();
|
|
2398
|
+
this.more$ = this.moreSubject.asObservable();
|
|
2399
|
+
}
|
|
2400
|
+
more() {
|
|
2401
|
+
this._page++;
|
|
2402
|
+
this.moreSubject.next(this._page);
|
|
2403
|
+
}
|
|
2404
|
+
reset() {
|
|
2405
|
+
this._page = this.START_PAGE;
|
|
2406
|
+
}
|
|
2407
|
+
}
|
|
2408
|
+
LoadMoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
2409
|
+
LoadMoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreService, providedIn: 'root' });
|
|
2410
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreService, decorators: [{
|
|
2411
|
+
type: Injectable,
|
|
2412
|
+
args: [{
|
|
2413
|
+
providedIn: 'root'
|
|
2414
|
+
}]
|
|
2415
|
+
}] });
|
|
2416
|
+
|
|
2417
|
+
var LoadContainerType;
|
|
2418
|
+
(function (LoadContainerType) {
|
|
2419
|
+
LoadContainerType["Dropdown"] = "dropdown";
|
|
2420
|
+
LoadContainerType["Table"] = "table";
|
|
2421
|
+
})(LoadContainerType || (LoadContainerType = {}));
|
|
2422
|
+
|
|
2423
|
+
class LoadContainerConstants {
|
|
2424
|
+
}
|
|
2425
|
+
LoadContainerConstants.DEFAULT_PAGE_SIZE = 5;
|
|
2426
|
+
LoadContainerConstants.DEFAULT_NOT_FOUND_LABEL = 'Not found';
|
|
2427
|
+
|
|
2428
|
+
class LoadMoreButtonComponent {
|
|
2429
|
+
constructor() {
|
|
2430
|
+
this.DEFAULT_LABEL = 'Show more';
|
|
2431
|
+
this.icon = faChevronCircleDown;
|
|
2432
|
+
this.more = new EventEmitter();
|
|
2433
|
+
}
|
|
2434
|
+
ngOnInit() {
|
|
2435
|
+
if (isNullOrEmptyString(this.label))
|
|
2436
|
+
this.label = this.DEFAULT_LABEL;
|
|
2437
|
+
}
|
|
2438
|
+
}
|
|
2439
|
+
LoadMoreButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2440
|
+
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"] }] });
|
|
2441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadMoreButtonComponent, decorators: [{
|
|
2442
|
+
type: Component,
|
|
2443
|
+
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"] }]
|
|
2444
|
+
}], propDecorators: { label: [{
|
|
2445
|
+
type: Input
|
|
2446
|
+
}], icon: [{
|
|
2447
|
+
type: Input
|
|
2448
|
+
}], more: [{
|
|
2449
|
+
type: Output
|
|
2450
|
+
}] } });
|
|
2451
|
+
|
|
2452
|
+
class LoadContainerComponent {
|
|
2453
|
+
constructor(loaderService, loadMoreService) {
|
|
2454
|
+
this.loaderService = loaderService;
|
|
2455
|
+
this.loadMoreService = loadMoreService;
|
|
2456
|
+
this.ComponentSize = ComponentSize;
|
|
2457
|
+
this.Position = Position;
|
|
2458
|
+
this.type = LoadContainerType.Dropdown;
|
|
2459
|
+
this.open = false;
|
|
2460
|
+
this.size = LoadContainerConstants.DEFAULT_PAGE_SIZE;
|
|
2461
|
+
this.loadMore = true;
|
|
2462
|
+
this.showEmpty = true;
|
|
2463
|
+
this.showLoadMoreButton = true;
|
|
2464
|
+
this.notFoundLabel = LoadContainerConstants.DEFAULT_NOT_FOUND_LABEL;
|
|
2465
|
+
this.handleError = new EventEmitter();
|
|
2466
|
+
this.handleSuccess = new EventEmitter();
|
|
2467
|
+
this.handleLoading = new EventEmitter();
|
|
2468
|
+
this.next = false;
|
|
2469
|
+
this.empty = false;
|
|
2470
|
+
this._loading = false;
|
|
2471
|
+
}
|
|
2472
|
+
set model(model) {
|
|
2473
|
+
if (isDefined(model)) {
|
|
2474
|
+
const parameters$ = this.buildParameters(model.predicate$), data$ = isDefined(model.loader) ?
|
|
2475
|
+
this.buildDynamic(parameters$, model.loader) : this.buildStatic(parameters$, model);
|
|
2476
|
+
if (isDefined(this._subscription))
|
|
2477
|
+
this._subscription.unsubscribe();
|
|
2478
|
+
this._subscription = data$.subscribe({
|
|
2479
|
+
next: (result) => this.success(result),
|
|
2480
|
+
error: (error) => this.error(error)
|
|
2481
|
+
});
|
|
2482
|
+
}
|
|
2483
|
+
}
|
|
2484
|
+
get scrollPosition() {
|
|
2485
|
+
return !this.allowLoadMore || this.showLoadMoreButton ? [] : [Position.Bottom];
|
|
2486
|
+
}
|
|
2487
|
+
get allowLoadMore() { return this.next && this.loadMore; }
|
|
2488
|
+
get hideLoadMoreButton() { return !(this.allowLoadMore && this.showLoadMoreButton); }
|
|
2489
|
+
get isEmpty() { return this.empty && this.showEmpty; }
|
|
2490
|
+
set loading(value) {
|
|
2491
|
+
this._loading = value;
|
|
2492
|
+
if (value)
|
|
2493
|
+
this.loaderService.show(this.id, true);
|
|
2494
|
+
else
|
|
2495
|
+
this.loaderService.hide(this.id);
|
|
2496
|
+
this.handleLoading.emit(value);
|
|
2497
|
+
}
|
|
2498
|
+
ngOnDestroy() {
|
|
2499
|
+
if (this._subscription)
|
|
2500
|
+
this._subscription.unsubscribe();
|
|
2501
|
+
}
|
|
2502
|
+
more(event) {
|
|
2503
|
+
event.preventDefault();
|
|
2504
|
+
this.loadMoreService.more();
|
|
2505
|
+
}
|
|
2506
|
+
onScroll() {
|
|
2507
|
+
if (this.allowLoadMore)
|
|
2508
|
+
this.loadMoreService.more();
|
|
2509
|
+
}
|
|
2510
|
+
success(result) {
|
|
2511
|
+
this.next = result.next;
|
|
2512
|
+
this.loading = false;
|
|
2513
|
+
this.empty = !any(result.items);
|
|
2514
|
+
this.handleSuccess.emit(result);
|
|
2515
|
+
}
|
|
2516
|
+
error(error) {
|
|
2517
|
+
this.loading = false;
|
|
2518
|
+
this.empty = false;
|
|
2519
|
+
this.handleError.emit(error);
|
|
2520
|
+
}
|
|
2521
|
+
buildParameters(predicate$) {
|
|
2522
|
+
const parameters$ = (predicate$ || EMPTY.pipe(startWith(null))).pipe(tap(() => {
|
|
2523
|
+
if (isDefined(this.contentEl))
|
|
2524
|
+
this.contentEl.nativeElement.scrollTop = 0;
|
|
2525
|
+
this.loadMoreService.reset();
|
|
2526
|
+
}), switchMap((value) => {
|
|
2527
|
+
return this.loadMoreService.more$.pipe(startWith(this.loadMoreService.START_PAGE), tap(() => this.loading = true), map((page) => {
|
|
2528
|
+
return { params: value, page: page };
|
|
2529
|
+
}));
|
|
2530
|
+
}));
|
|
2531
|
+
return parameters$;
|
|
2532
|
+
}
|
|
2533
|
+
buildDynamic(parameters$, loader) {
|
|
2534
|
+
return parameters$.pipe(switchMap((parameters) => loader(parameters)));
|
|
2535
|
+
}
|
|
2536
|
+
buildStatic(parameters$, model) {
|
|
2537
|
+
return parameters$.pipe(withLatestFrom(model.data$ || of([])), map(([parameters, items]) => {
|
|
2538
|
+
const filtered = model.filter ? model.filter(items, parameters) : items, data = filtered ? {
|
|
2539
|
+
items: skip(filtered, parameters.page, this.size),
|
|
2540
|
+
next: parameters.page < Math.ceil(filtered.length / this.size)
|
|
2541
|
+
} : { items: [], next: false };
|
|
2542
|
+
return data;
|
|
2543
|
+
}));
|
|
2544
|
+
}
|
|
2545
|
+
}
|
|
2546
|
+
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 });
|
|
2547
|
+
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"] }] });
|
|
2548
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoadContainerComponent, decorators: [{
|
|
2549
|
+
type: Component,
|
|
2550
|
+
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"] }]
|
|
2551
|
+
}], ctorParameters: function () { return [{ type: LoaderService }, { type: LoadMoreService }]; }, propDecorators: { id: [{
|
|
2552
|
+
type: Input
|
|
2553
|
+
}], type: [{
|
|
2554
|
+
type: Input
|
|
2555
|
+
}, {
|
|
2556
|
+
type: HostBinding,
|
|
2557
|
+
args: ['class']
|
|
2558
|
+
}], open: [{
|
|
2559
|
+
type: Input
|
|
2560
|
+
}, {
|
|
2561
|
+
type: HostBinding,
|
|
2562
|
+
args: [`class.${UIClass.Open}`]
|
|
2563
|
+
}], size: [{
|
|
2564
|
+
type: Input
|
|
2565
|
+
}], loadMore: [{
|
|
2566
|
+
type: Input
|
|
2567
|
+
}], showEmpty: [{
|
|
2568
|
+
type: Input
|
|
2569
|
+
}], showLoadMoreButton: [{
|
|
2570
|
+
type: Input
|
|
2571
|
+
}], loadMoreLabel: [{
|
|
2572
|
+
type: Input
|
|
2573
|
+
}], notFoundLabel: [{
|
|
2574
|
+
type: Input
|
|
2575
|
+
}], model: [{
|
|
2576
|
+
type: Input
|
|
2577
|
+
}], scrollTarget: [{
|
|
2578
|
+
type: Input
|
|
2579
|
+
}], handleError: [{
|
|
2580
|
+
type: Output
|
|
2581
|
+
}], handleSuccess: [{
|
|
2582
|
+
type: Output
|
|
2583
|
+
}], handleLoading: [{
|
|
2584
|
+
type: Output
|
|
2585
|
+
}], contentEl: [{
|
|
2586
|
+
type: ViewChild,
|
|
2587
|
+
args: ['content']
|
|
2588
|
+
}], isEmpty: [{
|
|
2589
|
+
type: HostBinding,
|
|
2590
|
+
args: [`class.${UIClass.Empty}`]
|
|
2591
|
+
}], _loading: [{
|
|
2592
|
+
type: HostBinding,
|
|
2593
|
+
args: [`class.${UIClass.Loading}`]
|
|
2594
|
+
}] } });
|
|
2595
|
+
|
|
2122
2596
|
class NgxSfcCommonModule {
|
|
2123
2597
|
}
|
|
2124
2598
|
NgxSfcCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSfcCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
@@ -2131,6 +2605,9 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
2131
2605
|
MouseDownDirective,
|
|
2132
2606
|
ComponentSizeDirective,
|
|
2133
2607
|
DestroyParentDirective,
|
|
2608
|
+
DomChangesDirective,
|
|
2609
|
+
ScrollTrackerDirective,
|
|
2610
|
+
ScrollIntoViewDirective,
|
|
2134
2611
|
// components
|
|
2135
2612
|
ButtonComponent,
|
|
2136
2613
|
TooltipComponent,
|
|
@@ -2143,14 +2620,19 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
2143
2620
|
DotsComponent,
|
|
2144
2621
|
PaginationComponent,
|
|
2145
2622
|
SortingComponent,
|
|
2623
|
+
LoadMoreButtonComponent,
|
|
2624
|
+
LoadContainerComponent,
|
|
2146
2625
|
// loaders
|
|
2147
2626
|
BounceLoaderComponent,
|
|
2148
2627
|
CircleLoaderComponent,
|
|
2149
2628
|
// modal
|
|
2150
2629
|
ModalComponent,
|
|
2630
|
+
ModalOpenDirective,
|
|
2151
2631
|
ModalOpenOnClickDirective,
|
|
2152
2632
|
DefaultModalHeaderComponent,
|
|
2153
|
-
DefaultModalFooterComponent
|
|
2633
|
+
DefaultModalFooterComponent,
|
|
2634
|
+
// pipes
|
|
2635
|
+
SwitchMultiCasePipe], imports: [CommonModule,
|
|
2154
2636
|
BrowserAnimationsModule,
|
|
2155
2637
|
FontAwesomeModule], exports: [
|
|
2156
2638
|
// directives
|
|
@@ -2161,6 +2643,9 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
2161
2643
|
MouseDownDirective,
|
|
2162
2644
|
ComponentSizeDirective,
|
|
2163
2645
|
DestroyParentDirective,
|
|
2646
|
+
DomChangesDirective,
|
|
2647
|
+
ScrollTrackerDirective,
|
|
2648
|
+
ScrollIntoViewDirective,
|
|
2164
2649
|
// components
|
|
2165
2650
|
ButtonComponent,
|
|
2166
2651
|
TooltipComponent,
|
|
@@ -2173,14 +2658,19 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
|
|
|
2173
2658
|
HamburgerComponent,
|
|
2174
2659
|
PaginationComponent,
|
|
2175
2660
|
SortingComponent,
|
|
2661
|
+
LoadMoreButtonComponent,
|
|
2662
|
+
LoadContainerComponent,
|
|
2176
2663
|
// loaders
|
|
2177
2664
|
BounceLoaderComponent,
|
|
2178
2665
|
CircleLoaderComponent,
|
|
2179
2666
|
// modal
|
|
2180
2667
|
ModalComponent,
|
|
2668
|
+
ModalOpenDirective,
|
|
2181
2669
|
ModalOpenOnClickDirective,
|
|
2182
2670
|
DefaultModalHeaderComponent,
|
|
2183
|
-
DefaultModalFooterComponent
|
|
2671
|
+
DefaultModalFooterComponent,
|
|
2672
|
+
// pipes
|
|
2673
|
+
SwitchMultiCasePipe] });
|
|
2184
2674
|
NgxSfcCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSfcCommonModule, providers: [DOCUMENT_PROVIDERS, WINDOW_PROVIDERS], imports: [[
|
|
2185
2675
|
CommonModule,
|
|
2186
2676
|
BrowserAnimationsModule,
|
|
@@ -2198,6 +2688,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2198
2688
|
MouseDownDirective,
|
|
2199
2689
|
ComponentSizeDirective,
|
|
2200
2690
|
DestroyParentDirective,
|
|
2691
|
+
DomChangesDirective,
|
|
2692
|
+
ScrollTrackerDirective,
|
|
2693
|
+
ScrollIntoViewDirective,
|
|
2201
2694
|
// components
|
|
2202
2695
|
ButtonComponent,
|
|
2203
2696
|
TooltipComponent,
|
|
@@ -2210,14 +2703,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2210
2703
|
DotsComponent,
|
|
2211
2704
|
PaginationComponent,
|
|
2212
2705
|
SortingComponent,
|
|
2706
|
+
LoadMoreButtonComponent,
|
|
2707
|
+
LoadContainerComponent,
|
|
2213
2708
|
// loaders
|
|
2214
2709
|
BounceLoaderComponent,
|
|
2215
2710
|
CircleLoaderComponent,
|
|
2216
2711
|
// modal
|
|
2217
2712
|
ModalComponent,
|
|
2713
|
+
ModalOpenDirective,
|
|
2218
2714
|
ModalOpenOnClickDirective,
|
|
2219
2715
|
DefaultModalHeaderComponent,
|
|
2220
|
-
DefaultModalFooterComponent
|
|
2716
|
+
DefaultModalFooterComponent,
|
|
2717
|
+
// pipes
|
|
2718
|
+
SwitchMultiCasePipe
|
|
2221
2719
|
],
|
|
2222
2720
|
imports: [
|
|
2223
2721
|
CommonModule,
|
|
@@ -2233,6 +2731,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2233
2731
|
MouseDownDirective,
|
|
2234
2732
|
ComponentSizeDirective,
|
|
2235
2733
|
DestroyParentDirective,
|
|
2734
|
+
DomChangesDirective,
|
|
2735
|
+
ScrollTrackerDirective,
|
|
2736
|
+
ScrollIntoViewDirective,
|
|
2236
2737
|
// components
|
|
2237
2738
|
ButtonComponent,
|
|
2238
2739
|
TooltipComponent,
|
|
@@ -2245,14 +2746,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2245
2746
|
HamburgerComponent,
|
|
2246
2747
|
PaginationComponent,
|
|
2247
2748
|
SortingComponent,
|
|
2749
|
+
LoadMoreButtonComponent,
|
|
2750
|
+
LoadContainerComponent,
|
|
2248
2751
|
// loaders
|
|
2249
2752
|
BounceLoaderComponent,
|
|
2250
2753
|
CircleLoaderComponent,
|
|
2251
2754
|
// modal
|
|
2252
2755
|
ModalComponent,
|
|
2756
|
+
ModalOpenDirective,
|
|
2253
2757
|
ModalOpenOnClickDirective,
|
|
2254
2758
|
DefaultModalHeaderComponent,
|
|
2255
|
-
DefaultModalFooterComponent
|
|
2759
|
+
DefaultModalFooterComponent,
|
|
2760
|
+
// pipes
|
|
2761
|
+
SwitchMultiCasePipe
|
|
2256
2762
|
],
|
|
2257
2763
|
providers: [DOCUMENT_PROVIDERS, WINDOW_PROVIDERS]
|
|
2258
2764
|
}]
|
|
@@ -2266,5 +2772,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
|
2266
2772
|
* Generated bundle index. Do not edit.
|
|
2267
2773
|
*/
|
|
2268
2774
|
|
|
2269
|
-
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,
|
|
2775
|
+
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 };
|
|
2270
2776
|
//# sourceMappingURL=ngx-sfc-common.mjs.map
|