ngx-sfc-common 0.0.4 → 0.0.6

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.
Files changed (129) hide show
  1. package/_ngx-sfc-common.styles.scss +25 -0
  2. package/esm2020/lib/components/button/button.component.mjs +11 -10
  3. package/esm2020/lib/components/checkmark/checkmark-type.enum.mjs +6 -0
  4. package/esm2020/lib/components/checkmark/checkmark.component.mjs +24 -11
  5. package/esm2020/lib/components/close/close.component.mjs +3 -3
  6. package/esm2020/lib/components/delimeter/delimeter.component.mjs +3 -3
  7. package/esm2020/lib/components/dots/dots.component.mjs +3 -3
  8. package/esm2020/lib/components/hamburger/hamburger.component.mjs +3 -3
  9. package/esm2020/lib/components/index.mjs +7 -2
  10. package/esm2020/lib/components/load-container/load-container.component.mjs +161 -0
  11. package/esm2020/lib/components/load-container/load-container.constants.mjs +5 -0
  12. package/esm2020/lib/components/load-container/load-container.enum.mjs +6 -0
  13. package/esm2020/lib/components/load-container/models/load-container.model.mjs +2 -0
  14. package/esm2020/lib/components/load-container/models/load-more-parameters.model.mjs +2 -0
  15. package/esm2020/lib/components/load-container/models/load-more.model.mjs +2 -0
  16. package/esm2020/lib/components/load-container/service/load-more.service.mjs +27 -0
  17. package/esm2020/lib/components/load-more-button/load-more-button.component.mjs +31 -0
  18. package/esm2020/lib/components/loader/bounce/bounce-loader.component.mjs +3 -3
  19. package/esm2020/lib/components/loader/circle/circle-loader.component.mjs +3 -3
  20. package/esm2020/lib/components/loader/loader-base.component.mjs +3 -3
  21. package/esm2020/lib/components/loader/service/loader.service.mjs +7 -7
  22. package/esm2020/lib/components/modal/directive/click/modal-open-on-click.directive.mjs +48 -0
  23. package/esm2020/lib/components/modal/directive/open/modal-open.directive.mjs +29 -0
  24. package/esm2020/lib/components/modal/footer/default/default-modal-footer.component.mjs +7 -7
  25. package/esm2020/lib/components/modal/header/default/default-modal-header.component.mjs +6 -6
  26. package/esm2020/lib/components/modal/modal.component.mjs +5 -5
  27. package/esm2020/lib/components/modal/service/modal.service.mjs +4 -4
  28. package/esm2020/lib/components/pagination/pagination.component.mjs +7 -7
  29. package/esm2020/lib/components/pagination/service/pagination.service.mjs +3 -3
  30. package/esm2020/lib/components/sorting/service/sorting.service.mjs +3 -3
  31. package/esm2020/lib/components/sorting/sorting.component.mjs +5 -5
  32. package/esm2020/lib/components/template-content/template-content.component.mjs +5 -5
  33. package/esm2020/lib/components/toggle-switcher/toggle-switcher.component.mjs +13 -7
  34. package/esm2020/lib/components/tooltip/tooltip.component.mjs +4 -4
  35. package/esm2020/lib/constants/common.constants.mjs +2 -1
  36. package/esm2020/lib/constants/date-time.constants.mjs +3 -1
  37. package/esm2020/lib/constants/file.constants.mjs +2 -0
  38. package/esm2020/lib/constants/index.mjs +1 -1
  39. package/esm2020/lib/directives/click-outside/click-outside.directive.mjs +4 -4
  40. package/esm2020/lib/directives/component-size/component-size.directive.mjs +26 -13
  41. package/esm2020/lib/directives/destroy-parent/destroy-parent.directive.mjs +3 -3
  42. package/esm2020/lib/directives/dom-changes/dom-changes.directive.mjs +32 -0
  43. package/esm2020/lib/directives/index.mjs +4 -1
  44. package/esm2020/lib/directives/mouse-down/mouse-down.directive.mjs +3 -3
  45. package/esm2020/lib/directives/scroll-into-view/scroll-into-view.directive.mjs +29 -0
  46. package/esm2020/lib/directives/scroll-tracker/scroll-tracker.directive.mjs +39 -0
  47. package/esm2020/lib/directives/show-hide-element/show-hide-element.directive.mjs +3 -3
  48. package/esm2020/lib/directives/template-reference/template-reference.directive.mjs +3 -3
  49. package/esm2020/lib/directives/throw-element-on-hover/throw-element-on-hover.directive.mjs +3 -3
  50. package/esm2020/lib/enums/index.mjs +2 -1
  51. package/esm2020/lib/enums/sequence.enum.mjs +9 -0
  52. package/esm2020/lib/enums/ui.enum.mjs +4 -1
  53. package/esm2020/lib/ngx-sfc-common.module.mjs +47 -16
  54. package/esm2020/lib/pipes/index.mjs +2 -0
  55. package/esm2020/lib/pipes/switch-multi-case/switch-multi-case.pipe.mjs +16 -0
  56. package/esm2020/lib/services/document-ref.service.mjs +3 -3
  57. package/esm2020/lib/services/resize.service.mjs +3 -3
  58. package/esm2020/lib/services/window-ref.service.mjs +3 -3
  59. package/esm2020/lib/utils/collections.utils.mjs +30 -3
  60. package/esm2020/lib/utils/common.utils.mjs +9 -2
  61. package/esm2020/lib/utils/date-time.utils.mjs +57 -10
  62. package/esm2020/lib/utils/file.utils.mjs +4 -3
  63. package/esm2020/lib/utils/index.mjs +5 -5
  64. package/esm2020/lib/utils/ui.utils.mjs +9 -1
  65. package/esm2020/public-api.mjs +2 -1
  66. package/fesm2015/ngx-sfc-common.mjs +661 -156
  67. package/fesm2015/ngx-sfc-common.mjs.map +1 -1
  68. package/fesm2020/ngx-sfc-common.mjs +661 -156
  69. package/fesm2020/ngx-sfc-common.mjs.map +1 -1
  70. package/{ngx-sfc-common.d.ts → index.d.ts} +0 -0
  71. package/lib/components/button/button.component.d.ts +1 -1
  72. package/lib/components/checkmark/checkmark-type.enum.d.ts +4 -0
  73. package/lib/components/checkmark/checkmark.component.d.ts +5 -2
  74. package/lib/components/close/close.component.d.ts +1 -1
  75. package/lib/components/delimeter/delimeter.component.d.ts +1 -1
  76. package/lib/components/dots/dots.component.d.ts +1 -1
  77. package/lib/components/hamburger/hamburger.component.d.ts +1 -1
  78. package/lib/components/index.d.ts +11 -1
  79. package/lib/components/load-container/load-container.component.d.ts +49 -0
  80. package/lib/components/load-container/load-container.constants.d.ts +4 -0
  81. package/lib/components/load-container/load-container.enum.d.ts +4 -0
  82. package/lib/components/load-container/models/load-container.model.d.ts +11 -0
  83. package/lib/components/load-container/models/load-more-parameters.model.d.ts +4 -0
  84. package/lib/components/load-container/models/load-more.model.d.ts +4 -0
  85. package/lib/components/load-container/service/load-more.service.d.ts +12 -0
  86. package/lib/components/load-more-button/load-more-button.component.d.ts +12 -0
  87. package/lib/components/loader/bounce/bounce-loader.component.d.ts +1 -1
  88. package/lib/components/loader/circle/circle-loader.component.d.ts +1 -1
  89. package/lib/components/loader/loader-base.component.d.ts +1 -1
  90. package/lib/components/modal/directive/{modal-open-on-click.directive.d.ts → click/modal-open-on-click.directive.d.ts} +2 -2
  91. package/lib/components/modal/directive/open/modal-open.directive.d.ts +14 -0
  92. package/lib/components/modal/footer/default/default-modal-footer.component.d.ts +1 -1
  93. package/lib/components/modal/header/default/default-modal-header.component.d.ts +1 -1
  94. package/lib/components/modal/modal.component.d.ts +1 -1
  95. package/lib/components/modal/service/modal.service.d.ts +1 -1
  96. package/lib/components/pagination/pagination.component.d.ts +1 -1
  97. package/lib/components/sorting/sorting.component.d.ts +1 -1
  98. package/lib/components/template-content/template-content.component.d.ts +1 -1
  99. package/lib/components/toggle-switcher/toggle-switcher.component.d.ts +2 -1
  100. package/lib/components/tooltip/tooltip.component.d.ts +1 -1
  101. package/lib/constants/common.constants.d.ts +1 -0
  102. package/lib/constants/date-time.constants.d.ts +2 -0
  103. package/lib/constants/file.constants.d.ts +1 -0
  104. package/lib/constants/index.d.ts +1 -0
  105. package/lib/directives/click-outside/click-outside.directive.d.ts +1 -1
  106. package/lib/directives/component-size/component-size.directive.d.ts +8 -3
  107. package/lib/directives/destroy-parent/destroy-parent.directive.d.ts +1 -1
  108. package/lib/directives/dom-changes/dom-changes.directive.d.ts +12 -0
  109. package/lib/directives/index.d.ts +3 -0
  110. package/lib/directives/mouse-down/mouse-down.directive.d.ts +1 -1
  111. package/lib/directives/scroll-into-view/scroll-into-view.directive.d.ts +7 -0
  112. package/lib/directives/scroll-tracker/scroll-tracker.directive.d.ts +11 -0
  113. package/lib/directives/show-hide-element/show-hide-element.directive.d.ts +1 -1
  114. package/lib/directives/template-reference/template-reference.directive.d.ts +1 -1
  115. package/lib/directives/throw-element-on-hover/throw-element-on-hover.directive.d.ts +1 -1
  116. package/lib/enums/index.d.ts +1 -0
  117. package/lib/enums/sequence.enum.d.ts +7 -0
  118. package/lib/enums/ui.enum.d.ts +4 -1
  119. package/lib/ngx-sfc-common.module.d.ts +28 -21
  120. package/lib/pipes/index.d.ts +1 -0
  121. package/lib/pipes/switch-multi-case/switch-multi-case.pipe.d.ts +7 -0
  122. package/lib/utils/collections.utils.d.ts +16 -2
  123. package/lib/utils/common.utils.d.ts +5 -0
  124. package/lib/utils/date-time.utils.d.ts +26 -0
  125. package/lib/utils/index.d.ts +4 -4
  126. package/lib/utils/ui.utils.d.ts +6 -0
  127. package/package.json +5 -5
  128. package/public-api.d.ts +1 -0
  129. 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';
3
- import * as i1$2 from '@angular/common';
2
+ import { InjectionToken, Injectable, PLATFORM_ID, EventEmitter, Directive, Inject, Input, Output, HostListener, Pipe, Component, HostBinding, ContentChildren, ViewChild, NgModule } from '@angular/core';
3
+ import * as i1$1 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
- import * as i1$1 from '@fortawesome/angular-fontawesome';
6
+ import * as i2 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
  */
@@ -123,9 +135,9 @@ class BrowserDocumentRef extends DocumentRef {
123
135
  return document;
124
136
  }
125
137
  }
126
- BrowserDocumentRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BrowserDocumentRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
127
- BrowserDocumentRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BrowserDocumentRef });
128
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BrowserDocumentRef, decorators: [{
138
+ BrowserDocumentRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BrowserDocumentRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
139
+ BrowserDocumentRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BrowserDocumentRef });
140
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BrowserDocumentRef, decorators: [{
129
141
  type: Injectable
130
142
  }], ctorParameters: function () { return []; } });
131
143
  /**
@@ -190,9 +202,9 @@ class BrowserWindowRef extends WindowRef {
190
202
  return window;
191
203
  }
192
204
  }
193
- BrowserWindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BrowserWindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
194
- BrowserWindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BrowserWindowRef });
195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BrowserWindowRef, decorators: [{
205
+ BrowserWindowRef.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BrowserWindowRef, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
206
+ BrowserWindowRef.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BrowserWindowRef });
207
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BrowserWindowRef, decorators: [{
196
208
  type: Injectable
197
209
  }], ctorParameters: function () { return []; } });
198
210
  /**
@@ -260,9 +272,9 @@ class ResizeService {
260
272
  this.windowWidth = event.target;
261
273
  }
262
274
  }
263
- ResizeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ResizeService, deps: [{ token: i1.EventManager }], target: i0.ɵɵFactoryTarget.Injectable });
264
- ResizeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ResizeService, providedIn: 'root' });
265
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ResizeService, decorators: [{
275
+ ResizeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ResizeService, deps: [{ token: i1.EventManager }], target: i0.ɵɵFactoryTarget.Injectable });
276
+ ResizeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ResizeService, providedIn: 'root' });
277
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ResizeService, decorators: [{
266
278
  type: Injectable,
267
279
  args: [{
268
280
  providedIn: 'root'
@@ -314,9 +326,9 @@ class ClickOutsideDirective {
314
326
  return false;
315
327
  }
316
328
  }
317
- ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
318
- ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: ClickOutsideDirective, selector: "[sfcClickOutside]", inputs: { listening: ["sfcClickOutside", "listening"] }, outputs: { action: "action" }, ngImport: i0 });
319
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ClickOutsideDirective, decorators: [{
329
+ ClickOutsideDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ClickOutsideDirective, deps: [{ token: i0.ElementRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive });
330
+ ClickOutsideDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ClickOutsideDirective, selector: "[sfcClickOutside]", inputs: { listening: ["sfcClickOutside", "listening"] }, outputs: { action: "action" }, ngImport: i0 });
331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ClickOutsideDirective, decorators: [{
320
332
  type: Directive,
321
333
  args: [{
322
334
  selector: '[sfcClickOutside]'
@@ -338,12 +350,15 @@ class CommonConstants {
338
350
  CommonConstants.NOT_FOUND_INDEX = -1;
339
351
  CommonConstants.EMPTY_STRING = '';
340
352
  CommonConstants.MOUSE_BUTTON_LEFT = 0;
341
- CommonConstants.FULL_PERCENTAGE = 100;
353
+ CommonConstants.FULL_PERCENTAGE = 100;
354
+ CommonConstants.COMMON_TEXT_DELIMETER = '/';
342
355
 
343
356
  class DateTimeConstants {
344
357
  }
345
358
  DateTimeConstants.DAYS_IN_WEEK = 7;
346
359
  DateTimeConstants.HOURS_IN_SHORT_TIME = 12;
360
+ DateTimeConstants.HOURS_IN_TIME = 24;
361
+ DateTimeConstants.MIDNIGHT_HOUR = 0;
347
362
  DateTimeConstants.MINUTES_IN_HOUR = 60;
348
363
  DateTimeConstants.DAYS_OF_WEEK = ["S", "M", "T", "W", "T", "F", "S"];
349
364
  DateTimeConstants.DAYS_OF_WEEK_3 = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
@@ -392,9 +407,9 @@ class ShowHideElementDirective {
392
407
  linear`;
393
408
  }
394
409
  }
395
- ShowHideElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ShowHideElementDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
396
- ShowHideElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: ShowHideElementDirective, selector: "[sfcShowHideElement]", inputs: { showHideElement: ["sfcShowHideElement", "showHideElement"], delay: "delay" }, ngImport: i0 });
397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ShowHideElementDirective, decorators: [{
410
+ ShowHideElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ShowHideElementDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
411
+ ShowHideElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ShowHideElementDirective, selector: "[sfcShowHideElement]", inputs: { showHideElement: ["sfcShowHideElement", "showHideElement"], delay: "delay" }, ngImport: i0 });
412
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ShowHideElementDirective, decorators: [{
398
413
  type: Directive,
399
414
  args: [{
400
415
  selector: '[sfcShowHideElement]'
@@ -438,7 +453,7 @@ function isAsyncData(data) {
438
453
  * @returns Extended object with new property
439
454
  */
440
455
  function addPropertyToObject(obj, property, value = null) {
441
- if (!isDefined(property) && !obj.hasOwnProperty(property)) {
456
+ if (isDefined(property) && !obj.hasOwnProperty(property)) {
442
457
  let newObj = {};
443
458
  newObj[property] = value;
444
459
  obj = Object.assign(Object.assign({}, obj), newObj);
@@ -497,6 +512,13 @@ const nameof = (name) => name;
497
512
  */
498
513
  function isNumeric(number) {
499
514
  return !isNaN(parseFloat(number));
515
+ }
516
+ /**
517
+ * Return true if current browser is Chrome
518
+ * @returns If current browser is Chrome
519
+ */
520
+ function isChromeBrowser() {
521
+ return /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
500
522
  }
501
523
 
502
524
  /**
@@ -535,8 +557,9 @@ function trim(value) {
535
557
  * @returns Date with minute value
536
558
  */
537
559
  function setMinutes(date, minute) {
538
- date.setMinutes(minute);
539
- return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes());
560
+ const result = new Date(date);
561
+ result.setMinutes(minute);
562
+ return result;
540
563
  }
541
564
  /**
542
565
  * Set hours for date
@@ -545,8 +568,9 @@ function setMinutes(date, minute) {
545
568
  * @returns Date with hour value
546
569
  */
547
570
  function setHours(date, hour) {
548
- date.setHours(hour);
549
- return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes());
571
+ const result = new Date(date);
572
+ result.setHours(hour);
573
+ return result;
550
574
  }
551
575
  /**
552
576
  * Set day for date value
@@ -566,8 +590,52 @@ function setDay(date, dayNumber) {
566
590
  * @returns Date with year value
567
591
  */
568
592
  function setYear(date, year) {
569
- date.setFullYear(year);
570
- return new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours(), date.getMinutes());
593
+ const result = new Date(date);
594
+ result.setFullYear(year);
595
+ return result;
596
+ }
597
+ /**
598
+ * Set seconds for date
599
+ * @param date Date value
600
+ * @param value Seconds value
601
+ * @returns Date with minute value
602
+ */
603
+ function setSeconds(date, value) {
604
+ const result = new Date(date);
605
+ result.setSeconds(value);
606
+ return result;
607
+ }
608
+ /**
609
+ * Set milliseconds for date
610
+ * @param date Date value
611
+ * @param value Milliseconds value
612
+ * @returns Date with minute value
613
+ */
614
+ function setMilliseconds(date, value) {
615
+ const result = new Date(date);
616
+ result.setMilliseconds(value);
617
+ return result;
618
+ }
619
+ /**
620
+ * Set 0 for seconds and milliseconds of date
621
+ * @param date Date value
622
+ * @returns Date with minute value
623
+ */
624
+ function setDefaultSecondsAndMiliseconds(date) {
625
+ const result = new Date(date);
626
+ result.setSeconds(0);
627
+ result.setMilliseconds(0);
628
+ return result;
629
+ }
630
+ /**
631
+ * Get next date
632
+ * @param date Date value
633
+ * @returns Next date
634
+ */
635
+ function getNextDate(date) {
636
+ const nextDate = new Date(date);
637
+ nextDate.setDate(date.getDate() + 1);
638
+ return nextDate;
571
639
  }
572
640
  /**
573
641
  * Get next month as date
@@ -689,9 +757,10 @@ function getWeeksNumberInMonth(date) {
689
757
  * @returns True if first and second date are equal
690
758
  */
691
759
  function isEqualDates(date1, date2) {
692
- date1.setHours(0, 0, 0, 0);
693
- date2.setHours(0, 0, 0, 0);
694
- return date1.getTime() === date2.getTime();
760
+ const date1Value = new Date(date1), date2Value = new Date(date2);
761
+ date1Value.setHours(0, 0, 0, 0);
762
+ date2Value.setHours(0, 0, 0, 0);
763
+ return date1Value.getTime() === date2Value.getTime();
695
764
  }
696
765
  /**
697
766
  * Return true if first date greater than second date
@@ -773,7 +842,8 @@ function readAsDataURL(file, onLoad) {
773
842
  reader.onload = () => onLoad(reader.result);
774
843
  reader.readAsDataURL(file);
775
844
  }
776
- throw new Error('File utils | Read as data URL function --> File is empty.');
845
+ else
846
+ throw new Error('File utils | Read as data URL function --> File is empty.');
777
847
  }
778
848
  /**
779
849
  * Return true if file is image
@@ -781,7 +851,7 @@ function readAsDataURL(file, onLoad) {
781
851
  * @returns True if file is image
782
852
  */
783
853
  function isImage(file) {
784
- return (/\.(gif|jpe?g|jpg|tiff|png|webp|bmp)$/i).test(file.name);
854
+ return isDefined(file) && (/\.(gif|jpe?g|jpg|tiff|png|webp|bmp)$/i).test(file.name);
785
855
  }
786
856
 
787
857
  /**
@@ -809,6 +879,14 @@ function getValueFromCssLikeValue(value, type = UIConstants.CSS_PIXELS) {
809
879
  function getCalcValue(part, value = 100) {
810
880
  return `calc(${value}${UIConstants.CSS_PERCENTAGE} / ${part} )`;
811
881
  }
882
+ /**
883
+ * Return CCS like rotate value
884
+ * @param value value as degrees
885
+ * @returns Rotate value
886
+ */
887
+ function getRotateValue(value) {
888
+ return `rotate(${value}deg)`;
889
+ }
812
890
  /**
813
891
  * Add classes to HTML element
814
892
  * @param element HTML element
@@ -961,6 +1039,14 @@ function skip(collection, page, size) {
961
1039
  }
962
1040
  return collection;
963
1041
  }
1042
+ function sort(collection, direction = SortingDirection.Ascending) {
1043
+ if (any(collection)) {
1044
+ return direction == SortingDirection.Ascending
1045
+ ? collection.sort((a, b) => a - b)
1046
+ : collection.sort((a, b) => b - a);
1047
+ }
1048
+ return collection;
1049
+ }
964
1050
  /**
965
1051
  * Return sorted collection of objects by property
966
1052
  * @param collection Array of items
@@ -1069,13 +1155,26 @@ function addItem(collection, item, predicate) {
1069
1155
  collection.push(item);
1070
1156
  return true;
1071
1157
  }
1158
+ /**
1159
+ * Delete item from collection
1160
+ * @param collection Array of items
1161
+ * @param item Item to delete
1162
+ * @returns True if successfully removed
1163
+ */
1164
+ function removeItem(collection, item) {
1165
+ if (isDefined(item) && hasItem(collection, item)) {
1166
+ collection.splice(collection.indexOf(item), 1);
1167
+ return true;
1168
+ }
1169
+ return false;
1170
+ }
1072
1171
  /**
1073
1172
  * Delete item from collection by predicate
1074
1173
  * @param collection Array of items
1075
1174
  * @param predicate Function to define remove logic
1076
1175
  * @returns True if successfully removed
1077
1176
  */
1078
- function removeItem(collection, predicate) {
1177
+ function removeItemBy(collection, predicate) {
1079
1178
  const foundItem = firstOrDefault(collection, predicate);
1080
1179
  if (isDefined(foundItem)) {
1081
1180
  collection.splice(collection.indexOf(foundItem), 1);
@@ -1083,7 +1182,13 @@ function removeItem(collection, predicate) {
1083
1182
  }
1084
1183
  return false;
1085
1184
  }
1086
- function updateItem(collection, predicate, newItem) {
1185
+ /**
1186
+ * Update item in collection by predicate
1187
+ * @param collection Array of items
1188
+ * @param predicate Function to define item for deleting
1189
+ * @returns True if successfully removed
1190
+ */
1191
+ function updateItemBy(collection, predicate, newItem) {
1087
1192
  const itemIndex = collection.findIndex(predicate);
1088
1193
  if (itemIndex !== CommonConstants.NOT_FOUND_INDEX) {
1089
1194
  const result = collection.slice(0);
@@ -1118,9 +1223,9 @@ class ThrowElementOnHoverDirective {
1118
1223
  this.style.transform = value ? `translateY(${getCssLikeValue(value)})` : null;
1119
1224
  }
1120
1225
  }
1121
- ThrowElementOnHoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ThrowElementOnHoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1122
- ThrowElementOnHoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: ThrowElementOnHoverDirective, selector: "[sfcThrowElementOnHover]", inputs: { throwValue: ["sfcThrowElementOnHover", "throwValue"] }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0 });
1123
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ThrowElementOnHoverDirective, decorators: [{
1226
+ ThrowElementOnHoverDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ThrowElementOnHoverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1227
+ ThrowElementOnHoverDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ThrowElementOnHoverDirective, selector: "[sfcThrowElementOnHover]", inputs: { throwValue: ["sfcThrowElementOnHover", "throwValue"] }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()" } }, ngImport: i0 });
1228
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ThrowElementOnHoverDirective, decorators: [{
1124
1229
  type: Directive,
1125
1230
  args: [{
1126
1231
  selector: '[sfcThrowElementOnHover]'
@@ -1142,9 +1247,9 @@ class TemplateReferenceDirective {
1142
1247
  this.templateName = CommonConstants.EMPTY_STRING;
1143
1248
  }
1144
1249
  }
1145
- TemplateReferenceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TemplateReferenceDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1146
- TemplateReferenceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: TemplateReferenceDirective, selector: "[sfcTemplateReference]", inputs: { templateName: ["sfcTemplateReference", "templateName"], data: "data" }, ngImport: i0 });
1147
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TemplateReferenceDirective, decorators: [{
1250
+ TemplateReferenceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TemplateReferenceDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1251
+ TemplateReferenceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: TemplateReferenceDirective, selector: "[sfcTemplateReference]", inputs: { templateName: ["sfcTemplateReference", "templateName"], data: "data" }, ngImport: i0 });
1252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TemplateReferenceDirective, decorators: [{
1148
1253
  type: Directive,
1149
1254
  args: [{
1150
1255
  selector: '[sfcTemplateReference]'
@@ -1173,9 +1278,9 @@ class MouseDownDirective {
1173
1278
  }
1174
1279
  }
1175
1280
  }
1176
- MouseDownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: MouseDownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1177
- MouseDownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: MouseDownDirective, selector: "[sfcMouseDown]", inputs: { button: "button" }, outputs: { action: "sfcMouseDown" }, host: { listeners: { "mousedown": "onMouseDown($event)" } }, ngImport: i0 });
1178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: MouseDownDirective, decorators: [{
1281
+ MouseDownDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MouseDownDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1282
+ MouseDownDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: MouseDownDirective, selector: "[sfcMouseDown]", inputs: { button: "button" }, outputs: { action: "sfcMouseDown" }, host: { listeners: { "mousedown": "onMouseDown($event)" } }, ngImport: i0 });
1283
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: MouseDownDirective, decorators: [{
1179
1284
  type: Directive,
1180
1285
  args: [{
1181
1286
  selector: '[sfcMouseDown]'
@@ -1193,33 +1298,46 @@ 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.style.fontSize = this.getSizeValue(this.size);
1301
+ this._customSize = null;
1302
+ this.style.fontSize = getCssLikeValue(this.getSizeProportion(), UIConstants.CSS_EM);
1197
1303
  }
1198
1304
  set size(value) {
1199
- this.style.fontSize = this.getSizeValue(value);
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.style.fontSize = getCssLikeValue(value, UIConstants.CSS_EM);
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
- getSizeValue(value) {
1208
- switch (value) {
1325
+ getSizeProportion() {
1326
+ switch (this.size) {
1209
1327
  case ComponentSize.Small:
1210
- return getCssLikeValue(0.5, UIConstants.CSS_EM);
1328
+ return 0.5;
1211
1329
  case ComponentSize.Medium:
1212
- return getCssLikeValue(1, UIConstants.CSS_EM);
1330
+ return 1;
1213
1331
  case ComponentSize.Large:
1214
- return getCssLikeValue(2, UIConstants.CSS_EM);
1332
+ return 2;
1215
1333
  default:
1216
- return getCssLikeValue(1, UIConstants.CSS_EM);
1334
+ return 1;
1217
1335
  }
1218
1336
  }
1219
1337
  }
1220
- ComponentSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ComponentSizeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1221
- ComponentSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: { size: ["sfcComponentSize", "size"], customSize: "customSize" }, ngImport: i0 });
1222
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ComponentSizeDirective, decorators: [{
1338
+ ComponentSizeDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ComponentSizeDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1339
+ ComponentSizeDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: { size: ["sfcComponentSize", "size"], customSize: "customSize" }, ngImport: i0 });
1340
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ComponentSizeDirective, decorators: [{
1223
1341
  type: Directive,
1224
1342
  args: [{
1225
1343
  selector: '[sfcComponentSize]'
@@ -1242,9 +1360,9 @@ class DestroyParentDirective {
1242
1360
  }
1243
1361
  }
1244
1362
  }
1245
- DestroyParentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DestroyParentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1246
- DestroyParentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: DestroyParentDirective, selector: "[sfcDestroyParent]", inputs: { destroyParent: ["sfcDestroyParent", "destroyParent"], delay: "delay" }, ngImport: i0 });
1247
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DestroyParentDirective, decorators: [{
1363
+ DestroyParentDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DestroyParentDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1364
+ DestroyParentDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DestroyParentDirective, selector: "[sfcDestroyParent]", inputs: { destroyParent: ["sfcDestroyParent", "destroyParent"], delay: "delay" }, ngImport: i0 });
1365
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DestroyParentDirective, decorators: [{
1248
1366
  type: Directive,
1249
1367
  args: [{
1250
1368
  selector: '[sfcDestroyParent]'
@@ -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: "15.0.4", ngImport: i0, type: DomChangesDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
1395
+ DomChangesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: DomChangesDirective, selector: "[sfcDomChanges]", inputs: { options: "options" }, outputs: { sfcDomChanges: "sfcDomChanges" }, ngImport: i0 });
1396
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", 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: "15.0.4", ngImport: i0, type: ScrollTrackerDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1427
+ ScrollTrackerDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", 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: "15.0.4", 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: "15.0.4", ngImport: i0, type: ScrollIntoViewDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
1456
+ ScrollIntoViewDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ScrollIntoViewDirective, selector: "[sfcScrollIntoView]", inputs: { sfcScrollIntoView: "sfcScrollIntoView", options: "options" }, ngImport: i0 });
1457
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", 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: "15.0.4", ngImport: i0, type: SwitchMultiCasePipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
1474
+ SwitchMultiCasePipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: SwitchMultiCasePipe, name: "sfcSwitchMultiCase" });
1475
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", 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
- 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.disabled,:host-context(.sfc-default-theme) .button.disabled{color:#bdbdbd}:host-context(.sfc-dark-theme) .button.disabled{color:#656d78}.button.disabled,:host-context(.sfc-default-theme) .button.disabled{border-color:#bdbdbd}:host-context(.sfc-dark-theme) .button.disabled{border-color:#656d78}.button .icon{padding:3px}.button .text{padding:3px;white-space:initial}.button .text:empty{display:none}\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
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ButtonComponent, decorators: [{
1504
+ ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1505
+ ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", 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"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
1506
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", 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.disabled,:host-context(.sfc-default-theme) .button.disabled{color:#bdbdbd}:host-context(.sfc-dark-theme) .button.disabled{color:#656d78}.button.disabled,:host-context(.sfc-default-theme) .button.disabled{border-color:#bdbdbd}:host-context(.sfc-dark-theme) .button.disabled{border-color:#656d78}.button .icon{padding:3px}.button .text{padding:3px;white-space:initial}.button .text:empty{display:none}\n"] }]
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
  }] } });
@@ -1332,9 +1556,9 @@ class TooltipComponent {
1332
1556
  (_a = this._resizeSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
1333
1557
  }
1334
1558
  }
1335
- TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TooltipComponent, deps: [{ token: ResizeService }, { token: WINDOW }], target: i0.ɵɵFactoryTarget.Component });
1336
- TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: TooltipComponent, selector: "[sfc-tooltip]", inputs: { value: ["sfc-tooltip", "value"], tooltipType: "tooltipType", tooltipPosition: "tooltipPosition", tooltipShow: "tooltipShow" }, host: { listeners: { "click": "click()" }, properties: { "attr.value": "this.value", "attr.type": "this.tooltipType", "attr.position": "this.tooltipPosition", "class.show": "this.tooltipShow" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{position:relative}:host:before,:host:after{position:absolute;left:50%;bottom:calc(100% + 5px);pointer-events:none;transition:.2s;will-change:transform}:host:hover:before,:host.show:before{content:attr(value);padding:.4em .7em;font-size:.8em;font-weight:initial;width:inherit;max-width:18.75em;border-radius:6px;background-color:#545e61;box-shadow:0 0 20.25em #aab2bd;color:#fff;text-align:center;white-space:pre-wrap;overflow:hidden;word-wrap:break-word;z-index:9999}:host:after{content:\"\";border-style:solid;transition-duration:0s;transform:translate(-50%) scaleY(0)}:host[type=hover]:before,:host[type=hover]:after,:host:not(.show):before,:host:not(.show):after{visibility:hidden;opacity:0}:host[type=hover]:hover:before,:host[type=hover]:hover:after,:host.show:before,:host.show:after{visibility:visible;opacity:1}:host[type=hover]:hover:before,:host.show:before{transition-delay:.1s}:host[type=hover]:hover:after,:host.show:after{transition-delay:.3s;transition-duration:.2s;transform:translate(-50%) scaleY(1)}:host[position=top]:before,:host[position=top]:after{left:50%;bottom:calc(100% + 5px)}:host[position=top]:before{transform:translate(-50%,-5px) scale(.5)}:host[position=top]:hover:before,:host[position=top].show:before{transform:translate(-50%,-.25em) scale(1)}:host[position=top]:after{border-width:.25em .25em 0;border-color:#545e61 transparent transparent transparent;transform-origin:top}:host[position=left]:before,:host[position=left]:after{left:auto;right:calc(100% + 5px);bottom:50%}:host[position=left]:before{transform:translate(-.25em,50%) scale(.5)}:host[position=left]:hover:before,:host[position=left].show:before{transform:translate(-.31em,50%) scale(1)}:host[position=left]:after{border-width:.25em 0 .25em .25em;border-color:transparent transparent transparent #545e61;transform-origin:left;transform:translateY(50%) scaleX(0)}:host[position=left]:hover:after,:host[position=left].show:after{transform:translateY(50%) scaleX(1)}:host[position=right]:before,:host[position=right]:after{left:calc(100% + 5px);bottom:50%}:host[position=right]:before{transform:translate(5px,50%) scale(.5)}:host[position=right]:hover:before,:host[position=right].show:before{transform:translate(.31em,50%) scale(1)}:host[position=right]:after{border-width:.25em .25em .25em 0;border-color:transparent #545e61 transparent transparent;transform-origin:right;transform:translateY(50%) scaleX(0)}:host[position=right]:hover:after,:host[position=right].show:after{transform:translateY(50%) scaleX(1)}:host[position=bottom]:before,:host[position=bottom]:after{top:calc(100% + 5px);bottom:auto}:host[position=bottom]:before{transform:translate(-50%,5px) scale(.5)}:host[position=bottom]:hover:before,:host[position=bottom].show:before{transform:translate(-50%,.31em) scale(1)}:host[position=bottom]:after{border-width:0 .25em .25em;border-color:transparent transparent #545e61 transparent;transform-origin:bottom}\n"] });
1337
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TooltipComponent, decorators: [{
1559
+ TooltipComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TooltipComponent, deps: [{ token: ResizeService }, { token: WINDOW }], target: i0.ɵɵFactoryTarget.Component });
1560
+ TooltipComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TooltipComponent, selector: "[sfc-tooltip]", inputs: { value: ["sfc-tooltip", "value"], tooltipType: "tooltipType", tooltipPosition: "tooltipPosition", tooltipShow: "tooltipShow" }, host: { listeners: { "click": "click()" }, properties: { "attr.value": "this.value", "attr.type": "this.tooltipType", "attr.position": "this.tooltipPosition", "class.show": "this.tooltipShow" } }, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: [":host{position:relative}:host:before,:host:after{position:absolute;left:50%;bottom:calc(100% + 5px);pointer-events:none;transition:.2s;will-change:transform}:host:hover:before,:host.show:before{content:attr(value);padding:.4em .7em;font-size:.8em;font-weight:initial;width:inherit;max-width:18.75em;border-radius:6px;background-color:#545e61;box-shadow:0 0 20.25em #aab2bd;color:#fff;text-align:center;white-space:pre-wrap;overflow:hidden;word-wrap:break-word;z-index:9999}:host:after{content:\"\";border-style:solid;transition-duration:0s;transform:translate(-50%) scaleY(0)}:host[type=hover]:before,:host[type=hover]:after,:host:not(.show):before,:host:not(.show):after{visibility:hidden;opacity:0}:host[type=hover]:hover:before,:host[type=hover]:hover:after,:host.show:before,:host.show:after{visibility:visible;opacity:1}:host[type=hover]:hover:before,:host.show:before{transition-delay:.1s}:host[type=hover]:hover:after,:host.show:after{transition-delay:.3s;transition-duration:.2s;transform:translate(-50%) scaleY(1)}:host[position=top]:before,:host[position=top]:after{left:50%;bottom:calc(100% + 5px)}:host[position=top]:before{transform:translate(-50%,-5px) scale(.5)}:host[position=top]:hover:before,:host[position=top].show:before{transform:translate(-50%,-.25em) scale(1)}:host[position=top]:after{border-width:.25em .25em 0;border-color:#545e61 transparent transparent transparent;transform-origin:top}:host[position=left]:before,:host[position=left]:after{left:auto;right:calc(100% + 5px);bottom:50%}:host[position=left]:before{transform:translate(-.25em,50%) scale(.5)}:host[position=left]:hover:before,:host[position=left].show:before{transform:translate(-.31em,50%) scale(1)}:host[position=left]:after{border-width:.25em 0 .25em .25em;border-color:transparent transparent transparent #545e61;transform-origin:left;transform:translateY(50%) scaleX(0)}:host[position=left]:hover:after,:host[position=left].show:after{transform:translateY(50%) scaleX(1)}:host[position=right]:before,:host[position=right]:after{left:calc(100% + 5px);bottom:50%}:host[position=right]:before{transform:translate(5px,50%) scale(.5)}:host[position=right]:hover:before,:host[position=right].show:before{transform:translate(.31em,50%) scale(1)}:host[position=right]:after{border-width:.25em .25em .25em 0;border-color:transparent #545e61 transparent transparent;transform-origin:right;transform:translateY(50%) scaleX(0)}:host[position=right]:hover:after,:host[position=right].show:after{transform:translateY(50%) scaleX(1)}:host[position=bottom]:before,:host[position=bottom]:after{top:calc(100% + 5px);bottom:auto}:host[position=bottom]:before{transform:translate(-50%,5px) scale(.5)}:host[position=bottom]:hover:before,:host[position=bottom].show:before{transform:translate(-50%,.31em) scale(1)}:host[position=bottom]:after{border-width:0 .25em .25em;border-color:transparent transparent #545e61 transparent;transform-origin:bottom}\n"] });
1561
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TooltipComponent, decorators: [{
1338
1562
  type: Component,
1339
1563
  args: [{ selector: '[sfc-tooltip]', template: `<ng-content></ng-content>`, styles: [":host{position:relative}:host:before,:host:after{position:absolute;left:50%;bottom:calc(100% + 5px);pointer-events:none;transition:.2s;will-change:transform}:host:hover:before,:host.show:before{content:attr(value);padding:.4em .7em;font-size:.8em;font-weight:initial;width:inherit;max-width:18.75em;border-radius:6px;background-color:#545e61;box-shadow:0 0 20.25em #aab2bd;color:#fff;text-align:center;white-space:pre-wrap;overflow:hidden;word-wrap:break-word;z-index:9999}:host:after{content:\"\";border-style:solid;transition-duration:0s;transform:translate(-50%) scaleY(0)}:host[type=hover]:before,:host[type=hover]:after,:host:not(.show):before,:host:not(.show):after{visibility:hidden;opacity:0}:host[type=hover]:hover:before,:host[type=hover]:hover:after,:host.show:before,:host.show:after{visibility:visible;opacity:1}:host[type=hover]:hover:before,:host.show:before{transition-delay:.1s}:host[type=hover]:hover:after,:host.show:after{transition-delay:.3s;transition-duration:.2s;transform:translate(-50%) scaleY(1)}:host[position=top]:before,:host[position=top]:after{left:50%;bottom:calc(100% + 5px)}:host[position=top]:before{transform:translate(-50%,-5px) scale(.5)}:host[position=top]:hover:before,:host[position=top].show:before{transform:translate(-50%,-.25em) scale(1)}:host[position=top]:after{border-width:.25em .25em 0;border-color:#545e61 transparent transparent transparent;transform-origin:top}:host[position=left]:before,:host[position=left]:after{left:auto;right:calc(100% + 5px);bottom:50%}:host[position=left]:before{transform:translate(-.25em,50%) scale(.5)}:host[position=left]:hover:before,:host[position=left].show:before{transform:translate(-.31em,50%) scale(1)}:host[position=left]:after{border-width:.25em 0 .25em .25em;border-color:transparent transparent transparent #545e61;transform-origin:left;transform:translateY(50%) scaleX(0)}:host[position=left]:hover:after,:host[position=left].show:after{transform:translateY(50%) scaleX(1)}:host[position=right]:before,:host[position=right]:after{left:calc(100% + 5px);bottom:50%}:host[position=right]:before{transform:translate(5px,50%) scale(.5)}:host[position=right]:hover:before,:host[position=right].show:before{transform:translate(.31em,50%) scale(1)}:host[position=right]:after{border-width:.25em .25em .25em 0;border-color:transparent #545e61 transparent transparent;transform-origin:right;transform:translateY(50%) scaleX(0)}:host[position=right]:hover:after,:host[position=right].show:after{transform:translateY(50%) scaleX(1)}:host[position=bottom]:before,:host[position=bottom]:after{top:calc(100% + 5px);bottom:auto}:host[position=bottom]:before{transform:translate(-50%,5px) scale(.5)}:host[position=bottom]:hover:before,:host[position=bottom].show:before{transform:translate(-50%,.31em) scale(1)}:host[position=bottom]:after{border-width:0 .25em .25em;border-color:transparent transparent #545e61 transparent;transform-origin:bottom}\n"] }]
1340
1564
  }], ctorParameters: function () {
@@ -1370,9 +1594,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1370
1594
 
1371
1595
  class DelimeterComponent {
1372
1596
  }
1373
- DelimeterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DelimeterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1374
- DelimeterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: DelimeterComponent, selector: "sfc-delimeter", ngImport: i0, template: ``, isInline: true, styles: [":host{display:inline-block;width:100%;height:1px;margin:.3em 0}:host,:host-context(.sfc-default-theme) :host{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-context(.sfc-dark-theme) :host{background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,.4) 17%,rgba(255,255,255,.4) 83%,rgba(255,255,255,0) 100%)}\n"] });
1375
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DelimeterComponent, decorators: [{
1597
+ DelimeterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DelimeterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1598
+ DelimeterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DelimeterComponent, selector: "sfc-delimeter", ngImport: i0, template: ``, isInline: true, styles: [":host{display:inline-block;width:100%;height:1px;margin:.3em 0}:host,:host-context(.sfc-default-theme) :host{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-context(.sfc-dark-theme) :host{background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,.4) 17%,rgba(255,255,255,.4) 83%,rgba(255,255,255,0) 100%)}\n"] });
1599
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DelimeterComponent, decorators: [{
1376
1600
  type: Component,
1377
1601
  args: [{ selector: 'sfc-delimeter', template: ``, styles: [":host{display:inline-block;width:100%;height:1px;margin:.3em 0}:host,:host-context(.sfc-default-theme) :host{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-context(.sfc-dark-theme) :host{background:linear-gradient(to right,rgba(255,255,255,0) 0%,rgba(255,255,255,.4) 17%,rgba(255,255,255,.4) 83%,rgba(255,255,255,0) 100%)}\n"] }]
1378
1602
  }] });
@@ -1423,7 +1647,7 @@ class LoaderService {
1423
1647
  */
1424
1648
  remove(id = LoaderConstants.GLOBAL_LOADER_ID) {
1425
1649
  const loaders = this.loaderSubject.getValue();
1426
- if (removeItem(loaders, loader => loader.id == id)) {
1650
+ if (removeItemBy(loaders, loader => loader.id == id)) {
1427
1651
  this.loaderSubject.next(loaders);
1428
1652
  }
1429
1653
  }
@@ -1435,7 +1659,7 @@ class LoaderService {
1435
1659
  const loaders = this.loaderSubject.getValue(), ILoaderEvent = { id, status }, loader = firstOrDefault(loaders, (loader) => loader.id == id);
1436
1660
  if (isDefined(loader) && (loader === null || loader === void 0 ? void 0 : loader.status) == status)
1437
1661
  return this.selectLoaderById(id);
1438
- const updatedLoaders = updateItem(loaders, (loader) => loader.id == id, ILoaderEvent);
1662
+ const updatedLoaders = updateItemBy(loaders, (loader) => loader.id == id, ILoaderEvent);
1439
1663
  if (isDefined(updatedLoaders)) {
1440
1664
  this.loaderSubject.next(updatedLoaders);
1441
1665
  }
@@ -1445,9 +1669,9 @@ class LoaderService {
1445
1669
  return null;
1446
1670
  }
1447
1671
  }
1448
- LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1449
- LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoaderService, providedIn: 'root' });
1450
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoaderService, decorators: [{
1672
+ LoaderService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1673
+ LoaderService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderService, providedIn: 'root' });
1674
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderService, decorators: [{
1451
1675
  type: Injectable,
1452
1676
  args: [{
1453
1677
  providedIn: 'root'
@@ -1487,9 +1711,9 @@ class LoaderBaseComponent {
1487
1711
  return classes;
1488
1712
  }
1489
1713
  }
1490
- LoaderBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoaderBaseComponent, deps: [{ token: LoaderService }], target: i0.ɵɵFactoryTarget.Directive });
1491
- LoaderBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: LoaderBaseComponent, inputs: { id: "id", start: "start", background: "background" }, ngImport: i0 });
1492
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LoaderBaseComponent, decorators: [{
1714
+ LoaderBaseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderBaseComponent, deps: [{ token: LoaderService }], target: i0.ɵɵFactoryTarget.Directive });
1715
+ LoaderBaseComponent.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: LoaderBaseComponent, inputs: { id: "id", start: "start", background: "background" }, ngImport: i0 });
1716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoaderBaseComponent, decorators: [{
1493
1717
  type: Directive
1494
1718
  }], ctorParameters: function () { return [{ type: LoaderService }]; }, propDecorators: { id: [{
1495
1719
  type: Input
@@ -1501,9 +1725,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1501
1725
 
1502
1726
  class BounceLoaderComponent extends LoaderBaseComponent {
1503
1727
  }
1504
- BounceLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BounceLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1505
- BounceLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: BounceLoaderComponent, selector: "sfc-bounce-loader", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"spinner\">\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".spinner{text-align:center}.spinner .bounce{border-radius:100%;display:inline-block;animation:bounce-delay 1.4s infinite ease-in-out both;width:1em;height:1em}.spinner .bounce,:host-context(.sfc-default-theme) .spinner .bounce{background-color:#545e61}:host-context(.sfc-dark-theme) .spinner .bounce{background-color:#fff}.spinner .bounce:nth-child(1){animation-delay:-.32s}.spinner .bounce:nth-child(2){animation-delay:-.16s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"], directives: [{ type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1$2.AsyncPipe } });
1506
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: BounceLoaderComponent, decorators: [{
1728
+ BounceLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BounceLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1729
+ BounceLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: BounceLoaderComponent, selector: "sfc-bounce-loader", usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"spinner\">\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".spinner{text-align:center}.spinner .bounce{border-radius:100%;display:inline-block;animation:bounce-delay 1.4s infinite ease-in-out both;width:1em;height:1em}.spinner .bounce,:host-context(.sfc-default-theme) .spinner .bounce{background-color:#545e61}:host-context(.sfc-dark-theme) .spinner .bounce{background-color:#fff}.spinner .bounce:nth-child(1){animation-delay:-.32s}.spinner .bounce:nth-child(2){animation-delay:-.16s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
1730
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: BounceLoaderComponent, decorators: [{
1507
1731
  type: Component,
1508
1732
  args: [{ selector: 'sfc-bounce-loader', template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"spinner\">\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n <div class=\"bounce\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".spinner{text-align:center}.spinner .bounce{border-radius:100%;display:inline-block;animation:bounce-delay 1.4s infinite ease-in-out both;width:1em;height:1em}.spinner .bounce,:host-context(.sfc-default-theme) .spinner .bounce{background-color:#545e61}:host-context(.sfc-dark-theme) .spinner .bounce{background-color:#fff}.spinner .bounce:nth-child(1){animation-delay:-.32s}.spinner .bounce:nth-child(2){animation-delay:-.16s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}\n"] }]
1509
1733
  }] });
@@ -1520,9 +1744,9 @@ class CircleLoaderComponent extends LoaderBaseComponent {
1520
1744
  this.type = CircleLoaderType.Default;
1521
1745
  }
1522
1746
  }
1523
- CircleLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CircleLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1524
- CircleLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: CircleLoaderComponent, selector: "sfc-circle-loader", inputs: { type: "type" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"circles-container\" [ngClass]=\"type\">\r\n <div class=\"circle1\"></div>\r\n <div class=\"circle2\"></div>\r\n <div class=\"circle3\"></div>\r\n <div class=\"circle4\"></div>\r\n <div class=\"circle5\"></div>\r\n <div class=\"circle6\"></div>\r\n <div class=\"circle7\"></div>\r\n <div class=\"circle8\"></div>\r\n <div class=\"circle9\"></div>\r\n <div class=\"circle10\"></div>\r\n <div class=\"circle11\"></div>\r\n <div class=\"circle12\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".circles-container{position:relative;width:2.5em;height:2.5em}.circles-container div{width:100%;height:100%;position:absolute;left:0;top:0}.circles-container div:before{content:\"\";display:block;margin:0 auto;width:15%;height:15%;border-radius:100%;animation:bounce-delay 1.2s infinite ease-in-out both}.circles-container div:before,:host-context(.sfc-default-theme) .circles-container div:before{background-color:#545e61}:host-context(.sfc-dark-theme) .circles-container div:before{background-color:#fff}.circles-container.fading div:before{animation-name:circle-fade-delay}.circles-container .circle2{transform:rotate(30deg)}.circles-container .circle2:before{animation-delay:-1.1s}.circles-container .circle3{transform:rotate(60deg)}.circles-container .circle3:before{animation-delay:-1s}.circles-container .circle4{transform:rotate(90deg)}.circles-container .circle4:before{animation-delay:-.9s}.circles-container .circle5{transform:rotate(120deg)}.circles-container .circle5:before{animation-delay:-.8s}.circles-container .circle6{transform:rotate(150deg)}.circles-container .circle6:before{animation-delay:-.7s}.circles-container .circle7{transform:rotate(180deg)}.circles-container .circle7:before{animation-delay:-.6s}.circles-container .circle8{transform:rotate(210deg)}.circles-container .circle8:before{animation-delay:-.5s}.circles-container .circle9{transform:rotate(240deg)}.circles-container .circle9:before{animation-delay:-.4s}.circles-container .circle10{transform:rotate(270deg)}.circles-container .circle10:before{animation-delay:-.3s}.circles-container .circle11{transform:rotate(300deg)}.circles-container .circle11:before{animation-delay:-.2s}.circles-container .circle12{transform:rotate(330deg)}.circles-container .circle12:before{animation-delay:-.1s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes circle-fade-delay{0%,39%,to{opacity:0}40%{opacity:1}}\n"], directives: [{ type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], pipes: { "async": i1$2.AsyncPipe } });
1525
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CircleLoaderComponent, decorators: [{
1747
+ CircleLoaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CircleLoaderComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
1748
+ CircleLoaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CircleLoaderComponent, selector: "sfc-circle-loader", inputs: { type: "type" }, usesInheritance: true, ngImport: i0, template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"circles-container\" [ngClass]=\"type\">\r\n <div class=\"circle1\"></div>\r\n <div class=\"circle2\"></div>\r\n <div class=\"circle3\"></div>\r\n <div class=\"circle4\"></div>\r\n <div class=\"circle5\"></div>\r\n <div class=\"circle6\"></div>\r\n <div class=\"circle7\"></div>\r\n <div class=\"circle8\"></div>\r\n <div class=\"circle9\"></div>\r\n <div class=\"circle10\"></div>\r\n <div class=\"circle11\"></div>\r\n <div class=\"circle12\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".circles-container{position:relative;width:2.5em;height:2.5em}.circles-container div{width:100%;height:100%;position:absolute;left:0;top:0}.circles-container div:before{content:\"\";display:block;margin:0 auto;width:15%;height:15%;border-radius:100%;animation:bounce-delay 1.2s infinite ease-in-out both}.circles-container div:before,:host-context(.sfc-default-theme) .circles-container div:before{background-color:#545e61}:host-context(.sfc-dark-theme) .circles-container div:before{background-color:#fff}.circles-container.fading div:before{animation-name:circle-fade-delay}.circles-container .circle2{transform:rotate(30deg)}.circles-container .circle2:before{animation-delay:-1.1s}.circles-container .circle3{transform:rotate(60deg)}.circles-container .circle3:before{animation-delay:-1s}.circles-container .circle4{transform:rotate(90deg)}.circles-container .circle4:before{animation-delay:-.9s}.circles-container .circle5{transform:rotate(120deg)}.circles-container .circle5:before{animation-delay:-.8s}.circles-container .circle6{transform:rotate(150deg)}.circles-container .circle6:before{animation-delay:-.7s}.circles-container .circle7{transform:rotate(180deg)}.circles-container .circle7:before{animation-delay:-.6s}.circles-container .circle8{transform:rotate(210deg)}.circles-container .circle8:before{animation-delay:-.5s}.circles-container .circle9{transform:rotate(240deg)}.circles-container .circle9:before{animation-delay:-.4s}.circles-container .circle10{transform:rotate(270deg)}.circles-container .circle10:before{animation-delay:-.3s}.circles-container .circle11{transform:rotate(300deg)}.circles-container .circle11:before{animation-delay:-.2s}.circles-container .circle12{transform:rotate(330deg)}.circles-container .circle12:before{animation-delay:-.1s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes circle-fade-delay{0%,39%,to{opacity:0}40%{opacity:1}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
1749
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CircleLoaderComponent, decorators: [{
1526
1750
  type: Component,
1527
1751
  args: [{ selector: 'sfc-circle-loader', template: "<div *ngIf=\"show$ | async\" class=\"preloader\" [ngClass]=\"preLoaderClasses\">\r\n <div class=\"circles-container\" [ngClass]=\"type\">\r\n <div class=\"circle1\"></div>\r\n <div class=\"circle2\"></div>\r\n <div class=\"circle3\"></div>\r\n <div class=\"circle4\"></div>\r\n <div class=\"circle5\"></div>\r\n <div class=\"circle6\"></div>\r\n <div class=\"circle7\"></div>\r\n <div class=\"circle8\"></div>\r\n <div class=\"circle9\"></div>\r\n <div class=\"circle10\"></div>\r\n <div class=\"circle11\"></div>\r\n <div class=\"circle12\"></div>\r\n </div>\r\n</div>", styles: [".preloader{position:relative;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;text-align:center}.preloader.background{opacity:.7}.preloader.background,:host-context(.sfc-default-theme) .preloader.background{background-color:#fff}:host-context(.sfc-dark-theme) .preloader.background{background-color:#656d78}.preloader.global{z-index:9999;position:fixed}.preloader.local{z-index:9998;position:absolute}\n", ".circles-container{position:relative;width:2.5em;height:2.5em}.circles-container div{width:100%;height:100%;position:absolute;left:0;top:0}.circles-container div:before{content:\"\";display:block;margin:0 auto;width:15%;height:15%;border-radius:100%;animation:bounce-delay 1.2s infinite ease-in-out both}.circles-container div:before,:host-context(.sfc-default-theme) .circles-container div:before{background-color:#545e61}:host-context(.sfc-dark-theme) .circles-container div:before{background-color:#fff}.circles-container.fading div:before{animation-name:circle-fade-delay}.circles-container .circle2{transform:rotate(30deg)}.circles-container .circle2:before{animation-delay:-1.1s}.circles-container .circle3{transform:rotate(60deg)}.circles-container .circle3:before{animation-delay:-1s}.circles-container .circle4{transform:rotate(90deg)}.circles-container .circle4:before{animation-delay:-.9s}.circles-container .circle5{transform:rotate(120deg)}.circles-container .circle5:before{animation-delay:-.8s}.circles-container .circle6{transform:rotate(150deg)}.circles-container .circle6:before{animation-delay:-.7s}.circles-container .circle7{transform:rotate(180deg)}.circles-container .circle7:before{animation-delay:-.6s}.circles-container .circle8{transform:rotate(210deg)}.circles-container .circle8:before{animation-delay:-.5s}.circles-container .circle9{transform:rotate(240deg)}.circles-container .circle9:before{animation-delay:-.4s}.circles-container .circle10{transform:rotate(270deg)}.circles-container .circle10:before{animation-delay:-.3s}.circles-container .circle11{transform:rotate(300deg)}.circles-container .circle11:before{animation-delay:-.2s}.circles-container .circle12{transform:rotate(330deg)}.circles-container .circle12:before{animation-delay:-.1s}@keyframes bounce-delay{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes circle-fade-delay{0%,39%,to{opacity:0}40%{opacity:1}}\n"] }]
1528
1752
  }], propDecorators: { type: [{
@@ -1550,9 +1774,9 @@ class ModalService {
1550
1774
  this.subjectOpen.next(options);
1551
1775
  }
1552
1776
  }
1553
- ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1554
- ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalService, providedIn: 'root' });
1555
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalService, decorators: [{
1777
+ ModalService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1778
+ ModalService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalService, providedIn: 'root' });
1779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalService, decorators: [{
1556
1780
  type: Injectable,
1557
1781
  args: [{
1558
1782
  providedIn: 'root'
@@ -1570,11 +1794,11 @@ class TemplateContentComponent {
1570
1794
  return (templateRef === null || templateRef === void 0 ? void 0 : templateRef.template) || null;
1571
1795
  }
1572
1796
  }
1573
- TemplateContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TemplateContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1574
- TemplateContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: TemplateContentComponent, selector: "sfc-template-content", inputs: { contextData: "contextData", referenceContent: "referenceContent", templateType: "templateType", templatesContent: "templatesContent", defaultContent: "defaultContent" }, ngImport: i0, template: "<ng-container *ngIf=\"referenceContent;else template\">\r\n <ng-container *ngTemplateOutlet=\"referenceContent;context:{$implicit: contextData}\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #template>\r\n <ng-container *ngTemplateOutlet=\"templateContent;context:{$implicit: contextData}\">\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"defaultContent && showDefault\">\r\n <ng-container *ngTemplateOutlet=\"defaultContent;context:{$implicit: contextData}\"></ng-container>\r\n</ng-container>", styles: [":host{display:contents}\n"], directives: [{ type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
1575
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: TemplateContentComponent, decorators: [{
1797
+ TemplateContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TemplateContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1798
+ TemplateContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: TemplateContentComponent, selector: "sfc-template-content", inputs: { contextData: "contextData", referenceContent: "referenceContent", templateType: "templateType", templatesContent: "templatesContent", defaultContent: "defaultContent" }, ngImport: i0, template: "<ng-container *ngIf=\"referenceContent;else template\">\r\n <ng-container *ngTemplateOutlet=\"referenceContent;context:{$implicit: contextData}\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #template>\r\n <ng-container *ngTemplateOutlet=\"templateContent;context:{$implicit: contextData}\">\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"defaultContent && showDefault\">\r\n <ng-container *ngTemplateOutlet=\"defaultContent;context:{$implicit: contextData}\"></ng-container>\r\n</ng-container>", styles: [":host{display:contents}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
1799
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: TemplateContentComponent, decorators: [{
1576
1800
  type: Component,
1577
- args: [{ selector: 'sfc-template-content', styles: [':host{ display: contents;}'], template: "<ng-container *ngIf=\"referenceContent;else template\">\r\n <ng-container *ngTemplateOutlet=\"referenceContent;context:{$implicit: contextData}\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #template>\r\n <ng-container *ngTemplateOutlet=\"templateContent;context:{$implicit: contextData}\">\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"defaultContent && showDefault\">\r\n <ng-container *ngTemplateOutlet=\"defaultContent;context:{$implicit: contextData}\"></ng-container>\r\n</ng-container>" }]
1801
+ args: [{ selector: 'sfc-template-content', template: "<ng-container *ngIf=\"referenceContent;else template\">\r\n <ng-container *ngTemplateOutlet=\"referenceContent;context:{$implicit: contextData}\"></ng-container>\r\n</ng-container>\r\n\r\n<ng-template #template>\r\n <ng-container *ngTemplateOutlet=\"templateContent;context:{$implicit: contextData}\">\r\n </ng-container>\r\n</ng-template>\r\n\r\n<ng-container *ngIf=\"defaultContent && showDefault\">\r\n <ng-container *ngTemplateOutlet=\"defaultContent;context:{$implicit: contextData}\"></ng-container>\r\n</ng-container>", styles: [":host{display:contents}\n"] }]
1578
1802
  }], propDecorators: { contextData: [{
1579
1803
  type: Input
1580
1804
  }], referenceContent: [{
@@ -1592,9 +1816,9 @@ class CloseComponent {
1592
1816
  this.faTimes = faTimes;
1593
1817
  }
1594
1818
  }
1595
- CloseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CloseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1596
- CloseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: CloseComponent, selector: "sfc-close", ngImport: i0, template: "<div class=\"container\">\r\n <fa-icon [icon]=\"faTimes\"></fa-icon>\r\n</div>", styles: [":host{color:#545e61;cursor:pointer}:host:hover{color:#2bbbad}\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"] }] });
1597
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CloseComponent, decorators: [{
1819
+ CloseComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CloseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1820
+ CloseComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: CloseComponent, selector: "sfc-close", ngImport: i0, template: "<div class=\"container\">\r\n <fa-icon [icon]=\"faTimes\"></fa-icon>\r\n</div>", styles: [":host{color:#545e61;cursor:pointer}:host:hover{color:#2bbbad}\n"], dependencies: [{ kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
1821
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CloseComponent, decorators: [{
1598
1822
  type: Component,
1599
1823
  args: [{ selector: 'sfc-close', template: "<div class=\"container\">\r\n <fa-icon [icon]=\"faTimes\"></fa-icon>\r\n</div>", styles: [":host{color:#545e61;cursor:pointer}:host:hover{color:#2bbbad}\n"] }]
1600
1824
  }] });
@@ -1620,9 +1844,9 @@ class DefaultModalHeaderComponent {
1620
1844
  this.modalService.close();
1621
1845
  }
1622
1846
  }
1623
- DefaultModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DefaultModalHeaderComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
1624
- DefaultModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: DefaultModalHeaderComponent, selector: "sfc-default-modal-header", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"container\">\r\n <fa-icon *ngIf=\"model?.icon\" class=\"icon\" [icon]=\"icon\"></fa-icon>\r\n <span *ngIf=\"model?.text\" class=\"label\">{{model?.text}}</span>\r\n <sfc-close *ngIf=\"model?.showCloseIcon\" (click)=\"onClose()\"></sfc-close>\r\n</div>", styles: [":host{display:inline-flex;width:100%}:host .container{display:flex;align-items:flex-start;width:100%;justify-content:space-between}:host .container .icon{font-size:1em;padding-right:.7em}:host .container .label{font-size:1.2em;font-weight:700;-webkit-user-select:none;user-select:none;padding:0 .7em}:host .container sfc-close{padding-left:.7em}\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"] }, { type: CloseComponent, selector: "sfc-close" }], directives: [{ type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1625
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DefaultModalHeaderComponent, decorators: [{
1847
+ DefaultModalHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DefaultModalHeaderComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
1848
+ DefaultModalHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DefaultModalHeaderComponent, selector: "sfc-default-modal-header", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"container\">\r\n <fa-icon *ngIf=\"model?.icon\" class=\"icon\" [icon]=\"icon\"></fa-icon>\r\n <span *ngIf=\"model?.text\" class=\"label\">{{model?.text}}</span>\r\n <sfc-close *ngIf=\"model?.showCloseIcon\" (click)=\"onClose()\"></sfc-close>\r\n</div>", styles: [":host{display:inline-flex;width:100%}:host .container{display:flex;align-items:flex-start;width:100%;justify-content:space-between}:host .container .icon{font-size:1em;padding-right:.7em}:host .container .label{font-size:1.2em;font-weight:700;-webkit-user-select:none;user-select:none;padding:0 .7em}:host .container sfc-close{padding-left:.7em}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "component", type: CloseComponent, selector: "sfc-close" }] });
1849
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DefaultModalHeaderComponent, decorators: [{
1626
1850
  type: Component,
1627
1851
  args: [{ selector: 'sfc-default-modal-header', template: "<div class=\"container\">\r\n <fa-icon *ngIf=\"model?.icon\" class=\"icon\" [icon]=\"icon\"></fa-icon>\r\n <span *ngIf=\"model?.text\" class=\"label\">{{model?.text}}</span>\r\n <sfc-close *ngIf=\"model?.showCloseIcon\" (click)=\"onClose()\"></sfc-close>\r\n</div>", styles: [":host{display:inline-flex;width:100%}:host .container{display:flex;align-items:flex-start;width:100%;justify-content:space-between}:host .container .icon{font-size:1em;padding-right:.7em}:host .container .label{font-size:1.2em;font-weight:700;-webkit-user-select:none;user-select:none;padding:0 .7em}:host .container sfc-close{padding-left:.7em}\n"] }]
1628
1852
  }], ctorParameters: function () { return [{ type: ModalService }]; }, propDecorators: { model: [{
@@ -1660,9 +1884,9 @@ class DefaultModalFooterComponent {
1660
1884
  this.modalService.close();
1661
1885
  }
1662
1886
  }
1663
- DefaultModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DefaultModalFooterComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
1664
- DefaultModalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: DefaultModalFooterComponent, selector: "sfc-default-modal-footer", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"container\">\r\n <sfc-button *ngIf=\"model?.applyButton\" [sfcComponentSize] [customSize]=\"BUTTON_CUSTOM_SIZE\" text=\"Ok\"\r\n [types]=\"[ButtonType.Rounded]\" (click)=\"onButtonClick()\">\r\n </sfc-button>\r\n <sfc-button *ngIf=\"model?.cancelButton\" [sfcComponentSize] [customSize]=\"BUTTON_CUSTOM_SIZE\" text=\"Cancel\"\r\n [types]=\"[ButtonType.Rounded]\" (click)=\"onButtonClick(true)\">\r\n </sfc-button>\r\n</div>", styles: [":host{display:inline-flex;width:100%}:host .container{display:flex;justify-content:center;align-items:center;width:100%}:host .container sfc-button:first-child{padding-right:.3em}:host .container sfc-button:nth-child(2){padding-left:.3em}:host .container ::ng-deep sfc-button .button.rounded{width:5em}:host .container ::ng-deep sfc-button .button:not(:hover){color:#545e61!important;border-color:#545e61!important}\n"], components: [{ type: ButtonComponent, selector: "sfc-button", inputs: ["text", "iconBefore", "iconAfter", "disabled", "types"] }], directives: [{ type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: ["sfcComponentSize", "customSize"] }] });
1665
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DefaultModalFooterComponent, decorators: [{
1887
+ DefaultModalFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DefaultModalFooterComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
1888
+ DefaultModalFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DefaultModalFooterComponent, selector: "sfc-default-modal-footer", inputs: { model: "model" }, ngImport: i0, template: "<div class=\"container\">\r\n <sfc-button *ngIf=\"model?.applyButton\" [sfcComponentSize] [customSize]=\"BUTTON_CUSTOM_SIZE\" text=\"Ok\"\r\n [types]=\"[ButtonType.Rounded]\" (click)=\"onButtonClick()\">\r\n </sfc-button>\r\n <sfc-button *ngIf=\"model?.cancelButton\" [sfcComponentSize] [customSize]=\"BUTTON_CUSTOM_SIZE\" text=\"Cancel\"\r\n [types]=\"[ButtonType.Rounded]\" (click)=\"onButtonClick(true)\">\r\n </sfc-button>\r\n</div>", styles: [":host{display:inline-flex;width:100%}:host .container{display:flex;justify-content:center;align-items:center;width:100%}:host .container sfc-button:first-child{padding-right:.3em}:host .container sfc-button:nth-child(2){padding-left:.3em}:host .container ::ng-deep sfc-button .button.rounded{width:5em}:host .container ::ng-deep sfc-button .button:not(:hover){color:#545e61!important;border-color:#545e61!important}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: ["sfcComponentSize", "customSize"] }, { kind: "component", type: ButtonComponent, selector: "sfc-button", inputs: ["text", "iconBefore", "iconAfter", "disabled", "types"] }] });
1889
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DefaultModalFooterComponent, decorators: [{
1666
1890
  type: Component,
1667
1891
  args: [{ selector: 'sfc-default-modal-footer', template: "<div class=\"container\">\r\n <sfc-button *ngIf=\"model?.applyButton\" [sfcComponentSize] [customSize]=\"BUTTON_CUSTOM_SIZE\" text=\"Ok\"\r\n [types]=\"[ButtonType.Rounded]\" (click)=\"onButtonClick()\">\r\n </sfc-button>\r\n <sfc-button *ngIf=\"model?.cancelButton\" [sfcComponentSize] [customSize]=\"BUTTON_CUSTOM_SIZE\" text=\"Cancel\"\r\n [types]=\"[ButtonType.Rounded]\" (click)=\"onButtonClick(true)\">\r\n </sfc-button>\r\n</div>", styles: [":host{display:inline-flex;width:100%}:host .container{display:flex;justify-content:center;align-items:center;width:100%}:host .container sfc-button:first-child{padding-right:.3em}:host .container sfc-button:nth-child(2){padding-left:.3em}:host .container ::ng-deep sfc-button .button.rounded{width:5em}:host .container ::ng-deep sfc-button .button:not(:hover){color:#545e61!important;border-color:#545e61!important}\n"] }]
1668
1892
  }], ctorParameters: function () { return [{ type: ModalService }]; }, propDecorators: { model: [{
@@ -1685,8 +1909,8 @@ class ModalComponent {
1685
1909
  this.modalService.close();
1686
1910
  }
1687
1911
  }
1688
- ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
1689
- ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ModalComponent, selector: "sfc-modal", inputs: { body: "body", header: "header", footer: "footer", defaultHeaderModel: "defaultHeaderModel", defaultFooterModel: "defaultFooterModel", hideOnEsc: "hideOnEsc", hideOnClickOutside: "hideOnClickOutside" }, host: { listeners: { "document:keydown.escape": "onEscapeKeyDownHandler()" } }, queries: [{ propertyName: "templates", predicate: TemplateReferenceDirective, read: TemplateReferenceDirective }], ngImport: i0, template: "<div class=\"overlay\" [@hideOverlay] (click)=\"hideOnClickOutside && close()\">\r\n <div class=\"content\" [@hideContent] (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"header\">\r\n\r\n <sfc-template-content [referenceContent]=\"header\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Header\" [defaultContent]=\"defaultHeader\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultHeader>\r\n <sfc-default-modal-header [model]=\"defaultHeaderModel\"> </sfc-default-modal-header>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <div class=\"body\">\r\n\r\n <sfc-template-content [referenceContent]=\"body\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Body\">\r\n </sfc-template-content>\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n\r\n <sfc-template-content [referenceContent]=\"footer\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Footer\" [defaultContent]=\"defaultFooter\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultFooter>\r\n <sfc-default-modal-footer [model]=\"defaultFooterModel\"></sfc-default-modal-footer>\r\n </ng-template>\r\n\r\n </div>\r\n </div>\r\n</div>", styles: [".overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background-color:#0009;-webkit-backface-visibility:visible;backface-visibility:visible;animation:expand-overlay .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-overlay{0%{visibility:hidden;opacity:0}}.overlay .content{display:flex;align-items:center;position:relative;padding:.7em;margin:auto;background-color:#f5f7fa;max-width:calc(100% - 3em);max-height:calc(100% - 3em);border-radius:3px;overflow-y:auto;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%;flex:0 0 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#545e61;flex-direction:row;display:flex;justify-content:center}\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: [
1912
+ ModalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalComponent, deps: [{ token: ModalService }], target: i0.ɵɵFactoryTarget.Component });
1913
+ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", 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"], dependencies: [{ kind: "component", type: TemplateContentComponent, selector: "sfc-template-content", inputs: ["contextData", "referenceContent", "templateType", "templatesContent", "defaultContent"] }, { kind: "component", type: DefaultModalHeaderComponent, selector: "sfc-default-modal-header", inputs: ["model"] }, { kind: "component", type: DefaultModalFooterComponent, selector: "sfc-default-modal-footer", inputs: ["model"] }], animations: [
1690
1914
  trigger('hideOverlay', [
1691
1915
  state('initial', style({ opacity: 1, visibility: 'visible' })),
1692
1916
  state('void', style({ opacity: 0, visibility: 'hidden' })),
@@ -1708,7 +1932,7 @@ ModalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version
1708
1932
  transition('* => void', animate('400ms cubic-bezier(.55, 0, .1, 1)'))
1709
1933
  ])
1710
1934
  ] });
1711
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalComponent, decorators: [{
1935
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalComponent, decorators: [{
1712
1936
  type: Component,
1713
1937
  args: [{ selector: 'sfc-modal', animations: [
1714
1938
  trigger('hideOverlay', [
@@ -1731,7 +1955,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1731
1955
  state('void', style({ opacity: 0, visibility: 'hidden', transform: 'scale(1.2)' })),
1732
1956
  transition('* => void', animate('400ms cubic-bezier(.55, 0, .1, 1)'))
1733
1957
  ])
1734
- ], template: "<div class=\"overlay\" [@hideOverlay] (click)=\"hideOnClickOutside && close()\">\r\n <div class=\"content\" [@hideContent] (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"header\">\r\n\r\n <sfc-template-content [referenceContent]=\"header\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Header\" [defaultContent]=\"defaultHeader\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultHeader>\r\n <sfc-default-modal-header [model]=\"defaultHeaderModel\"> </sfc-default-modal-header>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <div class=\"body\">\r\n\r\n <sfc-template-content [referenceContent]=\"body\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Body\">\r\n </sfc-template-content>\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n\r\n <sfc-template-content [referenceContent]=\"footer\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Footer\" [defaultContent]=\"defaultFooter\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultFooter>\r\n <sfc-default-modal-footer [model]=\"defaultFooterModel\"></sfc-default-modal-footer>\r\n </ng-template>\r\n\r\n </div>\r\n </div>\r\n</div>", styles: [".overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background-color:#0009;-webkit-backface-visibility:visible;backface-visibility:visible;animation:expand-overlay .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-overlay{0%{visibility:hidden;opacity:0}}.overlay .content{display:flex;align-items:center;position:relative;padding:.7em;margin:auto;background-color:#f5f7fa;max-width:calc(100% - 3em);max-height:calc(100% - 3em);border-radius:3px;overflow-y:auto;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%;flex:0 0 auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#545e61;flex-direction:row;display:flex;justify-content:center}\n"] }]
1958
+ ], template: "<div class=\"overlay\" [@hideOverlay] (click)=\"hideOnClickOutside && close()\">\r\n <div class=\"content\" [@hideContent] (click)=\"$event.stopPropagation()\">\r\n\r\n <div class=\"header\">\r\n\r\n <sfc-template-content [referenceContent]=\"header\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Header\" [defaultContent]=\"defaultHeader\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultHeader>\r\n <sfc-default-modal-header [model]=\"defaultHeaderModel\"> </sfc-default-modal-header>\r\n </ng-template>\r\n\r\n </div>\r\n\r\n <div class=\"body\">\r\n\r\n <sfc-template-content [referenceContent]=\"body\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Body\">\r\n </sfc-template-content>\r\n\r\n </div>\r\n\r\n <div class=\"footer\">\r\n\r\n <sfc-template-content [referenceContent]=\"footer\" [templatesContent]=\"templates\"\r\n [templateType]=\"ModalTemplate.Footer\" [defaultContent]=\"defaultFooter\">\r\n </sfc-template-content>\r\n\r\n <ng-template #defaultFooter>\r\n <sfc-default-modal-footer [model]=\"defaultFooterModel\"></sfc-default-modal-footer>\r\n </ng-template>\r\n\r\n </div>\r\n </div>\r\n</div>", styles: [".overlay{display:flex;align-items:center;justify-content:center;position:fixed;top:0;left:0;width:100%;height:100%;z-index:9999;background-color:#0009;-webkit-backface-visibility:visible;backface-visibility:visible;animation:expand-overlay .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-overlay{0%{visibility:hidden;opacity:0}}.overlay .content{display:flex;align-items:center;position:relative;padding:.7em;margin:auto;background-color:#f5f7fa;max-width:calc(100% - 3em);max-height:calc(100% - 3em);border-radius:3px;box-shadow:0 .125em .625em #656d78;transform:scale(1);flex-direction:column;animation:expand-modal .4s cubic-bezier(.55,0,.1,1)}@keyframes expand-modal{0%{visibility:hidden;opacity:0;transform:scale(1.2)}}.overlay .content>div{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#545e61;flex-direction:row;display:flex;flex:0 0 auto;justify-content:center}.overlay .content>div.body{overflow-y:auto;flex:0}\n"] }]
1735
1959
  }], ctorParameters: function () { return [{ type: ModalService }]; }, propDecorators: { body: [{
1736
1960
  type: Input
1737
1961
  }], header: [{
@@ -1779,9 +2003,7 @@ class ModalOpenOnClickDirective {
1779
2003
  }
1780
2004
  ngOnInit() {
1781
2005
  this._closeSubscription = this.modalService.close$
1782
- .subscribe(() => {
1783
- this.viewContainer.clear();
1784
- });
2006
+ .subscribe(() => this.viewContainer.clear());
1785
2007
  }
1786
2008
  ngOnDestroy() {
1787
2009
  var _a;
@@ -1789,9 +2011,9 @@ class ModalOpenOnClickDirective {
1789
2011
  this.elements.forEach(el => el.removeEventListener('click', this.clickHandler));
1790
2012
  }
1791
2013
  }
1792
- ModalOpenOnClickDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalOpenOnClickDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: ModalService }], target: i0.ɵɵFactoryTarget.Directive });
1793
- ModalOpenOnClickDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.7", type: ModalOpenOnClickDirective, selector: "[sfcModalOpenOnClick]", inputs: { modalOpenOnClick: ["sfcModalOpenOnClick", "modalOpenOnClick"] }, ngImport: i0 });
1794
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ModalOpenOnClickDirective, decorators: [{
2014
+ ModalOpenOnClickDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalOpenOnClickDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: ModalService }], target: i0.ɵɵFactoryTarget.Directive });
2015
+ ModalOpenOnClickDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ModalOpenOnClickDirective, selector: "[sfcModalOpenOnClick]", inputs: { modalOpenOnClick: ["sfcModalOpenOnClick", "modalOpenOnClick"] }, ngImport: i0 });
2016
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalOpenOnClickDirective, decorators: [{
1795
2017
  type: Directive,
1796
2018
  args: [{
1797
2019
  selector: '[sfcModalOpenOnClick]'
@@ -1801,15 +2023,41 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1801
2023
  args: ['sfcModalOpenOnClick']
1802
2024
  }] } });
1803
2025
 
2026
+ class ModalOpenDirective {
2027
+ constructor(templateRef, viewContainer, modalService) {
2028
+ this.templateRef = templateRef;
2029
+ this.viewContainer = viewContainer;
2030
+ this.modalService = modalService;
2031
+ this._closeSubscription = this.modalService.close$.subscribe(() => this.viewContainer.clear());
2032
+ this._openSubscription = this.modalService.open$
2033
+ .subscribe(() => {
2034
+ this.viewContainer.clear();
2035
+ this.viewContainer.createEmbeddedView(this.templateRef);
2036
+ });
2037
+ }
2038
+ ngOnDestroy() {
2039
+ this._closeSubscription.unsubscribe();
2040
+ this._openSubscription.unsubscribe();
2041
+ }
2042
+ }
2043
+ ModalOpenDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalOpenDirective, deps: [{ token: i0.TemplateRef }, { token: i0.ViewContainerRef }, { token: ModalService }], target: i0.ɵɵFactoryTarget.Directive });
2044
+ ModalOpenDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.0.4", type: ModalOpenDirective, selector: "[sfcModalOpen]", ngImport: i0 });
2045
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ModalOpenDirective, decorators: [{
2046
+ type: Directive,
2047
+ args: [{
2048
+ selector: '[sfcModalOpen]'
2049
+ }]
2050
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }, { type: i0.ViewContainerRef }, { type: ModalService }]; } });
2051
+
1804
2052
  class HamburgerComponent {
1805
2053
  constructor() {
1806
2054
  this.open = false;
1807
2055
  this.onClick = () => this.open = !this.open;
1808
2056
  }
1809
2057
  }
1810
- HamburgerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: HamburgerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1811
- HamburgerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: HamburgerComponent, selector: "sfc-hamburger", inputs: { open: "open" }, host: { listeners: { "click": "onClick()" }, properties: { "class.open": "this.open" } }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"line half start\"></div>\r\n <div class=\"line\"></div>\r\n <div class=\"line half end\"></div>\r\n</div>", styles: [".container{width:1em;height:1em;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:transform .33s ease-out}:host(.open) .container{transform:rotate(-45deg)}.container .line{border-radius:.31em;width:100%;height:.25em}.container .line,:host-context(.sfc-default-theme) .container .line{background-color:#545e61}:host-context(.sfc-dark-theme) .container .line{background-color:#ccd1d9}.container .line.half{width:50%}.container .line.start{transition:transform .33s cubic-bezier(.54,-.81,.57,.57);transform-origin:right}:host(.open) .container .line.start{transform:rotate(-90deg) translate(.1875em)}.container .line.end{align-self:flex-end;transition:transform .33s cubic-bezier(.54,-.81,.57,.57);transform-origin:left}:host(.open) .container .line.end{transform:rotate(-90deg) translate(-.1875em)}.container:hover .line{background-color:#2bbbad!important}\n"] });
1812
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: HamburgerComponent, decorators: [{
2058
+ HamburgerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HamburgerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2059
+ HamburgerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: HamburgerComponent, selector: "sfc-hamburger", inputs: { open: "open" }, host: { listeners: { "click": "onClick()" }, properties: { "class.open": "this.open" } }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"line half start\"></div>\r\n <div class=\"line\"></div>\r\n <div class=\"line half end\"></div>\r\n</div>", styles: [".container{width:1em;height:1em;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:transform .33s ease-out}:host(.open) .container{transform:rotate(-45deg)}.container .line{border-radius:.31em;width:100%;height:.25em}.container .line,:host-context(.sfc-default-theme) .container .line{background-color:#545e61}:host-context(.sfc-dark-theme) .container .line{background-color:#ccd1d9}.container .line.half{width:50%}.container .line.start{transition:transform .33s cubic-bezier(.54,-.81,.57,.57);transform-origin:right}:host(.open) .container .line.start{transform:rotate(-90deg) translate(.1875em)}.container .line.end{align-self:flex-end;transition:transform .33s cubic-bezier(.54,-.81,.57,.57);transform-origin:left}:host(.open) .container .line.end{transform:rotate(-90deg) translate(-.1875em)}.container:hover .line{background-color:#2bbbad!important}\n"] });
2060
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: HamburgerComponent, decorators: [{
1813
2061
  type: Component,
1814
2062
  args: [{ selector: 'sfc-hamburger', template: "<div class=\"container\">\r\n <div class=\"line half start\"></div>\r\n <div class=\"line\"></div>\r\n <div class=\"line half end\"></div>\r\n</div>", styles: [".container{width:1em;height:1em;display:flex;flex-direction:column;justify-content:space-between;cursor:pointer;transition:transform .33s ease-out}:host(.open) .container{transform:rotate(-45deg)}.container .line{border-radius:.31em;width:100%;height:.25em}.container .line,:host-context(.sfc-default-theme) .container .line{background-color:#545e61}:host-context(.sfc-dark-theme) .container .line{background-color:#ccd1d9}.container .line.half{width:50%}.container .line.start{transition:transform .33s cubic-bezier(.54,-.81,.57,.57);transform-origin:right}:host(.open) .container .line.start{transform:rotate(-90deg) translate(.1875em)}.container .line.end{align-self:flex-end;transition:transform .33s cubic-bezier(.54,-.81,.57,.57);transform-origin:left}:host(.open) .container .line.end{transform:rotate(-90deg) translate(-.1875em)}.container:hover .line{background-color:#2bbbad!important}\n"] }]
1815
2063
  }], propDecorators: { open: [{
@@ -1829,9 +2077,9 @@ class DotsComponent {
1829
2077
  this.onClick = () => this.open = !this.open;
1830
2078
  }
1831
2079
  }
1832
- DotsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DotsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1833
- DotsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: DotsComponent, selector: "sfc-dots", inputs: { open: "open", direction: "direction" }, host: { listeners: { "click": "onClick()" }, properties: { "class.open": "this.open", "class": "this.direction" } }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"dots-container\">\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n </div>\r\n</div>", styles: [":host{display:inline-flex;transform:rotate(0);transition:all .3s cubic-bezier(.175,.885,.32,1.275);cursor:pointer}:host.open{transform:rotate(90deg)}:host.vertical{transform:rotate(90deg)}:host.vertical.open{transform:rotate(0)}:host .container{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;flex:1;margin:.25em}:host .container .dots-container{display:flex;flex-flow:row wrap;justify-content:center;align-items:center;position:relative}:host .container .dots-container .dot{width:.3125em;height:.3125em;transition:background .3s ease;margin:.06em;border-radius:50%;display:block}:host .container .dots-container .dot,:host-context(.sfc-default-theme) :host .container .dots-container .dot{background:#545e61}:host-context(.sfc-dark-theme) :host .container .dots-container .dot{background:#ccd1d9}:host:hover .container,:host:focus .container{outline:none}:host:hover .container .dots-container .dot,:host-context(.sfc-default-theme) :host:hover .container .dots-container .dot,:host:focus .container .dots-container .dot,:host-context(.sfc-default-theme) :host:focus .container .dots-container .dot{background:#2bbbad}:host-context(.sfc-dark-theme) :host:hover .container .dots-container .dot,:host-context(.sfc-dark-theme) :host:focus .container .dots-container .dot{background:#2bbbad}\n"] });
1834
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: DotsComponent, decorators: [{
2080
+ DotsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DotsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2081
+ DotsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: DotsComponent, selector: "sfc-dots", inputs: { open: "open", direction: "direction" }, host: { listeners: { "click": "onClick()" }, properties: { "class.open": "this.open", "class": "this.direction" } }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"dots-container\">\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n </div>\r\n</div>", styles: [":host{display:inline-flex;transform:rotate(0);transition:all .3s cubic-bezier(.175,.885,.32,1.275);cursor:pointer}:host.open{transform:rotate(90deg)}:host.vertical{transform:rotate(90deg)}:host.vertical.open{transform:rotate(0)}:host .container{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;flex:1;margin:.25em}:host .container .dots-container{display:flex;flex-flow:row wrap;justify-content:center;align-items:center;position:relative}:host .container .dots-container .dot{width:.3125em;height:.3125em;transition:background .3s ease;margin:.06em;border-radius:50%;display:block}:host .container .dots-container .dot,:host-context(.sfc-default-theme) :host .container .dots-container .dot{background:#545e61}:host-context(.sfc-dark-theme) :host .container .dots-container .dot{background:#ccd1d9}:host:hover .container,:host:focus .container{outline:none}:host:hover .container .dots-container .dot,:host-context(.sfc-default-theme) :host:hover .container .dots-container .dot,:host:focus .container .dots-container .dot,:host-context(.sfc-default-theme) :host:focus .container .dots-container .dot{background:#2bbbad}:host-context(.sfc-dark-theme) :host:hover .container .dots-container .dot,:host-context(.sfc-dark-theme) :host:focus .container .dots-container .dot{background:#2bbbad}\n"] });
2082
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: DotsComponent, decorators: [{
1835
2083
  type: Component,
1836
2084
  args: [{ selector: 'sfc-dots', template: "<div class=\"container\">\r\n <div class=\"dots-container\">\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n <div class=\"dot\"></div>\r\n </div>\r\n</div>", styles: [":host{display:inline-flex;transform:rotate(0);transition:all .3s cubic-bezier(.175,.885,.32,1.275);cursor:pointer}:host.open{transform:rotate(90deg)}:host.vertical{transform:rotate(90deg)}:host.vertical.open{transform:rotate(0)}:host .container{display:inline-flex;flex-direction:column;justify-content:center;align-items:center;flex:1;margin:.25em}:host .container .dots-container{display:flex;flex-flow:row wrap;justify-content:center;align-items:center;position:relative}:host .container .dots-container .dot{width:.3125em;height:.3125em;transition:background .3s ease;margin:.06em;border-radius:50%;display:block}:host .container .dots-container .dot,:host-context(.sfc-default-theme) :host .container .dots-container .dot{background:#545e61}:host-context(.sfc-dark-theme) :host .container .dots-container .dot{background:#ccd1d9}:host:hover .container,:host:focus .container{outline:none}:host:hover .container .dots-container .dot,:host-context(.sfc-default-theme) :host:hover .container .dots-container .dot,:host:focus .container .dots-container .dot,:host-context(.sfc-default-theme) :host:focus .container .dots-container .dot{background:#2bbbad}:host-context(.sfc-dark-theme) :host:hover .container .dots-container .dot,:host-context(.sfc-dark-theme) :host:focus .container .dots-container .dot{background:#2bbbad}\n"] }]
1837
2085
  }], propDecorators: { open: [{
@@ -1852,21 +2100,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1852
2100
  class ToggleSwitcherComponent {
1853
2101
  constructor() {
1854
2102
  this.active = false;
2103
+ this.disabled = false;
1855
2104
  this.onClick = () => this.active = !this.active;
1856
2105
  this.leftModel = { label: 'Left' };
1857
2106
  this.rightModel = { label: 'Right' };
1858
2107
  }
1859
2108
  }
1860
- ToggleSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ToggleSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1861
- ToggleSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ToggleSwitcherComponent, selector: "sfc-toggle-switcher", inputs: { active: "active", leftModel: "leftModel", rightModel: "rightModel" }, host: { listeners: { "click": "onClick()" }, properties: { "class.active": "this.active" } }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"toggle\"></div>\r\n <div class=\"names\">\r\n <p class=\"left\">\r\n <fa-icon *ngIf=\"leftModel.icon\" [icon]=\"leftModel.icon\"></fa-icon>\r\n <span>{{leftModel.label}}</span>\r\n </p>\r\n <p class=\"right\">\r\n <fa-icon *ngIf=\"rightModel.icon\" [icon]=\"rightModel.icon\"></fa-icon>\r\n <span>{{rightModel.label}}</span>\r\n </p>\r\n </div>\r\n</div>", styles: [":host .container,:host .toggle{height:100%;border-radius:100px}:host .container{width:100%;background-color:#e6e9ed;color:#545e61;border-radius:100px;position:relative;cursor:pointer}:host .container .toggle{position:absolute;width:50%;background-color:#fff;box-shadow:0 .125em .5em #656d78;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}:host .container .names{font-size:90%;font-weight:bolder;width:100%;height:100%;position:relative;display:flex;justify-content:space-around;align-items:center;-webkit-user-select:none;user-select:none;overflow:hidden}:host .container .names p{font-size:90%;text-align:center;margin:0;padding:.5em 1em}:host .container .names p.right{opacity:.5}:host .container .names p fa-icon{margin-right:.25em}:host.active .container{background-color:#e6e9ed}:host.active .container .toggle{transform:translate(100%);background-color:#fff}:host.active .container .names{color:#545e61}:host.active .container .names .left{opacity:.5}:host.active .container .names .right{opacity:1}\n"], components: [{ type: i1$1.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }], directives: [{ type: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1862
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ToggleSwitcherComponent, decorators: [{
2109
+ ToggleSwitcherComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ToggleSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2110
+ ToggleSwitcherComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", 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"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
2111
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: ToggleSwitcherComponent, decorators: [{
1863
2112
  type: Component,
1864
- args: [{ selector: 'sfc-toggle-switcher', template: "<div class=\"container\">\r\n <div class=\"toggle\"></div>\r\n <div class=\"names\">\r\n <p class=\"left\">\r\n <fa-icon *ngIf=\"leftModel.icon\" [icon]=\"leftModel.icon\"></fa-icon>\r\n <span>{{leftModel.label}}</span>\r\n </p>\r\n <p class=\"right\">\r\n <fa-icon *ngIf=\"rightModel.icon\" [icon]=\"rightModel.icon\"></fa-icon>\r\n <span>{{rightModel.label}}</span>\r\n </p>\r\n </div>\r\n</div>", styles: [":host .container,:host .toggle{height:100%;border-radius:100px}:host .container{width:100%;background-color:#e6e9ed;color:#545e61;border-radius:100px;position:relative;cursor:pointer}:host .container .toggle{position:absolute;width:50%;background-color:#fff;box-shadow:0 .125em .5em #656d78;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}:host .container .names{font-size:90%;font-weight:bolder;width:100%;height:100%;position:relative;display:flex;justify-content:space-around;align-items:center;-webkit-user-select:none;user-select:none;overflow:hidden}:host .container .names p{font-size:90%;text-align:center;margin:0;padding:.5em 1em}:host .container .names p.right{opacity:.5}:host .container .names p fa-icon{margin-right:.25em}:host.active .container{background-color:#e6e9ed}:host.active .container .toggle{transform:translate(100%);background-color:#fff}:host.active .container .names{color:#545e61}:host.active .container .names .left{opacity:.5}:host.active .container .names .right{opacity:1}\n"] }]
2113
+ args: [{ selector: 'sfc-toggle-switcher', template: "<div class=\"container\">\r\n <div class=\"toggle\"></div>\r\n <div class=\"names\">\r\n <p class=\"left\">\r\n <fa-icon *ngIf=\"leftModel.icon\" [icon]=\"leftModel.icon\"></fa-icon>\r\n <span>{{leftModel.label}}</span>\r\n </p>\r\n <p class=\"right\">\r\n <fa-icon *ngIf=\"rightModel.icon\" [icon]=\"rightModel.icon\"></fa-icon>\r\n <span>{{rightModel.label}}</span>\r\n </p>\r\n </div>\r\n</div>", styles: [":host .container,:host .toggle{height:100%;border-radius:100px}:host .container{width:100%;background-color:#e6e9ed;color:#545e61;border-radius:100px;position:relative;cursor:pointer}:host .container .toggle{position:absolute;width:50%;background-color:#fff;box-shadow:0 .125em .5em #656d78;transition:transform .3s cubic-bezier(.25,.46,.45,.94)}:host .container .names{font-size:90%;font-weight:bolder;width:100%;height:100%;position:relative;display:flex;justify-content:space-around;align-items:center;-webkit-user-select:none;user-select:none;overflow:hidden}:host .container .names p{font-size:90%;text-align:center;margin:0;padding:.5em 1em}:host .container .names p.right{opacity:.5}:host .container .names p fa-icon{margin-right:.25em}:host.active .container{background-color:#e6e9ed}:host.active .container .toggle{transform:translate(100%);background-color:#fff}:host.active .container .names{color:#545e61}:host.active .container .names .left{opacity:.5}:host.active .container .names .right{opacity:1}:host.disabled{pointer-events:none}:host.disabled .container,:host-context(.sfc-default-theme) :host.disabled .container{background-color:#f6f6f6}:host-context(.sfc-dark-theme) :host.disabled .container{background-color:#656d78}:host.disabled .container .toggle{box-shadow:none}:host.disabled .container .toggle,:host-context(.sfc-default-theme) :host.disabled .container .toggle{background-color:#e6e9ed}:host-context(.sfc-dark-theme) :host.disabled .container .toggle{background-color:#aab2bd}:host.disabled .container .names,:host-context(.sfc-default-theme) :host.disabled .container .names{color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled .container .names{color:#e9e9e9}\n"] }]
1865
2114
  }], ctorParameters: function () { return []; }, propDecorators: { active: [{
1866
2115
  type: Input
1867
2116
  }, {
1868
2117
  type: HostBinding,
1869
2118
  args: ['class.' + UIClass.Active]
2119
+ }], disabled: [{
2120
+ type: Input
2121
+ }, {
2122
+ type: HostBinding,
2123
+ args: ['class.' + UIClass.Disabled]
1870
2124
  }], leftModel: [{
1871
2125
  type: Input
1872
2126
  }], rightModel: [{
@@ -1876,28 +2130,45 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
1876
2130
  args: ['click']
1877
2131
  }] } });
1878
2132
 
2133
+ var CheckmarkType;
2134
+ (function (CheckmarkType) {
2135
+ CheckmarkType["Square"] = "square";
2136
+ CheckmarkType["Rounded"] = "rounded";
2137
+ })(CheckmarkType || (CheckmarkType = {}));
2138
+
1879
2139
  class CheckmarkComponent {
1880
2140
  constructor() {
1881
2141
  this.active = false;
2142
+ this.disabled = false;
1882
2143
  this.icon = faCheck;
1883
- this.onClick = () => this.active = !this.active;
2144
+ this.type = CheckmarkType.Rounded;
2145
+ this.showNotActive = true;
1884
2146
  }
1885
2147
  }
1886
- CheckmarkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CheckmarkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1887
- CheckmarkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: CheckmarkComponent, selector: "sfc-checkmark", inputs: { active: "active", icon: "icon" }, host: { listeners: { "click": "onClick()" }, properties: { "class.active": "this.active" } }, ngImport: i0, 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-radius:50%;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 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)}}\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"] }] });
1888
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: CheckmarkComponent, decorators: [{
2148
+ CheckmarkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CheckmarkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2149
+ CheckmarkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", 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"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
2150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: CheckmarkComponent, decorators: [{
1889
2151
  type: Component,
1890
- args: [{ selector: 'sfc-checkmark', template: "<div class=\"container\">\r\n <span class=\"check\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n </span>\r\n</div>", styles: [":host{display:inline-block}:host,:host-context(.sfc-default-theme) :host{color:#545e61}:host-context(.sfc-dark-theme) :host{color:#ccd1d9}:host .check{border-radius:50%;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 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)}}\n"] }]
2152
+ args: [{ selector: 'sfc-checkmark', template: "<div class=\"container\">\r\n <span class=\"check\">\r\n <fa-icon *ngIf=\"showNotActive || active\" [icon]=\"icon\"></fa-icon>\r\n </span>\r\n</div>", styles: [":host{display:inline-block}:host,:host-context(.sfc-default-theme) :host{color:#545e61}:host-context(.sfc-dark-theme) :host{color:#ccd1d9}:host .check{border:.18em solid;background:#fff;border-color:#ccd1d9;width:1em;height:1em;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:border-color .3s ease}:host .check,:host-context(.sfc-default-theme) :host .check{background:#fff}:host-context(.sfc-dark-theme) :host .check{background:transparent}:host .check fa-icon{font-size:.8em;transition:opacity .3s ease}:host .check fa-icon,:host-context(.sfc-default-theme) :host .check fa-icon{opacity:.5}:host-context(.sfc-dark-theme) :host .check fa-icon{opacity:.8}:host .check:hover{border-color:#2bbbad}:host .check:hover fa-icon{color:#2bbbad}:host .check:hover fa-icon,:host-context(.sfc-default-theme) :host .check:hover fa-icon{opacity:.8}:host-context(.sfc-dark-theme) :host .check:hover fa-icon{opacity:1}:host.active .check{border-color:#2bbbad;background:#2bbbad}:host.active .check fa-icon{opacity:1;transform:scale(0);color:#fff;-webkit-text-stroke:0;animation:icon .3s cubic-bezier(1,.008,.565,1.65) .1s 1 forwards}@keyframes icon{0%{opacity:0;transform:scale(.3)}to{opacity:1;transform:scale(1)}}:host.rounded .check{border-radius:50%}:host.disabled{pointer-events:none}:host.disabled .check{color:#fff;border-style:dashed}:host.disabled .check,:host-context(.sfc-default-theme) :host.disabled .check{border-color:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled .check{border-color:#656d78}:host.disabled.active .check,:host-context(.sfc-default-theme) :host.disabled.active .check{background:#bdbdbd}:host-context(.sfc-dark-theme) :host.disabled.active .check{background:#656d78}\n"] }]
1891
2153
  }], propDecorators: { active: [{
1892
2154
  type: Input
1893
2155
  }, {
1894
2156
  type: HostBinding,
1895
2157
  args: ['class.' + UIClass.Active]
2158
+ }], disabled: [{
2159
+ type: Input
2160
+ }, {
2161
+ type: HostBinding,
2162
+ args: ['class.' + UIClass.Disabled]
1896
2163
  }], icon: [{
1897
2164
  type: Input
1898
- }], onClick: [{
1899
- type: HostListener,
1900
- args: ['click']
2165
+ }], type: [{
2166
+ type: Input
2167
+ }, {
2168
+ type: HostBinding,
2169
+ args: ['class']
2170
+ }], showNotActive: [{
2171
+ type: Input
1901
2172
  }] } });
1902
2173
 
1903
2174
  class PaginationConstants {
@@ -1939,9 +2210,9 @@ class PaginationService {
1939
2210
  }));
1940
2211
  }
1941
2212
  }
1942
- PaginationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PaginationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1943
- PaginationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PaginationService, providedIn: 'root' });
1944
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PaginationService, decorators: [{
2213
+ PaginationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2214
+ PaginationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationService, providedIn: 'root' });
2215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationService, decorators: [{
1945
2216
  type: Injectable,
1946
2217
  args: [{
1947
2218
  providedIn: 'root'
@@ -2026,11 +2297,11 @@ class PaginationComponent {
2026
2297
  return Array.from(new Array(Number((stop - start) / step)), (_, i) => start + i * step);
2027
2298
  }
2028
2299
  }
2029
- PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PaginationComponent, deps: [{ token: PaginationService }], target: i0.ɵɵFactoryTarget.Component });
2030
- PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: PaginationComponent, selector: "sfc-pagination", inputs: { count: "count", full: "full", limits: "limits", data$: "data$" }, ngImport: i0, template: "<div class=\"container\" *ngIf=\"vm$ | async as vm\">\r\n <sfc-delimeter></sfc-delimeter>\r\n <ul *ngIf=\"vm.any\">\r\n <li [sfcShowHideElement]=\"vm.previousPage\" (click)=\"onPageClick(vm.previous)\">\r\n <button class=\"limit\">\r\n <fa-icon [icon]=\"faChevronLeft\"></fa-icon>\r\n </button>\r\n </li>\r\n <li *ngIf=\"vm.firstPage\" (click)=\"onPageClick(1)\">\r\n <button>1</button>\r\n </li>\r\n <li *ngIf=\"vm.firstPage\">\r\n <span>...</span>\r\n </li>\r\n <li *ngFor=\"let page of vm.range\" (click)=\"onPageClick(page)\">\r\n <button [class.active]=\"vm.page === page\">{{page}}</button>\r\n </li>\r\n <li *ngIf=\"vm.lastPage\">\r\n <span>...</span>\r\n </li>\r\n <li *ngIf=\"vm.lastPage\" (click)=\"onPageClick(vm.total)\">\r\n <button>{{vm.total}}</button>\r\n </li>\r\n <li [sfcShowHideElement]=\"vm.nextPage\" (click)=\"onPageClick(vm.next)\">\r\n <button class=\"limit\">\r\n <fa-icon [icon]=\"faChevronRight\"></fa-icon>\r\n </button>\r\n </li>\r\n </ul>\r\n <sfc-delimeter></sfc-delimeter>\r\n</div>", styles: [":host{width:100%;display:inline-block}:host .container{position:relative;text-align:center}:host .container ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;-webkit-user-select:none;user-select:none}:host .container ul li{display:block;float:left;padding:.31em}:host .container ul li:first-child{border:none}:host .container ul li button,:host .container ul li span{background:none;border:none;border-radius:50%;box-sizing:border-box;display:block;font-size:1em;height:2.5em;min-width:2.5em;line-height:2.5em;padding:0}:host .container ul li button,:host-context(.sfc-default-theme) :host .container ul li button,:host .container ul li span,:host-context(.sfc-default-theme) :host .container ul li span{color:#0009}:host-context(.sfc-dark-theme) :host .container ul li button,:host-context(.sfc-dark-theme) :host .container ul li span{color:#ccd1d9}:host .container ul li button{outline:none;position:relative;transition:all .17s linear}:host .container ul li button,:host-context(.sfc-default-theme) :host .container ul li button{color:#545e61}:host-context(.sfc-dark-theme) :host .container ul li button{color:#ccd1d9}:host .container ul li button:before{border-radius:50%;content:\"\";cursor:pointer;height:0;left:50%;opacity:0;position:absolute;transform:translate(-50%,-50%);transition:all .17s linear;top:50%;width:0}:host .container ul li button:before,:host-context(.sfc-default-theme) :host .container ul li button:before{background:#545e61}:host-context(.sfc-dark-theme) :host .container ul li button:before{background:#f5f7fa}:host .container ul li button:hover:not(.active),:host-context(.sfc-default-theme) :host .container ul li button:hover:not(.active){color:#545e61}:host-context(.sfc-dark-theme) :host .container ul li button:hover:not(.active){color:#ccd1d9}:host .container ul li button:hover:not(.active):before{animation:hover-animation .51s linear forwards;width:2.5em;height:2.5em}:host .container ul li button.active{color:#545e61!important}:host .container ul li button.active,:host-context(.sfc-default-theme) :host .container ul li button.active{background:#0000001a}:host-context(.sfc-dark-theme) :host .container ul li button.active{background:#f5f7fa}@keyframes hover-animation{0%{opacity:1}to{opacity:0}}\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: i1$2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: ShowHideElementDirective, selector: "[sfcShowHideElement]", inputs: ["sfcShowHideElement", "delay"] }, { type: i1$2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i1$2.AsyncPipe } });
2031
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: PaginationComponent, decorators: [{
2300
+ PaginationComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationComponent, deps: [{ token: PaginationService }], target: i0.ɵɵFactoryTarget.Component });
2301
+ PaginationComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: PaginationComponent, selector: "sfc-pagination", inputs: { count: "count", full: "full", limits: "limits", data$: "data$" }, ngImport: i0, template: "<div class=\"container\" *ngIf=\"vm$ | async as vm\">\r\n <sfc-delimeter></sfc-delimeter>\r\n <ul *ngIf=\"vm.any\">\r\n <li [sfcShowHideElement]=\"vm.previousPage\" (click)=\"onPageClick(vm.previous)\">\r\n <button class=\"limit\">\r\n <fa-icon [icon]=\"faChevronLeft\"></fa-icon>\r\n </button>\r\n </li>\r\n <li *ngIf=\"vm.firstPage\" (click)=\"onPageClick(1)\">\r\n <button>1</button>\r\n </li>\r\n <li *ngIf=\"vm.firstPage\">\r\n <span>...</span>\r\n </li>\r\n <li *ngFor=\"let page of vm.range\" (click)=\"onPageClick(page)\">\r\n <button [class.active]=\"vm.page === page\">{{page}}</button>\r\n </li>\r\n <li *ngIf=\"vm.lastPage\">\r\n <span>...</span>\r\n </li>\r\n <li *ngIf=\"vm.lastPage\" (click)=\"onPageClick(vm.total)\">\r\n <button>{{vm.total}}</button>\r\n </li>\r\n <li [sfcShowHideElement]=\"vm.nextPage\" (click)=\"onPageClick(vm.next)\">\r\n <button class=\"limit\">\r\n <fa-icon [icon]=\"faChevronRight\"></fa-icon>\r\n </button>\r\n </li>\r\n </ul>\r\n <sfc-delimeter></sfc-delimeter>\r\n</div>", styles: [":host{width:100%;display:inline-block}:host .container{position:relative;text-align:center}:host .container ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;-webkit-user-select:none;user-select:none}:host .container ul li{display:block;float:left;padding:.31em}:host .container ul li:first-child{border:none}:host .container ul li button,:host .container ul li span{background:none;border:none;border-radius:50%;box-sizing:border-box;display:block;font-size:1em;height:2.5em;min-width:2.5em;line-height:2.5em;padding:0}:host .container ul li button,:host-context(.sfc-default-theme) :host .container ul li button,:host .container ul li span,:host-context(.sfc-default-theme) :host .container ul li span{color:#0009}:host-context(.sfc-dark-theme) :host .container ul li button,:host-context(.sfc-dark-theme) :host .container ul li span{color:#ccd1d9}:host .container ul li button{outline:none;position:relative;transition:all .17s linear}:host .container ul li button,:host-context(.sfc-default-theme) :host .container ul li button{color:#545e61}:host-context(.sfc-dark-theme) :host .container ul li button{color:#ccd1d9}:host .container ul li button:before{border-radius:50%;content:\"\";cursor:pointer;height:0;left:50%;opacity:0;position:absolute;transform:translate(-50%,-50%);transition:all .17s linear;top:50%;width:0}:host .container ul li button:before,:host-context(.sfc-default-theme) :host .container ul li button:before{background:#545e61}:host-context(.sfc-dark-theme) :host .container ul li button:before{background:#f5f7fa}:host .container ul li button:hover:not(.active),:host-context(.sfc-default-theme) :host .container ul li button:hover:not(.active){color:#545e61}:host-context(.sfc-dark-theme) :host .container ul li button:hover:not(.active){color:#ccd1d9}:host .container ul li button:hover:not(.active):before{animation:hover-animation .51s linear forwards;width:2.5em;height:2.5em}:host .container ul li button.active{color:#545e61!important}:host .container ul li button.active,:host-context(.sfc-default-theme) :host .container ul li button.active{background:rgba(0,0,0,.1019607843)}:host-context(.sfc-dark-theme) :host .container ul li button.active{background:#f5f7fa}@keyframes hover-animation{0%{opacity:1}to{opacity:0}}\n"], dependencies: [{ kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: ShowHideElementDirective, selector: "[sfcShowHideElement]", inputs: ["sfcShowHideElement", "delay"] }, { kind: "component", type: DelimeterComponent, selector: "sfc-delimeter" }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }] });
2302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: PaginationComponent, decorators: [{
2032
2303
  type: Component,
2033
- args: [{ selector: 'sfc-pagination', template: "<div class=\"container\" *ngIf=\"vm$ | async as vm\">\r\n <sfc-delimeter></sfc-delimeter>\r\n <ul *ngIf=\"vm.any\">\r\n <li [sfcShowHideElement]=\"vm.previousPage\" (click)=\"onPageClick(vm.previous)\">\r\n <button class=\"limit\">\r\n <fa-icon [icon]=\"faChevronLeft\"></fa-icon>\r\n </button>\r\n </li>\r\n <li *ngIf=\"vm.firstPage\" (click)=\"onPageClick(1)\">\r\n <button>1</button>\r\n </li>\r\n <li *ngIf=\"vm.firstPage\">\r\n <span>...</span>\r\n </li>\r\n <li *ngFor=\"let page of vm.range\" (click)=\"onPageClick(page)\">\r\n <button [class.active]=\"vm.page === page\">{{page}}</button>\r\n </li>\r\n <li *ngIf=\"vm.lastPage\">\r\n <span>...</span>\r\n </li>\r\n <li *ngIf=\"vm.lastPage\" (click)=\"onPageClick(vm.total)\">\r\n <button>{{vm.total}}</button>\r\n </li>\r\n <li [sfcShowHideElement]=\"vm.nextPage\" (click)=\"onPageClick(vm.next)\">\r\n <button class=\"limit\">\r\n <fa-icon [icon]=\"faChevronRight\"></fa-icon>\r\n </button>\r\n </li>\r\n </ul>\r\n <sfc-delimeter></sfc-delimeter>\r\n</div>", styles: [":host{width:100%;display:inline-block}:host .container{position:relative;text-align:center}:host .container ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;-webkit-user-select:none;user-select:none}:host .container ul li{display:block;float:left;padding:.31em}:host .container ul li:first-child{border:none}:host .container ul li button,:host .container ul li span{background:none;border:none;border-radius:50%;box-sizing:border-box;display:block;font-size:1em;height:2.5em;min-width:2.5em;line-height:2.5em;padding:0}:host .container ul li button,:host-context(.sfc-default-theme) :host .container ul li button,:host .container ul li span,:host-context(.sfc-default-theme) :host .container ul li span{color:#0009}:host-context(.sfc-dark-theme) :host .container ul li button,:host-context(.sfc-dark-theme) :host .container ul li span{color:#ccd1d9}:host .container ul li button{outline:none;position:relative;transition:all .17s linear}:host .container ul li button,:host-context(.sfc-default-theme) :host .container ul li button{color:#545e61}:host-context(.sfc-dark-theme) :host .container ul li button{color:#ccd1d9}:host .container ul li button:before{border-radius:50%;content:\"\";cursor:pointer;height:0;left:50%;opacity:0;position:absolute;transform:translate(-50%,-50%);transition:all .17s linear;top:50%;width:0}:host .container ul li button:before,:host-context(.sfc-default-theme) :host .container ul li button:before{background:#545e61}:host-context(.sfc-dark-theme) :host .container ul li button:before{background:#f5f7fa}:host .container ul li button:hover:not(.active),:host-context(.sfc-default-theme) :host .container ul li button:hover:not(.active){color:#545e61}:host-context(.sfc-dark-theme) :host .container ul li button:hover:not(.active){color:#ccd1d9}:host .container ul li button:hover:not(.active):before{animation:hover-animation .51s linear forwards;width:2.5em;height:2.5em}:host .container ul li button.active{color:#545e61!important}:host .container ul li button.active,:host-context(.sfc-default-theme) :host .container ul li button.active{background:#0000001a}:host-context(.sfc-dark-theme) :host .container ul li button.active{background:#f5f7fa}@keyframes hover-animation{0%{opacity:1}to{opacity:0}}\n"] }]
2304
+ args: [{ selector: 'sfc-pagination', template: "<div class=\"container\" *ngIf=\"vm$ | async as vm\">\r\n <sfc-delimeter></sfc-delimeter>\r\n <ul *ngIf=\"vm.any\">\r\n <li [sfcShowHideElement]=\"vm.previousPage\" (click)=\"onPageClick(vm.previous)\">\r\n <button class=\"limit\">\r\n <fa-icon [icon]=\"faChevronLeft\"></fa-icon>\r\n </button>\r\n </li>\r\n <li *ngIf=\"vm.firstPage\" (click)=\"onPageClick(1)\">\r\n <button>1</button>\r\n </li>\r\n <li *ngIf=\"vm.firstPage\">\r\n <span>...</span>\r\n </li>\r\n <li *ngFor=\"let page of vm.range\" (click)=\"onPageClick(page)\">\r\n <button [class.active]=\"vm.page === page\">{{page}}</button>\r\n </li>\r\n <li *ngIf=\"vm.lastPage\">\r\n <span>...</span>\r\n </li>\r\n <li *ngIf=\"vm.lastPage\" (click)=\"onPageClick(vm.total)\">\r\n <button>{{vm.total}}</button>\r\n </li>\r\n <li [sfcShowHideElement]=\"vm.nextPage\" (click)=\"onPageClick(vm.next)\">\r\n <button class=\"limit\">\r\n <fa-icon [icon]=\"faChevronRight\"></fa-icon>\r\n </button>\r\n </li>\r\n </ul>\r\n <sfc-delimeter></sfc-delimeter>\r\n</div>", styles: [":host{width:100%;display:inline-block}:host .container{position:relative;text-align:center}:host .container ul{list-style:none;margin:0;padding:0;display:flex;justify-content:center;-webkit-user-select:none;user-select:none}:host .container ul li{display:block;float:left;padding:.31em}:host .container ul li:first-child{border:none}:host .container ul li button,:host .container ul li span{background:none;border:none;border-radius:50%;box-sizing:border-box;display:block;font-size:1em;height:2.5em;min-width:2.5em;line-height:2.5em;padding:0}:host .container ul li button,:host-context(.sfc-default-theme) :host .container ul li button,:host .container ul li span,:host-context(.sfc-default-theme) :host .container ul li span{color:#0009}:host-context(.sfc-dark-theme) :host .container ul li button,:host-context(.sfc-dark-theme) :host .container ul li span{color:#ccd1d9}:host .container ul li button{outline:none;position:relative;transition:all .17s linear}:host .container ul li button,:host-context(.sfc-default-theme) :host .container ul li button{color:#545e61}:host-context(.sfc-dark-theme) :host .container ul li button{color:#ccd1d9}:host .container ul li button:before{border-radius:50%;content:\"\";cursor:pointer;height:0;left:50%;opacity:0;position:absolute;transform:translate(-50%,-50%);transition:all .17s linear;top:50%;width:0}:host .container ul li button:before,:host-context(.sfc-default-theme) :host .container ul li button:before{background:#545e61}:host-context(.sfc-dark-theme) :host .container ul li button:before{background:#f5f7fa}:host .container ul li button:hover:not(.active),:host-context(.sfc-default-theme) :host .container ul li button:hover:not(.active){color:#545e61}:host-context(.sfc-dark-theme) :host .container ul li button:hover:not(.active){color:#ccd1d9}:host .container ul li button:hover:not(.active):before{animation:hover-animation .51s linear forwards;width:2.5em;height:2.5em}:host .container ul li button.active{color:#545e61!important}:host .container ul li button.active,:host-context(.sfc-default-theme) :host .container ul li button.active{background:rgba(0,0,0,.1019607843)}:host-context(.sfc-dark-theme) :host .container ul li button.active{background:#f5f7fa}@keyframes hover-animation{0%{opacity:1}to{opacity:0}}\n"] }]
2034
2305
  }], ctorParameters: function () { return [{ type: PaginationService }]; }, propDecorators: { count: [{
2035
2306
  type: Input
2036
2307
  }], full: [{
@@ -2055,9 +2326,9 @@ class SortingService {
2055
2326
  this.sortingSubject.next(event);
2056
2327
  }
2057
2328
  }
2058
- SortingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SortingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2059
- SortingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SortingService, providedIn: 'root' });
2060
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SortingService, decorators: [{
2329
+ SortingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SortingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2330
+ SortingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SortingService, providedIn: 'root' });
2331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SortingService, decorators: [{
2061
2332
  type: Injectable,
2062
2333
  args: [{
2063
2334
  providedIn: 'root'
@@ -2106,9 +2377,9 @@ class SortingComponent {
2106
2377
  this._subscription.unsubscribe();
2107
2378
  }
2108
2379
  }
2109
- SortingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SortingComponent, deps: [{ token: SortingService }], target: i0.ɵɵFactoryTarget.Component });
2110
- SortingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: SortingComponent, selector: "sfc-sorting", inputs: { id: "id", model: "model" }, host: { listeners: { "click": "sort()" }, properties: { "class.enabled": "this.enabled", "class.active": "this.active" } }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div *ngIf=\"enabled\" class=\"icons\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n </div>\r\n</div>", styles: [":host{cursor:default;text-overflow:ellipsis;overflow:hidden}:host.enabled{cursor:pointer}:host .container{display:flex;min-width:0}:host .container,:host-context(.sfc-default-theme) :host .container{color:#545e61}:host-context(.sfc-dark-theme) :host .container{color:#ccd1d9}:host .container:hover{color:#2bbbad}:host .container .content{display:flex;-webkit-user-select:none;user-select:none}:host .container .icons{margin:0 .31em;font-size:.7em;display:flex;align-items:center;transition:all .3s}:host.active .container{color:#2bbbad}\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"] }] });
2111
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: SortingComponent, decorators: [{
2380
+ SortingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SortingComponent, deps: [{ token: SortingService }], target: i0.ɵɵFactoryTarget.Component });
2381
+ SortingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", type: SortingComponent, selector: "sfc-sorting", inputs: { id: "id", model: "model" }, host: { listeners: { "click": "sort()" }, properties: { "class.enabled": "this.enabled", "class.active": "this.active" } }, ngImport: i0, template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div *ngIf=\"enabled\" class=\"icons\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n </div>\r\n</div>", styles: [":host{cursor:default;text-overflow:ellipsis;overflow:hidden}:host.enabled{cursor:pointer}:host .container{display:flex;min-width:0}:host .container,:host-context(.sfc-default-theme) :host .container{color:#545e61}:host-context(.sfc-dark-theme) :host .container{color:#ccd1d9}:host .container:hover{color:#2bbbad}:host .container .content{display:flex;-webkit-user-select:none;user-select:none}:host .container .icons{margin:0 .31em;font-size:.7em;display:flex;align-items:center;transition:all .3s}:host.active .container{color:#2bbbad}\n"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
2382
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: SortingComponent, decorators: [{
2112
2383
  type: Component,
2113
2384
  args: [{ selector: 'sfc-sorting', template: "<div class=\"container\">\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <div *ngIf=\"enabled\" class=\"icons\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n </div>\r\n</div>", styles: [":host{cursor:default;text-overflow:ellipsis;overflow:hidden}:host.enabled{cursor:pointer}:host .container{display:flex;min-width:0}:host .container,:host-context(.sfc-default-theme) :host .container{color:#545e61}:host-context(.sfc-dark-theme) :host .container{color:#ccd1d9}:host .container:hover{color:#2bbbad}:host .container .content{display:flex;-webkit-user-select:none;user-select:none}:host .container .icons{margin:0 .31em;font-size:.7em;display:flex;align-items:center;transition:all .3s}:host.active .container{color:#2bbbad}\n"] }]
2114
2385
  }], ctorParameters: function () { return [{ type: SortingService }]; }, propDecorators: { id: [{
@@ -2126,10 +2397,213 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2126
2397
  args: ['click']
2127
2398
  }] } });
2128
2399
 
2400
+ class LoadMoreService {
2401
+ constructor() {
2402
+ this.START_PAGE = 1;
2403
+ this._page = this.START_PAGE;
2404
+ this.moreSubject = new Subject();
2405
+ this.more$ = this.moreSubject.asObservable();
2406
+ }
2407
+ more() {
2408
+ this._page++;
2409
+ this.moreSubject.next(this._page);
2410
+ }
2411
+ reset() {
2412
+ this._page = this.START_PAGE;
2413
+ }
2414
+ }
2415
+ LoadMoreService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
2416
+ LoadMoreService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreService, providedIn: 'root' });
2417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreService, decorators: [{
2418
+ type: Injectable,
2419
+ args: [{
2420
+ providedIn: 'root'
2421
+ }]
2422
+ }] });
2423
+
2424
+ var LoadContainerType;
2425
+ (function (LoadContainerType) {
2426
+ LoadContainerType["Dropdown"] = "dropdown";
2427
+ LoadContainerType["Table"] = "table";
2428
+ })(LoadContainerType || (LoadContainerType = {}));
2429
+
2430
+ class LoadContainerConstants {
2431
+ }
2432
+ LoadContainerConstants.DEFAULT_PAGE_SIZE = 5;
2433
+ LoadContainerConstants.DEFAULT_NOT_FOUND_LABEL = 'Not found';
2434
+
2435
+ class LoadMoreButtonComponent {
2436
+ constructor() {
2437
+ this.DEFAULT_LABEL = 'Show more';
2438
+ this.icon = faChevronCircleDown;
2439
+ this.more = new EventEmitter();
2440
+ }
2441
+ ngOnInit() {
2442
+ if (isNullOrEmptyString(this.label))
2443
+ this.label = this.DEFAULT_LABEL;
2444
+ }
2445
+ }
2446
+ LoadMoreButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2447
+ LoadMoreButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", 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"], dependencies: [{ kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }, { kind: "directive", type: MouseDownDirective, selector: "[sfcMouseDown]", inputs: ["button"], outputs: ["sfcMouseDown"] }, { kind: "component", type: DelimeterComponent, selector: "sfc-delimeter" }] });
2448
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadMoreButtonComponent, decorators: [{
2449
+ type: Component,
2450
+ args: [{ selector: 'sfc-load-more-button', template: "<div class=\"container\">\r\n <sfc-delimeter></sfc-delimeter>\r\n <div class=\"button\" (sfcMouseDown)=\"more.emit($event)\">\r\n <fa-icon [icon]=\"icon\"></fa-icon>\r\n <span>{{label}}</span>\r\n </div>\r\n</div>", styles: [":host{cursor:default}:host .container{text-align:center}:host .container .button{display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;cursor:pointer;color:#545e61;transition:color .5s;padding:.5em 0 1em}:host .container .button fa-icon{font-size:.7em;margin-right:.31em}:host .container .button span{font-size:.6em;font-weight:700;text-transform:uppercase}:host .container .button:hover{color:#2bbbad}\n"] }]
2451
+ }], propDecorators: { label: [{
2452
+ type: Input
2453
+ }], icon: [{
2454
+ type: Input
2455
+ }], more: [{
2456
+ type: Output
2457
+ }] } });
2458
+
2459
+ class LoadContainerComponent {
2460
+ constructor(loaderService, loadMoreService) {
2461
+ this.loaderService = loaderService;
2462
+ this.loadMoreService = loadMoreService;
2463
+ this.ComponentSize = ComponentSize;
2464
+ this.Position = Position;
2465
+ this.type = LoadContainerType.Dropdown;
2466
+ this.open = false;
2467
+ this.size = LoadContainerConstants.DEFAULT_PAGE_SIZE;
2468
+ this.loadMore = true;
2469
+ this.showEmpty = true;
2470
+ this.showLoadMoreButton = true;
2471
+ this.notFoundLabel = LoadContainerConstants.DEFAULT_NOT_FOUND_LABEL;
2472
+ this.handleError = new EventEmitter();
2473
+ this.handleSuccess = new EventEmitter();
2474
+ this.handleLoading = new EventEmitter();
2475
+ this.next = false;
2476
+ this.empty = false;
2477
+ this._loading = false;
2478
+ }
2479
+ set model(model) {
2480
+ if (isDefined(model)) {
2481
+ const parameters$ = this.buildParameters(model.predicate$), data$ = isDefined(model.loader) ?
2482
+ this.buildDynamic(parameters$, model.loader) : this.buildStatic(parameters$, model);
2483
+ if (isDefined(this._subscription))
2484
+ this._subscription.unsubscribe();
2485
+ this._subscription = data$.subscribe({
2486
+ next: (result) => this.success(result),
2487
+ error: (error) => this.error(error)
2488
+ });
2489
+ }
2490
+ }
2491
+ get scrollPosition() {
2492
+ return !this.allowLoadMore || this.showLoadMoreButton ? [] : [Position.Bottom];
2493
+ }
2494
+ get allowLoadMore() { return this.next && this.loadMore; }
2495
+ get hideLoadMoreButton() { return !(this.allowLoadMore && this.showLoadMoreButton); }
2496
+ get isEmpty() { return this.empty && this.showEmpty; }
2497
+ set loading(value) {
2498
+ this._loading = value;
2499
+ if (value)
2500
+ this.loaderService.show(this.id, true);
2501
+ else
2502
+ this.loaderService.hide(this.id);
2503
+ this.handleLoading.emit(value);
2504
+ }
2505
+ ngOnDestroy() {
2506
+ if (this._subscription)
2507
+ this._subscription.unsubscribe();
2508
+ }
2509
+ more(event) {
2510
+ event.preventDefault();
2511
+ this.loadMoreService.more();
2512
+ }
2513
+ onScroll() {
2514
+ if (this.allowLoadMore)
2515
+ this.loadMoreService.more();
2516
+ }
2517
+ success(result) {
2518
+ this.next = result.next;
2519
+ this.loading = false;
2520
+ this.empty = !any(result.items);
2521
+ this.handleSuccess.emit(result);
2522
+ }
2523
+ error(error) {
2524
+ this.loading = false;
2525
+ this.empty = false;
2526
+ this.handleError.emit(error);
2527
+ }
2528
+ buildParameters(predicate$) {
2529
+ const parameters$ = (predicate$ || EMPTY.pipe(startWith(null))).pipe(tap(() => {
2530
+ if (isDefined(this.contentEl))
2531
+ this.contentEl.nativeElement.scrollTop = 0;
2532
+ this.loadMoreService.reset();
2533
+ }), switchMap((value) => {
2534
+ return this.loadMoreService.more$.pipe(startWith(this.loadMoreService.START_PAGE), tap(() => this.loading = true), map((page) => {
2535
+ return { params: value, page: page };
2536
+ }));
2537
+ }));
2538
+ return parameters$;
2539
+ }
2540
+ buildDynamic(parameters$, loader) {
2541
+ return parameters$.pipe(switchMap((parameters) => loader(parameters)));
2542
+ }
2543
+ buildStatic(parameters$, model) {
2544
+ return parameters$.pipe(withLatestFrom(model.data$ || of([])), map(([parameters, items]) => {
2545
+ const filtered = model.filter ? model.filter(items, parameters) : items, data = filtered ? {
2546
+ items: skip(filtered, parameters.page, this.size),
2547
+ next: parameters.page < Math.ceil(filtered.length / this.size)
2548
+ } : { items: [], next: false };
2549
+ return data;
2550
+ }));
2551
+ }
2552
+ }
2553
+ LoadContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadContainerComponent, deps: [{ token: LoaderService }, { token: LoadMoreService }], target: i0.ɵɵFactoryTarget.Component });
2554
+ LoadContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.4", 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"], dependencies: [{ kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: MouseDownDirective, selector: "[sfcMouseDown]", inputs: ["button"], outputs: ["sfcMouseDown"] }, { kind: "directive", type: ComponentSizeDirective, selector: "[sfcComponentSize]", inputs: ["sfcComponentSize", "customSize"] }, { kind: "directive", type: ScrollTrackerDirective, selector: "[sfcScrollTracker]", inputs: ["positions"], outputs: ["sfcScrollTracker"] }, { kind: "directive", type: ScrollIntoViewDirective, selector: "[sfcScrollIntoView]", inputs: ["sfcScrollIntoView", "options"] }, { kind: "component", type: LoadMoreButtonComponent, selector: "sfc-load-more-button", inputs: ["label", "icon"], outputs: ["more"] }, { kind: "component", type: BounceLoaderComponent, selector: "sfc-bounce-loader" }] });
2555
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: LoadContainerComponent, decorators: [{
2556
+ type: Component,
2557
+ args: [{ selector: 'sfc-load-container', providers: [LoadMoreService], template: "<div class=\"container\">\r\n <sfc-bounce-loader [id]=\"id\" [sfcComponentSize]=\"ComponentSize.Small\"></sfc-bounce-loader>\r\n <div #content class=\"content\" [sfcScrollIntoView]=\"scrollTarget\" (sfcScrollTracker)=\"onScroll()\" [positions]=\"scrollPosition\">\r\n <ng-content></ng-content>\r\n <div (sfcMouseDown)=\"$event.preventDefault()\">\r\n <sfc-load-more-button [hidden]=\"hideLoadMoreButton\" (more)=\"more($event)\" [label]=\"loadMoreLabel\">\r\n </sfc-load-more-button>\r\n <div *ngIf=\"isEmpty\" class=\"empty\">{{notFoundLabel}}</div>\r\n </div>\r\n </div>\r\n</div>", styles: [":host{width:100%;height:inherit;position:relative}:host .container{height:inherit;background:#fff}:host .container .content{cursor:initial;overflow-y:auto;height:inherit}:host .container .content sfc-load-more-button ::ng-deep sfc-delimeter{background:linear-gradient(to right,rgba(0,0,0,0) 0%,rgba(0,0,0,.3) 17%,rgba(0,0,0,.3) 83%,rgba(0,0,0,0) 100%)}:host .container .content .empty{display:flex;align-items:center;justify-content:center;color:#545e61;cursor:default;height:100%;font-size:.8em;-webkit-user-select:none;user-select:none;padding:.7em}:host.dropdown .container .content{display:none;opacity:0;max-height:12.5em;box-shadow:0 .125em .125em #00000024,0 .18em .06em -.125em #0000001f,0 .06em .31em #0003}:host.dropdown.open .container .content{display:block;opacity:1}:host ::ng-deep ::-webkit-scrollbar{width:.375em;height:.375em}:host ::ng-deep ::-webkit-scrollbar-track{border-radius:.625em;background:rgba(0,0,0,.1)}:host ::ng-deep ::-webkit-scrollbar-thumb{border-radius:.625em;background:rgba(0,0,0,.2)}:host ::ng-deep ::-webkit-scrollbar-thumb:hover{background:rgba(0,0,0,.4)}:host ::ng-deep ::-webkit-scrollbar-thumb:active{background:rgba(0,0,0,.6)}\n"] }]
2558
+ }], ctorParameters: function () { return [{ type: LoaderService }, { type: LoadMoreService }]; }, propDecorators: { id: [{
2559
+ type: Input
2560
+ }], type: [{
2561
+ type: Input
2562
+ }, {
2563
+ type: HostBinding,
2564
+ args: ['class']
2565
+ }], open: [{
2566
+ type: Input
2567
+ }, {
2568
+ type: HostBinding,
2569
+ args: [`class.${UIClass.Open}`]
2570
+ }], size: [{
2571
+ type: Input
2572
+ }], loadMore: [{
2573
+ type: Input
2574
+ }], showEmpty: [{
2575
+ type: Input
2576
+ }], showLoadMoreButton: [{
2577
+ type: Input
2578
+ }], loadMoreLabel: [{
2579
+ type: Input
2580
+ }], notFoundLabel: [{
2581
+ type: Input
2582
+ }], model: [{
2583
+ type: Input
2584
+ }], scrollTarget: [{
2585
+ type: Input
2586
+ }], handleError: [{
2587
+ type: Output
2588
+ }], handleSuccess: [{
2589
+ type: Output
2590
+ }], handleLoading: [{
2591
+ type: Output
2592
+ }], contentEl: [{
2593
+ type: ViewChild,
2594
+ args: ['content']
2595
+ }], isEmpty: [{
2596
+ type: HostBinding,
2597
+ args: [`class.${UIClass.Empty}`]
2598
+ }], _loading: [{
2599
+ type: HostBinding,
2600
+ args: [`class.${UIClass.Loading}`]
2601
+ }] } });
2602
+
2129
2603
  class NgxSfcCommonModule {
2130
2604
  }
2131
- NgxSfcCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSfcCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2132
- NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSfcCommonModule, declarations: [
2605
+ NgxSfcCommonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxSfcCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2606
+ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.4", ngImport: i0, type: NgxSfcCommonModule, declarations: [
2133
2607
  // directives
2134
2608
  ClickOutsideDirective,
2135
2609
  ShowHideElementDirective,
@@ -2138,6 +2612,9 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
2138
2612
  MouseDownDirective,
2139
2613
  ComponentSizeDirective,
2140
2614
  DestroyParentDirective,
2615
+ DomChangesDirective,
2616
+ ScrollTrackerDirective,
2617
+ ScrollIntoViewDirective,
2141
2618
  // components
2142
2619
  ButtonComponent,
2143
2620
  TooltipComponent,
@@ -2150,14 +2627,19 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
2150
2627
  DotsComponent,
2151
2628
  PaginationComponent,
2152
2629
  SortingComponent,
2630
+ LoadMoreButtonComponent,
2631
+ LoadContainerComponent,
2153
2632
  // loaders
2154
2633
  BounceLoaderComponent,
2155
2634
  CircleLoaderComponent,
2156
2635
  // modal
2157
2636
  ModalComponent,
2637
+ ModalOpenDirective,
2158
2638
  ModalOpenOnClickDirective,
2159
2639
  DefaultModalHeaderComponent,
2160
- DefaultModalFooterComponent
2640
+ DefaultModalFooterComponent,
2641
+ // pipes
2642
+ SwitchMultiCasePipe
2161
2643
  ], imports: [CommonModule,
2162
2644
  BrowserAnimationsModule,
2163
2645
  FontAwesomeModule], exports: [
@@ -2169,6 +2651,9 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
2169
2651
  MouseDownDirective,
2170
2652
  ComponentSizeDirective,
2171
2653
  DestroyParentDirective,
2654
+ DomChangesDirective,
2655
+ ScrollTrackerDirective,
2656
+ ScrollIntoViewDirective,
2172
2657
  // components
2173
2658
  ButtonComponent,
2174
2659
  TooltipComponent,
@@ -2181,21 +2666,24 @@ NgxSfcCommonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", vers
2181
2666
  HamburgerComponent,
2182
2667
  PaginationComponent,
2183
2668
  SortingComponent,
2669
+ LoadMoreButtonComponent,
2670
+ LoadContainerComponent,
2184
2671
  // loaders
2185
2672
  BounceLoaderComponent,
2186
2673
  CircleLoaderComponent,
2187
2674
  // modal
2188
2675
  ModalComponent,
2676
+ ModalOpenDirective,
2189
2677
  ModalOpenOnClickDirective,
2190
2678
  DefaultModalHeaderComponent,
2191
- DefaultModalFooterComponent
2679
+ DefaultModalFooterComponent,
2680
+ // pipes
2681
+ SwitchMultiCasePipe
2192
2682
  ] });
2193
- NgxSfcCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSfcCommonModule, providers: [DOCUMENT_PROVIDERS, WINDOW_PROVIDERS], imports: [[
2194
- CommonModule,
2195
- BrowserAnimationsModule,
2196
- FontAwesomeModule
2197
- ]] });
2198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: NgxSfcCommonModule, decorators: [{
2683
+ NgxSfcCommonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxSfcCommonModule, providers: [DOCUMENT_PROVIDERS, WINDOW_PROVIDERS], imports: [CommonModule,
2684
+ BrowserAnimationsModule,
2685
+ FontAwesomeModule] });
2686
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.4", ngImport: i0, type: NgxSfcCommonModule, decorators: [{
2199
2687
  type: NgModule,
2200
2688
  args: [{
2201
2689
  declarations: [
@@ -2207,6 +2695,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2207
2695
  MouseDownDirective,
2208
2696
  ComponentSizeDirective,
2209
2697
  DestroyParentDirective,
2698
+ DomChangesDirective,
2699
+ ScrollTrackerDirective,
2700
+ ScrollIntoViewDirective,
2210
2701
  // components
2211
2702
  ButtonComponent,
2212
2703
  TooltipComponent,
@@ -2219,14 +2710,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2219
2710
  DotsComponent,
2220
2711
  PaginationComponent,
2221
2712
  SortingComponent,
2713
+ LoadMoreButtonComponent,
2714
+ LoadContainerComponent,
2222
2715
  // loaders
2223
2716
  BounceLoaderComponent,
2224
2717
  CircleLoaderComponent,
2225
2718
  // modal
2226
2719
  ModalComponent,
2720
+ ModalOpenDirective,
2227
2721
  ModalOpenOnClickDirective,
2228
2722
  DefaultModalHeaderComponent,
2229
- DefaultModalFooterComponent
2723
+ DefaultModalFooterComponent,
2724
+ // pipes
2725
+ SwitchMultiCasePipe
2230
2726
  ],
2231
2727
  imports: [
2232
2728
  CommonModule,
@@ -2242,6 +2738,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2242
2738
  MouseDownDirective,
2243
2739
  ComponentSizeDirective,
2244
2740
  DestroyParentDirective,
2741
+ DomChangesDirective,
2742
+ ScrollTrackerDirective,
2743
+ ScrollIntoViewDirective,
2245
2744
  // components
2246
2745
  ButtonComponent,
2247
2746
  TooltipComponent,
@@ -2254,14 +2753,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2254
2753
  HamburgerComponent,
2255
2754
  PaginationComponent,
2256
2755
  SortingComponent,
2756
+ LoadMoreButtonComponent,
2757
+ LoadContainerComponent,
2257
2758
  // loaders
2258
2759
  BounceLoaderComponent,
2259
2760
  CircleLoaderComponent,
2260
2761
  // modal
2261
2762
  ModalComponent,
2763
+ ModalOpenDirective,
2262
2764
  ModalOpenOnClickDirective,
2263
2765
  DefaultModalHeaderComponent,
2264
- DefaultModalFooterComponent
2766
+ DefaultModalFooterComponent,
2767
+ // pipes
2768
+ SwitchMultiCasePipe
2265
2769
  ],
2266
2770
  providers: [DOCUMENT_PROVIDERS, WINDOW_PROVIDERS]
2267
2771
  }]
@@ -2275,5 +2779,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
2275
2779
  * Generated bundle index. Do not edit.
2276
2780
  */
2277
2781
 
2278
- export { BounceLoaderComponent, BrowserDocumentRef, BrowserWindowRef, ButtonComponent, ButtonType, CheckmarkComponent, CircleLoaderComponent, CircleLoaderType, ClickOutsideDirective, CloseComponent, CommonConstants, ComponentSize, ComponentSizeDirective, DOCUMENT, DOCUMENT_PROVIDERS, DateTimeConstants, DefaultModalFooterComponent, DefaultModalHeaderComponent, DelimeterComponent, DestroyParentDirective, Direction, DocumentRef, DotsComponent, HamburgerComponent, LoaderService, MediaLimits, ModalComponent, ModalOpenOnClickDirective, ModalService, ModalTemplate, MouseDownDirective, NgxSfcCommonModule, PaginationComponent, PaginationService, Position, ResizeService, ShowHideElementDirective, SortingComponent, SortingDirection, SortingService, TemplateContentComponent, TemplateReferenceDirective, Theme, ThrowElementOnHoverDirective, ToggleSwitcherComponent, TooltipComponent, TooltipType, UIClass, UIConstants, WINDOW, WINDOW_PROVIDERS, WindowRef, addClasses, addItem, addPropertyToObject, all, any, browserDocumentProvider, browserWindowProvider, contains, distinct, documentFactory, documentProvider, firstItem, firstOrDefault, getCalcValue, getCollectionOrEmpty, getCssLikeValue, getFileExtension, getFirstDayOfMonth, getFirstDayOfMonthByYearAndMonth, getFirstDayOfYear, getLastDayOfMonth, getLastDayOfMonthByYearAndMonth, getLastDayOfYear, getNextMonth, getNextYear, getPreviousMonth, getPreviousYear, getValueFromCssLikeValue, getWeeksNumberInMonth, hasItem, hasItemBy, hasObjectItem, hexToRgb, isAsyncData, isDateGreat, isDateGreatOrEqual, isDateTimeGreat, isDateTimeGreatOrEqual, isDefined, isEqualDates, isImage, isNullOrEmptyString, isNumeric, isObject, lastItem, max, mergeDeep, nameof, parseFileSize, readAsDataURL, remove, removeClasses, removeItem, removePropertyFromObject, replaceRgbOpacity, rgbToHex, setDay, setHours, setMinutes, setYear, skip, sortBy, sortByPath, sum, trim, updateItem, where, windowFactory, windowProvider };
2782
+ 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 };
2783
+ //# sourceMappingURL=ngx-sfc-common.mjs.map
2279
2784
  //# sourceMappingURL=ngx-sfc-common.mjs.map