@sd-angular/core 0.0.897 → 0.0.901

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 (35) hide show
  1. package/assets/scss/core/override-material-ui.scss +4 -0
  2. package/assets/scss/core/position.scss +1 -1
  3. package/assets/scss/core/scrollbar.scss +4 -4
  4. package/assets/scss/core/text.scss +3 -0
  5. package/assets/scss/sd-core.scss +18 -16
  6. package/bundles/sd-angular-core-date-range.umd.js +1 -1
  7. package/bundles/sd-angular-core-date-range.umd.min.js +1 -1
  8. package/bundles/sd-angular-core-date-range.umd.min.js.map +1 -1
  9. package/bundles/sd-angular-core-date-time.umd.js +1 -1
  10. package/bundles/sd-angular-core-date-time.umd.min.js +2 -2
  11. package/bundles/sd-angular-core-date-time.umd.min.js.map +1 -1
  12. package/bundles/sd-angular-core-select.umd.js +32 -16
  13. package/bundles/sd-angular-core-select.umd.js.map +1 -1
  14. package/bundles/sd-angular-core-select.umd.min.js +2 -2
  15. package/bundles/sd-angular-core-select.umd.min.js.map +1 -1
  16. package/bundles/sd-angular-core-upload-excel.umd.js +1 -13
  17. package/bundles/sd-angular-core-upload-excel.umd.js.map +1 -1
  18. package/bundles/sd-angular-core-upload-excel.umd.min.js +1 -1
  19. package/bundles/sd-angular-core-upload-excel.umd.min.js.map +1 -1
  20. package/date-range/sd-angular-core-date-range.metadata.json +1 -1
  21. package/date-time/sd-angular-core-date-time.metadata.json +1 -1
  22. package/esm2015/date-range/src/lib/date-range.component.js +1 -1
  23. package/esm2015/date-time/src/lib/date-time.component.js +1 -1
  24. package/esm2015/select/src/lib/select.component.js +33 -17
  25. package/esm2015/upload-excel/src/lib/upload-excel.component.js +2 -14
  26. package/fesm2015/sd-angular-core-date-range.js +1 -1
  27. package/fesm2015/sd-angular-core-date-time.js +1 -1
  28. package/fesm2015/sd-angular-core-select.js +32 -16
  29. package/fesm2015/sd-angular-core-select.js.map +1 -1
  30. package/fesm2015/sd-angular-core-upload-excel.js +1 -13
  31. package/fesm2015/sd-angular-core-upload-excel.js.map +1 -1
  32. package/package.json +1 -1
  33. package/{sd-angular-core-0.0.897.tgz → sd-angular-core-0.0.901.tgz} +0 -0
  34. package/select/sd-angular-core-select.metadata.json +1 -1
  35. package/select/src/lib/select.component.d.ts +2 -2
@@ -0,0 +1,4 @@
1
+ .mat-tab-label-active {
2
+ color: $primary;
3
+ opacity: 1 !important;
4
+ }
@@ -9,4 +9,4 @@
9
9
  }
10
10
  .l-0 {
11
11
  left: 0;
12
- }
12
+ }
@@ -7,16 +7,16 @@
7
7
 
8
8
  /* Track */
9
9
  ::-webkit-scrollbar-track {
10
- background: #F1F1F1;
10
+ background: #F1F1F1;
11
11
  }
12
12
 
13
13
  /* Handle */
14
14
  ::-webkit-scrollbar-thumb {
15
- background: #888888;
15
+ background: #888888;
16
16
  border-radius: 50px;
17
17
  }
18
18
 
19
19
  /* Handle on hover */
20
20
  ::-webkit-scrollbar-thumb:hover {
21
- background: #555555;
22
- }
21
+ background: #555555;
22
+ }
@@ -0,0 +1,3 @@
1
+ .font-weight-medium {
2
+ font-weight: 500;
3
+ }
@@ -1,24 +1,26 @@
1
- @import '../fonts/roboto.scss';
2
- @import './core/color.scss';
3
- @import './core/box.scss';
4
- @import './core/cursor.scss';
5
- @import './core/form.scss';
6
- @import './core/position.scss';
7
- @import './core/scrollbar.scss';
8
- @import './core/scrollbar.scss';
9
- @import './core/typography.scss';
10
- @import './themes/default.scss';
1
+ @import "../fonts/roboto.scss";
2
+ @import "./core/color.scss";
3
+ @import "./core/box.scss";
4
+ @import "./core/cursor.scss";
5
+ @import "./core/form.scss";
6
+ @import "./core/position.scss";
7
+ @import "./core/scrollbar.scss";
8
+ @import "./core/scrollbar.scss";
9
+ @import "./core/typography.scss";
10
+ @import "./core/text.scss";
11
+ @import "./core/override-material-ui.scss";
12
+ @import "./themes/default.scss";
11
13
 
12
14
  // Other Libraries
13
- @import './bootstrap/bootstrap.scss';
14
- @import './core/toastr.scss';
15
+ @import "./bootstrap/bootstrap.scss";
16
+ @import "./core/toastr.scss";
15
17
  @import "~font-awesome/css/font-awesome.min.css";
16
18
  @import "~jquery-datetimepicker/build/jquery.datetimepicker.min.css";
17
- @import '~material-icons/iconfont/material-icons.scss';
19
+ @import "~material-icons/iconfont/material-icons.scss";
18
20
  // @import "~material-design-icons/iconfont/material-icons.css";
19
- @import '~quill/dist/quill.core.css';
20
- @import '~quill/dist/quill.bubble.css';
21
- @import '~quill/dist/quill.snow.css';
21
+ @import "~quill/dist/quill.core.css";
22
+ @import "~quill/dist/quill.bubble.css";
23
+ @import "~quill/dist/quill.snow.css";
22
24
 
23
25
  .xdsoft_datetimepicker .xdsoft_calendar td.xdsoft_other_month {
24
26
  opacity: 1;
@@ -504,7 +504,7 @@
504
504
  selector: 'sd-date-range',
505
505
  template: "<mat-form-field class=\"sd-md\" [ngClass]=\"{'sd-sm': size === 'sm'}\" appearance=\"outline\">\r\n <mat-label *ngIf=\"label\">{{label}}</mat-label>\r\n <mat-date-range-input [max]=\"max\" [min]=\"min\" [rangePicker]=\"picker\" [disabled]=\"disabled\">\r\n <input [id]=\"id1\" autocomplete=\"off\" autocorrect=\"off\" matStartDate [formControl]=\"control1\"\r\n (dateInput)=\"onStartChange($event)\" [placeholder]=\"'Start' | sdTranslate\">\r\n <input [id]=\"id2\" [autocomplete]=\"id2\" autocorrect=\"off\" matEndDate [formControl]=\"control2\" (dateInput)=\"onEndChange($event)\" [placeholder]=\"'End' | sdTranslate\">\r\n </mat-date-range-input>\r\n <mat-icon *ngIf=\"control1?.value || control2?.value\" class=\"pointer sd-suffix-icon\" (click)=\"clear()\" matSuffix>cancel\r\n </mat-icon>\r\n <mat-icon class=\"pointer sd-suffix-icon\" (click)=\"!disabled && picker.open()\" matSuffix>today\r\n </mat-icon>\r\n <mat-date-range-picker [touchUi]=\"isMobileOrTablet\" #picker></mat-date-range-picker>\r\n</mat-form-field>",
506
506
  providers: [{ provide: core$1.MAT_DATE_FORMATS, useValue: ɵ0 }],
507
- styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-end-date:disabled,:host ::ng-deep .mat-form-field input.mat-start-date:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:red}"]
507
+ styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-end-date:disabled,:host ::ng-deep .mat-form-field input.mat-start-date:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}"]
508
508
  },] }
509
509
  ];
510
510
  SdDateRange.ctorParameters = function () { return [
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */Object.create;var y,b,M,D,C,Y,x;Object.create;function k(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function w(e,t,a){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,a),a}var I={parse:{dateInput:"DD/MM/YYYY"},display:{dateInput:"DD/MM/YYYY",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}},q=function(){function e(e){var t=this;this.detectorService=e,this.id1="I"+m.v4(),this.id2="I"+m.v4(),y.set(this,null),b.set(this,null),this.isMobileOrTablet=!1,M.set(this,void 0),this.disabled=!1,this.required=!1,this.sdChange=new a.EventEmitter,this.fromChange=new a.EventEmitter,this.toChange=new a.EventEmitter,this.control1=new r.FormControl,D.set(this,m.v4()),this.control2=new r.FormControl,C.set(this,m.v4()),Y.set(this,new c.Subscription),x.set(this,(function(){var e=Date.isDate(k(t,y))?v.default(Date.toFormat(k(t,y),"MM/dd/yyyy HH:mm:ss"),"MM/DD/YYYY HH:mm:ss"):null,a=Date.isDate(k(t,b))?v.default(Date.toFormat(k(t,b),"MM/dd/yyyy HH:mm:ss"),"MM/DD/YYYY HH:mm:ss"):null;t.control1.setValue(e,{emitEvent:!1}),t.control2.setValue(a,{emitEvent:!1})})),this.onStartChange=function(e){var a,n=(null===(a=e.value)||void 0===a?void 0:a.toDate())||null;n?new Date(k(t,y))!==n&&(w(t,y,n),t.fromChange.emit(n)):(w(t,y,null),t.fromChange.emit(null))},this.onEndChange=function(e){var a,n=(null===(a=e.value)||void 0===a?void 0:a.toDate())||null;n?new Date(k(t,b))!==n&&(w(t,b,n),t.toChange.emit(n)):(w(t,b,null),t.toChange.emit(null))},this.clear=function(){t.control1.setValue(null,{emitEvent:!1}),t.control2.setValue(null,{emitEvent:!1}),w(t,y,null),w(t,b,null),t.fromChange.emit(null),t.toChange.emit(null),t.sdChange.emit({from:null,to:null})},this.isMobileOrTablet=!this.detectorService.isDesktop()}return Object.defineProperty(e.prototype,"form",{set:function(e){e&&(e instanceof r.NgForm?w(this,M,e.form):w(this,M,e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_min",{set:function(e){Date.isDate(e)?this.min=new Date(e):this.min=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_max",{set:function(e){Date.isDate(e)?this.max=new Date(e):this.max=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"from",{set:function(e){Date.isDate(e)||(e=null),k(this,y)!==e&&(w(this,y,e),k(this,x).call(this))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"to",{set:function(e){Date.isDate(e)||(e=null),k(this,b)!==e&&(w(this,b,e),k(this,x).call(this))},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){var e,t;null===(e=k(this,M))||void 0===e||e.removeControl(k(this,D)),null===(t=k(this,M))||void 0===t||t.removeControl(k(this,C)),k(this,Y).unsubscribe()},e.prototype.ngOnInit=function(){var e,t;null===(e=k(this,M))||void 0===e||e.addControl(k(this,D),this.control1),null===(t=k(this,M))||void 0===t||t.addControl(k(this,C),this.control2)},e.prototype.ngAfterViewInit=function(){var e=this;k(this,Y).add(c.merge(this.control1.valueChanges,this.control2.valueChanges).pipe(p.debounceTime(500)).subscribe((function(){var t,a,n=(null===(t=e.control1.value)||void 0===t?void 0:t.toDate())||null,r=(null===(a=e.control2.value)||void 0===a?void 0:a.toDate())||null;k(e,y)===n&&k(e,b)===r||(n&&r?e.sdChange.emit({from:n,to:r}):n||r||e.sdChange.emit({from:null,to:null}))}))),k(this,x).call(this)},e}();y=new WeakMap,b=new WeakMap,M=new WeakMap,D=new WeakMap,C=new WeakMap,Y=new WeakMap,x=new WeakMap,q.decorators=[{type:a.Component,args:[{selector:"sd-date-range",template:'<mat-form-field class="sd-md" [ngClass]="{\'sd-sm\': size === \'sm\'}" appearance="outline">\r\n <mat-label *ngIf="label">{{label}}</mat-label>\r\n <mat-date-range-input [max]="max" [min]="min" [rangePicker]="picker" [disabled]="disabled">\r\n <input [id]="id1" autocomplete="off" autocorrect="off" matStartDate [formControl]="control1"\r\n (dateInput)="onStartChange($event)" [placeholder]="\'Start\' | sdTranslate">\r\n <input [id]="id2" [autocomplete]="id2" autocorrect="off" matEndDate [formControl]="control2" (dateInput)="onEndChange($event)" [placeholder]="\'End\' | sdTranslate">\r\n </mat-date-range-input>\r\n <mat-icon *ngIf="control1?.value || control2?.value" class="pointer sd-suffix-icon" (click)="clear()" matSuffix>cancel\r\n </mat-icon>\r\n <mat-icon class="pointer sd-suffix-icon" (click)="!disabled && picker.open()" matSuffix>today\r\n </mat-icon>\r\n <mat-date-range-picker [touchUi]="isMobileOrTablet" #picker></mat-date-range-picker>\r\n</mat-form-field>',providers:[{provide:s.MAT_DATE_FORMATS,useValue:I}],styles:[":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-end-date:disabled,:host ::ng-deep .mat-form-field input.mat-start-date:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:red}"]}]}],q.ctorParameters=function(){return[{type:u.DeviceDetectorService}]},q.propDecorators={size:[{type:a.Input}],form:[{type:a.Input}],disabled:[{type:a.Input}],required:[{type:a.Input}],label:[{type:a.Input}],_min:[{type:a.Input,args:["min"]}],_max:[{type:a.Input,args:["max"]}],from:[{type:a.Input}],to:[{type:a.Input}],sdChange:[{type:a.Output}],fromChange:[{type:a.Output}],toChange:[{type:a.Output}]};var E=function(){};E.decorators=[{type:a.NgModule,args:[{imports:[n.CommonModule,r.FormsModule,r.ReactiveFormsModule,o.MatFormFieldModule,f.MatIconModule,i.MatDatepickerModule,l.MatMomentDateModule,g.SdTranslateModule],declarations:[q],exports:[q],providers:[]}]}],e.SdDateRange=q,e.SdDateRangeModule=E,e.ɵ0=I,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */Object.create;var y,b,M,D,C,Y,x;Object.create;function k(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function w(e,t,a){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,a),a}var I={parse:{dateInput:"DD/MM/YYYY"},display:{dateInput:"DD/MM/YYYY",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}},q=function(){function e(e){var t=this;this.detectorService=e,this.id1="I"+m.v4(),this.id2="I"+m.v4(),y.set(this,null),b.set(this,null),this.isMobileOrTablet=!1,M.set(this,void 0),this.disabled=!1,this.required=!1,this.sdChange=new a.EventEmitter,this.fromChange=new a.EventEmitter,this.toChange=new a.EventEmitter,this.control1=new r.FormControl,D.set(this,m.v4()),this.control2=new r.FormControl,C.set(this,m.v4()),Y.set(this,new c.Subscription),x.set(this,(function(){var e=Date.isDate(k(t,y))?v.default(Date.toFormat(k(t,y),"MM/dd/yyyy HH:mm:ss"),"MM/DD/YYYY HH:mm:ss"):null,a=Date.isDate(k(t,b))?v.default(Date.toFormat(k(t,b),"MM/dd/yyyy HH:mm:ss"),"MM/DD/YYYY HH:mm:ss"):null;t.control1.setValue(e,{emitEvent:!1}),t.control2.setValue(a,{emitEvent:!1})})),this.onStartChange=function(e){var a,n=(null===(a=e.value)||void 0===a?void 0:a.toDate())||null;n?new Date(k(t,y))!==n&&(w(t,y,n),t.fromChange.emit(n)):(w(t,y,null),t.fromChange.emit(null))},this.onEndChange=function(e){var a,n=(null===(a=e.value)||void 0===a?void 0:a.toDate())||null;n?new Date(k(t,b))!==n&&(w(t,b,n),t.toChange.emit(n)):(w(t,b,null),t.toChange.emit(null))},this.clear=function(){t.control1.setValue(null,{emitEvent:!1}),t.control2.setValue(null,{emitEvent:!1}),w(t,y,null),w(t,b,null),t.fromChange.emit(null),t.toChange.emit(null),t.sdChange.emit({from:null,to:null})},this.isMobileOrTablet=!this.detectorService.isDesktop()}return Object.defineProperty(e.prototype,"form",{set:function(e){e&&(e instanceof r.NgForm?w(this,M,e.form):w(this,M,e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_min",{set:function(e){Date.isDate(e)?this.min=new Date(e):this.min=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_max",{set:function(e){Date.isDate(e)?this.max=new Date(e):this.max=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"from",{set:function(e){Date.isDate(e)||(e=null),k(this,y)!==e&&(w(this,y,e),k(this,x).call(this))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"to",{set:function(e){Date.isDate(e)||(e=null),k(this,b)!==e&&(w(this,b,e),k(this,x).call(this))},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){var e,t;null===(e=k(this,M))||void 0===e||e.removeControl(k(this,D)),null===(t=k(this,M))||void 0===t||t.removeControl(k(this,C)),k(this,Y).unsubscribe()},e.prototype.ngOnInit=function(){var e,t;null===(e=k(this,M))||void 0===e||e.addControl(k(this,D),this.control1),null===(t=k(this,M))||void 0===t||t.addControl(k(this,C),this.control2)},e.prototype.ngAfterViewInit=function(){var e=this;k(this,Y).add(c.merge(this.control1.valueChanges,this.control2.valueChanges).pipe(p.debounceTime(500)).subscribe((function(){var t,a,n=(null===(t=e.control1.value)||void 0===t?void 0:t.toDate())||null,r=(null===(a=e.control2.value)||void 0===a?void 0:a.toDate())||null;k(e,y)===n&&k(e,b)===r||(n&&r?e.sdChange.emit({from:n,to:r}):n||r||e.sdChange.emit({from:null,to:null}))}))),k(this,x).call(this)},e}();y=new WeakMap,b=new WeakMap,M=new WeakMap,D=new WeakMap,C=new WeakMap,Y=new WeakMap,x=new WeakMap,q.decorators=[{type:a.Component,args:[{selector:"sd-date-range",template:'<mat-form-field class="sd-md" [ngClass]="{\'sd-sm\': size === \'sm\'}" appearance="outline">\r\n <mat-label *ngIf="label">{{label}}</mat-label>\r\n <mat-date-range-input [max]="max" [min]="min" [rangePicker]="picker" [disabled]="disabled">\r\n <input [id]="id1" autocomplete="off" autocorrect="off" matStartDate [formControl]="control1"\r\n (dateInput)="onStartChange($event)" [placeholder]="\'Start\' | sdTranslate">\r\n <input [id]="id2" [autocomplete]="id2" autocorrect="off" matEndDate [formControl]="control2" (dateInput)="onEndChange($event)" [placeholder]="\'End\' | sdTranslate">\r\n </mat-date-range-input>\r\n <mat-icon *ngIf="control1?.value || control2?.value" class="pointer sd-suffix-icon" (click)="clear()" matSuffix>cancel\r\n </mat-icon>\r\n <mat-icon class="pointer sd-suffix-icon" (click)="!disabled && picker.open()" matSuffix>today\r\n </mat-icon>\r\n <mat-date-range-picker [touchUi]="isMobileOrTablet" #picker></mat-date-range-picker>\r\n</mat-form-field>',providers:[{provide:s.MAT_DATE_FORMATS,useValue:I}],styles:[":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-end-date:disabled,:host ::ng-deep .mat-form-field input.mat-start-date:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}"]}]}],q.ctorParameters=function(){return[{type:u.DeviceDetectorService}]},q.propDecorators={size:[{type:a.Input}],form:[{type:a.Input}],disabled:[{type:a.Input}],required:[{type:a.Input}],label:[{type:a.Input}],_min:[{type:a.Input,args:["min"]}],_max:[{type:a.Input,args:["max"]}],from:[{type:a.Input}],to:[{type:a.Input}],sdChange:[{type:a.Output}],fromChange:[{type:a.Output}],toChange:[{type:a.Output}]};var E=function(){};E.decorators=[{type:a.NgModule,args:[{imports:[n.CommonModule,r.FormsModule,r.ReactiveFormsModule,o.MatFormFieldModule,f.MatIconModule,i.MatDatepickerModule,l.MatMomentDateModule,g.SdTranslateModule],declarations:[q],exports:[q],providers:[]}]}],e.SdDateRange=q,e.SdDateRangeModule=E,e.ɵ0=I,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=sd-angular-core-date-range.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/date-range/src/lib/date-range.component.ts","../../../../projects/sd-core/date-range/src/lib/date-range.module.ts"],"names":["Object","create","__classPrivateFieldGet","receiver","privateMap","has","TypeError","get","__classPrivateFieldSet","value","set","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","SdDateRange","detectorService","_this","this","id1","uuid.v4","id2","_from","_to","isMobileOrTablet","_form","disabled","required","sdChange","EventEmitter","fromChange","toChange","control1","FormControl","_c1","control2","_c2","_subscription","Subscription","_onChanges","from","Date","isDate","moment","toFormat","to","setValue","emitEvent","onStartChange","event","_a","toDate","emit","onEndChange","clear","isDesktop","defineProperty","prototype","val","NgForm","form","min","max","call","ngOnDestroy","removeControl","_b","unsubscribe","ngOnInit","addControl","ngAfterViewInit","add","merge","valueChanges","pipe","debounceTime","subscribe","Component","args","selector","template","providers","provide","MAT_DATE_FORMATS","useValue","ɵ0","DeviceDetectorService","Input","Output","NgModule","imports","CommonModule","FormsModule","ReactiveFormsModule","MatFormFieldModule","MatIconModule","MatDatepickerModule","MatMomentDateModule","SdTranslateModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n OnDestroy,\r\n AfterViewInit,\r\n OnInit\r\n} from '@angular/core';\r\n\r\nimport { FormControl, FormGroup, NgForm } from '@angular/forms';\r\nimport { MatDatepickerInputEvent, } from '@angular/material/datepicker';\r\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport moment, { Moment } from 'moment';\r\nimport * as uuid from 'uuid';\r\nimport { merge, Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport '@sd-angular/core/typing';\r\n\r\nconst CUSTOM_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'sd-date-range',\r\n templateUrl: './date-range.component.html',\r\n styleUrls: ['./date-range.component.scss'],\r\n providers: [{ provide: MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMATS }],\r\n})\r\nexport class SdDateRange implements OnDestroy, OnInit, AfterViewInit {\r\n id1 = `I${uuid.v4()}`;\r\n id2 = `I${uuid.v4()}`;\r\n #from: any = null;\r\n #to: any = null;\r\n isMobileOrTablet = false;\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() disabled = false;\r\n @Input() required = false;\r\n @Input() label: string;\r\n min: Date;\r\n @Input('min') set _min(val: string) {\r\n if (Date.isDate(val)) {\r\n this.min = new Date(val);\r\n } else {\r\n this.min = null;\r\n }\r\n }\r\n max: Date;\r\n @Input('max') set _max(val: string) {\r\n if (Date.isDate(val)) {\r\n this.max = new Date(val);\r\n } else {\r\n this.max = null;\r\n }\r\n }\r\n @Input() set from(val: any) {\r\n if (!Date.isDate(val)) {\r\n val = null;\r\n }\r\n if (this.#from !== val) {\r\n this.#from = val;\r\n this.#onChanges();\r\n }\r\n }\r\n @Input() set to(val: any) {\r\n if (!Date.isDate(val)) {\r\n val = null;\r\n }\r\n if (this.#to !== val) {\r\n this.#to = val;\r\n this.#onChanges();\r\n }\r\n }\r\n @Output() sdChange = new EventEmitter<{ from: Date, to: Date }>();\r\n @Output() fromChange = new EventEmitter();\r\n @Output() toChange = new EventEmitter();\r\n\r\n control1 = new FormControl();\r\n #c1 = uuid.v4();\r\n control2 = new FormControl();\r\n #c2 = uuid.v4();\r\n #subscription = new Subscription();\r\n constructor(\r\n private detectorService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !this.detectorService.isDesktop();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#c1);\r\n this.#form?.removeControl(this.#c2);\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n ngOnInit() {\r\n this.#form?.addControl(this.#c1, this.control1);\r\n this.#form?.addControl(this.#c2, this.control2);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(merge(this.control1.valueChanges, this.control2.valueChanges).pipe(debounceTime(500)).subscribe(() => {\r\n const from = this.control1.value?.toDate() || null;\r\n const to = this.control2.value?.toDate() || null;\r\n if (this.#from !== from || this.#to !== to) {\r\n if (from && to) {\r\n this.sdChange.emit({\r\n from,\r\n to\r\n });\r\n } else if (!from && !to) {\r\n this.sdChange.emit({\r\n from: null,\r\n to: null\r\n });\r\n }\r\n }\r\n }));\r\n this.#onChanges();\r\n }\r\n\r\n #onChanges = () => {\r\n const from = Date.isDate(this.#from) ? moment(Date.toFormat(this.#from, 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;\r\n const to = Date.isDate(this.#to) ? moment(Date.toFormat(this.#to, 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;\r\n this.control1.setValue(from, {\r\n emitEvent: false\r\n });\r\n this.control2.setValue(to, {\r\n emitEvent: false\r\n });\r\n }\r\n\r\n onStartChange = (event: MatDatepickerInputEvent<Moment>) => {\r\n const value = event.value?.toDate() || null;\r\n if (value) {\r\n if (new Date(this.#from) !== value) {\r\n this.#from = value;\r\n this.fromChange.emit(value);\r\n }\r\n } else {\r\n this.#from = null;\r\n this.fromChange.emit(null);\r\n }\r\n }\r\n\r\n onEndChange = (event: MatDatepickerInputEvent<Moment>) => {\r\n const value = event.value?.toDate() || null;\r\n if (value) {\r\n if (new Date(this.#to) !== value) {\r\n this.#to = value;\r\n this.toChange.emit(value);\r\n }\r\n } else {\r\n this.#to = null;\r\n this.toChange.emit(null);\r\n }\r\n }\r\n\r\n clear = () => {\r\n this.control1.setValue(null, {\r\n emitEvent: false\r\n });\r\n this.control2.setValue(null, {\r\n emitEvent: false\r\n });\r\n this.#from = null;\r\n this.#to = null;\r\n this.fromChange.emit(null);\r\n this.toChange.emit(null);\r\n this.sdChange.emit({\r\n from: null,\r\n to: null\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { SdDateRange } from './date-range.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport '@sd-angular/core/typing';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n SdTranslateModule\r\n ],\r\n declarations: [\r\n SdDateRange\r\n ],\r\n exports: [\r\n SdDateRange\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdDateRangeModule {\r\n\r\n}\r\n"]}
1
+ {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/date-range/src/lib/date-range.component.ts","../../../../projects/sd-core/date-range/src/lib/date-range.module.ts"],"names":["Object","create","__classPrivateFieldGet","receiver","privateMap","has","TypeError","get","__classPrivateFieldSet","value","set","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","SdDateRange","detectorService","_this","this","id1","uuid.v4","id2","_from","_to","isMobileOrTablet","_form","disabled","required","sdChange","EventEmitter","fromChange","toChange","control1","FormControl","_c1","control2","_c2","_subscription","Subscription","_onChanges","from","Date","isDate","moment","toFormat","to","setValue","emitEvent","onStartChange","event","_a","toDate","emit","onEndChange","clear","isDesktop","defineProperty","prototype","val","NgForm","form","min","max","call","ngOnDestroy","removeControl","_b","unsubscribe","ngOnInit","addControl","ngAfterViewInit","add","merge","valueChanges","pipe","debounceTime","subscribe","Component","args","selector","template","providers","provide","MAT_DATE_FORMATS","useValue","ɵ0","DeviceDetectorService","Input","Output","NgModule","imports","CommonModule","FormsModule","ReactiveFormsModule","MatFormFieldModule","MatIconModule","MatDatepickerModule","MatMomentDateModule","SdTranslateModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n OnDestroy,\r\n AfterViewInit,\r\n OnInit\r\n} from '@angular/core';\r\n\r\nimport { FormControl, FormGroup, NgForm } from '@angular/forms';\r\nimport { MatDatepickerInputEvent, } from '@angular/material/datepicker';\r\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport moment, { Moment } from 'moment';\r\nimport * as uuid from 'uuid';\r\nimport { merge, Subscription } from 'rxjs';\r\nimport { debounceTime } from 'rxjs/operators';\r\nimport '@sd-angular/core/typing';\r\n\r\nconst CUSTOM_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\n\r\n@Component({\r\n selector: 'sd-date-range',\r\n templateUrl: './date-range.component.html',\r\n styleUrls: ['./date-range.component.scss'],\r\n providers: [{ provide: MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMATS }],\r\n})\r\nexport class SdDateRange implements OnDestroy, OnInit, AfterViewInit {\r\n id1 = `I${uuid.v4()}`;\r\n id2 = `I${uuid.v4()}`;\r\n #from: any = null;\r\n #to: any = null;\r\n isMobileOrTablet = false;\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() disabled = false;\r\n @Input() required = false;\r\n @Input() label: string;\r\n min: Date;\r\n @Input('min') set _min(val: string) {\r\n if (Date.isDate(val)) {\r\n this.min = new Date(val);\r\n } else {\r\n this.min = null;\r\n }\r\n }\r\n max: Date;\r\n @Input('max') set _max(val: string) {\r\n if (Date.isDate(val)) {\r\n this.max = new Date(val);\r\n } else {\r\n this.max = null;\r\n }\r\n }\r\n @Input() set from(val: any) {\r\n if (!Date.isDate(val)) {\r\n val = null;\r\n }\r\n if (this.#from !== val) {\r\n this.#from = val;\r\n this.#onChanges();\r\n }\r\n }\r\n @Input() set to(val: any) {\r\n if (!Date.isDate(val)) {\r\n val = null;\r\n }\r\n if (this.#to !== val) {\r\n this.#to = val;\r\n this.#onChanges();\r\n }\r\n }\r\n @Output() sdChange = new EventEmitter<{ from: Date, to: Date }>();\r\n @Output() fromChange = new EventEmitter();\r\n @Output() toChange = new EventEmitter();\r\n\r\n control1 = new FormControl();\r\n #c1 = uuid.v4();\r\n control2 = new FormControl();\r\n #c2 = uuid.v4();\r\n #subscription = new Subscription();\r\n constructor(\r\n private detectorService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !this.detectorService.isDesktop();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#c1);\r\n this.#form?.removeControl(this.#c2);\r\n this.#subscription.unsubscribe();\r\n }\r\n\r\n ngOnInit() {\r\n this.#form?.addControl(this.#c1, this.control1);\r\n this.#form?.addControl(this.#c2, this.control2);\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.#subscription.add(merge(this.control1.valueChanges, this.control2.valueChanges).pipe(debounceTime(500)).subscribe(() => {\r\n const from = this.control1.value?.toDate() || null;\r\n const to = this.control2.value?.toDate() || null;\r\n if (this.#from !== from || this.#to !== to) {\r\n if (from && to) {\r\n this.sdChange.emit({\r\n from,\r\n to\r\n });\r\n } else if (!from && !to) {\r\n this.sdChange.emit({\r\n from: null,\r\n to: null\r\n });\r\n }\r\n }\r\n }));\r\n this.#onChanges();\r\n }\r\n\r\n #onChanges = () => {\r\n const from = Date.isDate(this.#from) ? moment(Date.toFormat(this.#from, 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;\r\n const to = Date.isDate(this.#to) ? moment(Date.toFormat(this.#to, 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;\r\n this.control1.setValue(from, {\r\n emitEvent: false\r\n });\r\n this.control2.setValue(to, {\r\n emitEvent: false\r\n });\r\n }\r\n\r\n onStartChange = (event: MatDatepickerInputEvent<Moment>) => {\r\n const value = event.value?.toDate() || null;\r\n if (value) {\r\n if (new Date(this.#from) !== value) {\r\n this.#from = value;\r\n this.fromChange.emit(value);\r\n }\r\n } else {\r\n this.#from = null;\r\n this.fromChange.emit(null);\r\n }\r\n }\r\n\r\n onEndChange = (event: MatDatepickerInputEvent<Moment>) => {\r\n const value = event.value?.toDate() || null;\r\n if (value) {\r\n if (new Date(this.#to) !== value) {\r\n this.#to = value;\r\n this.toChange.emit(value);\r\n }\r\n } else {\r\n this.#to = null;\r\n this.toChange.emit(null);\r\n }\r\n }\r\n\r\n clear = () => {\r\n this.control1.setValue(null, {\r\n emitEvent: false\r\n });\r\n this.control2.setValue(null, {\r\n emitEvent: false\r\n });\r\n this.#from = null;\r\n this.#to = null;\r\n this.fromChange.emit(null);\r\n this.toChange.emit(null);\r\n this.sdChange.emit({\r\n from: null,\r\n to: null\r\n });\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { SdDateRange } from './date-range.component';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport '@sd-angular/core/typing';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatFormFieldModule,\r\n MatIconModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n SdTranslateModule\r\n ],\r\n declarations: [\r\n SdDateRange\r\n ],\r\n exports: [\r\n SdDateRange\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdDateRangeModule {\r\n\r\n}\r\n"]}
@@ -533,7 +533,7 @@
533
533
  { provide: core$1.MAT_DATE_FORMATS, useValue: ɵ0 },
534
534
  { provide: datetimePicker.NGX_MAT_DATE_FORMATS, useValue: ɵ1 }
535
535
  ],
536
- styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}"]
536
+ styles: [":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}"]
537
537
  },] }
538
538
  ];
539
539
  SdDateTime.ctorParameters = function () { return [
@@ -1,4 +1,4 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@sd-angular/core/typing"),require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@angular/material/form-field"),require("@angular/material/datepicker"),require("@angular-material-components/datetime-picker"),require("uuid"),require("moment"),require("ngx-device-detector"),require("@angular/material/core"),require("@sd-angular/core/translate"),require("@angular/material/input"),require("@angular-material-components/moment-adapter"),require("@angular/material-moment-adapter"),require("@angular/material/icon")):"function"==typeof define&&define.amd?define("@sd-angular/core/date-time",["exports","@sd-angular/core/typing","@angular/core","@angular/common","@angular/forms","@angular/material/form-field","@angular/material/datepicker","@angular-material-components/datetime-picker","uuid","moment","ngx-device-detector","@angular/material/core","@sd-angular/core/translate","@angular/material/input","@angular-material-components/moment-adapter","@angular/material-moment-adapter","@angular/material/icon"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["sd-angular"]=e["sd-angular"]||{},e["sd-angular"].core=e["sd-angular"].core||{},e["sd-angular"].core["date-time"]={}),e["sd-angular"].core.typing,e.ng.core,e.ng.common,e.ng.forms,e.ng.material.formField,e.ng.material.datepicker,e.datetimePicker,e.uuid,e.moment,e.ngxDeviceDetector,e.ng.material.core,e["sd-angular"].core.translate,e.ng.material.input,e.momentAdapter,e.ng.materialMomentAdapter,e.ng.material.icon)}(this,(function(e,t,r,a,n,o,i,l,s,d,m,u,p,c,f,g,b){"use strict";function M(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var h=M(d);
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@sd-angular/core/typing"),require("@angular/core"),require("@angular/common"),require("@angular/forms"),require("@angular/material/form-field"),require("@angular/material/datepicker"),require("@angular-material-components/datetime-picker"),require("uuid"),require("moment"),require("ngx-device-detector"),require("@angular/material/core"),require("@sd-angular/core/translate"),require("@angular/material/input"),require("@angular-material-components/moment-adapter"),require("@angular/material-moment-adapter"),require("@angular/material/icon")):"function"==typeof define&&define.amd?define("@sd-angular/core/date-time",["exports","@sd-angular/core/typing","@angular/core","@angular/common","@angular/forms","@angular/material/form-field","@angular/material/datepicker","@angular-material-components/datetime-picker","uuid","moment","ngx-device-detector","@angular/material/core","@sd-angular/core/translate","@angular/material/input","@angular-material-components/moment-adapter","@angular/material-moment-adapter","@angular/material/icon"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self)["sd-angular"]=e["sd-angular"]||{},e["sd-angular"].core=e["sd-angular"].core||{},e["sd-angular"].core["date-time"]={}),e["sd-angular"].core.typing,e.ng.core,e.ng.common,e.ng.forms,e.ng.material.formField,e.ng.material.datepicker,e.datetimePicker,e.uuid,e.moment,e.ngxDeviceDetector,e.ng.material.core,e["sd-angular"].core.translate,e.ng.material.input,e.momentAdapter,e.ng.materialMomentAdapter,e.ng.material.icon)}(this,(function(e,t,r,a,n,o,i,l,s,d,m,u,p,c,f,g,b){"use strict";function h(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var M=h(d);
2
2
  /*! *****************************************************************************
3
3
  Copyright (c) Microsoft Corporation.
4
4
 
@@ -12,5 +12,5 @@
12
12
  LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
13
13
  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
14
14
  PERFORMANCE OF THIS SOFTWARE.
15
- ***************************************************************************** */Object.create;var y,D,C;Object.create;function v(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function x(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}var I={parse:{dateInput:"DD/MM/YYYY"},display:{dateInput:"DD/MM/YYYY",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}},k={parse:{dateInput:"DD/MM/YYYY HH:mm"},display:{dateInput:"DD/MM/YYYY HH:mm",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}},Y=function(){function e(e,t){var a=this;this.ref=e,this.id="I"+s.v4(),this.isMobileOrTablet=!1,y.set(this,void 0),D.set(this,s.v4()),this.disableErrorMessage=!1,this.dateControl=new n.FormControl,C.set(this,void 0),this.type="datetime",this.isRequired=!1,this.sdChange=new r.EventEmitter,this.modelChange=new r.EventEmitter,this.onBlur=function(){},this.onFocus=function(){a.isMobileOrTablet},this.onChange=function(e){var t,r,n=null===(t=e.value)||void 0===t?void 0:t.toDate();n?new Date(v(a,y))!==n&&(a.modelChange.emit(n),a.sdChange.emit(n)):(null===(r=a.dateControl)||void 0===r?void 0:r.value)||(a.modelChange.emit(null),a.sdChange.emit(null))},this.clear=function(e){null==e||e.stopPropagation(),v(a,y)&&(a.dateControl.setValue(null),a.modelChange.emit(null),a.sdChange.emit(null))},this.isMobileOrTablet=!t.isDesktop()}return Object.defineProperty(e.prototype,"name",{set:function(e){e&&x(this,D,e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_disableErrorMessage",{set:function(e){this.disableErrorMessage=""===e||e,e=""===e||e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_min",{set:function(e){Date.isDate(e)?this.min=new Date(e):this.min=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_max",{set:function(e){Date.isDate(e)?this.max=new Date(e):this.max=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"form",{set:function(e){e&&(e instanceof n.NgForm?x(this,C,e.form):x(this,C,e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{set:function(e){(e=""===e||e)?this.dateControl.disable():this.dateControl.enable()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"required",{set:function(e){this.isRequired=""===e||e,this.isRequired?this.dateControl.setValidators([n.Validators.required]):this.dateControl.clearValidators()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minDate",{set:function(e){Date.isDate(e)?this.min=new Date(e):this.min=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{set:function(e){Date.isDate(e)?this.max=new Date(e):this.max=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"model",{set:function(e){if(Date.isDate(e)||(e=null),v(this,y)!==e){x(this,y,e);var t=Date.isDate(v(this,y))?h.default(Date.toFormat(v(this,y),"MM/dd/yyyy HH:mm:ss"),"MM/DD/YYYY HH:mm:ss"):null;this.dateControl.setValue(t)}},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){var e;null===(e=v(this,C))||void 0===e||e.removeControl(v(this,D))},e.prototype.ngOnInit=function(){var e;null===(e=v(this,C))||void 0===e||e.addControl(v(this,D),this.dateControl)},e.prototype.ngAfterViewInit=function(){},e}();y=new WeakMap,D=new WeakMap,C=new WeakMap,Y.decorators=[{type:r.Component,args:[{selector:"sd-date-time",template:'<div class="d-flex align-items-center">\r\n <mat-form-field *ngIf="type === \'datetime\' || type === \'time\'" class="sd-md"\r\n [ngClass]="{ \'sd-sm\': size === \'sm\', \'no-padding-wrapper\': disableErrorMessage }" appearance="outline">\r\n <mat-label *ngIf="label">{{ label }}</mat-label>\r\n <input [id]="id" matInput (dateInput)="onChange($event)" [value]="date" (focus)="onFocus()" (blur)="onBlur()"\r\n [autocomplete]="id" autocorrect="off" [formControl]="dateControl" [ngxMatDatetimePicker]="picker1"\r\n placeholder="{{ placeholder || label }}" [min]="min" [required]="isRequired" [max]="max" />\r\n \x3c!-- <mat-icon class="pointer sd-suffix-icon" (click)="!dateControl?.disabled && picker1.open()" matSuffix>today\r\n </mat-icon> --\x3e\r\n <mat-icon *ngIf="dateControl?.value && !isRequired && !dateControl.disabled" class="pointer sd-suffix-icon"\r\n (click)="clear($event)" matSuffix>cancel\r\n </mat-icon>\r\n <mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>\r\n <ngx-mat-datetime-picker #picker1 [defaultTime]="defaultTime" [touchUi]="isMobileOrTablet" [showSpinners]="false">\r\n </ngx-mat-datetime-picker>\r\n\r\n <mat-error *ngIf="dateControl?.errors?.required && !disableErrorMessage">\r\n {{ "This field is required" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.matDatetimePickerMin && !disableErrorMessage">\r\n {{ "Min date" | sdTranslate }}:\r\n <strong>{{ min | date: "dd/MM/yyyy HH:mm" }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.matDatetimePickerMax && !disableErrorMessage">\r\n {{ "Max date" | sdTranslate }}:\r\n <strong>{{ max | date: "dd/MM/yyyy HH:mm" }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.matDatetimePickerParse && !disableErrorMessage">\r\n {{ "Parse error" | sdTranslate }}:\r\n <strong>{{ dateControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.customValidator && !disableErrorMessage">\r\n <strong>{{ dateControl?.errors?.customValidator }}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf="type === \'date\'" class="sd-md"\r\n [ngClass]="{ \'sd-sm\': size === \'sm\' , \'no-padding-wrapper\': disableErrorMessage}" appearance="outline">\r\n <mat-label *ngIf="label">{{ label }}</mat-label>\r\n <input [id]="id" matInput (dateInput)="onChange($event)" (focus)="onFocus()" (blur)="onBlur()" [autocomplete]="id"\r\n autocorrect="off" [formControl]="dateControl" [required]="isRequired" [matDatepicker]="picker2"\r\n placeholder="{{ placeholder || label }}" [min]="min" [max]="max" />\r\n <mat-icon *ngIf="dateControl?.value && !isRequired && !dateControl.disabled" class="pointer sd-suffix-icon"\r\n (click)="clear($event)" matSuffix>cancel\r\n </mat-icon>\r\n\r\n <mat-icon class="pointer sd-suffix-icon" (click)="!dateControl?.disabled && picker2.open()" matSuffix>today\r\n </mat-icon>\r\n\r\n <mat-datepicker #picker2 [touchUi]="isMobileOrTablet"></mat-datepicker>\r\n\r\n <mat-error *ngIf="dateControl?.errors?.required && !disableErrorMessage">\r\n {{ "This field is required" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.customValidator && !disableErrorMessage">\r\n <strong>{{ dateControl?.errors?.customValidator }}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n \x3c!-- <ngx-mat-timepicker *ngIf="type === \'time\'" formControlName="name" [disabled]="disabled" showSpinners="false" stepHour="1"\r\n stepMinute="1" stepSecond="1">\r\n</ngx-mat-timepicker> --\x3e\r\n</div>',providers:[{provide:u.MAT_DATE_FORMATS,useValue:I},{provide:l.NGX_MAT_DATE_FORMATS,useValue:k}],styles:[":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}"]}]}],Y.ctorParameters=function(){return[{type:r.ChangeDetectorRef},{type:m.DeviceDetectorService}]},Y.propDecorators={name:[{type:r.Input}],_disableErrorMessage:[{type:r.Input,args:["disableErrorMessage"]}],_min:[{type:r.Input,args:["min"]}],_max:[{type:r.Input,args:["max"]}],size:[{type:r.Input}],form:[{type:r.Input}],type:[{type:r.Input}],disabled:[{type:r.Input}],required:[{type:r.Input}],label:[{type:r.Input}],placeholder:[{type:r.Input}],defaultTime:[{type:r.Input}],minDate:[{type:r.Input}],maxDate:[{type:r.Input}],validator:[{type:r.Input}],sdChange:[{type:r.Output}],model:[{type:r.Input}],modelChange:[{type:r.Output}]};var q=function(){};q.decorators=[{type:r.NgModule,args:[{imports:[a.CommonModule,n.FormsModule,n.ReactiveFormsModule,c.MatInputModule,b.MatIconModule,o.MatFormFieldModule,i.MatDatepickerModule,g.MatMomentDateModule,l.NgxMatDatetimePickerModule,l.NgxMatTimepickerModule,f.NgxMatMomentModule,p.SdTranslateModule],declarations:[Y],exports:[Y],providers:[]}]}],e.SdDateTime=Y,e.SdDateTimeModule=q,Object.defineProperty(e,"__esModule",{value:!0})}));
15
+ ***************************************************************************** */Object.create;var y,D,C;Object.create;function v(e,t){if(!t.has(e))throw new TypeError("attempted to get private field on non-instance");return t.get(e)}function x(e,t,r){if(!t.has(e))throw new TypeError("attempted to set private field on non-instance");return t.set(e,r),r}var I={parse:{dateInput:"DD/MM/YYYY"},display:{dateInput:"DD/MM/YYYY",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}},k={parse:{dateInput:"DD/MM/YYYY HH:mm"},display:{dateInput:"DD/MM/YYYY HH:mm",monthYearLabel:"MMM YYYY",dateA11yLabel:"LL",monthYearA11yLabel:"MMMM YYYY"}},Y=function(){function e(e,t){var a=this;this.ref=e,this.id="I"+s.v4(),this.isMobileOrTablet=!1,y.set(this,void 0),D.set(this,s.v4()),this.disableErrorMessage=!1,this.dateControl=new n.FormControl,C.set(this,void 0),this.type="datetime",this.isRequired=!1,this.sdChange=new r.EventEmitter,this.modelChange=new r.EventEmitter,this.onBlur=function(){},this.onFocus=function(){a.isMobileOrTablet},this.onChange=function(e){var t,r,n=null===(t=e.value)||void 0===t?void 0:t.toDate();n?new Date(v(a,y))!==n&&(a.modelChange.emit(n),a.sdChange.emit(n)):(null===(r=a.dateControl)||void 0===r?void 0:r.value)||(a.modelChange.emit(null),a.sdChange.emit(null))},this.clear=function(e){null==e||e.stopPropagation(),v(a,y)&&(a.dateControl.setValue(null),a.modelChange.emit(null),a.sdChange.emit(null))},this.isMobileOrTablet=!t.isDesktop()}return Object.defineProperty(e.prototype,"name",{set:function(e){e&&x(this,D,e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_disableErrorMessage",{set:function(e){this.disableErrorMessage=""===e||e,e=""===e||e},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_min",{set:function(e){Date.isDate(e)?this.min=new Date(e):this.min=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"_max",{set:function(e){Date.isDate(e)?this.max=new Date(e):this.max=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"form",{set:function(e){e&&(e instanceof n.NgForm?x(this,C,e.form):x(this,C,e))},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"disabled",{set:function(e){(e=""===e||e)?this.dateControl.disable():this.dateControl.enable()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"required",{set:function(e){this.isRequired=""===e||e,this.isRequired?this.dateControl.setValidators([n.Validators.required]):this.dateControl.clearValidators()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"minDate",{set:function(e){Date.isDate(e)?this.min=new Date(e):this.min=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"maxDate",{set:function(e){Date.isDate(e)?this.max=new Date(e):this.max=null},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"model",{set:function(e){if(Date.isDate(e)||(e=null),v(this,y)!==e){x(this,y,e);var t=Date.isDate(v(this,y))?M.default(Date.toFormat(v(this,y),"MM/dd/yyyy HH:mm:ss"),"MM/DD/YYYY HH:mm:ss"):null;this.dateControl.setValue(t)}},enumerable:!1,configurable:!0}),e.prototype.ngOnDestroy=function(){var e;null===(e=v(this,C))||void 0===e||e.removeControl(v(this,D))},e.prototype.ngOnInit=function(){var e;null===(e=v(this,C))||void 0===e||e.addControl(v(this,D),this.dateControl)},e.prototype.ngAfterViewInit=function(){},e}();y=new WeakMap,D=new WeakMap,C=new WeakMap,Y.decorators=[{type:r.Component,args:[{selector:"sd-date-time",template:'<div class="d-flex align-items-center">\r\n <mat-form-field *ngIf="type === \'datetime\' || type === \'time\'" class="sd-md"\r\n [ngClass]="{ \'sd-sm\': size === \'sm\', \'no-padding-wrapper\': disableErrorMessage }" appearance="outline">\r\n <mat-label *ngIf="label">{{ label }}</mat-label>\r\n <input [id]="id" matInput (dateInput)="onChange($event)" [value]="date" (focus)="onFocus()" (blur)="onBlur()"\r\n [autocomplete]="id" autocorrect="off" [formControl]="dateControl" [ngxMatDatetimePicker]="picker1"\r\n placeholder="{{ placeholder || label }}" [min]="min" [required]="isRequired" [max]="max" />\r\n \x3c!-- <mat-icon class="pointer sd-suffix-icon" (click)="!dateControl?.disabled && picker1.open()" matSuffix>today\r\n </mat-icon> --\x3e\r\n <mat-icon *ngIf="dateControl?.value && !isRequired && !dateControl.disabled" class="pointer sd-suffix-icon"\r\n (click)="clear($event)" matSuffix>cancel\r\n </mat-icon>\r\n <mat-datepicker-toggle matSuffix [for]="picker1"></mat-datepicker-toggle>\r\n <ngx-mat-datetime-picker #picker1 [defaultTime]="defaultTime" [touchUi]="isMobileOrTablet" [showSpinners]="false">\r\n </ngx-mat-datetime-picker>\r\n\r\n <mat-error *ngIf="dateControl?.errors?.required && !disableErrorMessage">\r\n {{ "This field is required" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.matDatetimePickerMin && !disableErrorMessage">\r\n {{ "Min date" | sdTranslate }}:\r\n <strong>{{ min | date: "dd/MM/yyyy HH:mm" }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.matDatetimePickerMax && !disableErrorMessage">\r\n {{ "Max date" | sdTranslate }}:\r\n <strong>{{ max | date: "dd/MM/yyyy HH:mm" }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.matDatetimePickerParse && !disableErrorMessage">\r\n {{ "Parse error" | sdTranslate }}:\r\n <strong>{{ dateControl?.errors?.matDatetimePickerParse?.text }}</strong>\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.customValidator && !disableErrorMessage">\r\n <strong>{{ dateControl?.errors?.customValidator }}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field *ngIf="type === \'date\'" class="sd-md"\r\n [ngClass]="{ \'sd-sm\': size === \'sm\' , \'no-padding-wrapper\': disableErrorMessage}" appearance="outline">\r\n <mat-label *ngIf="label">{{ label }}</mat-label>\r\n <input [id]="id" matInput (dateInput)="onChange($event)" (focus)="onFocus()" (blur)="onBlur()" [autocomplete]="id"\r\n autocorrect="off" [formControl]="dateControl" [required]="isRequired" [matDatepicker]="picker2"\r\n placeholder="{{ placeholder || label }}" [min]="min" [max]="max" />\r\n <mat-icon *ngIf="dateControl?.value && !isRequired && !dateControl.disabled" class="pointer sd-suffix-icon"\r\n (click)="clear($event)" matSuffix>cancel\r\n </mat-icon>\r\n\r\n <mat-icon class="pointer sd-suffix-icon" (click)="!dateControl?.disabled && picker2.open()" matSuffix>today\r\n </mat-icon>\r\n\r\n <mat-datepicker #picker2 [touchUi]="isMobileOrTablet"></mat-datepicker>\r\n\r\n <mat-error *ngIf="dateControl?.errors?.required && !disableErrorMessage">\r\n {{ "This field is required" | sdTranslate }}\r\n </mat-error>\r\n <mat-error *ngIf="dateControl?.errors?.customValidator && !disableErrorMessage">\r\n <strong>{{ dateControl?.errors?.customValidator }}</strong>\r\n </mat-error>\r\n </mat-form-field>\r\n \x3c!-- <ngx-mat-timepicker *ngIf="type === \'time\'" formControlName="name" [disabled]="disabled" showSpinners="false" stepHour="1"\r\n stepMinute="1" stepSecond="1">\r\n</ngx-mat-timepicker> --\x3e\r\n</div>',providers:[{provide:u.MAT_DATE_FORMATS,useValue:I},{provide:l.NGX_MAT_DATE_FORMATS,useValue:k}],styles:[":host{display:block;padding-top:5px}:host ::ng-deep .mat-form-field.no-padding-wrapper .mat-form-field-wrapper{padding-bottom:0}:host ::ng-deep .mat-form-field.mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{background:#f6f6f6;color:#e9e9e9}:host ::ng-deep .mat-form-field input.mat-input-element:disabled{color:#4d4d4d!important}:host ::ng-deep .mat-form-field .mat-placeholder-required{color:#f82c13}"]}]}],Y.ctorParameters=function(){return[{type:r.ChangeDetectorRef},{type:m.DeviceDetectorService}]},Y.propDecorators={name:[{type:r.Input}],_disableErrorMessage:[{type:r.Input,args:["disableErrorMessage"]}],_min:[{type:r.Input,args:["min"]}],_max:[{type:r.Input,args:["max"]}],size:[{type:r.Input}],form:[{type:r.Input}],type:[{type:r.Input}],disabled:[{type:r.Input}],required:[{type:r.Input}],label:[{type:r.Input}],placeholder:[{type:r.Input}],defaultTime:[{type:r.Input}],minDate:[{type:r.Input}],maxDate:[{type:r.Input}],validator:[{type:r.Input}],sdChange:[{type:r.Output}],model:[{type:r.Input}],modelChange:[{type:r.Output}]};var q=function(){};q.decorators=[{type:r.NgModule,args:[{imports:[a.CommonModule,n.FormsModule,n.ReactiveFormsModule,c.MatInputModule,b.MatIconModule,o.MatFormFieldModule,i.MatDatepickerModule,g.MatMomentDateModule,l.NgxMatDatetimePickerModule,l.NgxMatTimepickerModule,f.NgxMatMomentModule,p.SdTranslateModule],declarations:[Y],exports:[Y],providers:[]}]}],e.SdDateTime=Y,e.SdDateTimeModule=q,Object.defineProperty(e,"__esModule",{value:!0})}));
16
16
  //# sourceMappingURL=sd-angular-core-date-time.umd.min.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/date-time/src/lib/date-time.component.ts","../../../../projects/sd-core/date-time/src/lib/date-time.module.ts"],"names":["Object","create","__classPrivateFieldGet","receiver","privateMap","has","TypeError","get","__classPrivateFieldSet","value","set","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","ɵ1","SdDateTime","ref","deviceService","_this","this","id","uuid.v4","isMobileOrTablet","_date","_name","disableErrorMessage","dateControl","FormControl","_form","type","isRequired","sdChange","EventEmitter","modelChange","onBlur","onFocus","onChange","event","_a","toDate","Date","emit","_b","clear","$event","stopPropagation","setValue","isDesktop","defineProperty","prototype","val","isDate","min","max","NgForm","form","disable","enable","setValidators","Validators","required","clearValidators","date","moment","toFormat","ngOnDestroy","removeControl","ngOnInit","addControl","ngAfterViewInit","Component","args","selector","template","providers","provide","MAT_DATE_FORMATS","useValue","ɵ0","NGX_MAT_DATE_FORMATS","ChangeDetectorRef","DeviceDetectorService","Input","Output","NgModule","imports","CommonModule","FormsModule","ReactiveFormsModule","MatInputModule","MatIconModule","MatFormFieldModule","MatDatepickerModule","MatMomentDateModule","NgxMatDatetimePickerModule","NgxMatTimepickerModule","NgxMatMomentModule","SdTranslateModule","declarations","exports"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n OnInit,\r\n ViewChild\r\n} from '@angular/core';\r\nimport * as uuid from 'uuid';\r\nimport moment, { Moment } from 'moment';\r\nimport { FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { NGX_MAT_DATE_FORMATS, } from '@angular-material-components/datetime-picker';\r\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport '@sd-angular/core/typing';\r\n\r\nconst CUSTOM_DATETIME_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY HH:mm'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY HH:mm',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\nconst CUSTOM_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\n@Component({\r\n selector: 'sd-date-time',\r\n templateUrl: './date-time.component.html',\r\n styleUrls: ['./date-time.component.scss'],\r\n providers: [\r\n { provide: MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMATS },\r\n { provide: NGX_MAT_DATE_FORMATS, useValue: CUSTOM_DATETIME_FORMATS }\r\n ]\r\n})\r\nexport class SdDateTime implements OnDestroy, OnInit, AfterViewInit {\r\n id = `I${uuid.v4()}`;\r\n isMobileOrTablet = false;\r\n #date: any;\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n val = (val === '') || val;\r\n }\r\n dateControl = new FormControl();\r\n min: Date;\r\n @Input('min') set _min(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.min = new Date(val);\r\n } else {\r\n this.min = null;\r\n }\r\n }\r\n max: Date;\r\n @Input('max') set _max(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.max = new Date(val);\r\n } else {\r\n this.max = null;\r\n }\r\n }\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() type: 'datetime' | 'date' | 'time' = 'datetime';\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.dateControl.disable();\r\n } else {\r\n this.dateControl.enable();\r\n }\r\n }\r\n isRequired = false;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n if (this.isRequired) {\r\n this.dateControl.setValidators([Validators.required]);\r\n } else {\r\n this.dateControl.clearValidators();\r\n }\r\n }\r\n @Input() label: string;\r\n @Input() placeholder: string;\r\n @Input() defaultTime: any;\r\n @Input() set minDate(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.min = new Date(val);\r\n } else {\r\n this.min = null;\r\n }\r\n }\r\n @Input() set maxDate(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.max = new Date(val);\r\n } else {\r\n this.max = null;\r\n }\r\n }\r\n @Input() validator: (value: any) => string | Promise<string>;\r\n @Output() sdChange = new EventEmitter();\r\n date: any;\r\n\r\n @Input() set model(val: any) {\r\n if (!Date.isDate(val)) {\r\n val = null;\r\n }\r\n if (this.#date !== val) {\r\n this.#date = val;\r\n const date = Date.isDate(this.#date) ? moment(Date.toFormat(this.#date, 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;\r\n this.dateControl.setValue(date);\r\n }\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n }\r\n\r\n ngOnInit() {\r\n this.#form?.addControl(this.#name, this.dateControl);\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n onBlur = () => {\r\n // const value = this.dateControl.value?.toDate();\r\n // if (value) {\r\n // if (new Date(this.#date) !== value) {\r\n // this.modelChange.emit(value);\r\n // this.sdChange.emit(value);\r\n // }\r\n // } else {\r\n // if (!this.dateControl?.value) {\r\n // this.modelChange.emit(null);\r\n // this.sdChange.emit(null);\r\n // }\r\n // }\r\n }\r\n\r\n onFocus = () => {\r\n if (this.isMobileOrTablet) {\r\n // $(this.control.nativeElement).trigger('blur');\r\n }\r\n }\r\n\r\n onChange = (event: MatDatepickerInputEvent<Moment>) => {\r\n const value = event.value?.toDate();\r\n if (value) {\r\n if (new Date(this.#date) !== value) {\r\n this.modelChange.emit(value);\r\n this.sdChange.emit(value);\r\n }\r\n } else {\r\n if (!this.dateControl?.value) {\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n }\r\n }\r\n }\r\n\r\n clear = ($event: any) => {\r\n $event?.stopPropagation();\r\n if (this.#date) {\r\n this.dateControl.setValue(null);\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport {\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule\r\n} from '@angular-material-components/datetime-picker';\r\nimport { SdDateTime } from './date-time.component';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { NgxMatMomentModule } from '@angular-material-components/moment-adapter';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport '@sd-angular/core/typing';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule,\r\n NgxMatMomentModule,\r\n SdTranslateModule\r\n ],\r\n declarations: [\r\n SdDateTime\r\n ],\r\n exports: [\r\n SdDateTime\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdDateTimeModule {\r\n\r\n}\r\n"]}
1
+ {"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","../../../../projects/sd-core/date-time/src/lib/date-time.component.ts","../../../../projects/sd-core/date-time/src/lib/date-time.module.ts"],"names":["Object","create","__classPrivateFieldGet","receiver","privateMap","has","TypeError","get","__classPrivateFieldSet","value","set","parse","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","ɵ1","SdDateTime","ref","deviceService","_this","this","id","uuid.v4","isMobileOrTablet","_date","_name","disableErrorMessage","dateControl","FormControl","_form","type","isRequired","sdChange","EventEmitter","modelChange","onBlur","onFocus","onChange","event","_a","toDate","Date","emit","_b","clear","$event","stopPropagation","setValue","isDesktop","defineProperty","prototype","val","isDate","min","max","NgForm","form","disable","enable","setValidators","Validators","required","clearValidators","date","moment","toFormat","ngOnDestroy","removeControl","ngOnInit","addControl","ngAfterViewInit","Component","args","selector","template","providers","provide","MAT_DATE_FORMATS","useValue","ɵ0","NGX_MAT_DATE_FORMATS","ChangeDetectorRef","DeviceDetectorService","Input","Output","NgModule","imports","CommonModule","FormsModule","ReactiveFormsModule","MatInputModule","MatIconModule","MatFormFieldModule","MatDatepickerModule","MatMomentDateModule","NgxMatDatetimePickerModule","NgxMatTimepickerModule","NgxMatMomentModule","SdTranslateModule","declarations","exports"],"mappings":";;;;;;;;;;;;;;oFAyG6BA,OAAOC,OA0FpC,UAAyBD,OAAOC,gBAkBhBC,EAAuBC,EAAUC,GAC7C,IAAKA,EAAWC,IAAIF,GAChB,MAAM,IAAIG,UAAU,kDAExB,OAAOF,EAAWG,IAAIJ,YAGVK,EAAuBL,EAAUC,EAAYK,GACzD,IAAKL,EAAWC,IAAIF,GAChB,MAAM,IAAIG,UAAU,kDAGxB,OADAF,EAAWM,IAAIP,EAAUM,GAClBA,EC7MX,MAW4B,CAC1BE,MAAO,CACLC,UAAW,cAEbC,QAAS,CACPD,UAAW,aACXE,eAAgB,WAChBC,cAAe,KACfC,mBAAoB,cAQsCC,EA3B9B,CAC9BN,MAAO,CACLC,UAAW,oBAEbC,QAAS,CACPD,UAAW,mBACXE,eAAgB,WAChBC,cAAe,KACfC,mBAAoB,2BAoHtB,SAAAE,EACUC,EACRC,GAFF,IAAAC,EAAAC,KACUA,KAAAH,IAAAA,EA7FVG,KAAAC,GAAK,IAAIC,EAAAA,KACTF,KAAAG,kBAAmB,EACnBC,EAAAhB,IAAAY,UAAA,GACAK,EAAAjB,IAAAY,KAAQE,EAAAA,MAMRF,KAAAM,qBAAsB,EAKtBN,KAAAO,YAAc,IAAIC,EAAAA,YAkBlBC,EAAArB,IAAAY,UAAA,GAUSA,KAAAU,KAAqC,WAS9CV,KAAAW,YAAa,EA2BHX,KAAAY,SAAW,IAAIC,EAAAA,aAafb,KAAAc,YAAc,IAAID,EAAAA,aAkB5Bb,KAAAe,OAAS,aAeTf,KAAAgB,QAAU,WACJjB,EAAKI,kBAKXH,KAAAiB,SAAW,SAACC,WACJ/B,EAAmB,QAAdgC,EAAGD,EAAM/B,aAAK,IAAAgC,OAAA,EAAAA,EAAEC,SACvBjC,EACE,IAAIkC,KAAIzC,EAAAmB,EAAAK,MAAiBjB,IAC3BY,EAAKe,YAAYQ,KAAKnC,GACtBY,EAAKa,SAASU,KAAKnC,KAGA,QAAjBoC,EAACxB,EAAKQ,mBAAW,IAAAgB,OAAA,EAAAA,EAAEpC,SACrBY,EAAKe,YAAYQ,KAAK,MACtBvB,EAAKa,SAASU,KAAK,QAKzBtB,KAAAwB,MAAQ,SAACC,GACPA,MAAAA,GAAAA,EAAQC,kBACR9C,EAAAmB,EAAAK,KACEL,EAAKQ,YAAYoB,SAAS,MAC1B5B,EAAKe,YAAYQ,KAAK,MACtBvB,EAAKa,SAASU,KAAK,QAvDrBtB,KAAKG,kBAAoBL,EAAc8B,mBA3FzClD,OAAAmD,eAAajC,EAAAkC,UAAA,OAAI,KAAjB,SAAkBC,GACZA,GACF7C,EAAAc,KAAIK,EAAS0B,oCAIjBrD,OAAAmD,eAAkCjC,EAAAkC,UAAA,uBAAoB,KAAtD,SAAuDC,GACrD/B,KAAKM,oBAA+B,KAARyB,GAAeA,EAC3CA,EAAe,KAARA,GAAeA,mCAIxBrD,OAAAmD,eAAkBjC,EAAAkC,UAAA,OAAI,KAAtB,SAAuBC,GACjBV,KAAKW,OAAOD,GACd/B,KAAKiC,IAAM,IAAIZ,KAAKU,GAEpB/B,KAAKiC,IAAM,sCAIfvD,OAAAmD,eAAkBjC,EAAAkC,UAAA,OAAI,KAAtB,SAAuBC,GACjBV,KAAKW,OAAOD,GACd/B,KAAKkC,IAAM,IAAIb,KAAKU,GAEpB/B,KAAKkC,IAAM,sCAKfxD,OAAAmD,eAAajC,EAAAkC,UAAA,OAAI,KAAjB,SAAkBC,GACZA,IACEA,aAAeI,EAAAA,OACjBjD,EAAAc,KAAIS,EAASsB,EAAIK,MAEjBlD,EAAAc,KAAIS,EAASsB,qCAKnBrD,OAAAmD,eAAajC,EAAAkC,UAAA,WAAQ,KAArB,SAAsBC,IACpBA,EAAe,KAARA,GAAeA,GAEpB/B,KAAKO,YAAY8B,UAEjBrC,KAAKO,YAAY+B,0CAIrB5D,OAAAmD,eAAajC,EAAAkC,UAAA,WAAQ,KAArB,SAAsBC,GACpB/B,KAAKW,WAAsB,KAARoB,GAAeA,EAC9B/B,KAAKW,WACPX,KAAKO,YAAYgC,cAAc,CAACC,EAAAA,WAAWC,WAE3CzC,KAAKO,YAAYmC,mDAMrBhE,OAAAmD,eAAajC,EAAAkC,UAAA,UAAO,KAApB,SAAqBC,GACfV,KAAKW,OAAOD,GACd/B,KAAKiC,IAAM,IAAIZ,KAAKU,GAEpB/B,KAAKiC,IAAM,sCAGfvD,OAAAmD,eAAajC,EAAAkC,UAAA,UAAO,KAApB,SAAqBC,GACfV,KAAKW,OAAOD,GACd/B,KAAKkC,IAAM,IAAIb,KAAKU,GAEpB/B,KAAKkC,IAAM,sCAOfxD,OAAAmD,eAAajC,EAAAkC,UAAA,QAAK,KAAlB,SAAmBC,GAIjB,GAHKV,KAAKW,OAAOD,KACfA,EAAM,MAEJnD,EAAAoB,KAAAI,KAAe2B,EAAK,CACtB7C,EAAAc,KAAII,EAAS2B,GACb,IAAMY,EAAOtB,KAAKW,OAAMpD,EAAAoB,KAAAI,IAAewC,EAAAA,QAAOvB,KAAKwB,SAAQjE,EAAAoB,KAAAI,GAAa,uBAAwB,uBAAyB,KACzHJ,KAAKO,YAAYoB,SAASgB,qCAU9B/C,EAAAkC,UAAAgB,YAAA,iBACE,QAAA3B,EAAAvC,EAAAoB,KAAAS,UAAA,IAAAU,GAAAA,EAAY4B,cAAanE,EAAAoB,KAAAK,KAG3BT,EAAAkC,UAAAkB,SAAA,iBACE,QAAA7B,EAAAvC,EAAAoB,KAAAS,UAAA,IAAAU,GAAAA,EAAY8B,WAAUrE,EAAAoB,KAAAK,GAAaL,KAAKO,cAG1CX,EAAAkC,UAAAoB,gBAAA,gFApHDC,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,eACVC,SAAA,uqHAEAC,UAAW,CACT,CAAEC,QAASC,EAAAA,iBAAkBC,SAAQC,GACrC,CAAEH,QAASI,EAAAA,qBAAsBF,SAAQ/D,ifAzC3CkE,EAAAA,yBAOOC,EAAAA,uDA0CNC,EAAAA,oCAMAA,EAAAA,MAAKX,KAAA,CAAC,qCAMNW,EAAAA,MAAKX,KAAA,CAAC,qBAQNW,EAAAA,MAAKX,KAAA,CAAC,qBAONW,EAAAA,oBAEAA,EAAAA,oBASAA,EAAAA,wBACAA,EAAAA,wBASAA,EAAAA,qBAQAA,EAAAA,2BACAA,EAAAA,2BACAA,EAAAA,uBACAA,EAAAA,uBAOAA,EAAAA,yBAOAA,EAAAA,wBACAC,EAAAA,sBAGAD,EAAAA,2BAUAC,EAAAA,gBCvGH,iCAxBCC,EAAAA,SAAQb,KAAA,CAAC,CACRc,QAAS,CACPC,EAAAA,aACAC,EAAAA,YACAC,EAAAA,oBACAC,EAAAA,eACAC,EAAAA,cACAC,EAAAA,mBACAC,EAAAA,oBACAC,EAAAA,oBACAC,EAAAA,2BACAC,EAAAA,uBACAC,EAAAA,mBACAC,EAAAA,mBAEFC,aAAc,CACZnF,GAEFoF,QAAS,CACPpF,GAEF2D,UAAW","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import {\r\n Component,\r\n Input,\r\n EventEmitter,\r\n Output,\r\n OnDestroy,\r\n AfterViewInit,\r\n ChangeDetectorRef,\r\n OnInit,\r\n ViewChild\r\n} from '@angular/core';\r\nimport * as uuid from 'uuid';\r\nimport moment, { Moment } from 'moment';\r\nimport { FormControl, FormGroup, NgForm, Validators } from '@angular/forms';\r\nimport { DeviceDetectorService } from 'ngx-device-detector';\r\nimport { MatDatepickerInputEvent } from '@angular/material/datepicker';\r\nimport { NGX_MAT_DATE_FORMATS, } from '@angular-material-components/datetime-picker';\r\nimport { MAT_DATE_FORMATS } from '@angular/material/core';\r\nimport '@sd-angular/core/typing';\r\n\r\nconst CUSTOM_DATETIME_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY HH:mm'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY HH:mm',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\nconst CUSTOM_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY'\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY'\r\n }\r\n};\r\n@Component({\r\n selector: 'sd-date-time',\r\n templateUrl: './date-time.component.html',\r\n styleUrls: ['./date-time.component.scss'],\r\n providers: [\r\n { provide: MAT_DATE_FORMATS, useValue: CUSTOM_DATE_FORMATS },\r\n { provide: NGX_MAT_DATE_FORMATS, useValue: CUSTOM_DATETIME_FORMATS }\r\n ]\r\n})\r\nexport class SdDateTime implements OnDestroy, OnInit, AfterViewInit {\r\n id = `I${uuid.v4()}`;\r\n isMobileOrTablet = false;\r\n #date: any;\r\n #name = uuid.v4();\r\n @Input() set name(val: string) {\r\n if (val) {\r\n this.#name = val;\r\n }\r\n }\r\n disableErrorMessage = false;\r\n @Input('disableErrorMessage') set _disableErrorMessage(val: boolean | '') {\r\n this.disableErrorMessage = (val === '') || val;\r\n val = (val === '') || val;\r\n }\r\n dateControl = new FormControl();\r\n min: Date;\r\n @Input('min') set _min(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.min = new Date(val);\r\n } else {\r\n this.min = null;\r\n }\r\n }\r\n max: Date;\r\n @Input('max') set _max(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.max = new Date(val);\r\n } else {\r\n this.max = null;\r\n }\r\n }\r\n @Input() size: 'sm' | 'lg';\r\n #form: FormGroup;\r\n @Input() set form(val: NgForm | FormGroup) {\r\n if (val) {\r\n if (val instanceof NgForm) {\r\n this.#form = val.form;\r\n } else {\r\n this.#form = val;\r\n }\r\n }\r\n }\r\n @Input() type: 'datetime' | 'date' | 'time' = 'datetime';\r\n @Input() set disabled(val: boolean | '') {\r\n val = (val === '') || val;\r\n if (val) {\r\n this.dateControl.disable();\r\n } else {\r\n this.dateControl.enable();\r\n }\r\n }\r\n isRequired = false;\r\n @Input() set required(val: boolean | '') {\r\n this.isRequired = (val === '') || val;\r\n if (this.isRequired) {\r\n this.dateControl.setValidators([Validators.required]);\r\n } else {\r\n this.dateControl.clearValidators();\r\n }\r\n }\r\n @Input() label: string;\r\n @Input() placeholder: string;\r\n @Input() defaultTime: any;\r\n @Input() set minDate(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.min = new Date(val);\r\n } else {\r\n this.min = null;\r\n }\r\n }\r\n @Input() set maxDate(val: string | Date) {\r\n if (Date.isDate(val)) {\r\n this.max = new Date(val);\r\n } else {\r\n this.max = null;\r\n }\r\n }\r\n @Input() validator: (value: any) => string | Promise<string>;\r\n @Output() sdChange = new EventEmitter();\r\n date: any;\r\n\r\n @Input() set model(val: any) {\r\n if (!Date.isDate(val)) {\r\n val = null;\r\n }\r\n if (this.#date !== val) {\r\n this.#date = val;\r\n const date = Date.isDate(this.#date) ? moment(Date.toFormat(this.#date, 'MM/dd/yyyy HH:mm:ss'), 'MM/DD/YYYY HH:mm:ss') : null;\r\n this.dateControl.setValue(date);\r\n }\r\n }\r\n @Output() modelChange = new EventEmitter();\r\n constructor(\r\n private ref: ChangeDetectorRef,\r\n deviceService: DeviceDetectorService) {\r\n this.isMobileOrTablet = !deviceService.isDesktop();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.#form?.removeControl(this.#name);\r\n }\r\n\r\n ngOnInit() {\r\n this.#form?.addControl(this.#name, this.dateControl);\r\n }\r\n\r\n ngAfterViewInit() {\r\n }\r\n\r\n onBlur = () => {\r\n // const value = this.dateControl.value?.toDate();\r\n // if (value) {\r\n // if (new Date(this.#date) !== value) {\r\n // this.modelChange.emit(value);\r\n // this.sdChange.emit(value);\r\n // }\r\n // } else {\r\n // if (!this.dateControl?.value) {\r\n // this.modelChange.emit(null);\r\n // this.sdChange.emit(null);\r\n // }\r\n // }\r\n }\r\n\r\n onFocus = () => {\r\n if (this.isMobileOrTablet) {\r\n // $(this.control.nativeElement).trigger('blur');\r\n }\r\n }\r\n\r\n onChange = (event: MatDatepickerInputEvent<Moment>) => {\r\n const value = event.value?.toDate();\r\n if (value) {\r\n if (new Date(this.#date) !== value) {\r\n this.modelChange.emit(value);\r\n this.sdChange.emit(value);\r\n }\r\n } else {\r\n if (!this.dateControl?.value) {\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n }\r\n }\r\n }\r\n\r\n clear = ($event: any) => {\r\n $event?.stopPropagation();\r\n if (this.#date) {\r\n this.dateControl.setValue(null);\r\n this.modelChange.emit(null);\r\n this.sdChange.emit(null);\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport {\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule\r\n} from '@angular-material-components/datetime-picker';\r\nimport { SdDateTime } from './date-time.component';\r\nimport { SdTranslateModule } from '@sd-angular/core/translate';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { NgxMatMomentModule } from '@angular-material-components/moment-adapter';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport '@sd-angular/core/typing';\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatInputModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n NgxMatDatetimePickerModule,\r\n NgxMatTimepickerModule,\r\n NgxMatMomentModule,\r\n SdTranslateModule\r\n ],\r\n declarations: [\r\n SdDateTime\r\n ],\r\n exports: [\r\n SdDateTime\r\n ],\r\n providers: [\r\n ]\r\n})\r\nexport class SdDateTimeModule {\r\n\r\n}\r\n"]}
@@ -392,14 +392,14 @@
392
392
  });
393
393
  }); });
394
394
  this.onSelectionChange = function (change) {
395
- var _a;
395
+ var _a, _b;
396
396
  _this.allSelected = !_this.select.options.some(function (e) { return !e.selected; });
397
- var value = (change === null || change === void 0 ? void 0 : change.value) || '';
397
+ var value = (_a = change === null || change === void 0 ? void 0 : change.value) !== null && _a !== void 0 ? _a : '';
398
398
  if (_this.multiple) {
399
399
  __classPrivateFieldGet(_this, _onChange).call(_this, value || []);
400
400
  }
401
401
  else {
402
- (_a = _this.inputControl) === null || _a === void 0 ? void 0 : _a.setValue('');
402
+ (_b = _this.inputControl) === null || _b === void 0 ? void 0 : _b.setValue('');
403
403
  __classPrivateFieldGet(_this, _onChange).call(_this, value);
404
404
  }
405
405
  };
@@ -410,7 +410,7 @@
410
410
  var _a, _b;
411
411
  if (Array.isArray(value)) {
412
412
  var vals_1 = value;
413
- if (_this.isNumber && value.every(function (val) { return Number.isNumber(val); })) {
413
+ if (_this.dataType === 'number' && value.every(function (val) { return Number.isNumber(val); })) {
414
414
  vals_1 = value.map(function (e) { return +e; });
415
415
  }
416
416
  _this.modelChange.emit(vals_1);
@@ -422,9 +422,12 @@
422
422
  }
423
423
  else {
424
424
  var val_1 = value;
425
- if (_this.isNumber && Number.isNumber(value)) {
425
+ if (_this.dataType === 'number' && Number.isNumber(value)) {
426
426
  val_1 = +value;
427
427
  }
428
+ if (_this.dataType === 'boolean') {
429
+ val_1 = !!value;
430
+ }
428
431
  _this.modelChange.emit(val_1);
429
432
  _this.sdChange.emit(val_1);
430
433
  _this.sdSelection.emit({
@@ -503,28 +506,41 @@
503
506
  enumerable: false,
504
507
  configurable: true
505
508
  });
506
- Object.defineProperty(SdSelect.prototype, "isNumber", {
509
+ Object.defineProperty(SdSelect.prototype, "dataType", {
507
510
  get: function () {
508
511
  var _a;
509
512
  if (Array.isArray(__classPrivateFieldGet(this, _model))) {
510
- if (__classPrivateFieldGet(this, _model).length) {
511
- return typeof (__classPrivateFieldGet(this, _model)[0]) === 'number';
513
+ if (__classPrivateFieldGet(this, _model).length && typeof (__classPrivateFieldGet(this, _model)[0]) === 'number') {
514
+ return 'number';
512
515
  }
516
+ if (__classPrivateFieldGet(this, _model).length && typeof (__classPrivateFieldGet(this, _model)[0]) === 'boolean') {
517
+ return 'boolean';
518
+ }
519
+ return 'string';
513
520
  }
514
521
  else {
515
- if (__classPrivateFieldGet(this, _model) || __classPrivateFieldGet(this, _model) === 0) {
516
- return typeof (__classPrivateFieldGet(this, _model)) === 'number';
522
+ if ((__classPrivateFieldGet(this, _model) && typeof (__classPrivateFieldGet(this, _model)) === 'number') || __classPrivateFieldGet(this, _model) === 0) {
523
+ return 'number';
524
+ }
525
+ if ((__classPrivateFieldGet(this, _model) && typeof (__classPrivateFieldGet(this, _model)) === 'boolean') || __classPrivateFieldGet(this, _model) === false) {
526
+ return 'boolean';
517
527
  }
518
528
  }
519
529
  if ((_a = __classPrivateFieldGet(this, _currentItems)) === null || _a === void 0 ? void 0 : _a.length) {
520
- if (this.valueField) {
521
- return typeof (__classPrivateFieldGet(this, _currentItems)[0][this.valueField]) === 'number';
530
+ if (this.valueField && typeof (__classPrivateFieldGet(this, _currentItems)[0][this.valueField]) === 'number') {
531
+ return 'number';
522
532
  }
523
- else {
524
- return typeof (__classPrivateFieldGet(this, _currentItems)[0]) === 'number';
533
+ else if (this.valueField && typeof (__classPrivateFieldGet(this, _currentItems)[0][this.valueField]) === 'boolean') {
534
+ return 'boolean';
535
+ }
536
+ else if (typeof (__classPrivateFieldGet(this, _currentItems)[0]) === 'number') {
537
+ return 'number';
538
+ }
539
+ else if (typeof (__classPrivateFieldGet(this, _currentItems)[0]) === 'boolean') {
540
+ return 'boolean';
525
541
  }
526
542
  }
527
- return false;
543
+ return 'string';
528
544
  },
529
545
  enumerable: false,
530
546
  configurable: true
@@ -692,7 +708,7 @@
692
708
  var _c;
693
709
  var _a;
694
710
  if (_this.valueField && _this.displayField) {
695
- return Object.assign(Object.assign({}, e), (_c = {}, _c["" + _this.valueField] = (_a = e[_this.valueField]) === null || _a === void 0 ? void 0 : _a.toString(), _c));
711
+ return Object.assign(Object.assign({}, e), (_c = {}, _c["" + _this.valueField] = _this.dataType === 'boolean' ? e[_this.valueField] : (_a = e[_this.valueField]) === null || _a === void 0 ? void 0 : _a.toString(), _c));
696
712
  }
697
713
  return e === null || e === void 0 ? void 0 : e.toString();
698
714
  })];