@ibragim-dev-org/ui-forge-library 1.0.8 → 1.1.0
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.
|
@@ -1 +1,3227 @@
|
|
|
1
|
-
const _0x6842e4=_0x481b;(function(_0x5edd27,_0x917b1f){const _0x331601=_0x481b,_0x41ff94=_0x5edd27();while(!![]){try{const _0x402b0f=-parseInt(_0x331601(0x26e))/0x1*(parseInt(_0x331601(0x322))/0x2)+parseInt(_0x331601(0x4bf))/0x3*(-parseInt(_0x331601(0x12a))/0x4)+-parseInt(_0x331601(0x2b6))/0x5+-parseInt(_0x331601(0x5e9))/0x6+parseInt(_0x331601(0x178))/0x7*(-parseInt(_0x331601(0x524))/0x8)+parseInt(_0x331601(0x1cd))/0x9*(-parseInt(_0x331601(0x475))/0xa)+parseInt(_0x331601(0x420))/0xb;if(_0x402b0f===_0x917b1f)break;else _0x41ff94['push'](_0x41ff94['shift']());}catch(_0x34654c){_0x41ff94['push'](_0x41ff94['shift']());}}}(_0x397e,0x34288));import*as _0x43162f from'@angular/core';import{input,effect,Directive,Injectable,EventEmitter,Output,Input,PLATFORM_ID,Inject,Pipe,Attribute,ChangeDetectionStrategy,Component,model,signal,computed,viewChild,untracked,output,Injector,afterRenderEffect,contentChildren,contentChild,ViewChildren}from'@angular/core';import{isPlatformBrowser,DOCUMENT,NgStyle}from'@angular/common';import{takeUntilDestroyed}from'@angular/core/rxjs-interop';import{fromEvent,tap,debounceTime,asyncScheduler,Subscription,timer,switchMap,scheduled,filter,take,BehaviorSubject,Subject,takeUntil}from'rxjs';import*as _0x2dfb38 from'@angular/platform-browser';import{PhoneNumberUtil,AsYouTypeFormatter}from'google-libphonenumber';import*as _0x4c6778 from'@angular/cdk/overlay';import{OverlayConfig,FlexibleConnectedPositionStrategy}from'@angular/cdk/overlay';import{ComponentPortal}from'@angular/cdk/portal';import*as _0x50a70f from'@angular/router';import{NavigationEnd}from'@angular/router';import{ulid}from'ulid';class DateUtils{static['parse'](_0x1611c6,_0x261193=DateUtils[_0x6842e4(0x1c7)]()){const _0x3daab8=_0x6842e4,_0xbe7b0b={'oOGrQ':function(_0x5749be,_0x4e697b){return _0x5749be||_0x4e697b;},'ePJhZ':function(_0x305e7e,_0x2e885a){return _0x305e7e<_0x2e885a;},'fSXDA':function(_0x1e53f0,_0x31de18){return _0x1e53f0>_0x31de18;},'epUhu':function(_0x48393f,_0x1cd472){return _0x48393f-_0x1cd472;}};if(!_0x1611c6)return null;const _0x104f96=_0x1611c6[_0x3daab8(0x46b)]('/');if(_0x104f96[_0x3daab8(0x41d)]!==0x3)return null;const [_0x47c36a,_0x523b28,_0x361a6b]=_0x104f96[_0x3daab8(0x2fc)](Number),_0x290afe=_0x261193?_0x47c36a:_0x523b28,_0x5a95b0=_0x261193?_0x523b28:_0x47c36a;if(_0xbe7b0b['oOGrQ'](!_0x5a95b0,!_0x290afe)||!_0x361a6b)return null;if(_0xbe7b0b[_0x3daab8(0xaa)](_0x290afe,0x1)||_0x290afe>0xc)return null;if(_0xbe7b0b[_0x3daab8(0xaa)](_0x5a95b0,0x1)||_0xbe7b0b['fSXDA'](_0x5a95b0,0x1f))return null;return new Date(_0x361a6b,_0xbe7b0b['epUhu'](_0x290afe,0x1),_0x5a95b0);}static[_0x6842e4(0x52d)](_0x5645d2,_0x3b20ab=![]){const _0x9cbc2=_0x6842e4,_0x580d0c={'brPcZ':function(_0x1a096d,_0x58f88f){return _0x1a096d(_0x58f88f);},'ukMct':function(_0x6fbc21,_0x23d0e9){return _0x6fbc21(_0x23d0e9);},'tWbJN':function(_0x2c58ef,_0x481975){return _0x2c58ef+_0x481975;}},_0x270e0f=_0x580d0c['brPcZ'](String,_0x5645d2[_0x9cbc2(0x317)]())['padStart'](0x2,'0'),_0x387069=_0x580d0c['ukMct'](String,_0x580d0c[_0x9cbc2(0x4de)](_0x5645d2[_0x9cbc2(0x5b5)](),0x1))[_0x9cbc2(0x1ef)](0x2,'0'),_0x6c7d30=_0x5645d2[_0x9cbc2(0x471)]();return _0x3b20ab?_0x387069+'/'+_0x270e0f+'/'+_0x6c7d30:_0x270e0f+'/'+_0x387069+'/'+_0x6c7d30;}static[_0x6842e4(0x1c7)](){const _0x5eaee8=_0x6842e4,_0x55c53e={'thQzd':function(_0x2be072,_0x243dae){return _0x2be072!==_0x243dae;},'RPICh':function(_0x3dc98a,_0x3ae511){return _0x3dc98a||_0x3ae511;},'fEOrp':function(_0x106bcf,_0x614662){return _0x106bcf===_0x614662;},'RpYRk':'en-us','DHhIC':_0x5eaee8(0x5d1)},_0x50676c=Intl[_0x5eaee8(0x4a9)]()[_0x5eaee8(0x4c0)]()['locale'],_0x33c03f=_0x55c53e[_0x5eaee8(0x3b1)](typeof navigator,'undefined')?navigator['language']:undefined,_0x1aa1cd=(_0x55c53e[_0x5eaee8(0x378)](_0x50676c,_0x33c03f)||'')[_0x5eaee8(0xea)]();return _0x55c53e[_0x5eaee8(0x4af)](_0x1aa1cd,_0x55c53e[_0x5eaee8(0x5f4)])||_0x1aa1cd[_0x5eaee8(0x19a)](_0x55c53e[_0x5eaee8(0x5ac)]);}static['setMonthSafe'](_0x4b991a,_0x5265e7){const _0x27df06=_0x6842e4,_0x47e12e={'PsdqQ':function(_0xe112bc,_0xaed13f){return _0xe112bc+_0xaed13f;}},_0x205897=new Date(_0x4b991a),_0x3f6546=_0x205897[_0x27df06(0x471)](),_0x5308bd=_0x205897[_0x27df06(0x317)](),_0xd4322b=new Date(_0x3f6546,_0x47e12e[_0x27df06(0x3ff)](_0x5265e7,0x1),0x0)[_0x27df06(0x317)]();return _0x205897[_0x27df06(0xaf)](Math[_0x27df06(0x3ed)](_0x5308bd,_0xd4322b)),_0x205897[_0x27df06(0x35e)](_0x5265e7),_0x205897;}}class AutoFocusDirective{['el'];[_0x6842e4(0x58b)]=input[_0x6842e4(0x205)]({'debugName':_0x6842e4(0x267)});constructor(_0x4fbb5a){const _0x5f07a1=_0x6842e4,_0x46300d={'iyNfN':_0x5f07a1(0x4f9),'FKJif':function(_0x231e3a,_0x16c135){return _0x231e3a(_0x16c135);}};this['el']=_0x4fbb5a,_0x46300d[_0x5f07a1(0x133)](effect,()=>{const _0x43737d=_0x5f07a1;this[_0x43737d(0x58b)]()&&(_0x46300d[_0x43737d(0x20f)]===_0x43737d(0x323)?this['openAttached'](_0x142b15,_0x2606c4,_0x314989,{'options':{'inputs':{'text':_0x13adf0}},'position':_0x53013b,'hasBackdrop':![],'removePrevious':![],'hasAttachedWidth':![]},_0xed897,_0x24d11e):this['el'][_0x43737d(0xa5)][_0x43737d(0x563)]());});}static [_0x6842e4(0x51e)]=_0x43162f['ɵɵngDeclareFactory']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':AutoFocusDirective,'deps':[{'token':_0x43162f[_0x6842e4(0xef)]}],'target':_0x43162f['ɵɵFactoryTarget'][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x3fe),'version':'21.1.1','type':AutoFocusDirective,'isStandalone':!![],'selector':'[appAutoFocus]','inputs':{'$shouldFocus':{'classPropertyName':_0x6842e4(0x58b),'publicName':_0x6842e4(0x58b),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'ngImport':_0x43162f});}_0x43162f['ɵɵngDeclareClassMetadata']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':AutoFocusDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x2ca)}]}],'ctorParameters':()=>[{'type':_0x43162f['ElementRef']}],'propDecorators':{'$shouldFocus':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x58b),'required':!![]}]}]}});class LazyImageService{[_0x6842e4(0x266)];[_0x6842e4(0x1ca)](){const _0x37899f=_0x6842e4,_0x4f4524={'IMopL':function(_0x376145,_0x686ed1){return _0x376145-_0x686ed1;},'zEeYq':function(_0x4d6d6f,_0x2eb91b){return _0x4d6d6f/_0x2eb91b;},'hUTHH':function(_0x1201e7,_0xc66d1a){return _0x1201e7+_0xc66d1a;},'JsCye':function(_0x3d06ac,_0x24b842){return _0x3d06ac-_0x24b842;},'IKvgP':function(_0x55f39b,_0x59d2b1){return _0x55f39b/_0x59d2b1;},'RVnwK':function(_0x2a6039,_0x378505){return _0x2a6039*_0x378505;},'UYcVt':function(_0x2c3119,_0x4c19ee){return _0x2c3119+_0x4c19ee;},'ulSoU':function(_0x251347,_0xf1ce69){return _0x251347!==_0xf1ce69;},'kZdAZ':_0x37899f(0x1d7),'MRfzw':function(_0x554868,_0x17147a){return _0x554868!==_0x17147a;},'pvggd':_0x37899f(0x332),'bnLLN':function(_0x582ed2,_0x3ca9a3){return _0x582ed2!==_0x3ca9a3;},'uimbN':_0x37899f(0x4b4),'vyOKL':_0x37899f(0x417)};return!this[_0x37899f(0x266)]&&(_0x4f4524['bnLLN'](_0x4f4524[_0x37899f(0xdf)],_0x4f4524[_0x37899f(0x5b1)])?this[_0x37899f(0x266)]=new IntersectionObserver(_0x4823a5=>{const _0x607c08=_0x37899f,_0x50dcd4={'meFIq':function(_0x538bc9,_0x5756a8){const _0x1f0298=_0x481b;return _0x4f4524[_0x1f0298(0x3cc)](_0x538bc9,_0x5756a8);},'Keeqi':_0x4f4524[_0x607c08(0x272)]};if(_0x4f4524[_0x607c08(0x154)](_0x4f4524[_0x607c08(0x337)],_0x4f4524[_0x607c08(0x337)])){_0x43a46c['preventDefault']();const [_0x459592,_0x205d30]=_0x1fbbed[_0x607c08(0x281)],_0x5ede84=_0x476fdd[_0x607c08(0x5ad)](_0x205d30[_0x607c08(0x2a1)]-_0x459592[_0x607c08(0x2a1)],_0x4f4524[_0x607c08(0x4c1)](_0x205d30[_0x607c08(0x13e)],_0x459592['clientY'])),_0x39ee6c=_0x5ede84-this['lastTouchDistance'];this['lastTouchDistance']=_0x5ede84;const _0x53d971=_0x277df6[_0x607c08(0x167)](),_0x264256=_0x4f4524['IMopL'](_0x4f4524[_0x607c08(0x561)](_0x4f4524[_0x607c08(0x59f)](_0x459592[_0x607c08(0x2a1)],_0x205d30[_0x607c08(0x2a1)]),0x2),_0x53d971[_0x607c08(0x201)]),_0x591dbf=_0x4f4524[_0x607c08(0x5a1)](_0x4f4524[_0x607c08(0x561)](_0x4f4524[_0x607c08(0x59f)](_0x459592['clientY'],_0x205d30['clientY']),0x2),_0x53d971[_0x607c08(0xb1)]);this['pointer']['x']=_0x264256,this['pointer']['y']=_0x591dbf,this[_0x607c08(0x147)]['x']=_0x4f4524['zEeYq'](this[_0x607c08(0x365)]['x']-this['pos']['x'],this[_0x607c08(0x20c)]),this[_0x607c08(0x147)]['y']=_0x4f4524['IKvgP'](this[_0x607c08(0x365)]['y']-this[_0x607c08(0x43e)]['y'],this[_0x607c08(0x20c)]);const _0x1eb7cd=0.005;this['scale']+=_0x4f4524[_0x607c08(0x192)](_0x4f4524[_0x607c08(0x192)](_0x39ee6c,_0x1eb7cd),this[_0x607c08(0x20c)]);const _0x2fb395=0x4,_0x1fe4ad=0x1;this[_0x607c08(0x20c)]=_0x73edbe[_0x607c08(0x1c2)](_0x1fe4ad,_0x115883[_0x607c08(0x3ed)](_0x2fb395,this['scale'])),this[_0x607c08(0x43e)]['x']=_0x4f4524[_0x607c08(0x3e6)](-this['target']['x']*this[_0x607c08(0x20c)],this[_0x607c08(0x365)]['x']),this[_0x607c08(0x43e)]['y']=_0x4f4524[_0x607c08(0x59f)](-this[_0x607c08(0x147)]['y']*this[_0x607c08(0x20c)],this[_0x607c08(0x365)]['y']),this[_0x607c08(0x42d)](),this[_0x607c08(0x29a)]['set'](_0x607c08(0x1e6)+this['pos']['x']+_0x607c08(0x40c)+this['pos']['y']+_0x607c08(0x467)+this[_0x607c08(0x20c)]+')');}else _0x4823a5['forEach'](_0x41eeca=>{const _0x444e80=_0x607c08,_0x3ec843=_0x41eeca[_0x444e80(0x147)];if(_0x41eeca[_0x444e80(0x1e2)]){if(_0x50dcd4['meFIq'](_0x444e80(0x15a),_0x444e80(0x15a))){_0x349dc6[_0x444e80(0x304)]='';return;}else{const _0x550fbc=_0x3ec843[_0x444e80(0x3bb)](_0x50dcd4['Keeqi']);if(_0x550fbc)_0x3ec843[_0x444e80(0x4ca)]=_0x550fbc;this[_0x444e80(0x266)]?.['unobserve'](_0x3ec843);}}});}):this[_0x37899f(0xed)][_0x37899f(0x26b)](_0x1608b9)),this['observer'];}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':LazyImageService,'deps':[],'target':_0x43162f['ɵɵFactoryTarget'][_0x6842e4(0x157)]});static [_0x6842e4(0x56c)]=_0x43162f[_0x6842e4(0x363)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':LazyImageService,'providedIn':_0x6842e4(0xfe)});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':LazyImageService,'decorators':[{'type':Injectable,'args':[{'providedIn':_0x6842e4(0xfe)}]}]});class LazyImgDirective{['el'];[_0x6842e4(0x166)];[_0x6842e4(0x57c)];[_0x6842e4(0x33e)]=new EventEmitter();['observer'];constructor(_0x21b3b6,_0x508edc){const _0x43d846=_0x6842e4;this['el']=_0x21b3b6,this[_0x43d846(0x166)]=_0x508edc;}[_0x6842e4(0x324)](){const _0x3e72e1=_0x6842e4;this[_0x3e72e1(0x33e)][_0x3e72e1(0x474)]();}[_0x6842e4(0x1e7)](){const _0x356d8c=_0x6842e4,_0x38503b={'jlfth':function(_0x55d43c,_0xb56bb8){return _0x55d43c===_0xb56bb8;},'CTJGh':_0x356d8c(0x1d7)},_0x5d0564=this['el'][_0x356d8c(0xa5)];if(!this[_0x356d8c(0x57c)]||_0x38503b[_0x356d8c(0x125)](this['lazySrc'][_0x356d8c(0x436)]()[_0x356d8c(0x41d)],0x0)){this[_0x356d8c(0x33e)][_0x356d8c(0x474)]();return;}_0x5d0564['addEventListener'](_0x356d8c(0x548),this['onError']),_0x5d0564[_0x356d8c(0x437)](_0x38503b[_0x356d8c(0x30f)],this['lazySrc']),this['observer']=this[_0x356d8c(0x166)][_0x356d8c(0x1ca)](),this[_0x356d8c(0x266)][_0x356d8c(0x431)](_0x5d0564);}['ngOnDestroy'](){const _0x354061=_0x6842e4,_0x4cdc79={'iEyGN':function(_0x1bda7d,_0x2160fb){return _0x1bda7d!==_0x2160fb;},'XLMsK':'qFxpp','iNJtk':'tSJtQ','RTWjK':_0x354061(0x548)},_0x1bbae5=this['el'][_0x354061(0xa5)];this[_0x354061(0x266)]&&(_0x4cdc79['iEyGN'](_0x4cdc79[_0x354061(0x3d0)],_0x4cdc79[_0x354061(0x5eb)])?this[_0x354061(0x266)][_0x354061(0x19c)](_0x1bbae5):_0x232f17[_0x354061(0x2b7)]=_0x212569['width']),_0x1bbae5[_0x354061(0x401)](_0x4cdc79[_0x354061(0x32e)],this[_0x354061(0x324)]);}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':LazyImgDirective,'deps':[{'token':_0x43162f[_0x6842e4(0xef)]},{'token':LazyImageService}],'target':_0x43162f[_0x6842e4(0x597)]['Directive']});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':'14.0.0','version':_0x6842e4(0x2ac),'type':LazyImgDirective,'isStandalone':!![],'selector':'img[lazySrc]','inputs':{'lazySrc':_0x6842e4(0x57c)},'outputs':{'loadError':_0x6842e4(0x33e)},'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':LazyImgDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x412)}]}],'ctorParameters':()=>[{'type':_0x43162f['ElementRef']},{'type':LazyImageService}],'propDecorators':{'lazySrc':[{'type':Input}],'loadError':[{'type':Output}]}});class MaskGradientDirective{[_0x6842e4(0x4fb)];['destroyRef'];['renderer'];[_0x6842e4(0xde)];['id']=input[_0x6842e4(0x205)](...ngDevMode?[{'debugName':'id'}]:[]);constructor(_0x161764,_0xc5de74,_0x237760,_0x40e5df){const _0x3930f5=_0x6842e4;this['elementRef']=_0x161764,this[_0x3930f5(0x380)]=_0xc5de74,this[_0x3930f5(0xad)]=_0x237760,this['platformId']=_0x40e5df;}[_0x6842e4(0x3e1)](){const _0x16b3c3=_0x6842e4,_0x1cf78d={'FmiAn':function(_0x1d8cb7,_0x190075){return _0x1d8cb7!==_0x190075;},'IYvST':_0x16b3c3(0x54a),'DkIFg':function(_0xf86da2,_0xc83fa2){return _0xf86da2(_0xc83fa2);},'sEEju':function(_0x12f261,_0x4e5e65){return _0x12f261+_0x4e5e65;},'akeRN':_0x16b3c3(0x3ef),'RgrII':_0x16b3c3(0x2c9),'vJUcI':function(_0x5c9415,_0x5bdc20,_0x1d5647){return _0x5c9415(_0x5bdc20,_0x1d5647);},'nekGU':_0x16b3c3(0x568),'iTYLf':function(_0x3034e0,_0x24e755){return _0x3034e0(_0x24e755);},'KKnpR':function(_0x4d0142,_0x3c311a){return _0x4d0142(_0x3c311a);},'binyR':function(_0x3b32ec,_0x429760){return _0x3b32ec(_0x429760);},'gETne':function(_0x4afbdf,_0x51dfa5){return _0x4afbdf(_0x51dfa5);},'DlvBR':function(_0x4d2635,_0x18589a){return _0x4d2635+_0x18589a;},'dbLqs':_0x16b3c3(0x1b8)};_0x1cf78d[_0x16b3c3(0x5c6)](fromEvent,this[_0x16b3c3(0x4fb)]['nativeElement'],_0x1cf78d[_0x16b3c3(0x4e1)])[_0x16b3c3(0x10a)](_0x1cf78d[_0x16b3c3(0x17d)](tap,()=>{this['setGradient']();}),_0x1cf78d[_0x16b3c3(0x55e)](debounceTime,0x12c),_0x1cf78d['binyR'](tap,()=>{const _0x4aaa5b=_0x16b3c3;if(_0x1cf78d[_0x4aaa5b(0xac)](_0x1cf78d['IYvST'],_0x1cf78d[_0x4aaa5b(0x2a9)])){this['$dateStart'][_0x4aaa5b(0x26b)](_0x1b569c),this[_0x4aaa5b(0x213)][_0x4aaa5b(0x474)]({'start':_0x27a792,'end':null});return;}else{const _0x545b81=this[_0x4aaa5b(0x4fb)]['nativeElement'],_0x1272cb=_0x545b81[_0x4aaa5b(0x4bb)];_0x1cf78d[_0x4aaa5b(0x5c5)](isPlatformBrowser,this[_0x4aaa5b(0xde)])&&sessionStorage[_0x4aaa5b(0x495)](_0x1cf78d[_0x4aaa5b(0x48e)](this['id'](),_0x1cf78d[_0x4aaa5b(0x206)]),_0x1272cb[_0x4aaa5b(0x316)]());}}),_0x1cf78d[_0x16b3c3(0x5c5)](takeUntilDestroyed,this[_0x16b3c3(0x380)]))[_0x16b3c3(0x144)]();if(isPlatformBrowser(this['platformId'])){const _0x1ba211=_0x1cf78d[_0x16b3c3(0xfc)](parseInt,sessionStorage[_0x16b3c3(0x37c)](_0x1cf78d['DlvBR'](this['id'](),_0x16b3c3(0x3ef)))??'0');this[_0x16b3c3(0x4fb)]['nativeElement'][_0x16b3c3(0x568)]({'behavior':_0x1cf78d[_0x16b3c3(0x2cf)],'top':_0x1ba211});}if(_0x1cf78d['iTYLf'](isPlatformBrowser,this[_0x16b3c3(0xde)])){const _0x832a19=new ResizeObserver(()=>{const _0x2ed23c=_0x16b3c3,_0x475882={'SOAzE':function(_0x44dab4,_0x57dc39){return _0x44dab4(_0x57dc39);},'mZsja':function(_0x5b4f1e,_0x596bb6){return _0x5b4f1e(_0x596bb6);},'qgULK':function(_0x299200,_0x43cfeb){return _0x299200!==_0x43cfeb;},'uGURC':_0x1cf78d[_0x2ed23c(0x55b)]};asyncScheduler[_0x2ed23c(0x585)](()=>{const _0x1ff773=_0x2ed23c;if(_0x475882[_0x1ff773(0x3ee)](_0x475882[_0x1ff773(0x248)],_0x475882[_0x1ff773(0x248)])){const _0x4543ab={'nLYjg':function(_0x32acee,_0x3414f1){const _0x17b27d=_0x1ff773;return _0x475882[_0x17b27d(0x130)](_0x32acee,_0x3414f1);}};this[_0x1ff773(0xad)]=_0x11c7e6,this[_0x1ff773(0x4fb)]=_0x387098,_0x475882[_0x1ff773(0x510)](_0x37eca6,()=>{const _0x5df574=_0x1ff773,_0x5c5288=this['$tabs']();this['$templates']()[_0x5df574(0x484)]((_0x2594d7,_0x256bd4)=>{_0x5c5288[_0x256bd4]['template']=_0x2594d7;}),_0x4543ab[_0x5df574(0x3ba)](_0x549422,()=>{const _0x3411d0=_0x5df574;this[_0x3411d0(0xed)][_0x3411d0(0x26b)](_0x5c5288);});});}else this[_0x1ff773(0x572)]();});});_0x832a19[_0x16b3c3(0x431)](this['elementRef'][_0x16b3c3(0xa5)]),this[_0x16b3c3(0x380)][_0x16b3c3(0x599)](()=>_0x832a19[_0x16b3c3(0x43d)]());}}[_0x6842e4(0x572)](){const _0xa5ac16=_0x6842e4,_0x493699={'OUeNN':function(_0x3e3d7f,_0xa01d02){return _0x3e3d7f(_0xa01d02);},'cbZRH':function(_0x416c8b,_0x5ca30c){return _0x416c8b<_0x5ca30c;},'mtfOs':function(_0x4765d0,_0x4667d5){return _0x4765d0>=_0x4667d5;},'zLlgK':function(_0x5c8d3d,_0x44e39c){return _0x5c8d3d+_0x44e39c;},'kRDBX':function(_0x4f2445,_0x4fbbb1){return _0x4f2445-_0x4fbbb1;},'SevCm':function(_0x532e5c,_0x1d8d8d){return _0x532e5c!==_0x1d8d8d;},'GmmTp':'GPpWi','fzKpt':_0xa5ac16(0x4ab),'pxoIz':_0xa5ac16(0x46e)},_0x28aeb4=this['elementRef']['nativeElement'][_0xa5ac16(0x4bb)],_0x1c5072=this[_0xa5ac16(0x4fb)][_0xa5ac16(0xa5)]['scrollHeight'],_0x28e023=this[_0xa5ac16(0x4fb)][_0xa5ac16(0xa5)][_0xa5ac16(0x2c7)],_0x4637a0=_0x493699[_0xa5ac16(0x4a2)](_0x28aeb4,0xa),_0x5310b0=_0x493699[_0xa5ac16(0x46f)](_0x493699[_0xa5ac16(0x30d)](_0x28aeb4,_0x28e023),_0x493699[_0xa5ac16(0x261)](_0x1c5072,0xa));let _0x376c4d='';if(_0x4637a0)_0x493699[_0xa5ac16(0x96)](_0x493699[_0xa5ac16(0x5e6)],_0x493699['GmmTp'])?_0x493699[_0xa5ac16(0x352)](_0x3b1ff6,()=>{const _0x5a16c5=_0xa5ac16;this[_0x5a16c5(0x268)]();}):_0x376c4d=_0xa5ac16(0x30c);else _0x5310b0?_0x376c4d=_0xa5ac16(0x2a7):_0x376c4d='linear-gradient(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x200deg,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20rgb(0\x200\x200\x20/\x200%)\x200%,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20rgb(0\x200\x200\x20/\x20100%)\x2010%,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20rgb(0\x200\x200\x20/\x20100%)\x2090%,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20rgb(0\x200\x200\x20/\x200%)\x20100%\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)';this['renderer'][_0xa5ac16(0x250)](this['elementRef'][_0xa5ac16(0xa5)],_0x493699[_0xa5ac16(0x21d)],_0x376c4d),this[_0xa5ac16(0xad)][_0xa5ac16(0x250)](this[_0xa5ac16(0x4fb)]['nativeElement'],_0x493699[_0xa5ac16(0x4a8)],_0x376c4d);}static ['ɵfac']=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':MaskGradientDirective,'deps':[{'token':_0x43162f[_0x6842e4(0xef)]},{'token':_0x43162f[_0x6842e4(0x564)]},{'token':_0x43162f[_0x6842e4(0x14f)]},{'token':PLATFORM_ID}],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':'17.1.0','version':_0x6842e4(0x2ac),'type':MaskGradientDirective,'isStandalone':!![],'selector':'[markGradientDirective]','inputs':{'id':{'classPropertyName':'id','publicName':'id','isSignal':!![],'isRequired':!![],'transformFunction':null}},'ngImport':_0x43162f});}_0x43162f['ɵɵngDeclareClassMetadata']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':MaskGradientDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0xbb)}]}],'ctorParameters':()=>[{'type':_0x43162f[_0x6842e4(0xef)]},{'type':_0x43162f['DestroyRef']},{'type':_0x43162f[_0x6842e4(0x14f)]},{'type':undefined,'decorators':[{'type':Inject,'args':[PLATFORM_ID]}]}],'propDecorators':{'id':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':'id','required':!![]}]}]}});class TrackLifecycleDirective{[_0x6842e4(0x3a5)]=new EventEmitter();['onChanges']=new EventEmitter();[_0x6842e4(0x4f1)]=new EventEmitter();[_0x6842e4(0x140)]=new EventEmitter();[_0x6842e4(0xbc)]=new EventEmitter();[_0x6842e4(0xab)]=new EventEmitter();[_0x6842e4(0x21c)]=new EventEmitter();['onAfterViewChecked']=new EventEmitter();[_0x6842e4(0x599)]=new EventEmitter();constructor(){this['onConstructed']['emit']();}[_0x6842e4(0x342)](_0x503b91){const _0x5cc29e=_0x6842e4;this[_0x5cc29e(0x555)][_0x5cc29e(0x474)](_0x503b91);}[_0x6842e4(0x1e7)](){const _0x4d8ac9=_0x6842e4;this[_0x4d8ac9(0x4f1)]['emit']();}[_0x6842e4(0x47b)](){const _0x54157e=_0x6842e4;this[_0x54157e(0x140)][_0x54157e(0x474)]();}[_0x6842e4(0x15d)](){const _0x6c5930=_0x6842e4;this[_0x6c5930(0xbc)][_0x6c5930(0x474)]();}['ngAfterContentChecked'](){const _0x33e278=_0x6842e4;this['onAfterContentChecked'][_0x33e278(0x474)]();}['ngAfterViewInit'](){const _0x53392b=_0x6842e4;this[_0x53392b(0x21c)][_0x53392b(0x474)]();}[_0x6842e4(0xf4)](){const _0x42576d=_0x6842e4;this[_0x42576d(0x4df)][_0x42576d(0x474)]();}[_0x6842e4(0x23d)](){this['onDestroy']['emit']();}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':TrackLifecycleDirective,'deps':[],'target':_0x43162f['ɵɵFactoryTarget'][_0x6842e4(0x2ff)]});static ['ɵdir']=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x56a),'version':'21.1.1','type':TrackLifecycleDirective,'isStandalone':!![],'selector':_0x6842e4(0x17a),'outputs':{'onConstructed':_0x6842e4(0x3a5),'onChanges':_0x6842e4(0x555),'onInit':_0x6842e4(0x4f1),'onDoCheck':'onDoCheck','onAfterContentInit':_0x6842e4(0xbc),'onAfterContentChecked':_0x6842e4(0xab),'onAfterViewInit':_0x6842e4(0x21c),'onAfterViewChecked':_0x6842e4(0x4df),'onDestroy':'onDestroy'},'usesOnChanges':!![],'ngImport':_0x43162f});}_0x43162f['ɵɵngDeclareClassMetadata']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':TrackLifecycleDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x17a)}]}],'ctorParameters':()=>[],'propDecorators':{'onConstructed':[{'type':Output}],'onChanges':[{'type':Output}],'onInit':[{'type':Output}],'onDoCheck':[{'type':Output}],'onAfterContentInit':[{'type':Output}],'onAfterContentChecked':[{'type':Output}],'onAfterViewInit':[{'type':Output}],'onAfterViewChecked':[{'type':Output}],'onDestroy':[{'type':Output}]}});class StickyObserverDirective{[_0x6842e4(0x4fb)];[_0x6842e4(0xad)];[_0x6842e4(0x266)];[_0x6842e4(0x464)];constructor(_0x2bec86,_0x125da9){const _0x5e1871=_0x6842e4;this[_0x5e1871(0x4fb)]=_0x2bec86,this[_0x5e1871(0xad)]=_0x125da9;}[_0x6842e4(0x3e1)](){const _0x268e3a=_0x6842e4,_0x235d77={'dhMKq':function(_0x1bbf0d,_0x5f34eb){return _0x1bbf0d!==_0x5f34eb;},'JKtnF':'YKIbb','GqIiJ':_0x268e3a(0x5a4),'zijWz':_0x268e3a(0x488),'BYoBf':_0x268e3a(0x373),'kyoUW':_0x268e3a(0x2f8),'Zxyyc':'1px','Juyiy':'pointer-events','AwEaT':'none','FcfNs':_0x268e3a(0x5b4)},_0x20dde6=this[_0x268e3a(0x4fb)]['nativeElement'];this[_0x268e3a(0x464)]=this[_0x268e3a(0xad)][_0x268e3a(0x3f0)](_0x235d77[_0x268e3a(0x41f)]),this[_0x268e3a(0xad)][_0x268e3a(0x250)](this[_0x268e3a(0x464)],_0x235d77[_0x268e3a(0x38a)],_0x235d77['Zxyyc']),this[_0x268e3a(0xad)][_0x268e3a(0x250)](this['sentinel'],_0x268e3a(0x9e),_0x268e3a(0x216)),this[_0x268e3a(0xad)][_0x268e3a(0x250)](this[_0x268e3a(0x464)],_0x235d77[_0x268e3a(0x13a)],_0x235d77[_0x268e3a(0x5a8)]),this[_0x268e3a(0xad)][_0x268e3a(0x250)](this[_0x268e3a(0x464)],_0x235d77[_0x268e3a(0x1c6)],'0');const _0x290457=_0x20dde6[_0x268e3a(0x5d0)];_0x290457[_0x268e3a(0x5fa)](this[_0x268e3a(0x464)],_0x20dde6),this[_0x268e3a(0x266)]=new IntersectionObserver(([_0x2e300e])=>{const _0xf7ed23=_0x268e3a,_0x338a6f=_0x2e300e[_0xf7ed23(0x414)][_0xf7ed23(0xb1)]<0x0;if(_0x338a6f){if(_0x235d77[_0xf7ed23(0x180)](_0x235d77[_0xf7ed23(0x536)],_0x235d77['GqIiJ']))this[_0xf7ed23(0xad)][_0xf7ed23(0x41c)](_0x20dde6,'sticked');else{const _0x789ca5=_0x371f8a['target'];_0x789ca5[_0xf7ed23(0x53b)](0x1,0x1);}}else this[_0xf7ed23(0xad)][_0xf7ed23(0xd9)](_0x20dde6,_0x235d77[_0xf7ed23(0x279)]);},{'threshold':[0x1]}),this[_0x268e3a(0x266)][_0x268e3a(0x431)](this[_0x268e3a(0x464)]);}['ngOnDestroy'](){const _0x1e5c18=_0x6842e4;this[_0x1e5c18(0x266)]?.[_0x1e5c18(0x43d)](),this[_0x1e5c18(0x464)]?.[_0x1e5c18(0x425)]();}static ['ɵfac']=_0x43162f['ɵɵngDeclareFactory']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':StickyObserverDirective,'deps':[{'token':_0x43162f[_0x6842e4(0xef)]},{'token':_0x43162f[_0x6842e4(0x14f)]}],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x56a),'version':_0x6842e4(0x2ac),'type':StickyObserverDirective,'isStandalone':!![],'selector':_0x6842e4(0x2ad),'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':StickyObserverDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x2ad)}]}],'ctorParameters':()=>[{'type':_0x43162f[_0x6842e4(0xef)]},{'type':_0x43162f[_0x6842e4(0x14f)]}]});class CenterEllipsisPipe{['transform'](_0x5f0e36,_0x873fb1=0x4,_0xe5f4d4=0x4){const _0x529545=_0x6842e4,_0x32e544={'vBuOV':function(_0xe1f90c,_0x56a667){return _0xe1f90c<=_0x56a667;}};if(!_0x5f0e36)return'';if(_0x32e544[_0x529545(0x3e8)](_0x5f0e36['length'],_0x873fb1+_0xe5f4d4))return _0x5f0e36;const _0x38c182=_0x5f0e36[_0x529545(0x5f0)](0x0,_0x873fb1),_0x152cdf=_0x5f0e36[_0x529545(0x5f0)](-_0xe5f4d4);return _0x38c182+_0x529545(0x2d3)+_0x152cdf;}static [_0x6842e4(0x51e)]=_0x43162f['ɵɵngDeclareFactory']({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':CenterEllipsisPipe,'deps':[],'target':_0x43162f['ɵɵFactoryTarget'][_0x6842e4(0x153)]});static [_0x6842e4(0x530)]=_0x43162f[_0x6842e4(0x5b8)]({'minVersion':_0x6842e4(0x56a),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':CenterEllipsisPipe,'isStandalone':!![],'name':_0x6842e4(0x35a)});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':CenterEllipsisPipe,'decorators':[{'type':Pipe,'args':[{'name':_0x6842e4(0x35a)}]}]});function getAspectRatioFit(_0x41b373,_0x2815b5,_0x3d2d7e,_0x4dc0e4){const _0xa8dc8c=_0x6842e4,_0x23e93d={'UuSnH':function(_0x2dfc55,_0x592c6e){return _0x2dfc55!==_0x592c6e;},'pnphi':_0xa8dc8c(0x49d),'XjUxp':function(_0x47cfaf,_0x5d32cc){return _0x47cfaf/_0x5d32cc;},'GKUpD':function(_0x250028,_0x4b9ed1){return _0x250028*_0x4b9ed1;}};if(_0x3d2d7e&&_0x4dc0e4){if(_0x23e93d[_0xa8dc8c(0x371)](_0x23e93d[_0xa8dc8c(0x4a1)],_0x23e93d[_0xa8dc8c(0x4a1)])){const _0x5e09bd=new _0x2e30f0();_0x5e09bd[_0xa8dc8c(0x4ca)]=this['$src'](),_0x5e09bd['onload']=()=>{const _0x5ebf03=_0xa8dc8c;this[_0x5ebf03(0x539)](this[_0x5ebf03(0x1eb)](),this['$maxHeight'](),_0x5e09bd[_0x5ebf03(0x2b7)],_0x5e09bd['height']),_0x5e09bd['remove']();};}else{const _0x4433f2=Math[_0xa8dc8c(0x3ed)](_0x23e93d[_0xa8dc8c(0x4fc)](_0x41b373,_0x3d2d7e),_0x2815b5/_0x4dc0e4);return{'width':_0x23e93d[_0xa8dc8c(0x31c)](_0x3d2d7e,_0x4433f2),'height':_0x4dc0e4*_0x4433f2};}}return{'width':_0x41b373,'height':_0x2815b5};}function stringToHslColor(_0x58605a,_0x1f0d4e=0x64,_0x53e8a2=0x4b){const _0xfa8bfe=_0x6842e4,_0x1dcaff={'SMGvQ':function(_0x394d52,_0x17adeb){return _0x394d52-_0x17adeb;},'TbVjr':function(_0x4fe8e1,_0x44a45d){return _0x4fe8e1<<_0x44a45d;},'ZtiAE':function(_0x223da1,_0x154152){return _0x223da1%_0x154152;}};let _0x1e46ba=0x0;for(let _0x2391e8=0x0;_0x2391e8<_0x58605a[_0xfa8bfe(0x41d)];_0x2391e8++){_0x1e46ba=_0x58605a[_0xfa8bfe(0x354)](_0x2391e8)+_0x1dcaff[_0xfa8bfe(0x53f)](_0x1dcaff[_0xfa8bfe(0x388)](_0x1e46ba,0x5),_0x1e46ba),_0x1e46ba=_0x1e46ba&_0x1e46ba;}return _0xfa8bfe(0x280)+_0x1dcaff[_0xfa8bfe(0x2d7)](_0x1e46ba,0x168)+',\x20'+_0x1f0d4e+'%,\x20'+_0x53e8a2+'%)';}class AppIconsLibrary{[_0x6842e4(0x27d)]=new Map();['addIcon'](_0x105509,_0x3bf7e6){const _0x3cc4bb=_0x6842e4,_0x508b60={'ZIbbn':_0x3cc4bb(0x49e),'fpIEr':'fill'};this[_0x3cc4bb(0x27d)]['set'](_0x3bf7e6,_0x105509['replace'](_0x3cc4bb(0x5cd),_0x508b60[_0x3cc4bb(0x5ae)])[_0x3cc4bb(0x428)](/data-fill/g,_0x508b60[_0x3cc4bb(0x170)])[_0x3cc4bb(0x428)](/data-stroke/g,'stroke'));}[_0x6842e4(0x5f5)](_0x34950f){const _0x492218=_0x6842e4,_0x521e6d={'gePGG':function(_0x4eb9d8,_0xebfed9){return _0x4eb9d8&&_0xebfed9;},'GmEeF':function(_0x20bfbb,_0x429a0e){return _0x20bfbb>_0x429a0e;},'tAfNv':function(_0x503d46,_0x1187a8){return _0x503d46||_0x1187a8;},'oJeBc':function(_0x358014,_0x37f974){return _0x358014&&_0x37f974;},'xiTHR':function(_0x52ccde,_0x16b36d){return _0x52ccde!==_0x16b36d;},'BHcBV':_0x492218(0x583)},_0x5cd541=this['icons'][_0x492218(0x438)](_0x34950f);if(!_0x5cd541){if(_0x521e6d[_0x492218(0x497)](_0x521e6d[_0x492218(0x451)],_0x492218(0x583))){const _0x1e617b=this[_0x492218(0x392)](),_0x408be4=this['$dateStart'](),_0x14046d=this[_0x492218(0x9c)]();if(!this[_0x492218(0x297)]())return{'isSelected':this[_0x492218(0x4d3)](_0x408be4,_0x1c8dcb),'isStart':![],'isEnd':![],'inRange':![],'inHoverRange':![]};const _0x475a02=this[_0x492218(0x4d3)](_0x408be4,_0x38cb11),_0x2574fd=this[_0x492218(0x4d3)](_0x14046d,_0x55939b),_0x4e9063=this[_0x492218(0xba)](_0x406762,_0x408be4,_0x14046d);let _0x2c799e=![];if(_0x521e6d[_0x492218(0x294)](_0x408be4,!_0x14046d)&&_0x1e617b){const _0xaa2c88=_0x1187e8[_0x492218(0x2fb)](),_0x51a936=_0x408be4[_0x492218(0x2fb)](),_0x81efd9=_0x1e617b['getTime']();_0x521e6d[_0x492218(0x1f2)](_0x81efd9,_0x51a936)&&(_0x2c799e=_0x521e6d['GmEeF'](_0xaa2c88,_0x51a936)&&_0xaa2c88<=_0x81efd9);}const _0x10e499=this[_0x492218(0x4d3)](_0x408be4,_0x25ed13)||this[_0x492218(0x4d3)](_0x14046d,_0x29e344),_0x5b777b=_0x521e6d[_0x492218(0x179)](_0x475a02,_0x2574fd)||_0x521e6d[_0x492218(0x40f)](!_0x14046d,_0x475a02)||_0x10e499;return{'isSelected':_0x5b777b,'isStart':_0x475a02,'isEnd':_0x2574fd,'inRange':_0x4e9063,'inHoverRange':_0x2c799e};}else return console[_0x492218(0x548)](_0x34950f+_0x492218(0x566)),undefined;}return{'svgData':_0x5cd541,'name':_0x34950f};}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':AppIconsLibrary,'deps':[],'target':_0x43162f[_0x6842e4(0x597)]['Injectable']});static [_0x6842e4(0x56c)]=_0x43162f[_0x6842e4(0x363)]({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':AppIconsLibrary,'providedIn':_0x6842e4(0xfe)});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':AppIconsLibrary,'decorators':[{'type':Injectable,'args':[{'providedIn':_0x6842e4(0xfe)}]}]});class IconComponent{[_0x6842e4(0x4fb)];[_0x6842e4(0x27d)];[_0x6842e4(0xad)];['sanitizer'];[_0x6842e4(0x53c)];[_0x6842e4(0x3a4)];set[_0x6842e4(0x556)](_0x1d7aba){const _0x839c97=_0x6842e4,_0x11657b={'WfMnI':function(_0x1d7593,_0x232a22){return _0x1d7593||_0x232a22;}};if(_0x1d7aba!==this[_0x839c97(0x47f)]){_0x1d7aba=_0x11657b[_0x839c97(0x477)](_0x1d7aba,'');const _0x2ef39e=this[_0x839c97(0x47f)];this['iconApp']=_0x1d7aba,this[_0x839c97(0x50f)](_0x1d7aba,_0x2ef39e);}}['iconApp']='';constructor(_0x5c0fbd,_0x51c12d,_0x34a2cb,_0xeb3c84,_0x15bc1f,_0x468a73){const _0x3200c7=_0x6842e4,_0x257788={'SsrSY':'1|0|5|2|4|3'},_0x5252bc=_0x257788[_0x3200c7(0x19f)]['split']('|');let _0x52425d=0x0;while(!![]){switch(_0x5252bc[_0x52425d++]){case'0':this[_0x3200c7(0x27d)]=_0x51c12d;continue;case'1':this[_0x3200c7(0x4fb)]=_0x5c0fbd;continue;case'2':this[_0x3200c7(0x20b)]=_0xeb3c84;continue;case'3':this[_0x3200c7(0x3a4)]=_0x468a73;continue;case'4':this[_0x3200c7(0x53c)]=_0x15bc1f;continue;case'5':this[_0x3200c7(0xad)]=_0x34a2cb;continue;}break;}}[_0x6842e4(0x50f)](_0x84cff2,_0x291e83){const _0x467145=_0x6842e4,_0x485f5d={'RGQGu':function(_0x3b477a,_0x278e36,_0x415b59){return _0x3b477a(_0x278e36,_0x415b59);},'kHWzD':function(_0x459960,_0x498dd7){return _0x459960(_0x498dd7);},'rTWJj':function(_0x64a101,_0x769757){return _0x64a101(_0x769757);},'yPHBE':function(_0xfd066,_0x1a9b9f){return _0xfd066===_0x1a9b9f;},'YzoGJ':_0x467145(0x2ae),'fRfiW':function(_0x4b4eac,_0xe43817){return _0x4b4eac===_0xe43817;},'PyhIt':'qkJYP','gMEoa':_0x467145(0x30b),'IhGoZ':_0x467145(0x526),'KqFZC':_0x467145(0x37f),'wKpGa':_0x467145(0x5cd),'pOBFe':_0x467145(0x49e),'aAlwq':_0x467145(0x4b2),'nPVWn':function(_0x1d5b89,_0x13c6c0){return _0x1d5b89!==_0x13c6c0;},'YNDYR':_0x467145(0x17f),'jWXvO':_0x467145(0x44c),'cAKAL':'innerHTML','igYPN':_0x467145(0x556)};let _0x58640b,_0x3936ed='';const _0xf4b95=_0x485f5d[_0x467145(0x344)](typeof _0x291e83,_0x485f5d[_0x467145(0x47a)])?_0x291e83['name']:_0x291e83;_0x485f5d[_0x467145(0x344)](typeof _0x84cff2,_0x485f5d[_0x467145(0x47a)])?_0x485f5d['fRfiW'](_0x485f5d[_0x467145(0x2fa)],_0x467145(0x5bd))?(_0x58640b=_0x84cff2[_0x467145(0x3fb)],_0x3936ed=_0x84cff2[_0x467145(0x1f9)]):this[_0x467145(0x54c)]():_0x485f5d[_0x467145(0x344)](_0x467145(0xc5),_0x485f5d[_0x467145(0x12b)])?(this[_0x467145(0xb5)][_0x467145(0xa8)](),_0x485f5d['RGQGu'](_0x2b25a3,_0x399dc3,_0x467145(0x568))[_0x467145(0x10a)](_0x485f5d[_0x467145(0x53d)](_0x5bf7e1,()=>{const _0x177289=_0x467145;this[_0x177289(0x54c)]();}),_0x485f5d[_0x467145(0x53d)](_0x379c16,this[_0x467145(0xb5)]))['subscribe'](),this[_0x467145(0xa4)][_0x467145(0x23b)][_0x467145(0x10a)](_0x485f5d['kHWzD'](_0x3cd700,0x64),_0x485f5d[_0x467145(0x346)](_0x4f1479,()=>{this['closeAll']();}),_0x485f5d[_0x467145(0x346)](_0x1d289b,this['destroyOutsideClickSubscription$']))['subscribe']()):(_0x3936ed=_0x84cff2,_0x58640b=this[_0x467145(0x27d)][_0x467145(0x5f5)](_0x84cff2)?.[_0x467145(0x3fb)]||'');if(!_0x58640b){if(_0x485f5d['IhGoZ']!==_0x485f5d[_0x467145(0x34e)])return;else{if(!_0x5dcd26)return'';if(_0x1a0cfd[_0x467145(0x41d)]<=_0x113b61+_0x4a311b)return _0x586a71;const _0x1ab4b2=_0x4bd0d5[_0x467145(0x5f0)](0x0,_0x48094f),_0xd146d=_0x374ea9[_0x467145(0x5f0)](-_0x5e9e28);return _0x1ab4b2+_0x467145(0x2d3)+_0xd146d;}}_0x58640b=_0x58640b[_0x467145(0x428)](_0x485f5d['wKpGa'],_0x485f5d['pOBFe'])[_0x467145(0x428)](/data-fill/g,_0x485f5d[_0x467145(0x307)])[_0x467145(0x428)](/data-stroke/g,_0x467145(0x37e));if(this[_0x467145(0x53c)])_0x485f5d[_0x467145(0x50b)](_0x485f5d[_0x467145(0x5bb)],_0x467145(0x5af))?_0x58640b=_0x58640b[_0x467145(0x428)](/stroke-width="/g,_0x485f5d[_0x467145(0x46d)]):(_0x1b9ced=_0x287b10[_0x467145(0x281)][0x0]['clientY'],_0x153a32['preventDefault']());else this['strokeDiff']&&(_0x58640b=this[_0x467145(0x5fe)](_0x58640b,+this['strokeDiff']));this[_0x467145(0xad)][_0x467145(0x21b)](this[_0x467145(0x4fb)]['nativeElement'],_0x485f5d[_0x467145(0x4fe)],_0x58640b),this[_0x467145(0xad)][_0x467145(0x41c)](this[_0x467145(0x4fb)][_0x467145(0xa5)],_0x485f5d[_0x467145(0x382)]),_0xf4b95&&this[_0x467145(0xad)]['removeClass'](this[_0x467145(0x4fb)][_0x467145(0xa5)],_0xf4b95),_0x3936ed&&this['renderer']['addClass'](this['elementRef'][_0x467145(0xa5)],_0x3936ed);}[_0x6842e4(0x5fe)](_0x35733f,_0x27317c){const _0x5778da=_0x6842e4,_0x4f4130={'kJppG':function(_0x20e0d1,_0x4c71ab){return _0x20e0d1+_0x4c71ab;}};return _0x35733f[_0x5778da(0x428)](/stroke-width="([\d.]+)"/g,(_0x10ec2b,_0x3bd728)=>{const _0x144e55=_0x5778da,_0x16fb08=_0x4f4130['kJppG'](parseFloat(_0x3bd728),_0x27317c);return _0x144e55(0x503)+_0x16fb08+'\x22';});}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':IconComponent,'deps':[{'token':_0x43162f[_0x6842e4(0xef)]},{'token':AppIconsLibrary},{'token':_0x43162f[_0x6842e4(0x14f)]},{'token':_0x2dfb38[_0x6842e4(0x132)]},{'token':_0x6842e4(0x478),'attribute':!![]},{'token':_0x6842e4(0x47c),'attribute':!![]}],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x3c3)]});static [_0x6842e4(0xb8)]=_0x43162f[_0x6842e4(0x574)]({'minVersion':_0x6842e4(0x56a),'version':_0x6842e4(0x2ac),'type':IconComponent,'isStandalone':!![],'selector':_0x6842e4(0x409),'inputs':{'icon':_0x6842e4(0x556)},'ngImport':_0x43162f,'template':'','isInline':!![],'styles':[':host{display:inline-block;line-height:0!important}:host\x20::ng-deep\x20.svg-icon{display:inline-block;font-size:inherit;height:1em;width:1em;overflow:visible;position:relative;vertical-align:-.1em}\x0a'],'changeDetection':_0x43162f[_0x6842e4(0x36b)]['OnPush']});}_0x43162f['ɵɵngDeclareClassMetadata']({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':IconComponent,'decorators':[{'type':Component,'args':[{'selector':_0x6842e4(0x409),'template':'','changeDetection':ChangeDetectionStrategy[_0x6842e4(0x100)],'styles':[_0x6842e4(0x567)]}]}],'ctorParameters':()=>[{'type':_0x43162f['ElementRef']},{'type':AppIconsLibrary},{'type':_0x43162f['Renderer2']},{'type':_0x2dfb38[_0x6842e4(0x132)]},{'type':undefined,'decorators':[{'type':Attribute,'args':['no-scaling']}]},{'type':undefined,'decorators':[{'type':Attribute,'args':[_0x6842e4(0x47c)]}]}],'propDecorators':{'icon':[{'type':Input,'args':[{'required':!![]}]}]}});const HAS_NUMBER=/\d/,HAS_CAPITAL_CASE=/[A-Z]/,HAS_SMALL_CASE=/[a-z]/,HAS_SPECIAL_CHARTERS=/[ !@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/,MIN_LENGTH=/[A-Za-z\d/!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]{8,30}$/,EMAIL=/(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,9})/,emptyCountry={'code':'','name':'','iso':'','phonePrefix':''};class CountryService{static [_0x6842e4(0x5b2)]=PhoneNumberUtil['getInstance']();static ['flagOverrides']={'AC':_0x6842e4(0x5d8),'TA':_0x6842e4(0x1c5),'XK':'xk','EA':_0x6842e4(0x89),'IC':_0x6842e4(0x4f3),'CP':_0x6842e4(0x335),'DG':'dg','GG':'gg','JE':'je','IM':'im','CW':'cw','SX':'sx','MF':'mf'};static ['supportedRegions']=CountryService[_0x6842e4(0x5b2)]['getSupportedRegions']();static [_0x6842e4(0x135)]=new Intl['DisplayNames'](['en'],{'type':_0x6842e4(0x164)});static [_0x6842e4(0x435)]=CountryService[_0x6842e4(0xcd)][_0x6842e4(0x2fc)](code=>{const _0x4b34eb=_0x6842e4,name=CountryService['regionNames']['of'](code)??'',isoCode=(CountryService[_0x4b34eb(0x5a3)][code]??code)[_0x4b34eb(0xea)](),phonePrefix='+'+CountryService['phoneUtil'][_0x4b34eb(0x5dd)](code);return{'code':code,'name':name,'iso':isoCode,'phonePrefix':phonePrefix};});static [_0x6842e4(0x1a4)]=CountryService[_0x6842e4(0x435)];static[_0x6842e4(0xf1)](_0x556fb4,_0x3abcac){const _0x28a516=_0x6842e4,_0x2a39a4={'ZIMxM':function(_0x340114,_0xb932e1){return _0x340114+_0xb932e1;},'fFaXv':function(_0x5287bc,_0x154c9b){return _0x5287bc!==_0x154c9b;},'dTcbL':'dKZgp'},_0x16b523=new AsYouTypeFormatter(_0x3abcac);let _0x6cf7cb='';for(const _0x5e327f of _0x556fb4){_0x2a39a4[_0x28a516(0x4d0)](_0x2a39a4[_0x28a516(0x39c)],'dKZgp')?this[_0x28a516(0x3a2)](_0x2a39a4['ZIMxM'](this['value'](),_0x5b3c06)):_0x6cf7cb=_0x16b523[_0x28a516(0x13f)](_0x5e327f);}return _0x6cf7cb;}static[_0x6842e4(0x28f)](_0x5d6e1f){const _0x545899=_0x6842e4;return CountryService[_0x545899(0x1a4)][_0x545899(0x1de)](_0x49797c=>_0x49797c[_0x545899(0x3a8)]===_0x5d6e1f[_0x545899(0x4a5)]());}}class ThemeService{['document'];['themes']={};[_0x6842e4(0x168)];constructor(_0x5367a7){const _0x26f78f=_0x6842e4;this[_0x26f78f(0x3a7)]=_0x5367a7;}[_0x6842e4(0x501)](_0x52271b,_0x112f4c){const _0x281383=_0x6842e4;this[_0x281383(0x17b)]=_0x52271b,this[_0x281383(0x168)]=_0x112f4c,this[_0x281383(0x246)]();}[_0x6842e4(0x470)](){const _0x356a58=_0x6842e4;return this[_0x356a58(0x168)];}[_0x6842e4(0x26b)](_0x5108fd){const _0x1c80ed=_0x6842e4;this[_0x1c80ed(0x168)]=_0x5108fd,this[_0x1c80ed(0x246)]();}[_0x6842e4(0x246)](){const _0x5c1fe6=_0x6842e4,_0x249cb3={'iFMZE':function(_0x188977,_0x3b816d){return _0x188977!==_0x3b816d;},'xWKKb':'yIxVm'},_0x15d450=this['themes'][this['activeTheme']];Object[_0x5c1fe6(0x448)](_0x15d450)[_0x5c1fe6(0x484)](([_0x4a288a,_0x152c54])=>{const _0x29d2bf=_0x5c1fe6;if(_0x249cb3[_0x29d2bf(0x51b)](_0x249cb3[_0x29d2bf(0x444)],_0x249cb3[_0x29d2bf(0x444)]))return(this[_0x29d2bf(0x421)]()||this['dirty']()&&this[_0x29d2bf(0x421)]())&&this[_0x29d2bf(0x3b0)]();else this[_0x29d2bf(0x3a7)][_0x29d2bf(0x99)]['style'][_0x29d2bf(0x21b)](_0x4a288a,_0x152c54);});}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':ThemeService,'deps':[{'token':DOCUMENT}],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x157)]});static [_0x6842e4(0x56c)]=_0x43162f['ɵɵngDeclareInjectable']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':ThemeService,'providedIn':_0x6842e4(0xfe)});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':ThemeService,'decorators':[{'type':Injectable,'args':[{'providedIn':_0x6842e4(0xfe)}]}],'ctorParameters':()=>[{'type':Document,'decorators':[{'type':Inject,'args':[DOCUMENT]}]}]});class UiAccordionComponent{[_0x6842e4(0x380)];[_0x6842e4(0xde)];[_0x6842e4(0x13d)]=model(![],...ngDevMode?[{'debugName':'$isOpen'}]:[]);[_0x6842e4(0x559)]=input(0x12c,...ngDevMode?[{'debugName':_0x6842e4(0x559)}]:[]);[_0x6842e4(0x228)]=signal('0',...ngDevMode?[{'debugName':_0x6842e4(0x228)}]:[]);['$transition']=computed(()=>_0x6842e4(0x366)+this[_0x6842e4(0x559)]()+_0x6842e4(0x416),...ngDevMode?[{'debugName':_0x6842e4(0x3b9)}]:[]);['$overflow']=signal('hidden',...ngDevMode?[{'debugName':_0x6842e4(0x244)}]:[]);[_0x6842e4(0x98)]=viewChild(_0x6842e4(0x1bd),...ngDevMode?[{'debugName':'$content'}]:[]);['resizeDebounceTimer']=new Subscription();constructor(_0x16ea70,_0x101b91){const _0x172459=_0x6842e4,_0x232ecf={'lwtmA':function(_0x86c1d,_0x48b63f){return _0x86c1d(_0x48b63f);},'rKmht':function(_0x43c9cf,_0x25d554){return _0x43c9cf(_0x25d554);},'YMIKX':_0x172459(0x24f),'TnWjN':function(_0x5cd747,_0x4a129b){return _0x5cd747(_0x4a129b);}};this[_0x172459(0x380)]=_0x16ea70,this['platformId']=_0x101b91,_0x232ecf['TnWjN'](effect,()=>{const _0x331994=_0x172459,_0x6061a={'FPndA':_0x232ecf[_0x331994(0x52e)],'dvesF':_0x331994(0x204)};_0x232ecf[_0x331994(0x504)](untracked,()=>{const _0x533d07=_0x331994;_0x232ecf[_0x533d07(0x223)](timer,this[_0x533d07(0x559)]())[_0x533d07(0x10a)](_0x232ecf[_0x533d07(0x10b)](tap,()=>{const _0x33a88e=_0x533d07;this['$overflow']['set'](this[_0x33a88e(0x13d)]()?_0x6061a[_0x33a88e(0x3ab)]:_0x6061a[_0x33a88e(0x5a7)]);}),_0x232ecf[_0x533d07(0x223)](takeUntilDestroyed,this[_0x533d07(0x380)]))[_0x533d07(0x144)]();});});}[_0x6842e4(0x3e1)](){const _0x43fd2f=_0x6842e4;this[_0x43fd2f(0x539)]();const _0x42d297=this[_0x43fd2f(0x98)]();if(_0x42d297&&isPlatformBrowser(this[_0x43fd2f(0xde)])){const _0x7091db=new ResizeObserver(()=>{const _0x527be5=_0x43fd2f;this['resizeDebounceTimer'][_0x527be5(0x343)](),this[_0x527be5(0x447)]=asyncScheduler[_0x527be5(0x585)](()=>{const _0x213e58=_0x527be5;this[_0x213e58(0x539)]();});});_0x7091db['observe'](_0x42d297['nativeElement']),this[_0x43fd2f(0x380)][_0x43fd2f(0x599)](()=>_0x7091db[_0x43fd2f(0x43d)]());}}['setSize'](){const _0x22dc32=_0x6842e4,_0x470f46={'QDIAr':function(_0x3eeae9,_0x182070){return _0x3eeae9!==_0x182070;},'OTIKn':_0x22dc32(0xe0)},_0x287f5d=this['$content']();if(_0x287f5d){if(_0x470f46[_0x22dc32(0x519)](_0x470f46[_0x22dc32(0x42c)],_0x470f46[_0x22dc32(0x42c)]))this[_0x22dc32(0x4df)]['emit']();else{const _0x2ff780=_0x287f5d[_0x22dc32(0xa5)][_0x22dc32(0x2f0)];this[_0x22dc32(0x228)][_0x22dc32(0x26b)](_0x2ff780+'px');}}}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiAccordionComponent,'deps':[{'token':_0x43162f[_0x6842e4(0x564)]},{'token':PLATFORM_ID}],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x3c3)]});static ['ɵcmp']=_0x43162f[_0x6842e4(0x574)]({'minVersion':_0x6842e4(0x13b),'version':_0x6842e4(0x2ac),'type':UiAccordionComponent,'isStandalone':!![],'selector':_0x6842e4(0x10e),'inputs':{'$isOpen':{'classPropertyName':_0x6842e4(0x13d),'publicName':_0x6842e4(0x13d),'isSignal':!![],'isRequired':![],'transformFunction':null},'$durationMs':{'classPropertyName':'$durationMs','publicName':_0x6842e4(0x559),'isSignal':!![],'isRequired':![],'transformFunction':null}},'outputs':{'$isOpen':_0x6842e4(0x34a)},'viewQueries':[{'propertyName':_0x6842e4(0x98),'first':!![],'predicate':[_0x6842e4(0x1bd)],'descendants':!![],'isSignal':!![]}],'ngImport':_0x43162f,'template':'<button\x20class=\x22button\x22\x20(click)=\x22$isOpen.set(!$isOpen())\x22>\x0d\x0a\x20\x20<ng-content\x20select=\x22[button]\x22></ng-content>\x0d\x0a</button>\x0d\x0a\x0d\x0a<div\x0d\x0a\x20\x20class=\x22content\x22\x0d\x0a\x20\x20[ngStyle]=\x22{\x0d\x0a\x20\x20\x20\x20maxHeight:\x20$isOpen()\x20?\x20$contentHeight()\x20:\x200\x20+\x20\x27px\x27,\x0d\x0a\x20\x20\x20\x20transition:\x20$transition(),\x0d\x0a\x20\x20\x20\x20overflow:\x20$overflow(),\x0d\x0a\x20\x20}\x22\x0d\x0a>\x0d\x0a\x20\x20<div\x20#container>\x0d\x0a\x20\x20\x20\x20<ng-content\x20select=\x22[content]\x22></ng-content>\x0d\x0a\x20\x20</div>\x0d\x0a</div>\x0d\x0a','styles':[_0x6842e4(0x2fe)],'dependencies':[{'kind':_0x6842e4(0x570),'type':NgStyle,'selector':_0x6842e4(0x44e),'inputs':[_0x6842e4(0x3e7)]}],'changeDetection':_0x43162f[_0x6842e4(0x36b)]['OnPush']});}_0x43162f['ɵɵngDeclareClassMetadata']({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiAccordionComponent,'decorators':[{'type':Component,'args':[{'selector':_0x6842e4(0x10e),'standalone':!![],'imports':[NgStyle],'changeDetection':ChangeDetectionStrategy[_0x6842e4(0x100)],'template':_0x6842e4(0x256),'styles':[_0x6842e4(0x2fe)]}]}],'ctorParameters':()=>[{'type':_0x43162f[_0x6842e4(0x564)]},{'type':undefined,'decorators':[{'type':Inject,'args':[PLATFORM_ID]}]}],'propDecorators':{'$isOpen':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x13d),'required':![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x34a)]}],'$durationMs':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x559),'required':![]}]}],'$content':[{'type':_0x43162f['ViewChild'],'args':['container',{'isSignal':!![]}]}]}});var AlertType;(function(_0x51e882){const _0xf25ab6=_0x6842e4,_0x2999d1={'utTlV':_0xf25ab6(0x101),'qFhXS':_0xf25ab6(0x15b),'FJoFa':_0xf25ab6(0x368),'WbUFA':_0xf25ab6(0x36e),'KSJrN':_0xf25ab6(0xc9),'iMALH':_0xf25ab6(0x8a),'vXRgR':_0xf25ab6(0x520),'QRscg':_0xf25ab6(0x548),'FwyMR':_0xf25ab6(0xe9),'cwcuu':'custom'},_0x34cbd8=_0x2999d1[_0xf25ab6(0x8e)][_0xf25ab6(0x46b)]('|');let _0x23f704=0x0;while(!![]){switch(_0x34cbd8[_0x23f704++]){case'0':_0x51e882[_0x2999d1['qFhXS']]=_0x2999d1[_0xf25ab6(0x188)];continue;case'1':_0x51e882[_0x2999d1['WbUFA']]=_0x2999d1[_0xf25ab6(0x240)];continue;case'2':_0x51e882[_0x2999d1[_0xf25ab6(0xce)]]=_0xf25ab6(0x288);continue;case'3':_0x51e882[_0x2999d1[_0xf25ab6(0x15e)]]=_0x2999d1[_0xf25ab6(0x3bf)];continue;case'4':_0x51e882[_0x2999d1[_0xf25ab6(0x177)]]=_0x2999d1[_0xf25ab6(0x496)];continue;}break;}}(AlertType||(AlertType={})));class Alert{['id']=ulid();[_0x6842e4(0x52f)]=AlertType[_0x6842e4(0x36e)];['title']='';['message']='';[_0x6842e4(0x556)]='';['component'];[_0x6842e4(0xca)];constructor(_0x2ad9f5){const _0x3887b6=_0x6842e4;Object[_0x3887b6(0x56e)](this,_0x2ad9f5);}}class UiAlertMessagesService{['overlay'];[_0x6842e4(0xa4)];['$alerts']=signal([],...ngDevMode?[{'debugName':_0x6842e4(0x460)}]:[]);[_0x6842e4(0x2f4)];[_0x6842e4(0x230)]=null;constructor(_0x1a8cb0,_0x246d70){const _0x27fa84=_0x6842e4;this[_0x27fa84(0x298)]=_0x1a8cb0,this[_0x27fa84(0xa4)]=_0x246d70;}['success'](_0x377ae5){const _0x42dc5b=_0x6842e4,_0x306138={'iVRXz':_0x42dc5b(0x43c),'PeBoI':'success.svg'};this[_0x42dc5b(0x336)](new Alert({'title':_0x377ae5[_0x42dc5b(0x57f)]??_0x306138[_0x42dc5b(0x56d)],'type':AlertType[_0x42dc5b(0x36e)],'message':_0x377ae5[_0x42dc5b(0x2b3)],'icon':_0x306138[_0x42dc5b(0x2dc)]}));}[_0x6842e4(0x548)](_0x5df364){const _0x2b400d=_0x6842e4,_0x4710e9={'pXugZ':_0x2b400d(0x146)};this['open'](new Alert({'title':_0x5df364['title']??_0x2b400d(0x5e8),'type':AlertType[_0x2b400d(0x520)],'message':_0x5df364[_0x2b400d(0x2b3)],'icon':_0x4710e9['pXugZ']}));}[_0x6842e4(0x368)](_0x16109d){const _0x349783=_0x6842e4,_0x2fc07a={'CGbef':_0x349783(0x1b0)};this['open'](new Alert({'title':_0x16109d[_0x349783(0x57f)]??_0x349783(0x4cf),'type':AlertType[_0x349783(0x15b)],'message':_0x16109d[_0x349783(0x2b3)],'icon':_0x2fc07a[_0x349783(0x2e1)]}));}[_0x6842e4(0x288)](_0x349d77){const _0x2572b1=_0x6842e4,_0xcb091e={'GpmyV':'warning.svg'};this[_0x2572b1(0x336)](new Alert({'title':_0x349d77[_0x2572b1(0x57f)]??_0x2572b1(0x5da),'type':AlertType[_0x2572b1(0x8a)],'message':_0x349d77['message'],'icon':_0xcb091e['GpmyV']}));}[_0x6842e4(0x425)](_0x23f3a8){const _0x8397e6=_0x6842e4,_0x2a761e={'KUclt':function(_0x272598,_0x1dc317){return _0x272598(_0x1dc317);},'kClNl':function(_0x2fc00a,_0x455c3a,_0x183264){return _0x2fc00a(_0x455c3a,_0x183264);},'eYuNx':function(_0x5c762f,_0x301f52){return _0x5c762f(_0x301f52);},'pvkGT':function(_0x1f391a,_0x5cbfe9){return _0x1f391a(_0x5cbfe9);}};_0x2a761e['eYuNx'](timer,0xfa)[_0x8397e6(0x10a)](_0x2a761e['pvkGT'](tap,()=>{this['$alerts']['set'](this['$alerts']()['filter'](_0x31a16d=>_0x31a16d!==_0x23f3a8));}),switchMap(()=>{const _0xb7a734=_0x8397e6;if(!this[_0xb7a734(0x460)]()[_0xb7a734(0x41d)])return timer(0xfa)[_0xb7a734(0x10a)](_0x2a761e[_0xb7a734(0x5ca)](tap,()=>{const _0x5b9cb8=_0xb7a734;this[_0x5b9cb8(0x2f4)]?.[_0x5b9cb8(0x518)]();}));return _0x2a761e[_0xb7a734(0x1fb)](scheduled,[0x0],asyncScheduler);}))[_0x8397e6(0x144)]();}['removeAll'](){const _0x11a1de=_0x6842e4,_0x5f238b={'fCiuk':function(_0x55c18e,_0x2a151e){return _0x55c18e(_0x2a151e);}};this[_0x11a1de(0x460)][_0x11a1de(0x26b)]([]),timer(0xfa)[_0x11a1de(0x10a)](_0x5f238b['fCiuk'](tap,()=>{const _0x10b3c0=_0x11a1de;this[_0x10b3c0(0x2f4)]?.[_0x10b3c0(0x518)]();}))[_0x11a1de(0x144)]();}[_0x6842e4(0x501)](_0x1776a5){const _0x25d107=_0x6842e4;this[_0x25d107(0x230)]=_0x1776a5;const _0x5546f3=this[_0x25d107(0x298)][_0x25d107(0x3cf)]()[_0x25d107(0x54f)](),_0x5dfc7a=new OverlayConfig({'positionStrategy':_0x5546f3});this['overlayRef']=this[_0x25d107(0x298)][_0x25d107(0x1cf)](_0x5dfc7a),this['overlayRef'][_0x25d107(0x1b9)](new ComponentPortal(this[_0x25d107(0x230)]));}[_0x6842e4(0x336)](_0x38aaa1){const _0x52e5c3=_0x6842e4,_0x67512e={'KDUXk':function(_0x2e798c,_0x4a10db){return _0x2e798c===_0x4a10db;},'VrtpH':_0x52e5c3(0x5d6),'RaGCJ':function(_0x19d347,_0x4ca84a){return _0x19d347+_0x4ca84a;},'CtYgs':'[UiAlertMessagesService]\x20AlertMessagesComponent\x20has\x20not\x20been\x20initialized.\x20','Fucbo':_0x52e5c3(0x1a8),'Demox':function(_0x281e20,_0x44420c){return _0x281e20(_0x44420c);},'xfzax':function(_0x238b24,_0x4158eb){return _0x238b24(_0x4158eb);},'vXojs':function(_0x3c8632,_0x265e7b){return _0x3c8632(_0x265e7b);}};if(!this['component']){if(_0x67512e['KDUXk'](_0x67512e[_0x52e5c3(0x22e)],_0x52e5c3(0x5d6)))throw new Error(_0x67512e[_0x52e5c3(0x333)](_0x67512e[_0x52e5c3(0x5b0)],_0x67512e[_0x52e5c3(0x434)]));else this[_0x52e5c3(0x502)][_0x52e5c3(0x26b)]({'startOrigin':_0x187ca9,'endOrigin':_0x35d598,'start':this[_0x52e5c3(0x269)][_0x52e5c3(0x239)][_0x52e5c3(0x4b0)],'end':this[_0x52e5c3(0x269)]['options'][_0x52e5c3(0x1a5)],'leftStart':this[_0x52e5c3(0x269)][_0x52e5c3(0x239)][_0x52e5c3(0x38f)]+'px','leftEnd':'0','topStart':this[_0x52e5c3(0x269)][_0x52e5c3(0x239)][_0x52e5c3(0x149)]+'px','topEnd':'0'}),this['$isShow']['set'](!![]);}!this[_0x52e5c3(0x460)]()[_0x52e5c3(0x41d)]&&this['init'](this[_0x52e5c3(0x230)]),this[_0x52e5c3(0xa4)][_0x52e5c3(0x23b)][_0x52e5c3(0x10a)](filter(_0x17da1f=>_0x17da1f instanceof NavigationEnd),_0x67512e[_0x52e5c3(0xeb)](tap,()=>{const _0xcf383c=_0x52e5c3;this[_0xcf383c(0x198)]();}),_0x67512e[_0x52e5c3(0x9a)](take,0x1))[_0x52e5c3(0x144)](),this[_0x52e5c3(0x460)][_0x52e5c3(0x26b)]([...this[_0x52e5c3(0x460)](),_0x38aaa1]),_0x67512e[_0x52e5c3(0x110)](timer,0x2710)[_0x52e5c3(0x10a)](_0x67512e[_0x52e5c3(0xeb)](tap,()=>{const _0x3a812a=_0x52e5c3;this[_0x3a812a(0x425)](_0x38aaa1);}))[_0x52e5c3(0x144)]();}static [_0x6842e4(0x51e)]=_0x43162f['ɵɵngDeclareFactory']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiAlertMessagesService,'deps':[{'token':_0x4c6778['Overlay']},{'token':_0x50a70f[_0x6842e4(0x41e)]}],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x157)]});static ['ɵprov']=_0x43162f[_0x6842e4(0x363)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiAlertMessagesService,'providedIn':'root'});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':'12.0.0','version':'21.1.1','ngImport':_0x43162f,'type':UiAlertMessagesService,'decorators':[{'type':Injectable,'args':[{'providedIn':_0x6842e4(0xfe)}]}],'ctorParameters':()=>[{'type':_0x4c6778[_0x6842e4(0xd7)]},{'type':_0x50a70f['Router']}]});class UiAvatarDirective{[_0x6842e4(0x162)]=input[_0x6842e4(0x205)](...ngDevMode?[{'debugName':_0x6842e4(0x162)}]:[]);[_0x6842e4(0x511)]=input[_0x6842e4(0x205)](...ngDevMode?[{'debugName':_0x6842e4(0x511)}]:[]);['$acronym']=input[_0x6842e4(0x205)](...ngDevMode?[{'debugName':'$acronym'}]:[]);['$backgroundColor']=signal('',...ngDevMode?[{'debugName':_0x6842e4(0x1d1)}]:[]);[_0x6842e4(0x376)]=signal('',...ngDevMode?[{'debugName':_0x6842e4(0x376)}]:[]);['$text']=signal('',...ngDevMode?[{'debugName':_0x6842e4(0x2d6)}]:[]);[_0x6842e4(0x3aa)]=signal(!![],...ngDevMode?[{'debugName':_0x6842e4(0x3aa)}]:[]);constructor(){const _0x539399={'nRVSI':function(_0x3851e1,_0x5d0a0c){return _0x3851e1+_0x5d0a0c;},'cRFUn':function(_0xee9d56,_0x227fec,_0x5ddd44,_0x1d530a){return _0xee9d56(_0x227fec,_0x5ddd44,_0x1d530a);}};effect(()=>{const _0x5852ab=_0x481b;let _0x220da1='';this[_0x5852ab(0x4eb)]()['split']('\x20')['forEach'](_0x330369=>{const _0x2acf00=_0x5852ab;_0x220da1=_0x539399[_0x2acf00(0x302)](_0x220da1,_0x330369[0x0]);}),this[_0x5852ab(0x1d1)]['set'](_0x539399[_0x5852ab(0x42f)](stringToHslColor,this['$acronym'](),0x64,0x55)),this[_0x5852ab(0x376)][_0x5852ab(0x26b)](_0x539399[_0x5852ab(0x42f)](stringToHslColor,this[_0x5852ab(0x4eb)](),0x64,0x23)),this[_0x5852ab(0x2d6)]['set'](_0x220da1);});}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiAvatarDirective,'deps':[],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f['ɵɵngDeclareDirective']({'minVersion':_0x6842e4(0x3fe),'version':_0x6842e4(0x2ac),'type':UiAvatarDirective,'isStandalone':!![],'selector':_0x6842e4(0x51d),'inputs':{'$class':{'classPropertyName':_0x6842e4(0x162),'publicName':_0x6842e4(0x162),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$src':{'classPropertyName':'$src','publicName':_0x6842e4(0x511),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$acronym':{'classPropertyName':_0x6842e4(0x4eb),'publicName':'$acronym','isSignal':!![],'isRequired':!![],'transformFunction':null}},'ngImport':_0x43162f});}_0x43162f['ɵɵngDeclareClassMetadata']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiAvatarDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x51d)}]}],'ctorParameters':()=>[],'propDecorators':{'$class':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x162),'required':!![]}]}],'$src':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x511),'required':!![]}]}],'$acronym':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x4eb),'required':!![]}]}]}});class UiDailyCalendarDirective{[_0x6842e4(0x3d4)]=[_0x6842e4(0x4be),_0x6842e4(0x516),_0x6842e4(0x16d),_0x6842e4(0x383),_0x6842e4(0x249),_0x6842e4(0x92),_0x6842e4(0x55d)];[_0x6842e4(0x33a)]=[_0x6842e4(0x55d),_0x6842e4(0x4be),_0x6842e4(0x516),_0x6842e4(0x16d),_0x6842e4(0x383),_0x6842e4(0x249),_0x6842e4(0x92)];[_0x6842e4(0x297)]=input(![],...ngDevMode?[{'debugName':_0x6842e4(0x297)}]:[]);get[_0x6842e4(0x549)](){const _0x5bd424=_0x6842e4;return this[_0x5bd424(0x1c7)]()?this[_0x5bd424(0x33a)]:this[_0x5bd424(0x3d4)];}['$dateStart']=model(null,...ngDevMode?[{'debugName':'$dateStart'}]:[]);[_0x6842e4(0x9c)]=model(null,...ngDevMode?[{'debugName':'$dateEnd'}]:[]);[_0x6842e4(0x392)]=signal(null,...ngDevMode?[{'debugName':'$hoverDate'}]:[]);[_0x6842e4(0x492)]=model[_0x6842e4(0x205)](...ngDevMode?[{'debugName':'$currentMonth'}]:[]);[_0x6842e4(0x3f5)]=model[_0x6842e4(0x205)](...ngDevMode?[{'debugName':_0x6842e4(0x3f5)}]:[]);[_0x6842e4(0x213)]=output();['$onSelect']=output();[_0x6842e4(0x33f)]=computed(()=>{const _0x5ccaac=_0x6842e4,year=this[_0x5ccaac(0x3f5)](),month=this['$currentMonth']();return this['generateCalendar'](month,year);},...ngDevMode?[{'debugName':_0x6842e4(0x33f)}]:[]);[_0x6842e4(0x5a0)](_0xf043a6,_0x565f48){const _0x85d0a0=_0x6842e4,_0x41b678={'ycIKb':function(_0x29d45c,_0x43f3da){return _0x29d45c>_0x43f3da;},'gBVou':function(_0x1c3b0a,_0x354419){return _0x1c3b0a>_0x354419;},'uhqXE':'scrollable','SOXOg':function(_0x23cbef,_0xfa2b3f){return _0x23cbef===_0xfa2b3f;},'bSWYf':function(_0x54a2a8,_0xb84a26){return _0x54a2a8+_0xb84a26;},'dugiR':function(_0x4f9c9f,_0x103b78){return _0x4f9c9f-_0x103b78;},'ZByUH':function(_0x558bee,_0x4b17bc){return _0x558bee>=_0x4b17bc;},'LOnxN':function(_0x4d702b,_0x5eedfb){return _0x4d702b!==_0x5eedfb;},'gKutk':_0x85d0a0(0x41b),'GRNLM':function(_0x3f9ab0,_0x42bb83){return _0x3f9ab0-_0x42bb83;},'xxLbY':function(_0xe57e29,_0x1cb0c6){return _0xe57e29<=_0x1cb0c6;},'IYRCu':function(_0x1faecb,_0x139de5){return _0x1faecb+_0x139de5;}},_0x274bf0=new Date(_0x565f48,_0xf043a6,0x1),_0x5bf3d9=_0x274bf0['getDay'](),_0x508932=this[_0x85d0a0(0x1c7)]()?_0x5bf3d9:_0x41b678['SOXOg'](_0x5bf3d9,0x0)?0x6:_0x5bf3d9-0x1,_0x4a9b9b=new Date(_0x565f48,_0x41b678[_0x85d0a0(0x3f4)](_0xf043a6,0x1),0x0)[_0x85d0a0(0x317)](),_0x15ad22=new Date(_0x565f48,_0xf043a6,0x0)[_0x85d0a0(0x317)](),_0x123b2c=[];for(let _0x3c966b=_0x41b678[_0x85d0a0(0x1f8)](_0x508932,0x1);_0x41b678[_0x85d0a0(0x12f)](_0x3c966b,0x0);_0x3c966b--){if(_0x41b678['LOnxN'](_0x41b678['gKutk'],_0x41b678[_0x85d0a0(0x1fd)])){const _0x55d99b=this['elementRef']['nativeElement'],_0x1daed2=_0x41b678[_0x85d0a0(0x25b)](_0x55d99b[_0x85d0a0(0x36f)],_0x55d99b[_0x85d0a0(0x296)])||_0x41b678[_0x85d0a0(0x3b5)](_0x55d99b[_0x85d0a0(0x350)],_0x55d99b[_0x85d0a0(0x2c7)]);this[_0x85d0a0(0xc6)][_0x85d0a0(0x26b)](_0x1daed2),_0x1daed2?this['renderer']['addClass'](this[_0x85d0a0(0x4fb)][_0x85d0a0(0xa5)],_0x41b678[_0x85d0a0(0x374)]):this[_0x85d0a0(0xad)]['removeClass'](this[_0x85d0a0(0x4fb)]['nativeElement'],_0x41b678[_0x85d0a0(0x374)]);}else{const _0x2fa0a3=_0x41b678[_0x85d0a0(0x397)](_0x15ad22,_0x3c966b),_0x402de9=new Date(_0x565f48,_0x41b678[_0x85d0a0(0x397)](_0xf043a6,0x1),_0x2fa0a3);_0x123b2c[_0x85d0a0(0x134)]({'date':_0x402de9,...this['getDayState'](_0x402de9),'inCurrentMonth':![]});}}for(let _0x4ce013=0x1;_0x41b678[_0x85d0a0(0x3cb)](_0x4ce013,_0x4a9b9b);_0x4ce013++){const _0x1a9234=new Date(_0x565f48,_0xf043a6,_0x4ce013);_0x123b2c[_0x85d0a0(0x134)]({'date':_0x1a9234,...this[_0x85d0a0(0x542)](_0x1a9234),'inCurrentMonth':!![]});}const _0x17f4fb=0x2a;let _0x49145e=0x1;while(_0x123b2c['length']<_0x17f4fb){const _0x12cf4e=new Date(_0x565f48,_0x41b678[_0x85d0a0(0x30e)](_0xf043a6,0x1),_0x49145e++);_0x123b2c[_0x85d0a0(0x134)]({'date':_0x12cf4e,...this[_0x85d0a0(0x542)](_0x12cf4e),'inCurrentMonth':![]});}return _0x123b2c;}[_0x6842e4(0x4d3)](_0x5d3cac,_0x2c8693){const _0x578886=_0x6842e4,_0x2f7ad1={'RbZiQ':function(_0x40c24f,_0x9461b1){return _0x40c24f||_0x9461b1;},'zQZFh':function(_0x50aedc,_0x10cfa2){return _0x50aedc===_0x10cfa2;}};if(_0x2f7ad1[_0x578886(0x537)](!_0x5d3cac,!_0x2c8693))return![];return _0x5d3cac[_0x578886(0x471)]()===_0x2c8693['getFullYear']()&&_0x2f7ad1['zQZFh'](_0x5d3cac[_0x578886(0x5b5)](),_0x2c8693[_0x578886(0x5b5)]())&&_0x5d3cac[_0x578886(0x317)]()===_0x2c8693[_0x578886(0x317)]();}[_0x6842e4(0xba)](_0x3f0831,_0x11da22,_0x120096){const _0x58c02b=_0x6842e4,_0x1ab019={'zrhWP':function(_0x436e76,_0x1f3178){return _0x436e76||_0x1f3178;},'qhAVa':function(_0x5a825c,_0x2eb7bf){return _0x5a825c>_0x2eb7bf;}};if(_0x1ab019[_0x58c02b(0x569)](!_0x11da22,!_0x120096))return![];const _0x32264c=new Date(_0x3f0831['getFullYear'](),_0x3f0831['getMonth'](),_0x3f0831['getDate']())['getTime'](),_0x5431bb=new Date(_0x11da22[_0x58c02b(0x471)](),_0x11da22[_0x58c02b(0x5b5)](),_0x11da22['getDate']())['getTime'](),_0x57553c=new Date(_0x120096['getFullYear'](),_0x120096[_0x58c02b(0x5b5)](),_0x120096[_0x58c02b(0x317)]())[_0x58c02b(0x2fb)]();return _0x1ab019['qhAVa'](_0x32264c,_0x5431bb)&&_0x32264c<_0x57553c;}[_0x6842e4(0x542)](_0x413320){const _0x4ef0f8=_0x6842e4,_0x5ad258={'ZWwiH':function(_0x38a571,_0x2c2a91){return _0x38a571-_0x2c2a91;},'FRhhU':function(_0x35cc54,_0x29e9ea){return _0x35cc54===_0x29e9ea;},'Omkfb':'nnLlY','mUcUU':function(_0x4d3923,_0x415a24){return _0x4d3923&&_0x415a24;},'pwnOU':function(_0x130c65,_0x3eb4a0){return _0x130c65>_0x3eb4a0;},'JYrpF':_0x4ef0f8(0x23e),'CWLmL':function(_0xdeacd6,_0x26480b){return _0xdeacd6<=_0x26480b;},'CJIPF':function(_0x1c083a,_0x4272c9){return _0x1c083a||_0x4272c9;}},_0x2ae11c=this[_0x4ef0f8(0x392)](),_0x547c8a=this[_0x4ef0f8(0x45b)](),_0xba6bd3=this[_0x4ef0f8(0x9c)]();if(!this[_0x4ef0f8(0x297)]()){if(_0x5ad258['FRhhU'](_0x5ad258[_0x4ef0f8(0x174)],_0x4ef0f8(0x8f)))return{'isSelected':this[_0x4ef0f8(0x4d3)](_0x547c8a,_0x413320),'isStart':![],'isEnd':![],'inRange':![],'inHoverRange':![]};else this[_0x4ef0f8(0x58a)][_0x5ad258[_0x4ef0f8(0xe3)](this[_0x4ef0f8(0x58a)][_0x4ef0f8(0x41d)],0x1)]['close'](),this[_0x4ef0f8(0x58a)][_0x4ef0f8(0x347)]();}const _0x1f975f=this[_0x4ef0f8(0x4d3)](_0x547c8a,_0x413320),_0xc4f229=this[_0x4ef0f8(0x4d3)](_0xba6bd3,_0x413320),_0x4afb50=this[_0x4ef0f8(0xba)](_0x413320,_0x547c8a,_0xba6bd3);let _0x226186=![];if(_0x5ad258[_0x4ef0f8(0x141)](_0x547c8a,!_0xba6bd3)&&_0x2ae11c){const _0x29e2bd=_0x413320['getTime'](),_0x1be285=_0x547c8a['getTime'](),_0x3e64d6=_0x2ae11c[_0x4ef0f8(0x2fb)]();if(_0x5ad258[_0x4ef0f8(0x18f)](_0x3e64d6,_0x1be285)){if(_0x5ad258['FRhhU'](_0x5ad258[_0x4ef0f8(0x3c4)],_0x5ad258['JYrpF']))_0x226186=_0x5ad258['pwnOU'](_0x29e2bd,_0x1be285)&&_0x5ad258[_0x4ef0f8(0x4cb)](_0x29e2bd,_0x3e64d6);else return;}}const _0x47801f=this[_0x4ef0f8(0x4d3)](_0x547c8a,_0x413320)||this[_0x4ef0f8(0x4d3)](_0xba6bd3,_0x413320),_0xe1b5da=_0x5ad258[_0x4ef0f8(0xb9)](_0x1f975f,_0xc4f229)||!_0xba6bd3&&_0x1f975f||_0x47801f;return{'isSelected':_0xe1b5da,'isStart':_0x1f975f,'isEnd':_0xc4f229,'inRange':_0x4afb50,'inHoverRange':_0x226186};}['onHover'](_0x55e7f8,_0x151fa2){const _0x2868ba=_0x6842e4,_0x9b4949={'dcyrz':function(_0x2abcf7,_0x5306aa){return _0x2abcf7(_0x5306aa);},'fUAAT':function(_0x4d7692,_0x4907f9){return _0x4d7692-_0x4907f9;},'FDaxY':function(_0x282e4d,_0x58c691){return _0x282e4d===_0x58c691;},'WrwJu':'zdPLd','xuXYD':_0x2868ba(0x14b),'zYlDa':function(_0x434451,_0x4c8fce){return _0x434451!==_0x4c8fce;},'egXlJ':'ctuhy','BZqMn':_0x2868ba(0x2f2),'obfTF':function(_0x453f7e,_0x120173){return _0x453f7e||_0x120173;},'jVglg':_0x2868ba(0x51f),'oStzn':function(_0x4cba49,_0x3bfae1){return _0x4cba49<_0x3bfae1;},'rZqQQ':function(_0x223fb4,_0x30b860){return _0x223fb4!==_0x30b860;},'gPWJk':_0x2868ba(0x1c9)};if(_0x151fa2)return;const _0x47f070=this[_0x2868ba(0x45b)](),_0x2a4ecf=this[_0x2868ba(0x9c)]();if(!_0x55e7f8){if(_0x9b4949[_0x2868ba(0x5e4)](_0x9b4949['WrwJu'],_0x9b4949['xuXYD']))_0x2443ba[_0x2868ba(0x134)](...[..._0x40cb99['matchAll'](_0x534f09[this[_0x2868ba(0x5e0)]()][_0x349c77][_0x2868ba(0x26a)])]['map'](_0x1d1d5f=>({'css':_0x5ba9c0[this[_0x2868ba(0x5e0)]()][_0x2c6b01][_0x2868ba(0x2b2)],'index':_0x1d1d5f[_0x2868ba(0x4b5)],'string':_0x1d1d5f[0x0]}))),_0x11c96c=_0x28bf69[_0x2868ba(0x25e)](_0x583271[this['$language']()][_0x59c75b]['regexp'],_0x13c668=>'%'[_0x2868ba(0x3c5)](_0x13c668[_0x2868ba(0x41d)]));else{this[_0x2868ba(0x392)][_0x2868ba(0x26b)](null);return;}}if(!this[_0x2868ba(0x297)]()){if(_0x9b4949[_0x2868ba(0x8c)](_0x9b4949[_0x2868ba(0x404)],_0x9b4949[_0x2868ba(0x3cd)]))return;else{this[_0x2868ba(0x433)][_0x2868ba(0x330)](this[_0x2868ba(0x269)]['id']);return;}}if(_0x9b4949['obfTF'](!_0x47f070,_0x2a4ecf)){if(_0x9b4949[_0x2868ba(0x5e4)](_0x2868ba(0x2a4),_0x9b4949[_0x2868ba(0x20a)]))this[_0x2868ba(0x232)]()&&_0x9b4949[_0x2868ba(0x469)](_0x4c1b08,()=>{const _0x425dbe=_0x2868ba;this[_0x425dbe(0x268)]();});else return;}if(_0x9b4949[_0x2868ba(0x49b)](_0x55e7f8[_0x2868ba(0x2fb)](),_0x47f070[_0x2868ba(0x2fb)]())){if(_0x9b4949[_0x2868ba(0x3a1)](_0x2868ba(0x1c9),_0x9b4949[_0x2868ba(0xdb)]))this[_0x2868ba(0x468)](_0x9b4949[_0x2868ba(0x260)](_0x4c662b,0x1));else{this[_0x2868ba(0x392)][_0x2868ba(0x26b)](null);return;}}this[_0x2868ba(0x392)][_0x2868ba(0x26b)](_0x55e7f8);}[_0x6842e4(0x1c7)](){const _0x23e19f=_0x6842e4;return DateUtils[_0x23e19f(0x1c7)]();}['select'](_0x27934e){const _0x41e0af=_0x6842e4,_0x5c5811={'vJwto':function(_0xbeeb4f,_0x39e577){return _0xbeeb4f&&_0x39e577;},'ujBVr':function(_0xb6f9c1,_0x4dfa8f){return _0xb6f9c1&&_0x4dfa8f;},'ZTHtm':_0x41e0af(0x4c4),'sQWwQ':'qxaBg','uMrxg':function(_0x2fba62,_0x524ae8){return _0x2fba62!==_0x524ae8;},'GzHUt':_0x41e0af(0x310)};this['$hoverDate'][_0x41e0af(0x26b)](null);if(!this[_0x41e0af(0x297)]()){this['$dateStart'][_0x41e0af(0x26b)](_0x27934e),this[_0x41e0af(0x24c)][_0x41e0af(0x474)](_0x27934e);return;}const _0x57bc07=this[_0x41e0af(0x45b)](),_0x10eb5f=this[_0x41e0af(0x9c)]();if(!_0x57bc07||_0x5c5811['vJwto'](_0x57bc07,_0x10eb5f)){this['$dateStart'][_0x41e0af(0x26b)](_0x27934e),this[_0x41e0af(0x9c)][_0x41e0af(0x26b)](null),this[_0x41e0af(0x213)][_0x41e0af(0x474)]({'start':_0x27934e,'end':null});return;}if(_0x5c5811['ujBVr'](_0x57bc07,!_0x10eb5f)){if(_0x5c5811[_0x41e0af(0x53a)]!==_0x5c5811['sQWwQ']){const _0x208875=new Date(_0x27934e[_0x41e0af(0x471)](),_0x27934e['getMonth'](),_0x27934e[_0x41e0af(0x317)]())[_0x41e0af(0x2fb)](),_0x3f21f7=new Date(_0x57bc07[_0x41e0af(0x471)](),_0x57bc07[_0x41e0af(0x5b5)](),_0x57bc07[_0x41e0af(0x317)]())[_0x41e0af(0x2fb)]();if(_0x208875<_0x3f21f7){if(_0x5c5811[_0x41e0af(0xe2)](_0x41e0af(0x310),_0x5c5811[_0x41e0af(0x23f)]))this[_0x41e0af(0x2c0)]();else{this[_0x41e0af(0x45b)]['set'](_0x27934e),this[_0x41e0af(0x213)][_0x41e0af(0x474)]({'start':_0x27934e,'end':null});return;}}this[_0x41e0af(0x9c)][_0x41e0af(0x26b)](_0x27934e),this[_0x41e0af(0x213)]['emit']({'start':this[_0x41e0af(0x45b)](),'end':_0x27934e});return;}else this['closePrevious']();}}static ['ɵfac']=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiDailyCalendarDirective,'deps':[],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static ['ɵdir']=_0x43162f['ɵɵngDeclareDirective']({'minVersion':_0x6842e4(0x3fe),'version':_0x6842e4(0x2ac),'type':UiDailyCalendarDirective,'isStandalone':!![],'selector':_0x6842e4(0x1b6),'inputs':{'$isRangeSelection':{'classPropertyName':_0x6842e4(0x297),'publicName':_0x6842e4(0x297),'isSignal':!![],'isRequired':![],'transformFunction':null},'$dateStart':{'classPropertyName':'$dateStart','publicName':_0x6842e4(0x45b),'isSignal':!![],'isRequired':![],'transformFunction':null},'$dateEnd':{'classPropertyName':_0x6842e4(0x9c),'publicName':_0x6842e4(0x9c),'isSignal':!![],'isRequired':![],'transformFunction':null},'$currentMonth':{'classPropertyName':'$currentMonth','publicName':'$currentMonth','isSignal':!![],'isRequired':!![],'transformFunction':null},'$currentYear':{'classPropertyName':_0x6842e4(0x3f5),'publicName':_0x6842e4(0x3f5),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'outputs':{'$dateStart':_0x6842e4(0x38e),'$dateEnd':_0x6842e4(0x4dd),'$currentMonth':_0x6842e4(0x327),'$currentYear':_0x6842e4(0x598),'$onRangeSelect':_0x6842e4(0x213),'$onSelect':_0x6842e4(0x24c)},'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiDailyCalendarDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-daily-calendar'}]}],'propDecorators':{'$isRangeSelection':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':'$isRangeSelection','required':![]}]}],'$dateStart':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':'$dateStart','required':![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':['$dateStartChange']}],'$dateEnd':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x9c),'required':![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x4dd)]}],'$currentMonth':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x492),'required':!![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':['$currentMonthChange']}],'$currentYear':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x3f5),'required':!![]}]},{'type':_0x43162f['Output'],'args':[_0x6842e4(0x598)]}],'$onRangeSelect':[{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x213)]}],'$onSelect':[{'type':_0x43162f[_0x6842e4(0x26f)],'args':['$onSelect']}]}});class UiMonthlyCalendarDirective{[_0x6842e4(0x2b5)]=model(new Date(),...ngDevMode?[{'debugName':'$date'}]:[]);[_0x6842e4(0x24c)]=output();[_0x6842e4(0x3f5)]=model[_0x6842e4(0x205)](...ngDevMode?[{'debugName':'$currentYear'}]:[]);[_0x6842e4(0x257)]=computed(()=>{const _0x2a4517=_0x6842e4,year=this['$currentYear']();return this[_0x2a4517(0x2ba)](year);},...ngDevMode?[{'debugName':_0x6842e4(0x257)}]:[]);[_0x6842e4(0x2ba)](_0x388d2f){const _0x48b2d5=_0x6842e4,_0x350c91={'xjfYE':function(_0x4e2ccf,_0x5bc3e3){return _0x4e2ccf+_0x5bc3e3;},'OXoJo':_0x48b2d5(0x2bd),'Qbbnl':_0x48b2d5(0x105),'fiAug':'May','CVlBg':_0x48b2d5(0x58e),'cXSTy':'July','eJKDl':'August','ivDhv':_0x48b2d5(0xa2),'aQgIQ':_0x48b2d5(0x3eb),'QCXNp':_0x48b2d5(0x103),'rsroj':_0x48b2d5(0x18c)},_0x32ec13=this['$date']()??new Date(),_0x2e5efd=_0x32ec13[_0x48b2d5(0x317)](),_0x59dc49=[_0x48b2d5(0x48b),_0x350c91[_0x48b2d5(0x2cb)],_0x350c91[_0x48b2d5(0x391)],_0x48b2d5(0x4bd),_0x350c91[_0x48b2d5(0x2e0)],_0x350c91[_0x48b2d5(0x5aa)],_0x350c91['cXSTy'],_0x350c91[_0x48b2d5(0x291)],_0x350c91['ivDhv'],_0x350c91[_0x48b2d5(0x1af)],_0x350c91['QCXNp'],_0x350c91[_0x48b2d5(0x3bd)]],_0x3145ea=_0x59dc49[_0x48b2d5(0x2fc)]((_0x5e5f33,_0x45e67d)=>{const _0x3dcb30=_0x48b2d5,_0x5d877a=new Date(_0x388d2f,_0x350c91[_0x3dcb30(0x3e4)](_0x45e67d,0x1),0x0)[_0x3dcb30(0x317)](),_0x4ae9df=Math[_0x3dcb30(0x3ed)](_0x2e5efd,_0x5d877a),_0xd2a48e=new Date(_0x388d2f,_0x45e67d,_0x4ae9df);return{'index':_0x45e67d,'name':_0x5e5f33,'short':_0x5e5f33[_0x3dcb30(0x301)](0x0,0x3),'date':_0xd2a48e,'isSelected':this['isSelected'](_0xd2a48e)};});return _0x3145ea;}[_0x6842e4(0x4f5)](_0x30b7f0){const _0xbd111b=_0x6842e4;this[_0xbd111b(0x24c)][_0xbd111b(0x474)](_0x30b7f0);}[_0x6842e4(0x220)](_0x41f85b){const _0x170a6e=_0x6842e4,_0x207241={'pMlJs':function(_0x35ce12,_0x324b51){return _0x35ce12===_0x324b51;},'iFkHo':function(_0x5e80de,_0x448969){return _0x5e80de===_0x448969;}},_0x5885aa=this[_0x170a6e(0x2b5)]()??new Date();return _0x207241[_0x170a6e(0x303)](_0x41f85b[_0x170a6e(0x471)](),_0x5885aa[_0x170a6e(0x471)]())&&_0x207241[_0x170a6e(0x303)](_0x41f85b[_0x170a6e(0x5b5)](),_0x5885aa[_0x170a6e(0x5b5)]())&&_0x207241[_0x170a6e(0xb2)](_0x41f85b['getDate'](),_0x5885aa[_0x170a6e(0x317)]());}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiMonthlyCalendarDirective,'deps':[],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x3fe),'version':_0x6842e4(0x2ac),'type':UiMonthlyCalendarDirective,'isStandalone':!![],'selector':_0x6842e4(0x200),'inputs':{'$date':{'classPropertyName':_0x6842e4(0x2b5),'publicName':_0x6842e4(0x2b5),'isSignal':!![],'isRequired':![],'transformFunction':null},'$currentYear':{'classPropertyName':_0x6842e4(0x3f5),'publicName':'$currentYear','isSignal':!![],'isRequired':!![],'transformFunction':null}},'outputs':{'$date':_0x6842e4(0x2af),'$onSelect':_0x6842e4(0x24c),'$currentYear':_0x6842e4(0x598)},'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiMonthlyCalendarDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x200)}]}],'propDecorators':{'$date':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x2b5),'required':![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x2af)]}],'$onSelect':[{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x24c)]}],'$currentYear':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x3f5),'required':!![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x598)]}]}});class UiYearlyCalendarDirective{[_0x6842e4(0x2b5)]=model(new Date(),...ngDevMode?[{'debugName':_0x6842e4(0x2b5)}]:[]);[_0x6842e4(0x24c)]=output();[_0x6842e4(0x3f5)]=model[_0x6842e4(0x205)](...ngDevMode?[{'debugName':_0x6842e4(0x3f5)}]:[]);['$years']=computed(()=>{const _0x3a65e9=_0x6842e4,year=this['$currentYear']();return this[_0x3a65e9(0x1c4)](year);},...ngDevMode?[{'debugName':_0x6842e4(0x24e)}]:[]);[_0x6842e4(0x1c4)](_0x26ef81){const _0x1c3ad9=_0x6842e4,_0x3dfd9e={'iWTPG':function(_0x9f405e,_0x2f50ab){return _0x9f405e<_0x2f50ab;},'RCZYE':function(_0x1db521,_0x5daf8a){return _0x1db521+_0x5daf8a;},'GqAFo':function(_0x407639,_0x47d624){return _0x407639===_0x47d624;}},_0x37177d=this[_0x1c3ad9(0x2b5)]()??new Date(),_0x457b9e=_0x37177d[_0x1c3ad9(0x5b5)](),_0x123326=_0x37177d[_0x1c3ad9(0x317)](),_0x452abf=_0x37177d[_0x1c3ad9(0x471)](),_0x365df0=[];for(let _0xc47eb5=0x0;_0x3dfd9e[_0x1c3ad9(0x4c3)](_0xc47eb5,0x14);_0xc47eb5++){const _0x2d3a7a=_0x3dfd9e[_0x1c3ad9(0x195)](_0x26ef81,_0xc47eb5);_0x365df0[_0x1c3ad9(0x134)]({'year':_0x2d3a7a,'date':this[_0x1c3ad9(0x2b9)](_0x2d3a7a,_0x457b9e,_0x123326),'isSelected':_0x3dfd9e[_0x1c3ad9(0x1d6)](_0x2d3a7a,_0x452abf)});}return _0x365df0;}[_0x6842e4(0x2b9)](_0x1df794,_0x5b6942,_0x375805){const _0x1e2bf9=_0x6842e4,_0x57e662={'mqztO':function(_0x42dc3a,_0x1f8878){return _0x42dc3a+_0x1f8878;}},_0x92eff1=new Date(_0x1df794,_0x57e662[_0x1e2bf9(0x4cd)](_0x5b6942,0x1),0x0)['getDate'](),_0x16cc08=Math[_0x1e2bf9(0x3ed)](_0x375805,_0x92eff1);return new Date(_0x1df794,_0x5b6942,_0x16cc08);}[_0x6842e4(0x4f5)](_0x5a0bd6){const _0x1cc702=_0x6842e4;this['$date']['set'](_0x5a0bd6),this[_0x1cc702(0x24c)][_0x1cc702(0x474)](_0x5a0bd6);}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiYearlyCalendarDirective,'deps':[],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x3fe),'version':'21.1.1','type':UiYearlyCalendarDirective,'isStandalone':!![],'selector':_0x6842e4(0x52a),'inputs':{'$date':{'classPropertyName':_0x6842e4(0x2b5),'publicName':'$date','isSignal':!![],'isRequired':![],'transformFunction':null},'$currentYear':{'classPropertyName':'$currentYear','publicName':_0x6842e4(0x3f5),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'outputs':{'$date':'$dateChange','$onSelect':_0x6842e4(0x24c),'$currentYear':_0x6842e4(0x598)},'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiYearlyCalendarDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x52a)}]}],'propDecorators':{'$date':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x2b5),'required':![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':['$dateChange']}],'$onSelect':[{'type':_0x43162f['Output'],'args':[_0x6842e4(0x24c)]}],'$currentYear':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x3f5),'required':!![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':['$currentYearChange']}]}});const typescript={'comment':{'css':_0x6842e4(0x3d5),'regexp':/(\/\/.*|\/\*[\s\S]*?\*\/)/g},'string':{'css':_0x6842e4(0xd0),'regexp':/(["'`].*?["'`])/gs},'class':{'css':_0x6842e4(0x59d),'regexp':/\b([A-Z][a-zA-Z$#_-]*)\b/g},'typeKeyword':{'css':'hl6','regexp':/\b(any|boolean|null|number|object|string|void|symbol|bigint|unknown|never)\b/g},'keyword':{'css':_0x6842e4(0x517),'regexp':/\b(keyof|debugger|await|async|readonly|delete|instanceof|in|package|type|with|const|true|false|enum|let|var|namespace|as|class|extends|abstract|implements|interface|private|protected|public|static|constructor|function|new|super|this|typeof|yield)\b/g},'module':{'css':'hl8','regexp':/\b(export|import|module|from)\b/g},'controlFlowLoop':{'css':'hl8','regexp':/\b(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\b/g},'function':{'css':_0x6842e4(0x2c3),'regexp':/\b([$a-zA-Z_]*[$a-zA-Z0-9$#_-]*)\s*(?=[(<])/g},'number':{'css':_0x6842e4(0x22d),'regexp':/\b(\d+)\b/g},'enum':{'css':_0x6842e4(0x595),'regexp':/\b([A-Z0-9]+(?:_[A-Z0-9]+)*)\b/g},'operator':{'css':_0x6842e4(0x31e),'regexp':/([+\-=&|=>.;:,?!<>])/g},'openBracket':{'css':_0x6842e4(0x5de),'regexp':/([{\[(])/g},'closeBracket':{'css':_0x6842e4(0x4ea),'regexp':/([}\])])/g},'remains':{'css':'hl','regexp':/[^\%]+/g}},xml={'comment':{'css':_0x6842e4(0x3d5),'regexp':/<!--[\s\S]*?-->/g},'string':{'css':_0x6842e4(0xd0),'regexp':/(["'`].*?["'`])/gs},'class':{'css':_0x6842e4(0x59d),'regexp':/\b/g},'typeKeyword':{'css':'hl','regexp':/\b([a-zA-Z_:][a-zA-Z0-9_.:-]*)\b(?=\s*=|\])/g},'keyword':{'css':'hl7','regexp':/(?<=<\/?|!)[a-zA-Z0-9_-]+(?=\s|>)/g},'module':{'css':_0x6842e4(0x1ea),'regexp':/\b/g},'controlFlowLoop':{'css':_0x6842e4(0x1ea),'regexp':/\b(break|case|catch|continue|default|do|else|finally|for|of|if|return|switch|throw|try|while)\b/g},'function':{'css':_0x6842e4(0x2c3),'regexp':/\b([$a-zA-Z_]*[$a-zA-Z0-9$#_-]*)\s*(?=[(])/g},'number':{'css':_0x6842e4(0x22d),'regexp':/\b(\d+)\b/g},'enum':{'css':'hl11','regexp':/\b([A-Z0-9]+(?:_[A-Z0-9]+)*)\b/g},'operator':{'css':'hl16','regexp':/([+\-&/|.;:,?!<>])/g},'openBracket':{'css':'hl13','regexp':/([{\[(])/g},'closeBracket':{'css':'hl14','regexp':/([}\])])/g},'remains':{'css':_0x6842e4(0x31e),'regexp':/[^\%]+/g}},json={'comment':{'css':_0x6842e4(0x3d5),'regexp':/\b/g},'string':{'css':'hl3','regexp':/(["'`])([^"':`]+)\1(?!\s*:)/g},'class':{'css':_0x6842e4(0x59d),'regexp':/\b/g},'typeKeyword':{'css':_0x6842e4(0x5c9),'regexp':/\b/g},'keyword':{'css':'hl7','regexp':/\b(true|false)/g},'module':{'css':_0x6842e4(0x1ea),'regexp':/\b/g},'controlFlowLoop':{'css':_0x6842e4(0x1ea),'regexp':/\b/g},'function':{'css':_0x6842e4(0x2c3),'regexp':/\b/g},'number':{'css':_0x6842e4(0x22d),'regexp':/\b(\d+)\b/g},'enum':{'css':_0x6842e4(0x595),'regexp':/\b/g},'operator':{'css':_0x6842e4(0x31e),'regexp':/([:,])/g},'openBracket':{'css':'hl13','regexp':/([{\[(])/g},'closeBracket':{'css':_0x6842e4(0x4ea),'regexp':/([}\])])/g},'remains':{'css':'hl','regexp':/[^\%]+/g}},css={'comment':{'css':'hl1','regexp':/(\/\/.*|\/\*[\s\S]*?\*\/)/g},'string':{'css':_0x6842e4(0xd0),'regexp':/(["'`].*?["'`])/g},'class':{'css':_0x6842e4(0x14d),'regexp':/(?:\.|:)?[\w-]+\s*(?=\{)/g},'typeKeyword':{'css':_0x6842e4(0x1ea),'regexp':/@\w+/g},'keyword':{'css':'hl','regexp':/\$\w[-\w_]*/g},'module':{'css':'hl8','regexp':/\b/g},'controlFlowLoop':{'css':'hl8','regexp':/\b(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\b/g},'function':{'css':_0x6842e4(0x2c3),'regexp':/\b([$a-zA-Z_]*[$a-zA-Z0-9$#_-]*)\s*(?=[(<])/g},'number':{'css':_0x6842e4(0x22d),'regexp':/\b(\d+)\b/g},'enum':{'css':'hl','regexp':/[\w-_]+:/g},'operator':{'css':_0x6842e4(0x31e),'regexp':/([+\-=&|=>.;:,?!<>])/g},'openBracket':{'css':_0x6842e4(0x5de),'regexp':/([{\[(])/g},'closeBracket':{'css':'hl14','regexp':/([}\])])/g},'remains':{'css':_0x6842e4(0xd0),'regexp':/[^\%]+/g}},codeLanguages={'javascript':typescript,'typescript':typescript,'js':typescript,'ts':typescript,'css':css,'json':json,'html':xml,'xml':xml};class UiCodeDirective{[_0x6842e4(0x55c)]=input[_0x6842e4(0x205)](...ngDevMode?[{'debugName':_0x6842e4(0x55c)}]:[]);[_0x6842e4(0x5e0)]=signal('',...ngDevMode?[{'debugName':_0x6842e4(0x5e0)}]:[]);[_0x6842e4(0xe5)]=signal([],...ngDevMode?[{'debugName':_0x6842e4(0xe5)}]:[]);constructor(){const _0x4a24ac=_0x6842e4,_0x28e478={'pwXEE':function(_0x94540,_0x235c87){return _0x94540!==_0x235c87;},'hfqRg':_0x4a24ac(0x545),'CHbBf':_0x4a24ac(0x2ed)};effect(()=>{const _0x347c92=_0x4a24ac;_0x28e478[_0x347c92(0x5c3)](_0x28e478['hfqRg'],_0x28e478[_0x347c92(0x104)])?this[_0x347c92(0x487)](this[_0x347c92(0x55c)]()):this[_0x347c92(0x555)][_0x347c92(0x474)](_0x1d8922);});}['highlightCode'](_0x2d30d2){const _0x2f1227=_0x6842e4,_0x483a05={'bvVBN':_0x2f1227(0x183),'FAGlT':function(_0xd2c1ca,_0x42e5d5){return _0xd2c1ca(_0x42e5d5);},'kmIKM':function(_0x428d55,_0x554860){return _0x428d55===_0x554860;},'FlMnY':function(_0x417485,_0x4ed04c){return _0x417485>_0x4ed04c;},'VguSb':_0x2f1227(0x3d3),'ovrwU':function(_0x39741b,_0x1cbb3c){return _0x39741b<_0x1cbb3c;},'KRhFk':function(_0x27a91a,_0x173ee3){return _0x27a91a-_0x173ee3;},'GWYQX':function(_0xb00c8d,_0x26ac42){return _0xb00c8d+_0x26ac42;},'tYEWP':_0x2f1227(0x292),'ciZlr':_0x2f1227(0x2be),'ahJyT':function(_0x59497d,_0x364899){return _0x59497d===_0x364899;},'MTSgx':function(_0x11525f,_0x446a26){return _0x11525f%_0x446a26;},'WVLfN':_0x2f1227(0x5de),'lDdiP':function(_0x4eefe1,_0xa5d9d1){return _0x4eefe1===_0xa5d9d1;},'TdmYe':'hl15','fdxlO':_0x2f1227(0x46c),'KOPFJ':_0x2f1227(0x121),'fuXpG':function(_0x1c63aa){return _0x1c63aa();},'dDrsA':'hl14','AhrEZ':_0x2f1227(0x1fe),'zRvmR':function(_0x493d2f){return _0x493d2f();}};_0x2d30d2=_0x2d30d2[_0x2f1227(0x428)](/^\n+|\n+$/g,'')[_0x2f1227(0x3b6)]();const _0xe9a101=_0x2d30d2[_0x2f1227(0x46b)](/[\s\n]/,0x1);if(Object[_0x2f1227(0x109)](codeLanguages)[_0x2f1227(0x2aa)](_0xe9a101[0x0][_0x2f1227(0xea)]()))this[_0x2f1227(0x5e0)][_0x2f1227(0x26b)](_0xe9a101[0x0]),_0x2d30d2=_0x2d30d2[_0x2f1227(0x428)](_0xe9a101[0x0],'')[_0x2f1227(0x436)]();else{this[_0x2f1227(0x5e0)][_0x2f1227(0x26b)](_0x483a05['bvVBN']),_0x483a05[_0x2f1227(0x5c8)](untracked,()=>{const _0x2a48bb=_0x2f1227;this[_0x2a48bb(0xe5)][_0x2a48bb(0x26b)]([{'css':_0x483a05[_0x2a48bb(0x4e9)],'string':_0x2d30d2[_0x2a48bb(0x436)](),'index':0x0}]);});return;}let _0x120c94=[];Object['keys'](codeLanguages[this[_0x2f1227(0x5e0)]()])['forEach'](_0x150475=>{const _0x5e8087=_0x2f1227;_0x120c94[_0x5e8087(0x134)](...[..._0x2d30d2[_0x5e8087(0x59a)](codeLanguages[this[_0x5e8087(0x5e0)]()][_0x150475][_0x5e8087(0x26a)])][_0x5e8087(0x2fc)](_0x443b72=>({'css':codeLanguages[this['$language']()][_0x150475]['css'],'index':_0x443b72[_0x5e8087(0x4b5)],'string':_0x443b72[0x0]}))),_0x2d30d2=_0x2d30d2[_0x5e8087(0x25e)](codeLanguages[this[_0x5e8087(0x5e0)]()][_0x150475]['regexp'],_0x12d4c4=>'%'[_0x5e8087(0x3c5)](_0x12d4c4[_0x5e8087(0x41d)]));});let _0x40d56c=0x0;_0x120c94=_0x120c94['sort']((_0x594f7c,_0xf66855)=>_0x594f7c[_0x2f1227(0x4b5)]>_0xf66855['index']?0x1:-0x1)[_0x2f1227(0x2fc)](_0xb397c2=>{const _0x412d73=_0x2f1227,_0x267e1e={'QuLFz':function(_0x10c98e,_0x9007b3){const _0x185b68=_0x481b;return _0x483a05[_0x185b68(0x273)](_0x10c98e,_0x9007b3);},'ReDTl':function(_0x234832,_0x30d6f2){const _0x1949a0=_0x481b;return _0x483a05[_0x1949a0(0x351)](_0x234832,_0x30d6f2);},'KXOuG':function(_0x282ff9,_0xdb9237){return _0x282ff9-_0xdb9237;},'AhYzA':function(_0x219b4b,_0x2052dc){return _0x219b4b-_0x2052dc;},'skQWg':function(_0x3d0ff0,_0x9d81c1){return _0x483a05['ovrwU'](_0x3d0ff0,_0x9d81c1);},'RfNnq':function(_0x25b754,_0x818c7c){const _0x3e940b=_0x481b;return _0x483a05[_0x3e940b(0x513)](_0x25b754,_0x818c7c);},'luoiL':function(_0x503e54,_0x225449){return _0x483a05['KRhFk'](_0x503e54,_0x225449);},'LDdDu':function(_0x36d223,_0x31b617){return _0x36d223<_0x31b617;},'DNYzB':function(_0x400369,_0x313c8c){const _0x9febcf=_0x481b;return _0x483a05[_0x9febcf(0x513)](_0x400369,_0x313c8c);},'OLQwK':function(_0x5a7844,_0x4485c5){const _0x5983aa=_0x481b;return _0x483a05[_0x5983aa(0x351)](_0x5a7844,_0x4485c5);},'zESAf':function(_0x57128b,_0x47e3e7){return _0x57128b!==_0x47e3e7;},'fVNuU':_0x483a05[_0x412d73(0x1f5)],'dhKRE':_0x483a05[_0x412d73(0x2d4)],'Wpkov':function(_0x4c0701,_0x1f7e8e){return _0x483a05['ahJyT'](_0x4c0701,_0x1f7e8e);},'qPOsf':function(_0x3212cf,_0x8f2af7){const _0x255f34=_0x412d73;return _0x483a05[_0x255f34(0x5ce)](_0x3212cf,_0x8f2af7);},'LCZQX':_0x483a05['WVLfN'],'necGC':function(_0x47ec53,_0x425861){return _0x483a05['kmIKM'](_0x47ec53,_0x425861);},'VlEJt':function(_0x143b8a,_0x5ec2fc){return _0x143b8a%_0x5ec2fc;},'yQupt':function(_0x5f49df,_0x495b1c){const _0xec32a0=_0x412d73;return _0x483a05[_0xec32a0(0x361)](_0x5f49df,_0x495b1c);},'JVexD':_0x483a05[_0x412d73(0x35b)]};if(_0x483a05[_0x412d73(0x4c8)]!==_0x483a05[_0x412d73(0x355)]){let _0x3ae5c9=_0xb397c2;const _0xbb127a=()=>{const _0x574465=_0x412d73,_0x216033={'HYtVd':function(_0x40340a,_0x16742e){return _0x40340a-_0x16742e;},'LknpD':function(_0x240a39,_0x24222d){const _0x214aeb=_0x481b;return _0x267e1e[_0x214aeb(0xe4)](_0x240a39,_0x24222d);},'yWpvH':function(_0xb5ce34,_0x552afc){return _0xb5ce34+_0x552afc;},'RvXiI':function(_0x2c3b7f,_0x455a8f){const _0x510737=_0x481b;return _0x267e1e[_0x510737(0x485)](_0x2c3b7f,_0x455a8f);},'zWxAR':function(_0x63cf08,_0x5c5d8a){const _0x169dc7=_0x481b;return _0x267e1e[_0x169dc7(0x22b)](_0x63cf08,_0x5c5d8a);},'LSPCx':function(_0x2c03fc,_0x510e30){const _0x2a5d16=_0x481b;return _0x267e1e[_0x2a5d16(0x3af)](_0x2c03fc,_0x510e30);},'NqPOM':function(_0x529915,_0x3289e8){const _0x29dbcd=_0x481b;return _0x267e1e[_0x29dbcd(0x3af)](_0x529915,_0x3289e8);},'RVXXH':function(_0xfce594,_0xfbac5d){return _0x267e1e['skQWg'](_0xfce594,_0xfbac5d);},'bYDqX':function(_0x3fb442,_0x4c3e65){return _0x3fb442+_0x4c3e65;},'dCOYw':function(_0x4540b4,_0x5e2278){const _0x366331=_0x481b;return _0x267e1e[_0x366331(0x3dc)](_0x4540b4,_0x5e2278);},'AMTiD':function(_0x4b9bd3,_0x3399d5){return _0x267e1e['luoiL'](_0x4b9bd3,_0x3399d5);},'iTBqm':function(_0x4486f2,_0x112ae8){return _0x267e1e['LDdDu'](_0x4486f2,_0x112ae8);},'hMJwE':function(_0x251874,_0x304a2c){const _0xb16486=_0x481b;return _0x267e1e[_0xb16486(0x37b)](_0x251874,_0x304a2c);},'MmYWI':function(_0x424ae0,_0x4674a7){const _0x355833=_0x481b;return _0x267e1e[_0x355833(0x3ae)](_0x424ae0,_0x4674a7);}};if(_0x267e1e[_0x574465(0x47d)](_0x267e1e[_0x574465(0x48a)],_0x267e1e[_0x574465(0x34f)]))_0x267e1e[_0x574465(0x49c)](_0x267e1e[_0x574465(0x3c1)](_0x40d56c,0x3),0x0)&&(_0x3ae5c9={..._0xb397c2,'css':_0x267e1e[_0x574465(0x286)]}),_0x267e1e[_0x574465(0x2a5)](_0x267e1e[_0x574465(0x5d2)](_0x40d56c,0x3),0x1)&&(_0x3ae5c9={..._0xb397c2,'css':'hl14'}),_0x267e1e[_0x574465(0x533)](_0x40d56c%0x3,0x2)&&(_0x3ae5c9={..._0xb397c2,'css':_0x267e1e[_0x574465(0x534)]});else{const _0xf67cd4=0x14,_0x2df6ea=_0x5249e7[_0x574465(0x99)][_0x574465(0x296)]-_0x18aa69['clientX'],_0x118d39=_0x216033['HYtVd'](_0x3bc3d0['body'][_0x574465(0x2c7)],_0x2a8158[_0x574465(0x13e)]);let _0x1e4883=_0x46d6f2['clientX'],_0x4fd40e=_0x2fb4c9[_0x574465(0x13e)];if(_0x216033[_0x574465(0x2f6)](_0x2df6ea,_0x216033[_0x574465(0x531)](_0x4514c0['width'],_0xf67cd4))&&_0x118d39<_0x216033[_0x574465(0x531)](_0x463190[_0x574465(0x2f8)],_0xf67cd4))_0x1e4883=_0x216033[_0x574465(0x34d)](_0x51ac0d[_0x574465(0x2a1)],_0x27f6a0['width'])+_0x216033[_0x574465(0x5cb)](_0x2df6ea,_0xf67cd4),_0x4fd40e=_0x216033[_0x574465(0x1c3)](_0x2432f3['clientY'],_0x32f028['height'])+_0x216033[_0x574465(0x1e4)](_0x118d39,_0xf67cd4);else{if(_0x216033[_0x574465(0x522)](_0x2df6ea,_0x216033[_0x574465(0x450)](_0x23309a['width'],_0xf67cd4)))_0x1e4883=_0x216033['dCOYw'](_0x216033[_0x574465(0x2dd)](_0x4fe29c[_0x574465(0x2a1)],_0x5ca105[_0x574465(0x2b7)]),_0x2df6ea-_0xf67cd4);else _0x216033['iTBqm'](_0x118d39,_0x216033['hMJwE'](_0x6d697e[_0x574465(0x2f8)],_0xf67cd4))&&(_0x4fd40e=_0x216033['AMTiD'](_0x16371a[_0x574465(0x13e)],_0x57b2b2['height'])+_0x216033['MmYWI'](_0x118d39,_0xf67cd4));}return{'left':_0x1e4883,'top':_0x4fd40e};}};_0x483a05[_0x412d73(0x361)](_0xb397c2[_0x412d73(0x2b2)],_0x483a05[_0x412d73(0x2cc)])&&(_0x483a05['fuXpG'](_0xbb127a),_0x40d56c+=0x1);if(_0xb397c2[_0x412d73(0x2b2)]===_0x483a05[_0x412d73(0x290)]){if('TVDGu'!==_0x483a05[_0x412d73(0x4ce)])_0x40d56c-=0x1,_0x483a05['zRvmR'](_0xbb127a);else{const _0x2c6d42=this['$tabs']();this['$templates']()[_0x412d73(0x484)]((_0x321ebc,_0x1b463e)=>{_0x2c6d42[_0x1b463e]['template']=_0x321ebc;}),_0x483a05['FAGlT'](_0x37ebe5,()=>{const _0x455b06=_0x412d73;this[_0x455b06(0xed)][_0x455b06(0x26b)](_0x2c6d42);});}}return _0x3ae5c9;}else _0x483a05[_0x412d73(0x155)](_0xbe2f7d[_0x412d73(0x2b1)],0x0)&&(this[_0x412d73(0x57b)]=![],this[_0x412d73(0x42e)][_0x412d73(0x26b)](_0x483a05[_0x412d73(0xda)](this[_0x412d73(0x20c)],0x1)?_0x483a05[_0x412d73(0x413)]:_0x412d73(0x57a)));}),this[_0x2f1227(0xe5)]['set'](_0x120c94);}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiCodeDirective,'deps':[],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x3fe),'version':_0x6842e4(0x2ac),'type':UiCodeDirective,'isStandalone':!![],'selector':_0x6842e4(0x453),'inputs':{'$code':{'classPropertyName':_0x6842e4(0x55c),'publicName':_0x6842e4(0x55c),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiCodeDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x453)}]}],'ctorParameters':()=>[],'propDecorators':{'$code':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x55c),'required':!![]}]}]}});class UiPopupInstance{[_0x6842e4(0x2f4)];['destroyRef'];['id']='';[_0x6842e4(0x2b7)]=0x0;['animationOrigin$']=new BehaviorSubject(_0x6842e4(0x238));[_0x6842e4(0x239)]={'positionX':0x0,'positionY':0x0,'startTransition':'scale(0)','endTransition':_0x6842e4(0x400)};['closed']=new Subject();[_0x6842e4(0x2de)]=new Subject();constructor(_0x44c9d2,_0x424c79,_0x29038d={'positionX':0x0,'positionY':0x0,'startTransition':_0x6842e4(0x245),'endTransition':_0x6842e4(0x56b)}){const _0x34ed86=_0x6842e4,_0xd0c7d8={'VhgJU':function(_0x15d07f,_0x13f3ea){return _0x15d07f!==_0x13f3ea;},'NQRPH':_0x34ed86(0x427),'UZKYZ':function(_0x4428ed,_0x490079){return _0x4428ed(_0x490079);}};this[_0x34ed86(0x2f4)]=_0x44c9d2,this[_0x34ed86(0x380)]=_0x424c79,this[_0x34ed86(0x239)]=_0x29038d,this[_0x34ed86(0x2f4)]['detachments']()[_0x34ed86(0x10a)](_0xd0c7d8['UZKYZ'](takeUntilDestroyed,this[_0x34ed86(0x380)]))[_0x34ed86(0x144)](()=>{const _0x3b4198=_0x34ed86;if(_0xd0c7d8['VhgJU'](_0xd0c7d8[_0x3b4198(0x596)],_0xd0c7d8[_0x3b4198(0x596)])){if(this[_0x3b4198(0x511)]()){const _0xeef199=new _0x2b5364();_0xeef199[_0x3b4198(0x4ca)]=this['$src'](),_0xeef199[_0x3b4198(0x3d8)]=()=>{const _0x527a2b=_0x3b4198;this[_0x527a2b(0x539)](this[_0x527a2b(0x1eb)](),this[_0x527a2b(0x4e2)](),_0xeef199['width'],_0xeef199[_0x527a2b(0x2f8)]),_0xeef199[_0x527a2b(0x425)]();};}else this[_0x3b4198(0x539)]();}else this[_0x3b4198(0x119)]['next'](),this[_0x3b4198(0x119)][_0x3b4198(0x53e)](),this['overlayRef'][_0x3b4198(0x4f4)]();});}[_0x6842e4(0x268)](){const _0x45bfaa=_0x6842e4;this[_0x45bfaa(0x2de)][_0x45bfaa(0xa8)](),this[_0x45bfaa(0x2de)][_0x45bfaa(0x53e)]();}['detach'](){const _0x26d337=_0x6842e4;this[_0x26d337(0x2f4)][_0x26d337(0x518)]();}['onShouldClose'](){const _0x1df995=_0x6842e4;return this[_0x1df995(0x2de)]['asObservable']();}}class UiPopupService{['overlay'];[_0x6842e4(0x16b)];[_0x6842e4(0x380)];[_0x6842e4(0xa4)];[_0x6842e4(0x58a)]=[];[_0x6842e4(0xcf)];[_0x6842e4(0x1c0)];[_0x6842e4(0x222)];[_0x6842e4(0x573)]=new Subject();[_0x6842e4(0xb5)]=new Subject();constructor(_0x2cd3c6,_0x3026d0,_0x20d352,_0x2b23d9){const _0x552ccc=_0x6842e4;this[_0x552ccc(0x298)]=_0x2cd3c6,this[_0x552ccc(0x16b)]=_0x3026d0,this[_0x552ccc(0x380)]=_0x20d352,this[_0x552ccc(0xa4)]=_0x2b23d9;}[_0x6842e4(0x501)](_0x5205f4){const _0x284989=_0x6842e4;this[_0x284989(0x1c0)]=new ComponentPortal(_0x5205f4);}[_0x6842e4(0x336)](_0x4f77f0,_0x3a9866,_0x43ede6,_0x202cae){const _0x2489a3=_0x6842e4;this[_0x2489a3(0x58a)][_0x2489a3(0x41d)]&&(_0x202cae[_0x2489a3(0x591)]&&this[_0x2489a3(0x23a)]());this[_0x2489a3(0xbd)](_0x202cae[_0x2489a3(0x4d5)]);const _0x1069bb=this[_0x2489a3(0x298)][_0x2489a3(0x1cf)]({'hasBackdrop':![],'backdropClass':'cdk-overlay-transparent-backdrop','positionStrategy':this[_0x2489a3(0x298)]['position']()[_0x2489a3(0x54f)]()[_0x2489a3(0x462)]()[_0x2489a3(0x592)]()});this[_0x2489a3(0x27e)](),this['createPopup'](_0x1069bb,_0x4f77f0,_0x3a9866,_0x43ede6,_0x202cae);}[_0x6842e4(0x59b)](_0x2117ff,_0x330a31,_0x2c12a0,_0x2094a6,_0x24c086,_0x559ce8,_0xcb46b3={}){const _0x417a82=_0x6842e4,_0x168bca=this[_0x417a82(0x341)](_0x2094a6,_0x24c086,_0x559ce8);this[_0x417a82(0x336)](_0x2117ff,_0x330a31,_0x2c12a0,{..._0xcb46b3,'animationOptions':_0x168bca});}[_0x6842e4(0x268)](){const _0x5a08bf=_0x6842e4,_0x36a6dc={'iKbJj':'outline','xgtzn':function(_0x50126c,_0x248276){return _0x50126c>=_0x248276;},'uGkza':_0x5a08bf(0x158),'NhHxU':function(_0x18a34d,_0x2cc3ab){return _0x18a34d===_0x2cc3ab;},'DmJSs':_0x5a08bf(0x10c)};if(_0x36a6dc[_0x5a08bf(0x2cd)](this[_0x5a08bf(0x58a)][_0x5a08bf(0x41d)],0x1)){if(_0x36a6dc[_0x5a08bf(0x94)]===_0x36a6dc[_0x5a08bf(0x94)]){this[_0x5a08bf(0x58a)][this[_0x5a08bf(0x58a)][_0x5a08bf(0x41d)]-0x1]['close'](),this[_0x5a08bf(0x58a)][_0x5a08bf(0x347)]();if(!this[_0x5a08bf(0x58a)][_0x5a08bf(0x41d)]){if(_0x36a6dc[_0x5a08bf(0x405)](_0x36a6dc[_0x5a08bf(0x32f)],_0x36a6dc['DmJSs']))this[_0x5a08bf(0x309)]();else{const _0x1a9792=this[_0x5a08bf(0x5f7)]();_0x1a9792?this[_0x5a08bf(0xad)]['addClass'](this['elementRef'][_0x5a08bf(0xa5)],_0x36a6dc[_0x5a08bf(0x299)]):this['renderer']['removeClass'](this['elementRef']['nativeElement'],_0x36a6dc['iKbJj']);}}}else{const _0x13ebc7=new _0x50cebd(()=>{const _0x5928d9=_0x5a08bf;_0x32311b[_0x5928d9(0x585)](()=>{const _0x2ce55c=_0x5928d9;this[_0x2ce55c(0x572)]();});});_0x13ebc7[_0x5a08bf(0x431)](this[_0x5a08bf(0x4fb)][_0x5a08bf(0xa5)]),this[_0x5a08bf(0x380)][_0x5a08bf(0x599)](()=>_0x13ebc7[_0x5a08bf(0x43d)]());}}}['closePrevious'](){const _0x54f953=_0x6842e4,_0x82f4f4={'LHKiU':function(_0xa7ad89,_0x36059c){return _0xa7ad89>=_0x36059c;},'CeobD':function(_0x47bf41,_0x47d34f){return _0x47bf41-_0x47d34f;}};_0x82f4f4[_0x54f953(0x311)](this[_0x54f953(0x58a)][_0x54f953(0x41d)],0x1)&&(this[_0x54f953(0x58a)][_0x82f4f4[_0x54f953(0xfd)](this['popupInstances'][_0x54f953(0x41d)],0x1)][_0x54f953(0x268)](),this[_0x54f953(0x58a)]['pop']());}[_0x6842e4(0x3c0)](_0x52cd2e){const _0x174589=_0x6842e4;this[_0x174589(0x58a)][_0x52cd2e][_0x174589(0x268)](),this['popupInstances'][_0x174589(0x586)](_0x52cd2e,0x1),!this[_0x174589(0x58a)]['length']&&this[_0x174589(0x309)]();}[_0x6842e4(0x330)](_0x271648){const _0x573e02=_0x6842e4,_0x13447e={'IJwFU':function(_0x366e89,_0x17fab1){return _0x366e89>=_0x17fab1;}},_0x2e8f4c=this[_0x573e02(0x58a)][_0x573e02(0x159)](_0x2accb1=>_0x2accb1['id']===_0x271648);_0x13447e['IJwFU'](_0x2e8f4c,0x0)&&this['closeByIndex'](_0x2e8f4c);}[_0x6842e4(0x54c)](){const _0x3386cb=_0x6842e4;this['popupInstances'][_0x3386cb(0x484)](_0x5590d3=>{const _0x1d2f2c=_0x3386cb;_0x5590d3[_0x1d2f2c(0x268)]();}),this[_0x3386cb(0x58a)]=[],this[_0x3386cb(0x309)]();}['createPopup'](_0x5672dc,_0x189692,_0x4071ea,_0x460bd3,_0x549983){const _0x169191=_0x6842e4,_0x34dbb3={'DrPGJ':function(_0x1e4d7f,_0x31ca59){return _0x1e4d7f===_0x31ca59;},'NfQno':_0x169191(0x4dc)},_0x46d37e=this[_0x169191(0x407)](_0x549983),_0x118ee9=new UiPopupInstance(_0x5672dc,this[_0x169191(0x380)],_0x46d37e['animationOptions']);_0x46d37e[_0x169191(0x2b7)]>0x0&&(_0x118ee9['width']=_0x46d37e['width']);const _0xd42f54=Injector[_0x169191(0x1cf)]({'parent':this[_0x169191(0x16b)],'providers':[{'provide':UiPopupInstance,'useValue':_0x118ee9}]}),_0x2c915c=_0x5672dc[_0x169191(0x1b9)](new ComponentPortal(_0x189692,undefined,_0xd42f54));_0x4071ea&&(_0x4071ea['inputs']&&Object[_0x169191(0x109)](_0x4071ea[_0x169191(0x5a2)])[_0x169191(0x484)](_0x3d8db6=>{const _0x56754e=_0x169191;if(_0x4071ea[_0x56754e(0x5a2)]){if(_0x34dbb3[_0x56754e(0x3c8)](_0x56754e(0x4dc),_0x34dbb3[_0x56754e(0x176)]))_0x2c915c['setInput'](_0x3d8db6,_0x4071ea[_0x56754e(0x5a2)][_0x3d8db6]);else{this[_0x56754e(0x5ef)][_0x56754e(0x26b)]({'code':'','name':'','iso':'xx','phonePrefix':''});return;}}})),_0x118ee9['id']=_0x460bd3,this['popupInstances']['push'](_0x118ee9);}[_0x6842e4(0x27e)](){const _0xb45c77=_0x6842e4,_0x164226={'Wfxis':function(_0x35f247,_0x482475,_0x2ede75){return _0x35f247(_0x482475,_0x2ede75);},'nQkab':_0xb45c77(0x568),'dEzFh':function(_0x2ec2d7,_0x5cb900){return _0x2ec2d7(_0x5cb900);},'qmkix':function(_0x4f594f,_0x541227){return _0x4f594f(_0x541227);},'XlNLw':function(_0x336ecd,_0x323ba1){return _0x336ecd(_0x323ba1);}};this['destroyOutsideClickSubscription$'][_0xb45c77(0xa8)](),_0x164226[_0xb45c77(0x4fd)](fromEvent,window,_0x164226['nQkab'])[_0xb45c77(0x10a)](_0x164226['dEzFh'](tap,()=>{this['closeAll']();}),_0x164226['qmkix'](takeUntil,this[_0xb45c77(0xb5)]))['subscribe'](),this[_0xb45c77(0xa4)][_0xb45c77(0x23b)][_0xb45c77(0x10a)](debounceTime(0x64),tap(()=>{const _0x2f05a9=_0xb45c77;this[_0x2f05a9(0x54c)]();}),_0x164226[_0xb45c77(0x4a0)](takeUntil,this['destroyOutsideClickSubscription$']))['subscribe']();}[_0x6842e4(0x309)](){const _0x42c017=_0x6842e4;this[_0x42c017(0x4b8)](),this['destroyOutsideClickSubscription$'][_0x42c017(0xa8)]();}[_0x6842e4(0xbd)](_0x5273a0=![]){const _0x1bf076=_0x6842e4,_0x5ba6bc={'GFPZL':_0x1bf076(0x594),'UxSkx':_0x1bf076(0x204),'sgZFw':function(_0x42895a,_0x52c747){return _0x42895a!==_0x52c747;},'BqzHj':_0x1bf076(0x217),'tXZOp':_0x1bf076(0x4d5)};document[_0x1bf076(0x99)]['style']['setProperty'](_0x5ba6bc[_0x1bf076(0x31d)],_0x5ba6bc[_0x1bf076(0x165)]);if(this[_0x1bf076(0xcf)])return;this['backdropRef']=this[_0x1bf076(0x298)][_0x1bf076(0x1cf)]({'hasBackdrop':![],'positionStrategy':this['overlay'][_0x1bf076(0x3cf)]()[_0x1bf076(0x54f)]()[_0x1bf076(0x462)]()['centerVertically'](),'scrollStrategy':this[_0x1bf076(0x298)][_0x1bf076(0x593)][_0x1bf076(0x58f)]()}),this[_0x1bf076(0x222)]=this[_0x1bf076(0xcf)][_0x1bf076(0x1b9)](this[_0x1bf076(0x1c0)]),this['backdropPortalRef']&&(_0x5ba6bc[_0x1bf076(0x300)](_0x1bf076(0x217),_0x5ba6bc[_0x1bf076(0x27f)])?(_0x4a5ecd=_0x1eed6f['svgData'],_0x4e7e1c=_0x22e3a7[_0x1bf076(0x1f9)]):(this[_0x1bf076(0x222)]['location'][_0x1bf076(0xa5)][_0x1bf076(0x1aa)][_0x1bf076(0x3db)](_0x1bf076(0x3b2)),this[_0x1bf076(0x222)][_0x1bf076(0x3a6)](_0x5ba6bc[_0x1bf076(0x507)],_0x5273a0)));}[_0x6842e4(0x4b8)](){const _0x3b2f1e=_0x6842e4,_0x378f9a={'javNm':function(_0x3e690a,_0x550184,_0x13509f,_0x1a06c6){return _0x3e690a(_0x550184,_0x13509f,_0x1a06c6);},'EncHd':_0x3b2f1e(0x57a),'auzkP':_0x3b2f1e(0x521),'uSVbR':_0x3b2f1e(0x28a),'oFshY':function(_0x4f7bf7,_0x85b3e4){return _0x4f7bf7===_0x85b3e4;},'nTxJq':'dvrOF','AhHLQ':_0x3b2f1e(0x3b2),'YKvkb':function(_0x38e86f,_0x185669){return _0x38e86f(_0x185669);}};if(!this[_0x3b2f1e(0xcf)]){if(_0x378f9a[_0x3b2f1e(0xf3)]===_0x378f9a[_0x3b2f1e(0x305)])_0x151934[_0x3b2f1e(0x53b)](_0x4f4ef3,_0x568e9a);else return;}if(this['backdropPortalRef']){if(_0x378f9a['oFshY'](_0x378f9a['nTxJq'],_0x378f9a['nTxJq']))this['backdropPortalRef'][_0x3b2f1e(0x4ad)][_0x3b2f1e(0xa5)]['classList'][_0x3b2f1e(0x425)](_0x378f9a[_0x3b2f1e(0x384)]),this['backdropPortalRef'][_0x3b2f1e(0x4ad)][_0x3b2f1e(0xa5)][_0x3b2f1e(0x1aa)][_0x3b2f1e(0x3db)](_0x3b2f1e(0x12d));else{let _0x189c9d='';this[_0x3b2f1e(0x4eb)]()[_0x3b2f1e(0x46b)]('\x20')['forEach'](_0x127bca=>{_0x189c9d=_0x189c9d+_0x127bca[0x0];}),this['$backgroundColor'][_0x3b2f1e(0x26b)](_0x378f9a[_0x3b2f1e(0x218)](_0x25513e,this['$acronym'](),0x64,0x55)),this[_0x3b2f1e(0x376)][_0x3b2f1e(0x26b)](_0x378f9a[_0x3b2f1e(0x218)](_0x1bcb38,this[_0x3b2f1e(0x4eb)](),0x64,0x23)),this[_0x3b2f1e(0x2d6)]['set'](_0x189c9d);}}_0x378f9a[_0x3b2f1e(0x581)](timer,0x96)[_0x3b2f1e(0x10a)](tap(()=>{const _0x3ad38a=_0x3b2f1e;this[_0x3ad38a(0xcf)]?.[_0x3ad38a(0x518)](),this[_0x3ad38a(0xcf)]?.[_0x3ad38a(0x4f4)](),this[_0x3ad38a(0xcf)]=undefined,document[_0x3ad38a(0x99)][_0x3ad38a(0x357)][_0x3ad38a(0x21b)](_0x3ad38a(0x594),_0x378f9a[_0x3ad38a(0x5f8)]);}))[_0x3b2f1e(0x144)]();}[_0x6842e4(0x407)](_0x19799b){const _0x2a4b6a=_0x6842e4,_0x5eb13f={'gMuDG':function(_0x4cba3b,_0x36a48a){return _0x4cba3b===_0x36a48a;},'YhPrw':_0x2a4b6a(0x56b),'QuKZr':function(_0x4411fb,_0x440e10){return _0x4411fb===_0x440e10;},'WUPUO':function(_0x59ab06,_0x3c5e68){return _0x59ab06===_0x3c5e68;}};return{'animationOptions':_0x5eb13f[_0x2a4b6a(0x193)](_0x19799b[_0x2a4b6a(0x4d2)],undefined)?{'positionX':0x0,'positionY':0x0,'startTransition':'scale(0.8)','endTransition':_0x5eb13f[_0x2a4b6a(0x243)]}:_0x19799b[_0x2a4b6a(0x4d2)],'isClosePrevious':_0x5eb13f[_0x2a4b6a(0x235)](_0x19799b['isClosePrevious'],undefined)?![]:_0x19799b[_0x2a4b6a(0x591)],'isStaticBackdrop':_0x5eb13f[_0x2a4b6a(0x14c)](_0x19799b[_0x2a4b6a(0x4d5)],undefined)?![]:_0x19799b[_0x2a4b6a(0x4d5)],'width':_0x5eb13f[_0x2a4b6a(0x14c)](_0x19799b[_0x2a4b6a(0x2b7)],undefined)?0x0:_0x19799b['width']};}['createScaleAnimationOptionsFromElement'](_0xe9a7cd,_0x57e9b6,_0x27574d){const _0x46d62a=_0x6842e4,_0x9d2df9={'SULSm':function(_0x2c6bac,_0x29dc29){return _0x2c6bac/_0x29dc29;},'ZpRfW':function(_0x9fc0ff,_0x326e72){return _0x9fc0ff+_0x326e72;},'FbDcx':function(_0xc2f04b,_0x29eaa8){return _0xc2f04b-_0x29eaa8;},'YUOom':function(_0x37142f,_0x522863){return _0x37142f-_0x522863;},'ViiWF':function(_0x1fd414,_0x402ec3){return _0x1fd414-_0x402ec3;},'YdtoF':function(_0x2d248a,_0x31c8cc){return _0x2d248a/_0x31c8cc;},'WkLDP':function(_0x20a47c,_0x5e3a2d){return _0x20a47c*_0x5e3a2d;},'RCODv':function(_0x33588b,_0x6e45f6){return _0x33588b/_0x6e45f6;}},_0x503f06=_0xe9a7cd['getBoundingClientRect'](),_0x27e552=_0x9d2df9[_0x46d62a(0x4ee)](window[_0x46d62a(0x2f3)],0x2),_0x53ab15=_0x9d2df9['SULSm'](window[_0x46d62a(0x2e6)],0x2),_0x32c89a=_0x503f06[_0x46d62a(0x201)]+_0x503f06['width']/0x2,_0x57dfe3=_0x9d2df9[_0x46d62a(0xd8)](_0x503f06[_0x46d62a(0xb1)],_0x9d2df9[_0x46d62a(0x4ee)](_0x503f06['height'],0x2)),_0x144abf=_0x9d2df9[_0x46d62a(0x21e)](_0x32c89a,_0x27e552),_0x267ac2=_0x57dfe3-_0x53ab15,_0x3da741=getAspectRatioFit(_0x9d2df9[_0x46d62a(0x254)](window[_0x46d62a(0x2f3)],window['innerWidth']/0x8),_0x9d2df9[_0x46d62a(0x34c)](window['innerHeight'],_0x9d2df9[_0x46d62a(0x18b)](window[_0x46d62a(0x2e6)],0x8)),_0x57e9b6,_0x27574d),_0x5589a0=_0x9d2df9[_0x46d62a(0x18b)](Math[_0x46d62a(0x562)](_0x9d2df9[_0x46d62a(0x4ee)](_0x27574d,_0x3da741[_0x46d62a(0x2f8)])*0x64),0x64),_0x2343ac=_0x9d2df9[_0x46d62a(0x4ee)](Math[_0x46d62a(0x562)](_0x9d2df9['WkLDP'](_0x9d2df9[_0x46d62a(0x557)](_0x57e9b6,_0x3da741[_0x46d62a(0x2b7)]),0x64)),0x64);return{'positionX':_0x144abf,'positionY':_0x267ac2,'startTransition':_0x46d62a(0x5c0)+_0x5589a0+',\x20'+_0x2343ac+')','endTransition':_0x46d62a(0x56b)};}static ['ɵfac']=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiPopupService,'deps':[{'token':_0x4c6778[_0x6842e4(0xd7)]},{'token':_0x43162f[_0x6842e4(0x1a0)]},{'token':_0x43162f[_0x6842e4(0x564)]},{'token':_0x50a70f[_0x6842e4(0x41e)]}],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x157)]});static [_0x6842e4(0x56c)]=_0x43162f['ɵɵngDeclareInjectable']({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':UiPopupService,'providedIn':_0x6842e4(0xfe)});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':'12.0.0','version':'21.1.1','ngImport':_0x43162f,'type':UiPopupService,'decorators':[{'type':Injectable,'args':[{'providedIn':_0x6842e4(0xfe)}]}],'ctorParameters':()=>[{'type':_0x4c6778[_0x6842e4(0xd7)]},{'type':_0x43162f['Injector']},{'type':_0x43162f[_0x6842e4(0x564)]},{'type':_0x50a70f[_0x6842e4(0x41e)]}]});class UiPopupContainerDirective{[_0x6842e4(0x269)];[_0x6842e4(0x380)];[_0x6842e4(0x433)];[_0x6842e4(0x4fb)];['$isShow']=signal(![],...ngDevMode?[{'debugName':'$isShow'}]:[]);[_0x6842e4(0x2ce)]=signal(![],...ngDevMode?[{'debugName':'$pulseTrigger'}]:[]);['$overflowHidden']=input(!![],...ngDevMode?[{'debugName':'$overflowHidden'}]:[]);[_0x6842e4(0x232)]=model(![],...ngDevMode?[{'debugName':_0x6842e4(0x232)}]:[]);[_0x6842e4(0x472)]=input(![],...ngDevMode?[{'debugName':_0x6842e4(0x472)}]:[]);[_0x6842e4(0x221)]=input(!![],...ngDevMode?[{'debugName':_0x6842e4(0x221)}]:[]);[_0x6842e4(0x1a3)]=model(...ngDevMode?[undefined,{'debugName':_0x6842e4(0x1a3)}]:[]);[_0x6842e4(0x502)]=signal({'startOrigin':'center\x20center','endOrigin':_0x6842e4(0x509),'start':_0x6842e4(0x2c1),'end':_0x6842e4(0x199),'leftStart':'','leftEnd':'','topStart':'','topEnd':''},...ngDevMode?[{'debugName':'$animationParams'}]:[]);['destroyAnimationOrigin$']=new Subject();constructor(_0x53acdb,_0x2b9dc3,_0x1b1a2e,_0x36f4e1){const _0x5b5892=_0x6842e4,_0x53d7a4={'ekmkO':function(_0x1823b7,_0x245fad){return _0x1823b7!==_0x245fad;},'mxpOj':_0x5b5892(0x422),'ZLufQ':_0x5b5892(0x150),'diBKL':function(_0x395c51,_0xbf6af6){return _0x395c51===_0xbf6af6;},'KgcAX':_0x5b5892(0x227),'pfLjk':function(_0x3bc51e,_0x374b3e){return _0x3bc51e===_0x374b3e;},'pJXOx':_0x5b5892(0x4d8),'FRJnn':_0x5b5892(0x457),'uNRFE':_0x5b5892(0x5d3),'ENyAc':'--end-origin','tfGBZ':_0x5b5892(0x3ac),'lFgnK':_0x5b5892(0x54d),'qwQio':function(_0x45cda6,_0x49c5aa){return _0x45cda6(_0x49c5aa);},'zdyDo':function(_0x28eed2,_0x1b6d1f){return _0x28eed2(_0x1b6d1f);}};this['popupInstance']=_0x53acdb,this[_0x5b5892(0x380)]=_0x2b9dc3,this['popupService']=_0x1b1a2e,this[_0x5b5892(0x4fb)]=_0x36f4e1,_0x53d7a4[_0x5b5892(0x3bc)](effect,()=>{const _0x217e82=_0x5b5892,_0x4395ab={'hfibp':_0x217e82(0x2e5)};if(_0x53d7a4[_0x217e82(0x295)](_0x53d7a4[_0x217e82(0x440)],_0x53d7a4[_0x217e82(0x440)]))this['$shouldClose']()&&untracked(()=>{const _0xa40854=_0x217e82;if(_0x53d7a4['ekmkO'](_0x53d7a4[_0xa40854(0x50a)],_0x53d7a4['ZLufQ']))this[_0xa40854(0x268)]();else{if(_0x5e36c1['innerWidth']<=0x300)return this[_0xa40854(0x298)][_0xa40854(0x3cf)]()[_0xa40854(0x54f)]()[_0xa40854(0x152)]();return this[_0xa40854(0x298)][_0xa40854(0x3cf)]()[_0xa40854(0x4a3)](_0x8da8f4)[_0xa40854(0x5ec)]([{...this[_0xa40854(0x1ba)][_0x2215a8[_0xa40854(0x3cf)]??'bottom'][_0xa40854(0x37a)],'offsetX':_0x4c39c3,'offsetY':_0x2c2490}]);}});else return _0x4395ab['hfibp'];}),_0x53d7a4[_0x5b5892(0x36d)](effect,()=>{const _0x88e776=_0x5b5892;if(_0x53d7a4[_0x88e776(0x8d)](_0x53d7a4['pJXOx'],_0x53d7a4['pJXOx'])){const _0x218abe=this[_0x88e776(0x502)]();this['elementRef'][_0x88e776(0xa5)][_0x88e776(0x357)][_0x88e776(0x21b)](_0x88e776(0x329),_0x218abe[_0x88e776(0xae)]),this[_0x88e776(0x4fb)][_0x88e776(0xa5)][_0x88e776(0x357)][_0x88e776(0x21b)](_0x53d7a4[_0x88e776(0x20d)],_0x218abe['end']),this[_0x88e776(0x4fb)][_0x88e776(0xa5)]['style'][_0x88e776(0x21b)](_0x53d7a4[_0x88e776(0x2d2)],_0x218abe[_0x88e776(0x419)]),this[_0x88e776(0x4fb)][_0x88e776(0xa5)][_0x88e776(0x357)][_0x88e776(0x21b)](_0x53d7a4[_0x88e776(0x20e)],_0x218abe[_0x88e776(0x360)]),this[_0x88e776(0x4fb)]['nativeElement']['style'][_0x88e776(0x21b)](_0x88e776(0x1f4),_0x218abe['leftStart']),this[_0x88e776(0x4fb)]['nativeElement'][_0x88e776(0x357)][_0x88e776(0x21b)](_0x53d7a4['tfGBZ'],_0x218abe['leftEnd']),this[_0x88e776(0x4fb)][_0x88e776(0xa5)][_0x88e776(0x357)][_0x88e776(0x21b)](_0x53d7a4['lFgnK'],_0x218abe['topStart']),this['elementRef'][_0x88e776(0xa5)][_0x88e776(0x357)][_0x88e776(0x21b)]('--top-end',_0x218abe['topEnd']);}else this[_0x88e776(0x198)]();});}[_0x6842e4(0x1e7)](){const _0x4227fe=_0x6842e4,_0x2a9dcf={'uDrxH':function(_0x339b59,_0x3f4b78){return _0x339b59(_0x3f4b78);},'HwUjX':_0x4227fe(0xfb),'FmMQf':function(_0x16d84b,_0x2bd044){return _0x16d84b===_0x2bd044;},'fKMPV':_0x4227fe(0x214),'VxFeu':_0x4227fe(0x5ee),'SbeYv':_0x4227fe(0x11c),'rZBPu':function(_0x4b1d9a,_0x5ba450){return _0x4b1d9a(_0x5ba450);},'edhla':function(_0x58fb94,_0x344af5,_0x44b8e7){return _0x58fb94(_0x344af5,_0x44b8e7);},'GgHCv':function(_0x2f4d53,_0x2fa633){return _0x2f4d53(_0x2fa633);},'HleYL':function(_0x43965d,_0x54022a){return _0x43965d(_0x54022a);}};this[_0x4227fe(0x269)][_0x4227fe(0x107)]()['pipe'](_0x2a9dcf[_0x4227fe(0x551)](tap,()=>{const _0x4d8757=_0x4227fe;this[_0x4d8757(0x3ce)][_0x4d8757(0x26b)](![]);}),takeUntilDestroyed(this['destroyRef']))[_0x4227fe(0x144)](),this[_0x4227fe(0x269)][_0x4227fe(0x215)][_0x4227fe(0x10a)](_0x2a9dcf['rZBPu'](tap,_0x543315=>{const _0x475b0f=_0x4227fe,_0xdadcc3={'XsIOQ':'animate-in','Ajvso':_0x475b0f(0x12d),'PvUaa':function(_0x53a336,_0x579e5d){return _0x2a9dcf['uDrxH'](_0x53a336,_0x579e5d);}};if(_0x2a9dcf[_0x475b0f(0x2fd)]===_0x2a9dcf[_0x475b0f(0x2fd)])this['$animationParams'][_0x475b0f(0x26b)]({'startOrigin':_0x543315,'endOrigin':_0x543315,'start':this[_0x475b0f(0x269)][_0x475b0f(0x239)]['startTransition'],'end':this[_0x475b0f(0x269)][_0x475b0f(0x239)][_0x475b0f(0x1a5)],'leftStart':this[_0x475b0f(0x269)][_0x475b0f(0x239)][_0x475b0f(0x38f)]+'px','leftEnd':'0','topStart':this[_0x475b0f(0x269)][_0x475b0f(0x239)][_0x475b0f(0x149)]+'px','topEnd':'0'}),this[_0x475b0f(0x3ce)]['set'](!![]);else{if(!this[_0x475b0f(0xcf)])return;this[_0x475b0f(0x222)]&&(this[_0x475b0f(0x222)]['location']['nativeElement'][_0x475b0f(0x1aa)][_0x475b0f(0x425)](_0xdadcc3[_0x475b0f(0x578)]),this[_0x475b0f(0x222)][_0x475b0f(0x4ad)][_0x475b0f(0xa5)][_0x475b0f(0x1aa)]['add'](_0xdadcc3['Ajvso'])),_0xdadcc3['PvUaa'](_0x5e58de,0x96)[_0x475b0f(0x10a)](_0xdadcc3['PvUaa'](_0x30fe9a,()=>{const _0x4b97d2=_0x475b0f;this[_0x4b97d2(0xcf)]?.[_0x4b97d2(0x518)](),this[_0x4b97d2(0xcf)]?.[_0x4b97d2(0x4f4)](),this[_0x4b97d2(0xcf)]=_0x182061,_0x5c6476[_0x4b97d2(0x99)][_0x4b97d2(0x357)]['setProperty']('overflow-y',_0x4b97d2(0x57a));}))[_0x475b0f(0x144)]();}}),_0x2a9dcf[_0x4227fe(0x551)](takeUntil,this[_0x4227fe(0x242)]),takeUntilDestroyed(this[_0x4227fe(0x380)]))['subscribe'](),_0x2a9dcf[_0x4227fe(0x5b9)](fromEvent,window,_0x4227fe(0x25d))[_0x4227fe(0x10a)](_0x2a9dcf[_0x4227fe(0x194)](tap,_0x37026a=>{const _0x28a67d=_0x4227fe;if(_0x2a9dcf[_0x28a67d(0x4f2)](_0x37026a[_0x28a67d(0x50d)],_0x2a9dcf[_0x28a67d(0x102)])||_0x2a9dcf[_0x28a67d(0x4f2)](_0x37026a[_0x28a67d(0x50d)],_0x2a9dcf['VxFeu'])){if(_0x28a67d(0x2a6)===_0x2a9dcf[_0x28a67d(0x120)]){_0x1223d2=_0x572328||'';const _0x122e68=this[_0x28a67d(0x47f)];this[_0x28a67d(0x47f)]=_0x37507d,this['updateIcon'](_0x3e7eb3,_0x122e68);}else this[_0x28a67d(0x268)]();}}),_0x2a9dcf[_0x4227fe(0x187)](takeUntilDestroyed,this['destroyRef']))[_0x4227fe(0x144)]();}[_0x6842e4(0x268)](){const _0x7fa462=_0x6842e4,_0x41b6dd={'ojNJZ':function(_0xceb75f,_0x181176){return _0xceb75f===_0x181176;},'LWFSI':_0x7fa462(0x314)};if(this[_0x7fa462(0x269)]['id']){if(_0x41b6dd[_0x7fa462(0x3e0)](_0x41b6dd[_0x7fa462(0x247)],_0x41b6dd['LWFSI'])){this[_0x7fa462(0x433)][_0x7fa462(0x330)](this['popupInstance']['id']);return;}else this[_0x7fa462(0xad)][_0x7fa462(0x41c)](this['elementRef'][_0x7fa462(0xa5)],this[_0x7fa462(0x4ff)]());}this[_0x7fa462(0x433)][_0x7fa462(0x268)]();}[_0x6842e4(0x326)](){const _0x19133f=_0x6842e4;!this[_0x19133f(0x3ce)]()&&this[_0x19133f(0x269)][_0x19133f(0x518)]();}[_0x6842e4(0x2de)](){const _0x330678=_0x6842e4;this[_0x330678(0x232)][_0x330678(0x26b)](!![]);}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':'12.0.0','version':'21.1.1','ngImport':_0x43162f,'type':UiPopupContainerDirective,'deps':[{'token':UiPopupInstance},{'token':_0x43162f[_0x6842e4(0x564)]},{'token':UiPopupService},{'token':_0x43162f[_0x6842e4(0xef)]}],'target':_0x43162f['ɵɵFactoryTarget'][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x3fe),'version':_0x6842e4(0x2ac),'type':UiPopupContainerDirective,'isStandalone':!![],'selector':'app-ui-popup-container','inputs':{'$overflowHidden':{'classPropertyName':'$overflowHidden','publicName':_0x6842e4(0x46a),'isSignal':!![],'isRequired':![],'transformFunction':null},'$shouldClose':{'classPropertyName':'$shouldClose','publicName':_0x6842e4(0x232),'isSignal':!![],'isRequired':![],'transformFunction':null},'$hasCloseButton':{'classPropertyName':'$hasCloseButton','publicName':_0x6842e4(0x472),'isSignal':!![],'isRequired':![],'transformFunction':null},'$isEnableFadeAnimation':{'classPropertyName':_0x6842e4(0x221),'publicName':_0x6842e4(0x221),'isSignal':!![],'isRequired':![],'transformFunction':null},'$iconClose':{'classPropertyName':_0x6842e4(0x1a3),'publicName':_0x6842e4(0x1a3),'isSignal':!![],'isRequired':![],'transformFunction':null}},'outputs':{'$shouldClose':_0x6842e4(0x156),'$iconClose':_0x6842e4(0x3a0)},'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':'12.0.0','version':'21.1.1','ngImport':_0x43162f,'type':UiPopupContainerDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-popup-container'}]}],'ctorParameters':()=>[{'type':UiPopupInstance,'decorators':[{'type':Inject,'args':[UiPopupInstance]}]},{'type':_0x43162f[_0x6842e4(0x564)]},{'type':UiPopupService},{'type':_0x43162f[_0x6842e4(0xef)]}],'propDecorators':{'$overflowHidden':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x46a),'required':![]}]}],'$shouldClose':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x232),'required':![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x156)]}],'$hasCloseButton':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x472),'required':![]}]}],'$isEnableFadeAnimation':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':'$isEnableFadeAnimation','required':![]}]}],'$iconClose':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x1a3),'required':![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x3a0)]}]}});class UiDropdownService extends UiPopupService{['tipContainerRef'];['tipContainerPortal'];[_0x6842e4(0x1fa)]=new BehaviorSubject({'width':0x0,'height':0x0});[_0x6842e4(0x1ba)]={'bottom':{'animationOrigin':_0x6842e4(0x48d),'connectedPosition':{'originX':_0x6842e4(0x238),'originY':'bottom','overlayX':_0x6842e4(0x238),'overlayY':_0x6842e4(0xb1),'offsetY':0x0,'offsetX':0x0}},'top':{'animationOrigin':'bottom\x20center','connectedPosition':{'originX':'center','originY':_0x6842e4(0xb1),'overlayX':_0x6842e4(0x238),'overlayY':_0x6842e4(0x152),'offsetY':0x0,'offsetX':0x0}},'center':{'animationOrigin':'center\x20center','connectedPosition':{'originX':_0x6842e4(0x238),'originY':'center','overlayX':_0x6842e4(0x238),'overlayY':_0x6842e4(0x238),'offsetY':0x0,'offsetX':0x0}},'left':{'animationOrigin':_0x6842e4(0x274),'connectedPosition':{'originX':_0x6842e4(0xae),'originY':_0x6842e4(0x238),'overlayX':_0x6842e4(0x1bb),'overlayY':'center','offsetY':0x0,'offsetX':0x0}},'right':{'animationOrigin':_0x6842e4(0x39a),'connectedPosition':{'originX':_0x6842e4(0x1bb),'originY':_0x6842e4(0x238),'overlayX':_0x6842e4(0xae),'overlayY':_0x6842e4(0x238),'offsetY':0x0,'offsetX':0x0}},'right-top':{'animationOrigin':_0x6842e4(0x1d2),'connectedPosition':{'originX':_0x6842e4(0x1bb),'originY':'top','overlayX':'start','overlayY':_0x6842e4(0x152),'offsetY':0x0,'offsetX':0x0}},'right-bottom':{'animationOrigin':_0x6842e4(0x3df),'connectedPosition':{'originX':'end','originY':'bottom','overlayX':_0x6842e4(0xae),'overlayY':'top','offsetY':0x0,'offsetX':0x0}},'left-top':{'animationOrigin':_0x6842e4(0x22c),'connectedPosition':{'originX':_0x6842e4(0xae),'originY':_0x6842e4(0xb1),'overlayX':_0x6842e4(0x1bb),'overlayY':_0x6842e4(0x152),'offsetY':0x0,'offsetX':0x0}},'left-bottom':{'animationOrigin':_0x6842e4(0x398),'connectedPosition':{'originX':_0x6842e4(0xae),'originY':'bottom','overlayX':'end','overlayY':_0x6842e4(0xb1),'offsetY':0x0,'offsetX':0x0}}};[_0x6842e4(0x501)](_0x209dbc,_0x2cada9){const _0x302aeb=_0x6842e4;super['init'](_0x209dbc),_0x2cada9&&(this[_0x302aeb(0x2bc)]=new ComponentPortal(_0x2cada9));}[_0x6842e4(0x312)](_0x2a0af6,_0x5bec57,_0x8f00af,_0x104a49=_0x6842e4(0xb1),_0x251453=0x0,_0x2b8d14=0x0){const _0x3b5657=_0x6842e4;if(this['tipContainerRef'])return;const _0x503d56=this[_0x3b5657(0x2bc)]?.[_0x3b5657(0x230)];_0x503d56&&this[_0x3b5657(0x4d7)](_0x503d56,_0x5bec57,_0x8f00af,{'options':{'inputs':{'text':_0x2a0af6}},'position':_0x104a49,'hasBackdrop':![],'removePrevious':![],'hasAttachedWidth':![]},_0x251453,_0x2b8d14);}['openAttached'](_0x38c8eb,_0x59217e,_0x29584b,_0x41b8a4={},_0x4ca50c=0x0,_0x2e098e=0x0){const _0x261417=_0x6842e4,_0x30c7f4={'wvxkO':'text','fINXI':function(_0x520f33,_0x3d1d77){return _0x520f33+_0x3d1d77;},'awZyP':function(_0xd1f5b4,_0xb45f6e){return _0xd1f5b4===_0xb45f6e;},'BlkoT':_0x261417(0x445),'bRJxo':_0x261417(0xbf),'gcaZD':function(_0x5f205f,_0x2cdee4){return _0x5f205f-_0x2cdee4;}},_0x2feeaf=this[_0x261417(0x455)](_0x41b8a4);let _0x285084=0x0;if(_0x2feeaf[_0x261417(0x5c4)]){if(_0x30c7f4['awZyP'](_0x261417(0x219),_0x30c7f4[_0x261417(0xf6)])){_0x51f5ca[_0x261417(0x3d6)]();const _0x2167f2=_0x2d858e[_0x261417(0x4c2)]?.[_0x261417(0x38c)](_0x30c7f4['wvxkO'])||'',_0x2fd059=this[_0x261417(0x40d)](_0x2167f2);if(_0x2fd059){this[_0x261417(0x33d)](_0x2fd059);return;}this[_0x261417(0x3a2)](_0x30c7f4[_0x261417(0x540)](this[_0x261417(0x304)](),_0x2167f2));}else _0x285084=_0x59217e['clientWidth'];}this[_0x261417(0x58a)][_0x261417(0x41d)]&&this[_0x261417(0xb5)][_0x261417(0xa8)]();_0x2feeaf['removePrevious']&&this[_0x261417(0x58a)][_0x261417(0x41d)]&&this[_0x261417(0x268)]();window[_0x261417(0x5e7)](_0x261417(0x196))[_0x261417(0x442)]&&this[_0x261417(0xbd)]();const _0x445ca1=this[_0x261417(0x298)][_0x261417(0x1cf)]({'hasBackdrop':_0x2feeaf['hasBackdrop'],'backdropClass':_0x30c7f4[_0x261417(0x11a)],'positionStrategy':this[_0x261417(0x263)](_0x59217e,_0x2feeaf,_0x2e098e,_0x4ca50c)});_0x2feeaf[_0x261417(0x4f7)]&&this[_0x261417(0x27e)](_0x445ca1),this['createPopup'](_0x445ca1,_0x38c8eb,_0x2feeaf[_0x261417(0x239)]??{},_0x29584b,{'width':_0x285084}),this[_0x261417(0x58a)][_0x30c7f4['gcaZD'](this[_0x261417(0x58a)][_0x261417(0x41d)],0x1)][_0x261417(0x215)][_0x261417(0xa8)](this[_0x261417(0x1ba)][_0x41b8a4[_0x261417(0x3cf)]??'bottom'][_0x261417(0x12c)]);}[_0x6842e4(0x2a8)](_0x5b8dc7,_0xc840c3,_0x259377,_0x3b965c={}){const _0x461961=_0x6842e4,_0x56c00d={'StTrO':function(_0x59c689,_0x5aa853){return _0x59c689||_0x5aa853;},'nSJpX':function(_0x5b91b8,_0x19a59c){return _0x5b91b8===_0x19a59c;},'JHhmG':function(_0x292a8b,_0xce842b){return _0x292a8b===_0xce842b;},'dcvHb':_0x461961(0x29b),'kqxbG':_0x461961(0x118),'MiKhT':function(_0x4e8656,_0x4f794b){return _0x4e8656-_0x4f794b;},'FBBtu':function(_0x1f9f89,_0xf2d3a3){return _0x1f9f89 instanceof _0xf2d3a3;},'nVHuE':'xcIfc','zjcne':_0x461961(0x196),'jxwpi':_0x461961(0xbf),'uXnQi':_0x461961(0x3f1),'LLpQT':_0x461961(0x241),'NNXeh':_0x461961(0x56b),'ibmak':function(_0x21e15a,_0x1b049d){return _0x21e15a(_0x1b049d);}},_0x3dea43=this[_0x461961(0x455)](_0x3b965c);this['popupInstances']['length']&&this['destroyOutsideClickSubscription$'][_0x461961(0xa8)]();_0x3dea43[_0x461961(0x4f7)]&&this[_0x461961(0x58a)][_0x461961(0x41d)]&&this['close']();window[_0x461961(0x5e7)](_0x56c00d[_0x461961(0x390)])['matches']&&this[_0x461961(0xbd)]();const _0x3983=this[_0x461961(0x298)][_0x461961(0x1cf)]({'hasBackdrop':_0x3dea43[_0x461961(0x2e4)],'backdropClass':_0x56c00d[_0x461961(0x39b)],'positionStrategy':this[_0x461961(0x24a)](_0xc840c3)});if(_0x3dea43[_0x461961(0x4f7)]){if(_0x56c00d[_0x461961(0x31f)](_0x56c00d['uXnQi'],_0x56c00d['uXnQi']))this['subscribeToOutsideEvents'](_0x3983);else{this['loadError']['emit']();return;}}this[_0x461961(0xb3)](_0x3983,_0x5b8dc7,_0x3dea43['options']??{},_0x259377,{'animationOptions':{'positionX':0x0,'positionY':0x0,'startTransition':_0x56c00d[_0x461961(0x2ee)],'endTransition':_0x56c00d[_0x461961(0x506)]}}),this[_0x461961(0x1fa)][_0x461961(0x10a)](tap(_0x2ac818=>{const _0x27d5c5=_0x461961,_0x227711={'QuWxx':function(_0x7c8e13,_0x4bc9a1){const _0x1c4566=_0x481b;return _0x56c00d[_0x1c4566(0xb6)](_0x7c8e13,_0x4bc9a1);},'QAEqA':function(_0x2c7b2f,_0x331e7){return _0x2c7b2f===_0x331e7;},'gCjwS':function(_0x1ddad7,_0x1ec5e7){const _0x404ddc=_0x481b;return _0x56c00d[_0x404ddc(0x31f)](_0x1ddad7,_0x1ec5e7);},'fAzkO':function(_0x20d7de,_0x5a086b){const _0x4358bf=_0x481b;return _0x56c00d[_0x4358bf(0x30a)](_0x20d7de,_0x5a086b);}};if(_0x56c00d[_0x27d5c5(0x31f)](_0x2ac818['width'],0x0)||_0x2ac818[_0x27d5c5(0x2f8)]===0x0){if(_0x56c00d['JHhmG'](_0x56c00d['dcvHb'],_0x56c00d[_0x27d5c5(0x426)]))this[_0x27d5c5(0x298)]=_0x985514,this[_0x27d5c5(0x16b)]=_0x4bfd98,this['destroyRef']=_0x13d66b,this[_0x27d5c5(0xa4)]=_0x4f0de9;else return;}const _0x58a402=this['calculateMousePositionAnimationOrigin'](_0xc840c3,_0x2ac818),_0x5d1ecf=this['calculateMousePositionAdjustment'](_0xc840c3,_0x2ac818);this['popupInstances'][_0x56c00d[_0x27d5c5(0x429)](this[_0x27d5c5(0x58a)][_0x27d5c5(0x41d)],0x1)][_0x27d5c5(0x215)][_0x27d5c5(0xa8)](_0x58a402);const _0x5d4c2a=_0x3983[_0x27d5c5(0x2a2)]()[_0x27d5c5(0x142)];if(_0x56c00d[_0x27d5c5(0x571)](_0x5d4c2a,FlexibleConnectedPositionStrategy)&&_0x5d1ecf){if(_0x56c00d[_0x27d5c5(0x31f)](_0x56c00d['nVHuE'],_0x27d5c5(0x5c7)))_0x5d4c2a[_0x27d5c5(0x560)]({'x':_0x5d1ecf[_0x27d5c5(0x201)],'y':_0x5d1ecf[_0x27d5c5(0xb1)]}),_0x3983['updatePosition']();else{if(_0x227711[_0x27d5c5(0x9b)](!_0x4f04e4,!_0x512e5a))return![];return _0x227711[_0x27d5c5(0x349)](_0x3a98d9[_0x27d5c5(0x471)](),_0x526f9b[_0x27d5c5(0x471)]())&&_0x227711[_0x27d5c5(0x4ec)](_0x19f067[_0x27d5c5(0x5b5)](),_0x4eaa49['getMonth']())&&_0x227711[_0x27d5c5(0x4bc)](_0xdd42fc['getDate'](),_0x1507c3[_0x27d5c5(0x317)]());}}}),_0x56c00d[_0x461961(0x3d9)](takeUntil,this[_0x461961(0xb5)]))[_0x461961(0x144)]();}[_0x6842e4(0x39d)](_0x3c9303,_0x3c0eea){const _0x4df5d9=_0x6842e4,_0x6985d8={'LjPUU':function(_0x2bd782,_0x54f45a){return _0x2bd782-_0x54f45a;},'WyyjE':function(_0x4ad64f,_0x45c169){return _0x4ad64f>=_0x45c169;},'qMydA':function(_0x2a91bd,_0x2179b7){return _0x2a91bd+_0x2179b7;},'tXOhL':function(_0x4b43df,_0x2eee84){return _0x4b43df+_0x2eee84;},'BFHwR':_0x4df5d9(0x5bc),'uFYpP':function(_0x2038b6,_0xfbe659){return _0x2038b6===_0xfbe659;},'EORtg':'rXjKZ','IorUu':'top\x20right','bJKwL':function(_0x41ee1b,_0x2b9f5c){return _0x41ee1b===_0x2b9f5c;},'ZxBdV':_0x4df5d9(0x5cc),'vjgGW':_0x4df5d9(0x358),'IiEOY':_0x4df5d9(0x51c)},_0x214dfd=0x14,_0xc07078=document[_0x4df5d9(0x99)][_0x4df5d9(0x296)]-_0x3c9303[_0x4df5d9(0x2a1)],_0x45e904=_0x6985d8['LjPUU'](document[_0x4df5d9(0x99)][_0x4df5d9(0x2c7)],_0x3c9303[_0x4df5d9(0x13e)]),_0x5ac116=_0x6985d8[_0x4df5d9(0x1e0)](_0xc07078,_0x6985d8['qMydA'](_0x3c0eea[_0x4df5d9(0x2b7)],_0x214dfd)),_0x2145c1=_0x6985d8['WyyjE'](_0x45e904,_0x6985d8[_0x4df5d9(0x1d0)](_0x3c0eea['height'],_0x214dfd));if(!_0x5ac116&&!_0x2145c1)return _0x6985d8[_0x4df5d9(0x5d9)];if(!_0x5ac116){if(_0x6985d8['uFYpP'](_0x6985d8[_0x4df5d9(0x128)],'KiUUf'))this[_0x4df5d9(0x468)](_0x6985d8[_0x4df5d9(0x403)](_0x5e3ab9,0x1));else return _0x6985d8[_0x4df5d9(0x29d)];}if(!_0x2145c1){if(_0x6985d8['bJKwL'](_0x6985d8[_0x4df5d9(0xd4)],_0x4df5d9(0x136)))this[_0x4df5d9(0x309)]();else return _0x6985d8[_0x4df5d9(0x4b9)];}return _0x6985d8['IiEOY'];}[_0x6842e4(0x127)](_0x4265a4,_0x4e8b9a){const _0x15cb38=_0x6842e4,_0x1a71ee={'edTRj':function(_0x4cbae0,_0x37a93c){return _0x4cbae0-_0x37a93c;},'ZLkTx':function(_0x37209f,_0x1d22b6){return _0x37209f+_0x1d22b6;},'pseuh':function(_0x31d38b,_0x3fab04){return _0x31d38b<_0x3fab04;},'INrlP':function(_0x54a8c9,_0x231562){return _0x54a8c9+_0x231562;},'fwoSE':function(_0x4f8446,_0x527911){return _0x4f8446!==_0x527911;},'VMlvI':'nozcd','YQXFq':function(_0x5ac57b,_0x222fd7){return _0x5ac57b-_0x222fd7;},'WBlMT':function(_0x56db3b,_0x52e6ec){return _0x56db3b-_0x52e6ec;},'YEnyi':function(_0xfa278,_0x4ef77a){return _0xfa278+_0x4ef77a;},'yWDul':function(_0x484f5f,_0xc0747a){return _0x484f5f+_0xc0747a;},'CUQBm':function(_0x5cab21,_0x3d748f){return _0x5cab21-_0x3d748f;},'hUook':function(_0x331acb,_0x37879d){return _0x331acb-_0x37879d;},'YRhDv':function(_0x20f514,_0x32844e){return _0x20f514<_0x32844e;},'yqKcw':function(_0x56a097,_0x42a90){return _0x56a097+_0x42a90;},'AXSxn':function(_0x257ff5,_0x1d099e){return _0x257ff5-_0x1d099e;}},_0x149ea6=0x14,_0x5b5067=_0x1a71ee[_0x15cb38(0x28b)](document[_0x15cb38(0x99)]['clientWidth'],_0x4265a4['clientX']),_0x227e79=_0x1a71ee[_0x15cb38(0x28b)](document[_0x15cb38(0x99)]['clientHeight'],_0x4265a4['clientY']);let _0x32b320=_0x4265a4[_0x15cb38(0x2a1)],_0x28d2a5=_0x4265a4[_0x15cb38(0x13e)];if(_0x5b5067<_0x1a71ee[_0x15cb38(0x43a)](_0x4e8b9a[_0x15cb38(0x2b7)],_0x149ea6)&&_0x1a71ee[_0x15cb38(0x16a)](_0x227e79,_0x1a71ee[_0x15cb38(0x115)](_0x4e8b9a[_0x15cb38(0x2f8)],_0x149ea6)))_0x1a71ee[_0x15cb38(0x3fd)](_0x1a71ee[_0x15cb38(0x2f1)],_0x1a71ee['VMlvI'])?this[_0x15cb38(0x27e)](_0x4ed494):(_0x32b320=_0x1a71ee['ZLkTx'](_0x1a71ee[_0x15cb38(0x28d)](_0x4265a4[_0x15cb38(0x2a1)],_0x4e8b9a[_0x15cb38(0x2b7)]),_0x1a71ee[_0x15cb38(0x56f)](_0x5b5067,_0x149ea6)),_0x28d2a5=_0x1a71ee['edTRj'](_0x4265a4['clientY'],_0x4e8b9a[_0x15cb38(0x2f8)])+(_0x227e79-_0x149ea6));else{if(_0x1a71ee[_0x15cb38(0x16a)](_0x5b5067,_0x1a71ee[_0x15cb38(0x1a2)](_0x4e8b9a[_0x15cb38(0x2b7)],_0x149ea6)))_0x32b320=_0x1a71ee['yWDul'](_0x1a71ee[_0x15cb38(0x1f6)](_0x4265a4[_0x15cb38(0x2a1)],_0x4e8b9a['width']),_0x1a71ee[_0x15cb38(0x2b8)](_0x5b5067,_0x149ea6));else _0x1a71ee[_0x15cb38(0x1b5)](_0x227e79,_0x1a71ee[_0x15cb38(0x1a2)](_0x4e8b9a['height'],_0x149ea6))&&(_0x1a71ee[_0x15cb38(0x3fd)](_0x15cb38(0x5e3),_0x15cb38(0x5e3))?this[_0x15cb38(0xad)][_0x15cb38(0xd9)](this[_0x15cb38(0x4fb)]['nativeElement'],_0x54ded0):_0x28d2a5=_0x1a71ee['yqKcw'](_0x1a71ee[_0x15cb38(0x11d)](_0x4265a4[_0x15cb38(0x13e)],_0x4e8b9a['height']),_0x227e79-_0x149ea6));}return{'left':_0x32b320,'top':_0x28d2a5};}[_0x6842e4(0x24a)](_0x4777c1){const _0x77d024=_0x6842e4,_0xc2a099={'wzRgK':function(_0x1f269d,_0x1ad09b){return _0x1f269d<=_0x1ad09b;},'QYTZA':_0x77d024(0xb1),'xBJUC':_0x77d024(0xae)};if(_0xc2a099[_0x77d024(0x191)](window[_0x77d024(0x2f3)],0x300))return this[_0x77d024(0x298)][_0x77d024(0x3cf)]()['global']()['bottom']();return this[_0x77d024(0x298)][_0x77d024(0x3cf)]()[_0x77d024(0x4a3)]({'x':_0x4777c1[_0x77d024(0x2a1)],'y':_0x4777c1[_0x77d024(0x13e)]})[_0x77d024(0x5ec)]([{'originX':_0x77d024(0xae),'originY':_0xc2a099[_0x77d024(0x278)],'overlayX':_0xc2a099[_0x77d024(0x3e9)],'overlayY':_0xc2a099[_0x77d024(0x278)]}]);}[_0x6842e4(0x27e)](_0x278d6f){const _0x3fd59d=_0x6842e4,_0xbf6042={'Cwuqg':_0x3fd59d(0x3b2),'CnjBs':'isStaticBackdrop','caLPt':function(_0x419d9e,_0x5c0e31){return _0x419d9e===_0x5c0e31;},'sIhVg':_0x3fd59d(0x2d0),'IMqLl':function(_0x5393f4,_0x156a13){return _0x5393f4(_0x156a13);},'RqUUX':function(_0x20d396,_0x4230fd){return _0x20d396(_0x4230fd);}};super['subscribeToOutsideEvents']();if(!_0x278d6f)return;timer(0x96)[_0x3fd59d(0x10a)](_0xbf6042[_0x3fd59d(0x2ab)](switchMap,()=>_0x278d6f['outsidePointerEvents']()),_0xbf6042['RqUUX'](tap,()=>{const _0x5ea219=_0x3fd59d;_0xbf6042[_0x5ea219(0x319)](_0xbf6042['sIhVg'],_0xbf6042['sIhVg'])?this[_0x5ea219(0x54c)]():(this[_0x5ea219(0x222)][_0x5ea219(0x4ad)][_0x5ea219(0xa5)][_0x5ea219(0x1aa)][_0x5ea219(0x3db)](_0xbf6042[_0x5ea219(0x4c6)]),this[_0x5ea219(0x222)][_0x5ea219(0x3a6)](_0xbf6042[_0x5ea219(0x306)],_0x190253));}),takeUntil(this['destroyOutsideClickSubscription$']))[_0x3fd59d(0x144)]();}[_0x6842e4(0x455)](_0x5b3db8){const _0x3206d0=_0x6842e4,_0x43e7a3={'pwnYV':function(_0x109fa1,_0x5906c5){return _0x109fa1===_0x5906c5;},'BllDE':function(_0x3c65c6,_0x4230c3){return _0x3c65c6===_0x4230c3;},'LfbXS':function(_0xdcdc64,_0x50474a){return _0xdcdc64===_0x50474a;},'yCIjU':function(_0x23246e,_0x4df814){return _0x23246e===_0x4df814;}};return{'hasBackdrop':_0x43e7a3[_0x3206d0(0x5e5)](_0x5b3db8[_0x3206d0(0x2e4)],undefined)?![]:_0x5b3db8[_0x3206d0(0x2e4)],'options':_0x43e7a3['pwnYV'](_0x5b3db8[_0x3206d0(0x239)],undefined)?{}:_0x5b3db8[_0x3206d0(0x239)],'position':_0x43e7a3[_0x3206d0(0x1a6)](_0x5b3db8[_0x3206d0(0x3cf)],undefined)?_0x3206d0(0x152):_0x5b3db8[_0x3206d0(0x3cf)],'removePrevious':_0x43e7a3[_0x3206d0(0x2bf)](_0x5b3db8[_0x3206d0(0x4f7)],undefined)?!![]:_0x5b3db8[_0x3206d0(0x4f7)],'hasAttachedWidth':_0x43e7a3[_0x3206d0(0x1d5)](_0x5b3db8['hasAttachedWidth'],undefined)?![]:_0x5b3db8[_0x3206d0(0x5c4)]};}[_0x6842e4(0x263)](_0x3cc759,_0x1c5ee8,_0x4ad34c,_0x52d893){const _0x404d3f=_0x6842e4,_0x3a4dbc={'KmXFd':function(_0x1e2bcc,_0x59dc0e){return _0x1e2bcc-_0x59dc0e;},'hvLuV':function(_0x34946,_0xfab0be){return _0x34946<=_0xfab0be;},'WkMiU':function(_0x4d5ace,_0x5424b4){return _0x4d5ace===_0x5424b4;},'bTJTh':_0x404d3f(0x2eb),'YeqlC':_0x404d3f(0x152)};if(_0x3a4dbc[_0x404d3f(0x5e2)](window[_0x404d3f(0x2f3)],0x300)){if(_0x3a4dbc[_0x404d3f(0x5e1)](_0x3a4dbc['bTJTh'],_0x3a4dbc[_0x404d3f(0xd1)]))return this[_0x404d3f(0x298)][_0x404d3f(0x3cf)]()[_0x404d3f(0x54f)]()['bottom']();else{this[_0x404d3f(0x1e8)]=!![];const [_0x4ebda6,_0x3dc855]=_0x30fc1e[_0x404d3f(0x281)];this['lastTouchDistance']=_0x346185[_0x404d3f(0x5ad)](_0x3a4dbc[_0x404d3f(0x399)](_0x3dc855[_0x404d3f(0x2a1)],_0x4ebda6[_0x404d3f(0x2a1)]),_0x3a4dbc[_0x404d3f(0x399)](_0x3dc855[_0x404d3f(0x13e)],_0x4ebda6[_0x404d3f(0x13e)]));}}return this[_0x404d3f(0x298)][_0x404d3f(0x3cf)]()[_0x404d3f(0x4a3)](_0x3cc759)[_0x404d3f(0x5ec)]([{...this[_0x404d3f(0x1ba)][_0x1c5ee8[_0x404d3f(0x3cf)]??_0x3a4dbc[_0x404d3f(0x1a7)]][_0x404d3f(0x37a)],'offsetX':_0x4ad34c,'offsetY':_0x52d893}]);}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiDropdownService,'deps':null,'target':_0x43162f[_0x6842e4(0x597)]['Injectable']});static [_0x6842e4(0x56c)]=_0x43162f[_0x6842e4(0x363)]({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':UiDropdownService,'providedIn':_0x6842e4(0xfe)});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiDropdownService,'decorators':[{'type':Injectable,'args':[{'providedIn':_0x6842e4(0xfe)}]}]});class UiDropdownContainerDirective extends UiPopupContainerDirective{[_0x6842e4(0x4e5)];[_0x6842e4(0xad)];[_0x6842e4(0x45c)]=signal('',...ngDevMode?[{'debugName':_0x6842e4(0x45c)}]:[]);[_0x6842e4(0x39f)]=viewChild('contentWrapper',...ngDevMode?[{'debugName':'$contentWrapper'}]:[]);[_0x6842e4(0xee)]=viewChild('swipeButton',...ngDevMode?[{'debugName':_0x6842e4(0xee)}]:[]);[_0x6842e4(0x502)]=signal({'startOrigin':'center\x20center','endOrigin':_0x6842e4(0x509),'start':_0x6842e4(0x400),'end':_0x6842e4(0x56b),'leftStart':'','leftEnd':'','topStart':'','topEnd':''},...ngDevMode?[{'debugName':_0x6842e4(0x502)}]:[]);constructor(_0x364feb,_0x37ce8c,_0x4015d1,_0x31f41c,_0x3ec606){const _0x3ebb7a=_0x6842e4,_0x1f0a63={'POAoz':function(_0x240a26,_0x29ee48){return _0x240a26(_0x29ee48);}};super(_0x37ce8c,_0x4015d1,_0x364feb,_0x31f41c),this[_0x3ebb7a(0x4e5)]=_0x364feb,this[_0x3ebb7a(0xad)]=_0x3ec606,_0x1f0a63[_0x3ebb7a(0x35f)](afterRenderEffect,()=>{const _0x30104b=_0x3ebb7a;this[_0x30104b(0x439)]();});}[_0x6842e4(0x1e7)](){const _0x1e0753=_0x6842e4,_0x3b3dde={'Lbjxj':function(_0x43085b,_0x5f5af8){return _0x43085b<=_0x5f5af8;},'IUqDD':'HykWL','ASctP':_0x1e0753(0x36c),'cIYlM':_0x1e0753(0x259),'FWbbX':function(_0x15fc72,_0x3c0ead,_0x515c37,_0x342216){return _0x15fc72(_0x3c0ead,_0x515c37,_0x342216);},'zqAvY':_0x1e0753(0x36a),'yFpCJ':function(_0x427109,_0x2483ae){return _0x427109(_0x2483ae);}};super[_0x1e0753(0x1e7)](),_0x3b3dde[_0x1e0753(0x29e)](window[_0x1e0753(0x2f3)],0x300)&&(_0x1e0753(0x5ea)!==_0x3b3dde[_0x1e0753(0x4b7)]?this[_0x1e0753(0x2f4)][_0x1e0753(0x518)]():(this[_0x1e0753(0x242)][_0x1e0753(0xa8)](),this[_0x1e0753(0x502)][_0x1e0753(0x26b)]({'startOrigin':_0x3b3dde['ASctP'],'endOrigin':_0x3b3dde[_0x1e0753(0x386)],'start':'translateY(100%)','end':_0x3b3dde[_0x1e0753(0x35d)],'leftStart':'','leftEnd':'','topStart':'','topEnd':''}))),_0x3b3dde[_0x1e0753(0x182)](fromEvent,this[_0x1e0753(0x4fb)][_0x1e0753(0xa5)],_0x3b3dde[_0x1e0753(0x5b6)],{'passive':!![]})[_0x1e0753(0x10a)](_0x3b3dde[_0x1e0753(0x2a0)](tap,_0x325e5d=>{const _0x3730a7=_0x1e0753;_0x325e5d[_0x3730a7(0x1b2)]();}),_0x3b3dde['yFpCJ'](takeUntilDestroyed,this[_0x1e0753(0x380)]))['subscribe']();}[_0x6842e4(0x3e1)](){const _0x2086f3=_0x6842e4,_0x3a3d26={'DnhGr':function(_0xce5d09,_0x30aafb){return _0xce5d09===_0x30aafb;},'ctuem':_0x2086f3(0x2df),'Xxddo':function(_0x4fa0c7,_0x129674){return _0x4fa0c7+_0x129674;}};if(this[_0x2086f3(0x269)][_0x2086f3(0x2b7)]){if(_0x3a3d26[_0x2086f3(0x277)](_0x3a3d26['ctuem'],_0x3a3d26['ctuem']))this['$width'][_0x2086f3(0x26b)](_0x3a3d26[_0x2086f3(0x41a)](this[_0x2086f3(0x269)][_0x2086f3(0x2b7)],'px'));else return;}const _0x888c06=this[_0x2086f3(0x39f)]();_0x888c06&&this[_0x2086f3(0x4e5)]['containerSize$']['next']({'width':_0x888c06[_0x2086f3(0xa5)][_0x2086f3(0x379)],'height':_0x888c06[_0x2086f3(0xa5)]['offsetHeight']});}[_0x6842e4(0x439)](){const _0x583765=_0x6842e4,_0x3016c7={'AefLZ':function(_0x383579,_0x1067e9){return _0x383579/_0x1067e9;},'MeVLY':function(_0x26eb17,_0x43393b){return _0x26eb17*_0x43393b;},'GLoDG':function(_0x339083,_0x3a37c6){return _0x339083>_0x3a37c6;},'CzIYF':function(_0x407a29,_0x75989f){return _0x407a29<=_0x75989f;},'LlWFR':function(_0x56dfa2,_0x410593){return _0x56dfa2===_0x410593;},'azunK':_0x583765(0x1a9),'sQste':function(_0x5294d9,_0x4deeeb){return _0x5294d9-_0x4deeeb;},'WJimP':function(_0x47513d,_0x1390de){return _0x47513d>_0x1390de;},'wyoPS':_0x583765(0x2f8),'YLkBZ':_0x583765(0x3f6),'ezoCV':_0x583765(0x544),'oTDPl':function(_0x9bdf72,_0x3fac66){return _0x9bdf72>_0x3fac66;},'LekiP':function(_0x1de04d,_0x15407c){return _0x1de04d<=_0x15407c;},'PfcXe':function(_0x4ef26a,_0x570bf7){return _0x4ef26a!==_0x570bf7;},'mSJjx':'heuaG','nviRN':function(_0x3974e0,_0x1f7ff7,_0x5e9145,_0x17787c){return _0x3974e0(_0x1f7ff7,_0x5e9145,_0x17787c);},'BYXnb':_0x583765(0x313),'fPsoG':function(_0x430d23,_0x3d1233){return _0x430d23(_0x3d1233);},'cytyg':_0x583765(0x505),'CrCZZ':function(_0x5aff82,_0xd9865e){return _0x5aff82(_0xd9865e);}},_0x437584=this[_0x583765(0xee)](),_0x53555a=this[_0x583765(0x39f)]();if(_0x53555a&&_0x437584){if(_0x3016c7['PfcXe'](_0x3016c7['mSJjx'],_0x3016c7[_0x583765(0x499)])){const _0x460a9a=_0x3096c7[_0x583765(0x3ed)](_0x3016c7[_0x583765(0x4d9)](_0x1f6ec3,_0x4a67b9),_0x52127f/_0x2cf332);return{'width':_0x48d5e3*_0x460a9a,'height':_0x3016c7[_0x583765(0x55a)](_0x543e72,_0x460a9a)};}else{let _0x32616a=0x0;const _0x1638a0=_0x53555a[_0x583765(0xa5)][_0x583765(0x2f0)];_0x3016c7[_0x583765(0x4e4)](fromEvent,_0x437584['nativeElement'],_0x3016c7[_0x583765(0x252)],{'passive':![]})[_0x583765(0x10a)](_0x3016c7[_0x583765(0x339)](tap,_0x10f0ba=>{const _0x2ebbb6=_0x583765;_0x32616a=_0x10f0ba['touches'][0x0][_0x2ebbb6(0x13e)],_0x10f0ba[_0x2ebbb6(0x3d6)]();}),_0x3016c7[_0x583765(0x339)](takeUntilDestroyed,this['destroyRef']))[_0x583765(0x144)](),fromEvent(_0x437584['nativeElement'],_0x3016c7[_0x583765(0x270)],{'passive':![]})[_0x583765(0x10a)](_0x3016c7[_0x583765(0x1ab)](tap,_0x59aaab=>{const _0x59c706=_0x583765,_0x5dbbd0={'aWXgO':function(_0x128eb8,_0x180185){const _0x29db38=_0x481b;return _0x3016c7[_0x29db38(0x2d9)](_0x128eb8,_0x180185);},'tpJxH':function(_0xc19b40,_0x110837){const _0x57e2e5=_0x481b;return _0x3016c7[_0x57e2e5(0x554)](_0xc19b40,_0x110837);}};if(_0x3016c7[_0x59c706(0x1ce)](_0x59c706(0x285),_0x3016c7[_0x59c706(0xc2)]))this['shouldClose'][_0x59c706(0xa8)](),this[_0x59c706(0x2de)]['complete']();else{const _0x36583c=_0x59aaab[_0x59c706(0x281)][0x0][_0x59c706(0x13e)],_0x2bdb4e=_0x3016c7[_0x59c706(0xc0)](_0x32616a,_0x36583c);if(_0x3016c7[_0x59c706(0x1f3)](_0x2bdb4e,0x0))this[_0x59c706(0xad)]['setStyle'](_0x53555a[_0x59c706(0xa5)],_0x3016c7[_0x59c706(0x5c1)],_0x53555a[_0x59c706(0xa5)][_0x59c706(0x2f0)]+_0x2bdb4e+'px');else{if(_0x3016c7[_0x59c706(0x5f2)]!==_0x3016c7[_0x59c706(0x1c1)]){const _0x402e48=_0x53555a[_0x59c706(0xa5)][_0x59c706(0x2f0)]+_0x2bdb4e;_0x3016c7[_0x59c706(0x184)](_0x402e48,0x32)&&this[_0x59c706(0xad)][_0x59c706(0x250)](_0x53555a[_0x59c706(0xa5)],_0x59c706(0x2f8),_0x402e48+'px');}else _0x1d83ce=_0x5dbbd0[_0x59c706(0x207)](_0x2f4c58,_0xdf0acb)&&_0x5dbbd0[_0x59c706(0x42b)](_0x1db9dd,_0x422b32);}_0x32616a=_0x36583c,_0x59aaab[_0x59c706(0x3d6)]();}}),_0x3016c7[_0x583765(0x339)](takeUntilDestroyed,this[_0x583765(0x380)]))[_0x583765(0x144)](),_0x3016c7[_0x583765(0x4e4)](fromEvent,_0x437584[_0x583765(0xa5)],'touchend',{'passive':![]})['pipe'](tap(()=>{const _0x1cc821=_0x583765;_0x3016c7[_0x1cc821(0x3ca)](_0x53555a['nativeElement'][_0x1cc821(0x2f0)],_0x3016c7[_0x1cc821(0x4d9)](_0x1638a0,0x2))?this[_0x1cc821(0x268)]():this[_0x1cc821(0xad)][_0x1cc821(0x250)](_0x53555a[_0x1cc821(0xa5)],_0x1cc821(0x2f8),_0x1638a0+'px');}),_0x3016c7[_0x583765(0x1ab)](takeUntilDestroyed,this['destroyRef']))[_0x583765(0x144)]();}}}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiDropdownContainerDirective,'deps':[{'token':UiDropdownService},{'token':UiPopupInstance},{'token':_0x43162f[_0x6842e4(0x564)]},{'token':_0x43162f['ElementRef']},{'token':_0x43162f[_0x6842e4(0x14f)]}],'target':_0x43162f[_0x6842e4(0x597)]['Directive']});static ['ɵdir']=_0x43162f['ɵɵngDeclareDirective']({'minVersion':_0x6842e4(0x13b),'version':_0x6842e4(0x2ac),'type':UiDropdownContainerDirective,'isStandalone':!![],'selector':_0x6842e4(0xf5),'viewQueries':[{'propertyName':_0x6842e4(0x39f),'first':!![],'predicate':[_0x6842e4(0x465)],'descendants':!![],'isSignal':!![]},{'propertyName':_0x6842e4(0xee),'first':!![],'predicate':['swipeButton'],'descendants':!![],'isSignal':!![]}],'usesInheritance':!![],'ngImport':_0x43162f});}_0x43162f['ɵɵngDeclareClassMetadata']({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':UiDropdownContainerDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0xf5)}]}],'ctorParameters':()=>[{'type':UiDropdownService},{'type':UiPopupInstance,'decorators':[{'type':Inject,'args':[UiPopupInstance]}]},{'type':_0x43162f[_0x6842e4(0x564)]},{'type':_0x43162f['ElementRef']},{'type':_0x43162f[_0x6842e4(0x14f)]}],'propDecorators':{'$contentWrapper':[{'type':_0x43162f['ViewChild'],'args':[_0x6842e4(0x465),{'isSignal':!![]}]}],'$swipeButton':[{'type':_0x43162f['ViewChild'],'args':[_0x6842e4(0x325),{'isSignal':!![]}]}]}});class HoverTipDirective{['hostRef'];['uiDropdownService'];[_0x6842e4(0x380)];static ['instanceCounter']=0x0;[_0x6842e4(0x2d6)]=input[_0x6842e4(0x205)]({...ngDevMode?{'debugName':_0x6842e4(0x2d6)}:{},'alias':_0x6842e4(0x362)});['$debounceTime']=input(0x3e8,...ngDevMode?[{'debugName':_0x6842e4(0x3f2)}]:[]);[_0x6842e4(0x27a)]=input(_0x6842e4(0xb1),{...ngDevMode?{'debugName':_0x6842e4(0x27a)}:{},'alias':'appHoverTipPosition'});['$offsetX']=input(0x0,{...ngDevMode?{'debugName':_0x6842e4(0x423)}:{},'alias':_0x6842e4(0x3d2)});[_0x6842e4(0x38d)]=input(0x0,{...ngDevMode?{'debugName':_0x6842e4(0x38d)}:{},'alias':'appHoverTipOffsetY'});[_0x6842e4(0x123)]=_0x6842e4(0xb4)+HoverTipDirective['instanceCounter']++;[_0x6842e4(0x14a)]=![];constructor(_0x1e2fba,_0x30830a,_0x29d848){const _0x1dac01=_0x6842e4,_0x2a9449={'gXyxC':function(_0x415b79,_0x556a3a){return _0x415b79===_0x556a3a;},'HcmfK':function(_0x5ec8f7,_0x57902e){return _0x5ec8f7!==_0x57902e;},'ccPkC':_0x1dac01(0x2e3)};this[_0x1dac01(0x321)]=_0x1e2fba,this[_0x1dac01(0x1bc)]=_0x30830a,this[_0x1dac01(0x380)]=_0x29d848,this[_0x1dac01(0x380)][_0x1dac01(0x599)](()=>{const _0x455375=_0x1dac01,_0x12e235={'ndOyW':function(_0x5b2fc0,_0x4a87c1){const _0x25635c=_0x481b;return _0x2a9449[_0x25635c(0x494)](_0x5b2fc0,_0x4a87c1);}};if(_0x2a9449[_0x455375(0x234)](_0x2a9449[_0x455375(0x39e)],_0x455375(0x2e3)))return{'hasBackdrop':_0x12e235[_0x455375(0x93)](_0x1ca4e7[_0x455375(0x2e4)],_0x3c0720)?![]:_0x50fe36[_0x455375(0x2e4)],'options':_0x12e235['ndOyW'](_0xf67d76[_0x455375(0x239)],_0x66387c)?{}:_0x256472['options'],'position':_0x12e235['ndOyW'](_0x3f6b38[_0x455375(0x3cf)],_0x48bea5)?_0x455375(0x152):_0x5e8fab[_0x455375(0x3cf)],'removePrevious':_0x12e235[_0x455375(0x93)](_0x58664b[_0x455375(0x4f7)],_0xd8aefe)?!![]:_0x5d1a10[_0x455375(0x4f7)],'hasAttachedWidth':_0x12e235['ndOyW'](_0x28a5ce['hasAttachedWidth'],_0x1b6e5b)?![]:_0x4ecc1b[_0x455375(0x5c4)]};else this[_0x455375(0x2c0)]();});}[_0x6842e4(0x3e1)](){const _0x4882df=_0x6842e4,_0x5b77b4={'RXHMc':_0x4882df(0x370),'YcMlS':_0x4882df(0xf8),'SOXvq':_0x4882df(0x1e1),'ZMpmn':_0x4882df(0x49f),'Gycar':function(_0xceb06c,_0x3482f7,_0x1635b8){return _0xceb06c(_0x3482f7,_0x1635b8);},'yZtPA':_0x4882df(0x173),'NwZyz':function(_0x4c5a95,_0x58c772){return _0x4c5a95(_0x58c772);},'ofexz':function(_0x321981,_0x398696){return _0x321981(_0x398696);},'fkKsz':function(_0xecb195,_0x4a0623){return _0xecb195(_0x4a0623);},'EPkVu':function(_0x101ef7,_0x36ed79,_0x576aeb){return _0x101ef7(_0x36ed79,_0x576aeb);},'xkcHC':_0x4882df(0x575),'xdWBg':'blur'},_0x302035=this[_0x4882df(0x3f2)]();_0x5b77b4[_0x4882df(0x28e)](fromEvent,this[_0x4882df(0x321)][_0x4882df(0xa5)],_0x5b77b4[_0x4882df(0x251)])[_0x4882df(0x10a)](_0x5b77b4[_0x4882df(0x1ac)](debounceTime,_0x302035),_0x5b77b4[_0x4882df(0x5cf)](tap,()=>{const _0x334fe4=_0x4882df;_0x5b77b4[_0x334fe4(0x2b4)]!==_0x5b77b4[_0x334fe4(0x2e8)]?this[_0x334fe4(0x312)]():this[_0x334fe4(0xe5)]['set']([{'css':'hl2','string':_0xd10b50[_0x334fe4(0x436)](),'index':0x0}]);}),_0x5b77b4[_0x4882df(0x45d)](takeUntilDestroyed,this[_0x4882df(0x380)]))[_0x4882df(0x144)](),_0x5b77b4['EPkVu'](fromEvent,this[_0x4882df(0x321)][_0x4882df(0xa5)],_0x5b77b4[_0x4882df(0x169)])['pipe'](_0x5b77b4[_0x4882df(0x1ac)](tap,()=>{const _0x1e3d66=_0x4882df;this[_0x1e3d66(0x2c0)]();}),_0x5b77b4['NwZyz'](takeUntilDestroyed,this[_0x4882df(0x380)]))['subscribe'](),_0x5b77b4[_0x4882df(0x28e)](fromEvent,window,_0x5b77b4[_0x4882df(0x50c)])[_0x4882df(0x10a)](_0x5b77b4[_0x4882df(0x5cf)](tap,()=>{const _0x1f5d8f=_0x4882df;_0x5b77b4['SOXvq']===_0x5b77b4[_0x1f5d8f(0x479)]?this[_0x1f5d8f(0x268)]():this[_0x1f5d8f(0x2c0)]();}),takeUntilDestroyed(this[_0x4882df(0x380)]))['subscribe']();}[_0x6842e4(0x312)](){const _0x181d74=_0x6842e4,_0x3433b1={'nSHlP':_0x181d74(0x32d)},_0x25b036=this[_0x181d74(0x2d6)]()[_0x181d74(0x436)](),_0x1bcbc9=this[_0x181d74(0x321)]['nativeElement'][_0x181d74(0x442)](_0x3433b1[_0x181d74(0x512)]);if(!_0x25b036||this[_0x181d74(0x14a)]||!_0x1bcbc9)return;this[_0x181d74(0x1bc)][_0x181d74(0x312)](_0x25b036,this['hostRef'][_0x181d74(0xa5)],this[_0x181d74(0x123)],this[_0x181d74(0x27a)](),this['$offsetY'](),this[_0x181d74(0x423)]()),this[_0x181d74(0x14a)]=!![];}[_0x6842e4(0x2c0)](){const _0x55db07=_0x6842e4,_0x2cd366={'QbySe':function(_0x356edf,_0xaa6b30){return _0x356edf<_0xaa6b30;},'WVdMU':function(_0x5a3871,_0xc873f2){return _0x5a3871!==_0xc873f2;},'Cadvy':_0x55db07(0x38b)};if(!this[_0x55db07(0x14a)]){if(_0x2cd366[_0x55db07(0x148)](_0x2cd366['Cadvy'],_0x55db07(0x1dc)))return;else{const _0x3616c9=_0xf5f14f+_0xe41579;if(_0x2cd366['QbySe'](_0x3616c9,_0x512ec7)){const _0x302f9e=_0x26c253[_0x3616c9]['nativeElement'];_0x302f9e[_0x55db07(0x304)]=_0xeb336c;}}}this[_0x55db07(0x1bc)]['closeById'](this[_0x55db07(0x123)]),this[_0x55db07(0x14a)]=![];}static [_0x6842e4(0x51e)]=_0x43162f['ɵɵngDeclareFactory']({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':HoverTipDirective,'deps':[{'token':_0x43162f['ElementRef']},{'token':UiDropdownService},{'token':_0x43162f['DestroyRef']}],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x3fe),'version':'21.1.1','type':HoverTipDirective,'isStandalone':!![],'selector':'[appHoverTip]','inputs':{'$text':{'classPropertyName':_0x6842e4(0x2d6),'publicName':_0x6842e4(0x362),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$debounceTime':{'classPropertyName':_0x6842e4(0x3f2),'publicName':_0x6842e4(0x3f2),'isSignal':!![],'isRequired':![],'transformFunction':null},'$position':{'classPropertyName':'$position','publicName':_0x6842e4(0x25c),'isSignal':!![],'isRequired':![],'transformFunction':null},'$offsetX':{'classPropertyName':_0x6842e4(0x423),'publicName':_0x6842e4(0x3d2),'isSignal':!![],'isRequired':![],'transformFunction':null},'$offsetY':{'classPropertyName':_0x6842e4(0x38d),'publicName':_0x6842e4(0x34b),'isSignal':!![],'isRequired':![],'transformFunction':null}},'ngImport':_0x43162f});}_0x43162f['ɵɵngDeclareClassMetadata']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':HoverTipDirective,'decorators':[{'type':Directive,'args':[{'selector':'[appHoverTip]'}]}],'ctorParameters':()=>[{'type':_0x43162f[_0x6842e4(0xef)]},{'type':UiDropdownService},{'type':_0x43162f[_0x6842e4(0x564)]}],'propDecorators':{'$text':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x362),'required':!![]}]}],'$debounceTime':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x3f2),'required':![]}]}],'$position':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x25c),'required':![]}]}],'$offsetX':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x3d2),'required':![]}]}],'$offsetY':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':'appHoverTipOffsetY','required':![]}]}]}});class UiImageDirective{['$src']=input['required'](...ngDevMode?[{'debugName':_0x6842e4(0x511)}]:[]);[_0x6842e4(0x1eb)]=input(0x140,...ngDevMode?[{'debugName':_0x6842e4(0x1eb)}]:[]);['$maxHeight']=input(0x140,...ngDevMode?[{'debugName':_0x6842e4(0x4e2)}]:[]);['$canShowImage']=signal(!![],...ngDevMode?[{'debugName':_0x6842e4(0xd5)}]:[]);['$imageWidth']=signal(0x0,...ngDevMode?[{'debugName':_0x6842e4(0x44f)}]:[]);['$imageHeight']=signal(0x0,...ngDevMode?[{'debugName':'$imageHeight'}]:[]);[_0x6842e4(0x1e7)](){const _0x5ddc66=_0x6842e4,_0x25c08a={'vUefO':function(_0x231fc0,_0x15c6b2){return _0x231fc0===_0x15c6b2;},'bxlOl':'waLVj'};if(this[_0x5ddc66(0x511)]()){const _0x488fc7=new Image();_0x488fc7['src']=this[_0x5ddc66(0x511)](),_0x488fc7[_0x5ddc66(0x3d8)]=()=>{const _0x1c6cbf=_0x5ddc66;this['setSize'](this[_0x1c6cbf(0x1eb)](),this[_0x1c6cbf(0x4e2)](),_0x488fc7['width'],_0x488fc7['height']),_0x488fc7[_0x1c6cbf(0x425)]();};}else{if(_0x25c08a[_0x5ddc66(0x287)](_0x25c08a[_0x5ddc66(0x3ec)],_0x25c08a[_0x5ddc66(0x3ec)]))this[_0x5ddc66(0x539)]();else return this[_0x5ddc66(0x168)];}}[_0x6842e4(0x539)](_0x37e096=this[_0x6842e4(0x1eb)]()/0x2,_0x5eb2b1=this['$maxHeight']()/0x2,_0x10a75f=0x14,_0x30630b=0x14){const _0x519259=_0x6842e4,_0x171ca0=getAspectRatioFit(_0x37e096,_0x5eb2b1,_0x10a75f,_0x30630b);this['$imageWidth'][_0x519259(0x26b)](_0x171ca0[_0x519259(0x2b7)]),this[_0x519259(0x175)][_0x519259(0x26b)](_0x171ca0[_0x519259(0x2f8)]);}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiImageDirective,'deps':[],'target':_0x43162f['ɵɵFactoryTarget'][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x3fe),'version':_0x6842e4(0x2ac),'type':UiImageDirective,'isStandalone':!![],'selector':_0x6842e4(0x1cc),'inputs':{'$src':{'classPropertyName':_0x6842e4(0x511),'publicName':'$src','isSignal':!![],'isRequired':!![],'transformFunction':null},'$maxWidth':{'classPropertyName':_0x6842e4(0x1eb),'publicName':_0x6842e4(0x1eb),'isSignal':!![],'isRequired':![],'transformFunction':null},'$maxHeight':{'classPropertyName':'$maxHeight','publicName':_0x6842e4(0x4e2),'isSignal':!![],'isRequired':![],'transformFunction':null}},'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiImageDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x1cc)}]}],'propDecorators':{'$src':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':'$src','required':!![]}]}],'$maxWidth':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x1eb),'required':![]}]}],'$maxHeight':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x4e2),'required':![]}]}]}});class UiPaginationDirective{[_0x6842e4(0x5d4)]=input['required'](...ngDevMode?[{'debugName':_0x6842e4(0x5d4)}]:[]);['$hasPrevious']=input[_0x6842e4(0x205)](...ngDevMode?[{'debugName':_0x6842e4(0x5f9)}]:[]);[_0x6842e4(0x4f0)]=output();[_0x6842e4(0x5ba)]=output();static [_0x6842e4(0x51e)]=_0x43162f['ɵɵngDeclareFactory']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiPaginationDirective,'deps':[],'target':_0x43162f['ɵɵFactoryTarget'][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':'17.1.0','version':_0x6842e4(0x2ac),'type':UiPaginationDirective,'isStandalone':!![],'selector':'app-ui-pagination','inputs':{'$hasNext':{'classPropertyName':_0x6842e4(0x5d4),'publicName':_0x6842e4(0x5d4),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$hasPrevious':{'classPropertyName':'$hasPrevious','publicName':'$hasPrevious','isSignal':!![],'isRequired':!![],'transformFunction':null}},'outputs':{'$nextClicked':_0x6842e4(0x4f0),'$previousClicked':_0x6842e4(0x5ba)},'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':'12.0.0','version':'21.1.1','ngImport':_0x43162f,'type':UiPaginationDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x57d)}]}],'propDecorators':{'$hasNext':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x5d4),'required':!![]}]}],'$hasPrevious':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x5f9),'required':!![]}]}],'$nextClicked':[{'type':_0x43162f[_0x6842e4(0x26f)],'args':['$nextClicked']}],'$previousClicked':[{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x5ba)]}]}});class UiPopupImageDirective{[_0x6842e4(0x380)];[_0x6842e4(0x4ca)]='';[_0x6842e4(0x2b7)]=0x0;[_0x6842e4(0x2f8)]=0x0;[_0x6842e4(0x44f)]=signal(0x0,...ngDevMode?[{'debugName':_0x6842e4(0x44f)}]:[]);['$imageHeight']=signal(0x0,...ngDevMode?[{'debugName':_0x6842e4(0x175)}]:[]);['$imageStyleTransform']=signal('',...ngDevMode?[{'debugName':_0x6842e4(0x29a)}]:[]);[_0x6842e4(0x318)]=viewChild(_0x6842e4(0x1bd),...ngDevMode?[{'debugName':_0x6842e4(0x318)}]:[]);[_0x6842e4(0x550)]=viewChild(_0x6842e4(0x262),...ngDevMode?[{'debugName':_0x6842e4(0x550)}]:[]);[_0x6842e4(0x42e)]=signal(_0x6842e4(0x57a),...ngDevMode?[{'debugName':_0x6842e4(0x42e)}]:[]);['isDragging']=![];[_0x6842e4(0x25f)]=![];[_0x6842e4(0x1e8)]=![];[_0x6842e4(0x58d)]=0x0;[_0x6842e4(0x5d5)]=0x0;['lastTouchDistance']=0x0;[_0x6842e4(0xc3)]={'w':0x0,'h':0x0};[_0x6842e4(0x473)]=0.5;[_0x6842e4(0x43e)]={'x':0x0,'y':0x0};['target']={'x':0x0,'y':0x0};[_0x6842e4(0x365)]={'x':0x0,'y':0x0};[_0x6842e4(0x20c)]=0x1;constructor(_0x453b8a){this['destroyRef']=_0x453b8a;}[_0x6842e4(0x1e7)](){const _0x2a623e=_0x6842e4,_0x2afae3={'pneDT':function(_0x1c2c9b,_0x5ca430){return _0x1c2c9b/_0x5ca430;},'MOuuy':function(_0x2dade7,_0x55a24d){return _0x2dade7-_0x55a24d;}},_0x35955d=getAspectRatioFit(window[_0x2a623e(0x2f3)]-_0x2afae3['pneDT'](window[_0x2a623e(0x2f3)],0x8),_0x2afae3[_0x2a623e(0x359)](window[_0x2a623e(0x2e6)],_0x2afae3[_0x2a623e(0x129)](window[_0x2a623e(0x2e6)],0x8)),this[_0x2a623e(0x2b7)],this[_0x2a623e(0x2f8)]);this[_0x2a623e(0x44f)][_0x2a623e(0x26b)](_0x35955d[_0x2a623e(0x2b7)]),this[_0x2a623e(0x175)]['set'](_0x35955d[_0x2a623e(0x2f8)]);}['ngAfterViewInit'](){const _0x55153b=_0x6842e4,_0x1d042f={'RaPgw':function(_0x2eef11,_0x1345ff){return _0x2eef11!==_0x1345ff;},'MJPhk':_0x55153b(0x2e9),'vnLqN':_0x55153b(0x44b),'SANYb':function(_0x538fd4,_0x418369){return _0x538fd4+_0x418369;},'FHnrH':function(_0x462393,_0x10cf0f){return _0x462393+_0x10cf0f;},'QfiPB':_0x55153b(0x424),'bcgeD':function(_0x425965,_0x1f41cc){return _0x425965===_0x1f41cc;},'vTywt':_0x55153b(0x236),'RysoP':function(_0x5cee32,_0x14f11e){return _0x5cee32>_0x14f11e;},'YuLMh':_0x55153b(0x3d3),'MRCUb':_0x55153b(0x57a),'NHSUo':function(_0x2a18ba,_0x2c57d2){return _0x2a18ba||_0x2c57d2;},'FWwnk':function(_0x3d29f6,_0x292c26){return _0x3d29f6<_0x292c26;},'hqgXb':function(_0x29045f,_0x19e275){return _0x29045f<_0x19e275;},'ZcAxK':function(_0x19e663,_0x46d054){return _0x19e663>_0x46d054;},'rnVUd':function(_0x42d29d,_0x2a2a31){return _0x42d29d-_0x2a2a31;},'TKLzV':function(_0x3e35d1,_0x358404){return _0x3e35d1===_0x358404;},'LiVUG':'KeinU','fUROX':'RkDUI','Pkcca':function(_0x56cb0f,_0x1f5b35){return _0x56cb0f===_0x1f5b35;},'kWFln':'qXMck','cUvSo':_0x55153b(0x402),'YQagt':function(_0x1c6b0b,_0x11d4bf){return _0x1c6b0b<_0x11d4bf;},'oHzEF':_0x55153b(0x488),'dQSNJ':'pbiRQ','TGLzD':function(_0x488b17,_0x4bf292){return _0x488b17>_0x4bf292;},'HUBxi':function(_0x31781b,_0x55273b){return _0x31781b/_0x55273b;},'JICfM':function(_0x3e6346,_0x3e220e){return _0x3e6346/_0x3e220e;},'XJjCb':function(_0x452829,_0x5dd058){return _0x452829*_0x5dd058;},'zLtQf':function(_0x160d0f,_0x4cf67c){return _0x160d0f+_0x4cf67c;},'NfSMM':_0x55153b(0x2da),'eVVTb':function(_0x294c3a,_0x1e1b50){return _0x294c3a-_0x1e1b50;},'zYZlX':function(_0xee7c7f,_0x3114ea){return _0xee7c7f-_0x3114ea;},'swgnt':function(_0x4cbc8a,_0x3274cf){return _0x4cbc8a>_0x3274cf;},'aXXjf':function(_0x41752b,_0x45af22){return _0x41752b===_0x45af22;},'XOOEm':function(_0x253659,_0x2fe661){return _0x253659-_0x2fe661;},'waukC':function(_0x426bff,_0x168d38){return _0x426bff/_0x168d38;},'fDQyJ':function(_0x25cbbc,_0x4af2eb){return _0x25cbbc/_0x4af2eb;},'yGxsO':function(_0x23b630,_0x4d468a){return _0x23b630+_0x4d468a;},'jJbhS':function(_0x1d75ee,_0x49416b){return _0x1d75ee-_0x49416b;},'hYVAl':function(_0x17c5b1,_0xe270bf){return _0x17c5b1/_0xe270bf;},'VmtKI':function(_0x5454c7,_0x4c71e5){return _0x5454c7-_0x4c71e5;},'UoTiR':function(_0x336e5e,_0xc54a8d){return _0x336e5e+_0xc54a8d;},'PQcwd':function(_0x3475af,_0x383bc8){return _0x3475af*_0x383bc8;},'usNrF':function(_0x415a63,_0x2ab6dc){return _0x415a63===_0x2ab6dc;},'EGNGP':function(_0x430f5e,_0x2ef30d,_0x3f0803){return _0x430f5e(_0x2ef30d,_0x3f0803);},'WnCOL':_0x55153b(0x25d),'ceOHL':function(_0x10ca84,_0x38ea15){return _0x10ca84(_0x38ea15);},'CnxNU':function(_0x567028,_0x53f934){return _0x567028(_0x53f934);},'QkWzl':function(_0x992e73,_0x65c38){return _0x992e73(_0x65c38);},'nOAFm':function(_0x48a4dd,_0x258530){return _0x48a4dd(_0x258530);},'DDMxo':function(_0x32153f,_0x103117,_0x4c523d){return _0x32153f(_0x103117,_0x4c523d);},'YrUoF':'mouseup','hWLow':function(_0x4af241,_0x126a03,_0x157b0a){return _0x4af241(_0x126a03,_0x157b0a);},'PghbR':function(_0x598e37,_0x58cd80){return _0x598e37(_0x58cd80);},'qlCEO':function(_0x284312,_0x16679a){return _0x284312(_0x16679a);},'waCYR':_0x55153b(0x3ad),'MRDOY':_0x55153b(0x36a),'uRLkf':_0x55153b(0x313),'kbXFd':_0x55153b(0x505),'mQnvo':function(_0x2e1f7d,_0x547e63){return _0x2e1f7d(_0x547e63);},'Rpgzh':_0x55153b(0xa9),'ZQxqq':function(_0xdc9587,_0x3f0949){return _0xdc9587(_0x3f0949);},'XLRni':function(_0x51fc77,_0x339e8c){return _0x51fc77(_0x339e8c);}},_0xd44f78=this[_0x55153b(0x318)]()?.['nativeElement'];if(!_0xd44f78)return;this['size']={'w':_0xd44f78[_0x55153b(0x379)],'h':_0xd44f78[_0x55153b(0x2f0)]},_0x1d042f['EGNGP'](fromEvent,window,_0x1d042f[_0x55153b(0x21f)])['pipe'](_0x1d042f[_0x55153b(0x2c6)](tap,_0xa5d6b0=>{const _0x854e10=_0x55153b,_0x25a548={'iYmuu':'bottom\x20left'};if(_0x1d042f[_0x854e10(0x2bb)](_0x1d042f[_0x854e10(0x106)],_0x854e10(0x2e9)))return _0x25a548['iYmuu'];else{if(_0xa5d6b0[_0x854e10(0x19b)])this[_0x854e10(0x42e)][_0x854e10(0x26b)](_0x1d042f[_0x854e10(0xf0)]);}}),_0x1d042f[_0x55153b(0x528)](takeUntilDestroyed,this[_0x55153b(0x380)]))[_0x55153b(0x144)](),_0x1d042f[_0x55153b(0x212)](fromEvent,window,_0x55153b(0x5bf))['pipe'](_0x1d042f['QkWzl'](tap,_0x210a61=>{const _0x412c22=_0x55153b,_0x349132={'TGSCA':function(_0xde5d29,_0x5c8b76){const _0x42cbad=_0x481b;return _0x1d042f[_0x42cbad(0x5be)](_0xde5d29,_0x5c8b76);},'Klogd':function(_0x5a503f,_0x410843){return _0x5a503f+_0x410843;},'mURPv':function(_0x2abaca,_0x43e522){const _0x23d709=_0x481b;return _0x1d042f[_0x23d709(0x525)](_0x2abaca,_0x43e522);}};if(_0x1d042f['QfiPB']===_0x1d042f[_0x412c22(0x348)])_0x1d042f[_0x412c22(0x31a)](_0x210a61[_0x412c22(0x50d)],_0x1d042f[_0x412c22(0x190)])&&this['$cursor'][_0x412c22(0x26b)](_0x1d042f['RysoP'](this[_0x412c22(0x20c)],0x1)?_0x1d042f[_0x412c22(0x328)]:_0x1d042f[_0x412c22(0x202)]);else return _0x349132['TGSCA'](_0x349132[_0x412c22(0x9f)](_0x349132[_0x412c22(0x226)](_0x349132[_0x412c22(0x271)](_0xab8cbf,'/'),_0x175f55),'/'),_0x909012['getFullYear']());}),_0x1d042f[_0x55153b(0x209)](takeUntilDestroyed,this['destroyRef']))[_0x55153b(0x144)](),_0x1d042f[_0x55153b(0x463)](fromEvent,window,_0x1d042f[_0x55153b(0x5f1)])[_0x55153b(0x10a)](tap(_0xc79a00=>{const _0x1735f=_0x55153b;_0xc79a00[_0x1735f(0x2b1)]===0x0&&(this['isDragging']=![],this['$cursor'][_0x1735f(0x26b)](_0x1d042f[_0x1735f(0x137)](this[_0x1735f(0x20c)],0x1)?_0x1d042f['YuLMh']:_0x1d042f[_0x1735f(0x202)]));}),takeUntilDestroyed(this[_0x55153b(0x380)]))[_0x55153b(0x144)](),_0x1d042f[_0x55153b(0x111)](fromEvent,_0xd44f78,_0x55153b(0x498))['pipe'](_0x1d042f['PghbR'](tap,_0x5c574d=>{const _0x5d437f=_0x55153b;if(_0x1d042f[_0x5d437f(0xe6)](_0x1d042f['LiVUG'],_0x1d042f['fUROX']))this['remove'](_0x57fff6);else{if(_0x1d042f[_0x5d437f(0x17e)](_0x5c574d[_0x5d437f(0x2b1)],0x0)){if(_0x1d042f[_0x5d437f(0x1d8)]!==_0x5d437f(0x353))_0x5c574d[_0x5d437f(0x3d6)](),this[_0x5d437f(0x57b)]=!![],this[_0x5d437f(0x42e)][_0x5d437f(0x26b)](_0x1d042f[_0x5d437f(0x137)](this[_0x5d437f(0x20c)],0x1)?_0x1d042f['cUvSo']:_0x5d437f(0x57a));else{if(!_0x38bacb)return null;const _0xd04acd=_0x9b13f9[_0x5d437f(0x46b)]('/');if(_0x1d042f['RaPgw'](_0xd04acd[_0x5d437f(0x41d)],0x3))return null;const [_0xb38430,_0x439009,_0x3c283e]=_0xd04acd[_0x5d437f(0x2fc)](_0x483de1),_0x5a2638=_0x395d17?_0xb38430:_0x439009,_0x7f6434=_0x300325?_0x439009:_0xb38430;if(_0x1d042f[_0x5d437f(0x308)](!_0x7f6434,!_0x5a2638)||!_0x3c283e)return null;if(_0x1d042f['FWwnk'](_0x5a2638,0x1)||_0x1d042f['RysoP'](_0x5a2638,0xc))return null;if(_0x1d042f[_0x5d437f(0xc1)](_0x7f6434,0x1)||_0x1d042f['ZcAxK'](_0x7f6434,0x1f))return null;return new _0x8a5478(_0x3c283e,_0x1d042f[_0x5d437f(0x3a9)](_0x5a2638,0x1),_0x7f6434);}}}}),_0x1d042f[_0x55153b(0x3c7)](takeUntilDestroyed,this[_0x55153b(0x380)]))['subscribe'](),_0x1d042f[_0x55153b(0x463)](fromEvent,window,_0x1d042f['waCYR'])[_0x55153b(0x10a)](tap(_0x4c33d8=>{const _0x507237=_0x55153b;if(_0x1d042f[_0x507237(0x2bb)](_0x1d042f[_0x507237(0x15c)],_0x507237(0x493)))this[_0x507237(0x57b)]&&_0x1d042f['TGLzD'](this['scale'],0x1)&&(this[_0x507237(0x43e)]['x']+=_0x4c33d8[_0x507237(0x1df)],this['pos']['y']+=_0x4c33d8[_0x507237(0x45a)],this[_0x507237(0x42d)](),this[_0x507237(0x29a)][_0x507237(0x26b)](_0x507237(0x1e6)+this[_0x507237(0x43e)]['x']+'px,'+this[_0x507237(0x43e)]['y']+'px)\x20scale('+this[_0x507237(0x20c)]+')'));else{const _0x1d2c5a=_0x1d042f['YQagt'](_0x574824[_0x507237(0x414)][_0x507237(0xb1)],0x0);_0x1d2c5a?this[_0x507237(0xad)][_0x507237(0x41c)](_0x235663,_0x1d042f[_0x507237(0x3e2)]):this['renderer'][_0x507237(0xd9)](_0x1172db,_0x1d042f[_0x507237(0x3e2)]);}}),takeUntilDestroyed(this[_0x55153b(0x380)]))['subscribe'](),fromEvent(window,_0x1d042f['MRDOY'],{'passive':![]})[_0x55153b(0x10a)](_0x1d042f['ceOHL'](tap,_0x151d8d=>{const _0x2e68ae=_0x55153b;_0x151d8d['preventDefault']();const _0x96977a=_0xd44f78[_0x2e68ae(0x167)]();if(_0x151d8d['ctrlKey']){this['pointer']['x']=_0x151d8d[_0x2e68ae(0x2a1)]-_0x96977a[_0x2e68ae(0x201)],this[_0x2e68ae(0x365)]['y']=_0x151d8d[_0x2e68ae(0x13e)]-_0x96977a[_0x2e68ae(0xb1)],this[_0x2e68ae(0x147)]['x']=_0x1d042f[_0x2e68ae(0x334)](_0x1d042f[_0x2e68ae(0x3a9)](this['pointer']['x'],this[_0x2e68ae(0x43e)]['x']),this['scale']),this[_0x2e68ae(0x147)]['y']=_0x1d042f[_0x2e68ae(0x3de)](_0x1d042f[_0x2e68ae(0x3a9)](this['pointer']['y'],this[_0x2e68ae(0x43e)]['y']),this[_0x2e68ae(0x20c)]),this[_0x2e68ae(0x20c)]+=_0x1d042f[_0x2e68ae(0x387)](-0x1*Math[_0x2e68ae(0x1c2)](-0x1,Math[_0x2e68ae(0x3ed)](0x1,_0x151d8d['deltaY']))*this[_0x2e68ae(0x473)],this[_0x2e68ae(0x20c)]);const _0x36180c=0x4,_0xe357b6=0x1;this[_0x2e68ae(0x20c)]=Math[_0x2e68ae(0x1c2)](_0xe357b6,Math[_0x2e68ae(0x3ed)](_0x36180c,this[_0x2e68ae(0x20c)])),this[_0x2e68ae(0x43e)]['x']=_0x1d042f[_0x2e68ae(0x97)](_0x1d042f['XJjCb'](-this[_0x2e68ae(0x147)]['x'],this['scale']),this['pointer']['x']),this['pos']['y']=_0x1d042f[_0x2e68ae(0x387)](-this[_0x2e68ae(0x147)]['y'],this[_0x2e68ae(0x20c)])+this['pointer']['y'],this[_0x2e68ae(0x42d)](),this[_0x2e68ae(0x29a)][_0x2e68ae(0x26b)](_0x2e68ae(0x1e6)+this[_0x2e68ae(0x43e)]['x']+_0x2e68ae(0x40c)+this[_0x2e68ae(0x43e)]['y']+_0x2e68ae(0x467)+this['scale']+')');}else this[_0x2e68ae(0x43e)]['x']-=_0x1d042f['XJjCb'](_0x151d8d[_0x2e68ae(0x3c6)],0x2),this[_0x2e68ae(0x43e)]['y']-=_0x151d8d[_0x2e68ae(0x4ac)]*0x2;}),_0x1d042f[_0x55153b(0x2c6)](takeUntilDestroyed,this['destroyRef']))[_0x55153b(0x144)](),_0x1d042f[_0x55153b(0x463)](fromEvent,_0xd44f78,_0x1d042f[_0x55153b(0x27c)])['pipe'](_0x1d042f[_0x55153b(0x209)](tap,_0x3e7fd0=>{const _0x528c3d=_0x55153b;if(_0x1d042f[_0x528c3d(0xe6)](_0x3e7fd0[_0x528c3d(0x281)]['length'],0x2)){if(_0x1d042f['RaPgw'](_0x528c3d(0x2da),_0x1d042f[_0x528c3d(0x377)]))return;else{this[_0x528c3d(0x1e8)]=!![];const [_0x2bedb8,_0x541e52]=_0x3e7fd0[_0x528c3d(0x281)];this[_0x528c3d(0x2ec)]=Math[_0x528c3d(0x5ad)](_0x1d042f[_0x528c3d(0x4ed)](_0x541e52['clientX'],_0x2bedb8[_0x528c3d(0x2a1)]),_0x1d042f[_0x528c3d(0x293)](_0x541e52[_0x528c3d(0x13e)],_0x2bedb8[_0x528c3d(0x13e)]));}}if(_0x3e7fd0['touches'][_0x528c3d(0x41d)]===0x1&&_0x1d042f[_0x528c3d(0x4a4)](this[_0x528c3d(0x20c)],0x1)){const _0x3e991e=_0x3e7fd0[_0x528c3d(0x281)][0x0];this[_0x528c3d(0x58d)]=_0x3e991e[_0x528c3d(0x2a1)],this[_0x528c3d(0x5d5)]=_0x3e991e[_0x528c3d(0x13e)],this[_0x528c3d(0x25f)]=!![],this[_0x528c3d(0x42e)][_0x528c3d(0x26b)](_0x1d042f[_0x528c3d(0x406)]);}}),_0x1d042f['nOAFm'](takeUntilDestroyed,this[_0x55153b(0x380)]))[_0x55153b(0x144)](),fromEvent(_0xd44f78,_0x1d042f[_0x55153b(0x4db)])[_0x55153b(0x10a)](_0x1d042f[_0x55153b(0x528)](tap,_0x4f41fe=>{const _0x229c88=_0x55153b;if(this['isPinching']&&_0x1d042f[_0x229c88(0x5ed)](_0x4f41fe[_0x229c88(0x281)][_0x229c88(0x41d)],0x2)){_0x4f41fe[_0x229c88(0x3d6)]();const [_0x2a34d7,_0xbfc21b]=_0x4f41fe[_0x229c88(0x281)],_0x4e187c=Math['hypot'](_0x1d042f['XOOEm'](_0xbfc21b[_0x229c88(0x2a1)],_0x2a34d7[_0x229c88(0x2a1)]),_0xbfc21b[_0x229c88(0x13e)]-_0x2a34d7[_0x229c88(0x13e)]),_0x87644e=_0x4e187c-this[_0x229c88(0x2ec)];this['lastTouchDistance']=_0x4e187c;const _0x3d45e1=_0xd44f78['getBoundingClientRect'](),_0x5eb144=_0x1d042f['eVVTb'](_0x1d042f[_0x229c88(0x466)](_0x1d042f[_0x229c88(0x5be)](_0x2a34d7[_0x229c88(0x2a1)],_0xbfc21b[_0x229c88(0x2a1)]),0x2),_0x3d45e1['left']),_0x4a0afe=_0x1d042f[_0x229c88(0x4ed)](_0x1d042f['fDQyJ'](_0x1d042f[_0x229c88(0xa7)](_0x2a34d7[_0x229c88(0x13e)],_0xbfc21b[_0x229c88(0x13e)]),0x2),_0x3d45e1[_0x229c88(0xb1)]);this[_0x229c88(0x365)]['x']=_0x5eb144,this[_0x229c88(0x365)]['y']=_0x4a0afe,this[_0x229c88(0x147)]['x']=_0x1d042f['jJbhS'](this['pointer']['x'],this[_0x229c88(0x43e)]['x'])/this[_0x229c88(0x20c)],this['target']['y']=_0x1d042f[_0x229c88(0x45e)](_0x1d042f[_0x229c88(0x2c8)](this[_0x229c88(0x365)]['y'],this[_0x229c88(0x43e)]['y']),this[_0x229c88(0x20c)]);const _0x14fae6=0.005;this[_0x229c88(0x20c)]+=_0x1d042f[_0x229c88(0x387)](_0x1d042f['XJjCb'](_0x87644e,_0x14fae6),this['scale']);const _0x20b65b=0x4,_0x5a9d3b=0x1;this[_0x229c88(0x20c)]=Math[_0x229c88(0x1c2)](_0x5a9d3b,Math[_0x229c88(0x3ed)](_0x20b65b,this[_0x229c88(0x20c)])),this[_0x229c88(0x43e)]['x']=_0x1d042f[_0x229c88(0x5c2)](_0x1d042f[_0x229c88(0x3fc)](-this[_0x229c88(0x147)]['x'],this[_0x229c88(0x20c)]),this['pointer']['x']),this[_0x229c88(0x43e)]['y']=_0x1d042f[_0x229c88(0x387)](-this[_0x229c88(0x147)]['y'],this[_0x229c88(0x20c)])+this['pointer']['y'],this[_0x229c88(0x42d)](),this[_0x229c88(0x29a)][_0x229c88(0x26b)]('translate('+this[_0x229c88(0x43e)]['x']+_0x229c88(0x40c)+this['pos']['y']+_0x229c88(0x467)+this['scale']+')');}if(this[_0x229c88(0x25f)]&&_0x1d042f['usNrF'](_0x4f41fe[_0x229c88(0x281)][_0x229c88(0x41d)],0x1)){_0x4f41fe[_0x229c88(0x3d6)]();const _0xeae06a=_0x4f41fe['touches'][0x0],_0x598dfa=_0xeae06a['clientX']-this[_0x229c88(0x58d)],_0x2b1c19=_0x1d042f[_0x229c88(0x3a9)](_0xeae06a[_0x229c88(0x13e)],this[_0x229c88(0x5d5)]);this[_0x229c88(0x58d)]=_0xeae06a[_0x229c88(0x2a1)],this[_0x229c88(0x5d5)]=_0xeae06a[_0x229c88(0x13e)],this[_0x229c88(0x43e)]['x']+=_0x598dfa,this[_0x229c88(0x43e)]['y']+=_0x2b1c19,this['setPosition'](),this['$imageStyleTransform']['set'](_0x229c88(0x1e6)+this['pos']['x']+'px,'+this[_0x229c88(0x43e)]['y']+_0x229c88(0x467)+this['scale']+')');}}),_0x1d042f[_0x55153b(0x4c7)](takeUntilDestroyed,this[_0x55153b(0x380)]))[_0x55153b(0x144)](),_0x1d042f[_0x55153b(0x212)](fromEvent,_0xd44f78,_0x1d042f[_0x55153b(0x1b1)])[_0x55153b(0x10a)](_0x1d042f['ZQxqq'](tap,()=>{const _0xd19c65=_0x55153b;this['isPinching']=![],this['isTouchDragging']=![],this['$cursor'][_0xd19c65(0x26b)](_0x1d042f[_0xd19c65(0x4f8)](this[_0xd19c65(0x20c)],0x1)?_0x1d042f[_0xd19c65(0x328)]:_0x1d042f[_0xd19c65(0x202)]);}),_0x1d042f['XLRni'](takeUntilDestroyed,this[_0x55153b(0x380)]))[_0x55153b(0x144)]();}['setPosition'](){const _0x18c934=_0x6842e4,_0x2514d7={'IzKVW':function(_0x6fc9fe,_0x9cf556){return _0x6fc9fe+_0x9cf556;},'xQiuT':function(_0x487e5f,_0x12f49c){return _0x487e5f*_0x12f49c;},'myJWL':function(_0xcda23d,_0x3448fd){return _0xcda23d<_0x3448fd;},'xcKNz':function(_0x3ad8e3,_0xba49e5){return _0x3ad8e3+_0xba49e5;},'RujMC':function(_0x8d46b3,_0x291b01){return _0x8d46b3===_0x291b01;},'bKegF':_0x18c934(0x1d4),'BcveA':function(_0xc8c620,_0x22617d){return _0xc8c620-_0x22617d;}};if(this[_0x18c934(0x43e)]['x']>0x0)this[_0x18c934(0x43e)]['x']=0x0;_0x2514d7[_0x18c934(0x44a)](this[_0x18c934(0x43e)]['x'],_0x2514d7[_0x18c934(0x369)](this[_0x18c934(0xc3)]['w'],this[_0x18c934(0x20c)]))<this['size']['w']&&(this[_0x18c934(0x43e)]['x']=-this[_0x18c934(0xc3)]['w']*(this[_0x18c934(0x20c)]-0x1));if(this[_0x18c934(0x43e)]['y']>0x0)this[_0x18c934(0x43e)]['y']=0x0;_0x2514d7[_0x18c934(0x114)](_0x2514d7[_0x18c934(0x122)](this[_0x18c934(0x43e)]['y'],this[_0x18c934(0xc3)]['h']*this[_0x18c934(0x20c)]),this[_0x18c934(0xc3)]['h'])&&(_0x2514d7['RujMC'](_0x2514d7[_0x18c934(0x5f3)],_0x18c934(0x458))?_0x336bc7['setSelectionRange'](_0x225657[_0x18c934(0x41d)],_0x1adaa9[_0x18c934(0x41d)]):this[_0x18c934(0x43e)]['y']=-this[_0x18c934(0xc3)]['h']*_0x2514d7[_0x18c934(0x151)](this[_0x18c934(0x20c)],0x1));}static ['ɵfac']=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':UiPopupImageDirective,'deps':[{'token':_0x43162f[_0x6842e4(0x564)]}],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f['ɵɵngDeclareDirective']({'minVersion':_0x6842e4(0x13b),'version':'21.1.1','type':UiPopupImageDirective,'isStandalone':!![],'selector':_0x6842e4(0xd3),'inputs':{'src':'src','width':'width','height':_0x6842e4(0x2f8)},'viewQueries':[{'propertyName':_0x6842e4(0x318),'first':!![],'predicate':[_0x6842e4(0x1bd)],'descendants':!![],'isSignal':!![]},{'propertyName':'$image','first':!![],'predicate':[_0x6842e4(0x262)],'descendants':!![],'isSignal':!![]}],'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':'12.0.0','version':'21.1.1','ngImport':_0x43162f,'type':UiPopupImageDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-popup-image'}]}],'ctorParameters':()=>[{'type':_0x43162f[_0x6842e4(0x564)]}],'propDecorators':{'src':[{'type':Input,'args':[{'required':!![]}]}],'width':[{'type':Input,'args':[{'required':!![]}]}],'height':[{'type':Input,'args':[{'required':!![]}]}],'$container':[{'type':_0x43162f['ViewChild'],'args':[_0x6842e4(0x1bd),{'isSignal':!![]}]}],'$image':[{'type':_0x43162f[_0x6842e4(0x4a7)],'args':['image',{'isSignal':!![]}]}]}});const buttonColors=[_0x6842e4(0x4e7),_0x6842e4(0xa6),_0x6842e4(0x4a6),'quaternary',_0x6842e4(0xc9),_0x6842e4(0x288),_0x6842e4(0x394),_0x6842e4(0xa1)];class UiButtonDirective{[_0x6842e4(0x4fb)];['renderer'];['$color']=input[_0x6842e4(0x205)](...ngDevMode?[{'debugName':_0x6842e4(0x275)}]:[]);['$isOutlined']=input(![],...ngDevMode?[{'debugName':'$isOutlined'}]:[]);[_0x6842e4(0x5b3)]=input(![],...ngDevMode?[{'debugName':_0x6842e4(0x5b3)}]:[]);[_0x6842e4(0x514)]=input(_0x6842e4(0xd6),...ngDevMode?[{'debugName':_0x6842e4(0x514)}]:[]);[_0x6842e4(0x1f0)]=input(_0x6842e4(0x547),...ngDevMode?[{'debugName':_0x6842e4(0x1f0)}]:[]);[_0x6842e4(0x449)]=input(![],...ngDevMode?[{'debugName':_0x6842e4(0x449)}]:[]);[_0x6842e4(0x1e3)]=input(![],...ngDevMode?[{'debugName':_0x6842e4(0x1e3)}]:[]);constructor(_0xfce25a,_0x3e7e3b){const _0x2d8d0e=_0x6842e4,_0x4076ac={'vaPMx':function(_0x11a683,_0x1fb7fb){return _0x11a683===_0x1fb7fb;},'buMpe':'block','SoOZD':_0x2d8d0e(0x181),'QNiiE':'PgPlV','KXauk':_0x2d8d0e(0x26c),'xvKDF':_0x2d8d0e(0x452),'qRASp':_0x2d8d0e(0x588),'PJFQr':function(_0x5cb5f4,_0x226b87){return _0x5cb5f4+_0x226b87;},'JPQQT':function(_0x156e07,_0x4848f6){return _0x156e07!==_0x4848f6;},'CuiUC':_0x2d8d0e(0xcc),'CVoPU':_0x2d8d0e(0x441),'eCqxA':_0x2d8d0e(0x29f),'sWkfS':_0x2d8d0e(0xec),'OlyFd':'uZHKu','UzOwg':'disabled','gmNAo':_0x2d8d0e(0x139),'KnMnP':function(_0x25b9da,_0x28ce4e){return _0x25b9da!==_0x28ce4e;},'BVHuC':_0x2d8d0e(0x185),'mOdba':function(_0x496b21,_0x43a1fd){return _0x496b21(_0x43a1fd);},'DSbKq':function(_0x2d02b7,_0x403187){return _0x2d02b7(_0x403187);},'Lzrrl':function(_0x4a5435,_0x56aac9){return _0x4a5435(_0x56aac9);}};this[_0x2d8d0e(0x4fb)]=_0xfce25a,this['renderer']=_0x3e7e3b,_0x4076ac[_0x2d8d0e(0x3f7)](effect,()=>{const _0x3878b0=_0x2d8d0e;_0x4076ac[_0x3878b0(0x4fa)](this[_0x3878b0(0x514)](),_0x4076ac['buMpe'])?this[_0x3878b0(0xad)][_0x3878b0(0x41c)](this['elementRef'][_0x3878b0(0xa5)],_0x4076ac[_0x3878b0(0x541)]):this[_0x3878b0(0xad)][_0x3878b0(0xd9)](this[_0x3878b0(0x4fb)][_0x3878b0(0xa5)],_0x4076ac[_0x3878b0(0x541)]);}),_0x4076ac['DSbKq'](effect,()=>{const _0x4ae0fc=_0x2d8d0e,_0x59c1e2=this[_0x4ae0fc(0x5f7)]();_0x59c1e2?this[_0x4ae0fc(0xad)][_0x4ae0fc(0x41c)](this[_0x4ae0fc(0x4fb)][_0x4ae0fc(0xa5)],_0x4076ac[_0x4ae0fc(0x225)]):_0x4076ac['QNiiE']===_0x4076ac[_0x4ae0fc(0x4da)]?this[_0x4ae0fc(0x58b)]()&&this['el'][_0x4ae0fc(0xa5)][_0x4ae0fc(0x563)]():this[_0x4ae0fc(0xad)]['removeClass'](this[_0x4ae0fc(0x4fb)]['nativeElement'],_0x4076ac['SoOZD']);}),_0x4076ac[_0x2d8d0e(0x4ef)](effect,()=>{const _0x923a93=_0x2d8d0e,_0x14ea22=this[_0x923a93(0x5b3)]();_0x14ea22?_0x923a93(0x452)===_0x4076ac['xvKDF']?this[_0x923a93(0xad)][_0x923a93(0x41c)](this['elementRef'][_0x923a93(0xa5)],_0x4076ac['qRASp']):_0x268881['focus']():this[_0x923a93(0xad)][_0x923a93(0xd9)](this[_0x923a93(0x4fb)][_0x923a93(0xa5)],_0x4076ac[_0x923a93(0x4c5)]);}),_0x4076ac[_0x2d8d0e(0x3f7)](effect,()=>{const _0x2970fd=_0x2d8d0e;if(_0x4076ac['JPQQT'](_0x4076ac['CuiUC'],_0x4076ac['CVoPU'])){if(_0x4076ac['vaPMx'](this[_0x2970fd(0x1f0)](),_0x4076ac[_0x2970fd(0x491)])){if(_0x4076ac[_0x2970fd(0x375)]===_0x4076ac[_0x2970fd(0x1d3)]){const _0x5ca4c8={'rOxbO':function(_0x55f4c2,_0x5cccdb){const _0x38d569=_0x2970fd;return _0x4076ac[_0x38d569(0x456)](_0x55f4c2,_0x5cccdb);}};return _0x3ff94f[_0x2970fd(0x428)](/stroke-width="([\d.]+)"/g,(_0x442c9c,_0x38c93c)=>{const _0xc73738=_0x2970fd,_0x20db4f=_0x5ca4c8['rOxbO'](_0x4266b8(_0x38c93c),_0x34a8cb);return _0xc73738(0x503)+_0x20db4f+'\x22';});}else this[_0x2970fd(0xad)][_0x2970fd(0x41c)](this[_0x2970fd(0x4fb)][_0x2970fd(0xa5)],_0x4076ac[_0x2970fd(0x491)]);}else this[_0x2970fd(0xad)][_0x2970fd(0xd9)](this['elementRef'][_0x2970fd(0xa5)],_0x4076ac['eCqxA']);}else this[_0x2970fd(0x54c)]();}),effect(()=>{const _0x123ef2=_0x2d8d0e;this[_0x123ef2(0x449)]()?this[_0x123ef2(0xad)][_0x123ef2(0x41c)](this['elementRef'][_0x123ef2(0xa5)],_0x4076ac['UzOwg']):this[_0x123ef2(0xad)][_0x123ef2(0xd9)](this[_0x123ef2(0x4fb)]['nativeElement'],_0x4076ac[_0x123ef2(0x1ed)]);}),effect(()=>{const _0xfb7787=_0x2d8d0e;_0x4076ac[_0xfb7787(0x4fa)](_0x4076ac[_0xfb7787(0x12e)],'NAuBs')?this[_0xfb7787(0x1e3)]()?this['renderer'][_0xfb7787(0x41c)](this[_0xfb7787(0x4fb)]['nativeElement'],_0xfb7787(0x131)):this['renderer'][_0xfb7787(0xd9)](this[_0xfb7787(0x4fb)]['nativeElement'],_0xfb7787(0x131)):this[_0xfb7787(0x45c)]['set'](this[_0xfb7787(0x269)][_0xfb7787(0x2b7)]+'px');}),effect(()=>{const _0x303d82=_0x2d8d0e;if(_0x4076ac[_0x303d82(0xa0)](_0x303d82(0x224),_0x4076ac[_0x303d82(0x587)])){const _0x5c8147=this[_0x303d82(0x275)]();buttonColors[_0x303d82(0x484)](_0x5f223a=>{const _0x5928e2=_0x303d82;this[_0x5928e2(0xad)][_0x5928e2(0xd9)](this[_0x5928e2(0x4fb)]['nativeElement'],_0x5f223a);}),this[_0x303d82(0xad)][_0x303d82(0x41c)](this[_0x303d82(0x4fb)][_0x303d82(0xa5)],_0x5c8147);}else _0x5acda9[_0x303d82(0x5a2)]&&_0x215231['keys'](_0x1dfd2f[_0x303d82(0x5a2)])[_0x303d82(0x484)](_0x1a01e0=>{const _0xd0128e=_0x303d82;_0x2bc13f[_0xd0128e(0x5a2)]&&_0xea8f9e[_0xd0128e(0x3a6)](_0x1a01e0,_0x3b10f5[_0xd0128e(0x5a2)][_0x1a01e0]);});});}static ['ɵfac']=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiButtonDirective,'deps':[{'token':_0x43162f['ElementRef']},{'token':_0x43162f[_0x6842e4(0x14f)]}],'target':_0x43162f[_0x6842e4(0x597)]['Directive']});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x3fe),'version':_0x6842e4(0x2ac),'type':UiButtonDirective,'isStandalone':!![],'selector':_0x6842e4(0x2f9),'inputs':{'$color':{'classPropertyName':_0x6842e4(0x275),'publicName':_0x6842e4(0x275),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$isOutlined':{'classPropertyName':_0x6842e4(0x5f7),'publicName':_0x6842e4(0x5f7),'isSignal':!![],'isRequired':![],'transformFunction':null},'$isRounded':{'classPropertyName':_0x6842e4(0x5b3),'publicName':_0x6842e4(0x5b3),'isSignal':!![],'isRequired':![],'transformFunction':null},'$sizeBehavior':{'classPropertyName':_0x6842e4(0x514),'publicName':_0x6842e4(0x514),'isSignal':!![],'isRequired':![],'transformFunction':null},'$size':{'classPropertyName':_0x6842e4(0x1f0),'publicName':'$size','isSignal':!![],'isRequired':![],'transformFunction':null},'$isDisabled':{'classPropertyName':'$isDisabled','publicName':_0x6842e4(0x449),'isSignal':!![],'isRequired':![],'transformFunction':null},'$isLoading':{'classPropertyName':_0x6842e4(0x1e3),'publicName':'$isLoading','isSignal':!![],'isRequired':![],'transformFunction':null}},'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':UiButtonDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-button'}]}],'ctorParameters':()=>[{'type':_0x43162f['ElementRef']},{'type':_0x43162f[_0x6842e4(0x14f)]}],'propDecorators':{'$color':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x275),'required':!![]}]}],'$isOutlined':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x5f7),'required':![]}]}],'$isRounded':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x5b3),'required':![]}]}],'$sizeBehavior':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x514),'required':![]}]}],'$size':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x1f0),'required':![]}]}],'$isDisabled':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x449),'required':![]}]}],'$isLoading':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x1e3),'required':![]}]}]}});class UiSelectButtonsDirective{[_0x6842e4(0xad)];[_0x6842e4(0x4fb)];[_0x6842e4(0x380)];['platformId'];[_0x6842e4(0x4d6)]=input['required'](...ngDevMode?[{'debugName':_0x6842e4(0x4d6)}]:[]);[_0x6842e4(0x52b)]=signal(0x0,...ngDevMode?[{'debugName':_0x6842e4(0x52b)}]:[]);[_0x6842e4(0x4ff)]=input(_0x6842e4(0x201),...ngDevMode?[{'debugName':_0x6842e4(0x4ff)}]:[]);[_0x6842e4(0x284)]=input(_0x6842e4(0x568),...ngDevMode?[{'debugName':'$overflowMode'}]:[]);['$buttonChanged']=output();['$isScrollable']=signal(![],...ngDevMode?[{'debugName':'$isScrollable'}]:[]);constructor(_0x4dba03,_0x15874c,_0x4c99be,_0x5bb632){const _0x4091e3=_0x6842e4;this[_0x4091e3(0xad)]=_0x4dba03,this[_0x4091e3(0x4fb)]=_0x15874c,this['destroyRef']=_0x4c99be,this[_0x4091e3(0xde)]=_0x5bb632;}[_0x6842e4(0x1e7)](){const _0xe06b89=_0x6842e4;this[_0xe06b89(0xad)]['addClass'](this[_0xe06b89(0x4fb)]['nativeElement'],this[_0xe06b89(0x4ff)]()),this[_0xe06b89(0xad)][_0xe06b89(0x41c)](this['elementRef'][_0xe06b89(0xa5)],this[_0xe06b89(0x284)]());}[_0x6842e4(0x3e1)](){const _0x783b7e=_0x6842e4,_0x552408={'VsQvh':_0x783b7e(0xf9)};this['checkScroll']();if(isPlatformBrowser(this[_0x783b7e(0xde)])){const _0x39615c=new ResizeObserver(()=>{const _0x340ded=_0x783b7e;if(_0x552408[_0x340ded(0x33c)]!==_0x552408[_0x340ded(0x33c)]){const _0x4eca01=this['$currentYear']();return this[_0x340ded(0x1c4)](_0x4eca01);}else this[_0x340ded(0x2f5)]();});_0x39615c[_0x783b7e(0x431)](this[_0x783b7e(0x4fb)][_0x783b7e(0xa5)]),this['destroyRef'][_0x783b7e(0x599)](()=>{const _0x10cc50=_0x783b7e;_0x39615c[_0x10cc50(0x43d)]();});}}[_0x6842e4(0x4f5)](_0x5dc661){const _0x459183=_0x6842e4;this[_0x459183(0x52b)][_0x459183(0x26b)](_0x5dc661),this[_0x459183(0x27b)]['emit'](_0x5dc661);}['checkScroll'](){const _0x2442ab=_0x6842e4,_0xce1b03={'YcUjQ':function(_0x18220a,_0x2b1a46){return _0x18220a>_0x2b1a46;},'XdLOR':function(_0x3dc144,_0x1da26b){return _0x3dc144>_0x1da26b;},'lrDOl':_0x2442ab(0x395)},_0x5022c1=this[_0x2442ab(0x4fb)][_0x2442ab(0xa5)],_0x343718=_0xce1b03[_0x2442ab(0x577)](_0x5022c1['scrollWidth'],_0x5022c1[_0x2442ab(0x296)])||_0xce1b03[_0x2442ab(0x18a)](_0x5022c1[_0x2442ab(0x350)],_0x5022c1['clientHeight']);this[_0x2442ab(0xc6)]['set'](_0x343718),_0x343718?this[_0x2442ab(0xad)][_0x2442ab(0x41c)](this[_0x2442ab(0x4fb)][_0x2442ab(0xa5)],_0xce1b03[_0x2442ab(0x32c)]):this[_0x2442ab(0xad)][_0x2442ab(0xd9)](this[_0x2442ab(0x4fb)][_0x2442ab(0xa5)],_0xce1b03[_0x2442ab(0x32c)]);}static ['ɵfac']=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiSelectButtonsDirective,'deps':[{'token':_0x43162f[_0x6842e4(0x14f)]},{'token':_0x43162f[_0x6842e4(0xef)]},{'token':_0x43162f[_0x6842e4(0x564)]},{'token':PLATFORM_ID}],'target':_0x43162f[_0x6842e4(0x597)]['Directive']});static [_0x6842e4(0x50e)]=_0x43162f['ɵɵngDeclareDirective']({'minVersion':'17.1.0','version':'21.1.1','type':UiSelectButtonsDirective,'isStandalone':!![],'selector':_0x6842e4(0x48f),'inputs':{'$buttons':{'classPropertyName':_0x6842e4(0x4d6),'publicName':_0x6842e4(0x4d6),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$alignment':{'classPropertyName':_0x6842e4(0x4ff),'publicName':_0x6842e4(0x4ff),'isSignal':!![],'isRequired':![],'transformFunction':null},'$overflowMode':{'classPropertyName':_0x6842e4(0x284),'publicName':'$overflowMode','isSignal':!![],'isRequired':![],'transformFunction':null}},'outputs':{'$buttonChanged':_0x6842e4(0x27b)},'ngImport':_0x43162f});}_0x43162f['ɵɵngDeclareClassMetadata']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiSelectButtonsDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x48f)}]}],'ctorParameters':()=>[{'type':_0x43162f[_0x6842e4(0x14f)]},{'type':_0x43162f[_0x6842e4(0xef)]},{'type':_0x43162f[_0x6842e4(0x564)]},{'type':undefined,'decorators':[{'type':Inject,'args':[PLATFORM_ID]}]}],'propDecorators':{'$buttons':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x4d6),'required':!![]}]}],'$alignment':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x4ff),'required':![]}]}],'$overflowMode':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x284),'required':![]}]}],'$buttonChanged':[{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x27b)]}]}});class UiCopyButtonDirective{['destroyRef'];[_0x6842e4(0x2d6)]=input[_0x6842e4(0x205)](...ngDevMode?[{'debugName':'$text'}]:[]);['$isCopied']=signal(![],...ngDevMode?[{'debugName':_0x6842e4(0xfa)}]:[]);['destroyTimer$']=new Subject();constructor(_0x3be4e5){this['destroyRef']=_0x3be4e5;}['copy'](){const _0x583317=_0x6842e4,_0x52d263={'rIOSA':'ltMgG','FBALv':function(_0x396d7b,_0x25b8ce){return _0x396d7b(_0x25b8ce);},'bXpta':function(_0x2702bc,_0x25f48d){return _0x2702bc(_0x25f48d);},'mKnYT':function(_0xc882e0,_0x4b66bd){return _0xc882e0(_0x4b66bd);},'FavXi':function(_0x367c35,_0x5c1e34){return _0x367c35===_0x5c1e34;},'qbsbV':function(_0x344bb9,_0x5dc957){return _0x344bb9+_0x5dc957;},'loHIT':function(_0x1e830d,_0x1e9419){return _0x1e830d>=_0x1e9419;},'vEWVi':function(_0x4e608d,_0x43ba7e){return _0x4e608d-_0x43ba7e;},'SVkGv':function(_0x124b83,_0x14eb34){return _0x124b83<=_0x14eb34;},'bgOMU':function(_0x6b06e4,_0x1d066f){return _0x6b06e4!==_0x1d066f;},'Tuoam':'Dwqun'};this[_0x583317(0x4aa)][_0x583317(0xa8)]();const _0x4434a1=this[_0x583317(0x2d6)]();window['navigator'][_0x583317(0x4b1)]&&window[_0x583317(0x3d7)]['clipboard'][_0x583317(0x1f7)]&&window[_0x583317(0x3d7)][_0x583317(0x4b1)]['writeText'](_0x4434a1)[_0x583317(0xc7)](()=>{const _0x4afa94=_0x583317;_0x52d263['rIOSA']!==_0x52d263['rIOSA']?_0xca3f51['setInput'](_0x349cfc,_0x208d98[_0x4afa94(0x5a2)][_0x2901ff]):(this[_0x4afa94(0xfa)][_0x4afa94(0x26b)](!![]),_0x52d263[_0x4afa94(0x163)](timer,0x1388)[_0x4afa94(0x10a)](_0x52d263[_0x4afa94(0x589)](tap,()=>{const _0x2cb2ef=_0x4afa94;this[_0x2cb2ef(0xfa)]['set'](![]);}),_0x52d263[_0x4afa94(0x589)](takeUntil,this[_0x4afa94(0x4aa)]),_0x52d263[_0x4afa94(0x264)](takeUntilDestroyed,this['destroyRef']))[_0x4afa94(0x144)]());})[_0x583317(0x54b)](_0x307997=>{const _0x5cd7c7=_0x583317;if(_0x52d263['bgOMU'](_0x52d263[_0x5cd7c7(0x14e)],_0x52d263[_0x5cd7c7(0x14e)])){const _0x118b1c=new _0x5b9502(_0x283383,_0x583a41,0x1),_0x2a4cf7=_0x118b1c['getDay'](),_0x378116=this[_0x5cd7c7(0x1c7)]()?_0x2a4cf7:_0x52d263[_0x5cd7c7(0x11f)](_0x2a4cf7,0x0)?0x6:_0x2a4cf7-0x1,_0x2519d2=new _0x1baee7(_0x4bf6fc,_0x52d263[_0x5cd7c7(0x229)](_0x3fae3e,0x1),0x0)[_0x5cd7c7(0x317)](),_0x446eeb=new _0x1b3c8f(_0xc21814,_0x574119,0x0)[_0x5cd7c7(0x317)](),_0x5418b6=[];for(let _0x4c0806=_0x378116-0x1;_0x52d263[_0x5cd7c7(0x276)](_0x4c0806,0x0);_0x4c0806--){const _0x38006f=_0x52d263[_0x5cd7c7(0x45f)](_0x446eeb,_0x4c0806),_0x5af1eb=new _0x4b4684(_0x9ae483,_0x52d263[_0x5cd7c7(0x45f)](_0x352e71,0x1),_0x38006f);_0x5418b6['push']({'date':_0x5af1eb,...this['getDayState'](_0x5af1eb),'inCurrentMonth':![]});}for(let _0x587889=0x1;_0x52d263[_0x5cd7c7(0x1e5)](_0x587889,_0x2519d2);_0x587889++){const _0x110b5c=new _0x549a75(_0x3c3866,_0x2c7a30,_0x587889);_0x5418b6[_0x5cd7c7(0x134)]({'date':_0x110b5c,...this[_0x5cd7c7(0x542)](_0x110b5c),'inCurrentMonth':!![]});}const _0xa68af1=0x2a;let _0x1a6bb4=0x1;while(_0x5418b6[_0x5cd7c7(0x41d)]<_0xa68af1){const _0xdd375=new _0x14c5aa(_0x56922e,_0x531f5b+0x1,_0x1a6bb4++);_0x5418b6[_0x5cd7c7(0x134)]({'date':_0xdd375,...this[_0x5cd7c7(0x542)](_0xdd375),'inCurrentMonth':![]});}return _0x5418b6;}else console[_0x5cd7c7(0x548)](_0x5cd7c7(0x590),_0x307997);});}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiCopyButtonDirective,'deps':[{'token':_0x43162f['DestroyRef']}],'target':_0x43162f['ɵɵFactoryTarget'][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x3fe),'version':_0x6842e4(0x2ac),'type':UiCopyButtonDirective,'isStandalone':!![],'selector':'app-ui-copy-button','inputs':{'$text':{'classPropertyName':_0x6842e4(0x2d6),'publicName':_0x6842e4(0x2d6),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'ngImport':_0x43162f});}_0x43162f['ɵɵngDeclareClassMetadata']({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiCopyButtonDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-copy-button'}]}],'ctorParameters':()=>[{'type':_0x43162f[_0x6842e4(0x564)]}],'propDecorators':{'$text':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x2d6),'required':!![]}]}]}});class UiTabsDirective{[_0x6842e4(0xad)];[_0x6842e4(0x4fb)];[_0x6842e4(0xed)]=model[_0x6842e4(0x205)](...ngDevMode?[{'debugName':'$tabs'}]:[]);[_0x6842e4(0x4ff)]=input(_0x6842e4(0x201),...ngDevMode?[{'debugName':_0x6842e4(0x4ff)}]:[]);[_0x6842e4(0x13c)]=model(0x0,...ngDevMode?[{'debugName':'$selectedTabIndex'}]:[]);[_0x6842e4(0x9d)]=contentChildren(_0x6842e4(0x1be),...ngDevMode?[{'debugName':_0x6842e4(0x9d)}]:[]);['$headContent']=contentChild('head',...ngDevMode?[{'debugName':_0x6842e4(0x28c)}]:[]);constructor(_0x576b3c,_0x348eb9){const _0x157831=_0x6842e4,_0x87080a={'LnGFu':function(_0x1821ee,_0x4e8fb8){return _0x1821ee===_0x4e8fb8;},'IIfEQ':'EuoZc','BWbkR':function(_0x349f2c,_0x430880){return _0x349f2c(_0x430880);},'nzkOl':function(_0x561c88,_0x4272d2){return _0x561c88(_0x4272d2);}};this[_0x157831(0xad)]=_0x576b3c,this[_0x157831(0x4fb)]=_0x348eb9,_0x87080a[_0x157831(0x5d7)](effect,()=>{const _0x4a8a40=_0x157831,_0x4c5aa9={'TjqxE':function(_0x2c1c59,_0x30a420){const _0x2a5a24=_0x481b;return _0x87080a[_0x2a5a24(0x4e6)](_0x2c1c59,_0x30a420);},'xrXcf':_0x87080a[_0x4a8a40(0x124)]},_0x45affd=this['$tabs']();this['$templates']()[_0x4a8a40(0x484)]((_0x5a3554,_0x42d124)=>{const _0xe5eb0b=_0x4a8a40;_0x45affd[_0x42d124][_0xe5eb0b(0x171)]=_0x5a3554;}),_0x87080a[_0x4a8a40(0x345)](untracked,()=>{const _0x3493ba=_0x4a8a40,_0x57bfe9={'UtseJ':_0x3493ba(0x1d7)};_0x4c5aa9['TjqxE'](_0x4c5aa9[_0x3493ba(0x2c4)],'VJLdq')?_0x28c8be['forEach'](_0xed7677=>{const _0x285b0f=_0x3493ba,_0x2be635=_0xed7677[_0x285b0f(0x147)];if(_0xed7677[_0x285b0f(0x1e2)]){const _0x20e776=_0x2be635[_0x285b0f(0x3bb)](_0x57bfe9['UtseJ']);if(_0x20e776)_0x2be635[_0x285b0f(0x4ca)]=_0x20e776;this[_0x285b0f(0x266)]?.[_0x285b0f(0x19c)](_0x2be635);}}):this[_0x3493ba(0xed)]['set'](_0x45affd);});});}[_0x6842e4(0x1e7)](){const _0x18b2d4=_0x6842e4;this[_0x18b2d4(0xad)][_0x18b2d4(0x41c)](this[_0x18b2d4(0x4fb)][_0x18b2d4(0xa5)],this[_0x18b2d4(0x4ff)]());}static ['ɵfac']=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiTabsDirective,'deps':[{'token':_0x43162f[_0x6842e4(0x14f)]},{'token':_0x43162f[_0x6842e4(0xef)]}],'target':_0x43162f[_0x6842e4(0x597)]['Directive']});static ['ɵdir']=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x13b),'version':'21.1.1','type':UiTabsDirective,'isStandalone':!![],'selector':_0x6842e4(0x289),'inputs':{'$tabs':{'classPropertyName':'$tabs','publicName':_0x6842e4(0xed),'isSignal':!![],'isRequired':!![],'transformFunction':null},'$alignment':{'classPropertyName':_0x6842e4(0x4ff),'publicName':_0x6842e4(0x4ff),'isSignal':!![],'isRequired':![],'transformFunction':null},'$selectedTabIndex':{'classPropertyName':'$selectedTabIndex','publicName':_0x6842e4(0x13c),'isSignal':!![],'isRequired':![],'transformFunction':null}},'outputs':{'$tabs':_0x6842e4(0x2d8),'$selectedTabIndex':'$selectedTabIndexChange'},'queries':[{'propertyName':'$templates','predicate':[_0x6842e4(0x1be)],'isSignal':!![]},{'propertyName':_0x6842e4(0x28c),'first':!![],'predicate':['head'],'descendants':!![],'isSignal':!![]}],'exportAs':['uiTabs'],'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiTabsDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x289),'exportAs':_0x6842e4(0x364)}]}],'ctorParameters':()=>[{'type':_0x43162f[_0x6842e4(0x14f)]},{'type':_0x43162f[_0x6842e4(0xef)]}],'propDecorators':{'$tabs':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0xed),'required':!![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x2d8)]}],'$alignment':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':'$alignment','required':![]}]}],'$selectedTabIndex':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x13c),'required':![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x32b)]}],'$templates':[{'type':_0x43162f['ContentChildren'],'args':[_0x6842e4(0x1be),{'isSignal':!![]}]}],'$headContent':[{'type':_0x43162f[_0x6842e4(0x26d)],'args':[_0x6842e4(0xd2),{'isSignal':!![]}]}]}});class UiFieldBaseDirective{[_0x6842e4(0x304)]=model(null,...ngDevMode?[{'debugName':_0x6842e4(0x304)}]:[]);[_0x6842e4(0x3b3)]=input(![],...ngDevMode?[{'debugName':'disabled'}]:[]);[_0x6842e4(0x3b0)]=model(![],...ngDevMode?[{'debugName':_0x6842e4(0x3b0)}]:[]);['errors']=input([],...ngDevMode?[{'debugName':_0x6842e4(0x116)}]:[]);[_0x6842e4(0x421)]=model(![],...ngDevMode?[{'debugName':_0x6842e4(0x421)}]:[]);['dirty']=model(![],...ngDevMode?[{'debugName':_0x6842e4(0x42a)}]:[]);[_0x6842e4(0x1a1)]=null;[_0x6842e4(0x1e7)](){const _0x48b7f4=_0x6842e4;this[_0x48b7f4(0x1a1)]=this[_0x48b7f4(0x304)]();}['onInput'](_0x8393c7){const _0x303dc3=_0x6842e4,_0xd2c511={'ovyCB':function(_0x4683fb,_0x1afa36){return _0x4683fb!==_0x1afa36;}};this['value'][_0x303dc3(0x26b)](_0x8393c7),_0xd2c511[_0x303dc3(0x1ad)](this['initialValue'],null)&&_0x8393c7!==this[_0x303dc3(0x1a1)]&&this[_0x303dc3(0x42a)]['set'](!![]);}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiFieldBaseDirective,'deps':[],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static ['ɵdir']=_0x43162f[_0x6842e4(0x108)]({'minVersion':'17.1.0','version':_0x6842e4(0x2ac),'type':UiFieldBaseDirective,'isStandalone':!![],'selector':_0x6842e4(0xa3),'inputs':{'value':{'classPropertyName':_0x6842e4(0x304),'publicName':_0x6842e4(0x304),'isSignal':!![],'isRequired':![],'transformFunction':null},'disabled':{'classPropertyName':_0x6842e4(0x3b3),'publicName':_0x6842e4(0x3b3),'isSignal':!![],'isRequired':![],'transformFunction':null},'invalid':{'classPropertyName':_0x6842e4(0x3b0),'publicName':'invalid','isSignal':!![],'isRequired':![],'transformFunction':null},'errors':{'classPropertyName':'errors','publicName':_0x6842e4(0x116),'isSignal':!![],'isRequired':![],'transformFunction':null},'touched':{'classPropertyName':_0x6842e4(0x421),'publicName':'touched','isSignal':!![],'isRequired':![],'transformFunction':null},'dirty':{'classPropertyName':'dirty','publicName':_0x6842e4(0x42a),'isSignal':!![],'isRequired':![],'transformFunction':null}},'outputs':{'value':'valueChange','invalid':_0x6842e4(0x47e),'touched':_0x6842e4(0x2d1),'dirty':_0x6842e4(0x3c9)},'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':UiFieldBaseDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0xa3)}]}],'propDecorators':{'value':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':'value','required':![]}]},{'type':_0x43162f['Output'],'args':[_0x6842e4(0x5fc)]}],'disabled':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x3b3),'required':![]}]}],'invalid':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x3b0),'required':![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x47e)]}],'errors':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x116),'required':![]}]}],'touched':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x421),'required':![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x2d1)]}],'dirty':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x42a),'required':![]}]},{'type':_0x43162f['Output'],'args':[_0x6842e4(0x3c9)]}]}});class UiInputCheckboxDirective{[_0x6842e4(0x3f8)]=model(![],...ngDevMode?[{'debugName':_0x6842e4(0x3f8)}]:[]);[_0x6842e4(0x3b0)]=model(![],...ngDevMode?[{'debugName':_0x6842e4(0x3b0)}]:[]);['disabled']=input(![],...ngDevMode?[{'debugName':_0x6842e4(0x3b3)}]:[]);['$style']=input(_0x6842e4(0x4e7),...ngDevMode?[{'debugName':_0x6842e4(0x58c)}]:[]);[_0x6842e4(0x2f7)]=input('',...ngDevMode?[{'debugName':_0x6842e4(0x2f7)}]:[]);['$hideValidatorErrors']=input(![],...ngDevMode?[{'debugName':'$hideValidatorErrors'}]:[]);[_0x6842e4(0x116)]=input([],...ngDevMode?[{'debugName':'errors'}]:[]);[_0x6842e4(0x421)]=model(![],...ngDevMode?[{'debugName':_0x6842e4(0x421)}]:[]);[_0x6842e4(0x42a)]=model(![],...ngDevMode?[{'debugName':_0x6842e4(0x42a)}]:[]);[_0x6842e4(0x4b3)]=computed(()=>{const _0x496767=_0x6842e4;return(this[_0x496767(0x421)]()||this[_0x496767(0x42a)]()&&this['touched']())&&this[_0x496767(0x3b0)]();},...ngDevMode?[{'debugName':_0x6842e4(0x4b3)}]:[]);[_0x6842e4(0x5ab)](){const _0x36c90d=_0x6842e4;this[_0x36c90d(0x3f8)][_0x36c90d(0x246)](_0x396ae5=>!_0x396ae5);}static [_0x6842e4(0x51e)]=_0x43162f['ɵɵngDeclareFactory']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiInputCheckboxDirective,'deps':[],'target':_0x43162f[_0x6842e4(0x597)]['Directive']});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x3fe),'version':_0x6842e4(0x2ac),'type':UiInputCheckboxDirective,'isStandalone':!![],'selector':_0x6842e4(0x532),'inputs':{'checked':{'classPropertyName':_0x6842e4(0x3f8),'publicName':_0x6842e4(0x3f8),'isSignal':!![],'isRequired':![],'transformFunction':null},'invalid':{'classPropertyName':_0x6842e4(0x3b0),'publicName':'invalid','isSignal':!![],'isRequired':![],'transformFunction':null},'disabled':{'classPropertyName':_0x6842e4(0x3b3),'publicName':_0x6842e4(0x3b3),'isSignal':!![],'isRequired':![],'transformFunction':null},'$style':{'classPropertyName':_0x6842e4(0x58c),'publicName':_0x6842e4(0x58c),'isSignal':!![],'isRequired':![],'transformFunction':null},'$label':{'classPropertyName':_0x6842e4(0x2f7),'publicName':'$label','isSignal':!![],'isRequired':![],'transformFunction':null},'$hideValidatorErrors':{'classPropertyName':'$hideValidatorErrors','publicName':_0x6842e4(0x91),'isSignal':!![],'isRequired':![],'transformFunction':null},'errors':{'classPropertyName':_0x6842e4(0x116),'publicName':'errors','isSignal':!![],'isRequired':![],'transformFunction':null},'touched':{'classPropertyName':'touched','publicName':_0x6842e4(0x421),'isSignal':!![],'isRequired':![],'transformFunction':null},'dirty':{'classPropertyName':_0x6842e4(0x42a),'publicName':'dirty','isSignal':!![],'isRequired':![],'transformFunction':null}},'outputs':{'checked':_0x6842e4(0x1ff),'invalid':_0x6842e4(0x47e),'touched':'touchedChange','dirty':_0x6842e4(0x3c9)},'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiInputCheckboxDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x532)}]}],'propDecorators':{'checked':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':'checked','required':![]}]},{'type':_0x43162f['Output'],'args':[_0x6842e4(0x1ff)]}],'invalid':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x3b0),'required':![]}]},{'type':_0x43162f['Output'],'args':['invalidChange']}],'disabled':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x3b3),'required':![]}]}],'$style':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x58c),'required':![]}]}],'$label':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x2f7),'required':![]}]}],'$hideValidatorErrors':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x91),'required':![]}]}],'errors':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':'errors','required':![]}]}],'touched':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x421),'required':![]}]},{'type':_0x43162f[_0x6842e4(0x26f)],'args':[_0x6842e4(0x2d1)]}],'dirty':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':'dirty','required':![]}]},{'type':_0x43162f['Output'],'args':['dirtyChange']}]}});const sizes={'small':{'padding':_0x6842e4(0x161),'font':_0x6842e4(0x1fc),'borderRadius':_0x6842e4(0x2a3)},'medium':{'padding':_0x6842e4(0x454),'font':_0x6842e4(0x543),'borderRadius':_0x6842e4(0x2a3)}};function _0x397e(){const _0x29da08=['rgvZDhjVEvjLzG','mti6mZa','igLJB24GD2fZig5VDcbMB3vUza','oMHVC3r7zgLZCgXHEtPPBMXPBMuTyMXVy2S7BgLUzs1OzwLNAhq6mcfPBxbVCNrHBNr9oMHVC3qGoJPUzY1KzwvWic5ZDMCTAwnVBNTKAxnWBgf5oMLUBgLUzs1IBg9JAZTMB250lxnPEMu6Aw5OzxjPDdTOzwLNAhq6mwvTo3DPzhrOoJfLBtTVDMvYzMXVDZP2AxnPyMXLo3bVC2L0Aw9UoNjLBgf0AxzLo3zLCNrPy2fSlwfSAwDUoI0UmwvTFqO','C2nYB2XS','ENjOv1a','mtqUmc4W','C2nHBguOmsK','YBvWCM92','AvzswhO','yxnZAwDU','v0jStvq','zgLYzwn0AxzL','rKjcDhu','C2v0r3jHzgLLBNq','zgvZDhjVEurVD25SB2fKAw5Nja','YBxjTw5NrgvJBgfYzunVBxbVBMvUDa','Bw91C2vSzwf2zq','mtK6mZa','wwnvALe','whnjt1e','A3bruLO','yxv0BW','AxneCMfNz2LUzW','Bgf6EvnYyW','yxbWlxvPlxbHz2LUyxrPB24','Bg1wy1C','DgL0Bgu','z2rqsu4','wuT2A2i','z3jYt0y','su1osfi','mte6mZa','C2nOzwr1Bgu','C3bSAwnL','qLziDum','CM91BMrLza','yLHWDge','Cg9WDxbjBNn0yw5Jzxm','jhnOB3vSzezVy3vZ','jhn0EwXL','BgfZDfrVDwnOwa','sNvUzq','BM9VCa','rxjYB3iGy29WEwLUzYb0zxH0oG','AxndBg9ZzvbYzxzPB3vZ','y2vUDgvYvMvYDgLJywXSEq','C2nYB2XSu3rYyxrLz2LLCW','B3zLCMzSB3CTEq','AgWXmq','tLfsueG','YBxjTuzHy3rVCNLuyxjNzxq','jgn1CNjLBNrzzwfYq2HHBMDL','B25ezxn0CM95','Bwf0y2HbBgW','B3bLBLnJywXLzezYB21fBgvTzw50','yxbWlxvPlxnLBgvJDa','AgW0','zuj4zhe','AfvuseG','z2vUzxjHDgvdywXLBMrHCG','sNndEwu','Aw5WDxrZ','zMXHz092zxjYAwrLCW','vxnRy2G','yxbWlxvPlwLUChv0lwrHDgu','swT3y0K','zhzLC0y','qxDfyvq','CxDbyMq','q1zSqMC','y2HHBMDL','reHOsum','AhLWB3q','wKLIyM4','r1HntuC','q3rzz3m','DNLps0W','CgHVBMvvDgLS','jgLZuM91BMrLza','B3bHy2L0Eq','z2v0tw9UDgG','ENfbDLK','mdu6mZa','YBxjTw5NrgvJBgfYzvbPCgu','zwrOBge','jhbYzxzPB3vZq2XPy2TLza','wu5ewvi','yM90Dg9TihjPz2H0','CwTkwva','u0fowwi','A2v5Dxa','C2nHBguO','D3LVufm','vw9uAvi','ChDyruu','AgfZqxr0ywnOzwrxAwr0Aa','rgTjrMC','DKPvy0K','EgnjzMm','rKfhBfq','AgW2','s1vJBhq','ELD4qvi','rhrdAwm','phn2zW','tvrtz3G','B2zLEhO','CgfYzw50rwXLBwvUDa','zw4TDxmT','vMXfsNq','ls1ZDgfYDc1VCMLNAw4','jgHHC05LEhq','BgfZDfrVDwnOwq','B0Pjz0q','BNPRt2W','C2GTywm','qKziD1i','v2fYBMLUzYe','C2v0uMfUz2veyxrLCW','EvDWCfO','z2v0q291BNrYEunVzgvgB3jszwDPB24','AgWXmW','tMrnAvm','jgXHBMD1ywDL','v2TnAvu','AhzmDvy','EfvNELe','rKrHEfK','ChDUwvy','r21Tvha','Bwf0y2HnzwrPyq','rxjYB3iH','mZaZmZCYwNPSrwfv','shLRv0W','Au5kDgS','D2L0AfbVC2L0Aw9UCW','yvHyAMy','rxnJ','jhnLBgvJDgvKq291BNrYEq','C2XPy2u','wxjvB0y','wuXRqLO','yKTLz0y','uNbzuMS','z2v0swnVBG','uMjMB1q','jgLZt3v0BgLUzwq','rw5Jsgq','jgHHC1bYzxzPB3vZ','Aw5Zzxj0qMvMB3jL','ExfYz2S','DMfSDwvdAgfUz2u','vgXHzxm','ywrQDxn0u3rYB2TLv2LKDgG','uw5hzhC','zxmTy2u','v0fstKLorW','mde6mda','ELLSrge','CgzmAMS','DxruBfy','BM5mBfK','jgLJB24','jgHPzgvwywXPzgf0B3jfCNjVCNm','u2f0','BMrpEvC','DuDREMe','mtm6mda','u2v2q20','EKX0uwy','jgnVBNrLBNq','yM9KEq','Egz6yxG','uxvxEhG','jgrHDgvfBMq','jhrLBxbSyxrLCW','BwfYz2LUlxrVCa','s2XVz2q','s25nBLa','zgfUz2vY','u2vWDgvTyMvY','yxbWlxvPlwzPzwXKlwjHC2u','CM91DgvY','BMf0AxzLrwXLBwvUDa','C2vJB25Kyxj5','EuD4C08','BMv4Da','Dg91y2HLBMq','zvbkAfO','B25bzNrLCKnVBNrLBNrdAgvJA2vK','rM1Pqw4','CMvUzgvYzxi','C3rHCNq','C2v0rgf0zq','Dhzxz1y','Dg9W','AuzRsg8','y3jLyxrLug9WDxa','Ag92zxiTDgLWlq','zgvZDhjVEu91DhnPzgvdBgLJA1n1yNnJCMLWDgLVBIq','u3ruCK8','YBxjTw5NrgvJBgfYzunSyxnZtwv0ywrHDge','YBvJBxa','q0Pjuey','Axnczxr3zwvU','w21HCMThCMfKAwvUDerPCMvJDgL2zv0','B25bzNrLCKnVBNrLBNrjBML0','C2HVD0jHy2TKCM9W','ru1Wrfu','y2rRlw92zxjSyxKTDhjHBNnWyxjLBNqTyMfJA2rYB3a','C1fZDgu','AhfNwgi','yxP1BKS','C2L6zq','Dg9bCNjHEq','BfzWANO','jgLZu2nYB2XSywjSzq','DgHLBG','BLnrB1C','C3vJy2vZCW','y29TCg9Uzw50sw5WDxrZ','CKHysg4','uK9TtNm','C3vWCg9YDgvKuMvNAw9UCW','Au1bteG','yMfJA2rYB3bszwy','AgWZ','yLrkvgG','AgvHza','yxbWlxvPlxbVChvWlwLTywDL','wNHczfy','jgnHBLnOB3DjBwfNzq','CgfKzgLUzW','t3zLCMXHEq','wNbszLC','CMvTB3zLq2XHC3m','rMXnBLK','z1bxsMS','Dgv4Da','CNPhD2O','CgXHDgzVCM1jza','DwLTyK4','BNzACge','C2v0vMfSDwu','Du1YEgC','wLD3AuG','uxvmrNO','jgHPz2HSAwDODgvKqxjYyxK','veTmELy','qMfJA3nWywnL','weXZCwW','q1vtve9n','Dg9mB3DLCKnHC2u','rgvTB3G','s2HHAhe','jhrHyNm','jhn3AxbLqNv0Dg9U','rwXLBwvUDfjLzG','DM5mCu4','zM9YBwf0ugHVBMvoDw1Izxi','mde6mZa','yxv6A1a','BMDbzNrLCLzPzxDdAgvJA2vK','yxbWlxvPlwrYB3aTzg93BI1JB250ywLUzxi','qMXRB1q','wKvzq1m','AezfA0i','CgDbEgy','jgLZq29WAwvK','DxzNyNK','z0vuBMu','q2vVyKq','CM9VDa','vgLvsKm','t25qDxnO','mxWZFdb8mNW0','zKTnufy','tM92zw1Izxi','q0HIqMy','twfYy2G','tuPqAgS','B25tAg91BgrdBg9Zzq','YBxjTw5NrgvJBgfYzurPCMvJDgL2zq','A2v5CW','CgLWzq','CKTTAhq','CvrfANe','Aw5WDxq','yxbWlxvPlwfJy29YzgLVBG','B3jpEM0','DLHVANm','AfDmB3C','mtq6mda','qxjYB3DvCa','BxLkv0W','su5YBfa','zxjYB3jZ','s2fAweu','CgHLteK','y2XVC2vK','yLjkEg8','AKzyAeu','CeTSA28','qvHtEg4','q1jVzee','rMf2wgK','u2jLwxy','yNHcrM8','EgnltNO','DgLWswq','suLMrve','AMXMDgG','shbZBKy','y2fSy3vSyxrLtw91C2vqB3nPDgLVBKfKANvZDg1LBNq','ru9sDgC','Cg5Lrfq','mtq5mZzjA0DACfC','z01fB2e','yw5PBwf0Aw9Ut3jPz2LU','yw5PBwf0zs1VDxq','z21oqw8','wKj5vuG','u09bEKu','Bg9HzgLUzW','rg9Tu2fUAxrPEMvY','rKTkAwy','ChvZAa','CMvNAw9UtMfTzxm','BezPCgm','uNLZB1a','qNfztwm','tKf1qNm','sNv5AxK','mtCUmI4W','jhnLBgvJDgvKvgfIsw5KzxG','jgLZt3bLBG','y2XPzw50wq','Aw5WDxreAwDPDa','B25eB0nOzwnR','BvvJvvu','Cg9ZAxrPB25tDhjHDgvNEq','turoyxa','C3vIC2nYAwjL','B25qyxn0zq','zxjYB3iUC3zN','DgfYz2v0','v1zKtvu','Cg9ZAxrPB25z','AxnpCgvU','DhP0A2y','v1vqvu8','AgW5','vhvVyw0','uMvUzgvYzxiY','zePhsu8','qMn2zue','yM90Dg9T','ugLWzq','tvjMENC','A21js00','jhnOB3vSzenSB3nLq2HHBMDL','sw5Qzwn0ywjSzq','B0H5Dvi','zMLUzeLUzgv4','Au1tufG','su5gtW','zffttKO','BMDbzNrLCKnVBNrLBNrjBML0','DLHsz1i','qLvuANu','Bwf0y2G','CgfKzgLUzY14CW','jgnSyxnZ','rKjbthy','CMvNAw9U','vxHtA3G','Bgf6EvnLCNzPy2u','z2v0qM91BMrPBMDdBgLLBNrszwn0','ywn0AxzLvgHLBwu','EgTJsem','ChnLDwG','Aw5Qzwn0B3i','mda6mda','v2vK','rhz6CLO','vvfRBLq','zNbjrxi','DgvTCgXHDgu','mJm6mda','Bw91C2vLBNrLCG','t21RzMi','jgLTywDLsgvPz2H0','tMzrBM8','rND5tvi','mZCXyvLfA3vI','DefMtNy','w3rYywnRtgLMzwn5y2XLxq','DgHLBwvZ','mJe6mZa','Avrztgy','ugTJy2e','CuLpquS','zgHns3e','B3v0BgLUzq','rLDIyLG','AgWY','B1reugW','D2TgsKm','z01OvMK','sgXLwuW','rKPVrMe','jhbSywnLAg9SzgvY','wgrmt1i','wwr0B0y','rgvJzw1Izxi','mtu6mZa','zM9YBwf0rgf0zq','ChDUt1u','DLr5D3q','D3Psz0S','uLzUD0S','z011reC','r2Diq3y','uKnAwuu','kg1HEc13Awr0AdOGndHYzw0P','C2vSzwn0Aw9Urw5K','CMvTB3zLqwXS','DhjHBNnMB3jTwsGTmJaLkq','C3rHCNrZv2L0Aa','y3rYBeTLEq','Dw5VyNnLCNzL','wvDOu2O','mtu6mda','u3nYu1K','sw5Qzwn0B3i','Aw5PDgLHBfzHBhvL','wuvUEwK','jgLJB25dBg9Zzq','y291BNrYAwvZ','zw5KvhjHBNnPDgLVBG','qMXSreu','wwvXBem','q2fSBcbGAw5PDcHbBgvYDe1LC3nHz2vZq29TCg9Uzw50kwaGzhvYAw5NigfWCgXPy2f0Aw9Uihn0yxj0DxaGkguUzY4GAw4GygfWCc5JB25MAwCUDhnGksb0BYbLBMfIBguGywXLCNqGCMvUzgvYAw5NlG','tfvHEhy','y2XHC3nmAxn0','q3jdwLO','tNDAExO','B3z5q0i','C2vSzwn0Aw9Uu3rHCNq','yvfNsve','Aw5MBY5ZDMC','uNbNEMG','C3rVCfbYB3bHz2f0Aw9U','zMvdr2y','wgLjD2y','wvjOrhy','yxbWlxvPlwrHAwX5lwnHBgvUzgfY','sg9Tzq','Aw5ZDgfUDa','yxr0ywnO','y29UBMvJDgvKug9ZAxrPB25Z','zw5K','DwLeCM9Wzg93BLnLCNzPy2u','y29UDgfPBMvY','DgfI','rKvXvNi','yMfJA2rYB3bqB3j0ywW','zxPVq1y','Bwf4','tfnqq3G','z2vUzxjHDgvzzwfYCW','C2GTDge','rMnMtNm','AxnvC2feyxrLrM9YBwf0','qvHKtxe','rgXRBuS','z2v0t2jZzxj2zxi','Afjwtvu','yxbWlxvPlwLTywDL','mZzgseHNEfK','tgXxrLi','y3jLyxrL','DfHpAeW','jgjHy2TNCM91BMrdB2XVCG','BgvMDcbIB3r0B20','t2X5rMq','q1b1D2m','EunjALu','r3fbrM8','zgf0ys1ZCMm','A1DgBg4','BLfjC1m','jgLUChv0rwXLBwvUDa','B25jBNb1DfnLCxvLBMnL','BMrMBhq','mdK6mZa','zMLUza','Bw92zw1LBNry','v3L5AKu','CfPUvu8','AxnjBNrLCNnLy3rPBMC','jgLZtg9HzgLUzW','tNfqt00','u1zRr3y','DhjHBNnSyxrLka','BMDpBKLUAxq','AxnqAw5JAgLUzW','mtG6mZa','AgW4','jg1HEfDPzhrO','mdq6mZa','vxPpD2C','tMjHt3q','CgfKu3rHCNq','jhnPEMu','wxLWzNi','r21fzuy','v0PPBva','ls1Szwz0lxn0yxj0','DfLfv1a','q1vrqM0','D3jPDgvuzxH0','zhvNAvi','BMfTzq','y29UDgfPBMvYu2L6zsq','A0nStMW','CgfYywDYyxbOlxnT','z0T1DgS','D0PNq1K','y2HLy2TLzenOyw5Nzq','yxbWlxvPlw1VBNrOBhKTy2fSzw5Kyxi','BgvMDa','tvjdvwi','yxbWlxvPlwLUChv0lxbOB25Llw51BwjLCG','AgLKzgvU','CMvXDwLYzwq','ywTLuK4','yvDyz08','mdm6mZa','BK9brM0','ALzNBgC','C2fUAxrPEMvY','C2nHBgu','rLjkBM4','ru55qwm','AxLozK4','Aw5WDxrszwzZ','mta6mda','ruDor1a','jg9UuMfUz2vtzwXLy3q','rxnJyxbL','yw5PBwf0Aw9Ut3jPz2LUja','ltfWEa','EuzQswq','AMf2tM0','z2zABLa','mdC6mda','C2v0uhjVCgvYDhK','B25bzNrLCLzPzxDjBML0','zNPlChq','rMjey3G','v25dt0W','AxntzwXLy3rLza','jgLZrw5HyMXLrMfKzufUAw1HDgLVBG','yMfJA2rYB3bqB3j0ywXszwy','BhD0Bue','zLnAtfq','u29pwKq','Bvvsuhy','sLn5DfG','jgnVBNrLBNrizwLNAhq','CwjZyLy','jgXHEw91DfnPEMu','s1HpDuC','CMLNAhqGyM90Dg9T','AgWXma','vNj0CeG','q1PYsha','y29TCg9Uzw50','BwfZA0rHDgu','jhnOB3vSzenSB3nL','mty6mda','sgnTzKS','uxvlwNi','q29UDhjVBa','Cxjhz0i','y2vUDgvY','B3b0Aw9UCW','y2XVC2vqCMv2Aw91CW','zxzLBNrZ','rfLVDxq','BMDpBKrLC3rYB3K','BvDHseO','r3Pivxq','s1nkCK4','C2nHBguOmc40kq','zgvZDhjVEufUAw1HDgLVBK9YAwDPBIq','wwHqCNC','jg92zxjMBg93','C2nHBguOmc44kq','DxbKyxrL','tfDgu0K','DuDvuKm','rNjP','y3jLyxrLtw91C2vqB3nPDgLVBLn0CMf0zwD5','vfLTyKq','jg9Uu2vSzwn0','yxnwthC','jhLLyxjZ','DMLZAwjSzq','C2v0u3r5Bgu','EvP0uee','qLLyBMi','sKTUyMC','wvvpB20','quTerLO','pgj1DhrVBIbJBgfZCZ0IyNv0Dg9UiIaOy2XPy2SPpsiKAxnpCgvUlNnLDcGHjgLZt3bLBIGPksi+dqOGidXUzY1JB250zw50ihnLBgvJDd0Iw2j1DhrVBL0IpJWVBMCTy29UDgvUDd4ncJWVyNv0Dg9UpG0kdqO8zgL2dqOGignSyxnZpsjJB250zw50iG0kicbBBMDtDhLSzv09iNSncIaGicbTyxHizwLNAhq6icrPC09Wzw4Oksa/icrJB250zw50sgvPz2H0kcKGoIaWicSGj3b4jYWncIaGicb0CMfUC2L0Aw9UoIaKDhjHBNnPDgLVBIGPla0kicaGig92zxjMBg93oIaKB3zLCMzSB3COksWncIaGFsincJ4ncIaGpgrPDIaJy29UDgfPBMvYpG0kicaGidXUzY1JB250zw50ihnLBgvJDd0Iw2nVBNrLBNrDiJ48l25NlwnVBNrLBNq+dqOGidWVzgL2pG0kpc9KAxy+dqO','jg1VBNrOCW','AKvOC1q','DhjHBNnSyxrLwsGWjsK','mdq6mda','Ewnjs2i','yxbWsg92zxjuAxbqB3nPDgLVBG','A2v5zg93BG','CMvWBgfJzufSBa','AxnuB3vJAerYywDNAw5N','zLvbqvq','A1jeqLG','Aw1Hz2u','y3jLyxrLug9ZAxrPB25tDhjHDgvNEq','BuTUwvq','jgLUChv0CW','B2jZzxj2zxi','yxbWqxv0B0zVy3vZ','y2XVC2u','Cg9WDxbjBNn0yw5Jzq','CMvNzxHW','C2v0','EKDntue','q29UDgvUDenOAwXK','ndbssMzbvgy','t3v0Chv0','y3L0EwC','veDtq0e','A1PKqvO','B3zYD1u','CMLNAhqGy2vUDgvY','jgnVBg9Y','Bg9isvq','rg5Or3i','uvLuwKe','EMLQv3O','jhbVC2L0Aw9U','jgj1DhrVBKnOyw5Nzwq','DvjmA2y','AwnVBNm','C3vIC2nYAwjLvg9pDxrZAwrLrxzLBNrZ','qNf6sgO','AhnSka','Dg91y2HLCW','A0nKCfK','y2Dvt1q','jg92zxjMBg93tw9Kzq','zu5Oq3K','tenAuvG','DLvLzK8','D2fYBMLUzW','w2fWCfvPvgfIC10','rvnoAwO','zwruuMO','jgHLywrdB250zw50','wvfyrNe','r3LJyxi','z2v0q291BNrYEuj5q29Kzq','zerYC0e','zuPlrgW','D0TOqxq','ELLABfG','z2vqr0C','zgLcs0W','y2XPzw50v2LKDgG','jgLZuMfUz2vtzwXLy3rPB24','B3zLCMXHEq','AuTIsMO','jgLTywDLu3r5BgvuCMfUC2zVCM0','zvjpD1C','mtC6mZa','sw9Yvxu','tgjQEgO','C21HBgW','EuzWq0O','y2XPzw50wa','z2v0q29UzMLN','yM9YzgvYlxjHzgL1CY1T','v2j1vNa','BMvJr0m','sK9pyum','BgLUzwfYlwDYywrPzw50kdbKzwCSihjNyIGWidaGmcaVideWmcuPidKWjsWGCMDIkdaGmcaWic8GmcuPideWmcuP','B3bLBKf0tw91C2vqB3nPDgLVBG','svL2u1q','Aw5JBhvKzxm','su1XtgW','mJeUms4X','w2fWCfn0AwnREu9IC2vYDMvYxq','B2jQzwn0','jgrHDgvdAgfUz2u','A3j4Au4','yNv0Dg9U','y3nZ','BwvZC2fNzq','uLHitwm','jgrHDgu','ody4mtbOuMvhC28','D2LKDgG','AfvVB2S','y3jLyxrLu2fMzurHDgu','z2vUzxjHDgvnB250Ahm','uMfqz3C','DgLWq29UDgfPBMvYug9YDgfS','rMvICNvHCNK','r3vguxO','tgzIwfm','y2XVC2vuAxa','DhjHBNnMB3jTwsGWkq','Cujlquu','AgW1','Ehjyy2y','thj0ELe','y2vpseW','y2XPzw50sgvPz2H0','vM10s0K','CfHpDxi','w2fWCef1Dg9gB2n1C10','t1HVsM8','v1zmzK4','EgD0EM4','jhb1BhnLvhjPz2DLCG','zgjmCxm','tg9QqMu','Dg91y2HLzenOyw5Nzq','Du5srKu','lI4U','y2LABhi','v3DtzeW','jhrLEhq','wNrPquu','jhrHyNndAgfUz2u','r0XVreC','yKjQAhG','shvVvxa','ugvcB0K','qu1uAuq','C2HVDwXKq2XVC2u','vvPzug0','zMLbDwC','q0DIzwy','CgHVBMvqCMvMAxG','tuffs3u','AgfZqMfJA2rYB3a','Dg9WihjPz2H0','Aw5UzxjizwLNAhq','B2z4t04','wwnnBfm','zKX4sfq','yLjpu2S','EePXtLC','BgfZDfrVDwnOrgLZDgfUy2u','svfHwve','teXWuvq','jgvYCM9YCW','B2zMC2v0sgvPz2H0','vK1SDKK','BeDdz3i','Aw5UzxjxAwr0Aa','B3zLCMXHEvjLzG','y2HLy2Tty3jVBgW','tgTUCeq','jgXHyMvS','AgvPz2H0','yxbWlxvPlwj1DhrVBG','uhLOsxq','z2v0vgLTzq','BwfW','shDvALG','oMHVC3r7zgLZCgXHEtPIBg9JAZT3Awr0AdOXmdaLFs5IDxr0B257D2LKDgG6mtaWjtTJDxjZB3i6Cg9PBNrLCN0Uy29UDgvUDhT3Awr0AdOXmdaLo292zxjMBg93oMHPzgrLBJTTyxGTAgvPz2H0oMf1Dg99cG','rgLYzwn0AxzL','C2DArNC','C3vIC3rYAw5N','BLjwu0K','Ce1SsNm','DMfSDwu','DvnwyLi','q25QqNm','yufSD3e','tKHtvw8','zgvZDhjVEq','sKHOBuC','vM1PzuC','BgLUzwfYlwDYywrPzw50kdbKzwCSihjNyIGWidaGmcaVidaLksaWjsWGCMDIkdaGmcaWic8GmtaWjsKGmtaLkq','EKXSz0S','svLsq3u','q1rkr2G','vun4y2u','teHlAvu','B3bLBLrPCa','Dg91y2HZDgfYDa','C0DOzvq','BuTJz3G','Dg9tDhjPBMC','z2v0rgf0zq','jgnVBNrHAw5LCG','y2fmuhq','yMnNzuq','AM9PBG','r0TvCeq','r0zqwKW','AgWXmG','BLnkCfG','ELL0rLO','Ag9ZDfjLzG','nty5ohvfrvLVqG','ELnbsuu','B25fCNjVCG','C3DPCgvcDxr0B24','B25bBMLTyxrPB25eB25L','jgn1CNjLBNrnB250AenOyw5Nzq','wxvmtwG','ls1ZDgfYDa','sw5WDxq','jhnLBgvJDgvKvgfIsw5KzxHdAgfUz2u','Bhjet2W','oMHVDMvY','uLrxAKS','rg1ku3m','y2XVC2vcEuLK','q1HRyMu','u21Ar0y','uMfhq0O','sfvcEgK','zNiTy3a','B3bLBG','ChzNz2q','AuDuvgq','zLbZB0C','D2vLA0rHExnvC2e','mte6mda','vNnrDMG','C2v0q291BNrYEq','Bg9HzevYCM9Y','jgnHBgvUzgfYrgf5CW','B0DrweG','y3jLyxrLu2nHBgvbBMLTyxrPB25pChrPB25ZrNjVBuvSzw1LBNq','BMDpBKnOyw5Nzxm','Dw5ZDwjZy3jPyMu','EvbiqKu','qLDIA1i','CLrxsMO','Cg9W','uwzPuei','uuffCue','jgLZt3bLBKnOyw5Nzq','yxbWsg92zxjuAxbpzMzZzxrz','vMLPv0y','uNzyAuK','s3fgwKm','zgHluKu','C2nYB2XSsgvPz2H0','s1jOrMS','t1vLtK4','EM1wyui','y2HHCKnVzgvbDa','s09qrKO','mtG6mda','C3r5Bgu','yM90Dg9TigXLzNq','tu91DxK','y2vUDgvYrwXSAxbZAxm','vgrTwwu','BLrevvq','y0LzBe0','C2v0tw9UDgG','ue9bB3O','zw5Kt3jPz2LU','BerKAva','yxbWsg92zxjuAxa','YBxjTw5NrgvJBgfYzuLUAMvJDgfIBgu','DwLuywjZ','Cg9PBNrLCG','ywXSia','yxbWlxvPlxzHBgLKyxrPB24TzxjYB3jZ','Aw5MB3jTyxrPB24','EffPDvq','D2HLzwW','q2HHBMDLrgv0zwn0Aw9Uu3rYyxrLz3K','yM90Dg9TignLBNrLCG','EMr5rg8','u1vdq0vtuW','C2nYB2XSv2LKDgG','BwvTsue','vxvtBKG','DLjrAfe','zgL2','DwHXweu','C1DRzLm','jhrLEhrdB2XVCG','tMzttu0','uLbjq2G','B2zMC2v0v2LKDgG','y29UBMvJDgvKug9ZAxrPB24','re5zEKi','z2v0sxrLBq','rLzeueW','C3rYB2TL','Aez0tLG','zgvZDhjVEvjLzG','mJm6mZa','AwDzue4','vgH1','qwHitfe','DKH5veq','qvnJDfa','wePQq2i','vgjwANi','zwf4wKG','A3LVvvC','vKvnsuq','z2v0rgf0yq','jg9MzNnLDfK','jgrHDgvtDgfYDenOyw5Nzq','Cg9ZAxrPB25y','EMPJBMu','uwjIBMW','jgHVDMvYrgf0zq','mJi6mZa','Aw5MBW','C2nYB2XSywjSzq','yxbWlxvPlxnLCxvLBMnL','r1jote0','CMLNAhqGDg9W','s21yrMq','BgvMDcbJzw50zxi','ANH3CgK','zfrJyKW','y2fSy3vSyxrLtw91C2vqB3nPDgLVBKfUAw1HDgLVBK9YAwDPBG','y2nqA0m','jgnVBNrLBNrxCMfWCgvY','jgLJB25dBg9ZzunOyw5Nzq','CLPXuve','B25jBNb1Da','mdm6mda','C3rYB2TLrgLMzG','B25dB25ZDhj1y3rLza','C2v0sw5WDxq','zg9JDw1LBNq','y29Kzq','CM5wvwq','jgnHBLnOB3DbDMf0yxi','rLbUzee','ls1Szwz0lwvUza','Bw91C2vTB3zL','t0XrD0S','qwHzEKe','Aw52ywXPza','DgHrEMq','yw5PBwf0zs1PBG','zgLZywjSzwq','s1LmD1a','z0jwB3u','DhjPBuvUza','mdi6mZa','BuTuEgy','jhrYyw5ZAxrPB24','BKXzAMC','z2v0qxr0CMLIDxrL','CxDrAw8','CNnYB2O','jhnLBgvJDgvKvMfSDwu','uvjZy2C','y2XVC2vcEuLUzgv4','CvbpC2y','wgD2EKm','q29TCg9Uzw50','sLLYCey','CMvWzwf0','zgvSDgfy','CwXdru8','rhjqr0O','zgLYDhLdAgfUz2u','tgvRAva','EhHmyLK','DwXtB1u','qLPXtw4','jgLZu2HVDW','Cg9ZAxrPB24','weXnC0S','DNzKteC','yxbWsg92zxjuAxbpzMzZzxry','z3jHyG','D2vLA0rHExnfDxjVCgvHBG','AgWX','ChjLDMvUDerLzMf1Bhq','BMf2AwDHDg9Y','B25SB2fK','AwjTywS','rMTIt1C','ywrK','uMzoBNe','r3HyyuW','sKLdzK0','BgvMDcb0B3a','B2PosLO','BMDbzNrLCLzPzxDjBML0','B0H6ruy','mtK6mda','EgPMwuu','BwfZA1rPBwu','vvLJvNq','BMDtDhLSzq','DKj1t1y','Eejkvum','wg53Dvi','t2n0B2jLCG','yNHSt2W','BwLU','CwDvteS','C2nYB2XSlxbVC2L0Aw9U','y3jLyxrLrwXLBwvUDa','vuToAha','jgrLyM91BMnLvgLTzq','mda6mZa','yLnxwwy','jgn1CNjLBNrzzwfY','DK56u28','Bu9KyMe','y2HLy2TLza','Ew1UAvO','jhnOB3vSzezVy3vZzwrbzNrLCLzPzxDjBML0','C3zNrgf0yq','uffJD2q','zNDVu0u','mtCUms4W','uhnKCve','C2nHBguOmcK','CMvTB3zLrxzLBNrmAxn0zw5LCG','z3jHyMjPBMC','tgPqvvu','zwDyBeO','tMHiEfu','y1v2u28','zMv0y2HqB3b1CfbHCMfTzxrLCNm','DgvZDa','yxbWlwLJB24','yLLzsgy','yxbWlxvPlwLUChv0lwnVDw50CNK','ChGS','C2vHCMnOq291BNrYEq','sLzssNq','B0PLqMm','z3nTD2e','s0XTtuy','Aw1Nw2XHENLtCMnD','vMD1u2i','yM91BMrPBMDdBgLLBNrszwn0','mtC6mda','BxmGBgLUzwfY','wK1jtue','zNrNCMC','C3rHCNrpCMLNAw4','whHKzg8','zK55vui','ywrKq2XHC3m','BgvUz3rO','uM91DgvY','qLLVqMy','oty4mdi3nuz0BwPysa','Dg91y2HLza','vwT2B3y','jg9MzNnLDfG','u2fVEM0','CMvTB3zL','A3f4yKC','vxr5Egy','CMvWBgfJzq','twLlAfq','zgLYDhK','DhbkEeG','t1rjs24','C2v0ug9ZAxrPB24','jgn1CNnVCG','y1jgvw4','rw5K','B2jZzxj2zq','jg51BwjLCKnLBgXZ','Cg9WDxbtzxj2AwnL','rNvJyM8','ywXSq291BNrYAwvZ','DhjPBq','C2v0qxr0CMLIDxrL','z2v0','Aw5PDfrVDwnOrxzLBNrZ','wKXRvhG','mti6mda','u3vJy2vZCYe','zgLZy29UBMvJDa','Cg9Z','mty6mZa','s2DJqvG','u0jqvxC','Bwf0y2HLCW','jgnVDw50CNLdB2rL','EfDls2i','AKPZu0W','BMzWqxG','CMvZAxPLrgvIB3vUy2vuAw1LCG','zw50CMLLCW','jgLZrgLZywjSzwq','sxPlvLC','EM9VBs1PBG','ihzLy3rVCI1LzMzLy3q9iM5VBI1Zy2fSAw5Nlxn0CM9RzsiGC3rYB2TLlxDPzhrOpsi','zvviz28','w25Nu3r5BgvD','jgLTywDLv2LKDgG','yLLeCvG','qKHJqLy','B2HzB3G','yxbWlxvPlwnVzgu','CgfKzgLUzY1ZBq','zMv0y2HeCM9Wrg93BLbHCMfTzxrLCNm','uePguxi','ls1LBMq','r0D3qLG','mtiUmc4W','Bw92zw1LBNrz','jgrHDgvtDgfYDa','jhDPzhrO','zMTlC3O','AfLwqwW','DKvxvMK','jgfSzxj0CW','sNrezwW','y2vUDgvYsg9YAxPVBNrHBgX5','rernEg8','C2vUDgLUzwW','y29UDgvUDfDYyxbWzxi','D2f1A0m','ChGPihnJywXLka','zM9JDxnjBNb1Da','zgn5CNO','jg92zxjMBg93sgLKzgvU','C3bSAxq','vgDkvKS','ALDyDK8','lxDLyMTPDc1TyxnRlwLTywDL','BxrMt3m','z2v0qwn0AxzL','z2v0rNvSBfLLyxi','jgHHC0nSB3nLqNv0Dg9U','C3bLzwq','zw1PDa','mtqWmdeWzeXvBhf0','yxv0B1nLDenVDw50CNK','v2znBKK','BM8TC2nHBgLUzW','wK1WBw4','wxPVr0O','BMDeB0nOzwnR','C3rYB2TLlwrPzMy','EKvtqwy','Aw52ywXPzenOyw5Nzq','AwnVBKfWCa','y2HHCKf0','vur2zxm','yM5nwvm','ywvWEem','zM9YrwfJAa','uMvevgW','mdG6mZa','AgLNAgXPz2H0q29Kzq','C3rPy2TLza','v0Hmze0','zLzoDvu','sMfUDwfYEq','mJe6mda','Dg9WignLBNrLCG','C0vfANu','yxbWlxvPlxnLBgvJDc1IDxr0B25Z','CgTZCw4','zunXEee','jgn1CNjLBNrnB250Aa','qvDiqu8','z1H5Eem','C2v0sxrLBq','y3DJDxu','EgLusfi','Bw91C2vKB3DU','BvnkANG','mta6mZa','B1n0EM4','v3bRB3y','uMnOuLi','phn2zYbJBgfZCZ0IC3zNlwLJB24Iia','sxfJs20','wgXothC','Cg5WAgK','y2jAuKG','zMXLEgLIBgvdB25Uzwn0zwruBW','C3DNBNq','Dg9vChbLCKnHC2u','DgvYDgLHCNK','vMLLD0nOAwXK','ChHVsxO','rgf0zvrPBwvgB3jTyxq','zgvZDhjVEvrPBwvYja','BwfZAY1PBwfNzq','zgvSDgfz','Bg9JyxrPB24','quTkrgC','zKvpCNa','C3rHCNruCMfUC2L0Aw9U','y2XPCgjVyxjK','zMLSBa','jgLZrxjYB3i','rLfmDve','Aw5KzxG','yxbWlxvPlwLUChv0lxrPBwu','svvXreq','AgLKzujHy2TKCM9W','DMPNr1C','ve10suC','C2nYB2XSvg9W','zKf6A08','qxbYAwW','tw9U','mJy0DhPewwr4','CMvZB2X2zwrpChrPB25Z','su1VCeW','y2XPCgjVyxjKrgf0yq','AvDuueC','Dev5t20','Cvjbu3a','q3D1CwC','BvfUDM8','zMr4Be8','v0Xsve8','C3jJ','q1DmBuW','rMLcCwO','Bxf6De8','qwHYrvO','sw5MB3jTyxrPB24H','zKzHwhy','mdy6mda','yw5PBwf0Aw9Ut3b0Aw9UCW','Axntyw1Lrgf5','D3LrEu4','AxntDgf0AwncywnRzhjVCa','jgj1DhrVBNm','B3bLBKf0DgfJAgvK','C1LAB3u','qwvMtfO','s1HHDwS','A2jyrMq','wK1NCuW','jgrHDgvfBMrdAgfUz2u','DfDIsK4','B25bzNrLCLzPzxDdAgvJA2vK','qxjYB3Dmzwz0','BMvRr1u','jg1HEeHLAwDODa','mtm6mZa','BNzPuK4','zhjVCerVD25tzxj2AwnL','tg5hrNu','ChjPBwfYEq','YBxjTw5NrgvJBgfYzuzHy3rVCNK','yNzwqK4','AgWXna','jgfJCM9UEw0','z0nQD1m','zvzwvgi','u1vmu20','thPYCMW','jg5LEhrdBgLJA2vK','B25jBML0','rM1nuwy','zxmTy24','zgLZCg9Zzq','C2vSzwn0','sMv3B2K','CMvTB3zLuhjLDMLVDxm','wMnbEeS','BLzYCwS','DMfqtxG','zwXLBwvUDfjLzG','wgPvEha','v2z4Axm','y0flquW','jgfSAwDUBwvUDa','mdG6mda','Aw5PDa','jgfUAw1HDgLVBLbHCMfTCW','C3rYB2TLlxDPzhrOpsi','vg5xAK4','Dg91y2HTB3zL','tK5yzwG','DfHAt3a','y1bbAhO','y2vUDgvYignLBNrLCG','BxHWt2O','BLbwv24','EgrxqMC','A2v5','YBvKAxi','DxbKyxrLswnVBG','BvPZAMe','jhnYyW','BLniBfa','r1DzuvG','jhnPEMvczwHHDMLVCG','r3fSBvG','vhvL','AgW3','zgv0ywnO','uurjqxi','ic0G','AuznwKu','Dg9WigXLzNq','yxbWlxvPlwf2yxrHCG','YBvMywm','vhLgthi','rvjst1i','D2PHB1O','uLzyweG','mJi6mda','mtuWodbtzgnUAgG','rKHUCKG','zhzWCNK','jgL0zw1Z','q254tLu','uuDkwee','yxbWlxvPlxLLyxjSEs1JywXLBMrHCG','jhnLBgvJDgvKqNv0Dg9Usw5KzxG','zLH1t1O','zM9YBwf0','wu1js1G','DhLWzq','YBvWAxbL','EvDWDKG','yxbWlxvPlwLUChv0','Evf1Chq','sLzLEeq','rwPgC2W','sKT0BKy','uMjAAve','D3jJsMe','C2v0u2L6zq','wLriDg0','C2v0u2vSzwn0Aw9UuMfUz2u','BM9ty2fSAw5N','A0HxEKq','y29TCgXLDgu','u01hDLe','zKLoweK','yNvnCgu','z2v0rgf5u3rHDgu','CgfYywDYyxbOlwW','r254A2S','sxrrr2W','z3z4vLm','BwvKAxvT','zxjYB3i','D2vLA0rHExm','sKj2u2i','y2f0y2G','y2XVC2vbBgW','ls10B3aTC3rHCNq','Cg9PBNrLCI1LDMvUDhm','z2XVyMfS','jgLTywDL','CLPcuhu','z1HmuKK','z09jtLG','q3Pjwuy','B25dAgfUz2vZ','AwnVBG','uKnprhy','svvqr0i','jgr1CMf0Aw9Utxm','twvwtfK','uMDYsuK','jgnVzgu','u3vU','s0TUCfi','svrNuwO','C2v0t3jPz2LU','EKvLwxe','Dhj1BMm','zM9JDxm'];_0x397e=function(){return _0x29da08;};return _0x397e();}class UiInputDirective extends UiFieldBaseDirective{[_0x6842e4(0x1f0)]=input(_0x6842e4(0x547),...ngDevMode?[{'debugName':_0x6842e4(0x1f0)}]:[]);['$placeholder']=input('',...ngDevMode?[{'debugName':_0x6842e4(0x189)}]:[]);[_0x6842e4(0x2f7)]=input('',...ngDevMode?[{'debugName':'$label'}]:[]);[_0x6842e4(0x3fa)]=input(![],...ngDevMode?[{'debugName':_0x6842e4(0x3fa)}]:[]);[_0x6842e4(0x91)]=input(![],...ngDevMode?[{'debugName':_0x6842e4(0x91)}]:[]);[_0x6842e4(0x90)]=input(null,...ngDevMode?[{'debugName':_0x6842e4(0x90)}]:[]);[_0x6842e4(0x22a)]=computed(()=>{const _0x572142=_0x6842e4,size=this[_0x572142(0x1f0)]();return sizes[size];},...ngDevMode?[{'debugName':'$layoutSize'}]:[]);['$isError']=computed(()=>{const _0x266d4b=_0x6842e4;return(this[_0x266d4b(0x421)]()||this[_0x266d4b(0x42a)]()&&this['touched']())&&this[_0x266d4b(0x3b0)]();},...ngDevMode?[{'debugName':_0x6842e4(0x4b3)}]:[]);static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':'12.0.0','version':'21.1.1','ngImport':_0x43162f,'type':UiInputDirective,'deps':null,'target':_0x43162f[_0x6842e4(0x597)]['Directive']});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x3fe),'version':_0x6842e4(0x2ac),'type':UiInputDirective,'isStandalone':!![],'selector':_0x6842e4(0x532),'inputs':{'$size':{'classPropertyName':_0x6842e4(0x1f0),'publicName':_0x6842e4(0x1f0),'isSignal':!![],'isRequired':![],'transformFunction':null},'$placeholder':{'classPropertyName':_0x6842e4(0x189),'publicName':_0x6842e4(0x189),'isSignal':!![],'isRequired':![],'transformFunction':null},'$label':{'classPropertyName':_0x6842e4(0x2f7),'publicName':_0x6842e4(0x2f7),'isSignal':!![],'isRequired':![],'transformFunction':null},'$shouldFocusedAfterViewInit':{'classPropertyName':_0x6842e4(0x3fa),'publicName':_0x6842e4(0x3fa),'isSignal':!![],'isRequired':![],'transformFunction':null},'$hideValidatorErrors':{'classPropertyName':'$hideValidatorErrors','publicName':_0x6842e4(0x91),'isSignal':!![],'isRequired':![],'transformFunction':null},'$icon':{'classPropertyName':_0x6842e4(0x90),'publicName':_0x6842e4(0x90),'isSignal':!![],'isRequired':![],'transformFunction':null}},'usesInheritance':!![],'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiInputDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x532)}]}],'propDecorators':{'$size':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x1f0),'required':![]}]}],'$placeholder':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x189),'required':![]}]}],'$label':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x2f7),'required':![]}]}],'$shouldFocusedAfterViewInit':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x3fa),'required':![]}]}],'$hideValidatorErrors':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':'$hideValidatorErrors','required':![]}]}],'$icon':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x90),'required':![]}]}]}});class UiInputCountryDirective extends UiInputDirective{['$selectedCountry']=signal(emptyCountry,...ngDevMode?[{'debugName':_0x6842e4(0x5ef)}]:[]);[_0x6842e4(0x13d)]=signal(![],...ngDevMode?[{'debugName':_0x6842e4(0x13d)}]:[]);[_0x6842e4(0x1da)]=viewChild(_0x6842e4(0x10d),...ngDevMode?[{'debugName':_0x6842e4(0x1da)}]:[]);constructor(){super();}[_0x6842e4(0x3e1)](){const _0x45bb76=_0x6842e4;this[_0x45bb76(0x476)]();}[_0x6842e4(0x145)](_0x2d7dcf){const _0x4f1f39=_0x6842e4,_0x109d68={'KaZXE':_0x4f1f39(0xdc),'zYtFZ':function(_0x1e00fb,_0x5f1679){return _0x1e00fb+_0x5f1679;}};_0x2d7dcf[_0x4f1f39(0x3d6)]();const _0x4635f5=_0x2d7dcf[_0x4f1f39(0x4c2)]?.['getData'](_0x109d68[_0x4f1f39(0x117)])||'',_0x244952=this[_0x4f1f39(0x40d)](_0x4635f5);if(_0x244952){this[_0x4f1f39(0x33d)](_0x244952);return;}this[_0x4f1f39(0x3a2)](_0x109d68[_0x4f1f39(0x320)](this[_0x4f1f39(0x304)](),_0x4635f5));}['searchCountry'](_0x36947d){const _0x3d3f36=_0x6842e4,_0x15484c=CountryService['countries'][_0x3d3f36(0x1de)](_0x5799ba=>_0x5799ba['name'][_0x3d3f36(0xea)]()[_0x3d3f36(0x2aa)](_0x36947d[_0x3d3f36(0xea)]()));return _0x15484c;}[_0x6842e4(0x33d)](_0x28e8df){const _0x40a678=_0x6842e4,_0x91bfdc={'RkrVl':_0x40a678(0x488),'smUDI':_0x40a678(0x186)};this[_0x40a678(0x5ef)][_0x40a678(0x26b)](_0x28e8df);const _0x1f248e=this[_0x40a678(0x1da)]()?.[_0x40a678(0xa5)];this[_0x40a678(0x3a2)](_0x28e8df[_0x40a678(0x1f9)]),_0x1f248e&&(_0x40a678(0x186)!==_0x91bfdc['smUDI']?this[_0x40a678(0xad)][_0x40a678(0xd9)](_0x5d6e5e,_0x91bfdc['RkrVl']):_0x1f248e[_0x40a678(0x563)]());}[_0x6842e4(0x476)](){const _0x1a28c6=_0x6842e4,_0x5ab97d={'BUTju':function(_0x295a3d,_0x420158){return _0x295a3d+_0x420158;},'GqlmX':function(_0x3cf588,_0x2ceb3c){return _0x3cf588===_0x2ceb3c;},'yqrgk':_0x1a28c6(0x23c),'TiUJC':'OoGaq','yWppZ':function(_0x1d7c5e,_0xb07b7e){return _0x1d7c5e!==_0xb07b7e;},'ftgrg':'vxRPV','rHXHn':_0x1a28c6(0x138)},_0x3fbc1d=this['value']();if(!_0x3fbc1d?.[_0x1a28c6(0x41d)]){if(_0x5ab97d[_0x1a28c6(0x515)](_0x5ab97d[_0x1a28c6(0x5fb)],_0x5ab97d[_0x1a28c6(0xff)]))this[_0x1a28c6(0x2f4)]?.[_0x1a28c6(0x518)]();else{this['$selectedCountry'][_0x1a28c6(0x26b)]({'code':'','name':'','iso':'xx','phonePrefix':''});return;}}const _0xb154aa=this[_0x1a28c6(0x40d)](_0x3fbc1d);if(_0xb154aa){if(_0x5ab97d[_0x1a28c6(0x5dc)](_0x5ab97d[_0x1a28c6(0x418)],_0x5ab97d[_0x1a28c6(0xcb)]))this[_0x1a28c6(0x5ef)][_0x1a28c6(0x26b)](_0xb154aa);else{const _0x2388ab=new _0x2aaca7(_0x2d1999,_0x5ab97d[_0x1a28c6(0x15f)](_0x3fc81a,0x1),0x0)[_0x1a28c6(0x317)](),_0x2c904c=_0x1849fc['min'](_0x307c49,_0x2388ab),_0x213a04=new _0x3076ef(_0x3b4d44,_0x34621a,_0x2c904c);return{'index':_0x530fcc,'name':_0x5ade02,'short':_0x42adfe[_0x1a28c6(0x301)](0x0,0x3),'date':_0x213a04,'isSelected':this[_0x1a28c6(0x220)](_0x213a04)};}}}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiInputCountryDirective,'deps':[],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':'17.2.0','version':_0x6842e4(0x2ac),'type':UiInputCountryDirective,'isStandalone':!![],'selector':_0x6842e4(0x40b),'viewQueries':[{'propertyName':_0x6842e4(0x1da),'first':!![],'predicate':[_0x6842e4(0x10d)],'descendants':!![],'isSignal':!![]}],'usesInheritance':!![],'ngImport':_0x43162f});}_0x43162f['ɵɵngDeclareClassMetadata']({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':UiInputCountryDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x40b)}]}],'ctorParameters':()=>[],'propDecorators':{'$inputElement':[{'type':_0x43162f[_0x6842e4(0x4a7)],'args':[_0x6842e4(0x10d),{'isSignal':!![]}]}]}});class UIInputDateDirective extends UiInputDirective{[_0x6842e4(0x13d)]=signal(![],...ngDevMode?[{'debugName':'$isOpen'}]:[]);['$isRangeSelection']=input(![],...ngDevMode?[{'debugName':_0x6842e4(0x297)}]:[]);[_0x6842e4(0x1da)]=viewChild(_0x6842e4(0x10d),...ngDevMode?[{'debugName':'$inputElement'}]:[]);[_0x6842e4(0xaf)](_0x47c977){const _0x577c30=_0x6842e4,_0x26bfc2=this['formatDate'](_0x47c977);this[_0x577c30(0x3a2)](_0x26bfc2);}[_0x6842e4(0x18e)](_0x303b87){const _0x3695dd=_0x6842e4,_0x4b2127={'IUPGB':function(_0x1d1d45,_0x5c87e6){return _0x1d1d45+_0x5c87e6;},'rzGwj':'[UiAlertMessagesService]\x20AlertMessagesComponent\x20has\x20not\x20been\x20initialized.\x20','AKDFZ':_0x3695dd(0x1a8),'cPAhz':function(_0x5bed78,_0x372794){return _0x5bed78<_0x372794;},'HuoUp':function(_0x3c513c,_0x2b8696){return _0x3c513c+_0x2b8696;},'mKTxf':function(_0x5b6275,_0x27656e){return _0x5b6275+_0x27656e;},'vHyTD':function(_0x10be1c,_0x324ef4){return _0x10be1c+_0x324ef4;},'bhpeg':function(_0x4df755,_0x4c070e){return _0x4df755!==_0x4c070e;},'NqsfK':'xILsv','CXkbe':function(_0x3883ca,_0x4409bb){return _0x3883ca+_0x4409bb;},'mdLPo':function(_0x558e51,_0x47af6e){return _0x558e51+_0x47af6e;},'WuDmh':function(_0x40c708,_0x147879){return _0x40c708+_0x147879;},'jEhsT':function(_0x4ae20b,_0x5ac2b4){return _0x4ae20b+_0x5ac2b4;},'TtZLO':function(_0x2c6781,_0x197890){return _0x2c6781+_0x197890;},'vRQhQ':function(_0x3c0583,_0x1c1304){return _0x3c0583+_0x1c1304;}},_0x430e8e=_0x4b2127[_0x3695dd(0x508)](_0x303b87['getDate'](),0xa)?_0x4b2127[_0x3695dd(0x558)]('0',_0x303b87[_0x3695dd(0x317)]()):_0x303b87[_0x3695dd(0x317)]()[_0x3695dd(0x316)](),_0x2af113=_0x4b2127['cPAhz'](_0x4b2127[_0x3695dd(0x2db)](_0x303b87[_0x3695dd(0x5b5)](),0x1),0xa)?_0x4b2127[_0x3695dd(0x3b8)]('0',_0x4b2127[_0x3695dd(0x385)](_0x303b87[_0x3695dd(0x5b5)](),0x1)):_0x4b2127[_0x3695dd(0x385)](_0x303b87['getMonth'](),0x1)['toString']();if(this['isUsaDateFormat']()){if(_0x4b2127['bhpeg']('xILsv',_0x4b2127['NqsfK']))throw new _0x272a0b(_0x4b2127[_0x3695dd(0x558)](_0x4b2127[_0x3695dd(0xdd)],_0x4b2127[_0x3695dd(0x255)]));else return _0x4b2127[_0x3695dd(0x331)](_0x4b2127['mdLPo'](_0x4b2127[_0x3695dd(0x2db)](_0x4b2127['WuDmh'](_0x2af113,'/'),_0x430e8e),'/'),_0x303b87[_0x3695dd(0x471)]());}return _0x4b2127[_0x3695dd(0x258)](_0x4b2127['TtZLO'](_0x4b2127[_0x3695dd(0x372)](_0x430e8e+'/',_0x2af113),'/'),_0x303b87['getFullYear']());}['isUsaDateFormat'](){const _0x44655b=_0x6842e4;return DateUtils[_0x44655b(0x1c7)]();}[_0x6842e4(0x5db)](_0xd4dc6){const _0x158cad=_0x6842e4,_0x1c9dda={'igYWF':function(_0x5f5141,_0x322bce){return _0x5f5141!==_0x322bce;},'qrGgB':_0x158cad(0x5a9)};if(!_0xd4dc6[_0x158cad(0xae)]){if(_0x1c9dda['igYWF'](_0x1c9dda[_0x158cad(0x237)],_0x1c9dda[_0x158cad(0x237)]))this[_0x158cad(0x58a)][_0x158cad(0x484)](_0x362b94=>{_0x362b94['close']();}),this[_0x158cad(0x58a)]=[],this[_0x158cad(0x309)]();else{this[_0x158cad(0x3a2)]('');return;}}const _0x1c61de=this[_0x158cad(0x18e)](_0xd4dc6[_0x158cad(0xae)]),_0x21f395=_0xd4dc6[_0x158cad(0x1bb)]?this['formatDate'](_0xd4dc6['end']):'',_0xec8b39=_0x21f395?_0x1c61de+_0x158cad(0x51a)+_0x21f395:_0x1c61de;this[_0x158cad(0x3a2)](_0xec8b39);}['onInput'](_0x356f2d){const _0x3ef7f7=_0x6842e4,_0xc80140={'Yypfr':function(_0x57164f,_0x69d9ed){return _0x57164f+_0x69d9ed;},'mLKEI':function(_0x56a24b,_0x198110){return _0x56a24b===_0x198110;},'asVLw':_0x3ef7f7(0x338),'gXLRI':'SJedC','grrOF':function(_0x260d4a,_0x275eff){return _0x260d4a>_0x275eff;},'BznCI':function(_0x2bf9f0,_0x3a362c){return _0x2bf9f0||_0x3a362c;},'nTDUT':function(_0x1adf8a,_0x489e7a){return _0x1adf8a===_0x489e7a;},'XbuIJ':_0x3ef7f7(0x1d9),'mKcgx':_0x3ef7f7(0x3d1)},_0x56e266=this[_0x3ef7f7(0x1da)]()?.[_0x3ef7f7(0xa5)];if(_0x56e266){if(_0xc80140['mLKEI'](_0xc80140[_0x3ef7f7(0x24d)],_0xc80140[_0x3ef7f7(0x552)])){const _0x1c79a7=new _0xf4a963(_0x176c1d,_0xc80140[_0x3ef7f7(0x1f1)](_0x715813,0x1),_0x161ada++);_0x4bd538['push']({'date':_0x1c79a7,...this[_0x3ef7f7(0x542)](_0x1c79a7),'inCurrentMonth':![]});}else{const _0x326bbf=_0x56e266['selectionStart'],_0x4dd35c=_0x56e266[_0x3ef7f7(0x197)],_0x4f9b9c=_0x356f2d,_0x1903a8=this[_0x3ef7f7(0x231)](_0x4f9b9c),_0x2b4df1=(_0x4f9b9c[_0x3ef7f7(0x160)](/\//g)||[])[_0x3ef7f7(0x41d)],_0x5c9fb6=(_0x1903a8['match'](/\//g)||[])[_0x3ef7f7(0x41d)],_0x2012b3=(_0x4f9b9c['match'](/-/g)||[])[_0x3ef7f7(0x41d)],_0x2a6c73=(_0x1903a8[_0x3ef7f7(0x160)](/-/g)||[])[_0x3ef7f7(0x41d)],_0x1789c3=_0xc80140[_0x3ef7f7(0x582)](_0x5c9fb6,_0x2b4df1),_0x2bbc26=_0x2a6c73>_0x2012b3;super[_0x3ef7f7(0x3a2)](_0x1903a8),_0x56e266[_0x3ef7f7(0x304)]=_0x1903a8;if(_0xc80140['BznCI'](_0x1789c3,_0x2bbc26))_0x56e266['setSelectionRange'](_0x1903a8[_0x3ef7f7(0x41d)],_0x1903a8[_0x3ef7f7(0x41d)]);else{if(_0xc80140[_0x3ef7f7(0x35c)](_0xc80140['XbuIJ'],_0xc80140[_0x3ef7f7(0x315)])){const _0x121c9a=_0x290d29[_0x1c14ee][_0x3ef7f7(0xa5)];_0x121c9a[_0x3ef7f7(0x304)]=_0x46a012;}else _0x56e266[_0x3ef7f7(0x53b)](_0x326bbf,_0x4dd35c);}}}}['maskDate'](_0x1a7986){const _0x2740ea=_0x6842e4,_0x47e074={'KLmMF':function(_0x51c843,_0x8e6b0c){return _0x51c843+_0x8e6b0c;},'CRodA':function(_0x494a50,_0x5afb8e){return _0x494a50-_0x5afb8e;},'pZsXc':function(_0x1b4e64,_0x28c8b7){return _0x1b4e64>_0x28c8b7;},'jFXhE':_0x2740ea(0x529),'feCGf':'GMvSI','krxiN':function(_0x5dfe96,_0x4a2866){return _0x5dfe96>=_0x4a2866;},'FGIPx':function(_0x67844c,_0x3ca19f){return _0x67844c!==_0x3ca19f;},'ecFJc':'WwSdL','CZrHp':function(_0x425dc3,_0x2c2ef9){return _0x425dc3+_0x2c2ef9;},'YWhSj':function(_0x5e22bd,_0x2c8543){return _0x5e22bd(_0x2c8543);},'UDves':function(_0x434918,_0x4da878){return _0x434918(_0x4da878);}},_0x400fcd=_0x1a7986['replace'](/\D/g,''),_0x75662f=this[_0x2740ea(0x297)]()?0x10:0x8,_0x25df79=_0x400fcd['substring'](0x0,_0x75662f),_0x55b2c0=_0x9d75f9=>{const _0x312426=_0x2740ea,_0x140925={'CoGFx':function(_0x120938,_0x5d6289){const _0x135caf=_0x481b;return _0x47e074[_0x135caf(0x411)](_0x120938,_0x5d6289);},'gvxVS':function(_0x324803,_0x469673){const _0x5e617f=_0x481b;return _0x47e074[_0x5e617f(0x11e)](_0x324803,_0x469673);}};let _0x58afa5='';return _0x47e074['pZsXc'](_0x9d75f9[_0x312426(0x41d)],0x0)&&(_0x47e074[_0x312426(0x11b)]!==_0x47e074[_0x312426(0x1b3)]?_0x58afa5+=_0x9d75f9[_0x312426(0x301)](0x0,0x2):_0x1e6ab9=_0x528be3[_0x312426(0x296)]),_0x47e074[_0x312426(0x2b0)](_0x9d75f9['length'],0x3)&&(_0x47e074['FGIPx'](_0x312426(0x2d5),_0x47e074['ecFJc'])?_0x3a04bf=_0x140925['CoGFx'](_0x140925[_0x312426(0x546)](_0x5870bc['clientX'],_0x9812a0['width']),_0x140925[_0x312426(0x546)](_0x1f7ae9,_0x350984)):_0x58afa5+=_0x47e074[_0x312426(0x22f)]('/',_0x9d75f9[_0x312426(0x301)](0x2,0x4))),_0x9d75f9[_0x312426(0x41d)]>=0x5&&(_0x58afa5+=_0x47e074[_0x312426(0x22f)]('/',_0x9d75f9[_0x312426(0x301)](0x4,0x8))),_0x58afa5;};if(this['$isRangeSelection']()){const _0x4ab4be=_0x25df79[_0x2740ea(0x301)](0x0,0x8),_0x281a2d=_0x25df79[_0x2740ea(0x301)](0x8,0x10),_0x536f49=_0x47e074['YWhSj'](_0x55b2c0,_0x4ab4be),_0x117128=_0x47e074[_0x2740ea(0x19d)](_0x55b2c0,_0x281a2d);return _0x117128?_0x536f49+_0x2740ea(0x51a)+_0x117128:_0x536f49;}return _0x47e074[_0x2740ea(0x481)](_0x55b2c0,_0x25df79);}static [_0x6842e4(0x51e)]=_0x43162f['ɵɵngDeclareFactory']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UIInputDateDirective,'deps':null,'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static ['ɵdir']=_0x43162f['ɵɵngDeclareDirective']({'minVersion':_0x6842e4(0x13b),'version':_0x6842e4(0x2ac),'type':UIInputDateDirective,'isStandalone':!![],'selector':_0x6842e4(0x5a5),'inputs':{'$isRangeSelection':{'classPropertyName':'$isRangeSelection','publicName':_0x6842e4(0x297),'isSignal':!![],'isRequired':![],'transformFunction':null}},'viewQueries':[{'propertyName':_0x6842e4(0x1da),'first':!![],'predicate':[_0x6842e4(0x10d)],'descendants':!![],'isSignal':!![]}],'usesInheritance':!![],'ngImport':_0x43162f});}_0x43162f['ɵɵngDeclareClassMetadata']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UIInputDateDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x5a5)}]}],'propDecorators':{'$isRangeSelection':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':'$isRangeSelection','required':![]}]}],'$inputElement':[{'type':_0x43162f['ViewChild'],'args':[_0x6842e4(0x10d),{'isSignal':!![]}]}]}});class UIPhoneNumberDirective extends UiInputDirective{[_0x6842e4(0x5ef)]=signal(emptyCountry,...ngDevMode?[{'debugName':_0x6842e4(0x5ef)}]:[]);['$isOpen']=signal(![],...ngDevMode?[{'debugName':'$isOpen'}]:[]);['$countryCode']=signal('',...ngDevMode?[{'debugName':_0x6842e4(0x443)}]:[]);['$inputElement']=viewChild(_0x6842e4(0x10d),...ngDevMode?[{'debugName':_0x6842e4(0x1da)}]:[]);constructor(){super();}['ngAfterViewInit'](){const _0x1559bf=_0x6842e4,_0x2d7e00={'gsmwa':function(_0x4253ca,_0x7abee0){return _0x4253ca+_0x7abee0;}},_0x25abf9=CountryService[_0x1559bf(0x28f)]('US')??emptyCountry;this['$selectedCountry'][_0x1559bf(0x26b)](_0x25abf9),this[_0x1559bf(0x443)][_0x1559bf(0x26b)](_0x2d7e00[_0x1559bf(0x410)](_0x25abf9[_0x1559bf(0x2e2)],'\x20'));}[_0x6842e4(0x3a2)](_0x135393){const _0x2f3610=_0x6842e4,_0x5b3cc2=_0x135393[_0x2f3610(0x428)](/\D/g,''),_0x376021=CountryService[_0x2f3610(0xf1)](_0x5b3cc2,this['$selectedCountry']()[_0x2f3610(0x3a8)]);super['onInput'](_0x376021);const _0x539868=this['$inputElement']()?.['nativeElement'];_0x539868&&(_0x539868[_0x2f3610(0x304)]=_0x376021);}[_0x6842e4(0x145)](_0x37fb6b){const _0x59e6ea=_0x6842e4,_0x2ae875={'WIFmV':function(_0x27a899,_0x2d1a2a){return _0x27a899===_0x2d1a2a;},'WLRTO':_0x59e6ea(0x40a),'SdhXA':function(_0x5b58d6,_0x375cfd){return _0x5b58d6+_0x375cfd;}};_0x37fb6b[_0x59e6ea(0x3d6)]();const _0x69e7df=_0x37fb6b['clipboardData']?.[_0x59e6ea(0x38c)]('text')||'',_0x414bea=CountryService[_0x59e6ea(0x1a4)][_0x59e6ea(0x1de)](_0x47b1a2=>_0x69e7df[_0x59e6ea(0x19a)](_0x47b1a2[_0x59e6ea(0x2e2)]));if(_0x414bea){const _0x53ecf6=_0x69e7df[_0x59e6ea(0x5f0)](_0x414bea[_0x59e6ea(0x2e2)]['length']);this[_0x59e6ea(0x33d)](_0x414bea),this[_0x59e6ea(0x3a2)](_0x53ecf6);}else _0x2ae875['WIFmV'](_0x2ae875[_0x59e6ea(0x4c9)],_0x2ae875[_0x59e6ea(0x4c9)])?this['onInput'](_0x2ae875['SdhXA'](this[_0x59e6ea(0x304)](),_0x69e7df)):this['el'][_0x59e6ea(0xa5)][_0x59e6ea(0x563)]();}[_0x6842e4(0x33d)](_0x183cae){const _0x49765d=_0x6842e4;this['$selectedCountry']['set'](_0x183cae),this[_0x49765d(0x443)]['set'](_0x183cae[_0x49765d(0x2e2)]);const _0x1a5e22=this[_0x49765d(0x1da)]()?.['nativeElement'];_0x1a5e22&&_0x1a5e22[_0x49765d(0x563)]();}static ['ɵfac']=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':UIPhoneNumberDirective,'deps':[],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f['ɵɵngDeclareDirective']({'minVersion':'17.2.0','version':_0x6842e4(0x2ac),'type':UIPhoneNumberDirective,'isStandalone':!![],'selector':_0x6842e4(0x203),'viewQueries':[{'propertyName':'$inputElement','first':!![],'predicate':[_0x6842e4(0x10d)],'descendants':!![],'isSignal':!![]}],'usesInheritance':!![],'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UIPhoneNumberDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-input-phone-number'}]}],'ctorParameters':()=>[],'propDecorators':{'$inputElement':[{'type':_0x43162f['ViewChild'],'args':[_0x6842e4(0x10d),{'isSignal':!![]}]}]}});class UiInputSelectDirective extends UiInputDirective{[_0x6842e4(0x527)]=input['required'](...ngDevMode?[{'debugName':_0x6842e4(0x527)}]:[]);[_0x6842e4(0x13d)]=signal(![],...ngDevMode?[{'debugName':'$isOpen'}]:[]);[_0x6842e4(0x3be)]=signal({'value':''},...ngDevMode?[{'debugName':_0x6842e4(0x3be)}]:[]);static [_0x6842e4(0x51e)]=_0x43162f['ɵɵngDeclareFactory']({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiInputSelectDirective,'deps':null,'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f['ɵɵngDeclareDirective']({'minVersion':'17.1.0','version':_0x6842e4(0x2ac),'type':UiInputSelectDirective,'isStandalone':!![],'selector':'app-ui-select','inputs':{'$items':{'classPropertyName':_0x6842e4(0x527),'publicName':_0x6842e4(0x527),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'usesInheritance':!![],'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiInputSelectDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x59c)}]}],'propDecorators':{'$items':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x527),'required':!![]}]}]}});function _0x481b(_0x5a0067,_0x582146){_0x5a0067=_0x5a0067-0x89;const _0x397e2f=_0x397e();let _0x481b94=_0x397e2f[_0x5a0067];if(_0x481b['vNDTIN']===undefined){var _0x3e037b=function(_0x30f68f){const _0x17a39b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3b2f9b='',_0x2710e0='';for(let _0x17483c=0x0,_0x25565b,_0x3f765e,_0x39a7c3=0x0;_0x3f765e=_0x30f68f['charAt'](_0x39a7c3++);~_0x3f765e&&(_0x25565b=_0x17483c%0x4?_0x25565b*0x40+_0x3f765e:_0x3f765e,_0x17483c++%0x4)?_0x3b2f9b+=String['fromCharCode'](0xff&_0x25565b>>(-0x2*_0x17483c&0x6)):0x0){_0x3f765e=_0x17a39b['indexOf'](_0x3f765e);}for(let _0x38bacb=0x0,_0x9b13f9=_0x3b2f9b['length'];_0x38bacb<_0x9b13f9;_0x38bacb++){_0x2710e0+='%'+('00'+_0x3b2f9b['charCodeAt'](_0x38bacb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2710e0);};_0x481b['SNowvl']=_0x3e037b,_0x481b['dzQYHy']={},_0x481b['vNDTIN']=!![];}const _0x5d8dea=_0x397e2f[0x0],_0xf25bb9=_0x5a0067+_0x5d8dea,_0x298e13=_0x481b['dzQYHy'][_0xf25bb9];return!_0x298e13?(_0x481b94=_0x481b['SNowvl'](_0x481b94),_0x481b['dzQYHy'][_0xf25bb9]=_0x481b94):_0x481b94=_0x298e13,_0x481b94;}class UiInputSequenceDirective extends UiInputDirective{[_0x6842e4(0x432)]=input(0x6,...ngDevMode?[{'debugName':_0x6842e4(0x432)}]:[]);[_0x6842e4(0x265)]=computed(()=>Array(this[_0x6842e4(0x432)]())[_0x6842e4(0x4b2)](''),...ngDevMode?[{'debugName':_0x6842e4(0x265)}]:[]);[_0x6842e4(0x210)];[_0x6842e4(0x1db)](_0x56a9c6,_0x4214b3){const _0x170124=_0x6842e4,_0x458405={'orOzm':function(_0x13f803,_0x57cc93){return _0x13f803>_0x57cc93;}},_0x5ff1e7=_0x56a9c6[_0x170124(0x147)],_0x2e8542=_0x5ff1e7[_0x170124(0x304)];if(!/^\d+$/[_0x170124(0x408)](_0x2e8542)){_0x5ff1e7['value']='';return;}_0x458405[_0x170124(0x10f)](_0x2e8542[_0x170124(0x41d)],0x1)&&(_0x5ff1e7[_0x170124(0x304)]=_0x2e8542[_0x170124(0x480)](0x0)),_0x2e8542&&_0x4214b3<this[_0x170124(0x265)]()[_0x170124(0x41d)]-0x1&&this[_0x170124(0x468)](_0x4214b3+0x1),this[_0x170124(0xe1)]();}['onClick'](_0x27d50d){const _0x331cf9=_0x6842e4,_0x20f2c8=_0x27d50d[_0x331cf9(0x147)];_0x20f2c8[_0x331cf9(0x53b)](0x1,0x1);}['onKeyDown'](_0x49195b,_0x4ca210){const _0xdc60f1=_0x6842e4,_0x334589={'kCdpY':_0xdc60f1(0x29f),'QnGdw':_0xdc60f1(0x4e0),'NbaOt':'ArrowRight','zMDjG':_0xdc60f1(0x113),'JcOJh':'ArrowDown','nfpAx':_0xdc60f1(0x430),'cgUOT':function(_0x3f1f62,_0x1c57ba){return _0x3f1f62!==_0x1c57ba;},'pksqn':function(_0x2c4b31,_0x5bbf0e){return _0x2c4b31-_0x5bbf0e;},'aepxC':function(_0x1ca445,_0x1fa003){return _0x1ca445===_0x1fa003;},'nSQoW':function(_0x5c3622,_0x47addd){return _0x5c3622+_0x47addd;},'RbfoT':function(_0x1ce1a5,_0x85042){return _0x1ce1a5===_0x85042;},'FkbOW':function(_0x149d50,_0x166455){return _0x149d50>_0x166455;},'bROSk':function(_0x35c043,_0x289ac6){return _0x35c043-_0x289ac6;}},_0x623245=[_0x334589[_0xdc60f1(0x5ff)],_0x334589[_0xdc60f1(0x1ee)],_0x334589['zMDjG'],_0x334589['JcOJh'],_0xdc60f1(0x1b7),_0x334589[_0xdc60f1(0x446)]];if(_0x623245[_0xdc60f1(0x2aa)](_0x49195b[_0xdc60f1(0x50d)])){_0x49195b[_0xdc60f1(0x3d6)]();_0x49195b[_0xdc60f1(0x50d)]===_0x334589[_0xdc60f1(0x5ff)]&&(_0x334589[_0xdc60f1(0x283)](_0xdc60f1(0x16e),_0xdc60f1(0x57e))?this[_0xdc60f1(0x468)](_0x334589[_0xdc60f1(0x490)](_0x4ca210,0x1)):this['renderer']['addClass'](this[_0xdc60f1(0x4fb)][_0xdc60f1(0xa5)],_0x334589[_0xdc60f1(0x282)]));_0x334589[_0xdc60f1(0x483)](_0x49195b['key'],_0x334589[_0xdc60f1(0x1ee)])&&this[_0xdc60f1(0x468)](_0x334589[_0xdc60f1(0xc8)](_0x4ca210,0x1));return;}const _0x346c59=_0x49195b['target'];_0x334589[_0xdc60f1(0x5f6)](_0x49195b['key'],_0xdc60f1(0xe7))&&!_0x346c59['value']&&_0x334589[_0xdc60f1(0x3da)](_0x4ca210,0x0)&&this[_0xdc60f1(0x468)](_0x334589[_0xdc60f1(0x2ea)](_0x4ca210,0x1));}[_0x6842e4(0x468)](_0x457318){const _0x518a83=_0x6842e4,_0x45a044=this[_0x518a83(0x210)][_0x518a83(0xc4)]()[_0x457318]?.[_0x518a83(0xa5)];if(_0x45a044)_0x45a044[_0x518a83(0x563)]();}['onPaste'](_0x4e83df,_0x1f23f3){const _0x32f58e=_0x6842e4,_0x45f783={'fXuOZ':function(_0x3f1bef,_0x19516c){return _0x3f1bef+_0x19516c;},'bnMYS':function(_0x3e50d2,_0x1a7327){return _0x3e50d2<_0x1a7327;},'FTHQq':function(_0xe30c08,_0x1088bd){return _0xe30c08===_0x1088bd;},'vJTDl':function(_0x5870fb,_0x3789c7){return _0x5870fb!==_0x3789c7;},'qBKAE':function(_0x4430a3,_0x5c6d7d){return _0x4430a3-_0x5c6d7d;}};_0x4e83df[_0x32f58e(0x3d6)]();const _0x12395f=_0x4e83df[_0x32f58e(0x4c2)]?.['getData'](_0x32f58e(0xdc))??'';if(!_0x12395f)return;const _0x4883e9=_0x12395f[_0x32f58e(0x428)](/\D/g,''),_0x19835e=this[_0x32f58e(0x210)]['toArray'](),_0xf54cd=_0x4883e9['replace'](/\s+/g,'')[_0x32f58e(0x46b)](''),_0x270feb=this['$inputs']()[_0x32f58e(0x41d)];_0xf54cd[_0x32f58e(0x484)]((_0x17d5fc,_0x1b76af)=>{const _0x170fb0=_0x32f58e,_0x42a7c3=_0x45f783[_0x170fb0(0x52c)](_0x1f23f3,_0x1b76af);if(_0x45f783[_0x170fb0(0x482)](_0x42a7c3,_0x270feb)){if(_0x45f783['FTHQq'](_0x170fb0(0x3b4),_0x170fb0(0x538)))this['initTouchEvents']();else{const _0x69d97f=_0x19835e[_0x42a7c3][_0x170fb0(0xa5)];_0x69d97f['value']=_0x17d5fc;}}});const _0x342003=_0x19835e['findIndex'](_0x2d3336=>_0x2d3336[_0x32f58e(0xa5)][_0x32f58e(0x304)]==='');_0x45f783['vJTDl'](_0x342003,-0x1)?this[_0x32f58e(0x468)](_0x342003):this[_0x32f58e(0x468)](_0x45f783[_0x32f58e(0x2c2)](_0x270feb,0x1)),this[_0x32f58e(0xe1)]();}[_0x6842e4(0xe1)](){const _0x2fec96=_0x6842e4,_0x117e65=this[_0x2fec96(0x210)]['toArray'](),_0x2c3d35=_0x117e65['map'](_0x594c8b=>_0x594c8b['nativeElement']['value'])[_0x2fec96(0x31b)]('');this[_0x2fec96(0x3a2)](_0x2c3d35);}static [_0x6842e4(0x51e)]=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiInputSequenceDirective,'deps':null,'target':_0x43162f['ɵɵFactoryTarget']['Directive']});static ['ɵdir']=_0x43162f['ɵɵngDeclareDirective']({'minVersion':_0x6842e4(0x3fe),'version':_0x6842e4(0x2ac),'type':UiInputSequenceDirective,'isStandalone':!![],'selector':_0x6842e4(0x396),'inputs':{'$numberCells':{'classPropertyName':_0x6842e4(0x432),'publicName':_0x6842e4(0x432),'isSignal':!![],'isRequired':![],'transformFunction':null}},'viewQueries':[{'propertyName':_0x6842e4(0x210),'predicate':['input'],'descendants':!![]}],'usesInheritance':!![],'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':'12.0.0','version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiInputSequenceDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x396)}]}],'propDecorators':{'$numberCells':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':_0x6842e4(0x432),'required':![]}]}],'inputRefs':[{'type':ViewChildren,'args':['input']}]}});class UiInputTimeDirective extends UiInputDirective{['times']=[_0x6842e4(0x16c),_0x6842e4(0x3f3),_0x6842e4(0x8b),_0x6842e4(0xf2),'02:00',_0x6842e4(0x3b7),_0x6842e4(0x3a3),_0x6842e4(0x208),_0x6842e4(0x25a),_0x6842e4(0x1ec),'05:00',_0x6842e4(0x5b7),_0x6842e4(0x4d1),'06:30',_0x6842e4(0x21a),'07:30',_0x6842e4(0x500),_0x6842e4(0x486),'09:00',_0x6842e4(0x1dd),_0x6842e4(0x211),_0x6842e4(0x49a),_0x6842e4(0x33b),_0x6842e4(0x584),_0x6842e4(0x43b),_0x6842e4(0x565),_0x6842e4(0x95),_0x6842e4(0x4e3),_0x6842e4(0x112),'14:30',_0x6842e4(0x19e),_0x6842e4(0x18d),_0x6842e4(0x233),_0x6842e4(0x43f),_0x6842e4(0x415),_0x6842e4(0x29c),_0x6842e4(0x356),_0x6842e4(0x1e9),_0x6842e4(0x3e3),_0x6842e4(0x576),'20:00','20:30',_0x6842e4(0x48c),_0x6842e4(0x17c),_0x6842e4(0x523),_0x6842e4(0x393),_0x6842e4(0x172),_0x6842e4(0x381)];['$inputElement']=viewChild(_0x6842e4(0x10d),...ngDevMode?[{'debugName':_0x6842e4(0x1da)}]:[]);[_0x6842e4(0x13d)]=signal(![],...ngDevMode?[{'debugName':_0x6842e4(0x13d)}]:[]);['onInput'](_0x1ec1b7){const _0x4c71a9=_0x6842e4,_0x11e57d={'LrtzQ':function(_0x3a14e9,_0x419e5f){return _0x3a14e9===_0x419e5f;},'gOINX':_0x4c71a9(0x236),'GxXaL':function(_0x232852,_0x2bddea){return _0x232852>_0x2bddea;},'ITgQj':'grab','XnwuR':_0x4c71a9(0x57a),'FiBqj':function(_0x29801a,_0x1b92cf){return _0x29801a!==_0x1b92cf;},'HpsnF':_0x4c71a9(0x2e7)},_0x3fcb14=this[_0x4c71a9(0x1da)]()?.[_0x4c71a9(0xa5)];if(!_0x3fcb14)return;const _0x35480e=_0x3fcb14[_0x4c71a9(0x1ae)],_0x62a66d=_0x3fcb14['selectionEnd'],_0x385768=_0x1ec1b7,_0x5d3346=this[_0x4c71a9(0x3e5)](_0x385768),_0x2c3ac2=(_0x385768[_0x4c71a9(0x160)](/:/g)||[])['length'],_0x524b2d=(_0x5d3346[_0x4c71a9(0x160)](/:/g)||[])[_0x4c71a9(0x41d)],_0x3dd9f0=_0x524b2d>_0x2c3ac2;super[_0x4c71a9(0x3a2)](_0x5d3346),_0x3fcb14[_0x4c71a9(0x304)]=_0x5d3346,_0x3dd9f0?_0x3fcb14[_0x4c71a9(0x53b)](_0x5d3346[_0x4c71a9(0x41d)],_0x5d3346[_0x4c71a9(0x41d)]):_0x11e57d[_0x4c71a9(0x4cc)](_0x11e57d[_0x4c71a9(0x126)],_0x11e57d[_0x4c71a9(0x126)])?_0x11e57d[_0x4c71a9(0x2c5)](_0x589d2b[_0x4c71a9(0x50d)],_0x11e57d[_0x4c71a9(0x553)])&&this[_0x4c71a9(0x42e)][_0x4c71a9(0x26b)](_0x11e57d[_0x4c71a9(0x3dd)](this[_0x4c71a9(0x20c)],0x1)?_0x11e57d[_0x4c71a9(0x55f)]:_0x11e57d[_0x4c71a9(0x3ea)]):_0x3fcb14[_0x4c71a9(0x53b)](_0x35480e,_0x62a66d);}[_0x6842e4(0x3e5)](_0x2dab45){const _0x1671cd=_0x6842e4,_0x8ab742={'jnpuE':function(_0x20e02f,_0x3260bf){return _0x20e02f-_0x3260bf;},'XiIwf':function(_0x40afe5,_0x5ab6bc){return _0x40afe5<_0x5ab6bc;},'qOMIe':_0x1671cd(0x373),'JKnbg':_0x1671cd(0x2f8),'KKFSq':'1px','eUHgo':_0x1671cd(0x9e),'ymniZ':_0x1671cd(0x216),'IkwcI':_0x1671cd(0x54e),'UQknT':'none','eaxZH':_0x1671cd(0x5b4),'XgvzC':function(_0x25e9f0,_0x4f39de){return _0x25e9f0!==_0x4f39de;},'FVDPL':_0x1671cd(0x1cb),'tvWgV':function(_0x5e3d9b,_0x31a050){return _0x5e3d9b===_0x31a050;},'oGQXH':_0x1671cd(0x4f6),'AKJDg':_0x1671cd(0x59e),'gdPIN':_0x1671cd(0x143),'ZEYCS':_0x1671cd(0x1c8),'Tlaes':function(_0x59b008,_0x3e4a24){return _0x59b008(_0x3e4a24);},'EMpDU':_0x1671cd(0x4d4),'FEqVr':_0x1671cd(0x40e),'JtDel':function(_0x2d26b0,_0x7ddb43){return _0x2d26b0>_0x7ddb43;},'TMtIG':function(_0x536cab,_0x3dc098){return _0x536cab===_0x3dc098;},'NdMiS':function(_0x5c1bba,_0x5262f4){return _0x5c1bba===_0x5262f4;},'EjFsl':'GsooO','TYmbD':function(_0x11bbbc,_0x3bcda1){return _0x11bbbc>_0x3bcda1;}};if(!_0x2dab45){if(_0x8ab742[_0x1671cd(0x3c2)](_0x1671cd(0x1cb),_0x8ab742[_0x1671cd(0x37d)])){const _0x23763c=this[_0x1671cd(0x1f0)]();return _0x49f7d5[_0x23763c];}else return'';}const _0x328db5=_0x2dab45[_0x1671cd(0x428)](/\D/g,'')['slice'](0x0,0x4),_0x9bcc44=_0x328db5[_0x1671cd(0x41d)];if(_0x9bcc44===0x1){if(_0x8ab742['tvWgV'](_0x8ab742[_0x1671cd(0x340)],_0x8ab742[_0x1671cd(0x4ae)])){if(!this[_0x1671cd(0x14a)])return;this[_0x1671cd(0x1bc)][_0x1671cd(0x330)](this['tipId']),this['isOpen']=![];}else return _0x328db5;}if(_0x8ab742[_0x1671cd(0xb0)](_0x9bcc44,0x2)){if(_0x8ab742['tvWgV'](_0x8ab742[_0x1671cd(0x580)],_0x8ab742[_0x1671cd(0xf7)]))this[_0x1671cd(0x58a)][_0x1671cd(0x41d)]>=0x1&&(this[_0x1671cd(0x58a)][_0x8ab742['jnpuE'](this[_0x1671cd(0x58a)][_0x1671cd(0x41d)],0x1)][_0x1671cd(0x268)](),this['popupInstances'][_0x1671cd(0x347)](),!this[_0x1671cd(0x58a)]['length']&&this[_0x1671cd(0x309)]());else{let _0x4d8dbf=_0x8ab742[_0x1671cd(0x5fd)](Number,_0x328db5['slice'](0x0,0x2));if(_0x4d8dbf>0x17)_0x4d8dbf=0x17;return _0x4d8dbf[_0x1671cd(0x316)]()[_0x1671cd(0x1ef)](0x2,'0');}}if(_0x8ab742[_0x1671cd(0xb0)](_0x9bcc44,0x3)){if(_0x8ab742[_0x1671cd(0x3c2)](_0x8ab742[_0x1671cd(0xbe)],_0x8ab742[_0x1671cd(0x1bf)])){let _0x5224d2=Number(_0x328db5[_0x1671cd(0x5f0)](0x0,0x2));if(_0x8ab742['JtDel'](_0x5224d2,0x17))_0x5224d2=0x17;const _0x155a34=_0x328db5[0x2];return _0x5224d2[_0x1671cd(0x316)]()['padStart'](0x2,'0')+':'+_0x155a34;}else{const _0x5dd424={'XLsql':function(_0x372fee,_0x28f51b){const _0x4a02a9=_0x1671cd;return _0x8ab742[_0x4a02a9(0x1b4)](_0x372fee,_0x28f51b);},'WHLdM':_0x1671cd(0x488)},_0x3d6989=this[_0x1671cd(0x4fb)]['nativeElement'];this['sentinel']=this[_0x1671cd(0xad)][_0x1671cd(0x3f0)](_0x8ab742['qOMIe']),this['renderer'][_0x1671cd(0x250)](this[_0x1671cd(0x464)],_0x8ab742[_0x1671cd(0x253)],_0x8ab742['KKFSq']),this['renderer'][_0x1671cd(0x250)](this['sentinel'],_0x8ab742[_0x1671cd(0x44d)],_0x8ab742[_0x1671cd(0x3f9)]),this[_0x1671cd(0xad)][_0x1671cd(0x250)](this['sentinel'],_0x8ab742[_0x1671cd(0x5a6)],_0x8ab742[_0x1671cd(0x16f)]),this[_0x1671cd(0xad)][_0x1671cd(0x250)](this['sentinel'],_0x8ab742[_0x1671cd(0x389)],'0');const _0x667678=_0x3d6989[_0x1671cd(0x5d0)];_0x667678[_0x1671cd(0x5fa)](this[_0x1671cd(0x464)],_0x3d6989),this[_0x1671cd(0x266)]=new _0x494fe8(([_0x44600c])=>{const _0x28a9db=_0x1671cd,_0x4a47a6=_0x5dd424[_0x28a9db(0xe8)](_0x44600c[_0x28a9db(0x414)][_0x28a9db(0xb1)],0x0);_0x4a47a6?this['renderer'][_0x28a9db(0x41c)](_0x3d6989,_0x5dd424[_0x28a9db(0x489)]):this['renderer']['removeClass'](_0x3d6989,_0x28a9db(0x488));},{'threshold':[0x1]}),this['observer']['observe'](this[_0x1671cd(0x464)]);}}if(_0x8ab742[_0x1671cd(0x4ba)](_0x9bcc44,0x4)){if(_0x8ab742[_0x1671cd(0x5df)](_0x1671cd(0x579),_0x8ab742[_0x1671cd(0x535)]))this[_0x1671cd(0x232)][_0x1671cd(0x26b)](!![]);else{let _0x11face=_0x8ab742[_0x1671cd(0x5fd)](Number,_0x328db5['slice'](0x0,0x2)),_0x25d128=_0x8ab742[_0x1671cd(0x5fd)](Number,_0x328db5[_0x1671cd(0x5f0)](0x2,0x4));return _0x8ab742[_0x1671cd(0x461)](_0x11face,0x17)&&(_0x11face=0x17),_0x8ab742[_0x1671cd(0x24b)](_0x25d128,0x3b)&&(_0x25d128=0x3b),_0x11face['toString']()[_0x1671cd(0x1ef)](0x2,'0')+':'+_0x25d128[_0x1671cd(0x316)]()[_0x1671cd(0x1ef)](0x2,'0');}}return'';}static ['ɵfac']=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':_0x6842e4(0x2ac),'ngImport':_0x43162f,'type':UiInputTimeDirective,'deps':null,'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static [_0x6842e4(0x50e)]=_0x43162f[_0x6842e4(0x108)]({'minVersion':'17.2.0','version':'21.1.1','type':UiInputTimeDirective,'isStandalone':!![],'selector':_0x6842e4(0x4b6),'viewQueries':[{'propertyName':_0x6842e4(0x1da),'first':!![],'predicate':[_0x6842e4(0x10d)],'descendants':!![],'isSignal':!![]}],'usesInheritance':!![],'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':UiInputTimeDirective,'decorators':[{'type':Directive,'args':[{'selector':_0x6842e4(0x4b6)}]}],'propDecorators':{'$inputElement':[{'type':_0x43162f[_0x6842e4(0x4a7)],'args':[_0x6842e4(0x10d),{'isSignal':!![]}]}]}});class UiValidationErrorsDirective{['$isError']=input(![],...ngDevMode?[{'debugName':_0x6842e4(0x4b3)}]:[]);[_0x6842e4(0x2ef)]=input[_0x6842e4(0x205)](...ngDevMode?[{'debugName':'$errors'}]:[]);static ['ɵfac']=_0x43162f[_0x6842e4(0x4e8)]({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':UiValidationErrorsDirective,'deps':[],'target':_0x43162f[_0x6842e4(0x597)][_0x6842e4(0x2ff)]});static ['ɵdir']=_0x43162f[_0x6842e4(0x108)]({'minVersion':_0x6842e4(0x3fe),'version':_0x6842e4(0x2ac),'type':UiValidationErrorsDirective,'isStandalone':!![],'selector':_0x6842e4(0x367),'inputs':{'$isError':{'classPropertyName':'$isError','publicName':'$isError','isSignal':!![],'isRequired':![],'transformFunction':null},'$errors':{'classPropertyName':'$errors','publicName':_0x6842e4(0x2ef),'isSignal':!![],'isRequired':!![],'transformFunction':null}},'ngImport':_0x43162f});}_0x43162f[_0x6842e4(0xb7)]({'minVersion':_0x6842e4(0x459),'version':'21.1.1','ngImport':_0x43162f,'type':UiValidationErrorsDirective,'decorators':[{'type':Directive,'args':[{'selector':'app-ui-validation-errors'}]}],'propDecorators':{'$isError':[{'type':_0x43162f[_0x6842e4(0x32a)],'args':[{'isSignal':!![],'alias':'$isError','required':![]}]}],'$errors':[{'type':_0x43162f['Input'],'args':[{'isSignal':!![],'alias':_0x6842e4(0x2ef),'required':!![]}]}]}});export{Alert,AlertType,AppIconsLibrary,AutoFocusDirective,CenterEllipsisPipe,CountryService,DateUtils,EMAIL,HAS_CAPITAL_CASE,HAS_NUMBER,HAS_SMALL_CASE,HAS_SPECIAL_CHARTERS,HoverTipDirective,IconComponent,LazyImgDirective,MIN_LENGTH,MaskGradientDirective,StickyObserverDirective,ThemeService,TrackLifecycleDirective,UIInputDateDirective,UIPhoneNumberDirective,UiAccordionComponent,UiAlertMessagesService,UiAvatarDirective,UiButtonDirective,UiCodeDirective,UiCopyButtonDirective,UiDailyCalendarDirective,UiDropdownContainerDirective,UiDropdownService,UiFieldBaseDirective,UiImageDirective,UiInputCheckboxDirective,UiInputCountryDirective,UiInputDirective,UiInputSelectDirective,UiInputSequenceDirective,UiInputTimeDirective,UiMonthlyCalendarDirective,UiPaginationDirective,UiPopupContainerDirective,UiPopupImageDirective,UiPopupInstance,UiPopupService,UiSelectButtonsDirective,UiTabsDirective,UiValidationErrorsDirective,UiYearlyCalendarDirective,emptyCountry,getAspectRatioFit,stringToHslColor};
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { input, effect, Directive, Injectable, EventEmitter, Output, Input, PLATFORM_ID, Inject, Pipe, Attribute, ChangeDetectionStrategy, Component, model, signal, computed, viewChild, untracked, output, Injector, afterRenderEffect, contentChildren, contentChild, ViewChildren } from '@angular/core';
|
|
3
|
+
import { isPlatformBrowser, DOCUMENT, NgStyle } from '@angular/common';
|
|
4
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
5
|
+
import { fromEvent, tap, debounceTime, asyncScheduler, Subscription, timer, switchMap, scheduled, filter, take, BehaviorSubject, Subject, takeUntil } from 'rxjs';
|
|
6
|
+
import * as i2 from '@angular/platform-browser';
|
|
7
|
+
import { PhoneNumberUtil, AsYouTypeFormatter } from 'google-libphonenumber';
|
|
8
|
+
import * as i1 from '@angular/cdk/overlay';
|
|
9
|
+
import { OverlayConfig, FlexibleConnectedPositionStrategy } from '@angular/cdk/overlay';
|
|
10
|
+
import { ComponentPortal } from '@angular/cdk/portal';
|
|
11
|
+
import * as i2$1 from '@angular/router';
|
|
12
|
+
import { NavigationEnd } from '@angular/router';
|
|
13
|
+
import { ulid } from 'ulid';
|
|
14
|
+
|
|
15
|
+
class DateUtils {
|
|
16
|
+
static parse(value, isUsaDateFormat = DateUtils.isUsaDateFormat()) {
|
|
17
|
+
if (!value)
|
|
18
|
+
return null;
|
|
19
|
+
const parts = value.split('/');
|
|
20
|
+
if (parts.length !== 3)
|
|
21
|
+
return null;
|
|
22
|
+
const [first, second, year] = parts.map(Number);
|
|
23
|
+
const month = isUsaDateFormat ? first : second;
|
|
24
|
+
const day = isUsaDateFormat ? second : first;
|
|
25
|
+
if (!day || !month || !year)
|
|
26
|
+
return null;
|
|
27
|
+
if (month < 1 || month > 12)
|
|
28
|
+
return null;
|
|
29
|
+
if (day < 1 || day > 31)
|
|
30
|
+
return null;
|
|
31
|
+
return new Date(year, month - 1, day);
|
|
32
|
+
}
|
|
33
|
+
static format(date, isUsaDateFormat = false) {
|
|
34
|
+
const d = String(date.getDate()).padStart(2, '0');
|
|
35
|
+
const m = String(date.getMonth() + 1).padStart(2, '0');
|
|
36
|
+
const y = date.getFullYear();
|
|
37
|
+
return isUsaDateFormat ? `${m}/${d}/${y}` : `${d}/${m}/${y}`;
|
|
38
|
+
}
|
|
39
|
+
static isUsaDateFormat() {
|
|
40
|
+
const localeFromIntl = Intl.DateTimeFormat().resolvedOptions().locale;
|
|
41
|
+
const localeFromNavigator = typeof navigator !== 'undefined' ? navigator.language : undefined;
|
|
42
|
+
const locale = (localeFromIntl || localeFromNavigator || '').toLowerCase();
|
|
43
|
+
return locale === 'en-us' || locale.startsWith('en-us-');
|
|
44
|
+
}
|
|
45
|
+
static setMonthSafe(date, month) {
|
|
46
|
+
const d = new Date(date);
|
|
47
|
+
const year = d.getFullYear();
|
|
48
|
+
const day = d.getDate();
|
|
49
|
+
const lastDay = new Date(year, month + 1, 0).getDate();
|
|
50
|
+
d.setDate(Math.min(day, lastDay));
|
|
51
|
+
d.setMonth(month);
|
|
52
|
+
return d;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
class AutoFocusDirective {
|
|
57
|
+
el;
|
|
58
|
+
$shouldFocus = input.required({ debugName: 'appAutoFocus' });
|
|
59
|
+
constructor(el) {
|
|
60
|
+
this.el = el;
|
|
61
|
+
effect(() => {
|
|
62
|
+
if (this.$shouldFocus()) {
|
|
63
|
+
this.el.nativeElement.focus();
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AutoFocusDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
68
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: AutoFocusDirective, isStandalone: true, selector: "[appAutoFocus]", inputs: { $shouldFocus: { classPropertyName: "$shouldFocus", publicName: "$shouldFocus", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
69
|
+
}
|
|
70
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AutoFocusDirective, decorators: [{
|
|
71
|
+
type: Directive,
|
|
72
|
+
args: [{
|
|
73
|
+
selector: '[appAutoFocus]',
|
|
74
|
+
}]
|
|
75
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { $shouldFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "$shouldFocus", required: true }] }] } });
|
|
76
|
+
|
|
77
|
+
class LazyImageService {
|
|
78
|
+
observer;
|
|
79
|
+
getObserver() {
|
|
80
|
+
if (!this.observer) {
|
|
81
|
+
this.observer = new IntersectionObserver((entries) => {
|
|
82
|
+
entries.forEach((entry) => {
|
|
83
|
+
const img = entry.target;
|
|
84
|
+
if (entry.isIntersecting) {
|
|
85
|
+
const src = img.getAttribute('data-src');
|
|
86
|
+
if (src)
|
|
87
|
+
img.src = src;
|
|
88
|
+
this.observer?.unobserve(img);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
return this.observer;
|
|
94
|
+
}
|
|
95
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LazyImageService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
96
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LazyImageService, providedIn: 'root' });
|
|
97
|
+
}
|
|
98
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LazyImageService, decorators: [{
|
|
99
|
+
type: Injectable,
|
|
100
|
+
args: [{ providedIn: 'root' }]
|
|
101
|
+
}] });
|
|
102
|
+
|
|
103
|
+
class LazyImgDirective {
|
|
104
|
+
el;
|
|
105
|
+
lazyService;
|
|
106
|
+
lazySrc;
|
|
107
|
+
loadError = new EventEmitter();
|
|
108
|
+
observer;
|
|
109
|
+
constructor(el, lazyService) {
|
|
110
|
+
this.el = el;
|
|
111
|
+
this.lazyService = lazyService;
|
|
112
|
+
}
|
|
113
|
+
onError() {
|
|
114
|
+
this.loadError.emit();
|
|
115
|
+
}
|
|
116
|
+
ngOnInit() {
|
|
117
|
+
const img = this.el.nativeElement;
|
|
118
|
+
if (!this.lazySrc || this.lazySrc.trim().length === 0) {
|
|
119
|
+
this.loadError.emit();
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
img.addEventListener('error', this.onError);
|
|
123
|
+
img.setAttribute('data-src', this.lazySrc);
|
|
124
|
+
this.observer = this.lazyService.getObserver();
|
|
125
|
+
this.observer.observe(img);
|
|
126
|
+
}
|
|
127
|
+
ngOnDestroy() {
|
|
128
|
+
const img = this.el.nativeElement;
|
|
129
|
+
if (this.observer) {
|
|
130
|
+
this.observer.unobserve(img);
|
|
131
|
+
}
|
|
132
|
+
img.removeEventListener('error', this.onError);
|
|
133
|
+
}
|
|
134
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LazyImgDirective, deps: [{ token: i0.ElementRef }, { token: LazyImageService }], target: i0.ɵɵFactoryTarget.Directive });
|
|
135
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: LazyImgDirective, isStandalone: true, selector: "img[lazySrc]", inputs: { lazySrc: "lazySrc" }, outputs: { loadError: "loadError" }, ngImport: i0 });
|
|
136
|
+
}
|
|
137
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: LazyImgDirective, decorators: [{
|
|
138
|
+
type: Directive,
|
|
139
|
+
args: [{
|
|
140
|
+
selector: 'img[lazySrc]',
|
|
141
|
+
}]
|
|
142
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: LazyImageService }], propDecorators: { lazySrc: [{
|
|
143
|
+
type: Input
|
|
144
|
+
}], loadError: [{
|
|
145
|
+
type: Output
|
|
146
|
+
}] } });
|
|
147
|
+
|
|
148
|
+
class MaskGradientDirective {
|
|
149
|
+
elementRef;
|
|
150
|
+
destroyRef;
|
|
151
|
+
renderer;
|
|
152
|
+
platformId;
|
|
153
|
+
id = input.required(...(ngDevMode ? [{ debugName: "id" }] : []));
|
|
154
|
+
constructor(elementRef, destroyRef, renderer, platformId) {
|
|
155
|
+
this.elementRef = elementRef;
|
|
156
|
+
this.destroyRef = destroyRef;
|
|
157
|
+
this.renderer = renderer;
|
|
158
|
+
this.platformId = platformId;
|
|
159
|
+
}
|
|
160
|
+
ngAfterViewInit() {
|
|
161
|
+
fromEvent(this.elementRef.nativeElement, 'scroll')
|
|
162
|
+
.pipe(tap(() => {
|
|
163
|
+
this.setGradient();
|
|
164
|
+
}), debounceTime(300), tap(() => {
|
|
165
|
+
const el = this.elementRef.nativeElement;
|
|
166
|
+
const scrollTop = el.scrollTop;
|
|
167
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
168
|
+
sessionStorage.setItem(this.id() + 'scroll-position', scrollTop.toString());
|
|
169
|
+
}
|
|
170
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
171
|
+
.subscribe();
|
|
172
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
173
|
+
const scrollPosition = parseInt(sessionStorage.getItem(this.id() + 'scroll-position') ?? '0');
|
|
174
|
+
this.elementRef.nativeElement.scroll({ behavior: 'instant', top: scrollPosition });
|
|
175
|
+
}
|
|
176
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
177
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
178
|
+
asyncScheduler.schedule(() => {
|
|
179
|
+
this.setGradient();
|
|
180
|
+
});
|
|
181
|
+
});
|
|
182
|
+
resizeObserver.observe(this.elementRef.nativeElement);
|
|
183
|
+
this.destroyRef.onDestroy(() => resizeObserver.disconnect());
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
setGradient() {
|
|
187
|
+
const scrollTop = this.elementRef.nativeElement.scrollTop;
|
|
188
|
+
const scrollHeight = this.elementRef.nativeElement.scrollHeight;
|
|
189
|
+
const clientHeight = this.elementRef.nativeElement.clientHeight;
|
|
190
|
+
const atTop = scrollTop < 10;
|
|
191
|
+
const atBottom = scrollTop + clientHeight >= scrollHeight - 10;
|
|
192
|
+
let gradient = '';
|
|
193
|
+
if (atTop) {
|
|
194
|
+
gradient = `linear-gradient(0deg, rgb(0 0 0 / 0%) 0%, rgb(0 0 0 / 100%) 10%)`;
|
|
195
|
+
}
|
|
196
|
+
else if (atBottom) {
|
|
197
|
+
gradient = `linear-gradient(0deg, rgb(0 0 0 / 100%) 90%, rgb(0 0 0 / 0%) 100%)`;
|
|
198
|
+
}
|
|
199
|
+
else {
|
|
200
|
+
gradient = `linear-gradient(
|
|
201
|
+
0deg,
|
|
202
|
+
rgb(0 0 0 / 0%) 0%,
|
|
203
|
+
rgb(0 0 0 / 100%) 10%,
|
|
204
|
+
rgb(0 0 0 / 100%) 90%,
|
|
205
|
+
rgb(0 0 0 / 0%) 100%
|
|
206
|
+
)`;
|
|
207
|
+
}
|
|
208
|
+
this.renderer.setStyle(this.elementRef.nativeElement, 'mask-image', gradient);
|
|
209
|
+
this.renderer.setStyle(this.elementRef.nativeElement, '-webkit-mask-image', gradient);
|
|
210
|
+
}
|
|
211
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: MaskGradientDirective, deps: [{ token: i0.ElementRef }, { token: i0.DestroyRef }, { token: i0.Renderer2 }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
|
|
212
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: MaskGradientDirective, isStandalone: true, selector: "[markGradientDirective]", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
213
|
+
}
|
|
214
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: MaskGradientDirective, decorators: [{
|
|
215
|
+
type: Directive,
|
|
216
|
+
args: [{
|
|
217
|
+
selector: '[markGradientDirective]',
|
|
218
|
+
}]
|
|
219
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.DestroyRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
|
|
220
|
+
type: Inject,
|
|
221
|
+
args: [PLATFORM_ID]
|
|
222
|
+
}] }], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: true }] }] } });
|
|
223
|
+
|
|
224
|
+
class TrackLifecycleDirective {
|
|
225
|
+
onConstructed = new EventEmitter();
|
|
226
|
+
onChanges = new EventEmitter();
|
|
227
|
+
onInit = new EventEmitter();
|
|
228
|
+
onDoCheck = new EventEmitter();
|
|
229
|
+
onAfterContentInit = new EventEmitter();
|
|
230
|
+
onAfterContentChecked = new EventEmitter();
|
|
231
|
+
onAfterViewInit = new EventEmitter();
|
|
232
|
+
onAfterViewChecked = new EventEmitter();
|
|
233
|
+
onDestroy = new EventEmitter();
|
|
234
|
+
constructor() {
|
|
235
|
+
this.onConstructed.emit();
|
|
236
|
+
}
|
|
237
|
+
ngOnChanges(changes) {
|
|
238
|
+
this.onChanges.emit(changes);
|
|
239
|
+
}
|
|
240
|
+
ngOnInit() {
|
|
241
|
+
this.onInit.emit();
|
|
242
|
+
}
|
|
243
|
+
ngDoCheck() {
|
|
244
|
+
this.onDoCheck.emit();
|
|
245
|
+
}
|
|
246
|
+
ngAfterContentInit() {
|
|
247
|
+
this.onAfterContentInit.emit();
|
|
248
|
+
}
|
|
249
|
+
ngAfterContentChecked() {
|
|
250
|
+
this.onAfterContentChecked.emit();
|
|
251
|
+
}
|
|
252
|
+
ngAfterViewInit() {
|
|
253
|
+
this.onAfterViewInit.emit();
|
|
254
|
+
}
|
|
255
|
+
ngAfterViewChecked() {
|
|
256
|
+
this.onAfterViewChecked.emit();
|
|
257
|
+
}
|
|
258
|
+
ngOnDestroy() {
|
|
259
|
+
this.onDestroy.emit();
|
|
260
|
+
}
|
|
261
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TrackLifecycleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
262
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: TrackLifecycleDirective, isStandalone: true, selector: "[trackLifecycle]", outputs: { onConstructed: "onConstructed", onChanges: "onChanges", onInit: "onInit", onDoCheck: "onDoCheck", onAfterContentInit: "onAfterContentInit", onAfterContentChecked: "onAfterContentChecked", onAfterViewInit: "onAfterViewInit", onAfterViewChecked: "onAfterViewChecked", onDestroy: "onDestroy" }, usesOnChanges: true, ngImport: i0 });
|
|
263
|
+
}
|
|
264
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: TrackLifecycleDirective, decorators: [{
|
|
265
|
+
type: Directive,
|
|
266
|
+
args: [{
|
|
267
|
+
selector: '[trackLifecycle]',
|
|
268
|
+
}]
|
|
269
|
+
}], ctorParameters: () => [], propDecorators: { onConstructed: [{
|
|
270
|
+
type: Output
|
|
271
|
+
}], onChanges: [{
|
|
272
|
+
type: Output
|
|
273
|
+
}], onInit: [{
|
|
274
|
+
type: Output
|
|
275
|
+
}], onDoCheck: [{
|
|
276
|
+
type: Output
|
|
277
|
+
}], onAfterContentInit: [{
|
|
278
|
+
type: Output
|
|
279
|
+
}], onAfterContentChecked: [{
|
|
280
|
+
type: Output
|
|
281
|
+
}], onAfterViewInit: [{
|
|
282
|
+
type: Output
|
|
283
|
+
}], onAfterViewChecked: [{
|
|
284
|
+
type: Output
|
|
285
|
+
}], onDestroy: [{
|
|
286
|
+
type: Output
|
|
287
|
+
}] } });
|
|
288
|
+
|
|
289
|
+
class StickyObserverDirective {
|
|
290
|
+
elementRef;
|
|
291
|
+
renderer;
|
|
292
|
+
observer;
|
|
293
|
+
sentinel;
|
|
294
|
+
constructor(elementRef, renderer) {
|
|
295
|
+
this.elementRef = elementRef;
|
|
296
|
+
this.renderer = renderer;
|
|
297
|
+
}
|
|
298
|
+
ngAfterViewInit() {
|
|
299
|
+
const stickyEl = this.elementRef.nativeElement;
|
|
300
|
+
this.sentinel = this.renderer.createElement('div');
|
|
301
|
+
this.renderer.setStyle(this.sentinel, 'height', '1px');
|
|
302
|
+
this.renderer.setStyle(this.sentinel, 'margin-top', '-1px');
|
|
303
|
+
this.renderer.setStyle(this.sentinel, 'pointer-events', 'none');
|
|
304
|
+
this.renderer.setStyle(this.sentinel, 'opacity', '0');
|
|
305
|
+
const parent = stickyEl.parentElement;
|
|
306
|
+
parent.insertBefore(this.sentinel, stickyEl);
|
|
307
|
+
this.observer = new IntersectionObserver(([entry]) => {
|
|
308
|
+
const isStuck = entry.boundingClientRect.top < 0;
|
|
309
|
+
if (isStuck) {
|
|
310
|
+
this.renderer.addClass(stickyEl, 'sticked');
|
|
311
|
+
}
|
|
312
|
+
else {
|
|
313
|
+
this.renderer.removeClass(stickyEl, 'sticked');
|
|
314
|
+
}
|
|
315
|
+
}, { threshold: [1] });
|
|
316
|
+
this.observer.observe(this.sentinel);
|
|
317
|
+
}
|
|
318
|
+
ngOnDestroy() {
|
|
319
|
+
this.observer?.disconnect();
|
|
320
|
+
this.sentinel?.remove();
|
|
321
|
+
}
|
|
322
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: StickyObserverDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
323
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: StickyObserverDirective, isStandalone: true, selector: "[appStickyObserver]", ngImport: i0 });
|
|
324
|
+
}
|
|
325
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: StickyObserverDirective, decorators: [{
|
|
326
|
+
type: Directive,
|
|
327
|
+
args: [{
|
|
328
|
+
selector: '[appStickyObserver]',
|
|
329
|
+
}]
|
|
330
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }] });
|
|
331
|
+
|
|
332
|
+
class CenterEllipsisPipe {
|
|
333
|
+
transform(value, visibleStart = 4, visibleEnd = 4) {
|
|
334
|
+
if (!value) {
|
|
335
|
+
return '';
|
|
336
|
+
}
|
|
337
|
+
if (value.length <= visibleStart + visibleEnd) {
|
|
338
|
+
return value;
|
|
339
|
+
}
|
|
340
|
+
const start = value.slice(0, visibleStart);
|
|
341
|
+
const end = value.slice(-visibleEnd);
|
|
342
|
+
return `${start}...${end}`;
|
|
343
|
+
}
|
|
344
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CenterEllipsisPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
345
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "21.1.1", ngImport: i0, type: CenterEllipsisPipe, isStandalone: true, name: "centerEllipsis" });
|
|
346
|
+
}
|
|
347
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: CenterEllipsisPipe, decorators: [{
|
|
348
|
+
type: Pipe,
|
|
349
|
+
args: [{
|
|
350
|
+
name: 'centerEllipsis',
|
|
351
|
+
}]
|
|
352
|
+
}] });
|
|
353
|
+
|
|
354
|
+
function getAspectRatioFit(maxWidth, maxHeight, srcWidth, srcHeight) {
|
|
355
|
+
if (srcWidth && srcHeight) {
|
|
356
|
+
const ratio = Math.min(maxWidth / srcWidth, maxHeight / srcHeight);
|
|
357
|
+
return { width: srcWidth * ratio, height: srcHeight * ratio };
|
|
358
|
+
}
|
|
359
|
+
return { width: maxWidth, height: maxHeight };
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
function stringToHslColor(string, saturation = 100, lightness = 75) {
|
|
363
|
+
let hash = 0;
|
|
364
|
+
for (let i = 0; i < string.length; i++) {
|
|
365
|
+
hash = string.charCodeAt(i) + ((hash << 5) - hash);
|
|
366
|
+
hash = hash & hash;
|
|
367
|
+
}
|
|
368
|
+
return `hsl(${hash % 360}, ${saturation}%, ${lightness}%)`;
|
|
369
|
+
}
|
|
370
|
+
|
|
371
|
+
class AppIconsLibrary {
|
|
372
|
+
icons = new Map();
|
|
373
|
+
addIcon(icon, name) {
|
|
374
|
+
this.icons.set(name, icon
|
|
375
|
+
.replace('<svg', '<svg class="svg-icon" ')
|
|
376
|
+
.replace(/data-fill/g, 'fill')
|
|
377
|
+
.replace(/data-stroke/g, 'stroke'));
|
|
378
|
+
}
|
|
379
|
+
getIcon(name) {
|
|
380
|
+
const icon = this.icons.get(name);
|
|
381
|
+
if (!icon) {
|
|
382
|
+
console.error(`${name} icon was not found`);
|
|
383
|
+
return undefined;
|
|
384
|
+
}
|
|
385
|
+
return { svgData: icon, name };
|
|
386
|
+
}
|
|
387
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AppIconsLibrary, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
388
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AppIconsLibrary, providedIn: 'root' });
|
|
389
|
+
}
|
|
390
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: AppIconsLibrary, decorators: [{
|
|
391
|
+
type: Injectable,
|
|
392
|
+
args: [{ providedIn: 'root' }]
|
|
393
|
+
}] });
|
|
394
|
+
|
|
395
|
+
class IconComponent {
|
|
396
|
+
elementRef;
|
|
397
|
+
icons;
|
|
398
|
+
renderer;
|
|
399
|
+
sanitizer;
|
|
400
|
+
noScaling;
|
|
401
|
+
strokeDiff;
|
|
402
|
+
set icon(i) {
|
|
403
|
+
if (i !== this.iconApp) {
|
|
404
|
+
i = i || '';
|
|
405
|
+
const prev = this.iconApp;
|
|
406
|
+
this.iconApp = i;
|
|
407
|
+
this.updateIcon(i, prev);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
iconApp = '';
|
|
411
|
+
constructor(elementRef, icons, renderer, sanitizer, noScaling, strokeDiff) {
|
|
412
|
+
this.elementRef = elementRef;
|
|
413
|
+
this.icons = icons;
|
|
414
|
+
this.renderer = renderer;
|
|
415
|
+
this.sanitizer = sanitizer;
|
|
416
|
+
this.noScaling = noScaling;
|
|
417
|
+
this.strokeDiff = strokeDiff;
|
|
418
|
+
}
|
|
419
|
+
updateIcon(current, previous) {
|
|
420
|
+
let rawSvg;
|
|
421
|
+
let currentClass = '';
|
|
422
|
+
const previousClass = typeof previous === 'object' ? previous.name : previous;
|
|
423
|
+
if (typeof current === 'object') {
|
|
424
|
+
rawSvg = current.svgData;
|
|
425
|
+
currentClass = current.name;
|
|
426
|
+
}
|
|
427
|
+
else {
|
|
428
|
+
currentClass = current;
|
|
429
|
+
rawSvg = this.icons.getIcon(current)?.svgData || '';
|
|
430
|
+
}
|
|
431
|
+
if (!rawSvg) {
|
|
432
|
+
return;
|
|
433
|
+
}
|
|
434
|
+
rawSvg = rawSvg
|
|
435
|
+
.replace('<svg', '<svg class="svg-icon" ')
|
|
436
|
+
.replace(/data-fill/g, 'fill')
|
|
437
|
+
.replace(/data-stroke/g, 'stroke');
|
|
438
|
+
if (this.noScaling) {
|
|
439
|
+
rawSvg = rawSvg.replace(/stroke-width="/g, ' vector-effect="non-scaling-stroke" stroke-width="');
|
|
440
|
+
}
|
|
441
|
+
else if (this.strokeDiff) {
|
|
442
|
+
rawSvg = this.adjustStrokeWidth(rawSvg, +this.strokeDiff);
|
|
443
|
+
}
|
|
444
|
+
this.renderer.setProperty(this.elementRef.nativeElement, 'innerHTML', rawSvg);
|
|
445
|
+
this.renderer.addClass(this.elementRef.nativeElement, 'icon');
|
|
446
|
+
if (previousClass) {
|
|
447
|
+
this.renderer.removeClass(this.elementRef.nativeElement, previousClass);
|
|
448
|
+
}
|
|
449
|
+
if (currentClass) {
|
|
450
|
+
this.renderer.addClass(this.elementRef.nativeElement, currentClass);
|
|
451
|
+
}
|
|
452
|
+
}
|
|
453
|
+
adjustStrokeWidth(svgString, strokeDiff) {
|
|
454
|
+
return svgString.replace(/stroke-width="([\d.]+)"/g, (_, n) => {
|
|
455
|
+
const updatedWidth = parseFloat(n) + strokeDiff;
|
|
456
|
+
return `stroke-width="${updatedWidth}"`;
|
|
457
|
+
});
|
|
458
|
+
}
|
|
459
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: IconComponent, deps: [{ token: i0.ElementRef }, { token: AppIconsLibrary }, { token: i0.Renderer2 }, { token: i2.DomSanitizer }, { token: 'no-scaling', attribute: true }, { token: 'stroke-diff', attribute: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
460
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.1.1", type: IconComponent, isStandalone: true, selector: "app-icon", inputs: { icon: "icon" }, ngImport: i0, template: ``, isInline: true, styles: [":host{display:inline-block;line-height:0!important}:host ::ng-deep .svg-icon{display:inline-block;font-size:inherit;height:1em;width:1em;overflow:visible;position:relative;vertical-align:-.1em}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
461
|
+
}
|
|
462
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: IconComponent, decorators: [{
|
|
463
|
+
type: Component,
|
|
464
|
+
args: [{ selector: 'app-icon', template: ``, changeDetection: ChangeDetectionStrategy.OnPush, styles: [":host{display:inline-block;line-height:0!important}:host ::ng-deep .svg-icon{display:inline-block;font-size:inherit;height:1em;width:1em;overflow:visible;position:relative;vertical-align:-.1em}\n"] }]
|
|
465
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: AppIconsLibrary }, { type: i0.Renderer2 }, { type: i2.DomSanitizer }, { type: undefined, decorators: [{
|
|
466
|
+
type: Attribute,
|
|
467
|
+
args: ['no-scaling']
|
|
468
|
+
}] }, { type: undefined, decorators: [{
|
|
469
|
+
type: Attribute,
|
|
470
|
+
args: ['stroke-diff']
|
|
471
|
+
}] }], propDecorators: { icon: [{
|
|
472
|
+
type: Input,
|
|
473
|
+
args: [{ required: true }]
|
|
474
|
+
}] } });
|
|
475
|
+
|
|
476
|
+
const HAS_NUMBER = /\d/;
|
|
477
|
+
const HAS_CAPITAL_CASE = /[A-Z]/;
|
|
478
|
+
const HAS_SMALL_CASE = /[a-z]/;
|
|
479
|
+
const HAS_SPECIAL_CHARTERS = /[ !@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/;
|
|
480
|
+
const MIN_LENGTH = /[A-Za-z\d/!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]{8,30}$/;
|
|
481
|
+
const EMAIL = /(\w+@[a-zA-Z_]+?\.[a-zA-Z]{2,9})/;
|
|
482
|
+
|
|
483
|
+
const emptyCountry = {
|
|
484
|
+
code: '',
|
|
485
|
+
name: '',
|
|
486
|
+
iso: '',
|
|
487
|
+
phonePrefix: '',
|
|
488
|
+
};
|
|
489
|
+
class CountryService {
|
|
490
|
+
static phoneUtil = PhoneNumberUtil.getInstance();
|
|
491
|
+
static flagOverrides = {
|
|
492
|
+
AC: 'sh-ac',
|
|
493
|
+
TA: 'sh-ta',
|
|
494
|
+
XK: 'xk',
|
|
495
|
+
EA: 'es-ce',
|
|
496
|
+
IC: 'es-cn',
|
|
497
|
+
CP: 'fr-cp',
|
|
498
|
+
DG: 'dg',
|
|
499
|
+
GG: 'gg',
|
|
500
|
+
JE: 'je',
|
|
501
|
+
IM: 'im',
|
|
502
|
+
CW: 'cw',
|
|
503
|
+
SX: 'sx',
|
|
504
|
+
MF: 'mf',
|
|
505
|
+
};
|
|
506
|
+
static supportedRegions = CountryService.phoneUtil.getSupportedRegions();
|
|
507
|
+
static regionNames = new Intl.DisplayNames(['en'], { type: 'region' });
|
|
508
|
+
static allCountries = CountryService.supportedRegions.map((code) => {
|
|
509
|
+
const name = CountryService.regionNames.of(code) ?? '';
|
|
510
|
+
const isoCode = (CountryService.flagOverrides[code] ?? code).toLowerCase();
|
|
511
|
+
const phonePrefix = '+' + CountryService.phoneUtil.getCountryCodeForRegion(code);
|
|
512
|
+
return {
|
|
513
|
+
code,
|
|
514
|
+
name: name,
|
|
515
|
+
iso: isoCode,
|
|
516
|
+
phonePrefix: phonePrefix,
|
|
517
|
+
};
|
|
518
|
+
});
|
|
519
|
+
static countries = CountryService.allCountries;
|
|
520
|
+
static formatPhoneNumber(raw, countryCode) {
|
|
521
|
+
const formatter = new AsYouTypeFormatter(countryCode);
|
|
522
|
+
let formatted = '';
|
|
523
|
+
for (const digit of raw) {
|
|
524
|
+
formatted = formatter.inputDigit(digit);
|
|
525
|
+
}
|
|
526
|
+
return formatted;
|
|
527
|
+
}
|
|
528
|
+
static getCountryByCode(code) {
|
|
529
|
+
return CountryService.countries.find((v) => v.code === code.toUpperCase());
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
|
|
533
|
+
/**
|
|
534
|
+
* ThemeService<T>
|
|
535
|
+
* A generic, type-safe service for managing and applying color themes.
|
|
536
|
+
*
|
|
537
|
+
* @template T - The shape of a theme object, typically defined by a shared interface.
|
|
538
|
+
*/
|
|
539
|
+
class ThemeService {
|
|
540
|
+
document;
|
|
541
|
+
themes = {};
|
|
542
|
+
activeTheme;
|
|
543
|
+
constructor(document) {
|
|
544
|
+
this.document = document;
|
|
545
|
+
}
|
|
546
|
+
/**
|
|
547
|
+
* Initializes the theme system with a map of named themes and sets the active theme.
|
|
548
|
+
*
|
|
549
|
+
* @param themes - A record of theme names mapped to theme objects
|
|
550
|
+
* @param activeTheme - The name of the theme to activate initially
|
|
551
|
+
*/
|
|
552
|
+
init(themes, activeTheme) {
|
|
553
|
+
this.themes = themes;
|
|
554
|
+
this.activeTheme = activeTheme;
|
|
555
|
+
this.update();
|
|
556
|
+
}
|
|
557
|
+
/**
|
|
558
|
+
* Returns the name of the currently active theme.
|
|
559
|
+
*
|
|
560
|
+
* @returns The active theme name
|
|
561
|
+
*/
|
|
562
|
+
getActive() {
|
|
563
|
+
return this.activeTheme;
|
|
564
|
+
}
|
|
565
|
+
/**
|
|
566
|
+
* Sets a new active theme by name and applies its styles.
|
|
567
|
+
*
|
|
568
|
+
* @param name - The name of the theme to activate
|
|
569
|
+
*/
|
|
570
|
+
set(name) {
|
|
571
|
+
this.activeTheme = name;
|
|
572
|
+
this.update();
|
|
573
|
+
}
|
|
574
|
+
/**
|
|
575
|
+
* Applies the current theme's styles to the document body using CSS variables.
|
|
576
|
+
*/
|
|
577
|
+
update() {
|
|
578
|
+
const theme = this.themes[this.activeTheme];
|
|
579
|
+
Object.entries(theme).forEach(([key, value]) => {
|
|
580
|
+
this.document.body.style.setProperty(key, value);
|
|
581
|
+
});
|
|
582
|
+
}
|
|
583
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ThemeService, deps: [{ token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
584
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ThemeService, providedIn: 'root' });
|
|
585
|
+
}
|
|
586
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: ThemeService, decorators: [{
|
|
587
|
+
type: Injectable,
|
|
588
|
+
args: [{ providedIn: 'root' }]
|
|
589
|
+
}], ctorParameters: () => [{ type: Document, decorators: [{
|
|
590
|
+
type: Inject,
|
|
591
|
+
args: [DOCUMENT]
|
|
592
|
+
}] }] });
|
|
593
|
+
|
|
594
|
+
class UiAccordionComponent {
|
|
595
|
+
destroyRef;
|
|
596
|
+
platformId;
|
|
597
|
+
$isOpen = model(false, ...(ngDevMode ? [{ debugName: "$isOpen" }] : []));
|
|
598
|
+
$durationMs = input(300, ...(ngDevMode ? [{ debugName: "$durationMs" }] : []));
|
|
599
|
+
$contentHeight = signal('0', ...(ngDevMode ? [{ debugName: "$contentHeight" }] : []));
|
|
600
|
+
$transition = computed(() => `all ${this.$durationMs()}ms linear`, ...(ngDevMode ? [{ debugName: "$transition" }] : []));
|
|
601
|
+
$overflow = signal('hidden', ...(ngDevMode ? [{ debugName: "$overflow" }] : []));
|
|
602
|
+
$content = viewChild('container', ...(ngDevMode ? [{ debugName: "$content" }] : []));
|
|
603
|
+
resizeDebounceTimer = new Subscription();
|
|
604
|
+
constructor(destroyRef, platformId) {
|
|
605
|
+
this.destroyRef = destroyRef;
|
|
606
|
+
this.platformId = platformId;
|
|
607
|
+
effect(() => {
|
|
608
|
+
untracked(() => {
|
|
609
|
+
timer(this.$durationMs())
|
|
610
|
+
.pipe(tap(() => {
|
|
611
|
+
this.$overflow.set(this.$isOpen() ? 'visible' : 'hidden');
|
|
612
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
613
|
+
.subscribe();
|
|
614
|
+
});
|
|
615
|
+
});
|
|
616
|
+
}
|
|
617
|
+
ngAfterViewInit() {
|
|
618
|
+
this.setSize();
|
|
619
|
+
const content = this.$content();
|
|
620
|
+
if (content && isPlatformBrowser(this.platformId)) {
|
|
621
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
622
|
+
this.resizeDebounceTimer.unsubscribe();
|
|
623
|
+
this.resizeDebounceTimer = asyncScheduler.schedule(() => {
|
|
624
|
+
this.setSize();
|
|
625
|
+
});
|
|
626
|
+
});
|
|
627
|
+
resizeObserver.observe(content.nativeElement);
|
|
628
|
+
this.destroyRef.onDestroy(() => resizeObserver.disconnect());
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
setSize() {
|
|
632
|
+
const content = this.$content();
|
|
633
|
+
if (content) {
|
|
634
|
+
const height = content.nativeElement.offsetHeight;
|
|
635
|
+
this.$contentHeight.set(height + 'px');
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAccordionComponent, deps: [{ token: i0.DestroyRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
639
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "21.1.1", type: UiAccordionComponent, isStandalone: true, selector: "app-ui-accordion", inputs: { $isOpen: { classPropertyName: "$isOpen", publicName: "$isOpen", isSignal: true, isRequired: false, transformFunction: null }, $durationMs: { classPropertyName: "$durationMs", publicName: "$durationMs", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { $isOpen: "$isOpenChange" }, viewQueries: [{ propertyName: "$content", first: true, predicate: ["container"], descendants: true, isSignal: true }], ngImport: i0, template: "<button class=\"button\" (click)=\"$isOpen.set(!$isOpen())\">\r\n <ng-content select=\"[button]\"></ng-content>\r\n</button>\r\n\r\n<div\r\n class=\"content\"\r\n [ngStyle]=\"{\r\n maxHeight: $isOpen() ? $contentHeight() : 0 + 'px',\r\n transition: $transition(),\r\n overflow: $overflow(),\r\n }\"\r\n>\r\n <div #container>\r\n <ng-content select=\"[content]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;width:100%}.button{width:100%;cursor:pointer}.content{width:100%;overflow:hidden;max-height:auto}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
640
|
+
}
|
|
641
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAccordionComponent, decorators: [{
|
|
642
|
+
type: Component,
|
|
643
|
+
args: [{ selector: 'app-ui-accordion', standalone: true, imports: [NgStyle], changeDetection: ChangeDetectionStrategy.OnPush, template: "<button class=\"button\" (click)=\"$isOpen.set(!$isOpen())\">\r\n <ng-content select=\"[button]\"></ng-content>\r\n</button>\r\n\r\n<div\r\n class=\"content\"\r\n [ngStyle]=\"{\r\n maxHeight: $isOpen() ? $contentHeight() : 0 + 'px',\r\n transition: $transition(),\r\n overflow: $overflow(),\r\n }\"\r\n>\r\n <div #container>\r\n <ng-content select=\"[content]\"></ng-content>\r\n </div>\r\n</div>\r\n", styles: [":host{display:block;width:100%}.button{width:100%;cursor:pointer}.content{width:100%;overflow:hidden;max-height:auto}\n"] }]
|
|
644
|
+
}], ctorParameters: () => [{ type: i0.DestroyRef }, { type: undefined, decorators: [{
|
|
645
|
+
type: Inject,
|
|
646
|
+
args: [PLATFORM_ID]
|
|
647
|
+
}] }], propDecorators: { $isOpen: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isOpen", required: false }] }, { type: i0.Output, args: ["$isOpenChange"] }], $durationMs: [{ type: i0.Input, args: [{ isSignal: true, alias: "$durationMs", required: false }] }], $content: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }] } });
|
|
648
|
+
|
|
649
|
+
var AlertType;
|
|
650
|
+
(function (AlertType) {
|
|
651
|
+
AlertType["SUCCESS"] = "success";
|
|
652
|
+
AlertType["ERROR"] = "error";
|
|
653
|
+
AlertType["INFO"] = "information";
|
|
654
|
+
AlertType["WARNING"] = "warning";
|
|
655
|
+
AlertType["CUSTOM"] = "custom";
|
|
656
|
+
})(AlertType || (AlertType = {}));
|
|
657
|
+
class Alert {
|
|
658
|
+
id = ulid();
|
|
659
|
+
type = AlertType.SUCCESS;
|
|
660
|
+
title = '';
|
|
661
|
+
message = '';
|
|
662
|
+
icon = '';
|
|
663
|
+
component;
|
|
664
|
+
componentInputs;
|
|
665
|
+
constructor(init) {
|
|
666
|
+
Object.assign(this, init);
|
|
667
|
+
}
|
|
668
|
+
}
|
|
669
|
+
|
|
670
|
+
class UiAlertMessagesService {
|
|
671
|
+
overlay;
|
|
672
|
+
router;
|
|
673
|
+
$alerts = signal([], ...(ngDevMode ? [{ debugName: "$alerts" }] : []));
|
|
674
|
+
overlayRef;
|
|
675
|
+
component = null;
|
|
676
|
+
constructor(overlay, router) {
|
|
677
|
+
this.overlay = overlay;
|
|
678
|
+
this.router = router;
|
|
679
|
+
}
|
|
680
|
+
success(params) {
|
|
681
|
+
this.open(new Alert({
|
|
682
|
+
title: params.title ?? 'Success!',
|
|
683
|
+
type: AlertType.SUCCESS,
|
|
684
|
+
message: params.message,
|
|
685
|
+
icon: 'success.svg',
|
|
686
|
+
}));
|
|
687
|
+
}
|
|
688
|
+
error(params) {
|
|
689
|
+
this.open(new Alert({
|
|
690
|
+
title: params.title ?? 'Error!',
|
|
691
|
+
type: AlertType.ERROR,
|
|
692
|
+
message: params.message,
|
|
693
|
+
icon: 'error.svg',
|
|
694
|
+
}));
|
|
695
|
+
}
|
|
696
|
+
information(params) {
|
|
697
|
+
this.open(new Alert({
|
|
698
|
+
title: params.title ?? 'Information!',
|
|
699
|
+
type: AlertType.INFO,
|
|
700
|
+
message: params.message,
|
|
701
|
+
icon: 'info.svg',
|
|
702
|
+
}));
|
|
703
|
+
}
|
|
704
|
+
warning(params) {
|
|
705
|
+
this.open(new Alert({
|
|
706
|
+
title: params.title ?? 'Warning!',
|
|
707
|
+
type: AlertType.WARNING,
|
|
708
|
+
message: params.message,
|
|
709
|
+
icon: 'warning.svg',
|
|
710
|
+
}));
|
|
711
|
+
}
|
|
712
|
+
remove(alert) {
|
|
713
|
+
timer(250)
|
|
714
|
+
.pipe(tap(() => {
|
|
715
|
+
this.$alerts.set(this.$alerts().filter((x) => x !== alert));
|
|
716
|
+
}), switchMap(() => {
|
|
717
|
+
if (!this.$alerts().length) {
|
|
718
|
+
return timer(250).pipe(tap(() => {
|
|
719
|
+
this.overlayRef?.detach();
|
|
720
|
+
}));
|
|
721
|
+
}
|
|
722
|
+
return scheduled([0], asyncScheduler);
|
|
723
|
+
}))
|
|
724
|
+
.subscribe();
|
|
725
|
+
}
|
|
726
|
+
removeAll() {
|
|
727
|
+
this.$alerts.set([]);
|
|
728
|
+
timer(250)
|
|
729
|
+
.pipe(tap(() => {
|
|
730
|
+
this.overlayRef?.detach();
|
|
731
|
+
}))
|
|
732
|
+
.subscribe();
|
|
733
|
+
}
|
|
734
|
+
init(component) {
|
|
735
|
+
this.component = component;
|
|
736
|
+
const strategy = this.overlay.position().global();
|
|
737
|
+
const config = new OverlayConfig({
|
|
738
|
+
positionStrategy: strategy,
|
|
739
|
+
});
|
|
740
|
+
this.overlayRef = this.overlay.create(config);
|
|
741
|
+
this.overlayRef.attach(new ComponentPortal(this.component));
|
|
742
|
+
}
|
|
743
|
+
open(alert) {
|
|
744
|
+
if (!this.component) {
|
|
745
|
+
throw new Error('[UiAlertMessagesService] AlertMessagesComponent has not been initialized. ' +
|
|
746
|
+
'Call `init(AlertMessagesComponent)` during application startup (e.g. in `app.config.ts`) to enable alert rendering.');
|
|
747
|
+
}
|
|
748
|
+
if (!this.$alerts().length) {
|
|
749
|
+
this.init(this.component);
|
|
750
|
+
}
|
|
751
|
+
this.router.events
|
|
752
|
+
.pipe(filter((v) => v instanceof NavigationEnd), tap(() => {
|
|
753
|
+
this.removeAll();
|
|
754
|
+
}), take(1))
|
|
755
|
+
.subscribe();
|
|
756
|
+
this.$alerts.set([...this.$alerts(), alert]);
|
|
757
|
+
timer(10000)
|
|
758
|
+
.pipe(tap(() => {
|
|
759
|
+
this.remove(alert);
|
|
760
|
+
}))
|
|
761
|
+
.subscribe();
|
|
762
|
+
}
|
|
763
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAlertMessagesService, deps: [{ token: i1.Overlay }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
764
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAlertMessagesService, providedIn: 'root' });
|
|
765
|
+
}
|
|
766
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAlertMessagesService, decorators: [{
|
|
767
|
+
type: Injectable,
|
|
768
|
+
args: [{
|
|
769
|
+
providedIn: 'root',
|
|
770
|
+
}]
|
|
771
|
+
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i2$1.Router }] });
|
|
772
|
+
|
|
773
|
+
class UiAvatarDirective {
|
|
774
|
+
$class = input.required(...(ngDevMode ? [{ debugName: "$class" }] : []));
|
|
775
|
+
$src = input.required(...(ngDevMode ? [{ debugName: "$src" }] : []));
|
|
776
|
+
$acronym = input.required(...(ngDevMode ? [{ debugName: "$acronym" }] : []));
|
|
777
|
+
$backgroundColor = signal('', ...(ngDevMode ? [{ debugName: "$backgroundColor" }] : []));
|
|
778
|
+
$textColor = signal('', ...(ngDevMode ? [{ debugName: "$textColor" }] : []));
|
|
779
|
+
$text = signal('', ...(ngDevMode ? [{ debugName: "$text" }] : []));
|
|
780
|
+
$canShowAvatar = signal(true, ...(ngDevMode ? [{ debugName: "$canShowAvatar" }] : []));
|
|
781
|
+
constructor() {
|
|
782
|
+
effect(() => {
|
|
783
|
+
let acronym = '';
|
|
784
|
+
this.$acronym()
|
|
785
|
+
.split(' ')
|
|
786
|
+
.forEach((v) => {
|
|
787
|
+
acronym = acronym + v[0];
|
|
788
|
+
});
|
|
789
|
+
this.$backgroundColor.set(stringToHslColor(this.$acronym(), 100, 85));
|
|
790
|
+
this.$textColor.set(stringToHslColor(this.$acronym(), 100, 35));
|
|
791
|
+
this.$text.set(acronym);
|
|
792
|
+
});
|
|
793
|
+
}
|
|
794
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAvatarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
795
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiAvatarDirective, isStandalone: true, selector: "app-ui-avatar", inputs: { $class: { classPropertyName: "$class", publicName: "$class", isSignal: true, isRequired: true, transformFunction: null }, $src: { classPropertyName: "$src", publicName: "$src", isSignal: true, isRequired: true, transformFunction: null }, $acronym: { classPropertyName: "$acronym", publicName: "$acronym", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
796
|
+
}
|
|
797
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiAvatarDirective, decorators: [{
|
|
798
|
+
type: Directive,
|
|
799
|
+
args: [{
|
|
800
|
+
selector: 'app-ui-avatar',
|
|
801
|
+
}]
|
|
802
|
+
}], ctorParameters: () => [], propDecorators: { $class: [{ type: i0.Input, args: [{ isSignal: true, alias: "$class", required: true }] }], $src: [{ type: i0.Input, args: [{ isSignal: true, alias: "$src", required: true }] }], $acronym: [{ type: i0.Input, args: [{ isSignal: true, alias: "$acronym", required: true }] }] } });
|
|
803
|
+
|
|
804
|
+
class UiDailyCalendarDirective {
|
|
805
|
+
weekDaysEuropean = ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
|
|
806
|
+
weekDaysUsa = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
807
|
+
$isRangeSelection = input(false, ...(ngDevMode ? [{ debugName: "$isRangeSelection" }] : []));
|
|
808
|
+
get weekDays() {
|
|
809
|
+
return this.isUsaDateFormat() ? this.weekDaysUsa : this.weekDaysEuropean;
|
|
810
|
+
}
|
|
811
|
+
$dateStart = model(null, ...(ngDevMode ? [{ debugName: "$dateStart" }] : []));
|
|
812
|
+
$dateEnd = model(null, ...(ngDevMode ? [{ debugName: "$dateEnd" }] : []));
|
|
813
|
+
$hoverDate = signal(null, ...(ngDevMode ? [{ debugName: "$hoverDate" }] : []));
|
|
814
|
+
$currentMonth = model.required(...(ngDevMode ? [{ debugName: "$currentMonth" }] : []));
|
|
815
|
+
$currentYear = model.required(...(ngDevMode ? [{ debugName: "$currentYear" }] : []));
|
|
816
|
+
$onRangeSelect = output();
|
|
817
|
+
$onSelect = output();
|
|
818
|
+
$calendarDays = computed(() => {
|
|
819
|
+
const year = this.$currentYear();
|
|
820
|
+
const month = this.$currentMonth();
|
|
821
|
+
return this.generateCalendar(month, year);
|
|
822
|
+
}, ...(ngDevMode ? [{ debugName: "$calendarDays" }] : []));
|
|
823
|
+
generateCalendar(month, year) {
|
|
824
|
+
const firstDayOfMonth = new Date(year, month, 1);
|
|
825
|
+
const nativeStartDayOfWeek = firstDayOfMonth.getDay();
|
|
826
|
+
const startDayOfWeek = this.isUsaDateFormat()
|
|
827
|
+
? nativeStartDayOfWeek
|
|
828
|
+
: nativeStartDayOfWeek === 0
|
|
829
|
+
? 6
|
|
830
|
+
: nativeStartDayOfWeek - 1;
|
|
831
|
+
const daysInMonth = new Date(year, month + 1, 0).getDate();
|
|
832
|
+
const daysInPrevMonth = new Date(year, month, 0).getDate();
|
|
833
|
+
const days = [];
|
|
834
|
+
for (let i = startDayOfWeek - 1; i >= 0; i--) {
|
|
835
|
+
const day = daysInPrevMonth - i;
|
|
836
|
+
const newDate = new Date(year, month - 1, day);
|
|
837
|
+
days.push({
|
|
838
|
+
date: newDate,
|
|
839
|
+
...this.getDayState(newDate),
|
|
840
|
+
inCurrentMonth: false,
|
|
841
|
+
});
|
|
842
|
+
}
|
|
843
|
+
for (let d = 1; d <= daysInMonth; d++) {
|
|
844
|
+
const newDate = new Date(year, month, d);
|
|
845
|
+
days.push({
|
|
846
|
+
date: newDate,
|
|
847
|
+
...this.getDayState(newDate),
|
|
848
|
+
inCurrentMonth: true,
|
|
849
|
+
});
|
|
850
|
+
}
|
|
851
|
+
const totalCells = 42;
|
|
852
|
+
let nextDay = 1;
|
|
853
|
+
while (days.length < totalCells) {
|
|
854
|
+
const newDate = new Date(year, month + 1, nextDay++);
|
|
855
|
+
days.push({
|
|
856
|
+
date: newDate,
|
|
857
|
+
...this.getDayState(newDate),
|
|
858
|
+
inCurrentMonth: false,
|
|
859
|
+
});
|
|
860
|
+
}
|
|
861
|
+
return days;
|
|
862
|
+
}
|
|
863
|
+
isSameDay(a, b) {
|
|
864
|
+
if (!a || !b)
|
|
865
|
+
return false;
|
|
866
|
+
return a.getFullYear() === b.getFullYear() && a.getMonth() === b.getMonth() && a.getDate() === b.getDate();
|
|
867
|
+
}
|
|
868
|
+
isBetween(date, start, end) {
|
|
869
|
+
if (!start || !end)
|
|
870
|
+
return false;
|
|
871
|
+
const d = new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime();
|
|
872
|
+
const s = new Date(start.getFullYear(), start.getMonth(), start.getDate()).getTime();
|
|
873
|
+
const e = new Date(end.getFullYear(), end.getMonth(), end.getDate()).getTime();
|
|
874
|
+
return d > s && d < e;
|
|
875
|
+
}
|
|
876
|
+
getDayState(date) {
|
|
877
|
+
const hover = this.$hoverDate();
|
|
878
|
+
const start = this.$dateStart();
|
|
879
|
+
const end = this.$dateEnd();
|
|
880
|
+
if (!this.$isRangeSelection()) {
|
|
881
|
+
return {
|
|
882
|
+
isSelected: this.isSameDay(start, date),
|
|
883
|
+
isStart: false,
|
|
884
|
+
isEnd: false,
|
|
885
|
+
inRange: false,
|
|
886
|
+
inHoverRange: false,
|
|
887
|
+
};
|
|
888
|
+
}
|
|
889
|
+
// Range mode
|
|
890
|
+
const isStart = this.isSameDay(start, date);
|
|
891
|
+
const isEnd = this.isSameDay(end, date);
|
|
892
|
+
const inRange = this.isBetween(date, start, end);
|
|
893
|
+
let inHoverRange = false;
|
|
894
|
+
if (start && !end && hover) {
|
|
895
|
+
const d = date.getTime();
|
|
896
|
+
const s = start.getTime();
|
|
897
|
+
const h = hover.getTime();
|
|
898
|
+
if (h > s) {
|
|
899
|
+
inHoverRange = d > s && d <= h;
|
|
900
|
+
}
|
|
901
|
+
}
|
|
902
|
+
const isSingleSelected = this.isSameDay(start, date) || this.isSameDay(end, date);
|
|
903
|
+
const isSelected = isStart || isEnd || (!end && isStart) || isSingleSelected;
|
|
904
|
+
return { isSelected, isStart, isEnd, inRange, inHoverRange };
|
|
905
|
+
}
|
|
906
|
+
onHover(date, inHoverRange) {
|
|
907
|
+
if (inHoverRange) {
|
|
908
|
+
return;
|
|
909
|
+
}
|
|
910
|
+
const rangeStart = this.$dateStart();
|
|
911
|
+
const rangeEnd = this.$dateEnd();
|
|
912
|
+
if (!date) {
|
|
913
|
+
this.$hoverDate.set(null);
|
|
914
|
+
return;
|
|
915
|
+
}
|
|
916
|
+
if (!this.$isRangeSelection()) {
|
|
917
|
+
return;
|
|
918
|
+
}
|
|
919
|
+
if (!rangeStart || rangeEnd) {
|
|
920
|
+
return;
|
|
921
|
+
}
|
|
922
|
+
if (date.getTime() < rangeStart.getTime()) {
|
|
923
|
+
this.$hoverDate.set(null);
|
|
924
|
+
return;
|
|
925
|
+
}
|
|
926
|
+
this.$hoverDate.set(date);
|
|
927
|
+
}
|
|
928
|
+
isUsaDateFormat() {
|
|
929
|
+
return DateUtils.isUsaDateFormat();
|
|
930
|
+
}
|
|
931
|
+
select(date) {
|
|
932
|
+
this.$hoverDate.set(null);
|
|
933
|
+
if (!this.$isRangeSelection()) {
|
|
934
|
+
this.$dateStart.set(date);
|
|
935
|
+
this.$onSelect.emit(date);
|
|
936
|
+
return;
|
|
937
|
+
}
|
|
938
|
+
const start = this.$dateStart();
|
|
939
|
+
const end = this.$dateEnd();
|
|
940
|
+
if (!start || (start && end)) {
|
|
941
|
+
this.$dateStart.set(date);
|
|
942
|
+
this.$dateEnd.set(null);
|
|
943
|
+
this.$onRangeSelect.emit({ start: date, end: null });
|
|
944
|
+
return;
|
|
945
|
+
}
|
|
946
|
+
if (start && !end) {
|
|
947
|
+
const clicked = new Date(date.getFullYear(), date.getMonth(), date.getDate()).getTime();
|
|
948
|
+
const s = new Date(start.getFullYear(), start.getMonth(), start.getDate()).getTime();
|
|
949
|
+
if (clicked < s) {
|
|
950
|
+
this.$dateStart.set(date);
|
|
951
|
+
this.$onRangeSelect.emit({ start: date, end: null });
|
|
952
|
+
return;
|
|
953
|
+
}
|
|
954
|
+
this.$dateEnd.set(date);
|
|
955
|
+
this.$onRangeSelect.emit({ start: this.$dateStart(), end: date });
|
|
956
|
+
return;
|
|
957
|
+
}
|
|
958
|
+
}
|
|
959
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDailyCalendarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
960
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiDailyCalendarDirective, isStandalone: true, selector: "app-ui-daily-calendar", inputs: { $isRangeSelection: { classPropertyName: "$isRangeSelection", publicName: "$isRangeSelection", isSignal: true, isRequired: false, transformFunction: null }, $dateStart: { classPropertyName: "$dateStart", publicName: "$dateStart", isSignal: true, isRequired: false, transformFunction: null }, $dateEnd: { classPropertyName: "$dateEnd", publicName: "$dateEnd", isSignal: true, isRequired: false, transformFunction: null }, $currentMonth: { classPropertyName: "$currentMonth", publicName: "$currentMonth", isSignal: true, isRequired: true, transformFunction: null }, $currentYear: { classPropertyName: "$currentYear", publicName: "$currentYear", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { $dateStart: "$dateStartChange", $dateEnd: "$dateEndChange", $currentMonth: "$currentMonthChange", $currentYear: "$currentYearChange", $onRangeSelect: "$onRangeSelect", $onSelect: "$onSelect" }, ngImport: i0 });
|
|
961
|
+
}
|
|
962
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDailyCalendarDirective, decorators: [{
|
|
963
|
+
type: Directive,
|
|
964
|
+
args: [{
|
|
965
|
+
selector: 'app-ui-daily-calendar',
|
|
966
|
+
}]
|
|
967
|
+
}], propDecorators: { $isRangeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isRangeSelection", required: false }] }], $dateStart: [{ type: i0.Input, args: [{ isSignal: true, alias: "$dateStart", required: false }] }, { type: i0.Output, args: ["$dateStartChange"] }], $dateEnd: [{ type: i0.Input, args: [{ isSignal: true, alias: "$dateEnd", required: false }] }, { type: i0.Output, args: ["$dateEndChange"] }], $currentMonth: [{ type: i0.Input, args: [{ isSignal: true, alias: "$currentMonth", required: true }] }, { type: i0.Output, args: ["$currentMonthChange"] }], $currentYear: [{ type: i0.Input, args: [{ isSignal: true, alias: "$currentYear", required: true }] }, { type: i0.Output, args: ["$currentYearChange"] }], $onRangeSelect: [{ type: i0.Output, args: ["$onRangeSelect"] }], $onSelect: [{ type: i0.Output, args: ["$onSelect"] }] } });
|
|
968
|
+
|
|
969
|
+
class UiMonthlyCalendarDirective {
|
|
970
|
+
$date = model(new Date(), ...(ngDevMode ? [{ debugName: "$date" }] : []));
|
|
971
|
+
$onSelect = output();
|
|
972
|
+
$currentYear = model.required(...(ngDevMode ? [{ debugName: "$currentYear" }] : []));
|
|
973
|
+
$months = computed(() => {
|
|
974
|
+
const year = this.$currentYear();
|
|
975
|
+
return this.generateMonths(year);
|
|
976
|
+
}, ...(ngDevMode ? [{ debugName: "$months" }] : []));
|
|
977
|
+
generateMonths(year) {
|
|
978
|
+
const current = this.$date() ?? new Date();
|
|
979
|
+
const day = current.getDate();
|
|
980
|
+
const monthNames = [
|
|
981
|
+
'January',
|
|
982
|
+
'February',
|
|
983
|
+
'March',
|
|
984
|
+
'April',
|
|
985
|
+
'May',
|
|
986
|
+
'June',
|
|
987
|
+
'July',
|
|
988
|
+
'August',
|
|
989
|
+
'September',
|
|
990
|
+
'October',
|
|
991
|
+
'November',
|
|
992
|
+
'December',
|
|
993
|
+
];
|
|
994
|
+
const months = monthNames.map((name, index) => {
|
|
995
|
+
const lastDay = new Date(year, index + 1, 0).getDate();
|
|
996
|
+
const safeDay = Math.min(day, lastDay);
|
|
997
|
+
const newDate = new Date(year, index, safeDay);
|
|
998
|
+
return {
|
|
999
|
+
index,
|
|
1000
|
+
name,
|
|
1001
|
+
short: name.substring(0, 3),
|
|
1002
|
+
date: newDate,
|
|
1003
|
+
isSelected: this.isSelected(newDate),
|
|
1004
|
+
};
|
|
1005
|
+
});
|
|
1006
|
+
return months;
|
|
1007
|
+
}
|
|
1008
|
+
select(date) {
|
|
1009
|
+
this.$onSelect.emit(date);
|
|
1010
|
+
}
|
|
1011
|
+
isSelected(date) {
|
|
1012
|
+
const selected = this.$date() ?? new Date();
|
|
1013
|
+
return (date.getFullYear() === selected.getFullYear() &&
|
|
1014
|
+
date.getMonth() === selected.getMonth() &&
|
|
1015
|
+
date.getDate() === selected.getDate());
|
|
1016
|
+
}
|
|
1017
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiMonthlyCalendarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1018
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiMonthlyCalendarDirective, isStandalone: true, selector: "app-ui-monthly-calendar", inputs: { $date: { classPropertyName: "$date", publicName: "$date", isSignal: true, isRequired: false, transformFunction: null }, $currentYear: { classPropertyName: "$currentYear", publicName: "$currentYear", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { $date: "$dateChange", $onSelect: "$onSelect", $currentYear: "$currentYearChange" }, ngImport: i0 });
|
|
1019
|
+
}
|
|
1020
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiMonthlyCalendarDirective, decorators: [{
|
|
1021
|
+
type: Directive,
|
|
1022
|
+
args: [{
|
|
1023
|
+
selector: 'app-ui-monthly-calendar',
|
|
1024
|
+
}]
|
|
1025
|
+
}], propDecorators: { $date: [{ type: i0.Input, args: [{ isSignal: true, alias: "$date", required: false }] }, { type: i0.Output, args: ["$dateChange"] }], $onSelect: [{ type: i0.Output, args: ["$onSelect"] }], $currentYear: [{ type: i0.Input, args: [{ isSignal: true, alias: "$currentYear", required: true }] }, { type: i0.Output, args: ["$currentYearChange"] }] } });
|
|
1026
|
+
|
|
1027
|
+
class UiYearlyCalendarDirective {
|
|
1028
|
+
$date = model(new Date(), ...(ngDevMode ? [{ debugName: "$date" }] : []));
|
|
1029
|
+
$onSelect = output();
|
|
1030
|
+
$currentYear = model.required(...(ngDevMode ? [{ debugName: "$currentYear" }] : []));
|
|
1031
|
+
$years = computed(() => {
|
|
1032
|
+
const year = this.$currentYear();
|
|
1033
|
+
return this.generateYears(year);
|
|
1034
|
+
}, ...(ngDevMode ? [{ debugName: "$years" }] : []));
|
|
1035
|
+
generateYears(startYear) {
|
|
1036
|
+
const current = this.$date() ?? new Date();
|
|
1037
|
+
const month = current.getMonth();
|
|
1038
|
+
const day = current.getDate();
|
|
1039
|
+
const selectedYear = current.getFullYear();
|
|
1040
|
+
const years = [];
|
|
1041
|
+
for (let i = 0; i < 20; i++) {
|
|
1042
|
+
const year = startYear + i;
|
|
1043
|
+
years.push({
|
|
1044
|
+
year,
|
|
1045
|
+
date: this.createSafeDate(year, month, day),
|
|
1046
|
+
isSelected: year === selectedYear,
|
|
1047
|
+
});
|
|
1048
|
+
}
|
|
1049
|
+
return years;
|
|
1050
|
+
}
|
|
1051
|
+
createSafeDate(year, month, day) {
|
|
1052
|
+
const lastDay = new Date(year, month + 1, 0).getDate();
|
|
1053
|
+
const safeDay = Math.min(day, lastDay);
|
|
1054
|
+
return new Date(year, month, safeDay);
|
|
1055
|
+
}
|
|
1056
|
+
select(date) {
|
|
1057
|
+
this.$date.set(date);
|
|
1058
|
+
this.$onSelect.emit(date);
|
|
1059
|
+
}
|
|
1060
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiYearlyCalendarDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1061
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiYearlyCalendarDirective, isStandalone: true, selector: "app-ui-yearly-calendar", inputs: { $date: { classPropertyName: "$date", publicName: "$date", isSignal: true, isRequired: false, transformFunction: null }, $currentYear: { classPropertyName: "$currentYear", publicName: "$currentYear", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { $date: "$dateChange", $onSelect: "$onSelect", $currentYear: "$currentYearChange" }, ngImport: i0 });
|
|
1062
|
+
}
|
|
1063
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiYearlyCalendarDirective, decorators: [{
|
|
1064
|
+
type: Directive,
|
|
1065
|
+
args: [{
|
|
1066
|
+
selector: 'app-ui-yearly-calendar',
|
|
1067
|
+
}]
|
|
1068
|
+
}], propDecorators: { $date: [{ type: i0.Input, args: [{ isSignal: true, alias: "$date", required: false }] }, { type: i0.Output, args: ["$dateChange"] }], $onSelect: [{ type: i0.Output, args: ["$onSelect"] }], $currentYear: [{ type: i0.Input, args: [{ isSignal: true, alias: "$currentYear", required: true }] }, { type: i0.Output, args: ["$currentYearChange"] }] } });
|
|
1069
|
+
|
|
1070
|
+
const typescript = {
|
|
1071
|
+
comment: { css: 'hl1', regexp: /(\/\/.*|\/\*[\s\S]*?\*\/)/g },
|
|
1072
|
+
string: { css: 'hl3', regexp: /(["'`].*?["'`])/gs },
|
|
1073
|
+
class: { css: 'hl4', regexp: /\b([A-Z][a-zA-Z$#_-]*)\b/g },
|
|
1074
|
+
typeKeyword: {
|
|
1075
|
+
css: 'hl6',
|
|
1076
|
+
regexp: /\b(any|boolean|null|number|object|string|void|symbol|bigint|unknown|never)\b/g,
|
|
1077
|
+
},
|
|
1078
|
+
keyword: {
|
|
1079
|
+
css: 'hl7',
|
|
1080
|
+
regexp: /\b(keyof|debugger|await|async|readonly|delete|instanceof|in|package|type|with|const|true|false|enum|let|var|namespace|as|class|extends|abstract|implements|interface|private|protected|public|static|constructor|function|new|super|this|typeof|yield)\b/g,
|
|
1081
|
+
},
|
|
1082
|
+
module: { css: 'hl8', regexp: /\b(export|import|module|from)\b/g },
|
|
1083
|
+
controlFlowLoop: {
|
|
1084
|
+
css: 'hl8',
|
|
1085
|
+
regexp: /\b(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\b/g,
|
|
1086
|
+
},
|
|
1087
|
+
function: { css: 'hl5', regexp: /\b([$a-zA-Z_]*[$a-zA-Z0-9$#_-]*)\s*(?=[(<])/g },
|
|
1088
|
+
number: { css: 'hl10', regexp: /\b(\d+)\b/g },
|
|
1089
|
+
enum: { css: 'hl11', regexp: /\b([A-Z0-9]+(?:_[A-Z0-9]+)*)\b/g },
|
|
1090
|
+
operator: { css: 'hl12', regexp: /([+\-=&|=>.;:,?!<>])/g },
|
|
1091
|
+
openBracket: { css: 'hl13', regexp: /([{\[(])/g },
|
|
1092
|
+
closeBracket: { css: 'hl14', regexp: /([}\])])/g },
|
|
1093
|
+
remains: { css: 'hl', regexp: /[^\%]+/g },
|
|
1094
|
+
};
|
|
1095
|
+
const xml = {
|
|
1096
|
+
comment: { css: 'hl1', regexp: /<!--[\s\S]*?-->/g },
|
|
1097
|
+
string: { css: 'hl3', regexp: /(["'`].*?["'`])/gs },
|
|
1098
|
+
class: { css: 'hl4', regexp: /\b/g },
|
|
1099
|
+
typeKeyword: {
|
|
1100
|
+
css: 'hl',
|
|
1101
|
+
regexp: /\b([a-zA-Z_:][a-zA-Z0-9_.:-]*)\b(?=\s*=|\])/g,
|
|
1102
|
+
},
|
|
1103
|
+
keyword: {
|
|
1104
|
+
css: 'hl7',
|
|
1105
|
+
regexp: /(?<=<\/?|!)[a-zA-Z0-9_-]+(?=\s|>)/g,
|
|
1106
|
+
},
|
|
1107
|
+
module: { css: 'hl8', regexp: /\b/g },
|
|
1108
|
+
controlFlowLoop: {
|
|
1109
|
+
css: 'hl8',
|
|
1110
|
+
regexp: /\b(break|case|catch|continue|default|do|else|finally|for|of|if|return|switch|throw|try|while)\b/g,
|
|
1111
|
+
},
|
|
1112
|
+
function: { css: 'hl5', regexp: /\b([$a-zA-Z_]*[$a-zA-Z0-9$#_-]*)\s*(?=[(])/g },
|
|
1113
|
+
number: { css: 'hl10', regexp: /\b(\d+)\b/g },
|
|
1114
|
+
enum: { css: 'hl11', regexp: /\b([A-Z0-9]+(?:_[A-Z0-9]+)*)\b/g },
|
|
1115
|
+
operator: { css: 'hl16', regexp: /([+\-&/|.;:,?!<>])/g },
|
|
1116
|
+
openBracket: { css: 'hl13', regexp: /([{\[(])/g },
|
|
1117
|
+
closeBracket: { css: 'hl14', regexp: /([}\])])/g },
|
|
1118
|
+
remains: { css: 'hl12', regexp: /[^\%]+/g },
|
|
1119
|
+
};
|
|
1120
|
+
const json = {
|
|
1121
|
+
comment: { css: 'hl1', regexp: /\b/g },
|
|
1122
|
+
string: { css: 'hl3', regexp: /(["'`])([^"':`]+)\1(?!\s*:)/g },
|
|
1123
|
+
class: { css: 'hl4', regexp: /\b/g },
|
|
1124
|
+
typeKeyword: {
|
|
1125
|
+
css: 'hl6',
|
|
1126
|
+
regexp: /\b/g,
|
|
1127
|
+
},
|
|
1128
|
+
keyword: {
|
|
1129
|
+
css: 'hl7',
|
|
1130
|
+
regexp: /\b(true|false)/g,
|
|
1131
|
+
},
|
|
1132
|
+
module: { css: 'hl8', regexp: /\b/g },
|
|
1133
|
+
controlFlowLoop: {
|
|
1134
|
+
css: 'hl8',
|
|
1135
|
+
regexp: /\b/g,
|
|
1136
|
+
},
|
|
1137
|
+
function: { css: 'hl5', regexp: /\b/g },
|
|
1138
|
+
number: { css: 'hl10', regexp: /\b(\d+)\b/g },
|
|
1139
|
+
enum: { css: 'hl11', regexp: /\b/g },
|
|
1140
|
+
operator: { css: 'hl12', regexp: /([:,])/g },
|
|
1141
|
+
openBracket: { css: 'hl13', regexp: /([{\[(])/g },
|
|
1142
|
+
closeBracket: { css: 'hl14', regexp: /([}\])])/g },
|
|
1143
|
+
remains: { css: 'hl', regexp: /[^\%]+/g },
|
|
1144
|
+
};
|
|
1145
|
+
const css = {
|
|
1146
|
+
comment: { css: 'hl1', regexp: /(\/\/.*|\/\*[\s\S]*?\*\/)/g },
|
|
1147
|
+
string: { css: 'hl3', regexp: /(["'`].*?["'`])/g },
|
|
1148
|
+
class: { css: 'hl9', regexp: /(?:\.|:)?[\w-]+\s*(?=\{)/g },
|
|
1149
|
+
typeKeyword: {
|
|
1150
|
+
css: 'hl8',
|
|
1151
|
+
regexp: /@\w+/g,
|
|
1152
|
+
},
|
|
1153
|
+
keyword: {
|
|
1154
|
+
css: 'hl',
|
|
1155
|
+
regexp: /\$\w[-\w_]*/g,
|
|
1156
|
+
},
|
|
1157
|
+
module: { css: 'hl8', regexp: /\b/g },
|
|
1158
|
+
controlFlowLoop: {
|
|
1159
|
+
css: 'hl8',
|
|
1160
|
+
regexp: /\b(break|case|catch|continue|default|do|else|finally|for|if|return|switch|throw|try|while)\b/g,
|
|
1161
|
+
},
|
|
1162
|
+
function: { css: 'hl5', regexp: /\b([$a-zA-Z_]*[$a-zA-Z0-9$#_-]*)\s*(?=[(<])/g },
|
|
1163
|
+
number: { css: 'hl10', regexp: /\b(\d+)\b/g },
|
|
1164
|
+
enum: { css: 'hl', regexp: /[\w-_]+:/g },
|
|
1165
|
+
operator: { css: 'hl12', regexp: /([+\-=&|=>.;:,?!<>])/g },
|
|
1166
|
+
openBracket: { css: 'hl13', regexp: /([{\[(])/g },
|
|
1167
|
+
closeBracket: { css: 'hl14', regexp: /([}\])])/g },
|
|
1168
|
+
remains: { css: 'hl3', regexp: /[^\%]+/g },
|
|
1169
|
+
};
|
|
1170
|
+
const codeLanguages = {
|
|
1171
|
+
javascript: typescript,
|
|
1172
|
+
typescript: typescript,
|
|
1173
|
+
js: typescript,
|
|
1174
|
+
ts: typescript,
|
|
1175
|
+
css: css,
|
|
1176
|
+
json: json,
|
|
1177
|
+
html: xml,
|
|
1178
|
+
xml: xml,
|
|
1179
|
+
};
|
|
1180
|
+
class UiCodeDirective {
|
|
1181
|
+
$code = input.required(...(ngDevMode ? [{ debugName: "$code" }] : []));
|
|
1182
|
+
$language = signal('', ...(ngDevMode ? [{ debugName: "$language" }] : []));
|
|
1183
|
+
$highlightedArray = signal([], ...(ngDevMode ? [{ debugName: "$highlightedArray" }] : []));
|
|
1184
|
+
constructor() {
|
|
1185
|
+
effect(() => {
|
|
1186
|
+
this.highlightCode(this.$code());
|
|
1187
|
+
});
|
|
1188
|
+
}
|
|
1189
|
+
highlightCode(code) {
|
|
1190
|
+
code = code.replace(/^\n+|\n+$/g, '').trimEnd();
|
|
1191
|
+
const split = code.split(/[\s\n]/, 1);
|
|
1192
|
+
if (Object.keys(codeLanguages).includes(split[0].toLowerCase())) {
|
|
1193
|
+
this.$language.set(split[0]);
|
|
1194
|
+
code = code.replace(split[0], '').trim();
|
|
1195
|
+
}
|
|
1196
|
+
else {
|
|
1197
|
+
this.$language.set('hl2');
|
|
1198
|
+
untracked(() => {
|
|
1199
|
+
this.$highlightedArray.set([{ css: 'hl2', string: code.trim(), index: 0 }]);
|
|
1200
|
+
});
|
|
1201
|
+
return;
|
|
1202
|
+
}
|
|
1203
|
+
let resultArray = [];
|
|
1204
|
+
Object.keys(codeLanguages[this.$language()]).forEach((element) => {
|
|
1205
|
+
resultArray.push(...[...code.matchAll(codeLanguages[this.$language()][element].regexp)].map((v) => ({
|
|
1206
|
+
css: codeLanguages[this.$language()][element].css,
|
|
1207
|
+
index: v.index,
|
|
1208
|
+
string: v[0],
|
|
1209
|
+
})));
|
|
1210
|
+
code = code.replaceAll(codeLanguages[this.$language()][element].regexp, (match) => `%`.repeat(match.length));
|
|
1211
|
+
});
|
|
1212
|
+
let bracketsStack = 0;
|
|
1213
|
+
resultArray = resultArray
|
|
1214
|
+
.sort((a, b) => (a.index > b.index ? 1 : -1))
|
|
1215
|
+
.map((m) => {
|
|
1216
|
+
let result = m;
|
|
1217
|
+
const setResult = () => {
|
|
1218
|
+
if (bracketsStack % 3 === 0) {
|
|
1219
|
+
result = { ...m, css: 'hl13' };
|
|
1220
|
+
}
|
|
1221
|
+
if (bracketsStack % 3 === 1) {
|
|
1222
|
+
result = { ...m, css: 'hl14' };
|
|
1223
|
+
}
|
|
1224
|
+
if (bracketsStack % 3 === 2) {
|
|
1225
|
+
result = { ...m, css: 'hl15' };
|
|
1226
|
+
}
|
|
1227
|
+
};
|
|
1228
|
+
if (m.css === 'hl13') {
|
|
1229
|
+
setResult();
|
|
1230
|
+
bracketsStack += 1;
|
|
1231
|
+
}
|
|
1232
|
+
if (m.css === 'hl14') {
|
|
1233
|
+
bracketsStack -= 1;
|
|
1234
|
+
setResult();
|
|
1235
|
+
}
|
|
1236
|
+
return result;
|
|
1237
|
+
});
|
|
1238
|
+
this.$highlightedArray.set(resultArray);
|
|
1239
|
+
}
|
|
1240
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiCodeDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1241
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiCodeDirective, isStandalone: true, selector: "app-ui-code", inputs: { $code: { classPropertyName: "$code", publicName: "$code", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
1242
|
+
}
|
|
1243
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiCodeDirective, decorators: [{
|
|
1244
|
+
type: Directive,
|
|
1245
|
+
args: [{
|
|
1246
|
+
selector: 'app-ui-code',
|
|
1247
|
+
}]
|
|
1248
|
+
}], ctorParameters: () => [], propDecorators: { $code: [{ type: i0.Input, args: [{ isSignal: true, alias: "$code", required: true }] }] } });
|
|
1249
|
+
|
|
1250
|
+
class UiPopupInstance {
|
|
1251
|
+
overlayRef;
|
|
1252
|
+
destroyRef;
|
|
1253
|
+
id = '';
|
|
1254
|
+
width = 0;
|
|
1255
|
+
animationOrigin$ = new BehaviorSubject('center');
|
|
1256
|
+
options = {
|
|
1257
|
+
positionX: 0,
|
|
1258
|
+
positionY: 0,
|
|
1259
|
+
startTransition: 'scale(0)',
|
|
1260
|
+
endTransition: 'scale(0)',
|
|
1261
|
+
};
|
|
1262
|
+
closed = new Subject();
|
|
1263
|
+
shouldClose = new Subject();
|
|
1264
|
+
constructor(overlayRef, destroyRef, options = {
|
|
1265
|
+
positionX: 0,
|
|
1266
|
+
positionY: 0,
|
|
1267
|
+
startTransition: 'scale(0.8)',
|
|
1268
|
+
endTransition: 'scale(1)',
|
|
1269
|
+
}) {
|
|
1270
|
+
this.overlayRef = overlayRef;
|
|
1271
|
+
this.destroyRef = destroyRef;
|
|
1272
|
+
this.options = options;
|
|
1273
|
+
this.overlayRef
|
|
1274
|
+
.detachments()
|
|
1275
|
+
.pipe(takeUntilDestroyed(this.destroyRef))
|
|
1276
|
+
.subscribe(() => {
|
|
1277
|
+
this.closed.next();
|
|
1278
|
+
this.closed.complete();
|
|
1279
|
+
this.overlayRef.dispose();
|
|
1280
|
+
});
|
|
1281
|
+
}
|
|
1282
|
+
close() {
|
|
1283
|
+
this.shouldClose.next();
|
|
1284
|
+
this.shouldClose.complete();
|
|
1285
|
+
}
|
|
1286
|
+
detach() {
|
|
1287
|
+
this.overlayRef.detach();
|
|
1288
|
+
}
|
|
1289
|
+
onShouldClose() {
|
|
1290
|
+
return this.shouldClose.asObservable();
|
|
1291
|
+
}
|
|
1292
|
+
}
|
|
1293
|
+
|
|
1294
|
+
class UiPopupService {
|
|
1295
|
+
overlay;
|
|
1296
|
+
injector;
|
|
1297
|
+
destroyRef;
|
|
1298
|
+
router;
|
|
1299
|
+
popupInstances = [];
|
|
1300
|
+
backdropRef;
|
|
1301
|
+
backdropPortal;
|
|
1302
|
+
backdropPortalRef;
|
|
1303
|
+
destroyDownloading$ = new Subject();
|
|
1304
|
+
destroyOutsideClickSubscription$ = new Subject();
|
|
1305
|
+
constructor(overlay, injector, destroyRef, router) {
|
|
1306
|
+
this.overlay = overlay;
|
|
1307
|
+
this.injector = injector;
|
|
1308
|
+
this.destroyRef = destroyRef;
|
|
1309
|
+
this.router = router;
|
|
1310
|
+
}
|
|
1311
|
+
init(component) {
|
|
1312
|
+
this.backdropPortal = new ComponentPortal(component);
|
|
1313
|
+
}
|
|
1314
|
+
/**
|
|
1315
|
+
* Opens a popup with the specified component and options.
|
|
1316
|
+
*
|
|
1317
|
+
* @param component - The component to be displayed in the popup.
|
|
1318
|
+
* @param options - Configuration options for the popup, including inputs.
|
|
1319
|
+
* @param id - A unique identifier for the popup instance.
|
|
1320
|
+
* @param parameters - (Optional) Configuration options for the popup.
|
|
1321
|
+
*/
|
|
1322
|
+
open(component, options, id, parameters) {
|
|
1323
|
+
if (this.popupInstances.length) {
|
|
1324
|
+
if (parameters.isClosePrevious) {
|
|
1325
|
+
this.closePrevious();
|
|
1326
|
+
}
|
|
1327
|
+
}
|
|
1328
|
+
this.showBackdrop(parameters.isStaticBackdrop);
|
|
1329
|
+
const overlayRef = this.overlay.create({
|
|
1330
|
+
hasBackdrop: false,
|
|
1331
|
+
backdropClass: 'cdk-overlay-transparent-backdrop',
|
|
1332
|
+
positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),
|
|
1333
|
+
});
|
|
1334
|
+
this.subscribeToOutsideEvents();
|
|
1335
|
+
this.createPopup(overlayRef, component, options, id, parameters);
|
|
1336
|
+
}
|
|
1337
|
+
/**
|
|
1338
|
+
* Opens a popup that scales from the provided origin element to the centered popup size.
|
|
1339
|
+
* Useful for image-preview transitions where the source element animates into the popup.
|
|
1340
|
+
*/
|
|
1341
|
+
openScaledFromElement(component, options, id, originElement, sourceWidth, sourceHeight, parameters = {}) {
|
|
1342
|
+
const animationOptions = this.createScaleAnimationOptionsFromElement(originElement, sourceWidth, sourceHeight);
|
|
1343
|
+
this.open(component, options, id, {
|
|
1344
|
+
...parameters,
|
|
1345
|
+
animationOptions,
|
|
1346
|
+
});
|
|
1347
|
+
}
|
|
1348
|
+
/**
|
|
1349
|
+
* Closes the last opened popup.
|
|
1350
|
+
*/
|
|
1351
|
+
close() {
|
|
1352
|
+
if (this.popupInstances.length >= 1) {
|
|
1353
|
+
this.popupInstances[this.popupInstances.length - 1].close();
|
|
1354
|
+
this.popupInstances.pop();
|
|
1355
|
+
if (!this.popupInstances.length) {
|
|
1356
|
+
this.destroy();
|
|
1357
|
+
}
|
|
1358
|
+
}
|
|
1359
|
+
}
|
|
1360
|
+
closePrevious() {
|
|
1361
|
+
if (this.popupInstances.length >= 1) {
|
|
1362
|
+
this.popupInstances[this.popupInstances.length - 1].close();
|
|
1363
|
+
this.popupInstances.pop();
|
|
1364
|
+
}
|
|
1365
|
+
}
|
|
1366
|
+
/**
|
|
1367
|
+
* Closes a popup by its index in the popupInstances array.
|
|
1368
|
+
*
|
|
1369
|
+
* @param index - The index of the popup to close.
|
|
1370
|
+
*/
|
|
1371
|
+
closeByIndex(index) {
|
|
1372
|
+
this.popupInstances[index].close();
|
|
1373
|
+
this.popupInstances.splice(index, 1);
|
|
1374
|
+
if (!this.popupInstances.length) {
|
|
1375
|
+
this.destroy();
|
|
1376
|
+
}
|
|
1377
|
+
}
|
|
1378
|
+
/**
|
|
1379
|
+
* Closes a popup by its unique identifier.
|
|
1380
|
+
*
|
|
1381
|
+
* @param id - The unique identifier of the popup to close.
|
|
1382
|
+
*/
|
|
1383
|
+
closeById(id) {
|
|
1384
|
+
const dropDownIndex = this.popupInstances.findIndex((v) => v.id === id);
|
|
1385
|
+
if (dropDownIndex >= 0) {
|
|
1386
|
+
this.closeByIndex(dropDownIndex);
|
|
1387
|
+
}
|
|
1388
|
+
}
|
|
1389
|
+
/**
|
|
1390
|
+
* Closes all currently opened popups.
|
|
1391
|
+
*/
|
|
1392
|
+
closeAll() {
|
|
1393
|
+
this.popupInstances.forEach((element) => {
|
|
1394
|
+
element.close();
|
|
1395
|
+
});
|
|
1396
|
+
this.popupInstances = [];
|
|
1397
|
+
this.destroy();
|
|
1398
|
+
}
|
|
1399
|
+
/**
|
|
1400
|
+
* Creates a popup instance with the specified component and options.
|
|
1401
|
+
*
|
|
1402
|
+
* @param overlayRef - The overlay reference for the popup.
|
|
1403
|
+
* @param component - The component to be displayed in the popup.
|
|
1404
|
+
* @param options - Configuration options for the popup, including inputs.
|
|
1405
|
+
* @param id - A unique identifier for the popup instance.
|
|
1406
|
+
* @param parameters - (Optional) Configuration options for the popup.
|
|
1407
|
+
*/
|
|
1408
|
+
createPopup(overlayRef, component, options, id, parameters) {
|
|
1409
|
+
const newParameters = this.fetchPopupParameters(parameters);
|
|
1410
|
+
const uiPopupInstance = new UiPopupInstance(overlayRef, this.destroyRef, newParameters.animationOptions);
|
|
1411
|
+
if (newParameters.width > 0) {
|
|
1412
|
+
uiPopupInstance.width = newParameters.width;
|
|
1413
|
+
}
|
|
1414
|
+
const injector = Injector.create({
|
|
1415
|
+
parent: this.injector,
|
|
1416
|
+
providers: [{ provide: UiPopupInstance, useValue: uiPopupInstance }],
|
|
1417
|
+
});
|
|
1418
|
+
const componentRef = overlayRef.attach(new ComponentPortal(component, undefined, injector));
|
|
1419
|
+
if (options) {
|
|
1420
|
+
if (options.inputs) {
|
|
1421
|
+
Object.keys(options.inputs).forEach((key) => {
|
|
1422
|
+
if (options.inputs) {
|
|
1423
|
+
componentRef.setInput(key, options.inputs[key]);
|
|
1424
|
+
}
|
|
1425
|
+
});
|
|
1426
|
+
}
|
|
1427
|
+
}
|
|
1428
|
+
uiPopupInstance.id = id;
|
|
1429
|
+
this.popupInstances.push(uiPopupInstance);
|
|
1430
|
+
}
|
|
1431
|
+
/**
|
|
1432
|
+
* Subscribes to outside events (e.g., scroll, router events) to close popups.
|
|
1433
|
+
*/
|
|
1434
|
+
subscribeToOutsideEvents() {
|
|
1435
|
+
this.destroyOutsideClickSubscription$.next();
|
|
1436
|
+
fromEvent(window, 'scroll')
|
|
1437
|
+
.pipe(tap(() => {
|
|
1438
|
+
this.closeAll();
|
|
1439
|
+
}), takeUntil(this.destroyOutsideClickSubscription$))
|
|
1440
|
+
.subscribe();
|
|
1441
|
+
this.router.events
|
|
1442
|
+
.pipe(debounceTime(100), tap(() => {
|
|
1443
|
+
this.closeAll();
|
|
1444
|
+
}), takeUntil(this.destroyOutsideClickSubscription$))
|
|
1445
|
+
.subscribe();
|
|
1446
|
+
}
|
|
1447
|
+
destroy() {
|
|
1448
|
+
this.hideBackdrop();
|
|
1449
|
+
this.destroyOutsideClickSubscription$.next();
|
|
1450
|
+
}
|
|
1451
|
+
showBackdrop(isStaticBackdrop = false) {
|
|
1452
|
+
document.body.style.setProperty('overflow-y', 'hidden');
|
|
1453
|
+
if (this.backdropRef) {
|
|
1454
|
+
return;
|
|
1455
|
+
}
|
|
1456
|
+
this.backdropRef = this.overlay.create({
|
|
1457
|
+
hasBackdrop: false,
|
|
1458
|
+
positionStrategy: this.overlay.position().global().centerHorizontally().centerVertically(),
|
|
1459
|
+
scrollStrategy: this.overlay.scrollStrategies.noop(),
|
|
1460
|
+
});
|
|
1461
|
+
this.backdropPortalRef = this.backdropRef.attach(this.backdropPortal);
|
|
1462
|
+
if (this.backdropPortalRef) {
|
|
1463
|
+
this.backdropPortalRef.location.nativeElement.classList.add('animate-in');
|
|
1464
|
+
this.backdropPortalRef.setInput('isStaticBackdrop', isStaticBackdrop);
|
|
1465
|
+
}
|
|
1466
|
+
}
|
|
1467
|
+
hideBackdrop() {
|
|
1468
|
+
if (!this.backdropRef) {
|
|
1469
|
+
return;
|
|
1470
|
+
}
|
|
1471
|
+
if (this.backdropPortalRef) {
|
|
1472
|
+
this.backdropPortalRef.location.nativeElement.classList.remove('animate-in');
|
|
1473
|
+
this.backdropPortalRef.location.nativeElement.classList.add('animate-out');
|
|
1474
|
+
}
|
|
1475
|
+
timer(150)
|
|
1476
|
+
.pipe(tap(() => {
|
|
1477
|
+
this.backdropRef?.detach();
|
|
1478
|
+
this.backdropRef?.dispose();
|
|
1479
|
+
this.backdropRef = undefined;
|
|
1480
|
+
document.body.style.setProperty('overflow-y', 'auto');
|
|
1481
|
+
}))
|
|
1482
|
+
.subscribe();
|
|
1483
|
+
}
|
|
1484
|
+
/**
|
|
1485
|
+
* Fetches and normalizes popup parameters.
|
|
1486
|
+
*
|
|
1487
|
+
* @param parameters - Partial configuration options for the popup.
|
|
1488
|
+
* @returns A complete set of popup parameters with default values applied.
|
|
1489
|
+
*/
|
|
1490
|
+
fetchPopupParameters(parameters) {
|
|
1491
|
+
return {
|
|
1492
|
+
animationOptions: parameters.animationOptions === undefined
|
|
1493
|
+
? {
|
|
1494
|
+
positionX: 0,
|
|
1495
|
+
positionY: 0,
|
|
1496
|
+
startTransition: 'scale(0.8)',
|
|
1497
|
+
endTransition: 'scale(1)',
|
|
1498
|
+
}
|
|
1499
|
+
: parameters.animationOptions,
|
|
1500
|
+
isClosePrevious: parameters.isClosePrevious === undefined ? false : parameters.isClosePrevious,
|
|
1501
|
+
isStaticBackdrop: parameters.isStaticBackdrop === undefined ? false : parameters.isStaticBackdrop,
|
|
1502
|
+
width: parameters.width === undefined ? 0 : parameters.width,
|
|
1503
|
+
};
|
|
1504
|
+
}
|
|
1505
|
+
createScaleAnimationOptionsFromElement(originElement, sourceWidth, sourceHeight) {
|
|
1506
|
+
const rect = originElement.getBoundingClientRect();
|
|
1507
|
+
const centerX = window.innerWidth / 2;
|
|
1508
|
+
const centerY = window.innerHeight / 2;
|
|
1509
|
+
const targetX = rect.left + rect.width / 2;
|
|
1510
|
+
const targetY = rect.top + rect.height / 2;
|
|
1511
|
+
const offsetX = targetX - centerX;
|
|
1512
|
+
const offsetY = targetY - centerY;
|
|
1513
|
+
const fitted = getAspectRatioFit(window.innerWidth - window.innerWidth / 8, window.innerHeight - window.innerHeight / 8, sourceWidth, sourceHeight);
|
|
1514
|
+
const scaleY = Math.trunc((sourceHeight / fitted.height) * 100) / 100;
|
|
1515
|
+
const scaleX = Math.trunc((sourceWidth / fitted.width) * 100) / 100;
|
|
1516
|
+
return {
|
|
1517
|
+
positionX: offsetX,
|
|
1518
|
+
positionY: offsetY,
|
|
1519
|
+
startTransition: `scale(${scaleY}, ${scaleX})`,
|
|
1520
|
+
endTransition: 'scale(1)',
|
|
1521
|
+
};
|
|
1522
|
+
}
|
|
1523
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupService, deps: [{ token: i1.Overlay }, { token: i0.Injector }, { token: i0.DestroyRef }, { token: i2$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1524
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupService, providedIn: 'root' });
|
|
1525
|
+
}
|
|
1526
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupService, decorators: [{
|
|
1527
|
+
type: Injectable,
|
|
1528
|
+
args: [{
|
|
1529
|
+
providedIn: 'root',
|
|
1530
|
+
}]
|
|
1531
|
+
}], ctorParameters: () => [{ type: i1.Overlay }, { type: i0.Injector }, { type: i0.DestroyRef }, { type: i2$1.Router }] });
|
|
1532
|
+
|
|
1533
|
+
class UiPopupContainerDirective {
|
|
1534
|
+
popupInstance;
|
|
1535
|
+
destroyRef;
|
|
1536
|
+
popupService;
|
|
1537
|
+
elementRef;
|
|
1538
|
+
$isShow = signal(false, ...(ngDevMode ? [{ debugName: "$isShow" }] : []));
|
|
1539
|
+
$pulseTrigger = signal(false, ...(ngDevMode ? [{ debugName: "$pulseTrigger" }] : []));
|
|
1540
|
+
$overflowHidden = input(true, ...(ngDevMode ? [{ debugName: "$overflowHidden" }] : []));
|
|
1541
|
+
$shouldClose = model(false, ...(ngDevMode ? [{ debugName: "$shouldClose" }] : []));
|
|
1542
|
+
$hasCloseButton = input(false, ...(ngDevMode ? [{ debugName: "$hasCloseButton" }] : []));
|
|
1543
|
+
$isEnableFadeAnimation = input(true, ...(ngDevMode ? [{ debugName: "$isEnableFadeAnimation" }] : []));
|
|
1544
|
+
$iconClose = model(...(ngDevMode ? [undefined, { debugName: "$iconClose" }] : []));
|
|
1545
|
+
$animationParams = signal({
|
|
1546
|
+
startOrigin: 'center center',
|
|
1547
|
+
endOrigin: 'center center',
|
|
1548
|
+
start: 'transformY(0)',
|
|
1549
|
+
end: 'transformY(-20%)',
|
|
1550
|
+
leftStart: '',
|
|
1551
|
+
leftEnd: '',
|
|
1552
|
+
topStart: '',
|
|
1553
|
+
topEnd: '',
|
|
1554
|
+
}, ...(ngDevMode ? [{ debugName: "$animationParams" }] : []));
|
|
1555
|
+
destroyAnimationOrigin$ = new Subject();
|
|
1556
|
+
constructor(popupInstance, destroyRef, popupService, elementRef) {
|
|
1557
|
+
this.popupInstance = popupInstance;
|
|
1558
|
+
this.destroyRef = destroyRef;
|
|
1559
|
+
this.popupService = popupService;
|
|
1560
|
+
this.elementRef = elementRef;
|
|
1561
|
+
effect(() => {
|
|
1562
|
+
if (this.$shouldClose()) {
|
|
1563
|
+
untracked(() => {
|
|
1564
|
+
this.close();
|
|
1565
|
+
});
|
|
1566
|
+
}
|
|
1567
|
+
});
|
|
1568
|
+
effect(() => {
|
|
1569
|
+
const params = this.$animationParams();
|
|
1570
|
+
this.elementRef.nativeElement.style.setProperty('--start', params.start);
|
|
1571
|
+
this.elementRef.nativeElement.style.setProperty('--end', params.end);
|
|
1572
|
+
this.elementRef.nativeElement.style.setProperty('--start-origin', params.startOrigin);
|
|
1573
|
+
this.elementRef.nativeElement.style.setProperty('--end-origin', params.endOrigin);
|
|
1574
|
+
this.elementRef.nativeElement.style.setProperty('--left-start', params.leftStart);
|
|
1575
|
+
this.elementRef.nativeElement.style.setProperty('--left-end', params.leftEnd);
|
|
1576
|
+
this.elementRef.nativeElement.style.setProperty('--top-start', params.topStart);
|
|
1577
|
+
this.elementRef.nativeElement.style.setProperty('--top-end', params.topEnd);
|
|
1578
|
+
});
|
|
1579
|
+
}
|
|
1580
|
+
ngOnInit() {
|
|
1581
|
+
this.popupInstance
|
|
1582
|
+
.onShouldClose()
|
|
1583
|
+
.pipe(tap(() => {
|
|
1584
|
+
this.$isShow.set(false);
|
|
1585
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
1586
|
+
.subscribe();
|
|
1587
|
+
this.popupInstance.animationOrigin$
|
|
1588
|
+
.pipe(tap((e) => {
|
|
1589
|
+
this.$animationParams.set({
|
|
1590
|
+
startOrigin: e,
|
|
1591
|
+
endOrigin: e,
|
|
1592
|
+
start: this.popupInstance.options.startTransition,
|
|
1593
|
+
end: this.popupInstance.options.endTransition,
|
|
1594
|
+
leftStart: `${this.popupInstance.options.positionX}px`,
|
|
1595
|
+
leftEnd: '0',
|
|
1596
|
+
topStart: `${this.popupInstance.options.positionY}px`,
|
|
1597
|
+
topEnd: '0',
|
|
1598
|
+
});
|
|
1599
|
+
this.$isShow.set(true);
|
|
1600
|
+
}), takeUntil(this.destroyAnimationOrigin$), takeUntilDestroyed(this.destroyRef))
|
|
1601
|
+
.subscribe();
|
|
1602
|
+
fromEvent(window, 'keydown')
|
|
1603
|
+
.pipe(tap((e) => {
|
|
1604
|
+
if (e.key === 'Escape' || e.key === 'Esc') {
|
|
1605
|
+
this.close();
|
|
1606
|
+
}
|
|
1607
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
1608
|
+
.subscribe();
|
|
1609
|
+
}
|
|
1610
|
+
close() {
|
|
1611
|
+
if (this.popupInstance.id) {
|
|
1612
|
+
this.popupService.closeById(this.popupInstance.id);
|
|
1613
|
+
return;
|
|
1614
|
+
}
|
|
1615
|
+
this.popupService.close();
|
|
1616
|
+
}
|
|
1617
|
+
onAnimationDone() {
|
|
1618
|
+
if (!this.$isShow()) {
|
|
1619
|
+
this.popupInstance.detach();
|
|
1620
|
+
}
|
|
1621
|
+
}
|
|
1622
|
+
shouldClose() {
|
|
1623
|
+
this.$shouldClose.set(true);
|
|
1624
|
+
}
|
|
1625
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupContainerDirective, deps: [{ token: UiPopupInstance }, { token: i0.DestroyRef }, { token: UiPopupService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
1626
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiPopupContainerDirective, isStandalone: true, selector: "app-ui-popup-container", inputs: { $overflowHidden: { classPropertyName: "$overflowHidden", publicName: "$overflowHidden", isSignal: true, isRequired: false, transformFunction: null }, $shouldClose: { classPropertyName: "$shouldClose", publicName: "$shouldClose", isSignal: true, isRequired: false, transformFunction: null }, $hasCloseButton: { classPropertyName: "$hasCloseButton", publicName: "$hasCloseButton", isSignal: true, isRequired: false, transformFunction: null }, $isEnableFadeAnimation: { classPropertyName: "$isEnableFadeAnimation", publicName: "$isEnableFadeAnimation", isSignal: true, isRequired: false, transformFunction: null }, $iconClose: { classPropertyName: "$iconClose", publicName: "$iconClose", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { $shouldClose: "$shouldCloseChange", $iconClose: "$iconCloseChange" }, ngImport: i0 });
|
|
1627
|
+
}
|
|
1628
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupContainerDirective, decorators: [{
|
|
1629
|
+
type: Directive,
|
|
1630
|
+
args: [{
|
|
1631
|
+
selector: 'app-ui-popup-container',
|
|
1632
|
+
}]
|
|
1633
|
+
}], ctorParameters: () => [{ type: UiPopupInstance, decorators: [{
|
|
1634
|
+
type: Inject,
|
|
1635
|
+
args: [UiPopupInstance]
|
|
1636
|
+
}] }, { type: i0.DestroyRef }, { type: UiPopupService }, { type: i0.ElementRef }], propDecorators: { $overflowHidden: [{ type: i0.Input, args: [{ isSignal: true, alias: "$overflowHidden", required: false }] }], $shouldClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "$shouldClose", required: false }] }, { type: i0.Output, args: ["$shouldCloseChange"] }], $hasCloseButton: [{ type: i0.Input, args: [{ isSignal: true, alias: "$hasCloseButton", required: false }] }], $isEnableFadeAnimation: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isEnableFadeAnimation", required: false }] }], $iconClose: [{ type: i0.Input, args: [{ isSignal: true, alias: "$iconClose", required: false }] }, { type: i0.Output, args: ["$iconCloseChange"] }] } });
|
|
1637
|
+
|
|
1638
|
+
class UiDropdownService extends UiPopupService {
|
|
1639
|
+
tipContainerRef;
|
|
1640
|
+
tipContainerPortal;
|
|
1641
|
+
containerSize$ = new BehaviorSubject({
|
|
1642
|
+
width: 0,
|
|
1643
|
+
height: 0,
|
|
1644
|
+
});
|
|
1645
|
+
connectedPositions = {
|
|
1646
|
+
bottom: {
|
|
1647
|
+
animationOrigin: 'top center',
|
|
1648
|
+
connectedPosition: {
|
|
1649
|
+
originX: 'center',
|
|
1650
|
+
originY: 'bottom',
|
|
1651
|
+
overlayX: 'center',
|
|
1652
|
+
overlayY: 'top',
|
|
1653
|
+
offsetY: 0,
|
|
1654
|
+
offsetX: 0,
|
|
1655
|
+
},
|
|
1656
|
+
},
|
|
1657
|
+
top: {
|
|
1658
|
+
animationOrigin: 'bottom center',
|
|
1659
|
+
connectedPosition: {
|
|
1660
|
+
originX: 'center',
|
|
1661
|
+
originY: 'top',
|
|
1662
|
+
overlayX: 'center',
|
|
1663
|
+
overlayY: 'bottom',
|
|
1664
|
+
offsetY: 0,
|
|
1665
|
+
offsetX: 0,
|
|
1666
|
+
},
|
|
1667
|
+
},
|
|
1668
|
+
center: {
|
|
1669
|
+
animationOrigin: 'center center',
|
|
1670
|
+
connectedPosition: {
|
|
1671
|
+
originX: 'center',
|
|
1672
|
+
originY: 'center',
|
|
1673
|
+
overlayX: 'center',
|
|
1674
|
+
overlayY: 'center',
|
|
1675
|
+
offsetY: 0,
|
|
1676
|
+
offsetX: 0,
|
|
1677
|
+
},
|
|
1678
|
+
},
|
|
1679
|
+
left: {
|
|
1680
|
+
animationOrigin: 'right center',
|
|
1681
|
+
connectedPosition: {
|
|
1682
|
+
originX: 'start',
|
|
1683
|
+
originY: 'center',
|
|
1684
|
+
overlayX: 'end',
|
|
1685
|
+
overlayY: 'center',
|
|
1686
|
+
offsetY: 0,
|
|
1687
|
+
offsetX: 0,
|
|
1688
|
+
},
|
|
1689
|
+
},
|
|
1690
|
+
right: {
|
|
1691
|
+
animationOrigin: 'left center',
|
|
1692
|
+
connectedPosition: {
|
|
1693
|
+
originX: 'end',
|
|
1694
|
+
originY: 'center',
|
|
1695
|
+
overlayX: 'start',
|
|
1696
|
+
overlayY: 'center',
|
|
1697
|
+
offsetY: 0,
|
|
1698
|
+
offsetX: 0,
|
|
1699
|
+
},
|
|
1700
|
+
},
|
|
1701
|
+
'right-top': {
|
|
1702
|
+
animationOrigin: 'left bottom',
|
|
1703
|
+
connectedPosition: {
|
|
1704
|
+
originX: 'end',
|
|
1705
|
+
originY: 'top',
|
|
1706
|
+
overlayX: 'start',
|
|
1707
|
+
overlayY: 'bottom',
|
|
1708
|
+
offsetY: 0,
|
|
1709
|
+
offsetX: 0,
|
|
1710
|
+
},
|
|
1711
|
+
},
|
|
1712
|
+
'right-bottom': {
|
|
1713
|
+
animationOrigin: 'left top',
|
|
1714
|
+
connectedPosition: {
|
|
1715
|
+
originX: 'end',
|
|
1716
|
+
originY: 'bottom',
|
|
1717
|
+
overlayX: 'start',
|
|
1718
|
+
overlayY: 'top',
|
|
1719
|
+
offsetY: 0,
|
|
1720
|
+
offsetX: 0,
|
|
1721
|
+
},
|
|
1722
|
+
},
|
|
1723
|
+
'left-top': {
|
|
1724
|
+
animationOrigin: 'right bottom',
|
|
1725
|
+
connectedPosition: {
|
|
1726
|
+
originX: 'start',
|
|
1727
|
+
originY: 'top',
|
|
1728
|
+
overlayX: 'end',
|
|
1729
|
+
overlayY: 'bottom',
|
|
1730
|
+
offsetY: 0,
|
|
1731
|
+
offsetX: 0,
|
|
1732
|
+
},
|
|
1733
|
+
},
|
|
1734
|
+
'left-bottom': {
|
|
1735
|
+
animationOrigin: 'right top',
|
|
1736
|
+
connectedPosition: {
|
|
1737
|
+
originX: 'start',
|
|
1738
|
+
originY: 'bottom',
|
|
1739
|
+
overlayX: 'end',
|
|
1740
|
+
overlayY: 'top',
|
|
1741
|
+
offsetY: 0,
|
|
1742
|
+
offsetX: 0,
|
|
1743
|
+
},
|
|
1744
|
+
},
|
|
1745
|
+
};
|
|
1746
|
+
init(component, tipComponent) {
|
|
1747
|
+
super.init(component);
|
|
1748
|
+
if (tipComponent) {
|
|
1749
|
+
this.tipContainerPortal = new ComponentPortal(tipComponent);
|
|
1750
|
+
}
|
|
1751
|
+
}
|
|
1752
|
+
/**
|
|
1753
|
+
* Opens a tooltip (tip) component attached to a specific HTML element.
|
|
1754
|
+
* The tooltip displays text content with customizable position and offset.
|
|
1755
|
+
*
|
|
1756
|
+
* @param text - The text content to display in the tooltip.
|
|
1757
|
+
* @param attachedRef - The HTML element to which the tooltip is attached.
|
|
1758
|
+
* @param id - A unique identifier for the tooltip instance.
|
|
1759
|
+
* @param position - (Optional) The positioning of the tooltip relative to the attached element (default: 'top').
|
|
1760
|
+
* Available positions: 'top', 'bottom', 'left', 'right', 'center',
|
|
1761
|
+
* 'left-top', 'left-bottom', 'right-top', 'right-bottom'.
|
|
1762
|
+
* @param offsetY - (Optional) Vertical offset for tooltip positioning in pixels (default: 0).
|
|
1763
|
+
* @param offsetX - (Optional) Horizontal offset for tooltip positioning in pixels (default: 0).
|
|
1764
|
+
*
|
|
1765
|
+
*/
|
|
1766
|
+
openTip(text, attachedRef, id, position = 'top', offsetY = 0, offsetX = 0) {
|
|
1767
|
+
if (this.tipContainerRef) {
|
|
1768
|
+
return;
|
|
1769
|
+
}
|
|
1770
|
+
const tipComponent = this.tipContainerPortal?.component;
|
|
1771
|
+
if (tipComponent) {
|
|
1772
|
+
this.openAttached(tipComponent, attachedRef, id, {
|
|
1773
|
+
options: {
|
|
1774
|
+
inputs: {
|
|
1775
|
+
text: text,
|
|
1776
|
+
},
|
|
1777
|
+
},
|
|
1778
|
+
position: position,
|
|
1779
|
+
hasBackdrop: false,
|
|
1780
|
+
removePrevious: false,
|
|
1781
|
+
hasAttachedWidth: false,
|
|
1782
|
+
}, offsetY, offsetX);
|
|
1783
|
+
}
|
|
1784
|
+
}
|
|
1785
|
+
/**
|
|
1786
|
+
* Opens a dropdown attached to a specific HTML element.
|
|
1787
|
+
*
|
|
1788
|
+
* @param component - The component to be displayed in the dropdown.
|
|
1789
|
+
* @param attachedRef - The HTML element to which the dropdown is attached.
|
|
1790
|
+
* @param id - A unique identifier for the dropdown instance.
|
|
1791
|
+
* @param parameters - (Optional) Configuration options for the dropdown.
|
|
1792
|
+
* @param offsetY - (Optional) Vertical offset for dropdown positioning.
|
|
1793
|
+
* @param offsetX - (Optional) Horizontal offset for dropdown positioning.
|
|
1794
|
+
*/
|
|
1795
|
+
openAttached(component, attachedRef, id, parameters = {}, offsetY = 0, offsetX = 0) {
|
|
1796
|
+
const fetchedParameters = this.fetchDropDownParameters(parameters);
|
|
1797
|
+
let attachedWidth = 0;
|
|
1798
|
+
if (fetchedParameters.hasAttachedWidth) {
|
|
1799
|
+
attachedWidth = attachedRef.clientWidth;
|
|
1800
|
+
}
|
|
1801
|
+
// Reset old outside listeners before opening a new dropdown to avoid stale close callbacks.
|
|
1802
|
+
if (this.popupInstances.length) {
|
|
1803
|
+
this.destroyOutsideClickSubscription$.next();
|
|
1804
|
+
}
|
|
1805
|
+
if (fetchedParameters.removePrevious && this.popupInstances.length) {
|
|
1806
|
+
this.close();
|
|
1807
|
+
}
|
|
1808
|
+
if (window.matchMedia('(max-width: 48rem)').matches) {
|
|
1809
|
+
this.showBackdrop();
|
|
1810
|
+
}
|
|
1811
|
+
const overlayRef = this.overlay.create({
|
|
1812
|
+
hasBackdrop: fetchedParameters.hasBackdrop,
|
|
1813
|
+
backdropClass: 'cdk-overlay-transparent-backdrop',
|
|
1814
|
+
positionStrategy: this.createPositionStrategy(attachedRef, fetchedParameters, offsetX, offsetY),
|
|
1815
|
+
});
|
|
1816
|
+
if (fetchedParameters.removePrevious) {
|
|
1817
|
+
this.subscribeToOutsideEvents(overlayRef);
|
|
1818
|
+
}
|
|
1819
|
+
this.createPopup(overlayRef, component, fetchedParameters.options ?? {}, id, { width: attachedWidth });
|
|
1820
|
+
this.popupInstances[this.popupInstances.length - 1].animationOrigin$.next(this.connectedPositions[parameters.position ?? 'bottom'].animationOrigin);
|
|
1821
|
+
}
|
|
1822
|
+
/**
|
|
1823
|
+
* Opens a dropdown from the mouse position with intelligent border detection.
|
|
1824
|
+
* The dropdown grows from the mouse cursor, adjusting position and animation origin
|
|
1825
|
+
* based on available space near window boundaries.
|
|
1826
|
+
*
|
|
1827
|
+
* @param component - The component to be displayed in the dropdown.
|
|
1828
|
+
* @param event - The MouseEvent containing the cursor position.
|
|
1829
|
+
* @param id - A unique identifier for the dropdown instance.
|
|
1830
|
+
* @param parameters - (Optional) Configuration options for the dropdown.
|
|
1831
|
+
*/
|
|
1832
|
+
openAtMousePosition(component, event, id, parameters = {}) {
|
|
1833
|
+
const fetchedParameters = this.fetchDropDownParameters(parameters);
|
|
1834
|
+
// Reset old outside listeners before opening a new dropdown to avoid stale close callbacks.
|
|
1835
|
+
if (this.popupInstances.length) {
|
|
1836
|
+
this.destroyOutsideClickSubscription$.next();
|
|
1837
|
+
}
|
|
1838
|
+
if (fetchedParameters.removePrevious && this.popupInstances.length) {
|
|
1839
|
+
this.close();
|
|
1840
|
+
}
|
|
1841
|
+
if (window.matchMedia('(max-width: 48rem)').matches) {
|
|
1842
|
+
this.showBackdrop();
|
|
1843
|
+
}
|
|
1844
|
+
const overlayRef = this.overlay.create({
|
|
1845
|
+
hasBackdrop: fetchedParameters.hasBackdrop,
|
|
1846
|
+
backdropClass: 'cdk-overlay-transparent-backdrop',
|
|
1847
|
+
positionStrategy: this.createMousePositionStrategy(event),
|
|
1848
|
+
});
|
|
1849
|
+
if (fetchedParameters.removePrevious) {
|
|
1850
|
+
this.subscribeToOutsideEvents(overlayRef);
|
|
1851
|
+
}
|
|
1852
|
+
this.createPopup(overlayRef, component, fetchedParameters.options ?? {}, id, {
|
|
1853
|
+
animationOptions: {
|
|
1854
|
+
positionX: 0,
|
|
1855
|
+
positionY: 0,
|
|
1856
|
+
startTransition: 'scale(0.4)',
|
|
1857
|
+
endTransition: 'scale(1)',
|
|
1858
|
+
},
|
|
1859
|
+
});
|
|
1860
|
+
this.containerSize$
|
|
1861
|
+
.pipe(tap((size) => {
|
|
1862
|
+
if (size.width === 0 || size.height === 0) {
|
|
1863
|
+
return;
|
|
1864
|
+
}
|
|
1865
|
+
const animationOrigin = this.calculateMousePositionAnimationOrigin(event, size);
|
|
1866
|
+
const positionAdjustment = this.calculateMousePositionAdjustment(event, size);
|
|
1867
|
+
this.popupInstances[this.popupInstances.length - 1].animationOrigin$.next(animationOrigin);
|
|
1868
|
+
const positionStrategy = overlayRef.getConfig().positionStrategy;
|
|
1869
|
+
if (positionStrategy instanceof FlexibleConnectedPositionStrategy && positionAdjustment) {
|
|
1870
|
+
positionStrategy.setOrigin({ x: positionAdjustment.left, y: positionAdjustment.top });
|
|
1871
|
+
overlayRef.updatePosition();
|
|
1872
|
+
}
|
|
1873
|
+
}), takeUntil(this.destroyOutsideClickSubscription$))
|
|
1874
|
+
.subscribe();
|
|
1875
|
+
}
|
|
1876
|
+
/**
|
|
1877
|
+
* Calculates the animation origin based on mouse position relative to window boundaries.
|
|
1878
|
+
*
|
|
1879
|
+
* @param event - The MouseEvent containing the cursor position.
|
|
1880
|
+
* @param containerSize - The size of the dropdown container.
|
|
1881
|
+
* @returns The animation origin string (e.g., 'top left', 'bottom right').
|
|
1882
|
+
*/
|
|
1883
|
+
calculateMousePositionAnimationOrigin(event, containerSize) {
|
|
1884
|
+
const EDGE_MARGIN = 20;
|
|
1885
|
+
const rightSpace = document.body.clientWidth - event.clientX;
|
|
1886
|
+
const bottomSpace = document.body.clientHeight - event.clientY;
|
|
1887
|
+
const hasRightSpace = rightSpace >= containerSize.width + EDGE_MARGIN;
|
|
1888
|
+
const hasBottomSpace = bottomSpace >= containerSize.height + EDGE_MARGIN;
|
|
1889
|
+
if (!hasRightSpace && !hasBottomSpace) {
|
|
1890
|
+
return 'bottom right';
|
|
1891
|
+
}
|
|
1892
|
+
if (!hasRightSpace) {
|
|
1893
|
+
return 'top right';
|
|
1894
|
+
}
|
|
1895
|
+
if (!hasBottomSpace) {
|
|
1896
|
+
return 'bottom left';
|
|
1897
|
+
}
|
|
1898
|
+
return 'top left';
|
|
1899
|
+
}
|
|
1900
|
+
/**
|
|
1901
|
+
* Calculates position adjustments for the dropdown when opened from mouse position.
|
|
1902
|
+
* Ensures the dropdown stays within boundaries and positions intelligently.
|
|
1903
|
+
*
|
|
1904
|
+
* @param event - The MouseEvent containing the cursor position.
|
|
1905
|
+
* @param containerSize - The size of the dropdown container.
|
|
1906
|
+
* @returns An object with left and top position adjustments.
|
|
1907
|
+
*/
|
|
1908
|
+
calculateMousePositionAdjustment(event, containerSize) {
|
|
1909
|
+
const EDGE_MARGIN = 20;
|
|
1910
|
+
const rightSpace = document.body.clientWidth - event.clientX;
|
|
1911
|
+
const bottomSpace = document.body.clientHeight - event.clientY;
|
|
1912
|
+
let left = event.clientX;
|
|
1913
|
+
let top = event.clientY;
|
|
1914
|
+
if (rightSpace < containerSize.width + EDGE_MARGIN && bottomSpace < containerSize.height + EDGE_MARGIN) {
|
|
1915
|
+
left = event.clientX - containerSize.width + (rightSpace - EDGE_MARGIN);
|
|
1916
|
+
top = event.clientY - containerSize.height + (bottomSpace - EDGE_MARGIN);
|
|
1917
|
+
}
|
|
1918
|
+
else if (rightSpace < containerSize.width + EDGE_MARGIN) {
|
|
1919
|
+
left = event.clientX - containerSize.width + (rightSpace - EDGE_MARGIN);
|
|
1920
|
+
}
|
|
1921
|
+
else if (bottomSpace < containerSize.height + EDGE_MARGIN) {
|
|
1922
|
+
top = event.clientY - containerSize.height + (bottomSpace - EDGE_MARGIN);
|
|
1923
|
+
}
|
|
1924
|
+
return { left, top };
|
|
1925
|
+
}
|
|
1926
|
+
/**
|
|
1927
|
+
* Creates a global position strategy for mouse-positioned dropdowns.
|
|
1928
|
+
*
|
|
1929
|
+
* @param event - The MouseEvent containing the cursor position.
|
|
1930
|
+
* @returns The configured PositionStrategy for the overlay.
|
|
1931
|
+
*/
|
|
1932
|
+
createMousePositionStrategy(event) {
|
|
1933
|
+
if (window.innerWidth <= 768) {
|
|
1934
|
+
return this.overlay.position().global().bottom();
|
|
1935
|
+
}
|
|
1936
|
+
return this.overlay
|
|
1937
|
+
.position()
|
|
1938
|
+
.flexibleConnectedTo({ x: event.clientX, y: event.clientY })
|
|
1939
|
+
.withPositions([
|
|
1940
|
+
{
|
|
1941
|
+
originX: 'start',
|
|
1942
|
+
originY: 'top',
|
|
1943
|
+
overlayX: 'start',
|
|
1944
|
+
overlayY: 'top',
|
|
1945
|
+
},
|
|
1946
|
+
]);
|
|
1947
|
+
}
|
|
1948
|
+
subscribeToOutsideEvents(overlayRef) {
|
|
1949
|
+
super.subscribeToOutsideEvents();
|
|
1950
|
+
if (!overlayRef) {
|
|
1951
|
+
return;
|
|
1952
|
+
}
|
|
1953
|
+
timer(150)
|
|
1954
|
+
.pipe(switchMap(() => overlayRef.outsidePointerEvents()), tap(() => {
|
|
1955
|
+
this.closeAll();
|
|
1956
|
+
}), takeUntil(this.destroyOutsideClickSubscription$))
|
|
1957
|
+
.subscribe();
|
|
1958
|
+
}
|
|
1959
|
+
/**
|
|
1960
|
+
* Fetches and normalizes dropdown parameters.
|
|
1961
|
+
*
|
|
1962
|
+
* @param parameters - Partial configuration options for the dropdown.
|
|
1963
|
+
* @returns A complete set of dropdown parameters with default values applied.
|
|
1964
|
+
*/
|
|
1965
|
+
fetchDropDownParameters(parameters) {
|
|
1966
|
+
return {
|
|
1967
|
+
hasBackdrop: parameters.hasBackdrop === undefined ? false : parameters.hasBackdrop,
|
|
1968
|
+
options: parameters.options === undefined ? {} : parameters.options,
|
|
1969
|
+
position: parameters.position === undefined ? 'bottom' : parameters.position,
|
|
1970
|
+
removePrevious: parameters.removePrevious === undefined ? true : parameters.removePrevious,
|
|
1971
|
+
hasAttachedWidth: parameters.hasAttachedWidth === undefined ? false : parameters.hasAttachedWidth,
|
|
1972
|
+
};
|
|
1973
|
+
}
|
|
1974
|
+
/**
|
|
1975
|
+
* Creates a position strategy for the dropdown overlay.
|
|
1976
|
+
*
|
|
1977
|
+
* @param attachedRef - The HTML element to which the dropdown is attached.
|
|
1978
|
+
* @param parameters - The normalized dropdown parameters, including position and options.
|
|
1979
|
+
* @param offsetX - Horizontal offset for dropdown positioning.
|
|
1980
|
+
* @param offsetY - Vertical offset for dropdown positioning.
|
|
1981
|
+
* @returns The configured PositionStrategy for the overlay.
|
|
1982
|
+
*/
|
|
1983
|
+
createPositionStrategy(attachedRef, parameters, offsetX, offsetY) {
|
|
1984
|
+
if (window.innerWidth <= 768) {
|
|
1985
|
+
return this.overlay.position().global().bottom();
|
|
1986
|
+
}
|
|
1987
|
+
return this.overlay
|
|
1988
|
+
.position()
|
|
1989
|
+
.flexibleConnectedTo(attachedRef)
|
|
1990
|
+
.withPositions([
|
|
1991
|
+
{
|
|
1992
|
+
...this.connectedPositions[parameters.position ?? 'bottom'].connectedPosition,
|
|
1993
|
+
offsetX: offsetX,
|
|
1994
|
+
offsetY: offsetY,
|
|
1995
|
+
},
|
|
1996
|
+
]);
|
|
1997
|
+
}
|
|
1998
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDropdownService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
1999
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDropdownService, providedIn: 'root' });
|
|
2000
|
+
}
|
|
2001
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDropdownService, decorators: [{
|
|
2002
|
+
type: Injectable,
|
|
2003
|
+
args: [{
|
|
2004
|
+
providedIn: 'root',
|
|
2005
|
+
}]
|
|
2006
|
+
}] });
|
|
2007
|
+
|
|
2008
|
+
class UiDropdownContainerDirective extends UiPopupContainerDirective {
|
|
2009
|
+
dropDownService;
|
|
2010
|
+
renderer;
|
|
2011
|
+
$width = signal('', ...(ngDevMode ? [{ debugName: "$width" }] : []));
|
|
2012
|
+
$contentWrapper = viewChild('contentWrapper', ...(ngDevMode ? [{ debugName: "$contentWrapper" }] : []));
|
|
2013
|
+
$swipeButton = viewChild('swipeButton', ...(ngDevMode ? [{ debugName: "$swipeButton" }] : []));
|
|
2014
|
+
$animationParams = signal({
|
|
2015
|
+
startOrigin: 'center center',
|
|
2016
|
+
endOrigin: 'center center',
|
|
2017
|
+
start: 'scale(0)',
|
|
2018
|
+
end: 'scale(1)',
|
|
2019
|
+
leftStart: '',
|
|
2020
|
+
leftEnd: '',
|
|
2021
|
+
topStart: '',
|
|
2022
|
+
topEnd: '',
|
|
2023
|
+
}, ...(ngDevMode ? [{ debugName: "$animationParams" }] : []));
|
|
2024
|
+
constructor(dropDownService, popupInstance, destroyRef, elementRef, renderer) {
|
|
2025
|
+
super(popupInstance, destroyRef, dropDownService, elementRef);
|
|
2026
|
+
this.dropDownService = dropDownService;
|
|
2027
|
+
this.renderer = renderer;
|
|
2028
|
+
afterRenderEffect(() => {
|
|
2029
|
+
this.initTouchEvents();
|
|
2030
|
+
});
|
|
2031
|
+
}
|
|
2032
|
+
ngOnInit() {
|
|
2033
|
+
super.ngOnInit();
|
|
2034
|
+
if (window.innerWidth <= 768) {
|
|
2035
|
+
this.destroyAnimationOrigin$.next();
|
|
2036
|
+
this.$animationParams.set({
|
|
2037
|
+
startOrigin: 'bottom center',
|
|
2038
|
+
endOrigin: 'bottom center',
|
|
2039
|
+
start: 'translateY(100%)',
|
|
2040
|
+
end: 'translateY(0%)',
|
|
2041
|
+
leftStart: '',
|
|
2042
|
+
leftEnd: '',
|
|
2043
|
+
topStart: '',
|
|
2044
|
+
topEnd: '',
|
|
2045
|
+
});
|
|
2046
|
+
}
|
|
2047
|
+
fromEvent(this.elementRef.nativeElement, 'wheel', { passive: true })
|
|
2048
|
+
.pipe(tap((e) => {
|
|
2049
|
+
e.stopPropagation();
|
|
2050
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2051
|
+
.subscribe();
|
|
2052
|
+
}
|
|
2053
|
+
ngAfterViewInit() {
|
|
2054
|
+
if (this.popupInstance.width) {
|
|
2055
|
+
this.$width.set(this.popupInstance.width + 'px');
|
|
2056
|
+
}
|
|
2057
|
+
const contentWrapper = this.$contentWrapper();
|
|
2058
|
+
if (contentWrapper) {
|
|
2059
|
+
this.dropDownService.containerSize$.next({
|
|
2060
|
+
width: contentWrapper.nativeElement.offsetWidth,
|
|
2061
|
+
height: contentWrapper.nativeElement.offsetHeight,
|
|
2062
|
+
});
|
|
2063
|
+
}
|
|
2064
|
+
}
|
|
2065
|
+
initTouchEvents() {
|
|
2066
|
+
const swipeButton = this.$swipeButton();
|
|
2067
|
+
const contentWrapper = this.$contentWrapper();
|
|
2068
|
+
if (contentWrapper && swipeButton) {
|
|
2069
|
+
let startY = 0;
|
|
2070
|
+
const elementHeight = contentWrapper.nativeElement.offsetHeight;
|
|
2071
|
+
fromEvent(swipeButton.nativeElement, 'touchstart', { passive: false })
|
|
2072
|
+
.pipe(tap((event) => {
|
|
2073
|
+
startY = event.touches[0].clientY;
|
|
2074
|
+
event.preventDefault();
|
|
2075
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2076
|
+
.subscribe();
|
|
2077
|
+
fromEvent(swipeButton.nativeElement, 'touchmove', { passive: false })
|
|
2078
|
+
.pipe(tap((event) => {
|
|
2079
|
+
const currentY = event.touches[0].clientY;
|
|
2080
|
+
const heightChange = startY - currentY;
|
|
2081
|
+
if (heightChange > 0) {
|
|
2082
|
+
this.renderer.setStyle(contentWrapper.nativeElement, 'height', `${contentWrapper.nativeElement.offsetHeight + heightChange}px`);
|
|
2083
|
+
}
|
|
2084
|
+
else {
|
|
2085
|
+
const newHeight = contentWrapper.nativeElement.offsetHeight + heightChange;
|
|
2086
|
+
if (newHeight > 50) {
|
|
2087
|
+
this.renderer.setStyle(contentWrapper.nativeElement, 'height', `${newHeight}px`);
|
|
2088
|
+
}
|
|
2089
|
+
}
|
|
2090
|
+
startY = currentY;
|
|
2091
|
+
event.preventDefault();
|
|
2092
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2093
|
+
.subscribe();
|
|
2094
|
+
fromEvent(swipeButton.nativeElement, 'touchend', { passive: false })
|
|
2095
|
+
.pipe(tap(() => {
|
|
2096
|
+
if (contentWrapper.nativeElement.offsetHeight <= elementHeight / 2) {
|
|
2097
|
+
this.close();
|
|
2098
|
+
}
|
|
2099
|
+
else {
|
|
2100
|
+
this.renderer.setStyle(contentWrapper.nativeElement, 'height', `${elementHeight}px`);
|
|
2101
|
+
}
|
|
2102
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2103
|
+
.subscribe();
|
|
2104
|
+
}
|
|
2105
|
+
}
|
|
2106
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDropdownContainerDirective, deps: [{ token: UiDropdownService }, { token: UiPopupInstance }, { token: i0.DestroyRef }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2107
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UiDropdownContainerDirective, isStandalone: true, selector: "app-ui-drop-down-container", viewQueries: [{ propertyName: "$contentWrapper", first: true, predicate: ["contentWrapper"], descendants: true, isSignal: true }, { propertyName: "$swipeButton", first: true, predicate: ["swipeButton"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
2108
|
+
}
|
|
2109
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiDropdownContainerDirective, decorators: [{
|
|
2110
|
+
type: Directive,
|
|
2111
|
+
args: [{
|
|
2112
|
+
selector: 'app-ui-drop-down-container',
|
|
2113
|
+
}]
|
|
2114
|
+
}], ctorParameters: () => [{ type: UiDropdownService }, { type: UiPopupInstance, decorators: [{
|
|
2115
|
+
type: Inject,
|
|
2116
|
+
args: [UiPopupInstance]
|
|
2117
|
+
}] }, { type: i0.DestroyRef }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { $contentWrapper: [{ type: i0.ViewChild, args: ['contentWrapper', { isSignal: true }] }], $swipeButton: [{ type: i0.ViewChild, args: ['swipeButton', { isSignal: true }] }] } });
|
|
2118
|
+
|
|
2119
|
+
class HoverTipDirective {
|
|
2120
|
+
hostRef;
|
|
2121
|
+
uiDropdownService;
|
|
2122
|
+
destroyRef;
|
|
2123
|
+
static instanceCounter = 0;
|
|
2124
|
+
$text = input.required({ ...(ngDevMode ? { debugName: "$text" } : {}), alias: 'appHoverTip' });
|
|
2125
|
+
$debounceTime = input(1000, ...(ngDevMode ? [{ debugName: "$debounceTime" }] : []));
|
|
2126
|
+
$position = input('top', { ...(ngDevMode ? { debugName: "$position" } : {}), alias: 'appHoverTipPosition' });
|
|
2127
|
+
$offsetX = input(0, { ...(ngDevMode ? { debugName: "$offsetX" } : {}), alias: 'appHoverTipOffsetX' });
|
|
2128
|
+
$offsetY = input(0, { ...(ngDevMode ? { debugName: "$offsetY" } : {}), alias: 'appHoverTipOffsetY' });
|
|
2129
|
+
tipId = `hover-tip-${HoverTipDirective.instanceCounter++}`;
|
|
2130
|
+
isOpen = false;
|
|
2131
|
+
constructor(hostRef, uiDropdownService, destroyRef) {
|
|
2132
|
+
this.hostRef = hostRef;
|
|
2133
|
+
this.uiDropdownService = uiDropdownService;
|
|
2134
|
+
this.destroyRef = destroyRef;
|
|
2135
|
+
this.destroyRef.onDestroy(() => {
|
|
2136
|
+
this.closeTip();
|
|
2137
|
+
});
|
|
2138
|
+
}
|
|
2139
|
+
ngAfterViewInit() {
|
|
2140
|
+
const debounceTimeValue = this.$debounceTime();
|
|
2141
|
+
fromEvent(this.hostRef.nativeElement, 'mouseenter')
|
|
2142
|
+
.pipe(debounceTime(debounceTimeValue), tap(() => {
|
|
2143
|
+
this.openTip();
|
|
2144
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2145
|
+
.subscribe();
|
|
2146
|
+
fromEvent(this.hostRef.nativeElement, 'mouseleave')
|
|
2147
|
+
.pipe(tap(() => {
|
|
2148
|
+
this.closeTip();
|
|
2149
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2150
|
+
.subscribe();
|
|
2151
|
+
fromEvent(window, 'blur')
|
|
2152
|
+
.pipe(tap(() => {
|
|
2153
|
+
this.closeTip();
|
|
2154
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2155
|
+
.subscribe();
|
|
2156
|
+
}
|
|
2157
|
+
openTip() {
|
|
2158
|
+
const text = this.$text().trim();
|
|
2159
|
+
const isHostHovered = this.hostRef.nativeElement.matches(':hover');
|
|
2160
|
+
if (!text || this.isOpen || !isHostHovered) {
|
|
2161
|
+
return;
|
|
2162
|
+
}
|
|
2163
|
+
this.uiDropdownService.openTip(text, this.hostRef.nativeElement, this.tipId, this.$position(), this.$offsetY(), this.$offsetX());
|
|
2164
|
+
this.isOpen = true;
|
|
2165
|
+
}
|
|
2166
|
+
closeTip() {
|
|
2167
|
+
if (!this.isOpen) {
|
|
2168
|
+
return;
|
|
2169
|
+
}
|
|
2170
|
+
this.uiDropdownService.closeById(this.tipId);
|
|
2171
|
+
this.isOpen = false;
|
|
2172
|
+
}
|
|
2173
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: HoverTipDirective, deps: [{ token: i0.ElementRef }, { token: UiDropdownService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2174
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: HoverTipDirective, isStandalone: true, selector: "[appHoverTip]", inputs: { $text: { classPropertyName: "$text", publicName: "appHoverTip", isSignal: true, isRequired: true, transformFunction: null }, $debounceTime: { classPropertyName: "$debounceTime", publicName: "$debounceTime", isSignal: true, isRequired: false, transformFunction: null }, $position: { classPropertyName: "$position", publicName: "appHoverTipPosition", isSignal: true, isRequired: false, transformFunction: null }, $offsetX: { classPropertyName: "$offsetX", publicName: "appHoverTipOffsetX", isSignal: true, isRequired: false, transformFunction: null }, $offsetY: { classPropertyName: "$offsetY", publicName: "appHoverTipOffsetY", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
2175
|
+
}
|
|
2176
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: HoverTipDirective, decorators: [{
|
|
2177
|
+
type: Directive,
|
|
2178
|
+
args: [{
|
|
2179
|
+
selector: '[appHoverTip]',
|
|
2180
|
+
}]
|
|
2181
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: UiDropdownService }, { type: i0.DestroyRef }], propDecorators: { $text: [{ type: i0.Input, args: [{ isSignal: true, alias: "appHoverTip", required: true }] }], $debounceTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "$debounceTime", required: false }] }], $position: [{ type: i0.Input, args: [{ isSignal: true, alias: "appHoverTipPosition", required: false }] }], $offsetX: [{ type: i0.Input, args: [{ isSignal: true, alias: "appHoverTipOffsetX", required: false }] }], $offsetY: [{ type: i0.Input, args: [{ isSignal: true, alias: "appHoverTipOffsetY", required: false }] }] } });
|
|
2182
|
+
|
|
2183
|
+
class UiImageDirective {
|
|
2184
|
+
$src = input.required(...(ngDevMode ? [{ debugName: "$src" }] : []));
|
|
2185
|
+
$maxWidth = input(320, ...(ngDevMode ? [{ debugName: "$maxWidth" }] : []));
|
|
2186
|
+
$maxHeight = input(320, ...(ngDevMode ? [{ debugName: "$maxHeight" }] : []));
|
|
2187
|
+
$canShowImage = signal(true, ...(ngDevMode ? [{ debugName: "$canShowImage" }] : []));
|
|
2188
|
+
$imageWidth = signal(0, ...(ngDevMode ? [{ debugName: "$imageWidth" }] : []));
|
|
2189
|
+
$imageHeight = signal(0, ...(ngDevMode ? [{ debugName: "$imageHeight" }] : []));
|
|
2190
|
+
ngOnInit() {
|
|
2191
|
+
if (this.$src()) {
|
|
2192
|
+
const img = new Image();
|
|
2193
|
+
img.src = this.$src();
|
|
2194
|
+
img.onload = () => {
|
|
2195
|
+
this.setSize(this.$maxWidth(), this.$maxHeight(), img.width, img.height);
|
|
2196
|
+
img.remove();
|
|
2197
|
+
};
|
|
2198
|
+
}
|
|
2199
|
+
else {
|
|
2200
|
+
this.setSize();
|
|
2201
|
+
}
|
|
2202
|
+
}
|
|
2203
|
+
setSize(maxWidth = this.$maxWidth() / 2, maxHeight = this.$maxHeight() / 2, width = 20, height = 20) {
|
|
2204
|
+
const result = getAspectRatioFit(maxWidth, maxHeight, width, height);
|
|
2205
|
+
this.$imageWidth.set(result.width);
|
|
2206
|
+
this.$imageHeight.set(result.height);
|
|
2207
|
+
}
|
|
2208
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiImageDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2209
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiImageDirective, isStandalone: true, selector: "app-ui-image", inputs: { $src: { classPropertyName: "$src", publicName: "$src", isSignal: true, isRequired: true, transformFunction: null }, $maxWidth: { classPropertyName: "$maxWidth", publicName: "$maxWidth", isSignal: true, isRequired: false, transformFunction: null }, $maxHeight: { classPropertyName: "$maxHeight", publicName: "$maxHeight", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
2210
|
+
}
|
|
2211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiImageDirective, decorators: [{
|
|
2212
|
+
type: Directive,
|
|
2213
|
+
args: [{
|
|
2214
|
+
selector: 'app-ui-image',
|
|
2215
|
+
}]
|
|
2216
|
+
}], propDecorators: { $src: [{ type: i0.Input, args: [{ isSignal: true, alias: "$src", required: true }] }], $maxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "$maxWidth", required: false }] }], $maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "$maxHeight", required: false }] }] } });
|
|
2217
|
+
|
|
2218
|
+
class UiPaginationDirective {
|
|
2219
|
+
$hasNext = input.required(...(ngDevMode ? [{ debugName: "$hasNext" }] : []));
|
|
2220
|
+
$hasPrevious = input.required(...(ngDevMode ? [{ debugName: "$hasPrevious" }] : []));
|
|
2221
|
+
$nextClicked = output();
|
|
2222
|
+
$previousClicked = output();
|
|
2223
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPaginationDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2224
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiPaginationDirective, isStandalone: true, selector: "app-ui-pagination", inputs: { $hasNext: { classPropertyName: "$hasNext", publicName: "$hasNext", isSignal: true, isRequired: true, transformFunction: null }, $hasPrevious: { classPropertyName: "$hasPrevious", publicName: "$hasPrevious", isSignal: true, isRequired: true, transformFunction: null } }, outputs: { $nextClicked: "$nextClicked", $previousClicked: "$previousClicked" }, ngImport: i0 });
|
|
2225
|
+
}
|
|
2226
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPaginationDirective, decorators: [{
|
|
2227
|
+
type: Directive,
|
|
2228
|
+
args: [{
|
|
2229
|
+
selector: 'app-ui-pagination',
|
|
2230
|
+
}]
|
|
2231
|
+
}], propDecorators: { $hasNext: [{ type: i0.Input, args: [{ isSignal: true, alias: "$hasNext", required: true }] }], $hasPrevious: [{ type: i0.Input, args: [{ isSignal: true, alias: "$hasPrevious", required: true }] }], $nextClicked: [{ type: i0.Output, args: ["$nextClicked"] }], $previousClicked: [{ type: i0.Output, args: ["$previousClicked"] }] } });
|
|
2232
|
+
|
|
2233
|
+
class UiPopupImageDirective {
|
|
2234
|
+
destroyRef;
|
|
2235
|
+
src = '';
|
|
2236
|
+
width = 0;
|
|
2237
|
+
height = 0;
|
|
2238
|
+
$imageWidth = signal(0, ...(ngDevMode ? [{ debugName: "$imageWidth" }] : []));
|
|
2239
|
+
$imageHeight = signal(0, ...(ngDevMode ? [{ debugName: "$imageHeight" }] : []));
|
|
2240
|
+
$imageStyleTransform = signal('', ...(ngDevMode ? [{ debugName: "$imageStyleTransform" }] : []));
|
|
2241
|
+
$container = viewChild('container', ...(ngDevMode ? [{ debugName: "$container" }] : []));
|
|
2242
|
+
$image = viewChild('image', ...(ngDevMode ? [{ debugName: "$image" }] : []));
|
|
2243
|
+
$cursor = signal('auto', ...(ngDevMode ? [{ debugName: "$cursor" }] : []));
|
|
2244
|
+
isDragging = false;
|
|
2245
|
+
isTouchDragging = false;
|
|
2246
|
+
isPinching = false;
|
|
2247
|
+
lastTouchX = 0;
|
|
2248
|
+
lastTouchY = 0;
|
|
2249
|
+
lastTouchDistance = 0;
|
|
2250
|
+
size = { w: 0, h: 0 };
|
|
2251
|
+
speed = 0.5;
|
|
2252
|
+
pos = { x: 0, y: 0 };
|
|
2253
|
+
target = { x: 0, y: 0 };
|
|
2254
|
+
pointer = { x: 0, y: 0 };
|
|
2255
|
+
scale = 1;
|
|
2256
|
+
constructor(destroyRef) {
|
|
2257
|
+
this.destroyRef = destroyRef;
|
|
2258
|
+
}
|
|
2259
|
+
ngOnInit() {
|
|
2260
|
+
const result = getAspectRatioFit(window.innerWidth - window.innerWidth / 8, window.innerHeight - window.innerHeight / 8, this.width, this.height);
|
|
2261
|
+
this.$imageWidth.set(result.width);
|
|
2262
|
+
this.$imageHeight.set(result.height);
|
|
2263
|
+
}
|
|
2264
|
+
ngAfterViewInit() {
|
|
2265
|
+
const container = this.$container()?.nativeElement;
|
|
2266
|
+
if (!container)
|
|
2267
|
+
return;
|
|
2268
|
+
this.size = {
|
|
2269
|
+
w: container.offsetWidth,
|
|
2270
|
+
h: container.offsetHeight,
|
|
2271
|
+
};
|
|
2272
|
+
// -----------------------------
|
|
2273
|
+
// KEYBOARD CURSOR LOGIC
|
|
2274
|
+
// -----------------------------
|
|
2275
|
+
fromEvent(window, 'keydown')
|
|
2276
|
+
.pipe(tap((event) => {
|
|
2277
|
+
if (event.ctrlKey)
|
|
2278
|
+
this.$cursor.set('zoom-in');
|
|
2279
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2280
|
+
.subscribe();
|
|
2281
|
+
fromEvent(window, 'keyup')
|
|
2282
|
+
.pipe(tap((event) => {
|
|
2283
|
+
if (event.key === 'Control') {
|
|
2284
|
+
this.$cursor.set(this.scale > 1 ? 'grab' : 'auto');
|
|
2285
|
+
}
|
|
2286
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2287
|
+
.subscribe();
|
|
2288
|
+
// -----------------------------
|
|
2289
|
+
// MOUSE DRAG
|
|
2290
|
+
// -----------------------------
|
|
2291
|
+
fromEvent(window, 'mouseup')
|
|
2292
|
+
.pipe(tap((event) => {
|
|
2293
|
+
if (event.button === 0) {
|
|
2294
|
+
this.isDragging = false;
|
|
2295
|
+
this.$cursor.set(this.scale > 1 ? 'grab' : 'auto');
|
|
2296
|
+
}
|
|
2297
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2298
|
+
.subscribe();
|
|
2299
|
+
fromEvent(container, 'mousedown')
|
|
2300
|
+
.pipe(tap((event) => {
|
|
2301
|
+
if (event.button === 0) {
|
|
2302
|
+
event.preventDefault();
|
|
2303
|
+
this.isDragging = true;
|
|
2304
|
+
this.$cursor.set(this.scale > 1 ? 'grabbing' : 'auto');
|
|
2305
|
+
}
|
|
2306
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2307
|
+
.subscribe();
|
|
2308
|
+
fromEvent(window, 'mousemove')
|
|
2309
|
+
.pipe(tap((e) => {
|
|
2310
|
+
if (this.isDragging && this.scale > 1) {
|
|
2311
|
+
this.pos.x += e.movementX;
|
|
2312
|
+
this.pos.y += e.movementY;
|
|
2313
|
+
this.setPosition();
|
|
2314
|
+
this.$imageStyleTransform.set(`translate(${this.pos.x}px,${this.pos.y}px) scale(${this.scale})`);
|
|
2315
|
+
}
|
|
2316
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2317
|
+
.subscribe();
|
|
2318
|
+
// -----------------------------
|
|
2319
|
+
// MOUSE WHEEL ZOOM
|
|
2320
|
+
// -----------------------------
|
|
2321
|
+
fromEvent(window, 'wheel', { passive: false })
|
|
2322
|
+
.pipe(tap((event) => {
|
|
2323
|
+
event.preventDefault();
|
|
2324
|
+
const rect = container.getBoundingClientRect();
|
|
2325
|
+
if (event.ctrlKey) {
|
|
2326
|
+
this.pointer.x = event.clientX - rect.left;
|
|
2327
|
+
this.pointer.y = event.clientY - rect.top;
|
|
2328
|
+
this.target.x = (this.pointer.x - this.pos.x) / this.scale;
|
|
2329
|
+
this.target.y = (this.pointer.y - this.pos.y) / this.scale;
|
|
2330
|
+
this.scale += -1 * Math.max(-1, Math.min(1, event.deltaY)) * this.speed * this.scale;
|
|
2331
|
+
const maxScale = 4;
|
|
2332
|
+
const minScale = 1;
|
|
2333
|
+
this.scale = Math.max(minScale, Math.min(maxScale, this.scale));
|
|
2334
|
+
this.pos.x = -this.target.x * this.scale + this.pointer.x;
|
|
2335
|
+
this.pos.y = -this.target.y * this.scale + this.pointer.y;
|
|
2336
|
+
this.setPosition();
|
|
2337
|
+
this.$imageStyleTransform.set(`translate(${this.pos.x}px,${this.pos.y}px) scale(${this.scale})`);
|
|
2338
|
+
}
|
|
2339
|
+
else {
|
|
2340
|
+
this.pos.x -= event.deltaX * 2;
|
|
2341
|
+
this.pos.y -= event.deltaY * 2;
|
|
2342
|
+
}
|
|
2343
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2344
|
+
.subscribe();
|
|
2345
|
+
// -----------------------------
|
|
2346
|
+
// TOUCH PINCH ZOOM
|
|
2347
|
+
// -----------------------------
|
|
2348
|
+
fromEvent(container, 'touchstart')
|
|
2349
|
+
.pipe(tap((event) => {
|
|
2350
|
+
if (event.touches.length === 2) {
|
|
2351
|
+
this.isPinching = true;
|
|
2352
|
+
const [t1, t2] = event.touches;
|
|
2353
|
+
this.lastTouchDistance = Math.hypot(t2.clientX - t1.clientX, t2.clientY - t1.clientY);
|
|
2354
|
+
}
|
|
2355
|
+
if (event.touches.length === 1 && this.scale > 1) {
|
|
2356
|
+
const t = event.touches[0];
|
|
2357
|
+
this.lastTouchX = t.clientX;
|
|
2358
|
+
this.lastTouchY = t.clientY;
|
|
2359
|
+
this.isTouchDragging = true;
|
|
2360
|
+
this.$cursor.set('grabbing');
|
|
2361
|
+
}
|
|
2362
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2363
|
+
.subscribe();
|
|
2364
|
+
fromEvent(container, 'touchmove')
|
|
2365
|
+
.pipe(tap((event) => {
|
|
2366
|
+
if (this.isPinching && event.touches.length === 2) {
|
|
2367
|
+
event.preventDefault();
|
|
2368
|
+
const [t1, t2] = event.touches;
|
|
2369
|
+
const newDistance = Math.hypot(t2.clientX - t1.clientX, t2.clientY - t1.clientY);
|
|
2370
|
+
const delta = newDistance - this.lastTouchDistance;
|
|
2371
|
+
this.lastTouchDistance = newDistance;
|
|
2372
|
+
const rect = container.getBoundingClientRect();
|
|
2373
|
+
const centerX = (t1.clientX + t2.clientX) / 2 - rect.left;
|
|
2374
|
+
const centerY = (t1.clientY + t2.clientY) / 2 - rect.top;
|
|
2375
|
+
this.pointer.x = centerX;
|
|
2376
|
+
this.pointer.y = centerY;
|
|
2377
|
+
this.target.x = (this.pointer.x - this.pos.x) / this.scale;
|
|
2378
|
+
this.target.y = (this.pointer.y - this.pos.y) / this.scale;
|
|
2379
|
+
const pinchSpeed = 0.005;
|
|
2380
|
+
this.scale += delta * pinchSpeed * this.scale;
|
|
2381
|
+
const maxScale = 4;
|
|
2382
|
+
const minScale = 1;
|
|
2383
|
+
this.scale = Math.max(minScale, Math.min(maxScale, this.scale));
|
|
2384
|
+
this.pos.x = -this.target.x * this.scale + this.pointer.x;
|
|
2385
|
+
this.pos.y = -this.target.y * this.scale + this.pointer.y;
|
|
2386
|
+
this.setPosition();
|
|
2387
|
+
this.$imageStyleTransform.set(`translate(${this.pos.x}px,${this.pos.y}px) scale(${this.scale})`);
|
|
2388
|
+
}
|
|
2389
|
+
if (this.isTouchDragging && event.touches.length === 1) {
|
|
2390
|
+
event.preventDefault();
|
|
2391
|
+
const t = event.touches[0];
|
|
2392
|
+
const dx = t.clientX - this.lastTouchX;
|
|
2393
|
+
const dy = t.clientY - this.lastTouchY;
|
|
2394
|
+
this.lastTouchX = t.clientX;
|
|
2395
|
+
this.lastTouchY = t.clientY;
|
|
2396
|
+
this.pos.x += dx;
|
|
2397
|
+
this.pos.y += dy;
|
|
2398
|
+
this.setPosition();
|
|
2399
|
+
this.$imageStyleTransform.set(`translate(${this.pos.x}px,${this.pos.y}px) scale(${this.scale})`);
|
|
2400
|
+
}
|
|
2401
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2402
|
+
.subscribe();
|
|
2403
|
+
fromEvent(container, 'touchend')
|
|
2404
|
+
.pipe(tap(() => {
|
|
2405
|
+
this.isPinching = false;
|
|
2406
|
+
this.isTouchDragging = false;
|
|
2407
|
+
this.$cursor.set(this.scale > 1 ? 'grab' : 'auto');
|
|
2408
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2409
|
+
.subscribe();
|
|
2410
|
+
}
|
|
2411
|
+
setPosition() {
|
|
2412
|
+
if (this.pos.x > 0)
|
|
2413
|
+
this.pos.x = 0;
|
|
2414
|
+
if (this.pos.x + this.size.w * this.scale < this.size.w) {
|
|
2415
|
+
this.pos.x = -this.size.w * (this.scale - 1);
|
|
2416
|
+
}
|
|
2417
|
+
if (this.pos.y > 0)
|
|
2418
|
+
this.pos.y = 0;
|
|
2419
|
+
if (this.pos.y + this.size.h * this.scale < this.size.h) {
|
|
2420
|
+
this.pos.y = -this.size.h * (this.scale - 1);
|
|
2421
|
+
}
|
|
2422
|
+
}
|
|
2423
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupImageDirective, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2424
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UiPopupImageDirective, isStandalone: true, selector: "app-ui-popup-image", inputs: { src: "src", width: "width", height: "height" }, viewQueries: [{ propertyName: "$container", first: true, predicate: ["container"], descendants: true, isSignal: true }, { propertyName: "$image", first: true, predicate: ["image"], descendants: true, isSignal: true }], ngImport: i0 });
|
|
2425
|
+
}
|
|
2426
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupImageDirective, decorators: [{
|
|
2427
|
+
type: Directive,
|
|
2428
|
+
args: [{
|
|
2429
|
+
selector: 'app-ui-popup-image',
|
|
2430
|
+
}]
|
|
2431
|
+
}], ctorParameters: () => [{ type: i0.DestroyRef }], propDecorators: { src: [{
|
|
2432
|
+
type: Input,
|
|
2433
|
+
args: [{ required: true }]
|
|
2434
|
+
}], width: [{
|
|
2435
|
+
type: Input,
|
|
2436
|
+
args: [{ required: true }]
|
|
2437
|
+
}], height: [{
|
|
2438
|
+
type: Input,
|
|
2439
|
+
args: [{ required: true }]
|
|
2440
|
+
}], $container: [{ type: i0.ViewChild, args: ['container', { isSignal: true }] }], $image: [{ type: i0.ViewChild, args: ['image', { isSignal: true }] }] } });
|
|
2441
|
+
|
|
2442
|
+
class UiPopupBackdropDirective {
|
|
2443
|
+
elementRef;
|
|
2444
|
+
uiPopupService;
|
|
2445
|
+
destroyRef;
|
|
2446
|
+
isStaticBackdrop = false;
|
|
2447
|
+
constructor(elementRef, uiPopupService, destroyRef) {
|
|
2448
|
+
this.elementRef = elementRef;
|
|
2449
|
+
this.uiPopupService = uiPopupService;
|
|
2450
|
+
this.destroyRef = destroyRef;
|
|
2451
|
+
}
|
|
2452
|
+
ngOnInit() {
|
|
2453
|
+
fromEvent(this.elementRef.nativeElement, 'click')
|
|
2454
|
+
.pipe(tap(() => {
|
|
2455
|
+
if (this.isStaticBackdrop) {
|
|
2456
|
+
return;
|
|
2457
|
+
}
|
|
2458
|
+
this.uiPopupService.closeAll();
|
|
2459
|
+
}), takeUntilDestroyed(this.destroyRef))
|
|
2460
|
+
.subscribe();
|
|
2461
|
+
}
|
|
2462
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupBackdropDirective, deps: [{ token: i0.ElementRef }, { token: UiPopupService }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2463
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.1.1", type: UiPopupBackdropDirective, isStandalone: true, selector: "app-ui-popup-backdrop", inputs: { isStaticBackdrop: "isStaticBackdrop" }, ngImport: i0 });
|
|
2464
|
+
}
|
|
2465
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiPopupBackdropDirective, decorators: [{
|
|
2466
|
+
type: Directive,
|
|
2467
|
+
args: [{ selector: 'app-ui-popup-backdrop' }]
|
|
2468
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: UiPopupService }, { type: i0.DestroyRef }], propDecorators: { isStaticBackdrop: [{
|
|
2469
|
+
type: Input
|
|
2470
|
+
}] } });
|
|
2471
|
+
|
|
2472
|
+
const buttonColors = [
|
|
2473
|
+
'primary',
|
|
2474
|
+
'secondary',
|
|
2475
|
+
'tertiary',
|
|
2476
|
+
'quaternary',
|
|
2477
|
+
'success',
|
|
2478
|
+
'warning',
|
|
2479
|
+
'info',
|
|
2480
|
+
'danger',
|
|
2481
|
+
];
|
|
2482
|
+
class UiButtonDirective {
|
|
2483
|
+
elementRef;
|
|
2484
|
+
renderer;
|
|
2485
|
+
$color = input.required(...(ngDevMode ? [{ debugName: "$color" }] : []));
|
|
2486
|
+
$isOutlined = input(false, ...(ngDevMode ? [{ debugName: "$isOutlined" }] : []));
|
|
2487
|
+
$isRounded = input(false, ...(ngDevMode ? [{ debugName: "$isRounded" }] : []));
|
|
2488
|
+
$sizeBehavior = input('padding', ...(ngDevMode ? [{ debugName: "$sizeBehavior" }] : []));
|
|
2489
|
+
$size = input('medium', ...(ngDevMode ? [{ debugName: "$size" }] : []));
|
|
2490
|
+
$isDisabled = input(false, ...(ngDevMode ? [{ debugName: "$isDisabled" }] : []));
|
|
2491
|
+
$isLoading = input(false, ...(ngDevMode ? [{ debugName: "$isLoading" }] : []));
|
|
2492
|
+
constructor(elementRef, renderer) {
|
|
2493
|
+
this.elementRef = elementRef;
|
|
2494
|
+
this.renderer = renderer;
|
|
2495
|
+
effect(() => {
|
|
2496
|
+
if (this.$sizeBehavior() === 'block') {
|
|
2497
|
+
this.renderer.addClass(this.elementRef.nativeElement, 'block');
|
|
2498
|
+
}
|
|
2499
|
+
else {
|
|
2500
|
+
this.renderer.removeClass(this.elementRef.nativeElement, 'block');
|
|
2501
|
+
}
|
|
2502
|
+
});
|
|
2503
|
+
effect(() => {
|
|
2504
|
+
const isOutlined = this.$isOutlined();
|
|
2505
|
+
if (isOutlined) {
|
|
2506
|
+
this.renderer.addClass(this.elementRef.nativeElement, 'outline');
|
|
2507
|
+
}
|
|
2508
|
+
else {
|
|
2509
|
+
this.renderer.removeClass(this.elementRef.nativeElement, 'outline');
|
|
2510
|
+
}
|
|
2511
|
+
});
|
|
2512
|
+
effect(() => {
|
|
2513
|
+
const isRounded = this.$isRounded();
|
|
2514
|
+
if (isRounded) {
|
|
2515
|
+
this.renderer.addClass(this.elementRef.nativeElement, 'rounded');
|
|
2516
|
+
}
|
|
2517
|
+
else {
|
|
2518
|
+
this.renderer.removeClass(this.elementRef.nativeElement, 'rounded');
|
|
2519
|
+
}
|
|
2520
|
+
});
|
|
2521
|
+
effect(() => {
|
|
2522
|
+
if (this.$size() === 'small') {
|
|
2523
|
+
this.renderer.addClass(this.elementRef.nativeElement, 'small');
|
|
2524
|
+
}
|
|
2525
|
+
else {
|
|
2526
|
+
this.renderer.removeClass(this.elementRef.nativeElement, 'small');
|
|
2527
|
+
}
|
|
2528
|
+
});
|
|
2529
|
+
effect(() => {
|
|
2530
|
+
if (this.$isDisabled()) {
|
|
2531
|
+
this.renderer.addClass(this.elementRef.nativeElement, 'disabled');
|
|
2532
|
+
}
|
|
2533
|
+
else {
|
|
2534
|
+
this.renderer.removeClass(this.elementRef.nativeElement, 'disabled');
|
|
2535
|
+
}
|
|
2536
|
+
});
|
|
2537
|
+
effect(() => {
|
|
2538
|
+
if (this.$isLoading()) {
|
|
2539
|
+
this.renderer.addClass(this.elementRef.nativeElement, 'loading');
|
|
2540
|
+
}
|
|
2541
|
+
else {
|
|
2542
|
+
this.renderer.removeClass(this.elementRef.nativeElement, 'loading');
|
|
2543
|
+
}
|
|
2544
|
+
});
|
|
2545
|
+
effect(() => {
|
|
2546
|
+
const color = this.$color();
|
|
2547
|
+
buttonColors.forEach((color) => {
|
|
2548
|
+
this.renderer.removeClass(this.elementRef.nativeElement, color);
|
|
2549
|
+
});
|
|
2550
|
+
this.renderer.addClass(this.elementRef.nativeElement, color);
|
|
2551
|
+
});
|
|
2552
|
+
}
|
|
2553
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiButtonDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2554
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiButtonDirective, isStandalone: true, selector: "app-ui-button", inputs: { $color: { classPropertyName: "$color", publicName: "$color", isSignal: true, isRequired: true, transformFunction: null }, $isOutlined: { classPropertyName: "$isOutlined", publicName: "$isOutlined", isSignal: true, isRequired: false, transformFunction: null }, $isRounded: { classPropertyName: "$isRounded", publicName: "$isRounded", isSignal: true, isRequired: false, transformFunction: null }, $sizeBehavior: { classPropertyName: "$sizeBehavior", publicName: "$sizeBehavior", isSignal: true, isRequired: false, transformFunction: null }, $size: { classPropertyName: "$size", publicName: "$size", isSignal: true, isRequired: false, transformFunction: null }, $isDisabled: { classPropertyName: "$isDisabled", publicName: "$isDisabled", isSignal: true, isRequired: false, transformFunction: null }, $isLoading: { classPropertyName: "$isLoading", publicName: "$isLoading", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
2555
|
+
}
|
|
2556
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiButtonDirective, decorators: [{
|
|
2557
|
+
type: Directive,
|
|
2558
|
+
args: [{
|
|
2559
|
+
selector: 'app-ui-button',
|
|
2560
|
+
}]
|
|
2561
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { $color: [{ type: i0.Input, args: [{ isSignal: true, alias: "$color", required: true }] }], $isOutlined: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isOutlined", required: false }] }], $isRounded: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isRounded", required: false }] }], $sizeBehavior: [{ type: i0.Input, args: [{ isSignal: true, alias: "$sizeBehavior", required: false }] }], $size: [{ type: i0.Input, args: [{ isSignal: true, alias: "$size", required: false }] }], $isDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isDisabled", required: false }] }], $isLoading: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isLoading", required: false }] }] } });
|
|
2562
|
+
|
|
2563
|
+
class UiSelectButtonsDirective {
|
|
2564
|
+
renderer;
|
|
2565
|
+
elementRef;
|
|
2566
|
+
destroyRef;
|
|
2567
|
+
platformId;
|
|
2568
|
+
$buttons = input.required(...(ngDevMode ? [{ debugName: "$buttons" }] : []));
|
|
2569
|
+
$selectedButtonIndex = signal(0, ...(ngDevMode ? [{ debugName: "$selectedButtonIndex" }] : []));
|
|
2570
|
+
$alignment = input('left', ...(ngDevMode ? [{ debugName: "$alignment" }] : []));
|
|
2571
|
+
$overflowMode = input('scroll', ...(ngDevMode ? [{ debugName: "$overflowMode" }] : []));
|
|
2572
|
+
$buttonChanged = output();
|
|
2573
|
+
$isScrollable = signal(false, ...(ngDevMode ? [{ debugName: "$isScrollable" }] : []));
|
|
2574
|
+
constructor(renderer, elementRef, destroyRef, platformId) {
|
|
2575
|
+
this.renderer = renderer;
|
|
2576
|
+
this.elementRef = elementRef;
|
|
2577
|
+
this.destroyRef = destroyRef;
|
|
2578
|
+
this.platformId = platformId;
|
|
2579
|
+
}
|
|
2580
|
+
ngOnInit() {
|
|
2581
|
+
this.renderer.addClass(this.elementRef.nativeElement, this.$alignment());
|
|
2582
|
+
this.renderer.addClass(this.elementRef.nativeElement, this.$overflowMode());
|
|
2583
|
+
}
|
|
2584
|
+
ngAfterViewInit() {
|
|
2585
|
+
this.checkScroll();
|
|
2586
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
2587
|
+
const resizeObserver = new ResizeObserver(() => {
|
|
2588
|
+
this.checkScroll();
|
|
2589
|
+
});
|
|
2590
|
+
resizeObserver.observe(this.elementRef.nativeElement);
|
|
2591
|
+
this.destroyRef.onDestroy(() => {
|
|
2592
|
+
resizeObserver.disconnect();
|
|
2593
|
+
});
|
|
2594
|
+
}
|
|
2595
|
+
}
|
|
2596
|
+
select(index) {
|
|
2597
|
+
this.$selectedButtonIndex.set(index);
|
|
2598
|
+
this.$buttonChanged.emit(index);
|
|
2599
|
+
}
|
|
2600
|
+
checkScroll() {
|
|
2601
|
+
const el = this.elementRef.nativeElement;
|
|
2602
|
+
const isScrollable = el.scrollWidth > el.clientWidth || el.scrollHeight > el.clientHeight;
|
|
2603
|
+
this.$isScrollable.set(isScrollable);
|
|
2604
|
+
if (isScrollable) {
|
|
2605
|
+
this.renderer.addClass(this.elementRef.nativeElement, 'scrollable');
|
|
2606
|
+
}
|
|
2607
|
+
else {
|
|
2608
|
+
this.renderer.removeClass(this.elementRef.nativeElement, 'scrollable');
|
|
2609
|
+
}
|
|
2610
|
+
}
|
|
2611
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiSelectButtonsDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.DestroyRef }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2612
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiSelectButtonsDirective, isStandalone: true, selector: "app-ui-select-buttons", inputs: { $buttons: { classPropertyName: "$buttons", publicName: "$buttons", isSignal: true, isRequired: true, transformFunction: null }, $alignment: { classPropertyName: "$alignment", publicName: "$alignment", isSignal: true, isRequired: false, transformFunction: null }, $overflowMode: { classPropertyName: "$overflowMode", publicName: "$overflowMode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { $buttonChanged: "$buttonChanged" }, ngImport: i0 });
|
|
2613
|
+
}
|
|
2614
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiSelectButtonsDirective, decorators: [{
|
|
2615
|
+
type: Directive,
|
|
2616
|
+
args: [{
|
|
2617
|
+
selector: 'app-ui-select-buttons',
|
|
2618
|
+
}]
|
|
2619
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.DestroyRef }, { type: undefined, decorators: [{
|
|
2620
|
+
type: Inject,
|
|
2621
|
+
args: [PLATFORM_ID]
|
|
2622
|
+
}] }], propDecorators: { $buttons: [{ type: i0.Input, args: [{ isSignal: true, alias: "$buttons", required: true }] }], $alignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "$alignment", required: false }] }], $overflowMode: [{ type: i0.Input, args: [{ isSignal: true, alias: "$overflowMode", required: false }] }], $buttonChanged: [{ type: i0.Output, args: ["$buttonChanged"] }] } });
|
|
2623
|
+
|
|
2624
|
+
class UiCopyButtonDirective {
|
|
2625
|
+
destroyRef;
|
|
2626
|
+
$text = input.required(...(ngDevMode ? [{ debugName: "$text" }] : []));
|
|
2627
|
+
$isCopied = signal(false, ...(ngDevMode ? [{ debugName: "$isCopied" }] : []));
|
|
2628
|
+
destroyTimer$ = new Subject();
|
|
2629
|
+
constructor(destroyRef) {
|
|
2630
|
+
this.destroyRef = destroyRef;
|
|
2631
|
+
}
|
|
2632
|
+
copy() {
|
|
2633
|
+
this.destroyTimer$.next();
|
|
2634
|
+
const text = this.$text();
|
|
2635
|
+
if (window.navigator.clipboard && window.navigator.clipboard.writeText) {
|
|
2636
|
+
window.navigator.clipboard
|
|
2637
|
+
.writeText(text)
|
|
2638
|
+
.then(() => {
|
|
2639
|
+
this.$isCopied.set(true);
|
|
2640
|
+
timer(5000)
|
|
2641
|
+
.pipe(tap(() => {
|
|
2642
|
+
this.$isCopied.set(false);
|
|
2643
|
+
}), takeUntil(this.destroyTimer$), takeUntilDestroyed(this.destroyRef))
|
|
2644
|
+
.subscribe();
|
|
2645
|
+
})
|
|
2646
|
+
.catch((err) => {
|
|
2647
|
+
console.error('Error copying text:', err);
|
|
2648
|
+
});
|
|
2649
|
+
}
|
|
2650
|
+
}
|
|
2651
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiCopyButtonDirective, deps: [{ token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2652
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiCopyButtonDirective, isStandalone: true, selector: "app-ui-copy-button", inputs: { $text: { classPropertyName: "$text", publicName: "$text", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
2653
|
+
}
|
|
2654
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiCopyButtonDirective, decorators: [{
|
|
2655
|
+
type: Directive,
|
|
2656
|
+
args: [{
|
|
2657
|
+
selector: 'app-ui-copy-button',
|
|
2658
|
+
}]
|
|
2659
|
+
}], ctorParameters: () => [{ type: i0.DestroyRef }], propDecorators: { $text: [{ type: i0.Input, args: [{ isSignal: true, alias: "$text", required: true }] }] } });
|
|
2660
|
+
|
|
2661
|
+
class UiTabsDirective {
|
|
2662
|
+
renderer;
|
|
2663
|
+
elementRef;
|
|
2664
|
+
$tabs = model.required(...(ngDevMode ? [{ debugName: "$tabs" }] : []));
|
|
2665
|
+
$alignment = input('left', ...(ngDevMode ? [{ debugName: "$alignment" }] : []));
|
|
2666
|
+
$selectedTabIndex = model(0, ...(ngDevMode ? [{ debugName: "$selectedTabIndex" }] : []));
|
|
2667
|
+
$templates = contentChildren('tab', ...(ngDevMode ? [{ debugName: "$templates" }] : []));
|
|
2668
|
+
$headContent = contentChild('head', ...(ngDevMode ? [{ debugName: "$headContent" }] : []));
|
|
2669
|
+
constructor(renderer, elementRef) {
|
|
2670
|
+
this.renderer = renderer;
|
|
2671
|
+
this.elementRef = elementRef;
|
|
2672
|
+
effect(() => {
|
|
2673
|
+
const tabs = this.$tabs();
|
|
2674
|
+
this.$templates().forEach((f, i) => {
|
|
2675
|
+
tabs[i].template = f;
|
|
2676
|
+
});
|
|
2677
|
+
untracked(() => {
|
|
2678
|
+
this.$tabs.set(tabs);
|
|
2679
|
+
});
|
|
2680
|
+
});
|
|
2681
|
+
}
|
|
2682
|
+
ngOnInit() {
|
|
2683
|
+
this.renderer.addClass(this.elementRef.nativeElement, this.$alignment());
|
|
2684
|
+
}
|
|
2685
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiTabsDirective, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
|
|
2686
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UiTabsDirective, isStandalone: true, selector: "[appUiTabs]", inputs: { $tabs: { classPropertyName: "$tabs", publicName: "$tabs", isSignal: true, isRequired: true, transformFunction: null }, $alignment: { classPropertyName: "$alignment", publicName: "$alignment", isSignal: true, isRequired: false, transformFunction: null }, $selectedTabIndex: { classPropertyName: "$selectedTabIndex", publicName: "$selectedTabIndex", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { $tabs: "$tabsChange", $selectedTabIndex: "$selectedTabIndexChange" }, queries: [{ propertyName: "$templates", predicate: ["tab"], isSignal: true }, { propertyName: "$headContent", first: true, predicate: ["head"], descendants: true, isSignal: true }], exportAs: ["uiTabs"], ngImport: i0 });
|
|
2687
|
+
}
|
|
2688
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiTabsDirective, decorators: [{
|
|
2689
|
+
type: Directive,
|
|
2690
|
+
args: [{
|
|
2691
|
+
selector: '[appUiTabs]',
|
|
2692
|
+
exportAs: 'uiTabs',
|
|
2693
|
+
}]
|
|
2694
|
+
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }], propDecorators: { $tabs: [{ type: i0.Input, args: [{ isSignal: true, alias: "$tabs", required: true }] }, { type: i0.Output, args: ["$tabsChange"] }], $alignment: [{ type: i0.Input, args: [{ isSignal: true, alias: "$alignment", required: false }] }], $selectedTabIndex: [{ type: i0.Input, args: [{ isSignal: true, alias: "$selectedTabIndex", required: false }] }, { type: i0.Output, args: ["$selectedTabIndexChange"] }], $templates: [{ type: i0.ContentChildren, args: ['tab', { isSignal: true }] }], $headContent: [{ type: i0.ContentChild, args: ['head', { isSignal: true }] }] } });
|
|
2695
|
+
|
|
2696
|
+
class UiFieldBaseDirective {
|
|
2697
|
+
value = model(null, ...(ngDevMode ? [{ debugName: "value" }] : []));
|
|
2698
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
2699
|
+
invalid = model(false, ...(ngDevMode ? [{ debugName: "invalid" }] : []));
|
|
2700
|
+
errors = input([], ...(ngDevMode ? [{ debugName: "errors" }] : []));
|
|
2701
|
+
touched = model(false, ...(ngDevMode ? [{ debugName: "touched" }] : []));
|
|
2702
|
+
dirty = model(false, ...(ngDevMode ? [{ debugName: "dirty" }] : []));
|
|
2703
|
+
initialValue = null;
|
|
2704
|
+
ngOnInit() {
|
|
2705
|
+
this.initialValue = this.value();
|
|
2706
|
+
}
|
|
2707
|
+
onInput(value) {
|
|
2708
|
+
this.value.set(value);
|
|
2709
|
+
if (this.initialValue !== null && value !== this.initialValue) {
|
|
2710
|
+
this.dirty.set(true);
|
|
2711
|
+
}
|
|
2712
|
+
}
|
|
2713
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiFieldBaseDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2714
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiFieldBaseDirective, isStandalone: true, selector: "app-ui-field-base", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, dirty: { classPropertyName: "dirty", publicName: "dirty", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: "valueChange", invalid: "invalidChange", touched: "touchedChange", dirty: "dirtyChange" }, ngImport: i0 });
|
|
2715
|
+
}
|
|
2716
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiFieldBaseDirective, decorators: [{
|
|
2717
|
+
type: Directive,
|
|
2718
|
+
args: [{
|
|
2719
|
+
selector: 'app-ui-field-base',
|
|
2720
|
+
}]
|
|
2721
|
+
}], propDecorators: { value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }, { type: i0.Output, args: ["valueChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }, { type: i0.Output, args: ["invalidChange"] }], errors: [{ type: i0.Input, args: [{ isSignal: true, alias: "errors", required: false }] }], touched: [{ type: i0.Input, args: [{ isSignal: true, alias: "touched", required: false }] }, { type: i0.Output, args: ["touchedChange"] }], dirty: [{ type: i0.Input, args: [{ isSignal: true, alias: "dirty", required: false }] }, { type: i0.Output, args: ["dirtyChange"] }] } });
|
|
2722
|
+
|
|
2723
|
+
class UiInputCheckboxDirective {
|
|
2724
|
+
checked = model(false, ...(ngDevMode ? [{ debugName: "checked" }] : []));
|
|
2725
|
+
invalid = model(false, ...(ngDevMode ? [{ debugName: "invalid" }] : []));
|
|
2726
|
+
disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
2727
|
+
$style = input('primary', ...(ngDevMode ? [{ debugName: "$style" }] : []));
|
|
2728
|
+
$label = input('', ...(ngDevMode ? [{ debugName: "$label" }] : []));
|
|
2729
|
+
$hideValidatorErrors = input(false, ...(ngDevMode ? [{ debugName: "$hideValidatorErrors" }] : []));
|
|
2730
|
+
errors = input([], ...(ngDevMode ? [{ debugName: "errors" }] : []));
|
|
2731
|
+
touched = model(false, ...(ngDevMode ? [{ debugName: "touched" }] : []));
|
|
2732
|
+
dirty = model(false, ...(ngDevMode ? [{ debugName: "dirty" }] : []));
|
|
2733
|
+
$isError = computed(() => {
|
|
2734
|
+
return (this.touched() || (this.dirty() && this.touched())) && this.invalid();
|
|
2735
|
+
}, ...(ngDevMode ? [{ debugName: "$isError" }] : []));
|
|
2736
|
+
change() {
|
|
2737
|
+
this.checked.update((val) => !val);
|
|
2738
|
+
}
|
|
2739
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputCheckboxDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2740
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiInputCheckboxDirective, isStandalone: true, selector: "app-ui-input", inputs: { checked: { classPropertyName: "checked", publicName: "checked", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, $style: { classPropertyName: "$style", publicName: "$style", isSignal: true, isRequired: false, transformFunction: null }, $label: { classPropertyName: "$label", publicName: "$label", isSignal: true, isRequired: false, transformFunction: null }, $hideValidatorErrors: { classPropertyName: "$hideValidatorErrors", publicName: "$hideValidatorErrors", isSignal: true, isRequired: false, transformFunction: null }, errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null }, dirty: { classPropertyName: "dirty", publicName: "dirty", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { checked: "checkedChange", invalid: "invalidChange", touched: "touchedChange", dirty: "dirtyChange" }, ngImport: i0 });
|
|
2741
|
+
}
|
|
2742
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputCheckboxDirective, decorators: [{
|
|
2743
|
+
type: Directive,
|
|
2744
|
+
args: [{
|
|
2745
|
+
selector: 'app-ui-input',
|
|
2746
|
+
}]
|
|
2747
|
+
}], propDecorators: { checked: [{ type: i0.Input, args: [{ isSignal: true, alias: "checked", required: false }] }, { type: i0.Output, args: ["checkedChange"] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }, { type: i0.Output, args: ["invalidChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], $style: [{ type: i0.Input, args: [{ isSignal: true, alias: "$style", required: false }] }], $label: [{ type: i0.Input, args: [{ isSignal: true, alias: "$label", required: false }] }], $hideValidatorErrors: [{ type: i0.Input, args: [{ isSignal: true, alias: "$hideValidatorErrors", required: false }] }], errors: [{ type: i0.Input, args: [{ isSignal: true, alias: "errors", required: false }] }], touched: [{ type: i0.Input, args: [{ isSignal: true, alias: "touched", required: false }] }, { type: i0.Output, args: ["touchedChange"] }], dirty: [{ type: i0.Input, args: [{ isSignal: true, alias: "dirty", required: false }] }, { type: i0.Output, args: ["dirtyChange"] }] } });
|
|
2748
|
+
|
|
2749
|
+
const sizes = {
|
|
2750
|
+
small: {
|
|
2751
|
+
padding: 'padding-xs',
|
|
2752
|
+
font: 'paragraph-sm',
|
|
2753
|
+
borderRadius: 'border-radius-m',
|
|
2754
|
+
},
|
|
2755
|
+
medium: {
|
|
2756
|
+
padding: 'padding-sm',
|
|
2757
|
+
font: 'paragraph-l',
|
|
2758
|
+
borderRadius: 'border-radius-m',
|
|
2759
|
+
},
|
|
2760
|
+
};
|
|
2761
|
+
class UiInputDirective extends UiFieldBaseDirective {
|
|
2762
|
+
$size = input('medium', ...(ngDevMode ? [{ debugName: "$size" }] : []));
|
|
2763
|
+
$placeholder = input('', ...(ngDevMode ? [{ debugName: "$placeholder" }] : []));
|
|
2764
|
+
$label = input('', ...(ngDevMode ? [{ debugName: "$label" }] : []));
|
|
2765
|
+
$shouldFocusedAfterViewInit = input(false, ...(ngDevMode ? [{ debugName: "$shouldFocusedAfterViewInit" }] : []));
|
|
2766
|
+
$hideValidatorErrors = input(false, ...(ngDevMode ? [{ debugName: "$hideValidatorErrors" }] : []));
|
|
2767
|
+
$icon = input(null, ...(ngDevMode ? [{ debugName: "$icon" }] : []));
|
|
2768
|
+
$layoutSize = computed(() => {
|
|
2769
|
+
const size = this.$size();
|
|
2770
|
+
return sizes[size];
|
|
2771
|
+
}, ...(ngDevMode ? [{ debugName: "$layoutSize" }] : []));
|
|
2772
|
+
$isError = computed(() => {
|
|
2773
|
+
return (this.touched() || (this.dirty() && this.touched())) && this.invalid();
|
|
2774
|
+
}, ...(ngDevMode ? [{ debugName: "$isError" }] : []));
|
|
2775
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
2776
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiInputDirective, isStandalone: true, selector: "app-ui-input", inputs: { $size: { classPropertyName: "$size", publicName: "$size", isSignal: true, isRequired: false, transformFunction: null }, $placeholder: { classPropertyName: "$placeholder", publicName: "$placeholder", isSignal: true, isRequired: false, transformFunction: null }, $label: { classPropertyName: "$label", publicName: "$label", isSignal: true, isRequired: false, transformFunction: null }, $shouldFocusedAfterViewInit: { classPropertyName: "$shouldFocusedAfterViewInit", publicName: "$shouldFocusedAfterViewInit", isSignal: true, isRequired: false, transformFunction: null }, $hideValidatorErrors: { classPropertyName: "$hideValidatorErrors", publicName: "$hideValidatorErrors", isSignal: true, isRequired: false, transformFunction: null }, $icon: { classPropertyName: "$icon", publicName: "$icon", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
|
|
2777
|
+
}
|
|
2778
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputDirective, decorators: [{
|
|
2779
|
+
type: Directive,
|
|
2780
|
+
args: [{
|
|
2781
|
+
selector: 'app-ui-input',
|
|
2782
|
+
}]
|
|
2783
|
+
}], propDecorators: { $size: [{ type: i0.Input, args: [{ isSignal: true, alias: "$size", required: false }] }], $placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "$placeholder", required: false }] }], $label: [{ type: i0.Input, args: [{ isSignal: true, alias: "$label", required: false }] }], $shouldFocusedAfterViewInit: [{ type: i0.Input, args: [{ isSignal: true, alias: "$shouldFocusedAfterViewInit", required: false }] }], $hideValidatorErrors: [{ type: i0.Input, args: [{ isSignal: true, alias: "$hideValidatorErrors", required: false }] }], $icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "$icon", required: false }] }] } });
|
|
2784
|
+
|
|
2785
|
+
class UiInputCountryDirective extends UiInputDirective {
|
|
2786
|
+
$selectedCountry = signal(emptyCountry, ...(ngDevMode ? [{ debugName: "$selectedCountry" }] : []));
|
|
2787
|
+
$isOpen = signal(false, ...(ngDevMode ? [{ debugName: "$isOpen" }] : []));
|
|
2788
|
+
$inputElement = viewChild('input', ...(ngDevMode ? [{ debugName: "$inputElement" }] : []));
|
|
2789
|
+
constructor() {
|
|
2790
|
+
super();
|
|
2791
|
+
}
|
|
2792
|
+
ngAfterViewInit() {
|
|
2793
|
+
this.autoSetCountry();
|
|
2794
|
+
}
|
|
2795
|
+
onPaste(event) {
|
|
2796
|
+
event.preventDefault();
|
|
2797
|
+
const pastedText = event.clipboardData?.getData('text') || '';
|
|
2798
|
+
const country = this.searchCountry(pastedText);
|
|
2799
|
+
if (country) {
|
|
2800
|
+
this.setCountry(country);
|
|
2801
|
+
return;
|
|
2802
|
+
}
|
|
2803
|
+
this.onInput(this.value() + pastedText);
|
|
2804
|
+
}
|
|
2805
|
+
searchCountry(temp) {
|
|
2806
|
+
const country = CountryService.countries.find((c) => c.name.toLowerCase().includes(temp.toLowerCase()));
|
|
2807
|
+
return country;
|
|
2808
|
+
}
|
|
2809
|
+
setCountry(country) {
|
|
2810
|
+
this.$selectedCountry.set(country);
|
|
2811
|
+
const inputElement = this.$inputElement()?.nativeElement;
|
|
2812
|
+
this.onInput(country.name);
|
|
2813
|
+
if (inputElement) {
|
|
2814
|
+
inputElement.focus();
|
|
2815
|
+
}
|
|
2816
|
+
}
|
|
2817
|
+
autoSetCountry() {
|
|
2818
|
+
const value = this.value();
|
|
2819
|
+
if (!value?.length) {
|
|
2820
|
+
this.$selectedCountry.set({
|
|
2821
|
+
code: '',
|
|
2822
|
+
name: '',
|
|
2823
|
+
iso: 'xx',
|
|
2824
|
+
phonePrefix: '',
|
|
2825
|
+
});
|
|
2826
|
+
return;
|
|
2827
|
+
}
|
|
2828
|
+
const country = this.searchCountry(value);
|
|
2829
|
+
if (country) {
|
|
2830
|
+
this.$selectedCountry.set(country);
|
|
2831
|
+
}
|
|
2832
|
+
}
|
|
2833
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputCountryDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2834
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UiInputCountryDirective, isStandalone: true, selector: "app-ui-input-country", viewQueries: [{ propertyName: "$inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
2835
|
+
}
|
|
2836
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputCountryDirective, decorators: [{
|
|
2837
|
+
type: Directive,
|
|
2838
|
+
args: [{
|
|
2839
|
+
selector: 'app-ui-input-country',
|
|
2840
|
+
}]
|
|
2841
|
+
}], ctorParameters: () => [], propDecorators: { $inputElement: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }] } });
|
|
2842
|
+
|
|
2843
|
+
class UIInputDateDirective extends UiInputDirective {
|
|
2844
|
+
$isOpen = signal(false, ...(ngDevMode ? [{ debugName: "$isOpen" }] : []));
|
|
2845
|
+
$isRangeSelection = input(false, ...(ngDevMode ? [{ debugName: "$isRangeSelection" }] : []));
|
|
2846
|
+
$inputElement = viewChild('input', ...(ngDevMode ? [{ debugName: "$inputElement" }] : []));
|
|
2847
|
+
setDate(date) {
|
|
2848
|
+
const newDate = this.formatDate(date);
|
|
2849
|
+
this.onInput(newDate);
|
|
2850
|
+
}
|
|
2851
|
+
formatDate(date) {
|
|
2852
|
+
const day = date.getDate() < 10 ? '0' + date.getDate() : date.getDate().toString();
|
|
2853
|
+
const month = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : (date.getMonth() + 1).toString();
|
|
2854
|
+
if (this.isUsaDateFormat()) {
|
|
2855
|
+
return month + '/' + day + '/' + date.getFullYear();
|
|
2856
|
+
}
|
|
2857
|
+
return day + '/' + month + '/' + date.getFullYear();
|
|
2858
|
+
}
|
|
2859
|
+
isUsaDateFormat() {
|
|
2860
|
+
return DateUtils.isUsaDateFormat();
|
|
2861
|
+
}
|
|
2862
|
+
setRangeDates(dates) {
|
|
2863
|
+
if (!dates.start) {
|
|
2864
|
+
this.onInput('');
|
|
2865
|
+
return;
|
|
2866
|
+
}
|
|
2867
|
+
const startStr = this.formatDate(dates.start);
|
|
2868
|
+
const endStr = dates.end ? this.formatDate(dates.end) : '';
|
|
2869
|
+
const result = endStr ? `${startStr} - ${endStr}` : startStr;
|
|
2870
|
+
this.onInput(result);
|
|
2871
|
+
}
|
|
2872
|
+
onInput(value) {
|
|
2873
|
+
const inputElement = this.$inputElement()?.nativeElement;
|
|
2874
|
+
if (inputElement) {
|
|
2875
|
+
const start = inputElement.selectionStart;
|
|
2876
|
+
const end = inputElement.selectionEnd;
|
|
2877
|
+
const oldValue = value;
|
|
2878
|
+
const newValue = this.maskDate(oldValue);
|
|
2879
|
+
const oldSlashCount = (oldValue.match(/\//g) || []).length;
|
|
2880
|
+
const newSlashCount = (newValue.match(/\//g) || []).length;
|
|
2881
|
+
const oldDashCount = (oldValue.match(/-/g) || []).length;
|
|
2882
|
+
const newDashCount = (newValue.match(/-/g) || []).length;
|
|
2883
|
+
const slashAdded = newSlashCount > oldSlashCount;
|
|
2884
|
+
const dashAdded = newDashCount > oldDashCount;
|
|
2885
|
+
super.onInput(newValue);
|
|
2886
|
+
inputElement.value = newValue;
|
|
2887
|
+
if (slashAdded || dashAdded) {
|
|
2888
|
+
inputElement.setSelectionRange(newValue.length, newValue.length);
|
|
2889
|
+
}
|
|
2890
|
+
else {
|
|
2891
|
+
inputElement.setSelectionRange(start, end);
|
|
2892
|
+
}
|
|
2893
|
+
}
|
|
2894
|
+
}
|
|
2895
|
+
maskDate(value) {
|
|
2896
|
+
const digits = value.replace(/\D/g, '');
|
|
2897
|
+
const limit = this.$isRangeSelection() ? 16 : 8;
|
|
2898
|
+
const limited = digits.substring(0, limit);
|
|
2899
|
+
const formatSingle = (str) => {
|
|
2900
|
+
let res = '';
|
|
2901
|
+
if (str.length > 0) {
|
|
2902
|
+
res += str.substring(0, 2);
|
|
2903
|
+
}
|
|
2904
|
+
if (str.length >= 3) {
|
|
2905
|
+
res += '/' + str.substring(2, 4);
|
|
2906
|
+
}
|
|
2907
|
+
if (str.length >= 5) {
|
|
2908
|
+
res += '/' + str.substring(4, 8);
|
|
2909
|
+
}
|
|
2910
|
+
return res;
|
|
2911
|
+
};
|
|
2912
|
+
if (this.$isRangeSelection()) {
|
|
2913
|
+
const first = limited.substring(0, 8);
|
|
2914
|
+
const second = limited.substring(8, 16);
|
|
2915
|
+
const firstDate = formatSingle(first);
|
|
2916
|
+
const secondDate = formatSingle(second);
|
|
2917
|
+
return secondDate ? `${firstDate} - ${secondDate}` : firstDate;
|
|
2918
|
+
}
|
|
2919
|
+
return formatSingle(limited);
|
|
2920
|
+
}
|
|
2921
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UIInputDateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
2922
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UIInputDateDirective, isStandalone: true, selector: "app-ui-input-date", inputs: { $isRangeSelection: { classPropertyName: "$isRangeSelection", publicName: "$isRangeSelection", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "$inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
2923
|
+
}
|
|
2924
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UIInputDateDirective, decorators: [{
|
|
2925
|
+
type: Directive,
|
|
2926
|
+
args: [{
|
|
2927
|
+
selector: 'app-ui-input-date',
|
|
2928
|
+
}]
|
|
2929
|
+
}], propDecorators: { $isRangeSelection: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isRangeSelection", required: false }] }], $inputElement: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }] } });
|
|
2930
|
+
|
|
2931
|
+
class UIPhoneNumberDirective extends UiInputDirective {
|
|
2932
|
+
$selectedCountry = signal(emptyCountry, ...(ngDevMode ? [{ debugName: "$selectedCountry" }] : []));
|
|
2933
|
+
$isOpen = signal(false, ...(ngDevMode ? [{ debugName: "$isOpen" }] : []));
|
|
2934
|
+
$countryCode = signal('', ...(ngDevMode ? [{ debugName: "$countryCode" }] : []));
|
|
2935
|
+
$inputElement = viewChild('input', ...(ngDevMode ? [{ debugName: "$inputElement" }] : []));
|
|
2936
|
+
constructor() {
|
|
2937
|
+
super();
|
|
2938
|
+
}
|
|
2939
|
+
ngAfterViewInit() {
|
|
2940
|
+
const selectedCountry = CountryService.getCountryByCode('US') ?? emptyCountry;
|
|
2941
|
+
this.$selectedCountry.set(selectedCountry);
|
|
2942
|
+
this.$countryCode.set(selectedCountry.phonePrefix + ' ');
|
|
2943
|
+
}
|
|
2944
|
+
onInput(value) {
|
|
2945
|
+
const digitsOnly = value.replace(/\D/g, '');
|
|
2946
|
+
const formattedValue = CountryService.formatPhoneNumber(digitsOnly, this.$selectedCountry().code);
|
|
2947
|
+
super.onInput(formattedValue);
|
|
2948
|
+
const inputElement = this.$inputElement()?.nativeElement;
|
|
2949
|
+
if (inputElement) {
|
|
2950
|
+
inputElement.value = formattedValue;
|
|
2951
|
+
}
|
|
2952
|
+
}
|
|
2953
|
+
onPaste(event) {
|
|
2954
|
+
event.preventDefault();
|
|
2955
|
+
const pastedText = event.clipboardData?.getData('text') || '';
|
|
2956
|
+
const country = CountryService.countries.find((c) => pastedText.startsWith(c.phonePrefix));
|
|
2957
|
+
if (country) {
|
|
2958
|
+
const localNumber = pastedText.slice(country.phonePrefix.length);
|
|
2959
|
+
this.setCountry(country);
|
|
2960
|
+
this.onInput(localNumber);
|
|
2961
|
+
}
|
|
2962
|
+
else {
|
|
2963
|
+
this.onInput(this.value() + pastedText);
|
|
2964
|
+
}
|
|
2965
|
+
}
|
|
2966
|
+
setCountry(country) {
|
|
2967
|
+
this.$selectedCountry.set(country);
|
|
2968
|
+
this.$countryCode.set(country.phonePrefix);
|
|
2969
|
+
const inputElement = this.$inputElement()?.nativeElement;
|
|
2970
|
+
if (inputElement) {
|
|
2971
|
+
inputElement.focus();
|
|
2972
|
+
}
|
|
2973
|
+
}
|
|
2974
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UIPhoneNumberDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
2975
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UIPhoneNumberDirective, isStandalone: true, selector: "app-ui-input-phone-number", viewQueries: [{ propertyName: "$inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
2976
|
+
}
|
|
2977
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UIPhoneNumberDirective, decorators: [{
|
|
2978
|
+
type: Directive,
|
|
2979
|
+
args: [{
|
|
2980
|
+
selector: 'app-ui-input-phone-number',
|
|
2981
|
+
}]
|
|
2982
|
+
}], ctorParameters: () => [], propDecorators: { $inputElement: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }] } });
|
|
2983
|
+
|
|
2984
|
+
class UiInputSelectDirective extends UiInputDirective {
|
|
2985
|
+
$items = input.required(...(ngDevMode ? [{ debugName: "$items" }] : []));
|
|
2986
|
+
$isOpen = signal(false, ...(ngDevMode ? [{ debugName: "$isOpen" }] : []));
|
|
2987
|
+
$selectedValue = signal({ value: '' }, ...(ngDevMode ? [{ debugName: "$selectedValue" }] : []));
|
|
2988
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputSelectDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
2989
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiInputSelectDirective, isStandalone: true, selector: "app-ui-select", inputs: { $items: { classPropertyName: "$items", publicName: "$items", isSignal: true, isRequired: true, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
|
|
2990
|
+
}
|
|
2991
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputSelectDirective, decorators: [{
|
|
2992
|
+
type: Directive,
|
|
2993
|
+
args: [{
|
|
2994
|
+
selector: 'app-ui-select',
|
|
2995
|
+
}]
|
|
2996
|
+
}], propDecorators: { $items: [{ type: i0.Input, args: [{ isSignal: true, alias: "$items", required: true }] }] } });
|
|
2997
|
+
|
|
2998
|
+
class UiInputSequenceDirective extends UiInputDirective {
|
|
2999
|
+
$numberCells = input(6, ...(ngDevMode ? [{ debugName: "$numberCells" }] : []));
|
|
3000
|
+
$inputs = computed(() => Array(this.$numberCells()).fill(''), ...(ngDevMode ? [{ debugName: "$inputs" }] : []));
|
|
3001
|
+
inputRefs;
|
|
3002
|
+
onInputSequence(event, index) {
|
|
3003
|
+
const input = event.target;
|
|
3004
|
+
const value = input.value;
|
|
3005
|
+
if (!/^\d+$/.test(value)) {
|
|
3006
|
+
input.value = '';
|
|
3007
|
+
return;
|
|
3008
|
+
}
|
|
3009
|
+
if (value.length > 1) {
|
|
3010
|
+
input.value = value.charAt(0);
|
|
3011
|
+
}
|
|
3012
|
+
if (value && index < this.$inputs().length - 1) {
|
|
3013
|
+
this.focusInput(index + 1);
|
|
3014
|
+
}
|
|
3015
|
+
this.setValue();
|
|
3016
|
+
}
|
|
3017
|
+
onClick(event) {
|
|
3018
|
+
const input = event.target;
|
|
3019
|
+
input.setSelectionRange(1, 1);
|
|
3020
|
+
}
|
|
3021
|
+
onKeyDown(event, index) {
|
|
3022
|
+
const blocked = ['ArrowLeft', 'ArrowRight', 'ArrowUp', 'ArrowDown', 'Home', 'End'];
|
|
3023
|
+
if (blocked.includes(event.key)) {
|
|
3024
|
+
event.preventDefault();
|
|
3025
|
+
if (event.key === 'ArrowLeft') {
|
|
3026
|
+
this.focusInput(index - 1);
|
|
3027
|
+
}
|
|
3028
|
+
if (event.key === 'ArrowRight') {
|
|
3029
|
+
this.focusInput(index + 1);
|
|
3030
|
+
}
|
|
3031
|
+
return;
|
|
3032
|
+
}
|
|
3033
|
+
const input = event.target;
|
|
3034
|
+
if (event.key === 'Backspace' && !input.value && index > 0) {
|
|
3035
|
+
this.focusInput(index - 1);
|
|
3036
|
+
}
|
|
3037
|
+
}
|
|
3038
|
+
focusInput(index) {
|
|
3039
|
+
const el = this.inputRefs.toArray()[index]?.nativeElement;
|
|
3040
|
+
if (el)
|
|
3041
|
+
el.focus();
|
|
3042
|
+
}
|
|
3043
|
+
onPaste(event, index) {
|
|
3044
|
+
event.preventDefault();
|
|
3045
|
+
const pasted = event.clipboardData?.getData('text') ?? '';
|
|
3046
|
+
if (!pasted) {
|
|
3047
|
+
return;
|
|
3048
|
+
}
|
|
3049
|
+
const digitsOnly = pasted.replace(/\D/g, '');
|
|
3050
|
+
const inputsArray = this.inputRefs.toArray();
|
|
3051
|
+
const chars = digitsOnly.replace(/\s+/g, '').split('');
|
|
3052
|
+
const inputLength = this.$inputs().length;
|
|
3053
|
+
chars.forEach((char, offset) => {
|
|
3054
|
+
const targetIndex = index + offset;
|
|
3055
|
+
if (targetIndex < inputLength) {
|
|
3056
|
+
const input = inputsArray[targetIndex].nativeElement;
|
|
3057
|
+
input.value = char;
|
|
3058
|
+
}
|
|
3059
|
+
});
|
|
3060
|
+
const nextEmpty = inputsArray.findIndex((el) => el.nativeElement.value === '');
|
|
3061
|
+
if (nextEmpty !== -1) {
|
|
3062
|
+
this.focusInput(nextEmpty);
|
|
3063
|
+
}
|
|
3064
|
+
else {
|
|
3065
|
+
this.focusInput(inputLength - 1);
|
|
3066
|
+
}
|
|
3067
|
+
this.setValue();
|
|
3068
|
+
}
|
|
3069
|
+
setValue() {
|
|
3070
|
+
const inputsArray = this.inputRefs.toArray();
|
|
3071
|
+
const value = inputsArray.map((el) => el.nativeElement.value).join('');
|
|
3072
|
+
this.onInput(value);
|
|
3073
|
+
}
|
|
3074
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputSequenceDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3075
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiInputSequenceDirective, isStandalone: true, selector: "app-ui-sequence", inputs: { $numberCells: { classPropertyName: "$numberCells", publicName: "$numberCells", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "inputRefs", predicate: ["input"], descendants: true }], usesInheritance: true, ngImport: i0 });
|
|
3076
|
+
}
|
|
3077
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputSequenceDirective, decorators: [{
|
|
3078
|
+
type: Directive,
|
|
3079
|
+
args: [{
|
|
3080
|
+
selector: 'app-ui-sequence',
|
|
3081
|
+
}]
|
|
3082
|
+
}], propDecorators: { $numberCells: [{ type: i0.Input, args: [{ isSignal: true, alias: "$numberCells", required: false }] }], inputRefs: [{
|
|
3083
|
+
type: ViewChildren,
|
|
3084
|
+
args: ['input']
|
|
3085
|
+
}] } });
|
|
3086
|
+
|
|
3087
|
+
class UiInputTimeDirective extends UiInputDirective {
|
|
3088
|
+
times = [
|
|
3089
|
+
'00:00',
|
|
3090
|
+
'00:30',
|
|
3091
|
+
'01:00',
|
|
3092
|
+
'01:30',
|
|
3093
|
+
'02:00',
|
|
3094
|
+
'02:30',
|
|
3095
|
+
'03:00',
|
|
3096
|
+
'03:30',
|
|
3097
|
+
'04:00',
|
|
3098
|
+
'04:30',
|
|
3099
|
+
'05:00',
|
|
3100
|
+
'05:30',
|
|
3101
|
+
'06:00',
|
|
3102
|
+
'06:30',
|
|
3103
|
+
'07:00',
|
|
3104
|
+
'07:30',
|
|
3105
|
+
'08:00',
|
|
3106
|
+
'08:30',
|
|
3107
|
+
'09:00',
|
|
3108
|
+
'09:30',
|
|
3109
|
+
'10:00',
|
|
3110
|
+
'10:30',
|
|
3111
|
+
'11:00',
|
|
3112
|
+
'11:30',
|
|
3113
|
+
'12:00',
|
|
3114
|
+
'12:30',
|
|
3115
|
+
'13:00',
|
|
3116
|
+
'13:30',
|
|
3117
|
+
'14:00',
|
|
3118
|
+
'14:30',
|
|
3119
|
+
'15:00',
|
|
3120
|
+
'15:30',
|
|
3121
|
+
'16:00',
|
|
3122
|
+
'16:30',
|
|
3123
|
+
'17:00',
|
|
3124
|
+
'17:30',
|
|
3125
|
+
'18:00',
|
|
3126
|
+
'18:30',
|
|
3127
|
+
'19:00',
|
|
3128
|
+
'19:30',
|
|
3129
|
+
'20:00',
|
|
3130
|
+
'20:30',
|
|
3131
|
+
'21:00',
|
|
3132
|
+
'21:30',
|
|
3133
|
+
'22:00',
|
|
3134
|
+
'22:30',
|
|
3135
|
+
'23:00',
|
|
3136
|
+
'23:30',
|
|
3137
|
+
];
|
|
3138
|
+
$inputElement = viewChild('input', ...(ngDevMode ? [{ debugName: "$inputElement" }] : []));
|
|
3139
|
+
$isOpen = signal(false, ...(ngDevMode ? [{ debugName: "$isOpen" }] : []));
|
|
3140
|
+
onInput(value) {
|
|
3141
|
+
const inputElement = this.$inputElement()?.nativeElement;
|
|
3142
|
+
if (!inputElement)
|
|
3143
|
+
return;
|
|
3144
|
+
const start = inputElement.selectionStart;
|
|
3145
|
+
const end = inputElement.selectionEnd;
|
|
3146
|
+
const oldValue = value;
|
|
3147
|
+
const newValue = this.maskTime(oldValue);
|
|
3148
|
+
const oldColonCount = (oldValue.match(/:/g) || []).length;
|
|
3149
|
+
const newColonCount = (newValue.match(/:/g) || []).length;
|
|
3150
|
+
const colonAdded = newColonCount > oldColonCount;
|
|
3151
|
+
super.onInput(newValue);
|
|
3152
|
+
inputElement.value = newValue;
|
|
3153
|
+
if (colonAdded) {
|
|
3154
|
+
inputElement.setSelectionRange(newValue.length, newValue.length);
|
|
3155
|
+
}
|
|
3156
|
+
else {
|
|
3157
|
+
inputElement.setSelectionRange(start, end);
|
|
3158
|
+
}
|
|
3159
|
+
}
|
|
3160
|
+
maskTime(value) {
|
|
3161
|
+
if (!value) {
|
|
3162
|
+
return '';
|
|
3163
|
+
}
|
|
3164
|
+
const digits = value.replace(/\D/g, '').slice(0, 4);
|
|
3165
|
+
const len = digits.length;
|
|
3166
|
+
if (len === 1) {
|
|
3167
|
+
return digits;
|
|
3168
|
+
}
|
|
3169
|
+
if (len === 2) {
|
|
3170
|
+
let hh = Number(digits.slice(0, 2));
|
|
3171
|
+
if (hh > 23)
|
|
3172
|
+
hh = 23;
|
|
3173
|
+
return hh.toString().padStart(2, '0');
|
|
3174
|
+
}
|
|
3175
|
+
if (len === 3) {
|
|
3176
|
+
let hh = Number(digits.slice(0, 2));
|
|
3177
|
+
if (hh > 23)
|
|
3178
|
+
hh = 23;
|
|
3179
|
+
const m = digits[2];
|
|
3180
|
+
return `${hh.toString().padStart(2, '0')}:${m}`;
|
|
3181
|
+
}
|
|
3182
|
+
if (len === 4) {
|
|
3183
|
+
let hh = Number(digits.slice(0, 2));
|
|
3184
|
+
let mm = Number(digits.slice(2, 4));
|
|
3185
|
+
if (hh > 23) {
|
|
3186
|
+
hh = 23;
|
|
3187
|
+
}
|
|
3188
|
+
if (mm > 59) {
|
|
3189
|
+
mm = 59;
|
|
3190
|
+
}
|
|
3191
|
+
return `${hh.toString().padStart(2, '0')}:${mm.toString().padStart(2, '0')}`;
|
|
3192
|
+
}
|
|
3193
|
+
return '';
|
|
3194
|
+
}
|
|
3195
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputTimeDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3196
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "21.1.1", type: UiInputTimeDirective, isStandalone: true, selector: "app-ui-input-time", viewQueries: [{ propertyName: "$inputElement", first: true, predicate: ["input"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
3197
|
+
}
|
|
3198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiInputTimeDirective, decorators: [{
|
|
3199
|
+
type: Directive,
|
|
3200
|
+
args: [{
|
|
3201
|
+
selector: 'app-ui-input-time',
|
|
3202
|
+
}]
|
|
3203
|
+
}], propDecorators: { $inputElement: [{ type: i0.ViewChild, args: ['input', { isSignal: true }] }] } });
|
|
3204
|
+
|
|
3205
|
+
class UiValidationErrorsDirective {
|
|
3206
|
+
$isError = input(false, ...(ngDevMode ? [{ debugName: "$isError" }] : []));
|
|
3207
|
+
$errors = input.required(...(ngDevMode ? [{ debugName: "$errors" }] : []));
|
|
3208
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiValidationErrorsDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
3209
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.1.1", type: UiValidationErrorsDirective, isStandalone: true, selector: "app-ui-validation-errors", inputs: { $isError: { classPropertyName: "$isError", publicName: "$isError", isSignal: true, isRequired: false, transformFunction: null }, $errors: { classPropertyName: "$errors", publicName: "$errors", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0 });
|
|
3210
|
+
}
|
|
3211
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.1", ngImport: i0, type: UiValidationErrorsDirective, decorators: [{
|
|
3212
|
+
type: Directive,
|
|
3213
|
+
args: [{
|
|
3214
|
+
selector: 'app-ui-validation-errors',
|
|
3215
|
+
}]
|
|
3216
|
+
}], propDecorators: { $isError: [{ type: i0.Input, args: [{ isSignal: true, alias: "$isError", required: false }] }], $errors: [{ type: i0.Input, args: [{ isSignal: true, alias: "$errors", required: true }] }] } });
|
|
3217
|
+
|
|
3218
|
+
/*
|
|
3219
|
+
* Public API Surface of ui-forge-library
|
|
3220
|
+
*/
|
|
3221
|
+
|
|
3222
|
+
/**
|
|
3223
|
+
* Generated bundle index. Do not edit.
|
|
3224
|
+
*/
|
|
3225
|
+
|
|
3226
|
+
export { Alert, AlertType, AppIconsLibrary, AutoFocusDirective, CenterEllipsisPipe, CountryService, DateUtils, EMAIL, HAS_CAPITAL_CASE, HAS_NUMBER, HAS_SMALL_CASE, HAS_SPECIAL_CHARTERS, HoverTipDirective, IconComponent, LazyImgDirective, MIN_LENGTH, MaskGradientDirective, StickyObserverDirective, ThemeService, TrackLifecycleDirective, UIInputDateDirective, UIPhoneNumberDirective, UiAccordionComponent, UiAlertMessagesService, UiAvatarDirective, UiButtonDirective, UiCodeDirective, UiCopyButtonDirective, UiDailyCalendarDirective, UiDropdownContainerDirective, UiDropdownService, UiFieldBaseDirective, UiImageDirective, UiInputCheckboxDirective, UiInputCountryDirective, UiInputDirective, UiInputSelectDirective, UiInputSequenceDirective, UiInputTimeDirective, UiMonthlyCalendarDirective, UiPaginationDirective, UiPopupBackdropDirective, UiPopupContainerDirective, UiPopupImageDirective, UiPopupInstance, UiPopupService, UiSelectButtonsDirective, UiTabsDirective, UiValidationErrorsDirective, UiYearlyCalendarDirective, emptyCountry, getAspectRatioFit, stringToHslColor };
|
|
3227
|
+
//# sourceMappingURL=ibragim-dev-org-ui-forge-library.mjs.map
|