mis-crystal-design-system 2.3.10 → 2.3.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.js +17 -14
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js +1 -1
- package/bundles/mis-crystal-design-system-datepicker_v2.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-input.umd.js +1 -1
- package/bundles/mis-crystal-design-system-input.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-input.umd.min.js +1 -1
- package/bundles/mis-crystal-design-system-input.umd.min.js.map +1 -1
- package/bundles/mis-crystal-design-system-tooltip.umd.js +2 -2
- package/bundles/mis-crystal-design-system-tooltip.umd.js.map +1 -1
- package/bundles/mis-crystal-design-system-tooltip.umd.min.js +1 -1
- package/bundles/mis-crystal-design-system-tooltip.umd.min.js.map +1 -1
- package/datepicker_v2/tz-dp-container/tz-dp-container.component.d.ts +1 -1
- package/esm2015/datepicker_v2/tz-dp-container/tz-dp-container.component.js +20 -17
- package/esm2015/input/directives/input/input.directive.js +2 -2
- package/esm2015/tooltip/tooltip.directive.js +3 -3
- package/fesm2015/mis-crystal-design-system-datepicker_v2.js +17 -14
- package/fesm2015/mis-crystal-design-system-datepicker_v2.js.map +1 -1
- package/fesm2015/mis-crystal-design-system-input.js +1 -1
- package/fesm2015/mis-crystal-design-system-input.js.map +1 -1
- package/fesm2015/mis-crystal-design-system-tooltip.js +2 -2
- package/fesm2015/mis-crystal-design-system-tooltip.js.map +1 -1
- package/input/mis-input.component.scss +147 -0
- package/package.json +1 -1
- package/tooltip/mis-crystal-design-system-tooltip.metadata.json +1 -1
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
var _a, _b;
|
|
20
20
|
(_b = (_a = this.control) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.statusChanges.pipe(operators.takeUntil(this.endObs)).subscribe(function () {
|
|
21
21
|
var _a;
|
|
22
|
-
_this.validityChange.next((_a = _this.control.control) === null || _a === void 0 ? void 0 : _a.
|
|
22
|
+
_this.validityChange.next(!((_a = _this.control.control) === null || _a === void 0 ? void 0 : _a.invalid));
|
|
23
23
|
});
|
|
24
24
|
this.el.nativeElement.placeholder += ' ';
|
|
25
25
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-input.umd.js","sources":["../../../projects/mis-components/input/directives/input/input.directive.ts","../../../projects/mis-components/input/mis-input.component.ts","../../../projects/mis-components/input/mis-input.module.ts","../../../projects/mis-components/input/mis-crystal-design-system-input.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n OnDestroy,\n OnInit,\n Optional,\n Self,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ReplaySubject, Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n // tslint:disable-next-line\n selector: 'input[misInput]',\n})\nexport class MisInputDirective implements OnInit, OnDestroy {\n constructor(\n public el: ElementRef,\n @Self() @Optional() private control: NgControl\n ) {}\n private validityChange: ReplaySubject<boolean> = new ReplaySubject(1);\n validity = this.validityChange.asObservable();\n endObs: Subject<void> = new Subject();\n focus = false;\n hasValue = false;\n\n ngOnInit(): void {\n this.control?.control?.statusChanges\n .pipe(takeUntil(this.endObs))\n .subscribe(() => {\n this.validityChange.next(this.control.control?.
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-input.umd.js","sources":["../../../projects/mis-components/input/directives/input/input.directive.ts","../../../projects/mis-components/input/mis-input.component.ts","../../../projects/mis-components/input/mis-input.module.ts","../../../projects/mis-components/input/mis-crystal-design-system-input.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n OnDestroy,\n OnInit,\n Optional,\n Self,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ReplaySubject, Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n // tslint:disable-next-line\n selector: 'input[misInput]',\n})\nexport class MisInputDirective implements OnInit, OnDestroy {\n constructor(\n public el: ElementRef,\n @Self() @Optional() private control: NgControl\n ) {}\n private validityChange: ReplaySubject<boolean> = new ReplaySubject(1);\n validity = this.validityChange.asObservable();\n endObs: Subject<void> = new Subject();\n focus = false;\n hasValue = false;\n\n ngOnInit(): void {\n this.control?.control?.statusChanges\n .pipe(takeUntil(this.endObs))\n .subscribe(() => {\n this.validityChange.next(!this.control.control?.invalid);\n });\n this.el.nativeElement.placeholder += ' ';\n }\n ngOnDestroy(): void {\n this.endObs.next();\n this.endObs.complete();\n }\n}\n","import {\n Component,\n ContentChild,\n Input,\n OnDestroy,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { MisInputDirective } from './directives/input/input.directive';\n\n@Component({\n selector: 'mis-input',\n templateUrl: './mis-input.component.html',\n styleUrls: ['./mis-input.component.scss'],\n})\nexport class MisInputComponent implements OnInit, OnDestroy {\n @Input() type: 'rounded' | 'floating' = 'floating';\n @Input() placeholder: string; // floating placeholder text\n @Input() noHints = false;\n @Input() hasError = false; // show input in error state\n @ContentChild(MisInputDirective) set formInput(input: MisInputDirective) {\n if (!this.placeholder) {\n this.placeholder = input.el.nativeElement.placeholder;\n }\n this.inputSubscription?.unsubscribe();\n this.inputSubscription = input?.validity.subscribe(\n (res) => (this.inputValidity = res)\n );\n this.placeholder += ' ';\n }\n inputSubscription: Subscription | undefined;\n inputValidity: boolean = true;\n constructor() {}\n\n ngOnInit(): void {}\n ngOnDestroy(): void {\n this.inputSubscription?.unsubscribe();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MisInputDirective } from './directives/input/input.directive';\nimport { MisInputComponent } from './mis-input.component';\n\n@NgModule({\n declarations: [MisInputComponent, MisInputDirective],\n imports: [CommonModule, FormsModule],\n exports: [MisInputComponent, MisInputDirective],\n})\nexport class MisInputModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["ReplaySubject","Subject","takeUntil","Directive","ElementRef","NgControl","Self","Optional","Component","Input","ContentChild","NgModule","CommonModule","FormsModule"],"mappings":";;;;;;;QAiBE,2BACS,EAAc,EACO,OAAkB;YADvC,OAAE,GAAF,EAAE,CAAY;YACO,YAAO,GAAP,OAAO,CAAW;YAExC,mBAAc,GAA2B,IAAIA,kBAAa,CAAC,CAAC,CAAC,CAAC;YACtE,aAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CAAC;YAC9C,WAAM,GAAkB,IAAIC,YAAO,EAAE,CAAC;YACtC,UAAK,GAAG,KAAK,CAAC;YACd,aAAQ,GAAG,KAAK,CAAC;SALb;QAOJ,oCAAQ,GAAR;YAAA,iBAOC;;YANC,YAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,0CAAE,aAAa,CACjC,IAAI,CAACC,mBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAC3B,SAAS,CAAC;;gBACT,KAAI,CAAC,cAAc,CAAC,IAAI,CAAC,QAAC,KAAI,CAAC,OAAO,CAAC,OAAO,0CAAE,OAAO,CAAA,CAAC,CAAC;aAC1D,EAAE;YACL,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,IAAI,GAAG,CAAC;SAC1C;QACD,uCAAW,GAAX;YACE,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;SACxB;;;;gBA1BFC,cAAS,SAAC;;oBAET,QAAQ,EAAE,iBAAiB;iBAC5B;;;gBAbCC,eAAU;gBAMHC,eAAS,uBAWbC,SAAI,YAAIC,aAAQ;;;;QCcnB;YAhBS,SAAI,GAA2B,UAAU,CAAC;YAE1C,YAAO,GAAG,KAAK,CAAC;YAChB,aAAQ,GAAG,KAAK,CAAC;YAY1B,kBAAa,GAAY,IAAI,CAAC;SACd;QAZhB,sBAAqC,wCAAS;iBAA9C,UAA+C,KAAwB;gBAAvE,iBASC;;gBARC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;oBACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC,aAAa,CAAC,WAAW,CAAC;iBACvD;gBACD,MAAA,IAAI,CAAC,iBAAiB,0CAAE,WAAW,GAAG;gBACtC,IAAI,CAAC,iBAAiB,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAC,SAAS,CAChD,UAAC,GAAG,IAAK,QAAC,KAAI,CAAC,aAAa,GAAG,GAAG,IAAC,CACpC,CAAC;gBACF,IAAI,CAAC,WAAW,IAAI,GAAG,CAAC;aACzB;;;WAAA;QAKD,oCAAQ,GAAR,eAAmB;QACnB,uCAAW,GAAX;;YACE,MAAA,IAAI,CAAC,iBAAiB,0CAAE,WAAW,GAAG;SACvC;;;;gBA3BFC,cAAS,SAAC;oBACT,QAAQ,EAAE,WAAW;oBACrB,6mBAAyC;;iBAE1C;;;;uBAEEC,UAAK;8BACLA,UAAK;0BACLA,UAAK;2BACLA,UAAK;4BACLC,iBAAY,SAAC,iBAAiB;;;;QCVjC;;;;;gBALCC,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;oBACpD,OAAO,EAAE,CAACC,mBAAY,EAAEC,iBAAW,CAAC;oBACpC,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;iBAChD;;;ICVD;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("mis-crystal-design-system/input",["exports","@angular/core","@angular/forms","rxjs","rxjs/operators","@angular/common"],t):t(((n="undefined"!=typeof globalThis?globalThis:n||self)["mis-crystal-design-system"]=n["mis-crystal-design-system"]||{},n["mis-crystal-design-system"].input={}),n.ng.core,n.ng.forms,n.rxjs,n.rxjs.operators,n.ng.common)}(this,(function(n,t,i,e,o,r){"use strict";var p=function(){function n(n,t){this.el=n,this.control=t,this.validityChange=new e.ReplaySubject(1),this.validity=this.validityChange.asObservable(),this.endObs=new e.Subject,this.focus=!1,this.hasValue=!1}return n.prototype.ngOnInit=function(){var n,t,i=this;null===(t=null===(n=this.control)||void 0===n?void 0:n.control)||void 0===t||t.statusChanges.pipe(o.takeUntil(this.endObs)).subscribe((function(){var n;i.validityChange.next(null===(n=i.control.control)||void 0===n?void 0:n.
|
|
1
|
+
!function(n,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/core"),require("@angular/forms"),require("rxjs"),require("rxjs/operators"),require("@angular/common")):"function"==typeof define&&define.amd?define("mis-crystal-design-system/input",["exports","@angular/core","@angular/forms","rxjs","rxjs/operators","@angular/common"],t):t(((n="undefined"!=typeof globalThis?globalThis:n||self)["mis-crystal-design-system"]=n["mis-crystal-design-system"]||{},n["mis-crystal-design-system"].input={}),n.ng.core,n.ng.forms,n.rxjs,n.rxjs.operators,n.ng.common)}(this,(function(n,t,i,e,o,r){"use strict";var p=function(){function n(n,t){this.el=n,this.control=t,this.validityChange=new e.ReplaySubject(1),this.validity=this.validityChange.asObservable(),this.endObs=new e.Subject,this.focus=!1,this.hasValue=!1}return n.prototype.ngOnInit=function(){var n,t,i=this;null===(t=null===(n=this.control)||void 0===n?void 0:n.control)||void 0===t||t.statusChanges.pipe(o.takeUntil(this.endObs)).subscribe((function(){var n;i.validityChange.next(!(null===(n=i.control.control)||void 0===n?void 0:n.invalid))})),this.el.nativeElement.placeholder+=" "},n.prototype.ngOnDestroy=function(){this.endObs.next(),this.endObs.complete()},n}();p.decorators=[{type:t.Directive,args:[{selector:"input[misInput]"}]}],p.ctorParameters=function(){return[{type:t.ElementRef},{type:i.NgControl,decorators:[{type:t.Self},{type:t.Optional}]}]};var a=function(){function n(){this.type="floating",this.noHints=!1,this.hasError=!1,this.inputValidity=!0}return Object.defineProperty(n.prototype,"formInput",{set:function(n){var t,i=this;this.placeholder||(this.placeholder=n.el.nativeElement.placeholder),null===(t=this.inputSubscription)||void 0===t||t.unsubscribe(),this.inputSubscription=null==n?void 0:n.validity.subscribe((function(n){return i.inputValidity=n})),this.placeholder+=" "},enumerable:!1,configurable:!0}),n.prototype.ngOnInit=function(){},n.prototype.ngOnDestroy=function(){var n;null===(n=this.inputSubscription)||void 0===n||n.unsubscribe()},n}();a.decorators=[{type:t.Component,args:[{selector:"mis-input",template:'<div class="input-container" [ngClass]="{\'rounded\': type === \'rounded\', \'floating\': type === \'floating\', \'has-error\': !inputValidity || hasError, \'no-hint\': noHints}">\n <div class="input-wrapper">\n <ng-content select="[mis-input-icon]"></ng-content>\n <div class="mis-input">\n <ng-content select="input"></ng-content>\n <span class="mis-placeholder">{{placeholder}}</span>\n </div>\n <ng-content select="[mis-input-act]"></ng-content>\n </div>\n <ng-content select="[mis-input-hint]"></ng-content>\n <ng-content select="[mis-input-error]"></ng-content>\n</div>',styles:[".input-container{position:relative;padding-bottom:24px}.input-container .input-wrapper{box-sizing:border-box;display:flex;align-items:center;flex-direction:row;flex-wrap:nowrap;transition:all 60ms ease-in;background-color:#fff;padding:3px 16px}.input-container .input-wrapper>:not(:last-child){margin-right:16px}.input-container .input-wrapper .mis-input{flex:1 1 auto;z-index:0;position:relative;display:flex;align-items:center}.input-container .input-wrapper input{flex:1 1 auto;border:none;outline:none;height:100%;padding:0;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;height:24px;color:#181f33;background-color:transparent;width:100%;vertical-align:middle}.input-container .input-wrapper input::-moz-placeholder{-moz-transition:all .1s ease-in;transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper input:-ms-input-placeholder{-ms-transition:all .1s ease-in;transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper input::placeholder{transition:all .1s ease-in;opacity:0;transform-origin:left center;color:transparent}.input-container .input-wrapper .mis-placeholder{position:absolute;font-family:Lato;font-style:normal;font-weight:400;font-size:16px;line-height:24px;color:#6a737d;z-index:-1;transition:all .15s ease-in}.input-container .input-wrapper:focus-within{background-color:#f5f5f5}.input-container .input-wrapper:focus-within{border:1px solid #0937b2}.input-container .input-wrapper [mis-input-act],.input-container .input-wrapper [mis-input-icon]{width:18px;height:18px;color:#6a737d;font-size:24px;line-height:18px}.input-container .input-wrapper [mis-input-act]{cursor:pointer}.input-container.no-hint{padding-bottom:0}.input-container.rounded .input-wrapper{border-radius:4px;border:1px solid #e0e0e0}.input-container.rounded .input-wrapper:focus-within,.input-container.rounded .input-wrapper:hover{background-color:#f5f5f5}.input-container.rounded .input-wrapper input:not(:-moz-placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper input:not(:-ms-input-placeholder)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{color:transparent!important}.input-container.rounded .input-wrapper .mis-placeholder{transition-duration:50ms}.input-container.rounded.has-error .input-wrapper{border:1px solid #b00020!important}.input-container.floating .input-wrapper{padding-top:24px;padding-bottom:7px;border-bottom:1px solid #e0e0e0}.input-container.floating .input-wrapper input:focus+.mis-placeholder{color:#0937b2!important}.input-container.floating .input-wrapper input:not(:-moz-placeholder-shown)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper input:not(:-ms-input-placeholder)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper input:focus+.mis-placeholder,.input-container.floating .input-wrapper input:not(:placeholder-shown)+.mis-placeholder{transform:translateY(calc(-100% + 6px))!important;font-size:12px!important;letter-spacing:.2px!important}.input-container.floating .input-wrapper:focus-within{border:none;border-bottom:1px solid #0937b2}.input-container.floating .input-wrapper:focus-within input::-moz-placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating .input-wrapper:focus-within input:-ms-input-placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating .input-wrapper:focus-within input::placeholder{color:#6a737d;opacity:1;font-size:16px}.input-container.floating.has-error .input-wrapper{border-bottom:1px solid #b00020!important}.input-container.floating.has-error .input-wrapper .mis-placeholder{color:#b00020!important}.input-container [mis-input-error],.input-container [mis-input-hint]{position:absolute;left:0;right:0;bottom:0;line-height:24px;height:24px;font-size:12px;color:#6a737d;letter-spacing:.2px}.input-container [mis-input-error]{color:#b00020}"]}]}],a.ctorParameters=function(){return[]},a.propDecorators={type:[{type:t.Input}],placeholder:[{type:t.Input}],noHints:[{type:t.Input}],hasError:[{type:t.Input}],formInput:[{type:t.ContentChild,args:[p]}]};var s=function(){};s.decorators=[{type:t.NgModule,args:[{declarations:[a,p],imports:[r.CommonModule,i.FormsModule],exports:[a,p]}]}],n.MisInputComponent=a,n.MisInputDirective=p,n.MisInputModule=s,Object.defineProperty(n,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=mis-crystal-design-system-input.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../projects/mis-components/input/directives/input/input.directive.ts","../../../projects/mis-components/input/mis-input.component.ts","../../../projects/mis-components/input/mis-input.module.ts"],"names":["MisInputDirective","el","control","this","validityChange","ReplaySubject","validity","asObservable","endObs","Subject","focus","hasValue","prototype","ngOnInit","_this","_b","_a","statusChanges","pipe","takeUntil","subscribe","next","
|
|
1
|
+
{"version":3,"sources":["../../../projects/mis-components/input/directives/input/input.directive.ts","../../../projects/mis-components/input/mis-input.component.ts","../../../projects/mis-components/input/mis-input.module.ts"],"names":["MisInputDirective","el","control","this","validityChange","ReplaySubject","validity","asObservable","endObs","Subject","focus","hasValue","prototype","ngOnInit","_this","_b","_a","statusChanges","pipe","takeUntil","subscribe","next","invalid","nativeElement","placeholder","ngOnDestroy","complete","Directive","args","selector","ElementRef","NgControl","decorators","type","Self","Optional","MisInputComponent","noHints","hasError","inputValidity","Object","defineProperty","input","inputSubscription","unsubscribe","res","Component","template","Input","ContentChild","NgModule","declarations","imports","CommonModule","FormsModule","exports"],"mappings":"uoBAiBE,SAAAA,EACSC,EACqBC,GADrBC,KAAAF,GAAAA,EACqBE,KAAAD,QAAAA,EAEtBC,KAAAC,eAAyC,IAAIC,EAAAA,cAAc,GACnEF,KAAAG,SAAWH,KAAKC,eAAeG,eAC/BJ,KAAAK,OAAwB,IAAIC,EAAAA,QAC5BN,KAAAO,OAAQ,EACRP,KAAAQ,UAAW,SAEXX,EAAAY,UAAAC,SAAA,WAAA,QAAAC,EAAAX,KACuB,QAArBY,EAAY,QAAZC,EAAAb,KAAKD,eAAO,IAAAc,OAAA,EAAAA,EAAEd,eAAO,IAAAa,GAAAA,EAAEE,cACpBC,KAAKC,EAAAA,UAAUhB,KAAKK,SACpBY,WAAU,iBACTN,EAAKV,eAAeiB,OAA0B,QAArBL,EAACF,EAAKZ,QAAQA,eAAO,IAAAc,OAAA,EAAAA,EAAEM,aAEpDnB,KAAKF,GAAGsB,cAAcC,aAAe,KAEvCxB,EAAAY,UAAAa,YAAA,WACEtB,KAAKK,OAAOa,OACZlB,KAAKK,OAAOkB,qCAzBfC,EAAAA,UAASC,KAAA,CAAC,CAETC,SAAU,+DAZVC,EAAAA,kBAMOC,EAAAA,UAASC,WAAA,CAAA,CAAAC,KAWbC,EAAAA,MAAI,CAAAD,KAAIE,EAAAA,+BCcX,SAAAC,IAhBSjC,KAAA8B,KAA+B,WAE/B9B,KAAAkC,SAAU,EACVlC,KAAAmC,UAAW,EAYpBnC,KAAAoC,eAAyB,SAXzBC,OAAAC,eAAqCL,EAAAxB,UAAA,YAAS,KAA9C,SAA+C8B,GAA/C,MAAA5B,EAAAX,KACOA,KAAKqB,cACRrB,KAAKqB,YAAckB,EAAMzC,GAAGsB,cAAcC,aAEtB,QAAtBR,EAAAb,KAAKwC,yBAAiB,IAAA3B,GAAAA,EAAE4B,cACxBzC,KAAKwC,kBAAoBD,MAAAA,OAAK,EAALA,EAAOpC,SAASc,WACvC,SAACyB,GAAQ,OAAC/B,EAAKyB,cAAgBM,KAEjC1C,KAAKqB,aAAe,qCAMtBY,EAAAxB,UAAAC,SAAA,aACAuB,EAAAxB,UAAAa,YAAA,iBACwB,QAAtBT,EAAAb,KAAKwC,yBAAiB,IAAA3B,GAAAA,EAAE4B,wCA1B3BE,EAAAA,UAASlB,KAAA,CAAC,CACTC,SAAU,YACVkB,SAAA,8zJAICC,EAAAA,2BACAA,EAAAA,uBACAA,EAAAA,wBACAA,EAAAA,yBACAC,EAAAA,aAAYrB,KAAA,CAAC5B,YCVhB,iCALCkD,EAAAA,SAAQtB,KAAA,CAAC,CACRuB,aAAc,CAACf,EAAmBpC,GAClCoD,QAAS,CAACC,EAAAA,aAAcC,EAAAA,aACxBC,QAAS,CAACnB,EAAmBpC","sourcesContent":["import {\n Directive,\n ElementRef,\n OnDestroy,\n OnInit,\n Optional,\n Self,\n} from '@angular/core';\nimport { NgControl } from '@angular/forms';\nimport { ReplaySubject, Subject, Subscription } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\n@Directive({\n // tslint:disable-next-line\n selector: 'input[misInput]',\n})\nexport class MisInputDirective implements OnInit, OnDestroy {\n constructor(\n public el: ElementRef,\n @Self() @Optional() private control: NgControl\n ) {}\n private validityChange: ReplaySubject<boolean> = new ReplaySubject(1);\n validity = this.validityChange.asObservable();\n endObs: Subject<void> = new Subject();\n focus = false;\n hasValue = false;\n\n ngOnInit(): void {\n this.control?.control?.statusChanges\n .pipe(takeUntil(this.endObs))\n .subscribe(() => {\n this.validityChange.next(!this.control.control?.invalid);\n });\n this.el.nativeElement.placeholder += ' ';\n }\n ngOnDestroy(): void {\n this.endObs.next();\n this.endObs.complete();\n }\n}\n","import {\n Component,\n ContentChild,\n Input,\n OnDestroy,\n OnInit,\n ViewEncapsulation,\n} from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { MisInputDirective } from './directives/input/input.directive';\n\n@Component({\n selector: 'mis-input',\n templateUrl: './mis-input.component.html',\n styleUrls: ['./mis-input.component.scss'],\n})\nexport class MisInputComponent implements OnInit, OnDestroy {\n @Input() type: 'rounded' | 'floating' = 'floating';\n @Input() placeholder: string; // floating placeholder text\n @Input() noHints = false;\n @Input() hasError = false; // show input in error state\n @ContentChild(MisInputDirective) set formInput(input: MisInputDirective) {\n if (!this.placeholder) {\n this.placeholder = input.el.nativeElement.placeholder;\n }\n this.inputSubscription?.unsubscribe();\n this.inputSubscription = input?.validity.subscribe(\n (res) => (this.inputValidity = res)\n );\n this.placeholder += ' ';\n }\n inputSubscription: Subscription | undefined;\n inputValidity: boolean = true;\n constructor() {}\n\n ngOnInit(): void {}\n ngOnDestroy(): void {\n this.inputSubscription?.unsubscribe();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { MisInputDirective } from './directives/input/input.directive';\nimport { MisInputComponent } from './mis-input.component';\n\n@NgModule({\n declarations: [MisInputComponent, MisInputDirective],\n imports: [CommonModule, FormsModule],\n exports: [MisInputComponent, MisInputDirective],\n})\nexport class MisInputModule {}\n"]}
|
|
@@ -193,8 +193,8 @@
|
|
|
193
193
|
width: [{ type: core.Input }],
|
|
194
194
|
text: [{ type: core.Input }],
|
|
195
195
|
position: [{ type: core.Input }],
|
|
196
|
-
onMouseEnter: [{ type: core.HostListener, args: ['mouseenter',
|
|
197
|
-
onMouseLeave: [{ type: core.HostListener, args: ['mouseleave',
|
|
196
|
+
onMouseEnter: [{ type: core.HostListener, args: ['mouseenter',] }],
|
|
197
|
+
onMouseLeave: [{ type: core.HostListener, args: ['mouseleave',] }]
|
|
198
198
|
};
|
|
199
199
|
|
|
200
200
|
var ToolTipModule = /** @class */ (function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mis-crystal-design-system-tooltip.umd.js","sources":["../../../projects/mis-components/tooltip/tooltip.component.ts","../../../projects/mis-components/tooltip/tooltip.directive.ts","../../../projects/mis-components/tooltip/tooltip.module.ts","../../../projects/mis-components/tooltip/mis-crystal-design-system-tooltip.ts"],"sourcesContent":["import {AfterViewInit, Component, ElementRef, Input, OnInit, Renderer2, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'mis-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss']\n})\nexport class ToolTipComponent implements OnInit, AfterViewInit{\n\n public toolTipText: string = ''\n public toolTipWidth: string = ''\n public toolTipPosition: 'Left' | 'Right' | 'Top' | 'Bottom' = 'Bottom'\n\n @Input() set text(value: string){\n this.toolTipText = value\n this.updateToolTipPosition()\n }\n @Input() set width(value: string){\n this.toolTipWidth = value;\n this.updateToolTipPosition()\n }\n @Input() set position(value: 'Left' | 'Right' | 'Top' | 'Bottom'){\n this.toolTipPosition = value\n this.updateToolTipPosition()\n }\n\n @ViewChild('container') container: ElementRef\n\n constructor(private renderer: Renderer2) {\n }\n ngOnInit() {\n }\n ngAfterViewInit(){\n this.updateToolTipPosition()\n }\n updateToolTipPosition(){\n if(this.container){\n let width = this.container.nativeElement.offsetWidth\n if(this.toolTipPosition === 'Left'){\n this.renderer.setStyle(this.container.nativeElement, 'left', `-${width + 12}px`)\n this.renderer.setStyle(this.container.nativeElement, 'right', '')\n }\n else if(this.toolTipPosition === 'Right'){\n this.renderer.setStyle(this.container.nativeElement, 'left', '')\n this.renderer.setStyle(this.container.nativeElement, 'right', `-${width + 12}px`)\n }\n else{\n this.renderer.setStyle(this.container.nativeElement, 'left', '50%')\n this.renderer.setStyle(this.container.nativeElement, 'right', '')\n }\n }\n }\n}\n","import {\n AfterViewInit,\n ComponentFactoryResolver, ComponentRef,\n Directive,\n ElementRef, HostListener, Input,\n OnInit,\n Renderer2,\n ViewContainerRef\n} from '@angular/core';\nimport {ToolTipComponent} from './tooltip.component';\nimport {isChildNodeOf} from 'codelyzer/util/isChildNodeOf';\n\n@Directive({\n selector: '[misToolTip]'\n})\nexport class ToolTipDirective implements OnInit, AfterViewInit {\n public isToolTipDisplayed: boolean = false\n public toolTipWidth: string = ''\n public toolTipText: string = ''\n public toolTipPosition: 'Left' | 'Right' | 'Top' | 'Bottom' = 'Bottom'\n\n @Input() responsivePosition: boolean = false\n @Input() showOnHover: boolean = false\n @Input() set showToolTip(value: boolean){\n this.isToolTipDisplayed = value\n if(value) this.displayToolTip()\n else this.hideToolTip()\n }\n @Input() set width(value: string){\n this.toolTipWidth = value\n this.createToolTip()\n }\n @Input() set text(value: string){\n this.toolTipText = value\n this.createToolTip()\n }\n @Input() set position(value: 'Left' | 'Right' | 'Top' | 'Bottom'){\n this.toolTipPosition = value\n this.createToolTip()\n }\n\n @HostListener('mouseenter', ['$event']) onMouseEnter() {\n if (this.showOnHover) this.displayToolTip()\n }\n @HostListener('mouseleave', ['$event']) onMouseLeave(){\n if(this.showOnHover) this.hideToolTip()\n }\n\n private componentRef: ComponentRef<ToolTipComponent>\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n }\n\n ngOnInit() {\n this.createToolTip()\n }\n ngAfterViewInit(){\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'relative')\n if(this.isToolTipDisplayed) this.displayToolTip()\n else this.hideToolTip()\n if(this.isToolTipDisplayed && this.responsivePosition) this.updatePosition()\n }\n createToolTip(){\n const cmpFactoryResolver = this.componentFactoryResolver.resolveComponentFactory(ToolTipComponent);\n this.viewContainerRef.clear();\n this.componentRef = this.viewContainerRef.createComponent(cmpFactoryResolver);\n this.componentRef.instance.width = this.toolTipWidth\n this.componentRef.instance.text = this.toolTipText\n this.componentRef.instance.position = this.toolTipPosition\n }\n displayToolTip(){\n let isChild = this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)\n if(!isChild) this.renderer.appendChild(this.elementRef.nativeElement, this.componentRef.location.nativeElement)\n if(this.responsivePosition) this.updatePosition()\n }\n hideToolTip(){\n let isChild = this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)\n if(isChild) this.renderer.removeChild(this.elementRef.nativeElement, this.componentRef.location.nativeElement)\n }\n updatePosition(){\n // let rect: any = this.componentRef.location.nativeElement.children[0].getBoundingClientRect()\n // let {x, y, height, width} = rect\n //TODO: Add logic for responsive positioning\n // Use default value as priority and dont change it here 'toolTipPosition'\n // Update the position using below line\n // this.componentRef.instance.position = 'Right'\n // console.log(x, y, height, width)\n }\n}\n\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ToolTipDirective } from './tooltip.directive';\nimport {ToolTipComponent} from './tooltip.component';\n\n@NgModule({\n declarations: [ToolTipDirective, ToolTipComponent],\n imports: [CommonModule],\n exports: [ToolTipDirective, ToolTipComponent],\n entryComponents:[ToolTipComponent]\n})\nexport class ToolTipModule {\n static forRoot(): ModuleWithProviders<ToolTipModule> {\n return { ngModule: ToolTipModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Component","Renderer2","Input","ViewChild","Directive","ElementRef","ViewContainerRef","ComponentFactoryResolver","HostListener","NgModule","CommonModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mis-crystal-design-system-tooltip.umd.js","sources":["../../../projects/mis-components/tooltip/tooltip.component.ts","../../../projects/mis-components/tooltip/tooltip.directive.ts","../../../projects/mis-components/tooltip/tooltip.module.ts","../../../projects/mis-components/tooltip/mis-crystal-design-system-tooltip.ts"],"sourcesContent":["import {AfterViewInit, Component, ElementRef, Input, OnInit, Renderer2, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'mis-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss']\n})\nexport class ToolTipComponent implements OnInit, AfterViewInit{\n\n public toolTipText: string = ''\n public toolTipWidth: string = ''\n public toolTipPosition: 'Left' | 'Right' | 'Top' | 'Bottom' = 'Bottom'\n\n @Input() set text(value: string){\n this.toolTipText = value\n this.updateToolTipPosition()\n }\n @Input() set width(value: string){\n this.toolTipWidth = value;\n this.updateToolTipPosition()\n }\n @Input() set position(value: 'Left' | 'Right' | 'Top' | 'Bottom'){\n this.toolTipPosition = value\n this.updateToolTipPosition()\n }\n\n @ViewChild('container') container: ElementRef\n\n constructor(private renderer: Renderer2) {\n }\n ngOnInit() {\n }\n ngAfterViewInit(){\n this.updateToolTipPosition()\n }\n updateToolTipPosition(){\n if(this.container){\n let width = this.container.nativeElement.offsetWidth\n if(this.toolTipPosition === 'Left'){\n this.renderer.setStyle(this.container.nativeElement, 'left', `-${width + 12}px`)\n this.renderer.setStyle(this.container.nativeElement, 'right', '')\n }\n else if(this.toolTipPosition === 'Right'){\n this.renderer.setStyle(this.container.nativeElement, 'left', '')\n this.renderer.setStyle(this.container.nativeElement, 'right', `-${width + 12}px`)\n }\n else{\n this.renderer.setStyle(this.container.nativeElement, 'left', '50%')\n this.renderer.setStyle(this.container.nativeElement, 'right', '')\n }\n }\n }\n}\n","import {\n AfterViewInit,\n ComponentFactoryResolver, ComponentRef,\n Directive,\n ElementRef, HostListener, Input,\n OnInit,\n Renderer2,\n ViewContainerRef\n} from '@angular/core';\nimport {ToolTipComponent} from './tooltip.component';\nimport {isChildNodeOf} from 'codelyzer/util/isChildNodeOf';\n\n@Directive({\n selector: '[misToolTip]'\n})\nexport class ToolTipDirective implements OnInit, AfterViewInit {\n public isToolTipDisplayed: boolean = false\n public toolTipWidth: string = ''\n public toolTipText: string = ''\n public toolTipPosition: 'Left' | 'Right' | 'Top' | 'Bottom' = 'Bottom'\n\n @Input() responsivePosition: boolean = false\n @Input() showOnHover: boolean = false\n @Input() set showToolTip(value: boolean){\n this.isToolTipDisplayed = value\n if(value) this.displayToolTip()\n else this.hideToolTip()\n }\n @Input() set width(value: string){\n this.toolTipWidth = value\n this.createToolTip()\n }\n @Input() set text(value: string){\n this.toolTipText = value\n this.createToolTip()\n }\n @Input() set position(value: 'Left' | 'Right' | 'Top' | 'Bottom'){\n this.toolTipPosition = value\n this.createToolTip()\n }\n\n @HostListener('mouseenter',) onMouseEnter() {\n if (this.showOnHover) this.displayToolTip()\n }\n @HostListener('mouseleave',) onMouseLeave(){\n if(this.showOnHover) this.hideToolTip()\n }\n\n private componentRef: ComponentRef<ToolTipComponent>\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n }\n\n ngOnInit() {\n this.createToolTip()\n }\n ngAfterViewInit(){\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'relative')\n if(this.isToolTipDisplayed) this.displayToolTip()\n else this.hideToolTip()\n if(this.isToolTipDisplayed && this.responsivePosition) this.updatePosition()\n }\n createToolTip(){\n const cmpFactoryResolver = this.componentFactoryResolver.resolveComponentFactory(ToolTipComponent);\n this.viewContainerRef.clear();\n this.componentRef = this.viewContainerRef.createComponent(cmpFactoryResolver);\n this.componentRef.instance.width = this.toolTipWidth\n this.componentRef.instance.text = this.toolTipText\n this.componentRef.instance.position = this.toolTipPosition\n }\n displayToolTip(){\n let isChild = this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)\n if(!isChild) this.renderer.appendChild(this.elementRef.nativeElement, this.componentRef.location.nativeElement)\n if(this.responsivePosition) this.updatePosition()\n }\n hideToolTip(){\n let isChild = this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)\n if(isChild) this.renderer.removeChild(this.elementRef.nativeElement, this.componentRef.location.nativeElement)\n }\n updatePosition(){\n // let rect: any = this.componentRef.location.nativeElement.children[0].getBoundingClientRect()\n // let {x, y, height, width} = rect\n //TODO: Add logic for responsive positioning\n // Use default value as priority and dont change it here 'toolTipPosition'\n // Update the position using below line\n // this.componentRef.instance.position = 'Right'\n // console.log(x, y, height, width)\n }\n}\n\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ToolTipDirective } from './tooltip.directive';\nimport {ToolTipComponent} from './tooltip.component';\n\n@NgModule({\n declarations: [ToolTipDirective, ToolTipComponent],\n imports: [CommonModule],\n exports: [ToolTipDirective, ToolTipComponent],\n entryComponents:[ToolTipComponent]\n})\nexport class ToolTipModule {\n static forRoot(): ModuleWithProviders<ToolTipModule> {\n return { ngModule: ToolTipModule, providers: [] };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["Component","Renderer2","Input","ViewChild","Directive","ElementRef","ViewContainerRef","ComponentFactoryResolver","HostListener","NgModule","CommonModule"],"mappings":";;;;;;;QA4BE,0BAAoB,QAAmB;YAAnB,aAAQ,GAAR,QAAQ,CAAW;YAnBhC,gBAAW,GAAW,EAAE,CAAA;YACxB,iBAAY,GAAW,EAAE,CAAA;YACzB,oBAAe,GAAwC,QAAQ,CAAA;SAkBrE;QAhBD,sBAAa,kCAAI;iBAAjB,UAAkB,KAAa;gBAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;gBACxB,IAAI,CAAC,qBAAqB,EAAE,CAAA;aAC7B;;;WAAA;QACD,sBAAa,mCAAK;iBAAlB,UAAmB,KAAa;gBAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAA;aAC7B;;;WAAA;QACD,sBAAa,sCAAQ;iBAArB,UAAsB,KAA0C;gBAC9D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;gBAC5B,IAAI,CAAC,qBAAqB,EAAE,CAAA;aAC7B;;;WAAA;QAMD,mCAAQ,GAAR;SACC;QACD,0CAAe,GAAf;YACE,IAAI,CAAC,qBAAqB,EAAE,CAAA;SAC7B;QACD,gDAAqB,GAArB;YACE,IAAG,IAAI,CAAC,SAAS,EAAC;gBAChB,IAAI,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,WAAW,CAAA;gBACpD,IAAG,IAAI,CAAC,eAAe,KAAK,MAAM,EAAC;oBACjC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,OAAI,KAAK,GAAG,EAAE,QAAI,CAAC,CAAA;oBAChF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;iBAClE;qBACI,IAAG,IAAI,CAAC,eAAe,KAAK,OAAO,EAAC;oBACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,EAAE,CAAC,CAAA;oBAChE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,OAAI,KAAK,GAAG,EAAE,QAAI,CAAC,CAAA;iBAClF;qBACG;oBACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;oBACnE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;iBAClE;aACF;SACF;;;;gBAjDFA,cAAS,SAAC;oBACT,QAAQ,EAAE,aAAa;oBACvB,4vBAAuC;;iBAExC;;;gBAN4DC,cAAS;;;uBAanEC,UAAK;wBAILA,UAAK;2BAILA,UAAK;4BAKLC,cAAS,SAAC,WAAW;;;;QCuBtB,0BACU,UAAsB,EACtB,QAAmB,EACnB,gBAAkC,EAClC,wBAAkD;YAHlD,eAAU,GAAV,UAAU,CAAY;YACtB,aAAQ,GAAR,QAAQ,CAAW;YACnB,qBAAgB,GAAhB,gBAAgB,CAAkB;YAClC,6BAAwB,GAAxB,wBAAwB,CAA0B;YArCrD,uBAAkB,GAAY,KAAK,CAAA;YACnC,iBAAY,GAAW,EAAE,CAAA;YACzB,gBAAW,GAAW,EAAE,CAAA;YACxB,oBAAe,GAAwC,QAAQ,CAAA;YAE7D,uBAAkB,GAAY,KAAK,CAAA;YACnC,gBAAW,GAAY,KAAK,CAAA;SAiCpC;QAhCD,sBAAa,yCAAW;iBAAxB,UAAyB,KAAc;gBACrC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAA;gBAC/B,IAAG,KAAK;oBAAE,IAAI,CAAC,cAAc,EAAE,CAAA;;oBAC1B,IAAI,CAAC,WAAW,EAAE,CAAA;aACxB;;;WAAA;QACD,sBAAa,mCAAK;iBAAlB,UAAmB,KAAa;gBAC9B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAA;gBACzB,IAAI,CAAC,aAAa,EAAE,CAAA;aACrB;;;WAAA;QACD,sBAAa,kCAAI;iBAAjB,UAAkB,KAAa;gBAC7B,IAAI,CAAC,WAAW,GAAG,KAAK,CAAA;gBACxB,IAAI,CAAC,aAAa,EAAE,CAAA;aACrB;;;WAAA;QACD,sBAAa,sCAAQ;iBAArB,UAAsB,KAA0C;gBAC9D,IAAI,CAAC,eAAe,GAAG,KAAK,CAAA;gBAC5B,IAAI,CAAC,aAAa,EAAE,CAAA;aACrB;;;WAAA;QAE4B,uCAAY,GAAZ;YAC3B,IAAI,IAAI,CAAC,WAAW;gBAAE,IAAI,CAAC,cAAc,EAAE,CAAA;SAC5C;QAC4B,uCAAY,GAAZ;YAC3B,IAAG,IAAI,CAAC,WAAW;gBAAE,IAAI,CAAC,WAAW,EAAE,CAAA;SACxC;QAWD,mCAAQ,GAAR;YACE,IAAI,CAAC,aAAa,EAAE,CAAA;SACrB;QACD,0CAAe,GAAf;YACE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,CAAC,CAAA;YAC7E,IAAG,IAAI,CAAC,kBAAkB;gBAAE,IAAI,CAAC,cAAc,EAAE,CAAA;;gBAC5C,IAAI,CAAC,WAAW,EAAE,CAAA;YACvB,IAAG,IAAI,CAAC,kBAAkB,IAAI,IAAI,CAAC,kBAAkB;gBAAE,IAAI,CAAC,cAAc,EAAE,CAAA;SAC7E;QACD,wCAAa,GAAb;YACE,IAAM,kBAAkB,GAAG,IAAI,CAAC,wBAAwB,CAAC,uBAAuB,CAAC,gBAAgB,CAAC,CAAC;YACnG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;YAC9E,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,GAAG,IAAI,CAAC,YAAY,CAAA;YACpD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAA;YAClD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAA;SAC3D;QACD,yCAAc,GAAd;YACE,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;YAC9F,IAAG,CAAC,OAAO;gBAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;YAC/G,IAAG,IAAI,CAAC,kBAAkB;gBAAE,IAAI,CAAC,cAAc,EAAE,CAAA;SAClD;QACD,sCAAW,GAAX;YACE,IAAI,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;YAC9F,IAAG,OAAO;gBAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAA;SAC/G;QACD,yCAAc,GAAd;;;;;;;;SAQC;;;;gBA/EFC,cAAS,SAAC;oBACT,QAAQ,EAAE,cAAc;iBACzB;;;gBAVCC,eAAU;gBAEVJ,cAAS;gBACTK,qBAAgB;gBALhBC,6BAAwB;;;qCAmBvBL,UAAK;8BACLA,UAAK;8BACLA,UAAK;wBAKLA,UAAK;uBAILA,UAAK;2BAILA,UAAK;+BAKLM,iBAAY,SAAC,YAAY;+BAGzBA,iBAAY,SAAC,YAAY;;;;QChC5B;;QACS,qBAAO,GAAd;YACE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;SACnD;;;;gBATFC,aAAQ,SAAC;oBACR,YAAY,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;oBAClD,OAAO,EAAE,CAACC,mBAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,gBAAgB,EAAE,gBAAgB,CAAC;oBAC7C,eAAe,EAAC,CAAC,gBAAgB,CAAC;iBACnC;;;ICXD;;;;;;;;;;;;;;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,
|
|
1
|
+
!function(t,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("@angular/core"),require("@angular/common")):"function"==typeof define&&define.amd?define("mis-crystal-design-system/tooltip",["exports","@angular/core","@angular/common"],o):o(((t="undefined"!=typeof globalThis?globalThis:t||self)["mis-crystal-design-system"]=t["mis-crystal-design-system"]||{},t["mis-crystal-design-system"].tooltip={}),t.ng.core,t.ng.common)}(this,(function(t,o,e){"use strict";var i=function(){function t(t){this.renderer=t,this.toolTipText="",this.toolTipWidth="",this.toolTipPosition="Bottom"}return Object.defineProperty(t.prototype,"text",{set:function(t){this.toolTipText=t,this.updateToolTipPosition()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"width",{set:function(t){this.toolTipWidth=t,this.updateToolTipPosition()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"position",{set:function(t){this.toolTipPosition=t,this.updateToolTipPosition()},enumerable:!1,configurable:!0}),t.prototype.ngOnInit=function(){},t.prototype.ngAfterViewInit=function(){this.updateToolTipPosition()},t.prototype.updateToolTipPosition=function(){if(this.container){var t=this.container.nativeElement.offsetWidth;"Left"===this.toolTipPosition?(this.renderer.setStyle(this.container.nativeElement,"left","-"+(t+12)+"px"),this.renderer.setStyle(this.container.nativeElement,"right","")):"Right"===this.toolTipPosition?(this.renderer.setStyle(this.container.nativeElement,"left",""),this.renderer.setStyle(this.container.nativeElement,"right","-"+(t+12)+"px")):(this.renderer.setStyle(this.container.nativeElement,"left","50%"),this.renderer.setStyle(this.container.nativeElement,"right",""))}},t}();i.decorators=[{type:o.Component,args:[{selector:"mis-tooltip",template:"<div id=\"tooltip-container\" [hidden]=\"toolTipText.length < 1\"\n #container\n [ngStyle]=\"{'width': toolTipWidth.length > 0? toolTipWidth : ''}\"\n [ngClass]=\"{\n 'left': toolTipPosition === 'Left',\n 'right': toolTipPosition === 'Right',\n 'top': toolTipPosition === 'Top',\n 'bottom': toolTipPosition === 'Bottom'\n }\"\n>\n <div id=\"tooltip\">\n <div id=\"tooltip-text\">{{toolTipText}}</div>\n <span\n id=\"arrow\"\n [ngClass]=\"{\n 'arrow-left': toolTipPosition === 'Left',\n 'arrow-right': toolTipPosition === 'Right',\n 'arrow-top': toolTipPosition === 'Top',\n 'arrow-bottom': toolTipPosition === 'Bottom'\n }\"\n ></span>\n </div>\n</div>\n",styles:["#tooltip-container{position:absolute;z-index:1}#tooltip-container.top{left:50%;transform:translateX(-50%);top:-48px}#tooltip-container.bottom{left:50%;transform:translateX(-50%);bottom:-48px}#tooltip-container.left,#tooltip-container.right{top:50%;transform:translateY(-50%)}#tooltip{position:relative;display:block;padding:8px 12px;border-radius:8px;color:#fff;background:#181f33;font-family:Lato,sans-serif;font-style:normal;font-weight:400;font-size:14px;line-height:20px;text-align:center;letter-spacing:.2px}#tooltip-text{width:100%;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}#arrow{position:absolute;height:12px;width:12px;background:#181f33;z-index:1}.arrow-top{bottom:-6px}.arrow-bottom,.arrow-top{left:50%;transform:translateX(-50%) rotate(-45deg);-webkit-transform:translateX(-50%) rotate(-45deg)}.arrow-bottom{top:-6px}.arrow-left{right:-6px}.arrow-left,.arrow-right{top:50%;transform:translateY(-50%) rotate(-45deg);-webkit-transform:translateY(-50%) rotate(-45deg)}.arrow-right{left:-6px}"]}]}],i.ctorParameters=function(){return[{type:o.Renderer2}]},i.propDecorators={text:[{type:o.Input}],width:[{type:o.Input}],position:[{type:o.Input}],container:[{type:o.ViewChild,args:["container"]}]};var n=function(){function t(t,o,e,i){this.elementRef=t,this.renderer=o,this.viewContainerRef=e,this.componentFactoryResolver=i,this.isToolTipDisplayed=!1,this.toolTipWidth="",this.toolTipText="",this.toolTipPosition="Bottom",this.responsivePosition=!1,this.showOnHover=!1}return Object.defineProperty(t.prototype,"showToolTip",{set:function(t){this.isToolTipDisplayed=t,t?this.displayToolTip():this.hideToolTip()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"width",{set:function(t){this.toolTipWidth=t,this.createToolTip()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"text",{set:function(t){this.toolTipText=t,this.createToolTip()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"position",{set:function(t){this.toolTipPosition=t,this.createToolTip()},enumerable:!1,configurable:!0}),t.prototype.onMouseEnter=function(){this.showOnHover&&this.displayToolTip()},t.prototype.onMouseLeave=function(){this.showOnHover&&this.hideToolTip()},t.prototype.ngOnInit=function(){this.createToolTip()},t.prototype.ngAfterViewInit=function(){this.renderer.setStyle(this.elementRef.nativeElement,"position","relative"),this.isToolTipDisplayed?this.displayToolTip():this.hideToolTip(),this.isToolTipDisplayed&&this.responsivePosition&&this.updatePosition()},t.prototype.createToolTip=function(){var t=this.componentFactoryResolver.resolveComponentFactory(i);this.viewContainerRef.clear(),this.componentRef=this.viewContainerRef.createComponent(t),this.componentRef.instance.width=this.toolTipWidth,this.componentRef.instance.text=this.toolTipText,this.componentRef.instance.position=this.toolTipPosition},t.prototype.displayToolTip=function(){this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)||this.renderer.appendChild(this.elementRef.nativeElement,this.componentRef.location.nativeElement),this.responsivePosition&&this.updatePosition()},t.prototype.hideToolTip=function(){this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)&&this.renderer.removeChild(this.elementRef.nativeElement,this.componentRef.location.nativeElement)},t.prototype.updatePosition=function(){},t}();n.decorators=[{type:o.Directive,args:[{selector:"[misToolTip]"}]}],n.ctorParameters=function(){return[{type:o.ElementRef},{type:o.Renderer2},{type:o.ViewContainerRef},{type:o.ComponentFactoryResolver}]},n.propDecorators={responsivePosition:[{type:o.Input}],showOnHover:[{type:o.Input}],showToolTip:[{type:o.Input}],width:[{type:o.Input}],text:[{type:o.Input}],position:[{type:o.Input}],onMouseEnter:[{type:o.HostListener,args:["mouseenter"]}],onMouseLeave:[{type:o.HostListener,args:["mouseleave"]}]};var r=function(){function t(){}return t.forRoot=function(){return{ngModule:t,providers:[]}},t}();r.decorators=[{type:o.NgModule,args:[{declarations:[n,i],imports:[e.CommonModule],exports:[n,i],entryComponents:[i]}]}],t.ToolTipComponent=i,t.ToolTipDirective=n,t.ToolTipModule=r,Object.defineProperty(t,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=mis-crystal-design-system-tooltip.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../projects/mis-components/tooltip/tooltip.component.ts","../../../projects/mis-components/tooltip/tooltip.directive.ts","../../../projects/mis-components/tooltip/tooltip.module.ts"],"names":["ToolTipComponent","renderer","this","toolTipText","toolTipWidth","toolTipPosition","Object","defineProperty","prototype","value","updateToolTipPosition","ngOnInit","ngAfterViewInit","container","width","nativeElement","offsetWidth","setStyle","Component","args","selector","template","Renderer2","Input","ViewChild","ToolTipDirective","elementRef","viewContainerRef","componentFactoryResolver","isToolTipDisplayed","responsivePosition","showOnHover","displayToolTip","hideToolTip","createToolTip","onMouseEnter","onMouseLeave","updatePosition","cmpFactoryResolver","resolveComponentFactory","clear","componentRef","createComponent","instance","text","position","contains","location","appendChild","removeChild","Directive","ElementRef","ViewContainerRef","ComponentFactoryResolver","HostListener","ToolTipModule","forRoot","ngModule","providers","NgModule","declarations","imports","CommonModule","exports","entryComponents"],"mappings":"qfA4BE,SAAAA,EAAoBC,GAAAC,KAAAD,SAAAA,EAnBbC,KAAAC,YAAsB,GACtBD,KAAAE,aAAuB,GACvBF,KAAAG,gBAAuD,gBAE9DC,OAAAC,eAAaP,EAAAQ,UAAA,OAAI,KAAjB,SAAkBC,GAChBP,KAAKC,YAAcM,EACnBP,KAAKQ,yDAEPJ,OAAAC,eAAaP,EAAAQ,UAAA,QAAK,KAAlB,SAAmBC,GACjBP,KAAKE,aAAeK,EACpBP,KAAKQ,yDAEPJ,OAAAC,eAAaP,EAAAQ,UAAA,WAAQ,KAArB,SAAsBC,GACpBP,KAAKG,gBAAkBI,EACvBP,KAAKQ,yDAOPV,EAAAQ,UAAAG,SAAA,aAEAX,EAAAQ,UAAAI,gBAAA,WACEV,KAAKQ,yBAEPV,EAAAQ,UAAAE,sBAAA,WACE,GAAGR,KAAKW,UAAU,CAChB,IAAIC,EAAQZ,KAAKW,UAAUE,cAAcC,YACb,SAAzBd,KAAKG,iBACNH,KAAKD,SAASgB,SAASf,KAAKW,UAAUE,cAAe,OAAQ,KAAID,EAAQ,IAAE,MAC3EZ,KAAKD,SAASgB,SAASf,KAAKW,UAAUE,cAAe,QAAS,KAE/B,UAAzBb,KAAKG,iBACXH,KAAKD,SAASgB,SAASf,KAAKW,UAAUE,cAAe,OAAQ,IAC7Db,KAAKD,SAASgB,SAASf,KAAKW,UAAUE,cAAe,QAAS,KAAID,EAAQ,IAAE,QAG5EZ,KAAKD,SAASgB,SAASf,KAAKW,UAAUE,cAAe,OAAQ,OAC7Db,KAAKD,SAASgB,SAASf,KAAKW,UAAUE,cAAe,QAAS,gCA9CrEG,EAAAA,UAASC,KAAA,CAAC,CACTC,SAAU,cACVC,SAAA,oyDAJ2DC,EAAAA,2CAa1DC,EAAAA,qBAIAA,EAAAA,wBAIAA,EAAAA,yBAKAC,EAAAA,UAASL,KAAA,CAAC,iCCuBX,SAAAM,EACUC,EACAzB,EACA0B,EACAC,GAHA1B,KAAAwB,WAAAA,EACAxB,KAAAD,SAAAA,EACAC,KAAAyB,iBAAAA,EACAzB,KAAA0B,yBAAAA,EArCH1B,KAAA2B,oBAA8B,EAC9B3B,KAAAE,aAAuB,GACvBF,KAAAC,YAAsB,GACtBD,KAAAG,gBAAuD,SAErDH,KAAA4B,oBAA8B,EAC9B5B,KAAA6B,aAAuB,SAChCzB,OAAAC,eAAakB,EAAAjB,UAAA,cAAW,KAAxB,SAAyBC,GACvBP,KAAK2B,mBAAqBpB,EACvBA,EAAOP,KAAK8B,iBACV9B,KAAK+B,+CAEZ3B,OAAAC,eAAakB,EAAAjB,UAAA,QAAK,KAAlB,SAAmBC,GACjBP,KAAKE,aAAeK,EACpBP,KAAKgC,iDAEP5B,OAAAC,eAAakB,EAAAjB,UAAA,OAAI,KAAjB,SAAkBC,GAChBP,KAAKC,YAAcM,EACnBP,KAAKgC,iDAEP5B,OAAAC,eAAakB,EAAAjB,UAAA,WAAQ,KAArB,SAAsBC,GACpBP,KAAKG,gBAAkBI,EACvBP,KAAKgC,
|
|
1
|
+
{"version":3,"sources":["../../../projects/mis-components/tooltip/tooltip.component.ts","../../../projects/mis-components/tooltip/tooltip.directive.ts","../../../projects/mis-components/tooltip/tooltip.module.ts"],"names":["ToolTipComponent","renderer","this","toolTipText","toolTipWidth","toolTipPosition","Object","defineProperty","prototype","value","updateToolTipPosition","ngOnInit","ngAfterViewInit","container","width","nativeElement","offsetWidth","setStyle","Component","args","selector","template","Renderer2","Input","ViewChild","ToolTipDirective","elementRef","viewContainerRef","componentFactoryResolver","isToolTipDisplayed","responsivePosition","showOnHover","displayToolTip","hideToolTip","createToolTip","onMouseEnter","onMouseLeave","updatePosition","cmpFactoryResolver","resolveComponentFactory","clear","componentRef","createComponent","instance","text","position","contains","location","appendChild","removeChild","Directive","ElementRef","ViewContainerRef","ComponentFactoryResolver","HostListener","ToolTipModule","forRoot","ngModule","providers","NgModule","declarations","imports","CommonModule","exports","entryComponents"],"mappings":"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","sourcesContent":["import {AfterViewInit, Component, ElementRef, Input, OnInit, Renderer2, ViewChild} from '@angular/core';\n\n@Component({\n selector: 'mis-tooltip',\n templateUrl: './tooltip.component.html',\n styleUrls: ['./tooltip.component.scss']\n})\nexport class ToolTipComponent implements OnInit, AfterViewInit{\n\n public toolTipText: string = ''\n public toolTipWidth: string = ''\n public toolTipPosition: 'Left' | 'Right' | 'Top' | 'Bottom' = 'Bottom'\n\n @Input() set text(value: string){\n this.toolTipText = value\n this.updateToolTipPosition()\n }\n @Input() set width(value: string){\n this.toolTipWidth = value;\n this.updateToolTipPosition()\n }\n @Input() set position(value: 'Left' | 'Right' | 'Top' | 'Bottom'){\n this.toolTipPosition = value\n this.updateToolTipPosition()\n }\n\n @ViewChild('container') container: ElementRef\n\n constructor(private renderer: Renderer2) {\n }\n ngOnInit() {\n }\n ngAfterViewInit(){\n this.updateToolTipPosition()\n }\n updateToolTipPosition(){\n if(this.container){\n let width = this.container.nativeElement.offsetWidth\n if(this.toolTipPosition === 'Left'){\n this.renderer.setStyle(this.container.nativeElement, 'left', `-${width + 12}px`)\n this.renderer.setStyle(this.container.nativeElement, 'right', '')\n }\n else if(this.toolTipPosition === 'Right'){\n this.renderer.setStyle(this.container.nativeElement, 'left', '')\n this.renderer.setStyle(this.container.nativeElement, 'right', `-${width + 12}px`)\n }\n else{\n this.renderer.setStyle(this.container.nativeElement, 'left', '50%')\n this.renderer.setStyle(this.container.nativeElement, 'right', '')\n }\n }\n }\n}\n","import {\n AfterViewInit,\n ComponentFactoryResolver, ComponentRef,\n Directive,\n ElementRef, HostListener, Input,\n OnInit,\n Renderer2,\n ViewContainerRef\n} from '@angular/core';\nimport {ToolTipComponent} from './tooltip.component';\nimport {isChildNodeOf} from 'codelyzer/util/isChildNodeOf';\n\n@Directive({\n selector: '[misToolTip]'\n})\nexport class ToolTipDirective implements OnInit, AfterViewInit {\n public isToolTipDisplayed: boolean = false\n public toolTipWidth: string = ''\n public toolTipText: string = ''\n public toolTipPosition: 'Left' | 'Right' | 'Top' | 'Bottom' = 'Bottom'\n\n @Input() responsivePosition: boolean = false\n @Input() showOnHover: boolean = false\n @Input() set showToolTip(value: boolean){\n this.isToolTipDisplayed = value\n if(value) this.displayToolTip()\n else this.hideToolTip()\n }\n @Input() set width(value: string){\n this.toolTipWidth = value\n this.createToolTip()\n }\n @Input() set text(value: string){\n this.toolTipText = value\n this.createToolTip()\n }\n @Input() set position(value: 'Left' | 'Right' | 'Top' | 'Bottom'){\n this.toolTipPosition = value\n this.createToolTip()\n }\n\n @HostListener('mouseenter',) onMouseEnter() {\n if (this.showOnHover) this.displayToolTip()\n }\n @HostListener('mouseleave',) onMouseLeave(){\n if(this.showOnHover) this.hideToolTip()\n }\n\n private componentRef: ComponentRef<ToolTipComponent>\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n private viewContainerRef: ViewContainerRef,\n private componentFactoryResolver: ComponentFactoryResolver\n ) {\n }\n\n ngOnInit() {\n this.createToolTip()\n }\n ngAfterViewInit(){\n this.renderer.setStyle(this.elementRef.nativeElement, 'position', 'relative')\n if(this.isToolTipDisplayed) this.displayToolTip()\n else this.hideToolTip()\n if(this.isToolTipDisplayed && this.responsivePosition) this.updatePosition()\n }\n createToolTip(){\n const cmpFactoryResolver = this.componentFactoryResolver.resolveComponentFactory(ToolTipComponent);\n this.viewContainerRef.clear();\n this.componentRef = this.viewContainerRef.createComponent(cmpFactoryResolver);\n this.componentRef.instance.width = this.toolTipWidth\n this.componentRef.instance.text = this.toolTipText\n this.componentRef.instance.position = this.toolTipPosition\n }\n displayToolTip(){\n let isChild = this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)\n if(!isChild) this.renderer.appendChild(this.elementRef.nativeElement, this.componentRef.location.nativeElement)\n if(this.responsivePosition) this.updatePosition()\n }\n hideToolTip(){\n let isChild = this.elementRef.nativeElement.contains(this.componentRef.location.nativeElement)\n if(isChild) this.renderer.removeChild(this.elementRef.nativeElement, this.componentRef.location.nativeElement)\n }\n updatePosition(){\n // let rect: any = this.componentRef.location.nativeElement.children[0].getBoundingClientRect()\n // let {x, y, height, width} = rect\n //TODO: Add logic for responsive positioning\n // Use default value as priority and dont change it here 'toolTipPosition'\n // Update the position using below line\n // this.componentRef.instance.position = 'Right'\n // console.log(x, y, height, width)\n }\n}\n\n","import { NgModule, ModuleWithProviders } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\nimport { ToolTipDirective } from './tooltip.directive';\nimport {ToolTipComponent} from './tooltip.component';\n\n@NgModule({\n declarations: [ToolTipDirective, ToolTipComponent],\n imports: [CommonModule],\n exports: [ToolTipDirective, ToolTipComponent],\n entryComponents:[ToolTipComponent]\n})\nexport class ToolTipModule {\n static forRoot(): ModuleWithProviders<ToolTipModule> {\n return { ngModule: ToolTipModule, providers: [] };\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnInit } from "@angular/core";
|
|
2
2
|
import { ICurrentMonth, ICurrentMonthDates, IDatePickerData, IWeekDay } from "../models/dp-config.model";
|
|
3
|
-
import { ToastService } from
|
|
3
|
+
import { ToastService } from "mis-crystal-design-system/toast";
|
|
4
4
|
export declare class TzDpContainerComponent implements OnInit {
|
|
5
5
|
private toast;
|
|
6
6
|
data: IDatePickerData;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Component, Inject } from "@angular/core";
|
|
2
2
|
import { CONTAINER_DATA, DATE_FORMAT } from "../datepicker-constants";
|
|
3
|
-
import { parseZone } from
|
|
3
|
+
import { parseZone } from "moment-timezone";
|
|
4
4
|
import { getMonth } from "../utils";
|
|
5
|
-
import { ToastService } from
|
|
5
|
+
import { ToastService } from "mis-crystal-design-system/toast";
|
|
6
6
|
export class TzDpContainerComponent {
|
|
7
7
|
constructor(data, toast) {
|
|
8
8
|
var _a, _b, _c, _d;
|
|
@@ -10,7 +10,7 @@ export class TzDpContainerComponent {
|
|
|
10
10
|
this.parseZoneInstance = (...args) => {
|
|
11
11
|
return parseZone(...args);
|
|
12
12
|
};
|
|
13
|
-
this.rawWeekDays = [
|
|
13
|
+
this.rawWeekDays = ["SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT"];
|
|
14
14
|
this.weekDays = [];
|
|
15
15
|
this.currentMonthDates = [];
|
|
16
16
|
this.isPreviousMonthDisabled = false;
|
|
@@ -49,20 +49,20 @@ export class TzDpContainerComponent {
|
|
|
49
49
|
const currentInstance = this.parseZoneInstance().year(this.currentYearNumber).month(this.currentMonthNumber);
|
|
50
50
|
const minDate = this.parseZoneInstance(this.data.dpConfig.minDate, this.data.dpConfig.format);
|
|
51
51
|
if (minDate.isValid()) {
|
|
52
|
-
this.isPreviousMonthDisabled = minDate.isSameOrAfter(currentInstance,
|
|
52
|
+
this.isPreviousMonthDisabled = minDate.isSameOrAfter(currentInstance, "month");
|
|
53
53
|
}
|
|
54
54
|
const maxDate = this.parseZoneInstance(this.data.dpConfig.maxDate, this.data.dpConfig.format);
|
|
55
55
|
if (maxDate.isValid()) {
|
|
56
|
-
this.isNextMonthDisabled = maxDate.
|
|
56
|
+
this.isNextMonthDisabled = maxDate.isBefore(currentInstance, "month");
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
navigateMonth(direction) {
|
|
60
60
|
let thisMonth = parseZone().year(this.currentYearNumber).month(this.currentMonthNumber);
|
|
61
61
|
if (direction === "NEXT") {
|
|
62
|
-
thisMonth = thisMonth.add(1,
|
|
62
|
+
thisMonth = thisMonth.add(1, "month");
|
|
63
63
|
}
|
|
64
64
|
else if (direction === "PREVIOUS") {
|
|
65
|
-
thisMonth = thisMonth.subtract(1,
|
|
65
|
+
thisMonth = thisMonth.subtract(1, "month");
|
|
66
66
|
}
|
|
67
67
|
this.currentMonthNumber = thisMonth.month();
|
|
68
68
|
this.currentMonth = getMonth(this.currentMonthNumber);
|
|
@@ -73,23 +73,26 @@ export class TzDpContainerComponent {
|
|
|
73
73
|
generateDates(month, currentYearNumber) {
|
|
74
74
|
var _a;
|
|
75
75
|
let dates = [];
|
|
76
|
-
const
|
|
77
|
-
for (let startDate = 1; startDate <=
|
|
78
|
-
|
|
76
|
+
const daysInMonth = parseZone().year(currentYearNumber).month(month).daysInMonth();
|
|
77
|
+
for (let startDate = 1; startDate <= daysInMonth; startDate++) {
|
|
78
|
+
const date = parseZone().year(currentYearNumber).month(month).date(startDate);
|
|
79
|
+
const dateString = date.format(this.data.dpConfig.format);
|
|
80
|
+
let isDisabledDay = this.data.datesDisabled.some((d) => d === dateString);
|
|
79
81
|
const minDate = parseZone(this.data.dpConfig.minDate, this.data.dpConfig.format);
|
|
80
82
|
if (!isDisabledDay && minDate.isValid()) {
|
|
81
|
-
isDisabledDay = minDate.isAfter(
|
|
83
|
+
isDisabledDay = minDate.isAfter(date, "day");
|
|
82
84
|
}
|
|
83
85
|
const maxDate = parseZone(this.data.dpConfig.maxDate, this.data.dpConfig.format);
|
|
84
86
|
if (!isDisabledDay && maxDate.isValid()) {
|
|
85
|
-
isDisabledDay = maxDate.isBefore(
|
|
87
|
+
isDisabledDay = maxDate.isBefore(date, "day");
|
|
86
88
|
}
|
|
87
89
|
dates.push({
|
|
88
90
|
date: startDate,
|
|
89
|
-
weekDay:
|
|
90
|
-
isCurrentDay: this.parseZoneInstance(
|
|
91
|
-
|
|
92
|
-
|
|
91
|
+
weekDay: date.day(),
|
|
92
|
+
isCurrentDay: this.parseZoneInstance({ year: currentYearNumber, month, date: startDate }).format(this.data.dpConfig.format) ===
|
|
93
|
+
parseZone().format(this.data.dpConfig.format),
|
|
94
|
+
isSelectedDay: date.format(this.data.dpConfig.format) === this.data.date,
|
|
95
|
+
toastMessage: ((_a = this.data.messages.find((q) => date.format(this.data.dpConfig.format) === q.date)) === null || _a === void 0 ? void 0 : _a.message) || "",
|
|
93
96
|
isDisabledDay,
|
|
94
97
|
});
|
|
95
98
|
}
|
|
@@ -120,4 +123,4 @@ TzDpContainerComponent.ctorParameters = () => [
|
|
|
120
123
|
{ type: undefined, decorators: [{ type: Inject, args: [CONTAINER_DATA,] }] },
|
|
121
124
|
{ type: ToastService }
|
|
122
125
|
];
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHotZHAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXJfdjIvdHotZHAtY29udGFpbmVyL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFPOUQsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUFvQyxJQUFxQixFQUFVLEtBQW1COztRQUFuQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBWjlFLHNCQUFpQixHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtZQUN0QyxPQUFPLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQztRQUNNLGdCQUFXLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQTtRQUNqRixhQUFRLEdBQWUsRUFBRSxDQUFDO1FBSTFCLHNCQUFpQixHQUF5QixFQUFFLENBQUM7UUFDN0MsNEJBQXVCLEdBQVksS0FBSyxDQUFDO1FBQ3pDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUduQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixnQkFBSSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxRQUFRLDBDQUFFLFFB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S0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUF1QjtRQUMvQixJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1NBQ2hKO1FBQ0QsSUFBSSxHQUFHLENBQUMsWUFBWSxFQUFFO1lBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDL0M7SUFDSCxDQUFDOzs7WUF0SEYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQix5NUZBQStDOzthQUVoRDs7OzRDQWVjLE1BQU0sU0FBQyxjQUFjO1lBckIzQixZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbmplY3QsIE9uSW5pdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBDT05UQUlORVJfREFUQSwgREFURV9GT1JNQVQgfSBmcm9tIFwiLi4vZGF0ZXBpY2tlci1jb25zdGFudHNcIjtcbmltcG9ydCB7IElDdXJyZW50TW9udGgsIElDdXJyZW50TW9udGhEYXRlcywgSURhdGVQaWNrZXJEYXRhLCBJV2Vla0RheSB9IGZyb20gXCIuLi9tb2RlbHMvZHAtY29uZmlnLm1vZGVsXCI7XG5pbXBvcnQgeyBwYXJzZVpvbmUsIE1vbWVudCB9IGZyb20gJ21vbWVudC10aW1lem9uZSc7XG5pbXBvcnQgeyBnZXRNb250aCB9IGZyb20gXCIuLi91dGlsc1wiO1xuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnbWlzLWNyeXN0YWwtZGVzaWduLXN5c3RlbS90b2FzdCdcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcIm1pcy10ei1kcFwiLFxuICB0ZW1wbGF0ZVVybDogXCIuL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQuaHRtbFwiLFxuICBzdHlsZVVybHM6IFtcIi4vdHotZHAtY29udGFpbmVyLmNvbXBvbmVudC5zY3NzXCJdLFxufSlcbmV4cG9ydCBjbGFzcyBUekRwQ29udGFpbmVyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgZGF0YTogSURhdGVQaWNrZXJEYXRhO1xuICBwcml2YXRlIHBhcnNlWm9uZUluc3RhbmNlID0gKC4uLmFyZ3MpID0+IHtcbiAgICByZXR1cm4gcGFyc2Vab25lKC4uLmFyZ3MpO1xuICB9O1xuICBwcml2YXRlIHJhd1dlZWtEYXlzOiBzdHJpbmdbXSA9IFsnU1VOJywgJ01PTicsICdUVUUnLCAnV0VEJywgJ1RIVScsICdGUkknLCAnU0FUJ11cbiAgd2Vla0RheXM6IElXZWVrRGF5W10gPSBbXTtcbiAgY3VycmVudE1vbnRoTnVtYmVyOiBudW1iZXI7XG4gIGN1cnJlbnRNb250aDogSUN1cnJlbnRNb250aDtcbiAgY3VycmVudFllYXJOdW1iZXI6IG51bWJlcjtcbiAgY3VycmVudE1vbnRoRGF0ZXM6IElDdXJyZW50TW9udGhEYXRlc1tdID0gW107XG4gIGlzUHJldmlvdXNNb250aERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzTmV4dE1vbnRoRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihASW5qZWN0KENPTlRBSU5FUl9EQVRBKSBkYXRhOiBJRGF0ZVBpY2tlckRhdGEsIHByaXZhdGUgdG9hc3Q6IFRvYXN0U2VydmljZSkge1xuICAgIHRoaXMuZGF0YSA9IGRhdGE7XG4gICAgaWYgKHRoaXMuZGF0YT8uZHBDb25maWc/LnRpbWV6b25lKSB7XG4gICAgICB0aGlzLnBhcnNlWm9uZUluc3RhbmNlID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgcmV0dXJuIHBhcnNlWm9uZSguLi5hcmdzKS50eih0aGlzLmRhdGEuZHBDb25maWcudGltZXpvbmUpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRNb250aE51bWJlciA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS5tb250aCgpO1xuICAgIHRoaXMuY3VycmVudE1vbnRoID0gZ2V0TW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpO1xuICAgIHRoaXMuY3VycmVudFllYXJOdW1iZXIgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkueWVhcigpO1xuICAgIHRoaXMud2Vla0RheXMgPSB0aGlzLnJhd1dlZWtEYXlzLm1hcCgoZGF5LCBpbmRleCkgPT4gKHtcbiAgICAgIGxhYmVsOiBgJHtkYXlbMF19JHtkYXkuc2xpY2UoMSkudG9Mb3dlckNhc2UoKX1gLFxuICAgICAgaXNDdXJyZW50RGF5OiB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkuZGF5KCkgPT09IGluZGV4LFxuICAgIH0pKTtcbiAgICBpZiAoIXRoaXMuZGF0YT8uZHBDb25maWc/LmZvcm1hdCkge1xuICAgICAgdGhpcy5kYXRhLmRwQ29uZmlnID0ge1xuICAgICAgICAuLi50aGlzLmRhdGEuZHBDb25maWcsXG4gICAgICAgIGZvcm1hdDogREFURV9GT1JNQVQsXG4gICAgICB9O1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudERhdGVJbnN0YW5jZSgpO1xuICAgIHRoaXMuY2FsY3VsYXRlTWluTWF4RGF5cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBjdXJyZW50RGF0ZUluc3RhbmNlKCk6IHZvaWQge1xuICAgIGNvbnN0IHNlbGVjdGVkRGF0ZSA9IHBhcnNlWm9uZSh0aGlzLmRhdGEuZGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgaWYgKHNlbGVjdGVkRGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgIHRoaXMuY3VycmVudFllYXJOdW1iZXIgPSBzZWxlY3RlZERhdGUueWVhcigpO1xuICAgICAgdGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPSBzZWxlY3RlZERhdGUubW9udGgoKTtcbiAgICAgIHRoaXMuY3VycmVudE1vbnRoID0gZ2V0TW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRNb250aERhdGVzID0gdGhpcy5nZW5lcmF0ZURhdGVzKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyLCB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKTtcbiAgfVxuXG4gIHByaXZhdGUgY2FsY3VsYXRlTWluTWF4RGF5cygpIHtcbiAgICBjb25zdCBjdXJyZW50SW5zdGFuY2UgPSB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkueWVhcih0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKS5tb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgY29uc3QgbWluRGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgIGlmIChtaW5EYXRlLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5pc1ByZXZpb3VzTW9udGhEaXNhYmxlZCA9IG1pbkRhdGUuaXNTYW1lT3JBZnRlcihjdXJyZW50SW5zdGFuY2UsICdtb250aCcpO1xuICAgIH1cbiAgICBjb25zdCBtYXhEYXRlID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSh0aGlzLmRhdGEuZHBDb25maWcubWF4RGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgaWYgKG1heERhdGUuaXNWYWxpZCgpKSB7XG4gICAgICB0aGlzLmlzTmV4dE1vbnRoRGlzYWJsZWQgPSBtYXhEYXRlLmlzU2FtZU9yQmVmb3JlKGN1cnJlbnRJbnN0YW5jZSwgJ21vbnRoJyk7XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVNb250aChkaXJlY3Rpb246IFwiTkVYVFwiIHwgXCJQUkVWSU9VU1wiKTogdm9pZCB7XG4gICAgbGV0IHRoaXNNb250aDogTW9tZW50ID0gcGFyc2Vab25lKCkueWVhcih0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKS5tb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gXCJORVhUXCIpIHtcbiAgICAgIHRoaXNNb250aCA9IHRoaXNNb250aC5hZGQoMSwgJ21vbnRoJyk7XG4gICAgfSBlbHNlIGlmIChkaXJlY3Rpb24gPT09IFwiUFJFVklPVVNcIikge1xuICAgICAgdGhpc01vbnRoID0gdGhpc01vbnRoLnN1YnRyYWN0KDEsICdtb250aCcpO1xuICAgIH1cbiAgICB0aGlzLmN1cnJlbnRNb250aE51bWJlciA9IHRoaXNNb250aC5tb250aCgpO1xuICAgIHRoaXMuY3VycmVudE1vbnRoID0gZ2V0TW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpO1xuICAgIHRoaXMuY3VycmVudFllYXJOdW1iZXIgPSB0aGlzTW9udGgueWVhcigpO1xuICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5jdXJyZW50TW9udGhOdW1iZXIsIHRoaXMuY3VycmVudFllYXJOdW1iZXIpO1xuICAgIHRoaXMuY2FsY3VsYXRlTWluTWF4RGF5cygpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZW5lcmF0ZURhdGVzKG1vbnRoOiBudW1iZXIsIGN1cnJlbnRZZWFyTnVtYmVyOiBudW1iZXIpOiBJQ3VycmVudE1vbnRoRGF0ZXNbXSB7XG4gICAgbGV0IGRhdGVzOiBJQ3VycmVudE1vbnRoRGF0ZXNbXSA9IFtdO1xuICAgIGNvbnN0IHRoaXNNb250aCA9IHBhcnNlWm9uZSgpLnllYXIoY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKG1vbnRoKTtcbiAgICBmb3IgKGxldCBzdGFydERhdGUgPSAxOyBzdGFydERhdGUgPD0gdGhpc01vbnRoLmVuZE9mKCdtb250aCcpLmRhdGUoKTsgc3RhcnREYXRlKyspIHtcbiAgICAgIGxldCBpc0Rpc2FibGVkRGF5ID0gdGhpcy5kYXRhLmRhdGVzRGlzYWJsZWQuc29tZShkID0+IGQgPT09IHRoaXNNb250aC5kYXRlKHN0YXJ0RGF0ZSkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpKTtcbiAgICAgIGNvbnN0IG1pbkRhdGUgPSBwYXJzZVpvbmUodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgICAgaWYgKCFpc0Rpc2FibGVkRGF5ICYmIG1pbkRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICAgIGlzRGlzYWJsZWREYXkgPSBtaW5EYXRlLmlzQWZ0ZXIodGhpc01vbnRoLmRhdGUoc3RhcnREYXRlKSwgJ2RheScpO1xuICAgICAgfVxuICAgICAgY29uc3QgbWF4RGF0ZSA9IHBhcnNlWm9uZSh0aGlzLmRhdGEuZHBDb25maWcubWF4RGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgICBpZiAoIWlzRGlzYWJsZWREYXkgJiYgbWF4RGF0ZS5pc1ZhbGlkKCkpIHtcbiAgICAgICAgaXNEaXNhYmxlZERheSA9IG1heERhdGUuaXNCZWZvcmUodGhpc01vbnRoLmRhdGUoc3RhcnREYXRlKSwgJ2RheScpO1xuICAgICAgfVxuICAgICAgZGF0ZXMucHVzaCh7XG4gICAgICAgIGRhdGU6IHN0YXJ0RGF0ZSxcbiAgICAgICAgd2Vla0RheTogdGhpc01vbnRoLmRhdGUoc3RhcnREYXRlKS5kYXkoKSxcbiAgICAgICAgaXNDdXJyZW50RGF5OiB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKCkueWVhcihjdXJyZW50WWVhck51bWJlcikubW9udGgobW9udGgpLmRhdGUoc3RhcnREYXRlKS5kYXRlKHN0YXJ0RGF0ZSkuaXNTYW1lKHBhcnNlWm9uZSgpLCAnZGF5JyksXG4gICAgICAgIGlzU2VsZWN0ZWREYXk6IHRoaXNNb250aC5kYXRlKHN0YXJ0RGF0ZSkuaXNTYW1lKHBhcnNlWm9uZSh0aGlzLmRhdGEuZGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCksICdkYXknKSxcbiAgICAgICAgdG9hc3RNZXNzYWdlOiB0aGlzLmRhdGEubWVzc2FnZXMuZmluZChxID0+IHRoaXNNb250aC5kYXRlKHN0YXJ0RGF0ZSkuaXNTYW1lKHBhcnNlWm9uZShxLmRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpLCAnZGF5JykpPy5tZXNzYWdlIHx8ICcnLFxuICAgICAgICBpc0Rpc2FibGVkRGF5LFxuICAgICAgfSk7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSBkYXRlc1swXS53ZWVrRGF5OyBpID4gMDsgaS0tKSB7XG4gICAgICBkYXRlcy51bnNoaWZ0KHsgZGF0ZTogMCwgd2Vla0RheTogaSAtIDEgfSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRlcztcbiAgfVxuXG4gIHNlbGVjdERheShkYXk6IElDdXJyZW50TW9udGhEYXRlcykge1xuICAgIGlmIChkYXkuZGF0ZSA8PSAwKSByZXR1cm47XG4gICAgaWYgKCFkYXkuaXNEaXNhYmxlZERheSkge1xuICAgICAgdGhpcy5kYXRhLmRhdGVDaGFuZ2UocGFyc2Vab25lKCkueWVhcih0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKS5tb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcikuZGF0ZShkYXkuZGF0ZSkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpKTtcbiAgICB9XG4gICAgaWYgKGRheS50b2FzdE1lc3NhZ2UpIHtcbiAgICAgIHRoaXMudG9hc3QuZGlzcGxheU1zZyhkYXkudG9hc3RNZXNzYWdlLCA0MDAwKTtcbiAgICB9XG4gIH1cblxufVxuIl19
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHotZHAtY29udGFpbmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21pcy1jb21wb25lbnRzL2RhdGVwaWNrZXJfdjIvdHotZHAtY29udGFpbmVyL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDMUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUV0RSxPQUFPLEVBQUUsU0FBUyxFQUFjLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUNwQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFPL0QsTUFBTSxPQUFPLHNCQUFzQjtJQWNqQyxZQUFvQyxJQUFxQixFQUFVLEtBQW1COztRQUFuQixVQUFLLEdBQUwsS0FBSyxDQUFjO1FBWjlFLHNCQUFpQixHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtZQUN0QyxPQUFPLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQztRQUNNLGdCQUFXLEdBQWEsQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQztRQUNsRixhQUFRLEdBQWUsRUFBRSxDQUFDO1FBSTFCLHNCQUFpQixHQUF5QixFQUFFLENBQUM7UUFDN0MsNEJBQXVCLEdBQVksS0FBSyxDQUFDO1FBQ3pDLHdCQUFtQixHQUFZLEtBQUssQ0FBQztRQUduQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixnQkFBSSxJQUFJLENBQUMsSUFBSSwwQ0FBRSxRQUFRLDBDQUFFLFFBQVEsRUFBRTtZQUNqQyxJQUFJLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFO2dCQUNuQyxPQUFPLFNBQVMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1RCxDQUFDLENBQUM7U0FDSDtRQUNELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUMzRCxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDcEQsS0FBSyxFQUFFLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEVBQUU7WUFDL0MsWUFBWSxFQUFFLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEdBQUcsRUFBRSxLQUFLLEtBQUs7U0FDdkQsQ0FBQyxDQUFDLENBQUM7UUFDSixJQUFJLGNBQUMsSUFBSSxDQUFDLElBQUksMENBQUUsUUFBUSwwQ0FBRSxNQUFNLENBQUEsRUFBRTtZQUNoQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsbUNBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQ3JCLE1BQU0sRUFBRSxXQUFXLEdBQ3BCLENBQUM7U0FDSDtJQUNILENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDM0IsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7SUFDN0IsQ0FBQztJQUVPLG1CQUFtQjtRQUN6QixNQUFNLFlBQVksR0FBRyxTQUFTLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUUsSUFBSSxZQUFZLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDMUIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUM3QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsWUFBWSxDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9DLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ3ZEO1FBQ0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFFTyxtQkFBbUI7UUFDekIsTUFBTSxlQUFlLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUM3RyxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlGLElBQUksT0FBTyxDQUFDLE9BQU8sRUFBRSxFQUFFO1lBQ3JCLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxPQUFPLENBQUMsYUFBYSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNoRjtRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUYsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDckIsSUFBSSxDQUFDLG1CQUFtQixHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsZUFBZSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3ZFO0lBQ0gsQ0FBQztJQUVELGFBQWEsQ0FBQyxTQUE4QjtRQUMxQyxJQUFJLFNBQVMsR0FBVyxTQUFTLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ2hHLElBQUksU0FBUyxLQUFLLE1BQU0sRUFBRTtZQUN4QixTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDdkM7YUFBTSxJQUFJLFNBQVMsS0FBSyxVQUFVLEVBQUU7WUFDbkMsU0FBUyxHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQzVDO1FBQ0QsSUFBSSxDQUFDLGtCQUFrQixHQUFHLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUM1QyxJQUFJLENBQUMsWUFBWSxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsU0FBUyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzFDLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUM3RixJQUFJLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRU8sYUFBYSxDQUFDLEtBQWEsRUFBRSxpQkFBeUI7O1FBQzVELElBQUksS0FBSyxHQUF5QixFQUFFLENBQUM7UUFDckMsTUFBTSxXQUFXLEdBQUcsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25GLEtBQUssSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFLFNBQVMsSUFBSSxXQUFXLEVBQUUsU0FBUyxFQUFFLEVBQUU7WUFDN0QsTUFBTSxJQUFJLEdBQUcsU0FBUyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUM5RSxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQzFELElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLFVBQVUsQ0FBQyxDQUFDO1lBQzFFLE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3ZDLGFBQWEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUM5QztZQUNELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDakYsSUFBSSxDQUFDLGFBQWEsSUFBSSxPQUFPLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQ3ZDLGFBQWEsR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQzthQUMvQztZQUNELEtBQUssQ0FBQyxJQUFJLENBQUM7Z0JBQ1QsSUFBSSxFQUFFLFNBQVM7Z0JBQ2YsT0FBTyxFQUFFLElBQUksQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLFlBQVksRUFDVixJQUFJLENBQUMsaUJBQWlCLENBQUMsRUFBRSxJQUFJLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7b0JBQzdHLFNBQVMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUM7Z0JBQy9DLGFBQWEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtnQkFDeEUsWUFBWSxFQUFFLE9BQUEsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsMENBQUUsT0FBTyxLQUFJLEVBQUU7Z0JBQzlHLGFBQWE7YUFDZCxDQUFDLENBQUM7U0FDSjtRQUNELEtBQUssSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQ3pDLEtBQUssQ0FBQyxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM1QztRQUNELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELFNBQVMsQ0FBQyxHQUF1QjtRQUMvQixJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksQ0FBQztZQUFFLE9BQU87UUFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUU7WUFDdEIsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQ2xCLFNBQVMsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQ3pILENBQUM7U0FDSDtRQUNELElBQUksR0FBRyxDQUFDLFlBQVksRUFBRTtZQUNwQixJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQy9DO0lBQ0gsQ0FBQzs7O1lBNUhGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsV0FBVztnQkFDckIseTVGQUErQzs7YUFFaEQ7Ozs0Q0FlYyxNQUFNLFNBQUMsY0FBYztZQXJCM0IsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5qZWN0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuaW1wb3J0IHsgQ09OVEFJTkVSX0RBVEEsIERBVEVfRk9STUFUIH0gZnJvbSBcIi4uL2RhdGVwaWNrZXItY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBJQ3VycmVudE1vbnRoLCBJQ3VycmVudE1vbnRoRGF0ZXMsIElEYXRlUGlja2VyRGF0YSwgSVdlZWtEYXkgfSBmcm9tIFwiLi4vbW9kZWxzL2RwLWNvbmZpZy5tb2RlbFwiO1xuaW1wb3J0IHsgcGFyc2Vab25lLCBNb21lbnQsIHR6IH0gZnJvbSBcIm1vbWVudC10aW1lem9uZVwiO1xuaW1wb3J0IHsgZ2V0TW9udGggfSBmcm9tIFwiLi4vdXRpbHNcIjtcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCJtaXMtY3J5c3RhbC1kZXNpZ24tc3lzdGVtL3RvYXN0XCI7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogXCJtaXMtdHotZHBcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi90ei1kcC1jb250YWluZXIuY29tcG9uZW50Lmh0bWxcIixcbiAgc3R5bGVVcmxzOiBbXCIuL3R6LWRwLWNvbnRhaW5lci5jb21wb25lbnQuc2Nzc1wiXSxcbn0pXG5leHBvcnQgY2xhc3MgVHpEcENvbnRhaW5lckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIGRhdGE6IElEYXRlUGlja2VyRGF0YTtcbiAgcHJpdmF0ZSBwYXJzZVpvbmVJbnN0YW5jZSA9ICguLi5hcmdzKSA9PiB7XG4gICAgcmV0dXJuIHBhcnNlWm9uZSguLi5hcmdzKTtcbiAgfTtcbiAgcHJpdmF0ZSByYXdXZWVrRGF5czogc3RyaW5nW10gPSBbXCJTVU5cIiwgXCJNT05cIiwgXCJUVUVcIiwgXCJXRURcIiwgXCJUSFVcIiwgXCJGUklcIiwgXCJTQVRcIl07XG4gIHdlZWtEYXlzOiBJV2Vla0RheVtdID0gW107XG4gIGN1cnJlbnRNb250aE51bWJlcjogbnVtYmVyO1xuICBjdXJyZW50TW9udGg6IElDdXJyZW50TW9udGg7XG4gIGN1cnJlbnRZZWFyTnVtYmVyOiBudW1iZXI7XG4gIGN1cnJlbnRNb250aERhdGVzOiBJQ3VycmVudE1vbnRoRGF0ZXNbXSA9IFtdO1xuICBpc1ByZXZpb3VzTW9udGhEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc05leHRNb250aERpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQEluamVjdChDT05UQUlORVJfREFUQSkgZGF0YTogSURhdGVQaWNrZXJEYXRhLCBwcml2YXRlIHRvYXN0OiBUb2FzdFNlcnZpY2UpIHtcbiAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgIGlmICh0aGlzLmRhdGE/LmRwQ29uZmlnPy50aW1lem9uZSkge1xuICAgICAgdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIHJldHVybiBwYXJzZVpvbmUoLi4uYXJncykudHoodGhpcy5kYXRhLmRwQ29uZmlnLnRpbWV6b25lKTtcbiAgICAgIH07XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE1vbnRoTnVtYmVyID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSgpLm1vbnRoKCk7XG4gICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgdGhpcy5jdXJyZW50WWVhck51bWJlciA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKCk7XG4gICAgdGhpcy53ZWVrRGF5cyA9IHRoaXMucmF3V2Vla0RheXMubWFwKChkYXksIGluZGV4KSA9PiAoe1xuICAgICAgbGFiZWw6IGAke2RheVswXX0ke2RheS5zbGljZSgxKS50b0xvd2VyQ2FzZSgpfWAsXG4gICAgICBpc0N1cnJlbnREYXk6IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS5kYXkoKSA9PT0gaW5kZXgsXG4gICAgfSkpO1xuICAgIGlmICghdGhpcy5kYXRhPy5kcENvbmZpZz8uZm9ybWF0KSB7XG4gICAgICB0aGlzLmRhdGEuZHBDb25maWcgPSB7XG4gICAgICAgIC4uLnRoaXMuZGF0YS5kcENvbmZpZyxcbiAgICAgICAgZm9ybWF0OiBEQVRFX0ZPUk1BVCxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jdXJyZW50RGF0ZUluc3RhbmNlKCk7XG4gICAgdGhpcy5jYWxjdWxhdGVNaW5NYXhEYXlzKCk7XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnREYXRlSW5zdGFuY2UoKTogdm9pZCB7XG4gICAgY29uc3Qgc2VsZWN0ZWREYXRlID0gcGFyc2Vab25lKHRoaXMuZGF0YS5kYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgICBpZiAoc2VsZWN0ZWREYXRlLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5jdXJyZW50WWVhck51bWJlciA9IHNlbGVjdGVkRGF0ZS55ZWFyKCk7XG4gICAgICB0aGlzLmN1cnJlbnRNb250aE51bWJlciA9IHNlbGVjdGVkRGF0ZS5tb250aCgpO1xuICAgICAgdGhpcy5jdXJyZW50TW9udGggPSBnZXRNb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgfVxuICAgIHRoaXMuY3VycmVudE1vbnRoRGF0ZXMgPSB0aGlzLmdlbmVyYXRlRGF0ZXModGhpcy5jdXJyZW50TW9udGhOdW1iZXIsIHRoaXMuY3VycmVudFllYXJOdW1iZXIpO1xuICB9XG5cbiAgcHJpdmF0ZSBjYWxjdWxhdGVNaW5NYXhEYXlzKCkge1xuICAgIGNvbnN0IGN1cnJlbnRJbnN0YW5jZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UoKS55ZWFyKHRoaXMuY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5wYXJzZVpvbmVJbnN0YW5jZSh0aGlzLmRhdGEuZHBDb25maWcubWluRGF0ZSwgdGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCk7XG4gICAgaWYgKG1pbkRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICB0aGlzLmlzUHJldmlvdXNNb250aERpc2FibGVkID0gbWluRGF0ZS5pc1NhbWVPckFmdGVyKGN1cnJlbnRJbnN0YW5jZSwgXCJtb250aFwiKTtcbiAgICB9XG4gICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMucGFyc2Vab25lSW5zdGFuY2UodGhpcy5kYXRhLmRwQ29uZmlnLm1heERhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgIGlmIChtYXhEYXRlLmlzVmFsaWQoKSkge1xuICAgICAgdGhpcy5pc05leHRNb250aERpc2FibGVkID0gbWF4RGF0ZS5pc0JlZm9yZShjdXJyZW50SW5zdGFuY2UsIFwibW9udGhcIik7XG4gICAgfVxuICB9XG5cbiAgbmF2aWdhdGVNb250aChkaXJlY3Rpb246IFwiTkVYVFwiIHwgXCJQUkVWSU9VU1wiKTogdm9pZCB7XG4gICAgbGV0IHRoaXNNb250aDogTW9tZW50ID0gcGFyc2Vab25lKCkueWVhcih0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKS5tb250aCh0aGlzLmN1cnJlbnRNb250aE51bWJlcik7XG4gICAgaWYgKGRpcmVjdGlvbiA9PT0gXCJORVhUXCIpIHtcbiAgICAgIHRoaXNNb250aCA9IHRoaXNNb250aC5hZGQoMSwgXCJtb250aFwiKTtcbiAgICB9IGVsc2UgaWYgKGRpcmVjdGlvbiA9PT0gXCJQUkVWSU9VU1wiKSB7XG4gICAgICB0aGlzTW9udGggPSB0aGlzTW9udGguc3VidHJhY3QoMSwgXCJtb250aFwiKTtcbiAgICB9XG4gICAgdGhpcy5jdXJyZW50TW9udGhOdW1iZXIgPSB0aGlzTW9udGgubW9udGgoKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aCA9IGdldE1vbnRoKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyKTtcbiAgICB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyID0gdGhpc01vbnRoLnllYXIoKTtcbiAgICB0aGlzLmN1cnJlbnRNb250aERhdGVzID0gdGhpcy5nZW5lcmF0ZURhdGVzKHRoaXMuY3VycmVudE1vbnRoTnVtYmVyLCB0aGlzLmN1cnJlbnRZZWFyTnVtYmVyKTtcbiAgICB0aGlzLmNhbGN1bGF0ZU1pbk1heERheXMoKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2VuZXJhdGVEYXRlcyhtb250aDogbnVtYmVyLCBjdXJyZW50WWVhck51bWJlcjogbnVtYmVyKTogSUN1cnJlbnRNb250aERhdGVzW10ge1xuICAgIGxldCBkYXRlczogSUN1cnJlbnRNb250aERhdGVzW10gPSBbXTtcbiAgICBjb25zdCBkYXlzSW5Nb250aCA9IHBhcnNlWm9uZSgpLnllYXIoY3VycmVudFllYXJOdW1iZXIpLm1vbnRoKG1vbnRoKS5kYXlzSW5Nb250aCgpO1xuICAgIGZvciAobGV0IHN0YXJ0RGF0ZSA9IDE7IHN0YXJ0RGF0ZSA8PSBkYXlzSW5Nb250aDsgc3RhcnREYXRlKyspIHtcbiAgICAgIGNvbnN0IGRhdGUgPSBwYXJzZVpvbmUoKS55ZWFyKGN1cnJlbnRZZWFyTnVtYmVyKS5tb250aChtb250aCkuZGF0ZShzdGFydERhdGUpO1xuICAgICAgY29uc3QgZGF0ZVN0cmluZyA9IGRhdGUuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgICAgbGV0IGlzRGlzYWJsZWREYXkgPSB0aGlzLmRhdGEuZGF0ZXNEaXNhYmxlZC5zb21lKChkKSA9PiBkID09PSBkYXRlU3RyaW5nKTtcbiAgICAgIGNvbnN0IG1pbkRhdGUgPSBwYXJzZVpvbmUodGhpcy5kYXRhLmRwQ29uZmlnLm1pbkRhdGUsIHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpO1xuICAgICAgaWYgKCFpc0Rpc2FibGVkRGF5ICYmIG1pbkRhdGUuaXNWYWxpZCgpKSB7XG4gICAgICAgIGlzRGlzYWJsZWREYXkgPSBtaW5EYXRlLmlzQWZ0ZXIoZGF0ZSwgXCJkYXlcIik7XG4gICAgICB9XG4gICAgICBjb25zdCBtYXhEYXRlID0gcGFyc2Vab25lKHRoaXMuZGF0YS5kcENvbmZpZy5tYXhEYXRlLCB0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KTtcbiAgICAgIGlmICghaXNEaXNhYmxlZERheSAmJiBtYXhEYXRlLmlzVmFsaWQoKSkge1xuICAgICAgICBpc0Rpc2FibGVkRGF5ID0gbWF4RGF0ZS5pc0JlZm9yZShkYXRlLCBcImRheVwiKTtcbiAgICAgIH1cbiAgICAgIGRhdGVzLnB1c2goe1xuICAgICAgICBkYXRlOiBzdGFydERhdGUsXG4gICAgICAgIHdlZWtEYXk6IGRhdGUuZGF5KCksXG4gICAgICAgIGlzQ3VycmVudERheTpcbiAgICAgICAgICB0aGlzLnBhcnNlWm9uZUluc3RhbmNlKHsgeWVhcjogY3VycmVudFllYXJOdW1iZXIsIG1vbnRoLCBkYXRlOiBzdGFydERhdGUgfSkuZm9ybWF0KHRoaXMuZGF0YS5kcENvbmZpZy5mb3JtYXQpID09PVxuICAgICAgICAgIHBhcnNlWm9uZSgpLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSxcbiAgICAgICAgaXNTZWxlY3RlZERheTogZGF0ZS5mb3JtYXQodGhpcy5kYXRhLmRwQ29uZmlnLmZvcm1hdCkgPT09IHRoaXMuZGF0YS5kYXRlLFxuICAgICAgICB0b2FzdE1lc3NhZ2U6IHRoaXMuZGF0YS5tZXNzYWdlcy5maW5kKChxKSA9PiBkYXRlLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KSA9PT0gcS5kYXRlKT8ubWVzc2FnZSB8fCBcIlwiLFxuICAgICAgICBpc0Rpc2FibGVkRGF5LFxuICAgICAgfSk7XG4gICAgfVxuICAgIGZvciAobGV0IGkgPSBkYXRlc1swXS53ZWVrRGF5OyBpID4gMDsgaS0tKSB7XG4gICAgICBkYXRlcy51bnNoaWZ0KHsgZGF0ZTogMCwgd2Vla0RheTogaSAtIDEgfSk7XG4gICAgfVxuICAgIHJldHVybiBkYXRlcztcbiAgfVxuXG4gIHNlbGVjdERheShkYXk6IElDdXJyZW50TW9udGhEYXRlcykge1xuICAgIGlmIChkYXkuZGF0ZSA8PSAwKSByZXR1cm47XG4gICAgaWYgKCFkYXkuaXNEaXNhYmxlZERheSkge1xuICAgICAgdGhpcy5kYXRhLmRhdGVDaGFuZ2UoXG4gICAgICAgIHBhcnNlWm9uZSgpLnllYXIodGhpcy5jdXJyZW50WWVhck51bWJlcikubW9udGgodGhpcy5jdXJyZW50TW9udGhOdW1iZXIpLmRhdGUoZGF5LmRhdGUpLmZvcm1hdCh0aGlzLmRhdGEuZHBDb25maWcuZm9ybWF0KVxuICAgICAgKTtcbiAgICB9XG4gICAgaWYgKGRheS50b2FzdE1lc3NhZ2UpIHtcbiAgICAgIHRoaXMudG9hc3QuZGlzcGxheU1zZyhkYXkudG9hc3RNZXNzYWdlLCA0MDAwKTtcbiAgICB9XG4gIH1cbn1cbiJdfQ==
|
|
@@ -16,7 +16,7 @@ export class MisInputDirective {
|
|
|
16
16
|
var _a, _b;
|
|
17
17
|
(_b = (_a = this.control) === null || _a === void 0 ? void 0 : _a.control) === null || _b === void 0 ? void 0 : _b.statusChanges.pipe(takeUntil(this.endObs)).subscribe(() => {
|
|
18
18
|
var _a;
|
|
19
|
-
this.validityChange.next((_a = this.control.control) === null || _a === void 0 ? void 0 : _a.
|
|
19
|
+
this.validityChange.next(!((_a = this.control.control) === null || _a === void 0 ? void 0 : _a.invalid));
|
|
20
20
|
});
|
|
21
21
|
this.el.nativeElement.placeholder += ' ';
|
|
22
22
|
}
|
|
@@ -35,4 +35,4 @@ MisInputDirective.ctorParameters = () => [
|
|
|
35
35
|
{ type: ElementRef },
|
|
36
36
|
{ type: NgControl, decorators: [{ type: Self }, { type: Optional }] }
|
|
37
37
|
];
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWlzLWNvbXBvbmVudHMvaW5wdXQvZGlyZWN0aXZlcy9pbnB1dC9pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxVQUFVLEVBR1YsUUFBUSxFQUNSLElBQUksR0FDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGFBQWEsRUFBRSxPQUFPLEVBQWdCLE1BQU0sTUFBTSxDQUFDO0FBQzVELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU0zQyxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLFlBQ1MsRUFBYyxFQUNPLE9BQWtCO1FBRHZDLE9BQUUsR0FBRixFQUFFLENBQVk7UUFDTyxZQUFPLEdBQVAsT0FBTyxDQUFXO1FBRXhDLG1CQUFjLEdBQTJCLElBQUksYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3RFLGFBQVEsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzlDLFdBQU0sR0FBa0IsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQUN0QyxVQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ2QsYUFBUSxHQUFHLEtBQUssQ0FBQztJQUxkLENBQUM7SUFPSixRQUFROztRQUNOLFlBQUEsSUFBSSxDQUFDLE9BQU8sMENBQUUsT0FBTywwQ0FBRSxhQUFhLENBQ2pDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUMzQixTQUFTLENBQUMsR0FBRyxFQUFFOztZQUNkLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFFBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLDBDQUFFLE9BQU8sQ0FBQSxDQUFDLENBQUM7UUFDM0QsQ0FBQyxFQUFFO1FBQ0wsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQztJQUMzQyxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN6QixDQUFDOzs7WUExQkYsU0FBUyxTQUFDO2dCQUNULDJCQUEyQjtnQkFDM0IsUUFBUSxFQUFFLGlCQUFpQjthQUM1Qjs7O1lBYkMsVUFBVTtZQU1ILFNBQVMsdUJBV2IsSUFBSSxZQUFJLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIE9uRGVzdHJveSxcbiAgT25Jbml0LFxuICBPcHRpb25hbCxcbiAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBSZXBsYXlTdWJqZWN0LCBTdWJqZWN0LCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuQERpcmVjdGl2ZSh7XG4gIC8vIHRzbGludDpkaXNhYmxlLW5leHQtbGluZVxuICBzZWxlY3RvcjogJ2lucHV0W21pc0lucHV0XScsXG59KVxuZXhwb3J0IGNsYXNzIE1pc0lucHV0RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYsXG4gICAgQFNlbGYoKSBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbnRyb2w6IE5nQ29udHJvbFxuICApIHt9XG4gIHByaXZhdGUgdmFsaWRpdHlDaGFuZ2U6IFJlcGxheVN1YmplY3Q8Ym9vbGVhbj4gPSBuZXcgUmVwbGF5U3ViamVjdCgxKTtcbiAgdmFsaWRpdHkgPSB0aGlzLnZhbGlkaXR5Q2hhbmdlLmFzT2JzZXJ2YWJsZSgpO1xuICBlbmRPYnM6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xuICBmb2N1cyA9IGZhbHNlO1xuICBoYXNWYWx1ZSA9IGZhbHNlO1xuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuY29udHJvbD8uY29udHJvbD8uc3RhdHVzQ2hhbmdlc1xuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZW5kT2JzKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICB0aGlzLnZhbGlkaXR5Q2hhbmdlLm5leHQoIXRoaXMuY29udHJvbC5jb250cm9sPy5pbnZhbGlkKTtcbiAgICAgIH0pO1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5wbGFjZWhvbGRlciArPSAnICc7XG4gIH1cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5lbmRPYnMubmV4dCgpO1xuICAgIHRoaXMuZW5kT2JzLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -100,7 +100,7 @@ ToolTipDirective.propDecorators = {
|
|
|
100
100
|
width: [{ type: Input }],
|
|
101
101
|
text: [{ type: Input }],
|
|
102
102
|
position: [{ type: Input }],
|
|
103
|
-
onMouseEnter: [{ type: HostListener, args: ['mouseenter',
|
|
104
|
-
onMouseLeave: [{ type: HostListener, args: ['mouseleave',
|
|
103
|
+
onMouseEnter: [{ type: HostListener, args: ['mouseenter',] }],
|
|
104
|
+
onMouseLeave: [{ type: HostListener, args: ['mouseleave',] }]
|
|
105
105
|
};
|
|
106
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
106
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9taXMtY29tcG9uZW50cy90b29sdGlwL3Rvb2x0aXAuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx3QkFBd0IsRUFDeEIsU0FBUyxFQUNULFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUUvQixTQUFTLEVBQ1QsZ0JBQWdCLEVBQ2pCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBTXJELE1BQU0sT0FBTyxnQkFBZ0I7SUFrQzNCLFlBQ1UsVUFBc0IsRUFDdEIsUUFBbUIsRUFDbkIsZ0JBQWtDLEVBQ2xDLHdCQUFrRDtRQUhsRCxlQUFVLEdBQVYsVUFBVSxDQUFZO1FBQ3RCLGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUNsQyw2QkFBd0IsR0FBeEIsd0JBQXdCLENBQTBCO1FBckNyRCx1QkFBa0IsR0FBWSxLQUFLLENBQUE7UUFDbkMsaUJBQVksR0FBVyxFQUFFLENBQUE7UUFDekIsZ0JBQVcsR0FBVyxFQUFFLENBQUE7UUFDeEIsb0JBQWUsR0FBd0MsUUFBUSxDQUFBO1FBRTdELHVCQUFrQixHQUFZLEtBQUssQ0FBQTtRQUNuQyxnQkFBVyxHQUFZLEtBQUssQ0FBQTtJQWlDckMsQ0FBQztJQWhDRCxJQUFhLFdBQVcsQ0FBQyxLQUFjO1FBQ3JDLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxLQUFLLENBQUE7UUFDL0IsSUFBRyxLQUFLO1lBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFBOztZQUMxQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUE7SUFDekIsQ0FBQztJQUNELElBQWEsS0FBSyxDQUFDLEtBQWE7UUFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUE7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O1FBQ2hELG1DQUFtQztJQUNyQyxDQUFDOzs7WUEvRUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxjQUFjO2FBQ3pCOzs7WUFWQyxVQUFVO1lBRVYsU0FBUztZQUNULGdCQUFnQjtZQUxoQix3QkFBd0I7OztpQ0FtQnZCLEtBQUs7MEJBQ0wsS0FBSzswQkFDTCxLQUFLO29CQUtMLEtBQUs7bUJBSUwsS0FBSzt1QkFJTCxLQUFLOzJCQUtMLFlBQVksU0FBQyxZQUFZOzJCQUd6QixZQUFZLFNBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENvbXBvbmVudEZhY3RvcnlSZXNvbHZlciwgQ29tcG9uZW50UmVmLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsIEhvc3RMaXN0ZW5lciwgSW5wdXQsXG4gIE9uSW5pdCxcbiAgUmVuZGVyZXIyLFxuICBWaWV3Q29udGFpbmVyUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtUb29sVGlwQ29tcG9uZW50fSBmcm9tICcuL3Rvb2x0aXAuY29tcG9uZW50JztcbmltcG9ydCB7aXNDaGlsZE5vZGVPZn0gZnJvbSAnY29kZWx5emVyL3V0aWwvaXNDaGlsZE5vZGVPZic7XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttaXNUb29sVGlwXSdcbn0pXG5leHBvcnQgY2xhc3MgVG9vbFRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XG4gIHB1YmxpYyBpc1Rvb2xUaXBEaXNwbGF5ZWQ6IGJvb2xlYW4gPSBmYWxzZVxuICBwdWJsaWMgdG9vbFRpcFdpZHRoOiBzdHJpbmcgPSAnJ1xuICBwdWJsaWMgdG9vbFRpcFRleHQ6IHN0cmluZyA9ICcnXG4gIHB1YmxpYyB0b29sVGlwUG9zaXRpb246ICdMZWZ0JyB8ICdSaWdodCcgfCAnVG9wJyB8ICdCb3R0b20nID0gJ0JvdHRvbSdcblxuICBASW5wdXQoKSByZXNwb25zaXZlUG9zaXRpb246IGJvb2xlYW4gPSBmYWxzZVxuICBASW5wdXQoKSBzaG93T25Ib3ZlcjogYm9vbGVhbiA9IGZhbHNlXG4gIEBJbnB1dCgpIHNldCBzaG93VG9vbFRpcCh2YWx1ZTogYm9vbGVhbil7XG4gICAgdGhpcy5pc1Rvb2xUaXBEaXNwbGF5ZWQgPSB2YWx1ZVxuICAgIGlmKHZhbHVlKSB0aGlzLmRpc3BsYXlUb29sVGlwKClcbiAgICBlbHNlIHRoaXMuaGlkZVRvb2xUaXAoKVxuICB9XG4gIEBJbnB1dCgpIHNldCB3aWR0aCh2YWx1ZTogc3RyaW5nKXtcbiAgICB0aGlzLnRvb2xUaXBXaWR0aCA9IHZhbHVlXG4gICAgdGhpcy5jcmVhdGVUb29sVGlwKClcbiAgfVxuICBASW5wdXQoKSBzZXQgdGV4dCh2YWx1ZTogc3RyaW5nKXtcbiAgICB0aGlzLnRvb2xUaXBUZXh0ID0gdmFsdWVcbiAgICB0aGlzLmNyZWF0ZVRvb2xUaXAoKVxuICB9XG4gIEBJbnB1dCgpIHNldCBwb3NpdGlvbih2YWx1ZTogJ0xlZnQnIHwgJ1JpZ2h0JyB8ICdUb3AnIHwgJ0JvdHRvbScpe1xuICAgIHRoaXMudG9vbFRpcFBvc2l0aW9uID0gdmFsdWVcbiAgICB0aGlzLmNyZWF0ZVRvb2xUaXAoKVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicsKSBvbk1vdXNlRW50ZXIoKSB7XG4gICAgaWYgKHRoaXMuc2hvd09uSG92ZXIpIHRoaXMuZGlzcGxheVRvb2xUaXAoKVxuICB9XG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnLCkgb25Nb3VzZUxlYXZlKCl7XG4gICAgaWYodGhpcy5zaG93T25Ib3ZlcikgdGhpcy5oaWRlVG9vbFRpcCgpXG4gIH1cblxuICBwcml2YXRlIGNvbXBvbmVudFJlZjogQ29tcG9uZW50UmVmPFRvb2xUaXBDb21wb25lbnQ+XG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxuICAgIHByaXZhdGUgY29tcG9uZW50RmFjdG9yeVJlc29sdmVyOiBDb21wb25lbnRGYWN0b3J5UmVzb2x2ZXJcbiAgKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmNyZWF0ZVRvb2xUaXAoKVxuICB9XG4gIG5nQWZ0ZXJWaWV3SW5pdCgpe1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdwb3NpdGlvbicsICdyZWxhdGl2ZScpXG4gICAgaWYodGhpcy5pc1Rvb2xUaXBEaXNwbGF5ZWQpIHRoaXMuZGlzcGxheVRvb2xUaXAoKVxuICAgIGVsc2UgdGhpcy5oaWRlVG9vbFRpcCgpXG4gICAgaWYodGhpcy5pc1Rvb2xUaXBEaXNwbGF5ZWQgJiYgdGhpcy5yZXNwb25zaXZlUG9zaXRpb24pIHRoaXMudXBkYXRlUG9zaXRpb24oKVxuICB9XG4gIGNyZWF0ZVRvb2xUaXAoKXtcbiAgICBjb25zdCBjbXBGYWN0b3J5UmVzb2x2ZXIgPSB0aGlzLmNvbXBvbmVudEZhY3RvcnlSZXNvbHZlci5yZXNvbHZlQ29tcG9uZW50RmFjdG9yeShUb29sVGlwQ29tcG9uZW50KTtcbiAgICB0aGlzLnZpZXdDb250YWluZXJSZWYuY2xlYXIoKTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZiA9IHRoaXMudmlld0NvbnRhaW5lclJlZi5jcmVhdGVDb21wb25lbnQoY21wRmFjdG9yeVJlc29sdmVyKTtcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS53aWR0aCA9IHRoaXMudG9vbFRpcFdpZHRoXG4gICAgdGhpcy5jb21wb25lbnRSZWYuaW5zdGFuY2UudGV4dCA9IHRoaXMudG9vbFRpcFRleHRcbiAgICB0aGlzLmNvbXBvbmVudFJlZi5pbnN0YW5jZS5wb3NpdGlvbiA9IHRoaXMudG9vbFRpcFBvc2l0aW9uXG4gIH1cbiAgZGlzcGxheVRvb2xUaXAoKXtcbiAgICBsZXQgaXNDaGlsZCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNvbnRhaW5zKHRoaXMuY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpXG4gICAgaWYoIWlzQ2hpbGQpIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpXG4gICAgaWYodGhpcy5yZXNwb25zaXZlUG9zaXRpb24pIHRoaXMudXBkYXRlUG9zaXRpb24oKVxuICB9XG4gIGhpZGVUb29sVGlwKCl7XG4gICAgbGV0IGlzQ2hpbGQgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyh0aGlzLmNvbXBvbmVudFJlZi5sb2NhdGlvbi5uYXRpdmVFbGVtZW50KVxuICAgIGlmKGlzQ2hpbGQpIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRoaXMuY29tcG9uZW50UmVmLmxvY2F0aW9uLm5hdGl2ZUVsZW1lbnQpXG4gIH1cbiAgdXBkYXRlUG9zaXRpb24oKXtcbiAgICAvLyBsZXQgcmVjdDogYW55ID0gdGhpcy5jb21wb25lbnRSZWYubG9jYXRpb24ubmF0aXZlRWxlbWVudC5jaGlsZHJlblswXS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKVxuICAgIC8vIGxldCB7eCwgeSwgaGVpZ2h0LCB3aWR0aH0gPSByZWN0XG4gICAgLy9UT0RPOiBBZGQgbG9naWMgZm9yIHJlc3BvbnNpdmUgcG9zaXRpb25pbmdcbiAgICAvLyBVc2UgZGVmYXVsdCB2YWx1ZSBhcyBwcmlvcml0eSBhbmQgZG9udCBjaGFuZ2UgaXQgaGVyZSAndG9vbFRpcFBvc2l0aW9uJ1xuICAgIC8vIFVwZGF0ZSB0aGUgcG9zaXRpb24gdXNpbmcgYmVsb3cgbGluZVxuICAgIC8vIHRoaXMuY29tcG9uZW50UmVmLmluc3RhbmNlLnBvc2l0aW9uID0gJ1JpZ2h0J1xuICAgIC8vIGNvbnNvbGUubG9nKHgsIHksIGhlaWdodCwgd2lkdGgpXG4gIH1cbn1cblxuIl19
|