@apipass/inputs 1.0.91 → 1.0.92

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 (56) hide show
  1. package/assets/css/inputs.scss +99 -3
  2. package/esm2022/input-date-time-interval/builder/default-intervals.builder.mjs +92 -0
  3. package/esm2022/input-date-time-interval/builder/time-interval-value.builder.mjs +123 -0
  4. package/esm2022/input-date-time-interval/builder/time-intervals.builder.mjs +19 -0
  5. package/esm2022/input-date-time-interval/default-interval/current-month-interval.mjs +12 -0
  6. package/esm2022/input-date-time-interval/default-interval/last-five-minutes-interval.mjs +12 -0
  7. package/esm2022/input-date-time-interval/default-interval/last-hour-interval.mjs +12 -0
  8. package/esm2022/input-date-time-interval/default-interval/last-minute-interval.mjs +12 -0
  9. package/esm2022/input-date-time-interval/default-interval/last-month-interval.mjs +15 -0
  10. package/esm2022/input-date-time-interval/default-interval/last-one-week-interval.mjs +15 -0
  11. package/esm2022/input-date-time-interval/default-interval/last-quarter-interval.mjs +15 -0
  12. package/esm2022/input-date-time-interval/default-interval/last-ten-minutes-interval.mjs +12 -0
  13. package/esm2022/input-date-time-interval/default-interval/last-thirty-minutes-interval.mjs +12 -0
  14. package/esm2022/input-date-time-interval/default-interval/last-three-hours-interval.mjs +12 -0
  15. package/esm2022/input-date-time-interval/default-interval/last-two-hours-interval.mjs +12 -0
  16. package/esm2022/input-date-time-interval/default-interval/last-year-interval.mjs +15 -0
  17. package/esm2022/input-date-time-interval/default-interval/this-quarter-interval.mjs +15 -0
  18. package/esm2022/input-date-time-interval/default-interval/this-week-interval.mjs +15 -0
  19. package/esm2022/input-date-time-interval/default-interval/this-year-interval.mjs +15 -0
  20. package/esm2022/input-date-time-interval/default-interval/time-interval.mjs +2 -0
  21. package/esm2022/input-date-time-interval/default-interval/today-interval.mjs +12 -0
  22. package/esm2022/input-date-time-interval/default-interval/yesterday-interval.mjs +15 -0
  23. package/esm2022/input-date-time-interval/input-date-time-interval.component.mjs +317 -0
  24. package/esm2022/input-date-time-interval/model/date-time-internal.model.mjs +56 -0
  25. package/esm2022/input-date-time-interval/public-api.mjs +28 -0
  26. package/esm2022/inputs.module.mjs +50 -10
  27. package/esm2022/public-api.mjs +13 -12
  28. package/fesm2022/apipass-inputs.mjs +823 -13
  29. package/fesm2022/apipass-inputs.mjs.map +1 -1
  30. package/input-date-time-interval/builder/default-intervals.builder.d.ts +21 -0
  31. package/input-date-time-interval/builder/time-interval-value.builder.d.ts +31 -0
  32. package/input-date-time-interval/builder/time-intervals.builder.d.ts +9 -0
  33. package/input-date-time-interval/default-interval/current-month-interval.d.ts +7 -0
  34. package/input-date-time-interval/default-interval/last-five-minutes-interval.d.ts +7 -0
  35. package/input-date-time-interval/default-interval/last-hour-interval.d.ts +7 -0
  36. package/input-date-time-interval/default-interval/last-minute-interval.d.ts +7 -0
  37. package/input-date-time-interval/default-interval/last-month-interval.d.ts +8 -0
  38. package/input-date-time-interval/default-interval/last-one-week-interval.d.ts +8 -0
  39. package/input-date-time-interval/default-interval/last-quarter-interval.d.ts +8 -0
  40. package/input-date-time-interval/default-interval/last-ten-minutes-interval.d.ts +7 -0
  41. package/input-date-time-interval/default-interval/last-thirty-minutes-interval.d.ts +7 -0
  42. package/input-date-time-interval/default-interval/last-three-hours-interval.d.ts +7 -0
  43. package/input-date-time-interval/default-interval/last-two-hours-interval.d.ts +7 -0
  44. package/input-date-time-interval/default-interval/last-year-interval.d.ts +8 -0
  45. package/input-date-time-interval/default-interval/this-quarter-interval.d.ts +8 -0
  46. package/input-date-time-interval/default-interval/this-week-interval.d.ts +8 -0
  47. package/input-date-time-interval/default-interval/this-year-interval.d.ts +8 -0
  48. package/input-date-time-interval/default-interval/time-interval.d.ts +6 -0
  49. package/input-date-time-interval/default-interval/today-interval.d.ts +7 -0
  50. package/input-date-time-interval/default-interval/yesterday-interval.d.ts +8 -0
  51. package/input-date-time-interval/input-date-time-interval.component.d.ts +68 -0
  52. package/input-date-time-interval/model/date-time-internal.model.d.ts +19 -0
  53. package/input-date-time-interval/public-api.d.ts +23 -0
  54. package/inputs.module.d.ts +21 -15
  55. package/package.json +6 -3
  56. package/public-api.d.ts +12 -11
@@ -1,3 +1,6 @@
1
+ export * from '@angular-material-components/color-picker';
2
+ export * from '@angular-material-components/datetime-picker';
3
+ export * from '@angular-material-components/moment-adapter';
1
4
  import * as i0 from '@angular/core';
2
5
  import { forwardRef, Component, ViewEncapsulation, Input, EventEmitter, Output, ViewChild, Directive, ElementRef, HostBinding, HostListener, NgModule } from '@angular/core';
3
6
  import * as i2 from '@angular/forms';
@@ -11,6 +14,7 @@ import { MatInputModule } from '@angular/material/input';
11
14
  import * as i1$1 from '@angular/material/select';
12
15
  import { MatSelectModule } from '@angular/material/select';
13
16
  import * as i6 from '@angular/material/core';
17
+ import { MatNativeDateModule } from '@angular/material/core';
14
18
  import * as i7 from '@apipass/pipes';
15
19
  import { PipeModule } from '@apipass/pipes';
16
20
  import * as i5 from '@angular/material/icon';
@@ -32,9 +36,16 @@ import 'brace';
32
36
  import 'brace/theme/monokai';
33
37
  import * as i3$3 from '@apipass/buttons';
34
38
  import { ButtonsModule } from '@apipass/buttons';
35
- export * from '@angular-material-components/color-picker';
36
- export * from '@angular-material-components/datetime-picker';
37
- export * from '@angular-material-components/moment-adapter';
39
+ import moment from 'moment-timezone';
40
+ import * as i7$1 from '@angular/material/datepicker';
41
+ import { DateRange, MatDatepickerModule, MAT_DATE_RANGE_SELECTION_STRATEGY, DefaultMatCalendarRangeStrategy } from '@angular/material/datepicker';
42
+ import * as i8 from 'ngx-scrollbar';
43
+ import { NgScrollbarModule } from 'ngx-scrollbar';
44
+ import * as i9 from 'ngx-mask';
45
+ import { NgxMaskDirective, NgxMaskPipe, provideNgxMask } from 'ngx-mask';
46
+ export * from 'ngx-mask';
47
+ import { MatCardModule } from '@angular/material/card';
48
+ import moment$1 from 'moment';
38
49
 
39
50
  class ValueAccessorBase {
40
51
  innerValue;
@@ -1701,6 +1712,360 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1701
1712
  args: ['actionFile']
1702
1713
  }] } });
1703
1714
 
1715
+ class TimeIntervalValue {
1716
+ _timezone;
1717
+ _absoluteStartDate;
1718
+ _absoluteEndDate;
1719
+ _interval;
1720
+ constructor(timezone) {
1721
+ this._timezone = timezone;
1722
+ }
1723
+ getStartDate() {
1724
+ if (this._interval?.getStartDate) {
1725
+ return new Date(moment(this._interval.getStartDate()).tz(this._timezone).format());
1726
+ }
1727
+ if (this._absoluteStartDate) {
1728
+ return new Date(moment(this._absoluteStartDate).tz(this._timezone).format());
1729
+ }
1730
+ return this._absoluteStartDate;
1731
+ }
1732
+ getEndDate() {
1733
+ if (this._interval?.getEndDate) {
1734
+ return new Date(moment(this._interval.getEndDate()).tz(this._timezone).format());
1735
+ }
1736
+ if (this._absoluteEndDate) {
1737
+ return new Date(moment(this._absoluteEndDate).tz(this._timezone).format());
1738
+ }
1739
+ return this._absoluteEndDate;
1740
+ }
1741
+ isRelativeInterval() {
1742
+ return !!this._interval;
1743
+ }
1744
+ isAbsoluteDate() {
1745
+ return !this.isRelativeInterval();
1746
+ }
1747
+ get absoluteStartDate() {
1748
+ return this._absoluteStartDate;
1749
+ }
1750
+ set absoluteStartDate(value) {
1751
+ this._absoluteStartDate = value;
1752
+ }
1753
+ get absoluteEndDate() {
1754
+ return this._absoluteEndDate;
1755
+ }
1756
+ set absoluteEndDate(value) {
1757
+ this._absoluteEndDate = value;
1758
+ }
1759
+ get interval() {
1760
+ return this._interval;
1761
+ }
1762
+ set interval(value) {
1763
+ this._interval = value;
1764
+ }
1765
+ get timezone() {
1766
+ return this._timezone;
1767
+ }
1768
+ }
1769
+
1770
+ class InputDateTimeIntervalComponent {
1771
+ sso;
1772
+ _value;
1773
+ _selectedDateRange;
1774
+ scrollStrategy;
1775
+ timezone = 'America/Sao_Paulo';
1776
+ dateMask = '00/00/0000';
1777
+ timeMask = '00:00:00';
1778
+ dateFormat = 'DD/MM/YYYY HH:mm:ss';
1779
+ label;
1780
+ periodLabel = 'Selected Relative Interval';
1781
+ relativeLabel = 'Relative Time';
1782
+ absoluteLabel = 'Absolute Time';
1783
+ startDateLabel = 'Start Date';
1784
+ startDate;
1785
+ startTimeLabel = 'Start Time';
1786
+ startTime;
1787
+ endTimeLabel = 'End Time';
1788
+ endTime;
1789
+ endDateLabel = 'End Date';
1790
+ endDate;
1791
+ calendarMaxDate;
1792
+ calendarMinDate;
1793
+ cancelLabel = 'Cancel';
1794
+ applyLabel = 'Apply';
1795
+ hideTime = false;
1796
+ get value() {
1797
+ if (!this._value) {
1798
+ this._value = new TimeIntervalValue(this.timezone);
1799
+ }
1800
+ return this._value;
1801
+ }
1802
+ set value(value) {
1803
+ this._value = value;
1804
+ this.refreshValues();
1805
+ }
1806
+ refreshValues() {
1807
+ if (this._value.interval) {
1808
+ this.selectedInterval = this._value.interval;
1809
+ this.resetDates();
1810
+ }
1811
+ else if (this._value?.absoluteStartDate || this._value?.absoluteEndDate) {
1812
+ const startDate = this._value?.absoluteStartDate || this.startDate;
1813
+ this.selectedStartDate = this.dateToString(startDate);
1814
+ const endDate = this._value?.absoluteEndDate || this.endDate;
1815
+ this.selectedEndDate = this.dateToString(endDate);
1816
+ this._selectedDateRange = this.getDateRange(this.stringToDate(this.selectedStartDate), this.stringToDate(this.selectedEndDate));
1817
+ if (this._value?.absoluteStartDate) {
1818
+ this.selectedStartTime = this._value.absoluteStartDate.toTimeString().split(' ')[0];
1819
+ }
1820
+ if (this.value?.absoluteEndDate) {
1821
+ this.selectedEndTime = this.value?.absoluteEndDate.toTimeString().split(' ')[0];
1822
+ }
1823
+ this.selectedStartTime = this.selectedStartTime || this.startTime;
1824
+ this.selectedEndTime = this.selectedEndTime || this.endTime;
1825
+ this.selectedInterval = undefined;
1826
+ }
1827
+ }
1828
+ intervals;
1829
+ valueChange = new EventEmitter();
1830
+ selectedInterval;
1831
+ selectedStartTime;
1832
+ selectedEndTime;
1833
+ selectedStartDate;
1834
+ selectedEndDate;
1835
+ dropdownOpen;
1836
+ scrollbarRef;
1837
+ onKeydownHandler() {
1838
+ this.dropdownOpen = false;
1839
+ }
1840
+ constructor(sso) {
1841
+ this.sso = sso;
1842
+ this.scrollStrategy = this.sso.block();
1843
+ this.resetDates();
1844
+ }
1845
+ openDropDown(event) {
1846
+ this.dropdownOpen = true;
1847
+ setTimeout(() => {
1848
+ if (this._value.interval) {
1849
+ const selectedInterval = this._value.interval;
1850
+ this.scrollbarRef.scrollToElement(`#apipass-datetime-interval-${selectedInterval.id}`, { duration: 800 }).then();
1851
+ }
1852
+ });
1853
+ event.stopPropagation();
1854
+ }
1855
+ closeDropdown(event) {
1856
+ this.cancel();
1857
+ this.dropdownOpen = false;
1858
+ event.stopPropagation();
1859
+ }
1860
+ isSelected(interval) {
1861
+ return interval?.id === this.selectedInterval?.id;
1862
+ }
1863
+ selectInterval(interval) {
1864
+ this.selectedInterval = interval;
1865
+ this.resetDates();
1866
+ }
1867
+ resetDates() {
1868
+ this._selectedDateRange = this.getDateRange(this.startDate, this.endDate);
1869
+ this.selectedStartTime = this.startTime;
1870
+ this.selectedEndTime = this.endTime;
1871
+ this.selectedStartDate = this.dateToString(this.startDate);
1872
+ this.selectedEndDate = this.dateToString(this.endDate);
1873
+ }
1874
+ onDateRangeChange(date) {
1875
+ if (this._selectedDateRange?.start && date > this._selectedDateRange.start && !this._selectedDateRange.end) {
1876
+ this._selectedDateRange = this.getDateRange(this._selectedDateRange.start, date);
1877
+ this.selectedEndDate = this.dateToString(date);
1878
+ this.selectedInterval = undefined;
1879
+ }
1880
+ else {
1881
+ this._selectedDateRange = this.getDateRange(date, undefined);
1882
+ this.selectedStartDate = this.dateToString(date);
1883
+ this.selectedInterval = undefined;
1884
+ }
1885
+ }
1886
+ dateToString(date) {
1887
+ return date ? moment(date).format(this.dateFormat) : undefined;
1888
+ }
1889
+ stringToDate(date) {
1890
+ return date ? moment(date, this.dateFormat).toDate() : undefined;
1891
+ }
1892
+ getDateRange(startDate, endDate) {
1893
+ try {
1894
+ return new DateRange(startDate ? moment(startDate).toDate() : undefined, endDate ? moment(endDate).toDate() : undefined);
1895
+ }
1896
+ catch (e) {
1897
+ return new DateRange(null, null);
1898
+ }
1899
+ }
1900
+ startDateChanged() {
1901
+ this._selectedDateRange = this.getDateRange(this.stringToDate(this.selectedStartDate), this.stringToDate(this.selectedEndDate));
1902
+ this.selectedInterval = undefined;
1903
+ }
1904
+ endDateChanged() {
1905
+ const startDate = this.stringToDate(this.selectedStartDate);
1906
+ const endDate = this.stringToDate(this.selectedEndDate);
1907
+ if (endDate < startDate) {
1908
+ this.selectedEndDate = undefined;
1909
+ }
1910
+ this._selectedDateRange = this.getDateRange(startDate, endDate);
1911
+ this.selectedInterval = undefined;
1912
+ }
1913
+ cancel() {
1914
+ this.refreshValues();
1915
+ this.dropdownOpen = false;
1916
+ }
1917
+ apply() {
1918
+ if (this.selectedInterval) {
1919
+ this._value.interval = this.selectedInterval;
1920
+ this._value.absoluteStartDate = undefined;
1921
+ this._value.absoluteEndDate = undefined;
1922
+ }
1923
+ else {
1924
+ if (this.selectedStartDate) {
1925
+ const startDate = this.stringToDate(this.selectedStartDate);
1926
+ this.applyTimeOnDate(startDate, this.selectedStartTime);
1927
+ this.selectedStartTime = this.selectedStartTime ?? '00:00:00';
1928
+ this._value.absoluteStartDate = moment(startDate).toDate();
1929
+ }
1930
+ else {
1931
+ this._value.absoluteStartDate = undefined;
1932
+ }
1933
+ if (this.selectedEndDate) {
1934
+ const endDate = this.stringToDate(this.selectedEndDate);
1935
+ this.applyTimeOnDate(endDate, this.selectedEndTime);
1936
+ this.selectedEndTime = this.selectedEndTime ?? '00:00:00';
1937
+ this._value.absoluteEndDate = moment(endDate).toDate();
1938
+ }
1939
+ else {
1940
+ this._value.absoluteEndDate = undefined;
1941
+ }
1942
+ this._value.interval = undefined;
1943
+ }
1944
+ this.valueChange.emit(this._value);
1945
+ this.dropdownOpen = false;
1946
+ }
1947
+ applyTimeOnDate(date, time) {
1948
+ if (time) {
1949
+ date.setHours(this.getHoursFromTime(time));
1950
+ date.setMinutes(this.getMinutesFromTime(time));
1951
+ date.setSeconds(this.getSecondsFromTime(time));
1952
+ }
1953
+ }
1954
+ getHoursFromTime(time) {
1955
+ try {
1956
+ return parseFloat(time.split(':')[0]) || 0;
1957
+ }
1958
+ catch (e) {
1959
+ return 0;
1960
+ }
1961
+ }
1962
+ getMinutesFromTime(time) {
1963
+ try {
1964
+ return parseFloat(time.split(':')[1]) || 0;
1965
+ }
1966
+ catch (e) {
1967
+ return 0;
1968
+ }
1969
+ }
1970
+ getSecondsFromTime(time) {
1971
+ try {
1972
+ return parseFloat(time.split(':')[2]) || 0;
1973
+ }
1974
+ catch (e) {
1975
+ return 0;
1976
+ }
1977
+ }
1978
+ getInputText() {
1979
+ if (this._value?.interval) {
1980
+ return this.periodLabel;
1981
+ }
1982
+ const emptyDate = this.hideTime ? '__________' : '__________ ________';
1983
+ let formatedText = '';
1984
+ if (this._value.absoluteStartDate) {
1985
+ formatedText += this.dateToString(this._value.absoluteStartDate);
1986
+ }
1987
+ else {
1988
+ formatedText += emptyDate;
1989
+ }
1990
+ formatedText += ' - ';
1991
+ if (this._value.absoluteEndDate) {
1992
+ formatedText += this.dateToString(this._value.absoluteEndDate);
1993
+ }
1994
+ else {
1995
+ formatedText += emptyDate;
1996
+ }
1997
+ return formatedText;
1998
+ }
1999
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputDateTimeIntervalComponent, deps: [{ token: i1$2.ScrollStrategyOptions }], target: i0.ɵɵFactoryTarget.Component });
2000
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.2", type: InputDateTimeIntervalComponent, selector: "input-date-time-interval", inputs: { timezone: "timezone", dateMask: "dateMask", timeMask: "timeMask", dateFormat: "dateFormat", label: "label", periodLabel: "periodLabel", relativeLabel: "relativeLabel", absoluteLabel: "absoluteLabel", startDateLabel: "startDateLabel", startDate: "startDate", startTimeLabel: "startTimeLabel", startTime: "startTime", endTimeLabel: "endTimeLabel", endTime: "endTime", endDateLabel: "endDateLabel", endDate: "endDate", calendarMaxDate: "calendarMaxDate", calendarMinDate: "calendarMinDate", cancelLabel: "cancelLabel", applyLabel: "applyLabel", hideTime: "hideTime", value: "value", intervals: "intervals" }, outputs: { valueChange: "valueChange" }, host: { listeners: { "document:keydown.escape": "onKeydownHandler($event)" } }, providers: [{
2001
+ provide: NG_VALUE_ACCESSOR,
2002
+ useExisting: forwardRef(() => InputDateTimeIntervalComponent),
2003
+ multi: true
2004
+ }], viewQueries: [{ propertyName: "scrollbarRef", first: true, predicate: ["intervalsBar"], descendants: true }], ngImport: i0, template: "<div class=\"input-date-time-interval\">\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"clickable\"\n (click)=\"dropdownOpen ? closeDropdown($event) : openDropDown($event)\">\n <mat-label class=\"mdc-floating-label--float-above\" [innerHTML]=\"label\"></mat-label>\n <span class=\"interval-input\">\n <div matPrefix class=\"period-badget text-primary\" *ngIf=\"value?.interval\">\n <mat-icon>date_range</mat-icon>\n <span class=\"period-text\" [innerHTML]=\"value?.interval?.label\"></span>\n </div>\n <input style=\"display: flex\" class=\"clickable\" matInput [value]=\"getInputText()\" [readonly]=\"true\">\n </span>\n <mat-icon class=\"clickable text-tertiary\" matIconSuffix>{{dropdownOpen ? 'expand_less' : 'expand_more'}}</mat-icon>\n </mat-form-field>\n</div>\n\n<ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'input-date-time-interval-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (backdropClick)=\"closeDropdown($event)\"\n (overlayOutsideClick)=\"closeDropdown($event)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"dropdownOpen\">\n <div class=\"input-date-time-interval-dropdown mdc-menu-surface\">\n <div class=\"input-options-container\">\n <div class=\"intervals-container\" *ngIf=\"this.intervals\">\n <div class=\"container-text\" *ngIf=\"relativeLabel\">\n <span class=\"relative-text\" [innerHTML]=\"relativeLabel\"></span>\n </div>\n <ng-scrollbar #intervalsBar class=\"date-time-interval-scrollbar\" [visibility]=\"'always'\">\n <div class=\"interval\"\n [id]=\"'apipass-datetime-interval-' + interval.id\"\n (click)=\"selectInterval(interval)\"\n [ngClass]=\"{'interval-selected': isSelected(interval)}\"\n *ngFor=\"let interval of this.intervals\">\n <div class=\"interval-label\">\n <span [innerHTML]=\"interval.label\"></span>\n </div>\n <div class=\"interval-icon\" *ngIf=\"isSelected(interval)\">\n <mat-icon class=\"mat-icon-slim text-secondary\">check</mat-icon>\n </div>\n </div>\n </ng-scrollbar>\n </div>\n\n <div class=\"calendar-container\" [ngClass]=\"{'only-calendar': !this.intervals}\">\n <div class=\"container-text\" *ngIf=\"absoluteLabel\">\n <span class=\"absolute-text\" [innerHTML]=\"absoluteLabel\"></span>\n </div>\n <div class=\"picker\">\n <div class=\"picker-fields\" [ngClass]=\"{'picker-only-date': hideTime}\">\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"startDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedStartDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"startDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"startTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedStartTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"endDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedEndDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"endDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"endTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedEndTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n </div>\n <mat-calendar\n [selected]=\"_selectedDateRange\"\n [maxDate]=\"calendarMaxDate\"\n [minDate]=\"calendarMinDate\"\n (selectedChange)=\"onDateRangeChange($event)\"></mat-calendar>\n </div>\n </div>\n </div>\n <div class=\"input-date-time-actions\">\n <button class=\"action-button dropdown-cancel-button\" *ngIf=\"cancelLabel\" (click)=\"cancel()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"cancelLabel\"></span>\n </button>\n <button class=\"action-button dropdown-apply-button\" *ngIf=\"applyLabel\" (click)=\"apply()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"applyLabel\"></span>\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".input-date-time-interval mat-form-field{width:100%}.input-date-time-interval mat-form-field .interval-input{display:flex;flex-wrap:nowrap}.input-date-time-interval mat-form-field .interval-input .period-badget{display:flex;justify-content:space-around;align-items:center;gap:5px;padding:1px 10px;margin-left:15px;margin-right:5px;background:#EEE;border-radius:4px;border:1px solid #CCC}.input-date-time-interval mat-form-field .interval-input .period-badget .period-text{white-space:nowrap}.input-date-time-interval mat-form-field .date-value-input{display:flex;justify-content:flex-start;align-items:center;gap:5px}.input-date-time-interval-overlay-panel{margin-bottom:5px}.input-date-time-interval-dropdown{box-sizing:border-box;background:#FFF;border:1px solid #CCC;border-radius:5px;width:450px}@media (max-width: 500px){.input-date-time-interval-dropdown{width:90vw}}.input-date-time-interval-dropdown .input-options-container{display:flex;justify-content:space-between;align-items:flex-start}.input-date-time-interval-dropdown .input-options-container .container-text{font-weight:600;margin-bottom:5px}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container{flex-direction:column}}.input-date-time-interval-dropdown .input-options-container .intervals-container{padding:10px;width:35%;overflow-x:hidden;overflow-y:auto;border-right:1px solid #CCC}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .intervals-container{width:100%;border-right:none}}.input-date-time-interval-dropdown .input-options-container .intervals-container ng-scrollbar{max-height:380px;min-height:380px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval{display:flex;justify-content:space-between;align-items:center;gap:5px;background:#FFF;padding:6px 10px;border-radius:5px;cursor:pointer;font-weight:600;color:var(--color-primary)}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-label{width:100%;height:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:13px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon{width:20px;height:20px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon mat-icon{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval:hover{background:#CCC}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected .interval-label{width:calc(100% - 25px)}.input-date-time-interval-dropdown .input-options-container .calendar-container{padding:10px 10px 0;width:65%}.input-date-time-interval-dropdown .input-options-container .calendar-container.only-calendar{width:100%}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .calendar-container{width:100%}}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields{display:flex;justify-content:space-between;flex-direction:column;gap:5px;margin-bottom:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields .picker-group{display:flex;justify-content:space-between;align-items:center;flex-direction:row;gap:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date{flex-direction:row}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date .picker-group{width:calc(50% - 5px)}.input-date-time-interval-dropdown .input-date-time-actions{box-sizing:border-box;width:100%;border-top:1px solid #CCC;padding:10px 15px;display:flex;gap:10px;justify-content:center;align-items:center}.input-date-time-interval-dropdown .input-date-time-actions .action-button{display:flex;min-width:105px;padding:5px 15px;gap:5px;overflow:hidden;text-overflow:ellipsis;justify-content:center;align-items:center;font-weight:700;border-radius:10px;cursor:pointer}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button{color:var(--color-primary);border:1px solid var(--color-primary);background:#FFF}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button:hover{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button{color:var(--color-primary);border:1px solid var(--color-secondary);background:var(--color-secondary)}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button:hover{background:var(--color-secondary-hover)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "directive", type: i4.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i1$2.CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: i1$2.CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: i7$1.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i8.NgScrollbar, selector: "ng-scrollbar", inputs: ["disabled", "sensorDisabled", "pointerEventsDisabled", "viewportPropagateMouseMove", "autoHeightDisabled", "autoWidthDisabled", "viewClass", "trackClass", "thumbClass", "minThumbSize", "trackClickScrollDuration", "pointerEventsMethod", "track", "visibility", "appearance", "position", "sensorDebounce", "scrollAuditTime"], outputs: ["updated"], exportAs: ["ngScrollbar"] }, { kind: "directive", type: i9.NgxMaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "leadZero", "triggerOnMaskChange", "apm", "inputTransformFn", "outputTransformFn", "keepCharacterPositions"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], encapsulation: i0.ViewEncapsulation.None });
2005
+ }
2006
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputDateTimeIntervalComponent, decorators: [{
2007
+ type: Component,
2008
+ args: [{ selector: 'input-date-time-interval', providers: [{
2009
+ provide: NG_VALUE_ACCESSOR,
2010
+ useExisting: forwardRef(() => InputDateTimeIntervalComponent),
2011
+ multi: true
2012
+ }], encapsulation: ViewEncapsulation.None, template: "<div class=\"input-date-time-interval\">\n <mat-form-field cdkOverlayOrigin #origin=\"cdkOverlayOrigin\" class=\"clickable\"\n (click)=\"dropdownOpen ? closeDropdown($event) : openDropDown($event)\">\n <mat-label class=\"mdc-floating-label--float-above\" [innerHTML]=\"label\"></mat-label>\n <span class=\"interval-input\">\n <div matPrefix class=\"period-badget text-primary\" *ngIf=\"value?.interval\">\n <mat-icon>date_range</mat-icon>\n <span class=\"period-text\" [innerHTML]=\"value?.interval?.label\"></span>\n </div>\n <input style=\"display: flex\" class=\"clickable\" matInput [value]=\"getInputText()\" [readonly]=\"true\">\n </span>\n <mat-icon class=\"clickable text-tertiary\" matIconSuffix>{{dropdownOpen ? 'expand_less' : 'expand_more'}}</mat-icon>\n </mat-form-field>\n</div>\n\n<ng-template cdkConnectedOverlay\n [cdkConnectedOverlayPanelClass]=\"'input-date-time-interval-overlay-panel'\"\n [cdkConnectedOverlayScrollStrategy]=\"scrollStrategy\"\n (backdropClick)=\"closeDropdown($event)\"\n (overlayOutsideClick)=\"closeDropdown($event)\"\n [cdkConnectedOverlayOrigin]=\"origin\"\n [cdkConnectedOverlayOpen]=\"dropdownOpen\">\n <div class=\"input-date-time-interval-dropdown mdc-menu-surface\">\n <div class=\"input-options-container\">\n <div class=\"intervals-container\" *ngIf=\"this.intervals\">\n <div class=\"container-text\" *ngIf=\"relativeLabel\">\n <span class=\"relative-text\" [innerHTML]=\"relativeLabel\"></span>\n </div>\n <ng-scrollbar #intervalsBar class=\"date-time-interval-scrollbar\" [visibility]=\"'always'\">\n <div class=\"interval\"\n [id]=\"'apipass-datetime-interval-' + interval.id\"\n (click)=\"selectInterval(interval)\"\n [ngClass]=\"{'interval-selected': isSelected(interval)}\"\n *ngFor=\"let interval of this.intervals\">\n <div class=\"interval-label\">\n <span [innerHTML]=\"interval.label\"></span>\n </div>\n <div class=\"interval-icon\" *ngIf=\"isSelected(interval)\">\n <mat-icon class=\"mat-icon-slim text-secondary\">check</mat-icon>\n </div>\n </div>\n </ng-scrollbar>\n </div>\n\n <div class=\"calendar-container\" [ngClass]=\"{'only-calendar': !this.intervals}\">\n <div class=\"container-text\" *ngIf=\"absoluteLabel\">\n <span class=\"absolute-text\" [innerHTML]=\"absoluteLabel\"></span>\n </div>\n <div class=\"picker\">\n <div class=\"picker-fields\" [ngClass]=\"{'picker-only-date': hideTime}\">\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"startDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedStartDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"startDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"startTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedStartTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n <div class=\"picker-group\">\n <mat-form-field class=\"apipass-input-text-slim\">\n <mat-label [innerHTML]=\"endDateLabel\"></mat-label>\n <input matInput [(ngModel)]=\"selectedEndDate\"\n [mask]=\"dateMask\" [dropSpecialCharacters]=\"false\" (blur)=\"endDateChanged()\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>date_range</mat-icon>\n </mat-form-field>\n\n <mat-form-field class=\"apipass-input-text-slim\" *ngIf=\"!hideTime\">\n <mat-label [innerHTML]=\"endTimeLabel\"></mat-label>\n <input matInput [mask]=\"timeMask\" [dropSpecialCharacters]=\"false\" [(ngModel)]=\"selectedEndTime\">\n <mat-icon class=\"mat-icon-slim text-tertiary\" matIconSuffix>schedule</mat-icon>\n </mat-form-field>\n </div>\n </div>\n <mat-calendar\n [selected]=\"_selectedDateRange\"\n [maxDate]=\"calendarMaxDate\"\n [minDate]=\"calendarMinDate\"\n (selectedChange)=\"onDateRangeChange($event)\"></mat-calendar>\n </div>\n </div>\n </div>\n <div class=\"input-date-time-actions\">\n <button class=\"action-button dropdown-cancel-button\" *ngIf=\"cancelLabel\" (click)=\"cancel()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"cancelLabel\"></span>\n </button>\n <button class=\"action-button dropdown-apply-button\" *ngIf=\"applyLabel\" (click)=\"apply()\">\n <span class=\"dropdown-cancel-button-text\" [innerHTML]=\"applyLabel\"></span>\n </button>\n </div>\n </div>\n</ng-template>\n", styles: [".input-date-time-interval mat-form-field{width:100%}.input-date-time-interval mat-form-field .interval-input{display:flex;flex-wrap:nowrap}.input-date-time-interval mat-form-field .interval-input .period-badget{display:flex;justify-content:space-around;align-items:center;gap:5px;padding:1px 10px;margin-left:15px;margin-right:5px;background:#EEE;border-radius:4px;border:1px solid #CCC}.input-date-time-interval mat-form-field .interval-input .period-badget .period-text{white-space:nowrap}.input-date-time-interval mat-form-field .date-value-input{display:flex;justify-content:flex-start;align-items:center;gap:5px}.input-date-time-interval-overlay-panel{margin-bottom:5px}.input-date-time-interval-dropdown{box-sizing:border-box;background:#FFF;border:1px solid #CCC;border-radius:5px;width:450px}@media (max-width: 500px){.input-date-time-interval-dropdown{width:90vw}}.input-date-time-interval-dropdown .input-options-container{display:flex;justify-content:space-between;align-items:flex-start}.input-date-time-interval-dropdown .input-options-container .container-text{font-weight:600;margin-bottom:5px}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container{flex-direction:column}}.input-date-time-interval-dropdown .input-options-container .intervals-container{padding:10px;width:35%;overflow-x:hidden;overflow-y:auto;border-right:1px solid #CCC}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .intervals-container{width:100%;border-right:none}}.input-date-time-interval-dropdown .input-options-container .intervals-container ng-scrollbar{max-height:380px;min-height:380px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval{display:flex;justify-content:space-between;align-items:center;gap:5px;background:#FFF;padding:6px 10px;border-radius:5px;cursor:pointer;font-weight:600;color:var(--color-primary)}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-label{width:100%;height:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-size:13px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon{width:20px;height:20px}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval .interval-icon mat-icon{width:20px;height:20px;display:flex;justify-content:center;align-items:center;font-size:18px;font-weight:700}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval:hover{background:#CCC}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-options-container .intervals-container .interval.interval-selected .interval-label{width:calc(100% - 25px)}.input-date-time-interval-dropdown .input-options-container .calendar-container{padding:10px 10px 0;width:65%}.input-date-time-interval-dropdown .input-options-container .calendar-container.only-calendar{width:100%}@media (max-width: 500px){.input-date-time-interval-dropdown .input-options-container .calendar-container{width:100%}}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields{display:flex;justify-content:space-between;flex-direction:column;gap:5px;margin-bottom:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields .picker-group{display:flex;justify-content:space-between;align-items:center;flex-direction:row;gap:5px}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date{flex-direction:row}.input-date-time-interval-dropdown .input-options-container .calendar-container .picker .picker-fields.picker-only-date .picker-group{width:calc(50% - 5px)}.input-date-time-interval-dropdown .input-date-time-actions{box-sizing:border-box;width:100%;border-top:1px solid #CCC;padding:10px 15px;display:flex;gap:10px;justify-content:center;align-items:center}.input-date-time-interval-dropdown .input-date-time-actions .action-button{display:flex;min-width:105px;padding:5px 15px;gap:5px;overflow:hidden;text-overflow:ellipsis;justify-content:center;align-items:center;font-weight:700;border-radius:10px;cursor:pointer}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button{color:var(--color-primary);border:1px solid var(--color-primary);background:#FFF}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-cancel-button:hover{background:var(--color-primary);color:#fff}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button{color:var(--color-primary);border:1px solid var(--color-secondary);background:var(--color-secondary)}.input-date-time-interval-dropdown .input-date-time-actions .dropdown-apply-button:hover{background:var(--color-secondary-hover)}\n"] }]
2013
+ }], ctorParameters: function () { return [{ type: i1$2.ScrollStrategyOptions }]; }, propDecorators: { timezone: [{
2014
+ type: Input
2015
+ }], dateMask: [{
2016
+ type: Input
2017
+ }], timeMask: [{
2018
+ type: Input
2019
+ }], dateFormat: [{
2020
+ type: Input
2021
+ }], label: [{
2022
+ type: Input
2023
+ }], periodLabel: [{
2024
+ type: Input
2025
+ }], relativeLabel: [{
2026
+ type: Input
2027
+ }], absoluteLabel: [{
2028
+ type: Input
2029
+ }], startDateLabel: [{
2030
+ type: Input
2031
+ }], startDate: [{
2032
+ type: Input
2033
+ }], startTimeLabel: [{
2034
+ type: Input
2035
+ }], startTime: [{
2036
+ type: Input
2037
+ }], endTimeLabel: [{
2038
+ type: Input
2039
+ }], endTime: [{
2040
+ type: Input
2041
+ }], endDateLabel: [{
2042
+ type: Input
2043
+ }], endDate: [{
2044
+ type: Input
2045
+ }], calendarMaxDate: [{
2046
+ type: Input
2047
+ }], calendarMinDate: [{
2048
+ type: Input
2049
+ }], cancelLabel: [{
2050
+ type: Input
2051
+ }], applyLabel: [{
2052
+ type: Input
2053
+ }], hideTime: [{
2054
+ type: Input
2055
+ }], value: [{
2056
+ type: Input
2057
+ }], intervals: [{
2058
+ type: Input
2059
+ }], valueChange: [{
2060
+ type: Output
2061
+ }], scrollbarRef: [{
2062
+ type: ViewChild,
2063
+ args: ['intervalsBar']
2064
+ }], onKeydownHandler: [{
2065
+ type: HostListener,
2066
+ args: ['document:keydown.escape', ['$event']]
2067
+ }] } });
2068
+
1704
2069
  class InputsModule {
1705
2070
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1706
2071
  static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.2", ngImport: i0, type: InputsModule, declarations: [MatSelectInfiniteScrollDirective,
@@ -1717,7 +2082,8 @@ class InputsModule {
1717
2082
  FieldComponent,
1718
2083
  AceEditorComponent,
1719
2084
  AceEditorDirective,
1720
- DebouceInputDirective], imports: [RouterModule,
2085
+ DebouceInputDirective,
2086
+ InputDateTimeIntervalComponent], imports: [RouterModule,
1721
2087
  CommonModule,
1722
2088
  FormsModule,
1723
2089
  MatFormFieldModule,
@@ -1730,7 +2096,13 @@ class InputsModule {
1730
2096
  MatTooltipModule,
1731
2097
  DndModule,
1732
2098
  ButtonsModule,
1733
- OverlayModule], exports: [SelectBoxComponent,
2099
+ OverlayModule,
2100
+ MatCardModule,
2101
+ MatDatepickerModule,
2102
+ MatNativeDateModule,
2103
+ NgScrollbarModule,
2104
+ NgxMaskDirective,
2105
+ NgxMaskPipe], exports: [SelectBoxComponent,
1734
2106
  SelectEnumComponent,
1735
2107
  InputTextComponent,
1736
2108
  InputNumberComponent,
@@ -1743,7 +2115,10 @@ class InputsModule {
1743
2115
  FieldComponent,
1744
2116
  AceEditorComponent,
1745
2117
  AceEditorDirective,
1746
- DebouceInputDirective] });
2118
+ DebouceInputDirective,
2119
+ InputDateTimeIntervalComponent,
2120
+ NgxMaskDirective,
2121
+ NgxMaskPipe] });
1747
2122
  static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputsModule, providers: [
1748
2123
  {
1749
2124
  provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,
@@ -1751,7 +2126,12 @@ class InputsModule {
1751
2126
  appearance: 'outline',
1752
2127
  subscriptSizing: 'dynamic'
1753
2128
  }
1754
- }
2129
+ },
2130
+ {
2131
+ provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
2132
+ useClass: DefaultMatCalendarRangeStrategy
2133
+ },
2134
+ provideNgxMask()
1755
2135
  ], imports: [RouterModule,
1756
2136
  CommonModule,
1757
2137
  FormsModule,
@@ -1765,7 +2145,11 @@ class InputsModule {
1765
2145
  MatTooltipModule,
1766
2146
  DndModule,
1767
2147
  ButtonsModule,
1768
- OverlayModule] });
2148
+ OverlayModule,
2149
+ MatCardModule,
2150
+ MatDatepickerModule,
2151
+ MatNativeDateModule,
2152
+ NgScrollbarModule] });
1769
2153
  }
1770
2154
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImport: i0, type: InputsModule, decorators: [{
1771
2155
  type: NgModule,
@@ -1784,7 +2168,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1784
2168
  MatTooltipModule,
1785
2169
  DndModule,
1786
2170
  ButtonsModule,
1787
- OverlayModule
2171
+ OverlayModule,
2172
+ MatCardModule,
2173
+ MatDatepickerModule,
2174
+ MatNativeDateModule,
2175
+ NgScrollbarModule,
2176
+ NgxMaskDirective,
2177
+ NgxMaskPipe
1788
2178
  ],
1789
2179
  declarations: [
1790
2180
  MatSelectInfiniteScrollDirective,
@@ -1801,7 +2191,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1801
2191
  FieldComponent,
1802
2192
  AceEditorComponent,
1803
2193
  AceEditorDirective,
1804
- DebouceInputDirective
2194
+ DebouceInputDirective,
2195
+ InputDateTimeIntervalComponent
1805
2196
  ],
1806
2197
  exports: [
1807
2198
  SelectBoxComponent,
@@ -1817,7 +2208,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1817
2208
  FieldComponent,
1818
2209
  AceEditorComponent,
1819
2210
  AceEditorDirective,
1820
- DebouceInputDirective
2211
+ DebouceInputDirective,
2212
+ InputDateTimeIntervalComponent,
2213
+ NgxMaskDirective,
2214
+ NgxMaskPipe
1821
2215
  ],
1822
2216
  providers: [
1823
2217
  {
@@ -1826,14 +2220,430 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.2", ngImpor
1826
2220
  appearance: 'outline',
1827
2221
  subscriptSizing: 'dynamic'
1828
2222
  }
1829
- }
2223
+ },
2224
+ {
2225
+ provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
2226
+ useClass: DefaultMatCalendarRangeStrategy
2227
+ },
2228
+ provideNgxMask()
1830
2229
  ]
1831
2230
  }]
1832
2231
  }] });
1833
2232
 
2233
+ class CurrentMonthInterval {
2234
+ id = 'CurrentMonthInterval';
2235
+ label;
2236
+ constructor(label) {
2237
+ this.label = label;
2238
+ }
2239
+ getStartDate() {
2240
+ return moment$1().startOf('month').toDate();
2241
+ }
2242
+ }
2243
+
2244
+ class TimeIntervalsBuilder {
2245
+ _timezone = 'America/Sao_Paulo';
2246
+ _value = [];
2247
+ static builder() {
2248
+ return new TimeIntervalsBuilder();
2249
+ }
2250
+ withTimezone(timezone) {
2251
+ this._timezone = timezone || this._timezone;
2252
+ return this;
2253
+ }
2254
+ withInterval(interval) {
2255
+ this._value.push(interval);
2256
+ return this;
2257
+ }
2258
+ build() {
2259
+ return this._value;
2260
+ }
2261
+ }
2262
+
2263
+ class LastHourInterval {
2264
+ id = 'LastHourInterval';
2265
+ label;
2266
+ constructor(label) {
2267
+ this.label = label;
2268
+ }
2269
+ getStartDate() {
2270
+ return moment$1().subtract(1, 'hours').toDate();
2271
+ }
2272
+ }
2273
+
2274
+ class LastMinuteInterval {
2275
+ id = 'LastMinuteInterval';
2276
+ label;
2277
+ constructor(label) {
2278
+ this.label = label;
2279
+ }
2280
+ getStartDate() {
2281
+ return moment$1().subtract(1, 'minutes').toDate();
2282
+ }
2283
+ }
2284
+
2285
+ class LastOneWeekInterval {
2286
+ id = 'LastOneWeekInterval';
2287
+ label;
2288
+ constructor(label) {
2289
+ this.label = label;
2290
+ }
2291
+ getStartDate() {
2292
+ return moment$1().subtract(1, 'weeks').startOf('weeks').toDate();
2293
+ }
2294
+ getEndDate() {
2295
+ return moment$1().subtract(1, 'weeks').endOf('weeks').toDate();
2296
+ }
2297
+ }
2298
+
2299
+ class LastTenMinutesInterval {
2300
+ id = 'LastTenMinutesInterval';
2301
+ label;
2302
+ constructor(label) {
2303
+ this.label = label;
2304
+ }
2305
+ getStartDate() {
2306
+ return moment$1().subtract(10, 'minutes').toDate();
2307
+ }
2308
+ }
2309
+
2310
+ class LastThirtyMinutesInterval {
2311
+ id = 'LastThirtyMinutesInterval';
2312
+ label;
2313
+ constructor(label) {
2314
+ this.label = label;
2315
+ }
2316
+ getStartDate() {
2317
+ return moment$1().subtract(30, 'minutes').toDate();
2318
+ }
2319
+ }
2320
+
2321
+ class TodayInterval {
2322
+ id = 'TodayInterval';
2323
+ label;
2324
+ constructor(label) {
2325
+ this.label = label;
2326
+ }
2327
+ getStartDate() {
2328
+ return moment$1().startOf('day').toDate();
2329
+ }
2330
+ }
2331
+
2332
+ class LastFiveMinutesInterval {
2333
+ id = 'LastFiveMinutesInterval';
2334
+ label;
2335
+ constructor(label) {
2336
+ this.label = label;
2337
+ }
2338
+ getStartDate() {
2339
+ return moment$1().subtract(5, 'minutes').toDate();
2340
+ }
2341
+ }
2342
+
2343
+ class LastTwoHoursInterval {
2344
+ id = 'LastTwoHoursInterval';
2345
+ label;
2346
+ constructor(label) {
2347
+ this.label = label;
2348
+ }
2349
+ getStartDate() {
2350
+ return moment$1().subtract(2, 'hours').toDate();
2351
+ }
2352
+ }
2353
+
2354
+ class LastThreeHoursInterval {
2355
+ id = 'LastThreeHoursInterval';
2356
+ label;
2357
+ constructor(label) {
2358
+ this.label = label;
2359
+ }
2360
+ getStartDate() {
2361
+ return moment$1().subtract(3, 'hours').toDate();
2362
+ }
2363
+ }
2364
+
2365
+ class LastMonthInterval {
2366
+ id = 'LastMonthInterval';
2367
+ label;
2368
+ constructor(label) {
2369
+ this.label = label;
2370
+ }
2371
+ getStartDate() {
2372
+ return moment$1().subtract(1, 'month').startOf('month').toDate();
2373
+ }
2374
+ getEndDate() {
2375
+ return moment$1().subtract(1, 'month').endOf('month').toDate();
2376
+ }
2377
+ }
2378
+
2379
+ class ThisYearInterval {
2380
+ id = 'ThisYearInterval';
2381
+ label;
2382
+ constructor(label) {
2383
+ this.label = label;
2384
+ }
2385
+ getStartDate() {
2386
+ return moment$1().startOf('year').toDate();
2387
+ }
2388
+ getEndDate() {
2389
+ return moment$1().toDate();
2390
+ }
2391
+ }
2392
+
2393
+ class ThisWeekInterval {
2394
+ id = 'ThisWeekInterval';
2395
+ label;
2396
+ constructor(label) {
2397
+ this.label = label;
2398
+ }
2399
+ getStartDate() {
2400
+ return moment$1().startOf('week').toDate();
2401
+ }
2402
+ getEndDate() {
2403
+ return moment$1().toDate();
2404
+ }
2405
+ }
2406
+
2407
+ class LastYearInterval {
2408
+ id = 'LastYearInterval';
2409
+ label;
2410
+ constructor(label) {
2411
+ this.label = label;
2412
+ }
2413
+ getStartDate() {
2414
+ return moment$1().subtract(1, 'year').startOf('year').toDate();
2415
+ }
2416
+ getEndDate() {
2417
+ return moment$1().subtract(1, 'year').endOf('year').toDate();
2418
+ }
2419
+ }
2420
+
2421
+ class YesterdayInterval {
2422
+ id = 'YesterdayInterval';
2423
+ label;
2424
+ constructor(label) {
2425
+ this.label = label;
2426
+ }
2427
+ getStartDate() {
2428
+ return moment$1().subtract(1, 'day').startOf('day').toDate();
2429
+ }
2430
+ getEndDate() {
2431
+ return moment$1().subtract(1, 'day').endOf('day').toDate();
2432
+ }
2433
+ }
2434
+
2435
+ class LastQuarterInterval {
2436
+ id = 'LastQuarterInterval';
2437
+ label;
2438
+ constructor(label) {
2439
+ this.label = label;
2440
+ }
2441
+ getStartDate() {
2442
+ return moment$1().startOf('quarter').subtract(1, 'quarter').toDate();
2443
+ }
2444
+ getEndDate() {
2445
+ return moment$1().endOf('quarter').subtract(1, 'quarter').toDate();
2446
+ }
2447
+ }
2448
+
2449
+ class ThisQuarterInterval {
2450
+ id = 'ThisQuarterInterval';
2451
+ label;
2452
+ constructor(label) {
2453
+ this.label = label;
2454
+ }
2455
+ getStartDate() {
2456
+ return moment$1().startOf('quarter').toDate();
2457
+ }
2458
+ getEndDate() {
2459
+ return moment$1().toDate();
2460
+ }
2461
+ }
2462
+
2463
+ class DefaultIntervalsBuilder extends TimeIntervalsBuilder {
2464
+ static builder() {
2465
+ return new DefaultIntervalsBuilder();
2466
+ }
2467
+ withTodayInterval(label) {
2468
+ this.withInterval(new TodayInterval(label));
2469
+ return this;
2470
+ }
2471
+ withCurrentMonthInterval(label) {
2472
+ this.withInterval(new CurrentMonthInterval(label));
2473
+ return this;
2474
+ }
2475
+ withThisYearInterval(label) {
2476
+ this.withInterval(new ThisYearInterval(label));
2477
+ return this;
2478
+ }
2479
+ withThisWeekInterval(label) {
2480
+ this.withInterval(new ThisWeekInterval(label));
2481
+ return this;
2482
+ }
2483
+ withLastHourInterval(label) {
2484
+ this.withInterval(new LastHourInterval(label));
2485
+ return this;
2486
+ }
2487
+ withLastTwoHoursInterval(label) {
2488
+ this.withInterval(new LastTwoHoursInterval(label));
2489
+ return this;
2490
+ }
2491
+ withLastThreeHoursInterval(label) {
2492
+ this.withInterval(new LastThreeHoursInterval(label));
2493
+ return this;
2494
+ }
2495
+ withLastMinuteInterval(label) {
2496
+ this.withInterval(new LastMinuteInterval(label));
2497
+ return this;
2498
+ }
2499
+ withLastOneWeekInterval(label) {
2500
+ this.withInterval(new LastOneWeekInterval(label));
2501
+ return this;
2502
+ }
2503
+ withLastFiveMinutesInterval(label) {
2504
+ this.withInterval(new LastFiveMinutesInterval(label));
2505
+ return this;
2506
+ }
2507
+ withLastTenMinutesInterval(label) {
2508
+ this.withInterval(new LastTenMinutesInterval(label));
2509
+ return this;
2510
+ }
2511
+ withLastThirtyMinutesInterval(label) {
2512
+ this.withInterval(new LastThirtyMinutesInterval(label));
2513
+ return this;
2514
+ }
2515
+ withLastMonthInterval(label) {
2516
+ this.withInterval(new LastMonthInterval(label));
2517
+ return this;
2518
+ }
2519
+ withLastYearInterval(label) {
2520
+ this.withInterval(new LastYearInterval(label));
2521
+ return this;
2522
+ }
2523
+ withYesterdayInterval(label) {
2524
+ this.withInterval(new YesterdayInterval(label));
2525
+ return this;
2526
+ }
2527
+ withThisQuarter(label) {
2528
+ this.withInterval(new ThisQuarterInterval(label));
2529
+ return this;
2530
+ }
2531
+ withLastQuarter(label) {
2532
+ this.withInterval(new LastQuarterInterval(label));
2533
+ return this;
2534
+ }
2535
+ }
2536
+
2537
+ class TimeIntervalValueBuilder {
2538
+ _timezone = 'America/Sao_Paulo';
2539
+ _absoluteStartDate;
2540
+ _absoluteEndDate;
2541
+ _interval;
2542
+ static builder() {
2543
+ return new TimeIntervalValueBuilder();
2544
+ }
2545
+ withTimezone(timezone) {
2546
+ this._timezone = timezone || this._timezone;
2547
+ return this;
2548
+ }
2549
+ withAbsoluteStartDate(date) {
2550
+ this._absoluteStartDate = date;
2551
+ this._interval = undefined;
2552
+ return this;
2553
+ }
2554
+ withAbsoluteEndDate(date) {
2555
+ this._absoluteEndDate = date;
2556
+ this._interval = undefined;
2557
+ return this;
2558
+ }
2559
+ withCurrentMonthInterval(label) {
2560
+ this.withInterval(new CurrentMonthInterval(label));
2561
+ return this;
2562
+ }
2563
+ withLastMonthInterval(label) {
2564
+ this.withInterval(new LastMonthInterval(label));
2565
+ return this;
2566
+ }
2567
+ withThisYearInterval(label) {
2568
+ this.withInterval(new ThisYearInterval(label));
2569
+ return this;
2570
+ }
2571
+ withThisWeekInterval(label) {
2572
+ this.withInterval(new ThisWeekInterval(label));
2573
+ return this;
2574
+ }
2575
+ withLastHourInterval(label) {
2576
+ this.withInterval(new LastHourInterval(label));
2577
+ return this;
2578
+ }
2579
+ withLastMinuteInterval(label) {
2580
+ this.withInterval(new LastMinuteInterval(label));
2581
+ return this;
2582
+ }
2583
+ withLastTwoHoursInterval(label) {
2584
+ this.withInterval(new LastTwoHoursInterval(label));
2585
+ return this;
2586
+ }
2587
+ withLastThreeHoursInterval(label) {
2588
+ this.withInterval(new LastThreeHoursInterval(label));
2589
+ return this;
2590
+ }
2591
+ withLastOneWeekInterval(label) {
2592
+ this.withInterval(new LastOneWeekInterval(label));
2593
+ return this;
2594
+ }
2595
+ withLastFiveMinutesInterval(label) {
2596
+ this.withInterval(new LastFiveMinutesInterval(label));
2597
+ return this;
2598
+ }
2599
+ withLastTenMinutesInterval(label) {
2600
+ this.withInterval(new LastTenMinutesInterval(label));
2601
+ return this;
2602
+ }
2603
+ withLastThirtyMinutesInterval(label) {
2604
+ this.withInterval(new LastThirtyMinutesInterval(label));
2605
+ return this;
2606
+ }
2607
+ withTodayInterval(label) {
2608
+ this.withInterval(new TodayInterval(label));
2609
+ return this;
2610
+ }
2611
+ withLastYearInterval(label) {
2612
+ this.withInterval(new LastYearInterval(label));
2613
+ return this;
2614
+ }
2615
+ withYesterdayInterval(label) {
2616
+ this.withInterval(new YesterdayInterval(label));
2617
+ return this;
2618
+ }
2619
+ withThisQuarter(label) {
2620
+ this.withInterval(new ThisQuarterInterval(label));
2621
+ return this;
2622
+ }
2623
+ withLastQuarter(label) {
2624
+ this.withInterval(new LastQuarterInterval(label));
2625
+ return this;
2626
+ }
2627
+ withInterval(interval) {
2628
+ this._absoluteStartDate = undefined;
2629
+ this._absoluteEndDate = undefined;
2630
+ this._interval = interval;
2631
+ return this;
2632
+ }
2633
+ build() {
2634
+ const value = new TimeIntervalValue(this._timezone);
2635
+ value.interval = this._interval;
2636
+ value.absoluteStartDate = this._absoluteStartDate;
2637
+ value.absoluteEndDate = this._absoluteEndDate;
2638
+ return value;
2639
+ }
2640
+ }
2641
+
2642
+ // Export builders
2643
+
1834
2644
  /**
1835
2645
  * Generated bundle index. Do not edit.
1836
2646
  */
1837
2647
 
1838
- export { AceEditorComponent, AceEditorDirective, CustomSelectComponent, CustomSelectItem, DebouceInputDirective, FieldComponent, InputAvatarComponent, InputBooleanComponent, InputFileComponent, InputImageComponent, InputNumberComponent, InputTextComponent, InputsModule, SelectBoxComponent, SelectEnumComponent, SelectInterpolationComponent, ValueAccessorBase };
2648
+ export { AceEditorComponent, AceEditorDirective, CurrentMonthInterval, CustomSelectComponent, CustomSelectItem, DebouceInputDirective, DefaultIntervalsBuilder, FieldComponent, InputAvatarComponent, InputBooleanComponent, InputDateTimeIntervalComponent, InputFileComponent, InputImageComponent, InputNumberComponent, InputTextComponent, InputsModule, LastFiveMinutesInterval, LastHourInterval, LastMinuteInterval, LastMonthInterval, LastOneWeekInterval, LastQuarterInterval, LastTenMinutesInterval, LastThirtyMinutesInterval, LastThreeHoursInterval, LastTwoHoursInterval, LastYearInterval, SelectBoxComponent, SelectEnumComponent, SelectInterpolationComponent, ThisQuarterInterval, ThisWeekInterval, ThisYearInterval, TimeIntervalValue, TimeIntervalValueBuilder, TimeIntervalsBuilder, TodayInterval, ValueAccessorBase, YesterdayInterval };
1839
2649
  //# sourceMappingURL=apipass-inputs.mjs.map